Understanding Life Expectancy of Flash Storage for LabVIEW Real-Time Systems

Overview

This document discusses how several factors impact the Drive Endurance formula when used to calculate how much data can be written to a drive on a LabVIEW Real-Time System, such as a PXI/PXIe or cRIO 9803, before it becomes unreliable.

 

Selecting the right flash-based storage device for your application often demands a tradeoff between cost, capacity, and robustness. For instance, while Single-level Cell (SLC)-based drives offer the most durability and longevity, they are also more expensive per GB than Multi-level Cell (MLC)-based drives. However, MLC-based drives have a much shorter life span than SLC drives, which can be particularly problematic when stored at elevated temperatures. To help determine which type of flash memory to use, we need to understand the life expectancy of each option and compare that to the requirements of the application. We start by asking the following questions:

 

  • Which flash architecture is available?
  • How efficiently is the flash going to be used?
  • What will be the non-operating (storage) temperature?
  • What is the minimum acceptable non-operating (storage) duration? 

Contents

Terminology

  • Hard Disk Drive (HDD): A mass storage device that uses rotating magnetic media for storing data
  • Solid State Drive (SSD): A mass storage device that uses flash memory for storing data
  • Drive Endurance: The amount of data written to a drive before it becomes unreliable
  • Drive Writes (DW): The number of times a drive can be filled before it becomes unreliable
  • Total Bytes Written (TBW): The amount of data that can be written to a drive before it becomes unreliable
  • Write Amplification Factor (WAF): A measure of flash utilization efficiency.  The higher the WAF, the less efficiently flash is being used
  • Workload: A profile of the type of data transactions expected for the application.  Workload is directly related to the WAF
  • P/E Cycle: The program/erase cycle which occurs whenever data is stored in flash
  • Flash Cell: A transistor that stores charge representing data
  • Flash Cell Endurance: The number of P/E cycles an individual cell can be written before the cell becomes unreliable
  • Acceleration factor for Temperature (AT): An adjustment for the impact of storage temperature on the drive endurance.  This is calculated using the Arrhenius equation.
  • Storage Time Factor (STF): An adjust for the length of time desired in storage while maintaining data integrity.  This is calculated as (N/12) where N is the number of months in storage.
  • Data Retention: The ability of flash to maintain data integrity of stored data over time when not powered
  • SLC NAND: Single Level Cell flash that stores a single bit of data per cell using two possible voltage levels
  • MLC NAND: Multi-Level Cell flash that stores two bits of data per cell using four possible voltage levels
  • eMLC NAND: Enterprise MLC flash that stores one bit of data in an MLC architecture, offering a midpoint between SLC and MLC in cost, endurance, and capacity.  May also be called pSLC (Psuedo SLC) or iMLC (industrial-grade MLC)
  • TLC NAND: Triple-Level Cell flash that stores three bits of data per cell represented by eight possible voltage levels
  • Planar NAND: Cells are structured in a single layer in silicon
  • Vertical NAND (V-NAND): Cells are structured in multiple layers creating columns of cells.  May also be called 3D NAND.

Relationship Between Drive Endurance, Flash Cell Endurance, Storage Temperature, Storage Duration, and Write Amplification

Calculating the precise amount of endurance a SSD has under various operating and storage conditions is extremely complicated and involves many factors with both measured and statistical properties.  
However, a good model of expected drive endurance can be given as:

where
     Drive Endurance = Total amount of data that can be written, in Drive Writes
     Flash Cell Endurance = Maximum number of program/erase (P/E) cycles for the given flash architecture
     STF = Storage Time Factor which adjusts for length of time in storage
     AT = Acceleration factor for Temperature which adjusts for the storage temperature
     WAF = Write Amplification Factor which adjusts for how efficiently flash is being used

Differences in Flash Architectures

SSDs typical utilize NAND flash to store data in cells comprised of floating-gate transistors.  The amount of charge stored in each cell determines the value of the data.  As long as the charge is sufficient to determine the state of the cell or can be corrected through the use of error-correcting codes (ECC), then data integrity is maintained.  The number of bits of data stored in each cell as well as how many times that cell can be written is determine by the structure used by the flash memory device.

Flash ArchitectureLayers of Cells Bits per Cell Number of Cell Voltage StatesCell Endurance1 (P/E Cycles)
Planar SLC112~100,000
Planar MLC124~3,000
Planar eMLC/iMLC/pSLC112~20,000
Planar TLC138<1,000
Vertical SLCVaries, 64 typical12TBD2
Vertical MLCVaries, 64 typical24TBD2

1Endurance assumes greater than 1 year of data rentention at 40°C storage at end of cell life

2 Vertical SLC and MLC flash are expected to be similar to planar flash in terms of endurance 

Flash Cell Endurance 

Cell endurance is described as the number of program/erase (P/E) cycles a flash cell can undergo before data can no longer be sufficiently retained and the cell becomes unreliable.  Every time a flash cell is written (one P/E cycle) the oxide layer of the cell is slightly degraded.  As this layer weakens from the stress of P/E cycles it becomes easier for stored charge to leak, and the cell’s ability to retain data is reduced.

Flash Data Retention

The level of charge in each cell must be kept within certain thresholds to maintain data integrity.  Unfortunately, charge leaks from flash cells over time, and if too much charge is lost then the data stored will also be lost.  

During normal operation, the flash drive firmware routinely refreshes the cells to restore lost charge.  However, when the flash is not powered the state of charge will naturally degrade with time.  The rate of charge loss, and sensitivity of the flash to that loss, is impacted by the flash structure, amount of flash wear (number of P/E cycles performed on the cell), and the storage temperature.  Flash Cell Endurance specifications usually assume a minimum data retention duration of 12 months at the end of drive life.  

For other durations, a Storage Time Factor (STF) can be used to adjust the Drive Endurance equation.   The STF is measured as a ratio of time as compared to the standard 12 months.  For example, if a 36-month storage duration is desired the STF would be 3 (36 months / 12 months).  STF values for various storage duration are listed below:

Storage DurationSTF
1 month0.08
3 months0.25
6 months0.5
1 year1
3 years3
5 years5
10 years10

Data Retention and Storage Temperature

While both operating temperature and non-operating (storage) temperatures impact data retention, the non-operating temperature has a far more significant impact when calculating drive endurance.  

Lower storage temperatures increase data retention duration while higher storage temperatures greatly reduce it.  For example, increasing storage temperature from 40°C to 70°C can reduce drive endurance by more than an order of magnitude, resulting in data retention for a drive at the end of its life to be just a few weeks instead of a full year.

The Acceleration factor for Temperature (AT) can be used to adjust for storage temperature.  This is derived from the Arrhenius equation and can be summarized by the following table:

Storage Temperature (°C)AT
250.13
300.26
401
556.4
7035
85168

For more information on the impact of temperature on flash endurance and data retention duration, and how AT is calculated see Effects of Temperature on SSD Endurance.

Write Amplification Factor and Data Workloads

Flash memory is rarely perfectly utilized, and there is usually some inefficiency resulting in an acceleration of drive wear.  The Write Amplification Factor (WAF) is a representation of how effectively the flash is used where the higher the WAF, the lower the efficiency.  Several factors go into determining the WAF, some of which are determined by the application:

  • Size of the data written (alignment with flash block size)
  • How data is written (random vs. sequential)
  • Type of wear leveling algorithm used (controlled by drive firmware)


Generally larger sequential writes are more efficient than smaller random writes.  While there is no set formula for setting a WAF for industrial or embedded applications, the JEDEC application workload standards can be used as a proxy (see JEDEC JESD218 and JESD219 for details).  Enterprise represents a variety of file sizes with random data, whereas Client

In addition, the WAF will be impacted by how well the drive firmware manages flash utilization through wear-leveling and intelligent block management.  Since the WAF is highly dependent on application workload and drive firmware, a “rule of thumb” of WAF=4 is also sometimes used.  

Workload Type of AccessTypical WAF
Enterprise (JESD219)Random data stored across the SSD~15
"Rule of Thumb"Mix of random and sequential data used as an approximation of WAF when no other model is available4
Client (JESD219)Typical of consumer laptops, mainly comprised of long sequential writes (e.g. photos, music) with some smaller random accesses~2
"100% Sequential"All writes are performed in sequence with large files~1

A more precise determination of the WAF can be made through direct measurement of drive performance. A WAF for a given flash and application use case can be calculated by running an application for a few hours and measuring the actual amount of data written to the drive and number P/E cycles performed.  Given the impact of WAF on drive endurance it is strongly recommended that applications are profiled to determine their WAF. 

Calculating Drive Endurance 

Drive Endurance can be determined once the Flash Cell Endurance, Storage Time Factor, Amplification factor for Temperature, and Write Amplification Factors are known.  

Recall the drive endurance formula:

Example 1

64 GB SLC SSD with a non-operating (storage) temperature of 40°C with streaming data logging (sequential writes) with 1 year of desired data retention.  SLC Flash Cell Endurance is 100,000 P/E cycles, STF and AT are both 1 (since we’re at baseline 1 year at 40C), and the WAF is 1 for the "100% Sequential" model.

Total Bytes Written before end of life = 64 GB x 100,000 Drive Writes = 6400 TB

Example 2

64GB SLC SSD with a non-operating (storage) temperature of 55°C with streaming data logging (sequential writes) with 1 year of desired data retention.  SLC Flash Cell Endurance is 100,000 P/E cycles, STF is 1, AT is 6.4 for 55°C, and the WAF is 1 for the "100% Sequential" model.

Total Bytes Written before end of life = 64 GB x 15,614 Drive Writes = 1000 TB

Example 3

128GB eMLC SSD with a non-operating (storage) temperature of 55°C with an unknown write profile with 24 months of desired data retention.  eMLC Flash Cell Endurance is 20,000 P/E cycles, STF is 2 (24/12 months), AT is 6.4 for 55°C storage temperature, and the WAF is 4 using the “Rule of Thumb” model.

Total Bytes Written before end of life = 128 GB x 390 Drive Writes = 50 TB

Example 4 

480GB MLC SSD with a non-operating (storage) temperature of 70°C with streaming data logging (sequential writes) with 3 months of desired data retention.  MLC Flash Cell Endurance is 3,000 P/E cycles, STF is 0.25 (3/12 months), AT is 35 for 70°C storage temperature, and the WAF is 1 for the "100% Sequential" model.

Total Bytes Written before end of life = 480 GB x 342 Drive Writes = 164 TB

Using Data Sheet Endurance Specifications 

The drive endurance formula can be used to adjust drive specifications for your application’s environmental and performance factors.  

Unfortunately, there is not a consistent method in specifying drive endurance.  Some datasheets will simply list the drive capacity and flash technology, while other datasheets will list specific drive endurance specifications under specific test conditions. These specifications may list the storage temperature and data retention duration used for the calculation, but often this information not explicitly stated.  If not specified, 40°C storage and 1 year of data retention may be assumed.  

Example

The drive's datasheet lists specifications as:

Flash TypeSLC
Drive Capacity64 GB
Endurance: Total Bytes Written (Enterprise)500 TB
Endurance: Total Bytes Written (Client)3855 TB


The target application has a storage temperature of 55°C, with 1 year of expected storage, and is being used similar to that of a consumer storage device.  

We can analyze the datasheet and determine that with SLC (100k P/E cycles) the effective WAF for Enterprise and Client is 12.8 and 1.7 respectively.   Since the target application is similar to a consumer device, we can use the Client WAF of 1.7 and the corresponding endurance specification of 3855TB (or 60k Drive Writes).  

Next we need to adjust for storage temperature and duration.  This can be done with the following equation:

The specified Endurance is 3855TB with assumed 40°C storage (ATSPEC = 1), 1 year duration (STFSPEC = 1), and WAFSPEC of 1.7.  The target application is 55°C storage (ATADJ = 6.4), 1 year duration (STFADJ = 1),  and WAFADJ of 1.7.  This gives us our adjusted drive endurance specification of:

Was this information helpful?

Yes

No