JP2008250918A - Information processor, information processing method and computer program - Google Patents

Information processor, information processing method and computer program Download PDF

Info

Publication number
JP2008250918A
JP2008250918A JP2007094751A JP2007094751A JP2008250918A JP 2008250918 A JP2008250918 A JP 2008250918A JP 2007094751 A JP2007094751 A JP 2007094751A JP 2007094751 A JP2007094751 A JP 2007094751A JP 2008250918 A JP2008250918 A JP 2008250918A
Authority
JP
Japan
Prior art keywords
data
recording
control unit
sector
write
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
JP2007094751A
Other languages
Japanese (ja)
Inventor
Ryogo Ito
亮吾 伊藤
Hiroshi Shimono
浩 下野
Junichi Yokota
淳一 横田
Tatsuya Hine
龍哉 日根
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2007094751A priority Critical patent/JP2008250918A/en
Publication of JP2008250918A publication Critical patent/JP2008250918A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To attain an improved data recording configuration in a recording device having a difference in data classification between a logic sector and a physical sector. <P>SOLUTION: In an access control part, a device information acquisition result is outputted to a medium correspondence control part which executes data recording to a medium, device information such as logic sector number [N] contained in one physical sector or phase change point [X] is received, it is verified based on the received information whether a recording start position or recording end position of recording data input in logic sector units from an application is differed from a classification position of physical sector that is an access unit to a medium managed by the medium correspondence control part or not, and read-modify-write (RMW) processing is executed according to the verification result. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えばハードディスクなどを記録媒体としてデータ記録再生処理を行なう構成において、アプリケーションやデバイスドライバの利用するアクセス単位としてのデータ単位と、記録媒体(HDDなど)内部の管理するデータ単位とが異なるシステムにおいて適用される情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a computer program. More specifically, for example, in a configuration in which data recording / reproduction processing is performed using a hard disk or the like as a recording medium, a data unit as an access unit used by an application or a device driver and a data unit managed in a recording medium (such as an HDD) The present invention relates to an information processing apparatus, an information processing method, and a computer program applied in different systems.

デジタルビデオカメラやPC、その他の情報処理機器においては、ハードディスクなどのメディア(情報記録媒体)を利用した情報記録や情報再生処理が行なわれる。メディア(情報記録媒体)を利用した情報記録や情報再生処理を実行する場合、アプリケーションが記録データの生成、あるいは再生データの指定を行ない、メディア(情報記録媒体)に対応するデバイスドライバを介してメディア(情報記録媒体)に対する記録データの出力、またはメディア(情報記録媒体)からの再生データの入力を行なう。   In digital video cameras, PCs, and other information processing devices, information recording and information reproduction processing using a medium (information recording medium) such as a hard disk is performed. When performing information recording or information reproduction processing using a medium (information recording medium), the application generates recording data or designates reproduction data, and the medium via a device driver corresponding to the medium (information recording medium) Recording data is output to (information recording medium) or reproduction data is input from the medium (information recording medium).

例えばアプリケーションやデバイスドライバは、512B(バイト)単位のLBA(Logical Block Addressing)を適用したアクセスを行う。この512B(バイト)のLBAアクセス単位が記録媒体、例えばHDD内部の管理データ単位と一致している場合には問題がないが一致しないシステムにおいて問題が発生することがある。   For example, an application or a device driver performs access using LBA (Logical Block Addressing) in units of 512 B (bytes). When this 512B (byte) LBA access unit matches the management data unit in the recording medium, for example, the HDD, there is no problem, but a problem may occur in a system that does not match.

具体的には、例えばHDD内部のアクセス単位として、N個の論理セクタ(Logical Sector)をひとまとめにした物理セクタ(Physical Sector)を利用するものがある。HDD内部の管理単位を大きくすることで、例えばECC(Error Correction Code)の設定単位を大きくして処理効率を高め、ECCデータの削減により記憶領域の効率的利用が図られるといった効果がある。   Specifically, for example, as an access unit inside the HDD, there is one that uses a physical sector (Physical Sector) in which N logical sectors (Logical Sector) are grouped together. By increasing the management unit inside the HDD, there is an effect that, for example, the ECC (Error Correction Code) setting unit is increased to increase the processing efficiency, and the storage area can be efficiently used by reducing the ECC data.

このように、上位層(アプリケーションやデバイスドライバ)のデータアクセス単位と、メディア(情報記録媒体)内の制御部のデータアクセス単位が異なり、メディア内のアクセス単位が、上位層のアクセス単位より大きな設定である場合、例えば、上位層からメディアに対してあるデータ記録または再生領域の指定がなされた場合、メディア内部では、指定領域と一括管理されているデータ領域についても、まとめて読み出しや記録処理が実行されることになる。   As described above, the data access unit of the upper layer (application or device driver) and the data access unit of the control unit in the medium (information recording medium) are different, and the access unit in the medium is set larger than the access unit of the upper layer. If, for example, a certain data recording or playback area is designated for the medium from the upper layer, the designated area and the data area managed collectively are also read and recorded collectively in the medium. Will be executed.

例えば、アプリケーションが、メディアに記録されたデータを読み出して更新する場合、アプリケーション側の更新処理は論理セクタ単位で実行するが、メディア内部(例えばHDD内部)では一旦、更新予定のセクタデータを含むメディアのアクセス単位、すなわち物理セクタ単位でデータが読み取られてメディア内部のメモリに一時的に保持され、アプリケーションからデバイスドライバ経由で入力した更新データ部分のみが更新されて再記録されることになる。   For example, when an application reads and updates data recorded on a medium, the update process on the application side is executed in units of logical sectors. However, in the medium (for example, inside the HDD), the medium temporarily includes the sector data to be updated. The data is read in units of access, that is, in units of physical sectors, temporarily stored in the memory inside the medium, and only the update data portion input from the application via the device driver is updated and re-recorded.

このような処理において、メディア内部で物理セクタの読み取りエラーが発生した場合を想定する。更新された論理セクタのデータはアプリケーションによって更新されたデータに置き換えられて例えばメディアの非常用データ記録領域であるスペア領域に記録される。しかし、更新された論理セクタと同じ物理セクタに含まれる非更新セクタデータについては、メディア内部で発生した読み取りエラーによって、メディア内部のメモリに一時的に保持されたダミーデータがそのままスペア領域に記録されてしまうことになり、その非更新データは消失したと同様の事態が発生してしまう。この場合、上位のアプリケーションやデバイスドライバは、データ消失について全く検知できない状態となる。   In such processing, it is assumed that a physical sector read error occurs in the medium. The updated data in the logical sector is replaced with data updated by the application and recorded in a spare area which is an emergency data recording area of the medium, for example. However, for non-updated sector data included in the same physical sector as the updated logical sector, dummy data temporarily stored in the internal memory of the medium is recorded in the spare area as it is due to a read error that occurs inside the medium. As a result, a situation similar to that when the non-updated data is lost occurs. In this case, the upper application or device driver cannot detect data loss at all.

なお、半導体メモリなどでは、ガベッジコレクション、すなわち、同一の消去ブロック内で、書き込み対象となるクラスタより後ろに記録済みのクラスタがある場合にメモリ領域を確保する処理を行なわれるが、例えば特許文献1(特開2003−308240)では、このようなカベッジコレクションを頻繁に発生させないように各種情報をメディア上に配置する工夫について開示している。しかし、例えばHDDなどの記録メディアでは、FATなどのファイルシステムに関する情報のレイアウトをコントロールすることは現実的に限界があり困難である。
特開2003−308240号公報
In a semiconductor memory or the like, garbage collection, that is, processing for securing a memory area is performed when there is a recorded cluster behind a cluster to be written in the same erase block. 1 (Japanese Patent Laid-Open No. 2003-308240) discloses a device for arranging various types of information on a medium so that such garbage collection does not occur frequently. However, for example, in a recording medium such as an HDD, it is practically difficult to control the layout of information related to a file system such as FAT.
JP 2003-308240 A

本発明は、上述した状況に鑑みてなされたものであり、例えばハードディスクなどを利用したデータ記録再生処理を行なうシステムにおいて、アプリケーションやデバイスドライバの利用するアクセス単位と記録媒体(HDDなど)内部の管理単位との差異がある場合でも、例えばデバイスドライバのアクセス制御部が取得したデバイス情報に基づく記録データの制御を行うことで、データ消失の発生を上位層において検知し、不測のデータ消失の防止を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。   The present invention has been made in view of the above-described situation. For example, in a system for performing data recording / playback processing using a hard disk or the like, an access unit used by an application or a device driver and management inside a recording medium (HDD or the like). Even if there is a difference from the unit, for example, by controlling the recording data based on the device information acquired by the access control unit of the device driver, it is possible to detect the occurrence of data loss in the upper layer and prevent unexpected data loss. An object is to provide an information processing apparatus, an information processing method, and a computer program.

本発明の第1の側面は、
記録メディアに対するデータ記録処理を実行する情報処理装置であり、
論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御部と、
前記アクセス制御部から、前記記録データを入力して、前記論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行するメディア対応制御部を有し、
前記アクセス制御部は、
前記メディア対応制御部に対するデバイス情報取得要求を出力して、メディア対応制御部からのデバイス情報取得要求に対応する応答として、1物理セクタに含まれる論理セクタ数[N]情報を取得し、
前記取得情報[N]を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する構成であることを特徴とする情報処理装置にある。
The first aspect of the present invention is:
An information processing apparatus that executes data recording processing on a recording medium,
An access control unit that outputs recording data for a recording medium input from an application that generates recording data in units of logical sectors to the media correspondence control unit;
A media correspondence control unit that inputs the recording data from the access control unit and executes a data recording process on a recording medium in a physical sector unit different from the logical sector;
The access control unit
Output a device information acquisition request to the media correspondence control unit, and acquire the number of logical sectors [N] included in one physical sector as a response corresponding to the device information acquisition request from the media correspondence control unit,
Physical sector classification in which the recording start position or recording end position of recording data input in logical sector units from the application by applying the acquisition information [N] is an access unit for media managed by the media correspondence control unit It is verified whether or not it is different from the position, and if it is different, the recording data for each physical sector is obtained via the media correspondence control unit and stored in the memory, and a part of the stored physical sector data is stored in the logical sector data. An information processing apparatus that is configured to execute read-modify-write (RMW) processing in which update is performed by recording data in units of sectors input from an application, and physical sector data after update processing is output to the media correspondence control unit. It is in.

さらに、本発明の情報処理装置の一実施態様において、前記アクセス制御部は、前記メディア対応制御部に対するデバイス情報取得要求として、IDENTIFY Deviceコマンドを出力して、メディア対応制御部から、該コマンドに対応する戻り値として、1物理セクタに含まれる論理セクタ数[N]情報を取得する構成であることを特徴とする。   Furthermore, in one embodiment of the information processing apparatus of the present invention, the access control unit outputs an IDENTIFY Device command as a device information acquisition request to the media support control unit, and responds to the command from the media support control unit. As a return value, the number of logical sectors [N] information included in one physical sector is acquired.

さらに、本発明の情報処理装置の一実施態様において、前記アクセス制御部は、さらに、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]情報を取得し、取得した位相変換点[X]情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する構成であることを特徴とする。   Furthermore, in one embodiment of the information processing apparatus of the present invention, the access control unit further includes a phase change of a correspondence relationship between the logical sector and the physical sector as a response corresponding to the device information acquisition request from the media correspondence control unit. Phase conversion point [X] information is generated, and the acquired phase conversion point [X] information is applied, and the recording start position or recording end position of recording data input in units of logical sectors from the application is The present invention is characterized in that a process for verifying whether or not the position differs from a physical sector division position, which is a unit of access to the media managed by the media control unit, is provided.

さらに、本発明の情報処理装置の一実施態様において、前記アクセス制御部は、さらに、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタのセクタサイズ情報を取得し、取得したセクタサイズ情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する構成であることを特徴とする。   Furthermore, in one embodiment of the information processing apparatus of the present invention, the access control unit further acquires and acquires the sector size information of the logical sector as a response corresponding to the device information acquisition request from the media support control unit. Whether the recording start position or recording end position of the recording data input from the application in logical sector units by applying sector size information is different from the physical sector division position that is an access unit to the media managed by the media control unit It is the structure which performs the process which verifies whether or not.

さらに、本発明の情報処理装置の一実施態様において、前記アクセス制御部は、前記リードモディファイライト(RMW)処理の実行において、前記アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、前記リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行する構成であることを特徴とする。   Furthermore, in an embodiment of the information processing apparatus of the present invention, the access control unit stores a first memory area for storing recording data input in units of logical sectors from the application in the execution of the read modify write (RMW) process. From the above, the read modify write (RMW) memory area is configured to execute a copy process of the logical sector data to be subjected to the read modify write (RMW) process.

さらに、本発明の情報処理装置の一実施態様において、前記アクセス制御部は、前記アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なう構成であることを特徴とする。   Furthermore, in an embodiment of the information processing apparatus according to the present invention, the access control unit, as a management information list corresponding to the recording data, records a logical block address corresponding to the recording data when recording the recording data input from the application. (LBA), a sector count that is the number of sectors of recording data, and a write list that records offset information that is offset information of a logical sector number are generated, and a recording process that refers to the write list is performed.

さらに、本発明の情報処理装置の一実施態様において、前記アクセス制御部は、さらに、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、前記アプリケーションから論理セクタ単位で入力する記録データが、前記位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する処理を実行する構成であることを特徴とする。   Furthermore, in one embodiment of the information processing apparatus of the present invention, the access control unit further includes a phase conversion point [X] at which a phase change of a correspondence relationship between a logical sector and a physical sector occurs, and the application When the recording data input in units of logical sectors is data before and after the phase conversion point [X], the first writing list for the recording data before the phase conversion point [X] and after the phase conversion point [X] It is the structure which performs the process which produces | generates the 2nd writing list with respect to this recording data.

さらに、本発明の第2の側面は、
情報処理装置において、記録メディアに対するデータ記録処理を実行する情報処理方法であり、
アクセス制御部が、論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御ステップと、
メディア対応制御部が、前記アクセス制御部から、前記記録データを入力して、前記論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行するメディア対応制御ステップを有し、
前記アクセス制御ステップは、
前記メディア対応制御部に対するデバイス情報取得要求を出力して、メディア対応制御部からのデバイス情報取得要求に対応する応答として、1物理セクタに含まれる論理セクタ数[N]情報を取得するデバイス情報取得ステップと、
前記取得情報[N]を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行するリードモディファイライト(RMW)処理ステップと、
を実行するステップであることを特徴とする情報処理方法にある。
Furthermore, the second aspect of the present invention provides
An information processing method for performing a data recording process on a recording medium in an information processing device,
An access control unit that outputs recording data for a recording medium input from an application that generates recording data in units of logical sectors to the media corresponding control unit;
A media correspondence control unit having the media correspondence control step of inputting the recording data from the access control unit and executing a data recording process on the recording medium in a physical sector unit different from the logical sector;
The access control step includes
Device information acquisition that outputs a device information acquisition request to the media correspondence control unit and acquires the number of logical sectors [N] contained in one physical sector as a response to the device information acquisition request from the media correspondence control unit Steps,
Physical sector classification in which the recording start position or recording end position of recording data input in logical sector units from the application by applying the acquisition information [N] is an access unit for media managed by the media correspondence control unit A verification step for verifying whether it is different from the position;
In the verification step, if a verification result that is different is obtained, recording data in units of physical sectors is obtained via the media correspondence control unit, stored in the memory, and some logical sectors of the stored physical sector data A read-modify-write (RMW) processing step for executing a read-modify-write (RMW) process in which data is updated with recording data in units of sectors input from an application, and the physical sector data after the update process is output to the media correspondence control unit; ,
There is an information processing method characterized by being a step of executing.

さらに、本発明の情報処理方法の一実施態様において、前記デバイス情報取得ステップは、前記メディア対応制御部に対するデバイス情報取得要求として、IDENTIFY Deviceコマンドを出力して、メディア対応制御部から、該コマンドに対応する戻り値として、1物理セクタに含まれる論理セクタ数[N]情報を取得するステップであることを特徴とする。   Furthermore, in one embodiment of the information processing method of the present invention, the device information acquisition step outputs an IDENTIFY Device command as a device information acquisition request to the media correspondence control unit, and the media correspondence control unit sends the command to the command. As a corresponding return value, it is a step of acquiring the number [N] of logical sectors included in one physical sector.

さらに、本発明の情報処理方法の一実施態様において、前記デバイス情報取得ステップは、さらに、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]情報を取得するステップであり、前記検証ステップは、取得した位相変換点[X]情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行するステップであることを特徴とする。   Furthermore, in one embodiment of the information processing method of the present invention, the device information acquisition step further includes a phase of a correspondence relationship between the logical sector and the physical sector as a response corresponding to the device information acquisition request from the media correspondence control unit. The phase conversion point [X] information where the change occurs is acquired, and the verification step applies the acquired phase conversion point [X] information and records recording data input in units of logical sectors from the application. It is a step of executing a process of verifying whether or not the start position or the recording end position is different from a physical sector division position that is an access unit for the medium managed by the media control unit.

さらに、本発明の情報処理方法の一実施態様において、前記デバイス情報取得ステップは、さらに、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタのセクタサイズ情報を取得するステップであり、前記検証ステップは、取得したセクタサイズ情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行するステップであることを特徴とする。   Furthermore, in one embodiment of the information processing method of the present invention, the device information acquisition step further includes a step of acquiring sector size information of a logical sector as a response corresponding to the device information acquisition request from the media support control unit. In the verification step, the acquired sector size information is applied, and the recording start position or recording end position of the recording data input from the application in logical sector units is an access unit for the medium managed by the media control unit. It is a step for executing a process of verifying whether or not a physical sector is different from a divided position.

さらに、本発明の情報処理方法の一実施態様において、前記アクセス制御ステップは、前記リードモディファイライト(RMW)処理の実行において、前記アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、前記リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行することを特徴とする。   Furthermore, in an embodiment of the information processing method of the present invention, the access control step stores a first memory area for storing recording data input in units of logical sectors from the application in the execution of the read-modify-write (RMW) process. From the above, a copy process of logical sector data to be read-modify-write (RMW) processing target is executed for the read-modify-write (RMW) memory area.

さらに、本発明の情報処理方法の一実施態様において、前記アクセス制御ステップは、前記アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なうことを特徴とする。   Furthermore, in an embodiment of the information processing method of the present invention, the access control step includes a logical block address corresponding to the recording data as a management information list corresponding to the recording data when recording the recording data input from the application. (LBA), a sector count that is the number of sectors of recording data, and a writing list that records offset information that is offset information of a logical sector number are generated, and recording processing is performed with reference to the writing list.

さらに、本発明の情報処理方法の一実施態様において、前記アクセス制御ステップは、さらに、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、前記アプリケーションから論理セクタ単位で入力する記録データが、前記位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する処理を実行することを特徴とする。   Furthermore, in an embodiment of the information processing method of the present invention, the access control step further includes a phase conversion point [X] at which a phase change of a correspondence relationship between a logical sector and a physical sector occurs, and from the application When the recording data input in units of logical sectors is data before and after the phase conversion point [X], the first writing list for the recording data before the phase conversion point [X] and after the phase conversion point [X] A process for generating a second writing list for the recorded data is executed.

さらに、本発明の第3の側面は、
情報処理装置において、記録メディアに対するデータ記録処理を実行させるコンピュータ・プログラムであり、
アクセス制御部に、論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力させるアクセス制御ステップと、
メディア対応制御部に、前記アクセス制御部から、前記記録データを入力して、前記論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行させるメディア対応制御ステップを有し、
前記アクセス制御ステップは、
前記メディア対応制御部に対するデバイス情報取得要求を出力して、メディア対応制御部からのデバイス情報取得要求に対応する応答として、1物理セクタに含まれる論理セクタ数[N]情報を取得させるデバイス情報取得ステップと、
前記取得情報[N]を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証させる検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行させるリードモディファイライト(RMW)処理ステップと、
を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
Furthermore, the third aspect of the present invention provides
In the information processing apparatus, a computer program for executing a data recording process on a recording medium,
An access control step for causing the access control unit to output recording data for a recording medium input from an application that generates recording data in units of logical sectors, to the media correspondence control unit;
A media correspondence control step of inputting the recording data from the access control unit to the media correspondence control unit, and executing a data recording process on the recording medium in a physical sector unit different from the logical sector;
The access control step includes
A device information acquisition request for outputting a device information acquisition request to the media correspondence control unit and acquiring the number of logical sectors [N] contained in one physical sector as a response corresponding to the device information acquisition request from the media correspondence control unit Steps,
Physical sector classification in which the recording start position or recording end position of recording data input in logical sector units from the application by applying the acquisition information [N] is an access unit for media managed by the media correspondence control unit A verification step for verifying whether it is different from the position;
In the verification step, if a verification result that is different is obtained, recording data in units of physical sectors is obtained via the media correspondence control unit, stored in the memory, and some logical sectors of the stored physical sector data A read-modify-write (RMW) processing step for executing a read-modify-write (RMW) process for updating data with recording data in units of sectors input from an application and outputting the updated physical sector data to the media correspondence control unit; ,
There is a computer program characterized by the step of executing

なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムにおいてコンピュータ可読な形式で提供する記憶媒体などによって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。   The computer program of the present invention is a computer program that can be provided by, for example, a storage medium provided in a computer-readable format in a general-purpose computer system that can execute various program codes. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.

本発明の一実施例構成によれば、記録メディア(情報記録媒体)に対するデータ記録処理を行なう情報処理装置のアクセス制御部において、メディアに対するデータ記録を実行するメディア対応制御部にデバイス情報取得要求としてのIDENTIFY Deviceコマンドを出力し、1物理セクタに含まれる論理セクタ数[N]や、位相変化点[X]などのデバイス情報を受領し、これらの受領情報に基づいて、アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータをメディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する構成としたので、デバイスドライバとメディア対応制御部間では、すべて物理セクタ単位のデータの入出力が実現され、デバイスドライバ側でデータ更新を伴わない論理セクタデータについての確認を行なうことができ、データ消失などの不測の事態の発生を上位層において把握可能となる。   According to the configuration of one embodiment of the present invention, in an access control unit of an information processing apparatus that performs data recording processing on a recording medium (information recording medium), a device information acquisition request is sent to the media corresponding control unit that performs data recording on the medium IDENTIFY Device command is output, device information such as the number of logical sectors [N] and phase change point [X] included in one physical sector is received, and the logical sector unit is received from the application based on the received information. It is verified whether or not the recording start position or recording end position of the input recording data is different from the physical sector division position that is an access unit for the medium managed by the media correspondence control unit. The recording data in physical sector units via the The logical sector data that is part of the physical sector data is updated with the recording data in units of sectors input from the application, and the read-modify-write (RMW) process is executed to output the updated physical sector data to the media corresponding control unit. Since it is configured, data input / output in units of physical sectors is realized between the device driver and the media compatible control unit, and logical sector data without data update can be confirmed on the device driver side. The occurrence of unforeseen circumstances such as disappearance can be grasped in the upper layer.

以下、図面を参照しながら、本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。説明は、以下の各項目に従って行なう。
1.上位層(アプリケーションやデバイスドライバ)のアクセス単位と、メディア(情報記録媒体)のアクセス単位の差に基づく問題点
2.本発明に従ったメディア(情報記録媒体)のアクセス処理の概要
3.情報処理装置の構成例および処理例
4.情報処理装置の実行する処理のシーケンス詳細
5.情報処理装置のハードウェア構成例
Details of the information processing apparatus, the information processing method, and the computer program of the present invention will be described below with reference to the drawings. The description will be made according to the following items.
1. 1. Problems based on the difference between access units of upper layers (applications and device drivers) and access units of media (information recording media) 2. Outline of access processing of media (information recording medium) according to the present invention 3. Configuration example and processing example of information processing apparatus 4. Details of sequence of processing executed by information processing apparatus Hardware configuration example of information processing device

[1.上位層(アプリケーションやデバイスドライバ)のアクセス単位と、メディア(情報記録媒体)のアクセス単位の差に基づく問題点]
まず、上位層(アプリケーションやデバイスドライバ)のアクセス単位と、メディア(情報記録媒体)のアクセス単位の差に基づく問題点について、図1〜図3を参照して説明する。
[1. Problems based on the difference between the upper layer (application and device driver) access unit and the media (information recording medium) access unit]
First, a problem based on a difference between an access unit of an upper layer (application or device driver) and an access unit of a medium (information recording medium) will be described with reference to FIGS.

以下の実施例では、
上位層(アプリケーションやデバイスドライバ)からのメディアのアクセスが、512B(バイト)単位のLBA(Logical Blovk Addressing)指定のアクセス、すなわち論理セクタ(Logical Sector)単位で実行され、
HDD等のメディア(情報記録媒体)内部のアクセス単位が、上記論理セクタN個分の物理セクタ(Phisical Sector)単位で実行される例について説明する。なお、Nは2以上である。
In the examples below,
Media access from higher layers (applications and device drivers) is executed in units of 512 B (bytes) LBA (Logical Blobk Addressing) designation, that is, in units of logical sectors (Logical Sector),
An example in which an access unit in a medium (information recording medium) such as an HDD is executed in units of physical sectors (Physical Sectors) corresponding to the N logical sectors will be described. N is 2 or more.

図1に、デバイスドライバのアクセス単位である論理セクタ(LBA)と、メディア、すなわちHDDのアクセス単位である物理セクタとの対応例を示す。図1には(a)論理セクタ、(b)物理セクタを示している。本例では、物理セクタは2つの論理セクタからなる。すなわち1物理セクタに含まれる論理セクタ数:N=2である。   FIG. 1 shows a correspondence example between a logical sector (LBA) that is an access unit of a device driver and a physical sector that is an access unit of a medium, that is, an HDD. FIG. 1 shows (a) logical sectors and (b) physical sectors. In this example, the physical sector consists of two logical sectors. That is, the number of logical sectors included in one physical sector is N = 2.

Nは、
N=(物理セクタ)÷(論理セクタ)
によって算出される値であり、「HDD内部で実際にひとまとめとして管理される論理セクタ数」を意味する。
N is
N = (physical sector) / (logical sector)
And means “the number of logical sectors that are actually managed as a whole in the HDD”.

また、図1に示す論理セクタ(LBA=60)の隣が1つ空いて(X)が記入され、その後に論理セクタ(LBA=61)が設定されている。このように、論理セクタと物理セクタの対応関係が変化するポイントが設定される場合がある。すなわち、「位相が変化するLBA」であり、この位相変化点の論理セクタ(LBA)を[X]とする。図1に示す例ではX=61となる。   Further, one (X) is entered next to the logical sector (LBA = 60) shown in FIG. 1, and then the logical sector (LBA = 61) is set. Thus, there may be a point where the correspondence between the logical sector and the physical sector changes. That is, “LBA whose phase changes”, and the logical sector (LBA) at this phase change point is [X]. In the example shown in FIG. 1, X = 61.

LBA=0〜X−1の領域では、
物理セクタナンバ=論理セクタナンバ(LBA)×M÷N(M≧0)
という関係が成立するが、
LBA=X〜MAXの領域では、その関係が成立せず、
例えば、図に示すように1物理セクタに含まれる論理セクタ数:N=2の場合、
物理セクタナンバ=(論理セクタナンバ(LBA)+1)×M÷N(M≧0)
という関係になる。
In the region of LBA = 0 to X-1,
Physical sector number = logical sector number (LBA) × M ÷ N (M ≧ 0)
Is established,
In the region of LBA = X to MAX, the relationship does not hold,
For example, as shown in the figure, when the number of logical sectors included in one physical sector: N = 2,
Physical sector number = (logical sector number (LBA) +1) × M ÷ N (M ≧ 0)
It becomes the relationship.

図1に示している例は、N=2であり、例えば、LBA=2に格納されている情報とLBA=3に格納されている情報がHDD内部ではひとまとめに管理され、物理セクタナンバ=1の情報として管理される。データの記録または再生処理において、HDD内部では、物理セクタ単位でメディアからのデータ読み取りまたはメディアに対するデータ書き込みが実行される。   In the example shown in FIG. 1, N = 2. For example, the information stored in LBA = 2 and the information stored in LBA = 3 are collectively managed in the HDD, and the physical sector number = 1. It is managed as information. In the data recording or reproducing process, data reading from the medium or data writing to the medium is executed in units of physical sectors in the HDD.

また、図1は、
位相変化点:X=61
とした例であり、LBA=0〜60までの領域は、LBAの偶数アドレス(0,2,4,6・・・)が、物理セクタの先頭と揃っているが、LBA=61以降の領域は、LBAの奇数アドレス(61,63,65・・・)が、物理セクタの先頭と揃うことになる。
In addition, FIG.
Phase change point: X = 61
In the area from LBA = 0 to 60, even addresses (0, 2, 4, 6...) Of the LBA are aligned with the top of the physical sector, but the area after LBA = 61. In this case, the odd addresses (61, 63, 65...) Of the LBA are aligned with the head of the physical sector.

図2および、図3を参照して、
上位層(アプリケーションやデバイスドライバ)のアクセス単位=(論理セクタ(LBA))と、
メディア(情報記録媒体)のアクセス単位=物理セクタ、
これらが異なる場合のアクセス処理における問題点について説明する。
With reference to FIG. 2 and FIG.
Access unit of upper layer (application or device driver) = (logical sector (LBA)),
Media (information recording medium) access unit = physical sector,
A problem in access processing when these are different will be described.

図2には、図1と同様、
1物理セクタに含まれる論理セクタ数:N=2
位相変換点:X=61
このXとNを有するセクタ対応の一部を示している。
In FIG. 2, as in FIG.
Number of logical sectors included in one physical sector: N = 2
Phase conversion point: X = 61
A part corresponding to the sector having X and N is shown.

デバイスドライバが、HDDに対して、
書き込み開始LBA=77、
書き込みセクタ数=1、
と指定して書き込み要求を発行した場合、HDD内部では、図2に示す通り、以下の流れでハードディスクに対するデータ書き込み処理が実行される。
The device driver
Write start LBA = 77,
Number of write sectors = 1
When the write request is issued by designating, the data write process to the hard disk is executed in the HDD as shown in FIG.

(ステップS11)
物理セクタナンバ=39のLBA=77〜78の内容をHDD内部バッファに読み出す。
(ステップS12)
HDD内部バッファでLBA=77のデータを更新、この更新データは上位のデバイスドライバから供給される。
(ステップS13)
更新後のLBA=77〜78の内容を、物理セクタナンバ=39の内容として書き込む
このような処理によって、更新データの記録が実行される。この処理から理解されるようにLBA=78のデータは、単にHDD内部でHDD内部バッファに読みだされ、再書き込みがなされるのみとなる。
(Step S11)
The contents of LBA = 77 to 78 of physical sector number = 39 are read into the HDD internal buffer.
(Step S12)
Data of LBA = 77 is updated in the HDD internal buffer, and this updated data is supplied from the upper device driver.
(Step S13)
The updated contents of LBA = 77 to 78 are written as the contents of physical sector number = 39. By such a process, update data is recorded. As understood from this processing, the data of LBA = 78 is simply read into the HDD internal buffer inside the HDD and rewritten.

図3を参照して、図2の処理例における問題点について説明する。図3は、図2の処理例において、HDD内部での処理であるステップS11のHDD内部バッファへのデータ読み出し処理においてエラー発生した場合の処理である。HDD内部では、図3に示す通り、以下の流れでハードディスクに対するデータ書き込み処理が実行される。
(ステップS21)
物理セクタナンバ=39のLBA=77〜78の内容をHDD内部バッファに読み出す。この時点で、読み出し処理に失敗したとする。
(ステップS22)
HDD内部バッファには、読み出しエラーのため、物理セクタナンバ=39のLBA=77〜78に対応するダミーデータが設定され、このダミーデータに対して、LBA=77のデータを更新する。この更新データは上位のデバイスドライバから供給される。
(ステップS13)
更新後のLBA=77〜78の内容を、物理セクタナンバ=39の内容として、読み出しエラーの発生時に利用される領域であるスペア領域(交替セクタ)にデータが書き込まれる。
With reference to FIG. 3, problems in the processing example of FIG. 2 will be described. FIG. 3 is a process in the case where an error occurs in the data reading process to the HDD internal buffer in step S11 which is a process in the HDD in the process example of FIG. In the HDD, as shown in FIG. 3, the data writing process to the hard disk is executed in the following flow.
(Step S21)
The contents of LBA = 77 to 78 of physical sector number = 39 are read into the HDD internal buffer. It is assumed that the reading process has failed at this point.
(Step S22)
Due to a read error, dummy data corresponding to LBA = 77 to 78 of physical sector number = 39 is set in the HDD internal buffer, and data of LBA = 77 is updated with respect to this dummy data. This update data is supplied from a higher-level device driver.
(Step S13)
The updated contents of LBA = 77 to 78 are used as the contents of physical sector number = 39, and data is written to a spare area (alternate sector) that is an area used when a read error occurs.

上記シーケンスでデータ更新がなされると、スペア領域(交替セクタ)に書き込まれるデータは、
LBA=77:デバイスドライバから提供された更新データ、
LBA=78:HDD内部の設定したダミーデータ
となる。
すなわち、更新対象のLBA以外のLBA=78のデータは消失してしまうという事態が発生することになる。このような状態が発生しても上位のアプリケーションやデバイスドライバは、LBA=78のデータが消失したことを検出できず、正常な記録がなされたものと判断してしまう。
When data is updated in the above sequence, the data written to the spare area (alternate sector)
LBA = 77: Update data provided from the device driver,
LBA = 78: Dummy data set in the HDD.
That is, a situation occurs in which data of LBA = 78 other than the update target LBA is lost. Even if such a situation occurs, the host application or device driver cannot detect the loss of LBA = 78 data, and determines that normal recording has been performed.

[2.本発明に従ったメディア(情報記録媒体)のアクセス処理]
本発明の情報処理装置では、図3を参照して説明したような事態の発生を防止する構成を提案する。以下、本発明の処理例について説明する。
[2. Access processing of media (information recording medium) according to the present invention]
The information processing apparatus according to the present invention proposes a configuration that prevents the occurrence of the situation described with reference to FIG. Hereinafter, processing examples of the present invention will be described.

本発明の情報処理装置は、図3のような状況に陥ることを回避するため、上位層、例えばアプリケーションまたはデバイスドライバにおいて、少なくとも、1物理セクタに含まれる論理セクタ数:Nを意識して書き込み要求を発行する。なお、位相変化点を有するシステムでは、位相変化点:Xについても考慮した処理を行なうことが好ましい。   In order to avoid the situation shown in FIG. 3, the information processing apparatus according to the present invention writes data in an upper layer, for example, an application or a device driver while paying attention to at least the number of logical sectors included in one physical sector: N. Issue a request. Note that in a system having a phase change point, it is preferable to perform processing in consideration of the phase change point: X.

デバイスドライバによって実行されるメディア、例えばHDDに対する書き込み要求の発行処理は、少なくとも1物理セクタに含まれる論理セクタ数:Nを意識した書き込み要求の発行処理として実行される。具体的には、記録メディアの内部バッファに対するメディアからのデータ読み出し、更新、再書き込み処理を必要とする処理が発生するか否かを判定して、書き込み要求を行なう。   The process for issuing a write request to a medium such as an HDD executed by the device driver is executed as a process for issuing a write request in consideration of the number of logical sectors included in at least one physical sector: N. Specifically, it is determined whether or not processing requiring data reading, updating, and rewriting processing from the medium to the internal buffer of the recording medium occurs, and a write request is made.

記録メディアの内部バッファに対するメディアからのデータ読み出し、更新、再書き込み処理は、図2、図3のフローに示す処理であり、リードモディファイライト(RMW:Read−Modify−Write)処理と呼ばれる。このリードモディファイライト処理が発生する場合、デバイスドライバ自身のアクセス可能なメモリ領域に、記録メディアの内部バッファに対するメディアからのデータ読み出しデータを書き込み、デバイスドライバのアクセス可能なメモリ領域において物理セクタ単位で、データ読み出し、更新、再書き込み処理を実行する。   The data read, update, and rewrite processing from the medium to the internal buffer of the recording medium is a process shown in the flow of FIGS. 2 and 3, and is called a read-modify-write (RMW) process. When this read-modify-write processing occurs, the data read data from the medium to the internal buffer of the recording medium is written in the memory area accessible by the device driver itself, and in the physical area unit in the memory area accessible by the device driver, Data read, update, and rewrite processes are executed.

具体的な処理例について、図4以下を参照して説明する。リードモディファイライト(RMW:Read−Modify−Write)処理は、デバイスドライバのデータアクセス開始位置または終了位置の境界が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合に実行する。すなわち、この場合には、デバイスドライバ自身のアクセス可能なメモリ領域(デバイスドライバ対応のバッファ領域)に、記録メディアの内部バッファに対するメディアからのデータ読み出しデータを書き込み、デバイスドライバのアクセス可能なメモリ領域において物理セクタ単位で、データ読み出し、更新、再書き込み処理を実行する。   A specific processing example will be described with reference to FIG. Read-modify-write (RMW) processing is executed when the boundary of the data access start position or end position of the device driver does not coincide with the boundary of a physical sector that is an access unit of a recording medium (such as an HDD). To do. That is, in this case, the data read data from the medium to the internal buffer of the recording medium is written into the memory area accessible by the device driver itself (buffer area corresponding to the device driver), and the memory area accessible by the device driver is written. Data read, update, and rewrite processes are executed in units of physical sectors.

図4(A)〜(C)は、デバイスドライバのデータアクセス態様に応じたリードモディファイライト(RMW:Read−Modify−Write)処理の要否について説明する図である。   4A to 4C are diagrams for explaining the necessity of a read-modify-write (RMW) process according to the data access mode of the device driver.

図4(A)は、デバイスドライバのデータアクセス開始位置と、終了位置の2つの境界の両者とも、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致する場合の例であり、この場合は、リードモディファイライト(RMW:Read−Modify−Write)処理は不要となる。   FIG. 4A is an example in which both of the two boundaries of the data access start position and the end position of the device driver coincide with the boundary of the physical sector that is the access unit of the recording medium (such as HDD). In this case, read-modify-write (RMW: Read-Modify-Write) processing is not required.

図4(B)は、デバイスドライバのデータアクセス開始位置と、終了位置の2つの境界のいずれかが、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、リードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
図4(B−a)は、デバイスドライバのデータアクセス開始位置が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
図4(B−b)は、デバイスドライバのデータアクセス終了位置が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス終了位置の論理セクタナンバの後の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
FIG. 4B is an example in which one of the two boundaries of the data access start position and the end position of the device driver does not match the boundary of the physical sector that is the access unit of the recording medium (HDD or the like). In this case, read-modify-write (RMW: Read-Modify-Write) processing is required.
4B is an example in which the data access start position of the device driver does not coincide with the boundary of the physical sector that is the access unit of the recording medium (HDD or the like). In this case, the data access start position Read-modify-write (RMW) processing for one physical sector including the logical sector number before the logical sector number is required.
4B is an example in which the data access end position of the device driver does not coincide with the boundary of the physical sector that is the access unit of the recording medium (HDD or the like). In this case, the data access end position Read-modify-write (RMW) processing for one physical sector including the logical sector number after the logical sector number is required.

図4(C)は、デバイスドライバのデータアクセス開始位置と、終了位置の2つの境界のいずれもが、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、アクセス開始位置では、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む1つの物理セクタ、アクセス終了位置では、データアクセス終了位置の論理セクタナンバの後の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。   FIG. 4C is an example in which neither of the two boundaries of the data access start position and the end position of the device driver coincides with the boundary of the physical sector that is the access unit of the recording medium (HDD or the like). In this case, at the access start position, one physical sector including the logical sector number before the logical sector number at the data access start position, and at the access end position, one physical sector number including the logical sector number after the logical sector number at the data access end position. A read-modify-write (RMW) process for a physical sector is required.

図5は、図4(A)〜(C)の各書き込み態様に応じたリードモディファイライト処理の要否をデータアクセス開始位置と終了位置に区分して示したテーブルである。データアクセスを実行するデバイスドライバ(アプリケーションでもよい)は、データアクセスを実行する場合のアドレス情報(LBA)に基づいて、図4、図5に示す(A),(B−a),(B−b),(C)のいずれに対応するかを判定して、RMW(リートモディファイライト)の要否を判定して、必要な場合はRMW(リートモディファイライト)を実行する。   FIG. 5 is a table showing whether or not the read-modify-write process according to each writing mode of FIGS. 4A to 4C is divided into a data access start position and an end position. A device driver (which may be an application) that executes data access, based on address information (LBA) when executing data access, (A), (B-a), (B-) shown in FIGS. b) or (C) is determined to determine whether or not RMW (reed modify write) is necessary, and if necessary, RMW (reed modify write) is executed.

デバイスドライバにおいて、アドレス情報(LBA)に基づくRMW要否判定処理は、以下のようにして実行される。
まず、書き込み開始LBAと書き込みセクタ数がアプリケーションにおいて決定される。さらに、デバイスドライバは、
書き込み終了LBA=書き込み開始LBA+書き込みセクタ数−1
として書き込み終了LBAを算出する。
In the device driver, the RMW necessity determination process based on the address information (LBA) is executed as follows.
First, the write start LBA and the number of write sectors are determined by the application. In addition, the device driver
Write end LBA = write start LBA + number of write sectors−1
As a result, the write end LBA is calculated.

さらに、
1物理セクタに含まれる論理セクタ数:N
位相変換点:X
これらのパラメータを入力して、以下のアルゴリズムに従ったRMW要否判定処理を実行する。
if(書き込み開始LBA<X){
判別基準となるLBA=0;
}else{
判別基準となるLBA=X;

if(書き込み開始LBA−判別基準LBA)%N){
データ先頭に対して、RMW(リードモディファイライト)が必要;
}else{
データ先頭に対して、RMW(リードモディファイライト)は不要;

if(書き込み終了LBA−判別基準LBA)%N){
データ終端に対して、RMW(リードモディファイライト)が必要;
}else{
データ終端に対して、RMW(リードモディファイライト)は不要;
further,
Number of logical sectors included in one physical sector: N
Phase conversion point: X
By inputting these parameters, RMW necessity determination processing according to the following algorithm is executed.
if (write start LBA <X) {
LBA = 0 as a discrimination criterion;
} Else {
LBA = X serving as a discrimination criterion;
}
if (write start LBA-discrimination criterion LBA)% N) {
RMW (Read Modify Write) is required for the data head;
} Else {
RMW (read modify write) is not required for the beginning of data;
}
if (write end LBA−discrimination criterion LBA)% N) {
RMW (read modify write) is required for the end of data;
} Else {
RMW (read modify write) is not required for the end of data;
}

このように、デバイスドライバは、
書き込み開始LBA、
書き込みセクタ数、
1物理セクタに含まれる論理セクタ数:N
位相変換点:X
これらのデータに基づいて、
書き込み終了LBA=書き込み開始LBA+書き込みセクタ数−1
として書き込み終了LBAを算出し、上記アルゴリズムに従ったRMW要否判定処理を実行する。この判定処理によってRMW(リードモディファイライト)が必要とされた場合は、デバイスドライバのアクセス可能なメモリ(バッファ)に物理セクタ単位でメディアからのデータ読み取り、更新、再書き込み処理を伴うリードモディファイライト(RMW)処理を実行する。
In this way, the device driver
Write start LBA,
Number of write sectors,
Number of logical sectors included in one physical sector: N
Phase conversion point: X
Based on these data,
Write end LBA = write start LBA + number of write sectors−1
As described above, the write end LBA is calculated, and RMW necessity determination processing according to the above algorithm is executed. When RMW (read modify write) is required by this determination processing, read modify write (read, write, update, and rewrite processing including data read, update, and rewrite processing from the medium in units of physical sectors in a memory (buffer) accessible by the device driver. RMW) processing is executed.

図4、図5に示す(A),(B−a),(B−b),(C)の各ケースにおける具体的な処理例について説明する。図4(A)は、デバイスドライバのデータアクセス開始位置と、終了位置の2つの境界の両者とも、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致する場合の例であり、この場合は、リードモディファイライト(RMW:Read−Modify−Write)処理は不要となる。   Specific processing examples in the cases (A), (Ba), (BB), and (C) shown in FIGS. 4 and 5 will be described. FIG. 4A is an example in which both of the two boundaries of the data access start position and the end position of the device driver coincide with the boundary of the physical sector that is the access unit of the recording medium (such as HDD). In this case, read-modify-write (RMW: Read-Modify-Write) processing is not required.

図4(B)は、デバイスドライバのデータアクセス開始位置と、終了位置の2つの境界のいずれかが、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、リードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
図4(B−a)は、デバイスドライバのデータアクセス開始位置が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
FIG. 4B is an example in which one of the two boundaries of the data access start position and the end position of the device driver does not match the boundary of the physical sector that is the access unit of the recording medium (HDD or the like). In this case, read-modify-write (RMW: Read-Modify-Write) processing is required.
4B is an example in which the data access start position of the device driver does not coincide with the boundary of the physical sector that is the access unit of the recording medium (HDD or the like). In this case, the data access start position Read-modify-write (RMW) processing for one physical sector including the logical sector number before the logical sector number is required.

この(B−a)のケースにおけるリードモディファイライト処理を含むデータ記録処理について図6、図7を参照して説明する。図6(1)は、図4(B−a)と同様の図であり、データアクセス開始位置に相当する論理セクタナンバの前の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となることを示している。   The data recording process including the read modify write process in the case (Ba) will be described with reference to FIGS. FIG. 6 (1) is the same diagram as FIG. 4 (B-a), and read-modify-write (one for the physical sector including the logical sector number preceding the logical sector number corresponding to the data access start position). RMW: Read-Modify-Write) processing is required.

図6(2)は、このリードモディファイライト(RMW)を実行する際のデバイスドライバにおけるメモリ各のデータコピー処理を説明する図である。デバイスドライバは、データ記録等の処理に際して記録データをアプリケーションから受領する。この受領データがデバイスドライバのアクセス可能な第1のメモリ領域に記録される。このデータが図6(2)の(M1)第1メモリ領域に示すデータである。このデータは、図6(1)に示すデータと同じである。デバイスドライバはこの受領データから、リードモディファイライト(RMW:Read−Modify−Write)処理が必要となるデータを選択して(M2)RMW用メモリ(バッファ)に記録する。このRMW用メモリ(バッファ)には、情報記録媒体(HDD)の制御部から受領した物理セクタ単位のデータが先行して記録され、その後、この物理セクタに対応する論理セクタデータが、(M1)第1メモリ領域から選択されてメモリ間コピーを実行し、情報記録媒体(HDD)の制御部から受領した物理セクタ単位のデータの少なくとも一部のセクタデータが上書されて更新される。この更新データを含む物理セクタ単位のデータが情報記録媒体(HDD)に出力される。   FIG. 6B is a diagram for explaining data copy processing of each memory in the device driver when executing this read-modify-write (RMW). The device driver receives recording data from the application during processing such as data recording. The received data is recorded in a first memory area accessible by the device driver. This data is data shown in the (M1) first memory area of FIG. This data is the same as the data shown in FIG. From this received data, the device driver selects data that requires read-modify-write (RMW) processing (M2) and records it in the RMW memory (buffer). In this RMW memory (buffer), data in units of physical sectors received from the control unit of the information recording medium (HDD) is recorded in advance, and then logical sector data corresponding to the physical sectors is (M1). The memory data selected from the first memory area is copied, and at least a part of the sector data in the physical sector unit received from the control unit of the information recording medium (HDD) is overwritten and updated. Data in units of physical sectors including the update data is output to an information recording medium (HDD).

デバイスドライバは、このようにリードモディファイライト(RMW:Read−Modify−Write)処理の対象とされるデータ図6(1)(2)に示す[D1]についてはこのようなRMW用メモリを利用した処理を実行し、その他のデータ、すなわち、RMW処理対象とならないデータ[D2]は、RMW用メモリを経由せず、(M1)第1メモリ領域から、直接、情報記録媒体(HDD)に出力する。   The device driver uses such RMW memory for [D1] shown in FIGS. 6 (1) and (2) as data subject to read-modify-write (RMW) processing. The other data, that is, the data [D2] not subject to the RMW process is output directly from the first memory area to the information recording medium (HDD) without passing through the RMW memory. .

デバイスドライバにおける処理シーケンスについて図7を参照して説明する。まず、ステップS51において、デバイスドライバは、リードモディファイライト(RMW:Read−Modify−Write)処理の読み出し用の論理セクタアドレス(LBA)を決定する。このLBAは、図6(2)の(M2)RMW用メモリ(バッファ)に示すLBA1に相当する。すなわち物理セクタ単位の開始位置に対応する論理セクタアドレス(LBA)を決定する。ステップS52において、決定したLBA(LBA1)から、Nセクタ分のデータを記録メディアから読み出す。Nは、1つの物理セクタに含まれる論理セクタ数である。例えば図6に示す例ではN=2であり、2つの論理セクタ分のデータ、すなわち1つの物理セクタ分のデータがメデイアから読み出され、(M2)RMW用メモリ(バッファ)に記録される。   A processing sequence in the device driver will be described with reference to FIG. First, in step S51, the device driver determines a logical sector address (LBA) for reading in a read-modify-write (RMW) process. This LBA corresponds to LBA1 shown in (M2) RMW memory (buffer) in FIG. That is, the logical sector address (LBA) corresponding to the start position of the physical sector unit is determined. In step S52, N sectors of data are read from the recording medium from the determined LBA (LBA1). N is the number of logical sectors included in one physical sector. For example, in the example shown in FIG. 6, N = 2, and data for two logical sectors, that is, data for one physical sector is read from the media and recorded in the (M2) RMW memory (buffer).

次に、ステップS53において、(M2)RMW用メモリ(バッファ)に記録された1つの物理セクタデータに対して、アプリケーションから受領したデータに基づく更新処理を実行する。この処理は、図6(2)に示すメモリ間コピー処理として実行される。次に、ステップS54において、更新されたRMW用バッファの内容をメデイアに記録する。その後、ステップS55においてRMW処理対象以外のデータ、すなわち図6に示すデータ[D2]をメディアに記録する。このような処理によってデータ記録処理が行なわれる。   In step S53, (M2) one physical sector data recorded in the RMW memory (buffer) is updated based on the data received from the application. This process is executed as a memory-to-memory copy process shown in FIG. Next, in step S54, the updated contents of the RMW buffer are recorded on the media. Thereafter, in step S55, data other than the RMW process target, that is, data [D2] shown in FIG. 6 is recorded on the medium. Data recording processing is performed by such processing.

次に、図4(B−b)のケースにおけるリードモディファイライト処理を含むデータ記録処理について図8、図9を参照して説明する。図8(1)は、図4(B−b)と同様の図であり、データアクセス終了位置に相当する論理セクタナンバの後の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となることを示している。   Next, data recording processing including read modify write processing in the case of FIG. 4B-B will be described with reference to FIGS. FIG. 8 (1) is the same diagram as FIG. 4 (B-b), and read-modify-write (one physical sector including the logical sector number after the logical sector number corresponding to the data access end position) RMW: Read-Modify-Write) processing is required.

図8(2)は、このリードモディファイライト(RMW)を実行する際のデバイスドライバにおけるメモリ各のデータコピー処理を説明する図である。デバイスドライバは、データ記録等の処理に際して記録データをアプリケーションから受領する。この受領データがデバイスドライバのアクセス可能な第1のメモリ領域に記録される。このデータが図8(2)の(M1)第1メモリ領域に示すデータである。このデータは、図8(1)に示すデータと同じである。デバイスドライバはこの受領データから、リードモディファイライト(RMW:Read−Modify−Write)処理が必要となるデータを選択して(M2)RMW用メモリ(バッファ)に記録する。このRMW用メモリ(バッファ)には、情報記録媒体(HDD)の制御部から受領した物理セクタ単位のデータが先行して記録され、その後、この物理セクタに対応する論理セクタデータが、(M1)第1メモリ領域から選択されてメモリ間コピーを実行し、情報記録媒体(HDD)の制御部から受領した物理セクタ単位のデータの少なくとも一部のセクタデータが上書されて更新される。この更新データを含む物理セクタ単位のデータが情報記録媒体(HDD)に出力される。   FIG. 8B is a diagram for explaining data copy processing of each memory in the device driver when executing this read-modify-write (RMW). The device driver receives recording data from the application during processing such as data recording. The received data is recorded in a first memory area accessible by the device driver. This data is data shown in the (M1) first memory area of FIG. This data is the same as the data shown in FIG. From this received data, the device driver selects data that requires read-modify-write (RMW) processing (M2) and records it in the RMW memory (buffer). In this RMW memory (buffer), data in units of physical sectors received from the control unit of the information recording medium (HDD) is recorded in advance, and then logical sector data corresponding to the physical sectors is (M1). The memory data selected from the first memory area is copied, and at least a part of the sector data in the physical sector unit received from the control unit of the information recording medium (HDD) is overwritten and updated. Data in units of physical sectors including the update data is output to an information recording medium (HDD).

デバイスドライバは、このようにリードモディファイライト(RMW:Read−Modify−Write)処理の対象とされるデータ図8(1)(2)に示す[D1]についてはこのようなRMW用メモリを利用した処理を実行し、その他のデータ、すなわち、RMW処理対象とならないデータ[D2]は、RMW用メモリを経由せず、(M1)第1メモリ領域から、直接、情報記録媒体(HDD)に出力する。   The device driver uses such RMW memory for [D1] shown in FIGS. 8 (1) and (2) as data subject to read-modify-write (RMW) processing in this way. The other data, that is, the data [D2] not subject to the RMW process is output directly from the first memory area to the information recording medium (HDD) without passing through the RMW memory. .

デバイスドライバにおける処理シーケンスについて図9を参照して説明する。まず、ステップS71において、デバイスドライバは、リードモディファイライト(RMW:Read−Modify−Write)処理の対象とならないデータ、すなわち図8に示すデータ[D2]をメディアに記録する。次に、ステップS72において、リードモディファイライト(RMW:Read−Modify−Write)処理の読み出し用の論理セクタアドレス(LBA)を決定する。このLBAは、図8(2)の(M2)RMW用メモリ(バッファ)に示すLBA1に相当する。すなわち物理セクタ単位の開始位置に対応する論理セクタアドレス(LBA)を決定する。ステップS73において、決定したLBA(LBA1)から、Nセクタ分のデータを記録メディアから読み出す。Nは、1つの物理セクタに含まれる論理セクタ数である。例えば図8に示す例ではN=2であり、2つの論理セクタ分のデータ、すなわち1つの物理セクタ分のデータがメデイアから読み出され、(M2)RMW用メモリ(バッファ)に記録される。   A processing sequence in the device driver will be described with reference to FIG. First, in step S71, the device driver records data that is not a target of read-modify-write (RMW) processing, that is, data [D2] shown in FIG. Next, in step S72, a logical sector address (LBA) for reading in a read-modify-write (RMW: Read-Modify-Write) process is determined. This LBA corresponds to LBA1 shown in (M2) RMW memory (buffer) in FIG. That is, the logical sector address (LBA) corresponding to the start position of the physical sector unit is determined. In step S73, data for N sectors is read from the recording medium from the determined LBA (LBA1). N is the number of logical sectors included in one physical sector. For example, in the example shown in FIG. 8, N = 2, and data for two logical sectors, that is, data for one physical sector is read from the media and recorded in the (M2) RMW memory (buffer).

次に、ステップS74において、(M2)RMW用メモリ(バッファ)に記録された1つの物理セクタデータに対して、アプリケーションから受領したデータに基づく更新処理を実行する。この処理は、図8(2)に示すメモリ間コピー処理として実行される。次に、ステップS54において、更新されたRMW用バッファの内容をメデイアに記録する。このような処理によってデータ記録処理が行なわれる。   In step S74, (M2) one physical sector data recorded in the RMW memory (buffer) is updated based on the data received from the application. This process is executed as an inter-memory copy process shown in FIG. Next, in step S54, the updated contents of the RMW buffer are recorded on the media. Data recording processing is performed by such processing.

図4、図5に示す(C)のケースは、図6、図7を参照して説明したデータ記録開始位置におけるリードモディファイライト(RMW:Read−Modify−Write)処理と、データ記録終了位置におけるリードモディファイライト(RMW:Read−Modify−Write)処理の、両処理とも実行することになる。   In the case of (C) shown in FIGS. 4 and 5, the read-modify-write (RMW) process at the data recording start position described with reference to FIGS. 6 and 7 and the data recording end position are performed. Both of the read-modify-write (RMW: Read-Modify-Write) processes are executed.

[3.情報処理装置の構成例および処理例]
次に、本発明の一実施例に係る情報処理装置の構成例および処理例について説明する。本発明の情報処理装置は、情報記録媒体に対するデータ記録、または情報記録媒体からのデータ再生処理を行なう装置である。情報処理装置は例えばデジタルビデオカメラ、PCなどの装置である。
[3. Configuration example and processing example of information processing apparatus]
Next, a configuration example and a processing example of the information processing apparatus according to an embodiment of the present invention will be described. The information processing apparatus of the present invention is an apparatus that performs data recording on an information recording medium or data reproduction processing from the information recording medium. The information processing apparatus is an apparatus such as a digital video camera or a PC.

情報処理装置の構成について、図10、図11を参照して説明する。図10は、ハードディスク等の情報記録媒体284をアクセスしてデータ記録あるいはデータ読み取りを実行する情報処理装置の構成を処理階層別に示している。図10に示すように、ハードディスク等の情報記録媒体284に対してデータを記録したり、記録媒体に記録されているデータを読み出して利用したりする場合には、ユーザからの処理要求を受け付け、またユーザインタフェースを提供するなどのユーザとの窓口として最上層にアプリケーションプログラム281が存在する。その下層に情報記録媒体284上のファイルを管理するためのファイルシステム(ファイル管理プログラム)282とファイルシステムからの情報に基づいて情報記録媒体284を制御するデバイスドライバ283とが存在する。   The configuration of the information processing apparatus will be described with reference to FIGS. FIG. 10 shows the configuration of an information processing apparatus that accesses an information recording medium 284 such as a hard disk to execute data recording or data reading for each processing hierarchy. As shown in FIG. 10, when data is recorded on an information recording medium 284 such as a hard disk or when data recorded on the recording medium is read and used, a processing request from a user is accepted, In addition, an application program 281 exists in the uppermost layer as a window with a user for providing a user interface. Below that are a file system (file management program) 282 for managing files on the information recording medium 284 and a device driver 283 for controlling the information recording medium 284 based on information from the file system.

情報記録媒体284に対してデータを記録、または情報記録媒体284からデータを再生する場合には、例えばアプリケーションプログラム281を介する要求がファイルシステム282、デバイスドライバ283に伝えられ、ファイルシステム282、デバイスドライバ283の機能によりデータの書き込み、再生が実行される。従来と同様の処理によって、ファイルシステム⇔デバイスドライバ⇔記録媒体(ハードディスク)といった構成で処理は行なわれる。   When data is recorded on or reproduced from the information recording medium 284, for example, a request via the application program 281 is transmitted to the file system 282 and the device driver 283, and the file system 282 and the device driver are transmitted. Data writing and reproduction are executed by the function 283. By the same processing as before, processing is performed with a configuration of file system⇔device driver⇔recording medium (hard disk).

データ記録を行なう場合に、複数の異なるファイルを継続記録ファイルとして適用する場合は、ファイルシステムによって適用されるファイルアロケーションテーブル(FAT)に対する特殊コードの記録を行なう。また、データ再生を実行する場合に複数の異なるファイルを継続記録ファイルとして適用する場合は、FATからの特殊コードの検出を条件として、ファイルの切り替えを実行する。   When a plurality of different files are applied as continuous recording files when data recording is performed, special codes are recorded in a file allocation table (FAT) applied by the file system. When a plurality of different files are applied as continuous recording files when data reproduction is executed, file switching is executed on condition that a special code is detected from the FAT.

図10に示すシステム構成中のファイルシステムをさらに詳細に示した構成図を図11に示す。図11に示す構成は、図10と同様、情報記録媒体に対するデータ記録および情報記録媒体からのデータ取得、再生処理を実行する情報処理装置のシステム構成を示す図であり、ハードディスクやフラッシュメモリ等の情報記録媒体361,362に対してデータを記録したり、記録媒体に記録されているデータを読み出して利用する処理を実行する情報処理装置のシステム構成を示している。   FIG. 11 shows a configuration diagram showing the file system in the system configuration shown in FIG. 10 in more detail. The configuration shown in FIG. 11 is a diagram showing the system configuration of an information processing apparatus that executes data recording on an information recording medium, data acquisition from the information recording medium, and reproduction processing, as in FIG. 2 shows a system configuration of an information processing apparatus that records data on information recording media 361 and 362 and executes processing for reading and using data recorded on a recording medium.

図11にも、図10と同様、アプリケーション300の下層に情報記録媒体361,362上のファイルを管理するためのファイルシステム(ファイル管理プログラム)310とファイルシステム310からの情報に基づいて情報記録媒体361,362を制御するデバイスドライバ350とを示している。図11に示す例では2つの情報記録媒体361,362を示している。例えば、図1他を参照して説明した論理セクタ単位と物理セクタ単位が一致しないハードディスクと、その他のフラッシュメモリなどの記録媒体である。デバイスドライバ350は、記録デバイスである情報記録媒体361,362に対応するデバイスドライバ351,352を有する。   Also in FIG. 11, as in FIG. 10, a file system (file management program) 310 for managing files on the information recording media 361 and 362 below the application 300 and an information recording medium based on information from the file system 310. A device driver 350 that controls 361 and 362 is shown. In the example shown in FIG. 11, two information recording media 361 and 362 are shown. For example, a hard disk whose logical sector unit and physical sector unit described with reference to FIG. 1 and the like do not match, and other recording media such as a flash memory. The device driver 350 includes device drivers 351 and 352 corresponding to information recording media 361 and 362 that are recording devices.

アプリケーション300、ファイルシステム310、デバイスドライバ350は、各構成部の処理に必要なプログラムやパラメータの格納、データ処理におけるワーク領域としてメモリ370をアクセスして利用する。例えば、図6、図8を参照して説明した
(M1)第1メモリ
(M2)RMW用メモリ(バッファ)
これらのメモリ領域は、メモリ370に設定される。
The application 300, the file system 310, and the device driver 350 access and use the memory 370 as a work area for storing programs and parameters necessary for processing of each component and data processing. For example, (M1) first memory (M2) RMW memory (buffer) described with reference to FIGS.
These memory areas are set in the memory 370.

アプリケーション300には、情報記録媒体361,362に対するデータ記録処理を実行する記録アプリケーション301、情報記録媒体361,362に記録されたデータの再生処理を実行する再生アプリケーション302、接続機器による処理を実行するUSB接続アプリケーション303など、処理に応じたアプリケーションが含まれる。ユーザはこれらのアプリケーションを選択して様々な処理を実行することになる。   The application 300 includes a recording application 301 that executes data recording processing on the information recording media 361 and 362, a playback application 302 that executes playback processing of data recorded on the information recording media 361 and 362, and processing by connected devices. Applications corresponding to processing such as the USB connection application 303 are included. The user selects these applications and executes various processes.

ファイルシステム310は、記録媒体の種別やフォーマット情報などを含む各記憶媒体対応のマウントドライブ情報311,312を保持し、マウントドライブ情報311,312に従って、ハードディスク等の情報記録媒体を適用したデータ記録、再生制御を実行する。ファイルシステム310は、データ記録再生制御を実行する記録再生制御部320と、メディア制御を実行するメディア制御部330を有する。記録再生制御部320の実行する処理は、メディア非依存型のメディア共通の処理であり、メディア制御部330の実行する処理は、メディア依存型の処理である。   The file system 310 holds mount drive information 311, 312 corresponding to each storage medium including the type and format information of the recording medium, and data recording using an information recording medium such as a hard disk according to the mount drive information 311, 312, Perform playback control. The file system 310 includes a recording / playback control unit 320 that executes data recording / playback control, and a media control unit 330 that executes media control. The processing executed by the recording / playback control unit 320 is media-independent media common processing, and the processing executed by the media control unit 330 is media-dependent processing.

記録再生制御部320は、ファイルアロケーションテーブル(FAT)の記録、参照処理を実行するFAT制御部321と、データ記録位置情報としてのクラスタの決定処理、クラスタ番号に基づく再生位置決定処理を実行するクラスタ制御部322と、ファイルに対応する情報を格納したディレクトリエントリ(図3参照)を生成、または参照する処理を実行するディレクトリエントリ制御部323を有する。ディレクトリエントリ制御部323は、アプリケーション300からの記憶手段やファイル指定情報に基づいて特定のファイルに対応するディレクトリエントリを取得し、例えばファイル再生の場合は、ディレクトリエントリから先頭クラスタ番号を取得し、クラスタ制御部322に提供する。   The recording / playback control unit 320 includes a FAT control unit 321 that performs file allocation table (FAT) recording and reference processing, a cluster determination process as data recording position information, and a cluster that performs a playback position determination process based on the cluster number. It has a control unit 322 and a directory entry control unit 323 that executes a process for generating or referring to a directory entry (see FIG. 3) that stores information corresponding to a file. The directory entry control unit 323 acquires a directory entry corresponding to a specific file based on storage means and file designation information from the application 300. For example, in the case of file reproduction, the directory entry control unit 323 acquires a head cluster number from the directory entry. This is provided to the control unit 322.

メディア制御部330は、位置算出部331を有し、クラスタ制御部322の決定するクラスタ情報やFATのクラスタ連鎖情報に基づいて、デバイスドライバ350を制御し、クラスタ番号によってデータ記録、またはデータ再生を実行するディスクの位置を決定し、決定した位置情報に従って、デバイスドライバ350を介してデータ記録、または当該ディスク位置からのデータ再生を実行する。   The media control unit 330 has a position calculation unit 331, controls the device driver 350 based on the cluster information determined by the cluster control unit 322 and the cluster linkage information of FAT, and performs data recording or data reproduction according to the cluster number. The position of the disk to be executed is determined, and data recording or data reproduction from the disk position is executed via the device driver 350 according to the determined position information.

ファイルシステム310内のアクセス制御部340は、アプリケーションに応じた記憶手段のアクセス制御を行う。アクセス制御部340は、メディア非依存型のメディア共通の処理を実行するメディア制御部330と、メディア依存型の処理を実行するメディア制御部330の双方において、それぞれの処理に応じたアクセス制御を実行する。デバイスドライバ351,352内にもそれぞれアクセス制御部353,354があり、これらのアクセス制御部の少なくともいずれかの制御部の制御の下で先に説明したリードモディファイライト(RMW)を伴うアクセス制御処理を実行する。   An access control unit 340 in the file system 310 controls access to storage means according to the application. The access control unit 340 executes access control according to each process in both the media control unit 330 that executes media-independent media common processing and the media control unit 330 that executes media-dependent processing. To do. Access control units 353 and 354 are also provided in the device drivers 351 and 352, respectively, and the access control process with the read modify write (RMW) described above under the control of at least one of these access control units. Execute.

なお、記録メディアである情報記録媒体361,362内部には、メディアに対するデータの記録処理や再生処理を実行するメディア対応制御部363,364が構成され、例えばハードディスクによって構成される情報記録媒体361のメディア対応制御部363は物理セクタ単位でのハードディスクに対するデータアクセスを実行する。   In addition, inside the information recording media 361 and 362 that are recording media, media correspondence control units 363 and 364 that execute recording processing and reproducing processing of data with respect to the media are configured, and for example, the information recording media 361 configured by a hard disk. The media correspondence control unit 363 executes data access to the hard disk in units of physical sectors.

[4.情報処理装置の実行する処理のシーケンス詳細]
次に、図12以下のフローチャートを参照して本発明の情報処理装置において実行する各種の処理シーケンスについて説明する。まず、図12を参照して、デバイスドライバの起動処理シーケンスについて説明する。起動処理は、情報処理装置の起動時に実行される処理である。
[4. Details of sequence of processing executed by information processing apparatus]
Next, various processing sequences executed in the information processing apparatus of the present invention will be described with reference to the flowchart in FIG. First, a device driver activation process sequence will be described with reference to FIG. The activation process is a process executed when the information processing apparatus is activated.

ステップS101において起動時の初期化処理1として、例えば、装着されたメディアとのデータ通信路の設定などの処理が実行される。次に、ステップS102において、デバイス識別処理[IDENRIFY DEVICE]を実行する。このデバイス識別処理[IDENRIFY DEVICE]の実行においては、デバイスドライバのアクセス制御部から、記録メディア対応制御部に対して、デバイス情報取得コマンドが出力され、記録メディア対応制御部が、このコマンドに対応する応答(戻り値)として、予め設定されたデバイス情報をデバイスドライバのアクセス制御部に返す処理として実行される。   In step S101, as initialization processing 1 at the time of activation, for example, processing such as setting of a data communication path with a loaded medium is executed. Next, in step S102, a device identification process [IDENRIFY DEVICE] is executed. In the execution of the device identification process [IDENRIFY DEVICE], a device information acquisition command is output from the access control unit of the device driver to the recording media correspondence control unit, and the recording media correspondence control unit responds to this command. As a response (return value), it is executed as a process of returning preset device information to the access control unit of the device driver.

記録メディア対応制御部が、デバイス情報取得に対応する応答としてデバイスドライバのアクセス制御部に返すデバイス情報の例を図13に示す。本発明の情報処理装置では、図13に示すデータ構成を持つ応答(戻り値)が、記録メディア制御部からデバイスドライバのアクセス制御部に提供される。従来のデバイス情報と異なる点は、
ワード206〜208;位相変化点[X](論理セクタ番号(LBA))
ワード209:[N]=1物理セクタに含まれる論理セクタ数
ワード210〜213:セクタサイズ
これらの情報が含まれる点である。
FIG. 13 shows an example of device information returned from the recording media support control unit to the device driver access control unit as a response corresponding to device information acquisition. In the information processing apparatus of the present invention, a response (return value) having the data configuration shown in FIG. 13 is provided from the recording media control unit to the access control unit of the device driver. The difference from conventional device information is
Words 206 to 208; phase change point [X] (logical sector number (LBA))
Word 209: [N] = 1 Number of logical sectors included in one physical sector Words 210 to 213: Sector size This is a point where these pieces of information are included.

ワード206〜208の位相変化点[X](論理セクタ番号(LBA))は、先に、図1他を参照して説明したように、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]に対応する論理セクタナンバ(LBA)である。図1の例ではX=61である。
ワード209の[N]は、1物理セクタに含まれる論理セクタ数である。図1の例ではN=2である。
ワード210〜213のセクタサイズは、論理セクタのサイズであり、例えば512B(バイト)である。
The phase change point [X] (logical sector number (LBA)) of the words 206 to 208 causes the phase change of the correspondence relationship between the logical sector and the physical sector as described above with reference to FIG. This is the logical sector number (LBA) corresponding to the phase conversion point [X] to be performed. In the example of FIG. 1, X = 61.
[N] in the word 209 is the number of logical sectors included in one physical sector. In the example of FIG. 1, N = 2.
The sector size of the words 210 to 213 is the size of the logical sector, and is, for example, 512 B (bytes).

これらの情報は、記録メディアの制御部がアクセス可能な不揮発性メモリに記録されており、記録メディアの制御部が、デバイスドライバからのデバイス情報取得コマンドを受領した場合に、コマンドに対する応答としてデバイスドライバのアクセス制御部に返す。   These pieces of information are recorded in a non-volatile memory accessible by the control unit of the recording medium. When the control unit of the recording medium receives a device information acquisition command from the device driver, the device driver Return to the access control unit.

図12に示すフローに戻り、デバイスドライバの起動処理シーケンスについての説明を続ける。ステップS102において、デバイス識別処理[IDENRIFY DEVICE]を実行し、ステップS103において、記録メディア対応制御部から応答が受領されたか否かを判定する。正常な応答が受領された場合、すなわち、図13に示すデバイス情報が取得できた場合は、ステップS104に進み、正常な応答が受領されなかった場合、すなわち、図13に示すデバイス情報が取得できなかった場合は、ステップS105に進む。   Returning to the flow shown in FIG. 12, the description of the device driver activation processing sequence will be continued. In step S102, a device identification process [IDENRIFY DEVICE] is executed. In step S103, it is determined whether a response is received from the recording medium correspondence control unit. If a normal response is received, that is, if the device information shown in FIG. 13 can be acquired, the process proceeds to step S104. If a normal response is not received, that is, the device information shown in FIG. 13 can be acquired. If not, the process proceeds to step S105.

正常な応答が受領された場合は、デバイスドライバの制御部は、ステップS104において、記録メディア対応制御部から取得したデバイス情報に基づいて以下の処理を実行する。
ワード206〜208を読み出し、[X]としてRAMへ格納、
ワード209を読み出し、[N]としてRAMへ格納、
ワード210〜213を読み出し、[セクタサイズ]としてRAMへ格納
データ格納先としてのRAMは、デバイスドライバの制御部がアクセス可能なメモリ領域であり、例えば図11に示す構成中のメモリ370中の一部メモリ領域が利用される。
If a normal response is received, the control unit of the device driver executes the following processing based on the device information acquired from the recording medium correspondence control unit in step S104.
Read words 206-208 and store in RAM as [X],
Read word 209 and store in RAM as [N],
Read words 210 to 213 and store them in RAM as [sector size] RAM as a data storage destination is a memory area accessible by the control unit of the device driver, for example, one of the memories 370 in the configuration shown in FIG. A partial memory area is used.

具体的には、例えば、
ワード206〜208には、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点情報[X]として、図1の例では[61]が設定されており、
ワード209には、1物理セクタに含まれる論理セクタ数[N]として、図1の例では[2]が設定されており、
ワード210〜213のセクタサイズには、論理セクタのサイズ、例えば[512B(バイト)]が設定されており、
デバイスドライバの制御部は、
X=61、
N=2、
セクタサイズ=512B
これらの情報が、デバイスドライバの制御部がアクセス可能なメモリ領域、例えば図11に示す構成中のメモリ370中の一部メモリ領域に記録される。
Specifically, for example,
In the words 206 to 208, [61] is set in the example of FIG. 1 as the phase conversion point information [X] at which the phase change of the correspondence relationship between the logical sector and the physical sector occurs.
In the example of FIG. 1, [2] is set in the word 209 as the number of logical sectors [N] included in one physical sector.
The sector size of the words 210 to 213 is set to the size of the logical sector, for example, [512B (bytes)]
The control part of the device driver
X = 61,
N = 2,
Sector size = 512B
These pieces of information are recorded in a memory area accessible by the control unit of the device driver, for example, a partial memory area in the memory 370 having the configuration shown in FIG.

一方、ステップS103において、記録メディア対応制御部から正常な応答が受領されなかった場合、すなわち、図13に示すデバイス情報が取得できなかった場合は、ステップS105において、
X=0、
N=0、
セクタサイズ=512B
これらの情報が、デバイスドライバの制御部がアクセス可能なメモリ領域、例えば図11に示す構成中のメモリ370中の一部メモリ領域に記録される。
この処理は、正確な情報が得られない場合の暫定的な情報として予め設定されたデフォルト値をX,N,セクタサイズとしてメモリに記録する処理である。
On the other hand, if a normal response is not received from the recording medium correspondence control unit in step S103, that is, if the device information shown in FIG. 13 cannot be acquired, in step S105,
X = 0,
N = 0,
Sector size = 512B
These pieces of information are recorded in a memory area accessible by the control unit of the device driver, for example, a partial memory area in the memory 370 having the configuration shown in FIG.
This process is a process of recording in the memory default values preset as X, N, and sector size as provisional information when accurate information cannot be obtained.

その後、ステップS106に進み、初期化処理2として、上位アプリケーションからのコマンド入力待機状態への最終的な処理が実行される。この後、アプリケーションからのコマンドが入力され、入力に従った処理が実行可能となる。   Thereafter, the process proceeds to step S106, and as the initialization process 2, a final process of waiting for a command input from the upper application is executed. Thereafter, a command from the application is input, and processing according to the input can be executed.

次に、図14以下を参照してデバイスドライバの実行するリードモディファイライト(RMW:Read−Modify−Write)処理等の詳細シーケンスについて説明する。   Next, a detailed sequence such as a read-modify-write (RMW) process executed by the device driver will be described with reference to FIG.

図14は、例えばデバイスドライバのアクセス制御部の制御の下に実行されるリードモディファイライト(RMW:Read−Modify−Write)処理の実行を含むデータ書き込みにおける全体処理シーケンスを示すフローチャートである。図14に含まれる各処理の詳細シーケンスは図15以下に示している。すなわち、
図14のステップS201の書き込みリスト(Writeリスト)作成処理は、図15のフローチャート、
図14のステップS205の端数書き込み処理Aは、図16のフローチャート、
図14のステップS207の非端数書き込み処理は、図17のフローチャート、
図14のステップS209の端数書き込み処理Bは、図18のフローチャート、
である。
FIG. 14 is a flowchart illustrating an overall processing sequence in data writing including execution of a read-modify-write (RMW) process executed under the control of the access control unit of the device driver, for example. The detailed sequence of each process included in FIG. 14 is shown in FIG. That is,
The write list (Write list) creation process in step S201 in FIG.
The fraction writing process A in step S205 of FIG. 14 is a flowchart of FIG.
The non-fractional writing process in step S207 of FIG. 14 is a flowchart of FIG.
The fraction writing process B in step S209 of FIG. 14 is a flowchart of FIG.
It is.

図14のフローに従って、各処理ステップについて説明する。まず、ステップS201において、デバイスドライバは、書き込みリスト(Writeリスト)を生成する。書き込みリストは、情報記録媒体に対する記録データに対応して設定される情報リストであり、例えばアプリケーションから受領する書き込み開始LBAと書き込みセクタ数などに基づいて生成する情報から構成されるリストである。なお、デバイスドライバは、図6、図8を参照して説明したように、アプリケーションから受領した書き込みデータを格納する(M1)第1メモリ領域と、物理セクタ単位のデータが記録可能な(M2)RMW用メモリを利用可能である。   Each processing step will be described in accordance with the flow of FIG. First, in step S201, the device driver generates a write list (Write list). The write list is an information list set corresponding to the recording data for the information recording medium, and is a list composed of information generated based on, for example, the write start LBA received from the application and the number of write sectors. As described with reference to FIGS. 6 and 8, the device driver stores the write data received from the application (M1), and can record data in units of physical sectors (M2). An RMW memory can be used.

ステップS201の書き込みリスト(Writeリスト)生成処理の詳細シーケンスについて図15に示すフローチャートを参照して説明する。デバイスドライバのアクセス制御部は、アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なう。   A detailed sequence of the write list (Write list) generation process in step S201 will be described with reference to the flowchart shown in FIG. When recording processing of recording data input from an application, the access control unit of the device driver uses a logical block address (LBA) corresponding to the recording data and a sector count that is the number of sectors of the recording data as a management information list corresponding to the recording data. Then, a write list in which offset information which is offset information of the logical sector number is recorded is generated, and a recording process referring to the write list is performed.

まずデバイスドライバは、ステップS251において、アプリケーションから受領する書き込み開始LBAと書き込みセクタ数から書き込み終了LBAを算出する。この算出は、先に説明したように、
書き込み終了LBA=書き込み開始LBA+書き込みセクタ数−1
上記算出式に従って実行する。
First, in step S251, the device driver calculates a write end LBA from the write start LBA received from the application and the number of write sectors. This calculation, as explained earlier,
Write end LBA = write start LBA + number of write sectors−1
Execute according to the above formula.

ステップS252において、開始セクタ(LBA)と位相変化点(X)とを比較し、
開始セクタ(LBA)<位相変化点(X)
であるか否かを判定する。
In step S252, the start sector (LBA) is compared with the phase change point (X),
Start sector (LBA) <phase change point (X)
It is determined whether or not.

開始セクタ(LBA)<位相変化点(X)
である場合は、ステップS253に進み、
第1書き込みリスト(Writeリスト1)LBA=開始セクタ(LBA)
第1書き込みリスト(Writeリスト1)セクタカウント=受領セクタ数
第1書き込みリスト(Writeリスト1)オフセット=0
とする。
Start sector (LBA) <phase change point (X)
If yes, go to step S253,
First write list (Write list 1) LBA = start sector (LBA)
First write list (Write list 1) sector count = number of received sectors First write list (Write list 1) offset = 0
And

一方、ステップS252において、開始セクタ(LBA)<位相変化点(X)でないと判定された場合は、ステップS254に進み、
第1書き込みリスト(Writeリスト1)LBA=開始セクタ(LBA)−X
第1書き込みリスト(Writeリスト1)セクタカウント=セクタ数
第1書き込みリスト(Writeリスト1)オフセット=X
とする。
On the other hand, if it is determined in step S252 that start sector (LBA) <phase change point (X) is not satisfied, the process proceeds to step S254.
First write list (Write list 1) LBA = start sector (LBA) -X
First write list (Write list 1) sector count = number of sectors First write list (Write list 1) offset = X
And

これらの設定は、書き込み開始セクタが位相変化点[X]の前の場合は、ステップS253において、第1書き込みリストの設定を、アプリケーションから受領した書き込み開始LBAと書き込みセクタ数をそのまま用い、書き込み開始セクタが位相変化点[X]の後の場合は、ステップS254において、第1書き込みリストの設定を、アプリケーションから受領した書き込み開始LBAの調整として、[X]分の値要請を実行し、
第1書き込みリスト(Writeリスト1)LBA=開始セクタ(LBA)−X
第1書き込みリスト(Writeリスト1)オフセット=X
の調整を実行して書き込みリストを生成する処理を示している。
When the write start sector is before the phase change point [X], in step S253, the first write list is set using the write start LBA received from the application and the number of write sectors as they are. When the sector is after the phase change point [X], in step S254, the setting of the first write list is performed to adjust the write start LBA received from the application, and a value request for [X] is executed.
First write list (Write list 1) LBA = start sector (LBA) -X
First write list (Write list 1) offset = X
The process of generating the writing list by executing the adjustment is shown.

さらに、書き込み開始セクタが位相変化点[X]の前の場合は、ステップS253の処理の後、ステップS255において、書き込み終了LBAが位相変化点[X]以上であるか否かを検証して、書き込み終了LBAが位相変化点[X]以上である場合には、ステップS256において、第1書き込みリスとの更新および第2書き込みリスト(Writeリスト2)の生成処理を実行する。
第1書き込みリスト(Writeリスト1)セクタカウント=X−第1書き込みリストLBA
第2書き込みリスト(Writeリスト2)LBA=0
第2書き込みリスト(Writeリスト2)セクタカウント=セクタ数−第1書き込みリスト(Writeリスト1)セクタカウント=セクタ数
第2書き込みリスト(Writeリスト2)オフセット=X
とする。
この処理は、書き込み開始セクタが位相変化点[X]の前で、書き込み終了セクタが位相変化点[X]以後にある場合、位相変化点[X]の前の書き込みデータについては、第1書き込みリストを使用し、位相変化点[X]以後の書き込みデータについては、第2書き込みリストを使用するため、2つのリストを生成するものである。
Furthermore, when the write start sector is before the phase change point [X], after the process of step S253, in step S255, it is verified whether the write end LBA is equal to or greater than the phase change point [X]. If the write end LBA is equal to or greater than the phase change point [X], update processing with the first write list and generation processing of the second write list (Write list 2) are executed in step S256.
First write list (Write list 1) sector count = X−first write list LBA
Second write list (Write list 2) LBA = 0
Second write list (Write list 2) Sector count = number of sectors−First write list (Write list 1) Sector count = number of sectors Second write list (Write list 2) Offset = X
And
In this process, when the write start sector is before the phase change point [X] and the write end sector is after the phase change point [X], the write data before the phase change point [X] For the write data after the phase change point [X], two lists are generated because the second write list is used.

ステップS255において、書き込み終了LBAが位相変化点[X]以上でない場合は、ステップS256の処理は実行することなく、第1書き込みリストの生成のみの処理となる。   If the write end LBA is not greater than or equal to the phase change point [X] in step S255, the process of step S256 is not executed and only the first write list is generated.

例えば、アプリケーシヨンから、受領したデータが、
書き込み開始LBA=30、
書き込みセクタ数=200、
であり、図1に示すように位相変化点[X]=61である場合には第1書き込みリストと第2書き込みリストの2つのリストが生成される。それぞれのリストには以下のデータが設定される。
第1書き込みリスト
(a)第1書き込みリストLBA=30
(b)第1書き込みリストセクタカウント=X−30
(c)第1書き込みリストオフセット=0
第2書き込みリスト
(a)第2書き込みリストLBA=0
(b)第2書き込みリストセクタカウント=200−(X−30)
(c)第2書き込みリストオフセット=X
For example, the received data from the application
Write start LBA = 30,
Number of write sectors = 200,
In the case where the phase change point [X] = 61 as shown in FIG. 1, two lists of the first write list and the second write list are generated. The following data is set in each list.
First write list (a) First write list LBA = 30
(B) First write list sector count = X−30
(C) First write list offset = 0
Second write list (a) Second write list LBA = 0
(B) Second write list sector count = 200− (X−30)
(C) Second write list offset = X

この書き込みリスト(Writeリスト)の生成後、図14に示すフローのステップS202に進む。ステップS202では、(M1)第1メモリ領域に格納したデータの先頭の書き込みデータの開始位置に相当するアドレスを現在バッファアドレスとする初期設定を実行し、さらに、ステップS203において、
書き込みリスト(Writeリスト)の書き込み開始LBAを現在LBAとして設定し、
書き込みリスト(Writeリスト)の書き込みセクタ数を残り転送セクタ数として設定する。
なお、第1書き込みリストの他に第2書き込みリストがある場合は、第1書き込みリストから先に利用して処理を行なう。
After the generation of the writing list (Write list), the process proceeds to step S202 of the flow shown in FIG. In step S202, (M1) initial setting is performed in which an address corresponding to the start position of the first write data of the data stored in the first memory area is set as the current buffer address. Further, in step S203,
Set the write start LBA of the write list (Write list) as the current LBA,
The number of write sectors in the write list (Write list) is set as the number of remaining transfer sectors.
If there is a second write list in addition to the first write list, processing is performed using the first write list first.

次に、ステップS204において、書き込みリスト(Writeリスト)の論理セクタ(LBA)が、N、すなわち、
1物理セクタに含まれる論理セクタ数:N、
によって割り切れるか否かを検討する。
なお、[WriteリストLBA%N]は、WriteリストLBAをNで割った場合の値を示す。割り切れる場合は、ステップS206に進み、割り切れない場合は、ステップS205の端数書き込み処理Aを実行した後、ステップS206に進む。
Next, in step S204, the logical sector (LBA) of the write list (Write list) is N, that is,
Number of logical sectors included in one physical sector: N,
Whether it is divisible by.
Note that [Write list LBA% N] indicates a value when the Write list LBA is divided by N. If it is divisible, the process proceeds to step S206. If not divisible, the fraction writing process A in step S205 is executed, and then the process proceeds to step S206.

ステップS204において、書き込みリスト(Writeリスト)の論理セクタ(LBA)が1物理セクタに含まれる論理セクタ数:Nによって割り切れない場合のステップS205の端数書き込み処理Aの実行は、図6を参照して説明した処理、すなわち、書き込みデータの開始位置がリードモディファイライト(RMW)処理の対象となる場合である。   In step S204, when the logical sector (LBA) of the write list (write list) is not divisible by the number of logical sectors included in one physical sector: N, execution of the fractional write processing A in step S205 is described with reference to FIG. This is a case where the described process, that is, the start position of the write data is the target of the read modify write (RMW) process.

ステップS205の端数書き込み処理Aの詳細シーケンスについて、図16に示すフローチャートを参照して説明する。なお、端数書き込み処理とは、物理セクタ単位の論理セクタの書き込みデータがアプリケーションから受領されない論理セクタ部分の書き込み処理である。   The detailed sequence of the fraction writing process A in step S205 will be described with reference to the flowchart shown in FIG. The fraction write process is a write process of a logical sector part in which write data of a logical sector in physical sector units is not received from an application.

デバイスドライバは、図16に示すフローのステップS301において、端数書き込みセクタ数を、下式に従って算出する。
端数書き込みセクタ数=N−(WriteリストLBA%N)
この算出式によって、例えば図6に示すデータ[D1]部分に含まれるアプリケーションから受領したセクタ数が算出される。
In step S301 of the flow shown in FIG. 16, the device driver calculates the number of fractional write sectors according to the following equation.
Number of fractional write sectors = N-(Write list LBA% N)
For example, the number of sectors received from the application included in the data [D1] portion shown in FIG.

次に、ステップS302において、
残り転送セクタ数<端数書き込みセクタ数
上記が成立するか否かを検証する。この判定処理は、ステップS301で算出した端数書き込みセクタ数より残り転送セクタ数が小さいか否かを判定する処理であり、小さくない場合はステップS304に進み、小さい場合は、ステップS303に進み、
端数書き込みセクタ数=残り転送セクタ数
の設定を実行した後、ステップS304に進む。
Next, in step S302,
Number of remaining transfer sectors <number of fractional write sectors Verify whether the above holds. This determination process is a process for determining whether or not the remaining transfer sector number is smaller than the fractional write sector number calculated in step S301. If not, the process proceeds to step S304. If not, the process proceeds to step S303.
After setting the fraction write sector number = remaining transfer sector number, the process proceeds to step S304.

ステップS304では、
端数書き込みLBA=書き込みリスト(Writeリスト)LBA
端数書き込みオフセット=書き込みリスト(Writeリスト)オフセット
端数書き込みバッファアドレス=バッファアドレス
これらの設定を実行する。
このステップS304の処理は、端数書き込み処理を実行するデータの、書き込みリスト(Writeリスト)上のデータとの対応を設定するための処理である。
この処理の後、ステップS305において、端数書き込み処理、すなわちリードモディファイライト(RMW)処理を含むデータ書き込みが実行される。なお、このステップS305の処理については、図19を参照して後段で説明する。
In step S304,
Fraction write LBA = write list (Write list) LBA
Fraction write offset = write list (write list) offset fraction write buffer address = buffer address These settings are executed.
The process of step S304 is a process for setting the correspondence between the data for which the fraction write process is performed and the data on the write list (Write list).
After this processing, in step S305, fractional write processing, that is, data write including read modify write (RMW) processing is executed. Note that the processing in step S305 will be described later with reference to FIG.

ステップS305において、端数書き込み処理、すなわちリードモディファイライト(RMW)処理を含むデータ書き込みが実行された後、ステップS306において、データ更新、すなわち、
現在LBA+=端数書き込みセクタ数
残り転送セクタ数−=端数書き込みセクタ数
現在バッファアドレス+=端数書き込みセクタ数×512
これらの書き込みデータに対応する情報更新を実行する。
In step S305, after the fractional writing process, that is, the data writing including the read modify write (RMW) process is executed, in step S306, the data update, that is,
Current LBA + = Number of fractional writing sectors Number of remaining transfer sectors− = Number of fractional writing sectors Current buffer address + = Number of fractional writing sectors × 512
Information update corresponding to these write data is executed.

すなわち、現在LBAを端数書き込みセクタ数分増加させ、残り転送セクタ数を端数書き込みセクタ数分減少させ、現在バッファアドレスを端数書き込みセクタ数×512分増加させる。なお、本例では、1セクタ(論理セクタ)=512バイトの設定であり、アドレスはバイトデータとして設定される例である。   That is, the current LBA is increased by the fractional writing sector number, the remaining transfer sector number is decreased by the fractional writing sector number, and the current buffer address is increased by the fractional writing sector number × 512. In this example, 1 sector (logical sector) = 512 bytes is set, and the address is set as byte data.

この端数書き込み処理Aが終了すると、図14のステップS206に進み、残り転送セクタ数が[N]、すなわち、
1物理セクタに含まれる論理セクタ数[N]以上のセクタ数(論理セクタ数)であるか否かを判定する。残り転送セクタ数がNセクタ(論理セクタ数)未満である場合は、ステップS208に進み、残り転送セクタ数がNセクタ(論理セクタ数)以上である場合は、ステップS207で、非端数書き込み処理を実行した後、ステップS208に進む。
When the fraction writing process A is completed, the process proceeds to step S206 in FIG. 14, and the remaining transfer sector number is [N], that is,
It is determined whether or not the number of sectors (number of logical sectors) is equal to or greater than the number of logical sectors [N] included in one physical sector. If the remaining transfer sector number is less than N sectors (logical sector number), the process proceeds to step S208. If the remaining transfer sector number is N sectors (logical sector number) or more, non-fractional writing processing is performed in step S207. After execution, the process proceeds to step S208.

ステップS207の非端数書き込み処理は、例えば図6に示すデータ[D2]部分の書き込み処理に相当する。すなわち物理セクタ単位でアプリケーションから書き込みデータを受領してデータ書き込みを行える部分のデータ記録処理である。   The non-fractional writing process in step S207 corresponds to, for example, the writing process of the data [D2] portion illustrated in FIG. That is, it is a data recording process of a portion where write data is received from an application in units of physical sectors and data can be written.

ステップS207の非端数書き込み処理の詳細シーケンスについて、図17に示すフローを参照して説明する。この処理は、物理セクタ単位での書き込みデータがアプリケーションから受領されるデータ区間であり、先に、図6等を参照して説明したように、リードモディファイライト(RMW)を伴わないデータ記録処理として実行される。   A detailed sequence of the non-fractional writing process in step S207 will be described with reference to the flow shown in FIG. This process is a data section in which write data in units of physical sectors is received from an application. As described above with reference to FIG. 6 and the like, as a data recording process that does not involve read-modify-write (RMW). Executed.

まず、ステップS351において、データ記録処理に適用するコマンドの設定処理として、
コマンド発行LBA=現在LBA+Writeリストオフセット
コマンド発行セクタ数=(残り転送セクタ数÷N)×N
コマンド発行バッファアドレス=現在バッファアドレス
これらの設定を行う。これは、物理セクタ単位での書き込みの可能なデータ区間において、論理セクタ対応のコマンド発行LBA、コマンド発行セクタ数、コマンドセ発行バッファアドレスの設定を行うものであり、図6に示す(M1)をバッファとして記録媒体に対する書き込みを実行するメディア(HDD)にデータを渡すための設定である。ステップS352ではステップS351で設定した情報に従って書き込みコマンドを発行し、物理セクタ単位でのデータ書き込みが実行される。この処理によって、物理セクタ単位の書き込みが残り転送セクタ数に応じて連続して実行される。
First, in step S351, as a command setting process applied to the data recording process,
Command issue LBA = Current LBA + Write list offset Command issue sector number = (remaining transfer sector number / N) × N
Command issue buffer address = current buffer address Make these settings. This is for setting a command issue LBA corresponding to a logical sector, a command issue sector number, and a command issue buffer address in a data section in which data can be written in units of physical sectors, and (M1) shown in FIG. Is a setting for passing data to a medium (HDD) that executes writing to the recording medium. In step S352, a write command is issued according to the information set in step S351, and data writing is executed in units of physical sectors. By this processing, writing in units of physical sectors is continuously executed according to the number of remaining transfer sectors.

この書き込み処理の終了後、ステップS353において、データ更新、すなわち、
現在LBA+=コマンド発行セクタ数
残り転送セクタ数−=コマンド発行セクタ数
現在バッファアドレス+=コマンド発行×512
これらの書き込みデータに対応する情報更新を実行する。
すなわち、現在LBAをコマンド発行セクタ数分増加させ、残り転送セクタ数をコマンド発行セクタ数分減少させ、現在バッファアドレスをコマンド発行セクタ数×512分増加させる。なお、本例では、1セクタ(論理セクタ)=512バイトの設定であり、アドレスはバイトデータとして設定される例である。
After the end of the writing process, in step S353, data update, that is,
Current LBA + = Number of command issuing sectors Number of remaining transfer sectors− = Number of command issuing sectors Current buffer address + = Command issuing × 512
Information update corresponding to these write data is executed.
That is, the current LBA is increased by the number of command issuing sectors, the number of remaining transfer sectors is decreased by the number of command issuing sectors, and the current buffer address is increased by the number of command issuing sectors × 512. In this example, 1 sector (logical sector) = 512 bytes is set, and the address is set as byte data.

この非端数書き込み処理が終了すると、図14のステップS208に進み、残り転送セクタ数が0以上のセクタ数(論理セクタ数)であるか否かを判定する。残り転送セクタ数が0である場合は、ステップS210に進み、残り転送セクタ数が0セクタ(論理セクタ数)以上である場合は、ステップS209で、端数書き込み処理Bを実行した後、ステップS210に進む。   When the non-fractional number writing process is completed, the process proceeds to step S208 in FIG. 14, and it is determined whether or not the remaining transfer sector number is the sector number (logical sector number) equal to or greater than zero. If the remaining transfer sector number is 0, the process proceeds to step S210. If the remaining transfer sector number is 0 sector (logical sector number) or more, the fraction write process B is executed in step S209, and then the process proceeds to step S210. move on.

ステップS209の端数書き込み処理Bは、例えば図8に示すデータ[D1]部分の書き込み処理に相当する。データ記録終了位置において、物理セクタ単位でアプリケーションから書き込みデータが受領されず、リードモディファイライト(RMW)を伴うデータ記録処理として実行される。   The fraction writing process B in step S209 corresponds to the writing process of the data [D1] portion shown in FIG. 8, for example. At the data recording end position, write data is not received from the application in units of physical sectors, and is executed as a data recording process involving read modify write (RMW).

ステップS209の端数書き込み処理Bの詳細シーケンスについて、図18に示すフローを参照して説明する。この処理は、物理セクタ単位での書き込みデータがアプリケーションから受領されないデータ区間であり、先に、図8等を参照して説明したように、リードモディファイライト(RMW)を伴うデータ記録処理として実行される。   The detailed sequence of the fraction writing process B in step S209 will be described with reference to the flow shown in FIG. This process is a data section in which write data in units of physical sectors is not received from the application, and is executed as a data recording process with read-modify-write (RMW) as described above with reference to FIG. The

まず、ステップS401において、
端数書き込みLBA=現在LBA
端数書き込みオフセット=書き込みリスト(Writeリスト)オフセット
端数書き込みセクタ数=残り転送セクタ数
端数書き込みバッファアドレス=バッファアドレス
これらの設定を実行する。
このステップS401の処理は、端数書き込み処理を実行するデータの、書き込みリスト(Writeリスト)上のデータとの対応を設定するための処理である。
この処理の後、ステップS402において、端数書き込み処理、すなわちリードモディファイライト(RMW)処理を含むデータ書き込みが実行される。なお、このステップS402の処理については、図19を参照して後段で説明する。
First, in step S401,
Fractions written LBA = current LBA
Fraction write offset = write list (write list) offset fraction write sector number = remaining transfer sector number fraction write buffer address = buffer address These settings are executed.
The process of step S401 is a process for setting the correspondence between the data for which the fractional writing process is executed and the data on the writing list (Write list).
After this processing, in step S402, fractional write processing, that is, data write including read modify write (RMW) processing is executed. Note that the processing in step S402 will be described later with reference to FIG.

ステップS402において、端数書き込み処理、すなわちリードモディファイライト(RMW)処理を含むデータ書き込みが実行された後、ステップS403において、データ更新、すなわち、
現在LBA+=端数書き込みセクタ数
残り転送セクタ数−=端数書き込みセクタ数
現在バッファアドレス+=端数書き込みセクタ数×512
これらの書き込みデータに対応する情報更新を実行する。
In step S402, after data writing including fractional write processing, that is, read modify write (RMW) processing, is performed, in step S403, data update,
Current LBA + = Number of fractional writing sectors Number of remaining transfer sectors− = Number of fractional writing sectors Current buffer address + = Number of fractional writing sectors × 512
Information update corresponding to these write data is executed.

すなわち、現在LBAを端数書き込みセクタ数分増加させ、残り転送セクタ数を端数書き込みセクタ数分減少させ、現在バッファアドレスを端数書き込みセクタ数×512分増加させる。なお、本例では、1セクタ(論理セクタ)=512バイトの設定であり、アドレスはバイトデータとして設定される例である。   That is, the current LBA is increased by the fractional writing sector number, the remaining transfer sector number is decreased by the fractional writing sector number, and the current buffer address is increased by the fractional writing sector number × 512. In this example, 1 sector (logical sector) = 512 bytes is set, and the address is set as byte data.

この端数書き込み処理Bが終了すると、図14のステップS210に進み、第2書き込みリスト(Writeリスト2)があるか否かを判定し、ある場合は、ステップS203に戻り、第2書き込みリスト(Writeリスト2)について、ステップS203以下の処理を実行する。   When this fractional writing process B is completed, the process proceeds to step S210 in FIG. 14 to determine whether or not there is a second write list (Write list 2). If there is, the process returns to step S203, and the second write list (Write) For list 2), the processing from step S203 is executed.

このようにして、記録データの開始位置に端数データがある場合と、記録データの終了位置に端数データがある場合には、それぞれ端数書き込み処理A、端数書き込み処理Bにおいてリードモディファイライト(RMW)を伴うデータ記録処理が実行される。   In this way, when there is fraction data at the start position of the record data and when there is fraction data at the end position of the record data, read modify write (RMW) is performed in the fraction write process A and the fraction write process B, respectively. The accompanying data recording process is executed.

図16のフローにおけるステップS305と、図18のフローにおけるステップS402の端数書き込み処理の詳細シーケンスについて、図19に示すフローチャートを参照して説明する。   A detailed sequence of the fraction writing process in step S305 in the flow of FIG. 16 and step S402 in the flow of FIG. 18 will be described with reference to the flowchart shown in FIG.

まず、端数書き込み処理の最初のステップS451では、端数書き込み開始LBAを以下の算出式に従って設定する。
端数書き込み開始LBA=端数書き込みLBA+端数書き込みオフセット
さらに、位相変化直前LBAを以下の式に従って算出する。
位相変化直前LBA=(X÷N)×N
なお、(X÷N)は、位相変化点[X]を1物理セクタに含まれる論理セクタ数[N]で割った場合の整数部分を意味する。例えば、図1を参照して説明した例では、
N=2、
X=61であり、
(X÷N)=30となり、
位相変化直前LBA=(X÷N)×N
=30×2=60
として位相変化直前LBA=60が算出される。
First, in the first step S451 of the fraction writing process, the fraction writing start LBA is set according to the following calculation formula.
Fractional write start LBA = fractional write LBA + fractional write offset Further, the LBA immediately before the phase change is calculated according to the following equation.
LBA immediately before phase change = (X ÷ N) × N
Note that (X ÷ N) means an integer part when the phase change point [X] is divided by the number of logical sectors [N] included in one physical sector. For example, in the example described with reference to FIG.
N = 2,
X = 61,
(X ÷ N) = 30
LBA immediately before phase change = (X ÷ N) × N
= 30 × 2 = 60
LBA = 60 immediately before the phase change is calculated.

次に、ステップS452において、ステップS451で算出した[位相変化直前LBA]と、[端数書き込み開始LBA]と位相変換点[X]を比較する。
位相変化直前LBA≦端数書き込み開始LBA<X
上記比較式が成立する場合は、ステップS455に進む。上記比較式が成立しない場合は、ステップS453に進む。
Next, in step S452, [LBA immediately before phase change] calculated in step S451, [fraction writing start LBA], and phase conversion point [X] are compared.
LBA immediately before phase change ≦ start of fraction writing LBA <X
If the above comparison expression holds, the process proceeds to step S455. If the comparison expression is not satisfied, the process proceeds to step S453.

上記比較式が成立する場合は、端数書き込み開始LBAが、位相変化直前LBA以上でかつX以下において発生する特殊な例である。この特殊な例以外は、ステップS453に進む。ステップS453では、端数書き込み処理用のコマンド等の設定を実行する。具体的には、
コマンド発行LBA=(端数書き込みLBA÷N)×N+端数書き込みオフセット
コマンド発行バッファアドレス=RMW用バッファアドレス
コマンド発行セクタ数=N
モディファイ用バッファアドレスA=RMW用バッファアドレス+(端数書き込みLBA%N)×512
モディファイ用バッファアドレスB=端数書き込みバッファアドレス
モディファイサイズ=端数書き込みセクタ×512
これらの設定を実行する。
When the above comparison formula is satisfied, this is a special example that occurs when the fractional write start LBA is not less than the LBA immediately before the phase change and not more than X. Except for this special example, the process proceeds to step S453. In step S453, setting of a command for fraction writing processing and the like is executed. In particular,
Command issue LBA = (fraction write LBA ÷ N) × N + fraction write offset Command issue buffer address = RMW buffer address Command issue sector number = N
Modify buffer address A = RMW buffer address + (fractional write LBA% N) × 512
Modify buffer address B = fraction write buffer address Modify size = fraction write sector x 512
Perform these settings.

なお、(端数書き込みLBA÷N)は、端数書き込みLBAをNで割ったときの整数値である。
コマンド発行LBAを、(端数書き込みLBA÷N)×N+端数書き込みオフセットとして設定し、コマンド発行バッファアドレスをRMW用バッファアドレスとする。なお、RMW用バッファは、例えば、図6(2)や図8(2)に示す(M2)RMW用メモリ領域に相当する。
Note that (fractional write LBA ÷ N) is an integer value when the fractional write LBA is divided by N.
The command issue LBA is set as (fractional write LBA ÷ N) × N + fractional write offset, and the command issue buffer address is set as the RMW buffer address. The RMW buffer corresponds to, for example, the (M2) RMW memory area shown in FIG. 6B or FIG.

さらに、コマンド発行セクタ数を1つの物理セクタに対応する論理セクタ数であるNとする。これは物理セクタ単位の書き込みを実行することを意味する。さらに、
モディファイ用バッファアドレスA=RMW用バッファアドレス+(端数書き込みLBA%N)×512として、
モディファイ用バッファアドレスB=端数書き込みバッファアドレス
とする。
モディファイ用バッファアドレスAは、例えば図6(2)、図8(2)に示す(M2)RMW用メモリ領域のアドレスAであり、モディファイ用バッファアドレスBは、例えば図6(2)、図8(2)に示す(M1)第1メモリ領域のアドレスBである。さらに、モディファイサイズ=端数書き込みセクタ×512とする。本例では、論理セクタは512バイトであるとしている。
Further, the number of command issuing sectors is N, which is the number of logical sectors corresponding to one physical sector. This means that writing is performed in units of physical sectors. further,
Modify buffer address A = RMW buffer address + (fractional write LBA% N) × 512
Modify buffer address B = fractional write buffer address.
The modification buffer address A is, for example, the address A of the (M2) RMW memory area shown in FIGS. 6 (2) and 8 (2), and the modification buffer address B is, for example, FIG. 6 (2), FIG. (M1) shown in (2) is the address B of the first memory area. Further, modify size = fractional writing sector × 512. In this example, the logical sector is assumed to be 512 bytes.

次に、ステップS454において、リードモディファイライト処理を実行する。このリードモディファイライト処理の処理シーケンスを図20に示すフローチャートを参照して説明する。この処理は、先に、図6、図8を参照して説明した処理であり、物理セクタ単位で記録メディアから読み出したデータを(M2)RMW用メモリ領域に保持した上で、(M1)第1メモリ領域のデータを(M2)RMW用メモリ領域にコピーして、データ更新を実行して、物理セクタ単位で記録メディアに記録する処理である。   Next, in step S454, read modify write processing is executed. A processing sequence of this read-modify-write process will be described with reference to a flowchart shown in FIG. This process is the process described above with reference to FIGS. 6 and 8. The data read from the recording medium in units of physical sectors is held in the (M2) RMW memory area, and (M1) In this process, data in one memory area is copied to the (M2) RMW memory area, the data is updated, and is recorded on a recording medium in units of physical sectors.

ステップS501において、リードモディファイライト処理を実行する対象となる論理セクタを含む物理セクタを読み出して、図6や図8に示す(M2)RMW用メモリ領域に保持し、ステップS502において、モディファイ用バッファアドレスBから、モディファイ用バッファアドレスAへモディファイサイズ分コピー処理を実行して、ステップS503において、書き込みコマンドを発行し、(M2)RMW用メモリ領域においてデータ更新のなされたデータを物理セクタ単位で記録メディアに記録する。この処理によって、図19に示すステップS454の処理が実行される。   In step S501, the physical sector including the logical sector that is the target of the read-modify-write process is read and held in the (M2) RMW memory area shown in FIGS. 6 and 8, and in step S502, the modify buffer address Copy processing from B to the modification buffer address A for the modification size, issue a write command in step S503, and (M2) record the data updated in the RMW memory area in units of physical sectors. To record. By this process, the process of step S454 shown in FIG. 19 is executed.

図19のフローにおけるステップS452の判定において、
位相変化直前LBA≦端数書き込み開始LBA<X
上記比較式が成立すると判定された場合は、ステップS455に進む。上記比較式が成立する場合は、端数書き込み開始LBAが、位相変化直前LBA以上でかつX以下において発生する特殊な例である。この特殊な例の場合は、
ステップS455において、
X−位相変化直前LBA==端数書き込みセクタ数
が成立するか否かを判定する。
例えば、図1に示すX=61の場合、位相変化直前LBA=60となり、端数書き込みセクタ数=61−60=1が成立するか否かを判定する。
In the determination of step S452 in the flow of FIG.
LBA immediately before phase change ≦ start of fraction writing LBA <X
If it is determined that the comparison formula is satisfied, the process proceeds to step S455. When the above comparison formula is satisfied, this is a special example that occurs when the fractional write start LBA is not less than the LBA immediately before the phase change and not more than X. For this special case,
In step S455,
It is determined whether or not the LBA immediately before the X-phase change == the fractional write sector number.
For example, in the case of X = 61 shown in FIG. 1, it is determined whether LBA immediately before phase change = 60, and whether fractional write sector number = 61−60 = 1 is satisfied.

X−位相変化直前LBA==端数書き込みセクタ数
上記式が成立する場合は、ステップS456において、端数書き込み処理用のコマンド等の設定を実行し、上記式が成立しない場合は、ステップS458において、端数書き込み処理用のコマンド等の設定を実行する。すなわち、端数書き込みセクタ数が位相変化点の直前まで存在するか否かによって、設定コマンドを変更するものである。
X—LBA immediately before phase change == number of fractional writing sectors If the above equation is satisfied, setting of commands for fractional writing processing is executed in step S456. If the above equation is not satisfied, a fractional number is calculated in step S458. Executes command setting for write processing. That is, the setting command is changed depending on whether or not the number of fractional writing sectors exists until just before the phase change point.

上記式が成立する場合、すなわち、端数書き込みセクタ数が位相変化点の直前まで存在する場合は、ステップS456において端数書き込み処理用のコマンド等の設定を以下のように実行する。すなわち、
コマンド発行LBA=(端数書き込みLBA÷N)×N+端数書き込みオフセット
コマンド発行バッファアドレス=RMW用バッファアドレス
コマンド発行セクタ数=端数書き込みセクタ数
これらのコマンドを設定語、ステップS457において書き込みコマンドを実行する。このような場合は、リードモディファイライト処理は実行することなく、端数データのみの書き込みが実行される。
If the above equation holds, that is, if the fractional write sector number exists just before the phase change point, the setting of the fractional write processing command and the like is executed as follows in step S456. That is,
Command issue LBA = (fraction write LBA ÷ N) × N + fraction write offset Command issue buffer address = RMW buffer address Command issue sector number = fraction write sector number These commands are set words, and a write command is executed in step S457. In such a case, only the fraction data is written without executing the read-modify-write process.

一方、上記式が成立しない場合、すなわち、端数書き込みセクタ数が位相変化点の直前まで存在しない場合は、ステップS458において端数書き込み処理用のコマンド等の設定を以下のように実行する。すなわち、
コマンド発行LBA=(端数書き込みLBA÷N)×N+端数書き込みオフセット
コマンド発行バッファアドレス=RMW用バッファアドレス
コマンド発行セクタ数=N
モディファイ用バッファアドレスA=RMW用バッファアドレス+(端数書き込みLBA%N)×512
モディファイ用バッファアドレスB=端数書き込みバッファアドレス
モディファイサイズ=端数書き込みセクタ×512
これらの設定を実行する。
On the other hand, if the above equation does not hold, that is, if the number of fractional write sectors does not exist until just before the phase change point, the setting of the fractional write processing command and the like is executed as follows in step S458. That is,
Command issue LBA = (fraction write LBA ÷ N) × N + fraction write offset Command issue buffer address = RMW buffer address Command issue sector number = N
Modify buffer address A = RMW buffer address + (fractional write LBA% N) × 512
Modify buffer address B = fraction write buffer address Modify size = fraction write sector x 512
Perform these settings.

これらの処理の後、ステップS454の処理、すなわち、図20を参照して説明したリードモディファイライト処理が実行される。   After these processes, the process of step S454, that is, the read modify write process described with reference to FIG. 20 is executed.

このようにして、本発明の情報処理装置では、アプリケーションからデバイスドライバに渡された記録データについて検証し、記録開始セクタあるいは記録終了セクタに端数の論理セクタが存在する場合、すなわち、物理セクタ単位での書き込みデータの一部が欠落している場合に、特殊な場合、すなわち、図19に示すステップS435の判定がYesとなる場合を除いて、リードモディファイライトを実行する。すなわちデバイスドライバが物理セクタ単位のデータを記録メディアから取得して、その取得データをRMW用メモリ領域に保持して、アプリケーションから受領した更新された論理セクタデータをコピーして、その後、物理セクタ単位のデータとして記録メディア(HDDなど)に出力する構成とした。   In this manner, the information processing apparatus of the present invention verifies the recording data passed from the application to the device driver, and if there are fractional logical sectors in the recording start sector or recording end sector, that is, in units of physical sectors. The read-modify-write is executed except for a special case, that is, when the determination in step S435 shown in FIG. 19 is Yes. That is, the device driver acquires data in units of physical sectors from the recording medium, holds the acquired data in the RMW memory area, copies the updated logical sector data received from the application, and then stores the data in units of physical sectors Data is output to a recording medium (such as an HDD).

すなわち、本発明の情報処理装置のデバイスドライバのアクセス制御部は、論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力する処理を実行して、メディア対応制御部が、アクセス制御部から、記録データを入力して、論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行する。アクセス制御部は、このデータ記録処理に際して、メディア対応制御部に対するデバイス情報取得要求、すなわち、IDENTIFY Deviceコマンドを出力して、メディア対応制御部から、該コマンドに対応する戻り値として、1物理セクタに含まれる論理セクタ数[N]情報を取得し、この取得情報[N]を適用して、アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータをメディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する。   That is, the access control unit of the device driver of the information processing apparatus according to the present invention executes a process of outputting recording data for a recording medium input from an application that generates recording data in units of logical sectors to the media correspondence control unit. The corresponding control unit inputs the recording data from the access control unit, and executes data recording processing on the recording medium in units of physical sectors different from the logical sectors. In this data recording process, the access control unit outputs a device information acquisition request to the media correspondence control unit, that is, an IDENTIFY Device command, and returns from the media correspondence control unit to one physical sector as a return value corresponding to the command. The number of logical sectors included [N] is acquired, and the acquired information [N] is applied, and the recording start position or recording end position of the recording data input from the application in units of logical sectors is managed by the media correspondence control unit. Verify whether it is different from the physical sector division position that is the access unit for the media to be recorded, and if it is different, obtain the recording data of physical sector unit via the media correspondence control unit, store it in the memory, and store the stored physical A sector in which part of the sector data is input from the application. Update the record data of the unit, the physical sector data after update processing to execute the read-modify-write (RMW) process for outputting the media corresponding control unit.

なお、アクセス制御部は、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]情報や、セクタサイズ情報を取得し、これらの情報を適用して、アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する場合もある。   Note that the access control unit, as a response corresponding to the device information acquisition request from the media correspondence control unit, phase conversion point [X] information where the phase change of the correspondence relationship between the logical sector and the physical sector occurs, sector size information And applying these pieces of information, the recording start position or recording end position of the recording data input from the application in logical sector units is the physical sector segment position that is an access unit to the medium managed by the media control unit. There is a case where a process of verifying whether or not they are different is executed.

デバイスドライバのアクセス制御部では、リードモディファイライト(RMW)処理の実行に際して、図6、図8を参照して説明したように、アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行する。   In the device driver access control unit, as described with reference to FIGS. 6 and 8, when executing the read-modify-write (RMW) process, the first memory area for storing recording data input in units of logical sectors from the application From the read modification write (RMW) memory area, the logical sector data to be read modified write (RMW) is copied.

また、アクセス制御部は、アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なう。さらに、リスト生成に際して、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、アプリケーションから論理セクタ単位で入力する記録データが、位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する。   Further, the access control unit, when recording the recording data input from the application, as a management information list corresponding to the recording data, a logical block address (LBA) corresponding to the recording data, a sector count that is the number of sectors of the recording data, A write list in which offset information which is offset information of the logical sector number is recorded is generated, and a recording process with reference to the write list is performed. Further, when the list is generated, there is a phase conversion point [X] where the phase change of the correspondence relationship between the logical sector and the physical sector occurs, and the recording data input in units of logical sectors from the application is the phase conversion point [X]. In the case of data extending back and forth, a first writing list for recording data before the phase conversion point [X] and a second writing list for recording data after the phase conversion point [X] are generated.

[5.情報処理装置のハードウェア構成例]
次に、上述した処理を実行する情報処理装置の構成例として、デジタルビデオカメラと、PCの装置構成例について、図21、図22を参照して説明する。
[5. Hardware configuration example of information processing apparatus]
Next, as a configuration example of an information processing apparatus that performs the above-described processing, a configuration example of a digital video camera and a PC will be described with reference to FIGS.

まず、図21を参照してデジタルビデオカメラの構成例について説明する。デジタルビデオカメラは、画像を撮像して、撮像することにより得た画像データをドライブ432を介して磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の各種情報記録媒体に記録する撮像モードと、画像入出力部414や音声入出力部416あるいは通信部431を通じて供給を受けたデータを記録媒体に記録したり、記録媒体に記録されているデータを再生したりするVTRモードとを備えたものである。   First, a configuration example of a digital video camera will be described with reference to FIG. The digital video camera captures an image and records image data obtained by capturing the image data on various information recording media such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory via the drive 432, and an image. It is provided with a VTR mode in which data supplied through the input / output unit 414, the audio input / output unit 416 or the communication unit 431 is recorded on a recording medium, and data recorded on the recording medium is reproduced. .

撮像モードは、動画を撮像すると共に、これと同時に収音するようにした音声とを記録媒体に記録する動画撮像モードと、静止画を撮像する静止画撮像モードとを備えている。また、VTRモード時においては、記録ボタンスイッチなどによって構成される操作入力部420を操作することにより供給されるデータの記録が行われるようにされ、再生ボタンスイッチを操作することにより記録媒体に記録されている目的とするデータを再生することができる。   The imaging mode includes a moving image imaging mode in which a moving image is captured and simultaneously recorded sound is recorded on a recording medium, and a still image imaging mode in which a still image is captured. In the VTR mode, the supplied data is recorded by operating the operation input unit 420 including a recording button switch, and the recording is performed on the recording medium by operating the playback button switch. The target data can be reproduced.

図21に示すように、デジタルビデオカメラは、光学レンズ部411、光電変換部412、カメラ機能制御部402、画像信号処理部413、画像入出力部414、液晶ディスプレイ415、音声入出力部416、音声信号処理部417、通信部431、制御部(CPU)401、内蔵メモリ(RAM)418、内蔵メモリ(ROM)419、操作入力部420、情報記録媒体に対するドライブ432、さらに、各構成部に対する電力供給を行なう電源441を備えたものである。   As shown in FIG. 21, a digital video camera includes an optical lens unit 411, a photoelectric conversion unit 412, a camera function control unit 402, an image signal processing unit 413, an image input / output unit 414, a liquid crystal display 415, an audio input / output unit 416, Audio signal processing unit 417, communication unit 431, control unit (CPU) 401, built-in memory (RAM) 418, built-in memory (ROM) 419, operation input unit 420, drive 432 for the information recording medium, and power for each component A power supply 441 for supplying power is provided.

制御部(CPU)401は、ROM419に格納された各種の処理プログラムに従って処理を実行する。RAM418は、各処理において途中結果を一時記憶するなど、主に作業領域として用いられる。先に、図6、図8を参照して説明した(M1)第1メモリ、(M2)RMW用メモリなどが設定される。   A control unit (CPU) 401 executes processing according to various processing programs stored in the ROM 419. The RAM 418 is mainly used as a work area such as temporarily storing intermediate results in each process. The (M1) first memory, (M2) RMW memory, etc. described with reference to FIGS. 6 and 8 are set.

操作入力部401は、動画撮影モード、静止画撮影モード、VTRモードなどの動作モードを切り換えるモード切り換えキー、静止画の撮影のためのシャッターキー、動画を撮影するための撮影開始キー、録画キー、再生キー、停止キー、早送りキー、早戻しキーなどの種々の操作キーや機能キーなどを備え、ユーザからの操作入力を受け付けて、受け付けた操作入力に応じた電気信号を制御部(CPU)401に供給する。   The operation input unit 401 includes a mode switching key for switching operation modes such as a moving image shooting mode, a still image shooting mode, a VTR mode, a shutter key for shooting a still image, a shooting start key for shooting a movie, a recording key, Various operation keys and function keys such as a reproduction key, a stop key, a fast-forward key, and a fast-rewind key are provided, and an operation input from the user is received and an electric signal corresponding to the received operation input is transmitted to the control unit (CPU) 401. To supply.

制御部(CPU)401は、ユーザからの操作入力に応じて、目的とする処理を行うためのプログラムをROM419から読み出して実行し、各部を制御することによって、ユーザからの指示に応じた処理の制御を行う。デジタルビデオカメラは、情報記録媒体として、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の各種情報記録媒体を装着可能であり、これらの情報記録媒体にドライブ432を介して各種の情報を記録し、また、これらの情報記録媒体に記録された情報を再生する。磁気ディスクとしてのハードディスクは例えば先に図1を参照して説明したような設定である。   The control unit (CPU) 401 reads out and executes a program for performing a target process from the ROM 419 in accordance with an operation input from the user, and controls each unit to perform a process according to an instruction from the user. Take control. The digital video camera can mount various information recording media such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory as an information recording medium, and record various kinds of information on these information recording media via a drive 432. Also, the information recorded on these information recording media is reproduced. The hard disk as the magnetic disk is set as described above with reference to FIG.

次に、図22を参照して、上述した処理を実行する情報処理装置の一例としてのPCのハードウェア構成例について説明する。CPU(Central Processing Unit)501は、OS(Operating System)に対応する処理や、上述の実施例において説明したデータ記録、あるいはデータ再生処理などを実行するデータ処理部として機能する。これらの処理は、情報処理装置のROM、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。   Next, a hardware configuration example of a PC as an example of an information processing apparatus that performs the above-described processing will be described with reference to FIG. A CPU (Central Processing Unit) 501 functions as a data processing unit that executes processing corresponding to an OS (Operating System), data recording, or data reproduction processing described in the above-described embodiments. These processes are executed according to a computer program stored in a data storage unit such as a ROM or a hard disk of the information processing apparatus.

ROM(Read Only Memory)502は、CPU501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)503は、CPU501の実行において使用するプログラムや、その実行において適宜変化するパラメータ、前述の図6、図8を参照して説明した(M1)第1メモリ、(M2)RMW用メモリなどが設定される。これらはCPUバスなどから構成されるホストバス504により相互に接続されている。前述した管理情報の記録処理に際しても、RAM503を作業領域としてデータの更新などが実行される。   A ROM (Read Only Memory) 502 stores programs used by the CPU 501, calculation parameters, and the like. A RAM (Random Access Memory) 503 is a program used in the execution of the CPU 501, parameters that change as appropriate during the execution, (M 1) the first memory described with reference to FIGS. 6 and 8, (M 2) RMW Memory etc. are set. These are connected to each other by a host bus 504 including a CPU bus. Also in the management information recording process described above, data update or the like is executed using the RAM 503 as a work area.

ホストバス504は、ブリッジ505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス506に接続されている。   The host bus 504 is connected to an external bus 506 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 505.

キーボード508、ポインティングデバイス509は、ユーザにより操作される入力デバイスである。ディスプレイ510は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。   A keyboard 508 and a pointing device 509 are input devices operated by the user. The display 510 includes a liquid crystal display device, a CRT (Cathode Ray Tube), or the like, and displays various types of information as text and images.

HDD(Hard Disk Drive)511は、ハードディスクを内蔵し、ハードディスクを駆動する。ハードディスクは例えば先に図1を参照して説明した設定を持つ。また、ハードディスクは、画像データファイルの格納領域として利用されるとともに、データ処理プログラム等、各種コンピュータ・プログラムが格納される。   An HDD (Hard Disk Drive) 511 has a built-in hard disk and drives the hard disk. The hard disk has, for example, the settings described above with reference to FIG. The hard disk is used as an image data file storage area and stores various computer programs such as a data processing program.

ドライブ512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体521に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース507、外部バス506、ブリッジ505、およびホストバス504を介して接続されているRAM503に供給する。   The drive 512 reads data or a program recorded on a removable recording medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and the data or program is read out from the interface 507 and the external bus 506. , And supplied to the RAM 503 connected via the bridge 505 and the host bus 504.

接続ポート514は、外部接続機器522を接続するポートであり、USB,IEEE1394等の接続部を持つ。接続ポート514は、インタフェース507、および外部バス506、ブリッジ505、ホストバス504等を介してCPU501等に接続されている。通信部515は、ネットワークに接続され、その他の情報処理装置との通信を実行する。   The connection port 514 is a port for connecting the external connection device 522 and has a connection unit such as USB or IEEE1394. The connection port 514 is connected to the CPU 501 and the like via the interface 507, the external bus 506, the bridge 505, the host bus 504, and the like. The communication unit 515 is connected to a network and executes communication with other information processing apparatuses.

なお、図21、図22に示す情報処理装置の構成例は、装置の一例であり、情報処理装置は、図21、図22に示す構成に限らず、上述した実施例において説明した処理を実行可能な構成であればよい。   The configuration example of the information processing apparatus illustrated in FIGS. 21 and 22 is an example of the apparatus, and the information processing apparatus is not limited to the configuration illustrated in FIGS. 21 and 22, and executes the processing described in the above-described embodiments. Any configuration is possible.

なお、本発明は、HDD(ハードディスクドライブ)に限らず、前述した
1物理セクタに含まれる論理セクタ数:N、
位相変換点:X、
これらに相当する性質を有するランダムアクセス可能なメディア全般に適用可能である。ファイルシステムの例としては、例えばFAT16/32など、その他のファイルシステムにおいてもて起用可能である。また、着脱可能なメディアに対しても、本体内蔵のメディアと同様にして適用可能なものである。
The present invention is not limited to the HDD (hard disk drive), but the number of logical sectors included in one physical sector described above: N,
Phase conversion point: X,
The present invention can be applied to all randomly accessible media having properties corresponding to these. As an example of the file system, it can be used in other file systems such as FAT16 / 32. Also, it can be applied to removable media in the same manner as media built in the main body.

以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims should be taken into consideration.

また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。   The series of processing described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run. For example, the program can be recorded in advance on a recording medium. In addition to being installed on a computer from a recording medium, the program can be received via a network such as a LAN (Local Area Network) or the Internet and can be installed on a recording medium such as a built-in hard disk.

なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

以上、説明したように、本発明の一実施例構成によれば、記録メディア(情報記録媒体)に対するデータ記録処理を行なう情報処理装置のアクセス制御部において、メディアに対するデータ記録を実行するメディア対応制御部にデバイス情報取得要求としてのIDENTIFY Deviceコマンドを出力し、1物理セクタに含まれる論理セクタ数[N]や、位相変化点[X]などのデバイス情報を受領し、これらの受領情報に基づいて、アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータをメディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する構成としたので、デバイスドライバとメディア対応制御部間では、すべて物理セクタ単位のデータの入出力が実現され、デバイスドライバ側でデータ更新を伴わない論理セクタデータについての確認を行なうことができ、データ消失などの不測の事態の発生を上位層において把握可能となる。   As described above, according to the configuration of one embodiment of the present invention, in the access control unit of the information processing apparatus that performs the data recording process on the recording medium (information recording medium), the media correspondence control that executes the data recording on the medium. IDENTIFY Device command as a device information acquisition request is output to the device, and device information such as the number of logical sectors [N] and phase change point [X] included in one physical sector is received. Based on the received information If the recording start position or recording end position of the recording data input from the application in units of logical sectors is different from the physical sector division position that is the unit of access to the media managed by the media correspondence control unit. In addition, the recording data for each physical sector is acquired via the media compatible control unit. Read-modify-write that stores in the memory, updates some logical sector data of the stored physical sector data with recording data in units of sectors input from the application, and outputs the updated physical sector data to the media corresponding control unit ( Since the RMW) process is executed, data input / output in units of physical sectors is realized between the device driver and the media compatible control unit, and the device driver side confirms logical sector data without data update. This makes it possible for the upper layer to grasp the occurrence of unforeseen circumstances such as data loss.

デバイスドライバのアクセス単位である論理セクタ(LBA)と、メディア、すなわちHDDのアクセス単位である物理セクタとの対応例について説明する図である。It is a figure explaining the example of a response | compatibility with the logical sector (LBA) which is an access unit of a device driver, and the physical sector which is an access unit of a medium, ie, HDD. 上位層のアクセス単位である論理セクタとメディアのアクセス単位である物理セクタが異なる場合のアクセス処理における問題点について説明する図である。It is a figure explaining the problem in the access process when the logical sector which is an access unit of an upper layer differs from the physical sector which is a media access unit. 上位層のアクセス単位である論理セクタとメディアのアクセス単位である物理セクタが異なる場合のアクセス処理における問題点について説明する図である。It is a figure explaining the problem in the access process when the logical sector which is an access unit of an upper layer differs from the physical sector which is a media access unit. リードモディファイライト(RMW:Read−Modify−Write)処理およびその要否について説明する図である。It is a figure explaining a read modify write (RMW: Read-Modify-Write) process and its necessity. リードモディファイライト(RMW:Read−Modify−Write)処理の要否判定処理について説明する図である。It is a figure explaining the necessity determination process of a read modify write (RMW: Read-Modify-Write) process. リードモディファイライト(RMW:Read−Modify−Write)処理の具体例について説明する図である。It is a figure explaining the specific example of a read modify write (RMW: Read-Modify-Write) process. リードモディファイライト(RMW:Read−Modify−Write)処理のシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of a read modify write (RMW: Read-Modify-Write) process. リードモディファイライト(RMW:Read−Modify−Write)処理の具体例について説明する図である。It is a figure explaining the specific example of a read modify write (RMW: Read-Modify-Write) process. リードモディファイライト(RMW:Read−Modify−Write)処理のシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of a read modify write (RMW: Read-Modify-Write) process. 本発明の一実施例に係る情報処理装置のシステム構成について説明する図である。It is a figure explaining the system configuration | structure of the information processing apparatus which concerns on one Example of this invention. 本発明の一実施例に係る情報処理装置のシステム構成について説明する図である。It is a figure explaining the system configuration | structure of the information processing apparatus which concerns on one Example of this invention. 本発明の一実施例に係る情報処理装置におけるデバイスドライバ起動処理について説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the device driver starting process in the information processing apparatus which concerns on one Example of this invention. デバイスドライバ起動処理において、デバイスドライバが取得するデバイス情報のデータ構成例について説明する図である。It is a figure explaining the data structural example of the device information which a device driver acquires in a device driver starting process. 本発明の一実施例に係る情報処理装置におけるリードモディファイライトを含むデータ記録処理のシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of the data recording process containing the read modify write in the information processing apparatus which concerns on one Example of this invention. 図14のステップS201の書き込みリスト(Writeリスト)作成処理のシーケンスについて説明するフローチャートを示す図である。FIG. 15 is a diagram illustrating a flowchart for describing a sequence of a write list (Write list) creation process in Step S201 of FIG. 図14のステップS205の端数書き込み処理Aのシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of the fraction write-in process A of step S205 of FIG. 図14のステップS207の非端数書き込み処理のシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of the non-fractional writing process of step S207 of FIG. 図14のステップS209の端数書き込み処理Bのシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of the fraction write-in process B of step S209 of FIG. 端数書き込み処理の実行処理のシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of the execution process of a fraction writing process. リードモディファイライト(RMW)処理の実行処理のシーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the sequence of the execution process of a read modify write (RMW) process. 本発明の情報処理装置の一実施例としてのデジタルビデオカメラの構成例について説明する図である。It is a figure explaining the structural example of the digital video camera as one Example of the information processing apparatus of this invention. 本発明の情報処理装置の一実施例としてのPCの構成例について説明する図である。It is a figure explaining the structural example of PC as one Example of the information processing apparatus of this invention.

符号の説明Explanation of symbols

281 アプリケーション
282 ファイルシステム
283 デバイスドライバ
284 情報記録媒体
300 アプリケーション
301 記録アプリケーション
302 再生アプリケーション
303 USB接続アプリケーション
310 ファイルシステム
311,312 マウントドライブ情報
320 記録再生制御部
321 FAT制御部
322 クラスタ制御部
323 ディレクトリエントリ制御部
330 メディア制御部
331 位置算出部
340 アクセス制御部
350,351,352 デバイスドライバ
354,355 アクセス制御部
361,362 情報記録媒体
363,364 メディア対応制御部
370 メモリ
401 制御部(CPU)
402 カメラ機能制御部
411 光学レンズ部
412 光電変換部
413 画像信号処理部
414 画像入出力部
415 液晶ディスプレイ
416 音声入出力部
417 音声処理部
418 内蔵メモリ(RAM)
419 内蔵メモリ(ROM)
420 操作入力部
431 通信部
432 ドライブ
441 電源
501 CPU(Central Processing Unit)
502 ROM(Read-Only-Memory)
503 RAM(Random Access Memory)
504 ホストバス
505 ブリッジ
506 外部バス
507 インタフェース
508 キーボード
509 ポインティングデバイス
510 ディスプレイ
511 HDD(Hard Disk Drive)
512 ドライブ
514 接続ポート
515 通信部
521 リムーバブル記録媒体
522 外部接続機器
281 Application 282 File system 283 Device driver 284 Information recording medium 300 Application 301 Recording application 302 Playback application 303 USB connection application 310 File system 311, 312 Mount drive information 320 Recording / playback control unit 321 FAT control unit 322 Cluster control unit 323 Directory entry control Unit 330 Media control unit 331 Position calculation unit 340 Access control unit 350, 351, 352 Device driver 354, 355 Access control unit 361, 362 Information recording medium 363, 364 Media correspondence control unit 370 Memory 401 Control unit (CPU)
402 Camera Function Control Unit 411 Optical Lens Unit 412 Photoelectric Conversion Unit 413 Image Signal Processing Unit 414 Image Input / Output Unit 415 Liquid Crystal Display 416 Audio Input / Output Unit 417 Audio Processing Unit 418 Built-in Memory (RAM)
419 Internal memory (ROM)
420 Operation Input Unit 431 Communication Unit 432 Drive 441 Power Supply 501 CPU (Central Processing Unit)
502 ROM (Read-Only-Memory)
503 RAM (Random Access Memory)
504 Host bus 505 Bridge 506 External bus 507 Interface 508 Keyboard 509 Pointing device 510 Display 511 HDD (Hard Disk Drive)
512 drive 514 connection port 515 communication unit 521 removable recording medium 522 external connection device

Claims (15)

記録メディアに対するデータ記録処理を実行する情報処理装置であり、
論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御部と、
前記アクセス制御部から、前記記録データを入力して、前記論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行するメディア対応制御部を有し、
前記アクセス制御部は、
前記メディア対応制御部に対するデバイス情報取得要求を出力して、メディア対応制御部からのデバイス情報取得要求に対応する応答として、1物理セクタに含まれる論理セクタ数[N]情報を取得し、
前記取得情報[N]を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する構成であることを特徴とする情報処理装置。
An information processing apparatus that executes data recording processing on a recording medium,
An access control unit that outputs recording data for a recording medium input from an application that generates recording data in units of logical sectors to the media correspondence control unit;
A media correspondence control unit that inputs the recording data from the access control unit and executes a data recording process on a recording medium in a physical sector unit different from the logical sector;
The access control unit
Output a device information acquisition request to the media correspondence control unit, and acquire the number of logical sectors [N] included in one physical sector as a response corresponding to the device information acquisition request from the media correspondence control unit,
Physical sector classification in which the recording start position or recording end position of recording data input in logical sector units from the application by applying the acquisition information [N] is an access unit for media managed by the media correspondence control unit It is verified whether or not it is different from the position, and if it is different, the recording data for each physical sector is obtained via the media correspondence control unit and stored in the memory, and a part of the stored physical sector data is stored in the logical sector data. An information processing apparatus that is configured to execute read-modify-write (RMW) processing in which update is performed by recording data in units of sectors input from an application, and physical sector data after update processing is output to the media correspondence control unit. .
前記アクセス制御部は、
前記メディア対応制御部に対するデバイス情報取得要求として、IDENTIFY Deviceコマンドを出力して、メディア対応制御部から、該コマンドに対応する戻り値として、1物理セクタに含まれる論理セクタ数[N]情報を取得する構成であることを特徴とする請求項1に記載の情報処理装置。
The access control unit
An IDENTIFY Device command is output as a device information acquisition request to the media correspondence control unit, and the logical sector number [N] information included in one physical sector is obtained from the media correspondence control unit as a return value corresponding to the command. The information processing apparatus according to claim 1, wherein the information processing apparatus is configured to perform the processing.
前記アクセス制御部は、
さらに、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]情報を取得し、取得した位相変換点[X]情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
The access control unit
Further, as a response corresponding to the device information acquisition request from the media correspondence control unit, the phase conversion point [X] information at which the phase change of the correspondence relationship between the logical sector and the physical sector occurs is acquired, and the acquired phase conversion point [ X] Whether the recording start position or recording end position of the recording data input from the application in logical sector units by applying the information is different from the physical sector division position that is an access unit to the media managed by the media control unit The information processing apparatus according to claim 1, wherein the information processing apparatus is configured to execute a process of verifying whether or not.
前記アクセス制御部は、
さらに、メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタのセクタサイズ情報を取得し、取得したセクタサイズ情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
The access control unit
Further, as a response corresponding to the device information acquisition request from the media correspondence control unit, the sector size information of the logical sector is acquired, the acquired sector size information is applied, and the recording data input from the application in units of logical sectors 2. The configuration for executing a process for verifying whether a recording start position or a recording end position is different from a physical sector division position which is a unit of access to a medium managed by the media control unit. The information processing apparatus described in 1.
前記アクセス制御部は、
前記リードモディファイライト(RMW)処理の実行において、
前記アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、前記リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
The access control unit
In executing the read modify write (RMW) process,
Copy processing of logical sector data to be read-modify-write (RMW) processing target from a first memory area that stores recording data input in units of logical sectors from the application to a read-modify-write (RMW) memory area The information processing apparatus according to claim 1, wherein the information processing apparatus is configured to execute
前記アクセス制御部は、
前記アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なう構成であることを特徴とする請求項1に記載の情報処理装置。
The access control unit
When recording the recording data input from the application, a management information list corresponding to the recording data includes a logical block address (LBA) corresponding to the recording data, a sector count that is the number of sectors of the recording data, and offset information of the logical sector number. The information processing apparatus according to claim 1, wherein a writing list in which certain offset information is recorded is generated and a recording process is performed with reference to the writing list.
前記アクセス制御部は、さらに、
論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、前記アプリケーションから論理セクタ単位で入力する記録データが、前記位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する処理を実行する構成であることを特徴とする請求項6に記載の情報処理装置。
The access control unit further includes:
There is a phase conversion point [X] where the phase change of the correspondence relationship between the logical sector and the physical sector occurs, and the recording data input in units of the logical sector from the application is data extending before and after the phase conversion point [X]. The first writing list for the recording data before the phase conversion point [X] and the second writing list for the recording data after the phase conversion point [X] are executed. The information processing apparatus according to claim 6.
情報処理装置において、記録メディアに対するデータ記録処理を実行する情報処理方法であり、
アクセス制御部が、論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御ステップと、
メディア対応制御部が、前記アクセス制御部から、前記記録データを入力して、前記論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行するメディア対応制御ステップを有し、
前記アクセス制御ステップは、
前記メディア対応制御部に対するデバイス情報取得要求を出力して、メディア対応制御部からのデバイス情報取得要求に対応する応答として、1物理セクタに含まれる論理セクタ数[N]情報を取得するデバイス情報取得ステップと、
前記取得情報[N]を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行するリードモディファイライト(RMW)処理ステップと、
を実行するステップであることを特徴とする情報処理方法。
An information processing method for performing a data recording process on a recording medium in an information processing device,
An access control step in which an access control unit outputs recording data for a recording medium input from an application that generates recording data in units of logical sectors to the media correspondence control unit;
A media correspondence control unit having the media correspondence control step of inputting the recording data from the access control unit and executing a data recording process on the recording medium in a physical sector unit different from the logical sector;
The access control step includes
Device information acquisition that outputs a device information acquisition request to the media correspondence control unit and acquires the number of logical sectors [N] contained in one physical sector as a response to the device information acquisition request from the media correspondence control unit Steps,
Physical sector classification in which the recording start position or recording end position of recording data input in logical sector units from the application by applying the acquisition information [N] is an access unit for media managed by the media correspondence control unit A verification step for verifying whether it is different from the position;
In the verification step, if a verification result that is different is obtained, recording data in units of physical sectors is obtained via the media correspondence control unit, stored in the memory, and some logical sectors of the stored physical sector data A read-modify-write (RMW) processing step for executing a read-modify-write (RMW) process in which data is updated with recording data in units of sectors input from an application, and the physical sector data after the update process is output to the media correspondence control unit; ,
An information processing method characterized by being a step of executing.
前記デバイス情報取得ステップは、
前記メディア対応制御部に対するデバイス情報取得要求として、IDENTIFY Deviceコマンドを出力して、メディア対応制御部から、該コマンドに対応する戻り値として、1物理セクタに含まれる論理セクタ数[N]情報を取得するステップであることを特徴とする請求項8に記載の情報処理方法。
The device information acquisition step includes:
An IDENTIFY Device command is output as a device information acquisition request to the media correspondence control unit, and the logical sector number [N] information included in one physical sector is obtained from the media correspondence control unit as a return value corresponding to the command. The information processing method according to claim 8, wherein the information processing method comprises:
前記デバイス情報取得ステップは、さらに、
メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]情報を取得するステップであり、
前記検証ステップは、
取得した位相変換点[X]情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行するステップであることを特徴とする請求項8に記載の情報処理方法。
The device information acquisition step further includes:
As a response corresponding to the device information acquisition request from the media correspondence control unit, it is a step of obtaining phase conversion point [X] information where the phase change of the correspondence relationship between the logical sector and the physical sector occurs,
The verification step includes
A physical sector in which the recording start position or the recording end position of recording data input in units of logical sectors from the application by applying the acquired phase conversion point [X] information is an access unit to the medium managed by the media control unit The information processing method according to claim 8, wherein the information processing method is a step of executing a process of verifying whether or not the position is different from each other.
前記デバイス情報取得ステップは、さらに、
メディア対応制御部からのデバイス情報取得要求に対応する応答として、論理セクタのセクタサイズ情報を取得するステップであり、
前記検証ステップは、
取得したセクタサイズ情報を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行するステップであることを特徴とする請求項8に記載の情報処理方法。
The device information acquisition step further includes:
In response to the device information acquisition request from the media correspondence control unit, it is a step of acquiring the sector size information of the logical sector,
The verification step includes
Applying the acquired sector size information, the recording start position or recording end position of the recording data input in logical sector units from the application is a physical sector segment position that is an access unit for the medium managed by the media control unit. The information processing method according to claim 8, wherein the information processing method is a step of executing processing for verifying whether or not they are different.
前記アクセス制御ステップは、
前記リードモディファイライト(RMW)処理の実行において、
前記アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、前記リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行することを特徴とする請求項8に記載の情報処理方法。
The access control step includes
In executing the read modify write (RMW) process,
Copy processing of logical sector data to be read-modify-write (RMW) processing target from a first memory area that stores recording data input in units of logical sectors from the application to a read-modify-write (RMW) memory area The information processing method according to claim 8, wherein:
前記アクセス制御ステップは、
前記アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なうことを特徴とする請求項8に記載の情報処理方法。
The access control step includes
When recording the recording data input from the application, a management information list corresponding to the recording data includes a logical block address (LBA) corresponding to the recording data, a sector count that is the number of sectors of the recording data, and offset information of the logical sector number. 9. The information processing method according to claim 8, wherein a writing list in which certain offset information is recorded is generated, and a recording process is performed with reference to the writing list.
前記アクセス制御ステップは、さらに、
論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、前記アプリケーションから論理セクタ単位で入力する記録データが、前記位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する処理を実行することを特徴とする請求項13に記載の情報処理方法。
The access control step further includes:
There is a phase conversion point [X] where the phase change of the correspondence relationship between the logical sector and the physical sector occurs, and the recording data input in units of the logical sector from the application is data extending before and after the phase conversion point [X]. In the case, the first writing list for the recording data before the phase conversion point [X] and the second writing list for the recording data after the phase conversion point [X] are executed. 14. The information processing method according to 13.
情報処理装置において、記録メディアに対するデータ記録処理を実行させるコンピュータ・プログラムであり、
アクセス制御部に、論理セクタ単位で記録データを生成するアプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力させるアクセス制御ステップと、
メディア対応制御部に、前記アクセス制御部から、前記記録データを入力して、前記論理セクタとは異なる物理セクタ単位で記録メディアに対するデータ記録処理を実行させるメディア対応制御ステップを有し、
前記アクセス制御ステップは、
前記メディア対応制御部に対するデバイス情報取得要求を出力して、メディア対応制御部からのデバイス情報取得要求に対応する応答として、1物理セクタに含まれる論理セクタ数[N]情報を取得させるデバイス情報取得ステップと、
前記取得情報[N]を適用して、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証させる検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行させるリードモディファイライト(RMW)処理ステップと、
を実行させるステップであることを特徴とするコンピュータ・プログラム。
In the information processing apparatus, a computer program for executing a data recording process on a recording medium,
An access control step for causing the access control unit to output recording data for a recording medium input from an application that generates recording data in units of logical sectors, to the media correspondence control unit;
A media correspondence control step of inputting the recording data from the access control unit to the media correspondence control unit, and executing a data recording process on the recording medium in a physical sector unit different from the logical sector;
The access control step includes
A device information acquisition request for outputting a device information acquisition request to the media correspondence control unit and acquiring the number of logical sectors [N] contained in one physical sector as a response corresponding to the device information acquisition request from the media correspondence control unit Steps,
Physical sector classification in which the recording start position or recording end position of recording data input in logical sector units from the application by applying the acquisition information [N] is an access unit for media managed by the media correspondence control unit A verification step for verifying whether it is different from the position;
In the verification step, if a verification result that is different is obtained, recording data in units of physical sectors is obtained via the media correspondence control unit, stored in the memory, and some logical sectors of the stored physical sector data A read-modify-write (RMW) processing step for executing a read-modify-write (RMW) process for updating data with recording data in units of sectors input from an application and outputting the updated physical sector data to the media correspondence control unit; ,
The computer program characterized by being a step which performs.
JP2007094751A 2007-03-30 2007-03-30 Information processor, information processing method and computer program Pending JP2008250918A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007094751A JP2008250918A (en) 2007-03-30 2007-03-30 Information processor, information processing method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007094751A JP2008250918A (en) 2007-03-30 2007-03-30 Information processor, information processing method and computer program

Publications (1)

Publication Number Publication Date
JP2008250918A true JP2008250918A (en) 2008-10-16

Family

ID=39975741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007094751A Pending JP2008250918A (en) 2007-03-30 2007-03-30 Information processor, information processing method and computer program

Country Status (1)

Country Link
JP (1) JP2008250918A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211888A (en) * 2009-03-12 2010-09-24 Toshiba Storage Device Corp Disk storage device
JP2011129221A (en) * 2009-12-21 2011-06-30 Hitachi Global Storage Technologies Netherlands Bv Disk drive supporting interface by data sector different in size, and backup method for user data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211888A (en) * 2009-03-12 2010-09-24 Toshiba Storage Device Corp Disk storage device
JP2011129221A (en) * 2009-12-21 2011-06-30 Hitachi Global Storage Technologies Netherlands Bv Disk drive supporting interface by data sector different in size, and backup method for user data

Similar Documents

Publication Publication Date Title
JP4561759B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP2007122221A (en) Information processor, information processing method and computer program
JP2010198407A (en) Information processor, data recording control method, and program
JP4992515B2 (en) Information processing apparatus, information processing method, and computer program
JP2007233638A (en) Information processor, information processing method, and computer program
JP4487954B2 (en) Data recording apparatus, data recording method, and program
JP5216003B2 (en) Recording device
JP2010237907A (en) Storage device and recording method
JP2008250918A (en) Information processor, information processing method and computer program
JP2007193886A (en) Disk device, data writing control method, and command control method
JP5523128B2 (en) Recording apparatus and control method thereof
JP2009059444A (en) Information processing device and information processing method
US20050259542A1 (en) Reproduction device and method, recording medium, and program
JP5002944B2 (en) Information processing apparatus, imaging apparatus, information processing method, and computer program
JP2005078378A (en) Data storage device and data writing method in non-volatile memory
JP2010033396A (en) Information processor, information processing method, and program
JP5178355B2 (en) Recording device
JP2006323462A (en) File-copying device and file-copying method
JP2007108853A (en) Information processor, information processing method, and computer program
JP5762014B2 (en) REPRODUCTION DEVICE AND REPRODUCTION DEVICE CONTROL METHOD
JP2006260158A (en) Information processing apparatus, information processing method and program
JP2005004830A (en) Information processing method and information processor
JP2010015385A (en) Information processing apparatus, information processing method, and program
JP2004171670A (en) Recording and reproducing device and recording and reproducing method
JP4972909B2 (en) Data recording device