I have a Criminal Justice degree and am currently a law student so I feel I have enough information to answer this one.
It had existed in some capacity since the conception of the United States, but felon disenfranchisement became widely popular after the civil war. It was, as you might suspect, mostly a racist implementation. The population of blacks in prison absolutely skyrocketed after the civil war and almost all states by the end of the 19th century had felon disenfranchisement laws.
At the end of Reconstruction, a lot of politicians were looking to minimize the effects of the Thirteenth, Fourteenth, and Fifteenth Amendments as much as they could. There used to be literacy tests and pole taxes in order for people to vote, but politicians were always thinking of some new ways to discriminate based on race. Now, the Supreme Court said you can't make laws that say things like "no voting if you're black" but it flat-out said as long as your law doesn't mention race, we don't think the Constitution limits you in that respect. Theoretically, these types of laws applied to all races so they didn't violate the Fourteenth or Fifteenth Amendments.
So essentially, taking away a felon's right to vote became popular as a response to the suddenly large population of free blacks, especially in the south. Of course, they were imprisoning previous slaves for pretty much anything at the time, so taking away one's right to vote once they went to prison became an easy way for politicians to control the black vote.
As a little footnote, I must wonder why a successful challenge to felon disenfranchisement laws has never occurred on the basis that it violates the Fifteenth Amendment (which says that the states may not abridge one's right to vote based on previous condition of servitude, inter alia).
Sources
Daniel S. Goldman, Felon Disenfranchisement and Race Discrimination, 57 Stan. L. Rev 611 (2004)
Angela Behrens et al., Racial Threat and Felon Disenfranchisement in the United States 1850-2002, 109 Am. J. Soc. 559 (2003)
Williams v. Mississippi, 170 U.S. 213 (1898)