NetStaQ ADMA-100 Breaking the Bottlenecks By Curtis E. Stevens Don Doan.
-
Upload
vivian-cross -
Category
Documents
-
view
214 -
download
0
Transcript of NetStaQ ADMA-100 Breaking the Bottlenecks By Curtis E. Stevens Don Doan.
NetStaNetStaQQ ADMA-100 ADMA-100
Breaking the BottlenecksBreaking the Bottlenecks
ByBy
Curtis E. StevensCurtis E. Stevens
Don DoanDon Doan
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 22
AgendaAgenda
• Introduction to ADMA
• Performance Statistics
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 33
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 44
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 55
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 66
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 77
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 88
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 99
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1010
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
Drive dead time
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1111
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
Drive dead time
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1212
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1313
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1414
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1515
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1616
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1717
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1818
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 1919
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2020
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2121
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2222
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2323
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2424
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2525
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2626
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2727
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2828
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 2929
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3030
Application File System
Miniport
PCI Bus
ControllerDrive
InterruptHandler
Port Driver
LegacyLegacyCommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3131
Legacy Transfer StatisticsLegacy Transfer Statistics
• Ultra DMA data transfer
• 8 I/O’s per command– Includes 7 I/O’s for storing the command– Includes 1 I/O to read the status register in
the interrupt
• Additional I/O’s to setup DMA controller
• 1 Interrupt per command
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3232
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3333
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3434
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3535
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3636
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3737
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3838
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 3939
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4040
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4141
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4242
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4343
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4444
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4545
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4646
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4747
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4848
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 4949
ADMAADMACommand & Interrupt FlowCommand & Interrupt Flow
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5050
ADMA Transfer StatisticsADMA Transfer Statistics
• Ultra DMA data transfer
• No I/O– ADMA registers are memory mapped– ADMA uses normal PCI memory reads and
writes to retrieve commands
• 1 Interrupt per group of I/O requests– Commands that complete while an ADMA
interrupt is processed will not generate an additional interrupt
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5151
ADMA Command ChainsADMA Command ChainsCPB Next Address
RegisterCPB
PRD Pointer
Next CPBPointer
CPB
PRD Pointer
Next CPBPointer
CPB
PRD Pointer
Next CPBPointer
CPB Lookup Table
CPB AddressCPB AddressCPB Address...
CPB Lookup TableAddress Register
PRD PRD PRD
PRD PRD PRD
PRD PRD PRD
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5252
ADMA Block DiagramADMA Block DiagramATA/ATAPI Bus
PCI Bus
ATA/ATAPIBus
8/1
6-B
its
32
/64
-Bit
s
Channel YChannel X8
/16
-Bit
s
PCI ConfigurationHeader Registers
InterruptController
ATA Core
8/1
6-B
its
PCI Channel Arbiter
PCI Core
Legacy PIOMode
BIOS
4K
B F
IFO
4K
B F
IFO
16
-Bit
s
ADMA Mode
16
-Bit
sATA
Sequencer
PCISequencer
FIFOController
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5353
Performance StatisticsPerformance Statistics
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5454
Test ConditionsTest Conditions• System (Micron)
– 500Mhz P3
– 192MB RAM
– NT 4.0 SP6
– Intel 82801 Chipset
– 33Mhz PCI slot on a 66Mhz bus
– Micron Northbridge
• Iometer– Fileserver access pattern
– 100% Random, 80% Reads, 60% 4k blocks (remainder spread from 512 bytes to 64kbytes)
• Process– Boot using motherboard controller (same drive for all tests)
– UDMA-100 card has for drives attached
– ADMA card is in the same slot using the same 4 drives
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5555
File Server Access PatternFile Server Access Pattern
050
100150200250300350400450500550600
Outstanding I/O's
I/O's
per
Sec
on
d
1 Ultra-100 Queued
2 Ultra-100 Queued
3 Ultra-100 Queued
4 Ultra-100 Queued
Ultra-100 controller using drives that support queueing. The Ultra-100 controller does not using the queing capability of the drive.
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5656
File Server Access PatternFile Server Access Pattern
050
100150200250300350400450500550600
Outstanding I/O's
I/O's
per
Sec
on
d
1 Ultra-100 Non-Queued
2 Ultra-100 Non-Queued
3 Ultra-100 Non-Queued
4 Ultra-100 Non-Queued
Ultra-100 controller using drives that do not support queueing.
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5757
File Server Access PatternFile Server Access Pattern
050
100150200250300350400450500550600
Outstanding I/O's
I/O's
per
Sec
on
d
1 ADMA Queued
2 ADMA Queued
3 ADMA Queued
4 ADMA Queued
ADMA controller using drive queing capability
31-JUL-0131-JUL-01 Pacific Digital CorporationPacific Digital Corporation Slide Slide 5858
File Server Access PatternFile Server Access Pattern
050
100150200250300350400450500550600
Outstanding I/O's
I/O's
per
Sec
on
d
1 Ultra-100 Queued2 Ultra-100 Queued3 Ultra-100 Queued4 Ultra-100 Queued1 ADMA Queued2 ADMA Queued3 ADMA Queued4 ADMA Queued
Overlay of Ultra-100 controller using drives that support queingwith ADMA controller using queued capability. The Ultra-100 controller does not using the queing capability of the drive.