(57)【特許請求の範囲】
【請求項１】
メモリ管理装置本体の起動時にメモリデバイス上のメモリ空間を所定サイズの複数のブロックで各々構成した複数のゾーンに分割し、分割した該ゾーン毎の個々のブロックを、物理アドレスと論理アドレスが対応付けられたアサインブロックと、物理アドレスと論理アドレスが対応付けられていない未アサインブロックと、に１ビットの情報を用いて識別した識別テーブルを生成する手段と、
前記生成された識別テーブルを前記メモリデバイスへのデータライト時に参照し、前記メモリ空間内の前記複数のゾーンのうちで前記未アサインブロックの在る１つのゾーンを選択するとともに、選択した当該１つのゾーン中の全てのブロックにおける物理アドレスと論理アドレスとを対応付けした１ゾーン分の領域のみを有する変換テーブルを生成する手段と、
前記生成された変換テーブルを参照し、前記選択したゾーン中で前記未アサインブロックに該当していたブロックの論理アドレスに対応する物理アドレスを取得する手段と
を具備することを特徴とするメモリ管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体メモリデバイス等に対し例えばデータの書込みを行うためのメモリ管理装置に関する。
【０００２】
【従来の技術】
従来、フラッシュメモリ等の半導体メモリデバイス（以下、メモリデバイスという）からのデータの読出しは、一般に、バイト単位で行われているが、このメモリデバイスへのデータの書込みは、一定量のデータ単位（以下、ブロックという）で行われることがある。この場合、メモリデバイスの特定のアドレスのブロックの書換えが繰返されると、その特定のブロックが消耗し、メモリデバイスが破損する場合があるので、この防御策として、ホストシステムに対応する論理アドレスとメモリデバイス固有の物理アドレスとの関係を動的に変化させ、特定のブロックに書換えが集中することを防いでいる。
【０００３】
図４に、この論理・物理アドレス変換方法の一例を示す。この変換方法、つまりメモリ管理方法は、メモリデバイス５０のデータ書込み単位であるブロック５１に、ブロック情報用のデータ領域５２を付加し、このデータ領域５２にブロック５１に対応した論理アドレス５３を設定する。そして、ホストシステムの起動時に、このデータを読出し、物理アドレス５４と論理アドレス５３とを関連付けた管理テーブル５５を作成するとともに、データアクセス時に、この管理テーブル５５を参照して、論理・物理アドレス変換を行う。
【０００４】
そして、データ書込みの際に、同じブロックを二重に割当てないようにするため、書込みを行う前にその論理ブロックが物理ブロックに割当てられていない未アサインブロックであるか、割当てられているアサインブロックであるかの判定を行う必要がある。メモリデバイスの特定のブロック５１が未アサインブロック（ここでは、物理アドレス４及び物理アドレス６に対応するブロックが未アサインブロックである）である場合、管理テーブル５５の論理アドレス５４に対応する物理アドレス５１に“ＦＦ”（ここでは８ビットの情報で構成）が書込まれる。ホストシステムは、管理テーブル５５の物理アドレス５１の情報を確認し、未アサインブロックの検出を行う。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来のメモリ管理方法では、メモリデバイスの未アサインブロックの検出を行う場合、メモリデバイスの全ブロックに対応した管理テーブルを作成する必要がある。この方法を採用する場合、ブロック数（容量）が増加すると、それに伴い、管理テーブルの情報量も増加してしまう。このため、管理テーブルを作成するために多くのバッファが必要になるといった問題が発生する。
【０００６】
そこで、この管理テーブルを小さくする方法として、図５に示すように、メモリデバイスを複数のゾーンに分割する方法がある。この方法は、例えば４つのブロックを１つのまとまりとしたゾーンを設定するものである。したがって、ブロックは、メモリデバイス上のアドレスにより、複数のゾーン５６に分割される。論理・物理アドレス変換も、各ゾーン内のみで行われる。この方法で作成される管理テーブル５７は、メモリデバイスのブロック単位で、論理・物理アドレス変換用の空間を持ち、メモリデバイスの１ゾーン分の変換領域を有する。
【０００７】
したがって、このメモリ管理方法は、メモリデバイスの未アサインブロックの検出を行う場合、メモリデバイスを複数のゾーンで分割し１ゾーン分の管理テーブルのみを作成するため、管理テーブルのサイズを小さくすることができる。
【０００８】
しかしながら、図５に示すように、システムが最初に作成したゾーン（ここではゾーン０）の管理テーブル５７の中に未アサインブロックない場合、最初に作成したゾーンと異なる新たなゾーンの管理テーブルを再度作成する必要があるので、未アサインブロックの検出に時間が掛かってしまうという問題があった。
【０００９】
本発明は、このような課題を解決するためになされたもので、大きなバッファを必要とすることなく、高速でメモリデバイスへのデータの書込みが行えるメモリ管理装置を提供する。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本発明のメモリ管理装置は、メモリ管理装置本体の起動時にメモリデバイス上のメモリ空間を所定サイズの複数のブロックで各々構成した複数のゾーンに分割し、分割した該ゾーン毎の個々のブロックを、物理アドレスと論理アドレスが対応付けられたアサインブロックと、物理アドレスと論理アドレスが対応付けられていない未アサインブロックと、に１ビットの情報を用いて識別した識別テーブルを生成する手段と、前記生成された識別テーブルを前記メモリデバイスへのデータライト時に参照し、前記メモリ空間内の前記複数のゾーンのうちで前記未アサインブロックの在る１つのゾーンを選択するとともに、選択した当該１つのゾーン中の全てのブロックにおける物理アドレスと論理アドレスとを対応付けした１ゾーン分の領域のみを有する変換テーブルを生成する手段と、前記生成された変換テーブルを参照し、前記選択したゾーン中で前記未アサインブロックに該当していたブロックの論理アドレスに対応する物理アドレスを取得する手段とを具備することを特徴とする。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づき説明する。
【００１７】
図１は本発明の実施形態にかかるメモリ管理装置を概略的に示すブロック図である。
【００１８】
同図に示すように、このメモリ管理装置は、フラッシュメモリ等のメモリデバイス１１へデータの書込みを行う場合に有用なものであり、メモリデバイス１１からのデータの読出しやメモリデバイス１１へのデータの書込み等のアクセスを行うためのホストシステム１２と、メモリデバイス１１上のメモリ空間が所定サイズの複数のゾーンに分割され、分割されたゾーン毎にアサインブロックと未アサインブロックとが識別された検出テーブル１３と、メモリデバイス１１へのデータライト時等に、検出テーブル１３が参照されつつ所定のゾーンが選択され、選択されたゾーンの中の個々のブロックの物理アドレスと論理アドレスとが対応付けられて生成される管理テーブル１４と、ホストシステム１２から要求される書込み動作、又は読出し動作等を認識して実行する制御部１５とから構成されている。
【００１９】
検出テーブル１３は、図２に示すように、メモリデバイス１１の４ブロックが１ゾーンとして構成されており、メモリデバイス１１の未アサインブロック及びアサインブロックの管理をブロック単位で行う。検出テーブル１３には、メモリデバイス１１のブロックがアサインブロックである場合には“１”、ブロックが未アサインブロックである場合には“０”のフラグが立てられている。したがって、ホストシステム１２は、検出テーブル１３にアクセスすることで、そのブロックが未アサインブロックであるか否かを認識することができる。これにより、１ブロック当たりの管理を例えば８ビット等の多数ビットで管理する必要はなく、１ブロック当たり１ビットにて管理されることになり、小さなバッファでブロック管理が行える。
【００２０】
次に、このように構成されたメモリ管理装置により、実際にメモリデバイス１１へデータの書込みが行われる場合について説明する。
【００２１】
制御部１５がホストシステム１２からのデータの書込み要求を認識すると、制御部１５は、検出テーブル１３にアクセスを開始する。制御部１５は、図２に示すように、検出テーブル１３より例えばゾーン１のブロック０とブロック２とが未アサインブロックであることを検出すると、図３に示すように、ゾーン１の中の個々の物理アドレスと論理アドレスとを対応付ける管理テーブル１４を生成する。制御部５は、生成された管理テーブル１４を参照して未アサインブロックであるブロック０とブロック２の論理アドレスに対応する物理アドレスを取得し、取得したこのアドレスに基づいてデータの書込みを行う。
【００２２】
このように、本実施形態のメモリ管理装置によれば、管理装置本体の起動時等に、メモリデバイス１１上のメモリ空間を所定サイズの複数のゾーンに分割し、分割したゾーン毎にアサインブロックと未アサインブロックとを識別した検出テーブル１３を生成することができる。さらに、本実施形態のメモリ管理装置は、メモリデバイス１１への例えばデータライト時等に、検出テーブル１３が参照され未アサインブロックの在るゾーンが選択されるとともに、選択されたゾーンの中の個々の物理アドレスと論理アドレスとを対応付けるための管理テーブル１４が生成される。
【００２３】
したがって、本実施形態のメモリ管理装置によれば、この生成された管理テーブル１４を参照して未アサインブロックの論理アドレスに対応する物理アドレスを迅速に取得できるとともに、未アサインブロックの在るゾーンの変換テーブルのみを生成できるので、大きなバッファを必要とすることなく、しかも高速でメモリデバイス１１へデータの書込みを実行することができる。
【００２４】
なお、本実施形態のメモリ管理装置によりメモリデバイス１１よりデータ読出しを行う場合においては、制御部１５がホストシステム１２からのデータの読出し要求を認識すると、制御部１５は、検出テーブル１３を介して管理テーブル１４をアクセスすることにより、ホストシステム１２から入力される論理アドレスに対応するメモリデバイス１固有の物理アドレスを認識し、メモリデバイス１１よりデータの読出を行うことができる。
【００２５】
【発明の効果】
以上説明したように、本発明のメモリ管理装置によれば、例えば、管理装置本体の起動時等に、メモリデバイス上のメモリ空間を所定サイズの複数のゾーンに分割しゾーン毎にアサインブロックと未アサインブロックとを識別した識別テーブルを生成することができる。さらに、本発明は、メモリデバイスへのデータライト時に、識別テーブルが参照され未アサインブロックの在るゾーンが選択されるとともに、選択されたゾーンの中の個々のブロックの物理アドレスと論理アドレスとを対応付けるための変換テーブルが生成される。
【００２６】
したがって、本発明によれば、この生成された変換テーブルを参照して未アサインブロックの論理アドレスに対応する物理アドレスを迅速に取得できるとともに、未アサインブロックの在るゾーンの変換テーブルのみを生成できるので、バッファの使用を極力抑えているにも拘らず、高速でメモリデバイスへデータの書込みを行うことができる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかるメモリ管理装置を概略的に示すブロック図。
【図２】図１のメモリ管理装置によって生成される検出テーブルを示す図。
【図３】図１のメモリ管理装置によって生成される管理テーブルを示す図。
【図４】従来のメモリ管理装置によって生成される管理テーブルを示す図。
【図５】従来のメモリ管理装置によって生成される他の管理テーブルを示す図。
【符号の説明】
１１……メモリデバイス
１２……ホストシステム
１３……検出テーブル
１４……管理テーブル
１５……制御部
【図１】
0004250250.tif 000002
【図２】
0004250250.tif 000003
【図３】
0004250250.tif 000004
【図４】
0004250250.tif 000005
【図５】
0004250250.tif 000006