(57)【特許請求の範囲】
【請求項１】
記録データが記録された記録データ領域と、記録データが未記録な未記録領域と、上記記録データ領域および上記未記録領域の各々の領域の開始位置と終了位置とを管理する管理データが記録される管理データ記録領域とを備えるとともに記録データが離散的に記録できる記録媒体から所定の未記録領域に隣接する上記管理データにて管理されていない無駄領域を検索する検索回路において、
上記記録媒体に記録された管理情報をアドレス管理して記憶するメモリと、
上記所定の未記録領域の位置を検索基準として保持する基準データレジスタ手段と、
検索操作によって上記メモリから読み出されるデータから検索対象データを抽出して出力する出力選択手段と、
上記出力選択手段から出力される検索対象データを検索データとして保持することが出来る検索データレジスタ手段と、
上記出力選択手段から出力される検索対象データに基づいて検索対象データの位置情報を保持する検索対象データ位置レジスタ手段と、
上記基準データレジスタ手段に保持された基準データと上記出力選択手段から出力される検索対象データとを比較する第１の比較手段と、
上記検索データレジスタ手段に保持された検索データと上記出力選択手段から出力される検索対象データとを比較する第２の比較手段と、
上記第１と第２の比較手段の比較結果に基づいて、上記検索データレジスタ手段の検索データを更新するために上記出力選択手段から出力される検索対象データが上記検索データレジスタ手段に保持され、上記検索データ位置レジスタ手段の上記検索位置情報を更新するために上記検索対象データ位置レジスタ手段に保持された上記検索対象データ位置情報が上記検索データ位置レジスタ手段に保持されることを許可する更新制御手段と
を備える検索回路。
【請求項２】
上記更新制御手段は、
上記所定の未記録領域の前方に位置する無駄領域の検索の場合には、上記検索データレジスタ手段には検索対象データが備える終了位置を保持させるように制御し、
上記所定の未記録領域の後方に位置する無駄領域の検索の場合には、上記検索データレジスタ手段には検索対象データが備える開始位置を保持させるように制御する
ことを特徴とする請求項１記載の検索回路。
【請求項３】
上記所定の未記録領域の前方に位置する無駄領域の検索の場合には、上記第１の比較手段は上記出力手段から出力される検索対象データが備える終了位置が上記検索基準より前であるか否かを比較するとともに、上記第２の比較手段は上記検索データレジスタが保持する検索データが上記出力選択手段から出力される検索対象データが備える終了位置より前であるか否かを比較し、上記所定の未記録領域の後方に位置する無駄領域の検索の場合には、上記第１の比較手段は上記出力手段から出力される検索対象データが備える終了位置が上記検索基準より後であるか否かを比較するとともに、上記第２の比較手段は上記検索データレジスタが保持する検索データが上記出力選択手段から出力される検索対象データが備える終了位置より後であるか否かを比較する
ことを特徴とする請求項１記載の検索回路。
【請求項４】
記録データが記録された記録データ領域と、記録データが未記録な未記録領域と、上記記録データ領域および上記未記録領域の各々の領域の開始位置と終了位置とを管理する管理データが記録される管理データ記録領域とを備えるとともに記録データが離散的に記録できる記録媒体から所定の未記録領域に隣接する上記管理データにて管理されていない無駄領域を検索する記録再生装置において、
上記記録媒体から上記管理データ記録領域に記録された上記管理データを再生する再生手段と、
上記再生手段にて再生された上記記録媒体に記録された管理情報をアドレス管理して記憶するメモリと、
上記所定の未記録領域の位置を検索基準として保持する基準データレジスタ手段と、
検索操作によって上記メモリから読み出されるデータから検索対象データを抽出して出力する出力選択手段と、
上記出力選択手段から出力される検索対象データを検索データとして保持することが出来る検索データレジスタ手段と、
上記出力選択手段から出力される検索対象データに基づいて検索対象データの位置情報を保持する検索対象データ位置レジスタ手段と、
上記基準データレジスタ手段に保持された基準データと上記出力選択手段から出力される検索対象データとを比較する第１の比較手段と、
上記検索データレジスタ手段に保持された検索データと上記出力選択手段から出力される検索対象データとを比較する第２の比較手段と、
上記第１と第２の比較手段の比較結果に基づいて、上記検索データレジスタ手段の検索データを更新するために上記出力選択手段から出力される検索対象データが上記検索データレジスタ手段に保持され、上記検索データ位置レジスタ手段の上記検索位置情報を更新するために上記検索対象データ位置レジスタ手段に保持された上記検索対象データ位置情報が上記検索データ位置レジスタ手段に保持されることを許可する更新制御手段と、
上記検索データレジスタに保持された検索データに基づいて上記所定の空き領域に検索された上記所定の空き領域に隣接する無駄領域をマージして上記検索された無駄領域を消失させるように上記メモリに記憶された管理情報を編集する制御手段と、
編集された上記メモリに記憶された管理情報を上記記録媒体の管理データ記録領域に書き戻す記録手段と
を備える記録再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は例えばディスク状記録媒体に楽曲等のデータを記録することのできる記録再生装置、及びその記録再生装置内に設けられる検索回路に関するものである。
【０００２】
【従来の技術】
ユーザーが音楽データ等を記録することのできるデータ書き換え可能なディスクメディアが知られており、このようなディスクメディアでは、既に楽曲等のデータが記録されているエリア（セグメント）や未記録エリア（セグメント）を管理するデータ領域（ユーザーＴＯＣ，以下Ｕ−ＴＯＣという）が設けられ、例えば記録動作や記録された楽曲等の消去動作の終了毎にこの管理データも書き換えられるようになされている。
【０００３】
そして、例えば或る楽曲の録音を行なおうとする際には、録音装置はＵ−ＴＯＣからディスク上の未記録エリアを探し出し、ここに音声データを記録していくようになされている。また、再生装置においては再生すべき楽曲が記録されているエリアをＵ−ＴＯＣから判別し、そのエリアにアクセスして再生動作を行なう。
【０００４】
ところで、光磁気ディスク（ＭＯディスク）等の記録可能のディスクメディアにおいては、ＤＡＴやコンパクトカセットテープ等のテープ状記録媒体に比べてランダムアクセスがきわめて容易であり、従って、例えば１つの楽曲を必ずしも連続したセグメント（なお、本明細書において『セグメント』とは物理的に連続したデータが記録されているトラック部分のことをいう）に記録する必要はなく、ディスク上において離散的に複数のセグメントに分けて記録してしまっても問題ない。
【０００５】
特に、光磁気ディスクから読み出されたデータを高速レートで一旦バッファメモリに蓄え、バッファＲＡＭから低速レートで読出を行なって音声再生信号として復調処理していくシステムでは、セグメント間のアクセスにより、一時的に光磁気ディスクからのデータ読出が中断されてしまっても、再生音声がとぎれることなく出力することができる。
【０００６】
従って、セグメント内の記録再生動作と高速アクセス動作（バッファＲＡＭの書込レートと読出レートの差によって生じるデータ蓄積量による再生可能時間以内に終了するアクセス動作）とを繰り返していけば、１つの楽曲のトラックが複数のセグメントに別れて物理的に分割されていても楽曲の記録／再生に支障はないようにすることができる。
【０００７】
例えば図１８に示すように第１曲目がセグメントＴ1 、第２曲目がセグメントＴ2 として連続的に記録されているが、第４曲目、５曲目としてセグメントＴ4(1)〜Ｔ4(4)、Ｔ5(1)〜Ｔ5(2)に示すようにトラック上に分割して記録されることも可能である。（なお、図１８はあくまでも模式的に示したもので、実際には１つのセグメントは数〜数１００トラックもしくはそれ以上にわたることが多い。）
【０００８】
光磁気ディスクに対して楽曲の記録や消去が繰り返されたとき、記録する楽曲の演奏時間や消去した楽曲の演奏時間の差によりトラック上の空き領域が不規則に発生してしまうが、このように離散的な記録を実行することにより、例えば消去した楽曲よりも長い楽曲を、その消去部分を活用して記録することが可能になり、記録／消去の繰り返しにより、データ記録領域の無駄が生じることは解消される。なお、記録されるのは必ずしも『楽曲』に限らず、音声信号であれば如何なるものも含まれるが、本明細書では内容的に連続する１つのデータのかたまり（記録データ単位）を『楽曲』と表現することとする。
【０００９】
もちろんこのようなディスクメディアに対しては、記録時には複数の未記録エリアとなるセグメントをアクセスしながら録音を継続していき、また再生時には１つの楽曲が正しく連続して再生されるようにセグメントがアクセスされていかなければならない。このために必要な、１つの楽曲内のセグメント（例えばＴ4(1)〜Ｔ4(4)）を連結するためのデータや、未記録エリアを示すデータは、上記したように記録動作や消去動作毎に書き換えられるＵ−ＴＯＣ情報として保持されており、記録／再生装置は例えばディスクがローディングされた時点でこのＵ−ＴＯＣ情報を読み込んでメモリに保持する。そして、記録／再生／消去等の動作の際にはメモリに保持されたＵ−ＴＯＣ情報に基づいてヘッドのアクセスを行なうことにより、適正に記録／再生／消去動作をなすように制御される。
【００１０】
なお、光磁気ディスクにおける記録トラックは、図１９のように４セクターの（１セクタ＝２３５２バイト）サブデータ領域と３２セクターのメインデータ領域からなるクラスタＣＬ（＝３６セクタ−）が連続して形成されており、１クラスタが記録時の最小単位とされる。１クラスタは２〜３周回トラック分に相当する。なお、アドレスは１セクター毎に記録される。
４セクターのサブデータ領域はサブデータやリンキングエリアとしてなどに用いられ、ＴＯＣデータ、オーディオデータ等の記録は３２セクターのメインデータ領域に行なわれる。
【００１１】
また、セクターはさらにサウンドグループに細分化され、２セクターが１１サウンドグループに分けられている。そして、サウンドグループ内には５１２サンプルのデータがＬチャンネルとＲチャンネルに分けられて記録されることになる。１サウンドグループは11.6msecの時間に相当する音声データ量となる。
【００１２】
ここで、録音又は消去に応じたＵ−ＴＯＣの編集動作について説明する。
図２０はディスクのトラックのエリア構造をその半径方向に模式的に示したものであり、まずこのエリア構造を説明する。
【００１３】
光磁気ディスクの場合、大きくわけて図２０にピットエリアとして示すようにエンボスピットによりデータが記録されているエリア（プリマスタードエリア）と、いわゆる光磁気エリアとされてグルーブが設けられているグルーブエリアに分けられる。
【００１４】
ここでピットエリアとしては管理情報としてのプリマスタードＴＯＣ（以下、Ｐ−ＴＯＣ）が繰り返し記録されており、このＰ−ＴＯＣには、Ｕ−ＴＯＣの位置がＵ−ＴＯＣスタートアドレスＵＳＴA として示され、また、リードアウトスタートアドレスＲＯA 、レコーダブルユーザーエリアスタートアドレスＲＳＴA 、パワーキャルエリアスタートアドレスＰＣA 等が示されている。
【００１５】
このディスクの最内周側のピットエリアに続いてグルーブエリアが形成されるが、このグルーブエリア内のうち上記Ｐ−ＴＯＣ内のリードアウトスタートアドレスＲＯA として示されるアドレスまでのエリアが、記録可能なレコーダブルエリアとされ、以降はリードアウトエリアとされている。
【００１６】
さらにこのレコーダブルエリアのうち、実際にデータが記録されるレコーダブルユーザーエリアは、上記Ｐ−ＴＯＣ内のレコーダブルユーザーエリアスタートアドレスＲＳＴA として示される位置（アドレスＡMIN ）から、リードアウトスタートアドレスＲＯA 直前の位置（アドレスＡMAX ）までとなる。
【００１７】
そして、グルーブエリア内においてレコーダブルユーザーエリアスタートアドレスＲＳＴA より前となるエリアは、記録再生動作のための管理エリアとされ、上記したＵ−ＴＯＣ等が記録され、またパワーキャルエリアスタートアドレスＰＣA として示される位置から１クラスタ分がレーザーパワーのキャリブレーションエリアとして設けられる。
【００１８】
Ｕ−ＴＯＣはこの記録再生動作のための管理エリア内において所要の位置に３クラスタ連続して記録されるものであり、Ｕ−ＴＯＣがどのアドレス位置に記録されるかはＰ−ＴＯＣにおけるＵ−ＴＯＣスタートアドレスＵＳＴA に示されることになる。
【００１９】
そして、Ｕ−ＴＯＣ内には、管理情報として、レコーダブルユーザーエリアの記録状況を備えることになる。
【００２０】
今、仮に図２０のように、レコーダブルユーザーエリアに４曲の楽曲Ｍ1 〜Ｍ4 が記録されているとする。即ち、アドレスＡ1 （＝ＡMIN ）〜Ａ2 のセグメントに第１曲目の楽曲Ｍ1 が記録され、また第２曲目の楽曲Ｍ2 はアドレスＡ3 〜Ａ4 のセグメントに記録された部分Ｍ2(1)とアドレスＡ11〜Ａ12のセグメントに記録された部分Ｍ2(2)にわかれて記録されている。
【００２１】
さらに、第３曲目の楽曲Ｍ3 はアドレスＡ5 〜Ａ6 のセグメントに記録され、また第４曲目の楽曲Ｍ4 はアドレスＡ9 〜Ａ10のセグメントに記録された部分Ｍ4(1)とアドレスＡ13〜Ａ14のセグメントに記録された部分Ｍ4(2)にわかれて記録されているとする。
【００２２】
この状態で、まだ楽曲の記録されていない未記録領域、つまり新たに録音可能なフリーエリアはアドレスＡ7 〜Ａ8 のセグメント（Ｆ(1) ）と、アドレスＡ15〜Ａ16（＝ＡMAX ）のセグメント（Ｆ(2) ）となる。
【００２３】
この状態はＵ−ＴＯＣ内において図２１に示すように管理される。
Ｕ−ＴＯＣ内には、図２１に示すように各種テーブルポインタ(P-DFA，P-EMPTY ，P-FRA ，P-TNO1〜P-TNO255）からなる対応テーブル指示データ部が設けられ、また、これに対応して２５５個のパーツテーブル(01h) 〜(FFh) を有する管理テーブル部が設けられている。各パーツテーブルはディスク上の１つのセグメントについてそのスタートアドレス、エンドアドレス、トラックモードを示し、また他のパーツテーブルにリンクするためのリンク情報が記録されるようになされている。
そして、対応テーブル指示データ部の各種テーブルポインタによって或るパーツテーブルが示され、セグメントが管理される。
【００２４】
テーブルポインタP-DFA はディスク上の欠陥エリアを示すものであるが、今、図２０におけるレコーダブルユーザーエリアに欠陥は無いものとすると、テーブルポインタP-DFA は『００ｈ』とされる。続いてテーブルポインタP-EMPTY は未使用のパーツテーブルを示す。
【００２５】
テーブルポインタP-FRA は未記録領域（フリーエリア）を管理するためのものであり、ここでテーブルポインタP-FRA に（０１ｈ）というパーツテーブルが示されているとする（なお、実際に各テーブルポインタには所定の演算処理でパーツテーブルのアドレスを得ることができる数値によってパーツテーブルが示されている）。
【００２６】
この場合、これに対応してパーツテーブル（０１ｈ）には、上記図２０のフリーエリアＦ(1) についての情報が示され、つまりアドレスＡ7 がスタートアドレス、アドレスＡ8 がエンドアドレスとして示される。また、他のセグメントとしてフリーエリアＦ(2) が存在するため、パーツテーブル（０１ｈ）のリンク情報としてパーツテーブル（０９ｈ）が示されている（実際に所定の演算処理で或るパーツテーブルのアドレスを得ることができる数値がリンク情報として示されている）。
【００２７】
そしてパーツテーブル（０９ｈ）にはフリーエリアＦ(2) に対応して、アドレスＡ15がスタートアドレス、アドレスＡ16がエンドアドレスとして示される。そして、フリーエリアとなるセグメントは他に存在しないため、他のパーツテーブルにリンクさせる必要はなく、リンク情報は『００ｈ』とされる。
【００２８】
このようにフリーエリアが管理されることにより、例えば記録を行なう際にはテーブルポインタP-FRA を起点としてパーツテーブルを検索していけば、フリーエリアとなるセグメントのアドレスを得、そのセグメントに楽曲等の録音を行なうことができる。
【００２９】
これと同様の形態で既に記録された楽曲も管理されている。楽曲については、テーブルポインタP-TNO1〜P-TNO255により、最大２５５曲までが管理可能とされる。
【００３０】
例えば第１曲目Ｍ1 についてはテーブルポインタP-TNO1に示される（０２ｈ）のパーツテーブルにおいてそのスタートアドレスＡ1 及びエンドアドレスＡ2 が示される。楽曲Ｍ1 は１つのセグメントに記録されているため、この場合パーツテーブル（０２ｈ）のリンク情報は『００ｈ』とされている。
【００３１】
また、第２曲目Ｍ2 については、テーブルポインタP-TNO2に示される（０４ｈ）のパーツテーブルにおいてそのスタートアドレスＡ3 及びエンドアドレスＡ4 が示されている。ただし楽曲Ｍ2 は２つのセグメントに別れて記録されており、アドレスＡ3 及びアドレスＡ4 は楽曲Ｍ2 の前半部分（Ｍ2(1)）のセグメントを示すのみである。そこでパーツテーブル（０４ｈ）のリンク情報として例えばパーツテーブル（０６ｈ）が示され、パーツテーブル（０６ｈ）には後半部分（Ｍ2(2)）のセグメントを示すべく、スタートアドレスＡ11及びエンドアドレスＡ12が記録されている。以降リンクは不要であるためパーツテーブル（０６ｈ）のリンク情報は『００ｈ』とされている。
【００３２】
第３曲目Ｍ3 ，第４曲目Ｍ4 についてもそれぞれテーブルポインタP-TNO3，P-TNO4を起点として得られるパーツテーブルによってそのセグメント位置が管理されている。なお、４曲しか録音されていないため、テーブルポインタP-TNO5〜P-TNO255までは使用されておらず『００ｈ』とされている。
【００３３】
このように各楽曲もそのセグメント位置が管理されることにより、曲順が不規則とされたり、または２以上のセグメントに分割されて記録されていても、再生動作は適正に実行できる。
【００３４】
また、テーブルポインタP-EMPTY は上記のように未使用のパーツテーブルを示すためのものであって、この例の場合、テーブルポインタP-EMPTY はパーツテーブル（０８ｈ）を示している。そして、パーツテーブル（０８ｈ）からリンク情報によって図示するようにパーツテーブル（ＦＦｈ）までの使用されていないパーツテーブルが連結管理されている。未使用パーツテーブルの連結の最後となるパーツテーブル（この場合パーツテーブル（ＦＦｈ））のリンク情報は以降連結なしとして『００ｈ』とされる。
【００３５】
ところで、楽曲の記録／消去等を行なっているうちに、上記管理形態のＵ−ＴＯＣによって管理されない無駄エリア（トラッシュエリア）が生じることが発生する。これは、楽曲の記録の際に誤って他のトラックのデータを消去することがないように前後に例えば数クラスタ分のガードバンド領域を設けて録音を行なったり、さらに録音がクラスタ単位とされて録音開始位置が規定されていること、さらに、曲の一部を削除したり合成する楽曲編集を行なうことなどが原因となって生じる。
【００３６】
例えば図２０の場合では、斜線部として示した部分、即ちアドレスＡ4 〜Ａ5 ，アドレスＡ6 〜Ａ7 ，アドレスＡ12〜Ａ13がトラッシュエリアとして発生しており、これらのトラッシュエリアとなったセグメントは図２１に示したＵ−ＴＯＣの管理形態上ではあらわれてこないことになる。そして、このようなトラッシュエリアが発生すると、その分ディスクの記録容量が小さくなってしまうととなるため、従来より、或る時点でＵ−ＴＯＣの再編集を行なってトラッシュエリアを解消するようにしていた。例えば或る楽曲の消去の際や、ユーザー操作によりＵ−ＴＯＣ再編集が指令された際、或は制御装置がトラッシュエリアが増えたと判断した際などにＵ−ＴＯＣ編集処理が実行される。
【００３７】
ここで消去動作に応じた編集処理例を説明する。
図２０の状態から図２２に示すように楽曲Ｍ3 を消去するとする。このとき、楽曲Ｍ3 のセグメントはフリーエリアに組み込まれることになるが、この楽曲Ｍ3 のセグメントの前後に位置するトラッシュエリアも同時にフリーエリアに組み込み、さらに後続するアドレスＡ7 〜Ａ8 のフリーエリアＦ(1) を合成して、図２２に示すようにアドレスＡ17〜Ａ8 として新たにフリーエリアＦ(1) を設定すれば、アドレスＡ4 〜Ａ5 及びアドレスＡ6 〜Ａ7 のトラッシュエリアは解消されることになる。つまり、新たにＵ−ＴＯＣによって図２３の状態でレコーダブルユーザーエリアが管理されるようにＵ−ＴＯＣが書き換えられればよい。
【００３８】
そこで、このような記録装置ではメモリ内に保持されたＵ−ＴＯＣ情報について、図２１の状態から図２４の状態に書き換えることになる。図２４において斜線を付した部位が図２１の状態から書き換えられた部位を示す。
【００３９】
即ち、フリーエリアＦ(1) を示すパーツテーブル（０１ｈ）のスタートアドレスがアドレスＡ17に書き換えられ、さらに、楽曲Ｍ3 が消去されたことによって楽曲Ｍ4 が繰り上って楽曲Ｍ3 とされる。即ちテーブルポインタP-TNO4に書かれていたデータ（即ちパーツテーブル（０７ｈ）を示すデータ）がテーブルポインタP-TNO3に書き込まれ、テーブルポインタP-TNO4は『００ｈ』とされる。また、それまで楽曲Ｍ3 のセグメントを示していたパーツテーブル（０３ｈ）は不要となるため、パーツテーブル（ＦＦｈ）からリンクされて、テーブルポインタP-EMPTY を起点としてリンクされ、未使用パーツテーブルとして管理されることになる。
この図２４のようにＵ−ＴＯＣが編集されることにより図２３の状態が実現される。
【００４０】
【発明が解決しようとする課題】
ところが、このような編集を行なうためには、Ｕ−ＴＯＣ内のパーツテーブルを検索し、楽曲Ｍ3 が記録されていたセグメントと前後に隣り合うセグメント、及びそれらのセグメントが楽曲が記録されたエリアかフリーエリアかを判別することが必要であり、さらに、それら前後のセグメントとの間にトラッシュエリアが存在しているか否かも判別しなくてはならない。
【００４１】
特に、図２１から分かるように、パーツテーブルからは、或るパーツテーブルに示されたセグメントに対して実際にディスク上で隣り合っているセグメントは分からないため、全てのパーツテーブルについてセグメントのアドレスを順に読み込んで、基準となるセグメント（この場合消去された楽曲Ｍ3 のセグメント）のアドレスと比較していき、最も近いものが隣り合うセグメントであるとする検索動作を行なう必要がある。
【００４２】
通常、このような記録装置においては、Ｕ−ＴＯＣを保持するメモリに対してメモリ書込／読出アドレスの出力や記憶データの授受を行なうメモリコントローラが設けられ、さらに、このメモリコントローラに対してシステムコントローラ（マイコン）が動作制御を行なってデータの記憶／読出を実行している。そして、上記したシステムコントローラはメモリからＵ−ＴＯＣを読み込んで実際の記録等の動作を制御しているとともに、上記したＵ−ＴＯＣ編集動作も行なっているが、この編集動作のためにシステムコントローラはメモリコントローラを介して上述のように全てのパーツテーブルに対する検索を行ない、しかも検索された各パーツテーブルについてのアドレス比較動作を行なって隣接セグメントを検索することになる。
【００４３】
このため、メモリ（メモリコントローラ）からシステムコントローラまでのパーツテーブルのデータの通信に膨大な時間がかかり、また、これらの通信動作と比較処理のために処理負担も著しく大きくなってしまっているという問題がある。
特にメモリコントローラとシステムコントローラがシリアル通信でデータ授受を行なうものである場合、例えば、上記のような編集動作によりトラッシュエリアの処理を実行すると、最悪で２分程度の処理時間が必要になってしまい、このように処理時間が必要になることは、記録装置の実際の使用上、非常に都合が悪い。
【００４４】
【課題を解決するための手段】
本発明はこのような問題点にかんがみてなされたもので、Ｕ−ＴＯＣの編集処理の著しい迅速化とシステムコントローラの処理負担の軽減を同時に実現することができるようにすることを目的とする。
【００４５】
このため検索回路は、記録データが記録された記録データ領域と、記録データが未記録な未記録領域と、記録データ領域および未記録領域の各々の領域の開始位置と終了位置とを管理する管理データが記録される管理データ記録領域とを備えるとともに記録データが離散的に記録できる記録媒体から所定の未記録領域に隣接する管理データにて管理されていない無駄領域を検索する検索回路において、記録媒体に記録された管理情報をアドレス管理して記憶するメモリと、所定の未記録領域の位置を検索基準として保持する基準データレジスタ手段と、検索操作によってメモリから読み出されるデータから検索対象データを抽出して出力する出力選択手段と、出力選択手段から出力される検索対象データを検索データとして保持することが出来る検索データレジスタ手段と、出力選択手段から出力される検索対象データに基づいて検索対象データの位置情報を保持する検索対象データ位置レジスタ手段と、基準データレジスタ手段に保持された基準データと出力選択手段から出力される検索対象データとを比較する第１の比較手段と、検索データレジスタ手段に保持された検索データと上記出力選択手段から出力される検索対象データとを比較する第２の比較手段と、第１と第２の比較手段の比較結果に基づいて、検索データレジスタ手段の検索データを更新するために出力選択手段から出力される検索対象データが検索データレジスタ手段に保持され、検索データ位置レジスタ手段の検索位置情報を更新するために検索対象データ位置レジスタ手段に保持された検索対象データ位置情報が検索データ位置レジスタ手段に保持されることを許可する更新制御手段とから構成される。
【００４６】
そして、更新制御手段は、所定の未記録領域の前方に位置する無駄領域の検索の場合には、検索データレジスタ手段には検索対象データが備える終了位置を保持させるように制御し、所定の未記録領域の後方に位置する無駄領域の検索の場合には、検索データレジスタ手段には検索対象データが備える開始位置を保持させるように制御するように構成する。
【００４７】
また、所定の未記録領域の前方に位置する無駄領域の検索の場合には、第１の比較手段は出力手段から出力される検索対象データが備える終了位置が検索基準より前であるか否かを比較するとともに、第２の比較手段は検索データレジスタが保持する検索データが出力選択手段から出力される検索対象データが備える終了位置より前であるか否かを比較し、所定の未記録領域の後方に位置する無駄領域の検索の場合には、第１の比較手段は出力手段から出力される検索対象データが備える終了位置が検索基準より後であるか否かを比較するとともに、第２の比較手段は検索データレジスタが保持する検索データが出力選択手段から出力される検索対象データが備える終了位置より後であるか否かを比較するようにする。
【００４８】
さらに、記録データが記録された記録データ領域と、記録データが未記録な未記録領域と、記録データ領域および未記録領域の各々の領域の開始位置と終了位置とを管理する管理データが記録される管理データ記録領域とを備えるとともに記録データが離散的に記録できる記録媒体から所定の未記録領域に隣接する管理データにて管理されていない無駄領域を検索する記録再生装置において、記録媒体から管理データ記録領域に記録された管理データを再生する再生手段と、再生手段にて再生された記録媒体に記録された管理情報をアドレス管理して記憶するメモリと、所定の未記録領域の位置を検索基準として保持する基準データレジスタ手段と、検索操作によってメモリから読み出されるデータから検索対象データを抽出して出力する出力選択手段と、出力選択手段から出力される検索対象データを検索データとして保持することが出来る検索データレジスタ手段と、出力選択手段から出力される検索対象データに基づいて検索対象データの位置情報を保持する検索対象データ位置レジスタ手段と、基準データレジスタ手段に保持された基準データと出力選択手段から出力される検索対象データとを比較する第１の比較手段と、検索データレジスタ手段に保持された検索データと出力選択手段から出力される検索対象データとを比較する第２の比較手段と、第１と第２の比較手段の比較結果に基づいて、検索データレジスタ手段の検索データを更新するために出力選択手段から出力される検索対象データが検索データレジスタ手段に保持され、検索データ位置レジスタ手段の検索位置情報を更新するために検索対象データ位置レジスタ手段に保持された検索対象データ位置情報が検索データ位置レジスタ手段に保持されることを許可する更新制御手段と、検索データレジスタに保持された検索データに基づいて所定の空き領域に検索された所定の空き領域に隣接する無駄領域をマージして検索された無駄領域を消失させるようにメモリに記憶された管理情報を編集する制御手段と、編集されたメモリに記憶された管理情報を記録媒体の管理データ記録領域に書き戻す記録手段とを備えて構成する。
【００４９】
【作用】
本発明は、所定の未記録領域の位置を検索基準として保持し、検索操作によってメモリから読み出されるデータから検索対象データを抽出して検索データとして保持し、該検索対象データの位置情報を検索対象データ位置レジスタ手段に保持し、基準データと検索対象データとを比較する第１の比較結果と、検索データと検索対象データとを比較する第２の比較結果に基づいて、検索データを更新するために検索対象データが検索データレジスタ手段に保持され、検索位置情報を更新するために検索対象データ位置情報が検索データ位置レジスタ手段に保持される。
このため、編集の基準となるセグメントの前後のセグメントを検索する処理が検索回路により実行されることにより、システムコントローラが検索を実行する必要はなくなり、システムコントローラの処理負担は軽減される。
【００５０】
【実施例】
以下、図１〜図１７を用いて本発明のメモリ制御装置及びメモリデータサーチ回路の実施例を説明する。この実施例は光磁気ディスクを記録媒体として用いた記録再生装置において設けられるメモリ制御装置、及びそのメモリ制御装置内に設けられるメモリデータサーチ回路とする。
【００５１】
図１は記録再生装置の要部のブロック図を示している。
図１において、１は例えば音声データが記録されている光磁気ディスクを示し、スピンドルモータ２により回転駆動される。３は光磁気ディスク１に対して記録／再生時にレーザ光を照射する光学ヘッドであり、記録時には記録トラックをキュリー温度まで加熱するための高レベルのレーザ出力をなし、また再生時には磁気カー効果により反射光からデータを検出するための比較的低レベルのレーザ出力をなす。
【００５２】
このため、光学ヘッド３はレーザ出力手段としてのレーザダイオード、偏向ビームスプリッタや対物レンズ等からなる光学系、及び反射光を検出するためのディテクタが搭載されている。対物レンズ３ａは２軸機構４によってディスク半径方向及びディスクに接離する方向に変位可能に保持されている。
【００５３】
また、６は供給されたデータによって変調された磁界を光磁気ディスクに印加する磁気ヘッドを示し、光磁気ディスク１を挟んで光学ヘッド３と対向する位置に配置されている。光学ヘッド３全体及び磁気ヘッド６は、スレッド機構５によりディスク半径方向に移動可能とされている。
【００５４】
再生動作によって、光学ヘッド３により光磁気ディスク１から検出された情報はＲＦアンプ７に供給される。ＲＦアンプ７は供給された情報の演算処理により、再生ＲＦ信号、トラッキングエラー信号、フォーカスエラー信号、絶対位置情報（光磁気ディスク１にプリグルーブ（ウォブリンググルーブ）として記録されている絶対位置情報）、アドレス情報、フォーカスモニタ信号等を抽出する。そして、抽出された再生ＲＦ信号はエンコーダ／デコーダ部８に供給される。また、トラッキングエラー信号、フォーカスエラー信号はサーボ回路９に供給され、アドレス情報はアドレスデコーダ１０に供給される。さらに絶対位置情報、フォーカスモニタ信号は例えばマイクロコンピュータによって構成されるシステムコントローラ１１に供給される。
【００５５】
サーボ回路９は供給されたトラッキングエラー信号、フォーカスエラー信号や、システムコントローラ１１からのトラックジャンプ指令、シーク指令、スピンドルモータ２の回転速度検出情報等により各種サーボ駆動信号を発生させ、２軸機構４及びスレッド機構５を制御してフォーカス及びトラッキング制御をなし、またスピンドルモータ２を一定角速度（ＣＡＶ）又は一定線速度（ＣＬＶ）に制御する。
【００５６】
再生ＲＦ信号はエンコーダ／デコーダ部８でＥＦＭ復調、ＣＩＲＣ等のデコード処理された後、メモリコントローラ１２によって一旦バッファＲＡＭ１３に書き込まれる。なお、光学ヘッド３による光磁気ディスク１からのデータの読み取り及び光学ヘッド３からバッファＲＡＭ１３までの系における再生データの転送は1.41Mbit/secで、しかも間欠的に行なわれる。
【００５７】
バッファＲＡＭ１３に書き込まれたデータは、再生データの転送が0.3Mbit/sec となるタイミングで読み出され、エンコーダ／デコーダ部１４に供給される。そして、音声圧縮処理に対するデコード処理等の再生信号処理を施され、Ｄ／Ａ変換器１５によってアナログ信号とされ、端子１６から所定の増幅回路部へ供給されて再生出力される。例えばＬ，Ｒオーディオ信号として出力される。
【００５８】
ここで、バッファＲＡＭ１３へのデータの書込／読出は、メモリコントローラ１２によって書込ポインタと読出ポインタの制御によりアドレス指定されて行なわれるが、書込ポインタ（書込アドレス）は上記したように1.41Mbit/secのタイミングでインクリメントされ、一方、読出ポインタ（読出アドレス）は0.3Mbit/sec のタイミングでインクリメントされていくため、この書込と読出のビットレートの差異により、バッファＲＡＭ１３内には或る程度データが蓄積された状態となる。バッファＲＡＭ１３内にフル容量のデータが蓄積された時点で書込ポインタのインクリメントは停止され、光学ヘッド３による光磁気ディスク１からのデータ読出動作も停止される。ただし読出ポインタＲのインクリメントは継続して実行されているため、再生音声出力はとぎれないことになる。
【００５９】
その後、バッファＲＡＭ１３から読出動作のみが継続されていき、或る時点でバッファＲＡＭ１３内のデータ蓄積量が所定量以下となったとすると、再び光学ヘッド３によるデータ読出動作及び書込ポインタＷのインクリメントが再開され、再びバッファＲＡＭ１３のデータ蓄積がなされていく。
【００６０】
このようにバッファＲＡＭ１３を介して再生音響信号を出力することにより、例えば外乱等でトラッキングが外れた場合などでも、再生音声出力が中断してしまうことはなく、データ蓄積が残っているうちに例えば正しいトラッキング位置までにアクセスしてデータ読出を再開することで、再生出力に影響を与えずに動作を続行できる。即ち、耐震機能を著しく向上させることができる。
【００６１】
図１において、アドレスデコーダ１０から出力されるアドレス情報や制御動作に供されるサブコードデータはエンコーダ／デコーダ部８を介してシステムコントローラ１１に供給され、各種の制御動作に用いられる。
さらに、記録／再生動作のビットクロックを発生させるＰＬＬ回路のロック検出信号、及び再生データ（Ｌ，Ｒチャンネル）のフレーム同期信号の欠落状態のモニタ信号もシステムコントローラ１１に供給される。
【００６２】
また、システムコントローラ１１は光学ヘッド３におけるレーザダイオードの動作を制御するレーザ制御信号ＳLPを出力しており、レーザダイオードの出力をオン／オフ制御するとともに、オン制御時としては、レーザパワーが比較的低レベルである再生時の出力と、比較的高レベルである記録時の出力とを切り換えることができるようになされている。
【００６３】
光磁気ディスク１に対して記録動作が実行される際には、端子１７に供給された記録信号（アナログオーディオ信号）は、Ａ／Ｄ変換器１８によってデジタルデータとされた後、エンコーダ／デコーダ部１４に供給され、音声圧縮エンコード処理を施される。エンコーダ／デコーダ部１４によって圧縮された記録データはメモリコントローラ１２によって一旦バッファＲＡＭ１３に書き込まれ、また所定タイミングで読み出されてエンコーダ／デコーダ部８に送られる。そしてエンコーダ／デコーダ部８でＣＩＲＣエンコード、ＥＦＭ変調等のエンコード処理された後、磁気ヘッド駆動回路１５に供給される。
【００６４】
磁気ヘッド駆動回路１５はエンコード処理された記録データに応じて、磁気ヘッド６に磁気ヘッド駆動信号を供給する。つまり、光磁気ディスク１に対して磁気ヘッド６によるＮ又はＳの磁界印加を実行させる。また、このときシステムコントローラ１１は光学ヘッドに対して、記録レベルのレーザ光を出力するように制御信号を供給する。
【００６５】
１９はユーザー操作に供されるキーが設けられた操作入力部、２０は例えば液晶ディスプレイによって構成される表示部を示す。操作入力部１９には録音キー、再生キー、停止キー、ＡＭＳキー、サーチキー等がユーザー操作に供されるように設けられている。
【００６６】
また、ディスク１に対して記録／再生動作を行なう際には、ディスク１に記録されている管理情報、即ちＰ−ＴＯＣ、Ｕ−ＴＯＣを読み出して、システムコントローラ１１はこれらの管理情報に応じてディスク１上の記録すべきセグメントのアドレスや、再生すべきセグメントのアドレスを判別することとなるが、この管理情報はバッファＲＡＭ１３に保持される。このためバッファＲＡＭ１３は、上記した記録データ／再生データのバッファエリアと、これら管理情報を保持するエリアが分割設定されている。
【００６７】
そして、システムコントローラ１１はこれらの管理情報を、ディスク１が装填された際に管理情報の記録されたディスクの最内周側の再生動作を実行させることによって読み出し、バッファＲＡＭ１３に記憶しておき、以後そのディスク１に対する記録／再生動作の際に参照できるようにしている。
【００６８】
また、Ｕ−ＴＯＣはデータの記録や消去に応じて編集され、また場合によっては上述したトラッシュエリアを解消するマージ処理を伴って編集されて書き換えられるものであるが、システムコントローラ１１は記録／消去動作のたびにこの編集処理をバッファＲＡＭ１３に記憶されたＵ−ＴＯＣ情報に対して行ない、その書換動作に応じて所定のタイミングでディスク１のＵ−ＴＯＣエリアについても書き換えるようにしている。
【００６９】
ここで、ディスク１におけるＰ−ＴＯＣ及びＵ−ＴＯＣについて説明する。
Ｐ−ＴＯＣ情報としては、ディスクの記録可能エリア（レコーダブルユーザーエリア）などのエリア指定やＵ−ＴＯＣエリアの管理等が行なわれる。なお、ディスク１が再生専用の光ディスクであるプリマスタードディスクの場合は、Ｐ−ＴＯＣによってＲＯＭ化されて記録されている楽曲の管理も行なうことができるようになされている。
【００７０】
Ｐ−ＴＯＣのフォーマットを図１４に示す。
図１４はＰ−ＴＯＣ用とされる領域（例えばディスク最内周側のＲＯＭエリア）において繰り返し記録されるＰ−ＴＯＣ情報の１つのセクター（セクター０）を示している。
【００７１】
Ｐ−ＴＯＣのセクターのデータ領域は、例えば４バイト×588(＝2336バイト) のデータ領域として構成され、先頭位置にオール０又はオール１の１バイトデータによって成る同期パターンを及びクラスタアドレス及びセクターアドレスを示すアドレス等が４バイト付加され、以上でヘッダとされてＰ−ＴＯＣの領域であることが示される。
【００７２】
また、ヘッダに続いて所定アドレス位置に『ＭＩＮＩ』という文字に対応したアスキーコードによる識別ＩＤが付加されている。
さらに、続いてディスクタイプや録音レベル、記録されている最初の楽曲の曲番（First TNO)、最後の楽曲の曲番（Last TNO) 、リードアウトスタートアドレスＲＯA 、パワーキャルエリアスタートアドレスＰＣA 、Ｕ−ＴＯＣ（後述する図１５のＵ−ＴＯＣセクター０のデータ領域）のスタートアドレスＵＳＴA 、録音可能なエリアのスタートアドレスＲＳＴA 等が記録される。
【００７３】
これらの２４ビット（３バイト）のスタートアドレスは図１７（ａ）に示すように上位１６ビットがクラスタアドレス、下位８ビットがセクターアドレスとされている。そして、図２０において前述したようにこれらのスタートアドレスによってディスク１上のエリア管理がなされる。
【００７４】
続いて、記録されている各楽曲等を後述する管理テーブル部におけるパーツテーブルに対応させるテーブルポインタ(P-TNO1 〜P-TNO255) を有する対応テーブル指示データ部が用意されている。
【００７５】
そして対応テーブル指示データ部に続く領域には、対応テーブル指示データ部におけるテーブルポインタ(P-TNO1 〜P-TNO255) に対応して、(01h) 〜(FFh) までの２５５個のパーツテーブルが設けられた管理テーブル部が用意される（なお、『ｈ』を付した数値はいわゆる１６進表記のものである）。それぞれのパーツテーブルには、或るセグメントについて起点となるスタートアドレス、終端となるエンドアドレス、及びそのセグメント（トラック）のモード情報（トラックモード）が記録できるようになされている。
【００７６】
各パーツテーブルにおけるトラックのモード情報とは、そのセグメントが例えばオーバーライト禁止やデータ複写禁止に設定されているか否かの情報や、オーディオ情報か否か、モノラル／ステレオの種別などが記録されている。
【００７７】
管理テーブル部における(01h) 〜(FFh) までの各パーツテーブルは、対応テーブル指示データ部のテーブルポインタ (P-TNO1〜P-TNO255) によって、そのセグメントの内容が示される。つまり、第１曲目の楽曲についてはテーブルポインタP-TNO1として或るパーツテーブル（例えば(01h) 。ただし実際にはテーブルポインタには所定の演算処理によりＰ−ＴＯＣセクター０内のバイトポジションで或るパーツテーブルを示すことができる数値が記されている）が記録されており、この場合パーツテーブル(01h) のスタートアドレスは第１曲目の楽曲の記録位置のスタートアドレスとなり、同様にエンドアドレスは第１曲目の楽曲が記録された位置のエンドアドレスとなる。さらに、トラックモード情報はその第１曲目についての情報となる。
【００７８】
なお、これらのパーツテーブルにおける２４ビット（３バイト）のスタートアドレス、エンドアドレスは図１７（ｂ）に示すように上位１４ビットがクラスタアドレス、続く６ビットがセクターアドレス、下位４ビットがサウンドグループアドレスとされている。
【００７９】
同様に第２曲目についてはテーブルポインタP-TNO2に示されるパーツテーブル（例えば(02h) ）に、その第２曲目の記録位置のスタートアドレス、エンドアドレス、及びトラックモード情報が記録されている。
以下同様にテーブルポインタはP-TNO255まで用意されているため、Ｐ−ＴＯＣ上では第２５５曲目まで管理可能とされている。
そして、このようにＰ−ＴＯＣセクター０が形成されることにより、例えば再生時において、所定の楽曲をアクセスして再生させることができる。
【００８０】
なお、本実施例について後述するようＵ−ＴＯＣの編集動作が行なわれる対象となるディスクは、記録／再生可能な光磁気ディスクであり、この場合いわゆるプリマスタードの楽曲エリアが存在しないものであるため、上記した対応テーブル指示データ部及び管理テーブル部は用いられず（これらは続いて説明するＵ−ＴＯＣで管理される）、従って各バイトは全て『００ｈ』とされている。
ただし、楽曲等が記録されるエリアとしてＲＯＭエリアと光磁気エリアの両方を備えたハイブリッドタイプのディスクについては、そのＲＯＭエリア内の楽曲の管理に上記対応テーブル指示データ部及び管理テーブル部が用いられる。
【００８１】
続いてＵ−ＴＯＣの説明を行なう。
図１５はＵ−ＴＯＣの１セクターのフォーマットを示しており、主にユーザーが録音を行なった楽曲や新たに楽曲が録音可能な未記録エリア（フリーエリア）についての管理情報が記録されているデータ領域とされる。
例えばディスク１に或る楽曲の録音を行なおうとする際には、このシステムコントローラ１１は、Ｕ−ＴＯＣからディスク上のフリーエリアを探し出し、ここに音声データを記録していくことができるようになされている。また、再生時には再生すべき楽曲が記録されているエリアをＵ−ＴＯＣから判別し、そのエリアにアクセスして再生動作を行なう。
【００８２】
図１５に示すＵ−ＴＯＣのセクター（セクター０）には、Ｐ−ＴＯＣと同様にまずヘッダが設けられ、続いて所定アドレス位置に、メーカーコード、モデルコード、最初の楽曲の曲番(First TNO）、最後の楽曲の曲番（Last TNO）、セクター使用状況、ディスクシリアルナンバ、ディスクＩＤ等のデータが記録され、さらに、ユーザーが録音を行なって記録されている楽曲の領域や未記録領域等を後述する管理テーブル部に対応させることによって識別するため、対応テーブル指示データ部として各種のテーブルポインタ(P-DFA，P-EMPTY ，P-FRA ，P-TNO1〜P-TNO255) が記録される領域が用意されている。
【００８３】
そして対応テーブル指示データ部のテーブルポインタ(P-DFA〜P-TNO255) に対応させることになる管理テーブル部として(01h) 〜(FFh) までの２５５個のパーツテーブルが設けられ、それぞれのパーツテーブルには、上記図１４のＰ−ＴＯＣセクター０と同様に或るセグメントについて起点となるスタートアドレス、終端となるエンドアドレス、そのセグメントのモード情報（トラックモード）が記録されており、さらにこのＵ−ＴＯＣセクター０の場合、各パーツテーブルで示されるセグメントが他のセグメントへ続いて連結される場合があるため、その連結されるセグメントのスタートアドレス及びエンドアドレスが記録されているパーツテーブルを示すリンク情報が記録できるようになされている。
【００８４】
これらのパーツテーブルにおける２４ビット（３バイト）のスタートアドレス、エンドアドレスは、図１７（ｂ）に示すように上位１４ビットがクラスタアドレス、続く６ビットがセクターアドレス、下位４ビットがサウンドグループアドレスとされている。
【００８５】
上述のようにこの種の記録再生装置では、例えば１つの楽曲のデータ物理的に不連続に、即ち複数のセグメントにわたって記録されていてもセグメント間でアクセスしながら再生していくことにより再生動作に支障はないため、ユーザーが録音する楽曲等については、録音可能エリアの効率使用等の目的から、複数セグメントにわけて記録する場合もある。そのため、リンク情報が設けられ、例えば各パーツテーブルに与えられたナンバ(01h) 〜(FFh) （実際には所定の演算処理によりＵ−ＴＯＣセクター０内のバイトポジションとされる数値で示される）によって、連結すべきパーツテーブルを指定することによってパーツテーブルが連結できるようになされている。（なお、あらかじめ記録される楽曲等については通常セグメント分割されることがないため、前記図１４のようにＰ−ＴＯＣセクター０においてリンク情報はすべて『(00h) 』とされている。）
【００８６】
つまりＵ−ＴＯＣセクター０における管理テーブル部においては、１つのパーツテーブルは１つのセグメントを表現しており、例えば３つのセグメントが連結されて構成される楽曲についてはリンク情報によって連結される３つのパーツテーブルによって、そのセグメント位置の管理はなされる。
【００８７】
Ｕ−ＴＯＣセクター０の管理テーブル部における(01h) 〜(FFh) までの各パーツテーブルは、対応テーブル指示データ部におけるテーブルポインタ(P-DFA，P-EMPTY ，P-FRA ，P-TNO1〜P-TNO255) によって、以下のようにそのセグメントの内容が示される。
【００８８】
テーブルポインタP-DFA は光磁気ディスク１上の欠陥領域に付いて示しており、傷などによる欠陥領域となるトラック部分（＝セグメント）が示された１つのパーツテーブル又は複数のパーツテーブル内の先頭のパーツテーブルを指定している。つまり、欠陥セグメントが存在する場合はテーブルポインタP-DFA において(01h) 〜(FFh) のいづれかが記録されており、それに相当するパーツテーブルには、欠陥セグメントがスタート及びエンドアドレスによって示されている。また、他にも欠陥セグメントが存在する場合は、そのパーツテーブルにおけるリンク情報として他のパーツテーブルが指定され、そのパーツテーブルにも欠陥セグメントが示されている。そして、さらに他の欠陥セグメントがない場合はリンク情報は例えば『(00h) 』とされ、以降リンクなしとされる。
【００８９】
テーブルポインタP-EMPTY は管理テーブル部における１又は複数の未使用のパーツテーブルの先頭のパーツテーブルを示すものであり、未使用のパーツテーブルが存在する場合は、テーブルポインタP-EMPTY として、(01h) 〜(FFh) のうちのいづれかが記録される。未使用のパーツテーブルが複数存在する場合は、テーブルポインタP-EMPTY によって指定されたパーツテーブルからリンク情報によって順次パーツテーブルが指定されていき、全ての未使用のパーツテーブルが管理テーブル部上で連結される。
【００９０】
例えば全く楽曲等の音声データの記録がなされておらず欠陥もない光磁気ディスクであれば、パーツテーブルは全て使用されていないため、例えばテーブルポインタP-EMPTY によってパーツテーブル(01h) が指定され、また、パーツテーブル(01h) のリンク情報としてパーツテーブル(02h) が指定され、パーツテーブル(02h) のリンク情報としてパーツテーブル(03)が指定され、というようにパーツテーブル(FFh) まで連結される。この場合パーツテーブル(FFh) のリンク情報は以降連結なしを示す『(00h) 』とされる。
【００９１】
テーブルポインタP-FRA は光磁気ディスク１上のデータの書込可能なフリーエリア（消去領域を含む）について示しており、フリーエリアとなるトラック部分（＝セグメント）が示された１又は複数のパーツテーブル内の先頭のパーツテーブルを指定している。つまり、フリーエリアが存在する場合はテーブルポインタP-FRA において(01h) 〜(FFh) のいづれかが記録されており、それに相当するパーツテーブルには、フリーエリアであるセグメントがスタート及びエンドアドレスによって示されている。また、このようなセグメントが複数個有り、つまりパーツテーブルが複数個有る場合はリンク情報により、リンク情報が『(00h) 』となるパーツテーブルまで順次指定されている。
【００９２】
図１６にパーツテーブルにより、フリーエリアとなるセグメントの管理状態を模式的に示す。これはセグメント(03h)(18h)(1Fh)(2Bh)(E3h) がフリーエリアとされている時に、この状態が対応テーブル指示データP-FRA に引き続きパーツテーブル(03h)(18h)(1Fh)(2Bh)(E3h) のリンクによって表現されている状態を示している。なお、上記した欠陥領域や、未使用パーツテーブルの管理形態もこれと同様となる。
【００９３】
テーブルポインタP-TNO1〜P-TNO255は、光磁気ディスク１にユーザーが記録を行なった楽曲について示しており、例えばテーブルポインタP-TNO1では１曲目のデータが記録された１又は複数のセグメントのうちの時間的に先頭となるセグメントが示されたパーツテーブルを指定している。
【００９４】
例えば１曲目とされた楽曲がディスク上でトラックが分断されずに（つまり１つのセグメントで）記録されている場合は、その１曲目の記録領域はテーブルポインタP-TNO1で示されるパーツテーブルにおけるスタート及びエンドアドレスとして記録されている。
【００９５】
また、例えば２曲目とされた楽曲がディスク上で複数のセグメントに離散的に記録されている場合は、その楽曲の記録位置を示すため各セグメントが時間的な順序に従って指定される。つまり、テーブルポインタP-TNO2に指定されたパーツテーブルから、さらにリンク情報によって他のパーツテーブルが順次時間的な順序に従って指定されて、リンク情報が『(00h) 』となるパーツテーブルまで連結される（上記、図１６と同様の形態）。このように例えば２曲目を構成するデータが記録された全セグメントが順次指定されて記録されていることにより、このＵ−ＴＯＣセクター０のデータを用いて、２曲目の再生時や、その２曲目の領域へのオーバライトを行なう際に、光学ヘッド３及び磁気ヘッド６をアクセスさせ離散的なセグメントから連続的な音楽情報を取り出したり、記録エリアを効率使用した記録が可能になる。
【００９６】
以上のようにディスク上のエリア管理はＰ−ＴＯＣによってなされ、またレコーダブルユーザーエリアにおいて記録された楽曲やフリーエリア等はＵ−ＴＯＣにより行なわれる。
【００９７】
これらのＴＯＣ情報はバッファＲＡＭ１３に読み込まれてシステムコントローラ１１がこれを参照できるようになされるが、上述したように例えば消去動作を行なった際などにはトラッシュエリアを消失させるマージ処理を含めたＵ−ＴＯＣ編集処理を行なうことになる。そして、この処理に好適な構成を備えて本実施例のメモリ制御装置及びメモリデータサーチ回路が構成されている。
本実施例のメモリ制御装置としては、図１の記録再生装置におけるメモリコントローラ１２及びシステムコントローラ１１のメモリコントローラ１２に対する制御機能によって構成されることになり、また本実施例のメモリデータサーチ回路はメモリコントローラ１２の内部に具備されるものとなる。
【００９８】
以下、これらのメモリ制御装置、メモリデータサーチ回路、及び実行されるＵ−ＴＯＣ編集処理について図２〜図１３を用いて説明する。
図２はメモリコントローラ１２の内部構成を示すブロック図である。３０はディスクドライブインターフェース部であり、ディスクドライブ側、即ちエンコーダ／デコーダ部８に対する記録／再生データＤｔ、及びＴＯＣ情報ＴＤｔの保持及び授受を行なう。
【００９９】
３１はＲＡＭデータインターフェース部であり、バッファＲＡＭ１３に対してデータの書込／読出及びこれらのデータの保持を行なう。書込／読出対象となるデータは記録／再生データＤｔ、及びＴＯＣ情報ＴＤｔとなる。
３２は音声圧縮インターフェース部であり、音声圧縮部即ちエンコーダ／デコーダ部１４に対する記録／再生データＤｔの保持及び授受を行なう。
【０１００】
３３はコントローラインターフェース部であり、システムコントローラ１１に対するインターフェースとなる。ここではシステムコントローラ１１との間でＴＯＣ情報ＴＤｔの受け渡しや、システムコントローラ１１からの制御信号の入力、及びこれらのデータ保持が行なわれる。
【０１０１】
３４はアドレスカウンタであり、システムコントローラ１１からの制御信号に基づいて書込アドレス／読出アドレス（ＭAd）を発生させ、バッファＲＡＭ１３に出力する。
【０１０２】
３５はメモリデータサーチ回路であり、コントローラインターフェース部３３を介してシステムコントローラ１１からの各種制御信号を入力すると、それに基づいてバッファＲＡＭ１３に保持されたＴＯＣ情報ＴＤｔの検索動作を行なうことができるようになされている。
Ｂは各部を接続している制御バスを示す。
【０１０３】
メモリデータサーチ回路３５の構成を図３に示す。
４０は出力選択部、４１はＤフリップフロップにより構成される基準アドレスレジスタを示す。この基準アドレスレジスタ４１にはシステムコントローラ１１からコントローラインターフェース部３３を介して供給された基準アドレスＡＤref がセットされる。この基準アドレスＡＤref とは、後述するＵ−ＴＯＣ編集処理において基準となるセグメントのスタートアドレス又はエンドアドレスがこれに相当することとなる。
【０１０４】
また出力選択部４０は、例えば後述する検索動作時においてバッファＲＡＭ１３から読み出されたデータ（Ｕ−ＴＯＣのパーツテーブルにおけるデータ）から基準アドレスＡＤref と比較すべき検索対象アドレスＡＤR を出力する。
【０１０５】
４２はＤフリップフロップにより構成される近接アドレスレジスタであり、出力選択部４０から出力されるアドレスＡＤR をラッチすることができるようになされている。最終的には、この近接アドレスレジスタ４２にラッチされているアドレスＡＤprevが、このメモリデータサーチ回路３４の検索処理により求められる検索アドレスとなる。
【０１０６】
４３はテンポラリレジスタを示し、出力選択部４０から出力される検索対象アドレスＡＤR と同一のパーツテーブルに記録されていたリンク情報（もしくはテーブルポインタ）が入力され、例えば２段のレジスタ構成で、今回入力されたリンク情報と前回入力されたリンク情報が保持される。前回入力されて保持しているリンク情報を検索対象パーツ情報ＬＫR とする。
【０１０７】
また、４４はリンクレジスタであり、テンポラリレジスタ４３から出力される検索対象パーツ情報ＬＫR を検索パーツ情報ＬＫprevとしてラッチできるようになされている。このリンクレジスタ４４はＤフリップフロップで構成されている。
【０１０８】
４５は、基準アドレスレジスタ４１にラッチされている基準アドレスＡＤref と出力選択部４０から出力された検索対象アドレスＡＤR を比較する比較部、４６は、出力選択部４０から出力された検索対象アドレスＡＤR と近接アドレスレジスタ４２にラッチされている検索アドレスＡＤprevを比較する比較部である。
【０１０９】
４７はコントロールロジックを示し、比較部４５，４６による比較結果に基づいて近接アドレスレジスタ４２及びリンクレジスタ４４に対してラッチ信号を出力し、近接アドレスレジスタ４２に対しては、出力選択部４０から出力された検索対象アドレスＡＤR を新たな検索アドレスＡＤprevとする、検索アドレスＡＤprevの更新動作を実行させ、またリンクレジスタ４４に対しては、テンポラリレジスタ４３にラッチされている検索対象パーツ情報ＬＫR が新たな検索パーツ情報ＬＫprevとなるように、検索パーツ情報ＬＫprevの更新動作を実行させる。
【０１１０】
メモリコントローラ１２内にこのようなメモリデータサーチ回路３５が設けられることにより、例えば或る楽曲を消去したことに応じてＵ−ＴＯＣの編集がなされる際に、その楽曲が消去されたセグメント（編集の基準となるセグメント）の前後のセグメントを検索し、トラッシュエリアが存在する場合はそのトラッシュエリアを解消するマージ処理が行なわれるが（前記図２０〜図２４参照）、このとき必要な編集の基準となるセグメントの前後のセグメントを検索する処理は、このメモリデータサーチ回路３５によって実行されることになり、システムコントローラ１１が検索を実行する必要はなくなる。
【０１１１】
Ｕ−ＴＯＣ編集処理の際のマージ処理について図４、図９のフローチャートを参照しながら説明する。なお、マージ処理は編集基準となるセグメントの前方（ディスク内周側）のマージ処理と後方（ディスク外周側）のマージ処理があり、これに関するシステムコントローラ１１の処理を図４と図９にわけて説明していく。
【０１１２】
前方マージ処理としてのシステムコントローラ１１の処理は図４のとおりとなる。
まず、システムコントローラ１１は編集基準となるセグメントのスタートアドレスを基準アドレスＮref として内部でセットする(F101)。例えば図５〜図８に示すように、ディスク１上でアドレスＡ26〜Ａ27のセグメント（斜線部）に楽曲が記録されており、これを消去したことに応じてマージ処理が実行されるとすると、その消去されフリーエリアにかわるアドレスＡ26〜Ａ27のセグメントが編集基準のセグメント（基準フリーエリア）となり、この基準フリーエリアのスタートアドレスＡ26が基準アドレスＮref としてセットされる。
【０１１３】
なお、図５〜図８は基準フリーエリアの前方について各種場合を示しているものであり、図５（ａ）は基準フリーエリアの前方にトラッシュエリアを介して楽曲が記録されているセグメントが存在している場合、図６は基準フリーエリアの前方はすぐに楽曲が記録されているセグメントが存在しトラッシュエリアがない場合、図７（ａ）は基準フリーエリアの前方にトラッシュエリアを介してフリーエリアとなるセグメントが存在している場合、図８（ａ）は基準フリーエリアの前方はすぐにフリーエリアとなるセグメントが存在しトラッシュエリアがない場合を示しているものであり、以下の前方マージ処理は、現在の状態がこのいづれに該当する状態であるかを判別し、それに応じてマージ処理を行なうものとなる。
【０１１４】
基準アドレスＮref をセットしたら、システムコントローラ１１は次にメモリコントローラ１２に対して前方サーチモードを実行させる。即ち、基準フリーエリアの前方隣接位置が図５（ａ）、図６、図７（ａ）、図８（ａ）のいづれの状態であるかをメモリコントローラ１２に判別させる(F102)。
【０１１５】
このために、メモリコントローラ１２のコントローラインターフェース部３３を介してメモリデータサーチ回路３５の基準アドレスレジスタ４１に基準アドレスＮref を供給するとともにラッチ制御コマンドを供給し、基準アドレスＮref を基準アドレスレジスタ４１に基準アドレスＡＤref として保持させる。
【０１１６】
また、同様に近接アドレスレジスタ４２に対しては検索アドレスＡＤprevの初期値としてアドレスＡMIN を供給し、これをラッチさせる。なお、アドレスＡMIN は図２０に示したようにレコーダブルユーザーエリアの先頭位置のアドレスである。
さらに、リンクレジスタ４４の検索パーツ情報ＬＫprevをクリアする。
【０１１７】
また、サーチモード信号ＳSMを出力選択部４０及びコントロールロジック４７に対して出力する。サーチモード信号ＳSMとは、メモリデータサーチ回路３５に対して前方マージ処理を実行するか後方マージ処理を実行するかを識別させる信号となる。
【０１１８】
前方マージ処理を示すサーチモード信号ＳSMが供給されると、出力選択部４０は読み込まれたＵ−ＴＯＣにおけるパーツテーブルのアドレスデータのうち、エンドアドレスを検索対象アドレスＡＤR として出力するようにセットされる。
【０１１９】
また、前方マージ処理を示すサーチモード信号ＳSMにより、コントロールロジック４７は、比較部４５における基準アドレスＡＤref と検索対象アドレスＡＤR の比較によって、ＡＤR ＜ＡＤref が得られ、かつ、比較部４６における検索アドレスＡＤprevと検索対象アドレスＡＤR の比較によってＡＤprev＜ＡＤR が得られた際に、近接アドレスレジスタ４２及びリンクレジスタ４４に対してラッチ制御信号を出力し、検索アドレスＡＤprev及び検索パーツ情報ＬＫprevの更新を実行させるようにセットされる。
【０１２０】
そして、システムコントローラ１１はメモリコントローラ１２に対してこのように前方サーチモードをオンとしたら、バッファＲＡＭ１３に保持されているＵ−ＴＯＣについて、まずテーブルポインタP-FRA から導かれるパーツテーブルについての検索を実行させるように制御する(F103)。即ちメモリコントローラ１２にフリーエリアに関するパーツテーブルのリードスキャンを実行させる。そして、このリードスキャンが終了するまで待機する(F104)。
【０１２１】
このリードスキャンにおいて、メモリコントローラ１２のメモリデータサーチ回路３５では、基準フリーエリアに対して前方で最も近い位置のフリーエリアとされているセグメントが検索されることになる。
即ち、メモリコントローラ３３はアドレスカウンタ３４によってテーブルポインタP-FRA から導かれるパーツテーブルについてのアドレスを順次発生させ、これによりＲＡＭデータインターフェース部３１を介してフリーエリアを対象としたパーツテーブルのデータが順次取り込まれる。ここで１つのパーツテーブルから取り込まれるデータとは、スタートアドレス３バイト、エンドアドレス３バイト、トラックモード情報１バイト、リンク情報１バイトの全８バイトとなる。
【０１２２】
メモリデータサーチ回路３５がこれらのデータをコントローラインターフェース部３３を介して取り込むと、まず、リンク情報はテンポラリレジスタ４３に取り込まれる。
【０１２３】
ただし、このリードスキャン開始の際にはテーブルポインタP-FRA がテンポラリレジスタ４３に取り込まれており、最初のパーツテーブルが読み込まれた時点ではテンポラリレジスタ４３には前回のリンク情報としてテーブルポインタP-FRA の値が保持され、このテーブルポインタP-FRA の値と今回取り込まれたリンク情報が２段のレジスタ構成によりそれぞれ保持されることになる。そしてこの時点でテンポラリレジスタ４３はテーブルポインタP-FRA の値を検索対象パーツ情報ＬＫR として保持していることになる。
【０１２４】
また、出力選択部４０からはそのパーツテーブルに記録されたエンドアドレスが、検索対象アドレスＡＤR として出力される。
そして、比較部４５では基準アドレスＡＤref （この場合アドレスＡ26）と検索対象アドレスＡＤR （そのパーツテーブルのエンドアドレス）が比較される。
【０１２５】
ここでＡＤR ＞ＡＤref とされる場合は、その読み込まれたパーツテーブルが基準フリーエリアよりも後方に位置するセグメントについてのパーツテーブルであることを示すことになり、逆に、ＡＤR ＜ＡＤref であった場合は、読み込まれたパーツテーブルが基準フリーエリアよりも前方に位置するセグメントについてのパーツテーブルであることを示すことになる。
【０１２６】
また、比較部４６では検索アドレスＡＤprev（この場合、最初は初期値であるアドレスＡMIN ）と検索対象アドレスＡＤR （読み込まれたパーツテーブルのエンドアドレス）が比較される。
【０１２７】
ここでＡＤR ＞ＡＤprevとされる場合は、その読み込まれたパーツテーブルが検索アドレスＡＤprevにエンドアドレスが示されるセグメントより後方のセグメントであることになり、一方ＡＤR ＜ＡＤprevである場合は、その読み込まれたパーツテーブルが検索アドレスＡＤprevにエンドアドレスが示されるセグメントより前方のセグメントであることになる。
ただし、まだ検索アドレスＡＤprevが一度も更新されていない時点で読み込まれたパーツテーブルについては、比較される検索アドレスＡＤprevが初期値ＡMIN とされているため、必ずＡＤR ＞ＡＤprevとなる。
【０１２８】
ここで、比較部４５でＡＤR ＜ＡＤref とされると（検索アドレスＡＤprevが初期値ＡMIN の場合、比較部４６でＡＤR ＞ＡＤprevという結果が出る）、読み込まれたパーツテーブルは、基準フリーエリアよりも前方であって、比較的近い位置に位置するフリーエリアのセグメントを示すパーツテーブルと判断され、コントロールロジック４７は近接アドレスレジスタ４２及びリンクレジスタ４４にラッチ制御信号を出力し、アドレスＡＤR を新たな検索アドレスＡＤprevとし、またテンポラリレジスタ４３にラッチされていた検索対象パーツ情報ＬＫR をリンクレジスタ４４に検索パーツ情報ＬＫprevとしてラッチさせる。
【０１２９】
テンポラリレジスタ４３における検索対象パーツ情報ＬＫR は即ち前回読み込まれたパーツテーブルにおけるリンク情報（この場合は即ちテーブルポインタP-FRA の値となる）であるため、このように近接アドレスレジスタ４２における検索アドレスＡＤprevが更新されると同時に、その更新されたＡＤprevの値となるエンドアドレスが記録されたパーツテーブルの位置情報がリンクレジスタ４４に検索パーツ情報ＬＫprevとして保持されることになる。
【０１３０】
これにより、基準フリーエリアの前方のセグメントのエンドアドレスが検索アドレスＡＤprevとして保持され、またそのセグメントを示すパーツテーブルの位置が検索リンク情報ＬＫprevとして示される。
【０１３１】
続いて、リードスキャンに応じてそのパーツテーブルからリンクされているパーツテーブルが読み込まれてくることになり、このパーツテーブルにおけるリンク情報はテンポラリレジスタ４３に取り込まれる。このとき、テンポラリレジスタ４３における検索対象パーツ情報ＬＫR は前回取り込まれたリンク情報となり、即ち検索対象パーツ情報ＬＫR により今回取り込まれたパーツテーブルのＵ−ＴＯＣ上の位置が示されることになる。
またそのパーツテーブルのエンドアドレスが出力選択部４０より検索対象アドレスＡＤR として出力される。
【０１３２】
このとき、その検索対象アドレスＡＤR と基準アドレスＡＤref が比較部４５で比較され、さらに検索対象アドレスＡＤR と検索アドレスＡＤprevが比較部４６で比較されて、その結果ＡＤR ＜ＡＤref であって、しかもＡＤR ＞ＡＤprevであれば、その読み込まれたパーツテーブルは、その時点でエンドアドレスが検索アドレスＡＤprevとして保持されているパーツテーブルよりも、基準フリーエリアに対して前方側でより近い位置にあるセグメントに対するパーツテーブルであることになる。
【０１３３】
従って、コントロールロジック４７は近接アドレスレジスタ４２及びリンクレジスタ４４にラッチを実行させ、検索アドレスＡＤprevがその読み込まれたパーツテーブルにおけるエンドアドレスとされるように更新させ、また検索パーツ情報ＬＫprevとしてその読み込まれたパーツテーブルの位置を示すリンク情報、即ちこの時点でテンポラリレジスタ４３に検索対象パーツ情報ＬＫR として保持されている値に更新されるようにする。
【０１３４】
続いてリンクされているパーツテーブルが順次読み込まれていくことになるが、その都度比較部４５，４６による比較動作が実行され、その結果ＡＤR ＜ＡＤref であって、しかもＡＤR ＞ＡＤprevであれば、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevが更新され、一方、ＡＤR ＜ＡＤref かつＡＤR ＞ＡＤprevの結果が得られなかった時は、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevは更新されずにそのまま前回の更新時の値が保持される。
【０１３５】
従ってメモリデータサーチ回路３５でこのような動作がテーブルポインタP-FRA から導かれる全てのパーツテーブルについてのリードスキャンに応じて実行されると、それが終了した時点で、基準フリーエリアに対して前方側で最も近いフリーエリアとなっているセグメントのエンドアドレスが検索アドレスＡＤprevとして保持され、また、そのセグメントを示すパーツテーブルが検索パーツ情報ＬＫprevとして保持されていることになる。
【０１３６】
メモリコントローラ１２によるテーブルポインタP-FRA からのパーツテーブルのリードスキャンが終了すると、システムコントローラ１１の処理は図４のステップF105に進み、メモリデータサーチ回路３５に保持されている検索アドレスＡＤprev及び検索パーツ情報ＬＫprevを取り込む。そして検索アドレスＡＤprevを近接フリーエリアアドレスＮ1 として保持し、また検索パーツ情報ＬＫprevを近接フリーエリアパーツ情報ＮＬ1 として保持する。
【０１３７】
続いて、システムコントローラ１１は再びメモリコントローラ１２のメモリデータサーチ回路３５に対して、近接アドレスレジスタ４２に初期値としてアドレスＡMIN を検索アドレスＡＤprevとしてセットし、さらにリンクレジスタ４４の検索パーツ情報ＬＫprevをクリアする(F106)。
【０１３８】
そして、システムコントローラ１１はメモリコントローラ１２に対してこのようにメモリデータサーチ回路３５をセットしたら、メモリコントローラ１２に対して、バッファＲＡＭ１３に保持されているＵ−ＴＯＣについて今度はテーブルポインタP-TNO1〜P-TNO255のそれぞれから導かれるパーツテーブルについての検索を順次実行させるように制御する(F108)。即ちメモリコントローラ１２に楽曲が記録されているセグメント（楽曲エリア）に関するパーツテーブルのリードスキャンを実行させる。そして、このリードスキャンが終了するまで待機する(F109)。
【０１３９】
このリードスキャンにおいては、メモリコントローラ１２のメモリデータサーチ回路３５では、基準フリーエリアに対して前方で最も近い位置の楽曲エリアとなるセグメントが検索されることになる。
【０１４０】
即ち、メモリコントローラ３３はアドレスカウンタ３４によってテーブルポインタP-TNO1から導かれるパーツテーブルについてのアドレスを順次発生させ、これによりＲＡＭデータインターフェース部３１を介して第１曲目の１又は複数のセグメントを対象としたパーツテーブルのデータが順次取り込まれる。ここで１つのパーツテーブルから取り込まれるデータとは、スタートアドレス３バイト、エンドアドレス３バイト、トラックモード情報１バイト、リンク情報１バイトの全８バイトとなる。
【０１４１】
また、第１曲目についてのパーツテーブルのリードスキャンが終了したら続いて第２曲目としてテーブルポインタP-TNO2からのパーツテーブル、さらに続いて第３曲目としてテーブルポインタP-TNO3からのパーツテーブルと、順次リードスキャンされ、従って録音されている全ての楽曲についてのセグメントに対応するパーツテーブルが順次バッファＲＡＭ１３から読み出される。
【０１４２】
メモリデータサーチ回路３５はこれらのパーツテーブルのデータをコントローラインターフェース部３３を介して取り込むと、上記フリーエリアに関するパーツテーブルの場合同様に各セグメントのエンドアドレスの比較処理や、前回のリンク情報の保持がなされ、また比較部４５，４６の比較結果に応じて、ＡＤR ＞ＡＤprevかつＡＤR ＜ＡＤref であれば、読み込まれたパーツテーブルは、基準フリーエリアよりも前方であって、比較的近い位置に位置する楽曲エリアのセグメントを示すパーツテーブルと判断され、コントロールロジック４７から近接アドレスレジスタ４２及びリンクレジスタ４４にラッチ制御信号が出力される。そして、アドレスＡＤR を新たな検索アドレスＡＤprevとし、またテンポラリレジスタ４３にラッチされていた検索対象パーツ情報ＬＫR をリンクレジスタ４４に検索パーツ情報ＬＫprevとしてラッチさせる。
【０１４３】
さらに続いてパーツテーブルが順次読み込まれていくことになるが、その都度比較部４５，４６による比較動作が実行され、その結果ＡＤR ＜ＡＤref であって、しかもＡＤR ＞ＡＤprevであれば、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevが更新され、一方、ＡＤR ＜ＡＤref かつＡＤR ＞ＡＤprevの結果が得られなかった時は、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevは更新されずにそのまま前回の更新時の値が保持される。
【０１４４】
従ってメモリデータサーチ回路３５でこのような動作がテーブルポインタP-TNO1〜P-TNO255（ただしP-TNO1〜P-TNO255のうち『００ｈ』とされているテーブルポインタについてパーツテーブルは存在しないためリードスキャンは不要となり、例えば３曲しか録音されていなければテーブルポインタP-TNO4〜P-TNO255に関するリードスキャンは不要である）から導かれる全てのパーツテーブルについてのリードスキャンに応じて実行されると、それが終了した時点で、基準フリーエリアに対して前方側で最も近い楽曲エリアとなっているセグメントのエンドアドレスが検索アドレスＡＤprevとして保持され、また、そのセグメントを示すパーツテーブルが検索パーツ情報ＬＫprevとして保持されていることになる。
【０１４５】
メモリコントローラ１２によるテーブルポインタP-TNO1〜P-TNO255からのパーツテーブルのリードスキャンが終了すると、システムコントローラ１１の処理は図４のステップF109に進み、メモリデータサーチ回路３５に保持されている検索アドレスＡＤprev及び検索パーツ情報ＬＫprevを取り込む。そして検索アドレスＡＤprevを近接楽曲エリアアドレスＮ2 として保持し、また検索パーツ情報ＬＫprevを近接楽曲エリアパーツ情報ＮＬ2 として保持する。
【０１４６】
この時点でシステムコントローラ１１は近接フリーエリアアドレスＮ1 と近接楽曲エリアアドレスＮ2 を比較する(F110)。この比較によって基準フリーエリアの前にフリーエリアが位置しているのか楽曲エリアが位置しているのかが分かる。
【０１４７】
例えば図５（ａ）、図６のように基準フリーエリアの直前に楽曲エリアが存在している場合は、図示するように近接フリーエリアアドレスＮ1 はアドレスＡ21に相当し、また近接楽曲エリアアドレスＮ2 はアドレスＡ23に相当して、即ちＮ1 ＜Ｎ2 となる。
一方図７（ａ）、図８（ａ）のように基準フリーエリアの直前にフリーエリアが存在している場合は、図示するように近接フリーエリアアドレスＮ1 はアドレスＡ23に相当し、また近接楽曲エリアアドレスＮ2 はアドレスＡ21に相当して、即ちＮ1 ＞Ｎ2 となる。
【０１４８】
ステップF110でＮ1 ＜Ｎ2 とされ、前方が楽曲エリアと判別された場合は、続いて基準アドレスＮref から近接楽曲エリアアドレスＮ2 を減算し、これにより基準フリーエリアとその直前の楽曲エリアの間にトラッシュエリアが存在しているか否かを判別する(F111)。
【０１４９】
もし、近接楽曲エリアアドレスＮ2 と基準アドレスＮref の差が１サウンドグループの差であれば、つまり基準フリーエリアとその直前の楽曲エリアは完全に隣接し、トラッシュエリアは存在しないことになる。つまり図６の状態であることが判別される。
この場合はトラッシュエリアに対するマージ処理は不要のため、前方マージ処理を終了する (F111→YES)。
【０１５０】
ところが、近接楽曲エリアアドレスＮ2 と基準アドレスＮref の差が２サウンドグループ以上の差であれば、つまり基準フリーエリアとその直前の楽曲エリアの間にトラッシュエリアが存在し、即ち図５（ａ）の状態であることが判別される。
【０１５１】
この場合はトラッシュエリアに対するマージ処理を実行する (F111→F112) 。即ち、図５（ｂ）に示すように基準フリーエリアのスタートアドレスをアドレスＡ26からアドレスＡ24に変更して保持する。このアドレスＡ24は近接楽曲エリアアドレスＮ2 ＋１の演算により算出する。これにより、システムコントローラ１１内では基準フリーエリアは直前の楽曲エリアと完全に隣接し、トラッシュエリアが無くなった状態として把握されることになる。
【０１５２】
また、ステップF110でＮ1 ＞Ｎ2 とされ、前方がフリーエリアと判別された場合は、トラッシュエリアの有無を判別することなくマージ処理を実行することになる (F110→F113) 。つまり、前方のフリーエリアと基準フリーエリアを合成することで、トラッシュエリアがもし存在しても自動的にそれが解消されることになる。
【０１５３】
例えば図８（ａ）のように基準フリーエリアとその直前のフリーエリアが完全に隣接し、トラッシュエリアは存在しない場合では、基準フリーエリアのスタートアドレスＡ24を前方のフリーエリアのスタートアドレスＡ22として把握し、図８（ｂ）のようにアドレスＡ22〜Ａ27を基準フリーエリアとして新たに把握する。
【０１５４】
なお、この前方マージ処理及び後述する後方マージ処理が終了した後、Ｕ−ＴＯＣの書換編集が行なわれるが、実際にＵ−ＴＯＣを編集する際には、アドレスＡ22からのフリーエリアのセグメントが示されたパーツテーブルにおけるエンドアドレスをＡ23からＡ27に変更する処理を行なうことになる。ただし、後述する後方マージ処理でさらにフリーエリアが後方にも合成された場合は、それに応じてアドレスＡ22をスタートアドレスとするパーツテーブルのエンドアドレスは、その後方のフリーエリアのエンドアドレスに書き換えられることになる。
【０１５５】
また、例えば図７（ａ）のように基準フリーエリアとその直前のフリーエリアの間にトラッシュエリアが存在していても、同様に基準フリーエリアのスタートアドレスＡ24を前方のフリーエリアのスタートアドレスＡ22として把握し、図７（ｂ）のようにアドレスＡ22〜Ａ27を基準フリーエリアとして新たに把握することで、トラッシュエリアは自動的に消滅することになる。
【０１５６】
以上の前方マージ処理が終了したら、今度はシステムコントローラ１１は基準フリーアドレスからの後方マージよりを実行する。
【０１５７】
後方マージ処理としてのシステムコントローラ１１の処理は図９のとおりとなる。
まず、システムコントローラ１１は編集基準となるセグメントのエンドアドレスを基準アドレスＮref として内部でセットする(F201)。例えば図１０〜図１３に示すように、ディスク１上でアドレスＡ24〜Ａ27のセグメントもしくはＡ24〜Ａ29セグメントが上述した前方マージ処理後の基準フリーエリア（斜線部）とされている場合、この基準フリーエリアのエンドアドレスＡ27（図１１の場合はＡ29）が基準アドレスＮref としてセットされる。
【０１５８】
なお、図１０〜図１３は基準フリーエリアの後方について各種場合を示しているものであり、図１０（ａ）は基準フリーエリアの後方にトラッシュエリアを介して楽曲が記録されているセグメントが存在している場合、図１１は基準フリーエリアの後方はすぐに楽曲が記録されているセグメントが存在しトラッシュエリアがない場合、図１２（ａ）は基準フリーエリアの後方にトラッシュエリアを介してフリーエリアとなるセグメントが存在している場合、図１３（ａ）は基準フリーエリアの後方はすぐにフリーエリアとなるセグメントが存在しトラッシュエリアがない場合を示しているものであり、以下の後方マージ処理は、現在の状態がこのいづれに該当する状態であるかを判別し、それに応じてマージ処理を行なうものとなる。
【０１５９】
基準アドレスＮref をセットしたら、システムコントローラ１１は次にメモリコントローラ１２に対して後方サーチモードを実行させる。即ち、基準フリーエリアの後方隣接位置が図１０（ａ）、図１１、図１２（ａ）、図１３（ａ）のいづれの状態であるかをメモリコントローラ１２に判別させる(F202)。
【０１６０】
このために、メモリコントローラ１２のコントローラインターフェース部３３を介してメモリデータサーチ回路３５の基準アドレスレジスタ４１に基準アドレスＮref を供給するとともにラッチ制御コマンドを供給し、基準アドレスＮref を基準アドレスレジスタ４１に基準アドレスＡＤref として保持させる。つまりこの基準アドレスは前方マージ処理の場合が基準フリーエリアのスタートアドレスであったこととは逆に基準フリーエリアのエンドアドレスとなる。
【０１６１】
また、同様に近接アドレスレジスタ４２に対しては初期値としてアドレスＡMAX を供給し、これをラッチさせる。なお、アドレスＡMAX は図２０に示したようにレコーダブルユーザーエリアの最後位置のアドレスであり、リードアウトスタートアドレスＲＯA の１つ前のアドレスとなる。
さらに、リンクレジスタ４４の検索パーツ情報ＬＫprevをクリアする。
【０１６２】
また、サーチモード信号ＳSMを出力選択部４０及びコントロールロジック４７に対して出力する。この場合のサーチモード信号ＳSMとは、上述のようにメモリデータサーチ回路３５に対して前方マージ処理を実行するか後方マージ処理を実行するかを識別させる信号であり、後方マージ処理を示すサーチモード信号ＳSMが供給された場合は、出力選択部４０は読み込まれたＵ−ＴＯＣにおけるパーツテーブルのアドレスデータのうち、スタートアドレスを検索対象アドレスＡＤR として出力するようにセットされる。
【０１６３】
また、後方マージ処理を示すサーチモード信号ＳSMにより、コントロールロジック４７は、比較部４５における基準アドレスＡＤref と検索対象アドレスＡＤR の比較によって、ＡＤR ＞ＡＤref が得られ、かつ、比較部４６における検索アドレスＡＤprevと検索対象アドレスＡＤR の比較によってＡＤprev＞ＡＤR が得られた際に、近接アドレスレジスタ４２及びリンクレジスタ４４に対してラッチ制御信号を出力し、検索アドレスＡＤprev及び検索パーツ情報ＬＫprevの更新を実行させるようにセットされる。
【０１６４】
そして、システムコントローラ１１はメモリコントローラ１２に対してこのように後方サーチモードをオンとしたら、バッファＲＡＭ１３に保持されているＵ−ＴＯＣについて、まずテーブルポインタP-FRA から導かれるパーツテーブルについての検索を実行させるように制御する(F203)。即ちメモリコントローラ１２にフリーエリアに関するパーツテーブルのリードスキャンを実行させる。そして、このリードスキャンが終了するまで待機する(F204)。
【０１６５】
このリードスキャンにおいて、メモリコントローラ１２のメモリデータサーチ回路３５では、基準フリーエリアに対して後方で最も近い位置のフリーエリアとされているセグメントが検索されることになる。
即ち、メモリコントローラ３３はアドレスカウンタ３４によってテーブルポインタP-FRA から導かれるパーツテーブルについてのアドレスを順次発生させ、これによりＲＡＭデータインターフェース部３１を介してフリーエリアを対象としたパーツテーブルのデータが順次取り込まれる。つまり前方マージ処理の際と同様に１つのパーツテーブルから、スタートアドレス３バイト、エンドアドレス３バイト、トラックモード情報１バイト、リンク情報１バイトの全８バイトのータが取り込まれる。
【０１６６】
メモリデータサーチ回路３５がこれらのデータをコントローラインターフェース部３３を介して取り込むと、まず、リンク情報はテンポラリレジスタ４３に取り込まれる。
【０１６７】
ただし、このリードスキャン開始の際にはテーブルポインタP-FRA がテンポラリレジスタ４３に取り込まれており、最初のパーツテーブルが読み込まれた時点ではテンポラリレジスタ４３には前回のリンク情報としてテーブルポインタP-FRA の値が保持され、このテーブルポインタP-FRA の値と今回取り込まれたリンク情報が２段のレジスタ構成によりそれぞれ保持されることになる。そしてこの時点でテンポラリレジスタ４３はテーブルポインタP-FRA の値を検索対象パーツ情報ＬＫR として保持していることになる。
【０１６８】
また、出力選択部４０からはそのパーツテーブルに記録されたスタートアドレスが、検索対象アドレスＡＤR として出力される。
そして、比較部４５では基準アドレスＡＤref （この場合アドレスＡ27）と検索対象アドレスＡＤR （そのパーツテーブルのスタートアドレス）が比較される。
ここでＡＤR ＞ＡＤref とされる場合は、その読み込まれたパーツテーブルが基準フリーエリアよりも後方に位置するセグメントについてのパーツテーブルであることを示すことになり、逆に、ＡＤR ＜ＡＤref であった場合は、読み込まれたパーツテーブルが基準フリーエリアよりも前方に位置するセグメントについてのパーツテーブルであることを示すことになる。
【０１６９】
また、比較部４６では検索アドレスＡＤprev（この場合、最初は初期値であるアドレスＡMAX ）と検索対象アドレスＡＤR （読み込まれたパーツテーブルのスタートアドレス）が比較される。
【０１７０】
ここでＡＤR ＞ＡＤprevとされる場合は、その読み込まれたパーツテーブルが検索アドレスＡＤprevにスタートアドレスが示されるセグメントより後方のセグメントであることになり、一方ＡＤR ＜ＡＤprevである場合は、その読み込まれたパーツテーブルが検索アドレスＡＤprevにスタートアドレスが示されるセグメントより後方のセグメントであることになる。
ただし、まだ検索アドレスＡＤprevが１度も更新されていない時点で読み込まれたパーツテーブルについては、比較される検索アドレスＡＤprevが初期値ＡMAX とされているため、必ずＡＤR ＜ＡＤprevとなる。
【０１７１】
ここで、比較部４５でＡＤR ＞ＡＤref とされると（検索アドレスＡＤprevが初期値ＡMAX の場合、比較部４６ではＡＤR ＜ＡＤprevという結果が出る）、読み込まれたパーツテーブルは、基準フリーエリアよりも後方であって、比較的近い位置に位置するフリーエリアのセグメントを示すパーツテーブルと判断され、コントロールロジック４７は近接アドレスレジスタ４２及びリンクレジスタ４４にラッチ制御信号を出力し、アドレスＡＤR を新たな検索アドレスＡＤprevとし、またテンポラリレジスタ４３にラッチされていた検索対象パーツ情報ＬＫR をリンクレジスタ４４に検索パーツ情報ＬＫprevとしてラッチさせる。
【０１７２】
テンポラリレジスタ４３における検索対象パーツ情報ＬＫR は即ち前回読み込まれたパーツテーブルにおけるリンク情報（このときはテーブルポインタP-FRA の値となる場合もある）であるため、このように近接アドレスレジスタ４２における検索アドレスＡＤprevが更新されると同時に、その更新されたＡＤprevの値となるエンドアドレスが記録されたパーツテーブルの位置情報がリンクレジスタ４４に検索パーツ情報ＬＫprevとして保持されることになる。
【０１７３】
これにより、基準フリーエリアの後方のセグメントのスタートアドレスが検索アドレスＡＤprevとして保持され、またそのセグメントを示すパーツテーブルの位置が検索リンク情報ＬＫprevとして示される。
【０１７４】
続いて、リードスキャンに応じてそのパーツテーブルからリンクされているパーツテーブルが読み込まれてくることになり、このパーツテーブルにおけるリンク情報はテンポラリレジスタ４３に取り込まれる。このとき、テンポラリレジスタ４３における検索対象パーツ情報ＬＫR は前回取り込まれたリンク情報となり、即ち検索対象パーツ情報ＬＫR により今回取り込まれたパーツテーブルのＵ−ＴＯＣ上の位置が示されることになる。
またそのパーツテーブルのスタートアドレスが出力選択部４０より検索対象アドレスＡＤR として出力される。
【０１７５】
このとき、その検索対象アドレスＡＤR と基準アドレスＡＤref が比較部４５で比較され、さらに検索対象アドレスＡＤR と検索アドレスＡＤprevが比較部４６で比較されて、その結果ＡＤR ＞ＡＤref であって、しかもＡＤR ＜ＡＤprevであれば、その読み込まれたパーツテーブルは、その時点でスタートアドレスが検索アドレスＡＤprevとして保持されているパーツテーブルよりも、基準フリーエリアに対して後方側でより近い位置にあるセグメントに対するパーツテーブルであることになる。
【０１７６】
従って、コントロールロジック４７は近接アドレスレジスタ４２及びリンクレジスタ４４にラッチを実行させ、検索アドレスＡＤprevがその読み込まれたパーツテーブルにおけるスタートアドレスとされるように更新させ、また検索パーツ情報ＬＫprevとしてその読み込まれたパーツテーブルの位置を示すリンク情報、即ちこの時点でテンポラリレジスタ４３に検索対象パーツ情報ＬＫR として保持されている値に更新されるようにする。
【０１７７】
続いてリンクされているパーツテーブルが順次読み込まれていくことになるが、その都度比較部４５，４６による比較動作が実行され、その結果ＡＤR ＞ＡＤref であって、しかもＡＤR ＜ＡＤprevであれば、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevが更新され、一方、ＡＤR ＞ＡＤref かつＡＤR ＜ＡＤprevの結果が得られなかった時は、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevは更新されずにそのまま前回の更新時の値が保持される。
【０１７８】
従ってメモリデータサーチ回路３５でこのような動作がテーブルポインタP-FRA から導かれる全てのパーツテーブルについてのリードスキャンに応じて実行されると、それが終了した時点で、基準フリーエリアに対して後方側で最も近いフリーエリアとなっているセグメントのスタートアドレスが検索アドレスＡＤprevとして保持され、また、そのセグメントを示すパーツテーブルが検索パーツ情報ＬＫprevとして保持されていることになる。
【０１７９】
メモリコントローラ１２によるテーブルポインタP-FRA からのパーツテーブルのリードスキャンが終了すると、システムコントローラ１１の処理は図９のステップF205に進み、メモリデータサーチ回路３５に保持されている検索アドレスＡＤprev及び検索パーツ情報ＬＫprevを取り込む。そして検索アドレスＡＤprevを近接フリーエリアアドレスＮ1 として保持し、また検索パーツ情報ＬＫprevを近接フリーエリアパーツ情報ＮＬ1 として保持する。
【０１８０】
続いて、システムコントローラ１１は再びメモリコントローラ１２のメモリデータサーチ回路３５に対して、近接アドレスレジスタ４２に初期値としてアドレスＡMAX を検索アドレスＡＤprevとしてセットし、さらにリンクレジスタ４４の検索パーツ情報ＬＫprevをクリアする(F206)。
【０１８１】
そして、システムコントローラ１１はメモリコントローラ１２に対してこのようにメモリデータサーチ回路３５をセットしたら、メモリコントローラ１２に対して、バッファＲＡＭ１３に保持されているＵ−ＴＯＣについて今度はテーブルポインタP-TNO1〜P-TNO255のそれぞれから導かれるパーツテーブルについての検索を順次実行させるように制御する(F208)。即ちメモリコントローラ１２に楽曲が記録されているセグメント（楽曲エリア）に関するパーツテーブルのリードスキャンを実行させる。そして、このリードスキャンが終了するまで待機する(F209)。
【０１８２】
このリードスキャンにおいては、メモリコントローラ１２のメモリデータサーチ回路３５では、基準フリーエリアに対して後方で最も近い位置の楽曲エリアとなるセグメントが検索されることになる。
即ち、メモリコントローラ３３はアドレスカウンタ３４によってテーブルポインタP-TNO1から導かれるパーツテーブルについてのアドレスを順次発生させ、これによりＲＡＭデータインターフェース部３１を介して第１曲目の１又は複数のセグメントを対象としたパーツテーブルのデータが順次取り込まれる。ここで１つのパーツテーブルから取り込まれるデータとは、スタートアドレス３バイト、エンドアドレス３バイト、トラックモード情報１バイト、リンク情報１バイトの全８バイトとなる。
【０１８３】
また、第１曲目についてのパーツテーブルのリードスキャンが終了したら続いて第２曲目としてテーブルポインタP-TNO2からのパーツテーブル、さらに続いて第３曲目としてテーブルポインタP-TNO3からのパーツテーブルと、順次リードスキャンされ、従って録音されている全ての楽曲についてのセグメントに対応するパーツテーブルが順次バッファＲＡＭ１３から読み出される。
【０１８４】
メモリデータサーチ回路３５はこれらのパーツテーブルのデータをコントローラインターフェース部３３を介して取り込むと、上記フリーエリアに関するパーツテーブルの場合同様に各セグメントのスタートアドレスの比較処理や、前回のリンク情報の保持がなされ、また比較部４５，４６の比較結果に応じて、ＡＤR ＜ＡＤprevかつＡＤR ＞ＡＤref であれば、読み込まれたパーツテーブルは、基準フリーエリアよりも後方であって、比較的近い位置に位置する楽曲エリアのセグメントを示すパーツテーブルと判断され、コントロールロジック４７から近接アドレスレジスタ４２及びリンクレジスタ４４にラッチ制御信号が出力される。そして、アドレスＡＤR を新たな検索アドレスＡＤprevとし、またテンポラリレジスタ４３にラッチされていた検索対象パーツ情報ＬＫR をリンクレジスタ４４に検索パーツ情報ＬＫprevとしてラッチさせる。
【０１８５】
さらに続いてパーツテーブルが順次読み込まれていくことになるが、その都度比較部４５，４６による比較動作が実行され、その結果ＡＤR ＞ＡＤref であって、しかもＡＤR ＜ＡＤprevであれば、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevが更新され、一方、ＡＤR ＞ＡＤref かつＡＤR ＜ＡＤprevの結果が得られなかった時は、近接アドレスレジスタ４２の検索アドレスＡＤprev及びリンクレジスタ４４の検索パーツ情報ＬＫprevは更新されずにそのまま前回の更新時の値が保持される。
【０１８６】
従ってメモリデータサーチ回路３５でこのような動作がテーブルポインタP-TNO1〜P-TNO255（もちろんこの場合も、P-TNO1〜P-TNO255のうち『００ｈ』とされているテーブルポインタについてはパーツテーブルは存在しないためリードスキャンは不要である）から導かれる全てのパーツテーブルについてのリードスキャンに応じて実行されると、それが終了した時点で、基準フリーエリアに対して後方側で最も近い楽曲エリアとなっているセグメントのスタートアドレスが検索アドレスＡＤprevとして保持され、また、そのセグメントを示すパーツテーブルが検索パーツ情報ＬＫprevとして保持されていることになる。
【０１８７】
メモリコントローラ１２によるテーブルポインタP-TNO1〜P-TNO255からのパーツテーブルのリードスキャンが終了すると、システムコントローラ１１の処理は図４のステップF209に進み、メモリデータサーチ回路３５に保持されている検索アドレスＡＤprev及び検索パーツ情報ＬＫprevを取り込む。そして検索アドレスＡＤprevを近接楽曲エリアアドレスＮ2 として保持し、また検索パーツ情報ＬＫprevを近接楽曲エリアパーツ情報ＮＬ2 として保持する。
【０１８８】
この時点でシステムコントローラ１１は近接フリーエリアアドレスＮ1 と近接楽曲エリアアドレスＮ2 を比較する(F210)。この比較によって基準フリーエリアの後にフリーエリアが存在しているのか楽曲エリアが存在しているのかが分かる。
【０１８９】
例えば図１０（ａ）、図１１のように基準フリーエリアの後に楽曲エリアが存在している場合は、図示するように近接フリーエリアアドレスＮ1 はアドレスＡ32に相当し、また近接楽曲エリアアドレスＮ2 はアドレスＡ30に相当して、即ちＮ1 ＞Ｎ2 となる。
一方図１２（ａ）、図１３（ａ）のように基準フリーエリアの後にフリーエリアが存在している場合は、図示するように近接フリーエリアアドレスＮ1 はアドレスＡ30又はＡ28に相当し、また近接楽曲エリアアドレスＮ2 はアドレスＡ32に相当して、即ちＮ1 ＜Ｎ2 となる。
【０１９０】
ステップF220でＮ1 ＞Ｎ2 とされ、後方が楽曲エリアと判別された場合は、続いて近接楽曲エリアアドレスＮ2 から基準アドレスＮref を減算し、これにより基準フリーエリアとその後の楽曲エリアの間にトラッシュエリアが存在しているか否かを判別する(F211)。
【０１９１】
もし、近接楽曲エリアアドレスＮ2 と基準アドレスＮref の差が１サウンドグループの差であれば、つまり基準フリーエリアとその後の楽曲エリアは完全に隣接し、トラッシュエリアは存在しないことになる。つまり図１１の状態であることが判別される。
この場合はトラッシュエリアに対するマージ処理は不要のため、後方マージ処理を終了する (F211→YES)。
【０１９２】
ところが、近接楽曲エリアアドレスＮ2 と基準アドレスＮref の差が２サウンドグループ以上の差であれば、つまり基準フリーエリアとその後の楽曲エリアの間にトラッシュエリアが存在し、即ち図１０（ａ）の状態であることが判別される。
【０１９３】
この場合はトラッシュエリアに対するマージ処理を実行する (F211→F212) 。即ち、図１０（ｂ）に示すように基準フリーエリアのエンドアドレスをアドレスＡ27からアドレスＡ29に変更して保持する。このアドレスＡ29は近接楽曲エリアアドレスＮ2 −１の演算により算出する。これにより、システムコントローラ１１内では基準フリーエリアは後の楽曲エリアと完全に隣接し、トラッシュエリアが無くなった状態として把握されることになる。
【０１９４】
また、ステップF220でＮ1 ＜Ｎ2 とされ、後方がフリーエリアと判別された場合は、トラッシュエリアの有無を判別することなくマージ処理を実行することになる (F220→F213) 。つまり、後方のフリーエリアと基準フリーエリアを合成することで、トラッシュエリアがもし存在しても自動的にそれが解消されることになる。
【０１９５】
例えば図１３（ａ）のように基準フリーエリアとその後のフリーエリアが完全に隣接し、トラッシュエリアは存在しない場合では、基準フリーエリアのエンドアドレスＡ27を後方のフリーエリアのエンドアドレスＡ31として把握し、図１３（ｂ）のようにアドレスＡ24〜Ａ31を基準フリーエリアとして新たに把握する。
【０１９６】
なお、ここでは後方マージ処理のみで説明しているが、もちろん前述した前方マージ処理において図７，図８のように基準フリーエリアが前方のフリーエリアと合成されていた場合には、このときの基準フリーエリアのスタートアドレスは、その前方のフリーエリアのスタートアドレスとされている。
そして、これらのマージ処理の後、実際にＵ−ＴＯＣを編集する際には、これらのマージ処理において新たに把握された基準フリーエリアが、それまで前方または後方のフリーエリアのセグメントに対応して設けられていたパーツテーブルにおいて含有されて表現されることになる。
【０１９７】
また、例えば図１２（ａ）のように基準フリーエリアとその後のフリーエリアの間にトラッシュエリアが存在していても、同様に基準フリーエリアのエンドアドレスＡ27を後方のフリーエリアのエンドアドレスＡ31として把握し、図１２（ｂ）のようにアドレスＡ24〜Ａ31を基準フリーエリアとして新たに把握することで、トラッシュエリアは自動的に消滅することになる。
【０１９８】
以上のように前方マージ処理、後方マージ処理が終了したら、システムコントローラ１１はそのマージ処理に基づいてＵ−ＴＯＣの編集動作を実行し、バッファＲＡＭ１３内のＵ−ＴＯＣを書き換えることになる。
例えば前記図２０の例でいえば、図２１のＵ−ＴＯＣを図２４のように編集して書き換える。そして所定時点で、この編集されたＵ−ＴＯＣを記録データとしてディスク１に供給し、ディスク１上でＵ−ＴＯＣを書き換えることになる。
【０１９９】
以上のようにマージ処理を行なってＵ−ＴＯＣ編集を行なうことで、トラッシュエリアが解消され、ディスク１のレコーダブルユーザーエリアの有効利用をはかることができる。
【０２００】
そして、この実施例のようにメモリコントローラ１２側にメモリデータサーチ回路を備えたメモリ制御装置により、これらの処理を実行することにより、マージ処理の際にシステムコントローラ１１はリードスキャンされるパーツテーブルのデータの受取りや、それの比較処理による隣り合ったセグメントの判別動作は不要となり、従って従来システムコントローラ１１とメモリコントローラ１２の間でリードスキャンデータの通信に要していた時間は完全に解消されるため、迅速なマージ処理が実現される。例えば、従来２分程度かかっていたＵ−ＴＯＣ編集処理時間を２秒程度に短縮することができる。
【０２０１】
また、メモリデータサーチ回路３５における出力選択部４０に対してシステムコントローラ１１はサーチモード信号ＳSMを供給して、前方マージ処理時にはエンドアドレスを、また後方マージ処理時にはスタートアドレスを出力させ、結局前方マージ処理時にはエンドアドレスが検索アドレスとされて、また後方マージ処理時にはスタートアドレスが検索アドレスとされるようにすることにより、そのままその検索アドレスをトラッシュエリア有無の判別に用いることができるようにしているため、処理の効率化が促進されることにもなる。
【０２０２】
ところで、以上の実施例では前方マージ処理を先に実行するようにしたが、後方マージ処理を先に実行してもよいし、また、前方マージ処理と後方マージ処理を同時に実行することでさらに処理時間を短縮化することもできる。ただし、前方マージ処理と後方マージ処理を同時に実行するには、メモリコントローラ１２においてメモリデータサーチ回路３５を前方サーチ用と後方サーチ用の２単位設ける必要がある。
【０２０３】
また、メモリデータサーチ回路３５における出力選択部４０及びコントロールロジック４７は、サーチモード信号ＳSMを供給して、前方マージ処理時の動作と後方マージ処理時の動作を判別設定させ、特に前述したように出力選択部４０の動作を前方マージ処理時にはエンドアドレスを、また後方マージ処理時にはスタートアドレスを出力させることで処理の効率化を計っているが、これらはかならずしも必要ではない。
【０２０４】
つまり、出力選択部４０については、前方マージ処理時にはエンドアドレスを出力するようにしているが、これはスタートアドレスであっても構わない。即ち、基準フリーエリアより前方に位置するセグメントをシークし、またそれが楽曲エリアかフリーエリア化を判別するという目的のみに限れば、スタートアドレスで比較を行なっても同様の結果を得ることができる。そして、この場合、検索された前方のセグメントと基準フリーエリアとの間にトラッシュエリアが存在するか否かの判別については、システムコントローラ１１は、リンクレジスタ４４から取り込まれた検索パーツ情報ＬＫprevを、近接フリーエリアパーツ情報ＮＬ1 又は近接楽曲エリアパーツ情報ＮＬ2 として取り込んでいるため、それより示されたパーツテーブルを読み出せば、その前方のセグメントのエンドアドレスを得ることができる。従って、基準アドレスＮref と前方のセグメントのエンドアドレスを比較して、トラッシュエリアが存在しているか否かを判別することができる。
【０２０５】
これと同様の理由で、出力選択部４０は、後方マージ処理時にはスタートアドレスではなく、エンドアドレスであっても構わない。
つまり、処理方式によっては出力選択部４０の動作をサーチモード信号ＳSMに応じて動作させることは必ずしも必要ではない。
【０２０６】
また、コントロールロジックについても同様にサーチモード信号ＳSMよって区別して動作させなくてもよい。
即ち、近接アドレスレジスタ４２において前方マージ処理開始時に初期値として適正にＡMIN がセットされ、また後方マージ処理開始時に初期値として適正にＡMAX がセットされているのであれば、コントロールロジック４７は、ＡＤprev＜ＡＤR ＜ＡＤref （即ち前方マージ処理時のラッチ条件）か、又はＡＤprev＞ＡＤR ＞ＡＤref （即ち後方マージ処理時のラッチ条件）かの、いづれかが満たされた時点でラッチ制御信号を出力するようにすれば、上述した前方及び後方のセグメントの検索が実現されることになる。
【０２０７】
ところで、実施例では、前方又は後方に隣接するセグメントのパーツテーブルの位置情報としてリンクレジスタ４４から検索パーツ情報ＬＫprevとして得られるようにしているが、上記実施例のマージ処理に関しては、これは必ずしも必要ではない。即ちメモリデータサーチ回路３５としてはテンポラリレジスタ４３、リンクレジスタ４４を設けないようにしてもよい。
【０２０８】
ただし、実際のマージ処理（ステップF112,F113,F212,F213 ）やＵ−ＴＯＣの編集処理の際には、この隣接するセグメントについてのパーツテーブルの位置情報がメモリデータサーチ回路３５で検出されて得られていることにより、処理を効率よく実行できる。
なお、上記のマージ処理が実行されるのは消去時のみに限られないことはいうまでもない。
【０２０９】
なお、以上の実施例はメモリ制御装置及びメモリデータサーチ回路を光磁気ディスク１に対する記録再生装置に適用した例で説明したが、記録専用装置その他の機器におけるメモリ制御装置，メモリデータサーチ回路として応用できる。
【０２１０】
【発明の効果】
以上説明したように本発明は、メモリコントローラにおいて管理情報（Ｕ−ＴＯＣ）の検索及び比較処理を行なって編集動作の基準となる記録媒体上のセグメントの前又は後に位置するセグメントに相当する管理情報を判別する動作を実行するメモリデータサーチ回路を備えることにより、検索対象のデータ（即ちＵ−ＴＯＣにおけるパーツテーブルのデータ）自体はシステムコントローラに対して通信を行なう必要はなくなり、編集処理において、このデータ通信に要する時間を不要とすることができ、処理時間の大幅な短縮を実現することができるという効果がある。
【０２１１】
また、システムコントローラはデータ比較によって隣接するセグメントを検索する処理も不要となるた、システムコントローラの処理負担は大幅に軽減されるという利点もある。
【０２１２】
また、メモリデータサーチ回路３５における出力選択部４０に対してシステムコントローラ１１はサーチモード信号ＳSMを供給して、前方マージ処理時にはエンドアドレスを、また後方マージ処理時にはスタートアドレスを出力させ、結局前方マージ処理時にはエンドアドレスが検索アドレスとされて、また後方マージ処理時にはスタートアドレスが検索アドレスとされるようにすることにより、そのままその検索アドレスをトラッシュエリア有無の判別に用いることができるようにしているため、処理の効率化が促進されることにもなる。
【０２１３】
また、システムコントローラは、メモリデータサーチ回路によって検索を行なわせる際に、基準となるセグメントに対して前方に位置するセグメントに相当する管理情報を検索させる場合は、管理情報における各セグメントのエンドアドレスを検索させ、一方、後方に位置するセグメントに相当する管理情報を検索させる場合は、管理情報における各セグメントのスタートアドレスを検索させるように制御することで、そのままその検索アドレスをトラッシュエリア有無の判別に用いることができ、処理の効率化が促進されるという効果がある。
【０２１４】
さらに、メモリデータサーチ回路として上述してきたように、基準データレジスタ手段、出力選択手段、検索データレジスタ手段、検索対象データ位置レジスタ手段、検索データ位置レジスタ手段、第１の比較手段、第２の比較手段、及び更新制御手段とを備えて構成することにより、リードスキャン期間において正確に前又は後に位置するセグメント及びそのセグメントのパーツテーブルの位置を検索することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施例のメモリ制御装置及びメモリデータサーチ回路を備えた記録再生装置のブロック図である。
【図２】実施例のメモリ制御装置及び周辺回路部のブロック図である。
【図３】実施例のメモリデータサーチ回路及び周辺回路部のブロック図である。
【図４】実施例のメモリ制御装置による前方マージ処理のフローチャートである。
【図５】前方マージ処理の説明図である。
【図６】前方マージ処理の説明図である。
【図７】前方マージ処理の説明図である。
【図８】前方マージ処理の説明図である。
【図９】実施例のメモリ制御装置による後方マージ処理のフローチャートである。
【図１０】後方マージ処理の説明図である。
【図１１】後方マージ処理の説明図である。
【図１２】後方マージ処理の説明図である。
【図１３】後方マージ処理の説明図である。
【図１４】ディスクのＰ−ＴＯＣ情報の説明図である。
【図１５】ディスクのＵ−ＴＯＣ情報の説明図である。
【図１６】ディスクのＵ−ＴＯＣ情報の管理形態の説明図である。
【図１７】ディスクのＰ−ＴＯＣ及びＵ−ＴＯＣ情報のアドレスデータフォーマットの説明図である。
【図１８】セグメント分割して記録できるディスクの説明図である。
【図１９】ディスクのトラックフォーマットの説明図である。
【図２０】ディスクのエリア状態の説明図である。
【図２１】ディスクの記録データの管理状態の説明図である。
【図２２】ディスクの記録データの消去に伴う処理の説明図である。
【図２３】ディスクの記録データの消去に伴う処理の説明図である。
【図２４】ディスクの記録データの消去に伴うＵ−ＴＯＣ編集処理の説明図である。
【符号の説明】
１  ディスク
３  光学ヘッド
８  エンコーダ／デコーダ部
１１  システムコントローラ
１２  メモリコントローラ
１３  バッファＲＡＭ
１４  エンコーダ／デコーダ部
３０  ディスクドライブインターフェース部
３１  ＲＡＭデータインターフェース部
３２  音声圧縮インターフェース部
３３  コントローラインターフェース部
３４  アドレスカウンタ
３５  メモリデータサーチ回路
４０  出力選択部
４１  基準アドレスレジスタ
４２  近接アドレスレジスタ
４３  テンポラルレジスタ
４４  リンクレジスタ
４５，４６  比較部
４７  コントロールロジック
【図１】
0003669350.tif 000002
【図２】
0003669350.tif 000003
【図３】
0003669350.tif 000004
【図４】
0003669350.tif 000005
【図５】
0003669350.tif 000006
【図６】
0003669350.tif 000007
【図７】
0003669350.tif 000008
【図８】
0003669350.tif 000009
【図９】
0003669350.tif 000010
【図１０】
0003669350.tif 000011
【図１１】
0003669350.tif 000012
【図１２】
0003669350.tif 000013
【図１３】
0003669350.tif 000014
【図１４】
0003669350.tif 000015
【図１５】
0003669350.tif 000016
【図１６】
0003669350.tif 000017
【図１７】
0003669350.tif 000018
【図１８】
0003669350.tif 000019
【図１９】
0003669350.tif 000020
【図２０】
0003669350.tif 000021
【図２１】
0003669350.tif 000022
【図２２】
0003669350.tif 000023
【図２３】
0003669350.tif 000024
【図２４】
0003669350.tif 000025