Gigabyte's i-RAM: Affordable Solid State Storageby Anand Lal Shimpi on July 25, 2005 3:50 PM EST
- Posted in
We All Scream for i-RAMGigabyte sent us the first production version of their i-RAM card, marked as revision 1.0 on the PCB.
Contrary to what has been said in the past, the i-RAM still uses a Xilinx FPGA, which gets the job done, but is most likely slower and more expensive than a custom made chip.
A Field Programmable Gate Array (FPGA) is literally an array of gates that can be programmed and reprogrammed to behave in virtually any fashion; the benefit of using a FPGA over a conventional integrated circuit is that a company like Gigabyte can just purchase a FPGA that is suitable for their application, rather than having to send their own IC design to a fab, which takes much more time and costs a lot more than just purchasing FPGAs for their initial product run. FPGAs are often chosen because of their quick time to market, although they are more expensive to mass produce than ICs.
The Xilinx FPGA has three primary functions: it acts as a 64-bit DDR memory controller, a SATA controller and a bridge chip between the memory and SATA controllers. The chip takes requests over the SATA bus, translates them and then sends them off to its DDR controller to write/read the data to/from memory.
Gigabyte has told us that the initial production run of the i-RAM will only be a quantity of 1000 cards, available in the month of August, at a street price of around $150. We would expect that price to drop over time, and it's definitely a lot higher than what we were told at Computex ($50).
The i-RAM is outfitted with 4 184-pin DIMM slots that will accept any DDR DIMM. The memory controller in the Xilinx FPGA operates at 100MHz (DDR200) and can actually support up to 8GB of memory. However, Gigabyte says that the i-RAM card itself only supports 4GB of DDR SDRAM. We didn't have any 2GB unbuffered DIMMs to try in the card to test its true limit, but Gigabyte tells us that it is 4GB.
The Xilinx FPGA also won't support ECC memory, although we have mentioned to Gigabyte that a number of users have expressed interest in having ECC support in order to ensure greater data reliability.
Although the i-RAM plugs into a conventional 3.3V 32-bit PCI slot, it doesn't use the PCI connector for anything other than power. All data is transfered via the Xilinx chip and over the SATA connector directly to your motherboard's SATA controller, just like any regular SATA hard drive.
Armed with a 64-bit memory controller and DDR200 memory, the i-RAM should be capable of transferring data at up to 1.6GB/s to the Xilinx chip; however, the actual transfer rate to your system is bottlenecked by the SATA bus. The i-RAM currently implements the SATA150 spec, giving it a maximum transfer rate of 150MB/s.
With SATA as the only data interface, Gigabyte made the i-RAM infinitely more useful than software based RAM drives because to the OS and the rest of your system, the i-RAM appears to be no different than a regular hard drive. You can install an OS, applications or games on it, you can boot from it and you can interact with it just like you would any other hard drive. The difference is that it is going to be a lot faster and also a lot smaller than a conventional hard drive.
The size limitations are pretty obvious, but the performance benefits really come from the nature of DRAM as a storage medium vs. magnetic hard disks. We have long known that modern day hard disks can attain fairly high sequential transfer rates of upwards of 60MB/s. However, as soon as the data stops being sequential and is more random in nature, performance can drop to as little as 1MB/s. The reason for the significant drop in performance is the simple fact that repositioning the read/write heads on a hard disk takes time as does searching for the correct location on a platter to position them. The mechanical elements of hard disks are what make them slow, and it is exactly those limitations that are removed with the i-RAM. Access time goes from milliseconds (1 x 10-3) down to nanoseconds (1 x 10-9), and transfer rate doesn't vary, so it should be more consistent.
Since it acts as a regular hard drive, theoretically, you can also arrange a couple of the i-RAM cards together in RAID if you have a SATA RAID controller. The biggest benefit to a pair of i-RAM cards in RAID 0 isn't necessarily performance, but now you can get 2x the capacity of a single card. We are working on getting another i-RAM card in house to perform some RAID 0 tests. However, Gigabyte has informed us that presently, there are stability issues with running two i-RAM cards in RAID 0, so we wouldn't recommend pursuing that avenue until we know for sure that all bugs are worked out.