JP2009087461A - 磁気ディスク装置システム - Google Patents
磁気ディスク装置システム Download PDFInfo
- Publication number
- JP2009087461A JP2009087461A JP2007256416A JP2007256416A JP2009087461A JP 2009087461 A JP2009087461 A JP 2009087461A JP 2007256416 A JP2007256416 A JP 2007256416A JP 2007256416 A JP2007256416 A JP 2007256416A JP 2009087461 A JP2009087461 A JP 2009087461A
- Authority
- JP
- Japan
- Prior art keywords
- sector
- alternative
- read
- data
- magnetic disk
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】 この発明は、ディスク状記録媒体に発生した不良領域に対して代替領域を設定
して対処する際に、複数の代替セクタを含むトラックへのリード時に発生する代替セクタ
の読み出し動作を高速でかつ高い信頼性を持って実現することができるようにした磁気デ
ィスク装置システムを提供することを課題とする。
【解決手段】 本発明の磁気ディスク装置システムは、不揮発性メモリであるフラッシュ
メモリと、磁気ディスクであるメディアとを有し、前記フラッシュメモリ上に前記メディ
アで発生した後発の欠陥セクタの代替データ格納セクタを配置する機能を有する磁気ディ
スク装置システムにおいて、前記代替データ格納セクタの冗長データ部に欠陥情報を格納
することを特徴とする。
【選択図】 図6
して対処する際に、複数の代替セクタを含むトラックへのリード時に発生する代替セクタ
の読み出し動作を高速でかつ高い信頼性を持って実現することができるようにした磁気デ
ィスク装置システムを提供することを課題とする。
【解決手段】 本発明の磁気ディスク装置システムは、不揮発性メモリであるフラッシュ
メモリと、磁気ディスクであるメディアとを有し、前記フラッシュメモリ上に前記メディ
アで発生した後発の欠陥セクタの代替データ格納セクタを配置する機能を有する磁気ディ
スク装置システムにおいて、前記代替データ格納セクタの冗長データ部に欠陥情報を格納
することを特徴とする。
【選択図】 図6
Description
この発明は、フラッシュメモリに格納した欠陥の代替セクタを用いたリード/ライト方
法を適用する磁気ディスク装置システムに関する。
法を適用する磁気ディスク装置システムに関する。
周知のように、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、近年、
例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及して
いる。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化され
てきている。
例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及して
いる。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化され
てきている。
このため、ハードディスクを用いた小型化志向の情報記録装置においては、情報の高速
書き込み及び高速読み出しが可能な半導体メモリを、ハードディスクに対するキャッシュ
メモリとして使用することによって、情報の書き込み及び読み出しに要する速度を高める
ようにしている。
書き込み及び高速読み出しが可能な半導体メモリを、ハードディスクに対するキャッシュ
メモリとして使用することによって、情報の書き込み及び読み出しに要する速度を高める
ようにしている。
すなわち、この種の情報記録装置は、外部のホスト装置に対しての情報の書き込み及び
読み出しを、キャッシュメモリを介して行なわせ、ハードディスクに対してはキャッシュ
メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み
出し動作を高速化させるようにしている。
読み出しを、キャッシュメモリを介して行なわせ、ハードディスクに対してはキャッシュ
メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み
出し動作を高速化させるようにしている。
そして、現在では、上記キャッシュメモリに加えて、不揮発性メモリをハードディスク
に対するキャッシュとして備えることにより、ハードディスクの駆動回数、つまり、ハー
ドディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図る
ことも考えられている。このような情報記録装置は、NV(non volatile)−cache対応
HDD(hard disk drive)と称されて、規格化されている。
に対するキャッシュとして備えることにより、ハードディスクの駆動回数、つまり、ハー
ドディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図る
ことも考えられている。このような情報記録装置は、NV(non volatile)−cache対応
HDD(hard disk drive)と称されて、規格化されている。
ところで、情報記録媒体としてハードディスクを備えた情報記録装置にあっては、ハー
ドディスク上の特定の領域(セクタ)に欠陥が発生して、情報の書き込み及び読み出しに
対する信頼性が著しく低くなった場合に、その不良となった領域をハードディスク上の他
の領域で代替する代替処理を施すようにしている。
ドディスク上の特定の領域(セクタ)に欠陥が発生して、情報の書き込み及び読み出しに
対する信頼性が著しく低くなった場合に、その不良となった領域をハードディスク上の他
の領域で代替する代替処理を施すようにしている。
しかしながら、このような代替処理では、ハードディスクに対して情報の書き込みまた
は読み出しを行なう際に、磁気ヘッドを不良領域に対応する代替領域に移動させる必要が
生じるため、その分、情報の書き込みまたは読み出しに時間を要してしまうことになる。
は読み出しを行なう際に、磁気ヘッドを不良領域に対応する代替領域に移動させる必要が
生じるため、その分、情報の書き込みまたは読み出しに時間を要してしまうことになる。
特許文献1には、ホストコンピュータからの書き込み及び読み出し要求のない期間に、
バッテリバックアップRAM(random access memory)に書き込まれているデータをディ
スクに書き込む際、ディスクへの書き込みに失敗したデータの格納されているRAM上の
領域を、代替領域とするようにした構成が開示されている。
バッテリバックアップRAM(random access memory)に書き込まれているデータをディ
スクに書き込む際、ディスクへの書き込みに失敗したデータの格納されているRAM上の
領域を、代替領域とするようにした構成が開示されている。
また、ディスク上の不良領域に対する代替領域を不揮発性メモリに配置し、不良領域を
含んだ領域へのリード・ライトアクセスの高速化を実現する手段についてもいくつか提案
されている。
特開平2−109151号公報
含んだ領域へのリード・ライトアクセスの高速化を実現する手段についてもいくつか提案
されている。
この発明の目的は、ディスク状記録媒体に発生した不良領域に対して代替領域を設定し
て対処する際に、複数の代替セクタを含むトラックへのリード時に発生する代替セクタの
読み出し動作を高速でかつ高い信頼性を持って実現することができるようにした磁気ディ
スク装置システムを提供することにある。
て対処する際に、複数の代替セクタを含むトラックへのリード時に発生する代替セクタの
読み出し動作を高速でかつ高い信頼性を持って実現することができるようにした磁気ディ
スク装置システムを提供することにある。
上記目的を達成するため、本発明の磁気ディスク装置システムは、不揮発性メモリであ
るフラッシュメモリと、磁気ディスクであるメディアとを有し、前記フラッシュメモリ上
に前記メディアで発生した後発の欠陥セクタの代替データ格納セクタを配置する機能を有
する磁気ディスク装置システムにおいて、前記代替データ格納セクタの冗長データ部に欠
陥情報を格納することを特徴とする。
るフラッシュメモリと、磁気ディスクであるメディアとを有し、前記フラッシュメモリ上
に前記メディアで発生した後発の欠陥セクタの代替データ格納セクタを配置する機能を有
する磁気ディスク装置システムにおいて、前記代替データ格納セクタの冗長データ部に欠
陥情報を格納することを特徴とする。
上記発明によれば、フラッシュメモリ上の冗長データを利用し、フラッシュメモリのペ
ージをバッファに読み出す際にバッファへの転送先を自動的に切り替えることにより、デ
ィスク状記録媒体に発生した不良領域に対して代替領域を設定して対処する際に、複数の
代替セクタを含むトラックへのリード時に発生する代替セクタの読み出し動作を高速でか
つ高い信頼性を持って実現することができるようにした磁気ディスク装置システムを提供
することが可能となる。
ージをバッファに読み出す際にバッファへの転送先を自動的に切り替えることにより、デ
ィスク状記録媒体に発生した不良領域に対して代替領域を設定して対処する際に、複数の
代替セクタを含むトラックへのリード時に発生する代替セクタの読み出し動作を高速でか
つ高い信頼性を持って実現することができるようにした磁気ディスク装置システムを提供
することが可能となる。
この発明の磁気ディスク装置システムにおいては、ディスク状記録媒体に発生した不良
領域に対して代替領域を設定して対処する際に、複数の代替セクタを含むトラックへのリ
ード時に発生する代替セクタの読み出し動作を高速でかつ高い信頼性を持って実現するこ
とが可能となる。
領域に対して代替領域を設定して対処する際に、複数の代替セクタを含むトラックへのリ
ード時に発生する代替セクタの読み出し動作を高速でかつ高い信頼性を持って実現するこ
とが可能となる。
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する
。
<後発欠陥セクタの代替方法>
まず、欠陥セクタの代替セクタをフラッシュメモリなどの不揮発性メモリではなくディ
スク上に確保する従来の方式について説明する。
図14はディスク上の欠陥セクタ5を含むトラック1にアクセスする様子を説明したも
のである。
アクセスのターゲットとなる領域7には後発欠陥セクタ5が含まれている。後発欠陥セ
クタとは、製造過程ではなく、ユーザが使用中に発生した不良セクタのことを指す。製造
過程に発生したセクタの場合は、通常初めから論理ブロックアドレス(以降、LBAと称
する)を割り当てられない。しかし使用中に発生した欠陥の場合には、LBAが割り当て
られているため、そのセクタの代替となるセクタを割り当ててデータを格納する必要が生
じる。これを代替セクタと呼ぶことにする。
。
<後発欠陥セクタの代替方法>
まず、欠陥セクタの代替セクタをフラッシュメモリなどの不揮発性メモリではなくディ
スク上に確保する従来の方式について説明する。
図14はディスク上の欠陥セクタ5を含むトラック1にアクセスする様子を説明したも
のである。
アクセスのターゲットとなる領域7には後発欠陥セクタ5が含まれている。後発欠陥セ
クタとは、製造過程ではなく、ユーザが使用中に発生した不良セクタのことを指す。製造
過程に発生したセクタの場合は、通常初めから論理ブロックアドレス(以降、LBAと称
する)を割り当てられない。しかし使用中に発生した欠陥の場合には、LBAが割り当て
られているため、そのセクタの代替となるセクタを割り当ててデータを格納する必要が生
じる。これを代替セクタと呼ぶことにする。
図14のように後発欠陥が含まれた領域へアクセスする場合には、データ3、4をアク
セスした後に、代替セクタを格納したトラック6へヘッドを移動させて代替セクタ6をリ
ードする、などの処理が必要となる。このリード・ライト処理に関しては図15にフロー
チャートを示す。このような処理を行う場合には、少なくとも一回ヘッドをシークさせる
時間がかかり、さらにヘッド移動後も代替セクタにアクセスできるまでの回転待ち時間が
発生する。
セスした後に、代替セクタを格納したトラック6へヘッドを移動させて代替セクタ6をリ
ードする、などの処理が必要となる。このリード・ライト処理に関しては図15にフロー
チャートを示す。このような処理を行う場合には、少なくとも一回ヘッドをシークさせる
時間がかかり、さらにヘッド移動後も代替セクタにアクセスできるまでの回転待ち時間が
発生する。
リードの場合、最終的には図16に示すように、DRAMバッファ上でそれぞれ読み出
したデータをつなぎ合わせ、連続したデータとしてホストへ転送することになる。もしバ
ッファ上に読み出したデータが連続しない場合には、バッファ上でデータのコピーを行い
図16にように連続データとするか、もしくはホスト転送時に連続となるようにする。
したデータをつなぎ合わせ、連続したデータとしてホストへ転送することになる。もしバ
ッファ上に読み出したデータが連続しない場合には、バッファ上でデータのコピーを行い
図16にように連続データとするか、もしくはホスト転送時に連続となるようにする。
しかしどちらの方法でも、バッファ上のコピーの時間や、ホスト転送時前にコントロー
ラに対する詳細設定などが必要となる。
<フラッシュメモリを用いた後発欠陥セクタの代替方法>
このような問題を解決するために、代替セクタをフラッシュメモリに配置する方法が提
案されている。図17に示すような、磁気ディスク装置にフラッシュメモリを搭載した装
置において、ディスクの一部に割り当てていた代替セクタ領域を、フラッシュメモリに割
り当てることを特徴とする。
ラに対する詳細設定などが必要となる。
<フラッシュメモリを用いた後発欠陥セクタの代替方法>
このような問題を解決するために、代替セクタをフラッシュメモリに配置する方法が提
案されている。図17に示すような、磁気ディスク装置にフラッシュメモリを搭載した装
置において、ディスクの一部に割り当てていた代替セクタ領域を、フラッシュメモリに割
り当てることを特徴とする。
図18は後発欠陥セクタ3の代替セクタ5をフラッシュメモリに配置する場合を示して
いる。このようなシステムではリードもしくはライトのターゲットデータ2をアクセスし
た後、フラッシュメモリから代替セクタ5を読むだけで良い。
いる。このようなシステムではリードもしくはライトのターゲットデータ2をアクセスし
た後、フラッシュメモリから代替セクタ5を読むだけで良い。
<技術的な課題>
図19のようにターゲットのデータに後発欠陥が2つ存在する場合、フラッシュメモリ
には代替セクタが2つ格納されることになる。領域2をリードする場合には、欠陥3、6
に対応した代替セクタ5、7それぞれからデータを読み出す必要がある。
図19のようにターゲットのデータに後発欠陥が2つ存在する場合、フラッシュメモリ
には代替セクタが2つ格納されることになる。領域2をリードする場合には、欠陥3、6
に対応した代替セクタ5、7それぞれからデータを読み出す必要がある。
フラッシュメモリはアクセスの単位としてページという複数のセクタから構成される単
位が存在する。例えば1ページは4セクタから構成されるものがある。多くのフラッシュ
メモリの場合、リードやライトの際にはこのページがアクセスの基本単位となる。
位が存在する。例えば1ページは4セクタから構成されるものがある。多くのフラッシュ
メモリの場合、リードやライトの際にはこのページがアクセスの基本単位となる。
フラッシュメモリICからコントローラICに読み出す際には、特定のセクタのみに限
定することも可能ではあるが、フラッシュメモリIC内部でのリード・ライト処理ではこ
のページを基本単位としてセルアレイへのアクセスが行われる。なお、複数のページに同
時にアクセスする手段を提供するフラッシュメモリもあるが、通常はアクセスの組み合わ
せは隣り合ったページなどである。
定することも可能ではあるが、フラッシュメモリIC内部でのリード・ライト処理ではこ
のページを基本単位としてセルアレイへのアクセスが行われる。なお、複数のページに同
時にアクセスする手段を提供するフラッシュメモリもあるが、通常はアクセスの組み合わ
せは隣り合ったページなどである。
このようにフラッシュメモリのアクセスの基本的な単位は、セクタではなくページであ
る。図19のように、複数の代替セクタを読み出す場合は、ページへのアクセスが2回発
生することになる。
る。図19のように、複数の代替セクタを読み出す場合は、ページへのアクセスが2回発
生することになる。
<本発明の実施形態>
本発明は、上記のように複数の後発欠陥セクタが同一トラック上に存在する場合に、代
替セクタへのアクセスを高速化に関するものであり、具体的には図1に示すように、同一
トラック内の後発欠陥に対する代替セクタは、一つまたは複数のページに集中して格納す
る。各代替セクタは対応するLBAが昇順となるように順番に詰めて格納する。ここで、
一つのトラック内では、LBAが連続して増加するように配置されていることを前提とす
る。
本発明は、上記のように複数の後発欠陥セクタが同一トラック上に存在する場合に、代
替セクタへのアクセスを高速化に関するものであり、具体的には図1に示すように、同一
トラック内の後発欠陥に対する代替セクタは、一つまたは複数のページに集中して格納す
る。各代替セクタは対応するLBAが昇順となるように順番に詰めて格納する。ここで、
一つのトラック内では、LBAが連続して増加するように配置されていることを前提とす
る。
このような代替セクタの配置により、代替セクタをリードする際にページをリードする
回数を減らすことができる。
但し、図19のようにそれぞれの後発欠陥が離れた場所にある場合、バッファ上で図1
6のように連続したデータを生成するためには、一旦別の場所に代替セクタを読み出して
からバッファデータをコピーするなどの処理が必要となってしまう。理想としては、一度
ページをリードするだけで、バッファ上に連続したデータを生成できることが望ましい。
回数を減らすことができる。
但し、図19のようにそれぞれの後発欠陥が離れた場所にある場合、バッファ上で図1
6のように連続したデータを生成するためには、一旦別の場所に代替セクタを読み出して
からバッファデータをコピーするなどの処理が必要となってしまう。理想としては、一度
ページをリードするだけで、バッファ上に連続したデータを生成できることが望ましい。
それを実現するために、図2に示すように、フラッシュメモリの冗長データ部を利用し
、ページデータをリードしてバッファに転送する際に、バッファへの転送先をセクタ毎に
切り替えられるような手段を提案する。
、ページデータをリードしてバッファに転送する際に、バッファへの転送先をセクタ毎に
切り替えられるような手段を提案する。
図2の冗長データには、図3に示すような冗長データを格納する。「次セクタ格納デー
タ情報」には次のセクタにデータが格納されているかどうかを示す情報と、隣の代替セク
タとのLBAオフセット情報が格納されている。LBAオフセットとは、トラック上の各欠
陥セクタ同士が論理アドレスでどれだけ離れているかを示す。
タ情報」には次のセクタにデータが格納されているかどうかを示す情報と、隣の代替セク
タとのLBAオフセット情報が格納されている。LBAオフセットとは、トラック上の各欠
陥セクタ同士が論理アドレスでどれだけ離れているかを示す。
その他の情報は、ディスクへのリトライアクセスを実行するかどうかを示す欠陥管理情
報や、傾向の解析などに利用することを想定したエラーに関する情報、その他管理上必要
となる情報などから構成される。
報や、傾向の解析などに利用することを想定したエラーに関する情報、その他管理上必要
となる情報などから構成される。
<ページデータの転送先切り替え制御の原理>
図4にLBAオフセット情報を利用した、ページデータリード時のバッファ転送先切り
替えの制御原理を説明する。本実施形態における制御を行うために、リード処理の実行前
にコントローラに対して図5に示すようなレジスタに必要な情報を設定する。
図4にLBAオフセット情報を利用した、ページデータリード時のバッファ転送先切り
替えの制御原理を説明する。本実施形態における制御を行うために、リード処理の実行前
にコントローラに対して図5に示すようなレジスタに必要な情報を設定する。
ページ自動分割転送スイッチレジスタにより、本制御を有効にするかどうかを設定する
。リードサイズレジスタにより、初めに読み出す代替セクタのLBAから、連続してトラッ
ク領域にリードアクセスするサイズを指定する。
。リードサイズレジスタにより、初めに読み出す代替セクタのLBAから、連続してトラッ
ク領域にリードアクセスするサイズを指定する。
バッファベースアドレスレジスタにより、初めに読み出す代替セクタのバッファへの転
送アドレスを示すベースアドレスを設定する。なお、これらの情報はかならずしも直接レ
ジスタに設定する形態に限らず、あるメモリ領域に情報を書き込み、コントローラICが
解釈するような形態でも構わない。
送アドレスを示すベースアドレスを設定する。なお、これらの情報はかならずしも直接レ
ジスタに設定する形態に限らず、あるメモリ領域に情報を書き込み、コントローラICが
解釈するような形態でも構わない。
また、設定されたリードサイズは、各セクタをバッファに転送するかどうかを判定させ
るものであるが、初めから転送させたいセクタ数分だけをコントローラICに読み込むよ
うに指示しておけば、このリードサイズによる転送の有無の判定は不要となる。
るものであるが、初めから転送させたいセクタ数分だけをコントローラICに読み込むよ
うに指示しておけば、このリードサイズによる転送の有無の判定は不要となる。
欠陥セクタの代替セクタが複数格納されたページはフラッシュメモリに存在する。コン
トローラICはフラッシュメモリICに対して、このページ全体もしくは一部を読み出す
ようにコマンドを発行する。フラッシュメモリICが転送してくるデータストリームは一
旦、コントローラIC内部のキャッシュメモリに格納される。
トローラICはフラッシュメモリICに対して、このページ全体もしくは一部を読み出す
ようにコマンドを発行する。フラッシュメモリICが転送してくるデータストリームは一
旦、コントローラIC内部のキャッシュメモリに格納される。
このデータストリームには512バイトのセクタデータとそれに付随した冗長データが
セットとなり、これらが読み出したセクタ数だけ存在する。コントローラICはデータス
トリームに対し、必要に応じて冗長データのECC情報を用いてデータ訂正を行ったり、
データを暗号化して格納している場合には復号処理などを行う。
セットとなり、これらが読み出したセクタ数だけ存在する。コントローラICはデータス
トリームに対し、必要に応じて冗長データのECC情報を用いてデータ訂正を行ったり、
データを暗号化して格納している場合には復号処理などを行う。
コントローラICには転送先バッファアドレス計算回路が組み込まれており、各セクタ
の転送先バッファアドレスをデータストリーム中の冗長データを読み取りながら計算する
。まず読み出した先頭セクタについてはレジスタなどで指定されたベースアドレスを設定
する。
の転送先バッファアドレスをデータストリーム中の冗長データを読み取りながら計算する
。まず読み出した先頭セクタについてはレジスタなどで指定されたベースアドレスを設定
する。
この先頭セクタに付随した冗長データに含まれる「次セクタ格納データ情報」により、
次のセクタに代替セクタデータが格納されているかどうかを判断する。次のセクタに代替
セクタデータが含まれている場合は、LBAオフセットの値とこのセクタを転送する時点
での転送済みサイズをベースアドレスに加え、このセクタの転送先アドレスとして設定す
る。
次のセクタに代替セクタデータが格納されているかどうかを判断する。次のセクタに代替
セクタデータが含まれている場合は、LBAオフセットの値とこのセクタを転送する時点
での転送済みサイズをベースアドレスに加え、このセクタの転送先アドレスとして設定す
る。
ただし、LBAオフセットがリードサイズレジスタで設定された値よりも大きい場合は
データ転送を行わないので、データ転送無効の設定をする。以降、これを繰り返し、最終
セクタまでのバッファへの転送先アドレス、及び転送有効/無効を設定する。
データ転送を行わないので、データ転送無効の設定をする。以降、これを繰り返し、最終
セクタまでのバッファへの転送先アドレス、及び転送有効/無効を設定する。
コントローラICに読み出すセクタデータは、ページ途中から始まりページ途中で終わ
っていても構わない。設定したベースアドレスは、読み出したデータの先頭のセクタに対
して適用される。またページ途中で読み出しデータが終わる場合は、読み出していないセ
クタに関しては転送無効を設定する。
っていても構わない。設定したベースアドレスは、読み出したデータの先頭のセクタに対
して適用される。またページ途中で読み出しデータが終わる場合は、読み出していないセ
クタに関しては転送無効を設定する。
コントローラICは内部のキャッシュメモリに格納されたデータを、転送先バッファア
ドレス計算回路で設定されたアドレスに転送する。先頭セクタのデータを、バッファの指
定されたベースアドレスを先頭として連続した1セクタ分の領域に転送する。全てのデー
タが転送された段階で、コントローラICは次のセクタデータを転送するかどうかを転送
有効/無効設定から判断する。
ドレス計算回路で設定されたアドレスに転送する。先頭セクタのデータを、バッファの指
定されたベースアドレスを先頭として連続した1セクタ分の領域に転送する。全てのデー
タが転送された段階で、コントローラICは次のセクタデータを転送するかどうかを転送
有効/無効設定から判断する。
転送有効の場合は、セクタの転送先アドレスとして設定されているバッファアドレスに
転送先を切り替え、同様に連続する1セクタ分の領域にデータを転送する。以降、これを
繰り返し、全てのセクタデータをバッファに転送する。
転送先を切り替え、同様に連続する1セクタ分の領域にデータを転送する。以降、これを
繰り返し、全てのセクタデータをバッファに転送する。
<後発欠陥セクタを含む領域のリードフロー>
図6のリードコマンド処理ルーチンで、後発欠陥セクタを含む領域へのリードフローを
説明する。
リード要求が発生すると、要求データを含むトラックにヘッドを移動させるためのシー
ク処理を開始する。この処理には通常数ミリ秒掛かるので、この間に対象トラックに後発
欠陥が存在するかどうかを図7のようなメモリ上で管理されるテーブルで調べる。
図6のリードコマンド処理ルーチンで、後発欠陥セクタを含む領域へのリードフローを
説明する。
リード要求が発生すると、要求データを含むトラックにヘッドを移動させるためのシー
ク処理を開始する。この処理には通常数ミリ秒掛かるので、この間に対象トラックに後発
欠陥が存在するかどうかを図7のようなメモリ上で管理されるテーブルで調べる。
このテーブルには、欠陥登録種別、LBA、代替セクタ格納アドレスの属性からなる。
このLBA情報により、ターゲットとなるリードデータ範囲に代替されたセクタが存在す
るかが分かる。
このLBA情報により、ターゲットとなるリードデータ範囲に代替されたセクタが存在す
るかが分かる。
欠陥登録種別には、欠陥確定/欠陥候補/正常セクタのいずれかのステータスを登録す
る。「欠陥確定」の場合は、このLBAデータが代替セクタに格納されていることを示し
ており、代替セクタ格納アドレスからデータを読み出す必要がある。
る。「欠陥確定」の場合は、このLBAデータが代替セクタに格納されていることを示し
ており、代替セクタ格納アドレスからデータを読み出す必要がある。
「欠陥候補」の場合は、前回リード時に失敗したことを示しており、代替セクタにはデ
ータが入っていないので、再びそのセクタをリードしてみる必要があることを示す。
ータが入っていないので、再びそのセクタをリードしてみる必要があることを示す。
何度リードしてもやはり失敗する場合には「欠陥確定」に登録を更新する。「正常セク
タ」とは、欠陥セクタではないが、欠陥セクタの隣のセクタのバックアップとしてフラッ
シュメモリにデータの複製を持たせていることなどを示すものである。リード範囲に含ま
れる欠陥LBAの中から「欠陥確定」しているLBAを全て抽出する。
タ」とは、欠陥セクタではないが、欠陥セクタの隣のセクタのバックアップとしてフラッ
シュメモリにデータの複製を持たせていることなどを示すものである。リード範囲に含ま
れる欠陥LBAの中から「欠陥確定」しているLBAを全て抽出する。
次にリードデータを読み出すバッファ領域に十分な空き領域があるかどうかを判定する
。まだホストに転送していないデータが残っている場合など、空き領域がない場合はなに
もしない。空き領域が十分あると判断したときには、フラッシュメモリの代替セクタ格納
ページのリード処理に移る。
。まだホストに転送していないデータが残っている場合など、空き領域がない場合はなに
もしない。空き領域が十分あると判断したときには、フラッシュメモリの代替セクタ格納
ページのリード処理に移る。
代替セクタ格納ページのリード処理のフローを図8に示す。図7から抽出された代替セ
クタを情報から、どのページにアクセスするかを決定する。それぞれのページについて、
どのセクタから読み出すか、そのセクタをバッファのどの位置に読み出すか、連続リード
のサイズは幾つかを決定し、各ページを順番にリードする。
クタを情報から、どのページにアクセスするかを決定する。それぞれのページについて、
どのセクタから読み出すか、そのセクタをバッファのどの位置に読み出すか、連続リード
のサイズは幾つかを決定し、各ページを順番にリードする。
例えば図9のような欠陥セクタが0〜5まで存在するトラックに対して、リード要求が
図のようであった場合、含まれる欠陥セクタは2〜4となる。この場合、読み出す代替セ
クタはページ1のセクタ2、3とページ2のセクタ0となる。コントローラICにまずペ
ージ1のセクタ2を読むように指示する。
図のようであった場合、含まれる欠陥セクタは2〜4となる。この場合、読み出す代替セ
クタはページ1のセクタ2、3とページ2のセクタ0となる。コントローラICにまずペ
ージ1のセクタ2を読むように指示する。
ベースアドレスとして、バッファ上に読み出す連続したリードデータのうち、欠陥セク
タのデータが配置される予定のアドレスの先頭を設定する。コントローラICはセクタ2
の冗長データを解析し、次のセクタ3に欠陥3に対応する代替データ3が格納されている
ことが分かり、LBAオフセットがリードサイズに収まっていることから、次のセクタを
バッファに転送するべきであると判断する。
タのデータが配置される予定のアドレスの先頭を設定する。コントローラICはセクタ2
の冗長データを解析し、次のセクタ3に欠陥3に対応する代替データ3が格納されている
ことが分かり、LBAオフセットがリードサイズに収まっていることから、次のセクタを
バッファに転送するべきであると判断する。
まずセクタ2を指定されたベースアドレスから1セクタ分の領域に転送した後、バッフ
ァアドレスをLBAオフセットだけ加算して、セクタ3をバッファに転送する。
ァアドレスをLBAオフセットだけ加算して、セクタ3をバッファに転送する。
次にページ2のセクタ0を読むようにコントローラICに指示する。コントローラIC
はセクタ0の冗長データから、次のセクタ1は転送しないことを判断できるので、セクタ
0のみをバッファの指定したベースアドレスに転送する。
はセクタ0の冗長データから、次のセクタ1は転送しないことを判断できるので、セクタ
0のみをバッファの指定したベースアドレスに転送する。
その後、ヘッドが目標トラックまで移動するのを待ち、目標データ位置に到達したら、
ディスクからデータを読み出してバッファにデータを転送する。その際、欠陥セクタにつ
いてはスキップするようにバッファにデータを転送する。最終的に連続したデータがバッ
ファ上に生成される。
ディスクからデータを読み出してバッファにデータを転送する。その際、欠陥セクタにつ
いてはスキップするようにバッファにデータを転送する。最終的に連続したデータがバッ
ファ上に生成される。
シーク中に代替セクタを読み出さなかった場合には、ディスクからのデータ転送が完了
後、読み出し処理を行う。
以上の処理により、トラックに複数の後発欠陥セクタを含む領域へのリードアクセスに
対し、フラッシュに格納された代替セクタから効率的に代替データを読み出すことができ
る。
後、読み出し処理を行う。
以上の処理により、トラックに複数の後発欠陥セクタを含む領域へのリードアクセスに
対し、フラッシュに格納された代替セクタから効率的に代替データを読み出すことができ
る。
<後発欠陥セクタを含む領域のライトフロー>
図6のライトコマンド処理ルーチンで、後発欠陥セクタを含む領域へのライトフローを
説明する。
リードの場合と同様に目標トラックへヘッドを移動中に、図7のテーブルからライト要
求範囲に含まれるLBAを抽出し、すべての代替データを新しいデータで更新する。「欠陥
候補」となっているセクタは「欠陥確定」として登録し直す。ヘッドの移動中にフラッシ
ュメモリの代替セクタへの書き込み処理を行う。
図6のライトコマンド処理ルーチンで、後発欠陥セクタを含む領域へのライトフローを
説明する。
リードの場合と同様に目標トラックへヘッドを移動中に、図7のテーブルからライト要
求範囲に含まれるLBAを抽出し、すべての代替データを新しいデータで更新する。「欠陥
候補」となっているセクタは「欠陥確定」として登録し直す。ヘッドの移動中にフラッシ
ュメモリの代替セクタへの書き込み処理を行う。
代替セクタ格納ページへのライト処理のフローを図10に示す。フラッシュメモリはデ
ータの上書きができないため、書換え対象のセクタを含むページに関して、新しいページ
を割り当てて代替データを書き込む。図7の代替セクタ格納アドレスは、新しく割り当て
たページに更新する。ページ内のすべての代替セクタがライト範囲に含まれている場合は
、新しい割り当てページに欠陥LBAへのライトデータをそのまま書けばよい。
ータの上書きができないため、書換え対象のセクタを含むページに関して、新しいページ
を割り当てて代替データを書き込む。図7の代替セクタ格納アドレスは、新しく割り当て
たページに更新する。ページ内のすべての代替セクタがライト範囲に含まれている場合は
、新しい割り当てページに欠陥LBAへのライトデータをそのまま書けばよい。
ページ内の一部の代替セクタのみがライト範囲に含まれている場合は、ライト範囲に含
まれていない代替セクタを古いページからリードし、新しいページに再び書き込む。
まれていない代替セクタを古いページからリードし、新しいページに再び書き込む。
その後、ヘッドが目標トラックまで移動するのを待ち、目標データ位置に到達したら、
欠陥セクタ以外のセクタにライトデータを書き込む。
以上の処理により、トラックに複数の後発欠陥セクタを含む領域へのライトアクセス時
に、トラック内の代替セクタをフラッシュメモリ内にまとめて格納しているため、ページ
へのライトアクセス回数を少なく抑えることができる。
欠陥セクタ以外のセクタにライトデータを書き込む。
以上の処理により、トラックに複数の後発欠陥セクタを含む領域へのライトアクセス時
に、トラック内の代替セクタをフラッシュメモリ内にまとめて格納しているため、ページ
へのライトアクセス回数を少なく抑えることができる。
<後発欠陥セクタが新たに発生した時の登録処理フロー>
あるセクタに対するリード若しくはライトを一定回数以上実施しても成功しなかった場
合、そのセクタを後発欠陥セクタとして登録する。この処理フローを図11に示す。
あるセクタに対するリード若しくはライトを一定回数以上実施しても成功しなかった場
合、そのセクタを後発欠陥セクタとして登録する。この処理フローを図11に示す。
この時、図7の管理テーブルにエントリを追加するとともに、代替セクタを格納したペ
ージを新しい構成に変更する必要がある。代替セクタはトラック毎に、論理アドレスが昇
順になるように格納しているため、新しい欠陥セクタのLBAに応じて、代替セクタの格納
場所を変更する。またそれぞれの欠陥セクタ間のLBAオフセットを計算し、代替セクタの
冗長部にその情報を書き込む。
ージを新しい構成に変更する必要がある。代替セクタはトラック毎に、論理アドレスが昇
順になるように格納しているため、新しい欠陥セクタのLBAに応じて、代替セクタの格納
場所を変更する。またそれぞれの欠陥セクタ間のLBAオフセットを計算し、代替セクタの
冗長部にその情報を書き込む。
<変形例1:トラック内代替セクタが複数ページに跨る場合の、連続読み出し処理>
図12のように、代替セクタ格納ページの最終セクタの冗長部に、トラック内の欠陥セ
クタの続きがあることを示す情報とそのページアドレス、およびLBAオフセットを格納
する。
図12のように、代替セクタ格納ページの最終セクタの冗長部に、トラック内の欠陥セ
クタの続きがあることを示す情報とそのページアドレス、およびLBAオフセットを格納
する。
コントローラICに前半のページをリードすることを指示することにより、コントロー
ラICは前半のページを読み出す処理の過程で、さらに読み出すべき欠陥セクタがあるこ
とが分かる。コントローラICは前半ページをバッファに転送後、後半のページをフラッ
シュメモリから読み出し、適切なバッファ位置に代替データを転送する。
ラICは前半のページを読み出す処理の過程で、さらに読み出すべき欠陥セクタがあるこ
とが分かる。コントローラICは前半ページをバッファに転送後、後半のページをフラッ
シュメモリから読み出し、適切なバッファ位置に代替データを転送する。
<変形例2:冗長データを用いないページデータ転送先切り替え方式>
図13に示すようなレジスタを用意し、コントローラICにページデータのバッファへ
の転送方法を指定することにより、ページに含まれる各セクタを指定したバッファアドレ
スに転送することができる。転送切替スイッチレジスタにより、各セクタ転送時に、指定
したバッファアドレスへ転送先アドレスを切り替えるかどうかを指定できるようにする。
図13に示すようなレジスタを用意し、コントローラICにページデータのバッファへ
の転送方法を指定することにより、ページに含まれる各セクタを指定したバッファアドレ
スに転送することができる。転送切替スイッチレジスタにより、各セクタ転送時に、指定
したバッファアドレスへ転送先アドレスを切り替えるかどうかを指定できるようにする。
なお、本実施形態では冗長データを利用してページデータに含まれるセクタアドレスの
転送先を切り替えることがポイントとしているが、この変形例のように冗長データを用い
ず直接コントローラICに指示する方式でも、同等の効果が得られる。ただし、アクセス
毎に詳細な設定が必要となるので、冗長データを用いた方式の方が効率がよい。
転送先を切り替えることがポイントとしているが、この変形例のように冗長データを用い
ず直接コントローラICに指示する方式でも、同等の効果が得られる。ただし、アクセス
毎に詳細な設定が必要となるので、冗長データを用いた方式の方が効率がよい。
以上述べたように、本実施形態の磁気ディスク装置システムによれば、ディスク状記録
媒体に発生した不良領域に対して代替領域を設定して対処する際に、複数の代替セクタを
含むトラックへのリード時に発生する代替セクタの読み出し動作を高速でかつ高い信頼性
を持って実現することが可能となる。
媒体に発生した不良領域に対して代替領域を設定して対処する際に、複数の代替セクタを
含むトラックへのリード時に発生する代替セクタの読み出し動作を高速でかつ高い信頼性
を持って実現することが可能となる。
1…HDD(磁気ディスク装置、ディスク記憶装置)、2…ホストシステム、10…磁
気ディスク(メディア)、11…スピンドルモータ(SPM)、12…磁気ヘッド、13
…キャリッジ、14…ボイスコイルモータ(VCM)、15…ヘッドアンプ、16…リー
ド/ライトチャネル、17…バッファメモリ、18…モータドライバ、19…CPU、2
0…HDC、21…フラッシュROM、22…フラッシュメモリ。
気ディスク(メディア)、11…スピンドルモータ(SPM)、12…磁気ヘッド、13
…キャリッジ、14…ボイスコイルモータ(VCM)、15…ヘッドアンプ、16…リー
ド/ライトチャネル、17…バッファメモリ、18…モータドライバ、19…CPU、2
0…HDC、21…フラッシュROM、22…フラッシュメモリ。
Claims (4)
- 不揮発性メモリであるフラッシュメモリと、
磁気ディスクであるメディアとを有し、
前記フラッシュメモリ上に前記メディアで発生した後発の欠陥セクタの代替データ格納
セクタを配置する機能を有する磁気ディスク装置システムにおいて、
前記代替データ格納セクタの冗長データ部に欠陥情報を格納することを特徴とする磁気ディスク装置システム。 - 前記メディア上の同一シリンダ内に複数の欠陥が存在する場合に、それらに対応する前
記代替データ格納セクタをできるだけ少ないページに収まるように格納し、
それぞれの対応する論理ブロックアドレスが昇順となるように配置し、
更に、にそれぞれの欠陥セクタ間の論理ブロックアドレスの差分を前記代替データ格納
セクタの冗長データとして格納する処理手段と
を有することを特徴とする請求項1に記載の磁気ディスク装置システム。 - 前記代替データ格納セクタをリードする際に、前記論理ブロックアドレスの差分情報を
利用し、前記代替データ格納セクタのバッファへの読み出し先アドレスを、前記フラッシ
ュメモリからの1ページリード途中であっても切り替える切換え手段と
を有することを特徴とする請求項2に記載の磁気ディスク装置システム。 - 前記代替データ格納セクタの前記冗長データを使わない場合、前記1ページリード実行
前にコントローラに切り替えセクタと切替先のバッファポインタを指定する手段と
を有することを特徴とする請求項4に記載の磁気ディスク装置システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007256416A JP2009087461A (ja) | 2007-09-28 | 2007-09-28 | 磁気ディスク装置システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007256416A JP2009087461A (ja) | 2007-09-28 | 2007-09-28 | 磁気ディスク装置システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009087461A true JP2009087461A (ja) | 2009-04-23 |
Family
ID=40660693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007256416A Pending JP2009087461A (ja) | 2007-09-28 | 2007-09-28 | 磁気ディスク装置システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009087461A (ja) |
-
2007
- 2007-09-28 JP JP2007256416A patent/JP2009087461A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6735678B2 (en) | Method and apparatus for disc drive defragmentation | |
US7472219B2 (en) | Data-storage apparatus, data-storage method and recording/reproducing system | |
JP4886877B2 (ja) | 記録媒体制御装置、及びその方法 | |
US8667248B1 (en) | Data storage device using metadata and mapping table to identify valid user data on non-volatile media | |
JP4675881B2 (ja) | 磁気ディスク装置およびその制御方法 | |
JP4282733B1 (ja) | ディスク記憶装置及びデータ書き込み方法 | |
JP2009020986A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 | |
US9804786B2 (en) | Sector translation layer for hard disk drives | |
JP2007193883A (ja) | データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法 | |
US7913029B2 (en) | Information recording apparatus and control method thereof | |
JP4012791B2 (ja) | 情報記録媒体のセクタの再配置方法および情報記憶装置 | |
JP2007193439A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
US6693754B2 (en) | Method and apparatus for a disc drive adaptive file system | |
US20120162809A1 (en) | Magnetic disk drive and method of accessing a disk in the drive | |
US20170090768A1 (en) | Storage device that performs error-rate-based data backup | |
US11275684B1 (en) | Media read cache | |
JPH11282765A (ja) | フラッシュメモリを使用した外部記憶装置 | |
JP4919983B2 (ja) | データ記憶装置及びデータ記憶装置におけるデータ管理方法 | |
JP2007164928A (ja) | 記憶媒体管理装置、記憶媒体管理プログラム、記憶媒体管理方法 | |
JP4496790B2 (ja) | データ記憶装置及び方法、並びに記録再生システム | |
JP2009087461A (ja) | 磁気ディスク装置システム | |
US7725666B2 (en) | Micro-journaling of data on a storage device | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
JP2010157278A (ja) | ディスク記憶装置及び欠陥処理方法 | |
JP2010152981A (ja) | 光ディスクの読み込み方法およびその装置 |