SRAM memory interface to microcontroller

Static random access memory (SRAM) is a type of volatile semiconductor memory to store binary logic ‘1’ and ‘0’ bits. SRAM uses bistable latching circuitry made of Transistors/MOSFETS to store each bit. Compared to Dynamic RAM (DRAM), SRAM does’t have a capacitor to store the data, hence SRAM works without refreshing. In SRAM the data is lost when the memory is not electrically powered.

SRAM is faster and more reliable than the more common DRAM . While DRAM supports access times (access time is the time required to read or write data to/from memory) of about 60 nanoseconds, SRAM can give access times as low as 10 nanoseconds. In addition, its cycle time is much shorter than that of DRAM because it does not need to pause between accesses. Unfortunately, it is also much more expensive to produce than DRAM. Due to its high cost, SRAM is often used only as a memory cache.

embedded system course

Fig 1: Typical microprocessor memory configuration

SRAM is generally used for high-speed registers, caches and relatively small memory banks such as a frame buffer on a display adapter. In contrast, the main memory in a computer is typically dynamic RAM (DRAM, D-RAM).

An SRAM is designed to fill two needs: to provide a direct interface with the CPU at speeds not attainable by DRAMs and to replace DRAMs in systems that require very low power consumption. In the first role, the SRAM serves as cache memory, interfacing between DRAMs and the CPU.

The second driving force for SRAM technology is low power applications. In this case, SRAMs are used in most portable equipment because the DRAM refresh current is several orders of magnitude more than the low-power SRAM standby current.

Many categories of industrial and scientific subsystems, automotive electronics, and similar, contains static RAM. Several megabytes of SRAM may be used in complex products such as digital cameras, cell phones, synthesizers, etc.

SRAM is also used in personal computers, workstations, routers and peripheral equipment: internal CPU caches and external burst mode SRAM caches, hard disk buffers, router buffers, etc. LCD screens and printers also normally employ SRAM to hold the image displayed or to be printed. Small SRAM buffers are also found in CDROM and CDRW drives to buffer track data, which is transferred in blocks instead of as single values. The same applies to cable modems and similar equipment connected to computers.

SRAM Cell:

The SRAM cell consists of a bi-stable flip-flop connected to the internal circuitry by two access transistors. When the cell is not addressed, the two access transistors are closed and the data is kept to a stable state, latched within the flip-flop. The flip-flop needs the power supply to keep the information. The data in an SRAM cell is volatile (i.e., the data is lost when the power is removed). However, the data does not “leak away” like in a DRAM, so the SRAM does not require a refresh cycle.

Static RAM is fast because the six-transistor configuration (shown in Fig 2) of its flip-flop circuits keeps current flowing in one direction or the other (0 or 1). The 0 or 1 state can be written and read instantly without waiting for a capacitor to fill up or drain (like in DRAM). However, the six transistors take more space than DRAM cells made of one transistor and one capacitor.
When opposite voltages are applied to the column wires, the flip-flop is oriented in one of two directions for a 0 or 1. At that point, the flip-flop becomes a self-perpetuating storage cell as long as a constant voltage is applied.

Random access means that locations in the memory can be written to or read from in any order, regardless of the memory location that was last accessed. Earlier asynchronous static RAM chips performed read and write operations sequentially. Newer synchronous static RAM chips overlap reads and writes. Contrast with dynamic RAM.


Related posts:

About author

This article was written by admin

Admin has over twenty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles. Working presently as Development Manager in India. A firm Believer in Knowledge grows when it shared.


Comments (3)
  1. sam says - Posted: August 27, 2012

    Very informative writeup.

  2. Taruhan Bola says - Posted: October 24, 2012

    Thanks for another informative blog. Where else could I get that kind of information written in such an ideal way? I have a project that I’m just now working on, and I have been on the look out for such information.

  3. Aaron Leonhart says - Posted: October 24, 2012

    WONDERFUL Post.thanks for share..extra wait .. …

Leave your comment

Your email address will not be published. Required fields are marked *