存储系统及存储器的操作方法与流程

文档序号:33364359发布日期:2023-03-07 21:59阅读:71来源:国知局
存储系统及存储器的操作方法与流程

1.本公开涉及半导体技术领域,涉及但不限于存储系统及存储器的操作方法。


背景技术:

2.目前,非易失性存储器广泛应用于各个领域,包括嵌入式系统,如计算机、网络互联设备,同时还包括语音、图像、数据存储类产品,如数码相机、数码录音机等。随着这些产品对存储容量的要求不断提高,非易失性存储器的工艺尺寸不断缩小,导致非易失性存储器的可靠性面临着越来越严峻的挑战,尤其是非易失性存储器受限于其本身的物理特性,使得在使用过程中存在着可擦除存储块的使用寿命的问题。在其使用过程中,如果频繁地擦除某个存储块,则会导致使用次数较多的存储块容易出现损坏,从而影响整个存储器的数据存储性能。因此,如何均衡地使用不同的存储块使得存储器的寿命被最大化成为了亟待解决的问题。


技术实现要素:

3.有鉴于此,本公开的主要目的在于提供存储系统及存储器的操作方法。
4.为达到上述目的,本公开的技术方案是这样实现的:
5.第一方面,本公开实施例提供了一种存储系统,包括:至少一个存储器和耦合到所述存储器的存储器控制器,所述存储器包括第一存储模块、第二存储模块和外围电路,所述外围电路与所述第一存储模块和所述第二存储模块耦接;其中,所述第一存储模块为非易失性存储模块,用于存储写入数据;所述第二存储模块为静态随机存取存储模块,用于存储所述第一存储模块的块循环信息;
6.所述存储器控制器和所述第二存储模块之间设有输入/输出总线,且所述存储器控制器被配置为通过所述输入/输出总线获取所述第二存储模块中的块循环信息。
7.上述方案中,所述存储器控制器,还被配置为基于所述第二存储模块中的块循环信息,对所述第一存储模块进行磨损均衡处理。
8.上述方案中,所述外围电路,被配置为基于所述第二存储模块中的块循环信息,对所述第一存储模块进行磨损均衡处理。
9.上述方案中,所述存储器控制器,还被配置为在所述第二存储模块的上电期间,通过所述输入/输出总线将复位指令发送至所述第二存储模块,以控制所述第二存储模块执行复位操作。
10.上述方案中,所述存储器控制器,还被配置为在所述复位操作后,通过所述输入/输出总线将写入指令和历史块循环信息发送至所述第二存储模块,以将所述历史块循环信息写入至所述第二存储模块;所述历史块循环信息为所述存储器控制器在所述第二存储模块处于电力异常状况前从所述第二存储模块中获取的块循环信息。
11.上述方案中,所述外围电路,还被配置为根据所述第一存储模块的存取操作更新所述第二存储模块中的所述块循环信息。
12.上述方案中,所述外围电路和所述第二存储模块集成于同一芯片上。
13.上述方案中,所述外围电路和所述第一存储模块集成于两个不同的芯片上,且所述两个不同的芯片键合连接。
14.第二方面,本公开实施例提供了一种存储器的操作方法,所述存储器包括第一存储模块、第二存储模块;所述存储器耦合到存储器控制器,所述存储器控制器和所述第二存储模块之间设有输入/输出总线;其中,所述第一存储模块为非易失性存储模块,用于存储写入数据;所述第二存储模块为静态随机存取存储模块,用于存储所述第一存储模块的块循环信息,所述方法包括:
15.通过所述输入/输出总线获取所述第二存储模块中的块循环信息;
16.基于所述第二存储模块中的块循环信息,对所述第一存储模块进行磨损均衡处理。
17.上述方案中,所述块循环信息包括所述第一存储模块中各个存储块的写入/擦除次数。
18.上述方案中,所述方法还包括:
19.在所述第二存储模块的上电期间,通过所述输入/输出总线将复位指令发送至所述第二存储模块,以控制所述第二存储模块执行复位操作。
20.上述方案中,所述方法还包括:
21.在所述复位操作后,通过所述输入/输出总线将写入指令和历史块循环信息发送至所述第二存储模块,以将所述历史块循环信息写入至所述第二存储模块;所述历史块循环信息为在所述第二存储模块处于电力异常状况前从所述第二存储模块中获取的块循环信息。
22.上述方案中,所述方法还包括:
23.根据所述第一存储模块的存取操作更新所述第二存储模块中的所述块循环信息。
24.本公开所提供的技术方案中,提供了一种存储系统,包括:至少一个存储器和耦合到所述存储器的存储器控制器,所述存储器包括第一存储模块、第二存储模块和外围电路,所述外围电路与所述第一存储模块和所述第二存储模块耦接;其中,所述第一存储模块为非易失性存储模块,用于存储写入数据;所述第二存储模块为静态随机存取存储模块,用于存储所述第一存储模块的块循环信息;所述存储器控制器和所述第二存储模块之间设有输入/输出总线,且所述存储器控制器被配置为通过所述输入/输出总线获取所述第二存储模块中的块循环信息。如此,通过在存储系统的存储器中设置用于存储第一存储模块的块循环信息的第二存储模块,减轻了存储器控制器和第一存储模块的负担。进一步地,在存储器控制器和第二存储模块之间增设一条输入/输出总线,直接实现了存储器控制器与第二存储模块之间的块循环信息的传输。另外,由于存储器控制器可对第二存储模块进行快速读写,因此存储器控制器能够更快速地直接获取第二存储模块中的块循环信息,在对第一存储模块进行磨损均衡处理时,能够提高磨损均衡的效率,延长器件的寿命。
附图说明
25.图1为本公开实施例提供的一种存储器的框图;
26.图2为本公开实施例提供的一种存储器的剖面示意图;
27.图3为本公开实施例提供的一种存储系统的框图;
28.图4为本公开实施例提供的对第一存储模块执行读取操作的时序图;
29.图5为本公开实施例提供的从第二存储模块中读取信息的时序图;
30.图6为本公开实施例提供的对第二存储模块执行复位操作的时序图;
31.图7为本公开实施例提供的向第二存储模块中写入信息的时序图;
32.图8为一示例性实施例提供的一种具有存储系统的系统的示意图;
33.图9a为一示例性实施例提供的一种存储器卡的示意图;
34.图9b为一示例性实施例提供的一种固态驱动器的示意图;
35.图10为一示例性实施例提供的一种包括外围电路的存储器的示意图。
具体实施方式
36.下面将结合附图和实施例对本公开的技术方案进一步详细阐述。虽然附图中显示了本公开的示例性实施方法,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻的理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
37.在下列段落中参照附图以举例方式更具体的描述本公开。根据下面说明和权利要求书,本公开的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本公开实施例的目的。
38.需要说明的是,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
39.为了均衡存储器中存储块的写入/擦除次数,通常将各个存储块的写入/擦除次数存储在存储块内,或者将各个存储块的写入/擦除次数存储在管理存储器的存储器控制器中,并将存储的写入/擦除次数用于磨损均衡(wear leveling)处理。当需要向存储块进行存取操作时,将写入/擦除次数较少的存储块作为目标存储块进行存取操作以平均各个存储块的写入/擦除次数。但是上述方式会占用原本用于存储写入数据的存储空间或者增加存储器控制器的负担,会在一定程度上降低系统的性能。
40.对此,本公开提出了以下实施方式。
41.本公开实施例提供了一种存储系统,包括:至少一个存储器和耦合到所述存储器的存储器控制器,所述存储器包括第一存储模块、第二存储模块和外围电路,所述外围电路与所述第一存储模块和所述第二存储模块耦接;其中,所述第一存储模块为非易失性存储模块,用于存储写入数据;所述第二存储模块为静态随机存取存储模块,用于存储所述第一存储模块的块循环信息;所述存储器控制器和所述第二存储模块之间设有输入/输出总线,且所述存储器控制器被配置为通过所述输入/输出总线获取所述第二存储模块中的块循环信息。
42.图1为本公开实施例中提供的一种存储器的框图。如图1所示,存储器10包括第一存储模块110、第二存储模块120和外围电路130,外围电路130与第一存储模块110和第二存储模块120耦接。第一存储模块110为非易失性存储模块,用于存储写入数据;第二存储模块120为静态随机存取存储模块,用于存储第一存储模块110的块循环信息;外围电路130被配置为基于第二存储模块120中的块循环信息,对第一存储模块进行磨损均衡处理。
43.示例性地,本公开实施例中的第一存储模块110包括但不限于nand存储阵列。这里,以第一存储模块110是nand存储阵列为例进行说明,第一存储模块110可以包括多个存储块(block),每个存储块可以包括多个存储页面(page),位于同一个存储页面的多个存储单元与相同的字线电连接,存储块为nand存储阵列的最小擦除单位。
44.示例性地,本公开实施例中的第二存储模块120可以为静态随机存取存储器(static random-access memory,sram),sram具有优异的读写速度,可以快速的实现数据的存取。
45.参考图2,图2示出了图1所示的存储器10的剖面示意图,存储器10包括第一存储模块110、第二存储模块120和外围电路130,在一些实施方式中,外围电路130和第二存储模块120集成于同一芯片上,以允许更高的操作速度。例如,第二存储模块120可以形成在外围电路130外部。在一些实施方式中,外围电路130和第一存储模块110集成于两个不同的芯片上,且两个不同的芯片键合连接。
46.在一具体实施方式中,第一存储模块110为nand存储阵列,第二存储模块120为sram,外围电路130、sram120以及nand存储阵列110可以通过触点102和接触焊盘104经过焊盘引出互连层106连接到外部电路。要理解的是,存储器10的布局不限于图2中的示例性布局。
47.示例性地,本公开实施例中的外围电路130包括任何的数字、模拟和/或混合信号外围电路,其用于方便存储器10的操作。例如,外围电路130可以包括页缓冲器、解码器(例如行解码器和列解码器)、感测放大器、驱动器、电荷泵、电流或电压基准、或电路的任何有源或无源部件(例如,晶体管、二极管、电阻器或电容器)中的一个或多个。在一具体示例中,第二存储模块120与外围电路130中的行解码器电连接。
48.需要说明的是,虽然非易失性存储模块在停止供电的时候仍然可以保持数据,而静态随机存取存储模块通常在掉电之后会损失数据,但是,静态随机存取存储模块在使用时具有超过其他类型的存储模块的读写速度,因此,本公开实施例通过在存储器中增设静态随机存取存储模块存储块循环信息,可应用于对读写速度要求更高的场景中。第二存储模块120采用静态随机存取存储模块,外围电路230可对第二存储模块120进行快速读写,提高磨损均衡的效率,进而延长存储器的使用寿命。存储器10在接收到写入指令后,从第二存储模块120的块循环信息中获取指示第一存储模块110各个存储块的写入/擦除次数的信息,并且优先将第一存储模块110中写入/擦除次数较少的存储块作为目标存储块,执行写入操作,以均衡第一存储模块110各个存储块的写入/擦除次数。
49.对nand存储阵列的写入操作只能在尚未写入的空闲存储页面上进行,如果想要修改某个已经写过的存储页面,只能先擦除整个存储块,然后再执行写入操作。可以理解的是,在对目标存储块中的页面执行写入操作前,往往需要先对目标存储块进行擦除操作,因此,相较于始终对固定的一个或少数几个存储块进行写入,在对第一存储模块110进行磨损均衡处理时,将第一存储模块110中写入/擦除次数较少的存储块作为执行该写入操作的目标存储块,能够平均第一存储模块110中各个存储块的写入/擦除次数,延长第一存储模块的使用寿命。
50.本公开实施例中,通过在存储系统的存储器中设置第二存储模块,外围电路或者存储器控制器可基于第二存储模块中的块循环信息,对第一存储模块进行磨损均衡处理,
可以实现块循环信息简便、快捷地传输,通过设置第二存储模块存储块循环信息还可以减轻存储器控制器的负担。
51.在一些实施例中,块循环信息包括第一存储模块110中各个存储块的写入/擦除次数。
52.示例性地,块循环信息包括第一存储模块110中各个存储块的写入/擦除次数。由于第一存储模块110自身的物理特性,因此在使用过程中存在写入和擦除的次数上限,因此,需要对第一存储模块110进行磨损均衡处理,以提高第一存储模块110的使用寿命。
53.本公开实施例中,外围电路130在对第一存储模块110进行磨损均衡处理时,需要根据第二存储模块120存储的第一存储模块110中各个存储块的块循环信息,使得写入/擦除次数较少的存储块能够优先使用,以平均各个存储块的写入/擦除次数,从而使得第一存储模块110中各个存储块的磨损程度接近,提高存储器使用寿命,以减少频繁地擦写某个存储块,导致该存储块比其他存储块提前达到写入/擦除次数上限,在该存储块达到写入/擦除次数上限后再执行写入操作时,会出现存储的数据有误或是无法写入数据的情况,进而造成存储器的数据存储性能降低。
54.在一些实施例中,存储器控制器在对第一存储模块进行磨损均衡处理时,需要根据通过输入/输出总线获取的第二存储模块中的块循环信息,使得写入/擦除次数较少的存储块能够优先使用,以平均各个存储块的写入/擦除次数,提高存储器使用寿命。
55.在一些实施例中,第二存储模块120的存储容量大于第一存储模块110的块循环信息的字节数。
56.示例性地,第一存储模块110可包括2000个存储块(block),每一个存储块的块循环信息占2个字节(byte),第一存储模块110的块循环信息共4k字节,第二存储模块120的存储容量大于第一存储模块110的块循环信息的字节数,因此,第二存储模块220的存储容量大于4k字节。
57.需要说明的是,第二存储模块120的存储容量根据第一存储模块110的块循环信息的字节数进行调整,本公开对此并不加以限制。
58.在一些实施例中,第一存储模块110包括m个存储块,每一存储块的块循环信息包括n个字节,第一存储模块110的块循环信息的字节数为m*n,m、n均为正整数;其中,
59.第二存储模块120中第一个存储区块用于存储第一存储模块110的第一个存储块的块循环信息;
60.第二存储模块120中第m个存储区块用于存储第一存储模块110的第m个存储块的块循环信息;其中,第二存储模块120中每一存储区块的存储容量包括n个字节。
61.示例性地,以第一存储模块110包括2000个存储块,每一存储块的块循环信息包括2个字节进行说明,第一存储模块110的块循环信息的字节数为4k。第一存储模块110可包括2000个存储块(block),分别记为block0、block1至block1999,每一个存储块的块循环信息占2个字节(byte),第一存储模块110的块循环信息的字节数记为byte0至byte3999。
62.具体地,第二存储模块120中第一个存储区块(存储容量为2个字节,记为byte0/1),用于存储第一存储模块110的第一个存储块(block0)的块循环信息,第二存储模块120中第2000个存储区块(存储容量为2个字节,记为byte3998/3999),用于存储第一存储模块110的第2000个存储块(block1999)的块循环信息。
63.需要说明的是,第二存储模块120的具体存储方式可根据第一存储模块110的块循环信息的字节数进行调整,本公开对此并不加以限制。
64.在一些实施例中,第二存储模块120的位宽为p,p为正整数;其中,第二存储模块120记录第一存储模块110的块循环信息的次数小于或等于2
p

65.示例性地,以第二存储模块120的位宽为14进行说明,即第二存储模块120的位宽(bit width)为[13:0],计数范围包括2*
14
=16384,需要记录的第一存储模块110的块循环信息的次数可为10000,第二存储模块120可满足第一存储模块110的块循环信息的计数需求。
[0066]
需要说明的是,第二存储模块120的位宽需要根据第一存储模块110的产品性能进行设置,本公开对此并不加以限制。
[0067]
在一些实施例中,外围电路130,还被配置根据第一存储模块110的存取操作更新第二存储模块120中的块循环信息。
[0068]
在一示例中,块循环信息包括第一存储模块110中各个存储块的写入/擦除次数。外围电路130具体被配置为每当检测到第一存储模块110的一存储块进行了擦除操作和写入操作后,将该存储块的写入/擦除次数加1,并根据修改后的写入/擦除次数更新第二存储模块120中的块循环信息。
[0069]
在实际应用中,可以通过在存储器10中设置计数器来记录第一存储模块110中的每一个存储块的写入/擦除次数。在一具体实施方式中,第一存储模块110包括m个存储块,响应于对第一存储模块110的m个存储块中的第一个存储模块进行的擦除操作和写入操作,更新对应于第一个存储块的计数器的计数。
[0070]
图3为本公开实施例中提供的一种存储系统20的框图。参考图3,存储系统20包括存储器21和耦合存储器21的存储器控制器22,存储器21包括第一存储模块210、第二存储模块220和外围电路230,外围电路230与第一存储模块210和第二存储模块220耦接;其中
[0071]
第一存储模块210为非易失性存储模块,用于存储写入数据;
[0072]
第二存储模块220为静态随机存取存储模块,用于存储第一存储模块210的块循环信息;
[0073]
存储器控制器22和第二存储模块220之间设有输入/输出总线,且存储器控制器22被配置为通过输入/输出总线240获取第二存储模块中的块循环信息。
[0074]
在一些实施例中,存储器控制器22,还被配置为基于第二存储模块220中的块循环信息,对第一存储模块210进行磨损均衡处理。
[0075]
本公开实施例中,通过在存储器控制器22和第二存储模块220之间增设一条输入/输出总线的方式,直接实现存储器控制器22与第二存储模块220之间的块循环信息的传输。另外,由于存储器控制器22可对第二存储模块220进行快速读写,因此存储器控制器22能够更快速地直接获取第二存储模块220中的块循环信息对第一存储模块210进行磨损均衡处理,从而提高磨损均衡的效率。
[0076]
在一些实施例中,外围电路230,还被配置为基于第二存储模块220中的块循环信息,对第一存储模块210进行磨损均衡处理。
[0077]
本公开实施例中,外围电路230与第二存储模块220的距离,相较于存储器控制器22与第二存储模块220的距离更近,因此,外围电路230对第二存储模块220进行读写、更新
等操作所需时间更短,处理效率更高,可提高外围电路230对第一存储模块210进行磨损均衡的效率,从而使得第一存储模块210中各个存储块的磨损程度接近,提高存储器使用寿命。
[0078]
在实际实施时,存储器21的具体结构及功能可参考图1所示的存储器10。示例性地,第一存储模块210可为nand存储阵列,第二存储模块220可为sram。
[0079]
如图3所示,存储器控制器22和第二存储模块220之间设有输入/输出总线240,且存储器控制器22还被配置为通过输入/输出总线240与第二存储模块220之间进行块循环信息的传输。需要说明的是,存储器控制器22可以包括用于控制存储器执行读取操作、写入操作、擦除操作等各种操作的整体控制器件。例如,中央处理器(central processing unit,cpu)、可以实现校验纠错的差错检测和修正算法(ecc,error checking and correcting,ecc)电路以及其他主要与逻辑运算相关的元件等。存储器控制器22可以用于控制所述存储器执行擦除、读取或者写操作,并对所述存储器中发出或接收的指令进行译码、解析或运算。
[0080]
示例性地,当第一存储模块210为nand存储阵列时,存储器控制器22通过nand总线250连接于存储器21,通过主机总线连接于主机(未图示)。存储器控制器22控制存储器21,另外,响应于从主机接收到的命令,对第一存储模块210进行串行存取。主机为例如数码相机或个人计算机等,主机总线为例如对应于sd
tm
接口的总线。
[0081]
示例性地,外围电路230中可以包括i/o控制逻辑,该i/o控制逻辑被配置为控制通过输入/输出总线240的数据输入和输出。例如,i/o控制逻辑可以对输入/输出数据执行检验和缓冲。
[0082]
具体地,存储器控制器22向存储器21发送各项操作指令,外围电路230接收到存储器控制器22发送的操作指令后,产生相应的控制信号并发送至第一存储模块210(例如nand存储阵列)以完成相应的操作。存储器控制器22经由外围电路230实现对存储器21中第一存储模块210的串行存取操作。根据onfi接口协议,以读取nand存储阵列存储页面数据的操作为例进行说明,图4为存储器控制器22对存储器21中第一存储模块210执行读取操作的时序图,图4所示时序图包括数据类型信号cycle type、数据信号dq[7:0]以及就绪/忙碌信号r/b_n。就绪/忙碌信号r/b_n处于高逻辑状态(“1”)表示存储器21就绪。就绪/忙碌信号r/b_n处于低逻辑状态(“0”)表示存储器21忙碌。
[0083]
具体地,在读取nand存储阵列的存储页面数据时,首先发送00h命令(cmd),然后在地址周期(addr)内发送地址信号c1、c2、r1、r2和r3,通过该地址信号可以得到读取的目标存储页面所在的逻辑地址,该逻辑地址包括逻辑单元(lun)、平面(plane)、存储块以及存储页面地址,每个逻辑单元(lun)包括多个平面(plane),每个平面(plane)包括多个存储块,每个存储块包括多个存储页面。最后以30h命令结束,30h命令表示开始执行读取操作。寻址期间就绪/忙碌信号r/b_n信号置为低逻辑状态,存储器21中nand存储阵列将进入忙碌状态并持续tr(read time)时间,然后就绪/忙碌信号r/b_n信号置为高逻辑状态,开始传输数据dn、dn+1和dn+2。主机可以检测nand存储阵列的就绪/忙碌信号r/b_n信号或者操作状态来确定数据传输的进度。表1为本公开提供的第一存储模块中包括的平面的初始地址范围的示例。以第一存储模块为nand存储阵列为例,其第一存储模块可包括多个逻辑单元(lun),每个逻辑单元(lun)包括多个平面(plane),每个平面(plane)包括多个存储块,每个存储块
包括多个存储页面。
[0084]
表1
[0085]
平面块循环信息初始地址范围plane00h~8f7hplane18f8h~11efhplane211f0h~1ae8hplane31ae9h~23dfhplane423e0h~2cd7hplane52cd8h~35cfh
[0086]
在一具体实施方式中,如表1所示,每个逻辑单元号包括了6个平面(分别为plane0、plane1、plane2、plane3、plane4、plane5)。表1示出了上述6个平面在逻辑单元号中的初始地址范围的关系,当需要对第一存储模块进行存取操作时,可以通过该初始地址范围对第一存储模块中的各个平面进行寻址,以锁定目标逻辑单元号中的目标平面,再进一步通过存储块在平面中的位置确定具体的存储块。
[0087]
本公开实施例中,存储器控制器将块循环信息写入第二存储模块,由于第二存储模块为静态随机存取存储模块,具有优异的读写速度,存储器控制器向第二存储模块发出地址、读写指令就能够快速实现块循环信息的存取。相较于将块循环信息存储于存储器控制器中,存储器控制器与第一存储模块之间数据交互速度较慢且无法进行随机存取,本公开实施例中存储器控制器与第二存储模块可直接进行数据交换,可以随机存取。如此,通过在存储系统的存储器中设置第二存储模块,在极大程度上加快了存取块循环信息的速度,改善了存储器对第一存储模块磨损均衡的效果,提高了存储器使用寿命。
[0088]
需要说明的是,第二存储模块220可为静态随机存取存储器,静态随机存取存储器在维持通电时可以保持存储的数据,然而,当电力供应停止时,静态随机存取存储器保存的数据会损失。因此,本公开实施例中,存储器控制器22通过输入/输出总线240从第二存储模块220中获取存储的块循环信息进行保存,以便于在第二存储模块220损失存储的数据时,存储器控制器22可以通过输入/输出总线将历史块循环信息重新写入至第二存储模块220,进而减少第二存储模块220掉电造成的数据损失。
[0089]
在一示例中,存储器控制器22可定时或间隔一定时间读取第二存储模块220中的块循环信息,在预设时间内未读取到第二存储模块220中的块循环信息时,可以认为第二存储模块220处于电力异常状况,该电力异常状况包括断电或电压突降等状况,第二存储模块220内存储的数据损失,导致存储器控制器22无法读取到第二存储模块220中的块循环信息。
[0090]
具体地,预设时间可以为周期性时间,例如,存储器控制器22间隔固定时间(例如1分钟)从第二存储模块220读取一次块循环信息进行保存。在另一示例中,预设时间可以为变化时间,例如存储器控制器22在每间隔1分钟时连续多次读取到块循环信息,可增大间隔时间例如间隔10分钟再读取块循环信息。预设时间可以根据实际情况进行设置,本公开对此并不加以限制。
[0091]
在另一示例中,存储系统20中还设置有断电保护模块(未示出),断电保护模块可分别与存储器控制器22和第二存储模块220连接。存储器控制器22在第二存储模块220断电
后,控制断电保护模块供电至第二存储模块220,以便存储器控制器22可以读取第二存储模块220断电前存储的历史块循环信息。示例性地,断电保护模块可包括电容,电容可作为第二存储模块220的备用电源。
[0092]
在一具体示例中,图5示出了存储器控制器22通过输入/输出总线240从第二存储模块中读取历史块循环信息的时序图,该时序图包括数据类型信号cycle type、数据信号dq[7:0]和就绪/忙碌信号r/b_n。就绪/忙碌信号r/b_n处于高逻辑状态(“1”)表示第二存储模块220就绪,就绪/忙碌信号r/b_n处于低逻辑状态(“0”)表示第二存储模块220忙碌。
[0093]
存储器控制器22首先发送预读取命令09h,表示对第二存储模块220执行读取操作,然后在地址周期(addr)内发送地址信号zone,根据地址信号zone可以确定需要读取的历史块循环信息位于第二存储模块220的地址,最后发送确认读取命令49h,49h表示开始执行读取操作。
[0094]
第二存储模块220在接收到由存储器控制器22传输过来的一系列命令与地址后,开始输出历史块循环信息至存储器控制器22。第二存储模块220将经过块循环信息读取设置时间(block cycling read setup time,tbcr)进行寻址,在输出周期dout期间输出数据后,完成读取操作。第二存储模块220将该历史块循环信息传输至存储器控制器22。
[0095]
如图5所示,图5中示例性显示了在输出周期dout期间输出数据的过程,在输出周期dout输出的数据分别为d0、d1、d2和d3。块循环信息的输出周期dout与第二存储模块220中存储的块循环信息的字节数有关,第二存储模块220中存储的块循环信息的字节数越大,将历史块循环信息传输至存储器控制器22所需的输出周期的时长就越长。
[0096]
需要说明的是,由于存储器控制器22通过输入/输出总线控制第二存储模块220执行读取操作的速度快花费时间较短,只需经过固定的设置时间就能继续执行其他操作,无需等待,因此在存储器控制器22获取第二存储模块220中的块循环信息的过程中,代表第二存储模块220工作状态的就绪/忙碌信号r/b_n可一直处于高逻辑状态。
[0097]
当第二存储模块220处于电力异常状况(例如断电)时,存储器控制器22保存有第二存储模块220断电前的块循环信息即历史块循环信息,因此,在第二存储模块220上电后,存储器控制器22将保存的历史块循环信息发送至第二存储模块220,重新写入第二存储模块220。
[0098]
可以理解的是,在第二存储模块220上电后,且在存储器控制器22将保存的历史块循环信息重新写入第二存储模块220之前,存储器控制器22可通过输入/输出总线240将复位指令发送至第二存储模块220,存储器控制器22控制第二存储模块220执行复位操作。
[0099]
第二存储模块220为静态随机存取存储模块,一旦断电所存储的数据将随之丢失,存储器控制器22通过输入/输出总线240获取第二存储模块220中的历史块循环信息。在第二存储模块220断电后再次上电时,为了还原断电前第二存储模块220上存储的块循环信息,通过复位指令控制第二存储模块220执行复位操作,以保证接下来进行的写入操作可以将断电前第二存储模块220上存储的历史块循环信息准确写入至第二存储模块220。
[0100]
在本公开实施例中,存储器控制器22还被配置为在第二存储模块220的上电期间,通过输入/输出总线240将复位指令发送至第二存储模块220,以控制第二存储模块220执行复位操作。
[0101]
在一具体示例中,图6示出了存储器控制器22控制第二存储模块220执行复位操作
的时序图。存储器控制器22首先发送预复位命令69h,69h表示对第二存储模块220执行复位操作,然后在地址周期(addr)内发送地址信号zone,地址信号zone用于确定需要执行复位操作的第二存储模块220的地址,最后发送确认复位命令b9h,b9h表示开始执行复位操作。
[0102]
参考图6,第二存储模块220在接收到一系列命令与地址后,经过等待时间(busy-waiting time,twb)后就绪/忙碌信号r/b_n信号置为低逻辑状态(“0”),第二存储模块220处于忙碌状态,开始执行复位操作,经过块循环信息复位时间(block cycling reset time,tbc_rst)后,对第二存储模块220的复位操作完成,就绪/忙碌信号r/b_n信号置为高逻辑状态(“1”),第二存储模块220处于就绪状态,可以将历史块循环信息准确写入至第二存储模块220。
[0103]
需要说明的是,由于存储器控制器22控制第二存储模块220执行复位操作花费的时间较存取操作更长,因此在存储器控制器22控制第二存储模块220执行复位操作时,代表第二存储模块220的工作状态的就绪/忙碌信号r/b_n从逻辑高状态转变为低逻辑状态,即第二存储模块220从就绪状态转变为忙碌状态,以提示第二存储模块220目前处于忙碌状态需要等待复位操作结束后执行读取或写入操作。
[0104]
本公开实施例中,存储器控制器通过输入/输出总线从第二存储模块中获取块循环信息进行存储,降低第二存储模块在电力异常状况时造成的损失,在极大程度上提高块循环信息的存储稳定性,改善了存储器对第一存储模块磨损均衡的效果,提高了存储器使用寿命。
[0105]
在本公开实施例中,在一示例中,存储器控制器22将第一存储模块210的块循环信息写入第二存储模块220。具体地,图7示出了存储器控制器将块循环信息写入第二存储模块的时序图。其中,就绪/忙碌信号r/b_n代表第二存储模块220处于就绪状态或者忙碌状态。存储器控制器22首先发送预写入命令89h,89h表示对第二存储模块220执行写入操作,然后在地址周期(addr)内发送地址信号zone,地址信号zone用于确定第二存储模块220存储块循环信息的地址。
[0106]
第二存储模块220在接收到预写入命令与地址信号后,第二存储模块220将在块循环信息写入设置时间(block cycling write setup time,tbcw)确定写入数据的存储地址,外围电路230随后在输入周期din中传输数据d0、d1、d2和d3,数据d0、d1、d2和d3表示第一存储模块210的块循环信息。当数据传输完成后,发送确认写入命令19h,19h表示写入操作完成。
[0107]
由于存储器控制器22控制第二存储模块220执行写入操作的速度快花费时间较短,只需经过固定的设置时间就能继续执行其他操作,无需等待,因此在存储器控制器22向第二存储模块220写入块循环信息的过程中,代表第二存储模块220的工作状态的就绪/忙碌信号r/b_n一直处于高逻辑状态。需要说明的是,第二存储模块220需要通过地址信号zone进行寻址,在地址周期中只需要发送一次地址信号就能确定第二存储模块220中相应的地址。
[0108]
在一些实施例中,存储器控制器22还被配置为在所述复位操作后,通过输入/输出总线240将写入指令和历史块循环信息发送至第二存储模块220,以将历史块循环信息写入至第二存储模块220,历史块循环信息为存储器控制器22在第二存储模块210发生电力异常状况前从第二存储模块220中获取的块循环信息。
[0109]
需要说明的是,存储器控制器22将历史块循环信息写入第二存储模块220的过程,可参考上述存储器控制器22将第一存储模块210的块循环信息写入第二存储模块220的过程,此处不再赘述。
[0110]
以下结合附图对存储系统以及存储器做进一步说明。
[0111]
如图8所示,系统700可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备或者其中具有储存器的任何其他合适的电子设备,系统700可以包括主机704和存储系统701,存储系统701具有一个或多个存储器702和存储器控制器703。主机704可以是电子设备的处理器(例如,中央处理单元(cpu))或者片上系统(soc)(例如,应用处理器(ap))。主机704可以被配置为将数据发送到存储器702或从存储器702接收数据。
[0112]
存储器控制器703和一个或多个存储器702可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(ufs)封装或emmc封装)中。也就是说,存储系统701可以实施并且封装到不同类型的终端电子产品中。在如图9a中所示的一个示例中,存储器控制器703和单个存储器702可以集成到存储器卡801中。存储器卡801可以包括pc卡(pcmcia,个人计算机存储器卡国际协会)、cf卡、智能媒体(sm)卡、存储器棒、多媒体卡(mmc、rs-mmc、mmcmicro)、sd卡(sd、minisd、microsd、sdhc)、ufs等。存储器卡801还可以包括将存储器卡801与主机耦合的存储器卡连接器802。在如图9b中所示的另一示例中,存储器控制器703和多个存储器702可以集成到ssd803中。ssd803还可以包括将ssd803与主机耦合的ssd连接器804。
[0113]
图10示出了本公开一些实施例中外围电路与存储器中第一存储模块的电路示意图。存储器900可以包括第一存储模块901和耦合到第一存储模块901的外围电路902。这里,第一存储模块901可以是nand存储阵列,其中,存储器单元903以nand存储器串905的阵列的形式提供,每个nand存储器串905在衬底(未示出)上方垂直地延伸。在一些实施方式中,每个nand存储器串905包括串联耦合并且垂直地堆叠的多个存储器单元903。每个存储器单元903可以保持连续模拟值,例如,电压或电荷,其取决于在存储器单元903的区域内捕获的电子的数量。每个存储器单元903可以是包括浮栅晶体管的浮栅类型的存储器单元,或者是包括电荷捕获晶体管的电荷捕获类型的存储器单元。
[0114]
在一些实施方式中,每个存储器单元903是具有两种可能的存储器状态并且因此可以存储一位数据的单级单元(slc)。例如,第一存储器状态“0”可以对应于第一电压范围,并且第二存储器状态“1”可以对应于第二电压范围。在一些实施方式中,每个存储器单元903是能够在多于四个的存储器状态中存储多于单个位的数据的多级单元(mlc)。例如,mlc可以每单元存储两位,每单元存储三位(又被称为三级单元(tlc)),或者每单元存储四位(又被称为四级单元(qlc))。每个mlc可以被编程为采取可能的标称存储值的范围。在一个示例中,如果每个mlc存储两位数据,则mlc可以被编程为通过将三个可能的标称存储值中的一个写入到该单元而从擦除状态采取三个可能的编程级中的一个。第四标称存储值可以用于擦除状态。
[0115]
如图10中所示,每个nand存储器串905可以包括在其源极端处的源极选择栅极(ssg)906和在其漏极端处的漏极选择栅极(dsg)907。ssg 906和dsg 907可以被配置为在读取和编程操作期间激活选定的nand存储器串905(阵列的列)。在一些实施方式中,同一存储
块904中的nand存储器串905的源极通过同一源极线(sl)910(例如,公共sl)耦合。换句话说,根据一些实施方式,同一存储块904中的所有nand存储器串905具有阵列公共源极(acs)。根据一些实施方式,每个nand存储器串905的dsg 907耦合到相应的位线911,可以经由输出总线(未示出)从位线911读取或写入数据。在一些实施方式中,每个nand存储器串905被配置为通过经由一个或多个dsg线913将选择电压(例如,高于具有dsg 907的晶体管的阈值电压)或取消选择电压(例如,0v)施加到相应的dsg 907和/或通过经由一个或多个ssg线909将选择电压(例如,高于具有ssg 906的晶体管的阈值电压)或取消选择电压(例如,0v)施加到相应的ssg 906而被选择或被取消选择。
[0116]
如图10中所示,nand存储器串905可以被组织为多个存储块904,多个存储块904的每一个可以具有公共源极线910(例如,耦合到地)。在一些实施方式中,每个存储块904是用于擦除操作的基本数据单位,即,同一存储块904上的所有存储器单元903同时被擦除。为了擦除选定块904中的存储器单元903,可以用擦除电压(vers)(例如,高正电压(例如,20v或更高))偏置耦合到选定存储块以及与选定存储块在同一平面中的未选定存储块的源极线910。应当理解,在一些示例中,可以在半存储块级、在四分之一存储块级或者在具有任何合适数量的存储块或存储块的任何合适的分数的级执行擦除操作。相邻nand存储器串905的存储器单元903可以通过字线912耦合,字线912选择存储器单元903的哪一行受读取和编程操作的影响。在一些实施方式中,每个字线912耦合到存储器单元903的存储页面908,存储页面908是用于编程操作的基本数据单位。以位为单位的一存储页面908的大小可以与一个存储块904中由字线912耦合的nand存储器串905的数量相关。每个字线912可以包括在相应存储页面908中的每个存储器单元903处的多个控制栅极(栅极电极)以及耦合控制栅极的栅极线。
[0117]
本公开实施例还提供了一种半导体器件的操作方法,所述存储器包括第一存储模块、第二存储模块;所述存储器耦合到存储器控制器,所述存储器控制器和所述第二存储模块之间设有输入/输出总线;其中,第一存储模块为非易失性存储模块,用于存储写入数据;第二存储模块为静态随机存取存储模块,用于存储第一存储模块的块循环信息,所述方法包括:
[0118]
通过所述输入/输出总线获取所述第二存储模块中的块循环信息;
[0119]
基于所述第二存储模块中的块循环信息,对所述第一存储模块进行磨损均衡处理。
[0120]
本公开实施例中,通过在存储器控制器和第二存储模块之间增设一条输入/输出总线的方式,直接实现存储器控制器与第二存储模块之间的块循环信息的传输。另外,由于存储器控制器可对第二存储模块进行快速读写,因此存储器控制器能够更快速地直接获取第二存储模块中的块循环信息,在对第一存储模块进行磨损均衡处理时,能够提高磨损均衡的效率,延长器件的寿命。
[0121]
在实际实施时,存储器的具体结构及功能可参考图3所示的存储器21。此处不再赘述。
[0122]
在一些实施例中,操作方法还包括:
[0123]
在第二存储模块的上电期间,通过输入/输出总线将复位指令发送至第二存储模块,以控制第二存储模块执行复位操作。
[0124]
在第二存储模块断电后再次上电时,为了还原断电前第二存储模块上存储的块循环信息,通过复位指令控制第二存储模块执行复位操作,以保证接下来进行的写入操作可以将断电前第二存储模块上存储的历史块循环信息准确写入至第二存储模块。
[0125]
在一些实施例中,操作方法还包括:
[0126]
在复位操作后,通过输入/输出总线将写入指令和历史块循环信息发送至第二存储模块,以将历史块循环信息写入至第二存储模块;历史块循环信息为在第二存储模块处于电力异常状况前从第二存储模块中获取的块循环信息。
[0127]
本公开实施例中,存储器控制器通过输入/输出总线从第二存储模块中获取块循环信息进行存储,降低第二存储模块在电力异常状况时造成的损失,在极大程度上提高块循环信息的存储稳定性,改善了存储器对第一存储模块磨损均衡的效果,提高了存储器使用寿命。
[0128]
在一些实施例中,操作方法还包括:
[0129]
根据第一存储模块的存取操作更新第二存储模块中的块循环信息。
[0130]
具体地,外围电路对历史块循环信息进行更新操作。在一示例中,块循环信息包括第一存储模块中各个存储块的写入/擦除次数。外围电路每当检测到第一存储模块的一存储块进行了擦除操作后和写入操作后,将该存储块的写入/擦除次数加1,并根据修改后的写入/擦除次数更新第二存储模块中的块循环信息。
[0131]
在实际应用中,可以通过在存储器10中设置计数器来记录第一存储模块110中的每一个存储块的写入/擦除次数。在一具体实施方式中,第一存储模块110包括m个存储块,响应于对第一存储模块110的m个存储块中的第一个存储模块进行的擦除操作和写入操作,更新对应于第一个存储块的计数器的计数。
[0132]
本公开实施例中,外围电路根据第一存储模块的存取操作更新第二存储模块中的块循环信息,以便外围电路或者存储器控制器根据更新后的块循环信息对第一存储模块进行磨损均衡处理,从而使得第一存储模块中各个存储块的磨损程度接近,提高存储器使用寿命。
[0133]
在一些实施例中,将块循环信息写入第二存储模块,包括:
[0134]
将第一存储模块的一个存储块的块循环信息写入第二存储模块中一个存储区块;
[0135]
循环将第一存储模块的一个存储块的块循环信息写入第二存储模块中一个存储区块的步骤,直至第一存储模块的第m个存储块的块循环信息写入完毕;其中,第一存储模块包括m个存储块,每一存储块的块循环信息包括n个字节,第二存储模块中每一存储区块的存储容量包括n个字节,m、n均为正整数。
[0136]
示例性地,以第一存储模块210包括2000个存储块,每一存储块的块循环信息包括2个字节进行说明,第一存储模块210的块循环信息的字节数为4k。第一存储模块210可包括2000个存储块(block),分别记为block0、block1至block1999,每一个存储块的块循环信息占2个字节(byte),第一存储模块210的块循环信息的字节数记为byte0至byte3999。
[0137]
具体地,第二存储模块220中第一个存储区块(存储容量为2个字节,记为byte0/1),用于存储第一存储模块210的第一个存储块(block0)的块循环信息,第二存储模块220中第2000个存储区块(存储容量为2个字节,记为byte3998/3999),用于存储第一存储模块210的第2000个存储块(block1999)的块循环信息。
[0138]
需要说明的是,第二存储模块220的具体存储方式可根据第一存储模块210的块循环信息的字节数进行调整,本公开对此并不加以限制。
[0139]
应理解,说明书通篇中提到的“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0140]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1