acid_burn~187
01-30-2002, 11:59 AM
Ok, this isn't a problem, just a case of curiosity.
I wanted to figure out why when I'm transfering from multiple drives at once the system will slow to a crawl even with DMA mode on. Here it goes.
The PCI bus is a 32bit bus which runs at 33MHz. So, the max transfer rate of the PCI bus is as follows:
(33 000 000Hz X 32 bits)/8 = 132 Mbytes/sec
In linux I benchmarked my hard drive and it's max transfer rate when it's transfering from the buffer is 96 MBytes/sec. I'l round to 100 Mbytes/sec (hence the ATA100 specification) to try and discover the speed of the ATA bus.
the max amout of bits that can be transfered is:
(100 000 000 MBytes)x(8bits) = 800 000 000 bits/sec.
Since the IDE bus is 16 bits wide, the speed must be around:
(800 000 000 bits/sec)/16 = 50Mhz
Hmm... Ok, so if the IDE bus is a 16 bit bus at 50MHz, and the PCI bus is a 32bit bus at 33MHz.
Now, I'm assuming that the IDE controller works like an ISA-to-PCI bridge, where it waits for 4 bytes from the ISA device, and puts them together to form 1 long word which gets transmitted over the PCI bus. If this is so, then the IDE controller waits for 2 word-sized datum from the drive, then combines them and transmits 1 long word on the PCI bus. So.. to the PCI bus, the IDE controller seems to be working at 25Mhz.
25/33 = 75%
So when your drive is transfering from the buffer, it's saturating 75% of the PCI bus.
This can be confirmed by dividing the PCI max transfer rate by the IDE max transfer rate:
(100MBytes/s)/(132MBytes/sec) = 75%
Now, these numbers are assuming that you are transfering at the max speed of the IDE interface. Which is not the case. You only transfer at 100Mbytes/sec for a split second until the buffer runs out. Then it drops to around 10-25MBytes a sec. Therefor you'd assume you can transfer from all 4 drives at once without loosing much performance.
So I still can't figure out why the system slow so much wben transfering on multiple drives at once. Can anybody offer me some insight, or let me know if these numbers are wrong?
~Paul
I wanted to figure out why when I'm transfering from multiple drives at once the system will slow to a crawl even with DMA mode on. Here it goes.
The PCI bus is a 32bit bus which runs at 33MHz. So, the max transfer rate of the PCI bus is as follows:
(33 000 000Hz X 32 bits)/8 = 132 Mbytes/sec
In linux I benchmarked my hard drive and it's max transfer rate when it's transfering from the buffer is 96 MBytes/sec. I'l round to 100 Mbytes/sec (hence the ATA100 specification) to try and discover the speed of the ATA bus.
the max amout of bits that can be transfered is:
(100 000 000 MBytes)x(8bits) = 800 000 000 bits/sec.
Since the IDE bus is 16 bits wide, the speed must be around:
(800 000 000 bits/sec)/16 = 50Mhz
Hmm... Ok, so if the IDE bus is a 16 bit bus at 50MHz, and the PCI bus is a 32bit bus at 33MHz.
Now, I'm assuming that the IDE controller works like an ISA-to-PCI bridge, where it waits for 4 bytes from the ISA device, and puts them together to form 1 long word which gets transmitted over the PCI bus. If this is so, then the IDE controller waits for 2 word-sized datum from the drive, then combines them and transmits 1 long word on the PCI bus. So.. to the PCI bus, the IDE controller seems to be working at 25Mhz.
25/33 = 75%
So when your drive is transfering from the buffer, it's saturating 75% of the PCI bus.
This can be confirmed by dividing the PCI max transfer rate by the IDE max transfer rate:
(100MBytes/s)/(132MBytes/sec) = 75%
Now, these numbers are assuming that you are transfering at the max speed of the IDE interface. Which is not the case. You only transfer at 100Mbytes/sec for a split second until the buffer runs out. Then it drops to around 10-25MBytes a sec. Therefor you'd assume you can transfer from all 4 drives at once without loosing much performance.
So I still can't figure out why the system slow so much wben transfering on multiple drives at once. Can anybody offer me some insight, or let me know if these numbers are wrong?
~Paul