JP2004185477A - Optical storage medium array device and data transfer method - Google Patents

Optical storage medium array device and data transfer method Download PDF

Info

Publication number
JP2004185477A
JP2004185477A JP2002353636A JP2002353636A JP2004185477A JP 2004185477 A JP2004185477 A JP 2004185477A JP 2002353636 A JP2002353636 A JP 2002353636A JP 2002353636 A JP2002353636 A JP 2002353636A JP 2004185477 A JP2004185477 A JP 2004185477A
Authority
JP
Japan
Prior art keywords
data
optical storage
storage medium
verify
writing
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.)
Pending
Application number
JP2002353636A
Other languages
Japanese (ja)
Inventor
Naoko Ikegaya
直子 池ヶ谷
Taisuke Kaneda
泰典 兼田
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 JP2002353636A priority Critical patent/JP2004185477A/en
Publication of JP2004185477A publication Critical patent/JP2004185477A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for shortening a data transfer time in an optical disk array device having a plurality of optical storage media and a plurality of drives. <P>SOLUTION: In the optical disk array device, in which redundant data are stored during data writing, verification processing is not carried out in writing, or alternatively, verification processing is carried out only at previously registered intervals. The interval for performing verification processing is changed in compliance with a retry occurrence frequency in wiring and a recovery occurrence frequency in reading. Correspondence information between a storage position in the optical storage medium and whether writing is carried out after verification or not is stored, and consistency of a bit written without performing verification is checked. If the bit is not consistent, a request for rewriting of the data is notified to a host computer. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、複数の光記憶媒体が内蔵された光記憶媒体アレイ装置において、データ転送時間を短縮する技術に関する。
【0002】
【従来の技術】
書き換え型のDVD(Digital Versatile Disc)のような光記憶媒体を複数格納し、ディスクアレイ構成とした光ディスクアレイ装置が、磁気ディスクの代替としてデータバックアップに用いられるようになっている。
【0003】
ここで、書き換え可能なDVDといった光記憶媒体は、大容量、低価格な可搬型媒体であるが、比較的エラーレートが高いことが知られている。このため、光記憶媒体の欠陥に対するデータの正当性を高めるために、データ書き込み時にベリファイ処理を行うのが一般的である。
【0004】
ベリファイ処理とは、光記憶媒体にデータを記録した直後に、記録したデータを読み出し、元のデータと比較することでチェックを行う処理である。このため、ベリファイ処理を行いながらデータを書き込む場合のデータの転送速度は、ベリファイ処理を行わずに書き込む場合の約半分となる。
【0005】
一方、ディスクアレイ構成は、複数のディスク装置を並列に動作させることで、単体のディスクよりも高速なアクセスを可能にする技術である。
【0006】
単に、ディスク装置をn台並べるのであれば、故障率がn倍に悪化するだけである。そこで、一般的に、ディスクアレイ構成では、高速性と高信頼性とを両立するための技術としてRAID(Redundant Arrays of Inexpensive Disks)が採用されている。このRAIDは、複数のディスクを並列に動作させることで高速制御を、格納時にデータの冗長性を高める工夫を施すことで高信頼性を実現したものである。
【0007】
RAIDの中には、ホスト計算機より転送されてきたファイルデータを適当なデータ長のデータブロックに分割し、分割されたデータを複数のディスクに分散して格納し、さらに、書き込み時に冗長なデータを同時に格納することにより、耐ディスク障害信頼性を高めた構成をとるものがある。
【0008】
なお、複数のドライブに格納するために分割されたデータ群のことを、以下、データストライプと呼ぶ。
【0009】
このように、RAIDにおいては、あるディスク装置が故障しても、他のディスクとパリティデータとから故障したディスクのデータを復元することができる。RAIDは、複数のディスクを並列に動作させることで高速制御を実現しながら、信頼性も高めたものである。
【0010】
なお、RAIDで用いられる冗長データとして、パリティや、ディスク内誤り訂正符号ECC(Error Check Code)が知られている。
【0011】
光記憶媒体を用いたディスクアレイ装置で、転送速度を速める工夫をしたものとして、例えば特許文献1に開示されている光ディスクライブラリ装置がある。これは、アクセッサを複数備えることで、光記憶媒体へのアクセス要求に対してディスクの交換時間を短縮し、データの転送速度を速めている。
【特許文献1】特開平11−45497号公報
【発明が解決しようとする課題】
データストライプに冗長データを付加する構成をとる場合は、ベリファイ処理に加えて冗長データを作成する処理の時間も必要となるため、ベリファイ処理だけを行う場合に比べて、さらにデータ転送速度は遅くなる。
【0012】
前記の特許文献1に開示された光ディスクライブラリ装置では、光記憶媒体の交換が短時間で済むため、データの転送速度はある程度速くなる。しかしながら、依然として、書き込み時に毎回ベリファイ処理が行われるため、転送速度の改善は、大きなものではない。
【0013】
また、ベリファイ処理によるデータの信頼性保証に一般的に言えることであるが、ベリファイ処理によりデータの信頼性が保証されるのは、書き込み時のみであり、その後発生する光記憶媒体の劣化による読み出し障害などには対処できない。
【0014】
そこで、本発明は、上記事情に鑑みてなされたもので、冗長な構成とエラー訂正機能とを備えている光ディスクアレイ装置におけるデータの転送時間を短縮する技術を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記目的を達成するため、本発明は、データを書き込む光ディスクアレイ装置が冗長な構成を有する場合は、データの書き込み時にベリファイ処理を全く行わないか、または、予め設定した頻度でベリファイ処理を行う。
【0016】
そして、予め設定した頻度でベリファイ処理を行う場合、ベリファイ処理の結果に応じて、その頻度を調節する。
【0017】
また、データを読み出す場合も、格納されているデータの品質をチェックし、その結果に応じて、ベリファイ処理を行う頻度を調節する。
【0018】
さらに、データの書き込みおよび読み込み処理を行っていない間に、ベリファイ処理を行わずに格納したデータを抽出し、冗長データを用いて整合性を確認し、不整合が発生した場合は、再読込処理を依頼する。
【0019】
具体的には、本発明の光ディスクアレイ装置は、1以上の光記憶媒体、および、当該光記憶媒体に対してデータの書き込みと読み出しとを行なう1以上の光記憶媒体ドライブを有する光ディスクアレイ装置であって、予め定められた指示に従って当該データに冗長データを付加する冗長データ演算手段と、前記冗長データ演算手段において冗長データが付加される場合、前記光記憶媒体へデータを書き込む際に、ベリファイ処理を行うベリファイ間隔を設定するベリファイ間隔設定手段と、前記光記憶媒体へのデータの書き込み時に発生した再書き込み要求の回数に応じて、前記ベリファイ間隔を変更する書込制御手段と、前記光記憶媒体からのデータ読み出し時に発生した再読み出し要求の回数に応じて、前記ベリファイ間隔を変更する読出制御手段とを備える。
【0020】
【発明の実施の形態】
以下、本発明を適用した実施形態を図を用いて説明する。
【0021】
図1は、本実施形態のシステム構成図である。
【0022】
本図において、100はホスト計算機、110は本発明を適用した光ディスクアレイ装置である。光ディスクアレイ装置110は、ホストインタフェース140を介してホスト計算機100と接続する。
【0023】
ホスト計算機100は、光ディスクアレイ装置110にデータを転送するための転送制御部105を備える。
【0024】
光ディスクアレイ装置110は、ディスクアレイ構成を有し、ホスト計算機100の転送制御部105から送信されたデータを、自身が備える光記憶媒体に記憶するものである。
【0025】
光ディスクアレイ装置110は、光ディスクアレイコントローラ120と、少なくとも1つの光記憶ライブラリ装置130〜134とを備え、光ディスクアレイコントローラ120と各光記憶ライブラリ装置130〜134とは、それぞれドライブインタフェース190〜194を介して接続されている。
【0026】
また、光記憶ライブラリ装置130〜134は、セットされた光記憶媒体にデータを書き込むとともにセットされた光記憶媒体からデータを読み出す、少なくとも1つのドライブ170〜174と、少なくとも1つの光記憶媒体180とを備える。ホスト計算機100からの書き込みおよび読み出しの指示に従い、アクセスすべきデータ領域を有する光記憶媒体180を適宜ドライブ170〜174にセットし、ドライブ170〜174を介してデータの書き込みおよび読み出しを行なう。
【0027】
ここで、光ディスクアレイコントローラ120は、ホスト計算機100から転送されるデータからデータストライプを生成し、データストライプの光記憶ライブラリ装置130〜134への転送を制御するものである。
【0028】
図2は、光ディスクアレイコントローラ120の機能構成図である。本図に示すように、光ディスクアレイコントローラ120は、ホスト接続部121と、データ記憶部123と、冗長データ演算部124と、ベリファイ処理管理部125と、記憶装置接続部1220〜1224とを備える。
【0029】
ここで、光ディスクアレイコントローラ120から光ディスクライブラリ装置への転送をデータの書き込みと呼び、逆方向の転送をデータの読み出しと呼ぶ。また、以下において、リトライ処理とは、ベリファイ処理を行いながらデータを書き込む時に、エラーが発生した場合に、再度書き込む処理をいう。また、リカバリ処理とは、データを読み出すときに、エラーが発生し、冗長データを用いて復元する処理のことをいう。
【0030】
ホスト接続部121は、ホストインタフェース140を介して、ホスト計算機100からのコマンドを受信し、また、ホスト計算機100とのデータ転送を行う。
【0031】
記憶装置接続部1220〜1224は、ドライブインタフェース190〜194を介して、光記憶ライブラリ装置130〜134のドライブ170〜174へコマンドを送信し、また、ドライブ170〜174とのデータ転送を行う。
【0032】
記憶装置接続部1220〜1224は、データ転送時にエラーが発生したためにリカバリ処理またはリトライ処理を行った場合、それを、ベリファイ処理管理部125に通知する。
【0033】
データ記憶部123は、光記憶ライブラリ装置130〜134とホスト計算機100との間のバッファとして機能するものである。データ記憶部123は、転送が行われたデータを一時的に保持し、ホスト計算機100から再アクセス要求があった場合、そこからデータを転送する。すなわち、データアクセス速度を上げるディスクキャッシュとして用いられる。
【0034】
また、ホスト計算機100からホスト接続部121が受け取ったベリファイ処理を管理するための制御情報などを格納する。
【0035】
ここで、ベリファイ処理を管理するための制御情報とは、ベリファイ処理を行うか否かを指示する情報や、ベリファイ処理を行うならばその頻度を指定するために用いられる情報などであり、例えば、後述するベリファイ処理管理部125の各処理部で用いられる、ベリファイ頻度、リトライ限度、リカバリ限度などの値である。
【0036】
なお、本実施形態では、これらの値をホスト計算機100から受け取る構成としたが、例えば光ディスクアレイ装置110の出荷時に初期値として設定し、データ記憶部123に格納しておく構成としてもよい。
【0037】
冗長データ演算部124は、光ディスクアレイ装置110が、冗長データを光記憶媒体180に記録する構成をとっている場合、書き込み時に冗長データを生成し、記憶装置接続部1220〜1224に受け渡す。また、光記憶ライブラリ装置130〜134に格納された光記憶媒体180のデータを読み出す時にエラーが発生した場合、冗長データを使って復元する。
【0038】
ここで、光ディスクアレイ装置110が冗長データを記録する構成をとっているか否かを示すコンフィギュレーション情報は、データ記憶部123に予め構成情報として記憶されている。冗長データ演算部124は、この情報を参照することにより、上記構成を判断する。
【0039】
ベリファイ処理管理部125は、光記憶媒体180への書き込みエラー時のリトライ処理の発生頻度、および、読み出しエラー時のリカバリ処理の発生頻度を監視し、ベリファイ処理を行う間隔を変更することによりベリファイ頻度を制御するものである。また、適宜格納されているデータの信頼度をチェックし、信頼度の低いデータの再書き込みを促すものである。
【0040】
図3は、ベリファイ処理管理部125の機能構成図である。本図に示すように、ベリファイ処理管理部125は、ベリファイ間隔制御部1251と、書込制御部1252と、読出制御部1253と、データ整合性判定部1254と、ベリファイ頻度格納部1256と、リトライ限度格納部1257と、ベリファイ情報格納部1258と、リカバリ限度格納部1259とを備える。
【0041】
ベリファイ間隔制御部1251は、各処理に用いる基準値の初期設定を行うもので、光ディスクアレイ装置110が冗長データを付与する構成であるか否か、データ記憶部123に格納されているホスト計算機100からの要求などに基づいて、ベリファイ頻度格納部1256と、リトライ限度格納部1257と、リカバリ限度格納部1259とに、所定の基準値を格納する。
【0042】
例えば、所定の間隔でベリファイを行う要求がホスト計算機100からなされた場合、データ記憶部123には、その間隔を指定する値(以後、ベリファイインターバル値と呼ぶ)が格納される。
【0043】
なお、ベリファイインターバル値として、時間または回数が格納される。時間が格納された場合は、後述する書込制御部1252によって、ベリファイ処理を伴う書き込みを行った後、格納された時間が経過した後の最初の書き込み時にベリファイ処理を行うよう制御される。また、回数が格納された場合は、ベリファイ処理を伴う書き込みを行った後、格納された回数の書き込みが行われた後の書き込み時にベリファイ処理を行うよう制御される。
【0044】
書込制御部1252は、ホスト計算機100からのデータ書き込み要求時に、ベリファイ頻度格納部1256に格納されている基準値を用いてベリファイ処理を行うかどうかの判定をする。また、ベリファイ処理を行った書き込みの際に、リトライ処理が行われたかどうかを判定し、その結果に従ってベリファイ頻度格納部1256の基準値の変更を行う。
【0045】
なお、書込制御部1252は、処理の中で発生する各種の事象の発生回数をカウントするカウンタ12520を有する。図9にカウンタ12520の一例を示す。本図に示すように、カウンタ12520は、リトライ処理が行われなかった回数が何回連続したかをカウントするための、リトライなしベリファイ連続回数カウンタ12521と、リトライ処理が行われた回数をカウントするリトライ回数カウンタ12522と、連続して何回リトライ処理が行われたかをカウントする連続リトライ回数カウンタ12523と、ベリファイ処理が行われずに書き込みがなされた回数をカウントするベリファイなし書込カウンタ12524とを備える。
【0046】
書込制御部1252は、これらのカウンタ12520に格納された値と、リトライ限度格納部1257に格納されている値とを比較することで、ベリファイ処理を行う頻度を調整する。
【0047】
読出制御部1253は、ホスト計算機100からのデータ読み出し要求時に、リカバリ処理が行われたか否かにより、ベリファイ頻度格納部1256の基準値の変更を行う。読出制御部1253は、処理の中で発生する各種の事象の発生回数をカウントするカウンタ12530を有する。カウンタ12530は、連続して何回リカバリ処理なしで読み出し処理が行われたかをカウントするリカバリなし連続回数カウンタ12531と、リカバリが発生した回数をカウントするリカバリ発生回数カウンタ12532とを備える。図10にカウンタ12530の一例を示す。
【0048】
読出制御部1253は、このカウンタ12530に格納された値と、リカバリ限度格納部1259に格納されている値とを比較することで、ベリファイ処理を行う頻度を調整する。
【0049】
データ整合性判定部1254は、光記憶ライブラリ装置130〜134の光記憶媒体180から適宜データストライプと対応する冗長データとを取り出して調べ、冗長データの整合性がとれているかどうかを判定する。
【0050】
データ整合性判定部1254は、不整合が発生した場合は、ホスト計算機100に再度のデータの書き込みを通知する。この場合、通常のエラー検出時にホスト側のチャネルに返す状態情報に、再書き込み通知情報と不整合が発生したデータの識別情報とを新たに設け、これを利用して通知する。
【0051】
ホスト計算機100側では、その状態情報を転送制御部105において検出し、該当するデータを再度用意して光ディスクアレイ装置110に再度書込みを要求する。
【0052】
なお、このデータ整合性判定部1254は、ホスト計算機100から光ディスクアレイ装置110にデータの書き込みまたは読出しの要求がなされていない時に、動作するものである。
【0053】
ベリファイ情報格納部1258は、データ書き込み時にベリファイ処理を行ったかどうかを記録する領域である。図8にベリファイ情報格納部1258のフォーマット例を示す。
【0054】
本図に示すように、ベリファイ情報格納部1258は、ベリファイ処理を行ってデータを書き込んだ光記憶媒体180の媒体識別子を格納する媒体識別子フィールド810と、各光記憶媒体180のデータを書き込んだ区画の識別子を格納する区画識別子フィールド820と、データを書き込んだ時刻を示す情報を格納する書込時刻フィールド830とを備える。
【0055】
なお、ベリファイ情報格納部1258は、光記憶媒体180ごとに保持していてもよい。そして、光記憶媒体180それぞれがベリファイ情報を保持する場合には、媒体識別子フィールド810はなくてよい。
【0056】
ベリファイ頻度格納部1256は、書き込み時にベリファイ処理を行うインターバル値などが格納されるエリアである。図13にベリファイ頻度格納部1256のフォーマット例を示す。本図に示すように、ベリファイ頻度格納部1256は、ベリファイの有無を示す情報を格納するベリファイ有無情報フィールド12561と、時間指定か回数指定かを示す情報を格納する指定情報フィールド12562と、前記の指定情報フィールド12562に格納された指定に応じてベリファイ処理を行う間隔を格納するベリファイインターバル値フィールド12563とを備える。
【0057】
リトライ限度格納部1257は、ベリファイ処理が行われた際に発生したリトライ処理に係わる各種の回数の基準値を格納するものである。図11にリトライ限度格納部1257のフォーマット例を示す。本図に示すように、リトライ限度格納部1257は、連続して何回リトライ処理なしでベリファイ処理が行われるかを示す基準値が格納されるリトライなしベリファイ連続回数基準値フィールド12571と、許容されるリトライ処理の回数が格納されるリトライ上限基準値フィールド12572と、許容される連続したリトライ処理の発生回数が格納される連続リトライ上限基準値フィールド12573とを備える。
【0058】
リカバリ限度格納部1259は、図12に示すように、ベリファイ間隔を広げる判断基準となる、連続してリカバリ処理が行われなかった回数の基準値が格納されるリカバリなし連続回数基準値フィールド12591と、ベリファイなしで書き込んだデータを読み出すときに、リカバリが発生した合計回数の上限基準値が格納されるリカバリ発生回数上限基準値フィールド12592とを備える。
【0059】
リトライ限度格納部1257およびリカバリ限度格納部1259に格納される各基準値は、ホスト計算機100から指定され、データ記憶部123に格納されているものであり、ベリファイ間隔制御部1251が初期設定時にデータ記憶部123から取得して書き込むものである。
【0060】
以上の機能を備えた光ディスクアレイコントローラ120のハードウエア構成は、例えば図14に示すように、CPU200と、メモリ210と、ホスト計算機100とのインタフェース220と、各光記憶ライブラリ装置130〜134とのインタフェース230〜234などで構成される。
【0061】
ホスト計算機100とのインタフェース220および光記憶ライブラリ装置130〜134とのインタフェース230〜234は、それぞれ、ホスト接続部121および記憶装置接続部1220〜1224を実現する。
【0062】
また、CPU200は、冗長データ演算部124およびベリファイ処理管理部125を実現し、メモリ210には、データ記憶部123およびベリファイ処理管理部125の各格納部1256〜1259が格納される。
【0063】
また、ホスト計算機100のハードウエア構成の一例を図15に示す。本図に示すように、ホスト計算機100は、CPU1100と、メモリ1200と、光ディスクアレイ装置110とのインタフェース1300と、表示装置1400と、入力装置1500とを備える。
【0064】
CPU1100は、転送制御部105の機能を実現し、入力装置1500は、ホスト計算機100から光ディスクアレイ装置110へ指示を与える指示などの入力を受け付け、表示装置1400は、光ディスクアレイ装置110からホスト計算機100への通知などを表示する。
【0065】
以下に、ベリファイ処理管理部125の処理動作について説明する。
【0066】
まず、ベリファイ間隔制御部1251が、各格納部1256〜1259に基準値を初期値として設定する。そして、データ書き込み時は、書込制御部1252が書き込み状況を監視し、リトライ処理の発生頻度に応じて、ベリファイ頻度格納部1256に格納されている基準値を変更する。また、データ読み出し時は、読出制御部1253が読み出し状況を監視し、リカバリ処理の発生頻度に応じて、ベリファイ頻度格納部1256に格納されている基準値を変更する。
【0067】
さらに、書き込み時および読み込み時以外に、データ整合性判定部1254が、冗長データを利用して光記憶ライブラリ装置130〜134に格納されているデータの整合性をチェックし、不整合を発見したデータの再書込みをホスト計算機100に依頼する。
【0068】
ベリファイ処理管理部125の各部が以上のような動作をすることで、書き込みごとにベリファイ処理を行わなくても、確率的/統計的に高い信頼性でデータを格納できることが保証される。
【0069】
以下に各部の処理動作を詳細に説明する。なお、以下では、ベリファイインターバル値として回数が記録されている場合を例にあげ、説明する。
【0070】
まず、ベリファイ間隔制御部1251の処理手順を以下に説明する。
【0071】
図4に、ベリファイ間隔制御部1251の処理フローを示す。
【0072】
ベリファイ間隔制御部1251は、まず、各格納部およびカウンタを初期クリアする処理を行い、次に、書き込み時に、毎回ベリファイ処理を行うことを示すデフォルト値をベリファイ頻度格納部1256の各フィールドにセットする(ステップ410)。
【0073】
そして、冗長データ演算部124にアクセスし、光ディスクアレイ装置110が冗長データを光記憶媒体180に記録する構成になっているかどうかを判断させ、その結果を受け取る(ステップ420)。
【0074】
ステップ420で、冗長データを記録する構成になっていないと判定したならば、処理を終了する。この場合は、書き込み時に、毎回ベリファイ処理が行われることとなる。
【0075】
一方、ステップ420で、冗長データを記録する構成であると判定したならば、書き込み時にベリファイを行わないことを示す情報をベリファイ頻度格納部1256のベリファイ有無情報フィールド12561にセットする(ステップ430)。
【0076】
次に、データ記憶部123にアクセスし、ベリファイインターバル値が格納されているかどうかをチェックする(ステップ440)。
【0077】
ステップ440で、ベリファイインターバル値が格納されていないと判定したならば、処理を終了する。この場合は、ベリファイ処理を全く行わず書き込み処理が行われることとなる。
【0078】
一方、ステップ440で、ベリファイインターバル値が格納されていれば、そのベリファイインターバル値と時間指定か回数指定かを示す指定情報とをベリファイ頻度格納部1256の指定情報フィールド12562とベリファイインターバル値フィールド12563とにセットする(ステップ450)。
【0079】
光ディスクアレイ装置110が冗長データを格納する構成のときには、全くベリファイ処理が行われないか、ステップ450で設定されたベリファイインターバル値に従い、所定の書き込み時にのみベリファイ処理が行われることとなる。
【0080】
ここで、冗長データ演算部124が使用するデータストライプ当たりの冗長データ数が2以上であった場合、すなわち、多重パリティであるかどうかを調べ、多重パリティであるならば、ベリファイ頻度格納部1256にセットしたベリファイインターバル値を広げるといった処理を行ってもよい(ステップ460、470)。これは、多重パリティの場合、冗長度が高く信頼性も高いと判断されるためである。
【0081】
次に、データ記憶部123にアクセスし、リトライ処理が行われる回数の上限基準値と、連続してリトライ処理が行われる回数の上限基準値と、リトライが発生しないベリファイ処理が連続して行われる回数の基準値とを、そこから取得して、リトライ限度格納部1257のそれぞれのフィールドにセットする(ステップ480)。
【0082】
そして、ベリファイなしで書き込んだデータを読み出す時に、リカバリが発生した合計回数の上限基準値と、リカバリ処理が連続して行われなかった回数の基準値とを、データ記憶部123から取り出してリカバリ限度格納部1259のそれぞれのフィールドにセットする(ステップ490)。
以上のようにして、書き込み時および読み出し時の各基準値を設定する。
【0083】
次に、上記で設定された基準値を用いて、データ書き込みの制御を行う書込制御部1252の処理について、以下に説明する。
【0084】
書込制御部1252は、ホスト計算機100からのデータ書き込み要求時に、ベリファイ頻度格納部1256の基準値を用いてベリファイ処理を行うかどうかを判定する処理と、書き込み結果に合わせてベリファイ頻度格納部1256の基準値の変更を行う処理とを行う。
【0085】
図5に、書込制御部1252の処理フローを示す。
【0086】
本図に示すように、書込制御部1252は、ホスト計算機100からのデータ書き込み要求を受付け、まず、ベリファイ頻度格納部1256のベリファイ有無情報フィールド12561にアクセスし、ベリファイ処理の有無を判断する(ステップ500)。ここで、ベリファイ処理なしを示す情報が格納されている場合は、ベリファイ無しの書き込みを続ける(ステップ535)。
【0087】
ステップ500において、ベリファイ処理有りを示す情報が格納されている場合は、ホスト計算機100からの要求が最初の書き込みコマンドかどうか判定する(ステップ510)。
【0088】
ここで、最初の書き込みコマンドは、電源投入後、初めて受け付ける書き込みコマンドのことである。これは、電源を切る毎にクリアされる、書き込み制御部内のカウンタなどによりカウントされるものとする。
【0089】
2つ目以降のコマンドと判定した場合、ベリファイなし書込カウンタ12524に格納されている値が、ベリファイ頻度格納部1256のベリファイインターバル値フィールド12563に格納されているベリファイインターバル値より大きいかどうかをチェックする(ステップ520)。なお、ステップ520は、書き込み回数ではなく、前回ベリファイしてからの経過時間を用いることも可能である。この場合は、ベリファイなし書込カウンタ12524には、ベリファイ処理からの経過時間が格納される。
【0090】
ステップ520で、ベリファイインターバル値を超えていないと判定したならば、記憶装置接続部1220〜1224に、ベリファイ処理を行うことなく光記憶ライブラリ装置130〜134のドライブ170〜174に書き込むことを指示するとともに、書込制御部1252内のベリファイなし書込カウンタ12524を1増やしておく(ステップ535)。
【0091】
ステップ520で書き込み回数がベリファイインターバル値フィールド12563に格納されているベリファイインターバル値よりも大きいと判定したならば、ベリファイ処理を行って書き込むことを記憶装置接続部1220〜1224を介して光記憶ライブラリ装置130〜134のドライブ170〜174に指示する(ステップ530)。
【0092】
このとき、ベリファイなし書込カウンタ12524をクリアする。
【0093】
次に、ステップ530で書き込んだときに、ベリファイ処理を行った際にエラーが検出され、記憶装置接続部1220〜1224からリトライ処理を行った旨の通知を受けたかどうか判定する(ステップ540)。
【0094】
ステップ540で、通知を受けなかった場合、連続リトライ回数カウンタ12523をクリアし、リトライなしベリファイが連続回数カウンタ12521のカウンタを1増やす。そして、リトライなしベリファイが連続回数カウンタ12521の値をリトライ限度格納部1257のリトライなしベリファイ連続回数基準値フィールド12571内の値と比較する(ステップ555)。
【0095】
そして、ステップ555で、リトライ処理が行われずにベリファイ処理が連続して行われている回数が、リトライ限度格納部1257のリトライなしベリファイ連続回数基準値フィールド12571に格納されている値を超えたと判定したならば、ベリファイ頻度格納部1256のベリファイインターバル値を大きくし(ステップ565)、ベリファイ頻度を下げ、後述のステップ590に進む。
【0096】
ステップ555で、リトライ処理が行われずにベリファイ処理が連続して行われている回数が、リトライ限度格納部1257のリトライなしベリファイ連続回数基準値フィールド12571に格納されている値以下であると判定したならば、そのままステップ590に進む。
【0097】
一方、ステップ540で、リトライ処理が行われたと判定すると、リトライなしベリファイ連続回数カウンタ12521をクリアするとともに、リトライ回数カウンタ12522および連続リトライ回数カウンタの値を1増やす。そして、リトライ回数カウンタ12522の値と、リトライ上限基準値フィールド12572内の値とを比較する(ステップ550)。
【0098】
ステップ550で、リトライ回数カウンタ12522の値がリトライ上限基準値12572を超えている場合、すなわち、リトライ処理の発生回数が、リトライ上限基準値フィールド12572内の値を超えているならば、ベリファイ頻度格納部1256のベリファイインターバル値を小さくし(ステップ560)、書き込み時ベリファイ頻度を上げ、後述するステップ570に進む。
【0099】
ステップ550で、リトライ回数カウンタ12522の値がリトライ上限基準値フィールド12572内の値以下である場合、そのままステップ570に進む。
【0100】
さらに、ベリファイ時にリトライが連続した回数、すなわち、連続リトライ回数カウンタ12523が保持する値を、連続リトライ上限基準値フィールド12573内の値と比較する(ステップ570)。
【0101】
ステップ570で、連続リトライ回数カウンタ12523が保持する値が、連続リトライ上限基準値フィールド12573内の値を超えたならば、データ記憶部123が保持する書き込みデータを再度書き込み(ステップ580)、後述するステップ590に進む。
【0102】
なお、これは、光記憶媒体180に記録されているデータの信頼性を上げるためである。一般にベリファイ時にエラーが発生すると、別領域が割り当てられベリファイが正常になるまで書き込みを繰り返す。本ステップにおいても、同様に別領域に書き込むなどして記録されているデータの信頼性を上げる。ここで、上記の再書き込みの指示が発生する頻度によっては、媒体やドライブの交換をするような通知をするといった構成とすることも可能である。
【0103】
ステップ570で、連続リトライ回数カウンタ12523が保持する値が、連続リトライ上限基準値フィールド12573内の値以下であるならば、そのままステップ590に進む。
【0104】
次に、ベリファイ処理を行って記録した光記憶媒体180の識別情報と、区画識別子と、書き込み時刻とを、それぞれ、ベリファイ情報格納部1258の媒体識別子フィールド810と区画識別子フィールド820と書込時刻フィールド830とに格納し(ステップ590)、処理を終える。
【0105】
上述したように、光ディスクアレイ装置110が冗長データを同時に格納する構成の場合は、書込制御部1252は、ベリファイ処理を行う頻度を減らして書き込むこと、および、リトライ処理の発生頻度に合わせてベリファイインターバル値を変更することを実現している。
【0106】
以上、書込制御部1252の処理動作について説明した。
【0107】
次に、ベリファイ間隔制御部1251の処理によって設定された基準値を用いて、データの読み出しの制御を行う読出制御部1253の処理について、以下に説明する。
【0108】
読出制御部1253は、ホスト計算機100からのデータ読み出し要求時に、リカバリ処理が発生したか否かにより、ベリファイ頻度格納部1256の基準値の変更を行うものである。
【0109】
図6に、読出制御部1253の処理フローを示す。
【0110】
本図に示すように、読出制御部1253は、ホスト計算機100からのデータ読み出し要求を受けて、記憶装置接続部1220〜1224に、光記憶媒体180からデータを読み出すことを指示する(ステップ610)。そして、このときリカバリ処理が発生したかどうかを判定する(ステップ620)。
【0111】
ステップ620で、リカバリ処理が行われていないと判定すると、リカバリなし連続回数カウンタ12531を1増やし、その値をリカバリなし連続回数基準値フィールド12591内の値と比較する(ステップ640)。
【0112】
ステップ640で、リカバリなし連続回数カウンタ12531の値がリカバリなし連続回数基準値フィールド12591内の値を超え、かつ、ベリファイ頻度格納部1256のベリファイ有無情報フィールド12561においてベリファイ有りの設定になっているならば、ベリファイインターバル値フィールド12563のベリファイインターバル値を大きくし(ステップ650)、ベリファイ頻度を下げる。
【0113】
ここで、さらに、リカバリなし連続回数基準値12591自体を、1つ大きくしてもよい。
【0114】
なお、ここで、ベリファイ有無情報フィールド12561においてベリファイ無しの設定になっている場合は、ベリファイインターバル値の変更は行なわない。これは、もともとベリファイ処理を全く行なわずに、書込みがなされているためであうる。
【0115】
ステップ640で、リカバリなし連続回数カウンタ12531の値がリカバリなし連続回数基準値フィールド12591内の値以下ならば、そのまま終了する。
【0116】
一方、ステップ620で、リカバリ処理を行ったと判定すると、リカバリなし連続回数カウンタ12531の値をクリアするとともに、ベリファイ情報格納部1258を検索して、リカバリ処理が発生したデータが記録されている光記憶媒体180の識別子と区画とが格納されているかどうか調べる(ステップ630)。
【0117】
ステップ630で、識別子と区画とが格納されていなければ、リカバリ処理が発生したデータは、書き込み時にベリファイ処理なしで書き込まれたものである。
【0118】
この場合は、リカバリ発生回数カウンタ12532の値とリカバリ発生回数上限基準値フィールド12592内の値とを比較する(ステップ660)。
【0119】
ステップ660において、リカバリ発生回数カウンタ12532の値がリカバリ発生回数上限基準値フィールド12592内の値以上であり、かつ、ベリファイ頻度格納部1256のベリファイ有無情報フィールド12561においてベリファイ有りの設定になっているならば、ベリファイ頻度格納部1256のベリファイインターバル値を小さくし、ベリファイ頻度を高める(ステップ670)。
【0120】
ここで、ステップ660において、リカバリ発生回数カウンタ12532の値がリカバリ発生回数上限基準値フィールド12592内の値以上であり、かつ、ベリファイ頻度格納部1256のベリファイ有無情報フィールド12561においてベリファイなしの設定になっているならば、ステップ670においては、ベリファイ有無情報フィールド12561のベリファイなしの設定をベリファイ有りの設定に変更する。ベリファイ間隔制御部1251の処理フローの初期設定のステップ410において、毎回ベリファイ処理を行なうことを示すデフォルト値がベリファイインターバル値フィールド12563に格納されているため、毎回ベリファイ処理が行なわれる設定となる。
【0121】
もちろん、この場合ベリファイインターバル値として用いるものは、これに限られない。例えば、リカバリなし連続回数カウンタ12531に格納されている値を用いるよう構成してもよい。この場合は、リカバリがあった場合、このリカバリなし連続回数カウンタ12531を、ステップ630ではなく、ステップ670においてクリアするよう手順を変更する。
【0122】
ステップ630で、識別子と区画とが格納されていれば、リカバリ処理が発生したデータは、書き込み時にベリファイ処理がなされた上で書き込まれたものと判断し、ベリファイインターバル値の変更を行わずに処理を終了する。
【0123】
また、ステップ660において、リカバリ発生回数カウンタ12532の値がリカバリ発生回数上限基準値フィールド12592内の値より小さい場合は、ベリファイインターバル値フィールド12563内のベリファイインターバル値の変更を行わずに処理を終了する。
【0124】
上述したように、読込制御部1253は、光記憶媒体180からデータを読み出す際のリカバリ処理の発生頻度に応じて、ベリファイインターバル値を変更することができる。
【0125】
以上、読込処理部1253の処理動作について説明した。
【0126】
次に、光記憶ライブラリ装置130〜134の光記憶媒体180からデータストライプと対応する冗長データとを取り出し、整合性がとれているかどうかを調べ、結果に応じて再書き込みを促すデータ整合性判定部1254の処理について、以下に説明する。
【0127】
なお、データ整合性判定部1254は、ホスト計算機100から光ディスクアレイ装置110に対し、書き込みおよび読み込みの指示がなされていない間に、処理を行うものである。
【0128】
図7に、データ整合性判定部1254の処理フローを示す。
【0129】
本図に示すように、データ整合性判定部1254は、ホスト計算機100から、書き込みまたは読み出しの要求を受けていない場合に、記憶装置接続部1220〜1224に、ドライブ群170〜174を用いて、光記憶媒体180から、ベリファイ情報格納部1258に格納されていない区画に記録されたストライプデータと対応する冗長データとを読み出すよう指示する(ステップ710)。
【0130】
次に、読み出したストライプデータと冗長データとのビットの整合性がとれているかどうかを確認する(ステップ720)。
【0131】
ステップ720で、ストライプデータのビットの整合性がとれていないと判定したときには、ホスト計算機100の転送制御部105に、ホスト接続部121を介して、ストライプデータが格納された光記憶媒体180のデータを、再度書き込むように通知する(ステップ730)。
【0132】
もちろん、ステップ720で不整合が発生していないと判定されれば、そのまま処理を終了する。
【0133】
上述したように、データ整合性判定部1254は、ベリファイなしで書き込まれたデータストライプそれぞれの整合性を判定し、不整合があったならば、そのデータの再書き込みをホスト計算機100に通知することができる。
【0134】
次に、上記のステップ730で通知を受けた際のホスト計算機100の転送制御部105における処理を図16に従って説明する。
【0135】
再書込みの通知である状態情報を受信すると、その状態情報に含まれる不整合が発生したデータの識別情報に基づき、再書き込みを指定されたデータがメモリ上にあるかどうか判定する(ステップ1610)。
【0136】
ステップ1610において、メモリ上にあると判定された場合、当該データを再書き込みする(ステップ1670)。
【0137】
ステップ1610において、メモリ上にないと判定された場合、ホスト計算機100上に保有されるデータ再生処理プログラムにてデータを再生することが可能か判定する(ステップ1620)。
【0138】
ステップ1620で可能と判定された場合、データを再生し(ステップ1660)、再書き込みする(ステップ1670)。
【0139】
ステップ1620で不可能と判定された場合、不足しているデータ再生のための情報を取得するため、表示装置1400に不整合データの識別情報を表示し、データ再生のために必要な情報の入力を促す(ステップ1630)。
【0140】
入力装置1500を介して情報の入力を受け付けると(ステップ1640)、受け付けた情報が再書き込みが不要であることを指示するものであるかどうか判定する(ステップ1650)。
【0141】
ステップ1650において、再書き込み不要の指示と判定された場合、処理を終了する。
【0142】
ステップ1650において、再書き込みを行なうデータを再生するための情報が全て揃った場合、データ再生処理を行い(ステップ1660)、データを再書き込みし(ステップ1670)、処理を終了する。
【0143】
以上のようにして、本実施形態によれば、光ディスクアレイ装置110が冗長データを格納する構成のときには、毎回ベリファイ処理を行うことなくデータ書込むため、毎回ベリファイ処理を行いながら、データを書き込む場合に比べて、高速に書き込みができる。
【0144】
さらに、書き込みを行いながら、書き込み処理中のデータの信頼性に応じて、ベリファイ処理を行う頻度を変更できる。読み出し時も同様に、読み出すデータの信頼度に応じて、ベリファイ処理を行う頻度を変更できる。
【0145】
すなわち、ベリファイ頻度を変更する各種の基準値を設定し、書込制御部1252は、それらの基準値とリトライ処理の頻度とに応じてベリファイ処理の間隔を変更し、読込み制御部1253はリカバリ処理の頻度に応じてベリファイ処理の間隔を変更することができる。
【0146】
また、書き込みおよび読み込み時以外に、データ整合性判定部1254が、ベリファイ処理を行わずに書き込まれたデータに不整合があるか否かをチェックし、不整合があった場合、そのデータの再書き込みをホスト計算機100に依頼する。
【0147】
以上説明したように、本実施形態によれば、冗長なデータを有するため、書き込み時に発生したエラーを読み込み時に訂正可能な構成である記憶装置に、データを書込むとき、書き込みベリファイの頻度を下げることにより、書き込み時間を短縮することができる。
【0148】
以上により、信頼性の低減を抑えながら高速に書き込むことができる光ディスクアレイ装置110を提供することができる。
【0149】
なお、以上の実施形態においては、光記憶媒体がアレイ構成になっている記憶装置を例にあげ説明したが、これに限られない。冗長データを同時に格納するものであれば、同様に適用可能である。
【0150】
【発明の効果】
複数の光記憶媒体から構成される光ディスクアレイ装置において、転送時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明を適用した実施形態のシステムの構成図である。
【図2】本実施形態の光ディスクアレイコントローラの機能構成図である。
【図3】本実施形態のベリファイ処理管理部の機能構成図である。
【図4】本実施形態のベリファイ間隔制御部の処理を示すフローチャートである。
【図5】本実施形態の書込制御部の処理を示すフローチャートである。
【図6】本実施形態の読出制御部の処理を示すフローチャートである。
【図7】本実施形態のデータ整合性判定部の処理を示すフローチャートである。
【図8】本実施形態のベリファイ情報格納部のフォーマットの一例を示す図である。
【図9】本実施形態の書込制御部内カウンタのフォーマットの一例を示す図である。
【図10】本実施形態の読込制御部内カウンタのフォーマットの一例を示す図である。
【図11】本実施形態のリトライ限度格納部のフォーマットの一例を示す図である。
【図12】本実施形態のリカバリ限度格納部のフォーマットの一例を示す図である。
【図13】本実施形態のベリファイ頻度格納部のフォーマットの一例を示す図である。
【図14】本実施形態の光ディスクアレイコントローラのハードウエア構成図である。
【図15】本実施形態のホスト計算機のハードウエア構成図である。
【図16】本実施形態の転送制御部が再書き込み通知を受けた際の処理を示すフローチャートである。
【符号の説明】
100:ホスト計算機、110:光ディスクアレイ装置、120:光ディスクアレイコントローラ、130〜134:光記憶ライブラリ装置、170〜174:ドライブ、180:光記憶媒体、125:ベリファイ処理管理部、1251:ベリファイ間隔制御部、1252:書込制御部、1253:読出制御部、1254:データ整合性判定部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for reducing a data transfer time in an optical storage medium array device having a plurality of built-in optical storage media.
[0002]
[Prior art]
2. Description of the Related Art An optical disk array device that stores a plurality of optical storage media such as rewritable DVDs (Digital Versatile Discs) and has a disk array configuration is used for data backup as an alternative to a magnetic disk.
[0003]
Here, an optical storage medium such as a rewritable DVD is a large-capacity, low-cost portable medium, but is known to have a relatively high error rate. Therefore, in order to increase the validity of the data with respect to the defect of the optical storage medium, it is general to perform a verifying process at the time of writing data.
[0004]
The verifying process is a process of reading the recorded data immediately after recording the data on the optical storage medium and comparing the read data with the original data to perform a check. For this reason, the data transfer speed in the case of writing data while performing the verifying process is about half that in the case of writing without performing the verifying process.
[0005]
On the other hand, the disk array configuration is a technology that allows a plurality of disk devices to operate in parallel, thereby enabling faster access than a single disk.
[0006]
If n disk devices are simply arranged, the failure rate is only n times worse. Therefore, generally, in a disk array configuration, RAID (Redundant Arrays of Inexpensive Disks) is employed as a technique for achieving both high speed and high reliability. The RAID realizes high-speed control by operating a plurality of disks in parallel, and achieves high reliability by contriving to increase data redundancy during storage.
[0007]
In a RAID, file data transferred from a host computer is divided into data blocks of an appropriate data length, the divided data is distributed and stored on a plurality of disks, and redundant data is written during writing. There is a configuration in which storage is simultaneously performed to improve disk failure reliability.
[0008]
Note that a data group divided for storage in a plurality of drives is hereinafter referred to as a data stripe.
[0009]
Thus, in RAID, even if a certain disk device fails, data of the failed disk can be restored from the other disks and the parity data. RAID realizes high-speed control by operating a plurality of disks in parallel, and also enhances reliability.
[0010]
Note that parity and in-disk error correction code ECC (Error Check Code) are known as redundant data used in RAID.
[0011]
As a disk array device using an optical storage medium, a device designed to increase the transfer speed is, for example, an optical disk library device disclosed in Patent Document 1. By providing a plurality of accessors, the disk exchange time is shortened in response to an access request to an optical storage medium, and the data transfer speed is increased.
[Patent Document 1] JP-A-11-45497
[Problems to be solved by the invention]
When a configuration in which redundant data is added to a data stripe is used, a time for processing for creating redundant data is required in addition to the verification processing, so that the data transfer speed is further reduced as compared with a case where only the verification processing is performed. .
[0012]
In the optical disk library device disclosed in Patent Document 1, the exchange of the optical storage medium is completed in a short time, so that the data transfer speed is increased to some extent. However, since the verifying process is still performed every time the writing is performed, the improvement of the transfer speed is not significant.
[0013]
As can be generally said to the data reliability assurance by the verifying process, the data reliability is guaranteed only by the verifying process only at the time of writing and then by the reading due to the deterioration of the optical storage medium that occurs thereafter. Failures cannot be dealt with.
[0014]
The present invention has been made in view of the above circumstances, and has as its object to provide a technique for shortening the data transfer time in an optical disk array device having a redundant configuration and an error correction function.
[0015]
[Means for Solving the Problems]
In order to achieve the above object, according to the present invention, when an optical disk array device to which data is written has a redundant configuration, the verifying process is not performed at all at the time of writing data, or the verifying process is performed at a preset frequency.
[0016]
When the verification process is performed at a preset frequency, the frequency is adjusted according to the result of the verification process.
[0017]
Also, when reading data, the quality of the stored data is checked, and the frequency of performing the verify process is adjusted according to the result.
[0018]
Furthermore, while not performing data write and read processing, the stored data is extracted without performing the verify processing, the consistency is checked using redundant data, and if inconsistency occurs, the reread processing is performed. Ask for.
[0019]
Specifically, the optical disk array device of the present invention is an optical disk array device having one or more optical storage media and one or more optical storage media drives for writing and reading data to and from the optical storage media. A redundant data calculating means for adding redundant data to the data in accordance with a predetermined instruction; and a verifying process for writing data to the optical storage medium when the redundant data calculating means adds redundant data. Verifying interval setting means for setting a verifying interval for performing the above, write control means for changing the verifying interval in accordance with the number of rewrite requests generated at the time of writing data to the optical storage medium, and the optical storage medium The read interval for changing the verify interval in accordance with the number of reread requests generated when reading data from And a control unit.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments to which the present invention is applied will be described with reference to the drawings.
[0021]
FIG. 1 is a system configuration diagram of the present embodiment.
[0022]
In the figure, 100 is a host computer, and 110 is an optical disk array device to which the present invention is applied. The optical disk array device 110 is connected to the host computer 100 via the host interface 140.
[0023]
The host computer 100 includes a transfer control unit 105 for transferring data to the optical disk array device 110.
[0024]
The optical disk array device 110 has a disk array configuration, and stores data transmitted from the transfer control unit 105 of the host computer 100 in its own optical storage medium.
[0025]
The optical disk array device 110 includes an optical disk array controller 120 and at least one optical storage library device 130 to 134. The optical disk array controller 120 and each of the optical storage library devices 130 to 134 are connected via drive interfaces 190 to 194, respectively. Connected.
[0026]
In addition, the optical storage library devices 130 to 134 include at least one drive 170 to 174 for writing data to the set optical storage medium and reading data from the set optical storage medium, and at least one optical storage medium 180. Is provided. In accordance with write and read instructions from the host computer 100, an optical storage medium 180 having a data area to be accessed is appropriately set in the drives 170 to 174, and data is written and read via the drives 170 to 174.
[0027]
Here, the optical disk array controller 120 generates a data stripe from data transferred from the host computer 100, and controls the transfer of the data stripe to the optical storage library devices 130 to 134.
[0028]
FIG. 2 is a functional configuration diagram of the optical disk array controller 120. As shown in the figure, the optical disk array controller 120 includes a host connection unit 121, a data storage unit 123, a redundant data operation unit 124, a verification process management unit 125, and storage device connection units 1220 to 1224.
[0029]
Here, the transfer from the optical disk array controller 120 to the optical disk library device is called data writing, and the transfer in the reverse direction is called data reading. In the following, the retry process refers to a process of writing data again when an error occurs when writing data while performing the verify process. The recovery processing refers to processing in which an error occurs when data is read and restoration is performed using redundant data.
[0030]
The host connection unit 121 receives a command from the host computer 100 via the host interface 140, and performs data transfer with the host computer 100.
[0031]
The storage device connection units 1220 to 1224 transmit commands to the drives 170 to 174 of the optical storage library devices 130 to 134 via the drive interfaces 190 to 194, and perform data transfer with the drives 170 to 174.
[0032]
When an error has occurred during data transfer and a recovery process or a retry process has been performed, the storage device connection units 1220 to 1224 notify the verification process management unit 125 of the recovery process or the retry process.
[0033]
The data storage unit 123 functions as a buffer between the optical storage library devices 130 to 134 and the host computer 100. The data storage unit 123 temporarily holds the transferred data, and transfers the data from the host computer 100 when there is a re-access request from the host computer 100. That is, it is used as a disk cache for increasing the data access speed.
[0034]
Also, it stores control information for managing the verification process received by the host connection unit 121 from the host computer 100, and the like.
[0035]
Here, the control information for managing the verifying process is information indicating whether the verifying process is performed or not, and information used to specify the frequency of the verifying process if the verifying process is performed. These are values such as a verification frequency, a retry limit, and a recovery limit that are used in each processing unit of a verification processing management unit 125 described later.
[0036]
In the present embodiment, these values are received from the host computer 100. However, for example, the values may be set as initial values when the optical disk array device 110 is shipped and stored in the data storage unit 123.
[0037]
When the optical disk array device 110 has a configuration in which redundant data is recorded on the optical storage medium 180, the redundant data calculation unit 124 generates redundant data at the time of writing, and transfers the generated redundant data to the storage device connection units 1220 to 1224. If an error occurs when reading data from the optical storage medium 180 stored in the optical storage library devices 130 to 134, the data is restored using the redundant data.
[0038]
Here, configuration information indicating whether or not the optical disk array device 110 has a configuration for recording redundant data is stored in advance in the data storage unit 123 as configuration information. The redundant data calculation unit 124 determines the above configuration by referring to this information.
[0039]
The verify processing management unit 125 monitors the frequency of retry processing at the time of a write error to the optical storage medium 180 and the frequency of recovery processing at the time of a read error, and changes the verify frequency by changing the interval at which the verify processing is performed. Is controlled. Also, the reliability of the stored data is checked as appropriate, and rewriting of data with low reliability is encouraged.
[0040]
FIG. 3 is a functional configuration diagram of the verification processing management unit 125. As shown in the figure, the verify processing management unit 125 includes a verify interval control unit 1251, a write control unit 1252, a read control unit 1253, a data consistency determination unit 1254, a verify frequency storage unit 1256, a retry A limit storage unit 1257, a verify information storage unit 1258, and a recovery limit storage unit 1259 are provided.
[0041]
The verify interval control unit 1251 performs initial setting of a reference value used for each processing. The host computer 100 stored in the data storage unit 123 determines whether the optical disk array device 110 is configured to add redundant data. Based on a request from the server, a predetermined reference value is stored in the verification frequency storage unit 1256, the retry limit storage unit 1257, and the recovery limit storage unit 1259.
[0042]
For example, when a request to perform verification at a predetermined interval is made from the host computer 100, a value designating the interval (hereinafter, referred to as a verification interval value) is stored in the data storage unit 123.
[0043]
Note that time or the number of times is stored as the verify interval value. When the time is stored, the write control unit 1252 described later controls to perform the write with the verify process and then to perform the verify process at the first write after the stored time has elapsed. When the number of times is stored, control is performed such that, after writing with the verifying process is performed, the verifying process is performed at the time of writing after the stored number of times of writing.
[0044]
The write control unit 1252 determines whether or not to perform a verify process using the reference value stored in the verify frequency storage unit 1256 when a data write request is issued from the host computer 100. In addition, at the time of writing after performing the verify processing, it is determined whether or not the retry processing has been performed, and the reference value of the verify frequency storage unit 1256 is changed according to the result.
[0045]
Note that the write control unit 1252 has a counter 12520 that counts the number of occurrences of various events that occur during the processing. FIG. 9 shows an example of the counter 12520. As shown in the figure, the counter 12520 counts the number of times the retry process was not performed consecutively, and counts the number of times the retry process has been performed, and the verify continuous number counter 12521 without retry. A retry counter 12522, a continuous retry counter 12523 that counts how many times the retry process has been continuously performed, and a write counter 1224 without the verify that counts the number of times of writing without performing the verify process are provided. .
[0046]
The write control unit 1252 adjusts the frequency of performing the verification process by comparing the values stored in the counters 12520 with the values stored in the retry limit storage unit 1257.
[0047]
The read control unit 1253 changes the reference value of the verification frequency storage unit 1256 depending on whether or not the recovery process has been performed at the time of a data read request from the host computer 100. The read control unit 1253 has a counter 12530 that counts the number of occurrences of various events that occur during processing. The counter 12530 includes a continuous number-of-recoveries counter 12531 for counting the number of times the read process has been performed without the recovery process continuously, and a recovery occurrence counter 12532 for counting the number of times recovery has occurred. FIG. 10 shows an example of the counter 12530.
[0048]
The read control unit 1253 adjusts the frequency of performing the verification process by comparing the value stored in the counter 12530 with the value stored in the recovery limit storage unit 1259.
[0049]
The data consistency determination unit 1254 extracts the data stripe and the corresponding redundant data from the optical storage medium 180 of the optical storage library devices 130 to 134 as appropriate, checks the data stripe, and determines whether or not the redundancy data is consistent.
[0050]
When an inconsistency has occurred, the data consistency determination unit 1254 notifies the host computer 100 of data writing again. In this case, the status information returned to the channel on the host side at the time of normal error detection is newly provided with rewrite notification information and identification information of the data in which inconsistency has occurred, and notification is made using this.
[0051]
On the host computer 100 side, the transfer control unit 105 detects the state information, prepares the corresponding data again, and requests the optical disk array device 110 to write again.
[0052]
The data consistency determination unit 1254 operates when a request to write or read data from the host computer 100 to the optical disk array device 110 is not made.
[0053]
The verify information storage unit 1258 is an area for recording whether or not a verify process has been performed at the time of data writing. FIG. 8 shows a format example of the verify information storage unit 1258.
[0054]
As shown in this figure, the verify information storage unit 1258 includes a medium identifier field 810 for storing the medium identifier of the optical storage medium 180 to which the data has been written by performing the verify processing, And a write time field 830 for storing information indicating the time at which the data was written.
[0055]
The verification information storage unit 1258 may be stored for each optical storage medium 180. When each of the optical storage media 180 holds the verification information, the medium identifier field 810 may not be provided.
[0056]
The verify frequency storage unit 1256 is an area for storing an interval value for performing a verify process at the time of writing. FIG. 13 shows a format example of the verify frequency storage unit 1256. As shown in the figure, the verification frequency storage unit 1256 includes a verification presence / absence information field 12561 for storing information indicating whether verification is performed, a specification information field 12562 for storing information indicating whether time is specified or the number of times specified, and A verification interval value field 12563 for storing an interval for performing the verification process in accordance with the specification stored in the specification information field 12562.
[0057]
The retry limit storage unit 1257 stores a reference value of various times related to the retry processing that occurred when the verify processing was performed. FIG. 11 shows a format example of the retry limit storage unit 1257. As shown in the figure, a retry limit storage unit 1257 stores a reference value indicating the number of times the verify process is continuously performed without the retry process, a verify continuous number of times without retry reference value field 12571, and a permitted value. A retry upper limit reference value field 12572 in which the number of retry processes to be performed is stored, and a continuous retry upper limit reference value field 12573 in which the allowable number of consecutive retry processes to be generated are stored.
[0058]
As shown in FIG. 12, the recovery limit storage unit 1259 includes a continuous number-of-recovery-times reference value field 12591 that stores a reference value of the number of times that the recovery process has not been continuously performed, which is a criterion for expanding the verification interval. And a recovery occurrence upper limit reference value field 12592 for storing an upper limit reference value of the total number of times recovery has occurred when reading data written without verification.
[0059]
The reference values stored in the retry limit storage unit 1257 and the recovery limit storage unit 1259 are specified by the host computer 100 and stored in the data storage unit 123. It is obtained from the storage unit 123 and written.
[0060]
The hardware configuration of the optical disk array controller 120 having the above functions includes, for example, as shown in FIG. 14, the CPU 200, the memory 210, the interface 220 with the host computer 100, and the optical storage library devices 130 to 134. It is composed of interfaces 230 to 234 and the like.
[0061]
The interface 220 with the host computer 100 and the interfaces 230 to 234 with the optical storage library devices 130 to 134 implement the host connection unit 121 and the storage device connection units 1220 to 1224, respectively.
[0062]
Further, the CPU 200 implements a redundant data calculation unit 124 and a verification processing management unit 125, and the memory 210 stores the storage units 1256 to 1259 of the data storage unit 123 and the verification processing management unit 125.
[0063]
FIG. 15 shows an example of a hardware configuration of the host computer 100. As shown in the figure, the host computer 100 includes a CPU 1100, a memory 1200, an interface 1300 with the optical disk array device 110, a display device 1400, and an input device 1500.
[0064]
The CPU 1100 realizes the function of the transfer control unit 105, the input device 1500 receives an input such as an instruction to give an instruction to the optical disk array device 110 from the host computer 100, and the display device 1400 transmits the instruction from the optical disk array device 110 to the host computer 100. Display notifications to.
[0065]
Hereinafter, the processing operation of the verification processing management unit 125 will be described.
[0066]
First, the verify interval control unit 1251 sets a reference value as an initial value in each of the storage units 1256 to 1259. Then, at the time of data writing, the writing control unit 1252 monitors the writing status, and changes the reference value stored in the verification frequency storage unit 1256 according to the frequency of retry processing. At the time of data reading, the reading control unit 1253 monitors the reading status, and changes the reference value stored in the verification frequency storage unit 1256 according to the frequency of occurrence of the recovery processing.
[0067]
Further, in addition to the time of writing and reading, the data consistency determination unit 1254 checks the consistency of the data stored in the optical storage library devices 130 to 134 using the redundant data, and Is requested to the host computer 100.
[0068]
The above-described operations of the respective units of the verifying process management unit 125 guarantee that data can be stored with high reliability stochastically / statistically without performing the verifying process for each write.
[0069]
Hereinafter, the processing operation of each unit will be described in detail. Hereinafter, a case where the number of times is recorded as the verify interval value will be described as an example.
[0070]
First, the processing procedure of the verify interval control unit 1251 will be described below.
[0071]
FIG. 4 shows a processing flow of the verify interval control unit 1251.
[0072]
The verify interval control unit 1251 first performs a process of initially clearing each storage unit and counter, and then sets a default value indicating that a verify process is performed every time in each field of the verify frequency storage unit 1256 at the time of writing. (Step 410).
[0073]
Then, it accesses the redundant data calculation section 124 to determine whether the optical disk array device 110 is configured to record redundant data on the optical storage medium 180, and receives the result (step 420).
[0074]
If it is determined in step 420 that redundant data is not recorded, the process ends. In this case, at the time of writing, a verify process is performed every time.
[0075]
On the other hand, if it is determined in step 420 that the configuration is for recording redundant data, information indicating that verification is not performed at the time of writing is set in the verification presence / absence information field 12561 of the verification frequency storage unit 1256 (step 430).
[0076]
Next, the data storage unit 123 is accessed to check whether a verify interval value is stored (step 440).
[0077]
If it is determined in step 440 that the verify interval value has not been stored, the process ends. In this case, the write process is performed without performing the verify process at all.
[0078]
On the other hand, if the verification interval value is stored in step 440, the verification interval value and the specification information indicating whether the time is specified or the number of times are specified are stored in the specification information field 12562 and the verification interval value field 12563 of the verification frequency storage unit 1256. (Step 450).
[0079]
When the optical disk array device 110 is configured to store redundant data, no verifying process is performed, or the verifying process is performed only at the time of predetermined writing according to the verify interval value set in step 450.
[0080]
Here, when the number of redundant data per data stripe used by the redundant data calculation unit 124 is two or more, that is, whether or not it is multiple parity is checked. Processing such as extending the set verify interval value may be performed (steps 460 and 470). This is because in the case of multiple parity, it is determined that the redundancy is high and the reliability is high.
[0081]
Next, the data storage unit 123 is accessed, and the upper limit reference value of the number of times the retry process is performed, the upper limit reference value of the number of times the retry process is continuously performed, and the verify process in which no retry occurs are continuously performed. The reference value of the number of times is obtained from the reference value and set in each field of the retry limit storage unit 1257 (step 480).
[0082]
Then, when reading data written without verifying, the upper limit reference value of the total number of times recovery has occurred and the reference value of the number of times recovery processing has not been continuously performed are taken out from the data storage unit 123 to obtain the recovery limit. It is set in each field of the storage unit 1259 (step 490).
As described above, the reference values at the time of writing and at the time of reading are set.
[0083]
Next, the process of the writing control unit 1252 for controlling data writing using the reference value set above will be described below.
[0084]
The write control unit 1252 determines whether or not to perform a verify process using the reference value of the verify frequency storage unit 1256 when a data write request is issued from the host computer 100, and determines whether or not the verify frequency storage unit 1256 matches the write result. And processing for changing the reference value.
[0085]
FIG. 5 shows a processing flow of the write control unit 1252.
[0086]
As shown in this drawing, the write control unit 1252 receives a data write request from the host computer 100, first accesses the verify presence / absence information field 12561 of the verify frequency storage unit 1256, and determines whether or not a verify process is performed ( Step 500). Here, when the information indicating that the verify process is not performed is stored, the write without the verify process is continued (step 535).
[0087]
In step 500, when the information indicating the presence of the verification process is stored, it is determined whether the request from the host computer 100 is the first write command (step 510).
[0088]
Here, the first write command is a write command accepted for the first time after the power is turned on. This is counted by a counter or the like in the write control unit, which is cleared every time the power is turned off.
[0089]
If it is determined that the command is the second or later command, it is checked whether the value stored in the non-verify write counter 12524 is larger than the verify interval value stored in the verify interval value field 12563 of the verify frequency storage unit 1256. (Step 520). In step 520, it is also possible to use the elapsed time from the previous verification instead of the number of times of writing. In this case, the elapsed time from the verify processing is stored in the write counter without verify 12524.
[0090]
If it is determined in step 520 that the verification interval value has not been exceeded, the storage device connection units 1220 to 1224 are instructed to write to the drives 170 to 174 of the optical storage library devices 130 to 134 without performing the verification process. At the same time, the non-verify write counter 12524 in the write control unit 1252 is incremented by 1 (step 535).
[0091]
If it is determined in step 520 that the number of times of writing is greater than the verify interval value stored in the verify interval value field 12563, the verification processing is performed and the writing is performed via the storage device connecting units 1220 to 1224. Instruct the drives 170 to 174 of 130 to 134 (step 530).
[0092]
At this time, the non-verify write counter 12524 is cleared.
[0093]
Next, when the data is written in step 530, an error is detected when the verify processing is performed, and it is determined whether or not a notification indicating that the retry processing has been performed is received from the storage device connection units 1220 to 1224 (step 540).
[0094]
In step 540, when the notification is not received, the continuous retry number counter 12523 is cleared, and the verification without retry increases the counter of the continuous number counter 12521 by one. Then, the verification without retry compares the value of the continuous number counter 12521 with the value in the continuous verification reference number field 12571 without retry of the retry limit storage unit 1257 (step 555).
[0095]
Then, in step 555, it is determined that the number of times that the verification process is continuously performed without performing the retry process exceeds the value stored in the non-retry verification continuous number of times reference value field 12571 of the retry limit storage unit 1257. Then, the verify interval value in the verify frequency storage unit 1256 is increased (step 565), the verify frequency is reduced, and the process proceeds to step 590 described later.
[0096]
In step 555, it is determined that the number of times that the verification process is continuously performed without performing the retry process is equal to or less than the value stored in the retry-without-retry-verification-continuous-times reference value field 12571 of the retry limit storage unit 1257. If so, the process proceeds directly to step 590.
[0097]
On the other hand, if it is determined in step 540 that retry processing has been performed, the retry-less verify continuous count counter 12521 is cleared, and the values of the retry count counter 12522 and the continuous retry count counter are increased by one. Then, the value of the retry number counter 12522 is compared with the value in the retry upper limit reference value field 12572 (step 550).
[0098]
If the value of the retry counter 12522 exceeds the retry upper limit reference value 12572 in step 550, that is, if the number of times of retry processing exceeds the value in the retry upper limit reference value field 12572, the verification frequency is stored. The verify interval value of the unit 1256 is reduced (step 560), the verify frequency at the time of writing is increased, and the process proceeds to step 570 described later.
[0099]
If the value of the retry number counter 12522 is equal to or smaller than the value in the retry upper limit reference value field 12572 in step 550, the process directly proceeds to step 570.
[0100]
Further, the number of times of continuous retries at the time of verification, that is, the value held by the continuous retry number counter 12523 is compared with the value in the continuous retry upper limit reference value field 12573 (step 570).
[0101]
In step 570, if the value held by the continuous retry number counter 12523 exceeds the value in the continuous retry upper limit reference value field 12573, the write data held by the data storage unit 123 is written again (step 580), which will be described later. Proceed to step 590.
[0102]
This is to increase the reliability of data recorded on the optical storage medium 180. Generally, when an error occurs during verification, another area is allocated and writing is repeated until the verification becomes normal. Also in this step, similarly, the reliability of the recorded data is improved by writing to another area. Here, depending on the frequency of occurrence of the above-mentioned rewrite instruction, it is possible to adopt a configuration in which a notification such as replacement of a medium or a drive is issued.
[0103]
In step 570, if the value held by the continuous retry number counter 12523 is equal to or smaller than the value in the continuous retry upper limit reference value field 12573, the process directly proceeds to step 590.
[0104]
Next, the identification information, the section identifier, and the write time of the optical storage medium 180 recorded by performing the verify processing are written in the medium identifier field 810, the section identifier field 820, and the write time field of the verify information storage unit 1258, respectively. 830 (step 590), and the process ends.
[0105]
As described above, when the optical disk array device 110 is configured to store redundant data at the same time, the write control unit 1252 performs writing by reducing the frequency of performing the verification process, and performs the verification in accordance with the frequency of occurrence of the retry process. It is possible to change the interval value.
[0106]
The processing operation of the writing control unit 1252 has been described above.
[0107]
Next, the process of the read control unit 1253 that controls the reading of data using the reference value set by the process of the verify interval control unit 1251 will be described below.
[0108]
The read control unit 1253 changes the reference value of the verify frequency storage unit 1256 depending on whether or not a recovery process has occurred at the time of a data read request from the host computer 100.
[0109]
FIG. 6 shows a processing flow of the reading control unit 1253.
[0110]
As shown in the figure, the read control unit 1253 receives a data read request from the host computer 100, and instructs the storage device connection units 1220 to 1224 to read data from the optical storage medium 180 (Step 610). . Then, it is determined whether or not a recovery process has occurred at this time (step 620).
[0111]
If it is determined in step 620 that the recovery processing has not been performed, the continuous count counter without recovery 12531 is incremented by 1, and the value is compared with the value in the continuous count reference value field 12591 without recovery (step 640).
[0112]
In step 640, if the value of the continuous number-of-no-recovery counter 12531 exceeds the value in the continuous number-of-recovery-numbers reference value field 12591, and if "verify" is set in the verify presence / absence information field 12561 of the verify frequency storage unit 1256, For example, the verify interval value in the verify interval value field 12563 is increased (step 650), and the verify frequency is reduced.
[0113]
Here, the reference value 12591 of the continuous count without recovery may be further increased by one.
[0114]
Here, in the case where the verification is not set in the verification presence / absence information field 12561, the verification interval value is not changed. This may be because writing is performed without performing any verifying process.
[0115]
In step 640, if the value of the continuous number without recovery counter 12531 is equal to or less than the value in the continuous number of times without recovery reference value field 12591, the process ends.
[0116]
On the other hand, if it is determined in step 620 that the recovery process has been performed, the value of the continuous number counter 12531 without recovery is cleared, and the verification information storage unit 1258 is searched to store the data on which the recovery process has been performed. It is checked whether the identifier and the partition of the medium 180 are stored (step 630).
[0117]
If the identifier and the partition are not stored in step 630, the data on which the recovery processing has occurred has been written without the verification processing at the time of writing.
[0118]
In this case, the value of the recovery occurrence counter 12532 is compared with the value in the recovery occurrence upper limit reference value field 12592 (step 660).
[0119]
In step 660, if the value of the recovery occurrence counter 12532 is equal to or greater than the value in the recovery occurrence upper limit reference value field 12592, and if the verification is set in the verification presence / absence information field 12561 of the verification frequency storage unit 1256, For example, the verify interval value in the verify frequency storage unit 1256 is reduced, and the verify frequency is increased (step 670).
[0120]
Here, in step 660, the value of the recovery occurrence counter 12532 is equal to or greater than the value in the recovery occurrence upper limit reference value field 12592, and no verification is set in the verification presence / absence information field 12561 of the verification frequency storage unit 1256. If so, in step 670, the setting without verification in the verification presence / absence information field 12561 is changed to the setting with verification. In step 410 of the initial setting of the processing flow of the verify interval control unit 1251, a default value indicating that the verify processing is performed every time is stored in the verify interval value field 12563, so that the verify processing is performed every time.
[0121]
Of course, in this case, what is used as the verify interval value is not limited to this. For example, a configuration may be used in which the value stored in the continuous counter without recovery 12531 is used. In this case, if there is a recovery, the procedure is changed so that the continuous number counter 12531 without recovery is cleared in step 670 instead of step 630.
[0122]
In step 630, if the identifier and the partition are stored, it is determined that the data on which the recovery processing has been performed has been subjected to the verification processing at the time of writing, and has been processed without changing the verification interval value. To end.
[0123]
If the value of the recovery occurrence counter 12532 is smaller than the value in the recovery occurrence upper limit reference value field 12592 in step 660, the process ends without changing the verify interval value in the verify interval value field 12563. .
[0124]
As described above, the read control unit 1253 can change the verify interval value according to the frequency of occurrence of the recovery process when reading data from the optical storage medium 180.
[0125]
The processing operation of the read processing unit 1253 has been described above.
[0126]
Next, the data stripe and the corresponding redundant data are extracted from the optical storage medium 180 of the optical storage library devices 130 to 134, and whether or not the data stripe is consistent is checked. The processing of 1254 will be described below.
[0127]
Note that the data consistency determination unit 1254 performs processing while the host computer 100 does not instruct the optical disk array device 110 to write or read.
[0128]
FIG. 7 shows a processing flow of the data consistency determination unit 1254.
[0129]
As shown in the figure, when a write or read request is not received from the host computer 100, the data consistency determination unit 1254 uses the drive groups 170 to 174 for the storage device connection units 1220 to 1224, It is instructed to read from the optical storage medium 180 the stripe data recorded in the section not stored in the verification information storage unit 1258 and the corresponding redundant data (step 710).
[0130]
Next, it is checked whether or not the bits of the read stripe data and the redundant data are consistent (step 720).
[0131]
If it is determined at step 720 that the bit of the stripe data is not consistent, the transfer control unit 105 of the host computer 100 transmits, via the host connection unit 121, the data of the optical storage medium 180 in which the stripe data is stored. Is again written (step 730).
[0132]
Of course, if it is determined in step 720 that no inconsistency has occurred, the processing ends.
[0133]
As described above, the data consistency determination unit 1254 determines the consistency of each of the data stripes written without verification, and if there is an inconsistency, notifies the host computer 100 of the rewriting of the data. Can be.
[0134]
Next, the processing in the transfer control unit 105 of the host computer 100 when the notification is received in step 730 will be described with reference to FIG.
[0135]
Upon receiving the status information that is the notification of the rewrite, it is determined whether or not the data designated to be rewritten exists in the memory based on the identification information of the inconsistent data included in the status information (step 1610). .
[0136]
If it is determined in step 1610 that the data exists in the memory, the data is rewritten (step 1670).
[0137]
If it is determined in step 1610 that the data is not stored in the memory, it is determined whether the data can be reproduced by the data reproduction processing program stored in the host computer 100 (step 1620).
[0138]
If it is determined in step 1620 that the data is possible, the data is reproduced (step 1660) and rewritten (step 1670).
[0139]
If it is determined that the data cannot be reproduced in step 1620, the identification information of the inconsistent data is displayed on the display device 1400 to obtain the information for reproducing the missing data, and information necessary for reproducing the data is input. (Step 1630).
[0140]
When input of information is received via input device 1500 (step 1640), it is determined whether the received information indicates that rewriting is unnecessary (step 1650).
[0141]
If it is determined in step 1650 that the instruction does not require rewriting, the process ends.
[0142]
In step 1650, if all the information for reproducing the data to be rewritten has been prepared, data reproduction processing is performed (step 1660), the data is rewritten (step 1670), and the processing is terminated.
[0143]
As described above, according to the present embodiment, when the optical disk array device 110 is configured to store redundant data, data is written without performing the verifying process each time. Writing can be performed at a higher speed than in.
[0144]
Further, the frequency of the verifying process can be changed according to the reliability of the data during the writing process while performing the writing. Similarly, at the time of reading, the frequency of performing the verify process can be changed according to the reliability of the data to be read.
[0145]
That is, various reference values for changing the verification frequency are set, the write control unit 1252 changes the interval of the verification process according to the reference values and the frequency of the retry process, and the read control unit 1253 performs the recovery process. Can be changed in accordance with the frequency of the verification process.
[0146]
In addition, other than at the time of writing and reading, the data consistency determination unit 1254 checks whether or not there is inconsistency in the data written without performing the verification processing. The host computer 100 is requested to write.
[0147]
As described above, according to the present embodiment, since redundant data is included, when data is written to a storage device having a configuration capable of correcting an error generated at the time of writing at the time of reading, the frequency of write verification is reduced. As a result, the writing time can be reduced.
[0148]
As described above, it is possible to provide the optical disk array device 110 capable of performing high-speed writing while suppressing reduction in reliability.
[0149]
In the above embodiment, the storage device in which the optical storage media has an array configuration has been described as an example, but the present invention is not limited to this. The present invention can be similarly applied as long as redundant data is stored at the same time.
[0150]
【The invention's effect】
In an optical disk array device including a plurality of optical storage media, the transfer time can be reduced.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a system according to an embodiment to which the present invention is applied.
FIG. 2 is a functional configuration diagram of the optical disk array controller of the embodiment.
FIG. 3 is a functional configuration diagram of a verification processing management unit according to the embodiment.
FIG. 4 is a flowchart illustrating a process of a verify interval control unit according to the embodiment;
FIG. 5 is a flowchart illustrating processing of a writing control unit according to the embodiment;
FIG. 6 is a flowchart illustrating a process of a read control unit according to the embodiment.
FIG. 7 is a flowchart illustrating a process performed by a data consistency determination unit according to the embodiment;
FIG. 8 is a diagram illustrating an example of a format of a verify information storage unit according to the embodiment;
FIG. 9 is a diagram illustrating an example of a format of a counter in a write control unit according to the embodiment;
FIG. 10 is a diagram illustrating an example of a format of a counter in a read control unit according to the present embodiment.
FIG. 11 is a diagram illustrating an example of a format of a retry limit storage unit according to the present embodiment.
FIG. 12 is a diagram illustrating an example of a format of a recovery limit storage unit according to the present embodiment.
FIG. 13 is a diagram illustrating an example of a format of a verify frequency storage unit according to the embodiment.
FIG. 14 is a hardware configuration diagram of an optical disk array controller of the present embodiment.
FIG. 15 is a hardware configuration diagram of the host computer of the present embodiment.
FIG. 16 is a flowchart illustrating processing when the transfer control unit of the present embodiment receives a rewrite notification.
[Explanation of symbols]
100: host computer, 110: optical disk array device, 120: optical disk array controller, 130 to 134: optical storage library device, 170 to 174: drive, 180: optical storage medium, 125: verify processing management unit, 1251: verify interval control , 1252: write control unit, 1253: read control unit, 1254: data consistency determination unit

Claims (11)

1以上の光記憶媒体、および、当該光記憶媒体に対してデータの書き込みと読み出しとを行なう1以上の光記憶媒体ドライブを有する光記憶媒体アレイ装置であって、
予め定められた指示に従って当該データに冗長データを付加する冗長データ演算手段と、
前記冗長データ演算手段において冗長データが付加される場合、前記光記憶媒体へデータを書き込む際に、ベリファイ処理を行うベリファイ間隔を設定するベリファイ間隔設定手段と、
前記光記憶媒体へのデータの書き込み時に発生した再書き込み要求の回数に応じて、前記ベリファイ間隔を変更する書込制御手段と、
前記光記憶媒体からのデータ読み出し時に発生した再読み出し要求の回数に応じて、前記ベリファイ間隔を変更する読出制御手段と、
を備えることを特徴とする光記憶媒体アレイ装置。
An optical storage medium array device having at least one optical storage medium and at least one optical storage medium drive for writing and reading data to and from the optical storage medium,
Redundant data calculation means for adding redundant data to the data according to a predetermined instruction;
When redundant data is added in the redundant data calculating means, when writing data to the optical storage medium, a verify interval setting means for setting a verify interval for performing a verify process;
Write control means for changing the verify interval in accordance with the number of rewrite requests generated at the time of writing data to the optical storage medium;
Read control means for changing the verify interval in accordance with the number of re-read requests generated when reading data from the optical storage medium;
An optical storage medium array device comprising:
請求項1記載の光記憶媒体アレイ装置であって、
前記書込制御手段は、前記再書き込み要求が発生しない書き込みの回数が予め定められた数を超えた場合、前記ベリファイ間隔を広げることを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 1,
The optical storage medium array device according to claim 1, wherein the write control means extends the verify interval when the number of times of writing in which the rewrite request does not occur exceeds a predetermined number.
請求項1または2記載の光記憶媒体アレイ装置であって、
前記書込制御手段は、前記再書き込み要求が発生した書き込みの回数が予め定められた数を超えた場合、前記ベリファイ間隔を狭めることを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 1 or 2,
The optical storage medium array device according to claim 1, wherein the write control means narrows the verify interval when the number of times of writing in which the rewrite request has occurred exceeds a predetermined number.
請求項1、2または3記載の光記憶媒体アレイ装置であって、
前記書込制御手段は、前記再書き込み要求が連続して発生した書き込みの回数が、予め定められた数を超えた場合、前記書込手段に再度書き込みを行うよう指示することを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 1, 2, or 3,
The writing control means instructs the writing means to perform writing again when the number of times of continuous writing of the rewriting request exceeds a predetermined number. Storage media array device.
請求項1、2、3、または、4記載の光記憶媒体アレイ装置であって、
前記読出制御手段は、前記再読み出し要求が連続して発生しなかった読み出しの回数が、予め定められた数を超えた場合、前記ベリファイ間隔を広げることを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 1, 2, 3, or 4,
The optical storage medium array device according to claim 1, wherein the read control means extends the verify interval when the number of times of read in which the reread request has not been continuously generated exceeds a predetermined number.
請求項1、2、3、4、または、5記載の光記憶媒体アレイ装置であって、
前記光記憶媒体へのデータの書き込み時にベリファイ処理を行った場合、当該データの書き込み先の光記憶媒体の位置を示す情報を保持するベリファイ情報格納手段をさらに備え、
前記読出制御手段は、前記再読み出し要求が発生した場合、前記ベリファイ情報格納手段に保持されている情報を基に、読み出したデータに対して書き込み時にベリファイ処理が行われたかどうかを判断し、ベリファイ処理が行われていないと判定した場合、前記ベリファイ間隔を狭くすることを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 1, 2, 3, 4, or 5,
When a verify process is performed at the time of writing data to the optical storage medium, a verification information storage unit that holds information indicating a position of the optical storage medium to which the data is written is further provided.
When the re-read request occurs, the read control unit determines whether or not a verify process has been performed at the time of writing to the read data based on information held in the verify information storage unit. The optical storage medium array device, wherein when it is determined that the processing is not performed, the verification interval is narrowed.
請求項6記載の光記憶媒体アレイ装置であって、
前記ベリファイ情報格納手段に格納されている情報に従って、書き込み時にベリファイ処理を行っていないデータを読み出し、前記冗長データを用いて整合性を確認し、不整合があった場合は、データの転送元の計算機に再度当該データの書き込みを依頼するデータ整合性判定手段をさらに備えることを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 6, wherein
According to the information stored in the verify information storage means, data that has not been subjected to a verify process at the time of writing is read, and the consistency is checked using the redundant data. An optical storage medium array device further comprising a data consistency determination unit for requesting the computer to write the data again.
1以上の光記憶媒体ドライブを介して1以上の光記憶媒体に対してデータを転送するデータ転送方法であって、
前記光記憶媒体へデータを書き込む際に、予め定められた指示に従って冗長データを付加する冗長データ演算ステップと、
前記光記憶媒体にデータを書き込む際は、予め指定された間隔で、ベリファイ処理を行いながら前記光記憶媒体へデータを書き込み、前記ベリファイ処理時に発生した再書き込み要求の数に応じて前記間隔を変更し、前記光記憶媒体からデータを読み出す際は、発生した再読み出し要求の回数に応じて前記間隔を変更するベリファイ間隔変更ステップと、
を備えることを特徴とするデータ転送方法。
A data transfer method for transferring data to one or more optical storage media via one or more optical storage media drives,
A redundant data calculation step of adding redundant data according to a predetermined instruction when writing data to the optical storage medium;
When writing data to the optical storage medium, data is written to the optical storage medium at a predetermined interval while performing a verifying process, and the interval is changed according to the number of rewrite requests generated during the verifying process. When reading data from the optical storage medium, a verify interval changing step of changing the interval according to the number of reread requests that have occurred,
A data transfer method comprising:
請求項8記載のデータ転送方法であって、
前記光記憶媒体にデータを書き込む際に、前記ベリファイ処理を行ったか否かを記録するベリファイ記録ステップと、
前記ベリファイ記録ステップにおいて記録されたデータに基づいて、データを書き込む際にベリファイ処理を行なっていないデータを抽出して前記冗長データを用いて整合性を確認し、不整合があった場合は、データの転送元である計算機に再度当該データの書き込み指示出すよう依頼するステップと
を備えることを特徴とするデータ転送方法。
The data transfer method according to claim 8, wherein
When writing data to the optical storage medium, a verify recording step of recording whether or not the verify processing has been performed;
Based on the data recorded in the verify recording step, data that has not been subjected to a verifying process when data is written is extracted and the consistency is checked using the redundant data. Requesting the computer that is the transfer source of the data to issue an instruction to write the data again.
1以上の光記憶媒体、および、当該光記憶媒体に対してデータの書き込みと読み出しとを行なう1以上の光記憶媒体ドライブを有する光記憶媒体アレイ装置に搭載されているコンピュータを、
予め定められた指示に従って当該データに冗長データを付加する冗長データ演算手段と、
前記冗長データ演算手段において冗長データが付加される場合、前記光記憶媒体へデータを書き込む際に、ベリファイ処理を行うベリファイ間隔を設定するベリファイ間隔設定手段と、
前記光記憶媒体へのデータの書き込み時に発生した再書き込み要求の回数に応じて、前記ベリファイ間隔を変更する書込制御手段と、
前記光記憶媒体からのデータ読み出し時に発生した再読み出し要求の回数に応じて、前記ベリファイ間隔を変更する読出制御手段と、
として機能させるためのプログラム。
A computer mounted on an optical storage medium array device having at least one optical storage medium and at least one optical storage medium drive for writing and reading data to and from the optical storage medium;
Redundant data calculation means for adding redundant data to the data according to a predetermined instruction;
When redundant data is added in the redundant data calculating means, when writing data to the optical storage medium, a verify interval setting means for setting a verify interval for performing a verify process;
Write control means for changing the verify interval in accordance with the number of rewrite requests generated at the time of writing data to the optical storage medium;
Read control means for changing the verify interval in accordance with the number of re-read requests generated when reading data from the optical storage medium;
Program to function as
請求項1記載の光記憶媒体アレイ装置であって、
前記ベリファイ間隔設定手段は、前記冗長データ演算手段において冗長データが付加される場合、前記光記憶媒体へデータを書き込む際に、ベリファイ処理を行わないよう設定することを特徴とする光記憶媒体アレイ装置。
The optical storage medium array device according to claim 1,
The optical storage medium array device, wherein when the redundant data is added by the redundant data calculation means, the verify interval setting means performs setting so as not to perform a verification process when writing data to the optical storage medium. .
JP2002353636A 2002-12-05 2002-12-05 Optical storage medium array device and data transfer method Pending JP2004185477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002353636A JP2004185477A (en) 2002-12-05 2002-12-05 Optical storage medium array device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002353636A JP2004185477A (en) 2002-12-05 2002-12-05 Optical storage medium array device and data transfer method

Publications (1)

Publication Number Publication Date
JP2004185477A true JP2004185477A (en) 2004-07-02

Family

ID=32754881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002353636A Pending JP2004185477A (en) 2002-12-05 2002-12-05 Optical storage medium array device and data transfer method

Country Status (1)

Country Link
JP (1) JP2004185477A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301714A (en) * 2005-04-15 2006-11-02 Toshiba Corp Array controller, information processor including this array controller, and disk array control method
US7593299B2 (en) 2005-04-28 2009-09-22 Hitachi, Ltd. Optical disk recording/reproducing apparatus and optical disk recording/reproducing method
JP2009238337A (en) * 2008-03-27 2009-10-15 Nec Corp Information recording and reproduction control device
WO2010084885A1 (en) * 2009-01-21 2010-07-29 日本電気株式会社 Array type disk device, and control method for array type disk device
JP2010268355A (en) * 2009-05-18 2010-11-25 Canon Inc Image forming apparatus, control method thereof, program, and storage medium
US8416660B2 (en) 2010-03-26 2013-04-09 Hitachi-Lg Data Storage, Inc. Recording quality evaluation method of optical disk and optical disk storage system
US8433882B2 (en) 2008-10-29 2013-04-30 Kabushiki Kaisha Toshiba Disk array control device and storage device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301714A (en) * 2005-04-15 2006-11-02 Toshiba Corp Array controller, information processor including this array controller, and disk array control method
US7779202B2 (en) 2005-04-15 2010-08-17 Kabushiki Kaisha Toshiba Apparatus and method for controlling disk array with redundancy and error counting
US7593299B2 (en) 2005-04-28 2009-09-22 Hitachi, Ltd. Optical disk recording/reproducing apparatus and optical disk recording/reproducing method
JP2009238337A (en) * 2008-03-27 2009-10-15 Nec Corp Information recording and reproduction control device
US8433882B2 (en) 2008-10-29 2013-04-30 Kabushiki Kaisha Toshiba Disk array control device and storage device
WO2010084885A1 (en) * 2009-01-21 2010-07-29 日本電気株式会社 Array type disk device, and control method for array type disk device
JP2010268355A (en) * 2009-05-18 2010-11-25 Canon Inc Image forming apparatus, control method thereof, program, and storage medium
US8416660B2 (en) 2010-03-26 2013-04-09 Hitachi-Lg Data Storage, Inc. Recording quality evaluation method of optical disk and optical disk storage system

Similar Documents

Publication Publication Date Title
JP2501752B2 (en) Storage device of computer system and method of storing data
US7822922B2 (en) Accessing data storage systems without waiting for read errors
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
US20090006904A1 (en) Apparatus and method to check data integrity when handling data
US20050283654A1 (en) Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system
JP2005309818A (en) Storage device, data reading method, and data reading program
JP4405421B2 (en) Storage device and program.
JP2006072435A (en) Storage system and data recording method
JP2004185477A (en) Optical storage medium array device and data transfer method
US20030163757A1 (en) RAID subsystem and data input/output and recovery method in disk error mode
JP2001331377A (en) Processing method for reproduction error, and disk device using the same
JP2006079219A (en) Disk array controller and disk array control method
JP2001142650A (en) Method and device for controlling array disk
JP2004318485A (en) Data writing method, data verification method, control method of computer, computer, disk array system, and disk drive
JP5381519B2 (en) A storage control device, a storage system, and an access method for detecting an erroneous calculation of a write position on a disk.
JPH0969027A (en) Recording system for multimedia
JPH08286844A (en) Parity generation control method and disk controller
JP5585930B2 (en) Disk array device and data control method
JP3288071B2 (en) Information conversion processing device and information transfer control method
JP2000172570A (en) Data input and output method and reconstruction method for information recorder
JP5598124B2 (en) DATA RECORDING / REPRODUCING DEVICE, DATA RECORDING METHOD, AND DATA RECORDING PROGRAM
JP3597766B2 (en) Disk array device control method
JP4609034B2 (en) Disk array device
JP3597550B2 (en) Disk array device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040810

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626