An all-analog CMOS implementation of a turbo decoder for hard-disk drive read channels