Site Search

Introduction

On this page, I will explain why NAND flash memory is attracting attention in embedded systems, why it is important for embedded systems, and notes on implementation (1). mosquito? What should I do about it? I will explain.

In the previous article, please see Why NAND flash memory is attracting attention in embedded systems, the reason and precautions for implementation (1).

 

 

Phenomenon peculiar to NAND flash memory (1) Bit error

NAND flash memory is a non-volatile memory that can cause bit errors, ie data corruption. A certain number of bit errors may occur no matter which manufacturer's NAND flash memory is purchased. In order to read and write data correctly, it is necessary to detect and correct bit errors on the MCU/SoC side or NAND flash memory side.

NAND flash memory datasheets usually list how many bit errors can occur. For example, if a page is composed of 2112 bytes and the number of bit errors is described as 1 bit, as shown in Figure 4, 1 sector (528 bytes) is 1/4 of 1 page (2112 bytes). This means that 1 bit error can occur per bit. A maximum of 4 bit errors can occur when viewed in units of 1 page (2112 bytes). Note that the number of bit errors given in the datasheet is per sector.

The number of bit errors is highly dependent on the manufacturing process. For example, the manufacturing process for the 40nm generation is 1 bit, but as the generation progresses, 4 bits for the 30 nm generation, 8 bits for the 20 nm generation, and more bit errors may occur. Detecting and correcting many bit errors requires the use of more powerful ECC algorithms, which increases the processing time required for ECC and therefore the data read time.

Winbond's serial NAND flash memory "W25N01GVZEIT" is manufactured with a 46nm process, and a bit error of 1 bit per 1 sector (528 bytes) may occur. In addition, ECC is implemented by hardware logic inside this serial NAND flash memory, and it is possible to detect bit errors and correct bit errors up to 1 bit.

Phenomenon peculiar to NAND flash memory (2) Bad block

NAND flash memory may already contain blocks that cannot be read or written correctly at the time of shipment. In addition, repeated reading and writing after shipment may result in blocks that cannot be read and written correctly. The former is called Initial Bad Block, and the latter is called Additional Bad Block. When an initial bad block is detected or a subsequent bad block occurs, control is required to prevent access to these bad blocks.

As with bit errors, bad blocks can occur in a certain number no matter which manufacturer's NAND flash memory is purchased. Datasheets usually state how many bad blocks can occur over the life of a product. Winbond's NAND flash memory products currently stipulate that 2% of the total number of blocks in all products may be bad blocks (initial + late). For example, the serial NAND flash memory "W25N01GVZEIT" has a total of 1024 blocks. The datasheet states that a maximum of 20 blocks can be bad blocks.

Access control for bad blocks is generally performed using a management table (LUT: Look Up Table). For example, if an initial or subsequent bad block occurs in block 50, create a management table as shown in the lower right of Figure 5. By referring to this management table each time when reading or writing to NAND flash memory, even if block 50 is accessed, block 1023 is actually accessed, and access to block 50, which is a bad block, can be avoided. increase.

If the management table is lost when the system power is turned off, it will be difficult the next time the power is turned on, so it must be saved in non-volatile memory. If there is a non-volatile memory area on the MCU/SoC side, you can save it there, but it will eat up some of the valuable resources for NAND flash memory. Winbond's serial NAND flash memory "W25N01GVZEIT" has an internal non-volatile memory area dedicated to the management table, which can manage bad blocks without burdening the MCU/SoC side.

Summary

I explained what kind of product the serial NAND flash memory "W25N01GVZEIT" optimized for embedded systems is, and that it is necessary to pay attention to bad blocks and bit errors when using it. However, when using serial NAND flash memory, it is also necessary to pay attention to data reliability. From the aspect of reliability of written data such as Endurance, Retention, and Disturb, I would like to explain how to use serial NAND flash memory at the next opportunity.

Click here for related links

Inquiry / Quotation

If you have any questions, samples, or requests for quotations regarding this product, please contact us using the form below.

Back to Winbond Manufacturer Information Top

If you want to return to Winbond manufacturer information top page, please click below.