Stephen played sparingly this year while dealing with a knee injury. He played in only three snaps Sunday against the Kansas City Chiefs.
Ellis joins the Vikings after four seasons with the New York Jets, where he played in 47 games, starting five, and then this year with the New York Giants. He was active for only one game this year before being released on Oct. 3.
Ellis was originally a third-round pick of the Jets in 2011. In his four seasons there, he recorded 31 tackles and one sack.
Ellis played at South Carolina before transferring after his freshman year to Hampton (Va.), where he became a two-time All-Mid-Eastern Athletic Conference performer.
Ellis called himself a journeyman when signing with the Giants in March.
“I am a run-stopper and I like doing it,” Ellis told the New York Post. “That is the strength of my game.”