(57)【特許請求の範囲】
【請求項１】
メモリの物理アドレスとシステムの論理アドレスとを動的に関係づけて管理するメモリ管理システムにおいて、
前記メモリの物理アドレス空間を前記システムの論理アドレスから特定可能な複数のゾーンに分割する分割手段と、
前記分割手段で分割された各ゾーン内で前記メモリの物理アドレスとシステムの論理アドレスとの関係づけを動的に変化させるアドレス管理手段と、
前記複数のゾーンすべての数より少ない数のゾーン内での前記メモリの物理アドレスとシステムの論理アドレスとの関係づけを管理する管理テーブルと、
データアクセス要求に伴なって与えられる前記システムの論理アドレスから特定されるゾーンに関する前記メモリの物理アドレスとシステムの論理アドレスとの関係づけが前記管理テーブルに存在した場合、前記与えられたシステムの論理アドレスに関係づけられた前記メモリの物理アドレスを前記管理テーブルから得て前記データアクセスを実行し、前記管理テーブルに存在しなかった場合、前記与えられたシステムの論理アドレスから特定されるゾーン内を順次に検索して前記データアクセスを実行するアクセス制御手段と、
を具備してなることを特徴とするメモリ管理システム。
【請求項２】
前記与えられたシステムの論理アドレスから特定されるゾーンに関する前記メモリの物理アドレスとシステムの論理アドレスとの関係づけが前記管理テーブルに存在せずに、前記与えられたシステムの論理アドレスから特定されるゾーン内を順次に検索して行うデータアクセスが前記アクセス制御手段によって実行された場合、前記管理テーブルを作成し直す管理テーブル最適化手段をさらに具備してなることを特徴とする請求項１記載のメモリ管理システム。
【請求項３】
メモリの物理アドレスとシステムの論理アドレスとの関係づけを管理テーブルで管理するメモリ管理システムのデータ管理方法において、
前記メモリの物理アドレス空間を前記システムの論理アドレスから特定可能な複数のゾーンに分割するステップと、
前記分割した複数のゾーンすべての数より少ない数のゾーン分だけ前記メモリの物理アドレスとシステムの論理アドレスとの関係づけを前記管理テーブルに管理させるステップと、
データアクセス要求に伴なって与えられる前記システムの論理アドレスから特定されるゾーンに関する前記メモリの物理アドレスとシステムの論理アドレスとの関係づけが前記管理テーブルに存在しなかった場合、前記与えられたシステムの論理アドレスから特定されるゾーン内を順次に検索して行うデータアクセスが実行された後に、前記管理テーブルを作成し直すステップと、
を有することを特徴とするデータ管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、たとえばフラッシュメモリなどの半導体メモリに格納されるデータを管理するメモリ管理システムおよびこのメモリ管理システムに適用されるデータ管理方法に係り、特にメモリの物理アドレスとシステムの論理アドレスとの関係づけを管理するために必要とするデータ管理領域を大幅に縮小させるメモリ管理システムおよびデータ管理方法に関する。
【０００２】
【従来の技術】
フラッシュメモリなどの半導体メモリは、バイト単位でのデータ読み出しを可能としているが、データ書き込みに関しては、一定量のデータ単位（以下、このデータ単位をブロックと称する）で行なわれることが多い。一方、これらの半導体メモリには、データの書き替え回数に上限があるため、特定アドレスのブロックのみを局所的に書き替えると、そのブロックのみ書き替え回数の上限を越えてしまうことになり、結果として半導体メモリ全体の破損を招いてしまうことになっていた。
【０００３】
このため、従来においては、ホストシステムで用いられる論理アドレスとメモリデバイス固有の物理アドレスとの関係を動的に変化させることによって、特定アドレスのブロックのみの局所的な書き替えを防止するといった方法が取られていた。
【０００４】
たとえば、図４に示すようなメモリデバイス１０では、ＲＡＭ（ＲｕｎｄａｍＡｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２上の管理テーブル１に格納される、ホストシステムの論理アドレスと半導体メモリ２の物理アドレスとの関係を、メモリコントローラ１１が動的に変化させることによって、特定アドレスのブロックのみの局所的な書き替えを防止し、また、図５に示すようなパーソナルコンピュータ２０では、主メモリ２４上の管理テーブル１に格納される、ＭＰＵ２１によって実行制御されるオペレーティングシステム２２の論理アドレスと半導体メモリ２の物理アドレスとの関係を、このオペレーティングシステム２２の制御下で動作するデバイスコントローラ２３が動的に変化させることによって、特定アドレスのブロックのみの局所的な書き替えを防止する。
【０００５】
この論理アドレスと物理アドレスとの関係づけを管理するための管理テーブル１は、図６に示すように、論理アドレスｘと物理アドレスｙとの対によって構成されている。したがって、データアクセス要求に伴なってシステムの論理アドレスか与えられると、メモリコントローラ１１もしくはデバイスコントローラ２３は、この管理テーブル１を参照してその論理アドレスにその時点で関係づけらている物理アドレスを取得し、この取得した物理アドレスによって半導体メモリ２に対するデータアクセスを実行する。
【０００６】
【発明が解決しようとする課題】
ところで、近年の半導体メモリの製造技術向上に伴なって、その記憶容量は日々増加の一途を辿っている。一方、前述した論理アドレスと物理アドレスとの関係を動的に変化させることによって特定アドレスのブロックのみの局所的な書き替えを防止する方法では、管理テーブル１が半導体メモリ２のブロック単位でそのブロックの論理アドレスを管理するために、半導体メモリ２のブロック数が増加すればする程、管理テーブル１として費やされる領域、すなわち、物理アドレスと論理アドレスとの関係づけを管理するために必要とするデータ管理領域が増大してしまうといった問題があった。また、管理テーブル１を読み込むためのアクセス時間が大きくなってしまうという問題も発生する。
【０００７】
この発明はこのように実情に鑑みてなされたものであり、メモリの物理アドレスとシステムの論理アドレスとの関係づけを管理するために必要とするデータ管理領域を大幅に縮小させるメモリ管理システムおよびデータ管理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
前述した目的を解決するために、この発明では、たとえばフラッシュメモリなどの半導体メモリの物理アドレス空間を複数のゾーンに分割し、メモリの物理アドレスとシステムの論理アドレスとの関係づけをこの分割されたゾーン内で動的に変化させるようにしたものである。このとき、これらの各ゾーンは、システムの論理アドレスからいずれかが特定できるように分割される。
【０００９】
このように、物理アドレス空間を複数のゾーンに分割することにより、たとえばメモリの物理アドレスとシステムの論理アドレスとの関係づけを管理するための管理データなどを設けなくとも、データアクセス要求に伴なって与えられるシステムの論理アドレスから特定されるゾーン内のみを検索するだけで（物理アドレス空間すべてを検索するようなことなしに）、データアクセスを実行することが可能となる。
【００１０】
また、管理テーブルを設けるときであっても、メモリの物理アドレスとシステムの論理アドレスとの関係づけをたとえば一つのゾーン分のみ管理すれば、同じゾーン内のデータへの連続したアクセスが期待される場合には、従来のようにすべてのブロックに対応させて管理テーブルを作成するのと同様の効果を得ることができる。
【００１１】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態を説明する。図１は、同実施形態に係るメモリ管理システムの概略構成を示す図である。
図１に示したように、同実施形態のメモリ管理システム３０は、アクセス制御部３１と管理テーブル最適化部３２とを有してなる。
【００１２】
アクセス制御部３１は、データアクセス要求に伴なって論理アドレスを与えられたときに、まず、この論理アドレスに関係づけられた半導体メモリ２の物理アドレスの取得を管理テーブル１を参照することによって試みる。図２はこの管理テーブル１の構成を説明するための図である。
【００１３】
図２に示すように、この実施形態のメモリ管理システム３０では、半導体メモリ２の物理アドレス空間を複数のゾーンに分割して管理する。なお、これらの各ゾーンは、与えられた論理アドレスから、いずれかのゾーンが特定できるように分割される。なお、この半導体メモリ２のブロックそれぞれには、関係づけられた論理アドレスが付加されている。一方、管理テーブル１には、一つのゾーン分の物理アドレスｘと論理アドレスｙとの関係づけが管理される。すなわち、たとえば半導体メモリ２のブロック数がいくつであっても、またいくら増加しても、この実施形態の管理テーブル１によって費やされる記憶容量は変動することがない。そして、このように管理テーブル１を構成することが、まさにこの発明の特徴とするところである。
【００１４】
アクセス制御部３１は、与えられた論理アドレスから特定されるゾーンに関する物理アドレスｘと論理アドレスｙとの関係づけが管理テーブル１に管理されているかどうか判定し（ゾーンｚを参照することによって判定する）、管理されているときには、管理テーブル１からその論理アドレスに関係づけられた物理アドレスを取得して、その取得した物理アドレスを用いて要求されたデータアクセスを実行する。
【００１５】
一方、管理されていなかったとき、アクセス制御部３１は、与えられた論理アドレスから特定される半導体メモリ２のゾーン内を順次に検索することにより、要求されたデータアクセスを実行する。このとき、アクセス制御部３１は、管理テーブル１に管理されている以外のゾーンにアクセスした旨を管理テーブル最適化部３２に通知する。
【００１６】
また、管理テーブル最適化部３２は、アクセス制御部３１から通知されたゾーンに関する物理アドレスｘと論理アドレスｙとの関係づけを管理するように、管理テーブル１を作り直すものである。
【００１７】
なお、このアクセス制御部３１および管理テーブル最適化部３２は、ファームウェアとして構成されるものであってもよいし、ＭＰＵによって実行制御されるソフトウェアとして構成されるものであってもよい。
【００１８】
次に、この実施形態のメモリ管理システム３０の動作を図３に示すフローチャートを参照して説明する。
アクセス制御部３１は、データアクセス要求に伴なって論理アドレスを与えられると（ステップＳ１）、この与えられた論理アドレスから特定されるゾーンに関する物理アドレスと論理アドレスとの関係づけが管理テーブル１に管理されているかどうか判定し（ステップＳ２）、管理されているときには（ステップＳ２のＹＥＳ）、管理テーブル１からその論理アドレスに関係づけられた物理アドレスを取得して、その取得した物理アドレスを用いて要求されたデータアクセスを実行する（ステップＳ３）。
【００１９】
一方、管理されていなかったとき（ステップＳ２のＮＯ）、アクセス制御部３１は、与えられた論理アドレスから特定される半導体メモリ２のゾーン内を順次に検索することにより、要求されたデータアクセスを実行する（ステップＳ４）。このとき、アクセス制御部３１は、管理テーブル１に管理されている以外のゾーンにアクセスした旨を管理テーブル最適化部３２に通知する。そして、この通知を受け取った管理テーブル最適化部３２は、アクセス制御部３１から通知されたゾーンに関する物理アドレスと論理アドレスとの関係づけを管理するように管理テーブル１を作り直す（ステップＳ５）。
【００２０】
このように、この実施形態のメモリ管理システム３によれば、半導体メモリ２の記憶容量が増加した場合であっても、管理テーブル１が費やす記憶容量を増加させることがなく、同じゾーン内のデータへの連続したアクセスが期待される場合には、すべてのブロックに対応させて管理テーブル１を作成するのと同様の効果を得ることができる。
【００２１】
また、管理テーブル１に該当するゾーンの管理データが管理されていなかった場合であっても、半導体メモリ２のゾーン内のみを検索するだけでデータアクセスが実行されるため、処理時間を大幅に増加させることもない。
【００２２】
さらに、半導体メモリ２の物理アドレス空間を論理アドレスから特定可能な複数のゾーンに分割することにより、半導体メモリ２のゾーン内のみを検索するだけでデータアクセスが実行可能となることから、たとえば管理データ１をまったく持たない場合であっても、ある程度の応答時間内でデータアクセスが実行されることになる。
【００２３】
また、管理テーブル１を所定数のゾーン分の物理アドレスと論理アドレスとの関係づけを管理するように構成すれば、さらに効率的なデータアクセスが実行されることになる。
【００２４】
【発明の効果】
以上詳述したように、この発明によれば、たとえばフラッシュメモリなどの半導体メモリの物理アドレス空間を複数のゾーンに分割し、メモリの物理アドレスとシステムの論理アドレスとの関係づけをこの分割されたゾーン内で動的に変化させるようにしたため、メモリの物理アドレスとシステムの論理アドレスとの関係づけを管理するために必要とするデータ管理領域を大幅に縮小させることが可能となる。そして、このデータ管理領域の縮小は、これに必要なメモリ容量の低減とアクセスに必要な時間の短縮に帰結する。
【図面の簡単な説明】
【図１】この発明の実施形態に係るメモリ管理システムの概略構成を示す図。
【図２】同実施形態の管理テーブルの構成を説明するための図。
【図３】同実施形態のメモリ管理システムの動作を説明するためのフローチャート。
【図４】従来のメモリデバイスでのデータ管理方法を説明するための図。
【図５】従来のパーソナルコンピュータでのデータ管理方法を説明するための図。
【図６】従来の管理テーブルの構成を説明するための図。
【符号の説明】
１…管理テーブル
２…半導体メモリ
３０…メモリ管理システム
３１…アクセス制御部
３２…管理テーブル最適化部
【図１】
0003772003.tif 000002
【図２】
0003772003.tif 000003
【図３】
0003772003.tif 000004
【図４】
0003772003.tif 000005
【図５】
0003772003.tif 000006
【図６】
0003772003.tif 000007