1. A decoder configured to: convert, during each of a plurality of iterations, a plurality of first non-binary values provided at a plurality of variable nodes to input binary values; generate, by a plurality of check nodes, output binary values based on the converted input binary values; convert the output binary values to second non-binary values for processing by the plurality of variable nodes; update, by the plurality of variable nodes, reliability data based on the converted second non-binary values; and determine at least a portion of a valid codeword based on the updated reliability data over the plurality of iterations.