Why Not Solid State Hard Drives?
waterlogged asks: "I was just wondering if anybody has heard of a cheap ram based network drive? Seems to me with the ram prices being at about US. $12.00 for 128 megs that someone hasn't developed a battery backup version of this to plug into a network or even a bus. A gig worth of 8ns seek time storage for $120 anyone? That would just about eliminate any wait in loading programs."
BigSlowTarget asks: "There are some previous articles on Slashdot about vendors selling solid state drives, but they all seem to be quite expensive - particularly given the slide in the cost of memory. Has anyone hacked together a solid state drive to take advantage of $60/GB memory prices? I'd really like to be able to boot and run at solid state speed without spending thousands."
Jah-Wren Ryel asks: "In case you haven't noticed, RAM is incredibly cheap, you can put a gigabyte of PC133 RAM into your machine for less than $60. A year ago, that would have cost more like $600. So now it is feasible for one to have a 10-15GB RAM disk, except for one thing - most motherboards won't support more than 2GB total (4 dimm slots x 512MB per dimm). It seems like it wouldn't be too hard to design a PCI card to hold 20-30 dimms and make that available through a hardware windowing scheme (like EMS/EMM back in the old 16-bit days). With the right drivers it could be used as a big RAM disk or for buffercache. Is there such a product out there? The closest I have seen are solid-state disks that sit on the other end of a scsi bus, are too expensive, and aren't anywhere near as fast as a PCI implementation could be."
So what technical details (and the issues of volatile data and price) may be preventing the construction of RAM based drives, and is there anything else that may be preventing some entrepreneurial soul from bringing such a thing to market?
You would still need a stable flow of juice to keep from losing everything in case of a blackout or something. I'll stick to the platters for now.
icksnay on hacking my boxsnay.
I've been saying this for years. Eventually, we need to scrap the spinning platters. Unless I have a butt-load of MP3's and other things I don't really need, I can easily fit most of my stuff into 4GB or less.
(heh. oops.)
Cenatek seems to be on a good track with these. They offer a PCI card with a handful of DIMM slots, a slap on rechargable battery panel, which holds enough power to run a connected hard drive of appropriate size which will dump the contents of what is essentially a RAM disk, in the event of a shutdown or power loss. A little spendy still, for consumer use, but to see something like this backend busy websites, or store database file structures would be pretty slick.
- billn
RAM drives are a great idea, the problem is the IDE or SCSI bus. Seek times and retriveal times can be greatly reduced, but the total bandwidth is still a limitation.
Seagate had developed years ago a standard called IPI, I think. It was for the 30 and 40 megabyte RAM drives that had developed. I know it never took off, but it was specificlly for static RAM drives.
What would be really cool, would be RAM storage with an Infiniband interface. Its possible to use it for storage or for regular memory.
Huh? Unless I'm completely out to lunch, I don't see this....
Is my math wrong, or is Cliffs?
Cenatek may make exactly what you're looking for. It's a PCI card, and uses standard SDRAM sticks.
From their site:
The Rocket Drive stores data in memory modules (standard dynamic random access memory, or DRAM) rather than on magnetic media.
L337 script kiddies would no longer have to worry about their Hard Drives telling the tale of all of their l337 ownz3r!ngs. As soon as the feds show up yank the plug.
This would also work for War3z fiends. *again, yanks plug* "What do you mean piracy, I don't even have an OS on there."
Seriously, I think it would only be useful if you could couple it with a RAID-like (I know it wouldn't be true RAID) system so if the power for whatever reason (Power outage, UPS goes bad, battery dies) you info wuold still be there, maybe a RAM-drive that does nightly/hourly back ups...
Note to self: No more arguing with the faithful.
We had a Megastore (core memory!) on a PDP11/45 (which was used as the swapping drive, hence upping the category to 11/50, IIRC) back in the 70's. My Nikon Coolpix uses flashram as a formatted dist, something I'm certain other's have noticed. Flashram is able to store and retain with the power off, but doesn't appear to transfer very fast. Using SDRAM would be fast, but only so long as: A) you have a constant source of current B) you don't test/clear on rebooting the CPU. Certainly old ideas, but as long as you can set up a big ramdisk in your OS and put your large temp/workfiles there, do it.
A feeling of having made the same mistake before: Deja Foobar
RAM is now cheaper when it comes to memory-per-unitofcurrency than hard drives.
According to pricewatch, a 40 gig hard drive is $78. Let's say $120 for a good one. That makes RAM 20 times more expensive, at $60/gig.
It's still really cheap, but let's not get crazy. :)
Sometimes it's best to just let stupid people be stupid.
Can't comment for other OS, but Linux tends to be pretty good at using all the RAM you've got to cache disk data. Even though I rarely use more than 256 MB, upgrading to 768 MB made a significant performance improvement for me, as Linux quickly fill the remaining 512 MB with disk cache, without me bothering with setting up a ramdrive.
Opus: the Swiss army knife of audio codec
The problem of how to maintain power to all that RAM indefinately is still pretty tricky, but how about this idea. Why not put enough SDRAM on your hard drive to buffer the whole thing? Whenever you read anything off the platters, hold it in RAM, and whenever anything is written, page it back to disk as usual. Thus as you use your system, the speed will continue to improve (up to a point) without tying up system RAM.
Imagine the size/number of boards that would be needed to get 80 GB of storage. It may be quicker but engineering something that is feasible would quickly drive the cost up so that it wouldn't be that cheap. Further, the cost to modify existing controller technology or making a RAM drive fit the current controllers available. Then there's all kinds of other technical issues like power.
Of course we torture people, we need the information --Gen. Pinochet
Your CMOS is something different, actually. Most computers use "DRAM", which needs to be "refreshed" often, or it'll "lose it's charge"... ROMish stuff is SRAM, which doesn't need the stupid refreshes... But it's more expensive, so a a couple gigs of SRAM is sorta out of the question. :(
________________________________________________
suwain_2
I think that you might need a RAID (or RAIM- M == memory :) for RAM in case one of those dimms decides to die on you. Buggered up platters can be rescued in some cases, but if RAM dies, there's no recovery.
/*drunk.. fix later*/
Argh. Forgot to preview. Here's the guys you mean: http://www.soliddata.com/
Any sufficiently well-organized community is indistinguishable from Government.
i have been very pleased with my sandisk flashdrives. basically they are IDE-interface drives with flash memory instead of spinning platters. 0 ms seek time is nice, so is -silent- and -very very low power- storage. not to mention if you don't have to treat it like an egg.
i've used both the flashdrive from sandisk, and the IDE flash drives from simpletech.
the sandisk flashdrives have sizes from very small (4 MB) to big enough for your MP3s (2 GB). of course they get expensive at the high end :) best things about them are (1) can get them semi-cheap from ebay and (2) standard IDE interface.
-samThe REAL sam_at_caveman_dot_org is user ID 13833.
CMOS only consumes power on state changes. DRAM needs to be refreshed every few ms. Thus, the battery power required for DRAM would be much greater than that used to hold you CMOS settings in BIOS.
Given the plummeting price of high density/small footprint hard drives, you could have both the volatile drive and the nonvolatile drive in a single low price unit, with backup to/recovery from the nonvolatile drive occuring automatically on startup and shutdown.
It needs to be more often than startup/shutdown! Many of us don't shutdown for weeks at a time. You would want it to continually copy things to the disk when there is idle time. But then you're essentially using the RAM as a really big disk cache which is where we are already today.
As I read the article, the whole point is to shift to RAM and save money at the same time. If you're buying the hard disk anyhow then you're shifting to RAM but not saving any money. And you may not be improving performance much over a massive RAM cache either. So I find it hard to be enthusiastic about this idea of backing up the RAM to hard disk.
I'll be damned if I can find anything at ATTO's website, but they used to make the SiliconDisk II, essentially a SCSI hard drive made completely of DRAM (yes, it has power outage protection).
The slashdot crew over the past few days/weeks have been extremely out to lunch, has anyone else noticed this?
/. or Salon.
/. gets over 200 story submissions per day, and yet the average number of story postings has gone way down, now to about 10/day. What's going on here?
Example 1:
but RAM is now cheaper when it comes to memory-per-unitofcurrency than hard drives -- cliff
RAM is 30-40x more expensive than HDs, I don't know WHAT he was smoking when he thought that...
Example 2:
I suspect a fair number of people never try Linux or one of the BSDs because they're moderately happy with AOL as an ISP -- timothy
how many people do you know who would be running Linux if it wasn't for the fact that they were using AOL? (Let me rephrase, how many tech savvy people are using AOL (that aren't forced to)?)
And the anti-Microsoft hysteria has been especially harsh over the past few days. That article about File Extensions And Molopolies was so pathetic it didn't even qualify as satire. It should never have seen the light of day on either
And
If God gave us curiosity
There are two ways you can do this.
Way 1 -- Use a PCI card with 4GB of RAM on it as primary storage. At the end of the day, or week, or whatever, copy all of the data to more "permanent" storage. Like hard disks. This way a power loss (or battery failure) isn't too much of a nightmare.
The drawbacks are that you need special hardware and you could lose days of work.
Way 2 -- Cram your machine with as much RAM as possible. Which probably means 4GB. Configure your OS so that it uses about 95% of RAM as a buffer-cache.
Data will be loaded from disk initially on demand (which means slow startup) but will almost always stay memory resident thereafter. The OS will also commit dirty pages back to disk from time to time ensuring that you don't lose anything important.
This may be less doable with systems that insist on synchronous writes during file operations, but you can often disable these things if you want to take the risk.
The benefit of this approach is that you don't need special hardware and you're less likely to lose data than Way 1. Which basically means you can and have been experiencing this now.
If your system grinds disk consistently after several hours of use, it's a good indication that you should get more RAM considering how cheap it is.
If you're updating the platters in the background, then you're using the memory as a write-behind cache.
Now explain to me how this is different from using main memory as a VM cache in unix?
Ben "You have your mind on computers, it seems."
SSD's have been around for quite some time. Compaq had several commercial offerings based on Quantum's SSD. There are also several no-name companies that manufacture solid state drives (Memtech being just one: http://www.memtech.com/Prodinfo.htm).
We actually got our Alpha vendor to let us try an SSD for 30 days. The drive was fast, but we found that we quickly saturated the controller (something a couple U160 drives can easily do). In that regard, it wasn't that fast at all.
And, as has been said in other posts, it's not really economically fesible. We tested a 3.2GB SSD last Christmas that cost $25,000. For that application, we thought it was a good fit. But if you're concerned about capacity, we just bought some 180GB drives for our SAN for about $5,000.00 each.
While the RAM and disk capacity available now is amazing, I don't think we'll ever see the dollar/cost ratio for RAM beat the dollar/cost ratio for disks.
In 1994, which I had a 486/DX2 66 (which came with 4MB Ram), I bought 16MB of RAM for $560.00. Quake was 15MB, so I could load it into a ram drive and play from there. Guess what? It wasn't noticably faster than my IDE hard drive, but Windows screamed. =)
"All I ever wanted was to see Larry Wall give Bill Gates a Perl necklace."
http://www.eisenschmidt.org/jweisen
You see solid-state disk drives used mainly in relational database management systems as a 'scratch pad' for highly-volatile data.
:D
In order to explain I'll have to do a quick primer on RDBMS' and how they handle memory management.
As you're probably aware, there are a multitude of different operations you can perform on a RDBMS; UPDATE, DELETE, SELECT, etc.
For more efficient queries the RDBMS will cache physical data structures in memory. It may cache parts of the index or recently accessed data. If the cache is full it will kick out the oldest, least used parts to make some room for the new stuff.
To make a long story short, most servers have way more disk space than RAM. As such, it will use a designated 'temp' or scratch area for some of those sorts (and temporary tables) if there are more important things in RAM or it cannot all fit. In Sybase / MS SQL you create a special database for this called 'tempDB'. I'm sure DB2 / Oracle have similar data structures.
Here is where solid-state disks enter the picture. You can buy a small solid-state disk (9GB or less) for cheap. You then 'create' tempDB on the solid state device. That way you can completely eliminate the relatively slow disk drive for things like sorting, temp tables, etc. and devote all of your RAM to caching database information.
To me, this seems a lot better than using solid-state devices exclusively as a storage medium. Initially when you start up your RDBMS the cache is clean. After people run a couple queries the important (and most hit) indexes and data are cached any way so you do not have to worry about touching the disk unless you perform a write. However in most OLTP (online transaction processing; a la web app) it's mostly selects so you wouldn't receive the benefit of the solid-state device unless it wasn't in the cache.
Most SSDD have a battery-backup in them in case of power failure and are generally mated to a corresponding hard drive. When the SSDD is idle it will flush the writes to the HD to keep the HD up-to-date. On a power failure it will immediately dump changed data to the HD (also battery-powered).
For 'home' systems I can't imagine anyone using SSDD as their primary storage. It doesn't make sense - rarely does anyone perform anything that 'demanding' as to require solid-state drives. Plus, if you have a single memory error you would lose the entire thing (break one of your DIMMs and tell me what happens when you try and boot.)
Thanks,
--
Matt
With this trend to continue, OSs should be redesigned. The hard disk has the advantage of keeping the data with no power, but the ram has speed. New pcs could have 3GB of ram and a 40GB ide HD for storage. When the pc boots it would copy the data into its ram and then execute all programs from ram, sure this would take a long boot but with new os to be stable this should not be a problem.
We would have to do some serius os and user interface redesign. If the pc is used for video editing the samples could be kept in memory this would speed thing up a bit, but you would have to save the data to the HD eventualy.
Another great application for this would be chase servers, imagin a organization that does video editing and all the clients have gigabit ethernet, implement servers that have 1TB of ram before the data storage server at night they could sync the data.
Seriusly, we have to think about this, our current view on pc is that ram is way more that hd storage. Diskless clients could make a come back...
hmm... for fun I enjoy launching DDoS attacks against 127.87.42.5
As such, they are fairly old technology, and most of the problems have been ironed out. The problem with power can be solved in a number of ways, for example. You can have battery-backed RAM, or you can have the "RAM" non-volatile by using a design that does not decay rapidly with time. (Flash RAM works this way.)
Another problem has been the capacity of a solid-state hard-drive. This, as has been mentioned, has largely been overcome. I =STILL= believe that wafer-scale chips are the way to go, for this, though. You should be able to make wafers that are tens of terrabytes in capacity, by now.
(The problem with making wafers has always been the purity and the defect levels. Purity just requires you to use something better than skimming. Double distillation, or atomic mass seperation, would give you near 100% purity. You then just cool the resultant in a vaccuum flask, so that the defect rate is negligable.)
Getting back to the modern day, though - how to turn cheap RAM into quality solidisk. This involves making a card, with a whole load of RAM on it. Since you're using conventional RAM, you can't rely on modern-day core memory. This means the fall-back of using battery-backed RAM.
You want TWO batteries, for this. One will be in discharge/recharge mode, the other will be in operational mode. When the batteries switch over, you want the recharged one to be switched first, so that the batteries are in parallel, BEFORE switching over the other. That way, there's no loss of power.
When switching to discharge/recharge mode, the battery must be fully drained, to prevent "memory", where a rechargable battery fails to recharge correctly from a semi-charged state. Once drained, you recharge it to capacity.
The switch-over should happen on one of two events:
This guarantees that you have 175% - 200% of any one battery's lifetime, which should be ample for most purposes. The recharger should tap off the bus' power supply, with the batteries directly powering the RAM at all times. This avoids any problems of messy spikes somehow getting into the computer.
If you want "extra-long-life" SSD technology, you are probably best off using very low-power RAM for the main disk, and using higher-power fast RAM for the cache. The lower the power of the main disk, the better. Static RAM is worth a glance, for this - I think it's usually more efficient than dynamic.
Of course, the =ULTIMATE= solution is to go back to using core memory. (For those who never went to computer science classes, "core memory" is one of the earliest non-volatile digital storage systems. It was a form of magnetic storage, and used semi-permanent magnets to retain the data. Data could only be read by destroying the copy in storage, which mean that a read cycle also had a write cycle. It was slow, but when you had RAM that was guaranteed to retain data for over a century, who cared?)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
This is exactly what AGP was designed for -- high-bandwidth I/O to main memory, without blocking the PCI bus. Plus, the AGP GART can do most of the address translation you would need. All modern PC (and even Apple) chipsets have an AGP interface, which is wasted on a headless server. . . until now. AGP even provdes extra power (even the obscene AGP PRO), so that an onboard battery/HDD could be used to backup.
> To take advantage of RAMdisks, you pretty much need to have your computer on all the time, or in standby mode when you're not using it.
This is true. *or* you could have your computer net-boot from a a server with one of these. Even 100megabit transferring from memory will feel faster than a local hard disk. And gigabit over copper is becoming very affordabl these days.
I agree - even a SDRAM controller right on the PCI bus can't be as fast as the system's main memory.
Linux, FreeBSD, and MacOSX (I dunno about Windows) all have excellent VM and file system caches (sometimes they're tightly integrated). If you have 4GB of RAM in your system, and your running processes have 64MB resident, then it's like having a 3.94GB RAM disk. That is, of course, unless you routinely access more than 3.94GB of files.
This is why having lots of RAM is good, even if your processes don't use much.
It's not prefect - I know that on FreeBSD 4, for example, if you have zillions of small frequently used files in the cache, and then you do a big tar, all those important little files will get pushed out of the cache in favor of the new file, which might only be accessed once. Also, the kernel will swap processes out to make room for file system cache, and there aren't a lot of knobs for tuning all of this. EG I don't think you tell the kernel "keep *all* my processes resident, even if they're idle... no really, I *do* have enough RAM!"
Anyway I just don't see any use for standalone RAM disks. There are very few real-world applications that need *deterministic* 1ms seek times. If you rely on the OS you will generally get the best performance.
Aside from being expensive...
Flash is slow to write to.... and is limited in the number of writes. Flash wears out.
is basically how caching works. It's already done.. it's not something new. Linux does it. Every OS does it.. even windows...
The only difference is things aren't cached until they are loaded the first time.
If your computer had 80GB of memory, you would invariably end up with most of your HD (at least, what you were using) cached.
All you people who keep talking about power loss, think rechargeable battery...
Magnetic storage can sit (unconnected to any power source) for years and years and still maintain data integrity. Keeping several GB of RAM powered reliably and cheaply for that long may not be as practical.
I read at a Flash RAM manufacturer's website that their devices reach MTBF in one million writes. If a sector gets written to once a minute in average, that's about two years. Too little.
Which is exactly what Western Digital did with their 100 Gig caviar drive. They've taken advantage of cheap dram to pump their cache up to 8MB from the usual 2 MB. The result is their 7200 rpm drive is outrunning 10k rpm drives and is quieter as well.
More info on the Western Digital drive is available at storage review.
Faster? Flash is hideously slow for random access, because it's impossible to set a bit to '1' without setting the whole 16k chunk (or whatever segment size you have) to all 1s
Noise Pollution