Lsb页面和msb页面中的选择性数据存储的制作方法

xiaoxiao2020-7-22  13

Lsb页面和msb页面中的选择性数据存储的制作方法
【专利摘要】一种用于数据存储的方法,包括:提供存储器(32),该存储器包括多组存储单元并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据和使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保存第一数据的至少一位和第二数据的一个或多个位。数据项被接收用于保存在存储器中。将所接收的数据项分类到快速访问类和正常访问类中。使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正常访问类中的数据项保存在存储器中。
【专利说明】LSB页面和MSB页面中的选择性数据存储
发明领域
[0001]本发明总体上涉及存储器系统,尤其涉及用于多级存储器设备中数据存储的方法和系统。
[0002]发明背景
[0003]根据数据的使用模式将数据保存在存储器中的各种技术在本领域中是公知的。例如,美国专利申请公开2009/0049234,其公开内容通过引用被并入此处,描述了一种将数据保存在包括第一和第二存储器层的固态存储器中的存储方案。执行第一评估来确定所接收的数据是否是热数据或冷数据。将被评估为热数据的所接收数据保存在第一存储器层,将被评估为冷数据的所接收数据保存在第二存储器层。此外,执行第二评估来确定保存在第一存储器层中的数据是否为热数据或冷数据。然后将在第二评估期间被评估为冷数据的数据从第一存储器层迁移到第二存储器层。
[0004]作为另一例子,美国专利申请公开2011/0010489,其公开内容通过引用被并入此处,描述了一种用于管理闪存设备的多个逻辑块的逻辑块管理方法。该方法包括提供闪存控制器,以及将逻辑块分组到多个逻辑区域,其中每个逻辑块映射到多个逻辑区域中的一个。该方法还包括对每个逻辑块的使用计数值进行计数,以及根据使用计数值动态地调整逻辑块与逻辑区域之间的映射关系。相应地,该逻辑块管理方法能有效地利用逻辑区域来确定逻辑块的使用模式并使用不同机制写入数据,以便改善闪存存储设备的性能。

【发明内容】

[0005]此处所述的本发明的一个实施例提供了 一种用于数据存储的方法。该方法包括提供存储器,该存储器包括多组存储单元,并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据和使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保存第一数据的至少一位和第二数据的一个或多个位。数据项被接收用于保存在存储器中。所接收的数据项被分类到快速访问类和正常访问类中。使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正常访问类中的数据项保存在存储器中。
[0006]在一些实施例中,使用第一存储配置保存数据项包括将数据项保存在存储器的最低有效位(Least Significant Bit, LSB)页面中,以及使用第二存储配置保存数据项包括将数据项保存在存储器的最高有效位(Most Significant Bit, MSB)页面中。
[0007]在一个已公开的实施例中,将数据项分类包括将以第一访问频率访问的频繁被访问的数据项分类到快速访问类中,以及将以第二访问频率访问的很少被访问的数据项分类到正常访问类中,第二访问频率小于第一访问频率。在另一个实施例中,将数据项分类包括将管理数据分类到快速访问类中,以及将用户数据分类到正常访问类中。
[0008]在另一个实施例中,将数据项分类包括将各个被映射到存储器物理页面的第一编号的第一数据项分类到快速访问类中,以及将各个被映射到物理页面的第二编号的第二数据项分类到正常访问类中,第二编号大于第一编号。[0009]在一些实施例中,将数据项分类包括:应用预定义的固定分类把数据项分成快速访问类和正常访问类。在替代的实施例中,从主机接收数据项,并且将数据项分类包括从主机接收分为快速访问类和正常访问类的数据项分类。此外,作为替换,将数据项分类包括:通过监控到数据项的存储器访问操作,自适应地确定分成快速访问类和正常访问类的数据项分类。
[0010]在一些实施例中,保存数据项包括将属于快速访问类的数据项缓存在第一缓冲器中,将属于正常访问类的数据项缓存在第二缓冲器中,以及分别使用第一存储配置和第二存储配置保存被缓存在第一缓冲器和第二缓冲器中的数据项。
[0011]在一个实施例中,保存数据项包括运行压缩处理,将数据从存储器的一个或多个源块复制到存储器的一个或多个目标块,使得使用第一存储配置将属于快速访问类的数据项保存在目标块中,以及使用第二存储配置将属于正常访问类的数据项保存在目标块中。
[0012]运行压缩处理可包括:给存储器的多个块分配相应的等级,使得块的等级指示出保存在块中的数据项的访问频率,以及基于等级选择候选块作为源块。此外或者作为替换,运行压缩处理可包括:给存储器的多个块分配相应的等级,使得块的等级指示出:分为快速访问类和正常访问类的保存在块中的数据项分类与用于将数据保存在块中的实际存储配置之间的匹配,以及基于等级选择候选块作为源块。
[0013]此外提供了按照该本发明实施例的用于数据存储的设备,该设备包括接口和存储电路。该接口被耦合用于与存储器进行通信,该存储器包括多组存储单元,并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据和使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保留第一数据的至少一位和第二数据的一个或多个位。该存储电路被配置为接收用于保存在存储器中的数据项,将所接收的数据项分类到快速访问类和正常访问类中,使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正常访问类中的数据项保存在存储器中。
[0014]还提供了按照该本发明实施例的用于数据存储的设备,该设备包括存储器和存储电路。该存储器包括多组存储单元,并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据和使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保留第一数据的至少一位和第二数据的一个或多个位。该存储电路被配置为接收用于保存在存储器中的数据项,将所接收的数据项分类到快速访问类和正常访问类中,使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正常访问类中的数据项保存在存储器中。
[0015]根据以下实施例的详细说明并结合附图将更加彻底地理解本发明,其中:
【专利附图】

【附图说明】
[0016]图1是示意性地示出了按照本发明实施例的固态驱动器(Solid State Drive,SSD)的框图;以及
[0017]图2是示意性地示出了按照本发明实施例的用于多级单元(Mult1-Level Cell,MLC)闪存中数据存储的方法的流程图;以及
[0018]图3是示意性地示出了按照本发明实施例的用于存储块压缩的方法的流程图。【具体实施方式】
[0019]概述
[0020]多级单元(Mult1-Level Cell, MLC)存储器设备包括多个存储单元,每个存储单元保留两个或更多数据位。不同MLC位通常具有不同的访问时间。例如,在典型的2位/单元MLC闪存设备中,存储单元组可能各自保留具有快速访问时间的最低有效位(LeastSignificant Bit, LSB)页面和具有更长访问时间的最高有效位(Most SignificantBit,MSB)页面。LSB页面和MSB页面有时被分别称为“下页面”和“上页面”。
[0021]在下文描述的本发明实施例提供了用于在MLC存储器设备中保存数据的改进的方法和系统。所公开的技术将MLC存储器视为能够使用两种不同的存储配置保存数据:正常存储配置和快速存储配置。在2位/单元闪存设备中,例如,快速存储配置包括LSB页面中的存储,正常存储配置包括在设备的MSB页面中的存储。
[0022]被接收存储的数据项被分类为快速访问类和正常访问类,即分类为以快速访问时间保存的数据项和以正常访问时间保存的数据项。使用快速存储配置(例如,在LSB页面中)保存前者的数据项,使用正常存储配置(例如,在MSB页面中)保存后者的数据项。在一个示例性实施例中,快速存储配置用于保存频繁被访问(常常被成为“热”)的数据项,而正常存储配置用于保存很少被访问(“冷”)的数据项。通过将存储配置与数据的使用频率进行匹配,存储器的平均访问时间能够得以大幅度减少。
[0023]在所公开的技术中,同样的存储单元组同时采用快速访问时间和正常访问时间:存储器的每个存储单元保留使用快速存储配置保存的至少一位和使用正常存储配置保存的至少一位。在一个典型示例中,数据项的两种类型(快速访问时间和正常访问时间)被保存在MLC闪存设备的同一擦除块的不同页面。
[0024]原则上能够使用两种不同的存储器类型(例如,SLC设备和MLC设备),用于提供快速访问时间和正常访问时间,但是这类方案是低效的和不灵活的。与传统的MLC方案比较,所公开的技术提高了存储器性能,简化了存储器,并能够采用快速访问时间和正常访问时间来灵活分配存储空间,因为它们在相同的存储器设备中混合了不同的存储配置。
[0025]系统描述
[0026]图1是示意性地示出了按照本发明实施例的固态盘(Solid State Disk, SSD) 24的框图。SSD24为主机28保存数据。主机28可包括,例如,在包括多个SSD24的企业存储系统中的主处理器,在诸如笔记本或膝上型计算机的计算设备中的主处理器,或者任何其他适当的主机。
[0027]SSD24包括SSD控制器36,并在一个或更多非易失性存储器设备32中为主机28保存数据。SSD控制器36包括与主机28通信的主机接口 40,与存储器设备32通信的存储器接口 44,以及管理SSD控制器操作的处理器48。SSD控制器36还包括内部存储器,在当前例子中为动态随机访问存储器(Dynamic Random Access Memory, DRAM) 52。
[0028]在当前例子中,存储器设备32包括多级单元(Mult1-Level Cell, MLC)NAND闪存设备或冲模。每个存储器设备32包括排列在擦除块(被称为存储块或为简便起见简称块)中的多个存储单元。在单个擦除命令下每块的存储单元被一并擦除。
[0029]每块包括被一起写入和读取的多组存储单元。根据存储器设备体系结构,每组存储单元可包括,例如,给定块的整行,给定块某一行中的奇数次序存储单元,给定块某一行中的偶数次序存储单元,或在单个命令下被读取和写入的任何其他适当的存储单元组。
[0030]在当前例子中,存储器设备32包括2位/单元设备。这种设备中,每个存储单元保留数据的两位,常常被称为最低有效位(Least Significant Bit,LSB)和最高有效位(MostSignificant Bit, MSB)。每组存储单元保留两个页面:被保存在组中存储单元的多个LSB中的LSB页面,以及被保存在组中存储单元的多个MSB中的MSB页面。
[0031]每个存储器设备32支持独立的LSB和MSB读和写命令。一般地,LSB读和写命令显著地快于MSB读和写命令。换言之,LSB页面的访问时间显著地快于MSB页面的访问时间。此处使用的术语“访问时间(access time) ”指的是读取和/或写入等待时间。一般地,读和写等待时间起算于SSD控制器和存储器设备之间的接口提供读或写指令的时间,直到那个接口提供响应的时间。在一个示例存储器设备中,在下列表格中给出LSB访问时间和MSB访问时间:
[0032]
【权利要求】
1.一种用于数据存储的方法,包括: 提供存储器,该存储器包括多组存储单元并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据和使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保存第一数据的至少一位和第二数据的一个或多个位; 接收用于保存在存储器中的数据项; 将所接收的数据项分类为快速访问类和正常访问类;以及 使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正常访问类中的数据项保存在存储器中。
2.如权利要求1所述的方法,其中使用第一存储配置保存数据项包括将数据项保存在存储器的最低有效位(Least Significant Bit, LSB)页面中,其中使用第二存储配置保存数据项包括将数据项保存在存储器的最高有效位(Most Significant Bit, MSB)页面中。
3.如权利要求1或2所述的方法,其中将数据项分类包括将以第一访问频率访问的频繁被访问的数据项分类到快速访问类中,以及将以第二访问频率访问的很少被访问的数据项分类到正常访问类中,第二访问频率小于第一访问频率。
4.如权利要求1或2所述的方法,其中将数据项分类包括将管理数据分类到快速访问类中,以及将用户数据分类到正常访问类中。
5.如权利要求1或2所述的方法,其中将数据项分类包括:将各个被映射到存储器物理页面的第一编号的第一数据项分类到快速访问类中,以及将各个被映射到物理页面的第二编号的第二数据项分类到正常访问类中,第二编号大于第一编号。
6.如权利要求1或2所述的方法,其中将数据项分类包括:应用预定义的固定分类把数据项分为快速访问类和正常访问类。
7.如权利要求1或2所述的方法,其中从主机接收数据项,并且其中将数据项分类包括从主机接收分为快速访问类和正常访问类的数据项分类。
8.如权利要求1或2所述的方法,其中将数据项分类包括:通过监控到数据项的存储器访问操作,自适应地确定分成快速访问类和正常访问类的数据项分类。
9.如权利要求1或2所述的方法,其中保存数据项包括:将属于快速访问类的数据项缓存在第一缓冲器中,将属于正常访问类的数据项缓存在第二缓冲器中,以及分别使用第一存储配置和第二存储配置保存被缓存在第一缓冲器和第二缓冲器中的数据项。
10.如权利要求1或2所述的方法,其中保存数据项包括运行压缩处理,将数据从存储器的一个或多个源块复制到存储器的一个或多个目标块,使得使用第一存储配置将属于快速访问类的数据项保存在目标块中,以及使用第二存储配置将属于正常访问类的数据项保存在目标块中。
11.如权利要求10所述的方法,其中运行压缩处理包括给存储器的多个块分配相应的等级,使得块的等级指示出保存在块中的数据项的访问频率,以及基于等级选择候选块作为源块。
12.如权利要求10所述的方法,其中运行压缩处理包括给存储器的多个块分配相应的等级,使得块的等级指示出分为快速访问类和正常访问类的保存在块中的数据项分类与用于将数据保存在块中的实际存储配置之间的匹配,以及基于等级选择候选块作为源块。
13.一种用于数据存储的设备,包括: 接口,其被耦合用于与存储器进行通信,该存储器包括多组存储单元并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据,以及使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保留第一数据的至少一位和第二数据的一个或多个位;以及 存储电路,其被配置为接收用于保存在存储器中的数据项,将所接收的数据项分类到快速访问类和正常访问类中,使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正常访问类中的数据项保存在存储器中。
14.如权利要求13所述的设备,其中存储电路被配置为通过将数据项保存在存储器的最低有效位(Least Significant Bit, LSB)页面中使用第一存储配置保存数据项,以及通过将数据项保存在存储器的最高有效位(Most Significant Bit, MSB)页面中使用第二存储配置保存数据项。
15.如权利要求13或14所述的设备,其中存储电路被配置为将以第一访问频率访问的频繁被访问的数据项分类到快速访问类中,以及将以第二访问频率访问的很少被访问的数据项分类到正常访问类中,第二访问频率小于第一访问频率。
16.如权利要求13或14所述的设备,其中存储电路被配置为将管理数据分类到快速访问类中,以及将用户数据分类到正常访问类中。
17.如权利要求13或14所述的设备,其中存储电路被配置为将各个被映射到存储器物理页面的第一编号的第一数据项分类到快速访问类中,以及将各个被映射到物理页面的第二编号的第二数据项分类到正常访问类中,第二编号大于第一编号。
18.如权利要求13或14 所述的设备,其中存储电路被配置为应用预定义的固定分类把数据项分成快速访问类和正常访问类。
19.如权利要求13或14所述的设备,其中接口被配置为从主机接收数据项,其中存储电路被配置为从主机接收分成快速访问类和正常访问类的数据项分类。
20.如权利要求13或14所述的设备,其中存储电路被配置为通过监控到数据项的存储器访问操作,自适应地确定分成快速访问类和正常访问类的数据项分类。
21.如权利要求13或14所述的设备,其中存储电路包括第一缓冲器和第二缓冲器,其中存储电路被配置为将属于快速访问类的数据项缓存在第一缓冲器中,将属于正常访问类的数据项缓存在第二缓冲器中,以及分别使用第一存储配置和第二存储配置保存被缓存在第一缓冲器和第二缓冲器中的数据项。
22.如权利要求13或14所述的设备,其中存储电路被配置为运行压缩处理,将数据从存储器的一个或多个源块复制到存储器的一个或多个目标块,使得使用第一存储配置将属于快速访问类的数据项保存在目标块中,以及使用第二存储配置将属于正常访问类的数据项保存在目标块中。
23.如权利要求22所述的设备,其中存储电路被配置为给存储器的多个块分配相应的等级,使得块的等级指示出保存在块中的数据项的访问频率,以及基于等级选择候选块作为源块。
24.如权利要求22所述的设备,其中存储电路被配置为给存储器的多个块分配相应的等级,使得块的等级指示出分为快速访问类和正常访问类的保存在块中的数据项分类与用于将数据保存在块中的实际存储配置之间的匹配,以及基于等级选择候选块作为源块。
25.一种用于数据存储的设备,包括: 存储器,该存储器包括多组存储单元并被配置为同时使用具有第一访问时间的第一存储配置保存第一数据和使用具有第二访问时间的第二存储配置保存第二数据,第二访问时间长于第一访问时间,使得每组的每个存储单元保留第一数据的至少一位和第二数据的一个或多个位;以及 存储电路,其被配置为接收用于保存在存储器中的数据项,将所接收的数据项分类到快速访问类和正常访问类中,使用第一存储配置将快速访问类中的数据项保存在存储器中,使用第二存储配置将正`常访问类中的数据项保存在存储器中。
【文档编号】G06F12/00GK103608782SQ201280023874
【公开日】2014年2月26日 申请日期:2012年5月13日 优先权日:2011年5月15日
【发明者】A·鲁博威策 申请人:苹果公司

最新回复(0)