1. A decoder for decoding forward error correcting codewords using a parity check matrix comprising a plurality of sub-matrices, the decoder comprising: a plurality of check node processing units, each check node processing performing a check node computation corresponding to a different row of the parity check matrix; and a plurality of variable node processing units, each variable node processing unit determining variable node update computations corresponding to different columns belonging to a same sub-matrix of the parity check matrix; wherein the plurality of check node processing units and the plurality of variable node processing units operate on only one sub-matrix of the parity check matrix at each step of an iterative decoding process; and wherein the decoder processes two or more codewords in parallel such that the decoder begins decoding a subsequently received codeword prior to completing decoding of a prior received codeword.