(57)【要約】【課題】この発明は、情報記録媒体に記録するデジタルデータ列に対して、簡易な構成で容易に冗長ビット数を少なく抑えた高レートなラン長制限処理を施すことを可能としたラン長制限装置及びラン長制限方法を提供することを目的としている。【解決手段】それぞれが同じビット数を有する所定数のシンボルで構成されたデジタルデータ列が入力される入力手段（１５ｂ）と、入力されたデジタルデータ列のいずれのシンボルとも一致しないパターンを有する特定シンボル（Ｐ）を検索する検索手段（１５ｃ１）と、検索された特定シンボル（Ｐ）を入力されたデジタルデータ列の各シンボルそれぞれと排他的論理和演算する演算手段（１５ｃ２）と、演算されたデジタルデータ列を特定シンボル（Ｐ）とともに出力する出力手段（１５ｄ）とを備える。【選択図】      図３
2008004195.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが同じビット数を有する所定数のシンボルで構成されたデジタルデータ列が入力される入力手段と、
前記入力手段に入力されたデジタルデータ列のいずれのシンボルとも一致しないパターンを有する特定シンボルを検索する検索手段と、
前記検索手段で検索された特定シンボルを前記入力手段に入力されたデジタルデータ列の各シンボルそれぞれと排他的論理和演算する演算手段と、
前記演算手段で演算されたデジタルデータ列を前記検索手段で検索された特定シンボルとともに出力する出力手段とを具備することを特徴とするラン長制限装置。
【請求項２】
前記検索手段は、前記入力手段に入力されたデジタルデータ列のいずれのシンボルとも一致せず、かつ、前記入力手段に入力されたデジタルデータ列のいずれのシンボルを反転させたものとも一致しないパターンを有する特定シンボルを検索することを特徴とする請求項１記載のラン長制限装置。
【請求項３】
前記検索手段は、前記特定シンボルについて予め十分な数の候補リストを有し、前記入力手段に入力されたデジタルデータ列の各シンボルの、所定の位置のビットが予め定められた値と一致する場合は、そのままのパターンについて一致するものを前記候補リストから除外し、所定の位置のビットが予め定められた値と一致しない場合は、そのシンボルの全ビットを反転したパターンについて一致するものを前記候補リストから除外することにより、所定のシンボル数を入力した後で、いずれのシンボルとも一致せず、いずれのシンボルを反転させたものとも一致しないシンボルを見つけ出すことを特徴とする請求項１記載のラン長制限装置。
【請求項４】
前記出力手段は、前記検索手段で検索された特定シンボルを出力する際に、所定の位置のビットを出力しないことを特徴とする請求項２または３記載のラン長制限装置。
【請求項５】
前記出力手段は、前記演算手段で演算されたデジタルデータ列を複数のシンボルでなる複数のブロックに分割し、その分割されたそれぞれのブロック毎に“０”と“１”との発生頻度がバランスするように、前記演算手段で演算されたデジタルデータ列と、前記演算手段で演算されたデジタルデータ列を反転させたデジタルデータ列とを選択的に出力させることを特徴とする請求項２記載のラン長制限装置。
【請求項６】
前記出力手段は、前記分割されたそれぞれのブロック毎に、前記演算手段で演算されたデジタルデータ列を出力したのか、前記演算手段で演算されたデジタルデータ列を反転させたデジタルデータ列を出力したのかを示す反転情報ビットを付加して出力することを特徴とする請求項５記載のラン長制限装置。
【請求項７】
前記請求項１または６に記載のラン長制限装置から出力されたデジタルデータ列をディスク状の記録媒体に記録する記録手段を具備することを特徴とする情報記録装置。
【請求項８】
前記記録手段は、前記請求項１または６に記載のラン長制限装置から出力されたデジタルデータ列に誤り訂正符号を付加してディスク状の記録媒体に記録することを特徴とする請求項７記載の情報記録装置。
【請求項９】
前記ディスク状の情報記録媒体は、磁気ディスクであることを特徴とする請求項７記載の情報記録装置。
【請求項１０】
それぞれが同じビット数を有する所定数のシンボルで構成されたデジタルデータ列を入力する第１の工程と、
前記第１の工程で入力されたデジタルデータ列のいずれのシンボルとも一致しないパターンを有する特定シンボルを検索する第２の工程と、
前記第２の工程で検索された特定シンボルを前記第１の工程で入力されたデジタルデータ列の各シンボルそれぞれと排他的論理和演算する第３の工程と、
前記第３の工程で演算されたデジタルデータ列を前記第２の工程で検索された特定シンボルとともに出力する第４の工程とを具備することを特徴とするラン長制限方法。
【請求項１１】
前記第２の工程は、前記第１の工程で入力されたデジタルデータ列のいずれのシンボルとも一致せず、かつ、前記第１の工程で入力されたデジタルデータ列のいずれのシンボルを反転させたものとも一致しないパターンを有する特定シンボルを検索することを特徴とする請求項１０記載のラン長制限方法。
【請求項１２】
前記第４の工程は、前記第３の工程で演算されたデジタルデータ列を複数のシンボルでなる複数のブロックに分割し、その分割されたそれぞれのブロック毎に“０”と“１”との発生頻度がバランスするように、前記第３の工程で演算されたデジタルデータ列と、前記第３の工程で演算されたデジタルデータ列を反転させたデジタルデータ列とを選択的に出力させることを特徴とする請求項１１記載のラン長制限方法。
【請求項１３】
前記第４の工程は、前記分割されたそれぞれのブロック毎に、前記第３の工程で演算されたデジタルデータ列を出力したのか、前記第３の工程で演算されたデジタルデータ列を反転させたデジタルデータ列を出力したのかを示す反転情報ビットを付加して出力することを特徴とする請求項１２記載のラン長制限方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報記録媒体に記録するデジタルデータ列にラン長制限処理を施すためのラン長制限装置及びラン長制限方法に関する。
【背景技術】
【０００２】
周知のように、例えばハードディスクや光ディスク等の情報記録媒体にデジタルデータ列を記録する際には、その記録すべきデジタルデータ列に“０”が連続することを防ぐためにラン長制限処理を施して記録している。ところで、現状におけるラン長制限処理手段のうち、符号化率の高いものは、演算量が多いことから回路規模が大きくなっている。
【０００３】
特許文献１には、複数のデータ語よりなるデータ語群に同期パターンを付加して構成したブロックにおける全ての“１”を“０”に、全ての“０”を“１”に反転させ、反転させたか否かの情報を同期パターンに含ませることを可能とすることにより、記録するビット数の増加を防ぐことが開示されている。
【特許文献１】特開昭６２−１６４２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、この発明は上記事情を考慮してなされたもので、情報記録媒体に記録するデジタルデータ列に対して、簡易な構成で容易に冗長ビット数を少なく抑えた高レートなラン長制限処理を施すことを可能としたラン長制限装置及びラン長制限方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係るラン長制限装置は、それぞれが同じビット数を有する所定数のシンボルで構成されたデジタルデータ列が入力される入力手段と、入力手段に入力されたデジタルデータ列のいずれのシンボルとも一致しないパターンを有する特定シンボルを検索する検索手段と、検索手段で検索された特定シンボルを入力手段に入力されたデジタルデータ列の各シンボルそれぞれと排他的論理和演算する演算手段と、演算手段で演算されたデジタルデータ列を検索手段で検索された特定シンボルとともに出力する出力手段とを備えるようにしたものである。
【０００６】
また、この発明に係るラン長制限方法は、それぞれが同じビット数を有する所定数のシンボルで構成されたデジタルデータ列を入力する第１の工程と、第１の工程で入力されたデジタルデータ列のいずれのシンボルとも一致しないパターンを有する特定シンボルを検索する第２の工程と、第２の工程で検索された特定シンボルを第１の工程で入力されたデジタルデータ列の各シンボルそれぞれと排他的論理和演算する第３の工程と、第３の工程で演算されたデジタルデータ列を第２の工程で検索された特定シンボルとともに出力する第４の工程とを備えるようにしたものである。
【発明の効果】
【０００７】
上記した発明によれば、入力されたデジタルデータ列の各シンボルを、そのいずれとも一致しないパターンを有する特定シンボルと排他的論理和演算し、特定シンボルとともに出力するようにしたので、情報記録媒体に記録するデジタルデータ列に対して、簡易な構成で容易に冗長ビット数を少なく抑えた高レートなラン長制限処理を施すことが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施の形態について図面を参照して詳細に説明する。図１は、この実施の形態で説明する情報記録再生装置であるＨＤＤ（hard disk drive）１１の概略を示している。すなわち、このＨＤＤ１１は、外部のホスト装置１２との間で情報の授受を行なうためのホストＩ／Ｆ（interface）１３を備えている。
【０００９】
ここで、上記ホスト装置１２は、例えばＰＣ（personal computer）等である。このホスト装置１２は、例えば所定のアプリケーションソフトウエアを実行する際に、ＨＤＤ１１を利用して情報の書き込み及び読み出しを実行するとともに、最終的に得られた情報の保存先としてもＨＤＤ１１を利用することができる。
【００１０】
この場合、ホスト装置１２は、ＨＤＤ１１に対して情報の書き込みや情報の読み出しを要求するコマンドを発生している。これらのコマンドは、ホストＩ／Ｆ１３を介して主制御部１４に供給され解析される。この主制御部１４は、ＣＰＵ（central processing unit）を内蔵し、ＨＤＤ１１が実行する各種の動作を統括的に制御している。
【００１１】
例えば、ホスト装置１２から書き込み要求コマンドが供給された場合、その書き込み要求コマンドは、ホストＩ／Ｆ１３を介して主制御部１４に供給され解析される。これにより、主制御部１４は、変調処理部１５及び符号化処理部１６を駆動するとともに、ディスクＩ／Ｆ１７を介してハードディスク１８を書き込み状態に制御する。
【００１２】
また、書き込むべきデジタルデータ列は、ホストＩ／Ｆ１３を介して変調処理部１５に供給される。この変調処理部１５は、入力されたデジタルデータ列に対して、例えばランレングス符号化処理のような、このＨＤＤ１１における記録再生系の要求に応じた形態のラン長制限処理（例えばゼロが一定長以上続かないようにする処理）を施している。
【００１３】
この変調処理部１５でラン長制限処理の施されたデジタルデータ列は、符号化処理部１６に供給される。この符号化処理部１６は、入力されたデジタルデータ列に対して、例えばＲＳ（read solomon）符号に基づいた誤り訂正符号であるＥＣＣ（error correcting code）パリティを算出して付加する。
【００１４】
そして、符号化処理部１６によりＥＣＣパリティの付加されたデジタルデータ列は、ディスクＩ／Ｆ１７を介してハードディスク１８に書き込まれ、ここに、ホスト装置１２からの書き込み要求に基づいた、ハードディスク１８へのデジタルデータ列の書き込み処理が実行される。
【００１５】
また、ホスト装置１２から読み出し要求コマンドが供給された場合、その読み出し要求コマンドは、ホストＩ／Ｆ１３を介して主制御部１４に供給され解析される。このため、主制御部１４は、復号化処理部１９及び復調処理部２０を駆動するとともに、ディスクＩ／Ｆ１７を介してハードディスク１８を読み出し状態に制御する。
【００１６】
そして、ハードディスク１８から読み出されたデジタルデータ列（ＥＣＣパリティを含む）は、ディスクＩ／Ｆ１７を介して復号化処理部１９に供給される。この復号化処理部１９は、入力されたデジタルデータ列に対してＥＣＣパリティに基づく誤り訂正処理を施している。
【００１７】
この復号化処理部１９により誤り訂正処理が施されたデジタルデータ列は、復調処理部２０に供給される。この復調処理部２０は、入力されたデジタルデータ列に対して施されている例えばランレングス符号化処理のようなラン長制限処理を復調して、元のデジタルデータ列を復元している。
【００１８】
そして、復調処理部２０により復調処理が施されたデジタルデータ列は、ホストＩ／Ｆ１３を介してホスト装置１２に出力され、ここに、ホスト装置１２からの読み出し要求に基づいた、ハードディスク１８からのデジタルデータ列の読み出し処理が実行されることになる。
【００１９】
ここで、上記変調処理部１５におけるラン長制限処理の第１の例について説明する。すなわち、変調処理部１５に入力されるデジタルデータ列として、例えば５１２バイトのユーザデータを考えた場合、そのデジタルデータ列は、１バイトが８ビットであるから４０９６ビットとなり、１０ビットを１シンボルとすると、図２に示すように、４１０シンボルとなる。
【００２０】
そして、１０ビットのシンボルが取り得るパターンは、２１０＝１０２４個であるから、変調処理部１５では、１０２４個のパターンのうち、入力された４１０シンボルのいずれとも一致しないパターンを有する１０ビットの特定シンボルＰを検索する。そして、変調処理部１５では、入力された４１０個の各シンボルそれぞれに対して、検索したシンボルＰを排他的論理和演算し、そのシンボルＰとともに出力する。
【００２１】
すなわち、４１０シンボルのいずれとも一致しないパターンを有する１０ビットのシンボルを検索し、４１０個の各シンボルそれぞれに対して排他的論理和演算を行なうことにより、４１０個の各シンボルには、それぞれ最低でも１個の“１”が必ず含まれることになる。
【００２２】
この場合、最も“０”が連続するのは、図２に示すように、連続する２つのシンボルのうち、最初のシンボルの先頭ビットのみが“１”となり、次のシンボルの最後のビットのみが“１”となった場合で、“０”の連続数が１８個となる。すなわち、この第１の例によれば、１シンボルのビット数をｎとすると、ラン長を最大でも２ｎ−２に制限することができる。
【００２３】
このように、各シンボルのいずれとも一致しないパターンを有するシンボルＰを検索し、各シンボルそれぞれに対して排他的論理和演算を行なうことにより、“０”の連続数が最大で１８個に抑えられたラン長制限処理を、簡易な構成で容易に施すことが可能となる。また、出力ビット数は、入力された４０９６ビットに１０ビットのシンボルＰを加算した４１０６ビットであり、符号化率も４０９６／４１０６＝０．９９７５６と非常に高レートで、実用に適するものとなる。
【００２４】
図３は、上記変調処理部１５の一例を示している。すなわち、この変調処理部１５は、上記主制御部１４とのデータの授受が可能であり、主制御部１４からの制御に基づいて、変調処理部１５の行なう各種の動作を統括的に制御するためのコントローラ１５ａを備えている。
【００２５】
また、この変調処理部１５は、ホスト装置１２からハードディスク１８に書き込むべく供給されたデジタルデータ列を入力するデータ入力部１５ｂ、このデータ入力部１５ｂに入力されたデジタルデータ列にラン長制限処理を施すラン長制限処理部１５ｃ、このラン長制限処理部１５ｃでラン長制限処理されたデジタルデータ列を符号化処理部１６に出力するデータ出力部１５ｄ等を備えている。
【００２６】
そして、上記ラン長制限処理部１５ｃには、シンボルＰを検索するためのシンボルＰ検索部１５ｃ１、各種の演算処理や判定処理等を行なうための信号処理部１５ｃ２等が備えられている。
【００２７】
図４は、上記した変調処理部１５におけるラン長制限処理動作の第１の例をまとめたフローチャートを示している。この処理動作は、ホストＩ／Ｆ１３に４１０シンボルの書き込むべきデジタルデータ列が蓄積されたことにより開始（ステップＳ１）される。
【００２８】
すると、コントローラ１５ａは、ステップＳ２で、データ入力部１５ｂにホストＩ／Ｆ１３から１シンボル（１０ビット）のデータを入力させ、ステップＳ３で、シンボルＰ検索部１５ｃ１により、予め用意された１０ビットのデータが取り得る１０２４通りのパターンを備えたシンボルＰの候補リストの中から、入力されたシンボルと一致するパターンを有するシンボルを除外させる。なお、この候補リストには、最低でも全データビット数（４０９６）／ｎ（割り切れない場合は切り上げ）個のシンボルが必要となる。
【００２９】
そして、コントローラ１５ａは、ステップＳ４で、４１０シンボルのデータ入力が終了したか否かを判別し、終了していないと判断された場合（ＮＯ）、ステップＳ２の処理に戻される。
【００３０】
また、上記ステップＳ４で４１０シンボルのデータ入力が終了したと判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ５で、シンボルＰ検索部１５ｃ１により、残った候補リストの中から１つのシンボルを選択させ、その選択したシンボルをシンボルＰとして出力させる。
【００３１】
その後、コントローラ１５ａは、ステップＳ６で、再びデータ入力部１５ｂによりホストＩ／Ｆ１３から１シンボルのデータを入力させ、ステップＳ７で、信号処理部１５ｃ２により、入力されたシンボルと選択されたシンボルＰとを排他的論理和演算する。
【００３２】
そして、コントローラ１５ａは、ステップＳ８で、４１０シンボルのデータ入力が終了したか否かを判別し、終了していないと判断された場合（ＮＯ）、ステップＳ６の処理に戻される。
【００３３】
また、上記ステップＳ８で４１０シンボルのデータ入力が終了したと判断された場合（ＹＥＳ）、コントローラ１５ａは、データ出力部１５ｄにより、排他的論理和演算された各シンボルをシンボルＰとともに符号化処理部１６に出力させて、処理を終了（ステップＳ９）する。
【００３４】
次に、上記変調処理部１５におけるラン長制限処理の第２の例について説明する。この第２の例では、ラン長を最大でも２ｎ−１ビットに制限し、かつ、“０”と“１”との発生頻度を第１の例よりもバランスさせるようにしたものである。
【００３５】
すなわち、この第２の例でも、変調処理部１５に入力されるデジタルデータ列として、例えば５１２バイトのユーザデータを考えた場合、そのデジタルデータ列は、１バイトが８ビットであるから４０９６ビットとなり、１０ビットを１シンボルとすると、図５に示すように、４１０シンボルとなる。
【００３６】
そして、１０ビットのシンボルが取り得るパターンは、２１０＝１０２４個であるから、変調処理部１５では、１０２４個のパターンのうち、入力された４１０シンボルのいずれとも一致せず、かつ、入力された４１０シンボルを反転したいずれとも一致しないパターンを有する１０ビットの特定シンボルＰを検索する。
【００３７】
また、変調処理部１５では、図５に示すように、４１０シンボルを均等に複数（図示の場合は５つ）のブロックに分割している。この場合、１つのブロックは、８２シンボルとなる。そして、各ブロックの境界部分（４箇所）には、それぞれ１ビットの反転情報ビットが介挿されるようになっている。
【００３８】
ここで、変調処理部１５では、先頭の第１ブロックを除く第２乃至第５ブロックにおいて、それぞれ、８２個の各シンボルとシンボルＰとを排他的論理和演算した結果と、８２個の各シンボルを反転させたものとシンボルＰとを排他的論理和演算した結果とのうち、“０”と“１”との発生頻度がバランスしている方を選択して出力している。
【００３９】
そして、８２個の各シンボルとシンボルＰとを排他的論理和演算した結果を出力したブロックに対しては、その先頭の反転情報ビットを“０”とし、８２個の各シンボルを反転させたものとシンボルＰとを排他的論理和演算した結果を出力したブロックに対しては、その先頭の反転情報ビットを“１”としている。
【００４０】
すなわち、この第２の例では、入力された４１０シンボルのいずれとも一致せず、かつ、入力された４１０シンボルを反転したいずれとも一致しないパターンを有する１０ビットのシンボルＰを検索し、各ブロックにおいて、そのブロックを構成する各シンボルとシンボルＰとを排他的論理和演算した結果と、そのブロックを構成する各シンボルを反転させたものとシンボルＰとを排他的論理和演算した結果とのうち、“０”と“１”との発生頻度がバランスしている方を選択して出力するようにしている。
【００４１】
これにより、第１の例よりも、“０”と“１”との発生頻度がバランスしたラン長制限処理を、簡易な構成で容易に施すことが可能となる。また、出力ビット数は、入力された４０９６ビットに１０ビットのシンボルＰと４ビットの反転情報ビットとを加算した４１１０ビットであり、符号化率も４０９６／４１１０＝０．９９６５９と非常に高レートで、実用に適するものとなる。
【００４２】
この第２の例の場合、最も“０”が連続するのは、連続する２つのブロックのうち、最初のブロックの最後のシンボルの先頭ビットのみが“１”となり、次のブロックの先頭のシンボルの最後のビットのみが“１”となり、かつ、両ブロックの間に介挿された反転情報ビットが“０”の場合で、“０”の連続数が１９個となる。すなわち、１シンボルのビット数をｎとすると、ラン長を最大でも２ｎ−１に制限することができる。
【００４３】
なお、この第２の例において、シンボルＰとして、入力された４１０シンボルのいずれとも一致せず、かつ、入力された４１０シンボルを反転したいずれとも一致しないものを選択しているのは、各シンボルを反転させたものとシンボルＰとを排他的論理和演算した場合に、その演算結果が全て“０”になってしまうことを防ぐためである。また、上記した第２の例において、反転情報ビットの挿入数及び挿入位置は、適宜設定し得るものとする。
【００４４】
図６乃至図８は、上記した変調処理部１５におけるラン長制限処理動作の第２の例をまとめたフローチャートを示している。この処理動作も、上記ホストＩ／Ｆ１３に４１０シンボルの書き込むべきデジタルデータ列が蓄積されたことにより開始（ステップＳ１０）される。
【００４５】
すると、コントローラ１５ａは、ステップＳ１１で、データ入力部１５ｂにホストＩ／Ｆ１３から１シンボル（１０ビット）のデータを入力させ、ステップＳ１２で、シンボルＰ検索部１５ｃ１により、予め用意された１０ビットのデータが取り得る１０２４通りのパターンを有するシンボルＰの候補リストの中から、入力されたシンボルと一致するパターンを有するシンボルと、入力されたシンボルを反転させたものと一致するパターンを有するシンボルとを除外させる。
【００４６】
そして、コントローラ１５ａは、ステップＳ１３で、４１０シンボルのデータ入力が終了したか否かを判別し、終了していないと判断された場合（ＮＯ）、ステップＳ１１の処理に戻される。
【００４７】
また、上記ステップＳ１３で４１０シンボルのデータ入力が終了したと判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ１４で、シンボルＰ検索部１５ｃ１により、残った候補リストの中から１つのシンボルを選択させ、その選択したシンボルをシンボルＰとして出力させる。
【００４８】
そして、このステップＳ１４では、１つのブロック内における“１”の数と“０”の数との差ＢＫＳＵＭを０とし、ブロック番号ＢＬＯＣＫを０とし、４１０シンボル全てにおける“１”の数と“０”の数との差ＴＯＴＡＬＳＵＭを０に初期化する。
【００４９】
その後、コントローラ１５ａは、ステップＳ１５で、再びデータ入力部１５ｂによりホストＩ／Ｆ１３から１シンボルのデータを入力させ、信号処理部１５ｃ２により、入力されたシンボルと選択されたシンボルＰとを排他的論理和演算させるとともに、排他的論理和演算後のＢＫＳＵＭを求め、現在のＢＫＳＵＭに加算する。
【００５０】
そして、コントローラ１５ａは、ステップＳ１６で、４１０シンボルのデータ入力が終了したか否かを判別し、終了していないと判断された場合（ＮＯ）、ステップＳ１７で、１ブロック分のシンボルのデータ入力が終了したか否かを判別し、終了していないと判断された場合（ＮＯ）、ステップＳ１５の処理に戻される。
【００５１】
また、上記ステップＳ１７で１ブロック分のシンボルのデータ入力が終了したと判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ１８で、ブロック番号ＢＬＯＣＫをインクリメントし、ステップＳ１９で、ブロック番号ＢＬＯＣＫが２以上であるか否かを判別する。
【００５２】
そして、ブロック番号ＢＬＯＣＫが２以上でない（この場合、ブロック番号ＢＬＯＣＫは１、つまり、図５の第１ブロック）と判断された場合（ＮＯ）、コントローラ１５ａは、ステップＳ２０で、１番目のブロックについてステップＳ１５で排他的論理和演算した結果をそのまま出力させて、ステップＳ１５の処理に戻される。これにより、第１ブロックについては、その各シンボルとシンボルＰとをそれぞれ排他的論理和演算した結果が出力される。
【００５３】
また、上記ステップＳ１９でブロック番号ＢＬＯＣＫが２以上である（つまり、図５の第２ブロック以降）と判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ２１で、（ＴＯＴＡＬＳＵＭ＋ＢＫＳＵＭ）の絶対値が（ＴＯＴＡＬＳＵＭ−ＢＫＳＵＭ−１）の絶対値よりも大きいか否かを判別する。これは、第１ブロックから、各シンボルとシンボルＰとの排他的論理和演算が終了した現在のブロックまでにおいて、“０”の数の方が“１”の数より多いか否かを示している。
【００５４】
そして、“１”の数の方が多いと判断された場合（ＮＯ）、コントローラ１５ａは、ステップＳ２２で、ＢＬＯＣＫ−１番目のブロックについて、ステップＳ１５で排他的論理和演算した結果をそのまま出力させるとともに、そのブロックの先頭の反転情報ビットを“０”とする。
【００５５】
その後、コントローラ１５ａは、ステップＳ２３で、ＢＬＯＣＫ−１番目のブロックのＢＫＳＵＭに１を加算した値を現在のＴＯＴＡＬＳＵＭから減算し、ＢＫＳＵＭを０にして、ステップＳ１５の処理に戻される。
【００５６】
また、上記ステップＳ２１で“０”の数の方が多いと判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ２４で、ＢＬＯＣＫ−１番目のブロックについて、ステップＳ１５で排他的論理和演算した結果を反転させて出力（この出力は、前述したシンボルを反転させたものとシンボルＰとの排他的論理和演算の結果と同じ）させるとともに、そのブロックの先頭の反転情報ビットを“１”とする。
【００５７】
その後、コントローラ１５ａは、ステップＳ２５で、ＢＬＯＣＫ−１番目のブロックのＢＫＳＵＭを現在のＴＯＴＡＬＳＵＭに加算し、ＢＫＳＵＭを０にして、ステップＳ１５の処理に戻される。
【００５８】
ここで、上記したステップＳ１６で４１０シンボルのデータ入力が終了したと判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ２６で、（ＴＯＴＡＬＳＵＭ＋ＢＫＳＵＭ）の絶対値が（ＴＯＴＡＬＳＵＭ−ＢＫＳＵＭ−１）の絶対値よりも大きいか否かを判別する。これは、第１ブロックから、各シンボルとシンボルＰとの排他的論理和演算が終了した最終ブロックまでにおいて、“０”の数の方が“１”の数より多いか否かを示している。
【００５９】
そして、“１”の数の方が多いと判断された場合（ＮＯ）、コントローラ１５ａは、ステップＳ２７で、ＢＬＯＣＫ−１番目のブロック（最終ブロック）について、ステップＳ１５で排他的論理和演算した結果をそのまま出力させるとともに、そのブロックの先頭の反転情報ビットを“０”として、処理を終了（ステップＳ２９）する。
【００６０】
また、上記ステップＳ２６で“０”の数の方が多いと判断された場合（ＹＥＳ）、コントローラ１５ａは、ステップＳ２８で、ＢＬＯＣＫ−１番目のブロック（最終ブロック）について、ステップＳ１５で排他的論理和演算した結果を反転させて出力（この出力は、前述したシンボルを反転させたものとシンボルＰとの排他的論理和演算の結果と同じ）させるとともに、そのブロックの先頭の反転情報ビットを“１”として、処理を終了（ステップＳ２９）する。
【００６１】
図６乃至図８に示した第２の例の処理動作において、ステップＳ１５におけるｎビットのシンボルとシンボルＰとの排他的論理和演算については、予め設定した特定の１ビット（例えば最上位ビット）はそのままでそれ以外のｎ−１ビットについて演算を行なうようにすることも可能である。このようにすれば、シンボルＰがｎ−１ビットでよくなり、出力ビット数を１ビット削減することができる。
【００６２】
また、シンボルＰの候補リストにおいて、全ビットが“１”や“０”のように記録に適さないパターンを、シンボルＰが１つ以上存在することを保証できる範囲で、予め候補から除去しておくことも可能である。
【００６３】
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
【図面の簡単な説明】
【００６４】
【図１】この発明の実施の形態を示すもので、ＨＤＤの概略を説明するために示すブロック構成図。
【図２】同実施の形態におけるＨＤＤの変調処理部が行なうラン長制限処理の第１の例を説明するために示す図。
【図３】同実施の形態におけるＨＤＤの変調処理部の一例を説明するために示すブロック構成図。
【図４】同実施の形態におけるラン長制限処理の第１の例の処理動作を説明するために示すフローチャート。
【図５】同実施の形態におけるＨＤＤの変調処理部が行なうラン長制限処理の第２の例を説明するために示す図。
【図６】同実施の形態におけるラン長制限処理の第２の例の処理動作を説明するために示すフローチャート。
【図７】同実施の形態におけるラン長制限処理の第２の例の処理動作を説明するために示すフローチャート。
【図８】同実施の形態におけるラン長制限処理の第２の例の処理動作を説明するために示すフローチャート。
【符号の説明】
【００６５】
１１…ＨＤＤ、１２…ホスト装置、１３…ホストＩ／Ｆ、１４…主制御部、１５…変調処理部、１６…符号化処理部、１７…ディスクＩ／Ｆ、１８…ハードディスク、１９…復号化処理部、２０…復調処理部。
【図１】
2008004195.tif 000003
【図２】
2008004195.tif 000004
【図３】
2008004195.tif 000005
【図４】
2008004195.tif 000006
【図５】
2008004195.tif 000007
【図６】
2008004195.tif 000008
【図７】
2008004195.tif 000009
【図８】
2008004195.tif 000010