一种读取数据的电路、非易失存储器以及读取数据的方法与流程

文档序号:21709972发布日期:2020-08-05 00:55阅读:138来源:国知局
一种读取数据的电路、非易失存储器以及读取数据的方法与流程

本发明涉及非易失存储器领域,尤其涉及一种读取数据的电路、非易失存储器以及读取数据的方法。



背景技术:

随着各种电子装置及嵌入式系统等的发展,非易失性存储器件被广泛应用于电子产品中。以非易失性存储器nand闪存(nandflashmemory)为例,nand存储器由多个存储单元(cell)组成,可以实现多次编程,容量大,读写简单,外围器件少,价格低廉。

现有nandflash的原理示意图如图1所示,nandflash的基本操作主要有读(read),编程(program),擦除(erase)三种,对于读操作,在字线(图1中wordline简称wl)上施加适当的电压,将选中的存储单元上的数据读出来,并通过数据传输模块输出,其中wl0到wlm表示m个wl,位线(图1中bitline简称bl)0到位线(图1中bl)n表示n个bl,每一根bl对应一个灵敏放大器(图1中sa)和一个锁存器(图1中latch),当非易失存储器进行read操作的时候,sa先通过bl,将存储单元中的数据全部读出来,传输给latch,再由latch将读出的数据传输至数据输出模块(datapath),最后由datapath再以每次16(图1中q<15:0>)个数据的模式将读取的数据输出。

在上述工作的过程中,当sa接收到高电平使能信号时,sa通过bl读取出存储单元的数据,并传输至latch,并由latch传输至datapath,之后当datapath接收到高电平使能信号时,将接收到的读取数据输出,而在datapath进行数据输出的时间周期内,sa是一直不工作的,即使sa接收到高电平使能信号,sa依然不会工作,直到datapath将数据全部输出完毕后,sa接收到高电平使能信号,才继续进行下一组数据读取工作,这样就浪费了大量的时间,使得非易失存储器的工作效率低下,另一方面由于bl很多,一般的非易失存储器中有上万根bl,所以sa和sa对应的latch也就有很多,这就导致其占用了非易失存储器内很大的物理版图面积,在非易失存储器需要小型化发展的今天,这是迫切需要解决的问题。



技术实现要素:

本发明提供的一种读取数据的电路以及读取数据的方法,解决了因sa和latch数量巨大,占用物理版图面积过大的问题,同时也解决了在datapath数据输出期间,sa不能同时工作的问题。

为了解决上述技术问题,本发明实施例提供了一种读取数据的电路,所述电路应用于非易失存储器,所述非易失存储器包括存储单元,所述电路包括:灵敏放大器、锁存器、锁存器管理模块、逻辑电路、以及数据输出模块,所述灵敏放大器的个数和所述锁存器的个数分别是所述数据输出模块输出的数据个数的整偶数倍;

所述逻辑电路与所述存储单元的位线和所述灵敏放大器分别连接,用于按照所述灵敏放大器的个数,选中多个位线,所述多个位线的个数与所述灵敏放大器的个数相等;

所述灵敏放大器与所述逻辑电路和所述锁存器分别连接,用于根据第一工作时序信号,读取所述多个位线上的数据,所述第一工作时序信号为所述灵敏放大器进行读取数据操作的工作信号;

所述锁存器与所述灵敏放大器和所述锁存器管理模块分别连接,用于锁存所述灵敏放大器读取的数据,并将已锁存的数据传输至所述锁存器管理模块;

所述锁存器管理模块与所述锁存器和所述数据输出模块分别连接,用于根据第二工作时序信号,将接收到的数据传输到所述数据输出模块,所述第二工作时序信号为所述锁存器管理模块进行传输数据操作的工作信号;

所述数据输出模块与所述锁存器管理模块连接,用于输出接收到的数据。

可选地,所述非易失存储器还包括:控制模块;

所述控制模块与所述灵敏放大器和所述锁存器管理模块分别连接,用于向所述灵敏放大器发送所述第一工作时序信号,以及,向所述锁存器管理模块发送所述第二工作时序信号。

可选地,当所述第一工作时序信号为高电平时,所述灵敏放大器从所述多个位线上读取数据,并将读取的数据通过所述锁存器传输到所述锁存器管理模块中;

当所述第二工作时序信号为高电平时,所述锁存器管理模块将接收到的数据传输到所述数据输出模块,以使所述数据输出模块输出接收到的数据。

可选地,所述数据输出模块输出的数据个数为16个,所述灵敏放大器以及所述锁存器的个数分别为16的整偶数倍。

可选地,在所述第二工作时序信号为高电平期间,若所述第一工作时序信号为高电平,则所述灵敏放大器继续从所述多个位线上读取下一组数据。

本发明实施例还提出了一种非易失存储器,所述非易失存储器包括:控制模块和以上任一所述的读取数据的电路,所述控制模块与所述读取数据的电路连接。

本发明实施例还提出了一种读取数据的方法,所述方法应用于以上所述的任一读取数据的电路,所述方法包括:

所述灵敏放大器接收所述控制模块发送的第一工作时序信号;

若所述第一工作时序信号为高电平,所述灵敏放大器向所述逻辑电路发送读取数据请求;

在所述第一工作时序信号为高电平期间,所述逻辑电路根据所述读取数据请求按照所述灵敏放大器的个数,选中多个位线,所述多个位线的个数与所述灵敏放大器的个数相等,并将所述多个位线的位线号发送至所述灵敏放大器;

在所述第一工作时序信号为高电平期间,所述灵敏放大器接收所述位线号;

在所述第一工作时序信号为高电平期间,所述灵敏放大器根据所述位线号,读取对应于位线号的位线上数据,并将读取出的数据传输至所述锁存器;

在所述第一工作时序信号为高电平期间,所述锁存器锁存所述灵敏放大器读取的数据,并将已锁存的数据传输至所述锁存器管理模块;

所述锁存器管理模块接收所述控制模块发送的第二工作时序信号;

若所述第二工作时序信号为高电平,所述锁存器管理模块将接收到的数据传输至所述数据输出模块;

在所述第二工作时序信号为高电平期间,所述数据输出模块输出接收到的数据。

可选地,在所述灵敏放大器接收所述控制模块发送的第一工作时序信号后,所述方法还包括:

若所述第一工作时序信号为低电平,则所述灵敏放大器不向所述逻辑电路发送所述读取数据请求。

可选地,在所述锁存器管理模块接收所述控制模块发送的第二工作时序信号后,所述方法还包括:

若所述第二工作时序信号为低电平,则所述锁存器管理模块不将接收到的数据传输至所述数据输出模块。

可选地,在所述第二工作时序信号为高电平期间,所述数据输出模块输出接收到的数据,包括:

在所述第二工作时序信号为高电平期间,若所述第一工作时序信号为高电平,则在所述第一工作时序信号为高电平期间,所述灵敏放大器继续向所述逻辑电路发送新的读取数据请求,完成读取新的数据并将新读取出的数据传输至所述锁存器,以及所述锁存器将新接收到的数据传输至所述锁存器管理模块。

与现有技术相比,本发明提供一种读取数据的电路以及读取数据的方法,在电路上将灵敏放大器和锁存器的数量缩减,按照数据输出模块输出数据的个数的整偶数倍设置数量,增加了锁存器管理模块和逻辑电路,实现根据工作时序信号,读取时由逻辑电路按照灵敏放大器的数量选择bl,之后再由灵敏放大器进行数据读取,传输至锁存器管理模块,通过锁存器管理模块管理读取出的数据,当需要输出数据时,根据另一工作时序信号将数据传输至数据输出模块,进行数据输出,互相不干扰工作。本发明提供的一种读取数据的电路以及读取数据的方法,提高了非易失存储器的工作效率,并极大的缩小了sa和latch占用的物理版图。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是现有非易失存储器内部读取数据电路的示意图;

图2是本发明实施例中读取数据电路的示意图;

图3是本发明实施例中t1和t2工作时序图;

图4是本发明实施例中非易失存储器的示意图;

图5是本发明实施例中一种读取电路方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图2,示出了读取数据电路的示意图,该电路应用于非易失存储器,非易失存储器包括存储单元10,读取数据的电路具体可以包括:

逻辑电路20(图中logic)、灵敏放大器30(图中sa0~sax)、锁存器40(图中latch0~latchx)、锁存器管理模块50(latch_path)、以及数据输出模块60(datapath),灵敏放大器30的个数和锁存器40的个数分别是数据输出模块60输出的数据个数的整偶数倍,例如本发明实施例中数据输出模块60输出数据的模式为以16个数据为单位进行数据输出,则灵敏放大器30的个数和锁存器40的个数可以分别设定为16个,或者32个,或者64个,或者128个等,可以根据用户需求来设置。

逻辑电路20与存储单元的bl和灵敏放大器30分别连接,用于按照灵敏放大器30的个数,选中多个bl,例如灵敏放大器有32个,则逻辑电路20就一次选中32根bl,让灵敏放大器30进行数据读取,灵敏放大器30与逻辑电路20和锁存器40分别连接,用于根据第一工作时序信号(图中t1),读取逻辑电路20选中的多个bl上的数据,锁存器40与灵敏放大器30和锁存器管理模块50分别连接,用于锁存灵敏放大器30读取的数据,并将读取的数据传输至锁存器管理模块50,锁存器管理模块50与锁存器40和数据输出模块60分别连接,用于根据第二工作时序信号(图中t2),将接收的读取数据,传输到数据输出模块60,并接受新读取的数据,数据输出模块60与锁存器管理模块50连接,用于将接收的数据输出。

可选地,参照图2,非易失存储器还包括:控制模块70,控制模块70与灵敏放大器30和锁存器管理模块50分别连接,用于向灵敏放大器30发送第一工作时序信号t1,向锁存器管理模块50发送第二工作时序信号t2,当t1为高电平时,灵敏放大器30从存储单元的bl上读取数据,并将读取的数据通过锁存器40传输到锁存器管理模块50中,当t2为高电平时,锁存器管理模块50将读取的数据传输到数据输出模块60,并由数据输出模块60将读取的数据输出,而在t2为高电平的时间周期内,若t1也为高电平,则灵敏放大器30继续从存储单元的bl上读取下一组数据。

举例说明,参照图3示出的t1和t2工作时序图,进行read操作的时候,sa接收t1的信号,在t1高电平时间周期内,sa向logic发送读取数据的请求信号,logic根据sa的数量,选中32根bl给到灵敏放大器sa0~sa31,sa0~sa31先通过bl读出对应的存储单元上中的数据,并将其传送到latch0~latch31,之后latch0~latch31将读出的数据传输给latch_path,latch_path接收t2的信号,在t2为高电平时间周期内,latch_path将读取的数据传送到datapath,datapath以q<15:0>的16个数据模式输出读取的数据,同时在t2高电平时间周期内,若sa0~sa31又接收到t1为高电平,则在t1高电平时间周期内,sa0~sa31又可以对下一组32根bl进行读取数据操作,不管是t1和t2同时高电平,还是t1与t2的高电平不同时,sa0~sa31的工作和latch_path的工作都分别进行,互不影响,因为sa和latch分别有32个,两者相加一共才64个,因此在提高了非易失存储器工作效率的同时,也极大的缩小了sa和latch占用的物理版图面积。

可选地,参照图4示出了本发明实施例中非易失存储器的示意图,该非易失存储器包括:控制模块和以上任一所述的读取数据的电路,控制模块与读取数据的电路连接。

依据以上读取数据的电路,参照图5,本发明实施例还提出了一种读取电路的方法,该方法具体可以包括如下流程:

步骤101:灵敏放大器接收控制模块发送的第一工作时序信号。

本发明实施例中,由sa0~sa31接收到控制模块发送的第一工作时序信号t1,该信号为周期性高、低电平变化的时序信号。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤102a:若第一工作时序信号为高电平,灵敏放大器向逻辑电路发送读取数据请求。

本发明实施例中,若sa0~sa31接收到的t1为高电平信号,则向logic发送读取数据的请求,该高电平的状态会持续预设的时间。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤102b:若第一工作时序信号为低电平,则灵敏放大器不向逻辑电路发送读取数据请求。

本发明实施例中,若sa0~sa31接收到的t1为低电平信号,则不向logic发送读取数据的请求,也不进行其他任何操作,同理该低电平的状态也会持续预设的时间。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤103:在第一工作时序信号为高电平期间,逻辑电路根据读取数据请求按照灵敏放大器的个数,选中多个位线,多个位线的个数与灵敏放大器的个数相等,并将多个位线的位线号发送至灵敏放大器。

本发明实施例中,在t1高电平的持续周期内,logic根据接收到的读取数据请求,选中32根bl,需要说明的是,选中的32根bl不一定是位号0~32的bl,也有可能是2~34的bl,只需要满足是32根就行,并不按照顺序,若该次选中0~32,则下次选择时,将不再选中0~32,而是选中其余的bl,直至数据读取完毕。logic在选好bl后,将bl的位号发送给sa0~sa31。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤104:在第一工作时序信号为高电平期间,灵敏放大器接收位线号。

本发明实施例中,在t1高电平的持续周期内,sa0~sa31会接受到logic发来的bl的位号,这样sa0~sa31就会知道读取的是哪些bl上存储单元的数据。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤105:在第一工作时序信号为高电平期间,灵敏放大器根据位线号,读取对应于位线号的位线上数据,并将读取出的数据传输至锁存器。

本发明实施例中,在t1高电平的持续周期内,sa0~sa31根据bl的位号,进行读取操作,读取出对应于该bl位号的位线上存储单元中的数据,并将读取出的数据传输至锁存器latch0~latch31,需要说明的是,进行一次数据读取操作时,根据所需读取数据的地址,有可能会出现一个bl上并没有需要读取的存储单元,按照非易失存储器的规定,灵敏放大器依然需要对所有bl进行读取操作,只是有些bl中并没有数据需要被读取而已。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤106:在第一工作时序信号为高电平期间,锁存器锁存灵敏放大器读取的数据,并将已锁存的数据传输至锁存器管理模块。

本发明实施例中,在t1高电平的持续周期内,latch0~latch31锁存接收到的sa0~sa31读取出的数据,保证数据不会丢失,并起到暂时存储的作用,之后再将sa0~sa31读取出的数据传输至latch_path。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤107:锁存器管理模块接收控制模块发送的第二工作时序信号。

本发明实施例中,latch_path50接收sa0~sa31读取出的数据,但并不立马对数据进行操作,而是要根据控制模块的使能信号,来进行操作,latch_path会接收到控制模块发送的第二工作时序信号t2。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤108a:若第二工作时序信号为高电平,锁存器管理模块将接收到的数据传输至数据输出模块。

本发明实施例中,若是t2为高电平,在高电平持续周期内,latch_path将接收到的数据传输至datapath。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤108b:若第二工作时序信号为低电平,则锁存器管理模块不将接收到的数据传输至数据输出模块。

本发明实施例中,若是t2为低电平,则latch_path不将接收到的数据传输至datapath。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

步骤109:在第二工作时序信号为高电平期间,数据输出模块输出接收到的数据。

本发明实施例中,在t2持续高电平的周期内,datapath输出接收到的数据,需要说明的是,datapath依然按照一次输出16个数据的模式进行数据输出,而读取出的数据为32个,所以datapath需要连续输出两次才可以将该次的数据输出完成。本发明实施例对此不作详细限定,可以根据实际情况进行设置。

可选地,在第二工作时序信号为高电平期间,若第一工作时序信号为高电平,则在第一工作时序信号为高电平期间,灵敏放大器继续向逻辑电路发送新的读取数据请求,完成读取新的数据并将新读取出的数据传输至锁存器,以及锁存器将新接收到的数据传输至锁存器管理模块。

在t2持续高电平的周期内,若是t1也为持续高电平周期内,则sa0~sa31继续向logic发送新的读取数据请求,该请求使得logic再一次进行bl选择,重复上述过程,读取出新的数据,并传输到latch_path,latch_path则等待t2再一次高电平时,再将新的数据传输到datapath,如此反复可以实现类似流水线式的工作过程,极大的提高了读取数据的工作效率。

举例说明,假设进行一次数据读取操作,此刻t1和t2都为高电平,则sa0~sa31向logic发送读取数据的请求,而latch_path向datapath传输数据,但因此刻latch_path中并没有数据,所以不向datapath传输数据,在t1持续的高电平周期内,logic选中位线号0~32的bl,将0~32发送给sa0~sa31,sa0~sa31根据位线号0~32,读取对应于0~32号的bl上的存储单元中的数据,假设都有数据,则有32个数据被读出,sa0~sa31分别将读出的数据发送给各自对应的latch0~latch31,latch0~latch31对数据进行锁定和保存,以保证数据不会丢失或者遗漏,之后将数据传输至latch_path,此时t1变为低电平,sa0~sa31、logic20和latch0~latch31停止工作。

latch_path接收到上述数据,假设此时t2的电平为低电平,则latch_path不进行任何操作,只是暂时锁存接收到的数据,假设此时t2的电平依然为高电平,则在t2持续高电平周期内,latch_path将sa0~sa31读取出的数据传输至datapath,datapath接收到数据后,以一次输出16个数据的模式,对sa0~sa31读取出的32个数据进行两次输出,完成整个数据输出过程。

假设在t2高电平的周期内,t1又一次由低电平变为高电平,则sa0~sa31、logic和latch0~latch31又开始重复上述数据读取的步骤,此刻sa0~sa31、logic和latch0~latch31将数据读取出来,并最终传输至latch_path,同时datapath也在工作,将前次读取的32个数据输出,读取和输出的过程互相不受影响,上述过程重复进行,产生类似流水线式的工作过程,提高非易失存储器读取数据的效率,最优情况是t2为持续高电平周期内,datapath输出完当前次读取的数据,t2为持续低电平周期内,sa0~sa31、logic和latch0~latch31完成下一次数据的读取操作,并传输至latch_path上,这样的效率最高。

通过上述实施例,本发明通过将灵敏放大器和锁存器的数量设置为输出模块输出数据的个数的整偶数倍,极大减小了其占用的物理版图面积,利用logic和latch_path两个新增电路,在t1和t2时序的高、低电平之间,各自进行各自的工作,互相不影响,提高了读取操作的工作效率。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1