in a system and method for transmitting data bits over a transmission channel , data bits are arranged into a plurality of matrices , each matrix having a plurality of blocks , and the matrices are arranged into a cube having first and second dimensions , wherein the first dimension relates to one of the matrices and the second dimension relates to multiple matrices . a set of check bits is generated for each of the blocks in the plurality of matrices . each set of check bits includes a first and second check bit , wherein the first check bit relates to the first dimension of the cube and the second check bit relates to the second dimension of the cube . one or more of the cubes are transmitted across the channel and received at a decoder . the decoder detects and corrects one or more errors in data bits of received cubes in accordance with the check bits .