JP2008250919A - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents
情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2008250919A JP2008250919A JP2007094752A JP2007094752A JP2008250919A JP 2008250919 A JP2008250919 A JP 2008250919A JP 2007094752 A JP2007094752 A JP 2007094752A JP 2007094752 A JP2007094752 A JP 2007094752A JP 2008250919 A JP2008250919 A JP 2008250919A
- Authority
- JP
- Japan
- Prior art keywords
- data
- recording
- write
- sector
- control unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1879—Direct read-after-write methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
- G11B2020/1232—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc sector, i.e. the minimal addressable physical data unit
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1265—Control data, system data or management information, i.e. data used to access or process user data
- G11B2020/1267—Address data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1288—Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
- G11B2020/183—Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【解決手段】アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータをメディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する。
【選択図】図6
Description
記録メディアに対するデータ記録処理を実行する情報処理装置であり、
アプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御部を有し、
前記アクセス制御部は、
前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する構成であることを特徴とする情報処理装置にある。
情報処理装置において、記録メディアに対するデータ記録処理を実行する情報処理方法であり、
アクセス制御部が、アプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御ステップを実行し、
前記アクセス制御ステップは、
前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かの検証を行なう検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行するリードモディファイライト(RMW)処理ステップと、
を実行するステップであることを特徴とする情報処理方法にある。
情報処理装置において、記録メディアに対するデータ記録処理を実行させるコンピュータ・プログラムであり、
アクセス制御部に、アプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力させるアクセス制御ステップを実行し、
前記アクセス制御ステップは、
前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かの検証を行なう検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行するリードモディファイライト(RMW)処理ステップと、
を含むステップであることを特徴とするコンピュータ・プログラムにある。
1.上位層(アプリケーションやデバイスドライバ)のアクセス単位と、メディア(情報記録媒体)のアクセス単位の差に基づく問題点
2.本発明に従ったメディア(情報記録媒体)のアクセス処理の概要
3.情報処理装置の構成例および処理例
4.情報処理装置の実行する処理のシーケンス詳細
5.情報処理装置のハードウェア構成例
まず、上位層(アプリケーションやデバイスドライバ)のアクセス単位と、メディア(情報記録媒体)のアクセス単位の差に基づく問題点について、図1〜図3を参照して説明する。
上位層(アプリケーションやデバイスドライバ)からのメディアのアクセスが、512B(バイト)単位のLBA(Logical Blovk Addressing)指定のアクセス、すなわち論理セクタ(Logical Sector)単位で実行され、
HDD等のメディア(情報記録媒体)内部のアクセス単位が、上記論理セクタN個分の物理セクタ(Phisical Sector)単位で実行される例について説明する。なお、Nは2以上である。
N=(物理セクタ)÷(論理セクタ)
によって算出される値であり、「HDD内部で実際にひとまとめとして管理される論理セクタ数」を意味する。
物理セクタナンバ=論理セクタナンバ(LBA)×M÷N(M≧0)
という関係が成立するが、
LBA=X〜MAXの領域では、その関係が成立せず、
例えば、図に示すように1物理セクタに含まれる論理セクタ数:N=2の場合、
物理セクタナンバ=(論理セクタナンバ(LBA)+1)×M÷N(M≧0)
という関係になる。
位相変化点:X=61
とした例であり、LBA=0〜60までの領域は、LBAの偶数アドレス(0,2,4,6・・・)が、物理セクタの先頭と揃っているが、LBA=61以降の領域は、LBAの奇数アドレス(61,63,65・・・)が、物理セクタの先頭と揃うことになる。
上位層(アプリケーションやデバイスドライバ)のアクセス単位=(論理セクタ(LBA))と、
メディア(情報記録媒体)のアクセス単位=物理セクタ、
これらが異なる場合のアクセス処理における問題点について説明する。
1物理セクタに含まれる論理セクタ数:N=2
位相変換点:X=61
このXとNを有するセクタ対応の一部を示している。
書き込み開始LBA=77、
書き込みセクタ数=1、
と指定して書き込み要求を発行した場合、HDD内部では、図2に示す通り、以下の流れでハードディスクに対するデータ書き込み処理が実行される。
物理セクタナンバ=39のLBA=77〜78の内容をHDD内部バッファに読み出す。
(ステップS12)
HDD内部バッファでLBA=77のデータを更新、この更新データは上位のデバイスドライバから供給される。
(ステップS13)
更新後のLBA=77〜78の内容を、物理セクタナンバ=39の内容として書き込む
このような処理によって、更新データの記録が実行される。この処理から理解されるようにLBA=78のデータは、単にHDD内部でHDD内部バッファに読みだされ、再書き込みがなされるのみとなる。
(ステップS21)
物理セクタナンバ=39のLBA=77〜78の内容をHDD内部バッファに読み出す。この時点で、読み出し処理に失敗したとする。
(ステップS22)
HDD内部バッファには、読み出しエラーのため、物理セクタナンバ=39のLBA=77〜78に対応するダミーデータが設定され、このダミーデータに対して、LBA=77のデータを更新する。この更新データは上位のデバイスドライバから供給される。
(ステップS13)
更新後のLBA=77〜78の内容を、物理セクタナンバ=39の内容として、読み出しエラーの発生時に利用される領域であるスペア領域(交替セクタ)にデータが書き込まれる。
LBA=77:デバイスドライバから提供された更新データ、
LBA=78:HDD内部の設定したダミーデータ
となる。
すなわち、更新対象のLBA以外のLBA=78のデータは消失してしまうという事態が発生することになる。このような状態が発生しても上位のアプリケーションやデバイスドライバは、LBA=78のデータが消失したことを検出できず、正常な記録がなされたものと判断してしまう。
本発明の情報処理装置では、図3を参照して説明したような事態の発生を防止する構成を提案する。以下、本発明の処理例について説明する。
図4(B−a)は、デバイスドライバのデータアクセス開始位置が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
図4(B−b)は、デバイスドライバのデータアクセス終了位置が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス終了位置の論理セクタナンバの後の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
まず、書き込み開始LBAと書き込みセクタ数がアプリケーションにおいて決定される。さらに、デバイスドライバは、
書き込み終了LBA=書き込み開始LBA+書き込みセクタ数−1
として書き込み終了LBAを算出する。
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(リードモディファイライト)は不要;
}
書き込み開始LBA、
書き込みセクタ数、
1物理セクタに含まれる論理セクタ数:N
位相変換点:X
これらのデータに基づいて、
書き込み終了LBA=書き込み開始LBA+書き込みセクタ数−1
として書き込み終了LBAを算出し、上記アルゴリズムに従ったRMW要否判定処理を実行する。この判定処理によってRMW(リードモディファイライト)が必要とされた場合は、デバイスドライバのアクセス可能なメモリ(バッファ)に物理セクタ単位でメディアからのデータ読み取り、更新、再書き込み処理を伴うリードモディファイライト(RMW)処理を実行する。
図4(B−a)は、デバイスドライバのデータアクセス開始位置が、記録メディア(HDDなど)のアクセス単位である物理セクタの境界と一致しない場合の例であり、この場合は、データアクセス開始位置の論理セクタナンバの前の論理セクタナンバを含む1つの物理セクタを処理対象としたリードモディファイライト(RMW:Read−Modify−Write)処理が必要となる。
次に、本発明の一実施例に係る情報処理装置の構成例および処理例について説明する。本発明の情報処理装置は、情報記録媒体に対するデータ記録、または情報記録媒体からのデータ再生処理を行なう装置である。情報処理装置は例えばデジタルビデオカメラ、PCなどの装置である。
(M1)第1メモリ
(M2)RMW用メモリ(バッファ)
これらのメモリ領域は、メモリ370に設定される。
次に、図12以下のフローチャートを参照して本発明の情報処理装置において実行する各種の処理シーケンスについて説明する。まず、図12、図13を参照して、ファイルシステムの起動処理と、デバイスドライバの起動処理シーケンスについて説明する。
位相変換点:X、
1物理セクタに含まれる論理セクタ数:N、
これらの情報である。次にステップS103において、初期化処理2として、上位アプリケーションからのコマンド入力待機状態への最終的な処理が実行される。この後、アプリケーションからのコマンドが入力され、入力に従った処理が実行可能となる。
1物理セクタに含まれる論理セクタ数:N、
このNの値に基づいてRMW用バッファを確保し、さらに、
位相変換点:X、
1物理セクタに含まれる論理セクタ数:N、
これらのN,Xの値をデバイスドライバのアクセス可能なメモリ領域(例えば図11に示すRAMの一部)に保持する。
図14のステップS201の書き込みリスト(Writeリスト)作成処理は、図15のフローチャート、
図14のステップS205の端数書き込み処理Aは、図16のフローチャート、
図14のステップS207の非端数書き込み処理は、図17のフローチャート、
図14のステップS209の端数書き込み処理Bは、図18のフローチャート、
である。
書き込み終了LBA=書き込み開始LBA+書き込みセクタ数−1
上記算出式に従って実行する。
開始セクタ(LBA)<位相変化点(X)
であるか否かを判定する。
である場合は、ステップS253に進み、
第1書き込みリスト(Writeリスト1)LBA=開始セクタ(LBA)
第1書き込みリスト(Writeリスト1)セクタカウント=受領セクタ数
第1書き込みリスト(Writeリスト1)オフセット=0
とする。
第1書き込みリスト(Writeリスト1)LBA=開始セクタ(LBA)−X
第1書き込みリスト(Writeリスト1)セクタカウント=セクタ数
第1書き込みリスト(Writeリスト1)オフセット=X
とする。
第1書き込みリスト(Writeリスト1)LBA=開始セクタ(LBA)−X
第1書き込みリスト(Writeリスト1)オフセット=X
の調整を実行して書き込みリストを生成する処理を示している。
第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つのリストを生成するものである。
書き込み開始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
書き込みリスト(Writeリスト)の書き込み開始LBAを現在LBAとして設定し、
書き込みリスト(Writeリスト)の書き込みセクタ数を残り転送セクタ数として設定する。
なお、第1書き込みリストの他に第2書き込みリストがある場合は、第1書き込みリストから先に利用して処理を行なう。
1物理セクタに含まれる論理セクタ数:N、
によって割り切れるか否かを検討する。
なお、[WriteリストLBA%N]は、WriteリストLBAをNで割った場合の値を示す。割り切れる場合は、ステップS206に進み、割り切れない場合は、ステップS205の端数書き込み処理Aを実行した後、ステップS206に進む。
端数書き込みセクタ数=N−(WriteリストLBA%N)
この算出式によって、例えば図6に示すデータ[D1]部分に含まれるアプリケーションから受領したセクタ数が算出される。
残り転送セクタ数<端数書き込みセクタ数
上記が成立するか否かを検証する。この判定処理は、ステップS301で算出した端数書き込みセクタ数より残り転送セクタ数が小さいか否かを判定する処理であり、小さくない場合はステップS304に進み、小さい場合は、ステップS303に進み、
端数書き込みセクタ数=残り転送セクタ数
の設定を実行した後、ステップS304に進む。
端数書き込みLBA=書き込みリスト(Writeリスト)LBA
端数書き込みオフセット=書き込みリスト(Writeリスト)オフセット
端数書き込みバッファアドレス=バッファアドレス
これらの設定を実行する。
このステップS304の処理は、端数書き込み処理を実行するデータの、書き込みリスト(Writeリスト)上のデータとの対応を設定するための処理である。
この処理の後、ステップS305において、端数書き込み処理、すなわちリードモディファイライト(RMW)処理を含むデータ書き込みが実行される。なお、このステップS305の処理については、図19を参照して後段で説明する。
現在LBA+=端数書き込みセクタ数
残り転送セクタ数−=端数書き込みセクタ数
現在バッファアドレス+=端数書き込みセクタ数×512
これらの書き込みデータに対応する情報更新を実行する。
1物理セクタに含まれる論理セクタ数[N]以上のセクタ数(論理セクタ数)であるか否かを判定する。残り転送セクタ数がNセクタ(論理セクタ数)未満である場合は、ステップS208に進み、残り転送セクタ数がNセクタ(論理セクタ数)以上である場合は、ステップS207で、非端数書き込み処理を実行した後、ステップS208に進む。
コマンド発行LBA=現在LBA+Writeリストオフセット
コマンド発行セクタ数=(残り転送セクタ数÷N)×N
コマンド発行バッファアドレス=現在バッファアドレス
これらの設定を行う。これは、物理セクタ単位での書き込みの可能なデータ区間において、論理セクタ対応のコマンド発行LBA、コマンド発行セクタ数、コマンドセ発行バッファアドレスの設定を行うものであり、図6に示す(M1)をバッファとして記録媒体に対する書き込みを実行するメディア(HDD)にデータを渡すための設定である。ステップS352ではステップS351で設定した情報に従って書き込みコマンドを発行し、物理セクタ単位でのデータ書き込みが実行される。この処理によって、物理セクタ単位の書き込みが残り転送セクタ数に応じて連続して実行される。
現在LBA+=コマンド発行セクタ数
残り転送セクタ数−=コマンド発行セクタ数
現在バッファアドレス+=コマンド発行×512
これらの書き込みデータに対応する情報更新を実行する。
すなわち、現在LBAをコマンド発行セクタ数分増加させ、残り転送セクタ数をコマンド発行セクタ数分減少させ、現在バッファアドレスをコマンド発行セクタ数×512分増加させる。なお、本例では、1セクタ(論理セクタ)=512バイトの設定であり、アドレスはバイトデータとして設定される例である。
端数書き込みLBA=現在LBA
端数書き込みオフセット=書き込みリスト(Writeリスト)オフセット
端数書き込みセクタ数=残り転送セクタ数
端数書き込みバッファアドレス=バッファアドレス
これらの設定を実行する。
このステップS401の処理は、端数書き込み処理を実行するデータの、書き込みリスト(Writeリスト)上のデータとの対応を設定するための処理である。
この処理の後、ステップS402において、端数書き込み処理、すなわちリードモディファイライト(RMW)処理を含むデータ書き込みが実行される。なお、このステップS402の処理については、図19を参照して後段で説明する。
現在LBA+=端数書き込みセクタ数
残り転送セクタ数−=端数書き込みセクタ数
現在バッファアドレス+=端数書き込みセクタ数×512
これらの書き込みデータに対応する情報更新を実行する。
端数書き込み開始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が算出される。
位相変化直前LBA≦端数書き込み開始LBA<X
上記比較式が成立する場合は、ステップS455に進む。上記比較式が成立しない場合は、ステップS453に進む。
コマンド発行LBA=(端数書き込みLBA÷N)×N+端数書き込みオフセット
コマンド発行バッファアドレス=RMW用バッファアドレス
コマンド発行セクタ数=N
モディファイ用バッファアドレスA=RMW用バッファアドレス+(端数書き込みLBA%N)×512
モディファイ用バッファアドレスB=端数書き込みバッファアドレス
モディファイサイズ=端数書き込みセクタ×512
これらの設定を実行する。
コマンド発行LBAを、(端数書き込みLBA÷N)×N+端数書き込みオフセットとして設定し、コマンド発行バッファアドレスをRMW用バッファアドレスとする。なお、RMW用バッファは、例えば、図6(2)や図8(2)に示す(M2)RMW用メモリ領域に相当する。
モディファイ用バッファアドレスA=RMW用バッファアドレス+(端数書き込みLBA%N)×512として、
モディファイ用バッファアドレスB=端数書き込みバッファアドレス
とする。
モディファイ用バッファアドレスAは、例えば図6(2)、図8(2)に示す(M2)RMW用メモリ領域のアドレスAであり、モディファイ用バッファアドレスBは、例えば図6(2)、図8(2)に示す(M1)第1メモリ領域のアドレスBである。さらに、モディファイサイズ=端数書き込みセクタ×512とする。本例では、論理セクタは512バイトであるとしている。
位相変化直前LBA≦端数書き込み開始LBA<X
上記比較式が成立すると判定された場合は、ステップS455に進む。上記比較式が成立する場合は、端数書き込み開始LBAが、位相変化直前LBA以上でかつX以下において発生する特殊な例である。この特殊な例の場合は、
ステップS455において、
X−位相変化直前LBA==端数書き込みセクタ数
が成立するか否かを判定する。
例えば、図1に示すX=61の場合、位相変化直前LBA=60となり、端数書き込みセクタ数=61−60=1が成立するか否かを判定する。
上記式が成立する場合は、ステップS456において、端数書き込み処理用のコマンド等の設定を実行し、上記式が成立しない場合は、ステップS458において、端数書き込み処理用のコマンド等の設定を実行する。すなわち、端数書き込みセクタ数が位相変化点の直前まで存在するか否かによって、設定コマンドを変更するものである。
コマンド発行LBA=(端数書き込みLBA÷N)×N+端数書き込みオフセット
コマンド発行バッファアドレス=RMW用バッファアドレス
コマンド発行セクタ数=端数書き込みセクタ数
これらのコマンドを設定語、ステップS457において書き込みコマンドを実行する。このような場合は、リードモディファイライト処理は実行することなく、端数データのみの書き込みが実行される。
コマンド発行LBA=(端数書き込みLBA÷N)×N+端数書き込みオフセット
コマンド発行バッファアドレス=RMW用バッファアドレス
コマンド発行セクタ数=N
モディファイ用バッファアドレスA=RMW用バッファアドレス+(端数書き込みLBA%N)×512
モディファイ用バッファアドレスB=端数書き込みバッファアドレス
モディファイサイズ=端数書き込みセクタ×512
これらの設定を実行する。
次に、上述した処理を実行する情報処理装置の構成例として、デジタルビデオカメラと、PCの装置構成例について、図21、図22を参照して説明する。
1物理セクタに含まれる論理セクタ数:N、
位相変換点:X、
これらに相当する性質を有するランダムアクセス可能なメディア全般に適用可能である。ファイルシステムの例としては、例えばFAT16/32など、その他のファイルシステムにおいてもて起用可能である。また、着脱可能なメディアに対しても、本体内蔵のメディアと同様にして適用可能なものである。
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 外部接続機器
Claims (13)
- 記録メディアに対するデータ記録処理を実行する情報処理装置であり、
アプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御部を有し、
前記アクセス制御部は、
前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証し、異なる場合に、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行する構成であることを特徴とする情報処理装置。 - 前記アクセス制御部は、
1物理セクタに含まれる論理セクタ数[N]に基づいて、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。 - 前記アクセス制御部は、さらに、
論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]に基づいて、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行する構成であることを特徴とする請求項2に記載の情報処理装置。 - 前記アクセス制御部は、
前記リードモディファイライト(RMW)処理の実行において、
前記アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、前記リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。 - 前記アクセス制御部は、
前記アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なう構成であることを特徴とする請求項1に記載の情報処理装置。 - 前記アクセス制御部は、さらに、
論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、前記アプリケーションから論理セクタ単位で入力する記録データが、前記位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する処理を実行する構成であることを特徴とする請求項5に記載の情報処理装置。 - 情報処理装置において、記録メディアに対するデータ記録処理を実行する情報処理方法であり、
アクセス制御部が、アプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力するアクセス制御ステップを実行し、
前記アクセス制御ステップは、
前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かの検証を行なう検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行するリードモディファイライト(RMW)処理ステップと、
を実行するステップであることを特徴とする情報処理方法。 - 前記アクセス制御ステップは、
1物理セクタに含まれる論理セクタ数[N]に基づいて、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行することを特徴とする請求項7に記載の情報処理方法。 - 前記アクセス制御ステップは、さらに、
論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]に基づいて、前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かを検証する処理を実行することを特徴とする請求項8に記載の情報処理方法。 - 前記アクセス制御ステップは、
前記リードモディファイライト(RMW)処理の実行において、
前記アプリケーションから論理セクタ単位で入力する記録データを格納する第1メモリ領域から、リードモディファイライト(RMW)用メモリ領域に対して、前記リードモディファイライト(RMW)処理対象となる論理セクタデータのコピー処理を実行することを特徴とする請求項7に記載の情報処理方法。 - 前記アクセス制御ステップは、
前記アプリケーションから入力する記録データの記録処理に際して、記録データに対応する管理情報リストとして、記録データに対応する論理ブロックアドレス(LBA)、記録データのセクタ数であるセクタカウント、論理セクタナンバのオフセット情報であるオフセット情報を記録した書き込みリストを生成し、書き込みリストを参照した記録処理を行なうことを特徴とする請求項7に記載の情報処理方法。 - 前記アクセス制御ステップは、さらに、
論理セクタと物理セクタとの対応関係の位相変化が発生する位相変換点[X]が存在し、前記アプリケーションから論理セクタ単位で入力する記録データが、前記位相変換点[X]の前後に渡るデータである場合、位相変換点[X]前の記録データに対する第1書き込みリストと、位相変換点[X]後の記録データに対する第2書き込みリストを生成する処理を実行することを特徴とする請求項11に記載の情報処理方法。 - 情報処理装置において、記録メディアに対するデータ記録処理を実行させるコンピュータ・プログラムであり、
アクセス制御部に、アプリケーションから入力する記録メディアに対する記録データをメディア対応制御部に出力させるアクセス制御ステップを実行し、
前記アクセス制御ステップは、
前記アプリケーションから論理セクタ単位で入力する記録データの記録開始位置または記録終了位置が、前記メディア対応制御部の管理するメディアに対するアクセス単位である物理セクタの区分位置と異なるか否かの検証を行なう検証ステップと、
前記検証ステップにおいて、異なるとの検証結果が得られた場合、前記メディア対応制御部を介して物理セクタ単位の記録データを取得してメモリに格納し、格納した物理セクタデータの一部の論理セクタデータをアプリケーションから入力するセクタ単位の記録データによって更新し、更新処理後の物理セクタデータを前記メディア対応制御部に出力するリードモディファイライト(RMW)処理を実行するリードモディファイライト(RMW)処理ステップと、
を含むステップであることを特徴とするコンピュータ・プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007094752A JP4992515B2 (ja) | 2007-03-30 | 2007-03-30 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US12/032,037 US8065495B2 (en) | 2007-03-30 | 2008-02-15 | Apparatus, method and computer program for processing information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007094752A JP4992515B2 (ja) | 2007-03-30 | 2007-03-30 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008250919A true JP2008250919A (ja) | 2008-10-16 |
JP4992515B2 JP4992515B2 (ja) | 2012-08-08 |
Family
ID=39794080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007094752A Expired - Fee Related JP4992515B2 (ja) | 2007-03-30 | 2007-03-30 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8065495B2 (ja) |
JP (1) | JP4992515B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010211888A (ja) * | 2009-03-12 | 2010-09-24 | Toshiba Storage Device Corp | ディスク記憶装置 |
JP2016530648A (ja) * | 2013-09-06 | 2016-09-29 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ハードウェアにおけるデータフレームセグメントの選択的なマージを提供する高性能システム |
JP2017041076A (ja) * | 2015-08-19 | 2017-02-23 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5540918B2 (ja) * | 2010-06-15 | 2014-07-02 | ソニー株式会社 | 情報消去装置、情報消去方法 |
US10541009B2 (en) * | 2017-12-28 | 2020-01-21 | Intel Corporation | Write data mask for power reduction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000112832A (ja) * | 1998-09-30 | 2000-04-21 | Hitachi Ltd | 情報記録方法および記録媒体ならびに情報処理装置 |
JP2000305860A (ja) * | 1999-04-23 | 2000-11-02 | Toshiba Corp | 情報記憶システム及び同システムに於ける記憶制御方法 |
JP2002015507A (ja) * | 2000-06-30 | 2002-01-18 | Sony Corp | データ記録方法およびディスク装置 |
JP2010211888A (ja) * | 2009-03-12 | 2010-09-24 | Toshiba Storage Device Corp | ディスク記憶装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4238514B2 (ja) | 2002-04-15 | 2009-03-18 | ソニー株式会社 | データ記憶装置 |
US7277986B2 (en) * | 2005-03-30 | 2007-10-02 | Emc Corporation | Sector-edge cache |
-
2007
- 2007-03-30 JP JP2007094752A patent/JP4992515B2/ja not_active Expired - Fee Related
-
2008
- 2008-02-15 US US12/032,037 patent/US8065495B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000112832A (ja) * | 1998-09-30 | 2000-04-21 | Hitachi Ltd | 情報記録方法および記録媒体ならびに情報処理装置 |
JP2000305860A (ja) * | 1999-04-23 | 2000-11-02 | Toshiba Corp | 情報記憶システム及び同システムに於ける記憶制御方法 |
JP2002015507A (ja) * | 2000-06-30 | 2002-01-18 | Sony Corp | データ記録方法およびディスク装置 |
JP2010211888A (ja) * | 2009-03-12 | 2010-09-24 | Toshiba Storage Device Corp | ディスク記憶装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010211888A (ja) * | 2009-03-12 | 2010-09-24 | Toshiba Storage Device Corp | ディスク記憶装置 |
JP2016530648A (ja) * | 2013-09-06 | 2016-09-29 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ハードウェアにおけるデータフレームセグメントの選択的なマージを提供する高性能システム |
JP2017041076A (ja) * | 2015-08-19 | 2017-02-23 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4992515B2 (ja) | 2012-08-08 |
US8065495B2 (en) | 2011-11-22 |
US20080239886A1 (en) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4955099B2 (ja) | 光ディスクドライブ装置 | |
JP2007122221A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2010198407A (ja) | 情報処理装置、およびデータ記録制御方法、並びにプログラム | |
JP4992515B2 (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2007233638A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2016149051A (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 | |
JP4487954B2 (ja) | データ記録装置、データ記録方法、及びプログラム | |
JP5216003B2 (ja) | 記録装置 | |
JP2010237907A (ja) | ストレージ装置および記録方法 | |
JP2007193886A (ja) | ディスク装置、データ書込み制御方法およびコマンド制御方法 | |
JP2008250918A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
US8560789B2 (en) | Disk apparatus, data replicating method onto disk apparatus and program recording medium | |
JP2009059444A (ja) | 情報処理装置および情報処理方法 | |
JP2011159239A (ja) | 記録装置及びその制御方法 | |
JP2010033396A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP2007108853A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2006323462A (ja) | ファイルコピー装置およびファイルコピー方法 | |
JP2006260158A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2010015385A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP2007059004A (ja) | 情報処理装置および方法、プログラム並びに記録媒体 | |
JP2004171670A (ja) | 記録再生装置及び記録再生方法 | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
JP4972909B2 (ja) | データ記録装置 | |
JP2008262381A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2010211880A (ja) | ディスクドライブ装置、その制御方法、プログラム、及び、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120322 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120410 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120423 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |