# SATA "IO_support = 0 (default 16-bit)"

## thomasvk

Hello,

I don't know much about hard disks and stuff, but I head some time that 32bit harddisk IO is faster than 16bit. On my IDE hard disks I fixed it by putting "all_args="-d1 -c1" in /etc/conf.d/hdparm and it seem to work. But on SATA hard disks it says:

```
hdparm -c1 /dev/sda

/dev/sda:

 setting 32-bit IO_support flag to 1

 HDIO_SET_32BIT failed: Invalid argument

 IO_support   =  0 (default 16-bit)
```

I know DMA stuff doesn't apply to SATA disks and I don't complain about the speed (60MB/s) but if it would support 32bit that would be nice.

----------

## NeddySeagoon

t0maz,

hdparm setting can only control IDE drives/chipsets. The problem with IDE is that 'it just grew'. Different manufacturers added different speed ups to try to gain an edge in the market. Worse, where the speedupds were the same, they were controlled differently. Hence all the chip set specific modules in the kernel IDE menu. IDE is really 16 bit ISA but with a single address bit and IRQ. Its always 16 bit between the drive and IDE chipset. The 16/32 bit option from the IDE interface to main memory makes very little difference to data transfer rate. The bottleneck is the head/platter data rate.

SATA was designed to a standard with agreed growth paths. Its normally straight onto a PCI like bus, so its always 32 bit.

----------

## thomasvk

Thank you very much for the explanation. Does this mean that I can just simply ignore the hdparm output entirely?

----------

## NeddySeagoon

t0maz,

The timing is still correct (the -tT) but it cannot control SATA, mostly because the controls are not there for it to operate on. The -iI commands will operate too but not until libsata gets ioctrl pass through. Meanwhile, you will get an error.

----------

## thomasvk

Thank you very much NeddySeagoon, your help is much appreciated. I'm one step closer to being knowledgable.  :Razz: 

----------

