JP6212137B2 - ストレージ装置及びストレージ装置の制御方法 - Google Patents
ストレージ装置及びストレージ装置の制御方法 Download PDFInfo
- Publication number
- JP6212137B2 JP6212137B2 JP2015552252A JP2015552252A JP6212137B2 JP 6212137 B2 JP6212137 B2 JP 6212137B2 JP 2015552252 A JP2015552252 A JP 2015552252A JP 2015552252 A JP2015552252 A JP 2015552252A JP 6212137 B2 JP6212137 B2 JP 6212137B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- address
- volume
- vol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 157
- 238000013507 mapping Methods 0.000 claims description 86
- 238000012545 processing Methods 0.000 claims description 66
- 230000004044 response Effects 0.000 claims description 50
- 238000013500 data storage Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 223
- 230000006837 decompression Effects 0.000 description 137
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 121
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 121
- 238000007906 compression Methods 0.000 description 116
- 230000006835 compression Effects 0.000 description 115
- 230000008569 process Effects 0.000 description 108
- 238000007726 management method Methods 0.000 description 58
- 238000010586 diagram Methods 0.000 description 47
- 238000012546 transfer Methods 0.000 description 32
- 230000004048 modification Effects 0.000 description 31
- 238000012986 modification Methods 0.000 description 31
- 238000013144 data compression Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- BNPSSFBOAGDEEL-UHFFFAOYSA-N albuterol sulfate Chemical compound OS(O)(=O)=O.CC(C)(C)NCC(O)C1=CC=C(O)C(CO)=C1.CC(C)(C)NCC(O)C1=CC=C(O)C(CO)=C1 BNPSSFBOAGDEEL-UHFFFAOYSA-N 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
- G06F2212/262—Storage comprising a plurality of storage devices configured as RAID
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図5は、本実施例におけるキャッシュメモリ26のライトコマンドとそのライトコマンドに対する応答情報を示した図である。本実施例におけるキャッシュメモリ26のLBA0ライトコマンド2010は、コマンド情報として、オペレーションコード1011、コマンドID1012、LBA0/1開始アドレス1013、LBA0/1長1014、圧縮要否フラグ1015、ライトデータアドレス1016により構成される。尚、本実施例では、上記の情報から構成されるコマンドの例について記すが、上記以上の付加的な情報があってもよい。例えば、DIF(Data Integrity Field)等に関連する情報がコマンドに付与されていたとしてもよい。
図6は、本実施例におけるキャッシュメモリ26がサポートする、リードコマンドとそのリードコマンドへの応答情報を示した図である。本実施例におけるキャッシュメモリ26のリードコマンド1610は、コマンド情報として、オペレーションコード1011、コマンドID1012、LBA0/1開始アドレス1613、LBA0/1長1614、伸長要否フラグ1615、リードデータアドレス1616により構成される。尚、本実施例では、上記の情報によるコマンドの例について記すが、上記以上の付加的な情報があってもよい。尚、コマンドID1012は先のLBA0ライトコマンドと同一の内容の為、説明は省略する。
RAID技術におけるパリティの生成方法には大きく2通りある。1つは、パリティを生成するために必要なすべてのデータによって、XOR等のパリティデータの演算を行ってパリティ生成を行う方法で、この方法を本明細書では「フルストライプParity生成方法」と呼ぶ。もう一方は、RAID構成された記憶媒体群に対して更新データの書き込みが行われる場合、当該更新データに加えて、記憶媒体に格納されている更新前のデータ及び当該更新前のデータに対応する更新前パリティとのXOR演算等を行って、更新データに対応するパリティ(更新後パリティ)を生成する方法で、この方法を本明細書では「更新Parity生成方法」と呼ぶ。図7は、本実施例におけるキャッシュメモリ26がサポートする、フルストライプParity生成コマンドとフルストライプParity生成コマンドへの応答情報を示した図である。本実施例におけるキャッシュメモリ26のフルストライプParity生成コマンド1310は、コマンド情報として、オペレーションコード1011、コマンドID1012、LBA1長1313、ストライプ数1314、LBA0開始アドレス0〜X(1315〜1317)、LBA1開始アドレス(XOR Parity用)1318、LBA1開始アドレス(RAID 6 Parity用)1319により構成される。尚、本実施例では、上記の情報によるコマンドの例について記すが、上記以上の付加的な情報があってもよい。
本発明の実施例におけるキャッシュメモリ26が実行する更新Parity生成は、既にParityが作成されている最終記憶媒体(SSD11、HDD12)の領域に更新データを記録する際、更新データ、更新データにより更新される領域の更新前データ(旧データ)、旧データに対応する旧Parityの3つのデータが、キャッシュメモリ26のLBA1空間上にマッピングされているときに実行できる。本実施例のストレージコントローラ10は、あとで述べるように、原則としてParity生成はフルストライプParity生成方法によって行うため、更新Parity生成方法によるParity生成が行われる機会はないが、キャッシュメモリ26は更新Parity生成を行う機能も一応は備えている。更新Parity生成を行う際、RAID構成されている最終記憶媒体から旧データと旧Parityを読み出し、キャッシュメモリ26のLBA1空間に対して格納し、その後更新データ、更新データにより更新される領域の旧データ、旧データを保護している旧Parity、更新パリティのLBA1アドレスを指定した更新Parity生成コマンドを発行することで、更新Parity生成を行う。
本実施例におけるキャッシュメモリ26では、LBA0の領域を指定してライトしたデータを、キャッシュメモリ26が圧縮してFM420に記録する。そしてその後、この圧縮データに対してRAID Parityを生成し、また圧縮データを圧縮状態のまま最終記憶媒体へ書き込むため、LBA0とは異なるLBA1にマッピングする。LBA1マッピングコマンドは、その時に用いられる。
本実施例のストレージ装置1は、最終記憶媒体からデータ(圧縮データ)を読み出すと、LBA1の領域を指定したライトコマンドをキャッシュメモリ26に発行して、キャッシュメモリ26(のFM420)に圧縮データを格納する。また、FM420に記録された圧縮データは、ホスト計算機3からのリード要求等があった場合には、伸長した状態でホスト計算機3に送信される必要がある。LBA0マッピングコマンドはそのために用いられる。
図11は、本実施例におけるキャッシュメモリ26がサポートする、圧縮データサイズ取得コマンドとその圧縮データサイズ取得コマンドへの応答情報を示した図である。本実施例におけるキャッシュメモリ26の圧縮データサイズ取得コマンド1110は、コマンド情報として、オペレーションコード1011、コマンドID1012、LBA0開始アドレス1113、LBA0長1114により構成される。尚、本実施例では、上記の情報によるコマンドの例について記すが、上記以上の付加的な情報があってもよい。尚、コマンドID1012は先のLBA0ライトコマンドと同一の内容の為、説明は省略する。
以下、圧縮データサイズ取得コマンドに固有の情報について説明する。
本実施例では、ストレージコントローラ10は圧縮して記録したライトデータを圧縮した状態で取得する為、または圧縮データに対してParityを生成する為、データをLBA1にマッピングする。また、圧縮した情報を伸長して取得するために、LBA1を指定してキャッシュメモリ26に記録したデータをLBA0にマッピングする。こうしてマッピングした領域は、処理が終了し不要となった場合、マッピングを解除する。本実施例のストレージ装置は、マッピング解除コマンドを用いて、PBAに対応付けたLBA0またはLBA1の領域の対応付けを解除する。
上で説明した実施例では、圧縮VOLは1つのRAIDグループと固定的に対応付けられ、圧縮VOLのアドレスと、RAIDグループを構成する各記憶媒体のアドレスとの関係も固定的なものである構成である場合について説明した。しかしながら、本発明の圧縮VOLは周知のストレージ装置が提供する様々なボリュームを利用可能である。以下では一例として、米国特許出願公開第2013/0036250号明細書や、米国特許出願公開第2010/0205390号明細書等に開示されている、いわゆるシンプロビジョニング(Thin Provisioning)技術を用いて作成される仮想的なボリュームを、本発明の圧縮VOLとして用いる場合の例について説明する。
上で説明した実施例では、伸長VOLに対して書き込まれたデータが、キャッシュ26に1ストライプグループ分蓄積されるたびに圧縮VOLへの移動が行われる。また移動の際、伸長VOLに書き込まれたデータは、当該データの伸長VOL上の書き込み位置とは無関係に、圧縮VOL(LDEV、さらには最終記憶媒体)に追記書きの要領で書き込まれるため、伸長VOL上で連続しているデータ(領域)が、圧縮VOL(LDEV)上では不連続に配置されることもある。そのような配置が行われると、シーケンシャルリード性能が、通常のストレージ装置(非圧縮データを格納するストレージ装置)よりも悪化する。以下では、データを伸長VOLから圧縮VOLに移動する際に、伸長VOL上でのデータ配置を考慮して圧縮VOLにデータを移動する方法を説明する。
2:SAN
3:ホスト計算機
4:管理装置
10:ストレージコントローラ
11:SSD
12:HDD
21:プロセッサ
22:内部スイッチ
23:ディスクインタフェース
24:ホストインタフェース
25:DRAM
26:キャッシュメモリ
27:ノードI/F
Claims (12)
- ホスト計算機に接続され、プロセッサと、記憶域を有するキャッシュ装置と、複数の最終記憶媒体とを有するストレージ装置であって、
前記ストレージ装置は、
前記ホスト計算機がアクセス可能な第1ボリュームと、
前記第1ボリュームに対応付けられたボリュームであって、前記第1ボリュームに対して前記ホスト計算機から書き込まれたデータを圧縮状態で格納するボリュームである第2ボリュームを有し、
前記プロセッサは、前記ホスト計算機から前記第1ボリュームに対するライト要求と前記ライト要求によるライト対象データを受け付けると、
(1)前記ライト対象データを、前記キャッシュ装置で圧縮状態にして前記キャッシュ装置の前記記憶域に格納し、
(2)圧縮状態の前記ライト対象データの、前記第2ボリューム上における格納位置を決定し、決定された該格納位置の情報を記憶し、
(3)前記格納位置が決定されたことに応じて、圧縮状態の前記ライト対象データの前記第2ボリューム上における前記格納位置に対応付けられるべき、前記最終記憶媒体上の記憶領域を確保し、
(4)前記キャッシュ装置から、前記ライト対象データを圧縮状態で読み出して、前記読み出された圧縮状態の前記ライト対象データを、前記確保された前記最終記憶媒体上の領域に格納する、
よう構成されており、
前記プロセッサが前記ホスト計算機から、前記第1ボリューム上の第1の領域に書き込むべき第1ライト対象データと、前記第1の領域とは不連続な領域である第2の領域に書き込むべき第2ライト対象データを受け付けて、圧縮状態の前記第1ライト対象データと圧縮状態の前記第2ライト対象データを前記キャッシュ装置の前記記憶域に格納している場合、
記憶している前記格納位置の情報で特定されるアドレスの次のアドレスを、圧縮状態の前記第1ライト対象データの前記第2ボリューム上における格納位置に決定し、決定された該格納位置の情報を記憶し、
記憶している前記格納位置の情報で特定されるアドレスの次のアドレスを、圧縮状態の前記第2ライト対象データの前記第2ボリューム上における格納位置に決定し、決定された該格納位置の情報を記憶する、
ことを特徴とする、ストレージ装置。 - 前記ライト要求には、前記ライト対象データを書き込むべき前記第1ボリューム上のアドレスの情報が含まれており、
前記ストレージ装置は、前記第1ボリューム上のアドレスと、圧縮状態の前記ライト対象データの前記第2ボリューム上の格納位置との対応関係を管理するアドレスマッピングテーブルを有しており、
前記プロセッサは、
圧縮状態の前記ライト対象データの前記第2ボリューム上における格納位置を決定すると、前記アドレスマッピングテーブルに前記ライト要求に含まれている前記アドレスと、前記第2ボリューム上の格納位置との対応関係を記録し、
前記ホスト計算機から前記第1ボリューム上のアドレスを指定したリード要求を受け付けると、前記アドレスマッピングテーブルを参照し、前記リード要求に含まれるアドレスに対応する前記第2ボリューム上の格納位置を特定し、
前記第2ボリューム上の格納位置に基づいて、前記最終記憶媒体から圧縮状態のデータを読み出して、前記キャッシュ装置に格納し、
前記キャッシュ装置から、前記圧縮状態のデータを伸長したデータを取得して、前記ホスト計算機に送信する、
ことを特徴とする、請求項1に記載のストレージ装置。 - 前記プロセッサは、前記キャッシュ装置に格納された圧縮状態の前記ライト対象データの量が所定量以上になった時、
圧縮状態の前記ライト対象データの、前記第2ボリューム上における格納位置を決定する、
ことを特徴とする、請求項1に記載のストレージ装置。 - 圧縮状態の前記ライト対象データの前記第2ボリューム上における前記格納位置に対応付けられるべき記憶領域は、前記複数の最終記憶媒体から構成されるRAIDグループ内の記憶領域であって、
前記プロセッサは、前記キャッシュ装置に格納された圧縮状態の前記ライト対象データの量が、前記RAIDグループの1ストライプグループのサイズに相当する量以上になった時、圧縮状態の前記ライト対象データの、前記第2ボリューム上における格納位置を決定する、
ことを特徴とする、請求項3に記載のストレージ装置。 - 前記第2ボリュームの容量は、前記複数の最終記憶媒体の合計容量よりも大きいことを特徴とする、請求項1に記載のストレージ装置。
- 前記キャッシュ装置は、前記プロセッサに対して第1の論理記憶空間と第2の論理記憶空間を提供し、
前記プロセッサが前記キャッシュ装置に対して、前記第1の論理記憶空間のアドレスを指定した、前記ライト対象データを前記キャッシュ装置に格納するためのデータ格納要求を発行すると、
前記キャッシュ装置は、前記ライト対象データを圧縮状態にして、前記キャッシュ装置の前記記憶域に格納し、
前記プロセッサが、前記第1の論理記憶空間のアドレスと前記第2の論理記憶空間上のアドレスとを対応付けるマッピング指示を前記キャッシュ装置に発行した後、さらに前記キャッシュ装置に対して前記第1の論理記憶空間のアドレスに対応付けられた前記第2の論理記憶空間のアドレスを指定して、前記キャッシュ装置に格納された前記ライト対象データを読み出すためのデータ読み出し要求を発行すると、
前記キャッシュ装置は、前記ライト対象データを圧縮状態で読み出す、
ことを特徴とする、請求項1に記載のストレージ装置。 - ホスト計算機に接続され、プロセッサと、記憶域を有するキャッシュ装置と、複数の最終記憶媒体とを有するストレージ装置の制御方法であって、
前記ストレージ装置は、
前記ホスト計算機がアクセス可能な第1ボリュームと、
前記第1ボリュームに対応付けられたボリュームであって、前記第1ボリュームに対して前記ホスト計算機から書き込まれたデータを圧縮状態で格納するボリュームである第2ボリュームを有し、
前記制御方法は、前記プロセッサが、
前記ホスト計算機から前記第1ボリュームに対するライト要求と前記ライト要求によるライト対象データを受け付ける、第1ステップと、
前記ライト対象データを、前記キャッシュ装置で圧縮状態にして前記キャッシュ装置の前記記憶域に格納する、第2ステップと、
圧縮状態の前記ライト対象データの、前記第2ボリューム上における格納位置を決定し、決定された該格納位置の情報を記憶する第3ステップと、
前記格納位置が決定されたことに応じて、圧縮状態の前記ライト対象データの前記第2ボリューム上における前記格納位置に対応付けられるべき、前記最終記憶媒体上の記憶領域を確保する、第4ステップと、
前記キャッシュ装置から、前記ライト対象データを圧縮状態で読み出して、前記読み出された圧縮状態の前記ライト対象データを、前記確保された前記最終記憶媒体上の領域に格納する、第5ステップと、
を実行し、
前記制御方法はまた、
前記プロセッサが、前記第1ステップで前記ホスト計算機から前記第1ボリューム上の第1の領域に書き込むべき第1ライト対象データと、前記第1の領域とは不連続な領域である第2の領域に書き込むべき第2ライト対象データを受け付け、前記第2ステップで、圧縮状態の前記第1ライト対象データと圧縮状態の前記第2ライト対象データを前記キャッシュ装置の前記記憶域に格納している場合、
前記第3ステップでは前記プロセッサが、
記憶している前記格納位置の情報で特定されるアドレスの次のアドレスを、圧縮状態の前記第1ライト対象データの前記第2ボリューム上における格納位置に決定し、決定された該格納位置の情報を記憶するステップと、
記憶している前記格納位置の情報で特定されるアドレスの次のアドレスを、圧縮状態の前記第2ライト対象データの前記第2ボリューム上における格納位置に決定し、決定された該格納位置の情報を記憶するステップと、を実行する、
ことを特徴とする、ストレージ装置の制御方法。 - 前記ライト要求には、前記ライト対象データを書き込むべき前記第1ボリューム上のアドレスの情報が含まれており、
前記ストレージ装置は、前記第1ボリューム上のアドレスと、圧縮状態の前記ライト対象データの前記第2ボリューム上の格納位置との対応関係を管理するアドレスマッピングテーブルを有し、
前記プロセッサは、
圧縮状態の前記ライト対象データの前記第2ボリューム上における格納位置を決定すると、前記アドレスマッピングテーブルに前記ライト要求に含まれている前記アドレスと、前記第2ボリューム上の格納位置との対応関係を記録し、
前記ホスト計算機から前記第1ボリューム上のアドレスを指定したリード要求を受け付けると、前記アドレスマッピングテーブルを参照し、前記リード要求に含まれるアドレスに対応する前記第2ボリューム上の格納位置を特定し、
前記第2ボリューム上の格納位置に基づいて、前記最終記憶媒体から圧縮状態のデータを読み出して、前記キャッシュ装置に格納し、
前記キャッシュ装置から、前記圧縮状態のデータを伸長したデータを取得して、前記ホスト計算機に送信する、
ことを特徴とする、請求項7に記載のストレージ装置の制御方法。 - 前記プロセッサは、前記ライト対象データを、前記キャッシュ装置で圧縮状態にして前記キャッシュ装置の前記記憶域に格納した時点で、前記ホスト計算機にライト要求に伴う処理が完了したことを通知し、
前記キャッシュ装置に格納された圧縮状態の前記ライト対象データの量が所定量以上になった時点で、前記第3ステップ以降の処理を実行する、
ことを特徴とする、請求項7に記載のストレージ装置の制御方法。 - 圧縮状態の前記ライト対象データの前記第2ボリューム上における前記格納位置に対応付けられるべき記憶領域は、前記複数の最終記憶媒体から構成されるRAIDグループ内の記憶領域であって、
前記プロセッサは、前記キャッシュ装置に格納された圧縮状態の前記ライト対象データの量が、前記RAIDグループの1ストライプグループのサイズに相当する量以上になった時、前記第3ステップ以降の処理を実行する、
ことを特徴とする、請求項9に記載のストレージ装置の制御方法。 - 前記第2ボリュームの容量は、前記複数の最終記憶媒体の合計容量よりも大きいことを特徴とする、請求項7に記載のストレージ装置の制御方法。
- 前記キャッシュ装置は、前記プロセッサに対して第1の論理記憶空間と第2の論理記憶空間を提供し、
前記プロセッサが前記第2ステップにおいて、前記キャッシュ装置に対して、前記第1の論理記憶空間のアドレスを指定した、前記ライト対象データを前記キャッシュ装置に格納するためのデータ格納要求を発行すると、
前記キャッシュ装置は、前記ライト対象データを圧縮状態にして、前記キャッシュ装置の前記記憶域に格納し、
前記プロセッサが前記第5ステップにおいて、前記プロセッサが、前記第1の論理記憶空間のアドレスと前記第2の論理記憶空間上のアドレスとを対応付けるマッピング指示を前記キャッシュ装置に発行した後、さらに前記キャッシュ装置に対して前記第2の論理記憶空間のアドレスを指定して、前記キャッシュ装置に格納された前記ライト対象データを読み出すためのデータ読み出し要求を発行すると、
前記キャッシュ装置から前記ライト対象データが圧縮状態で読み出される、
ことを特徴とする、請求項7に記載のストレージ装置の制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/083322 WO2015087424A1 (ja) | 2013-12-12 | 2013-12-12 | ストレージ装置及びストレージ装置の制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017176250A Division JP6429963B2 (ja) | 2017-09-14 | 2017-09-14 | ストレージ装置及びストレージ装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015087424A1 JPWO2015087424A1 (ja) | 2017-03-16 |
JP6212137B2 true JP6212137B2 (ja) | 2017-10-11 |
Family
ID=53370765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015552252A Active JP6212137B2 (ja) | 2013-12-12 | 2013-12-12 | ストレージ装置及びストレージ装置の制御方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9916248B2 (ja) |
JP (1) | JP6212137B2 (ja) |
CN (2) | CN108108311A (ja) |
DE (1) | DE112013006655T5 (ja) |
GB (1) | GB2536514A (ja) |
WO (1) | WO2015087424A1 (ja) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
CN104425020A (zh) * | 2013-08-23 | 2015-03-18 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
US9606870B1 (en) * | 2014-03-31 | 2017-03-28 | EMC IP Holding Company LLC | Data reduction techniques in a flash-based key/value cluster storage |
US9112890B1 (en) | 2014-08-20 | 2015-08-18 | E8 Storage Systems Ltd. | Distributed storage over shared multi-queued storage device |
US9274720B1 (en) | 2014-09-15 | 2016-03-01 | E8 Storage Systems Ltd. | Distributed RAID over shared multi-queued storage devices |
US10025843B1 (en) | 2014-09-24 | 2018-07-17 | EMC IP Holding Company LLC | Adjusting consistency groups during asynchronous replication |
US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
US9519666B2 (en) * | 2014-11-27 | 2016-12-13 | E8 Storage Systems Ltd. | Snapshots and thin-provisioning in distributed storage over shared storage devices |
US9678665B2 (en) * | 2015-03-06 | 2017-06-13 | Western Digital Technologies, Inc. | Methods and systems for memory page allocation |
US9525737B2 (en) * | 2015-04-14 | 2016-12-20 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM cache in a highly-distributed shared topology with direct memory access capable interconnect |
US9529542B2 (en) | 2015-04-14 | 2016-12-27 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM caching of compressed data in a highly-distributed shared topology with direct memory access capable interconnect |
TWI531963B (zh) * | 2015-06-04 | 2016-05-01 | Accelstor Inc | Data storage systems and their specific instruction enforcement methods |
US10496626B2 (en) | 2015-06-11 | 2019-12-03 | EB Storage Systems Ltd. | Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect |
US10893029B1 (en) * | 2015-09-08 | 2021-01-12 | Amazon Technologies, Inc. | Secure computing service environment |
US9715352B2 (en) * | 2015-10-01 | 2017-07-25 | International Business Machines Corporation | Synchronous input/output using a low latency storage controller connection |
US10063376B2 (en) | 2015-10-01 | 2018-08-28 | International Business Machines Corporation | Access control and security for synchronous input/output links |
US10120818B2 (en) | 2015-10-01 | 2018-11-06 | International Business Machines Corporation | Synchronous input/output command |
CN106919339B (zh) * | 2015-12-25 | 2020-04-14 | 华为技术有限公司 | 一种硬盘阵列及硬盘阵列处理操作请求的方法 |
US10152527B1 (en) | 2015-12-28 | 2018-12-11 | EMC IP Holding Company LLC | Increment resynchronization in hash-based replication |
CN105723320B (zh) * | 2016-02-01 | 2019-03-19 | 华为技术有限公司 | 数据整理方法、存储设备、存储控制器以及存储阵列 |
US11144445B1 (en) * | 2016-03-28 | 2021-10-12 | Dell Products L.P. | Use of compression domains that are more granular than storage allocation units |
US9842084B2 (en) | 2016-04-05 | 2017-12-12 | E8 Storage Systems Ltd. | Write cache and write-hole recovery in distributed raid over shared multi-queue storage devices |
US10496278B1 (en) * | 2016-06-24 | 2019-12-03 | EMC IP Holding Company LLC | Inline compression support using discrete sized containers for backing store |
US10503443B2 (en) * | 2016-09-13 | 2019-12-10 | Netapp, Inc. | Systems and methods for allocating data compression activities in a storage system |
WO2018051505A1 (ja) * | 2016-09-16 | 2018-03-22 | 株式会社日立製作所 | ストレージシステム |
JP6553566B2 (ja) * | 2016-09-23 | 2019-07-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
WO2018061161A1 (ja) * | 2016-09-29 | 2018-04-05 | 株式会社日立製作所 | ストレージ装置およびその制御方法 |
JP6239078B1 (ja) * | 2016-11-04 | 2017-11-29 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および読出し方法 |
US10387305B2 (en) * | 2016-12-23 | 2019-08-20 | Intel Corporation | Techniques for compression memory coloring |
US10031872B1 (en) | 2017-01-23 | 2018-07-24 | E8 Storage Systems Ltd. | Storage in multi-queue storage devices using queue multiplexing and access control |
JP6798002B2 (ja) * | 2017-02-23 | 2020-12-09 | 株式会社日立製作所 | スケールアウト型のストレージシステム |
JP6835949B2 (ja) * | 2017-02-28 | 2021-02-24 | 株式会社日立製作所 | 情報システム、管理プログラム及び情報システムのプログラム交換方法 |
US10732893B2 (en) * | 2017-05-25 | 2020-08-04 | Western Digital Technologies, Inc. | Non-volatile memory over fabric controller with memory bypass |
US10685010B2 (en) | 2017-09-11 | 2020-06-16 | Amazon Technologies, Inc. | Shared volumes in distributed RAID over shared multi-queue storage devices |
JP2019079113A (ja) * | 2017-10-20 | 2019-05-23 | 株式会社日立製作所 | ストレージ装置、データ管理方法、及びデータ管理プログラム |
KR102507140B1 (ko) * | 2017-11-13 | 2023-03-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20190179547A1 (en) * | 2017-12-13 | 2019-06-13 | Micron Technology, Inc. | Performance Level Adjustments in Memory Devices |
US10592173B2 (en) | 2018-01-10 | 2020-03-17 | International Business Machines Corporation | Increasing storage efficiency of a data protection technique |
US10691354B1 (en) | 2018-01-31 | 2020-06-23 | EMC IP Holding Company LLC | Method and system of disk access pattern selection for content based storage RAID system |
JP6968016B2 (ja) * | 2018-03-22 | 2021-11-17 | キオクシア株式会社 | ストレージデバイスおよびコンピュータシステム |
CN110413217B (zh) * | 2018-04-28 | 2023-08-11 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机程序产品 |
TWI664569B (zh) * | 2018-06-05 | 2019-07-01 | 慧榮科技股份有限公司 | 資料儲存裝置及系統資訊的編程方法 |
CN108874312B (zh) * | 2018-05-30 | 2021-09-17 | 郑州云海信息技术有限公司 | 数据存储方法以及存储设备 |
US10936404B2 (en) * | 2018-06-30 | 2021-03-02 | Intel Corporation | Technologies for error detection in compressed data streams |
EP4009183A1 (en) * | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
JP2020071583A (ja) * | 2018-10-30 | 2020-05-07 | 株式会社日立製作所 | データ管理装置、データ管理方法、及びデータ管理プログラム |
JP2020080130A (ja) * | 2018-11-14 | 2020-05-28 | 株式会社日立製作所 | ボリューム管理装置、ボリューム管理方法、及びボリューム管理プログラム |
CN111610929B (zh) * | 2019-02-26 | 2023-04-14 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610930B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610931B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111611178B (zh) | 2019-02-26 | 2023-05-26 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
US11372984B2 (en) * | 2019-08-14 | 2022-06-28 | International Business Machines Corporation | Key-compressible encryption |
US20210064368A1 (en) * | 2019-08-28 | 2021-03-04 | Micron Technology, Inc. | Command tracking |
JP7034132B2 (ja) * | 2019-12-20 | 2022-03-11 | 株式会社日立製作所 | ストレージシステムおよびストレージシステムのデータ圧縮方法 |
JP7197541B2 (ja) * | 2020-04-01 | 2022-12-27 | 株式会社日立製作所 | ストレージ装置 |
JP2021190150A (ja) * | 2020-06-02 | 2021-12-13 | キオクシア株式会社 | メモリシステム及びメモリコントローラ |
CN112328172B (zh) * | 2020-10-27 | 2022-04-19 | 北京百度网讯科技有限公司 | 数据存储方法、装置及数据读取方法、装置 |
RU2752782C1 (ru) * | 2020-12-18 | 2021-08-03 | Акционерное Общество "Крафтвэй Корпорэйшн Плс" | Способ записи секторных данных в кэш-память |
CN112631518B (zh) * | 2020-12-25 | 2022-07-26 | 苏州浪潮智能科技有限公司 | 一种数据存储的方法和设备 |
US11513961B2 (en) * | 2021-01-28 | 2022-11-29 | EMC IP Holding Company LLC | Online heuristic sequentiality detection over input/output streams for cache systems in large address spaces |
JP2023070797A (ja) * | 2021-11-10 | 2023-05-22 | キオクシア株式会社 | メモリシステムおよび方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467022B1 (en) * | 1998-04-16 | 2002-10-15 | International Business Machines Corporation | Extending adapter memory with solid state disks in JBOD and RAID environments |
US6795895B2 (en) * | 2001-03-07 | 2004-09-21 | Canopy Group | Dual axis RAID systems for enhanced bandwidth and reliability |
EP1454240B1 (en) * | 2002-05-13 | 2006-02-08 | Trek 2000 International Ltd | System and apparatus for compressing and decompressing data stored to a portable data storage device |
JP4220726B2 (ja) * | 2002-06-05 | 2009-02-04 | 株式会社日立製作所 | 外部記憶装置システム及び記憶制御装置 |
US7181457B2 (en) * | 2003-05-28 | 2007-02-20 | Pervasive Software, Inc. | System and method for utilizing compression in database caches to facilitate access to database information |
US7162584B2 (en) | 2003-12-29 | 2007-01-09 | Intel Corporation | Mechanism to include hints within compressed data |
US7424482B2 (en) * | 2004-04-26 | 2008-09-09 | Storwize Inc. | Method and system for compression of data for block mode access storage |
US7383399B2 (en) * | 2004-06-30 | 2008-06-03 | Intel Corporation | Method and apparatus for memory compression |
US7568075B2 (en) * | 2005-09-22 | 2009-07-28 | Hitachi, Ltd. | Apparatus, system and method for making endurance of storage media |
CN101346883A (zh) * | 2005-10-26 | 2009-01-14 | 斯多维兹有限公司 | 用于块模式访问存储的数据压缩的方法和系统 |
JP4757038B2 (ja) * | 2006-01-25 | 2011-08-24 | 株式会社日立製作所 | ストレージシステム及び記憶制御装置 |
CN101398744B (zh) * | 2007-09-26 | 2011-12-28 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现网络数据处理的方法及系统 |
JP5112003B2 (ja) * | 2007-10-19 | 2013-01-09 | 株式会社日立製作所 | ストレージ装置及びこれを用いたデータ格納方法 |
US8131927B2 (en) * | 2007-11-30 | 2012-03-06 | Hitachi, Ltd. | Fast accessible compressed thin provisioning volume |
EP2391937A1 (en) * | 2009-01-30 | 2011-12-07 | Hitachi, Ltd. | Storage system and storage control method that compress and store data elements |
US9311002B1 (en) * | 2010-06-29 | 2016-04-12 | Emc Corporation | Systems, methods, and computer readable media for compressing data at a virtually provisioned storage entity |
US9582426B2 (en) * | 2013-08-20 | 2017-02-28 | International Business Machines Corporation | Hardware managed compressed cache |
-
2013
- 2013-12-12 CN CN201810045319.4A patent/CN108108311A/zh active Pending
- 2013-12-12 WO PCT/JP2013/083322 patent/WO2015087424A1/ja active Application Filing
- 2013-12-12 JP JP2015552252A patent/JP6212137B2/ja active Active
- 2013-12-12 DE DE112013006655.6T patent/DE112013006655T5/de not_active Withdrawn
- 2013-12-12 US US14/770,567 patent/US9916248B2/en active Active
- 2013-12-12 CN CN201380071897.0A patent/CN104956312B/zh active Active
- 2013-12-12 GB GB1515174.9A patent/GB2536514A/en not_active Withdrawn
-
2018
- 2018-02-20 US US15/899,659 patent/US20180173632A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20160004642A1 (en) | 2016-01-07 |
US20180173632A1 (en) | 2018-06-21 |
GB201515174D0 (en) | 2015-10-07 |
DE112013006655T5 (de) | 2015-11-19 |
CN108108311A (zh) | 2018-06-01 |
JPWO2015087424A1 (ja) | 2017-03-16 |
WO2015087424A1 (ja) | 2015-06-18 |
GB2536514A (en) | 2016-09-21 |
CN104956312A (zh) | 2015-09-30 |
CN104956312B (zh) | 2018-02-13 |
US9916248B2 (en) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6212137B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
JP6429963B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
JP5918906B2 (ja) | ストレージ装置及びストレージ制御方法 | |
JP4874368B2 (ja) | フラッシュメモリを用いたストレージシステムの管理方法及び計算機 | |
US10248623B1 (en) | Data deduplication techniques | |
JP6677740B2 (ja) | ストレージシステム | |
US8359431B2 (en) | Storage subsystem and its data processing method for reducing the amount of data to be stored in a semiconductor nonvolatile memory | |
JP5816303B2 (ja) | フラッシュメモリを含むストレージシステム、及び記憶制御方法 | |
WO2015162681A1 (ja) | ストレージシステムおよび記憶デバイスの制御方法 | |
WO2015162758A1 (ja) | ストレージシステム | |
US11210231B2 (en) | Cache management using a bucket-partitioned hash table | |
WO2012016209A2 (en) | Apparatus, system, and method for redundant write caching | |
US20200133836A1 (en) | Data management apparatus, data management method, and data management program | |
US9158478B2 (en) | Storage system and storage control method | |
US20190243758A1 (en) | Storage control device and storage control method | |
WO2015075837A1 (ja) | ストレージ装置及びその制御方法 | |
JP6817340B2 (ja) | 計算機 | |
JP6419662B2 (ja) | ストレージシステム及びデータ重複検出方法 | |
WO2018061161A1 (ja) | ストレージ装置およびその制御方法 | |
WO2019026221A1 (ja) | ストレージシステム及びストレージ制御方法 | |
JP5222388B2 (ja) | フラッシュメモリを用いたストレージシステムの管理システム及び管理方法 | |
WO2015097739A1 (ja) | ストレージ装置及びその制御方法 | |
EP4303735A1 (en) | Systems, methods, and devices for reclaim unit formation and selection in a storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170324 |
|
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: 20170815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6212137 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |