闪存的流水线读取方法及系统的制作方法

文档序号:6770235阅读:194来源:国知局
专利名称:闪存的流水线读取方法及系统的制作方法
技术领域
本发明涉及闪速存储器(FlashMemory,简称"闪存")技术领域,更具 体地说,涉及一种闪存的流水线读取方法及系统。
背景技术
闪存读取数据的时间由闪存内部读取数据时间及闪存将数据输出至输入 输出(Input/Output,简称"I/O")总线上的时间组成。
支持扩展数据输出(Extended Data Out,简称"EDO")模式的闪存,数 据的传输时间等于闪存驱动一个数据到总线上的时间乘以数据的个数,因为 总线位宽有限,数据从闪存的緩沖区中传输到控制器中的时间较长。在闪存 内部读取时间 一定的情况下,减小数据的传输时间能够极大地缩短读取闪存 数据的时间。如图1所示,根据现有的流水线读取技术,在数据传输之前,闪 存根据控制器发送的读取命令将数据从存储阵列读取到緩冲器单元。在数据 传输阶段,控制器按如下的步骤读取闪存在步骤S101中,控制器向闪存发 出第m个读脉冲;在步骤S102中,根据读脉冲的周期(tRC),经过tREA的时 间,闪存把第m个数据从緩冲器驅动到I/0总线上;在步骤S103中,在一个读 脉冲周期(tRC)的时间点上把数据从总线I/O上锁存到先进先出单元(First Input First Output,简称"FIFO")当中。在步骤S104中,控制器在tRC的时 间点上发送下一个读脉沖至闪存。重复此步骤,直至所需要的数据都读取完 毕。在该方案中,若要读取到正确数据,必须tRC〉tREA,即读脉冲的发送周 期必须大于数据被驱动到I/0总线上的时间,或者说,必须在前一个读脉沖的 数据被驱动到i/o总线上之后,才能发送下一读脉沖。这个条件限制了闪存的 读取速度。
因此提出 一种新的闪存读取方法,提高闪存的读取速度。

发明内容
本发明的目的之一在于提供一种闪存的流水线读取方法,旨在解决现有 技术中闪存读取速度慢的问题。
为了实现发明目的,所述系统包括
支持扩展数据输出模式、存储数据并将数据输出至输入输出总线的闪存, 及与所述闪存通过输入输出总线相连并进行数据交互的控制器,所述控制器 发送读脉冲至闪存,并锁存闪存输出至输入输出总线的数据。所述控制器在闪存根据当前第m个读脉冲将数据输出至输入输出总线的时间内,连续地发送 第m+l, m+2, ..., m+n个读脉沖至闪存,并在适当的时间点将对应的教:据锁 存进来;
所述nM。
所述控制器包括
寄存器单元,用于设置输出到闪存的读脉沖的波形,以及锁存闪存所输 出数据的时间点;
控制逻辑单元,将寄存器单元产生的读脉冲信号的波形发送至闪存,以 及控制先进先出单元锁存闪存输出的数据;
先进先出单元,用于锁存从闪存输出的数据。 所述寄存器单元包括
寄存器A,设置输出到闪存的读脉冲信号的波形宽度;
寄存器B,设置读脉冲的周期;
寄存器C,设置锁存闪存所输出数据的时间点。
为了更好地实现发明目的,
所述寄存器B的值大于寄存器A的值,且小于寄存器C的值。 所述闪存包括
存储阵列单元,存储数据并根据控制器的读取命令读取数据至緩冲器单
元;
緩冲器单元,将存储阵列单元读取的数据暂存,并根据控制器的读脉沖, 将数据输送至输入输出总线上。
为了更好地实现发明目的,所述方法包括 步骤A.控制器发送当前第m个读脉沖至闪存;
步骤B.所述控制器在闪存根据控制器发送的当前第m个读脉冲并输出相 应的凄丈据的时间内,连续发送后m+l, m+2, ..., m+n个读脉冲至闪存;
步骤C.所述控制器在合适的时间点锁存闪存根据所述各个读脉冲所输出 的数据;
所述nM。
所述步骤A之前还包括
设置读脉冲信号波形的宽度;
设置读脉冲的周期;
设置锁存闪存输出凄丈据的时间点。
所述步骤C包括
步骤C1.控制器锁存闪存根据当前第m个读脉冲所输出的数据; 步骤C2.控制器锁存闪存根据第m+l, m+2, ..., m+n个读脉冲所输出的数据。进一步地,所述控制器发送的读脉冲的周期小于闪存输出数据的时间。
由上可知,本发明在闪存的读取过程中,与现有技术的区别在于控制器 在闪存读当前数据的时间内连续发送多个读脉沖至闪存,并在适当的时间点 锁存闪存输出的数据,因此提高了闪存的读取速度。


图l是现有技术闪存的流水线读取方法流程图; 图2是本发明其中 一个实施例中闪存的读取系统结构示意图; 图3是本发明其中 一个实施例中控制器和闪存的内部结构示意图; 图4是本发明其中 一 个实施例中寄存器的连接结构示意图; 图5是本发明其中 一个实施例中11=1时闪存的读取方法流程图; 图6是本发明其中 一个实施例中n=l时控制器发送读脉沖的工作时序图; 图7是本发明其中 一 个实施例中闪存输出数据的方法流程图; 图8是本发明其中 一个实施例中11=1时控制器锁存闪存所输出数据的流程 示意图。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及 实施例,对本发明进行进一步详细说明。
具体实施例方式
在本发明中,控制器在闪存读当前数据的时间内连续发送多个读脉冲至 闪存,并在合适的时间点锁存闪存输出的数据,提高了闪存的读取速度。
图2示出了本发明的一个实施例中闪存的读取系统的结构,该系统包括控 制器10 、与控制器10相连并进行数据交互的闪存20以及用于连接控制器10及 闪存20并进行数据传输的输入输出(Input/Output,简称"I/O")总线30。应 当说明的是,本发明所有图示中各设备之间的连接关系是为了清楚阐释其信 息交互及控制过程的需要,因此应当视为逻辑上的连接关系,而不应仅限于 物理连接。另外需要说明的是,各功能模块之间的通信方式可以采取多种, 本发明的保护范围不应限定为某种特定类型的通信方式。其中
控制器IO,与闪存20通过输入输出(Input/Output,简称"I/O")总线30 相连并进行数据交互,发送读脉冲至闪存20,并锁存闪存20根据读脉冲所输 出到I/O总线30的数据。
闪存20,支持EDO模式,与控制器10通过I/O总线30相连,用于存储数据, 并根据控制器发送的读脉沖将数据输出至I/0总线30,以供控制器10读取和锁存。
1/0总线30,连接控制器10及闪存20并进行数据传输,暂存闪存20输出的数据。
在一优选实施例中,控制器10发送读脉冲到闪存20的工作频率满足闪存 20读取数据的要求。例如在一具体实施例中,闪存20中接收读脉冲到数据 被驱动到I/O总线30上的时间tREA有一个最大值,而后n个读脉沖再次变低到 前m个数据撤销的时间tRLOH有 一个最小值,当控制器10的工作频率达到 1/tRLOH以上,即可在tRLOH时间内发送出 一个或n个读脉沖。
在另一优选实施例中,控制器10在闪存20读取当前第m个数据过程中,连 续将第m+l, m+2, ..., m+n个读脉沖发送至闪存20,其中,n>l。
图3示出了本发明的一个实施例中控制器10和闪存20的结构,控制器10包

寄存器单元101,用于设置输出到闪存20的读脉冲的宽度和周期,以及锁 存闪存20所输出数据的时间点;
交互,用于将寄存器单元/生^信号波形发送至闪存20; ''
先进先出单元103,与控制器逻辑单元102相连并进行数据交互,用于锁
存从闪存20输出的数据。 闪存20包括
存储阵列单元201,用于存储数据并根据控制器10所发出的译脉冲输出数 据至緩冲器单元202;
緩沖器单元202,与存储阵列单元相连并进行数据交互,用于根据控制器 10发送的读脉冲将数据输送到I/O总线30。
图4示出了本发明的一个实施例中寄存器单元101的结构,该寄存器单 元101包括
(1) 寄存器A,与控制逻辑单元102相连并进行数据交互,其值用于设置 输出到闪存20的读脉冲信号的波形宽度;
(2) 寄存器B,与控制逻辑单元102相连并进行数据交互,其值用于设置 读脉冲信号的波形周期;
(3 )寄存器C,与先进先出单元(First Input First Output,简称"FIFO") 103相连并进行数据交互,其值用于控制FIFO锁存I/O总线30上数据的时间点。
在一优选实施例中,寄存器B的值大于寄存器A的值,且小于寄存器C的
7值,即读脉冲周期tRC小于锁存数据的时间点,系统工作在流水线状态。在一
具体实施例中,假设闪存20将当前第m个数据驱动至I/O总线30的时间(tREA) 最大为25ns,后n(n》1 )个读脉冲再次变低到前m个数据撤销的时间(tRLOH) 最小为10ns,读脉沖的最小脉宽(tRP)为10ns,则可设置读脉冲周期(tRC )为 20ns,设置锁存数据的时间点为28ns,控制器10的工作过程如下
控制逻辑单元102在tRC (20ns)时刻,把后一个周期数据的读脉冲提前 发送到闪存20,而寄存器C的值控制FIFO在tREA( 25ns )之后,且在tRC+tRLOH (20ns+10ns)的范围内即28ns的时间点锁存数据。由于有效数据的时间范围 为tREA的最大值25ns至tRC+tRLOH ( 30ns )之间,此时锁存的数据为有效数 据。
图5示出了本发明中的一个实施例中闪存的流水线读取方法流程,该方法 流程基于图2所示的系统结构,在执行所有步骤之前,闪存20根据控制器10发 送的读命令,将相应的数据从存储阵列单元201读取到緩冲器单元202。具体 过程如下
在步骤S501中,控制器10发送第m个读脉沖至闪存20;
在步骤S502中,闪存20输出对应第m个读脉冲的数据到I/O总线30,控制 器发送第m+n个读脉冲至闪存20;
在步骤S503中,控制器10在合适的时间点锁存闪存20根据各个读脉沖所 输出的数据。
其中,n>l。
在一优选实施例中,控制器IO在合适的时间点依次锁存闪存20根据第m 个读脉冲输出的数据以及闪存20根据第m+n ( 1 )个读脉冲所输出的数据。
在另一优选实施例中,控制器10发送第一个读取命令(比如"OOH")至 闪存20,闪存20将数据从存储阵列单元201中读取到緩冲器单元202,等待緩 沖器单元202就绪后,控制器10再发送第二个读取命令(比如"30H")至闪 存20。同时,控制器发送第m个读脉沖,闪存20将緩冲器单元202中的数据驱 动至1/0总线30,在数据未驱动到I/O总线30的时候,控制器发出第m+l个读脉 冲。当数据驱动到I/O总线30的时候,控制器10依次连续地锁存I/O总线30上的 第m个数据和第m+n ( 1 )个数据。重复这个流程,直至所有的数据读耳又完毕。
在又一优选实施例中n=2,本发明中闪存的流水线读取方法的具体过程 为,控制器发送第m个读脉冲,闪存20开始将緩冲器单元202中的数据驱动至 1/0总线30,在闪存20还未将数据驱动到I/O总线30的时候,控制器发出第m+2 个读脉冲。当闪存20将数据驱动到I/O总线30的时候,控制器10依次连续地锁 存l/O总线30上的第m个数据和第m+2个数据。重复这个流程,直至所有的数据读取完毕。
图6示出了本发明的一个实施例中n=l时控制器IO发送读脉冲的工作时 序,具体过程如下
控制器10经过tRC的时间发送第m个读脉沖至闪存20,闪存20将数据由緩 冲器单元202,经过tREA的时间将数据传输到I/0总线30,且在tRC时刻内,控 制器10发送第m+l个读脉沖至闪存20,并在I/O总线30上第m+1个数据出现到 ^L撤销之前的时间(大于tREA,小于tROH+tRC)的范围内,将数据锁存至 FIFO。依此类推,当11=2时,在tRC的时刻,控制器10发送第m+2个读脉冲至 闪存20。
图7示出了本发明的一个实施例中闪存20输出数据的流程,该流程基于图 2所示的系统结构,具体过程如下
在步骤S701中,闪存20根据控制器10发送的读脉沖将数据从存储阵列单 元201读取到緩沖器单元202;
在步骤S702中,緩冲器单元202根据读脉冲周期将数据驱动至I/O总线30。
在一优选实施例中,闪存20在当前读脉冲周期的时间内,根据控制器发 送的下一周期读脉沖将数据从读取到存储阵列单元201读取到緩沖器单元 202。
在另 一优选实施例中,缓冲器单元202将数据驱动至I/O总线30的时间大于 读脉冲的周期。
图8示出了本发明的一个实施例中当『1时,控制器10锁存数据的工作过 程,该控制器10的工作过程基于图2的系统结构,先进先出单元103与寄存器 单元101以及控制逻辑单元102相连,并通过计数器控制闪存20中数据的输入 和输出。其中
先进先出单元103与寄存器单元101中的寄存器C相连并进行数据交互,并 通过I/O总线30与闪存20相连。在一优选实施例中,与先进先出单元103相连的 寄存器C的值用于设置锁存数据的时间点,其值大于分别用于设置读脉沖宽度 的寄存器A的值和用于设置闪存20的数据读取周期的寄存器B的值。例如,若 寄存器C的值为"4",则寄存器B的值为"2",寄存器A的值为"1"。在一 具体实施例中,寄存器A和寄存器B使用同一个计数器30,该计数器30的设置 如下当计数器30的计凄t值计到"0"的时候,控制逻辑单元102发出读脉沖; 当计数器30的计数值计到寄存器A设置值'T,(读脉沖宽度)的时候,读脉 沖拉高,然后此高电平一直保持到读周期的结束;而当计数器30的下一个计
9数值为寄存器B设置值"2"(读脉冲周期)的时候,计数器30的计数值清"0"。 寄存器C使用另外一个计数器40,当计数器40的计数值为寄存器C的设置值"4" (锁存数据的时间点),设置计数器40的值变为计数器30的下一个计数值"2"。 这样,即使寄存器C的值〉寄存器B的值,计数器40的计数周期和计数器30的计 数周期仍然能保持一致。当计数器40的下一个计数值为寄存器C的设置值"4" 时,先进先出单元103把有效数据从I/O总线30上锁存进来。此过程不断地循环, 直至所需要的数据读取完毕。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种闪存的流水线读取系统,包括支持扩展数据输出模式、存储数据并将数据输出至输入输出总线的闪存,及与所述闪存通过输入输出总线相连并进行数据交互的控制器,所述控制器发送读脉冲至闪存,并锁存闪存输出至输入输出总线的数据,其特征在于,所述控制器在闪存根据当前第m个读脉冲将数据输出至输入输出总线的时间内,连续地发送第m+1,m+2,...,m+n个读脉冲至闪存,并在适当的时间点将对应的数据锁存进来;所述n≥1。
2、 根据权利要求l所述的闪存的流水线读取系统,其特征在于,所述控制器发送读脉冲的周期小于闪存将数据输出的时间。
3、 根据权利要求1或2所述的闪存的流水线读取系统,其特征在于,所述控制器包括寄存器单元,用于设置输出到闪存的读脉冲的波形,和锁存闪存所输出的数据的时间点;控制逻辑单元,将寄存器单元产生的读脉冲信号的波形发送至闪存,以及控制先进先出单元锁存闪存输出的数据;先进先出单元,用于锁存从闪存输出的数据。
4、 根据权利要求3所述的闪存的流水线读取系统,其特征在于,所述寄存器单元包括寄存器A,设置输出到闪存的读脉沖信号的波形宽度;寄存器B,设置读脉冲的周期;寄存器C,设置锁存闪存所输出数据的时间点。
5、 根据权利要求4所述的闪存的流水线读取系统,其特征在于,所述寄存器B的值大于寄存器A的值,寄存器B的值小于寄存器C的值。
6、 根据权利要求1或2所述的闪存的流水线读取系统,其特征在于,所述闪存包括存储阵列单元,存储数据并根据控制器的读取命令读取数据至緩冲器单元;緩冲器单元,将存储阵列单元读取的数据暂存,并根据控制器的读脉沖将数据输送至输入输出总线上。
7、 一种闪存的流水线读取方法,基于包括控制器和支持扩展数据输出模式的闪存的读取系统,其特征在于,包括以下步骤步骤A.控制器发送当前第m个读脉沖至闪存;步骤B.所述控制器在闪存根据控制器发送的当前第m个读脉冲所输出相应的数据的时间内,连续发送后m+l, m+2, ..., m+n个读脉冲至闪存;步骤C.所述控制器在合适的时间点锁存闪存根据所述各个读脉冲所输出的数据;所述nM。
8、 根据权利要求7所述的闪存的流水线读取方法,其特征在于,所述步骤A之前还包括设置读脉冲信号波形的宽度;设置读脉沖的周期;设置锁存闪存输出数据的时间点。
9、 根据权利要求7所述的闪存的流水线读取方法,其特征在于,所述步骤C包括步骤C1.控制器锁存闪存根据当前第m个读脉冲所输出的数据;步骤C2.控制器锁存闪存根据第m+l, m+2, ..., m+n个读脉冲所输出的数据。
10、 根据权利要求7至9中任一项所述的闪存的流水线读取方法,其特征在于,所述控制器发送读脉冲的周期小于闪存输出数据的时间。
全文摘要
本发明涉及闪存,提供了一种闪存的流水线读取方法。所述系统包括支持扩展数据输出模式、存储数据并将数据输出至输入输出总线的闪存,及与所述闪存通过输入输出总线相连并进行数据交互的控制器,所述控制器发送读脉冲至闪存,并锁存闪存输出至输入输出总线的数据,其中,所述控制器在闪存根据当前第m个读脉冲将数据输出至输入输出总线的时间内,连续地发送第m+1,m+2,...,m+n个读脉冲至闪存,并在适当的时间点将对应的数据锁存进来;所述n≥1。本发明还提供了一种闪存的流水线读取方法。本发明中,控制器连续发送多个读脉冲至闪存,并在适当的时间点锁存闪存输出的数据,提高了闪存的读取速度。
文档编号G11C16/06GK101677019SQ20081021188
公开日2010年3月24日 申请日期2008年9月18日 优先权日2008年9月18日
发明者卢赛文 申请人:深圳市朗科科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1