CN108228085A - 用于管理存储***的方法和设备 - Google Patents
用于管理存储***的方法和设备 Download PDFInfo
- Publication number
- CN108228085A CN108228085A CN201611194058.XA CN201611194058A CN108228085A CN 108228085 A CN108228085 A CN 108228085A CN 201611194058 A CN201611194058 A CN 201611194058A CN 108228085 A CN108228085 A CN 108228085A
- Authority
- CN
- China
- Prior art keywords
- storage
- block
- address
- storage system
- equipment
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 335
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 43
- 238000009826 distribution Methods 0.000 claims abstract description 27
- 238000011084 recovery Methods 0.000 claims description 19
- 230000009467 reduction Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 12
- 238000000151 deposition Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
- G06F2212/262—Storage comprising a plurality of storage devices configured as RAID
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于管理存储***的方法和设备。具体地,在本发明的一个实施方式中,提出了一种用于管理存储***的方法,包括:将包括在所述存储***中的存储阵列中的条带划分为一组区块;响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。在本发明的一个实施方式中,提出了一种用于管理存储***的设备。
Description
技术领域
本发明的各实施方式涉及存储管理,更具体地,涉及用于管理存储***(例如,独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)的方法和设备。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。目前,已经开发出了基于冗余磁盘阵列的多种数据存储***来提高数据的可靠性的技术方案。当存储***中的一个或者多个磁盘出现故障时,需要向存储***中引入新的备用盘,并且可以从其他正常操作的磁盘上的数据来恢复出故障磁盘中的数据。
存储***可以按照不同的用户的请求来分配相应大小的存储空间。例如,存储***可以以逻辑单元号(Logic Unit Number,LUN)的形式来指示所分配的存储空间。然而,由于所分配的存储空间是按照请求的大小来定义的,一旦已经向用户分配了相应的存储空间则该空间的大小是固定的,并且在使用期间用户并不能按照自身需求来调整存储空间的大小。
发明内容
因而,期望能够开发并实现用于管理存储***、并且提高存储***的性能的技术方案。期望该技术方案能够与现有的存储***相兼容,并且在无需针对现有存储***增加额外硬件设备的情况下以更为有效的方式管理存储***。
在本发明的一个实施方式中,提供了一种用于管理存储***的方法,包括:将包括在所述存储***中的存储阵列中的条带(stripe)划分为一组区块(block);响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
在本发明的一个实施方式中,提供了一种用于管理存储***的设备,包括:划分模块,配置用于将包括在所述存储***中的存储阵列中的条带划分为一组区块;确定模块,配置用于响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;建立模块,配置用于基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
在本发明的一个实施方式中,提供了一种用于管理存储***的设备,包括:一个或者多个处理器;耦合至所述一个或者多个处理器中的至少一个处理器的存储器;在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述设备执行一种用于管理存储***的方法,所述方法包括:将包括在所述存储***中的存储阵列中的条带划分为一组区块;响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
采用本发明的技术方案,可以以更为便利的方式管理存储***,进而提高存储***的响应效率和稳定性。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1示意性示出了适于实现本发明实施方式的示例性计算***的框图;
图2A示意性示出了根据一个技术方案的独立磁盘冗余阵列的结构的示意图,图2B示意性示出了根据一个技术方案的独立磁盘冗余阵列的重建过程的示意图;
图3A示意性示出了根据本发明一个实施方式的用于管理存储***的技术方案的架构图,以及图3B示意性示出了根据本发明一个实施方式的所建立的存储库的框图;
图4示意性示出了根据本发明一个实施方式的用于管理存储***的方法的流程图;
图5A示意性示出了根据本发明一个实施方式的用于管理存储***的技术方案的架构图,以及图5B示意性示出了根据本发明一个实施方式的所建立的存储库的框图;
图6A示意性示出了根据本发明一个实施方式的用于响应于缩减(shrink)请求而执行的方法的流程图,以及图6B示意性示出了根据本发明一个实施方式的缩减后的存储库的框图;
图7A示意性示出了根据本发明一个实施方式的用于响应于扩展(expansion)请求而执行的方法的流程图,以及图7B示意性示出了根据本发明一个实施方式的扩展后的存储库的框图;
图8A和8B分别示意性示出了根据本发明一个实施方式的用于从故障的(degraded)存储阵列中恢复数据的框图;以及
图9示意性示出了根据本发明一个实施方式的用于管理存储***的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算***100的框图。如图1所示,计算机***100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、***总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和触摸屏显示器114。在这些设备中,与***总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及触摸屏显示器114与显示控制器109耦合。应当理解,图1所示的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本发明可以实现为***、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“***”。此外,在一些实施方式中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供者来通过因特网连接)。
下面将参照本发明实施方式的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
本领域技术人员应当理解,上文仅仅示意性示出了其中可以实现本发明的各个实施方式的应用环境的典型示例。在本发明的上下文中,还可以在过去已知或者将在未来开发的各种应用环境中执行本发明的各个实施方式。
在存储***例如独立磁盘冗余阵列中,可以将多个存储设备(例如,磁盘)组合起来,成为一个磁盘阵列。通过提供冗余的存储设备,可以使得整个磁盘组的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。
关于RAID级别的更多细节,本领域技术人员例如可以参见https:// en.wikipedia.org/wiki/Standard_RAID_levels、以及https://en.wikipedia.org/wiki/ Nested_RAID_levels等。操作***可以把由多个存储设备构成的磁盘阵列视为单一的逻辑存储单元或磁盘。通过将磁盘阵列划分为多个条带(strip),可以将数据分布到多个存储设备,从而实现低延迟、高带宽,并且其中的部分磁盘毁坏后可以在一定程度上恢复数据。
图2A示意性示出了根据一个技术方案的独立磁盘冗余阵列的结构的示意图200A。在图2A中,以包括五个独立存储设备(210A、212A、214A、216A以及218A)的RAID-5阵列为示例,来说明RAID存储***的工作原理。应当注意,尽管图2A中示意性示出了五个存储设备,在其他的实施方式中,根据RAID的版本不同,还可以包括更多或者更少的存储设备。尽管图2A中示出了条带220A、222A和224A,在其他的示例中,RAID***还可以包括不同数量的存储设备。
在RAID中,条带跨越多个物理存储设备(例如,条带220A跨越了存储设备210A、212A、214A、216A以及218A)。可以简单地将条带理解为多个存储设备中的满足一定地址范围的存储区域。在条带220中存储的数据包括多个部分:存储在存储设备210A上的数据块D11、存储在存储设备212A上的数据块D12、存储在存储设备214A上的数据块D13、存储在存储设备216A上的数据块D14、以及存储在存储设备218A上的数据块P1。在此示例中,数据块D11、D12、D13、以及D14是被存储的数据,而数据块P1是被存储数据的校验值。
在其他条带中存储数据的方式也类似于条带220A,不同之处在于,有关其他数据块的校验值可以存储在不同于存储设备218A的存储设备上。以此方式,当多个存储设备210A、212A、214A、216A以及218A中的一个存储设备出现故障时,可以从其他的正常的存储设备中恢复出故障设备中的数据。
图2B示意性示出了根据一个技术方案的独立磁盘冗余阵列的重建过程的示意图200B。如图2B所示,当一个存储设备(例如,以阴影示出的存储设备218A)出现故障时,可以从其余的正常操作的多个存储设备210A、212A、214A、216A中恢复数据。此时,可以向RAID中加入新的后备存储设备218B来替代存储设备218A,以此方式,可以将恢复的数据写入存储设备218B并实现***的重建。尽管在图2A和图2B所示的***中示出了使用一个存储设备来存储P校验的情况(R5RAID),在R6RAID***中,还可以使用两个存储设备来分别存储P校验和Q校验。
应当注意,在现有的RAID存储***中,可以基于跨越多个存储设备的条带来向用户分配存储空间。假设一个条带包括1G的存储空间,并且用户请求分配1G的存储空间,则此时可以将存储***中的条带(例如如图2所示的条带220A)分配给用户,并且以逻辑单元号来标识该条带。应当注意,在此并不限定条带的大小,而是可以根据具体应用环境的要求来将条带的大小设置为不同的数值。
当用户发现1G的使用空间不足并且期望向存储***请求额外的500M存储空间时,现有的存储***并不能满足用户的要求。而是,需要在存储***中重新分配1.5G的空间,并将现有的1G空间内的数据迁移至新的存储空间。鉴于现有存储***中的诸多不便,期望开发出一种可以以更为灵活的方式来管理存储***的技术方案。
基于现有技术中的上述不足,本发明提出了一种用于管理存储***的方法,包括:将包括在所述存储***中的存储阵列中的条带划分为一组区块;响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
在下文中,将参见图3A和3B介绍本发明的各个实施方式的概要。图3A示意性示出了根据本发明一个实施方式的用于管理存储***的技术方案的架构图300A。如图3A所示,条带310是跨越存储***中的多个存储设备210A、212A、214A、216A以及218A的条带。
不同于常规的技术方案,在本发明的一个实施方式中,可以将条带310划分为多个区块312、314、…、316、…、318。应当注意,尽管在图3A中将区块312和314示出为前后连续的区块,在实际的物理存储中,区块312和314中的每一个都跨越存储设备210A、212A、214A、216A以及218A而存储。在此实施方式中,可以将区块视为具有更小粒度的条带。假设条带310具有1G的存储空间,则在此区块可以是具有更小存储空间的存储单位。例如,可以将1G的存储空间划分为10个区块,此时每个区块的大小为100M。在此实施方式中,可以记录每个区块在存储***中的地址,例如,可以在例如表1所示的数据结构中存储如图3A中所示的各个区块的地址。
表1地址映射
区块标识符 | 地址 |
区块312 | ADDRESS1 |
区块314 | ADDRESS2 |
… | … |
区块316 | ADDRESS3 |
… | … |
区块318 | ADDRESS4 |
图3B示意性示出了根据本发明一个实施方式的所建立的存储库300B的框图。在此实施方式中,可以向用户返回存储库300B,并且该存储库300B可以包括区块312、314、…、316。其中存储库300B的大小满足接收到的分配请求中的空间大小。具体地,存储库300B可以利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。例如,可以在例如表2所示的数据结构中存储如图3B中所示存储库300B中的各个区块的地址。
表2用于存储库的地址映射
区块标识符 | 地址 |
区块312 | ADDRESS1 |
区块314 | ADDRESS2 |
… | … |
区块316 | ADDRESS3 |
图4示意性示出了根据本发明一个实施方式的用于管理存储***的方法的流程图400。在步骤410中,将包括在所述存储***中的存储阵列中的条带划分为一组区块。在此步骤中,可以按照预定的规则来将条带划分为相应大小的区块。另外,在本发明的实施方式中并不限定存储***中的存储阵列中所包括的条带的数量,而是在一个存储阵列中可以包括一个或者多个条带。
在步骤420中,响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小。在此步骤中,可以从分配请求中解析所请求的空间大小。或者,还可以以其他方式获取该空间大小。
在步骤430中,基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。在此步骤中,可以利用如上文表2所示的数据结构来指示存储库中的存储空间。继而,用户可以基于如表2所示的地址来访问存储库。
在本发明的一个实施方式中,所述存储***进一步包括第二存储阵列,以及所述方法进一步包括:将所述第二存储阵列中的条带划分为第二组区块;以及将所述第二组区块添加至所述组。应当注意,在本发明的实施方式中,并不限定存储***中包括的存储阵列的数量。在存储***中可以包括一个或者多个存储阵列。图5A和5B示出了存储***中包括多个存储阵列的情况。
具体地,图5A示意性示出了根据本发明一个实施方式的用于管理存储***的技术方案的架构图。在图5A中,存储***500A中包括存储阵列530和540。其中存储阵列530包括存储设备210A、212A、214A、216A和218A,条带510跨越多个存储设备,并且该条带510被划分为区块512、514、516、…、518。另外,存储阵列540(以灰度图示出)包括存储设备510A、512A、514A、516A和518A,条带520跨越多个存储设备,并且该条带520被划分为区块522、524、526、…、528。
在此实施方式中,响应于来自用户的分配请求,可以基于分别来自不同存储阵列530和540的区块来构造存储库。图5B示意性示出了根据本发明一个实施方式的所建立的存储库500B的框图。在此实施方式中,存储库可以包括来自存储阵列530的区块512和516、以及来自存储阵列540的区块522和528。具体地,可以按照如表3所示的数据结构来定义存储库500B。
表3用于存储库的地址映射
区块标识符 | 地址 |
区块512 | ADDRESS5 |
区块522 | ADDRESS6 |
… | … |
区块528 | ADDRESS7 |
区块516 | ADDRESS8 |
还应当注意,尽管图5A中示出的条带510和520是不同存储阵列中的条带,在另一实施方式中,该条带510和520可以是相同存储阵列中的条带。此时,存储阵列可以包括第二存储阵列,以及所述方法进一步包括:将所述第二存储阵列中的条带划分为第二组区块;以及将所述第二组区块添加至所述组。在此实施方式中,来自多个条带的多个区块可以共同构成一个池,并且在该池中包括可用于响应于来自用户的分配请求的存储空间。
在本发明的一个实施方式中,分配请求中还可以包括优先级,并且较高优先级表示用户期望获得更高的输入/输出(IO)性能(例如,可以将存储库中的区块尽量分布在多个存储阵列中),并且较低优先级表示用户仅需要一般的IO性能(例如,可以将存储库中的区块尽量分布在单一存储阵列中)。
在本发明的一个实施方式中,基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库包括:从所述组中选择所述一个或者多个区块,以使得所述一个或者多个区块在所述存储阵列和所述第二存储阵列之间均匀分布。在此实施方式中,通过在多个存储阵列中均匀地选择区块,可以确保多个存储阵列中的存储设备被均匀地访问,以避免出现存储***中的一个存储阵列的IO访问已经大到较高符合,而另一存储阵列处于空闲的状态。
在如图5A和图5B所示的示例中,假设用户请求的空间大小为10个区块的大小,则可以分别从存储阵列530中选择5个区块,并且从存储阵列540中选择5个区块,以便两个存储阵列530和540被平衡地访问。
在本发明的一个实施方式中,可以将地址映射存储至存储***中的动态随机存取存储器(Dynamic Random Access Memory,DRAM)高速缓存处。一方面,由于DRAM是持久存储设备,当存储***面临掉电或者经历其他故障时,地址映射可以不被破坏。另一方面,DRAM高速缓存知晓存储***中的IO流控制信息,因而在向用户分配区块时可以更有效地确保存储***中的各个存储阵列的工作负载较为均衡。此外,DRAM还可以知晓各个区块的状态(例如,是否被分配给用户,以及是否被用户使用),这些状态信息还可以在存储***出现故障的重建过程中使用。
图6A示意性示出了根据本发明一个实施方式的用于响应于缩减请求而执行的方法的流程图600A。如图6A所示,响应于接收到针对所述存储库的大小进行缩减的缩减请求,在步骤610A中,确定与所述缩减请求相关联的缩减大小。在步骤620A中,从所述一个或者多个区块中选择与所述缩减大小相匹配的至少一个区块。在步骤630A中,从所述地址映射中去除所述至少一个区块在所述存储***中的地址。
如图6B示意性示出了根据本发明一个实施方式的缩减后的存储库的框图600B。继续图5B所示的示例,假设接收到针对如图5B所示的存储库的缩减请求(例如,请求缩减1个区块),则选择存储库末端的区块516,并将该区块从存储库中去除。继续上文表3的示例,缩减后的存储库可以如下文表4所示。
表4用于存储库的地址映射
区块标识符 | 地址 |
区块512 | ADDRESS5 |
区块522 | ADDRESS6 |
… | … |
区块528 | ADDRESS7 |
在本发明的一个实施方式中,响应于所述至少一个区块中的目标区块被加载至所述存储***中的缓存设备中的至少一个目标页面,释放所述至少一个目标页面。应当注意,在存储***中可以存在包括DRAM高速缓存、缓存设备以及存储设备的多级存储结构。当一个区块中的数据被频繁使用时,则该区块可以被加载至缓存设备中以提高数据访问效率。在此实施方式中,如果发现目标区块已经被加载至缓存设备中的目标页面,则可以释放该目标页面。具体地,可以将该目标页面的状态标记为“可用”。
在本发明的一个实施方式中,响应于接收到针对所述存储库的大小进行扩展的扩展请求,确定与所述扩展请求相关联的扩展大小;以及基于从所述组中选择与所述扩展大小相匹配的至少一个区块在所述存储***中的地址更新所述地址映射。
图7A示意性示出了根据本发明一个实施方式的用于响应于扩展请求而执行的方法的流程图700A。在步骤710A中,响应于接收到针对所述存储库的大小进行扩展的扩展请求,确定与所述扩展请求相关联的扩展大小。例如,可以直接从扩展请求中提取用户期望增加的空间的大小。在步骤720A中,基于从所述组中选择与所述扩展大小相匹配的至少一个区块在所述存储***中的地址更新所述地址映射。
如图7B示意性示出了根据本发明一个实施方式的扩展后的存储库的框图700B。继续图5B所示的示例,假设接收到针对如图5B所示的存储库的扩展请求(例如,请求扩展1个区块),则可以在存储库末端的区块516后添加另一区块514。继续上文表3的示例,将表3的存储库扩展后获得的存储库可以如下文表5所示。
表5用于存储库的地址映射
区块标识符 | 地址 |
区块512 | ADDRESS5 |
区块522 | ADDRESS6 |
… | … |
区块528 | ADDRESS7 |
区块516 | ADDRESS8 |
区块514 | ADDRESS9 |
在存储***的运行过程中,存储阵列中的存储设备可能会出现故障,之后将会启动重建过程。数据重建过程中,需要从正常的存储设备中恢复故障的存储设备中的数据。当存储设备包括较大存储空间时,数据恢复时间可能会达到数小时甚至数天的时间。随着存储***中存储能力的不断提高,数据恢复时间可能会达到不能忍受的程度。本发明的实施方式进一步提出了一种可以提高存储***的重建的效率的技术方案。
在本发明的一个实施方式中,响应于所述存储阵列中的存储设备故障,向所述存储阵列加入后备存储设备;以及基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据。在此实施方式中,还可以进一步利用地址映射来确定存储阵列中的哪些区块已经被分配给用户。进而,可以仅仅恢复已经被分配的区块中的数据,而并不需要恢复尚未被分配给用户的区块中的数据。
在本发明的一个实施方式中,基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:基于所述地址映射确定所述一个或者多个区块中的目标区块在所述存储***中的地址范围;以及从所述存储阵列中的正常存储设备向所述后备存储设备恢复所述地址范围内的数据。
图8A示意性示出了根据本发明一个实施方式的用于从故障的存储阵列中恢复数据的框图800A。图8A示出了恢复上文图3B中的存储库中的数据的框图。按照上文表2的定义,已经分配给用户的存储库包括区块312、314、…、316,则此时仅需要恢复与区块312、314、…、316相关联的数据(如图8A中的阴影部分所示)。而对于存储***中的尚未分配的区块(如图8A中以空白示出的区块318),则不必执行恢复过程。
在此实施方式中,由于仅仅针对已经分配的区块执行恢复过程,可以大大降低有待恢复的数据量。尤其是在存储***中仅有少部分存储空间被分配给用户的情况下,采用本发明的实施方式可以大大提高重建过程的效率。
在本发明的一个实施方式中,响应于接收到针对所述存储库的写入请求,基于所述地址映射向与所述写入请求相关联的地址范围写入数据;以及将所述地址范围标记为“已使用”。在向用户提供存储库之后,该存储库中的存储空间并不会立刻被填充数据,而是随着针对存储库的写入请求,数据逐渐被填充值存储库中。在此实施方式中,初始时可以将存储库的全部存储空间标记为“未使用”,并且随着数据的写入逐步将被写入数据的地址范围标记为“已使用”。
当存储阵列中的存储设备出现故障时,可以基于使用状态“已使用/未使用”来恢复相关联的数据。具体地,可以仅恢复存储库中的状态为“已使用”的地址范围处的数据。在本发明的一个实施方式中,基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:从所述存储阵列中的正常存储设备向所述后备存储设备恢复被标记为“已使用”的地址范围内的数据。
图8B示意性示出了根据本发明一个实施方式的用于从故障的存储阵列中恢复数据的框图800B。图8B示出了恢复上文图3B中的存储库中的数据的框图。按照上文表2的定义,已经分配给用户的存储库包括区块312、314、…、316,然而,其中仅有区块314被使用(如图8B中的阴影部分所示)。则此时可以仅恢复区块314中的数据,而对于存储***中的尚未被使用的区块(如图8B中以空白示出的区块312、316和318),则不必执行恢复过程。
在上文中,已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中设备包括若干装置或模块,装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图9示意性示出了根据本发明一个实施方式的用于管理存储***的设备的框图。如图9所示,提供了一种用于管理存储***的设备,包括:划分模块910,配置用于将包括在所述存储***中的存储阵列中的条带划分为一组区块;确定模块920,配置用于响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;建立模块930,配置用于基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
在本发明的一个实施方式中,所述存储***进一步包括第二存储阵列,以及所述划分模块910进一步配置用于将所述第二存储阵列中的条带划分为第二组区块;以及将所述第二组区块添加至所述组。
在本发明的一个实施方式中,所述建立模块930进一步配置用于从所述组中选择所述一个或者多个区块,以使得所述一个或者多个区块在所述存储阵列和所述第二存储阵列之间均匀分布。
在本发明的一个实施方式中,所述设备进一步包括缩减模块,配置用于响应于接收到针对所述存储库的大小进行缩减的缩减请求,确定与所述缩减请求相关联的缩减大小;从所述一个或者多个区块中选择与所述缩减大小相匹配的至少一个区块;以及从所述地址映射中去除所述至少一个区块在所述存储***中的地址。
在本发明的一个实施方式中,所述缩减模块进一步配置用于响应于所述至少一个区块中的目标区块被加载至所述存储***中的缓存设备中的至少一个目标页面,释放所述至少一个目标页面。
在本发明的一个实施方式中,所述设备进一步包括扩展模块,配置用于响应于接收到针对所述存储库的大小进行扩展的扩展请求,确定与所述扩展请求相关联的扩展大小;以及基于从所述组中选择与所述扩展大小相匹配的至少一个区块在所述存储***中的地址更新所述地址映射。
在本发明的一个实施方式中,所述设备进一步包括重建模块,配置用于响应于所述存储阵列中的存储设备故障,向所述存储阵列加入后备存储设备;以及基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据。
在本发明的一个实施方式中,所述重建模块进一步配置用于基于所述地址映射确定所述一个或者多个区块中的目标区块在所述存储***中的地址范围;以及从所述存储阵列中的正常存储设备向所述后备存储设备恢复所述地址范围内的数据。
在本发明的一个实施方式中,所述重建模块进一步配置用于响应于接收到针对所述存储库的写入请求,基于所述地址映射向与所述写入请求相关联的地址范围写入数据;以及将所述地址范围标记为“已使用”。
在本发明的一个实施方式中,所述重建模块进一步配置用于从所述存储阵列中的正常存储设备向所述后备存储设备恢复被标记为“已使用”的地址范围内的数据。
在本发明的一个实施方式中,提供了一种用于管理存储***的设备,包括:一个或者多个处理器;耦合至所述一个或者多个处理器中的至少一个处理器的存储器;在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述设备执行一种用于管理存储***的方法,所述方法包括:将包括在所述存储***中的存储阵列中的条带划分为一组区块;响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
在本发明的一个实施方式中,所述存储***进一步包括第二存储阵列,以及所述方法进一步包括:将所述第二存储阵列中的条带划分为第二组区块;以及将所述第二组区块添加至所述组。
在本发明的一个实施方式中,基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库包括:从所述组中选择所述一个或者多个区块,以使得所述一个或者多个区块在所述存储阵列和所述第二存储阵列之间均匀分布。
在本发明的一个实施方式中,响应于接收到针对所述存储库的大小进行缩减的缩减请求,确定与所述缩减请求相关联的缩减大小;从所述一个或者多个区块中选择与所述缩减大小相匹配的至少一个区块;以及从所述地址映射中去除所述至少一个区块在所述存储***中的地址。
在本发明的一个实施方式中,响应于所述至少一个区块中的目标区块被加载至所述存储***中的缓存设备中的至少一个目标页面,释放所述至少一个目标页面。
在本发明的一个实施方式中,响应于接收到针对所述存储库的大小进行扩展的扩展请求,确定与所述扩展请求相关联的扩展大小;以及基于从所述组中选择与所述扩展大小相匹配的至少一个区块在所述存储***中的地址更新所述地址映射。
在本发明的一个实施方式中,响应于所述存储阵列中的存储设备故障,向所述存储阵列加入后备存储设备;以及基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据。
在本发明的一个实施方式中,基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:基于所述地址映射确定所述一个或者多个区块中的目标区块在所述存储***中的地址范围;以及从所述存储阵列中的正常存储设备向所述后备存储设备恢复所述地址范围内的数据。
在本发明的一个实施方式中,响应于接收到针对所述存储库的写入请求,基于所述地址映射向与所述写入请求相关联的地址范围写入数据;以及将所述地址范围标记为“已使用”。
在本发明的一个实施方式中,基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:从所述存储阵列中的正常存储设备向所述后备存储设备恢复被标记为“已使用”的地址范围内的数据。
在本发明的一个实施方式中,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据上文所述的方法的步骤。
附图中的流程图和框图显示了根据本发明的多个实施方式的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (20)
1.一种用于管理存储***的方法,包括:
将包括在所述存储***中的存储阵列中的条带划分为一组区块;
响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;
基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
2.根据权利要求1所述的方法,其中所述存储***进一步包括第二存储阵列,以及所述方法进一步包括:
将所述第二存储阵列中的条带划分为第二组区块;以及
将所述第二组区块添加至所述组。
3.根据权利要求2所述的方法,其中基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库包括:
从所述组中选择所述一个或者多个区块,以使得所述一个或者多个区块在所述存储阵列和所述第二存储阵列之间均匀分布。
4.根据权利要求1-3中的任一项所述的方法,进一步包括:响应于接收到针对所述存储库的大小进行缩减的缩减请求,
确定与所述缩减请求相关联的缩减大小;
从所述一个或者多个区块中选择与所述缩减大小相匹配的至少一个区块;以及
从所述地址映射中去除所述至少一个区块在所述存储***中的地址。
5.根据权利要求4所述的方法,进一步包括:
响应于所述至少一个区块中的目标区块被加载至所述存储***中的缓存设备中的至少一个目标页面,释放所述至少一个目标页面。
6.根据权利要求1-3中的任一项所述的方法,进一步包括:响应于接收到针对所述存储库的大小进行扩展的扩展请求,
确定与所述扩展请求相关联的扩展大小;以及
基于从所述组中选择与所述扩展大小相匹配的至少一个区块在所述存储***中的地址更新所述地址映射。
7.根据权利要求1-3中的任一项所述的方法,进一步包括:响应于所述存储阵列中的存储设备故障,
向所述存储阵列加入后备存储设备;以及
基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据。
8.根据权利要求7所述的方法,其中基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:
基于所述地址映射确定所述一个或者多个区块中的目标区块在所述存储***中的地址范围;以及
从所述存储阵列中的正常存储设备向所述后备存储设备恢复所述地址范围内的数据。
9.根据权利要求6所述的方法,进一步包括:
响应于接收到针对所述存储库的写入请求,基于所述地址映射向与所述写入请求相关联的地址范围写入数据;以及
将所述地址范围标记为“已使用”。
10.根据权利要求9所述的方法,基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:
从所述存储阵列中的正常存储设备向所述后备存储设备恢复被标记为“已使用”的地址范围内的数据。
11.一种用于管理存储***的设备,包括:
一个或者多个处理器;
耦合至所述一个或者多个处理器中的至少一个处理器的存储器;
在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述设备执行一种用于管理存储***的方法,所述方法包括:
将包括在所述存储***中的存储阵列中的条带划分为一组区块;
响应于接收针对所述存储***内的存储空间的分配请求,确定与所述分配请求相关联的空间大小;
基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库,所述存储库利用包括所述一个或者多个区块在所述存储***中的地址的地址映射来定义。
12.根据权利要求11所述的设备,其中所述存储***进一步包括第二存储阵列,以及所述方法进一步包括:
将所述第二存储阵列中的条带划分为第二组区块;以及
将所述第二组区块添加至所述组。
13.根据权利要求12所述的设备,其中基于从所述组中选择的与所述空间大小相匹配的一个或者多个区块建立存储库包括:
从所述组中选择所述一个或者多个区块,以使得所述一个或者多个区块在所述存储阵列和所述第二存储阵列之间均匀分布。
14.根据权利要求11-13中的任一项所述的设备,所述方法进一步包括:响应于接收到针对所述存储库的大小进行缩减的缩减请求,
确定与所述缩减请求相关联的缩减大小;
从所述一个或者多个区块中选择与所述缩减大小相匹配的至少一个区块;以及
从所述地址映射中去除所述至少一个区块在所述存储***中的地址。
15.根据权利要求14所述的设备,所述方法进一步包括:
响应于所述至少一个区块中的目标区块被加载至所述存储***中的缓存设备中的至少一个目标页面,释放所述至少一个目标页面。
16.根据权利要求11-13中的任一项所述的设备,所述方法进一步包括:响应于接收到针对所述存储库的大小进行扩展的扩展请求,
确定与所述扩展请求相关联的扩展大小;以及
基于从所述组中选择与所述扩展大小相匹配的至少一个区块在所述存储***中的地址更新所述地址映射。
17.根据权利要求11-13中的任一项所述的设备,所述方法进一步包括:响应于所述存储阵列中的存储设备故障,
向所述存储阵列加入后备存储设备;以及
基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据。
18.根据权利要求17所述的设备,其中基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:
基于所述地址映射确定所述一个或者多个区块中的目标区块在所述存储***中的地址范围;以及
从所述存储阵列中的正常存储设备向所述后备存储设备恢复所述地址范围内的数据。
19.根据权利要求16所述的设备,所述方法进一步包括:
响应于接收到针对所述存储库的写入请求,基于所述地址映射向与所述写入请求相关联的地址范围写入数据;以及
将所述地址范围标记为“已使用”。
20.根据权利要求19所述的设备,基于所述地址映射从所述存储阵列中的正常存储设备向所述后备存储设备恢复数据包括:
从所述存储阵列中的正常存储设备向所述后备存储设备恢复被标记为“已使用”的地址范围内的数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611194058.XA CN108228085A (zh) | 2016-12-21 | 2016-12-21 | 用于管理存储***的方法和设备 |
US15/848,418 US10664392B2 (en) | 2016-12-21 | 2017-12-20 | Method and device for managing storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611194058.XA CN108228085A (zh) | 2016-12-21 | 2016-12-21 | 用于管理存储***的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108228085A true CN108228085A (zh) | 2018-06-29 |
Family
ID=62656788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611194058.XA Pending CN108228085A (zh) | 2016-12-21 | 2016-12-21 | 用于管理存储***的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10664392B2 (zh) |
CN (1) | CN108228085A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124271A (zh) * | 2018-10-31 | 2020-05-08 | 伊姆西Ip控股有限责任公司 | 用于针对磁盘***执行资源重新分配的方法、装置和计算机程序产品 |
CN111475424A (zh) * | 2019-01-23 | 2020-07-31 | 伊姆西Ip控股有限责任公司 | 用于管理存储***的方法、设备和计算机程序产品 |
CN116614323A (zh) * | 2023-07-21 | 2023-08-18 | 银河麒麟软件(长沙)有限公司 | 一种基于Rclone的云存储企业网盘管理方法及*** |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200060053A (ko) * | 2018-11-22 | 2020-05-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN112486860A (zh) * | 2019-09-11 | 2021-03-12 | 伊姆西Ip控股有限责任公司 | 管理存储***的地址映射的方法、设备和计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526882A (zh) * | 2008-03-03 | 2009-09-09 | 中兴通讯股份有限公司 | 独立磁盘冗余阵列子***中逻辑单元重建的方法及装置 |
CN102622189A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 存储虚拟化的装置、数据存储方法及*** |
CN102819408A (zh) * | 2012-08-24 | 2012-12-12 | 记忆科技(深圳)有限公司 | 可动态调整条带深度的raid 0的实现方法及*** |
CN103116552A (zh) * | 2013-03-18 | 2013-05-22 | 华为技术有限公司 | 用于在分布式存储***中分配存储空间的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571351B1 (en) * | 2000-04-07 | 2003-05-27 | Omneon Video Networks | Tightly coupled secondary storage system and file system |
US7424574B1 (en) * | 2004-04-21 | 2008-09-09 | Sun Microsystems, Inc. | Method and apparatus for dynamic striping |
US7904749B2 (en) * | 2008-10-24 | 2011-03-08 | Hitachi, Ltd. | Fast data recovery from HDD failure |
KR20130111821A (ko) * | 2012-04-02 | 2013-10-11 | 삼성전자주식회사 | Raid 메모리 시스템 |
KR20160083762A (ko) * | 2015-01-02 | 2016-07-12 | 삼성전자주식회사 | 스토리지 시스템에서의 매핑 테이블 관리 방법 및 이를 적용한 스토리지 시스템 |
-
2016
- 2016-12-21 CN CN201611194058.XA patent/CN108228085A/zh active Pending
-
2017
- 2017-12-20 US US15/848,418 patent/US10664392B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526882A (zh) * | 2008-03-03 | 2009-09-09 | 中兴通讯股份有限公司 | 独立磁盘冗余阵列子***中逻辑单元重建的方法及装置 |
CN102622189A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 存储虚拟化的装置、数据存储方法及*** |
CN102819408A (zh) * | 2012-08-24 | 2012-12-12 | 记忆科技(深圳)有限公司 | 可动态调整条带深度的raid 0的实现方法及*** |
CN103116552A (zh) * | 2013-03-18 | 2013-05-22 | 华为技术有限公司 | 用于在分布式存储***中分配存储空间的方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124271A (zh) * | 2018-10-31 | 2020-05-08 | 伊姆西Ip控股有限责任公司 | 用于针对磁盘***执行资源重新分配的方法、装置和计算机程序产品 |
CN111124271B (zh) * | 2018-10-31 | 2023-09-08 | 伊姆西Ip控股有限责任公司 | 用于针对磁盘***执行资源重新分配的方法、装置和介质 |
CN111475424A (zh) * | 2019-01-23 | 2020-07-31 | 伊姆西Ip控股有限责任公司 | 用于管理存储***的方法、设备和计算机程序产品 |
CN111475424B (zh) * | 2019-01-23 | 2023-07-28 | 伊姆西Ip控股有限责任公司 | 用于管理存储***的方法、设备和计算机可读存储介质 |
CN116614323A (zh) * | 2023-07-21 | 2023-08-18 | 银河麒麟软件(长沙)有限公司 | 一种基于Rclone的云存储企业网盘管理方法及*** |
CN116614323B (zh) * | 2023-07-21 | 2023-11-14 | 银河麒麟软件(长沙)有限公司 | 一种基于Rclone的云存储企业网盘管理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US20190095325A1 (en) | 2019-03-28 |
US10664392B2 (en) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11204716B2 (en) | Compression offloading to RAID array storage enclosure | |
US10831407B2 (en) | Write flow offloading to raid array storage enclosure | |
US11055188B2 (en) | Offloading error processing to raid array storage enclosure | |
CN103797770B (zh) | 一种共享存储资源的方法和*** | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
CN108228085A (zh) | 用于管理存储***的方法和设备 | |
CN104636080B (zh) | 存储***及用于其的方法 | |
CN107870730A (zh) | 用于管理存储***的方法和*** | |
CN102405460B (zh) | 虚拟存储***及其运行方法 | |
CN109725831B (zh) | 管理存储***的方法、***和计算机可读介质 | |
US9563511B1 (en) | Performing input/output operations on a set of storage devices based on scalable input/output credits | |
CN110413201A (zh) | 用于管理存储***的方法、设备和计算机程序产品 | |
US20160085467A1 (en) | Intelligent data placement | |
US20180246793A1 (en) | Data stripping, allocation and reconstruction | |
CN104246707A (zh) | 存储***和存储装置 | |
CN107515726A (zh) | 用于管理存储设备的方法和*** | |
CN110413208B (zh) | 用于管理存储***的方法、设备和计算机程序产品 | |
CN108228084A (zh) | 用于管理存储***的方法和设备 | |
CN107729536A (zh) | 一种数据存储方法和装置 | |
US8892676B2 (en) | Thin import for a data storage system | |
CN103631539A (zh) | 基于擦除编码机制的分布式存储***及其存储方法 | |
CN104272242A (zh) | 创建加密存储体 | |
CN109725827A (zh) | 管理存储***的方法、***和计算机程序产品 | |
CN112948279A (zh) | 管理存储***中的访问请求的方法、设备和程序产品 | |
US10318474B1 (en) | Data storage system with heterogenous parallel processors |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |