  Reed-Solomon (RS) codes are widely used to correct errors in storage systems.
Finding the error locator polynomial is one of the key steps in the error
correction procedure of RS codes. Modular Approach (MA) is an effective
algorithm for solving the Welch-Berlekamp (WB) key-equation problem to find the
error locator polynomial that needs $2t$ steps, where $t$ is the error
correction capability. In this paper, we first present a new MA algorithm that
only requires $2e$ steps and then propose two fast decoding algorithms for RS
codes based on our MA algorithm, where $e$ is the number of errors and $e\leq
t$. We propose Improved-Frequency Domain Modular Approach (I-FDMA) algorithm
that needs $2e$ steps to solve the error locator polynomial and present our
first decoding algorithm based on the I-FDMA algorithm. We show that, compared
with the existing methods based on MA algorithms, our I-FDMA algorithm can
effectively reduce the decoding complexity of RS codes when $e<t$. Furthermore,
we propose the $t_0$-Shortened I-FDMA ($t_0$-SI-FDMA) algorithm ($t_0$ is a
predetermined even number less than $2t-1$) based on the new termination
mechanism to solve the error number $e$ quickly. We propose our second decoding
algorithm based on the SI-FDMA algorithm for RS codes and show that the
multiplication complexity of our second decoding algorithm is lower than our
first decoding algorithm (the I-FDMA decoding algorithm) when $2e<t_0+1$.
