Anyone know which would be the best between:

OPTION 1

  • 1 HDD on the motherboard's IDE slot
  • 1 HDD on a PCI expansion card with IDE ports (Already have a Silicon Image Sil0680A)

OPTION 2

  • 2 HDD on the same IDE cable, directly on the motherboard

Motherboard: Asus P5KC
HDDs: Seagate 7200RPM 120GB

I'm thinking 2 HDDs on the same cable would be slower since the bus would be split in 2

  • 1
    Oof, I'm almost scared to ask, but... is there any particular reason you're using such old hardware? I wouldn't bet on the HDDs living particularly long. If upgrading is at all feasible it might be worth considering. – Bob Feb 12 at 23:55
  • It does sata. 120gb SSDs are cheapish. Feels like a MUCH better option. – Journeyman Geek Feb 13 at 1:37
  • Hahaha good point ;) I'm between jobs at the moment and don't want to waste money before I have income coming in. I'm just using these HDDs since I don't have that much space for now, they won't stay long – NaturalBornCamper Feb 13 at 4:53
up vote 2 down vote accepted

The bus is not "split in two", it is multiplexed on a per-I/O-operation basis. i.e. only one operation can be in progress across all of the drives connected to the same bus. But that operation can use the full capabilities of the bus while it's working.

However, yes, two ATA HDs on the same cable would be slower than having them on separate controllers, if you were using them both "at the same time".

For example, when copying a file from one drive to the other - with a single ATA channel it would go like this:

while (the file hasn't been completely copied)
{
  Start a read from the first drive

  (delay while the first drive seeks, rotates, and transfers the data -
  during this time the second drive can do nothing)

  Write to the second drive what was just read

  (delay while the second drive seeks, rotates, and transfers the data...
  during this time the first drive can do nothing)
}

Whereas with two separate ATA channels things can be much more parallel, provided your copy program is smart enough, or if OS cacheing does readahead and writebehind effectively. The second read from the first drive can be initiated just as soon as the first one is done, and can happen overlapped in time with the first write to the second drive.

The net effect can be to double the total I/O operations per second. Theoretically. In practice things are never implemented that perfectly, but you can still expect dramatic improvements.

In a lot of cases, though, a second drive won't be used that much, and not often in time-critical ways. A typical case is a "bulk storage" or "archive" drive.

btw, the actual "transfer the data" parts are by far the shortest parts of all this.

  • So which would be your recommendation, as to which is the better option? :) Your answer is VERY informative and I thank you for that, however, I'm not sure which conclusion to get from it – NaturalBornCamper Feb 13 at 4:55
  • Option 1 will give more throughput is what I got from this answer – Damon Feb 13 at 5:09
  • Correct, Option 1 will allow more throughput at those times when both drives are busy. It won't help at other times, but it certainly won't hurt either. – Jamie Hanrahan Feb 13 at 6:08
  • Thanks friend! +1 for the detailed and very useful info! – NaturalBornCamper Feb 13 at 14:51

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.