JP2018169773A - ストレージ装置、ストレージ装置の制御方法及びプログラム - Google Patents

ストレージ装置、ストレージ装置の制御方法及びプログラム Download PDF

Info

Publication number
JP2018169773A
JP2018169773A JP2017066159A JP2017066159A JP2018169773A JP 2018169773 A JP2018169773 A JP 2018169773A JP 2017066159 A JP2017066159 A JP 2017066159A JP 2017066159 A JP2017066159 A JP 2017066159A JP 2018169773 A JP2018169773 A JP 2018169773A
Authority
JP
Japan
Prior art keywords
write data
input
block size
management table
size
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
JP2017066159A
Other languages
English (en)
Other versions
JP6820060B2 (ja
Inventor
智一 稲垣
Tomokazu Inagaki
智一 稲垣
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017066159A priority Critical patent/JP6820060B2/ja
Publication of JP2018169773A publication Critical patent/JP2018169773A/ja
Application granted granted Critical
Publication of JP6820060B2 publication Critical patent/JP6820060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】リード要求に対する応答性能を改善したストレージ装置を提供する。【解決手段】ストレージ装置は、ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルを有する。そして、ライトデータの入出力パターンを解析して、解析結果を管理テーブルに書き込み、管理テーブルを参照してライトデータを圧縮するブロックのサイズを決定し、決定されたブロックのサイズへライトデータを圧縮して、圧縮データを物理メモリに書き込む。【選択図】図1

Description

本発明は、ストレージ装置、ストレージ装置の制御方法及びプログラムに関する。特に、データ圧縮機能を備えたストレージ装置、ストレージ装置の制御方法及びプログラムに関する。
近年、データ記憶容量の増大に伴い、データ圧縮機能を備えたストレージ装置が利用されている(特許文献1参照)。このようなストレージ装置では、コントローラがホスト端末から受け取ったライトデータを一定サイズのブロックへ圧縮し、圧縮データを記録媒体である物理メモリに書き込む。また、ホスト端末からのリード要求に対しては、コントローラが、物理メモリからブロック単位の圧縮データを読み出し、伸長した後にリードデータとしてホスト端末に対して応答する。
特表2015−518586号公報
以下の分析は、本発明の観点からなされたものである。なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。
特許文献1に開示のストレージ装置では、リード要求に対するストレージ装置の応答性能が低下するという問題点がある。
すなわち、ストレージ装置のコントローラは、ホスト端末からメタデータなどのサイズが小さいデータのリード要求を受け付けることがある。この場合には、コントローラは、要求されたデータのサイズに比べて大きいサイズのデータを伸長することになる。その結果、コントローラにかかる負荷が大きくなり、リード要求に対するストレージ装置の応答性能が低下する。
一方で、ストレージ装置のコントローラは、ホスト端末から、シーケンシャルデータなどのサイズが大きいデータのリード要求を受け付けることがある。この場合には、コントローラは、多数のブロックに分かれた圧縮データをブロック単位で読み出し、各データブロックを各々伸長する必要がある。その結果、コントローラにかかる負荷が大きくなり、ストレージ装置の応答性能が低下する。
そこで、本発明では、リード要求に対する応答性能を改善したストレージ装置、ストレージ装置の制御方法及びプログラムを提供することを目的とする。
本発明の第1の視点によれば、ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルと、
前記ライトデータの入出力パターンを解析して、解析結果を前記管理テーブルに書き込む入出力パターン解析手段と、
前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定手段と、
前記ブロックサイズ決定手段によって決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮手段と、
を備えたストレージ装置が提供される。
本発明の第2の視点によれば、ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルに、ライトデータの入出力パターンを解析して解析結果を書き込む入出力パターン解析ステップと、
前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定ステップと、
前記ブロックサイズ決定ステップにおいて決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮ステップと、
を含むストレージ装置の制御方法が提供される。
本発明の第3の視点によれば、ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルに、ライトデータの入出力パターンを解析して、解析結果を書き込む入出力パターン解析処理と、
前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定処理と、
前記ブロックサイズ決定処理において決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮処理と、
をコンピュータに実行させるプログラムが提供される。
本発明の各視点によれば、リード要求に対する応答性能を改善したストレージ装置、ストレージ装置の制御方法及びプログラムが提供される。
一実施形態の概要を説明するための図である。 第1の実施形態のストレージ装置の一構成を示すブロック図である。 管理テーブル120に記憶される情報の一例を示した図である。 アドレス変換マップ130に記憶される情報の一例を示した図である。 ホスト端末30からライトデータを受信した場合のストレージ装置10による処理フローを示す図である。 ストレージ装置10によるライトデータの圧縮及び格納に関する処理フローを示す図である。 ホスト端末30からリード要求を受信した場合のストレージ装置10による処理フローを示す図である。 第2の実施形態のアドレス変換マップ130の作成及び更新に関する処理フローを示す図である。 第3の実施形態の管理テーブル120に記憶される情報の一例を示した図である。 第3の実施形態のストレージ装置10によるライトデータの圧縮及び格納に関する処理フローを示す図である。
本発明のとり得る好適な実施形態について図面を参照して詳細に説明する。なお、以下の記載に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。
図1に示すように、ストレージ装置10は、物理メモリ群20と接続され、情報処理に必要なデータを記憶する記憶部100と、情報処理を行う処理部200とを有する。物理メモリ群20は圧縮データを記憶する物理メモリ21を複数有し、各物理メモリ21は、バスなどを介してストレージ装置10と接続される。記憶部100は、ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブル120を含む。
処理部200は、ホスト端末(図示せず)とも接続され、I/O(input/output)パターン解析部210と、ブロックサイズ決定部220と、データ圧縮/伸長部230とを有する。なお、I/Oパターン解析部210は入出力パターン解析手段とも称され、ブロックサイズ決定部220はブロックサイズ決定手段とも称される。また、データ圧縮/伸長部230は圧縮手段としての機能の一部を実行する。
I/Oパターン解析部210は、ホスト端末から受け付けたライトデータの入出力パターンを解析して、解析結果を管理テーブル120に書き込む。ブロックサイズ決定部220は、管理テーブル120を参照してライトデータを圧縮するブロックのサイズを決定する。データ圧縮/伸長部230は、ブロックサイズ決定部220によって決定されたサイズでライトデータを圧縮する。そして、ストレージ装置10は、圧縮データを物理メモリ21に書き込む。
具体的な一例を挙げて説明すると、管理テーブル120は、ホスト端末から受け付けたライトデータに対するホスト端末からのアクセスパターン(シーケンシャルアクセス回数、ランダムアクセス回数、平均I/Oサイズ)を記憶する。I/Oパターン解析部210は、ホスト端末から受け付けたライトデータに対するホスト端末からのアクセスパターンを解析して、解析結果を管理テーブル120に書き込む。
ブロックサイズ決定部220は、管理テーブル120を参照して、例えば、シーケンシャルアクセス回数がランダムアクセス回数よりも多いライトデータに関しては、ブロックのサイズを「平均I/Oサイズ*平均シーケンシャルアクセス回数」に決定する。また、ブロックサイズ決定部220は、シーケンシャルアクセス回数がランダムアクセス回数よりも少ないライトデータに関しては、ブロックのサイズを「平均I/Oサイズ」に決定する。
データ圧縮/伸長部230は、ブロックサイズ決定部220によって決定されたブロックのサイズにライトデータを圧縮する。そして、ストレージ装置10は、圧縮データを物理メモリ21に書き込む。また、ストレージ装置10は、ホスト端末からのリード要求を受け付けた場合に、物理メモリ21から圧縮データを読み出し、データ圧縮/伸長部230によって圧縮データを伸長した後にリードデータとしてホスト端末に対して応答する。
このように、ストレージ装置10は、小さいサイズでリード要求を受ける傾向が高い、言い換えるとランダムアクセス回数が多いライトデータに関しては、小さいサイズのブロックに圧縮して物理メモリ21に書き込む。その一方で、ストレージ装置10は、大きいサイズでリード要求を受ける傾向が高い、言い換えるとシーケンシャルアクセス回数が多いライトデータに関しては、大きいサイズのブロックに圧縮して物理メモリ21に書き込む。
そのため、ストレージ装置10は、サイズが小さいデータのリード要求に対して応答する際に、必要に応じたサイズのデータを伸長する傾向が高くなる。また、ストレージ装置10は、サイズが大きいデータのリード要求に対して応答する際に、物理メモリ21から読み出す圧縮データのブロック数が少なくて済む。そのため、データ圧縮/伸長部230にかかる負担が軽減され、結果的にリード要求に対するストレージ装置10の応答性能が改善される。
以下では本発明のとり得る好適な実施形態について図面を参照して詳細に説明する。
[第1の実施形態]
図2に示すように、ストレージ装置10は、物理メモリ群20及びホスト端末30と接続され、記憶部100と、処理部200と、ホスト制御部300と、メモリ制御部400とを有する。物理メモリ群20は、圧縮データを記憶するHDD(hard disk drive)、SDD(solid state drive)などの物理メモリ21を複数有し、各物理メモリ21は、バスなどを介してストレージ装置10と接続される。なお、物理メモリ21はストレージ装置10の内部に搭載することもできる。ホスト端末30は、ネットワークを介して接続されるコンピュータなどであり、ストレージ装置10に対してライトデータ、リード要求などを送信する。
記憶部100は、ROM(read only memory)、RAM(random access memory)などであり、具体的には、圧縮前データ111及び圧縮後データ112を記憶するキャッシュメモリ110を含む。また、記憶部100は、ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブル120、及び論理ボリュームと物理ボリュームのアドレス関連付けを行うためのアドレス変換マップ130も記憶する。なお、管理テーブル120及びアドレス変換マップ130は、キャッシュメモリ110に格納することもできる。
管理テーブル120は、図3に示すように、各論理ボリューム311の領域ごとに、シーケンシャルアクセスの回数、ランダムアクセスの回数及び平均I/Oサイズを記憶する。なお、シーケンシャルアクセスの回数及びランダムアクセスの回数は、アクセスパターンとも称される。また、平均I/Oサイズは平均入出力サイズとも称される。
アドレス変換マップ130は、論理ボリュームマップ(図4A)と、物理ボリュームマップ(図4B)とで構成される。論理ボリュームマップは、論理ボリュームのアドレスと物理ボリュームのアドレスとを対応付けて記憶し、物理ボリュームマップは、物理ボリュームのアドレスと、その物理ボリュームを構成する物理メモリ21のアドレスとを対応付けて記憶する。なお、図4Cは、論理ボリュームマップと物理ボリュームマップに記憶される情報を概念的に示した図である。
処理部200は、CPU(Central Processing Unit)やチップを含んで構成され、記憶部100及びホスト制御部300と接続され、I/Oパターン解析部210と、ブロックサイズ決定部220と、データ圧縮/伸長部230とを有する。
I/Oパターン解析部210は、ホスト端末30から受け付けたライトデータの入出力パターンを解析して、解析結果を管理テーブル120に書き込む。ブロックサイズ決定部220は、管理テーブル120を参照して圧縮データのブロックのサイズを決定する。データ圧縮/伸長部230は、ブロックサイズ決定部220によって決定されたサイズでライトデータを圧縮する。
ホスト制御部300は、論理ボリューム管理部310によって管理される論理ボリューム311を複数有する。論理ボリューム311は、ホスト端末30によってI/O対象として認識されるものである。メモリ制御部400は、物理メモリ群20を制御する機能を有し、物理ボリューム管理部410によって管理される物理ボリューム411を複数有する。なお、メモリ制御部400は、圧縮手段としての機能の一部を実行する。
以下では、図面を参照しつつ、ストレージ装置10による一連の処理の流れ、及び各機能部による処理を説明する。
図5は、ホスト端末30からライトデータを受信した場合のストレージ装置10による処理フローを示す図である。ホスト制御部300はホスト端末30からライトコマンド及びライトデータを受信する(ステップS11)。例えば、ホスト制御部300はホスト端末30から論理ボリューム311(#0)の領域3に、4KB(キロバイト)のライトデータを書き込む旨のライトコマンドを受け付ける。ホスト制御部300がライトデータを受信すると、I/Oパターン解析部210は受信した受信したライトデータのI/Oパターンを解析する(ステップS12)。具体的には、I/Oパターン解析部210は、I/Oパターンとして、シーケンシャルアクセスの回数、ランダムアクセスの回数と平均I/Oサイズを解析する。例えば、I/Oパターン解析部210は、ホスト端末30からライトデータを受信した時に、同一の送信元から前回受信したライトデータと比較して、アドレスに連続性がある場合にはシーケンシャルアクセスであると判定する。一方で、I/Oパターン解析部210は、アドレスに連続性がない場合にはランダムアクセスであると判定する。
そして、I/Oパターン解析部210は、各論理ボリューム311の領域ごとに、I/Oパターンを管理テーブル120に格納する(ステップS13)。具体的には、I/Oパターン解析部210は、上記の判定結果を管理テーブル120に反映する。そしてI/Oパターン解析部210は、論理ボリュームアドレスと対応付けて、ライトデータをキャッシュメモリ110に圧縮前データ111として格納する(ステップS14)。その後I/Oパターン解析部210は、ホスト端末30に対して、書き込み処理の正常終了を応答する(ステップS15)。
図6は、ストレージ装置10によるライトデータの圧縮及び格納に関する処理フローを示す図である。メモリ制御部400は、キャッシュメモリ110に圧縮前データが格納されていることを検出すると(ステップS21、YES)、ブロックサイズ決定部220に対してブロックサイズの決定を指示する。ブロックサイズ決定部220は、メモリ制御部400から指示を受けると、圧縮前データ111に対応付けられた論理ボリュームアドレスを取得する(ステップS22)。そして、ブロックサイズ決定部220は、管理テーブル120を参照して(ステップS23)、圧縮データのブロックのサイズを決定する(ステップS24〜26)。
例えば、ブロックサイズ決定部220は、図2に示す管理テーブル120では、論理ボリューム311(#0)の領域3に関しては、シーケンシャルアクセス回数がランダムアクセス回数よりも少ないと判断する(ステップS24、YES)。ここで、ブロックサイズ決定部220は、ブロックのサイズを論理ボリューム311(#0)の領域3の平均I/Oサイズである4KBに決定する(ステップS25)。
一方で、ブロックサイズ決定部220は、図2に示す管理テーブル120では、論理ボリューム311(#0)の領域2に関しては、シーケンシャルアクセス回数がランダムアクセス回数よりも多いと判断する(ステップS24、NO)。ここで、ブロックサイズ決定部220は、ブロックのサイズを論理ボリューム311(#0)の領域2の「平均I/Oサイズ*平均シーケンシャルアクセス回数」に決定する(ステップS26)。ここで、平均シーケンシャルアクセス回数とは、1回のシーケンシャルアクセスにおいて生じるコマンドの発行回数の平均値に相当する。例えば、論理ボリューム311(#0)の領域2には100MB又は200MBのファイルが格納されており、1回のコマンドを発行する毎に1MBのデータが読み出されるものとする。このとき、100MBのファイルの読み出しには100回のコマンドの発行が必要であり、200MBのファイルの読み出しには200回のコマンドの発行が必要である。これらのコマンドの発行回数の平均値が平均シーケンシャルアクセス回数に相当し、ブロックサイズ決定部220は、論理ボリューム311(#0)の領域2のブロックのサイズを、512KB*150≒75MBに決定する。
そして、ブロックサイズ決定部220は、論理ボリュームアドレスと決定したブロックのサイズをメモリ制御部400に対して返信する。メモリ制御部400は、ブロックサイズ決定部220からブロックのサイズを受け付けると、データ圧縮/伸長部230に対して、論理ボリュームアドレスと受け付けたブロックのサイズへの圧縮前データ111の圧縮を指示する。データ圧縮/伸長部230は、メモリ制御部400から指示を受け付けると、キャッシュメモリ110から圧縮前データ111を読み出して指定されたブロックのサイズへ圧縮し、キャッシュメモリ110に圧縮後データ112として格納する(ステップS27)。メモリ制御部400は、圧縮後データ112が格納されると、アドレス変換マップ130を参照して、ブロックサイズ決定部220から受け付けた論理ボリュームアドレスに紐付けられる物理メモリ21のアドレスへ圧縮後データ112を格納する(ステップS28)。
図7は、ホスト端末30からリード要求を受信した場合のストレージ装置10による処理フローを示す図である。ホスト制御部300はホスト端末30からリード要求を受信する(ステップS31)。例えば、ホスト制御部300はホスト端末30から論理ボリューム311(#0)の領域3に格納されたデータを読み出す旨のリード要求を受信する。ホスト制御部300がリード要求を受信すると、I/Oパターン解析部210は、要求されたデータのI/Oパターンを解析し(ステップS32)、管理テーブル120を更新する(ステップS33)。具体的には、I/Oパターン解析部210は、リード要求がシーケンシャルアクセス又はランダムアクセスのいずれであるかを解析し、管理テーブル120のアクセスパターンを更新する。また、I/Oパターン解析部210は、リード要求されたデータのサイズを解析して管理テーブル120の平均I/Oサイズを更新する。
メモリ制御部400は、アドレス変換マップ130を参照して、リード要求に規定された論理ボリュームアドレスに対応する物理メモリ21のアドレスから圧縮データを読み出して、キャッシュメモリ110に圧縮後データ112として格納する(ステップS34)。そして、メモリ制御部400は、データ圧縮/伸長部230に対して圧縮データの伸長を指示する。データ圧縮/伸長部230は、メモリ制御部400から指示を受け付けると、キャッシュメモリ110から圧縮後データ112を読み出して伸長し(ステップS35)、キャッシュメモリ110に圧縮前データ111として格納する。そして、ホスト制御部300はキャッシュメモリ110に格納された圧縮前データ111をホスト端末30に対して送信する(ステップS36)。
上記のように、第1の実施形態のストレージ装置10は、サイズが小さいデータのリード要求に対して応答する際に、必要に応じたサイズのデータを伸長する傾向が高くなる。また、ストレージ装置10は、サイズが大きいデータのリード要求に対して応答する際に、物理メモリ21から読み出す圧縮データのブロック数が少なくて済む。そのため、データ圧縮/伸長部230にかかる負担が軽減され、結果的にリード要求に対するストレージ装置10の応答性能が改善される。
[第2の実施形態]
第1の実施形態においてアドレス変換マップ130は適宜作成及び更新されるものである。そこで、第2の実施形態として、アドレス変換マップ130の作成及び更新処理について詳しく説明する。図8に示すように、メモリ制御部400は、ライトデータに関して、圧縮前データ111の論理ボリュームアドレスに関するエントリがアドレス変換マップ130に存在しない場合には(ステップS41、NO)、新たなエントリを作成する(ステップS42)。また、メモリ制御部400は、アドレス変換マップ130にエントリが存在する場合には(ステップS41、YES)、該当する物理メモリ21のアドレスが、ライトデータの圧縮データを格納できる容量を有するものか否かを判定する(ステップS43)。容量が無いと判定した場合には(ステップS43、NO)、メモリ制御部400は、新たな物理メモリ21のアドレスを割り当てて、アドレス変換マップ130を更新する(ステップS44)。容量が有ると判定した場合には(ステップS43、YES)、メモリ制御部400は、既存の物理メモリ21のアドレスを、ライトデータの圧縮データを格納できる容量のアドレスに更新する(ステップS45)。
このように、アドレス変換マップ130は適宜作成及び更新される。
[第3の実施形態]
圧縮データのブロックのサイズは、ライトデータのタイプに基づいて決定しても良い。この実施形態では、管理テーブル120は、入出力パターンに対応付けて、ライトデータのタイプを記憶する。具体的には、管理テーブル120は、図9に示すように、各論理ボリューム311の領域ごとに、シーケンシャルアクセスの回数、ランダムアクセスの回数、平均I/Oサイズ及びデータのタイプを記憶する。データのタイプとは、ライトデータのタイプを示す情報であり、例えば、「メタデータ」、「ストリーミングデータ」などである。
I/Oパターン解析部210は、ホスト端末30から受信したライトデータのタイプを解析する。そして、I/Oパターン解析部210は、解析結果をデータのタイプとして管理テーブル120に書き込む。
ブロックサイズ決定部220は、ライトデータがメタデータである場合には、ブロックのサイズを、平均入出力サイズに決定する。また、ライトデータがストリーミングデータである場合には、ブロックのサイズを、平均入出力サイズ*平均シーケンシャルアクセス回数に決定する。
図10は、第3の実施形態のストレージ装置10によるライトデータの圧縮及び格納に関する処理フローを示す図である。なお、第3の実施形態のストレージ装置10によるライトデータの圧縮及び格納に関する処理は、圧縮データのブロックのサイズをライトデータのタイプに基づいて決定することを除いて図6に示す処理フローと同様であり、以下では相違点について説明する。
ブロックサイズ決定部220は、例えば、図9に示す管理テーブル120では、論理ボリューム311(#0)の領域3に関しては、ライトデータのタイプがメタデータであると判断する(ステップS54、YES)。ここで、ブロックサイズ決定部220は、ブロックのサイズを論理ボリューム311(#0)の領域3の平均I/Oサイズである4KBに決定する(ステップS55)。
一方で、ブロックサイズ決定部220は、図9に示す管理テーブル120では、論理ボリューム311(#0)の領域2に関しては、ライトデータのタイプがストリーミングデータであると判断する(ステップS54、NO)。ここで、ブロックサイズ決定部220は、ブロックのサイズを論理ボリューム311(#0)の領域2の「平均I/Oサイズ*平均シーケンシャルアクセス回数」に決定する(ステップS56)。
このように、ストレージ装置10は、メタデータのリード要求に対して応答する際に、必要に応じたサイズのデータを伸長する傾向が高くなる。また、ストレージ装置10は、ストリーミングデータのリード要求に対して応答する際に、物理メモリ21から読み出す圧縮データのブロック数が少なくて済む。そのため、データ圧縮/伸長部230にかかる負担が軽減され、結果的にリード要求に対するストレージ装置10の応答性能が改善される。
なお、ストレージ装置10は、例えば、処理モジュールを搭載したコンピュータによって実現される。当該処理モジュールは、例えば、メモリに格納されたプログラムをCPUが実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェア及び/又はソフトウェアにより実現できればよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルと、
前記ライトデータの入出力パターンを解析して、解析結果を前記管理テーブルに書き込む入出力パターン解析手段と、
前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定手段と、
前記ブロックサイズ決定手段によって決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮手段と、
を備えたストレージ装置。
(付記2)
前記管理テーブルが、シーケンシャルアクセスの回数、ランダムアクセスの回数及び平均入出力サイズを含む入出力パターンを記憶する付記1に記載のストレージ装置。
(付記3)
シーケンシャルアクセス回数がランダムアクセス回数よりも多いライトデータに関しては、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズ*平均シーケンシャルアクセス回数に決定する付記2に記載のストレージ装置。
(付記4)
シーケンシャルアクセス回数がランダムアクセス回数よりも少ないライトデータに関しては、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズに決定する付記2に記載のストレージ装置。
(付記5)
前記管理テーブルが、前記入出力パターンに対応付けて、ライトデータのタイプを記憶し、
前記入出力パターン解析手段がライトデータのタイプを解析して、解析結果を前記管理テーブルに書き込む付記2に記載のストレージ装置。
(付記6)
ライトデータがメタデータである場合には、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズに決定する付記5に記載のストレージ装置。
(付記7)
ライトデータがストリーミングデータである場合には、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズ*平均シーケンシャルアクセス回数に決定する付記5に記載のストレージ装置。
(付記8)
ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルに、ライトデータの入出力パターンを解析して解析結果を書き込む入出力パターン解析ステップと、
前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定ステップと、
前記ブロックサイズ決定ステップにおいて決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮ステップと、
を含むストレージ装置の制御方法。
(付記9)
ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルに、ライトデータの入出力パターンを解析して、解析結果を書き込む入出力パターン解析処理と、
前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定処理と、
前記ブロックサイズ決定処理において決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮処理と、
をコンピュータに実行させるプログラム。
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 ストレージ装置
20 物理メモリ群
21 物理メモリ
30 ホスト端末
100 記憶部
110 キャッシュメモリ
111 圧縮前データ
112 圧縮後データ
120 管理テーブル
130 アドレス変換マップ
200 処理部
210 I/Oパターン解析部
220 ブロックサイズ決定部
230 データ圧縮/伸長部
300 ホスト制御部
310 論理ボリューム管理部
311 論理ボリューム
400 メモリ制御部
410 物理ボリューム管理部
411 物理ボリューム

Claims (9)

  1. ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルと、
    前記ライトデータの入出力パターンを解析して、解析結果を前記管理テーブルに書き込む入出力パターン解析手段と、
    前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定手段と、
    前記ブロックサイズ決定手段によって決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮手段と、
    を備えたストレージ装置。
  2. 前記管理テーブルが、シーケンシャルアクセスの回数、ランダムアクセスの回数及び平均入出力サイズを含む入出力パターンを記憶する請求項1に記載のストレージ装置。
  3. シーケンシャルアクセス回数がランダムアクセス回数よりも多いライトデータに関しては、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズ*平均シーケンシャルアクセス回数に決定する請求項2に記載のストレージ装置。
  4. シーケンシャルアクセス回数がランダムアクセス回数よりも少ないライトデータに関しては、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズに決定する請求項2に記載のストレージ装置。
  5. 前記管理テーブルが、前記入出力パターンに対応付けて、ライトデータのタイプを記憶し、
    前記入出力パターン解析手段がライトデータのタイプを解析して、解析結果を前記管理テーブルに書き込む請求項2に記載のストレージ装置。
  6. ライトデータがメタデータである場合には、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズに決定する請求項5に記載のストレージ装置。
  7. ライトデータがストリーミングデータである場合には、前記ブロックサイズ決定手段がブロックのサイズを、平均入出力サイズ*平均シーケンシャルアクセス回数に決定する請求項5に記載のストレージ装置。
  8. ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルに、ライトデータの入出力パターンを解析して解析結果を書き込む入出力パターン解析ステップと、
    前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定ステップと、
    前記ブロックサイズ決定ステップにおいて決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮ステップと、
    を含むストレージ装置の制御方法。
  9. ホスト端末から受け付けたライトデータの入出力パターンを管理するための管理テーブルに、ライトデータの入出力パターンを解析して、解析結果を書き込む入出力パターン解析処理と、
    前記管理テーブルを参照して前記ライトデータを圧縮するブロックのサイズを決定するブロックサイズ決定処理と、
    前記ブロックサイズ決定処理において決定されたブロックのサイズへ前記ライトデータを圧縮して、圧縮データを物理メモリに書き込む圧縮処理と、
    をコンピュータに実行させるプログラム。
JP2017066159A 2017-03-29 2017-03-29 ストレージ装置、ストレージ装置の制御方法及びプログラム Active JP6820060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017066159A JP6820060B2 (ja) 2017-03-29 2017-03-29 ストレージ装置、ストレージ装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017066159A JP6820060B2 (ja) 2017-03-29 2017-03-29 ストレージ装置、ストレージ装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018169773A true JP2018169773A (ja) 2018-11-01
JP6820060B2 JP6820060B2 (ja) 2021-01-27

Family

ID=64018775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017066159A Active JP6820060B2 (ja) 2017-03-29 2017-03-29 ストレージ装置、ストレージ装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6820060B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020095583A1 (ja) * 2018-11-09 2020-05-14 パナソニックIpマネジメント株式会社 ストレージ装置
KR20200081692A (ko) * 2018-12-28 2020-07-08 (주) 글루시스 사용자 개별 서비스 환경을 위한 스토리지 장치 제어 방법 및 스토리지 컨트롤러
US11137921B2 (en) 2019-03-05 2021-10-05 Samsung Electronics Co., Ltd. Data storage device and system
KR20220102560A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 호스트 및 스토리지 시스템을 포함하는 컴퓨팅 시스템
US11875036B2 (en) 2021-01-13 2024-01-16 Samsung Electronics Co., Ltd. Computing system including host and storage system and having increased write performance

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020095583A1 (ja) * 2018-11-09 2020-05-14 パナソニックIpマネジメント株式会社 ストレージ装置
JPWO2020095583A1 (ja) * 2018-11-09 2021-09-02 パナソニックIpマネジメント株式会社 ストレージ装置
KR20200081692A (ko) * 2018-12-28 2020-07-08 (주) 글루시스 사용자 개별 서비스 환경을 위한 스토리지 장치 제어 방법 및 스토리지 컨트롤러
US10891150B2 (en) 2018-12-28 2021-01-12 Gluesys Co., Ltd. Storage control method and storage controller for user individual service environment
KR102202107B1 (ko) * 2018-12-28 2021-01-12 (주)글루시스 사용자 개별 서비스 환경을 위한 스토리지 장치 제어 방법 및 스토리지 컨트롤러
US11137921B2 (en) 2019-03-05 2021-10-05 Samsung Electronics Co., Ltd. Data storage device and system
US11768618B2 (en) 2019-03-05 2023-09-26 Samsung Electronics Co., Ltd. Distributed processing data storage device and system
KR20220102560A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 호스트 및 스토리지 시스템을 포함하는 컴퓨팅 시스템
KR102509987B1 (ko) 2021-01-13 2023-03-15 삼성전자주식회사 호스트 및 스토리지 시스템을 포함하는 컴퓨팅 시스템
US11875036B2 (en) 2021-01-13 2024-01-16 Samsung Electronics Co., Ltd. Computing system including host and storage system and having increased write performance

Also Published As

Publication number Publication date
JP6820060B2 (ja) 2021-01-27

Similar Documents

Publication Publication Date Title
JP2018169773A (ja) ストレージ装置、ストレージ装置の制御方法及びプログラム
EP3103009B1 (en) Flash memory compression
US8799562B2 (en) Storage apparatus and data control method for generating and storing format data and guarantee codes
US7346732B2 (en) Storage system
KR101468336B1 (ko) 데이터 압축률 예측 기법에 기반한 데이터 분산 저장 방법, 이를 이용한 저장 장치 및 시스템
JP5347657B2 (ja) データ記憶プログラム、方法、及び情報処理装置
JP5944502B2 (ja) 計算機システム及び制御方法
WO2017219364A1 (zh) 处理数据的方法、存储装置、固态硬盘和存储系统
US9727246B2 (en) Memory device, computer system, and method of controlling memory device
US10338833B1 (en) Method for achieving sequential I/O performance from a random workload
JP6011349B2 (ja) ストレージ装置、およびデータ圧縮方法
US10019398B2 (en) System with solid state drive and control method thereof
KR20160033519A (ko) 라이트 명령들에 대한 로그를 생성할 수 있는 데이터 저장 장치의 작동 방법과 이를 포함하는 raid 시스템의 작동 방법
WO2015162755A1 (ja) データを圧縮して格納するストレージ装置
JP2020112972A (ja) ストレージ制御装置およびストレージ制御プログラム
KR102277731B1 (ko) 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러
JP6254986B2 (ja) 情報処理装置、アクセスコントローラ、および情報処理方法
JP6524945B2 (ja) 制御装置、記憶装置、記憶制御方法およびコンピュータプログラム
JP6760916B2 (ja) ストレージコントローラ、ストレージアレイ装置、データ格納方法、およびプログラム
JP2019061654A (ja) 情報処理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190722

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200117

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200121

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200403

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200407

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200811

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20201006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201014

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20201014

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20201027

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20201201

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201224

R150 Certificate of patent or registration of utility model

Ref document number: 6820060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150