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