CN115826882B - 一种存储方法、装置、设备及存储介质 - Google Patents
一种存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115826882B CN115826882B CN202310113735.4A CN202310113735A CN115826882B CN 115826882 B CN115826882 B CN 115826882B CN 202310113735 A CN202310113735 A CN 202310113735A CN 115826882 B CN115826882 B CN 115826882B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- raid card
- new
- hard disk
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000007787 solid Substances 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims description 39
- 239000000872 buffer Substances 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 12
- 230000002776 aggregation Effects 0.000 claims description 11
- 238000004220 aggregation Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000012464 large buffer Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种存储方法、装置、设备及存储介质,涉及存储技术领域。该方法包括:若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。根据硬盘特性采用相应的存储器作为缓存处理针对硬盘的数据写入,实现解耦RAID卡中的机械硬盘和固态硬盘。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储方法、装置、设备及存储介质。
背景技术
目前,业界在存储环境中加入了RAID(Redundant Array of Independent Disks,独立磁盘组成的具有冗余性的阵列)卡,具体来讲是将RAID卡挂载在PCIe(peripheralcomponent interconnect express,高速串行计算机扩展总线标准)总线上,这样可以将RAID卡看成存储服务器的外设,RAID卡是在软RAID存储技术基础上提出的硬RAID存储技术。顾名思义,硬RAID存储技术就是将软RAID存储技术中的一些算法、数据管理以及一些功能都交给硬件管理和实现,以达到提高存储系统的I/O性能和数据安全性。因此RAID卡就是实现将服务器连接的硬盘按照RAID级别组织成多个RAID阵列的功能板卡。
在存储领域,用户最关心的两个问题是数据可靠性和数据存储、读取的性能。而数据存储、读取的性能由多个因素影响,其中一个重要影响因素就是连接RAID卡的硬盘性能,如随着NVMe(NVM Express,非易失性内存主机控制器接口规范)接口的SSD(固态硬盘,Solid State Disk或Solid State Drive)盘从PCIe Gen3/Gen4逐步过渡到PCIe Gen5/Gen6,NVMe SSD同SAS(Serial Attached SCSI,串行连接SCSI)/SATA(Serial AdvancedTechnology Attachment,串口硬盘)接口HDD(Hard Disk Drive,机械硬盘)硬盘的性能鸿沟进一步扩大,要在统一的RAID卡处理架构下兼容NVMe SSD和SATA HDD会顾此失彼,成倍增加RAID卡的复杂性。
发明内容
有鉴于此,本发明的目的在于提供一种存储方法、装置、设备及介质,能够实现解耦RAID卡中的机械硬盘和固态硬盘。其具体方案如下:
第一方面,本申请公开了一种存储方法,包括:
若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;
若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。
可选的,所述利用所述RAID卡对应的第二存储器缓存上位机发送的新数据之前,还包括:
以静态随机存取存储器为存储介质,在所述RAID卡上添加片上缓存作为所述第二存储器。
可选的,所述在所述RAID卡上添加片上缓存作为所述第二存储器,包括:
根据所述RAID卡的性能参数确定针对所述第二存储器的大小,并根据所述RAID卡的性能参数确定针对所述第二存储器的带宽;
根据所述第二存储器的大小和所述第二存储器的带宽,在所述RAID卡上添加片上缓存以得到所述第二存储器。
可选的,所述根据所述RAID卡的性能参数确定针对所述第二存储器的带宽,包括:
根据所述RAID卡处理单个IO请求时对所述第二存储器的访问次数、IOPS目标值以及磁盘存储的基本单位,确定所述第二存储器的带宽。
可选的,所述根据所述RAID卡的性能参数确定针对所述第二存储器的大小,包括:
根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小。
可选的,所述根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小之前,还包括:
根据所述RAID卡处理单个IO请求产生的读时延、写时延和计算耗时,确定处理单个IO请求的时长。
可选的,所述利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘,包括:
利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据;
基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘。
可选的,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:
通过所述RAID卡获取上位机发送的新数据,并将所述新数据保存至所述第二存储器的第一缓存空间;
从所述固态硬盘中读取旧数据保存至所述第二存储器的第二缓存空间;
从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间;
基于所述旧数据、所述新数据和所述旧的校验数据计算生成新的校验数据,并将所述新的校验数据保存至所述第二存储器的第四缓存空间;
将所述新数据从所述第一缓存空间落盘至所述固态硬盘;
将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘。
可选的,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:
并发执行所述将所述新数据保存至所述第二存储器的第一缓存空间,以及所述从所述固态硬盘中读取待覆盖的旧数据保存至所述第二存储器的第二缓存空间,以及所述从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间的操作。
可选的,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:
并发执行所述将所述新数据从所述第一缓存空间落盘至所述固态硬盘,以及所述将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘的操作。
可选的,所述第四缓存空间为所述第三缓存空间,所述将所述新的校验数据保存至所述第二存储器的第四缓存空间,包括:
将所述新的校验数据保存至所述第二存储器的所述第三缓存空间,以利用所述新的校验数据覆盖所述旧的校验数据。
可选的,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
对所述第一存储器中缓存的数据进行聚合操作,将聚合后的数据写入所述机械硬盘。
可选的,所述对所述第一存储器中缓存的数据进行聚合操作,包括:
对所述第一存储器中缓存的数据进行条带聚合以及顺序化处理。
可选的,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
对所述第一存储器中缓存的数据进行冷热数据识别;
在所述第一存储器中保留识别出的热数据,将识别出的冷数据写入所述机械硬盘。
可选的,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
通过所述第一存储器,按照校验延迟落盘策略将缓存的数据写入所述机械硬盘。
可选的,所述第一存储器为动态随机存取存储器,所述利用所述RAID卡对应的第一存储器缓存上位机发送的新数据之后,还包括:向所述上位机发送针对所述新数据的写入响应。
可选的,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
通过后台异步执行所述通过所述第一存储器将缓存的数据写入所述机械硬盘的操作,并向所述上位机发送针对写入所述机械硬盘的数据的写通响应。
第二方面,本申请公开了一种存储装置,包括:
第一存储模块,用于若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;
第二存储模块,用于若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的存储方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的存储方法。
本申请中,若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。可见,针对机械硬盘,采用支持GB级别的缓存空间以及有限的存储带宽的第一存储器作为缓存先缓存上位机发送的新数据,再通过该第一存储器将缓存的数据写入机械硬盘,适配机械硬盘的读写特性;针对固态硬盘,采用支持有限的缓存空间以及GB级别的存储带宽的第二存储器作为缓存先缓存上位机发送的新数据,再通过该第二存储器将缓存的数据写入固态硬盘,适配固态硬盘的读写特性。即从数据缓存的角度出发,提出使用第一存储器作为缓存处理针对机械硬盘的数据写入,以及使用第二存储器作为缓存处理针对固态硬盘的数据写入,实现解耦RAID卡中的机械硬盘和固态硬盘。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种存储方法流程图;
图2为现有技术中一种HDD硬盘的顺序读写IO特性实测数据;
图3为现有技术中一种HDD硬盘的随机读写IO特性实测数据;
图4为本申请提供的一种针对机械硬盘的RAID存储结构示意图;
图5为本申请提供的一种写入响应示意图;
图6为现有技术SSD从PCIe Gen4向Gen5代更迭的IO性能变换示意图;
图7为本申请提供的一种针对固态硬盘的RAID存储结构示意图;
图8为本申请提供的一种具体的存储方法流程图;
图9为本申请提供的一种具体的RAID5的存储方法流程图;
图10为本申请提供的一种具体的RAID6的存储方法流程图;
图11为本申请提供的一种存储装置结构示意图;
图12为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,随着NVMe接口的SSD盘从PCIe Gen3/Gen4逐步过渡到PCIe Gen5/Gen6,NVMe SSD同SAS/SATA接口HDD硬盘的性能鸿沟进一步扩大,要在统一的RAID卡处理架构下兼容NVMe SSD和SATA HDD会顾此失彼,成倍增加RAID卡的复杂性。为克服上述技术问题,本申请提出一种存储方法,能够解耦RAID卡中的机械硬盘和固态硬盘。
本申请实施例公开了一种存储方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽。
本实施例中,若RAID卡对应的硬盘为机械硬盘,则利用RAID卡对应的第一存储器缓存上位机发送的新数据,上述第一存储器支持GB级别的缓存空间以及有限的存储带宽,然后,再通过该第一存储器将缓存的数据写入机械硬盘。可以理解的是,例如图2和图3所示为某型号SATA HDD硬盘的顺序读写IO特性实测数据和随机读写IO特性实测数据。其中SW_IOPS是Sequential Write(顺序写)测得的IOPS,SW_IOPS是Sequential Read(顺序读)测得的IOPS, SW_BW是顺序写测得的带宽,SR_BW是顺序读测得的带宽;其中RW_IOPS是RandomWrite(随机写)测得的IOPS,RR_IOPS是Random Read(随机读)测得的IOPS, RW_BW是随机写测得的带宽,RR_BW是随机读测得的带宽。可知,在顺序读写场景下,IO大小从64KB到1MB,IO带宽均维持在260MB/s以上;在随机场景下,4KB写IOPS在500左右,4KB读IOPS在270左右。由于磁盘的机械特性,平均IO时延则在数十毫秒级别。可见针对HDD的RAID卡处理,需要较大的缓存空间(X GB级别),但仅需要有限的存储带宽(如数十GB),即例如图4所示,盘侧的IO性能是RAID卡整体性能的主要瓶颈,而机械硬盘也无需高存储带宽,因此选择大缓存空间且有限的存储带宽的存储器作为缓存,由此,针对HDD盘的RAID卡,通过缓存平抑主机的不定期的“爆发式”写操作,对其呈现“瞬时的”低延时和高带宽特性。
本实施例中,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,可以包括:对所述第一存储器中缓存的数据进行聚合操作,将聚合后的数据写入所述机械硬盘;即对缓存中的数据进行聚合,将聚合的数据落盘,由此能够提高数据落盘效率。
本实施例中,所述对所述第一存储器中缓存的数据进行聚合操作,可以包括:对所述第一存储器中缓存的数据进行条带聚合以及顺序化处理。即对缓冲数据从横向看,可以将多次IO凑成一个满条带落盘,即条带聚合,以减少对本地第一存储器带宽和HDD盘侧IO访问压力;从纵向看,可以将多次随机IO尽量顺序化,以提高盘侧的IO吞吐率。
本实施例中,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,可以包括:对所述第一存储器中缓存的数据进行冷热数据识别;在所述第一存储器中保留识别出的热数据,将识别出的冷数据写入所述机械硬盘。即加入冷热数据的甄别与管理策略,冷数据落盘,热数据驻留缓存,进一步优化RAID卡的整体性能。
本实施例中,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,可以包括:通过所述第一存储器,按照校验延迟落盘策略将缓存的数据写入所述机械硬盘;即通过校验延迟落盘策略,减少校验盘的频繁修改和提高IO性能。
本实施例中,所述第一存储器为动态随机存取存储器,所述利用所述RAID卡对应的第一存储器缓存上位机发送的新数据之后,还可以包括:向所述上位机发送针对所述新数据的写入响应。本实施例中第一存储器需要较大的缓存空间而存储带宽比较小,因此可以使用动态随机存取存储器(DRAM,Dynamic Random Access Memory)硬件作为缓存。引入数据缓存的一个重要优点就是可以在数据进入受掉电保护的本地存储后,就立即向主机做出应答,从而从主机的角度看到的就是低时延的写入响应,此为RAID卡的写回(WB)模式。
本实施例中,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,可以包括:通过后台异步执行所述通过所述第一存储器将缓存的数据写入所述机械硬盘的操作,并向所述上位机发送针对写入所述机械硬盘的数据的写通响应。例如图5所示,通过后台异步数据写入机械硬盘的操作后向上位机发送针对写入机械硬盘的数据的写通响应。如果一直等到数据及新的校验数据落盘后再向主机应答,就是写通(WT)模式。一般的,RAID卡管理模块在WB模式下分为前台和后台两种独立的任务,前台负责数据缓存的查询与管理更新,并在数据进入到本地DRAM之后应答主机后结束本次IO处理。而后台异步任务由软件独立负责,依据冷热数据信息将数据缓存中的数据组织落盘。前、后台任务之间需要维持动态的平衡,如果后台组织数据落盘慢于前台进数据的速率,数据缓存就会满,并最终会反压主机的IO请求。
步骤S12:若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。
本实施例中,若RAID卡对应的硬盘为固态硬盘,则利用RAID卡上的第二存储器缓存上位机发送的新数据,所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器,然后,通过所述第二存储器将缓存的数据写入所述固态硬盘。可以理解的是,相较于HDD,SSD高并发,高带宽的特性对RAID卡中各个处理模块的定义呈现出了不同的需求,如下图6所示,为NVMe SSD从PCIe Gen4向Gen5代更迭时,其IO性能的提升举例。当盘侧的IO性能不再是RAID卡整体性能的主要瓶颈,取而代之,主要矛盾变成了RAID卡处理过程中的数据缓存模块的高存储带宽,需要百GB级别。
本实施例中,所述利用所述RAID卡对应的第二存储器缓存上位机发送的新数据之前,还可以包括:以静态随机存取存储器为存储介质,在所述RAID卡上添加片上缓存作为所述第二存储器。例如图7所示,由上下行高吞吐带来了数据的“高周转”特性,因此仅需有限的缓存空间,如XX MB级别,以及高存储带宽,因此本实施例中可以采用静态随机存取存储器(Static Random-Access Memory,SRAM)作为第二存储器,SRAM比DRAM具有更高的存储性能,并且使用存储类型为片上存储(OCB,On Chip Buffer)作为缓存。
由上可见,本实施例中若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。可见,针对机械硬盘,采用支持GB级别的缓存空间以及有限的存储带宽的第一存储器作为缓存先缓存上位机发送的新数据,再通过该第一存储器将缓存的数据写入机械硬盘,适配机械硬盘的读写特性;针对固态硬盘,采用支持有限的缓存空间以及GB级别的存储带宽的第二存储器作为缓存先缓存上位机发送的新数据,再通过该第二存储器将缓存的数据写入固态硬盘,适配固态硬盘的读写特性。即从数据缓存的角度出发,提出如何使用第一存储器作为缓存处理数据写入,并提出如何使用第二存储器作为缓存处理数据写入,实现解耦RAID卡中的机械硬盘和固态硬盘。
本申请实施例公开了一种具体的存储方法,参见图8所示,该方法可以包括以下步骤:
步骤S21:若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据。
步骤S22:基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘。
即根据获取的新数据,以及从硬盘中读取的旧数据和旧校验值生成新校验值,然后将新数据和新校验值写入固态硬盘。
本实施例中,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,可以包括以下步骤:
通过所述RAID卡获取上位机发送的新数据,并将所述新数据保存至所述第二存储器的第一缓存空间;
从所述固态硬盘中读取旧数据保存至所述第二存储器的第二缓存空间;
从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间;
基于所述旧数据、所述新数据和所述旧的校验数据计算生成新的校验数据,并将所述新的校验数据保存至所述第二存储器的第四缓存空间;
将所述新数据从所述第一缓存空间落盘至所述固态硬盘;
将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘。
即例如图9所示,为一次RAID5的4KB数据随机写IO处理流程,箭头上的数字序号为可能的数据操作顺序。D’为主机新写入数据,D为硬盘上对应的将要被覆盖的老数据,P为原校验数据,P’为新计算出的校验数据,它们的大小均为4KB,不同于常规的基于DRAM的数据缓存,处理步骤如下:
S221:从主机DRAM将新的数据D’读取到片上缓存空间U;
S222:从对应的SSD上读取老数据D到片上缓存空间V;
S223:从对应的SSD上读取老校验数据P到片上缓存空间W;
S224:通过D’,D和P计算出新的校验数据P’并将其存储到片上缓存空间X;
S225:将新的数据D’落盘到对应SSD;
S226:将新的校验数据P’落盘到对应SSD。
本实施例中,所述利用所述RAID卡对应的第二存储器缓存上位机发送的新数据之前,还可以包括:以静态随机存取存储器为存储介质,在所述RAID卡上添加片上缓存作为所述第二存储器。本实施例中,所述在所述RAID卡上添加片上缓存作为所述第二存储器,可以包括:根据所述RAID卡的性能参数确定针对所述第二存储器的大小,并根据所述RAID卡的性能参数确定针对所述第二存储器的带宽;根据所述第二存储器的大小和所述第二存储器的带宽,在所述RAID卡上添加片上缓存以得到所述第二存储器。即需要基于RAID卡所设定的性能目标来落定所需的第二存储器的大小和带宽。
本实施例中,所述根据所述RAID卡的性能参数确定针对所述第二存储器的带宽,可以包括:根据所述RAID卡处理单个IO请求时对所述第二存储器的访问次数、IOPS目标值以及磁盘存储的基本单位,确定所述第二存储器的带宽。
本实施例中,所述根据所述RAID卡的性能参数确定针对所述第二存储器的大小,可以包括:根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小。本实施例中,所述根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小之前,还可以包括:根据所述RAID卡处理单个IO请求产生的读时延、写时延和计算耗时,确定处理单个IO请求的时长。
例如,针对NVMe SSD,设定NVMe SSD盘读IO延时为a,写IO延时为b,RAID计算处理耗时为c,则单个IO处理时长可以近似的等于2a+2b+c。设定RAID卡的IO(4KB)随机写的IOPS设计目标值为M,那么需要的第二存储器的大小为:M×(2a+2b+c) × 16KB,第二存储器的带宽为:9×M×4KB,其中9是有9次访问第二存储器:从主机DRAM搬数到第二存储器、2个盘读取数据到第二存储器、3个盘的数据从第二存储器读进到RAID、1个盘的数据写出RAID到第二存储器、2个盘的数据从第二存储器落盘,所以共9次。
本实施例中,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:并发执行所述将所述新数据保存至所述第二存储器的第一缓存空间,以及所述从所述固态硬盘中读取待覆盖的旧数据保存至所述第二存储器的第二缓存空间,以及所述从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间的操作。即为了进一步的缩短单次IO的处理时延,上述步骤S221,S222,S223之间可以并发执行。
本实施例中,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:并发执行所述将所述新数据从所述第一缓存空间落盘至所述固态硬盘,以及所述将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘的操作。即为了进一步的缩短单次IO的处理时延,在步骤S221,S222,S223之间可以并发执行的基础上,步骤S225,S226也可以并发,那么单次IO的延时可以缩短为a+b+c,相应的所需的片上缓存大小可以减少为:M×(a+b+c)×16KB。
本实施例中,所述第四缓存空间为所述第三缓存空间,所述将所述新的校验数据保存至所述第二存储器的第四缓存空间,可以包括:将所述新的校验数据保存至所述第二存储器的所述第三缓存空间,以利用所述新的校验数据覆盖所述旧的校验数据。在上述第S224步处理过程中,也可以将P’存储到空间W中,覆盖老的校验数据,相应的所需的片上缓存空间为:M×(2a + 2b+c)×12KB。
例如图10所示,再以一次RAID6的4KB数据随机写IO处理流程,箭头上的数字序号为数据操作顺序。D’为主机新写入数据,D为硬盘上对应的将要被覆盖的老数据,P/Q为原校验数据,P’/Q’为新计算出的校验数据,它们的大小均为4KB,不同于常规的基于DRAM的数据缓存,利用SRAM存储介质构成片上存储,RAID卡的相关数据步骤如下:
S321:从主机DRAM将新的数据D’读取到片上缓存空间U;
S322:从对应的SSD上读取老数据D到片上缓存空间V;
S323:从对应的SSD上读取老校验数据P到片上缓存空间W;
S324:从对应的SSD上读取老校验数据Q到片上缓存空间X;
S325:通过D’,D,P和Q计算出新的校验数据P’和Q’并将其存储到片上缓存空间;
S326:将新的数据D’落盘到对应SSD;
S327:将新的校验数据P’落盘到对应SSD;
S328:将新的校验数据Q’落盘到对应SSD。
此时,针对NVMe SSD,设定NVMe SSD盘读IO延时为a,写IO延时为b,RAID计算处理耗时为c,则单个IO处理时长可以近似的等于3a + 3b + c。设定RAID卡的IO(4KB)随机写的IOPS设计目标值为M,那么需要的第二存储器的大小为:M × (3a + 3b + c) × 24KB,第二存储器的带宽为:13 × M × 4KB ,为了进一步的缩短单次IO的处理时延,上述步骤S321,S322,S323,S324之间可以并发执行,步骤S326,S327,S328之间可以并发,那么单次IO的延时可以缩短为a + b + c,相应的所需的片上缓存大小可以减少为:M × (a + b + c)× 24KB;在上述第S324步处理过程中,也可以将P’和Q’存储到空间W和X中,覆盖老的校验数据,相应所需的片上缓存空间为: M × (3a + 3b + c) × 16KB 。
在不增加硬件的情况下,通过设计的NVMe接口SSD盘RAID卡的IO并发执行,增加公司在RAID卡市场的核心竞争力。在片上存储的详细设计方案中,使用新校验数据覆盖老校验数据的第二存储器的空间,以此减少SRAM的硬件成本,进而降低RAID卡成本。
由上可见,本实施例中,若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据;基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘。通过使用SRAM存储介质作为片上缓存处理整个IO栈,以此来实现解耦RAID卡中HDD盘和SSD盘。
相应的,本申请实施例还公开了一种存储装置,参见图11所示,该装置包括:
第一存储模块11,用于若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;
第二存储模块12,用于若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。
由上可见,本实施例中若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。可见,针对机械硬盘,采用支持GB级别的缓存空间以及有限的存储带宽的第一存储器作为缓存先缓存上位机发送的新数据,再通过该第一存储器将缓存的数据写入机械硬盘,适配机械硬盘的读写特性;针对固态硬盘,采用支持有限的缓存空间以及GB级别的存储带宽的第二存储器作为缓存先缓存上位机发送的新数据,再通过该第二存储器将缓存的数据写入固态硬盘,适配固态硬盘的读写特性。即从数据缓存的角度出发,提出如何使用第一存储器作为缓存处理数据写入,并提出如何使用第二存储器作为缓存处理数据写入,实现解耦RAID卡中的机械硬盘和固态硬盘。
在一些具体实施例中,所述存储装置具体还可以包括:
第二存储器添加单元,用于在利用所述RAID卡对应的第二存储器缓存上位机发送的新数据之前,以静态随机存取存储器为存储介质,在所述RAID卡上添加片上缓存作为所述第二存储器。
在一些具体实施例中,所述第二存储器添加单元具体可以包括:
带宽确定单元,用于根据所述RAID卡的性能参数确定针对所述第二存储器的大小,并根据所述RAID卡的性能参数确定针对所述第二存储器的带宽;
大小确定单元,用于根据所述第二存储器的大小和所述第二存储器的带宽,在所述RAID卡上添加片上缓存以得到所述第二存储器。
在一些具体实施例中,所述带宽确定单元具体可以包括:
带宽计算单元,用于根据所述RAID卡处理单个IO请求时对所述第二存储器的访问次数、IOPS目标值以及磁盘存储的基本单位,确定所述第二存储器的带宽。
在一些具体实施例中,所述大小确定单元具体可以包括:
大小计算单元,用于根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小。
在一些具体实施例中,所述大小计算单元具体可以包括:
时长确定单元,用于根据所述RAID卡处理单个IO请求产生的读时延、写时延和计算耗时,确定处理单个IO请求的时长。
在一些具体实施例中,所述第二存储模块12具体可以包括:
缓存单元,用于利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据;
写入单元,用于基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘。
在一些具体实施例中,所述第二存储模块12具体可以包括:
第一缓存单元,用于通过所述RAID卡获取上位机发送的新数据,并将所述新数据保存至所述第二存储器的第一缓存空间;
第二缓存单元,用于从所述固态硬盘中读取旧数据保存至所述第二存储器的第二缓存空间;
第三缓存单元,用于从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间;
校验数据生成单元,用于基于所述旧数据、所述新数据和所述旧的校验数据计算生成新的校验数据,并将所述新的校验数据保存至所述第二存储器的第四缓存空间;
第一落盘单元,用于将所述新数据从所述第一缓存空间落盘至所述固态硬盘;
第二落盘单元,用于将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘。
在一些具体实施例中,所述第二存储模块12具体可以包括:
第一并发单元,用于并发执行所述将所述新数据保存至所述第二存储器的第一缓存空间,以及所述从所述固态硬盘中读取待覆盖的旧数据保存至所述第二存储器的第二缓存空间,以及所述从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间的操作。
在一些具体实施例中,所述第二存储模块12具体可以包括:
第二并发单元,用于并发执行所述将所述新数据从所述第一缓存空间落盘至所述固态硬盘,以及所述将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘的操作。
在一些具体实施例中,所述第四缓存空间为所述第三缓存空间,所述第三缓存单元,还用于将所述新的校验数据保存至所述第二存储器的所述第三缓存空间,以利用所述新的校验数据覆盖所述旧的校验数据。
在一些具体实施例中,所述第一存储模块11具体可以包括:
聚合单元,用于对所述第一存储器中缓存的数据进行聚合操作,将聚合后的数据写入所述机械硬盘。
在一些具体实施例中,所述聚合单元具体可以用于对所述第一存储器中缓存的数据进行条带聚合以及顺序化处理。
在一些具体实施例中,所述第一存储模块11具体可以包括:
冷热数据识别单元,用于对所述第一存储器中缓存的数据进行冷热数据识别;
冷数据写入单元,用于在所述第一存储器中保留识别出的热数据,将识别出的冷数据写入所述机械硬盘。
在一些具体实施例中,所述第一存储模块11具体可以包括:
延迟落盘单元,用于通过所述第一存储器,按照校验延迟落盘策略将缓存的数据写入所述机械硬盘。
在一些具体实施例中,所述第一存储器为动态随机存取存储器,所述第二存储模块12,还用于向所述上位机发送针对所述新数据的写入响应。
在一些具体实施例中,所述第二存储模块12具体可以包括:
写通响应发送单元,用于通过后台异步执行所述通过所述第一存储器将缓存的数据写入所述机械硬盘的操作,并向所述上位机发送针对写入所述机械硬盘的数据的写通响应。
进一步的,本申请实施例还公开了一种电子设备,参见图12所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图12为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的存储方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括新数据在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的存储方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的存储方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种存储方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种存储方法,其特征在于,包括:
若RAID卡对应的硬盘为机械硬盘,则利用所述RAID卡对应的第一存储器缓存上位机发送的新数据,并通过所述第一存储器将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;
若RAID卡对应的硬盘为固态硬盘,则利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。
2.根据权利要求1所述的存储方法,其特征在于,所述利用所述RAID卡对应的第二存储器缓存上位机发送的新数据之前,还包括:
以静态随机存取存储器为存储介质,在所述RAID卡上添加片上缓存作为所述第二存储器。
3.根据权利要求2所述的存储方法,其特征在于,所述在所述RAID卡上添加片上缓存作为所述第二存储器,包括:
根据所述RAID卡的性能参数确定针对所述第二存储器的大小,并根据所述RAID卡的性能参数确定针对所述第二存储器的带宽;
根据所述第二存储器的大小和所述第二存储器的带宽,在所述RAID卡上添加片上缓存以得到所述第二存储器。
4.根据权利要求3所述的存储方法,其特征在于,所述根据所述RAID卡的性能参数确定针对所述第二存储器的带宽,包括:
根据所述RAID卡处理单个IO请求时对所述第二存储器的访问次数、IOPS目标值以及磁盘存储的基本单位,确定所述第二存储器的带宽。
5.根据权利要求3所述的存储方法,其特征在于,所述根据所述RAID卡的性能参数确定针对所述第二存储器的大小,包括:
根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小。
6.根据权利要求5所述的存储方法,其特征在于,所述根据所述RAID卡处理单个IO请求的时长、所述第二存储器内缓存空间的划分数量以及IOPS目标值,确定所述第二存储器的大小之前,还包括:
根据所述RAID卡处理单个IO请求产生的读时延、写时延和计算耗时,确定处理单个IO请求的时长。
7.根据权利要求1所述的存储方法,其特征在于,所述利用所述RAID卡上的第二存储器缓存上位机发送的新数据,并通过所述第二存储器将缓存的数据写入所述固态硬盘,包括:
利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据;
基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘。
8.根据权利要求7所述的存储方法,其特征在于,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:
通过所述RAID卡获取上位机发送的新数据,并将所述新数据保存至所述第二存储器的第一缓存空间;
从所述固态硬盘中读取旧数据保存至所述第二存储器的第二缓存空间;
从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间;
基于所述旧数据、所述新数据和所述旧的校验数据计算生成新的校验数据,并将所述新的校验数据保存至所述第二存储器的第四缓存空间;
将所述新数据从所述第一缓存空间落盘至所述固态硬盘;
将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘。
9.根据权利要求8所述的存储方法,其特征在于,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:
并发执行所述将所述新数据保存至所述第二存储器的第一缓存空间,以及所述从所述固态硬盘中读取待覆盖的旧数据保存至所述第二存储器的第二缓存空间,以及所述从所述固态硬盘中读取旧的校验数据保存至所述第二存储器的第三缓存空间的操作。
10.根据权利要求8所述的存储方法,其特征在于,所述利用所述RAID卡上的第二存储器按照所述第二存储器对应的缓存格式,缓存上位机发送的新数据,以及所述基于所述新数据以及与所述新数据对应的旧数据和旧校验值计算得到新校验值,将所述新数据和所述新校验值写入所述固态硬盘,包括:
并发执行所述将所述新数据从所述第一缓存空间落盘至所述固态硬盘,以及所述将所述新的校验数据从所述第四缓存空间落盘至所述固态硬盘的操作。
11.根据权利要求8所述的存储方法,其特征在于,所述第四缓存空间为所述第三缓存空间,所述将所述新的校验数据保存至所述第二存储器的第四缓存空间,包括:
将所述新的校验数据保存至所述第二存储器的所述第三缓存空间,以利用所述新的校验数据覆盖所述旧的校验数据。
12.根据权利要求1所述的存储方法,其特征在于,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
对所述第一存储器中缓存的数据进行聚合操作,将聚合后的数据写入所述机械硬盘。
13.根据权利要求12所述的存储方法,其特征在于,所述对所述第一存储器中缓存的数据进行聚合操作,包括:
对所述第一存储器中缓存的数据进行条带聚合以及顺序化处理。
14.根据权利要求1所述的存储方法,其特征在于,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
对所述第一存储器中缓存的数据进行冷热数据识别;
在所述第一存储器中保留识别出的热数据,将识别出的冷数据写入所述机械硬盘。
15.根据权利要求1所述的存储方法,其特征在于,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
通过所述第一存储器,按照校验延迟落盘策略将缓存的数据写入所述机械硬盘。
16.根据权利要求1至15任一项所述的存储方法,其特征在于,所述第一存储器为动态随机存取存储器,所述利用所述RAID卡对应的第一存储器缓存上位机发送的新数据之后,还包括:向所述上位机发送针对所述新数据的写入响应。
17.根据权利要求16所述的存储方法,其特征在于,所述通过所述第一存储器将缓存的数据写入所述机械硬盘,包括:
通过后台异步执行所述通过所述第一存储器将缓存的数据写入所述机械硬盘的操作,并向所述上位机发送针对写入所述机械硬盘的数据的写通响应。
18.一种存储装置,其特征在于,包括:
RAID卡上的第一存储器,用于在所述RAID卡对应的硬盘为机械硬盘时,缓存上位机发送的新数据,并将缓存的数据写入所述机械硬盘;所述第一存储器支持GB级别的缓存空间以及有限的存储带宽;
RAID卡上的第二存储器,用于在所述RAID卡对应的硬盘为固态硬盘时,缓存上位机发送的新数据,并将缓存的数据写入所述固态硬盘;所述第二存储器为支持有限的缓存空间以及GB级别的存储带宽的片上存储器。
19.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至17任一项所述的存储方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至17任一项所述的存储方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310113735.4A CN115826882B (zh) | 2023-02-15 | 2023-02-15 | 一种存储方法、装置、设备及存储介质 |
PCT/CN2023/133025 WO2024169299A1 (zh) | 2023-02-15 | 2023-11-21 | 一种存储方法、装置、设备及非易失性可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310113735.4A CN115826882B (zh) | 2023-02-15 | 2023-02-15 | 一种存储方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115826882A CN115826882A (zh) | 2023-03-21 |
CN115826882B true CN115826882B (zh) | 2023-05-30 |
Family
ID=85521403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310113735.4A Active CN115826882B (zh) | 2023-02-15 | 2023-02-15 | 一种存储方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115826882B (zh) |
WO (1) | WO2024169299A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115826882B (zh) * | 2023-02-15 | 2023-05-30 | 苏州浪潮智能科技有限公司 | 一种存储方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201042640A (en) * | 2009-05-27 | 2010-12-01 | Waremax Electronics Corp | Hard disk drive device capable of increasing the execution efficiency, and its read/write method |
CN102016807A (zh) * | 2008-04-22 | 2011-04-13 | Lsi公司 | 驱动器阵列中的分布式缓存系统 |
TW201211760A (en) * | 2010-06-09 | 2012-03-16 | Taejin Infotech Co Ltd | Hybrid storage system with mid-plane and the providing method thereof |
CN104699425A (zh) * | 2015-03-27 | 2015-06-10 | 张维加 | 一种用于缓存和计算用途的便携式raid5设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510519B2 (en) * | 2010-08-02 | 2013-08-13 | Taejin Info Tech Co., Ltd. | Hybrid raid controller |
US20120275046A1 (en) * | 2011-04-27 | 2012-11-01 | Toshiba America Information Systems, Inc. | Splitting a data stream between two storage media in a hybrid disk drive |
CN102591686A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的系统启动方法及固态硬盘 |
CN103488432B (zh) * | 2013-09-16 | 2017-05-24 | 哈尔滨工程大学 | 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法 |
CN104834482A (zh) * | 2015-04-30 | 2015-08-12 | 上海新储集成电路有限公司 | 一种混合缓存器 |
CN106201911A (zh) * | 2015-05-05 | 2016-12-07 | 苏州携云信息科技有限公司 | 一种基于固态硬盘的缓存加速方法 |
US10459658B2 (en) * | 2016-06-23 | 2019-10-29 | Seagate Technology Llc | Hybrid data storage device with embedded command queuing |
CN109032513B (zh) * | 2018-07-16 | 2020-08-25 | 山东大学 | 基于ssd和hdd的raid架构及其备份、重建方法 |
CN113377291B (zh) * | 2021-06-09 | 2023-07-04 | 北京天融信网络安全技术有限公司 | 一种缓存设备的数据处理方法、装置、设备及介质 |
CN113760796B (zh) * | 2021-09-01 | 2023-12-22 | 山东华芯半导体有限公司 | 一种基于hbm缓存的ssd固态盘 |
CN114327280B (zh) * | 2021-12-29 | 2024-02-09 | 以萨技术股份有限公司 | 一种基于冷热分离存储的消息存储方法及系统 |
CN115145495A (zh) * | 2022-08-12 | 2022-10-04 | 苏州浪潮智能科技有限公司 | 一种raid阵列自适应配置方法及raid服务器 |
CN115657946A (zh) * | 2022-10-26 | 2023-01-31 | 山东云海国创云计算装备产业创新中心有限公司 | Raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质 |
CN115617742B (zh) * | 2022-12-19 | 2023-03-28 | 苏州浪潮智能科技有限公司 | 一种数据缓存的方法、系统、设备和存储介质 |
CN115826882B (zh) * | 2023-02-15 | 2023-05-30 | 苏州浪潮智能科技有限公司 | 一种存储方法、装置、设备及存储介质 |
-
2023
- 2023-02-15 CN CN202310113735.4A patent/CN115826882B/zh active Active
- 2023-11-21 WO PCT/CN2023/133025 patent/WO2024169299A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016807A (zh) * | 2008-04-22 | 2011-04-13 | Lsi公司 | 驱动器阵列中的分布式缓存系统 |
TW201042640A (en) * | 2009-05-27 | 2010-12-01 | Waremax Electronics Corp | Hard disk drive device capable of increasing the execution efficiency, and its read/write method |
TW201211760A (en) * | 2010-06-09 | 2012-03-16 | Taejin Infotech Co Ltd | Hybrid storage system with mid-plane and the providing method thereof |
CN104699425A (zh) * | 2015-03-27 | 2015-06-10 | 张维加 | 一种用于缓存和计算用途的便携式raid5设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115826882A (zh) | 2023-03-21 |
WO2024169299A1 (zh) | 2024-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9256384B2 (en) | Method and system for reducing write latency in a data storage system by using a command-push model | |
US8250283B1 (en) | Write-distribute command for RAID mirroring | |
US10572391B2 (en) | Methods and apparatus for implementing a logical to physical address mapping in a solid state drive | |
US9696934B2 (en) | Hybrid solid state drive (SSD) using PCM or other high performance solid-state memory | |
CN109358809B (zh) | 一种raid数据存储系统及方法 | |
US8060669B2 (en) | Memory controller with automatic command processing unit and memory system including the same | |
US20180089088A1 (en) | Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache | |
US11379326B2 (en) | Data access method, apparatus and computer program product | |
CN108334284A (zh) | 尾延迟感知前台垃圾收集算法 | |
CN108710474A (zh) | 一种数据存储方法、装置及计算机存储介质 | |
WO2024169299A1 (zh) | 一种存储方法、装置、设备及非易失性可读存储介质 | |
CN103838676A (zh) | 数据存储系统、数据存储方法及pcm桥 | |
US7725654B2 (en) | Affecting a caching algorithm used by a cache of storage system | |
US11640251B2 (en) | Early transition to low power mode for data storage devices | |
CN112084121B (zh) | 硬盘预读方法、装置、计算机可读存储介质及电子设备 | |
US12045506B2 (en) | Combining operations during reset | |
CN108491162A (zh) | 一种提高存储系统性能的方法及装置 | |
US8108605B2 (en) | Data storage system and cache data—consistency assurance method | |
CN114661230A (zh) | Raid存储系统及ssd raid加速命令设计方法 | |
CN114265791A (zh) | 一种数据调度方法、芯片以及电子设备 | |
CN210155649U (zh) | 一种固态硬盘 | |
CN109284231B (zh) | 内存访问请求的处理方法、装置及内存控制器 | |
CN107066208B (zh) | 一种外存设备的非对称读写方法及nvm外存设备 | |
CN113495850A (zh) | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 | |
CN112988074B (zh) | 一种存储系统管理软件适配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |