The present invention relates to an error correction encoding method using a three-dimensional Reed-Solomon code. In the error correction encoding method, pieces of input information are arranged in a three-dimensional data block. Three-dimensional error correction encoding is performed with respect to the three-dimensional data block, thereby adding horizontal, vertical and z-axial error correction parity symbols to the three-dimensional data block in horizontal, vertical and z-axial directions, respectively. |
Referenced by|
| US7415651 | Jun 2, 2004 | Aug 19, 2008 | Seagate Technology | Data communication system with multi-dimensional error-correction product codes | | US7840872 | Oct 10, 2006 | Nov 23, 2010 | O-Mass AS | N-dimensional iterative ECC method and apparatus with combined erasure—error information and re-read | | US8019938 | Dec 6, 2007 | Sep 13, 2011 | Fusion-I0, Inc. | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage | | US8171378 | Aug 7, 2008 | May 1, 2012 | Samsung Electronics Co., Ltd. | Flash memory system having encrypted error correction code and encryption method for flash memory system | | US8189407 | Dec 29, 2010 | May 29, 2012 | Fusion-io, Inc. | Apparatus, system, and method for biasing data in a solid-state storage device |
Claims1. A three-dimensional error correction encoding method comprising the steps of: - a) arranging pieces of input information in a three-dimensional data block; and
- b) performing three-dimensional error correction encoding with respect to the three-dimensional data block, thereby adding horizontal, vertical and z-axial error correction parity symbols to the three-dimensional data block in horizontal, vertical and z-axial directions, respectively.
2. The three-dimensional error correction encoding method of claim 1, wherein the three-dimensional data block is a (k1, k2, k3) array of information symbols, k1, k2 and k3 being positive integers, and - the step b) includes the steps of:
- b1) adding n1−k1 error correction parity symbols to each of k2*k3 number of k1 information symbols of the three-dimensional data block in the horizontal direction, thereby constructing (n1−k1)*k2*k3 horizontal error correction parity symbols for k1*k2*k3 information symbols;
- b2) adding n2−k2 error correction parity symbols to each of k1*k3 number of k2 information symbols of the three-dimensional data block in the vertical direction, thereby constructing k1*(n2−k2)*k3 vertical error correction parity symbols for k1*k2*k3 information symbols; and
- b3) adding n3−k3 error correction parity symbols to each of k1*k2 number of k3 information symbols of the three-dimensional data block in the z-axial direction, thereby constructing k1*k2*(n3−k3) z-axial error correction parity symbols for k1*k2*k3 information symbols.
3. The three-dimensional error correction encoding method of claim 2, further comprising the step of c) rearranging the horizontal, vertical and z-axial error correction parity symbols, after the step b3). 4. The three-dimensional error correction encoding method of claim 1, wherein the three-dimensional data block is a (k1, k2, k3) array of information symbols, k1, k2 and k3 being positive integers, and - the step b) includes the steps of:
- b4) adding n1−k1 error correction parity symbols to each of k2*k3 number of k1 information symbols of the three-dimensional data block in the horizontal direction, thereby constructing (n1−k1)*k2*k3 horizontal error correction parity symbols for k1*k2*k3 information symbols;
- b5) adding n2−k2 error correction parity symbols to each of k1*k3 number of k2 information symbols of the three-dimensional data block and each of (n1−k1)*k3 number of k2 horizontal error correction parity symbols in the vertical direction, thereby constructing n1*(n2−k2)*k3 vertical error correction parity symbols for k1*k2*k3 information symbols and (n1−k1)*k2*k3 horizontal error correction parity symbols; and
- b6) adding n3−k3 error correction parity symbols to each of k1*k2 number of k3 information symbols of the three-dimensional data block, each of (n1−k1)*k2 number of k3 horizontal error correction parity symbols and each of n1*(n2−k2) and (n1−k1)*(n2−k2) number of k3 vertical error correction parity symbols in the z-axial direction, thereby constructing n1*n2*(n3−k3) z-axial error correction parity symbols for k1*k2*k3 information symbols, (n1−k1)*k2*k3 horizontal error correction parity symbols and n1*(n2−k2)*k3 and (n1−k1)*(n2−k2)*k3 vertical error correction parity symbols.
5. The three-dimensional error correction encoding method of claim 1, wherein the horizontal, vertical and z-axial error correction parity symbols are formed using a Reed-Solomon code. |