PCIESSD的数据存储方法、系统、设备及存储介质与流程

文档序号:32748789发布日期:2022-12-30 23:34阅读:26来源:国知局
PCIESSD的数据存储方法、系统、设备及存储介质与流程
pcie ssd的数据存储方法、系统、设备及存储介质
技术领域
1.本发明涉及数据存储领域,尤其涉及一种pcie ssd的数据存储方法、系 统、设备及存储介质。


背景技术:

2.目前pcie ssd multistream的管理可以参考图1的ssd存储架构,基本 上都是单一类型的superblk进行管理,在ssd multistream的管理上,在同一 层的block会被ftl协议固定为superblk的存储对象,由多个同层的block 连接的stream传输通道同时传输,这样加快传输效率会提高ssd的使用速度, 并且在逻辑的host层上是无法得知ssd底层下的变化,但是由于粒度过大会 导致superblk的管理中,比较容易混杂其他stream传输通道的数据。因为, 每条存储链上只能由上至下的利用block,删除某个superblk的数据,会存 在一定的非指定删除数据的block残余,影响整个ssd的存储空间的利用。
3.因此,针对传输过程中,以同一层的block为基本的固有superblk设置, 导致同一层superblk存储空间会掺杂其他存储信息,在ssd搬运过程中引发 存储利用空间降低的缺点。需要一种新的技术,解决当前ssd的superblk管 理粒度过大导致ssd空间利用率降低且容易混杂的stream传输通道的数据缺 点。


技术实现要素:

4.本发明的主要目的在于解决ssd的superblk管理粒度过大导致ssd空 间利用率降低且容易混杂的stream传输通道的数据的技术问题。
5.本发明第一方面提供了一种pcie ssd的数据存储方法,所述pcie ssd 的数据存储方法应用于pcie ssd的数据存储系统,所述pcie ssd的数据存 储系统包括:host主控系统、device存储系统,所述pcie ssd的数据存储方 法包括:
6.所述host主控系统发送目标存储数据对应的容量数据流进入所述device 存储系统中;
7.所述device存储系统接收所述容量数据流,根据预置ftl协议和所述容 量数据流,对预置存储块进行构建处理,得到最小superblk操作单元;
8.所述host主控系统发送所述目标存储数据进入所述device存储系统中;
9.所述device存储系统接收所述目标存储数据,根据所述最小superblk操 作单元,对所述目标存储数据进行编码存储处理,得到pcie ssd存储的目标 存储数据。
10.可选的,在本发明第一方面的第一种实现方式中,所述device存储系统 包括:n个存储块,n为正整数,所述根据预置ftl协议和所述容量数据流, 对预置存储块进行构建处理,得到最小superblk操作单元包括:
11.根据预置ftl协议,选取所述容量数据流对应容量的m个存储块,构建 为最小superblk操作单元,其中,m为小于n的正整数。
12.可选的,在本发明第一方面的第二种实现方式中,所述device存储系统 包括:n个
平行存储块,n为正整数,所述根据预置ftl协议,选取所述容 量数据流对应容量的m个存储块,构建为最小superblk操作单元包括:
13.基于ftl协议,选取所述容量数据流对应容量的m个平行存储块,构建 为最小superblk操作单元。
14.可选的,在本发明第一方面的第三种实现方式中,所述根据所述最小 superblk操作单元,对所述目标存储数据进行编码存储处理,得到pcie ssd 存储的目标存储数据包括:
15.判断所述最小superblk操作单元的容量是否大于所述目标存储数据的容 量;
16.若大于,则将所述目标存储数据存储于所述最小superblk操作单元中, 得到pcie ssd存储的目标存储数据;
17.若不大于,则对目标存储数据进行拆分存储处理,得到pcie ssd存储的 目标存储数据。
18.可选的,在本发明第一方面的第四种实现方式中,所述对目标存储数据 进行拆分存储处理,得到pcie ssd存储的目标存储数据包括:
19.基于所述最小superblk操作单元的容量大小,对所述目标存储数据进行 拆分处理,得到y个拆分存储数据,其中,y为正整数;
20.将所述y个拆分存储数据作为基本存储单元对应存储于y个所述最小 superblk操作单元中。
21.可选的,在本发明第一方面的第五种实现方式中,所述host主控系统发 送目标存储数据对应的容量数据流进入所述device存储系统中包括:
22.所述host主控系统接收存储指令,读取所述存储指令对应目标存储数据 的容量数据,根据所述容量数据生成stream数据流;
23.将所述stream数据流发送至所述device存储系统中。
24.本发明第二方面提供了一种pcie ssd的数据存储系统,所述pcie ssd 的数据存储系统包括:
25.host主控系统、device存储系统;
26.所述host主控系统,用于发送目标存储数据对应的容量数据流进入所述 device存储系统中;
27.所述device存储系统,用于接收所述容量数据流,根据预置ftl协议和 所述容量数据流,对预置存储块进行构建处理,得到最小superblk操作单元;
28.所述host主控系统,用于发送所述目标存储数据进入所述device存储系 统中;
29.所述device存储系统,用于接收所述目标存储数据,根据所述最小superblk操作单元,对所述目标存储数据进行编码存储处理,得到pcie ssd 存储的目标存储数据。
30.本发明第三方面提供了一种pcie ssd的数据存储设备,包括:存储器和 至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处 理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以 使得所述pcie ssd的数据存储设备执行上述的pcie ssd的数据存储方法。
31.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存 储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的pciessd的数据存储方法。
32.在本发明实施例中,提出了基于最小可管理superblk空间信息为颗粒度 的思想,由host主控机在发起新的一笔stream流存储信息指令操作前,通过 命令告知stream数据流的预计存储目标容量的数值,这样ftl协议就灵活地 设置superblk空间数据,以最大适配该stream流传输数据的容量数值,避免 过度开辟superblk空间数据,解决了superblk管理粒度过大导致ssd空间利 用率降低且容易混杂的stream传输通道的数据的技术问题。
附图说明
33.图1为现有技术中的ssd存储架构示意图;
34.图2为本发明实施例中pcie ssd的数据存储方法的一个实施例示意图;
35.图3为本发明实施例中pcie ssd的数据存储系统的一个实施例示意图;
36.图4为本发明实施例中pcie ssd的数据存储系统的另一个实施例示意图;图5为本发明实施例中pcie ssd的数据存储设备的一个实施例示意图。
具体实施方式
37.本发明实施例提供了一种pcie ssd的数据存储方法、系统、设备及存储 介质。
38.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第 三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的 顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这 里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外, 术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含 了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出 的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、 产品或设备固有的其它步骤或单元。
39.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图2,本 发明实施例中pcie ssd的数据存储方法的一个实施例,所述pcie ssd的数 据存储方法应用于pcie ssd的数据存储系统,所述pcie ssd的数据存储系 统包括:host主控系统、device存储系统,所述pcie ssd的数据存储方法包 括:
40.201、host主控系统发送目标存储数据对应的容量数据流进入device存储 系统中;
41.在本实施例中,host主控系统是上位机,在host主控系统只能查看到数 据存储的位置,不能控制数据存储逻辑,对于host主控系统存储只能定位在 device存储系统中的存储盘里,而不能控制和反馈device存储系统的存储过 程,device存储系统的存储过程是由ssd盘中的cpu运算和计算出来。
42.进一步的,在201步骤中可以执行以下步骤:
43.2011、host主控系统接收存储指令,读取存储指令对应目标存储数据的容 量数据,根据容量数据生成stream数据流;
44.2012、将stream数据流发送至device存储系统中。
45.在2011-2012步骤中,通过host主控系统接收到目标存储数据的存储指 令,预先计算目标存储数据的预期存储空间,基于该存储指令获得的存储容 量数值,根据获得的容量数值,生成stream数据流传输至device存储系统中。
46.202、device存储系统接收容量数据流,根据预置ftl协议和容量数据流, 对预置存储块进行构建处理,得到最小superblk操作单元;
47.在本实施例中,在device存储系统中接收到该容量数据流的指令,通过 ftl协议修改superblk中容纳的block,这里superblk实际上是一种逻辑设 置,在读取与写入过程中以superblk作为最基础的单元进行,但物理上仍然 由block完成写入与读取,修改的是superblk的粒度,得到最小superblk操 作单元,以匹配将要传输的目标存储数据。
48.进一步的,device存储系统包括:n个存储块,n为正整数,202步骤可 以执行以下操作:
49.2021、根据预置ftl协议,选取容量数据流对应容量的m个存储块,构 建为最小superblk操作单元,其中,m为小于n的正整数。
50.在2021步骤中,device存储系统有n个存储块,而不限制存储块之间的 是否为同一层运算的存储块,可以采用ftl协议,将多个层次的m个存储块 锁定为最小superblk操作单元,m要小于n。
51.进一步的,device存储系统包括:n个平行存储块,n为正整数,2021 步骤可以执行以下步骤:
52.20211、基于ftl协议,选取容量数据流对应容量的m个平行存储块, 构建为最小superblk操作单元。
53.在20211步骤中,device存储系统可以在一个层级的n个平行存储块中 开辟m个平行存储块确定为最小superblk操作单元,而该最小superblk操 作单元需要在同一层的粒度下执行读取与写入的操作,这里m是小于n的数 量,在同一链条传输存储block的过程中,可以限制在小范围执行读取与存储 过程。
54.203、host主控系统发送目标存储数据进入device存储系统中;
55.204、device存储系统接收目标存储数据,根据最小superblk操作单元, 对目标存储数据进行编码存储处理,得到pcie ssd存储的目标存储数据。
56.在203-204步骤中,host主控系统发送的目标存储数据进入device存储 系统中,该目标存储数据在ftl协议下,会直接进入划定好的最小superblk 操作单元中的各个bolck块中,完成pcie ssd存储的目标存储数据。
57.进一步的,在204步骤中,可以执行以下步骤:
58.2041、判断最小superblk操作单元的容量是否大于目标存储数据的容量;
59.2042、若大于,则将目标存储数据存储于最小superblk操作单元中,得 到pcie ssd存储的目标存储数据;
60.2043、若不大于,则对目标存储数据进行拆分存储处理,得到pcie ssd 存储的目标存储数据。
61.在2041-2043步骤中,预估数据会存在偏差,如果最小superblk操作单 元的容量大于目标存储数据的容量,则可采用最小损耗的存储空间,将目标 存储数据分多个通道写入最小superblk操作单元中,得到pcie ssd存储的 目标存储数据。
62.在另一方面,如果预估数值小于实际要存储的数值,则先利用最小 superblk操作单元存储一部分目标存储数据。在开辟新的最小superblk操作 单元存储另一部分的目标存储数据,也即是将目标存储数据拆分为多个存储 数据放入最小superblk操作单元中。
63.进一步的,在2043步骤中,可以执行以下步骤:
64.20431、基于最小superblk操作单元的容量大小,对目标存储数据进行拆 分处理,得到y个拆分存储数据,其中,y为正整数;
65.20432、将y个拆分存储数据作为基本存储单元对应存储于y个最小 superblk操作单元中。
66.在20431-20432步骤中,可以目标存储数据基于最小superblk操作单元 的容量大小拆分为多个,目标存储数据是最小superblk操作单元的容量大小 的4.5倍,则将目标存储数据拆分为5份,然后开辟5个最小superblk操作 单元,按照ssd固有的存储逻辑,将目标存储数据拆分为5份依次存入至5 个最小superblk操作单元中,完成存储粒度的修改。
67.在本发明实施例中,提出了基于最小可管理superblk空间信息为颗粒度 的思想,由host主控机在发起新的一笔stream流存储信息指令操作前,通过 命令告知stream数据流的预计存储目标容量的数值,这样ftl协议就灵活地 设置superblk空间数据,以最大适配该stream流传输数据的容量数值,避免 过度开辟superblk空间数据,解决了superblk管理粒度过大导致ssd空间利 用率降低且容易混杂的stream传输通道的数据的技术问题。
68.上面对本发明实施例中pcie ssd的数据存储方法进行了描述,下面对本 发明实施例中pcie ssd的数据存储系统进行描述,请参阅图3,本发明实施 例中pcie ssd的数据存储系统一个实施例,所述pcie ssd的数据存储系统 包括:
69.host主控系统301、device存储系统302;
70.所述host主控系统301,用于发送目标存储数据对应的容量数据流进入 所述device存储系统中;
71.所述device存储系统302,用于接收所述容量数据流,根据预置ftl协 议和所述容量数据流,对预置存储块进行构建处理,得到最小superblk操作 单元;
72.所述host主控系统301,用于发送所述目标存储数据进入所述device存 储系统中;
73.所述device存储系统302,用于接收所述目标存储数据,根据所述最小 superblk操作单元,对所述目标存储数据进行编码存储处理,得到pcie ssd 存储的目标存储数据。
74.在本发明实施例中,提出了基于最小可管理superblk空间信息为颗粒度 的思想,由host主控机在发起新的一笔stream流存储信息指令操作前,通过 命令告知stream数据流的预计存储目标容量的数值,这样ftl协议就灵活地 设置superblk空间数据,以最大适配该stream流传输数据的容量数值,避免 过度开辟superblk空间数据,解决了superblk管理粒度过大导致ssd空间利 用率降低且容易混杂的stream传输通道的数据的技术问题。
75.请参阅图4,本发明实施例中pcie ssd的数据存储系统的另一个实施例, 所述pcie ssd的数据存储系统包括:
76.host主控系统301、device存储系统302;
77.所述host主控系统301,用于发送目标存储数据对应的容量数据流进入 所述device存储系统中;
78.所述device存储系统302,用于接收所述容量数据流,根据预置ftl协 议和所述容量数据流,对预置存储块进行构建处理,得到最小superblk操作 单元;
79.所述host主控系统301,用于发送所述目标存储数据进入所述device存 储系统
中;
80.所述device存储系统302,用于接收所述目标存储数据,根据所述最小 superblk操作单元,对所述目标存储数据进行编码存储处理,得到pcie ssd 存储的目标存储数据。
81.其中,所述host主控系统301具体用于:
82.所述host主控系统接收存储指令,读取所述存储指令对应目标存储数据 的容量数据,根据所述容量数据生成stream数据流;
83.将所述stream数据流发送至所述device存储系统中。
84.其中,所述device存储系统包括:n个存储块,n为正整数,所述device 存储系统302具体用于:
85.根据预置ftl协议,选取所述容量数据流对应容量的m个存储块,构建 为最小superblk操作单元,其中,m为小于n的正整数。
86.其中,所述device存储系统包括:n个平行存储块,n为正整数,所述 device存储系统302还具体用于:
87.基于ftl协议,选取所述容量数据流对应容量的m个平行存储块,构建 为最小superblk操作单元。
88.其中,所述device存储系统302包括:
89.判断模块3021,用于判断所述最小superblk操作单元的容量是否大于所 述目标存储数据的容量;
90.基本存储模块3022,用于若大于,则将所述目标存储数据存储于所述最 小superblk操作单元中,得到pcie ssd存储的目标存储数据;
91.拆分存储模块3023,用于若不大于,则对目标存储数据进行拆分存储处 理,得到pcie ssd存储的目标存储数据。
92.其中,所述拆分存储模块3023具体用于:
93.基于所述最小superblk操作单元的容量大小,对所述目标存储数据进行 拆分处理,得到y个拆分存储数据,其中,y为正整数;
94.将所述y个拆分存储数据作为基本存储单元对应存储于y个所述最小 superblk操作单元中。
95.在本发明实施例中,提出了基于最小可管理superblk空间信息为颗粒度 的思想,由host主控机在发起新的一笔stream流存储信息指令操作前,通过 命令告知stream数据流的预计存储目标容量的数值,这样ftl协议就灵活地 设置superblk空间数据,以最大适配该stream流传输数据的容量数值,避免 过度开辟superblk空间数据,解决了superblk管理粒度过大导致ssd空间利 用率降低且容易混杂的stream传输通道的数据的技术问题。
96.上面图3和图4从模块化功能实体的角度对本发明实施例中的pcie ssd 的数据存储系统进行详细描述,下面从硬件处理的角度对本发明实施例中 pcie ssd的数据存储设备进行详细描述。
97.图5是本发明实施例提供的一种pcie ssd的数据存储设备的结构示意图, 该pcie ssd的数据存储设备500可因配置或性能不同而产生比较大的差异, 可以包括一个或一个以上处理器(central processing units,cpu)510(例如, 一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或 数据532的存储介质530(例如一个或一个以上
海量存储设备)。其中,存储 器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的 程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对pciessd的数据存储设备500中的一系列指令操作。更进一步地,处理器510可 以设置为与存储介质530通信,在pcie ssd的数据存储设备500上执行存储 介质530中的一系列指令操作。
98.基于pcie ssd的数据存储设备500还可以包括一个或一个以上电源540, 一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560, 和/或,一个或一个以上操作系统531,例如windows serve,mac os x,unix, linux,freebsd等等。本领域技术人员可以理解,图5示出的pcie ssd的 数据存储设备结构并不构成对基于pcie ssd的数据存储设备的限定,可以包 括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
99.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为 非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算 机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计 算机上运行时,使得计算机执行所述pcie ssd的数据存储方法的步骤。
100.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统或系统、单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
101.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等 各种可以存储程序代码的介质。
102.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1