一种存储设备及其数据处理方法与流程

文档序号:12915710阅读:257来源:国知局
一种存储设备及其数据处理方法与流程

本发明涉及数据存储技术,尤其涉及一种存储设备及其数据处理方法。



背景技术:

固态硬盘(ssd,solidstatedrives)简称固盘,ssd由控制器和存储单元组成。nand闪存是一种非易失性的存储技术,即断电后仍能保存数据,通常,ssd中的存储单元由nand闪存颗粒组成。

ssd在开始使用初期(典型是没有全盘顺序写入过2遍的时候),经常出现随机写性能下降一半以上,甚至会下降到十分之一,大大影响了客户的使用感受。这是因为nand的磨损平衡没有做好,要想磨损平衡机制运行良好就需要先全盘写完2遍及以上。但是,随着ssd容量越来越大,从几百gb到几十tb甚至几百tb以上,全盘顺序写入2遍在正常客户使用时是非常麻烦的,所以ssd在开始使用初期的随机写性能下降问题是亟待解决的问题。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种存储设备及其数据处理方法。

本发明实施例提供的存储设备的数据处理方法中,存储设备包括第一存储单元、第二存储单元;所述方法包括:

检测存储设备的随机写性能参数;

当所述存储设备的随机写性能参数小于等于预设阈值时,将待存储的数据按照第一策略写入至所述第二存储单元;

将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,所述第二存储单元的随机写性能参数大于所述第一存储单元的随机写性能参数。

本发明一实施方式中,所述方法还包括:

当所述存储设备的随机写性能参数大于所述预设阈值时,将待存储的数据按照所述第一策略写入至所述第一存储单元。

本发明一实施方式中,所述将待存储的数据按照第一策略写入至所述第二存储单元,包括:

将待存储的数据按照随机写入策略写入至所述第二存储单元。

本发明一实施方式中,所述将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,包括:

将所述第二存储单元中的数据按照顺序写策略写入至所述第一存储单元。

本发明一实施方式中,所述第一存储单元为nand,所述第二存储单元为dimm;所述第一存储单元的数目大于所述第二存储单元的数目。

本发明实施例提供的存储设备包括:性能控制器、存储控制器、第一存储单元、第二存储单元;其中,

所述性能控制器,用于检测存储设备的随机写性能参数;当所述存储设备的随机写性能参数小于等于预设阈值时,将待存储的数据按照第一策略写入至所述第二存储单元;

所述存储控制器,用于将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,所述第一存储单元的随机写性能参数大于所述第一存储单元的随机写性能参数。

本发明一实施方式中,所述存储控制器,还用于当所述存储设备的随机写性能参数大于所述预设阈值时,将待存储的数据按照所述第一策略写入至所述第一存储单元。

本发明一实施方式中,所述性能控制器,还用于将待存储的数据按照随机写入策略写入至所述第二存储单元。

本发明一实施方式中,所述存储控制器,还用于将所述第二存储单元中的数据按照顺序写策略写入至所述第一存储单元。

本发明一实施方式中,所述第一存储单元为nand,所述第二存储单元为dimm;所述第一存储单元的数目大于所述第二存储单元的数目。

本发明实施例的技术方案中,存储设备包括第一存储单元(如dimm)、第二存储单元(如nand);检测存储设备的随机写性能参数;当所述存储设备的随机写性能参数小于等于预设阈值时,将待存储的数据按照第一策略写入至所述第二存储单元;将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,所述第二存储单元的随机写性能参数大于所述第一存储单元的随机写性能参数。采用本发明实施例的技术方案,当ssd的初期,nand的随机写性能较低,为此,使用随机写性能较高的dimm来对数据进行缓存,将缓存的数据转化为顺序写的方式写入到ssd中。如此,对于ssd而言,在初始时期也能够保障良好的随机写性能,满足客户的需求。

附图说明

图1为本发明实施例的存储设备的数据处理方法的流程示意图一;

图2为本发明实施例的存储设备的数据处理方法的流程示意图二;

图3为本发明实施例的存储设备的结构组成示意图一;

图4为本发明实施例的存储设备的结构组成示意图二;

图5为本发明实施例的计算机设备的结构组成示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。

图1为本发明实施例的存储设备的数据处理方法的流程示意图一,本示例中的存储设备包括第一存储单元、第二存储单元;如图1所示,所述存储设备的数据处理方法包括如下步骤:

步骤101:检测存储设备的随机写性能参数。

本发明实施例中,存储设备可以是ssd,对于现有的ssd而言,ssd包括控制器和存储单元,其中,控制器用于接收主机发送的读/写指令,根据读/写指令在存储单元中按照特定的策略写入数据或者读取数据。存储单元由nand闪存颗粒(以下也简称为nand)组成,nand的读取速度远大于写入速度,在nand开始使用的初期,例如全盘顺序写入过2遍以前的时段,nand的随机写性能非常低,为了不影响存储设备初期的随机写性能,本发明实施例在存储设备中另外设置有apachepass双列直插式存储模块(dimm,dual-inline-memory-modules)的一部分,也即少量的dimm颗粒。除此以外,还新增加有性能控制器(performancecontroller),如图4所示,将存储设备中原来的存储单元也即nand称为第一存储单元,将dimm称为第二存储单元。将存储设备中原来的控制器称为存储控制器或者ssd控制器(ssdcontroller)。

本发明实施例的技术方案针对数据的写入过程,针对写数据而言,至少具有两种写策略,分别为:顺序写策略、随机写策略。当然,对于读数据而言,也对应有两种读策略,分别为:顺序读策略、随机读策略。随机读写是指:每一段数据有地址码,可以任意跳到某个地址读取或写入该段数据;顺序读写是指:数据以一定长度连续存储,中间没有地址码,只能顺序读取或写入。

本发明实施例中,随机写性能参数包括但不局限于以下至少之一:按照随机写方式单位时间写入的数据量、按照随机写方式写入单位数据量的时长的倒数、按照随机写方式处理写数据请求的速率。

本发明实施例中,由新增加的性能控制器检测存储设备的随机写性能参数。

步骤102:当所述存储设备的随机写性能参数小于等于预设阈值时,将待存储的数据按照第一策略写入至所述第二存储单元。

本发明实施例中,预设阈值可以灵活设置,当存储设备的随机写性能参数小于等于预设阈值时,即代表存储设备中的第一存储单元(nand)不能够提供良好的随机写性能,为了保障存储单元的随机写性能,需要将待存储的数据按照第一策略写入至第二存储单元(dimm),这里,具体是指:将待存储的数据按照随机写入策略写入至所述第二存储单元。

这里,dimm的随机写性能是普通nand的7倍,写寿命是3倍,功耗却是三分之一,因此,当发现存储设备的随机写性能不足时,把绝大部分的随机写的数据临时先放置到dimm中存储。如此,对于外界而言,数据还是通过随机写的方式写入至存储设备中的。

步骤103:将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,所述第二存储单元的随机写性能参数大于所述第一存储单元的随机写性能参数。

本发明实施例中,把绝大部分随机写的数据临时放置到第二存储单元(dimm)后,将第二存储单元(dimm)中的数据转化为顺序写的方式写入到普通的nand中,如此,可以大大保障存储设备的随机写性能。

本发明实施例的上述技术方案中,通过性能控制器检测存储设备的随机写性能情况,如果随机写性能参数低于阈值,则启动dimm进行临时存储,以保障存储设备的随机写性能。

图2为本发明实施例的存储设备的数据处理方法的流程示意图二,本示例中的存储设备包括第一存储单元、第二存储单元;如图2所示,所述存储设备的数据处理方法包括如下步骤:

步骤201:检测存储设备的随机写性能参数。

本发明实施例中,存储设备可以是ssd,对于现有的ssd而言,ssd包括控制器和存储单元,其中,控制器用于接收主机发送的读/写指令,根据读/写指令在存储单元中按照特定的策略写入数据或者读取数据。存储单元由nand闪存颗粒(以下也简称为nand)组成,nand的读取速度远大于写入速度,在nand开始使用的初期,例如全盘顺序写入过2遍以前的时段,nand的随机写性能非常低,为了不影响存储设备初期的随机写性能,本发明实施例在存储设备中另外设置有apachepassdimm的一部分,也即少量的dimm颗粒。除此以外,还新增加有性能控制器,如图4所示,将存储设备中原来的存储单元也即nand称为第一存储单元,将dimm称为第二存储单元。将存储设备中原来的控制器称为存储控制器或者ssd控制器。

本发明实施例的技术方案针对数据的写入过程,针对写数据而言,至少具有两种写策略,分别为:顺序写策略、随机写策略。当然,对于读数据而言,也对应有两种读策略,分别为:顺序读策略、随机读策略。随机读写是指:每一段数据有地址码,可以任意跳到某个地址读取或写入该段数据;顺序读写是指:数据以一定长度连续存储,中间没有地址码,只能顺序读取或写入。

本发明实施例中,随机写性能参数包括但不局限于以下至少之一:按照随机写方式单位时间写入的数据量、按照随机写方式写入单位数据量的时长的倒数、按照随机写方式处理写数据请求的速率。

本发明实施例中,由新增加的性能控制器检测存储设备的随机写性能参数。

步骤202:判断存储设备的随机写性能参数是否小于等于预设阈值,是时,执行步骤204,否时,执行步骤203。

步骤203:将待存储的数据按照所述第一策略写入至所述第一存储单元。

本发明实施例中,预设阈值可以灵活设置,当存储设备的随机写性能参数大于预设阈值时,即代表存储设备中的第一存储单元(nand)能够提供良好的随机写性能,这种情况下,可以按照第一策略将待存储的数据写入至所述第一存储单元,具体地,将数据按照随机写入的方式写入到nand中。

步骤204:将待存储的数据按照第一策略写入至所述第二存储单元。

当存储设备的随机写性能参数小于等于预设阈值时,即代表存储设备中的第一存储单元(nand)不能够提供良好的随机写性能,为了保障存储单元的随机写性能,需要将待存储的数据按照第一策略写入至第二存储单元(dimm),这里,具体是指:将待存储的数据按照随机写入策略写入至所述第二存储单元。

这里,dimm的随机写性能是普通nand的7倍,写寿命是3倍,功耗却是三分之一,因此,当发现存储设备的随机写性能不足时,把绝大部分的随机写的数据临时先放置到dimm中存储。如此,对于外界而言,数据还是通过随机写的方式写入至存储设备中的。

步骤205:将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,所述第二存储单元的随机写性能参数大于所述第一存储单元的随机写性能参数。

本发明实施例中,把绝大部分随机写的数据临时放置到第二存储单元(dimm)后,将第二存储单元(dimm)中的数据转化为顺序写的方式写入到普通的nand中,如此,可以大大保障存储设备的随机写性能。

本发明实施例的上述技术方案中,通过性能控制器检测存储设备的随机写性能情况,如果随机写性能参数低于阈值,则启动dimm进行临时存储,以保障存储设备的随机写性能。

图3为本发明实施例的存储设备的结构组成示意图一,如图3所示,所述存储设备包括:性能控制器301、存储控制器302、第一存储单元303、第二存储单元304;其中,

所述性能控制器301,用于检测存储设备的随机写性能参数;当所述存储设备的随机写性能参数小于等于预设阈值时,将待存储的数据按照第一策略写入至所述第二存储单元304;

所述存储控制器302,用于将所述第二存储单元304中的数据按照第二策略写入至所述第一存储单元303,所述第一存储单元303的随机写性能参数大于所述第一存储单元303的随机写性能参数。

本发明实施例中,所述存储控制器302,还用于当所述存储设备的随机写性能参数大于所述预设阈值时,将待存储的数据按照所述第一策略写入至所述第一存储单元303。

本发明实施例中,所述性能控制器301,还用于将待存储的数据按照随机写入策略写入至所述第二存储单元304。

本发明实施例中,所述存储控制器302,还用于将所述第二存储单元304中的数据按照顺序写策略写入至所述第一存储单元303。

本发明实施例中,所述第一存储单元303为nand,所述第二存储单元304为dimm;所述第一存储单元303的数目大于所述第二存储单元304的数目。

本领域技术人员应当理解,图3所示的存储设备中的各单元的实现功能可参照前述存储设备的数据处理方法的相关描述而理解。

图4为本发明实施例的存储设备的结构组成示意图二,如图4所示,所述存储设备包括:apachepassdimm(也简称为dimm颗粒)、performancecontroller、ssdcontroller、多个nand颗粒;其中,

performancecontroller检测nand的随机写性能参数;当nand的随机写性能参数小于等于预设阈值时,将待存储的数据按照随机写方式写入至dimm颗粒,而后dimm颗粒中的数据按照顺序写方式写入至nand颗粒;当nand的随机写性能参数大于预设阈值时,将待存储的数据按照随机写方式写入至nand颗粒,如此,保障了存储设备的随机写性能。

本发明实施例上述存储设备如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,readonlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。

相应地,本发明实施例还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本发明实施例的上述存储设备的数据处理方法。

图5为本发明实施例的计算机设备的结构组成示意图,如图5所示,所述计算机设备包括存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机可执行指令,所述处理器502执行所述计算机可执行指令时实现如下方法步骤:

检测存储设备的随机写性能参数;

当所述存储设备的随机写性能参数小于等于预设阈值时,将待存储的数据按照第一策略写入至所述第二存储单元;

将所述第二存储单元中的数据按照第二策略写入至所述第一存储单元,所述第二存储单元的随机写性能参数大于所述第一存储单元的随机写性能参数。

本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1