In a storage device using a semiconductor memory or the like, error correction processing is performed in data decoding processing. There is a chien search as a method of specifying error locations of data in the error correction processing. In the chien search, exclusive-OR operations multiplying α to the power, which multiply coefficients of an error location polynomial (t-order or less) except for a constant term by α, α2, . . . , αt, and exclusive-OR operations, which obtain the sum of the respective results of the operations on a Galois field, are performed to specify error locations by searching roots. Since error locations are determined in every cycle in a chien search circuit, all the exclusive-OR operations are performed in one cycle. Meanwhile, it is possible to improve error correction capability by increasing the order of the Galois field or the order of the error location polynomial in the chien search circuit, but the number of stages of the exclusive-OR operations is increased.