Patent ID: 7206987

Claim:
A method for encoding data into a 3-dimensional data-storage volume comprising a number of data-storage units the method comprising: receiving a sequence of data; encoding the sequence of data using a linear product code to encode data into code arrays of data values wherein the code arrays are stored as planes within the 3-dimensional data-storage volume, and using two linear block codes to encode data into vectors of data values; wherein the data-storage units of the 3-dimensional data-storage volume are indexed with respect to three coordinate axes x,y, and z, with n x data-storage indexes in an x direction, n y data-storage indexes in a y direction, and n z data-storage indexes in a z direction; and wherein the linear block codes include a product code C x C y that encodes k x k y data values into a code array of dimensions n x n y with r x r y parity-check values, a linear block code C z that encodes k z data values into a vector of length n z with r x =n x −k z parity check values, and a linear block code C′ z that encodes k′ z data values into a vector of length n z with r′ z parity check values.