What Can You Do with Old Memory?
An anonymous reader asks: "I've just upgraded the RAM in a bunch of laptops and have several gigs of spare PC2700 memory sitting in a desk drawer. I also have another project which requires a large amount of low latency temporary storage. So, I figured this would be a great place to employ a dedicated hardware ramdisk but I am having a problem finding one that doesn't cost an arm and a leg, or preferably an empty unit that works with my spare memory. I have found many discussion forums which talk about building an IDE ramdisk out of commodity RAM, but have not found anyone that has actually done it. Has anyone on Slashdot found such a holy grail? Is anyone currently working on such a project? Do any of you have the engineering experience and interest to design such a device?" What novel purposes have you done with spare RAM that you haven't had the heart to throw away?
"Before you ask, my primary server is maxed out on RAM at 2 gigs, and I am still filling up my 1 gig software ramdisk when I end up with an unusually large data set that needs processing. Yes, I am aware that an IDE device would be limited by the IDE interface for throughput, but I am more concerned with latency then throughput, and IDE is common and simple enough to connect to any of my desktop servers without the need for an add in card."
Buy a caching RAID controller and fill it up with 1GB of memory
I don't remember...
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
get ahold of Tommy at This Old House and see if they'll do a geek show in which the put down a parquet memory floor /jji
man, if you don't wanna throw it away, sell it on ebay, and then with the money you make buy something adequate for it. I'll buy some of that ram myself, if you have a 512 meg bar.
Seriously, that ram is worth cash, get the cash, then buy what you've been looking at that was out of your budget before.
---- I am certain of only one thing : I know nothing else.
The older SIMM modules make excellent modules to add a big chunk of memory to your controller/processor/DSP/FPGA for all kinds of things.
Or you can just use a paintstripper and get the chips off, and incorporate them in your project.
The left over boards you can use as guides in your tech books.
Interfacing can be tough sometime, here an AVR example:
http://www.myplace.nu/avr/dram/index.htm
Just google for your favorite controller type with the word DRAM.
they require identical chips- and usually aint cheap.
every day http://en.wikipedia.org/wiki/Special:Random
And just give it to them. Next time you need something, you'll be surprised at how generous they are. I've taken my old but serviceable stuff to the local surplus store for years. I've also received stuff I've needed for projects for pennies on the dollar.
"Eve of Destruction", it's not just for old hippies anymore...
Its not so novel, but I'm sure there are plenty of schools, community centers, etc. around where you live that could always use spare hardware. A lot of the boxes these organizations receive are stripped down, and having extra sticks of RAM is very useful for them.
My grandmother uses a computer built from donated parts that a local group provides for the elderly, and she's now able to talk with her 4 generations of family over email (which is pretty well spread around the world now). There are probably tax breaks for you too, but in general donating unused hardware to those that will use it is a Good Thing.
That said, if you want to do it yourself, there is one thing I think would work reasonably. Now the cost of doing this might not be low. I don't know. Here we go:
There are tons of PLCs and ASICs and stuff on the 'net with lots of free code for 'em. There is free code to interface with memory modules so your chip could talk to ram and use it in a project. There is ALSO free code to talk to a hard drive (make a IDE interface) for your MP3 player or whatever. Now it seems that with all that documentation, it shouldn't be too hard to make a simple little state machine that translates incomming IDE requests to specific RAM addresses (a simple mapping from C/H/S or LBA to address should do it), fetch (or write) that data, and return it over the IDE interface (which you would have to make "backwards" from most on the web because you want to BE the HD, not talk to it).
I would think you could get some good speed out of that, shouldn't be hard to make it faster than a simple hard drive. The biggest problem would be that it would need to be partitioned and formatted at startup, but that could be easily done in a script (and it's not like it would take long if you skip bad block scans and such).
Someone may have already done this if you look hard enough.
So that's my suggestion. Would be a cool little project, and it shouldn't be hard to put as much RAM in as you want, you just have to multiplex it. The biggest problem would be refreshing all that RAM if you multiplex it. But those are problems for you to solve. Now if you DO do this, PLEASE post results (or at least expiraments) to /., as I'd love to see what you come up with (even if you go with another solution all together).
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
download the infosheet on the ram you have from the company that made it or a company that makes equivalent. it will they'll you the timing neccesary to read, write and refresh the memory, something like bring 'cas' pin high for x nano-seconds then write the first y bits of the address then bring 'ras' high and write the rest of the address then read from or write to the data pins. Then get a picmicro controller and write a program to controll the memory and talk ide, load it on the micro-controller, then wire up a memory socket and an ide plug. total cast: +- $25 total time: 3hrs - 2months depending on expiriance
I've done this for a long time too. Someone noticed it and accused me of buying it at some nearby computer store. After informing said person that I am geek enough to make my own RAM keychain I was surprised at how much they were charging for these things. Don't think it's a get rich quick scheme but I've got to give it to them for marketing and obsolete product.
(This sig intentionally left blank.)
And this is pissing me off. I need more memory for my PIII-800 (PC100 memory) and it's cheaper to buy memory for my laptop that I got back in the summer!
SRAM (Static) actually keeps it's state when you power it off
No. SRAM keeps its state as long as it's still powered. DRAM is in a state of continual decay, and must be refreshed on a regular basis.
.... I had a good joke lined up but I'll can it for now. :) Anyway, I go out of my way to find BAD RAM. Why?I've had a few motherboards come in that have falsly reported known bad RAM (run through hardware and software based RAM testing equipment) as good RAM, which caused all kinds of install time goodness. Now, I keep known bad sticks to test in various machines which seem to be a little "off". It's also wise to keep spare power supplies, CPUs, hard drives and the like as well. If for any other purpose then just to rule other things out of a particularly problemsome build. Also, the RAM keychain idea, as much as I've used it over the years (past 10 or so), has the added bonus at times of showing that you know something about computers (whether rightly or wrongly). This MAY or may NOT be what you want all of the time. :)
sigs are like a box of chocolates, they all suck remove the underscores to email me
And to further add to the confusion, NVRAM (non-volatile) RAM stays put without power.
"Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman
# mount -t tmpfs -o size=$muchbutlessthenvirtualmemory tmpfs /work /work
# mount -t tmpfs -o size=384M,nr_inodes=384k tmpfs
tmpfs paged out to swap space on a real hard disk is still much faster then ext2/ext3/reiserfs/xfs/jfs/... on a hard disk partition. Without swap space, don't fill them up beyond your physical memory size minus about 32 MB for the operating system, or set the size limit to such a value.
The only disadvantage of tmpfs is the complete loss of its content after unmounting it. And of course you'll have to fill it after mounting it.
It was pretty cool for a while.
After about a week all the chip capacitors started breaking off. After a few months the chips thesmelves were wearing at the corners and eventually came off. And for the last three years I've had a bare circuitboard on my keychain. Now I have an anodized aluminium penguin which will hopefully be a little more robust.
455fe10422ca29c4933f95052b792ab2
Here's my suggestion. Get an older system which has a motherboard which accepts the memory you have -- preferrably one with lots of slots. Install as much RAM into it as you can, along with a NIC.
Install Linux or FreeBSD on it (if it has a hard drive -- if not put together a bootable diskette), and create a big RAM disk -- as big as you can. Set-up either NFS or Samba to allow network access to the RAM drive.
And if you're going to use it for storing anything other than /tmp, put the system on a UPS. Nothing worse than losing a whole disks worth of data due to a minor brownout.
Yaz.
Once I upgrade the two AMD MP 1800+ processors from my current computer what do I do with them? I'm not an eBay person and I'd hate to just give them away to a local shop. Since these matched CPUs (supposedly) need specific, fairly rare motherboards and RAM, I figure that donating them to a local school or whatever might be a waste.
http://www.hyperos2002.com/07042003/products.htm
HyperOs HyperDrive III, 16GB capacity, ATA100, rather pricey.
http://www.cenatek.com/
Cenatek Rocket Drive, various product versions, PCI instead.
Freecycle is a neat community giveaway-fest run through localized Yahoo groups. I live in a town of 100,000 and the Freecycle group has 700 members. I've given away old monitors, tables, couches, even a car. I got a nice little dual-proc server. Right now I'm paring down what I have for an upcoming move, but it's a great place to get free stuff. I see bedframes, dressers, computers, bikes, clothes, it makes dumpster-diving obsolete.
I make IDE drives for a living, and it's not quite as easy as you make it sound, sadly.
The part you will find hard, going this route, is drive recognition.
When writing a host, you only have to support minimal drive handshaking and then you can start throwing read and writes.
Writing a drive, you usually have to support a metric tonne of informational commands before a host will recognise you as a valid drive - and even then you're looking at odd behaviour from different BIOS revisions and operating systems.
You can cut this down a bit, since you know the system you will be using - but there'll still be a fair chunk of trial and error involved. The easiest thing to do is bus-trace competitor drives and work out that way what the system seems to respond to best.
In all, it's an interesting project - but I'd not recommend it as particularly practical.
I'd say:
Easiest: Sell the RAM, buy something useful - like a motherboard that supports larger amounts of on-board RAM.
Slightly less easy: Buy a RAID controller that uses this type of RAM, give it a pair of slow 4gig disks and hope it uses the cache sensibly.
And as an aside - the USB interface flash chips support a very small subset of ATAPI-MMC. This does annoy some ooperating systems, but would make it much easier to emulate. The latency and throughput of USB might be a limiting factor for you, though.
No. There are three main types of RAM:
SRAM (Static) will keep its state as long as it is powered on.
DRAM (Dynamic) will lose its state, and must be regularly refreshed as long as it is powered on.
NVRAM (Non-volatile) keeps its state even when powered off.