Linux: Improving The Promise SX4 Driver

Submitted by Jeremy
on January 4, 2007 - 7:44pm

Jeff Garzik noted that the hardware documentation for the Promise SX4 chipset is being opened up and therefor the sata_sx4 driver is a good candidate for improvements, "I would like to take this opportunity to point hackers looking for a project at this hardware. The Promise SX4 is pretty neat, and it needs more attention than I can give, to reach its full potential." He notes that it is an older chipset that's probably not sold anymore, that the ATA programming interface is similar to that in the sata_promise driver, and that it contains a fully programmable on board DIMM and on board RAID5 XOR. Jeff went on to explain:

"A key problem is that, under Linux, sata_sx4 cannot fully exploit the RAID-centric power of this hardware by driving the hardware in 'dumb ATA mode' as it does. A better driver would notice when a RAID1 or RAID5 array contains multiple components attached to the SX4, and send only a single copy of the data to the card (saving PCI bus bandwidth tremendously). Similarly, a better driver would take advantage of the RAID5 XOR offload capabilities, to offload the entire RAID5 read or write transaction to the card.

"All this is difficult within either the MD or DM RAID frameworks, because optimizing each RAID transaction requires intimate knowledge of the hardware. We have the knowledge... but I don't have good ideas -- aside from an SX4-specific RAID 0/1/5/6 driver -- on how to exploit this knowledge."


From: Jeff Garzik [email blocked]
To: "linux-ide@vger.kernel.org" [email blocked]
Subject: Initial Promise SX4 hw docs opened
Date:	Wed, 03 Jan 2007 21:08:59 -0500

The first open hardware docs for the Promise SX4 (sata_sx4) series are 
now available:
http://gkernel.sourceforge.net/specs/promise/pdc20621-pguide-dimm-1.6.pdf.bz2
http://gkernel.sourceforge.net/specs/promise/pdc20621-pguide-pll-ata-timing-1.2.pdf.bz2

These are only small, ancillary guides; the main hardware doc should be 
opened soon.

However, I would like to take this opportunity to point hackers looking 
for a project at this hardware.  The Promise SX4 is pretty neat, and it 
needs more attention than I can give, to reach its full potential.

Here's a braindump:

* It's an older chipset/board, probably not actively sold anymore

* ATA programming interface very close to sata_promise (PDC2037x)

* Contains on-board DIMM, to be used for any purpose the driver desires

* Contains on-board RAID5 XOR, also fully programmable

A key problem is that, under Linux, sata_sx4 cannot fully exploit the 
RAID-centric power of this hardware by driving the hardware in "dumb ATA 
mode" as it does.

A better driver would notice when a RAID1 or RAID5 array contains 
multiple components attached to the SX4, and send only a single copy of 
the data to the card (saving PCI bus bandwidth tremendously). 
Similarly, a better driver would take advantage of the RAID5 XOR offload 
capabilities, to offload the entire RAID5 read or write transaction to 
the card.

All this is difficult within either the MD or DM RAID frameworks, 
because optimizing each RAID transaction requires intimate knowledge of 
the hardware.  We have the knowledge...  but I don't have good ideas -- 
aside from an SX4-specific RAID 0/1/5/6 driver -- on how to exploit this 
knowledge.

Traditionally the vendor has distributed a SCSI driver that implements 
the necessary RAID stack pieces entirely in the hardware driver itself. 
  That sort of approach definitely works, but is traditionally rejected 
by upstream maintainers because it essentially requires a third (if h/w 
specific) RAID stack.

	Jeff

Related Links:

Great move by Promise, I

tux9 (not verified)
on
January 5, 2007 - 6:51am

Great move by Promise, I hope other vendors follow.

Hallelujah! I still got a

Anonymous (not verified)
on
January 6, 2007 - 4:07pm

Hallelujah! I still got a sx4-m and a superswap 4100 lying around.
Finally I might be able to use them in a proper way if you guys sucseed:)

Too bad it's not one of the

Anonymous (not verified)
on
January 6, 2007 - 11:39pm

Too bad it's not one of the more recent chipsets. Assuming Promise has some (and it'd be odd if they didn't).

Still, a good example, wish it had been done earlier...

It is about time! Still

Anonymous (not verified)
on
January 8, 2007 - 1:24pm

It is about time!
Still useing mine in raid 5.

Any news? I am using this

Anonymous (not verified)
on
April 18, 2008 - 11:47am

Any news? I am using this card too, really hope it would work some days in the future.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.