説明

ハイブリッド記録装置

【課題】本発明は、適正化情報に応じて、記録用磁気ディスクに記録されているデータの記録領域を不揮発性半導体メモリにも備えるハイブリッド記録装置を提供することを目的とする。
【解決手段】不揮発性半導体メモリ(11)及び記録用磁気ディスク(10)を備えたハイブリッド記録装置(1)において、上記記録用磁気ディスク内の第一記録領域(102)と上記不揮発性半導体メモリ内の第二記録領域(110)とをマッピングするマッピング手段(12)と、上記第一記録領域へのアクセス命令があると上記マッピング手段がマッピングしている上記第二記録領域にアクセスする制御を行う制御手段(13)と、を備えるように構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性半導体メモリ及び記録用磁気ディスクを備えたハイブリッド記録装置に関し、特に不揮発性半導体メモリ及び記録用磁気ディスクに対するデータ記録制御技術に関する。
【背景技術】
【0002】
近年、記録用磁気ディスクに加えて不揮発性半導体メモリを搭載したハイブリッド記録装置が登場している。
そのハイブリッド記録装置の一つは、揮発性半導体メモリを記録用磁気ディスクと同等に扱い、何れか一方の記録領域にデータを配置するように構成されたものである(特許文献1参照)。
【特許文献1】特願平5−102029号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
一般的に、記録装置は全てのデータを同等に扱う。
一方、記録装置との間でデータを送受信する外部装置(ホストコンピュータ)では、データのアクセス頻度やデータの重要度などをポリシーテーブルに記録し、各データに意味をもたせて管理している。
【0004】
従って、記録装置内のアクセス先のデータがアクセス頻度の高いものである場合はそのデータへの高速アクセスが望ましく、またアクセス先のデータが重要度の高いものである場合はデータ紛失やデータ破壊によるアクセスエラーを生じさせないようにすることが望ましい。
【0005】
上述したように、ハイブリッド記録装置は記録用磁気ディスクと不揮発性半導体メモリとを備えている。この二つの記録媒体は、同じデータを共に保持させれば重要なデータの冗長化に有効であり、またアクセス先を不揮発性半導体メモリにすることによりデータアクセスの高速化にも有効である。
【0006】
しかしながら、従来のハイブリッド記録装置は、記録用磁気ディスクと不揮発性半導体メモリとを備えているにもかかわらず、不揮発性半導体メモリの記録領域の全てにおいて上述の外部装置がデータに対してもつ意味とは無関係にデータを任意に記録する。そのため、外部装置がもつ各データごとのデータアクセス方式の適正化情報(例えば外部装置がポリシーテーブルで管理する重要度やアクセス頻度等)を、記録制御方式の違いとしてハイブリッド記録装置に反映させることができないという問題があった。
【0007】
本発明は、適正化情報に応じて、記録用磁気ディスクに記録されているデータの記録領域を不揮発性半導体メモリにも備えるハイブリッド記録装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は上記課題を解決するために以下のように構成する。
本発明のハイブリッド記録装置の態様の一つは、不揮発性半導体メモリ及び記録用磁気ディスクを備えたハイブリッド記録装置であって、上記記録用磁気ディスク内の第一記録領域と上記不揮発性半導体メモリ内の第二記録領域とをマッピングするマッピング手段と、上記第一記録領域へのアクセス命令があると上記マッピング手段がマッピングしている
上記第二記録領域にアクセスする制御を行う制御手段と、を備えるように構成する。
【0009】
なお、上記マッピング手段は、上記第一記録領域と上記第二記録領域とを、冗長化領域又は高速化領域の内の何れか一方を示す属性を付けてマッピングし、上記制御手段は、上記第一記録領域へのアクセス命令として、書き込み命令を受信したときに、上記第一記録領域に上記冗長化領域を示す属性が付けられている場合は上記第一記録領域及び上記第二記録領域に共通のデータを書き込む制御を行い、上記第一記録領域に上記高速化領域を示す属性が付けられている場合は上記第二記録領域に最新のデータを書き込む制御を行い且つ所定状況下においてのみ上記第二記録領域の最新のデータを上記第一記録領域に書き込む制御を行う、ように構成することが好ましい。
【0010】
また、上記マッピング手段は、ホストから指定されるブロックを単位に、上記記録用磁気ディスク内の上記ブロックに対応する記録領域と不揮発性半導体メモリ内の記録領域の一部とを上記第一記録領域及び上記第二記録領域として対応付け且つ上記第一記録領域及び上記第二記録領域のペアごとに上記属性を対応付けするマッピングテーブルを備える、ように構成することが好ましい。
【0011】
また、上記制御手段は、上記冗長化領域の属性を付けてマッピングされている上記第一記録領域及び上記第二記録領域の内の何れか一方のデータが破損している場合に、該破損しているデータを他方の正常なデータから復元する制御を行う、ように構成しても良い。
【0012】
本発明のハイブリッド記録装置のその他の態様の一つは、ホストから送信されるリード命令及びライト命令をアクセス命令として、特定の命令を登録命令として受信する、且つ上記アクセス命令を受信した場合に記録用磁気ディスク内の記録領域にアクセスする記録装置であって、不揮発性半導体メモリと、上記ホストから上記登録命令を受信すると上記ホストからの受信ブロックに対応する上記記録用磁気ディスク内の第一記録領域を上記不揮発性半導体メモリ内に割り当てて二重化するマッピング手段と、上記ホストから上記第一記録領域へのアクセス命令を受信すると上記マッピング手段が上記不揮発性半導体メモリ内に割り当てた記録領域にアクセスする制御を行う制御手段と、を備えるように構成する。
【0013】
このように、本発明のハイブリッド記録装置は、上記記録用磁気ディスク内の第一記録領域と上記不揮発性半導体メモリ内の第二記録領域とをマッピングするマッピング手段と、上記第一記録領域へのアクセス命令があると上記マッピング手段がマッピングしている上記第二記録領域にアクセスする制御を行う制御手段とを備える。したがって、このマッピング手段に適正化情報に準じてデータを登録した際は、記録用磁気ディスク内の該当するデータは不揮発性半導体メモリ内にも記録領域が設けられ、データを2重化してもつことが可能になる。
【発明の効果】
【0014】
本発明により、適正化情報に応じて、記録用磁気ディスクに記録されているデータの記録領域を不揮発性半導体メモリにも設けることが可能となり、記録用磁気ディスクと不揮発性半導体メモリとにデータを2重化することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。
図1は、本発明の実施の形態によるハイブリッド記録装置の論理構成図である。
【0016】
同図のハイブリッド記録装置1は、記録媒体として記録用磁気ディスク10及び不揮発
性半導体メモリ11、これらの記録媒体に選択的にデータを読み書きさせるための手段としてマッピング手段12及び制御手段13を備えている。
【0017】
記録用磁気ディスク10の記録領域は通常記録領域100と第一記録領域102とに分類されている。通常記録領域100は従来のアクセス方式でアクセスされる記録領域、第一記録領域102は通常記録領域100の内の、不揮発性半導体メモリ11の記録領域(図中の第二記録領域110)とマッピング手段12によりマッピングされている記録領域を表している。
【0018】
マッピング手段12は、記録用磁気ディスク10内の通常記録領域100を、実線で示すように、記録されているデータに応じて第一記録領域102として不揮発性半導体メモリ11内の第二記録領域110にマッピングする手段である。マッピングするデータの選定は、例えばホストコンピュータ等の外部装置がもつ重要度やアクセス頻度を示す情報(本明細書ではこれらを「適正化情報」と総称している)に準じて行う。
【0019】
制御手段13は、通常記録領域100へのアクセス命令L1(例えばリード命令又はライト命令等)を受信し、そのアクセス先がマッピング手段12がマッピングする第一記録領域102であった場合に、破線L2が示す経路の替わりに実線L3が示す経路即ち第二記録領域110へアクセスする制御を行う手段である。なお、アクセス先が第一記録領域102以外の通常記録領域100である場合は、従来どおりに通常記録領域100へアクセスする。
【0020】
従って、このようなハイブリッド記録装置1においては、ハイブリッド記録装置1側で必要なデータを2重化してもたせること即ち記録用磁気ディスク10及び不揮発性半導体メモリ11のそれぞれに相互対応する記録領域を確保してそれぞれに同じデータ又は更新日時の異なる同系統のデータを記録することが可能になる。
【0021】
(実施例)
次に、図1のハイブリッド記録装置1の実施例を示す。
図2は、本実施例による着脱式のハイブリッド記録装置においてのシステム構成を示した図である。
【0022】
ハイブリッド記録装置2は、データの記録媒体として記録用磁気ディスク20を備えている。
この記録用磁気ディスク20は、中心から外径方向に所定間隔で並ぶトラックの周回上にデータの記録領域を設けた回転円板体のディスクである。この記録領域の所定アドレスへのアクセスは、不図示のロータアームを回転させることによりロータアームの先端の磁気ヘッドを所定トラック上に移動し(シーク)、ディスクの回転により磁気ヘッドがトラック上の所定アドレスのデータ領域を走査する、という機械的な動作の下に行われる。
【0023】
また、ハイブリッド記録装置2は、各部の制御を司るコントローラ21、主に作業領域として使用する揮発性半導体メモリ22、及び上記記録媒体として上記記録用磁気ディスク20とは別に不揮発性半導体メモリ(現在はフラッシュメモリが主に使用されているため、以下ではフラッシュメモリとする)23を、互いに不図示のバスを介して接続した状態で備えている。
【0024】
ホストコンピュータ3は、各階層レベル(例えばドライバレベルやアプリケーションレベル等)でデータを所定の意味をもつ塊(データブロック)として認識して取り扱い、そのデータブロックごとにデータの重要度やコントローラ21に対してのアクセス頻度を管理するものである。コントローラ21に対して所定の動作を行わせるコマンド(リード命
令やライト命令等)又は未登録の複数のコマンド(登録命令や復元命令等)を備えている。ここでは、未登録のコマンドを「登録命令」と「復元命令」に割り当てている。
【0025】
コントローラ21は、ハイブリッド記録装置2をホストコンピュータ3に接続すると、バス4を介してホスト3との間で通信処理を行う。そして、ホストから命令(例えば従来からのライト命令やリード命令、または、新たに相互認識させた登録命令や復元処理命令等)を受けると命令に応じて、各部を制御して後述する受信データの記録処理、記録されているデータの取得処理、または記録されているデータの復元処理等を行う。各処理は、例えば上記の各命令をトリガにして内蔵のコンピュータで所定のプログラムを実行する等により行われる。
【0026】
揮発性半導体メモリ22は、コントローラ21がデータの作業領域として利用するための一時記憶領域として設けている。本実施例では記録用磁気ディスク20内に記録されている所定のデータをフラッシュメモリ23内にももたせて2重化させるようにするため、ここでは特に、相互の記録領域をマッピングするための対応表(マッピングテーブル220)を一時的に保管する。
【0027】
フラッシュメモリ23は、電源を切った後でも電気的にデータを保持することが可能であると共に、指定したアドレスへのデータの書き込みやそのアドレスからのデータの読み出しが全て電気信号処理にて行えるため高速のアクセスが可能である。ここでは、上述の記録用磁気ディスク20内に記録されている所定のデータを2重化させるための記録領域として設けている。なお、本実施例では、電源OFFする際のマッピングテーブル220を保存する記録領域が確保されているものとし、電源OFF時には揮発性半導体メモリ22にあるマッピングテーブル220がその記録領域に退避され、電源ON時にはその記録領域から電源OFF時のマッピングテーブル220が再び読み出されて揮発性半導体メモリ22上に再び配置されるようになっている。
【0028】
図3は、上記マッピングテーブル220の構成例である。
図3の例では、「データブロック番号(ブロック番号)」、「領域属性」、「磁気番地」、及び「メモリ番地」の4項目によりマッピングテーブル220が構成されている。
【0029】
「領域属性」は、ホスト3との間で相互認識させた後述の登録コマンドを通じてコントローラ21に認識させた受信データブロックの属性情報を示す項目である。ここでは領域属性として「冗長化領域」、「高速化領域」、及び「通常」の3種類を示している。「冗長化領域」は例えば重要度の高いデータブロック等のように冗長化が必要なデータブロックに対して指定される。「高速化領域」は例えばアクセス頻度の高いデータブロック等のような高速化が必要なデータブロックに対して指定される。そして、「通常」は上記のどちらにも該当しないデータブロック即ち従来のアクセス方式でアクセスが行われるデータブロックが指定される。
【0030】
「磁気番地」及び「メモリ番地」は、記録用磁気ディスク20内の上記データブロックが記録されている記録領域のアドレス及びフラッシュメモリ23内の上記データブロックが記録されている記録領域のアドレスである。
【0031】
この例では、ブロック番号「1」のデータブロックは、記録用磁気ディスク20の記録領域「a」に記録するものであること又は記録されているものであることを示している。また、このデータブロックは「高速化領域」であるものとしてホストから指示されていることを示している。そして、このデータブロックの記録を2重化するための記録領域としてフラッシュメモリ23内に記録領域「A」が割り当てられていることを示している。マッピングテーブルにおいてこのような対応付けがなされることで、その後の処理では、図2に示すように記録用磁気ディスク20内の記録領域「a」とフラッシュメモリ23内の記録領域「A」とが実際に対応付けされ、データが高速化領域として2重化される。同様に、ブロック番号「2」のデータブロックは、記録用磁気ディスク20の記録領域「b」に記録するものであること又は記録されているものであることを示している。また、このデータブロックは「冗長化領域」であるものとしてホストから指示されていることを示している。そして、このデータブロックの記録を2重化するための記録領域としてフラッシュメモリ23内の記録領域「B」が割り当てられていることを示している。マッピングテーブルにおいてこのような対応付けがなされることで、その後の処理では、図2に示すように記録用磁気ディスク20内の記録領域「b」とフラッシュメモリ23内の記録領域「B」とが実際に対応付けされ、データが冗長化領域として2重化される。一方、「通常」に設定されているブロック番号「3」及び「4」のデータブロックの記録領域については、図2に「c」及び「d」として示すように各記録領域は記録用磁気ディスク20内のみに存在し、フラッシュメモリ23内に2重化させた記録領域は存在しない。
【0032】
このように、本実施例においては、ホストから「高速化領域」又は「冗長化領域」という指定があったデータブロックに対してのみ、そのデータブロックの記録用磁気ディスク20内の記録領域が上述した第一記録領域として作用し、フラッシュメモリ23内に第一記録領域に対応する記録領域即ち上述した第二記録領域が割り当てられる。
【0033】
図4は、領域属性に応じた処理の違いの一例を示したものである。
ここでは、「高速化領域」及び「冗長化領域」について、それぞれの、読み出し処理、書き込み処理、及び復元処理の異なる点を表にまとめている。
【0034】
一番目の読み出し処理においては、読み出すデータブロックの領域属性が「高速化領域」及び「冗長化領域」の何れでも、共に、不揮発性半導体メモリ(フラッシュメモリ)からデータを読み出す、ということを示している。領域属性が「通常領域」では記録用磁気ディスクからデータを読み出すので、この点で領域属性に応じて処理が異なる。
【0035】
二番目の書き込み処理においては、書き込むデータブロックの領域属性が「高速化領域」の場合は、ライト命令の受信時に一方の記録媒体のみ(特に不揮発性半導体メモリ)にデータを書き込み、その後、非同期に他方の記録媒体(不揮発性半導体メモリ又は記録用磁気ディスク)にそのデータをコピーし(ライトバック)、一方、書き込むデータブロックの領域属性が「冗長化領域」の場合は、ライト命令の受信時に両方の記録媒体(不揮発性半導体メモリ及び記録用磁気ディスク)に同期してデータを書き込む(ライトスルー)、という領域属性に応じた処理の違いを示している。また、領域属性が「通常領域」では記録用磁気ディスクに直接データを書き込むだけであるから、この点でも領域属性に応じて処理は異なる。
【0036】
三番目の復元処理においては、2重化されているデータブロックの何れか片方が壊れている(例えば記録領域が物理的に壊れていて読み出せない)ことを前提とした場合は、データブロックの領域属性が「高速化領域」及び「冗長化領域」の何れであっても、壊れているデータブロックを他方の正常なデータブロックに合わせて復元する、ということを示している。なお、領域属性が「通常領域」では記録用磁気ディスクのみにデータが存在するため、データの復元は不可能であり、処理の違いは明らかである。これに類似するものとして、2重化されているデータブロックの双方が壊れていることを前提とした場合は、その領域属性が「高速化領域」及び「冗長化領域」のどちらであっても修復は不可能である。
【0037】
三番目の復元処理においては、2重化されているデータブロックの双方が一致しないこと(例えばビット反転が生じている等)を前提とした場合は、そのデータブロックの領域
属性が「高速化領域」では双方のデータを記録用磁気ディスクのデータに統一し、「冗長化領域」では誤り訂正符号で誤り率の低いデータに統一する、という領域属性に応じた処理の違いを示している。
【0038】
次に、本実施例における、ホストコンピュータ3及びハイブリッド記録装置2の動作フローについて説明する。
図5は、ホストコンピュータ3からハイブリッド記録装置2に対してデータブロックの領域属性を登録させる際の装置間の通信シーケンス図である。
【0039】
但し、ここでは、後述する登録コマンドの生成をハイブリッド記録装置1のドライバで行うものとしている。
先ずホストコンピュータ3(OS)において、ハイブリッド記録装置1との間で送受信するデータブロックの領域属性の選定を行い(後述する配置ポリシーの選定処理)、そのデータブロックの領域属性情報をつけて登録指示信号をドライバに出力する(S1)。
【0040】
ドライバでは、ホストコンピュータ3(OS)から登録指示信号を受信し、所定の領域属性の情報(ここでは冗長化領域又は高速化領域を示す情報)を受け取ると登録コマンドを発行し、当該データブロックの該当記録領域と上記領域属性を示す情報とを含めた登録命令をコントローラへ出力する(S2)。上記の該当記録領域とは、例えば、ホストから登録指示信号に含めて送信されたブロック番号から、ドライバで管理されるブロック番号と記録領域の対応表に基づいて生成した、上記データブロックの記録用磁気ディスク内の記録領域を示す情報である。
【0041】
コントローラでは、ドライバから登録命令を受信すると、ドライバに対してコマンドを返して応答する(S3)。例えばコントローラで後述する登録処理が正常に行われれば登録完了のコマンドをドライバに返し、エラーがあればドライバにエラーコマンドを返す。
【0042】
ドライバでは、コントローラから受信エラーの応答を受けた場合や一定時間応答がない場合等には登録命令をコントローラに再出力する。そして、登録完了のコマンドを受信した場合やエラーコマンドを受信した場合には登録完了通知をホストコンピュータに返す(S4)。
【0043】
図6は、図5のステップS1においての、データブロックの配置ポリシーを選定する処理のフローチャートである。
ホストコンピュータ3では、ハイブリッド記録装置2を対象に送受信するデータ(データブロック単位のデータ)ごとに、データの重要度及びコントローラ21に対するアクセス頻度をポリシーテーブルで管理している。本実施例では、ホストコンピュータ3は上記ポリシーテーブルを参照してデータブロックの配置ポリシーを選定する。
【0044】
先ず、データの重要度の高いデータブロックがあるか(高信頼化が必要か)否かをポリシーテーブルから判定し(S10)、高信頼化が必要なデータブロックである場合においてそれらのブロック番号を「冗長化領域」に属するものとして選定する(S11)。
【0045】
次いで、アクセス頻度の高いデータブロックがあるか(高速化が必要か)否かをポリシーテーブルから判定し(S12)、高速化が必要なデータブロックである場合においてそれらのブロック番号を「高速化領域」に属するものとして選定する(S13)。
【0046】
そして、上記の何れにも該当しないデータブロックについては、それぞれ、ホストで設定されている通りに選定は行われるが、本実施例ではそれらはハイブリッド記録装置1側で認識しないので、これまで通りの「通常領域」に属するもののように区別して取り扱わ
れることとなる(S14)。
【0047】
図7は、図5のステップS2においてドライバで生成される登録命令の構成図である。
図7に示すように、本例の登録命令は、登録コマンド、領域属性を示す情報、及びデータブロックの記録用磁気ディスク内の記録領域を示す情報を含めたものにより構成される。繰り返しになるが、データブロックの記録用磁気ディスク内の記録領域を示す情報は、ホストから登録指示信号に含めて送信されたブロック番号から、ドライバで管理されるブロック番号と記録領域の対応表に基づいて生成されたものである。
【0048】
図8は、コントローラにおける登録処理のフローチャートである。
ここでは、上記登録命令をドライバから受け取った後の処理を示している。
先ず、登録命令に含まれている記録領域を示す情報を基にマッピングテーブルの「磁気番地」を検索し、該当するレコードの「領域属性」の情報を確認する(S30)。
【0049】
ここで、「領域属性」に「通常領域(ここでは冗長化領域及び高速化領域以外)」が設定されているならば、フラッシュメモリ内に2重化のための記録領域が確保されていないことを示しているので、フラッシュメモリ内に該当する記録領域分の空きがあるかどうかを調べる(S31)。
【0050】
次いで、フラッシュメモリ内に該当する記録領域分の空きがある場合は、その空き領域を確保し(S32)、記録用磁気ディスク内の記録領域のデータを上記空き領域にコピーする(S33)。
【0051】
そして、マッピングテーブルの「領域属性」の情報(通常領域)を、登録命令に含まれている領域属性を示す情報(高速化領域又は冗長化領域)に変更し、更に「メモリ番地」に上記コピー領域のメモリ番地を設定することにより、登録命令の内容をマッピングテーブルに反映する(S34)。
【0052】
なお、ステップS30において「領域属性」に「通常領域」が設定されていないことが確認されたならば、これは即ち「冗長化領域」又は「高速化領域」が既に設定されていることを意味するので、フラッシュメモリ内に2重化のための記録領域を新たに確保する必要がない。従って、この場合は、ステップS34にジャンプして、マッピングテーブルの「領域属性」の情報を、登録命令に含まれている領域属性を示す情報に変更することにより、登録命令の内容をマッピングテーブルに反映する。
【0053】
また、ステップS31においてフラッシュメモリ内に該当する記録領域分の空きがないことが確認された場合はステップS35のエラー処理にジャンプして、例えばドライバに対してエラーコマンドを返す。
【0054】
図9は、コントローラにおける書き込み処理のフローチャートである。
ホスト3側からドライバを介してライト命令を受信すると、先ず、ライト命令を受けたデータブロックの記録用磁気ディスク内の記録領域を示す情報に基づいてマッピングテーブルの「磁気番地」を検索して、ヒットしたレコードの「領域属性」が「通常領域」であるか否かを確認する(S40)。ここで、「領域属性」が「通常領域」であることが確認されると、記録用磁気ディスク内の上記記録領域にデータを書き込む処理即ち従来の書き込み処理をし(S41)、それからホスト3側へ登録完了通知を返す処理を行う(S42)。
【0055】
一方、ステップS40において「領域属性」が「通常領域」でないことが確認されると、更に「領域属性」が「高速化領域」であるか否かを確認する(S43)。ここで、「領域属性」が「高速化領域」でないことが確認されると、「領域属性」は残る一方の「冗長化領
域」であるので、上記ヒットしたレコードの「磁気番号」及び「メモリ番号」の情報に基づき、フラッシュメモリ及び記録用磁気ディスクの該当する記録領域にデータを書き込む処理(ライトスルー)をし(S44)、それからホスト3側へ登録完了通知を返す処理を行う(S45)。
【0056】
一方、ステップS43において「領域属性」は「高速化領域」であることが確認されると、先ず、上記ヒットしたレコードの「メモリ番号」の情報に基づきフラッシュメモリの該当する記録領域にデータを書き込む処理をし(S46)、次いでホスト3側へ登録完了通知を返す処理を行う(S47)。そして、その後、所定の状況下になったときにフラッシュメモリの最新データを記録用磁気ディスクに反映する処理(ライトバック)を行う(S48)。「所定の状況下」とは、例えばハイブリッド記録装置2の電源接続時、電源切断前、外部からのデータの読み出しや書き込みが無いとき、或いはホストから更新のコマンドを受信したときなど、である。
【0057】
なお、上記ライトバック処理では、マッピングテーブルの「磁気番地」と「メモリ番地」との対応関係に基づいて、フラッシュメモリ内の所定の記録領域の情報で記録用磁気ディスク内の該当する記録領域の情報を更新するように処理が行われる。この更新は、マッピングテーブルで管理している全ての「メモリ番地」を対象に一括して行うようにしても良いし、或いは、未更新の「メモリ番地」をマッピングテーブルで管理できるようにして、ライトバック処理時に未更新の情報のみ更新を行うようにしても良い。
【0058】
特に図示されていないが、コントローラにおける読み出し処理は次の如くに行う。即ち、ホスト3側からドライバを介してリード命令を受信すると、マッピングテーブルを参照し、リード命令により指定されたデータブロックが記録されている磁気番地に対応する領域属性に応じて図4に示すごとくに何れか一方の記録媒体のデータにアクセスする。例えば領域属性が高速化領域又は冗長化領域であればフラッシュメモリに高速アクセスし、それ以外では従来どおりに記録用磁気ディスクのみへのアクセス(HDDアクセス)をする。
【0059】
図10は、コントローラにおける復元処理のフローチャートである。
このフローは、図4にまとめた復元処理における処理の違いの一例を示すものである。
ここでは、ホスト側から読み出すことができなかったブロック番号即ち物理破損が生じている記録領域に記録されているデータブロックのブロック番号又は読み出したデータに誤り訂正符号処理を施した結果が所定値よりも悪いブロックデータのブロック番号をまとめて「故障ブロック」と称し、コントローラにおいての故障ブロックに対する復元処理を説明する。
【0060】
先ず、マッピングテーブルから故障ブロックに該当するレコードを検索し、「メモリ番地」の登録の有無を確認する(S50)。ここで、「メモリ番地」が未登録であることが確認されると、これは即ち記録用磁気ディスクのみにデータが存在し、故障ブロックのデータは物理的に壊れ復元不可能な状態にあることを意味するため、従来のHDDエラー処理を行う(S51)。
【0061】
一方、ステップS50において「メモリ番地」に登録データがあることが確認されると、続いてそれに対応する「領域属性」が「高速化領域」であるか否かを確認する(S52)。ここで、「領域属性」が「高速化領域」でないことが確認されると、これは即ち「領域属性」が「冗長化領域」であることを示しているので、残りの一方のデータ(つまり「メモリ番地」に指定されているデータが故障ブロックに対応するので、ここでは「磁気番地」に指定されているデータ)の取得処理を行う。このとき、故障ブロックのデータを含め、少なくとも一方のデータを取得することができたか否かを判定し(S53)、両方とも取得することができなかった場合は従来のHDDエラー処理を行う(S51)。
【0062】
一方、ステップS53において少なくとも何れか一方を取得することができた場合は、続いて双方のデータを取得することができたか否かを判定し(S54)、一方のデータのみならばそのデータを他方の記録媒体にコピーする処理を行う(S55)。このステップS54において双方のデータを取得したならば、双方のデータに誤り訂正符号処理を施し、該双方のデータを誤り率の低いデータに統一させる処理即ち誤り率の低いデータを他方の記録媒体にコピーする処理を行う。(S56)。
【0063】
また、ステップS52において、「領域属性」が「高速化領域」であることが確認されると、先ず、フラッシュメモリのデータが取得可能であるか否かを確認し(S57)、取得可能であるならば他方の記録媒体のデータが壊れている可能性もあるので、フラッシュメモリのデータを採用し、これを他方の記録媒体にコピーする(S58)。
【0064】
一方、ステップS57においてフラッシュメモリのデータが取得不可能であることが確認されると、「磁気番地」に指定されている記録用磁気ディスクのデータの取得処理をし(S59)、データが取得できない場合は従来のHDDエラー処理を行う(S51)。データが取得できた場合は、このデータを採用し、これを他方のフラッシュメモリにコピーする。
【0065】
なお、記録領域が物理的に破損しているような場合のコピーは、記録媒体の空きスペースに新たにコピー用の記録領域を割り当て、データをコピーし、マッピングテーブルの「磁気番地」又は「メモリ番地」をそのコピー用の記録領域に更新するようにして行う。
【0066】
本実施例のハイブリッド記録装置では、フラッシュメモリ内の記録領域を高速化が必要なデータのための領域、冗長化が必要なデータのための領域などのように、ホストから用途別に割り当てることができる。
【0067】
また、ホストから従来のコマンドを受信してもデータの適正化情報に応じたアクセス制御(高速アクセス処理や冗長化処理など)をハイブリッド記録装置内で自動的に行うことが可能となる。
【0068】
これは例えばHDDが起動ディスクに使用されている場合OSの起動時間を早めることにも繋がる。OSでは起動時、電力が供給され媒体を回転させる機械動作(スピンアップ)に時間かかるが、この起動時に必要なファイルを記録用磁気ディスクだけでなく不揮発性半導体メモリにマッピングして置いておくことで、スピンアップを待たずに高速アクセスが可能となり、OSの立ち上げ時間が短縮されるようになる。
【0069】
以上のように、本実施例のハイブリッド記録装置は、外部装置がもつ各データごとの適正化情報を、記録制御方式の違いとしてハイブリッド記録装置に反映させることが可能になる。
【0070】
(付記1)
不揮発性半導体メモリ及び記録用磁気ディスクを備えたハイブリッド記録装置であって、
上記記録用磁気ディスク内の第一記録領域と上記不揮発性半導体メモリ内の第二記録領域とをマッピングするマッピング手段と、
上記第一記録領域へのアクセス命令があると上記マッピング手段がマッピングしている上記第二記録領域にアクセスする制御を行う制御手段と、
を備えることを特徴とするハイブリッド記録装置。
(付記2)
上記マッピング手段は、上記第一記録領域と上記第二記録領域とを、冗長化領域又は高速化領域の内の何れか一方を示す属性を付けてマッピングし、
上記制御手段は、上記第一記録領域へのアクセス命令として、書き込み命令を受信したときに、
上記第一記録領域に上記冗長化領域を示す属性が付けられている場合は上記第一記録領域及び上記第二記録領域に共通のデータを書き込む制御を行い、
上記第一記録領域に上記高速化領域を示す属性が付けられている場合は上記第二記録領域に最新のデータを書き込む制御を行い且つ所定状況下においてのみ上記第二記録領域の最新のデータを上記第一記録領域に書き込む制御を行う、
ことを特徴とする付記1に記載のハイブリッド記録装置。
(付記3)
上記マッピング手段は、ホストから指定されるブロックを単位に、上記記録用磁気ディスク内の上記ブロックに対応する記録領域と不揮発性半導体メモリ内の記録領域の一部とを上記第一記録領域及び上記第二記録領域として対応付け且つ上記第一記録領域及び上記第二記録領域のペアごとに上記属性を対応付けするマッピングテーブルを備える、
ことを特徴とする付記2に記載のハイブリッド記録装置。
(付記4)
上記制御手段は、
上記冗長化領域の属性を付けてマッピングされている上記第一記録領域及び上記第二記録領域の内の何れか一方のデータが破損している場合に、該破損しているデータを他方の正常なデータから復元する制御を行う、
ことを特徴とする付記2又は付記3に記載のハイブリッド記録装置。
(付記5)
上記制御手段は、
上記冗長化領域の属性を付けてマッピングされている上記第一記録領域及び上記第二記録領域の双方のデータが整合しない場合に、該双方のデータに誤り訂正符号処理を施し、該双方のデータを誤り率の低いデータに統一させる制御を行う、
ことを特徴とする付記2乃至付記4の内の何れか1項に記載のハイブリッド記録装置。(付記6)
上記制御手段は、
上記高速化領域の属性を付けてマッピングされている上記第一記録領域及び上記第二記録領域の内の何れか一方のデータが破損している場合に、該破損しているデータを他方の正常なデータから復元する制御を行う、
ことを特徴とする付記 に記載のハイブリッド記録装置。
(付記7)
ホストから送信されるリード命令及びライト命令をアクセス命令として、特定の命令を登録命令として受信する、且つ上記アクセス命令を受信した場合に記録用磁気ディスク内の記録領域にアクセスする記録装置であって、
不揮発性半導体メモリと、
上記ホストから上記登録命令を受信すると上記ホストからの受信ブロックに対応する上記記録用磁気ディスク内の第一記録領域を上記不揮発性半導体メモリ内に割り当てて二重化するマッピング手段と、
上記ホストから上記第一記録領域へのアクセス命令を受信すると上記マッピング手段が上記不揮発性半導体メモリ内に割り当てた記録領域にアクセスする制御を行う制御手段と、
を備えることを特徴とするハイブリッド記録装置。
(付記8)
上記マッピング手段は、上記ホストから上記登録命令として冗長化を示す登録命令を受信すると、上記ホストからの受信ブロックに対応する上記記録用磁気ディスク内の第一記録領域を上記不揮発性半導体メモリ内に冗長化領域として割り当てて二重化し、且つ、上記ホストから上記登録命令として高速化を示す登録命令を受信すると、上記ホストからの受信ブロックに対応する上記記録用磁気ディスク内の第一記録領域を上記不揮発性半導体
メモリ内に高速化領域として割り当てて二重化し、
上記制御手段は、上記第一記録領域へのアクセス命令として書き込み命令を受信したときに、
上記不揮発性半導体メモリ内に上記第一記録領域の冗長化領域が割り当てられている場合は上記第一記録領域及び上記第二記録領域に共通のデータを書き込む制御を行い、上記不揮発性半導体メモリ内に上記第一記録領域の高速化領域が割り当てられている場合は上記第二記録領域に最新のデータを書き込む制御を行い且つ所定状況下においてのみ上記第二記録領域の最新のデータを上記第一記録領域に書き込む制御を行う、
ことを特徴とする付記7に記載のハイブリッド記録装置。
(付記9)
上記冗長化領域又は上記高速化領域に設定されたデータは不揮発性半導体メモリから読み出しを行う、
ことを特徴とする付記2に記載のハイブリッド記録装置。
【図面の簡単な説明】
【0071】
【図1】本発明の実施の形態によるハイブリッド記録装置の論理構成図である。
【図2】本実施例による着脱式のハイブリッド記録装置においてのシステム構成を示した図である。
【図3】マッピングテーブル220の構成例である。
【図4】領域属性に応じた処理の違いの一例を示したものである。
【図5】ホストコンピュータ3からハイブリッド記録装置2に対してデータブロックの領域属性を登録させる際の装置間の通信シーケンス図である。
【図6】図5のステップS1においての、データブロックの配置ポリシーを選定する処理のフローチャートである。
【図7】図5のステップS2においてドライバで生成される登録命令の構成図である。
【図8】コントローラにおける登録処理のフローチャートである。
【図9】コントローラにおける書き込み処理のフローチャートである。
【図10】コントローラにおける復元処理のフローチャートである。
【符号の説明】
【0072】
1 ハイブリッド記録装置
10 記録用磁気ディスク
11 不揮発性半導体メモリ
12 マッピング手段
13 制御手段
100 通常記録領域
102 第一記録領域
110 第二記録領域
L1、アクセス命令
L2、L3 アクセス経路

【特許請求の範囲】
【請求項1】
不揮発性半導体メモリ及び記録用磁気ディスクを備えたハイブリッド記録装置であって、
前記記録用磁気ディスク内の第一記録領域と前記不揮発性半導体メモリ内の第二記録領域とをマッピングするマッピング手段と、
前記第一記録領域へのアクセス命令があると前記マッピング手段がマッピングしている前記第二記録領域にアクセスする制御を行う制御手段と、
を備えることを特徴とするハイブリッド記録装置。
【請求項2】
前記マッピング手段は、前記第一記録領域と前記第二記録領域とを、冗長化領域又は高速化領域の内の何れか一方を示す属性を付けてマッピングし、
前記制御手段は、前記第一記録領域へのアクセス命令として、書き込み命令を受信したときに、
前記第一記録領域に前記冗長化領域を示す属性が付けられている場合は前記第一記録領域及び前記第二記録領域に共通のデータを書き込む制御を行い、
前記第一記録領域に前記高速化領域を示す属性が付けられている場合は前記第二記録領域に最新のデータを書き込む制御を行い且つ所定状況下においてのみ前記第二記録領域の最新のデータを前記第一記録領域に書き込む制御を行う、
ことを特徴とする請求項1に記載のハイブリッド記録装置。
【請求項3】
前記マッピング手段は、ホストから指定されるブロックを単位に、前記記録用磁気ディスク内の前記ブロックに対応する記録領域と不揮発性半導体メモリ内の記録領域の一部とを前記第一記録領域及び前記第二記録領域として対応付け且つ前記第一記録領域及び前記第二記録領域のペアごとに前記属性を対応付けするマッピングテーブルを備える、
ことを特徴とする請求項2に記載のハイブリッド記録装置。
【請求項4】
前記制御手段は、
前記冗長化領域の属性を付けてマッピングされている前記第一記録領域及び前記第二記録領域の内の何れか一方のデータが破損している場合に、該破損しているデータを他方の正常なデータから復元する制御を行う、
ことを特徴とする請求項2又は請求項3に記載のハイブリッド記録装置。
【請求項5】
ホストから送信されるリード命令及びライト命令をアクセス命令として、特定の命令を登録命令として受信する、且つ前記アクセス命令を受信した場合に記録用磁気ディスク内の記録領域にアクセスする記録装置であって、
不揮発性半導体メモリと、
前記ホストから前記登録命令を受信すると前記ホストからの受信ブロックに対応する前記記録用磁気ディスク内の第一記録領域を前記不揮発性半導体メモリ内に割り当てて二重化するマッピング手段と、
前記ホストから前記第一記録領域へのアクセス命令を受信すると前記マッピング手段が前記不揮発性半導体メモリ内に割り当てた記録領域にアクセスする制御を行う制御手段と、
を備えることを特徴とするハイブリッド記録装置。

【図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


【公開番号】特開2009−237939(P2009−237939A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2008−83705(P2008−83705)
【出願日】平成20年3月27日(2008.3.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】