1. 根据物理结构上的区别,Nand Flash主要分为:

SLC(Single Level Cell): 单层式存储

MLC(Multi Level Cell): 多层式存储

TLC(Triple Level Cell): 三层式存储

注:SLC在存储格上只存一位数据(2个状态),MLC存放两位数据(4个状态),TLC存放三位数据(8个状态)。

2. Nand Flash 地址结构

注:

①Row Address即页地址,Column Address即页内偏移

②正常页内容读取用Column Address(A0-A10),共11位,最大索引地址为2^11 = 2048

③OOB区域索引用Column Address(A0- A12),共12位,可以索引2048后面的地址

3. Nand Flash 信号引脚

①CLE(Command Latch Enable): 命令锁存允许

②ALE(Address Latch Enable): 地址锁存允许

③CE: 片选

④RE: 读允许

⑤WE: 写允许

⑥WP: 在写或者擦期间,提供写保护

⑦R/B: 读/忙

注:

现代一些SOC都自带Nand Flash控制器,软件工程师只需配置一些控制寄存器,然后按照顺序填写命令寄存器、地址寄存器,操作数据寄存器读写数据。

4. Nand Flash 命令集

5. ECC校验

① ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法

② 校验码生成算法:ECC校验每次对256字节的数据进行操作,包含列校验和行校验

列校验:

注:CP0~CP5为6个Bit位,表示Column Parity(列极性)

行校验:

注:RP0~RP15为16个Bit,表示Row Parity(行极性)

综上,对256字节的数据共生成了6个Bit的列校验结果,16个Bit的行校验结果,共22个Bit

最新文章

  1. java中的移位运算符:<<,>>,>>>总结
  2. 常用网络工具 ipconfig arp traceroute
  3. [JavaWebService-axis]-环境搭建
  4. 用eclipse创建maven项目
  5. [转]简析 IOS 程序图标的设计
  6. 常用SQL语句汇总整理
  7. 十,选择cfee编辑器并学会调试程序。以及结束语。
  8. iOS开发——动画篇Swift篇&动画效果的实现
  9. 使用EF 的简单的增删改查
  10. 武汉科技大学ACM:1004: Lake and Island
  11. PyQt通过resize改变窗体大小时ListWidget显示异常
  12. Java中的代理模式--静态代理和动态代理本质理解
  13. 问题排查:The requested URL /test/index.jsp was not found on this server
  14. python全栈开发-Day10 装饰器(闭合函数的应用场)
  15. scrapy crawl rules设置
  16. 使用 PuTTY 从 Windows 连接到 Linux 实例
  17. [Java]list集合为空或为null的区别
  18. 大数据-10-Spark入门之支持向量机SVM分类器
  19. net 表格控件
  20. dos命令批处理发送文字到剪贴板

热门文章

  1. PHP如何将XML转成数组
  2. [tensorflow]异或门的实现
  3. Windows版本Apache+php的Xhprof应用__[2]
  4. 洛谷P3328(bzoj 4085)毒瘤线段树
  5. 吐槽下linq to sql的分页功能
  6. SpringBoot10 整合JSP
  7. niginx隐藏入口文件index.php
  8. Google B4网络阅读记录(翻译)
  9. Paint类的介绍
  10. [转]oracle11g 修改字符集 修改为ZHS16GBK