1、Nand Flash 简明自学资料助您理解 datasheet 要点内容清单:一 技术常识部分1、逻辑组成2、常见参数3、地址结构二 基本操作、时序图部分*通用引脚符号声明1、Read读2、Program 写3、Block Erase擦除4、其它*时序图要点讲解编写目的:从编程操作角度,简介一些有助于理解 nand flash datasheet(数据手册)上相关内容的要点。编写原因: 各种 nand flash 英文 datasheets 上的内容虽详尽但繁杂,有些业内常识性的东西没交代清楚,给初学者造成困扰; 不同的 datasheets 都有一些共通的要点(基本架构、指令和符号等) ,了
2、解这些后再看 datasheet 的操作命令和时序图部分会省力很多。1一 技术常识部分1、逻辑组成(1) 功能结构抽象图注:1)Cache 有时也被称为 Cache register.(严格来讲应称为缓冲区 buffer) ;2)上述 Data 指的是输入/输出数据(即 Input/Output Data,简称 I/O Data) ,因为从广义上讲所有能存取于硬件设备上的资料都可称为 Data,包括图中的 ECC码(Error Correcting Code) ,所以 Page register.也可被称为 Data register.(数据寄存器) ;(2) 闪存层次结构Page(页):对
3、nand flash 进行读写操作的逻辑单位,一般容量为几到十几 KB;附有额外的小存储区域,这里存储 ECC 码等附加信息。Block(块):许多 page 构成一个 block,是擦除的操作单位;一般产品出厂时都有invalid /bad block(坏块) ,已由厂家在对应 block 里作相应标示,操作时不能清除这些标注信息,每个 flash 的第一个 block(编号 00h)是在出厂时是好的,用于存储 invalid / bad block table(坏块表) ;使用过程中也会产生坏块,发生操作失败时(即使用 ECC 技术检测到有不可纠正错误时) ,要将相应的坏块标出,升级坏块表
4、,改写逻辑地址与物理地址的映射。2Plane(层): 可将 flash 里众多的 block 分成不同的层,并使用多层操作指令以提高存取效率。此外,根据 flash 容量大小,还可定义更高一级的存储单位,如 LUN(Logic Unit Number) ;一个 device 可集成多个 flash chip(闪存芯片 ) ,工作时可根据它们各自的运行状态为之安排执行任务,使它们同步运行。2、常见参数(注:不同厂商不同时期的不同型号产品参数会有差异,但在一定时期内,相同 / 近的技术支持使得大部分 flash 参数在数值或数量级上相同 / 近;下面以 Samsung(三星)K9GAG08U0M
5、的参数为例。 )(1)Vcc(工作电压):3.3 V (波动范围:2.7 V 3.6 V)(2)Memory Cell :2 bit / Memory Cell 上面表示每个 cell 存 2 bit 数据,即所谓 MLC(Multi-Level Cell,多层式储存单元)类型的 flash,如果是 1 bit / Cell 和 3 bit / Cell 则分别称为 SLC( Single Level Cell) 和 TLC( Triple-Level Cell) ; 随 着 cell 内 数 据 容 量 增 加 , flash 的 存 储 量 虽 增 加 , 造 价 也 大 幅 降 低 了
6、, 但数 据 存 取 的 出 错 率 却 增 加 , 速 度 变 慢 , 寿 命 也 变 短 , 目 前 , SLC 类 型 flash 适用 于 对 稳 定 性 要 求 高 的 小 容 量 储 存 系 统 , 而 MLC 则 成 为 大 容 量 储 存 领 域 的 主 流 ;nand flash 上可同时集成 MLC、S LC 和 TLC 区 域 ,操作时必须切换到相应模式。(3)Page Size:(4K+128)Byte (4KB 是 I/O 数据存储区的容量,而 128 Byte 为附加存储区的大小)(4)Data Register Size: (4K+128)Byte (5)Bloc
7、k Size:(512K+16K)Byte (=128Page Size,即此型号 1 block 含page)72(6)Page Program Time:0.8 mS(Typ,表示通常情况下页编程操作的平均时间)(7)Block Erase Time: 1.5 mS(Typ)(8)Serial Acess Time:25 nS(Min ) 即 Read/Write Cycle Time (Min),按顺序从 I / O 对 Cache 进行 1 次数据存取的最小时间 (9)ECC Requirement: 8 bit / KB (每 KB I/O 存储数据要求附带的存放在额外存储区的校验纠
8、错码位数)3、地址结构(下面的 )5.0”表 示 向 上 取 整 , 如“由于一般 nand flash 传递地址等信息时是 8 bit / 次,对应某些 datasheet 中的“8(Bit) ”,即以 1Byte 为不可拆分的传输单位,又因块、页和页内存储单位的地址编号一般是分开传输的(这样在操作处理时很方便,不用辨认再分) ,所以,若 flash 有个 x个 block ,每个块有 y 个 page ,每个页的容量(不包括额)2(1kkx )2(1nny外存储区)为 z KB ,则一般 flash 存储单位(1 Byte / 单位)完整地址中)(1mz3的最低 个 Byte 用于存储 C
9、olumn Adress(列地址) ,更高些的 个 Byte 用于存储8m 8npage 编号,剩下 个 Byte 的高位用于存储 block 编号,如是多层或多芯片等的,再在k其中插入相应编号即可,列地址以外的部分称为 Row Address(行地址,即页内偏移地址) 。二 基本操作、时序图部分*通用引脚符号声明 (1)CE#:芯片使能,表示 flash chip 是否被系统选中为当前操作芯片,低电平表示选中(2)I/O I/O : 这 8 个引脚用于输入 command、address、data,以及从 cache 中读取07data,当芯片没被选中或无法正常输出数据时,引脚会处于 hig
10、h-z(或 Hi-Z)状态,即高阻态,相当于隔断状态(有的 datasheet 将这些引脚信号记为 DQ 或 DQ7:0)X(3)DQS: 反映 toggle 模式下 I/O 与 flash 间 data 的读写情况,在信号上 /下沿表示进行一次读或写操作,即一次信号周期产生两次操作,比普通模式(1 次操作/信号周期)的读写效率高,一种型号的 nand flash 能否用 toggle 模式工作其 datasheet 上有说明,一般可看有无此引脚信号(4)RE#:读取使能,低电平时从 cache 中读取 data 到 I/O,一次高低信号周期完成一次数据读取操作,同时读取操作的内部 colum
11、n address counter(列地址计数器)加 1(5)WE#:写入使能,低电平时从 I/O 中输入 command、address、data ,在上升沿处操作完成,toggle 工作模式下不可用,被 DQS 的写控制输入信号代替(这是因为WE#也是从外部输入的写控制信号,不可共同起作用;而 RE#虽也为控制输入信号,但读操作时 DQS 的读信号是作为状态信号输出,故它们同时有效)(6)CLE: 指令锁存使能,辨别输入内容是否 command,高电平时表示是,同时在对应的 WE#低电平信号的上升沿处 command 被锁存至 command register(7)ALE: 地址锁存使能,辨别输入内容是否 address,高电平时表示是,同时在对应的WE#低电平信号的上升沿处 address 被锁存至 address register4(8)R/B#:表示 chip 处于 Ready 还是 Busy 状态(即 flash 内部是否还在执行读写、擦除指令,此时外部不可对芯片进行操作) ,低电平表示 Busy,当芯片未被选中或无法输出数据时不会处于 high-z 状态,仍可用于检测芯片的闲忙状态(9)WP#:写入保护,在电源转换过程中处于有效的低电平状态,保护 flash 里的内容不受改写
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。