JP2011253467A - 記憶装置及びその制御プログラム - Google Patents

記憶装置及びその制御プログラム Download PDF

Info

Publication number
JP2011253467A
JP2011253467A JP2010128327A JP2010128327A JP2011253467A JP 2011253467 A JP2011253467 A JP 2011253467A JP 2010128327 A JP2010128327 A JP 2010128327A JP 2010128327 A JP2010128327 A JP 2010128327A JP 2011253467 A JP2011253467 A JP 2011253467A
Authority
JP
Japan
Prior art keywords
data
new
raid
storage medium
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010128327A
Other languages
English (en)
Other versions
JP5521794B2 (ja
Inventor
Satoru Goto
悟 後藤
Yukihito Hara
幸人 原
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.)
Buffalo Inc
Original Assignee
Buffalo 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 Buffalo Inc filed Critical Buffalo Inc
Priority to JP2010128327A priority Critical patent/JP5521794B2/ja
Priority to CN2011101509689A priority patent/CN102270103A/zh
Priority to US13/151,760 priority patent/US20110302369A1/en
Publication of JP2011253467A publication Critical patent/JP2011253467A/ja
Application granted granted Critical
Publication of JP5521794B2 publication Critical patent/JP5521794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1004Adaptive RAID, i.e. RAID system adapts to changing circumstances, e.g. RAID1 becomes RAID5 as disks fill up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1061Parity-single bit-RAID4, i.e. RAID 4 implementations

Abstract

【課題】RAID3又は4以外のRAIDモードにも対応可能であり、既存の各記憶媒体に記憶された内容を保持しつつRAIDモードを変更可能な記憶装置を提供する。
【解決手段】本発明に係るRAID対応NAS100は、新たなHDD4がディスクアレイ170に追加された場合に、ディスクアレイ170を構成する既存の各HDD1〜3に記憶されているデータに対応する誤り訂正符号を新たなHDD4に記憶させる。また、RAID対応NAS100は、新たなHDD4の追加後に新たなデータをディスクアレイ170に記憶させる場合に、新たなデータと当該新たなデータに対応する誤り訂正符号とを既存の各HDD1〜3及び新たなHDD4に分散させて記憶させる。
【選択図】図2

Description

本発明は、RAID技術が適用される記憶装置及びその制御プログラムに関する。
HDD(Hard Disk Drive)等の記憶媒体を複数使用して信頼性の高い記憶装置を構成可能な技術であるRAID(Redundant Arrays of Inexpensive Disks)が普及している。RAID技術では、複数の記憶媒体が論理的な1つの記憶部(いわゆる、ディスクアレイ)として取り扱われる。
RAIDの冗長度及びデータ配置(以下、「RAIDモード」と称する)は、主に、記憶媒体の数により決定され、2つ以上であればRAID1が、3つ以上であればRAID3、4又は5が、4つ以上であればRAID6がそれぞれ可能になる。
RAID1は、同一のデータを各記憶媒体に記憶させるものである。RAID3又は4は、1つの記憶媒体を誤り訂正符号専用の記憶媒体(以下、誤り訂正専用記憶媒体)とし、残りの各記憶媒体にデータを分散して記憶するものである。RAID5又は6は、誤り訂正専用記憶媒体を設けずに、データ及び誤り訂正符号を各記憶媒体に分散して記憶するものである。なお、各RAIDモードは公知の技術であるため、各RAIDモードの詳細については説明を省略する。
RAIDモードを変更する場合には、一般的に、ディスクアレイを構成する各記憶媒体に記憶されているデータを待避した後に書き戻す作業が必要になる。このような作業は、テラバイト級の記憶装置では、データのコピー/移動に掛かる時間や、データの整合性確認に莫大な時間及び労力を要する。
一方で、RAID3又は4が適用されたディスクアレイに新たな記憶媒体を追加する際に、ディスクアレイの既存の各記憶媒体の内容を保持することが可能な手法が提案されている(特許文献1参照)。当該手法においては、当該新たな記憶媒体に記憶させる初期データを、誤り訂正符号に影響を与えない値としてゼロとすることで、誤り訂正符号を再計算する作業を省略可能にしている。
特開2006−244513号公報
特許文献1に記載の手法は、既存の各記憶媒体に記憶された内容を保持しつつ、RAID3又は4が適用されたディスクアレイを構成する記憶媒体の数を増やすことができるものの、以下のような問題がある。
第1に、特許文献1に記載の手法は、新たな記憶媒体が追加された後においても、RAIDモードはRAID3又は4のままであり、異なるRAIDモードへ移行できないという問題があった。
第2に、特許文献1に記載の手法は、誤り訂正専用記憶媒体を設けることを前提としているため、RAID3又は4以外のRAIDモードに対応できないという問題があった。
ここで、RAID3又は4は、データ更新の度に誤り訂正専用記憶媒体へのアクセスが発生するため、誤り訂正専用記憶媒体へのアクセスが動作のボトルネックになる問題がある。
そこで、本発明は、RAID3又は4以外のRAIDモードにも対応可能であり、既存の各記憶媒体に記憶された内容を保持しつつRAIDモードを変更可能な記憶装置及びその制御プログラムを提供することを目的とする。
上述した課題を解決するために、本発明は以下のような特徴を有している。まず、本発明に係る記憶装置の特徴は、記憶媒体(例えばHDD)を複数用いて構成される記憶部(例えばディスクアレイ170)と、前記記憶部を制御する制御部(例えばプロセッサ110)とを具備する記憶装置(例えばRAID対応NAS100)であって、前記制御部は、新たな記憶媒体が前記記憶部に追加された場合に、前記記憶部を構成する既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を前記新たな記憶媒体に記憶させ、前記新たな記憶媒体の追加後に新たなデータを前記記憶部に記憶させる場合に、前記新たなデータと前記新たなデータに対応する誤り訂正符号とを前記既存の各記憶媒体及び前記新たな記憶媒体に分散させて記憶させることを要旨とする。
このような特徴によれば、制御部は、新たな記憶媒体が記憶部に追加された場合に、記憶部を構成する既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を新たな記憶媒体に記憶させる。このように、新たな記憶媒体に記憶させるデータを、既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号とすることで、既存の各記憶媒体に記憶されている内容を保持することできる。したがって、新たな記憶媒体が記憶部に追加される前のRAIDモードとしては、RAID1やRAID5等の様々なRAIDモードが利用できる。
また、制御部は、新たな記憶媒体の追加後に新たなデータを記憶部に記憶させる場合に、新たなデータと新たなデータに対応する誤り訂正符号とを既存の各記憶媒体及び新たな記憶媒体に分散させて記憶させる。すなわち、新たな記憶媒体の追加後においてはRAID5又は6で運用できる。RAID5又は6は、RAID3又は4のボトルネックの問題を回避でき、RAID3又は4よりも書き込み性能を向上させることができる。
したがって、上記の特徴によれば、RAID3又は4以外のRAIDモードにも対応可能であり、既存の各記憶媒体に記憶された内容を保持しつつRAIDモードを変更可能な記憶装置を提供できる。
本発明に係る記憶装置の他の特徴は、上記の特徴に係る記憶装置に係り、前記制御部は、前記新たな記憶媒体の追加前において、データ及び誤り訂正符号を分散させた状態で前記既存の各記憶媒体に記憶させることを要旨とする。
本発明に係る記憶装置の他の特徴は、上記の特徴に係る記憶装置に係り、前記制御部は、前記新たな記憶媒体の追加後において、前記新たな記憶媒体が前記記憶部に追加される前よりも誤り訂正符号の種類を増加させつつ、データ及び誤り訂正符号を分散させた状態で前記既存の各記憶媒体及び前記新たな記憶媒体に記憶させることを要旨とする。
本発明に係る記憶装置の他の特徴は、上記の特徴に係る記憶装置に係り、前記制御部は、前記新たな記憶媒体の追加前において、同一のデータを前記既存の各記憶媒体に記憶させることを要旨とする。
本発明に係る記憶装置の他の特徴は、上記の特徴に係る記憶装置に係り、前記制御部は、前記新たな記憶媒体の追加後において、データ及び誤り訂正符号を分散させた状態で前記既存の各記憶媒体及び前記新たな記憶媒体に記憶させることを要旨とする。
本発明に係る記憶装置の他の特徴は、上記の特徴に係る記憶装置に係り、前記制御部は、前記新たな記憶媒体が前記記憶部に追加された場合であって、且つユーザからの所定の操作を受け付けた場合に、前記既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を前記新たな記憶媒体に記憶させることを要旨とする。
本発明に係る制御プログラムの特徴は、記憶媒体を複数用いて構成される記憶部を具備する記憶装置に、新たな記憶媒体が前記記憶部に追加された場合に、前記記憶部を構成する既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を前記新たな記憶媒体に記憶させる手順と、前記新たな記憶媒体の追加後に新たなデータを前記記憶部に記憶させる場合に、前記新たなデータと前記新たなデータに対応する誤り訂正符号とを前記既存の各記憶媒体及び前記新たな記憶媒体に分散させて記憶させる手順とを実行させることを要旨とする。
本発明によれば、RAID3又は4以外のRAIDモードにも対応可能であり、既存の各記憶媒体に記憶された内容を保持しつつRAIDモードを変更可能な記憶装置及びその制御プログラムを提供できる。
本発明の第1実施形態及び第2実施形態に係るRAID対応NASを含む通信システムの全体概略構成図である。 本発明の第1実施形態に係るRAID対応NASの概略ハードウェア構成図である。 本発明の第1実施形態に係るRAID対応NASの概略ソフトウェア構成図である。 本発明の第1実施形態に係る、新たなHDDの追加時の動作を説明するための動作説明図である。 本発明の第1実施形態に係る、新たなHDDの追加後のデータ書き込み動作を説明するための動作説明図である。 本発明の第2実施形態に係るRAID対応NASの概略ハードウェア構成図である。 本発明の第2実施形態に係る、新たなHDDの追加時の動作を説明するための動作説明図である。 本発明の第2実施形態に係る、新たなHDDの追加後のデータ書き込み動作を説明するための動作説明図である。
図面を参照して、本発明の記憶装置の実施形態であるRAID対応NAS(Network Attached Storage)を説明する。以下の各実施形態における図面において、同一又は類似の部分には同一又は類似の符号を付す。
以下の各実施形態に係るRAID対応NASは、記憶媒体としてのHDD(Hard Disk Drive)を複数用いて、記憶部としてのディスクアレイを構成する。ただし、記憶媒体としては、HDDに限らず、不揮発性半導体メモリを用いて構成されるSSD(Solid State Drive)や、光学ドライブを使用してもよい。
(1)第1実施形態
第1実施形態においては、(1.1)RAID対応NASの概略構成、(1.2)RAID対応NASの詳細構成、(1.3)RAID5からRAID6への移行動作、(1.4)作用・効果の順に説明する。
(1.1)RAID対応NASの概略構成
図1は、本実施形態に係るRAID対応NAS100を含む通信システムの全体概略構成図である。
図1に示すように、RAID対応NAS100は、LAN(Local Area Network)等のネットワーク20に接続される。
クライアント端末10は、PC(Personal Computer)又はネットワーク対応テレビ等であり、ネットワーク20に接続される。クライアント端末10は、ネットワーク20を介してRAID対応NAS100とのデータ通信を行う。
RAID対応NAS100は、クライアント端末10からネットワーク20を介して受信したデータを記憶する。
第1実施形態に係るRAID対応NAS100は、少なくともRAID5及びRAID6をサポートする。RAID5は、1種類の誤り訂正符号をデータとともに複数のHDDに分散して記憶させるRAIDモードである。RAID6は、2種類の誤り訂正符号をデータとともに複数のHDDに分散して記憶させるRAIDモードである。
(1.2)RAID対応NASの詳細構成
次に、図2及び図3を用いて、RAID対応NAS100の詳細構成について説明する。
(1.2.1)ハードウェア構成
図2は、第1実施形態に係るRAID対応NAS100の概略ハードウェア構成図である。第1実施形態に係るRAID対応NAS100は、HDDが着脱可能に構成されており、最大で4つのHDDを装着可能である。
図2に示すように、第1実施形態に係るRAID対応NAS100は、プロセッサ110、メモリ120、通信部130、通知部140、電源スイッチ151、操作ボタン152、HDD I/F161、HDD I/F162、HDD I/F163、及びHDD I/F164を有する。
プロセッサ110は、メモリ120、通信部130、通知部140、電源スイッチ151、操作ボタン152、及びHDD I/F161〜HDD I/F164と電気的に接続されており、RAID対応NAS100全体を制御する。プロセッサ110は、制御部に相当する。
メモリ120は、例えば不揮発性半導体メモリを用いて構成される。メモリ120は、プロセッサ110によって実行される制御プログラム等を記憶するとともに、プロセッサ110のワークエリアとして使用される。
通信部130は、ネットワーク20に接続される。通信部130は、プロセッサ110の制御下で、HDDから読み出されたデータ、及び、HDDに書き込むデータをネットワーク20を介して送受信する。通信部130は、プロセッサ110の制御下で、ユーザ操作の内容を示す情報(コマンド)をネットワーク20を介してクライアント端末10から受信する。
通知部140は、例えば液晶ディスプレイやLED(Light Emitting Diode)を用いて構成される。通知部140は、プロセッサ110の制御下で、ユーザに対する各種の通知を行う。
電源スイッチ151は、ユーザによって操作され、RAID対応NAS100の電源のONとOFFとを切り替えるためのものである。操作ボタン152は、後述するRAID移行の開始を指示するために使用される。
HDD I/F161〜HDD I/F164のそれぞれは、例えばSATA(Serial ATA)インタフェースである。HDD1〜HDD4は、HDD I/F161〜HDD I/F164にそれぞれ接続される。
図2に示す状態では、HDD1〜HDD3がHDD I/F161〜HDD I/F163にそれぞれ接続された状態であり、HDD1〜HDD3を用いてディスクアレイ170が構成される。
第1実施形態では、プロセッサ110は、HDD4がHDD I/F164に接続されるまでは、HDD1〜HDD3を用いて構成されるディスクアレイ170をRAID5で運用するよう制御する。
その後、HDD4がHDD I/F164に接続されると、プロセッサ110は、HDD1〜HDD4を用いて構成されるディスクアレイ170をRAID6で運用するよう制御する。
(1.2.2)ソフトウェア構成
図3は、RAID対応NAS100の概略ソフトウェア構成図である。
図3に示すように、プロセッサ110は、RAID機能部111及びシステム制御部112のそれぞれの機能を実行する。RAID機能部111は、誤り訂正符号の計算や欠損したデータの復元等、RAIDモードに応じた制御を行う。システム制御部112は、RAIDモードの変更等、RAID対応NAS100全体に係る制御を行う。このように、RAID対応NAS100は、ソフトウェアRAIDによってRAIDを実現する。
第1実施形態において、プロセッサ110は、RAID5からRAID6への移行動作を制御する。以下において、RAID5からRAID6への移行動作について説明する。
(1.3)RAID5からRAID6への移行動作
RAID5からRAID6への移行について、(1.3.1)新たなHDD追加時の動作、(1.3.2)新たなHDD追加後のデータ書き込み動作の順に説明する。
(1.3.1)新たなHDD追加時の動作
図4は、新たなHDD追加時の動作を説明するための動作説明図である。
図4(a)に示すように、新たなHDD4がディスクアレイ170に追加される前において、プロセッサ110は、RAID5に従ったデータ書き込みを行う。すなわち、プロセッサ110は、データ及び当該データに対応する1種類の誤り訂正符号を分散させた状態で既存の各HDD1〜3に記憶させる。
図4(a)の例では、プロセッサ110は、データAをHDD1に記憶させ、データBをHDD2に記憶させ、データA,Bに対応する誤り訂正符号P A,BをHDD3に記憶させる。
また、プロセッサ110は、データCをHDD1に記憶させ、データDをHDD3に記憶させ、データC、Dに対応する誤り訂正符号P C,DをHDD2に記憶させる。
さらに、プロセッサ110は、データEをHDD2に記憶させ、データFをHDD3に記憶させ、データE,Fに対応する誤り訂正符号P E,FをHDD1に記憶させる。
例えば、誤り訂正符号P A,Bは、データA,Bの排他的論理和であり、誤り訂正符号P C,Dは、データC,Dの排他的論理和であり、誤り訂正符号P E,Fは、データE,Fの排他的論理和である。
新たなHDD4がHDD I/F164に接続された場合、プロセッサ110は、HDD I/F164へのHDD4の接続を検出する。そして、プロセッサ110は、RAID6への移行が可能である旨を通知するよう通知部140を制御する。その後、RAID6への移行を指示する旨のユーザからの操作を操作ボタン152が受け付けると、プロセッサ110は、当該操作を検出する。
HDD4の接続を検出し、且つRAID6への移行を指示する旨の操作を検出した場合、プロセッサ110は、図4(b)に示すように、既存の各HDD1〜3に記憶されているデータに対応する誤り訂正符号を生成し、生成した誤り訂正符号を新たなHDD4に記憶させる。
このとき生成される誤り訂正符号は、既存の各HDD1〜3に記憶されている誤り訂正符号とは異なる種類の誤り訂正符号(すなわち、異なる計算方法で得られる誤り訂正符号)である。
図4(b)の例では、プロセッサ110は、データA,Bに対応する誤り訂正符号P A,BをHDD4に記憶させ、データC、Dに対応する誤り訂正符号P C,DをHDD4に記憶させ、データE,Fに対応する誤り訂正符号P E,FをHDD4に記憶させる。
例えば、誤り訂正符号P A,Bは、データA,Bのリードソロモン符号であり、誤り訂正符号P C,Dは、データC,Dのリードソロモン符号であり、誤り訂正符号P E,Fは、データE,Fのリードソロモン符号である。
このようにして、RAID5からRAID6への移行が開始される。ただし、この時点では、HDD4は誤り訂正符号用の記憶媒体となっている。
(1.3.2)新たなHDD追加後のデータ書き込み動作
図5は、新たなHDD追加後のデータ書き込み動作を説明するための動作説明図である。
図5に示すように、新たなHDD4の追加後に新たなデータをディスクアレイ170に記憶させる場合、プロセッサ110は、当該新たなデータに対応する2種類の誤り訂正符号を生成し、当該新たなデータと当該2種類の誤り訂正符号とを、既存の各HDD1〜3及び新たなHDD4に分散させて記憶させる。
図5の例では、プロセッサ110は、データGをHDD1に記憶させ、データHをHDD2に記憶させ、データG,Hに対応する誤り訂正符号P G,HをHDD3に記憶させ、データG,Hに対応する誤り訂正符号P G,HをHDD4に記憶させる。例えば、誤り訂正符号P G,Hは、データG,Hの排他的論理和であり、誤り訂正符号P G,Hは、データG,Hのリードソロモン符号である。
また、プロセッサ110は、データIをHDD1に記憶させ、データJをHDD4に記憶させ、データI,Jに対応する誤り訂正符号P I,JをHDD2に記憶させ、データI,Jに対応する誤り訂正符号P I,JをHDD3に記憶させる。例えば、誤り訂正符号P I,Jは、データI,Jの排他的論理和であり、誤り訂正符号P I,Jは、データI,Jのリードソロモン符号である。
さらに、プロセッサ110は、データKをHDD3に記憶させ、データLをHDD4に記憶させ、データK,Lに対応する誤り訂正符号P K,LをHDD1に記憶させ、データK,Lに対応する誤り訂正符号P K,LをHDD2に記憶させる。例えば、誤り訂正符号P K,Lは、データK,Lの排他的論理和であり、誤り訂正符号P K,Lは、データK,Lのリードソロモン符号である。
このようにして、HDD4は誤り訂正符号だけでなくデータも記憶する記憶媒体となる。その結果、データ更新の度にHDD4へのアクセスが発生することを回避できるようになる。
(1.4)作用・効果
以上説明したように、第1実施形態によれば、RAID対応NAS100は、新たなHDD4がディスクアレイ170に追加された場合に、RAID5で運用されているディスクアレイ170の各HDD1〜3に記憶されているデータに対応する誤り訂正符号を、新たなHDD4に記憶させる。このように、新たなHDD4に記憶させる初期データを、既存の各HDD1〜3に記憶されているデータに対応する誤り訂正符号とすることで、既存の各HDD1〜3に記憶されているデータ及び誤り訂正符号を保持できる。
また、プロセッサ110は、新たなHDD4の追加後に新たなデータをディスクアレイ170に記憶させる場合に、新たなデータと当該新たなデータに対応する2種類の誤り訂正符号とを、既存の各HDD1〜3及び新たなHDD4に分散させて記憶させる。これにより、新たなHDD4の追加後においてディスクアレイ170をRAID6で運用できる。
その結果、既存の各HDD1〜3に記憶されているデータ及び誤り訂正符号を保持しつつ、RAID5からRAID6への移行を行うことができる。また、既存の各HDD1〜3に記憶されているデータ及び誤り訂正符号を保持できるため、移行中においてもディスクアレイ170へのアクセスが可能であり、システムとしてのダウンタイムを最小化することもできる。
第1実施形態では、プロセッサ110は、新たなHDD4がディスクアレイ170に追加された場合であって、且つユーザからRAID6への移行操作を受け付けた場合に、RAID6への移行を開始する。このように、新たなHDD4がディスクアレイ170に追加されても、ユーザからRAID6への移行操作を受け付けるまではRAID6へ移行しないよう制御することで、ユーザが意図せずRAID5からRAID6へ移行してしまうことを回避できる。
(2)第2実施形態
第2実施形態では、RAID1からRAID5への移行を説明する。
以下において、第2実施形態について、(2.1)RAID対応NASの詳細構成、(2.2)RAID1からRAID5への移行動作、(2.3)作用・効果の順に説明する。ただし、第1実施形態と異なる点を主として説明し、重複する説明は省略する。
(2.1)RAID対応NASの詳細構成
図6は、第2実施形態に係るRAID対応NAS100の概略ハードウェア構成図である。
図6に示すように、第2実施形態に係るRAID対応NAS100は、HDD I/F161〜HDD I/F163を有し、最大で3つのHDDを装着可能に構成される。ただし、4つ以上のHDDを装着可能に構成されてもよい。
第2実施形態に係るRAID対応NAS100は、少なくともRAID1及びRAID5をサポートする。RAID1は、同一のデータを複数のHDDに記憶させるRAIDモードである。RAID5は、1種類の誤り訂正符号をデータとともに複数のHDDに分散して記憶させるRAIDモードである。
図6に示す状態では、HDD1,2がHDD I/F161,162にそれぞれ接続された状態であり、HDD1,2を用いてディスクアレイ170が構成される。第2実施形態において、プロセッサ110は、HDD3がHDD I/F163に接続されるまでは、HDD1,2を用いて構成されるディスクアレイ170をRAID1で運用するよう制御する。
その後、HDD3がHDD I/F163に接続されると、プロセッサ110は、HDD1〜HDD3を用いて構成されるディスクアレイ170をRAID5で運用するよう制御する。以下において、RAID1からRAID5への移行動作について説明する。
(2.2)RAID1からRAID5への移行動作
RAID1からRAID5への移行動作について、(2.2.1)新たなHDD追加時の動作、(2.2.2)新たなHDD追加後のデータ書き込み動作の順に説明する。
(2.2.1)新たなHDD追加時の動作
図7は、新たなHDD追加時の動作を説明するための動作説明図である。
図7(a)に示すように、新たなHDD3がディスクアレイ170に追加される前において、プロセッサ110は、RAID1に従ったデータ書き込みを行う。すなわち、プロセッサ110は、同一のデータを既存の各HDD1,2に記憶させる。
図7(a)の例では、プロセッサ110は、データA,A’をHDD1及びHDD2にそれぞれ記憶させ、データB,B’をHDD1及びHDD2にそれぞれ記憶させ、データC,C’をHDD1及びHDD2にそれぞれ記憶させる。
新たなHDD3がHDD I/F163に接続された場合、プロセッサ110は、HDD I/F163へのHDD3の接続を検出する。そして、プロセッサ110は、RAID5への移行が可能である旨を通知するよう通知部140を制御する。その後、RAID5への移行を指示する旨のユーザからの操作を操作ボタン152が受け付けると、プロセッサ110は、当該操作を検出する。
HDD3の接続を検出し、且つRAID5への移行を指示する旨の操作を検出した場合、プロセッサ110は、図7(b)に示すように、既存の各HDD1,2に記憶されているデータに対応する誤り訂正符号を生成し、生成した誤り訂正符号を新たなHDD3に記憶させる。
図7(b)の例では、プロセッサ110は、データA,A’に対応する誤り訂正符号PA,A’をHDD3に記憶させ、データB,B’に対応する誤り訂正符号PB,B’をHDD3に記憶させ、データC,C’に対応する誤り訂正符号PC,C’をHDD3に記憶させる。
例えば、誤り訂正符号PA,A’はデータA,A’の排他的論理和であり、誤り訂正符号PB,B’はデータB,B’の排他的論理和であり、誤り訂正符号PC,C’はデータC,C’の排他的論理和である。
このようにして、RAID1からRAID5への移行が開始される。ただし、この時点では、HDD3は誤り訂正符号用の記憶媒体となっている。
(2.2.2)新たなHDD追加後のデータ書き込み動作
図8は、新たなHDD追加後のデータ書き込み動作を説明するための動作説明図である。
図8に示すように、新たなHDD3の追加後に新たなデータをディスクアレイ170に記憶させる場合、プロセッサ110は、当該新たなデータに対応する1種類の誤り訂正符号を生成し、当該新たなデータと当該1種類の誤り訂正符号とを、既存の各HDD1,2及び新たなHDD3に分散させて記憶させる。
図8の例では、プロセッサ110は、データDをHDD1に記憶させ、データEをHDD2に記憶させ、データD,Eに対応する誤り訂正符号PD,EをHDD3に記憶させる。例えば、誤り訂正符号PD,Eは、データD,Eの排他的論理和である。
また、プロセッサ110は、データFをHDD1に記憶させ、データGをHDD3に記憶させ、データF,Gに対応する誤り訂正符号PF,GをHDD2に記憶させる。例えば、誤り訂正符号PF,Gは、データF,Gの排他的論理和である。
さらに、プロセッサ110は、データHをHDD2に記憶させ、データIをHDD3に記憶させ、データH,Iに対応する誤り訂正符号PH,IをHDD1に記憶させる。例えば、誤り訂正符号PH,Iは、データH,Iの排他的論理和である。
このようにして、HDD3は誤り訂正符号だけでなくデータも記憶する記憶媒体となる。その結果、データ更新の度にHDD3へのアクセスが発生することを回避できるようになる。
(2.3)作用・効果
以上説明したように、第2実施形態によれば、RAID対応NAS100は、新たなHDD3がディスクアレイ170に追加された場合に、RAID1で運用されているディスクアレイ170を構成する既存の各HDD1,2に記憶されているデータに対応する誤り訂正符号を新たなHDD3に記憶させる。このように、新たなHDD3がディスクアレイ170に追加された場合に、新たなHDD3に記憶させる初期データを、既存の各HDD1,2に記憶されているデータに対応する誤り訂正符号とすることで、既存の各HDD1,2に記憶されているデータを保持することできる。
また、プロセッサ110は、新たなHDD3の追加後に新たなデータをディスクアレイ170に記憶させる場合に、新たなデータと当該新たなデータに対応する1種類の誤り訂正符号とを既存の各HDD1,2及び新たなHDD3に分散させて記憶させる。すなわち、新たなHDD3の追加後においてディスクアレイ170をRAID5で運用できる。
その結果、既存の各HDD1,2に記憶されているデータを保持しつつ、RAID1からRAID5への移行を行うことができる。また、既存の各HDD1,2に記憶されているデータを保持できるため、移行中においてもディスクアレイ170へのアクセスが可能であり、システムとしてのダウンタイムを最小化することもできる。
第2実施形態では、プロセッサ110は、新たなHDD3がディスクアレイ170に追加された場合であって、且つユーザからRAID5への移行操作を受け付けた場合に、RAID5への移行を開始する。このように、新たなHDD3がディスクアレイ170に追加されても、ユーザからRAID5への移行操作を受け付けるまではRAID5へ移行しないよう制御することで、ユーザが意図せずRAID1からRAID5へ移行してしまうことを回避できる。
(3)その他の実施形態
上記のように、本発明は各実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
上述した第1実施形態においては、RAID5からRAID6への移行を説明し、第2実施形態においては、RAID1からRAID5への移行を説明した。しかしながら、RAID5からRAID6への移行、RAID1からRAID5への移行に限らず、他のRAIDモード間についての移行に本発明に係る技術思想を適用してもよい。
上述した各実施形態においては、ソフトウェアRAIDによってRAIDを実現する一例を説明したが、RAID専用ICを使用するハードウェアRAIDによってRAIDを実現してもよい。この場合、RAID専用IC及びプロセッサは、制御部を構成する。
上述した各実施形態においては、通知部140は液晶ディスプレイやLEDを用いて構成されると説明したが、音声による通知を行う構成としてもよい。さらに、ネットワーク20を介してクライアント端末10上で通知を行う場合には、通信部130が通知部140の一部を構成することになる。上述した各実施形態では、操作ボタン152は、機械式の押ボタンであると説明したが、ユーザ操作を受け付け可能であればよく、タッチパネル等であってもよい。
なお、上述した実施形態では、本発明の記憶装置の一実施形態としてのRAID対応NAS100を説明したが、RAID対応NAS100に限らず、USB(Universal Serial Bus)接続型の記憶装置、大型のファイルサーバ、又はPCサーバ等の他の記憶装置に本発明を適用してもよい。
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
1〜4…HDD、10…クライアント端末、20…ネットワーク、100…RAID対応NAS、110…プロセッサ、111…RAID機能部、112…システム制御部、120…メモリ、130…通信部、140…通知部、151…電源スイッチ、152…操作ボタン、170…ディスクアレイ

Claims (7)

  1. 記憶媒体を複数用いて構成される記憶部と、
    前記記憶部を制御する制御部とを具備する記憶装置であって、
    前記制御部は、
    新たな記憶媒体が前記記憶部に追加された場合に、前記記憶部を構成する既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を前記新たな記憶媒体に記憶させ、
    前記新たな記憶媒体の追加後に新たなデータを前記記憶部に記憶させる場合に、前記新たなデータと前記新たなデータに対応する誤り訂正符号とを前記既存の各記憶媒体及び前記新たな記憶媒体に分散させて記憶させることを特徴とする記憶装置。
  2. 前記制御部は、前記新たな記憶媒体の追加前において、データ及び誤り訂正符号を分散させた状態で前記既存の各記憶媒体に記憶させることを特徴とする請求項1に記載の記憶装置。
  3. 前記制御部は、前記新たな記憶媒体の追加後において、前記新たな記憶媒体が前記記憶部に追加される前よりも誤り訂正符号の種類を増加させつつ、データ及び誤り訂正符号を分散させた状態で前記既存の各記憶媒体及び前記新たな記憶媒体に記憶させることを特徴とする請求項2に記載の記憶装置。
  4. 前記制御部は、前記新たな記憶媒体の追加前において、同一のデータを前記既存の各記憶媒体に記憶させることを特徴とする請求項1に記載の記憶装置。
  5. 前記制御部は、前記新たな記憶媒体の追加後において、データ及び誤り訂正符号を分散させた状態で前記既存の各記憶媒体及び前記新たな記憶媒体に記憶させることを特徴とする請求項4に記載の記憶装置。
  6. 前記制御部は、前記新たな記憶媒体が前記記憶部に追加された場合であって、且つユーザからの所定の操作を受け付けた場合に、前記既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を前記新たな記憶媒体に記憶させることを特徴とする請求項1〜5の何れか一項に記載の記憶装置。
  7. 記憶媒体を複数用いて構成される記憶部を具備する記憶装置に、
    新たな記憶媒体が前記記憶部に追加された場合に、前記記憶部を構成する既存の各記憶媒体に記憶されているデータに対応する誤り訂正符号を前記新たな記憶媒体に記憶させる手順と、
    前記新たな記憶媒体の追加後に新たなデータを前記記憶部に記憶させる場合に、前記新たなデータと前記新たなデータに対応する誤り訂正符号とを前記既存の各記憶媒体及び前記新たな記憶媒体に分散させて記憶させる手順と
    を実行させることを特徴とする制御プログラム。
JP2010128327A 2010-06-03 2010-06-03 記憶装置及びその制御プログラム Active JP5521794B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010128327A JP5521794B2 (ja) 2010-06-03 2010-06-03 記憶装置及びその制御プログラム
CN2011101509689A CN102270103A (zh) 2010-06-03 2011-06-02 存储装置及其控制方法
US13/151,760 US20110302369A1 (en) 2010-06-03 2011-06-02 Storage apparatus and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010128327A JP5521794B2 (ja) 2010-06-03 2010-06-03 記憶装置及びその制御プログラム

Publications (2)

Publication Number Publication Date
JP2011253467A true JP2011253467A (ja) 2011-12-15
JP5521794B2 JP5521794B2 (ja) 2014-06-18

Family

ID=45052415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010128327A Active JP5521794B2 (ja) 2010-06-03 2010-06-03 記憶装置及びその制御プログラム

Country Status (3)

Country Link
US (1) US20110302369A1 (ja)
JP (1) JP5521794B2 (ja)
CN (1) CN102270103A (ja)

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9857974B2 (en) * 2013-10-03 2018-01-02 International Business Machines Corporation Session execution decision
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9612952B2 (en) * 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
CN106471461B (zh) * 2014-06-04 2020-10-30 净睿存储股份有限公司 自动重新配置存储装置存储器拓扑
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
US11836369B1 (en) * 2015-02-27 2023-12-05 Pure Storage, Inc. Storing data in an expanded storage pool of a vast storage network
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
WO2017186871A1 (en) * 2016-04-27 2017-11-02 Memoscale As Data protection coding technique
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141121A (ja) * 1993-11-19 1995-06-02 Hitachi Ltd アレイ形式の記憶装置システム
JPH07160434A (ja) * 1993-12-13 1995-06-23 Hitachi Ltd アレイ形式の記憶装置システム
JPH07306758A (ja) * 1994-05-16 1995-11-21 Hitachi Ltd ディスクアレイ装置及びその制御方法
JPH08147111A (ja) * 1994-11-24 1996-06-07 Fujitsu Ltd ディスクアレイ装置の拡張構成方法
US5758118A (en) * 1995-12-08 1998-05-26 International Business Machines Corporation Methods and data storage devices for RAID expansion by on-line addition of new DASDs
JP2000010738A (ja) * 1998-06-17 2000-01-14 Toshiba Corp ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体
JP2009037304A (ja) * 2007-07-31 2009-02-19 Hitachi Ltd Raidレベルを変更する機能を有したストレージシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913926A (en) * 1992-08-20 1999-06-22 Farrington Investments Ltd. Expandable modular data storage system having parity storage capability
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
EP1026575A3 (en) * 1999-02-08 2006-09-06 Hitachi, Ltd. Disk array system and method of changing its configuration
US6845465B2 (en) * 2001-09-17 2005-01-18 Sun Microsystems, Inc. Method and system for leveraging spares in a data storage system including a plurality of disk drives
JP2003280826A (ja) * 2002-03-27 2003-10-02 Hitachi Ltd 記憶サブシステム
US7103716B1 (en) * 2003-06-26 2006-09-05 Adaptec, Inc. RAID 6 disk array with prime number minus one disks
US20060195657A1 (en) * 2005-02-28 2006-08-31 Infrant Technologies, Inc. Expandable RAID method and device
US7774542B2 (en) * 2005-07-06 2010-08-10 Ji Zhang System and method for adaptive operation of storage capacities of RAID systems
US7496785B2 (en) * 2006-03-21 2009-02-24 International Business Machines Corporation Enclosure-based raid parity assist
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
JP5021018B2 (ja) * 2009-11-30 2012-09-05 株式会社日立製作所 データ配置方法及びデータ管理システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141121A (ja) * 1993-11-19 1995-06-02 Hitachi Ltd アレイ形式の記憶装置システム
JPH07160434A (ja) * 1993-12-13 1995-06-23 Hitachi Ltd アレイ形式の記憶装置システム
JPH07306758A (ja) * 1994-05-16 1995-11-21 Hitachi Ltd ディスクアレイ装置及びその制御方法
JPH08147111A (ja) * 1994-11-24 1996-06-07 Fujitsu Ltd ディスクアレイ装置の拡張構成方法
US5758118A (en) * 1995-12-08 1998-05-26 International Business Machines Corporation Methods and data storage devices for RAID expansion by on-line addition of new DASDs
JP2000010738A (ja) * 1998-06-17 2000-01-14 Toshiba Corp ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体
JP2009037304A (ja) * 2007-07-31 2009-02-19 Hitachi Ltd Raidレベルを変更する機能を有したストレージシステム

Also Published As

Publication number Publication date
US20110302369A1 (en) 2011-12-08
CN102270103A (zh) 2011-12-07
JP5521794B2 (ja) 2014-06-18

Similar Documents

Publication Publication Date Title
JP5521794B2 (ja) 記憶装置及びその制御プログラム
US9542272B2 (en) Write redirection in redundant array of independent disks systems
JP4901316B2 (ja) ストレージシステム及び記憶制御装置
JP4897387B2 (ja) ストレージ装置およびこれを用いたデータの管理方法
JP4634157B2 (ja) ストレージシステム
JP4792490B2 (ja) 記憶制御装置及びraidグループの拡張方法
JP2005157636A (ja) 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
JP2005293363A (ja) ディスクアレイコントローラおよび情報処理装置
US20130145209A1 (en) Disk system, data retaining device, and disk device
JP2013114556A (ja) ストレージ装置,制御装置及びプログラム
US20110154165A1 (en) Storage apparatus and data transfer method
JP6287613B2 (ja) 制御装置、および診断制御プログラム
US20150046601A1 (en) Network system, maintenance work management method, processing apparatus, and non-transitory computer-readable recording medium recording program
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
JP2006221335A (ja) 情報記録装置
JP2008071189A (ja) ディスクアレイ装置、raidコントローラおよびディスクアレイ装置のディスクアレイ構築方法
JP4944220B2 (ja) 記憶装置及びその制御プログラム
KR20110103660A (ko) 광디스크 드라이브 레이드 기록 장치 및 방법
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
JP5691227B2 (ja) ストレージ装置及びその制御方法
JP2007128551A (ja) ストレージエリアネットワークシステム
JPWO2008126169A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
JP2012194867A (ja) ストレージ装置および制御装置
KR20140058980A (ko) 산업용 컴퓨터의 저장관리 및 백업 솔루션 시스템
JP5585930B2 (ja) ディスクアレイ装置、及びデータ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140324

R150 Certificate of patent or registration of utility model

Ref document number: 5521794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250