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. 


Click to Enlarge

There were some obvious changes between the i-RAM that we received and what we saw at Computex. 


Click to Enlarge

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.

Index i-RAM’s Limitations
POST A COMMENT

133 Comments

View All Comments

  • - Tuesday, July 26, 2005 - link


    I was really surprised at how little it helped as a page file. Myself I sometimes encounter periods of slowdown due to paging that can last for several minutes where nothing can be done. I don't know if there's a common name for this but I'll call it the "page file wall". I don't know exactly how you would recreate such a tragedy in the lab. Too many apps open with too little memory obviously. But less obviously, it seems that during a period of overnight inactivity (with apps left open) windows will page a lot of stuff out to disk and you can experience the page file wall the next morning. It'd be interesting if Anand could devise a consistent "page file wall" benchmark.

    As the article and many posts above suggest doubling my RAM would probably end my problems.

    I still think this product (or revision 2 or 3) could bridge an obvious gap with PC's: SLOW harddisks and EXPENSIVE ram. When you run out of ram it can be like hitting a wall. It can be like crossing the country, but you go half by jet and the other half on foot. The gap should be filled with something cheaper than modern DDR and faster than harddisks. (This product is barely either.) I'd like to see a PC with 1 GB normal ram and 2GB of cheap-o 1/8 speed auxiliary ram. The OS could use this slower ram for paging with priority over paging to the harddisk. Not just for enthusiasts, but for regular beige PC's. Owners would then have another upgrade option with a better cost/benefit ratio depending on their needs.

    I was waiting for a performance review of this thing and I'm so glad trusty Anandtech provided.

    BTW: Long time reader (4+years), 1st time poster.
    Reply
  • - Tuesday, July 26, 2005 - link

    I was in my local computer shop and the guy working there pointed at a stack of hardware and said some guy just dropped $8000 on a Intel 955X or whatever system that included around 16 gigs of Ram disks and I asked if it was based on ddr400 and he said no it was in fact ddr2 533 I think. A quick search on the internet found nothing about ddr2 ram drives and it defies logic to me anyway since i would think that ddr 400 would be faster due to latency issues, etc. Has anyone heard anything like this? Also the guy at the store told me that it boots in to Windows XP in 4 seconds. It sounds like a tall tale but i don't see any reason why he would be making it up as they are pretty reputable. Reply
  • davidlang - Tuesday, July 26, 2005 - link

    where you really suffer is on writes.

    any time you need to write something before you can continue the latency becomes critical. Database writes (and logging) are a perfect example of this.

    Under *nix the Journal of a journaling filesystem is performance critical (although it's useually a sequential write so it is about as good as you can get.

    For Database engines that have good crash recovery (MySQL is not that good at this, but Postgres or Oracle are) they need to make sure that their log gets to a safe storage media before they can consider the write completed and tell the caller that it's done.

    even for an apache webserver, with normal logging apache will not return the page until the log has been written.
    Reply
  • somu - Tuesday, July 26, 2005 - link

    As a lot of ppl have posted here, it would make sense to use this as a cache for our harddrives by making it possible to plug the harddrive into the i-ram and i-ram to the motherboard. This would overcome the 4gb limitation and we probably wouldnt need the full 4gb for cache we can use like 1gb or 2 gb. But to see more increase in performance they will need to move it to sata2 and have programmers write into their code to precache data to take full advantage of the i-ram. Reply
  • AngleRider - Tuesday, July 26, 2005 - link


    Well it seems that modern hard drives are getting alot faster and solid state doesn't seem to help as much as it would of say, 2 or 4 years ago when we were running crusty low density HDs...

    However, I am also slighty disappointed in the design...

    Why put main system memory in a drive and then limit it to SATA I (not SATA2)?
    I thought the whole point of a ram drive was provide maximum i/o performance...??

    Second not allowing 2GB sticks doesn't make sense to me... i mean 4gb is really small.
    Maybe they should of thought this,
    "Gee, let's try to offer more capacity - like, golly bunny, currently available 2gb ram modules..."

    Even so, if this can do 591% higher i/o performance than a raptor in ipeak business winstone, then i'm sure there are ways to utilize this in computing tasks...
    Also if u put the os on it u wont ever need to defrag...

    Nice, but expensive for now ... expensive doesn't mean its crap.. just weakly spec'd to my mind for now...
    Why do something like this and then water it down?

    D

    Reply
  • UNCjigga - Tuesday, July 26, 2005 - link

    I think the disappointing benchmarks ought to say something about current OS's suitability to the iRAM, and not iRAM's capabilities. I really think this is an idea ahead of its time. Windows XP isn't tuned for solid-state storage, the FPGA chip on the iRAM isn't the best solution, and the SATA interface itself is a bottleneck. If Windows Vista and future BIOSes had support for PCIe storage, imagine a version of iRAM that had a straight PCIe interface supporting the full 1.6Gb/s or more depending on the type of memory you put on, and 8Gb or more memory thanks to 64bit addressing.

    Windows Vista will already have support for hybrid drives (NAND+platter) so the caching and paging routines will be optimized for solid-state storage. I actually think iRAM might be better than hybrid drives because 1) you can use existing drives with it, 2) iRAM is expandable (up to a limit), 3) DDR is faster than NAND
    Reply
  • shaw - Tuesday, July 26, 2005 - link

    I could see SATA II could remove the bottleneck, but still, 4GB of data? Gigabyte is smarter then this.. it's just not going to fly. Though, it is a pretty good start.

    The next logical steps is probably finding a way to get a standard harddrive to use something like this as a memory buffer (7200rpm with DDR200 1GB of cache) and then maybe it would actaully be worth it.
    Reply
  • JNo - Tuesday, July 26, 2005 - link

    I was disappointed that nothing was mentioned of the practicalities of moving windows or a game onto this thing. Is there any software that would transfer whatever data is on this thing (including functioning operating systems) to a normal drive at regular intervals? And keep them functioning? If not, what's the point?! Each time you have to install windows/a game to this thing (after powerfailures or just for the sake of having something different on it), you have to install all the updates/personal tweaks/mods/saved games/configurations etc which would takes SO MUCH MORE TIME than the extra few seconds you save from faster boot/game load times... why anandtech does not take these things into consideration?! To paraphrase another poster: WHOOPEE-F*CKING-DO Reply
  • araczynski - Tuesday, July 26, 2005 - link

    disappointing gaming benefits, too small a size, they should've used a custom controller rather then the connect-the-dots one.

    i'll be waiting to see what version 3 brings.
    Reply
  • EODetroit - Tuesday, July 26, 2005 - link

    The $150 thing is a killer. But if they can only pump out 1000 of them, it makes business sense to have the price high. This just like AMD having high X2 prices because they can't possibly make enough quantity to fill orders if the price was lower... same exact thing.

    $90 per 1GB stick of ram is high, I'm sure people can shop around and find it cheaper.

    As for RAIDing two of these, Anand said he only actually had one of them, but was trying to get a second. So maybe more on that later. I think that even if Raid 0 doesn't work for some reason, JBOD would work.

    I'm curious what the bottleneck in computers now-a-days really is. I think Anand should get an NForce Pro with 8 GB of ram running 64bit XP, set up the largest RAM DISK (real software-type RAM disk) you can, and see how that affects performance. If performance shows the same mediocre gains that this device showed, then that means a new SATA2 version wouldn't improve things either. If that test showed there were large gains out there to be had, then yeah there's a future here. I would do it myself but I don't have access to that hardware hehe.
    Reply

Log in

Don't have an account? Sign up now