JP4775843B2 - ストレージシステム及び記憶制御方法 - Google Patents

ストレージシステム及び記憶制御方法 Download PDF

Info

Publication number
JP4775843B2
JP4775843B2 JP2005231520A JP2005231520A JP4775843B2 JP 4775843 B2 JP4775843 B2 JP 4775843B2 JP 2005231520 A JP2005231520 A JP 2005231520A JP 2005231520 A JP2005231520 A JP 2005231520A JP 4775843 B2 JP4775843 B2 JP 4775843B2
Authority
JP
Japan
Prior art keywords
read command
timeout
read
hdd
media drive
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
JP2005231520A
Other languages
English (en)
Other versions
JP2007048017A (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 JP2005231520A priority Critical patent/JP4775843B2/ja
Priority to US11/250,488 priority patent/US7325117B2/en
Publication of JP2007048017A publication Critical patent/JP2007048017A/ja
Application granted granted Critical
Publication of JP4775843B2 publication Critical patent/JP4775843B2/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、記憶制御技術に関する。
例えば、データセンタ等のような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成されたストレージシステムを用いてデータを管理する。このストレージシステムは、例えば、多数のメディアドライブをアレイ状に配設して構成されたRAID(Redundant Array of Independent Inexpensive Disks)のようなディスクアレイシステムである。ストレージシステムに搭載されるメディアドライブとして、例えば、SATA(Serial ATA)の規格に従うインターフェースを有するハードディスクドライブ(以下、SATA−HDD)を採用することが考えられている(例えば特許文献1)。
特開2004−348876号公報
ところで、HDDには、一般に、ハードディスクと、ハードディスクに対するデータのアクセスを制御する制御部(例えば制御基板や記録ヘッド)とが備えられる。制御部は、データブロック群が指定されたリードコマンドを受け、そのデータブロック群を構成する各データブロック毎に、データブロックを読み出すための読出し処理を行うことで、それらデータブロック群を読み出すことができる。もし、或るデータブロックについて、読出し処理を行っても、そのデータブロックを読み出せなければ、制御部は、同一のデータブロックを読み出すための読出し処理を再度行うこと(つまり、読出しリトライを行うこと)で、一回の読出し処理では読み出せなかったデータブロックの読み出しを試みる。
HDDの状態によっては、リードコマンドで指定された複数のデータブロックを読み出すために、読出しリトライを頻繁に行う場合が生じ、故に、それら複数のデータブロックの読出しに要する時間が長くなるかもしれない。
その読出し時間長が長くなりすぎないようにするための方法として、読出し時間長を制限する方法が考えられる。HDDは、一般に、そのHDDに設定されている種々のパラメータに基づいて動作する。HDDの種類によっては、そのパラメータとして、読出し時間長の制限に関わるパラメータ(以下、制限パラメータ)があり、且つ、その制限パラメータの値を変更することができるものがある。制限パラメータとしては、例えば、リトライ時間、及び/又は、リトライ回数がある。リトライ時間とは、例えば、一データブロックの読出しリトライに要する時間長、又は、データブロック群の読出しの際に行われる一回以上の読出しリトライのトータル時間長である。リトライ回数とは、例えば、同一のデータブロックに対する読出しリトライの最大回数、又は、データブロック群の読出しの際に行える読出しリトライの最大回数である。
制限パラメータの値が変更可能なHDDとして、例えば、ファイバチャネルの規格に従うインターフェースを有したHDD(以下、FC−HDD)がある。FC−HDDの制御部は、リードコマンドで指定されている複数のデータブロックを、そのFC−HDDに設定されている制限パラメータの値に従って読み出すことができなければ、エラー(例えばタイムアウト)とすることができる。
このような事態は、ハードディスク上の或る領域から読出しを行う場合だけに生じるのかもしれないし、そうではなく、多くの領域から読出しを行う場合にも生じるかもしれない。後者の場合であれば、HDDを閉塞する必要があるであろう。前者の場合であれば、FC−HDDのようなHDDであれば、制限パラメータの値を変更する(例えば、リトライ回数の値を増やす)ことで、対処することが可能であろう。
しかし、前者の場合であっても、制限パラメータの値を変更することができない種類のHDDについては、上記のように対処することができない。このため、必要以上に、HDDが閉塞されてしまう可能性がある。その種のHDDとして、例えば、SATA−HDDが挙げられる。
従って、本発明の目的は、メディアドライブ、特に、読出し時間長の制限に関わるパラメータの値を変更不可能に有するメディアドライブを必要以上に閉塞しないようにすることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
本発明に従うストレージシステムは、複数のメディアドライブと、前記複数のメディアドライブの各々に対してリードコマンドを発行することができるコントローラとを備える。前記コントローラが、複数のデータブロックを指定した第一リードコマンドを或るメディアドライブに発行する(第一コマンド発行手段を有する)。また、前記コントローラは、前記第一リードコマンドについてのタイムアウトを検出した場合、前記複数のデータブロックの一部のデータブロックを指定した第二リードコマンドを生成して、前記第二リードコマンドを前記或るメディアドライブに発行する(第二コマンド発行手段を有する)。また、前記コントローラは、前記第二リードコマンドについてのタイムアウトを検出することなく前記一部のデータブロックを受信した場合、前記第二リードコマンドを一回以上前記或るメディアドライブに対して発行することにより、前記第一リードコマンドで指定された前記複数のデータブロックを前記或るメディアドライブから読み出す。なお、リードコマンドでは、読出し対象となるデータブロックそれ自体が指定されてもよいし、読出し範囲が指定されても良い。
本発明の一つの態様では、前記或るメディアドライブは、リードコマンドで指定されたデータブロックの読出し時間長の制限に関わるパラメータの値を変更不可能に有するメディアドライブとすることができる。その或るメディアドライブは、SATAの規格に従うインタフェースを有するハードディスクドライブであるとすることができる。
本発明の一つの態様では、前記一部のデータブロックを構成するデータブロックの数は、リードコマンドが発行されてからタイムアウトとなるまでの時間長を、前記或るメディアドライブ内での一つのデータブロックの読出し最大時間長で除算して得られる商の値以下であるものとすることができる。
本発明の一つの態様では、前記コントローラは、前記第一リードコマンドについてタイムアウトが検出された後の一回目の第二リードコマンドで指定するデータブロックの数よりも、二回目以降の第二リードコマンドで指定するデータブロックの数を多くすることができる。
本発明の一つの態様では、前記複数のメディアドライブには、スペア用のメディアドライブが含まれていてもよい。前記コントローラは、前記第二リードコマンドを一回以上発行することにより前記複数のデータブロックを読み出した場合、前記複数のデータブロックを書込み対象としたライトコマンドを、前記スペア用のメディアドライブに発行することができる。
本発明の一つの態様では、前記コントローラは、前記第二リードコマンドを一回以上発行することにより前記複数のデータブロックを読み出した場合、前記複数のデータブロックを前記或るメディアドライブに上書きするためのライトコマンドを、前記或るメディアドライブに発行することができる。
本発明の一つの態様では、前記コントローラは、前記第二リードコマンドについてのタイムアウトを検出した場合には、前記或るメディアドライブを閉塞することができる(閉塞手段を有しても良い)。例えば、前記コントローラは、第二リードコマンドについて一回でもタイムアウトが検出されたら前記或るメディアドライブを閉塞しても良いし、二回以上タイムアウトが検出された場合にそれを閉塞しても良い。
本発明の一つの態様では、前記コントローラは、前記或るメディアドライブに対して前記第二リードコマンドを発行した場合、前記或るメディアドライブに関する表示を行い、且つ、前記第二リードコマンドについてタイムアウトが生じていないか或いは閉塞させたかに応じて、表示態様を違えることができる(表示手段を有する)。
本発明の一つの態様では、前記コントローラは、前記或るメディアドライブに対して前記第一リードコマンドを複数回送信することができ、前記複数回の送信において、タイムアウトを所定回数検出した場合には、前記或るメディアドライブを閉塞することができる(別の閉塞手段を有する)。
本発明に従う記憶制御方法は、複数のデータブロックを指定した第一リードコマンドを或るメディアドライブに発行し、前記第一リードコマンドについてのタイムアウトを検出した場合、前記複数のデータブロックの一部のデータブロックを指定した第二リードコマンドを生成して、前記第二リードコマンドを前記或るメディアドライブに発行し、前記第二リードコマンドについてのタイムアウトを検出することなく前記一部のデータブロックを受信した場合、前記第二リードコマンドを一回以上前記或るメディアドライブに対して発行することにより、前記第一リードコマンドで指定された前記複数のデータブロックを前記或るメディアドライブから読み出す。この記憶制御方法は、ストレージシステム、及び、そのストレージシステムに接続されたホスト装置のうちの一方によって、又は、双方が協働することによって、実現することができる。また、この記憶制御方法は、その方法における各動作をプロセッサに実行させるためのコンピュータプログラムがプロセッサに読み込まれて実行されることにより、実行することができる。
本発明によれば、メディアドライブを必要以上に閉塞しないようにすることができる。
以下、図面を参照して、本発明の幾つかの実施例について説明する。
図1は、本発明の第一実施例に係るストレージシステムを示す。
ストレージシステム1は、多重化(例えば二重化)されたディスクコントローラ10、10及び複数のメディアドライブ20,21を備える。また、ストレージシステム1は、一以上のホスト装置3と管理装置5とに接続されている。具体的には、例えば、ストレージシステム1は、SAN(Storage Area Network)2を介して一以上のホスト装置3に接続され、LAN(Local Area Network)4を介して管理装置5に接続されている。
ホスト装置3は、例えば、CPU、メモリ及び表示装置等のハードウェア資源を備えるコンピュータ装置(例えばサーバマシン)である。ホスト装置3は、ストレージシステム1に対して、読出し対象データのリードコマンドや、ライトコマンド及び書き込み対象データを送信することができる。
管理装置5は、例えば、CPU、メモリ及び表示装置等のハードウェア資源を備えるコンピュータ装置(例えばパーソナルコンピュータ)である。管理装置5では、例えば、図示しない管理プログラムが動作することができ、その管理プログラムによって記憶装置サブシステム1の動作状態を把握し、ストレージシステム1の動作を制御することができる。なお、管理装置5では、webブラウザ等のクライアントプログラムも動作することができ、ストレージシステム1からCGI(Common Gateway Interface)等によって供給される管理プログラムによって、ストレージシステム1の動作を制御することもできる。
ストレージシステム1には、共通のネットワークを介してホスト装置3及び管理装置5が接続されても良いし、それぞれ専用線を介してホスト装置3及び管理装置5が接続されても良い。ストレージシステム1は、RAID(Redundant Array of Independent Disks)システムとすることができる。
メディアドライブ21は、FC−HDDであり、メディアドライブ20は、SATA−HDDである。すなわち、この実施例では、ストレージシステム1に、複数種類のHDDが混在していることになる。
各ディスクコントローラ10は、HDD20、21に対するデータの入出力を制御する。各ディスクコントローラ10には、例えば、CPU101、メモリ102、データ転送コントローラ104、チャネルインターフェース(以下、インターフェースを「I/F」と略記)105、ディスクI/F106、キャッシュメモリ107、及びLAN I/F108が設けられている。
メモリ102は、種々の情報を記憶することができる。
キャッシュメモリ107には、チャネルI/F105とディスクI/F106との間で送受信されるデータ(換言すれば、ホスト装置3とHDD20、21との間でやり取りされるデータ)が一時的に記憶される。
チャネルI/F105は、SAN2に対するインターフェースであって、例えば、ファイバチャネルプロトコルによって、ホスト3との間でデータや制御信号を送受信する。
ディスクI/F106は、HDD20、21に対するインターフェースであって、例えば、ファイバチャネルプロトコルによって、HDD20、21との間でデータや制御信号を送受信する。
データ転送コントローラ104は、他のデータ転送コントローラ104に通信可能に接続されており、これにより、他のデータコントローラ10との間でデータをやり取りすることができる。データ転送コントローラ104は、CPU101、チャネルI/F105、ディスクI/F106、及びキャッシュメモリ107の間でのデータの転送を制御する。例えば、データ転送コントローラ104は、SAN4を介してHDD20、21に読み書きされるデータを、インターフェース105、106間で、キャッシュメモリ107を介して転送する。
LAN I/F108は、LAN4に対するインターフェースであって、例えば、TCP/IPプロトコルによって、管理装置5との間でデータや制御信号を送受信することができる。
HDD20、21は、二重化されたディスクコントローラ10の両方に接続されており、一方のディスクコントローラ10に障害が発生した場合には他方のディスクコントローラ10からアクセスできるようになっている。具体的には、例えば、各SATA−HDD20は、FC(ファイバチャネル)プロトコルとSATAプロトコルとの間のプロトコル変換を行うコンバータ14及び一方のポートバイパス回路(以下、「PBC」)12を介して一方のディスクコントローラ10のディスクI/F106に接続され、且つ、コンバータ14及び他方のPBC12を介して他方のディスクコントローラ10のディスクI/F106に接続されている。コンバータ14は、例えば、二つのPBC12,12にそれぞれ接続される2つのポートを有し、接続をいずれかのポートに切替えるスイッチとしての機能を果たすこともできる。なお、FC−HDD21には、2つのポートが備えられており、プロトコル変換の必要が無いため、コンバータ14を介さずに、二つのPBC12に接続することができる。
CPU101は、所定の記憶域(例えばメモリ102)から所定のコンピュータプログラムを読み出して実行することにより、各種処理を実行することができる。例えば、ホスト装置3からリードコマンドが受信された場合、CPU101は、そのリードコマンドで指定されている読出し対象データをHDD20又は21から読み出してキャッシュメモリ107に書き込み、その後、その読出し対象データをキャッシュメモリ107から読み出してホスト装置3に送信することができる。また、例えば、ホスト装置3からライトコマンドと書き込み対象データとが受信された場合、書込み対象データはキャッシュメモリ107に一時格納され、CPU101は、そのライトコマンドに従って、キャッシュメモリ107に格納された書込み対象データを、HDD20又は21に書き込むことができる。
以上が、本実施例に係るストレージシステムの概要である。
HDD20も21も、自分に設定されている種々のパラメータに基づいて動作することができる。例えば、FC−HDD21には、パラメータとして、リードコマンドに従う読出し時間長の制限に関わるパラメータ(以下、制限パラメータ)がある。制限パラメータは、例えば、リトライ時間、及び/又は、リトライ回数がある。読出しリトライとは、同一のデータブロックに対して再度行われる読出し処理を言う。リトライ時間とは、例えば、一データブロックの読出しリトライに要する時間長、又は、データブロック群の読出しの際に行われる一回以上の読出しリトライのトータル時間長である。リトライ回数とは、例えば、同一のデータブロックに対する読出しリトライの最大回数、又は、データブロック群の読出しの際に行える読出しリトライの最大回数である。
ディスクコントローラ(以下、「CTL」と略記)10は、HDD20、21に関して所定種類のエラーが生じたことを検出した場合には、そのエラーに関わるHDD20、21に所定の信号を送ることにより、そのHDD20、21を閉塞させることができる。エラーの種類として、例えば、メディアエラー、ハードエラー及びインターフェースエラーがある。本実施例で言う「メディアエラー」とは、データブロックの読出しが物理的には可能であるにも関わらず(例えば、ハードディスク上の領域に傷などの損傷が無いにも関わらず)、そのデータブロックの読出しに失敗することを言う。本実施例で言う「ハードエラー」とは、HDD内で生じたエラーであって、メディアエラー以外のことを言う。本実施例で言う「インターフェースエラー」とは、HDD20、21とCTL10との間(HDD20、21それ自体及びCTL10それ自体は含まれない)で生じたエラーのことを言う。CTL10は、例えば、ハードエラー及びインターフェースエラーに属する或る種のエラーが発生した場合には、エラーステータスを受けて解析することにより、ハードエラー又はインターフェースエラーを検出することができる。また、CTL10は、例えば、メディアエラーに属する或る種のエラー(例えば、ECCエラー或いはオフトラック)を、エラーステータスを受けて解析することにより検出してもよいし、図2Aでタイムアウトを検出したが図2Bでタイムアウトを検出しなくなったことにより、推測しても良い。
上記の各種のエラーの性質に鑑みると、例えば、或るHDD20又は21に関わるエラーとして、ハードエラー及びインターフェースエラーが生じた場合には、そのHDD20又は21が閉塞されても良いが、メディアエラーが生じた場合には、そのHDD20又は21は必ずしも閉塞されなくても良い。
メディアエラーが生じないようにするための方法として、制限パラメータの値を調整する方法が考えられる。FC−HDD21のように、制限パラメータの値を変更することができるHDDには、この方法を採用することができる。しかし、SATA−HDD20のように、制限パラメータの値を変更することができるHDDには、この方法を採用することができない。
そこで、この実施例に係るストレージシステム1では、SATA−HDD20を必要以上に閉塞させないための種々の工夫が施されている。以下、それらの工夫を、本実施例の特徴の一つとして詳細に説明する。
図2A及び図2Bは、本実施例の特徴の一つの概要を示す。なお、以下に説明するCTL10が行う処理は、例えば、制御プログラムをCPU101が読み込んで実行することにより、行うことができる。
図2Aに示すように、CTL10とコンバータ14の両方が、リードコマンドを発行してから、そのリードコマンドで指定されたデータブロック群を受信するまでの時間長が、所定のタイムアウト時間長以内か否かを判定するタイムアウト判定機能を有している。CTL10は、例えば、各SATA−HDD20別に、タイムアウト判定を行うことができるようになっている。CTL10(例えばメモリ102)に設定されているタイムアウト時間長t1(例えば9秒)は、ストレージシステム1の上位に存在するホスト装置3(例えばサーバマシン)に設定されているタイムアウト時間長t0よりも短く、且つ、コンバータ14に設定されているタイムアウト時間長t2(例えば7秒)よりも長くなっている。
CTL10は、ホスト装置3からリードコマンドを受け、SATA−HDD20に対して、N個(Nは2以上の整数)のデータブロックを指定したリードコマンドを送信し、且つ、そのSATA−HDD20についての時間を計り始めることができる。そのリードコマンドでは、5つのデータブロック(以下、「BLK」と略記)0−4が指定されているものとする(つまりN=5であるとする)。
コンバータ14は、SATA−HDD20に対するリードコマンドを受け、そのリードコマンドを、FCプロトコルに従うものからSATAプロトコルに従うものに変換し、変換後のリードコマンドを、SATA−HDD20に送信する。また、コンバータ14は、リードコマンドの送信の際に、時間を計り始めることができる。
SATA−HDD20は、BLKを記憶するハードディスク27と、ハードディスク27に対するBLKの読み書きを制御する制御部(例えば、制御基板や磁気ヘッド)26とを備えている。制御部26は、BLK0−4が指定されたリードコマンドを受信し、そのリードコマンドで指定されているBLK0−4の各々について、読出し処理を実行する。もし、読出し対象とするBLKを読み出せなければ、制御部26は、当該BLKについて読出しリトライを行い、それにより、一回の読出し処理では読み出せなかった当該BLKを読み出すことができる。図2Aは、BLK2及び3の各々を、一回の読出し処理では読出しできなかったが、その後で行った一回の読出しリトライにより、読み出すことができたことを示す。制御部26は、ハードディスク27から読み出したBLK0−4を、コンバータ14に送信する。
コンバータ14は、BLK0−4を受信した場合、受信したBLK0−4を、CTL10に送信する。しかし、コンバータ14は、BLK0−4を受信する前に、計り始めた時間がタイムアウト時間長t2になってしまったら、タイムアウト報告(タイムアウトを知らせるためのデータ)をCTL10に送信する。
CTL10は、コンバータ14からBLK0−4を受信した場合、リードコマンドの処理を正常に終了することができる。しかし、CTL10は、BLK0−4を受信する前に、計り始めた時間がタイムアウト時間長t1になってしまったら、或いは、タイムアウト報告をコンバータ14から受信した場合には、タイムアウトとなり、図2Bの処理を実行する。
CTL10は、タイムアウトとなった場合、図2Bに示すように、そのタイムアウトが、メディアエラーによるものなのか否かを判定するための処理を実行する。具体的には、CTL10は、先のリードコマンドで指定したN個のBLKのうちの一部(例えば先頭の一つのBLK0)を指定した新たなリードコマンド(すなわち、N個よりも少ないM個のBLKを指定したリードコマンド)を生成し、その新たなリードコマンドを、先のリードコマンドの送信先と同一のSATA−HDD20に送信する。ここで、Mの値は、例えば、1以上の整数であり、且つ、タイムアウト時間t1又はt2を、SATA−HDD20内での1BLKに対する最大読出し時間長で除算して得られる商の値以下とすることができる。最大読出し時間長は、1BLKに対するリトライ回数(SATA−HDD20に設定されているパラメータの値)に、1回の読出しリトライに要する時間長を掛けることで、求めることができる。例えば、リトライ回数が2であり、1回の読出しリトライに要する時間長が1.5秒であれば、最大読出し時間長は3秒となる。
CTL10が、その新たなリードコマンドを送信してからタイムアウト時間t1になる前に、その新たなリードコマンドで指定したBLK(例えばBLK0)を受信することができた場合には、先に発生したタイムアウトは、メディアエラーによるものと考えられる。その場合、CTL10は、以後、そのタイムアウトが生じたSATA−HDD20に対するリード方法を通常の方法とは別の方法に変更するようにする。具体的には、例えば、CTL10は、先にタイムアウトとなったSATA−HDD20に対してリードコマンドを発行する際、以後、リードコマンドで指定するBLKの数を、通常の数(N個)よりも少ない数(M個)とするようにする。
一方、CTL10が、上記新たなリードコマンドを送信してからその新たなリードコマンドで指定したBLKを受けることなくタイムアウト時間t1になった場合、或いは、タイムアウト報告をコンバータ14から受けた場合には、先に発生したタイムアウトは、メディアエラーではない他のエラー(例えばハードエラー又はインターフェースエラー)によるものと考えられる。その場合、CTL10は、他のエラーに対応した処理を実行する(例えば、再びタイムアウトとなった当該SATA−HDD20を閉塞させる)。
以下、本実施例で行われる処理の流れの一例を詳細に説明する。なお、以下の説明では、CTL10では、タイムアウトの監視が行われないものとするが、勿論、タイムアウトの監視、換言すれば、計時は、CTL10及びコンバータ14の両方が行うことができるし、CTL10が行ってコンバータ14が行わないこともできる。
図3は、通常のリード方法で行われる処理の流れの一例を示す。
CTL10は、SATA−HDD20上に設定された論理ボリュームに対するリードコマンドをホスト装置3から受けた場合、所定の数NのBLKを指定したリードコマンド(例えばホスト装置3からのリードコマンドそれ自体)を、その論理ボリュームを提供するSATA−HDD20に対して発行する(ステップS11)。
そのSATA−HDD20に接続されているコンバータ14が、そのSATA−HDD20に対するリードコマンドを受領する(S12)。コンバータ14は、その受領したリードコマンドのプロトコル変換を行い、タイマ監視(つまり計時)をスタートし(S13)、プロトコル変換後のリードコマンドを、自分に接続されているSATA−HDD20に送信する。
SATA−HDD20の制御部26は、リードコマンドを受領し、そのリードコマンドで指定されている範囲、つまり、N個のBLKの各々を読み出そうとする(S14)。
S14の際、例えば、SATA−HDD20に設定されているパラメータ「一つのリードコマンドについてのリトライ回数」の値を超える回数の読出しリトライを行う前に(S15でNO)、指定されたN個のBLKを読み出せた場合には(S16でYES)、制御部26は、SATA−HDD20に設定されているパラメータ「一つのBLKについてのリトライ回数」の値を超える回数の読出しリトライを行っていなければ(S19でNO)、読み出されたN個のBLKをコンバータ14に送信する。S16でYESの場合、制御部26は、当該一つのリードコマンドについて読出しリトライを所定回数行っていれば(S19でYES)、当該N個のBLKをリアサイン(つまり上書き)して(S20)、読み出されたN個のBLKをコンバータ14に送信する。
S14の際、例えば、上記S15でNOであり、且つ、指定されたN個のBLKを読み出せていない場合には(S16でNO)、制御部26は、SATA−HDD20に設定されているパラメータ「一つのBLKについてのリトライ回数」の値を超える回数の読出しリトライを行ったか否かを判定する(S17)。行っていなければ(S17でNO)、制御部26は、S15に戻るが、行っていれば(S17でYES)リードエラーとなる(S18)。
コンバータ14は、S13を実行してからタイムアウト時間t2を経過する前にBLKを受信した場合には、タイマ監視をクリアにし(つまり計時を止め)(S21)、受信したBLKをCTL10に送信する。しかし、コンバータ14は、S13を実行してからタイムアウト時間t2を経過しても、BLKを受信しない場合には、タイムアウトとなり、タイムアウト報告をCTL10に送信する(S31)。
CTL10は、リードコマンドで指定したBLKを受信した場合には、リードコマンドの処理を正常に終了することができるが(S22)、タイムアウト報告を受領した場合には(S32)、図4のS51以降の処理を行うことになる。
図4は、CTL10がタイムアウト報告を受領した場合に行われる処理の流れの一例を示す。
CTL10は、先のリードコマンド(S11でのリードコマンド)で指定したBLK群(N個のBLK)の一部を指定した新たなリードコマンドを生成し、その新たなリードコマンドを、先のリードコマンドの発行先となったSATA−HDD20に発行する。これにより、上記のS12−S21及びS31と同じ処理が行われる(S52−S61及びS71)。
CTL10は、発行するリードコマンドを、上記のような新たなリードコマンドにしても、再び、タイムアウト報告を受領した場合には(S72)、タイムアウトが発生した原因がメディアエラーではない他のエラーが原因であると推測されるので、当該SATA−HDDを閉塞する(S73)。この場合、CTL10は、当該SATA−HDDを閉塞したことを表示することができる。具体的には、例えば、CTL10は、管理装置5或いはホスト装置3等の所定の装置に、図5Aに例示するような画面、すなわち、当該SATA−HDDを閉塞したことを表す画面300Cを表示させることができる。画面300Cでは、例えば、ストレージシステム1に搭載されている複数のHDD20、21が表示され、且つ、閉塞されたHDDの表示態様が、閉塞されていない他のHDDの表示態様と異なっている(例えば閉塞されたHDDのマークは黒く塗りつぶされている)。
CTL10は、上記のような新たなリードコマンドを発行したことで、タイムアウト報告を受領することなく、その新たなリードコマンドで指定したBLKを受信することができた場合には、その新たなリードコマンドについての処理を終了する(S62)。
また、上記のような新たなリードコマンドを発行したことでタイムアウト報告を受領しなくなったということは、先にタイムアウトが発生したのは、メディアエラーが原因であると推測される。この場合、CTL10は、当該SATA−HDD20を直ちに閉塞するようなことはしない。
具体的には、例えば、CTL10は、当該SATA−HDD20でメディアエラーが生じたことを表示する。具体的には、例えば、CTL10は、当該管理装置5或いはホスト装置3等の所定の装置に、図5Bに例示するような画面、すなわち、当該SATA−HDDでメディアエラーが発生したことを表す画面300Bを表示させることができる。
また、CTL10は、図3のS11でのリードコマンドで指定した全てのBLKを読出していなければ(S81でNO)、残りのBLKを読み出すために、再度、S51を実行する。なお、CTL10は、二回目以降のS51でのリードコマンドで指定するBLKの数を、一回目のS51でのリードコマンドで指定したBLKの数と同じにしても違えても良い。また、CTL10は、二回目以降の各回でのS51で指定するBLKの数も、同じにしても違えても良い。具体的には、例えば、CTL10は、図3のS11でのリードコマンドについてタイムアウトが検出された場合には、P個(Pは1以上の整数)のBLKを指定したリードコマンドを発行し、そのリードコマンドでタイムアウトを検出しなかった場合には、以後、Q個(P<Q<N)のBLKを指定したリードコマンドを発行するようにしても良い。
S51及びS62が繰り返し行われることにより、図3のS11でのリードコマンドで指定した全てのBLKを読出したならば(S81でYES)、CTL10は、コレクション書込みを実行して(S82)、S11のリードコマンドの処理を終了する。当該コレクション書込みでは、例えば、CTL10は、S51及びS62の繰り返しによって得られたN個のBLKを書き込み対象としたライトコマンドを生成し、そのライトコマンドを、図6Aに例示するように、スペアのSATA−HDD20S(FC−HDD21であっても良い)に発行することができる。また、当該コレクション書込みでは、CTL10は、図6Cに例示するように、S51及びS62の繰り返しによって得られたN個のBLKを、タイムアウトが発生したと検出されたSATA−HDD20Bに対して上書きすることができる。
以上が、第一実施例についての説明である。なお、上記の説明では、SATA−HDD20を代表的に例に採り説明したが、例えば、図2A及び図2Bの処理は、FC−HDD21など、他種のHDDにも適用することができるし、HDDに限らず、他種のメディアドライブにも適用することができる。
上述した第一実施例によれば、HDD20、21の上位に、HDD20、21に対して発行されたリードコマンド(N個のBLKを指定したリードコマンド)についてタイムアウトが発生したか否かを判定することができる機能(以下、タイムアウト判定機能)が搭載されている。そして、HDD20、21に対するリードコマンドが発行された場合に、そのタイムアウト判定機能により、タイムアウトが発生したと判定された場合には、CTL10は、先に発行したリードコマンドで指定したBLK群の一部を指定したリードコマンドを、先のリードコマンド発行先のHDD(当該HDD)に発行する。この場合、再びタイムアウトが発生したならば、先のタイムアウトの発生は、メディアエラーではない他のエラーが原因であると推測されるので、CTL10は、当該HDDを閉塞させる。しかし、タイムアウトが発生しなかったら、先のタイムアウトの発生は、メディアエラーが原因であると推測されるので、CTL10は、当該HDDを閉塞させず、以後、N個よりも少ない数のBLKを指定したリードコマンドで、上記N個のBLKを読み出すようにする。以上のことにより、必要以上にHDDを閉塞しないようにすることができる。これは、特に、SATA−HDD20、すなわち、制限パラメータ(例えばリトライ回数及び/又はリトライ時間)の値を設定変更不可能に有するメディアドライブに有効である。
また、上述した第一実施例によれば、図6Aに例示したコレクション書込み(別の言い方をすればコレクションコピー)、すなわち、上記少ない数のBLKを指定したリードコマンドが繰り返し発行されることにより取得されたN個のBLKが、スペアのHDD20S又は21に書き込まれる。コレクション書込みの別法としては、例えば、図6Bに例示するように、タイムアウトが発生した当該SATA−HDD20Bを閉塞し、他のHDD20A、20C及び20DからBLKをN個ずつ読出して、読み出されたBLKから、閉塞されたSATA−HDD20B内に格納されているBLKを復元し、復元されたBLKを、スペアのHDD20S又は21に書き込む方法が考えられる。しかし、この別法では、他のHDD20A、20C及び20DからのN個のBLKの読出しの際に、或るHDDについてタイムアウトが発生し、そのHDDをも閉塞させなければならなくなる。つまり、別法では、二重閉塞が生じ得る。この第一実施例では、こういった二重閉塞を生じさせることなく、コレクション書込みを実行することができる。
また、上述した第一実施例によれば、図6Cに例示したコレクション書込み、すなわち、上記少ない数のBLKを指定したリードコマンドが繰り返し発行されることにより取得されたN個のBLKが、タイムアウトが発生したと検出されたSATA−HDD20Bに対して上書きされる。これにより、以後、同一のSATA−HDD20Bから同一のN個のBLKを読み出す場合にタイムアウトが発生してしまうことの可能性を低減することができる。
本発明の第二実施例を説明する。なお、以下の説明では、第一実施例との相違点を主に説明し、第一実施例との共通点については説明を簡略或いは省略する。
図7は、本発明の第二実施例において行われる処理の流れの一例を示す。
この第二実施例では、N個のBLKを指定したリードコマンドを発行した場合に、タイムアウトが発生したならば、その原因がメディアエラーか否かに関係なく、そのリードコマンドの発行先のHDDが閉塞される場合がある。
例えば、CTL10のメモリ102に、タイムアウト管理テーブル250が記憶される。タイムアウト管理テーブル250は、各HDD毎に、HDD番号と、そのHDDにリードコマンドを発行した場合に生じたタイムアウトの回数とが記録される。
CTL10は、図3のS32の後(つまり、N個のリードコマンドを発行した場合にタイムアウト報告を受領した後)、タイムアウト管理テーブル250における、当該HDD(N個のリードコマンドの発行先)に対応したタイムアウト回数を増やす(S112)。そして、CTL10は、増やされたタイムアウト回数が、所定回数を超えていなければ(S113でNO)、図4のS51を行うが、所定回数を超えていれば(S113でYES)、図4のS82まで行った後(つまりコレクション書込みを行った後)、当該HDDを閉塞させる(図4のS73)。
この第二実施例によれば、タイムアウトが発生した原因がメディアエラーであるとしても、タイムアウトが多発するような場合には、当該HDDが閉塞される。これにより、ストレージシステム1の信頼性の低減を抑えることができる。なお、当該HDDが閉塞された場合には、スペアのHDD20S又は21から、閉塞されたHDD内のBLKを取得することが可能である。
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、先のリードコマンドで指定したN個のBLKよりも少ない数のBLKを指定したリードコマンドを繰り返し発行する処理は、当該N個のBLKを取得するまで行われてもよいし、ホスト装置3からの別のリードコマンドに従うリードコマンドを発行する場合にも行われても良い。
また、CTL10が有する種々の機能のうち、例えば、タイムアウトを検出する機能や、指定するBLKの数を違えてリードコマンドを発行する機能は、ホスト装置3に搭載されていても良い。すなわち、例えば、図2A及び図2BでCTL10が行う処理は、CTL10の代わりに、ホスト装置3が行っても良い。
図1は、本発明の第一実施例に係るストレージシステムを示す。 図2A及び図2Bは、本実施例の特徴の一つの概要を示す。 図3は、通常のリード方法で行われる処理の流れの一例を示す。 図4は、CTL10がタイムアウト報告を受領した場合に行われる処理の流れの一例を示す。 図5Aは、SATA−HDDを閉塞したことを表す画面の一例を示す。図5Bは、SATA−HDDでメディアエラーが発生したことを表す画面の一例を示す。 図6Aは、本発明の第一実施例で行われるコレクション書込みの説明図である。図6Bは、タイムアウトが生じたら直ちにHDDを閉塞する場合に行い得るコレクション書込みの一例の説明図である。図6Cは、本発明の第一実施例で行われる別のコレクション書込みの説明図である。 図7は、本発明の第二実施例において行われる処理の流れの一例を示す。
符号の説明
1…ストレージシステム 2…SAN 3…ホスト装置 10…ディスクコントローラ 14…コンバータ 20…SATA−HDD 21…FC−HDD 101…CPU 102…メモリ 104…データ転送コントローラ 105…チャネルインターフェース 106…ディスクインターフェース 107…キャッシュメモリ 108…LANインターフェース

Claims (11)

  1. 複数のメディアドライブと、
    前記複数のメディアドライブの各々に対してリードコマンドを発行することができるコントローラと
    を備え、
    前記コントローラが、
    (A)複数のデータブロックを指定した第一リードコマンドを或るメディアドライブに発行し、
    (B)前記第一リードコマンドについてのタイムアウトを検出した場合、前記第一リードコマンドが指定する前記複数のデータブロックに含まれる一部のデータブロックを指定した第二リードコマンドを生成して、前記第二リードコマンドを前記或るメディアドライブに発行し、
    (C1)前記第一リードコマンドのタイムアウト検出時に発行された、前記一部のデータブロックに対する前記第二リードコマンドについてのタイムアウトを検出することなく前記一部のデータブロックを受信した場合、前記第二リードコマンドを一回以上前記或るメディアドライブに対して発行することにより、前記第一リードコマンドで指定された前記複数のデータブロックを前記或るメディアドライブから読み出
    (C2)前記第一リードコマンドのタイムアウト検出時に発行された、前記一部のデータブロックに対する前記第二リードコマンドについてのタイムアウトを検出した場合、前記或るメディアドライブを閉塞する、
    ことを特徴とするストレージシステム。
  2. 前記或るメディアドライブは、リードコマンドで指定されたデータブロックの読出し時間長の制限に関わるパラメータの値を変更不可能に有するメディアドライブである、
    請求項1記載のストレージシステム。
  3. 前記或るメディアドライブは、SATAの規格に従うインタフェースを有するハードディスクドライブである、
    請求項2記載のストレージシステム。
  4. 前記一部のデータブロックを構成するデータブロックの数は、リードコマンドが発行されてからタイムアウトとなるまでの時間長を、前記或るメディアドライブ内での一つのデータブロックの読出し最大時間長で除算して得られる商の値以下である、
    請求項1乃至3のうちのいずれか1項に記載のストレージシステム。
  5. 前記コントローラは、前記第一リードコマンドについてタイムアウトが検出された後の一回目の第二リードコマンドで指定するデータブロックの数よりも、二回目以降の第二リードコマンドで指定するデータブロックの数を多くする、
    請求項1乃至4のうちのいずれか1項に記載のストレージシステム。
  6. 前記複数のメディアドライブには、スペア用のメディアドライブが含まれており、
    前記コントローラは、前記第二リードコマンドを一回以上発行することにより前記複数のデータブロックを読み出した場合、前記複数のデータブロックを書込み対象としたライトコマンドを、前記スペア用のメディアドライブに発行する、
    請求項1乃至5のうちのいずれか1項に記載のストレージシステム。
  7. 前記コントローラは、前記第二リードコマンドを一回以上発行することにより前記複数のデータブロックを読み出した場合、前記複数のデータブロックを前記或るメディアドライブに上書きするためのライトコマンドを、前記或るメディアドライブに発行する、
    請求項1乃至6のうちのいずれか1項に記載のストレージシステム。
  8. 前記コントローラは、前記或るメディアドライブに対して前記第二リードコマンドを発行した場合、前記或るメディアドライブに関する表示を行い、且つ、前記第二リードコマンドについてタイムアウトが生じていないか或いは閉塞させたかに応じて、表示態様を違える、
    請求項1乃至7のうちのいずれか1項に記載のストレージシステム。
  9. 前記コントローラは、前記或るメディアドライブに対して前記第一リードコマンドを複数回送信することができ、前記複数回の送信において、タイムアウトを所定回数検出した場合には、前記或るメディアドライブを閉塞する、
    請求項1乃至8のうちのいずれか1項に記載のストレージシステム。
  10. (A)複数のデータブロックを指定した第一リードコマンドを或るメディアドライブに発行し、
    (B)前記第一リードコマンドについてのタイムアウトを検出した場合、前記第一リードコマンドが指定する前記複数のデータブロックに含まれる一部のデータブロックを指定した第二リードコマンドを生成して、前記第二リードコマンドを前記或るメディアドライブに発行し、
    (C1)前記第一リードコマンドのタイムアウト検出時に発行された、前記一部のデータブロックに対する前記第二リードコマンドについてのタイムアウトを検出することなく前記一部のデータブロックを受信した場合、前記第二リードコマンドを一回以上前記或るメディアドライブに対して発行することにより、前記第一リードコマンドで指定された前記複数のデータブロックを前記或るメディアドライブから読み出
    (C2)前記第一リードコマンドのタイムアウト検出時に発行された、前記一部のデータブロックに対する前記第二リードコマンドについてのタイムアウトを検出した場合、前記或るメディアドライブを閉塞する、
    ことを特徴とする記憶制御方法。
  11. SATAの規格に従うインタフェースを有したSATA−HDDを含んだ複数のHDDと、
    前記複数のHDDの各々に対してリードコマンドを発行することができるコントローラと
    を備え、
    前記コントローラが、
    (A)複数のデータブロックを指定した第一リードコマンドを前記SATA−HDDに発行し、
    (B)前記第一リードコマンドについてのタイムアウトを検出した場合、前記第一リードコマンドが指定する前記複数のデータブロックに含まれる一部のデータブロックを指定した第二リードコマンドを生成して、前記第二リードコマンドを前記SATA−HDDに発行し、
    (C1)前記第一リードコマンドのタイムアウト検出時に発行された、前記一部のデータブロックに対する前記第二リードコマンドについてのタイムアウトを検出することなく前記一部のデータブロックを受信した場合、前記第二リードコマンドを一回以上前記SATA−HDDに対して発行することにより、前記第一リードコマンドで指定された前記複数のデータブロックを前記SATA−HDDから読み出し、前記SATA−HDDから読み出された前記複数のデータブロックを書込み対象としたライトコマンドを、スペア用のHDD及び/又は前記SATA−HDDに発行し、
    (C2)前記第一リードコマンドのタイムアウト検出時に発行された、前記一部のデータブロックに対する前記第二リードコマンドについてのタイムアウトを検出した場合、又は、前記第一リードコマンドについてタイムアウトを所定回数検出した場合に、前記SATA−HDDを閉塞する、
    ストレージシステム。
JP2005231520A 2005-08-10 2005-08-10 ストレージシステム及び記憶制御方法 Expired - Fee Related JP4775843B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005231520A JP4775843B2 (ja) 2005-08-10 2005-08-10 ストレージシステム及び記憶制御方法
US11/250,488 US7325117B2 (en) 2005-08-10 2005-10-17 Storage system and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005231520A JP4775843B2 (ja) 2005-08-10 2005-08-10 ストレージシステム及び記憶制御方法

Publications (2)

Publication Number Publication Date
JP2007048017A JP2007048017A (ja) 2007-02-22
JP4775843B2 true JP4775843B2 (ja) 2011-09-21

Family

ID=37743893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005231520A Expired - Fee Related JP4775843B2 (ja) 2005-08-10 2005-08-10 ストレージシステム及び記憶制御方法

Country Status (2)

Country Link
US (1) US7325117B2 (ja)
JP (1) JP4775843B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863605B2 (ja) 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
US7953907B1 (en) * 2006-08-22 2011-05-31 Marvell International Ltd. Concurrent input/output control and integrated error management in FIFO
US8090992B2 (en) * 2008-07-25 2012-01-03 Lsi Corporation Handling of clustered media errors in raid environment
JP2010097385A (ja) * 2008-10-16 2010-04-30 Fujitsu Ltd データ管理プログラム、ストレージ装置診断プログラム、およびマルチノードストレージシステム
US10353774B2 (en) * 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
JP2023015488A (ja) * 2021-07-20 2023-02-01 富士通株式会社 データ中継装置、中継制御方法およびストレージシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2732589B2 (ja) * 1988-06-28 1998-03-30 株式会社東芝 中継台閉塞方式
JP3128356B2 (ja) * 1992-10-30 2001-01-29 株式会社東芝 電子交換機
JPH11119923A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体
US6799283B1 (en) * 1998-12-04 2004-09-28 Matsushita Electric Industrial Co., Ltd. Disk array device
JP2002358170A (ja) * 2001-05-31 2002-12-13 Toshiba Corp ディスク記憶装置、同ディスク記憶装置を備えた計算機システム及び同計算機システムにおけるリトライ処理時のエラー通知方法
US7149846B2 (en) * 2002-04-17 2006-12-12 Lsi Logic Corporation RAID protected external secondary memory
CN100515076C (zh) * 2002-05-31 2009-07-15 安桥株式会社 网络型内容再现系统
JP4155260B2 (ja) * 2002-05-31 2008-09-24 オンキヨー株式会社 ネットワーク型コンテンツ再生システム
JP4013942B2 (ja) * 2002-05-31 2007-11-28 オンキヨー株式会社 ネットワーク型コンテンツ再生システム
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2005182657A (ja) * 2003-12-22 2005-07-07 Sony Corp データ記録再生装置及びデータ記録再生方法
JP3847764B2 (ja) * 2004-11-12 2006-11-22 オンキヨー株式会社 ネットワーク型コンテンツ再生システム
JP2005182762A (ja) * 2004-11-12 2005-07-07 Onkyo Corp ネットワーク型コンテンツ再生システム

Also Published As

Publication number Publication date
US20070038830A1 (en) 2007-02-15
JP2007048017A (ja) 2007-02-22
US7325117B2 (en) 2008-01-29

Similar Documents

Publication Publication Date Title
JP5078235B2 (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
JP3348417B2 (ja) 記憶システムにおけるデータ回復方法
JP4583150B2 (ja) ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法
US8219748B2 (en) Storage system comprising both power saving and diagnostic functions
US7836268B2 (en) Method, apparatus, and system for controlling data storage
JP2006146833A (ja) ディスク装置の整合性検査支援方法およびディスクアレイ装置の整合性検査方法
JP4775843B2 (ja) ストレージシステム及び記憶制御方法
JP2007128437A (ja) ディスクアレイ装置及びその経路障害検出方法
JP2006268673A (ja) 記憶制御装置及び記憶デバイスのエラー制御方法
JP6965626B2 (ja) ストレージ制御装置、および制御プログラム
CN104583930A (zh) 数据迁移的方法、控制器和数据迁移装置
JP2006004408A (ja) ディスクアレイシステムにおけるデータ保護の方法
JP2008065433A (ja) 計算機システム及び性能チューニング方法
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
JP4807172B2 (ja) ディスクアレイ装置及びパトロール診断方法及びパトロール診断制御プログラム
US20060245103A1 (en) Storage device system operating based on system information, and method for controlling thereof
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP5440073B2 (ja) 情報処理装置,情報処理装置の制御方法および制御プログラム
US20120011317A1 (en) Disk array apparatus and disk array control method
JP5823755B2 (ja) 記憶装置、およびプログラム
JP2880701B2 (ja) ディスクサブシステム
JP5273185B2 (ja) 記録媒体制御システム、記録媒体制御方法、記録媒体制御プログラム
JP5585930B2 (ja) ディスクアレイ装置、及びデータ制御方法
EP1600949A1 (en) Diskarray system for suppressing disk fault

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110420

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees