bitmicro.com
Home > News Room > Resources

Resources

Factors Affecting Write Endurance


There are several factors affecting a solid state flash disk's write/erase endurance, all of which when taken together will impact a Flash drive's life expectancy:

1) I/O Block Size

The I/O block size is the size set on the host system by which the data is broken down into smaller units before being sent to the I/O device.

2) Size of Physical Blocks in Flash Chip

The Physical Block (PB) size is the capacity of each physical block within each Flash chip. Every Flash chip (e.g., a 256 Mbit Flash chip) in a Flash disk consists of several physical blocks and each one of these physical blocks, not the entire Flash chip, typically possesses a write cycle ranging from 100,000 up to 1,000,000 . The most common size of a physical block is currently pegged at 16KB, but design enhancements may result in different physical block sizes in the future.

3) Write Frequency

Write frequency is the number of write operations performed on the disk in a particular period, otherwise referred to as write I/Os per day.

4) Write Cache

Certain flash solid state disks are equipped with a certain amount of DRAM for implementing write cache policies. I/O block size, in conjunction with the physical block size of a Flash chip block, determines how many times a write is made on the Flash drive. As long as the I/O block size is not bigger than the most common physical block size in the Flash chip, which is 16KB, only one write will be done typically on a physical block address in a Flash chip. I/O block size greater than 16KB will have to be broken down into multiples of 16KB (i.e., for a 64KB I/O block size, there will be at least four separate writes on four physical blocks in the flash solid state disk, depending on the implementation).

I/O block size and physical block size simply determine the number of writes per block of data sent from the host. However, it is actually write frequency that has the biggest influence on write endurance for obvious reasons.

Write frequency with regard to flash solid state disk write endurance is best thought of in terms of write I/Os per day. However, it is often expressed in other units of measurement such as megabytes per day or, in the case of an OLTP application, it may indicate transactions per day where each transaction corresponds to a certain number of read and write I/Os. Higher write frequencies will only mean reduction in the wear-out life of the Flash drive.

The concept of caching is probably one of the best technological innovations in computing. An optimally-sized write cache, combined with very efficient caching algorithms, greatly affects not only performance but in this case, write endurance. Caching allows data to remain in a staging area and allows data to be updated in place. Through proper firmware implementation, multiple blocks of data can be combined into a smaller set of data blocks to write, thus limiting the number of actual writes made on the Flash chips.

Case Study: Calculating the Write Endurance of an E-Disk Solid State Flash Disk

This sample case will calculate the write endurance of an E-Disk flash solid state disk using I/O block size and write frequency (I/Os per day) as basis. Certain assumptions have been made in this analysis:

1. Write Cache Disabled

With write cache disabled, all I/O blocks sent from the host are not retained in cache but simply written immediately to the Flash chips and therefore, negate any performance or efficiency benefit from caching.

2. Near 100% Wear-Leveling Efficiency

Patented wear-leveling techniques on E-Disk® Flash drives allow near 100% wear-leveling efficiency. This means all writes to the E-Disk® Flash drives are dispersed evenly across all Flash chips, thus preventing wear-out of some Flash chips over others.


To get the number of writes to physical blocks on Flash chips per I/O block sent from host:

Number of writes to Flash chips = I/O Block Size / PB size

where any fraction thereof will be considered a separate write operation on its own.

To get the number of maximum writes to an entire E-DiskŪ Flash drive:

             Total PBs = (size of Flash Chip / PB Size) x number of Flash chips
Total max. writes = Total PBs X 1,000,000 ?(write cycle rating of the E-Disk flash memory chip)

To get wear-out endurance for an E-DiskŪ Flash drive given write frequency (I/Os per day):

Endurance = Total max. writes / (Number of writes to Flash chips x I/Os per day)

If write frequency is expressed in bytes over a period of time (MB/sec or MB per day), endurance is computed as:

Endurance = Total max. writes / [Number of writes to Flash chip X (KB per day / I/O Block Size)]


Example #1: Write Frequency in I/Os per day

E-DiskŪ PB Size = 16 KB
I/O Block Size = 4 KB
Write Frequency = 50,000,000 I/Os per day

E-DiskŪ capacity = 155,648 MB
Number of Flash chips = 608
Size of Flash chips = 2048 Mbit or 256 MB or 262,144 KB

Number of writes to Flash chip = 4 KB / 16 KB = 1 (rounded off to higher whole number)
Total E-DiskŪ physical blocks = (262,114 / 16) x 608 = 9,961,472
Total max writes to E-DiskŪ drive = 9,961,472 x 1,000,000 = 9,961,472,000,000

Endurance (in days) = 9,961,472,000,000 / (1 X 50,000,000) = 199,229 days
Endurance (in years) = 199,229 days / 365 = 545 years

Example #2: Write Frequency in MB/sec

E-DiskŪ PB Size = 16 KB
I/O Block Size = 64 KB
Write Frequency = 6,016,204,800 KB per day (68 MB/sec)
E-DiskŪ capacity = 155,648 MB
Number of Flash chips = 608
Size of Flash chips = 2048 Mbit or 256 MB or 262,144 KB

Number of writes to Flash chip = 64 KB / 16 KB = 4
Total E-DiskŪ physical blocks = (262,114 / 16) x 608 = 9,961,472
Total max writes to E-DiskŪ drive = 9,961,472 x 1,000,000 = 9,961,472,000,000

Endurance (in days) = 9,961,472,000,000 / (4 X (6,016,204,800/64)) = 26,492 days
Endurance (in years) = 199,229 days / 365 = 72.59 years

Endurance Tables Using Different Block Sizes

The following tables are estimated endurance years for E-DiskŪ drives that make use of Flash chips of various densities, sizes, and capacities. These are calculated using the same formulas in the previous section with the following assumptions:

1) Write Frequency = 100 GB/day
= 100 GB/day X 1024 MB/GB X 1024 KB/MB
= 104,857,600 KB/day


2) Capacities are based on 3.5" E-DiskŪ drives (Fibre Channel, SCSI Narrow, ATA/IDE)


Table 2: E-Disk® Endurance at 100 GB Erase/Write per day using a Block Size of 512 Bytes


Table 3: E-Disk® Endurance at 100 GB Erase/Write per day using a Block Size of 4KB


[ Top ]

Back to Article | Home