JP5923964B2 - ディスクアレイ装置、制御装置、およびプログラム - Google Patents
ディスクアレイ装置、制御装置、およびプログラム Download PDFInfo
- Publication number
- JP5923964B2 JP5923964B2 JP2011272832A JP2011272832A JP5923964B2 JP 5923964 B2 JP5923964 B2 JP 5923964B2 JP 2011272832 A JP2011272832 A JP 2011272832A JP 2011272832 A JP2011272832 A JP 2011272832A JP 5923964 B2 JP5923964 B2 JP 5923964B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- read
- update
- parity
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
- G06F2212/262—Storage comprising a plurality of storage devices configured as RAID
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
ここで、ライトバック処理とは、例えば、データの更新時にキャッシュ上のデータをディスクに書き込む処理をいう。
(1)Bandwidth Write
1ストライプ分の更新データ(New Data)がそろっているケースで、更新データのみで新しいパリティ(New Parity)を作成し、ディスクに書き込む方法。
(2)Read Bandwidth Write
1ストライプ分に近いデータを更新する場合に、更新対象ではない更新前のデータをディスクから読み出し、1ストライプ分のデータをそろえてからBandwidth Write 方式で新しいパリティを作成し、ディスクに書き込む方法
(3)Small Write
対象のディスクから更新されるデータと更新前のパリティ(Old Parity)を読み出し、更新されるデータ、更新前のパリティ、および更新データから新しいパリティを作成し、ディスクに書き込む方法。
そのため、更新データの離散度が上がれば、発行するコマンド数も増えてしまい、処理に時間が掛かるという問題があった。
前記複数のディスク装置は、1つのストライプのデータを分割したデータまたはパリティを格納するストリップを有する。
前記記憶部は、前記ストリップに格納された分割データに対応する更新データを格納する。
はじめに、実施の形態で使われるストリップと離散データについて説明する。
図1は、RAID5によるストライピングを示す図である。
また、分割されたデータまたはパリティを格納する各ディスクの領域をストリップと呼ぶ。また、ストリップのサイズをストライプデプス(Stripe Depth)、または単にデプス(Depth)と呼ぶ。
図2は、ストリップ内の更新データの位置を示し、斜線領域は更新データを示している。
連続データは、更新データが連続した1つのデータであるものである。
離散データは、更新データが不連続なデータであるものである。
RAID装置101は、ホスト201と接続している。
RAID装置101は、制御モジュール111−m(m=1〜2)およびデバイスエンクロージャー121を備える。
処理部は、キャッシュ制御部121およびRAID制御部122を備える。
キャッシュ制御部121は、RAID制御部122に、ライトバック処理の開始指示などを行う。
記憶部113は、各種データを格納する記憶装置である。記憶部113は、例えば、Random Access Memory(RAM)である。
キャッシュ領域123は、ホスト201から受信した更新データを一時的に格納する領域である。
パリティバッファ領域125は、ディスク装置132から読み出したパリティまたは新たに生成したパリティを格納する領域である。
ディスクI/F115は、デバイスエンクロージャー131と接続し、デバイスエンクロージャー131とデータの送受信を行うインタフェースである。
ディスク装置132は、データを格納する磁気ディスク装置(ハードディスクドライブ(HDD))である。
実施の形態の2つの書き込み方法をそれぞれFill Small WriteおよびFill Read Bandwidth Writeと呼ぶ。
(1)Fill Small Write
Fill Small Writeは、従来のSmall Writeにおけるディスク装置からの更新データにより更新されるデータの読み出しを連続したデータ単位で行っていたのを、ストリップ単位で(すなわち、ストリップ内のデータ全体を)読み出すように変更したものである。
図4において、RAID装置は、RAID5(5+1)の構成、すなわち6台のディスクでRAID5を行っている。
RAID制御部122は、更新データにより更新されるストライプ内で、更新データにより更新される領域を含むストリップ全体のデータをDisk00〜Disk03から読み出し、データバッファ領域124に格納する。また、RAID制御部122は、パリティをDisk05から読み出し、読み出したパリティ(Old Parity)をパリティバッファ領域125に格納する。尚、上記の更新データにより更新される領域を含むストリップ全体のデータとパリティの読み出しに際して、RAID制御部122は、読み出すデータがあるディスク(Disk00〜Disk03、Disk05)に対して、更新データにより更新される領域を含むストリップ全体のデータまたはパリティを読み出すリードコマンドを1個ずつ発行する。すなわち、この場合、5つのリードコマンドが発行されている。尚、RAID制御部122は、尚、RAID制御部122は、どのストライプが更新されるかおよびどのストリップが更新されるか否かを、キャッシュ管理テーブル126を参照することにより、判別可能である。
Fill Small Writeにおいて、Disk00〜Disk03、Disk05からストリップ全体のデータを読み出している。データの読み出しにおいて、1つの読み出し処理コマンドで1つのストリップ全体のデータを読み出すため、従来のSmall Writeに比べ、処理コマンドの数が削減される。
Fill Read Bandwidth Writeは、従来のRead Bandwidth Writeにおけるディスク装置からの更新対象ではない更新前のデータの読み出しを連続したデータ単位で行っていたのを、ストリップ単位(すなわち、ストリップ内のデータ全体を)で読み出すように変更したものである。
図5においては、Disk00〜Disk05の6台のディスク装置によって構成される。更新データにより更新されるデータを含むストライプは、Disk00〜Disk04にデータが格納され、Disk05にパリティが格納されているものとする。
RAID制御部122は、更新データにより更新されるストライプ内で、更新データにより更新されない領域を含むストリップ全体のデータをDisk00〜Disk04から読み出し、データバッファ領域124に格納する。尚、上記の更新データにより更新されない領域を含むストリップ全体のデータの読み出しに際して、RAID制御部122は、読み出すデータがあるディスク(Disk00〜Disk04)に対して、更新データにより更新されない領域を含むストリップ全体のデータを読み出すリードコマンドを1個ずつ発行する。すなわち、この場合、5つのリードコマンドが発行されている。尚、RAID制御部122は、どのストライプが更新されるかおよびどのストリップが更新されるか否かを、キャッシュ管理テーブル126を参照することにより、判別可能である。
RAID制御部122は、書き込みデータをDisk00〜Disk03に、新たなパリティをDisk05に書き込む。
書き込みデータの生成において、図6に示すように、更新データと更新データに挟まれる更新されないデータとを用いて、書き込みデータを生成しても良い。すなわち、ストリップ内の最初または最後のデータが更新されないデータである場合、該データを書き込みデータの生成に用いないようにしても良い。
図7は、Read Bandwidth Write処理時のエラーを示す図である。
図8は、従来のデータ復旧処理を示す図である。
図7においては、Disk00〜Disk05の6台のディスク装置によって構成され、更新データに対応するパリティはDisk05に格納されるものとする。
Read Bandwidth Writeにおいて、更新対象ではない更新前のデータが各ディスクから読み出され、データバッファ領域124に格納される。このとき、Disk03においてリードエラーが発生し、データが読み出せなかったものとする。
ここでは、上記で説明したのと同様にDisk03でリードエラー発生し、データが読み出せなかったものとする。
それにより、Disk00〜Disk02、Disk04からは、再度データを読み出す必要が無く、Disk05からパリティを読み出すだけで、Disk03の復旧に必要なデータを用意することが出来る。
従来の書き込み方法の選択は、処理コマンド数、データ転送量、XOR演算回数のいずれかまたはすべてのパラメータについて、Disk ReadとDisk Writeの合計で想定される値を判断材料として行っていた。
書き込み時の処理コマンド数はFill Read Bandwidth WriteとFill Small Writeで等しいため、Read時の処理コマンド数のみを考慮している。
図10は、実施の形態に係る書き込み方法の選択処理のフローチャートである。
先ず、キャッシュ制御部121はRAID制御部122にライトバック開始の指示を行う。また、RAID装置101は、ホスト201から更新データを受信し、キャッシュ領域に格納しているものとする。
ステップS502において、RAID制御部122は、従来の書き込み方法(例えば、Small Write、Read Bandwidth Write)の決定処理と、決定した書き込み方法による更新データの書き込みを行う。尚、従来の書き込み方法や書き込み方法の決定処理については、例えば特開2007−87094号公報に詳細に記載されている。
・条件1
(1)RAID5の場合
更新対象Disk数 ≧ (RAID構成Disk数 - 2)
(2)RAID6の場合
更新対象Disk数 ≧ (RAID構成Disk数 - 3)
・条件2
(1)RAID5の場合
更新対象Disk数 ≧ (RAID構成Disk数 ÷ 2)
且つ
ストリップ内が全て更新対象となっているストリップ数 ≧ (RAID構成Disk数-2) - 更新Disk数
(2)RAID6の場合
更新対象Disk数 ≧ ((RAID構成Disk数 - 1) ÷ 2)
且つ
ストリップ内が全て更新対象となっているストリップ数 ≧ (RAID構成Disk数-3) - 更新Disk数
ステップS506において、RAID制御部122は、前述のFill Read Bandwidth Writeを実施する。
・ケース1
図11は、RAID装置のディスク構成と更新データを示す図である。
図11において、RAID装置101は、RAID5(5+1)の構成、すなわち6台のディスクでRAID5を行っている。
Small Writeで処理した場合、処理コマンド数は、Readの20コマンド(更新する領域数)とWriteの20コマンド(更新する領域数)を合計して、計40コマンドとなる。
Fill Read Bandwidth Writeで処理した場合、処理コマンド数は、Readの5コマンド(パリティ以外の更新がない部分があるディスク数)とWriteの4コマンド(更新するディスク数)を合計して、計9コマンドとなる。
図12は、RAID装置のディスク構成と更新データを示す図である。
図12において、RAID装置101は、RAID5(6+1)の構成、すなわち7台のディスクでRAID5を行っている。
図12においては、Disk00〜Disk05の7台のディスク装置によって構成され、更新データに対応するパリティはDisk06に格納されるものとする。
Small Writeで処理した場合、処理コマンド数は、Readの12コマンド(更新する領域数)とWriteの12コマンド(更新する領域数)を合計して、計24コマンドとなる。
Fill Read Bandwidth Writeで処理した場合、処理コマンド数は、Readの6コマンド(パリティ以外の更新がない部分があるディスク数)とWriteの7コマンド(更新するディスク数)を合計して、計13コマンドとなる。
図13は、RAID装置のディスク構成と更新データを示す図である。
図13においては、Disk00〜Disk06の7台のディスク装置によって構成され、更新データに対応するパリティはDisk06に格納されるものとする。
Small Writeで処理した場合、処理コマンド数は、Readの6コマンド(更新する領域数)とWriteの6コマンド(更新する領域数)を合計して、計12コマンドとなる。
Fill Read Bandwidth Writeで処理した場合、処理コマンド数は、Readの4コマンド(パリティ以外の更新がない部分があるディスク数)とWriteの9コマンド(更新するディスク数)を合計して、計11コマンドとなる。
実施の形態に係る書き込み方法の選択処理を図13のケースに適用すると、更新データに離散部分があり(ステップS501:離散している)、更新対象Disk数をチェックすると条件1に合致しない(ステップS503:条件を満たさない)が、条件2に合致する(ステップS504:条件を満たす)ため、Fill Read Bandwidth Writeが実施される。
図14を参照すると、更新Disk数が(RAID構成Disk数 - 2)以上である場合(条件1を満たす場合)、Fill Read Band Width Writeを実施した場合のコマンド数は、Fill Small Writeを実施した場合のコマンド数以下となっている。
図15を参照すると、更新対象Disk数 が (RAID構成Disk数 ÷ 2)以上、且つストリップ内が全て更新対象となっているストリップ数 が( (RAID構成Disk数 -2) - 更新Disk数)以上の場合(条件2を満たす場合)、Fill Read Band Width Writeを実施した場合のコマンド数は、Fill Small Writeを実施した場合のコマンド数以下となっている。
また、実施の形態のRAID装置によれば、処理速度が速いライト方法を選択することが出来る。
111 制御モジュール
112 処理部
113 記憶部
114 ホストI/F
115 ディスクI/F
121 キャッシュ制御部
122 RAID制御部
123 キャッシュ領域
124 データバッファ領域
125 パリティバッファ領域
126 キャッシュ管理テーブル
131 デバイスエンクロージャー
132 ディスク装置
Claims (4)
- 1つのストライプのデータを分割した分割データまたはパリティを格納するストリップを有する複数のディスク装置と、
前記複数のディスク装置の各ストリップに対して前記1つのストライプのデータを前記ストリップのサイズに分割して書き込みを行う制御装置と、
前記ストリップに格納された分割データに対応する更新データを格納する記憶部と、
を備え、
前記制御装置は、前記更新データが離散しているか否か判定し、前記更新データが離散している場合に、
前記複数のディスク装置から、1ストライプ内の前記更新データを書き込む領域を含むストリップ全体のデータとパリティを読み出すコマンドを発行し、
前記複数のディスク装置から、前記1ストライプ内の前記更新データを書き込む領域を含むストリップ全体のデータとパリティを読み出し、前記記憶部に記憶し、
前記記憶部に記憶された前記読み出しデータ、前記パリティ、および前記更新データを用いて新たなパリティを生成し、
前記更新データと前記読み出したデータのうち更新しない部分のデータとを組み合わせて書き込みデータを生成し、
前記書き込みデータおよび前記新たなパリティを前記複数のディスクに書き込む
第1の書き込み処理
または
前記複数のディスク装置から、1ストライプ内の前記更新データを書き込まない領域を含むストリップ全体のデータを読み出すコマンドを発行し、
前記複数のディスク装置から、前記1ストライプ内の前記更新データを書き込まない領域を含むストリップ全体のデータを読み出し、前記記憶部に記憶し、
前記記憶部に記憶された前記更新データおよび前記読み出しデータを用いて前記新たなパリティを生成し、
前記更新データと前記読み出したデータのうち更新しない部分のデータとを組み合わせて前記書き込みデータを生成し、
前記書き込みデータおよび前記新たなパリティを前記複数のディスクに書き込む
第2の書き込み処理
を行うことを特徴とするディスクアレイ装置において、
前記制御装置は、データを更新するディスク装置の数と前記複数のディスク装置の数と前記ディスクアレイ装置で使用されているRedundant Arrays of Inexpensive Disks(RAID)の種類とに基づいて、前記第1の書き込み処理または前記第2の書き込み処理のいずれかを行うか判定し、判定結果に基づき前記第1の書き込み処理または前記第2の書き込み処理のいずれか一方を行うことを特徴とするディスクアレイ装置。 - 前記制御装置は、ストリップ全体が更新対象であるストリップ数、データを更新するディスク装置の数、および前記複数のディスク装置の数に基づいて、前記第1の書き込み処理または前記第2の書き込み処理を行うか判定し、判定結果に基づき前記第1の書き込み処理または前記第2の書き込み処理のいずれか一方を行うことを特徴とする請求項1記載のディスクアレイ装置。
- 1つのストライプのデータを分割した分割データまたはパリティを格納するストリップを有する複数のディスク装置の各ストリップに対して前記1つのストライプのデータを前記ストリップのサイズに分割して書き込みを行うディスクアレイ装置の制御装置であって、
前記ストリップに格納された分割データに対応する更新データが離散しているか否か判定し、前記更新データが離散している場合に、
前記複数のディスク装置から、1ストライプ内の前記更新データを書き込む領域を含むストリップ全体のデータとパリティを読み出すコマンドを発行し、
前記複数のディスク装置から、前記1ストライプ内の前記更新データを書き込む領域を含むストリップ全体のデータとパリティを読み出し、記憶部に記憶し、
前記記憶部に記憶された前記読み出しデータ、前記パリティ、および前記更新データを用いて新たなパリティを生成し、
前記更新データと前記読み出したデータのうち更新しない部分のデータとを組み合わせて書き込みデータを生成し、
前記書き込みデータおよび前記新たなパリティを前記複数のディスクに書き込む
第1の書き込み処理
または
前記複数のディスク装置から、1ストライプ内の前記更新データを書き込まない領域を含むストリップ全体のデータを読み出すコマンドを発行し、
前記複数のディスク装置から、前記1ストライプ内の前記更新データを書き込まない領域を含むストリップ全体のデータを読み出し、前記記憶部に記憶し、
前記記憶部に記憶された前記更新データおよび前記読み出しデータを用いて前記新たなパリティを生成し、
前記更新データと前記読み出したデータのうち更新しない部分のデータとを組み合わせて前記書き込みデータを生成し、
前記書き込みデータおよび前記新たなパリティを前記複数のディスクに書き込む
第2の書き込み処理
を行い、
データを更新するディスク装置の数と前記複数のディスク装置の数と前記ディスクアレイ装置で使用されているRedundant Arrays of Inexpensive Disks(RAID)の種類とに基づいて、前記第1の書き込み処理または前記第2の書き込み処理のいずれかを行うか判定し、判定結果に基づき前記第1の書き込み処理または前記第2の書き込み処理のいずれか一方を行うことを特徴とする制御装置。 - 1つのストライプのデータを分割した分割データまたはパリティを格納するストリップを有する複数のディスク装置を備えるディスクアレイ装置に、
前記ストリップに格納された分割データに対応する更新データが離散しているか否か判定し、前記更新データが離散している場合に、
前記複数のディスク装置から、1ストライプ内の前記更新データを書き込む領域を含むストリップ全体のデータとパリティを読み出すコマンドを発行し、
前記複数のディスク装置から、前記1ストライプ内の前記更新データを書き込む領域を含むストリップ全体のデータとパリティを読み出し、記憶部に記憶し、
前記記憶部に記憶された前記読み出しデータ、前記パリティ、および前記更新データを用いて新たなパリティを生成し、
前記更新データと前記読み出したデータのうち更新しない部分のデータとを組み合わせて書き込みデータを生成し、
前記書き込みデータおよび前記新たなパリティを前記複数のディスクに書き込む
第1の書き込み処理
または
前記複数のディスク装置から、1ストライプ内の前記更新データを書き込まない領域を含むストリップ全体のデータを読み出すコマンドを発行し、
前記複数のディスク装置から、前記1ストライプ内の前記更新データを書き込まない領域を含むストリップ全体のデータを読み出し、前記記憶部に記憶し、
前記記憶部に記憶された前記更新データおよび前記読み出しデータを用いて前記新たなパリティを生成し、
前記更新データと前記読み出したデータのうち更新しない部分のデータとを組み合わせて前記書き込みデータを生成し、
前記書き込みデータおよび前記新たなパリティを前記複数のディスクに書き込む
第2の書き込み処理
を実行させるプログラムにおいて、
データを更新するディスク装置の数と前記複数のディスク装置の数と前記ディスクアレイ装置で使用されているRedundant Arrays of Inexpensive Disks(RAID)の種類とに基づいて、前記第1の書き込み処理または前記第2の書き込み処理のいずれかを行うか判定し、判定結果に基づき前記第1の書き込み処理または前記第2の書き込み処理のいずれか一方を行わせることを特徴とするプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011272832A JP5923964B2 (ja) | 2011-12-13 | 2011-12-13 | ディスクアレイ装置、制御装置、およびプログラム |
| US13/650,682 US9128846B2 (en) | 2011-12-13 | 2012-10-12 | Disk array device, control device and data write method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011272832A JP5923964B2 (ja) | 2011-12-13 | 2011-12-13 | ディスクアレイ装置、制御装置、およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013125360A JP2013125360A (ja) | 2013-06-24 |
| JP5923964B2 true JP5923964B2 (ja) | 2016-05-25 |
Family
ID=48573102
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011272832A Expired - Fee Related JP5923964B2 (ja) | 2011-12-13 | 2011-12-13 | ディスクアレイ装置、制御装置、およびプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9128846B2 (ja) |
| JP (1) | JP5923964B2 (ja) |
Families Citing this family (186)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
| 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 |
| US9507733B2 (en) | 2013-06-21 | 2016-11-29 | Microsoft Technology Licensing, Llc | Cache destaging for virtual storage devices |
| US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
| US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
| US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
| US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
| US9612952B2 (en) * | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
| 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 |
| US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
| US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
| US12137140B2 (en) | 2014-06-04 | 2024-11-05 | Pure Storage, Inc. | Scale out storage platform having active failover |
| US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
| US12341848B2 (en) | 2014-06-04 | 2025-06-24 | Pure Storage, Inc. | Distributed protocol endpoint services for data storage systems |
| US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
| US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
| 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 |
| US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
| US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
| US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
| US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
| US12182044B2 (en) | 2014-07-03 | 2024-12-31 | Pure Storage, Inc. | Data storage in a zone drive |
| US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
| US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
| US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
| US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring 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 |
| 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 |
| US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
| US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
| US12158814B2 (en) | 2014-08-07 | 2024-12-03 | Pure Storage, Inc. | Granular voltage tuning |
| US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
| US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
| 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 |
| US12379854B2 (en) | 2015-04-10 | 2025-08-05 | Pure Storage, Inc. | Two or more logical arrays having zoned drives |
| 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 |
| US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
| US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
| US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
| 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 |
| US12271359B2 (en) | 2015-09-30 | 2025-04-08 | Pure Storage, Inc. | Device host operations in a storage system |
| 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 |
| US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
| 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 |
| US12235743B2 (en) | 2016-06-03 | 2025-02-25 | Pure Storage, Inc. | Efficient partitioning for storage system resiliency groups |
| 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 |
| WO2017212515A1 (ja) * | 2016-06-06 | 2017-12-14 | 株式会社日立製作所 | ストレージシステム、計算機、およびストレージ制御方法 |
| 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 |
| US12210476B2 (en) | 2016-07-19 | 2025-01-28 | Pure Storage, Inc. | Disaggregated compute resources and storage resources in a storage system |
| US12487884B1 (en) | 2017-10-31 | 2025-12-02 | Pure Storage, Inc. | Writing parity data to a targeted wordline |
| 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 |
| US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
| US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
| 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 |
| US11886334B2 (en) | 2016-07-26 | 2024-01-30 | 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 |
| US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
| US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
| US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
| US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
| US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
| US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
| US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
| US20180095788A1 (en) | 2016-10-04 | 2018-04-05 | Pure Storage, Inc. | Scheduling operations for a storage device |
| US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
| US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
| 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 |
| US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
| 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 |
| US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
| US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
| US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
| US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
| 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 |
| US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
| 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 |
| US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
| US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
| US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
| US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
| US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
| US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
| US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
| US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
| US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
| US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
| 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 |
| US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
| US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
| US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
| 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 |
| US12393340B2 (en) | 2019-01-16 | 2025-08-19 | Pure Storage, Inc. | Latency reduction of flash-based devices using programming interrupts |
| US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
| US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
| US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
| US12175124B2 (en) | 2018-04-25 | 2024-12-24 | Pure Storage, Inc. | Enhanced data access using composite data views |
| US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
| US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
| US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
| US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
| US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
| 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 |
| US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
| US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
| 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 |
| US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
| US12547317B2 (en) | 2019-03-29 | 2026-02-10 | Pure Storage, Inc. | Managing voltage threshold shifts |
| 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 |
| US12373340B2 (en) | 2019-04-03 | 2025-07-29 | Pure Storage, Inc. | Intelligent subsegment formation in a heterogeneous storage system |
| US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
| US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
| US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
| 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 |
| US12475041B2 (en) | 2019-10-15 | 2025-11-18 | Pure Storage, Inc. | Efficient data storage by grouping similar data within a zone |
| US11157179B2 (en) | 2019-12-03 | 2021-10-26 | Pure Storage, Inc. | Dynamic allocation of blocks of a storage device based on power loss protection |
| US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
| US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
| 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 |
| US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
| US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
| US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
| US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
| US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
| 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 |
| US12153818B2 (en) | 2020-09-24 | 2024-11-26 | Pure Storage, Inc. | Bucket versioning snapshots |
| US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
| US12229437B2 (en) | 2020-12-31 | 2025-02-18 | Pure Storage, Inc. | Dynamic buffer for storage system |
| US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
| US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
| US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
| US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
| US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
| US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
| US12099742B2 (en) | 2021-03-15 | 2024-09-24 | Pure Storage, Inc. | Utilizing programming page size granularity to optimize data segment storage 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 |
| US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
| US12439544B2 (en) | 2022-04-20 | 2025-10-07 | Pure Storage, Inc. | Retractable pivoting trap door |
| US12314163B2 (en) | 2022-04-21 | 2025-05-27 | Pure Storage, Inc. | Die-aware scheduler |
| CN115098046B (zh) * | 2022-08-26 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 磁盘阵列初始化方法、系统、电子设备及存储介质 |
| US12481442B2 (en) | 2023-02-28 | 2025-11-25 | Pure Storage, Inc. | Data storage system with managed flash |
| US12204788B1 (en) | 2023-07-21 | 2025-01-21 | Pure Storage, Inc. | Dynamic plane selection in data storage system |
| US12524309B2 (en) | 2024-04-30 | 2026-01-13 | Pure Storage, Inc. | Intelligently forming data stripes including multiple shards in a single failure domain |
| US12487920B2 (en) | 2024-04-30 | 2025-12-02 | Pure Storage, Inc. | Storage system with dynamic data management functions |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5315602A (en) * | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
| JP3188071B2 (ja) | 1993-10-14 | 2001-07-16 | 富士通株式会社 | ディスクキャッシュ装置 |
| JPH07311659A (ja) | 1994-05-18 | 1995-11-28 | Oki Electric Ind Co Ltd | キャッシュ内蔵ディスクアレイ装置 |
| US6282671B1 (en) * | 1998-11-10 | 2001-08-28 | International Business Machines Corporation | Method and system for improved efficiency of parity calculation in RAID system |
| US6513093B1 (en) * | 1999-08-11 | 2003-01-28 | International Business Machines Corporation | High reliability, high performance disk array storage system |
| JP4366298B2 (ja) | 2004-12-02 | 2009-11-18 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
| JP4440803B2 (ja) * | 2005-03-03 | 2010-03-24 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
| JP4410178B2 (ja) | 2005-09-22 | 2010-02-03 | 富士通株式会社 | Raid装置におけるライトバック方法 |
| US7822921B2 (en) * | 2006-10-31 | 2010-10-26 | Netapp, Inc. | System and method for optimizing write operations in storage systems |
| JP4706029B2 (ja) * | 2009-03-19 | 2011-06-22 | 富士通株式会社 | ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム |
| US8103903B2 (en) * | 2010-02-22 | 2012-01-24 | International Business Machines Corporation | Read-modify-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
| US20120221809A1 (en) * | 2011-02-28 | 2012-08-30 | Hitachi, Ltd. | Storage apparatus and data processing method of the same |
-
2011
- 2011-12-13 JP JP2011272832A patent/JP5923964B2/ja not_active Expired - Fee Related
-
2012
- 2012-10-12 US US13/650,682 patent/US9128846B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20130151771A1 (en) | 2013-06-13 |
| US9128846B2 (en) | 2015-09-08 |
| JP2013125360A (ja) | 2013-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5923964B2 (ja) | ディスクアレイ装置、制御装置、およびプログラム | |
| US10896089B2 (en) | System level data-loss protection using storage device local buffers | |
| EP2703991B1 (en) | Scalable storage protection | |
| CN102483686B (zh) | 数据存储系统和用于操作数据存储系统的方法 | |
| KR101502519B1 (ko) | 메모리 관리 시스템 및 방법 | |
| JP3742494B2 (ja) | 大容量記憶装置 | |
| EP2899626B1 (en) | Method and system for service-aware data placement in a storage system | |
| US8555027B2 (en) | Semiconductor memory controlling device | |
| JP4719802B2 (ja) | ストレージ管理装置、ストレージ管理方法およびストレージシステム | |
| US20160217040A1 (en) | Raid parity stripe reconstruction | |
| CN100377064C (zh) | 存储系统 | |
| US20090265578A1 (en) | Full Stripe Processing for a Redundant Array of Disk Drives | |
| CN102799533B (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
| KR20120115012A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| CN104246707A (zh) | 存储系统和存储装置 | |
| JP2009098996A (ja) | ストレージシステム | |
| JP2018508073A (ja) | データ除去、割り当て、及び再構築 | |
| EP1310875A2 (en) | Disk array subsystem and data generation method therefor | |
| JP2006164319A (ja) | 不正データを検出するための装置、方法、及びプログラム | |
| US11748196B2 (en) | Adaptive parity rotation for redundant arrays of independent disks | |
| JP6052288B2 (ja) | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム | |
| JP2010026812A (ja) | 磁気ディスク装置 | |
| CN120144061A (zh) | 一种冗余磁盘阵列的数据校验方法、装置、设备及介质 | |
| CN118708121A (zh) | 一种基于纠删码的Raid卡自适应容错优化方法和系统 | |
| JP4843695B2 (ja) | ディスクアレイ制御装置及びディスクアレイ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140805 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150520 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150707 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150907 |
|
| 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: 20160322 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160404 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5923964 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |