JP4471007B2 - 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体 - Google Patents

記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP4471007B2
JP4471007B2 JP2008025073A JP2008025073A JP4471007B2 JP 4471007 B2 JP4471007 B2 JP 4471007B2 JP 2008025073 A JP2008025073 A JP 2008025073A JP 2008025073 A JP2008025073 A JP 2008025073A JP 4471007 B2 JP4471007 B2 JP 4471007B2
Authority
JP
Japan
Prior art keywords
recording
data
recording medium
recorded
block size
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.)
Active
Application number
JP2008025073A
Other languages
English (en)
Other versions
JP2009187184A (ja
Inventor
亮吾 伊藤
浩 下野
淳一 横田
文彦 貝瀬
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 JP2008025073A priority Critical patent/JP4471007B2/ja
Priority to US12/339,539 priority patent/US8209467B2/en
Priority to EP09150895A priority patent/EP2117007A3/en
Priority to TW098102290A priority patent/TWI382309B/zh
Priority to CN200910008587XA priority patent/CN101504593B/zh
Priority to KR1020090009321A priority patent/KR20090086049A/ko
Publication of JP2009187184A publication Critical patent/JP2009187184A/ja
Application granted granted Critical
Publication of JP4471007B2 publication Critical patent/JP4471007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体に関し、例えばディジタルビデオカメラに適用することができる。本発明は、一定データ量を記録する毎に管理情報を更新するようにして、記録媒体がフラッシュメモリ等による記録媒体である場合に、消去ブロックサイズが増大するに従ってこの一定データ量を増大させることにより、一定データ量を記録する毎に、FATエントリ等の記録を更新する場合に、記録媒体の極端な使用可能年数の低下を低減する。
従来、ディジタルビデオカメラ等の記録装置は、FAT(File Allcation Table)16、FAT32等のFATファイルシステムにより所望のデータを各種の記録媒体に記録している。ここでFATファイルシステムは、記録媒体の記録領域をデータ領域と管理領域とに区分し、一定データ量の管理単位であるクラスタ単位でデータ領域を管理領域に記録した管理情報で管理する。
図15は、FATファイルシステムの一般的なシステム構成を示す階層モデルである。階層モデルは、ソフトウエア層と、その下層のハードウエア層に大別される。ソフトウエア層は、プログラム、各種ファームウエア、ミドルウエア等によるソフトウエア処理の階層であり、上層から、アプリケーション層(アプリケーション)2、ファイルシステム層(ファイルシステム)3、デバイスドライバ層(デバイスドライバ)4が順次設けられる。ハードウエア層は、記録媒体5及び周辺回路による物理的構成の階層である。
ここでアプリケーション層2は、所定データ量単位の記録再生をファイルシステム層3に要求する。またアプリケーション層2は、この要求の応答をファイルシステム層3から取得する。ファイルシステム層3は、アプリケーション層2からのアクセス要求を、クラスタ単位のアクセス要求に変換してデバイスドライバ層4にアクセス要求を出力する。またファイルシステム層3は、デバイスドライバ層4からのクラスタ単位の応答に基づいて、アプリケーション層2からの要求に対する応答を返す。
デバイスドライバ層4は、ファイルシステム層3からのクラスタ単位のアクセス要求を、記録媒体における物理的な管理単位であるセクタ単位のアクセス要求に変換してハードウエア層にアクセス要求を出力する。またデバイスドライバ層4は、この要求の応答に基づいてファイルシステム層3に応答を返す。なおここで1クラスタは、複数セクタにより構成される。
ハードウエア層は、デバイスドライバ層4からのセクタ単位のアクセス要求に応動して、記録媒体5の対応するセクタからデータを読み出してデバイスドライバ層4に出力する。また同様にして、ハードウエア層は、記録媒体5の対応するセクタにデータを書き込んでデバイスドライバ層4に応答を返す。この階層モデルでは、ファイルシステム層3にFATファイルシステムが適用され、このFATファイルシステムに対応して記録媒体5がフォーマットされる。
ここで図16は、FATファイルシステムにおける記録媒体5のフォーマット構造を示す図である。図16(A)は、FAT16を示すものであり、図16(B)は、FAT32を示すものである。なおこの図16は、LBA(Logical Block Addressing)に従った論理的な構造を示すものである。この図16では、最上段が先頭セクタ(LBA=0)であり、下段に向かって順次セクタ番号が増大する。なおこの図16は、記録媒体に1つのパーティションが設けられている場合を示すものである。
FAT16は、先頭の1セクタにMBR(Master Boot Recorder)が設けられる。なお1セクタは、512バイトである。ここで図17(A)は、このMBRを詳細に示す図であり、ラスタ走査順にMBRに割り当てられるデータを示す図である。この図17(A)において、横1列は、16バイトであり、この図17(A)の左側に設けられた0000〜01F0の記載は、16進の表記で示す各列先頭1バイトのアドレスである。また上端に設けられた00〜0Fの記載は、16進の表記で示す横1列(16バイト)中のアドレスである。
従ってこの図17(A)では、0000h〜01BDhの446バイトの領域に、起動コードが割り当てられることが示されている。ここで起動コードは、OS(Operating System)の起動(ブート)のためのコードであり、OS起動用に記録媒体が使用される場合に設けられる。
MBRは、続く01BEh〜01FDhの64バイトに、パーティションテーブルが設けられる。ここでパーティションテーブルは、この64バイトの領域が16バイト単位で区切られて4つのパーティションを登録可能とされ、それぞれ起動時に必要な各パーティションの情報が記録される。より具体的に、図17(B)に各パーティションのエントリ構造を示すように、パーティションテーブルは、起動ドライブの指定の有無を示すフラグ、CHS(Cylinder/Head/Sector)表記により示すパーティションの開始セクタ、システム識別子(タイプ)、CHS表記により示すパーティションの終了セクタ、LBAにより示すパーティションの開始セクタ、パーティションサイズが順次割り当てられる。なおここでシステム識別子は、パーティションの対応するプラットフォーム、ファイルシステム等を示す識別子である。MBRは、最後の2バイトにMBRであることを示すコード(55AA)が設定される(図17(A))。
FAT16は(図16)、MBRに続いて所定セクタ数の空き領域が設けられる。FAT16は、MBR及びこの空き領域を除く残りの領域が、パーティションに区切られる。FAT16は、各パーティションの先頭所定領域が各パーティションに設けられるデータ領域の管理領域であるシステム領域に割り当てられ、残りの領域が各パーティションのデータ領域に割り当てられる。
ここでシステム領域は、先頭の所定バイト数の領域がBPB(BIOS Parameter Block/Boot Parameter Block)に割り当てられる。BPBには、例えばホスト側のBIOS(Basic Input/Output System)等が続くFAT領域をアクセスするのに必要な情報が記録される。具体的に、BPBには、FAT領域の数、メインのFAT領域の開始セクタ、FAT領域のセクタ数等が記録される。
システム領域は、続いて第1及び第2のFAT領域FAT1及びFAT2が設けられる。ここで第1及び第2のFAT領域FAT1及びFAT2は、一方がメインのFAT領域に設定され、他方が一方のバックアップ用、予備領域等に利用される。FAT領域FAT1及びFAT2には、クラスタ番号順に、データ領域に割り当てられた各クラスタのFATエントリが設けられる。ここでFATエントリは、未使用を示すコード、EOF(End Of File )を示すコード、続いて再生すべきデータが記録されたクラスタのクラスタ番号の何れかが記録される。なお以下において、この続いて再生すべきデータが記録されたクラスタのクラスタ番号を連結クラスタ番号と呼ぶ。なおクラスタ番号は、データ領域に割り当てられた個々のクラスタを特定する番号である。FAT16は、クラスタ番号が2バイトで表され、これに対応してFATエントリは、それぞれ2バイトとされる。
続いてシステム領域は、ルートディレクトリエントリが設けられる。ここでルートディレクトリエントリは、ルートディレクトリに設けられたディレクトリ及びファイルのディレクトリエントリが設けられる。ここで図18は、ディレクトリエントリを示す図表である。ディレクトリエントリは、対応するファイルのファイル名、拡張子、属性、リザーブ(予約)、作成時刻、作成日の日付、最終アクセス日、先頭クラスタ番号の上位側1バイト、記録時刻、記録した日の日付、先頭クラスタ番号の下位側1バイト、ファイルサイズが順次割り当てられる。なおこの図18において、上段の0〜1Fの数字は、値0から始まる16進で表した各データのバイト位置であり、下段の1〜32の数字は、値1から始まる10進で表した各データのバイト位置である。
その結果、FAT16では、このルートディレクトリエントリに記録された複数のディレクトリエントリから、ファイル名、拡張子により所望するファイルのディレクトリエントリが検出される。またこの検出したディレクトリエントリに設定された先頭クラスタ番号から、この所望するファイルを記録した先頭クラスタを特定するクラスタ番号が検出される。また検出した先頭クラスタ番号からFATエントリの記録を順次辿って検出される連結クラスタ番号により、続くデータを記録したクラスタのクラスタ番号が順次検出される。
図16(B)は、図16(A)との対比により、FAT32のフォーマット構造を示す図である。FAT32は、クラスタが4バイトで管理される点、FAT16で上述したディレクトリエントリがデータ領域に設けられる点、このディレクトリエントリに関連する構成が異なる点、FSinfoの領域がシステム領域に設けられる点を除いて、FAT16と同一に構成される。従ってFAT32でも、ディレクトリエントリから検出した先頭クラスタ番号、この先頭クラスタ番号からFATエントリの記録を順次辿って検出される連結クラスタ番号により、所望のファイルを記録したデータ領域のクラスタが検出される。なおFSinfoは、該当パーティションにおける空き容量の計算に使用する情報が格納される。
ここで図19は、FAT32によるFATエントリの具体的構成を示す図である。この図19において、RSVは、予約の領域であり、−は空き領域である。ここでこの図19の例では、4つのファイルのディレクトリエントリがデータ領域に記録されており、それぞれディレクトリエントリの先頭クラスタ番号が00000007、0000000A、0000001B、0000002Cに設定されているものとする。この図19では、クラスタ番号00000007のFATエントリに連結クラスタ番号00000008が記録されており、またクラスタ番号00000008のFATエントリに連結クラスタ番号00000009が記録されており、クラスタ番号00000009のFATエントリにEOFが記録されている。従って先頭クラスタ番号が00000007のファイルは、クラスタ番号00000007、00000008、00000009のクラスタに順次データが記録されていることが判る。
またこの図19では、クラスタ番号0000000AのFATエントリに連結クラスタ番号0000001Fが記録されており、またクラスタ番号0000001FのFATエントリに連結クラスタ番号00000025が記録されており、クラスタ番号00000025のFATエントリに連結クラスタ番号00000031が記録されており、クラスタ番号00000031に連結クラスタ番号00000030が記録されており、クラスタ番号00000030のFATエントリにEOFが記録されている。従って先頭クラスタ番号が0000000Aのファイルは、クラスタ番号0000000A、0000001F、00000025、00000031、00000030のクラスタに順次データが記録されていることが判る。
なお同様にして、先頭クラスタ番号が0000001Bのファイルは、クラスタ番号0000001B、00000011、00000012、00000013、00000014、00000003のクラスタに順次データが記録されていることが判り、先頭クラスタ番号が0000002Cのファイルは、クラスタ番号0000002C、0000002D、0000002E、0000002F、00000038、00000039、0000003A、0000003Bのクラスタに順次データが記録されていることが判る。
従来の記録装置は、データ記録時、FAT領域を検索して空き領域のクラスタを検出する。またこの検出結果に基づいて先頭クラスタ番号等を設定してディレクトリエントリを記録した後、空き領域のクラスタに順次データを記録すると共に、データを記録したクラスタのクラスタ番号を内蔵メモリに順次記録して保持する。またファイルの記録を完了すると、内蔵メモリの記録に従ってデータの記録に対応するようにFATエントリの記録を更新して連結クラスタを設定し、またディレクトリエントリを記録し直す。
このデータ記録時の処理に関して、特開2007−122221号公報等には、データ領域に一定データ量を記録する毎に、FATエントリの記録を更新して連結クラスタを設定する方法が提案されている。この方法によれば、ファイルの記録途中で電源が遮断した場合でも、それまでに記録したデータを再生可能とすることができる。従って貴重なデータを損なわないようにすることができる。
近年、着脱可能な記録媒体としてフラッシュメモリを使用したメモリカードが利用されている。ここでフラッシュメモリは、記録領域が消去ブロックで区切られ、消去ブロック単位でデータを消去する。また消去ブロックの一部データを更新する場合でも、消去ブロック単位でデータを更新する。より具体的に、この消去ブロック単位のデータの更新は、更新するデータを別の消去ブロックに記録した後、それまでデータを記録していた消去ブロックとこの別の消去ブロックとのアドレスを置き換えて実行される。
ところでフラッシュメモリは、記録回数に制限がある。従って、単に、一定データ量を記録する毎に、FATエントリの記録を更新して貴重なデータを損なわないようにしていたのでは、フラッシュメモリの使用可能な年数が極端に短くなる問題がある。
特開2007−122221号公報
本発明は以上の点を考慮してなされたもので、一定データ量を記録する毎に、FATエントリの記録を更新する場合に、記録媒体の極端な使用可能年数の低下を低減することができる記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体を提案しようとするものである。
上記の課題を解決するため請求項1の発明は、記録装置に適用して、着脱可能に保持された記録媒体の種類を検出する種類検出部と、前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出部と、前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録部と、前記種類検出部及び前記消去ブロックサイズ検出部の検出結果に基づいて、前記記録部にコマンドを発行して前記記録部を制御する制御部とを備え、前記制御部は、一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、前記記録媒体が、前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って前記一定データ量を増大させる。
また請求項5の発明は、着脱可能に保持された記録媒体の種類を検出する種類検出ステップと、前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出ステップと、前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録ステップと、前記種類検出ステップ及び前記消去ブロックサイズ検出ステップの検出結果に基づいて、前記記録ステップにコマンドを発行して前記記録ステップを制御する制御ステップとを有し、前記制御ステップは、一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、前記記録媒体が前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って前記一定データ量を増大させる。
また請求項6の発明は、着脱可能に保持された記録媒体に所望のデータを記録する記録方法のプログラムに適用して、前記記録媒体の種類を検出する種類検出ステップと、前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出ステップと、前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録ステップと、前記種類検出ステップ及び前記消去ブロックサイズ検出ステップの検出結果に基づいて、前記記録ステップにコマンドを発行して前記記録ステップを制御する制御ステップとを有し、前記制御ステップは、一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、前記記録媒体が前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って前記一定データ量を増大させる。
また請求項7の発明は、着脱可能に保持された記録媒体に所望のデータを記録する記録方法のプログラムを記録した記録媒体に適用して、前記記録方法のプログラムは、前記記録媒体の種類を検出する種類検出ステップと、前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出ステップと、前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録ステップと、前記種類検出ステップ及び前記消去ブロックサイズ検出ステップの検出結果に基づいて、前記記録ステップにコマンドを発行して前記記録ステップを制御する制御ステップとを有し、前記制御ステップは、一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、前記記録媒体が前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って前記一定データ量を増大させる。
請求項1、請求項5、請求項6、又は請求項7の構成によれば、データ領域に一定データ量を記録する毎に管理情報を更新するようにして、記録媒体が消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合に、消去ブロックサイズが増大するに従ってこの一定データ量を増大させることから、記録媒体がフラッシュメモリ等による記録媒体である場合に、消去ブロックサイズが大きくなった場合でも、消去ブロックサイズが小さい場合と同程度に、同一の消去ブロックに対する管理情報の更新回数を維持することができる。従って一定データ量を記録する毎に、FATエントリの記録を更新する場合に、記録媒体の極端な使用可能年数の低下を低減することができる。
本発明によれば、一定データ量を記録する毎に、FATエントリの記録を更新する場合に、記録媒体の極端な使用可能年数の低下を低減することができる。
以下、適宜図面を参照しながら本発明の実施例を詳述する。
(1)実施例の構成
図2は、本発明の実施例1の記録装置であるディジタルビデオカメラを示すブロック図である。このディジタルビデオカメラ11において、光学レンズ部12は、光電変換部13の撮像面に被写体の光学像を形成する。カメラ機能部14は、中央処理ユニット(CPU)15の制御により、光学レンズ部12の焦点距離、絞りを可変制御する。光電変換部13は、例えばCMOS(Complementary Metal-Oxide Semiconductor )固体撮像素子、CCD(Charge Coupled Device )固体撮像素子等により作成され、撮像面に形成された光学像の光電変換結果を出力する。
画像信号処理部16は、光電変換部13の出力信号を処理して画像データを生成し、この画像データを表示部17、中央処理ユニット15に出力する。また画像信号処理部16は、この画像データを処理してオートフォーカス調整に必要なデータを生成し、このデータを中央処理ユニット15に出力する。またこの画像データをディジタルアナログ変換処理してアナログ信号のビデオ信号を生成し、画像入出力部18に出力する。またこれとは逆に、画像入出力部18から入力されるアナログ信号のビデオ信号から画像データを生成して中央処理ユニット15に出力する。なお画像信号処理部16は、例えばMPEG(Moving Picture Experts Group)の手法で画像データをデータ圧縮して中央処理ユニット15に出力する。また画像信号処理部16は、中央処理ユニット15の制御により動作を切り換え、中央処理ユニット15から出力される画像データをデータ伸長した後、表示部17に出力する。またこのデータ伸長した画像データをアナログ信号のビデオ信号に変換して画像入出力部18に出力する。
画像入出力部18は、画像信号処理部16から出力されるアナログ信号のビデオ信号を外部機器に出力し、また外部機器から入力されるアナログ信号のビデオ信号を画像信号処理部16に出力する。表示部17は、例えば液晶表示装置であり、画像信号処理部16から出力される画像データを入力して表示する。
音声入出力部19は、被写体の音声を取得するマイク、モニタ用の音声を再生するスピーカ等により構成され、音声処理部20との間で音声信号を入出力する。音声処理部20は、音声入出力部19から入力される音声信号を増幅し、この音声信号をモニタ用に音声入出力部19に出力する。またこの音声信号をアナログディジタル変換処理して音声データを生成し、中央処理ユニット15に出力する。また中央処理ユニット15から出力される音声データから音声信号を生成し、この音声信号をモニタ用に音声入出力部19に出力する。
電源部21は、このディジタルビデオカメラ11の各部に電源を供給する。通信部22は、外部機器との間で、画像データ、音声データを入出力する。なおここで通信部22には、例えばイーサーネット、USB(Universal Serial Bus)、IEEE (The Institute of Electrical and Electoronics Engineers,Inc.)802.11a/b/g、Bluetooth等の各種インターフェースを適用することができる。操作入力部23は、このディジタルビデオカメラ11の操作パネル等に設けられた各種操作子であり、ユーザーの操作を中央処理ユニット15に通知する。
ドライブ24は、中央処理ユニット15の制御により、このディジタルビデオカメラ11に装着される各種記録媒体に中央処理ユニット15から出力されるデータを記録し、またこれとは逆に、記録媒体に記録されたデータを再生して中央処理ユニット15に出力する。なおここでこの実施例では、記録媒体としてハードディスク装置(HDD)、光ディスク、光磁気ディスク、半導体メモリによるメモリカードが適用される。センサ25は、これらの記録媒体の装着をそれぞれ検出して中央処理ユニット15に通知する。
ランダムアクセスメモリ(RAM)26は、中央処理ユニット15のワークエリア等を構成する。リードオンリメモリ(ROM)27は、中央処理ユニット15のプログラム、このプログラムの実行に必要な各種のモジュール、データ等を記録して保持する。なおこの実施例において、このリードオンリメモリ27に記録されるプログラム、モジュール等は、このディジタルビデオカメラ11に事前にインストールされて提供されるものの、これに代えて通信部22を介して各種サーバーからダウンロードして提供するようにしてもよく、各種記録媒体に記録して提供するようにしてもよい。
中央処理ユニット15は、このリードオンリメモリ27に格納されたプログラムを実行して各部の動作を制御する。より具体的に、中央処理ユニット15は、操作入力部23で電源スイッチの操作が検出されると、電源部21の制御により各部に電源の供給を開始して全体の動作を立ち上げる。また操作入力部23を介して撮影の指示が検出されると、光学レンズ部12、光電変換部13、カメラ機能部14、画像信号処理部16、表示部17、音声入出力部19、音声処理部20の制御により被写体を撮影してモニタ画像を表示し、またモニタ用の音声を出力する。また操作入力部23を介して記録開始の指示が検出されると、さらに画像信号処理部16、ドライブ24の動作を制御して画像データをデータ圧縮した後、各種の記録媒体に記録する。また記録媒体に記録した撮像結果のモニタが指示されると、画像信号処理部16、表示部17、音声入出力部19、音声処理部20、ドライブ24の制御により記録媒体から画像データ、音声データを再生してモニタ画像を表示し、またモニタ用の音声を出力する。このディジタルビデオカメラ11は、この画像データ、音声データの記録再生にFATファイルシステムが適用される。
図3は、図15との対比により、このディジタルビデオカメラ11におけるFATファイルシステムのシステム構成を示す図である。このディジタルビデオカメラ11は、アプリケーション層32の下位に、順次、ファイルシステム層33、デバイスドライバ層34、記録媒体等によるハードウエア層が設けられる。なおこの図3では、図2について上述したハードディスク装置、光ディスク、光磁気ディスク、メモリカードのうち、ハードディスク装置及びメモリカードのみが設けられている場合を示す。従って記録媒体35A及び35Bは、それぞれハードディスク装置及びメモリカードである。またデバイスドライバ層34は、ハードディスク装置及びメモリカードにそれぞれ対応するデバイスドライバ層34A及び34Bが設けられ、それぞれファイルシステム層33の制御により記録媒体35A及び35Bに対してデータの記録、再生等を実行する。なおアプリケーション層32、ファイルシステム層33、デバイスドライバ層34は、各部の処理に必要なパラメータ、記録媒体35A及び35Bに記録するデータ、記録媒体35A及び35Bから再生したデータ等をランダムアクセスメモリ(RAM)26に格納してそれぞれ各層の処理を実行する。従ってランダムアクセスメモリ(RAM)26は、これらアプリケーション層32、ファイルシステム層33、デバイスドライバ層34のワークメモリを構成すると共に、バッファメモリを構成する。
デバイスドライバ層34は、ファイルシステム層33からのアクセス要求により記録媒体35A又は35Bをアクセスし、メディア情報、MBRに記録された情報、システム領域及びデータ領域の情報を読み出して出力する。ここでメディア情報は、記録媒体の種類を示す情報であり、記録媒体がメモリカードであるか、ハードディスク装置であるか等を識別する情報である。メディア情報は、記録媒体の詳細な種別を識別する情報を含む。従って例えば記録媒体がメモリカードの場合、後述する汎用品、ハイグレード品、標準グレード品とを識別する情報が含まれる。またメディア情報には、記録媒体がフラッシュメモリのメモリカードの場合、消去ブロックサイズの情報が含まれる。またデバイスドライバ層34は、同様のファイルシステム層33からのアクセス要求により、記録媒体35A又は35Bに各種のデータを記録する。
ここでこの記録媒体35A又は35Bに各種のデータを記録する処理が、記録媒体35A、35Bのデータ領域に対する処理の場合、デバイスドライバ層34は、ファイルシステム層33からのクラスタ単位のアクセス要求毎に、図4又は図5の処理手順を実行してファイルシステム層33から指定されたクラスタの先頭セクタXから、1クラスタを構成するNセクタにデータを記録する。
ここで図4は、アプリケーション層32から後述するくさび打ち処理しないファイルライトが指示された場合の処理手順であり、デバイスドライバ層34は、ファイルシステム層33から記録が指示されると、ステップSP1からステップSP2に移り、バッファメモリ(RAM26)に記録されたデータを先頭セクタXからNセクタに記録する。また続いてステップSP3に移り、この処理手順を終了してファイルシステム層33に処理の完了を通知する。
また図5は、アプリケーション層32から後述するくさび打ち処理するファイルライトが指示された場合の処理手順であり、図4との対比により示すように、デバイスドライバ層34は、ステップSP2でNセクタの記録を完了すると、ステップSP5に移り、内部キャッシュに格納されたデータを記録媒体に記録してキャッシュメモリをフラッシュした後、ステップSP3に移ってこの処理手順を終了する。
ファイルシステム層33は、メディア制御部36、記録制御部37、インターフェース部38が設けられる。ここでメディア制御部36は、記録媒体に対応する構成であり、記録制御部37の制御により、デバイスドライバ層34による記録再生を制御する。具体的に、メディア制御部36は、アプリケーション層32からの指示により、デバイスドライバ層34を介して記録媒体35A、35Bからメディア情報、MBR及びシステム領域に記録された情報を取得する。メディア制御部36は、この取得したメディア情報、MBRに記録された情報を、情報を取得したドライブを特定する情報と共にインターフェース部38を介してファイルシステム層33に通知する。また取得したシステム領域に記録された情報を記録制御部37に通知する。なおファイルシステム層33は、この取得したメディア情報、MBRに記録された情報を、対応するドライブのマウントドライブ情報40A、40Bとして保持する。
またメディア制御部36は、記録制御部37の制御によりシステム領域の更新、データ領域の記録再生をデバイスドライバ層34に指示する。メディア制御部36は、位置算出部36Aにより記録媒体35A、35Bの記録再生位置を特定して記録媒体35A、35Bに対する記録再生の処理を実行する。またメディア情報管理部36Bにより、メディア情報、MBRに記録された情報の処理を管理する。
記録制御部37は、記録媒体35A、35Bのシステム領域に記録された情報の管理、データ領域の管理を実行する。ここで記録制御部37において、ディレクトリエントリ制御部37Aは、記録媒体35A、35Bのディレクトリエントリを管理する。具体的に、ディレクトリエントリ制御部37Aは、メディア制御部36を介して記録媒体35A、35Bからディレクトリエントリの情報を取得し、ファイル再生時、この取得したディレクトリエントリの情報から再生対象ファイルのディレクトリエントリを検出して先頭セクタ番号を検出する。またファイル記録時、FAT制御部37Cで検出されるクラスタ番号により対応するディレクトリエントリを作成し、メディア制御部36を介してこの作成したディレクトリエントリを記録媒体35A、35Bのシステム領域に登録する。
ファイルシステム層33は、このディレクトリエントリ制御部37Aにより、ファイル記録時、ファイルの記録開始前に先頭クラスタ番号、ファイル名、拡張子等を設定してディレクトリエントリを記録媒体35A、35Bに記録した後、ファイルの記録の完了によりファイルサイズ等を設定してディレクトリエントリを記録し直す。この実施例では、この事前にディレクトリエントリを記録媒体35A、35Bに記録する処理をファイルオープンと呼び、ディレクトリエントリを記録し直す処理をファイルクローズと呼ぶ。
FAT制御部37Cは、記録媒体35A、35BのFAT領域を管理する。具体的に、FAT制御部37Cは、メディア制御部36を介して記録媒体35A、35BからFAT領域の情報を取得して保持し、ファイル再生時、ディレクトリエントリ制御部37Aで検出された先頭クラスタ番号により順次FATエントリを辿って連結クラスタ番号を検出する。またFAT制御部37Cは、記録時、FATエントリから空き領域のクラスタ番号を検出し、データの記録に対応するように保持したFATエントリの記録を更新する。またメディア制御部36を介して更新したFATエントリにより記録媒体35A及び35BのFAT領域を更新する。
この実施例では、一定のデータ量を記録媒体35A、35Bに記録する毎に、この記録媒体35A及び35BのFAT領域を更新する処理およびディレクトリエントリを更新する処理を実行し、以下においては、この処理をくさび打ちの処理と呼ぶ。なおここでこの実施例におけるくさび打ちの処理は、その時点で、最も末尾のデータを記録したクラスタのFATエントリにEOFを設定し、かつ、ディレクトリエントリ内のファイルサイズやタイムスタンプを更新する。
クラスタ制御部37Bは、記録媒体35A、35Bのデータ領域を管理する。具体的に、クラスタ制御部37Bは、FAT制御部37C、ディレクトリエントリ制御部37Aで検出されるクラスタ番号からデータ領域のクラスタを特定する。インターフェース部38は、アプリケーション層32からのコマンドをメディア制御部36、記録制御部37に通知し、またメディア制御部36、記録制御部37からの応答等をアプリケーション層32に通知する。
アプリケーション層32は、操作入力部23を介して検出されるユーザーの操作に応動して、直接に、又は対応するモジュール等を介して各部の動作を制御する。この制御において、アプリケーション層32は、光電変換部13、画像入出力部18を介して得られる画像データを記録媒体35A又は35Bに記録する場合、一定データ量を記録媒体に記録する毎に、データ領域への記録に対応して管理情報であるシステム領域のFATエントリを更新する。この実施例では、まとめ書きサイズ及びくさび打ちカウント周期によりこの一定データ量を管理し、消去ブロックサイズが大きくなるに従ってこの一定データ量が増大するように設定する。
このためアプリケーション層32は、まとめ書き単位テーブル41、くさび打ちカウントテーブル42、レートテーブル43に基づいて、まとめ書きサイズ、くさび打ち周期を設定する。またこの設定に基づいて、このまとめ書きサイズによるデータ量単位でファイルシステム層33にデータの記録を指示し、またくさび打ち周期でファイルシステム層33にくさび打ちを指示する。
ここでまとめ書き単位テーブル41は、図6に示すように、メディア情報から検出される消去ブロックサイズに応じて、アプリケーション層32からの1回の書込みコマンドで記録媒体35A、35Bに記録するデータ量であるまとめ書きサイズを定義するテーブルである。まとめ書き単位テーブル41は、消去ブロックサイズに所定の整数値Mを乗算した値がまとめ書きサイズに設定される。その結果、ディジタルビデオカメラ11では、消去ブロックサイズが大きくなればなる程、1回の書込みコマンドで多くのデータを記録媒体35A、35Bに記録してくさび打ちの頻度を低下させ、くさび打ちによる記録媒体35A、35Bの使用可能年数の低下を低減する。なおここで整数値Mは、例えば値1、2等の固定値としてもよく、例えば記録する画像データの転送速度に応じて可変してもよい。なおこの転送速度に応じた可変は、例えば記録する画像データの転送速度が増大するに従って値を増大させ、画像データのリアルタイム記録を妨げないようにすることが考えられる。なおメモリカードにおいて、消去ブロックサイズは、256〔KB〕が基本サイズに設定され、この基本サイズの整数倍に設定される。なおハードディスク装置等の記録媒体では、消去ブロックサイズが定義されていないことから、これらの記録媒体では、まとめ書きサイズが所定の基準値に設定される。
くさび打ちカウントテーブル42は、図7に示すように、メディア情報から検出される記録媒体の種別に応じてくさび打ちの周期をファイルシステム層33への書込みコマンドの発行回数(カウント値)で定義するテーブルである。くさび打ちカウントテーブル42は、くさび打ちの処理により使用可能年数の低下が発生しない記録媒体(この図7の例ではハードディスク装置(HDD))では、ファイルシステム層33への書込みコマンドの発行毎に、くさび打ちの処理を実行する値1に設定される。またくさび打ちの処理により使用可能年数の低下が発生する記録媒体であるメモリカードでは、信頼性が高くなって、くさび打ちの処理による使用可能年数の低下が少ない記録媒体程、さらには記録する画像データの転送速度が高くなることが予測されるハイエンドユーザー用の記録媒体程、くさび打ち処理の頻度が増大するように設定される。従ってこの図7では、最も汎用性の高いメモリカード(汎用)では、カウント値が値8に設定され、プロ用標準グレードのメモリカード、プロ用ハイグレードのメモリカードで、カウント値がそれぞれ値4及び値2に設定される。
レートテーブル43は、図6及び図7との対比により図8に示すように、実際に測定して検出される記録媒体35A、35Bに対する転送レートによりまとめ書きサイズ、くさび打ちの周期を定義するテーブルである。ここで記録媒体への転送レートが増大すると、頻繁にくさび打ち処理を実行しても、記録媒体へのリアルタイム記録が損なわれ難くなることにより、レートテーブル43は、転送レートが増大するに従ってくさび打ち処理頻度が増大するように、まとめ書きサイズ、カウント値が設定される。より具体的に、転送レートが増大するに従ってまとめ書きサイズ、カウント値が低下するように設定される。なおここでレートテーブル43におけるまとめ書きサイズも、図6について上述した消去ブロックサイズの基本サイズ(256〔KB〕)に対する整数倍に設定される。図8における整数値Mは、まとめ書き単位テーブル41に設定される整数値Mと等しい値としてもよく、異なる値としてもよい。またまとめ書き単位テーブル41に設定される整数値Mと同様に固定値としてもよく、可変値としてもよい。
図1は、これらまとめ書き単位テーブル41、くさび打ちカウントテーブル42、レートテーブル43に基づいて、まとめ書きサイズ、くさび打ち周期を設定する処理手順を示すフローチャートである。なおこの処理手順は、アプリケーション層32、ファイルシステム層33、デバイスドライバ層34により実行されるものの、これらの各層32、33、34は、専ら中央処理ユニット15の処理により構成されることから、以下においては、中央処理ユニット15を主体に説明する。
中央処理ユニット15は、センサ25を介して記録媒体の装着が検出されると、この処理手順を開始してステップSP11からステップSP12に移る。ここで中央処理ユニット15は、装着された記録媒体からのメディア情報等の取得を指示し、メディア情報及び装着されたドライブを特定する情報を取得する。また続くステップSP13において、この取得した情報に基づいて、くさび打ちカウントテーブル42を検索し、対応するカウント値Aを検出する。
続いて中央処理ユニット15は、ステップSP14に移り、ステップSP12で取得したメディア情報から消去ブロックサイズを検出する。また続くステップSP15において、この検出した消去ブロックサイズによりまとめ書き単位テーブル41を検索し、対応するまとめ書きサイズBを検出する。
続いて中央処理ユニット15は、ステップSP16に移り、記録媒体へのデータ転送速度を実測する。ここで中央処理ユニット15は、一定データ量の書込みに要する所要時間から、記録媒体へのデータ転送速度を実測する。より具体的には、測定対象の記録媒体に対して一定データ量のデータ書込みコマンドを発行した後、書込み完了の応答が得られるまでの時間を書込みに要する所要時間として計測する。またこの所要時間、書込んだデータ量からデータ転送速度を実測する。
ここで図9は、このステップSP16の処理をより詳細に示すフローチャートである。なおこの図9は、メインのFAT領域がFAT1であり、バックアップ用のFAT領域がFAT2である場合について示すものである。
中央処理ユニット15は、この処理手順を開始すると、ステップSP21からステップSP22に移り、メインのFAT領域の先頭256セクタのデータを読み出してバッファメモリ26に格納した後、このデータをバックアップ用のFAT領域の対応する領域に記録する。このとき中央処理ユニット15は、書込みコマンドを発行した後、書込み終了のコマンドが得られるまでの時間を計測する。
続いて中央処理ユニット15は、ステップSP23に移り、メインのFAT領域に未だデータの読出しを実行してない領域が256セクタ以上存在するか否か判断し、ここで否定結果が得られると、ステップSP22に戻り、続く256セクタについて、同様の処理を実行する。従って中央処理ユニット15は、所定回数だけステップSP22の処理を繰り返し、ステップSP23で肯定結果が得られると、ステップSP23からステップSP24に移る。
中央処理ユニット15は、このステップSP24において、ステップSP22の繰り返しで測定された複数の時間計測結果からデータ転送速度を計算する。ここで中央処理ユニット15は、ステップSP22の繰り返しで測定された複数の時間計測値を加算した後、ステップSP22の繰り返し回数×256セクタ分のデータ量を加算値で割り算し、データ転送速度を計算する。なおデータ転送速度は、ステップSP22を実行する毎に測定される時間計測値でそれぞれ256セクタ分のデータ量を割り算してデータ転送速度の測定値を複数求め、これを平均値化してもよい。
続いて中央処理ユニット15は、ステップSP25に移り、ステップSP22とは異なる領域に対して書込みコマンドを発行して書込みに要する時間を時間計測する。ここでこのステップSP25の時間計測に使用する領域は、ステップSP22で時間計測した領域に比して、書込みに要する時間が最も大きく異なる可能性のある領域が適用される。より具体的に、中央処理ユニット15は、ステップSP22において、FAT領域で時間計測したことにより、このステップSP25では、データ領域の最も下位LBAの領域で時間計測の処理を実行する。
すなわち中央処理ユニット15は、ステップSP25において、FAT領域の記録を参照してLBAの下位側でデータが記録されたクラスタのクラスタ番号を順次検出する。またこの検出したクラスタ番号に基づいて、LBAの下位側領域から256セクタのデータを読み出してバッファメモリ26に格納する。またこのバッファメモリ26に格納したデータをLBAが下位側の空き領域に順次記録し、中央処理ユニット15は、この書込みに要する時間を計測する。
続いて中央処理ユニット15は、ステップSP26に移り、ステップSP22を繰り返した回数だけ、ステップSP25の処理を繰り返したか否か判断し、ここで否定結果が得られると、ステップSP25に戻り、同様にして続く領域からデータを読み出して記録媒体に記録し、書込みに要する時間を計測する。中央処理ユニット15は、所定回数だけこのステップSP25の処理を繰り返すと、ステップSP26で肯定結果が得られることにより、ステップSP26からステップSP27に移り、ステップSP24と同様にしてステップSP25で計測した書込みに要する時間から転送レートを計算する。
また続くステップSP28において、ステップSP24及びステップSP27で計算した転送レートを例えば平均値化して記録媒体の転送レートを計算した後、ステップSP29に移って元の処理手順に戻る。
なおこの図9の例では、バックアップ用のFAT領域とLBAの下位側領域とでデータ転送速度を計測する場合について述べたが、実用上十分な測定精度を確保する場合には、1つの領域だけでデータ転送速度を計測してもよく、また他の領域でデータ転送速度を計測してもよい。また記録媒体に記録されたデータを再生してデータ転送速度計測用に利用する代わりに、例えば内部で生成したダミーデータ等、種々のデータを測定に使用することができる。
中央処理ユニット15は(図1)、ステップSP16においてデータ転送速度を測定すると、ステップSP16からステップSP31に移り、ステップSP16で求めた転送レートによりレートテーブル43を検索し、対応するまとめ書きサイズC及びカウント値Dを検出する。
続いて中央処理ユニット15は、ステップSP32に移り、まとめ書き単位テーブル41から求めたまとめ書きサイズBが、レートテーブル43から求めたまとめ書きサイズCと異なるか否か判断する。ここでステップSP32で肯定結果が得られると、中央処理ユニット15は、ステップSP32からステップSP33に移り、まとめ書き単位テーブル41から求めたまとめ書きサイズBとレートテーブル43から求めたまとめ書きサイズCとの最小公倍数をまとめ書きサイズXに設定した後、ステップSP34に移る。
またステップSP32で否定結果が得られると、中央処理ユニット15は、ステップSP32からステップSP35に移り、まとめ書き単位テーブル41から求めたまとめ書きサイズBをまとめ書きサイズXに設定した後、ステップSP34に移る。
中央処理ユニット15は、ステップSP34において、記録媒体が記録回数に制限があるものか否か、より具体的には、記録媒体がメモリカードか否か判断する。ここでこのステップSP34で肯定結果が得られると、中央処理ユニット15は、ステップSP34からステップSP36に移り、くさび打ちカウントテーブル42から求めたカウント値A及びレートテーブル43から求めたカウント値Dのうちで、値の小さい側のカウント値をくさび打ちのカウント値Yに設定した後、ステップSP37に移ってこの処理手順を終了する。
またステップSP34で否定結果が得られると、ステップSP34からステップSP38に移り、くさび打ちカウントテーブル42から求めたカウント値A及びレートテーブル43から求めたカウント値Dのうちで、値の大きい側のカウント値をくさび打ちのカウント値Yに設定した後、ステップSP37に移ってこの処理手順を終了する。
中央処理ユニット15は、操作入力部23を介して記録媒体への記録が指示されると、この図1の処理手順で設定したまとめ書きサイズX、くさび打ちのカウント値Yに基づいて、アプリケーション層32からファイルシステム層33に書込みコマンドを発行し、またくさび打ちを指示する。ここで図10は、この記録時の中央処理ユニット15の処理手順を示すフローチャートである。中央処理ユニット15は、記録媒体への記録を開始すると、ステップSP41からステップSP42に移ってファイルオープンを指示する。このファイルオープンの指示により中央処理ユニット15は、ディレクトリエントリ制御部37A(図3)により、ファイル名、拡張子、開始クラスタ等を設定したディレクトリエントリを作成し、このディレクトリエントリを記録媒体に記録する。
続いて中央処理ユニット15は、ステップSP43に移り、くさび打ち処理の周期をカウントするライトカウントを値1に初期化する。また続いてステップSP44に移り、記録媒体に記録する画像データ、音声データのデータ蓄積量を確認する。また続くステップSP45において、このデータ蓄積量がまとめ書きサイズXを越えたか否か判断し、ここで否定結果が得られると、ステップSP44に戻る。その結果、中央処理ユニット15は、記録媒体に記録する画像データ、音声データのデータ蓄積量がまとめ書きサイズXを越えるまで、ステップSP44、SP45の処理手順を繰り返し、このデータ蓄積量がまとめ書きサイズXを越えると、ステップSP45で肯定結果が得られることにより、ステップSP45からステップSP46に移る。
このステップSP46において、中央処理ユニット15は、ライトカウント値を検出し、続くステップSP47において、このライトカウント値がくさび打ちのカウント値Yに一致するか否か判断する。ここで否定結果が得られると、中央処理ユニット15は、ステップSP47からステップSP48に移り、まとめ書きサイズXによりバッファメモリに蓄積された画像データ、音声データの書込みを指示する。なおこのステップSP48による書込みは、図4について上述したくさび打ちなしの書込み処理手順により実行される。
続いて中央処理ユニット15は、ステップSP49に移り、ライトカウント値を値1だけインクリメントし、ステップSP50に移る。中央処理ユニット15は、このステップSP50において、操作入力部23を介して記録の停止が指示されたか否か判断し、ここで否定結果が得られると、ステップSP44に戻る。その結果、中央処理ユニット15は、ライトカウント値を順次インクリメントしながらステップSP48、SP49の処理を繰り返し、まとめ書きサイズX単位で書込みコマンドを発行して画像データ及び音声データを記録媒体に記録する。またこの繰り返し回数がくさび打ちのカウント値Yの値となると、ステップSP47で肯定結果が得られ、ステップSP47からステップSP51に移る。
中央処理ユニット15は、このステップSP51において、まとめ書きサイズXによりバッファメモリに蓄積された画像データ、音声データの書込みを指示する。またこのとき書込みの完了によりくさび打ちの処理の実行を指示する。なおこのステップSP51による書込みは、図5について上述したフラッシュ有りの書込み処理手順により実行される。また続いて中央処理ユニット15は、ステップSP52に移り、ライトカウントを値1に初期化し、ステップSP50に移る。
中央処理ユニット15は、このステップSP50において、操作入力部23を介して記録の停止が指示されたか否か判断し、ここで否定結果が得られると、ステップSP44に戻る。従って中央処理ユニット15は、まとめ書きサイズX単位で画像データ及び音声データの記録を繰り返しながら、繰り返し回数がくさび打ちのカウント値Yとなる毎に、くさび打ちの処理を実行する。
また画像データ及び音声データの記録を繰り返して、ユーザーにより記録の停止が指示されると、ステップSP50で肯定結果が得られ、中央処理ユニット15は、ステップSP50からステップSP53に移る。ここで中央処理ユニット15は、バッファメモリに残されている画像データ、音声データの書込みを指示する。またこのとき書込みの完了によりくさび打ちの処理の実行を指示する。なおこのステップSP53における書込みにあっても、図5について上述したフラッシュ有りの書込み処理手順により実行される。
続いて中央処理ユニット15は、ステップSP54に移りファイルクローズを指示する。このファイルクローズの指示により中央処理ユニット15は、ディレクトリエントリ制御部37A(図3)で、ファイルオープン時に作成したディレクトリエントリに、さらにファイルサイズ等を設定してディレクトリエントリを作成し直し、このディレクトリエントリを記録媒体に記録し直す。中央処理ユニット15は、ファイルクローズの処理を完了すると、ステップSP55に移ってこの処理手順を終了する。
図11及び図12は、中央処理ユニット15による記録媒体に対する処理手順を示すタイムチャートである。なおこの図11及び図12は、図1、図3、図10等の処理を、階層モデルにおける処理にまとめたものである。
中央処理ユニット15は、センサ25により記録媒体35A又は35Bの装着が検出されると、図11において「メディアをマウント」により示すように、アプリケーション層32からマウントを指示し、このマウントの指示によりファイルシステム層33(インターフェース部38、メディア制御部36、記録制御部37)でデバイスドライバ層34を制御し、記録媒体35A又は35BからFAT領域の情報、ディレクトリエントリの情報等を再生してファイルシステム層33に保持する。その結果、中央処理ユニット15は、装着された記録媒体35A又は35Bをアプリケーション層32によりアクセス可能に設定される。
また図11において「メディア情報を取得」により示すように、中央処理ユニット15は、続いてアプリケーション層32からファイルシステム層33にメディア情報の取得を指示し、この指示によってファイルシステム層33でデバイスドライバ層34を制御し、記録媒体35A又は35Bからメディア情報を取得してアプリケーション層32に返す。
また記録(エンコード)の開始により、図11において「ファイルオープン」により示すように、中央処理ユニット15は、アプリケーション層32からファイルシステム層33にファイルオープンを指示し、この指示によりファイルシステム層33に設けられた記録制御部37でデバイスドライバ層34を制御して記録媒体35A又は35Bにディレクトリエントリを記録し、その応答をアプリケーション層32に返す。
また図11及び図12において「ファイルライト(くさび打ちなし)」により示すように、中央処理ユニット15は、くさび打ちの処理を実行しないまとめ書きサイズXによるファイルライトコマンドをファイルシステム層33にY−1回発行し、ファイルライトコマンド毎に、ファイルシステム層33で空き領域を検出してクラスタ単位のファイルライトコマンドを繰り返しデバイスドライバ層34に発行する。また各クラスタ単位のファイルライトコマンド毎に、セクタ単位のファイルライトコマンドを繰り返しデバイスドライバ層34から発行し、その結果、まとめ書きサイズXによる記録媒体35A又は35Bに対する書込みをY−1回、繰り返す。
またこのまとめ書き単位サイズXによる書込みをY−1回、繰り返すと、図11及び図12において「ファイルライト(くさび打ちあり)」により示すように、続いて中央処理ユニット15は、くさび打ちの処理を実行するまとめ書きサイズXによるファイルライトコマンドをファイルシステム層33に発行し、このまとめ書きサイズXによるデータを記録媒体35A又は35Bに記録した後、くさび打ちの処理を実行する。
このくさび打ちの処理を実行しないまとめ書きサイズXによるファイルライトコマンドのY−1回の発行、くさび打ちの処理を実行するまとめ書きサイズXによるファイルライトコマンドの発行を繰り返して、中央処理ユニット15は、連続する画像データ及び音声データを記録媒体35A又は35Bに記録する。
また記録(エンコード)の停止により、バッファメモリに残存する画像データ及び音声データについて、くさび打ちの処理を実行するファイルライトのコマンドを発行し、このコマンドによりこの残存する画像データ及び音声データを記録媒体35A又は35Bに記録した後、くさび打ちの処理を実行する。
また続いて図12において「ファイルクローズ」により示すように、アプリケーション層32からファイルシステム層33にファイルクローズを指示し、ファイルオープンにより記録媒体35A又は35Bに記録されたディレクトリエントリを更新する。
(2)実施例の動作
以上の構成において、このディジタルビデオカメラ11では(図2)、光学レンズ部12、光電変換部13、画像信号処理部16により得られる画像データ、音声入出力部19、音声処理部20により得られる音声データが、中央処理ユニット15に入力され、ここでデータ圧縮された後、ドライブ24を介して各種の記録媒体に記録される。ここでディジタルビデオカメラ11では、この記録媒体にFATファイルシステムが適用されることから、従来手法による場合には、各記録媒体のデータ領域にクラスタ単位で順次データを記録した後、このデータ領域の記録に対応するように管理領域であるシステム領域の管理情報(FATエントリ、ディレクトリエントリ)を更新して1つのファイルの記録が完了する。
しかしながらディジタルビデオカメラ11では、長時間、画像データ及び音声データを記録する場合も予測され、記録途中で電源が遮断したり、落下等の事故により記録困難となる場合も予測される。このような場合に、従来手法により、全てのデータの記録を完了した後、管理情報を更新する場合にあっては、それまでに記録した貴重な画像データ、音声データを利用できなくなる。
そこでこの実施例では、一定データ量を記録する毎に、この一定データ量の記録に対応するようにFATエントリに連結クラスタ、EOFを設定してくさび打ちの処理が実行される。その結果、このディジタルビデオカメラ11では、記録途中で事故等により記録困難となった場合でも、くさび打ちした箇所まではそれまで記録した画像データ及び音声データを再生可能とすることができ、それまでに記録した貴重な画像データ、音声データを有効に利用することが可能となる。
しかしながらディジタルビデオカメラ11では、フラッシュメモリを記録媒体に適用する場合もあり、フラッシュメモリは、記録回数に制限がある。またフラッシュメモリは、消去ブロック単位で、記録したデータの消去、更新を実行している。従って単に、一定データ量を記録する毎に、くさび打ちの処理を実行していたのでは、特定の消去ブロックで繰り返しデータを更新することになり、使用可能な年数が低下することになる。
特にフラッシュメモリを使用した記録媒体では、この消去ブロックの大きさである消去ブロックサイズが種々に異なることから、単に、一定データ量を記録する毎に、くさび打ちの処理を実行していたのでは、消去ブロックサイズの大きな記録媒体で、同一の消去ブロックを何度も更新することになり、著しく使用可能な年数が低下することになる。
そこでこの実施例では、記録媒体のマウントにより記録媒体からメディア情報を取得してメディアの種類が検出される(図1及び図3)。またこの検出結果に基づいて、くさび打ちカウントテーブル42から、記録媒体がくさび打ちの処理により使用可能年数の低下が発生しないハードディスク装置等である場合、ファイルシステム層33への書込みコマンドの発行毎に、くさび打ちの処理を実行するように、くさび打ちカウント値が値1に設定される(図7及び図1)。また記録媒体がくさび打ちの処理により使用可能年数の低下するメモリカード等である場合、その種類に応じて、くさび打ちカウント値が設定される。
またディジタルビデオカメラ11では、消去ブロックサイズがメディア情報から検出され、消去ブロックサイズが大きくなればなる程、アプリケーション層からの1回の書込みコマンドで記録媒体に記録するまとめ書きサイズが大きくなるように、まとめ書き単位テーブル41からまとめ書きサイズが設定される(図6及び図1)。
ディジタルビデオカメラ11では、このまとめ書きサイズでアプリケーション層からファイルシステム層に書込みコマンドが発行されて記録媒体に画像データ及び音声データが記録される。またこのコマンドの発行回数がくさび打ちカウント値となる毎に、くさび打ちの処理が実行され、それまでの記録に対応するように、FATエントリに連結クラスタ番号、EOFが設定される。
その結果、ディジタルビデオカメラ11では、くさび打ち処理する一定データ量を、まとめ書きサイズ及びくさび打ちカウント値により管理して、消去ブロックサイズが大きくなればなる程、多くのデータをデータ領域に記録する毎にくさび打ちの処理を実行し、消去ブロックサイズが大きくなった場合であっても、同一の消去ブロックへのデータ更新の集中を低減することができ、記録媒体の極端な使用可能年数の低下を低減することができる。
また記録媒体がハードディスク装置等である場合には、ファイルシステム層33への書込みコマンドの発行毎に、くさび打ちの処理を実行して、貴重なデータを極力失わないようにすることができる。
このディジタルビデオカメラ11では、このくさび打ち処理する一定データ量が、まとめ書きサイズに対してくさび打ちカウント値による整数倍に設定され、またこのまとめ書きサイズが消去ブロックサイズの整数倍に設定されていることから、くさび打ちカウント値が等しい場合には、消去ブロックサイズの大小によらず、同一の消去ブロックに対するくさび打ちの処理回数を同一に設定することができる。従ってこのくさび打ち処理する一定データ量を消去ブロックサイズの整数倍に設定することによっても、記録媒体の極端な使用可能年数の低下を低減することができる。
ディジタルビデオカメラ11では、さらに記録媒体に対するデータ転送速度が実測により求められ、このデータ転送速度に応じてまとめ書きサイズ及びくさび打つカウント値が求められる(図8)。より具体的には、データ転送速度が高速度になればなる程、まとめ書きサイズが小さくなり、またくさび打ちの間隔が短くなるように設定される。
ディジタルビデオカメラ11では、このデータ転送速度によるまとめ書きサイズとまとめ書き単位テーブル41によるまとめ書きサイズとの比較により、これらのまとめ書きサイズが一致しない場合には、これらの最小公倍数が最終的なまとめ書きサイズに設定されるのに対し、これらのまとめ書きサイズが一致する場合には、これらのまとめ書きサイズが最終的なまとめ書きサイズに設定される。
従ってこのディジタルビデオカメラ11では、例えば消去ブロックサイズが1〔MB〕、データ転送速度が45〔Mbps〕の標準プロ仕様のメモリカードの場合、まとめ書き単位テーブル41から求められるまとめ書きサイズ1〔MB〕とデータ転送速度から求められるまとめ書きサイズ2〔MB〕との最小公倍数2〔MB〕が最終的なまとめ書きサイズに設定される。この場合も、このデータ転送速度によるまとめ書きサイズが、消去ブロックサイズの整数倍に設定され、その結果、記録媒体の極端な使用可能年数の低下を低減することができる。
またディジタルビデオカメラ11では、同様にデータ転送速度から求められたくさび打ちカウント値と、くさび打ちカウントテーブル42から求められたくさび打ちカウント値とが比較され、記録媒体がメモリカード等の場合、これらのカウント値から値の小さい側のカウント値が最終的なカウント値に設定される。その結果、上述した消去ブロックサイズが1〔MB〕、データ転送速度が45〔Mbps〕の標準プロ仕様のメモリカードの場合、くさび打ちカウントテーブル42から求められるくさび打ちカウント値4と、データ転送速度から求められるくさび打ちカウント値2とから、カウント値2が最終的なくさび打ちカウント値に設定される。
従ってこのメモリカードでは、最終的なとめ書きサイズ及びくさび打ちカウント値は、2〔MB〕及び値2に設定されることになる。
その結果、このメモリカードの場合、単にまとめ書き単位テーブル41及びくさび打ちカウントテーブル42によりまとめ書きサイズ及びくさび打ちカウント値を求めた場合に比して、より少ない頻度にライトコマンドを発行して画像データ及び音声データを記録することになる。従ってこの場合、単にまとめ書き単位テーブル41及びくさび打ちカウントテーブル42によりまとめ書きサイズ及びくさび打ちカウント値を求めた場合に比して、ライトコマンドの繰り返しの発行によるデータ転送速度の低下を低減することができ、一段と確実に画像データ及び音声データを記録媒体にリアルタイム記録することができる。
また記録媒体がメモリカード等で無い場合、これらのカウント値から値の大きい側のカウント値が最終的なカウント値に設定される。すなわち記録媒体がメモリカード等で無い場合には、くさび打ちの頻度を増減させても、何ら記録メディア媒体の使用年数の低下が発生しない。従ってこの場合は、よりくさび打ち処理の頻度を低下させ、リアルタイム記録を損なわないようにすることができる。
従ってディジタルビデオカメラ11では、1回の書込みコマンドで記録媒体に記録するまとめ書きサイズと、このコマンドの発行回数で管理情報を更新する周期を設定するカウント値とにより、管理情報を更新する一定データ量を管理し、消去ブロックサイズから求めた値とデータ転送速度から求めた値とから選択してこのまとめ書きサイズを設定し、記録媒体がハードディスク装置等の場合には貴重なデータを損なわないようにし、記録媒体がメモリカード等の場合には、一段と確実に画像データ及び音声データを記録媒体にリアルタイム記録することができる。従って記録媒体の種類に応じて適切に各種のデータを記録媒体に記録することができる。
(3)実施例の効果
以上の構成によれば、一定データ量を記録する毎に管理情報を更新するようにして、記録媒体がフラッシュメモリ等による記録媒体である場合、消去ブロックサイズが増大するに従ってこの一定データ量を増大させることにより、一定データ量を記録する毎に、FATエントリ等の記録を更新する場合に、記録媒体の極端な使用可能年数の低下を低減することができる。
またこの一定データ量が、消去ブロックサイズの整数倍であることによっても、記録媒体の極端な使用可能年数の低下を低減することができる。
また1回の書込みコマンドで記録媒体に記録するまとめ書きサイズと、このコマンドの発行回数で管理情報を更新する周期を設定するカウント値とにより、この一定データ量を管理するようにして、消去ブロックサイズから求めたまとめ書きサイズに対応する値と、データ転送速度から求めたまとめ書きサイズに対応する値とから最終的にまとめ書きサイズを設定することにより、記録媒体の種類に応じて適切に各種のデータを記録媒体に記録することができる。
またこのまとめ書きサイズが、消去ブロックサイズの整数倍に対応するデータ量であることによっても、記録媒体の極端な使用可能年数の低下を低減することができる。
図13は、図4及び図5との対比により本発明の実施例2のディジタルビデオカメラにおけるデバイスドライバ層の処理手順を示すフローチャートである。この実施例のディジタルビデオカメラは、このデバイスドライバ層の処理手順に関する構成が異なる点を除いて、実施例1と同一に構成される。
この実施例のデバイスドライバ層は、ファイルシステム層を介したアプリケーション層の制御により、キャッシュの処理を動的に切り換える。このためキャッシュの使用を切り換える処理ステップSP61、ステップSP62が、適宜設けられる。
この実施例のようにデバイスドライバ層においてキャッシュの処理を動的に切り換える場合であっても、上述の実施例と同様の効果を得ることができる。
図14は、本発明の実施例3の記録装置であるコンピュータを示すブロック図である。このコンピュータ51は、バスBUSにより中央処理ユニット(CPU)52、ランダムアクセスメモリ(RAM)53、リードオンリメモリ(ROM)54が接続される。またデバイスコントローラを構成する入出力インターフェース55を介して、各種のインターフェースがバスに接続される。ここでこのコンピュータ51は、このインターフェースに、キーボード、マウス、スキャナ、マイクロフォンによる入力部56、ディスプレイ、スピーカ、プリンタ、プロッタによる出力部57、USB等による通信部58、光ディスク、磁気ディスク、光磁気ディスク、半導体メモリ等の補助記憶部59が設けられる。このコンピュータ51は、この補助記憶部59を構成する記録媒体にFATファイルシステムが適用され、上述の実施例1と同様に、各記録媒体にデータを記録する。
この実施例によれば、コンピュータに本発明を適用しても、上述の実施例と同様の効果を得ることができる。
なお上述の実施例においては、光ディスク、ハードディスク装置、メモリカード等にFATファイルシステムを適用する場合について述べたが、本発明はこれに限らず、これら以外の記録媒体にFATファイルシステムを適用する場合にも広く適用することができる。
また上述の実施例においては、本発明をFAT16又はFAT32に適用する場合について述べたが、本発明はこれに限らず、これら以外のFATファイルシステムを適用する場合、さらにはFATファイルシステム以外の各種ファイル管理システムを適用する場合に広く適用することができる。
また上述の実施例においては、本発明をディジタルビデオカメラ、コンピュータに適用する場合について述べたが、本発明はこれに限らず、これら以外の各種の記録装置に広く適用することができる。
本発明は、例えばディジタルビデオカメラに適用することができる。
本発明の実施例1のディジタルビデオカメラにおける中央処理ユニットの処理手順を示すフローチャートである。 本発明の実施例1のディジタルビデオカメラを示すブロック図である。 図2のディジタルビデオカメラにおけるシステム構成を示す図である。 図3のシステム構成におけるデバイスドライバの処理手順を示すフローチャートである。 図3のシステム構成におけるデバイスドライバの他の処理手順を示すフローチャートである。 まとめ書き単位テーブルを示す図表である。 くさび打ちカウントテーブルを示す図表である。 レートテーブルを示す図表である。 転送レートの測定手順を示すフローチャートである。 データ記録時の一連の処理手順を示すフローチャートである。 図10の処理手順に対応する記録開始時のタイムチャートである。 図10の処理手順に対応する記録終了時のタイムチャートである。 実施例2のディジタルビデオカメラにおけるデバイスドライバの処理手順を示すフローチャートである。 実施例3のコンピュータの構成を示すブロック図である。 FATファイルシステムの一般的なシステム構成を示す図である。 FATファイルシステムの記録媒体のフォーマットを示す図表である。 図16のフォーマットにおけるMBRを示す図表である。 図16のフォーマットにおけるディレクトリエントリを示す図表である。 図16のフォーマットにおけるFAT領域を示す図表である。
符号の説明
2、32……アプリケーション層、3、33……ファイルシステム層、4、34……デバイスドライバ層、5、35A、35B……記録媒体、11……ディジタルビデオカメラ、15、52……中央処理ユニット、24……ドライブ、51……コンピュータ

Claims (6)

  1. 着脱可能に保持された記録媒体の種類を検出する種類検出部と、
    前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出部と、
    前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録部と、
    前記種類検出部及び前記消去ブロックサイズ検出部の検出結果に基づいて、前記記録部にコマンドを発行して前記記録部を制御する制御部と
    前記記録媒体に対するデータ転送速度を検出する転送速度検出部と
    を備え、
    前記制御部は、
    一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、
    前記記録媒体が、前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って増大させるように前記一定データ量を管理し、
    前記記録部に対して1回の書込みコマンドで前記記録媒体に記録するまとめ書きサイズと、前記コマンドの発行回数で前記管理情報を更新する周期を設定するカウント値とを、前記データ転送速度が増大するに従って低下するように設定する
    ことを特徴とする記録装置。
  2. 前記一定データ量が、
    前記消去ブロックサイズの整数倍に対応するデータ量である
    ことを特徴とする請求項1に記載の記録装置。
  3. 前記まとめ書きサイズが、
    前記消去ブロックサイズの整数倍に対応するデータ量である
    ことを特徴とする請求項1又は2に記載の記録装置。
  4. 着脱可能に保持された記録媒体の種類を検出する種類検出ステップと、
    前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出ステップと、
    前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録ステップと、
    前記種類検出ステップ及び前記消去ブロックサイズ検出ステップの検出結果に基づいて、前記記録ステップにコマンドを発行して前記記録ステップを制御する制御ステップと
    前記記録媒体に対するデータ転送速度を検出する転送速度検出ステップと
    を有し、
    前記制御ステップは、
    一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、
    前記記録媒体が前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って増大させるように前記一定データ量を管理し、
    前記記録部に対して1回の書込みコマンドで前記記録媒体に記録するまとめ書きサイズと、前記コマンドの発行回数で前記管理情報を更新する周期を設定するカウント値とを、前記データ転送速度が増大するに従って低下するように設定する
    ことを特徴とする記録方法。
  5. 着脱可能に保持された記録媒体に所望のデータを記録する記録方法のプログラムにおいて、
    前記記録媒体の種類を検出する種類検出ステップと、
    前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出ステップと、
    前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録ステップと、
    前記種類検出ステップ及び前記消去ブロックサイズ検出ステップの検出結果に基づいて、前記記録ステップにコマンドを発行して前記記録ステップを制御する制御ステップと
    前記記録媒体に対するデータ転送速度を検出する転送速度検出ステップと
    を有し、
    前記制御ステップは、
    一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、
    前記記録媒体が前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って増大させるように前記一定データ量を管理し、
    前記記録部に対して1回の書込みコマンドで前記記録媒体に記録するまとめ書きサイズと、前記コマンドの発行回数で前記管理情報を更新する周期を設定するカウント値とを、前記データ転送速度が増大するに従って低下するように設定する
    ことを特徴とする記録方法のプログラム。
  6. 着脱可能に保持された記録媒体に所望のデータを記録する記録方法のプログラムを記録した記録媒体において、
    前記記録方法のプログラムは、
    前記記録媒体の種類を検出する種類検出ステップと、
    前記記録媒体の消去ブロックサイズを検出する消去ブロックサイズ検出ステップと、
    前記記録媒体のデータ領域に所望のデータを記録すると共に、前記記録媒体の管理領域に前記データ領域の管理情報を記録する記録ステップと、
    前記種類検出ステップ及び前記消去ブロックサイズ検出ステップの検出結果に基づいて、前記記録ステップにコマンドを発行して前記記録ステップを制御する制御ステップと
    前記記録媒体に対するデータ転送速度を検出する転送速度検出ステップと
    を有し、
    前記制御ステップは、
    一定データ量を前記データ領域に記録する毎に、前記データ領域への記録に対応して前記管理情報を更新し、
    前記記録媒体が前記消去ブロックサイズ単位で記録したデータを更新する記録媒体である場合、前記消去ブロックサイズが増大するに従って増大させるように前記一定データ量を管理し、
    前記記録部に対して1回の書込みコマンドで前記記録媒体に記録するまとめ書きサイズと、前記コマンドの発行回数で前記管理情報を更新する周期を設定するカウント値とを、前記データ転送速度が増大するに従って低下するように設定する
    ことを特徴とする記録方法のプログラムを記録した記録媒体。
JP2008025073A 2008-02-05 2008-02-05 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体 Active JP4471007B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2008025073A JP4471007B2 (ja) 2008-02-05 2008-02-05 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
US12/339,539 US8209467B2 (en) 2008-02-05 2008-12-19 Recording apparatus, recording method, program for recording method, and storage medium that stores program for recording method
EP09150895A EP2117007A3 (en) 2008-02-05 2009-01-20 Managing the amount of data according to batch writing size and to update count, which increases with erase-block size and depends on the type of flash memory
TW098102290A TWI382309B (zh) 2008-02-05 2009-01-21 記錄裝置、記錄裝置之控制方法、記錄裝置之控制方法之程式及記錄著記錄裝置之控制方法之程式的記錄媒體
CN200910008587XA CN101504593B (zh) 2008-02-05 2009-02-03 记录装置、记录装置的控制方法、记录装置控制方法的程序
KR1020090009321A KR20090086049A (ko) 2008-02-05 2009-02-05 기록 장치, 기록 장치의 제어 방법, 기록 장치의 제어 방법의 프로그램 및 기록 장치의 제어 방법의 프로그램을 기록한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008025073A JP4471007B2 (ja) 2008-02-05 2008-02-05 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2009187184A JP2009187184A (ja) 2009-08-20
JP4471007B2 true JP4471007B2 (ja) 2010-06-02

Family

ID=40671152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008025073A Active JP4471007B2 (ja) 2008-02-05 2008-02-05 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体

Country Status (6)

Country Link
US (1) US8209467B2 (ja)
EP (1) EP2117007A3 (ja)
JP (1) JP4471007B2 (ja)
KR (1) KR20090086049A (ja)
CN (1) CN101504593B (ja)
TW (1) TWI382309B (ja)

Families Citing this family (274)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5481493B2 (ja) * 2009-11-11 2014-04-23 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5523081B2 (ja) * 2009-12-16 2014-06-18 キヤノン株式会社 記録装置
JP5488020B2 (ja) * 2010-02-10 2014-05-14 ソニー株式会社 記録装置、撮像記録装置、記録方法及びプログラム
JP5488019B2 (ja) * 2010-02-10 2014-05-14 ソニー株式会社 記録装置、撮像記録装置、記録方法及びプログラム
JP5593721B2 (ja) 2010-02-10 2014-09-24 ソニー株式会社 記録装置、撮像記録装置、記録方法及びプログラム
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
TW201223803A (en) * 2010-12-06 2012-06-16 Aptos Technology Inc Vehicle recording apparatus and image recording method
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
CN102508782B (zh) * 2011-09-29 2014-09-10 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9646039B2 (en) 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US10558581B1 (en) * 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US12175076B2 (en) 2014-09-08 2024-12-24 Pure Storage, Inc. Projecting capacity utilization for snapshots
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
EP3314389B1 (en) * 2015-06-23 2023-06-21 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US12182014B2 (en) 2015-11-02 2024-12-31 Pure Storage, Inc. Cost effective storage management
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US12253990B2 (en) 2016-02-11 2025-03-18 Pure Storage, Inc. Tier-specific data compression
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US12461803B2 (en) 2016-09-07 2025-11-04 Pure Storage, Inc. Determining remaining hardware life in a storage device
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US12405735B2 (en) 2016-10-20 2025-09-02 Pure Storage, Inc. Configuring storage systems based on storage utilization patterns
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US12282436B2 (en) 2017-01-05 2025-04-22 Pure Storage, Inc. Instant rekey in a storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US12348583B2 (en) 2017-03-10 2025-07-01 Pure Storage, Inc. Replication utilizing cloud-based storage systems
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US12056383B2 (en) 2017-03-10 2024-08-06 Pure Storage, Inc. Edge management service
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US12411739B2 (en) 2017-03-10 2025-09-09 Pure Storage, Inc. Initiating recovery actions when a dataset ceases to be synchronously replicated across a set of storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
US12086651B2 (en) 2017-06-12 2024-09-10 Pure Storage, Inc. Migrating workloads using active disaster recovery
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11593036B2 (en) 2017-06-12 2023-02-28 Pure Storage, Inc. Staging data within a unified storage element
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
EP3612922A1 (en) 2017-06-12 2020-02-26 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US12086650B2 (en) 2017-06-12 2024-09-10 Pure Storage, Inc. Workload placement based on carbon emissions
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US12229405B2 (en) 2017-06-12 2025-02-18 Pure Storage, Inc. Application-aware management of a storage system
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US12061822B1 (en) 2017-06-12 2024-08-13 Pure Storage, Inc. Utilizing volume-level policies in a storage system
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US12067466B2 (en) 2017-10-19 2024-08-20 Pure Storage, Inc. Artificial intelligence and machine learning hyperscale infrastructure
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US10671434B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Storage based artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US12393332B2 (en) 2017-11-28 2025-08-19 Pure Storage, Inc. Providing storage services and managing a pool of storage resources
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US12066900B2 (en) 2018-03-15 2024-08-20 Pure Storage, Inc. Managing disaster recovery to cloud computing environment
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US12086431B1 (en) 2018-05-21 2024-09-10 Pure Storage, Inc. Selective communication protocol layering for synchronous replication
US10992598B2 (en) 2018-05-21 2021-04-27 Pure Storage, Inc. Synchronously replicating when a mediation service becomes unavailable
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US12181981B1 (en) 2018-05-21 2024-12-31 Pure Storage, Inc. Asynchronously protecting a synchronously replicated dataset
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US12086450B1 (en) 2018-09-26 2024-09-10 Amazon Technologies, Inc. Synchronous get copy for asynchronous storage
US10976947B2 (en) * 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US12026381B2 (en) 2018-10-26 2024-07-02 Pure Storage, Inc. Preserving identities and policies across replication
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US12026061B1 (en) 2018-11-18 2024-07-02 Pure Storage, Inc. Restoring a cloud-based storage system to a selected state
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11023179B2 (en) 2018-11-18 2021-06-01 Pure Storage, Inc. Cloud-based storage system storage management
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US12026060B1 (en) 2018-11-18 2024-07-02 Pure Storage, Inc. Reverting between codified states in a cloud-based storage system
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US12001355B1 (en) 2019-05-24 2024-06-04 Pure Storage, Inc. Chunked memory efficient storage data transfers
US12254199B2 (en) 2019-07-18 2025-03-18 Pure Storage, Inc. Declarative provisioning of storage
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11550514B2 (en) 2019-07-18 2023-01-10 Pure Storage, Inc. Efficient transfers between tiers of a virtual storage system
US12353364B2 (en) 2019-07-18 2025-07-08 Pure Storage, Inc. Providing block-based storage
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US12166820B2 (en) 2019-09-13 2024-12-10 Pure Storage, Inc. Replicating multiple storage systems utilizing coordinated snapshots
US12045252B2 (en) 2019-09-13 2024-07-23 Pure Storage, Inc. Providing quality of service (QoS) for replicating datasets
US11360689B1 (en) 2019-09-13 2022-06-14 Pure Storage, Inc. Cloning a tracking copy of replica data
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US11943293B1 (en) 2019-12-06 2024-03-26 Pure Storage, Inc. Restoring a storage system from a replication target
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US12014065B2 (en) 2020-02-11 2024-06-18 Pure Storage, Inc. Multi-cloud orchestration as-a-service
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US12038881B2 (en) 2020-03-25 2024-07-16 Pure Storage, Inc. Replica transitions for file storage
US12124725B2 (en) 2020-03-25 2024-10-22 Pure Storage, Inc. Managing host mappings for replication endpoints
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US12380127B2 (en) 2020-04-06 2025-08-05 Pure Storage, Inc. Maintaining object policy implementation across different storage systems
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US12131056B2 (en) 2020-05-08 2024-10-29 Pure Storage, Inc. Providing data management as-a-service
US12254206B2 (en) 2020-05-08 2025-03-18 Pure Storage, Inc. Non-disruptively moving a storage fleet control plane
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US12131044B2 (en) 2020-09-04 2024-10-29 Pure Storage, Inc. Intelligent application placement in a hybrid infrastructure
US12353907B1 (en) 2020-09-04 2025-07-08 Pure Storage, Inc. Application migration using data movement capabilities of a storage system
US12430044B2 (en) 2020-10-23 2025-09-30 Pure Storage, Inc. Preserving data in a storage system operating in a reduced power mode
US12340110B1 (en) 2020-10-27 2025-06-24 Pure Storage, Inc. Replicating data in a storage system operating in a reduced power mode
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US12086649B2 (en) 2021-05-12 2024-09-10 Pure Storage, Inc. Rebalancing in a fleet of storage systems using data science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US12159145B2 (en) 2021-10-18 2024-12-03 Pure Storage, Inc. Context driven user interfaces for storage systems
US12373224B2 (en) 2021-10-18 2025-07-29 Pure Storage, Inc. Dynamic, personality-driven user experience
US12499165B2 (en) 2021-10-18 2025-12-16 Pure Storage, Inc. Profiling user activity to achieve social and governance objectives
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US12001300B2 (en) 2022-01-04 2024-06-04 Pure Storage, Inc. Assessing protection for storage resources
US12314134B2 (en) 2022-01-10 2025-05-27 Pure Storage, Inc. Establishing a guarantee for maintaining a replication relationship between object stores during a communications outage
US12411867B2 (en) 2022-01-10 2025-09-09 Pure Storage, Inc. Providing application-side infrastructure to control cross-region replicated object stores
US12488018B2 (en) 2022-01-10 2025-12-02 Pure Storage, Inc. Controlling the direction of replication between cross-region replicated object stores
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US12393485B2 (en) 2022-01-28 2025-08-19 Pure Storage, Inc. Recover corrupted data through speculative bitflip and cross-validation
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction
US12481675B2 (en) 2022-07-29 2025-11-25 Pure Storage, Inc. Synchronously negotiating an object's creation time across two or more storage systems
US12182113B1 (en) 2022-11-03 2024-12-31 Pure Storage, Inc. Managing database systems using human-readable declarative definitions
US12488133B2 (en) 2023-04-07 2025-12-02 Pure Storage, Inc. Configurable automated redaction of log data
US12353321B2 (en) 2023-10-03 2025-07-08 Pure Storage, Inc. Artificial intelligence model for optimal storage system operation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
US6279069B1 (en) * 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
US6795890B1 (en) * 1999-02-19 2004-09-21 Mitsubishi Denki Kabushiki Kaisha Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
US7054790B1 (en) * 2000-05-18 2006-05-30 Maxtor Corporation Method and apparatus for storage device performance measurement
JP2004118746A (ja) * 2002-09-27 2004-04-15 Toshiba Corp 電子機器および記憶装置の起動制御方法
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
JP4392601B2 (ja) 2004-05-07 2010-01-06 パナソニック株式会社 データアクセス装置および記録媒体
RU2348992C2 (ru) 2004-07-12 2009-03-10 Кабусики Кайся Тосиба Запоминающее устройство и ведущее устройство
US9104315B2 (en) * 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
CN101268449B (zh) 2005-09-22 2012-04-04 松下电器产业株式会社 数据记录装置以及数据记录方法
JP2007122221A (ja) 2005-10-26 2007-05-17 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7339832B2 (en) * 2005-11-21 2008-03-04 Atmel Corporation Array source line (AVSS) controlled high voltage regulation for programming flash or EE array
JP2008025073A (ja) 2006-07-19 2008-02-07 Tomiko Nishizawa 日除け体

Also Published As

Publication number Publication date
US20090198889A1 (en) 2009-08-06
JP2009187184A (ja) 2009-08-20
EP2117007A2 (en) 2009-11-11
TWI382309B (zh) 2013-01-11
KR20090086049A (ko) 2009-08-10
CN101504593B (zh) 2012-10-24
TW200941219A (en) 2009-10-01
EP2117007A3 (en) 2010-05-26
US8209467B2 (en) 2012-06-26
CN101504593A (zh) 2009-08-12

Similar Documents

Publication Publication Date Title
JP4471007B2 (ja) 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
KR20040093381A (ko) 기록 장치 및 방법, 기록 매체 및 프로그램
KR100982118B1 (ko) Fat 방식으로 포맷된 정보 기록 매체에 데이터 파일을 기록하는 기록 장치, 방법, 및 프로그램이 기록되어 있는 컴퓨터가 판독가능한 기록 매체
JP4487954B2 (ja) データ記録装置、データ記録方法、及びプログラム
JP5523128B2 (ja) 記録装置及びその制御方法
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
JP4561323B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP3552247B2 (ja) 電子スチルカメラ
US11507306B2 (en) Recording apparatus that records data using file system, control method therefor, and storage medium storing control program therefor
JP2006178633A (ja) 情報処理装置、情報処理方法、プログラム
JP2006164017A (ja) 情報処理装置、情報処理方法、プログラム
JP4356011B2 (ja) 記録装置および方法、撮像装置、記録媒体、並びにプログラム
US7424573B2 (en) Information processing apparatus, method, and program for formatting multiple recording media integrated as one
JP2007108853A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4206872B2 (ja) 情報編集装置、撮像装置および情報編集方法
JP2006178632A (ja) 情報処理装置、情報処理方法、プログラム
JP5489818B2 (ja) 記録再生装置及びその制御方法
JP4972909B2 (ja) データ記録装置
JP4318040B2 (ja) 情報編集装置、撮像装置および情報編集方法
JP2007128286A (ja) 再生装置、再生方法および再生プログラム
JP2003316627A (ja) 情報記録再生装置及びその管理情報バックアップ方法
JP2009104739A (ja) 記録メディア制御装置及び記録メディア制御方法、並びにコンピュータ・プログラム
JP2008262381A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006139845A (ja) 情報処理装置、情報処理方法、プログラム
JP2006133855A (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091102

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: 20100209

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: 20100222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3