JP5124217B2 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
JP5124217B2
JP5124217B2 JP2007241426A JP2007241426A JP5124217B2 JP 5124217 B2 JP5124217 B2 JP 5124217B2 JP 2007241426 A JP2007241426 A JP 2007241426A JP 2007241426 A JP2007241426 A JP 2007241426A JP 5124217 B2 JP5124217 B2 JP 5124217B2
Authority
JP
Japan
Prior art keywords
data
read
hdd
cache memory
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007241426A
Other languages
English (en)
Other versions
JP2009075658A (ja
Inventor
秀明 福田
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 JP2007241426A priority Critical patent/JP5124217B2/ja
Priority to US12/007,849 priority patent/US20090077302A1/en
Publication of JP2009075658A publication Critical patent/JP2009075658A/ja
Priority to US13/251,762 priority patent/US20120023287A1/en
Application granted granted Critical
Publication of JP5124217B2 publication Critical patent/JP5124217B2/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
    • 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/221Static RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • 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
    • 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/0673Single storage device

Description

本発明は、ストレージ装置に関し、例えば、ハードディスクドライブとフラッシュメモリとを搭載したストレージ装置に適用して好適なものである。
近年、ハードディスクドライブの他にデータを格納するためのデバイスとして、不揮発性メモリであるフラッシュメモリが注目されている。フラッシュメモリは、一般に、ハードディスクドライブと比較し、数十倍以上低消費電力であり、高速に読み出しが可能である。また、フラッシュメモリは、ハードディスクドライブのように機械的な駆動部分が不要なため小型であり、故障に対する耐性も一般的には高い。
このようなフラッシュメモリとハードディスクドライブとを混在させ、それら複数の記憶階層を好適に制御し、データの属性やボリュームに指定されるポリシーに対応した記憶階層を割り当てる技術が提案されている(例えば、特許文献1参照)。
特開2007−115232号公報
しかしながら、例えば、ホスト装置とのI/O(Input/Output)処理を行うプロセッサが、ハードディスクドライブからフラッシュメモリに大量のデータを移動するような場合には、プロセッサが当該移動処理に多くの時間を割かれるため、一時的にホスト装置とのI/O処理性能が大幅に低下するおそれがある。
本発明は以上の点を考慮してなされたもので、ホスト装置とのアクセス性能を向上させ得るストレージ装置を提案するものである。
かかる課題を解決するために本発明においては、ストレージ装置において、複数のディスク記憶装置と、不揮発性半導体記憶装置と、前記ディスク記憶装置に読み書きされるデータを一時的に記憶するキャッシュメモリを少なくとも含むストレージコントローラと、を有し、前記ストレージコントローラは、前記ディスク記憶装置に設定された論理ボリュームに格納されるデータの内、アクセス頻度に応じて一部のデータを前記複数のディスク記憶装置のいずれかより読み出して前記不揮発性半導体記憶装置に複製し、前記論理ボリュームへのリード要求を受信した際、前記キャッシュメモリにリードデータが格納されている場合には前記キャッシュメモリから読み出した前記リードデータを前記リード要求の送信元に送信し、前記キャッシュメモリに前記リードデータが格納されていない場合であって、前記リードデータが前記不揮発性半導体記憶装置に複製されている場合には前記不揮発性半導体記憶装置から読み出した前記リードデータを前記キャッシュメモリに格納し、前記リードデータが前記不揮発性半導体記憶装置に複製されていない場合には前記複数のディスク記憶装置のいずれかから読み出した前記リードデータを前記キャッシュメモリに格納し、前記キャッシュメモリに格納した前記リードデータを前記リード要求の送信元に送信し、前記論理ボリュームへのライト要求を受信した際、前記キャッシュメモリにライトデータを書き込み、前記ライトデータの旧データが前記不揮発性半導体記憶装置に複製されている場合に、前記ライトデータを前記キャッシュメモリから読み出して前記複数のディスク記憶装置のいずれかに書き込み、前記半導体記憶装置に格納される前記旧データを開放するようにした。
従って、ディスク状記憶デバイスに格納されているデータを不揮発メモリデバイスに複製する場合にも、一時的にホスト装置とのI/O処理性能が大幅に低下するのを未然かつ有効に防止し、制御部の負荷を格段に軽減することができる。
本発明によれば、ホスト装置とのアクセス性能を向上させ得るストレージ装置を実現することができる。
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。
図1は、本実施の形態によるストレージシステム1の構成を示している。ストレージシステム1は、ホスト装置2及びストレージ装置3がSAN(Storage Area Network)4を介して接続されることにより構成されている。
ホスト装置2は、CPU(Central Processing Unit)、メモリ等の情報処理資源(図示せず)を備えたコンピュータ装置であり、例えば、パーソナルコンピュータや、ワークステーション、メインフレーム等から構成される。また、ホスト装置2は、SAN4と接続するためのホストバスアダプタ(FC HBA)(図示せず)を備えて構成される。さらに、ホスト装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備えて構成される。
SAN4は、ホスト装置2が提供する記憶資源におけるデータの管理単位であるブロックを単位として、ホスト装置2とストレージ装置3との間で、コマンドやデータ等の授受を行う。この場合、ホスト装置2とストレージ装置3との間で行われる通信プロトコルは、ファイバチャネルプロトコルである。
なお、ホスト装置2とストレージ装置3との間は、必ずしもSAN4を介して接続する必要はなく、LAN等を介して接続するようにしてもよい。例えば、LANを介して接続する場合には、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従ってコマンドやデータ等の授受を行う。また、LANを介して接続する場合には、ホストバスアダプタに代えて、例えば、LAN対応のネットワークカード等を適用することができる。
ストレージ装置3は、データを記憶するための複数のハードディスクドライブ(HDD :Hard Disk Drive)5及び複数のフラッシュメモリ(FM :Flash Memory)6、並びにハードディスクドライブ5及びフラッシュメモリ6に対するデータの入出力を制御するストレージコントローラ7を備えて構成される。
ストレージコントローラ7は、複数のチャネル制御部11、制御情報格納領域12が各々接続された複数のプロセッサ13、キャッシュメモリ14が各々接続された複数のキャッシュメモリ制御部15、エクスパンダ(Expander)16が各々接続された複数のFM/HDD制御部17及び管理装置18が相互結合部19を介して接続されることにより構成されている。また、ストレージコントローラ7は、ハードディスクドライブ5及びフラッシュメモリ6とエクスパンダ16を介して接続されている。
チャネル制御部11は、例えば、ホスト装置2から受信した要求(例えば、リード要求やライト要求)をプロセッサ13に通知して、プロセッサ13からの指示(例えば、リード(読み出し)指示やライト(書き込み)指示)により、キャッシュメモリ制御部15を介して、ホスト装置2とキャッシュメモリ14との間のデータの転送を行う。
プロセッサ13は、ストレージコントローラ7全体を制御し、例えば、チャネル制御から通知された要求を解釈して、チャネル制御部11及びFM/HDD制御部17に指示を通知する。また、プロセッサ13は、ハードディスクドライブ5に対して、RAID(Redundant Arrays of Independent Disks)制御を行うことにより、ストレージ装置3の信頼性、可用性及び性能を向上させることができる。
この場合、プロセッサ13は、ハードディスクドライブ5をRAID方式で運用する。プロセッサ13は、1又は複数のハードディスクドライブ5により提供される物理的な記憶領域(RAIDグループ)上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)を設定する。そして、データは、この論理ボリューム内に所定の大きさのブロック(以下、これを論理ブロックと呼ぶ)単位で記憶される。
各論理ボリュームには、それぞれ固有の識別子(以下、これをLU(Logical Unit number)と呼ぶ)が付与される。本実施の形態の場合、データの入出力は、このLUと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号(LBA :Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
制御情報格納領域12は、例えば、キャッシュメモリ14の管理情報やストレージ装置3の構成情報等の情報を格納するためのメモリである。また、制御情報格納領域12には、論理ボリューム管理テーブル20が格納されている。論理ボリューム管理テーブル20の具体的な構成については、後述する。
キャッシュメモリ制御部15は、キャッシュメモリ14を制御し、チャネル制御部11又はFM/HDD制御部17から転送されたデータをキャッシュメモリ14に格納する。キャッシュメモリ14は、ハードディスクドライブ5やフラッシュメモリ6に格納されるべきデータやホスト装置2に送信すべきデータを一時的に格納するためのメモリである。
FM/HDD制御部17は、ハードディスクドライブ5及びフラッシュメモリ6を制御し、プロセッサ13からの指示により、エクスパンダ16を介して、ハードディスクドライブ5及びフラッシュメモリ6とキャッシュメモリ14との間のデータの転送を行う。また、FM/HDD制御部17は、プロセッサ13からの指示により、エクスパンダ16を介して、ハードディスクドライブ5とフラッシュメモリ6との間のデータの転送を行う。さらに、FM/HDD制御部17は、ハードディスクドライブ5に対して、RAID(Redundant Arrays of Independent Disks)制御を行うことにより、ストレージ装置3の信頼性、可用性及び性能を向上させることができる。
管理装置18は、ストレージ装置3全体の動作を操作する管理端末であり、例えば、ノート型のパーソナルコンピュータから構成される。管理装置18は、オペレータの操作に応じて各種処理の指令を行う。オペレータは、例えば、管理装置18を操作してストレージ装置3の各種状態を管理装置18の表示部に表示させることにより、ストレージ装置3の状態を確認することができる。
図2は、FM/HDD制御部17の構成を示している。FM/HDD制御部17は、パリティ生成部21、内部転送DMA(Direct Memory Access)コントローラ22、外部転送DMAコントローラ23、プロトコル制御部24、FMステージングコントローラ25、メモリコントローラ26及びメモリ27を備えて構成される。
パリティ生成部21は、例えば、プロセッサ13からの指示により、キャッシュメモリ制御部15を介して、キャッシュメモリ14からデータを読み出してパリティデータを生成し、生成したパリティデータをキャッシュメモリ制御部15を介して、キャッシュメモリ14に格納する。
内部転送DMAコントローラ22は、例えば、プロセッサ13からの指示により、メモリコントローラ26を介して、キャッシュメモリ14とメモリ27との間のデータの転送を行う。
外部転送DMAコントローラ23は、例えば、プロセッサ13からの指示により、自己の外部転送DMAコントローラ23及びメモリコントローラ26を介して、ハードディスクドライブ5及びフラッシュメモリ6とメモリ27との間のデータの転送を行う。
FMステージングコントローラ25は、例えば、プロセッサ13からの指示により、エクスパンダ16を介して、ハードディスクドライブ5とフラッシュメモリ6との間のデータの転送を行う。また、FMステージングコントローラ25には、備え付けのメモリ(図示せず)に、FM管理FIFO(First In First Out)31が格納されている。FM管理FIFO31の具体的な構成については、後述する。
メモリコントローラ26は、メモリ27を制御し、キャッシュメモリ14又はハードディスクドライブ5若しくはフラッシュメモリ6から転送されたデータをメモリ27に格納する。メモリ27には、データ32、転送パラメータ33、FM管理テーブル34及び保守情報管理テーブル35が格納されている。
データ32は、キャッシュメモリ14又はハードディスクドライブ5若しくはフラッシュメモリ6から転送されたデータである。転送パラメータ33は、プロセッサ13からの指示により設定される、内部転送DMAコントローラ22及び外部転送DMAコントローラ23が転送するデータ32のアドレス、転送先のアドレス及び転送長等のパラメータである。FM管理テーブル34及び保守情報管理テーブル35の具体的な構成については、後述する。
次に、制御情報格納領域12、FMステージングコントローラ25のメモリ又はメモリ27に格納されている各種テーブルについて説明する。
図3は、FM管理テーブル34の構成を示している。FM管理テーブル34は、ハードディスクドライブ5のアドレスとフラッシュメモリ6の管理単位であるFMページ番号との対応関係を管理する。FM管理テーブル34は、HDDアドレス欄34A、FM領域確保フラグ欄34B、FMページ番号欄34C及びFMページ番号ポインタ欄34Dから構成されている。
ここで、フラッシュメモリ6の管理単位について説明する。フラッシュメモリ6は、FMブロックごとに管理されている。FMブロックは、FMブロックのアドレスを一意に識別するFMブロックアドレスにより、数100(Kbytes)ごとの単位で管理されている。また、FMブロックは、FMブロックアドレスに格納位置を特定するオフセットを加算した値であるFMページ番号ごとに管理されている。FMページ番号は、512(bytes)ごとの単位で管理されており、セクタ単位で管理されている。
なお、ハードディスク5は、HDDアドレスにより、セクタ単位、すなわち、512(bytes)ごとの単位で管理されている。フラッシュメモリ6では、データのライト及びリードについては、ハードディスク5と同様に、512(bytes)ごとの単位で行うことができるが、データの消去については、FMブロックごとの単位でしか行うことができないようになされている。また、フラッシュメモリ6では、データのライトについては、予めFMブロックごとの単位でデータを消去した後でなければ、行うことができない。
HDDアドレス欄34Aには、ハードディスクドライブ5のアドレスを一意に識別するHDDアドレスが格納される。
FM領域確保フラグ欄34Bは、HDDアドレスに格納されているデータがフラッシュメモリ6に格納されているか否かを管理する。FM領域確保フラグ欄34Bには、ハードディスクドライブ5からフラッシュメモリ6へのデータの複製(以下、FMステージングと呼ぶ。)が行われた場合には、「1」が格納される一方、FMステージングが行われたデータを開放した場合には、「0」が格納される。すなわち、FM領域確保フラグ欄34Bには、HDDアドレスに格納されているデータがフラッシュメモリ6に格納されている場合には、「1」が格納される一方、HDDアドレスに格納されているデータがフラッシュメモリ6に格納されていない場合には、「0」が格納される。
FMページ番号欄34Cには、FMページ番号が格納される。FMページ番号ポインタ欄34Dには、同一のFMブロックに格納されているデータのHDDアドレスが格納される。
この場合、FMステージングコントローラ25は、例えば、FM領域確保フラグ欄34Bに「1」が格納されているHDDアドレスの領域に、プロセッサ13からリード指示が通知された場合には、対応するFMページ番号欄34CのFMページ番号の領域からデータを読み出す。
また、FMステージングコントローラ25は、例えば、FM領域確保フラグ欄34Bに「1」が格納されているHDDアドレスの領域に、プロセッサ13からライト指示が通知された場合には、ライト指示に対応するデータをHDDアドレスの領域に格納し、対応するFM領域確保フラグ欄34BのFM領域確保フラグを開放する(「1」から「0」に変更する)。
さらに、FMステージングコントローラ25は、例えば、FMページ番号ポインタ欄34DのFMページ番号ポインタを参照することにより、同一のFMブロックアドレスのすべてのFMページ番号のFM領域確保フラグを開放することにより、FMブロックを開放する。なお、このとき、FMステージングコントローラ25は、FMブロックに格納されているデータを消去するようにしても良い。これにより、FM/HDD制御部17は、迅速に次回のFMステージングを行うことができる。
図4は、FM管理FIFO31の構成を示している。FM管理FIFO31は、空いているFMブロックアドレスを管理し、書き込むFMブロックを平均化する。FM管理FIFO31は、FMブロックアドレス欄31A、確保ポインタ31B、開放ポインタ31Cから構成されている。
FMブロックアドレス欄31Aには、FMブロックアドレスが格納されている。確保ポインタ31Bは、FMブロックアドレスの間を指し示すポインタであり、FMブロックアドレスを確保するごとに、1つ下のFMブロックアドレスの間を指し示す。開放ポインタ31Cは、FMブロックアドレスの間を指し示すポインタであり、FMブロックアドレスを開放するごとに、1つ下のFMブロックアドレスの間を指し示す。
この場合、FM管理FIFO31では、確保ポインタ31Bよりも下であり、開放ポインタ31Cよりも上のFMブロックアドレスについては、空いているFMブロックアドレスであることを示している。また、FM管理FIFO31では、確保ポインタ31Bと開放ポインタ31Cとが同一の位置にある場合には、FMブロックアドレスに空きがないことを示している。なお、FM管理FIFO31では、確保ポインタ31B又は開放ポインタ31Cが最後のFMブロックアドレスの下まで移動した場合には、最初のFMブロックアドレスの上まで移動する。
FMステージングコントローラ25は、例えば、確保ポインタ31Bを1つ下のFMブロックアドレスの間に移動することにより、FMブロックアドレスを確保して、当該FMブロックアドレスを使用する。また、FMステージングコントローラ25は、例えば、開放ポインタ31を1つ下のFMブロックアドレスの間に移動することにより、FMブロックアドレスを開放して、当該FMブロックアドレスの使用を停止する。なお、FMステージングコントローラ25は、FMブロックアドレスを開放する場合には、当該FMブロックに対応するすべてのFM管理テーブル34のHDDアドレスにおけるFM領域確保フラグを開放する(「1」から「0」に変更する)。
図5は、論理ボリューム管理テーブル20の構成を示している。論理ボリューム管理テーブル20は、カウンタにより頻度の高いアクセスの種類を計測し、FMステージングを行うか否かを管理する。この場合、FMステージングコントローラ25は、フラッシュメモリ6の性能が生かせるデータ、すなわち、ランダムライトアクセスや、リードアクセスの回数の大きいデータについてFMステージングを行う。
論理ボリューム管理テーブル20は、論理ボリューム欄20A、HDDアドレス欄20B、ランダムライトカウンタ欄20C、シーケンシャルライトカウンタ欄20D、リードカウンタ欄20E、FMステージング指示フラグ欄20F及びHDDデステージ禁止フラグ欄20Gから構成されている。
論理ボリューム欄20Aには、論理ボリュームを一意に識別する論理ボリューム番号が格納される。HDDアドレス欄20Bには、HDDアドレスが格納される。ランダムライトカウンタ欄20Cには、当該HDDアドレスへのランダムライトアクセスの回数が計測されて格納される。シーケンシャルライトカウンタ欄20Dには、当該HDDアドレスへのシーケンシャルライトアクセスの回数が計測されて格納される。リードカウンタ欄20Eには、当該HDDアドレスへのリードアクセスの回数が計測されて格納される。
FMステージング指示フラグ欄20Fには、当該HDDアドレスの領域のデータについてFMステージングを行うか否かを管理する。FMステージング指示フラグ欄20Fには、FMステージングを行う場合には、「1」が格納される一方、FMステージングを行わない場合には、「0」が格納される。
HDDデステージ禁止フラグ欄20Gは、当該HDDアドレスの領域に、キャッシュメモリ14からハードディスクドライブ5へのデータの複製(以下、HDDデステージと呼ぶ。)を禁止するか否かを管理する。HDDデステージ禁止フラグ欄20Gには、HDDデステージを禁止する場合には、「1」が格納される一方、FMステージングを禁止しない場合には、「0」が格納される。
図6は、保守情報管理テーブル35の構成を示している。保守情報管理テーブル35は、モジュール化されているフラッシュメモリ6のコレクタブルエラー発生回数を管理する。
ここで、コレクタブルエラー発生回数について説明する。フラッシュメモリ6は、ビット故障の確率が高いため、1ビットの故障が起きても継続動作が可能なECC(Error Correction Code)が付与されている。この場合、ECCは、1ビットを訂正し、2ビットのランダムエラーを検出することができる。
コレクタブルエラーとは、継続動作が可能な1ビットの故障のことをいう。通常は、コレクタブルエラーが発生しても継続して動作が可能であるため、部品交換を行う必要はない。しかし、信頼性の求められるストレージ装置では、コレクタブルエラーが複数回発生した場合、2ビット以上の致命的な故障であるアンコレクタブルエラーが発生する確率が高まるため、フラッシュメモリ6の交換を指示する必要がある。そのため、モジュール化されているフラッシュメモリ6のコレクタブル発生回数を管理する。
保守情報管理テーブル35は、FMモジュール番号欄35A、最大書き込み回数欄35B及びコレクタブルエラー発生回数欄35Cから構成されている。
FMモジュール番号欄35Aには、モジュール化されているフラッシュメモリ6を一意に識別するFMモジュール番号が格納される。最大書き込み回数欄35Bには、モジュール化されているフラッシュメモリ6のうち、書き込み回数が一番大きいFMブロックの書き込み回数である最大書き込み回数が格納される。コレクタブルエラー発生回数欄35Cには、モジュール化されているフラッシュメモリ6のコレクタブルエラー発生回数が格納される。なお、メモリコントローラ26は、フラッシュメモリ6の書き込み回数及びコレクタブルエラー発生回数を計測して管理する。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるFMステージング処理について説明する。
図7及び図8は、このストレージシステム1のストレージ装置3のFMステージング処理に関する、ストレージ装置3のFMステージングコントローラ25の具体的な処理手順を示したフローチャートの一例である。
FMステージングコントローラ25は、例えば、プロセッサ13からFMステージング実行指示が通知されると、FMステージングコントローラ25内の制御プログラム(図示せず)を実行することにより、図7及び図8に示すFMステージング処理手順RT1に従って、FM管理FIFO31を参照して空いているFMブロックがあるか否かをチェックする(SP1)。
具体的に、FMステージングコントローラ25は、例えば、確保ポインタ31Bよりも下であり、開放ポインタ31Cよりも上のFMブロックアドレスがある場合には、空いているFMブロックがあると判断し、確保ポインタ31Bと開放ポインタ31Cとが同一の位置にある場合には、空いているFMブロックがないと判断する。
そして、FMステージングコントローラ25は、空いているFMブロックがない場合(SP1:NO)には、FMブロック開放処理を実行する(RT2)。FMブロック開放処理については、後述する。これに対して、FMステージングコントローラ25は、空いているFMブロックがある場合(SP1:YES)には、FM管理FIFO31の確保ポインタ31Bを移動して、FMブロックを確保する(SP2)。
続いて、FMステージングコントローラ25は、制御情報格納領域12から論理ボリューム管理テーブル20を読み出す(SP3)。続いて、FMステージングコントローラ25は、読み出した論理ボリューム管理テーブル20のHDDアドレスのうち、1つのHDDアドレスを選択する(SP4)。
続いて、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」であるか否かをチェックする(SP5)。そして、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」でない、すなわち、「0」である場合(SP5:NO)には、当該HDDアドレスの領域のデータのFMステージングが行われないため、ステップSP12に進む。これに対して、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」である場合(SP5:YES)には、メモリ27からFM管理テーブル34を読み出す(SP6)。
続いて、FMステージングコントローラ25は、論理ボリューム管理テーブル20の選択したHDDアドレスのFM領域確保フラグが「1」であるか否かをチェックする(SP7)。そして、FMステージングコントローラ25は、当該HDDアドレスのFM領域確保フラグが「1」である場合(SP7:YES)には、すでに当該HDDアドレスの領域のデータのFMステージングが行われているため、ステップSP12に進む。
これに対して、FMステージングコントローラ25は、当該HDDアドレスのFM領域確保フラグが「1」でない、すなわち、「0」である場合(SP7:NO)には、論理ボリューム管理テーブル20の選択したHDDアドレスにおけるHDDデステージ禁止フラグ欄20GのHDDデステージ禁止フラグを「0」から「1」に変更し(SP8)、当該HDDアドレスへのHDDデステージを禁止する。これにより、FMステージングコントローラ25は、FMステージング中にHDDデステージが行われるのを未然かつ有効に防止することができる。
続いて、FMステージングコントローラ25は、選択したHDDアドレスの領域のデータを読み出す(SP9)。続いて、FMステージングコントローラ25は、読み出したデータをFMブロックに書き込む(SP10)。すなわち、FMステージングコントローラ25は、選択したHDDアドレスの領域のデータのFMステージングを行う。
続いて、FMステージングコントローラ25は、論理ボリューム管理テーブル20の選択したHDDアドレスにおけるHDDデステージ禁止フラグ欄20GのHDDデステージ禁止フラグを「1」から「0」に変更し(SP11)、当該HDDアドレスへのHDDデステージの禁止を解除する。
やがて、FMステージングコントローラ25は、論理ボリューム管理テーブル20のすべてのHDDアドレスが選択されたか否かをチェックする(SP12)。そして、FMステージングコントローラ25は、すべてのHDDアドレスが選択されていない場合(SP12:NO)には、FM管理テーブル34を参照して、確保したFMブロックに空いているFMページ番号があるか否かをチェックする(SP13)。
そして、FMステージングコントローラ25は、確保したFMブロックに空いているFMページ番号がある場合(SP13:YES)には、ステップSP4に戻り、再び、読み出した論理ボリューム管理テーブル20のHDDアドレスのうち、1つのHDDアドレスを選択し(SP4)、この後、上述の場合と同様の処理を繰り返す(SP4〜SP13)。これに対して、FMステージングコントローラ25は、確保したFMブロックに空いているFMページ番号がない場合(SP13:NO)には、ステップSP1に戻り、再び、FM管理FIFO31を参照して空いているFMブロックがあるか否かをチェックし(SP1)、この後、上述の場合と同様の処理を繰り返す(SP1〜SP13)。
これに対して、FMステージングコントローラ25は、すべてのHDDアドレスが選択された場合(SP12:YES)には、この後、FMステージングコントローラ25内の制御プログラム(図示せず)を終了することにより、この図7及び図8に示すFMステージング処理手順RT1を終了する(SP14)。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるFMブロック開放処理について説明する。
続いて、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」であるか否かをチェックする(SP23)。そして、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」である場合(SP23:YES)には、当該HDDアドレスの領域のデータのFMステージングが行われる予定であるため、ステップSP27に進む。これに対して、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「」である場合(SP23:NO)には、メモリ27からFM管理テーブル34を読み出す(SP24)。
FMステージングコントローラ25は、空いているFMブロックがない場合(SP1:NO)には、図9に示すFMブロック開放処理手順RT2に従って、制御情報格納領域12から論理ボリューム管理テーブル20を読み出す(SP21)。続いて、FMステージングコントローラ25は、読み出した論理ボリューム管理テーブル20のHDDアドレスのうち、1つのHDDアドレスを選択する(SP22)。
続いて、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」であるか否かをチェックする(SP23)。そして、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」でない、すなわち、「0」である場合(SP23:YES)には、当該HDDアドレスの領域のデータのFMステージングが行われる予定であるため、ステップSP27に進む。これに対して、FMステージングコントローラ25は、選択したHDDアドレスのFMステージング指示フラグが「1」である場合(SP23:YES)には、メモリ27からFM管理テーブル34を読み出す(SP24)。
続いて、FMステージングコントローラ25は、論理ボリューム管理テーブル20の選択したHDDアドレスのFM領域確保フラグが「1」であるか否かをチェックする(SP25)。そして、FMステージングコントローラ25は、当該HDDアドレスのFM領域確保フラグが「1」でない、すなわち、「0」である場合(SP7:NO)には、当該HDDアドレスの領域のデータがFMブロックに格納されていないため、ステップSP27に進む。これに対して、FMステージングコントローラ25は、当該HDDアドレスのFM領域確保フラグが「1」である場合(SP25:YES)には、同一のFMブロックのすべてのHDDアドレスのFM領域確保フラグを開放し(「1」から「0」に変更し)、FM管理FIFO31の開放ポインタ31Cを移動して、FMブロックを開放する(SP26)。また、FMステージングコントローラ25は、開放したFMブロックのデータを消去する。
やがて、FMステージングコントローラ25は、論理ボリューム管理テーブル20のすべてのHDDアドレスが選択されたか否かをチェックする(SP27)。そして、FMステージングコントローラ25は、すべてのHDDアドレスが選択されていない場合(SP27:NO)には、ステップSP22に戻り、再び、読み出した論理ボリューム管理テーブル20のHDDアドレスのうち、1つのHDDアドレスを選択し(SP22)、この後、上述の場合と同様の処理を繰り返す(SP22〜SP27)。
これに対して、FMステージングコントローラ25は、すべてのHDDアドレスが選択された場合(SP27:YES)には、この後、この図9に示すFMブロック開放処理手順RT2を終了する(SP28)。
なお、本実施の形態においては、FMステージングコントローラ25内の制御プログラム(図示せず)を実行することにより、FMステージング処理及びFMブロック開放処理を実行した場合について述べたが、本発明はこれに限らず、例えば、FMステージングコントローラ25内にソフトウェアプログラムを実行するプロセッサを備えずに、ハードウェアのシーケンス制御等のハードウェア制御により当該処理を実行することもできる。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるデータライトの流れについて説明する。なお、本実施の形態においては、RAIDグループがRAID5構成である場合について説明するが、この他種々の構成にも適用することができるのは言うまでもない。
図10は、このストレージシステム1のストレージ装置3のデータライトの流れに関する、ストレージ装置3のチャネル制御部11、プロセッサ13、制御情報格納領域12、キャッシュメモリ制御部15、HDD/FM制御部17並びにハードディスクドライブ5及びフラッシュメモリ6の具体的な処理手順を示したフローチャートの一例である。
まず、チャネル制御部11は、ホスト装置2からライト要求を受信すると、プロセッサ13にライト要求を通知する(SP31)。
続いて、プロセッサ13は、ハードディスクドライブ5に書き込むべきデータを格納するための領域をキャッシュメモリ14に排他的に確保して、当該確保情報をキャッシュメモリ14の領域を管理するキャッシュメモリ領域管理テーブル(図示せず)等が格納されている制御情報格納領域12に書き込む(SP32)。続いて、プロセッサ13は、チャネル制御部11にライト指示を通知する(SP33)。
続いて、チャネル制御部11は、キャッシュメモリ制御部15にライト指示を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14の確保した領域にデータを書き込む(SP34)。
続いて、プロセッサ13は、通知されたライト要求に応じて論理ボリューム管理テーブル20のランダムライト又はシーケンシャルライトの回数を増加する(SP35)。続いて、プロセッサ13は、制御情報格納領域12から論理ボリューム管理テーブル20を読み出す(SP36)。続いて、プロセッサ13は、論理ボリューム管理テーブル20を参照して、書き込むべきデータのFMステージングを行うか否かを判定するFMステージング判定を行う(SP37)。
続いて、プロセッサ13は、書き込むべきデータのFMステージングを行う場合には、論理ボリューム管理テーブル20における書き込むべきデータのHDDアドレスのFMステージング指示フラグを「0」から「1」に変更する(SP38)。続いて、プロセッサ13は、ハードディスクドライブ5に書き込むべきデータの旧データ及びパリティデータを格納するための領域をキャッシュメモリ14に排他的に確保して、当該確保情報をキャッシュメモリ領域管理テーブル(図示せず)等が格納されている制御情報格納領域12に書き込む(SP39)。続いて、プロセッサ13は、当該旧データ及びパリティデータをキャッシュメモリ14に転送する転送指示をHDD/FM制御部17に通知する(SP40)。
続いて、HDD/FM制御部17は、FM管理テーブル34を参照して、書き込むべきデータの旧データ及びパリティデータがフラッシュメモリ6に格納されているか否かを判定するFMヒット・ミス判定を行う(SP41)。続いて、HDD/FM制御部17は、書き込むべきデータの旧データ及びパリティデータをハードディスクドライブ5又はフラッシュメモリ6から読み出す(SP42)。
続いて、HDD/FM制御部17は、キャッシュメモリ制御部15に転送指示を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14の確保した領域に読み出した旧データ及びパリティデータを書き込む(SP43)。続いて、HDD/FM制御部17は、転送指示の終了報告をプロセッサ13に通知する(SP44)。
続いて、プロセッサ13は、書き込むべきデータのパリティデータのパリティ生成指示をHDD/FM制御部17に通知する(SP45)。
続いて、HDD/FM制御部17は、キャッシュメモリ制御部15にパリティ生成指示を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14から書き込むべきデータ並びに書き込むべきデータの旧データ及びパリティデータを読み出す(SP46)。続いて、HDD/FM制御部17は、読み出した書き込むべきデータ並びに書き込むべきデータの旧データ及びパリティデータから、書き込むべきデータのパリティデータを生成する(SP47)。
続いて、HDD/FM制御部17は、キャッシュメモリ制御部15にパリティ生成指示(転送指示)を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14の確保した領域に書き込むべきデータのパリティデータを書き込む(SP43)。続いて、HDD/FM制御部17は、パリティ生成指示の完了報告をプロセッサ13に通知する(SP49)。
続いて、プロセッサ13は、書き込むべきデータ及び当該データのパリティデータのHDDデステージ指示をHDD/FM制御部17に通知する(SP50)。
続いて、HDD/FM制御部17は、キャッシュメモリ制御部15にHDDデステージ指示を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14から書き込むべきデータ及び当該データのパリティデータを読み出す(SP51)。続いて、HDD/FM制御部17は、読み出した書き込むべきデータ及び当該データのパリティデータをハードディスクドライブ5の該当するHDDアドレスの領域に書き込む(SP52)。続いて、HDD/FM制御部17は、HDDデステージ指示の終了報告をプロセッサ13に通知する(SP53)。
続いて、プロセッサ13は、制御情報格納領域12に格納されている論理ボリューム管理テーブル20等の各種テーブルの制御情報を更新する(SP54)。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるデータライト処理について説明する。
図11及び図12は、このストレージシステム1のストレージ装置3のデータライト処理に関する、ストレージ装置3のプロセッサ13の具体的な処理手順を示したフローチャートの一例である。
プロセッサ13は、例えば、チャネル制御部11からライト要求が通知されると、プロセッサ13内の制御プログラム(図示せず)を実行することにより、図11及び図12に示すデータライト処理手順RT3に従って、ハードディスクドライブ5に書き込むべきデータを格納するための領域をキャッシュメモリ14に排他的に確保して、当該確保情報をキャッシュメモリ領域管理テーブル(図示せず)等が格納されている制御情報格納領域12に書き込む(SP61)。続いて、プロセッサ13は、チャネル制御部11にライト指示を通知して、キャッシュメモリ14の確保した領域にデータを書き込ませる(SP62)。
続いて、プロセッサ13は、ハードディスクドライブ5に書き込むべきデータがランダムデータであるか否かをチェックする(SP63)。具体的に、プロセッサ13は、例えば、ハードディスクドライブ5に書き込むべきデータが所定のデータ長以下の場合や、次のライト要求がハードディスクドライブ5の連続するHDDアドレスへのライト要求でない場合には、ランダムデータであると判断し、ハードディスクドライブ5に書き込むべきデータが所定のデータ長より大きい場合や、次のライト要求がハードディスクドライブ5の連続するHDDアドレスへのライト要求である場合には、シーケンシャルデータであると判断する。
そして、プロセッサ13は、ハードディスクドライブ5に書き込むべきデータがランダムデータである場合(SP63:YES)には、論理ボリューム管理テーブル20のランダムライトカウンタ欄20Cのランダムライトアクセスの回数を「1」増加する(SP64)。これに対して、プロセッサ13は、ハードディスクドライブ5に書き込むべきデータがランダムデータでない場合、すなわち、シーケンシャルデータである場合(SP63:NO)には、論理ボリューム管理テーブル20のシーケンシャルライトライトカウンタ欄20Dのシーケンシャルライトアクセスの回数を「1」増加する(SP65)。
やがて、プロセッサ13は、論理ボリューム管理テーブル20における書き込むべきデータのHDDアドレスがFMステージングの条件を満たしているか否かをチェックする(SP66)。
具体的に、プロセッサ13は、例えば、ランダムライトカウンタ欄20Cのランダムライトアクセスの回数がシーケンシャルライトカウンタ欄20Dのシーケンシャルライトアクセスの回数より大きい場合や、リードカウンタ欄20Eのリードアクセスの回数が所定の回数よりも大きい場合には、FMステージングの条件を満たしていると判断する。
これに対して、プロセッサ13は、ランダムライトカウンタ欄20Cのランダムライトアクセスの回数がシーケンシャルライトカウンタ欄20Dのシーケンシャルライトアクセスの回数以下である場合や、リードカウンタ欄20Eのリードアクセスの回数が所定の回数以下である場合には、FMステージングの条件を満たしていないと判断する。
なお、プロセッサ13は、ランダムライトアクセスの回数が所定の回数よりも大きい場合や、ランダムライトアクセスの比率が所定の比率よりも大きい場合、リードアクセスの比率が所定の比率よりも大きい場合等のこの他種々の場合にFMステージングの条件を満たしていると判断するようにしても良い。
そして、プロセッサ13は、ランダムライトカウンタ欄20Cの書き込むべきデータのHDDアドレスがFMステージングの条件を満たしている場合(SP66:YES)には、当該HDDアドレスのFMステージング指示フラグを「1」に変更する(SP67)。これに対して、プロセッサ13は、ランダムライトカウンタ欄20Cの書き込むべきデータのHDDアドレスがFMステージングの条件を満たしていない場合(SP66:NO)には、当該HDDアドレスのFMステージング指示フラグを「0」に変更する(SP68)。
やがて、プロセッサ13は、ハードディスクドライブ5に書き込むべきデータの旧データ及びパリティデータを格納するための領域をキャッシュメモリ14に排他的に確保して、当該確保情報をキャッシュメモリ領域管理テーブル(図示せず)等が格納されている制御情報格納領域12に書き込む(SP69)。続いて、プロセッサ13は、当該旧データ及びパリティデータの転送指示をHDD/FM制御部17の外部転送DMAコントローラ23に通知する(SP70)。
続いて、プロセッサ13は、HDD/FM制御部17の内部転送DMAコントローラ22からハードディスクドライブ5に書き込むべきデータの旧データ及びパリティデータの転送指示の終了報告が通知されるのを待機モードで待ち受ける(SP71)。やがて、プロセッサ13は、当該転送指示の終了報告が通知された場合(SP71:YES)には、書き込むべきデータのパリティデータのパリティ生成指示をHDD/FM制御部17のパリティ生成部21に通知する(SP72)。
続いて、プロセッサ13は、HDD/FM制御部17のパリティ生成部21から書き込むべきデータのパリティデータのパリティ生成指示の終了報告が通知されるのを待機モードで待ち受ける(SP73)。やがて、プロセッサ13は、当該パリティ生成指示の終了報告が通知された場合(SP73:YES)には、書き込むべきデータ及び当該データのパリティデータのHDDデステージ指示をHDD/FM制御部17の内部転送DMAコントローラ22に通知する(SP74)。
続いて、プロセッサ13は、HDD/FM制御部17の外部転送DMAコントローラ23から書き込むべきデータ及び当該データのパリティデータのHDDデステージ指示の終了報告が通知されるのを待機モードで待ち受ける(SP75)。やがて、プロセッサ13は、当該HDDデステージ指示の終了報告が通知された場合(SP75:YES)には、この後、プロセッサ13内の制御プログラム(図示せず)を終了することにより、この図11及び図12に示すデータライト処理手順RT3を終了する(SP76)。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるデータリードの流れについて説明する。
図13は、このストレージシステム1のストレージ装置3のデータリードの流れに関する、ストレージ装置3のプロセッサ13、制御情報格納領域12、キャッシュメモリ制御部15、HDD/FM制御部17、ハードディスクドライブ5及びフラッシュメモリ6、並びにチャネル制御部11の具体的な処理手順を示したフローチャートの一例である。
まず、チャネル制御部11は、ホスト装置2からリード要求を受信すると、プロセッサ13にリード要求を通知する(SP81)。
続いて、プロセッサ13は、論理ボリューム管理テーブル20のリードアクセスの回数を増加する(SP82)。続いて、プロセッサ13は、制御情報格納領域12からキャッシュメモリ領域管理テーブル(図示せず)の管理情報を読み出す(SP83)。続いて、プロセッサ13は、キャッシュメモリ領域管理テーブルを参照して、読み出すべきデータがキャッシュメモリ14に格納されているか否かを判定するキャッシュヒット・ミス判定を行う(SP84)。
続いて、プロセッサ13は、例えば、読み出すべきデータがキャッシュメモリ14に格納されていない場合には、ホスト装置2に読み出すべきデータを格納するための領域をキャッシュメモリ14に排他的に確保して、当該確保情報をキャッシュメモリ領域管理テーブル(図示せず)等が格納されている制御情報格納領域12に書き込む(SP85)。続いて、プロセッサ13は、読み出すべきデータのハードディスクドライブ5又はフラッシュメモリ6からキャッシュメモリ14へのデータの複製(以下、HDDステージングと呼ぶ。)指示をHDD/FM制御部17に通知する(SP86)。
続いて、HDD/FM制御部17は、FM管理テーブル34を参照して、読み出すべきデータのFMヒット・ミス判定を行う(SP87)。続いて、HDD/FM制御部17は、読み出すべきデータをハードディスクドライブ5又はフラッシュメモリ6から読み出す(SP88)。続いて、HDD/FM制御部17は、キャッシュメモリ制御部15にHDDステージング指示を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14の確保した領域に読み出すべきデータを書き込む(SP89)。続いて、HDD/FM制御部17は、HDDステージング指示の終了報告をプロセッサ13に通知する(SP90)。
続いて、プロセッサ13は、読み出すべきデータのリード指示をチャネル制御部11に通知する(SP91)。続いて、プロセッサ13は、制御情報格納領域12に格納されている論理ボリューム管理テーブル20等の各種テーブルの制御情報を更新する(SP92)。
続いて、チャネル制御部11は、キャッシュメモリ制御部15にリード指示を通知し、キャッシュメモリ制御部15を介して、キャッシュメモリ14から読み出すべきデータを読み出してホスト装置2に送信する(SP93)。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるデータリード処理について説明する。
図14は、このストレージシステム1のストレージ装置3のデータリード処理に関する、ストレージ装置3のプロセッサ13の具体的な処理手順を示したフローチャートの一例である。
プロセッサ13は、例えば、チャネル制御部11からリード要求が通知されると、プロセッサ13内の制御プログラム(図示せず)を実行することにより、図14に示すデータリード処理手順RT4に従って、論理ボリューム管理テーブル20のリードカウンタ欄20Eのリードアクセスの回数を「1」増加する(SP101)。
続いて、プロセッサ13は、キャッシュメモリ領域管理テーブルを参照して、読み出すべきデータがキャッシュメモリ14に格納されているか否かをチェックする(SP102)。そして、プロセッサ13は、読み出すべきデータがキャッシュメモリ14に格納されている場合(SP102:YES)には、ステップSP105に進む。これに対して、プロセッサ13は、読み出すべきデータがキャッシュメモリ14に格納されていない場合(SP102:NO)には、読み出すべきデータのHDDステージング指示をHDD/FM制御部17の外部転送DMAコントローラ23に通知する(SP103)。
続いて、プロセッサ13は、HDD/FM制御部17の内部転送DMAコントローラ22から読み出すべきデータのHDDステージング指示の終了報告が通知されるのを待機モードで待ち受ける(SP104)。やがて、プロセッサ13は、当該HDDステージング指示の終了報告が通知された場合(SP104:YES)には、読み出すべきデータのリード指示をチャネル制御部11に通知して、キャッシュメモリ14から読み出すべきデータを読み出してホスト装置2に送信させる(SP105)。
やがて、プロセッサ13は、この後、プロセッサ13内の制御プログラム(図示せず)を終了することにより、この図14に示すデータリード処理手順RT4を終了する(SP106)。
次に、本実施の形態におけるストレージシステム1のストレージ装置3によるFMヒット・ミス判定処理について説明する。
図15は、このストレージシステム1のストレージ装置3のFMヒット・ミス判定処理に関する、ストレージ装置3のHDD/FM制御部17の具体的な処理手順を示したフローチャートの一例である。
HDD/FM制御部17の外部転送DMAコントローラ23は、例えば、プロセッサ13から転送指示が通知された場合や、プロセッサ13からHDDステージング指示が通知された場合には、外部転送DMAコントローラ23内の制御プログラム(図示せず)を実行することにより、図15に示すFMヒット・ミス判定処理手順RT5に従って、メモリ27からFM管理テーブル34を読み出す(SP111)。
続いて、外部転送DMAコントローラ23は、書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータが格納されている領域のHDDアドレスのFM領域確保フラグが「1」であるか否かをチェックする(SP112)。
そして、外部転送DMAコントローラ23は、当該HDDアドレスのFM領域確保フラグが「1」である場合(SP112:YES)には、書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータがフラッシュメモリ6にも格納されているため、書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータをフラッシュメモリ6から読み出して、メモリ27に格納する(SP113)。これにより、外部転送DMAコントローラ23は、ハードディスクドライブ5から読み出す場合よりも高速に書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータを読み出すことができる。
これに対して、外部転送DMAコントローラ23は、当該HDDアドレスのFM領域確保フラグが「1」でない、すなわち、「0」である場合(SP112:NO)には、書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータがフラッシュメモリ6にも格納されていないため、書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータをハードディスクドライブ5から読み出して、メモリ27に格納する(SP114)。
やがて、外部転送DMAコントローラ23は、転送指示又はHDDステージング指示を内部転送DMAコントローラ22及びキャッシュメモリ制御部15に通知し、内部転送DMAコントローラ22及びキャッシュメモリ制御部15を介して、書き込むべきデータの旧データ及びパリティデータ、又は読み出すべきデータをキャッシュメモリ14に転送させ(SP115)、内部転送DMAコントローラ22を介して、転送指示又はHDDステージング指示の終了報告をプロセッサ13に通知させる(SP116)。
やがて、外部転送DMAコントローラ23は、この後、外部転送DMAコントローラ23内の制御プログラム(図示せず)を終了することにより、この図15に示すFMヒット・ミス判定処理手順RT5を終了する(SP117)。
次に、管理装置18におけるフラッシュメモリ6の保守管理画面表示について説明する。
プロセッサ13は、例えば、管理装置18から保守管理画面表示要求が送信されると、メモリ27から保守情報管理テーブル35を読み出す。そして、保守情報管理テーブル35に基づいて保守管理画面情報を管理装置18に送信し、管理装置18の表示部に保守管理画面36を表示させる。
なお、本実施の形態においては、外部転送DMAコントローラ23内の制御プログラム(図示せず)を実行することにより、FMヒット・ミス判定処理を実行した場合について述べたが、本発明はこれに限らず、例えば、外部転送DMAコントローラ23内にソフトウェアプログラムを実行するプロセッサを備えずに、ハードウェアのシーケンス制御等のハードウェア制御により当該処理を実行することもできる。
図16は、保守管理画面36の構成を示している。保守管理画面36は、モジュール化されているフラッシュメモリ6の状態、最大書き込み回数及びコレクタブルエラー発生回数を表示する。保守管理画面36は、FMモジュール番号欄36A、状態欄36B及び詳細欄36Cから構成されている。
FMモジュール番号欄35Aには、FMモジュール番号が表示される。状態欄36Bには、モジュール化されているフラッシュメモリ6が使用されているか、閉塞されているかの情報や、保守情報管理テーブル35の最大書き込み回数、コレクタブルエラー発生回数に基づいて、当該モジュール化されているフラッシュメモリ6の現在の状態が表示される。
この場合、状態欄36Bには、例えば、モジュール化されているフラッシュメモリ6が使用されている場合には、「使用中」と表示され、モジュール化されているフラッシュメモリ6が閉塞されている場合には、「閉塞」と表示される。また、状態欄36Bには、例えば、モジュール化されているフラッシュメモリ6の最大書き込み回数又はコレクタブルエラー発生回数が所定の回数より大きく、モジュール化されているフラッシュメモリ6をこのまま使用することが危険である場合には、「ワーニング」と表示される。
詳細欄36Cは、最大書き込み回数欄及びコレクタブルエラー発生回数欄から構成されている。最大書き込み回数欄には、モジュール化されているフラッシュメモリ6のうち、書き込み回数が一番大きいFMブロックの書き込み回数である最大書き込み回数が表示される。コレクタブルエラー発生回数欄には、モジュール化されているフラッシュメモリ6のコレクタブルエラー発生回数が表示される。
プロセッサ13は、管理装置18の表示部に保守管理画面36を表示させることにより、モジュール化されているフラッシュメモリ6の状態、最大書き込み回数及びコレクタブルエラー発生回数をオペレータに容易に認識させることができる。オペレータは、モジュール化されているフラッシュメモリ6の状態、最大書き込み回数及びコレクタブルエラー発生回数を認識し、モジュール化されているフラッシュメモリ6を閉塞したり、交換したりすることができる。
図17は、他の実施の形態によるストレージシステム1の構成を示している。本実施の形態におけるストレージシステム1は、チャネル制御部11、キャッシュ制御部15及びFM/HDD制御部17をプロセッサ13が統括的に制御した場合について述べたが、本発明はこれに限らず、図17のように、チャネル制御部11のプロセッサ41、キャッシュメモリ制御部15、FM/HDD制御部17のプロセッサ42及び制御メモリ制御部43が独立してそれぞれを制御するようにしても良く、この他種々の形態に適用することができる。
このようにして、ストレージシステム1では、HDD/FM制御部17が、ハードディスクドライブ5のランダムライトアクセスや、シーケンシャルライトアクセス、リードアクセス等の状況(使用状況)に応じて、ハードディスクドライブ5に格納されているデータをフラッシュメモリ6に複製し(FMステージングを行い)、プロセッサ13が、ホスト装置2からリード要求を受信し、対応するデータがフラッシュメモリ6に格納されている場合には、フラッシュメモリ6からデータを読み出す。
従って、ハードディスクドライブ5に格納されているデータをフラッシュメモリ6に複製する(FMステージングを行う)場合にも、一時的にホスト装置2とのI/O処理性能が大幅に低下するのを未然かつ有効に防止し、プロセッサ13の負荷を格段に軽減することができる。
また、ストレージシステム1では、ハードディスクドライブ5に格納されているデータをフラッシュメモリ6に複製する(FMステージングを行う)場合に、データの同一性を保つことができる。さらに、ストレージシステム1では、開放したフラッシュメモリ6のデータを予め消去しておくことで、FMステージングの性能を向上させることができる。さらに、ストレージシステム1では、FMブロック単位で、データの消去を行うことにより、簡易にアドレス管理をすることができる。
さらに、ストレージシステム1では、フラッシュメモリ6からデータを読み出す場合に、HDD/FM制御部17が、HDDアドレスをFMブロックアドレスに変換し、フラッシュメモリ6内に格納されているデータを読み出すことにより、プロセッサ13の負荷をより一層軽減することができる。
さらに、ストレージシステム1では、フラッシュメモリ6の動作状態、最大書き込み回数及びコレクタブルエラー回数を管理装置18の表示部に表示することにより、故障フラッシュメモリ6や、故障可能性のあるフラッシュメモリ6をオペレータが容易に特定することができる。
なお、本実施の形態においては、データを格納するためのフラッシュメモリ405を設けた場合について述べたが、本発明はこれに限らず、例えば、相変化メモリや半導体メモリ等のこの他種々の不揮発メモリデバイスに適用することができる。
また、本実施の形態においては、フラッシュメモリ6よりもデータ書込み可能回数が多いディスク状記憶デバイスとしてハードディスクドライブ5を適用した場合について述べたが、本発明はこれに限らず、例えば、光ディスクや光磁気ディスク等のこの他種々のディスク状記憶デバイスに適用することができる。
さらに、本実施の形態においては、ストレージ装置3を、データを1つ又は複数のディスク装置又は記憶媒体に格納するストレージ制御装置及び複数のストレージ制御装置、テープライブラリ制御装置、光ディスクライブラリ制御装置、半導体ディスク制御装置などのソリッドステートディスク装置、フラッシュメモリに代表される、不揮発メモリを利用したストレージ装置などから構成されるストレージ装置に適用することができる。
さらに、本実施の形態においては、FMステージングの条件を満たすデータをハードディスクドライブ5からフラッシュメモリ6に複製する場合について述べたが、本発明はこれに限らず、例えば、ハードディスクドライブ5からフラッシュメモリ6に移動するような場合であっても良く、この他、種々の場合に適用することができ、これと共に、HDDステージングや、HDDデステージについても、複製だけでなく上述の場合と同様に種々の形態で適用することができる。
本発明は、ハードディスクドライブとフラッシュメモリとを搭載したストレージ装置に広く適用することができる。
本実施の形態によるストレージシステムの概略的な構成を示すブロック図である。 FM/HDD制御部の概略的な構成を示すブロック図である。 FM管理テーブルの構成の説明に供する概念図である。 FM管理FIFOの構成の説明に供する概念図である。 論理ボリューム管理テーブルの構成の説明に供する概念図である。 保守情報管理テーブルの構成の説明に供する概念図である。 FMステージング処理手順を示すフローチャートである。 FMステージング処理手順を示すフローチャートである。 FMブロック開放処理手順を示すフローチャートである。 データライトの流れを示すフローチャートである。 データライト処理手順を示すフローチャートである。 データライト処理手順を示すフローチャートである。 データリードの流れを示すフローチャートである。 データリード処理手順を示すフローチャートである。 FMヒット・ミス判定処理手順を示すフローチャートである。 保守管理画面の構成の説明に供する概念図である。 他実施の形態によるストレージシステムの概略的な構成を示すブロック図である。
符号の説明
1……ストレージシステム、2……ホスト装置、3……ストレージ装置、4……SAN、5……ハードディスクドライブ、6……フラッシュメモリ、7……コントロール部、11……チャネル制御部、12……制御情報格納領域、13……プロセッサ、14……キャッシュメモリ、15……キャッシュメモリ制御部、17……HDD/FM制御部、18……管理装置、20……論理ボリューム管理テーブル、21……パリティ生成部、22……内部転送DMAコントローラ、23……外部転送DMAコントローラ、25……FMステージングコントローラ、26……メモリコントローラ、31……FM管理FIFO、34……FM管理テーブル、35……保守情報管理テーブル、36……保守管理画面

Claims (10)

  1. 複数のディスク記憶装置と、
    不揮発性半導体記憶装置と、
    前記ディスク記憶装置に読み書きされるデータを一時的に記憶するキャッシュメモリを少なくとも含むストレージコントローラと、
    を有し、
    前記ストレージコントローラは、
    前記ディスク記憶装置に設定された論理ボリュームに格納されるデータの内、アクセス頻度に応じて一部のデータを前記複数のディスク記憶装置のいずれかより読み出して前記不揮発性半導体記憶装置に複製し、
    前記論理ボリュームへのリード要求を受信した際、前記キャッシュメモリにリードデータが格納されている場合には前記キャッシュメモリから読み出した前記リードデータを前記リード要求の送信元に送信し、前記キャッシュメモリに前記リードデータが格納されていない場合であって、前記リードデータが前記不揮発性半導体記憶装置に複製されている場合には前記不揮発性半導体記憶装置から読み出した前記リードデータを前記キャッシュメモリに格納し、前記リードデータが前記不揮発性半導体記憶装置に複製されていない場合には前記複数のディスク記憶装置のいずれかから読み出した前記リードデータを前記キャッシュメモリに格納し、前記キャッシュメモリに格納した前記リードデータを前記リード要求の送信元に送信し、
    前記論理ボリュームへのライト要求を受信した際、前記キャッシュメモリにライトデータを書き込み、前記ライトデータの旧データが前記不揮発性半導体記憶装置に複製されている場合に、前記ライトデータを前記キャッシュメモリから読み出して前記複数のディスク記憶装置のいずれかに書き込み、前記半導体記憶装置に格納される前記旧データを開放する、
    ことを特徴とするストレージ装置。
  2. 前記一部のデータを前記キャッシュメモリを介さずに前記複数のディスク記憶装置のいずれかより読み出して前記不揮発性半導体記憶装置に複製する、
    ことを特徴とする請求項1に記載のストレージ装置。
  3. 前記リード要求の処理と非同期に、前記一部のデータを前記複数のディスク記憶装置のいずれかから前記不揮発性半導体記憶装置に複製する、
    ことを特徴とする請求項1乃至2のいずれかに記載のストレージ装置。
  4. 前記ストレージコントローラは、
    前記複数のディスク記憶装置に対してRAID(Redundant Array of Independent Disks)制御する、
    ことを特徴とする請求項1乃至3のいずれかに記載のストレージ装置。
  5. 前記一部のデータは、前記論理ボリュームに格納されるデータの内、アクセス頻度が閾値を上回るデータである、
    ことを特徴とする請求項1乃至4のいずれかに記載のストレージ装置。
  6. 前記ストレージコントローラは、
    前記論理ボリューム内に格納されるデータへのアクセス頻度に応じて、前記不揮発性半導体記憶装置に格納されているデータを開放する、
    ことを特徴とする請求項1乃至5のいずれかに記載のストレージ装置。
  7. 前記ストレージコントローラは、前記論理ボリュームへ前記ライト要求を受信した際、前記旧データが前記不揮発性半導体記憶装置に複製されている場合に、前記不揮発性半導体記憶装置から読み出した前記旧データを前記キャッシュメモリに格納し、少なくとも前記ライトデータと前記旧データとからパリティデータを作成し、前記ライトデータと前記パリティデータとを前記複数のディスク装置のいずれかに格納する、
    ことを特徴とする請求項1乃至6のいずれかに記載のストレージ装置。
  8. 前記ストレージコントローラは、
    前記一部のデータを前記複数のディスク記憶装置のいずれかより読み出して前記不揮発性半導体記憶装置に複製する際に前記一部のデータが前記不揮発性半導体記憶装置に格納されていることを示すように更新される管理テーブルを保持し、
    前記リードデータが前記不揮発性半導体記憶装置に複製されているかを判断する際に、前記管理テーブルを参照する、
    ことを特徴とする請求項1乃至7いずれかに記載のストレージ装置。
  9. 前記ストレージコントローラは、前記リードデータが前記キャッシュメモリに格納されている場合においても、前記リードデータに対する前記アクセス頻度を上げる、
    ことを特徴とする請求項1乃至8いずれかに記載のストレージ装置。
  10. 前記ストレージコントローラは、
    前記キャッシュメモリに加え、計算機に接続する少なくとも1以上の第1制御部と、プロセッサと、前記複数のディスク記憶装置及び前記不揮発性半導体記憶装置に接続する少なくとも1以上の第2制御部と、を有し、
    前記第2制御部が、前記一部のデータを前記複数のディスク記憶装置のいずれかより読み出して前記不揮発性半導体記憶装置に複製する、
    ことを特徴とする請求項1乃至9のいずれかに記載のストレージ装置。
JP2007241426A 2007-09-18 2007-09-18 ストレージ装置 Expired - Fee Related JP5124217B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007241426A JP5124217B2 (ja) 2007-09-18 2007-09-18 ストレージ装置
US12/007,849 US20090077302A1 (en) 2007-09-18 2008-01-16 Storage apparatus and control method thereof
US13/251,762 US20120023287A1 (en) 2007-09-18 2011-10-03 Storage apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241426A JP5124217B2 (ja) 2007-09-18 2007-09-18 ストレージ装置

Publications (2)

Publication Number Publication Date
JP2009075658A JP2009075658A (ja) 2009-04-09
JP5124217B2 true JP5124217B2 (ja) 2013-01-23

Family

ID=40455809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241426A Expired - Fee Related JP5124217B2 (ja) 2007-09-18 2007-09-18 ストレージ装置

Country Status (2)

Country Link
US (2) US20090077302A1 (ja)
JP (1) JP5124217B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4942446B2 (ja) * 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
US8019939B2 (en) * 2008-06-02 2011-09-13 Intel Corporation Detecting data mining processes to increase caching efficiency
US8977894B2 (en) * 2009-08-21 2015-03-10 International Business Machines Corporation Operating a data storage system
US8700727B1 (en) * 2010-02-05 2014-04-15 Toshiba Corporation Peer-to-peer based caching for network file system
US8588228B1 (en) 2010-08-16 2013-11-19 Pmc-Sierra Us, Inc. Nonvolatile memory controller with host controller interface for retrieving and dispatching nonvolatile memory commands in a distributed manner
JP5633689B2 (ja) * 2010-11-09 2014-12-03 日本電気株式会社 データベース移行管理装置及びその方法
US8725979B1 (en) * 2012-01-30 2014-05-13 Netapp, Inc. Efficient methods and systems for allocating storage volumes
CN103795770B (zh) * 2012-10-26 2017-07-04 伊姆西公司 在网络基础设施中提供高速缓存服务的方法和装置
WO2014087441A1 (en) * 2012-12-03 2014-06-12 Hitachi, Ltd. Computer system and method of controlling computer system
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9542104B2 (en) 2013-08-05 2017-01-10 Western Digital Technologies, Inc. System and method for controlling a storage device
JP6119533B2 (ja) * 2013-09-27 2017-04-26 富士通株式会社 ストレージ装置,ステージング制御方法及びステージング制御プログラム
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US20160103478A1 (en) * 2014-10-08 2016-04-14 Kabushiki Kaisha Toshiba Memory system and memory controller
CN105824760B (zh) * 2015-01-09 2022-04-22 华邦电子股份有限公司 存储装置和其电力控制方法
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
TWI553481B (zh) * 2015-09-30 2016-10-11 宇瞻科技股份有限公司 固態硬碟的資料管理方法、寫入管理系統及其方法
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US11196806B2 (en) * 2016-04-25 2021-12-07 Hitachi, Ltd. Method and apparatus for replicating data between storage systems
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
JP6928247B2 (ja) * 2017-09-11 2021-09-01 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP6817242B2 (ja) 2018-02-26 2021-01-20 Necプラットフォームズ株式会社 ディスクアレイ装置、ディスクアレイ装置の制御方法、及びディスクアレイ装置の制御プログラム
US11796594B2 (en) 2020-11-05 2023-10-24 Schneider Electric It Corporation PWM capture function for event analysis
US11550762B2 (en) * 2021-02-24 2023-01-10 Sap Se Implementation of data access metrics for automated physical database design

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3587204B2 (ja) * 1991-11-28 2004-11-10 株式会社日立製作所 記憶装置
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
JPH06236241A (ja) * 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
JPH09297659A (ja) * 1996-04-30 1997-11-18 Toshiba Corp 不揮発性記憶装置およびその制御方法
JPH1040170A (ja) * 1996-07-26 1998-02-13 Toshiba Corp ディスクキャッシュシステム
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US6687765B2 (en) * 2001-01-16 2004-02-03 International Business Machines Corporation System, method, and computer program for explicitly tunable I/O device controller
US6487638B2 (en) * 2001-01-26 2002-11-26 Dell Products, L.P. System and method for time weighted access frequency based caching for memory controllers
US7136966B2 (en) * 2002-03-18 2006-11-14 Lsi Logic Corporation Method and apparatus for using a solid state disk device as a storage controller cache
US7353334B2 (en) * 2002-08-19 2008-04-01 Aristos Logic Corporation Method of increasing performance and manageability of network storage systems using optimized cache setting and handling policies
US6922752B2 (en) * 2002-08-23 2005-07-26 Hewlett-Packard Development Company, L.P. Storage system using fast storage devices for storing redundant data
CA2498154A1 (en) * 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
US7051156B2 (en) * 2002-11-06 2006-05-23 Synology Inc. Raid-5 disk having cache memory
JP3983650B2 (ja) * 2002-11-12 2007-09-26 株式会社日立製作所 ハイブリッドストレージ、および、それを用いた情報処理装置
US20050149683A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. Methods and systems for data backups
US7305520B2 (en) * 2004-01-30 2007-12-04 Hewlett-Packard Development Company, L.P. Storage system with capability to allocate virtual storage segments among a plurality of controllers
US7127549B2 (en) * 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
US7136973B2 (en) * 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7313721B2 (en) * 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
US20060075185A1 (en) * 2004-10-06 2006-04-06 Dell Products L.P. Method for caching data and power conservation in an information handling system
SG126788A1 (en) * 2005-04-19 2006-11-29 Trek 2000 Int Ltd Interface for non-volatile memories
US7610445B1 (en) * 2005-07-18 2009-10-27 Palm, Inc. System and method for improving data integrity and memory performance using non-volatile media
JP5008845B2 (ja) * 2005-09-01 2012-08-22 株式会社日立製作所 ストレージシステムとストレージ装置及びその制御方法
US7966450B2 (en) * 2005-09-01 2011-06-21 Micron Technology, Inc. Non-volatile hard disk drive cache system and method
JP4410178B2 (ja) * 2005-09-22 2010-02-03 富士通株式会社 Raid装置におけるライトバック方法
JP4933861B2 (ja) * 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
US7568075B2 (en) * 2005-09-22 2009-07-28 Hitachi, Ltd. Apparatus, system and method for making endurance of storage media
US7543123B2 (en) * 2005-11-07 2009-06-02 International Business Machines Corporation Multistage virtual memory paging system
JP2007193449A (ja) * 2006-01-17 2007-08-02 Toshiba Corp 情報記録装置及びその制御方法
US7613876B2 (en) * 2006-06-08 2009-11-03 Bitmicro Networks, Inc. Hybrid multi-tiered caching storage system
KR100801015B1 (ko) * 2006-08-30 2008-02-04 삼성전자주식회사 하이브리드 하드 디스크 드라이브와 데이터 저장 방법
US7568068B2 (en) * 2006-11-13 2009-07-28 Hitachi Global Storage Technologies Netherlands B. V. Disk drive with cache having volatile and nonvolatile memory

Also Published As

Publication number Publication date
US20120023287A1 (en) 2012-01-26
JP2009075658A (ja) 2009-04-09
US20090077302A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
JP5124217B2 (ja) ストレージ装置
JP5014821B2 (ja) ストレージシステム及びその制御方法
US10089027B2 (en) Information processing system
JP4933211B2 (ja) ストレージ装置、制御装置及び制御方法
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
US8489806B2 (en) Storage apparatus and method of managing data storage area
JP5963228B2 (ja) ストレージシステム及びデータバックアップ方法
US9891989B2 (en) Storage apparatus, storage system, and storage apparatus control method for updating stored data stored in nonvolatile memory
JP2008276379A (ja) 記憶システム及びパス切替え方法
JP2009211401A (ja) ストレージ装置及びその制御方法
WO2013076782A1 (en) Storage apparatus and its control method
US20210373802A1 (en) Data Integrity Protection Of ZNS Needs
JP2009294901A (ja) ストレージ装置及び障害復旧方法
JP2007299114A (ja) 記憶システム及びデータ保存方法
WO2017126091A1 (ja) 記憶装置及びその制御方法並びに記憶装置を備えたストレージシステム
JP2007065788A (ja) ディスクアレイ装置及びその制御方法並びにプログラム
JP2011028520A (ja) ディスクアレイ装置及び物理ディスクの復元方法
JP5820078B2 (ja) 記憶装置システム
WO2013076779A1 (en) Storage apparatus and its method for selecting a location where storing differential data based on detection of snapshot deletion behaviour
WO2012137256A1 (en) Disk array apparatus and control method thereof
KR20220086934A (ko) 비휘발성 메모리 시스템의 저널링 제어 장치 및 방법
JP5153392B2 (ja) 記憶制御装置及び方法
JP5601053B2 (ja) 制御装置、制御モジュールおよび制御方法
US20200174710A1 (en) Method and apparatus for rapid volume reformatting
KR20220147292A (ko) 메타 데이터 관리를 수행하는 스토리지 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5124217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees