set yrange [0:1]
set xdata time
set format x "%j days"
day2sec(days) = days*24*60*60
integrity(x, speed_MBytesSec, size_GBytes, writecount) = (0.5*(1+erf(((x*(speed_MBytesSec*1e6)/(size_GBytes*1e9))-writecount)/sqrt(2*((writecount*0.1)**2)))))
set title "Drive Integrity. Countinous write at 250 MBytes/s. 10k write cycle flash lifespan"
set label 1 " 26 days" at day2sec(26),0.1 point pt 2 ps 2 offset 1,-1.1
set label 2 " 51 days" at day2sec(51),0.1 point pt 2 ps 2 offset 1,-1.1
set label 3 "103 days" at day2sec(103),0.1 point pt 2 ps 2 offset 1,-1.1
set xtics rotate by -45 day2sec(-1),day2sec(10)
plot [0:day2sec(180)] 0.1, integrity(x, 250, 64, 10000) t "64 GB", integrity(x, 250, 128, 10000) t "128 GB", integrity(x, 250, 256, 10000) t "256 GB"
pause -1
set title "Drive Integrity. Countinous write at 250 MBytes/s. 1000 write cycle flash lifespan"
set label 1 "2.6 days" at day2sec(2.6),0.1 point pt 2 ps 2 offset 1,-1.1
set label 2 "5.1 days" at day2sec(5.1),0.1 point pt 2 ps 2 offset 1,-1.1
set label 3 "10.3 days" at day2sec(10.3),0.1 point pt 2 ps 2 offset 1,-1.1
set xtics rotate by -45 day2sec(-1),day2sec(2)
plot [0:day2sec(20)] 0.1, integrity(x, 250, 64, 1000) t "64 GB", integrity(x, 250, 128, 1000) t "128 GB", integrity(x, 250, 256, 1000) t "256 GB"
pause -1
unset xdata
unset format
unset xtics
set xlabel "Years"
integrity_year(x, speed_GBytesDay, size_GBytes, writecount) = (0.5*(1+erf(((x*(speed_GBytesDay*365*1e9)/(size_GBytes*1e9))-writecount)/sqrt(2*((writecount*0.1)**2)))))
set title "Drive Integrity. Countinous write at 1 GByte/day. 10k write cycle flash lifespan"
set label 1 "1524 years" at 1524,0.1 point pt 2 ps 2 offset 1,-1.1
set label 2 "3054 years" at 3054,0.1 point pt 2 ps 2 offset 1,-1.1
set label 3 "6110 years" at 6110,0.1 point pt 2 ps 2 offset 1,-1.1
set xtics 0,1000
set mxtics 5
plot [0:10000] 0.1, integrity_year(x, 1, 64, 10000) t "64 GB", integrity_year(x, 1, 128, 10000) t "128 GB", integrity_year(x, 1, 256, 10000) t "256 GB"
pause -1
set title "Drive Integrity. Countinous write at 1 GByte/day. 1000 write cycle flash lifespan"
set label 1 "152 years" at 152,0.1 point pt 2 ps 2 offset 1,-1.1
set label 2 "305 years" at 305,0.1 point pt 2 ps 2 offset 1,-1.1
set label 3 "611 years" at 611,0.1 point pt 2 ps 2 offset 1,-1.1
set xtics 0,100
plot [0:1000] 0.1, integrity_year(x, 1, 64, 1000) t "64 GB", integrity_year(x, 1, 128, 1000) t "128 GB", integrity_year(x, 1, 256, 1000) t "256 GB"
pause -1
set title "Drive Integrity. Countinous write at 24 GByte/day. 10k write cycle flash lifespan"
set label 1 "63 years" at 63,0.1 point pt 2 ps 2 offset 1,-1.1
set label 2 "128 years" at 128,0.1 point pt 2 ps 2 offset 1,-1.1
set label 3 "256 years" at 256,0.1 point pt 2 ps 2 offset 1,-1.1
set xtics 0,50
plot [0:500] 0.1, integrity_year(x, 24, 64, 10000) t "64 GB", integrity_year(x, 24, 128, 10000) t "128 GB", integrity_year(x, 24, 256, 10000) t "256 GB"
pause -1
set title "Drive Integrity. Countinous write at 24 GByte/day. 1000 write cycle flash lifespan"
set label 1 "6.3 years" at 6.3,0.1 point pt 2 ps 2 offset 1,-1.1
set label 2 "12.8 years" at 12.8,0.1 point pt 2 ps 2 offset 1,-1.1
set label 3 "25.6 years" at 25.6,0.1 point pt 2 ps 2 offset 1,-1.1
set xtics 0,5
plot [0:50] 0.1, integrity_year(x, 24, 64, 1000) t "64 GB", integrity_year(x, 24, 128, 1000) t "128 GB", integrity_year(x, 24, 256, 1000) t "256 GB"
pause -1