CN108121600B - 磁盘阵列控制器、输入输出io数据处理方法及装置 - Google Patents
磁盘阵列控制器、输入输出io数据处理方法及装置 Download PDFInfo
- Publication number
- CN108121600B CN108121600B CN201611093705.8A CN201611093705A CN108121600B CN 108121600 B CN108121600 B CN 108121600B CN 201611093705 A CN201611093705 A CN 201611093705A CN 108121600 B CN108121600 B CN 108121600B
- Authority
- CN
- China
- Prior art keywords
- information
- data
- mapper
- address information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种磁盘阵列控制器、输入输出IO数据处理方法及装置;其中,磁盘阵列控制器,包括:中央处理单元CPU和数据处理器;其中,CPU与数据处理器连接;CPU,用于向数据处理器下发控制信息;数据处理器,用于根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。通过本发明,解决了相关技术中IO数据处理是通过CPU软件处理所导致的IO处理性能受限的问题。
Description
技术领域
本发明涉及信息技术领域,具体而言,涉及一种磁盘阵列控制器、输入输出IO数据处理方法及装置。
背景技术
信息技术已经深入到人们日常生活的方方面面,为社会的发展和进步做出了卓越贡献。在使用信息技术的过程中,产生了海量的数据,这些海量数据需要独立的专业设备来管理,因此磁盘阵列应运而生。
图1是相关技术中的磁盘阵列的组成示意图,如图1所示,当前主流的磁盘阵列硬件都分为三大部分:前端模块、处理模块和后端模块。前端模块包含若干接口模块,负责与主机进行连接和数据传送;处理模块负责实现磁盘阵列上的各种数据处理,包括:独立冗余磁盘阵列(Redundant Array of Independent Disks,简称RAID)、克隆、镜像等存储业务;后端模块负责管理后端大量的磁盘,正确操作磁盘上的数据。前后端模块目前都通过高速外围设备互联(Peripheral Component Interconnect express,简称PCIe)链路连接到磁盘阵列的处理器,通过直接内存访问(Direct Memory Access,简称DMA)技术与处理器交互数据。
磁盘阵列的中央处理单元(Central Processor Unit,简称CPU)负责运行存储软件,图2是相关技术中的磁盘阵列软件示意图,如图2所示,前端接口驱动负责处理前端接口模块相关内容;后端驱动负责处理后端接口模块相关内容;磁阵软件部分则负责实现存储业务内容,包括RAID、克隆、镜像等存储功能。
在当前磁盘阵列软硬件框架下,一个数据读写/输入输出(Input/Output,简称IO)的流程如图3所示,图3是相关技术中的磁盘阵列写IO流程的示意图,需要说明的是,读流程与写流程相似,但数据方向相反。主机将数据通过帧发送到前端接口模块,前端接口将数据组织完整后通过DMA写入到控制器内存,并上报CPU;CPU上的磁阵软件处理模块收到数据,进行存储业务处理后重新写入内存;控制器通知后端接口模块,将数据通过DMA写入后端接口模块;后端接口模块将数据通过链路帧发向硬盘。
由于每个IO都需要CPU处理,软件处理的效率直接决定了磁盘阵列的处理能力。当前磁盘阵列需要具备百万级甚至千万级的每秒完成IO数(IO Per-second,简称IOPS)能力,这对软件提出了非常高的要求;加上存储协议厚重,业务种类繁杂,导致经常性出现软件性能瓶颈,达不到应用要求的性能。
由此可见,磁盘阵列为了满足主机不断提高的IO处理能力需求、具备大数量IOPS处理能力,就必须克服软件处理瓶颈,大幅提升磁盘阵列的IO处理性能。
针对上述技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种磁盘阵列控制器、输入输出IO数据处理方法及装置,以至少解决相关技术中IO数据处理是通过CPU软件处理所导致的IO处理性能受限的问题。
根据本发明的一个实施例,提供了一种磁盘阵列控制器,包括:中央处理单元CPU和数据处理器;其中,CPU与数据处理器连接;CPU,用于向数据处理器下发控制信息;数据处理器,用于根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。
可选地,数据处理器为IO映射器。
可选地,IO映射器包括:映射引擎,用于获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过直接内存访问DMA方式拷贝到与目的地址信息对应的后端接口模块的后端目标接口卡上;和/或,用于获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过DMA方式拷贝到与目的地址信息对应的前端接口模块的前端目标接口卡上。
可选地,映射引擎包括:IO引擎,用于获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息;和/或,用于获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息;DMA引擎,与IO引擎连接,用于将IO数据通过DMA方式拷贝到与目的地址信息对应的后端目标接口卡上和/或前端目标接口卡上。
可选地,映射引擎还包括:块映射表生成器,用于根据控制信息生成块映射关系;其中,控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
可选地,IO映射器还包括:配置管理模块、LUN空间管理模块和磁盘空间管理模块;其中,配置管理模块,用于接收CPU发送的控制信息,解析控制信息,以及将解析后的控制信息发送给LUN空间管理模块、磁盘空间管理模块和IO映射器的映射引擎;LUN空间管理模块,用于维护磁盘阵列提供给外部主机使用LUN的空间信息;磁盘空间管理模块,用于维护磁盘阵列上所有磁盘的空间信息。
可选地,IO映射器还包括:DMA内存管理模块,用于存放前端接口模块和/或后端接口模块通过DMA来的IO数据。
可选地,IO映射器为由专用集成电路ASIC和/或现场可编程门阵列FPGA实现的硬件器件。
根据本发明的一个实施例,提供了一种输入输出IO数据处理方法,包括:磁盘阵列控制器中的IO映射器接收磁盘阵列控制器中的中央处理单元CPU发送的控制信息;IO映射器根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。
可选地,IO映射器根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互包括:IO映射器获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过直接内存访问DMA方式拷贝到与目的地址信息对应的后端接口模块的后端目标接口卡上;和/或,IO映射器获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过DMA方式拷贝到与目的地址信息对应的前端接口模块的前端目标接口卡上。
可选地,控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
可选地,在IO映射器根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互之前,方法还包括:IO映射器根据控制信息生成块映射关系。
可选地,在磁盘阵列控制器中的IO映射器接收磁盘阵列控制器中的中央处理单元CPU发送的控制信息之后,方法还包括:IO映射器根据LUN空间信息在磁盘阵列控制器的LUN空间管理模块中建立LUN列表和每个LUN的空间地址信息;IO映射器根据磁盘空间信息在磁盘阵列控制器的磁盘空间管理模块中建立磁盘列表和每个磁盘的空间地址信息。
根据本发明的一个实施例,提供了一种输入输出IO数据处理装置,位于磁盘阵列控制器中的IO映射器中,包括:接收模块,用于接收磁盘阵列控制器中的中央处理单元CPU发送的控制信息;处理模块,用于根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。
可选地,处理模块,用于获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过直接内存访问DMA方式拷贝到与目的地址信息对应的后端接口模块的后端目标接口卡上;和/或,用于获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过DMA方式拷贝到与目的地址信息对应的前端接口模块的前端目标接口卡上。
可选地,控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
可选地,装置还包括:生成模块,用于根据控制信息生成块映射关系。
可选地,装置还包括:创建模块,用于根据LUN空间信息在磁盘阵列控制器的LUN空间管理模块中建立LUN列表和每个LUN的空间地址信息;以及根据磁盘空间信息在磁盘阵列控制器的磁盘空间管理模块中建立磁盘列表和每个磁盘的空间地址信息。
根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:接收磁盘阵列控制器中的中央处理单元CPU发送的控制信息;根据控制信息与前端接口模块和/或后端接口模块进行输入输出IO数据交互。
通过本发明,由于CPU下发控制信息,IO数据交互通过数据处理器实现,使得数据交互和控制分离,即IO数据处理通过硬件来实现,在IO路径上无软件参与,极大地提高了磁盘阵列的IO处理能力,因此,可以解决IO处理是通过CPU软件处理所导致的IO处理性能受限的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中的磁盘阵列的组成示意图;
图2是相关技术中的磁盘阵列软件示意图;
图3是相关技术中的磁盘阵列写IO流程的示意图;
图4是根据本发明实施例提供的一种磁盘阵列控制器的结构示意图;
图5是根据本发明实施例提供的一种输入输出IO数据处理方法的流程示意图;
图6是根据本发明实施例的输入输出IO数据处理装置的结构框图;
图7是根据本发明优选实施例提供的磁盘阵列的结构示意图;
图8是根据本发明优选实施例提供的IO映射器的结构示意图;
图9是根据本发明优选实施例提供的映射引擎的结构示意图;
图10是根据本发明优选实施例提供的两块磁盘组成的RATD0块映射的示意图;
图11是根据本发明优选实施例提供的卷拷贝映射示意图;
图12是根据本发明优选实施例提供的IO映射器组成元素的示意图;
图13是根据本发明优选实施例提供的CPU下发控制信息给IO映射器的流程图;
图14是根据本发明优选实施例提供的IO映射器处理IO的流程图;
图15是根据本发明优选实施例提供的磁盘阵列处理主机写IO的流程图;
图16是根据本发明优选实施例提供的磁盘阵列处理主机读IO的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本发明实施例提供了一种磁盘阵列控制器,图4是根据本发明实施例提供的一种磁盘阵列控制器的结构示意图,如图4所示,该磁盘阵列控制器包括:中央处理单元CPU42和数据处理器44;CPU42与数据处理器44连接;
CPU42,用于向数据处理器44下发控制信息;
数据处理器44,用于根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。
通过上述磁盘阵列控制器,由于CPU下发控制信息,IO数据交互通过数据处理器实现,使得数据交互和控制分离,即IO数据处理通过硬件来实现,在IO路径上无软件参与,极大地提高了磁盘阵列的IO处理能力,因此,可以解决IO处理是通过CPU软件处理所导致的IO处理性能受限的问题。
需要说明的是,上述数据处理器44可以是IO映射器,但并不限于此。上述IO映射器可以为由专用集成电路ASIC和/或现场可编程门阵列FPGA实现的硬件器件。
在本发明的一个实施例中,上述IO映射器包括:映射引擎,用于获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过直接内存访问DMA方式拷贝到与目的地址信息对应的后端接口模块的后端目标接口卡上;和/或,用于获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过DMA方式拷贝到与目的地址信息对应的前端接口模块的前端目标接口卡上。
通过上述映射引擎使得IO数据通过块映射关系直接进行转发,而不上送CPU处理,避免了磁盘阵列的软件处理延时,更好的提升了磁盘阵列的整体性能。
在本发明的一个实施例中,上述映射引擎可以包括:IO引擎,用于获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息;和/或,用于获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息;DMA引擎,与IO引擎连接,用于将IO数据通过DMA方式拷贝到与目的地址信息对应的后端目标接口卡上和/或前端目标接口卡上。
需要说明的是,上述块映射关系为IO数据的源地址信息和目的地址信息的映射关系。
在本发明的一个实施例中,上述映射引擎还可以包括:块映射表生成器,用于根据控制信息生成块映射关系;其中,控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
需要说明的是,上述存储业务配置信息可以包括:存储业务的类型。
需要说明的是,一个存储业务可以对应一个块映射关系。
在本发明的一个实施例中,上述IO映射器还可以包括:配置管理模块、LUN空间管理模块和磁盘空间管理模块;其中,配置管理模块,用于接收CPU发送的控制信息,解析控制信息,以及将解析后的控制信息发送给LUN空间管理模块、磁盘空间管理模块和IO映射器的映射引擎模块;LUN空间管理模块,用于维护磁盘阵列提供给外部主机使用LUN的空间信息;磁盘空间管理模块,用于维护磁盘阵列上所有磁盘的空间信息。
需要说明的是,配置管理模块解析后的控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。配置管理模块可以将LUN空间信息发送给LUN空间管理模块,配置管理模块可以将磁盘空间信息发送给磁盘空间管理模块,配置管理模块可以将存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息都发送给映射引擎,但并不限于此。
在本发明的一个实施例中,上述IO映射器还可以包括:DMA内存管理模块,用于存放前端接口模块和/或后端接口模块通过DMA来的IO数据。
实施例2
本发明实施例提供了一种输入输出IO数据处理方法,图5是根据本发明实施例提供的一种输入输出IO数据处理方法的流程示意图,如图5所示,包括:
步骤S502,磁盘阵列控制器中的IO映射器接收磁盘阵列控制器中的中央处理单元CPU发送的控制信息;
步骤S504,IO映射器根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。
通过上述步骤,由于CPU下发控制信息,IO数据交互通过数据处理器实现,使得数据交互和控制分离,即IO数据处理通过硬件来实现,在IO路径上无软件参与,极大地提高了磁盘阵列的IO处理能力,因此,可以解决IO处理是通过CPU软件处理所导致的IO处理性能受限的问题。
需要说明的是,上述IO映射器可以为由专用集成电路ASIC和/或现场可编程门阵列FPGA实现的硬件器件。
在本发明的一个实施例中,上述步骤S504可以表现为:IO映射器获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过直接内存访问DMA方式拷贝到与目的地址信息对应的后端接口模块的后端目标接口卡上;和/或,IO映射器获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过DMA方式拷贝到与目的地址信息对应的前端接口模块的前端目标接口卡上。
通过上述映射引擎使得IO数据通过块映射关系直接进行转发,而不上送CPU处理,避免了磁盘阵列的软件处理延时,更好的提升了磁盘阵列的整体性能。
需要说明的是,上述控制信息可以包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
在本发明的一个实施例中,在上述步骤S504之前,上述方法还可以包括:IO映射器根据控制信息生成块映射关系。
需要说明的是,上述块映射关系为IO数据的源地址信息和目的地址信息的映射关系。
需要说明的是,上述存储业务配置信息可以包括:存储业务的类型。
需要说明的是,一个存储业务可以对应一个块映射关系。
在本发明的一个实施例中,在上述步骤S502之后,上述方法还可以包括:IO映射器根据LUN空间信息在磁盘阵列控制器的LUN空间管理模块中建立LUN列表和每个LUN的空间地址信息;IO映射器根据磁盘空间信息在磁盘阵列控制器的磁盘空间管理模块中建立磁盘列表和每个磁盘的空间地址信息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中还提供了一种输入输出IO数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的输入输出IO数据处理装置的结构框图,如图6所示,该装置位于磁盘阵列控制器中的IO映射器中,该装置包括:
接收模块62,用于接收磁盘阵列控制器中的中央处理单元CPU发送的控制信息;
处理模块64,与接收模块62连接,用于根据控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互。
通过上述装置,由于CPU下发控制信息,IO数据交互通过数据处理器实现,使得数据交互和控制分离,即IO数据处理通过硬件来实现,在IO路径上无软件参与,极大地提高了磁盘阵列的IO处理能力,因此,可以解决IO处理是通过CPU软件处理所导致的IO处理性能受限的问题。
需要说明的是,上述IO映射器可以为由专用集成电路ASIC和/或现场可编程门阵列FPGA实现的硬件器件。
在本发明的一个实施例中,上述处理模块64,可以用于获取前端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过直接内存访问DMA方式拷贝到与目的地址信息对应的后端接口模块的后端目标接口卡上;和/或,用于获取后端接口模块发送的IO数据的源地址信息,以及根据源地址信息和与控制信息对应的块映射关系获取IO数据的目的地址信息,将IO数据通过DMA方式拷贝到与目的地址信息对应的前端接口模块的前端目标接口卡上。
需要说明的是,上述控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
在本发明的一个实施例中,上述装置还可以包括:生成模块,用于根据控制信息生成块映射关系。
在本发明的一个实施例中,上述装置还可以包括:创建模块,用于根据LUN空间信息在磁盘阵列控制器的LUN空间管理模块中建立LUN列表和每个LUN的空间地址信息;以及根据磁盘空间信息在磁盘阵列控制器的磁盘空间管理模块中建立磁盘列表和每个磁盘的空间地址信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行实施例2中的方法的步骤的程序代码。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行实施例2中的方法。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
为了更好地理解本发明,以下结合优选的实施例对本发明做进一步解释。
本发明优选实施例提供了一种IO映射方案,以解决现有技术中存在的磁盘阵列的软件往往成为性能瓶颈,使得磁盘阵列难以实现高IOPS,满足不了日益增长的性能需求的问题:由IO映射器直接将源数据空间与目的数据空间映射起来,IO由映射器按块大小进行源与目的间的映射转发,不上送CPU处理,IO流完全由硬件的ASIC或FPGA处理,避免了磁盘阵列的软件处理延时,最大可能的提升了磁盘阵列的整体性能。
该IO映射方案为:
图7是根据本发明优选实施例提供的磁盘阵列的结构示意图,如图7所示,在磁盘阵列控制器上增加由ASIC或FPGA实现的硬件器件:IO映射器。由IO映射器取代CPU,负责与前后端交互数据;CPU负责下发控制信息给IO映射器,控制IO流的逻辑。这样的框架实现了存储业务的数据和控制分离,IO路径上无软件参与,IO处理完全由硬件单元IO映射器根据CPU下发的控制逻辑进行,极大的提升了磁盘阵列的IO处理能力;且CPU下发IO处理逻辑,可以更加灵活的实现新存储业务,降低了新业务部署的难度。
图8是根据本发明优选实施例提供的IO映射器的结构示意图,如图8所示,IO映射器包括配置管理模块、LUN空间管理模块、磁盘空间管理模块、映射引擎和DMA内存管理模块:
配置管理模块负责接收CPU发来的控制信息,下发配置到LUN空间管理模块、映射引擎和磁盘空间管理模块;
LUN空间管理模块负责维护磁盘阵列提供给外部主机使用LUN的空间信息;
磁盘空间管理模块负责维护磁盘阵列上所有磁盘的空间信息;
映射引擎负责建立不同存储业务IO流的块映射关系,根据映射关系完成IO流程处理,并驱动IO的DMA内存内容收发;
DMA内存管理模块负责管理控制器上的IO相关DMA内存,存放管理接口模块通过DMA来的数据。
映射引擎是IO映射器的核心器件,其包括三个部分:块映射表生成器、IO引擎和DMA引擎;图9是根据本发明优选实施例提供的映射引擎的结构示意图,如图9所示:
DMA引擎负责与DMA内存管理模块交互,接收管理接口模块DMA来的IO信息,驱动内存DMA到目标接口模块;
IO引擎根据收到的IO流信息,查找块映射表,找到目的块地址信息,驱动DMA引擎转发IO的块到目的接口模块;
块映射表包含了IO源地址块和目的地址块的地址映射关系。IO引擎使用IO源地址信息去查找块映射表,找到目的地址块信息,将IO中的数据块发送到正确的目的地址上去。
块映射表是块映射表生成器根据CPU配置的存储业务、LUN地址空间和磁盘地址空间而生成,反映了LUN空间和磁盘空间任意方式的空间映射,可以是LUN空间与磁盘空间的映射,也可以是磁盘空间与磁盘空间的映射。
以LUN空间和磁盘空间的块映射存储业务如RAID为例进行说明,图10是根据本发明优选实施例提供的两块磁盘组成的RATD0块映射的示意图,如图10所示,由两个磁盘Disk1和Disk2按RAID 0方式组成LUN 1。Disk1有50个块Block0~49,Disk2有50个块Block0~49,LUN1的Block0~49对应Disk1的Block0~49,LUN1的Block 50~99对应Disk2的Block0~49。当主机写LUN1Block0时,IO映射器将写入内容发送到Disk1的Block0上;当主机写LUN1Block51时,IO映射器将写入内容发送到Disk2的Block1。
以磁盘空间和磁盘空间的块映射存储业务如卷拷贝为例进行说明,图11是根据本发明优选实施例提供的卷拷贝映射示意图,如图11所示,Disk1~4分别都有50个块Block0~49,Volume1由Disk1和Disk2组成,Volume2由Disk3和Disk4组成。进行卷拷贝时,将Volume1的内容拷贝到Volume2,IO映射器逐个读取Disk1的Block,根据映射表将读取内容发送到Disk3相应Block上;读取Disk2的Block,根据映射表将读取内容发送到Disk4相应Block上。
IO的本质是一个地址空间的块数据按照存储业务逻辑发送到另一个或多个地址空间中。对于同一类业务的IO,其处理逻辑也相对固定,完全可以通过硬件方式来固化IO流的处理,因此在磁盘阵列的控制器上增加硬件单元来处理IO流,从而释放了CPU处理IO的时间。磁阵阵列实现方式转为业务控制由CPU进行,IO处理由硬件单元进行。这样的IO路径无软件参与方式一方面使得IO处理的时间仅取决于硬件,极大的提高了磁盘阵列的IO处理能力;另一方面,建立了一种全新的IO处理模型,对于新增的存储业务,可以由CPU灵活组织,通过下发配置的方式由IO映射器实现新业务IO流的处理。
下面为上述磁盘阵列下的IO映射机制方法,包括以下步骤:
第一步,CPU根据磁盘阵列中的磁盘信息,下发磁盘空间信息给IO映射器;
第二步,IO映射器根据下发的磁盘空间信息,在磁盘空间管理模块中建立起磁盘列表和每个磁盘的空间地址信息;
第三步,CPU创建给主机使用的LUN,将LUN空间信息下发给IO映射器;
第四步,IO映射器根据下发的LUN空间信息,在LUN空间管理模块中建立起LUN列表和每个LUN的空间地址信息;
第五步,CPU配置存储业务,并将存储业务涉及的块映射信息下发给IO映射器;
第六步,IO映射器根据下发的存储业务配置、LUN空间信息和磁盘空间信息创建块映射表,此时IO映射器即具备IO硬件转发能力;
第七步,接口模块收到的数据直接通过DMA传送到IO映射器的DMA内存中;
第八步,IO映射器中的IO引擎根据IO的源地址信息查找块映射表,找到IO的目的块地址,直接将数据DMA到目标接口卡上,相当于做了个DMA转发;
第九步,收到IO映射器DMA来的数据,目标接口卡将数据封装成帧,发送给目的设备。
需要说明的是,对于第五步:由于磁盘空间的块大小是恒定的,提供给前端的LUN的块大小也恒定,两者必须一致。
需要说明的是,对于第五步:每个IO都是包含了一个或多个块数据的读写,因此IO的块地址有两个空间,一是IO产生的源空间,另一是IO目的地址空间,二者需要CPU的存储软件进行配置关联。
需要说明的是,对于第八步:从接口卡接收的数据不再DMA到CPU连接内存中,而是直接DMA到IO映射器中,由映射器处理,避免了CPU参与IO流程。
需要说明的是,对于第九步:收到的DMA数据根据步骤六下发的块映射关系,直接转换IO的地址空间到目的接口卡对应的IO空间。
由上述可见,采用上述方案,CPU只需要在初始配置存储业务时关联IO的源与目的地址空间,后续IO处理时无需CPU参与,IO路径完全由硬件实现,避免了IO路径中软件成为瓶颈的可能,最大化的提升了磁盘阵列的整体性能。
图12是根据本发明优选实施例提供的IO映射器组成元素的示意图,如图12所示,包括:
元素S1201,配置管理模块,负责接收从CPU下发的控制流,解析成各组成部分可识别的配置信息进行配置下发;
元素S1202,LUN空间管理模块,接收CPU创建的供主机使用的LUN的信息,维护磁盘阵列LUN列表和每个LUN的地址范围等信息;
元素S1203,磁盘空间管理模块,维护磁盘阵列上所有磁盘的列表和每个磁盘的空间大小等信息;
元素S1204,块映射表生成器,根据CPU下发的存储业务类型、LUN空间信息和磁盘信息,为每个存储业务生产一张块映射表,映射表是两个对象空间之间块地址的映射关系;
元素S1205,IO引擎,根据接收IO的源地址信息,去块映射表找到目的地址信息,并驱动DMA引擎搬移IO块数据到目的接口卡;
元素S1206,DMA引擎,驱动DMA内存管理发送IO数据到目的接口卡;
元素S1207,DMA内存管理模块,负责管理存放IO数据的DMA内存。
图13是根据本发明优选实施例提供的CPU下发控制信息给IO映射器的流程图,如图13所示,包括:
步骤S1301,控制器正常运行情况下,获取磁盘阵列上所有磁盘的信息,包括容量、序列号等;
步骤S1302,CPU下发磁盘信息给IO映射器;
步骤S1303,IO映射器中的磁盘空间管理根据下发的磁盘信息,创建磁盘列表,并维护每个磁盘的地址空间信息;
步骤S1304,CPU创建给主机使用的LUN;
步骤S1305,CPU下发LUN信息给IO映射器;
步骤S1306,IO映射器中的LUN空间管理根据下发的LUN信息,创建LUN列表,并维护每个LUN的地址空间信息;
步骤S1307,CPU根据应用需求,下发特定的存储业务类型和地址空间关联信息给IO映射器(如实现RAID业务:下发RAID类型、LUN标识、组成RAID的磁盘标识);
步骤S1308,IO映射器根据下发的存储业务类型和地址关系信息,结合自身已保存的LUN空间和磁盘空间信息,生成业务的块映射表,此时配置流程完毕,可以处理IO流。
图14是根据本发明优选实施例提供的IO映射器处理IO的流程图,如图14所示,包括:
步骤S1401,接口卡收到IO数据,将数据DMA到IO映射器的DMA内存中;
步骤S1402,IO映射器中的IO引擎根据收到IO的源地址信息去查找块映射表,如果查找到相应块映射表信息则转到步骤S1403,如没有查找到相应块映射表信息则转到步骤S1406;
步骤S1403,IO引擎根据查找到的块映射表,组织IO的内存块目标地址;
步骤S1404,IO引擎将重新组织后的IO目的地址发送给DMA引擎;
步骤S1405,DMA引擎将DMA内存中的IO数据根据下发的IO目的地址发送给目标接口卡;
步骤S1406,没有查找到对应的块映射表信息,IO引擎通知DMA引擎处理失败,需要返回IO失败;
步骤S1407,DMA引擎通知DMA内存管理释放IO的DMA内存,并返回接口卡IO处理失败。
图15是根据本发明优选实施例提供的磁盘阵列处理主机写IO的流程图,如图15所示,包括:
步骤S1501,CPU下发磁盘空间信息、LUN空间信息和存储业务类型等配置给IO映射器;
步骤S1502,磁盘阵列前端接口模块接收主机发来的数据帧,将帧里的数据组织成块;
步骤S1503,前端接口模块将主机发来的数据块DMA到IO映射器中;
步骤S1504,IO映射器根据块映射表将收到数据的LUN地址转换成目的磁盘的地址,通过DMA将数据块发往后端接口模块;
步骤S1505,后端接口模块收到数据后,将数据拆分成帧,发往目的磁盘。
图16是根据本发明优选实施例提供的磁盘阵列处理主机读IO的流程图,如图16所示,包括:
步骤S1601,CPU下发磁盘空间信息、LUN空间信息和存储业务类型等配置给IO映射器;
步骤S1602,磁盘阵列后端接口模块接收磁盘发来的数据帧,将帧里的数据组织成块;
步骤S1603,后端接口模块将磁盘发来的数据块DMA到IO映射器中;
步骤S1604,IO映射器根据块映射表将收到数据的磁盘空间地址转换成LUN空间地址,通过DMA将数据块发往前端接口模块;
步骤S1605,前端接口模块收到数据后,将数据拆分成帧,发往目的主机;
综上所述,本发明的IO映射机制分离了存储业务的控制处理和IO处理:CPU控制IO业务的逻辑,IO映射器负责IO流的处理。这样使得IO的处理直接由硬件完成,避免了软件处理IO的时延,提高了磁盘阵列的性能;CPU控制逻辑,也极大提高了存储新业务增加的便利性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种磁盘阵列控制器,其特征在于,包括:中央处理单元CPU和数据处理器;其中,所述CPU与所述数据处理器连接;
所述CPU,用于向所述数据处理器下发控制信息;
所述数据处理器,用于根据所述控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互;
其中,所述数据处理器为IO映射器;
其中,所述IO映射器还包括:配置管理模块、LUN空间管理模块和磁盘空间管理模块;
其中,所述配置管理模块,用于接收所述CPU发送的所述控制信息,解析所述控制信息,以及将解析后的所述控制信息发送给所述LUN空间管理模块、所述磁盘空间管理模块和所述IO映射器的映射引擎模块;
所述LUN空间管理模块,用于维护磁盘阵列提供给外部主机使用LUN的空间信息;
所述磁盘空间管理模块,用于维护所述磁盘阵列上所有磁盘的空间信息;
所述IO映射器还包括:生成模块,用于根据所述控制信息生成块映射关系。
2.根据权利要求1所述的磁盘阵列控制器,其特征在于,所述IO映射器包括:
映射引擎,用于获取所述前端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和与所述控制信息对应的块映射关系获取所述IO数据的目的地址信息,将所述IO数据通过直接内存访问DMA的方式拷贝到与所述目的地址信息对应的所述后端接口模块的后端目标接口卡上;和/或,用于获取所述后端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和与所述控制信息对应的块映射关系获取所述IO数据的目的地址信息,将所述IO数据通过DMA的方式拷贝到与所述目的地址信息对应的所述前端接口模块的前端目标接口卡上。
3.根据权利要求2所述的磁盘阵列控制器,其特征在于,所述映射引擎包括:
IO引擎,用于获取所述前端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和所述块映射关系获取所述IO数据的目的地址信息;和/或,用于获取所述后端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和所述块映射关系获取所述IO数据的目的地址信息;
DMA引擎,与所述IO引擎连接,用于将所述IO数据通过DMA方式拷贝到与所述目的地址信息对应的所述后端目标接口卡上和/或所述前端目标接口卡上。
4.根据权利要求2所述的磁盘阵列控制器,其特征在于,所述映射引擎还包括:
块映射表生成器,用于根据所述控制信息生成所述块映射关系;其中,所述控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
5.根据权利要求1所述的磁盘阵列控制器,其特征在于,所述IO映射器还包括:
DMA内存管理模块,用于存放所述前端接口模块和/或所述后端接口模块通过DMA来的IO数据。
6.根据权利要求1至5中任一项所述的磁盘阵列控制器,其特征在于,所述IO映射器为由专用集成电路ASIC和/或现场可编程门阵列FPGA实现的硬件器件。
7.一种输入输出IO数据处理方法,其特征在于,包括:
磁盘阵列控制器中的IO映射器接收所述磁盘阵列控制器中的中央处理单元CPU发送的控制信息;
所述IO映射器根据所述控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互;
其中,所述IO映射器还包括:配置管理模块、LUN空间管理模块和磁盘空间管理模块;
其中,所述配置管理模块,用于接收所述CPU发送的所述控制信息,解析所述控制信息,以及将解析后的所述控制信息发送给所述LUN空间管理模块、所述磁盘空间管理模块和所述IO映射器的映射引擎模块;
所述LUN空间管理模块,用于维护磁盘阵列提供给外部主机使用LUN的空间信息;
所述磁盘空间管理模块,用于维护所述磁盘阵列上所有磁盘的空间信息;
所述IO映射器还包括:生成模块,用于根据所述控制信息生成块映射关系。
8.根据权利要求7所述的方法,其特征在于,所述IO映射器根据所述控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互包括:
所述IO映射器获取所述前端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和与所述控制信息对应的块映射关系获取所述IO数据的目的地址信息,将所述IO数据通过直接内存访问DMA方式拷贝到与所述目的地址信息对应的所述后端接口模块的后端目标接口卡上;和/或,
所述IO映射器获取所述后端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和与所述控制信息对应的块映射关系获取所述IO数据的目的地址信息,将所述IO数据通过所述DMA方式拷贝到与所述目的地址信息对应的所述前端接口模块的前端目标接口卡上。
9.根据权利要求8所述的方法,其特征在于,所述控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
10.根据权利要求9所述的方法,其特征在于,在所述IO映射器根据所述控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互之前,所述方法还包括:
所述IO映射器根据所述控制信息生成所述块映射关系。
11.根据权利要求9所述的方法,其特征在于,在磁盘阵列控制器中的IO映射器接收所述磁盘阵列控制器中的中央处理单元CPU发送的控制信息之后,所述方法还包括:
所述IO映射器根据所述LUN空间信息在所述磁盘阵列控制器的LUN空间管理模块中建立LUN列表和每个LUN的空间地址信息;
所述IO映射器根据所述磁盘空间信息在所述磁盘阵列控制器的磁盘空间管理模块中建立磁盘列表和每个磁盘的空间地址信息。
12.一种IO映射器,位于磁盘阵列控制器中,包括:
接收模块,用于接收所述磁盘阵列控制器中的中央处理单元CPU发送的控制信息;
处理模块,用于根据所述控制信息与前端接口模块和后端接口模块进行输入输出IO数据交互;
其中,所述IO映射器还包括:配置管理模块、LUN空间管理模块和磁盘空间管理模块;
其中,所述配置管理模块,用于接收所述CPU发送的所述控制信息,解析所述控制信息,以及将解析后的所述控制信息发送给所述LUN空间管理模块、所述磁盘空间管理模块和所述IO映射器的映射引擎模块;
所述LUN空间管理模块,用于维护磁盘阵列提供给外部主机使用LUN的空间信息;
所述磁盘空间管理模块,用于维护所述磁盘阵列上所有磁盘的空间信息;
所述IO映射器还包括:生成模块,用于根据所述控制信息生成块映射关系。
13.根据权利要求12所述的IO映射器,其特征在于,所述处理模块,用于获取所述前端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和与所述控制信息对应的块映射关系获取所述IO数据的目的地址信息,将所述IO数据通过直接内存访问DMA方式拷贝到与所述目的地址信息对应的所述后端接口模块的后端目标接口卡上;和/或,用于获取所述后端接口模块发送的IO数据的源地址信息,以及根据所述源地址信息和与所述控制信息对应的块映射关系获取所述IO数据的目的地址信息,将所述IO数据通过DMA方式拷贝到与所述目的地址信息对应的所述前端接口模块的前端目标接口卡上。
14.根据权利要求13所述的IO映射器,其特征在于,所述控制信息包括:存储业务配置信息、逻辑单元号LUN空间信息和磁盘空间信息。
15.根据权利要求14所述的IO映射器,其特征在于,所述IO映射器还包括:
创建模块,用于根据所述LUN空间信息在所述磁盘阵列控制器的LUN空间管理模块中建立LUN列表和每个LUN的空间地址信息;以及根据所述磁盘空间信息在所述磁盘阵列控制器的磁盘空间管理模块中建立磁盘列表和每个磁盘的空间地址信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093705.8A CN108121600B (zh) | 2016-11-30 | 2016-11-30 | 磁盘阵列控制器、输入输出io数据处理方法及装置 |
PCT/CN2017/109257 WO2018099241A1 (zh) | 2016-11-30 | 2017-11-03 | 磁盘阵列控制器、数据处理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093705.8A CN108121600B (zh) | 2016-11-30 | 2016-11-30 | 磁盘阵列控制器、输入输出io数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121600A CN108121600A (zh) | 2018-06-05 |
CN108121600B true CN108121600B (zh) | 2022-11-29 |
Family
ID=62227226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611093705.8A Active CN108121600B (zh) | 2016-11-30 | 2016-11-30 | 磁盘阵列控制器、输入输出io数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108121600B (zh) |
WO (1) | WO2018099241A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445686B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种存储磁盘以及存取数据的方法 |
CN112667165B (zh) * | 2020-12-29 | 2023-11-17 | 湖南博匠信息科技有限公司 | 数据存储系统及其数据存储方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334748A (zh) * | 2007-06-27 | 2008-12-31 | 株式会社日立制作所 | 异步远程复制系统及其控制方法 |
CN101504594A (zh) * | 2009-03-13 | 2009-08-12 | 杭州华三通信技术有限公司 | 一种数据存储方法和装置 |
CN101566924A (zh) * | 2008-04-23 | 2009-10-28 | 中兴通讯股份有限公司 | 一种磁盘阵列的数据读写方法 |
CN101976181A (zh) * | 2010-10-15 | 2011-02-16 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN103257941A (zh) * | 2013-04-17 | 2013-08-21 | 浪潮(北京)电子信息产业有限公司 | 多协议存储控制器和系统 |
CN103403667A (zh) * | 2012-12-19 | 2013-11-20 | 华为技术有限公司 | 数据处理方法和设备 |
CN103577125A (zh) * | 2013-11-22 | 2014-02-12 | 浪潮(北京)电子信息产业有限公司 | 一种应用于高端磁盘阵列的跨控制器组写镜像方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4401305B2 (ja) * | 2005-02-09 | 2010-01-20 | 富士通株式会社 | デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置 |
CN101739220A (zh) * | 2009-02-25 | 2010-06-16 | 浪潮电子信息产业股份有限公司 | 一种多控制器存储阵列的设计方法 |
US20120221813A1 (en) * | 2011-02-28 | 2012-08-30 | Hitachi, Ltd. | Storage apparatus and method of controlling the same |
CN102609379B (zh) * | 2012-02-07 | 2015-03-25 | 无锡众志和达数据计算股份有限公司 | 一种存储系统的控制器硬件架构 |
-
2016
- 2016-11-30 CN CN201611093705.8A patent/CN108121600B/zh active Active
-
2017
- 2017-11-03 WO PCT/CN2017/109257 patent/WO2018099241A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334748A (zh) * | 2007-06-27 | 2008-12-31 | 株式会社日立制作所 | 异步远程复制系统及其控制方法 |
CN101566924A (zh) * | 2008-04-23 | 2009-10-28 | 中兴通讯股份有限公司 | 一种磁盘阵列的数据读写方法 |
CN101504594A (zh) * | 2009-03-13 | 2009-08-12 | 杭州华三通信技术有限公司 | 一种数据存储方法和装置 |
CN101976181A (zh) * | 2010-10-15 | 2011-02-16 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN103403667A (zh) * | 2012-12-19 | 2013-11-20 | 华为技术有限公司 | 数据处理方法和设备 |
CN103257941A (zh) * | 2013-04-17 | 2013-08-21 | 浪潮(北京)电子信息产业有限公司 | 多协议存储控制器和系统 |
CN103577125A (zh) * | 2013-11-22 | 2014-02-12 | 浪潮(北京)电子信息产业有限公司 | 一种应用于高端磁盘阵列的跨控制器组写镜像方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108121600A (zh) | 2018-06-05 |
WO2018099241A1 (zh) | 2018-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10209910B2 (en) | Copy-redirect on write | |
US9848043B2 (en) | Granular sync/semi-sync architecture | |
CN101741911B (zh) | 基于多副本协同的写操作方法、系统及节点 | |
US7827382B2 (en) | Network system and method for setting volume group in the network system | |
US20140136892A1 (en) | Virtual tape library device and data recovery method | |
US11442814B2 (en) | Variable number and size of put operations for storage backup | |
CN106933747B (zh) | 基于多流的数据存储系统和数据存储方法 | |
JP2004272901A (ja) | サーバフリー・データ転送操作を求める要求を作成し処理するための仮想ターゲットの使用 | |
CN108427728A (zh) | 元数据的管理方法、设备及计算机可读介质 | |
CN108121600B (zh) | 磁盘阵列控制器、输入输出io数据处理方法及装置 | |
CN105160018A (zh) | 一种复制/粘贴图片的方法、装置和系统 | |
CN109697020A (zh) | 一种数据存储方法、服务器及系统 | |
JP2016066285A (ja) | 記憶システム、記憶システム制御方法及び仮想テープ装置制御プログラム | |
US9395926B2 (en) | Storage system and management computer | |
CN104994135A (zh) | 存储系统中融合san及nas存储架构的方法及装置 | |
WO2021236959A9 (en) | User friendly system to generate and process machine learning request | |
US11256420B2 (en) | Method and apparatus for scaling out storage devices and scaled-out storage devices | |
US20160077743A1 (en) | Shared-bandwidth multiple target remote copy | |
CN109416617A (zh) | 异构存储系统之间的复制 | |
US20150286428A1 (en) | Collision avoidance using dynamic target volume allocation from a shared resource pool | |
US9672118B2 (en) | Collision avoidance using dynamic target volume allocation | |
CN105955916B (zh) | 一种写立即数的方法、设备及系统 | |
CN104834724A (zh) | 一种数据库同步方法和装置 | |
US20150286541A1 (en) | Collision avoidance using dynamic volume allocation with reuse | |
CN109240610A (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 |