T-RAM
Z-RAM
Historical
WilliamsKilburn tube (194647)
Delay line memory (1947)
Selectron tube(1953)
Dekatron
Non-volatile
ROM
Mask ROM
PROM
EPROM
EEPROM
NVRAM
Flash memory
Solid-state storage
Mechanical
Magnetic tape
Hard disk drive
Optical disc drive
MRAM
PRAM
In development
3D XPoint
CBRAM
SONOS
RRAM
Racetrack memory
NRAM
Millipede memory
FJG RAM
Historical
Paper data storage (1725)
Drum memory(1932)
Magnetic-core memory (1949)
Plated wire memory (1957)
Thin-film memory(1962)
Twistor memory (~1968)
Bubble memory (~1970)
t
e
Static random-access memory (static RAM or SRAM) is a type of semiconductor memory that
uses bistable latching circuitry (flip-flop) to store each bit. SRAM exhibits data remanence,[1] but it is
still volatile in the conventional sense that data is eventually lost when the memory is not powered.
The term static differentiates SRAM from DRAM (dynamic random-access memory) which must be
periodically refreshed. SRAM is faster and more expensive than DRAM; it is typically used for CPU
cache while DRAM is used for a computer's main memory.
Contents
[hide]
1.1.2Embedded use
1.1.3In computers
1.1.4Hobbyists
2Types of SRAM
o
2.1Non-volatile SRAM
2.3By function
2.4By feature
3Design
4SRAM operation
o
4.1Bus behavior
5See also
6References
SRAM cells on the die of a STM32F103VGT6 microcontroller as seen by a scanning electron microscope. Manufactured
bySTMicroelectronics using a 180nanometre process.
Characteristics[edit]
SRAM is more expensive and less dense than DRAM and is therefore not used for high-capacity, low-cost
applications such as the main memory in personal computers.
with asynchronous interface, such as the ubiquitous 28-pin 8K 8 and 32K 8 chips (often
but not always named something along the lines of 6264 and 62C256 respectively), as well as similar
products up to 16 Mbit per chip
with synchronous interface, usually used for caches and other applications requiring burst
transfers, up to 18 Mbit (256K 72) per chip
integrated on chip
as the primary caches in powerful microprocessors, such as the x86 family, and many others
(from 8 KB, up to many megabytes)
to store the registers and parts of the state-machines used in some microprocessors
(see register file)
Embedded use[edit]
Many categories of industrial and scientific subsystems, automotive electronics, and similar, contain
static RAM.
Some amount (kilobytes or less) is also embedded in practically all modern appliances, toys, etc. that
implement an electronic user interface.
Several megabytes may be used in complex products such as digital cameras, cell phones,
synthesizers, etc.
SRAM in its dual-ported form is sometimes used for realtime digital signal processing circuits.[citation needed]
In computers[edit]
SRAM is also used in personal computers, workstations, routers and peripheral equipment: CPU register files,
internal CPU caches and external burst mode SRAM caches, hard disk buffers, router buffers, etc. LCD
screens and printers also normally employ static RAM to hold the image displayed (or to be printed). Static
RAM was used for the main memory of some early personal computers such as the TRS-80 Model
100 and Commodore VIC-20.
Hobbyists[edit]
Hobbyists, specifically homebuilt processor enthusiasts,[3] often prefer SRAM due to the ease of interfacing. It
is much easier to work with than DRAM as there are no refresh cycles and the address and data buses are
directly accessible rather than multiplexed. In addition to buses and power connections, SRAM usually
requires only three controls: Chip Enable (CE), Write Enable (WE) and Output Enable (OE). In synchronous
SRAM, Clock (CLK) is also included.[citation needed]
Types of SRAM[edit]
Non-volatile SRAM[edit]
Non-volatile SRAMs, or nvSRAMs, have standard SRAM functionality, but they save the data when the power
supply is lost, ensuring preservation of critical information. nvSRAMs are used in a wide range of situations
networking, aerospace, and medical, among many others[4] where the preservation of data is critical and
where batteries are impractical.
By transistor type[edit]
Bipolar junction transistor (used in TTL and ECL) very fast but consumes a lot of power
By function[edit]
Asynchronous independent of clock frequency; data in and data out are controlled by address
transition
Synchronous all timings are initiated by the clock edge(s). Address, data in and other control signals
are associated with the clock signals
In 1990s asynchronous SRAM used to be employed for fast access time. Asynchronous SRAM was used
as main memory for small cache-less embedded processors used in everything from industrial
electronics and measurement systems to hard disks and networking equipment, among many other
applications. Nowadays, synchronous SRAM (e.g. DDR SRAM) is rather employed similarly like
Synchronous DRAM - DDR SDRAM memory is rather used than asynchronous DRAM (Dynamic randomaccess memory). Synchronous memory interface is much faster as access time can be significantly reduced by
employing pipeline architecture. Furthermore as DRAM is much cheaper than SRAM, SRAM is often replaced
by DRAM, especially in the case when large volume of data is required. SRAM memory is however much
faster for random (not block / burst) access. Therefore SRAM memory is mainly used for CPU cache, small
on-chip memory, FIFOs or others buffers.
By feature[edit]
ZBT (ZBT stands for zero bus turnaround) the turnaround is the number of clock cycles it takes to
change access to the SRAM from write to read and vice versa. The turnaround for ZBT SRAMs or the
latency between read and write cycle is zero.
syncBurst (syncBurst SRAM or synchronous-burst SRAM) features synchronous burst write access
to the SRAM to increase write operation to the SRAM
DDR SRAM Synchronous, single read/write port, double data rate I/O
Quad Data Rate SRAM Synchronous, separate read and write ports, quadruple data rate I/O
By flip-flop type[edit]
Binary SRAM
Ternary SRAM
Design[edit]
A typical SRAM cell is made up of six MOSFETs. Each bit in an SRAM is stored on four transistors (M1, M2,
M3, M4) that form two cross-coupled inverters. This storage cell has two stable states which are used to
denote 0 and 1. Two additionalaccess transistors serve to control the access to a storage cell during read and
write operations. In addition to such six-transistor (6T) SRAM, other kinds of SRAM chips use 4, 8, 10 (4T,
8T, 10T SRAM), or more transistors per bit.[5][6][7] Four-transistor SRAM is quite common in stand-alone SRAM
devices (as opposed to SRAM used for CPU caches), implemented in special processes with an extra layer
of polysilicon, allowing for very high-resistance pull-up resistors.[8] The principal drawback of using 4T SRAM
is increased static power due to the constant current flow through one of the pull-down transistors.
Four transistor SRAM provides advantages in density at the cost of manufacturing complexity. The resistors must have
small dimensions and large values.
This is sometimes used to implement more than one (read and/or write) port, which may be useful in certain
types of video memory and register files implemented with multi-ported SRAM circuitry.
Generally, the fewer transistors needed per cell, the smaller each cell can be. Since the cost of processing a
silicon wafer is relatively fixed, using smaller cells and so packing more bits on one wafer reduces the cost per
bit of memory.
Memory cells that use fewer than four transistors are possible but, such 3T[9][10] or 1T cells are DRAM, not
SRAM (even the so-called 1T-SRAM).
Access to the cell is enabled by the word line (WL in figure) which controls the two access transistors M5 and
M6 which, in turn, control whether the cell should be connected to the bit lines: BL and BL. They are used to
transfer data for both read and write operations. Although it is not strictly necessary to have two bit lines, both
the signal and its inverse are typically provided in order to improve noise margins.
During read accesses, the bit lines are actively driven high and low by the inverters in the SRAM cell. This
improves SRAM bandwidth compared to DRAMs in a DRAM, the bit line is connected to storage capacitors
and charge sharing causes the bitline to swing upwards or downwards. The symmetric structure of SRAMs
also allows for differential signaling, which makes small voltage swings more easily detectable. Another
difference with DRAM that contributes to making SRAM faster is that commercial chips accept all address
bits at a time. By comparison, commodity DRAMs have the address multiplexed in two halves, i.e. higher bits
followed by lower bits, over the same package pins in order to keep their size and cost down.
The size of an SRAM with m address lines and n data lines is 2m words, or 2m n bits. The most common word
size is 8 bits, meaning that a single byte can be read or written to each of 2m different words within the SRAM
chip. Several common SRAM chips have 11 address lines (thus a capacity of 2m = 2,048 = 2k words) and an 8bit word, so they are referred to as "2k 8 SRAM".
Bus behavior[edit]
RAM with an access time of 70 ns will output valid data within 70 ns from the time that the
address lines are valid. But the data will remain for a hold time as well (510 ns). Rise and fall
times also influence valid timeslots with approximately 5 ns. By reading the lower part of an
address range, bits in sequence (page cycle) one can read with significantly shorter access time
(30 ns).[11]