NVMe and SSD cache query.

Kippa

Senior member
Dec 12, 2011
392
1
81
I know that if I try to write more than 16gb to my nvme the cache gets full and becomes a bottle neck. When it does the NVMe goes from writing 2000 MBs to 600Mbs. What I want to know does the cache size have any effect on reading? For example if I try to READ more more than 16gb from the NVMe the drive will the drive slow down or can in constatly pump out at 2000MBs? Is it only writing that the cache effects and not the reading?
 

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,787
136
Is it only writing that the cache effects and not the reading?

Theoretically, that should be the case. NAND as a media is quite slow. The problem is because it requires a bit to be erased, before it can be rewritten. It is further compounded by the fact its organized into blocks, which are basically many bits being triggered at once. SLC isn't too picky, but once you go MLC, it gets a lot worse.

Modern SSD controllers use sophisticated algorithms and big DRAM and SLC buffers to mitigate that. Also in most cases, you aren't stressing the I/O for a sustained period of time, so there are significant periods where the controller does its stuff to further reduce lags due to write-erase-write.

At 600MB/s, you are still largely under the effects of the controller and the caches. If it truly exposed the NAND media, you'd be crawling at <1MB/s sec. It could also be that the files you are writing is mostly large files that aren't totally random.

Reads shouldn't affect the drive. Well, maybe if you do a large amount of write and then read a large amount, the whole thing might slow down. That's not what you are asking though.
 

UsandThem

Elite Member
May 4, 2000
16,068
7,383
146
Adding to what IntelUser2000 said above, since different drives with different controllers, with different amounts of cache, with different kinds of NAND perform differently, what NVME drive (size and model) do you have?

Take for example the 960 EVO. On the 250GB version, it has 13GB of SLC cache. While the 500GB and 1TB versions have 22GB and 42GB, respectively.

https://www.anandtech.com/show/10833/the-samsung-960-evo-1tb-review

That should play a big part on how far the drive write performance drops down when writing large amounts of data. But as IntelUser2000 already stated, read performance isn't affected as much as write performance is.
 

Billy Tallis

Senior member
Aug 4, 2015
293
146
116
For example if I try to READ more more than 16gb from the NVMe the drive will the drive slow down or can in constatly pump out at 2000MBs?

Reading doesn't affect where the data is. If the data you're reading happens to still be in the SLC cache, then the read throughput may be a bit different than if the data you're reading is stored as TLC. The main factor that can cause a slowdown for sustained reads is thermal throttling, but that takes a while to kick in.