.

New POWER For Your Network

Technology
  Applications
 
Markets
 
FAQs
 
White Papers
Products 
Success Stories
News & Events
Partners

Error Correction Techniques 
for Solid State Disk
 

Error detection and correction (EDAC) techniques are used to ensure that data is correct and has not been corrupted, either by hardware failures or by noise occurring during transmission. There are many different error correction codes in existence. The two that have been the most popular are Hamming codes to correct errors in main memory, and Reed-Solomon codes to correct errors in peripheral devices such as tape and disk storage.

The reason for the different codes being used in different applications has to do with the historical development of the data storage, the types of data errors occurring, and the overhead associated with each of the error detection techniques.

Hamming Codes
Traditional DRAM error correction and detection utilizes a Hamming code. This scheme allows one bit in the word to be corrected, but is unable to correct events where more than one bit in the word is in error. These multi-bit errors can only be detected, not corrected, and therefore will cause a system to malfunction.

With the present generation of DRAM semiconductor devices, there is a requirement for new, more powerful correction techniques for two important reasons:

1. Unlike prior generations of DRAM, the 128 and 256-megabit chips are typically configured with 8 or more bits per chip. Single-bit error correction using a Hamming code is not a viable solution without extensive memory mapping, which introduces inefficiencies and design restrictions.

2. The ability to correct only a single-bit error in word lengths of 8, 16, or even 32 bits provided sufficient reliability in earlier architectures, but as memories and word lengths get larger, the probability of multiple bit errors increases. With newer memories using 64-bit and longer words, the probability of multi-bit errors increase significantly and more error correction is needed.

Reed-Solomon Codes
Reed-Solomon coding has historically been used for tape and disk storage where data is stored on a magnetic oxide film attached to a substrate. If a small amount of this magnetic oxide flakes off, multiple bits, even multiple bytes are lost. Reed-Solomon codes can correct these large data drop outs by applying error correction to whole blocks of data.

Reed-Solomon codes are not used in main computer memory applications because the memory is used in words of 32 or 64 bits, not in large byte groups. In peripheral storage there is no penalty in using Reed-Solomon codes because the smallest amount of data written to or read from a disk is a sector which consists of at least 100 bytes, and most commonly 512 bytes.

Imperial’s Products
Imperial’s first solid state disk designs used a Hamming code. Error correction was applied to 4-byte data groups and therefore could correct 1 bad bit out of 32 data bits. Applying EDAC to only 32 data bits requires the use of 7 additional bits, or 22% overhead. Other, lower cost designs apply error correction to 8-byte groups. To correct a single bit out of 64 bits, only 8 additional bits are required, a 12.5% overhead.

Imperial’s current products use a sophisticated and proprietary error correction technology based upon Reed-Solomon coding. Solid state disks are read from and written to like conventional disks at least one sector at a time. Imperial has organized its error correction technology around 64-byte groups of data, which is compatible with any operating system sector size. The resulting code is extremely powerful and can correct 6 bytes (48 bits) out of any group of 64 bytes, without any performance degradation, while eliminating any system level malfunction due to multi-bit errors.

Solid State Disks 
Solid state disks are often used to store a system’s most critical, non-recoverable files. Today, the average capacity of a solid state disk is over two gigabytes and continuing to increase. Clearly, more powerful error correction techniques are needed for data security and Imperial is proud to be leading the way. The data stored in an Imperial solid state disk is better protected than in any other known storage device using DRAM.

For those interested in obtaining more details about Imperial Technology’s use of Reed-Solomon error correction coding, an additional document has been prepared and is available upon request. For even greater detailed information there are a number of books on the subject, including Error-Correcting Codes by W. Wesley Peterson and E.J. Weldon, Jr. published by the MIT Press. 

About the Author
Craig Harries has worked within the technology industry for over twenty years for both hardware and software companies.  He has been very involved with solid state acceleration products for eight years and is currently vice president of Product Marketing at TapeLabs, Inc.

Get PDF File

 

Technology | Products | Success Stories | News/Events | Partners | Company | Service & Support | Privacy & Legal | Employment | Contact Us | Home