A method of processing, by a controller, data read from at least one of a storage media or received from a communication channel, the method comprising: determining a value for each bit of a shortened codeword of the read or received data, wherein the shortened codeword comprises a plurality of non-shortened bits of a full codeword, the full codeword comprising the plurality of non-shortened bits and one or more shortened bits, the shortened bits corresponding to bits unused in the shortened codeword; converting the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio LLR values, subsequently also referred to as LLR values; decoding the full codeword using the first set of LLR values for the shortened codeword; dampening one or more LLR values of the first set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values; and decoding the second set of LLR values, the method further comprising: if the decoding did not successfully recover data corresponding to the shortened codeword from the second set of LLR values: dampening one or more LLR values of the second set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a third set of LLR values; and decoding the third set of LLR values, wherein the decoding is low-density parity check, LDPC, decoding; the dampening of the first set of LLR values is performed by decreasing a magnitude of one or more of the LLR values of the first set of LLR values by a first predetermined amount; and the dampening of the second set of LLR values is performed by decreasing the magnitude of one or more of the LLR values of the second set of LLR values by a second predetermined amount. determining a value for each bit of a shortened codeword of the read or received data, wherein the shortened codeword comprises a plurality of non-shortened bits of a full codeword, the full codeword comprising the plurality of non-shortened bits and one or more shortened bits, the shortened bits corresponding to bits unused in the shortened codeword; converting the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio LLR values, subsequently also referred to as LLR values; decoding the full codeword using the first set of LLR values for the shortened codeword; dampening one or more LLR values of the first set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values; and decoding the second set of LLR values, the method further comprising: if the decoding did not successfully recover data corresponding to the shortened codeword from the second set of LLR values: dampening one or more LLR values of the second set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a third set of LLR values; and decoding the third set of LLR values, wherein the decoding is low-density parity check, LDPC, decoding; the dampening of the first set of LLR values is performed by decreasing a magnitude of one or more of the LLR values of the first set of LLR values by a first predetermined amount; and the dampening of the second set of LLR values is performed by decreasing the magnitude of one or more of the LLR values of the second set of LLR values by a second predetermined amount. if the decoding did not successfully recover data corresponding to the shortened codeword from the second set of LLR values: dampening one or more LLR values of the second set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a third set of LLR values; and decoding the third set of LLR values, wherein the decoding is low-density parity check, LDPC, decoding; the dampening of the first set of LLR values is performed by decreasing a magnitude of one or more of the LLR values of the first set of LLR values by a first predetermined amount; and the dampening of the second set of LLR values is performed by decreasing the magnitude of one or more of the LLR values of the second set of LLR values by a second predetermined amount. dampening one or more LLR values of the second set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a third set of LLR values; and decoding the third set of LLR values, wherein the decoding is low-density parity check, LDPC, decoding; the dampening of the first set of LLR values is performed by decreasing a magnitude of one or more of the LLR values of the first set of LLR values by a first predetermined amount; and the dampening of the second set of LLR values is performed by decreasing the magnitude of one or more of the LLR values of the second set of LLR values by a second predetermined amount.