説明

ディスクへの書き込み位置の誤算出を検出するストレージ制御装置、ストレージシステム、及びアクセス方法。

【課題】ソフトエラー等による一時的な論理アドレスと物理アドレスとの誤変換によるデータの位置誤算出を防ぐことができて信頼性を保てるストレージ制御装置を提供する。
【解決手段】ストレージシステムは、記憶装置と、ストレージ制御装置を備え、ストレージ制御装置が、ホストから書き込み指示を受け取ったとき、ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送るデータ読み込み指示手段25と、データ読み込み指示手段25からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った書き込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込むアドレス変換情報訂正手段27とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本件は、RAID(Redundant Arrays of Inexpensive(Independent) Disks)装置等のストレージ制御装置において、論理アドレスと物理アドレスとを変換し記録再生を行うストレージ制御装置、ストレージシステム、及びアクセス方法に関する。
【背景技術】
【0002】
RAID装置等のストレージ制御装置は、HDD(Hard Disk Drive)等の記憶装置を有する。RAID装置では、データを複数の記憶装置に分散して記憶させるため、ストレージ制御装置が、ホストから命令を受けると、該当するデータを記憶してある記憶装置にアクセスする。RAID装置を構成するストレージ制御装置及びHDD等の記憶媒体は冗長性を持ったシステムを構築する。また、記憶装置に故障など異常が発生した場合は、シリアルポートやLANを通じて状態を監視ソフト等に通知する。
【0003】
図1にHDDの構成を示した。ストレージ制御装置のMPU(Micro Processing Unit)2がホストからの命令を受け、ヘッド3をHDD1内の記憶媒体であるディスク4のデータ領域に移動することによりデータの読み書きを行う。ディスク4は、同心円上に複数のシリンダ5、複数のヘッド3を有し、シリンダ5内には、複数のセクタ6を有する構造になっている。記憶領域の位置は、ヘッド3、シリンダ5、セクタ6位置による物理アドレスによって特定される。これに対して、ホストは記憶領域を指定するために、仮想的に位置を表す論理アドレスを用いる。ディスクの特殊領域であるシステムエリア7には、論理アドレスと物理アドレスとを変換するための変換論理である論理アドレス物理アドレス変換情報と媒体欠陥情報が格納される。アドレス変換情報及び媒体欠陥情報については後ほど説明する。HDD1では、電源投入時に、このアドレス変換情報と媒体欠陥情報を読み出してメモリ8に書き込む。メモリ8に書き込まれたアドレス変換情報と媒体欠陥情報を参照して、論理アドレスから物理アドレスへ変換する。このように、指示された記憶領域の物理アドレスを特定すると、MPU2内の制御部が、ボイスコイルモータ9を駆動させ、ヘッドアクチュエータ10を移動させて、当該シリンダ位置にヘッドを移動させる。HDD制御部が、ヘッドを当該シリンダに移動させ、当該セクタが回転してくるのを待ち、ヘッドセレクタにより選択されたヘッドにより読み書きを行う。ホストから受信したデータは当該物理位置に書き込まれる。読み出されたデータはストレージ制御装置を介し、ホストに伝えられる。
【0004】
ここで、アドレス変換情報について、説明する。アドレス変換情報は、ホストから指示される最初のブロックから何番目のブロックであるかを表す値で、例えば0から最大値まで連続的に配置されている論理アドレスに、媒体上の物理位置を表す物理アドレスを対応付けたものである。HDDの種類が異なれば、シリンダ、ヘッド、セクタの数が異なる。また、HDDでは、記憶媒体上に欠陥が存在し、当該箇所を使用不可とする場合は、当該箇所は交代領域に割り振られ、欠陥位置を使用しないという処理を行う。HDDのメモリは、欠陥位置を示す欠陥位置情報テーブルを格納する。欠陥位置情報テーブルとアドレス変換情報を参照することにより、欠陥位置を飛ばしてデータを読み書きできる。
【0005】
従来、記憶媒体のデータにアクセスするときに、ホストから指示された論理アドレスと、実際に読み書きした物理アドレスが異なってしまった場合は、データ化けが起きたり、望まないデータの上書きが起きたりと、信頼性が損なわれるという問題があった。ヘッドセレクタが故障した場合など、ホストからの論理アドレスを変換した物理アドレスのヘッドを選択できず、誤ったヘッドを選択し続けてしまうことなどが起こる。
【0006】
従来のアドレス誤変換の主な要因は、ヘッドセレクタの物理故障など、継続する故障が主要因を占めていた。
【0007】
そこで、ホストから指示されたデータ位置から実際に読み書きするデータ位置へ、正常に変換されていなかった場合に誤変換を検出する方法がとられている。従来の検出方法は、ユーザデータの書き込み時において、1ブロック内にユーザデータと共に論理アドレスを示す論理アドレス値を付加して書き込む。そして、読み込み時には、付加された論理アドレス値と、読み込み時にホストから指示されたアドレス値とを比較する。一致した場合に、読み込んだユーザデータは正しい位置のデータであると判断する。ここで、一致しなかった場合は、誤った位置のデータであると判断し、HDDがホストまたはストレージ制御装置に対し異常を報告する。これによってRAID装置の冗長データを使用して補間できるため、継続する誤変換について上述の技術で解決できた。また、誤変換が継続する場合は、書き込み時及び読み込み時ともに誤った位置に読み書きすることとなる。新たにユーザデータと、論理アドレス値とを書き込むことにより、次回読み込み時に論理アドレス値を比較しても正常と判断される。当該領域に書き込まれたユーザデータも正しいものであるため、問題は起こらない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平9−223366号公報
【特許文献2】特開2006−72435号公報
【特許文献3】特開2003−228925号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
近年、アドレス誤変換の主な要因となっているのが、HDD内のメモリのソフトエラーである。ソフトエラーとは、メモリに書き込まれた欠陥位置情報が破壊される現象である。近年のストレージ制御装置において、メモリであるRAM(RANDOM ACCESS MEMORY)は高容量を実現するために、高密度化され、微細構造となっている。そのため、α線や中性子線などの影響でBit反転するソフトエラーが起こる確率が高くなっている。
【0010】
メモリに書き込まれた欠陥位置を示す数値がソフトエラーによりBit反転して誤変換を起こす。例えば、0から5番目のセクタに欠陥があることを表す「0100」の3桁目がBit反転を起こすと、「0000」がメモリに格納されることとなる。つまり、0から1番目のセクタに欠陥があると示し、本来、欠陥位置としてアクセスしない記憶領域にアクセスしてしまう。この状態を異常状態とする。
【0011】
さらに、ソフトエラーはハードウェアの物理的な破壊ではないため、再起動等により電源が投入されると、ディスク上のシステムエリアから欠陥位置情報を読み出し、メモリに再書き込みする。この再書き込みにより、正しい欠陥位置情報が書き込まれる。この状態を正常状態とする。
【0012】
このように、ソフトエラーが発生すると、正常状態から異常状態へ、異常状態から正常状態へと状態が遷移する。この状態が遷移する間に書き込みが行われると、HDDからホストまたはストレージ制御装置へのエラーの報告がされず、実際には正しくない記憶領域にデータが書き込まれたままになったり、書き込んではいけない記憶領域に書き込みを行ってしまったりする。
【0013】
従来の技術では、状態が「正常」から「異常」そして「正常」への3つの状態へ遷移した場合、ユーザデータとともに書き込まれた論理アドレス値とホストから指示された論理アドレス値とを比較しても、同じアドレス値が書き込まれている場合が発生し、HDDがエラーを報告しない。本来の位置ではない位置のデータにアクセスしても、当該データを異常と判断せず、ホストまたはストレージ制御装置へデータを送信する。ホストからの命令に沿ったデータを得ることができない。
【0014】
本発明は、論理アドレスと物理アドレス変換部分の継続的な異常や、ソフトエラーの様な一時的な異常によるデータの位置誤算出を検出するものである。
【課題を解決するための手段】
【0015】
本件開示のストレージシステムは、記憶装置が、データを記憶する記憶媒体と、記憶媒体の物理位置を表す物理アドレスと、物理アドレスを論理的に表す論理アドレスとを変換するためのアドレス変換情報を格納するシステム領域と、システム領域から読み出されたアドレス変換情報が書き込まれるメモリと、書き込み指示を受信したとき、メモリに書き込まれたアドレス変換情報を参照して書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部と、読み込み指示を受信したとき、メモリに書き込まれたアドレス変換情報を参照して読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有し、ストレージ制御装置が、ホストから書き込み指示を受け取ったとき、ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送るデータ読み込み指示手段と、データ読み込み指示手段からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った書き込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込むアドレス変換情報訂正手段とを有する。
【発明の効果】
【0016】
以上のように、本件開示のストレージ制御装置によれば、論理アドレスと物理アドレスとの誤変換によるデータの異常を防ぐことができて信頼性を保てる。
【0017】
以上のように、本件開示のストレージシステムによれば、論理アドレスと物理アドレスとの誤変換によるデータの異常を防ぐことができて信頼性を保てる。
【0018】
以上のように、本件開示のアクセス方法によれば、論理アドレスと物理アドレスとの誤変換によるデータの異常を防ぐことができて信頼性を保てる。
【図面の簡単な説明】
【0019】
【図1】HDDの構成図である。
【図2】ストレージ制御装置を用いたストレージシステムのハードウェア構成図である。
【図3】ストレージ制御装置であるRAID装置のファームウェア構成図である。
【図4】論理アドレスと物理アドレスとの変換情報関係図である。
【図5】論理変換による論理アドレスと物理アドレスの対応を表した図である。
【図6】LBA値を付加した場合の正常から異常状態への遷移図である。
【図7】異常状態で書き込みした場合のデータの状態図である。
【図8】HDDの電源の再投入等によりシステムエリアからメモリにアドレス変換情報の再書き込みが起こった場合のデータの状態図である。
【図9】ストレージ制御装置における書き込み処理のフローチャートである。
【図10】パトロール処理のフローチャートである。
【図11】欠陥位置を特定したパトロール処理のフローチャートである。
【発明を実施するための形態】
【0020】
以下に添付図面を参照して、ストレージ制御装置、ストレージシステム及び記憶再生方法の実施例を詳細に説明する。
【0021】
図2に、本ストレージシステムのハードウェア構成図を表す。ストレージ制御装置であるRAID装置12は、ホスト11からの命令を受けるチャネルインターフェース13と、データの記録再生を行う複数のHDD1と、HDD1の制御を行うコントローラモジュール15とを有する。図1,2に示したように、HDD1は、データを記憶する記憶媒体であるディスク4を有する。システム領域7はディスク4の物理位置を表す物理アドレスと、物理アドレスを論理的に表す論理アドレスとを変換するためのアドレス変換情報を格納する。メモリには、システム領域7から読み出されたアドレス変換情報が書き込まれる。HDD1が、ストレージ制御装置から書き込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部を有する。また、読み込み指示を受信したとき、メモリに書き込まれたアドレス変換情報を参照して読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有する。
【0022】
コントロールモジュール15は、命令を受け取った時に演算処理を行うCPU(Central Processing Unit)16と、プログラムなどを格納するROM(Read Only Memory)17と、一時記憶領域として、管理テーブルなどのデータを展開するRAM(Random Access Memory)18と、HDD14と接続するHDDインターフェース19とを有する。
【0023】
図3に、RAID装置のファームウェア構成図を表す。ストレージ制御装置であるRAID装置12は、ホスト11から命令を受けるチャネル制御部20と、HDD1に対する記録再生を制御する記録再生制御部21と、キャッシュメモリを制御するキャッシュ制御部22と、HDDインターフェース19を制御するデバイス制御部23とを有する。記録再生制御部21は、データの書き込みを制御する書き込み指示部24と、データの読み込みを制御する読み込み指示部25とを有する。書き込み指示部24は、論理アドレス値であるLBA値をユーザデータに付加するLBA値付加制御部26を有し、読み込み指示部25は、読み込んだLBA値と書き込むユーザデータに付加したLBA値とを比較するアドレス変換情報訂正手段27と、読み込んだユーザデータに付加されたLBA値をユーザデータと分離するユーザデータLBA値分離部28とを有する。
【0024】
読み込み指示部25は、ホストから書き込み指示を受け取ったとき、ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送る。アドレス変換情報訂正手段は、データ読み込み指示手段からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った書き込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込む。
【0025】
また、データ読み込み指示部25は、ホストから読み込み指示を受け取ったとき、ホストからの読み込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送る。アドレス変換情報訂正手段は、データ読み込み指示からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った読み込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込む。
【0026】
ここで、RAID装置について説明する。RAID装置は、RAID0からRAID6の7種類のレベルがあり、各RAIDレベルを組み合わせて信頼性と速度を両立させる。RAID 1は複数台のハードディスクに、同時に同じ内容を書き込む。これをミラーリングと呼ぶ。 RAID 1は最もシンプルなRAIDであり、耐障害性の高いRAIDである。 また、RAIDの最大の弱点であるコントローラの故障にも対応しやすい。 RAID 1には最低2ドライブが必要である。一台が故障した際に、もう一方も同時に故障する可能性は低く、システムは稼動し続けることが出来る。
【0027】
RAID 5は複数のハードディスクに誤り訂正符号データと共に分散させて記録することで、RAID 3、RAID 4のボトルネックを回避している。最低3ドライブが必要である。RAID1やRAID1+0に比べて使用効率に優れている。またRAID0のように複数のディスクに分散しているため読み出し性能が優れている。一方で書き込む場合にはパリティを作成しなおすために、ディスクからの読み出しとパリティ演算が必要となる。
【0028】
続いて、本件ストレージ制御装置において、データを記録再生する際に行う論理アドレスと物理アドレスとの変換について説明する。変換情報はHDDなどの記憶装置によって多種多様である。
【0029】
本実施の形態では以下の様な例で説明する。論理アドレスと物理アドレスとの変換情報は、上述のように個々のHDDで異なるため、各々、HDDの特殊媒体領域であるシステムエリア7に格納する。記録再生制御部が、この変換情報を用いて物理アドレスと論理アドレスとの対応付けを行い記録再生を制御する。表1にシステムエリア内に格納されているLBAからCHSへの変換情報を表す。
【0030】
【表1】



【0031】
表1に、セクタ、ヘッド、シリンダ、各々の最大数と、欠陥箇所の物理位置を表す。論理アドレスから物理アドレスへの変換情報では、セクタは0からMaxセクタ値の9まで10個で、ヘッドは0からMaxヘッド値3までの4本、シリンダは0からMaxシリンダ値の99までの100本あることにより、10セクタ、4ヘッド、100シリンダで、HDDの物理記憶領域としては4000ブロック保有しているものとする。また、媒体欠陥としては3個まで許容するものとして、3個の欠陥領域(欠陥1〜3)を記憶する領域を確保している。さらに、表1の欠陥1には“C:0,H:0,S:4”が記憶されており、シリンダが0、ヘッドが0、セクタが4の物理位置所が媒体欠陥であることを表す。欠陥2及び3のC,H,Sには物理的に存在しない負の“−1”を格納することにより未使用であることを表す。表1の場合、媒体欠陥は1個で、最終物理位置は予備(予備1、予備2)で使用されないことになる。即ち論理的には常に有効容量をLBA0〜LBA3996の3997ブロックとすることにより、ディスク媒体の物理的欠陥が0個のものから3個のものまでを、RAID装置には同一仕様で3997ブロックの容量のディスク媒体を有するHDDとしている。これら、論理アドレス物理アドレス変換の関係を図示すると図4のようになる。
【0032】
図4は、論理アドレスと物理アドレスとの変換情報の関係図である。既にある欠陥として、欠陥1が“C:0,H:0,S:4”に対応して記録されている。上述のように、論理アドレス値であるLBAと、シリンダを表すCと、ヘッドを表すHと、セクタを表すSとで対応付けられた関係を表している。
【0033】
ここで、本発明が解決するメモリのソフトエラーによる異常について説明する。図4のような、論理アドレス物理アドレス変換であるときに、上述したソフトエラーによりメモリ上の1Bitのデータが反転する。例として図4に論理変換による論理アドレスと物理アドレスの対応を表す。欠陥位置は、上段の正常状態で表している“C:0,H:0,S:4”である。ソフトエラーによって“C:0,H:0,S:4“のS:4(Bit表現で“0100”)がS:0(Bit表現で“0000”)となる。下段の異常状態が表すように、LBA0〜3が表す物理位置が変わってしまう。このため、LBA0を読み込んだ場合、正常では物理位置C:0,H:0,S:0に格納されているユーザデータ(U0)を読み込むはずが、異常状態では、物理位置が“C:0,H:0,S:1”に格納されているユーザデータ(U1)を読み込んでしまう。
【0034】
本件との比較として、比較例を用いて説明する。図7に、LBA値を付加した場合の正常から異常状態への遷移を示した。LBA値を付加することによって、異常検出が可能となる。すなわち、ユーザデータ(Ux)に付加したLBA値と、変換前のLBA値を比較することで、読み込み時に、LBA0からLBA3で、異常を検出する。
【0035】
さらに、図7に表すように、異常状態で書き込みした場合は、本来とは異なった場所に書き込んでしまうが、異常状態が継続した状態で読み込んだ場合にも同様に異なった位置より読み込む為、矛盾が生じない。
【0036】
しかし、LBA値を付加するだけでは、図8に表すように、異常状態で書き込みした状態において、問題が生じる。HDDの電源の再投入等によりシステムエリアからメモリにアドレス変換情報の再書き込みが起こると、変換情報が正常状態に状態が変化してしまう。この場合LBA1〜3は変換前のLBAとユーザデータに付加されたLBAに不一致があるため異常を検出できる。しかしLBA0の位置、即ち“C:0,H:0,S:0”の位置では、変換前のLBAも“0”で、ユーザデータに付加したLBA値も“0”で一致しているため、異常を検出できない。
【0037】
また、“C:0,H:0,S:4”は媒体上の欠陥位置である。これは、100回に1回書き込めないことがある、1000回に1回書き込めないことがある等任意に定義付けられている欠陥である。全く書き込めないとは限らず、欠陥部分においてもおよそ8割の確率で読み込みができる見込みである。
【0038】
しかし、“C:0,H:0,S:0”位置のユーザデータは古く異なるものである。そこで、本件では、LBA値を付加することに加えて、書き込み時に書き込むべきユーザデータに付加されたLBA値と、媒体上の書き込み位置に記憶されたユーザデータに付加されたLBA値とを比較し、読み出した論理アドレス付加データの論理アドレス値と、ホストから命令されたアクセスの対象を示す論理アドレス値とが異なるかを判定する。これによって、異常状態から正常状態へ遷移したときの位置誤算出を検出できる。
【0039】
図9に、本件のストレージ制御装置における書き込み処理のフローチャートを表す。ホストからの命令を受け、RAID装置がHDDへの書き込み処理を行う場合(S100)、RAID装置内のチャネル制御部がホストからユーザデータの書き込み指示を受け取る(S101)。次に、LBA値付加制御部が、ホストから受け取ったユーザデータにLBA値を付加する(S102)。このLBA値は書き込みを行うユーザデータを書き込むべき記憶媒体上の位置を表すものである(書き込みLBA値)。読込み制御部によって書き込み位置にユーザデータが書き込まれているか判定を行う(S103)。
【0040】
データ有無判定によって、データが書き込まれていると判定した場合(S103Yes)、読み込み制御部によって書き込み位置に記憶されているLBA値を読み込む(S104)。このLBA値は既に書き込まれたユーザデータに付加されたLBA値である。そして、アドレス変換情報訂正手段が、読込んだLBA値と、書き込もうとするユーザデータに付加されたLBA値とを比較する(S105)。
【0041】
LBA値の比較によって、LBA値が同一であると判定した場合(S105Yes)、デバイス制御部が、HDD内のRAMに書き込まれている論理アドレス物理アドレス変換情報を、ディスク媒体上のシステムエリアから再読込みを行い、変換情報再読み込みフラグを「0」に設定する(S106)。変換情報再読み込みフラグはコントローラモジュール内のRAMまたは、HDD内のRAMに格納しておく。変換情報については、HDD内のRAMでなく、コントローラモジュールのRAMに格納されても良い。そして、書き込み制御部により、ユーザデータと付加されたLBA値を書き込み(S107)、書き込み処理を終了する(S108)。
【0042】
また、データ有無判定によって、データが書き込まれていないと判定した場合(S103No)、付加された書き込みLBA値と比較するLBA値が存在しないので、そのまま書き込みを行い(S107)、書き込み処理を終了する(S108)。ユーザデータが存在しなくとも、既にディスク媒体上の記憶領域にLBA値が格納されている場合は、データ有無判定の際に、データが書き込まれていると判定する。
【0043】
一方、LBA値の比較によって、LBA値が同一でないと判定した場合(S105No)、変換情報再読み込みフラグが「1」であるか判定する(S109)。変換情報再読み込みフラグが「1」でない場合(S109No)、ディスク媒体上のシステムエリアに格納された変換情報をRAMに読込む(S110)。そして、変換情報再読み込みフラグを「1」に設定し、書き込み位置のデータ有無判定(S103)を行う。
【0044】
変換情報再読み込みフラグが「1」である場合(S109Yes)、そのままエラー終了とする(S112)。変換情報再読み込みフラグが「1」であるということは、変換情報再読込みが行われた上で、LBA値を比較したが、一致しなかったということである。つまり、継続的な異常の可能性があるので、ホストにエラーを報告する。
【0045】
本ストレージ制御装置によれば、書き込み前に書き込もうとする位置に異常が無いかを確認することで異常を見つけることができる。
【0046】
次に、本ストレージ制御装置の第2の実施例について説明する。
【0047】
LBAの比較判定を、第1の実施例とは異なるタイミングで行う。ストレージ制御装置は、所定のタイミングで、媒体の当該物理位置に書き込まれているLBA値を確認する。所定のタイミングとは、ホストからHDDへアクセスする命令が無いときや、電源投入時などのタイミングであると良い。ホストから書き込み、読み込み指示されたタイミング以外で、定期的にパトロール処理を行うことにより、書き込み及び読み込み時にかかる負荷が低減される。
【0048】
ユーザデータに付加されたLBA値を確認し、メモリのソフトエラーなどによる一時的なアドレス変換の異常を検出した場合には、LBAからCHSへの変換情報をシステムエリアから読み込み、RAMに格納する。これによって、ストレージシステムは、正常な変換情報を用いてアドレス変換できる。
【0049】
図10は、パトロール処理のフローチャートである。パトロール処理(S113)は、定期的に処理を行う。記録再生制御部が、パトロールするLBA値を決定する(S114)。そして、チャネル制御部は、ホストからのHDDへのアクセス指示がでているか判断を行う(S115)。ホストからのアクセス指示が無い場合(S115No)、記録再生制御部は、デバイス制御部を介して、HDDのRAMに格納された変換情報テーブルを用いて、パトロール用LBA値を媒体上の物理位置を表すCHS情報へ変換し、媒体上の位置を特定する(S116)。そして、当該位置に記憶されているLBA値(被読み込みLBA値)を読み込む(S117)。
【0050】
ここで、アドレス変換情報訂正手段は、パトロール用に設定したLBA値と被読み込みLBA値が一致しているか判定を行う(S118)。パトロール用LBA値と被読み込みLBA値とが異なる場合(S118No)、変換情報再読み込みフラグが「1」に設定されているか確認する(S119)。変換情報再読み込みフラグが「1」でない場合(S119No)、システムエリアSAに格納された変換情報をHDD上のRAMに読み込む(S120)。そして、変換情報再読み込みフラグを「1」に設定し、再びホストからのアクセス指示の有無を判定するステップに戻る(S114)。また、変換情報再読み込みフラグが「1」であった場合、ホストにエラーを報告してエラー終了とする(S122)。
【0051】
一方、パトロール用LBA値と被読み込みLBA値とが同じであった場合(S118Yes)、異常なしと判断され、次回パトロール用にLBA値を1増やして次の位置を表すLBA値を設定する(S123)。設定した後、変換情報再読み込みフラグを0に設定(S124)し、終了(S125)し、次回のパトロールまで待機する。
【0052】
パトロール処理開始時にホストからのHDDへのアクセス指示が出ている場合(S115Yes)、今回はパトロール処理を行わず、終了する(S125)。所定時間後、再度LBA値をパトロールすることで、異常を検出する。
【0053】
次に、欠陥位置を特定した上でのパトロール処理を説明する。欠陥登録時に付加するLBA値として、使用しない値である“−1”等の値を書き込んでおき、電源投入時やアクセスが無いときに欠陥とされる位置に書き込まれたLBA値を読み込み、“−1”であることを確認する。欠陥位置から読み込んだLBA値が“1”などの媒体上に実際に存在する位置を示した場合、ソフトエラー等の一時的な異常による位置誤算出が起こったため、誤った位置に書き込みが行われたと判断される。欠陥部分はユーザまたは製造者により任意に設定されるものであるが、欠陥部分と登録された記憶領域は8割の確率で読み込み可能であるため、LBA値の書き込み及び読み込みを行う。
【0054】
図11は、欠陥位置を特定したパトロール処理(S126)のフローチャートである。本ストレージ制御装置では、欠陥位置と定めた媒体上のブロックに“−1”という媒体上に存在しない値を書き込んでおく。もし、欠陥部分に付加されたLBA値に実在するLBA値があった場合には、書き込み時に変換異常を起こし、本来書き込み対象ではない場所に書き込まれたことを表す。
【0055】
読み込み制御部により、HDDのRAMに展開された変換情報から欠陥位置情報を読み込む(S127)。変換情報から読み込んだ欠陥位置情報に基づき、媒体上のLBA値を読み込み、RAM上に記憶する(S128)。該LBA値(欠陥位置LBA)が“−1”であるか判定する(S129)。欠陥位置LBAが“−1”の場合(S129No)、変換情報再読み込みフラグが「1」であるか判定する(S130)。変換情報再読み込みフラグが「1」で無かった場合(S130No)、システムエリアに格納された変換情報を再読込みに、RAMに書き込む(S131)。そして、変換情報再読み込みフラグを「1」に設定し(S132)、再びHDDのRAMに展開された変換情報から欠陥位置情報を読み込むステップを行う(S127)。
【0056】
また、変換情報再読み込みフラグが「1」の場合(S130Yes)、ホストにエラーを報告し終了する(S133)。
【0057】
一方、欠陥位置LBA値が“−1”の場合(S129Yes)、欠陥位置LBAに1を加算し(S134)、終了する(S135)。終了後は所定時間経過後に、全LBA値を判定するまでパトロール処理を繰り返す。
【0058】
また、LBA値をユーザデータ部に付加するのではなく、サーボ位置情報部分に付加してもよい。書き込み時及び読み込み時においてもサーボ情報は必ず読み込むため、サーボ位置情報部分に付加することで、リアルタイムにLBA値の比較が可能であり、高効率化を実現できる。さらに、欠陥登録を行う場合にはサーボ情報に付加するLBA値も更新するものであるが、欠陥登録時及び初期化以外に、LBAからCHSへの変換情報が変わることは無いので、当該場合のみ更新する為、書き込み時にユーザデータにLBA値を必ず付加する方式より処理時間を短縮できる。
【0059】
他の実施例として、ホストからのアクセスが無い場合に定期的にシステムエリアに記憶されている変換情報と、メモリに書き込まれた変換情報とを比較してもよい。システムエリアに記憶されている変換情報と、メモリに書き込まれた変換情報を比較し、のデータの食い違いを判定する。比較において、違いが確認された場合には、メモリに書き込まれた変換情報をシステムエリアの変換情報を用いてメモリ上の変換情報を更新する。本ストレージ制御装置によれば、変換情報自体を比較するため、書き込み及び読み込み処理への負荷がかからない。
【符号の説明】
【0060】
1.HDD
2.MPU
3.ヘッド
4.ディスク媒体
5.シリンダ
6.セクタ
7.システムエリア
8.メモリ
9.ボイスコイルモータ
10.ヘッドアクチュエータ
11.ホスト
12.RAID装置
13.チャネルインターフェース
15.コントローラモジュール
16.CPU
17.ROM
18.RAM
19.HDDインターフェース
20.チャネル制御部
21.記録再生制御部
22.キャッシュ制御部
23.デバイス制御部
24.書き込み指示部
25.読み込み指示部
26.LBA値付加制御部
27.アドレス変換情報訂正手段
28.ユーザデータLBA分離部




【特許請求の範囲】
【請求項1】
記憶装置と、ホストから受信した指示によって該記憶装置を制御するストレージ制御装置を備えるストレージシステムであって、
前記記憶装置が、
データを記憶する記憶媒体と、
前記記憶媒体の物理位置を表す物理アドレスと、前記物理アドレスを論理的に表す論理アドレスとを変換するためのアドレス変換情報を格納するシステム領域と、
前記システム領域から読み出された前記アドレス変換情報が書き込まれるメモリと、
書き込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に前記書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部と、
読み込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有し、
前記ストレージ制御装置が、
前記ホストから書き込み指示を受け取ったとき、前記ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を前記記憶装置へ送るデータ読み込み指示手段と、
前記データ読み込み指示手段からの読み込み指示に基づき、前記記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、前記ホストから受け取った書き込み指示に含まれる論理アドレスと前記読み取ったデータに含まれた論理アドレスとが異なるとき、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込むアドレス変換情報訂正手段とを有する
ことを特徴とするストレージシステム。
【請求項2】
前記データ読み込み指示手段は、前記ホストから読み込み指示を受け取ったとき、前記ホストからの読み込み指示に含まれる論理アドレスを含む読み込み指示を前記記憶装置へ送り、
前記アドレス変換情報訂正手段は、前記データ読み込み指示からの読み込み指示に基づき、前記記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、前記ホストから受け取った読み込み指示に含まれる論理アドレスと前記読み取ったデータに含まれた論理アドレスとが異なるとき、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込む
ことを特徴とする請求項1に記載のストレージシステム。
【請求項3】
前記アドレス変換情報訂正手段による処理の後に、前記ホストから受信した前記書き込み指示または前記読み込み指示を前記記憶装置に指示する記録再生指示手段を有することを特徴とする請求項1または2に記載のストレージシステム。
【請求項4】
前記ストレージシステムは複数の記憶装置を有し、
前記複数の記憶装置の全部又は一部によりRAID構成されている請求項1乃至3いずれか1項に記載のストレージシステム。
【請求項5】
前記アドレス変換情報が前記アドレス変換情報訂正手段により、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込んだ再書き込み状態を表す変換情報再書き込みフラグを有することを特徴とする請求項1乃至4のいずれか1項に記載のストレージシステム。
【請求項6】
データを記憶する記憶媒体と、
前記記憶媒体の物理位置を表す物理アドレスと、前記物理アドレスを論理的に表す論理アドレスとを対応付けたアドレス変換情報を格納するシステム領域と、
前記システム領域から読み出された前記アドレス変換情報が書き込まれるメモリと、
書き込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に前記書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部と、
読み込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有する記憶装置に接続可能なストレージ制御装置であって、
前記ホストから書き込み指示または読み込み指示を受け取ったとき、前記ホストからの書き込み指示または読み込み指示に含まれる論理アドレスを含む読み込み指示を前記記憶装置へ送るデータ読み込み指示手段と、
前記読み込み指示手段からの読み込み指示に基づき、前記記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、前記ホストから受け取った書き込み指示または前記読み込み指示に含まれる論理アドレスと前記データに付加された論理アドレスとが異なるとき、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込むアドレス変換情報訂正手段とを有する
ことを特徴とするストレージ制御装置。
【請求項7】
記憶媒体の記憶領域の物理位置を表す物理アドレスと、アドレス変換情報を用いて変換され、前記物理位置を表す論理アドレスとを有し、データを記録再生するストレージ制御装置を制御するアクセス方法において、
書き込みデータを受信した際に、書き込み位置を示す書き込み論理アドレス値を前記書き込みデータに付加する論理アドレス付加ステップと、
前記書き込み論理アドレス値を変換情報によって変換し、媒体上の物理位置を特定し、当該位置に記憶された論理アドレス値を読み込む読み込みステップと、
読み込まれた論理アドレス値と、前記書き込み論理アドレス値とを比較する論理アドレス比較ステップと、
前記書き込みデータと、該書き込みデータを書き込む記憶領域を表す論理アドレスとを前記記憶媒体に書き込む、書き込みステップと、
前記論理アドレス比較ステップで、前記書き込まれた論理アドレス値と、前記書き込み論理アドレス値とが異なると判定した場合、前記変換情報をメモリに再読み込みを行う変換情報再読込みステップと
を有することを特徴とするアクセス方法。
【請求項8】
前記書き込み位置のデータの記憶状態を判定するデータ有無判定ステップを有することを特徴とする請求項7に記載のアクセス方法。
【請求項9】
変換情報の再読込み状態を表す変換情報再読込みフラグを設定するステップを有することを特徴とする請求項7または8に記載のアクセス方法。
【請求項10】
記憶媒体の記憶領域の物理位置を表す物理アドレスと、アドレス変換情報を用いて変換され、前記物理位置を表す論理アドレスとを有し、データを記録再生するストレージ制御装置を制御するアクセス方法において、
記憶媒体の記憶領域の物理位置を示す物理アドレスと前記物理を表す論理アドレスとのアドレス変換を行い、データの記録再生を行う記憶装置を制御するアクセス方法において、
書き込み位置を示す書き込み論理アドレス値を設定する論理アドレス設定ステップと、
設定された論理アドレス値を変換情報によって変換し、媒体の物理位置を特定し、当該位置に記憶された論理アドレス値を読み込む読み込みステップと、
読み込まれた論理アドレス値と、前記設定された論理アドレス値とを比較する論理アドレス比較ステップと、
前記論理アドレス比較ステップで、前記書き込まれた論理アドレス値と、前記書き込み論理アドレス値とが異なると判定した場合、前記変換情報をメモリに再読込みを行う変換情報再読込みステップと
有することを特徴とする請求項7乃至9いずれか1項に記載のアクセス方法。
【請求項11】
記憶媒体の記憶領域の物理位置を表す物理アドレスと、アドレス変換情報を用いて変換され、前記物理位置を表す論理アドレスとを有し、データを記録再生するストレージ制御装置を制御するアクセス方法において、
記憶媒体の物理位置を示す物理アドレスと前記物理を表す論理アドレスとのアドレス変換を行い、データの記録再生を行う記憶装置を制御するアクセス方法において、定期的に行うアクセス方法であって、
欠陥登録時に負の値を書き込む欠陥登録ステップと、
書き込み位置を示す書き込み論理アドレス値を設定する論理アドレス設定ステップと、
設定された論理アドレス値を変換情報によって変換し、媒体上の物理位置を特定し、当該位置に記憶された論理アドレス値を読み込む読み込みステップと、
読み込まれた論理アドレス値と、前記設定された論理アドレス値とを比較する論理アドレス比較ステップと、
前記論理アドレス比較ステップで、前記書き込まれた論理アドレス値と、前記書き込み論理アドレス値とが異なると判定した場合、前記変換情報をメモリに再読み込みを行う変換情報再読込みステップと
を有することを特徴とする請求項7乃至10いずれか1項記載のアクセス方法。




【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−53878(P2011−53878A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−201597(P2009−201597)
【出願日】平成21年9月1日(2009.9.1)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】