一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种NAND存储器及其数据转存和读取方法与流程

2022-02-22 23:43:16 来源:中国专利 TAG:

一种nand存储器及其数据转存和读取方法
技术领域
1.本技术涉及存储器,还涉及一种nand存储器及其数据转存和读取方法。


背景技术:

2.nand闪存(not and flash)作为一种非易失性存储器,具有容量大、读写速度快、功耗低的特点。
3.在nand的使用过程中,对于存储的数据而言,随着环境温度以及不操作时间的增加,数据会慢慢失效。当前,为了改善存储数据的有效性,通常会采用转存(copy back)操作。当前的转存操作通常包括:把数据从nand的存储块传输到控制器,然后在控制器中进行数据纠错、数据解扰和数据加扰之后,再返回给nand的存储块,从而导致了转存操作复杂的缺陷。


技术实现要素:

4.本技术的目的在于,提供一种nand存储器及其数据转存和读取方法,以解决现有技术中转存操作复杂的缺陷。
5.为了实现本技术的目的,提供一种nand存储器的数据转存方法,其中所述存储器包括多个存储平面,每个所述存储平面包括多个存储块,所述存储器还包括寄存器,所述方法可包括:检测存储有待转移数据的第一存储块的已擦除次数是否小于预定值;若所述已擦除次数小于所述预定值,则将所述第一存储块内的所述待转移数据读取并传输到所述寄存器;以及将所述待转移数据写入与所述第一存储块不同的第二存储块。
6.根据本技术一实施例,所述存储器还包括控制器,所述方法还可包括:若所述已擦除次数大于或等于所述预定值,则将所述存储块内的所述待转移数据读取到所述控制器;以及对读取到所述控制器的所述数据进行加扰处理,并将所述加扰处理后的数据写入所述第二存储块。
7.根据本技术一实施例,所述已擦除次数为所述存储器中存储块的总的擦除次数,可包括当所述存储块作为单级单元已擦除的次数和/或当所述存储块作为三级单元已擦除的次数。
8.根据本技术一实施例,所述预定值可为所述存储器与预设比值之积,其中,所述预设比值选自8%至12%的区间。
9.根据本技术一实施例,所述第一存储块与所述第二存储块可位于相同存储平面内。
10.根据本技术一实施例,将所述第一存储块内的所述待转移数据读取并传输到所述寄存器的步骤可包括:响应于所述第一存储块为单级单元,读取所述第一存储块内的待转移数据;以及将所述待转移数据传输到所述寄存器。
11.根据本技术一实施例,将所述待转移数据写入与所述第一存储块不同的第二存储块的步骤可包括:响应于所述第二存储块为三级单元,读取所述寄存器内的待转移数据;以
及将所述待转移数据写入所述第二存储块。
12.根据本技术一实施例,在将所述待转移数据写入所述第二存储块的步骤之前,将三个作为单级单元的第一存储块内存储的待转移数据传输到所述寄存器,此时,所述将所述待转移数据写入所述第二存储块的步骤可为:将传输到所述寄存器的数据一次性地写入所述第二存储块。
13.为了实现本技术的目的,提供一种nand存储器的数据读取方法,其中所述存储器包括多个存储平面,每个所述存储平面包括多个存储块,其特征在于,所述方法可包括:将选定存储块的数据传输到控制器;以及检测所述选定存储块的已擦除次数是否小于预定值;若所述选定存储块的已擦除次数小于所述预定值,则根据从所述选定存储块的越界区域获取的扰码种子,对所述数据进行解扰。
14.根据本技术一实施例,将选定存储块的数据传输到控制器之后,还可包括:对所述数据进行数据纠错。
15.根据本技术一实施例,若所述选定存储块的已擦除次数大于等于预定值,则根据已知的扰码种子,对所述数据进行译码。
16.为了实现本技术的目的,提供一种nand存储器,其中所述存储器包括多个存储平面和外围控制电路,其中每个所述存储平面包括多个存储块,所述外围控制电路可被配置为:检测存储有待转移数据的第一存储块的已擦除次数是否小于预定值;若所述已擦除次数小于所述预定值,则将所述存储块内的所述待转移数据读取并传输到所述寄存器,并且将所述待转移数据写入与所述第一存储块不同的第二存储块。
17.根据本技术一实施例,所述外围控制电路还可包括控制器,所述外围控制电路还可被配置为执行:若所述已擦除次数大于或等于所述预定值,则将所述存储块内的所述待转移数据读取到所述存储器内的控制器;以及对读取到所述控制器的所述数据进行加扰处理,并将所述加扰处理后的数据写入第二存储块。
18.根据本技术一实施例,所述预定值为所述存储器与预设比值之积,其中,所述预设比值选自8%至12%的区间。
19.根据本技术一实施例,所述第一存储块与所述第二存储块位于相同存储平面内。
20.为了实现本技术的目的,提供一种nand存储系统,包括至少一个控制器;以及与所述至少一个控制器通信连接的存储器;其中,所述存储器存储有可被所述至少一个控制器执行的指令,所述指令被所述至少一个控制器执行,以使所述至少一个控制器能够执行上述方法。
21.为了实现本技术的目的,提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述方法。
22.为了实现本技术的目的,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被控制器执行时实现上述方法。
23.根据本技术一实施例nand存储器的数据转存方法,通过存储块的已擦除次数预先判断存储块的数据误码率,从而在转存操作中,对数据误码率比较低的存储块的数据不进行数据纠错、数据解扰和数据加扰,直接经由寄存器写入位于相同存储平面内的其他存储块,在一定程度上,有效地简化了转存操作的流程,提高了转存操作的效率。
24.根据本技术一实施例nand存储器的数据读取方法,将转存的数据传输到控制器之
后,通过从越界区域获取的扰码种子进行解扰,从而提高了读取效率。
25.根据本技术一实施例nand存储器,通过存储块的擦除次数预先判断存储块的数据误码率,从而在转存操作中,对数据误码率比较低的存储块的数据不进行数据纠错、数据解扰和数据加扰,直接经由寄存器写入位于相同存储平面内的其他存储块,在一定程度上,有效地简化了转存操作的流程,提高了转存操作的效率。
26.根据本技术另一实施例nand存储器,控制器获取转存的数据之后,通过从oob获取的扰码种子进行解扰,从而提高了读取效率。
附图说明
27.图1a为本技术一实施例nand存储器的数据转存方法的流程示意图;
28.图1b为本技术一实施例nand存储器的数据转存方法的波形示意图;
29.图2为本技术一实施例nand存储器的数据读取方法的流程示意图;以及
30.图3为本技术一实施例nand存储器示意图。
具体实施方式
31.为了更好地理解本技术,将参考附图对本技术的各个方面做出更详细的说明。应理解,这些详细说明只是对本技术的示例性实施方式的描述,而非以任何方式限制本技术的范围。在说明书全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列项目中的一个或多个的任何和全部组合。
32.在附图中,为了便于说明,已稍微调整了元素的大小、尺寸和形状。附图仅为示例而并非严格按比例绘制。如在本文中使用的,用语“大致”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。另外,在本技术中,各步骤处理描述的先后顺序并不必然表示这些处理在实际操作中出现的顺序,除非有明确其它限定或者能够从上下文推导出的除外。
33.还应理解的是,诸如“包括”、“包括有”、“具有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,其修饰整列特征,而非仅仅修饰列表中的单独元件。此外,当描述本技术的实施方式时,使用“可”表示“本技术的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
34.除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本技术所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本技术中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。
35.需要说明的是,在不冲突的情况下,本技术中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本技术。
36.图1为本技术一实施例nand存储器的数据转存方法的流程示意图。如图1所示,本技术一实施例存储器包括多个存储平面,每个存储平面包括多个存储块,存储器还包括nand级寄存器。本技术一实施例存储器的数据转存方法可以包括:
37.步骤101,检测存储有待转移数据的第一存储块的已擦除次数是否小于预定值;
38.步骤102,若已擦除次数小于预定值,则将第一存储块内的待转移数据读取并传输到寄存器;以及
39.步骤103,将待转移数据写入与第一存储块不同的第二存储块。
40.nand存储器作为一种非易失性存储器,其操作模式至少可以分为单级单元(single level cell,简称为slc)模式和三级单元(triple level cell,简称为tlc)模式。存储器中包含多个存储块,存储块均具有使用寿命。通过大量的实验发现,影响存储块使用寿命的要素至少有擦除次数(erase count,简称为ec)。
41.举例来说,当nand存储器一直以slc模式进行操作时,理论上nand存储器的擦除次数大约为7.5万次。经过不断地检测发现,对刚刚出厂的nand存储器进行操作时,误码率很低;对擦除次数大约为7.5万次的nand存储器进行操作时,误码率很高,并且擦除次数与误码率之间呈正比例关系。
42.相应地,当nand存储器一直以tlc模式进行操作时,理论上nand存储器的擦除次数大约为0.3万次。经过不断地检测发现,对刚刚出厂的nand存储器进行操作时,误码率很低;对擦除次数大约为0.3万次的nand存储器进行操作时,误码率很高,并且擦除次数与误码率之间呈正比例关系。
43.根据本技术一实施例nand存储器的数据转存方法,通过存储块的已擦除次数预先判断存储块的数据误码率;从而在转存操作中,对数据误码率比较低的存储块的数据不进行数据纠错、数据解扰和数据加扰,直接经由nand级寄存器写入位于相同存储平面内的其他存储块;有效地简化了转存操作的流程,提高了转存操作的效率。
44.在本技术一实施例nand存储器的数据转存方法中,若已擦除次数大于或等于预定值,则将第一存储块内的待转移数据读取并传输到控制器;对读取到控制器的数据进行加扰处理,并将加扰处理后的数据写入第二存储块。
45.在本技术一实施例nand存储器的数据转存方法中,已擦除次数为存储器中存储块的擦除次数。其中,擦除次数可为三级单元存储块的擦除次数。
46.在本技术一实施例nand存储器的数据转存方法中,存储块的已擦除次数可以包括:当存储块作为单级单元进行擦除的次数和/或当存储块作为三级单元进行擦除的次数。
47.在实际nand存储器的使用过程中,有时存储块可以作为单级单元进行操作,有时存储块可以作为三级单元进行操作,即单级单元和三级单元交替地应用于存储块。
48.在这种情况下,在计算擦除次数时,需要单独计算擦除次数。举例来说,首先计算存储块作为单级单元进行擦除的次数,然后计算存储块作为三级单元进行擦除的次数,最后,将单级单元的擦除比值和三级单元的擦除次数相加,从而获得总的擦除次数。
49.在本技术一实施例nand存储器的数据转存方法中,预定值可为存储器与预设比值之积,其中,预设比值大于等于8%并且小于等于12%。
50.通过大量的实验发现,nand存储器在早期阶段的误码率非常低。举例来说,当nand存储器只以单级单元模式操作并且擦除次数在0.2万次的时候,存储块的误码率大约为0.5%,即在2000比特的数据中出现大约10比特的误码。相对而言,在控制器采用硬件解码的情况下,存储块的误码率大约为5.5%,即在2000比特的数据中出现大约110比特的误码。因此,当预设比值大于等于8%并且小于等于12%时,nand存储器在兼顾误码率的情况下,
有效地简化了转存操作的流程,提高了转存操作的效率。
51.在本技术一实施例nand存储器的数据转存方法中,第一存储块与第二存储块位于相同存储平面内。
52.在本技术一实施例nand存储器的数据转存方法中,将第一存储块内的待转移数据读取并传输到寄存器的步骤(步骤102)可以包括:首先,将第一存储块作为单级单元读取待转移数据;然后,将待转移数据传输到寄存器。
53.在本技术一实施例nand存储器的数据转存方法中,将待转移数据写入与第一存储块不同的第二存储块的步骤(步骤103)可以包括:首先,将第二存储块设置成三级单元;然后,将传输到寄存器的数据写入设置成三级单元的第二存储块。
54.根据本技术一实施例nand存储器的数据转存方法,在转存数据的过程中,通过单级单元模式读取数据并且通过三级单元模式写入数据,从而有效地提高了转存速度。
55.在本技术一实施例nand存储器的数据转存方法中,在将传输到寄存器的数据写入设置成三级单元的第二存储块的步骤之前,将三个作为单级单元的第一存储块内存储的待转移数据传输到存储器内的寄存器。此时,将传输到寄存器的数据写入设置成三级单元的第二存储块的步骤可以为:将通过三次传输到寄存器的数据一次性地写入设置成三级单元的第二存储块。
56.图1b为本技术一实施例nand存储器的数据转存方法的波形示意图。举例来说,第一次,从单级单元的存储块读取数据,并且把数据传输到寄存器,然后把寄存器的数据加载到低位存储页面。具体地,如图1b中的(一)所示,当dq为35h时,将存储块设置为单级单元并且读取数据;如图1b中的(二)所示,当dq为1ah时,把数据加载到低位存储页面。
57.第二次,从单级单元的存储块读取数据,并且把数据传输到寄存器,然后把寄存器的数据加载到中位存储页面。具体地,如图1b中的(三)所示,当dq为35h时,将存储块设置为单级单元并且读取数据;如图1b中的(四)所示,当dq为1ah时,把数据加载到中位存储页面。
58.第三次,从单级单元的存储块读取数据,并且把数据传输到寄存器,然后把寄存器的数据加载到高位存储页面。具体地,如图1b中的(五)所示,当dq为35h时,将存储块设置为单级单元并且读取数据;如图1b中的(六)所示,当dq为10h时,把数据加载到高位存储页面并且退出单级单元。
59.此时,通过三次传输到寄存器的数据的容量和三级单元的存储块的容量相同。最后,把低位存储页面的数据、中位存储页面的数据、高位存储页面的数据写入三级单元的存储块。
60.根据本技术一实施例nand存储器的数据转存方法,当通过单级单元模式读取数据、通过三级单元模式写入数据时,读取数据的容量和写入数据的容量相同,因此有效地提高了转存速率。
61.图2为本技术一实施例nand存储器的数据读取方法的流程示意图。如图2所示,本技术一实施例存储器的数据读取方法可以包括:
62.步骤201,将选定存储块的数据传输到控制器;
63.步骤202,检测选定存储块的已擦除次数是否小于预定值;
64.步骤203,若选定存储块的已擦除次数小于预定值,则根据从选定存储块的越界区域获取的扰码种子,对数据进行解扰。
65.根据本技术一实施例nand存储器的数据读取方法,将转存的数据传输到控制器之后,通过从越界区域获取的扰码种子进行解扰,从而提高了读取效率。
66.在本技术一实施例nand存储器的数据读取方法中,将选定存储块的数据传输到控制器(步骤201)之后,还可以包括:对数据进行数据纠错。nand中存储的数据会由于多种原因产生一定程度的破坏,进而产生一定数量的错误数据,需要对错误的数据进行纠正,降低存储器的误码率。举例来说,在nand存储器的数据读取方法中进行数据纠错时,可以采用bch译码方法。
67.根据本技术一实施例nand存储器的数据读取方法,由于在步骤201之后增加了数据纠错的步骤,因此即使存储在nand的数据经过较长时间出现失真,也能够在一定程度上进行还原,从而有效地提高了数据的稳定性。
68.在本技术一实施例nand存储器的数据读取方法中,根据从选定存储块的越界区域(out of boundary,简称为oob)获取的扰码种子,对数据进行解扰的步骤(步骤203)可以为:当选定存储块的已擦除次数大于等于预设值时,根据从选定的存储块的越界区域获取的扰码种子,利用控制器对选定的存储块的数据进行解扰。
69.通常,在nand存储器中,一个存储器块(block)由多个存储页面(page)组成。假设,一个存储页面的容量为2048字节(bytes)的话,通常还有额外的64字节的容量,即越界区域就是指这些额外的64字节的容量。因此一个存储页面的实际容量为2048字节 64字节=2112字节。越界区域用于存放一些额外的信息,例如扰码种子等等。
70.在本技术一实施例nand存储器的数据读取方法中,若选定存储块的已擦除次数大于等于预定值,则根据已知的扰码种子,对数据进行译码。
71.图3为本技术一实施例nand存储器的示意图。如图3所示,本技术一实施例的存储器300包括:存储单元阵列310和外围电路320。外围电路320可包括地址解码器321、寄存器322、控制器323、i/o电路324以及电压产生器325。
72.存储单元阵列310进一步包括多个存储平面,其中每个存储平面可包括多个存储块,例如第一存储块blk1、第二存储块blk2

和第z存储块blkz。存储单元阵列310可通过诸如字线wl、虚设字线dwl、顶部选择线tsl以及底部选择线bsl与地址解码器321连接,通过例如位线bl与寄存器322连接。
73.控制器323可响应于来自i/o电路324的命令cmd(例如编程命令和读取命令)和地址addr来控制地址解码器321、寄存器322以及电压产生器325。
74.在本技术一示例性实施方式中,控制器323被配置为检测存储有待转移数据的存储块(例如第一存储块blk1)的已擦除次数是否小于预定值,若已擦除次数小于预定值,则将存储块内的待转移数据读取并传输到寄存器322,并且将待转移数据写入与存储有待转移数据的存储块(即第一存储块blk1)不同的存储块(例如第二存储块blk2),其中,第一存储块blk1和第二存储块blk2位于相同的存储平面内,预定值为存储器与预设比值之积,述预设比值选自8%至12%的区间。然本领域的技术人员可知,上述列举的存储块为示例性说明,还可以为其他存储块。
75.在本技术另一示例性实施方式中,控制器323还可被配置为检测存储有待转移数据的存储块(例如第一存储块blk1)的已擦除次数是否小于预定值,若已擦除次数大于或等于预定值,则将有待转移数据的存储块(例如第一存储块blk1)内的待转移数据读取到控制
器323。控制器323还可被配置为对读取到控制器323的数据进行加扰处理,并将加扰处理后的数据写入与存储有待转移数据的存储块(即第一存储块blk1)不同的存储块(例如第二存储块blk2),其中,第一存储块blk1和第二存储块blk2位于相同的存储平面内,预定值为存储器与预设比值之积,述预设比值选自8%至12%的区间。然本领域的技术人员可知,上述列举的存储块为示例性说明,还可以为其他存储块。
76.地址解码器321可响应于控制器323而控制与存储单元阵列310。换言之,地址解码器321可接收来自控制器323的地址addr并对其进行解码,并根据解码后的地址addr选择存储单元阵列310中多个存储块blk1~blkz中的一个。存储块中可包含多个存储页面,进一步地,可选择所选择的存储块中的多个存储页面中的一个。每条字线wl可用于控制一个存储页面。地址解码器321可将字线wl所需的电压从电压产生器325提供至所选择的存储块blk中选择的字线wl。
77.电压产生器325可在控制器323的控制下生成将要提供给包括字线wl、虚设字线dwl、顶部选择线tsl以及底部选择线bsl所需的电压。示例性地,提供的电压可包括编程电压vpgm、导通电压vpass和验证电压vfy。
78.寄存器322可包括缓存寄存器和数据寄存器(图中未示出),在存储器编程的过程中,一般是以存储页面(page)为基本单位,为了增加编程速度,一般会包含缓存寄存器,将数据先存储到缓存寄存器,再写入到数据寄存器。寄存器322可向存储单元阵列310的位线bl提供与需要编程的数据data相对应的位线电压。数据data可为需要编程的多位数据。在读取操作中,寄存器322可通过位线bl感测存储于所选择的存储单元中的数据,并将感测到的数据data输出至i/o电路324。
79.根据本技术一实施例nand存储器,通过存储块的擦除次数预先判断存储块的数据误码率;从而在转存操作中,对数据误码率比较低的存储块的数据不进行数据纠错、数据解扰和数据加扰,直接经由nand级寄存器写入位于相同存储平面内的其他存储块,有效地简化了转存操作的流程,提高了转存操作的效率。
80.在本技术一实施例nand存储器中,存储块的擦除次数可以包括:当存储块作为单级单元进行擦除的次数和/或存储块作为三级单元进行擦除的次数。在实际nand存储器的使用过程中,有时存储块可以作为单级单元进行操作,有时存储块可以作为三级单元进行操作,即单级单元和三级单元交替地应用于存储块。在这种情况下,在计算擦除次数时,需要单独计算擦除次数。举例来说,首先计算存储块作为单级单元进行擦除的次数,然后计算存储块作为三级单元进行擦除的次数,最后,将单级单元的擦除次数和三级单元的擦除次数相加,从而获得总的擦除次数。
81.通过大量的实验发现,nand存储器在早期阶段的误码率非常低。举例来说,当nand存储器只以单级单元模式操作并且擦除次数在0.2万次的时候,存储块的误码率大约为0.5%,即在2000比特的数据中出现大约10比特的误码。相对而言,在控制器采用硬件解码的情况下,存储块的误码率大约为5.5%,即在2000比特的数据中出现大约110比特的误码。因此,当预设比值大于等于8%并且小于等于12%时,nand存储器在兼顾误码率的情况下,有效地简化了转存操作的流程,提高了转存操作的效率。
82.如上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明。应理解的是,以上所述仅为本发明的具体实施方式,并不用于限制本发明。凡在
本发明的精神和原则之内,所做的任何修改、等同替换、改进等均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献