CN104834478B - 一种基于异构混合存储设备的数据写入及读取方法 - Google Patents

一种基于异构混合存储设备的数据写入及读取方法 Download PDF

Info

Publication number
CN104834478B
CN104834478B CN201510133968.6A CN201510133968A CN104834478B CN 104834478 B CN104834478 B CN 104834478B CN 201510133968 A CN201510133968 A CN 201510133968A CN 104834478 B CN104834478 B CN 104834478B
Authority
CN
China
Prior art keywords
disk arrays
ssd
storage device
write
hdd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510133968.6A
Other languages
English (en)
Other versions
CN104834478A (zh
Inventor
贾士博
岳银亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Fusheng Jiaxin Polytron Technologies Inc
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510133968.6A priority Critical patent/CN104834478B/zh
Publication of CN104834478A publication Critical patent/CN104834478A/zh
Application granted granted Critical
Publication of CN104834478B publication Critical patent/CN104834478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Digital Magnetic Recording (AREA)

Abstract

本发明提供一种基于异构混合存储设备的数据写入方法,包括:1)按照当前的拆分比例将要写入的对象拆分为A和B两部分;2)将A部分写入SSD磁盘阵列,将A部分和B部分写入HDD磁盘阵列;3)根据SSD磁盘阵列和HDD磁盘阵列的满带宽比,以及SSD磁盘阵列当前的剩余容量,动态调整所述拆分比例,然后返回步骤1)等待下一个要写入的对象。本发明还提供了相应的数据读取方法,包括:41)对于当前所要读取的对象,并发地从SSD磁盘阵列读取该对象的A部分,从HDD磁盘阵列读取该对象的B部分;42)将A部分和B部分拼接。本发明能够提升读取大对象的速度,能够避免SSD中数据淘汰过程所造成的阻塞,从而显著提升数据读写的用户体验。

Description

一种基于异构混合存储设备的数据写入及读取方法
技术领域
本发明涉及信息存储技术领域,具体地说,本发明涉及一种基于异构混合存储设备的数据读取及写入方法。
背景技术
学术研究中的原型系统和市场上的工业存储产品中,存在许多异构混合存储设备,例如Flash Cache和Hystor设备,它们都是SSD(Solid State Drive,固态硬盘驱动器)和HDD(Hard Disk Drive,硬盘驱动器)的异构混合存储设备。现有技术的SSD和HDD的异构混合存储设备中,通常将SSD作为HDD的读缓存或读写缓存,理论上说,这种读缓存或读写缓存机制能够显著提升异构混合存储设备的读性能或读写性能,然而,在实际使用时发现,上述缓存机制对读性能或读写性能的提升十分有限,因此有必要对基于异构混合存储设备的数据读取及写入方法进行优化,以进一步提高异构混合存储设备的读写性能。
发明内容
本发明的任务是提供一种能够提高数据读写性能的基于异构混合存储设备的数据写入及读取方法。
本发明提供了一种基于异构混合存储设备的数据写入方法,所述异构混合存储设备包括SSD磁盘阵列和HDD磁盘阵列,所述数据写入方法包括下列步骤:
1)按照当前的拆分比例将要写入的对象拆分为A和B两部分;
2)将A部分写入SSD磁盘阵列,将A部分和B部分写入HDD磁盘阵列;
3)根据SSD磁盘阵列和HDD磁盘阵列的满带宽比,以及SSD磁盘阵列当前的剩余容量,动态调整所述拆分比例,然后返回步骤1)等待下一个要写入的对象。
其中,所述步骤1)中,所述拆分比例的初始默认值为SSD磁盘阵列和HDD磁盘阵列的满带宽比。
其中,所述步骤1)之前,根据要写入对象的数据尺寸识别其是否为大对象,仅对所述大对象执行所述步骤1)、2)、3)。
其中,所述步骤2)还包括:用多线程并发地向SSD磁盘阵列和HDD磁盘阵列写入相应的数据。
其中,所述步骤3)包括下列子步骤:
31)如果当前拆分比例为所述SSD磁盘阵列和HDD磁盘阵列的满带宽比,则判别SSD磁盘阵列当前的剩余容量是否小于预先设定的最小阈值,如果判断为是,则将拆分比例设置为小于所述SSD磁盘阵列和HDD磁盘阵列的满带宽比的第二比例,否则,拆分比例维持不变。
32)如果当前拆分比例为所述第二比例,则判别SSD磁盘阵列当前的剩余容量是否大于预先设定的最大阈值,如果判断为是,则将拆分比例恢复为所述SSD磁盘阵列和HDD磁盘阵列的满带宽比,否则,拆分比例维持不变。
其中,所述拆分比例具有N个级别,对于每个级别,设置一个该级别的最大阈值和一个该级别的最小阈值;
所述步骤3)包括下列子步骤:
3a)确定当前拆分比例所在的级别,找到该级别的最大阈值和最小阈值;
3b)判别SSD磁盘阵列当前的剩余容量是否大于当前级别的最大阈值,如果判断为是,则将拆分比例提升一个级别,即将拆分比例提高,否则,进入步骤3c);
3c)判别SSD磁盘阵列当前的剩余容量是否小于当前级别的最小阈值,如果判断为是,则将拆分比例降低一个级别,即将拆分比例降低,否则,拆分比例维持不变;步骤3c)结束后,返回步骤1)等待下一个要写入的大对象。
其中,所述的基于异构混合存储设备的数据写入方法还包括:当SSD磁盘阵列磁盘容量不足时触发数据淘汰操作,通过直接删除SSD磁盘阵列中各对象的A部分来完成所述数据淘汰操作。
其中,所述步骤1)中,对大对象的key的头部加read-once标识,对于具有read-once表示标识的对象,在该对象的A部分从SSD磁盘阵列读取一次后,直接触发所述数据淘汰操作。
本发明还提供了基于上述数据写入方法的数据读取方法,包括下列步骤:
41)对于当前所要读取的大对象,并发地从SSD磁盘阵列读取该大对象的A部分,从HDD磁盘阵列读取该大对象的B部分;
42)将A部分和B部分拼接成完整的所要读取的对象。
与现有技术相比,本发明具有下列技术效果:
1、本发明能够进一步提升异构混合存储设备中读取大对象的速度。
2、本发明能够避免SSD中数据淘汰过程所造成的阻塞,显著提升数据读写的用户体验。
3、本发明能够避免SSD频繁出现容量不足的现象,从而提升用户体验。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1示出了本发明一个实施例实现数据读写的原理示意图;
图2示出了本发明一个实施例的异构混合存储设备的数据写入流程图;
图3示出了本发明一个实施例的异构混合存储设备的数据读取流程图。
具体实施方式
如前文所述,现有的将SSD作为HDD缓存的机制在实际使用时对读性能或读写性能的提升十分有限,远远达不到理论水平。本案发明人对此进行了深入研究,发现在实际的SSD和HDD的异构混合存储设备中,如果将SSD作为读缓存,SSD因容量较小经常需要进行缓存淘汰,而缓存淘汰时需要从SSD中读出数据再将这些数据刷至HDD中,在向HDD中flush的过程会和用户的读操作争用读带宽,从而影响读性能。如果异构混合存储设备将SSD同时作为读写缓存时,则当SSD空间接近满的时候,前端需要等待SSD将某些数据淘汰至HDD腾出空间后再写入,由于成功写入HDD才算做淘汰成功并释放SSD空间,而写入HDD的操作比较耗时,因此影响前端读写性能。而在异构混合存储设备的实际使用过程中,外部数据写入的速度时常会大于SSD缓存中的数据淘汰速度,导致阻塞,严重影响用户体验。
另一方面,SSD的读写性能虽然优于HDD,但二者仍在一个数量级上,现有的异构混合存储设备读写机制中,读操作在SSD命中则从SSD中读,未命中则从HDD读。假设能够并发地利用SSD和HDD的带宽,同时读取同一对象,则能够进一步提高异构混合存储设备读取速度。
基于上述分析,根据本发明的一个实施例,提出了一种基于异构混合存储设备的数据写入及相应的数据读取方法。首先,本实施例中的异构混合存储设备包括SSD raid(即SSD磁盘阵列)和HDD raid(HDD磁盘阵列),为便于描述,本文中将SSD raid简称为SSD,将HDD raid简称为HDD。其次,大对象的读写是造成读写性能瓶颈的主要原因,因此,本实施例专门针对大对象进行读写机制的优化。大对象根据对象的尺寸划分,例如可将MB级别以上的对象作为大对象。划分大对象的标准并不是唯一的,这是本领域技术人员易于理解的。
图1示出了本实施例实现数据读写的原理示意图。参考图1,在需要写入一个大对象时,按照一定的拆分比例将该大对象拆成两部分,这两部分以下称之为A和B。写入时,并发地将A写入SSD,将AB(即全部信息)写入HDD。读数据时,并发地从SSD读A,从HDD读B,由于增加了数据读取的并行性,因此进一步提高读性能。而在淘汰数据时,由于全部信息均已写入HDD,所以SSD中可以直接删除要淘汰的数据,从而避免了外部数据写入的速度大于SSD缓存中的数据淘汰速度而造成的阻塞,改善了用户体验。本实施例中,拆分比例根据SSD raid和HDD raid的满带宽比,以及SSD的剩余容量动态调整,例如初始时,SSD的剩余容量充足,采用SSD raid和HDD raid的满带宽比作为拆分比例,这样可以最大程度地提升大对象的读取速度。而当SSD的剩余容量较小时,可以将拆分比例降低,以减少因SSD容量不足造成的数据淘汰。
进一步地,图2示出了本发明一个实施例的异构混合存储设备的数据写入流程图,包括下列步骤:
步骤21:对于要写入的大对象,按照当前拆分比例将该大对象拆分为A和B两部分。初始时,默认的拆分比例为SSD raid和HDD raid的满带宽比。
步骤22:将A部分写入SSD,将A部分和B部分写入HDD。根据本发明的一个实施例,本步骤中可以启动两个线程,并发地对SSD和HDD 进行写入。
步骤23:如果当前拆分比例为所述满带宽比,则判别SSD当前的剩余容量是否小于预先设定的最小阈值,如果判断为是,则将拆分比例设置为小于SSD raid和HDD raid的满带宽比的第二比例,否则,拆分比例维持不变。
步骤24:如果当前拆分比例为第二比例,则判别SSD当前的剩余容量是否大于预先设定的最大阈值,如果判断为是,则将拆分比例恢复为所述满带宽比,否则,拆分比例维持不变。
上述步骤23,24中,最小阈值和最大阈值可以根据需要灵活设定,最大阈值大于最小阈值。当然,在简化的例子中,最大阈值和最小阈值也可以合并为一个阈值,即最大阈值和最小阈值相等。
步骤25:返回步骤21,等待下一个需要写入的大对象。
在图2的实施例中,拆分比例有两个级别,即满带宽比和小于满带宽比的第二比例,在另一个实施例中,拆分比例具有三个级别:满带宽比、第二比例和第三比例,其中满带宽比大于第二比例大于第三比例,对于每个级别,设置一个该级别的最大阈值和最小阈值,这样,步骤23、24可替换为下述步骤23a、24a和24b。
步骤23a:确定当前拆分比例所在的级别,找到该级别的最大阈值和最小阈值。
步骤24a:判别SSD当前的剩余容量是否大于当前级别的最大阈值,如果判断为是,则将拆分比例提升一个级别,即将拆分比例提高,否则,进入步骤24b。
步骤24b:判别SSD当前的剩余容量是否小于当前级别的最小阈值,如果判断为是,则将拆分比例降低一个级别,即将拆分比例降低,否则,拆分比例维持不变。步骤24b结束后,继续执行步骤25。
进一步地,按照上述方法,理论上说,拆分比例还可以具有更多的级别,例如四个级别,五个级别等等。其数据写入流程可参考三个级别的实施例,此处不再赘述。
图3示出了本发明一个实施例的数据读取流程图,包括下列步骤:
步骤31:获取用户需要读取的对象的元信息,如果当前所要读取的是大对象,则执行步骤32,否则,按传统方式进行读取。
步骤32:用两个线程并发地从SSD读取该大对象的A部分,从HDD读取该大对象的B部分。
步骤33:将A部分和B部分拼接成完整的所要读取的对象。
当A部分和B部分按满带宽比划分时,实施例可以最大程度地提升大对象的读取速度。
进一步地,与现有的将SSD作为HDD读写缓存的机制类似,本发明中,本发明中也可能因SSD容量不足触发数据淘汰,但本发明中,由于全部信息均已写入HDD,所以只需要直接删除SSD中的A部分即可完成数据淘汰,这样就避免了外部数据写入的速度大于SSD缓存中的数据淘汰速度而造成的阻塞,改善了用户体验。
更进一步地,根据本发明的一个实施例,对于用户put(输入)下来的大对象的key的头部加一个字节,标识它是否是read-once对象:对于read-once的对象,在读取完一次后直接从SSD中淘汰,即直接删除其SSD上的A部分;而对于非read-once对象,则在SSD容量超过某一阈值时触发数据淘汰。数据淘汰中,可以以用户设置的缓存策略决定哪些数据优先被淘汰。
综上所述,与现有技术相比,本发明能够进一步提升异构混合存储设备中读取大对象的速度;能够避免SSD中数据淘汰过程所造成的阻塞,显著提升数据读写的用户体验;还能够避免SSD频繁出现容量不足的现象,从而提升用户体验。
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。

Claims (9)

1.一种基于异构混合存储设备的数据写入方法,所述异构混合存储设备包括SSD磁盘阵列和HDD磁盘阵列,其特征在于,所述数据写入方法包括下列步骤:
1)按照当前的拆分比例将要写入的对象拆分为A和B两部分;
2)将A部分写入SSD磁盘阵列,将A部分和B部分写入HDD磁盘阵列;
3)根据SSD磁盘阵列和HDD磁盘阵列的满带宽比,以及SSD磁盘阵列当前的剩余容量,动态调整所述拆分比例,然后返回步骤1)等待下一个要写入的对象。
2.根据权利要求1所述的基于异构混合存储设备的数据写入方法,其特征在于,所述步骤1)中,所述拆分比例的初始默认值为SSD磁盘阵列和HDD磁盘阵列的满带宽比。
3.根据权利要求2所述的基于异构混合存储设备的数据写入方法,其特征在于,所述步骤1)之前,根据要写入对象的数据尺寸识别其是否为大对象,仅对所述大对象执行所述步骤1)、2)、3)。
4.根据权利要求2所述的基于异构混合存储设备的数据写入方法,其特征在于,所述步骤2)还包括:用多线程并发地向SSD磁盘阵列和HDD磁盘阵列写入相应的数据。
5.根据权利要求4所述的基于异构混合存储设备的数据写入方法,其特征在于,所述步骤3)包括下列子步骤:
31)如果当前拆分比例为所述SSD磁盘阵列和HDD磁盘阵列的满带宽比,则判别SSD磁盘阵列当前的剩余容量是否小于预先设定的最小阈值,如果判断为是,则将拆分比例设置为小于所述SSD磁盘阵列和HDD磁盘阵列的满带宽比的第二比例,否则,拆分比例维持不变;
32)如果当前拆分比例为所述第二比例,则判别SSD磁盘阵列当前的剩余容量是否大于预先设定的最大阈值,如果判断为是,则将拆分比例恢复为所述SSD磁盘阵列和HDD磁盘阵列的满带宽比,否则,拆分比例维持不变。
6.根据权利要求4所述的基于异构混合存储设备的数据写入方法,其特征在于,所述拆分比例具有N个级别,对于每个级别,设置一个该级别的最大阈值和一个该级别的最小阈值;
所述步骤3)包括下列子步骤:
3a)确定当前拆分比例所在的级别,找到该级别的最大阈值和最小阈值;
3b)判别SSD磁盘阵列当前的剩余容量是否大于当前级别的最大阈值,如果判断为是,则将拆分比例提升一个级别,即将拆分比例提高,否则,进入步骤3c);
3c)判别SSD磁盘阵列当前的剩余容量是否小于当前级别的最小阈值,如果判断为是,则将拆分比例降低一个级别,即将拆分比例降低,否则,拆分比例维持不变;步骤3c)结束后,返回步骤1)等待下一个要写入的大对象。
7.根据权利要求4所述的基于异构混合存储设备的数据写入方法,其特征在于,还包括:当SSD磁盘阵列磁盘容量不足时触发数据淘汰操作,通过直接删除SSD磁盘阵列中各对象的A部分来完成所述数据淘汰操作。
8.根据权利要求7所述的基于异构混合存储设备的数据写入方法,其特征在于,所述步骤1)中,对大对象的key的头部加read-once标识,对于具有read-once表示标识的对象,在该对象的A部分从SSD磁盘阵列读取一次后,直接触发所述数据淘汰操作。
9.一种基于权利要求1~8任一项所述的基于异构混合存储设备的数据写入方法的数据读取方法,其特征在于,包括下列步骤:
41)对于当前所要读取的对象,并发地从SSD磁盘阵列读取该对象的A部分,从HDD磁盘阵列读取该对象的B部分;
42)将A部分和B部分拼接成完整的所要读取的对象。
CN201510133968.6A 2015-03-25 2015-03-25 一种基于异构混合存储设备的数据写入及读取方法 Active CN104834478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510133968.6A CN104834478B (zh) 2015-03-25 2015-03-25 一种基于异构混合存储设备的数据写入及读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510133968.6A CN104834478B (zh) 2015-03-25 2015-03-25 一种基于异构混合存储设备的数据写入及读取方法

Publications (2)

Publication Number Publication Date
CN104834478A CN104834478A (zh) 2015-08-12
CN104834478B true CN104834478B (zh) 2018-05-22

Family

ID=53812394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510133968.6A Active CN104834478B (zh) 2015-03-25 2015-03-25 一种基于异构混合存储设备的数据写入及读取方法

Country Status (1)

Country Link
CN (1) CN104834478B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108074044A (zh) * 2018-01-19 2018-05-25 广东电网有限责任公司珠海供电局 一种电力设备状态监测评价与指挥方法
EP3759582B1 (en) * 2018-03-01 2024-05-01 Micron Technology, Inc. Performing operation on data blocks concurrently and based on performance rate of another operation on data blocks
CN109358811B (zh) * 2018-09-30 2021-10-01 深圳市得一微电子有限责任公司 存储设备管理方法、装置及可读存储介质
CN111562885A (zh) * 2020-04-30 2020-08-21 苏州亿歌网络科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN117331511B (zh) * 2023-11-30 2024-02-23 苏州元脑智能科技有限公司 一种存储设备及其数据传输方法、装置、系统和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201698255U (zh) * 2010-05-14 2011-01-05 上海浙大网新易得科技发展有限公司 具有磁盘高速读写功能的服务器
CN102135861A (zh) * 2010-01-25 2011-07-27 Lsi公司 使用现行负载测量和分级在存储池中布局虚拟卷热点的方法
CN103186350A (zh) * 2011-12-31 2013-07-03 北京快网科技有限公司 混合存储系统及热点数据块的迁移方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135861A (zh) * 2010-01-25 2011-07-27 Lsi公司 使用现行负载测量和分级在存储池中布局虚拟卷热点的方法
CN201698255U (zh) * 2010-05-14 2011-01-05 上海浙大网新易得科技发展有限公司 具有磁盘高速读写功能的服务器
CN103186350A (zh) * 2011-12-31 2013-07-03 北京快网科技有限公司 混合存储系统及热点数据块的迁移方法

Also Published As

Publication number Publication date
CN104834478A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
CN104834478B (zh) 一种基于异构混合存储设备的数据写入及读取方法
JP6729914B2 (ja) ソリッドステートストレージドライブ、システム、および方法
EP3195104B1 (en) Efficient data movement within file system volumes
US7447836B2 (en) Disk drive storage defragmentation system
CN108920387B (zh) 降低读延迟的方法、装置、计算机设备及存储介质
US9703717B2 (en) Computer system and control method
US9635123B2 (en) Computer system, and arrangement of data control method
US9959054B1 (en) Log cleaning and tiering in a log-based data storage system
US20180341425A1 (en) Migrating data between memories
JP6060277B2 (ja) ディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置
US8375186B2 (en) Spatial extent migration for tiered storage architecture
KR20210096133A (ko) 구역화된 네임스페이스들에서의 기록 커맨드들의 유지
EP2784683B1 (en) Storage control program, storage control method, storage system and hierarchy control apparatus thereof
CN110069442A (zh) 一种基于zynq系列fpga的超高速数据采集装置及方法
CN109814811B (zh) 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法
US20110153972A1 (en) Free space defragmention in extent based file system
CN108153682B (zh) 一种利用闪存内部并行性进行闪存转换层地址映射的方法
US20140089562A1 (en) Efficient i/o processing in storage system
US9183127B2 (en) Sequential block allocation in a memory
US20170003911A1 (en) Information processing device
CN105260328B (zh) 一种设备掉电时的数据保存方法及装置
US9501414B2 (en) Storage control device and storage control method for cache processing according to time zones
KR101876574B1 (ko) 데이터 입출력 컨트롤러 및 이를 포함하는 시스템
CN110007853A (zh) 一种Nandflash命令处理方法、装置、终端及存储介质
US9384135B2 (en) System and method of caching hinted data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190202

Address after: 250101 Yinhe Building A-501, No. 2008 Xinlu Street, Jinan High-tech Zone, Shandong Province

Patentee after: Shandong Fusheng Jiaxin Polytron Technologies Inc

Address before: 100190 South Road, Zhongguancun Science Academy, Haidian District, Beijing 6

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences