Atmel AT91 ARM Series Application Note Download Page 8

8

6320B–ATARM–05-Nov-07

Application Note

Figure 4-4.

ECC Calculation During Page Write Sequence with Random Write Spare Area

4.3.2

Page Read Sequence

The ECC controller is automatically reset as soon as the first read command (00h) is performed
to the NAND Flash or the SmartMedia device.

The ECC calculation starts only once the required address cycles (the number of address cycles
depends on the device type) and the second read command (30h) is performed to the NAND
Flash or the SmartMedia device.

The ECC is refreshed at each read access of the page until the last byte or half word of the main
area is read.

Once the whole main area has been read, the next four data read accesses must be performed
to the spare area locations where ECC has been previously stored by the software application. If
this condition is not respected, the ECC controller will not be able to check data integrity.

Since Parity ECC and NParity has been previously stored in locations of the spare area which
are not contiguous to the main area, it is useful to perform a random read command sequence
before performing the four ECC data accesses.

Please note that apart from data accesses (ALE = CLE = 0), the ECC controller ignores any
other command which is performed to the NAND Flash or the SmartMedia device. 

The ECC controller performs error detection automatically by applying an XOR operation
between the calculated ECC and the ECC stored in the spare area. 

In order to determine if an error has been detected by the ECC controller, the software applica-
tion must check the MULERR, ECCERR and RECERR fields in the ECC Status Register
(ECC_SR).

4.3.2.1

No Error

MULERR, ECCERR and RECERR fields in the ECC Status Register (ECC_SR) are all cleared.

XOR between the calculated ECC computation and the ECC code stored in the spare area is
equal to 0. 

4.3.2.2

Recoverable Error

Only the RECERR field in the ECC Status register (ECC_SR) is set. The corrupted word offset
in the read page is defined by the WORDADDR field in the ECC Parity Register (ECC_PR). The
corrupted bit position in the concerned word is defined in the BITADDR field in the ECC Parity
Register (ECC_PR).

Write 

Command 2

Spare Area ECC locations  

Write Accesses

10h

ECC

ECC

ECC

ECC

I/Ox

Address

Write 

Command 1

Address cycles

ECC Controller

Reset

Main Area Write Accesses

Accesses Allowing ECC calculation

Start of ECC 

Calculation

ECC Result 

Ready in and Locked

Accesses Ignored by the ECC Controller

for ECC calculation

80h

1st

2nd

...

n th

Main Area Size

 

Address

Random 

Write

Command

Column Address

cycles

85h

Summary of Contents for AT91 ARM Series

Page 1: ...of bad blocks does not affect the good ones because each block is indepen dent and individually isolated from the bit lines by block select transistors Because NAND Flash devices have a finite lifetim...

Page 2: ...in Section 2 1 Internal Array Architecture NAND flash devices contain a certain percentage of invalid blocks at the end of the production process Invalid blocks are defined as blocks that contain one...

Page 3: ...Half Word 7thHalf Word 8thHalf Word BI LSN1 LSN0 LSN2 Reserved Reserved Reserved Reserved Reserved Reserved Reserved ECC0 ECC1 ECC2 S ECC0 S ECC1 Cell Array 512 Bytes Cell Array 512 Bytes Cell Array 5...

Page 4: ...8 bit devices or sixth half word 16 bit devices in the spare area of Small Page devices Manufacturers make sure that every invalid block has non FFh 8 bit devices or non FFFFh 16 bit devices data in...

Page 5: ...e bit correction per 512 1024 2048 4096 8 or 16 bit words Of the 32 ECC bits 26 bits are for line parity and 6 bits are for column parity They are generated according to the schemes shown in Figure 4...

Page 6: ...ARM 05 Nov 07 Application Note Figure 4 2 Parity Generation for 512 1024 2048 4096 16 bit Words 1st word 2nd word 3rd word 4th word Page size 3 th word Page size 2 th word Page size 1 th word Page siz...

Page 7: ...vice type is performed to NAND Flash or the SmartMedia device The ECC is refreshed at each write access of the page until the last byte or half word of the main area is written Once the whole main are...

Page 8: ...CLE 0 the ECC controller ignores any other command which is performed to the NAND Flash or the SmartMedia device The ECC controller performs error detection automatically by applying an XOR operation...

Page 9: ...d Sequence without Random Read Spare Area Main Area Size I Ox Address Read Command 1 Read Command 2 Address Cycles ECC Controller Reset Data Accesses Main Area Read Accesses Accesses allowing ECC calc...

Page 10: ...ytes ECC for 512 bytes of data per page The AT91SAM ECC controller manages ECC as 4 bytes ECC for 512 1024 2048 4096 bytes of data per page Since the ECC offset in the spare area and the number of ECC...

Page 11: ...05 Nov 07 Application Note 7 Revision History Doc Rev Comments Change Request Ref 6320A First issue 6320B Figure 4 3 and Figure 4 4 updated Section 3 2 Spare Area Assignment updated sentence refering...

Page 12: ...ELATING TO ITS PRODUCTS INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTY OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE OR NON INFRINGEMENT IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT INDIR...

Reviews: