1. A method of decoding data, comprising: receiving Reed-Solomon encoded data at an input; computing a syndrome polynomial for the Reed-Solomon encoded data, wherein computing is performed by a processor; applying the Berlekamp-Massey method to solve key equations associated with the syndrome polynomial; comparing a linear feedback shift register (LFSR) length L Λ with an error correction capability t, wherein the LFSR is associated with an error locator polynomial Λ(x); and based on the comparison, determining whether to perform soft decision decoding or a Chien search; in the event that the LFSR length L Λ is greater than a metric, performing soft decision decoding on the Reed-Solomon encoded data to produce decoded data; and providing the decoded data as output.