JP2009527847A - Fatボリュームにおけるファイルベースの圧縮 - Google Patents
Fatボリュームにおけるファイルベースの圧縮 Download PDFInfo
- Publication number
- JP2009527847A JP2009527847A JP2008556313A JP2008556313A JP2009527847A JP 2009527847 A JP2009527847 A JP 2009527847A JP 2008556313 A JP2008556313 A JP 2008556313A JP 2008556313 A JP2008556313 A JP 2008556313A JP 2009527847 A JP2009527847 A JP 2009527847A
- Authority
- JP
- Japan
- Prior art keywords
- file
- compressed
- files
- data
- compression
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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
- 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/0608—Saving storage space on storage systems
-
- 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/0643—Management of files
-
- 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
FATボリューム内の個々のファイルを圧縮するとともに、圧縮するファイル以外のファイルを非圧縮状態に保つことができる。FAT圧縮フィルタ(FCF)プログラムは、ファイルシステムに対する呼び出しをインタセプトし、FATボリュームにおけるファイルに関する圧縮タスクおよび解凍タスクを実行する。FATファイルシステムと共に個々のファイルの圧縮を使用することで、個々のファイルの圧縮の利点を提供しながら、確実にフラッシュメモリの寿命を長くし、すぐに機能しなくなることがないようにすることができる。FAT圧縮フィルタ(FCF)により、ボリューム内の個々のファイルは、圧縮されることから除外することができる。
Description
メモリは、組み込みシステムにおいて重要なリソースである。多くの組み込みデバイスにとって、フラッシュメモリは最適な記憶媒体である。しかし、フラッシュメモリは、機能しなくなるまでに制限された回数しか書き込むことができない、高価な不揮発性メモリである。フラッシュメモリの障害は、各フラッシュセクタにおいてフラッシュメモリが機能しなくなる前および使い果たされる前に実行できる書き込みイベントが、制限された回数しかないことによって生じる。コストを削減するために、多くのシステムでは、必要なフラッシュメモリの量を最小限に抑えるよう努めている。NTFS(New Technology File System)は、メモリスペースを低減する圧縮をサポートするものであるが、一般的にはフラッシュメモリと共に使用されることはない。
フラッシュメモリと共にNTFSを使用すると、NTFSがログファイルを媒体上の特定のセクタに定期的に書き込みをすることにより許容される書き込みイベントを超えてしまうので、メモリがすぐに機能しなくなるおそれがある。さらに、NTFSでは、他のファイルシステムと比べて、より大量の空間オーバヘッドが必要である。一般に、FAT(File Allocation Table)ファイルシステムが、フラッシュメモリと共に使用される。FATと併せて使用されるセクタベースまたはボリュームベースの圧縮では、ボリューム全体が圧縮されるので、それにより、いくつかのアプリケーションおよびオペレーティングシステムのコンポーネントが、実行に時間がかかるか、または不適切に実行されてしまう場合がある。
この要約は、以下の発明の詳細な説明においてさらに説明する概念を選択して簡潔に紹介するものである。この要約は、特許請求する主題事項の重要な特徴または不可欠な特徴を特定するよう意図するものでもないし、特許請求する主題事項の範囲を決定するのを助けるものとして使用するよう意図するものでもない。
FATボリューム内の個々のファイルを圧縮するとともに、圧縮するファイル以外のファイルを非圧縮状態に保つことができる。FAT圧縮フィルタ(FCF:FAT Compression Filter)プログラムは、ファイルシステムに対するファイル要求をインタセプトし、FATボリュームにおけるファイルに関する圧縮タスクおよび解凍タスクを実行する。FATボリュームに記憶されたファイルの圧縮および解凍に関する動作を構成して実行するために、APIが使用されてもよい。FATファイルシステムと共に個々のファイルの圧縮を使用することで、個々のファイルの圧縮の利点を提供しながら、確実にフラッシュメモリの寿命を長くし、すぐに機能しなくなることがないようにすることができる。FAT圧縮フィルタにより、ボリューム内の個々のファイルは、圧縮されることから除外される。一般に、圧縮されることから除外されるファイルは、圧縮時にアプリケーションのパフォーマンスに悪影響を及ぼすことになるファイルである。
次に、図面を参照しながら、様々な実施形態について説明する。図面において、類似した符号は、類似した要素を表している。特に、図1および図1に対応する記載は、様々な実施形態を実装できる適切なコンピューティング環境を簡潔かつ一般的に説明することを目的とするものである。
一般に、プログラムモジュールには、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造体が含まれる。ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどの、他のコンピュータシステム構成が使用されてもよい。通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境が使用されてもよい。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリストレージデバイスおよびリモートメモリストレージデバイスの両方に配置されてもよい。
次に図1を参照して、様々な実施形態において利用されるコンピュータ100の例示的なコンピュータアーキテクチャについて説明する。図1に示したコンピュータアーキテクチャは、モバイルコンピューティングデバイスおよび/または従来のコンピューティングデバイスとして構成することができる。例えば、コンピューティングデバイス100は、スマートフォン、PDA、デスクトップコンピュータ、サーバ、タブレット、ラップトップコンピュータなどとして構成することができる。
図示するように、コンピュータ100は、中央処理ユニット(CPU)5、ランダムアクセスメモリ(RAM)9とリードオンリメモリ(ROM)11とを含むシステムメモリ7、およびCPU5にメモリを接続するシステムバス12を備えている。システムメモリ7は、不揮発性メモリおよび揮発性メモリの任意の組合せとすることができる。起動時などにコンピュータ内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システムは、ROM11に記憶されている。コンピュータ100は、オペレーティングシステム16、アプリケーションプログラム、および他のプログラムモジュールを記憶するための大容量ストレージデバイス14をさらに備えている。これについては、以下で詳細に説明する。
大容量ストレージデバイス14は、バス12に接続された大容量ストレージコントローラ(図示せず)を介してCPU5に接続される。大容量ストレージデバイス14およびそれに関連するコンピュータ読み取り可能な媒体は、コンピュータ100に不揮発性の記憶領域を提供する。本明細書で説明するコンピュータ読み取り可能な媒体は、ハードディスク、DVDドライブまたはCD−ROMドライブなどの大容量ストレージデバイスを指しているが、コンピュータ読み取り可能な媒体は、コンピュータ100がアクセス可能な任意の利用可能な媒体とすることができる。
例えば、コンピュータ読み取り可能な媒体には、コンピュータ記憶媒体および通信媒体を含めることができるが、これらに限定されるものではない。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性媒体および不揮発性媒体、ならびに取り外し可能な媒体および取り外し不可能な媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、もしくは他のソリッドステートメモリ技術、CO−ROM、デジタル多用途ディスク(DVD)、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気記憶デバイス、または、所望の情報を記憶するのに使用でき、かつコンピュータ100がアクセス可能な他の任意の媒体が含まれるが、これらに限定されるものではない。
様々な実施形態にしたがうと、コンピュータ100は、インターネットなどのネットワーク18を介してリモートコンピュータに対する論理接続を使用するネットワーク環境において動作することができる。コンピュータ100は、バス12に接続されたネットワークインタフェースユニット20を介して、ネットワーク18に接続することができる。ネットワークインタフェースニット20はまた、他のタイプのネットワークおよびリモートコンピュータシステムに対して接続するために利用することもできる。この接続は、有線接続および/または無線接続とすることができる。コンピュータ100はまた、キーボード、マウス、電子スタイラスなどの多くのデバイスからの入力を受信して処理するための入出力コントローラ22を備えている。また、入出力コントローラ22は、ディスプレイ28、スピーカ、またはいくつかの他のタイプのデバイスに対する出力を提供することができる。
簡潔に上述したように、多くのプログラムモジュールおよびデータファイルは、コンピューティングデバイスの動作を制御するのに適したオペレーティングシステム16を含むコンピュータ100のメモリに記憶することができる。このようなオペレーティングシステムとして、ワシントン州レドモンドを本拠とする本件特許出願人のWINDOWS(登録商標) MOBILEまたはWINDOWS(登録商標) XPのオペレーティングシステムなどがある。コンピューティングデバイス100は、組み込みオペレーティングシステムと共に、他の組み込みデータ、組み込みファイル、および組み込みアプリケーションを含む組み込みシステムであってもよい。
オペレーティングシステム16は、FATファイルシステムを利用することができる。一般に、FATファイルシステムにより、オペレーティングシステムは、1つのファイルの各部分の位置およびシーケンスを追跡することができる。さらに、FATファイルシステムにより、オペレーティングシステム16は、まだ割り当てられておらず、かつ新たなファイルに利用可能なクラスタを識別することができる。ファイルを読み取る要求が受信されると、FATファイルシステムは、表示するために、ファイルの各部分を1つのユニットに再構築する。
一実施形態にしたがうと、全てまたはいくつかのメモリは、フラッシュメモリ、または組み込みシステムに適したいくつかの他のメモリとすることができる。大容量ストレージデバイス14およびRAM9は、1つまたは複数のプログラムモジュールをさらに記憶することができる。特に、大容量ストレージデバイス14およびRAM9は、FAT圧縮フィルタ(FCF)プログラム10を記憶することができる。FCFプログラム10は、ファイル24と対話してファイル24を圧縮/解凍し、かつオペレーティングシステム16と対話する機能を提供するよう動作可能である。例えば、FCFプログラム10は、FATファイルシステムに対する呼び出しを個別にインタセプトし、圧縮タスクおよび解凍タスクを実行して、大容量ストレージデバイスにおけるボリュームに対して/大容量ストレージデバイスにおけるボリュームから、または要求元アプリケーションに対して/要求元アプリケーションからデータを返すように構成される。FATファイルシステムと共に個々のファイルの圧縮を使用することで、個々のファイルの圧縮を提供しながら、確実にフラッシュメモリは寿命が長くなり、すぐに機能しなくなることがないようにすることができる。FATボリューム内の個々のファイルは、圧縮されることから除外することができる。その際、除外リスト26を利用して、特定のファイルの圧縮を除外することを容易に行うことができる。他のタイプのインジケータを使用して、ファイルを圧縮すべきか否かを示してもよい。例えば、各ファイルは、ヘッダ内にインジケータを有して、ファイル名が圧縮すべきであるか否かなどを示すようにしてもよい。一般に、圧縮から除外されるファイルは、コンピューティングデバイスのブートプロセスにおいて初期に必要なファイル、または圧縮時にアプリケーションのパフォーマンスに悪影響を及ぼすファイルである。圧縮から除外すべきファイルの判断は、許可されたユーザにより設定することができる。例えば、あるアプリケーションでは、許可されたユーザは、システム管理者とすることができるのに対し、他のアプリケーションでは、許可されたユーザは、コンピューティングデバイス100のユーザとすることができる。FCFプログラム10の動作に関するさらなる詳細については、以下で説明する。
図2は、個々のファイルの圧縮を行うFAT圧縮システムを示している。図示するように、FAT圧縮システム200は、アプリケーション202、ファイルシステム要求204、FCFプログラム10、ボリュームリスト210、設定212、IOマネージャ220、ファイルシステム222、ボリュームマネージャ224、FATボリューム230、250、除外リスト232、ヘッダ234を含む圧縮ファイル236、非圧縮ファイル240、アプリケーションプログラミングインタフェース(API)238、およびストレージ260を含む。
一般に、FAT圧縮システム200により、FATボリューム内の個々のファイルを圧縮するとともに、圧縮するファイル以外のファイルを非圧縮状態に保つことができる。FCFプログラム10は、ファイルシステム222に対してアプリケーション(例えば、アプリケーション202)が行うファイルシステム要求204をインタセプトし、ファイルに関する圧縮タスクおよび解凍タスクを実行する。一般に、圧縮することから除外されるファイルは、ブートファイルであり、圧縮時にアプリケーションのパフォーマンスに悪影響を及ぼすファイルである。FATボリュームに記憶されるファイルは、圧縮ファイル236と非圧縮ファイル240とを混合したものであってもよい。ファイルはまた、1つまたは複数のFATボリューム(例えば、FATボリューム1 230およびFATボリューム2 250)に存在してもよい。FCFプログラム10により、ボリューム内の個々のファイルを圧縮することから除外することができる。
除外リスト232を使用して、圧縮すべきでないファイルを識別する。除外リスト232にはまた、圧縮すべきでないフォルダまたはパスを含めることもできる。除外リスト232は、ファルダ内または特定のパス下に含まれるファイルおよび/またはサブディレクトリの全ておよび/または一部を圧縮するように構成することができる。除外リスト232には、チェックサムをさらに含めることができるので、FCFプログラム10は、除外リストのファイルが改ざんされているか否か、または破損しているか否かを判定することができる。除外リストが改ざんされているか否か、および/または破損しているか否かを判定するのに、他の方法を使用してもよい。
FCFプログラム10は設定212を含む。設定212には、FCFプログラム10の動作に関する多くの様々なタイプの設定を含めることができる。例えば、設定212には、常に圧縮されることから除外されるファイルのリスト、デフォルトの圧縮アルゴリズム、最小圧縮閾値(minimum compression threshold)などを含めることができる。設定212は、ボリューム単位で、フォルダ単位で、またはファイル単位で、グローバルに構成してもよい。
FCFプログラム10はまた、ボリュームリスト210も含む。ボリュームリスト210は、どのFATボリュームがアタッチされるのかを定義したものであり、FCFプログラム10が圧縮すべきファイルを含む。新たなFATボリュームにアクセスすると、FCFプログラム10は、構成ファイル231のFATボリュームのルートをチェックする。構成ファイル231が存在し、かつ構成ファイル231が、ボリュームをFCFプログラム10にアタッチすべきであると識別した場合、そのボリュームがFCFプログラム10にアタッチされ、ボリュームリスト210が更新される。同様に、あるボリュームがデタッチされた(unattached)場合、そのボリュームは、ボリュームリスト210から削除される。あるFATボリュームをFCFプログラム10にアタッチするか否かを判定するために、多くの他の方法を用いてもよい。例えば、コンピューティングデバイス上に存在する任意のFATボリュームを自動的にアタッチしてもよいし、特定の(1つまたは複数の)FATボリュームだけをアタッチするなどの方法を用いてもよい。
圧縮ファイル236および非圧縮ファイル240の両方が、FATボリュームに存在する。一実施形態にしたがうと、各圧縮ファイル236は、FCFプログラム10が利用するヘッダ234を含む。一実施形態にしたがうと、ヘッダ234は、シグネチャ、圧縮タイプ、チェックサム、および圧縮マッピング情報を含む。特に、FCFプログラム10は、ヘッダ234を使用して、ファイルを圧縮するか否かを識別する。ファイルがヘッダ234を含む場合、そのファイルは圧縮される。ファイルがヘッダ234を含まない場合、そのファイルは圧縮されない。これにより、システム200は、ファイルをポータブルにすると共に、個々のマッピングファイルなしでファイルを読み取ることが可能になり、また、異なる圧縮アルゴリズムを同一のファイルシステムにおいて使用することが可能になる。ヘッダ234内の一意なシグネチャを使用して、ファイルを圧縮ファイルとして識別することもできる。
ヘッダ234内の圧縮タイプを使用して、ファイルに対して圧縮を実行する際に使用する圧縮アルゴリズムを指定することもできる。一実施形態にしたがうと、MSZip圧縮アルゴリズムなどのZIP圧縮アルゴリズムをデフォルトで使用して、ファイルが圧縮される。他の圧縮アルゴリズムを指定してもよい。例えば、LZNT圧縮アルゴリズムを使用してもよい。様々な圧縮アルゴリズムには、異なる利点がある。一般に、空間とパフォーマンスとの間にはトレードオフが存在する。圧縮アルゴリズムを選択できることにより、アプリケーションおよびデバイスを特定用途向けに最適化することが可能になる。
他の方法を使用して、圧縮アルゴリズムを識別してもよい。例えば、デフォルト圧縮アルゴリズムを使用して全てのファイルを圧縮してもよいし、各ファイルおよび当該ファイルの圧縮アルゴリズムなどを識別するリストが含まれてもよい。圧縮ファイル236の各々のヘッダ234内に圧縮アルゴリズムのタイプを含めることで、たとえファイルシステムが異なるデフォルト圧縮アルゴリズムをサポートしていても、確実に圧縮ファイル236をアクセス可能にできる。一実施形態にしたがうと、1つのタイプの圧縮アルゴリズムを使用してひとたびファイルが圧縮されると、そのファイルに対して行ういずれの更新についても、同一の圧縮アルゴリズムを使用し続けることになる。圧縮アルゴリズムを変更するためには、FCFプログラム10によってファイルを解凍し、次いで、選択した圧縮アルゴリズムを使用して、FCFプログラム10によって再圧縮する。
アプリケーション202が、アタッチされたFATボリューム(例えば、FATボリューム230)からデータを読み取ることを要求した場合、FCFプログラム10は、ファイルが圧縮されているか否かを識別する。一実施形態にしたがうと、FCFプログラム10は、ファイルがヘッダ234を含むか否かを判定する。ファイルがヘッダを含む場合、FCFプログラム10は、ファイルからデータを読み取り、ファイルの要求された部分を解凍し、ファイルシステム要求204を介して要求元アプリケーション202に要求されたデータを返す。ファイルがヘッダを含まない場合、FCFプログラム10は、データに対して全く解凍を行わずに、要求されたデータを返す。
アプリケーション202が書き込みを要求した場合、FCFプログラム10は、ファイルシステム要求204を介して要求を受信し、ファイルが圧縮されているか否か、またはファイルを圧縮すべきか否か(例えば、ファイルが現在存在しない、異なるボリュームへのコピーなど)を判定する。ファイルがFATボリューム内に存在しなかった場合、除外リスト232にアクセスして、FATボリュームにファイルを書き込む前にファイルを圧縮するか否かを判定する。読み取り要求と同様に、ファイルがヘッダ234を含むか否かに関して判定される。ファイルがヘッダ234を含む場合、FCFプログラム10は、ヘッダ234内で指定された圧縮アルゴリズムを判定し、その指定された圧縮アルゴリズムを使用して、FATボリュームにおけるファイルにデータを書き込む前にデータを圧縮する。ファイルがヘッダを含まない場合、データを圧縮せずに、FATボリュームにおけるファイルにデータを書き込む。
FATボリュームにおけるファイルをコピーする場合、圧縮システム200は、新たなファイルを指定された位置に書き込む。圧縮すべきファイルを指定する位置にファイルをコピーする場合、FATボリュームに記憶する前にファイルを圧縮する。同一のFATボリューム内でファイルを移動させることは、ファイルアロケーションテーブル内のファイル位置を変更することであって、ファイルの圧縮を変更するわけではない。代替として、移動には、ファイルを新たな位置において圧縮すべきであるか、非圧縮状態にすべきかを判定することを含めることができる。この例では、移動は、移動後に元のファイルをFATボリュームから削除した状態でコピーするものとして扱うことになる。同様に、ボリューム全体にわたってファイルを移動することは、ファイルを新たなボリュームにコピーして、次いで、元のボリュームにおけるファイルを削除することを含む。
一実施形態にしたがうと、別のデバイス上のボリュームにファイルをコピーして、圧縮された形式で記憶する場合、FCFプログラムによってコピー先のデバイス上でファイルを再圧縮する。これにより、確実に各デバイスが圧縮ファイルと対話できる。別の実施形態にしたがうと、圧縮された形式で、ファイルを新たな位置にコピーしてもよい。この場合、確実にデバイスが指定された圧縮アルゴリズムに対するサポートを含むようになされるべきである。
一実施形態にしたがうと、ファイルを圧縮すべき場合、FCFプログラム10は、圧縮状態のファイルが最小圧縮閾値(例えば、デフォルトで5%未満の節減)を満たすか否かを判定する。他の閾値を利用してもよい。ファイルが最小圧縮閾値を満たさない場合、ファイルを非圧縮ファイルとして記憶し、これにより確実にパフォーマンスが低下しないようにする。最小圧縮閾値を満たさないために圧縮されることから除外されたファイルは、除外リスト232に追加され、最小圧縮閾値を満たさないものとしてマーク付けされる。最小圧縮閾値を満たさないものとしてマーク付けされたファイルは全て、指定された設定にしたがって、定期的に再検査されてもよい。最小圧縮閾値は、設定212内に記憶され、多くの異なる方法で設定することができる。例えば、最小圧縮閾値は、API238を使用して設定することができる。
一実施形態にしたがうと、FCFプログラム10にとって既知のブートファイルは、非圧縮状態に保たれ、圧縮されなくてよい。ブートファイルは、FCFプログラム10により、ブートドライバのランタイムレジストリを検索することで動的に識別することができる。こうしたブートドライバを除外リスト232および/または設定212に追加して、必須のものとしてマーク付けすることができる。必須のものとしてマーク付けされた場合、ファイルは決して圧縮されない。
API238は、対話するためのインタフェースを提供して、FATボリュームにおける個々のファイルの圧縮に関する設定を調節する。API238を利用して、例えば、次のことを行うことができる:除外リスト232からファイルまたはパスを削除する;除外リストの変更を直ちに行う;特定のファイル(または、あるフォルダ内のファイル群またはあるパス下のファイル群)を圧縮すべきか、非圧縮状態にすべきかを設定する;ファイルの圧縮状態を更新する;変更を新たなファイルのみに適用する;ボリュームをアタッチ/デタッチする;および、デフォルトの圧縮タイプを変更することができる。コマンドラインツールを使用して、FATボリュームにおけるファイルの圧縮に関する設定を構成してもよい。例えば、コマンドラインツールを使用して、あるボリュームのFCFプログラムに対するアタッチまたはデタッチ、除外リストの表示などを行ってもよい。以下は、API238内で利用できる例示的な関数のリストである。関数の他の組合せを使用してもよい。
除外リスト232の情報を追加、削除、表示、および変更するために、除外リストの更新(Update Exclusion List)を使用する。
ある1つのファイル、またはディレクトリ構造内のファイル群に対して変更を行うために、ファイルの変換関数(Convert Files Function)を使用する。一実施形態にしたがうと、ファイルの変換関数には、次の引数の利用を含めることができる。「Subdirs」引数は、ディレクトリおよびそのサブディレクトリ内の全てのファイルを指定された圧縮状態に変更させる。「C」、すなわち圧縮引数は、ファイルを圧縮する。「U」、すなわち解凍引数は、ファイルを解凍する。FORCE引数は任意の他の引数と組み合わせて、除外リスト232にファイルが含まれているか否かに関わらず、そのファイルの変更を強制する。使用する圧縮アルゴリズムを指定する引数(例えば、−LZNT、−MSZipなど)を利用してもよい。
図3は、FATボリュームにおける非圧縮ファイルと圧縮ファイルとの間のマッピングを示している。非圧縮ファイル310は、32k「チャンク(chunk)」に記憶されているファイルを表す。他のチャンクサイズを使用してもよい。非圧縮ファイル310が圧縮されて圧縮ファイル312になると、ヘッダ320がファイルに追加され、非圧縮ファイル310内の各チャンク(1〜4)が圧縮されて、ヘッダ320の後ろに圧縮された各チャンク(1〜4)が記憶される。図示するように、元の非圧縮ファイル310のチャンク1は、サイズが24k減少し、チャンク2は、サイズが3k減少し、チャンク3は、サイズが4k減少し、チャンク4は、サイズが23k減少した。簡単に上述したように、ヘッダは、(断片化(fragmentation)を可能にするための、)圧縮されたチャンクのマッピングを含む。次の例では、非圧縮ファイル310内の60k目から始まる12k分のデータを、非圧縮ファイル310に対して要求した。ヘッダ320内に含まれるマッピング情報を使用して、圧縮ファイル312内の要求されたデータにアクセスすべき場所を判定する。
FCFプログラムは、ファイル要求がファイルシステムに送信される前に、そのファイル要求をインタセプトする。圧縮によるファイル構造の変化を明らかにするために、非圧縮ファイルから圧縮ファイルへのオフセットをマッピングすることにより、ファイル要求が変更される。この例では、チャンク2および3に対する要求が、ディスクIOを処理するファイルシステムのスタックに送信される。次いで、ファイルシステムは、圧縮ファイル312の圧縮されたデータ(チャンク2および3)を返す。FCFプログラムは、返されたデータをインタセプトし、そのデータを解凍し、要求されなかった余分なデータを全て切り捨て、次いで、要求されたものとしてデータを返す。
次に図4〜図6を参照して、FATボリュームにおける個々のファイルを圧縮する例示的なプロセスについて説明する。本明細書内で提示するルーチンの説明を読む際、様々な実施形態の論理動作は、(1)コンピューティングシステム上で実行される一連のコンピュータ実装動作すなわちプログラムモジュールとして、および/または(2)コンピューティングシステム内の相互接続されたマシンの論理回路または回路モジュールとして実装されることを理解されたい。実装は、コンピューティングシステムのパフォーマンス要件に応じて選択できる。したがって、図示して本明細書内で説明する実施形態を構成する論理動作は、操作、構造デバイス、動作、またはモジュールと様々に呼ばれる。これらの操作、構造デバイス、動作、またはモジュールは、ソフトウェア、ファームウェア、特殊用途デジタルロジック、およびこれらの任意の組合せで実装することができる。
図4は、読み出し要求を受信するプロセス400を示している。開始動作後、プロセスは動作410に進み、動作410で、読み取り要求が受信される。読み取り要求は、圧縮ファイル内のデータまたは非圧縮ファイル内のデータに対して行うことができる。一実施形態にしたがうと、読み取り要求は、ファイルシステムに到達する前に、FCFプログラムによってインタセプトされる。
判定動作420に進み、要求されたデータを含むファイルを圧縮されているか否かに関して判定がなされる。一実施形態にしたがうと、ファイルは、ヘッダを含む場合、圧縮されている。
ファイルが圧縮されていなかった場合、プロセスは動作430に進み、動作430で、要求されたデータが、非圧縮ファイルから取り出される。次いで、プロセスは動作460に進み、動作460で、データを返す。
ファイルが圧縮されていた場合、プロセスは動作440に進み、動作440で、圧縮ファイルから要求されたデータの場所が探されて、要求されたデータが、圧縮ファイルから取り出される。一実施形態にしたがうと、圧縮ファイル内のヘッダは、圧縮ファイル内の要求されたデータにアクセスすべき場所を示すマッピング情報を含む。
動作450に進み、取り出されたデータが、指定された圧縮アルゴリズムを使用して解凍される。次いで、動作460に進み、動作460で、データが、要求元アプリケーションに返される。次いで、プロセスは終了動作に進み、他のアクションの処理に戻る。
図5は、書き込み要求を受信するプロセス500を示している。開始動作後、プロセスは動作510に進み、動作510で、書き込み要求が受信される。書き込み要求は、圧縮ファイルにデータを書き込むよう要求するものであってもよいし、非圧縮ファイルにデータを書き込むよう要求するものであってもよいし、FATボリュームに現在存在しないファイルにデータを書き込むよう要求するものであってもよい。
判定動作520に進み、書き込み要求が、すでにFATボリュームに存在するファイルに対して行われるか否かに関して判定がなされる。ファイルが存在しない場合、プロセスは動作540に進み、動作540で、ファイルが作成される(図6および図6に関する説明を参照)。一般に、ファイルは、圧縮ファイルまたは非圧縮ファイルとして作成される。
ファイルがすでに存在する場合、プロセスは判定動作530に進み、動作530で、ファイルが圧縮されているか否かに関して判定がなされる。ファイルが圧縮されていない場合、プロセスは動作560に進み、動作560で、非圧縮データがファイルに書き込まれる。
ファイルが圧縮されている場合、プロセスは動作550に進み、動作550で、書き込み要求に関連付けられたデータが、選択した圧縮アルゴリズムを使用して圧縮される。また、マッピング情報に対する全ての変更を含むように、ヘッダも更新される。次いで、プロセスは動作560に進み、動作560で、圧縮データがファイルに書き込まれる。
次いで、プロセスは終了ブロックに進み、他のアクションの処理に戻る。
図6は、ファイルを作成するプロセスを示している。開始動作後、プロセス600は判定動作610に進み、動作610で、ファイルを圧縮すべきであるか否かに関して判定がなされる。一実施形態にしたがうと、除外リストをチェックして、ファイルを圧縮すべきであるか否かを判定する。ファイルを圧縮すべきでない場合、プロセスは動作640に進み、動作640で、非圧縮データが、新たなファイルに書き込まれる。
ファイルを圧縮すべきである場合、プロセスは動作620に進み、動作620で、選択した圧縮アルゴリズムを使用してデータが圧縮される。次いで、プロセスはオプションの動作630に進み、動作630で、ヘッダが作成される。上述したように、ヘッダは、ファイルの圧縮に関する情報と共に、マッピング情報も含む。
動作640に進み、圧縮データおよびヘッダ(含まれる場合)が、新たなファイルに書き込まれる。次いで、プロセスは終了動作に進み、他のアクションの処理に戻る。
上述の明細書、例、およびデータは、本発明の製造を完全に記述し、かつ本発明の構成を使用できるようにするものである。本発明の多くの実施形態が、本発明の趣旨および範囲から逸脱することなく可能であるので、本発明は、添付の特許請求の範囲内に示すものとする。
Claims (20)
- FATボリューム内の個々のファイルを圧縮するとともに、圧縮するファイル以外のファイルを非圧縮状態に保つためのコンピュータ実装方法であって、
前記FATボリュームにおけるファイルに対するデータ読み取りまたはデータ書き込みを行うファイルシステム要求を受信することと、
前記ファイルが圧縮されているか否かを判定することと、
前記ファイルが圧縮されている場合、
前記ファイルシステム要求が、前記データ書き込みであるときには、前記データを圧縮して、前記FATボリュームにおける前記ファイルに前記圧縮したデータを書き込むことであって、前記FATボリュームは、非圧縮ファイルおよび圧縮ファイルを含む、書き込むことと、
前記ファイルシステム要求が、前記データ読み取りであるときには、前記FATボリュームにおける前記ファイルにアクセスし、前記データを解凍し、該解凍したデータを返すことと
を備えることを特徴とする方法。 - 前記ファイルシステム要求を受信することは、
前記ファイルシステム要求がファイルシステムに到達する前に、前記ファイルシステム要求をインタセプトすること
を含むことを特徴とする請求項1に記載の方法。 - 前記ファイルが圧縮されているか否かを判定することは、
除外リストをチェックすること
を含むことを特徴とする請求項2に記載の方法。 - 前記除外リストは、非圧縮状態のまま保たれるべきファイルおよびフォルダを含む
ことを特徴とする請求項3に記載の方法。 - 前記除外リストにブートファイルを記憶すること
をさらに備えることを特徴とする請求項3に記載の方法。 - 前記ファイルが圧縮されているか否かを判定することは、
前記ファイルが圧縮されていることを示す識別子を前記ファイルが含んでいるか否かを判定すること
を含むことを特徴とする請求項1に記載の方法。 - 前記識別子は、圧縮タイプ部分とマッピング部分とを含むヘッダである
ことを特徴とする請求項6に記載の方法。 - 前記データを圧縮すること、および前記データを解凍することは、
前記ヘッダの前記圧縮タイプ部分内で指定された圧縮アルゴリズムを使用して実行される
ことを特徴とする請求項7に記載の方法。 - 前記ファイルにアクセスすることは、
前記ヘッダの前記マッピング部分にアクセスすることと、
前記ファイル内の前記データに対するマッピングを判定することと
を含むことを特徴とする請求項7に記載の方法。 - FATボリューム内の個々のファイルを圧縮するとともに、圧縮するファイル以外のファイルを非圧縮状態に保つためのシステムであって、
圧縮ファイルおよび非圧縮ファイルの両方を含むFATボリュームと
ファイル圧縮フィルタ(FCF)プログラムと
を備え、
前記FCFプログラムは、
ファイルシステム書き込み要求を受信して、前記FATボリュームにおける前記圧縮ファイルのうちの1つにデータを書き込むことと、
ファイルシステム読み取り要求を受信して、前記FATボリュームにおける前記圧縮ファイルのうちの1つからデータを読み取ることと、
前記圧縮ファイルのうちの前記1つから前記データを解凍し、前記読み取り要求に応答して、前記解凍したデータを返すことと、
前記データを圧縮し、前記書き込み要求に応答して、前記圧縮ファイルのうちの前記1つに前記圧縮したデータを記憶することと
を含む動作を実行するように構成されている
ことを特徴とするシステム。 - 前記FATボリューム内の圧縮すべきファイルを識別する除外リスト
をさらに備えたことを特徴とする請求項10に記載のシステム。 - 前記除外リストは、該除外リストがいつ変更されたかを示すために使用されるチェックサムを含む
ことを特徴とする請求項11に記載のシステム。 - 前記FATボリュームにおける前記圧縮ファイルの各々は、圧縮アルゴリズムを指定する圧縮タイプを含むヘッダを有する
ことを特徴とする請求項11に記載のシステム。 - 前記FCFプログラムは、少なくとも1つのアタッチされたFATボリュームを示すボリュームリストをさらに含む
ことを特徴とする請求項13に記載のシステム。 - 前記FCFプログラムは、最小圧縮閾値が満たされるか否かを判定するようさらに構成されている
ことを特徴とする請求項13に記載のシステム。 - 圧縮ファイルおよび非圧縮ファイルを含む第2のFATボリューム
をさらに備え、
前記FCFプログラムは、前記FATボリュームと前記第2のFATボリュームとの間で、前記圧縮ファイルおよび前記非圧縮ファイルをコピーし、移動させるようさらに構成されている
ことを特徴とする請求項13に記載のシステム。 - FATボリューム内の個々の圧縮ファイルに関する設定を調節するとともに、圧縮ファイル以外のファイルを非圧縮状態に保つためのコンピュータ実行可能命令を有するコンピュータ読み取り可能な媒体であって、前記命令は、
前記FATボリュームにおいて非圧縮状態のまま保たれるべきファイルをリストする除外リストと、前記FATボリュームにおけるファイルの圧縮状態と、圧縮アルゴリズムとのうちの1つを更新する要求を受信することと、
前記要求に応答して、前記除外リストと、前記圧縮状態と、前記圧縮アルゴリズムとのうちの前記1つを更新することと
を有することを特徴とするコンピュータ読み取り可能な媒体。 - 前記除外リストを更新する前記要求は、
前記除外リストに追加すること、
前記除外リストから削除すること、
前記除外リストを表示すること、および
前記除外リスト内の要素を変更すること
のうちのいずれかを示す
ことを特徴とする請求項17に記載のコンピュータ読み取り可能な媒体。 - 前記FATボリュームにおける前記ファイルの前記圧縮状態を更新する前記要求は、前記ファイルを圧縮するか否か、または前記ファイルを解凍するか否かの指示を含む
ことを特徴とする請求項17に記載のコンピュータ読み取り可能な媒体。 - 前記圧縮アルゴリズムを更新する前記要求は、圧縮アルゴリズムのタイプを示すことを含む
ことを特徴とする請求項17に記載のコンピュータ読み取り可能な媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/360,909 US20070208893A1 (en) | 2006-02-23 | 2006-02-23 | File-based compression on a fat volume |
PCT/US2007/000624 WO2007097832A1 (en) | 2006-02-23 | 2007-01-10 | File-based compression on a fat volume |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009527847A true JP2009527847A (ja) | 2009-07-30 |
Family
ID=38437691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008556313A Pending JP2009527847A (ja) | 2006-02-23 | 2007-01-10 | Fatボリュームにおけるファイルベースの圧縮 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070208893A1 (ja) |
EP (1) | EP1999595A4 (ja) |
JP (1) | JP2009527847A (ja) |
KR (1) | KR20080097196A (ja) |
CN (1) | CN101390063A (ja) |
BR (1) | BRPI0708207A2 (ja) |
RU (1) | RU2008134525A (ja) |
WO (1) | WO2007097832A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235507B2 (en) | 2009-12-16 | 2016-01-12 | Kabushiki Kaisha Toshiba | Memory management device and method |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327050B2 (en) * | 2005-04-21 | 2012-12-04 | International Business Machines Corporation | Systems and methods for compressing files for storage and operation on compressed files |
US8868930B2 (en) * | 2006-05-31 | 2014-10-21 | International Business Machines Corporation | Systems and methods for transformation of logical data objects for storage |
US9176975B2 (en) * | 2006-05-31 | 2015-11-03 | International Business Machines Corporation | Method and system for transformation of logical data objects for storage |
US20080120315A1 (en) * | 2006-11-21 | 2008-05-22 | Nokia Corporation | Signal message decompressor |
US8762348B2 (en) * | 2009-06-09 | 2014-06-24 | Emc Corporation | Segment deduplication system with compression of segments |
US8731190B2 (en) | 2009-06-09 | 2014-05-20 | Emc Corporation | Segment deduplication system with encryption and compression of segments |
US8868575B2 (en) * | 2010-01-13 | 2014-10-21 | International Business Machines Corporation | Method and system for transformation of logical data objects for storage |
US9305045B1 (en) * | 2012-10-02 | 2016-04-05 | Teradata Us, Inc. | Data-temperature-based compression in a database system |
JP5868349B2 (ja) * | 2013-04-24 | 2016-02-24 | 京セラドキュメントソリューションズ株式会社 | データ管理システム、画像処理装置、画像復元装置、プログラム、及びデータ管理方法 |
CN103677658A (zh) * | 2013-07-19 | 2014-03-26 | 记忆科技(深圳)有限公司 | 固态硬盘控制器及固态硬盘的数据处理方法 |
US10911065B2 (en) * | 2015-10-20 | 2021-02-02 | Sinan Karaca | Computer system and method including selectively compressing data files and directories based on an operator indication and representing the amount of available free space |
CN107870728B (zh) * | 2016-09-23 | 2021-02-09 | 伊姆西Ip控股有限责任公司 | 用于移动数据的方法和设备 |
US10353632B2 (en) * | 2016-11-15 | 2019-07-16 | StorageOS Limited | System and method for storing data blocks in a volume of data |
US10489350B2 (en) * | 2017-02-24 | 2019-11-26 | Advanced Micro Devices, Inc. | Data compression with inline compression metadata |
WO2018165939A1 (en) * | 2017-03-16 | 2018-09-20 | Intel Corporation | Flash data compression decompression method and apparatus |
CN109669640B (zh) * | 2018-12-24 | 2023-05-23 | 浙江大华技术股份有限公司 | 一种数据存储方法、装置、电子设备及介质 |
EP3963853B1 (en) * | 2019-04-29 | 2023-07-05 | Hitachi Vantara LLC | Optimizing storage and retrieval of compressed data |
CN110321330A (zh) * | 2019-05-23 | 2019-10-11 | 深圳市金泰克半导体有限公司 | 文件压缩、解压缩方法、装置及计算机设备 |
US11086821B2 (en) * | 2019-06-11 | 2021-08-10 | Dell Products L.P. | Identifying file exclusions for write filter overlays |
US11442627B2 (en) * | 2019-06-13 | 2022-09-13 | International Business Machines Corporation | Data compression utilizing low-ratio compression and delayed high-ratio compression |
US11533063B2 (en) * | 2019-08-01 | 2022-12-20 | EMC IP Holding Company LLC | Techniques for determining compression tiers and using collected compression hints |
US11294570B2 (en) * | 2020-01-15 | 2022-04-05 | EMC IP Holding Company LLC | Data compression for having one direct connection between host and port of storage system via internal fabric interface |
KR102216841B1 (ko) | 2020-05-19 | 2021-02-18 | (주)이스트소프트 | 유동적인 메모리 사용을 기반으로 하는 고속 압축 해제를 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
CN114328373A (zh) * | 2020-09-29 | 2022-04-12 | 伊姆西Ip控股有限责任公司 | 管理文件***的方法、电子设备和计算机程序产品 |
US11681659B2 (en) * | 2021-05-21 | 2023-06-20 | Red Hat, Inc. | Hybrid file compression model |
US11971857B2 (en) * | 2021-12-08 | 2024-04-30 | Cohesity, Inc. | Adaptively providing uncompressed and compressed data chunks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165690A (ja) * | 1991-12-13 | 1993-07-02 | Nippon Telegr & Teleph Corp <Ntt> | ファイル処理装置 |
JPH07261937A (ja) * | 1994-03-24 | 1995-10-13 | Ee I Sofuto Kk | 圧縮データの読出・書込方法および装置 |
JPH0863332A (ja) * | 1994-05-31 | 1996-03-08 | Internatl Business Mach Corp <Ibm> | ハードウェアまたはソフトウェアの圧縮/圧縮解除を動的に選択し、共通のデータ交換形式を提供するディジタル信号マネージャ |
JPH08314689A (ja) * | 1995-05-12 | 1996-11-29 | Fujitsu Ltd | 圧縮データ管理方式 |
US5809295A (en) * | 1995-09-26 | 1998-09-15 | Microsoft Corporation | Method and apparatus for storing compressed file data on a disk where each MDFAT data structure includes an extra byte |
JP2001057026A (ja) * | 1999-08-11 | 2001-02-27 | Ricoh Co Ltd | 再生装置と再生方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438671A (en) * | 1991-07-19 | 1995-08-01 | Dell U.S.A., L.P. | Method and system for transferring compressed bytes of information between separate hard disk drive units |
US5481701A (en) * | 1991-09-13 | 1996-01-02 | Salient Software, Inc. | Method and apparatus for performing direct read of compressed data file |
US5649095A (en) * | 1992-03-30 | 1997-07-15 | Cozza; Paul D. | Method and apparatus for detecting computer viruses through the use of a scan information cache |
US5442718A (en) * | 1992-09-07 | 1995-08-15 | Sony Corporation | Apparatus and method for storing and reproducing digital image data yielding high resolution and high quality video image data |
US5915129A (en) * | 1994-06-27 | 1999-06-22 | Microsoft Corporation | Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system |
US5699428A (en) * | 1996-01-16 | 1997-12-16 | Symantec Corporation | System for automatic decryption of file data on a per-use basis and automatic re-encryption within context of multi-threaded operating system under which applications run in real-time |
US6192471B1 (en) * | 1996-01-26 | 2001-02-20 | Dell Usa, Lp | Operating system independent system for running utility programs in a defined environment |
US5819296A (en) * | 1996-10-31 | 1998-10-06 | Veritas Software Corporation | Method and apparatus for moving large numbers of data files between computer systems using import and export processes employing a directory of file handles |
KR100242996B1 (ko) * | 1996-12-30 | 2000-02-01 | 김영환 | 압축데이타 저장방법 |
US6108697A (en) * | 1997-10-06 | 2000-08-22 | Powerquest Corporation | One-to-many disk imaging transfer over a network |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
WO2000055735A1 (en) * | 1999-03-15 | 2000-09-21 | Powerquest Corporation | Manipulation of computer volume segments |
US7369161B2 (en) * | 1999-06-08 | 2008-05-06 | Lightsurf Technologies, Inc. | Digital camera device providing improved methodology for rapidly taking successive pictures |
AU3274301A (en) * | 2000-01-05 | 2001-07-16 | Realnetworks, Inc. | Systems and methods for multiple-file data compression |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6944742B1 (en) * | 2000-04-28 | 2005-09-13 | Microsoft Corporation | Compressed file system for non-volatile RAM |
EP1233522A1 (en) * | 2001-02-14 | 2002-08-21 | Siemens Aktiengesellschaft | A data compression/decompression method and apparatus |
US7072879B2 (en) * | 2001-10-22 | 2006-07-04 | Siemens Building Technologies, Inc. | Partially embedded database and an embedded database manager for a control system |
US7373491B2 (en) * | 2002-02-27 | 2008-05-13 | Rockwell Automation Technologies, Inc. | Processor with versatile external memory interface |
TW591524B (en) * | 2002-03-13 | 2004-06-11 | Insyde Software Corp | Updating method of keyboard controller in notebook computer |
US20030226005A1 (en) * | 2002-05-28 | 2003-12-04 | Vincent Wu | Bootable CD controller with embedded operating system |
US20040054846A1 (en) * | 2002-09-16 | 2004-03-18 | Wen-Tsung Liu | Backup device with flash memory drive embedded |
EP1745394B1 (en) * | 2004-04-26 | 2009-07-15 | Storewiz, Inc. | Method and system for compression of files for storage and operation on compressed files |
-
2006
- 2006-02-23 US US11/360,909 patent/US20070208893A1/en not_active Abandoned
-
2007
- 2007-01-10 WO PCT/US2007/000624 patent/WO2007097832A1/en active Application Filing
- 2007-01-10 EP EP07716484A patent/EP1999595A4/en not_active Withdrawn
- 2007-01-10 CN CNA2007800063121A patent/CN101390063A/zh active Pending
- 2007-01-10 KR KR1020087020065A patent/KR20080097196A/ko not_active Application Discontinuation
- 2007-01-10 BR BRPI0708207-0A patent/BRPI0708207A2/pt not_active IP Right Cessation
- 2007-01-10 RU RU2008134525/09A patent/RU2008134525A/ru not_active Application Discontinuation
- 2007-01-10 JP JP2008556313A patent/JP2009527847A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165690A (ja) * | 1991-12-13 | 1993-07-02 | Nippon Telegr & Teleph Corp <Ntt> | ファイル処理装置 |
JPH07261937A (ja) * | 1994-03-24 | 1995-10-13 | Ee I Sofuto Kk | 圧縮データの読出・書込方法および装置 |
JPH0863332A (ja) * | 1994-05-31 | 1996-03-08 | Internatl Business Mach Corp <Ibm> | ハードウェアまたはソフトウェアの圧縮/圧縮解除を動的に選択し、共通のデータ交換形式を提供するディジタル信号マネージャ |
JPH08314689A (ja) * | 1995-05-12 | 1996-11-29 | Fujitsu Ltd | 圧縮データ管理方式 |
US5809295A (en) * | 1995-09-26 | 1998-09-15 | Microsoft Corporation | Method and apparatus for storing compressed file data on a disk where each MDFAT data structure includes an extra byte |
JP2001057026A (ja) * | 1999-08-11 | 2001-02-27 | Ricoh Co Ltd | 再生装置と再生方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235507B2 (en) | 2009-12-16 | 2016-01-12 | Kabushiki Kaisha Toshiba | Memory management device and method |
US10310747B2 (en) | 2009-12-16 | 2019-06-04 | Toshiba Memory Corporation | Memory management device and method |
Also Published As
Publication number | Publication date |
---|---|
KR20080097196A (ko) | 2008-11-04 |
EP1999595A1 (en) | 2008-12-10 |
RU2008134525A (ru) | 2010-02-27 |
CN101390063A (zh) | 2009-03-18 |
US20070208893A1 (en) | 2007-09-06 |
WO2007097832A1 (en) | 2007-08-30 |
BRPI0708207A2 (pt) | 2011-05-17 |
EP1999595A4 (en) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009527847A (ja) | Fatボリュームにおけるファイルベースの圧縮 | |
JP4809040B2 (ja) | ストレージ装置及びスナップショットのリストア方法 | |
JP6045590B2 (ja) | 部分的重複排除ファイルの最適化 | |
US9176853B2 (en) | Managing copy-on-writes to snapshots | |
JP4741371B2 (ja) | システム、サーバ装置及びスナップショットの形式変換方法 | |
JP5636034B2 (ja) | データ利用についてのマウント時間の調停 | |
US20030225972A1 (en) | Storage system | |
US9262313B2 (en) | Provisioning in heterogenic volume of multiple tiers | |
US10353636B2 (en) | Write filter with dynamically expandable overlay | |
JP4825433B2 (ja) | 比較的限られた記憶スペースを備えたコンピューティング装置およびそのオペレーティングシステム/ファイルシステム | |
US9524300B2 (en) | Heterogenic volume generation and use system | |
US8290911B1 (en) | System and method for implementing data deduplication-aware copying of data | |
US20130282997A1 (en) | Computer system, storage apparatus and data transfer method | |
US9116904B2 (en) | File system operation on multi-tiered volume | |
JP2006244484A (ja) | ファイルシステムを用いて、ファイルを世代ファイルとして自動バックアップするシステムおよび方法 | |
EP3446221B1 (en) | Adapted block translation table (btt) | |
US10599359B2 (en) | Data migration system and method thereof | |
US10459807B2 (en) | Determining modified portions of a RAID storage array | |
US10691550B2 (en) | Storage control apparatus and storage control method | |
US11188248B2 (en) | System and method to achieve an uninterrupted file level backup using a pass-through snapshot engine | |
JP7214999B2 (ja) | 情報処理装置及び方法 | |
WO2015040711A1 (ja) | ストレージ装置、ストレージ装置におけるデータの制御方法、及びストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120502 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121102 |