Gigabyte's i-RAM: Affordable Solid State Storage
by Anand Lal Shimpi on July 25, 2005 3:50 PM EST- Posted in
- Storage
We All Scream for i-RAM
Gigabyte sent us the first production version of their i-RAM card, marked as revision 1.0 on the PCB.There were some obvious changes between the i-RAM that we received and what we saw at Computex.
First, the battery pack is now mounted in a rigid holder on the PCB. The contacts are on the battery itself, so there's no external wire to deliver power to the card.
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.
133 Comments
View All Comments
simpletech - Tuesday, July 26, 2005 - link
I think another possible use (besides certain kinds of servers, like mail servers), is for video capture. The size is a bit small, but if you were capturing segments of footage, it might work. And the price could be reasonable.BikeDude - Tuesday, July 26, 2005 - link
"but 32-bit Windows can't use more than 4GB of RAM, including the swap file size."First of all... "Swap file" is a misnomer. We talked about "swap file" back in the Windows 3.1 days when the OS would swap a process' entire memory space to the *swap* file.
These days the OS will read/write selected pages of a process' memory from/to the cache manager (who may or may not elect to use the disk to get to the physical pagefile). *Paging*, not "swapping". Executables and libraries are memory mapped and thus start their lives with all pages firmly on disk (so a big executable won't necessarily load slow, but many small DLLs OTOH just might).
I don't have Windows XP in front of me, but my 32-bit Windows 2003 Standard ed. with 4GB memory and 1GB pagefile certainly doesn't seem affected by the limitation you mention. Enterprise edition can address even more physical memory... Each process is still limited to a 2GB virtual address space though. (32-bit processes marked capable of such will gain a 4GB virtual address space under 64-bit Windows)
I realise that XPSP2, despite PAE, is limited to 4GB physical memory (http://blogs.msdn.com/carmencr/archive/2004/08/06/...">http://blogs.msdn.com/carmencr/archive/2004/08/06/..., but pagefile as well? Nah, sounds iffy.
JarredWalton - Tuesday, July 26, 2005 - link
Without PAE (or something similar), 32-bit OSes are indeed limited to 4GB of RAM. This is what is being referred to, as PAE is limited to Intel and I don't believe it's available on non-Server versions of Windows. (Correct me if I'm wrong, but PAE is pretty much only on Xeons, right?)You're right that it's paging instead of swapping now, but there's really not much difference between the two. Basically, you put data onto the HDD in order to free up physical RAM, on the assumption that the least recently used data that was moved to the HDD won't be accessed again for a while.
JarredWalton - Tuesday, July 26, 2005 - link
Anyway, I've modified the comment to reflect the original intent. If you're running PAE and Server, it's a whole different ball game for high memory systems.Penth - Tuesday, July 26, 2005 - link
Wow, my friend and I talked about the possibilities for these things several times. But at 3x the initial price and not the performance increase I would have expected, the techie in me is disappointed. My wallet is happy though.StanleyBuchanan - Tuesday, July 26, 2005 - link
I wonder what the issue is with RAID that Anand comments on.... seems odd that it would behave differently than a HD in this respect and cause problems...I would love to have 12gb or more... which is enough for Windows XP, a productivity suite, and a modern game... anything more could be run from NAS
Zan Lynx - Sunday, July 31, 2005 - link
Probably something to do with the PCI bus power. Perhaps two of these cards take more juice than the bus expects to provide while on standby.phaxmohdem - Monday, July 25, 2005 - link
I saw someone else posting as well, but I would very much like to see some database performance numbers from this device, as well as perhaps a web-serving benchmark.xTYBALTx - Monday, July 25, 2005 - link
How some FPS benchies?GTMan - Monday, July 25, 2005 - link
I laughed when I saw that line :) A very interesting device and I look forward to where this goes in the future. Your "Final Words" could use a bit of brevity.