首页> 中国专利> 固态存储回收系统及固态存储回收方法

固态存储回收系统及固态存储回收方法

摘要

本发明提供了一种固态存储回收系统和方法,该系统包括:固态存储阵列、接口模块、存储控制模块以及固件模块,其中,如果待写入的数据不属于设定的数据类型,存储控制模块设置成将待写入的数据写入到固态存储阵列,如果待写入的数据属于设定的数据类型,则存储控制模块设置成将待写入的数据写入到固件模块,并将固态存储阵列中与待写入的数据相匹配的物理存储单元回收,以用于损耗均衡。利用本发明所提供的系统和方法促进固态存储空间回收。

著录项

  • 公开/公告号CN105912279A

    专利类型发明专利

  • 公开/公告日2016-08-31

    原文格式PDF

  • 申请/专利权人 河南中天亿科电子科技有限公司;

    申请/专利号CN201610333032.2

  • 发明设计人 王军辉;霍小四;

    申请日2016-05-19

  • 分类号

  • 代理机构北京金岳知识产权代理事务所(特殊普通合伙);

  • 代理人王鹏鑫

  • 地址 450000 河南省郑州市金水区经三路66号2号楼1单元1801号

  • 入库时间 2023-06-19 00:22:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-22

    授权

    授权

  • 2016-09-28

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20160519

    实质审查的生效

  • 2016-08-31

    公开

    公开

说明书

技术领域

本发明涉及固态存储技术。具体的,涉及用于回收固态存储设备的物理空间的系统和方法。

背景技术

固态存储设备通常使用存储单元数组来创建非易失性存储。在闪存设备中,无论是单层单元或多层单元都可以作为长期的存储设备来实现。单层单元(SLC)中仅有一个比特长度,以当前的可用技术而言,支持大约10万次的编程或擦除循环操作。多层单元(MLC)拥有可变电荷和更多信息,但与SLC相比故障率更高。对于MLC而言,一个典型的编程/擦除规范目前是10000个循环操作。在这两种情况中,损耗均衡算法均被实施,以防止在同一存储单元块中执行重复的写操作。

通过在少量已使用或未使用的单元中分配写操作,损耗均衡算法可以改善存储设备的写入处理能力。当存储设备中大量可用单元未被利用时,损耗均衡算法运行的更加有效率。在这种条件下,损耗均衡算法能够显著减少在每个单元上写操作的平均次数,从而提高固态存储设备的使用时间。

发明内容

以当前已有的固态存储空间回收方法而言,尚无能完全解决本类问题并满足领域需求的最佳方法。发明人提出本发明的技术方案用于解决现有技术中的问题至少一个方面,从而克服了上述缺点以促进固态存储空间的回收。

根据本发明所提供的固态存储回收系统,其包括:固态存储阵列,所述固态存储阵列具有用于写入和读取数据的固态存储物理单元;接口模块,所述接口模块被设置为接收写命令以及待写入的数据;存储控制模块,所 述存储控制模块被设置为控制对所述固态存储阵列的写入或读取;固件模块,所述固件模块用于存储与设定的数据类型相同的数据;其中,如果所述待写入的数据不属于设定的数据类型,所述存储控制模块设置成将待写入的数据写入到所述固态存储阵列;如果所述待写入的数据属于设定的数据类型,则存储控制模块设置成将待写入的数据写入到所述固件模块,并将固态存储阵列中与待写入的数据相匹配的物理存储单元回收,以用于损耗均衡。

在本发明的实施方式中,固态存储回收系统还包括映射模块,所述映射模块设置成管理一个或多个映射表,所述映射表中记录固态存储阵列中逻辑存储地址到物理存储地址映射。

在本发明的实施方式中,所述映射模块能够从所述固态存储阵列中读取数据,从而对映射模块中的映射表进行更新。

在本发明的实施方式中,所述存储控制模块读取所述映射模块中的映射表,以确定所述待写入数据的逻辑存储地址和物理存储地址。

在本发明的实施方式中,所述映射模块存储于所述固态存储阵列内,若待写入的数据属于设定的数据类型,则存储在所述固态存储阵列内的与所述待写入的数据相配匹的映射表的条目被删除,并回收存储该条目的物理存储地址。

根据本发明还提供的一种固态存储回收方法,其包括如下步骤:接收写入命令以及待写入的数据;识别待写入数据是否属于设定的数据类型;

如果待写入数据不属于设定的数据类型,则将待写入的数据写入到所述固态存储阵列;如果待写入数据属于设定的数据类型,则将待写入的数据写入到固件模块,并将固态存储阵列中与待写入的数据相匹配的物理存储单元回收,以用于损耗均衡。

在本发明的实施方式中,其中,将待写入的数据写入固态存储阵列的步骤,其通过映射表来实现,所述映射表中记录固态存储阵列中逻辑存储地址到物理存储地址的映射。

在本发明的实施方式中,其中,所述映射表能够根据固态存储阵列中的数据进行更新。

在本发明的实施方式中,其中,利用所述映射表中的数据,以确定所 述待写入数据的逻辑存储地址和物理存储地址。

在本发明的实施方式中,所述映射表存储于固态存储阵列内,若待写入的数据属于设定的数据类型,则存储在所述固态存储阵列内的与所述待写入的数据相配匹的映射表的条目被删除,并回收存储该条目的物理存储地址。

附图说明

从随后结合附图对实施例的描述中,本发明的示例性实施例的这些和/或其他方面和优点将变得显而易见并更容易理解,在附图中:,其中:

图1示出了根据本发明的固态存储回收系统的实施例;

图2示出了根据本发明的固态存储回收系统的又一实施例;

图3示出了根据本发明的固态存储回收系统的再一实施例;

图4示出了根据本发明的固态存储回收方法的流程图;

图5示出了根据本发明的地址映射情景的示意图。

具体实施方式

在本说明书中描述的功能单元已经被标记为模块,以便更具体地强调它们的实现。例如,模块可以被实现为硬件电路,包括定制VLSI电路或门阵列,现成的,货架半导体诸如逻辑芯片,晶体管或其他分立元件;同样,模块也可以在可编程的硬件设备(如:门阵列、可编程的阵列逻辑、固态存储器、可编程逻辑设备等)来实现。

模块也可通过不同类型的处理器来实现,用于在软件中执行。可执行代码的确定模块可以包含一个或多个计算机指令的逻辑或物理块,如:被组织的对象、过程或功能。尽管如此,确定模块的可执行文件不必放在同一物理地址上,而是可由同一存储的不同存储单元中的内容组成,仅需在需要的时候将该模块完全不同的指令在逻辑上结合在一起时,应以实现该模块的既定用途。

事实上,包含可执行代码的模块可以是一条指令,也可是多条指令,甚至可以分布到不同的代码段、存在于不同的程序间,也可跨多个存储设备。同样,模块中的操作数据可被识别和解释,并且可以在任何适当类型 的数据结构中,以适合的形式显示和结合。执行数据可以作为单一的数据集被采集,或者被分布到不同存储设备的不同地方,或者仅有部分作为系统或网络上的电子信号存在也是可以的。

贯穿本说明书中对“一个实施例”,“实施例”,或类似语言的参考意味着至少包括在本发明的应用实例的一个特定的特征、结构或与该实施例描述的特征。同样的,本说明书中采用的“在应用实例中”或“在一个应用实例”和类似的语言可以但不一定指的是同一个应用实例。

此外,本发明中所描述的特征、结构或特性可以任何合适的方式在一个或多个应用实例中被组合使用。随后的描述中,诸如编程实例、软件模块、用户选择、网络交易、数据库查询、硬件芯片、硬件模块、硬件电路等等提供了许多具体细节,用于支持彻底理解本发明的应用实例。在替他实例中,众所周知的结构、材料或者操作将不再详细描述或出示,以避免本发明相关环节被混淆。

以下通过附图结合具体实施方式对本发明进行进一步的说明和阐述,但是请注意,附图中所示的特征不表明本发明的技术方案必须包括该特征,本领域技术人员可以根据实际情况进行删除和增加以及相互结合。

如图1-3所示,其示出了本发明的固态存储回收系统的三种不同的实施方式。

具体的,如图1所示,其示出了固态存储回收系统130,其包括:固态存储阵列140,所述固态存储阵列具有用于写入和读取数据的固态存储物理单元;接口模块,所述接口模块被设置为接收写命令以及待写入的数据;存储控制模块142,所述存储控制模块被设置为控制对所述固态存储阵列的写入或读取;固件模块138,所述固件模块用于存储与设定的数据类型相同的数据;其中,如果所述待写入的数据不属于设定的数据类型,所述存储控制模块设置成将待写入的数据写入到所述固态存储阵列140;如果所述待写入的数据属于设定的数据类型,则存储控制模块设置成将待写入的数据写入到所述固件模块,并将固态存储阵列中与待写入的数据相匹配的物理存储单元回收,以用于损耗均衡。

图1还示出了与本发明进行交互的计算机设备110,该计算机设备110向固态存储回收系统130进行读写,同时对固态存储阵列140的访问进行管 控。根据图1所示的实施方式,本发明的固态存储回收系统通过对固态存储阵列140读写次数的最小化,使得该系统能够提供更快的访问速度,对固态存储阵列的损耗最小。

此外,计算机设备110与固态存储回收系统分离设置,在图1所示出的实施方式中,固态存储回收系统设置在计算机设备110的外部,然而,本领域技术人员也可以将固态存储回收系统设置在计算机设备110的内部或者将计算机设备110设置在固态存储回收系统130的内部。换而言之,本领域技术人员可以根据实际需要对上述部件进行合适的设置。

如图1所示,固件模块138与固态存储阵列140分离设置,然而,本领域技术人员也可以采用其他的设置方式,例如,在固态存储阵列140中划分出一定的存储空间来作为固件模块138。

在本发明的实施方式中,计算机设备110也可作为主要或次要存储模块应用到固态存储回收系统130中。计算机设备110能够产生包含读写指令的数据包120,从而数据包120能够被读写。固态存储回收系统130通过一个接口模块接收数据包120。

参见附图2所示,根据本发明的又一实施方式,接口模块可以包括接口控制模块132和接口缓存134。当然本领域技术人员也可以设置其他的模块用于接口模块。

接口控制模块132可被配置用作处理设备协议、报告计算机设备110或固态存储回收系统130的传输错误。另外,接口控制模块132可负责传输数据包到计算机设备。

数据包流可通过接口缓存134进行管理和控制。接口缓存可以临时存储信息,当需要的时候将将数据包传递到存储控制模块142。

如图3所示,其示出了本发明的又一实施方式,固态存储回收系统130还包括映射模块136,所述映射模块136设置成管理一个或多个映射表,映射表中记录固态存储阵列140中逻辑存储地址到物理存储地址的映射。映射模块能够从固态存储阵列中读取数据,从而对映射模块中的映射表进行更新。存储控制模块142读取所述映射模块中的映射表,以确定所述待写入数据的逻辑存储地址和物理存储地址。

映射模块136可以存储于固态存储阵列140内,若待写入的数据属于设 定的数据类型,则存储在所述固态存储阵列内的与所述待写入的数据相配匹的映射表的条目被删除,并回收存储该条目的物理存储地址。

这里的“设定的数据类型”是预先定义的数据类型,例如,通用数据类型,即,技术人员可以根据不同的系统或者不同的操作方式来对数据类型进行设定,以使其作为设定的数据类型在本发明中的固态存储回收系统中使用。

根据图3所示出的实施方式,存储控制模块142可以允许访问映射模块136、固件模块138和固态存储阵列140,从而向计算机设备110提供读写功能。在具体的实施方式中,映射模块136可以存储在固态存储阵列140中,映射模块136包括访问存储数据的逻辑地址。映射模块136管理一个或多个映射表,这些映射表中记录了固态存储阵列中逻辑存储地址到物理存储地址映射。

在本发明所提供的实施方式中,例如,在执行写入操作的情况下,固态存储控制模块142与映射模块136进行通信,以确定所述固态存储阵列140中可用的物理写入地址。从而待写入的数据能被写入该固态存储设备阵列140,以及逻辑存储地址到物理存储地址的映射通过映射模块136采集。

在本发明的实施例中,该存储控制模块142从该固态存储阵列140读取映射表信息,当在操作过程中需要设备初始化、存储和更新信息、并写入或启动写操作将映射表写入固态存储阵列140中长期存储。该映射模块能够实现损耗均衡算法每次在向映射表中写入内容时,能根据需要在固态存储阵列140中分配不同的位置。

当将写入固态存储阵列的数据匹配为设定的数据模式,存储控制模块142可以避免将数据重复写入到固态存储阵列140中,仅将该存储的逻辑单元简单地映射到该设定的数据模式的存储位置上,例如固件模块上,也可以是其他方法。

在本发明的实施方式中,对存储的逻辑单元进行映射到一个或多个存储位置可以通过各种手段和方法来实现。例如,对应于该设定的数据类型的特定代码或物理存储都可以被插入到映射表中。同样的,存储逻辑单元的条目也能从映射表中删除;该映射表明确指出该存储的逻辑单元包含了该设定的数据类型的模式。

根据本发明的实施方式,该设定的数据类型的模式可以被存于固态存储阵列140的设定的数据类型的模式区中,也可以存储在固件模块138中。在应用中,任何类型的存储配置都能提供设定的数据类型的模式存储。SDRAM就是典型应用。在存储阵列之外存储或生成设定的数据类型模式从而减轻来自固态存储阵列140的输入输出负载。

根据本发明的实施方式,引入备用位置用于存储或生成的设定的数据类型的模式能提供显著优于现有技术的实现方式。例如,当涉及的数据使用的是设定的数据类型,那么在读写操作执行时固态存储阵列140不需要被访问。在另外一个应用实例中,在读操作过程中,如果所需映射不存在于映射表中时,设定的数据类型模式将被返回,从而减少访问(潜在的高等待时间)固态存储阵列140和减少映射表所需的空间。

此外,该映射模块136能够包含指向同一物理地址的多重逻辑地址。指向同一物理地址能够消除固态存储阵列140中含有相同数据模式的存储单元。在所需空间最小前提下,该固态存储设备能够提供额外的空间用于损耗均衡算法或类似。

此外,本发明还提供了一种固态存储回收方法,其包括如下步骤:接收写入命令以及待写入的数据;识别待写入数据是否属于设定的数据类型;如果待写入数据不属于设定的数据类型,则将待写入的数据写入到所述固态存储阵列;如果待写入数据属于设定的数据类型,则将待写入的数据写入到固件模块,并将固态存储阵列中与待写入的数据相匹配的物理存储单元回收,以用于损耗均衡。

其中,将待写入的数据写入固态存储阵列的步骤,其通过映射表来实现,所述映射表中记录固态存储阵列中逻辑存储地址到物理存储地址映射。

其中,所述映射表能够根据固态存储阵列中的数据进行更新。

其中,利用所述映射表中的数据,以确定所述待写入数据的逻辑存储地址和物理存储地址。

所述映射表存储于固态存储阵列内,若待写入的数据属于设定的数据类型,则存储在所述固态存储阵列内的与所述待写入的数据相配匹的映射表的条目被删除,并回收存储该条目的物理存储地址。

如图4所示,其示出了根据本发明所提供的方法的一种实施方式的流 程图。

其中,根据本发明所提供的方法,如图4所示,固态存储回收方法,其包括如下步骤:接收写入命令以及待写入的数据210;识别待写入数据是否属于设定的数据类型220;如果待写入数据不属于设定的数据类型,则将待写入的数据写入到所述固态存储阵列250;如果待写入数据属于设定的数据类型,则将待写入的数据写入到固件模块230,并将固态存储阵列中与待写入的数据相匹配的物理存储单元回收,以用于损耗均衡。

其中,将待写入的数据写入固态存储阵列的步骤,其通过映射表来实现,所述映射表中记录固态存储阵列中逻辑存储地址到物理存储地址映射。

其中,所述映射表能够根据固态存储阵列中的数据进行更新280。

其中,利用所述映射表中的数据,以确定所述待写入数据的逻辑存储地址和物理存储地址260。

所述映射表存储于固态存储阵列内,若待写入的数据属于设定的数据类型,则存储在所述固态存储阵列内的与所述待写入的数据相配匹的映射表的条目被删除,并回收存储该条目的物理存储地址240。

根据本发明的方法还可以包括添加逻辑映射290的步骤,如果与写入数据相匹配的映射不存在,则将逻辑映射添加到映射表内。

根据本发明所提供的方法,在写操作期间通过识别设定的数据类型的模式和已存在的映射,该方法能够使固态存储空间被回收和重用。在一个应用实例中,该设定的数据类型的模式在系统模式或者整个数据存储模式的零层;在另一应用实例中,该设定的数据类型的模式也可以包含的数据和来自低层级的格式化算法一致。

如果这些待写入的数据包含了设定的数据类型,这些逻辑存储地址应映射到设定的数据类型的模式。

上述步骤可以通过多种方式来实现。例如,将对应设定的数据类型模式的指令或物理存储地址被插入到映射表中。另外,存储的逻辑单元的条目可以从映射表中删除,这表明它包含了设定的数据类型模式。特别是,在一个应用实例中,该固态存储设备确认逻辑地址到物理地址的映射,并将之从映射表中移除。当逻辑存储地址被移除,存储控制模块142将与之相对性的物理空间视之为可用。

随后映射到设定的数据类型模式的存储物理单元对应的映射地址可被回收用于包括随后实现损耗均衡算法时的使用。根据本发明所提供的实施方式,上述回收可以不依赖于任何来自外部设备、设备驱动或外部接口的回收命令发生。设备内部处理回收的能力提供了一个显著优势,这种情况在即插即用方案中尤为明显。

如果设定的数据类型模式未被识别,则将这些数据写入物理固态存储单元(块或扇区)。在应用实例中,映射表将被检查,对于该逻辑单元的映射是否存在。如果逻辑地址到物理地址的映射存在,从而能够确认逻辑和物理写入位置,该逻辑映射将被更新,以反映该写入数据的物理地址。如果映射不存在,则逻辑映射将被加入映射表中,以便为新写入的数据建立逻辑地址到物理地址的映射。

特别的,申请人指出,上述方法中的步骤不是必须的,本领域技术人员可以根据实际需要选取上述方法中的步骤的全部,也可以选择一部分进行使用,图4示出了的流程图是本发明的一个优选的实施方式,其不构成对本发明的限定。

为了更好的理解本发明的映射的原理以及实现的过程,图5给出了本发明的地址映射示意图。通过该示意图,本领域技术人员可以对本发明有更清楚的了解。

如图5所示,映射情景包含映射表305、逻辑地址映射310、固态存储物理单元320以及带有对设定的数据类型进行存储的固件330。映射多重逻辑存储地址到同一物理地址或/和替代存储地址可以减少在存储阵列中为数据存储分配的物理存储数量。

在图5示出的实例中,逻辑地址映射310a和310b同时关联到同一物理固态存储单元320a,逻辑地址映射可以指向存储替代源,例如固件330。在本例中,逻辑地址映射310c和310d作为设定的数据类型模式存储或代码332指向固件地址。举例来说,该模式能够为诸如存储控制模块140之类生成通用模式。在物理固态块之外存储或生成设定的数据类型模式,能够在未来为写操作和损耗均衡进程提供更多的可用空间。

如上所述,所描述的应用实例,仅供本领域相关人员理解使用。故而,本系统及方法不限制于文中所举用例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号