CN116627856A - 一种实现内存地址映射的方法、装置及设备 - Google Patents
一种实现内存地址映射的方法、装置及设备 Download PDFInfo
- Publication number
- CN116627856A CN116627856A CN202310245122.6A CN202310245122A CN116627856A CN 116627856 A CN116627856 A CN 116627856A CN 202310245122 A CN202310245122 A CN 202310245122A CN 116627856 A CN116627856 A CN 116627856A
- Authority
- CN
- China
- Prior art keywords
- address
- disk
- partition
- target disk
- strip
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013507 mapping Methods 0.000 title claims abstract description 35
- 238000005192 partition Methods 0.000 claims abstract description 66
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 8
- 208000000283 familial pityriasis rubra pilaris Diseases 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种实现内存地址映射的方法、装置及设备。方法包括以下步骤:根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。本发明公开的方案取代软件对内存地址映射的过程,释放了CPU,降低了CPU的压力,提升机器性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现内存地址映射的方法、装置及设备。
背景技术
NVMe(Non-Volatile Memory Express,非易失性内存主机控制器接口规范)协议是一种通信接口和驱动程序,可充分利用PCIe(peripheral component interconnectexpress,高速串行计算机扩展总线标准)提供的更高带宽,它旨在提高性能和效率。NVMe专为SSD(Solid State Disk,固态硬盘)设计,利用高速PCIe总线在存储接口和系统CPU之间进行通信,可以支持多个I/O队列,最多可达64K个队列,而每个队列包含64K个条目。在NVMe协议中,多个通路其实就是多个队列。主机(Host)在与SSD的数据传输的过程中,其中一种告诉SSD数据所在的内存地址是通过PRP(Physical Region Page,物理区域页)的方式。PRP本质上是一个64位的物理地址,PRP描述的是一段连续的物理内存连续地址,如果需要描述若干个不连续的物理内存,那么就需要若干个PRP,把这些若干个不连续的PRP链接起来就是PRP List(一个存放PRP的列表)。
RAID(Redundant Array of Inexpensive Disks,磁盘阵列)是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。RAID按照实现原理的不同分为不同的RAID类型,不同的RAID类型之间工作模式是有区别的。整个的RAID结构是一些磁盘结构,通过对磁盘进行组合达到提高效率,减少错误的目的。RAID通过同时使用多个磁盘,提高了传输速率。通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。需要写入磁盘的数据对应的PRP存放在一片内存区域中,形成一个PRP list。DMA(DirectMemory Access,直接访问内存)根据PRP读取所指向的数据写入对应的磁盘中。
现有技术实现内存地址映射的方法是由软件实现,软件具有成本低廉和简单直观的优点,但是通过软件实现内存地址映射,其所有功能都是操作系统(OS)与CPU来完成,需要CPU来完成数据逻辑运算必然会拉低CPU性能和占用内存空间,同时也会浪费I/O总线的资源,降低总体机器性能。
发明内容
有鉴于此,本发明提出了一种实现内存地址映射的方法、装置及设备,其中,本发明提出的实现内存地址映射的方法对磁盘组的每个条带中各个磁盘需要的空间进行累加,计算出各个磁盘需要总的内存地址偏移量,再按条带将每个条带上分块对应的内存地址偏移量所指向的数据存储到对应的磁盘上,同时在对每个磁盘上的所有条带对应的分块对应的地址偏移量的累加可以按照时钟周期进行累加,提高了计算效率。在整个映射过程释放了CPU,降低了CPU的压力,提升机器性能。
基于以上目的,本发明的实施例的一个方面提供了实现内存地址映射的方法,至少执行包括以下步骤:根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
在一些实施例中,所述方法还包括:初始化所述磁盘组每个磁盘对应的寄存器,将所述条带上的分块所对应的地址偏移量分别存储到分块所在磁盘对应的寄存器。
在一些实施例中,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:对目标磁盘对应的寄存器中的所有条带的分块对应的地址偏移量进行累加,得到所述目标磁盘的地址偏移量。
在一些实施例中,所述根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量包括:根据内存地址的长度、分块大小以及分块在条带中的偏移对所述内存地址进行切分。
在一些实施例中,所述方法包括:判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效。
在一些实施例中,所述判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效包括:响应于所述磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效。
在一些实施例中,所述响应于所述磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效包括:响应于所述磁盘组的条带上的分块为校验块,通过在所述校验块的位置设置掩码信号以使所述校验块对应的地址偏移量无效。
在一些实施例中,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:累加所有条带在目标磁盘上地址偏移量有效的分块对应的地址偏移量,得到所述目标磁盘对应的地址偏移量。
本发明实施例的另一个方面,还提供了一种实现内存地址映射的装置,所述装置包括:第一模块,配置用于根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;第二模块,配置用于累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
本发明实施例的另一方面,还提供一种计算机设备,包括至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任一方法的步骤。
本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上任一方法步骤的计算机程序。
本发明至少具有以下有益效果:本发明提供一种实现内存地址映射的方法、装置及设备,其中本发明提供的一种实现内存地址映射的方法能够取代软件对内存地址映射的过程,释放了CPU,降低了CPU的压力,提升机器性能。同时,在对内存地址进行切分时可以按条带并行计算各个磁盘的所有条带的分块对应的内存地址偏移量的累加值,从而提高了对内存地址的映射效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的实施例。
图1示出了本发明提供的涉及一种实现内存地址映射的方法的实施例的示意图;
图2示出的为初始PRP list指向的数据在磁盘组中的分布的示意图;
图3示出了本发明提供的一种实现内存地址映射的装置的实施例的示意图;
图4示出了本发明提供的一种计算机设备的实施例的示意图;
图5示出了本发明提供的一种计算机可读存储介质的实施例的示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其它实施例可以采取各种替代形式。
此外,需要说明的是术语“包括”、“包含”或其任何其它变形旨在涵盖非排他性的包括,以使包含一系列要素的过程、方法、物品或装置不仅包括那些要素,也可以包括未明确列出的或这些过程、方法、物品或装置所固有的要素。
下面将结合附图说明本申请的一个或多个实施例。
基于以上目的,本发明实施例的第一个方面,提出一种实现内存地址映射的方法的实施例。图1示出的是本发明提供的一种实现内存地址映射的方法的实施例的示意图。如图1所示,本发明实施例的一种实现内存地址映射的方法包括以下步骤:
S1、根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;
S2、累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
根据本发明的若干实施例,方法还包括:初始化磁盘组每个磁盘对应的寄存器,将条带上的分块所对应的地址偏移量分别存储到分块所在磁盘对应的寄存器。
根据本发明的若干实施例,累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到目标磁盘对应的地址偏移量包括:对目标磁盘对应的寄存器中的所有条带的分块对应的地址偏移量进行累加,得到目标磁盘的地址偏移量。
根据本发明的若干实施例,根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到条带上的分块所对应的地址偏移量包括:根据内存地址的长度、分块大小以及分块在条带中的偏移对内存地址进行切分。
根据本发明的若干实施例,方法包括:判断磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效。
根据本发明的若干实施例,判断磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效包括:响应于磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效。
根据本发明的若干实施例,响应于磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效包括:响应于磁盘组的条带上的分块为校验块,通过在校验块的位置设置掩码信号以使校验块对应的地址偏移量无效。
根据本发明的若干实施例,累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到目标磁盘对应的地址偏移量包括:累加所有条带在目标磁盘上地址偏移量有效的分块对应的地址偏移量,得到目标磁盘对应的地址偏移量。
以下为本发明提供的一种实现内存地址映射的方法的另一实施例。
PRP(Physical Region Page,物理区域页)本质上是一个64位的物理地址,只不过这个物理地址被分为了两个部分:页起始地址和页内偏移。最后两个位为0,表示这个物理地址只能是四个字节对齐访问,页内偏移可以为0,也可以是一个非零的值。PRP描述的是一段连续的物理内存连续地址,如果需要描述若干个不连续的物理内存,那么就需要若干个PRP,把这些若干个不连续PRP链接起来就是PRP List(物理区域页列表)。
在本实施例中,以old PRP list length(初始PRP list的长度)为9n+1、chunksize(条带中分块的大小,即分块中存放的PRP个数)为n、chunk offset(分块的偏移)为2以及RAID5为例对内存地址进行映射的过程进行说明。本发明是按照数据的分布将old PRPlist进行映射得到new PRP list(映射后的PRP list),根据new PRP list的分布将数据写入对应的磁盘。如图2所示,图2示出的是初始PRP list指向的数据在磁盘组中的分布的示意图,PRP指向的是数据data pagen地址(数据页地址),data pagen为一个4K的数据页。
首先按照磁盘个数(disk number)、分块大小(chunk size)可以得到每个条带中每个磁盘写入数据需要的初始PRP长度(old PRP list length)。根据old PRP listlength计算需要多少个条带(stripe)。每个磁盘设置一个寄存器(pointer),依次将每个条带中各个磁盘对应的PRP个数delta cnt发送给寄存器,各个寄存器接收到delta cnt(每个条带中各个磁盘需要的存放数据对应的PRP的个数)后,累加得到每个磁盘重新映射后需要存放的地址空间sub PRP list length,再将sub PRP list length累加后得到new PRPlist在内存中的起始地址、大小以及各个磁盘对应的空间分布。最后读取old PRP list按照RAID模式、条带、chunk size的大小写入每个磁盘对应的地址位置生成new PRP list。
根据磁盘数量设置相对应个数的寄存器(pointer)数量,并对各个寄存器进行初始化为0,比如设置pointer0~pointer4,并将寄存器初始化为0。
根据old PRP list length、chunk size、chunk offset、RAID算法,将old PRPlist length按照每个条带中各个磁盘所要存放的数据对应的PRP的个数产生一个deltacnt(每个条带中各个磁盘需要的存放数据对应的PRP的个数)。如果第一个chunk中offset不为0,则认为delta_cnt的实际值为chunk size-chunk offset;如果最后一个chunk剩余old PRP list length小于chunk size,则delta_cnt的实际值为剩余old PRP listlength的值;其他条件下delta_cnt的实际值为chunk size的值。按照这种方式将会得到条带中每个磁盘上所有条带的在此磁盘上分块对应的delta_cnt并发送给该磁盘对应的pointer进行存储。计运算得到各个delta cnt的有效信号delta cnt valid,如果出条带中对应的分块的位置存放校验码(RAID算法中支持校验的话)则该位置产生一个掩码信号mask,将对应delta cnt valid掩盖为无效,按照这种方式可以并行计算出每个条带中每个磁盘的delta cnt(只有delta cnt valid有效的delta cnt进行累加)。切分时,可以根据剩余old PRP list length的实际值与chunk size的比值计算chunk number(参与内存地址映射的磁盘数),再根据参与内存地址映射的磁盘数与存储数据的磁盘个数计算出stripenumber(条带个数),从而得到每一个条带中每个分块所对应的delta cnt的实际值。
每个磁盘对应的寄存器收到条带对应各个磁盘的delta cnt值和delta cntvalid后,根据delta cnt valid有效时进行累加,最终得到每个磁盘对应的内存地址偏移量。将磁盘组的每个磁盘的每个磁盘对应的内存地址偏移量相加可以得到与原始内存地址容量大小一致的内存地址空间,在本实施中得到的内存地址大小仍然为9n+1。读取old PRPlist按照RAID算法将其写入到对应磁盘的地址空间,磁盘每次写入PRP的个数为切分时前条带对应当的delta cnt。写完一个磁盘,更新磁盘的对应的空间的起始地址,等待下一个条带PRP写入,直到将所有的old PRP list中的PRP完成映射。比如,第一个条带disk0写入n-2个PRP对应的数据后,起始地址0加n-2,新起始地址更新为n-2。disk1写入n个PRP对应的数据后,起始地址3n-2加n,更新起始地址为4n-2,以此类推完成old PRP list的映射。
本发明的实施例的第二个方面,提出了一种实现内存地址映射的装置。图4示出的是本发明提供的一种实现内存地址映射的装置的实施例的示意图。如图4所示,本发明提供的一种实现内存地址映射的装置包括:第一模块,配置用于根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;第二模块,配置用于累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
本申请提出的一种实现内存地址映射的方法可以取代软件对内存地址映射的方法,在映射过程释放了CPU,降低了CPU的压力,提升机器性能。同时,在进行old PRP list切分时可以按条带并行计算各个寄存器的值,并不像软件那样串行计算条带中每一个磁盘对应的寄存器从而提高PRP list的映射效率。
基于以上目的,本发明实施例的第三个方面,提出了一种计算机设备,图4示出的是本发明提供的一种计算机设备的实施例的示意图。如图4所示,本发明提供的一种计算机设备的实施例,包括以下模块:至少一个处理器021;以及存储器022,存储器022存储有可在处理器021上运行的计算机指令023,该计算机指令023由处理器021执行时实现如上所述的方法的步骤。其中,所述步骤包括:根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
在一些实施例中,所述步骤还包括:初始化所述磁盘组每个磁盘对应的寄存器,将所述条带上的分块所对应的地址偏移量分别存储到分块所在磁盘对应的寄存器。
在一些实施例中,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:对目标磁盘对应的寄存器中的所有条带的分块对应的地址偏移量进行累加,得到所述目标磁盘的地址偏移量。
在一些实施例中,所述根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量包括:根据内存地址的长度、分块大小以及分块在条带中的偏移对所述内存地址进行切分。
在一些实施例中,所述步骤包括:判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效。
在一些实施例中,所述判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效包括:响应于所述磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效。
在一些实施例中,所述响应于所述磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效包括:响应于所述磁盘组的条带上的分块为校验块,通过在所述校验块的位置设置掩码信号以使所述校验块对应的地址偏移量无效。
在一些实施例中,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:累加所有条带在目标磁盘上地址偏移量有效的分块对应的地址偏移量,得到所述目标磁盘对应的地址偏移量。
本发明还提供了一种计算机可读存储介质。图5示出的是本发明提供的一种计算机可读存储介质的实施例的示意图。如图5所示,计算机可读存储介质031存储有被处理器执行时执行以下步骤的计算机程序032:根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
在一些实施例中,所述步骤还包括:初始化所述磁盘组每个磁盘对应的寄存器,将所述条带上的分块所对应的地址偏移量分别存储到分块所在磁盘对应的寄存器。
在一些实施例中,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:对目标磁盘对应的寄存器中的所有条带的分块对应的地址偏移量进行累加,得到所述目标磁盘的地址偏移量。
在一些实施例中,所述根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量包括:根据内存地址的长度、分块大小以及分块在条带中的偏移对所述内存地址进行切分。
在一些实施例中,所述步骤包括:判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效。
在一些实施例中,所述判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效包括:响应于所述磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效。
在一些实施例中,所述响应于所述磁盘组的条带上的分块为校验块,确认分块对应的地址偏移量无效包括:响应于所述磁盘组的条带上的分块为校验块,通过在所述校验块的位置设置掩码信号以使所述校验块对应的地址偏移量无效。
在一些实施例中,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:累加所有条带在目标磁盘上地址偏移量有效的分块对应的地址偏移量,得到所述目标磁盘对应的地址偏移量。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,设置系统参数的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、D0L或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种实现内存地址映射的方法,其特征在于,至少执行包括以下步骤:
根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;
累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
初始化所述磁盘组每个磁盘对应的寄存器,将所述条带上的分块所对应的地址偏移量分别存储到分块所在磁盘对应的寄存器。
3.根据权利要求2所述的方法,其特征在于,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:
对目标磁盘对应的寄存器中的所有条带的分块对应的地址偏移量进行累加,得到所述目标磁盘的地址偏移量。
4.根据权利要求1所述的方法,其特征在于,所述根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量包括:
根据内存地址的长度、分块大小以及分块在条带中的偏移对所述内存地址进行切分。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:
判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效。
6.根据权利要求5所述的方法,其特征在于,所述判断所述磁盘组的条带上的分块是否为校验块,根据判断结果确认分块对应的地址偏移量是否有效包括:
响应于所述磁盘组的条带上的分块为校验块,确认所述分块对应的地址偏移量无效。
7.根据权利要求6所述的方法,其特征在于,所述响应于所述磁盘组的条带上的分块为校验块,确认所述分块对应的地址偏移量无效包括:
响应于所述磁盘组的条带上的分块为校验块,通过在所述校验块的位置设置掩码信号以使所述校验块对应的地址偏移量无效。
8.根据权利要求5所述的方法,其特征在于,所述累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量包括:
累加所有条带在目标磁盘上地址偏移量有效的分块对应的地址偏移量,得到所述目标磁盘对应的地址偏移量。
9.一种实现内存地址映射的装置,其特征在于,包括:
第一模块,配置用于根据磁盘组的条带上的分块存放的数据容量大小所对应的地址偏移量对待存储数据对应的内存地址进行切分,得到所述条带上的分块所对应的地址偏移量;
第二模块,配置用于累加所有条带在目标磁盘上的分块所对应的地址偏移量,得到所述目标磁盘对应的地址偏移量,并且基于所述目标磁盘对应的地址偏移量进行存储。
10.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-8任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310245122.6A CN116627856A (zh) | 2023-03-10 | 2023-03-10 | 一种实现内存地址映射的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310245122.6A CN116627856A (zh) | 2023-03-10 | 2023-03-10 | 一种实现内存地址映射的方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627856A true CN116627856A (zh) | 2023-08-22 |
Family
ID=87615881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310245122.6A Pending CN116627856A (zh) | 2023-03-10 | 2023-03-10 | 一种实现内存地址映射的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627856A (zh) |
-
2023
- 2023-03-10 CN CN202310245122.6A patent/CN116627856A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104244B (zh) | 用于在存储阵列组中重建数据的方法和设备 | |
US8209587B1 (en) | System and method for eliminating zeroing of disk drives in RAID arrays | |
KR101660150B1 (ko) | 물리 페이지, 논리 페이지, 및 코드워드 대응 | |
KR101758544B1 (ko) | 비휘발성 메모리 시스템에서의 동기 미러링 | |
US8819338B2 (en) | Storage system and storage apparatus | |
EP3036642B1 (en) | Hardware managed compressed cache | |
US20090265578A1 (en) | Full Stripe Processing for a Redundant Array of Disk Drives | |
CN102122235B (zh) | 一种raid4系统及其数据读写方法 | |
US10108359B2 (en) | Method and system for efficient cache buffering in a system having parity arms to enable hardware acceleration | |
EP2097806A2 (en) | System and method for optimizing write operations storage systems | |
JP2002312130A (ja) | 改良されたストライプベースの処理方法 | |
JP2013156977A (ja) | 冗長キャッシュデータのエラスティックキャッシュ | |
EP3062209A1 (en) | Method and apparatus for improving disk array performance | |
JP4884721B2 (ja) | 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法 | |
EP1241560A2 (en) | Using task description blocks to maintain information regarding operations | |
US20080222500A1 (en) | Data relay apparatus, data relay method and data relay integrated circuit | |
CN116974458A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
CN101477447A (zh) | 磁盘快照方法与装置 | |
US10282116B2 (en) | Method and system for hardware accelerated cache flush | |
CN110737395B (zh) | I/o管理方法、电子设备和计算机可读存储介质 | |
WO2023020136A1 (zh) | 存储系统中的数据存储方法及装置 | |
US11079956B2 (en) | Storage system and storage control method | |
CN116627856A (zh) | 一种实现内存地址映射的方法、装置及设备 | |
CN109189340B (zh) | 用于存取独立硬盘冗余阵列的系统与方法 | |
CN113424262A (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 |