【手続補正書】
【提出日】平成19年1月31日(2007.1.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストシステムから与えられるアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリ内の物理ブロックに付けられている物理ブロックアドレスに仮想ブロックアドレスを割り当てる初期設定手段と、
前記ホストシステム側のアドレス空間における論理ブロックアドレスが割り当てられている複数ブロックの領域で構成された論理ゾーンを形成する論理ゾーン形成手段と、
連続する前記仮想ブロックアドレスが割り当てられている複数ブロックの領域で構成された仮想ゾーンを形成する仮想ゾーン形成手段と、
前記論理ゾーンと前記仮想ゾーンとの対応関係を管理するゾーン管理手段と、
前記論理ゾーンに含まれる前記論理ブロックアドレスと、該論理ゾーンと対応する前記仮想ゾーンに含まれる前記仮想ブロックアドレスとの対応関係を管理するアドレス管理手段と、
前記初期設定手段によって設定された割り当てに従って、前記仮想ブロックアドレスを、該仮想ブロックアドレスが割り当てられている前記物理ブロックアドレスに変換するアドレス変換手段とを備え、
前記初期設定手段は、前記各仮想ゾーンに割り当てられる不良の物理ブロックの個数が均等化されるように、前記物理ブロックアドレスに前記仮想ブロックアドレスを割り当てることを特徴とするメモリコントローラ。
【請求項２】
前記物理ブロックアドレスに対する前記仮想ブロックアドレスの割り当てを記述したテーブルを複数個記憶しているテーブル記憶手段を備え、
前記初期設定手段は、複数個の前記テーブルの中から1個のテーブルを選択し、
前記アドレス変換手段は、前記初期設定手段によって選択された前記テーブルを用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
１対１の写像を生成する関数を複数個記憶している関数記憶手段を備え、
前記初期設定手段は、複数個の前記関数の中から1個の関数を選択し、
前記アドレス変換手段は、前記初期設定手段によって選択された前記関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項１に記載のメモリコントローラ。
【請求項４】
前記アドレス変換手段は、１対１の写像を生成する周期性を有する写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換し、
前記初期設定手段は、前記アドレス変換手段が前記写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換するときの変換回数を設定することを特徴とする請求項１に記載のメモリコントローラ。
【請求項５】
前記写像関数は、テント写像を生成する写像関数であることを特徴とする請求項４に記載のメモリコントローラ。
【請求項６】
前記テント写像を生成する写像関数の循環周期がＴであり、前記仮想ブロックアドレスが割り当てられている前記フラッシュメモリ内の物理ブロックの個数がＮであるときに、ＴとＮが
Ｎ＝２（Ｔ−１）
の関係を満たす、
ことを特徴とする請求項５に記載のメモリコントローラ。
【請求項７】
請求項１乃至６のいずれか１項に記載のメモリコントローラと、物理ブロック単位で記憶データの消去が行われるフラッシュメモリとを備えることを特徴とするフラッシュメモリシステム。
【請求項８】
ホストシステムから与えられるアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリ内の物理ブロックに付けられている物理ブロックアドレスに仮想ブロックアドレスを割り当てる初期設定ステップと、
前記ホストシステムから与えられるアドレスに基づいてアクセス対象領域に対応する論理ブロックアドレスを求める演算ステップと、
前記論理ブロックアドレスが割り当てられている複数ブロックの領域で構成された論理ゾーンと、連続する前記仮想ブロックアドレスが割り当てられている複数ブロックの領域で構成された仮想ゾーンとの対応関係に従って、前記論理ゾーンに含まれる前記論理ブロックアドレスを、該論理ゾーンと対応する前記仮想ゾーンに含まれる前記仮想ブロックアドレスに変換する第1の変換ステップと、
前記初期設定ステップで設定された割り当てに従って、前記仮想ブロックアドレスを、該仮想ブロックアドレスが割り当てられている物理ブロックアドレスに変換する第２の変換ステップを含み、
前記初期設定ステップでは、前記各仮想ゾーンに割り当てられる不良の物理ブロックの個数が均等化されるように、前記物理ブロックアドレスに前記仮想ブロックアドレスを割り当てることを特徴とするフラッシュメモリの制御方法。
【請求項９】
前記初期設定ステップでは、前記物理ブロックアドレスに対する前記仮想ブロックアドレスの割り当てを記述した複数個のテーブルの中から1個のテーブルを選択し、
前記第２の変換ステップでは、前記初期設定ステップで選択された前記テーブルを用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項８に記載のフラッシュメモリの制御方法。
【請求項１０】
前記初期設定ステップでは、１対１の写像を生成する複数個の関数の中から1個の関数を選択し、
前記第２の変換ステップでは、前記初期設定ステップで選択された前記関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換することを特徴とする請求項８に記載のフラッシュメモリの制御方法。
【請求項１１】
前記第２の変換ステップでは、１対１の写像を生成する周期性を有する写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換し、
前記初期設定ステップでは、前記第２の変換ステップで前記写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換するときの変換回数を設定することを特徴とする請求項８に記載のフラッシュメモリの制御方法。
【請求項１２】
前記写像関数は、テント写像を生成する写像関数であることを特徴とする請求項１１に記載のフラッシュメモリの制御方法。
【請求項１３】
前記テント写像を生成する写像関数の循環周期がＴであり、前記仮想ブロックアドレスが割り当てられている前記フラッシュメモリ内の物理ブロックの個数がＮであるときに、ＴとＮが
Ｎ＝２（Ｔ−１）
の関係を満たす、
ことを特徴とする請求項１２に記載のフラッシュメモリの制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記目的を達成するために、本発明のメモリコントローラは、ホストシステムから与えられるアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記フラッシュメモリ内の物理ブロックに付けられている物理ブロックアドレスに仮想ブロックアドレスを割り当てる初期設定手段と、
前記ホストシステム側のアドレス空間における論理ブロックアドレスが割り当てられている複数ブロックの領域で構成された論理ゾーンを形成する論理ゾーン形成手段と、
連続する前記仮想ブロックアドレスが割り当てられている複数ブロックの領域で構成された仮想ゾーンを形成する仮想ゾーン形成手段と、
前記論理ゾーンと前記仮想ゾーンとの対応関係を管理するゾーン管理手段と、
前記論理ゾーンに含まれる前記論理ブロックアドレスと、該論理ゾーンと対応する前記仮想ゾーンに含まれる前記仮想ブロックアドレスとの対応関係を管理するアドレス管理手段と、
前記初期設定手段によって設定された割り当てに従って、前記仮想ブロックアドレスを、該仮想ブロックアドレスに割り当てられている前記物理ブロックアドレスに変換するアドレス変換手段とを備え、
前記初期設定手段は、前記各仮想ゾーンに割り当てられる不良の物理ブロックの個数が均等化されるように、前記物理ブロックアドレスに前記仮想ブロックアドレスを割り当てることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
例えば、前記物理ブロックアドレスに対する前記仮想ブロックアドレスの割り当てを記述したテーブルを複数個記憶しているテーブル記憶手段を備え、前記初期設定手段は、複数個の前記テーブルの中から1個のテーブルを選択し、前記アドレス変換手段は、前記初期設定手段によって選択された前記テーブルを用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
１対１の写像を生成する関数を複数個記憶している関数記憶手段を配置し、前記初期設定手段は、複数個の前記関数の中から1個の関数を選択し、前記アドレス変換手段は、前記初期設定手段によって選択された前記関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換するようにしてもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
例えば、前記アドレス変換手段は、１対１の写像を生成する周期性を有する写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換し、前記初期設定手段は、アドレス変換手段が前記写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換するときの変換回数を設定する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
前記写像関数は、例えば、テント写像を生成する写像関数である。例えば、前記テント写像を生成する写像関数の循環周期がＴであり、前記仮想ブロックアドレスが割り当てられている前記フラッシュメモリ内の物理ブロックの個数がＮであるときに、ＴとＮが
Ｎ＝２（Ｔ−１）  の関係を満たす。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明のフラッシュメモリシステムは、上述のメモリコントローラと、物理ブロック単位で記憶データの消去が行われるフラッシュメモリとを備えることを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明のフラッシュメモリの制御方法は、
ホストシステムから与えられるアドレスに基づいて、物理ブロック単位で記憶データの消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリ内の物理ブロックに付けられている物理ブロックアドレスに仮想ブロックアドレスを割り当てる初期設定ステップと、
前記ホストシステムから与えられるアドレスに基づいてアクセス対象領域に対応する論理ブロックアドレスを求める演算ステップと、
前記論理ブロックアドレスが割り当てられている複数ブロックの領域で構成された論理ゾーンと、連続する前記仮想ブロックアドレスが割り当てられている複数ブロックの領域で構成された仮想ゾーンとの対応関係に従って、前記論理ゾーンに含まれる前記論理ブロックアドレスを、該論理ゾーンと対応する前記仮想ゾーンに含まれる前記仮想ブロックアドレスに変換する第1の変換ステップと、
前記初期設定ステップで設定された割り当てに従って、前記仮想ブロックアドレスを、該仮想ブロックアドレスに割り当てられている物理ブロックアドレスに変換する第２の変換ステップを含み、
前記初期設定ステップでは、前記各仮想ゾーンに割り当てられる不良の物理ブロックの個数が均等化されるように、前記物理ブロックアドレスに前記仮想ブロックアドレスを割り当てることを特徴とする。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
例えば、前記初期設定ステップでは、前記物理ブロックアドレスに対する前記仮想ブロックアドレスの割り当てを記述した複数個のテーブルの中から1個のテーブルを選択し、前記第２の変換ステップでは、前記初期設定ステップで選択された前記テーブルを用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
例えば、前記初期設定ステップでは、１対１の写像を生成する複数個の関数の中から1個の関数を選択し、前記第２の変換ステップでは、前記初期設定ステップで選択された前記関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
例えば、前記第２の変換ステップでは、１対１の写像を生成する周期性を有する写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換し、前記初期設定ステップでは、前記第２の変換ステップで前記写像関数を用いて前記仮想ブロックアドレスを前記物理ブロックアドレスに変換するときの変換回数を設定する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
例えば、前記写像関数は、テント写像を生成する写像関数である。例えば、前記テント写像を生成する写像関数の循環周期がＴであり、前記仮想ブロックアドレスが割り当てられている前記フラッシュメモリ内の物理ブロックの個数がＮであるときに、ＴとＮが  Ｎ＝２（Ｔ−１）  の関係を満たす。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】削除
【補正の内容】