Patent ID: 7506238

Claim:
A method of encoding code words according to a low-density parity check matrix, comprising the steps of: storing, in memory, information corresponding to a plurality of non-zero entries of a first parity portion of a parity check matrix, the non-zero entries of the first parity portion of the parity check matrix defining a recursion path in the parity check matrix; storing, in memory, information corresponding to a non-zero entry of a factored parity block column of a factored version of the parity check matrix, the entry corresponding to an invertible cyclic submatrix, the entry aligned with a zero-valued selected block row of the first parity portion of the parity check matrix, as factored; receiving an information word; multiplying the information word by an information portion of the parity check matrix to derive right-hand side values for at least the selected block row; storing the right-hand side values in a right-hand side value memory; solving a block column of parity bits using the stored parameters for the invertible cyclic submatrix and the right-hand side values corresponding to the selected block row; then updating the right-hand side values in the right-hand side value memory using the solved block column of parity bits; then solving parity bits for each column of the first parity portion using the updated right-hand side values and the stored information for the first parity portion of the parity check matrix, in an order defined by the recursion path.