The Giants would not confirm the report. A Baseball source said an announcement is expected on Thursday.
According to USA Today, Affeldt will receive $4.5 million in 2010 and '11 with a $5 million option or $500,000 buyout in '12. It replaces Affeldt's original deal, which would have paid the 30-year-old $4 million this season in the second year of a two-year, $8 million deal signed before the '09 season.
Affeldt is coming off an impressive season with the Giants in which he posted a 1.73 ERA in 62 1/3 innings with 55 strikeouts and 35 walks. He also tied for the Major League lead in holds with 33 to match Minnesota's Matt Guerrier.
The eight-year veteran has a career 4.27 ERA in 434 appearances with 482 strikeouts in 626 2/3 innings pitched with the Royals, Rockies, Reds and Giants.
Rhett Bollinger is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.