NAND Memory Protocols: The Difference Between SDR and DDR

NAND Memory Protocols: The Difference Between SDR and DDR

Everyone who works in NAND data recovery knows that reading NAND requires using a protocol. The most popular protocols are Async and WL. Almost all protocols have two versions: SDR and DDR.





1. Protocols in reader configuration

What is SDR and DDR and what is the difference between them?
Difference Between SDR and DDR in NAND Memory:


SDR (Single Data Rate)
  • Data Transfer Method:
    Data is transferred on only one edge of the clock signal (RE), usually on the rising edge.

  • Data Transfer Speed:
    The data transfer speed in SDR mode is limited because data is transferred only once per clock cycle.



DDR (Double Data Rate)

  • Data Transfer Method:
    Data is transferred on both edges of the clock signal (RE) – both the rising and falling edges. This means twice as much data is transferred in each clock cycle.

  • Data Transfer Speed:
    The data transfer speed in DDR mode is twice as fast compared to SDR mode at the same clock frequency, leading to higher read and write performance.

It is possible for two devices to have the same NAND ID but use different read modes (SDR or DDR). This situation can occur due to several reasons:

  • Memory Controller Capabilities:
    The memory controllers in the devices may have different capabilities. One controller may support only SDR mode, while another, more advanced controller supports both SDR and DDR modes. This allows the same NAND chip to be used in different devices with varying performance requirements.

  • Design Requirements:
    The design requirements and intended use cases of the devices might differ. For instance, a high-performance SSD might use DDR mode to achieve faster data transfer rates, while a simpler, cost-effective device might use SDR mode to save on complexity and cost.


Example Scenario

Consider two different devices:

  • Device A: A budget-friendly USB flash drive that uses SDR mode for reading data from the NAND flash. It focuses on cost-effectiveness and compatibility with a wide range of systems.
  • Device B: A high-performance SSD that uses DDR mode to maximize data transfer speeds and provide better performance for data-intensive applications.

Both devices could use the same NAND flash chip with the same NAND ID, but their overall performance and use cases would differ significantly due to the different read modes enabled by their respective controllers and firmware.


How to Determine When It Is Necessary to Switch from SDR to DDR or from DDR to SDR

The answer lies in the bitmap. If the memory was using SDR mode, but the configuration in VNR is for DDR, then after opening the bitmap, we can see some characteristic patterns. In HEX mode, we can check if every byte is repeating twice. In that case, it is necessary to switch the protocol from DDR to SDR, for example, from Async DDR to Async SDR, WL DDR to WL SDR, and so on.


2. NAND using SDR reading by DDR mode


Let's check the reverse case: the NAND was using DDR mode, but the configuration in VNR is for SDR mode. The answer is also in the bitmap. The first thing we need to check is the first byte. If we are reading the memory in SDR mode, but the memory was used in DDR mode, then the first byte is almost always empty. However, this is not a rule for all cases. The second thing to check, and it always proves the reading mode is correct, is the middle of the page. If the memory was used in DDR mode, and we are reading it in SDR mode, we are reading only half of the bytes, and the data ends in the middle of the page, not near the end. In that case, we need to check how it looks when we change from SDR to DDR mode, and it is important to change from Async SDR to Async DDR or WL SDR to WL DDR. The rest of the protocol, except the reading mode (SDR/DDR), must remain the same.


3. NAND using DDR reading by SDR mode - begin of page



4. NAND using DDR reading by SDR mode - middle of page




Let's Summarise

Sometimes it is possible to find the NAND configuration, but it is not possible to find ECC or XOR, or the solution from the database doesn't work. If the dump doesn't have bad columns, it is important to check the protocol mode used to read the memory as shown above.


    • Related Articles

    • NAND Bad Columns analysis and removal

      Every crystal of modern NAND chip consists of several planes. Typically, it consists of 2 or 4 planes. The plane consists of an array of memory cells grouped into pages and blocks. Planes are connected so that Plane 0 is composed of even physical ...
    • ECC in NAND flash memory

      All modern flash storage devices have a problem with data integrity caused by a poor quality of the NAND chips. This problem is well known as “Bit errors”. When bit errors appear within the area where file is stored, it gets corrupted and unreadable. ...
    • Binary patterns in NAND flash memory

      Analysis and recognition of binary patterns in NAND flash memory is the key step in chip-off data recovery and digital forensic analysis of broken flash devices. This analysis is carried out in the Bitmap mode since the classic HEX view does not ...
    • NAND Bad Columns. Bad Column Remover

      Each time during the chip-off data recovery, after the physical image extraction, and before any further step, it's necessary to check the quality of the dump. Due that memory chips are being read physically, the extracted dump may contain defects. ...
    • Analysis of bit errors in NAND and power adjustment

      During the NAND chip reading process, there are internal noise and interference occur, which results in bit errors and data corruption. This problem is particularly critical for TLC flash chips. If a physical image extracted with a high number of bit ...