可实现Nand Flash状态检测的装置及方法制造方法及图纸

技术编号:6934486 阅读:434 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种可实现Nand?Flash状态检测的装置及方法。在本发明专利技术中,对于耗时较短的读操作,在R/B#管脚检测阶段中允许Nand?Flash占用I/O总线、并由CPU通过检测管脚对R/B#管脚的状态进行检测,以保证读性能最优;而对于耗时较长的写操作和擦除操作,在R/B#管脚检测阶段需要Nand?Flash让出I/O总线、并由逻辑芯片替代CPU来检测R/B#管脚的状态,以便于减少写操作和擦除操作占用I/O总线的时间。而且,由于读、写、擦除操作的R/B#管脚检测阶段均不需要软件参与查询,因而不会出现软件查询所导致的Nand?Flash性能和CPU性能受影响的问题。

【技术实现步骤摘要】

本专利技术涉及对Nand Flash(与非闪存)的访问技术,特别涉及一种可实现Nand Flash状态检测的装置、一种可实现Nand Flash状态检测的方法。
技术介绍
Nand Flash由多个Block (块)组成,每个Block又由多个I^age (页)组成。其中,Block是对Nand Flash擦除的基本操作单位,Page是对Nand Flash读或写时的基本操作单位。Nand Flash通常还具有如表1所示的如下管脚名称类型含义CE#Input片选信号,低电平有效ALEInput地址锁存使能信号,高电平有效CLEInput命令锁存使能信号,高电平有效RE#Input读使能信号,低电平有效WE#Input写使能信号,低电平有效WP#Input写保护信号,低电平有效I/0I/O输入输出信号,命令、地址、数据复用R/B#Output高电平表示Ready (准备)状态/低电平Busy (忙)状态的状态信号VSSSupply接地VCCSupply接电源表 1基于如表1所示的管脚,Nand Flash可实现正常的上电工作、并可被Nand Flash 控制器实现读、写、擦除操作。如图1所示,Nand Flash控制器以I^age为基本单位对Nand Flash进行读操作的过程依次包括如下的阶段向Nand Flash发送命令‘0x00’、向Nand Flash发送读地址(即图1中的add)、向Nand Flash发送命令‘0x30,、通过检测R/B#管脚等待Nand Flash由 Busy状态变为Ready状态(即图1中的tR)、从Nand Flash接收数据(即图1中的Dout)。4如图2所示,Nand Flash控制器以I^age为基本单位对Nand Flash进行写操作的过程依次包括如下的阶段向Nand Flash发送命令‘0x80,、向Nand Flash发送写地址(即图 2中的add)、向Nand Flash写入数据(即图2中的Din)、向Nand Flash发送命令‘0x10,、 通过检测R/B#管脚等待NandFlash由Busy状态变为Ready状态(即图2中的tPROG)、向 Nand Flash发送命令‘0x70,、读取Nand Flash的写状态(即图2中的Status) 其中,在写入数据之后还需要等待读取写状态,是为了判断是否写成功、并在由于坏块而导致写失败时触发坏块处理程序。如图3所示,Nand Flash控制器以Block为基本单位对Nand Flash进行擦除操作的过程依次包括如下的阶段向Nand Flash发送命令‘0x60’、向Nand Flash发送擦除的地址(即图3中的add)、向Nand Flash发送命令‘OxDO,、通过检测R/B#管脚等待Nand Flash由Busy状态变为Ready状态(即图3中的tBERS)、向Nand Flash发送命令‘0x70,、 读取Nand Flash的擦除状态(即图3中的Status)。实际应用中,通用的嵌入式SOC CPU(本文后续将嵌入式SOC CPU简称为“CPU”) 中通常都集成有I/O控制器,Nand Flash控制器就属于CPU所集成的I/O控制器的一种, 因此,可将Nand Flash挂接在CPU的I/O总线上,即可由集成于CPU的Nand Flash控制器按照上述如图1至图3所示的方式实现对Nand Flash的读、写、擦除操作。但是,在某些数据通讯领域的装置中,如图4所示,CPU的I/O总线上除了 Nand Flash之外还会挂接I/O接口的通讯模块(CPU中集成的I/O控制器也会相应地包括针对通讯模块的控制器),而I/O接口的通讯模块对于I/O总线的延迟比较敏感,因而不允许I/O 总线被其它器件毫秒级地占用,这就与Nand Flash发生了冲突。具体说,按照如图1所示方式进行读操作的过程总耗时约为70微秒 100微秒, 按照如图2所示方式进行写操作的过程总耗时约为300微秒 800微秒,按照如图3所示方式进行擦除操作的过程总耗时约为2毫秒 10毫秒。显然,由于在读、写、擦除的整个过程中,Nand Flash连接在I/O总线的CE#管脚的片选信号一直保持有效,因此,读、写、擦除的过程占用I/O总线的时间就分别为70微秒 100微秒、300微秒 800微秒、2毫秒 10 毫秒。可见,Nand Flash的写操作连续占用I/O总线的时间最大会接近毫秒级、而擦除操作连续占用I/O总线的时间已达到毫秒级。为了解决Nand Flash占用I/O总线的时间与通讯模块相冲突的问题,现有技术中曾尝试着为CPU提供至少两条I/O总线,并将Nand Flash和通讯模块分别挂接在不同的I/ 0总线上,具体参见图5。但这样会造成电路布线复杂、并增加了硬件成本,从而导致多条I/ 0总线的可行性不高。因此,现有技术还提出了另一种基于软件查询的解决方案。该解决方案注意到, 无论是读、写、还是擦除操作,在R/B#管脚检测阶段(等待Nand Flash由Busy状态)tR、 tPROG、tBERS中,CE#、CLE、翻、ALE、RE#均不要求有效(图1、图2、图3中均以阴影部分表示),因此,如图6所示,该解决方案将Nand Flash的R/B#管脚与1/0总线断开并直接上拉,以及,在R/B#管脚检测阶段tR、tPROG、tBERS中令Nand Flash放弃对1/0总线的占用,并由CPU承载的软件在R/B#管脚检测阶段tR、tPROG、tBERS中以轮询方式查询Nand Flash是否由Busy状态变为Ready状态(本文所述的“状态检测”即是指“对Busy状态变为Ready状态的检测”)。如此一来,就使Nand Flash控制器执行读、写、擦除操作过程所连续占用的I/O总线的时间中分别去除了 R/B#管脚检测阶段tR、tPROG、tBERS的耗时,并将Nand Flash控制器执行的读、写、擦除操作过程划分为在R/B#管脚检测阶段tR、tPROG、tBERS之前执行的一部分,和在R/B#管脚检测阶段tR、tPROG、tBERS之后执行的另一部分。其中,读操作的R/B#管脚检测阶段tR耗时为1微秒 25微秒左右、在读操作总耗时中所占的比例约为 1 % 35%,写操作的R/B#管脚检测阶段tPROG耗时为200微秒 700微秒左右、在写操作总耗时中所占的比例约为73%-83%,擦除操作的R/B#管脚检测阶段tBERS耗时约占擦除操作总耗时的95%。经粗略计算可知,利用软件查询可使读操作连续占用I/O总线的时间不到25微秒、写操作连续占用I/O总线的时间不到190微秒、擦除操作连续占用I/O总线的时间不到0. 5毫秒。然而,基于软件查询的解决方案虽然能够避免Nand Flash毫秒级地占用I/O总线的问题、并且相比于多I/O总线的解决方案能够降低设计难度和成本,但却存在如下缺陷如果软件查询的轮询间隔设置过短,则由于软件查询也需要利用I/O总线,因而就造成软件查询在R/B#管脚检测阶段tR、tPROG、tBERS中过于频繁地利用1/0总线,这也就近似地相当于仍旧在R/B#管脚检测阶段tR、tPROG、tBERS中连续占用了 1本文档来自技高网...

【技术保护点】
1.一种可实现Nand Flash状态检测的装置,包括CPU以及挂接于CPU的I/O总线的Nand Flash,其特征在于,还包括一逻辑芯片,Nand Flash的R/B#管脚与I/O总线断开并直连至逻辑芯片、CPU连接在I/O总线的检测管脚也进一步直连至逻辑芯片;在对Nand Flash进行读操作过程中的R/B#管脚检测阶段,Nand Flash处于保持对I/O总线占用的状态、Nand Flash的R/B#管脚与CPU的检测管脚处于被逻辑芯片导通的状态;以及,由CPU通过检测管脚检测R/B#管脚的状态,在CPU检测到R/B#管脚的状态由Busy变为Ready后结束R/B#管脚检测阶段;在对Nand Flash进行写操作或擦除操作过程中的R/B#管脚检测阶段,Nand Flash处于让出对I/O总线占用的状态、Nand Flash的R/B#管脚与CPU的检测管脚处于逻辑芯片断开的状态;以及,由逻辑芯片检测R/B#管脚的状态,在逻辑芯片检测到R/B#管脚的状态由Busy变为Ready后向CPU上报中断、以供CPU依据所述中断结束R/B#管脚检测阶段、并恢复使NandFlash对I/O总线的占用。...

【技术特征摘要】

【专利技术属性】
技术研发人员:赵志宇钱嘉林段琳张颖李星爽
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1