Best NVMe for chia plotting on budget build
Best Data Center SSD for Budget Chia Plotting
Summary, TL;DR
Buy a 1.6 or 2TB data center NVMe SSD for plotting, which can be found used for around $200. These will perform as well or better in plotting as a high-end consumer M.2 NVMe, and have 3-10x the endurance (which we need for plotting). Some models to look for on eBay, Craigslist, or other used venues are Intel P4610, P4510, Samsung PM983. With madMAx chia plotter we are targeting 4TB/day out of this budget build with plot times of 38 minutes.
There is a pretty large difference between the fastest SSD in the world and a cheap consumer NVMe for plot times. One year after the original budget build, the SSD picks are still relevant for data center SSD for plotting. Intel and Samsung are still the largest data center SSD vendors (although Intel NAND SSDs now are part of Solidigm), but you can find awesome picks from SK hynix, Kioxia, Micron, and others. Selecting the SSD will depend on the number of cores for the plotting system, and of course, the budget. We now have the madMAx Chia plotter integrated into the Chia application for CLI and GUI, and plotting is much, much easier than it was one year ago. In the budget build, we try to recommend an SSD for around $200. Today, this will buy you a mainstream 2TB consumer NVMe, or, what I recommend instead, a used 1.6-2TB enterprise or data center SSD.
If you are looking for something to max out the performance of a 16 or 32 core machine, you will need something more than a $200 SSD! I’ve done other videos of super high-end plotters, like the beast, and tested the Chia optimized plotting SSDs, which I still recommend the Intel/Solidigm D7-P5510 just because it is such a good all-around drive, and of course, Optane SSDs if you can afford them.
Results
These are not the right capacity that I’ll be recommending this is just what I had laying around handy that I could test. Remember, we are targeting 1.6-2TB and $200 for a budget build, but we want to know the cheapest drive that gives us reasonable plot times.
drive | Capacity | Total time k=32 | Time (min) | TB/day | price | TBW (spec) | TB of plots |
P5800X | 1600 | 1963.49 | 32.7 | 4.8 | $ 3,498.99 | 292000 | 20633 |
LX3030 | 2000 | 2059.39 | 34.3 | 4.6 | $ 1,169.00 | 54000 | 6868 |
PM983 | 3840 | 2105.63 | 35.1 | 4.5 | $ 375.00 | 5466 | 1545 |
P5510 | 3840 | 2113.41 | 35.2 | 4.4 | $600 | 7000 | 1979 |
P4800X | 375 | 2172.13 | 36.2 | 4.3 | $ 500.00 | 6843.75 | 484 |
P4510 | 2000 | 2245.16 | 37.4 | 4.2 | $ 219.00 | 2610 | 738 |
P4610 | 3200 | 2303.25 | 38.4 | 4.1 | $ 500.00 | 21850 | 3860 |
P4600 | 1600 | 2720.12 | 45.3 | 3.5 | $ 280.00 | 9000 | 1590 |
P31 | 500 | 2911.02 | 48.5 | 3.2 | $ 57.00 | 300 | 42 |
P3700 | 400 | 2993.02 | 49.9 | 3.1 | $ 149.00 | 7200 | 1119 |
Test Setup
This test is pretty straightforward. Run one instance of madMAx chia plotter with 8 threads (-r 8) to each SSD, one at a time. Use the same mount point for -t , -2, -d (we aren’t saving these plots, so this is just quicker to test)
Compile madMAx. This is much easier now that it is integrated into Chia!
Format NVMe SSD
Make Filesystem
Mount with discard
Linux filesystem permissions
Open screen, run script that runs each drive and waits 60 seconds between
cd chia-blockchain
. ./activate
chia plotters install madmax
sudo cp ~/.chia/mainnet/plotters/madmax-plotter/build/chia_plot /usr/local/bin
sudo su
for i in 0 1 2 3 4 5; do nvme format /dev/nvme"$i"n1 -f; done
for i in 0 1 2 3 4 5; do mdir /mnt/ssd"$i"; done
for i in 0 1 2 3 4 5; do mkfs.xfs -m crc=0 /dev/nvme"$i"n1 -f; done
for i in 0 1 2 3 4 5; do mount -t xfs -o discard /dev/nvme"$i"n1 /mnt/ssd"$i"; done
chown jm:jm /mnt/ssd*
chmod 766 /mnt/ssd*
and my script does this for each SSD
chia_plot -k 32 -n 1 -r 8 -f <farmer key> -c <contract address> -t /mnt/ssd0/ -2 /mnt/ssd0/ -d /mnt/ssd0/ > ssd0.log
Desktop
Intel® Core™ i7-10700 CPU @ 4.60GHz
32GB DDR4 @ 3200 MT/s, Crucial (2×16)
MSI Z590-A PRO
Just for making my testing easier
PCIe Switch Card – U.2 / NVMe
U.2 Cable
SSDs
Intel SSD DC P3700, 400GB
Intel SSD DC P5800X, 1.6TB
Intel SSD D7-P5510, 3.84TB
Intel SSD DC, P4600
Phison Maker Pro / LX3030, 2TB
SK Hynix P31, 500GB
P4800X, 375GB
P4610, 3.2TB
P4510, 2TB
PM983, 3.84TB
Graphs
- Grafana
- Node Exporter
- Prometheus
- dstat, iostat (sysstat)
- madMAx Chia plotter, compiled from Chia 1.3
First 5 drives, in order
Intel SSD DC P3700, 400GB
Intel SSD DC P5800X, 1.6TB
Intel SSD D7-P5510, 3.84TB
Intel SSD DC, P4600
Phison Maker Pro / LX3030, 2TB
SK Hynix P31, 500GB
The last 4 drives
P4800X, 375GB
P4610, 3.2TB
P4510, 2TB
PM983, 3.84TB
As you can see, the bandwidth is messed up on the P4800X that I had formatted to 4k sector size (fixed now!)
Here is the last 3 with the correct bandwidth