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
Sea Shadow - Monday, July 25, 2005 - link
I wonder if the OS is the limiting factor. They should run some tests using other os *cough* linux *cough*.What would be really neat is if they could design an i-Ram device that uses 2 HDD bays and supported 8+ GB of ram and ran from a standard molex.
sprockkets - Tuesday, July 26, 2005 - link
You people think about using Knoppix and copying to the drive? For that matter, that and stuff like damnsmalllinux and such can be run totally from system ram.Instead of using this though for a slient drive, you are better off using flash memory drives for that.
ViRGE - Monday, July 25, 2005 - link
Unfortunately if they did that, it would mean that your computer could never be turned off. As noted in the review, the card is currently still powered even if the machine is "off", due to the fact that when a modern ATX computer is off, it's actually more of a super-standby mode that leaves a few choice items powered on for wake-on events(LAN/modems, and the power button of course). All Gigabyte is doing here is taping in to the 3.3v line on the PCI slot that wake-on power is provided through, which is enough to keep the device powered up even when the system is in its diminished state.Molex plugs on the other hand are completely powered down when the system is "off", so it would be running off of battery power in this case. A lot of us leave our systems on 24/7 anyhow, but I still think they'd have a hard time selling a device that would require your computer to be off for no more than 16 hours at a time.
Gatak - Monday, July 25, 2005 - link
They could use the USB power. On most motherboards you can enable with a jumper or BIOS to supply standby power to the USB. Often the setting is called "Wake on USB" or "Wake on Keyboard" etcreactor - Monday, July 25, 2005 - link
"What would be really neat is if they could design an i-Ram device that uses 2 HDD bays and supported 8+ GB of ram and ran from a standard molex."Was thinking something similar myself as i was reading.
I think once ram modules are 4gb or larger, then this could be very useful. But not until it gets updated with sata2, ddr400 etc. When the time comes to build an HTPC then ill give this another look.
Nice article.
ranger203 - Monday, July 25, 2005 - link
Not to shabby, but i was honestly expecting like 3 second boots, & 5 second game load times... why is there only a 20% speed increase in some areas?Griswold - Thursday, July 28, 2005 - link
Because the data still has to be processed after being loaded - bandwith is obviously not the biggest bottleneck here.forwhom - Tuesday, July 26, 2005 - link
What I would be very interested in seeing is the performance of the thing using it as the source for encoding a dvd/mpeg... Most encoders are heavily disk-based and if it could reduce the time significantly it might be worth while - assuming that eventually they come out with one big enough to hold the source. There's now reasonable CPU encode performance, just have to get the data to/from it... maybe the i-drive would help..highlandsun - Monday, July 25, 2005 - link
Hmmm, the WD Raptor has a sustained transfer rate of 72MB/sec. So on a freshly formatted drive, with no fragmentation, it should still be half the speed of the iRam. But at $200 for a 74GB drive, then you could get a pair of these running in RAID0, which would run at around 140MB/sec anyway, and still have spent less than the cost of the iRam and 4GB of DDR DIMMs. It definitely seems like this product falls short.The use of PCI 3.3V standby power is clever. Perhaps a future version should just use a dummy PCI card to provide the power, connected to a 5" drive-size case with many more DIMM slots. If you can't cram at least 16 DIMMs in there, then the ability to use old memory is kind of wasted, since the old modules will have such small capacities.
Ultimately I think this type of product will always be a failure.
What they should do instead is make it a pass-through cache for a real SATA drive. So you plug the SATA controller into it, and plug it into a real SATA drive, and it caches all I/O operations to the real drive. That's the only way that you can get meaningful benefit out of only 4GB of memory. A card like this would turn any SATA drive into a speed demon; 4GB is definitely a decent size for most caching purposes.
highlandsun - Monday, July 25, 2005 - link
Of course the next logical step is to put the DIMM slots on the SATA controller card, so that access to cached data occurs at real memory speeds, not just SATA bus speed. This would only be a useful product for folks stuck on 32-bit systems, because otherwise it would be best to just increase the system memory instead. But there are plenty of 32-bit systems out there that would benefit from the approach.