DWPD (Drive Writes Per Day)

DWPD (Drive Writes Per Day)

This article explains DWPD (Drive Writes Per Day) and the correct calculation method in regards to SSDs. We will examine the factors that affect DWPD and methods of increasing DWPD. Also, we will explain which application types require SSDs with a higher DWPD rating.

To determine if a particular SSD is right for you, in addition to considering capacity and performance, lifespan is also a very important factor to note. The lifespan of an SSD is usually related to the amount of written data - more writing equates to a faster rate of SSD deterioration. There are two main indicators to measure the lifespan of an SSD; one is TBW (Total Bytes Written), which represents how many bytes an SSD can write before it is damaged. Since most SSDs can write from dozens to hundreds of Terabytes of data, TBW can also represent Tera Bytes Written, which refers to the total number of terabytes that an SSD can write. Another indicator is DWPD (Drive Writes Per Day), which represents the number of times a user can write to an entire disk per day during the warranty period. Assuming that the capacity of an SSD is 256GB and DWPD is 1.5; as long as the amount of written data by the user falls under 256GB x 1.5 = 384GB per day, the SSD will not be damaged during the warranty period.

The TBW and DWPD of different SSDs often are related to SSD firmware, NAND Flash type, and SSD headspace in advance. Generally, the formula is as follows:

NAND Size (TB) refers to the total volume of NAND Flash that is connected to the SSD. Terabytes are taken as the unit; the PE Cycle is the number of times that a NAND can write and erase, WAF is Write Amplification Factor, while Wear Level Factor refers to the average erasing parameter. WAF and Wear Level Factor are mainly related to the SSD firmware algorithm; SSD Capacity (TB) is the capacity of the SSD, Warranty Day is the number of days that the warranty provides. The above formula shows that to increase the DWPD of an SSD, in addition to improving the firmware algorithm, there are only two methods available; one is the use of NAND Flash with a higher PE Cycle, for example, the PE Cycle for SLC NAND is usually 20k-60k, while TLC NAND is only 1k-2k. But it must be noted that the price of SLC NAND is higher than that of TLC NAND. The other option is to increase the headroom of an SSD, that is to say, Over Provisioning (OP). Both of these methods can increase the cost of the SSD. Therefore, the price of SSDs with higher DWPD are usually higher.

In order to improve current SSD performance and stability, some blocks of TLC NAND are often opened to Pseudo SLC, for use as SLC caches. SLC caches can be divided into two types, Static SLC and Dynamic SLC. As shown in the figure above, Static SLC means that these blocks are always used as Pseudo SLC. Meanwhile, dynamic SLC can theoretically be dynamically switched to TLC. If this approach is used, there will be some problems in the method of calculating DWPD. Because Pseudo SLC differs greatly from TLC's PE Cycle, when calculating a WAF, does it include the effect of the SLC cache? The algorithms used by each controller vendor are also different. To avoid these problems, the following formula should be used to calculate DWPD:

The above formula calculates static SLC separately from TLC as two zones. Because these two zones don't perform Wear Leveling on each other, as long as any one zone reaches PE Cycle, the lifespan of the SSD comes to an end. Therefore, the minimum value of TBW between the two zones is taken, and DWPD is computed in the end. The following should be noted:
Because the PE Cycle in the Dynamic SLC zone should be the same as the TLC, and it will perform Wear Leveling with the TLC block; consequently, it is necessary to combine the calculation of TBW. Some SLC caches are arranged in round-robin (RR). The erase count of each block is the same, so the Wear Level Factor is 1. Please note: If the above formula has only one area, it will be the same as the formula on the previous page.

While calculating the pattern written by DWPD, JEDEC has two types of workload definitions, one is the client workload belonging to consumer type applications; the other is enterprise workload, which refers to SSDs mainly used for business. These two types of workload are randomly written in a range that has a very large impact on SSD WAF.

After calculating DWPD, to verify whether the data is correct, there are several methods as below:

  1. Write the SSD until it's damaged, but the disadvantage is that the duration of the test is very long.
  2. Use NAND Protocol analyzer. Confirm the Erase count of NAND to verify that the erase count provided by the SSD controller is correct.
  3. Temporarily deactivate the Wear Leveling function of the SSD, and centralize writing in small areas; but the accuracy of this method is related to the SSD algorithm.

 

Typically in cloud and monitoring applications, due to frequent writes, it is necessary to adopt a high-DWPD Solid-State Drive. Usually, the DWPD value should be 1-3. As for general users, or for more read intensive applications, because it's unlikely that large amounts of data will be written daily, it is sufficient to choose an SSD with DWPD of 0.2 to 0.5.