Now we can proceed to studying specific types of
digital storage devices. To start, I want to explore some of the
technologies which do not require any moving parts. These are not
necessarily the newest technologies, as one might suspect, although they
will most likely replace moving-part technologies in the future.
A very simple type of electronic memory is the bistable multivibrator.
Capable of storing a single bit of data, it is volatile (requiring power to
maintain its memory) and very fast. The D-latch is probably the simplest
implementation of a bistable multivibrator for memory usage, the D input
serving as the data "write" input, the Q output serving as the "read"
output, and the enable input serving as the read/write control line:
If we desire more than one bit's worth of storage (and we probably do),
we'll have to have many latches arranged in some kind of an array where we
can selectively address which one (or which set) we're reading from or
writing to. Using a pair of tristate buffers, we can connect both the data
write input and the data read output to a common data bus line, and enable
those buffers to either connect the Q output to the data line (READ),
connect the D input to the data line (WRITE), or keep both buffers in the
High-Z state to disconnect D and Q from the data line (unaddressed mode).
One memory "cell" would look like this, internally:
When the address enable input is 0, both tristate buffers will be placed
in high-Z mode, and the latch will be disconnected from the data
input/output (bus) line. Only when the address enable input is active (1)
will the latch be connected to the data bus. Every latch circuit, of course,
will be enabled with a different "address enable" (AE) input line, which
will come from a 1-of-n output decoder:
In the above circuit, 16 memory cells are individually addressed with a
4-bit binary code input into the decoder. If a cell is not addressed, it
will be disconnected from the 1-bit data bus by its internal tristate
buffers: consequently, data cannot be either written or read through the bus
to or from that cell. Only the cell circuit that is addressed by the 4-bit
decoder input will be accessible through the data bus.
This simple memory circuit is random-access and volatile. Technically, it
is known as a static RAM. Its total memory capacity is 16 bits. Since
it contains 16 addresses and has a data bus that is 1 bit wide, it would be
designated as a 16 x 1 bit static RAM circuit. As you can see, it takes an
incredible number of gates (and multiple transistors per gate!) to construct
a practical static RAM circuit. This makes the static RAM a relatively
low-density device, with less capacity than most other types of RAM
technology per unit IC chip space. Because each cell circuit consumes a
certain amount of power, the overall power consumption for a large array of
cells can be quite high. Early static RAM banks in personal computers
consumed a fair amount of power and generated a lot of heat, too. CMOS IC
technology has made it possible to lower the specific power consumption of
static RAM circuits, but low storage density is still an issue.
To address this, engineers turned to the capacitor instead of the
bistable multivibrator as a means of storing binary data. A tiny capacitor
could serve as a memory cell, complete with a single MOSFET transistor for
connecting it to the data bus for charging (writing a 1), discharging
(writing a 0), or reading. Unfortunately, such tiny capacitors have very
small capacitances, and their charge tends to "leak" away through any
circuit impedances quite rapidly. To combat this tendency, engineers
designed circuits internal to the RAM memory chip which would periodically
read all cells and recharge (or "refresh") the capacitors as needed.
Although this added to the complexity of the circuit, it still required far
less componentry than a RAM built of multivibrators. They called this type
of memory circuit a dynamic RAM, because of its need of periodic
refreshing.
Recent advances in IC chip manufacturing has led to the introduction of
flash memory, which works on a capacitive storage principle like the
dynamic RAM, but uses the insulated gate of a MOSFET as the capacitor
itself.
Before the advent of transistors (especially the MOSFET), engineers had
to implement digital circuitry with gates constructed from vacuum tubes. As
you can imagine, the enormous comparative size and power consumption of a
vacuum tube as compared to a transistor made memory circuits like static and
dynamic RAM a practical impossibility. Other, rather ingenious, techniques
to store digital data without the use of moving parts were developed. |