JP2006338731A - データ書き込み方法 - Google Patents

データ書き込み方法 Download PDF

Info

Publication number
JP2006338731A
JP2006338731A JP2005159742A JP2005159742A JP2006338731A JP 2006338731 A JP2006338731 A JP 2006338731A JP 2005159742 A JP2005159742 A JP 2005159742A JP 2005159742 A JP2005159742 A JP 2005159742A JP 2006338731 A JP2006338731 A JP 2006338731A
Authority
JP
Japan
Prior art keywords
data
area
storage medium
writing
logical block
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
JP2005159742A
Other languages
English (en)
Inventor
Tetsuya Kamimura
上村  哲也
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Priority to JP2005159742A priority Critical patent/JP2006338731A/ja
Publication of JP2006338731A publication Critical patent/JP2006338731A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】トラックの書き込みマージンの一方を削除したり、隣接トラックを部分的に重ね書きしてトラック密度を上げた場合、トラックの書き換え中に停電やホストの暴走などの障碍が発生して書き込み処理が中断しても、複数トラックのデータが破壊されないようにする。
【解決手段】書き込み済みの論理ブロックアドレスのデータを更新する場合であっても、ステップ805で新規領域を選択してデータを書き込み、データの書き込みに成功した場合にはステップ821で旧領域を無効にして、ステップ822で新領域を有効にし、書き込みに失敗した場合にはステップ811で新領域を無効にする。
【選択図】図8

Description

本発明は、ディスク装置へのデータ書き込み方法に関する。
ディスク装置の記録密度向上のための一つの方策として、トラック幅の短縮とトラック密度の向上がある。これらを達成するための一つの手段がディスク装置の書き込みヘッドと読み出しヘッドの微細化である。ヘッドの微細化により、トラックをより細い幅で書き込み可能になり、トラック幅の短縮によりトラック密度が向上する。書き込みヘッドと読み出しヘッドはアームに固定され、アームはボイスコイルモータにより駆動される。ボイスコイルモータを用いてアームを動かす構造によりアームの移動には誤差が伴うため、トラックの書き込み時に書き込み対象トラックの両側にあるトラックに書き込みヘッドがはみ出してデータを破壊する可能性がある。このようなデータ破壊を防止するため、トラック同士の間隔をトラック幅よりも大きくして書き込みマージンを確保している。書き込みマージンは各トラックの両側に一割程度確保してあり、トラック密度の向上を阻害している。ディスク装置ではランダムにセクタに書き込むため各トラックの両側に書き込みマージンが必要になるが、シーケンシャルに書き込むようにすると、書き込みマージンの一方を削除可能になるためその分だけトラック密度を向上可能になる。つまり同一の書き込みヘッド、読み出しヘッド、記憶媒体を使っていても、一割程度ディスク装置の容量を向上することが可能になる。
Rosenblum らが “The Design and Implementation of a Log-Structured File System,” ACM Transaction on Computer Systems, Vol.10, No.1, Feb. 1992, pp26-52 で提案したLog-Structured File System (LFS) では、ファイルの管理情報であるメタ情報とファイルの中身であるコンテンツを全てログのような構造に連続的に記録する。例えば、同一ファイルを上書きする場合には、新しいファイルのデータがログに追加されるだけで古いファイルのデータはそのままログ上に残る。消去されたファイルのデータや上書きされたファイルのデータがそのままログ上に残り、これらの不要になったデータがディスク装置の空き容量を圧迫する。このためLFSでは定期的にクリーナープロセスを実行し、不要な領域を回収して再び使用可能にする。このような領域回収のことをゴミ集め(ガーベージコレクション)とも言う。セクタ単位での領域回収は効率が悪いため、クリーナープロセスではある程度まとまった容量単位で領域回収を行う。ディスク装置にデータを書き込むのにLFSのみを使う場合には、セクタをランダムに書き換えないため、トラックの片側の書き込みマージンを削除してディスク装置の容量を向上できる。
ディスク装置の通常の書き込みでは、トラック同士の間隔を書き込みヘッドの幅よりも狭くできないため、書き込みヘッド幅により最短のトラック間隔が決まる。WO99/45534に記載の「磁気ディスク装置」では、隣接トラックを部分的に重ね書きすることで、トラック幅を短縮するとともにトラック間隔も短縮する。これにより、トラック密度が向上しディスク装置の容量を向上する。
WO99/45534 ACM Transaction on Computer Systems, Vol. 10, No. 1, Feb. 1992, pp26-52
しかしLFSは実装が非常に困難であり、特にゴミ集めの実装が困難であるため、まともに動いているLFSの実装がほとんど存在しない。さらにLFSはホスト側で実装する必要があるため、ディスク装置側で書き込み時のトラックの書き込みマージンの一方を削除してディスク装置の容量を向上しても、ホスト側がLFSに対応していなければそのディスク装置を使用できないという問題がある。しかしLFSのような追記型の書き込み方法を使わずにトラックの書き込みマージンを削除すると、以下に述べるようなデータロストの可能性がある。
トラックの書き込みマージンの一方を削除するということは、トラックを書き込める方向が一方向に限られることを意味する。これはまた、記憶媒体上の領域を複数に分割しておき、それらの領域を一括で書き換える必要があることを意味する。つまりトラックの書き換え中に停電やホストの暴走などの障碍が発生して書き込み処理が中断すると、書き込みマージンが存在しないため次に書き込み予定のトラックのデータを破壊する可能性がある。特にWO99/445534に記載の「磁気ディスク装置」では隣接トラックを部分的に重ね書きする構造上、確実に次に書き込み予定のトラックのデータを破壊する。
WO99/445534に記載の「磁気ディスク装置」では、このようなデータ破壊を防止するため、トラックやセクタ単位で追記することにして論理ブロックアドレス(Logical Block Address, LBA)と物理ブロックアドレス(Physical Block Address, PBA)との対応をアドレス変換表により管理することを提案している。しかし、この方法ではアドレス変換表が巨大になるという問題がある。例えば容量が100GBのディスク装置でセクタ単位にアドレス変換を管理する場合には、セクタ数が200Mあるため、LBAは28bit幅が必要になり、アドレス変換表の一つのエントリは56bitになり、アドレス変換表のサイズが1.4GBになる。このような巨大なアドレス変換表はディスク装置の記憶媒体上に保存することになるため、ディスク装置の容量が低下するばかりでなく、アドレス変換表の検索にも時間がかかるため、ディスク装置の性能も低下するという問題がある。
本発明の第一の目的は、ホストがLFSのような追記型の書き込み方法を用いない場合にトラックの書き込みマージンの削除や隣接トラックの部分的な重ね書きを行っても、障害発生時にデータロストしないデータ書き込み方法を提供することである。
本発明の第二の目的は、巨大なアドレス変換表を必要とせずにトラックの書き込みマージンの削除や隣接トラックの部分的な重ね書きを行っても、障害発生時にデータロストしないデータ書き込み方法を提供することである。
本発明では、ある連続する論理ブロックアドレスの範囲に書き込む場合に、論理ブロックアドレスの値に関係なく記憶媒体上の領域を追記式に割り当て、既存のデータを消さずに新しいデータを割り当てられた領域内に論理ブロックアドレス順に書き込み、同一論理ブロックアドレスの範囲を上書きする場合には、正常に書き込めたのを確認した後に旧データを無効化する。
本発明のデータ書き込み方法では、記憶媒体と、上位装置との間でコマンドやデータの送受信を行い記憶媒体に対して書き込みまたは読み出し制御を行う制御部とを備えるディスク装置において、連続する論理ブロックアドレスの範囲に対してデータを書き込む際に、制御部は、上位装置の指定する論理ブロックアドレスの値と無関係に記憶媒体上にデータ保存用領域を確保するステップ、上位装置が論理ブロックアドレスで指定する順番でデータ保存用の領域の各セクタに対してデータを書き込むステップ、を実行する。
制御部は、また、記憶媒体上のデータ保存用領域の配置と上位装置が指定する連続する論理ブロックアドレスの範囲との対応を対応表に保存するステップを実行する。対応表は、ディスク装置の一時記憶用バッファ及び/又は記憶媒体上に保存する。
また、書き込み済みの論理ブロックアドレスの範囲に対して上書きする際に、制御部は、記憶媒体上の既存のデータ保存済みの領域とは異なる新しいデータ保存用領域を記憶媒体上に確保するステップ、上位装置が論理ブロックアドレスで指定する順番で前記新しいデータ保存用領域の各セクタに対してデータを書き込むステップを実行する。
その後、制御部は、新しいデータ保存用領域に対するデータの書き込みが完了したかを検査するステップ、データ書き込みが完了している場合に、古いデータ保存用領域の配置と連続する論理ブロックアドレスの範囲との対応を対応表から削除するステップ、新しいデータ保存用領域と連続する論理ブロックアドレスの範囲との対応を対応表に保存するステップ、古いデータ保存用領域を開放するステップを実行する。検査の結果、データ書き込みが完了せずにデータ書き込みが終了している場合には、制御部は、新しいデータ保存用領域を開放するステップを実行する。
データ書き込みは、記憶媒体上の連続トラックの各隣接トラック部分が部分的に重ね書きされているような態様で行ってもよい。
制御部は、記憶媒体を複数の領域に分割するステップ、複数に分割した記憶媒体上の領域の一つを選択するステップを実行し、データ保存用領域を確保するステップにおいて、前記選択した領域の中からデータ保存用領域を確保するようにしてもよい。
記憶媒体を複数の領域に分割するステップにおいて、記憶媒体上で取り得る物理ブロックアドレスの範囲をある等しい大きさで分割し、物理ブロックアドレスの小さな領域から大きな領域へとアドレスを割り当ててあり、記憶媒体上の領域の一つを選択するステップにおいて、ディスク装置において取り得る論理ブロックアドレスの範囲を前記物理ブロックアドレスの範囲を分割した数と同数に分割し、論理ブロックアドレスの小さな領域から大きな領域へとアドレスを割り当ててあり、前記連続する論理ブロックアドレスの範囲が所属する前記分割した論理ブロックアドレスの範囲のアドレスと等しい前記物理ブロックアドレスの範囲のアドレスを持つ前記記憶媒体上の領域を選択するようにしてもよい。
制御部は、また、上位装置からの対応表の読み出しコマンドを受信するステップ、読み出しコマンドの応答として対応表を上位装置に送信するステップを実行する。
また、各セクタにフラグ領域を設け、フラグ領域に管理情報を保存するようにすることができる。管理情報は、セクタの論理ブロックアドレスとセクタ書き込みの際のトランザクション情報の一方または両方とすることができる。
本発明によると、旧データを上書きせずに新データを書き込み、新データの書き込みを確認した後に旧データを無効化することで、障害発生時であってもデータロストすることがない。また、データ書き込みの際にある単位ごとにデータを追記式に書き込むが、その単位内ではセクタを論理ブロックアドレス順に書き込むことで、アドレス変換表のサイズを縮小し、検索に要する時間を短縮することができる。
以下、本発明の実施の形態について図面を参照して説明する。なお、同一の参照番号は同一の構成要素を示す。
本発明では、隣接トラックを部分的に重ね書きした複数の連続するトラックからなるバンドにデータを書き込むのに、書き込み済みのLBAへの上書きであっても新規領域にデータを書き込み、データの正常な書き込みを確認した後に既存のデータを無効にするところに特徴がある。
図1は、隣接トラックを部分的に重ね書きする場合のトラック配置の概念図である。
トラック101から105では、書き込みヘッド121で書き込んだトラックを部分的に重ね書きし、書き込みヘッド121よりも幅の狭い読み出しヘッド122で読み出すことで、書き込みヘッド121の幅よりもトラック幅111を狭くしている。図1ではトラック103の書き込み後に、トラック104を書き込んでいる。トラック104の書き込みにより、トラック105が消去される。このため隣接トラックを部分的に重ね書きする場合には、あるトラックに書き込みを開始すると、ある一定範囲のトラックを全て更新する必要がある。このようなトラック群をバンドと呼ぶ。
図2は、複数の連続するトラックからなるバンド構造の概念図である。図2において、201はバンド、202は二つのバンド間でデータ破壊を防止するためのバンドギャップ、である。図2のように、バンドの末尾のトラックのみ幅広にして、バンドギャップ202の領域を作ることで隣のバンドのデータ破壊を防止する。
図3により、本発明による一実施例によるディスク装置上のデータ配置について説明する。
記憶媒体上のデータ構造300は、ディスク装置の記憶媒体は複数の領域に分割されており、各領域にバンドのデータ構造310を書き込む構造になっている。バンドのデータ構造310は、LBA順ではなくバンドの書き込み順などにより書き込まれる。このためLBAからPBAに変換するには、バンドが記憶媒体上のどこに配置したかの情報が必要になる。バンドのデータ構造310は、セクタのデータ構造320をLBA順に書き込んだ構造になっている。バンド内のセクタの配置がLBA順になっていることで、バンドの記憶媒体上の配置の情報だけあればLBAからPBAに変換できるため、対応表で管理する必要のあるデータを削減できる。セクタのデータ構造320はユーザデータ領域321、フラグ領域322、CRC領域323、LBA領域324、ECC領域325とからなる。フラグ領域322には、バンドを記憶媒体上に書き込んだ順番を書き込む。フラグ領域322の書き込み順番とLBA領域324の情報とにより、バンドを記憶媒体上のどこに配置したかの情報を失った場合でもバンドの配置情報を再構築できる。
図4により、本発明による一実施例によるデータ書き込み方法の手順を説明する。図4において、400は初期状態、401は第一のバンド、402は第二のバンド、403は第三のバンド、404は第四のバンド、405は未使用状態のバンド、410はバンド更新中の状態、411は更新中のバンド、420はバンド更新が正常終了した状態、421は無効化したバンド、422は新しい第二のバンド、430はバンド更新が失敗した状態、を表している。
初期状態400では、バンド401から404が書かれている。本発明では、セクタはバンド内でLBA順で書かれるが、バンドは書き込み順で書き込まれるため、バンドの配置は必ずしもLBAの順番で書かれていない。初期状態400ではLBAの10k--14kのセクタを記録したバンド401が記憶媒体の先頭に書かれ、それ以降はLBAの25k--29kのセクタを記録したバンド402、LBAの0k--4kのセクタを記録したバンド403、LBAの55k--59kのセクタを記録したバンド404と続く。410はバンド402を更新する状態である。バンド402を更新する際には、バンド402を記録した領域に直接上書きするのではなく、未使用の領域411に対して書き込む。420はバンドの更新が正常に終了した状態である。バンドの書き込みが終了すると、最初にLBAの25k--29kのセクタを記録したバンド402を421のように無効にし、新たにLBAの25k--29kのセクタを記録したバンド422を有効にする。つまりバンドの配置情報を更新する。430はバンドの更新に失敗した状態である。この場合には新たに書き込みを行っていたバンドを421のように無効にする。この時にはバンドの配置情報を更新しないので、ホストは更新前のバンドにこれまで通りアクセスできる。
図7は、ディスク装置のブロック図である。フラッシュロム701には、ディスク装置の起動に必要なプログラムが格納される。主記憶702は、メモリコントローラ及びマイクロプロセッサ704の制御用プログラムと制御に必要な各種データの格納に使用する。キャッシュメモリ703は、ディスクインタフェース706経由で上位装置のディスクコントローラとの間で送受信するデータのキャッシュに使用する。上位装置との通信に用いる通信プロトコルは、ハードディスクコントローラ及びSCSIプロトコルコントローラ705のSCSIプロトコルコントローラ部分で処理される。SCSIプロトコルコントローラに送られたコマンドは、メモリコントローラ及びマイクロプロセッサ704のマイクロプロセッサ部分により書き込みヘッド及び読み出しヘッドの駆動命令に変換されて、ハードディスクコントローラ及びSCSIプロトコルコントローラ705のハードディスクコントローラ部分に送られる。ハードディスクコントローラは、受信した命令を元にサーボコントローラ707とリードライトチャネル708とを制御し、記憶媒体へのデータの書き込みまたは読み出しを実行する。この時、書き込みであればキャッシュメモリ703に保存されたデータを記憶媒体に書き込み、読み出しであれば記憶媒体に保存されたデータをキャッシュメモリ703に書き込む。
ディスク装置の電源が投入されるとメモリコントローラ及びマイクロプロセッサ704がフラッシュロム701から起動用のプログラムを読み出し、メモリコントローラ部分が主記憶702、キャッシュメモリ703を初期化し、ハードディスクコントローラ及びSCSIプロトコルコントローラ705経由でサーボコントローラ707とリードライトチャネル708を制御して、残りの制御プログラムと制御に必要な各種データをディスク装置の記憶媒体から読み出す。読み出した制御プログラムと各種データを主記憶702上に格納する。図8、図9で説明する処理のフロー図と、図5、図6で説明するデータ構造が、これらの制御プログラムと各種データに含まれる。
次に、本発明による一実施例によるデータ書き込み方法で用いる各種データ構造について説明する。
図5はバンド管理表である。バンド管理表では、バンド番号501ごとにバンドの開始LBA502、バンドの終了LBA503、記憶媒体の領域番号504を管理する。バンド管理表の中で開始LBA502と終了LBA503はディスク装置のパラメータによって決まる固定値であり、各LBAごとにどのバンドに所属するかが一意に定まる。バンドが記憶媒体のどの領域に配置されるかは、バンドの書き込み時に決まる。バンドが記憶媒体上のどの領域に配置されたかを管理する変数が、領域番号504である。記憶媒体に書き込まれる前のバンドの場合には、配置番号504にはバンド上に存在しないことを示す−1を書き込む。バンド管理表は、不揮発媒体である記憶媒体上と揮発媒体である主記憶702の両方に保存する。ディスク装置の起動時に、記憶媒体に保存してあるバンド管理表を主記憶702上にコピーする。バンド管理表を参照する場合には、アクセス速度が高速な主記憶702上のバンド管理表を参照する。バンド管理表を更新する場合には、ディスク装置の電源遮断に備え記憶媒体上と主記憶702上の両方のバンド管理表を更新する。
図6は記憶媒体の領域管理表である。記憶媒体の領域番号504ごとに、領域の使用状態601、領域の使用回数602、領域の開始PBA603、領域の終了PBA604を管理する。領域管理表の中で開始PBA603と終了PBA604は、ディスク装置のパラメータによって決まる固定値である。これに対して、領域の使用状態601と使用回数602は、変数である。使用状態601は領域を使用中の時には1を、未使用の時には0を、書き込み中の領域には2を書き込み、使用回数602は領域に対して書き込んだ回数を書き込む。記憶媒体の領域管理表は、不揮発媒体である記憶媒体上と揮発媒体である主記憶702の両方に保存する。ディスク装置の起動時に、記憶媒体に保存してある領域管理表を主記憶702上にコピーする。領域管理表を参照する場合には、アクセス速度が高速な主記憶702上の領域管理表を参照する。領域管理表を更新する場合には、ディスク装置の電源遮断に備え記憶媒体上と主記憶702上の両方の領域管理表を更新する。
図8のフロー図により、データ書き込み手順について説明する。ここではバンド単位でデータを書き込む。
処理を開始すると、まずステップ801に進む。ステップ801ではホストの発行した書き込みコマンドに含まれるLBAを取得する。ステップ801の終了後ステップ802に進む。ステップ802ではステップ801で取得したLBAの値から図5のバンド管理表を参照してバンド番号を取得する。ステップ802の終了後ステップ803に進む。ステップ803では図5のバンド管理表からバンドを保存している記憶媒体の領域番号504を読み出す。ステップ803の終了後、ステップ804に進む。ステップ804では主記憶702上の領域管理表を読み出し、未使用の領域を調べる。ステップ804の終了後、ステップ805に進む。ステップ805では、今回のデータ書き込みに用いる領域を選択する。領域の選択では、現在のヘッドの位置に最も近い未使用領域を選択する。複数の領域の候補がある場合には、領域の使用回数602の最も小さな領域を選択する。ステップ805の終了後、ステップ806に進む。ステップ806では、記憶媒体上と主記憶702上の領域管理表の選択した領域の使用状態601を、未使用である0から書き込み中の2に書き換える。ステップ806の終了後、ステップ807に進む。ステップ807では、領域管理表の選択した領域の開始PBAを読み出す。ステップ807の終了後、ステップ808に進む。ステップ808では、ステップ807で取得したPBAに書き込みヘッドをシークしてデータの書き込みを実行する。ステップ808の終了後、ステップ810に進む。
ステップ810では、データ書き込みが正常に終了したかを判定する。正常に終了した場合にはステップ820に進み、異常終了した場合にはステップ811に進む。ステップ811では、領域管理表の選択した領域の使用状態601を、書き込み中の2から未使用の0に書き換える。これにより、中途半端な書き込みの状態が無効になり、データ書き込み前の状態に戻る。
ステップ820では、実行したデータ書き込みが既存のバンドの上書きかどうかを検査する。上書きの場合にはステップ821に進み、そうでない場合にはステップ822に進む。ステップ821では、記憶媒体上と主記憶702上の領域管理表のデータ書き換え対象のバンドを保存していた領域の使用状態601を、使用中である1から未使用の0に書き換える。これにより、上書き対象のバンドを記録した領域が将来の使用のために回収される。ステップ821の終了後、ステップ822に進む。ステップ822では記憶媒体上と主記憶702上の領域管理表の新たにデータを書き込んだ領域の使用状態601を、書き込み中の2から使用中の1に書き換える。これにより、新たにデータを書き込んだ領域が有効になる。ステップ822の終了後、ステップ823に進む。ステップ823では、記憶媒体上と主記憶702上のバンド管理表の記憶媒体の領域番号504を、新たにデータを書き込んだ領域の番号に書き換える。ステップ823の終了後、ステップ824に進む。ステップ824では、データ書き込みの応答をホストに返す。
電源遮断やホストの暴走によりデータ書き込みが異常終了した場合にも、ステップ810から実行を開始することで、データ書き込みに使用した領域を未使用にして将来の書き込みに再利用できる。
図9のフロー図により、データ読み出し手順について説明する。ここではセクタ単位でデータを読み出す。処理を開始すると、まずステップ801に進む。ステップ801からステップ803までの処理は、データ書き込みの場合と同じである。ステップ803の終了後、ステップ910に進む。本発明によるデータ書き込み方法では、データ書き込みを実行するまでバンドは記憶媒体上に存在しない。そこでステップ910では、主記憶702上のバンド管理表の記憶媒体の領域番号504を参照し、その値が−1以外でありバンドが記憶媒体上に存在する場合にはステップ807に進み、その値が−1である場合にはステップ914に進む。記憶媒体上にまだ書き込まれていないバンドを読み出そうとした場合には、ステップ914でダミーデータを生成する。
ステップ807では、記憶媒体上に存在する領域管理表から、ステップ803で読み出した領域番号の領域の開始PBA603を読み出す。ステップ807の終了後、ステップ911に進む。ステップ911では、読み出しを開始するPBAを算出する。ステップ801で読み出したLBAとステップ803で読み出したバンド管理表のバンドの開始LBAとから、読み出し対象のセクタのバンドの先頭からのオフセットを計算し、このオフセットをステップ911で読み出した領域の開始PBA603に加えることで、読み出しを開始するPBAを計算できる。ステップ911の終了後、ステップ912に進む。ステップ912では、ステップ911で算出したPBAに読み出しヘッドをシークして、データの読み出しを実行する。ステップ913では、ステップ912でセクタから読み出したデータもしくはステップ914で生成したダミーデータを、データ読み出しの応答としてホストに送信する。
図5のバンド管理表や図6の記憶媒体の領域管理表に登録した情報を、S.M.A.R.T.などのディスク装置の管理コマンドで読み出せるように構成すると、ディスク装置を接続したホストからバンドの配置状況や記憶媒体上の領域の使用状況を知ることができる。
セクタのフラグ領域322に保存する情報は、バンドを記憶媒体上に書き込んだ順番に限らない。ディスク装置の障碍などにより記憶媒体上に保存したバンド管理表や記憶媒体の領域管理表をロストした場合に復旧できる任意の情報を記録しても良い。
本実施例では記憶媒体上の任意の領域からバンドを保存する領域を選択するが、ホストのアプリケーションによっては、アクセス速度の高速な記憶媒体の外周部に特定のデータを保存したい場合がある。そのような場合には、図10のように、バンドの上位データ構造としてバンドグループを導入することで解決できる。
図10は、バンドグループを導入する場合のディスク装置のデータ構造である。図10において、1000は記憶媒体のデータ構造、1010はバンドグループのデータ構造、である。ディスク装置のサポートするLBAの範囲を複数に分割し、分割した各範囲に所属するバンドを決める。LBAの範囲の分割に対応して記憶媒体のPBAの範囲も分割する。それぞれのLBAの範囲の分割と対応するPBAの範囲の分割を対応付け、各LBAの範囲の分割に所属するバンドが対応するPBAの範囲の分割内に記録されるように、記憶媒体上の領域を選択する。つまり、記憶媒体のデータ構造1000ではあるLBAの範囲ごとの順番でバンドグループが配置され、バンドグループ内ではバンドの書き込み順番によりバンドが配置される。
本発明は、AV用途やバックアップ用途など大規模なデータを一括して書き込むとともに大容量が必要な用途に対して、ディスク装置の大容量化とデータロスト防止のために、利用することができる。
本発明の別の実施形態であるディスク装置を以下に列挙する。
1.連続する論理ブロックアドレスの範囲に対するデータ書き込みのために、前記論理ブロックアドレスの値と無関係に記憶媒体上のデータ保存用領域を確保する、データ保存領域確保手段と、
前記論理ブロックアドレスの順番で前記データ保存用領域の各セクタに対してデータを書き込む、データ書き込み手段と、
を備えることを特徴としたディスク装置。
2.前項1のディスク装置において、
前記データ保存領域確保手段が確保した記憶媒体上の領域の配置と前記連続する論理ブロックアドレスの範囲との対応を保存した対応表を管理する、アドレス対応管理手段、
を備えることを特徴としたディスク装置。
3.前項2のディスク装置において、前記アドレス対応管理手段が前記対応表をディスク装置の一時記憶用バッファに保存することを特徴とするディスク装置。
4.前項2のディスク装置において、前記アドレス対応管理手段が前記対応表を前記記憶媒体上に保存することを特徴とするディスク装置。
5.前項2のディスク装置において、
書き込み済みのある論理ブロックアドレスの範囲に対して上書きするために、
前記記憶媒体上の既存のデータ保存用領域とは異なる新しいデータ保存用領域を前記記憶媒体上に確保する、第二のデータ保存領域確保手段と、
前記論理ブロックアドレスの順番で前記新しいデータ保存用領域の各セクタに対してデータを書き込む、第二のデータ書き込み手段と、
を備えることを特徴としたディスク装置。
6.前項5のディスク装置において、
前記新しいデータ保存用領域に対するデータ書き込みが完了したかを検査する検査手段と、
前記データ書き込みが完了している場合に、前記データ保存用領域の配置と前記連続する論理ブロックアドレスの範囲との対応を前記対応表から削除する、アドレス対応削除手段と、
前記新しいデータ保存用領域と前記連続する論理ブロックアドレスの範囲との対応を前記対応表に保存する、アドレス対応保存手段と、
前記データ保存用領域を開放する、データ保存用領域解放手段と、
を備えることを特徴としたディスク装置。
7.前項5のディスク装置において、
前記データ書き込みが完了せずに前記データ書き込みが終了している場合に、前記新しいデータ保存用領域を開放する、第二のデータ保存用領域解放手段を備えることを特徴としたディスク装置。
8.前項1のディスク装置において、記憶媒体上の連続トラックの各隣接トラック部分が部分的に重ね書きされていることを特徴とするディスク装置。
9.前項1のディスク装置において、
前記記憶媒体を複数の領域に分割する、記憶媒体の領域分割手段と、
前記複数に分割した記憶媒体の領域の一つの選択する、記憶媒体の領域選択手段と、
を備え、
前記データ保存用領域確保手段において、前記記憶媒体の領域選択手段が選択した領域の中から前記データ保存用領域を確保することを特徴とするディスク装置。
10.前項9のディスク装置において、
前記記憶媒体の領域分割手段において、前記記憶媒体上で取り得る物理ブロックアドレスの範囲をある等しい大きさで分割し、物理ブロックアドレスの小さな領域から大きな領域へとアドレスを割り当ててあり、
前記記憶媒体の領域選択手段において、前記ディスク装置において取り得る論理ブロックアドレスの範囲を前記物理ブロックアドレスの範囲を分割した数と同数に分割し、論理ブロックアドレスの小さな領域から大きな領域へとアドレスを割り当ててあり、前記連続する論理ブロックアドレスの範囲が所属する前記分割した論理ブロックアドレスの範囲のアドレスと等しい前記物理ブロックアドレスの範囲のアドレスを持つ前記記憶媒体上の領域を選択すること、
を特徴とするディスク装置。
11.前項2のディスク装置において、上位装置に対して前記対応表を通知する、対応表通知手段を備えることを特徴とするディスク装置。
12.前項1のディスク装置において、各セクタにフラグ領域を設け、前記フラグ領域に管理情報を保存することを特徴とするディスク装置。
13.前項12のディスク装置において、前記管理情報はセクタの論理ブロックアドレスとセクタ書き込みの際のトランザクション情報の一方または両方であることを特徴とするディスク装置。
隣接トラックを部分的に重ね書きする場合のトラック配置の概念図。 複数の連続するトラックからなるバンド構造の概念図 。 本発明の一実施例による、ディスク装置のデータ構造を示す図。 本発明の一実施例による、バンド書き換え手順を示す図。 本発明の一実施例による、バンド管理表を示す図。 本発明の一実施例による、記憶媒体の領域管理表を示す図。 ディスク装置のブロック図。 本発明の一実施例による、データ書き込みのフロー図。 本発明の一実施例による、データ読み出しのフロー図。 バンドグループを導入する場合のディスク装置のデータ構造を示す図。
符号の説明
101 トラック
102 トラック
103 トラック
104 トラック
105 トラック
111 トラック幅
121 書き込みヘッド
122 読み出しヘッド
201 バンド
202 バンドギャップ
300 記憶媒体のデータ構造
310 バンドのデータ構造
320 セクタのデータ構造
321 ユーザデータ領域
322 フラグ領域
323 CRC領域
324 LBA領域
325 ECC領域
400 初期状態
401 第一のバンド
402 第二のバンド
403 第三のバンド
404 第四のバンド
405 未使用状態のバンド
410 バンド更新中の状態
411 更新中のバンド
420 バンド更新が正常終了した状態
421 無効化したバンド
422 新しい第二のバンド
430 バンド更新が失敗した状態
501 バンド番号
502 バンドの開始LBA
503 バンドの終了LBA
504 記憶媒体の領域番号
601 領域の使用状態
602 領域の使用回数
603 領域の開始PBA
604 領域の終了PBA
701 フラッシュメモリ
702 主記憶
703 キャッシュメモリ
704 メモリコントローラ及びマイクロプロセッサ
705 ハードディスクコントローラ及びSCSIプロトコルコントローラ
706 ディスクインタフェース
707 サーボコントローラ
708 リードライトチャネル
1000 記憶媒体のデータ構造
1010 バンドグループのデータ構造

Claims (13)

  1. 記憶媒体と、上位装置との間でコマンドやデータの送受信を行い前記記憶媒体に対して書き込みまたは読み出し制御を行う制御部と、を備えるディスク装置において、
    連続する論理ブロックアドレスの範囲に対してデータを書き込む際に、
    前記制御部が、
    前記上位装置の指定する論理ブロックアドレスの値と無関係に前記記憶媒体上にデータ保存用領域を確保するステップ、
    前記上位装置が論理ブロックアドレスで指定する順番で前記データ保存用の領域の各セクタに対してデータを書き込むステップ、
    を実行することを特徴とするデータ書き込み方法。
  2. 請求項1に記載のデータ書き込み方法において、
    前記制御部が、
    前記記憶媒体上の前記データ保存用領域の配置と前記上位装置が指定する前記連続する論理ブロックアドレスの範囲との対応を対応表に保存するステップ、
    を実行することを特徴とするデータ書き込み方法。
  3. 請求項2に記載のデータ書き込み方法において、
    前記ディスク装置が一時記憶用バッファを備え、前記対応表を前記一時記憶用バッファに保存することを特徴とするデータ書き込み方法。
  4. 請求項2に記載のデータ書き込み方法において、前記対応表を前記記憶媒体上に保存することを特徴とするデータ書き込み方法。
  5. 請求項2に記載のデータ書き込み方法において、
    書き込み済みの論理ブロックアドレスの範囲に対して上書きする際に、
    前記制御部が、
    前記記憶媒体上の既存のデータ保存済みの領域とは異なる新しいデータ保存用領域を前記記憶媒体上に確保するステップ、
    前記上位装置が論理ブロックアドレスで指定する順番で前記新しいデータ保存用領域の各セクタに対してデータを書き込むステップ、
    を実行することを特徴とするデータ書き込み方法。
  6. 請求項5に記載のデータ書き込み方法において、
    前記制御部が、
    前記新しいデータ保存用領域に対するデータの書き込みが完了したかを検査するステップ、
    前記データ書き込みが完了している場合に、
    前記データ保存用領域の配置と前記連続する論理ブロックアドレスの範囲との対応を前記対応表から削除するステップ、
    前記新しいデータ保存用領域と前記連続する論理ブロックアドレスの範囲との対応を前記対応表に保存するステップ、
    前記データ保存用領域を開放するステップ、
    を実行することを特徴とするデータ書き込み方法。
  7. 請求項5に記載のデータ書き込み方法において、
    前記データ書き込みが完了せずに前記データ書き込みが終了している場合に、
    前記制御部が、
    前記新しいデータ保存用領域を開放するステップ、
    を実行することを特徴とするデータ書き込み方法。
  8. 請求項1に記載のデータ書き込み方法において、前記記憶媒体上の連続トラックの各隣接トラック部分が部分的に重ね書きされていることを特徴とするデータ書き込み方法。
  9. 請求項1に記載のデータ書き込み方法において、
    前記制御部が、
    前記記憶媒体を複数の領域に分割するステップ、
    前記複数に分割した記憶媒体上の領域の一つを選択するステップ、
    を実行し、
    前記データ保存用領域を確保するステップにおいて、前記選択した領域の中から前記データ保存用領域を確保すること、
    を特徴とするデータ書き込み方法。
  10. 請求項9に記載のデータ書き込み方法において、
    前記記憶媒体を複数の領域に分割するステップにおいて、前記記憶媒体上で取り得る物理ブロックアドレスの範囲をある等しい大きさで分割し、物理ブロックアドレスの小さな領域から大きな領域へとアドレスを割り当ててあり、
    前記記憶媒体上の領域の一つを選択するステップにおいて、前記ディスク装置において取り得る論理ブロックアドレスの範囲を前記物理ブロックアドレスの範囲を分割した数と同数に分割し、論理ブロックアドレスの小さな領域から大きな領域へとアドレスを割り当ててあり、前記連続する論理ブロックアドレスの範囲が所属する前記分割した論理ブロックアドレスの範囲のアドレスと等しい前記物理ブロックアドレスの範囲のアドレスを持つ前記記憶媒体上の領域を選択すること、
    を特徴とするデータ書き込み方法。
  11. 請求項2に記載のデータ書き込み方法において、
    前記制御部が、
    前記上位装置からの前記対応表の読み出しコマンドを受信するステップ、
    前記読み出しコマンドの応答として前記対応表を前記上位装置に送信するステップ、
    を実行することを特徴とするデータ書き込み方法。
  12. 請求項1に記載のデータ書き込み方法において、各セクタにフラグ領域を設け、前記フラグ領域に管理情報を保存することを特徴とするデータ書き込み方法。
  13. 請求項12に記載のデータ書き込み方法において、前記管理情報はセクタの論理ブロックアドレスとセクタ書き込みの際のトランザクション情報の一方または両方であることを特徴とするデータ書き込み方法。
JP2005159742A 2005-05-31 2005-05-31 データ書き込み方法 Pending JP2006338731A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005159742A JP2006338731A (ja) 2005-05-31 2005-05-31 データ書き込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005159742A JP2006338731A (ja) 2005-05-31 2005-05-31 データ書き込み方法

Publications (1)

Publication Number Publication Date
JP2006338731A true JP2006338731A (ja) 2006-12-14

Family

ID=37559164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005159742A Pending JP2006338731A (ja) 2005-05-31 2005-05-31 データ書き込み方法

Country Status (1)

Country Link
JP (1) JP2006338731A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012138154A (ja) * 2010-12-27 2012-07-19 Toshiba Corp 磁気ディスク装置及び同装置におけるディスクアクセス方法
JP2012198704A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd ストレージ装置、制御装置およびストレージ装置制御方法
US8363349B2 (en) 2010-05-31 2013-01-29 Kabushiki Kaisha Toshiba Recording medium controller and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11306689A (ja) * 1998-02-18 1999-11-05 Sony Corp 記録媒体ならびに記録再生装置および方法
JP2001126415A (ja) * 1999-10-21 2001-05-11 Ricoh Co Ltd 情報記録再生装置及び情報記録再生方法
JP2003208762A (ja) * 2001-08-02 2003-07-25 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11306689A (ja) * 1998-02-18 1999-11-05 Sony Corp 記録媒体ならびに記録再生装置および方法
JP2001126415A (ja) * 1999-10-21 2001-05-11 Ricoh Co Ltd 情報記録再生装置及び情報記録再生方法
JP2003208762A (ja) * 2001-08-02 2003-07-25 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363349B2 (en) 2010-05-31 2013-01-29 Kabushiki Kaisha Toshiba Recording medium controller and method thereof
USRE48952E1 (en) 2010-05-31 2022-03-01 Kabushiki Kaisha Toshiba Recording medium controller and method thereof
JP2012138154A (ja) * 2010-12-27 2012-07-19 Toshiba Corp 磁気ディスク装置及び同装置におけるディスクアクセス方法
JP2012198704A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd ストレージ装置、制御装置およびストレージ装置制御方法
US9146803B2 (en) 2011-03-18 2015-09-29 Fujitsu Limited Storage apparatus, control apparatus, and storage apparatus control method

Similar Documents

Publication Publication Date Title
JP4701088B2 (ja) ディスク装置のトラック割り当て方法
KR100644602B1 (ko) 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US7965465B2 (en) Techniques for storing shingle blocks in a cache memory using a data storage device
US7774540B2 (en) Storage system and method for opportunistic write-verify
JP4164118B1 (ja) フラッシュメモリを用いた記憶装置
KR101678868B1 (ko) 플래시 주소 변환 장치 및 그 방법
US8332581B2 (en) Stale track initialization in a storage controller
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
US20090103203A1 (en) Recording apparatus and control circuit
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
JP5891027B2 (ja) 記憶装置をサニタイズする方法及び装置
EP2356658A1 (en) System and method for recovering solid state drive data
WO2011062861A1 (en) Aligning data storage device partition to boundary of physical data sector
JP4993020B2 (ja) 仮想テープ装置、制御方法、制御部
JP3435400B2 (ja) ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
US9122416B2 (en) Mainframe storage apparatus that utilizes thin provisioning
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP2006338731A (ja) データ書き込み方法
JPH11327797A (ja) 磁気ディスク装置の制御方法と制御装置
JPH11282765A (ja) フラッシュメモリを使用した外部記憶装置
US9405668B1 (en) Data storage device initialization information accessed by searching for pointer information
JP4989861B2 (ja) データ書き込み方法及びディスク装置
US8015350B2 (en) Block level quality of service data in a data storage device
JPH0511933A (ja) ハードデイスクエミユレータ及びその固定キヤツシユエリア割付方法
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20080115

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20091026

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100330