1. A system for recovering data from a plurality of sectors using a layered data decoder, the system comprising: a processor configured to receive data from a plurality of sectors via, a read channel and recover data from the plurality of sectors using a layered data decoder; and a memory configured to retain data received from at least one of the plurality of sectors, the memory having computer executable instructions stored thereon, the computer executable instructions configured for execution by the processor to: update a plurality of messages in a first layer of circulants and a second layer of circulants of a parity-check matrix for the layered data decoder using a first update order in a first iteration, and update the plurality of messages in the first layer of circulants and the second layer of circulants of the parity-check matrix using a second update order in a second iteration, where the second update order is different from the first update order.