(57)【要約】本発明は、永久メモリ装置のメモリ空間を管理する方法及びメモリ管理装置に関する。本発明のメモリ管理方法は、該メモリ空間の少なくとも1つの第1部分をファイル・システム(74)に、該ファイル・システム(74)からの要求又はアプリケーション(70)からの要求によって割り当てる工程(S14)を備える。本発明の方法及び装置は、永久メモリ空間をファイル・システムに動的に割り当てることを可能にする。このようにして、永久メモリのメモリ空間は書き込みキャッシュにも効果的に用いられる。同時に、書き込みキャッシュ工程及び記憶工程を加速することが可能である。
2006518492.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの永久メモリ装置のメモリ空間を管理するメモリ管理装置であって：
少なくとも１つのアプリケーション装置と通信し、該メモリ空間を該アプリケーション装置の少なくとも１つの第１部分に割り当てるよう形成されるメモリ割り当て装置；
を備え；
該メモリ割り当て装置は更に、少なくとも１つのファイル・システム装置と通信し、該アプリケーション装置からの要求又は該ファイル・システム装置からの要求によって該メモリ空間の該第１部分を該ファイル・システムに割り当てるよう形成されることを特徴とするメモリ管理装置。
【請求項２】
請求項1記載のメモリ管理装置であって：
該メモリ割り当て装置は、メモリ割り当てテーブルを現在の状態に維持するよう形成され；
該メモリ割り当てテーブルは、該メモリ空間の所定部分を表す少なくとも１つのメモリ・アドレスを、該アプリケーション装置と該ファイル・システム装置との何れかに割り当てることを特徴とするメモリ管理装置。
【請求項３】
請求項2記載のメモリ管理装置であって、更に：
プロセッサ；及び
メモリ；
を備え；
該メモリ割り当て装置が、該メモリが有する少なくとも1つの第１実行可能ファイルの形式で実施されることを特徴とするメモリ管理装置。
【請求項４】
請求項3記載のメモリ管理装置であって：
該メモリが永久メモリ装置であり、特に前記永久メモリ装置であることを特徴とするメモリ管理装置。
【請求項５】
ファイル・システム装置であって：
ファイル割り当てテーブルを現在の状態に維持するよう形成されるファイル割り当て装置；
を備え；
該ファイル割り当て装置が、永久メモリ装置に関するメモリ管理装置と通信し、該ファイル割り当てテーブルの該維持が該永久メモリ装置の少なくとも1つの第１メモリ空間のアドレスを有するよう形成されることを特徴とするファイル・システム装置。
【請求項６】
請求項5記載のファイル・システム装置であって、更に：
プロセッサ；及び
メモリ；
を備え；
該ファイル割り当て装置が、該メモリが有する少なくとも１つの第２実行可能ファイルの形式で実施されることを特徴とするファイル・システム装置。
【請求項７】
アプリケーション装置であって：
プロセッサに接続される永久メモリ装置；及び
該永久メモリ装置におけるデータを操作するよう形成されるデータ管理装置；
を備え；
該データ管理装置は、少なくとも1つの第３実行可能ファイルを該永久メモリ装置に書き込むか、該ファイル・システムに、該ファイル・システムにおける少なくとも１つの第3実行可能ファイルへの参照を備えるよう形成されるので、該第３実行可能ファイルを実行することによって、該プロセッサが、該データを所定のデータ・シーケンス形式に変換するよう形成されることを特徴とするアプリケーション装置。
【請求項８】
請求項7記載のアプリケーション装置であって：
該データ管理装置は、メモリ、特に該永久メモリ、における少なくとも１つの第4実行可能ファイルの形式で備えられることを特徴とするアプリケーション装置。
【請求項９】
記憶媒体であって：
請求項3、6、7又は8記載の、第１実行可能ファイル、第２実行可能ファイル、第３実行可能ファイル又は第４実行可能ファイルを有することを特徴とする記憶媒体。
【請求項１０】
データ処理システムであって：
請求項１記載のメモリ管理装置；
請求項5記載のファイル・システム装置；
請求項７記載のアプリケーション装置；又は
請求項９記載の記憶媒体；
を備えることを特徴とするデータ処理システム。
【請求項１１】
永久メモリ装置のメモリ空間を管理する方法であって：
該メモリ空間の少なくとも1つの第１部分をファイル・システム装置に、該ファイル・システム装置からの要求又は該アプリケーション装置からの要求によって割り当てる工程；
を備えることを特徴とする方法。
【請求項１２】
請求項11記載の方法であって、該割り当てる工程が：
該メモリ空間の該第１部分に対する書き込みアクセスを阻止する工程；
を備えることを特徴とする方法。
【請求項１３】
請求項12記載の方法であって、該割り当てる工程が：
該メモリ空間の該第１部分に対する読み取りアクセスの権限を該ファイル・システム装置に渡す工程；
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理装置に関し、永久メモリ装置のメモリ空間を管理する方法に関する。本発明は更に、書き込みキャッシュを永久メモリ装置において行う方法に関する。本発明は更に、アプリケーションによって操作されるデータをディスクに永久メモリ装置を用いて保存する方法に関する。本発明は、ファイル・システム装置、アプリケーション装置、及びデータ処理システムにも関する。
【背景技術】
【０００２】
永久データ記憶はファイルにおいて行われる。ファイルは、データの有限の線形シーケンスであり、該データは、例えば、アプリケーションによって作成され、用いられるデータである。今日のデータ処理システムでは、ファイルは、読み書きを行うアクセス時間がデータ処理速度と比較して遅い2次記憶媒体において永久に記憶される。そのような2次記憶媒体の例としては、磁気テープ又は、以下でディスクとも呼ぶ回転型ハード・ディスクがあり、何れも磁気的に読み書き可能なコーティングを有する。ディスクは、同じサイズの、ディスク・ブロック又はセクタと呼ぶデータ用ブロックを有する。コンピュータなどのデータ処理システムでは、ファイル・システムは永久記憶データを管理する。ファイル・システムは、一連のディスク・ブロックをファイル用に割り当て、これらのブロックに書き込む。
【０００３】
処理速度を増加させるよう、アプリケーションによって操作されるデータ構造は、ランダム・アクセス・メモリ（RAM）とも呼び、以下で作業メモリとも呼ぶ高速アクセス・メモリに書き込まれるか、ディスクから該高速アクセス・メモリにロードされる。作業メモリにおけるメモリ空間はメモリ管理装置によって割り当てられ、管理される。
【０００４】
本明細書及び特許請求の範囲で用いられるアプリケーションの語は、メモリ・データを操作するよう形成される処理又は装置を表す。データ操作は、例えば、データをメモリに書き込む処理、データをメモリから消去する処理、メモリ・データを変換する処理、又はメモリ・データを２次記憶媒体に記憶させる処理を有する。アプリケーションは、例えばコンピュータにおける中央処理装置に接続されるメモリにロードされる1つ又はいくつかの実行可能ファイルの形式での装置として実施される。アプリケーションは、上記処理を行うよう形成される集積回路、例えば特定用途向集積回路(ASIC)として実施される場合もある。なお、ファイル・システム及びメモリ管理装置は、アプリケーションの特殊なケースとしてみなすこととする。
【０００５】
作業メモリにおける作業データの構造は通常、ポインタによって接続されるいくつかのメモリ・ブロックである。例えば、メモリにおける作業データ構造は、隣接するブロックに存在し得るものであるか、作業メモリ全体に分散するブロックに存在し得るものであり、何れの場合においてもポインタが当該ブロックをリンクする。メモリにおけるこの作業データ構造は、プログラミング操作性について最適化され、かつ速度について最適化される。これは、所定の、多くの場合、自社開発の、標準に準拠することを通常必要とする、ファイルにおける直列表現からかなり異なり得る。
【０００６】
アプリケーションからのデータをディスク上のファイルに記憶させることは、したがって、アプリケーションが操作するデータ構造をフィイルに、所定の変換（直列化）手順によって変換するものである。直列化手順は、当該ファイルを作成する特定のアプリケーションによって変わってくるものであり、よって、アプリケーション自体によって行われる。
【０００７】
作業メモリからのデータをディスク上のファイルに書き込むうえでのディスクへのアクセス時間はミリ秒の範囲である。これは、マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ(DSP)などによって消費される処理時間と比べて長い。よって、ディスク・アクセスはデータ処理フローにおけるボトルネックとなる。
【０００８】
低速でディスクに書き込む処理の欠点を克服するよう、書き込むうえでのアクセス時間が速い書き込みキャッシュ・メモリが通常用いられて、ディスク上に記憶される対象のデータがキャッシュされる。今日のデータ処理システムにおいてキャッシュを行うことは、作業データ構造がまず、高速アクセス書き込みキャッシュ・メモリに複製されることを表す。以下でキャッシュ・メモリとも呼ぶ書き込みキャッシュ・メモリは、作業メモリとは別個のものであり、データは、ディスクに書き込まれる前にメモリに保持される。ファイルを保存する工程では、よって、作業データが直列化データに変換され、作業メモリからの直列化データが書き込みキャッシュ・メモリに書き込まれ、このことはアプリケーションによって行われ、最後に、書き込みキャッシュ・メモリからの直列化データが割り当てディスク空間に書き込まれ、このことはファイル・システムによって行われる。
【０００９】
書き込みキャッシュ・メモリの効果は、それによって、ディスク上の低速記憶処理が完了するまで処理を中断させることなく、ディスク上のファイルを永久記憶させることをアプリケーションに開始させることにある。直列化データがキャッシュ・メモリにおいて保護されるとすぐに、ファイル・システムは確認メッセージをアプリケーションに送出する。確認メッセージを受信した後、アプリケーションは処理を継続する準備が整っている。ディスク上に永久に記憶させることはその場合、ファイル・システムによって管理される。アプリケーションは、その時点で終了してもよく、処理し続けてもよく、ファイルをディスクに書き込み続けてもよい。
【００１０】
2つの種類の非永久キャッシュ・メモリ、すなわち、ブロック・レベル・キャッシュ及びファイル・レベル・キャッシュが公知である。ブロック・レベル・キャッシュ・メモリでは、ディスク・ブロックのサイズに適合され、該ディスク上の特定のブロックに割り当てられる直列化データ・サブ構造にファイルが保持される。一方、ファイル・レベル・キャッシュ・メモリでは、ファイルはブロックに似たサブ構造なしで直列化データとして保持される。ファイル構造からディスク・ブロック構造への変換は、ファイル・システムがデータをディスクに書き込むことが実際に必要となるまでファイル・システムによって延期される。よって、ファイル・レベル・キャッシュ・メモリでは、ディスクに書き込む実際の処理が開始されるまで、特定ディスク・ブロックへのデータの割り当ては行われない。ファイル・システムは、単に、書き込みキャッシュ・メモリにおけるファイル・データがディスク上の何れかの場所に記憶されることが可能であるようにするものである。
【００１１】
作業メモリにおけるデータを直列化させて、直列化データをディスク上に記憶させることにはかなりの時間がかかり、その時間中には、アプリケーションは、データが正常に記憶されたということが確かでない場合がある。更に、ダイナミック・ランダム・アクセス・メモリ(DRAM)装置などの今日のメモリ装置は、非永久データ記憶に依存している。非永久メモリにおけるデータはシステム障害によって喪失される。よって、非永久書き込みキャッシュ・メモリでは、データは長時間保持することが可能でないが、それはシステム障害によって重要データを喪失するリスクが高すぎるからである。よって、アプリケーションによって操作されるデータを記憶させる上記複雑でかつ時間のかかる処理は、データ喪失を防ぐために何度も行うことが必要である。これによって、ファイル・システム処理速度が低下する。
【００１２】
現在、磁気抵抗ベースのRAM（MRAM）装置などの、永久でかつ同時に高速な作業メモリ装置が、世界中の集中的な研究開発活動から生まれている。永久メモリ装置はそこに記憶されているデータを、電源を落とした後も記憶している。永久メモリのこの効果を用いて、ファイル・システム性能を向上させる試みがなされている。
【００１３】
ディスク/永久RAMハイブリッド・ファイル・システムを記載するものがある（Wangなどによる、http://www.lasr.cs.ucla.edu/awang/papers/usenix2002/camera2.htmで入手可能な非特許文献1参照。）。このファイル・システムは、ギガバイトの範囲の大量の永久メモリが利用可能であるという前提の下に構築されている。メモリ空間すなわちディスク空間を、Wangなどのファイル・システムによってファイルに用いることは、主に、ファイルのサイズによって変わってくる。Wangなどのファイル・システムは、大半のファイル・アクセス工程が小規模ファイルに対するものであるという研究結果に基づくものである。更に、小規模ファイルがファイル・システムにおけるファイルの大部分を占める。高速アクセス永久メモリ空間の大部分は、永久RAMにおける、1メガバイト未満の小規模ファイル、メタデータ、エグゼキュータブル、及び共有ライブラリのために確保される。メタデータとは、ファイル・データに関する情報を有するデータのことである。メタデータの例としてはiノードがある。iノードはファイルに関する管理情報をディスク上に保持し、更に、該ファイルのデータを有するデータ・ブロックのアドレスをディスク上に保持する。よって、ディスク・ベースの大規模ファイルに対する低速アクセスは、少数の事象に限定される。このようにして、Wangなどによれば、全体ファイル・システム性能は、アクセス速度に関して改善される。
【００１４】
しかし、現代のアプリケーションでは、2次記憶空間、すなわちディスク空間が十分にあることによって、一層大規模のファイルを生成する傾向にある。したがって、ディスク上の大量のアプリケーション・データを保護することは、このファイル・システムにおいては低速な処理に留まっている。更に、高速永久メモリ空間が十分にあるという前提は、今日、市場で入手可能なデータ処理システムの大半にはあてはまるものでない。
【００１５】
更に、永久RAMを、ファイル・システム・データ及びメタデータの永久記憶媒体として用いるファイル・システムを提案しているものがある(非特許文献2参照。)。MRAMはこのファイル・システムでは書き込みバッファとしても用いられる。これによって、システム障害によるデータ喪失のリスクなしで、望む限りの間、ディスクへの書き込み処理を延期することを可能にする。しかし、該文献は、MRAMを書き込みバッファとして用いることの、永久メモリ管理への示唆を開示するものでない。
【非特許文献１】An-I  A.  Wang,  P.  Reiher,  G.J.  Popek,  G.H.  Kuenning,  “Conquest:  Better  Performance  Through  a  Disk/Persistent-RAM  Hybrid  File  System”
【非特許文献２】E.L.  Miller,  S.A.  Brandt,  D.  DE.  Long,  “HeRMES:  High-Performance  Reliable  MRAM-Enabled  Storage”,  8th  IEEE  Workshop  on  Hot  Topics  in  Operating  Systems  −  HOTOS  VIII,  Schloss  Elmau,  Germany,  May  2001
【発明の開示】
【発明が解決しようとする課題】
【００１６】
したがって、本発明の目的は、メモリ管理装置と、永久メモリ装置を書き込みキャッシュ・メモリとして用いることを可能にする、永久メモリ装置のメモリ空間を管理する方法とを備えることにある。
【００１７】
本発明のもう１つの目的は、アプリケーション・データを保護する速度を増加させる書き込みキャッシュを行う方法を備えることにある。
【００１８】
本発明の別の目的は、ファイル・システム性能を速度に関して向上させる、アプリケーションによって操作されるデータをディスクに保存する方法を備えることにある。
【００１９】
本発明の別の目的は、アプリケーションが、2次記憶媒体に対する書き込み処理のボトルネックがないようにすることを可能にする、信頼度を向上させたファイル・システムを備えることにある。
【００２０】
本発明の別の目的は、本発明のメモリ管理方法及びメモリ管理装置をサポートするアプリケーション装置を備えることにある。
【００２１】
本発明の別の目的は、ファイル・システム性能を向上させたデータ処理システムを備えることにある。
【課題を解決するための手段】
【００２２】
以下では、本発明を理解することを容易にするよう、本発明をまず、その方法の特徴に関して、本発明の装置の特徴を説明する前に説明することとする。
【００２３】
永久メモリ装置のメモリ空間を管理する方法に関しては、当該目的は、永久メモリ装置のメモリ空間を管理する方法によって達成され、該方法は、該ファイル・システムからの要求又はアプリケーションからの要求があると、該メモリ空間のうちの少なくとも1つの第１部分をファイル・システムに割り当てる工程を備える。
【００２４】
本発明の方法によれば、永久メモリ装置のメモリ空間のうちの少なくとも一部分がファイル・システムに割り当てられる。メモリを割り当てることは、いくつかのブロックなどのメモリ空間部分を要求に応じて割り当てる処理である。メモリ空間をファイル・システムに割り当てることは、公知のメモリ管理方法では異例であるが、それは従来技術ではディスク空間のような永久2次記憶空間のみを管理する任務を担うファイル・システムを念頭においてきたからである。しかし、本発明の方法によれば、ファイル・システムには、ディスク空間に加えて永久メモリ装置のメモリ空間部分に割り当てることが可能である。よって、割り当て工程の後には、ファイル・システムの管理下にある記憶空間は、ディスク空間のみならず、永久メモリ装置のメモリ空間部分も有する。
【００２５】
メモリ空間部分をファイル・システムに本発明の方法によって割り当てることによって、当該メモリ空間のみならず、該メモリ空間部分が有するデータもファイル・システムの管理下におかれるように移管される。ファイル・システムに割り当てる要求の時点までにアプリケーションに割り当てられたメモリ空間におけるデータは、割り当て工程が行われた後には、該アプリケーションには、もはやアクセス可能でない。割り当て工程が、永久メモリ装置における作業データを保護する新たな方法の基礎となるということはこの時点で明らかとなる。本発明の方法によって、永久メモリ装置は、作業メモリとして用いることが可能であり、かつ、書き込みキャッシュ・メモリとして用いることが可能である。
【００２６】
本発明の方法によれば、割り当て工程は、ファイル・システム自体からの要求又はアプリケーションからの要求によって行われる。よって、メモリ空間は、ファイル・システムに要求に応じてのみ割り当てられる。永久メモリ空間をファイル・システムに対して事前に確保されることはない。これによって、特に、そのようなメモリが限定的な量しか存在しない場合に、高速アクセス永久メモリを効率的に利用することが可能になる。本発明によるアプリケーションは、多目的中央処理装置（CPU）、特定用途向集積回路（ASIC）、ディジタル信号プロセッサ(DSP)又は特定用途向命令セット・プロセッサ(ASIP)などの処理装置によって実行される何れかの処理としてみなされる。該処理は、ワード・プロセッシング・アプリケーション・システムなどの包括的アプリケーション・システムの部分処理であり得る。当該アプリケーションは、具体的には、作業メモリにロードされる実行可能ファイルによって表される場合がある。実行可能ファイルを有する作業メモリは、永久メモリ、例えば本発明の方法によって管理されるものと同様な永久メモリであっても、非永久メモリであってもよい。
【００２７】
本発明のメモリ管理方法は、よって、ファイル・システム・メモリ空間を永久メモリ装置において動的に割り当てることを可能にする。メモリ空間はファイル・システムに対して事前に確保されることはない。ファイル・システムに割り当てられるメモリ空間はメモリの現在の状態によって変わってくる。
【００２８】
よって、メモリの現在の状態と、該メモリを用いたデータ処理システムの現在の状態に応じて、メモリ空間全体が、メモリ管理ユニットの制御下に置かれる場合があり、該メモリ管理ユニットは、ファイル・システムにメモリ空間を割り当てる要求がない限り、公知の原理による従来のメモリ方法を行い得る。ファイル・システムにメモリ空間部分を割り当てる要求がメモリ管理ユニットによって受信されるとすぐに、そのような従来のメモリ管理を行ううえで利用可能なメモリ空間がその部分だけ削減される。
【００２９】
本発明の方法は、よって、永久メモリ装置のメモリ空間を、高速アクセス作業メモリとして用い、かつファイル・システム書き込みキャッシュ・メモリなどの高速ファイル・システム・メモリとして用いる方法を構成する。まさにそのメモリ空間は、一瞬間で、アプリケーションに割り当てられてもよく、その後の一瞬間でファイル・システムに割り当てられてもよく、なおその後に、同じアプリケーション又は別のアプリケーションに割り当てられてもよい。
【００３０】
当然、本発明の方法は、複数の永久メモリ装置のメモリ空間を管理するのに用いられる場合がある。管理する対象のメモリ空間は、各永久メモリ装置のメモリ空間の和であり、１つの論理メモリ空間として処理（アドレス指定）し得る。
【００３１】
一割り当て工程においてはファイル・システムに割り当てられる、永久メモリ装置のメモリ空間部分が2つ以上存在する場合がある。同じアプリケーションによって同時に処理される、永久メモリ装置によって構成される作業メモリにおける2つ以上の作業データ群が存在する場合に、このことが通常あてはまる。何れの作業データ群も保護することをアプリケーションが、例えば、アプリケーションが終了する直前に要求する場合、割り当て工程は、２つの作業データ群を有する、何れのメモリ空間部分も有する場合がある。当然、これらのデータ群は、速度が問題でない場合には次々と保護される場合もある。
【００３２】
作業メモリとして必要なメモリ空間が疎になり、システム処理速度が低くなるような状態にならないようにするために、ファイル・システムに割り当てることが可能なメガバイト数などの、所定のメモリ空間上限が存在する場合がある。
【００３３】
本発明のメモリ管理方法の第１好適実施例では、割り当て工程は、メモリ空間の第１部分に対する書き込みアクセスを阻止する工程を備える。この工程によって、メモリ空間のその部分が有するデータが保護される、すなわち、どの書き込みアクセスからも、それがアプリケーションからのものでもファイル・システムからのものでも、保護される。
【００３４】
別の実施例では、割り当て工程は、該メモリ空間の該第１部分に対する読み取りアクセスの権限をファイル・システムに渡す工程を備える。このようにして、メモリ空間の第１部分が有するデータについての当該任務はファイル・システムに完全に移管される。データに対する何れかの読み取りアクセスは、この工程後はファイル・システムによって管理されることが必要となる。これは、作業データがディスクに書き込まれた従来のデータ処理システムから分かる状態に相当する。しかし、本実施例では、当該データがディスクにまだ書き込まれていない場合があり、システム障害の場合でもなお保存されている。このデータに対するアクセスを要求するアプリケーションには、ディスク上に従来の方法で記憶されるデータとの違いは分かるものでない。本発明によって、アプリケーションが、例えば、システム・ダウンの場合に、再起動後にデータに対してファイル・システムを介して高速アクセスを行うことが可能である。よって、本実施例は永久メモリにおいて書き込みキャッシュを行ううえで効果的である。割り当て工程によってデータを永久メモリにおいて保護した直後にディスクに書き込む工程を行う必要はない。ディスクに書き込む工程はデータ喪失のリスクが何らなく、後の段階まで延期させ得る。作業データが従来のディスク・アクセス工程におけるように、本実施例の割り当て工程を正常に行った直後に安全であるということについて、アプリケーションは疑いの余地はない。
【００３５】
本発明のメモリ管理方法の別の好適実施例は、該メモリ空間の該第１部分を当該メモリ管理装置に割り当て解除する工程を備える。この実施例では、ファイル・システムは、該ファイル・システムに割り当てられたメモリ空間をメモリ管理装置に「戻す」。このようにして、メモリ空間は作業メモリとしてもう一度、自由に用いることができる。該空間は別のアプリケーションに割り当て得る。
【００３６】
割り当て工程及び/又は割り当て解除工程は好ましくは、該メモリ空間の第１部分を規定するアドレス又はアドレス範囲を送信する工程を備える。アドレス範囲は、その各々が永久メモリ装置の当該メモリ・セルを表すその第１アドレス及び第２アドレスによって規定し得る。アドレス範囲はその場合、第１アドレスと第２アドレスとの間のアドレスを有するメモリ・セル全てを有することになる。割り当て工程では、送信はメモリ管理装置からファイル・システムに向けて行われる。ファイル・システムは、その場合、受信アドレス範囲をその、ファイル割り当てテーブルなどのファイル割り当てシステムに有し得るか、別個のキャッシュ・メモリ・データ割り当てテーブルに有し得る。メモリ管理装置は好ましくは、送信アドレス範囲をファイル・システムに割り当てられたものとしてマーキングして、同じメモリ空間を誤って2重に割り当てないようにする。再割り当て工程では、送信はファイル・システムからメモリ管理装置に向けて行われる。ファイル・システムは、アドレス範囲をその割り当てテーブルから消去することになるか、それをアクセス可能でないものとしてマーキングすることになる。メモリ管理装置は、送信アドレス範囲を、自由に、再利用できる、すなわち、ファイル・システム又はアプリケーションに新たに割り当てることができるものとしてマーキングすることになる。
【００３７】
別の好適実施例では、該メモリ空間の該第1部分について、該メモリ空間の該部分が永久メモリ装置のメモリ空間の第２部分においてファイル・データの形式で記憶されるという前提で、割り当て解除工程が行われる。この実施例は、作業データをファイルに保存する処理において効果的である。第１データがファイル構造の形式で永久メモリ装置に保存され、メモリ空間の第２部分がファイル・システムに割り当てられると、該データは安全である。よって、第１データの元の作業データ構造を永久メモリに保持する必要はもうない。メモリの第１部分は割り当て解除される場合がある。メモリ管理装置はその場合、この部分を新たな割り当て工程において自由に再利用することができる。なお、この実施例は、メモリの第1部分が先行してファイル・システムに割り当てられている場合にのみ、あてはまる。
【００３８】
本発明のメモリ管理方法の別の実施例では、割り当て解除工程は、ファイル・データが2次記憶媒体に書き込まれているという前提で、メモリ空間の該第２部分について行われる。この実施例は、データがディスク上に記憶されている場合に効果的に適用される。ファイル・データをディスクに書きこむ工程が正常に行われた後には、ファイル・データを永久メモリにおいても保護する必要はない。メモリ空間の第２部分はしたがって、メモリ管理装置も、メモリ空間の第１部分についての前述の方法と同様に割り当て解除され得る。
【００３９】
本発明の第２の特徴によれば、永久メモリ装置のメモリ空間を管理する上記方法は、永久メモリ装置上で書き込みキャッシュを行うのに用いられる。本発明は、アプリケーションによって操作される第１データの書き込みキャッシュを行う方法であり、該第１データは永久メモリ装置のメモリ空間の第１部分が有する。本発明の方法は、本発明の第１の特徴又はその実施例の何れかによるメモリ管理方法を行う工程を備える。
【００４０】
本発明の方法によれば、書き込みキャッシュは、アプリケーションに割り当てられたメモリ空間をファイル・システムに割り当てることによって行われる。本発明のメモリ管理方法の記載の意味合いで前述したように、この割り当て工程は、第１データを操作するアプリケーション、又はファイル・システムからの要求によってのみ行われる。これによって、それがアプリケーションを妨げることになる、その望ましくない作業データの阻止がないようにすることが可能になる。
【００４１】
本書き込みキャッシュ方法は、ファイル・レベル・キャッシュよりもなお高いレベルでのキャッシュを行うことをもたらす。永久作業メモリの第１部分における作業データを表す第１データにおよぶ制御は、ファイル・システムに移管され、それによって、ファイル・システム書き込みキャッシュ・メモリを表すファイル・システムを一時的に拡張することをもたらす。永久メモリの第１部分が有するデータは、メモリ管理方法の割り当て工程が正常に行われるとすぐに何れかの別の書き込みアクセスから保護される。データは、ディスクなどの2次記憶媒体に後に書き込むことが可能である。ディスクに書き込む工程は、システム障害によってデータ喪失するリスクが何らなしで都合のよい時点まで延期することが可能である。必要な場合、作業データは、好適実施例の意味合いで以下に記載するファイル構造にまず変換することが可能である。この方法によって、書き込みキャッシュ・メモリにおいて作業データを保護する速度は公知の書き込みキャッシュ方法と比較してかなり増加する。
【００４２】
本発明の書き込みキャッシュ方法の好適実施例は、該割り当て工程の後に、確認メッセージをファイル・システムからアプリケーションに向けて送出する工程を備える。確認メッセージは別の実施例では、割り当て工程後に、ファイル・システムではなくメモリ管理装置によって送出される場合がある。確認メッセージはアプリケーションに、データが保護されたことを伝えるものである。例えば、アプリケーションを終了する際に作業データを記憶すべきである場合には、アプリケーションは、確認メッセージを受信した直後に遮断させ得る。
【００４３】
本発明の書き込みキャッシュ方法の別の好適実施例では、第１データは永久メモリ装置のメモリ空間の第３部分が有する第３データの複製である。このことは、アプリケーションが永久メモリの第３部分における第３データを操作し続けるが、アプリケーションからの、ファイルにおける第３データの現在の状態を保護するコマンドが存在する場合を表す。この実施例では、書き込みキャッシュ方法は、該メモリ管理方法を行う前に、第３データを第１メモリ空間に複製する工程を備える。第１データはしたがって、上記コマンドの時点での作業データの状態を表す。
【００４４】
この実施例は、アプリケーションの動作中に用いられるので特に重要である。この実施例は更に、本発明の書き込みキャッシュ方法の効果をはっきりと示すものである。アプリケーションは、第３データを、該データがメモリ空間の第１部分に複製され、割り当て工程がメモリ空間のこの第１部分に対して行われたらすぐに操作し続ける場合がある。ディスクに第１データを書き込む工程は、メモリの永久性によって、後の時点で行い得る。
【００４５】
上記複製工程は好ましくは、メモリ空間の第１部分を第３データ複製用アプリケーションに割り当てる工程と、第３データのこの複製をメモリ空間の第1部分に書き込む工程とを備える。
【００４６】
本発明の書き込みキャッシュ方法の別の好適実施例は、第１データが、ファイル構造とは異なる作業データ構造を有する場合にあてはまる。必ずしも全ての作業データ構造がファイル構造と異なる訳ではない。このことは特定のアプリケーションによって変わってくる。しかし、一般的には、メモリの第１部分における当該作業データは、特定のアプリケーションの標準による線形構造を表すものでない。この場合、書き込みキャッシュ方法の本実施例は、第１データをファイル・データに変換するよう形成される実行可能ファイル用アプリケーションにメモリ空間の第４部分を割り当てる工程、実行可能ファイルをメモリ空間の第４部分に書き込む工程、及びメモリ空間の第4部分をファイル・システムに割り当てる工程を備える。
【００４７】
本実施例では、アプリケーションは、作業データを特定用途向ファイル構造に変換するルーチンをファイル・システムに移管する。本実施例の代替例においては、ルーチンはファイル・システムに既に記憶されていて、アプリケーションはこのルーチンに対する参照をファイル・システムに転送する。何れの代替例でも、ルーチンは、実行可能ファイルの形式、又は好ましくは、動的リンク・ライブラリ（dll）の形式を有する。なお、一般的には、単に、別の実行可能コードを実行することによって生成される実行可能コードなどの、何れかの、実行可能なものを本明細書及び特許請求の範囲では用い得る。dllの好適ケースでは、ファイル・システムは、変換するよう、メモリに向けられたポインタを転送して、dllの所定のファンクションを後にコールすることが可能である。何れの実施例でも、その結果、作業データをファイル・データに変換することはその場合、ファイル・システムの任務であり、アプリケーションの任務ではない。ファイル・システムは、都合のよい時点までか、変換が必要になるまで、変換を待つことが可能である。アプリケーションは変換を処理する必要はなく、メモリ空間の第3部分におけるデータを操作し続けることが可能である。このようにして、作業データを保護するうえでアプリケーションによって費やされる時間が削減される。したがって、アプリケーション速度が増加する。
【００４８】
この実施例では、実行可能ファイルを該メモリ空間の該第4部分に書き込む工程は、好ましくは、アプリケーション自体によって開始される。最も好ましくは、このことは、データを保護するコマンドがアプリケーションによって与えられる時点と同時か該時点の直後に行われる。
【００４９】
変換用実行可能ファイルは、ファイル・システムに一度だけ移管されればよい。その後は、アプリケーションが実行中である限り、ファイル・システムは、変換ルーチンと関連第４メモリ空間とをその管理下に置き得る。あるいは、変換ルーチンがファイル・システムに書き込みキャッシュ毎に転送されることも考えられる。当該代替例は、永久メモリ空間が疎である場合に効果的なものとなる一方、当該データ記憶による処理負荷を削減するべきである場合には別の代替例が好ましいものである。何れの代替例の場合も、当該変換工程後又は当該終了工程後、各々に、メモリ空間の第4部分をメモリ管理装置に割り当て解除する工程が行われる。このようにして、メモリ管理装置は、メモリ空間を別のアプリケーションに割り当てることが可能である。
【００５０】
別の代替例として、ファイル・システムは、アプリケーションが実行中である時間よりもなお長い時間中、変換ルーチンを保持し得る。ファイル・システムの管理下で永久メモリ空間の第4部分において変換ルーチンを保持することによって、書き込みキャッシュ速度が更に増加する。このことは、１つのアプリケーション又はアプリケーション・システムのみを実行するよう形成されるデータ処理システムにおいて特に有用である。一方で、この代替例の方法は、永久メモリ空間が十分にあり、かつメモリにおいてルーチンを保持することが作業メモリの性能を損なうものでない場合にのみ有用となる。
【００５１】
第１データをファイル・データに実行可能ファイルを利用して変換する工程は好ましくは、メモリ空間の第２部分を該ファイル・データ用該実行ファイルに割り当てる工程、実行可能ファイルを第１データに適用することによって該ファイル・データを作成する工程、該ファイル・データをメモリ空間の第２部分に書き込む工程、及び該メモリ空間の該第２部分を該ファイル・システムに割り当てる工程を備える。メモリ空間の第２部分とファイル・データとの語が紹介されている、本発明のメモリ管理方法の説明を参照することとする。これらの語は整合性をとる理由で、本明細書のこの部分でもう一度使用している。
【００５２】
変換工程をファイル・システムによって開始することは、不必要な変換工程を行わないようにすることが可能であるという効果を有する。多くの場合、アプリケーションは、最後の保護動作から算出される所定の時間スパン後にデータを保護する自動ルーチンを有する。アプリケーションが終了していない場合、メモリ空間の第１部分における作業データの複製は、先行複製がファイル・データに変換されることなく単に上書きされる場合がある。このようにして、この場合もまた、データ喪失のリスクを負うことのない、メモリ空間の永久性を利用して、処理負荷が更に軽減される。
【００５３】
本発明の第３の特徴によれば、上記書き込みキャッシュ方法はアプリケーションによって操作されるデータを2次記憶媒体上のファイルに保存する方法の意味合いで用いられる。このファイル保存方法は、本発明の第２の特徴又はその上記実施例の何れかによる書き込みキャッシュ方法を行う工程及びファイル・データを2次記憶媒体に書き込む工程を備える。
【００５４】
本発明のファイル保存方法は、書き込みキャッシュ中に行われるメモリ管理方法に関する割り当て方法の直後に、ディスクに書き込まれる対象のデータが保護されるという点で信頼度が向上する。更に、本発明のファイル保存方法において書き込みキャッシュ方法を用いることによって、アプリケーションが、2次記憶媒体に対する書き込み処理のボトルネックがないようにすることを可能となる。アプリケーションは、永久メモリに対して単に高速書き込み処理を用い、上記割り当て工程が正常に行われるとすぐに確認メッセージを受信する。ディスクへの実際の書き込みは、都合の良い時点、例えば、アプリケーションが処理装置の処理容量全部を必要としない際にファイル・システムによって別個に管理される。
【００５５】
ディスクへのファイル・データの書き込み工程は公知の手順をたどり得る。好適実施例では、データ保存方法は、該書き込み工程前に、ファイル・データをファイル・データ・ブロックに分割して、永久メモリにおけるデータ構造をディスク上の記憶媒体の構造に適合させる。分割工程は好ましくは、ファイル・データ・ブロックの各々を該ディスクのセクタに一意に割り当てる工程を備える。最後に、書き込み工程は好ましくは、各ファイル・データ・ブロックを該ディスクの当該割り当てセクタに書き込む工程を備える。
【００５６】
本発明の第4の特徴によれば、少なくとも１つの永久メモリ装置のメモリ空間を管理するメモリ管理装置を備える。メモリ管理装置は、少なくとも1つのアプリケーション装置と通信し、永久メモリ装置の該メモリ空間の少なくとも１つの第１部分をアプリケーション装置に割り当てるよう形成されるメモリ割り当て装置を備える。本発明によれば、割り当て装置は更に、少なくとも1つのファイル・システム装置と通信し、該アプリケーション装置からの要求又は該ファイル・システム装置からの要求によって、メモリ空間の第１部分を該ファイル・システムに割り当てるよう形成される。
【００５７】
場合によってはメモリ管理ユニットとも呼ぶ、メモリ管理装置は、本発明の第１の特徴又はその実施例の何れか１つによってメモリ管理方法を行うよう形成される。この目的で、割り当て装置は、公知のメモリ管理装置との比較で修正される。本発明のメモリ管理装置は、例えば、ASICなどの集積回路の形態で備え得る。一方で、該装置は、処理装置に接続される作業メモリにロードされる実行可能ファイルの形式においても備え得る。特に、実行可能ファイルを有する作業メモリは、メモリ管理装置の管理下にある永久メモリ装置であり得る。
【００５８】
本発明のメモリ管理装置は、好適実施例では、メモリ割り当てテーブルを維持するよう形成される。メモリ割り当てテーブルは、永久メモリ装置のメモリ空間の所定部分を表す少なくとも1つのメモリ・アドレスを、該アプリケーション装置又は該ファイル・システム装置に割り当てる。ファイル・システムとアプリケーションとの各々に対する割り当てが行われる前提は、本発明のメモリ管理方法の意味合いで説明している。よって、本明細書の相当する部分を参照することとする。
【００５９】
本発明の第5の特徴によれば、ファイル・システム装置が備えられ、該装置は、ファイル割り当てテーブルを現在の状態で維持するよう形成されるファイル割り当て装置を備え、該ファイル割り当てテーブルは少なくとも１つのディスク空間アドレスを少なくとも1つのファイルに割り当てる。ファイル割り当て装置は、永久メモリ装置に関するメモリ管理装置と通信するよう形成される。更に、ファイル割り当て装置は、永久メモリ装置の少なくとも1つの第１メモリ空間のアドレスをファイル割り当てテーブルの維持において有するようにするよう形成される。
【００６０】
本発明の本特徴のファイル・システムは、上記メモリ管理装置とともに動作し、本発明のファイル保存方法と書き込みキャッシュ方法とにおいて用いられるように形成される。
【００６１】
ファイル・システム装置は、メモリ管理装置と同様に、集積回路の形態で備え得る。あるいは、該装置は更に、プロセッサ及びメモリを備える場合があり、ファイル割り当て装置は、該メモリが有する少なくとも１つの第２実行可能ファイルの形態で実施される。プロセッサ及びメモリは、メモリ管理装置又は1つ若しくはいくつかのアプリケーション装置などの、別の装置と共有し得る。
【００６２】
本発明の第6の特徴によれば、プロセッサに接続される永久メモリ装置と、該永久メモリ装置においてデータを操作するよう形成されるデータ管理ユニットとを有する、アプリケーション・システムが備えられる。その第３実行可能ファイル又はdllを実行することによって該プロセッサが、該データを所定のデータ・シーケンス形式に変換する、すなわちファイル・データを作業データから上記のように本発明の方法の意味合いにおいて、かつ図1を参照しながら以下に更に詳細に説明するように作成する、よう形成されるように、データ管理装置が、少なくとも１つの、その第３実行可能ファイルすなわちdllを該永久メモリに書き込むよう形成される。データ管理装置は実行可能ファイルを永久メモリ装置に書き込みよう形成され、該実行可能ファイルは、永久メモリ装置が有するデータ構造を線形データ・シーケンスに変換するよう形成される変換ルーチンを有する。あるいは、データ管理装置は、ファイル・システムが既に有するそのような実行可能ファイルすなわちdllに対する参照をファイル・システムに備えるよう形成される。
【００６３】
本発明のアプリケーション装置は、該装置が、作業データをファイル・データに変換することを本発明のファイル・システムに行わせるよう形成されるという点で公知のアプリケーションとは異なる。本発明のアプリケーション装置は、集積回路又は、コンピュータなどのデータ処理システムの作業メモリにロードされる1つ若しくは複数の実行可能ファイルの形態をとり得る。
【００６４】
アプリケーション装置は、計算機統合化製造(CIM)装置又は組み込みアプリケーションなどの特定のアプリケーション専用に企図されるマシンであり得る。アプリケーション装置は、上記データ管理装置を備えるアプリケーション・プログラムを装備したホーム・コンピュータ又はオフィス・コンピュータの形態もとり得る。
【００６５】
したがって、本発明の第7の特徴によれば、少なくとも１つの上記実行可能ファイルを有する記憶媒体も本発明によって備えられる。記憶媒体は、ディスク、コンパクト・ディスク、ディジタル多用途ディスク又は、永久メモリ装置などの何れかの別のデータ記憶媒体の形態をとり得る。本発明は更に、本発明のメモリ管理方法を表すコードを有する永久メモリ装置に存する。
【００６６】
最後に、本発明の第8の特徴によれば、データ処理システムが備えられ、該システムは、本発明によるメモリ管理装置、本発明によるファイル・システム装置、本発明によるアプリケーション装置、及び/又は本発明による記憶媒体を備える。
【発明を実施するための最良の形態】
【００６７】
以下では、本発明を、好適実施例に基づいて更に詳細に、添付図面を参照しながら、説明することとする。
【実施例】
【００６８】
図1aはアプリケーションによって作成される作業データ構造を有する永久メモリ10を表す。作業データは、４つのメモリ・ブロック12乃至18が有する大文字A乃至Lによって表す。メモリ・ブロックは矢印20乃至24として表すポインタによってリンクされる。図1aの作業データは、ファイルに想定される線形構造から逸脱する構造を表す。メモリ・ブロック12は、2つのポインタ20及び22によって並列にメモリ・ブロック14及び16にリンクされる。そのような並列構造は、線形データ・シーケンスを有することを必要とするファイルにおいては表すことが可能でない。
【００６９】
図1bは図1aの永久メモリ10を表す。図1bでは、図1aの作業データ構造が複製されており、メモリ・ブロック26が有する作業データ・シーケンスに変換されている。メモリ・ブロック12乃至18は再利用されている。作業データ構造12乃至18をファイル構造26に変換するために、特定用途向変換ルーチン（図示せず）が用いられている。
【００７０】
図1cは、ファイル構造26がファイル・データ・ブロック26.1乃至26.4に分割された永久メモリ10を表す。各ファイル・データ・ブロックは、この場合もまた、文字によって表すデータ群を有する。例えば、ファイル・データ・ブロック26.1は、データA、B及びCを有する。更に、各データ・ブロックは、図1dに表すディスク28上のセクタへの割り当てを有する。割り当ては、図1cに「＠」記号によって表し、ディスク・ブロック・アドレスは数字で表す。例えば、データG、H及びIを有するファイル・データ・ブロック26.3はファイル・セクタ6に割り当てられる。ファイル・データ・ブロックを特定のディスク・セクタに割り当てることは、ファイル・システム（図示せず）によって行われる。
【００７１】
図1dは、ファイル・セクタがファイル・セクタ・アドレス1乃至9を有するディスク28を表す。ファイル・セクタ1,2,5及び6はデータA乃至Lを有する。図1dに表す状態は、図1cのファイル・データ・ブロック26.1乃至26.4をめいめいに割り当てられるディスク・セクタに書き込む工程の後のものである。ディスク・セクタ3,4,7,8及び9を、一時的に、ファイル・システムによって自由に割り当てることができる状態に留まっている。
【００７２】
このように、一連の図1a乃至図1dは、アプリケーションによって永久作業メモリ10において生成される作業データをディスク28に保存する処理の種々の段階での、永久メモリ10及びディスク28を表す。上記一連の段階は、永久メモリ10の代わりに非永久メモリを用いる場合、変わるものでない。
【００７３】
図2乃至7は、本発明の実施例によるファイル保存処理の種々の段階での、永久メモリ装置のメモリ空間30及びディスク・ドライブのディスク空間32を表す。永久メモリ30は、ドットハッチが施された２つのブロック34及び36を有する。これらの図における、ドットハッチが施されたメモリ・ブロックは、めいめいのメモリ・ブロックがファイル・システムに管理下にあり、メモリ管理装置の管理下にないことを示す。永久メモリ空間30のメモリ・ブロックにおよぶ制御は、図8a乃至図8bを参照しながら以下に説明する、本発明の方法による割り当て工程によってメモリ管理装置から移管される。
【００７４】
メモリ空間30は更に、作業データを有する３つのブロック40,42、及び44を備えている区域38を有する。この作業データ構造38は図1aに表すものに相当する。作業データ・ブロック40はポインタ46及び48によって並列にブロック42及び44にリンクされ、この場合もまた当該図で矢印として表す。図2に表す状態は、アプリケーションがデータ構造38を操作している段階を表す。ブロック34及び36は、ファイル・システムに割り当てられる。これらのブロックは例えば、現在実行されているものとは異なるアプリケーションによって用いられる対象のファイル構造に作業データ構造を変換する変換ルーチンを有する場合がある。
【００７５】
図3は、同じシステムの後続段階を表す。同じシステムを表しているので、同じ参照数字を図２のものと同一の構成要素について用いる。第２作業データ構造50は、メモリ空間に書き込まれている。この作業データ構造は、作業データ構造38の複製である。このデータ・ブロック52,54及び56は各々、作業データ・ブロック40,42,及び44の複製を有する。図3に表す状態は、アプリケーションが「ディスクに保存する」コマンドを与えたディスク32にデータを保存する処理の段階に相当する。「ディスクに保存する」コマンドの時点での作業データ構造38の状態は、データ構造50に書き込まれている。
【００７６】
図4は、保存処理における同じシステムの後続段階を表す。この段階では、第２作業データ構造50に及ぶ制御はファイル・システムに移管されている。このことは図4ではドットハッチが施されたメモリ・ブロック52,54及び56によって示す。更に、アプリケーションは、ファイル・システムに、作業データ構造50をファイル・データ構造に変換する変換ルーチンを移管している。変換ルーチンはメモリ・ブロック58に記憶される。別の実施例では、変換ルーチンは、ディスク32から読み取られており、永久メモリ30のブロック58にロードされている場合がある。元の作業データ構造は、この段階でなお存在する。
【００７７】
図5はこのシステムの後続段階を表す。ファイル・システムは、変換ルーチンを作業データ構造50に適用している。ファイル・データ構造は、ファイル・システムにメモリ管理装置によって割り当てられるメモリ空間60においてこのように作成される。元の作業データ・ブロック40,42,44（図2乃至4を参照。）を有するメモリ範囲38はファイル・システムからメモリ管理装置に割り当て解除されている。ファイル・システムが作業データ構造38の複製50及び変換ルーチン58を有する時点では作業データ構造が保護されているからである。ファイル・システムが、保存処理が正常に行われたことをアプリケーションに確認するのはこの時点である。メモリ管理装置は、このメモリ範囲を、別のアプリケーションに割り当てることもファイル・システムに割り当てることも可能である。明らかに、メモリ範囲38の部分は、ファイル・データ構造60を記憶させるファイル・システムに割り当てられている。
【００７８】
図6はこのシステムの後続段階を表す。この段階では、継続中の保存処理に関するデータからは、ファイル・データ構造60のみが永久メモリ空間30に保持される。メモリ範囲50及びブロック58はメモリ管理装置に割り当て解除されている。これらは、現在の保存処理の続行においては必要でない。
【００７９】
図7は、該システムの保存処理における最終段階を表す。ファイル・データ構造60はディスク32に書き込まれている。したがって、関連メモリ・ブロックがメモリ管理装置に割り当て解除される。その場合、ディスク32は、４つのディスク・セクタ62.1乃至62.4に記憶されるファイル60を有する。
【００８０】
図8a及び図8bは、本発明の実施例によって、永久メモリにおける作業データをディスク上のファイルに保存する処理中に、アプリケーション70、メモリ管理装置72及びファイル・システム74によって行われる工程と、それらによって交換されるメッセージとを流れ図において表す。処理全体は図8aと図8bとに及ぶ。この処理は、単に、紙のサイズの制約から、分割して表している。
【００８１】
アプリケーション70によって行われる工程は、左側のタイムライン76に沿って表す。メモリ管理装置72によって行われる工程は、中央のタイムライン78に沿って表す。
【００８２】
ファイル・システム74によって行われる工程は、右側のタイムライン80に沿って表す。アプリケーションと、メモリ・マネジャーと、ファイル・システムとの各々の間で交換されるメッセージは、メッセージを送出する装置から出ており、メッセージを受信するメッセージに向けられている水平方向の矢印によって表す。メッセージは以下では、Mで始まり、数字が後続する参照記号を用いて表すこととする。工程は、Sで始まり、数字が後続する参照記号を用いて表すこととする。
【００８３】
本発明の保存処理は、アプリケーション70からメモリ管理装置72に送出される保存コマンドM10によって開始される。メモリ管理装置はその場合、工程S10で、メモリ空間を、ディスク上に保存する対象の作業データ複製用に割り当てることによってそのコマンドに応答することになる。更に、工程S12で、作業データ複製が割り当てメモリ空間に書き込まれることになる。本実施例では、この工程はメモリ管理装置によって行われる。しかし、この工程はアプリケーション70によって行われる場合もある。別の工程S14では、データ複製を有するメモリ空間（すなわち、前述の用語では「メモリ空間の第１部分」）がファイル・システムに割り当てられることになる。なお、メモリ管理装置はメモリ空間をアプリケーションの要求によって割り当てる。この要求は、保存メッセージM10が暗黙に有する。
【００８４】
割り当ては更に、第１アドレス（「Addr.1」）及び第２アドレス（「Addr.2」）によって示す割り当てメモリ空間のアドレス範囲も有するメッセージM12によってファイル・システムに通知される。ファイル・システムは、工程M14でメッセージM12の受信を応答する。
【００８５】
メモリ管理装置は更に、工程S16で、ファイル・システムに割り当てられるメモリ空間が別のアプリケーションに割り当てられることが可能でないようにするためにメモリ割り当てテーブルを維持することになる。一方、ファイル・システムは工程S18で、ファイル割り当てテーブル(FAT)を維持してそれが割り当てメモリ空間を有するようにすることになる。
【００８６】
メッセージM10を送出した後の何れかの時点又はメッセージM10を送出した時点で、アプリケーションはメッセージM16で、作業データをファイル・データに変換する変換ルーチン用にメモリ空間をメモリ管理装置に要求することになる。メモリ管理装置72は工程20で、メモリ空間をアプリケーションに割り当てることになり、アドレス3からアドレス4までの割り当てアドレス範囲を有するメッセージM18においてアプリケーションに通知する。工程S22では、アプリケーションは変換ルーチンをこの割り当てメモリ範囲に書き込む。
【００８７】
変換ルーチンを有するこのメモリ範囲は更に、工程S24でファイル・システムに割り当てられることになる。割り当てはメッセージM20においてファイル・システムに通知される。ファイル・システム74はメッセージM22において割り当てを応答する。更に、工程S26及びS28では、メモリ管理装置はメモリ割り当てテーブルを維持し、ファイル・システムは前述のようにファイル割り当てテーブルを維持する。
【００８８】
メッセージM24では、ファイル・システムは更に、作業データの保護を正常に行ったことをアプリケーションに応答することになる。
【００８９】
保存方法の続きを次に、図8bを参照しながら説明することとする。メッセージM26では、ファイル・システムは、現在はファイル・システムの管理下にある変換ルーチンを用いて作業データから作成される対象のファイル・データ用にメモリ空間を割り当てるようメモリ管理装置に要求する。工程S30では、メモリ管理装置はアドレス5からアドレス6までの要求メモリ空間を割り当て、これに対応してファイル・システムにメッセージM28において通知することになる。ファイル・システムはメッセージM30によって応答することになる。同様に、メモリ管理装置及びファイル・システムは、工程S32及びS34で、各自の割り当てテーブルを維持することになる。
【００９０】
更に、工程S36では、ファイル・システムは、ファイル・システムにS14で割り当てられたアドレス1からアドレス2までのメモリ空間における作業データをファイル・データに変換することを開始している。例えば、現時の処理負荷に応じて、都合のよい期間中、S36を待つことはファイル・システム次第である。ファイル・データは、アドレス5からアドレス6までの割り当てメモリ範囲に書き込まれることになる。この時点で、ファイル・システムは、メッセージM32において、作業データ（アドレス1乃至アドレス2）の複製と変換ルーチン（アドレス3乃至アドレス4）とを有するメモリ空間の再割り当てを要求する。別の実施例では、前述のメモリ空間毎に別個のメッセージが存在し得る。ファイル・システムは、メッセージM34において、再割り当て要求の受信を応答し、工程S38で、そのメモリ割り当てテーブルを維持することになる。この時点で、前述メモリ空間範囲は、この場合もまた、メモリ管理装置の管理下に置かれている。ファイル・システムは、工程S40で、そのファイル割り当てテーブルを維持する。工程S42では、ファイル・システムは、ディスクへファイル・データを書き込む工程を開始する。ディスクへファイル・データを書き込む工程は、図1c乃至1dを参照しながら示した工程全てを備える。
【００９１】
ファイル・データがディスクに記憶されると、ファイル・システムは、メッセージM36で、ファイル・データを有するメモリ空間の再割り当てをメモリ管理装置に要求する。メモリ管理装置はメッセージM38によって応答する。メモリ管理装置及びファイル・システムは、工程S44及び工程S46で割り当てテーブルを維持する。これによって、永久メモリ装置を書き込みキャッシュ・メモリとして用いる本実施例の保存方法が完了する。
【図面の簡単な説明】
【００９２】
【図１ａ】作業データを備えている永久メモリを表す図である。
【図１ｂ】図1aの作業データをファイル構造において備えている図1aの永久メモリを表す図である。
【図１ｃ】図1bの作業データがファイル・データ・ブロックに分割された、図1bの永久メモリを表す図である。
【図１ｄ】図1cのファイル・データ・ブロックを有するディスクを表す図である。
【図２】本発明の実施例によるファイル保存処理の種々の段階での永久メモリ及びディスクを表す図である。
【図３】本発明の実施例によるファイル保存処理の種々の段階での永久メモリ及びディスクを表す別の図である。
【図４】本発明の実施例によるファイル保存処理の種々の段階での永久メモリ及びディスクを表す更に別の図である。
【図５】本発明の実施例によるファイル保存処理の種々の段階での永久メモリ及びディスクを表す更に別の図である。
【図６】本発明の実施例によるファイル保存処理の種々の段階での永久メモリ及びディスクを表す更に別の図である。
【図７】本発明の実施例によるファイル保存処理の種々の段階での永久メモリ及びディスクを表す更に別の図である。
【図８ａ】本発明の実施例によるファイル保存処理中の、アプリケーションと、メモリ管理装置と、ファイル・システムとの間のメッセージの流れを有する流れ図を表す図である。
【図８ｂ】本発明の実施例によるファイル保存処理中の、アプリケーションと、メモリ管理装置と、ファイル・システムとの間のメッセージの流れを有する流れ図を表す別の図である。
2006518492.tif 000003
【図２】
2006518492.tif 000004
【図３】
2006518492.tif 000005
【図４】
2006518492.tif 000006
【図５】
2006518492.tif 000007
【図６】
2006518492.tif 000008
【図７】
2006518492.tif 000009
【図８ａ】
2006518492.tif 000010
【図８ｂ】
2006518492.tif 000011