7

StorageTek STC 4305 is often referred as the first SSD. However, from the modern point of view, it looks more like a "hardware-implemented persistent cache", if possible. I mean that it works more like a fast volatile storage (RAM) backed by slow non-volatile memory (HDD).

But how was the interaction between RAM and HDD implemented? Obviously, RAM could not replicate its state to HDD synchronously, because it would have killed the performance. But does that mean that RAM flushed data to HDD asynchronously, just like in write-back caches? Could the user control this process?

4
  • 10
    For those who, like me, nearly closed this since SSDs are way to modern to be considered retrocomputing, please note that the StorageTek STC 4305 was introduced in 1978 Mar 1 at 16:41
  • 1
    An all DRAM / CCD / capacitor array storage device that can interface as a DISK device can use a battery to both keep the memory refreshed and transfer the contents to an actual hard drive when power is lost. Saying it is like a modern SSD is a stretch - the DRAM like part with a battery is solid state but not long term persistent and adding a hard disk for true persistence means it is no longer solid state.
    – Brian
    Mar 1 at 17:37
  • I checked in the IEEE Library for anything and I found references to “a 6-page product brochure” for the 4305 being available on mail-order by 1978, but no actual copies of it so far, dang. If someone could find it, then I’d expect that document to explain how the 4305’s HDD backing store works with the CCD storage.
    – Dai
    Mar 1 at 18:01
  • magnetic core memory was "the first SSD" of the 1950s and another SSD from 1970s was bubble memory, never very popular but used in a few commercial products
    – szulat
    Mar 5 at 13:07

2 Answers 2

8

I believe your characterization of the 4305 is (at least sort of) mistaken.

At a system level, the 4305 probably was used to cache frequently used data. But according to Storage Tek, it really did act as a solid state disk drive, not as a cache between the system and a physical hard drive.

Although it's related to a later Storage Tek system (that did act as a fast cache), US Patent 4,780,808, specifically says:

Examples of related prior art systems include the Storage Technology Corporation 4000/4305 "solid-state disk" system, in which a solid-state memory effectively minimized [sic] a magnetic disk system and the Storage Technology Corporation 8880/8650 disk subsystem.

The 4000/4305 solid-state disk subsystem used a track remaining count which is similar to the emulated track position (ETP) of this invention. However, this track remaining count was not used for transferring orientation from a frame to a disk track; no magnetic disk memory was included in that system.

[Emphasis added]

This seems to indicate that the 4305 really was a solid state disk--all data written to it was stored in solid state memory (originally CCD, later switched to DRAM).

Based on that, I'd guess that managing the 4305 as a cache was purely manual--i.e., it was up to the operators to know what files were being used intensively at any give time, and allocate them on the 4305.

They did quickly start to do cache systems though. By around 1981, Storage Tek was applying for a number of patents on systems that did act as caches, not emulated drives. These cover quite a few things like predictively loading data from the drive to RAM, reading entire disk tracks into RAM at once, writing data back to the disk asynchronously (an entire track at a time) a few different ideas about how to manage the RAM in the cache, etc.

Based on those patents, when they did start to do fast disk cache subsystems, they almost certainly did use asynchronous write-back (though it's always possible they researched an idea, wrote a patent about it, but didn't actually use it in a real implementation).

1
  • I remember seeing similar stuff in the marketing materials I sent away for as a nerdy kid in the first half of the 90s. Basically, ordinary hard drives (SCSI, I'd assume, though it's been too long for me to remember for certain) that used RAM with some form of battery backup for power interruptions instead of flash memory or rotating platters and it was the system integrator or administrator's job to handle arranging for more robust persistence. Pricey and small compared to hard drives, but great for accelerating things like databases.
    – ssokolow
    Mar 2 at 11:41
3

TL;DR: Yes, But.

It is a fixed disk (*1) with a buffer RAM of the same size as the disk. Thus the full content is held in RAM, served from RAM, modified in RAM and written back to fixed disk. From a user POV it is indistinguishable from a 2835/2305 Fixed Disk setup. It plugs to the same interface and recognizes the same commands.

By use case the 2305 is not a disk system for long term storage, but a specialized high speed drive intended as work volume. Essentially the replacement of prior drum storage - and the 4305 a faster implementation of that idea.


The Bigger Picture

At that point it may be useful to take a look at /360 devices and interfaces:

  • All I/O is routed thru a dedicated IO processor- kind of a very powerful DMA processor
  • This IOC operates a single type of interface that comes in two flavours
    • Byte Mode or
    • Block Mode
  • They essentially only differ in thruput
  • All devices connected understand the same basic command format
  • All devices return the same basic result and data formats
  • From today's POV best compared to SCSI over USB

Long story short, /360 I/O is to the extreme geared toward unified handling and parallel operation. Now for the 2305

  • The 2305 drive was not connected to the IOC, but a 2835 controller
  • The 2835 is in itself a microprogrammed system with block buffer and data routing
  • A 2305 was a unit with two fixed disk drives
  • Up to two 2305 could be attached to one 2835
  • Capacity was between
    • ~10.8 MB (One 2305-1 with two 5.4 MB drives) and
    • ~44.8 MB (Two 2305-2 with two 11.2 MB drives each)
  • Fixed drives were not like today used for size, but speed.
  • Speed in access time
    • Average access in 2,5 ms (-1) or 5 ms (-2)
  • Speed in transfer rate
    • Transfer of 3 MB/s (-1) or 1,5 MB/s (-2)
  • The faster 2305-1 unit needed a special two byte interface variant (*2)to reach it's 3 MB/s rate.

This sound even impressive by today's standards and we are talking a drive introduced in 1970. As the numbers suggest, the 2305 was in no way average. The regular storage setup at that time (and for users that would even think about a 2305) would be a DASD 3330 B1

  • The 3330 used removable hard disk packs
  • 100 MB or 200 MB per disk pack
  • A controller could operate up to 16 drives
  • A total of 3.2 GB per controller
  • 30 ms average access time
  • 0.8 MB/s transfer speed

Not bad for 1970. Up to 80 times more storage than a 2305 but at less than 1/10th of access and 1/4th of the transfer speed of a 2305-1. Looking at the numbers makes clear that the 2305 was not really a long term storage unit, but rather a work drive. A place to store intermediate files during processing. Much like one would nowadays copy some large work files first onto a local SSD drive for production and copy resulting files back to some storage unit.

So the 2305 was all about extreme speed for anyone who could afford it.

And that's where the 4305 comes in. Toward the CPU (and it's IOC) it behaves exactly like a 2835 controller with several sets of 2305 - but up to 7 times faster due next to zero access time while maintaining the maximum transfer rate of 3 MB/s even in a 44 MB configuration.

To be fair, it's 1978 technology against a 1970 drive. Also, by the second half of the 1970s the 3340 and 3350 units were available giving even larger sizes and higher speeds (20 ms and 0.8 MB/s).

Also, STC wasn't the only supplier of RAM drives. Such fast work drives became soon standard for mainframes.


The Questions

However, from the modern point of view, it looks more like a "hardware-implemented persistent cache", if possible. I mean that it works more like a fast volatile storage (RAM) backed by slow non-volatile memory (HDD).

Not really a cache as it offered the full capacity of a 2305 setup as RAM. The build in was a pure back up drive. All access was done from RAM - that is after once loaded :))

But how was the interaction between RAM and HDD implemented?

Strictly internal.

Obviously, RAM could not replicate its state to HDD synchronously, because it would have killed the performance.

Of course can the drive controller can already return a successful result as soon as the data is on memory.

But does that mean that RAM flushed data to HDD asynchronously, just like in write-back caches?

Kind of - it's a write back with guaranteed flush to disk.

Could the user control this process?

No. The whole point of that device is to increase speed for existing applications without any need of


*1 - A fixed disk is not the same as a hard disk, despite being used interchangeable nowadays. One is about the media being removable or not, while the other is about the type of media.

A fixed disk is a disk unit that is not removed/exchanged during normal handling procedure. It's counter part is a removable disk, which can/will be exchanged during operation. On the other hand, a hard disk is one with a non flexible, hence 'hard', media. Its counter part is a flexible (aka floppy) disk. That's why a 3.5" is still a floppy, no matter how hard the plastic shell around :)

Today's mix up may stem from the fact that removable media for later PC were mostly floppies, while fixed drives were entirely made of hard media.

*2 - Yes, the IBM channel did the same as SCSI-2 wide 20 years later offering optional 16 bit parallel instead of 8 bit only :))

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .