Hard Drive of the Future: Ram Drive
benzick writes "3d Retreat has posted a hands on look at a 2gig ram drive called the Rocket Drive. Article blurb: Overall the rocket drive is the best in I/O performance I have seen. It outperforms U160 SCSI drives by almost a factor of two. Yet there are some drawbacks to the Rocket drive, foremost is the price, although listed at the end of the review is some alternative pricing options to make it less expensive. And the rocket drive can not act as a boot drive. Also, if you have some extra money to spend, you can use multiple rocket drives in parallel."
Product: Rocket Drive (2 gig)
Manufacturer: Cenatek
Web site: Product Information
Price (MSRP): $2,999 (as tested)
Release Date: Available Now
I was thinking something like this... (tho even on a lesser scale) would be a good place to install Mozilla or Pheonix. I know especially Pheonix is getting really fast to launch for a browser.. but this would be great!
I am Jack's HTTP Server
It's another bullshit "hardware site" test.
The "benchmark" was a Photoshop filter on an image. It was twice as fast as with the SCSI disk.
This tells you very little about the relative performance of the drives since image processing is typically not disk bound.
For that price, I'll wait the extra 7 seconds for Mozilla to load, thankyouverymuch.
mstyne: real name, no gimmicks
And if someone trips over the cable, there goes your 2 gigs of data!
Thanks, but no thanks, I'll stick with mah good ole Winchester disks.
The hard drive is some ancient technology that is the *easily* #1 cause of all computer failures. Other than the cooling fans, they're the last moving parts, and the most critical ones too... A fan dying may cook your computer, but a hard drive kills your *data*. It's high time that something came along to replace those damn things. I'm typing this on my PC with a 2 drive RAID because I can't afford downtime or data loss. That really shouldn't be necessary any more. Bring on the alternatives!
Keeps that data after the pc is turned off, which i bet your amstrad didn't do.
It has an external supply that keeps the card powered.
And i believe this is the whole point of this card, its pretty much useless otherwise.
Also the xfer speeds are limited to PCI (66mhz) speeds, that is why "its only" 2x as fast as a U160 scsi.
This is really pretty interesting. The device has it's own power supply that actually allows you to save data when you shut down your computer. It doesn't seem like it would be too reliable, but it does provide a reason as to why this is better than a traditional RAM drive (provided you have it hooked up to a UPS).
>What's the point of this?
;)
You must not be a geek if you need to ever ask that.
>You can already create RAM drives using the memory you have in your machine. You don't need a dedicated unit to do it.
Yes you can, but can you plug those ram drives into a UPS and keep the contents between reboots?
>Heck, I could create meagre RAM drives on my 640KB Amstrad PC1640 (8086).
So?
>Why not just fit your PC out with 4GB of fast DDR RAM and do it that way? That memory would be far cheaper than this card.
What if I want 4gigs of ram AND a ramdrive? I don't, one gig of ram is enough...
Personally I don't get why people always expect products to have a really necessary use
1. A DRAM "drive" suffers the fundemental problem that if the "external" power source is lost, you lose everything on the drive.
2. 80-100 MB/sec sustained performance is nothing to write home about for DRAM performance. A RAID 0 stripe across 2 ATA drives could give you this same performance for about 1/4 the price without the power issue.
Although its a long way off, MRAM offers a much more promissing application in the area of high speed RAM drives.
Someone you trust is one of us.
Fundamentally, you're always better just to use caching. Essentially, this amounts to a 2GB dedicated disk cache, except that the power supply ensures that the contents survive boots (though I don't know how it would do in a power failure). Anyway, how often do people reboot their machines nowadays? Stuff stays in my computer's cache for months at a time.
So, why not just add the 2GB to your main RAM? Then the OS could use it as a disk cache if it were so inclined (and you'd be right where you are with a ramdrive) or else the OS could use it as actual RAM if you needed it.
In short, RAM is just like a ramdrive except more flexible.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
- The OS wants to store something in RAM, trys to allocate RAM and fails.
- The OS decides to swap out some memory based on an analysis of page usage statistics, so it grabs the handle to the swap file.
- Then, the OS streams the offending pages through file I/O subsystem, worrying about waits and updating page counters and such. This includes dragging all the data over a busy system bus.
- The receiving device stores it in RAM.
Cool! What operating system could aspire to such levels of efficiency?Here's some neat facts. No real solution though. Reply with one if you have it...
Ram = Fast
Cache = faster ram
On Board Cache = faster
1. Processors used to not have a quick way to get to ram so cache was created (faster and expensive ram) and put on a chip.
2. Cache proved to be too expensive so they put it off the chips (pII)'s. Celereon's even took off some of the Cache.
3. Now that ram drives will be created, it's just another link in the chain to the HD.
now it'll be:
HD->Ramdrive->Ram->off chip cache->onboard cache
Each one of those levels cost more as you move to the right. This just puts another link in the chain.
Once you do this then ALL heads will be able to read or write simultaneously (in parallel) rather than one at a time as they do now.
Only question is -- how long till they decide to go for it.
The official website lists the capacity as 4 GB.
i hope they put some sweet memory in there...
I know this article doesn't exactly seem to be chock full of information, but the comments can at least be intelligent.
This is different from using a RAM disk and just using RAM for a disk drive. A RAM drive can actually store information - which is something that RAM disks, which aren't really storage devices at all, cannot do.
This even means you can store stuff and it's still gonna be there when you reboot. Although, granted, this isn't exactly new technology. I remember talking with a company at Internet World probably 6 or 7 years ago that sold these things to big companies with deep wallets.
I've nothing to say here...
This isn't a criticism. It's an honest question. What kind of purpose necessitates this type of drive over, say, a big SCSI RAID? Assuming the performance of solid state storage will always be inherently superior to traditional mass storage, what purposes best make use of relatively small amounts of extremely fast storage?
And here's why:
You can put a couple gigs of RAM on your motherboard, where the bandwidth to the CPU is at least 10x the fastest SCSI interface. Run any modern OS on there, and all of that main memory is going to be used a filesystem cache. Voila: all the benefits of a RAM disk (fast seek, throughput) and none of the drawbacks (no need for a separate disk backup).
If what you want is a TRUE ram disk, i.e. not backed by magnetic storage at all, then you can do this in Linux or FreeBSD by setting aside a chunk of main RAM as a file system. I don't know if you can do that in OSX or Windows...
But a RAM disk on the SCSI bus? What's the point?
Okay, fair enough, I didn't see the bit about it keeping the data on there using an external power supply.. but..
Most Slashdotters are the type who leave their PCs on 24/7 anyway, and run relatively stable operating systems. And if the power cuts out, you're going to lose the RAM drive anyway.
I can see the use of this RAM drive in video setups or on DVD encoding/production desks, but for regular Joe (or even a Slashdot user)? No.
mogorific carpentry experiments
At best, solid state storage devices will be used to house the most critical, most heavily read data on the hard drive for certain particular uses only.
However, no one will ever go back to 2GB hard drives for the same prices as a 200GB hard drive, nor will anyone want to go that far back in proportion to Moore's law in the future in exchange for giving up their mechanical hard drives.
Trust me, when we have a terabyte of hard drive space for a few hundred dollars, people will use them -- movies still take up an average of 1GB apiece, and with digital convergence, everyone will want to stockpile them, as well as have every song they've ever wanted to hear stored safely on their hard drive.
Right; this isn't exactly "way out there" kind of technology as "Of the Future" would imply. I know of a high-performance web server that's being deployed in less than a week that uses one of these.
Computers already have solid-state memory. 2 Gig isn't a particularly impressive figure anymore for system RAM. Running RAM over PCI is dumb, that's why we have a memory bus. A system with 1 or 2 gigs of RAM can cache so well that using all solid-state memory would hardly improve performance anyways, especially if it's on the other side of a PCI bus.
That's an absurd price for what little there is to be gained from this. Clearly the cash would be better spent on a new MB with an extra 2 gig on it - it could be used as a ram disk if you really wanted, or as a cache, or for any number of uses beyond a silly-cone hard drive. Better to be able to deal with the memory as memory than memory pretending to be disk. And for a lot less money.
I'm an American. I love this country and the freedoms that we used to have.
That's great, but am I the only one who remembers having RAMdisks on my Atari 800?
Axlon used to make 128 KB Ramdisks, now that was power!
The bios is set so you can only put in the amount of memory that was specified by the card. So If I purchased the 2Gig empty card. My only option is to put in 4 sticks of 512 pc133 memory. If I wanted to upgrade my card to 4gig. I would have to pay for an upgrade, and then replace all the sticks of memory with 1024Meg sticks.
I use Macs to up my productivity, so up yours Microsoft!
I, for one, leave my PCs on 24/7
... encoding of divx and such.
I also think that the only application of this is for volatile info that needs massive disk i/o
I believe all programs would benefit from 4gb of ram instead of a 4gb ramdrive, and i specially disliked the fact that altho you can buy a card wihout memory you can only use it with the ammount you bought it for (its "bios" is locked to that memsize) so you can't just go on adding mem.
Back in 1998, Quantum announces a DRAM-based hard drive. They offered two models, a 1.6GB version which was priced at $39,000 and a 1.07GB version which was priced at $28,000. They seemed revolutionary at the time, but the main drawback was always the price.
It has been tried in the past, but the problem was that the heads would get slightly misaligned in time and you'd have to reformat too often.
To solve rotational misalignment in a platter-level RAID system, just treat the binary stream coming from each head assembly as a separately clocked serial stream, and combine them in the controller.
It's also straightforward to solve radial misalignment, that is, when one of the heads is slightly too far from the hub or too close to the hub. While the drive is idle, non-destructively reformat the disk continuously, reading an entire cylinder/sector pair head by head and then writing it all at once.
Will I retire or break 10K?
The only justification I can come up with to purchase one of these cards is if you have already maxed out your motherboard system RAM.
Does anyone know if this maps in as a normal ATA or SCSI controller? Or do you need a special windows only driver?
If linux can recognize it as a normal block device, and I was rich enough to already have 4G of PC2700 on my mobo, then a mkswap/swapon on this device would become beneficial.
Also, can you install more then one in a system?
It appears Ockham lost his razor and grew a beard.
Most people can't allocate 2GB of RAM for use as cache or RAM disk because their computer can only *take* 2GB or less of RAM. Most PCs max out at between 512MB and 2GB RAM, most Macs max out at 1GB to 2GB of RAM.
I'd suggest a better option would be a fast hard disk or RAID appliance with 2GB of cache.
The article mentions that multiple RocketDrives could be used in parallel. That would seem only to be practical on 64-bit PCI buses. One RocketDrive transfers 80MB/s, which is close to the maximum sustained bandwidth for 32-bit 33MHz PCI. 132MB/s is the burst bandwidth, and cannot be sustained for very long.
In fact, I would think this drive would interfere with other devices that rely on the PCI bus. I doubt you could get 100Mbps (~12.5MB/s) on the same PCI bus.
As you can see there: http://www.3dretreat.com/reviews/rocketdrive/page5 .shtml
The test used sisoft adn HD Tach for testing.
The speed is limited because of the pci interface, that is as fast as the pci was designed to work at.
True, the smallest ups would probably power this card for more than a week.
But i still would not put into this important information that i didnt have on another medium sowmehere else.
Wasn't there just a slashdot story a while ago saying how it was Power supplies that were the huge cause?
HD->Ramdrive->Ram->off chip cache->onboard cache
Each one of those levels cost more as you move to the right. This just puts another link in the chain.
Sure about that? For the price of the Ramdrive, I could easily get 2GB of DDR. Hell, for the price of the Ramdrive I could get a motherboard that supported 64GB and fill a moderate chunk of it. That thing has lower speed and greater access time than main memory and costs more, so just using RAM as disk cache would appear to be more useful under the majority of circumstances.
This tells you very little about the relative performance of the drives since image processing is typically not disk bound.
Actually, the author of the article made it disk bound, by forcing Photoshop to go into swap space with an image much larger than the available memory.
And you missed the HD testing pictures, measuring high throughput (sp?) and unbelievable low latency.
If these guys had made this compatible with scsi, like emulating a scsi card and 1 device, so it could boot it would rock.
...
From power off to up and runnig in seconds !
This would be ideal to store an OS, even for a server, and have the HDs configured to copy the os back to the card and reboot in case it fails to boot from the card for some reason
Hook the power source to a ups and you can probably keep the info for more than a week without external power should you need. (i mean, how much juice can this need?)
Essentially this drive boils down to creating a very expensive and (for RAM that is) very slow ram disk. This disk isn't very big, too. It's only good point is that it stores data even between reboots and power-downs.
But practically, it's no use. Areas that come in mind, already have a better solution than this:
- Games: you're better off buying system RAM (perhaps even creating a software RAM disk), because it's cheaper and about 10x faster than PCI. The guy in the review was mumbling about virtual memory, which is just incompetence really (because you don't need VM as long as you have enough main memory)
- High transaction servers: servers need more storage space than that. And given the high risk of losing data in case of a power outage, this medium is totally unusable.
- Graphics: essentially the same as in games, just buy more system memory. There is no benefit in having this drive that is also quite small.
There is no reason to use such a device. Only if RAM were much cheaper, and if the drive had much more storage, and if the PCI bus were much faster, and if system memory were some kind of other (more expensive, faster) RAM, ONLY THEN would it make sense to use it (and then only if mechanical storage would be far inferior by then).
What if you could boot from this drive? If it were Flash Ram then presumably you could store your operating system on a RAM Drive and get it to boot instantly cutting down on the boring and annoying wait for the computer to start up.
Another drive could be used for storing files and such like (if it were thought to be somewhat dangerous medium to *store*) but in anycase it would be lovely to get instantly booting computers.
In addition, rather than booting, couldn't these drives make possible a kind-of ghost-like save boot-up state. ie Copy into memory very quickly the state of the computer just following boot up. Now that would surely speed up the booting process.
And I know everyone might say, oh that doesn't matter, but even though I use a Powerbook which with OS X stays up almost forever - I *still* need to boot occassionally. And it is *painful* to wait for.
Once it is built into my laptop I will be well happy... I hate chugging drives... and silence is golden
---- The Open Source Record Label : : LOCARECORDS.COM
"Sustained performance" is only a practical measure in a few uses (eg: multimedia). For most other things, latency (ie: seek times) has a far greater impact on performance. Even the fastest harddrives have seek times measured in milliseconds. With DRAM we're talking about nanoseconds.
The fundamental problem of "power is lost" can be solved easily by adding a battery on the drive.
Okay... I'll do the stupid things first, then you shy people follow.
[Zappa]
Anyway, how often do people reboot their machines nowadays?
I'll answer the related question, "why would anybody need to reboot a computer?"
Some slashdot readers are lucky enough to live and work in an environment that primarily uses BSD or Linux. But unlike some slashdot readers, I, Damian Yerrick, live and work in an environment that primarily uses Microsoft Windows. Therefore, I have to use Microsoft Windows.
Some slashdot readers are lucky enough to be able to afford personal copies of PC virtualization software such as VMware, so that they can run other operating systems within a window on their computer. But unlike some slashdot readers, I, Damian Yerrick, can't afford a VMware license. Therefore, I must run Microsoft Windows on the bare hardware, and if I want to run an operating system other than Microsoft Windows, I must reboot my computer to access it.
Some slashdot readers are lucky enough to be able to afford to buy additional hardware to shield their other computer from exploits of newly discovered vulnerabilities in its operating system. But unlike some slashdot readers, I, Damian Yerrick, can't afford a second motherboard, CPU, case, and keyboard on which to run BSD firewall software. Therefore, if I want to keep my computer connected to the network, I must keep my computer updated with patches from Microsoft Windows Update. Those patches often require a reboot of the computer.
Therefore, I, Damian Yerrick, cannot afford to own a computer system that does not have to be rebooted.
Will I retire or break 10K?
People make these boards whenever the amount of RAM the processor can address becomes small compared to what you can afford, people start putting RAM into RAM disk drives.
However, nearly $3000 for 2G of RAM seems excessive no matter what.
Most people complain about how this drive or RAM disks are completely wiped out by a power loss, but couldnt that also be used as a great security feature. If you have alot of data that you dont want someone (read: The Government) getting their hands on or taking as evidence, just keep it on a drive protected by a UPS, then if you need to wipe it out quickly and completely, just pull the plug. Or if a few lovely FBI agents come and take your computer, they do it for you.
"There's no way to rule innocent men. The only power any government has is the power to crack down on criminals."
This is just sad...
3,000 dollars for something that has 2 gig of ram. I could get 2 gig of ram for a fraction of that amount... In fact, for the speed its giving, I could fill the thing up with sdram or edo ram...
This is something I could imagine being useful with my hard drive... Why don't they make a standard plugin for hard drives... Make it where you can add cache directly to the hard drive.
But wouldn't it be better to just have RAM instead of this?
Not if you're going to go over 4 gig. You'd then need a 64 bit solution for that... If, on the other hand, you could add MAJOR amounts of cache to your hard drive, it wouldn't matter if you only had 4 gig of actual memory. You could run IA-32 as long as you like. You could have potentially gigantic databases without worrying as much about disk thrashing...
It's going to be potentially a long time until a 64 bit winner in the PC world is declared... As time goes on, something like this may actually be viable. And as memory prices go down, we're going to be seeing a lot more 4 gig systems around...
Or am I on crack?
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
For the price of the Ramdrive, I could easily get 2GB of DDR
I can get 4.7 GB of DDR for $36.94.
for the price of the Ramdrive I could get a motherboard that supported 64GB and fill a moderate chunk of it
If your operating system crashes, what happens? If your OS publisher pushes out a "security update" and asks you to restart your computer, what happens? If you lose power, will your UPS be able to power your motherboard for as long as it can power an external RAM drive?
Will I retire or break 10K?
Could one use this for swap space? Swap could be regenerated between power off (say when you move the machine). Then you could have a startup script see if this thing was configged on boot up and if it was, use the swap. If not, it could config it as swap and then reboot? Am I off base here? Swaps would be lightening fast and if you happen to lose swap when powered off it ain't no big deal.
Gorkman
plan9 users a multi-computer concept
1 : file server - all it does is serve files and does backups to WORM. HD Crash only loses todays changes.
2 : auth server - boots from the file server and issues authentication. crash - np reboot it and off you go
3 : cpu server - runs the programs, if it crashes then so what, only data in it's memory will be corrupt, the file server will not have crashed
4 : terminals - bootstrap from a floppy/cdrom/localhd to get authed and then into booting from the file server [or run a windows/bsd/linux client]
One can then add new nodes for redundancy and scale. Local terminals can have local storage if desired
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
n.
:)
Most modern Fighter jets use ramdrives exclusively because the high-G manuvers, shaking, ect would cause a normal drives heads to go smashing into the platters. I know the B2-stealth has some, so does the F-16.
When you're the goverment, and you want reliable killing machines, 250k for a 250meg ram drive back in 1987 isn't even an afterthought. It's a requirement. Now that it's dirt cheap to produce memory, it can finally trickle down in price enough to have become feasable for a civilian to afford one.
I know originally the early drives were used to hold map data for the HUD, which was basically just the data gained from our digital elevation modeling sattelites launched in the 80's. Given the advances in 3d modeling and sattelite map aquisition, I would guess whatever system they're using today probably contains terrabytes of map data.
I'm sure the old green vector graphic huds have been replaced with something a lot better to utilize the new data too. I'd suspect that in the actual control area there must be a LCD display, much like what you see on a modern 737.
It must be one helluva video game for them pilots
As others have pointed out, this 32 bit PCI card pretty much sucks. It outperforms, what, a single U160 drive on a 32 bit controller? By only a factor of two?!?
You could easily smash the performance with a little U160 RAID on a 64 bit pci controller, and perhaps even with a single drive, though seek time would hurt a bit. At least it'd cost you a hell of a lot less.
It's not battery backed either, which is pretty useless for anything this might need to do. Heck, without battery backup, it proabbly can't even survive a reboot to get that precious data back after a system crash!
This reeks of an EE or Embedded Systems course assignment. It's barely a real product.
Furthermore, RAM drives are really meant for servers. Such a server will most likely use a fast internal memory (like RAMBUS) and cheaper, slower & much larger SDRAM 100 for the RAM drive.
The Raven.
The Raven
I would buy extra ram instead of this rocketdrive. The bandwidth of my system ram is 2.1GB/s. This rocketdrive benchmarks at 78MB/s.
Liberty.
It seems that many people are wondering why anyone would invest in something like this, let alone multiple drives. One thing that this would be great for is working with high-res video, for animation, compositing and editing. A big problem for a very long time (and still even) was just playing back full resolution (720x486) video on a computer. For small things RAM can take care of it, for bigger things you need a scsi drive or a RAID. For higher resolution video like various HD resolutions, playback becomes difficult again. RAM doesn't cut it very well, because if you are working with HD animation or compositing it is probably full anyway. RAID Scsi or some sort of RAM disk like this are the only ways to reliably playback the sequences. It becomes a How much do you need? Anything I can get. sort of situation.
This Wiki Feeds You TV and Anime - vidwiki.org
I've had the pleasure of playing with RAM based storage devices at work. They're a lot of fun. The particular models we used were external, SCSI, memory based, with a battery backup and internal disk for long-term storage.
The nice thing is that they can drive as many reads/writes as you can get out of the SCSI channel. Seek time isn't a factor at all. We're talking disk performance through the roof here! There are also UltraSCSI and other types that'll go even faster. But the only real limitation is the link between the drive and the computer.
Still, the data rate doesn't approach what this PCI based solution has going. But what I use is a more 'enterprise' solution. You've got internal battery backup and disk backup. If the unit is off the mains, the battery kicks in. After 30 minutes, it stops all IO, dumps to disk, and shuts off. When power is restored, it loads back in from disk.
This PCI solution is way cheaper than the external drives that I've used. Just it doesn't appear to have the reliability... or the commodity standards that'll let it hook up to just about any type of system. Still, quite neat!
I remember back in my childhood (that would to early 80's) there was 2 similar devcies.
Some of the Tandy 1000 series has MS-DOS 3.3 placed in a ROM drive.
Shortly after that a company out in Californa test marketed a bootable ISA card that had Windows 3.1 and a small ramdrive. At the local Sears it was billed as being updatable to Windows 4.0 when it came out[Insert laughter here].
The device was unstable because it didn't use Flash memory. The RAM they did use ate power like you wouldn't believe. Thus the battery life was short and you would have to reinstall your personalized setting.
You say things that offend me and I can deal with it. Can you?
I would love to have a small version of this (only needs to be like 8-128 megs) to act as the journal for my hard drives.
This is persistent storage (as long as you have a UPS on the external power sonnection), and would be great to use for the journal of your filesystem, making it act like a fast write cache that was persistent. Would allow more write combining and such before being written out to the real hard drive.
As you mention, more RAM as a cache pretty much would make up for any other use of this I can think of.
Blessed are the pessimists, for they have made backups.
i would much rather put this in my car than a hdd that will go smashing over every detroit pothole, and if your from teh area youll know what im talking about. if teh price comes down to be reasonable, this will be a nice high vibration environment solution to disk storage.
I want 2D games back.
I mean, come on: the board with the interface and glue logic shouldn't cost more than $500-$1000 (and even that is really pushing it), while for the ram the manifacturer can use ram they already have that didn't pass testing and/or that is slower that what currently is sold these days.
Obviously it's not good if you buy a stick of RAM for your PC and 100K out of 256Meg don't work, but for an HD-like application, where you have a map of 'bad sectors', it's not a problem.
Heck, considering that nowadays 'bad' RAM chips are basically thrown away, I could see a 10gig model (external maybe, due to space constraints) going for half of what this 2gig model costs.
Spending $2000 on 2 gigs of ram seems really gouging of the early adopters.
-- the cake is a lie
Factor of two = times two. Two orders of mangitude = times about a hundred. At least you were within two orders of magnitude of being right!
What a fool believes, he sees, no wise man has the power to reason away.
While profiling a high-volume qmail server with fast mirrored drives, I noticed that I could get at least an order of magnitude sustained mail throughput by eliminating the fsync() system call, which essentially forces the disk subsystem to stop whatever else its doing and get a few specific blocks all the way onto disk. You can't run it in production this way, as the SMTP RFC specifies that the mail must be actually on disk before the server can claim that its done.
The problem is that magnetic-media drives can only seek a few hundred times per second. Regardless of their claimed sustained throughput, if you are writing a bunch of small files to disk, you are completely dependent on the seek time of the drive.
But mounting a magnetic-media-based ext3 with data=journal and the journal on an NVRAM block device would essentially use this as a trusted write-cache. Linux will return from the fsync() system call as soon as the data is in the journal, which could happen instantly on an NVRAM disk as there is no seek time. It then reads from the journal in its spare time, sorts it to minimize seeks, and writes the data out to disk.
I suspect that this should offer roughly the same speed as eliminating the fsync()s entirely.
I was looking into ordering a similar product to test this. I found:
Aaron
Buy a Xeon and use it's extended addressing, which will give you 64 GB of RAM. Or buy a genuine 64 bit hardware platform.
While the latter is generally pretty expensive (unless buying, say, UltraSPARC or Alpha systems second hand), there's plenty of commodity hardware out there to do Xeon systems at a reasonable price.
Any Xeon motherboard. Not all x86 OSes support the Xeon addressing model, and it's a segmented addressing system that still restricts you to 4 GB chunks per process.
The point is that with the drives that I have used (SCSI-U2W through fibre channel) is that they used good old fashioned interfaces which meant that they were plug compatible with older hardware.
I mean, with this type of technology i believe any geek would feel a **bit** insecure, for if the power supply to those rams goes out, you are doomed. I believe that the only benefits of this type of technology right no are UBER fast seek imes and R/W times. IBM is about 2 years away from producing a fully functional MRAM drive (i believe that they do have sa coulpe of prototypes now that work but their R/W times are absolutley horrendous) that will need no power to store data (once it is written that is). The other alternative would be to have some sort of internal RAID HDD with each platter (or side of the platter) accting as one independent unit, i believe ths may have been tried before, but there have been some problems with synchronisation? (anyone knows more about hat one?)
Live for the present, learn from the past, and dream of the future!
For a lot of the suggested uses, a (software) RAM drive would be about as good this thing.
About the only thing that this drive provides that makes it better than a software drive is the fact that it's got it's own power supply. This means that the data on the hardware ramdrive will survive a system crash/power cycle. Unfortunately, their prices don't (seem to) include a separate battery backup, so you should budget an extra couple hundred dollars for a UPS dedicated to the drive. I'd actually pay for that, even if I already have a UPS for my computer because -- if you're paying the extra hundreds (or thousands) for this box, you'd better be paying for the persistant data feature. If that's the case, the last thing you want to happen is for your data to be lost the first time you had a blackout long enough to outlast the UPS.
My expectation is that this machine doesn't eat much power.. In other words, even a small power supply should supply it for a day or more if it's not also powering a computer.
Now for the reasons why this card isn't too useful for most data:
- Programs: Why store programs on this drive? At that price, I'll just use a startup script that populates a software RAM drive whenever I boot up. Unless you have a program that absolutely must be running as fast as possible after boot, that extra wait isn't going to hurt most people.
- Cache data: especially with transient cached data, a software RAM drive gives you most of what you need.
- Temp Data: (e.g. scratch files for compilers, etc). Same as Cache data.
- read-mostly Databases: Once the data is first accessed, you're better off to pay for a few gigabytes of regular RAM and assign it to your database cache. If your database doesn't have a decent data caching algorithm then you'd better find yourself a better database.
-
read-write databases: This is one place where this works nicely -- between the fast access and data persistence across a reboot, it might be worthwhile -- but I'd reiterate the comment about putting the RAM drive on it's own UPS. Remember that if you have a hardware failure that requires a motherboard replacement, you won't be able to unplug the board's power cable until you've backed up the data. (heh, heh).
A well designed board would emulate a regular drive controller. That way, you'd be able to use it as a normal disk -- including being able to boot from it. As it is now, you'll need dedicated drivers for this thing -- including for Solaris and Linux. In other words, a lot of the most promising markets for this card are closedBTW:
And it's free (in both senses of the word)!
OS Software is like love: The best way to make it grow is to give it away.
I'm not trolling here, and I'm not saying "this is crap".
Can someone who knows say what this is really useful for.
As many have pointed out "it could be used for swap" is silly; more onboard ram would be faster and cheaper.
--see another niche for this, diskless laptop, has dual hot swap batts, auto shifting and sleep cycle if both get too low.
Also, the ram on the card and "in the way" down on the mobo is a valid complaint engineering-wise, a better design would have it fit in a regular drive bay, then just run it's own cable with pci edge to an available slot.
Another thought, take yet another drive bay and have an internal UPS that is dedicated to this drive (or your normal ram somehow). How much juice does it really take to keep ram turned on and not lose data? I honestly don't know, is it a huge amount? Would a regular normal size l-ion laptop bat keep it on for like days or hours or minutes or what? Seems like a nice thing to have for desktops anyway, again, have it reside in a drive bay.
If it's not invented will whomever snags the idea plz send me some cash? My "new" box is a 200.... thankew....
%^)
How's 200MB/s sound?
If you're willing to fork out the money, there's several manufacturers who have been puttng out genuine static ram drives for a while. They have microsecond access times, sizes up to 80-ish GB last I saw, IDE and SCSI interfaces, and can have sustained bandwidths limited only by the bus speed. They also consume less power, generate less heat, and don't fail as often because there's no moving parts. They solved the limited write cycle problem by having the drive logic remap blocks of data to spread the write wear around the drive.
FOr a bleeding edge example, check out E-DISK's soon-to-be-available Ultra320 drive (they're released other similar drives before, just not at this performance level):
Size: up to 155GB
Access time: 33-48 us (microsecond)
IOPS: 9500 - 50000 per second
Burst data rate: 320 MBps
Sustained data rate: 230 MBps
Full Erase (Security feature, press a button): around 26 seconds.
ECC error correction, MTBF around 2 million hours, 10 year data integrity.
Write life-cycle of in excess of 100 years at 100 GB of writes per day.
11*43+456^2
At Comdex, a long time ago (maybe as much as 10 years), I stopped by a booth that had this wonderful new technology - an external hard drive which was made entirely of RAM! Current hard drive quantities of RAM(don't remember the exact capacity, but it was significant.) And it was only $15,000 (comparable drive space at the time was one tenth the price.) Wow! (Ok, sarcasm off)
:)
I asked that man what would happen if the power was lost. He said that the box had a battery and a hard drive of the RAM capacity inside. If the power was lost, the battery would power it long enough to write all the data to the hard drive. I asked what the advantage was over a regular hard drive. He said access speed and no moving parts. Ok, great benefit, but it didn't seem the value was there for 10x the cost of a drive itself. Anyone remember this?
I started waiting years ago for someone to come up with a board where I could plug in all those 256k, 30 pin SIMMs that we took out of the Mac Plus' when we upgraded them to 4 MB of memory so I could use them for storage. Never happened (that I know). Now I'm waiting for the same thing for this ever mounting stack of 4, 8, 16 and even 32MB, 72 pin SIMMs.
Where is the real innovation? I mean, our favored OS here can run well on all this old hardware - 486 and the like, but where are the little trinkets for us cheap SOB's like me? I just want a 5 1/4 external case with a 25 pin D connector that will connect to my SCSI card. The board inside should have jillions of 72 pin SIMM sockets (in pairs is ok, multi-level board is ok) and a connector for an old ATAPI 2 or 3 Gig laptop drive. The case should have room for a little battery to do what that really expensive drive could do years ago to backup in case of a power failure. Hell, I'd even pay 50 bucks or so for it. Any takers?
I'm not an EE so I'm not up to making it myself, but someone out there would consider it a fun project...
You know, reuse, recycle, make the world a better place. I don't want to have to throw out all this memory or sell it for a quarter a stick. I guess I could use the dremel tool, drill little holes in them and make geek earrings, but I don't wanna have to do that either.
If anyone has any ideas, lemme know.
BTW, no need to call me a cheap SOB luddite, I already did that...
War is Peace. Freedom is Slavery. Ignorance is Strength. - George Orwell or George Bush?
That is the real gain of solid state drives. If you have say a database with lots of small writes then your speed is limited by seek time of drives of around 5ms. You can add more spindles to help in some situations. With SCSI solid state drives they max out at 8000 trans per second (usually) because of the scsi controller.
Oh please. Encoding of a serial stream has ZERO need for really fast I/O. All you need is a normal drive that has a high enough sustained transfer rate to handle the stream. Any normal hard drive is up to the task.
Think of applications that need to randomly access the drive. Think web servers, caching proxies, databases, etc. We had a custom app that needed to write to around 40,000 files simultainiously, and read from them randomly. The only feasable solution was a rather large RAM drive system. The one we used was external, had it's own hard drive for backing up the image, UPS, etc., hooked up to the normal SCSI bus, and cost around $12K for a 2G box (this was a number of years ago when RAM was much more expensive).
Nice thing was NO DRIVERS. It was a SCSI drive to the OS. You could boot off it if you wanted to.
Soliddata.com in case you are wondering.
Some RAID controllers have this - they use NVRAM. It basically caches all the writes. When the power comes back, it continues the pending writes. Hence, no lost data due to the power dying in the middle of a write. Nice for transactional databases, as writes "commit" instantly.
This is potentially interesting, but there are several problems:
1. The pricing model sucks. The entry price of $399 is too high for a card with one chip and four DIMM sockets. And that only supports 512MB. To go to 1GB, 2GB or 4GB you have to pay hundreds of dollars more - even though the only change is a BIOS setting.
2. The RAM pricing is absurd. These guys need a reality check, pronto.
3. The board takes standard PC133 NON-PARITY RAM. No way in Hell would I trust my data to something like that. Honestly, this is just plain stupid. The board is too expensive for the home market and no-one sane is going to put non-ECC memory in a server.
[As a side point: Even using standard DIMMs, you could do some sort of block-ECC at the driver level (or in the controller chip) and use the fourth DIMM as a parity device to recover from on failures, like RAID-3. Alternately, you could treat each DIMM as a 48-bit device and use the remainder for ECC and Chipkill. There's nothing on Cenatek's site to suggest they do anything like this, though.]
There's a few other things that annoy me: the lack of specifications (while they have a list of approved memory modules, they point-blank refuse to provide the required memory specs on their support forum). Also, the board appears to require four identical DIMMs, which is a royal pain in the bum. Expandability? What's that? Low entry cost? Don't got one of those either.
So this board appears to be worthless for its target market and overpriced for anything else.
One-word review: Sucks.
Score: 3/10.
Memory is absurdly cheap, and a properly thought out board (even one that implements the ECC in software) at the right price has a market waiting. I know a lot of people doing embedded Telco apps would love something like this. This card isn't it.
The Platypus card is also over-priced, but it does support (indeed, requires) ECC, and also goes up to 8GB.
Performance gains of "almost a factor of two?"
Does anyone else read that as an endorsement of the usefulness of buffering and other performance technologies applied to disk drives?
I'd imagine that applications in ruggedized systems or devices that need to be exposed to significant acceleration or zero gravity will be more important than the speed increases, but, I'm quite surprised that a 15krpm SCSI drive comes this close to a RAM device.
One other benchmark that would be useful, would be to compare the speed to the normal RAM in a given system. Is it a net gain to have your RAM on an expansion card? Or would a RAM drive on the regular memory space be better? Is this more or less expensive than system RAM?
-fb Everything not expressly forbidden is now mandatory.
Assuming that a RAM drive uses memory that is slower and less expensive than high end PC3200, but still much faster than a magnetic disk, perhaps main memory could start shrinking and accelerating, acting more cache-like.
If you need 6gig you're presumably not using an Intel architecture anyway (possibly itanic but that can take loads of ram on its motherboards anyway).
The max an intel can address is 4gig, and the practical limit is around 3gig. Any more and you're into segmented addressing hacks again, which just aren't worth it.
How hard would it be to make a REALLY CHEAP commodity ram board. Something with about 20 slots that you can fill with your old pc66 ram or with el-cheapo 512m sdram chips with crummy specs.
On pricewatch they are $28/each. 4g = $224 = 8 slots
Or maybe it could take half-broken or really sub-spec chips with errors that can be mapped out or software ecc'd. A bogus 512mb chip with 1 chip
bad might be $10, but have 450m usable.
Don't even bother with power backup in the design, market it to gamers.
Possibly, you could integrate it with a disk controller and just have a lot of cache. The disk would just get faster the longer the system was up. Maybe you could tune things to pre-cache certain files or say that a certain parition was always read entirely into ram (like the / partition or c:\windoze) Or put the swap parition entirely on it and don't worry about losing it.
Also, it would also be cool to have a cdrom drive with 700mb of cache that starts reading the disc sequentially the moment it is installed in the drive.
But the key here is commodity. $795 for an unpopulated 4g board seems high.
I don't know why a hobbyist website is reviewing this unit - the target market is not for hard-core gamerz or other home user types. Solid state disks are primarily used as database accelerators. Although the throughput of a solid state disk like this can be easily beat by a reasonably small raid, it takes a much larger raid to beat the io/s rate. If you have indices that don't fit in ram, you stick them on the solid-state disk and watch your database speed up by an order of magnitude.
Alternatively, as at least one other poster has already mentioned - if you use a journalling filesystem like ext3 or rieserfs, then putting the journal on a seperate solid-state disk is a huge performance gain.
When information is power, privacy is freedom.
SSD - solid state drives are quite old. The problem has always been cost. 3 thousand bucks for a coupla Gig is astonishingly expensive. You'd better have some amazing requirements like Dynamic DNS zone file transfers on the order of 30-50MB/sec. Or something equally high end.
But if you are investing this much money into a RAM drive, you should just buy enough RAM so that you don't need a swap file at all.
It doesn't matter how much RAM you have. Fact: Windows uses RAM as cache and harddisk as memory. Windows will still swap like crazy after it uses up all the free RAM for disk cache. Don't believe me? Open a few web pages and keep their windows in the background for 30 minutes. This will guarantee that they will be first in line to be paged out with the following operation: Copy about 4 GB of files, like as would occur when you burn a DVD-R. Windows will immediately page out your background windows to make room for the file cache. Try bringing those background windows to the front now and watch the system hang for a few seconds while it pulls them out of the page file. And if you happen to be doing I/O and/or have a high CPU load going on at the same time as you try to bring those pages to the foreground, the wait may be quite a while... After the windows have been pulled out of the swap, switching between them is quick until you leave them in the background again and do more large file operations.
Very dumb but that's the way MS has designed this braindead VM system. And it has frustrated me to no end. On Windows 9x/ME, the problem could be easily fixed by adding MinFileCache/MaxFileCache settings to the system.ini file. NT-2000-XP, forget it. There is no fix that I know of. I've been searching for years for a solution to this. I've tried every cache adjustment program and the registry tweak to keep the kernal from paging (which doesn't work). My latest attempt to fix the problem involved using O&O's Clevercache, which had no effect. I now have some more memory on order to up my box from 640 MB to 1GB (the max I can stuff in, it's an old Abit BX6 Rev2). I plan to use about 666 MB for a RAM disk and put the swap file on it. Even though my application load is usually around 400 MB, which will cause immediate paging with only 333 MB available for the system RAM, I expect to see a huge performance boost over my current setup of 640 MB system RAM. Since Windows insists on running programs out of the swap file no matter how much RAM one has, this should finally fix the problem, albeit in a very kludgy way.
This usenet thread is somewhat dated though quite applicable: Why do I need a swap file with 128mb of ram
The reason why most people say adding more RAM fixes the problem is because most people aren't doing enough I/O to make the problem evident. Anyone who does AV editing and trys to surf at the same time (like me) will attest to the issue.
I used to work at Microsoft, and spent three years in the drivers & kernel group for Win98 and then Win2k. It was a running joke that every year Intel would give us a presentation showing a graph of the price/performance of flash vs. hard drives. The curves would cross in something like four years from the date of the presentation. Of course, evey year, the axes changed, but the graph (and hence the time until convergence) never did...
This posting is provided "AS IS" with no warranties, and confers no rights.
The article benchmarks are for _bandwidth_, which is irrelevant. Mechanical disks get good bandwidth already (The RAM drive only gets 2x as much). What matters is _latency_; disk latency is about 1,000x as great as RAM latency.
Some applications are latency-intensive, for example, OLTP and other database applications. Databases don't care about bandwidth; they care about latency. And just "adding more memory" will NOT work because database transactions do not complete until a record is written to NON-VOLATILE storage. (Losing committed transactions after a power failure is unacceptable).
At present, all the big database boxes have like 500+ drives. Why? They don't have nearly that much data. The reason is because lots of disks working in parallel mitigate the terrible seek times of mechanical drives. Lots of read/write heads seeking in PARALLEL, each over a small portion of data, leads to much better seek times. However, a SINGLE RAM drive would provide FAR better seek times than all those mechanical units working in parallel.
At present, companies spend millions of dollars on huge drive arrays, not because they need more space, but because they want to mitigate terrible seek times. A RAM drive is faster and cheaper than this.
The only reason _this_ ram drive would not work is because it is not really "non-volatile". With a database, the data _cannot_ be lost. An internal "battery backup" is not sufficient. (How long will the battery last? Can you really be guaranteed that all the data can be copied to disk? etc).
A RAM drive that had truly non-volatile RAM and that was in the 20GB range would sell to owners of large databases, even if the drives were very expensive. The technology probably exists to do this now.
It was called a BattDisk, from DKB (Dean K. Brown) and was on a Zorro II card for an Amiga. It held a total of 2 Mb and could be booted from -- making a blazing fast boot for the machine.
Learning HOW to think is more important than learning WHAT to think.
There's only one drawback... these beasties will have some serious copyright protection technologies built right into the hardware. No fun.
File under 'M' for 'Manic ranting'
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
This has been done many times before, from consumer products (Commodore Amiga 600/1200 in the early 90's supported proto-PCMCIA flash memory cards) right up to Cray Research (the Cray 2, targeted for the CFD market, had optional "normal" speed memory add-ons which could be addressed like filesystems called "SSD")
Actually, memory has a much slower latency then that. In fact, the latency hasn't changed much from the early 90's when we were all using 8 bit SIMMs. What has changed is that we now stream consecutive words of memory out at very high speeds. So while a 400MHz DDR memory module may be able to send a word every 2.5 uS, it still takes ~ 40 uS for that first word to arrive. And only consecutive words can take advantage of that bandwith.
And you also forgot to mention that all this data still has to go through the HD controller. Doing so greatly reduces the speed benefit gained from using memory.
The thing I really do like about this setup is that it would be perfectly quiet.
I don't know about you but I'm planning to go Hammer. I suspect that some of the 8-way hammer motherboards will support at least that much memory. I doubt the workstation (1-2 CPU) chip will end up on boards supporting more than 8GB or so, but 1GB should be enough for me. 512MB hasn't quite been enough.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I don't get it.. let's assume, in the name of generosity, that U160 actually pushes 160mb constantly. Then the rocket drive pushes 320mb constantly. Now we've got PC3200 ddr ram that can theoretically push 3.2 gigs per second, while this rocket drive only does a tenth of that.
What's the damn point ? It has to go through some sort of slow-ass bus anyways.. it's not like it has precisely timed local access to the northbridge, like traditional ram.
It would be better for motherboard (and chipset) makers to accomodate buckets of ram sticks, so we can allocate a real RAM disk using 8 or 16 sticks of 512mb/1gb ddr.
-Billco, Fnarg.com
Using this and a peltier cooler with a really good (big) heat sink, and an overdesigned power supply, you could build a PC with no moving parts whatsoever. Then all you need to do is hook it up to a flat panel display, and you've got a silent, low-emissions computer with VERY fast access to frequently use files. The perfect thing to put on the nightstand.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Would YOU want to trust this thing to save your important data? After looking at the specifications, I saw two BIG problems with it right away:
1) It needs a separate "wall wart" power supply to be plugged into the card to keep the data stored on the drive when the computer is off. So, what happens when the power goes out? Or, the power supply fails? Or, (most likely), some moron accidently unplugs it? That's right, total data loss. For the price they are charging for this thing, it should come with some sort of an Uninteruptible Power Supply built INTO the unit.
2) The card uses standard PC133 memory, which is less reliable memory type than the ECC memory that is supposed to be used in servers. An application like this practically DEMANDS ECC memory, to make sure that single-bit errors aren't slowly corrupting your data.
Sadly, this thing isn't any better than a glorified RAM disk. I wouldn't store anything more important than a swap file on it.
LOL. . .or for really big systems:
1) Tape
2) Compressed RAID5
3) RAID5
4) RAID10
5) RAID0
6) Ramdrive/buffer cache
7) RAM
8) L3 off-die cache
9) L2 on-die
10) L1 on-die
11) CPU registers
Slowest to fastest; cheapest to most expansive.
Nope, it's not of the future. The HDD future belongs to something else: platter-level RAID systems.
I'm sorry to be blunt, but that is incorrect. If you are interested in the future of storage, follow StorageReview.com's forums. Every other week or so when someone comes into the forums complaining that nobody makes such a drive, or comes up with this "great new idea!!", they are usually referred to the website of Tannin, one of the more knowledgeable members, who keeps track of this sort of thing. Here is that website: Odd drives
I don't mean to be rude, but you made your statement about interdrive RAID authoritatively, as if you knew this for a fact, which you do not, because it is wrong. Further, you are incorrect about the reasons for not implementing such a system. The real reasons are:
1) Too expensive. It simply costs more to make. It requires a small processor to split and recombine data, it requires extra testing, it requires extra validation, more complex firmware, and is less reliable.
2) Time to market. See 1
3) There is absolutely no point. As the website linked states, you can achieve the same results with two ordinary hard drives in RAID. If you are going to spend extra on such a drive, you mas as well get better reliability/performance/capacity by just using the tried and true method of more than one drive.
To further compound the incorrectness of the statement, the primary advantage of RAM and Flash-ROM based drives--the reason they are so good, is their access time. The world's fastest hard drive, the Seagate Cheetah 15k.3, access data in milliseconds. Even poor quality RAM can access in microseconds or nanoseconds.
One company used as a "case study" by Platypus, a company making solid state disk drives, was able to replace their mail server drives with platypus drives and REDUCE the number of servers (which had RAID) rather than increase the number. Mail servers do not give a damn about sustained transfer rate (STR), but they certainly do care about access times, especially when dealing with tons of small files like Maildir-bases systems use.
Again, I don't mean to be an asshole. I have certainly been dead wrong my fair share of times, but I am usually rather bluntly corrected. Make a mental note and drive on.
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
This is actually possible to do in linux 2.4. Believe me, I am an expert on this kind of thing, as my situation is similar -- the Intel pentium chipsets only cache the lower 64MB of RAM, so on systems with more RAM you would like to tell linux to use the lower RAM preferentially.
The secret is the slram.o module in the MTD section of the linux kernel. See here for the full scoop. This module doesn't solve everything; in particular, linux doesn't disk cache as effectively when slow ram is in use. You'll just have to see for yourself whether it's worth it or not.
The Rocket Drive itself looks wonderfully impressive... thought the price may be a bit extreme. I noted two things from this article, however:
:)
1)The Rocket Drive only attaches through a regular 32-bit/33mhz PCI slot. You would expect at least a 64-bit/33mhz card... if not faster than that. The drive itself may not be able to transfer faster than 100 MB/s, but you must also consider the other devices attached through that PCI bus. This device can easily hog nearly all the bandwidth available. Not exactly an ideal situation.
2)The drive that is compared against the Rocket Drive is claimed to be a Ultra160 15,000rpm drive. This would not be a bad choice for comparison, since it is the fastest single type of drive available... and the Rocket Drives direct competition. However, how many 15,000rpm drives have you seen that average out with a 13.1ms latency, and cannot achieve an average throughput higher than 38 Mb/s? None that I know of. I happen to own a 36gig U160 10,000rpm Cheatah. My Cheatah, using the same synthetic benchmarks, can pull under 6 ms latency with an average throughput of 49 Mb/s.
No, I'm not trying to tout my drive's speed. I'm simply pointing out that the implementation of this device is a little strange for a device designed for extreme workstations and mid-range servers. And that the benchmark numbers of the comparison drive are at best waaaay skewed. They simply cannot be correct. A 15k rpm drive IS MUCH FASTER THAN THAT!
That being said... who wouldn't like a 4 gig ram-drive?!
/dev/random
Solid State Drive have a place in high end computers primarily and not for computers used by comsumers. SSD technology has many advantages over mechanical drives, unfortunately price isn't yet one of them. When the technology becomes cheap and is sensible enough for standard PCs then you'll see the technology readily available for most consumers. As many people here have already pointed out, todays PC can't really integrate SSDs without slowing data throughput and that would really defeat the primary advantage of these devices. I found a good link to a SSD manufacturer that explains this all very well: http://www.sparcproductdirectory.com/curtisart.htm
"You helped our nation celebrate its bicentennial in 17 -- 1976." --George W. Bush, to Queen Elizabeth, Wash
The only real point of a device like this is to provide ram-based harddrive emulation to those sucky OS's that for whatever reason don't support this basic feature.
I often run items such as my database or proxy server on a ram disk to improve speed and lower wear and tear on my drives. If you have a UPS that sends a signal when you're about to lose power then write a script that will dump your ram disk to real disk when power is going down. Obviously you also run it on normal shutdowns and if you care much for your data on a cronjob. Then just add a startup script that'll dump that data back into the ram disk. No sweat. Same functionality, faster, and much cheaper than this drive.
With this ram disk I can just imagine what happens to your data if your coworker accidently pulls the power cord free while messing with wires.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
To be more specific, you can't go beyond 2-3GB per process using intel, at least, directly. (You could access more indirectly, just not as actual memory.)
The reason is that the kernel needs memory too. Say you try to load some data from disk. You call the read() system call, which switches to the kernel execution context. The kernel then checks to see if the data you're trying to read is available in the disk cache. If it is, it copies. If it's not, it schedules a load, puts your process to sleep, and when the load finishes, it copies.
So, basically, either way, the kernel needs to be copying data from the disk cache to your program's memory space. This means, it needs to see both at once!
The standard way this works is, all physical memory (which might be used as cache) is mapped into the kernel, normally limited to the high 1GB. The user process gets the low 1GB. So, when you switch to kernel mode, the kernel has all memory, physical and program-virtual, available to it.
Now, some people have more than 1GB ram. The easiest thing for these people to do is use a 2/2 split, if they only have 2GB. This means the process can't use more than 2GB at once, but usually that's ok because most programs don't need that, really. A 1/3 split is also possible.
However, obviously no straight split scheme like this is going to work if you install 4GB of ram! Instead, the kernel is going to have to play some trickery with the page tables and segment registers to get access to this extra memory. This way, it can support more than 1GB, up to 64. The user process of course is still limited to 3.
The problem here, of course, is that doing tricks to get access to your memory in the kernel is obviously going to be slow. So, a kernel that actually tries to use more than about 1 (or maybe 2) GB of ram will be slower than a kernel which does not, and this is unavoidable. Now, this may be just fine, because that extra ram can be used for disk cache - and if your program uses a stupendous amount of disk space, even if the kernel is slower, the huge disk cache will still be a big help for you.
But to make a long story short, >1 (or at most, 2) GB of ram will actually make your computer slower, unless you actually do something which uses all of that ram.
None of this would be true, of course, on a 64-bit machine.
If I'm reading this correctly, then you're saying that the high end of RAM is slow because OS memory managment uses 32 bit integers for addressing. Wouldn't using 64bit integers(internal to the kernel, user processes still get normal 32 bit pointers) for addressing solve that problem? You take a performance hit on 32 bit systems, but it's probably not huge, and you can take advantage of 64 bit processors instantly.
Maybe. Most motherboards have three DDR sockets, but if you use unbuffered (inexpensive) IMMs with chips on both sides, most motherboards will only work with one or two of those DIMMs. Generally, you need buffered/registered DIMMs if you are going to use several.
Over at pricewatch.com today, 1 GB DDR DIMMS are listed between $324 to $480, depending on the speed and vendor. 512 meg DDR DIMMs seem to be in the $120 to $160 range, but those are not buffered/registered... so it's very unlikely you could get four of them to work on a normal motherboard.
Hell, for the price of the Ramdrive I could get a motherboard that supported 64GB and fill a moderate chunk of it.
Again, you'd be looking at an expensive server motherboard, and it would likely require the very expensive registered/buffered DIMMs.
That thing has lower speed and greater access time than main memory and costs more, so just using RAM as disk cache would appear to be more useful under the majority of circumstances.
This might be true, if you could inexpensively add that much memory, and deal with the volatility.
A few times I've considered adding a solid state disk project to PJRC.COM.... it's likely have 16 DIMMs sockets at about half the price of this gadget (they used a big xilinx FPGA... same basic idea).
Unbuffered 512 meg SDRAM (not DDR) DIMMs are selling at about $30 each these days... maybe the value in having an extreemly fast non-volatile 8 gigabyte disk at $830 would be better??
PJRC: Electronic Projects, 8051 Microcontroller Tools
I agree that the pricing structure is silly. It should be one price for the board, and either add your own RAM or let them sell you RAM with a small markup.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
There are several different versions of encrypted disk partitions and encrypted file systems that need you to enter the password to mount them, and which read/write all data to/from the disk in encrypted form. That way, if you power the system down, they're not readable until somebody types in the password. I'm not aware of any that have duress passwords built in (which scribbles the partition if you use it instead of the correct password) or cover-material passwords (which give the Feds some innocent cover material if they use it, e.g. the "backup" copy of
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
These products have been around for a while for journaling space for DBMSs, and the Legato Prestoserve board which was an NFS accelerator. NFS had the similar problem that the protocol requires you to write stuff to stable storage before ACKing a request, and a meg or so of battery-backed RAM was enough to cache a couple of disk tracks, making the whole system much faster.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Dude - it's not there just to give your machine more RAM, it's there to be much much faster than your disk drive. The speedup isn't because it can push data a bit faster than SCSI can - it's because real disk drives have ~8ms seek times and ~8ms rotational delays, so the number of separate items of data you can write to your disk are limited by how fast the disk spins around and the heads slide back and forth, not by how fast it can pump data once it's in the right place. It *would* be nice if the motherboard could handle more memory, but for this application, large quantities of cheap memory are just fine, and you can save your northbridge and AGP port for stuff that needs to be fast.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
This gives you your bits right now, and they were just marvellous as journalling accelerators for databases or NFS filesystems.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
It might be possible to build a device like this that's more cost-effective than system RAM, though this one isn't priced that way. You're trading the cost of a board for the ability to use cheapo PC100 or PC133 memory instead of PC2100DDR or whatever the latest and most expensive stuff is, and if you're careful, you can design it so it's not subject to the same memory limitations that the motherboard is, though that may be difficult with a 32-bit PCI bus. It'd be faster if it ran off the AGP bus instead of PCI, but that limits the applications to servers with slow or no video adapters, while PCI is probably good enough for most users who may want this to accelerate their graphics applications as well.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
You heard it here first.
Actually, I did a senior paper on it......in 1981.
If you aren't part of the solution, there is good money to be made prolonging the problem