非易失性存储器的制作方法



1.本公开涉及存储器技术领域,具体而言,涉及一种非易失性存储器。


背景技术:



2.非易失性存储器(non-volatile memory)在断电后依然能保持数据,闪存(flash memory)是一种关键的非易失性存储器。闪存包括nand闪存(nand flash)和nor闪存(nor flash)。以nand flash为例,由于存储原理导致其在存储过程中因为电压干扰等原因导致数据出现错误,这类错误往往在一个页(page,例如包括512字节(byte)的页)中发生1个或几个位(bit)的数据的错误。
3.为了解决这类错误,相关技术中在nand flash内部增加一个ecc(error checking and correction,错误校正码)模块对数据进行查错检测和修正。当数据被写入到缓存(cache)后,ecc模块会对数据进行编码并产生相应的ecc码放在cache的空闲(spare)区域,然后ecc码和原始数据会同时从cache写入到nand flash的存储单元阵列(array)中。读操作时,数据会从array中一个页(page)的数据读到cache,ecc模块会根据读出的ecc码对cache中的数据进行查错和纠错,该页所有数据纠错完后,才能对cache中经过ecc纠错完成的数据进行读取,数据读取花费时间较长。
4.如上所述,如何缩减读取非易失性存储器中数据所花费的时间成为亟待解决的问题。
5.在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:



6.本公开的目的在于提供一种非易失性存储器,至少在一定程度上缩减读取非易失性存储器中数据所花费的时间。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
8.根据本公开的一方面,提供一种非易失性存储器,包括:存储单元阵列、缓存单元、锁存单元、错误校正码ecc单元和输出控制单元,其中:所述存储单元阵列包括第一存储单元列和第二存储单元列;所述缓存单元包括第一缓存单元和第二缓存单元,所述第一缓存单元与所述第一存储单元列连接,用于缓存所述第一存储单元列中的数据,所述第二缓存单元与所述第二存储单元列连接,用于缓存所述第二存储单元列中的数据;所述锁存单元包括第一锁存单元和第二锁存单元;所述第一锁存单元连接到所述第一缓存单元,用于从所述第一缓存单元获取缓存的数据;所述第二锁存单元连接到所述第二缓存单元,用于从所述第二缓存单元获取缓存的数据;所述ecc单元分别与所述第一锁存单元和所述第二锁存单元相连接,用于分别通过所述第一锁存单元和所述第二锁存单元依次获取所述第一缓存单元和所述第二缓存单元中缓存的数据并进行ecc处理,纠正所述第一缓存单元和所述
第二缓存单元中缓存的数据的错误位;所述输出控制单元与所述第一锁存单元和所述第二锁存单元相连接,用于在所述ecc单元对所述第二缓存单元中缓存的数据进行ecc处理时,响应于数据读取指令,通过所述第一锁存单元读取所述第一缓存单元中缓存的经过ecc处理的数据。
9.根据本公开的一实施例,所述存储器还包括第一选择器,其中,所述第一选择器用于将所述ecc单元选择连接到所述第一锁存单元和所述第二锁存单元中的一个,以及将所述输出控制单元选择连接到所述第一锁存单元和所述第二锁存单元中的一个;所述ecc单元与所述第一选择器相连接,所述ecc单元还用于通过所述第一选择器依次选择所述第一锁存单元和所述第二锁存单元,从而依次获取所述第一缓存单元和所述第二缓存单元中缓存的数据以进行所述ecc处理。
10.根据本公开的一实施例,所述输出控制单元与所述第一选择器相连接,所述输出控制单元还用于在所述ecc单元通过所述第一选择器选择所述第二锁存单元以对所述第二缓存单元中缓存的数据进行ecc处理时,响应于所述数据读取指令,通过所述第一选择器选择所述第一锁存单元以读取所述第一缓存单元中缓存的经过ecc处理的数据。
11.根据本公开的一实施例,所述存储器还包括第一列译码器、第二列译码器和第二选择器,其中:所述ecc单元和所述输出控制单元分别与所述第二选择器相连接;所述ecc单元通过所述第二选择器选择所述第一列译码器和所述第二列译码器中的一个,所述输出控制单元通过所述第二选择器选择所述第一列译码器和所述第二列译码器中的一个。
12.根据本公开的一实施例,纠正所述第一缓存单元和所述第二缓存单元中缓存的数据的错误位包括:所述ecc单元通过所述第二选择器选择所述第一列译码器,利用所述第一列译码器对所述第一缓存单元中缓存的数据的错误位进行纠正;所述ecc单元通过所述第二选择器选择所述第二列译码器,利用所述第二列译码器对所述第二缓存单元中缓存的数据的错误位进行纠正。
13.根据本公开的一实施例,所述输出控制单元还用于通过所述第二选择器选择所述第一列译码器,以使所述第一缓存单元中缓存的经过所述ecc处理的数据移至所述第一锁存单元后,所述输出控制单元通过所述第一锁存单元读取所述第一缓存单元中缓存的经过所述ecc处理的数据。
14.根据本公开的一实施例,所述输出控制单元包括输出缓存。
15.根据本公开的一实施例,所述第一缓存单元和第二缓存单元的存储空间大小相同。
16.根据本公开的一实施例,所述第一存储单元列包括多列存储单元,所述第二存储单元列包括多列存储单元。
17.根据本公开的一实施例,所述非易失性存储器为nand flash。
18.本公开的实施例提供的非易失性存储器,通过ecc单元分别通过第一锁存单元和第二锁存单元依次获取第一缓存单元和第二缓存单元中缓存的数据并进行ecc处理,纠正第一缓存单元和第二缓存单元中缓存的数据的错误位,输出控制单元在ecc单元对第二缓存单元中缓存的数据进行ecc处理时,响应于数据读取指令,通过第一锁存单元读取第一缓存单元中缓存的经过ecc处理的数据,无需等待存储单元阵列中所有的存储单元列中的数据ecc处理完成后,再读取各缓存单元中经过ecc纠错的数据,实现了ecc处理与数据读取一
定程度的并行,从而可缩减读取非易失性存储器中数据所花费的时间。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
20.通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
21.图1示出了可以应用本公开的非易失性存储器的结构示意图。
22.图2示出了可以应用本公开的nand flash的存储单元阵列示意图。
23.图3是根据一示例性实施例示出的一种非易失性存储器的结构示意图。
24.图4是根据图3示出的一种非易失性存储器的电路基本结构示意图。
25.图5是根据图4示出的一种读取非易失性存储器数据的时间消耗示意图。
具体实施方式
26.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
27.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
28.此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
29.在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
30.在nand flash没有内嵌ecc模块的情况下,读取存储在nand flash上一个页(page)的数据时,首先,将该页数据从存储单元阵列(array)读到页缓存(cache),所用时间为trd(read from array),在trd之后就可以读取cache中该页的数据了,则用户读取该页数据时数据的准备时间为trd。
31.如上所述,相关技术中在nand flash内部增加一个ecc模块,则读取存储在nand flash上一个page的数据时,首先将array中该页的数据(包括用户数据和ecc码)读到cache,所用时间为trd(read from array)。然后ecc模块根据读出的ecc码对用户数据进行
查错和纠错。通常一个页会分为m(m为正整数)个部分(sector)。相应地,一个page中的用户数据分为m部分,每个部分单独进行ecc编码和解码。一个page的页缓存也分成m个子缓存,每个子缓存可以存储从页中读出的用户数据部分及其对应的ecc码。例如,该page大小为2k bytes,如果ecc纠错需求为m bits/512bytes,则把页缓存分成4个子缓存,即m=4,ecc模块进行查错和纠错时会从第一个子缓存开始,依次对4个子缓存进行查错纠错。在ecc模块进行查错纠错过程中,ecc模块占用访问模块(例如可以为与缓存连接的锁存模块)来访问页缓存,此时输出控制单元不能经由该访问模块读取页缓存中的数据。直至所有的子缓存查错纠错完成,所用时间为t_ecc,访问模块被ecc模块释放,此时输出控制单元经才可由该访问模块读出页缓存里的数据。因此,nand flash内嵌ecc模块时,用户需要等待trd_ecc=trd+t_ecc(read from array with ecc)后才能读取页缓存中的数据。与未内嵌ecc模块的nand flash相比,ecc模块查错和纠错的操作会带来额外的时间开销t_ecc。
32.因此,本公开提供了一种非易失性存储器,ecc单元分别通过第一锁存单元和第二锁存单元依次获取第一缓存单元和第二缓存单元中缓存的数据并进行ecc处理,纠正第一缓存单元和第二缓存单元中缓存的数据的错误位,输出控制单元在ecc单元对第二缓存单元中缓存的数据进行ecc处理时,响应于数据读取指令,通过第一锁存单元读取第一缓存单元中缓存的经过ecc处理的数据,无需等待第二缓存单元中缓存的数据ecc处理完成后,才能读取第一缓存单元中缓存的经过ecc处理的数据,实现了ecc处理与数据读取一定程度的并行,从而可缩减读取非易失性存储器的数据读取所花费的时间。
33.图1示出了可以应用本公开的非易失性存储器的结构示意图。如图1所示,非易失性存储器102电性耦接至主机104,非易失性存储器102可以通过控制器1024与主机进行双向通信,传输命令、地址、数据等等。非易失性存储器102例如是u盘、移动硬盘、存储卡、闪存等。主机104是用户的设备,可以是具有显示屏并且支持输入、输出的各种电子设备,例如手机、平板电脑、笔记本电脑、相机等等。
34.非易失性存储器102可以包括存储单元阵列1022、控制器1024、感测电路1026、缓存单元10282、锁存单元10284、ecc单元10210和输出控制单元10286等等。存储单元阵列1022可以包括多个通过字线(word line,wl)和位线(bit line,bl)寻址的存储单元,一种可以应用于nand flash的存储单元阵列的实现方式可以参照图2。控制器1024可用于接收命令、地址等,并且基于接收的命令和地址,将控制信号提供给例如感测电路1026等其他电路。感测电路1026可以包括多个感测放大器(sense amplifier,sa),用于读出存储单元中存储的数据。缓存单元10282、锁存单元10284耦合到存储单元阵列1022的bl,可以用于在ecc处理、读操作和写操作期间缓存数据。ecc单元10210用于对写入到缓存单元10282的数据进行编码并产生相应的ecc码,然后ecc码和原始数据会同时从缓存单元10282写入到nand flash的存储单元阵列1022中。当控制器1024重新读取刚才存储的数据时,数据会从存储单元阵列1022中读到缓存单元10282,ecc单元10210会根据读出的ecc码对缓存单元10282中的数据进行查错和纠错。输出控制单元10286用于控制从存储单元阵列1022读出的数据通过存储器的管脚输出到主机104。
35.闪存实现方案可以分成nand(与非)方案和nor(或非)方案。下面以nand flash为例进行描述。
36.图2示出了可以应用本公开的nand flash的存储单元阵列示意图。如图2所示,图2
memory,sram)单元。锁存单元的锁存器的数量可以设置为存储空间可存储一串的存储单元的数据。存储单元阵列中的每个存储单元可以存储1个bit的二进制数,每个缓存器/锁存器也可以存储1bit的二进制数。
46.ecc单元308分别与第一锁存单元3062和第二锁存单元3064相连接,用于分别通过第一锁存单元3062和第二锁存单元3064依次获取第一缓存单元3042和第二缓存单元3044中缓存的数据并进行ecc处理,纠正第一缓存单元3042和第二缓存单元3044中缓存的数据的错误位。
47.在一些实施例中,非易失性存储器还可以包括第一选择器,其中,第一选择器用于将ecc单元308选择连接到第一锁存单元3062和第二锁存单元3064中的一个,以及将输出控制单元310选择连接到第一锁存单元3062和第二锁存单元3064中的一个。ecc单元308与第一选择器相连接,通过第一选择器依次选择第一锁存单元3062和第二锁存单元3064,从而依次获取第一缓存单元3042和第二缓存单元3044中缓存的数据以进行ecc处理。具体实施方式可参照图4。
48.在一些实施例中,非易失性存储器还可以包括还包括第一列译码器、第二列译码器和第二选择器。ecc单元308和输出控制单元310可分别与第二选择器相连接,通过第二选择器选择第一列译码器和第二列译码器中的一个,输出控制单元310通过第二选择器选择第一列译码器和第二列译码器中的一个。例如,ecc单元308可以通过第二选择器选中第一列译码器和第二列译码器中的一个。例如,ecc单元308选中第一列译码器,可以通过第一列译码器控制第一列译码器将数据提供到第一锁存单元3062。ecc单元308还可以利用第一列译码器对第一缓存单元3042中缓存的数据的错误位进行纠正;通过第二选择器选择第二列译码器,利用第二列译码器对第二缓存单元3044中缓存的数据的错误位进行纠正。具体实施方式可参照图4。
49.输出控制单元310与第一锁存单元3062和第二锁存单元3064相连接,用于在ecc单元308对第二缓存单元3044中缓存的数据进行ecc处理时,响应于数据读取指令,通过第一锁存单元3062读取第一缓存单元3042中缓存的经过ecc处理的数据。输出控制单元310例如可以包括寄存器,用于存储经由第一锁存单元3062所读取的第一缓存单元3042中缓存的经过ecc处理的数据。
50.在一些实施例中,输出控制单元310可以与第一选择器相连接,在ecc单元308通过第一选择器选择第二锁存单元3064以对第二缓存单元3044中缓存的数据进行ecc处理时,响应于数据读取指令,通过第一选择器选择第一锁存单元3062以读取第一缓存单元3042中缓存的经过ecc处理的数据。
51.在一些实施例中,输出控制单元310还用于通过第二选择器选择第一列译码器,以使第一缓存单元3042中缓存的经过ecc处理的数据移至第一锁存单元3062后,输出控制单元310通过第一锁存单元3062读取第一缓存单元3042中缓存的经过ecc处理的数据。
52.在一些实施例中,输出控制单元310可以包括输出缓存。
53.在一些实施例中,缓存单元304可以包括多个缓存单元,如上述根据nand flash的ecc纠错需求把一个缓存单元304分成m份,设置m个缓存单元(包括第一缓存单元3042和第二缓存单元3044在内),对应锁存单元306也包括m个锁存单元。在通过控制器开始读取存储单元阵列302中数据后,首先数据从存储单元阵列302读到缓存单元304(m个缓存单元),然
后ecc单元308从第一个缓存单元开始,依次对m个缓存单元进行ecc处理。在一个缓存单元经过ecc处理完成后,输出控制单元310经由该缓存单元对应的锁存单元按照预定时钟读取该缓存单元中的数据,同时ecc单元308经由下一个缓存单元对应的锁存单元对下一个缓存单元中的数据进行ecc处理。
54.根据本公开实施例提供的非易失性存储器,通过内嵌ecc单元分别通过第一锁存单元和第二锁存单元依次获取第一缓存单元和第二缓存单元中缓存的数据并进行ecc处理,纠正第一缓存单元和第二缓存单元中缓存的数据的错误位,输出控制单元在ecc单元对第二缓存单元中缓存的数据进行ecc处理时,响应于数据读取指令,通过第一锁存单元读取第一缓存单元中缓存的经过ecc处理的数据,无需等待存储单元阵列中所有的存储单元列中的数据ecc处理完成后,再读取各缓存单元中经过ecc纠错的数据,实现了ecc处理与数据读取一定程度的并行,从而可缩减读取非易失性存储器cache数据所花费的时间。
55.图4是根据图3示出的一种非易失性存储器的电路基本结构示意图。参考图4,本公开实施例提供的非易失性存储器40与图3中的非易失性存储器30相比,存储单元阵列402对应图3中存储单元阵列302,缓存单元4041至缓存单元404m(其间省略示出了缓存单元4042、缓存单元4043
……
缓存单元404m-1)对应图3中缓存单元304,锁存单元4061至锁存单元406m(其间省略示出了锁存单元4062、锁存单元4063
……
锁存单元406m-1)对应图3中锁存单元306,ecc单元408对应图3中ecc单元308,输出控制单元40102对应图3中输出控制单元310;非易失性存储器40还可以包括第一选择器4012、第二选择器4014和列译码器(coldec)40161至列译码器4016m(其间省略示出了列译码器40162、列译码器40163
……
列译码器4016m-1)。输出管脚40104用于将经过ecc纠正的数据输出到主机。
56.其中,缓存单元4041至缓存单元404m设置了与其对应的列译码器40161至列译码器4016m、锁存单元4061至锁存单元406m以及数据io总线(dio_bus)dio_bus1至dio_busm。如图4所示,ecc单元408和输出控制单元40102可利用第二选择器4014根据列地址(column address,ca)通过列译码器访问不同的缓存单元;数据从不同的缓存单元预取到其对应的锁存单元后,再经过第一选择器4012分别送到ecc单元408和/或输出控制单元40102。例如,ecc单元408通过发送信号out_div_sel到第一选择器4012从而选择锁存单元4061至锁存单元406m中的一个,输出控制单元40102通过发送信号ecc_div_sel到第一选择器4012从而选择锁存单元4061至锁存单元406m中的一个。可以理解,ecc单元408和输出控制单元40102不能同时选中同一个锁存单元。例如,ecc单元408可以通过发送信号ecc_ca给第二选择器4014,通过第二选择器4014选中列译码器40161至列译码器4016m中的一个;输出控制单元40102通过发送信号out_ca给第二选择器4014,通过第二选择器4014选中列译码器40161至列译码器4016m中的一个。借助于列译码器,对应的缓存单元的数据(从存储单元阵列读出的数据,或者经过ecc纠错的数据)输出到对应的锁存单元。借助于列译码器,缓存单元中的从存储单元阵列读出的数据中的错误位可以被纠正。例如,ecc单元408可以确定从存储单元阵列读出的数据中的错误位的位置,通过列译码器改写错误位的数据。缓存单元中的数据经由dio_bus转移到锁存单元,再通过第一选择器4012和dio_ecc提供到ecc单元408,或者再通过第一选择器4012和dio_out提供到输出控制单元40102。
57.根据图4,ecc单元408通过第二选择器4014访问列译码器40161,缓存单元4041中的数据转移到锁存单元4061,进一步地通过第一选择器4012提供到ecc单元408,ecc单元
408对数据纠错,确定缓存单元4041中的从存储单元阵列读出的数据中的错误位,ecc单元408进一步通过列译码器40161选中缓存单元4041中错误位所在的缓存器,纠正错误位,这样缓存单元4041中的数据就被更新为经过ecc处理的数据。
58.然后,ecc单元408通过第二选择器4014访问下一个列译码器(列译码器40162),对应的缓存单元(缓存单元4042)中的数据(从存储单元阵列读出的数据)转移到锁存单元(锁存单元4062),进一步地通过第一选择器4012提供到ecc单元408,ecc单元408对数据纠错。同时,输出控制单元40102通过第二选择器4014访问列译码器40161,使缓存单元4041中的经过ecc处理的数据传到锁存单元4061,再通过第一选择器4012传到输出控制单元40102,再通过输出管脚40104提供到主机。在ecc单元408对缓存单元4042中的数据纠错完成后,继续对缓存单元4043中的数据进行ecc处理,这时输出控制单元40102可读取缓存单元4042中的经过ecc处理后的数据,以此类推。
59.图5是根据图4示出的一种读取非易失性存储器数据的时间消耗示意图。参考图5,首先,sa把一个page的数据从存储单元阵列array读到缓存单元cache(cache被分成m份),所用时间为trd;然后,ecc单元先进行第一部分cache的查错纠错(ecc部分1),所用时间为t_ecc_part=t_ecc/m,第一部分的纠错完成后ecc单元接着进行第二部分cache的查错纠错(ecc部分2),此时用户可以开始读取第一份cache的数据(读取部分1)。在第一份cache数据读取完成时,按照预设时钟发出时钟信号,然后进行第二份cache数据的读取(读取部分2)。其中,将一份cache数据的读取的时间设定超过t_ecc_part,意味着用户完成第一份cache读取时第二部分cache的查错纠错也已经完成,因此用户可以继续读取第二部分cache的数,依次类推,直到用户读取完最后一部分cache的数据。根据图5,采用本技术实施例的非易失性存储器,读取数据的准备时间为trd+t_ecc_part,比相关技术缩减了(m-1)t_ecc_part的准备时间。
60.以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

技术特征:


1.一种非易失性存储器,其特征在于,包括:存储单元阵列、缓存单元、锁存单元、错误校正码ecc单元和输出控制单元,其中:所述存储单元阵列包括第一存储单元列和第二存储单元列;所述缓存单元包括第一缓存单元和第二缓存单元,所述第一缓存单元与所述第一存储单元列连接,用于缓存所述第一存储单元列中的数据,所述第二缓存单元与所述第二存储单元列连接,用于缓存所述第二存储单元列中的数据;所述锁存单元包括第一锁存单元和第二锁存单元;所述第一锁存单元连接到所述第一缓存单元,用于从所述第一缓存单元获取缓存的数据;所述第二锁存单元连接到所述第二缓存单元,用于从所述第二缓存单元获取缓存的数据;所述ecc单元分别与所述第一锁存单元和所述第二锁存单元相连接,用于分别通过所述第一锁存单元和所述第二锁存单元依次获取所述第一缓存单元和所述第二缓存单元中缓存的数据并进行ecc处理,纠正所述第一缓存单元和所述第二缓存单元中缓存的数据的错误位;所述输出控制单元与所述第一锁存单元和所述第二锁存单元相连接,用于在所述ecc单元对所述第二缓存单元中缓存的数据进行ecc处理时,响应于数据读取指令,通过所述第一锁存单元读取所述第一缓存单元中缓存的经过ecc处理的数据。2.根据权利要求1所述的存储器,其特征在于,还包括第一选择器,其中,所述第一选择器用于将所述ecc单元选择连接到所述第一锁存单元和所述第二锁存单元中的一个,以及将所述输出控制单元选择连接到所述第一锁存单元和所述第二锁存单元中的一个;所述ecc单元与所述第一选择器相连接,所述ecc单元还用于通过所述第一选择器依次选择所述第一锁存单元和所述第二锁存单元,从而依次获取所述第一缓存单元和所述第二缓存单元中缓存的数据以进行所述ecc处理。3.根据权利要求2所述的存储器,其特征在于,所述输出控制单元与所述第一选择器相连接,所述输出控制单元还用于在所述ecc单元通过所述第一选择器选择所述第二锁存单元以对所述第二缓存单元中缓存的数据进行ecc处理时,响应于所述数据读取指令,通过所述第一选择器选择所述第一锁存单元以读取所述第一缓存单元中缓存的经过ecc处理的数据。4.根据权利要求2所述的存储器,其特征在于,还包括第一列译码器、第二列译码器和第二选择器,其中:所述ecc单元和所述输出控制单元分别与所述第二选择器相连接;所述ecc单元通过所述第二选择器选择所述第一列译码器和所述第二列译码器中的一个,所述输出控制单元通过所述第二选择器选择所述第一列译码器和所述第二列译码器中的一个。5.根据权利要求4所述的存储器,其特征在于,纠正所述第一缓存单元和所述第二缓存单元中缓存的数据的错误位包括:所述ecc单元通过所述第二选择器选择所述第一列译码器,利用所述第一列译码器对所述第一缓存单元中缓存的数据的错误位进行纠正;
所述ecc单元通过所述第二选择器选择所述第二列译码器,利用所述第二列译码器对所述第二缓存单元中缓存的数据的错误位进行纠正。6.根据权利要求5所述的存储器,其特征在于,所述输出控制单元还用于通过所述第二选择器选择所述第一列译码器,以使所述第一缓存单元中缓存的经过所述ecc处理的数据移至所述第一锁存单元后,所述输出控制单元通过所述第一锁存单元读取所述第一缓存单元中缓存的经过所述ecc处理的数据。7.根据权利要求4所述的存储器,其特征在于,所述输出控制单元包括输出缓存。8.根据权利要求1所述的存储器,其特征在于,所述第一缓存单元和第二缓存单元的存储空间大小相同。9.根据权利要求1所述的存储器,其特征在于,所述第一存储单元列包括多列存储单元,所述第二存储单元列包括多列存储单元。10.根据权利要求1所述的存储器,其特征在于,所述非易失性存储器为nand flash。

技术总结


本公开提供一种非易失性存储器,涉及存储器技术领域。该存储器包括:存储单元阵列、第一锁存单元、第二锁存单元、第一缓存单元、第二缓存单元、错误校正码(ECC)单元和输出控制单元,其中,ECC单元用于分别通过第一锁存单元和第二锁存单元依次获取第一缓存单元和第二缓存单元中缓存的数据并进行ECC处理,纠正第一缓存单元和第二缓存单元中缓存的数据的错误位;输出控制单元用于在ECC单元对第二缓存单元中缓存的数据进行ECC处理时,响应于数据读取指令,通过第一锁存单元读取第一缓存单元中缓存的经过ECC处理的数据,缩减了读取其中数据的时间。时间。时间。


技术研发人员:

刘大平 潘荣华

受保护的技术使用者:

西安格易安创集成电路有限公司

技术研发日:

2021.11.02

技术公布日:

2022/4/6

本文发布于:2024-09-23 03:26:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/14111.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:单元   缓存   所述   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议