SSD cache issue: Despite flushing, there is a risk of data loss in the event of a power failure

Based on his own tests, developer Russ Bishop reports that data loss can occur with some NVMe SSDs, despite alleged buffer memory emptying (cache flushes). This happened with two of the four tested NVMe SSDs from different manufacturers. Bishop wants to investigate more.

Back up cache data will be lost

Bishop, who worked as a programmer at Apple, wrote on Twitter: “I tested a random selection of four NVMe SSDs from four vendors. Flush lose half of data during power outageThis means that the data after clearing cache (flush) were lost when they should have actually been safely transferred to the memory cells of the already non-volatile NAND flash.

Data is usually only temporarily stored in the cache for a short period of time and transferred to permanent memory as quickly as possible. However, if the behavior observed by the bishop occurs at this exact moment, the result is data loss.

that data in cash Disappearance in the event of a power failure is common and is due to unstable DRAM caches in SSDs (optionally HMB in RAM in SSDs without DRAM) and can only be prevented by backup capacitors, which are only available in some enterprise SSDs. .

However, Bishop conducted its tests with traditional consumer client SSDs without such safeguards. A “power failure” was simulated by pulling the power cable after a successful flush was reported.

Two out of four SSDs lost data

The two NVMe SSDs that lost data were a 2TB SK Hynix Gold P31 and a 512GB Saberent Rocket. With the Samsung 970 Evo Plus with 2 TB and the Western Digital Red SN700 with 1 TB, the written data was retained.

See also  Musk finds another excuse not to buy Twitter

Bishop wants to investigate other SSDs

According to Russ Bishop, they have “fully automated” the testing process and would like to check the following additional SSDs for the problems described:

The models mentioned also include SSDs without dedicated DRAM cache, such as the Samsung 980 (tested) or the Kingston NV1. These systems can use only a small portion of RAM (in the two-digit megabyte range) as a buffer via the NVMe function Host Memory Buffer (HMB).

LEAVE A REPLY

Please enter your comment!
Please enter your name here