1. A method for decoding encoded data using bit nodes and check nodes, the method comprising: (a) performing iterative decoding on the encoded data to generate an original near codeword (NCW) having one or more unsatisfied check nodes (USCs), each USC having one or more associated bit nodes (ABNs), the one or more ABNs for the one or more USCs forming a set of ABNs; (b) selecting, from the set of ABNs, a first set of suspicious bit nodes (SBNs) that may be erroneous bit nodes for the original NCW; (c) adjusting at least one of the SBNs in the first set to generate a modified NCW; and (d) performing iterative decoding on the modified NCW to attempt to generate a decoded correct codeword (DCCW) for the encoded data.