JP2010102369A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2010102369A
JP2010102369A JP2008270510A JP2008270510A JP2010102369A JP 2010102369 A JP2010102369 A JP 2010102369A JP 2008270510 A JP2008270510 A JP 2008270510A JP 2008270510 A JP2008270510 A JP 2008270510A JP 2010102369 A JP2010102369 A JP 2010102369A
Authority
JP
Japan
Prior art keywords
data
solid state
disks
state disks
writable
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
JP2008270510A
Other languages
English (en)
Other versions
JP5349897B2 (ja
Inventor
Norio Shimozono
紀夫 下薗
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008270510A priority Critical patent/JP5349897B2/ja
Priority to US12/332,758 priority patent/US20100100664A1/en
Publication of JP2010102369A publication Critical patent/JP2010102369A/ja
Application granted granted Critical
Publication of JP5349897B2 publication Critical patent/JP5349897B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices

Abstract

【課題】SSDを搭載したRAIDストレージシステムのリードアクセス応答時間の増大を回避する。
【解決手段】プロセッサ303は、SSD352Aを、書込可能状態として設定するとともに、同一のデータを取得可能なSSD352Bを書込みの書込不可能状態として設定し、書込可能状態のSSD352Aに対して、CM305の所定のデータを書き込ませ、ホスト計算機100からデータの読出要求を受信し、データの格納先が、書込可能状態として設定されているSSD352Aである場合に、SSD352Bから読出要求の対象のデータを取得し、取得したデータをホスト計算機100に送信するように構成する。
【選択図】図1

Description

本発明は、複数のソリッドステートディスク(SSD:Solid State Disk)を備え、書込み対象のデータ(ライトデータ)をキャッシュメモリに書き込んだ後に、ソリッドステートディスクに書き込むストレージシステム等に関する。
各種データを記憶するストレージシステムとして、複数のHDD(ハードディスクドライブ)を備えたストレージシステムが知られている。
このようなストレージシステムにおいて、データアクセスの性能を高くすると共に、データ記憶に対する信頼性を向上する技術として、RAID(Reduntant Arrays of Inexpensive Disks)を構成するとともに、ライトデータをキャッシュメモリに記憶し、その後、そのデータをHDDに反映させる技術が知られている(特許文献1参照)。
また、HDDよりも高速にランダムアクセス可能なNANDフラッシュメモリに対してデータを格納するようにしたストレージ装置も知られている(特許文献2参照)。
特許第3264465号公報 米国特許第7039788号明細書
特許文献1に記載されたようなHDDを有するストレージシステムにおいて、データアクセスを更に高速化するためには、より高性能なプロセッサ、キャッシュメモリ、HDDを搭載するか、又は、プロセッサ、キャッシュメモリ、HDDの搭載数を増やすかが考えられる。プロセッサやキャッシュメモリなどは半導体の微細化によって高性能化が実現できるが、HDDは内部に機械的なシーク機構を有するため高性能化が前者に比して困難である。このため、現状では、高速化するためには、HDDの搭載数を増やすことが必要となる。しかしながら、HDDの搭載数を増やすと、システムが高コストになってしまうという問題がある。
そこで、ストレージシステムにおいて、HDDの代わりに、NANDフラッシュメモリを格納したSSDを搭載することが考えられる。NANDフラッシュメモリはHDDと異なり、上書き不可能なメディアである。このために、SSDを搭載したストレージシステムにおいては、特許文献2に記載されたように、SSDのフラッシュメモリに対して追記型記憶を行い、ライトデータが一定量に達したら、最新のデータをフラッシュメモリの新しいブロックにコピーし、コピーが完了したブロックのデータを消去する処理(リクラメーション処理)を行う必要がある。
従って、リードデータが格納されているSSDにおいてリクラメーション処理が行われている場合には、SSDのアクセス性能が低下する問題が発生すると考えられる。具体的には、キャッシュミスした場合において、リクラメーション処理が行われているSSDからのリードに時間を要するので、リードアクセスの応答時間が増大してしまう。
そこで、本発明は、SSDを備えたストレージシステムにおけるリードアクセスの応答時間が増大することを回避する技術を提供することを目的とする。
上記目的達成のため、本発明の一観点に係るストレージシステムは、キャッシュメモリと、複数のソリッドステートディスクとを備え、書込み対象のデータをキャッシュメモリに書き込んだ後に、データを所定のソリッドステートディスクに書込むストレージシステムであって、複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、ソリッドステートディスクに格納されているデータと同一のデータを取得可能な他の1以上のソリッドステートディスクとが含まれており、1以上のソリッドステートディスクを、キャッシュメモリに書き込まれている所定のデータを書込み可能な書込可能状態として設定するとともに、1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な他の1以上のソリッドステートディスクをデータの書込み不可能な書込不可能状態として設定する設定部と、書込可能状態として設定されているソリッドステートディスクに対して、キャッシュメモリの所定のデータを書き込ませる書込み制御部と、外部装置からソリッドステートディスクに格納されたデータの読出要求を受信する受信部と、読出要求の対象のデータの格納先が、書込可能状態として設定されている1以上のソリッドステートディスクである場合に、1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な他の1以上のソリッドステートディスクから読出要求の対象のデータを取得する取得部と、取得したデータを外部装置に送信する送信部とを有する。
本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素およびその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下、本発明の一実施形態に係るストレージシステムを説明する。
図1は、本発明の一実施形態に係る計算機システムの概略構成と、計算機システムにおけるRAID10のRAIDグループに関するデータ転送の概略を示す図である。
計算機システムは、外部装置の一例としてのホスト計算機100と、ストレージシステム200とを有する。ホスト計算機100は、複数であってもよい。ストレージシステム200は、コントローラ部300と、記憶装置部351を備える。記憶装置部351は、複数のSSD(ソリッドステートディスク)352を含む。SSD352は、NANDフラッシュメモリと、キャッシュメモリとを搭載しており、NANDフラッシュメモリのブロックに対して追記型記憶を行い、所定の時点、例えば、書き込まれたブロックが一定量に達した時点に、最新のデータをフラッシュメモリの新しいブロックにコピーし、コピーが完了したブロックのデータを消去して記憶可能なブロックに再生する処理(リクラメーション処理)を行う。記憶装置部351は、SSD352だけに限らず、HDDなどの他の種類の記憶装置を含んでいても良い。
本実施形態のストレージシステム200では、複数のSSD352のうちの2個以上のSSD352によって構成されたRAIDグループを複数備えることができるようになっている。例えば、SSD352AとSSD352Bは、RAID10(すなわち、ミラーリングとストライピングとを行う構成)のRAIDグループを構成している。
ストレージシステム200においては、1つのRAIDグループの記憶空間を、1又は複数の論理ボリューム(LVOL)として提供することができる。各論理ボリュームには、ボリューム識別子、例えば、LUN(Logical Unit Number)が対応付けられる。
コントローラ部300は、ホストI/F301と、ディスクI/F302と、キャッシュメモリ(CM)305と、プロセッサ(MP)303とを備える。
ホストI/F301は、ストレージシステム200がホスト計算機(ホスト)100と通信するためのインタフェースであり、例えばファイバチャネル(Fibre Channel)のポートである。ディスクI/F302は、コントローラ部300がSSD352と通信するためのインタフェースであり、例えばファイバチャネルや、SAS(Serial Attached SCSI)のポートである。CM305は、ホスト100から受信したデータや、SSD352から読み出されたデータ等を一時的に記憶する。
MP303は、ホスト100から送信されるSCSIコマンドに基づいて処理を実行し、ホスト100との間のデータ転送を制御する。また、MP303は、ホスト100からリードコマンド(読出要求)を受信すると、CM305にリードコマンドの対象のデータ(リードデータ)が格納されているか判定し、格納されていない場合(すなわち、キャッシュミスの場合)には、SSD352からCM305にリードデータをステージ(読出し)してから、ホスト100へリードデータを転送する。
また、MP303は、ホスト100からライトコマンド(書込要求)を受信すると、CM305に書込み対象のデータ(ライトデータ)を格納し、非同期にライトデータをCM305からSSD352へデステージ(書込み)する。
また、MP303は、RAID10のRAIDグループの一方側のSSD352(例えば、データSSD:データSSD352A)をデステージモード(デステージ可能状態:ライトアクセス可能)と設定している間は、同一のデータを読み出すことができるRAIDグループの他方側のSSD352(例えば、ミラーSSD:ミラーSSD352B)をステージモード(デステージ不可能状態:ライトアクセス不可能)に設定する。このように設定している場合には、MP303は、デステージモードのSSD352に対するリードアクセスがあった場合には、ステージモードのSSD352からリードアクセス対象のデータと同一のデータのステージを行う。このようにすることで、MP303は、リクラメーション処理を実行しないことが確保されているステージモードのSSD352から所望のデータをステージすることができる。このため、リードアクセス応答時間の増大を回避することができる。
また、MP303は、所定の条件が満たされた場合(例えば、一定量のダーティデータをデステージした場合)には、デステージモードと、ステージモードとのSSD352を入れ替える。例えば、データSSD352Aをステージモードに設定し、ミラーSSD352Bをデステージモードに設定する。これにより、ミラーSSD352BへCM305に格納されているライトデータをデステージすることができる。
図2は、本発明の一実施形態に係るストレージシステムのハードウェア構成図である。
ストレージシステム200のコントローラ部300は、1以上のホストI/F301と、1以上のディスクI/F302と、MP303と、内部結合網304と、CM305と、パリティ計算回路306と、ネットワークI/F307とを有する。
内部結合網304は、ホストI/F301、ディスクI/F302、MP303、CM305、及びパリティ計算回路306を相互に結合する。内部結合網304は、例えばクロスバスイッチ又はバスである。パリティ計算回路306は、RAID5、RAID6におけるパリティに関する計算をするための回路である。
ネットワークI/F307は、外部の計算機を接続するためのインタフェースであり、例えばEthernet(登録商標)のポートである。外部の計算機は、ネットワークI/F307を通して、ストレージシステム200の各種設定を行うことができる。
図3は、本発明の一実施形態に係るストレージシステムのRAID10のRAIDグループに対する処理に関わる機能構成図である。
プロセッサ303は、受信部及び送信部の一例としてのSCSIコマンド処理部310と、取得部の一例としてのステージ処理部311と、書込み制御部の一例としてのデステージ処理部312と、設定部、第1割合判定部、及び第2割合判定部の一例としてのSSDモード更新処理部313と、構成管理処理部314と、構成情報記憶部320と、キャッシュ制御情報記憶部321と、SSDアクセスモード情報記憶部322とを有する。
キャッシュメモリ305には、複数のキャッシュスロット323が格納される。キャッシュスロット323は、論理ボリュームの所定の単位のデータを一時的に格納するためのものである。
SCSIコマンド処理部310は、ホストI/F301を通して、ホスト100から受信したSCSIコマンドを処理する。また、ホストI/F301を介して、ホスト100へSCSIコマンド等を送信する。SCSIコマンド処理部310により、ホスト100からライトデータが受信される。また、SCSIコマンド処理部310により、ホスト100へキャッシュメモリ305のリードデータが送信される。ステージ処理部311は、SSD352からCM305へリードデータを読み込む(ステージする)。ステージ処理部311は、リードコマンド処理でキャッシュミスが発生した際に、SCSIコマンド処理部310から呼ばれる。
デステージ処理部312は、ホスト100からCM305に書き込まれたライトデータを、SSD352へ書き込む(デステージする)。
SSDモード更新処理部313は、デステージモードとするSSD352を切り替える処理を実行する。より具体的には、SSDモード更新処理部313は、SSDアクセスモード情報記憶部322のアクセスモード情報を更新する処理を実行する。構成管理処理部314は、ネットワークI/F307を通して、外部の計算機からの要求を受信し、ストレージシステム200の構成情報記憶部320の構成情報を設定する処理を実行する。
構成情報記憶部320は、ストレージシステム200の構成情報を記憶する。例えば、構成情報記憶部320は、ホストI/F301とLUNとの組と、論理ボリュームとの対応関係を表すLU構成情報テーブル3205と、論理ボリュームとRAIDグループとの対応関係を表す論理ボリューム構成情報テーブル3206と、RAIDグループとSSD352の対応関係を表すRAIDグループ構成情報3201とを記憶する。
キャッシュ制御情報記憶部321は、CM305にキャッシュスロット323単位で格納される論理ボリュームのデータを制御するためのキャッシュ制御情報を記憶する。
SSDアクセスモード情報記憶部322は、SSD352へリード/ライトアクセス可能かどうかを示す情報を記憶する。この情報は、SSDモード更新処理部313によって更新される。
図4は、本発明の一実施形態に係るLU構成情報テーブルを示す図である。
LU構成情報テーブル3205は、各ホストI/F301とLUNとの組を、論理ボリュームに対応づけるテーブルである。具体的に、LU構成情報テーブル3205には、ホストI/F識別子(ホストI/F ID)と、LUN(論理ユニット番号)と、論理ボリューム識別子(LVOL ID)とが対応付けられて格納される。例えば、ホストI/F IDが”S1a”のホストI/F301においてLUN”0”に対応する論理ボリュームのIDは、”L1"であることがわかる。
図5は、本発明の一実施形態に係る論理ボリューム構成情報テーブルを示す図である。
論理ボリューム構成情報テーブル3206は、論理ボリュームとRAIDグループとを対応付けるテーブルである。具体的に論理ボリューム構成情報テーブル3206には、LVOL IDとRAIDグループIDとが対応付けて格納される。ここで、同図では、論理ボリュームとRAIDグループとを1:1に対応付けているが、これに限られず、論理ボリューム及びRAIDグループをそれぞれより小さな記憶領域に分割してN:M(N、Mは任意の整数)に対応付けるようにしても良い。
図6は、本発明の一実施形態に係るRAIDグループ構成情報を示す図である。
RAIDグループ構成情報3201は、各RAIDグループに対応して設けられており、各RAIDグループとSSD352の対応関係を表している。RAIDグループ構成情報3201は、RAID情報3202と、複数のSSDID3203とを含む。RAID情報3202は、対応するRAIDグループの種別(RAIDレベル)を示す。SSDID3203は、RAIDグループを構成するSSD352のIDを示す。図6は、対応するRAIDグループが、RAID10であり、SSDIDが0〜3までの4台で構成されていることを示している。例えば、データ用のSSD構成(データSSD)は、IDが”0”と”1”の2台のSSD352で構成され、ミラー用のSSD構成(ミラーSSD)は、IDが”2”と”3”の2台のSSD352で構成されていることを示している。
図7は、本発明の一実施形態に係るキャッシュ制御情報を示す図である。
キャッシュ制御情報記憶部321は、キャッシュ制御情報として、論理ボリュームの論理ブロックアドレス(LBA:Logical Block Address)からキャッシュスロット323を検索するためのキャッシュディレクトリテーブル411、各キャッシュスロット323の状態を表すスロット制御ブロック412、同一のスロット状態にあるスロットのスロット制御ブロック412を連結し、高速に検索可能とするためのキューポインタ413、414、及び415を含む。ダーティキュー415は、SSD352と同数設けられ、RAID1論理ダーティキューと、RAID5論理ダーティキューと、物理ダーティキューとの3種類を含む。
図8は、本発明の一実施形態に係るキャッシュディレクトリテーブルと、スロット制御ブロックとの対応を示す図である。
キャッシュディレクトリテーブル411は、RAIDグループとスロット番号とから、スロット制御ブロック412を検索するためのテーブルであり、複数のハッシュポインタからなる。スロット番号とは、RAIDグループをキャッシュスロットサイズ(例えば4kB)で分割したときのアドレス番号である。そのため、1つのハッシュポインタには、複数のスロット制御ブロック412がスロット制御ブロックポインタで連結される。
ここで、RAIDグループとスロット番号とからハッシュ計算を行い、検索を開始するハッシュポインタを算出し、ハッシュポインタからスロット制御ブロック412を辿ることで各スロット制御ブロック412の検索を行うことができる。
本実施形態では、MP303は、ホスト100からのSCSIコマンドで指定されているアドレス情報(例えばLUNとLBAとの組み合わせ)を用いて、構成情報記憶部320の構成情報を参照することにより、LVOL IDを特定し、特定したLVOL IDとLBAとから、RAIDグループ及びスロット番号を特定することできる。そして、MP303は、RAIDグループID及びスロット番号をハッシュ化することにより、ディレクトリエントリポイントを求め、対応するハッシュポインタから、スロット制御ブロック412を特定することができる。
スロット制御ブロック412は、各キャッシュスロット323に対応した情報である。スロット制御ブロック412には、複数種類の情報要素が記述される。スロット制御ブロック412は、例えば、スロット制御ブロックポインタ、双方向キューポインタ、RAIDグループID/スロット番号、キャッシュスロットアドレス、スロット属性等を含むことができる。ここで、双方向キューポインタは、同一のスロット状態のスロット制御ブロック412を相互に接続するためのポインタであり、双方向に対応するため2つのポインタを有する。
図9は、本発明の一実施形態に係るクリーンキューと、スロット制御ブロックとの対応を示す図である。なお、同図では、クリーンキューの一例を示しているが、フリーキューやダーティキューも同様な構造となっている。
クリーンキュー414は、クリーンキューMRU(Most Recently Used)ポインタ414A、クリーンキューLRU(Least Recently Used)ポインタ414B、クリーンキューカウンタ414Cの3つの情報を有する。
クリーンキューMRUポインタ414Aは、最も最近使用したスロットに対応するスロット制御ブロック412を示すポインタである。クリーンキューLRUポインタ414Bは、最も最近使用していないスロットに対応するスロット制御ブロック412を示すポインタである。本実施形態では、クリーンキューMRUポインタ414Aと、クリーンキューLRUポインタ414Bとを、スロット制御ブロック412の双方向キューポインタで接続しているので、特定のスロット属性を持つスロット制御ブロック412を素早く検索することができる。クリーンキューカウンタ414Cは、クリーン状態のスロット制御ブロック412の総数を記憶する。クリーンキューカウンタ414Cの総数は、クリーン状態のスロット制御ブロック412の数の増減があった場合に反映される。これによって、クリーン状態のスロット制御ブロック412の総数を迅速に把握することができる。
図10は、本発明の一実施形態に係るSSDアクセスモード情報を示す図である。
SSDアクセスモード情報記憶部322は、SSD352と同数のSSDアクセスモードエントリ3221を含む。SSDアクセスモードエントリ3221は、リードモード設定3222とライトモード設定3223を含み、各モード設定について“イネーブル”(可能)か“ディセーブル”(不可能)のどちらかの状態をとる。ここで、リードモード設定3222がディセーブルで、ライトモード設定3223がイネーブルである場合には、対応するSSD352がデステージ可能状態(書込可能状態)であることを示し、リードモード設定3222がイネーブルで、ライトモード設定3223がディセーブルである場合には、対応するSSD352がデステージ不可能状態(書込不可能状態)であることを示している。
図11は、本発明の一実施形態に係るRAID10のRAIDグループのデータのキャッシュに関わるキャッシュスロットの状態遷移図である。
キャッシュスロット323のスロット状態は、フリー401、クリーン402、RAID1論理ダーティ403、物理ダーティ404のいずれかとなる。フリー401とは、キャッシュスロット323が未使用のスロット状態であることを示す。クリーン402とは、キャッシュスロット323が論理ボリュームのデータを含み、そのデータは既にデータ用とミラー用のSSD352へデステージされているスロット状態であることを示す。RAID1論理ダーティ403とは、キャッシュスロット323が論理ボリュームのデータを含み、そのデータをデータ用、ミラー用の両方のSSD352へデステージする必要があるスロット状態であることを示す。物理ダーティ404とは、キャッシュスロット323が論理ボリュームのデータを含み、ミラー用のSSD352へのデステージは行われており、そのデータをデータ用のSSD352へデステージする必要があるスロット状態である。
SCSIコマンド処理部310においてキャッシュミスが発生すると、MP303は対応するデータをキャッシュするためのキャッシュスロット323をフリー401のキャッシュスロット323から割り当てる。フリー401のキャッシュスロット323がない場合には、MP303はクリーン402のキャッシュスロット323のLRUのキャッシュスロット323のスロット状態をフリー401とすることにより、フリー401のキャッシュスロット323を確保する。
また、MP303は、割り当てられたフリー401のキャッシュスロット323に、ホスト100からのライトデータを格納し、キャッシュスロット323のスロット状態をRAID1論理ダーティ403に設定する。また、MP303は、RAID1論理ダーティ403のキャッシュスロット323のデータについて、ミラー用のSSD352へデステージを完了したら、物理ダーティ404に設定する。また、MP303は、物理ダーティ404のキャッシュスロット323のデータをデータ用のSSD352へデステージを完了したら、クリーン402に設定する。
MP303は、キャッシュスロット323の各状態遷移を行う際に、状態遷移に応じて、各状態のキャッシュスロット323の数を記憶する状態カウンタ(例えば、クリーンキューカウンタ414C)を増減させることで、各状態にあるキャッシュスロット数を管理する。
次に、本発明の一実施形態に係るストレージシステムの処理について説明する。
図12は、本発明の一実施形態に係るRAID10のRAIDグループに対するステージ処理のフローチャートである。
このステージ処理は、SCSIコマンド処理部310にてキャッシュリードミスが発生したときに呼び出されて実行される。
最初に、MP303はRAIDグループ構成情報3201を参照し、リードデータが格納されているデータ用のSSD352とミラー用のSSD352のSSDIDを取得する(ステップS501)。次に、MP303はデータ用のSSD352に対応するSSDアクセスモード情報記憶部322のSSDアクセスモードエントリ3221を参照し、SSD352のリードモードが“イネーブル”であるか否かを判定する(ステップS502)。
判定の結果、リードモードが"イネーブル"である場合(ステップS502:Yes)には、データ用のSSD352がデステージ可能状態ではないことを意味するので、MP303はこのデータSSD352から対象のデータをリードし、CM305のキャッシュスロット323にデータを格納し、要求元のホスト100へデータを送信する。(ステップS503)。次いで、MP303はキャッシュスロット323のスロット状態を“クリーン”に設定し、ステージ処理を終える(ステップS504)。
一方、ステップS502の判定の結果、リードモードが”イネーブル”でない場合(ステップS502:No)には、データ用のSSD352がデステージ可能状態となっている可能性があるので、MP303はミラー用のSSD352からデータをリードし、キャッシュスロット323にデータを格納し、要求元のホスト100へデータを送信する。(ステップS505)。次いで、MP303はキャッシュスロット323のスロット状態を“クリーン”に設定し、ステージ処理を終える。(S504)。
このような処理によって、MP303は、デステージが可能な状態となっている可能性があるSSD352からリードすることがない。従って、リクラメーション処理を行う可能性のあるデステージ可能状態のSSD352からのリードを回避することができる。このため、リクラメーション処理が行われることのないSSD352からデータをリードすることができ、リクラメーション処理によるアクセス時間の増大を回避することができる。
図13は、本発明の一実施形態に係るRAID10のRAIDグループに対するデステージ処理のフローチャートである。
デステージ処理は、例えば、MP303により定期的に呼び出され、RAID10の各RAIDグループを対象に実行される。最初に、MP303はRAIDグループ構成情報3201とSSDアクセスモードエントリ3221を参照し、RAIDグループの中でライトモードが“イネーブル”であるSSD352を検索する(ステップS601)。
MP303は、ステップS601で見つけたSSD352に対応するキャッシュスロット323の中からスロット状態が“物理ダーティ”であるキャッシュスロット323を検索する(ステップS602)。
この結果、物理ダーティであるキャッシュスロット323を見つけた場合(ステップS602:Yes)には、MP303は、このSSD352(この場合には、データ用のSSD352)に対して、キャッシュスロット323に格納されているデータ(ダーティデータ)をライトする(ステップS603)。次いで、MP303は、データSSD352へダーティデータをライトし終えたら、キャッシュスロット323のスロット状態を“クリーン”に設定し(ステップS604)、ステップS608に進む。これにより、早期にクリーンに遷移させることのできる物理ダーティであるキャッシュスロット323を優先的に処理し、クリーンにすることができる。
一方、SSD352に対応するキャッシュスロット323が見つけられなかった場合(ステップS602:No)には、MP303は、ステップS601で見つけたSSD352に対応するキャッシュスロット323の中からスロット状態が“RAID1論理ダーティ”であるキャッシュスロット323を検索する(ステップS605)。
この結果、スロット状態が“RAID1論理ダーティ”であるキャッシュスロット323を見つけた場合(ステップS605:Yes)には、MP303は、このSSD352(この場合には、ミラー用のSSD352)へキャッシュスロット323に格納されているデータをライトする(ステップS606)。次いで、MP303は、ミラーSSD352へデータをライトし終えたら、キャッシュスロット323のスロット状態を“物理ダーティ”に設定し(ステップS607)、ステップS608に進む。
なお、対応するキャッシュスロット323の中からスロット状態が“RAID1論理ダーティ”であるキャッシュスロット323を見つけられなかった場合(ステップS605:No)には、ステップS609に進む。
ステップS608では、MP303は、ライト回数が所定の目標回数(例えば、所定の回数:所定の処理量)に達したか否かを判定し(ステップS608)、達していない場合(ステップS608:No)には、ステップS602に進む一方、所定の目標回数に達している場合(ステップS608:Yes)には、ステップS609に進む。
ステップS609では、SSDモード更新処理部313にデステージ処理の処理完了を通知し、処理を終了する。
図14は、本発明の一実施形態に係るRAID10のRAIDグループに対するSSDモード変更処理のフローチャートである。SSDモード変更処理は、SSDモード更新処理部313によって各RAIDグループ(RAID10のRAIDグループ)について実行される。
最初に、MP303は、処理対象のRAIDグループに対応するダーティデータのデータ量がCM305の記憶容量に占める比率が高すぎないか否かを判定する(ステップS701)。本実施形態では、MP303は、例えば、比率が70%を超えていたら比率が高すぎると判定する。
ダーティデータの比率が高すぎない場合(ステップS701:No)には、MP303はライトモードが“イネーブル”であるSSD352に対して、キャッシュフラッシュコマンドを発行する(ステップS702)。ここで、キャッシュフラッシュコマンドとしては、例えばATAの場合は、”FLUSH CACHE”コマンドであり、SCSIの場合は“SYNCHRONIZE CACHE”コマンドとして定義されているものがある。これにより、コマンドが発行されたSSD352においては、SSD352内のキャッシュメモリからNANDフラッシュメモリに対する書き込みが実行され、必要であれば、リクラメーション処理が実行されることとなる。
SSD352のキャッシュフラッシュが完了した場合には、MP303は処理対象のRAIDグループを構成する全SSD352のリードモードを“イネーブル”に設定し、ライトモードを“ディセーブル”に設定する(ステップS703)。次に、MP303は、処理対象のRAIDグループに対応するダーティデータがCM305に占める比率が非常に低いか否かを判定する(ステップS704)。本実施形態では、MP303は、例えば、比率が5%以下である場合には、非常に低いと判定する。
ダーティデータがCM305に占める比率が非常に低いと判定された場合(ステップS704:Yes)には、MP303は、しばらくの間、SSDモード変更処理313をスリープする(ステップS705)。例えば、スリープする時間としては、固定的な時間(例えば、1秒)としてもよく、MP303がその時点のアクセス負荷を取得し、そのアクセス負荷に応じて時間を可変的に決定するようにしてもよい。このようにすることにより、この間には、SSD352に対してデステージが発生しないので、デステージ処理によるリードアクセスに対する遅延の影響を適切に防止することができる。
なお、ダーティデータがCM305に占める比率が非常に低いと判定されなかった場合(ステップS704:No)や、スリープの時間が経過した場合には、MP303は、処理対象のRAIDグループでダーティ状態(RAID1論理ダーティと物理ダーティ)のキャッシュスロット323が最も多いSSD352を選択する(ステップS706)。次いで、MP303は、選択したSSD352をデステージ実行可能状態に設定する。より具体的には、MP303は、当該SSD352のSSDアクセスモードエントリ3221におけるリードモードを“ディセーブル”に設定し、ライトモードを“イネーブル”に設定する(ステップS707)。
なお、ダーティデータの比率が高すぎると判定された場合(ステップS701:Yes)には、MP303は、処理対象のRAIDグループの全SSD352をステージ可能状態に設定するととともに、デステージ可能状態の両方に設定する。より具体的には、MP303は、全SSD352のSSDアクセスモードエントリ3221のリードモードとライトモードを“イネーブル”に設定する(ステップS708)。このようにすることで、MP303はデステージのスループットを向上させ、CM305がダーティデータで埋め尽くされることを回避することができる。
次に、本実施形態に係る計算機システムにおけるRAID5のRAIDグループが構成されている場合に関わる構成及び処理について説明する。
図15は、本発明の一実施形態に係る計算機システムの概略構成と、計算機システムにおけるRAID5のRAIDグループに対するデータ転送の概略を示す図である。なお、図1に示すRAID10のRAIDグループに関わる構成との差異を中心に説明する。
記憶装置部351には、複数(図では、4台)のSSD352(SSD352C〜SSD352F)によりRAID5のRAIDグループが構成されている。
コントローラ部300においては、図1に示した構成の他に、パリティ計算回路306が処理に加わるようになっている。パリティ計算回路306は、RAID5おけるXOR演算や、RAID6におけるガロア体演算を行うための回路である。パリティ計算回路306は、書込み対象の新データと、書込み対象の領域に書き込まれている旧データと、旧データを用いて算出された旧パリティデータとに基づいて新パリティデータを算出する機能や、複数のデータ(3D+Pの構成であれば、2組のデータ)とパリティデータとから残りのデータを復元したりする機能を有する。
MP303は、RAIDグループの一部のSSD352(RAID5であれば、いずれか1つのSSD352)をデステージ可能状態としている際に、デステージ可能状態のSSD352からデータを読み出す必要がある場合には、MP303は、残りのSSD352のデータ及びパリティデータをパリティ計算回路306に転送し、パリティ計算回路306に目的のデータを復元させ、復元したデータをCM305に格納する。例えば、図15において、SSD352Dをデステージ可能状態としている際に、SSD352Dに格納されているデータをステージする必要がある場合には、MP303は、SSD352C、SSD352E、SSD352Fからデータ及びパリティデータを取得して、パリティ計算回路306にデータを復元させて、CM305に格納させる。
このようにすることで、MP303は、リクラメーション処理を実行しないことが確保されている複数のSSD352(例では、SSD352C、SSD352E、SSD352F)のデータ及びパリティデータを用いて所望のデータを生成し、ステージすることができる。このため、リードアクセス応答時間の増大を回避することができる。
図16は、本発明の一実施形態に係るストレージシステムのRAID5のRAIDグループに対する処理に関わる機能構成図である。なお、図3に示すRAID10のRAIDグループに関わる構成との差異を中心に説明する。
MP303においては、図3に示した構成の他に、パリティ生成処理部315がさらに必要となっている。パリティ生成処理部315は、書込み対象の新データ(ライトデータ)と、書込み対象の領域に書き込まれている旧データと、旧データを用いて算出された旧パリティデータとに基づいて新パリティデータをパリティ計算回路360により算出させ、パリティデータをダーティデータとしてCM305に格納する処理を行う。
図17は、本発明の一実施形態に係るRAID5のRAIDグループのデータのキャッシュに関わるキャッシュスロットの状態遷移図である。なお、図11に示すRAID10のRAIDグループにおける状態遷移との差異を中心に説明する。
まず、RAID5のRAIDグループのキャッシュスロット323の状態には、RAID1論理ダーティ403に代えて、RAID5論理ダーティ405が存在する。RAID5論理ダーティ405とは、キャッシュスロット323が論理ボリュームのデータを含み、そのデータに対する新パリティデータを生成する必要があるスロット状態を示す。
ホスト100からのライトデータを格納すると、MP303は、ライトデータを格納したキャッシュスロット323の状態をRAID5論理ダーティ405に設定する。また、MP303は、RAID5論理ダーティ405のキャッシュスロット323に格納したデータに対応するパリティデータの生成を完了したら、当該キャッシュスロット323及び対応するパリティデータを格納するためのキャッシュスロット323の状態を物理ダーティ404に設定する。また、MP303は、物理ダーティ404のキャッシュスロット323に格納されているデータを対応するデータSSD352へデステージし終えたら、対応するキャッシュスロット323の状態を物理ダーティ404からクリーン402に設定する。また、MP303は、物理ダーティ404のキャッシュスロット323に格納されているパリティデータを対応するSSD352へデステージし終えたら、パリティデータに対応するキャッシュスロット323の状態をクリーン402に設定する。
図18は、本発明の一実施形態に係るRAID5のRAIDグループに対するステージ処理のフローチャートである。なお、図12に示すRAID10のRAIDグループに対するステージ処理と同様なステップには、同一番号を付し、異なる点を中心に説明する。
RAID5のRAIDグループに対するステージ処理においては、図12のステップS505に代えて、ステップS506及びS507を実行するようになっている。
すなわち、リードモードが”イネーブル”でない場合(ステップS502:No)には、リードデータが格納されているSSD352がデステージ可能状態となっている可能性があるので、MP303は、当該データを復元するために必要なデータ及びパリティデータを格納している他の複数のSSD352からデータ及びパリティデータをリードし(ステップS506)、対象のデータを復元するためにパリティ計算回路306を起動し、リードしたデータ及びパリティデータから対象のデータを復元し、CM305のキャッシュスロット323に格納し、当該データを要求元に送信する(ステップS507)。
このような処理によって、MP303は、デステージ可能状態となっている可能性があるSSD352からリードすることなく、要求対象のデータを復元する。従って、リクラメーション処理を行う可能性のあるデステージ可能状態のSSD352からのリードを回避することができる。このため、リクラメーション処理が行われることのない他のSSD352のデータ及びパリティデータから要求対象のデータを復元することにより応答することができ、リクラメーション処理によるアクセス時間の増大を回避することができる。
図19は、本発明の一実施形態に係るパリティ生成処理のフローチャートである。
このパリティ生成処理は、定期的に呼び出されてパリティ生成処理部315により各RAIDグループ(例では、RAID5のRAIDグループ)について実行される。
最初に、MP303はRAIDグループ構成情報3201とSSDアクセスモードエントリ3221とを参照し、リードモードが“イネーブル”であるSSD352を検索する(ステップS801)。
MP303は、ステップS801で見つけたSSD352に対応するキャッシュスロット323の中から、“RAID5論理ダーティ”であるキャッシュスロット323を検索する(ステップS802)。
次いで、MP303は、“RAID5論理ダーティ”であるキャッシュスロット323が見つかった場合(ステップS802:Yes)には、見つかったキャッシュスロット323に対応するパリティデータが格納されているSSD352のリードモードが“イネーブル”であるかを判定する(ステップS803)。
この結果、パリティが格納されているSSD352のリードモードが"イネーブル"である場合(ステップS803:Yes)には、MP303は、ステップS802で見つかったキャッシュスロット323に対応する旧データ及び旧パリティデータを格納している他の複数のSSD352からリードする(ステップS804)。旧データ及び旧パリティデータをリードした後に、MP303は、パリティ計算回路306を起動し、旧データ、旧パリティデータ及び新データ(ダーティデータ)から新パリティデータを生成する(ステップS805)。パリティデータの生成が完了したら、MP303はデータ及びパリティデータに対応するキャッシュスロット323のスロット状態を“物理ダーティ”に設定し、処理を終了する。(ステップS806)。
なお、MP303は、“RAID5論理ダーティ”であるキャッシュスロット323が見つからなかった場合(ステップS802:No)又は、キャッシュスロット323に対応するパリティが格納されているSSD352のリードモードが“イネーブル”でない場合(ステップS803:No)には、処理を終了する。
図20は、本発明の一実施形態に係るRAID5のRAIDグループに対するデステージ処理のフローチャートである。なお、図13に示すRAID10のRAIDグループに対するデステージ処理と同様なステップには、同一番号を付し、異なる点を中心に説明する。
RAID5のRAIDグループに対するデステージ処理においては、SSD352に対応するキャッシュスロット323が見つけられなかった場合(ステップS602:No)において、図13に示すステップS605〜ステップS607を実行せずに、ステップS609に進むようになっている。
図21は、本発明の一実施形態に係るRAID5のRAIDグループに対するSSDモード変更処理のフローチャートである。なお、図14に示すRAID10のRAIDグループに対するステージ処理と同様なステップには、同一番号を付し、異なる点を中心に説明する。
RAID5のRAIDグループに対するSSDモード変更処理においては、図14のステップS706に代えて、MP303は、対象のRAIDグループで物理ダーティ量の多さに基づいて、SSD352を選択する(ステップS709)。この選択されたSSD352が、デステージ可能状態に設定される。例えば、4台のSSD352で構成されている3D+PのRAID5のRAIDグループであれば、最も物理ダーティ量の多い1台のSSD352を選択してよく、また、3D+PのRAID5のRAIDグループを8台のSSD352で構成している場合には、最も物理ダーティ量の多いSSD352を含む1D又はPに属する2台のSSD352を選択してもよい。
次に、本実施形態に係るストレージシステムの変形例について説明する。
図22は、本発明の変形例に係るRAIDグループ構成情報の構成図である。なお、図6に示すRAIDグループ構成情報3201との違いを中心に説明する。
本変形例に係るRAIDグループ構成情報3205は、図6に示すRAIDグループ構成情報3201に、更に、RAIDグループに対する性能モード3204を含むようにしたものである。
性能モード3204には、対応するRAIDグループに対するアクセス処理のモードの設定として、”スループット優先”又は、”応答時間優先”の設定(指定情報)が格納される。この設定は、予めユーザにより設定させるようにしてもよく、また、処理におけるアクセス応答時間や処理負荷をMP303が監視し、その監視結果に応じて、動的にモードを決定するようにしてもよい。例えば、処理負荷が大きくなってきた場合に、スループット優先に設定するようにしてもよい。応答時間優先の設定をした場合には、対応するRAIDグループに対しては、MP303は、SSDモード更新処理部313による処理(図12及び図13、又は、図18乃至図20の処理)を実行する。一方、スループット優先の設定をした場合には、対応するRAIDグループに対しては、MP303は、対応するRAIDグループの全てのSSD352のリードモードとライトモードとの両方を常に“イネーブル”に設定する。
例えば、上記実施形態においては、RAID5のRAIDグループのステージ対象データが格納されたSSD352がデステージ可能状態となっている場合は、パリティ計算によってデータを復元するようにしている。このため、MP303による処理が必要であるとともに、SSD352へのアクセス回数が増えることになる。このような場合に、RAIDグループを用いた業務の特性によっては、MP303の処理のオーバヘッドや、SSD352へのアクセスがボトルネックとなる場合も考えられる。
これに対して、上記変形例によると、RAIDグループ毎に、SSDモード更新処理部313による処理を行うか否かを決定することができるので、上記したようなMP303のオーバヘッドや、SSD352のボトルネックを防ぐようにすることができる。
以上、本発明を実施形態に基づいて説明したが、本発明は上述した実施の形態に限られず、他の様々な態様に適用可能である。
例えば、上記実施形態のRAID10に対するデステージ処理においては、キャッシュスロット323のデータをデータSSD352及びミラーSSD352の両方に対してデステージしていない場合には、まず、対応するミラー用のSSD352にデステージし(ステップS606)、その後、データ用のSSD352にデステージする(以降の処理におけるステップS603)ようにしていたが、本発明は、これに限られず、キャッシュスロット323のデータをデータSSD352及びミラーSSD352の両方に対してデステージしていない場合に、いずれか一方のSSD352に対してデステージし、その後、他方のSSD352に対してデステージをするようにしてもよい。
また、上記実施形態では、パリティデータを用いたRAID5のRAIDグループを例に説明していたが、本発明はこれに限られず、RAID6のRAIDグループに対しても適用することができる。この場合には、例えば、2台のSSD352をデステージ可能状態としておき、これらのSSD352のデータをステージする必要がある場合には、他のSSD352のデータ及びパリティデータによりこれらのSSD352のデータを復元してステージすればよい。
また、上記実施形態では、図13又は図20のデステージ処理においては、ステップS608において、所定の処理量(例えば、目標回数)が完了するまで処理を繰り返すようにしていたが、本発明はこれに限られず、例えば、所定の時間が経過するまで処理を繰り返すようにしてもよく、また、目標回数が完了するか又は時間が経過するまで処理を繰り返すようにしてもよい。
また、上記実施形態では、RAIDグループにおいて、複数のSSDの一方側をデータ用のSSDとし、他方側のSSDをミラー用のSSDとして固定していたが、本発明はこれに限られず、一方側のSSDの中の所定の領域をデータ用の領域とすると共に、他方側の所定の領域を対応するミラー用の領域とし、また、一方側のSSDの中の所定の領域をミラー用の領域とすると共に、他方側の所定の領域を対応するデータ用の領域とするようにして、同一(又は、同一の組)のSSD352にミラー用とデータ用の領域が混在していてもよい。
本発明の一実施形態に係る計算機システムの概略構成と、計算機システムにおけるRAID10のRAIDグループに対するデータ転送の概略を示す図である。 本発明の一実施形態に係るストレージシステムのハードウェア構成図である。 本発明の一実施形態に係るストレージシステムのRAID10のRAIDグループに対する処理に関わる機能構成図である。 本発明の一実施形態に係るLU構成情報テーブルを示す図である。 本発明の一実施形態に係る論理ボリューム構成情報テーブルを示す図である。 本発明の一実施形態に係るRAIDグループ構成情報を示す図である。 本発明の一実施形態に係るキャッシュ制御情報を示す図である。 本発明の一実施形態に係るキャッシュディレクトリテーブルと、スロット制御ブロックとの対応を示す図である。 本発明の一実施形態に係るクリーンキューと、スロット制御ブロックとの対応を示す図である。 本発明の一実施形態に係るSSDアクセスモード情報を示す図である。 本発明の一実施形態に係るRAID10のRAIDグループのデータのキャッシュに関わるキャッシュスロットの状態遷移図である。 本発明の一実施形態に係るRAID10のRAIDグループに対するステージ処理のフローチャートである。 本発明の一実施形態に係るRAID10のRAIDグループに対するデステージ処理のフローチャートである。 本発明の一実施形態に係るRAID10のRAIDグループに対するSSDモード変更処理のフローチャートである。 本発明の一実施形態に係る計算機システムの概略構成と、計算機システムにおけるRAID5のRAIDグループに対するデータ転送の概略を示す図である。 本発明の一実施形態に係るストレージシステムのRAID5のRAIDグループに対する処理に関わる機能構成図である。 本発明の一実施形態に係るRAID5のRAIDグループのデータのキャッシュに関わるキャッシュスロットの状態遷移図である。 本発明の一実施形態に係るRAID5のRAIDグループに対するステージ処理のフローチャートである。 本発明の一実施形態に係るパリティ生成処理のフローチャートである。 本発明の一実施形態に係るRAID5のRAIDグループに対するデステージ処理のフローチャートである。 本発明の一実施形態に係るRAID5のRAIDグループに対するSSDモード変更処理のフローチャートである。 本発明の変形例に係るRAIDグループ構成情報の構成図である。
符号の説明
100 ホスト計算機、200 ストレージシステム、300 コントローラ部、301 ホストI/F、302 ディスクI/F、303 プロセッサ、305 キャッシュメモリ、301 ホストI/F、310 SCSIコマンド処理部、311 ステージ処理部、306 パリティ計算回路、312 デステージ処理部、313 SSDモード更新処理部、314 構成管理処理部、320 構成情報記憶部、321 キャッシュ制御情報記憶部、322 SSDアクセスモード情報記憶部、323 キャッシュスロット、351 記憶装置部、352 SSD。

Claims (15)

  1. キャッシュメモリと、複数のソリッドステートディスクとを備え、書込み対象のデータをキャッシュメモリに書き込んだ後に、前記データを所定のソリッドステートディスクに書込むストレージシステムであって、
    前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記ソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとが含まれており、
    1以上のソリッドステートディスクを、前記キャッシュメモリに書き込まれている所定のデータを書込み可能な書込可能状態として設定するとともに、前記1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な他の1以上のソリッドステートディスクをデータの書込み不可能な書込不可能状態として設定する設定部と、
    前記書込可能状態として設定されているソリッドステートディスクに対して、前記キャッシュメモリの所定のデータを書き込ませる書込み制御部と、
    外部装置からソリッドステートディスクに格納されたデータの読出要求を受信する受信部と、
    前記読出要求の対象のデータの格納先が、前記書込可能状態として設定されている前記1以上のソリッドステートディスクである場合に、前記1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な前記他の1以上のソリッドステートディスクから前記読出要求の対象のデータを取得する取得部と、
    前記取得した前記データを前記外部装置に送信する送信部と
    を有するストレージシステム。
  2. 前記ソリッドステートディスクは、自身の記憶領域にデータを追記して格納していき、所定の時点において、最新のデータを新たな記憶領域に記憶させるとともに、不必要となった記憶領域をデータ格納可能に再生するリクラメーション処理を実行する
    請求項1に記載のストレージシステム。
  3. 1以上の前記ソリッドステートディスクと、前記他の1以上のソリッドステートディスクとは、それぞれ同一のデータを格納するように構成されており、
    前記取得部は、前記読出要求の対象のデータの格納先が、前記1以上のソリッドステートディスクである場合に、前記他の1以上のソリッドステートディスクから前記データを読み出して取得する
    請求項1又は請求項2に記載のストレージシステム。
  4. 前記1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクのデータを復元可能なデータ及びパリティデータを記憶する複数の他のソリッドステートディスクとを有し、
    前記取得部は、前記読出要求の対象のデータの格納先が、前記1以上のソリッドステートディスクである場合に、前記複数のソリッドステートディスクに記憶されたデータ及びパリティデータを読み出して、前記読出要求の対象のデータを前記データ及びパリティデータから復元することにより取得する
    請求項1乃至請求項3のいずれか一項に記載のストレージシステム。
  5. 前記設定部は、前記書込可能状態とするソリッドステートディスクと、前記書込不可能状態とするソリッドステートディスクとの設定を変更する
    請求項1乃至請求項4のいずれか一項に記載のストレージシステム。
  6. 前記設定部は、所定の時間が経過した際に、前記書込可能状態とするソリッドステートディスクと、前記書込不可能状態とするソリッドステートディスクとの設定を変更する
    請求項5に記載のストレージシステム。
  7. 前記設定部は、前記ソリッドステートディスクへのデータの書込み処理において所定の処理量を実行した際に、前記書込可能状態とする1以上のソリッドステートディスクと、前記書込不可能状態とする1以上のソリッドステートディスクとの設定を変更する
    請求項5に記載のストレージシステム。
  8. 前記設定部は、前記キャッシュメモリに残されている書込みが行なわれていないデータの量に基づいて、前記書込可能状態とする前記ソリッドステートディスクを決定する
    請求項6又は請求項7に記載のストレージシステム。
  9. 前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとから構成される1以上のグループが含まれており、
    前記キャッシュメモリの記憶容量に対する、前記グループの前記ソリッドステートディスクに書き込まれていないデータの占める記憶量の割合が所定の第1閾値以下か否かを判定する第1割合判定部をさらに有し、
    前記設定部は、前記割合が前記第1閾値以下であると判定された場合に、一時的に前記グループの全てのソリッドステートディスクを、前記書込不可能状態として設定する
    請求項1乃至請求項8のいずれか一項に記載のストレージシステム。
  10. 前記ストレージシステムにおけるデータの読出し及び書込み処理における負荷を検出する負荷検出部を更に備え、
    前記設定部は、前記負荷に応じて、全ての前記ソリッドステートディスクを前記書込不可能状態として設定する時間を決定する
    請求項9に記載のストレージシステム。
  11. 前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとから構成される1以上のグループが含まれており、
    前記キャッシュメモリの記憶容量に対する、前記グループの前記ソリッドステートディスクに書き込まれていないデータの占める記憶量の割合が所定の第2閾値を超えているか否かを判定する第2割合判定部をさらに有し、
    前記設定部は、前記割合が前記第2閾値を超えていると判定された場合に、前記グループの全てのソリッドステートディスクを、前記書込可能状態として設定する
    請求項1乃至請求項10のいずれか一項に記載のストレージシステム。
  12. 前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとから構成される1以上のグループが含まれており、
    前記グループを構成する全てのソリッドステートディスクを書込可能状態とする設定を行うか否かを指定する指定情報を記憶する指定記憶部を更に有し、
    前記設定部は、全てのソリッドステートディスクを書込可能状態とする前記指定情報が格納されている場合には、前記グループの全てのソリッドステートディスクを書込可能状態とする設定を行う
    請求項1乃至請求項11のいずれか一項に記載のストレージシステム。
  13. 前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとから構成される1以上のグループが含まれており、
    前記ストレージシステムにおける前記グループを構成する前記ソリッドステートディスクに対するデータの読出し及び書込み処理における負荷を検出するグループ負荷検出部を更に有し、
    前記設定部は、前記負荷が所定の第3閾値を超えていると判定された場合に、前記グループの全てのソリッドステートディスクを、前記書込可能状態として設定する
    請求項1乃至請求項12のいずれか一項に記載のストレージシステム。
  14. キャッシュメモリと、複数のソリッドステートディスクとを備え、書込み対象のデータをキャッシュメモリに書き込んだ後に、前記データを所定のソリッドステートディスクに書込むストレージシステムにおけるデータ応答方法であって、
    前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとが含まれており、
    1以上のソリッドステートディスクを、前記キャッシュメモリに書き込まれている所定のデータを書込み可能な書込可能状態として設定するとともに、前記1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な他の1以上のソリッドステートディスクをデータの書込み不可能な書込不可能状態として設定するステップと、
    前記書込可能状態として設定されているソリッドステートディスクに対して、前記キャッシュメモリの所定のデータを書き込ませる書込み制御ステップと、
    外部装置からソリッドステートディスクに格納されたるデータの読出要求を受信するステップと、
    前記読出要求の対象のデータの格納先が、前記書込可能状態として設定されている前記1以上のソリッドステートディスクである場合に、前記1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な前記他の1以上のソリッドステートディスクから前記読出要求の対象のデータを取得するステップと、
    前記取得した前記データを前記外部装置に送信するステップと
    を有するデータ応答方法。
  15. キャッシュメモリと、複数のソリッドステートディスクと、インタフェースと、プロセッサとを備え、書込み対象のデータをキャッシュメモリに書き込んだ後に、前記データを所定のソリッドステートディスクに書込むストレージシステムであって、
    前記ソリッドステートディスクは、自身の記憶領域にデータを追記して格納していき、所定の時点において、最新のデータを新たな記憶領域に記憶させるとともに、不必要となった記憶領域をデータ格納可能に再生するリクラメーション処理を実行し、
    前記複数のソリッドステートディスクには、データを格納する1以上のソリッドステートディスクと、前記1以上のソリッドステートディスクに格納されている前記データと同一のデータを取得可能な他の1以上のソリッドステートディスクとから構成される1以上のグループが含まれており、
    前記プロセッサは、
    前記キャッシュメモリの記憶容量に対する、前記ソリッドステートディスクに書き込まれていないデータの占める記憶量の割合が所定の第1閾値以下か否かを判定し、
    前記キャッシュメモリの記憶容量に対する、前記ソリッドステートディスクに書き込まれていないデータの占める記憶量の割合が所定の第2閾値を超えているか否かを判定し、
    前記ストレージシステムにおけるデータの読出し及び書込み処理における負荷を検出し、
    前記グループを構成する全てのソリッドステートディスクをデータの書込み可能な書込可能状態とする設定を行うか否かを指定する指定情報を記憶し、
    1以上のソリッドステートディスクを、前記キャッシュメモリに書き込まれている所定のデータの書込み可能な書込可能状態として設定するとともに、前記1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な他の1以上のソリッドステートディスクをデータの書込み不可能な書込不可能状態として設定し、
    前記割合が前記第1閾値以下であると判定された場合に、前記負荷に応じた時間において全てのソリッドステートディスクを、前記書込不可能状態として設定し、
    前記割合が前記第2閾値を超えていると判定された場合に、全てのソリッドステートディスクを、前記書込可能状態として設定し、
    全てのソリッドステートディスクを前記書込可能状態とする前記指定情報が格納されている場合には、前記グループの全てのソリッドステートディスクを書込可能状態とする設定を行い、
    前記書込可能状態として設定されているソリッドステートディスクに対して、前記キャッシュメモリの所定のデータを書き込ませ、
    前記インタフェースを介して、外部装置からソリッドステートディスクに格納されたるデータの読出要求を受信し、
    前記読出要求の対象のデータの格納先が、前記書込可能状態として設定されている前記1以上のソリッドステートディスクである場合に、前記1以上のソリッドステートディスクに格納されているデータと同一のデータを取得可能な前記他の1以上のソリッドステートディスクから前記読出要求の対象のデータを取得し、
    前記インタフェースを介して、前記取得した前記データを前記外部装置に送信する
    ストレージシステム。
JP2008270510A 2008-10-21 2008-10-21 ストレージシステム Expired - Fee Related JP5349897B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008270510A JP5349897B2 (ja) 2008-10-21 2008-10-21 ストレージシステム
US12/332,758 US20100100664A1 (en) 2008-10-21 2008-12-11 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008270510A JP5349897B2 (ja) 2008-10-21 2008-10-21 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2010102369A true JP2010102369A (ja) 2010-05-06
JP5349897B2 JP5349897B2 (ja) 2013-11-20

Family

ID=42109521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008270510A Expired - Fee Related JP5349897B2 (ja) 2008-10-21 2008-10-21 ストレージシステム

Country Status (2)

Country Link
US (1) US20100100664A1 (ja)
JP (1) JP5349897B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238176A (ja) * 2010-05-13 2011-11-24 Toshiba Corp 情報処理装置およびドライバ
JP2011238175A (ja) * 2010-05-13 2011-11-24 Toshiba Corp 情報処理装置およびドライバ
JP2012165230A (ja) * 2011-02-08 2012-08-30 Konica Minolta Business Technologies Inc 画像形成方法および画像形成装置
JP2013077283A (ja) * 2011-09-13 2013-04-25 Toshiba Corp 情報処理装置および情報処理方法
WO2013145029A1 (en) 2012-03-30 2013-10-03 Hitachi, Ltd. Data storage system and control method therefor
JP2014059850A (ja) * 2012-09-19 2014-04-03 Fujitsu Ltd ストレージ装置、内部処理制御方法および内部処理制御プログラム
WO2015177849A1 (ja) * 2014-05-19 2015-11-26 富士通株式会社 多重化記憶装置及び多重化記憶制御方法
JP2016503927A (ja) * 2013-01-31 2016-02-08 株式会社日立製作所 ストレージシステム及びキャッシュコントロール方法
US9880749B2 (en) 2013-02-12 2018-01-30 Kabushiki Kaisha Toshiba Storage method and device for controlling the output timing of commands based on a hold time
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191896A1 (en) * 2009-01-23 2010-07-29 Magic Technologies, Inc. Solid state drive controller with fast NVRAM buffer and non-volatile tables
US8271719B2 (en) * 2009-10-29 2012-09-18 Freescale Semiconductor, Inc. Non-volatile memory controller device and method therefor
TW201124836A (en) * 2010-01-06 2011-07-16 Promise Technology Inc Raid system
US10296428B2 (en) * 2010-05-17 2019-05-21 Veritas Technologies Llc Continuous replication in a distributed computer system environment
US8990494B2 (en) 2010-11-01 2015-03-24 Taejin Info Tech Co., Ltd. Home storage system and method with various controllers
US8447925B2 (en) 2010-11-01 2013-05-21 Taejin Info Tech Co., Ltd. Home storage device and software including management and monitoring modules
US9213594B2 (en) * 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
US8862804B2 (en) 2011-04-29 2014-10-14 Western Digital Technologies, Inc. System and method for improved parity determination within a data redundancy scheme in a solid state memory
US8984225B2 (en) 2011-06-22 2015-03-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Method to improve the performance of a read ahead cache process in a storage array
US9152568B1 (en) * 2011-12-05 2015-10-06 Seagate Technology Llc Environmental-based device operation
US9158714B2 (en) * 2012-01-31 2015-10-13 Symantec Corporation Method and system for multi-layer differential load balancing in tightly coupled clusters
US9047200B2 (en) * 2012-01-31 2015-06-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic redundancy mapping of cache data in flash-based caching systems
US9372642B2 (en) 2013-07-22 2016-06-21 International Business Machines Corporation RAID 10 reads optimized for solid state drives
KR102181210B1 (ko) * 2014-01-10 2020-11-23 삼성전자주식회사 저장 장치의 데이터 처리 방법 및 저장 장치
US9933980B2 (en) 2014-02-24 2018-04-03 Toshiba Memory Corporation NAND raid controller for connection between an SSD controller and multiple non-volatile storage units
KR102368071B1 (ko) 2014-12-29 2022-02-25 삼성전자주식회사 레이드 스토리지 시스템에서의 스트라이프 재구성 방법 및 이를 적용한 가비지 컬렉션 동작 방법 및 레이드 스토리지 시스템
US10089227B1 (en) * 2015-05-06 2018-10-02 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a write cache flushing algorithm
US10019362B1 (en) 2015-05-06 2018-07-10 American Megatrends, Inc. Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions
US10108344B1 (en) 2015-05-06 2018-10-23 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm
US10176103B1 (en) 2015-05-07 2019-01-08 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a cache replacement algorithm
US10114566B1 (en) 2015-05-07 2018-10-30 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots
US10055354B1 (en) 2015-05-07 2018-08-21 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a hashing algorithm to maintain sibling proximity
US10108472B2 (en) * 2015-05-13 2018-10-23 SK Hynix Inc. Adaptive read disturb reclaim policy
CN107402819A (zh) * 2017-08-04 2017-11-28 郑州云海信息技术有限公司 一种客户端缓存的管理方法及系统
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
US10852951B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for improving I/O performance by introducing extent pool level I/O credits and user I/O credits throttling on Mapped RAID
US11307804B2 (en) * 2019-12-16 2022-04-19 Samsung Electronics Co., Ltd. Enhanced SSD reliability
CN112684983A (zh) * 2020-12-28 2021-04-20 北京三快在线科技有限公司 数据存储方法、装置、电子设备及可读存储介质
US11892983B2 (en) 2021-04-29 2024-02-06 EMC IP Holding Company LLC Methods and systems for seamless tiering in a distributed storage system
US11762682B2 (en) 2021-10-27 2023-09-19 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components with advanced data services
US11677633B2 (en) 2021-10-27 2023-06-13 EMC IP Holding Company LLC Methods and systems for distributing topology information to client nodes
US20230127387A1 (en) * 2021-10-27 2023-04-27 EMC IP Holding Company LLC Methods and systems for seamlessly provisioning client application nodes in a distributed system
US11922071B2 (en) 2021-10-27 2024-03-05 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components and a GPU module

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060129559A1 (en) * 2004-12-15 2006-06-15 Dell Products L.P. Concurrent access to RAID data in shared storage
US20070033361A1 (en) * 2005-08-02 2007-02-08 Abdulvahid Jasmeer K Apparatus, system, and method for fastcopy target creation
JP2007304859A (ja) * 2006-05-11 2007-11-22 Hitachi Ltd 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法
JP2008204041A (ja) * 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
JP2008226149A (ja) * 2007-03-15 2008-09-25 Hitachi Ltd ストレージシステム及びストレージシステムのライト性能低下防止方法
US7516348B1 (en) * 2006-02-24 2009-04-07 Emc Corporation Selective power management of disk drives during semi-idle time in order to save power and increase drive life span
US7613890B1 (en) * 2006-03-31 2009-11-03 Emc Corporation Consistent replication across multiple storage devices
US7882373B1 (en) * 2007-06-29 2011-02-01 Emc Corporation System and method of reducing power consumption in a storage system through shortening of seek distances

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264465B2 (ja) * 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060129559A1 (en) * 2004-12-15 2006-06-15 Dell Products L.P. Concurrent access to RAID data in shared storage
US20070033361A1 (en) * 2005-08-02 2007-02-08 Abdulvahid Jasmeer K Apparatus, system, and method for fastcopy target creation
US7516348B1 (en) * 2006-02-24 2009-04-07 Emc Corporation Selective power management of disk drives during semi-idle time in order to save power and increase drive life span
US7613890B1 (en) * 2006-03-31 2009-11-03 Emc Corporation Consistent replication across multiple storage devices
JP2007304859A (ja) * 2006-05-11 2007-11-22 Hitachi Ltd 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法
JP2008204041A (ja) * 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
JP2008226149A (ja) * 2007-03-15 2008-09-25 Hitachi Ltd ストレージシステム及びストレージシステムのライト性能低下防止方法
US7882373B1 (en) * 2007-06-29 2011-02-01 Emc Corporation System and method of reducing power consumption in a storage system through shortening of seek distances

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238175A (ja) * 2010-05-13 2011-11-24 Toshiba Corp 情報処理装置およびドライバ
US8407418B2 (en) 2010-05-13 2013-03-26 Kabushiki Kaisha Toshiba Information processing apparatus and driver
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
US8639881B2 (en) 2010-05-13 2014-01-28 Kabushiki Kaisha Toshiba Information processing apparatus and driver
USRE48127E1 (en) 2010-05-13 2020-07-28 Toshiba Memory Corporation Information processing apparatus and driver
JP2011238176A (ja) * 2010-05-13 2011-11-24 Toshiba Corp 情報処理装置およびドライバ
JP2012165230A (ja) * 2011-02-08 2012-08-30 Konica Minolta Business Technologies Inc 画像形成方法および画像形成装置
US9141294B2 (en) 2011-09-13 2015-09-22 Toshiba Corporation Controller for storage apparatus and controlling method for storage apparatus
JP2013077283A (ja) * 2011-09-13 2013-04-25 Toshiba Corp 情報処理装置および情報処理方法
US8874829B2 (en) 2012-03-30 2014-10-28 Hitachi, Ltd. Storage system and storage system control method
WO2013145029A1 (en) 2012-03-30 2013-10-03 Hitachi, Ltd. Data storage system and control method therefor
JP2014059850A (ja) * 2012-09-19 2014-04-03 Fujitsu Ltd ストレージ装置、内部処理制御方法および内部処理制御プログラム
JP2016503927A (ja) * 2013-01-31 2016-02-08 株式会社日立製作所 ストレージシステム及びキャッシュコントロール方法
US9880749B2 (en) 2013-02-12 2018-01-30 Kabushiki Kaisha Toshiba Storage method and device for controlling the output timing of commands based on a hold time
WO2015177849A1 (ja) * 2014-05-19 2015-11-26 富士通株式会社 多重化記憶装置及び多重化記憶制御方法
JP5958656B2 (ja) * 2014-05-19 2016-08-02 富士通株式会社 多重化記憶装置及び多重化記憶制御方法

Also Published As

Publication number Publication date
JP5349897B2 (ja) 2013-11-20
US20100100664A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
JP5349897B2 (ja) ストレージシステム
US11216185B2 (en) Memory system and method of controlling memory system
US9081690B2 (en) Storage system and management method of control information therein
US8886882B2 (en) Method and apparatus of storage tier and cache management
JP4461187B1 (ja) 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法
US9176884B2 (en) Promotion of partial data segments in flash cache
US9710383B1 (en) Caching techniques
JP2014527204A (ja) ストレージシステム
JP6011153B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US9471252B2 (en) Use of flash cache to improve tiered migration performance
US20160259571A1 (en) Storage subsystem
US10579541B2 (en) Control device, storage system and method
US11176050B2 (en) Information processing device and computer-readable recording medium having stored therein cache control program
US20210263648A1 (en) Method for managing performance of logical disk and storage array
KR101542222B1 (ko) 하이브리드 저장 시스템 및 이를 이용한 데이터 캐싱 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

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: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130821

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees