JPWO2018186455A1 - 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム - Google Patents
不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム Download PDFInfo
- Publication number
- JPWO2018186455A1 JPWO2018186455A1 JP2019511293A JP2019511293A JPWO2018186455A1 JP WO2018186455 A1 JPWO2018186455 A1 JP WO2018186455A1 JP 2019511293 A JP2019511293 A JP 2019511293A JP 2019511293 A JP2019511293 A JP 2019511293A JP WO2018186455 A1 JPWO2018186455 A1 JP WO2018186455A1
- Authority
- JP
- Japan
- Prior art keywords
- free space
- information
- information recording
- data
- recording device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
空き容量管理方法は、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置による、情報記録装置の空き容量管理方法である。情報記録装置がアクセス装置にマウントされたときに、情報記録装置から、所定長の記録領域毎に空き容量を管理する空き容量管理情報を読み出し(S14)、不揮発性メモリのデータ記録状態に基づいて、前記空き容量管理情報を再構築し(S15)、不揮発性メモリへのデータの書き込みに応じて空き容量管理情報を更新し(S18)、情報記録装置がアンマウントされるときに、情報記録装置に対して空き容量管理情報を記録する(S23)。
Description
本開示は、データを不揮発性メモリに格納し、ファイルとして管理する情報記録装置にデータを書き込むアクセス装置、及びそのようなアクセス装置を備えた情報記録システムに関する。また、本開示は、不揮発性メモリにおける空き容量管理方法に関する。
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体のうち、記録素子にFlashROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、ムービーやデジタルスチルカメラ、携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
従来、メモリカードや機器内蔵ストレージに格納されたデータは、ファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
従来最も広く使用されているファイルシステムは、FATファイルシステムと呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。また、近年、FATファイルシステムを拡張したexFATファイルシステムも広く使用されるようになってきている。exFATファイルシステムでは、ファイルアロケーションテーブルと併用する形で、クラスタ毎に空き状態を管理するアロケーションビットマップも使用されている。
近年、SDカード等の半導体メモリカードは、フラッシュメモリの微細化、積層化により、飛躍的に大容量化が進んでいる。大容量化に伴いFATやアロケーションビットマップのような領域管理情報のサイズも大きくなり、全体の空き容量の算出、ファイル記録時の空きクラスタの探索に時間がかかるようになる。このため、デジタルスチルカメラ等で起動後すぐに撮影したい場合等、空きクラスタ探索に時間がかかり、撮影が即時に行えないという問題が生じ得る。また、空きクラスタが散在している場合、動画撮影中の空きクラスタ探索に時間がかかり、動画撮影が停止してしまう可能性がある。
特許文献1は、ファイルシステムにおいて空き容量算出を高速に行い、ファイルシステムの初期化から記録開始までにかかる時間を短縮することを可能とするアクセス装置及び方法を開示する。
本開示は、情報記録装置における高速な空き探索処理を可能とする空き容量管理方法及びアクセス装置を提供する。
本開示の第1の態様において、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置による、情報記録装置の空き容量管理方法が提供される。その方法によれば、情報記録装置がアクセス装置にマウントされたときに、情報記録装置から、所定長の記憶領域毎に空き容量を管理する空き容量管理情報を読み出し、不揮発性メモリのデータ記録状態に基づいて、空き容量管理情報を再構築し、不揮発性メモリへのデータの書き込みに応じて空き容量管理情報を更新し、情報記録装置がアンマウントされるときに、情報記録装置に対して、空き容量管理情報を記録する。
本開示の第2の態様において、ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置が提供される。アクセス装置は、情報記録装置に対するファイルデータの送受信を行うインタフェースと、ファイルシステムを用いて情報記録装置へのファイルデータの記録を制御する制御部と、を備える。制御部は、情報記録装置がアクセス装置にマウントされたときに、情報記録装置から、所定長の記録領域毎に空き容量を管理する空き容量管理情報を読み出し、不揮発性メモリのデータ記録状態に基づいて、空き容量管理情報を再構築し、不揮発性メモリへのデータの書き込みに応じて空き容量管理情報を更新し、情報記録装置がアンマウントされるときに、情報記録装置に対して、空き容量管理情報を記録する。
本開示の第3の態様において、ファイルデータを格納する不揮発性メモリを備えた情報記録装置が提供される。情報記録装置において、ファイルデータは、ファイルシステムにより所定のデータ単位(クラスタ)で管理される。不揮発性メモリは、データ単位毎に、データ単位に関する情報を管理する領域管理情報と、ファイルデータ毎に生成され、ファイルの名称やサイズの情報を含む管理情報を格納する少なくとも1つの固定長エントリを内部に含むエントリ群と、領域管理情報において、所定数のデータ単位を含むブロック領域毎に、各ブロック領域に対応する記録領域における空き容量を管理する空き容量管理情報と、を格納する。エントリ群は、空き容量管理情報が格納される領域を指定する領域指定エントリを含む。
本開示の第4の態様において、ファイルデータを格納する不揮発性メモリを備える情報記録装置と、情報記録装置にアクセスするアクセス装置と、を備えた情報記録システムが提供される。情報記録装置は、所定長の記憶領域毎に空き容量を管理する空き容量管理情報を格納する。アクセス装置は、情報記録装置に対するファイルデータの送受信を行うインタフェースと、ファイルシステムを用いて情報記録装置へのファイルデータの記録を制御する制御部と、を備える。制御部は、情報記録装置がアクセス装置にマウントされたときに、情報記録装置から空き容量管理情報を読み出し、不揮発性メモリのデータ記録状態に基づいて、空き容量管理情報を再構築し、不揮発性メモリへのデータの書き込みに応じて空き容量管理情報を更新し、情報記録装置がアンマウントされるときに、情報記録装置に対して、空き容量管理情報を記録する。
本開示の空き容量管理方法及びアクセス装置によれば、情報記録装置における高速な空き探索処理を実現できる。その結果、情報記録装置へのデータ書き込みに要する時間を低減できる。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
以下、添付の図面を参照して本開示の実施の形態を説明する。
(実施の形態1)
[1−1.構成]
図1は、本開示の実施の形態1における情報記録システムの構成を示す図である。図1に示すように、情報記録システム100は、ファイルデータを格納する情報記録装置10と、情報記録装置10に対してデータの書き込み、読み出しを行うアクセス装置50とを備える。情報記録装置10は、例えば、メモリカード、SSD(Solid State Drive)である。アクセス装置50は、例えば、パーソナルコンピュータ、タブレット型コンピュータ、テレビ、HDD(Hard Disk Drive)レコーダ、デジタルスチルカメラ、ビデオカメラ、スマートフォン等である。
[1−1.構成]
図1は、本開示の実施の形態1における情報記録システムの構成を示す図である。図1に示すように、情報記録システム100は、ファイルデータを格納する情報記録装置10と、情報記録装置10に対してデータの書き込み、読み出しを行うアクセス装置50とを備える。情報記録装置10は、例えば、メモリカード、SSD(Solid State Drive)である。アクセス装置50は、例えば、パーソナルコンピュータ、タブレット型コンピュータ、テレビ、HDD(Hard Disk Drive)レコーダ、デジタルスチルカメラ、ビデオカメラ、スマートフォン等である。
[1−1−1.アクセス装置]
図1に示すように、アクセス装置50は、CPU51と、RAM52と、ROM53と、インタフェース(I/F)55とを含む。
図1に示すように、アクセス装置50は、CPU51と、RAM52と、ROM53と、インタフェース(I/F)55とを含む。
CPU51は、RAM52を一時記憶領域として使用して、ROM53から読み出したプログラムを実行することで、以下に説明する機能を実現する。
インタフェース55は、情報記録装置10をアクセス装置50に接続するためのインタフェース回路である。インタフェース55は、情報記録装置10に対して制御信号及びデータの送受信を行う。すなわち、インタフェース55を介して、情報記録装置10へのファイルデータの書き込み、及び、情報記録装置10からのファイルデータの読み出しが行われる。
ROM53は、CPU51を、アプリケーション制御部51a、ファイルシステム制御部51b、情報記録装置アクセス部51cとして動作させるためのプログラムを格納する。なお、本実施形態では、アプリケーション制御部51a、ファイルシステム制御部51b、情報記録装置アクセス部51cは、CPU51とプログラム(ソフトウェア)の協働により実現されるとしている。しかし、アプリケーション制御部51a、ファイルシステム制御部51b、情報記録装置アクセス部51cは、その全部または一部が、ハードウェアにより実現されるものであってもよい。
アプリケーション制御部51aは、データの生成や電源の制御などアクセス装置50全体の動作制御を行う。
ファイルシステム制御部51bは、ファイルシステムによりデータをファイルとして管理するための制御を行う。本実施の形態の情報記録システムでは、ファイルシステムとしてexFATファイルシステム30を一例として説明する。
また、ファイルシステム制御部51bは、情報記録装置10の空き容量を算出する処理を行う。ファイルシステム制御部51bが実施する空き容量算出処理に使用する情報は、RAM52に格納されている。
ファイルシステム制御部51bは、情報記録装置10から読み出したブロック空き容量テーブル43(詳細は後述)を参照して、記憶領域の空き容量を判定する。特に、ファイルシステム制御部51bは、空き容量の判定を所定サイズの領域単位で実施し、データ記録に必要な最低限の空き容量が取得できた時点で記録を開始する。これにより、情報記録システム100において、ファイルシステムの初期化から記録開始までにかかる処理時間を短縮することが可能となる。
情報記録装置アクセス部51cは、ファイルシステム制御部51bからデータと共にサイズとアドレスを渡され、指定されたサイズのデータを情報記録装置10の記録領域内における指定された位置に記録するなど、情報記録装置10に対するコマンドやデータの送受信を制御する。
[1−1−2.情報記録装置]
情報記録装置10は、CPU11と、RAM12と、ROM13と、インタフェース15と、不揮発性メモリ20とを含む。インタフェース15は、アクセス装置50と接続するための回路であり、アクセス装置50のインタフェース55と同様に、制御信号及びデータを送受信する回路である。
情報記録装置10は、CPU11と、RAM12と、ROM13と、インタフェース15と、不揮発性メモリ20とを含む。インタフェース15は、アクセス装置50と接続するための回路であり、アクセス装置50のインタフェース55と同様に、制御信号及びデータを送受信する回路である。
ROM13は、情報記録装置10を制御するプログラムを格納する。CPU11は、RAM12を一時記憶領域として使用しながら、ROM13から読み出したプログラムを実行することで以下に示す機能を実現する。
不揮発性メモリ20は、アクセス装置50から送信されたデータを記録する記憶素子であり、例えば、NAND型フラッシュメモリである。記録されたデータはファイルシステムで管理されている。すなわち、不揮発性メモリ20の論理アドレス空間には、図2に示すようなFAT型ファイルシステムが使用する各種データ構造が格納されている。
図2を参照すると、不揮発性メモリ20の論理アドレス空間の先頭には、領域割り当て単位や、ファイルシステムが管理する領域の大きさのような、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域22が存在する。ファイルシステム管理情報領域22に続いて、さらに、ユーザデータが格納されるユーザデータ領域24が存在する。
ファイルシステム管理情報領域22には、マスターブートレコード・パーティションテーブル31と、ブート領域32と、FAT(File Allocation Table)33とを含むファイルシステムの管理情報が含まれる。ファイルシステム管理情報領域22に格納されるそれぞれの情報は、ユーザデータ領域24を管理するために必要な情報を含んでいる。
マスターブートレコード・パーティションテーブル31は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納する領域である。
ブート領域32は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報を格納する領域である。FAT(33)は、ファイルを構成するデータの格納位置に関する情報を格納する領域である。
ユーザデータ領域24は、512バイトから数百KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されている。各クラスタには、ファイルを構成するデータが格納されている。サイズの大きいデータで構成されるファイルは、複数のクラスタに跨ってデータを格納している。各クラスタ間の繋がりは、FAT(33)に格納されたリンク情報により管理される。FAT(33)の1つのエントリ(例えば、32ビット)が1つのクラスタに対応する。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報(ディレクトリエントリ)は、ユーザデータ領域24の一部を利用して格納される。
ユーザデータ領域24には、アロケーションビットマップ(Allocation Bitmap)35が格納される。アロケーションビットマップ35は各クラスタの状態(空きか否か)を管理する情報である。アロケーションビットマップ35の1ビットは1つのクラスタに対応し、各ビットの値によりそのビットに対応するクラスタが空きか否かが示される。
また、ユーザデータ領域24にはルートディレクトリ36が配置される。ルートディレクトリ36の開始クラスタ番号を示す情報はブート領域32に配置される。また、ルートディレクトリ36において、アロケーションビットマップ35の開始クラスタ番号を示す情報であるアロケーションビットマップエントリが配置される(図示せず)。
[1−1−3.ブロック空き容量テーブル]
本実施の形態では、アロケーションビットマップ35の全領域を、固定長ごとに複数のブロック(領域)に分割し、ブロック毎に空き容量を管理する。図3は、アロケーションビットマップにおいて設定されるブロック領域(ABブロック_1〜ABブロック_6)を説明した図である。図3に示すように、96KBのアロケーションビットマップ35を、複数の固定長のブロック領域(以下「ABブロック」という)に分割している。ここでは、ABブロックのサイズを16KBとしている。96KBのアロケーションビットマップ35を16KBずつブロックに区切って管理する場合、ABブロック_1からABブロック_6までの合計6つのブロックが存在することになる。
本実施の形態では、アロケーションビットマップ35の全領域を、固定長ごとに複数のブロック(領域)に分割し、ブロック毎に空き容量を管理する。図3は、アロケーションビットマップにおいて設定されるブロック領域(ABブロック_1〜ABブロック_6)を説明した図である。図3に示すように、96KBのアロケーションビットマップ35を、複数の固定長のブロック領域(以下「ABブロック」という)に分割している。ここでは、ABブロックのサイズを16KBとしている。96KBのアロケーションビットマップ35を16KBずつブロックに区切って管理する場合、ABブロック_1からABブロック_6までの合計6つのブロックが存在することになる。
ABブロック毎に、各ABブロックに対応するクラスタの範囲において、空きクラスタの数をカウントする。アロケーションビットマップ35は1ビットが1クラスタに対応するため、図3の例では、1つのABブロックは16K×8個のクラスタを含む。よって、16K×8個のクラスタの範囲において空きクラスタ数をカウントする。ABブロック毎にカウントした空きクラスタ数は、ブロック空き容量テーブル43によって管理される。
図4は、ブロック空き容量テーブル43の構成を示す図である。ブロック空き容量テーブル43は、「ブロックのサイズ」、「ブロックの個数」、並びに「ブロックmのステータス」及び「ブロックmに含まれる空き容量」(m=1,2,…N)のフィールドを含む。
「ブロックのサイズ」は、1つのABブロックのサイズを示し、セクタ数で表される。「ブロックの個数」は、アロケーションビットマップ35を固定長で分割したときに得られるABブロックの数(分割数)である。「ブロックmのステータス」は、第m番目のABブロックに対して、空き容量算出処理が実施されたか否かを示す情報である。ブロックmのステータスは、空き容量算出処理が実施済み、すなわち、空き容量が算出済みであれば「1」が設定される。一方、空き容量算出処理が未実施、すなわち、空き容量が未算出であれば、ブロックmのステータスは「0」が設定される。「ブロックmに含まれる空き容量」は、第m番目のABブロックに対応するクラスタ範囲内の空き容量を示す情報であり、クラスタ数で表される。全ABブロックの空き容量の総和が、ユーザデータ領域24全体に含まれる空き容量を意味する。
本実施形態におけるファイルシステム制御部51bは、ABブロックに対応する記録領域の単位(図3の例では、16K×8個のクラスタの範囲)で空き容量を算出し、ブロック空き容量テーブル43を用いて管理する。
[1−2.動作]
以上のように構成された情報記録システム100について、その動作を以下説明する。
以上のように構成された情報記録システム100について、その動作を以下説明する。
[1−2−1.ブロック空き容量テーブルの構築]
アクセス装置50は、情報記録装置10の不揮発性メモリ20のデータの書き込み状態を解析し、ブロック空き容量テーブル43を構築する。以下、ブロック空き容量テーブル43の構築について説明する。
アクセス装置50は、情報記録装置10の不揮発性メモリ20のデータの書き込み状態を解析し、ブロック空き容量テーブル43を構築する。以下、ブロック空き容量テーブル43の構築について説明する。
アクセス装置50のファイルシステム制御部51bは、情報記録装置10からアロケーションビットマップ35を読み出し、RAM52に格納する。
ファイルシステム制御部51bは、アロケーションビットマップ35において、ABブロック毎に、各ABブロックに含まれる各ビットを順次チェックしていき、各ビットに対応するクラスタについて空きか否かをチェックする。すなわち、ABブロック毎に、対応するクラスタ群における空きクラスタの総数を算出する。そのようにして求めたABブロック毎の空きクラスタの総数を、ブロック空き容量テーブル43における「ブロックmに含まれる空き容量」(以下「空き容量」という)に格納する。同時に、空きクラスタが算出済のブロックに対して「ブロックmのステータス」(以下「ステータス」という)を「1」(実施済)に設定する。
図5は、ブロック空き容量テーブル43が最初に構築されるときの状態を示した図である。図5(A)はブロック空き容量テーブル43の構築途中の状態を示した図であり、図5(B)は構築完了時の状態を示した図である。図5(A)では、第1番目と第2番目のABブロックについて、空き容量の算出が完了している。よって、これらのABブロックに対するステータスは、算出済(実施済)を示す「1」が設定され、かつ、空き容量に、カウントされた空きクラスタの数が設定されている。一方、第3番目〜第6番目のABブロックについては空き容量の算出が完了しておらず、このため、これらのABブロックに対するステータスは、未算出(未実施)を示す「0」が設定され、かつ、空き容量に「0」が設定されている。
その後、ブロック空き容量テーブル43の構築が完了すると、図5(B)に示すように全てのABブロックに対して、ステータスに算出済(実施済)を示す「1」が設定され、かつ、空き容量に、カウントされた空きクラスタの数が設定される。
[1−2−2.アプリケーション制御部とファイルシステム制御部間の制御シーケンス]
アプリケーション制御部51aとファイルシステム制御部51b間の制御シーケンスについて図6を用いて説明する。なお、以下の処理において、ブロック空き容量テーブル43がすでに構築されているとする。
アプリケーション制御部51aとファイルシステム制御部51b間の制御シーケンスについて図6を用いて説明する。なお、以下の処理において、ブロック空き容量テーブル43がすでに構築されているとする。
最初に、アプリケーション制御部51aは、ファイルシステム制御部51bにマウント処理の実施を要求する(S11)。
この要求を受けて、ファイルシステム制御部51bはマウント処理を実施する(S12)。マウント処理は、ファイルシステムの初期化処理として、ファイルシステムの使用の際に最初に実行される処理である。具体的には、情報記録装置10の不揮発性メモリ20から、ファイルシステムの管理情報を読み出し、読み出した情報の中でファイルシステムの制御に必要な情報(例えば、FAT(33))をRAM52に格納する。マウント処理が完了すると、ファイルシステム制御部51bは、マウント処理の完了をアプリケーション制御部51aに通知する(S13)。
また、ファイルシステム制御部51bは、情報記録装置10からブロック空き容量テーブル43を読み出す(S14)。読み出したブロック空き容量テーブル43はRAM52に格納される。
ここで、本実施の形態の情報記録装置10が、ブロック空き容量テーブル43を認識できないアクセス装置にマウントされて使用された場合、データ記録に伴ったブロック空き容量テーブル43の更新が行われない。このため、情報記録装置10の実際の状態と、ブロック空き容量テーブル43が示す状態との間で不整合が生じる場合がある。そこで、ブロック空き容量テーブル43を最新の状態にするために、ブロック空き容量テーブル43の再構築を行う。このため、ファイルシステム制御部51bは、読み出したブロック空き容量テーブル43の再構築を開始する(S15)。ブロック空き容量テーブル43の再構築処理はバックグランドで実行される。
図7は、ブロック空き容量テーブル43が再構築されたときの状態を示した図である。図7(A)は再構築途中の状態を示した図であり、図7(B)は再構築完了時の状態を示した図である。ブロック空き容量テーブル43において、各ブロックの情報は再構築の進捗状態に応じて更新される。例えば、図7(A)では、第1番目と第2番目のABブロックについて空き容量の算出が完了している。このため、第1番目と第2番目のABブロックについて、ステータスには再算出済を示す「1」が設定され、かつ、空き容量には、新たにカウントされた空きクラスタの数が設定されている。一方、第3番目〜第6番目のABブロックについてはまだ、空きクラスタが算出されていない。このため、第3番目〜第6番目のABブロックに対しては、ステータスに未算出であることを示す「0」が設定される。空き容量については、前の状態(再構築前の状態)のクラスタ数が設定されている。
アプリケーション制御部51aからファイルの記録が要求されると(S16)、ファイルシステム制御部51bは、ブロック空き容量テーブル43を参照して、空きブロックの探索を行う(S17)。このとき、ブロック空き容量テーブル43が再構築中である場合、再構築途中の状態のブロック空き容量テーブル43(例えば、図7(A)に示す状態のテーブル)が参照される。このとき、ステータスが「0」のABブロックについての空き容量は正確な値ではないが、1つの目安として参照される。一方、ブロック空き容量テーブル43の再構築が完了している場合、再構築が完了した状態のブロック空き容量テーブル43(例えば、図7(B)に示す状態のテーブル)が参照される。
具体的には、ファイルシステム制御部51bは、ブロック空き容量テーブル43を参照し、まず、ステータスが「1」(算出済)であって、かつ空き容量(空きクラスタ数)が所定値以上のABブロックを「空きブロック」として探索する。そのようなABブロックが複数ある場合は、最も空き容量が多いブロックを「空きブロック」として選択する。そのようなABブロックが見つからなかった場合は、次に、ステータスが「0」(未算出)のABブロックにおいて、最も空き容量が多いABブロックを「空きブロック」として探索する。
空きブロック探索後、「空きブロック」が見つかった場合、ファイルシステム制御部51bは、探索した空きブロックに対応するクラスタ範囲における空きクラスタに対してファイルデータを記録する(S18)。ファイルシステム制御部51bは、このファイルの記録に伴いブロック空き容量テーブル43を更新する(S18)。なお、「空きブロック」が見つからなかった場合、ファイルシステム制御部51bは、エラーをアプリケーション制御部51aに返信し、ファイルの記録は行わない。
ファイルの記録が完了すると、ファイルシステム制御部51bは、アプリケーション制御部51aへファイル記録の完了を通知する(S19)。
やがて、バックグランドで動作していた、ブロック空き容量テーブル43の再構築が完了する(S20)。
その後、アプリケーション制御部51aが、ファイルシステム制御部51bにアンマウント処理の実施を要求すると(S21)、ファイルシステム制御部51bは、アンマウント処理を実施する(S22)。そして、ファイルシステム制御部51bは、RAM52に格納されているブロック空き容量テーブル43を、情報記録装置10の不揮発性メモリ20の所定の領域に書き込む(S23)。
最後に、ファイルシステム制御部51bは、アンマウント処理の完了をアプリケーション制御部51aに通知する(S24)。
以上のように、情報記録装置10をアンマウントした際に、ブロック空き容量テーブル43を情報記録装置10に書き込む。これにより、次に、その情報記録装置10をアクセス装置50にマウントし、その情報記録装置10に対してデータを記録する際に、ブロック空き容量テーブル43を参照することで、最新の空き状態を認識することができる。なお、情報記録装置10が前回にブロック空き容量テーブル43を認識できないアクセス装置にて使用された場合、ブロック空き容量テーブル43が正確な状態を示していない場合もある。しかしながら、そのような場合であっても、ブロック空き容量テーブル43が示す状態を、ブロック毎の空き状態を示す1つの目安として利用することができる。
[1−2−3.ブロック空き容量テーブルの管理]
ブロック空き容量テーブル43の管理方法について説明する。公知技術として、32バイトの複数種類のエントリ情報を使用し、様々な種類のファイルやその他の情報を管理する方法がある。例えば、国際公開第2009/122743号には、ファイルデータ毎に生成され、ファイルの名称やサイズ等の管理情報を格納する固定長のエントリを内部に含むエントリ群であるエントリシーケンスを用いてファイルデータの管理を行う方法が開示されている。この管理方法では、エントリシーケンスを用いたファイル管理において、ファイルの名称やサイズ等の管理情報を格納するエントリ(基本エントリ、名称エントリ)の後に、拡張情報を格納する特殊エントリ(エクステント情報エントリ)を配置して拡張情報を管理している。特殊エントリは、クラスタ領域を指示し、そのクラスタに拡張情報が格納される。エントリシーケンス内の一連のエントリのチェックサムが算出され、特定のエントリにそのチェックサムが格納される。
ブロック空き容量テーブル43の管理方法について説明する。公知技術として、32バイトの複数種類のエントリ情報を使用し、様々な種類のファイルやその他の情報を管理する方法がある。例えば、国際公開第2009/122743号には、ファイルデータ毎に生成され、ファイルの名称やサイズ等の管理情報を格納する固定長のエントリを内部に含むエントリ群であるエントリシーケンスを用いてファイルデータの管理を行う方法が開示されている。この管理方法では、エントリシーケンスを用いたファイル管理において、ファイルの名称やサイズ等の管理情報を格納するエントリ(基本エントリ、名称エントリ)の後に、拡張情報を格納する特殊エントリ(エクステント情報エントリ)を配置して拡張情報を管理している。特殊エントリは、クラスタ領域を指示し、そのクラスタに拡張情報が格納される。エントリシーケンス内の一連のエントリのチェックサムが算出され、特定のエントリにそのチェックサムが格納される。
本実施の形態においては、そのような管理技術を応用してブロック空き容量テーブル43を管理している。具体的には、図1に示すように、情報記録装置10の不揮発性メモリ20において、エントリシーケンス40内に、基本エントリ37と、名称エントリ38と、テーブル格納領域指定エントリ39とを配置する。
図8は、基本エントリ37の構成を示す図である。基本エントリ37は、ファイルの基本的な情報を格納するディレクトリエントリであり、全てのファイルのエントリシーケンス40に必ず1つずつ含まれるディレクトリエントリである。以下、基本エントリ37の各フィールドについて説明する。
「タイプ」:基本エントリ37であることを示す固定値を格納するフィールドである。
「二次エントリの個数」:基本エントリ37に後続する二次エントリの個数を格納するフィールドである。例えば、本フィールドに“10”が格納されていた場合、該当ファイルに対応するエントリシーケンス40は、基本エントリも含めて11個のディレクトリエントリから構成されていることになる。
「チェックサム」:該当エントリシーケンス40の循環シフト型チェックサムの値を格納するフィールドである。本フィールドを設けることにより、1つのファイルに複数のディレクトリエントリを割り当てた場合においてもディレクトリエントリ間の不整合を検出し、ファイルシステムの信頼性を高めることが可能となる。
「属性」:読み取り専用属性やシステムファイル属性等のファイル属性を格納するフィールドである。
「タイムスタンプ」:ファイルの作成日時や更新日時等のタイムスタンプを格納するフィールドである。
「タイムゾーン」:タイムスタンプが設定された時点のタイムゾーンを格納するフィールドである。
「予約」:今後の拡張性のために予約されているフィールドであり、通常は0x00を格納する。
「開始クラスタ番号」:ファイルデータを格納している領域の先頭のクラスタ番号を格納するフィールドである。
「ファイルサイズ」:ファイルのサイズを格納するフィールドである。
本実施の形態では、ブロック空き容量テーブルの管理のために設ける基本エントリ37には、上記のフォーマットにしたがいダミーファイルの情報を設定する。
図9は、名称エントリ38の構成を示す図である。名称エントリ38は、ファイルの名称を格納するディレクトリエントリであり、基本エントリ37と同様、全てのファイルのエントリシーケンス40に必ず1つずつ含まれるディレクトリエントリである。
「タイプ」:名称エントリ38であることを示す固定値を格納するフィールドである。
「ファイル名長」:ファイル名の長さを格納するフィールドである。
「名前ハッシュ」:フィールドは、ファイル名のハッシュ値を格納するフィールドである。
「ファイル名」:ファイルの名称を格納するフィールドである。
本実施の形態では、ブロック空き容量テーブルの管理のために設ける名称エントリ38には、上記のフォーマットにしたがいダミーファイルの情報を設定する。
図10は、テーブル格納領域指定エントリ39の構成を示す図である。テーブル格納領域指定エントリ39は、ブロック空き容量テーブル43を格納する領域であるテーブル格納領域41の開始クラスタを示す情報を格納するディレクトリエントリである。
「タイプ」:テーブル格納領域指定エントリであることを示す固定値を格納するフィールドである。
「予約」:将来の拡張性のために予約されているフィールドである。
「開始クラスタ番号」:ブロック空き容量テーブル43を格納するテーブル格納領域41の開始クラスタ番号を示すフィールドである。
「テーブル格納領域サイズ」:テーブル格納領域41のサイズを格納するフィールドである。
図1に示すように、ブロック空き容量テーブル43は、テーブル格納領域指定エントリ39(exFATの特殊エントリの1つ)が示すクラスタブロック内に格納される。
以上のように、エントリシーケンス40内に設けた特殊エントリ(テーブル格納領域指定エントリ39)によりブロック空き容量テーブル43を管理する。これにより、既存のファイルシステムのフォーマットと互換性を持たせながら、ブロック空き容量テーブル43を管理することが可能になる。
なお、ブロック空き容量テーブル43の管理方法は上記の方法に限定されない。図11に別の管理方法を示す。図11に示すように、エントリシーケンス40において、基本エントリや名称エントリを設けずに、テーブル格納領域41の情報を格納するブロック空き容量テーブルエントリ44(特殊エントリ)のみを設けてもよい。
図12は、ブロック空き容量テーブルエントリ44の構成を示す図である。ブロック空き容量テーブルエントリ44を構成する各フィールドは次のとおりである。
「タイプ」:ブロック空き容量テーブルエントリであることを示す固定値を格納するフィールドである。
「予約」:将来の拡張性のために予約されているフィールドである。
「開始クラスタ番号」:ブロック空き容量テーブル43を格納するテーブル格納領域41の開始クラスタ番号を示すフィールドである。
「テーブル格納領域サイズ」:テーブル格納領域41のサイズを格納するフィールドである。
この方法によっても、既存のファイルシステムのフォーマットと互換性を持たせながらブロック空き容量テーブル43を管理することができる。
[1−3.効果等]
以上のように、本実施の形態の情報記録システム100は、ファイルデータを格納する不揮発性メモリ20を備える情報記録装置10と、情報記録装置10にアクセスするアクセス装置50と、を備える。
以上のように、本実施の形態の情報記録システム100は、ファイルデータを格納する不揮発性メモリ20を備える情報記録装置10と、情報記録装置10にアクセスするアクセス装置50と、を備える。
情報記録装置10は、不揮発性メモリ20におけるABブロックに対応する記録領域(所定長の記録領域)毎に空き容量(例えば、空きクラスタ数)を管理するブロック空き容量テーブル43(空き容量管理情報の一例)を格納する。
アクセス装置50は、情報記録装置10に対するファイルデータの送受信を行うインタフェース55と、ファイルシステムを用いて情報記録装置へのファイルデータの記録を制御するファイルシステム制御部51b(制御部の一例)と、を備える。
ファイルシステム制御部51bは、情報記録装置10がアクセス装置50にマウントされたときに、情報記録装置10からブロック空き容量テーブル43を読み出す(S14)。ファイルシステム制御部51bは、不揮発性メモリ20のデータ記録状態に基づいてブロック空き容量テーブル43を再構築する(S15)。ファイルシステム制御部51bは、不揮発性メモリ20へのデータの書き込みに応じて、ブロック空き容量テーブル43を更新する(S18)。ファイルシステム制御部51bは、情報記録装置10がアンマウントされるときに、情報記録装置10に対して、ブロック空き容量テーブル43を記録する(S23)。
以上のように、アクセス装置50は、マウント時に、情報記録装置10からブロック空き容量テーブル43を読み出し、データ記録に応じて更新し、アンマウント時に、更新したブロック空き容量テーブル43を情報記録装置10に書き戻す。これにより、情報記録装置10において常に最新の状態を示すブロック空き容量テーブル43が格納される。よって、アクセス装置50は、情報記録装置10をマウントしたときに最新の空き容量テーブル43を利用することができる。このようなブロック空き容量テーブル43を参照することで、アクセス装置50は、情報記録装置10の空き状態を精度よく認識でき、空き領域を迅速に探索することができる。その結果、データ記録処理に要する時間を低減できる。
情報記録システム100において、情報記録装置10に格納されるファイルデータはファイルシステムによりクラスタ単位で記録される。ファイルシステムはアロケーションビットマップ35(領域管理情報の一例)を有する。ブロック空き容量テーブル43は、アロケーションビットマップ35において、所定数のクラスタを含むABブロック(ブロック領域の一例)毎に、各ABブロックに対応する記録領域における空き容量を管理する。このように、アロケーションビットマップ35における所定長の領域(ABブロック)毎に空き状態を管理することにより、空き容量の探索を迅速に行うことができる。
また、本実施の形態の情報記録装置10は、ファイルデータを格納する不揮発性メモリ20を備えた情報記録装置(情報記録媒体)である。ファイルデータは、ファイルシステムによりクラスタ(所定のデータ単位の一例)で管理される。不揮発性メモリ20は、アロケーションビットマップ35(領域管理情報の一例)と、エントリシーケンス40(エントリ群)と、ブロック空き容量テーブル43(空き容量管理情報の一例)と、を格納する。アロケーションビットマップ35は、クラスタ毎に、空き容量の有無(クラスタに関する情報の一例)を管理する。エントリシーケンス40は、少なくとも1つの基本エントリ37及び名称エントリ38(固定長エントリの一例)を内部に含む。基本エントリ37及び名称エントリ38は、ファイルデータ毎に生成され、ファイルの名称やサイズの情報を含む管理情報を格納する。ブロック空き容量テーブル43は、アロケーションビットマップ35において、所定数のクラスタを含むブロック領域(ABブロック)毎に、各ブロック領域に対応する記録領域における空き容量を管理する。エントリシーケンス40は、ブロック空き容量テーブル43が格納されるテーブル格納領域41を指定するテーブル格納領域指定エントリ39(領域指定エントリの一例)を含む。これにより、既存のファイルシステムの枠組にしたがいブロック空き容量テーブル43を管理することができる。
また、本実施の形態は以下の空き容量の管理方法を開示する。
ファイルデータを格納する不揮発性メモリ20を備える情報記録装置10にアクセスするアクセス装置50による、情報記録装置10の空き容量管理方法であって、
情報記録装置10がアクセス装置50にマウントされたときに、情報記録装置10から、所定長の記録領域(ABブロックに対応する領域)毎に空き容量を管理するブロック空き容量テーブル43を読み出し(S14)、
不揮発性メモリ20のデータ記録状態に基づいて、ブロック空き容量テーブル43を再構築し(S15)、
不揮発性メモリ20へのデータの書き込みに応じてブロック空き容量テーブル43を更新し(S18)、
情報記録装置10がアンマウントされるときに、情報記録装置10に対して、ブロック空き容量テーブル43を記録する(S23)、
空き容量管理方法。
情報記録装置10がアクセス装置50にマウントされたときに、情報記録装置10から、所定長の記録領域(ABブロックに対応する領域)毎に空き容量を管理するブロック空き容量テーブル43を読み出し(S14)、
不揮発性メモリ20のデータ記録状態に基づいて、ブロック空き容量テーブル43を再構築し(S15)、
不揮発性メモリ20へのデータの書き込みに応じてブロック空き容量テーブル43を更新し(S18)、
情報記録装置10がアンマウントされるときに、情報記録装置10に対して、ブロック空き容量テーブル43を記録する(S23)、
空き容量管理方法。
この管理方法により、情報記録装置10において、常に最新のブロック空き容量テーブル43が保持される。よって、空き容量探索を精度よくかつ高速に実行でき、結果として書き込み処理における処理時間を低減できる。
(他の実施の形態)
以上のように、本出願において開示する技術の例示として、実施の形態1を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施の形態を例示する。
以上のように、本出願において開示する技術の例示として、実施の形態1を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施の形態を例示する。
上記の実施の形態では、ファイルシステムとしてexFATファイルシステムを用いたが、FAT16やFAT32のファイルシステムに対しても、本開示の思想を同様に適用することができる。この場合、ブロック空き容量テーブルをFATの情報から生成すればよい。例えば、国際公開第2009/150810号に開示されているように、FATの領域を複数の固定長のブロック(以下「FATブロック」という)に分割し、FATブロック毎に空き容量を管理してもよい(図13参照)。例えば、FATにおいて1つのクラスタに対するFATエントリのサイズを32ビットとすると、1つのFATブロックにより、4K個(=16K×8/32)のクラスタの範囲に対する空き容量を管理できる。すなわち、ブロック空き容量テーブルを、FATの固定長の分割領域(ブロック)毎に空き容量を管理するように構成してもよい。また、本実施の形態で記載したエントリ以外の種別のエントリをエントリシーケンスに含めても良い。
また、FAT型ファイルシステム以外のファイルシステムに対しても本開示の思想を適用することができる。例えば、UDFファイルシステムにおいても、領域管理情報としてアロケーションビットマップ(Allocation Bitmap)を保持している。このアロケーションビットマップに含まれる各ビットが各々1論理ブロックの使用状況を示しており、Allocation BitmapはUDFファイルシステムが管理している全論理ブロックの数のビット情報を含むビットマップ情報となっている。即ち、このAllocation Bitmapも、データ記憶領域の総容量に比例する大きさを有する。よって、UDF(Universal Disk Format)ファイルシステムにおいても、上記の思想を適用することで、分割して空き容量を算出することができる。結果として、ファイルシステムの初期化から記録開始までにかかる時間を短縮することが可能になる。
上記の実施の形態で示したABブロック(図3参照)またはFATブロック(図13参照)のサイズは一例である。ABブロックやFATブロックのサイズは、想定されるアプリケーションに応じて適宜決定されればよい。例えば、情報記録装置のデジタルスチルカメラでの利用が想定される場合、デジタルスチルカメラで生成される静止画データのサイズに応じてABブロックやFATブロックのサイズを決定すればよい。
上記の実施の形態で説明した不揮発性記憶システム、アクセス装置、情報記録装置において、各処理部は、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性記憶システム、アクセス装置、情報記録装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
本開示は、不揮発性メモリにデータを記録する装置に有用である。
10 情報記録装置
20 不揮発性メモリ
22 ファイルシステム管理情報領域
24 ユーザデータ領域
30 exFATファイルシステム
31 マスターブートレコード・パーティションテーブル
32 ブート領域
33 FAT
35 アロケーションビットマップ
37 基本エントリ
38 名称エントリ
39 テーブル格納領域指定エントリ
40 エントリシーケンス
41 テーブル格納領域
43 ブロック空き容量テーブル
44 ブロック空き容量テーブルエントリ
50 アクセス装置
51 CPU
51a アプリケーション制御部
51b ファイルシステム制御部
51c 情報記録装置アクセス部
100 情報記録システム
20 不揮発性メモリ
22 ファイルシステム管理情報領域
24 ユーザデータ領域
30 exFATファイルシステム
31 マスターブートレコード・パーティションテーブル
32 ブート領域
33 FAT
35 アロケーションビットマップ
37 基本エントリ
38 名称エントリ
39 テーブル格納領域指定エントリ
40 エントリシーケンス
41 テーブル格納領域
43 ブロック空き容量テーブル
44 ブロック空き容量テーブルエントリ
50 アクセス装置
51 CPU
51a アプリケーション制御部
51b ファイルシステム制御部
51c 情報記録装置アクセス部
100 情報記録システム
Claims (15)
- ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置による、前記情報記録装置の空き容量管理方法であって、
前記情報記録装置がアクセス装置にマウントされたときに、前記情報記録装置から、所定長の記録領域毎に空き容量を管理する空き容量管理情報を読み出し、
前記不揮発性メモリのデータ記録状態に基づいて、前記空き容量管理情報を再構築し、
前記不揮発性メモリへのデータの書き込みに応じて前記空き容量管理情報を更新し、
前記情報記録装置がアンマウントされるときに、前記情報記録装置に対して、前記空き容量管理情報を記録する、
空き容量管理方法。 - 前記情報記録装置に格納されるファイルデータはファイルシステムにより所定のデータ単位で記録され、前記ファイルシステムは、前記データ単位毎に、前記データ単位に関する情報を管理する領域管理情報を有し、
前記空き容量管理情報は、前記領域管理情報において、所定数のデータ単位を含むブロック領域毎に、各ブロック領域に対応する記録領域の空き容量を管理する、
請求項1記載の空き容量管理方法。 - 前記領域管理情報は、各々が前記データ単位毎に空きか否かを示す複数のビットで構成された情報である、請求項2記載の空き容量管理方法。
- 前記領域管理情報は、ファイルデータが記録される複数のデータ単位間の接続関係を示す情報である、請求項2記載の空き容量管理方法。
- 前記アクセス装置から前記情報記録装置に対してファイルデータを記録する要求があったとき、前記領域管理情報を参照して前記各ブロック領域の空き容量を探索し、
選択された前記ブロック領域に対して前記ファイルデータが記録されると、前記空き容量管理情報を再構築する
請求項2記載の空き容量管理方法。 - ファイルデータ毎に生成され、ファイルの名称やサイズの情報を含む管理情報を格納する少なくとも1つの固定長エントリを内部に含むエントリ群を用いて、前記ファイルデータの管理を行い、
前記エントリ群は、前記空き容量管理情報が格納される領域を指定する領域指定エントリを含む、請求項1記載の空き容量管理方法。 - 前記エントリ群において、ダミーファイルに対する名称やサイズの情報を含むエントリに続けて、前記領域指定エントリを配置する、
請求項6記載の空き容量管理方法。 - ファイルデータを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置であって、
前記情報記録装置に対するファイルデータの送受信を行うインタフェースと、
ファイルシステムを用いて前記情報記録装置へのファイルデータの記録を制御する制御部と、を備え、
前記制御部は、
前記情報記録装置が前記アクセス装置にマウントされたときに、前記情報記録装置から、所定長の記録領域毎に空き容量を管理する空き容量管理情報を読み出し、
前記不揮発性メモリのデータ記録状態に基づいて、前記空き容量管理情報を再構築し、
前記不揮発性メモリへのデータの書き込みに応じて前記空き容量管理情報を更新し、
前記情報記録装置がアンマウントされるときに、前記情報記録装置に対して、前記空き容量管理情報を記録する、
アクセス装置。 - 前記情報記録装置に格納されるファイルデータはファイルシステムにより所定のデータ単位で記録され、前記ファイルシステムは、前記データ単位毎に、前記データ単位に関する情報を管理する領域管理情報を有し、
前記空き容量管理情報は、前記領域管理情報において、所定数のデータ単位を含むブロック領域毎に、各ブロック領域に対応する、前記不揮発性メモリの記録領域における空き容量を管理する、
請求項8に記載のアクセス装置。 - 前記領域管理情報は、前記データ単位毎に、各データ単位が空きか否かを示す複数のビットで構成された情報である、請求項9に記載のアクセス装置。
- 前記領域管理情報は、ファイルデータが記録される複数のデータ単位間の接続関係を示す情報である、請求項9に記載のアクセス装置。
- ファイルデータ毎に生成され、ファイルの名称やサイズの情報を含む管理情報を格納する少なくとも1つの固定長エントリを内部に含むエントリ群を用いて、前記ファイルデータの管理を行い、
前記エントリ群は、前記空き容量管理情報が格納される領域を指定する領域指定エントリを含む、請求項8に記載のアクセス装置。 - 前記エントリ群において、ダミーファイルに対する名称やサイズの情報を含むエントリに続けて、前記領域指定エントリを配置する、
請求項12に記載のアクセス装置。 - ファイルデータを格納する不揮発性メモリを備えた情報記録装置であって、
前記ファイルデータは、ファイルシステムにより所定のデータ単位で管理され、
前記不揮発性メモリは、
前記データ単位毎に、前記データ単位に関する情報を管理する領域管理情報と、
ファイルデータ毎に生成され、ファイルの名称やサイズの情報を含む管理情報を格納する少なくとも1つの固定長エントリを内部に含むエントリ群と、
前記領域管理情報において、所定数のデータ単位を含むブロック領域毎に、各ブロック領域に対応する記録領域における空き容量を管理する空き容量管理情報と、を格納し、
前記エントリ群は、前記空き容量管理情報が格納される領域を指定する領域指定エントリを含む、
情報記録装置。 - ファイルデータを格納する不揮発性メモリを備える情報記録装置と、
前記情報記録装置にアクセスするアクセス装置と、を備えた情報記録システムであって、
前記情報記録装置は、所定長の記憶領域毎に空き容量を管理する空き容量管理情報を格納し、
前記アクセス装置は、
前記情報記録装置に対するファイルデータの送受信を行うインタフェースと、
ファイルシステムを用いて前記情報記録装置へのファイルデータの記録を制御する制御部と、を備え、
前記制御部は、
前記情報記録装置が前記アクセス装置にマウントされたときに、前記情報記録装置から前記空き容量管理情報を読み出し、
前記不揮発性メモリのデータ記録状態に基づいて、前記空き容量管理情報を再構築し、
前記不揮発性メモリへのデータの書き込みに応じて前記空き容量管理情報を更新し、
前記情報記録装置がアンマウントされるときに、前記情報記録装置に対して、前記空き容量管理情報を記録する、
情報記録システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017076553 | 2017-04-07 | ||
JP2017076553 | 2017-04-07 | ||
PCT/JP2018/014481 WO2018186455A1 (ja) | 2017-04-07 | 2018-04-04 | 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2018186455A1 true JPWO2018186455A1 (ja) | 2019-12-26 |
Family
ID=63713316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019511293A Pending JPWO2018186455A1 (ja) | 2017-04-07 | 2018-04-04 | 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190354306A1 (ja) |
JP (1) | JPWO2018186455A1 (ja) |
WO (1) | WO2018186455A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7362349B2 (ja) * | 2019-08-23 | 2023-10-17 | キヤノン株式会社 | 制御装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007214786A (ja) * | 2006-02-08 | 2007-08-23 | Toshiba Corp | 携帯型撮像装置 |
US8019800B2 (en) * | 2008-04-04 | 2011-09-13 | Panasonic Corporation | Access device, information recording device, information recording system, file management method, and program |
JP5362594B2 (ja) * | 2008-06-09 | 2013-12-11 | パナソニック株式会社 | アクセス装置、及び残容量算出方法 |
JP5304154B2 (ja) * | 2008-10-01 | 2013-10-02 | 富士通セミコンダクター株式会社 | ドライブ装置、マウントプログラムおよびマウント方法 |
JP6361130B2 (ja) * | 2013-12-24 | 2018-07-25 | 株式会社ソシオネクスト | ファイルアクセスプログラム、ファイルアクセス方法 |
-
2018
- 2018-04-04 JP JP2019511293A patent/JPWO2018186455A1/ja active Pending
- 2018-04-04 WO PCT/JP2018/014481 patent/WO2018186455A1/ja active Application Filing
-
2019
- 2019-08-02 US US16/530,658 patent/US20190354306A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2018186455A1 (ja) | 2018-10-11 |
US20190354306A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430286B2 (en) | Storage control device and storage system | |
JP5485163B2 (ja) | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム | |
US6823417B2 (en) | Memory controller for memory card manages file allocation table | |
JP5577238B2 (ja) | アクセス装置、情報記録装置、コントローラ、及び情報記録システム | |
US8977802B2 (en) | Access device, information recording device, controller, real time information recording system, access method, and program | |
US8589617B2 (en) | Write once recording device | |
US11176100B2 (en) | Systems and methods for fail-safe operations of storage devices | |
US8019800B2 (en) | Access device, information recording device, information recording system, file management method, and program | |
CN109902034B (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
KR100703807B1 (ko) | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 | |
US9015444B2 (en) | Access apparatus and available storage space calculation method | |
JP4608434B2 (ja) | 情報記録媒体のデータ処理装置及びデータ記録方法 | |
JPWO2018186455A1 (ja) | 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム | |
CN109727629B (zh) | 使用利用多间隙进度字段的磨损均衡的方法和*** | |
KR20060095206A (ko) | 낸드 플래시 메모리 파일 시스템 및 낸드 플래시 메모리 시스템에서 파일 엑세스 방법 | |
JP2009205590A (ja) | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム | |
KR101618999B1 (ko) | 네트워크 부트 시스템 | |
CN106557275B (zh) | 一种数据处理的方法及装置 | |
JP2008134777A (ja) | ファイル割当テーブルのキャッシュ方法 | |
JP2006338437A (ja) | 半導体記録メディアへのデータ記録方法及びアクセス装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200714 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210202 |