|
|
| Home > Articles |
| | |
Flash Solid State
Disk Write Endurance in Database Environments
|
|
|
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
Page:
1 | 2 | 3
| 4
|
NEXT
|
|
|
|
|