Skip to content

Classification of Memory

Memory can generally be classified into four major categories: internal memory (RAM), external memory (ROM), buffer memory (Cache), and flash memory (Flash).

RAM (Random Access Memory)

RAM, or random access memory, allows for the random retrieval and storage of data. Data can be accessed or stored as needed without the requirement for linear sequential storage. It offers fast data access but loses its contents when the power is cut. RAM has relatively small capacity and is primarily used for direct data exchange with the CPU (or MCU). RAM is also referred to as main memory.

There are several types of RAM:

  • SRAM (Static RAM): SRAM offers static access functionality, meaning it doesn't require a refresh circuit to maintain its internal data. It is known for high performance, low integration (taking up a lot of space), high power consumption, and very fast speeds. However, it tends to be expensive and has limited capacity. SRAM is often integrated into MCUs or SOCs for high-speed caching purposes. Cache serves as a buffer for data exchange. When a device needs to read data, it first checks the cache. If the data is found, it is retrieved directly from the cache. Cache helps the system run faster because it is significantly faster in read and write operations compared to main memory.
    • PSRAM (Pseudo Static RAM): PSRAM includes an internal refresh mechanism.
    • SSRAM (Synchronous Static RAM): SSRAM has a clock line, and its read and write operations are synchronized with clock signals.
  • DRAM (Dynamic RAM): DRAM requires periodic refresh and recharging to prevent the loss of internal data. The DDR memory modules used in modern computers fall under this category.
    • DARAM (Dual-Port RAM): DARAM allows access twice within one clock cycle.
    • SDRAM (Synchronous Dynamic RAM): Data transfer in SDRAM is synchronized with clock signals.
      • SDR SDRAM (Single-Data-Rate SDRAM): SDR SDRAM uses single-ended clock signals and samples data on the rising edge of the clock signal.
      • DDR SDRAM (Double-Data-Rate SDRAM): DDR SDRAM samples data on both the rising and falling edges of the clock signal, effectively doubling the data transfer rate. It uses differential clock signals to enhance noise immunity. Operating voltage is 2.5V/2.6V.
      • DDR2 SDRAM: Memory clock ranges from 200 to 533MHz, and the operating voltage is 1.8V.
      • DDR3 SDRAM: Features an 8-bit prefetch mechanism, memory clock ranges from 400 to 1066MHz, and the operating voltage is 1.5V/1.35V.
      • DDR4 SDRAM: Features a 16-bit prefetch mechanism, and the operating voltage is 1.2V.
      • DDR5 SDRAM: Operates at 1.1V.
      • GDDR SDRAM (Graphics DDR): Multiple versions, including GDDR2 to GDDR6.
      • LPDDR SDRAM (Low Power DDR): Operates at a clock frequency of 166MHz, with LPDDR2 running at 1.2V and clock frequencies ranging from 100 to 533MHz.

Comparison of the parameters for three versions of DDR:

Operating Frequency 400/533/667/800 MHz 200/266/333/400 MHz 100/133/166/200 MHz
Data Transfer Rate 800/1066/1333/1600 MT/s 400/533/667/800 MT/s 200/266/333/400 MT/s
Prefetch Width 8-bit 4-bit 2-bit
Input Clock Type Differential Clock Differential Clock Differential Clock
Burst Length 8,4 4,8 2,4,8
DQS Differential Data Strobe Differential Data Strobe Single-Ended Data Strobe
Power Voltage 1.5V 1.8V 2.5V
Data Level Standard SSTL_15 SSTL_18 SSTL_2
CL 5,6,7,8,9 Clocks 3,4,5 Clocks 2,2.5,3 Clocks
ODT Supported Supported Not Supported

External ROM

External ROM (Read Only Memory), also known as auxiliary storage, cannot directly exchange information with the CPU. It has a much slower storage speed but a larger capacity and is often used in simple systems in conjunction with memory as storage space for programs and other files.

ROM was initially one-time programmable, with data being written only once, and subsequent operations were read-only. Data persists even when power is lost. Examples include CD-ROM and DVD-ROM. Later, PROM, EPROM, and EEPROM appeared, which allowed conditional writing.

External ROM falls into the following categories (in chronological order):

  • PROM: Programmable ROM with internal matrix of fuses. It can be written once, and if a mistake is made, the entire chip needs to be replaced.
  • EPROM: Erasable Programmable ROM that can be erased using ultraviolet light. High-voltage pulse signals are needed for writing.
  • OTP-ROM: One-time programmable ROM with a writing principle similar to EPROM.
  • EEPROM: Electrically Erasable Programmable Read-Only Memory, an advancement of EPROM that allows electric erasure and byte-level operations. However, it has lower integration and is relatively expensive.

Flash Memory

Flash memory is a long-lasting non-volatile (retains data even without power) storage type, which can be considered a broader category of EEPROM because it's electrically erasable ROM. The main difference is that it can only be read and written in sectors (blocks) and has a lower cost compared to EEPROM. FLASH is divided into NOR FLASH and NAND FLASH.

Flash memory falls into the following categories (in chronological order):

  • NOR Flash: NOR Flash separates data lines and address lines, enabling random addressing and reading like RAM. This means programs can run directly on NOR Flash without the need to copy to RAM. However, NOR Flash has a smaller capacity and is available in Parallel and Serial NOR Flash variants.
  • NAND Flash: NAND Flash shares data lines and address lines, preventing random addressing and direct program execution. It offers a larger capacity and comes in variants like SLC, MLC, TLC, and QLC.
  • MMC: MMC interface, NAND Flash, main controller.
  • eMMC Flash: An embedded storage solution with an MMC interface (parallel data bus), NAND Flash, and a main controller.
  • UFS: Serial data bus, NAND Flash, main controller.

Additional Information

  • The latest 5.1 standard of eMMC theoretically reaches a maximum speed of 400MB/s. The major advantage of UFS is its dual-channel bidirectional read and write capability, with UFS 3.0 offering a maximum interface bandwidth of 23.2Gbps, which is equivalent to 2.9GB/s.
  • The circuit interface of eMMC is the same as that of an SD card, with an SD card being soldered onto the PCB and equipped with gold fingers and a casing. eMMC supports 8-bit and 4-bit data buses, while the SD card standard uses a 4-bit data bus.
  • eMMC has two buses for transmitting command data input and output, and due to its parallel bus, it requires additional data strobe. UFS, on the other hand, employs two differential data lanes, and both commands and data are transmitted in packet form.
  • SSD = Main controller + DRAM cache + NAND Flash
  • eMMC = Main controller + NAND Flash + standard package interface

References and Acknowledgments

This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.

This post is translated using ChatGPT, please feedback if any omissions.