Lecture 18

Computer Memory

Storage Devices

There are, these days, a wide variety of storage devices with wide ranging characteristics in terms of access method, speed and capacity.

In a serial access device data is stored in such a way that data has to be read in sequence and in the order in which it was written. It is not possible to pick out an individual data byte without reading through to that point or at least reading a block of data and then finding the byte required. To put it more precisely, the access time for a particular byte is variable and depends on what has just been read (or written). For example in a magnetic tape system if the last byte has just been read and we now wish to read the first byte then we may have to wait many seconds for the tape to be rewound.

A random access device, however, allows access to any data byte individually and the access time is fixed and not dependent on previous read or write operations.

Volatile or non-volatile refers to whether or not the data remains stored when the power is removed. Clearly a volatile device can be made non-volatile by adding emergency power usually in the form of rechargeable batteries which are trickle charged while the power is on. The feasibility of this depends on the power consumption so that it is simple to provide battery back-up for a small semiconductor RAM but it is less feasible for a 1GByte hard disc.

Random access devices are inherently faster at data retrieval then serial devices and so have to be used for the instruction memory in any computer system. Semiconductor memories are used as the main memory for almost all computer systems these days.

Serial storage devices usually have a much higher packing density because the address depends on position in the stream of data rather than having to be individually coded. The address decoding and data access paths account for the majority of the space on a semiconductor memory chip. Serial devices are therefore used as backing store for large amounts of data or for programs when they are actually being used. Disc stores are the most obvious examples of this although for really large amounts of data magnetic tapes and optical discs (CD ROMS) provide much higher packing densities and the ability to archive data cheaply.

Another distinction between semiconductor memory devices is whether data can be written and read or is read-only, (referred to as RAM for historical reasons). Strictly no device can be considered as read-only because if we can't write data into it at some point it would be completely useless. The terminology refers to normal usage in the computer system. Read-only memory is often written at the manufacturing stage or in a special programming device outside the computer system.

Memory chips in a small computer system

The two most important groups of signals in a memory chip are the address lines and the data lines.

The address lines specify which of the memory locations is to be accessed. Within a memory location there are typically 8-bits of data.

When a memory chip is read, the state of the bits in the memory location being addressed is read out from the data lines.

When a memory chip is being written to, the logical state of the data lines is copied into the respective bit of the memory location addressed.

So that the memory chip knows the difference between a read and write operation, a further input is available called the read/write line. When this line is in a '1' state, this means a read from the memory and when it is in a '0' state, this means a write operation is in progress.

In addition, since the address lines are normally used for other chips in addition to this memory chip, there are chip select lines to selectively enable or disable the chip. The chip select line prevents the memory chip from storing data not intended for it and also prevents it supplying data on the data lines when it is not wanted.

A typical personal computer will have several types of semiconductor memory device:-

  1. The main memory for storing programs and data while they are in use. This will be semiconductor read write memory. Size will be typically 1 to 16 MBytes. 1MByte=2^10 bytes.
  2. Non-volatile RAM - A small area of semiconductor read-write memory with a battery back-up supply in which user settings are stored permanently. Things like the type of printer, the program which should run on switch-on, the date and time - all these are stored here. The battery may also supply a circuit which updates the time. Typical memory sizes are 64 to 512 Bytes.
  3. Read-only memory - Most systems have a number of important programs stored in read-only memory so that they are always available. An IBM PC-type machine has BIOS (Binary Operating System). This provides a number of low-level functions like looking at memory locations directly, loading a program from disc and running it, controlling keyboard and screen etc. The DOS or disc operating system is not stored on ROM and has to be loaded from disc every time the computer is switched on. Typical sizes are 64K to 256KBytes.

Read-Only Memory

There are a wide variety of semiconductor read-only memory devices depending upon the type of chips used in the system and the method of installing the information in the chip. The system may be constructed using bipolar or MOS transistors and within these classes there are different types of circuit.

TTL - uses bipolar transistors in more conventional circuits. Speed is high but density not very high because of the complexity and number of processing steps involved in making bipolar devices.

NMOS - uses MOS transistors in very simple circuits which results in very high packing densities. The capacitance of MOS devices limits speeds although they can sometimes approach those of TTL.

CMOS - uses N and P type MOS transistors in complementary and symmetrical circuits resulting in very low power dissipation. Speeds are lower than NMOS and because of more complex processing packing density is also lower.

All the devices in a system frequently use the same technology. This avoids problems of matching voltage and current levels and means that devices have comparable speeds. Logic levels for CMOS and NMOS can usually be matched to TTL levels thus allowing mixing where necessary e.g. CMOS low power RAM for battery backed-up memory in an otherwise NMOS system or TTL address decoders to reduce gate delays in an NMOS system.

ROM, in common with most semiconductor memory, is arranged in matrix form where a ROW of data is selected by a subset of the address lines and then the COLUMN in which the data bit is selected by the remaining address lines.

In the example below, the matrix is also split between 8 planes where each plane supplies one bit to the data bus.

Mask-Programmed ROM

A typical MOS ROM will have a single device per bit of storage with a gate connected or not to store each bit of data. The contents of the ROM will be defined when the device is made usually by the last layer of connections which are defined by a mask. Thus these are known as mask-programmed ROMS. Setting up the mask is a fairly expensive process and will typically cost several thousand pounds. The chips themselves are simple and cheap and so this approach is cost effective when many thousands of the same chip are required e.g. for the program in a washing-machine. Errors in the program are clearly very expensive so for early production and low-volume applications an alternative is to use programmable ROM or PROM.

Programmable ROM

Various types of PROM are available, some are once only devices such as the fusible-link PROM where a minute fuse is blown in locations where a zero is to be stored. A more common device is the EPROM which functions by trapping charge on the buried gate of an MOS transistor by tunnelling. The charge changes the threshold level of the device which can result in a zero being read instead of a one. The charge can be removed by exposing the device to high intensity ultra-violet light which gives the electrons enough energy to tunnel back thus allowing the device to be reprogrammed. The device can be reprogrammed many times and will retain data for up to 100 years if it is kept away from sources of ultra-violet light such as fluorescent lights. These devices can be up to 128KBytes in size although 2,4,or 8 KBytes are also available.

SRAM and DRAM

We have looked at some of the ROM devices which can be used in a small microcomputer system and at some of the different technologies which are used to make them. The same technologies are also available for read/write memory, commonly called RAM.

In addition when we look at the most common type, NMOS, there are two categories of memory device; static RAM and dynamic RAM.

Static RAM

In a static memory device the data bits are stored in a simple flip-flop circuit consisting of two cross-coupled transistors. The data is thus stored permanently as long as power is supplied. The advantage of this arrangement is simplicity - the disadvantages are that each memory cell consumes power all the time so the overall power consumption is high and also the memory cell requires two transistors plus load resistors (usually also transistors) in addition to select transistors making the circuit relatively large to construct.

One example of a CMOS static RAM cell is shown below.

Dynamic RAM

The alternative is dynamic RAM which uses a very simple single transistor memory cell in which the data is stored on the gate of an MOS transistor. This charge turns the transistor on if it is present thus making it possible to read the data. The main problem is that the charge leaks away slowly and data will be lost if it is not refreshed periodically (typically every 2ms). The process of reading the data also refreshes it, so effectively every bit of memory must be read every 2ms.

The big advantage of dynamic memory which makes the extra complication of refreshing worthwhile is that because of the simplicity of the memory cell very many more bits can be fitted on the same size of chip (typically a factor of 8). Thus while >1MBit memory chips are commonplace, for static memory devices 64 kByte is a more typical size. Another advantage is that unless the cell is being read from or written to it does not consume any power. Thus the overall power consumption is much lower.


| Back | Next |