I am experimenting with some database technology and would like to write a protoype system that can access a disk drive directly. Note that I do not want to use a filesystem managed by the OS. I will manage the access to each sector on the drive. I would like to build this prototype in a high-level language and thus would like the simplest way to access a specific sector on a drive. What is the best way to accomplish this? Is one drive interface technology easier to do this than another? (EIDE, SCSI, SATA, etc.) Will the new drive already have the current bad blocks mapped out or will I need to take care of this myself? I would prefer to use Windows XP but would consider Linux if it is easier to accomplish this.