Skip to content

SSD Endurance

jmhands edited this page Jan 3, 2021 · 23 revisions

Estimated SSD wear out, endurance table

There are various approaches to picking a great plotting SSD, and a lot will depend on the physical system it is going into for form factor and interface compatibility (NVMe/PCIe, SATA, or SAS). The one thing in common will be that you need high endurance, due to the fact that it take almost ~1.8TB of writes to create a single K=32 plot.

Endurance is how much data can be written to the SSD before it wears out. In Chia this is important because a plotting SSD will generally be at 100% duty cycle and writing all day.

A mixed use or high endurance data center or enterprise SSD is the best choice for plotting. Used SSDs with plenty of endurance can be found for a good value on eBay, Craigslist, or similar.

Consumer NVMe SSDs are generally not recommended due to the lower endurance, and they often employ caching algorithms to faster media (SLC, or single level cell) for great bursty performance. They do not perform well under heavy workload sustained IO. There are very high performance consumer NVMe SSDs that will offer great plotting performance, but the lower rated endurance in TBW will result in a faster wearout.

working model can be found here

Vendor Model Form Factor Interface Class $ASP $/GB User Capacity (GB): usable GiB in OS Raw Capacity (GiB) Raw Capacity (GB) Overprovisioning / Spare area NAND P/E Cycles Write Amplification Factor (WAF) rated life in years estimated NAND endurance (TBW, WAF=1) Calculated Endurance (TBW) Spec sheet rated TBW DWPD over 5 years (calculated) GiB/min Num concurrent k=32 User write bandwidth (MB/s) SSD NAND write bandwidth (MB/s) days to wear out (drive full, worst case) years to wear out (drive full, worst case) days to wear out (WAF=1) years to wear out (WAF=1) total amount plotted before wear out worse case (TiB) total amount plotted before wear out best case (TiB) $/TiB plotted worst case (high WAF) $/TiB plotted best case (WAF=1)
Intel P3700 U.2 & AIC NVMe enterprise mixed use $250.00 $0.16 1600 1455.5 2400 2577 37.9% 25000 1.5 5 64425 42950 43800 14.71 0.2 4 286 429 1736 4.76 2604 7.13 1953 2930 $0.13 $0.09
Intel P3600 U.2 & AIC NVMe enterprise mixed use $140.00 $0.09 1600 1455.5 2000 2147 25.5% 10000 2.5 5 21475 8590 8760 2.94 0.2 4 286 716 347 0.95 868 2.38 391 977 $0.36 $0.14
Intel P4600 U.2 & AIC NVMe enterprise mixed use $352.00 $0.11 3200 2910.9 5000 5369 40.4% 10000 1.8 5 53687 29826 18200 5.11 0.2 8 573 1031 603 1.65 1085 2.97 1356 2441 $0.26 $0.14
Intel P3600 U.2 & AIC NVMe enterprise mixed use $115.00 $0.10 1200 1091.6 1500 1611 25.5% 10000 2.5 5 16106 6442 6570 2.94 0.2 3 215 537 347 0.95 868 2.38 293 732 $0.39 $0.16
Intel P4600 U.2 & AIC NVMe enterprise mixed use $176.00 $0.11 1600 1455.5 2500 2684 40.4% 6000 1.8 5 16106 8948 8990 3.06 0.2 4 286 515 362 0.99 651 1.78 407 732 $0.43 $0.24
Intel P4600 U.2 & AIC NVMe enterprise mixed use $220.00 $0.11 2000 1819.3 3125 3355 40.4% 6000 1.8 5 20133 11185 11080 3.06 0.2 5 358 644 362 0.99 651 1.78 509 916 $0.43 $0.24
Intel P3700 U.2 & AIC NVMe enterprise mixed use $120.00 $0.30 400 363.9 510 548 27.0% 20000 1.5 5 10952 7301 7300 10.00 0.2 1 72 107 1181 3.23 1771 4.85 332 498 $0.36 $0.24
Micron 5300 Max SATA 2.5in SATA enterprise SATA $307.20 $0.16 1920 1746.6 2600 2792 31.2% 10000 2.28 5 27917 12244 17520 3.49 0.15 5 268 612 528 1.45 1204 3.30 557 1270 $0.55 $0.24
Micron 5300 Max SATA 2.5in SATA enterprise SATA $614.40 $0.16 3840 3493.1 5200 5583 31.2% 10000 2.28 5 55835 24489 24528 3.49 0.15 10 537 1224 528 1.45 1204 3.30 1114 2539 $0.55 $0.24
Intel S4610 SATA 2.5in SATA enterprise mixed use $144.00 $0.15 960 873.3 1200 1288 25.5% 10000 2.2 5 12885 5857 5800 3.34 0.15 2 107 236 631 1.73 1389 3.81 266 586 $0.54 $0.25
Micron 5300 Pro SATA 2.5in SATA enterprise SATA $249.60 $0.13 1920 1746.6 2048 2199 12.7% 10000 5 5 21990 4398 5256 1.26 0.15 5 268 1342 190 0.52 948 2.60 200 1000 $1.25 $0.25
Micron 5300 Pro SATA 2.5in SATA enterprise SATA $499.20 $0.13 3840 3493.1 4096 4398 12.7% 10000 5 5 43980 8796 8410 1.26 0.15 10 537 2684 190 0.52 948 2.60 400 2000 $1.25 $0.25
Samsung PM1725b U.2 & AIC NVMe enterprise mixed use $267.00 $0.17 1600 1455.5 2048 2199 27.2% 10000 2.5 5 21990 8796 8760 3.01 0.2 4 286 716 356 0.97 889 2.44 400 1000 $0.67 $0.27
Intel P4610 U.2 NVMe enterprise mixed use $300.00 $0.19 1600 1455.5 2112 2268 29.4% 10000 2.4 5 22677 9449 10613 3.24 0.2 4 286 687 382 1.05 917 2.51 430 1031 $0.70 $0.29
DRAM DDR3 DIM DDR3 memory $768.00 $1.50 512 465.8 512 550 6.9% 100000 1 5 54976 54976 58.84 0.2 1 72 72 8889 24.35 8889 24.35 2500 2500 $0.31 $0.31
Intel S3710 SATA 2.5in SATA enterprise mixed use $68.00 $0.17 400 363.9 700 752 46.8% 6000 1.5 5 4510 3006 8300 4.12 0.15 1 54 81 648 1.78 972 2.66 137 205 $0.50 $0.33
Toshiba PX04SVQ 2.5in SAS SAS 12Gbps enterprise SAS $380.00 $0.24 1600 1455.5 2200 2362 32% 10000 2.7 5 23622 8749 8760 3.00 0.2 4 286 773 354 0.97 955 2.62 398 1074 $0.96 $0.35
Inland Inland Premium 1TB SSD M.2 NVMe client mainstream $125.00 $0.12 1024 931.5 1024 1100 7% 7000 4.81 5 7697 1600 1600 0.86 0.2 2 143 689 129 0.35 622 1.70 73 350 $1.72 $0.36
Micron 9300 U.2 NVMe data center $768.00 $0.20 3840 3493.1 4096 4398 13% 10000 5.5 5 43980 7996 8400 1.14 0.2 10 716 3937 129 0.35 711 1.95 364 2000 $2.11 $0.38
Samsung PM983 U.2 and M.2 NVMe data center $172.80 $0.18 960 873.3 1045 1122 14.4% 7000 5.6 5 7854 1403 1366.56 0.80 0.2 2 143 802 113 0.31 635 1.74 64 357 $2.71 $0.48
Intel S4600 SATA 2.5in SATA enterprise mixed use $96.00 $0.20 480 436.6 768 825 41.8% 5000 1.8 5 4123 2291 2950 2.61 0.15 1 54 97 494 1.35 889 2.44 104 188 $0.92 $0.51
DRAM DDR4 DIM DDR4 memory $1,536.00 $3.00 512 465.8 512 550 6.9% 100000 1 5 54976 54976 58.84 0.2 1 72 72 8889 24.35 8889 24.35 2500 2500 $0.61 $0.61
Intel P4510 U.2 NVMe data center $400.00 $0.20 2000 1819.3 2112 2268 11.8% 5000 4.5 5 11339 2520 2054 0.69 0.2 5 358 1611 81 0.22 367 1.00 115 516 $3.49 $0.78
WD SN750 M.2 NVMe client mainstream $60.00 $0.12 500 454.8 512 550 9% 3000 5.5 5 1649 300 300 0.33 0.2 1 72 394 48 0.13 267 0.73 14 75 $4.40 $0.80
WD SN750 M.2 NVMe client mainstream $120.00 $0.12 1000 909.7 1024 1100 9% 3000 5.5 5 3299 600 600 0.33 0.2 2 143 787 48 0.13 267 0.73 27 150 $4.40 $0.80
Seagate Nitro 1551 SATA 2.5in SATA data center SATA $255.00 $0.27 960 873.3 1250 1342 28% 5000 3 5 6711 2237 2390 1.28 0.15 2 107 322 241 0.66 723 1.98 102 305 $2.51 $0.84
Samsung 970 Evo M.2 NVMe client maintream $163.84 $0.16 1024 931.5 1024 1100 6.9% 3000 5 5 3299 660 600 0.35 0.2 2 143 716 53 0.15 267 0.73 30 150 $5.46 $1.09
Intel P4800X U.2 & AIC NVMe enterprise $2,062.50 $2.75 750 682.3 750 805 7% 50000 1 5 40265 40265 41000 29.42 0.2 2 143 143 3255 8.92 3255 8.92 1831 1831 $1.13 $1.13
Samsung 970 Pro M.2 NVMe client high end $307.20 $0.30 1024 931.5 1024 1100 6.9% 5000 5 5 5498 1100 1200 0.59 0.2 2 143 716 89 0.24 444 1.22 50 250 $6.14 $1.23
Intel 905p U.2 and M.2 NVMe clinet high end $1,152.00 $1.20 960 873.3 960 1031 7% 20000 1 5 20616 20616 17520 11.77 0.2 2 143 143 1667 4.57 1667 4.57 938 938 $1.23 $1.23
Intel 665p M.2 NVMe client mainstream $102.40 $0.10 1024 931.5 1024 1100 6.9% 1500 5 5 1649 330 300 0.18 0.2 2 143 716 27 0.07 133 0.37 15 75 $6.83 $1.37
Intel P4800X U.2 & AIC NVMe enterprise $2,062.50 $5.50 375 341.1 375 403 7% 50000 1 5 20133 20133 41000 29.42 0.2 1 72 72 3255 8.92 3255 8.92 916 916 $2.25 $2.25
Intel 660p M.2 NVMe client mainstream $122.88 $0.12 1024 931.5 1024 1100 6.9% 1000 5 5 1100 220 200 0.12 0.2 2 143 716 18 0.05 89 0.24 10 50 $12.29 $2.46

estimated GiB per minute based off class of drives for drives that have yet to be tested, for the drives in the wiki I have added the measured numbers.

Math

  • NAND P/E Cycles = amount of program / erase cycles NAND can do before wearing out. NAND programs (writes) in pages and erases in blocks (contains many pages)
  • Wearing out - SSD no longer meeting UBER (uncorrectable bit error rate), retention (keeping data safe while powered off), failure rate, or user capacity
  • UBER = number of data errors / number of bits read
  • WAF (Write Amplification Factor) = NAND writes / host writes
  • TBW or PBW – amount of host writes to SSD before wearing out
  • TBW = drive capacity * cycles / WAF
  • DWPD (drive writes per day): amount of data you can write to device each day of the warranty (typically 5 years) without wearing out
  • DWPD = TBW/365/5/drive capacity

Monitor Endurance in Linux

NVMe

https://github.com/linux-nvme/nvme-cli

https://nvmexpress.org/open-source-nvme-management-utility-nvme-command-line-interface-nvme-cli/

Reading endurance with NVMe-CLI - this is the gas gauge that shows total endurance used

sudo nvme smart-log /dev/nvme0 | grep percentage_used

Reading amount of writes that the drive have actually done

sudo nvme smart-log /dev/nvme0 | grep data_units_written

Bytes written = output * 1000 * 512B

TBW = output * 1000 * 512B / (1000^4) or (1024^4)

To find out NAND writes, you will have use the vendor plugins for NVMe-CLI.

sudo nvme <vendor name> help

Example with an Intel SSD

sudo nvme intel smart-log-add /dev/nvme0

SATA

In SATA you can use the following commands

sudo apt install smartmontools

sudo smartctl -x /dev/sda | grep Logical

sudo smartctl -a /dev/sda

looking for Media_Wearout_Indicator

note this does also work for NVMe for basic SMART health info

sudo smartctl -a /dev/nvme0

SAS

sg_logs /dev/sg1 --page=0x11

look for

Percentage used endurance indicator: 0%

overview of SSD endurance testing from JEDEC industry standard here https://www.jedec.org/sites/default/files/Alvin_Cox%20%5BCompatibility%20Mode%5D_0.pdf

Adding new models

Please add your model string below if you want me to put it into my calculator and add to the list!

Clone this wiki locally