[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2005129168A - 情報記録装置と情報記録方法とプログラム - Google Patents

情報記録装置と情報記録方法とプログラム Download PDF

Info

Publication number
JP2005129168A
JP2005129168A JP2003364978A JP2003364978A JP2005129168A JP 2005129168 A JP2005129168 A JP 2005129168A JP 2003364978 A JP2003364978 A JP 2003364978A JP 2003364978 A JP2003364978 A JP 2003364978A JP 2005129168 A JP2005129168 A JP 2005129168A
Authority
JP
Japan
Prior art keywords
data
recording
storage area
data storage
information recording
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
JP2003364978A
Other languages
English (en)
Inventor
Hiroyuki Sasaki
啓之 佐々木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003364978A priority Critical patent/JP2005129168A/ja
Priority to PCT/JP2004/011086 priority patent/WO2005041186A1/ja
Publication of JP2005129168A publication Critical patent/JP2005129168A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/211Optical disk storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10666Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【目的】 データが記録可能な情報記録媒体に対して記録又は再生するデータを一時的に記憶するメモリを有効に活用して記録ブロック内のデータの書き換えの効率化を図る。
【構成】 コントローラ10は、データが記録可能な光ディスク11に対してデータの記録又は再生を行う際にそのデータを一時的に記憶するキャッシュメモリ8に対して、光ディスク11に対するデータ記録の形態に応じて複数個のメモリ領域、つまり記録データ格納用メモリ領域と端数データ格納用メモリ領域とに分割してデータを記憶させる制御を行う。
【選択図】 図1

Description

この発明は、情報記録媒体に対してデータの記録又は再生を行う情報記録装置に関し、特に、データ記録の形態に応じてデータ格納メモリを分割して効率的なデータ格納を実現する情報記録装置,記録ブロック以下の単位でのデータ記録やベリファイ処理を伴うデータ記録あるいはタイムシフト再生といった複雑なデータ記録を行う情報記録装置と、情報記録方法と、プログラムとに関する。
CD−RWディスクやDVD+RWディスクなどの記録型ディスクに対してデータの記録又は再生を行う情報記録装置では、装置内部にデータを一時的に格納するキャッシュメモリを備えて処理の高速化を図る装置が多い。
例えば、ユーザからの連続した記録要求では、データを一旦装置内のキャッシュメモリに格納し、キャッシュメモリ内にデータがある程度格納された時点でディスクへの記録を開始し、キャッシュメモリ内にデータが無くなると記録処理を中断して、再びキャッシュメモリ内に一定量のデータが格納されることを待つといった処理を繰り返している。
また、データ記録中もキャッシュメモリの空き具合を監視して、空きがあればユーザからのデータを受信して、記録処理の中断が極力発生しないようにしている。
ところで、このような情報記録装置の普及に伴い、その処理の高機能化が図られており、データ記録処理も複雑化している。例えば、以下の(1)〜(4)に示すような場合において、単一のキャッシュメモリを備えたのみでは高速な記録処理を実現することは難しく、効率的なデータ記録を行うためには複数のメモリが必要になる場合がある。
(1)記録ブロックに満たない単位でデータ記録を行う場合
(2)ベリファイ処理を伴うデータ記録を行う場合
(3)記録ブロック以下の単位で交替を行う場合
(4)タイムシフト再生を行う場合
例えば、上記のような記録処理を行う場合、複数のキャッシュメモリを備えることによって効率的な記録処理を行うことが可能であるが、キャッシュメモリの増加に伴って製造コストも増加してしまう。
一方、現在備えられているキャッシュメモリを分割的に使用することにより、擬似的に複数のキャッシュメモリを備えることも可能である。
従来、メモリを複数の分割領域に分割してデータを格納するものとして、メモリの種類としてセグメントキャッシュ方式のメモリを対象とし、全キャッシュメモリ容量やセグメント管理用メモリの容量などから、分割するセグメント数や個々の分割メモリサイズを予め設定し、さらに個々の分割メモリのデータ格納状態を管理する管理情報をセグメント管理用メモリに格納する情報記録装置(例えば、特許文献1参照)があった。
特開平10−63578号公報
しかしながら、従来の情報記録装置では、個々の分割メモリがセグメントキャッシュ方式で使用されるため、それぞれの分割メモリに対して複雑なメモリ管理を必要とし、例えば記録ブロック単位で連続的に記録を行うようなデータ記録に対しては適切でないという問題があった。
また、上記のような複雑な記録動作を伴わないデータ記録に対してはキャッシュメモリを分割する必要はなく、その全領域を記録データ格納用に使用して、キャッシュメモリ内の記録データがなくなることによる記録中断を極力避けるようにすることが望ましい。
この発明は上記の点に鑑みてなされたものであり、データが記録可能な情報記録媒体に対して記録又は再生するデータを一時的に記憶するメモリを有効に活用して記録ブロック内のデータの書き換えの効率化を図ることを目的とする。
この発明は上記の目的を達成するため、次の(1)〜(11)の情報記録装置を提供する。
(1)データが記録可能な情報記録媒体に対してデータの記録又は再生を行う際に上記データを一時的に記憶する一時記憶手段と、上記情報記録媒体に対するデータ記録の形態に応じて上記一時記憶手段の記憶領域を複数個の領域に分割してデータを記憶させる制御手段を有する情報記録装置。
(2)上記(1)の情報記録装置において、上記制御手段は、上記各領域にそれぞれ所定のバッファリング方式でデータを記憶させる手段を有する情報記録装置。
(3)上記(1)の情報記録装置において、上記制御手段は、上記各領域のうち少なくとも1つの領域をリングバッファリング方式でデータを記憶させる手段を有する情報記録装置。
(4)上記(1)の情報記録装置において、上記一時記憶手段はリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式でデータを記憶する手段であり、上記制御手段は、上記各領域のうち少なくとも1つの領域に上記リング開始ポインタと上記リング終了ポインタをそれぞれ設定して上記リングバッファリング方式でデータを記憶させる手段を有する情報記録装置。
(5)上記(1)〜(4)のいずれかの情報記録装置において、上記情報記録媒体は所定の記録ブロック単位でデータが記録可能であり、上記制御手段は、上記一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記記録ブロック単位に満たない端数データを一時的に記憶する端数データ記憶用領域とに分割し、上記記録データ記憶用領域に上記情報記録媒体へ記録するデータを記憶させ、上記端数データ記憶用領域に上記端数データを記憶させる手段である情報記録装置。
(6)上記(5)の情報記録装置において、上記制御手段は、上記端数データ記憶用領域にデータを記憶させた後、記録要求に対して直ちに完了報告を行う手段を有する情報記録装置。
(7)上記(5)の情報記録装置において、上記制御手段は、上記端数データ記憶用領域にデータを記憶させた後、上記端数データを含む記録ブロックを上記記録データ記憶用領域に読み出し、その読み出したデータへ上記端数データを上書きして上記記録ブロック単位でデータ記録を行う手段を有する情報記録装置。
(8)上記(5)の情報記録装置において、上記制御手段は、記録完了要求を受けた時点で上記記録データ記憶用領域内に上記記録ブロックに満たない端数データが存在するとき、その端数データを上記端数データ記憶用領域に退避し、上記端数データを含む所定の記録ブロックを上記記録データ記憶用領域に読み出し、その読み出したデータへ上記端数データを上書きして上記所定の記録ブロックのデータ記録を行う手段を有する情報記録装置。
(9)上記(5)の情報記録装置において、上記制御手段は、上記端数データ記憶用領域のサイズを上記記録データ記憶用領域のサイズよりも小さくなるように分割する手段を有する情報記録装置。
(10)上記(1)〜(4)のいずれかの情報記録装置において、上記情報記録媒体がデータ記録領域が欠陥を含んでいた場合に所定の交替領域へ交替を行う交替手段を設け、上記制御手段は、上記一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記交替先領域のデータを記憶する交替先データ記憶用領域とに分割し、上記記録データ記憶用領域に上記情報記録媒体へ記録するデータを記憶させ、上記交替領域のデータを読み出して上記交替先データ記憶用領域へ記憶させる手段である情報記録装置。
(11)上記(10)の情報記録装置において、上記データが記録可能な情報記録媒体は交替先領域に所定の記録ブロック単位に満たない端数データを交替可能な情報記録媒体であり、上記制御手段は、上記端数データの交替先領域の記録ブロックのデータを読み出して上記交替先データ記憶用領域に記憶させた後、その交替先データ記憶用領域に記憶させたデータへ上記端数データを上書きして上記所定の記録ブロック単位でデータ記録を行う手段を有する情報記録装置。
(12)上記(10)又は(11)の情報記録装置において、上記制御手段は、上記交替先データ記憶用領域のサイズを上記記録データ記憶用領域のサイズよりも小さくなるように分割する手段を有する情報記録装置。
また、次の(13)〜(24)の情報記録方法も提供する。
(13)データが記録可能な情報記録媒体に対してデータの記録又は再生を行う際に上記データを一時的に記憶する一時記憶手段の記憶領域を、上記情報記録媒体に対するデータ記録の形態に応じて複数個の領域に分割してデータを記憶させる制御工程を有する情報記録方法。
(14)上記(13)の情報記録方法において、上記制御工程は、上記各領域にそれぞれ所定のバッファリング方式でデータを記憶させる工程を有する情報記録方法。
(15)上記(13)の情報記録方法において、上記制御工程は、上記各領域のうち少なくとも1つの領域をリングバッファリング方式でデータを記憶させる工程を有する情報記録方法。
(16)上記(13)の情報記録方法において、上記制御工程は、上記各領域のうち少なくとも1つの領域にリング開始ポインタとリング終了ポインタをそれぞれ設定してリングバッファリング方式でデータを記憶させる工程を有する情報記録方法。
(17)上記(13)〜(16)のいずれかの情報記録方法において、上記制御工程は、上記一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記情報記録媒体にデータを記録するときの所定の記録ブロック単位に満たない端数データを一時的に記憶する端数データ記憶用領域とに分割し、上記記録データ記憶用領域に上記情報記録媒体へ記録するデータを記憶させ、上記端数データ記憶用領域に上記端数データを記憶させる工程である情報記録方法。
(18)上記(17)の情報記録方法において、上記制御工程は、上記端数データ記憶用領域にデータを記憶させた後、記録要求に対して直ちに完了報告を行う工程を有する情報記録方法。
(19)上記(17)の情報記録方法において、上記制御工程は、上記端数データ記憶用領域にデータを記憶させた後、上記端数データを含む記録ブロックを上記記録データ記憶用領域に読み出し、その読み出したデータへ上記端数データを上書きして上記記録ブロック単位でデータ記録を行う工程を有する情報記録方法。
(20)上記(17)の情報記録方法において、上記制御工程は、記録完了要求を受けた時点で上記記録データ記憶用領域内に上記記録ブロックに満たない端数データが存在するとき、その端数データを上記端数データ記憶用領域に退避し、上記端数データを含む所定の記録ブロックを上記記録データ記憶用領域に読み出し、その読み出したデータへ上記端数データを上書きして上記所定の記録ブロックのデータ記録を行う工程を有する情報記録方法。
(21)上記(17)の情報記録方法において、上記制御工程は、上記端数データ記憶用領域のサイズを上記記録データ記憶用領域のサイズよりも小さくなるように分割する工程を有する情報記録方法。
(22)上記(13)〜(16)のいずれかの情報記録方法において、上記情報記録媒体がデータ記録領域が欠陥を含んでいた場合に所定の交替領域へ交替を行う交替工程を設け、上記制御工程は、上記一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記交替先領域のデータを記憶する交替先データ記憶用領域とに分割し、上記記録データ記憶用領域に上記情報記録媒体へ記録するデータを記憶させ、上記交替領域のデータを読み出して上記交替先データ記憶用領域へ記憶させる工程である情報記録方法。
(23)上記(22)の情報記録方法において、上記データが記録可能な情報記録媒体は交替先領域に所定の記録ブロック単位に満たない端数データを交替可能な情報記録媒体であり、上記制御工程は、上記端数データの交替先領域の記録ブロックのデータを読み出して上記交替先データ記憶用領域に記憶させた後、その交替先データ記憶用領域に記憶させたデータへ上記端数データを上書きして上記所定の記録ブロック単位でデータ記録を行う工程を有する情報記録方法。
(24)上記(22)〜(23)の情報記録方法において、上記制御工程は、上記交替先データ記憶用領域のサイズを上記記録データ記憶用領域のサイズよりも小さくなるように分割する工程を有する情報記録方法。
さらに、次の(25)〜(36)のプログラムも提供する。
(25)コンピュータに、データが記録可能な情報記録媒体に対してデータの記録又は再生を行う際に上記データを一時的に記憶する一時記憶手順と、上記情報記録媒体に対するデータ記録の形態に応じて上記一時記憶手順の記憶領域を複数個の領域に分割してデータを記憶させる制御手順を実行させるためのプログラム。
(26)上記(25)のプログラムにおいて、上記制御手順は、上記各領域にそれぞれ所定のバッファリング方式でデータを記憶させる手順を有するプログラム。
(27)上記(25)のプログラムにおいて、上記制御手順は、上記各領域のうち少なくとも1つの領域をリングバッファリング方式でデータを記憶させる手順を有するプログラム。
(28)上記(25)のプログラムにおいて、上記一時記憶手順はリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式でデータを記憶する手順であり、上記制御手順は、上記各領域のうち少なくとも1つの領域に上記リング開始ポインタと上記リング終了ポインタをそれぞれ設定して上記リングバッファリング方式でデータを記憶させる手順を有するプログラム。
(29)上記(25)〜(28)のいずれかのプログラムにおいて、上記情報記録媒体は所定の記録ブロック単位でデータが記録可能であり、上記制御手順は、上記一時記憶手順による記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記記録ブロック単位に満たない端数データを一時的に記憶する端数データ記憶用領域とに分割し、上記記録データ記憶用領域に上記情報記録媒体へ記録するデータを記憶させ、上記端数データ記憶用領域に上記端数データを記憶させる手順であるプログラム。
(30)上記(29)のプログラムにおいて、上記制御手順は、上記端数データ記憶用領域にデータを記憶させた後、記録要求に対して直ちに完了報告を行う手順を有するプログラム。
(31)上記(29)のプログラムにおいて、上記制御手順は、上記端数データ記憶用領域にデータを記憶させた後、上記端数データを含む記録ブロックを上記記録データ記憶用領域に読み出し、その読み出したデータへ上記端数データを上書きして上記記録ブロック単位でデータ記録を行う手順を有するプログラム。
(32)上記(29)のプログラムにおいて、上記制御手順は、記録完了要求を受けた時点で上記記録データ記憶用領域内に上記記録ブロックに満たない端数データが存在するとき、その端数データを上記端数データ記憶用領域に退避し、上記端数データを含む所定の記録ブロックを上記記録データ記憶用領域に読み出し、その読み出したデータへ上記端数データを上書きして上記所定の記録ブロックのデータ記録を行う手順を有するプログラム。
(33)上記(29)のプログラムにおいて、上記制御手順は、上記端数データ記憶用領域のサイズを上記記録データ記憶用領域のサイズよりも小さくなるように分割する手順を有するプログラム。
(34)上記(25)〜(28)のいずれかのプログラムにおいて、上記情報記録媒体がデータ記録領域が欠陥を含んでいた場合に所定の交替領域へ交替を行う交替手順を設け、上記制御手順は、上記一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記交替先領域のデータを記憶する交替先データ記憶用領域とに分割し、上記記録データ記憶用領域に上記情報記録媒体へ記録するデータを記憶させ、上記交替領域のデータを読み出して上記交替先データ記憶用領域へ記憶させる手順であるプログラム。
(35)上記(34)のプログラムにおいて、上記データが記録可能な情報記録媒体は交替先領域に所定の記録ブロック単位に満たない端数データを交替可能な情報記録媒体であり、上記制御手順は、上記端数データの交替先領域の記録ブロックのデータを読み出して上記交替先データ記憶用領域に記憶させた後、その交替先データ記憶用領域に記憶させたデータへ上記端数データを上書きして上記所定の記録ブロック単位でデータ記録を行う手順を有するプログラム。
(36)上記(34)又は(35)のプログラムにおいて、上記制御手順は、上記交替先データ記憶用領域のサイズを上記記録データ記憶用領域のサイズよりも小さくなるように分割する手順を有するプログラム。
この発明による情報記録装置と情報記録方法とプログラムは、データが記録可能な情報記録媒体に対して記録又は再生するデータを一時的に記憶するメモリを有効に活用して記録ブロック内のデータの書き換えの効率化を図ることができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
図1は、この発明の一実施形態である情報記録装置の構成を示すブロック図である。
この情報記録装置は、例えば、CD−Rディスク,CD−RWディスク,CD−MRWディスク,DVD+Rディスク,DVD+RWディスク,DVD+MRWディスク等のデータが記録可能な情報記録媒体である光ディスクに対するデータ(情報)の記録又は再生を行うDVDドライブ等の光ディスク装置である。
この情報記録装置は、データ記録及び再生の命令を受けるホストコンピュータ12を接続しており、その命令に基づいて情報記録媒体である光ディスク11に対するデータの記録と再生を行う。
モータ(スピンドルモータ)1は、光ディスク11のマウント時,データの記録及び再生時に光ディスク11を回転させる。
光ピックアップ2は、微小動作を行うことができ、光ディスク11にレーザダイオード等の光源で発生させたレーザ光Lを照射して記録面上に記録されたデータの読み取りとデータの記録を行う。粗動モータ3は、光ピックアップ2を光ディスク11の半径方向に移動させるモータである。回転制御系部4は、モータ1の回転制御を行う。粗動モータ制御系部5は、粗動モータ3の回転制御を行う。
光ピックアップ制御系部6は、光ピックアップ2のレーザ光発光等の制御を行う。
信号処理系部7は、光ピックアップ2からの信号の処理や光ディスク11にデータ記録を行う為のデータ及び光ディスク11から再生したデータの送受信を行う。
キャッシュメモリ8は、光ディスク11から再生したデータ及び光ディスク11へ記録するデータを一時的に記憶・保存する領域(メモリ領域)である。すなわち、上記一時記憶手段の機能を果たす。
外部インタフェース9は、ホストコンピュータ12とのデータ通信を司る。
コントローラ10は、CPU,ROM及びRAM等からなるマイクロコンピュータによって実現され、この情報記録装置の全体の制御を行うものであり、データ記録の形態に応じてキャッシュメモリ8のメモリ領域(記憶領域)を分割し、データ記録,ベリファイ,再生などの処理を行う。すなわち、ROMにこの発明に係る上記各プログラムを記憶して格納し、CPUがそのプログラムを実行してこの発明に係る上記情報記録方法を実施し、この発明に係る上記制御手段を含む各手段の機能を果たす。
この情報記録装置は、キャッシュメモリ8のメモリ領域を分割して使用する場合、分割されたそれぞれのメモリ領域について最適なバッファリング方式にてデータを格納する。
例えば、複数の分割メモリ領域のうち、記録データ格納用領域(記録データ記憶用領域)や再生データ格納用領域(再生データ記憶用領域)、あるいはベリファイ用などに使用する分割メモリ領域はリングバッファリング方式にて使用することが望ましい。
また、通常、記録データや再生データを格納するためのキャッシュメモリ8はリングバッファリング方式にて使用されることが多い。リングバッファリング方式の利点はキャッシュメモリ8のメモリ領域内の終了アドレスへデータを格納した後は、引き続きメモリ領域の開始アドレスからデータが格納されることである。
例えば、データ記録を行う場合、ホストコンピュータ12からのデータを受信した際に更新されるキャッシュメモリ8内のポインタと、格納データを光ディスク11へ記録した際に更新される記録ポインタなどを参照することにより、キャッシュメモリ8内のデータ占有率を容易に計算することができる。
したがって、複数の分割メモリ領域のうち少なくとも記録データ格納用や再生データ格納用、あるいはベリファイ用に使用する分割メモリ領域はリングバッファリング方式にて使用することが望ましい。
さらに、この情報記録装置でキャッシュメモリ8をリングバッファリング方式にて使用する場合、リングバッファとして使用するメモリ領域のリング開始ポインタとリング終了ポインタを設定し、それらのポインタで指定されたメモリ領域内でリングバッファを形成する。
したがって、例えば次の(A)と(B)の場合はキャッシュメモリ8内に複数のリング開始ポインタ,リング終了ポインタを設定する必要がある。
(A)リングバッファリング方式で使用するキャッシュメモリを分割し、少なくとも1つの分割メモリをリングバッファリング方式にて使用する場合。
(B)分割されたメモリ領域のうち複数の分割メモリ領域をリングバッファリング方式にて使用する場合。
そのような場合、リング開始ポインタ、リング終了ポインタを複数箇所に同時に設定できればよいが、記録形態に応じてキャッシュメモリ8を分割して使用することが考慮されていない従来装置では、リング開始ポインタ、リング終了ポインタを複数箇所に設定できない場合が多い。
また、上記(A)の場合のように、1つのリングバッファが他のリングバッファを含むように設定される場合、単純にリング開始ポインタ,リング終了ポインタを複数箇所に同時設定するのでは不都合が生じる。
これは、リングバッファとして使用するメモリ領域の範囲内に予期せぬリング開始ポインタ、あるいはリング終了ポインタが存在することにより、誤った位置にデータが格納される可能性があるためである。
次に、上記(1)記録ブロックに満たない単位でデータ記録を行う場合について詳細に説明する。
DVD+RWディスクではホストコンピュータ12からセクタ単位でデータ記録を行うことが可能であるが、光ディスク11への書き込みはECCブロック(1ECCブロックは16セクタ、以下「記録ブロック」という)と呼ばれる記録単位で行う必要がある。
したがって、ホストコンピュータ12から記録ブロックに満たないデータ記録要求を受けた場合、当該記録データを含む記録ブロックを読み出した後、この記録ブロックに要求記録データを上書きして再び記録ブロック単位で光ディスク11へ書き戻す。
このような記録処理はリードモディファイライト(Read Modify Write)と呼ばれる。
リードモディファイライトでは、要求された記録領域を含む記録ブロックを一旦読み出してデータをキャッシュメモリ8内に格納した後、キャッシュメモリ8内の所定領域にユーザデータを上書きするが、記録ブロックの読み出しが完了するまで要求データの受信を待たせることは、記録要求に対する応答が遅くなるため望ましくない。
したがって、この情報記録装置では、記録ブロックの読み出しに先立ってユーザデータを受信するためには、記録ブロックを格納するメモリ領域とは別の領域へユーザデータを一旦格納する。
また、ホストコンピュータ12が連続的にデータ記録を行う場合は、ホストコンピュータ12からの個々の記録要求がセクタ単位であっても記録ブロック分のデータが格納された時点で光ディスク11への書き込みを行えばよく、そのような場合は直接ユーザデータを記録データ格納用メモリ領域(記録データ記憶用領域)へ格納可能である。
したがって、連続したデータ記録においてリードモディファイライトが必要となるのは、書き始めのアドレスと書き終わりアドレスが記録ブロックの境界でない場合である。
ここで、連続したデータ記録において記録データ格納用メモリ領域へユーザデータを格納している状態において、記録ブロック途中でユーザから記録完了通知を受けた場合、書き終わりの記録ブロックはリードモディファイライトが発生する。
つまり、ユーザデータを格納したメモリ領域とは別領域に記録ブロックを読み出す必要がある。
さらに、この情報記録装置において、連続したデータ記録ではキャッシュメモリ8が大きければ大きいほど、そのメモリ領域内の記録データが無くなることによる記録中断を極力避けることが可能となる。
一方、端数データ格納用メモリ領域(端数データ記憶用領域)は書き始め、あるいは書き終わりの端数データを格納するためのものであり、最低で記録ブロックのサイズ分あればよい。
次に、上記(3)記録ブロック以下の単位で交替を行う場合について詳細に説明する。
CD−RWディスクのマウントレイニア規格であるCD−MRWディスクやDVD+RWディスクのマウントレイニア規格であるDVD+MRWディスクでは、ユーザはセクタ単位でランダムにデータ記録が可能であり、記録ブロックに満たない場合、光ディスクへの記録はリードモディファイライトを行う必要がある。
ここで、前述のベリファイ処理において、DVD+MRWディスクでは記録ブロックであるECCブロック単位で欠陥かどうかの判定を行い、欠陥と判定した場合は記録ブロック単位でデータの交替を行うが、CD−MRWディスクでは記録ブロックであるパケットを構成するセクタ単位で欠陥かどうかの判定を行い、欠陥であった場合はセクタ単位でデータの交替を行う。
つまり、交替先となる所定のパケットを読み出した後、このパケットに交替元データを上書きして再び交替先パケットへ書き戻す。
このように、CD−MRWディスクにおける交替処理では交替処理においてもリードモディファイライトが行われる。
ところで、前述したようにユーザからの記録データはベリファイ処理が完了するまで保持しておく必要があるため、この情報記録装置では、交替先パケットを読み出す場合は記録データを格納するメモリ領域とは別のメモリ領域へデータを格納する。
また、前述のようにデータ記録のパフォーマンスを維持するためには記録データ格納用メモリ領域は極力大きくしたほうが良く、一方、交替先データ格納用メモリ領域はパケットサイズ分のデータを格納できれば良い。
図2は、図1に示す情報記録装置におけるキャッシュメモリのメモリ分割処理を示すフローチャート図である。
このメモリ分割処理は、例えば、ホストコンピュータ12からの最初のデータ記録要求を受けた時点で行い、ホストコンピュータ12からデータ記録完了の要求を受けた時点で分割されたメモリ領域を元に戻すことで、データ記録の形態に応じたキャッシュメモリ8の使用が可能となる。
コントローラ10は、メモリ分割処理を開始すると、ステップ(図中「S」で示す)1でリードモディファイライトを行う必要があるか否かを判断する。
例えば、CD−MRWディスク,DVD+RWディスク,DVD+MRWディスクへの記録では、ホストコンピュータ12はセクタ単位のランダムなデータ記録が可能であるが光ディスク11への書き込みはパケット単位またはECCブロック単位で行う必要があり、リードモディファイライトが発生する可能性がある。
したがって、ステップ1でリードモディファイライトを行う必要があると判断すると、ステップ2でキャッシュメモリの記憶領域を分割して記録ブロックに満たないデータを一時的に格納する端数データ格納用メモリ領域(端数データ記憶用領域)を確保する。
一方、CD−MRWディスク,DVD+RWディスク,DVD+MRWディスク以外への記録ではリードモディファイライトは発生しないため、ステップ1でリードモディファイライトを行う必要が無いと判断すると、ステップ2の処理をスキップしてステップ3へ進む。
次に、ステップ3でベリファイ処理を伴うデータ記録か否かを判断する。
例えば、CD−MRWディスク,DVD+MRWディスクではデータ記録後に当該領域のベリファイを行う場合があるため、ステップ3でベリファイ処理を伴うデータ記録と判断すると、ステップ4でキャッシュメモリのメモリ領域(記憶領域)を分割してベリファイ用メモリ領域(ベリファイ用記憶領域)を確保する。
次に、ベリファイ処理において欠陥が検出された場合、ステップ5でセクタ単位で交替を行うか否かを判断する。
例えば、CD−MRWディスクにおけるベリファイはセクタ単位で欠陥検出を行い、パケット内の欠陥セクタのみを交替する。
したがって、ステップ5でセクタ単位で交替を行うと判断したら、ステップ6でキャッシュメモリを分割して交替先データ格納用メモリ領域(交替先データ記憶用領域)を確保する。
一方、DVD+MRWではECCブロック単位で欠陥検出が行われ、欠陥であった場合はECCブロック単位で交替されるため、ステップ5でセクタ単位で交替を行わないと判断したら、ステップ6の処理をスキップしてステップ7へ進む。
また、例えばCD−MRWディスク,DVD+MRWディスク以外への記録ではベリファイを伴うデータ記録が発生しないため、ステップ3でベリファイ処理を伴うデータ記録ではないと判断すると、ステップ4〜6の処理をスキップしてステップ7へ進む。
次に、ステップ7でタイムシフト再生を行うか否かを判断し、タイムシフト再生を行う場合は、ステップ8でキャッシュメモリのメモリ領域を分割して再生データ格納用メモリ領域(再生データ記憶用領域)を確保し、この処理を終了する。
また、ステップ7の判断でタイムシフト再生を行わない場合はステップ8をスキップしてこの処理を終了する。
なお、上記の分割メモリ領域のうち同時に使用することのない複数の分割メモリ領域は複数に分割する必要はなく、ある分割メモリ領域を複数の目的に使用しても良い。
例えば、CD−MRWディスクにおいて、ベリファイ処理と交替先パケットの読み出しが同時に行われることはない。
さらに、ベリファイ用メモリ領域に格納したデータを交替先パケットの読み出し中に保持しておく必要はなく、逆に交替先データ格納用メモリに格納したデータはベリファイ中に保持しておく必要はない。
このような場合は、1つの分割メモリ領域をベリファイ用と交替先データ格納用に使用することも可能である。
図3は、図1に示すコントローラ10による上記の要領で分割されたメモリ領域のレイアウトを示す図である。
同図の(a)は、CD−Rディスク,CD−RWディスク及びDVD+Rディスクへデータ記録を行う場合のメモリ領域のレイアウトである。
これらの光ディスクへの記録はリードモディファイライトやベリファイなどの複雑な処理が不要であるため、キャッシュメモリ8のメモリ領域全体を記録データ格納用メモリ領域20に使用することが可能である。
すなわち、コントローラ10は、リング開始ポインタ(RS)にメモリ領域の開始アドレスM0を設定し、リング終了ポインタ(RE)にメモリ領域の終了アドレスM1を設定する。
同図の(b)は、DVD+MRWディスクへデータ記録を行う場合のメモリ領域の分割例である。
DVD+MRWディスクはユーザからセクタ単位でランダムに記録が可能であり、リードモディファイライトを行う必要があるため、コントローラ10は、キャッシュメモリ8を記録データ格納用メモリ領域20と端数データ格納用メモリ領域(端数データ転送用メモリ領域)21とに分割する。すなわち、キャッシュメモリ8内のアドレスM0からM2を記録データ格納用メモリ領域20として使用し、アドレスM2からM1を端数データ格納用メモリ領域21として使用する。
また、コントローラ10は、これらの分割メモリ領域のうち記録データ格納用メモリ領域20はリングバッファリング方式で使用し、リング開始ポインタ(RS0)およびリング終了ポインタ(RE0)に記録データ格納用メモリ領域20の開始アドレスM0および終了アドレスM2をそれぞれ設定する。
同図の(c)は、CD−MRWディスク及びDVD+MRWディスクへデータ記録を行う場合のメモリ領域の分割例である。
これらの光ディスクは、DVD+RWディスクと同様にホストコンピュータ12からセクタ単位でランダムに記録が可能であり、リードモディファイライトを行う必要があるため、コントローラ10は、キャッシュメモリ8を記録データ格納用メモリ領域20と端数データ格納用メモリ領域21とに分割する。
さらに、これらの光ディスクはベリファイ処理を伴うデータ記録を行うため、コントローラ10は、記録データ格納用メモリ領域20をさらに分割し、ベリファイ用メモリ領域22を確保する。
なお、CD−MRWディスクでは交替処理においてもリードモディファイライトが発生するため、交替データ格納用メモリ領域が必要となるが、交替先パケットのデータをベリファイ用メモリ領域22へ格納することで新たに交替先データ格納用メモリ領域を確保する必要がなくなる。
以上のように、コントローラ10は、CD−MRWディスク及びDVD+MRWディスクへのデータ記録では、キャッシュメモリ8内のアドレスM0からM3を記録データ格納用メモリ領域20、アドレスM3からM2をベリファイ用メモリ領域(交替先データ格納用メモリ領域)22、アドレスM2からM1を端数データ格納用メモリ領域21として使用する。これらの分割メモリ領域のうち、記録データ格納用メモリ領域20とベリファイ用メモリ領域22はリングバッファリング方式にて使用することでそれぞれのメモリ管理が容易になる。
すなわち、コントローラ10は、記録処理を行う場合はリング開始ポインタ(RS0)及びリング終了ポインタ(RE0)に記録データ格納用メモリ領域20の開始アドレスM0及び終了アドレスM3をそれぞれ設定し、ベリファイ処理を行う場合はリング開始ポインタ(RS1)及びリング終了ポインタ(RE1)にベリファイ用メモリ領域22の開始アドレスM3及び終了アドレスM2をそれぞれ設定する。
同図の(d)は、DVD+RWディスクへの記録においてタイムシフト再生を行う場合のメモリ領域の分割例である。
通常、TV番組の録画などにおいてタイムシフト再生が要求される場合、シーケンシャルなデータ記録が要求される場合が一般的であるが、DVD+RWディスクではホストコンピュータ12はデータをランダムに記録することが可能であるため、例えば録画したデータの管理情報を記録するような場合はランダムな記録を要求される可能性がある。
したがって、コントローラ10は、記録データ格納用メモリ領域20を分割して端数データ格納用メモリ領域21を確保しておく。
次に、データ記録中にホストコンピュータ12からの再生要求に対して再生データを格納するため、コントローラ10は、記録データ格納用メモリ領域20をさらに分割して再生データ格納用メモリ領域23を確保する。
以上のようにして、コントローラ10は、DVD+RWディスクでタイムシフト再生を行う場合は、キャッシュメモリ8内のアドレスM0からM4を記録データ格納用メモリ領域20、アドレスM4からM2を再生データ格納用メモリ領域23、アドレスM2からM1を端数データ格納用メモリ領域21として使用する。これらの分割メモリ領域のうち、記録データ格納用メモリ領域20と再生データ格納用メモリ領域23はリングバッファリング方式にて使用することでそれぞれのメモリ管理が容易になる。
すなわち、コントローラ10は、記録処理を行う場合はリング開始ポインタ(RS0)およびリング終了ポインタ(RE0)に記録データ格納用メモリ領域20の開始アドレスM0および終了アドレスM4をそれぞれ設定し、データ再生処理を行う場合はリング開始ポインタ(RS1)およびリング終了ポインタ(RE1)に再生データ格納用メモリ領域23の開始アドレスM4および終了アドレスM2をそれぞれ設定する。
図4乃至図6は、図1に示したコントローラ10による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
コントローラ10は、図3の(b)に示すようにキャッシュメモリ8の全メモリ領域(メモリアドレスM0からM1)を記録データ格納用メモリ領域(メモリアドレスM0からM2)20と端数データ格納用メモリ領域(メモリアドレスM2からM1)21とに分割する。以下、DVD+RWディスクへの記録を例に説明する。
図4の(a)〜(d)は、ホストコンピュータ12がセクタ単位でデータ記録を要求した場合のキャッシュメモリ8の使用例の説明図である。
コントローラ10は、ホストコンピュータ12からECCブロックの境界でないアドレスへの記録要求を受けた場合、要求データを端数データ格納用メモリ領域21に一時的に格納する(図4の(a)参照)。そのとき、コントローラ10は、ホストコンピュータ12に対して記録要求に対する完了通知を報告する。
次に、コントローラ10は、要求された記録アドレスを含むECCブロックを光ディスク11から読み出して記録データ格納用メモリ領域20に格納する(図4の(b)参照)。
次に、コントローラ10は、端数データ格納用メモリ領域21に一時的に格納した端数データを、上記読み出したECCブロックデータの所定位置にコピーし(図4の(c)参照)、ECCブロック単位で光ディスク11へ書き戻す(図4の(d)参照)。
このようにして、端数データを格納するためのメモリ領域を確保することにより、所定のECCブロックデータを光ディスク11から読み出す前に要求記録データを受信することが可能になる。
また、要求データを格納後にホストコンピュータ12に対して記録完了通知を報告することでデータ記録のパフォーマンスを向上させることが可能になる。
図5の(a)〜(c)と図6の(a)〜(e)は、ホストコンピュータ12が連続的にデータ記録を行う場合のキャッシュメモリ使用例である。
本例では書き始めのアドレスおよび書き終わりアドレスはECCブロックの境界でないものとする。
コントローラ10は、例えば、ホストコンピュータ12がECCブロックの境界をまたぐように記録要求を行った場合、最初に記録開始アドレスから次のECCブロックの境界までのデータを端数データ格納用メモリ領域21に一時的に格納し、残りのデータを記録データ格納用メモリ領域20に格納する。
このとき、コントローラ10は、要求データの前半部分は端数データ格納用メモリ領域21の開始位置(メモリアドレスM2)から格納し、後半部分は記録データ格納用メモリ領域20の開始位置(メモリアドレスM0)から1ECCブロック分空けた位置から格納する(図5の(a)参照)。
コントローラ10は、以上のデータを格納した後にホストコンピュータ12に対して記録要求に対する完了通知を報告する。
次に、コントローラ10は、端数データ格納用メモリ領域21に一時的に格納したデータを含むECCブロックを光ディスク11から読み出し、記録データ格納用メモリ領域20の開始位置(メモリアドレスM0)へ格納する。
コントローラ10は、この間にホストコンピュータ12からシーケンシャルな記録要求を受けた場合、当該アドレスがECCブロックの境界であるか否かに関わらず、記録データ格納用メモリ領域20へ連続的に格納する(図5の(b)参照)。
次に、コントローラ10は、ECCブロックの読み出しが完了した場合、端数データ格納用メモリ領域21に一時的に格納した要求記録データを読み出したECCブロックデータの所定位置にコピーする(図5の(c)参照)。
ここで、コントローラ10は、要求記録データの終了アドレスがECCブロックの境界でない時点で、ホストコンピュータ12から記録終了の要求を受けた場合(図6の(a)参照)、ECCブロックの端数となる要求データを端数データ格納用メモリ領域21へいったん退避し(図6の(b)参照)、この端数データを含む所定のECCブロックを光ディスク11から読み出して記録データ格納用メモリ領域20の所定位置へ格納する(図5の(c)参照)。
次に、コントローラ10は、端数データ格納用メモリ領域21へ退避したデータを再び記録データ格納用メモリ領域20の所定位置へコピーして(図6の(d)参照)、ECCブロック単位で光ディスク11へ書き戻す(図6の(e)参照)。
なお、コントローラ10は、ホストコンピュータ12から記録終了要求を受ける前に記録データ格納用メモリ領域20のデータ占有量が所定のしきい値を超えた場合は記録を開始する。
また、記録開始後にユーザから記録完了通知を受けた場合は、ECCブロックの境界となるアドレスで一旦記録を中断してから、書き終わりの端数データを含む所定のECCブロックを読み出して当該ECCブロックの記録を行う。
図7及び図8は、コントローラ10によるDVD+RWディスクへのデータ記録動作を示すフローチャート図である。
コントローラ10は、データ記録処理を開始すると、図7のステップ(図中「S」で示す)1でキャッシュメモリのメモリ分割処理を行う。
このメモリ分割処理では、図2に基づいて示した処理でキャッシュメモリ8のメモリ分割を行い、その結果、キャッシュメモリ8の記憶領域を、図3の(b)に示すように記録データ格納用メモリ領域20と端数データ格納用メモリ領域21とに分割する。
ステップ2でホストコンピュータから記録要求があるか否かを判断し、ここでは記録を要求されているため、ホストコンピュータから記録要求があると判断し、ステップ3でECCバウンダリか否か(要求記録アドレスECCブロックの境界であるか否か)を判断する。ステップ3の判断でECCバウンダリの場合(要求記録アドレスがECCブロックの境界であった場合)はステップ9へ進んで要求データを受信して記録メモリ(記録データ格納用メモリ領域)へ転送して記憶(格納)する。ここでは要求記録アドレスがECCブロックの境界でなかったと仮定する。その場合、ステップ3の判断でECCバウンダリではない場合(要求記録アドレスがECCブロックの境界ではない場合)、ステップ4で連続アドレスか否か(直前の要求記録アドレスから連続した記録要求であるか否か)を判断する。
ステップ4の判断で連続アドレスの場合(直前の記録要求から連続した記録要求であった場合)、ステップ9へ進んでデータを受信して記録メモリ(記録データ格納用メモリ領域)の所定位置へ転送して記憶(格納)する。データ記録開始時の場合、直前の記録要求は存在しないため、ステップ4の判断で連続アドレスではない場合、ステップ5で要求記録データのうちECCブロックの境界までの端数データを抽出し、ステップ6で端数メモリ(端数データ格納用メモリ領域)に端数データを転送して記憶(格納)する(図4の(a)参照)。端数データ格納用メモリへデータ格納後、ステップ7のECC読み出し開始で当該端数データを含むECCブロックのデータを光ディスク上から読み出す処理を開始する。
次に、ステップ8でホストコンピュータが要求した記録データのうちデータ受信していない未転送データが存在するか否かを判断し、未転送データが存在しない場合、ステップ11へ進んでECC読み出しが完了したか否かを判断する。ここでは未転送データが存在していたと仮定し、ステップ8で未転送データが存在していた場合、ステップ9で記録メモリ(記録データ格納用メモリ領域)へデータを転送して記憶(格納)する。
この場合、記録データ格納用メモリの開始アドレスから1ECCブロック分後方へデータ格納される(図5の(a)参照)。これは光ディスク11から読み出したデータを記録データ格納用メモリ領域の先頭から格納するためである。
次に、ステップ10でECCブロック読み出しが完了したか否かを判断する。ここではECCブロック読み出しを開始した直後であるため、ステップ10の判断でECC読み出し完了ではない場合、ステップ11の処理をスキップしてステップ12へ進む。
次に、ステップ12で記録データ格納用メモリ領域内のデータ占有量が所定の記録開始しきい値を超えたか否かを判断する。
記録開始の場合、データ占有量は記録開始しきい値を超えていないため、ステップ12の判断で記録開始しきい値を超えていない場合、ステップ13の処理をスキップしてステップ14へ進む。
次に、ステップ14でホストコンピュータに対してデータ記録要求に対する完了を通知し、ステップ2へ戻って再びホストコンピュータからのデータ記録要求を待つ。
以上が、記録開始時のデータ記録要求に対する処理である。
このように、この情報記録装置ではキャッシュメモリ8を記録データ格納用メモリ領域と端数データ格納用領域とに分割することにより、端数データを含むECCブロックの読み出しが完了する前に要求記録データを受信することが可能となり、記録要求に対するパフォーマンスを向上させることが可能となる。
さらに、引き続きホストコンピュータ12からの記録要求を待つ。
このとき、ホストコンピュータ12から連続的なデータ記録要求を受けた場合は、当該記録アドレスがECCブロックであるか否かに関わらず、すなわち、ステップ3でECCバウンダリではないと判断した場合であっても、ステップ4で連続アドレスと判断し、ステップ9で記録データ格納用メモリ領域へデータを転送して記憶(格納)する(図5の(b)参照)。
ステップ10の判断でデータ受信中にECCブロック読み出しが完了していた場合は、ステップ11でステップ6において端数データ格納用メモリ領域に受信した端数データを、読み出したECCブロックの所定位置へコピーする(図5の(c)参照)。
また、ステップ12でデータ受信中に記録データ格納用メモリ領域のデータ占有量が所定の記録開始しきい値を超えた場合は、ステップ13でデータ記録を開始する。
一方、ステップ2の判断においてホストコンピュータからのデータ記録要求がなかった場合、図8のステップ15へ進んでホストコンピュータからデータ記録終了要求を受けたか否かを判断し、データ記録終了要求を受けていない場合、図7のステップ2へ戻って再びホストコンピュータからのデータ記録要求を受けたか否かを判断し、データ記録要求を待つ。
ホストコンピュータからデータ記録終了要求があった場合、ステップ16でデータ記録終了アドレスがECCブロックの境界であるか否か、すなわちデータの書き終わりに端数データが存在するか否かを判断する。ステップ16で端数データ無しと判断したら、ステップ28でデータ記録中か否かを判断して、データ記録中ならステップ25へ進み、データ記録中でなければステップ24へ進む。
ここではデータの書き終わりに端数データがあると仮定する(図6の(a)参照)。
この場合、ステップ16で端数データがあると判断し、ステップ17で当該端数データを端数データ格納メモリ領域へ退避する(図6の(b)参照)。
次に、ステップ18で光ディスクへの記録中か否かを判断し、データ記録中の場合は、ステップ19で前述の端数データを除き、ECCブロックの境界となるアドレスでデータ記録を中断するように記録中断ポイントを設定し、ステップ20でデータ記録完了か否かを判断し、データ記録完了を待つ。
一方、ステップ18の判断においてデータ記録中でなかった場合は、ステップ19と20の処理をスキップし、ステップ21へ進む。
次に、ステップ21で当該端数データを含むECCブロックの読み出しを開始し、ステップ23でECC読み出し完了か否かを判断し、ECC読み出し完了を待つ(図6の(c)参照)。
ステップ22の判断でECCブロックの読み出しが完了した場合は、ステップ23でステップ17において端数データ格納用メモリ領域へ退避した端数データを、読み出したECCブロックの所定位置へコピーし(図6の(d)参照)、ステップ24でECCブロック単位で光ディスクへの記録を開始し(図6の(e)参照)、ステップ25でデータ記録完了か否かを判断して、データ記録完了を待つ。
ステップ25の判断でデータ記録処理が完了したら、ステップ26でホストコンピュータからのデータ記録終了要求に対する完了を通知し、ステップ27でステップ1において分割したメモリ領域を復帰させて(元の状態に戻して)、この処理を終了する。
図9及び図10は、図1に示したコントローラ10によるベリファイ処理及び交替処理を伴うデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
ここではCD−MRWディスクへの記録を例に取り、セクタ単位で交替を行う場合について説明する。
なお、CD−MRWディスクではユーザからセクタ単位でランダムに記録が可能であるため、端数データ格納用メモリ領域を確保しているが、説明を簡素化するためにここではパケット単位で連続的に記録を行うものとする。
図9の(a)〜(e)はベリファイを伴うデータ記録におけるメモリ分割とデータ格納のフォーマットを示す図である。
コントローラ10は、キャッシュメモリ8の全メモリ領域(メモリアドレスM0からM1)を記録データ格納用メモリ領域(メモリアドレスM0からM3)20、ベリファイ用メモリ領域(メモリアドレスM3からM2)22、端数データ格納用メモリ領域(メモリアドレスM2からM1)21とに分割する。
また、ホストコンピュータ12からパケット単位で連続的にデータ記録要求を受けた場合は、記録データ格納用メモリ領域20へデータを記憶(格納)する(図9の(a)参照)。さらに、記録データ格納用メモリ領域20内のデータ占有量が所定の記録開始しきい値(本例では記録データ格納用メモリ領域のサイズとする)以上となる場合、当該記録データを光ディスクへ記録する(図9の(b)参照)。
なお、コントローラ10は、データ受信からデータ記録までは、記録データ格納用メモリ領域20、すなわちメモリアドレスM0からM3をリングバッファリング方式で使用し、リング開始ポインタ(RS0)及びリング終了ポインタ(RE0)をそれぞれメモリアドレスM0及びM3に設定する。記録データ格納用メモリ領域20に格納したデータの記録が完了した場合、当該記録領域のベリファイを行う。
ここで、コントローラ10は、ベリファイ処理を再生処理と同様に、再生したデータをベリファイ用メモリ領域22内に格納してエラー検出,エラー訂正などを行い、正常に記録されているか否かの判定(欠陥検出)を行う。
このとき、コントローラ10は、ベリファイ用メモリ領域22、すなわちメモリアドレスM3からM2の領域はリングバッファリング方式で使用し、リング開始ポインタ(RS1)及びリング終了ポインタ(RE2)をそれぞれメモリアドレスM3及びM2に設定する。ベリファイ用メモリ領域22に格納されたデータは欠陥が検出されない限り、次の領域のベリファイデータによって上書きしていく(図9の(c)参照)。
コントローラ10は、記録した全データのベリファイが完了し、正常に記録されていることが確認された場合は、記録データ格納用メモリ領域20に保持しておいたデータは不要となるため、記録データ格納用メモリ領域20を開放して、引き続きホストコンピュータ12から次の記録データを受信してデータを格納していく(図9の(d)参照)。
なお、ベリファイ処理において正常に記録されていることが確認されたデータについては記録データ格納用メモリ領域20に保持しておく必要はなく、ベリファイ済みデータから順に記録データ格納用メモリ領域20を開放して、ホストコンピュータ12からの記録データを格納しても良い(図9の(e)参照)。
図10の(a)〜(e)は交替処理におけるメモリ使用例のフォーマットを示す図である。
CD−MRWディスクではセクタ単位で交替を行うため、交替処理においてもリードモディファイライトを行う必要がある。
ただし、ベリファイで格納したデータを交替処理中も保持しておく、あるいは、交替処理で格納したデータをベリファイ中も保持しておくといった必要はないため、交替先データ格納用メモリはベリファイ用メモリ領域22で代用することが可能である。
すなわち、コントローラ10は、キャッシュメモリ8のメモリアドレスM3からM2を交替先データ格納用メモリ領域22として使用する。
ここで、ベリファイ処理において記録領域のうちの1セクタが欠陥と判定された場合(図10の(a)参照)、当該欠陥領域へ記録したデータは所定の交替領域へ再度記録する必要がある。
コントローラ10は、まず所定の交替先パケットのデータを読み出して交替先データ格納用メモリ領域22へ格納する(図10の(b)参照)。
次に、欠陥領域へ記録したデータを交替先パケットの所定位置へコピーし(図10の(c)参照)、パケット単位で交替先パケットへ記録する(図10の(d)参照)。
そして、コントローラ10は、交替処理が完了した場合は、残りの記録データのベリファイを再開する(図10の(e)参照)。
なお、DVD+MRWディスクではECCブロック単位で交替を行うため、交替先となるECCブロックのデータを読み出す必要はない。
したがって、記録データ格納用メモリ領域20内のデータを直接交替先ECCブロックへ記録してよい。
図11及び図12は、コントローラ10によるCD−MRWディスクへのデータ記録動作を示すフローチャート図である。
なお、CD−MRWディスクではホストコンピュータ12からセクタ単位でランダムに記録が可能であるが、説明を簡素化するため、ここではパケット単位で連続的に記録を行うものとする。
コントローラ10は、図11に示すように、データ記録処理を開始すると、ステップ(図中「S」で示す)31でキャッシュメモリのメモリの分割処理を行う。
このメモリ分割処理では、図2に基づいて示した処理でキャッシュメモリ8のメモリ分割を行い、その結果、キャッシュメモリ8の記憶領域を、図3の(c)に示すように記録データ格納用メモリ領域20とベリファイ用メモリ領域(交替先データ(パケット)格納用メモリ領域)22と端数データ格納用メモリ領域21とに分割する。
本実施例では次に、記録データ格納用メモリ領域20をリングバッファリング方式で使用するために、ステップ32の記録用リング設定処理でリング開始ポインタ(RS0)及びリング終了ポインタ(RE0)にそれぞれメモリアドレスM0及びM3を設定し、ステップ33でホストコンピュータからデータ記録要求があるか否かを判断する。
ここでは記録を要求されているため、ステップ33でデータ記録要求有りと判断し、ステップ34で要求データを受信して記録メモリ(記録データ格納用メモリ領域)へ転送して記憶(格納)する(図9の(a)参照)。
次に、ステップ35で記録を開始するか否かの条件を満たしているか否かを判断する。
その条件としては、記録データ格納用メモリ領域20のデータ占有量が所定の記録開始しきい値を超えたか否か、あるいはホストコンピュータからデータ記録完了要求があるかなどが考えられる。
ステップ35の判断で記録開始条件を満たしていない場合、ステップ33へ戻って再びホストコンピュータからのデータ記録要求有りか否かを判断し、データ記録要求を待つ。
一方、ステップ35の判断で記録開始条件を満たしていた場合、ステップ36で記録データ格納用メモリ領域へ格納したデータを光ディスクへ記録開始し、ステップ37で記録完了か否かを判断し、記録の完了を待つ(図9の(b)参照)。
ステップ37の判断で記録が完了した場合、ベリファイ処理へ移行する。
ここではまず、ステップ38でベリファイ用メモリ領域をリングバッファリング方式で使用するためにベリファイ用リング設定処理で、リング開始ポインタ(RS1)及びリング終了ポインタ(RE1)にそれぞれメモリアドレスM3及びM2を設定する。
次に、ステップ39で当該記録領域のベリファイを開始し、ステップ40でベリファイエラーか否かを判断し、ベリファイエラーなら、図12のステップ44へ進み、ベリファイエラーでなければ、ステップ41でベリファイ完了か否かを判断し、ベリファィ完了でなければステップ40へ戻り、ベリファイ完了ならステップ42へ進む。
すなわち、ステップ40と41で記録領域内の欠陥検出を行いながら、ベリファイ処理の完了を待つ。
なお、ベリファイ用メモリ領域22に格納されたデータは欠陥が検出されない限り、次の領域のベリファイデータによって上書きしていく(図9の(c)参照)。
ステップ41の判断でベリファイ処理が完了し、データが正常に記録されていることが確認された場合は、ステップ42でホストコンピュータから記録終了要求を受けているか否かを判断し、記録終了要求を受けていなければ、ステップ32へ戻って再びデータ記録用のリング開始ポインタ,リング終了ポインタを設定し、ホストコンピュータからのデータを受信する(図4の(d)参照)。
一方、ステップ42の判断で記録終了要求を受けていた場合、ステップ43でステップ31において分割したメモリ領域を復帰させて(元の状態に戻して)、この処理を終了する。
ところで、ステップ40の判断において記録領域内に欠陥が検出された場合は交替処理へ移行する。ここではまず、図12のステップ44で欠陥と判定されたセクタを抽出する(図10の(a)参照)。
次に、ステップ45で所定の交替領域のうち、交替が可能な領域の交替先アドレスを取得し、ステップ46でその交替先領域を含む交替先パケットのデータを読み出して、交替先データ格納用メモリ領域へ記憶(格納)する(図10の(b)参照)。
ステップ47で読み出し完了か否かを判断して、読み出し完了まで、読み出しと交替先データ格納用メモリ領域への記憶を繰り返す。
ステップ47の判断で交替先パケットの読み出しが完了した場合、ステップ48で欠陥領域へ記録した交替データを交替先データ格納用メモリ領域内の所定位置へコピーし(図10の(c)参照)、ステップ49で交替先パケットへパケット単位でデータ記録を開始し、ステップ50でデータ記録完了か否かを判断して、完了でなければ完了を待つ(図10の(d)参照)。
以上の交替処理を完了し、ステップ50でデータ記録完了と判断した場合、ステップ51でデータ記録領域のベリファイを再開し、図11のステップ41へ戻って欠陥検出処理を続ける。
なお、交替先パケットへ記録したデータが正常に記録されているか否かを確認する場合はベリファイ用メモリ領域を使用してベリファイを行っても良い。
図13及び図14は、DVD+RWディスクにおいてタイムシフト再生を行う場合のメモリ分割とデータ格納の例を示す説明図である。
図13の(a)〜(d)は再生データ格納用メモリを持たない従来装置でのタイムシフト再生におけるデータ格納のフォーマットを示す図である。
まず、ホストコンピュータからデータ記録要求を受けた場合、記録データ格納用メモリ領域へデータを格納し、ホストコンピュータに対して処理完了を通知する(図13の(a)参照)。この段階では記録データ格納用メモリ領域内のデータ占有量は所定の記録開始しきい値を超えていないため、光ディスクへの記録を開始していない。
次に、ホストコンピュータからデータ再生要求を受けた場合は記録処理を完了させるため、記録データ格納用メモリ領域内の記憶(格納)されたデータを光ディスクへ記録した後に(図13の(b)参照)、要求されたデータを再生し、記録データ格納用メモリ領域へ記憶(格納)する(図13の(c)参照)。
タイムシフト再生ではホストコンピュータから記録と再生が交互に要求され、再びホストコンピュータから記録要求を受けると記録データ格納用メモリ領域へデータを格納し、ホストコンピュータに対して処理完了を通知する(図13の(d)参照)。
このように、従来装置におけるタイムシフト再生ではホストコンピュータからの記録、再生要求が切り替わるたびに記録処理が中断されてシークが発生してしまう。
つまり、タイムシフト再生ではメモリサイズによらず頻繁に記録の中断が発生することになり、シークエラー等によるリトライ処理に時間がかかるという不具合が発生しやすくなる。
一方、図14の(a)〜(d)は、コントローラ10によるタイムシフト再生におけるデータ格納のフォーマットを示す図である。
ここでは、コントローラ10は、図3の(d)に示すように、キャッシュメモリ8の全メモリ領域(メモリアドレスM0からM1)を記録データ格納用メモリ領域(メモリアドレスM0からM4)20と再生データ格納用メモリ領域(メモリアドレスM4からM1)23とに分割する。
なお、DVD+RWディスクではホストコンピュータ12からセクタ単位でランダムに記録が可能であるため、端数データ格納用メモリ領域21を確保しているが、説明を簡素化するため、ここではECCブロック単位で連続的に記録を行うものとする。
コントローラ10は、ホストコンピュータ12からデータ記録要求を受けた場合、記録データ格納用メモリ領域20へデータを格納し、ホストコンピュータ12に対して処理完了を通知する(図14の(a)参照)。この段階では記録データ格納用メモリ領域20内のデータ占有量は所定の記録開始しきい値を超えていないため、光ディスクへの記録は開始していない。
なお、コントローラ10は、データ受信からデータ記録までは、記録データ格納用メモリ領域20、すなわちメモリアドレスM0からM4をリングバッファリング方式で使用し、リング開始ポインタ(RS0)及びリング終了ポインタ(RE0)をそれぞれメモリアドレスM0及びM4に設定する。
次に、コントローラ10は、ホストコンピュータ12からデータ再生要求を受けた場合は、データ記録に先立って、要求されたデータを光ディスクから読み出して再生データ格納用メモリ領域23に格納する(図14の(b)参照)。
このとき、コントローラ10は、再生データ格納用メモリ領域23をリングバッファリング方式で使用するために、リング開始ポインタ(RS1)及びリング終了ポインタ(RE1)にそれぞれメモリアドレスM4及びM2を設定する。
次に、コントローラ10は、ホストコンピュータ12から先ほどの記録データと連続する記録要求を受けた場合は、再びデータ記録用のリングポインタを設定し、記録データ格納用メモリ領域20内に続けてデータを格納する(図14の(c)参照)。
このように、ホストコンピュータ12から連続的な記録と再生の要求を交互に要求された場合は、記録データ格納用メモリ領域20へのデータ格納と光ディスクからのデータ再生を繰り返す。
また、コントローラ10は、記録データ格納用メモリ領域20内のデータ占有量が所定の記録開始しきい値を超えた場合は記録を開始する(図14の(d)参照)。
以上に述べたように、記録データと再生データをそれぞれ記録データ格納用メモリ領域と再生データ格納用メモリ領域に格納することにより、再生要求のたびにメモリ内に存在するデータを記録してしまう必要がなくなる。
したがって、タイムシフト再生において一定量の記録データが格納されてからデータ記録を開始することができ、安定したデータ記録を行うことが可能となる。
図15及び図16は、コントローラ10によるタイムシフト再生動作を示すフローチャート図である。
本実施例ではDVD+RWディスクを対象とする。DVD+RWディスクではホストコンピュータ12からセクタ単位でランダムに記録が可能であるが、説明を簡素化するため、ここではECCブロック単位で連続的に記録を行い、記録途中で再生動作を行うものとする。
コントローラ10は、図15に示すように、データ記録処理を開始すると、ステップ(図中「S」で示す)61でキャッシュメモリのメモリの分割処理を行う。
このメモリ分割処理では、図2に基づいて示した処理でキャッシュメモリ8のメモリ分割を行い、その結果、キャッシュメモリ8の記憶領域を、図3の(d)に示すように記録データ格納用メモリ領域20と再生データ格納用メモリ領域23と端数データ格納用メモリ領域21とに分割する。
本実施例では次に、記録データ格納用メモリをリングバッファリング方式で使用するために、ステップ62の記録用リング設定処理でリング開始ポインタ(RS0)及びリング終了ポインタ(RE0)にそれぞれメモリアドレスM0及びM4を設定し、ステップ63でホストコンピュータからデータ記録要求があるか否かを判断する。
ここでは記録を要求されているため、ステップ63でデータ記録要求有りと判断し、ステップ64で要求データを受信して記録メモリ(記録データ格納用メモリ領域)へ転送して記憶(格納)する(図14の(a)参照)。
次に、ステップ65で現在光ディスクへの記録中か否かを判断し、データ記録中の場合は、ステップ63へ戻って再びホストコンピュータからのデータ記録要求があるか否かの判断を行う。ここでは記録開始前であるため、ステップ65でデータ記録中では無いと判断し、ステップ66で次に記録開始の条件を満たしているか否かの判断を行う。
その条件としては、記録データ格納用メモリ領域20のデータ占有量が所定の記録開始しきい値を超えたか否か、あるいはホストコンピュータから記録完了要求があるかなどが考えられる。
ステップ66の判断で記録開始条件を満たしていない場合、ステップ63へ戻って再びホストコンピュータからの記録要求があるか否かの判断を行う。
一方、ステップ63の判断においてホストコンピュータからのデータ記録要求がなかった場合は、図16のステップ74へ進んで再生要求があるか否かを判断し、再生要求があった場合、ステップ75で現在光ディスクへの記録中か否かを判断し、記録中の場合は、ステップ76でデータ記録完了か否かを判断して、データ記録完了を待ち、ステップ76でデータ記録完了と判断したら再生処理へ移行する。
一方、ステップ75の判断でデータ記録中ではない(光ディスクへの記録前の待機状態である)場合は、記録データ格納用メモリ領域内に書き込み前のデータが存在した場合も、当該データの記録に先立って再生処理へ移行する。
ここでは、まず、ステップ77で要求再生アドレスのデータが記録メモリ(記録データ格納用メモリ領域)内に存在するか否かを判断し、記録データ格納用メモリ領域内に存在しない場合、ステップ78の再生用リング設定処理で再生データ格納用メモリ領域をリングバッファリング方式で使用するために、リング開始ポインタ(RS1)及びリング終了ポインタ(RE1)にそれぞれメモリアドレスM4及びM2を設定し、ステップ79で指定アドレスの再生を開始する(図14の(b)参照)。
次に、ステップ80で要求されたデータがキャッシュされたか否かを判断して、要求されたデータが再生データ格納用メモリ領域に記憶(格納)されるのを待ち、格納されれば、ステップ81でホストコンピュータが要求したデータを転送して記憶(格納)する。
なお、ホストコンピュータが要求したデータを転送した後は、再生データ格納メモリ領域内の当該データは不要になるため、先読みによって読み出されたデータで上書きしていく。
次に、ステップ82で引き続きホストコンピュータからデータ再生要求が終了か否かを判断し、データ再生要求が終了でなければ、ステップ80へ戻ってキャッシュされたと判断するまで待ち(先読みによって要求データが再生データ格納用メモリ領域に読み出されるのを待ち)、ステップ81で当該データを転送して記憶(格納)する。
一方、ステップ82でホストコンピュータからのデータ再生要求終了と判断したら、図15のステップ62へ戻って再び記録用リング設定を行い、ステップ63の判断でデータ記録要求を待つ。
ところで、この情報記録装置ではホストコンピュータ12から再生要求を受ける以前に要求されたデータを光ディスクへ記録せずに再生処理を行う場合がある。
つまり、光ディスクへ記録を行う前のデータに対して再生要求を受けた場合は、光ディスク上のデータを再生するのではなく、キャッシュメモリ8内に存在する記録前のデータをホストコンピュータ12に報告する必要がある。
すなわち、ステップ77においてホストコンピュータが要求したデータが記録データ格納用メモリ領域内に存在すると判断した場合は、ステップ83で当該メモリ内のデータをホストコンピュータに転送し、ステップ84で引き続き再生要求が終了か否かを判断し、データ再生要求があれば、ステップ77へ戻って再びホストコンピュータが要求したデータが記録データ格納用メモリ領域内に存在するか否かを判断する。
ステップ84の判断で再生要求終了でなければ、ステップ77へ戻り、再生要求終了なら、図15のステップ62へ戻る。
ステップ82の判断でデータ再生要求終了ならば、図15のステップ62へ戻って再び記録用リング設定を行い、ステップ63の判断で記録要求を待つ。
次に、ホストコンピュータ12が要求した再生処理を行った後、再び記録要求を受けた場合の処理について説明する。
コントローラ10は、図15に示すように、データ再生処理完了後、ステップ61で記録データ格納用メモリ領域をリングバッファリング方式で使用するために、リング開始ポインタ(RS0)及びリング終了ポインタ(RE0)にそれぞれメモリアドレスM0及びM4を設定し、ステップ63でホストコンピュータからデータ記録要求があるか否かを判断する。
ステップ63でホストコンピュータから直前の記録要求アドレスと連続する記録要求が有った場合は、ステップ64で記録データ格納用メモリ領域内に続けてデータを転送して記憶(格納)し(図14の(c)参照)、ステップ65でデータ記録中か否かを判断し、ステップ66で記録開始条件を満たしているか否かを判断する。
ステップ66の判断で記録開始条件を満たしていない場合、ステップ63へ戻って再びホストコンピュータからの記録要求があるか否かを判断する。
このように、ホストコンピュータ12が連続的な記録と再生の要求を交互に要求した場合は、記録データ格納用メモリ領域20へのデータ格納と光ディスクからのデータ再生を繰り返す。
すなわち、記録データと再生データをそれぞれ記録データ格納用メモリ領域と再生データ格納用メモリ領域に格納することにより、再生要求のたびにメモリ内に存在するデータを記録してしまう必要がなくなる。
したがって、タイムシフト再生において一定量の記録データが格納されてからデータ記録を開始することができ、安定したデータ記録を行うことが可能となる。
一方、ステップ66の判断で記録開始条件を満たしている場合、例えば記録データ格納用メモリ領域のデータ占有量が所定の記録開始しきい値を超えた場合は、ステップ67で光ディスクへの記録を開始する。
次に、ステップ68でホストコンピュータから完了要求(記録終了要求)があるか否かを判断し、完了要求がなければ、ステップ63へ戻って再びホストコンピュータからの記録要求があるか否かを判断する。
一方、ステップ68の判断でホストコンピュータから完了要求(データ記録終了要求)があった場合は、データ記録終了処理へ移行する。
ここではまず、ステップ69で記録データ格納用メモリ領域内に未記録(未書き込み)のデータが残っているか否かを判断し、未書き込みデータが残っていた場合、ステップ70で記録開始前の待機状態であるか否かを判断し、待機状態であれば、ステップ71でデータ記録を開始し、ステップ72でデータ記録完了か否を判断して、データ記録完了を待つ。
ステップ72の判断でデータ記録完了であれば、ステップ73でステップ61において分割したメモリ領域を復帰させて(元の状態に戻して)、この処理を終了する。
また、ステップ63の判断においてデータ記録要求がなかった場合、さらにステップ74の判断において再生要求がなかった場合は、ステップ68で完了要求(データ記録終了要求)が有ったか否かを判断し、完了要求があった場合は、上述した記録終了処理へ移行する。
この情報記録装置によれば、データ記録の形態に応じてキャッシュメモリを分割して使用することにより、それぞれの記録に応じて必要なキャッシュメモリを擬似的に生成することができ、複雑な記録処理が要求される場合であっても効率的なデータ記録を行うことが可能になる。
また、複数のキャッシュメモリを必要としない記録処理では、キャッシュメモリの全領域を記録データ格納用に使用することができ、キャッシュメモリ内の記録データがなくなることによる記録中断を極力避けることが可能になる。
さらに、キャッシュメモリ内の複数の分割メモリ領域について、それぞれ最適なバッファリング方式を選択することができ、効率的に分割メモリ領域を使用することが可能になる。
また、複数の分割メモリ領域のうち、少なくとも記録データ格納用メモリ領域や再生データ格納用メモリ領域、あるいはベリファイ用メモリ領域に使用する分割メモリ領域はリングバッファリング方式で使用することができ、効率的なバッファリングが可能になる。
さらに、リングバッファリング方式で使用するメモリ領域について、当該メモリ領域を使用する際にリング開始ポインタ,リング終了ポインタをそれぞれ設定することにより、リング開始ポインタ,リング終了ポインタを複数箇所同時に設定できない従来装置であっても、キャッシュメモリを複数の領域に分割してそれぞれの分割領域をリングバッファとして使用することが可能になる。
また、1つのリングバッファが他のリングバッファを含むように設定される場合であっても、それぞれのリングバッファを使用する際にリング開始ポインタ,リング終了ポインタを設定するため、あるメモリ領域内に予期せぬリング開始ポインタ又はリング終了ポインタが存在して誤った位置にデータが格納される不具合を避けることが可能になる。
さらに、記録ブロックに満たない単位でデータ記録を要求された場合、所定の記録ブロックの読み出しを行う前にユーザデータ受信を行うことができ、記録要求に対する応答を早めることが可能になる。
また、端数データを記録データ格納用メモリ領域とは別の領域に格納することにより、比較的容易にメモリ管理を行うことが可能になる。
さらに、連続したデータ記録において書き終わりアドレスが記録ブロックの境界でない場合も、端数データを格納するメモリ領域とは別領域に記録ブロックを読み出すことができる。
また、端数データ格納用メモリ領域を必要最小限の容量にし、記録データ格納用メモリ領域の容量を確保することにより、メモリ内の記録データがなくなることによる記録中断を極力避けることが可能になる。
さらに、記録データと交替先パケットのデータを、それぞれ記録データ格納用メモリ領域と交替先データ格納用メモリ領域に格納することにより、セクタ単位での交替処理中もメモリ内の記録データを保持しておくことができる。
したがって、当該交替処理に引き続いて行われるベリファイ処理で再度欠陥が検出された場合も欠陥領域に記録したデータを所定の交替領域に再度記録することが可能になる。
また、交替先データ格納用メモリ領域を必要最小限の容量にし、記録データ格納用メモリ領域の容量を確保することにより、ベリファイ処理による記録の中断を極力減らすことができ、データ記録のパフォーマンスを維持することが可能になる。
この発明による情報記録装置と情報記録方法とプログラムは、デスクトップパソコン,ノートブックパソコン等のパーソナルコンピュータにおいても適用することができる。
この発明の一実施形態である情報記録装置の構成を示すブロック図である。 図1に示す情報記録装置におけるキャッシュメモリのメモリ分割処理を示すフローチャート図である。 図1に示すコントローラ10による上記の要領で分割されたメモリ領域のレイアウトを示す図である。 図1に示すコントローラ10による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
同じく図1に示すコントローラ10による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。 また同じく図1に示すコントローラ10による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。 図1に示すコントローラ10によるDVD+RWディスクへのデータ記録動作を示すフローチャート図である。
図7の続きの処理を示すフローチャート図である。 図1に示すコントローラ10によるベリファイ処理及び交替処理を伴うデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。 図9の続きの処理を示すフローチャート図である。 図1に示すコントローラ10によるCD−MRWディスクへのデータ記録動作を示すフローチャート図である。
図11の続きの処理を示すフローチャート図である。 従来装置におけるDVD+RWディスクにおいてタイムシフト再生を行う場合のメモリ分割とデータ格納の例を示す説明図である。 図1に示すコントローラ10によるDVD+RWディスクにおいてタイムシフト再生を行う場合のメモリ分割とデータ格納の例を示す説明図である。 図1に示すコントローラ10によるタイムシフト再生動作を示すフローチャート図である。 図15の続きの処理を示すフローチャート図である。
符号の説明
1:モータ 2:光ピックアップ 3:粗動モータ 4:回転制御系部 5:粗動モータ制御系部 6:光ピックアップ制御系部 7:信号処理系部 8:キャッシュメモリ 9:外部インタフェース 10:コントローラ 11:光ディスク 12:ホストコンピュータ 20:記録データ格納用メモリ領域 21:端数データ格納用メモリ領域 22:ベリファイ用メモリ領域(交替先データ格納用メモリ) 23:再生データ格納用メモリ領域

Claims (36)

  1. データが記録可能な情報記録媒体に対してデータの記録又は再生を行う際に前記データを一時的に記憶する一時記憶手段と、前記情報記録媒体に対するデータ記録の形態に応じて前記一時記憶手段の記憶領域を複数個の領域に分割してデータを記憶させる制御手段を有することを特徴とする情報記録装置。
  2. 前記制御手段は、前記各領域にそれぞれ所定のバッファリング方式でデータを記憶させる手段を有することを特徴とする請求項1記載の情報記録装置。
  3. 前記制御手段は、前記各領域のうち少なくとも1つの領域をリングバッファリング方式でデータを記憶させる手段を有することを特徴とする請求項1記載の情報記録装置。
  4. 前記一時記憶手段はリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式でデータを記憶する手段であり、前記制御手段は、前記各領域のうち少なくとも1つの領域に前記リング開始ポインタと前記リング終了ポインタをそれぞれ設定して前記リングバッファリング方式でデータを記憶させる手段を有することを特徴とする請求項1記載の情報記録装置。
  5. 前記情報記録媒体は所定の記録ブロック単位でデータが記録可能であり、前記制御手段は、前記一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記記録ブロック単位に満たない端数データを一時的に記憶する端数データ記憶用領域とに分割し、前記記録データ記憶用領域に前記情報記録媒体へ記録するデータを記憶させ、前記端数データ記憶用領域に前記端数データを記憶させる手段であることを特徴とする請求項1乃至4のいずれか一項に記載の情報記録装置。
  6. 前記制御手段は、前記端数データ記憶用領域にデータを記憶させた後、記録要求に対して直ちに完了報告を行う手段を有することを特徴とする請求項5記載の情報記録装置。
  7. 前記制御手段は、前記端数データ記憶用領域にデータを記憶させた後、前記端数データを含む記録ブロックを前記記録データ記憶用領域に読み出し、該読み出したデータへ前記端数データを上書きして前記記録ブロック単位でデータ記録を行う手段を有することを特徴とする請求項5記載の情報記録装置。
  8. 前記制御手段は、記録完了要求を受けた時点で前記記録データ記憶用領域内に前記記録ブロックに満たない端数データが存在するとき、該端数データを前記端数データ記憶用領域に退避し、前記端数データを含む所定の記録ブロックを前記記録データ記憶用領域に読み出し、該読み出したデータへ前記端数データを上書きして前記所定の記録ブロックのデータ記録を行う手段を有することを特徴とする請求項5記載の情報記録装置。
  9. 前記制御手段は、前記端数データ記憶用領域のサイズを前記記録データ記憶用領域のサイズよりも小さくなるように分割する手段を有することを特徴とする請求項5記載の情報記録装置。
  10. 前記情報記録媒体がデータ記録領域が欠陥を含んでいた場合に所定の交替領域へ交替を行う交替手段を設け、前記制御手段は、前記一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記交替先領域のデータを記憶する交替先データ記憶用領域とに分割し、前記記録データ記憶用領域に前記情報記録媒体へ記録するデータを記憶させ、前記交替領域のデータを読み出して前記交替先データ記憶用領域へ記憶させる手段であることを特徴とする請求項1乃至4のいずれか一項に記載の情報記録装置。
  11. 前記データが記録可能な情報記録媒体は交替先領域に所定の記録ブロック単位に満たない端数データを交替可能な情報記録媒体であり、前記制御手段は、前記端数データの交替先領域の記録ブロックのデータを読み出して前記交替先データ記憶用領域に記憶させた後、該交替先データ記憶用領域に記憶させたデータへ前記端数データを上書きして前記所定の記録ブロック単位でデータ記録を行う手段を有することを特徴とする請求項10記載の情報記録装置。
  12. 前記制御手段は、前記交替先データ記憶用領域のサイズを前記記録データ記憶用領域のサイズよりも小さくなるように分割する手段を有することを特徴とする請求項10又は11記載の情報記録装置。
  13. データが記録可能な情報記録媒体に対してデータの記録又は再生を行う際に前記データを一時的に記憶する一時記憶手段の記憶領域を、前記情報記録媒体に対するデータ記録の形態に応じて複数個の領域に分割してデータを記憶させる制御工程を有することを特徴とする情報記録方法。
  14. 前記制御工程は、前記各領域にそれぞれ所定のバッファリング方式でデータを記憶させる工程を有することを特徴とする請求項13記載の情報記録方法。
  15. 前記制御工程は、前記各領域のうち少なくとも1つの領域をリングバッファリング方式でデータを記憶させる工程を有することを特徴とする請求項13記載の情報記録方法。
  16. 前記制御工程は、前記各領域のうち少なくとも1つの領域にリング開始ポインタとリング終了ポインタをそれぞれ設定してリングバッファリング方式でデータを記憶させる工程を有することを特徴とする請求項13記載の情報記録方法。
  17. 前記制御工程は、前記一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記情報記録媒体にデータを記録するときの所定の記録ブロック単位に満たない端数データを一時的に記憶する端数データ記憶用領域とに分割し、前記記録データ記憶用領域に前記情報記録媒体へ記録するデータを記憶させ、前記端数データ記憶用領域に前記端数データを記憶させる工程であることを特徴とする請求項13乃至16のいずれか一項に記載の情報記録方法。
  18. 前記制御工程は、前記端数データ記憶用領域にデータを記憶させた後、記録要求に対して直ちに完了報告を行う工程を有することを特徴とする請求項17記載の情報記録方法。
  19. 前記制御工程は、前記端数データ記憶用領域にデータを記憶させた後、前記端数データを含む記録ブロックを前記記録データ記憶用領域に読み出し、該読み出したデータへ前記端数データを上書きして前記記録ブロック単位でデータ記録を行う工程を有することを特徴とする請求項17記載の情報記録方法。
  20. 前記制御工程は、記録完了要求を受けた時点で前記記録データ記憶用領域内に前記記録ブロックに満たない端数データが存在するとき、該端数データを前記端数データ記憶用領域に退避し、前記端数データを含む所定の記録ブロックを前記記録データ記憶用領域に読み出し、該読み出したデータへ前記端数データを上書きして前記所定の記録ブロックのデータ記録を行う工程を有することを特徴とする請求項17記載の情報記録方法。
  21. 前記制御工程は、前記端数データ記憶用領域のサイズを前記記録データ記憶用領域のサイズよりも小さくなるように分割する工程を有することを特徴とする請求項17記載の情報記録方法。
  22. 前記情報記録媒体がデータ記録領域が欠陥を含んでいた場合に所定の交替領域へ交替を行う交替工程を設け、前記制御工程は、前記一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記交替先領域のデータを記憶する交替先データ記憶用領域とに分割し、前記記録データ記憶用領域に前記情報記録媒体へ記録するデータを記憶させ、前記交替領域のデータを読み出して前記交替先データ記憶用領域へ記憶させる工程であることを特徴とする請求項13乃至16のいずれか一項に記載の情報記録方法。
  23. 前記データが記録可能な情報記録媒体は交替先領域に所定の記録ブロック単位に満たない端数データを交替可能な情報記録媒体であり、前記制御工程は、前記端数データの交替先領域の記録ブロックのデータを読み出して前記交替先データ記憶用領域に記憶させた後、該交替先データ記憶用領域に記憶させたデータへ前記端数データを上書きして前記所定の記録ブロック単位でデータ記録を行う工程を有することを特徴とする請求項22記載の情報記録方法。
  24. 前記制御工程は、前記交替先データ記憶用領域のサイズを前記記録データ記憶用領域のサイズよりも小さくなるように分割する工程を有することを特徴とする請求項22又は23記載の情報記録方法。
  25. コンピュータに、データが記録可能な情報記録媒体に対してデータの記録又は再生を行う際に前記データを一時的に記憶する一時記憶手順と、前記情報記録媒体に対するデータ記録の形態に応じて前記一時記憶手順の記憶領域を複数個の領域に分割してデータを記憶させる制御手順を実行させるためのプログラム。
  26. 前記制御手順は、前記各領域にそれぞれ所定のバッファリング方式でデータを記憶させる手順を有する請求項25記載のプログラム。
  27. 前記制御手順は、前記各領域のうち少なくとも1つの領域をリングバッファリング方式でデータを記憶させる手順を有する請求項25記載のプログラム。
  28. 前記一時記憶手順はリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式でデータを記憶する手順であり、前記制御手順は、前記各領域のうち少なくとも1つの領域に前記リング開始ポインタと前記リング終了ポインタをそれぞれ設定して前記リングバッファリング方式でデータを記憶させる手順を有する請求項25記載のプログラム。
  29. 前記情報記録媒体は所定の記録ブロック単位でデータが記録可能であり、前記制御手順は、前記一時記憶手順による記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記記録ブロック単位に満たない端数データを一時的に記憶する端数データ記憶用領域とに分割し、前記記録データ記憶用領域に前記情報記録媒体へ記録するデータを記憶させ、前記端数データ記憶用領域に前記端数データを記憶させる手順である請求項25乃至28のいずれか一項に記載のプログラム。
  30. 前記制御手順は、前記端数データ記憶用領域にデータを記憶させた後、記録要求に対して直ちに完了報告を行う手順を有する請求項29記載のプログラム。
  31. 前記制御手順は、前記端数データ記憶用領域にデータを記憶させた後、前記端数データを含む記録ブロックを前記記録データ記憶用領域に読み出し、該読み出したデータへ前記端数データを上書きして前記記録ブロック単位でデータ記録を行う手順を有する請求項29記載のプログラム。
  32. 前記制御手順は、記録完了要求を受けた時点で前記記録データ記憶用領域内に前記記録ブロックに満たない端数データが存在するとき、該端数データを前記端数データ記憶用領域に退避し、前記端数データを含む所定の記録ブロックを前記記録データ記憶用領域に読み出し、該読み出したデータへ前記端数データを上書きして前記所定の記録ブロックのデータ記録を行う手順を有する請求項29記載のプログラム。
  33. 前記制御手順は、前記端数データ記憶用領域のサイズを前記記録データ記憶用領域のサイズよりも小さくなるように分割する手順を有する請求項29記載のプログラム。
  34. 前記情報記録媒体がデータ記録領域が欠陥を含んでいた場合に所定の交替領域へ交替を行う交替手順を設け、前記制御手順は、前記一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記交替先領域のデータを記憶する交替先データ記憶用領域とに分割し、前記記録データ記憶用領域に前記情報記録媒体へ記録するデータを記憶させ、前記交替領域のデータを読み出して前記交替先データ記憶用領域へ記憶させる手順である請求項25乃至28のいずれか一項に記載のプログラム。
  35. 前記データが記録可能な情報記録媒体は交替先領域に所定の記録ブロック単位に満たない端数データを交替可能な情報記録媒体であり、前記制御手順は、前記端数データの交替先領域の記録ブロックのデータを読み出して前記交替先データ記憶用領域に記憶させた後、該交替先データ記憶用領域に記憶させたデータへ前記端数データを上書きして前記所定の記録ブロック単位でデータ記録を行う手順を有する請求項34記載のプログラム。
  36. 前記制御手順は、前記交替先データ記憶用領域のサイズを前記記録データ記憶用領域のサイズよりも小さくなるように分割する手順を有する請求項34又は35記載のプログラム。
JP2003364978A 2003-10-24 2003-10-24 情報記録装置と情報記録方法とプログラム Pending JP2005129168A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003364978A JP2005129168A (ja) 2003-10-24 2003-10-24 情報記録装置と情報記録方法とプログラム
PCT/JP2004/011086 WO2005041186A1 (ja) 2003-10-24 2004-08-03 情報記録装置と情報記録方法と記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003364978A JP2005129168A (ja) 2003-10-24 2003-10-24 情報記録装置と情報記録方法とプログラム

Publications (1)

Publication Number Publication Date
JP2005129168A true JP2005129168A (ja) 2005-05-19

Family

ID=34510142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003364978A Pending JP2005129168A (ja) 2003-10-24 2003-10-24 情報記録装置と情報記録方法とプログラム

Country Status (2)

Country Link
JP (1) JP2005129168A (ja)
WO (1) WO2005041186A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176889A (ja) * 2007-01-22 2008-07-31 Sony Corp 記録装置、記録方法、プログラムおよび光ディスク記録装置
JP2009199384A (ja) * 2008-02-22 2009-09-03 Nec Corp データ処理装置
JP2010080021A (ja) * 2008-09-29 2010-04-08 Toshiba Storage Device Corp 記録制御方法及び記録制御部、並びに記憶装置
US7724620B2 (en) 2005-09-15 2010-05-25 Hitachi-Lg Data Storage, Inc. Information recording/reproducing apparatus and a data reproducing method thereof, as well as an optical disk thereof
US7821897B2 (en) 2005-12-07 2010-10-26 Hitachi-Lg Data Storage, Inc. Information recording/reproducing apparatus and information recording method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3637346B1 (ja) * 2003-11-11 2005-04-13 株式会社リコー 情報記録装置と情報記録方法とプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05135548A (ja) * 1991-11-14 1993-06-01 Casio Comput Co Ltd デジタルレコーダ
JPH06259886A (ja) * 1993-03-09 1994-09-16 Sony Corp 光磁気ディスク及び光磁気ディスク記録再生装置
JP3461930B2 (ja) * 1994-10-24 2003-10-27 シャープ株式会社 情報記録再生装置
JPH11120690A (ja) * 1997-10-14 1999-04-30 Matsushita Electric Ind Co Ltd ディスク装置及びバッファ管理方法
JP2001298704A (ja) * 2000-04-12 2001-10-26 Sony Corp 情報処理装置および方法、並びに記録媒体
JP3965023B2 (ja) * 2001-02-26 2007-08-22 株式会社リコー 情報記録再生装置
JP4042411B2 (ja) * 2002-01-11 2008-02-06 株式会社日立製作所 データ記録装置、データ再生装置、データ記録再生方法及び撮像装置
JP2003242723A (ja) * 2002-02-19 2003-08-29 Hitachi-Lg Data Storage Inc 光ディスク装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724620B2 (en) 2005-09-15 2010-05-25 Hitachi-Lg Data Storage, Inc. Information recording/reproducing apparatus and a data reproducing method thereof, as well as an optical disk thereof
US7821897B2 (en) 2005-12-07 2010-10-26 Hitachi-Lg Data Storage, Inc. Information recording/reproducing apparatus and information recording method
JP2008176889A (ja) * 2007-01-22 2008-07-31 Sony Corp 記録装置、記録方法、プログラムおよび光ディスク記録装置
JP2009199384A (ja) * 2008-02-22 2009-09-03 Nec Corp データ処理装置
JP2010080021A (ja) * 2008-09-29 2010-04-08 Toshiba Storage Device Corp 記録制御方法及び記録制御部、並びに記憶装置

Also Published As

Publication number Publication date
WO2005041186A1 (ja) 2005-05-06

Similar Documents

Publication Publication Date Title
JP2004005942A5 (ja)
JP2004103127A (ja) 情報記録媒体のセクタの再配置方法および情報記憶装置
JP3637346B1 (ja) 情報記録装置と情報記録方法とプログラム
JP2010055690A (ja) データのフォーマットを変換する装置及び方法
JPWO2009004806A1 (ja) 映像記録再生装置およびその方法
JP2005129168A (ja) 情報記録装置と情報記録方法とプログラム
JP4281680B2 (ja) 光ディスク装置
JP4972064B2 (ja) 光ディスク駆動制御装置
JP2011113612A (ja) 駆動装置および方法、プログラム、並びに記録媒体
JP2002042412A (ja) 記録再生装置
JP6600818B2 (ja) データ消去方法
JP2007515740A (ja) ディフェクトマネージメントを必要とするデータ及びリアルタイムavデータの両方を記憶するための光ディスク
JP2003288758A (ja) 情報記録装置とプログラムと記録媒体
US7406011B2 (en) Recording medium and methods of and device for recording information on the recording medium
JP4819056B2 (ja) 記録媒体上へのデータの記憶および情報の転送のための方法および装置
JP2008010109A (ja) データ記憶装置
JP5385971B2 (ja) 情報再生装置および情報再生方法
JP2010055702A (ja) ハードディスク装置
JP2008181595A (ja) ディスク媒体記録再生装置、並びに、マルチストリーム読み出しプログラム及びマルチストリーム読み出し方法
JP2005056519A (ja) ストリーム系コマンドを使用する場合の読取処理方法及び媒体記憶装置
JPH10106143A (ja) 光ディスク記録再生装置
JP2010135034A (ja) 情報記録再生装置
KR20030075528A (ko) 광 디스크 기록 재생기의 메모리 운용 방법 및 장치
JP2004303345A (ja) 情報記録再生装置
JPH11162117A (ja) 光ディスク記録方法及び光ディスク装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050524