Trying to get the serial number of a hard disk drive you can use a combination of the following.
hdparm -I /dev/sdX | grep -i serial
(Works on integrated SAS and integrated SATA, not on 3ware)
hdparm -i /dev/sdX | grep -i serial
(Works on integrated SATA only)
smartctl -a /dev/sdX | grep -i serial
(Works on integrated SATA only)
/sbin/udevadm info -q all -p /block/sdX | grep ID_SERIAL_SHORT
(Works on integrated SATA and on 3ware)
/lib/udev/ata_id /dev/sdX
(Works on integrated SATA only)