When it comes to performance, there's always a bottleneck. The question is, which bottleneck? That's why one of the more interesting back of the envelope calculations is to ask, "what if it was infinitely fast?"
This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2005/07/what-if-it-was-infinitely-fast.html
Matt: “But isn’t this just because it is being limited by the maximum transfer rate of the SATA interface?”
I think that was rather the point of the first paragraph of the post: “the question is, which bottleneck”.
I agree with Jeff: let the OS manage memory. However, the solid state drive does have one big advantage over disk caching: it’s persistent, so you get the benefit of it on the first read. Disk caching gets you benefits on second and subsequent reads – unless the OS gets very smart about precaching for anticipated requests.
But isn’t this just because it is being limited by the maximum transfer rate of the SATA interface? I am assuming that if we were to really want to get the benefits of solid state hard drives that we would want to create a new interface standard that allowed the drives to be accessed at rates close to what standard memory can achieve.
Matt: Yes, it is limited to 150 MB/s by SATA. For a best-case current “RAM-speed” machine you can at least get rid of hard drives altogether.
With *nix you can boot from the network on a machine with gigs and gigs of RAM and then set up a software RAMdrive (virtual drive stored in system RAM that disappears on power down) to store your apps and swap space. I don’t know that this is possible in Windows, so a “fastest” Windows box could use this 150 MB/s iRam drive to store Windows on and then use a software ramdrive for other stuff.
Anand points out that Windows has a 4GB combined limit on RAM and swap space currently, so you run into a ceiling pretty quickly.
I found this project a very neat idea that could be useful for certain situations, but when I read that it only outperformed a $175 74GB Raptor by a few percent in some cases (up to several hundred percent in others) it really dampened my enthusiasm.
I agree that it is pretty disappointing to hear that the performance increase is fairly low. However, I believe that solid state hard drives will be the wave of the future and will bring huge performance increases only after we stop treating them like regular hard drives. The fact that they can be accessed randomly instead of only in “sector chunks” will allow Windows to optimize access to them using a new “disk” access paradigm. Only then will we see the huge performance gains that we expect. Until then, it seems that they won’t live up to expectation.
I am assuming that if we were to really want to get the benefits of solid state hard drives that we would want to create a new interface standard that allowed the drives to be accessed at rates close to what standard memory can achieve.
Or we could just add +4gb of memory to our systems. There are also hybrid solutions, such as a traditional drive with 1gb of cache memory. But in general, adding memory and letting the OS exercise its disk caching algorithm is the best way to go for most users.
I was very surprised and disapointed after reading the results of the benchmarking yesterday.
It makes me wonder if the bottleneck is on the i-RAM, so that future revisions will speed things up.
As it stands, the performance of the drive does not justify the price and pitfalls of using such a device.
Although it does remind me of when the Quake 3 demo was realised, some hard core players installed the demo onto a RAM drive, so that they could get faster load times and score those few extra frags! So maybe some people will buy one
This device uses the PCI Bus for power. I wonder what kind of performance increases could be gained if the method of accessing the data where modified to take advantage of PCI Express and therefore could provide a theoreticaly significant increase in preformance. In fact the theoretical bandwidth of PCI Express is 8GB/second where SATA is 150MB/second.
While one of the nice features of this drive are that theres no software to be installed (beyond a minimal ‘I’m a hard drive here’s my model’ type driver) the extra bandwidth would be very well worth the cost of running a little bit of drive emulation software.
matt2: if it’s not using the hard drive interface that the BIOS recognizes then it’s not really the same thing at all. Why not just make a PCI RAM expander?
Have iram and can’t get Winxp installed on it.
Can anyone help?
matt2 has an interesting point. when will we see pce interfacing storage? instead of Gigabyte’s I-RAM which just uses the legacy pci slot for power, then interfaces with the system via the slow SATA connection… Unfortunately, at the moment, to the best of my knowledge, a pci express solid state / flash / hard drive type device (at least on the retail level) does not exist