ST72681 STMicroelectronics, ST72681 Datasheet - Page 12

no-image

ST72681

Manufacturer Part Number
ST72681
Description
USB 2.0 HIGH-SPEED 8-BIT MCU FLASH DRIVE CONTROLLER
Manufacturer
STMicroelectronics
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ST72681
Manufacturer:
ST
0
Part Number:
ST72681-R21
Manufacturer:
ST
0
Part Number:
ST72681/R20
Manufacturer:
ST
0
Part Number:
ST72681/R21
Manufacturer:
ST
0
Part Number:
ST72681/R21@@@@@
Manufacturer:
ST
0
Part Number:
ST72681R21
Manufacturer:
SKYWORKS
Quantity:
9 000
Part Number:
ST72681R21
Manufacturer:
ST
Quantity:
20 000
NAND Flash interface
4.3.2
4.3.3
4.4
4.4.1
12/34
Bad block replacement
The firmware works with groups of 1024 blocks, called zones. A complete NAND Flash
configuration can contain several zones.
Each zone is described in a Look Up Table (LUT) containing 1024 entries. A LUT is
composed of 3 parts: used blocks, free blocks and bad blocks.
The used blocks part is used to do a correspondence between NAND Flash blocks and
logical address ranges.
This system allows all bad blocks to be masked from the Host. As a result, bad blocks are
never seen. Only a range of logical addresses are visible which correspond to the sum of
the used blocks part of all zones.
Late fail block
During normal application life, defects can appear in the NAND Flash memory. Under
certain conditions, these defects are not correctable and the corresponding block is
declared as “bad”.
In this case, new bad blocks are identified in the bad blocks part of the LUT and replaced by
new blocks from the “free blocks” part.
Wear levelling
During normal application life, the NAND Flash memories written and erased (by block)
many times. The NAND Flash device is guaranteed for a limited number of writes (about 100
000 cycles). As a consequence, the controller must keep write/erase operations to a
minimum for any individual block.
A method to limit these cycles is to use a “Wear Levelling” scheme between all NAND Flash
memory blocks.
LUT usage
The LUT is used for transfers between a logical address range and a block. It contains free
blocks which are used in the “wear levelling” scheme.
During write command treatment, the firmware calculates the zones, blocks and pages for
data write access. In a block write operation, the firmware applies the following scheme to
avoid block wearing:
The “bad blocks” part contains as many entries as the number of bad blocks identified
in that zone.
The “used blocks” part can have a size of 1000, 900 or 500 entries. This size is
configurable and also depends on the number of identified bad blocks.
The “free blocks” part contains the remaining entries.
The least recently-used block is chosen from the free block part of the LUT.
Valid data from the old block is copied to the new block.
New data from the write command is written to the new block.
The old block is erased.
The LUT is updated after identifying the new block in the used block part and the old
block in the free block part.
ST72681

Related parts for ST72681