CN117806568A - 一种数据更新方法、装置、设备和存储介质 - Google Patents
一种数据更新方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117806568A CN117806568A CN202410224321.3A CN202410224321A CN117806568A CN 117806568 A CN117806568 A CN 117806568A CN 202410224321 A CN202410224321 A CN 202410224321A CN 117806568 A CN117806568 A CN 117806568A
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- check
- cache unit
- unit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013500 data storage Methods 0.000 claims abstract description 144
- 238000004364 calculation method Methods 0.000 claims abstract description 113
- 238000013507 mapping Methods 0.000 claims description 51
- 238000004891 communication Methods 0.000 claims description 11
- 238000013403 standard screening design Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 9
- 239000007787 solid Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种数据更新方法、装置、设备和存储介质。主要技术方案包括:响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元的第二数据保存至该盘的第一缓存单元,以及校验存储装置中第二缓存单元的第一校验数据保存至该盘的第一缓存单元,基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据,本申请能够减少计算缓存单元的使用次数,分散了第二校验数据确定过程中访问存储器的带宽压力。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据更新方法、装置、设备和存储介质。
背景技术
磁盘冗余阵列(Redundant Array of Independent Disks,RAID)技术是将多个磁盘设备组合起来,成为存储阵列组,以提升性能、增加冗余进而保护数据。衡量RAID系统的性能通常采用每秒读写次数(Input/Output Operations Per Second,IOPS),现代RAID系统为了适配高性能的NVMe SSD需要实现极高的IOPS,如此大的宽带需求导致RAID计算缓存使用传统DRAM技术是难以实现的。虽然高带宽内存储器和静态随机存储器可以提供较大的带宽,但是成本过高,容量有限。
发明内容
基于此,本申请提供了一种数据更新方法、装置、设备和存储介质,以降低NVMeSSD盘对RAID计算缓存的宽带需求和实现成本。
第一方面,提供一种数据更新方法,该方法应用于磁盘冗余阵列系统,系统包括计算缓存单元、计算引擎单元、控制器和磁盘冗余阵列,其中,磁盘冗余阵列包括至少一个存储装置,存储装置包括第一缓存单元和第二缓存单元,计算缓存单元分别与计算引擎单元和控制器通信连接,计算引擎单元与控制器通信连接,控制器与至少一个存储装置连接,存储装置包括数据存储装置和校验存储装置,第一缓存单元通过控制器映射到系统总线,计算引擎单元通过系统总线访问第一缓存单元的映射空间;该方法包括:
响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元的第二数据保存至数据存储装置的第一缓存单元,将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元;
基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据;
将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据。
根据本申请实施例中一种可实现的方式,预设的数据存储规则包括将第一数据保存至计算缓存单元;计算引擎单元读取第一数据,包括:
计算引擎单元从计算缓存单元中读取第一数据。
根据本申请实施例中一种可实现的方式,该方法还包括:
在确定第二校验数据之后,将第二校验数据保存至计算缓存单元中。
根据本申请实施例中一种可实现的方式,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,包括:
从计算缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从计算缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
根据本申请实施例中一种可实现的方式,该方法还包括:
在确定第二校验数据之后,将第二校验数据保存至校验存储装置的第一缓存单元。
根据本申请实施例中一种可实现的方式,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,包括:
从计算缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从校验存储装置的第一缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
根据本申请实施例中一种可实现的方式,预设的数据存储规则包括将第一数据保存至主机;计算引擎单元读取第一数据,包括:
计算引擎单元从主机中读取第一数据。
根据本申请实施例中一种可实现的方式,该方法还包括:
在确定第二校验数据之后,将第一数据保存至数据存储装置的第一缓存单元中,将第二校验数据保存至校验存储装置的第一缓存单元。
根据本申请实施例中一种可实现的方式,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,包括:
从数据存储装置的第一缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从校验存储装置的第一缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
根据本申请实施例中一种可实现的方式,第一缓存单元通过控制器映射到系统总线的方法包括:
根据第一缓存单元的存储信息,确定第一缓存单元在系统总线地址空间的映射地址;
根据映射地址,在系统总线的地址空间划分第一缓存单元的映射空间。
根据本申请实施例中一种可实现的方式,将第一数据对应的数据存储装置中第二缓存单元存储的第二数据保存至数据存储装置的第一缓存单元,包括:
将第一数据对应的数据存储装置中第二缓存单元的第二数据的目标地址设置为数据存储装置的第一缓存单元对应的映射地址,以将第二数据保存至数据存储装置的第一缓存单元;
将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元,包括:
将第一数据对应的校验存储装置中第二缓存单元的第一校验数据目标地址设置为校验存储装置的第一缓存单元对应的映射地址,以将第一校验数据保存至校验存储装置的第一缓存单元。
根据本申请实施例中一种可实现的方式,将第一数据写入数据存储装置的第二缓存单元中,包括:
当第一数据保存在数据存储装置的第一缓存单元时,将第一数据的源地址设置为数据存储装置的第一缓存单元对应的映射地址,以将第一数据写入数据存储装置的第二缓存单元中;
将第二校验数据写入校验存储装置的第二缓存单元中,包括:
当第二校验数据保存在校验存储装置的第一缓存单元时,将第二校验数据的源地址设置为校验存储装置的第一缓存单元对应的映射地址,以将第二校验数据写入校验存储装置的第二缓存单元中。
第二方面,提供了一种数据更新装置,该装置设置于磁盘冗余阵列系统,系统包括计算缓存单元、计算引擎单元、控制器和磁盘冗余阵列,其中,磁盘冗余阵列包括至少一个存储装置,存储装置包括第一缓存单元和第二缓存单元,计算缓存单元分别与计算引擎单元和控制器通信连接,计算引擎单元与控制器通信连接,控制器与至少一个存储装置连接,存储装置包括数据存储装置和校验存储装置,第一缓存单元通过控制器映射到系统总线,计算引擎单元通过系统总线访问第一缓存单元的映射空间;该装置包括:
保存模块,用于响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元存储的第二数据保存至数据存储装置的第一缓存单元,将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元;
确定模块,用于基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据;
更新模块,用于将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元的第二数据保存至数据存储装置的第一缓存单元,将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元,基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据,可以利用计算缓存单元和第一缓存单元存储第二校验数据确定过程的中间数据,减少计算缓存单元的使用次数,分散了第二校验数据确定过程中访问存储器的带宽压力。
附图说明
图1为一个实施例中传统磁盘冗余阵列系统的信息交互图;
图2为一个实施例中磁盘冗余阵列系统的示意性结构图;
图3为一个实施例中数据更新方法的流程示意图;
图4为一个实施例中磁盘冗余阵列系统的信息交互图;
图5为另一个实施例中磁盘冗余阵列系统的信息交互图;
图6为又一个实施例中磁盘冗余阵列系统的信息交互图;
图7为一个实施例中数据更新装置的结构框图;
图8为一个实施例中计算机设备的示意性结构图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
RAID技术是一种数据存储技术,旨在提供数据冗余、提升性能或两者兼而有之。它通过将数据分散存储在多个磁盘驱动器上,并使用不同的数据分布策略来实现这些目标。RAID技术最初于上世纪80年代末和90年代初开发,起初用于传统机械硬盘上。为了实现RAID功能通常采用专用RAID控制器芯片。
在RAID系统进行写入操作时,需要同时更新数据盘D数据和校验盘P数据,根据写入数据在RAID条带上的分布不同,RAID系统存在两种数更新方式,分别为读-修改-写(Read-Modify-Write,RMW)和读-重构-写(Read-Construct-Write,RCW)。其中,RMW为一种RAID系统中条带数据更新的方法,读取条带中未被更新的数据盘,和被写入数据一起计算校验数据,再将更新数据和新生成的校验写入磁盘。RCW为一种RAID系统中条带数据更新的方法,读取条带中被更新的数据和校验数据,然后计算新的校验数据,再将更新数据和校验数据写入磁盘。
以RMW为例,假设新写入数据块为Dnew,对应盘上的旧数据为Dold,旧的校验数据为Pold,需要新生成的新校验数据为Pnew,则新的校验数据生程算法为:
Pnew= Dnew⊕Dold⊕Pold
应用RAID控制器的传统磁盘冗余阵列系统的信息交互如图1所示,传统磁盘冗余阵列系统包括主机、RAID计算缓存、RAID计算引擎和磁盘冗余阵列,其中,磁盘冗余阵列包括至少一个磁盘,分为数据盘和校验盘,图1仅示出了参与数据更新的磁盘。
具体地,主机为数据写入的发起者,RAID计算缓存用于暂时存放RAID计算时所需的数据,RAID计算引擎用于实现RAID计算算法,数据盘用于储存数据,校验盘用于对存储在数据盘中的数据进行奇偶校验,以保护数据安全。
应用图1所示的磁盘冗余阵列系统的数据更新方法包括:
S1,将主机写入的新数据Dnew搬移到RAID计算缓存中。
该步骤对RAID计算缓存产生一次写操作,即图1中序号①所示的路径。
S2,从数据盘和校验盘读取旧数据Dold和Pold,并存放到RAID计算缓存。
该步骤对RAID计算缓存产生两次写操作,即图1中序号②所示的路径。
S3,RAID计算引擎从RAID计算缓存中读取 Dnew、Dold、Pold数据并进行计算,将新生成的Pnew数据存放到RAID计算缓存。
此步骤对RAID计算缓存产生三读操作和一次写操作,即图1中序号③所示的路径。
S4,将新的数Dnew和新的校验Pnew分别写入到数据盘和校验盘。
此步骤对RAID计算缓存产生两次读操作,即图1中序号④所示的路径。
步骤S1-S4共对RAID计算缓存产生四次写操作和五次读操作,共九次操作。
假设要实现一个10M 4k IOPS写性能的RAID控制器,则每秒中写入的数据量大约为40GB/s,经过RAID计算引擎计算后,对RAID计算缓存的读写带宽经过9次放大后将达到360GB/s,如此大的带宽需求导致RAID计算缓存使用传统的DRAM技术是难以实现的。
为了解决现有技术问题,本申请实施例提供了一种数据更新方法、装置、设备及计算机存储介质。本申请实施例所述提供的数据更新方法应用图2所示的磁盘冗余阵列系统,如图2所示,磁盘冗余阵列系统200包括计算缓存单元210、计算引擎单元220、控制器230和磁盘冗余阵列240,磁盘冗余阵列240包括至少一个存储装置241,存储装置包括第一缓存单元和第二缓存单元,计算缓存单元210分别与计算引擎单元220和控制器230通信连接,计算引擎单元220与控制器230通信连接,控制器230与至少一个存储装置241连接,存储装置241包括数据存储装置和校验存储装置,第一缓存单元通过控制器230映射到系统总线,计算引擎单元220通过系统总线访问第一缓存单元的映射空间。
其中,计算缓存单元210包括RAID计算缓存,用于临时存放计算引擎单元220计算时所需的数据,计算引擎单元220包括RAID计算引擎,用于实现RAID计算算法,控制器230为PCIe 根复合体(root complex,RC)控制器,用于挂载存储装置241,并实现第一缓存单元在系统总线上映射,使计算引擎单元220能够第一缓存单元。存储装置241可以为一个固态硬盘,也可以为固态硬盘中的分区。固态硬盘可以为NVMe SSD盘,每个NVMe SSD盘内部由两部分构成,分别为SSD缓存和非易失存储,其中,SSD缓存为第一缓存单元,非易失存储为第二缓存单元。SSD缓存由易失的动态存储器构成,NVMe SSD盘支持将SSD缓存映射到PCIe总线上供外部访问。非易失存储用于存放用户数据。
下面首先对本申请实施例所提供的数据更新方法进行介绍。图3示出了本申请一个实施例提供的数据更新方法的流程示意图。如图3所示,该方法可以包括以下步骤:
S310,响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元的第二数据保存至数据存储装置的第一缓存单元,将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元。
其中,第一数据为主机写入的新数据,第二数据为第一数据写入数据存储装置中的历史数据,即旧数据。第一校验数据为第一数据对应校验存储装置中的历史校验数据,即旧的校验数据。
存储装置可以为一个固态硬盘,也可以为固态硬盘中的分区。当磁盘冗余阵列系统中的多数固态硬盘正常工作时,将每一个固态硬盘作为一个存储装置,当磁盘冗余阵列系统中只有一个固态硬盘可正常工作时,将固态硬盘的分区作为一个存储装置。
数据存储装置和校验存储装置均为NVMe SSD盘,第一缓存单元为SSD缓存,第二缓存单元为非易失存储。NVMe SSD盘为一种PCIe设备,通过PCIe设备的BAR映射机制,可以将NVMe SSD盘内部的SSD缓存通过PCIe设备的BAR映射到系统总线上,计算引擎单元通过系统总线直接访问SSD缓存的映射空间,相当于实现了计算引擎单元直接访问SSD缓存。
当主机写入第一数据时,主机向第一数据对应的数据存储装置和校验存储装置发送读取命令,数据存储装置和校验存储装置根据读取命令将非易失存储中的旧数据读取到SSD缓存,以供计算引擎单元直接读取数据进行计算。
S320,基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据。
预设的数据存储规则为第一数据存放位置规则,可以包括将第一数据保存至计算缓存单元和将第一数据保存至主机,用户预先设置数据存储规则,可以选用任意一条规则完成数据更新。
第二校验数据为第一数据对应的新的校验数据。计算引擎单元根据第一数据、第二数据和第一校验数据的存储位置,读取第一数据、第二数据和第一校验数据,基于以下数据生成算法计算第二校验数据:
Pnew= Dnew⊕Dold⊕Pold
其中,Pnew为第二校验数据,Dnew为第一数据,Dold为第二数据,Pold为第一校验数据。
S330,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据。
在得到新数据和新的校验数据之后,将其保存在各个数据对应盘的非易存储中,以完成磁盘冗余阵列中存储装置数据的更新。具体地,从第一数据和第二校验数据的所在单元将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中。
可以看出,本申请实施例通过响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元的第二数据保存至数据存储装置的第一缓存单元,将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元,基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据,可以利用计算缓存单元和第一缓存单元存储第二校验数据确定过程的中间数据,减少计算缓存单元的使用次数,分散了第二校验数据确定过程中访问存储器的带宽压力。
在一些实施例中,预设的数据存储规则包括将第一数据保存至计算缓存单元;计算引擎单元读取第一数据,包括:
计算引擎单元从计算缓存单元中读取第一数据。
主机写入第一数据之后,根据预设的数据存储规则将第一数据保存至计算缓存单元,计算引擎单元在计算新的校验数据时从计算缓存单元中读取第一数据。
以计算缓存单元为RAID计算缓存、计算引擎单元为RAID计算引擎、存储装置为NVMe SSD盘、第一缓存单元为SSD缓存、第二缓存单元为非易失存储为例,如图4所示,主机将第一数据Dnew写入RAID计算缓存,此步骤对RAID计算缓存产生了一次写操作,即图4中序号①所示的路径。随后,将数据存储装置非易失存储中的第二数据Dold写入SSD缓存中,将校验存储装置非易失存储中的第一校验数据Pold写入SSD缓存中,即图4中序号②所示的路径。
在一些实施例中,在确定第二校验数据之后,将第二校验数据保存至计算缓存单元中。
RAID计算引擎分别从数据存储装置和校验存储装置的SSD缓存中读取第二数据Dold和第一校验数据Pold,从RAID计算缓存中读取第一数据Dnew,此步骤对RAID计算缓存产生了一次读操作,并根据第一数据Dnew、第二数据Dold和第一校验数据Pold计算出第二校验数据Pnew,将其保存至计算缓存单元中,此步骤对RAID计算缓存产生第二次写操作,即图4中序号③所示的路径。
在一些实施例中,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,包括:
从计算缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从计算缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
向数据存储装置和校验存储装置下发读写命令,从RAID计算缓存读取第一数据Dnew和第二校验数据Pnew,此步骤对RAID计算缓存又产生了两次读操作,将第一数据Dnew写入数据存储装置的非易失存储中,将第二校验数据Pnew写入校验存储装置的非易失存储中,即图4中序号④所示的路径。
在本实施例中,对RAID计算缓存产生了2次写操作5次读操作,共5次操作。对数据存储装置的SSD缓存产生了1次读操作和1次写操作共2次操作。对校验存储装置的SSD缓存产生了1次读操作和1次写操作共2次操作。由此可知,本实施例中的数据更新方法相对于应用传统磁盘冗余阵列系统的数据更新方法,对RAID计算缓存的操作减少了4次。
在一些实施例中,该方法还包括:在确定第二校验数据之后,将第二校验数据保存至校验存储装置的第一缓存单元。
如图5所示,主机将第一数据Dnew写入RAID计算缓存,此步骤对RAID计算缓存产生了一次写操作,即图5中序号①所示的路径。随后,将数据存储装置非易失存储中的第二数据Dold写入SSD缓存中,将校验存储装置非易失存储中的第一校验数据Pold写入SSD缓存中,即图5中序号②所示的路径。
RAID计算引擎分别从数据存储装置和校验存储装置的SSD缓存中读取第二数据Dold和第一校验数据Pold,从RAID计算缓存中读取第一数据Dnew,此步骤对RAID计算缓存产生了一次读操作,并根据第一数据Dnew、第二数据Dold和第一校验数据Pold计算出第二校验数据Pnew,将其保存至校验存储装置的SSD缓存中,即图5中序号③所示的路径。
在一些实施例中,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,包括:
从计算缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从校验存储装置的第一缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
向数据存储装置和校验存储装置下发读写命令,从RAID计算缓存读取第一数据Dnew,此步骤对RAID计算缓存又产生了一次读操作,从校验存储装置的SSD缓存中读取第二校验数据Pnew,将第一数据Dnew写入数据存储装置的非易失存储中,将第二校验数据Pnew写入校验存储装置的非易失存储中,即图5中序号④所示的路径。
在本实施例中,对RAID计算缓存产生了1次写操作2次读操作,共3次操作。对数据存储装置的SSD缓存产生了1次读操作和1次写操作共2次操作。对校验存储装置的SSD缓存产生了2次读操作和2次写操作共4次操作。由此可知,本实施例中的数据更新方法相对于应用传统磁盘冗余阵列系统的数据更新方法,对RAID计算缓存的操作减少了6次。
在一些实施例中,预设的数据存储规则包括将第一数据保存至主机;计算引擎单元读取第一数据,包括:
计算引擎单元从主机中读取第一数据。
计算引擎单元除了从计算缓存单元读取第一数据之外,还可以直接从主机中读取第一数据。
如图6所示,先将数据存储装置非易失存储中的第二数据Dold写入SSD缓存中,将校验存储装置非易失存储中的第一校验数据Pold写入SSD缓存中,即图6中序号①所示的路径。
在一些实施例中,在确定第二校验数据之后,将第一数据保存至数据存储装置的第一缓存单元中,将第二校验数据保存至校验存储装置的第一缓存单元。
RAID计算引擎分别从数据存储装置和校验存储装置的SSD缓存中读取第二数据Dold和第一校验数据Pold,直接从主机中读取第一数据Dnew,并根据第一数据Dnew、第二数据Dold和第一校验数据Pold计算出第二校验数据Pnew,将第一数据Dnew保存至数据存储装置的SSD缓存中,将保存至校验存储装置的SSD缓存,即图6中序号②所示的路径。
在一些实施例中,将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,包括:
从数据存储装置的第一缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从校验存储装置的第一缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
向数据存储装置和校验存储装置下发读写命令,从数据存储装置的SSD缓存读取第一数据Dnew,将第一数据Dnew写入数据存储装置的非易失存储中,从校验存储装置的SSD缓存中读取第二校验数据Pnew,将第二校验数据Pnew写入校验存储装置的非易失存储中,即图6中序号③所示的路径。
在本实施例中,完全不需要RAID计算缓存,所有参与RAID计算的数据均存放到存储装置的SSD缓存。对数据存储装置的SSD缓存产生了2次读操作和2次写操作共4次操作。对校验存储装置的SSD缓存产生了2次读操作和2次写操作共4次操作。由此可知,本实施例中的数据更新方法相对于应用传统磁盘冗余阵列系统的数据更新方法,对于访问存储器完全无压力。
在上述各个实施例中,通过将RAID计算过程中所需的数据分别存放到RAID计算缓存和SSD缓存中,分散了RAID计算过程中访问存储器的带宽压力,降低了RAID系统实现的难度,并为释放NVMe SSD RAID的高性能提供了条件。
在一些实施例中,第一缓存单元通过控制器映射到系统总线的方法包括:
根据第一缓存单元的存储信息,确定第一缓存单元在系统总线地址空间的映射地址;
根据映射地址,在系统总线的地址空间划分第一缓存单元的映射空间。
存储信息包括第一缓存单元中内存空间的数量、空间大小、空间地址和空间属性等。将存储信息写入BAR寄存器,系统读取BAR寄存器获取第一缓存单元的存储信息,基于内存空间的数量、空间大小、空间地址和空间属性,计算第一缓存单元在系统总线地址空间的映射地址,映射地址是在系统总线地址空间中为第一缓存单元所分配空间的地址。在得到映射地址之后,根据映射地址在系统总线的地址空间划分第一缓存单元的映射空间。同时,将映射地址写回到BAR寄存器,第一缓存单元读取映射地址,确定其在系统总线的映射空间。
通过上述方法,系统把第一缓存单元开放的空间映射到系统总线的内存空间,得到映射空间,当计算引擎模块访问第一缓存单元时,只需访问对应的映射空间即可。
在一些实施例中,将第一数据对应的数据存储装置中第二缓存单元存储的第二数据保存至数据存储装置的第一缓存单元,包括:
将第一数据对应的数据存储装置中第二缓存单元的第二数据的目标地址设置为数据存储装置的第一缓存单元对应的映射地址,以将第二数据保存至数据存储装置的第一缓存单元;
将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元,包括:
将第一数据对应的校验存储装置中第二缓存单元的第一校验数据目标地址设置为校验存储装置的第一缓存单元对应的映射地址,以将第一校验数据保存至校验存储装置的第一缓存单元。
由于映射空间的存在,第一缓存单元的数据读取和写入都是通过映射空间实现的,因此,第一缓存单元与第二缓存单元之间的信息交互本质上是映射空间与第二缓存单元之间的信息交互。
将第二数据保存至数据存储装置的第一缓存单元或者将第一校验数据保存至校验存储装置的第一缓存单元,实际上是将第二数据和第一校验数据分别保存至数据存储装置和校验存储装置的第一缓存单元在系统总线上分配的映射空间。
数据存储装置和校验存储装置接收到的读取命令包括两个部分,一是数据的逻辑区块地址(Logical Block Address,LBA)起始地址和数据块数,二是数据读取的目标地址。通过将数据读取的目标地址设置为第一缓存单元在系统总线空间中的映射地址来实现将第二缓存单元的数据读取到第一缓存单元中的目的。
在一些实施例中,将第一数据写入数据存储装置的第二缓存单元中,包括:
当第一数据保存在数据存储装置的第一缓存单元时,将第一数据的源地址设置为数据存储装置的第一缓存单元对应的映射地址,以将第一数据写入数据存储装置的第二缓存单元中;
将第二校验数据写入校验存储装置的第二缓存单元中,包括:
当第二校验数据保存在校验存储装置的第一缓存单元时,将第二校验数据的源地址设置为校验存储装置的第一缓存单元对应的映射地址,以将第二校验数据写入校验存储装置的第二缓存单元中。
将第一数据写入数据存储装置的第二缓存单元或者将第二校验数据写入校验存储装置的第二缓存单元,实际上是从数据存储装置和校验存储装置的第一缓存单元在系统总线上分配的映射空间中将第二数据和第一校验数据分别保存至数据存储装置和校验存储装置的第二缓存单元。
数据存储装置和校验存储装置接收到的写入命令包括两个部分,一是数据的LBA起始地址和数据块数,二是写入数据的源地址。通过将写入数据的源地址设置为第一缓存单元在系统总线空间中的映射地址来实现将第一缓存单元中的数写入到第二缓存单元的目的。
应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图7为本申请实施例提供的一种数据更新装置的结构示意图,该装置设置于如图2所示的磁盘冗余阵列系统中,用以执行如图3中所示的方法流程。如图7所示,该装置可以包括:保存模块710、确定模块720和更新模块730,还可以进一步包括:映射模块。其中各组成模块的主要功能如下:
保存模块710,用于响应于主机写入第一数据,将第一数据对应的数据存储装置中第二缓存单元存储的第二数据保存至数据存储装置的第一缓存单元,将第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至校验存储装置的第一缓存单元;
确定模块720,用于基于预设的数据存储规则,计算引擎单元读取第一数据、第二数据和第一校验数据,并根据第一数据、第二数据和第一校验数据,确定第二校验数据;
更新模块730,用于将第一数据写入数据存储装置的第二缓存单元中,将第二校验数据写入校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据。
在一些实施例中,预设的数据存储规则包括将第一数据保存至计算缓存单元;确定模块720,具体用于:
计算引擎单元从计算缓存单元中读取第一数据。
在一些实施例中,保存模块710,还用于:
在确定第二校验数据之后,将第二校验数据保存至计算缓存单元中。
在一些实施例中,更新模块730,具体用于:
从计算缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从计算缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
在一些实施例中,保存模块710,还用于:
在确定第二校验数据之后,将第二校验数据保存至校验存储装置的第一缓存单元。
在一些实施例中,更新模块730,具体用于:
从计算缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从校验存储装置的第一缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
在一些实施例中,预设的数据存储规则包括将第一数据保存至主机;确定模块720,具体用于:
计算引擎单元从主机中读取第一数据。
在一些实施例中,保存模块710,还用于:
在确定第二校验数据之后,将第一数据保存至数据存储装置的第一缓存单元中,将第二校验数据保存至校验存储装置的第一缓存单元。
在一些实施例中,更新模块730,具体用于:
从数据存储装置的第一缓存单元中读取第一数据写入数据存储装置的第二缓存单元中,从校验存储装置的第一缓存单元中读取第二校验数据写入校验存储装置的第二缓存单元中。
在一些实施例中,该装置还包括映射模块,用于:
根据第一缓存单元的存储信息,确定第一缓存单元在系统总线地址空间的映射地址;
根据映射地址,在系统总线的地址空间划分第一缓存单元的映射空间。
在一些实施例中,保存模块710,具体用于:
将第一数据对应的数据存储装置中第二缓存单元的第二数据的目标地址设置为数据存储装置的第一缓存单元对应的映射地址,以将第二数据保存至数据存储装置的第一缓存单元;
将第一数据对应的校验存储装置中第二缓存单元的第一校验数据目标地址设置为校验存储装置的第一缓存单元对应的映射地址,以将第一校验数据保存至校验存储装置的第一缓存单元。
在一些实施例中,更新模块730,具体用于:当第一数据保存在数据存储装置的第一缓存单元时,将第一数据的源地址设置为数据存储装置的第一缓存单元对应的映射地址,以将第一数据写入数据存储装置的第二缓存单元中;
当第二校验数据保存在校验存储装置的第一缓存单元时,将第二校验数据的源地址设置为校验存储装置的第一缓存单元对应的映射地址,以将第二校验数据写入校验存储装置的第二缓存单元中。
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图8所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图8所示,设备800包括计算单元801、ROM 802、 RAM 803 、总线804以及输入/输出(I/O)接口805 ,计算单元 801、ROM 802 以及 RAM 803 通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
计算单元801可以根据存储在只读存储器(ROM)802 中的计算机指令或者从存储单元808加载到随机访问存储器(RAM)803 中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元808。
RAM 803还可存储设备800操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。
设备800中的输入单元806、输出单元807、存储单元808和通信单元809可以连接至I/O接口805。其中,输入单元806可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元807可以是诸如显示器、扬声器、指示灯等。设备800能够通过通信单元809与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元801,使得计算机指令当由诸如处理器等计算单元801执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (15)
1.一种数据更新方法,其特征在于,所述方法应用于磁盘冗余阵列系统,所述系统包括计算缓存单元、计算引擎单元、控制器和磁盘冗余阵列,其中,所述磁盘冗余阵列包括至少一个存储装置,所述存储装置包括第一缓存单元和第二缓存单元,所述计算缓存单元分别与所述计算引擎单元和所述控制器通信连接,所述计算引擎单元与所述控制器通信连接,所述控制器与所述至少一个存储装置连接,所述存储装置包括数据存储装置和校验存储装置,所述第一缓存单元通过控制器映射到系统总线,所述计算引擎单元通过所述系统总线访问所述第一缓存单元的映射空间;所述方法包括:
响应于主机写入第一数据,将所述第一数据对应的数据存储装置中第二缓存单元的第二数据保存至所述数据存储装置的第一缓存单元,将所述第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至所述校验存储装置的第一缓存单元;
基于预设的数据存储规则,所述计算引擎单元读取第一数据、所述第二数据和所述第一校验数据,并根据所述第一数据、所述第二数据和所述第一校验数据,确定第二校验数据;
将所述第一数据写入所述数据存储装置的第二缓存单元中,将所述第二校验数据写入所述校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据。
2.根据权利要求1所述的方法,其特征在于,所述预设的数据存储规则包括将所述第一数据保存至所述计算缓存单元;所述计算引擎单元读取第一数据,包括:
所述计算引擎单元从所述计算缓存单元中读取所述第一数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在确定所述第二校验数据之后,将所述第二校验数据保存至所述计算缓存单元中。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一数据写入所述数据存储装置的第二缓存单元中,将所述第二校验数据写入所述校验存储装置的第二缓存单元中,包括:
从所述计算缓存单元中读取所述第一数据写入所述数据存储装置的第二缓存单元中,从所述计算缓存单元中读取所述第二校验数据写入所述校验存储装置的第二缓存单元中。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在确定所述第二校验数据之后,将所述第二校验数据保存至所述校验存储装置的第一缓存单元。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一数据写入所述数据存储装置的第二缓存单元中,将所述第二校验数据写入所述校验存储装置的第二缓存单元中,包括:
从所述计算缓存单元中读取所述第一数据写入所述数据存储装置的第二缓存单元中,从所述校验存储装置的第一缓存单元中读取所述第二校验数据写入所述校验存储装置的第二缓存单元中。
7.根据权利要求1所述的方法,其特征在于,所述预设的数据存储规则包括将所述第一数据保存至主机;所述计算引擎单元读取第一数据,包括:
所述计算引擎单元从所述主机中读取所述第一数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在确定所述第二校验数据之后,将所述第一数据保存至所述数据存储装置的第一缓存单元中,将所述第二校验数据保存至所述校验存储装置的第一缓存单元。
9.根据权利要求8所述的方法,其特征在于,所述将所述第一数据写入所述数据存储装置的第二缓存单元中,将所述第二校验数据写入所述校验存储装置的第二缓存单元中,包括:
从所述数据存储装置的第一缓存单元中读取所述第一数据写入所述数据存储装置的第二缓存单元中,从所述校验存储装置的第一缓存单元中读取所述第二校验数据写入所述校验存储装置的第二缓存单元中。
10.根据权利要求1所述的方法,其特征在于,第一缓存单元通过控制器映射到系统总线的方法包括:
根据所述第一缓存单元的存储信息,确定所述第一缓存单元在系统总线地址空间的映射地址;
根据所述映射地址,在系统总线的地址空间划分所述第一缓存单元的映射空间。
11.根据权利要求10所述的方法,其特征在于,所述将所述第一数据对应的数据存储装置中第二缓存单元存储的第二数据保存至所述数据存储装置的第一缓存单元,包括:
将所述第一数据对应的数据存储装置中第二缓存单元的第二数据的目标地址设置为所述数据存储装置的第一缓存单元对应的映射地址,以将所述第二数据保存至所述数据存储装置的第一缓存单元;
所述将所述第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至所述校验存储装置的第一缓存单元,包括:
将所述第一数据对应的校验存储装置中第二缓存单元的第一校验数据目标地址设置为所述校验存储装置的第一缓存单元对应的映射地址,以将第一校验数据保存至所述校验存储装置的第一缓存单元。
12.根据权利要求11所述的方法,其特征在于,所述将所述第一数据写入所述数据存储装置的第二缓存单元中,包括:
当所述第一数据保存在所述数据存储装置的第一缓存单元时,将所述第一数据的源地址设置为所述数据存储装置的第一缓存单元对应的映射地址,以将所述第一数据写入所述数据存储装置的第二缓存单元中;
所述将所述第二校验数据写入所述校验存储装置的第二缓存单元中,包括:
当所述第二校验数据保存在所述校验存储装置的第一缓存单元时,将所述第二校验数据的源地址设置为所述校验存储装置的第一缓存单元对应的映射地址,以将所述第二校验数据写入所述校验存储装置的第二缓存单元中。
13.一种数据更新装置,其特征在于,所述装置设置于磁盘冗余阵列系统,所述系统包括计算缓存单元、计算引擎单元、控制器和磁盘冗余阵列,其中,所述磁盘冗余阵列包括至少一个存储装置,所述存储装置包括第一缓存单元和第二缓存单元,所述计算缓存单元分别与所述计算引擎单元和所述控制器通信连接,所述计算引擎单元与所述控制器通信连接,所述控制器与所述至少一个存储装置连接,所述存储装置包括数据存储装置和校验存储装置,所述第一缓存单元通过控制器映射到系统总线,所述计算引擎单元通过所述系统总线访问所述第一缓存单元的映射空间;所述装置包括:
保存模块,用于响应于主机写入第一数据,将所述第一数据对应的数据存储装置中第二缓存单元存储的第二数据保存至所述数据存储装置的第一缓存单元,将所述第一数据对应的校验存储装置中第二缓存单元的第一校验数据保存至所述校验存储装置的第一缓存单元;
确定模块,用于基于预设的数据存储规则,所述计算引擎单元读取第一数据、所述第二数据和所述第一校验数据,并根据所述第一数据、所述第二数据和所述第一校验数据,确定第二校验数据;
更新模块,用于将所述第一数据写入所述数据存储装置的第二缓存单元中,将所述第二校验数据写入所述校验存储装置的第二缓存单元中,以更新磁盘冗余阵列中存储装置的数据。
14.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410224321.3A CN117806568B (zh) | 2024-02-29 | 2024-02-29 | 一种数据更新方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410224321.3A CN117806568B (zh) | 2024-02-29 | 2024-02-29 | 一种数据更新方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117806568A true CN117806568A (zh) | 2024-04-02 |
CN117806568B CN117806568B (zh) | 2024-06-07 |
Family
ID=90430272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410224321.3A Active CN117806568B (zh) | 2024-02-29 | 2024-02-29 | 一种数据更新方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806568B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748885A (en) * | 1994-12-23 | 1998-05-05 | Emc Corporation | Method and apparatus for reduction of I/O operations in persistent storage system |
US6542960B1 (en) * | 1999-12-16 | 2003-04-01 | Adaptec, Inc. | System and method for parity caching based on stripe locking in raid data storage |
CN101923441A (zh) * | 2009-06-17 | 2010-12-22 | 成都市华为赛门铁克科技有限公司 | 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统 |
CN109240604A (zh) * | 2018-08-16 | 2019-01-18 | 郑州云海信息技术有限公司 | 基于raid5的固态硬盘中用户数据的写入方法、系统 |
CN110658994A (zh) * | 2019-09-03 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种基于hdd和ssd混合磁盘阵列的数据处理方法及装置 |
CN112148218A (zh) * | 2020-09-11 | 2020-12-29 | 北京浪潮数据技术有限公司 | 磁盘阵列的校验数据存储方法、装置、设备及存储介质 |
EP3783489A1 (en) * | 2019-08-23 | 2021-02-24 | Samsung Electronics Co., Ltd. | Memory controller with high data reliability, a memory system having the same, and an operation method of the memory controller |
CN112783684A (zh) * | 2019-11-06 | 2021-05-11 | 华为技术有限公司 | 一种校验数据计算方法及装置 |
US20220229722A1 (en) * | 2022-04-08 | 2022-07-21 | Intel Corporation | Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives |
CN115237342A (zh) * | 2022-03-28 | 2022-10-25 | 杭州电子科技大学 | 一种由阵列磁盘进行数据校验的raid5校验方法 |
CN115617742A (zh) * | 2022-12-19 | 2023-01-17 | 苏州浪潮智能科技有限公司 | 一种数据缓存的方法、系统、设备和存储介质 |
CN115639961A (zh) * | 2022-10-11 | 2023-01-24 | 超聚变数字技术有限公司 | 数据写入方法、存储系统及服务器 |
TWI797905B (zh) * | 2021-12-23 | 2023-04-01 | 慧榮科技股份有限公司 | 驅動獨立磁碟冗餘陣列引擎的裝置及方法 |
CN116126251A (zh) * | 2023-04-04 | 2023-05-16 | 北京忆恒创源科技股份有限公司 | 一种实现多并发写入的方法、控制器和固态存储设备 |
US20230205461A1 (en) * | 2021-12-23 | 2023-06-29 | Silicon Motion, Inc. | Apparatus and method for driving redundant array of independent disks (raid) engine |
CN116755620A (zh) * | 2023-06-14 | 2023-09-15 | 三星(中国)半导体有限公司 | 基于独立磁盘冗余阵列的数据存储的方法和装置 |
CN116893789A (zh) * | 2023-09-08 | 2023-10-17 | 苏州浪潮智能科技有限公司 | 一种数据管理方法、系统、装置、设备及计算机存储介质 |
CN117193672A (zh) * | 2023-11-07 | 2023-12-08 | 苏州元脑智能科技有限公司 | 存储设备的数据处理方法及装置、存储介质及电子设备 |
CN117519582A (zh) * | 2023-10-26 | 2024-02-06 | 深圳大普微电子股份有限公司 | 数据管理方法、校验数据的方法及相关装置 |
CN117591009A (zh) * | 2023-10-25 | 2024-02-23 | 超聚变数字技术有限公司 | 一种数据管理方法、存储装置及服务器 |
-
2024
- 2024-02-29 CN CN202410224321.3A patent/CN117806568B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748885A (en) * | 1994-12-23 | 1998-05-05 | Emc Corporation | Method and apparatus for reduction of I/O operations in persistent storage system |
US6542960B1 (en) * | 1999-12-16 | 2003-04-01 | Adaptec, Inc. | System and method for parity caching based on stripe locking in raid data storage |
CN101923441A (zh) * | 2009-06-17 | 2010-12-22 | 成都市华为赛门铁克科技有限公司 | 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统 |
CN109240604A (zh) * | 2018-08-16 | 2019-01-18 | 郑州云海信息技术有限公司 | 基于raid5的固态硬盘中用户数据的写入方法、系统 |
EP3783489A1 (en) * | 2019-08-23 | 2021-02-24 | Samsung Electronics Co., Ltd. | Memory controller with high data reliability, a memory system having the same, and an operation method of the memory controller |
CN110658994A (zh) * | 2019-09-03 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种基于hdd和ssd混合磁盘阵列的数据处理方法及装置 |
CN112783684A (zh) * | 2019-11-06 | 2021-05-11 | 华为技术有限公司 | 一种校验数据计算方法及装置 |
CN112148218A (zh) * | 2020-09-11 | 2020-12-29 | 北京浪潮数据技术有限公司 | 磁盘阵列的校验数据存储方法、装置、设备及存储介质 |
US20230205461A1 (en) * | 2021-12-23 | 2023-06-29 | Silicon Motion, Inc. | Apparatus and method for driving redundant array of independent disks (raid) engine |
TWI797905B (zh) * | 2021-12-23 | 2023-04-01 | 慧榮科技股份有限公司 | 驅動獨立磁碟冗餘陣列引擎的裝置及方法 |
CN115237342A (zh) * | 2022-03-28 | 2022-10-25 | 杭州电子科技大学 | 一种由阵列磁盘进行数据校验的raid5校验方法 |
US20220229722A1 (en) * | 2022-04-08 | 2022-07-21 | Intel Corporation | Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives |
CN115639961A (zh) * | 2022-10-11 | 2023-01-24 | 超聚变数字技术有限公司 | 数据写入方法、存储系统及服务器 |
CN115617742A (zh) * | 2022-12-19 | 2023-01-17 | 苏州浪潮智能科技有限公司 | 一种数据缓存的方法、系统、设备和存储介质 |
CN116126251A (zh) * | 2023-04-04 | 2023-05-16 | 北京忆恒创源科技股份有限公司 | 一种实现多并发写入的方法、控制器和固态存储设备 |
CN116755620A (zh) * | 2023-06-14 | 2023-09-15 | 三星(中国)半导体有限公司 | 基于独立磁盘冗余阵列的数据存储的方法和装置 |
CN116893789A (zh) * | 2023-09-08 | 2023-10-17 | 苏州浪潮智能科技有限公司 | 一种数据管理方法、系统、装置、设备及计算机存储介质 |
CN117591009A (zh) * | 2023-10-25 | 2024-02-23 | 超聚变数字技术有限公司 | 一种数据管理方法、存储装置及服务器 |
CN117519582A (zh) * | 2023-10-26 | 2024-02-06 | 深圳大普微电子股份有限公司 | 数据管理方法、校验数据的方法及相关装置 |
CN117193672A (zh) * | 2023-11-07 | 2023-12-08 | 苏州元脑智能科技有限公司 | 存储设备的数据处理方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117806568B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940252B2 (en) | Implementing hardware accelerator for storage write cache management for reads with partial read hits from storage write cache | |
JP4829365B1 (ja) | データ記憶装置及びデータ書き込み方法 | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US9442802B2 (en) | Data access methods and storage subsystems thereof | |
US5530948A (en) | System and method for command queuing on raid levels 4 and 5 parity drives | |
US8250283B1 (en) | Write-distribute command for RAID mirroring | |
US6993676B2 (en) | Method and apparatus for fast initialization of redundant arrays of storage devices | |
CN107564558B (zh) | 实现分散原子i/o写入 | |
US20150081967A1 (en) | Management of storage read requests | |
US11494266B2 (en) | Raid storage-device-assisted parity update data storage system | |
US6052822A (en) | Fast destaging method using parity engine | |
US9921913B2 (en) | Flushing host cache data before rebuilding degraded redundant virtual disk | |
US20140059294A1 (en) | Storage system and storage control method | |
US20200341873A1 (en) | Data access method, apparatus and computer program product | |
US20130219119A1 (en) | Writing new data of a first block size to a second block size using a write-write mode | |
US20220011979A1 (en) | Raid storage device, host, and raid system | |
US8145839B2 (en) | Raid—5 controller and accessing method with data stream distribution and aggregation operations based on the primitive data access block of storage devices | |
CN117806568B (zh) | 一种数据更新方法、装置、设备和存储介质 | |
KR100900489B1 (ko) | 디스크 어레이 매스 프리페칭 방법 | |
US20110029580A1 (en) | Methods and apparatus for metadata management in a storage system | |
CN109189340B (zh) | 用于存取独立硬盘冗余阵列的系统与方法 | |
US11327683B2 (en) | RAID storage-device-assisted read-modify-write system | |
JP2003241904A (ja) | ディスクアレイ装置、及びその制御方法 | |
WO2016082504A1 (zh) | 一种独立磁盘冗余阵列的实现方法及装置 | |
CN117234430B (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 |