A Retrocomputer Disk On A Chip

There have been a lot of different mass storage methods over the relatively short lifespan of the computer. Magnetic tapes, drums, all sorts of disks, and flash memory have each had their time. Each of these new innovations required some time to become easy to use. One of the early attempts to simplify using flash memory was the M-Systems DiskOnChip device. Looking like a standard 8K JEDEC-compatible memory device, it actually provided access to a flash disk drive ranging from 16MB to 1GB. [Smbakeryt] bought some of these devices and built an ISA board to provide a disk and clock for the old 8-bit bus. You can see a video discussion about the device below.

SanDisk bought M-Systems and discontinued the devices back in 2007. Of course, you can still design flash memory into your system, but the simple and efficient interface of the DiskOnChip is no more. It is a testament to how simple the interface is that the schematic for the little board fits on a page, including the DS12885 real time clock.

The DiskOnChip was sophisticated enough to present a proper BIOS signature so its own BIOS was loaded on the PC’s power up sequence. When you consider how little circuitry is involved — especially if you ignore the clock which isn’t part of the disk subsystem — it is really quite elegant.

We love these old builds and we miss when you could just whip together a board to plug into your PC with minimal effort. These days, if you want to do some fancy PCI or PCI Express interface, you are as well off to start with an FPGA board. Or, you might hack an existing board.

28 thoughts on “A Retrocomputer Disk On A Chip

  1. I have a collection of 2MB SunDisk cards. SunDisk later became SanDisk. We used these on the IBM RoadRider project, which was the first in-vehicle computer system for over-the-road trucking. It had a QualComm satellite system for data, used a 386EX processor running at 25MHz, RS-485, RS-232, touch-screen, heaters for the NiCad batteries (so the trucker could do a walk-around inspect in cold weather). Those little SunDisks really held up well, considering that solid-state media wasn’t all *that* reliable back then.

      1. Disk-to-disk copying was painfully slow. When I had 486 I originally had 20MB hard drive. I upgraded to 120MB and used the quick and dirty copy everything command xcopy. If I remember, it was 3 hours to copy over all of 7.5mb

    1. Too much, 1GB of disc space is enough for all the games in “Total DOS Collection 8” up to and including 1990. Most wont even run on XT, and require 286 at minimum.
      If you stop at 1987 its <200MB for ~1900 games.

        1. sure, and exodos is 370GB ;o), of mostly 600MB late nineties Pentium 1-2 game CD rips. If you filter down to games that could run on XT you are back to maybe 200MB all unzipped/installed.

      1. Hi. Sorry for the little necro. I know it has been 4 years. There’s something to take into account, though:

        Vintage development environments. Things like VBDOS, Quick Basic 4.5, Turbo Pascal 6/7, Turbo C etc. will take up fixed-disk capacity very, very quickly. Several dozen of megabytes will be used up soon.

        And that’s without installing environments like DESQView, GEM, PC GEOS or MS-Windows.

        Similarly, simulations like MS Flight Simulator with add-ons (sceneries, planes etc) will need some extra space.

        Likewise, Arachne, for some retro surfin’, will need some MBs..
        Or these AutoSketch/ACAD files that you need for testing you 8087 math co-processor.. ;)

        Anyway, my message is: For casual users, 32MB might be fine, yes, but not for enthusiasts/power users.

        That’s why things like EMS were invented first place: Storage capacity seemed so plenty at first, but users were running out of memory quickly soon after.

        Believe me, I learnt the hard way through experience. I myself ended up installing DoubleSpace on an XT, even, due to running out of space on a small (but physically huge) MFM/RLL drive.

    1. You mean convert raw flash chip into flash disk, neat article, thanks. I imagine thats more or less how diskonchip is build internally, buffer + mapper with all the actual magic in software.

    2. I’ve never thought anyone would ever mention RadioKot here since it’s not a very popular website.

      However, as a Russian who loves to visit it occasionally, I’d like to note they often publish user-submitted articles about various interesting DIY electronic devices.

      I definitely recommend checking it out!

  2. I’d give one of my lives to find more of those Disk-On-Chip devices. I have a few in the 32MB size, but I am trying to find larger ones.

    I also have an ISA-16 bit bus card for them, from a well known embedded system builder.

    Incidentally Al Parallax called, they want your talents back.

    1. About 10 years ago, the company I was working for was still putting the Disk-On-Chip devices in a product. It was becoming a huge supply chain issue. And we where only doing a few 100 units a year. So I’m not surprised that they are hard to find.

      We switched to compact flash cards because of it.

    2. It just so happens that I have a MD1150-D1289-P disk on a chip, that I was getting ready to throw away. This one actually plugs into the PATA drive connector and requires a power connector. I would prefer to let someone have and use it over disposing of it.

    3. Heh, was at Excess Solutions (an electronics Surplus outfit in San Jose) just yesterday, and came across probably 100 or more of these in tubes, US$1 apiece (per DIP, not tube). Also, Halted.com / HSC Electronics inventory has been absorbed by Excess Solutions.

  3. In 1992 I started working for a British company called “Micro Control Systems” who produced early EPROM and Flash storage media called “Silicon-Disk” systems. It’s surprisingly hard to find references to it now. I arrived just in time to finish the debugging of a sort-of successor product, the “Silicon Drive” which was 3.5″ floppy drive sized bootable ATA hard drive emulator which took flash and SRAM PCMCIA cards. The unit contained enough logic to decode a boot-sector read, which in turn loaded BIOS extension providing an INT 13 and INT 21 interface for the MSDOS. The only reference I can find is from a German magazine.

    https://www.computerwoche.de/a/silikon-disk-ersetzt-saemtliche-laufwerke-im-pc,1145366

    The Silicon Disk and Silicon Drive weren’t true flash file systems, but WORM drives. The approach was to load the drivers from a normal hard disk or floppy disk; then format the Silicon Disk/Drive. SRAM disks would be battery backed and read and writes worked as normal In the case of EPROM and Flash all this really did was to make sure that writes to the FAT went to a RAM copy, but writes to any other part of the Silicon Disk wrote to the solid state media. At the end the user was expected to CLOSE the drive, which would then copy the current state of the FAT to the EPROM or Flash.

    The cards were full-sized ISA cards and could take up to 24 chips in 3 banks of 8 chips, giving up to 3Mb per card using 128Kb chips. It was possible to set up different banks to support different types of memory and a typical application would store the OS in EPROM / Flash and transient data in SRAM.

    At the time, the up-and-coming news about SanDisk and TrueFFS were being reported, but there were no standards. PCMCIA (AFAIK) even defined Flash card standards whereby files were simply written consecutively, and replaced files simply marked as dirty until there was no more space (it didn’t use a FAT, just an INT 21h interface). I spent quite a bit of time developing true FTL algorithms, but unfortunately the company was never interested.

    For FIGnition I provided a true FTL driver called VDsk which works with AMIC serial flash chips. It’s just 1.5Kb of compiled AVR code, but is relatively portable (the lower level code is in AmicFlashSpi.h).

    https://github.com/Snial/FIGnition/blob/master/Firmware/src/FigVFlash.c

  4. I used a disk on chip in the virgin webplayer, a late 90s internet thing. Windows 98 with doublespace and Robert’s your mom’s brother.

    To program I used a ne2000 network card Rom boot socket- overhang the top 4 pins in another 32pin socket, magnet wire for power and write and then the bios can see it.

  5. > We love these old builds and we miss when you could just whip together a board to plug into your PC with minimal effort.

    while there was certainly a window of time when the ISA/EISA slots had finally disappeared where your options were limited, these days we can get USB2 (or even 3!) interface chips, or FPGA boards with ethernet, or even things like the beagleboard that with their PRUs have more bandwidth to more pins than you were ever going to get with an XT/AT era machine.

    all of which will have a faster test/debug cycle than un-hot-swappable ISA cards, and are less likely to damage your many-thousands-of-dollars PC.

    and if ISA truly holds a dear spot in your heart, well, it can live on forever: http://arstech.com/install/ecom-prodshow/usb2isar.html

Leave a Reply to B.B.Cancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.