The HP 2740p has a rather slow 1.8'' 5400 RPM hard-disk drive. My drive was also slightly small, at 160 GB. Some people replace the internal drive with an SSD drive, but these are both small and expensive. At the time of writing, 1.8'' SSD drives were not readily available in sizes more than 160 GB anyway. Cheaper SSD drives are available for the ExpressCard slot. Some SSD cards use the slow USB 2.0 interface, but others, such as the Wintec Filemate SolidGO 96 GB use eSATA, which allow up to 100 MB/sec read.
Unfortunately, the 2740p was not released with BIOS ability to boot, or even `read', from the ExpressCard slot. However, it is possible to use GRUB to load Linux kernel and initrd from the internal SATA hard-drive. The Linux kernel is able to read and proceed with booting from a partition on the ExpressCard drive.
Note that GRUB Legacy (0.9.xx) relies on the BIOS to tell it about available partitions and so is also unable to boot from the ExpressCard drive.
My GRUB config for Puppylinux (inside /boot/grub/menu.lst) is...
kernel /puppy511/vmlinuz root=/dev/sdb1 pmedia=atahd psubdir=puppy511 pdev1=sdb1