FLASH存储-----NAND FLASH
B.
C.
对于大量用在各类存储卡上的NAND
表3给出了SSFDC规范中逻辑地址的标注方法。在系统初始化的时候,驱动程序先将所有的块扫描一遍,读出他们所对应的逻辑地址,并把逻辑地址和虚拟地址的映射表建好。系统运行时,驱动程序通过查询映射表,找到需要访问的逻辑地址所对应的物理地址然后进行数据读写。
字节序号 | 内容 | 字节序号 | 内容 |
512 | 用户定义数据 | 520 | 后256BECC校验和 |
513 | 521 | ||
514 | 522 | ||
515 | 523 | 块逻辑地址 | |
516 | 数据状态 | 524 | |
517 | 块状态 | 525 | 前256BECC校验和 |
518 | 块逻辑地址1 | 526 | |
519 | 527 |
表4给出了块逻辑地址的存放格式,LA表示逻辑地址,P代表偶校验位。逻辑地址只有10bit,代表只有1024bit的寻址空间。而SSFDC规范将NAND设备分成了多个zone,每个zone
表4
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
0 | 0 | 0 | 1 | 0 | LA9 | LA8 | LA7 | 第518 |
LA6 | LA5 | LA4 | LA3 | LA2 | LA1 | LA0 | P | 第519 |
有了以上的软件规范,就可以对NAND设备写出较标准的ECC校验,并可以编写检测坏块、标记坏块、建立物理地址和逻辑地址的映射表的程序了。
static int NF_IsBadBlock(U32 block)
{
}
static int NF_MarkBadBlock(U32 block)
{
}
int search_logic_block(void)
{
}
这段代码的主要作用就是产生数组lg2ph[],这个数组的含义就是“块物理地址=lg2ph[逻辑地址]”。
FLASH存储NANDFLAS 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)