地址数据复用型Flash存储器测试技术研究

2012-08-07 07:52王续朝
电子测试 2012年10期
关键词:存储器寄存器器件

王续朝

(北京自动测试技术研究所,北京 100088)

0 引言

随着当前移动存储技术的快速发展和移动存储市场的高速扩大,Flash型存储器的用量迅速增长。Flash芯片由于其便携、可靠、成本低等优点,在移动产品中非常适用。市场的需求催生了一大批Flash芯片研发、生产、应用企业。为保证芯片长期可靠的工作,这些企业需要在产品出厂前对Flash存储器进行高速和细致地测试,因此,高效Flash存储器测试算法的研究就显得十分必要。

本文以三星公司的K9F2G08R0A芯片为例,介绍Nand-flash存储器芯片的读写流程和时序。

1 Nand-Flash存储器的工作原理

1.1 Nand-Flash存储器的组成结构及指令集

K9F2G08R0A的容量为256M×8 Bit,存储空间按128K个页(行)、每页中2K+64个字节(列)的组成方式构成,备用的64列。K9F2G08R0A还将存储空间分为块(block),每1块由64个页构成。因此K9F2G08R0A中一共有2,048个块。这种“块-页”结构,恰好能满足文件系统中划分簇和扇区的结构要求。K9F2G08R0A的内部结构如图1所示。

图1 K9F2G08R0A的内部结构

K9F2G08R0A的读和写都以页为单位,擦除则以块为单位进行操作。

K9F2G08R0A的地址通过8位端口传送,有效地节省了引脚的数量,并能够保持不同密度器件引脚的一致性,系统可以在电路不作改动的情况下升级为高容量存储器件。

K9F2G08R0A通过CLE和ALE信号线实现I/O口上指令和地址的复用。指令、地址和数据都通过拉低WE和CE从I/O口写入器件中。有一些指令只需要一个总线周期完成,例如,复位指令、读指令和状态读指令等;另外一些指令,例如页写入和块擦除,则需要2个周期,其中一个周期用来启动,而另一个周期用来执行。

1.2 Nand-Flash操作

1.2.1 页读操作

在初始上电时,器件进入缺省的“读方式1模式”。在这一模式下,页读操作通过将00h指令写入指令寄存器,接着写入5个地址(2个列地址,3个行地址)来启动。一旦页读指令被器件锁存,下面的页读操作就不需要再重复写入指令了。

写入指令和地址后,处理器可以通过对信号线R/B的分析来判断该操作是否完成。如果信号为低电平,表示器件正“忙”;为高电平,说明器件内部操作完成,要读取的数据被送入了数据寄存器。外部控制器可以在以50ns为周期的连续RE脉冲信号的控制下,从I/O口依次读出数据。连续页读操作中,输出的数据是从指定的列地址开始,直到该页的最后一个列地址的数据为止。如图2读指令流程图所示。

图2 读指令流程图

1.2.2 页写操作

K9F2G08R0A的写入操作也以页为单位。写入必须在擦除之后,否则写入将出错。

页写入周期总共包括3个步骤:写入串行数据输入指令(80h),然后写入5个字节的地址信息,最后串行写入数据。串行写入的数据最多为2K+64字节,它们首先被写入器件内的页寄存器,接着器件进入一个内部写入过程,将数据从页寄存器写入存储宏单元。

串行数据写入完成后,需要写入“页写入确认”指令10h,这条指令将初始化器件的内部写入操作。如果单独写入10h而没有前面的步骤,则10h不起作用。10h写入之后,K9F2G08R0A的内部写控制器将自动执行内部写入和校验中必要的算法和时序,这时系统控制器就可以去做别的事了。

内部写入操作开始后,器件自动进入“读状态寄存器”模式。在这一模式下,当RE和CE为低电平时,系统可以读取状态寄存器。可以通过检测R/B的输出,或读状态寄存器的状态位(I/O 6)来判断内部写入是否结束。在器件进行内部写入操作时,只有读状态寄存器指令和复位指令会被响应。当页写入操作完成,应该检测写状态位(I/O 0)的电平。

内部写校验只对没有成功地写为0的情况进行检测。指令寄存器始终保持着读状态寄存器模式,直到其他有效的指令写入指令寄存器为止。如图3 写指令流程图所示。

图3 写指令流程图

1.2.3 块擦除

擦除操作是以块为单位进行的。擦除的启动指令为60h,块地址的输入通过两个时钟周期完成。块地址载入之后执行擦除确认指令D0h,它用来初始化内部擦除操作。擦除确认命令还用来防止外部干扰产生擦除操作的意外情况。器件检测到擦除确认命令输入后,在WE的上升沿启动内部写控制器开始执行擦除和擦除校验。内部擦除操作完成后,检测写状态位(I/O 0),从而了解擦除操作是否有错误发生。如图4擦除指令流程图所示。

图4 擦除令流程图

1.2.4 读状态寄存器

K9F2G08R0A包含一个状态寄存器,该寄存器反应了写入或擦除操作是否完成,或写入和擦除操作是否无错。写入70h指令,启动读状态寄存器周期。状态寄存器的内容将在CE或RE的下降沿处送出至I/O端口。

器件一旦接收到读状态寄存器的指令,它就将保持状态寄存器在读状态,直到有其他的指令输入。因此,如果在任意读操作中采用了状态寄存器渎操作,则在连续页读的过程中,必须重发00h或50h指令。

1.2.5 读器件ID

K9F2G08R0A器件具有一个产品鉴定识别码(ID),系统控制器可以读出这个ID,从而起到识别器件的作用。读ID的步骤是:写入90h指令,然后写入一个地址00h。在两个读周期下,厂商代码和器件代码将被连续输出至I/O口。

同样,一旦进入这种命令模式,器件将保持这种命令状态,直到接收到其他的指令为止。

1.2.6 复位

器件提供一个复位(RESET)指令,通过向指令寄存器写入FFh来完成对器件的复位。当器件处于任意读模式、写入或擦除模式的忙状态时,发送复位指令可以使器件中止当前的操作,正在被修改的存储器宏单元的内容不再有效,指令寄存器被清零并等待下一条指令的到来。当WP为高时,状态寄存器被清为C0h。

2 BC3196H存储器图形

2.1 系统图形指令

INC:执行当前行图形,然后转到下一行

LDC,n:加载循环计数器,该行为循环起始行。同时执行当前行图形,之后转到下一行图形。循环次数为n。

LOOP:循环语句。执行当前行图形后,开始循环LDC到LOOP语句之间的图形n次。循环满后转到下一行图形。

RPT,n:重复执行当前行图形n次,然后跳转到下一行图形。RPT,1执行当前图形2次,即重复一次。

HALT :停止命令。

2.2 XY地址AB寄存器算法指令

A:<16 位数 > B:<16 位数 > :装 载 Load, 可同时装载

A++ B++ : A 、B 寄存器加 1

A-- B-- : A、B 寄存器减 1

A B :无操作

A:X :A 寄存器装载 X 地址

2.3 写指令

指令 算法图形 WP CE1 CE2 WE RE CLE ALE R/B1 R/B2 IO

INC,

WRITED,X=A,A:0;Y=A;D=Z; 1 1 1 1 1 0 0 X X XXXXXXXX //Page Write(BOCK1)

LDC,63, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 1 0 X Z 10000000 //80h_(SerialData Input)

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 Z Z 00000000 //Col Addr1

INC, WRITED,X=A;Y=A;D=A; 1 0 1 0 1 0 1 Z Z 00000000 //Col Addr2

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 Z X ZZZZZZZZ //Raw Addr3

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 X Z 00000000 //Raw Addr4

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 Z X 00000000 //Raw Addr5

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 0 0 Z Z XZZXZXZX

RPT,2111, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 0 Z X 01010101 //Write 55

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 1 0 X Z 00010000 //10h_(Program Command)

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 1 0 X Z XXXXXXXX

RPT,500, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 1 0 L Z XXXXXXXX //tPROG

RPT,7000, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 1 0 X Z ZZZZZZZZ //tPROG

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 1 0 Z Z 01110000 //70h_(Read State Command)

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 1 0 0 0 Z X XXXXXXXL //I/O0=0

INC, WRITED,X=A,A++;Y=A;D=Z; 1 1 1 1 1 0 0 Z Z XXXXXXXX

LOOP, WRITED,X=A;Y=A;D=Z; 1 1 1 1 1 0 0 Z Z XXXXXXXX

HALT, WRITED,X=A;Y=A;D=Z; 1 1 1 1 1 0 0 Z Z XXXXXXXX //---------------

2.4 读指令

指令 算法图形 WP CE1 CE2 WE RE CLE ALE R/B1 R/B2 IO

INC, WRITED,X=A,A:0;Y=A;D=Z; 1 1 1 1 1 0 0 X X XXXXXXXX //Page Read

LDC,63, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 1 0 Z X 00000000 //00H_(Read Addr)

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 X X 00000000 //Col Addr1

INC, WRITED,X=A;Y=A;D=A; 1 0 1 0 1 0 1 X X 00000000 //Col Addr2

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 X X ZZZZZZZZ //Raw Addr3

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 X X 00000000 //Raw Addr4

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 0 1 X X 00000000 //Raw Addr5

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 0 1 1 0 Z X 00110000 //30H_(Read Command)

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 0 0 X X ZXXXXXXX

RPT,50, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 0 0 L Z ZXXXXXXX //tR

RPT,200, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 0 0 Z X XXXXXXXX //tR

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 0 0 Z X XXXXXXXX

RPT,2111, WRITED,X=A;Y=A;D=Z; 1 0 1 1 0 0 0 Z X LHLHLHLH //Read 55

INC, WRITED,X=A;Y=A;D=Z; 1 0 1 1 1 0 0 Z X ZXXXXXXX

INC, WRITED,X=A,A++;Y=A;D=Z; 1 1 1 1 1 0 0 X X ZZZZZZZZ

LOOP, WRITED,X=A;Y=A;D=Z; 1 1 1 1 1 0 0 X X ZZZZZZZZ

HALT, WRITED,X=A;Y=A;D=Z; Z Z Z Z Z Z Z X X XXXXXXXX //---------------

3 实验结果

根据上述思想,我们在国产BC3196H的测试系统平台上,对K9F2G08R0A进行了测试并通过对数字系统算法图形功能进行改善,算法图形发生器由多个算术逻辑单元、多路选择器以及操作寄存器组成,可以实现复杂的逻辑操作和算术运算,在原有的X地址、Y地址复用的基础上,增加为X地址、Y地址、D数据的复用,可以更快、更简便的对地址复用型Flash存储器进行测试,减少测试程序开发难度。

4 结论

本文主要讨论了Nand-Flash存储器芯片的工作原理,较好地解决了Flash存储器测试的困难。通过对复用型Flash算法图形功能的改善,可以实现复杂的逻辑操作和算术运算,更快捷的对存储器进行测试,提高了Flash存储器芯片的测试开发周期,提高了测试效率。在大容量的存储器测试的时候,测试时间还有待提高,希望在以后能够研究出更快速更简洁的算法图形发生器及算法,进一步提高整个Flash存储器芯片的测试效率。

[1]黄海军,宜怀.嵌入式系统中Nand-Flash的原理及应用[J].电子开发网,2010.

[2]李海宏,刘文怡,张彦军.通用Flash存储器检测装置的设计与实现[J].微计算机信息,2008(2).

[3]樊寅逸,何海光.AT45DB081B在数据采集系统中的应用[J].电子元器件应用,2007 (3).

[4]岳丽华,韦鹏,钟诚.一种自适应的复合多路flash存储结构[J].中国科学技术大学学报,2008(7).

[5]王艺燃,于宗光.一种应用于DSP嵌入式存储器的灵敏放大器设计[J].微电子学,2010 (2).

[6]雷加,晏筱薇.Flash存储器的内建自测试设计[J].微计算机信息,2008 (5)

[7]陈桂生,李志刚.嵌入式Flash文件系统的设计与实现[J].计算机系统应用,2010 (5).

[8]任勇峰,郭亚力.Flash存储器的高速写入方法[J].电脑开发与应用,2001(5).

[9]廖专崇,黄俊义.存储技术的现状与未来[J].电子产品世界,2004(01).

猜你喜欢
存储器寄存器器件
STM32和51单片机寄存器映射原理异同分析
静态随机存储器在轨自检算法
Lite寄存器模型的设计与实现
旋涂-蒸镀工艺制备红光量子点器件
面向高速应用的GaN基HEMT器件
一种加载集总器件的可调三维周期结构
高分辨率遥感相机CCD器件精密热控制
存储器——安格尔(墨西哥)▲
基于Nand Flash的高速存储器结构设计
高速数模转换器AD9779/AD9788的应用