1. A data storage device comprising: a non-volatile memory; and a controller coupled to the non-volatile memory and including a decoder configured to perform a decoding operation using codeword data read from the non-volatile memory, wherein the decoder includes: syndrome storage; multiple barrel shifters including a first barrel shifter configured to bit-shift hard decision bit data to generate shifted data that is aligned with a set of syndromes from the syndrome storage; multiple syndrome update circuits including a first syndrome update circuit coupled to the first barrel shifter and configured to process the set of syndromes based on the shifted data to generate an updated version of the set of syndromes; a first set of multiplexors configured to route sets of syndromes from the syndrome storage to the syndrome update circuits; and a second set of multiplexors configured to route updated versions of the sets of syndromes from the syndrome update circuits to the syndrome storage.