Sorry for an OT post, but given the recent discussions here re raid, I was wondering if anyone had any info on the ITE 8212 RAID controller (GigaRAID) This is a PATA HW RAID as found on the GigaByte GA-8I915P-PRO motherboard. (I can see an IC on the board labeled GigaRAID. Their manual claims that is has it's own CPU).
I am not using it because I have SATA, but I am still curious about it's HW v SW raid ability and general linux support. They do provide a linux driver but the install instructions refer to /dev/had (obviously a typo so I don't think it is well tested or supported).
I have tried google, but most references are to questions, now answers :(
John.
On Mon, 2005-06-20 at 11:40 +1000, John Newbigin wrote:
Sorry for an OT post, but given the recent discussions here re raid, I was wondering if anyone had any info on the ITE 8212 RAID controller (GigaRAID) This is a PATA HW RAID as found on the GigaByte GA-8I915P-PRO motherboard. (I can see an IC on the board labeled GigaRAID. Their manual claims that is has it's own CPU).
First off, the separate IC means _nothing_. Standard ATA channels have a separate IC as well. Then they merely hack their 16-bit BIOS with a bit of extra RAID organization, which they must match in a software driver.
_However_, apparently the IT8212 is _not_ a FRAID solution.
Upon further investigation, it does appear it _is_ an embedded ASIC/microcontroller core (I'm trying to find out the details) with 32KB of SRAM** (at least in v0.4.1) and 512 bytes/channel FIFO. Now here comes the tricky part.
[ **NOTE: All current 3Ware 4-12 channel cards come with 2-4MB of SRAM (the 2 channels seem to be 1MB of SRAM, but don't quote me), the 9500S series adds 128MB of S_D_RAM. Don't confuse SRAM and SDRAM. SRAM is 0 wait state, but very large/costly. DRAM has massive latency times, but it's very simplistic/cheap. ]
The PCI bus arbitrator can interact with _both_ the embedded core _and_ the ATA FIFOs directly. The former is the "RAID (intelligent)" mode, the latter is the "pass-through" mode. Normally FRAID cards don't have the former, and the ATA channels are directly accessed on their own.
I've been looking through Alan Cox's 2.6.x patches and seeing that its supposed to support both. But from what I've seen, a lot of people are having trouble with _both_ modes -- even though 2.6.11.x.
I am not using it because I have SATA, but I am still curious about it's HW v SW raid ability and general linux support. They do provide a linux driver but the install instructions refer to /dev/had (obviously a typo so I don't think it is well tested or supported). I have tried google, but most references are to questions, now answers :(
There is both a "dumb" SCSI block driver (most true hardware RAID cards are "dumb" drivers because all the intelligence is on-board) that can drive the "intelligent" mode.
But the recommended option is to use the stock ATA/IDE driver which can support both the "RAID (intelligent)" and "pass-through" modes. Although it still seems to have issues at this point.
In the case of this chipset, I'd actually use the RAID functionality and see if it works on a 2.6.x kernel. When it's enabled, it's supported to enable that embedded core and its 32KB of SRAM. From the block diagram, it looks like those components go completely unused when the RAID functionality is not used.
IT8212F v0.4.1 Specification (the v0.4 links from posts don't work): http://www.ite.com.tw/product_info/file/pc/IT8212F_V0.4.1.pdf
-- Bryan
P.S. It should be noted that 32KB is not much cache, so I wouldn't use it on anything but a desktop system.
On Sun, 2005-06-19 at 21:26 -0500, Bryan J. Smith wrote:
There is both a "dumb" SCSI block driver (most true hardware RAID cards are "dumb" drivers because all the intelligence is on-board) that can drive the "intelligent" mode.
Okay, after further investigation, I discovered that they are a number of different firmwares available for this IC. Most specifically, it seems the ATAPI and RAID firmwares are _mutually_exclusive_. I.e., if you flash the ATAPI firmware, or your mainboard comes with it, it doesn't have the RAID functionality, and vice-versa. And there's no standard/guaranteed way to flash unless you get the PCI card version -- mainboard manufacturers might have changed things.
But assuming you do have the RAID firmware loaded in your mainboard's version, here is where you can download the _SCSI_ driver version: http://www.ite.com.tw/software_download/software_download2.asp
Source is provided for both 2.4.x and 2.6.x.
From what I've seen, people are recommending this driver _only_ when you
use the intelligent RAID support, and not for regular ATA devices (let alone ATAPI devices). So you'll need to load the SCSI subsystem (scsi_mod) and SCSI disk support (sd_mod) as well as this iteraid driver, so make an initrd that does so.
On Sunday 19 June 2005 22:26, Bryan J. Smith wrote:
P.S. It should be noted that 32KB is not much cache, so I wouldn't use it on anything but a desktop system.
Hmmm - just a guess but the 32KB aren't cache, they are a buffer needed by the controller when writing data to different busses.
Peter.
On Sun, 2005-06-19 at 23:17 -0400, Peter Arremann wrote:
Hmmm - just a guess but the 32KB aren't cache, they are a buffer needed by the controller when writing data to different busses.
I used the term "cache" because it's 0 wait state. In reality, cache v. buffer is really more of an OS concept.
I use "cache" for 0 wait state memory and "buffer" for high latency memory when I talk I/O hardware.
On Monday 20 June 2005 01:10, Bryan J. Smith wrote:
On Sun, 2005-06-19 at 23:17 -0400, Peter Arremann wrote:
Hmmm - just a guess but the 32KB aren't cache, they are a buffer needed by the controller when writing data to different busses.
I used the term "cache" because it's 0 wait state. In reality, cache v. buffer is really more of an OS concept.
I use "cache" for 0 wait state memory and "buffer" for high latency memory when I talk I/O hardware.
Fair enough - I usually go by buffer as memory to work in (i.e. calculate checksums and so on) while cache is used to defer actions (like writing to disk) to a later point in time :-)
Peter.