]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/Driver/src/Driver_NAND_AddOn.txt
Updates for GPIO CMSIS-Driver
[cmsis] / CMSIS / DoxyGen / Driver / src / Driver_NAND_AddOn.txt
1 /*
2 Purpose:    The text might be of interest in another place.
3             We have to decide whether we want to use it.
4             
5             Until a decision is made, do not delete the file.
6
7 Usage:      Storage of text. Not used in doxygen.
8
9 Created:    March 21, 2014
10 Author :    Bruno
11 Changed:
12 */
13
14
15
16 /**
17 \struct     ARM_NAND_DEVICE 
18 \details
19 Stores the characteristics of a NAND Flash device. This includes the page layout configuration, NAND type, 
20 device number (chip select), number of blocks, pages, sectors, and error correction code.
21
22 <b>Parameter for:</b>
23   - \ref ARM_NAND_Initialize
24
25 *******************************************************************************************************************/
26
27 /**
28 \struct     ARM_NAND_ECC_INFO_x
29 \details 
30 Stores the default NAND page layout definition (with \ref spare_size and \ref spare_offset),
31 which contains a \b Spare area after each sector. The struct \b ARM_NAND_ECC_INFO defines the \b Spare area.
32
33 The page size is defined as the sum of \b User area plus \b Spare area. 
34 Each page has a small number of associated "spare" bytes (typically 1/32 of the data size) to store the Error Correction Algorithms (ECC). 
35
36 The following standard page sizes are available:
37
38 Page Size| User + Spare Area
39 ---------|-------------------
40 528      |  512 +  16 bytes
41 2112     | 2048 +  64 bytes
42 4224     | 4096 + 128 bytes
43 8448     | 8192 + 256 bytes
44
45
46 \image html NAND_PageLayout.png "Default Page Layout"
47
48 <p>&nbsp;</p>
49 \image html NAND_SpareArea.png "Organization of the default 16-byte Spare area"
50
51 NAND devices require bad block management by the driver software or by a separate controller chip. 
52 For example, SD cards have mechanisms that execute wear leveling and  bad block management.
53 The memory capacity shrinks as more blocks are marked bad.
54 The block size is a value specified as amount of flash pages. 
55
56 The following block sizes are available:
57
58 Block Size| Pages
59 ----------|-------------------
60   8       |   8
61  16       |  16
62  32       |  32
63  64       |  64
64 128       | 128
65 256       | 256
66
67 \note
68 NAND chip manufacturers document the order in which pages can be written. 
69 Typically, single pages of an erase block must be written in sequential order starting from the first. Random-order writes are prohibited or unspecified.
70
71 <b>Parameter for:</b>
72   - \ref ARM_NAND_DEVICE structure
73 *******************************************************************************************************************/