JP2011108258A - System and method of virtual disk drive - Google Patents

System and method of virtual disk drive Download PDF

Info

Publication number
JP2011108258A
JP2011108258A JP2011003337A JP2011003337A JP2011108258A JP 2011108258 A JP2011108258 A JP 2011108258A JP 2011003337 A JP2011003337 A JP 2011003337A JP 2011003337 A JP2011003337 A JP 2011003337A JP 2011108258 A JP2011108258 A JP 2011108258A
Authority
JP
Japan
Prior art keywords
data
disk
raid
volume
snapshot
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
Application number
JP2011003337A
Other languages
Japanese (ja)
Inventor
Philip E Soran
ソラン,フィリップ・イー
John P Guider
ガイダー,ジョン・ピー
Lawrence E Aszmann
アスズマン,ローレンス・イー
J Klemm Michael
クレム,マイケル・ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compellent Technologies Inc
Original Assignee
Compellent Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Compellent Technologies Inc filed Critical Compellent Technologies Inc
Publication of JP2011108258A publication Critical patent/JP2011108258A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

<P>PROBLEM TO BE SOLVED: To provide an improved system for dynamically allocating data. <P>SOLUTION: The system includes a RAID subsystem having a pool of storage (a page pool of storage that maintains a free list of RAIDs and the like) or a matrix of disk storage blocks that maintain a null list of RAIDs and a disk manager having a disk storage system control device. The subsystem and the manager dynamically allocate data across the pool of storage and a disk drive and determine whether additional disk drives are required, and a notification is sent if necessary. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、一般には、ディスク・ドライブのシステムおよび方法に関し、より詳細には、動的データ割り当てやディスク・ドライブ仮想化などの機能を有するディスク・ドライブ・システムに関する。   The present invention relates generally to disk drive systems and methods, and more particularly to disk drive systems having functions such as dynamic data allocation and disk drive virtualization.

既存のディスク・ドライブ・システムは、仮想ボリューム(virtual volume)・データ・ストレージ空間が、データの格納のための特定のサイズおよび場所を有する物理ディスクと静的に関連するように、設計されている。こうしたディスク・ドライブ・システムでは、データを格納するために、データ・ストレージ空間の仮想ボリュームの厳密な場所およびサイズを知ること及び監視/制御を行うことが必要である。更に、このシステムでは、しばしば、より大きなデータ・ストレージ空間が必要であり、そのため、RAID装置が追加される。しかし、しばしば、こうした追加のRAID装置は、高価であり、また、余分なデータ・ストレージ空間が実際に必要となるまでは、必要ではない。   Existing disk drive systems are designed so that the virtual volume data storage space is statically associated with a physical disk having a specific size and location for storing data . In such disk drive systems, it is necessary to know and monitor / control the exact location and size of the virtual volume in the data storage space in order to store the data. In addition, this system often requires more data storage space, thus adding RAID devices. Often, however, such additional RAID devices are expensive and are not required until extra data storage space is actually required.

図14のAに、データの格納、読み出し/書き込み、および/またはリカバリ(復旧)のための特定のサイズおよび場所を有する物理ディスクと関連する仮想ボリューム・データ・ストレージ空間を有する従来の既存のディスク・ドライブ・システムを示す。このディスク・ドライブ・システムでは、データの割り当てを、データ・ストレージ空間の仮想ボリュームの特定の場所およびサイズに基づいて、静的に行う。その結果、空のデータ・ストレージ空間は使用されず、このシステムでデータを格納、読み出し/書き込み、および/またはリカバリするために、余分であり時には高価なデータ・ストレージ装置、例えばRAID装置が前もって獲得される。こうした余分なデータ・ストレージ空間は、必要でなく、かつ/または、後の時まで使用されない可能性がある。   FIG. 14A illustrates a conventional existing disk having virtual volume data storage space associated with a physical disk having a specific size and location for data storage, read / write, and / or recovery. Indicates drive system. In this disk drive system, data allocation is done statically based on the specific location and size of the virtual volume in the data storage space. As a result, empty data storage space is not used, and extra and sometimes expensive data storage devices, such as RAID devices, are acquired in advance to store, read / write, and / or recover data in this system. Is done. Such extra data storage space is not needed and / or may not be used until a later time.

従って、改善されたディスク・ドライブのシステムおよび方法が必要とされている。効率のよい、動的なデータ割り当てならびにディスク・ドライブの空間および時間管理のシステムおよび方法が更に必要とされている。   Accordingly, there is a need for improved disk drive systems and methods. There is a further need for efficient dynamic data allocation and disk drive space and time management systems and methods.

本発明は、動的にデータを割り当てる能力を有する改善されたディスク・ドライブのシステムおよび方法を提供する。このディスク・ドライブ・システムは、ディスク・ストレージ・ブロックのマトリックスを有するRAIDサブシステムと、少なくとも1つのディスク・ストレージ・システム・コントローラを有するディスク・マネージャとを含むことができる。RAIDサブシステムおよびディスク・マネージャは、RAIDからディスクへのマッピング(RAID-to-disk mapping、RAID−ツー−ディスク・マッピング)に基づいて、ディスク・ストレージ・ブロックのマトリックスおよび複数のディスク・ドライブを通して、データを動的に割り当てる。RAIDサブシステムおよびディスク・マネージャは、更に別のディスク・ドライブが必要かどうかを判定し、更に別のディスク・ドライブが必要である場合には、通知を送る。動的なデータの割り当て(アロケーション)により、ユーザは、ディスク・ドライブを、後の時間に、必要となったときに得ることができる。また、動的データ割り当てにより、ディスク・ストレージ・ブロックの仮想ボリューム・マトリックスまたはプールのスナップショット/ポイント・イン・タイム(時)・コピーの効率のよいデータ格納や、データのバックアップ、リカバリなどのためのインスタント・データ・リプレイおよびデータ・インスタント・フュージョン(fusion)や、リモート・データ・ストレージや、データ・プログレッション(Data Progression)などが、可能になる。また、データ・プログレッションにより、より安価なディスク・ドライブは、後の時間に購入されるため、延期が可能になる。   The present invention provides an improved disk drive system and method with the ability to dynamically allocate data. The disk drive system can include a RAID subsystem having a matrix of disk storage blocks and a disk manager having at least one disk storage system controller. The RAID subsystem and the disk manager are based on RAID-to-disk mapping (RAID-to-disk mapping) through a matrix of disk storage blocks and multiple disk drives. Assign data dynamically. The RAID subsystem and disk manager determine whether additional disk drives are needed and send notifications if additional disk drives are needed. Dynamic data allocation allows the user to obtain a disk drive at a later time when needed. Dynamic data allocation for efficient data storage, data backup, recovery, etc. for disk storage block virtual volume matrix or pool snapshot / point-in-time (hour) copy Instant data replay and data instant fusion, remote data storage, and data progression. Data progression also allows for cheaper disk drives to be postponed because they are purchased at a later time.

一実施形態では、仮想ボリュームまたはディスク・ストレージ・ブロックのマトリックスまたはプールが、物理ディスクと関連付けるために提供される。仮想ボリュームまたはディスク・ストレージ・ブロックのマトリックスまたはプールの監視/制御は、複数のディスク・ストレージ・システム・コントローラによって動的に行われる。一実施形態では、それぞれの仮想ボリュームのサイズはデフォルトまたはユーザの予め定義したものとすることができ、それぞれの仮想ボリュームの場所はデフォルトでヌル(null)となっている。仮想ボリュームは、データが割り当てられるまでヌルである。データは、マトリックスまたはプールの任意のグリッドに割り当てることができる(例えば、データがそのグリッドに割り当てられた後は、そのグリッド内の「ドット」(dot)になる)。そのデータが削除された後、その仮想ボリュームは再び使用可能になり「null」として示される。このため、余分なデータ・ストレージ空間や、時には高価なデータ・ストレージ装置、例えばRAID装置を、後の時間に、必要となるたびに得ることができる。   In one embodiment, a matrix or pool of virtual volumes or disk storage blocks is provided for associating with physical disks. Monitoring / control of a matrix or pool of virtual volumes or disk storage blocks is performed dynamically by a plurality of disk storage system controllers. In one embodiment, the size of each virtual volume can be default or user-predefined, and the location of each virtual volume defaults to null. The virtual volume is null until data is allocated. Data can be assigned to any grid in a matrix or pool (eg, after data is assigned to that grid, it becomes a “dot” in that grid). After the data is deleted, the virtual volume becomes available again and is shown as “null”. Thus, extra data storage space and sometimes expensive data storage devices, such as RAID devices, can be obtained at a later time as needed.

一実施形態では、1つのディスク・マネージャが複数のディスク・ストレージ・システム・コントローラを管理することができ、複数の冗長ディスク・ストレージ・システム・コントローラを実装して、動作させているディスク・ストレージ・システム・コントローラの障害をカバーすることができる。   In one embodiment, a single disk manager can manage multiple disk storage system controllers, and multiple redundant disk storage system controllers can be implemented and operated. System controller failures can be covered.

一実施形態では、RAIDサブシステムは、RAID−0、RAID−1、RAID−5、RAID−10などのRAIDタイプのうちの少なくとも1つからなる組合せを含む。代替のRAIDサブシステムでは、RAID−3、RAID−4、RAID−6、RAID−7などのような他のRAIDタイプを使用できることも理解されよう。   In one embodiment, the RAID subsystem includes a combination of at least one of RAID types such as RAID-0, RAID-1, RAID-5, RAID-10. It will also be appreciated that other RAID types may be used in alternative RAID subsystems, such as RAID-3, RAID-4, RAID-6, RAID-7, etc.

また、本発明は、動的データ割り当ての方法を提供するものであり、この方法は、論理ブロックまたはディスク・ストレージ・ブロックのデフォルトのサイズを与えて、RAIDサブシステムのディスク空間がディスク・ストレージ・ブロックのマトリックスを形成するようにするステップと、データを書き込み、そのデータをディスク・ストレージ・ブロックのマトリックスに割り当てるステップと、RAIDサブシステムのディスク空間の占有率の履歴に基づいて、RAIDサブシステムのディスク空間の占有率の決定するステップと、更に別のディスク・ドライブが必要かどうかを決定するステップと、更に別のディスク・ドライブが必要である場合に、RAIDサブシステムに通知を送るステップとを含む。一実施形態では、通知は電子メールによって送られる。   The present invention also provides a method for dynamic data allocation, which provides a default size for logical blocks or disk storage blocks so that the disk space of the RAID subsystem is disk storage storage. Based on the RAID subsystem disk space occupancy history, writing the data, assigning the data to a disk storage block matrix, and creating a RAID matrix disk space history. Determining disk space occupancy, determining whether additional disk drives are required, and sending notification to the RAID subsystem when additional disk drives are required. Including. In one embodiment, the notification is sent by email.

本発明のディスク・ドライブ・システムの利点の1つは、RAIDサブシステムが、仮想的な数のディスクにわたってRAID技法を使用できることである。残りのストレージ空間は自由に使用可能である。RAIDサブシステムのストレージ空間を監視し、そのストレージ空間の占有率を決定することにより、ユーザは、高価であるが購入時点では用途のない大量のドライブを得なくて済む。こうして、ドライブの追加を、ストレージ空間の増大する需要を満たすために実際に必要であるときに行うことにより、ディスク・ドライブの全体のコストが著しく低減される。その一方で、ドライブの使用の効率は著しく改善される。   One advantage of the disk drive system of the present invention is that the RAID subsystem can use RAID techniques across a virtual number of disks. The remaining storage space can be used freely. By monitoring the storage space of the RAID subsystem and determining the occupancy of the storage space, the user does not have to obtain a large number of drives that are expensive but are not used at the time of purchase. Thus, the overall cost of the disk drive is significantly reduced by adding drives when they are actually needed to meet the growing demand for storage space. On the other hand, the efficiency of use of the drive is significantly improved.

本発明の別の利点は、ディスク・ストレージ・システム・コントローラが、特定のコンピュータ・ファイル・システムだけでなく、どのようなコンピュータ・ファイル・システムに対しても普遍的であることである。   Another advantage of the present invention is that the disk storage system controller is universal for any computer file system, not just a particular computer file system.

また、本発明は、データ・インスタント・リプレイ(data instant replay)の方法を提供する。一実施形態では、データ・インスタント・リプレイの方法は、論理ブロックまたはディスク・ストレージ・ブロックのデフォルトのサイズを与えて、RAIDサブシステムのディスク空間がストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスを形成するようにするステップと、ストレージのページ・プールのボリュームのスナップショットまたはディスク・ストレージ・ブロックのマトリックスのスナップショットを、所定の時間間隔で自動的に生成するステップと、スナップショットまたは変分(delta、デルタ)のアドレス・インデックスを、ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスに保存して、ディスク・ストレージ・ブロックのマトリックスのスナップショットまたはデルタを、その保存したアドレス・インデックスを介して直ちに見つけ出せるようにするステップとを含む。   The present invention also provides a method of data instant replay. In one embodiment, the data instant replay method provides a default size for logical blocks or disk storage blocks, and the RAID subsystem disk space is a page pool of storage or a matrix of disk storage blocks. Automatically generating snapshots of a storage page pool volume or disk storage block matrix at predetermined time intervals, snapshots or variations The (delta) address index is stored in the storage page pool or disk storage block matrix, and a disk storage block matrix snapshot. The object or delta, and a step to make Mitsukedaseru immediately via the address index and its storage.

このデータ・インスタント・リプレイの方法では、RAIDサブシステムのスナップショットの自動生成を、ユーザの定義する時間間隔で、または、ユーザのコンフィギュレーションした動的なタイム・スタンプ、例えば、数分または数時間ごとなどに、または、サーバの指示する時刻に、行う。システム障害またはウイルス攻撃が発生した場合、こうしたタイム・スタンプを有する仮想スナップショットにより、データ・インスタント・リプレイおよびデータ・インスンタント・リカバリが、約数分または数時間などで可能になる。この技法は、インスタント・リプレイ・フュージョン(instant replay fusion)とも呼ばれる。即ち、クラッシュまたは攻撃のすぐ前のデータのフュージョンが遅れずに行われ、クラッシュまたは攻撃の前に保存したスナップショットを直ちにそれ以降の動作で使用することができる。   In this method of data instant replay, the automatic generation of RAID subsystem snapshots can be performed at user-defined time intervals or by user-configured dynamic time stamps, eg, minutes or hours. Every time, or at the time indicated by the server. In the event of a system failure or virus attack, virtual snapshots with such time stamps allow data instant replay and data instant recovery in about minutes or hours. This technique is also called instant replay fusion. That is, the data immediately before the crash or attack is fused without delay, and the snapshot saved before the crash or attack can be used immediately in subsequent operations.

一実施形態では、スナップショットをローカルのRAIDサブシステムまたはリモートのRAIDサブシステムで保存し、重大なシステム・クラッシュが例えばテロリスト攻撃などが原因で生じた場合に、データの完全性(integrity)に対しての影響を受けないようにし、データを直ちにリカバリできるようにすることができる。   In one embodiment, the snapshot is stored on a local RAID subsystem or a remote RAID subsystem, and for data integrity when a serious system crash occurs, for example, due to a terrorist attack The data can be recovered immediately.

このデータ・インスタント・リプレイの方法の別の利点は、スナップショットを、システムが動作し続けたままで、検査のために使用できることである。生(live)のデータをリアル・タイムの検査に使用することができる。   Another advantage of this data instant replay method is that the snapshot can be used for inspection while the system continues to operate. Live data can be used for real-time inspection.

また、本発明は、RAIDサブシステムと、少なくとも1つのディスク・ストレージ・システム・コントローラを有するディスク・マネージャとを含むデータ・インスタント・リプレイのシステムを提供する。一実施形態では、RAIDサブシステムおよびディスク・マネージャは、複数のドライブのディスク空間にわたって、データを、RAID−ツー−ディスク・マッピングに基づいて動的に割り当てるものであり、ここでRAIDサブシステムのディスク空間は、ディスク・ストレージ・ブロックのマトリックスを形成する。ディスク・ストレージ・システム・コントローラは、ディスク・ストレージ・ブロックのマトリックスのスナップショットを所定の時間間隔で自動的に生成し、スナップショットまたはデルタのアドレス・インデックスをディスク・ストレージ・ブロックのマトリックスに保存して、ディスク・ストレージ・ブロックのマトリックスのスナップショットまたはデルタを、その保存したアドレス・インデックスを介して直ちに見つけ出せるようにする。   The present invention also provides a data instant replay system including a RAID subsystem and a disk manager having at least one disk storage system controller. In one embodiment, the RAID subsystem and disk manager dynamically allocates data across the disk space of multiple drives based on RAID-to-disk mapping, where the RAID subsystem disks The space forms a matrix of disk storage blocks. The disk storage system controller automatically generates a snapshot of the disk storage block matrix at predetermined time intervals and stores the snapshot or delta address index in the disk storage block matrix. Thus, a snapshot or delta of a disk storage block matrix can be immediately found via its stored address index.

一実施形態では、ディスク・ストレージ・システム・コントローラは、ディスク・ストレージ・ブロックのマトリックスのスナップショットからデータ使用の頻度を監視し、そして、使用またはアクセスの頻度の低いデータほど、より安価なRAIDサブシステムへと移動させるような、エージング(aging、加齢)規則を適用する。同様に、安価なRAIDサブシステム中のデータが頻繁に使用され始めると、コントローラは、そのデータを、より高価なRAIDサブシステムへと移動させる。このため、ユーザは、ユーザ自身のストレージに対する必要性を満たす所望のRAIDサブシステム・ポートフォリオを選ぶことができる。従って、ディスク・ドライブ・システムのコストを著しく低減させること、およびユーザにより動的に制御することが可能となる。   In one embodiment, the disk storage system controller monitors the frequency of data usage from a snapshot of the disk storage block matrix, and the less frequently used or accessed data, the less expensive RAID sub- Apply aging rules, such as moving to the system. Similarly, if data in an inexpensive RAID subsystem begins to be used frequently, the controller moves that data to a more expensive RAID subsystem. Thus, the user can select a desired RAID subsystem portfolio that meets the user's own storage needs. Thus, the cost of the disk drive system can be significantly reduced and dynamically controlled by the user.

本発明のこうしたおよび他の特徴および利点は、本発明を実現するために企図された最良の形態を含む本発明の例示的な実施形態を示し説明する以下の詳細な説明から、当業者に明らかとなろう。本発明は、様々な自明な態様における変更が、すべて本発明の趣旨および範囲から逸脱することなく可能であることが理解されよう。従って、図面および詳細な説明は、本来例示的であって限定的でないと見なすべきである。   These and other features and advantages of the present invention will be apparent to those skilled in the art from the following detailed description, which illustrates and describes exemplary embodiments of the present invention, including the best mode contemplated for carrying out the invention. It will be. It will be understood that the invention is capable of modifications in various obvious aspects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.

図1は、本発明の諸原理に従ったコンピュータ環境におけるディスク・ドライブ・システムの一実施形態を示す。FIG. 1 illustrates one embodiment of a disk drive system in a computer environment in accordance with the principles of the present invention. 図2は、本発明の諸原理に従った、ディスク・ドライブのRAIDサブシステムのためのストレージのページ・プールを有する動的なデータ割り当ての一実施形態を示す。FIG. 2 illustrates one embodiment of dynamic data allocation with a paged pool of storage for a disk drive RAID subsystem in accordance with the principles of the present invention. 図2Aは、ディスク・ドライブ・システムのRAIDサブシステムにおける従来のデータ割り当てを示す。FIG. 2A illustrates conventional data allocation in a RAID subsystem of a disk drive system. 図2Bは、本発明の諸原理に従った、ディスク・ドライブ・システムのRAIDサブシステムにおけるデータ割り当てを示す。FIG. 2B illustrates data allocation in a RAID subsystem of a disk drive system in accordance with the principles of the present invention. 図2Cは、本発明の諸原理に従った動的なデータ割り当ての方法を示す。FIG. 2C illustrates a dynamic data allocation method according to the principles of the present invention. 図3のAおよびBは、本発明の諸原理に従った、複数の時間間隔におけるRAIDサブシステムのディスク・ストレージ・ブロックのスナップショットの概略図であり、Cは、本発明の諸原理に従ったデータ・インスタント・リプレイの方法を示す。3A and 3B are schematic diagrams of snapshots of disk storage blocks of a RAID subsystem at multiple time intervals in accordance with the principles of the present invention, and C is in accordance with the principles of the present invention. Data instant replay method is shown. 図4は、本発明の諸原理に従った、RAIDサブシステムのディスク・ストレージ・ブロックのスナップショットを使用することによるデータ・インスタント・フュージョン機能の概略図である。FIG. 4 is a schematic diagram of data instant fusion functionality by using a snapshot of a RAID subsystem disk storage block in accordance with the principles of the present invention. 図5は、本発明の諸原理に従った、RAIDサブシステムのディスク・ストレージ・ブロックのスナップショットを使用することによるローカル/リモートのデータの複製およびインスタント・リプレイの機能の概略図である。FIG. 5 is a schematic diagram of local / remote data replication and instant replay functionality by using RAID subsystem disk storage block snapshots in accordance with the principles of the present invention. 図6は、本発明の諸原理に従った、I/Oを行うために同じRAIDインターフェースを使用し、複数のRAID装置を1つのボリュームへと連結するスナップショットの概略図を示す。FIG. 6 shows a schematic diagram of a snapshot that connects multiple RAID devices into a single volume using the same RAID interface for performing I / O in accordance with the principles of the present invention. 図7は、本発明の諸原理に従った、スナップショット構造の一実施形態を示す。FIG. 7 illustrates one embodiment of a snapshot structure in accordance with the principles of the present invention. 図8は、本発明の諸原理に従った、PITCライフ・サイクルの一実施形態を示す。FIG. 8 illustrates one embodiment of a PITC life cycle in accordance with the principles of the present invention. 図9は、本発明の諸原理に従った、マルチ・レベル・インデックスを有するPITCテーブル構造の一実施形態を示す。FIG. 9 illustrates one embodiment of a PITC table structure with a multi-level index in accordance with the principles of the present invention. 図10は、本発明の諸原理に従った、PITCテーブルのリカバリの一実施形態を示す。FIG. 10 illustrates one embodiment of PITC table recovery in accordance with the principles of the present invention. 図11は、本発明の諸原理に従った、所有ページ・シーケンスおよび非所有ページ・シーケンスを有する書き込みプロセスの一実施形態を示す。FIG. 11 illustrates one embodiment of a writing process having owned and non-owned page sequences in accordance with the principles of the present invention. 図12は、本発明の諸原理に従った、例示的なスナップショット動作を示す。FIG. 12 illustrates an exemplary snapshot operation in accordance with the principles of the present invention. 図13Aは、データを静的に割り当てるために特定のサイズおよび場所をもつ物理ディスクと関連付けられた仮想ボリューム・データ・ストレージ空間を有する従来の既存のディスク・ドライブ・システムを示す。FIG. 13A shows a conventional existing disk drive system having virtual volume data storage space associated with a physical disk having a specific size and location for statically allocating data. 図13Bは、図13Aの従来の既存のディスク・ドライブ・システムでのボリューム論理ブロック・マッピングを示す。FIG. 13B illustrates volume logical block mapping in the conventional existing disk drive system of FIG. 13A. 図14のAは、本発明の諸原理に従った、システムにおいてデータを動的に割り当てるための、ディスク・ストレージ・ブロックの仮想ボリューム・マトリックスを有するディスク・ドライブ・システムの一実施形態を示す。図14のBは、図14のAに示すディスク・ストレージ・ブロックの仮想ボリューム・マトリックスにおける動的なデータ割り当ての一実施形態を示す。図14のCは、本発明の諸原理に従った、ストレージの仮想ボリューム・ページ・プールの一実施形態のボリューム−RAIDページ再マッピングの概略図を示す。FIG. 14A illustrates one embodiment of a disk drive system having a virtual volume matrix of disk storage blocks for dynamically allocating data in the system in accordance with the principles of the present invention. FIG. 14B illustrates one embodiment of dynamic data allocation in the virtual volume matrix of disk storage blocks shown in FIG. 14A. FIG. 14C shows a schematic diagram of a volume-RAID page remapping of one embodiment of a virtual volume page pool of storage in accordance with the principles of the present invention. 図15は、本発明の諸原理に従った、RAIDサブシステムの複数のディスク・ストレージ・ブロックへマッピングされる3つのディスク・ドライブの例を示す。FIG. 15 illustrates an example of three disk drives mapped to multiple disk storage blocks of a RAID subsystem in accordance with the principles of the present invention. 図16は、図15に示す3つのディスク・ドライブへ1つのディスク・ドライブを追加した後のディスク・ドライブ・ストレージ・ブロックの再マッピングの例を示す。FIG. 16 shows an example of remapping of a disk drive storage block after adding one disk drive to the three disk drives shown in FIG. 図17は、本発明の諸原理に従った、データ・プログレッション動作におけるアクセス可能なデータ・ページの一実施形態を示す。FIG. 17 illustrates one embodiment of accessible data pages in a data progression operation in accordance with the principles of the present invention. 図18は、本発明の諸原理に従った、データ・プログレッション・プロセスの一実施形態の流れ図を示す。FIG. 18 shows a flow diagram of one embodiment of a data progression process in accordance with the principles of the present invention. 図19は、本発明の諸原理に従った、圧縮されたページ・レイアウトの一実施形態を示す。FIG. 19 illustrates one embodiment of a compressed page layout in accordance with the principles of the present invention. 図20は、本発明の諸原理に従った、高レベル・ディスク・ドライブ・システムにおけるデータ・プログレッションの一実施形態を示す。FIG. 20 illustrates one embodiment of data progression in a high level disk drive system in accordance with the principles of the present invention. 図21は、本発明の諸原理に従った、サブシステムにおける外部データ・フローの一実施形態を示す。FIG. 21 illustrates one embodiment of external data flow in a subsystem in accordance with the principles of the present invention. 図22は、サブシステムにおける内部データ・フローの一実施形態を示す。FIG. 22 illustrates one embodiment of internal data flow in the subsystem. 図23は、コヒーレンシを独立して維持する各サブシステムの一実施形態を示す。FIG. 23 illustrates one embodiment of each subsystem that maintains coherency independently. 図24は、本発明の諸原理に従った、混合RAIDウォーターフォール・データ・プログレッションの一実施形態を示す。FIG. 24 illustrates one embodiment of mixed RAID waterfall data progression in accordance with the principles of the present invention. 図25は、本発明の諸原理に従った、ストレージのページ・プールの複数のフリー・リストの一実施形態を示す。FIG. 25 illustrates one embodiment of multiple free lists of storage page pools in accordance with the principles of the present invention. 図26は、本発明の諸原理に従った、データベースの例の一実施形態を示す。FIG. 26 illustrates one embodiment of an example database in accordance with the principles of the present invention. 図27は、本発明の諸原理に従った、MRI画像の例の一実施形態を示す。FIG. 27 illustrates one embodiment of an example MRI image in accordance with the principles of the present invention.

本発明は、動的にデータを割り当てる能力を有する改善されたディスク・ドライブのシステムおよび方法を提供する。このディスク・ドライブ・システムは、RAIDの空きリスト(フリー・リスト、free list)を維持するストレージのページ・プール、または代替例としてはディスク・ストレージ・ブロックのマトリックスを有するRAIDサブシステムと、少なくとも1つのディスク・ストレージ・システム・コントローラを有するディスク・マネージャとを含むことができる。RAIDサブシステムおよびディスク・マネージャは、データを、ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスおよび複数のディスク・ドライブにわたって、RAID−ツー−ディスク・マッピングに基づいて、動的に割り当てる。RAIDサブシステムおよびディスク・マネージャは、更に別のディスク・ドライブが必要かどうかを判定し、更に別のディスク・ドライブが必要である場合には通知を送る。動的なデータ割り当てにより、ユーザは、ディスク・ドライブを、後にそれが必要となったときに得ることができる。また、動的なデータ割り当てにより、ディスク・ストレージ・ブロックの仮想ボリュームのマトリックスまたはプールのスナップショット/ポイント・イン・タイム・コピーの効率のよいデータ・ストレージや、データ・バックアップやリカバリなどのためのインスタント・データ・リプレイおよびデータ・インスタント・フュージョン(fusion)や、リモート・データ・ストレージや、データ・プログレッションなどが可能になる。また、データ・プログレッションにより、より安価なディスク・ドライブは後の時間に購入されるため、その延期が可能になる。   The present invention provides an improved disk drive system and method with the ability to dynamically allocate data. The disk drive system includes at least one RAID subsystem having a page pool of storage that maintains a RAID free list, or alternatively a matrix of disk storage blocks. And a disk manager having two disk storage system controllers. The RAID subsystem and disk manager dynamically allocates data across a storage page pool or matrix of disk storage blocks and multiple disk drives based on a RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are needed and send notifications if additional disk drives are needed. Dynamic data allocation allows the user to obtain a disk drive later when it is needed. Dynamic data allocation also enables efficient data storage of disk storage block virtual volumes matrix or pool snapshot / point-in-time copy, data backup and recovery, etc. Enables instant data replay and data instant fusion, remote data storage, data progression, and more. Data progression also allows for cheaper disk drives to be purchased at a later time and postponed.

図1に、本発明の諸原理に従った、コンピュータ環境102におけるディスク・ドライブ・システム100の一実施形態を示す。図1に示すように、ディスク・ドライブ・システム100は、RAIDサブシステム104と、少なくとも1つのディスク・ストレージ・システム・コントローラ(図16)を有するディスク・マネージャ106とを含む。RAIDサブシステム104およびディスク・マネージャ106は、データを、複数のディスク・ドライブ108のディスク空間にわたって、RAID−ツー−ディスク・マッピングに基づいて、動的に割り当てる。更に、RAIDサブシステム104およびディスク・マネージャ106は、更に別のディスク・ドライブが必要かどうかの判定を、ディスク空間全体にわたるデータ割り当てに基づいて行う能力がある。更に別のディスク・ドライブが必要である場合にはその通知がユーザへ送られて、希望される場合には更に別のディスク空間を追加できる。   FIG. 1 illustrates one embodiment of a disk drive system 100 in a computer environment 102 in accordance with the principles of the present invention. As shown in FIG. 1, the disk drive system 100 includes a RAID subsystem 104 and a disk manager 106 having at least one disk storage system controller (FIG. 16). The RAID subsystem 104 and the disk manager 106 dynamically allocate data across the disk space of multiple disk drives 108 based on a RAID-to-disk mapping. In addition, the RAID subsystem 104 and the disk manager 106 are capable of making a determination of whether additional disk drives are required based on data allocation across the entire disk space. If additional disk drives are needed, a notification is sent to the user, and additional disk space can be added if desired.

本発明の諸原理に従った、動的なデータ割り当て(または「ディスク・ドライブ仮想化」と呼ばれる)を有するディスク・ストレージ・システム100を、図2に一つの実施形態の形で示し、図14のAおよび図14のBに別の実施形態の形で示している。図2に示すように、ディスク・ストレージ・システム110は、ストレージのページ・プール112、即ち、自由にデータを保存できるデータ・ストレージ空間のリストを含むデータ・ストレージのプールを含む。ページ・プール112は、RAID装置114のフリー・リストを維持し、読み出し/書き込みの割り当ての管理を、ユーザの要求に基づいて行う。ユーザの要求したデータ・ストレージ・ボリューム116は、ストレージ空間を得るために、ページ・プール112へと送られる。それぞれのボリュームは、同じまたは異なるRAIDレベル、例えば、RAID10、RAID5、RAID0などで、同じまたは異なるクラスのストレージ装置を要求することができる。   A disk storage system 100 with dynamic data allocation (or referred to as “disk drive virtualization”) in accordance with the principles of the present invention is shown in the form of one embodiment in FIG. A and FIG. 14B show another embodiment. As shown in FIG. 2, the disk storage system 110 includes a storage page pool 112, ie, a pool of data storage that includes a list of data storage spaces where data can be freely stored. The page pool 112 maintains a free list of RAID devices 114 and manages read / write assignments based on user requests. The user requested data storage volume 116 is sent to the page pool 112 to obtain storage space. Each volume can request the same or different class of storage devices at the same or different RAID levels, eg, RAID 10, RAID 5, RAID 0, etc.

本発明の動的なデータ割り当ての別の実施形態を、図14のAおよび図14のBに示しており、この例では、複数のディスク・ストレージ・システム・コントローラ1402と、複数のディスク・ストレージ・システム・コントローラ1402により制御されるディスク・ストレージ・ブロックのマトリックス1404とを有するディスク・ストレージ・システム1400は、そのシステムにおいて本発明の諸原理に従ってデータを動的に割り当てる。仮想ボリュームまたはブロックのマトリックス1404は、物理ディスクと関連づけるように提供される。仮想ボリュームまたはブロックのマトリックス1404は、複数のディスク・ストレージ・システム・コントローラ1402によって動的に監視/制御される。一実施形態では、それぞれの仮想ボリューム1404のサイズは、例えば2メガバイトのように、予め定めることができ、それぞれの仮想ボリューム1404の場所はデフォルトでnullとなっている。仮想ボリューム1404のそれぞれは、データが割り当てられるまでnullである。データは、そのマトリックスまたはプールの任意のグリッドに割り当てることができる(例えば、データがそのグリッドに割り当てられた後は、そのグリッド内の「ドット」になる)。そのデータが削除された後は、その仮想ボリューム1404は再び使用可能になり、「null」と示される。このため、余分な、時には高価なデータ・ストレージ装置、例えばRAID装置を、後に必要となったときに得ることができる。   Another embodiment of the dynamic data allocation of the present invention is illustrated in FIGS. 14A and 14B, in this example, a plurality of disk storage system controllers 1402 and a plurality of disk storages. A disk storage system 1400 having a matrix of disk storage blocks 1404 controlled by a system controller 1402 dynamically allocates data in that system in accordance with the principles of the present invention. A virtual volume or block matrix 1404 is provided to be associated with the physical disk. The virtual volume or block matrix 1404 is dynamically monitored / controlled by a plurality of disk storage system controllers 1402. In one embodiment, the size of each virtual volume 1404 can be predetermined, eg, 2 megabytes, and the location of each virtual volume 1404 is null by default. Each of the virtual volumes 1404 is null until data is allocated. Data can be assigned to any grid in the matrix or pool (eg, after the data is assigned to the grid, it becomes a “dot” in the grid). After the data is deleted, the virtual volume 1404 becomes available again and is shown as “null”. Thus, an extra and sometimes expensive data storage device, such as a RAID device, can be obtained later when needed.

従って、RAIDサブシステムは、仮想的な数のディスクにわたってRAID技法を使用することができる。残りのストレージ空間は自由に使用可能である。RAIDサブシステムのストレージ空間を監視し、そのストレージ空間の占有率を決定することにより、ユーザは、高価であるのに購入時点では用途のない大量のドライブを得なくても済む。このように、ドライブの追加を、ストレージ空間の増大する需要を満たすために実際に必要であるときに行うことにより、ディスク・ドライブの全体のコストが著しく低減される。一方、ドライブの使用の効率も著しく改善される。   Thus, the RAID subsystem can use RAID techniques across a virtual number of disks. The remaining storage space can be used freely. By monitoring the storage space of the RAID subsystem and determining the occupancy of the storage space, the user does not have to obtain a large number of drives that are expensive but are not used at the time of purchase. In this way, adding the drive when it is actually needed to meet the growing demand for storage space significantly reduces the overall cost of the disk drive. On the other hand, the efficiency of use of the drive is also significantly improved.

また、本発明のディスク・ドライブ・システムの動的なデータ割り当てにより、ストレージの仮想ボリューム・ページ・プール、または、ディスク・ストレージ・ブロックの仮想ボリューム・マトリックスの、スナップショット/ポイント・イン・タイム・コピーの効率のよいデータ・ストレージや、データ・リカバリおよびリモート・データ・ストレージのためのインスタント・データ・リプレイおよびデータ・インスタント・フュージョンや、データ・プログレッションが可能になる。   The dynamic data allocation of the disk drive system of the present invention also allows the snapshot / point-in-time of the virtual volume page pool of storage or the virtual volume matrix of disk storage blocks. Enables copy efficient data storage, instant data replay and data instant fusion for data recovery and remote data storage, and data progression.

ディスク・ドライブ・システム100における動的データ割り当てのシステムおよび方法ならびにその実装形態の結果として得られる上述の特徴および利点を、以下で詳細に論じる。   The above-described features and advantages resulting from dynamic data allocation systems and methods in disk drive system 100 and implementations thereof are discussed in detail below.

動的なデータ割り当て
図2Aに、ディスク・ドライブ・システムのRAIDサブシステムにおける従来のデータ割り当てを示し、ここでは、空けられたデータ・ストレージ空間は専属(captive)であり、データ・ストレージ用に割り当てることができない。
Dynamic Data Allocation FIG. 2A shows traditional data allocation in a disk drive system RAID subsystem, where the freed data storage space is captive and allocated for data storage. I can't.

図2Bには、本発明の諸原理に従ったディスク・ドライブ・システムのRAIDサブシステムにおけるデータ割り当てを示し、ここでは、データ・ストレージ用に使用可能である空けられたデータ・ストレージは、一緒にまとめられて、ページ・プール、例えば、本発明の一実施形態では1つのページ・プール、を形成する。   FIG. 2B illustrates data allocation in a RAID subsystem of a disk drive system in accordance with the principles of the present invention, where empty data storage that can be used for data storage is Together, they form a page pool, eg, one page pool in one embodiment of the invention.

図2Cに、本発明の諸原理に従った動的なデータ割り当ての方法200を示す。動的なデータの割り当ての方法200は、論理ブロックまたはディスク・ストレージ・ブロックのデフォルトのサイズを定義して、RAIDサブシステムのディスク空間がディスク・ストレージ・ブロックのマトリックスを形成するようにするステップ202と、データを書き込み、そのデータを、マトリックスの、「null」を示すディスク・ストレージ・ブロックに割り当てるステップ204とを含む。この方法は、更に、RAIDサブシステムのディスク空間の占有率を、そのRAIDサブシステムのディスク空間の占有率履歴に基づいて決定するステップ206と、更に別のディスク・ドライブが必要かどうかを判定し、必要な場合に、RAIDサブシステムへ通知を送るステップ208とを含む。一実施形態では、通知は電子メールによって送られる。更に、ディスク・ストレージ・ブロックのサイズはデフォルトに設定し、ユーザにより変更可能とすることができる。   FIG. 2C illustrates a method 200 for dynamic data allocation in accordance with the principles of the present invention. The dynamic data allocation method 200 defines a default size of logical blocks or disk storage blocks so that the disk space of the RAID subsystem forms a matrix of disk storage blocks 202. And writing 204 the data 204 and assigning the data to a disk storage block of “null” in the matrix. The method further determines step 206 that determines the disk space occupancy of the RAID subsystem based on the disk space occupancy history of the RAID subsystem and determines whether additional disk drives are required. Sending a notification to the RAID subsystem if necessary. In one embodiment, the notification is sent by email. Furthermore, the size of the disk storage block can be set to a default and can be changed by the user.

一実施形態では、動的なデータ割り当ては、時には「仮想化」または「ディスク空間仮想化」と呼ばれるものであり、数多くの読み出しおよび書き込みの要求を秒単位で効率よく取り扱う。このアーキテクチャでは、キャッシュ・サブシステムを直接に呼び出す割り込みハンドラが必要であることもある。動的なデータの割り当てでは、要求(リクエスト)をキューに入れないので要求の最適化はなされないが、一度に数多くの未解決(pending)の要求を有し得る。   In one embodiment, dynamic data allocation, sometimes referred to as “virtualization” or “disk space virtualization”, efficiently handles many read and write requests in seconds. This architecture may require an interrupt handler that calls the cache subsystem directly. Dynamic data allocation does not optimize requests because they do not queue requests, but can have many pending requests at once.

また、動的なデータの割り当てでは、データのインテグリティを維持し、データの内容をどのようなコントローラの障害に対しても保護することができる。そうするために、動的なデータの割り当てでは、状態情報を信頼性をもって記憶するためにRAID装置へ書き込む。   Also, dynamic data allocation can maintain data integrity and protect the data content against any controller failure. To do so, dynamic data allocation writes state information to the RAID device for reliable storage.

動的なデータの割り当てでは、更に、読み出しおよび書き込みの要求の順序を維持し、読み出しまたは書き込みの要求を、要求を受け取った順序で完了させることができる。動的なデータの割り当ては、最大のシステム可用性(availability)を提供し、異なる地理的場所へのデータのリモートの複製をサポートする。   Dynamic data allocation can further maintain the order of read and write requests and complete read or write requests in the order in which the requests were received. Dynamic data allocation provides maximum system availability and supports remote replication of data to different geographic locations.

更に、動的なデータの割り当ては、データ破壊からのリカバリ機能を提供する。スナップショットにより、ユーザは、過去におけるディスクの状態を閲覧することができる。   Furthermore, dynamic data allocation provides a recovery function from data corruption. The snapshot allows the user to view the state of the disc in the past.

動的なデータの割り当てでは、RAID装置を管理し、大規模な装置を作成し拡張するためのストレージ抽象化を提供する。   Dynamic data allocation manages RAID devices and provides storage abstraction for creating and expanding large devices.

動的なデータの割り当てでは、サーバに対して仮想ディスク装置を提示するものであり、この装置がボリューム(volume)と呼ばれる。サーバに対して、ボリュームは同じ働きをする。ボリュームは、シリアル番号に関して異なる情報を返し得るが、本質的にはディスク・ドライブのような働きをする。ボリュームは、より大きい動的なボリューム装置を作成するために、複数のRAID装置のストレージ抽象化を提供する。ボリュームは複数のRAID装置を含み、ディスク空間の効率的な使用を可能にする。   In dynamic data allocation, a virtual disk device is presented to a server, and this device is called a volume. For servers, volumes work the same way. Volumes can return different information regarding serial numbers, but essentially act like a disk drive. Volumes provide a storage abstraction for multiple RAID devices to create larger dynamic volume devices. A volume includes multiple RAID devices and allows efficient use of disk space.

図21に、従来の既存のボリューム論理ブロック・マッピングを示す。図14のCには、本発明の諸原理に従った、ストレージの仮想ボリュームのページ・プールの一実施形態のボリューム−RAIDページ再マッピングを示す。それぞれのボリュームは1組のページ、例えば、1、2、3などへと分割され、それぞれのRAIDは1組のページへと分割される。ボリュームのページ・サイズと、RAIDのページ・サイズとは、一実施形態では同じとすることができる。従って、本発明のボリューム−RAIDページ再マッピングの一例では、RAID−2を使用するページ#1がRAIDページ#1へとマッピングされる。   FIG. 21 shows a conventional existing volume logical block mapping. FIG. 14C illustrates a volume-RAID page remapping of one embodiment of a storage virtual volume page pool in accordance with the principles of the present invention. Each volume is divided into a set of pages, eg, 1, 2, 3, etc., and each RAID is divided into a set of pages. The volume page size and the RAID page size may be the same in one embodiment. Therefore, in an example of the volume-RAID page remapping according to the present invention, page # 1 using RAID-2 is mapped to RAID page # 1.

動的なデータの割り当てでは、ボリュームのデータ・インテグリティを維持する。データは、ボリュームへと書き込まれ、サーバへの確認が行われる。データ・インテグリティは、コントローラの障害を通して、スタンド・アロンや冗長なものを含めての様々なコントローラのコンフィギュレーションに適用される。コントローラの障害としては、電源障害、パワー・サイクル(power cycle)、ソフトウェア例外、およびハード・リセットがある。動的なデータの割り当てでは、一般には、RAIDでカバーされるディスク・ドライブ障害を取り扱わない。   Dynamic data allocation maintains volume data integrity. Data is written to the volume and confirmed with the server. Data integrity applies to various controller configurations, including stand-alone and redundant, through controller failures. Controller failures include power failures, power cycles, software exceptions, and hard resets. Dynamic data allocation generally does not handle disk drive failures covered by RAID.

動的なデータの割り当ては、コントローラに対する最も高レベルのデータ抽象化を提供する。動的なデータの割り当ては、フロント・エンドから要求を受理し、最終的にはRAID装置を使用してデータをディスクへ書き込む。   Dynamic data allocation provides the highest level of data abstraction for the controller. Dynamic data allocation accepts requests from the front end and ultimately uses a RAID device to write the data to disk.

動的なデータの割り当ては、幾つもの内部サブシステムを含む。
・キャッシュ − ボリュームへの読み出しおよび書き込みの動作を、サーバへの迅速な応答時間を提供し、データ・プラグインに対して書き込みをまとめることによって、スムーズにする。
・コンフィギュレーション − データ割り当てオブジェクトの作成、削除、取り出し、および変更の方法を含む。より高レベルのシステム・アプリケーションに対するツールボックスを作成するためのコンポーネントを提供する。
・データ・プラグイン − ボリュームの読み出しおよび書き込みの要求を、ボリューム・コンフィギュレーションに応じて、様々なサブシステムへ配布する。
・RAIDインターフェース − より大きいボリュームを作成するためのRAID装置抽象化を、ユーザおよび他の動的なデータの割り当てサブシステムに提供する。
・コピー/ミラー/スワップ − ボリュームのデータを、ローカルおよびリモートのボリュームへと複製する。一実施形態では、サーバの書き込まれたブロックのコピーのみを行うことができる。
・スナップショット − データの増分的(incremental)ボリューム・リカバリを提供する。過去のボリューム状態の閲覧ボリューム(View Volume)を即座に作成する。
・プロキシ・ボリューム − リモートの宛先ボリュームへの要求の通信を行えるようにして、リモート複製(Remote Replication)をサポートする。
・請求(billing) − 割り当てたストレージ、活動、パフォーマンス、およびデータのリカバリに対してユーザに料金請求する機能。
Dynamic data allocation involves several internal subsystems.
Cache-Smooth read and write operations to the volume by providing a quick response time to the server and bundling writes to the data plug-in.
Configuration—includes methods for creating, deleting, retrieving, and modifying data allocation objects. Provides components for creating toolboxes for higher level system applications.
Data plug-in—Distributes volume read and write requests to various subsystems depending on the volume configuration.
RAID interface—Provides a RAID device abstraction for creating larger volumes to users and other dynamic data allocation subsystems.
Copy / Mirror / Swap-Replicates volume data to local and remote volumes. In one embodiment, only the written block of the server can be copied.
Snapshot-provides incremental volume recovery of data. Instantly create a view volume in the past volume state.
Proxy volume—Supports remote replication by allowing communication of requests to a remote destination volume.
Billing-the ability to charge users for the recovery of allocated storage, activity, performance, and data.

また、動的なデータの割り当てでは、エラーおよびコンフィギュレーションにおける顕著な変更のログ記録も行う。   Dynamic data allocation also logs errors and significant changes in configuration.

図21に、サブシステムにおける外部データ・フローの一実施形態を示す。外部要求はフロント・エンドから来る。要求には、ボリューム情報取得(get volume information)、読み出し(read)、および書き込み(write)がある。すべての要求はボリュームIDをもつ。ボリューム情報は、ボリューム・コンフィギュレーション・サブシステムによって取り扱われる。読み出しおよび書き込みの要求はLBAを含む。また、書き込み要求はデータを含む。   FIG. 21 illustrates one embodiment of external data flow in the subsystem. External requests come from the front end. The requests include volume information acquisition (get volume information), reading (read), and writing (write). Every request has a volume ID. Volume information is handled by the volume configuration subsystem. Read and write requests include the LBA. The write request includes data.

動的なデータの割り当ては、ボリューム・コンフィギュレーションに応じて、要求を幾つもの外部レイヤへ渡す。リモート複製は、要求をフロント・エンドへ渡すが、あて先はリモートの宛先ボリュームである。RAIDインターフェースは要求をRAIDへ渡す。コピー/ミラー/スワップは、要求を、宛先ボリュームに対する動的データ割り当てへと戻す。   Dynamic data allocation passes requests to several external layers depending on the volume configuration. Remote replication passes the request to the front end, but the destination is the remote destination volume. The RAID interface passes the request to the RAID. Copy / mirror / swap returns the request to dynamic data allocation for the destination volume.

図22に、サブシステムにおける内部データ・フローの一実施形態を示す。内部データ・フローはキャッシュを行うことから始まる。キャッシュを行うと、書き込み要求がキャッシュに入れられるか、または、その要求が直接にデータ・プラグインへ渡される。キャッシュは、フロント・エンドのHBA装置からの直接DMAをサポートする。要求は迅速に完了され、応答がサーバに返される。データ・プラグイン・マネージャが、キャッシュより下の要求フローの中心である。それぞれのボリュームに対して、データ・プラグイン・マネージャは、要求ごとに、登録されたサブシステム・オブジェクトを呼び出す。   FIG. 22 illustrates one embodiment of internal data flow in the subsystem. Internal data flow begins with caching. When caching occurs, the write request is cached or the request is passed directly to the data plug-in. The cache supports direct DMA from the front end HBA device. The request is completed quickly and a response is returned to the server. The data plug-in manager is central to the request flow below the cache. For each volume, the data plug-in manager invokes the registered subsystem object for each request.

データ・インテグリティに影響を及ぼす動的データ割り当てサブシステムでは、コントローラの一貫性(コヒーレンシ)に対するサポートが必要となることがある。図23に示すように、それぞれのサブシステムは、独立してコヒーレンシを維持する。コヒーレンシの更新により、コヒーレンシ・リンクを通じてのデータ・ブロックのコピーを回避する。キャッシュのコヒーレンシでは、データをピア(peer)コントローラにコピーする必要があり得る。   Dynamic data allocation subsystems that affect data integrity may require support for controller coherency. As shown in FIG. 23, each subsystem maintains coherency independently. Coherency updates avoid copying data blocks over coherency links. For cache coherency, the data may need to be copied to a peer controller.

ディスク・ストレージ・システム・コントローラ
図14のAに、本発明の諸原理に従った、システムにおいて動的にデータを割り当てるための、複数のディスク・ストレージ・システム・コントローラ1402と、複数のディスク・ストレージ・システム・コントローラ1402により制御されるディスク・ストレージ・ブロックまたは仮想ボリュームのマトリックス1404とを有するディスク・ストレージ・システム1400を示す。図14のBには、ディスク・ストレージ・ブロックまたは仮想ボリュームの仮想ボリューム・マトリックス1404における動的なデータの割り当ての一実施形態を示す。
Disk Storage System Controller FIG. 14A illustrates a plurality of disk storage system controllers 1402 and a plurality of disk storages for dynamically allocating data in the system in accordance with the principles of the present invention. Shows a disk storage system 1400 with a matrix of disk storage blocks or virtual volumes 1404 controlled by the system controller 1402. FIG. 14B illustrates one embodiment of dynamic data allocation in a virtual volume matrix 1404 of disk storage blocks or virtual volumes.

ある動作では、ディスク・ストレージ・システム1400は、ディスク・ストレージ・ブロックまたは仮想ボリュームのマトリックス1404のスナップショットを、所定の時間間隔で時間的に生成し、スナップショットまたはデルタのアドレス・インデックスを、ディスク・ストレージ・ブロックまたは仮想ボリュームのマトリックス1404に保存して、ディスク・ストレージ・ブロックまたは仮想ボリュームのマトリックス1404のスナップショットまたはデルタが、保存したアドレス・インデックスによって直ちに見つけ出せるようにする。   In one operation, the disk storage system 1400 generates a snapshot of a matrix 1404 of disk storage blocks or virtual volumes over time at predetermined time intervals, and generates a snapshot or delta address index on the disk. Save to a storage block or virtual volume matrix 1404 so that a snapshot or delta of the disk storage block or virtual volume matrix 1404 can be immediately found by the stored address index.

更にある動作では、ディスク・ストレージ・システム・コントローラ1402は、ディスク・ストレージ・ブロックのマトリックス1404のスナップショットからデータ使用の頻度を監視し、そして、使用またはアクセスの頻度の低いデータほど、より安価なRAIDサブシステムへと移動させるようなエージング規則を適用する。同様に、より安価なRAIDサブシステム中のデータがより頻繁に使用され始めると、コントローラは、そのデータを、より高価なRAIDサブシステムへと移動させる。従って、ユーザは、ユーザ自身のストレージの必要性を満たすように所望のRAIDサブシステム・ポートフォリオを選ぶことができる。従って、ディスク・ドライブ・システムのコストを著しく低減させ、また、ユーザによる動的な制御を可能とする。   Further, in some operations, the disk storage system controller 1402 monitors the frequency of data usage from a snapshot of the disk storage block matrix 1404, and the less frequently used or accessed data is less expensive Apply aging rules to move to the RAID subsystem. Similarly, as data in a less expensive RAID subsystem begins to be used more frequently, the controller moves that data to a more expensive RAID subsystem. Thus, the user can select the desired RAID subsystem portfolio to meet the user's own storage needs. Thus, the cost of the disk drive system is significantly reduced and dynamic control by the user is possible.

RAID−ツー−ディスク・マッピング(RAID-to-Disk Mapping)
RAIDサブシステムおよびディスク・マネージャは、データを、複数のディスク・ドライブのディスク空間にわたって、RAID−ツー−ディスク・マッピングに基づいて、動的に割り当てる。一実施形態では、RAIDサブシステムおよびディスク・マネージャは、更に別のディスク・ドライブが必要かどうかを判定し、更に別のディスク・ドライブが必要である場合には通知を送る。
RAID-to-Disk Mapping
The RAID subsystem and disk manager dynamically allocates data across the disk space of multiple disk drives based on RAID-to-disk mapping. In one embodiment, the RAID subsystem and disk manager determine whether additional disk drives are needed and send notifications if additional disk drives are needed.

図15に、本発明の諸原理に従った、RAID−5サブシステム1500内の複数のディスク・ストレージ・ブロック1502〜1512へとマッピングされる3つのディスク・ドライブ108(図1)の例を示す。   FIG. 15 illustrates an example of three disk drives 108 (FIG. 1) mapped to a plurality of disk storage blocks 1502-1512 within a RAID-5 subsystem 1500 in accordance with the principles of the present invention. .

図16は、図15に示す3つのディスク・ドライブ108にディスク・ドライブ1602を追加した後の、ディスク・ドライブ・ストレージ・ブロックの再マッピング1600の例を示す。   FIG. 16 shows an example of disk drive storage block remapping 1600 after adding a disk drive 1602 to the three disk drives 108 shown in FIG.

ディスク・マネージャ
図1に示すディスク・マネージャ106は、一般には、ディスクおよびディスク・アレイの管理を行うものであり、それには、グループ化/資源プーリング、ディスク属性の抽象化、フォーマット、ディスクの追加(addition)/削減(subtraction)、およびディスク・サービス時間およびエラー率の追跡を含む。ディスク・マネージャ106は、ディスクの様々なモデルの間の違いを区別せず、RAIDコンポーネントについて包括的なストレージ装置を提示する。また、ディスク・マネージャ106はグループ化機能を提供し、これは、例えば10000RPMのディスクなどのような特定の特徴をもつRAIDグループの構築を容易にする。
Disk Manager The disk manager 106 shown in FIG. 1 generally manages disks and disk arrays, including grouping / resource pooling, disk attribute abstraction, formatting, and disk addition ( Includes tracking of addition / subtraction and disk service time and error rate. The disk manager 106 does not distinguish between the various models of disks and presents a comprehensive storage device for the RAID component. The disk manager 106 also provides a grouping function, which facilitates the creation of RAID groups with specific characteristics such as, for example, 10,000 RPM disks.

本発明の一実施形態では、ディスク・マネージャ106は、少なくとも3重のものとなっている。その3重のものとは、抽象化、コンフィギュレーション、およびI/O最適化である。ディスク・マネージャ106は、「ディスク」を上位レイヤに提示し、上位レイヤは、例えば、ローカルまたはリモートに取り付けられた物理ディスク・ドライブや、リモートに取り付けられたディスク・システムなどとすることができる。   In one embodiment of the present invention, the disk manager 106 is at least triple. The triples are abstraction, configuration, and I / O optimization. The disk manager 106 presents “disks” to an upper layer, which may be, for example, a local or remote attached physical disk drive, a remotely attached disk system, or the like.

共通の基礎にある特徴は、こうした装置の何れもがI/O動作のターゲットであり得ることである。抽象化サービスは、特にRAIDサブシステムのような上位レイヤに対して、一様なデータ・パス・インターフェースを提供し、そして、管理者に対して、ターゲット装置の管理のための包括的な機構を提供する。   A common underlying feature is that any of these devices can be the target of I / O operations. Abstraction services provide a uniform data path interface, especially for higher layers such as RAID subsystems, and provide administrators with a comprehensive mechanism for managing target devices. provide.

また、本発明のディスク・マネージャ106は、ディスクのグループ化機能を提供して管理およびコンフィギュレーションを簡素化する。ディスクには名前を付け、グループに入れることができ、グループにも名前を付けることができる。グループ化は強力な機能であり、これにより、ボリュームを或るディスクのグループから別のグループへと移行させるタスクや、或るグループのディスクを特定の機能専用にするタスクや、或るグループのディスクをスペアに指定するタスクなどのタスクを簡単にする。   The disk manager 106 of the present invention also provides a disk grouping function to simplify management and configuration. You can name disks and put them in groups, and you can name groups. Grouping is a powerful feature that allows you to perform tasks such as moving a volume from one group of disks to another, dedicating a group of disks to a specific function, or a group of disks. Simplify tasks such as specifying a spare as a spare.

また、ディスク・マネージャは、外部装置の存在を検出する役目をもつSCSI装置サブシステムなどのような装置とインターフェースを行う。SCSI装置サブシステムは、少なくともファイバ・チャネル/SCSIタイプの装置については、ブロック型のターゲット装置である装置のサブセットを判定する能力をもつ。ディスク・マネージャが管理および抽象化を行うのはこうした装置である。   The disk manager also interfaces with devices such as a SCSI device subsystem that is responsible for detecting the presence of external devices. The SCSI device subsystem has the ability to determine a subset of devices that are block target devices, at least for Fiber Channel / SCSI type devices. It is these devices that are managed and abstracted by the disk manager.

更に、ディスク・マネージャは、SCSI装置レイヤからのフロー制御に応答する役目をもつ。ディスク・マネージャは、キューイング機能を有し、これにより、ディスク・ドライブ・システムのスループットを最適化する一方法として、I/O要求を集合させる機会が与えられる。   In addition, the disk manager is responsible for responding to flow control from the SCSI device layer. The disk manager has a queuing function that provides an opportunity to aggregate I / O requests as a way to optimize the throughput of the disk drive system.

更に、本発明のディスク・マネージャは、複数のディスク・ストレージ・システム・コントローラを管理する。また、複数の冗長ディスク・ストレージ・システム・コントローラを実装して、動作させられるディスク・ストレージ・システム・コントローラの障害をカバーすることができる。この冗長ディスク・ストレージ・システム・コントローラもディスク・マネージャによって管理される。   Furthermore, the disk manager of the present invention manages a plurality of disk storage system controllers. A plurality of redundant disk storage system controllers can also be implemented to cover the failure of the disk storage system controller to be operated. This redundant disk storage system controller is also managed by the disk manager.

ディスク・マネージャと他のサブシステムとの関係
ディスク・マネージャは、他の幾つかのサブシステムとやり取りを行う。RAIDサブシステムは、データ・パス活動に関してディスク・マネージャが提供するサービスの重要なクライアントである。RAIDサブシステムは、ディスク・マネージャを、I/Oのためのディスクへの独占的なパスとして使用する。また、RAIDシステムでも、ディスク・マネージャからのイベントについて聴取を行い、ディスクの存在および動作状態の判定を行う。また、RAIDサブシステムはディスク・マネージャと協働して、RAID装置の構築のための範囲(extent)を割り当てる。管理コントロールは、ディスクの存在の情報を得るため、また動作状態の変化について情報を得るために、ディスク・イベントについて聴取を行う。本発明の一実施形態では、RAIDサブシステム104は、RAID−0、RAID−1、RAID−5、RAID−10などのRAIDタイプのうちの少なくとも1つからなる組合せを含むことができる。代替のRAIDサブシステムでは、RAID−3、RAID−4、RAID−6、RAID−7などのような他のRAIDタイプを使用できることも理解されよう。
Relationship between the disk manager and other subsystems The disk manager interacts with several other subsystems. The RAID subsystem is an important client of services provided by the disk manager with respect to data path activity. The RAID subsystem uses the disk manager as an exclusive path to the disk for I / O. The RAID system also listens for events from the disk manager to determine the presence and operating state of the disk. The RAID subsystem also cooperates with the disk manager to allocate extents for the construction of RAID devices. The administrative control listens for disk events to obtain information about the presence of the disk and to obtain information about changes in operating conditions. In one embodiment of the present invention, the RAID subsystem 104 may include a combination of at least one of RAID types such as RAID-0, RAID-1, RAID-5, RAID-10. It will also be appreciated that other RAID types may be used in alternative RAID subsystems, such as RAID-3, RAID-4, RAID-6, RAID-7, etc.

本発明の一実施形態では、ディスク・マネージャは、コンフィギュレーション・アクセスのサービスを使用して、持続的なコンフィギュレーションを保存し、また、統計などのような過渡的な読み出し専用情報をプレゼンテーション・レイヤへ提示する。ディスク・マネージャは、こうしたパラメータへのアクセスのためにコンフィギュレーション・アクセスへのハンドラの登録を行う。   In one embodiment of the present invention, the disk manager uses a configuration access service to store persistent configurations and to transfer transient read-only information such as statistics etc. to the presentation layer. To present. The disk manager registers a handler for configuration access to access these parameters.

また、ディスク・マネージャは、ブロック・デバイスの存在および動作状態についての情報を得るためにSCSI装置レイヤのサービスを使用するものであり、また、こうしたブロック・デバイスへのI/Oパスをもつ。ディスク・マネージャは、ディスクを一意に識別するための補助的な方法として、装置についてSCSI装置サブシステムに問い合わせを行う。   The disk manager also uses SCSI device layer services to obtain information about the presence and operational status of block devices and has an I / O path to such block devices. The disk manager queries the SCSI device subsystem for devices as an auxiliary method for uniquely identifying a disk.

データ・インスタント・リプレイおよびデータ・インスタント・フュージョン
また、本発明は、データ・インスタント・リプレイ(data instant replay)およびデータ・インスタント・フュージョン(data instant fusion)の方法を提供する。図3のAおよびBに、本発明の諸原理に従った、複数の時間間隔でのRAIDサブシステムのディスク・ストレージ・ブロックのスナップショットの概略図を示す。図3Cには、データ・インスタント・リプレイの方法300を示し、この方法は、論理ブロックまたはディスク・ストレージ・ブロックのデフォルトのサイズを定義して、RAIDサブシステムのディスク空間がストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスを形成するようにするステップ302と、ページ・プールのボリュームのスナップショットまたはディスク・ストレージ・ブロックのマトリックスのスナップショットを所定の時間間隔で時間的に生成するステップ304と、スナップショットまたはデルタ(delta)のアドレス・インデックスを、ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスに保存して、ディスク・ストレージ・ブロックのマトリックスのスナップショットまたはデルタをその保存したアドレス・インデックスによって直ちに見つけ出せるようにするステップとを含む。
Data Instant Replay and Data Instant Fusion The present invention also provides methods for data instant replay and data instant fusion. FIGS. 3A and 3B show schematic diagrams of RAID subsystem disk storage block snapshots at multiple time intervals in accordance with the principles of the present invention. FIG. 3C illustrates a data instant replay method 300 that defines a default size for logical blocks or disk storage blocks, where the disk space of the RAID subsystem is a storage page pool or A step 302 of forming a matrix of disk storage blocks; a step 304 of generating a snapshot of a page pool volume or a matrix of disk storage blocks in time at predetermined time intervals; , Store snapshot or delta address index in storage page pool or disk storage block matrix, And a step of immediately Mitsukedaseru as by the saved address index a snapshot or delta.

図3Bに示すように、所定の各時間間隔、例えば、T1(午後12:00)、T2(午後12:05)、T3(午後12:10)、T4(午後12:15)などのような5分毎に、ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスのスナップショットが自動的に生成される。ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスの中のスナップショットまたはデルタのアドレス・インデックスは、ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスに保存されて、ストレージのページ・プールまたはディスク・ストレージ・ブロックのマトリックスのスナップショットまたはデルタを、その保存したアドレス・インデックスによって直ちに見つけ出せるようにされる。   As shown in FIG. 3B, predetermined time intervals such as T1 (12:00 pm), T2 (12:05 pm), T3 (12:10 pm), T4 (12:15 pm), etc. Every 5 minutes, a snapshot of a matrix of storage page pools or disk storage blocks is automatically generated. The snapshot or delta address index in the storage page pool or disk storage block matrix is stored in the storage page pool or disk storage block matrix and stored in the storage page pool or disk storage block matrix. A snapshot or delta of the disk storage block matrix is made immediately discoverable by its stored address index.

従って、このデータ・インスタント・リプレイの方法では、RAIDサブシステムのスナップショットを、ユーザの定義する時間間隔や、ユーザのコンフィギュレーションする例えば数分や数時間ごとなどのような動的なタイム・スタンプや、サーバの指示する時刻に、時間的に生成する。システム障害やウイルス攻撃にあった場合、こうしたタイム・スタンプを有する仮想スナップショットにより、データ・インスタント・リプレイおよびデータ・インスンタント・リカバリが、約数分または数時間などで可能になる。この技法は、インスタント・リプレイ・フュージョンとも呼ばれる。即ち、クラッシュまたは攻撃のすぐ前のデータのフュージョンが遅れずに行われ、クラッシュまたは攻撃の前に保存したスナップショットを直ちにそれ以降の動作で使用することができる。   Therefore, in this data instant replay method, a snapshot of the RAID subsystem can be created using a user-defined time interval or a dynamic time stamp such as every few minutes or hours configured by the user. Or, it is generated temporally at the time indicated by the server. In the event of a system failure or virus attack, virtual snapshots with these time stamps allow data instant replay and data instant recovery in about minutes or hours. This technique is also called instant replay fusion. That is, the data immediately before the crash or attack is fused without delay, and the snapshot saved before the crash or attack can be used immediately in subsequent operations.

図4に、本発明の諸原理に従った、RAIDサブシステムのディスク・ストレージ・ブロックの複数のスナップショットを使用することによるデータ・インスタント・フュージョン機能400の概略図を更に示している。T3で、スナップショットの並列チェインT3’〜T5’が生成され、それにより、フュージョンされたデータT3’によってフュージョンおよび/またはリカバリされたデータを、T4でフュージョンされるデータと置き換えるために使用することができる。同様に、スナップショットの複数の並列チェインT3’’、T4’’’を生成して、T4’〜T5’およびT4’’〜T5’’でフュージョンされるデータと置き換えることができる。一代替実施形態では、T4、T4’〜T5’、T5’’でのスナップショットは、なおもページ・プールまたはマトリックスに保存することができる。   FIG. 4 further illustrates a schematic diagram of a data instant fusion function 400 by using multiple snapshots of a RAID subsystem disk storage block in accordance with the principles of the present invention. At T3, a snapshot parallel chain T3′-T5 ′ is generated, which is used to replace the data fused and / or recovered by the fused data T3 ′ with the data fused at T4 Can do. Similarly, multiple parallel chains T3 ", T4" "of the snapshot can be generated and replaced with the data fused at T4'-T5 'and T4" -T5 ". In an alternative embodiment, snapshots at T4, T4'-T5 ', T5 "can still be stored in a page pool or matrix.

スナップショットをローカルのRAIDサブシステムまたはリモートのRAIDサブシステムに保存することができ、それにより、重大なシステム・クラッシュが、例えば、テロリスト攻撃などが原因で生じた場合にも、データ・インテグリティについて影響を受けず、データを直ちにリカバリできる。図5に、本発明の諸原理に従った、RAIDサブシステムのディスク・ストレージ・ブロックのスナップショットを使用することによる、ローカル−リモートのデータ複製およびインスタント・リプレイ機能500の概略図を示す。   Snapshots can be saved to a local RAID subsystem or a remote RAID subsystem, which can affect data integrity if a serious system crash occurs, for example, due to a terrorist attack Data can be recovered immediately. FIG. 5 shows a schematic diagram of a local-remote data replication and instant replay function 500 by using a RAID subsystem disk storage block snapshot in accordance with the principles of the present invention.

リモート複製(replication)は、リモート・システムに対してボリューム・データを複製するサービスを行う。リモート複製では、ローカルとリモートとのボリュームを、可能な限り同期させた状態に保つことを試みる。一実施形態では、リモートのボリュームのデータが、ローカルのボリュームのデータの完全なコピーをミラーリングしていないこともあり得る。ネットワークの接続性(コネクティビティ)およびパフォーマンスに起因して、リモートのボリュームがローカルのボリュームと同期しない状態が引き起こされる場合もあり得る。   Remote replication provides a service for replicating volume data to a remote system. Remote replication attempts to keep the local and remote volumes as synchronized as possible. In one embodiment, the remote volume data may not mirror a complete copy of the local volume data. Due to network connectivity and performance, remote volumes may be out of sync with local volumes.

データ・インスタント・リプレイおよびデータ・インスタント・フュージョンの方法の別の特徴は、スナップショットを、システムが動作している状態で検査のために使用できることである。生のデータ(live data)をリアル・タイムの検査に使用することができる。   Another feature of the data instant replay and data instant fusion methods is that the snapshot can be used for inspection while the system is operating. Live data can be used for real-time inspection.

スナップショットおよびポイント・イン・タイム・コピー(PITC)
データ・インスタント・リプレイの一例は、本発明の諸原理に従った、RAIDサブシステムのディスク・ストレージ・ブロックのスナップショットを使用することである。スナップショットは、ボリュームへの書き込み動作を記録して、過去のボリュームの内容を見るためにビューを作成できるようにする。また、スナップショットは、ボリュームのそれまでのポイント・イン・タイム・コピー(Point-in-Time-Copy(特定の時にとられたコピー)、PITC)に対するビューを作成することによって、データ・リカバリのサポートを行う。
Snapshot and point-in-time copy (PITC)
One example of data instant replay is the use of RAID subsystem disk storage block snapshots in accordance with the principles of the present invention. Snapshots record volume write operations and allow views to be created for viewing past volume contents. Snapshots can also be used for data recovery by creating a view of the volume's previous point-in-time copy (PITC). Provide support.

スナップショットのコアは、スナップショットの作成、合体(coalesce)、管理、およびI/O動作を実現する。スナップショットは、ボリュームへの書き込みを監視し、ボリュームのビューを通してアクセスのためにポイント・イン・タイム・コピー(PITC)を作成する。スナップショットは、論理ブロック・アドレス(logical block address、LBA)再マッピング・レイヤを、仮想化レイヤ内のデータ・パスへ追加する。これは、I/Oパス内の仮想LBAマッピングの別レイヤである。PITCは、すべてのボリューム情報をコピーしない場合もあり得、単に再マッピングで使用されるテーブルを変更するだけであり得る。   The snapshot core implements snapshot creation, coalesce, management, and I / O operations. The snapshot monitors writes to the volume and creates a point-in-time copy (PITC) for access through a view of the volume. Snapshot adds a logical block address (LBA) remapping layer to the data path in the virtualization layer. This is another layer of virtual LBA mapping in the I / O path. PITC may not copy all volume information and may simply change the table used for remapping.

スナップショットは、ボリューム・データについての変更を追跡し、それまでのポイント・イン・タイムからのボリューム・データを見る機能を提供する。スナップショットは、この機能を、それぞれのPICTに対するデルタ書き込みのリストを維持することによって、行う。   Snapshots provide the ability to track changes to volume data and view volume data from previous point in time. Snapshots perform this function by maintaining a list of delta writes for each PICT.

スナップショットは、PITCプロファイルのための複数の方法を提供するが、これは、アプリケーションにより開始されるもの、および時間により開始されるものを含む。スナップショットは、アプリケーションがPITCを作成するようにする機能を提供する。アプリケーションは、作成を、サーバ上のAPIを通して制御し、これはスナップショットAPIへと送られる。また、スナップショットは、時間プロファイルを作成する機能を提供する。   Snapshots provide multiple methods for PITC profiles, including those initiated by applications and those initiated by time. Snapshot provides functionality that allows an application to create a PITC. The application controls creation through an API on the server, which is sent to the snapshot API. The snapshot also provides a function for creating a time profile.

スナップショットは、ジャーナル用システムの実装や、ボリュームへの書き込みのすべてのリカバリを行わない場合もあり得る。スナップショットは、PITCウィンドウ内の一つのアドレスへの最後の書き込みを保持するのみであり得る。スナップショットにより、ユーザは、例えば分や時間などの定められた短期間をカバーするPITCを作成することが可能とされる。スナップショットは、障害を取り扱うために、すべての情報をディスクに書き込む。スナップショットは、デルタ書き込み(delta writes)を含むボリューム・データ・ページ・ポインタを維持する。テーブルはマップをボリューム・データへ提供するものであり、これがなければボリューム・データへはアクセス不能であるため、テーブル情報はコントローラ障害の場合を取り扱わなければならない。   Snapshots may not implement journaling systems or recover all writes to volumes. A snapshot may only keep the last write to one address in the PITC window. The snapshot enables the user to create a PITC that covers a defined short period such as minutes or hours. A snapshot writes all information to disk to handle failures. The snapshot maintains a volume data page pointer that contains delta writes. The table provides a map to the volume data, and without it, the volume data is inaccessible, so the table information must handle the case of a controller failure.

ビュー・ボリューム機能(ボリュームを見る機能)により、PITCへのアクセスが提供される。ビュー・ボリューム機能は、アクティブなPITCを除き、そのボリューム内の任意のPITCに付加させることができる。PITCへの付加は、比較的迅速な動作である。ビュー・ボリューム機能の用途は、検査、訓練、バックアップ、およびリカバリを含む。ビュー・ボリューム機能は、書き込み動作を可能にし、その基礎とされている基礎的PITCの変更は行わない。   A view volume function (a function to view a volume) provides access to the PITC. The view volume function can be attached to any PITC in the volume except the active PITC. Appending to PITC is a relatively quick operation. Uses of the view volume function include inspection, training, backup, and recovery. The view volume function allows write operations and does not change the underlying PITC that is based on it.

一実施形態では、スナップショットは、ディスク空間を使用して、パフォーマンスを最適化し、使用を容易にするように設計されおり、それは下記のようである。   In one embodiment, the snapshot is designed to use disk space to optimize performance and facilitate use, as follows:

・スナップショットにより、ユーザ要求に対する応答時間が速くなる。ユーザ要求には、I/O、PITCの作成、ビュー・ボリュームの作成/削除が含まれる。これを達成するために、スナップショットは、必要最小量よりも多くのディスク空間を使用してテーブル情報を保存する。I/Oについては、スナップショットは、ボリュームの現在の状態を要約して一つのテーブルにして、読み出しおよび書き込みの要求をすべて一つのテーブルで満たすことができるようにする。スナップショットは、通常のI/O動作に対する影響をできる限り低減する。第2に、ビュー・ボリューム動作については、スナップショットは、メイン・ボリュームのデータ・パスと同じテーブル機構を使用する。   ・ Snapshots increase response time for user requests. User requests include I / O, PITC creation, and view volume creation / deletion. To accomplish this, the snapshot uses more disk space than necessary to store table information. For I / O, the snapshot summarizes the current state of the volume into a single table so that all read and write requests can be satisfied by a single table. Snapshots reduce the impact on normal I / O operations as much as possible. Second, for view volume operations, the snapshot uses the same table mechanism as the main volume data path.

・スナップショットは、コピーされるデータの量を最小化する。このためには、スナップショットは、それぞれのPITCについてのポインタのテーブルを維持する。スナップショットはポインタのコピーおよび移動を行うが、ボリューム上のデータの移動は行わない。   • Snapshot minimizes the amount of data copied. For this, the snapshot maintains a table of pointers for each PITC. Snapshots copy and move pointers, but do not move data on the volume.

・スナップショットは、固定サイズのデータ・ページを用いてボリュームの管理を行う。個々のセクタを追跡するには、一つの手頃なサイズのボリュームでも膨大な量のメモリが必要になる。セクタよりも大きなデータ・ページを使用することにより、ある種のページは、別のページから直接に複製された情報の一部を含むことができる。   • Snapshot manages volumes using fixed-size data pages. Tracking individual sectors requires a huge amount of memory, even with a single affordable volume. By using a data page that is larger than a sector, one type of page can contain some of the information that is replicated directly from another page.

・スナップショットは、ボリューム上のデータ空間を使用して、データ・ページ・テーブルを保存する。ルックアップ・テーブルは、コントローラ障害の後に複製される。ルックアップ・テーブルは、ページを割り当て、それをさらに分割する。   Snapshot uses the data space on the volume to store the data page table. The lookup table is replicated after a controller failure. The lookup table allocates pages and further divides them.

・スナップショットがコントローラ障害を取り扱うが、その際、一実施形態では、スナップショットを用いるボリュームが一つのコントローラ上で動作することが必要とされる。この実施形態ではコヒーレンシは必要ない。ボリュームへのすべての変更は、代替のコントローラによるリカバリのために、ディスクまたは信頼できるキャッシュへ記録される。コントローラ障害からのリカバリの際には、一実施形態では、スナップショット情報をディスクから読み取ることが必要である。   -Snapshots handle controller failures, but in one embodiment, a volume that uses snapshots is required to run on one controller. In this embodiment, coherency is not required. All changes to the volume are recorded to disk or reliable cache for recovery by the alternate controller. Upon recovery from a controller failure, in one embodiment, it is necessary to read snapshot information from the disk.

・スナップショットは、仮想RAIDインターフェースを使用して、ストレージへのアクセスを行う。スナップショットは、複数のRAID装置を単一のデータ空間として使用することができる。   -Snapshot uses the virtual RAID interface to access the storage. Snapshots can use multiple RAID devices as a single data space.

・スナップショットは、ボリュームあたり「n」個のPITCおよびボリュームあたり「m」個のビューをサポートする。「n」および「m」に対する制限は、ディスク空間およびコントローラのメモリの関数となる。   Snapshot supports “n” PITCs per volume and “m” views per volume. The limits on “n” and “m” are a function of disk space and controller memory.

ボリュームおよびボリュームの割り当て/レイアウト
スナップショットは、LBA再マッピング・レイヤをボリュームに追加する。再マッピングは、I/O要求LBAおよびルックアップ・テーブルを使用して、アドレスをデータ・ページへと変換する。図6に示すように、スナップショットを用いた提示されるボリュームは、スナップショットのないボリュームと同じふるまいをする。それは、線形LBA空間を有し、I/O要求を取り扱う。スナップショットは、RAIDインターフェースを使用してI/Oを行うものであり、複数のRAID装置を1つのボリュームに含める。一実施形態では、スナップショット・ボリュームに対するRAID装置のサイズは、提示されるボリュームのサイズではない。RAID装置により、スナップショットは、ボリューム内でデータ・ページ用の空間を拡張することを可能とされる。
Volumes and volume allocation / layout Snapshot adds an LBA remapping layer to the volume. The remapping uses an I / O request LBA and a look-up table to translate addresses into data pages. As shown in FIG. 6, a presented volume using a snapshot behaves the same as a volume without a snapshot. It has a linear LBA space and handles I / O requests. The snapshot performs I / O using a RAID interface, and includes a plurality of RAID devices in one volume. In one embodiment, the size of the RAID device for the snapshot volume is not the size of the presented volume. The RAID device allows snapshots to expand the space for data pages within the volume.

新しいボリュームは、初めにスナップショットをイネーブルにしてあると、新しいデータ・ページ用の空間を含めればよいだけである。スナップショットは、ボトム・レベルのPITCに置くページのリストを作成しない。ボトム・レベルPITCは、この場合には空である。割り当て時に、すべてのPITCページはフリー・リスト上にある。初めにスナップショットをイネーブルにしたボリュームを作することにより、ボリュームが提示するよりも少ない物理空間を割り当て得る。スナップショットは、ボリュームへの書き込みを追跡する。本発明の一実施形態では、ヌル(NULL)・ボリュームは、ページ・プールまたはマトリックスへコピーおよび/または保存されず、これにより、ストレージ空間の使用の効率が高まる。   The new volume only needs to include space for new data pages if the snapshot is initially enabled. Snapshots do not create a list of pages to put in the bottom level PITC. The bottom level PITC is empty in this case. At the time of allocation, all PITC pages are on the free list. By initially creating a volume with snapshots enabled, less physical space can be allocated than the volume presents. Snapshots track writes to the volume. In one embodiment of the present invention, NULL volumes are not copied and / or stored in the page pool or matrix, thereby increasing the efficiency of storage space usage.

一実施形態では、どちらの割り当て方式でも、PITCが、仮想NULLボリュームをリストの底部に置く。NULLボリュームに対する読み出しは、ゼロのブロックを返す。NULLボリュームは、サーバがそれまで書き込んでいないセクタを取り扱う。NULLボリュームへの書き込みは起こり得ない。ボリュームは、NULLボリュームを、書き込まれていないセクタに対する読み出しのために使用する。   In one embodiment, with either allocation scheme, PITC places the virtual NULL volume at the bottom of the list. A read on a NULL volume returns a zero block. A NULL volume handles sectors that the server has not written so far. Writing to a NULL volume cannot occur. The volume uses a NULL volume for reading to unwritten sectors.

空きページの数は、ボリュームのサイズ、PITCの数、および予測されるデータ変化レートに依存する。システムは、所与のボリュームに対しての割り当てるページの数を決定する。データ・ページの数は、時間が経つにつれて拡張される可能性がある。拡張により、予測されるよりも急速なデータの変化、より多くのPITC、またはより大きなボリュームを、サポートすることができる。新しいページはフリー・リストへ追加される。フリー・リストへのページの追加は自動的に行ってもよい。   The number of free pages depends on the size of the volume, the number of PITCs, and the expected data change rate. The system determines the number of pages to allocate for a given volume. The number of data pages can grow over time. Expansion can support more rapid data changes, more PITC, or larger volumes than expected. New pages are added to the free list. Adding pages to the free list may be done automatically.

スナップショットは、ボリューム空間の管理のためにデータ・ページを使用する。それぞれのデータ・ページは数メガバイトのデータを含み得る。オペレーティング・システムを使用すると、ボリュームの同じ領域へ多くのセクタが書き込まれる傾向がある。メモリ要件からも、スナップショットがボリュームの管理のためにページを使用することが要求される。1テラバイトのボリュームの各セクタについて一つの32ビットポインタを維持すると、8ギガバイトのRAMが必要となり得る。異なるボリュームは異なるページ・サイズを有し得る。   Snapshot uses data pages for volume space management. Each data page may contain several megabytes of data. Using an operating system tends to write many sectors to the same area of the volume. Memory requirements also require that snapshots use pages for volume management. Maintaining one 32-bit pointer for each sector of a 1 terabyte volume may require 8 gigabytes of RAM. Different volumes can have different page sizes.

図7に、スナップショット構造の一実施形態を示す。スナップショットは、多くのオブジェクトをボリューム構造に付加する。付加されるオブジェクトとしては、PITC、アクティブなPITCへのポインタ、データ・ページ・フリー・リスト、子のビュー・ボリューム、およびPITC合体オブジェクトがある。   FIG. 7 illustrates one embodiment of a snapshot structure. Snapshots add many objects to the volume structure. Added objects include PITC, pointer to active PITC, data page free list, child view volume, and PITC coalesced object.

・アクティブPITC(AP)ポインタはボリュームにより維持される。APは、ボリュームに対する読み出しおよび書き込みの要求のマッピングを取り扱う。APは、ボリューム内のすべてのデータの現在の場所の要約(一覧、summary)を含む。   The active PITC (AP) pointer is maintained by the volume. The AP handles the mapping of read and write requests to the volume. The AP contains a summary of the current location of all data in the volume.

・データ・ページ・フリー・リストは、ボリューム上の使用可能なページの追跡を行う。   Data page free list keeps track of available pages on the volume.

・オプションの子ビュー・ボリューム(child view volume)は、ボリュームPITCへのアクセスを提供する。ビュー・ボリュームは、PITCへの書き込みを記録するためにそれ自体のAPを含むが、基礎となるデータの変更は行わない。1つのボリュームが複数の子ビュー・ボリュームをサポートしてもよい。   An optional child view volume provides access to the volume PITC. The view volume contains its own AP to record writes to the PITC, but does not change the underlying data. One volume may support multiple child view volumes.

・スナップショット合体オブジェクトは、以前のPITCを取り除く目的で2つのPITCを一時的にリンクする。PITCの合体は、データ・ページの所有権を移動し、データ・ページを解放することを含む。   A snapshot coalescing object temporarily links two PITCs for the purpose of removing the previous PITC. PITC coalescing involves transferring ownership of a data page and releasing the data page.

・PITCは、そのPITCがアクティブであった間に書き込まれたページに対するテーブルおよびデータ・ページを含む。PITCは、PITCが書き込み要求の受理を停止した時点の凍結タイム・スタンプを含む。また、PITCは、何れの時間にPITCが合体することになるかを決めるTime−to−Live(タイム・ツー・ライブ、生きる時間)値を含む。   PITC contains tables and data pages for pages written while the PITC was active. The PITC includes a freeze time stamp at which the PITC stops accepting write requests. The PITC also includes a Time-to-Live (Time to Live) value that determines at what time the PITC will merge.

また、スナップショットは、ボリューム全体に対するデータ・ページ・ポインタの要約を、PITCが取られた時点で行って、読み出しおよび書き込みの予測可能なパフォーマンスを提供する。他の解決策は、最新のポインタを見つけるために複数のPITCを検査するために、読み出しを必要とし得る。こうした解決策では、テーブル・キャッシング・アルゴリズムが必要であるが、パフォーマンスは最低となる場合がある。   Snapshots also summarize data page pointers for the entire volume at the time the PITC is taken to provide predictable performance of reads and writes. Other solutions may require reading to examine multiple PITCs to find the latest pointer. Such a solution requires a table caching algorithm, but performance may be minimal.

また、本発明におけるスナップショットを要約することにより、テーブルの最悪のメモリ使用が低減される。その場合、テーブル全体をメモリへロードすることを必要とされ得るが、単一のテーブルだけをロードすることを必要とされ得る。   Also, by summarizing snapshots in the present invention, the worst memory usage of the table is reduced. In that case, it may be required to load the entire table into memory, but only a single table may be required to be loaded.

要約(一覧)は、現在のPITCの所有するページを含むが、それまでのすべてのPITCからのページを含むことができる。PITCがどのページに書き込みを行うかを決定するために、それぞれのデータ・ページについてのページ所有権を追跡する。また、一覧は、合体プロセスに対する所有権の追跡も行う。これを取り扱うために、データ・ページ・ポインタはページ・インデックスを含む。   The summary (list) includes pages owned by the current PITC, but can include pages from all previous PITCs. Track page ownership for each data page to determine which page PITC writes to. The list also tracks ownership of the coalescing process. To handle this, the data page pointer contains a page index.

図8に、PITCのライフ・サイクルの一実施形態を示す。それぞれのPITCは、読み出し専用として記憶(コミット)される前に、多数の下記の状態を経過する。   FIG. 8 illustrates one embodiment of a PITC life cycle. Each PITC goes through a number of the following states before being stored (committed) as read-only.

1.テーブル作成 − 作成を行うと、テーブルが作成される。   1. Create table-Creates a table.

2.ディスクへのコミット(記憶、commit) − これは、PITCに対してディスク上にストレージを生成する。この時点でテーブルを書き込むことにより、テーブル情報の保存に必要な空間が、PITCが取られる前に割り当てられることが保証される。同時に、PITCオブジェクトもディスクへ記憶(コミット)される。   2. Commit to disk-this creates storage on disk for PITC. Writing the table at this point ensures that the space required to store the table information is allocated before the PITC is taken. At the same time, the PITC object is also stored (committed) on the disk.

3.I/Oの受け入れ − これはPITCはアクティブPITC(AP)になっている。 − ここでは、PITCは、ボリュームに対する読み出しおよび書き込みの要求を取り扱う。これは、テーブルへの書き込み要求を受理する唯一の状態である。PITCは、いまアクティブであるというイベントを生成する。   3. Accept I / O-This is the PITC is the active PITC (AP). Here, PITC handles read and write requests to the volume. This is the only state that accepts a write request to the table. PITC generates an event that is now active.

4.ディスクへのテーブルの記憶 − PITCはもはやAPではなく、もはやそれ以上のページを受理しない。新しいAPによる引き継ぎが行われている。この時点より後では、テーブルは、合体動作中に取り除かれない限り、変更されない。これは読み出し専用である。PITCは、この時点で、凍結され記憶されているというイベントを生成する。何れのサービスもそのイベントを聴取することができる。   4). Store table on disk-PITC is no longer an AP and no longer accepts more pages. A new AP is taking over. After this point, the table is not changed unless it is removed during the coalescing operation. This is read-only. At this point, PITC generates an event that is frozen and stored. Any service can listen to the event.

5.テーブルのメモリの解放(リリース) − テーブルが必要とするメモリを解放する。また、このステップは、変更がすべてディスクへと書き込まれていることを示すために、ログをクリアする。   5. Freeing table memory (release)-Frees memory required by a table. This step also clears the log to indicate that all changes have been written to disk.

ボリュームまたはビュー・ボリュームのためのトップ・レベルPITCは、アクティブPITC(AP)と呼ばれる。APは、ボリュームへのすべての読み出しおよび書き込みの要求を満たす。APは、そのボリュームに対しての唯一の、書き込み要求を受理できるPITCである。APは、ボリューム全体に対するデータ・ページ・ポインタの一覧を含む。   The top level PITC for a volume or view volume is called active PITC (AP). The AP fulfills all read and write requests to the volume. The AP is the only PITC that can accept write requests for that volume. The AP contains a list of data page pointers for the entire volume.

APは、合体プロセスに関して、宛先(destination)となることはできるが、ソース(source)となることはできない。宛先である場合、APは、所有するページの数を増加するが、データのビューは変更しない。   An AP can be a destination but not a source for a coalescing process. If it is a destination, the AP increases the number of pages it owns, but does not change the view of the data.

ボリュームの拡張に関しては、APはボリュームとともに直ちに大きくなる。新しいページは、NULLボリュームを指す。APではないPITCは、ボリュームの拡張のために変更は必要ではない。   For volume expansion, the AP grows immediately with the volume. The new page points to a NULL volume. A PITC that is not an AP does not need to change for volume expansion.

それぞれのPITCは、入ってくるLBAを、基礎となるボリュームへのデータ・ページ・ポインタへとマッピングするテーブルを維持する。テーブルは、データ・ページへのポインタを含む。テーブルは、提示される論理空間よりも多くの物理ディスク空間をアドレスする必要がある。図9に、マルチ・レベル・インデックスを有するテーブル構造の一実施形態を示す。この構造は、ボリュームLBAを復号化してデータ・ページ・ポインタにする。各レベルでは、図9に示すように、アドレスの増加していくLSB(less significant bit)を復号化する。このテーブルの構造により、高速のルックアップおよびボリュームの拡張の機能が提供される。高速ルックアップのために、マルチ・レベル・インデックス構造は、テーブルを浅い状態に維持し、各レベルで複数のエントリをもつようにしている。このインデックスは、各レベルでアレイのルックアップを行う。ボリュームの拡張をサポートするため、マルチ・レベル・インデックス構造により、拡張をサポートするための別のレイヤを追加することが可能になっている。この場合のボリュームの拡張は、上位レイヤへ提示されるLBAカウント(計数)の拡張であり、そのボリュームへ割り当てられるストレージ空間の実際の量ではない。   Each PITC maintains a table that maps incoming LBAs to data page pointers to the underlying volume. The table contains pointers to data pages. The table needs to address more physical disk space than presented logical space. FIG. 9 illustrates one embodiment of a table structure having a multi-level index. This structure decrypts the volume LBA into a data page pointer. At each level, as shown in FIG. 9, LSB (less significant bit) with increasing address is decoded. The structure of this table provides fast lookup and volume expansion capabilities. For fast lookups, the multi-level index structure keeps the table shallow and has multiple entries at each level. This index performs an array lookup at each level. In order to support volume expansion, a multi-level index structure allows another layer to be added to support expansion. The expansion of the volume in this case is an expansion of the LBA count (count) presented to the upper layer, not the actual amount of storage space allocated to the volume.

マルチ・レベル・インデックスは、ボリューム全体のデータ・ページ再マッピングの一覧(要約)を含む。それぞれのPITCは、記憶されたポイント・イン・タイム(時(特定の時))の、このボリュームに対する完全な再マッピング・リストを含む。   The multi-level index contains a list (summary) of data page remapping across the volume. Each PITC contains a complete remapping list for this volume at the stored point-in-time (time (specific time)).

マルチ・レベル・インデックス構造は、テーブルのレベルに対して異なるエントリ・タイプを使用する。異なるエントリ・タイプは、情報をディスクから読み出す必要性や、情報をメモリに格納する必要性をサポートする。ボトム・レベルのエントリは、データ・ページ・ポインタのみを含み得る。トップおよび中間のレベルのエントリは2つのアレイを含み、1つは次のレベルのテーブル・エントリのLBAであり、そして、テーブルへのメモリ・ポインタを含む。   A multi-level index structure uses different entry types for the levels of the table. Different entry types support the need to read information from disk and store the information in memory. The bottom level entry may only contain a data page pointer. The top and middle level entries contain two arrays, one is the LBA of the next level table entry, and contains a memory pointer to the table.

提示されるボリューム・サイズが拡張する際に、以前のPITCテーブルのサイズは増やす必要はなく、また、テーブルを変更する必要もない。テーブルの中の情報は、読み出し専用であるので、変わらず、そして、拡張プロセスは、テーブルを、NULLページ・ポインタを末尾に追加することによって、変更する。スナップショットは、以前のPITCからのテーブルを直接にユーザに提示しない。   As the presented volume size expands, the size of the previous PITC table does not need to be increased and the table need not be changed. Since the information in the table is read-only, it does not change and the expansion process modifies the table by adding a NULL page pointer to the end. The snapshot does not present the table from the previous PITC directly to the user.

I/O動作があると、テーブルには、LBAをデータ・ページ・ポインタへマッピングすることが求められる。その場合、I/Oでは、データ・ページ・ポインタにデータ・ページ・サイズを乗算して、基礎となるRAIDのLBAを得る。一実施形態では、データ・ページ・サイズは、2のべき乗である。   When there is an I / O operation, the table is required to map the LBA to the data page pointer. In that case, in the I / O, the data page pointer is multiplied by the data page size to obtain the LBA of the underlying RAID. In one embodiment, the data page size is a power of two.

テーブルは、LBAの再マッピング、ページの追加、およびテーブルの合体のためのAPIを提供する。   The table provides APIs for LBA remapping, page addition, and table coalescence.

スナップショットは、PITCオブジェクトおよびLBAマッピング・テーブルを保存するためにデータ・ページを使用する。テーブルは、そのテーブル・エントリに対するI/OのためにRAIDインターフェースへ直接にアクセスする。テーブルは、RAID装置に対してそのテーブルの読み出しおよび書き込みを行うときの変更を最小にする。変更がない場合には、テーブルの情報の読み出しおよび書き込みを、テーブル・エントリ構造に対して直接に行うことが可能になる。これにより、I/Oのために必要となるコピーが低減される。スナップショットは、ディスク上のホット・スポットの発生を防ぐために、変化ログを使用することができる。ホット・スポットとは、ボリュームへの更新を追跡するために繰り返し使用される場所のことである。変化ログは、PITCテーブルへの更新、およびボリュームに関するフリー・リストを記録する。リカバリ中には、スナップショットは変化ログを使用して、メモリ内AP(in-memory AP)およびフリー・リスト(free list)の再作成を行う。図10にテーブルのリカバリの一実施形態を示し、これにより、メモリ内APと、ディスク上AP(on-disk AP)と、変化ログとの間の関係を示している。この図は、フリー・リストに関しても同じ関係を示している。メモリ内APテーブルは、ディスク上APテーブルおよびログから再構築することができる。どのようなコントローラ障害の場合でも、APは、ディスク上APを読み出してそれにログ変化を適用することによって、再構築される。変化ログは、システム・コンフィギュレーションに応じて、異なる物理資源を使用する。多重コントローラのシステムでは、変化ログは、ストレージのためにバッテリ−バックアップされたキャッシュ・メモリを頼りにしている。キャッシュ・メモリを使用することにより、スナップショットは、ディスクへのテーブル書き込みの数を減らし且つデータ・インテグリティを維持することができる。変化ログは、リカバリのためにバックアップ・コントローラに対しての複製を行う。単一コントローラのシステムでは、変化ログは、すべての情報をディスクへ書き込む。これには、ディスク上のログの場所にホット・スポットを発生させるという副作用がある。これにより、幾つもの変化を単一のデバイス・ブロックへ書き込むことが可能とされる。   Snapshot uses data pages to store PITC objects and LBA mapping tables. The table accesses the RAID interface directly for I / O to that table entry. The table minimizes changes when reading and writing the table to the RAID device. If there is no change, the table information can be read and written directly to the table entry structure. This reduces the copy required for I / O. Snapshots can use a change log to prevent hot spots on the disk. A hot spot is a place that is used repeatedly to track updates to a volume. The change log records updates to the PITC table and a free list for the volume. During recovery, the snapshot uses the change log to recreate in-memory APs and free lists. FIG. 10 shows an embodiment of table recovery, which shows the relationship between an in-memory AP, an on-disk AP, and a change log. This figure shows the same relationship for the free list. The in-memory AP table can be reconstructed from the on-disk AP table and log. In the event of any controller failure, the AP is rebuilt by reading the AP on disk and applying log changes to it. The change log uses different physical resources depending on the system configuration. In a multiple controller system, the change log relies on battery-backed cache memory for storage. By using cache memory, snapshots can reduce the number of table writes to disk and maintain data integrity. The change log is replicated to the backup controller for recovery. In a single controller system, the change log writes all information to disk. This has the side effect of creating a hot spot at the log location on disk. This allows a number of changes to be written to a single device block.

スナップショットは、定期的に、PITCテーブルおよびフリー・リストをディスクへ書き込んで、ログにおけるチェックポイントの作成およびそのクリアを行う。この期間は、PITCへの更新の数に応じて変わり得る。合体プロセスは変化ログを使用しない。   The snapshot periodically writes the PITC table and free list to disk to create and clear checkpoints in the log. This period can vary depending on the number of updates to the PITC. The coalescing process does not use a change log.

スナップショットのデータ・ページI/Oは、要求がデータ・ページ境界内に収まることを必要とし得る。スナップショットは、ページ境界にまたがるI/O要求にであった場合に、その要求を分割する。次いで、スナップショットは、その要求を要求ハンドラへと渡す。書き込みおよび読み出しのセクションは、I/Oがページ境界内に収まることを仮定している。APは、LBA再マッピングを提供してI/O要求を満たす。   Snapshot data page I / O may require requests to be within data page boundaries. If a snapshot is an I / O request that crosses a page boundary, the request is split. The snapshot then passes the request to the request handler. The write and read sections assume that the I / O is within page boundaries. The AP fulfills the I / O request by providing LBA remapping.

APはすべての書き込み要求を満たす。スナップショットは、所有ページと非所有ページに対する2つの異なる書き込みシーケンスをサポートする。異なるシーケンスにより、テーブルへのページの追加が可能になる。図11に、所有ページ・シーケンスおよび非所有ページ・シーケンスがある書き込みプロセスの一実施形態を示す。   The AP satisfies all write requests. Snapshots support two different write sequences for owned and non-owned pages. Different sequences allow adding pages to the table. FIG. 11 illustrates one embodiment of a write process with an owned page sequence and a non-owned page sequence.

所有ページ・シーケンスでは、プロセスは以下のものを含む。
1)テーブル・マッピングを見つける。
2)所有の書き込みをページングする(Page Owned Write) − LBAを再マッピングし、データをRAIDインターフェースへ書き込む。
In the owning page sequence, the process includes:
1) Find the table mapping.
2) Page Owned Write-Remap LBA and write data to RAID interface.

以前に書き込まれたページは、純粋な書き込み要求である。スナップショットは、データをそのページに書き込んで、現在の内容を上書きする。APの所有するデータ・ページだけが書き込まれる。他のPITCの所有するページは、読み出し専用である。   Previously written pages are pure write requests. A snapshot writes data to the page and overwrites the current contents. Only data pages owned by the AP are written. Pages owned by other PITCs are read-only.

非所有ページ・シーケンスでは、プロセスは以下のものを含む。
1)テーブル・マッピングを見つける。
2)以前のページを読み出す − そのデータ・ページに対する読み出しを行い、書き込み要求と読み取ったデータとでページ全部が出来上がるようにする。これが、コピー・オン・ライト(copy on write)・プロセスの開始となる。
3)データを組み合わせる − データ・ページの読み出しおよび書き込みの要求のペイロードを、単一の連続するブロックに入れる。
4)リスト割り当てを自由にする − 新しいデータ・ページ・ポインタを、フリー・リストから得る。
5)組み合わせたデータを、新しいデータ・ページへ書き込む。
6)新しいページ情報をログへ記憶する。
7)テーブルを更新する − テーブル内のLBA再マッピングを変更して、新しいデータ・ページ・ポインタを反映させる。これでデータ・ページはPITCにより所有される。
For a non-owned page sequence, the process includes:
1) Find the table mapping.
2) Read previous page-Read the data page so that the entire page is completed with a write request and read data. This is the start of the copy on write process.
3) Combining data-Put the payload of data page read and write requests into a single contiguous block
4) Free list allocation-Get a new data page pointer from the free list.
5) Write the combined data to a new data page.
6) Store new page information in the log.
7) Update the table-change the LBA remapping in the table to reflect the new data page pointer. The data page is now owned by PITC.

ページを追加するには、そのページがテーブルに追加されるまで、読み出しおよび書き込みの要求を妨げることが必要であり得る。スナップショットは、テーブルの更新をディスクへ書き込み、ログの複数のキャッシュ記憶されたコピーを維持することにより、コントローラのコヒーレンシを達成する。   Adding a page may require blocking read and write requests until the page is added to the table. Snapshots achieve controller coherency by writing table updates to disk and maintaining multiple cached copies of the log.

読み出し要求に関して、APはすべての読み出し要求を満たす。読み出し要求は、APテーブルを用いて、LBAを、そのデータ・ページのLBAへ再マッピングする。再マッピングされたLBAはRAIDインターフェースへと渡されて、その要求が満たされる。ボリュームは、それまでにそのボリュームへ書き込まれていないデータ・ページに対する読み出し要求を満たすことができる。こうしたページは、PITCテーブルにおいてNULLアドレス(すべて1)でマークされている。このアドレスに対する要求は、NULLボリュームにより満たされ、一定のデータ・パターンを返す。異なるPITCテーブルの所有するページは、ページ境界にまたがる読み出し要求を満たすことができる。   For read requests, the AP satisfies all read requests. The read request uses the AP table to remap the LBA to the LBA for that data page. The remapped LBA is passed to the RAID interface to satisfy the request. A volume can satisfy read requests for data pages that have not been previously written to the volume. These pages are marked with a NULL address (all 1s) in the PITC table. A request for this address is satisfied by the NULL volume and returns a constant data pattern. Pages owned by different PITC tables can satisfy read requests across page boundaries.

スナップショットは、NULLボリュームを使用して、以前に書き込まれていないデータ・ページに対する読み出し要求を満たす。これは、それぞれのセクタ読み出しに対して、すべてゼロを返す。これは、RAID装置も、割り当てられた空間もない。NULLボリュームに対する読み出しについてのデータ要件を満たすために、すべてゼロであるブロックをメモリ内に置いておくことが予期される。すべてのボリュームは、読み出し要求を満たすためにNULLボリュームを共用する。   A snapshot uses a NULL volume to satisfy a read request for a previously written data page. This returns all zeros for each sector read. It has no RAID device and no allocated space. It is expected that all zero blocks will be placed in memory to meet the data requirements for reads to a NULL volume. All volumes share a NULL volume to satisfy read requests.

一実施形態では、合体プロセスが、PITCと、その所有ページの一部とをボリュームから取り除く。PITCを取り除くと、新しい差異を追跡するために使用可能な空間がより多く作成される。合体では、2つの隣接するテーブルを差異があるかどうか比較し、新しい差異だけを維持する。合体は、ユーザによるコンフィギュレーションに従って、定期的にまたは手動で起きる。   In one embodiment, the coalescing process removes the PITC and some of its owned pages from the volume. Removing the PITC creates more space that can be used to track new differences. In coalescence, two adjacent tables are compared for differences and only new differences are maintained. Coalescence occurs periodically or manually according to the configuration by the user.

このプロセスは、2つのPITC、即ち、ソースと宛先とを含む。一実施形態での、適格なオブジェクトについての規則は、次のようなものである。
1)ソースは、宛先に対して、以前のPITCでなければならない − ソースは宛先より前に作成されなければならない。
2)宛先は、同時にソースであってはならない。
3)ソースは、複数のPITCにより参照されてはならない。複数の参照は、ビュー・ボリュームがPITCから作成されたときに、起きる。
4)宛先は、複数の参照をサポートし得る。
5)APは宛先であり得るが、ソースではない。
This process includes two PITCs: a source and a destination. In one embodiment, the rules for eligible objects are as follows:
1) The source must be the previous PITC for the destination-the source must be created before the destination.
2) The destination must not be the source at the same time.
3) The source must not be referenced by multiple PITCs. Multiple references occur when the view volume is created from PITC.
4) A destination may support multiple references.
5) AP can be a destination but not a source.

合体・プロセスは、すべての変更をディスクへ書き込むものであり、コヒーレンシを必要としない。コントローラが故障した場合に、ボリュームがPITC情報をディスクからリカバリし、合体プロセスを再開する。   The coalescing process writes all changes to disk and does not require coherency. If the controller fails, the volume recovers PITC information from the disk and resumes the coalescing process.

このプロセスは、2つのPITCを合体のためにマークするものであり、以下の諸ステップを含む。   This process marks two PITCs for coalescing and includes the following steps:

1)ソースの状態が合体のソースに設定される − この状態は、コントローラ障害のリカバリのために、ディスクへ記憶される。この時点で、ソースはもはやアクセスされないが、それは、そのデータ・ページが無効であるからである。データ・ページがフリー・リストへ返されるか、または所有権が宛先へ移される。   1) Source state is set to coalesced source-This state is stored to disk for controller failure recovery. At this point, the source is no longer accessed because the data page is invalid. The data page is returned to the free list or ownership is transferred to the destination.

2)宛先の状態が合体の宛先へ設定される − この状態は、コントローラ障害のリカバリのためにディスクへ記憶される。   2) Destination state is set to coalesced destination-This state is stored on disk for controller failure recovery.

3)テーブルのロードおよび比較を行う − このプロセスは、データ・ページ・ポインタを移動させる。解放されたデータ・ページは、直ちにフリー・リストに追加される。   3) Load and compare tables-This process moves the data page pointer. Freed data pages are immediately added to the free list.

4)宛先の状態が正常に設定される − プロセスが完了する。   4) The destination state is set normally-the process is complete.

5)リストを調整する − ソースのnext(次)ポインタのprevious(以前)を、宛先へと変更する。これにより、ソースがリストから効率よく取り除かれる。   5) Adjust the list-change the source's next pointer previous to the destination. This effectively removes the source from the list.

6)ソースを解放する − 制御の情報に使用された何れのデータ・ページをも、フリー・リストへ戻す。   6) Release source-Return any data page used for control information to the free list.

上述のプロセスは、2つのPITCの組合せをサポートしている。合体を、単一のパスにおいて複数のPITCの削除と複数のソースの作成とを行うように設計できることが、当業者には理解されている。   The above process supports a combination of two PITCs. Those skilled in the art understand that coalescing can be designed to delete multiple PITCs and create multiple sources in a single pass.

図2に示すように、ページ・プールは、そのページ・プールに関連するすべてのボリュームが使用するように、データ・ページ・フリー・リストを維持する。フリー・リスト・マネージャは、ページ・プールからのデータ・ページを使用して、フリー・リストを永久的ストレージへ記憶する。フリー・リストの更新を引き起こすものは幾つもあり、書き込みプロセスはページを割り当て、制御ページ・マネージャはページを割り当て、合体用プロセスはページを返す。   As shown in FIG. 2, the page pool maintains a data page free list for use by all volumes associated with the page pool. The free list manager uses data pages from the page pool to store the free list in permanent storage. There are a number of things that cause free list updates: the writing process allocates pages, the control page manager allocates pages, and the coalescing process returns pages.

フリー・リストは、それ自体をある閾値のところで自動的に拡張するためのトリガを維持することができる。このトリガは、ページをページ・プールへ追加するためのページ・プール拡張方法を使用する。自動的な拡張は、ボリューム・ポリシの一機能とすることもできる。重要度の高いデータ・ボリュームには拡張を可能にし、重要度の低いボリュームは強制的に合体させる。   The free list can maintain a trigger to automatically expand itself at some threshold. This trigger uses the page pool extension method to add pages to the page pool. Automatic expansion can also be a function of the volume policy. Allows data volumes with high importance to be expanded and forces less important volumes to be merged.

ビュー・ボリュームは、以前のポイント・イン・タイムへのアクセスを提供し、正常のボリュームI/O動作をサポートする。PITCは、PITC間の差異を追跡し、ビュー・ボリュームは、PITC内に含まれる情報へユーザがアクセスできるようにする。ビュー・ボリュームはPITCから分岐する。ビュー・ボリュームは、リカバリ、検査、バックアップ動作などをサポートする。ビュー・ボリュームの作成は、データ・コピーを必要としないので、ほぼ瞬間的に生じる。ビュー・ボリュームは、ビュー・ボリュームへの書き込みをサポートするために、それ自体のAPが必要になり得る。   View volumes provide access to previous point-in-time and support normal volume I / O operations. PITC tracks differences between PITCs, and view volumes allow users access to information contained within PITCs. The view volume branches off from the PITC. View volumes support recovery, inspection, backup operations, and so on. View volume creation occurs almost instantaneously because no data copy is required. A view volume may require its own AP to support writing to the view volume.

ボリュームの現在の状態から取られたビューでは、APを現在のボリュームのAPからコピーすることができる。APを用い、ビュー・ボリュームは、ビュー・ボリュームのへの書き込み動作を、基礎となるデータを変更せずに行うことを可能にする。OSは、データを使用するために、ファイル・システムまたはファイルの再構築を必要とし得る。ビュー・ボリュームは、APおよび書き込まれたデータ・ページに対して親ボリュームから空間を割り当てる。ビュー・ボリュームは、関連するRAID装置情報を有さない。ビュー・ボリュームを削除すると、空間が解放され親ボリュームへ戻される。   In a view taken from the current state of the volume, the AP can be copied from the AP of the current volume. Using the AP, the view volume allows a write operation to the view volume to be performed without changing the underlying data. The OS may require a file system or file reconstruction in order to use the data. The view volume allocates space from the parent volume for APs and written data pages. View volumes do not have associated RAID device information. Deleting the view volume frees space and returns it to the parent volume.

図12に、スナップショットを用いてのあるボリュームに関する推移を示す例示的なスナップショット動作を示す。図12は、10ページをもつボリュームを示す。それぞれの状態(ステート)は、ボリュームに対する読み出し要求遂行(Read Request Fulfillment)リストを含む。影を付けたブロックは、所有データ・ページ・ポインタを示す。   FIG. 12 illustrates an exemplary snapshot operation showing the transition for a volume using snapshots. FIG. 12 shows a volume with 10 pages. Each state includes a read request fulfillment list for the volume. The shaded block indicates the owned data page pointer.

図の左側(即ち、初期状態)から図の中央への推移は、ページ3および8への書き込みを示している。ページ3への書き込みには、PITC I(AP)への変更が必要である。PITC Iは、新ページ書き込み処理に従い、ページ3をテーブルへ追加する。PITCは、変更されていない情報をページJから読み出し、ドライブ・ページBを使用してそのページを保存する。このPITCのページ3へのこれ以降のすべての書き込みは、ページを移動させずに取り扱われる。ページ8への書き込みでは、ページへの書き込みに関する第2の場合を示す。PITC Iはすでにページ8を含んでいるため、PITC Iは、ページ8のそのデータのその部分へ書き込む。この場合、それはドライブ・ページCに存在する。   The transition from the left side of the figure (i.e., the initial state) to the center of the figure indicates writing to pages 3 and 8. Writing to page 3 requires a change to PITC I (AP). PITC I adds page 3 to the table according to the new page write process. PITC reads the unchanged information from page J and saves the page using drive page B. All subsequent writes to page 3 of this PITC are handled without moving the page. The writing to page 8 shows a second case relating to writing to the page. Because PITC I already contains page 8, PITC I writes to that portion of that data on page 8. In this case, it exists in drive page C.

図の中央から図の右側(即ち、最終状態)への推移は、PITC IIとIIIとの合体を示す。スナップショットの合体は、それぞれ、古いページを削除すること、および両方のPITCにおけるすべての変更を維持することを含む。両方のPITCがページ3および8を含む。プロセスは、PITC IIからのの新しい方のページを保ち、PITC IIIからのページを解放し、ページAおよびDをフリー・リストへ返す。   The transition from the center of the figure to the right side of the figure (ie, the final state) indicates the coalescence of PITC II and III. Each coalescing of snapshots involves deleting old pages and maintaining all changes in both PITCs. Both PITCs contain pages 3 and 8. The process keeps the newer page from PITC II, releases the page from PITC III, and returns pages A and D to the free list.

スナップショットは、フリー・リストおよびPITCテーブル情報を保存するために、ページ・プールからデータ・ページの割り当てを行う。制御ページの割り当ては、データ・ページを、オブジェクトに必要とされるサイズに合うように、更に細かく割り当てる(sub-allocate)。   Snapshot allocates data pages from the page pool to preserve free list and PITC table information. Control page allocation further sub-allocates data pages to fit the size required for the object.

ボリュームは、制御ページ情報の先頭に対するページ・ポインタを含む。このページから、他のすべての情報を読み出すことができる。   The volume includes a page pointer for the head of the control page information. All other information can be read from this page.

スナップショットは、特定の時間間隔で、使用中のページの数を追跡する。これにより、スナップショットは、いつユーザがシステムに更なる物理ディスク空間を追加する必要があるかを予測して、スナップショットが不足するのを防ぐ。   Snapshots track the number of pages in use at specific time intervals. Thereby, the snapshot predicts when the user needs to add more physical disk space to the system and prevents the snapshot from running out.

データ・プログレッション
本発明の一実施形態では、データ・プログレッション(DP、data progression)を使用して、データを、徐々に、適切なコストのストレージ空間へと移動させる。本発明により、ユーザは、ドライブが実際に必要であるときにドライブの追加を行える。これにより、ディスク・ドライブのコスト全体が著しく低減される。
Data Progression In one embodiment of the present invention, data progression (DP) is used to move data gradually to the appropriate cost storage space. The present invention allows a user to add a drive when the drive is actually needed. This significantly reduces the overall cost of the disk drive.

データ・プログレッションでは、最近アクセスされていないデータおよび履歴のスナップショット・データを、より安価なストレージへ移動させる。最近アクセスされていないデータについては、最近アクセスされていないページがに対してのストレージのコストを徐々に低減する。データは、コストが最も低いストレージへ直ちに移動させない。履歴のスナップショット・データについては、読み出し専用ページを、例えばRAID5などのようなより効率のよいストレージ空間へ移動させ、また、そのページにもはやボリュームからアクセス可能でない場合には、最も安価なストレージへ移動される。   Data progression moves data that has not been recently accessed and historical snapshot data to less expensive storage. For data that has not been accessed recently, the storage cost for pages that have not been accessed recently is gradually reduced. Data is not immediately moved to the lowest cost storage. For historical snapshot data, move the read-only page to a more efficient storage space such as RAID 5 and to the cheapest storage if the page is no longer accessible from the volume. Moved.

本発明のデータ・プログレッションの他の利点は、現在アクセス中のデータへの高速のI/Oアクセスを維持すること、および高速であるが高価なディスク・ドライブを購入する必要性を減らすことを含む。   Other advantages of data progression of the present invention include maintaining high speed I / O access to currently accessed data and reducing the need to purchase a fast but expensive disk drive. .

データ・プログレッションでは、動作時に、ストレージのコストを、物理メディアのコストおよびデータ保護に使用されるRAID装置の効率を用いて、判定する。また、データ・プログレッションでは、ストレージ効率を判定し、それに従ってデータの移動を行う。例えば、データ・プログレッションは、物理ディスク空間をより効率よく使用するために、RAID10装置をRAID5装置へと変換することができる。   In data progression, during operation, the cost of storage is determined using the cost of physical media and the efficiency of the RAID device used for data protection. In data progression, storage efficiency is determined, and data is moved according to it. For example, data progression can convert a RAID 10 device to a RAID 5 device in order to use physical disk space more efficiently.

データ・プログレッションでは、アクセス可能なデータを、サーバが現在読み出しまたは書き込みできるデータと定義している。データ・プログレッションでは、アクセス可能性(accessibility)を使用して、ページが使用すべきストレージのクラスを決定する。ページは、履歴PITCに属する場合には、読み出し専用である。サーバが、一番最近のPITCにおいてそのページを更新していない場合には、そのページはまだアクセス可能である。   Data progression defines accessible data as data that the server can currently read or write. In data progression, accessibility is used to determine the class of storage that a page should use. A page is read-only if it belongs to a history PITC. If the server has not updated the page in the most recent PITC, the page is still accessible.

図17に、データ・プログレッション動作におけるアクセス可能なデータ・ページの一実施形態を示す。アクセス可能なデータ・ページは、以下のカテゴリに分かれる。   FIG. 17 illustrates one embodiment of accessible data pages in a data progression operation. Accessible data pages are divided into the following categories:

・アクセス可能な、最近アクセスされたもの − これらは、ボリュームが最もよく使用しているアクティブ・ページである。   • Recently accessed, accessible-these are the active pages that are most commonly used by the volume.

・アクセス可能な、最近アクセスされていないもの − 最近使用されていない読み出し/書き込みページ。   Accessible, not recently accessed-a read / write page that has not been used recently.

・履歴のアクセス可能なもの − ボリュームによる読み出しが行える読み出し専用ページ −− スナップショット・ボリュームに当てはまる。   -History accessible-Read-only page that can be read by volume--This applies to snapshot volumes.

・履歴のアクセス不能なもの − ボリュームによって現在アクセスされていない読み出し専用データ・ページ −− スナップショット・ボリュームに当てはまる。スナップショットは、こうしたページをリカバリ目的で維持し、ページは、一般に、可能な限り低コストのストレージに置かれる。   -History inaccessible-Read-only data page not currently accessed by volume--This applies to snapshot volumes. Snapshots maintain these pages for recovery purposes, and pages are typically placed in the lowest cost storage possible.

図17に、スナップショット・ボリューム用の様々な所有ページを有する3つのPITCを示している。動的容量のボリュームは、PITC Cだけで代表させてある。すべてのページは、アクセス可能であり読み出し/書き込みである。ページは異なるアクセス時間を有し得る。   FIG. 17 shows three PITCs with various owned pages for snapshot volumes. The dynamic capacity volume is represented only by PITC C. All pages are accessible and read / write. Pages can have different access times.

下記のテーブルは、様々なストレージ装置を、効率の高くなる順または金銭的な支出の減る順に示す。ストレージ装置のリストは、より遅い書き込みI/Oアクセスの一般的な順序にも従い得る。データ・プログレッションでは、論理保護空間の効率をRAID装置の総物理空間で割ったものを計算する。   The table below shows the various storage devices in order of increasing efficiency or decreasing monetary expenditure. The list of storage devices can also follow the general order of slower write I / O accesses. Data progression calculates the efficiency of the logical protection space divided by the total physical space of the RAID device.

Figure 2011108258
Figure 2011108258

RAID5の効率は、ストライプのドライブ数が増えると高くなる。ストライプのディスク数が増えると、フォールト・ドメインが増大する。ストライプのドライブ数の増加により、RAID装置の作成に必要なディスクの最小数も増える。一実施形態では、データ・プログレッションは、9ドライブを超えるRAID5ストライプ・サイズを使用しない。なぜなら、フォールト・ドメイン・サイズが増え、効率の増加が限られるからである。データ・プログレッションは、スナップショット・ページ・サイズの整数倍であるRAID5ストライプ・サイズを使用する。これにより、データ・プログレッションは、ページをRAID5へと移動させるときにフル・ストライプ書き込みを行えるようになり、移動の効率を高める。すべてのRAID5コンフィギュレーションは、データ・プログレッションの目的で、同じ書き込みI/O特性を有する。例えば、2.5インチ(6.5cm)FCディスク上のRAID5は、そうしたディスクの性能を効率よく使用しない可能性がある。この組合せを防ぐために、データ・プログレッションは、あるRAIDタイプが特定のディスクタイプ上で動作しないようにする機能をサポートする必要がある。また、データ・プログレッションのコンフィギュレーションは、システムがRAID10またはRAID5の空間を使用しないようにすることもできる。   The efficiency of RAID 5 increases as the number of stripe drives increases. As the number of striped disks increases, the fault domain increases. As the number of stripe drives increases, the minimum number of disks required to create a RAID device also increases. In one embodiment, data progression does not use a RAID 5 stripe size greater than 9 drives. This is because the fault domain size increases and the increase in efficiency is limited. Data progression uses a RAID 5 stripe size that is an integer multiple of the snapshot page size. This allows data progression to perform full stripe writing when moving a page to RAID 5 and increases the efficiency of the movement. All RAID5 configurations have the same write I / O characteristics for data progression purposes. For example, RAID 5 on a 2.5 inch (6.5 cm) FC disk may not efficiently use the performance of such a disk. To prevent this combination, data progression needs to support the ability to prevent certain RAID types from operating on specific disk types. Data progression configuration may also prevent the system from using RAID 10 or RAID 5 space.

ディスクのタイプを次のテーブルに示す。   The disk type is shown in the following table.

Figure 2011108258
Figure 2011108258

データ・プログレッションは、システム内のドライブに相対的なディスク・ドライブの分類を自動的に行う機能を含む。システムは、ディスクを検査して、そのパフォーマンスをシステム内の他のディスクと比較して決定する。より速いディスクは高評価区分へと分類され、より遅いディスクは低評価区分へと分類される。ディスクがシステムへ追加されると、システムは、ディスクの評価分類のバランスを自動的にとり直す。このアプローチでは、決して変化することのないシステムと、新しいディスクが追加されると頻繁に変化するシステムとの双方を取り扱う。この自動分類は、複数のドライブ・タイプを同じ評価区分内に入れることがある。ドライブの評価がかなり近接しているものと判定された場合には、その評価は同じになる。   Data progression includes the ability to automatically classify disk drives relative to the drives in the system. The system examines the disk and determines its performance relative to other disks in the system. Faster disks are classified into the high rating category, and slower disks are classified into the low rating category. When a disk is added to the system, the system automatically rebalances the disk rating classification. This approach handles both systems that never change and systems that change frequently as new disks are added. This automatic classification may place multiple drive types within the same evaluation category. If the drive ratings are determined to be fairly close, the ratings will be the same.

一実施形態では、システムは次のドライブを含む。即ち、
高 − 10K FCドライブ
低 − SATAドライブ
In one embodiment, the system includes the following drives: That is,
High-10K FC drive Low-SATA drive

15K FCドライブを追加すると、データ・プログレッションは、ディスクを自動的に再分類し、10K FCドライブを降格させる。この結果として次の分類となる。
高 − 15K FCドライブ
中 − 10K FCドライブ
低 − SATAドライブ
When adding a 15K FC drive, Data Progression automatically reclassifies the disk and demotes the 10K FC drive. This results in the following classification:
High-15K FC drive Medium-10K FC drive Low-SATA drive

別の実施形態では、システムには次のドライブ・タイプを有し得る。
高 − 25K FCドライブ
低 − 15K FCドライブ
In another embodiment, the system may have the following drive types:
High-25K FC drive Low-15K FC drive

従って、15K FCドライブは評価の低い区分として分類され、これに対して15K FCドライブは評価の高い区分として分類される。   Therefore, the 15K FC drive is classified as a low evaluation category, while the 15K FC drive is classified as a high evaluation category.

SATAドライブがシステムに追加された場合、データ・プログレッションは、ディスクを時間的に再分類する。その結果として次の分類となる。
高 − 25K FCドライブ
中 − 15K FCドライブ
低 − SATAドライブ
When a SATA drive is added to the system, data progression reclassifies the disk in time. The result is the following classification:
High-25K FC drive Medium-15K FC drive Low-SATA drive

データ・プログレッションは、ウォーターフォール(waterfall)・プログレッションを含むことができる。典型的に、ウォーターフォール・プログレッションはデータをより安価な資源へ移動させるが、その移動は、その資源が完全に使用されたときにのみ行う。ウォーターフォール・プログレッションは、最も高価なシステム資源の使用を効率的に最大化する。システムのコストの最小化も行う。安いディスクを最も低いプールに追加すると、ボトム(底部)において、より大きなプールが作成される。   The data progression can include a waterfall progression. Typically, waterfall progression moves data to a less expensive resource, but only when the resource is fully used. Waterfall progression effectively maximizes the use of the most expensive system resources. It also minimizes system costs. Adding a cheap disk to the lowest pool creates a larger pool at the bottom.

典型的なウォーターフォール・プログレッションは、RAID10空間を使用し、次いで、RAID5空間などのような、RAID空間の次のものを使用する。このことにより、ウォーターフォールが次のクラスのディスクのうちのRAID10へ直接向かうように強制される。代替例として、データ・プログレッションは、図24に示すような混合RAIDウォーターフォール・プログレッションを含んでもよい。この代替のデータ・プログレッション方法により、ディスク空間およびパフォーマンスを最大化する問題が解決され、ストレージは同じディスク・クラスにおいて更に効率のよい形式へと変形できる。また、この代替方法では、RAID10およびRAID5が或るディスク・クラスの資源全体を共用するという要件をサポートする。これには、あるRAIDレベルがあるクラスのディスク用に使用する、ディスク空間の一定の割合をコンフィギュレーションすることが必要であることがある。従って、この代替のデータ・プログレッション方法では、高価なストレージの使用が最大化され、かつ、別のRAIDクラスが共存する余地を残す。   A typical waterfall progression uses RAID 10 space and then uses the next in RAID space, such as RAID 5 space. This forces the waterfall to go directly to RAID 10 of the next class of disks. As an alternative, the data progression may include a mixed RAID waterfall progression as shown in FIG. This alternative data progression method solves the problem of maximizing disk space and performance and allows storage to be transformed into a more efficient form in the same disk class. This alternative method also supports the requirement that RAID 10 and RAID 5 share the entire resources of a certain disk class. This may require configuring a certain percentage of the disk space to be used for a class of disks with a certain RAID level. Thus, this alternative data progression method maximizes the use of expensive storage and leaves room for another RAID class to coexist.

また、混合RAIDウォーターフォールでは、ストレージが限られているときのみ、ページをより安価なストレージへと移動させる。ディスク空間全体のうちの或るパーセンテージなどのような閾値により、特定のRAIDタイプのストレージの量が制限される。これにより、システムにおける最も高価なストレージの使用が最大化される。ストレージがその限度に近づくと、データ・プログレッションは、ページを、コストのより低いストレージへと自動的に移動させる。データ・プログレッションは、書き込みスパイクに対するバッファを提供することができる。   In the mixed RAID waterfall, the page is moved to a cheaper storage only when the storage is limited. A threshold, such as a percentage of the total disk space, limits the amount of storage of a particular RAID type. This maximizes the use of the most expensive storage in the system. As storage approaches its limit, data progression automatically moves pages to lower cost storage. Data progression can provide a buffer for write spikes.

上述のウォーターフォール方法では、一部の場合のように、ページをコストが最も低いストレージへと直ちに移動させ得るということが理解され、履歴およびアクセス不能のページをより安価なストレージ上へ適時に移動させる必要性があり得る。また、履歴ページをより安価なストレージへ直ちに移動させることもできる。   It is understood that the waterfall method described above can quickly move pages to the lowest cost storage, as in some cases, and move historical and inaccessible pages to less expensive storage in a timely manner. There may be a need to It is also possible to immediately move the history page to a cheaper storage.

図18に、データ・プログレッションのプロセス1800の流れ図を示す。データ・プログレッションは、システムのそれぞれのページを、そのアクセスのパターンおよびストレージのコストに関して絶えず検査して、移動させるべきデータ・ページがあるかどうか判定する。また、データ・プログレッションは、ストレージがその最大割り当て量に達しているかどうかを判定することもできる。   FIG. 18 shows a flow diagram of a data progression process 1800. Data progression continually examines each page of the system for its access pattern and storage cost to determine if there are data pages to be moved. Data progression can also determine whether the storage has reached its maximum quota.

データ・プログレッションのプロセスは、そのページがどのボリュームからもアクセス可能かどうかを判定する。プロセスは、履歴に付加されている各ボリュームについてのPITCを検査して、そのページが参照されているかどうかを判定する。そのページがアクティブに使用中である場合には、そのページは昇格させるに又は降格を遅くするに望ましい。そのページがどのボリュームからもアクセス可能でない場合には、使用可能な最も低コストのストレージへ移動させられる。また、データ・プログレッションは、PITCが期限切れになる前に時間を計算に入れる。スナップショットで、PITCがまもなく期限切れになるようにスケジュールしている場合には、ページのプログレッションは行わない。ページ・プールがアグレッシブ・モードで動作中の場合には、ページのプログレションが行われ得る。   The data progression process determines whether the page is accessible from any volume. The process checks the PITC for each volume added to the history to determine if the page is referenced. If the page is actively in use, it is desirable to promote or slow down the demotion. If the page is not accessible from any volume, it is moved to the lowest cost storage available. Data progression also takes time into account before PITC expires. If the snapshot is scheduled to expire soon, the page will not progress. If the page pool is operating in aggressive mode, page progression may occur.

データ・プログレッションの最近アクセス検出(recent access detection、最近されたアクセスの検出)では、ページの昇格動作から一塊の活動を取り除く必要がある。データ・プログレッションでは、読み出しと書き込みのアクセス追跡を分離している。これにより、データ・プログレッションは、アクセス可能であるRAID5装置上のデータを保持することが可能とされる。ウイルスのスキャンや報告などのような動作は、データを読み出すのみである。データ・プログレッションは、ストレージが残り少なくなっているときに、最近アクセス(recent access)の資格を変更する。これにより、データ・プログレッションは、ページの降格をよりアグレッシブに行えるようになる。また、これは、ストレージが残り少なくなっているときに、システムをボトム(底)の方から詰めていくのに役立つ。   Recent access detection for data progression requires removing a lump of activity from page promotion operations. Data progression separates read and write access tracking. This allows data progression to hold data on accessible RAID 5 devices. Operations such as virus scanning and reporting only read data. Data progression changes the credential for recent access when storage is running low. This allows data progression to more aggressively demote pages. This also helps to pack the system from the bottom when storage is running low.

データ・プログレッションは、システム資源が少なくなるとデータ・ページをアグレッシブ(積極的)に移動させることができる。より多くのディスクまたはコンフィギュレーションの変更は、こうした場合のすべてでやはり必要である。データ・プログレッションは、時間のない状況においてシステムが動作し得る時間の量を延ばす。データ・プログレッションは、システムをできるだけ長く動作可能に保つように試みる。その時間とは、そのすべてのストレージ・クラスの空間がなくなるときである。   Data progression can move data pages aggressively when system resources are low. More disk or configuration changes are still necessary in all of these cases. Data progression extends the amount of time that the system can operate in a timeless situation. Data progression attempts to keep the system operational as long as possible. That time is when all the storage class spaces are gone.

RAID10空間が残り少なくなっており、使用可能なディスク空間全体が残り少なくなっている場合には、データ・プログレッションは、RAID10ディスク空間を取り上げて、より効率のよいRAID5へと移動させることができる。これにより、システムの全体容量が、書き込み性能を犠牲にして、増加する。より多くのディスクはやはり必要である。特定のストレージ・クラスが完全に使用された場合、データ・プログレッションは、受け入れ可能でないページを借りてシステムを動作させ続けることができる。例えば、あるボリュームが、RAID10―FCを、そのアクセス可能情報用に使用するようにコンフィギュレーションされている場合に、より多くのRAID10−FC空間が使用可能になるまで、RAID5−FCまたはRAID10−SATAからページを割り当てる。   If the RAID 10 space is low and the entire available disk space is low, the data progression can take the RAID 10 disk space and move it to a more efficient RAID 5. This increases the overall capacity of the system at the expense of write performance. More disks are still needed. If a particular storage class is fully used, data progression can continue to operate the system with unacceptable pages. For example, if a volume is configured to use RAID 10-FC for its accessible information, RAID 5-FC or RAID 10-SATA until more RAID 10-FC space is available. Allocate pages from.

また、データ・プログレッションは、システムの知覚される容量を増加させるための圧縮をサポートする。圧縮が使用されるのは、アクセスされていない履歴ページに対して、またはリカバリ情報の記憶のためにである。圧縮は、ストレージ・コストの最下部近くの別のクラスのストレージとして現れる。   Data progression also supports compression to increase the perceived capacity of the system. Compression is used for history pages that have not been accessed or for storage of recovery information. Compression appears as another class of storage near the bottom of storage costs.

図25に示すように、ページ・プールは、本質的に、フリー・リストおよび装置情報を含む。ページ・プールは、複数のフリー・リスト、強化されたページ割り当て方式、およびフリー・リストの分類をサポートする必要がある。ページ・プールは、ストレージのクラスごとに別々のフリー・リストを維持する。この割り当て方式により、ページを多くのプールのうちの1つから割り当て、且つ、許可される最小または最大のクラスを設定する。フリー・リストの分類は、装置のコンフィギュレーションに由来する。それぞれのフリー・リストは、統計の収集および表示のためにそれ自体のカウンタを提供する。また、それぞれのフリー・リストは、ストレージ効率の統計の収集のためのRAID装置効率情報を提供する。   As shown in FIG. 25, the page pool essentially includes a free list and device information. The page pool must support multiple free lists, enhanced page allocation schemes, and free list classification. The page pool maintains a separate free list for each class of storage. This allocation scheme allocates pages from one of many pools and sets the minimum or maximum class allowed. The free list classification comes from the configuration of the device. Each free list provides its own counter for statistics collection and display. Each free list also provides RAID device efficiency information for collection of storage efficiency statistics.

一実施形態では、装置リストには、ストレージ・クラスのコストを追跡する更なる機能が必要であり得る。組合せにより、ストレージのクラスが決定される。これが起きるのは、ユーザが、コンフィギュレーションしたクラスの粒度がより荒いまたは細かいものであることを希望する場合である。   In one embodiment, the device list may require additional functionality to track storage class costs. The storage class is determined by the combination. This happens when the user wants the granularity of the configured class to be coarser or finer.

図26に、高性能のデータベースの一実施形態を示しており、ここでは、すべてのアクセス可能なデータは、最近アクセスされていない場合でも、2.5FCドライブ上にある。アクセス不能な履歴データは、RAID5ファイバ・チャネルへ移動される。   FIG. 26 illustrates one embodiment of a high performance database where all accessible data is on 2.5FC drives, even if not recently accessed. Inaccessible historical data is moved to a RAID 5 fiber channel.

図27は、MRI画像ボリュームの一実施形態を示しており、ここでは、アクセス可能なストレージは、この動的なボリューム用のSATA RAID10およびRAID5である。画像が最近アクセスされていない場合、画像はRAID5へ移動される。その場合、新しい書き込みは、初めはRAID10へ向かう。図19は、圧縮されたページ・レイアウトの一実施形態を示す。データ・プログレッションは、圧縮を、固定サイズのデータ・ページを更に細かく割り当てることによって、実装する。更に細かい割り当て(sub-allocation、サブ・アロケーション)の情報は、ページの空きの部分、およびページの割り当て済みの部分の場所を追跡する。データ・プログレッションは、圧縮の効率を予測することはできないが、そのサブ・アロケーション範囲内で可変サイズのページを取り扱うことができる。   FIG. 27 illustrates one embodiment of an MRI image volume, where the accessible storage is SATA RAID 10 and RAID 5 for this dynamic volume. If the image has not been accessed recently, the image is moved to RAID5. In that case, a new write is initially directed to RAID 10. FIG. 19 illustrates one embodiment of a compressed page layout. Data progression implements compression by further allocating fixed size data pages. Further sub-allocation information tracks the location of the free part of the page and the assigned part of the page. Data progression cannot predict compression efficiency, but can handle variable-sized pages within its sub-allocation range.

圧縮されたページは、CPUの性能に著しく影響することがある。書き込みアクセスの場合、圧縮されたページは、ページ全体の圧縮解除および再圧縮が必要となるはずである。従って、アクティブにアクセスされているページは、圧縮されず、非圧縮の状態に戻される。書き込みは、ストレージが極度に限られた状況で必要となり得る。   Compressed pages can significantly affect CPU performance. For write access, a compressed page should require decompression and recompression of the entire page. Accordingly, the page being actively accessed is not compressed and returned to an uncompressed state. Writing may be necessary in situations where storage is extremely limited.

PITC再マッピング・テーブルは、サブ・アロケーション情報を指し、圧縮されているページを示すようにマークされる。圧縮されたページにアクセスするには、非圧縮のページよりも高いI/Oカウントが必要になり得る。アクセスには、実際のデータの場所を取り出すために、サブ・アロケーション情報の読み出しが必要になる。圧縮されたデータは、ディスクから読み出し、プロセッサで圧縮解除することができる。   The PITC remapping table points to sub-allocation information and is marked to indicate the page being compressed. Accessing a compressed page may require a higher I / O count than an uncompressed page. Access requires reading out the sub-allocation information in order to retrieve the actual data location. The compressed data can be read from the disk and decompressed by the processor.

データ・プログレッションでは、圧縮は、ページ全体のうちの一部を圧縮解除できるようにすることが必要とされ得る。これにより、データ・プログレッションの読み出しアクセスは、そのページの小さな部分のみの圧縮解除を行える。読み出しキャッシュの先読み機能は、圧縮の遅延に対して役立ち得る。一つの圧縮解除で、幾つものサーバI/Oを取り扱うことができる。データ・プログレッションは、圧縮の候補として適さないページにマークし、それによって、或るページの圧縮を続けて試みないようにする。   In data progression, compression may be required to be able to decompress some of the entire page. This allows data progression read access to decompress only a small portion of the page. The read-ahead feature of the read cache can help with compression delays. A single decompression can handle several server I / Os. Data progression marks pages that are not suitable candidates for compression, thereby avoiding continued attempts to compress a page.

図20に、本発明の諸原理に従った、高レベルのディスク・ドライブ・システムにおけるデータ・プログレッションの一実施形態を示す。データ・プログレッションは、ボリュームの外面的な振る舞いやデータ・パスの動作を変更しない。データ・プログレッションは、ページ・プールへの変更を必要とし得る。ページ・プールは、本質的に、フリー・リストおよび装置情報を含む。ページ・プールは、複数のフリー・リスト、強化されたページ割り当て方式、およびフリー・リストの分類をサポートする必要がある。ページ・プールは、ストレージのそれぞれのクラスに対して個々のフリー・リストを維持する。割り当て方式は、許可される最小および最大のクラスを設定しつつ、ページが多くのプールのうちの1つから割り当てられるようにする。フリー・リストの分類は、装置のコンフィギュレーションに由来することができる。それぞれのフリー・リストは、統計の収集および表示のためにそれ自体のカウンタを提供する。また、それぞれのフリー・リストは、ストレージの効率の統計の収集のためにRAID装置効率情報を提供する。   FIG. 20 illustrates one embodiment of data progression in a high level disk drive system in accordance with the principles of the present invention. Data progression does not change the external behavior of the volume or the behavior of the data path. Data progression may require changes to the page pool. The page pool essentially contains a free list and device information. The page pool must support multiple free lists, enhanced page allocation schemes, and free list classification. The page pool maintains a separate free list for each class of storage. The allocation scheme allows pages to be allocated from one of many pools while setting the minimum and maximum classes allowed. Free list classification can be derived from the configuration of the device. Each free list provides its own counter for statistics collection and display. Each free list also provides RAID device efficiency information for collection of storage efficiency statistics.

PITCは、移動の候補を識別し、その移動のときには、アクセス可能なページへのI/Oを妨げる。データ・プログレッションは、候補に関してPITCを継続的に検査する。ページのアクセス可能性は、サーバI/O、新しいスナップショット・ページ更新、およびビュー・ボリュームの作成/削除に起因して、継続的に変化する。また、データ・プログレッションは、ボリュームのコンフィギュレーションの変更を継続的に検査し、ページのクラスおよびカウントの現在のリストをまとめあげる。これにより、データ・プログレッションは、そのまとめ(一覧)を評価し、移動するページがあるかを判定できる。   PITC identifies candidates for movement and prevents I / O to accessible pages during the movement. Data progression continually examines the PITC for candidates. The accessibility of pages changes continuously due to server I / O, new snapshot page updates, and view volume creation / deletion. Data progression also continuously checks for volume configuration changes and summarizes the current list of page classes and counts. Thus, the data progression can evaluate the summary (list) and determine whether there is a page to be moved.

それぞれのPITCは、ストレージの各クラスに使用されるページの数に関するカウンタを提示する。データ・プログレッションは、この情報を使用して、閾値に達したときにページを移動させるための良い候補になるPITCを識別する。   Each PITC presents a counter for the number of pages used for each class of storage. Data progression uses this information to identify PITCs that are good candidates for moving pages when a threshold is reached.

RAIDは、ディスクのコストに基づいて、1組のディスクから装置を割り当てる。また、RAIDは、装置または潜在的な装置の効率を取り出すAPIを提供する。また、これは、書き込み動作に必要なI/Oの数についての情報を返す必要がある。また、データ・プログレッションは、また、サード・パーティのRAIDコントローラをデータ・プログレッションの一部として使用するために、RAID NULLを必要とし得る。RAID NULLは、ディスク全体を消費し得、単にパス・スルー・レイヤとして働き得る。   RAID allocates devices from a set of disks based on the cost of the disks. RAID also provides an API that retrieves the efficiency of a device or potential device. It also needs to return information about the number of I / Os required for the write operation. Data progression may also require RAID NULL to use a third party RAID controller as part of the data progression. RAID NULL can consume the entire disk and can simply act as a pass-through layer.

また、ディスク・マネージャは、ディスク分類を自動的に決定し保存することができる。ディスク分類を自動的に決定するには、SCSIイニシエータへの変更が必要となり得る。   The disk manager can also automatically determine and save the disk classification. Changes to the SCSI initiator may be required to automatically determine the disk classification.

上述の説明および図面から、ここに示し説明した特定の諸実施形態は、もっぱら例示を目的としており、本発明の範囲を限定するものではないことが当業者には理解されよう。本発明を他の特定の形式で実施することは、その趣旨または本質的な諸特徴から逸脱することなく行えることが当業者には理解されよう。特定の諸実施形態の詳細への言及は、本発明の範囲を限定するものではない。   From the foregoing description and drawings, those skilled in the art will appreciate that the specific embodiments shown and described are intended for purposes of illustration only and are not intended to limit the scope of the invention. Those skilled in the art will appreciate that the invention may be practiced in other specific forms without departing from its spirit or essential characteristics. References to details of particular embodiments do not limit the scope of the invention.

Claims (28)

ストレージのプールにおいてデータを動的に割り当てる能力を有するディスク・ドライブ・システムであって、
データ・ストレージ・サブシステムと、
前記データ・ストレージ・サブシステムからのストレージ空間からなる複数のユーザ・ボリュームと、
少なくとも1つのディスク・ストレージ・システム・コントローラを有するディスク・マネージャと
を含み、
前記ディスク・マネージャは、
前記データ・ストレージ・サブシステムの仮想ボリュームのマトリックスを含むストレージのプールを維持するように構成され、前記仮想ボリュームのそれぞれは、複数の物理的ストレージ・デバイスの抽象化されたものであり、予め定められたサイズを有するものであり、
自由な仮想ボリュームを、前記仮想ボリュームのマトリックスから前記複数のユーザ・ボリュームへ動的に割り当てるように構成され、
割り当てられた前記仮想ボリュームへデータを書き込むように構成される
ものである、
システム。
A disk drive system capable of dynamically allocating data in a pool of storage,
A data storage subsystem;
A plurality of user volumes comprising storage space from the data storage subsystem;
A disk manager having at least one disk storage system controller;
The disk manager
Configured to maintain a pool of storage including a matrix of virtual volumes of the data storage subsystem, each of the virtual volumes being an abstraction of a plurality of physical storage devices and pre-determined Having a size of
Configured to dynamically allocate free virtual volumes from the matrix of virtual volumes to the plurality of user volumes;
Configured to write data to the allocated virtual volume;
system.
請求項1に記載のシステムであって、前記データ・ストレージ・サブシステムおよび前記ディスク・マネージャは、更に別のディスク・ドライブが必要であるかを判定し、前記更に別のディスク・ドライブが必要である場合には通知が送られる、システム。   The system of claim 1, wherein the data storage subsystem and the disk manager determine whether additional disk drives are required and the additional disk drives are required. A system in which notifications are sent in some cases. 請求項1または2に記載のシステムであって、前記ディスク・マネージャは複数のディスク・ストレージ・システム・コントローラを管理する、システム。   3. A system according to claim 1 or 2, wherein the disk manager manages a plurality of disk storage system controllers. 請求項1ないし3の何れかに記載のシステムであって、動作されるディスク・ストレージ・システム・コントローラの障害をカバーするために複数の冗長なディスク・ストレージ・システム・コントローラを更に備える、システム。   4. A system according to any of claims 1 to 3, further comprising a plurality of redundant disk storage system controllers to cover failures of the operated disk storage system controller. 請求項1ないし4の何れかに記載のシステムであって、前記データ・ストレージ・サブシステムは、RAID−0、RAID−1、RAID−5、RAID−10などのようなRAIDタイプのうちの少なくとも1つを含む組合せを更に備える、システム。   5. The system according to claim 1, wherein the data storage subsystem is at least one of RAID types such as RAID-0, RAID-1, RAID-5, RAID-10, etc. The system further comprising a combination including one. 請求項5に記載のシステムであって、前記データ・ストレージ・サブシステムは、RAID−3、RAID−4、RAID−6、およびRAID−7を含むRAIDタイプを更に備える、システム。   6. The system of claim 5, wherein the data storage subsystem further comprises RAID types including RAID-3, RAID-4, RAID-6, and RAID-7. 請求項1ないし6の何れかに記載のシステムであって、前記仮想ボリュームは、複数のRAIDデバイスを抽象化したものである、システム。   The system according to any one of claims 1 to 6, wherein the virtual volume is an abstraction of a plurality of RAID devices. 請求項1ないし7の何れかに記載のシステムであって、前記少なくとも1つのディスク・ストレージ・システム・コントローラは、自動的に、所定の時間間隔で前記仮想ボリュームのそれぞれに対するスナップショットを生成し、それぞれのスナップショットのアドレス・インデックスを関連する仮想ボリュームに記憶し、記憶したアドレス・インデックスを介して前記仮想ボリュームの前記スナップショットの位置が即座に見つかるようにするものであり、前記スナップショットは、以前の時間間隔でとられた以前のスナップショット以降になされた、関連する仮想ボリュームにおけるデータに対する変更を含むものである、システム。   8. A system as claimed in any preceding claim, wherein the at least one disk storage system controller automatically generates a snapshot for each of the virtual volumes at predetermined time intervals, Storing the address index of each snapshot in the associated virtual volume so that the location of the snapshot of the virtual volume can be immediately found via the stored address index; A system that contains changes to the data in the associated virtual volume since the previous snapshot taken at the previous time interval. 請求項1ないし7の何れかに記載のシステムであって、前記少なくとも1つのディスク・ストレージ・システム・コントローラは、自動的に、前記仮想ボリュームのそれぞれに対するスナップショットを生成し、それぞれのスナップショットのアドレス・インデックスを記憶し、記憶した前記アドレス・インデックスを介して少なくとも1つの前記スナップショットにアクセスし、第1の時点での関連する仮想ボリュームのコンテンツのビューを提供する少なくとも1つの前記スナップショットに基づいて少なくとも1つの前記スナップショットのそれぞれから一時的なボリュームを生成するものであり、前記スナップショットは、以前の時点である第2の時点でとられた以前のスナップショット以降になされた、関連する仮想ボリュームにおけるデータに対する変更を含むものである、システム。   8. A system as claimed in any preceding claim, wherein the at least one disk storage system controller automatically generates a snapshot for each of the virtual volumes, At least one snapshot that stores an address index, accesses at least one of the snapshots via the stored address index, and provides a view of the contents of the associated virtual volume at a first time point A temporary volume from each of the at least one of the snapshots, the snapshot being related since the previous snapshot taken at the second point in time To virtual volume It is intended to include changes to the kicking data, system. データ・ストレージ・サブシステムのデータを動的に割り当てる方法であって、
前記データ・ストレージ・サブシステムの複数のデータ・ストレージ・デバイスからのストレージ空間の複数のユーザ・ボリュームを生成するステップと、
前記データ・ストレージ・サブシステムの仮想ボリュームのマトリックスを含むストレージのプールを管理するステップであって、前記仮想ボリュームのそれぞれは、複数の物理的ストレージ・デバイスの抽象化されたものであり、予め定められたサイズを有するものである、ステップと、
ストレージのプールを用いて、自由な仮想ボリュームを、前記仮想ボリュームのマトリックスから前記複数のユーザ・ボリュームへ動的に割り当てるステップと、
割り当てられた前記仮想ボリュームへデータを書き込むステップと
を備える方法。
A method of dynamically allocating data in a data storage subsystem,
Generating a plurality of user volumes of storage space from a plurality of data storage devices of the data storage subsystem;
Managing a pool of storage that includes a matrix of virtual volumes of the data storage subsystem, each of the virtual volumes being an abstraction of a plurality of physical storage devices and predetermined. A step having a specified size;
Dynamically assigning free virtual volumes from the matrix of virtual volumes to the plurality of user volumes using a pool of storage;
Writing data to the allocated virtual volume.
請求項10に記載の方法であって、
前記データ・ストレージ・サブシステムのディスク空間の占有率を、前記データ・ストレージ・サブシステムの前記ディスク空間の占有率の履歴に基づいて決定するステップと、
前記占有率に基づいて、前記データ・ストレージ・サブシステムに追加のディスク・ドライブが必要であるかを判定するステップと、
前記追加のディスク・ドライブが必要である場合には、通知を前記データ・ストレージ・サブシステムへ送るステップと
更に備える方法。
The method of claim 10, comprising:
Determining a disk space occupancy of the data storage subsystem based on a history of the disk space occupancy of the data storage subsystem;
Determining whether the data storage subsystem requires an additional disk drive based on the occupancy; and
Sending the notification to the data storage subsystem if the additional disk drive is needed.
請求項11に記載の方法であって、前記通知を電子メールによって送ることを更に含む、方法。   The method of claim 11, further comprising sending the notification by email. 請求項10ないし12の何れかに記載の方法であって、仮想ボリュームの前記予め定められたサイズは、デフォルトのサイズであり、ユーザによって変更可能である、方法。   13. A method according to any of claims 10 to 12, wherein the predetermined size of a virtual volume is a default size and can be changed by a user. 請求項10ないし13の何れかに記載の方法であって、前記複数のユーザ・ボリュームは、RAID−0、RAID−1、RAID−5、RAID−10の、複数のRAIDタイプのうちの少なくとも1つからのディスク空間ブロックを備える、方法。   14. The method according to claim 10, wherein the plurality of user volumes are at least one of a plurality of RAID types of RAID-0, RAID-1, RAID-5, and RAID-10. A method comprising one disk space block. 請求項10ないし14の何れかに記載の方法であって、
所定の時間間隔で前記仮想ボリュームのそれぞれに対するスナップショットを自動的に生成するステップであって、それぞれのスナップショットは、以前の時間間隔でとられた以前のスナップショット以降になされた、関連する仮想ボリュームにおけるデータに対する変更を含むものである、ステップと、
それぞれのスナップショットのアドレス・インデックスを記憶するステップであって、記憶したアドレス・インデックスを介して前記仮想ボリュームの前記スナップショットの位置が即座に見つかるようにするものである、ステップと
を更に備える方法。
A method according to any of claims 10 to 14, comprising
Automatically generating a snapshot for each of the virtual volumes at a predetermined time interval, each snapshot being associated with a virtual that was taken since the previous snapshot taken at the previous time interval. A step that includes changes to the data in the volume; and
Storing the address index of each snapshot, the method further comprising: instantly finding the location of the snapshot of the virtual volume via the stored address index. .
請求項15に記載の方法であって、それぞれのスナップショットは、関連する仮想ボリュームへの書き込み動作の記録を含む、方法。   The method of claim 15, wherein each snapshot includes a record of write operations to the associated virtual volume. 請求項15または16に記載の方法であって、前記所定の時間間隔はユーザにより定められたものである、方法。   The method according to claim 15 or 16, wherein the predetermined time interval is determined by a user. 請求項15ないし17の何れかに記載の方法であって、前記時間間隔は、数秒毎から数時間毎の範囲である、方法。   18. A method as claimed in any of claims 15 to 17, wherein the time interval ranges from every few seconds to every few hours. 請求項15ないし18の何れかに記載の方法であって、前記スナップショットは、主とするシステムが壊れた場合にデータのインテグリティに影響がなく且つデータを即座にリカバリできるように、リモートのデータ・ストレージ・サブシステムで記憶される、
方法。
19. A method as claimed in any of claims 15 to 18, wherein the snapshot has no effect on the integrity of the data and the data can be recovered immediately if the main system is broken. Stored in the storage subsystem,
Method.
請求項15ないし19の何れかに記載の方法であって、ユーザのリクエストに応じて少なくとも1つの仮想ボリュームに対するスナップショットを生成するステップを更に備える方法。   20. A method as claimed in any of claims 15 to 19, further comprising the step of generating a snapshot for at least one virtual volume in response to a user request. 請求項15ないし20の何れかに記載の方法であって、少なくとも2つのスナップショットを、関連する仮想ボリュームについて、合体させるステップを更に備える方法。   21. A method as claimed in any of claims 15 to 20, further comprising the step of coalescing at least two snapshots for the associated virtual volume. 請求項10ないし14の何れかに記載の方法であって、
前記仮想ボリュームに対して複数のスナップショットを生成するステップと、
前記スナップショットのアドレス・インデックスを記憶するステップと、
記憶された前記アドレス・インデックスを介して複数の前記スナップショットの少なくとも1つのスナップショットにアクセスするステップと、
アクセスされた前記少なくとも1つのスナップショットから一時的なボリュームを生成するステップであって、前記一時的なボリュームは、特定の時点での関連する仮想ボリュームのコンテンツのビューを提供するものである、ステップと
を更に備える方法。
A method according to any of claims 10 to 14, comprising
Generating a plurality of snapshots for the virtual volume;
Storing an address index of the snapshot;
Accessing at least one snapshot of the plurality of snapshots via the stored address index;
Generating a temporary volume from the accessed at least one snapshot, the temporary volume providing a view of the contents of the associated virtual volume at a particular point in time; A method further comprising:
請求項22に記載の方法であって、前記スナップショットは所定の時間間隔で生成される、方法。   The method of claim 22, wherein the snapshots are generated at predetermined time intervals. 請求項22または23に記載の方法であって、前記仮想ボリュームの基礎となるデータを変えることなく前記一時的なボリュームを変更するステップを更に備える方法。   24. The method according to claim 22 or 23, further comprising the step of changing the temporary volume without changing the data underlying the virtual volume. 請求項22ないし24の何れかに記載の方法であって、前記一時的なボリュームは検査に使用され、前記検査は、前記仮想ボリュームの基礎となるデータを変えることなく、前記時点にあったときのデータに対して行われる、方法。   25. A method as claimed in any one of claims 22 to 24, wherein the temporary volume is used for inspection, and the inspection is at the point in time without changing the underlying data of the virtual volume. The method that is performed on the data. 請求項22ないし25の何れかに記載の方法であって、前記一時的なボリュームは訓練に使用され、前記訓練は、前記仮想ボリュームの基礎となるデータを変えることなく、前記時点にあったときのデータに対して行われる、方法。   26. A method as claimed in any of claims 22 to 25, wherein the temporary volume is used for training, and the training is at the point in time without changing the underlying data of the virtual volume. The method that is performed on the data. 請求項22ないし26の何れかに記載の方法であって、前記一時的なボリュームは前記データのバックアップに使用される、方法。   27. A method according to any of claims 22 to 26, wherein the temporary volume is used for backup of the data. 請求項22ないし27の何れかに記載の方法であって、前記一時的なボリュームは前記データのリカバリに使用される、方法。   28. A method as claimed in any of claims 22 to 27, wherein the temporary volume is used for recovery of the data.
JP2011003337A 2003-08-14 2011-01-11 System and method of virtual disk drive Pending JP2011108258A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US49520403P 2003-08-14 2003-08-14
US60/495,204 2003-08-14
US10/918,329 US7613945B2 (en) 2003-08-14 2004-08-13 Virtual disk drive system and method
US10/918,329 2004-08-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006523434A Division JP2007502470A (en) 2003-08-14 2004-08-13 Virtual disk drive system and method

Publications (1)

Publication Number Publication Date
JP2011108258A true JP2011108258A (en) 2011-06-02

Family

ID=34228586

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2006523434A Pending JP2007502470A (en) 2003-08-14 2004-08-13 Virtual disk drive system and method
JP2010186320A Pending JP2010272138A (en) 2003-08-14 2010-08-23 Virtual disk drive system and method
JP2010212075A Active JP5260610B2 (en) 2003-08-14 2010-09-22 Virtual disk drive system and method
JP2010212078A Pending JP2011018363A (en) 2003-08-14 2010-09-22 Virtual disk drive system and method
JP2011003337A Pending JP2011108258A (en) 2003-08-14 2011-01-11 System and method of virtual disk drive

Family Applications Before (4)

Application Number Title Priority Date Filing Date
JP2006523434A Pending JP2007502470A (en) 2003-08-14 2004-08-13 Virtual disk drive system and method
JP2010186320A Pending JP2010272138A (en) 2003-08-14 2010-08-23 Virtual disk drive system and method
JP2010212075A Active JP5260610B2 (en) 2003-08-14 2010-09-22 Virtual disk drive system and method
JP2010212078A Pending JP2011018363A (en) 2003-08-14 2010-09-22 Virtual disk drive system and method

Country Status (6)

Country Link
US (18) US7613945B2 (en)
EP (1) EP1668486A2 (en)
JP (5) JP2007502470A (en)
CN (1) CN101566931B (en)
HK (1) HK1093481A1 (en)
WO (1) WO2005017737A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085882A (en) * 2012-10-24 2014-05-12 Nippon Telegr & Teleph Corp <Ntt> Information processor, storage server, storage system, backup method, and backup program

Families Citing this family (941)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162600B2 (en) 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
US7603518B2 (en) 2005-12-19 2009-10-13 Commvault Systems, Inc. System and method for improved media identification in a storage device
US8346733B2 (en) * 2006-12-22 2013-01-01 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library
US6983303B2 (en) * 2002-01-31 2006-01-03 Hewlett-Packard Development Company, Lp. Storage aggregator for enhancing virtualization in data storage networks
US6983286B1 (en) * 2002-05-10 2006-01-03 Oracle International Corporation Method and apparatus for accessing data as it existed at a previous point in time
WO2004090789A2 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. System and method for extended media retention
EP1625526B1 (en) 2003-04-03 2012-10-03 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US9489150B2 (en) * 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
CN101566931B (en) 2003-08-14 2011-05-18 克姆佩棱特科技公司 Virtual disk drive system and method
US7552149B2 (en) * 2003-09-06 2009-06-23 Oracle International Corporation Querying past versions of data in a distributed database
JP4863605B2 (en) 2004-04-09 2012-01-25 株式会社日立製作所 Storage control system and method
JP4646526B2 (en) * 2004-02-18 2011-03-09 株式会社日立製作所 Storage control system and control method thereof
CA2564967C (en) 2004-04-30 2014-09-30 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US8266406B2 (en) 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US7240065B2 (en) * 2004-05-27 2007-07-03 Oracle International Corporation Providing mappings between logical time values and real time values
US9209989B2 (en) * 2004-06-01 2015-12-08 Inmage Systems, Inc. Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction
US7698401B2 (en) * 2004-06-01 2010-04-13 Inmage Systems, Inc Secondary data storage and recovery system
US7676502B2 (en) * 2006-05-22 2010-03-09 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US8224786B2 (en) * 2004-06-01 2012-07-17 Inmage Systems, Inc. Acquisition and write validation of data of a networked host node to perform secondary storage
US8868858B2 (en) * 2006-05-19 2014-10-21 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US7979656B2 (en) 2004-06-01 2011-07-12 Inmage Systems, Inc. Minimizing configuration changes in a fabric-based data protection solution
US8055745B2 (en) 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
US7251660B2 (en) * 2004-06-10 2007-07-31 Oracle International Corporation Providing mappings between logical time values and real time values in a multinode system
US8601035B2 (en) 2007-06-22 2013-12-03 Compellent Technologies Data storage space recovery system and method
US8307026B2 (en) * 2004-08-19 2012-11-06 International Business Machines Corporation On-demand peer-to-peer storage virtualization infrastructure
US7472307B2 (en) * 2004-11-02 2008-12-30 Hewlett-Packard Development Company, L.P. Recovery operations in storage networks
US7500053B1 (en) 2004-11-05 2009-03-03 Commvvault Systems, Inc. Method and system for grouping storage system components
US7434091B1 (en) * 2004-12-07 2008-10-07 Symantec Operating Corporation Flexibly combining mirroring, concatenation and striping in virtual storage devices
US8862852B2 (en) * 2005-02-03 2014-10-14 International Business Machines Corporation Apparatus and method to selectively provide information to one or more computing devices
US8112605B2 (en) 2005-05-02 2012-02-07 Commvault Systems, Inc. System and method for allocation of organizational resources
US7536529B1 (en) 2005-06-10 2009-05-19 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system
US7747835B1 (en) 2005-06-10 2010-06-29 American Megatrends, Inc. Method, system, and apparatus for expanding storage capacity in a data storage system
US7933936B2 (en) * 2005-06-10 2011-04-26 Network Appliance, Inc. Method and system for automatic management of storage space
US7600083B2 (en) * 2005-06-10 2009-10-06 Network Appliance, Inc. Method and system for automatic write request suspension
WO2007002398A2 (en) * 2005-06-24 2007-01-04 Syncsort Incorporated System and method for virtualizing backup images
US9378099B2 (en) 2005-06-24 2016-06-28 Catalogic Software, Inc. Instant data center recovery
US20070011214A1 (en) * 2005-07-06 2007-01-11 Venkateswararao Jujjuri Oject level adaptive allocation technique
CN100369000C (en) * 2005-08-12 2008-02-13 西安三茗科技有限责任公司 A computer hardware data multi-timepoint fast storing and recovery method
US8078910B1 (en) 2008-12-15 2011-12-13 Open Invention Network, Llc Method and system for providing coordinated checkpointing to a group of independent computer applications
JP2007066259A (en) * 2005-09-02 2007-03-15 Hitachi Ltd Computer system, storage system and volume capacity expansion method
US8683144B2 (en) * 2005-09-16 2014-03-25 Inmage Systems, Inc. Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery
US8601225B2 (en) * 2005-09-16 2013-12-03 Inmage Systems, Inc. Time ordered view of backup data on behalf of a host
US20070067670A1 (en) * 2005-09-19 2007-03-22 Xiotech Corporation Method, apparatus and program storage device for providing drive load balancing and resynchronization of a mirrored storage system
JP4933861B2 (en) * 2005-09-22 2012-05-16 株式会社日立製作所 Storage control device, data management system, and data management method
US10169229B2 (en) 2012-06-05 2019-01-01 International Business Machines Corporation Protocols for expanding existing sites in a dispersed storage network
US10154034B2 (en) 2010-04-26 2018-12-11 International Business Machines Corporation Cooperative data access request authorization in a dispersed storage network
US8880799B2 (en) * 2005-09-30 2014-11-04 Cleversafe, Inc. Rebuilding data on a dispersed storage network
US10282440B2 (en) 2015-03-31 2019-05-07 International Business Machines Corporation Prioritizing rebuilding of encoded data slices
US11416339B1 (en) 2005-09-30 2022-08-16 Pure Storage, Inc. Validating requests based on stored vault information
US9027080B2 (en) 2008-03-31 2015-05-05 Cleversafe, Inc. Proxy access to a dispersed storage network
US10044807B2 (en) 2005-09-30 2018-08-07 International Business Machines Corporation Optimistic checked writes
US8357048B2 (en) * 2009-09-29 2013-01-22 Cleversafe, Inc. Interactive gaming utilizing a dispersed storage network
US10356177B2 (en) 2005-09-30 2019-07-16 International Business Machines Corporation Prioritizing ranges to rebuild based on namespace health
US8694668B2 (en) * 2005-09-30 2014-04-08 Cleversafe, Inc. Streaming media software interface to a dispersed data storage network
US11620185B2 (en) 2005-09-30 2023-04-04 Pure Storage, Inc. Integrity processing in a dispersed storage network
US8595435B2 (en) * 2009-07-30 2013-11-26 Cleversafe, Inc. Dispersed storage write process
US11340988B2 (en) 2005-09-30 2022-05-24 Pure Storage, Inc. Generating integrity information in a vast storage system
US11909418B1 (en) 2005-09-30 2024-02-20 Pure Storage, Inc. Access authentication in a dispersed storage network
US10257276B2 (en) 2005-09-30 2019-04-09 International Business Machines Corporation Predictive rebalancing according to future usage expectations
US8209363B2 (en) 2007-10-09 2012-06-26 Cleversafe, Inc. File system adapted for use with a dispersed data storage network
US10866754B2 (en) 2010-04-26 2020-12-15 Pure Storage, Inc. Content archiving in a distributed storage network
US7904475B2 (en) * 2007-10-09 2011-03-08 Cleversafe, Inc. Virtualized data storage vaults on a dispersed data storage network
US11221917B1 (en) 2005-09-30 2022-01-11 Pure Storage, Inc. Integrity processing in a dispersed storage network
US10855769B2 (en) 2005-09-30 2020-12-01 Pure Storage, Inc. Prioritizing memory devices to replace based on namespace health
US8938591B2 (en) * 2005-09-30 2015-01-20 Cleversafe, Inc. Dispersed storage processing unit and methods with data aggregation for use in a dispersed storage system
US11327674B2 (en) 2012-06-05 2022-05-10 Pure Storage, Inc. Storage vault tiering and data migration in a distributed storage network
US9996413B2 (en) * 2007-10-09 2018-06-12 International Business Machines Corporation Ensuring data integrity on a dispersed storage grid
US9632872B2 (en) 2012-06-05 2017-04-25 International Business Machines Corporation Reprioritizing pending dispersed storage network requests
US8352782B2 (en) * 2005-09-30 2013-01-08 Cleversafe, Inc. Range based rebuilder for use with a dispersed data storage network
US7953937B2 (en) * 2005-09-30 2011-05-31 Cleversafe, Inc. Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid
US9063881B2 (en) 2010-04-26 2015-06-23 Cleversafe, Inc. Slice retrieval in accordance with an access sequence in a dispersed storage network
US9632722B2 (en) 2010-05-19 2017-04-25 International Business Machines Corporation Balancing storage unit utilization within a dispersed storage network
US11474903B1 (en) 2005-09-30 2022-10-18 Pure Storage, Inc. Rebuilding of encoded data slices using locally decodable code segments
US10938418B2 (en) 2005-09-30 2021-03-02 Pure Storage, Inc. Online disk replacement/removal
US10250686B2 (en) 2005-09-30 2019-04-02 International Business Machines Corporation Finding alternate storage locations to support failing disk migration
US10747616B2 (en) 2015-03-31 2020-08-18 Pure Storage, Inc. Adapting rebuilding of encoded data slices in a dispersed storage network
US10860424B1 (en) 2005-09-30 2020-12-08 Pure Storage, Inc. Background verification processing in a storage network
US11272009B1 (en) 2005-09-30 2022-03-08 Pure Storage, Inc. Managed data slice maintenance in a distributed storage system
US8555109B2 (en) * 2009-07-30 2013-10-08 Cleversafe, Inc. Method and apparatus for distributed storage integrity processing
US9774684B2 (en) 2005-09-30 2017-09-26 International Business Machines Corporation Storing data in a dispersed storage network
US10051057B2 (en) 2005-09-30 2018-08-14 International Business Machines Corporation Prioritizing read locations based on an error history
US8171101B2 (en) * 2005-09-30 2012-05-01 Cleversafe, Inc. Smart access to a dispersed data storage network
US7574570B2 (en) * 2005-09-30 2009-08-11 Cleversafe Inc Billing system for information dispersal system
US10270858B2 (en) 2005-09-30 2019-04-23 International Business Machines Corporation Inducing memory device idle time through rolling read prioritizations
US10389814B2 (en) 2005-09-30 2019-08-20 Pure Storage, Inc. Prioritizing memory devices to replace based on namespace health
US11841770B2 (en) 2005-09-30 2023-12-12 Pure Storage, Inc. Storage unit connection security in a storage network and methods for use therewith
US11080138B1 (en) 2010-04-26 2021-08-03 Pure Storage, Inc. Storing integrity information in a vast storage system
US10432726B2 (en) 2005-09-30 2019-10-01 Pure Storage, Inc. Last-resort operations to save at-risk-data
JP4806556B2 (en) * 2005-10-04 2011-11-02 株式会社日立製作所 Storage system and configuration change method
US8010829B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Distributed hot-spare storage in a storage cluster
CN100541413C (en) * 2005-10-21 2009-09-16 中国科学院计算技术研究所 A kind of network RAID system and method based on dynamic mode
US7529968B2 (en) * 2005-11-07 2009-05-05 Lsi Logic Corporation Storing RAID configuration data within a BIOS image
US7596673B2 (en) * 2005-12-08 2009-09-29 Sony Corporation Failure tolerant data storage
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
EP1816563B1 (en) * 2006-01-26 2016-04-27 Infortrend Technology, Inc. Method of managing data snapshot images in a storage system
US7693883B2 (en) * 2006-01-30 2010-04-06 Sap Ag Online data volume deletion
WO2007092615A2 (en) 2006-02-09 2007-08-16 Monosphere Inc. Storage capacity planning
JP4927412B2 (en) 2006-02-10 2012-05-09 株式会社日立製作所 Storage control method and control method thereof
JP4855102B2 (en) * 2006-02-23 2012-01-18 株式会社日立製作所 Computer system, management computer, storage system, and storage area allocation control method
JP4884041B2 (en) * 2006-03-15 2012-02-22 株式会社日立製作所 Storage system for issuing optimum I / O command to automatically expandable volume and control method thereof
JP2007265001A (en) * 2006-03-28 2007-10-11 Hitachi Ltd Storage device
US8554727B2 (en) * 2006-05-19 2013-10-08 Inmage Systems, Inc. Method and system of tiered quiescing
US8527721B2 (en) * 2008-12-26 2013-09-03 Rajeev Atluri Generating a recovery snapshot and creating a virtual view of the recovery snapshot
US8527470B2 (en) * 2006-05-22 2013-09-03 Rajeev Atluri Recovery point data view formation with generation of a recovery view and a coalesce policy
US8838528B2 (en) * 2006-05-22 2014-09-16 Inmage Systems, Inc. Coalescing and capturing data between events prior to and after a temporal window
US8732136B2 (en) * 2006-05-22 2014-05-20 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US7617373B2 (en) * 2006-05-23 2009-11-10 International Business Machines Corporation Apparatus, system, and method for presenting a storage volume as a virtual volume
US20080091877A1 (en) * 2006-05-24 2008-04-17 Klemm Michael J Data progression disk locality optimization system and method
WO2007140260A2 (en) * 2006-05-24 2007-12-06 Compellent Technologies System and method for raid management, reallocation, and restriping
US7783510B1 (en) 2006-06-23 2010-08-24 Quest Software, Inc. Computer storage capacity forecasting system using cluster-based seasonality analysis
GB0613660D0 (en) * 2006-07-08 2006-08-16 Ibm Reserve pool management in virtualized storage systems
US20080010421A1 (en) * 2006-07-10 2008-01-10 Inventec Corporation Snapshot expansion system and method thereof
WO2008007348A1 (en) * 2006-07-12 2008-01-17 Mpstor Limited A data storage system
US8069191B2 (en) 2006-07-13 2011-11-29 International Business Machines Corporation Method, an apparatus and a system for managing a snapshot storage pool
US9037828B2 (en) 2006-07-13 2015-05-19 International Business Machines Corporation Transferring storage resources between snapshot storage pools and volume storage pools in a data storage system
US7634507B2 (en) * 2006-08-30 2009-12-15 Inmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
US7698519B2 (en) 2006-08-31 2010-04-13 International Business Machines Corporation Backup of hierarchically structured storage pools
US7539783B2 (en) 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
US8069321B2 (en) * 2006-11-13 2011-11-29 I365 Inc. Secondary pools
US7996609B2 (en) * 2006-12-20 2011-08-09 International Business Machines Corporation System and method of dynamic allocation of non-volatile memory
US7831566B2 (en) 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
US20080168224A1 (en) * 2007-01-09 2008-07-10 Ibm Corporation Data protection via software configuration of multiple disk drives
JP2008181271A (en) 2007-01-24 2008-08-07 Hitachi Ltd Storage control device backing up data stored in virtual volume
JP5042660B2 (en) * 2007-02-15 2012-10-03 株式会社日立製作所 Storage system
WO2008103960A1 (en) * 2007-02-22 2008-08-28 Monosphere Inc. Lazy evaluation of bulk forecasts
JP4331220B2 (en) * 2007-03-07 2009-09-16 株式会社東芝 Storage device with autonomous management function of unused physical area
US7814117B2 (en) * 2007-04-05 2010-10-12 Oracle International Corporation Accessing data from asynchronously maintained index
US8140775B1 (en) 2007-04-13 2012-03-20 American Megatrends, Inc. Allocating background workflows in a data storage system using autocorrelation
US8024542B1 (en) 2007-04-13 2011-09-20 American Megatrends, Inc. Allocating background workflows in a data storage system using historical data
US8006061B1 (en) 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
US8370597B1 (en) 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
US8001352B1 (en) * 2007-04-17 2011-08-16 American Megatrends, Inc. Networked raid in a virtualized cluster
US8271757B1 (en) 2007-04-17 2012-09-18 American Megatrends, Inc. Container space management in a data storage system
JP2008310685A (en) * 2007-06-15 2008-12-25 Hitachi Ltd Storage system for optimizing performance with redundancy
US20090006792A1 (en) * 2007-06-28 2009-01-01 Federwisch Michael L System and Method to Identify Changed Data Blocks
JP5142629B2 (en) * 2007-08-22 2013-02-13 株式会社日立製作所 Storage system and method for backing up virtual volume
US8706976B2 (en) 2007-08-30 2014-04-22 Commvault Systems, Inc. Parallel access virtual tape library and drives
WO2009031156A2 (en) * 2007-09-09 2009-03-12 Ingrid Networks Ltd Method and apparatus for grid based data protection
US8812443B2 (en) * 2007-10-01 2014-08-19 International Business Machines Corporation Failure data collection system apparatus and method
US8478865B2 (en) * 2007-10-09 2013-07-02 Cleversafe, Inc. Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network
US10027478B2 (en) 2007-10-09 2018-07-17 International Business Machines Corporation Differential key backup
US8533256B2 (en) * 2007-10-09 2013-09-10 Cleversafe, Inc. Object interface to a dispersed data storage network
US8572429B2 (en) * 2007-10-09 2013-10-29 Cleversafe, Inc. Optimistic data writing in a dispersed storage network
US8819179B2 (en) 2007-10-09 2014-08-26 Cleversafe, Inc. Data revision synchronization in a dispersed storage network
US9959076B2 (en) 2007-10-09 2018-05-01 International Business Machines Corporation Optimized disk load distribution
US8185614B2 (en) * 2007-10-09 2012-05-22 Cleversafe, Inc. Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry
US8965956B2 (en) 2007-10-09 2015-02-24 Cleversafe, Inc. Integrated client for use with a dispersed data storage network
US9697171B2 (en) 2007-10-09 2017-07-04 Internaitonal Business Machines Corporation Multi-writer revision synchronization in a dispersed storage network
US8549351B2 (en) * 2007-10-09 2013-10-01 Cleversafe, Inc. Pessimistic data reading in a dispersed storage network
US9888076B2 (en) 2007-10-09 2018-02-06 International Business Machines Corporation Encoded data slice caching in a distributed storage network
US8131927B2 (en) 2007-11-30 2012-03-06 Hitachi, Ltd. Fast accessible compressed thin provisioning volume
US8996841B2 (en) * 2008-02-06 2015-03-31 Compellent Technologies Hypervolume data storage object and method of data storage
JP4810548B2 (en) * 2008-02-07 2011-11-09 株式会社東芝 Server apparatus, updated image detection method and program
US9501355B2 (en) 2008-03-31 2016-11-22 International Business Machines Corporation Storing data and directory information in a distributed storage network
JP5072692B2 (en) * 2008-04-07 2012-11-14 株式会社日立製作所 Storage system with multiple storage system modules
US20090271659A1 (en) * 2008-04-24 2009-10-29 Ulf Troppens Raid rebuild using file system and block list
US7958304B1 (en) * 2008-04-30 2011-06-07 Network Appliance, Inc. Dynamically adapting the fault tolerance and performance characteristics of a raid-based storage system by merging and splitting raid groups
US8554996B2 (en) * 2008-07-07 2013-10-08 Hewlett-Packard Development Company, L.P. Dynamically expanding storage capacity of a storage volume
US8630987B2 (en) * 2008-07-16 2014-01-14 Cleversafe, Inc. System and method for accessing a data object stored in a distributed storage network
US8819011B2 (en) 2008-07-16 2014-08-26 Cleversafe, Inc. Command line interpreter for accessing a data object stored in a distributed storage network
US8028194B2 (en) 2008-07-25 2011-09-27 Inmage Systems, Inc Sequencing technique to account for a clock error in a backup system
WO2010017439A1 (en) * 2008-08-07 2010-02-11 Compellent Technologies System and method for transferring data between different raid data storage types for current data and replay data
US7979735B2 (en) * 2008-08-15 2011-07-12 International Business Machines Corporation Data storage with snapshot-to-snapshot recovery
US9626511B2 (en) * 2008-08-26 2017-04-18 Symantec Corporation Agentless enforcement of application management through virtualized block I/O redirection
JP5366480B2 (en) * 2008-08-27 2013-12-11 株式会社日立製作所 Computer system and backup method thereof
US8176272B2 (en) * 2008-09-04 2012-05-08 International Business Machines Corporation Incremental backup using snapshot delta views
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
EP3361371A1 (en) * 2008-11-07 2018-08-15 Dell International L.L.C. Thin import for a data storage system
US8055937B2 (en) * 2008-12-22 2011-11-08 QuorumLabs, Inc. High availability and disaster recovery using virtualization
US8069227B2 (en) * 2008-12-26 2011-11-29 Inmage Systems, Inc. Configuring hosts of a secondary data storage and recovery system
US20100180092A1 (en) * 2009-01-09 2010-07-15 Vmware, Inc. Method and system of visualization of changes in entities and their relationships in a virtual datacenter through a log file
WO2010087803A1 (en) * 2009-01-29 2010-08-05 Lsi Corporation Allocate-on-write snapshot mechanism to provide dynamic storage tiering on-line data placement for volumes
WO2010086900A1 (en) 2009-01-30 2010-08-05 Hitachi, Ltd. Storage system and storage control method that compress and store data elements
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9092294B2 (en) * 2009-04-20 2015-07-28 Cleversafe, Inc. Systems, apparatus, and methods for utilizing a reachability set to manage a network upgrade
US10447474B2 (en) * 2009-04-20 2019-10-15 Pure Storage, Inc. Dispersed data storage system data decoding and decryption
US10104045B2 (en) 2009-04-20 2018-10-16 International Business Machines Corporation Verifying data security in a dispersed storage network
US8504847B2 (en) * 2009-04-20 2013-08-06 Cleversafe, Inc. Securing data in a dispersed storage network using shared secret slices
US8656187B2 (en) * 2009-04-20 2014-02-18 Cleversafe, Inc. Dispersed storage secure data decoding
US8744071B2 (en) * 2009-04-20 2014-06-03 Cleversafe, Inc. Dispersed data storage system data encryption and encoding
US11868498B1 (en) 2009-04-20 2024-01-09 Pure Storage, Inc. Storage integrity processing in a storage network
US8819781B2 (en) 2009-04-20 2014-08-26 Cleversafe, Inc. Management of network devices within a dispersed data storage network
US8601259B2 (en) * 2009-04-20 2013-12-03 Cleversafe, Inc. Securing data in a dispersed storage network using security sentinel value
US9483656B2 (en) 2009-04-20 2016-11-01 International Business Machines Corporation Efficient and secure data storage utilizing a dispersed data storage system
US9773033B2 (en) * 2009-05-22 2017-09-26 International Business Machines Corporation Storing and retrieving volumes in a database by volume attributes
US20100306253A1 (en) * 2009-05-28 2010-12-02 Hewlett-Packard Development Company, L.P. Tiered Managed Storage Services
US8171216B2 (en) 2009-05-29 2012-05-01 Dell Products, Lp System and method for managing devices in an information handling system
US8533417B2 (en) 2009-06-03 2013-09-10 Hitachi, Ltd. Method and apparatus for controlling data volume creation in data storage system with dynamic chunk allocation capability
US10230692B2 (en) * 2009-06-30 2019-03-12 International Business Machines Corporation Distributed storage processing module
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US9009575B2 (en) 2009-07-30 2015-04-14 Cleversafe, Inc. Rebuilding a data revision in a dispersed storage network
US9208025B2 (en) 2009-07-30 2015-12-08 Cleversafe, Inc. Virtual memory mapping in a dispersed storage network
US9558059B2 (en) 2009-07-30 2017-01-31 International Business Machines Corporation Detecting data requiring rebuilding in a dispersed storage network
US8489915B2 (en) * 2009-07-30 2013-07-16 Cleversafe, Inc. Method and apparatus for storage integrity processing based on error types in a dispersed storage network
US10108492B2 (en) 2009-07-30 2018-10-23 International Business Machines Corporation Rebuilding data stored in a dispersed storage network
US9207870B2 (en) 2009-07-30 2015-12-08 Cleversafe, Inc. Allocating storage units in a dispersed storage network
US8706980B2 (en) * 2009-07-30 2014-04-22 Cleversafe, Inc. Method and apparatus for slice partial rebuilding in a dispersed storage network
US8560798B2 (en) * 2009-07-30 2013-10-15 Cleversafe, Inc. Dispersed storage network virtual address space
US8448016B2 (en) * 2009-07-31 2013-05-21 Cleversafe, Inc. Computing core application access utilizing dispersed storage
US9167277B2 (en) * 2009-08-03 2015-10-20 Cleversafe, Inc. Dispersed storage network data manipulation
US9411810B2 (en) 2009-08-27 2016-08-09 International Business Machines Corporation Method and apparatus for identifying data inconsistency in a dispersed storage network
US8560855B2 (en) 2009-08-27 2013-10-15 Cleversafe, Inc. Verification of dispersed storage network access control information
US8949695B2 (en) * 2009-08-27 2015-02-03 Cleversafe, Inc. Method and apparatus for nested dispersed storage
US8452941B2 (en) 2009-09-23 2013-05-28 Dell Products L.P. System and method for distributing random and sequential data in a tiered storage system
US8548913B2 (en) 2009-09-29 2013-10-01 Cleversafe, Inc. Method and apparatus to secure an electronic commerce transaction
US8918534B2 (en) 2009-09-29 2014-12-23 Cleversafe, Inc. Writing data slices to ready and non-ready distributed storage units in a distributed storage network
US8281181B2 (en) * 2009-09-30 2012-10-02 Cleversafe, Inc. Method and apparatus for selectively active dispersed storage memory device utilization
US8438456B2 (en) * 2009-10-05 2013-05-07 Cleversafe, Inc. Method and apparatus for dispersed storage of streaming data
US8868746B2 (en) * 2009-10-15 2014-10-21 International Business Machines Corporation Allocation of central application resources based on social agreements
US9774678B2 (en) 2009-10-29 2017-09-26 International Business Machines Corporation Temporarily storing data in a dispersed storage network
US9661356B2 (en) 2009-10-29 2017-05-23 International Business Machines Corporation Distribution of unique copies of broadcast data utilizing fault-tolerant retrieval from dispersed storage
US8433978B2 (en) * 2009-10-29 2013-04-30 Cleversafe, Inc. Data distribution utilizing unique read parameters in a dispersed storage system
US10389845B2 (en) 2009-10-29 2019-08-20 Pure Storage, Inc. Determining how to service requests based on several indicators
US10757187B2 (en) 2009-10-29 2020-08-25 Pure Storage, Inc. Streaming all-or-nothing encoding with random offset support
US9015431B2 (en) * 2009-10-29 2015-04-21 Cleversafe, Inc. Distributed storage revision rollbacks
US10073737B2 (en) 2009-10-30 2018-09-11 International Business Machines Corporation Slice location identification
US8479078B2 (en) * 2009-10-30 2013-07-02 Cleversafe, Inc. Distributed storage network for modification of a data object
US9413529B2 (en) 2009-10-30 2016-08-09 International Business Machines Corporation Distributed storage network and method for storing and retrieving encryption keys
US8572282B2 (en) 2009-10-30 2013-10-29 Cleversafe, Inc. Router assisted dispersed storage network method and apparatus
US9900150B2 (en) * 2009-10-30 2018-02-20 International Business Machines Corporation Dispersed storage camera device and method of operation
US8589637B2 (en) * 2009-10-30 2013-11-19 Cleversafe, Inc. Concurrent set storage in distributed storage network
US9195408B2 (en) 2009-10-30 2015-11-24 Cleversafe, Inc. Highly autonomous dispersed storage system retrieval method
US9311185B2 (en) 2009-10-30 2016-04-12 Cleversafe, Inc. Dispersed storage unit solicitation method and apparatus
US9098376B2 (en) 2009-10-30 2015-08-04 Cleversafe, Inc. Distributed storage network for modification of a data object
US9270298B2 (en) 2009-11-24 2016-02-23 International Business Machines Corporation Selecting storage units to rebuild an encoded data slice
US9152514B2 (en) 2009-11-24 2015-10-06 Cleversafe, Inc. Rebuilding a data segment in a dispersed storage network
US8918897B2 (en) * 2009-11-24 2014-12-23 Cleversafe, Inc. Dispersed storage network data slice integrity verification
US9501349B2 (en) * 2009-11-24 2016-11-22 International Business Machines Corporation Changing dispersed storage error encoding parameters
US9836352B2 (en) 2009-11-25 2017-12-05 International Business Machines Corporation Detecting a utilization imbalance between dispersed storage network storage units
US10015141B2 (en) 2009-11-25 2018-07-03 International Business Machines Corporation Dispersed data storage in a VPN group of devices
US8688907B2 (en) * 2009-11-25 2014-04-01 Cleversafe, Inc. Large scale subscription based dispersed storage network
US9672109B2 (en) 2009-11-25 2017-06-06 International Business Machines Corporation Adaptive dispersed storage network (DSN) and system
US8819452B2 (en) 2009-11-25 2014-08-26 Cleversafe, Inc. Efficient storage of encrypted data in a dispersed storage network
US9626248B2 (en) 2009-11-25 2017-04-18 International Business Machines Corporation Likelihood based rebuilding of missing encoded data slices
US8527807B2 (en) 2009-11-25 2013-09-03 Cleversafe, Inc. Localized dispersed storage memory system
US9996548B2 (en) 2009-11-25 2018-06-12 International Business Machines Corporation Dispersed storage using localized peer-to-peer capable wireless devices in a peer-to-peer or femto cell supported carrier served fashion
US9489264B2 (en) 2009-11-25 2016-11-08 International Business Machines Corporation Storing an encoded data slice as a set of sub-slices
US8621268B2 (en) * 2009-11-25 2013-12-31 Cleversafe, Inc. Write threshold utilization in a dispersed storage system
WO2011077489A1 (en) * 2009-12-24 2011-06-30 株式会社日立製作所 Storage system for providing virtual volume
EP2518614A4 (en) 2009-12-24 2014-01-01 Hitachi Ltd Storage system for providing virtual volume
US8990585B2 (en) 2009-12-29 2015-03-24 Cleversafe, Inc. Time based dispersed storage access
US9798467B2 (en) 2009-12-29 2017-10-24 International Business Machines Corporation Security checks for proxied requests
US10067831B2 (en) 2009-12-29 2018-09-04 International Business Machines Corporation Slice migration in a dispersed storage network
US9727266B2 (en) 2009-12-29 2017-08-08 International Business Machines Corporation Selecting storage units in a dispersed storage network
US9507735B2 (en) 2009-12-29 2016-11-29 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
US20180335967A1 (en) 2009-12-29 2018-11-22 International Business Machines Corporation User customizable data processing plan in a dispersed storage network
US10289505B2 (en) 2009-12-29 2019-05-14 International Business Machines Corporation Dispersed multi-media content for a centralized digital video storage system
US9462316B2 (en) * 2009-12-29 2016-10-04 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
US9152489B2 (en) 2009-12-29 2015-10-06 Cleversafe, Inc. Revision synchronization of a dispersed storage network
US10237281B2 (en) 2009-12-29 2019-03-19 International Business Machines Corporation Access policy updates in a dispersed storage network
US10158648B2 (en) 2009-12-29 2018-12-18 International Business Machines Corporation Policy-based access in a dispersed storage network
US9305597B2 (en) 2009-12-29 2016-04-05 Cleversafe, Inc. Accessing stored multi-media content based on a subscription priority level
US9413393B2 (en) 2009-12-29 2016-08-09 International Business Machines Corporation Encoding multi-media content for a centralized digital video storage system
US8762343B2 (en) * 2009-12-29 2014-06-24 Cleversafe, Inc. Dispersed storage of software
US10148788B2 (en) 2009-12-29 2018-12-04 International Business Machines Corporation Method for providing schedulers in a distributed storage network
US9330241B2 (en) 2009-12-29 2016-05-03 International Business Machines Corporation Applying digital rights management to multi-media file playback
US9922063B2 (en) 2009-12-29 2018-03-20 International Business Machines Corporation Secure storage of secret data in a dispersed storage network
US10001923B2 (en) 2009-12-29 2018-06-19 International Business Machines Corporation Generation collapse
US9672108B2 (en) 2009-12-29 2017-06-06 International Business Machines Corporation Dispersed storage network (DSN) and system with improved security
US10031669B2 (en) 2009-12-29 2018-07-24 International Business Machines Corporation Scheduling migration related traffic to be non-disruptive and performant
US10133632B2 (en) 2009-12-29 2018-11-20 International Business Machines Corporation Determining completion of migration in a dispersed storage network
US8468368B2 (en) * 2009-12-29 2013-06-18 Cleversafe, Inc. Data encryption parameter dispersal
US10372686B2 (en) 2009-12-29 2019-08-06 International Business Machines Corporation Policy-based storage in a dispersed storage network
US9369526B2 (en) 2009-12-29 2016-06-14 International Business Machines Corporation Distributed storage time synchronization based on retrieval delay
US9866595B2 (en) 2009-12-29 2018-01-09 International Busines Machines Corporation Policy based slice deletion in a dispersed storage network
US8468302B2 (en) 2010-01-14 2013-06-18 Hitachi, Ltd. Storage system
US8954667B2 (en) 2010-01-28 2015-02-10 Cleversafe, Inc. Data migration in a dispersed storage network
US8352501B2 (en) * 2010-01-28 2013-01-08 Cleversafe, Inc. Dispersed storage network utilizing revision snapshots
US8959366B2 (en) * 2010-01-28 2015-02-17 Cleversafe, Inc. De-sequencing encoded data slices
US9043548B2 (en) 2010-01-28 2015-05-26 Cleversafe, Inc. Streaming content storage
US11301592B2 (en) 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
US9760440B2 (en) 2010-01-28 2017-09-12 International Business Machines Corporation Site-based namespace allocation
US9201732B2 (en) 2010-01-28 2015-12-01 Cleversafe, Inc. Selective activation of memory to retrieve data in a dispersed storage network
US8522113B2 (en) * 2010-01-28 2013-08-27 Cleversafe, Inc. Selecting storage facilities and dispersal parameters in a dispersed storage network
JP5532982B2 (en) * 2010-02-03 2014-06-25 富士通株式会社 Storage device, storage device controller, and storage device storage area allocation method
JP5183650B2 (en) * 2010-02-17 2013-04-17 株式会社日立製作所 Computer system, backup method and program in computer system
US10268374B2 (en) 2010-02-27 2019-04-23 International Business Machines Corporation Redundant array of independent discs and dispersed storage network system re-director
US10324791B2 (en) 2010-11-01 2019-06-18 International Business Machines Corporation Selectable parallel processing of dispersed storage error encoding
US10216647B2 (en) 2010-02-27 2019-02-26 International Business Machines Corporation Compacting dispersed storage space
US10007575B2 (en) 2010-02-27 2018-06-26 International Business Machines Corporation Alternative multiple memory format storage in a storage network
US9135115B2 (en) 2010-02-27 2015-09-15 Cleversafe, Inc. Storing data in multiple formats including a dispersed storage format
US11429486B1 (en) 2010-02-27 2022-08-30 Pure Storage, Inc. Rebuilding data via locally decodable redundancy in a vast storage network
US9311184B2 (en) 2010-02-27 2016-04-12 Cleversafe, Inc. Storing raid data as encoded data slices in a dispersed storage network
US20180365105A1 (en) 2014-06-05 2018-12-20 International Business Machines Corporation Establishing an operation execution schedule in a dispersed storage network
WO2011111093A1 (en) * 2010-03-09 2011-09-15 株式会社日立製作所 Volume management device and storage system
US8281182B2 (en) * 2010-03-12 2012-10-02 Cleversafe, Inc. Dispersed storage unit selection
US8578205B2 (en) * 2010-03-15 2013-11-05 Cleversafe, Inc. Requesting cloud data storage
US9229824B2 (en) 2010-03-16 2016-01-05 International Business Machines Corporation Caching rebuilt encoded data slices in a dispersed storage network
US8527705B2 (en) * 2010-03-16 2013-09-03 Cleversafe, Inc. Temporarily caching an encoded data slice
US9170884B2 (en) 2010-03-16 2015-10-27 Cleversafe, Inc. Utilizing cached encoded data slices in a dispersed storage network
US8230189B1 (en) * 2010-03-17 2012-07-24 Symantec Corporation Systems and methods for off-host backups of striped volumes
US8402216B1 (en) * 2010-03-17 2013-03-19 Symantec Corporation Systems and methods for off-host backups
US9158653B2 (en) 2010-03-21 2015-10-13 Hewlett-Packard Development Company, L.P. Determining impact of virtual storage backup jobs
US8768883B2 (en) * 2010-03-25 2014-07-01 Hitachi, Ltd. Storage apparatus and control method of the same
US20110238936A1 (en) * 2010-03-29 2011-09-29 Hayden Mark G Method and system for efficient snapshotting of data-objects
JP5130313B2 (en) 2010-04-02 2013-01-30 株式会社日立製作所 Management system and computer system management method
US8321646B2 (en) * 2010-04-13 2012-11-27 Dot Hill Systems Corporation Method and apparatus for rebalancing storage components within a storage tier
JP5079841B2 (en) 2010-04-15 2012-11-21 株式会社日立製作所 Method and storage apparatus for controlling data write to virtual logical volume according to Thin Provisioning
US9898373B2 (en) 2010-04-26 2018-02-20 International Business Machines Corporation Prioritizing rebuilding of stored data in a dispersed storage network
US10447767B2 (en) 2010-04-26 2019-10-15 Pure Storage, Inc. Resolving a performance issue within a dispersed storage network
US9092386B2 (en) 2010-04-26 2015-07-28 Cleversafe, Inc. Indicating an error within a dispersed storage network
US8625635B2 (en) 2010-04-26 2014-01-07 Cleversafe, Inc. Dispersed storage network frame protocol header
US8914669B2 (en) 2010-04-26 2014-12-16 Cleversafe, Inc. Secure rebuilding of an encoded data slice in a dispersed storage network
US9606858B2 (en) 2010-04-26 2017-03-28 International Business Machines Corporation Temporarily storing an encoded data slice
US10956292B1 (en) 2010-04-26 2021-03-23 Pure Storage, Inc. Utilizing integrity information for data retrieval in a vast storage system
US8938552B2 (en) 2010-08-02 2015-01-20 Cleversafe, Inc. Resolving a protocol issue within a dispersed storage network
US9495117B2 (en) 2010-04-26 2016-11-15 International Business Machines Corporation Storing data in a dispersed storage network
US9135031B1 (en) * 2010-04-28 2015-09-15 Netapp, Inc. System and method for determining storage resources of a virtual machine in a virtual server environment
JP5451875B2 (en) 2010-04-30 2014-03-26 株式会社日立製作所 Computer system and storage control method thereof
CN102754084B (en) 2010-05-18 2015-10-07 株式会社日立制作所 Memory storage and data managing method
US10353774B2 (en) 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
US10911230B2 (en) 2010-05-19 2021-02-02 Pure Storage, Inc. Securely activating functionality of a computing device in a dispersed storage network
US8874868B2 (en) 2010-05-19 2014-10-28 Cleversafe, Inc. Memory utilization balancing in a dispersed storage network
US11740972B1 (en) 2010-05-19 2023-08-29 Pure Storage, Inc. Migrating data in a vast storage network
US10193689B2 (en) 2010-05-19 2019-01-29 International Business Machines Corporation Storing access information in a dispersed storage network
US8621580B2 (en) 2010-05-19 2013-12-31 Cleversafe, Inc. Retrieving access information in a dispersed storage network
US8626871B2 (en) 2010-05-19 2014-01-07 Cleversafe, Inc. Accessing a global vault in multiple dispersed storage networks
US8909858B2 (en) 2010-06-09 2014-12-09 Cleversafe, Inc. Storing encoded data slices in a dispersed storage network
US8782227B2 (en) 2010-06-22 2014-07-15 Cleversafe, Inc. Identifying and correcting an undesired condition of a dispersed storage network access request
US8555142B2 (en) 2010-06-22 2013-10-08 Cleversafe, Inc. Verifying integrity of data stored in a dispersed storage memory
US8812800B2 (en) 2010-06-24 2014-08-19 Hitachi Ltd. Storage apparatus and storage management method
WO2012010930A2 (en) * 2010-07-21 2012-01-26 Freescale Semiconductor, Inc. Integrated circuit device, data storage array system and method therefor
US20190095101A1 (en) 2010-08-02 2019-03-28 International Business Machines Corporation Authenticating a credential in a dispersed storage network
US10162524B2 (en) 2010-08-02 2018-12-25 International Business Machines Corporation Determining whether to compress a data segment in a dispersed storage network
US8627114B2 (en) 2010-08-02 2014-01-07 Cleversafe, Inc. Authenticating a data access request to a dispersed storage network
US9063968B2 (en) 2010-08-02 2015-06-23 Cleversafe, Inc. Identifying a compromised encoded data slice
US9077734B2 (en) 2010-08-02 2015-07-07 Cleversafe, Inc. Authentication of devices of a dispersed storage network
US8386711B2 (en) 2010-08-10 2013-02-26 Hitachi, Ltd. Management method and management system for computer system
WO2012020454A1 (en) * 2010-08-11 2012-02-16 Hitachi, Ltd. Storage apparatus and control method thereof
US10255135B2 (en) 2010-08-25 2019-04-09 International Business Machines Corporation Method and apparatus for non-interactive information dispersal
US9940195B2 (en) 2010-08-25 2018-04-10 International Business Machines Corporation Encryption of slice partials
US8762793B2 (en) 2010-08-26 2014-06-24 Cleversafe, Inc. Migrating encoded data slices from a re-provisioned memory device of a dispersed storage network memory
US9009724B2 (en) 2010-09-24 2015-04-14 Hewlett-Packard Development Company, L.P. Load balancing data access in virtualized storage nodes
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US10970168B2 (en) 2010-10-06 2021-04-06 Pure Storage, Inc. Adjusting dispersed storage error encoding parameters based on path performance
US9112535B2 (en) 2010-10-06 2015-08-18 Cleversafe, Inc. Data transmission utilizing partitioning and dispersed storage error encoding
US9571230B2 (en) 2010-10-06 2017-02-14 International Business Machines Corporation Adjusting routing of data within a network path
US9843412B2 (en) 2010-10-06 2017-12-12 International Business Machines Corporation Optimizing routing of data across a communications network
US10298957B2 (en) 2010-10-06 2019-05-21 International Business Machines Corporation Content-based encoding in a multiple routing path communications system
US8656138B2 (en) 2010-10-06 2014-02-18 Cleversafe, Inc. Efficiently accessing an encoded data slice utilizing a memory bin
US8612700B1 (en) 2010-10-29 2013-12-17 Symantec Corporation Method and system of performing block level duplications of cataloged backup data
US8707105B2 (en) 2010-11-01 2014-04-22 Cleversafe, Inc. Updating a set of memory devices in a dispersed storage network
US9015499B2 (en) 2010-11-01 2015-04-21 Cleversafe, Inc. Verifying data integrity utilizing dispersed storage
US10289318B2 (en) 2010-11-01 2019-05-14 International Business Machines Corporation Adjusting optimistic writes in a dispersed storage network
US10082970B2 (en) 2010-11-01 2018-09-25 International Business Machines Corporation Storing an effective dynamic width of encoded data slices
US10146645B2 (en) 2010-11-01 2018-12-04 International Business Machines Corporation Multiple memory format storage in a storage network
US10768833B2 (en) 2010-11-01 2020-09-08 Pure Storage, Inc. Object dispersal load balancing
US8627065B2 (en) 2010-11-09 2014-01-07 Cleversafe, Inc. Validating a certificate chain in a dispersed storage network
US9590838B2 (en) 2010-11-09 2017-03-07 International Business Machines Corporation Transferring data of a dispersed storage network
US11307930B1 (en) 2010-11-29 2022-04-19 Pure Storage, Inc. Optimized selection of participants in distributed data rebuild/verification
US11789631B2 (en) 2010-11-29 2023-10-17 Pure Storage, Inc. Utilizing metadata storage trees in a vast storage network
US11582299B2 (en) 2016-01-26 2023-02-14 Pure Storage, Inc. Allocating cache memory in a dispersed storage network
US10802763B2 (en) 2010-11-29 2020-10-13 Pure Storage, Inc. Remote storage verification
US10372350B2 (en) 2010-11-29 2019-08-06 Pure Storage, Inc. Shared ownership of namespace ranges
US10922179B2 (en) 2010-11-29 2021-02-16 Pure Storage, Inc. Post rebuild verification
US9454431B2 (en) 2010-11-29 2016-09-27 International Business Machines Corporation Memory selection for slice storage in a dispersed storage network
US9336139B2 (en) * 2010-11-29 2016-05-10 Cleversafe, Inc. Selecting a memory for storage of an encoded data slice in a dispersed storage network
US9059898B2 (en) * 2010-12-07 2015-06-16 General Electric Company System and method for tracking configuration changes in enterprise product
US8832493B2 (en) 2010-12-22 2014-09-09 Cleversafe, Inc. Storing directory metadata in a dispersed storage network
US8897443B2 (en) 2010-12-27 2014-11-25 Cleversafe, Inc. Watermarking slices stored in a dispersed storage network
CN103080894A (en) 2010-12-28 2013-05-01 株式会社日立制作所 Storage system, management method of the storage system, and program
US8688949B2 (en) 2011-02-01 2014-04-01 Cleversafe, Inc. Modifying data storage in response to detection of a memory system imbalance
US10922225B2 (en) 2011-02-01 2021-02-16 Drobo, Inc. Fast cache reheat
US9081715B2 (en) 2011-02-01 2015-07-14 Cleversafe, Inc. Utilizing a dispersed storage network access token module to retrieve data from a dispersed storage network memory
CN102164165B (en) * 2011-02-18 2013-06-12 杭州宏杉科技有限公司 Management method and device for network storage system
CN102147713B (en) * 2011-02-18 2013-06-12 杭州宏杉科技有限公司 Method and device for managing network storage system
US10102063B2 (en) 2011-03-02 2018-10-16 International Business Machines Corporation Transferring data utilizing a transfer token module
US20120226855A1 (en) 2011-03-02 2012-09-06 Cleversafe, Inc. Sharing a directory of a dispersed storage network
US9594421B2 (en) 2011-03-08 2017-03-14 Xyratex Technology Limited Power management in a multi-device storage array
US9311013B2 (en) 2011-03-25 2016-04-12 Hitachi, Ltd. Storage system and storage area allocation method having an automatic tier location function
US9063994B1 (en) * 2011-03-31 2015-06-23 Emc Corporation Networked based replication of distributed volumes
US8880978B2 (en) 2011-04-01 2014-11-04 Cleversafe, Inc. Utilizing a local area network memory and a dispersed storage network memory to access data
US11418580B2 (en) 2011-04-01 2022-08-16 Pure Storage, Inc. Selective generation of secure signatures in a distributed storage network
US10298684B2 (en) 2011-04-01 2019-05-21 International Business Machines Corporation Adaptive replication of dispersed data to improve data access performance
US8627091B2 (en) 2011-04-01 2014-01-07 Cleversafe, Inc. Generating a secure signature utilizing a plurality of key shares
JP5666710B2 (en) * 2011-04-05 2015-02-12 株式会社日立製作所 Storage apparatus and volume management method
US8726261B2 (en) * 2011-04-06 2014-05-13 Hewlett-Packard Development Company, L.P. Zero downtime hard disk firmware update
US9146683B2 (en) * 2011-04-20 2015-09-29 Seagate Technology Llc Logical block address mapping
WO2012147123A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Storage apparatus and control method therefor
US9298550B2 (en) 2011-05-09 2016-03-29 Cleversafe, Inc. Assigning a dispersed storage network address range in a maintenance free storage container
US10452836B2 (en) 2011-05-09 2019-10-22 Pure Storage, Inc. Retrieving a hypertext markup language file from a dispersed storage network memory
US9219604B2 (en) 2011-05-09 2015-12-22 Cleversafe, Inc. Generating an encrypted message for storage
US9141458B2 (en) 2011-05-09 2015-09-22 Cleversafe, Inc. Adjusting a data storage address mapping in a maintenance free storage container
US20170192684A1 (en) 2011-05-09 2017-07-06 International Business Machines Corporation Auditing a transaction in a dispersed storage network
US10949301B2 (en) 2011-06-06 2021-03-16 Pure Storage, Inc. Pre-positioning pre-stored content in a content distribution system
US8756480B2 (en) 2011-06-06 2014-06-17 Cleversafe, Inc. Prioritized deleting of slices stored in a dispersed storage network
US10061650B2 (en) 2011-06-06 2018-08-28 International Business Machines Corporation Priority based rebuilding
US8656253B2 (en) 2011-06-06 2014-02-18 Cleversafe, Inc. Storing portions of data in a dispersed storage network
US10042709B2 (en) 2011-06-06 2018-08-07 International Business Machines Corporation Rebuild prioritization during a plurality of concurrent data object write operations
WO2012169027A1 (en) 2011-06-08 2012-12-13 株式会社日立製作所 Computer system and storage system administration method
US20130013798A1 (en) 2011-07-06 2013-01-10 Cleversafe, Inc. Distribution of multi-media content to a user device
US8924770B2 (en) 2011-07-06 2014-12-30 Cleversafe, Inc. Rebuilding a data slice of a maintenance free storage container
US8909891B2 (en) * 2011-07-21 2014-12-09 International Business Machines Corporation Virtual logical volume for overflow storage of special data sets
US11016702B2 (en) 2011-07-27 2021-05-25 Pure Storage, Inc. Hierarchical event tree
US10678619B2 (en) 2011-07-27 2020-06-09 Pure Storage, Inc. Unified logs and device statistics
US9135098B2 (en) 2011-07-27 2015-09-15 Cleversafe, Inc. Modifying dispersed storage network event records
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9009205B2 (en) * 2011-08-15 2015-04-14 International Business Machines Corporation Activity-based block management of a clustered file system using client-side block maps
US10454678B2 (en) 2011-08-17 2019-10-22 Pure Storage, Inc. Accesor-based audit trails
US9971802B2 (en) 2011-08-17 2018-05-15 International Business Machines Corporation Audit record transformation in a dispersed storage network
US10120756B2 (en) 2011-08-17 2018-11-06 International Business Machines Corporation Audit object generation in a dispersed storage network
US9092385B2 (en) 2011-08-17 2015-07-28 Cleversafe, Inc. Facilitating access of a dispersed storage network
US20190179696A1 (en) 2011-09-06 2019-06-13 International Business Machines Corporation Demultiplexing decoded data streams in a distributed storage network
US11907060B2 (en) 2011-09-06 2024-02-20 Pure Storage, Inc. Coding of data streams in a vast storage network
US8930649B2 (en) 2011-09-06 2015-01-06 Cleversafe, Inc. Concurrent coding of data streams
US10235237B2 (en) 2011-09-06 2019-03-19 Intertnational Business Machines Corporation Decoding data streams in a distributed storage network
US9959278B1 (en) * 2011-09-29 2018-05-01 EMC IP Holding Company LLC Method and system for supporting block-level incremental backups of file system volumes using volume pseudo devices
US9128973B1 (en) 2011-09-29 2015-09-08 Emc Corporation Method and system for tracking re-sizing and re-creation of volumes using modification time
US8904143B2 (en) 2011-09-30 2014-12-02 International Business Machines Corporation Obtaining additional data storage from another data storage system
US8677214B2 (en) 2011-10-04 2014-03-18 Cleversafe, Inc. Encoding data utilizing a zero information gain function
US8555130B2 (en) 2011-10-04 2013-10-08 Cleversafe, Inc. Storing encoded data slices in a dispersed storage unit
US8776186B2 (en) 2011-10-04 2014-07-08 Cleversafe, Inc. Obtaining a signed certificate for a dispersed storage network
US8984221B2 (en) 2011-10-18 2015-03-17 Hitachi, Ltd. Method for assigning storage area and computer system using the same
US11329830B1 (en) 2011-11-01 2022-05-10 Pure Storage, Inc. Dispersed credentials
US10437678B2 (en) 2011-11-01 2019-10-08 Pure Storage, Inc. Updating an encoded data slice
US10496500B2 (en) 2011-11-01 2019-12-03 Pure Storage, Inc. Preemptively reading extra encoded data slices
US9798616B2 (en) 2011-11-01 2017-10-24 International Business Machines Corporation Wireless sending a set of encoded data slices
US10365969B2 (en) 2011-11-01 2019-07-30 International Business Machines Corporation Multiple wireless communication systems stream slices based on geography
US9304843B2 (en) 2011-11-01 2016-04-05 Cleversafe, Inc. Highly secure method for accessing a dispersed storage network
US8627066B2 (en) 2011-11-03 2014-01-07 Cleversafe, Inc. Processing a dispersed storage network access request utilizing certificate chain validation information
WO2013070803A1 (en) 2011-11-07 2013-05-16 Nexgen Storage, Inc. Primary data storage system with data tiering
US10318445B2 (en) 2011-11-28 2019-06-11 International Business Machines Corporation Priority level adaptation in a dispersed storage network
US10387071B2 (en) 2011-11-28 2019-08-20 Pure Storage, Inc. On-the-fly cancellation of unnecessary read requests
US10558592B2 (en) 2011-11-28 2020-02-11 Pure Storage, Inc. Priority level adaptation in a dispersed storage network
US10977194B2 (en) 2011-11-28 2021-04-13 Pure Storage, Inc. Securely storing random keys in a dispersed storage network
US10055283B2 (en) 2011-11-28 2018-08-21 International Business Machines Corporation Securely distributing random keys in a dispersed storage network
US11474958B1 (en) 2011-11-28 2022-10-18 Pure Storage, Inc. Generating and queuing system messages with priorities in a storage network
US9203625B2 (en) 2011-11-28 2015-12-01 Cleversafe, Inc. Transferring encoded data slices in a distributed storage network
US8848906B2 (en) 2011-11-28 2014-09-30 Cleversafe, Inc. Encrypting data for storage in a dispersed storage network
US9015411B2 (en) 2011-12-02 2015-04-21 Compellent Technologies System and method for unbalanced raid management
US10666596B2 (en) 2011-12-12 2020-05-26 Pure Storage, Inc. Messaging via a shared memory of a distributed computing system
US9141468B2 (en) 2011-12-12 2015-09-22 Cleversafe, Inc. Managing memory utilization in a distributed storage and task network
US9430286B2 (en) 2011-12-12 2016-08-30 International Business Machines Corporation Authorizing distributed task processing in a distributed storage network
US20130238900A1 (en) 2011-12-12 2013-09-12 Cleversafe, Inc. Dispersed storage network secure hierarchical file directory
US10146621B2 (en) 2011-12-12 2018-12-04 International Business Machines Corporation Chaining computes in a distributed computing system
US10348640B2 (en) 2011-12-12 2019-07-09 International Business Machines Corporation Partial task execution in a dispersed storage network
US9584359B2 (en) 2011-12-12 2017-02-28 International Business Machines Corporation Distributed storage and computing of interim data
US10176045B2 (en) 2011-12-12 2019-01-08 International Business Machines Corporation Internet based shared memory in a distributed computing system
US9304858B2 (en) 2011-12-12 2016-04-05 International Business Machines Corporation Analyzing found data in a distributed storage and task network
US10360106B2 (en) 2011-12-12 2019-07-23 International Business Machines Corporation Throttled real-time writes
US20180083930A1 (en) 2011-12-12 2018-03-22 International Business Machines Corporation Reads for dispersed computation jobs
US9674155B2 (en) 2011-12-12 2017-06-06 International Business Machines Corporation Encrypting segmented data in a distributed computing system
US9009567B2 (en) 2011-12-12 2015-04-14 Cleversafe, Inc. Encrypting distributed computing data
US10104168B2 (en) 2011-12-12 2018-10-16 International Business Machines Corporation Method for managing throughput in a distributed storage network
US9817701B2 (en) 2011-12-12 2017-11-14 International Business Machines Corporation Threshold computing in a distributed computing system
US10346218B2 (en) 2011-12-12 2019-07-09 International Business Machines Corporation Partial task allocation in a dispersed storage network
US9348819B1 (en) * 2011-12-31 2016-05-24 Parallels IP Holdings GmbH Method and system for file data management in virtual environment
CN102541472A (en) * 2011-12-31 2012-07-04 杭州宏杉科技有限公司 Method and device for reconstructing RAID (Redundant Array of Independent Disks)
US9891995B2 (en) 2012-01-31 2018-02-13 International Business Machines Corporation Cooperative decentralized rebuild scanning
US10671585B2 (en) 2012-01-31 2020-06-02 Pure Storage, Inc. Storing indexed data to a dispersed storage network
US8990664B2 (en) 2012-01-31 2015-03-24 Cleversafe, Inc. Identifying a potentially compromised encoded data slice
US9146810B2 (en) 2012-01-31 2015-09-29 Cleversafe, Inc. Identifying a potentially compromised encoded data slice
US9465861B2 (en) 2012-01-31 2016-10-11 International Business Machines Corporation Retrieving indexed data from a dispersed storage network
US9203902B2 (en) 2012-01-31 2015-12-01 Cleversafe, Inc. Securely and reliably storing data in a dispersed storage network
US10157051B2 (en) 2012-03-02 2018-12-18 International Business Machines Corporation Upgrading devices in a dispersed storage network
US11232093B2 (en) 2012-03-02 2022-01-25 Pure Storage, Inc. Slice migration in a dispersed storage network
US9195684B2 (en) 2012-03-02 2015-11-24 Cleversafe, Inc. Redundant task execution in a distributed storage and task network
US9171031B2 (en) 2012-03-02 2015-10-27 Cleversafe, Inc. Merging index nodes of a hierarchical dispersed storage index
US10402393B2 (en) 2012-03-02 2019-09-03 Pure Storage, Inc. Slice migration in a dispersed storage network
US8327185B1 (en) 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US8341342B1 (en) 2012-03-23 2012-12-25 DSSD, Inc. Storage system with incremental multi-dimensional RAID
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
US8600945B1 (en) * 2012-03-29 2013-12-03 Emc Corporation Continuous data replication
AU2013202553B2 (en) 2012-03-30 2015-10-01 Commvault Systems, Inc. Information management of mobile device data
US10621044B2 (en) 2012-04-25 2020-04-14 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US9380032B2 (en) 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US10795766B2 (en) 2012-04-25 2020-10-06 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US11379354B1 (en) * 2012-05-07 2022-07-05 Amazon Technologies, Inc. Data volume placement techniques
US9460018B2 (en) * 2012-05-09 2016-10-04 Qualcomm Incorporated Method and apparatus for tracking extra data permissions in an instruction cache
US9009431B2 (en) 2012-05-29 2015-04-14 Compellent Technologies Virtual snapshot system and method
US10474395B2 (en) 2012-06-05 2019-11-12 Pure Storage, Inc. Abstracting namespace mapping in a dispersed storage network through multiple hierarchies
US10073638B2 (en) 2012-06-05 2018-09-11 International Business Machines Corporation Automatic namespace ordering determination
US9613052B2 (en) 2012-06-05 2017-04-04 International Business Machines Corporation Establishing trust within a cloud computing system
US10447471B2 (en) 2012-06-05 2019-10-15 Pure Storage, Inc. Systematic secret sharing
US10002047B2 (en) 2012-06-05 2018-06-19 International Business Machines Corporation Read-if-not-revision-equals protocol message
US8977828B2 (en) 2012-06-21 2015-03-10 Ca, Inc. Data recovery using conversion of backup to virtual disk
US20180336097A1 (en) 2012-06-25 2018-11-22 International Business Machines Corporation Namespace affinity and failover for processing units in a dispersed storage network
US10430276B2 (en) 2012-06-25 2019-10-01 Pure Storage, Inc. Optimal orderings of processing unit priorities in a dispersed storage network
US10157011B2 (en) 2012-06-25 2018-12-18 International Business Machines Corporation Temporary suspension of vault access
US8935761B2 (en) 2012-06-25 2015-01-13 Cleversafe, Inc. Accessing storage nodes in an on-line media storage system
US11093327B1 (en) 2012-06-25 2021-08-17 Pure Storage, Inc. Failure abatement approach for failed storage units common to multiple vaults
US10114697B2 (en) 2012-06-25 2018-10-30 International Business Machines Corporation Large object parallel writing
US10120574B2 (en) 2012-06-25 2018-11-06 International Business Machines Corporation Reversible data modifications within DS units
US9141297B2 (en) 2012-06-25 2015-09-22 Cleversafe, Inc. Verifying encoded data slice integrity in a dispersed storage network
US9690703B1 (en) * 2012-06-27 2017-06-27 Netapp, Inc. Systems and methods providing storage system write elasticity buffers
US8909985B2 (en) * 2012-07-12 2014-12-09 International Business Machines Corporation Multiple hyperswap replication sessions
US9076021B2 (en) 2012-07-16 2015-07-07 Compellent Technologies Encryption/decryption for data storage system with snapshot capability
US9087009B2 (en) 2012-07-16 2015-07-21 Compellent Technologies Systems and methods for replication of data utilizing delta volumes
US9104590B2 (en) 2012-07-20 2015-08-11 Hitachi, Ltd. Storage system including multiple storage apparatuses and pool virtualization method
KR102004849B1 (en) * 2012-08-02 2019-07-29 삼성전자 주식회사 Method for managing dynamic memory reallocation and device performing the same
US10651975B2 (en) 2012-08-02 2020-05-12 Pure Storage, Inc. Forwarding data amongst cooperative DSTN processing units of a massive data ingestion system
US9258177B2 (en) 2012-08-02 2016-02-09 International Business Machines Corporation Storing a data stream in a set of storage devices
US9176822B2 (en) 2012-08-31 2015-11-03 Cleversafe, Inc. Adjusting dispersed storage error encoding parameters
US10241863B2 (en) 2012-08-31 2019-03-26 International Business Machines Corporation Slice rebuilding in a dispersed storage network
US9875158B2 (en) 2012-08-31 2018-01-23 International Business Machines Corporation Slice storage in a dispersed storage network
US10409678B2 (en) 2012-08-31 2019-09-10 Pure Storage, Inc. Self-optimizing read-ahead
US10331518B2 (en) * 2012-08-31 2019-06-25 International Business Machines Corporation Encoding data in a dispersed storage network
US11360851B2 (en) 2012-08-31 2022-06-14 Pure Storage, Inc. Duplicating authentication information between connections
US10409679B2 (en) 2012-08-31 2019-09-10 Pure Storage, Inc. Migrating data slices in a dispersed storage network
US10162597B1 (en) * 2012-09-11 2018-12-25 EMC IP Holding Company LLC Identifying IO access pattern in unique database structures
US8990542B2 (en) 2012-09-12 2015-03-24 Dot Hill Systems Corporation Efficient metadata protection system for data storage
US10318549B2 (en) 2012-09-13 2019-06-11 International Business Machines Corporation Batching modifications to nodes in a dispersed index
US10417253B2 (en) 2012-09-13 2019-09-17 Pure Storage, Inc. Multi-level data storage in a dispersed storage network
US10331698B2 (en) 2012-09-13 2019-06-25 International Business Machines Corporation Rebuilding data in a dispersed storage network
US10402423B2 (en) 2012-09-13 2019-09-03 Pure Storage, Inc. Sliding windows for batching index updates
US10057351B2 (en) 2012-09-13 2018-08-21 International Business Machines Corporation Modifying information dispersal algorithm configurations in a dispersed storage network
US9424326B2 (en) 2012-09-13 2016-08-23 International Business Machines Corporation Writing data avoiding write conflicts in a dispersed storage network
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US10331519B2 (en) 2012-10-08 2019-06-25 International Business Machines Corporation Application of secret sharing schemes at multiple levels of a dispersed storage network
US10606700B2 (en) 2012-10-08 2020-03-31 Pure Storage, Inc. Enhanced dispersed storage error encoding using multiple encoding layers
US9503513B2 (en) 2012-10-08 2016-11-22 International Business Machines Corporation Robust transmission of data utilizing encoded data slices
US10127111B2 (en) 2012-10-08 2018-11-13 International Business Machines Corporation Client provided request prioritization hints
US9936020B2 (en) 2012-10-30 2018-04-03 International Business Machines Corporation Access control of data in a dispersed storage network
US9298542B2 (en) 2012-10-30 2016-03-29 Cleversafe, Inc. Recovering data from corrupted encoded data slices
US8464095B1 (en) 2012-11-15 2013-06-11 DSSD, Inc. Method and system for multi-dimensional raid reconstruction and defect avoidance
US9002792B2 (en) * 2012-11-19 2015-04-07 Compellent Technologies Confirming data consistency in a data storage environment
US10558621B2 (en) 2012-12-05 2020-02-11 Pure Storage, Inc. Lock stealing writes for improved reliability
US10587691B2 (en) 2012-12-05 2020-03-10 Pure Storage, Inc. Impatient writes
US9811533B2 (en) 2012-12-05 2017-11-07 International Business Machines Corporation Accessing distributed computing functions in a distributed computing system
US9521197B2 (en) 2012-12-05 2016-12-13 International Business Machines Corporation Utilizing data object storage tracking in a dispersed storage network
US9003238B2 (en) 2012-12-06 2015-04-07 Compellent Technologies Systems and methods for error simulation and code testing
US9135096B2 (en) 2012-12-06 2015-09-15 Compellent Technologies RAID surveyor
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US20140181085A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Data storage system for analysis of data across heterogeneous information management systems
US9021452B2 (en) 2012-12-27 2015-04-28 Commvault Systems, Inc. Automatic identification of storage requirements, such as for use in selling data storage management solutions
US9128745B2 (en) 2012-12-27 2015-09-08 International Business Machines Corporation Automatically managing the storage of a virtual machine
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US10402270B2 (en) 2013-01-04 2019-09-03 Pure Storage, Inc. Deterministically determining affinity for a source name range
US10241866B2 (en) 2013-01-04 2019-03-26 International Business Machines Corporation Allocating rebuilding queue entries in a dispersed storage network
US9311187B2 (en) 2013-01-04 2016-04-12 Cleversafe, Inc. Achieving storage compliance in a dispersed storage network
US10229002B2 (en) 2013-01-04 2019-03-12 International Business Machines Corporation Process to migrate named objects to a dispersed or distributed storage network (DSN)
US20190250823A1 (en) 2013-01-04 2019-08-15 International Business Machines Corporation Efficient computation of only the required slices
US10642992B2 (en) 2013-01-04 2020-05-05 Pure Storage, Inc. Password augmented all-or-nothin transform
US11416340B1 (en) 2013-01-04 2022-08-16 Pure Storage, Inc. Storage system with multiple storage types in a vast storage network
US9558067B2 (en) 2013-01-04 2017-01-31 International Business Machines Corporation Mapping storage of data in a dispersed storage network
US10423491B2 (en) 2013-01-04 2019-09-24 Pure Storage, Inc. Preventing multiple round trips when writing to target widths
US10013203B2 (en) 2013-01-04 2018-07-03 International Business Machines Corporation Achieving storage compliance in a dispersed storage network
US10204009B2 (en) 2013-01-04 2019-02-12 International Business Machines Corporation Prioritized rebuilds using dispersed indices
US8554997B1 (en) 2013-01-18 2013-10-08 DSSD, Inc. Method and system for mirrored multi-dimensional raid
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US10430122B2 (en) 2013-02-05 2019-10-01 Pure Storage, Inc. Using partial rebuilding to change information dispersal algorithm (IDA)
US10621021B2 (en) 2013-02-05 2020-04-14 Pure Storage, Inc. Using dispersed data structures to point to slice or date source replicas
US10310763B2 (en) 2013-02-05 2019-06-04 International Business Machines Corporation Forming a distributed storage network memory without namespace aware distributed storage units
US10664360B2 (en) 2013-02-05 2020-05-26 Pure Storage, Inc. Identifying additional resources to accelerate rebuildling
US10268554B2 (en) 2013-02-05 2019-04-23 International Business Machines Corporation Using dispersed computation to change dispersal characteristics
US10055441B2 (en) 2013-02-05 2018-08-21 International Business Machines Corporation Updating shared group information in a dispersed storage network
US9043499B2 (en) 2013-02-05 2015-05-26 Cleversafe, Inc. Modifying a dispersed storage network memory data access response plan
US8949488B2 (en) 2013-02-15 2015-02-03 Compellent Technologies Data replication with dynamic compression
US9274908B2 (en) 2013-02-26 2016-03-01 International Business Machines Corporation Resolving write conflicts in a dispersed storage network
US11036392B2 (en) 2013-02-26 2021-06-15 Pure Storage, Inc. Determining when to use convergent encryption
US10642489B2 (en) 2013-02-26 2020-05-05 Pure Storage, Inc. Determining when to initiate an intra-distributed storage unit rebuild vs. an inter-distributed storage unit rebuild
US9019643B2 (en) * 2013-03-15 2015-04-28 Massachusetts Institute Of Technology Method and apparatus to reduce access time in a data storage device using coded seeking
US10075523B2 (en) 2013-04-01 2018-09-11 International Business Machines Corporation Efficient storage of data in a dispersed storage network
US10223213B2 (en) 2013-05-03 2019-03-05 International Business Machines Corporation Salted zero expansion all or nothing transformation
US9456035B2 (en) 2013-05-03 2016-09-27 International Business Machines Corporation Storing related data in a dispersed storage network
US9405609B2 (en) 2013-05-22 2016-08-02 International Business Machines Corporation Storing data in accordance with a performance threshold
US20140351634A1 (en) * 2013-05-22 2014-11-27 Brahim Bakayoko Transparent Parity-Based Recovery System and Method for Storage Devices
US9432341B2 (en) 2013-05-30 2016-08-30 International Business Machines Corporation Securing data in a dispersed storage network
US11226860B1 (en) 2013-05-30 2022-01-18 Pure Storage, Inc. Difference based rebuild list scanning
US9424132B2 (en) 2013-05-30 2016-08-23 International Business Machines Corporation Adjusting dispersed storage network traffic due to rebuilding
US9323617B2 (en) 2013-05-31 2016-04-26 Hewlett Packard Enterprise Development Lp Remap raid to maintain raid level
US9665386B2 (en) 2013-06-14 2017-05-30 Nutanix, Inc. Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment
US9817742B2 (en) 2013-06-25 2017-11-14 Dell International L.L.C. Detecting hardware and software problems in remote systems
US10027555B2 (en) 2013-06-25 2018-07-17 Dell International, L.L.C. Visual diagramming tool for hardware configurations
US9740514B1 (en) 2013-06-26 2017-08-22 Nutanix, Inc. Method and system to share data with snapshots in a virtualization environment
US9652470B2 (en) 2013-07-01 2017-05-16 International Business Machines Corporation Storing data in a dispersed storage network
US11221916B2 (en) 2013-07-01 2022-01-11 Pure Storage, Inc. Prioritized data reconstruction in a dispersed storage network
US10133635B2 (en) 2013-07-01 2018-11-20 International Business Machines Corporation Low-width vault in distributed storage system
US10169369B2 (en) 2013-07-01 2019-01-01 International Business Machines Corporation Meeting storage requirements with limited storage resources
US9501360B2 (en) 2013-07-01 2016-11-22 International Business Machines Corporation Rebuilding data while reading data in a dispersed storage network
US10681134B2 (en) 2013-07-31 2020-06-09 Pure Storage, Inc. Accelerated learning in adaptive rebuilding by applying observations to other samples
US10180880B2 (en) 2013-07-31 2019-01-15 International Business Machines Corporation Adaptive rebuilding rates based on sampling and inference
US9451025B2 (en) 2013-07-31 2016-09-20 International Business Machines Corporation Distributed storage network with alternative foster storage approaches and methods for use therewith
US9626125B2 (en) 2013-07-31 2017-04-18 International Business Machines Corporation Accounting for data that needs to be rebuilt or deleted
US20180188964A1 (en) 2013-07-31 2018-07-05 International Business Machines Corporation Managed storage unit shutdown in a distributed storage network
US9384150B2 (en) 2013-08-20 2016-07-05 Janus Technologies, Inc. Method and apparatus for performing transparent mass storage backups and snapshots
US10747475B2 (en) 2013-08-26 2020-08-18 Vmware, Inc. Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines
US9811531B2 (en) 2013-08-26 2017-11-07 Vmware, Inc. Scalable distributed storage architecture
US9887924B2 (en) * 2013-08-26 2018-02-06 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US9519439B2 (en) * 2013-08-28 2016-12-13 Dell International L.L.C. On-demand snapshot and prune in a data storage system
US10514857B2 (en) 2013-08-29 2019-12-24 Pure Storage, Inc. Dynamic adjusting of parameters based on resource scoring
US10489071B2 (en) 2013-08-29 2019-11-26 Pure Storage, Inc. Vault provisioning within dispersed or distributed storage network (DSN)
US9998538B2 (en) 2013-08-29 2018-06-12 International Business Machines Corporation Dispersed storage with coordinated execution and methods for use therewith
US9661074B2 (en) 2013-08-29 2017-05-23 International Business Machines Corporations Updating de-duplication tracking data for a dispersed storage network
US10601918B2 (en) 2013-08-29 2020-03-24 Pure Storage, Inc. Rotating inactive storage units in a distributed storage network
US10484474B2 (en) 2013-08-29 2019-11-19 Pure Storage, Inc. Rotating offline DS units
US9857974B2 (en) 2013-10-03 2018-01-02 International Business Machines Corporation Session execution decision
US10182115B2 (en) 2013-11-01 2019-01-15 International Business Machines Corporation Changing rebuild priority for a class of data
US9781208B2 (en) 2013-11-01 2017-10-03 International Business Machines Corporation Obtaining dispersed storage network system registry information
US10304096B2 (en) 2013-11-01 2019-05-28 International Business Machines Corporation Renting a pipe to a storage system
WO2015069225A1 (en) * 2013-11-05 2015-05-14 Hitachi, Ltd. Method and apparatus for avoiding performance decrease in high availability configuration
US8924776B1 (en) 2013-12-04 2014-12-30 DSSD, Inc. Method and system for calculating parity values for multi-dimensional raid
US9900316B2 (en) 2013-12-04 2018-02-20 International Business Machines Corporation Accessing storage units of a dispersed storage network
US9619336B2 (en) * 2014-01-05 2017-04-11 International Business Machines Corporation Managing production data
US11340993B2 (en) 2014-01-06 2022-05-24 Pure Storage, Inc. Deferred rebuilding with alternate storage locations
US10922181B2 (en) 2014-01-06 2021-02-16 Pure Storage, Inc. Using storage locations greater than an IDA width in a dispersed storage network
US9594639B2 (en) 2014-01-06 2017-03-14 International Business Machines Corporation Configuring storage resources of a dispersed storage network
US9268503B2 (en) 2014-01-14 2016-02-23 Compellent Technologies I/O handling between virtualization and RAID storage
US10949382B2 (en) 2014-01-15 2021-03-16 Commvault Systems, Inc. User-centric interfaces for information management systems
US8949692B1 (en) 2014-01-23 2015-02-03 DSSD, Inc. Method and system for service-aware parity placement in a storage system
US10318382B2 (en) 2014-01-31 2019-06-11 International Business Machines Corporation Determining missing encoded data slices
US9778987B2 (en) 2014-01-31 2017-10-03 International Business Machines Corporation Writing encoded data slices in a dispersed storage network
US9552261B2 (en) 2014-01-31 2017-01-24 International Business Machines Corporation Recovering data from microslices in a dispersed storage network
US11204836B1 (en) 2014-01-31 2021-12-21 Pure Storage, Inc. Using trap slices for anomaly detection in a distributed storage network
US9665429B2 (en) 2014-02-26 2017-05-30 International Business Machines Corporation Storage of data with verification in a dispersed storage network
US10592109B2 (en) 2014-02-26 2020-03-17 Pure Storage, Inc. Selecting storage resources in a dispersed storage network
US10140182B2 (en) 2014-02-26 2018-11-27 International Business Machines Corporation Modifying allocation of storage resources in a dispersed storage network
US10678638B2 (en) 2014-02-26 2020-06-09 Pure Storage, Inc. Resolving write conflicts in a dispersed storage network
US10635312B2 (en) 2014-02-26 2020-04-28 Pure Storage, Inc. Recovering data in a dispersed storage network
US9529834B2 (en) 2014-02-26 2016-12-27 International Business Machines Corporation Concatenating data objects for storage in a dispersed storage network
US10769016B2 (en) 2014-02-26 2020-09-08 Pure Storage, Inc. Storing a plurality of correlated data in a dispersed storage network
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation for an information management system
US9965537B2 (en) * 2014-03-05 2018-05-08 60East Technologies, Inc. System and method of providing a snapshot of data and replaying the data
US9720620B1 (en) 2014-03-11 2017-08-01 Amazon Technologies, Inc. Efficient data volume replication for block-based storage
US9600203B2 (en) 2014-03-11 2017-03-21 Amazon Technologies, Inc. Reducing data volume durability state for block-based storage
US11243707B2 (en) 2014-03-12 2022-02-08 Nutanix, Inc. Method and system for implementing virtual machine images
US10020826B2 (en) 2014-04-02 2018-07-10 International Business Machines Corporation Generating molecular encoding information for data storage
US10761917B2 (en) 2014-04-02 2020-09-01 Pure Storage, Inc. Using global namespace addressing in a dispersed storage network
US10628245B2 (en) 2014-04-02 2020-04-21 Pure Storage, Inc. Monitoring of storage units in a dispersed storage network
US11347590B1 (en) 2014-04-02 2022-05-31 Pure Storage, Inc. Rebuilding data in a distributed storage network
US20150288680A1 (en) 2014-04-02 2015-10-08 Cleversafe, Inc. Distributing registry information in a dispersed storage network
US10015152B2 (en) 2014-04-02 2018-07-03 International Business Machines Corporation Securing data in a dispersed storage network
US10681138B2 (en) 2014-04-02 2020-06-09 Pure Storage, Inc. Storing and retrieving multi-format content in a distributed storage network
US20190087599A1 (en) 2014-04-02 2019-03-21 International Business Machines Corporation Compressing a slice name listing in a dispersed storage network
CN105094684B (en) * 2014-04-24 2018-03-09 国际商业机器公司 The method for reusing and system of problem disk in disc array system
US10394476B2 (en) 2014-04-30 2019-08-27 Pure Storage, Inc. Multi-level stage locality selection on a large system
US10802732B2 (en) 2014-04-30 2020-10-13 Pure Storage, Inc. Multi-level stage locality selection on a large system
US9735967B2 (en) 2014-04-30 2017-08-15 International Business Machines Corporation Self-validating request message structure and operation
US9542239B2 (en) 2014-04-30 2017-01-10 International Business Machines Corporation Resolving write request conflicts in a dispersed storage network
US10296263B2 (en) 2014-04-30 2019-05-21 International Business Machines Corporation Dispersed bloom filter for determining presence of an object
US10140178B2 (en) 2014-06-05 2018-11-27 International Business Machines Corporation Verifying a status level of stored encoded data slices
US10152601B2 (en) 2014-06-05 2018-12-11 International Business Machines Corporation Reliably recovering stored data in a dispersed storage network
US10509577B2 (en) 2014-06-05 2019-12-17 Pure Storage, Inc. Reliable storage in a dispersed storage network
US9760446B2 (en) 2014-06-11 2017-09-12 Micron Technology, Inc. Conveying value of implementing an integrated data management and protection system
US9939865B2 (en) * 2014-06-13 2018-04-10 Seagate Technology Llc Selective storage resource powering for data transfer management
US9329964B2 (en) 2014-06-20 2016-05-03 Dell International L.L.C. Shaping I/O traffic by managing queue depth in fractional increments
JP2016012166A (en) 2014-06-27 2016-01-21 富士通株式会社 Storage management device, storage management program, and control method
US11398988B1 (en) 2014-06-30 2022-07-26 Pure Storage, Inc. Selection of access resources in a distributed storage network
US10440105B2 (en) 2014-06-30 2019-10-08 Pure Storage, Inc. Using a decentralized agreement protocol to rank storage locations for target width
US11606431B2 (en) 2014-06-30 2023-03-14 Pure Storage, Inc. Maintaining failure independence for storage of a set of encoded data slices
US11099763B1 (en) 2014-06-30 2021-08-24 Pure Storage, Inc. Migrating generational storage to a decentralized agreement protocol paradigm
US10459797B2 (en) 2014-06-30 2019-10-29 Pure Storage, Inc. Making trade-offs between rebuild scanning and failing memory device flexibility
US10447612B2 (en) 2014-06-30 2019-10-15 Pure Storage, Inc. Migrating encoded data slices in a dispersed storage network
US9841925B2 (en) 2014-06-30 2017-12-12 International Business Machines Corporation Adjusting timing of storing data in a dispersed storage network
US9690520B2 (en) 2014-06-30 2017-06-27 International Business Machines Corporation Recovering an encoded data slice in a dispersed storage network
US9838478B2 (en) 2014-06-30 2017-12-05 International Business Machines Corporation Identifying a task execution resource of a dispersed storage network
US10042564B2 (en) 2014-06-30 2018-08-07 International Business Machines Corporation Accessing data while migrating storage of the data
US10673946B2 (en) 2014-06-30 2020-06-02 Pure Storage, Inc. Using separate weighting scores for different types of data in a decentralized agreement protocol
US10613936B2 (en) 2014-07-31 2020-04-07 Pure Storage, Inc. Fractional slices in a distributed storage system
US10089036B2 (en) 2014-07-31 2018-10-02 International Business Machines Corporation Migrating data in a distributed storage network
US11728964B2 (en) 2014-07-31 2023-08-15 Pure Storage, Inc. Performance aided data migration in a distributed storage network
US10644874B2 (en) 2014-07-31 2020-05-05 Pure Storage, Inc. Limiting brute force attacks against dispersed credentials in a distributed storage system
US9348517B2 (en) 2014-08-28 2016-05-24 International Business Machines Corporation Using a migration threshold and a candidate list for cache management of sequential write storage
US10176191B2 (en) 2014-09-05 2019-01-08 International Business Machines Corporation Recovering from conflicts that emerge from eventually consistent operations
US10049120B2 (en) 2014-09-05 2018-08-14 International Business Machines Corporation Consistency based access of data in a dispersed storage network
US11442921B1 (en) 2014-09-05 2022-09-13 Pure Storage, Inc. Data access in a dispersed storage network with consistency
US10402395B2 (en) 2014-09-05 2019-09-03 Pure Storage, Inc. Facilitating data consistency in a dispersed storage network
US10146622B2 (en) 2014-09-08 2018-12-04 International Business Machines Corporation Combining deduplication with locality for efficient and fast storage
US9591076B2 (en) 2014-09-08 2017-03-07 International Business Machines Corporation Maintaining a desired number of storage units
US10268545B2 (en) 2014-09-08 2019-04-23 International Business Machines Corporation Using reinforcement learning to select a DS processing unit
WO2016053313A1 (en) 2014-09-30 2016-04-07 Hewlett Packard Enterprise Development Lp Page modification
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US20180101457A1 (en) 2014-10-29 2018-04-12 International Business Machines Corporation Retrying failed write operations in a dispersed storage network
US10459792B2 (en) 2014-10-29 2019-10-29 Pure Storage, Inc. Using an eventually consistent dispersed memory to implement storage tiers
US9916114B2 (en) 2014-10-29 2018-03-13 International Business Machines Corporation Deterministically sharing a plurality of processing resources
US10481833B2 (en) 2014-10-29 2019-11-19 Pure Storage, Inc. Transferring data encoding functions in a distributed storage network
US10282135B2 (en) 2014-10-29 2019-05-07 International Business Machines Corporation Strong consistency write threshold
US10095582B2 (en) 2014-10-29 2018-10-09 International Business Machines Corporation Partial rebuilding techniques in a dispersed storage unit
US10223033B2 (en) 2014-10-29 2019-03-05 International Business Machines Corporation Coordinating arrival times of data slices in a dispersed storage network
US10521298B2 (en) 2014-12-02 2019-12-31 Pure Storage, Inc. Temporarily storing dropped and rebuilt slices in a DSN memory
US10120739B2 (en) 2014-12-02 2018-11-06 International Business Machines Corporation Prioritized data rebuilding in a dispersed storage network
US10481832B2 (en) 2014-12-02 2019-11-19 Pure Storage, Inc. Applying a probability function to avoid storage operations for already-deleted data
US9727275B2 (en) 2014-12-02 2017-08-08 International Business Machines Corporation Coordinating storage of data in dispersed storage networks
US10402271B2 (en) 2014-12-02 2019-09-03 Pure Storage, Inc. Overcoming bottlenecks in zero information gain (ZIG) rebuild operations
US10503592B2 (en) 2014-12-02 2019-12-10 Pure Storage, Inc. Overcoming bottlenecks in partial and traditional rebuild operations
US10558527B2 (en) 2014-12-02 2020-02-11 Pure Storage, Inc. Rebuilding strategy in memory managed multi-site duplication
US9672216B2 (en) 2014-12-09 2017-06-06 Dell International L.L.C. Managing deduplication in a data storage system using a bloomier filter data dictionary
CN104572248B (en) * 2014-12-17 2018-01-23 中电科华云信息技术有限公司 The method of virtual machine dynamical save snapshot
US10489247B2 (en) 2014-12-31 2019-11-26 Pure Storage, Inc. Generating time-ordered globally unique revision numbers
US10423359B2 (en) 2014-12-31 2019-09-24 Pure Storage, Inc. Linking common attributes among a set of synchronized vaults
US10387252B2 (en) 2014-12-31 2019-08-20 Pure Storage, Inc. Synchronously storing data in a plurality of dispersed storage networks
US9727427B2 (en) 2014-12-31 2017-08-08 International Business Machines Corporation Synchronizing storage of data copies in a dispersed storage network
US10656866B2 (en) 2014-12-31 2020-05-19 Pure Storage, Inc. Unidirectional vault synchronization to support tiering
US10452317B2 (en) 2014-12-31 2019-10-22 Pure Storage, Inc. DAP redistribution operation within a dispersed storage network
US10126974B2 (en) 2014-12-31 2018-11-13 International Business Machines Corporation Redistributing encoded data slices in a dispersed storage network
US11604707B2 (en) 2014-12-31 2023-03-14 Pure Storage, Inc. Handling failures when synchronizing objects during a write operation
US10642687B2 (en) 2014-12-31 2020-05-05 Pure Storage, Inc. Pessimistic reads and other smart-read enhancements with synchronized vaults
US10623495B2 (en) 2014-12-31 2020-04-14 Pure Storage, Inc. Keeping synchronized writes from getting out of synch
US10621042B2 (en) 2014-12-31 2020-04-14 Pure Storage, Inc. Vault transformation within a dispersed storage network
US9600375B2 (en) * 2015-01-14 2017-03-21 International Business Machines Corporation Synchronized flashcopy backup restore of a RAID protected array
US10402275B2 (en) * 2015-01-28 2019-09-03 DataStax Backup to and restore from an offsite backup location
US10402276B2 (en) * 2015-01-28 2019-09-03 DataStax Backup to and clone from an offsite backup location
US10506045B2 (en) 2015-01-30 2019-12-10 Pure Storage, Inc. Memory access using deterministic function and secure seed
US9826038B2 (en) 2015-01-30 2017-11-21 International Business Machines Corporation Selecting a data storage resource of a dispersed storage network
US10620878B2 (en) 2015-01-30 2020-04-14 Pure Storage, Inc. Write threshold plus value in dispersed storage network write operations
US10289342B2 (en) 2015-01-30 2019-05-14 International Business Machines Corporation Data access optimization protocol in a dispersed storage network
US10440116B2 (en) 2015-01-30 2019-10-08 Pure Storage, Inc. Minimizing data movement through rotation of spare memory devices
US10498822B2 (en) 2015-01-30 2019-12-03 Pure Storage, Inc. Adaptive scanning rates
US10511665B2 (en) 2015-01-30 2019-12-17 Pure Storage, Inc. Efficient resource reclamation after deletion of slice from common file
US10423490B2 (en) 2015-01-30 2019-09-24 Pure Storage, Inc. Read-source requests to support bundled writes in a distributed storage system
US10802915B2 (en) 2015-01-30 2020-10-13 Pure Storage, Inc. Time based storage of encoded data slices
US9740547B2 (en) 2015-01-30 2017-08-22 International Business Machines Corporation Storing data using a dual path storage approach
US10592132B2 (en) 2015-01-30 2020-03-17 Pure Storage, Inc. Read-foreign-slices request for improved read efficiency with bundled writes
US10594793B2 (en) 2015-01-30 2020-03-17 Pure Storage, Inc. Read-prepare requests to multiple memories
US10740180B2 (en) 2015-01-30 2020-08-11 Pure Storage, Inc. Storing and retrieving data using proxies
US10169123B2 (en) 2015-01-30 2019-01-01 International Business Machines Corporation Distributed data rebuilding
US10498823B2 (en) 2015-01-30 2019-12-03 Pure Storage, Inc. Optimally apportioning rebuilding resources
US10530862B2 (en) 2015-01-30 2020-01-07 Pure Storage, Inc. Determining slices to rebuild from low-level failures
US9620165B2 (en) * 2015-02-26 2017-04-11 Netapp, Inc. Banded allocation of device address ranges in distributed parity schemes
US10528425B2 (en) 2015-02-27 2020-01-07 Pure Storage, Inc. Transitioning to an optimized data storage approach in a dispersed storage network
US10657000B2 (en) 2015-02-27 2020-05-19 Pure Storage, Inc. Optimizing data storage in a dispersed storage network
US10404410B2 (en) 2015-02-27 2019-09-03 Pure Storage, Inc. Storage unit (SU) report cards
US10503591B2 (en) 2015-02-27 2019-12-10 Pure Storage, Inc. Selecting retrieval locations in a dispersed storage network
US10956299B2 (en) 2015-02-27 2021-03-23 Commvault Systems, Inc. Diagnosing errors in data storage and archiving in a cloud or networking environment
US10534668B2 (en) 2015-02-27 2020-01-14 Pure Storage, Inc. Accessing data in a dispersed storage network
US10437677B2 (en) 2015-02-27 2019-10-08 Pure Storage, Inc. Optimized distributed rebuilding within a dispersed storage network
US10387067B2 (en) 2015-02-27 2019-08-20 Pure Storage, Inc. Optimizing data storage in a dispersed storage network
US10069915B2 (en) 2015-02-27 2018-09-04 International Business Machines Corporation Storing data in a dispersed storage network
US10530861B2 (en) 2015-02-27 2020-01-07 Pure Storage, Inc. Utilizing multiple storage pools in a dispersed storage network
US11188665B2 (en) 2015-02-27 2021-11-30 Pure Storage, Inc. Using internal sensors to detect adverse interference and take defensive actions
US10275185B2 (en) 2015-02-27 2019-04-30 International Business Machines Corporation Fail-in-place supported via decentralized or Distributed Agreement Protocol (DAP)
US10409772B2 (en) 2015-02-27 2019-09-10 Pure Storage, Inc. Accessing serially stored data in a dispersed storage network
US10423502B2 (en) 2015-02-27 2019-09-24 Pure Storage, Inc. Stand-by distributed storage units
US11836369B1 (en) 2015-02-27 2023-12-05 Pure Storage, Inc. Storing data in an expanded storage pool of a vast storage network
US10440115B2 (en) 2015-02-27 2019-10-08 Pure Storage, Inc. Write intent messaging in a dispersed storage network
US10579451B2 (en) 2015-02-27 2020-03-03 Pure Storage, Inc. Pro-actively preparing a dispersed storage network memory for higher-loads
US10437676B2 (en) 2015-02-27 2019-10-08 Pure Storage, Inc. Urgent reads and using data source health to determine error recovery procedures
US10078472B2 (en) 2015-02-27 2018-09-18 International Business Machines Corporation Rebuilding encoded data slices in a dispersed storage network
US10715460B2 (en) 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
CN104699505B (en) * 2015-03-12 2019-05-24 华为技术有限公司 A kind of operation system state update method and device based on mirror image technology
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US10079887B2 (en) 2015-03-31 2018-09-18 International Business Machines Corporation Expanding storage capacity of a set of storage units in a distributed storage network
US10528282B2 (en) 2015-03-31 2020-01-07 Pure Storage, Inc. Modifying and utilizing a file structure in a dispersed storage network
US10915261B2 (en) 2015-03-31 2021-02-09 Pure Storage, Inc. Selecting a set of storage units in a distributed storage network
US10437515B2 (en) 2015-03-31 2019-10-08 Pure Storage, Inc. Selecting storage units in a dispersed storage network
US10534661B2 (en) 2015-03-31 2020-01-14 Pure Storage, Inc. Selecting a storage error abatement alternative in a dispersed storage network
US10387070B2 (en) 2015-03-31 2019-08-20 Pure Storage, Inc. Migrating data in response to adding incremental storage resources in a dispersed storage network
US10331384B2 (en) 2015-03-31 2019-06-25 International Business Machines Corporation Storing data utilizing a maximum accessibility approach in a dispersed storage network
US10852957B2 (en) 2015-03-31 2020-12-01 Pure Storage, Inc. Migration agent employing moveslice request
US11055177B2 (en) 2015-03-31 2021-07-06 Pure Storage, Inc. Correlating operational information with an error condition in a dispersed storage network
US10963180B2 (en) 2015-03-31 2021-03-30 Pure Storage, Inc. Adding incremental storage resources in a dispersed storage network
US10713374B2 (en) 2015-03-31 2020-07-14 Pure Storage, Inc. Resolving detected access anomalies in a dispersed storage network
US10026454B2 (en) 2015-04-28 2018-07-17 Seagate Technology Llc Storage system with cross flow cooling of power supply unit
US10466913B2 (en) 2015-04-29 2019-11-05 EMC IP Holding Company LLC Method and system for replicating and using grid level metadata in a storage system
US10268376B2 (en) 2015-04-30 2019-04-23 International Business Machines Corporation Automated deployment and assignment of access devices in a dispersed storage network
US10067998B2 (en) 2015-04-30 2018-09-04 International Business Machines Corporation Distributed sync list
US10216594B2 (en) 2015-04-30 2019-02-26 International Business Machines Corporation Automated stalled process detection and recovery
US10078561B2 (en) 2015-04-30 2018-09-18 International Business Machines Corporation Handling failing memory devices in a dispersed storage network
US10037171B2 (en) 2015-04-30 2018-07-31 International Business Machines Corporation Accessing common data in a dispersed storage network
US10168904B2 (en) 2015-04-30 2019-01-01 International Business Machines Corporation Quasi-error notifications in a dispersed storage network
US10254992B2 (en) 2015-04-30 2019-04-09 International Business Machines Corporation Rebalancing data storage in a dispersed storage network
US10055170B2 (en) 2015-04-30 2018-08-21 International Business Machines Corporation Scheduling storage unit maintenance tasks in a dispersed storage network
US10157094B2 (en) 2015-04-30 2018-12-18 International Business Machines Corporation Validating system registry files in a dispersed storage network
US10684876B2 (en) * 2015-05-14 2020-06-16 Netapp, Inc. Migration of virtual machine data using native data paths
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10789128B2 (en) 2015-05-29 2020-09-29 Pure Storage, Inc. External healing mode for a dispersed storage network memory
US10430107B2 (en) 2015-05-29 2019-10-01 Pure Storage, Inc. Identifying stored data slices during a slice migration activity in a dispersed storage network
US10613798B2 (en) 2015-05-29 2020-04-07 Pure Storage, Inc. Slice fanout write request
US10523241B2 (en) 2015-05-29 2019-12-31 Pure Storage, Inc. Object fan out write operation
US10402122B2 (en) 2015-05-29 2019-09-03 Pure Storage, Inc. Transferring encoded data slices in a dispersed storage network
US10324657B2 (en) 2015-05-29 2019-06-18 International Business Machines Corporation Accounting for data whose rebuilding is deferred
US10838664B2 (en) 2015-05-29 2020-11-17 Pure Storage, Inc. Determining a storage location according to legal requirements
US10891058B2 (en) 2015-05-29 2021-01-12 Pure Storage, Inc. Encoding slice verification information to support verifiable rebuilding
US10409522B2 (en) 2015-05-29 2019-09-10 Pure Storage, Inc. Reclaiming storage capacity in a dispersed storage network
US11115221B2 (en) 2015-05-29 2021-09-07 Pure Storage, Inc. Verifying a rebuilt encoded data slice using slice verification information
US10169125B2 (en) 2015-05-29 2019-01-01 International Business Machines Corporation Re-encoding data in a dispersed storage network
US9678681B2 (en) * 2015-06-17 2017-06-13 International Business Machines Corporation Secured multi-tenancy data in cloud-based storage environments
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10055291B2 (en) 2015-06-30 2018-08-21 International Business Machines Corporation Method and system for processing data access requests during data transfers
US10437671B2 (en) 2015-06-30 2019-10-08 Pure Storage, Inc. Synchronizing replicated stored data
US11669546B2 (en) 2015-06-30 2023-06-06 Pure Storage, Inc. Synchronizing replicated data in a storage network
US11782789B2 (en) 2015-07-31 2023-10-10 Pure Storage, Inc. Encoding data and associated metadata in a storage network
US10127110B2 (en) 2015-07-31 2018-11-13 International Business Machines Corporation Reallocating storage in a dispersed storage network
US10466914B2 (en) 2015-08-31 2019-11-05 Pure Storage, Inc. Verifying authorized access in a dispersed storage network
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10073652B2 (en) 2015-09-24 2018-09-11 International Business Machines Corporation Performance optimized storage vaults in a dispersed storage network
US10176036B2 (en) 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10901767B2 (en) * 2015-10-30 2021-01-26 Hewlett Packard Enterprise Development Lp Data locality for hyperconverged virtual computing platform
US10169147B2 (en) 2015-10-30 2019-01-01 International Business Machines Corporation End-to-end secure data storage in a dispersed storage network
US10409514B2 (en) 2015-11-30 2019-09-10 International Business Machines Corporation IP multicast message transmission for event notifications
US10346246B2 (en) 2015-11-30 2019-07-09 International Business Machines Corporation Recovering data copies in a dispersed storage network
US20170192688A1 (en) 2015-12-30 2017-07-06 International Business Machines Corporation Lazy deletion of vaults in packed slice storage (pss) and zone slice storage (zss)
US20170220282A1 (en) * 2016-01-29 2017-08-03 Dell Products L.P. Dynamic capacity expansion of raid volumes
US10089178B2 (en) 2016-02-29 2018-10-02 International Business Machines Corporation Developing an accurate dispersed storage network memory performance model through training
TWI587217B (en) * 2016-03-07 2017-06-11 威聯通科技股份有限公司 Electronic apparatus and method for expanding storage capacity of electronic apparatus
US10417113B1 (en) * 2016-03-10 2019-09-17 Amdocs Development Limited System, method, and computer program for web testing and automation offline storage and analysis
US9733862B1 (en) * 2016-03-18 2017-08-15 Dell Products L.P. Systems and methods for reverse point-in-time copy management in a storage system
US10831381B2 (en) 2016-03-29 2020-11-10 International Business Machines Corporation Hierarchies of credential and access control sharing between DSN memories
US10387248B2 (en) 2016-03-29 2019-08-20 International Business Machines Corporation Allocating data for storage by utilizing a location-based hierarchy in a dispersed storage network
US9927980B1 (en) * 2016-03-31 2018-03-27 EMC IP Holding Company LLC Accessing point in time versions of a logical device in connection with I/O operations
US10127113B1 (en) 2016-03-31 2018-11-13 EMC IP Holding Company LLC Method and system for checkerboard RAID
US10419538B2 (en) 2016-04-26 2019-09-17 International Business Machines Corporation Selecting memory for data access in a dispersed storage network
US10169082B2 (en) 2016-04-27 2019-01-01 International Business Machines Corporation Accessing data in accordance with an execution deadline
US10628399B2 (en) 2016-04-29 2020-04-21 International Business Machines Corporation Storing data in a dispersed storage network with consistency
US10007444B2 (en) 2016-04-29 2018-06-26 International Business Machines Corporation Batching access requests in a dispersed storage network
US10091298B2 (en) 2016-05-27 2018-10-02 International Business Machines Corporation Enhancing performance of data storage in a dispersed storage network
US10353772B2 (en) 2016-05-31 2019-07-16 International Business Machines Corporation Selecting data for storage in a dispersed storage network
US10122795B2 (en) 2016-05-31 2018-11-06 International Business Machines Corporation Consistency level driven data storage in a dispersed storage network
US10027755B2 (en) 2016-06-01 2018-07-17 International Business Machines Corporation Selecting storage units in one or more dispersed storage networks
US10467172B2 (en) 2016-06-01 2019-11-05 Seagate Technology Llc Interconnect for shared control electronics
US10394650B2 (en) 2016-06-03 2019-08-27 International Business Machines Corporation Multiple writes using inter-site storage unit relationship
US10735545B2 (en) 2016-06-06 2020-08-04 International Business Machines Corporation Routing vault access requests in a dispersed storage network
US10334045B2 (en) 2016-06-06 2019-06-25 International Business Machines Corporation Indicating multiple encoding schemes in a dispersed storage network
US10652350B2 (en) 2016-06-06 2020-05-12 International Business Machines Corporation Caching for unique combination reads in a dispersed storage network
US10719499B2 (en) 2016-06-06 2020-07-21 INTERNATIONAL BUSINESS MACHINES CORPORATIOb Establishing distributed consensus via alternate voting strategies in a dispersed storage network
US10613947B2 (en) 2016-06-09 2020-04-07 Nutanix, Inc. Saving and restoring storage devices using application-consistent snapshots
CN107515723B (en) * 2016-06-16 2020-04-24 伊姆西Ip控股有限责任公司 Method and system for managing memory in a storage system
US10007438B2 (en) 2016-06-25 2018-06-26 International Business Machines Corporation Method and system for achieving consensus using alternate voting strategies (AVS) with incomplete information
US10564852B2 (en) 2016-06-25 2020-02-18 International Business Machines Corporation Method and system for reducing memory device input/output operations
US10235085B2 (en) 2016-06-27 2019-03-19 International Business Machines Corporation Relocating storage unit data in response to detecting hotspots in a dispersed storage network
US11115469B2 (en) 2016-06-28 2021-09-07 International Business Machines Corporation Efficient updates within a dispersed storage network
US10157021B2 (en) 2016-06-29 2018-12-18 International Business Machines Corporation Processing incomplete data access transactions
US10025505B2 (en) 2016-06-29 2018-07-17 International Business Machines Corporation Accessing data in a dispersed storage network during write operations
US10387286B2 (en) 2016-06-30 2019-08-20 International Business Machines Corporation Managing configuration updates in a dispersed storage network
US9934092B2 (en) 2016-07-12 2018-04-03 International Business Machines Corporation Manipulating a distributed agreement protocol to identify a desired set of storage units
US10102067B2 (en) 2016-07-14 2018-10-16 International Business Machines Corporation Performing a desired manipulation of an encoded data slice based on a metadata restriction and a storage operational condition
US10114696B2 (en) 2016-07-14 2018-10-30 International Business Machines Corporation Tracking data access in a dispersed storage network
US10534666B2 (en) 2016-07-14 2020-01-14 International Business Machines Corporation Determining storage requirements based on licensing right in a dispersed storage network
US10360103B2 (en) 2016-07-18 2019-07-23 International Business Machines Corporation Focused storage pool expansion to prevent a performance degradation
US9992063B2 (en) 2016-07-18 2018-06-05 International Business Machines Corporation Utilizing reallocation via a decentralized, or distributed, agreement protocol (DAP) for storage unit (SU) replacement
US10769015B2 (en) 2016-07-19 2020-09-08 International Business Machines Corporation Throttling access requests at different layers of a DSN memory
US10277490B2 (en) 2016-07-19 2019-04-30 International Business Machines Corporation Monitoring inter-site bandwidth for rebuilding
US10127112B2 (en) 2016-07-20 2018-11-13 International Business Machines Corporation Assigning prioritized rebuild resources optimally
US10554752B2 (en) 2016-07-20 2020-02-04 International Business Machines Corporation Efficient transfer of encoded data slice sets to new or alternate storage units
US10459796B2 (en) 2016-07-20 2019-10-29 International Business Machines Corporation Prioritizing rebuilding based on a longevity estimate of the rebuilt slice
US10031809B2 (en) 2016-07-20 2018-07-24 International Business Machines Corporation Efficient method for rebuilding a set of encoded data slices
US10379744B2 (en) 2016-07-21 2019-08-13 International Business Machines Corporation System for collecting end-user feedback and usability metrics
US10416930B2 (en) 2016-07-21 2019-09-17 International Business Machines Corporation Global access permit listing
US10459790B2 (en) 2016-07-26 2019-10-29 International Business Machines Corporation Elastic storage in a dispersed storage network
US10395043B2 (en) 2016-07-29 2019-08-27 International Business Machines Corporation Securely storing data in an elastically scalable dispersed storage network
US10031805B2 (en) 2016-08-09 2018-07-24 International Business Machines Corporation Assigning slices to storage locations based on a predicted lifespan
US10223036B2 (en) 2016-08-10 2019-03-05 International Business Machines Corporation Expanding a dispersed storage network (DSN)
US10129023B2 (en) 2016-08-11 2018-11-13 International Business Machines Corporation Enhancing security for multiple storage configurations
US10348829B2 (en) 2016-08-15 2019-07-09 International Business Machines Corporation Auto indexing with customizable metadata
US10013309B2 (en) 2016-08-17 2018-07-03 International Business Machines Corporation Missing slice reconstruction in a dispersed storage network
US10379778B2 (en) 2016-08-18 2019-08-13 International Business Machines Corporation Using a master encryption key to sanitize a dispersed storage network memory
US10078468B2 (en) 2016-08-18 2018-09-18 International Business Machines Corporation Slice migration in a dispersed storage network
US10389683B2 (en) 2016-08-26 2019-08-20 International Business Machines Corporation Securing storage units in a dispersed storage network
US10581807B2 (en) 2016-08-29 2020-03-03 International Business Machines Corporation Using dispersal techniques to securely store cryptographic resources and respond to attacks
US10379773B2 (en) 2016-08-29 2019-08-13 International Business Machines Corporation Storage unit for use in a dispersed storage network
US10061524B2 (en) 2016-09-01 2018-08-28 International Business Machines Corporation Wear-leveling of memory devices
US10169149B2 (en) 2016-09-06 2019-01-01 International Business Machines Corporation Standard and non-standard dispersed storage network data access
US10387079B2 (en) 2016-09-09 2019-08-20 International Business Machines Corporation Placement of dispersed storage data based on requestor properties
US10225271B2 (en) 2016-09-09 2019-03-05 International Business Machines Corporation Distributed storage network with enhanced security monitoring
US10547615B2 (en) 2016-09-12 2020-01-28 International Business Machines Corporation Security response protocol based on security alert encoded data slices of a distributed storage network
US10558396B2 (en) 2016-09-14 2020-02-11 International Business Machines Corporation Pre-caching data according to a current or predicted requester location
US10558389B2 (en) 2016-09-20 2020-02-11 International Business Machines Corporation Per-storage class quality of service (QoS) management within a distributed storage network (DSN) where the DSN stores data using dispersed storage error decoding/encoding
US10067822B2 (en) 2016-09-26 2018-09-04 International Business Machines Corporation Combined slice objects in alternate memory locations
US10448062B2 (en) 2016-10-26 2019-10-15 International Business Machines Corporation Pre-fetching media content to reduce peak loads
US10394630B2 (en) 2016-10-26 2019-08-27 International Business Machines Corporation Estimating relative data importance in a dispersed storage network
US10585751B2 (en) 2016-10-27 2020-03-10 International Business Machines Corporation Partial rebuild operation within a dispersed storage network including local memory and cloud-based alternative memory
US10481977B2 (en) 2016-10-27 2019-11-19 International Business Machines Corporation Dispersed storage of error encoded data objects having multiple resolutions
US11169731B2 (en) 2016-10-31 2021-11-09 International Business Machines Corporation Managing storage resources in a dispersed storage network
US20180131749A1 (en) * 2016-11-10 2018-05-10 Ingram Micro Inc. System and Method for Optimizing Data Transfer using Selective Compression
US10585607B2 (en) 2016-11-10 2020-03-10 International Business Machines Corporation Determining an optimum selection of functions for units in a DSN memory
US10540247B2 (en) 2016-11-10 2020-01-21 International Business Machines Corporation Handling degraded conditions using a redirect module
CN108121497B (en) * 2016-11-29 2021-04-30 中国电信股份有限公司 Storage method and storage system
US10114698B2 (en) 2017-01-05 2018-10-30 International Business Machines Corporation Detecting and responding to data loss events in a dispersed storage network
US10782921B2 (en) 2017-01-25 2020-09-22 International Business Machines Corporation Non-writing device finalization of a write operation initiated by another device
US10180787B2 (en) 2017-02-09 2019-01-15 International Business Machines Corporation Dispersed storage write process with lock/persist
US10241865B2 (en) 2017-02-15 2019-03-26 International Business Machines Corporation Handling storage unit failure in a dispersed storage network
US10579309B2 (en) 2017-02-16 2020-03-03 International Business Machines Corporation Method for increasing throughput in a distributed storage network
US10552341B2 (en) 2017-02-17 2020-02-04 International Business Machines Corporation Zone storage—quickly returning to a state of consistency following an unexpected event
US10248495B2 (en) 2017-02-17 2019-04-02 International Business Machines Corporation Eventual consistency intent cleanup in a dispersed storage network
US10382553B2 (en) 2017-02-20 2019-08-13 International Business Machines Corporation Zone storage—resilient and efficient storage transactions
US10394468B2 (en) 2017-02-23 2019-08-27 International Business Machines Corporation Handling data slice revisions in a dispersed storage network
US10241677B2 (en) 2017-02-24 2019-03-26 International Business Machines Corporation Ensuring consistency between content and metadata with intents
US9998147B1 (en) * 2017-02-27 2018-06-12 International Business Machines Corporation Method for using write intents in a distributed storage network
US10642532B2 (en) 2017-02-28 2020-05-05 International Business Machines Corporation Storing data sequentially in zones in a dispersed storage network
US10372380B2 (en) 2017-03-01 2019-08-06 International Business Machines Corporation Asserting integrity with a verifiable codec
US10169392B2 (en) 2017-03-08 2019-01-01 International Business Machines Corporation Persistent data structures on a dispersed storage network memory
US11226980B2 (en) 2017-03-13 2022-01-18 International Business Machines Corporation Replicating containers in object storage using intents
US11032350B2 (en) 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US10235241B2 (en) 2017-03-15 2019-03-19 International Business Machines Corporation Method for partial updating data content in a distributed storage network
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US10693640B2 (en) 2017-03-17 2020-06-23 International Business Machines Corporation Use of key metadata during write and read operations in a dispersed storage network memory
US10241861B2 (en) 2017-03-23 2019-03-26 International Business Machines Corporation Method for tenant isolation in a distributed computing system
US10133634B2 (en) 2017-03-30 2018-11-20 International Business Machines Corporation Method for performing in-place disk format changes in a distributed storage network
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10360391B2 (en) 2017-04-03 2019-07-23 International Business Machines Corporation Verifiable keyed all-or-nothing transform
US10379961B2 (en) 2017-04-11 2019-08-13 International Business Machines Corporation Ensuring metadata and index consistency using write intents
US10545699B2 (en) 2017-04-11 2020-01-28 International Business Machines Corporation Dynamic retention policies and optional deletes
US10296425B2 (en) 2017-04-20 2019-05-21 Bank Of America Corporation Optimizing data processing across server clusters and data centers using checkpoint-based data replication
US10678643B1 (en) * 2017-04-26 2020-06-09 EMC IP Holding Company LLC Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system
US10466930B2 (en) 2017-04-28 2019-11-05 EMC IP Holding Company LLC Method and system for fast ordered writes with atomic multicast
US10289491B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance
US10339062B2 (en) 2017-04-28 2019-07-02 EMC IP Holding Company LLC Method and system for writing data to and read data from persistent storage
US10614019B2 (en) 2017-04-28 2020-04-07 EMC IP Holding Company LLC Method and system for fast ordered writes with target collaboration
US10567509B2 (en) 2017-05-15 2020-02-18 International Business Machines Corporation Rebuilding derived content
US10491386B2 (en) 2017-06-01 2019-11-26 International Business Machines Corporation Slice-level keyed encryption with support for efficient rekeying
US10339003B2 (en) 2017-06-01 2019-07-02 International Business Machines Corporation Processing data access transactions in a dispersed storage network using source revision indicators
US10467097B2 (en) 2017-06-02 2019-11-05 International Business Machines Corporation Indicating data health in a DSN memory
US10372381B2 (en) 2017-06-05 2019-08-06 International Business Machines Corporation Implicit leader election in a distributed storage network
US10361813B2 (en) 2017-06-16 2019-07-23 International Business Machine Corporation Using slice routers for improved storage placement determination
US10534548B2 (en) 2017-06-20 2020-01-14 International Business Machines Corporation Validating restricted operations on a client using trusted environments
US10324855B2 (en) 2017-06-23 2019-06-18 International Business Machines Corporation Associating a processing thread and memory section to a memory device
US10540111B2 (en) 2017-06-28 2020-01-21 International Business Machines Corporation Managing data container instances in a dispersed storage network
US10594790B2 (en) 2017-06-28 2020-03-17 International Business Machines Corporation Data compression in a dispersed storage network
US10795583B2 (en) * 2017-07-19 2020-10-06 Samsung Electronics Co., Ltd. Automatic data placement manager in multi-tier all-flash datacenter
US10599502B2 (en) 2017-08-07 2020-03-24 International Business Machines Corporation Fault detection and recovery in a distributed storage network
US10509699B2 (en) 2017-08-07 2019-12-17 International Business Machines Corporation Zone aware request scheduling and data placement
US10671746B2 (en) 2017-08-28 2020-06-02 International Business Machines Corporation Controlling access when processing intents in a dispersed storage network
US10379942B2 (en) 2017-09-27 2019-08-13 International Business Machines Corporation Efficient transfer of objects between containers on the same vault
US10409661B2 (en) 2017-09-29 2019-09-10 International Business Machines Corporation Slice metadata for optimized dispersed storage network memory storage strategies
US10802713B2 (en) 2017-09-29 2020-10-13 International Business Machines Corporation Requester-associated storage entity data
US10585748B2 (en) 2017-09-29 2020-03-10 International Business Machines Corporation Scalable cloud—assigning scores to requesters and treating requests differently based on those scores
US10282099B1 (en) * 2017-10-27 2019-05-07 Netapp, Inc. Intelligent snapshot tiering
US10540120B2 (en) 2017-11-14 2020-01-21 International Business Machines Corporation Contention avoidance on associative commutative updates
US10824522B2 (en) 2017-11-27 2020-11-03 Nutanix, Inc. Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications
US10565392B2 (en) 2017-11-28 2020-02-18 International Business Machines Corporation Secure and verifiable update operations
US10423497B2 (en) 2017-11-28 2019-09-24 International Business Machines Corporation Mechanism for representing system configuration changes as a series of objects writable to an object storage container
US10785194B2 (en) 2017-12-07 2020-09-22 International Business Machines Corporation Processing intents using trusted entities in a dispersed storage network
US10681135B2 (en) 2017-12-08 2020-06-09 International Business Machines Corporation Generating slices from a broadcast message and a recipient identity
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US11036677B1 (en) * 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US10776173B1 (en) 2018-04-30 2020-09-15 Amazon Technologies, Inc. Local placement of resource instances in a distributed system
US11412041B2 (en) 2018-06-25 2022-08-09 International Business Machines Corporation Automatic intervention of global coordinator
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
US10929249B2 (en) 2018-06-29 2021-02-23 International Business Machines Corporation Optimized data corruption source and timeline analysis
US11182363B2 (en) 2018-06-29 2021-11-23 International Business Machines Corporation Data validation in copy repositories
US10795780B2 (en) 2018-06-29 2020-10-06 International Business Machines Corporation Data breach source and timeline analysis
US10929248B2 (en) 2018-06-29 2021-02-23 International Business Machines Corporation Data corruption source and timeline analysis
US10866752B2 (en) 2018-10-17 2020-12-15 International Business Machines Corporation Reclaiming storage space in raids made up of heterogeneous storage drives
US10936452B2 (en) 2018-11-14 2021-03-02 International Business Machines Corporation Dispersed storage network failover units used to improve local reliability
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
TWI704451B (en) * 2019-01-02 2020-09-11 慧榮科技股份有限公司 Method and apparatus for performing dynamic recovery management regarding redundant array of independent disks and storage system operating according to the method
US10831618B1 (en) * 2019-01-31 2020-11-10 EMC IP Holding Company LLC Method and apparatus for mounting and unmounting a stable snapshot copy of a user file system
US11494216B2 (en) * 2019-08-16 2022-11-08 Google Llc Behavior-based VM resource capture for forensics
CN111143846B (en) * 2019-12-27 2022-03-22 中核控制系统工程有限公司 DCS information security prevention method and system based on virus checking and killing of intermediate machine
US11593026B2 (en) 2020-03-06 2023-02-28 International Business Machines Corporation Zone storage optimization using predictive protocol patterns
US20210334236A1 (en) * 2020-04-24 2021-10-28 Vmware, Inc. Supporting distributed and local objects using a multi-writer log-structured file system
US11474900B2 (en) * 2020-08-04 2022-10-18 International Business Machines Corporation Dynamic rebuild capability in redundant array of independent disks (RAID) arrays using compressing drives
US11698743B2 (en) * 2020-11-13 2023-07-11 Cohesity, Inc. Efficient backup after a restore operation
CN112667158A (en) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 Storage method and system of magnetic disk
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03259320A (en) * 1990-03-08 1991-11-19 Nec Corp Striping area allocating system
JPH0573221A (en) * 1991-09-12 1993-03-26 Hitachi Ltd Magnetic tape controller
JPH0784839A (en) * 1993-06-14 1995-03-31 Internatl Business Mach Corp <Ibm> Data storage device
JPH09128305A (en) * 1995-10-30 1997-05-16 Hitachi Ltd External storage device
JPH11134117A (en) * 1997-10-31 1999-05-21 Toshiba Corp Computer system
WO2000013077A2 (en) * 1998-09-01 2000-03-09 Siemens Aktiengesellschaft Method for storing data on a limited-capacity storage medium
JP2000132343A (en) * 1998-08-20 2000-05-12 Hitachi Ltd Storage device system
JP2000507014A (en) * 1996-03-19 2000-06-06 イーエムシー コーポレイション Multi-host decision support system
JP2001337850A (en) * 2000-05-25 2001-12-07 Hitachi Ltd Storage and method for controlling the same
US20020112113A1 (en) * 2001-01-11 2002-08-15 Yotta Yotta, Inc. Storage virtualization system and methods
JP2002278819A (en) * 2001-03-21 2002-09-27 Toshiba Corp Generation management method for snap shot image, storage medium and generation management system
US20030009619A1 (en) * 2001-07-05 2003-01-09 Yoshiki Kano Automated on-line capacity expansion method for storage device
JP2003050724A (en) * 2001-08-07 2003-02-21 Hitachi Ltd Method for operating storage and storage used for the same
WO2003017909A2 (en) * 2001-08-31 2003-03-06 G-Intek Co., Ltd. Leg massage and exercise device
JP2004538569A (en) * 2001-08-08 2004-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for accessing a tape device in a computer system

Family Cites Families (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US574792A (en) * 1897-01-05 Water-filter
USRE36462E (en) * 1986-01-16 1999-12-21 International Business Machines Corporation Method to control paging subsystem processing in virtual memory data processing system during execution of critical code sections
JPH0628042B2 (en) * 1986-01-31 1994-04-13 富士通株式会社 How to update the journal version
JPH0784839B2 (en) 1988-01-26 1995-09-13 東急建設株式会社 Cast-in-place shield machine
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5274807A (en) 1990-11-01 1993-12-28 At&T Bell Laboratories Method for reducing magnetic storage volume for computer disk image backup
US5155835A (en) 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5327535A (en) 1991-08-29 1994-07-05 Hitachi, Ltd. Magnetic recording control apparatus
US5502836A (en) 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5371882A (en) * 1992-01-14 1994-12-06 Storage Technology Corporation Spare disk drive replacement scheduling system for a disk drive array data storage subsystem
US5548740A (en) * 1992-02-10 1996-08-20 Sharp Kabushiki Kaisha Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof
JP3259320B2 (en) 1992-04-09 2002-02-25 松下電器産業株式会社 Television receiver
US5379412A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
US5331646A (en) * 1992-05-08 1994-07-19 Compaq Computer Corporation Error correcting code technique for improving reliablility of a disk array
JPH06187201A (en) * 1992-12-21 1994-07-08 Mitsubishi Electric Corp File system
US6269453B1 (en) * 1993-06-29 2001-07-31 Compaq Computer Corporation Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
JP2625382B2 (en) * 1993-07-23 1997-07-02 日本電気株式会社 File allocation system
JPH0744326A (en) 1993-07-30 1995-02-14 Hitachi Ltd Strage system
US5392244A (en) 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
JP2735479B2 (en) 1993-12-29 1998-04-02 株式会社東芝 Memory snapshot method and information processing apparatus having memory snapshot function
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
KR100380878B1 (en) 1994-04-25 2003-08-02 소니 가부시끼 가이샤 Data storage processing device
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
EP0689125B1 (en) 1994-06-22 2004-11-17 Hewlett-Packard Company, A Delaware Corporation Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array
US5615352A (en) 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5664187A (en) 1994-10-26 1997-09-02 Hewlett-Packard Company Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables
US5659704A (en) * 1994-12-02 1997-08-19 Hewlett-Packard Company Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
JPH0944381A (en) * 1995-07-31 1997-02-14 Toshiba Corp Method and device for data storage
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
JPH0969028A (en) * 1995-08-31 1997-03-11 Hitachi Ltd Magnetic tape cartridge control system
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US5784698A (en) 1995-12-05 1998-07-21 International Business Machines Corporation Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5719983A (en) 1995-12-18 1998-02-17 Symbios Logic Inc. Method and apparatus for placement of video data based on disk zones
JP3641872B2 (en) * 1996-04-08 2005-04-27 株式会社日立製作所 Storage system
US5829053A (en) * 1996-05-10 1998-10-27 Apple Computer, Inc. Block storage memory management system and method utilizing independent partition managers and device drivers
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
KR100208801B1 (en) * 1996-09-16 1999-07-15 윤종용 Storage device system for improving data input/output perfomance and data recovery information cache method
KR100275900B1 (en) * 1996-09-21 2000-12-15 윤종용 Method for implement divideo parity spare disk in raid sub-system
US5950218A (en) * 1996-11-04 1999-09-07 Storage Technology Corporation Method and system for storage and retrieval of data on a tape medium
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
JP3584665B2 (en) * 1997-03-14 2004-11-04 株式会社日立製作所 Library storage device using portable media
US5974515A (en) 1997-04-08 1999-10-26 Emc Corporation System for distributing volumes to an HSM system front end
US6275897B1 (en) * 1997-06-17 2001-08-14 Emc Corporation Remote cache utilization for mirrored mass storage subsystem
US6076143A (en) 1997-09-02 2000-06-13 Emc Corporation Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6366988B1 (en) * 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US6209059B1 (en) 1997-09-25 2001-03-27 Emc Corporation Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US6341333B1 (en) * 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US5933834A (en) 1997-10-16 1999-08-03 International Business Machines Incorporated System and method for re-striping a set of objects onto an exploded array of storage units in a computer system
US6215747B1 (en) 1997-11-17 2001-04-10 Micron Electronics, Inc. Method and system for increasing the performance of constant angular velocity CD-ROM drives
US6192444B1 (en) * 1998-01-05 2001-02-20 International Business Machines Corporation Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem
US6073221A (en) * 1998-01-05 2000-06-06 International Business Machines Corporation Synchronization of shared data stores through use of non-empty track copy procedure
US6078932A (en) * 1998-01-13 2000-06-20 International Business Machines Corporation Point-in-time backup utilizing multiple copy technologies
US6212531B1 (en) * 1998-01-13 2001-04-03 International Business Machines Corporation Method for implementing point-in-time copy using a snapshot function
JPH11203056A (en) 1998-01-19 1999-07-30 Fujitsu Ltd Input/output controller and array disk device
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6115788A (en) 1998-02-20 2000-09-05 Seagate Technology, Inc. Multi-drive array with improved data transfer rate performance
US6347359B1 (en) 1998-02-27 2002-02-12 Aiwa Raid Technology, Inc. Method for reconfiguration of RAID data storage systems
JP3667084B2 (en) * 1998-05-14 2005-07-06 株式会社日立製作所 Data multiplexing control method
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US7392234B2 (en) 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US6438642B1 (en) 1999-05-18 2002-08-20 Kom Networks Inc. File-based virtual storage file system, method and computer program product for automated file management on multiple file system storage devices
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6366987B1 (en) * 1998-08-13 2002-04-02 Emc Corporation Computer data storage physical backup and logical restore
US6353878B1 (en) * 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
EP0981091B1 (en) * 1998-08-20 2008-03-19 Hitachi, Ltd. Data copying in storage systems
US6282671B1 (en) * 1998-11-10 2001-08-28 International Business Machines Corporation Method and system for improved efficiency of parity calculation in RAID system
US6311251B1 (en) * 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system
JP2000163290A (en) 1998-11-30 2000-06-16 Nec Home Electronics Ltd Data storing method
US6457098B1 (en) * 1998-12-23 2002-09-24 Lsi Logic Corporation Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6611897B2 (en) * 1999-03-22 2003-08-26 Hitachi, Ltd. Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data
US6415296B1 (en) * 1999-03-31 2002-07-02 International Business Machines Corporation Method and system for more efficiently providing a copy in a raid data storage system
US6721794B2 (en) 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US7000069B2 (en) * 1999-04-05 2006-02-14 Hewlett-Packard Development Company, L.P. Apparatus and method for providing very large virtual storage volumes using redundant arrays of disks
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
JP2001051882A (en) * 1999-08-04 2001-02-23 Fujitsu Ltd Snapshot referencing method and storage device
US6356969B1 (en) 1999-08-13 2002-03-12 Lsi Logic Corporation Methods and apparatus for using interrupt score boarding with intelligent peripheral device
JP3541744B2 (en) * 1999-08-30 2004-07-14 株式会社日立製作所 Storage subsystem and control method thereof
US6481255B2 (en) * 1999-09-01 2002-11-19 International Security Products, Inc. High security side bar lock
US6341331B1 (en) * 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
US6857058B1 (en) * 1999-10-04 2005-02-15 Intel Corporation Apparatus to map pages of disparate sizes and associated methods
US6816957B1 (en) 1999-10-26 2004-11-09 Storage Technology Corporation Management of virtual tape volumes using data page atomic units
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
US6904599B1 (en) * 1999-11-29 2005-06-07 Microsoft Corporation Storage management system having abstracted volume providers
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6341341B1 (en) 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
US6560615B1 (en) * 1999-12-17 2003-05-06 Novell, Inc. Method and apparatus for implementing a highly efficient, robust modified files list (MFL) for a storage system volume
US6584582B1 (en) 2000-01-14 2003-06-24 Sun Microsystems, Inc. Method of file system recovery logging
US6839827B1 (en) * 2000-01-18 2005-01-04 International Business Machines Corporation Method, system, program, and data structures for mapping logical blocks to physical blocks
US6826711B2 (en) * 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US6571310B1 (en) 2000-04-20 2003-05-27 International Business Machines Corporation Method and apparatus for managing a heterogeneous data storage system
KR20010098429A (en) * 2000-04-27 2001-11-08 포만 제프리 엘 System and method for multi-layer logical volume creation and management
JP3985430B2 (en) * 2000-06-02 2007-10-03 富士ゼロックス株式会社 Database management apparatus and method
US6779095B2 (en) * 2000-06-19 2004-08-17 Storage Technology Corporation Apparatus and method for instant copy of data using pointers to new and original data in a data location
US6804755B2 (en) 2000-06-19 2004-10-12 Storage Technology Corporation Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme
US6779094B2 (en) * 2000-06-19 2004-08-17 Storage Technology Corporation Apparatus and method for instant copy of data by writing new data to an additional physical storage area
US6665815B1 (en) * 2000-06-22 2003-12-16 Hewlett-Packard Development Company, L.P. Physical incremental backup using snapshots
US8281022B1 (en) 2000-06-30 2012-10-02 Emc Corporation Method and apparatus for implementing high-performance, scaleable data processing and storage systems
US6839864B2 (en) 2000-07-06 2005-01-04 Onspec Electronic Inc. Field-operable, stand-alone apparatus for media recovery and regeneration
JP4115093B2 (en) * 2000-07-06 2008-07-09 株式会社日立製作所 Computer system
US7093161B1 (en) 2002-08-16 2006-08-15 Onspec Electronic, Inc. Software recovery method for flash media with defective formatting
US6438638B1 (en) 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US6598130B2 (en) 2000-07-31 2003-07-22 Hewlett-Packard Development Company, L.P. Technique for referencing distributed shared memory locally rather than remotely
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6732125B1 (en) * 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
US20070245165A1 (en) 2000-09-27 2007-10-18 Amphus, Inc. System and method for activity or event based dynamic energy conserving server reconfiguration
US7058826B2 (en) * 2000-09-27 2006-06-06 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment
US7822967B2 (en) * 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US7228441B2 (en) 2000-09-27 2007-06-05 Huron Ip Llc Multi-server and multi-CPU power management system and method
US6591335B1 (en) * 2000-09-29 2003-07-08 Emc Corporation Fault tolerant dual cache system
US6604171B1 (en) * 2000-09-29 2003-08-05 Emc Corporation Managing a cache memory
US6618794B1 (en) * 2000-10-31 2003-09-09 Hewlett-Packard Development Company, L.P. System for generating a point-in-time copy of data in a data storage system
US6839802B2 (en) 2000-12-08 2005-01-04 International Business Machines Corporation Method, system, and program for writing files to zone formatted storage media to improve data transfer rates
JP2002182859A (en) 2000-12-12 2002-06-28 Hitachi Ltd Storage system and its utilizing method
US6745305B2 (en) * 2000-12-13 2004-06-01 Ncr Corporation Zeroed block optimization in disk mirroring applications
JP2002182860A (en) 2000-12-18 2002-06-28 Pfu Ltd Disk array unit
US6799258B1 (en) * 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6990667B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US20020174296A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Disk replacement via hot swapping with variable parity
US6990547B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
JP2002230945A (en) 2001-01-30 2002-08-16 Pioneer Electronic Corp Information recording and reproducing device, title information imparting method, and program recording medium having title information imparting procedure program recorded thereon
US7058788B2 (en) * 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
US20020129216A1 (en) * 2001-03-06 2002-09-12 Kevin Collins Apparatus and method for configuring available storage capacity on a network as a logical device
US6795895B2 (en) * 2001-03-07 2004-09-21 Canopy Group Dual axis RAID systems for enhanced bandwidth and reliability
US6510500B2 (en) * 2001-03-09 2003-01-21 International Business Machines Corporation System and method for minimizing message transactions for fault-tolerant snapshots in a dual-controller environment
US6904441B2 (en) * 2001-03-27 2005-06-07 Hewlett-Packard Development Company, L.P. Method and apparatus for providing file system access to a disk array
US6915241B2 (en) * 2001-04-20 2005-07-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for segmentation and identification of nonstationary time series
US6674598B2 (en) 2001-05-14 2004-01-06 Hitachi Global Technologies Radial positioning of data to improve hard disk drive reliability
US20060248360A1 (en) 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
US6915397B2 (en) * 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6915454B1 (en) * 2001-06-12 2005-07-05 Microsoft Corporation Web controls validation
JP4121255B2 (en) * 2001-06-12 2008-07-23 株式会社日立製作所 Cluster configuration storage system
US20020199129A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corp. Data storage on a computer disk array
US6948038B2 (en) * 2001-07-24 2005-09-20 Microsoft Corporation System and method for backing up and restoring data
KR100392382B1 (en) * 2001-07-27 2003-07-23 한국전자통신연구원 Method of The Logical Volume Manager supporting Dynamic Online resizing and Software RAID
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US6952701B2 (en) 2001-08-07 2005-10-04 Hewlett-Packard Development Company, L.P. Simultaneous array configuration and store assignment for a data storage system
US7092977B2 (en) * 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
US6636778B2 (en) * 2001-09-10 2003-10-21 International Business Machines Corporation Allocation of data storage drives of an automated data storage library
JP4972845B2 (en) * 2001-09-27 2012-07-11 富士通株式会社 Storage system
DE60232165D1 (en) * 2001-09-28 2009-06-10 Commvault Systems Inc SYSTEM AND METHOD FOR PRODUCING AND MANAGING FAST RECOVERY VOLUME
US6823436B2 (en) * 2001-10-02 2004-11-23 International Business Machines Corporation System for conserving metadata about data snapshots
US8046469B2 (en) * 2001-10-22 2011-10-25 Hewlett-Packard Development Company, L.P. System and method for interfacing with virtual storage
US7069468B1 (en) 2001-11-15 2006-06-27 Xiotech Corporation System and method for re-allocating storage area network resources
US7003688B1 (en) * 2001-11-15 2006-02-21 Xiotech Corporation System and method for a reserved memory area shared by all redundant storage controllers
US7043663B1 (en) * 2001-11-15 2006-05-09 Xiotech Corporation System and method to monitor and isolate faults in a storage area network
US6996741B1 (en) * 2001-11-15 2006-02-07 Xiotech Corporation System and method for redundant communication between redundant controllers
US6883065B1 (en) * 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
US7127633B1 (en) 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
US6877109B2 (en) * 2001-11-19 2005-04-05 Lsi Logic Corporation Method for the acceleration and simplification of file system logging techniques using storage device snapshots
JP2003162377A (en) * 2001-11-28 2003-06-06 Hitachi Ltd Disk array system and method for taking over logical unit among controllers
US7644136B2 (en) 2001-11-28 2010-01-05 Interactive Content Engines, Llc. Virtual file system
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
IL147073A0 (en) * 2001-12-10 2002-08-14 Monosphere Ltd Method for managing the storage resources attached to a data network
US7173929B1 (en) * 2001-12-10 2007-02-06 Incipient, Inc. Fast path for performing data operations
CN1602480A (en) 2001-12-10 2005-03-30 单球体有限公司 Managing storage resources attached to a data network
JP2003196127A (en) 2001-12-26 2003-07-11 Nippon Telegr & Teleph Corp <Ntt> Arrangement method for data
US7047358B2 (en) * 2001-12-26 2006-05-16 Boon Storage Technologies, Inc. High-performance log-structured RAID
US7111084B2 (en) * 2001-12-28 2006-09-19 Hewlett-Packard Development Company, L.P. Data storage network with host transparent failover controlled by host bus adapter
JP2003216460A (en) 2002-01-21 2003-07-31 Hitachi Ltd Hierarchical storage device and its controller
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US20030220929A1 (en) * 2002-01-22 2003-11-27 Columbia Data Products, Inc. Managing finite data storage utilizing preservation weights
US6829617B2 (en) 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US7093158B2 (en) 2002-03-11 2006-08-15 Hewlett-Packard Development Company, L.P. Data redundancy in a hot pluggable, large symmetric multi-processor system
US7251713B1 (en) 2002-03-18 2007-07-31 Xiotech Corporation System and method to transport data snapshots
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US6880052B2 (en) * 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
US6985995B2 (en) 2002-03-29 2006-01-10 Panasas, Inc. Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
JP2003316671A (en) 2002-04-19 2003-11-07 Hitachi Ltd Method for displaying configuration of storage network
US7085956B2 (en) * 2002-04-29 2006-08-01 International Business Machines Corporation System and method for concurrent logical device swapping
US7100080B2 (en) 2002-05-08 2006-08-29 Xiotech Corporation Write cache recovery after loss of power
US7162587B2 (en) * 2002-05-08 2007-01-09 Hiken Michael S Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy
US6912635B2 (en) 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
US7293196B2 (en) 2002-05-08 2007-11-06 Xiotech Corporation Method, apparatus, and system for preserving cache data of redundant storage controllers
US7197614B2 (en) * 2002-05-08 2007-03-27 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US20030212865A1 (en) 2002-05-08 2003-11-13 Hicken Michael S. Method and apparatus for flushing write cache data
US7181581B2 (en) * 2002-05-09 2007-02-20 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US7380113B2 (en) * 2002-05-17 2008-05-27 Xiotech Corporation Method for updating memory resident firmware as a background operation
US7216258B2 (en) * 2002-05-17 2007-05-08 Xiotech Corporation Method and apparatus for recovering from a non-fatal fault during background operations
US6898667B2 (en) 2002-05-23 2005-05-24 Hewlett-Packard Development Company, L.P. Managing data in a multi-level raid storage array
US6732171B2 (en) * 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US6751136B2 (en) 2002-06-17 2004-06-15 Lsi Logic Corporation Drive failure recovery via capacity reconfiguration
US6898668B2 (en) 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
US6938123B2 (en) * 2002-07-19 2005-08-30 Storage Technology Corporation System and method for raid striping
US6907505B2 (en) 2002-07-31 2005-06-14 Hewlett-Packard Development Company, L.P. Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US7383379B2 (en) 2002-08-07 2008-06-03 Hewlett-Packard Development Company, L.P. Manipulating data in a data storage device using an auxiliary memory device
US7032093B1 (en) * 2002-08-08 2006-04-18 3Pardata, Inc. On-demand allocation of physical storage for virtual volumes using a zero logical disk
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7107417B2 (en) * 2002-08-29 2006-09-12 International Business Machines Corporation System, method and apparatus for logical volume duplexing in a virtual tape system
US7191304B1 (en) * 2002-09-06 2007-03-13 3Pardata, Inc. Efficient and reliable virtual volume mapping
US7672226B2 (en) * 2002-09-09 2010-03-02 Xiotech Corporation Method, apparatus and program storage device for verifying existence of a redundant fibre channel path
US7076606B2 (en) 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
US6857057B2 (en) * 2002-10-03 2005-02-15 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7089395B2 (en) * 2002-10-03 2006-08-08 Hewlett-Packard Development Company, L.P. Computer systems, virtual storage systems and virtual storage system operational methods
US6996582B2 (en) * 2002-10-03 2006-02-07 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US6952794B2 (en) * 2002-10-10 2005-10-04 Ching-Hung Lu Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data
US6981114B1 (en) * 2002-10-16 2005-12-27 Veritas Operating Corporation Snapshot reconstruction from an existing snapshot and one or more modification logs
KR100439675B1 (en) * 2002-10-24 2004-07-14 한국전자통신연구원 An efficient snapshot technique for shated large storage
US7024526B2 (en) * 2002-10-31 2006-04-04 Hitachi, Ltd. Apparatus and method of null data skip remote copy
US7194653B1 (en) * 2002-11-04 2007-03-20 Cisco Technology, Inc. Network router failover mechanism
US6957294B1 (en) * 2002-11-15 2005-10-18 Unisys Corporation Disk volume virtualization block-level caching
US7134053B1 (en) 2002-11-22 2006-11-07 Apple Computer, Inc. Method and apparatus for dynamic performance evaluation of data storage systems
US7284016B2 (en) * 2002-12-03 2007-10-16 Emc Corporation Client-server protocol for directory access of snapshot file systems in a storage system
US6961815B2 (en) * 2002-12-05 2005-11-01 International Business Machines Corporation Multiple disk data storage system for reducing power consumption
US7263582B2 (en) * 2003-01-07 2007-08-28 Dell Products L.P. System and method for raid configuration
JP4283004B2 (en) * 2003-02-04 2009-06-24 株式会社日立製作所 Disk control device and control method of disk control device
US7320052B2 (en) 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
JP4651913B2 (en) 2003-02-17 2011-03-16 株式会社日立製作所 Storage system
US7231544B2 (en) * 2003-02-27 2007-06-12 Hewlett-Packard Development Company, L.P. Restoring data from point-in-time representations of the data
US7184933B2 (en) * 2003-02-28 2007-02-27 Hewlett-Packard Development Company, L.P. Performance estimation tool for data storage systems
JP2004272324A (en) 2003-03-05 2004-09-30 Nec Corp Disk array device
US6996688B2 (en) * 2003-03-11 2006-02-07 International Business Machines Corporation Method, system, and program for improved throughput in remote mirroring systems
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
JP4322031B2 (en) 2003-03-27 2009-08-26 株式会社日立製作所 Storage device
US7457982B2 (en) 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7124272B1 (en) 2003-04-18 2006-10-17 Symantec Corporation File usage history log for improved placement of files in differential rate memory according to frequency of utilizations and volatility of allocation space
JP2004348193A (en) * 2003-05-20 2004-12-09 Hitachi Ltd Information processing system and its backup method
JP3953986B2 (en) 2003-06-27 2007-08-08 株式会社日立製作所 Storage device and storage device control method
US6959313B2 (en) 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
US20050010731A1 (en) * 2003-07-08 2005-01-13 Zalewski Stephen H. Method and apparatus for protecting data against any category of disruptions
US7379954B2 (en) 2003-07-08 2008-05-27 Pillar Data Systems, Inc. Management of file system snapshots
JP4321705B2 (en) * 2003-07-29 2009-08-26 株式会社日立製作所 Apparatus and storage system for controlling acquisition of snapshot
US20050027938A1 (en) * 2003-07-29 2005-02-03 Xiotech Corporation Method, apparatus and program storage device for dynamically resizing mirrored virtual disks in a RAID storage system
US20120124285A1 (en) 2003-08-14 2012-05-17 Soran Philip E Virtual disk drive system and method with cloud-based storage media
CN101566931B (en) * 2003-08-14 2011-05-18 克姆佩棱特科技公司 Virtual disk drive system and method
US20120166725A1 (en) 2003-08-14 2012-06-28 Soran Philip E Virtual disk drive system and method with deduplication
US7287121B2 (en) 2003-08-27 2007-10-23 Aristos Logic Corporation System and method of establishing and reconfiguring volume profiles in a storage system
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US20050081086A1 (en) 2003-10-10 2005-04-14 Xiotech Corporation Method, apparatus and program storage device for optimizing storage device distribution within a RAID to provide fault tolerance for the RAID
US7133884B1 (en) * 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
TWI225596B (en) 2003-12-15 2004-12-21 Promise Technology Inc RAID and conversion thereof
US7103740B1 (en) 2003-12-31 2006-09-05 Veritas Operating Corporation Backup mechanism for a multi-class file system
JP4634049B2 (en) 2004-02-04 2011-02-16 株式会社日立製作所 Error notification control in disk array system
US7334156B2 (en) 2004-02-13 2008-02-19 Tandberg Data Corp. Method and apparatus for RAID conversion
JP4521206B2 (en) 2004-03-01 2010-08-11 株式会社日立製作所 Network storage system, command controller, and command control method in network storage system
US7409518B2 (en) 2004-05-21 2008-08-05 International Business Machines Corporation Method for improving disk space allocation
JP2006024024A (en) 2004-07-08 2006-01-26 Toshiba Corp Logical disk management method and device
US7702948B1 (en) * 2004-07-13 2010-04-20 Adaptec, Inc. Auto-configuration of RAID systems
US20060059306A1 (en) 2004-09-14 2006-03-16 Charlie Tseng Apparatus, system, and method for integrity-assured online raid set expansion
US7263583B2 (en) 2004-10-05 2007-08-28 International Business Machines Corporation On demand, non-capacity based process, apparatus and computer program to determine maintenance fees for disk data storage system
US7603532B2 (en) 2004-10-15 2009-10-13 Netapp, Inc. System and method for reclaiming unused space from a thinly provisioned data container
US7565569B2 (en) 2004-10-22 2009-07-21 International Business Machines Corporation Data protection in a mass storage system
US20060093282A1 (en) * 2004-10-29 2006-05-04 Christian Shepherd Method and apparatus for providing connector keying and identification for unidirectional fiber cables
WO2006053050A2 (en) 2004-11-08 2006-05-18 Commvault Systems, Inc. System and method for performing auxiliary storage operations
US20060161752A1 (en) 2005-01-18 2006-07-20 Burkey Todd R Method, apparatus and program storage device for providing adaptive, attribute driven, closed-loop storage management configuration and control
US20060161808A1 (en) 2005-01-18 2006-07-20 Burkey Todd R Method, apparatus and program storage device for providing intelligent copying for faster virtual disk mirroring
US7941602B2 (en) 2005-02-10 2011-05-10 Xiotech Corporation Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
US7574464B2 (en) 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
JP4671720B2 (en) 2005-03-11 2011-04-20 株式会社日立製作所 Storage system and data migration method
US20060218360A1 (en) 2005-03-22 2006-09-28 Burkey Todd R Method, apparatus and program storage device for providing an optimized read methodology for synchronously mirrored virtual disk pairs
US7305579B2 (en) 2005-03-22 2007-12-04 Xiotech Corporation Method, apparatus and program storage device for providing intelligent rebuild order selection
JP4920898B2 (en) 2005-03-24 2012-04-18 株式会社日立製作所 Computer system, data management method and program
US7904649B2 (en) 2005-04-29 2011-03-08 Netapp, Inc. System and method for restriping data across a plurality of volumes
US20060253669A1 (en) 2005-05-09 2006-11-09 Scott Lobdell Method and apparatus for providing a transportable storage area network
US7913038B2 (en) 2005-06-03 2011-03-22 Seagate Technology Llc Distributed storage system with accelerated striping
US7437507B2 (en) 2005-06-06 2008-10-14 Cisco Technology, Inc. Online restriping technique for distributed network based virtualization
JP4345979B2 (en) 2005-06-30 2009-10-14 富士通株式会社 RAID device, communication connection monitoring method, and program
JP2007233903A (en) 2006-03-03 2007-09-13 Hitachi Ltd Storage controller and data recovery method for storage controller
US7653832B2 (en) * 2006-05-08 2010-01-26 Emc Corporation Storage array virtualization using a storage block mapping protocol client and server
US7676514B2 (en) 2006-05-08 2010-03-09 Emc Corporation Distributed maintenance of snapshot copies by a primary processor managing metadata and a secondary processor providing read-write access to a production dataset
US20080091877A1 (en) 2006-05-24 2008-04-17 Klemm Michael J Data progression disk locality optimization system and method
US8046534B2 (en) 2006-10-26 2011-10-25 Hewlett-Packard Development Company, L.P. Managing snapshots in storage systems
US7873809B2 (en) 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
US7702662B2 (en) 2007-05-16 2010-04-20 International Business Machines Corporation Method and system for handling reallocated blocks in a file system
US7870409B2 (en) 2007-09-26 2011-01-11 Hitachi, Ltd. Power efficient data storage with data de-duplication
US20090132616A1 (en) 2007-10-02 2009-05-21 Richard Winter Archival backup integration
US8438333B2 (en) 2008-02-11 2013-05-07 Dell Products L.P. Systems and methods for automatically generating a mirrored storage configuration for a storage array
WO2010017439A1 (en) 2008-08-07 2010-02-11 Compellent Technologies System and method for transferring data between different raid data storage types for current data and replay data
US8606878B2 (en) 2011-02-28 2013-12-10 Red Hat, Inc. Systems and methods for de-populating cloud data store
US20120317337A1 (en) 2011-06-09 2012-12-13 Microsoft Corporation Managing data placement on flash-based storage by use

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03259320A (en) * 1990-03-08 1991-11-19 Nec Corp Striping area allocating system
JPH0573221A (en) * 1991-09-12 1993-03-26 Hitachi Ltd Magnetic tape controller
JPH0784839A (en) * 1993-06-14 1995-03-31 Internatl Business Mach Corp <Ibm> Data storage device
JPH09128305A (en) * 1995-10-30 1997-05-16 Hitachi Ltd External storage device
JP2000507014A (en) * 1996-03-19 2000-06-06 イーエムシー コーポレイション Multi-host decision support system
JPH11134117A (en) * 1997-10-31 1999-05-21 Toshiba Corp Computer system
JP2000132343A (en) * 1998-08-20 2000-05-12 Hitachi Ltd Storage device system
WO2000013077A2 (en) * 1998-09-01 2000-03-09 Siemens Aktiengesellschaft Method for storing data on a limited-capacity storage medium
JP2001337850A (en) * 2000-05-25 2001-12-07 Hitachi Ltd Storage and method for controlling the same
US20020112113A1 (en) * 2001-01-11 2002-08-15 Yotta Yotta, Inc. Storage virtualization system and methods
JP2002278819A (en) * 2001-03-21 2002-09-27 Toshiba Corp Generation management method for snap shot image, storage medium and generation management system
US20030009619A1 (en) * 2001-07-05 2003-01-09 Yoshiki Kano Automated on-line capacity expansion method for storage device
JP2003015915A (en) * 2001-07-05 2003-01-17 Hitachi Ltd Automatic expansion method for storage device capacity
JP2003050724A (en) * 2001-08-07 2003-02-21 Hitachi Ltd Method for operating storage and storage used for the same
JP2004538569A (en) * 2001-08-08 2004-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for accessing a tape device in a computer system
WO2003017909A2 (en) * 2001-08-31 2003-03-06 G-Intek Co., Ltd. Leg massage and exercise device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085882A (en) * 2012-10-24 2014-05-12 Nippon Telegr & Teleph Corp <Ntt> Information processor, storage server, storage system, backup method, and backup program

Also Published As

Publication number Publication date
US20090089504A1 (en) 2009-04-02
US7962778B2 (en) 2011-06-14
US7404102B2 (en) 2008-07-22
US8473776B2 (en) 2013-06-25
US8020036B2 (en) 2011-09-13
US20110258384A1 (en) 2011-10-20
US20070234111A1 (en) 2007-10-04
US8321721B2 (en) 2012-11-27
US8560880B2 (en) 2013-10-15
CN101566931A (en) 2009-10-28
US20050055603A1 (en) 2005-03-10
US20150301751A1 (en) 2015-10-22
US8555108B2 (en) 2013-10-08
US20110078119A1 (en) 2011-03-31
US20110258388A1 (en) 2011-10-20
US20140040546A1 (en) 2014-02-06
WO2005017737A3 (en) 2006-02-23
JP2011018363A (en) 2011-01-27
CN101566931B (en) 2011-05-18
JP2010272138A (en) 2010-12-02
US7945810B2 (en) 2011-05-17
US7574622B2 (en) 2009-08-11
US7493514B2 (en) 2009-02-17
US20100050013A1 (en) 2010-02-25
US20090300412A1 (en) 2009-12-03
US7613945B2 (en) 2009-11-03
US9436390B2 (en) 2016-09-06
US20140108858A1 (en) 2014-04-17
US7849352B2 (en) 2010-12-07
US20090132617A1 (en) 2009-05-21
US20160357446A1 (en) 2016-12-08
US20090138755A1 (en) 2009-05-28
US20110258385A1 (en) 2011-10-20
JP5260610B2 (en) 2013-08-14
WO2005017737A8 (en) 2005-04-14
US10067712B2 (en) 2018-09-04
US20070234110A1 (en) 2007-10-04
JP2011054180A (en) 2011-03-17
US9047216B2 (en) 2015-06-02
US20070180306A1 (en) 2007-08-02
WO2005017737A2 (en) 2005-02-24
US7398418B2 (en) 2008-07-08
EP1668486A2 (en) 2006-06-14
JP2007502470A (en) 2007-02-08
HK1093481A1 (en) 2007-03-02
US9021295B2 (en) 2015-04-28
US20070234109A1 (en) 2007-10-04
US7941695B2 (en) 2011-05-10

Similar Documents

Publication Publication Date Title
JP5260610B2 (en) Virtual disk drive system and method
US9489150B2 (en) System and method for transferring data between different raid data storage types for current data and replay data
EP2385459A2 (en) Virtual disk drive system and method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121206