Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Hardware Hacking Data Storage

What Can You Do with Old Memory? 121

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."
This discussion has been archived. No new comments can be posted.

What Can You Do with Old Memory?

Comments Filter:
  • by Anonymous Coward on Saturday January 22, 2005 @08:01PM (#11444584)

    Buy a caching RAID controller and fill it up with 1GB of memory

  • One time, (Score:1, Interesting)

    by Anonymous Coward on Saturday January 22, 2005 @08:04PM (#11444600)
    I saw this keychgain a guy had made out of a 256K SIMM. I thought that was pretty cool.
  • by thegrassyknowl ( 762218 ) on Saturday January 22, 2005 @08:33PM (#11444749)
    Buy a caching disk controller and fill it up with RAM. Then give it and the surplus RAM to me for my pitifully RAMless machine. 1G just doesn't cut it anymore :(
  • Suggestions (Score:4, Interesting)

    by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Saturday January 22, 2005 @08:54PM (#11444840) Homepage
    Well, my best suggestion would be to sell the stuff (eBay or a local shop) and use the money towards what you want.

    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).

  • how to buid it (Score:2, Interesting)

    by ryanelm ( 787453 ) * on Saturday January 22, 2005 @08:56PM (#11444851) Journal
    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
  • Use tmpfs (Score:4, Interesting)

    by DocSnyder ( 10755 ) on Saturday January 22, 2005 @09:40PM (#11445041)
    tmpfs consists of "file system cache" without a physical file system, stored in shared memory and pageable to swap space. Lacking real I/O, it runs like crazy and makes the slowest boxes fly. Export the file system via NFS or Samba/CIFS and use it for very fast network storage.

    # mount -t tmpfs -o size=$muchbutlessthenvirtualmemory tmpfs /work
    # mount -t tmpfs -o size=384M,nr_inodes=384k tmpfs /work

    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.

  • Re:One time, (Score:2, Interesting)

    by zcat_NZ ( 267672 ) <zcat@wired.net.nz> on Saturday January 22, 2005 @09:50PM (#11445074) Homepage
    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.

  • by Yaztromo ( 655250 ) on Saturday January 22, 2005 @10:36PM (#11445331) Homepage Journal

    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.

  • Not quite that easy (Score:2, Interesting)

    by Anonymous Coward on Sunday January 23, 2005 @06:07AM (#11446841)
    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.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...