(57)【要約】【課題】拡張メモリと格納媒体の間のデータ交換時、システムのメモリを経由せず直接データが交換できるようにするデータを管理する装置及び方法を提供する。【解決手段】所定データに対する移動コマンドを受信するコマンド受信部と、少なくとも１つ以上の格納手段のうち前記データを格納している第１格納手段と前記移動コマンドに対応して前記データを格納するようになる第２格納手段へのアクセスを行うメモリインターフェース部、及び前記アクセス結果に応じて前記第１格納手段から前記第２格納手段に前記データを移動させるメモリ管理部を含む。【選択図】図１
2008130092.tif 000002
【特許請求の範囲】
【請求項１】
所定データに対する移動コマンドを受信するコマンド受信部と、
少なくとも１つ以上の格納手段のうち前記データを格納している第１格納手段と前記移動コマンドに対応して前記データを格納するようになる第２格納手段へのアクセスを行うメモリインターフェース部と、
前記アクセス結果に応じて前記第１格納手段から前記第２格納手段に前記データを移動させるメモリ管理部とを含むことを特徴とするデータを管理する装置。
【請求項２】
前記格納手段はシステムメモリ、拡張メモリ、不揮発性キャッシュ及びハードディスクのうち少なくとも１つを含むことを特徴とする請求項１に記載のデータを管理する装置。
【請求項３】
前記メモリ管理部は前記システムメモリを経由せず前記第１格納手段から前記第２格納手段に前記データを移動させることを特徴とする請求項２に記載のデータを管理する装置。
【請求項４】
前記メモリ管理部は前記第１格納手段と前記第２格納手段の間の物理的な隣接有無によって、前記第１格納手段と前記第２格納手段の間に前記データの移動を行ったり、前記データの格納経路を修正することを特徴とする請求項１に記載のデータを管理する装置。
【請求項５】
前記隣接有無を判断する制御部をさらに含むことを特徴とする請求項４に記載のデータを管理する装置。
【請求項６】
所定データに対する移動コマンドを受信するステップと、
少なくとも１つ以上の格納手段のうち前記データを格納している第１格納手段と前記移動コマンドに対応して前記データを格納するようになる第２格納手段へのアクセスを行うステップと、
前記アクセス結果に応じて前記第１格納手段から前記第２格納手段に前記データを移動させるステップとを含むことを特徴とするデータを管理する方法。
【請求項７】
前記格納手段はシステムメモリ、拡張メモリ、不揮発性キャッシュ及びハードディスクのうち少なくとも１つを含むことを特徴とする請求項６に記載のデータを管理する方法。
【請求項８】
前記データを移動させるステップは前記システムメモリを経由せず前記第１格納手段から前記第２格納手段に前記データを移動させるステップを含むことを特徴とする請求項７に記載のデータを管理する方法。
【請求項９】
前記データを移動させるステップは前記第１格納手段と前記第２格納手段の間の物理的な隣接有無によって、前記第１格納手段と前記第２格納手段の間に前記データの移動を行ったり、前記データの格納経路を修正するステップを含むことを特徴とする請求項６に記載のデータを管理する方法。
【請求項１０】
前記隣接有無を判断するステップをさらに含むことを特徴とする請求項９に記載のデータを管理する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを管理する装置及び方法に関し、より詳しくは拡張メモリと格納媒体の間のデータ交換時、システムのメモリを経由せず直接データが交換できるようにするデータを管理する装置及び方法に関するものである。
【背景技術】
【０００２】
仮想メモリはコンピュータとオペレーティングシステムによって具現される概念であって、実際にはメモリではないが、メモリのように利用されるものを意味する。
【０００３】
一般に、仮想メモリはハードディスクの一部分が割り当てられて使用されるが、仮想メモリに対応するメモリは基本メモリであってラム（ＲＡＭ）が使用される。すなわち、コンピュータは作業空間を確保するために現在作業する資料を基本メモリにロードし、現在作業しない資料を仮想メモリにロードする。そして、仮想メモリにロードされた資料が必要となれば、また基本メモリにロードする過程を繰り返すものである。これにより、作業速度の減少を防止することができる。ここで、基本メモリから仮想メモリに、仮想メモリから基本メモリに資料を移動させることをスワッピング（ｓｗａｐｐｉｎｇ）という。
【０００４】
ここで、データが読み取られる単位をページ（ｐａｇｅ）といい、その大きさは普通１ｋＢ〜数ＭＢと多様である。仮想メモリを使用すれば、実際に所要される物理的な格納空間の大きさを節約し、全体的なシステム処理速度を向上させることができる。
【０００５】
メモリ管理ユニットは、仮想アドレスを物理アドレスに変換するハードウェア装置であって、ユーザプロセスで生成された論理アドレスがメモリにアクセスするとき、メモリ管理ユニットは再配置レジスタ（ｒｅｌｏｃａｔｉｏｎ  ｒｅｇｉｓｔｅｒ）を利用して、生成された論理アドレス（仮想アドレス）が物理メモリの領域（物理アドレス）を示すようにする。
【０００６】
一方、動作中のすべてのプロセスによって割り当てられたメモリの大きさがシステムに備えられたメモリの大きさを超過する場合にも仮想メモリが割り当てられてスワッピングが行われるが、仮想メモリが割り当てられたハードディスクとメモリの間のスワッピングはシステムのオーバーヘッドを伴う。したがって、スワッピングによるシステムのオーバーヘッドを減少させるための方法が開発されたが、それは別途の拡張メモリをシステムのメインボードまたはハードディスクに備えることである。
【０００７】
すなわち、フラッシュメモリのように入出力速度が相対的に速い格納手段（拡張メモリ）をシステムに別途に備えることによって、メモリと拡張メモリの間にスワッピングを発生させるものである。
【０００８】
しかし、拡張メモリ方式を使用するシステムにおいて、ハードディスクまたは不揮発性キャッシュのような格納媒体と拡張メモリの間にデータが移動する場合、データはシステムのメモリを常に経由するようになる。例えば、ハードディスクから拡張メモリにデータが移動する場合、ハードディスクのデータはまずメモリに格納され、これが拡張メモリにスワッピングされるのである。
【０００９】
ここで、データがメモリを経由するようにするために、中央処理ユニット（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は所定作業を行わなければならず、これによって中央処理ユニットに負荷が発生し得る。
【００１０】
特許文献１はコンピュータ装置において主記憶装置の記憶容量の限界を克服するために、従来に仮想記憶装置で使用したハードディスク内の一部空間の代わりに集積回路形態の記憶素子のラムを仮想記憶装置として提供し、主記憶装置の記憶容量増大とメモリアクセス速度を改善させたラムを利用した仮想記憶装置を開示している。しかし、ここで仮想記憶装置として提供されていたラムはシステムメモリに対する拡張された形態であって、拡張メモリとして見なし得て、これによって保存媒体とラム間のデータ移動時にシステムメモリの経由が随伴される。
したがって、システム内におけるデータ交換がより効率的に行われ得る発明の登場が要求される。
【特許文献１】大韓民国公開実用第１９９８−０２２１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、拡張メモリと格納媒体の間のデータ交換時、システムのメモリを経由せず直接データが交換できるようにすることを目的とする。
【００１２】
本発明の目的は、以上に言及した目的に制限されず、言及していないさらなる目的は下記によって当業者に明確に理解できるものである。
【課題を解決するための手段】
【００１３】
前記目的を達成するために、本発明の実施形態によるデータを管理する装置は、所定データに対する移動コマンドを受信するコマンド受信部と、少なくとも１つ以上の格納手段のうち前記データを格納している第１格納手段と前記移動コマンドに対応して前記データを格納するようになる第２格納手段へのアクセスを行うメモリインターフェース部、及び前記アクセス結果に応じて前記第１格納手段から前記第２格納手段に前記データを移動させるメモリ管理部を含む。
【００１４】
本発明の実施形態によるデータを管理する方法は、所定データに対する移動コマンドを受信するステップと、少なくとも１つ以上の格納手段のうち前記データを格納している第１格納手段と前記移動コマンドに対応して前記データを格納するようになる第２格納手段へのアクセスを行うステップ、及び前記アクセス結果に応じて前記第１格納手段から前記第２格納手段に前記データを移動させるステップを含む。
その他、実施形態の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００１５】
前記のような本発明のデータを管理する装置及び方法によれば、次のような効果が１つあるいはそれ以上ある。
【００１６】
第一に、システム内に存在する格納手段間のデータ交換を直接行うことによって、データの交換が迅速に行われるという長所がある。
第二に、システムのメモリを経由するデータの発生を制限することによって、中央処理ユニットの作業量を減少させるという長所もある。
【発明を実施するための最良の形態】
【００１７】
本発明の利点及び特徴、そしてそれらを達成する方法は添付する図面とともに詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下に開示される実施形態に限定されず、相異なる多様な形態によって具現でき、単に本実施形態は本発明の開示を完全なものにし、本発明の属する技術分野における通常の知識を有する者に発明の範疇を完全に知らせるために提供するものであって、本発明は請求項の範疇によってのみ定義される。明細書全体にわたって同じ参照符号は同じ構成要素を示す。
【００１８】
以下、添付する図面を参照して本発明の好ましい実施形態を詳細に説明する。
【００１９】
図１は本発明の実施形態によるデータを管理する装置を示すブロック図である。データを管理する装置（以下、データ管理装置という）１００は、コマンド受信部１１０、状態確認部１２０、制御部１３０、メモリ管理部１４０、メモリインターフェース部１５０、格納部１６０、メモリ１７０及び拡張メモリ１８０を含んで構成される。
【００２０】
格納部１６０、メモリ１７０及び拡張メモリ１８０は、データを格納する格納手段であって、本発明において格納部１６０及び拡張メモリ１８０は不揮発性格納手段を意味し、メモリ１７０は揮発性格納手段を意味する。
【００２１】
例えば、格納部１６０はハードディスク、フラッシュメモリ、ＣＦカード、ＳＤカード、ＳＭカード、ＭＭＣカードまたはメモリスティックなど情報の入出力が可能なモジュールを意味し、メモリ１７０及び拡張メモリ１８０はデータ管理装置１００の円滑な動作のために臨時にデータを格納することができるモジュールを意味する。
【００２２】
ここで、拡張メモリ１８０はスワッピングによるシステムのオーバーヘッドを減少させるためにデータ管理装置１００に備えられた格納手段を意味する。
【００２３】
また、格納部１６０には不揮発性キャッシュが含まれ得るが、不揮発性キャッシュは拡張メモリ１８０とともに１つのモジュールとして構成できる。例えば、１つのフラッシュメモリ中に不揮発性キャッシュと拡張メモリ１８０のための領域が存在し得ることである。
【００２４】
コマンド受信部１１０はデータに対する移動コマンドを受信する役割をする。ここで、移動コマンドは格納部１６０に対する読み取りコマンド及び書き込みコマンドを含む。すなわち、読み取りコマンドは格納部１６０に格納されたデータの抽出のためのコマンドを意味し、書き込みコマンドは格納部１６０にデータを格納させるためのコマンドを意味する。
【００２５】
状態確認部１２０はメモリ１７０の使用状態を確認する役割をする。すなわち、現在メモリ１７０で使用中の領域の大きさを確認するものであって、確認結果は制御部１３０に伝えられる。
【００２６】
メモリインターフェース部１５０は、少なくとも１つ以上の格納手段のうちデータを格納している第１格納手段と移動コマンドに対応してデータを格納するようになる第２格納手段へのアクセスを行う役割をする。移動コマンド、すなわち読み取りコマンド及び書き込みコマンドには該当データに関する第１格納手段のアドレスが含まれているが、メモリインターフェース部１５０はこれを利用して第１格納手段にアクセスし、メモリ管理部１４０の制御コマンドによってデータが格納される第２格納手段の所定領域にアクセスするものである。
【００２７】
メモリ管理部１４０はメモリインターフェース部１５０を制御して第１格納手段から第２格納手段にデータを移動させる役割をする。また、メモリ管理部１４０はメモリ１７０に対してコンパクション、スワッピングまたは圧縮を行うことができる。
【００２８】
データを移動させるとき、メモリ管理部１４０はメモリ１７０を経由せず第１格納手段から第２格納手段にデータを移動させることができる。
【００２９】
また、メモリ管理部１４０は第１格納手段と第２格納手段の間の物理的な隣接有無によって、第１格納手段と第２格納手段の間にデータの移動を行ったり、データの格納経路を修正することができるが、これについての詳細な説明は図２を参照して後述する。
【００３０】
制御部１３０は、第１格納手段と第２格納手段の間の物理的な隣接有無を判断し、状態確認部１２０から伝えられたメモリ１７０の使用状態によってメモリ管理部１４０を制御してスワッピングが行われるようにする。
【００３１】
また、制御部１３０は、コマンド受信部１１０、状態確認部１２０、メモリ管理部１４０、メモリインターフェース部１５０、格納部１６０、メモリ１７０、拡張メモリ１８０及びデータ管理装置１００の全般的な制御を行う。
【００３２】
図２は本発明の実施形態による格納手段を示すブロック図であって、第１格納手段２１０及び第２格納手段２２０が１つの物理的な格納手段２００に含まれていることを示す図面である。
【００３３】
前述したように、メモリ管理部１４０は、第１格納手段２１０及び第２格納手段２００の物理的な隣接有無によってデータの移動または格納経路の修正を決定することができるが、第１格納手段２１０及び第２格納手段２２０が別途のモジュールとして存在する場合、メモリ管理部１４０は第１格納手段２１０に格納されているデータを抽出し、抽出されたデータを第２格納手段２２０に格納させる反面、第１格納手段２１０及び第２格納手段２２０が図２に示されたように１つのモジュールとして存在する場合、メモリ管理部１４０は第１格納手段２１０に格納されているデータを抽出せず、単に第１格納手段の領域のうちデータを格納するページの格納経路を第２格納手段２２０の格納経路に修正する。
【００３４】
例えば、第１格納手段２１０及び第２格納手段２２０を含む１つのモジュールにおいて第１格納手段２１０が拡張メモリ１８０であり、第２格納手段２２０が不揮発性キャッシュである場合、メモリ管理部１４０は拡張メモリ領域のうちデータを格納するページの格納経路を不揮発性キャッシュの格納経路に修正することによってデータの移動を行う。
【００３５】
図３は本発明の実施形態による拡張メモリにデータが入力されることを示す概念図である。
不揮発性キャッシュ１６１またはハードディスク１６２のような格納部１６０に格納されているデータを拡張メモリ１８０に入力する場合、従来の方式によれば、データはメモリ１７０を経由した後に拡張メモリ１８０に伝えられる。
【００３６】
一方、本発明の実施形態によるメモリ管理部１４０は、読み取りコマンドを受信することによって、メモリ１７０を経由せず不揮発性キャッシュ１６１またはハードディスク１６２に格納されているデータを拡張メモリ１８０に直接移動させる。
【００３７】
このために、本発明の実施形態による読み取りコマンドは、データがメモリ１７０を経由するか否かを決定することができるフラグを含むことができるが、例えばフラグの値が０である場合、メモリ管理部１４０はメモリ１７０を経由してデータを移動させ、フラグの値が１である場合、メモリ管理部１４０はメモリ１７０を経由せずデータを移動させることができる。
【００３８】
図４は本発明の実施形態による拡張メモリからデータが出力されることを示す概念図である。
拡張メモリ１８０に格納されているデータを出力して不揮発性キャッシュ１６１またはハードディスク１６２のような格納部１６０に格納させようとする場合、従来の方式によれば、データはメモリ１７０を経由した後に格納部１６０に伝えられる。
【００３９】
一方、本発明の実施形態によるメモリ管理部１４０は、書き込みコマンドを受信することによって、メモリ１７０を経由せず拡張メモリ１８０に格納されているデータを不揮発性キャッシュ１６１またはハードディスク１６２に直接移動させる。
【００４０】
このために、本発明の実施形態による書き込みコマンドは、データがメモリ１７０を経由するか否かを決定することができるフラグを含むことができるが、例えばフラグの値が０である場合、メモリ管理部１４０はメモリ１７０を経由してデータを移動させ、フラグの値が１である場合、メモリ管理部１４０はメモリ１７０を経由せずデータを移動させることができる。
【００４１】
図５は本発明の実施形態による読み取りコマンドによってデータが移動することを示すフローチャートであって、格納部１６０に格納されている所定データを抽出する過程を示す。
データを読み取るためにデータ管理装置１００のコマンド受信部１１０は、まず読み取りコマンドを受信する（Ｓ５１０）。
【００４２】
受信された読み取りコマンドは制御部１３０に伝えられ、制御部１３０は不揮発性キャッシュにデータが存在するかを確認する（Ｓ５２０）。一度使用されたデータへのアクセスを容易にするために不揮発性キャッシュはデータを臨時に格納することができるが、制御部１３０は該当データが不揮発性キャッシュに格納されているかを確認する。
【００４３】
不揮発性キャッシュにデータが存在しなければ、制御部１３０はメモリ管理部１４０を制御して格納部１６０からデータを抽出し、これを拡張メモリ１８０に移動させる（Ｓ５６０）。このとき、メモリ管理部１４０はメモリ１７０を経由せずデータを格納部１６０から拡張メモリ１８０に移動させることができる。
【００４４】
一方、不揮発性キャッシュにデータが存在する場合、制御部１３０は不揮発性キャッシュと拡張メモリ１８０が別途のモジュールとして存在するかを確認する（Ｓ５３０）。不揮発性キャッシュと拡張メモリ１８０が別途のモジュールとして存在する場合、メモリ管理部１４０は不揮発性キャッシュから拡張メモリ１８０にデータを移動させ（Ｓ５５０）、不揮発性キャッシュと拡張メモリ１８０が別途のモジュールではなく１つのモジュールとして存在する場合、メモリ管理部１４０は不揮発性キャッシュでデータを格納している該当ページの格納経路を拡張メモリ１８０の格納経路に修正する（Ｓ５４０）。
【００４５】
図６は本発明の実施形態による書き込みコマンドによってデータが移動することを示すフローチャートであって、格納部１６０に所定データを格納する過程を示す。
データを格納するためにデータ管理装置１００のコマンド受信部１１０は、まず書き込みコマンドを受信する（Ｓ６１０）。
【００４６】
受信された書き込みコマンドは制御部１３０に伝えられ、制御部１３０は拡張メモリ１８０にデータが存在するかを確認する（Ｓ６２０）。状態確認部１２０によってメモリ１７０の使用状態が最大値であると確認された場合、メモリ１７０に格納されるデータは臨時に拡張メモリ１８０に格納されるが、制御部１３０は該当データが拡張メモリ１８０に格納されているかを確認する。
【００４７】
拡張メモリ１８０にデータが存在しなければ、制御部１３０はメモリ管理部１４０を制御してメモリ１７０から格納部１６０にデータを移動させる（Ｓ６８０）。
【００４８】
一方、拡張メモリ１８０にデータが存在する場合、制御部１３０は不揮発性キャッシュにデータを格納するか否かを決定する（Ｓ６３０）。一度使用されたデータであるため、今後再使用されることに備えて臨時に不揮発性キャッシュに格納する。
【００４９】
不揮発性キャッシュに格納しないと決定された場合、メモリ管理部１４０は拡張メモリ１８０から格納部１６０にデータを移動させる（Ｓ６５０）。このとき、メモリ管理部１４０はメモリ１７０を経由せずデータを移動させることができる。
【００５０】
そして、不揮発性キャッシュに格納すると決定された場合、制御部１３０は不揮発性キャッシュと拡張メモリ１８０が別途のモジュールとして存在するかを確認する（Ｓ６４０）。不揮発性キャッシュと拡張メモリ１８０が別途のモジュールとして存在する場合、メモリ管理部１４０は拡張メモリ１８０から不揮発性キャッシュにデータを移動させ（Ｓ６７０）、不揮発性キャッシュと拡張メモリ１８０が別途のモジュールではなく１つのモジュールとして存在する場合、メモリ管理部１４０は拡張メモリ１８０でデータを格納している該当ページの格納経路を不揮発性キャッシュの格納経路に修正する（Ｓ６６０）。
【００５１】
以上、添付する図面を参照して本発明の実施形態を説明したが、本発明の属する技術分野における通常の知識を有する者は本発明がその技術的思想や必須的な特徴を変更せずに他の具体的な形態によって実施できることを理解することができる。したがって前述した実施形態はすべての面で例示的なものであって、限定的なものではないことを理解しなければならない。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施形態によるデータを管理する装置を示すブロック図である。
【図２】本発明の実施形態による格納手段を示すブロック図である。
【図３】本発明の実施形態による拡張メモリにデータが入力されることを示す概念図である。
【図４】本発明の実施形態による拡張メモリからデータが出力されることを示す概念図である。
【図５】本発明の実施形態による読み取りコマンドに応じてデータが移動することを示すフローチャートである。
【図６】本発明の実施形態による書き込みコマンドに応じてデータが移動することを示すフローチャートである。
【符号の説明】
【００５３】
１１０    コマンド受信部
１２０    状態確認部
１３０    制御部
１４０    メモリ管理部
１５０    メモリインターフェース部
１６０    格納部
１７０    メモリ
１８０    拡張メモリ
【図１】
2008130092.tif 000003
【図２】
2008130092.tif 000004
【図３】
2008130092.tif 000005
【図４】
2008130092.tif 000006
【図５】
2008130092.tif 000007
【図６】
2008130092.tif 000008