JP 2021-68129 A 2021.4.30(57)【要約】【課題】物理ブロック間でデータが移し替えられた際に効率的にアドレスを管理することができる。
【解決手段】メモリコントローラ３は、ホストシステム
４からの命令に応答してフラッシュメモリ２へのアクセスを制御する。メモリコントローラ３は、フラッシュメ
モリ２に含まれる複数の物理ブロックにそれぞれ対応付
けられた管理情報に基づいて、複数の物理ブロックのうちからアクセス対象の物理ブロックを特定する。更に、メモリコントローラ３は、複数の物理ブロックのうちの一の物理ブロックに格納されているデータが、複数の物
理ブロックのうちの、一の物理ブロックとは別の物理ブ
ロックに移し替えられた場合、別の物理ブロックに対応付けられ管理情報を、一の物理ブロックに対応付けられ管理情報に変更する。
【選択図】図１

(2)JP 2021-68129 A 2021.4.30【特許請求の範囲】【請求項１】
ホストシステムからの命令に応答してフラッシュメモリへのアクセスを制御するメモリ
コントローラであって、
前記フラッシュメモリへのアクセスを制御するアクセス処理と、前記アクセス処理に伴い記憶領域を管理する領域管理とを、実行するマイクロプロセッサを備え、前記アクセス処理では、前記フラッシュメモリに含まれる複数の物理ブロックにそれぞれ対応付けられた管理情報に基づいて、前記複数の物理ブロックのうちからアクセス対象の物理ブロックを特定し、前記領域管理では、前記複数の物理ブロックのうちの一の物理ブロックに格納されているデータが、前記複数の物理ブロックのうちの、前記一の物理ブロックとは別の物理ブロックに移し替えられた場合、前記別の物理ブロックに対応付けられた管理情報を、前記一の物理ブロックに対応付けられた管理情報に変更する、
メモリコントローラ。
【請求項２】
前記アクセス処理では、前記フラッシュメモリに格納されているそれぞれのデータに対応する論理アドレスと前記それぞれのデータの格納場所との対応関係を、前記管理情報を用いて定めた第１のテーブルと、前記複数の物理ブロックと前記管理情報との対応関係を定めた第２のテーブルと、に基づいて、前記フラッシュメモリにおけるアクセス対象のデータの格納場所を特定し、前記領域管理では、前記一の物理ブロックに格納されているデータが前記別の物理ブロックに移し替えられた場合、前記第２のテーブルで前記別の物理ブロックに対応付けられた管理情報を前記一の物理ブロックに対応付けられた管理情報に変更する、
請求項１に記載のメモリコントローラ。
【請求項３】
前記第１のテーブルは、前記それぞれのデータに対応する論理ページと、前記それぞれのデータが格納された物理ページとの対応関係を、前記管理情報を用いて定めており、
前記アクセス処理では、アクセス対象の前記論理ページに対応する物理ページが含まれる物理ブロックを前記第２のテーブルに基づいて特定し、前記物理ページにアクセスする、
請求項２に記載のメモリコントローラ。
【請求項４】
請求項１から３にいずれか１項に記載のメモリコントローラと、前記フラッシュメモリと、を備えるフラッシュメモリシステム。
【発明の詳細な説明】【技術分野】【０００１】
本発明は、メモリコントローラ及びフラッシュメモリシステムに関する。
【背景技術】【０００２】
近年、フラッシュメモリの開発が盛んに行われ、不揮発性の記憶媒体として普及している。
【０００３】
フラッシュメモリを用いたメモリシステムでは、ホストシステムから与えられる論理ア
ドレスとフラッシュメモリ内の物理アドレスとの対応関係が管理される。例えば特許文献
１は、論理アドレスと物理アドレスとの対応関係を、データの読み出し動作及びデータの書き込み動作の処理単位であるページ単位で管理するメモリコントローラを開示している。
【先行技術文献】【特許文献】

10

20

30

40

50

(3)

JP 2021-68129 A 2021.4.30【０００４】【特許文献１】特開２０１２−６８７６５号公報【発明の概要】【発明が解決しようとする課題】【０００５】
フラッシュメモリを使用したシステムでは、例えばデータ化けが進んだ場合や、フラッ
シュメモリに格納されているデータを書き換える場合のように、データの消去動作の処理単位である物理ブロック間でデータが移し替えられることが頻繁に発生する。物理ブロック間でデータが移し替えられた場合、移し替えられたデータのアドレスを移し替え前後で的確に管理する必要がある。
【０００６】
しかしながら、物理ブロック間でデータが移し替えられる度に移し替えられた物理ブロ
ック内の全ての物理ページに格納されていたデータのアドレス管理情報を一つずつ更新すると、アドレス管理情報の更新量が多くなるため、システムのパフォーマンスが低下し、更にはフラッシュメモリの寿命を低下させることにつながる。そのため、物理ブロック間でデータが移し替えられた際に効率的にアドレスを管理することが求められている。
【０００７】
本発明は上記の実情に鑑みてなされたもので、物理ブロック間でデータが移し替えられた際に効率的にアドレスを管理することが可能なメモリコントローラ及びフラッシュメモ
リシステムを提供することを目的とする。
【課題を解決するための手段】【０００８】
上記目的を達成するため、本発明の第１の観点に係るメモリコントローラは、
ホストシステムからの命令に応答してフラッシュメモリへのアクセスを制御するメモリ
コントローラであって、
前記フラッシュメモリへのアクセスを制御するアクセス処理と、前記アクセス処理に伴い記憶領域を管理する領域管理とを、実行するマイクロプロセッサを備え、前記アクセス処理では、前記フラッシュメモリに含まれる複数の物理ブロックにそれぞれ対応付けられた管理情報に基づいて、前記複数の物理ブロックのうちからアクセス対象の物理ブロックを特定し、前記領域管理では、前記複数の物理ブロックのうちの一の物理ブロックに格納されているデータが、前記複数の物理ブロックのうちの、前記一の物理ブロックとは別の物理ブロックに移し替えられた場合、前記別の物理ブロックに対応付けられた管理情報を、前記一の物理ブロックに対応付けられた管理情報に変更する。
【０００９】
前記アクセス処理では、前記フラッシュメモリに格納されているそれぞれのデータに対応する論理アドレスと前記それぞれのデータの格納場所との対応関係を、前記管理情報を用いて定めた第１のテーブルと、前記複数の物理ブロックと前記管理情報との対応関係を定めた第２のテーブルと、に基づいて、前記フラッシュメモリにおけるアクセス対象のデータの格納場所を特定し、前記領域管理では、前記一の物理ブロックに格納されているデータが前記別の物理ブロックに移し替えられた場合、前記第２のテーブルで前記別の物理ブロックに対応付けられた管理情報を前記一の物理ブロックに対応付けられた管理情報に変更しても良い。
【００１０】
前記第１のテーブルは、前記それぞれのデータに対応する論理ページと、前記それぞれのデータが格納された物理ページとの対応関係を、前記管理情報を用いて定めており、
前記アクセス処理では、アクセス対象の前記論理ページに対応する物理ページが含まれる物理ブロックを前記第２のテーブルに基づいて特定し、前記物理ページにアクセスしても良い。
【００１１】

10

20

30

40

50

(4)

JP 2021-68129 A 2021.4.30

上記目的を達成するため、本発明の第２の観点に係るフラッシュメモリシステムは、上述のメモリコントローラと、前記フラッシュメモリと、を備える。
【発明の効果】【００１２】
本発明によれば、物理ブロック間でデータが移し替えられた際に効率的にアドレスを管理することができる。
【図面の簡単な説明】【００１３】【図１】本発明の実施形態に係るフラッシュメモリシステムのブロック図である。
【図２】実施形態に係るフラッシュメモリのアドレス空間の構造を概略的に示す図である。
【図３】実施形態において、ホストシステム側のアドレス空間とフラッシュメモリ側のア
ドレス空間との対応関係を示す図である。
【図４】実施形態における論物変換テーブルの例を示す図である。
【図５】実施形態における管理番号テーブルの例を示す図である。
【図６】実施形態に係るフラッシュメモリシステムにおいて実行されるデータ書き込み処理の流れを示すフローチャートである。
【図７】フラッシュメモリにデータが書き込まれた場合に図４に示した論物変換テーブルが更新された例を示す図である。
【図８】実施形態に係るフラッシュメモリシステムにおいて実行されるデータ移し替え処理の流れを示すフローチャートである。
【図９】物理ブロック間でデータが移し替えられた場合に図５に示した管理番号テーブルが更新された例を示す図である。
【図１０】仮想ブロックを管理するためのテーブルの例を示す図である。
【図１１】仮想ブロックを採用した場合の管理番号テーブルの例を示す図である。
【発明を実施するための形態】【００１４】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００１５】
図１は、本発明の実施形態に係るフラッシュメモリシステム１を概略的に示すブロック図である。図１に示すように、フラッシュメモリシステム１は、フラッシュメモリ２と、フラッシュメモリ２を制御するメモリコントローラ３と、を備える。メモリコントローラ
３は、内部バス１４を介してフラッシュメモリ２と接続されている。
【００１６】
フラッシュメモリシステム１は、外部バス１３を介してホストシステム４と接続されている。ホストシステム４は、いずれも図示しないが、ホストシステム４の全体の動作を制
御 す る た め の Ｃ Ｐ Ｕ （ Central Processing Unit） 、 フ ラ ッ シ ュ メ モ リ シ ス テ ム １ と の 情報の授受を担うコンパニオンチップ等を備える。ホストシステム４は、例えば、文字、音声、画像等の種々の情報を処理するパーソナルコンピュータ、デジタルスチルカメラ等の情報処理装置である。
【００１７】
メモリコントローラ３は、ホストシステム４からの命令に応答してフラッシュメモリ２へのアクセスを制御する。メモリコントローラ３は、図１に示すように、マイクロプロセ
ッ サ ６ と 、 ホ ス ト イ ン タ ー フ ェ ー ス ブ ロ ッ ク ７ と 、 Ｓ Ｒ Ａ Ｍ （ Static Random Access Memory） ８ と 、 バ ッ フ ァ ９ と 、 フ ラ ッ シ ュ メ モ リ イ ン タ ー フ ェ ー ス ブ ロ ッ ク １ ０ と 、 Ｅ Ｃ Ｃ（ Error Correcting Code） ブ ロ ッ ク １ １ と 、 Ｒ Ｏ Ｍ （ Read Only Memory） １ ２ と 、 を 備える。以下、各機能ブロックについて説明する。
【００１８】
マイクロプロセッサ６は、ＲＯＭ１２に記憶されているプログラムに従って、メモリコ

10

20

30

40

50

(5)

JP 2021-68129 A 2021.4.30

ントローラ３の全体の動作を制御する。例えば、マイクロプロセッサ６は、各種処理等を定義したコマンドセットをＲＯＭ１２から読み出してフラッシュメモリインターフェース
ブロック１０に供給し、フラッシュメモリインターフェースブロック１０に処理を実行させる。また、ＲＯＭ１２に記憶されているプログラムは、実際のプログラムをフラッシュ
メモリ２からＳＲＡＭ８に読み出すためのプログラム（ブートローダー）だけであってもよい。この場合、ＳＲＡＭ８に読み出されたプログラムに基づいて実際の制御が行われる。
【００１９】
ホストインターフェースブロック７は、ホストシステム４との間で行われるデータ、アドレス情報、ステータス情報、外部コマンド等の送受信を制御する。外部コマンドとは、ホストシステム４がフラッシュメモリシステム１に対して処理の実行を指示するためのコ
マンドである。ホストシステム４からフラッシュメモリシステム１に供給されるデータ等
は、ホストインターフェースブロック７を入口としてフラッシュメモリシステム１の内部（例えば、バッファ９）に取り込まれる。また、フラッシュメモリシステム１からホスト
システム４に供給されるデータ等は、ホストインターフェースブロック７を出口としてホストシステム４に供給される。
【００２０】
ＳＲＡＭ８は、フラッシュメモリ２の制御に必要な情報を一時的に格納する揮発性メモリである。例えば、フラッシュメモリ２にアクセスするために必要なアドレス変換テーブ
ル、不良ブロックテーブル等は、ＳＲＡＭ８に保持され、ＳＲＡＭ８上で更新される。ここで、アドレス変換テーブルは、論理アドレスと物理アドレスとの対応関係を管理するためのテーブルである。不良ブロックテーブルは、不良ブロックを管理するためのテーブルである。また、制御用のプログラムをフラッシュメモリ２に格納する場合、起動時にフラッシュメモリ２から読み出された制御用のプログラムは、ＳＲＡＭ８に保持される。
【００２１】
バッファ９は、フラッシュメモリ２から読み出されたデータ及びフラッシュメモリ２に書き込むデータを一時的に蓄積する。フラッシュメモリ２から読み出されたデータは、ホストシステム４が受け取り可能な状態となるまでバッファ９に保持される。また、フラッシュメモリ２に書き込まれるデータは、フラッシュメモリ２が書き込み可能な状態となるまでバッファ９に保持される。
【００２２】
フラッシュメモリインターフェースブロック１０は、フラッシュメモリ２との間で行われるデータ、アドレス情報、ステータス情報、内部コマンド等の送受信を制御する。内部
コマンドとは、メモリコントローラ３がフラッシュメモリ２に処理の実行を指示するためのコマンドである。フラッシュメモリ２は、メモリコントローラ３から与えられる内部コ
マンドに従って動作する。
【００２３】
ＥＣＣブロック１１は、フラッシュメモリ２に書き込むデータに付加されるエラーコレ
クティングコードを生成する。また、ＥＣＣブロック１１は、フラッシュメモリ２から読み出したデータに付加されたエラーコレクティングコードに基づいて、読み出したデータに含まれる誤りを検出及び訂正する。
【００２４】
ＲＯＭ１２は、マイクロプロセッサ６による処理の手順等を定義する制御用のプログラ
ムを格納する不揮発性の記憶素子である。ＲＯＭ１２は、例えば、アドレス変換テーブルの作成等の処理手順を定義するプログラムを格納する。なお、ＲＯＭ１２には、ブートロ
ーダーだけが格納され、制御用のプログラムがフラッシュメモリ２に格納されている場合もある。
【００２５】
フラッシュメモリ２は、不揮発性メモリであって、いずれも図示しないが、レジスタと、複数のメモリセルが配列されたメモリセルアレイと、を備える。フラッシュメモリ２は

10

20

30

40

50

(6)

JP 2021-68129 A 2021.4.30、レジスタとメモリセルアレイとの間でデータの複写を行って、データの書き込み又は読み出しを行う。メモリセルアレイに書き込まれるデータ、又はメモリセルアレイから読み出されたデータは、レジスタに一時的に保持される。
【００２６】
メモリセルアレイは、複数のメモリセル群と、ワード線と、を備える。各メモリセル群
は、複数のメモリセルが直列に接続されたものである。ワード線は、メモリセル群のうちから特定のメモリセルを選択するためのものである。ワード線を介して選択されたメモリ
セルとレジスタとの間で、レジスタから選択されたメモリセルへのデータの書き込み、又は選択されたメモリセルからレジスタへのデータの読み出しが行われる。
【００２７】
メモリセルアレイを構成するメモリセルは、２つのゲートを備えたＭＯＳトランジスタを備える。ここで、上側のゲート、下側のゲートは、それぞれ、コントロールゲート、フローティングゲートと呼ばれており、フローティングゲートに電荷（電子）を注入若しく
はフローティングゲートから電荷（電子）を排出することによって、データの書き込み若
しくはデータの消去が行われる。
【００２８】
フローティングゲートは、周囲を絶縁体で囲まれているため、注入された電子は長期間にわたって保持される。フローティングゲートに電子を注入するときは、コントロールゲ
ートが高電位側となる高電圧をコントロールゲートとフローティングゲート間に印加する。これに対して、フローティングゲートから電子を排出するときは、コントロールゲート
が低電位側となる高電圧をコントロールゲートとフローティングゲート間に印加する。
【００２９】
ここで、フローティングゲートに電子が注入されている状態が書き込み状態であり、論
理値＂０＂に対応する。また、フローティングゲートから電子が排出されている状態が消去状態であり、論理値＂１＂に対応する。
【００３０】
また、３Ｄ−ＮＡＮＤタイプのフラッシュメモリのメモリセルアレイでは、電荷捕獲（
チャージトラップ）構造のセル構造が採用されている場合もある。このセル構造では、ゲート絶縁膜の内部（窒化シリコン膜）に数多く存在する欠陥（捕獲準位）に、電子を注入したり、あるいは、捕獲準位から電子を引き抜いたりする。
【００３１】
メモリコントローラ３は、ホストシステム４から供給されるデータをフラッシュメモリ
２に転送し、フラッシュメモリ２内のレジスタを介してメモリセルアレイに書き込む。また、メモリコントローラ３は、レジスタを介してメモリセルアレイに書き込まれているデータを読み出し、ホストシステム４に提供する。フラッシュメモリ２は、メモリコントロ
ーラ３から与えられるコマンドに従ってメモリセルアレイにデータを書き込み、又はメモ
リセルアレイからデータを読み出す。
【００３２】
図２に、フラッシュメモリ２の構成を概略的に示す。図２に示すように、フラッシュメ
モリ２は、＂チップ＂、＂ブロック（物理ブロック）＂、＂ページ（物理ページ）＂及び＂セクタ（物理セクタ）＂により構成されている。フラッシュメモリ２は、少なくとも１個のチップを含んでおり、各チップは、複数の物理ブロックを含んでいる。
【００３３】
物理ブロックは、フラッシュメモリ２にて行われるデータ消去動作における処理単位である。データ消去動作では、同じ物理ブロックに属する複数の物理ページに記憶されているデータが一斉に消去される。各物理ブロックは、例えば、６４個、１２８個又は２５６個の物理ページを含んでいる。なお、３Ｄ−ＮＡＮＤタイプのフラッシュメモリ等の最新のフラッシュメモリでは、各物理ブロックに含まれる物理ページの数が増加している。
【００３４】
物理ページは、フラッシュメモリ２にて行われるデータ読み出し動作及びデータ書き込

10

20

30

40

50

(7)

JP 2021-68129 A 2021.4.30

み動作における処理単位である。データ読み出し動作及びデータ書き込み動作では、メモリセルが物理ページの単位で選択され、物理ページの単位で、レジスタからメモリセルへのデータの書き込み、又はメモリセルからレジスタへのデータの読み出しが行われる。
【００３５】
物理ページは、４個、８個又は１６個の物理セクタを含んでいる。各物理セクタは、５１２バイトのデータ（１セクタのデータ）を格納するために割り当てられた領域である。
また、各物理セクタに格納される１セクタのデータは、そのデータのＥＣＣ（エラーコレ
クティングコード）と共に格納される。物理ページには、１セクタのデータを格納する領域と、その１セクタのデータに対応するＥＣＣを格納する領域を交互に割り当ててもよく、また、４セクタのデータを格納する領域を連続して割り当て、その後に、その４セクタのデータに対応するＥＣＣを格納する領域を連続して割り当ててもよい。つまり複数セク
タのデータと、そのデータのＥＣＣを数セクタ単位で交互に格納されるように領域を割り当ててもよい。
【００３６】
ＥＣＣ（エラーコレクティングコード）は、ユーザ領域２５に記憶されているデータに含まれる誤りを検出し、訂正するためのデータである。
【００３７】
各チップ、各物理ブロック、各物理ページ、及び、各物理セクタには、それぞれ、チッ
プ番号ＣＨＩＰ＃０，＃１，＃２…、物理ブロック番号ＰＢ＃０，＃１，＃２…、物理ペ
ージ番号ＰＰ＃０，＃１，＃２…、及び、物理セクタ番号ＰＳ＃０，＃１，＃２…が通し番号として割り当てられている。このようなチップ番号、物理ブロック番号、物理ページ
番号及び物理セクタ番号は、フラッシュメモリ２に格納されているデータの格納場所を示す情報である物理アドレスとして用いられる。
【００３８】
より詳細には、チップ番号ＣＨＩＰ＃０，＃１，＃２…は、フラッシュメモリ２内における各チップを特定するための番号であり、物理ブロック番号ＰＢ＃０，＃１，＃２…は、チップ内における各物理ブロックを特定するための番号である。また、物理ページ番号
ＰＰ＃０，＃１，＃２…は、物理ブロック内における各物理ページを特定するための番号であり、物理セクタ番号ＰＳ＃０，＃１，＃２…は、物理ページ内における各物理セクタを特定するための番号である。
【００３９】
更に、チップ番号と物理ブロック番号とを組み合わせることで、フラッシュメモリ２内における物理ブロックを特定することができる。例えば、チップ番号と物理ブロック番号とを組み合わせた番号である＂ＣＨＩＰ＃０、ＰＢ＃１＂は、ＣＨＩＰ＃０のチップに含まれる複数の物理ブロックのうちのＰＢ＃１の物理ブロックに対応する。同様に、チップ
番号と物理ブロック番号と物理ページ番号とを組み合わせることで、フラッシュメモリ２
内における物理ページを特定することができる。また、チップ番号と物理ブロック番号と物理ページ番号と物理セクタ番号とを組み合わせることで、フラッシュメモリ２内における物理セクタを特定することができる。
【００４０】
次に、図３を参照して、ホストシステム４側のアドレス空間において定義された論理ア
ドレスと、フラッシュメモリ２側のアドレス空間において定義された物理アドレスと、の対応関係について説明する。ここで、論理アドレスは、フラッシュメモリ２に格納されているデータを特定する情報として、ホストシステム４において管理されるアドレスである。
【００４１】
図３に示すように、ホストシステム４側のアドレス空間において、論理アドレスは、Ｌ
Ｂ Ａ （ 論 理 ブ ロ ッ ク ア ド レ ス ： Logical Block Address） を 用 い て 定 め ら れ る 。 Ｌ Ｂ Ａ は、５１２バイトの容量を持った論理セクタに割り当てられたアドレスである。各ＬＢＡには、ＬＢＡ番号ＬＢＡ＃０，＃１，＃２…が通し番号として割り当てられている。ホスト

10

20

30

40

50

(8)

JP 2021-68129 A 2021.4.30

システム４は、ＬＢＡによりのアクセス領域を指定する。メモリコントローラ３は、ＬＢ
Ａにより指定されたアクセス領域に基づいてフラッシュメモリ２内のアクセス領域を特定する。
【００４２】
メモリコントローラ３は、ＬＢＡを複数個ずつまとめたものを、論理ページとして定義している。論理ページは、フラッシュメモリ２側での物理ページに対応する、ホストシス
テム４側でのデータの読み出し動作及び書き込み動作の処理単位である。各論理ページには、論理ページ番号ＬＰ＃０，＃１，＃２…が通し番号として割り当てられている。論理
ページ番号ＬＰ＃０，＃１，＃２…は、論理ページのアドレスに相当する。
【００４３】
１個の論理ページに割り当てられるＬＢＡの個数は、１個の物理ページに含まれる物理
セクタの個数と等しくなるように設定されている。一例として図３では、ＬＢＡ＃０〜＃
７のＬＢＡはＬＰ＃０の論理ページに割り当てられ、ＬＢＡ＃８〜＃１５のＬＢＡはＬＰ＃１の論理ページに割り当てられ、…というように、８個のＬＢＡ毎に１個の論理ページに割り当てられている。このようにＬＢＡと論理ページとは番号順に割り当てられている
ため、ＬＢＡと論理ページとの間の対応関係は、単純計算で相互に変換することが可能である。
【００４４】
メモリコントローラ３は、論理アドレスと物理アドレスとを関係付けるためのアドレス
変換を、ページ単位で行う。言い換えると、メモリコントローラ３は、ページマッピング方式でフラッシュメモリ２のアドレスを管理する。ページマッピング方式は、メモリコン
トローラ３が複数個のＬＢＡを論理ページの単位にまとめて、アドレスを管理する方式である。
【００４５】
ページマッピング方式は、ブロック単位でアドレスを管理するブロックマッピング方式と比べて、ランダムなデータ書き込みに強い反面、管理単位が小さいため、アドレス変換
テーブルのサイズが大きくなるという特徴を有する。ページマッピング方式では、ホスト
システム４からページよりも小さいサイズのデータ書き込み要求があった場合、格納されているデータを読み出し、そのデータの一部を新たなデータで置き換える処理が必要になる。
【００４６】
各論理ページは、フラッシュメモリ２に含まれるいずれかの物理ページに割り当てられている。一例として、図３では、ＬＰ＃０の論理ページは、ＣＨＩＰ＃０のチップにおけるＰＢ＃０の物理ブロックのＰＰ＃０の物理ページに割り当てられており、ＬＰ＃１の論理ページは、ＣＨＩＰ＃０のチップにおけるＰＢ＃１の物理ブロックのＰＰ＃０の物理ページに割り当てられており、ＬＰ＃５の論理ページは、ＣＨＩＰ＃０のチップにおけるＰ
Ｂ＃１の物理ブロックのＰＰ＃５の物理ページに割り当てられている。
【００４７】
上述したように、物理ページは、データの読み出し及び書き込みの単位である。そのため、メモリコントローラ３は、各論理ページに対応するデータを、その論理ページに割り当てられた物理ページに書き込む。一方で、各物理ページには、データを上書きすることができない。そのため、メモリコントローラ３は、物理ブロック内の一部の物理ページに格納されたデータのみを書き換える場合、新たなデータをその物理ブロック内の空きペー
ジ（データが書き込まれていない別の物理ページ）又は別の物理ブロックに書き込まなけ
ればならない。
【００４８】
つまり、メモリコントローラ３は、物理ブロック内の一部の物理ページに格納されたデータを書き換える場合に、その物理ブロック内に空きページが無ければ、新たなデータは別の物理ブロックに書き込まれる。また、このような書き換えにより、その物理ブロック
内に古いデータ（新しいデータに置き換えられてしまったデータ）が格納されている物理

10

20

30

40

50

(9)

JP 2021-68129 A 2021.4.30

ページが多くなったときには、書き換え対象になっていない物理ページに格納されているデータを、データが書き込まれていない別の物理ブロックにそのまま移し替えることがある。このような移し替えを行うことにより、移し替え元の物理ブロックは、空きブロックとなり、書き込み先の物理ブロックとして使用することができるようになる。
【００４９】
また、リテンション（データリテンション）、ＲＥＡＤディスターブ（読み出しディスターブ）等の影響によるデータ化けを回避するために、または、スタティックウェアレベ
リングによる消去回数の平準化ために、物理ブロック内の各物理ページに格納されているデータを一括して別の物理ブロックに移し替えることもある。このようなデータの書き換
えやデータの移し替えにより、論理アドレスと物理アドレスとの対応関係は、動的に変化する。
【００５０】
メモリコントローラ３は、このように動的に変化する論理アドレスと物理アドレスとの対応関係を、アドレス変換テーブルによって管理する。アドレス変換テーブルは、論理ア
ドレスと物理アドレスとの対応関係を定めたテーブルである。メモリコントローラ３は、
アドレス変換テーブルを参照して、ホストシステム４から与えられた論理アドレスを物理アドレスに変換し、変換した物理アドレスに基づいて、フラッシュメモリ２内におけるア
クセス対象のデータの格納場所を特定する。
【００５１】
図４及び図５に、アドレス変換テーブルの具体例を示す。メモリコントローラ３は、アドレス変換テーブルとして、図４に示す論物変換テーブル３１と図５に示す管理番号テー
ブル３２という２つのテーブルを用いる。
【００５２】
図４に示す論物変換テーブル３１は、フラッシュメモリ２に格納されている複数のデー
タのそれぞれについて、論理アドレスと物理アドレスとの対応関係を定めた第１のテーブルである。上述したようにメモリコントローラ３はページマッピング方式でアドレスを管理するため、論物変換テーブル３１は、論理アドレスと物理アドレスとの対応関係を、論理ページのアドレス（論理ページ番号）と物理ページのアドレス（物理ページ番号）との対応関係により管理している。
【００５３】
より詳細には、論物変換テーブル３１は、図４に示すように、フラッシュメモリ２に格納されている複数のデータのそれぞれについて、論理ページ番号と、管理番号及び物理ページ番号と、の対応関係を定めている。論物変換テーブル３１は、各物理ページがどのチップのどの物理ブロックに属するものであるかを管理番号によって管理する。従って、物理ページは管理番号と物理ページの組み合わせで特定される。言い換えると、論物変換テーブル３１において、物理ページ番号は、管理番号が割り当てられた物理ブロックの内部における物理ページのアドレスを示している。
【００５４】
ここで、管理番号は、フラッシュメモリ２内に含まれている複数のチップのそれぞれを特定し、さらに各チップに含まれている複数の物理ブロックのそれぞれを特定することができるように割り当てられたユニークな管理情報である。つまり、各管理番号は、複数のチップのそれぞれに割り当てられたチップ番号と複数の物理ブロックのそれぞれに割り当
てられた物理ブロック番号とを組み合わせたものに対応付けられている。この対応付けは、適宜変更することができる。
【００５５】
管理番号は、図５に示す管理番号テーブル３２によって、複数の物理ブロック（複数のチップに含まれる物理ブロック）のそれぞれに対応付けられている。図５に示すように、
管理番号テーブル３２は、フラッシュメモリ２に含まれるそれぞれの物理ブロックを定めるチップ番号及び物理ブロック番号と、管理番号と、の対応関係を定めた第２のテーブルである。なお、メモリコントローラ３は、チップ番号と物理ブロック番号を連結した番号

10

20

30

40

50

(10)

JP 2021-68129 A 2021.4.30

を各物理ブロックのアドレス（物理ブロックアドレス）として使用している。
【００５６】
管理番号テーブル３２において、管理番号は、複数のチップに含まれる物理ブロックのそれぞれを特定することができるように、複数の物理ブロックのそれぞれに互いに異なる
番号が割り当てられている。つまり、物理ブロックがいずれのチップに含まれていても、それぞれの物理ブロックを特定することができるように管理番号が割り当てられている。
一例として図５では、管理番号＃０は、ＣＨＩＰ＃０のチップにおけるＰＢ＃０の物理ブ
ロックに割り当てられており、管理番号＃１は、ＣＨＩＰ＃０のチップにおけるＰＢ＃１の物理ブロックに割り当てられており、管理番号＃２は、ＣＨＩＰ＃０のチップにおけるＰＢ＃２の物理ブロックに割り当てられている。また、ＣＨＩＰ＃１のチップにおけるＰ
Ｂ＃０の物理ブロックには、ＣＨＩＰ＃０のチップにおけるＰＢ＃０の物理ブロックとは異なる管理番号＃４０９６が割り当てられている。
【００５７】
メモリコントローラ３は、フラッシュメモリ２内における複数の物理ブロックのそれぞれに互いに異なる管理番号を割り当てることで、このような管理番号テーブル３２を作成する。管理番号テーブル３２の行数は、フラッシュメモリ２に含まれている物理ブロックの個数に相当する。例えばフラッシュメモリ２が１個当たりｎ個の物理ブロックを含むチ
ップをｍ個備えている場合、管理番号テーブル３２に定められる管理番号の個数（管理番号テーブル３２の行数）は（ｍ×ｎ）個になる。
【００５８】
これに対して、論物変換テーブル３１の行数は、フラッシュメモリシステム１の容量（
データを保存できる容量）に依存するが、フラッシュメモリ２内においてデータの格納先として使用される物理ブロックに含まれる物理ページの個数にほぼ一致する。例えば、各
物理ブロックに２５６個の物理ページが含まれていれば、論物変換テーブル３１の行数は、管理番号の個数の２５６倍程度になってしまうため、論物変換テーブル３１のテーブル
サイズは、管理番号テーブル３２のテーブルサイズに比べて遥かに大きくなる。
【００５９】
そのため、論物変換テーブル３１は、予め定められた個数の論理ページ毎に、複数のファイルに分割されている。一例として図４では、論物変換テーブル３１は、ＬＰ＃０〜＃
９９９の論理ページ番号が第１のテーブルに記述され、ＬＰ＃１０００〜＃１９９９の論理ページ番号が第２のテーブルに記述され、…のように、論理ページ番号の順に１０００
個毎に複数のテーブルに分割された状態で管理される。
【００６０】
このような論物変換テーブル３１及び管理番号テーブル３２は、起動時又はアクセス時に、フラッシュメモリ２からＳＲＡＭ８に読み出される。メモリコントローラ３は、ＳＲ
ＡＭ８上で論物変換テーブル３１又は管理番号テーブル３２を更新し、ＳＲＡＭ８上で更新された論物変換テーブル３１又は管理番号テーブル３２は、フラッシュメモリ２に書き込まれる。なお、フラッシュメモリ２への書き込みは、分割されたテーブル毎に行われる。つまり、論物変換テーブル３１の第１のテーブルがＳＲＡＭ８上で更新された場合、その更新された第１のテーブルがフラッシュメモリ２に書き込まれる。
【００６１】
メモリコントローラ３において、マイクロプロセッサ６は、フラッシュメモリ２にアクセスする際、このような論物変換テーブル３１と管理番号テーブル３２とを参照して、論理アドレスと物理アドレスとの対応関係を特定する。より詳細には、マイクロプロセッサ
６は、フラッシュメモリ２へのアクセスを制御するアクセス処理と、アクセス処理に伴い記憶領域を管理する領域管理とを、実行する。
【００６２】
アクセス処理では、メモリコントローラ３は、ホストシステム４からの命令に応答してフラッシュメモリ２へのアクセスを制御する。具体的には、フラッシュメモリ２に格納されているデータの読み出し及び消去、並びに、フラッシュメモリ２へのデータの書き込み

10

20

30

40

50

(11)

JP 2021-68129 A 2021.4.30

等の処理を制御する。
【００６３】
メモリコントローラ３は、論物変換テーブル３１と管理番号テーブル３２とに基づいて、フラッシュメモリ２におけるアクセス対象のデータの格納場所を示す物理アドレスを特定する。具体的に説明すると、ホストシステム４から外部コマンドによりデータ読み出し、データ書き換え等の指示を受けると、メモリコントローラ３は、論物変換テーブル３１と管理番号テーブル３２とを参照してホストシステム４から指示されたアクセス対象の論
理アドレスを物理アドレスに変換する。そして、メモリコントローラ３は、変換された物
理アドレスで特定される物理ページをアクセス対象として、データ読み出し、データ書き込み等の処理を実行する。
【００６４】
より詳細に説明すると、メモリコントローラ３は、フラッシュメモリ２に含まれる複数の物理ブロックにそれぞれ対応付けられた管理番号に基づいて、フラッシュメモリ２におけるアクセス対象の物理ブロックを特定する。
【００６５】
例えば、フラッシュメモリ２からデータを読み出す場合、メモリコントローラ３は、ホストシステム４から読み出し対象の論理ページのアドレスである論理ページ番号を与えられると、論物変換テーブル３１に基づいて、その論理ページ番号を物理ページ番号及び管理番号に変換する。これにより、メモリコントローラ３は、ホストシステム４から与えられた論理ページに対応する物理ページ番号及び管理番号を特定する。次に、メモリコント
ローラ３は、管理番号テーブル３２に基づいて、管理番号をチップ番号及び物理ブロック
番号に変換する。これにより、メモリコントローラ３は、論物変換テーブル３１に基づいて特定された管理番号に対応する物理ブロックを特定する。
【００６６】
このようにしてアクセス対象の物理ブロックを特定すると、メモリコントローラ３は、
管理番号テーブル３２に基づいて特定された物理ブロック内における、論物変換テーブル
３１に基づいて特定された物理ページを、読み出し対象の物理ページであると判定し、その物理ページにアクセスする。特定した物理ページに格納されているデータは、フラッシ
ュメモリ２内のレジスタを介してバッファ９に読み出され、ホストシステム４に提供される。
【００６７】
メモリコントローラ３は、このようにフラッシュメモリ２からデータを読み出す場合だ
けでなく、フラッシュメモリ２にデータを書き込む場合も同様に、論物変換テーブル３１と管理番号テーブル３２とに基づいて、フラッシュメモリ２内におけるアクセス対象のデータの格納場所である物理ページを特定する。
【００６８】
領域管理では、メモリコントローラ３は、フラッシュメモリ２に対するアクセス処理に応じて、論物変換テーブル３１又は管理番号テーブル３２を更新する。具体的に説明すると、メモリコントローラ３は、フラッシュメモリ２にデータを書き込む処理を行った際に、論物変換テーブル３１を更新し、異なる物理ブロック間でデータが移し替えられた場合、管理番号テーブル３２を更新する。
【００６９】
第１に、メモリコントローラ３は、フラッシュメモリ２にデータを書き込む処理を行った際に、論物変換テーブル３１を更新する。以下、図６に示すフローチャートを参照して、データ書き込み処理について説明する。
【００７０】
図６に示すデータ書き込み処理は、ホストシステム４から供給されたデータがフラッシ
ュメモリ２に書き込まれる処理である。このデータ書き込みでは、ホストシステム４は、ホストインターフェースブロック７を介して、書き込むデータのセクタ数、書き込むデー
タのＬＢＡの先頭値、及び書き込み処理を指示する外部コマンドと共に書き込みデータを

10

20

30

40

50

(12)

JP 2021-68129 A 2021.4.30

メモリコントローラ３に供給する。
【００７１】
図６に示すデータ書き込み処理では、メモリコントローラ３が、ホストシステム４から供給された書き込みデータをフラッシュメモリ２に書き込む（ステップＳ１０１）。具体的に説明すると、メモリコントローラ３は、書き込み先の物理ページのアドレス及び書き込み処理を指示する内部コマンドをフラッシュメモリ２に供給すると共に、ホストシステ
ム４から供給されたデータをフラッシュメモリ２内のレジスタに転送する。そのデータはレジスタに保持された後、メモリコントローラ３から与えられたアドレスに対応する書き
込み先の物理ページに書き込まれる。
【００７２】
メモリコントローラ３は、フラッシュメモリ２にデータを書き込む処理を行った際に、論物変換テーブル３１を更新する（ステップＳ１０２）。具体的に説明すると、メモリコ
ントローラ３は、フラッシュメモリ２に書き込み対象のデータを書き込む処理を行った際に、その書き込み対象のデータの論理ページ番号に対応付けられる管理番号と物理ページ
番号を更新する。この更新では、管理番号テーブル３２において書き込み対象のデータが書き込まれた物理ページが含まれている物理ブロックに対応付けられている管理番号を特定し、その管理番号とデータが書き込まれた物理ページの物理ページ番号を、書き込み対
象のデータの論理ページ番号に対応付けた新たな対応関係を論物変換テーブル３１に追加する。
【００７３】
一例として、図７に、論理ページ番号ＬＰ＃４０５３の論理ページ番号に対応するデー
タが、管理番号テーブル３２において管理番号＃１００が割り当てられている物理ブロッ
クにおける物理ページ番号ＰＰ＃４６の物理ページに書き込まれた場合に論物変換テーブ
ル３１が更新された例を示す。この場合、メモリコントローラ３は、論物変換テーブル３
１に、論理ページ番号ＬＰ＃４０５３と管理番号＃１００及び物理ページ番号ＰＰ＃４６とを対応付けた新たな対応関係を追加する。これにより、論物変換テーブル３１は、書き込み対象のデータがフラッシュメモリ２に格納された後の最新の状態に更新される。
【００７４】
このとき、書き込み対象のデータが複数の物理ページに書き込まれた場合には、メモリ
コントローラ３は、その複数の物理ページのそれぞれについて、論理ページと管理番号及び物理ページ番号と対応付けた対応関係を論物変換テーブル３１に追加する。
【００７５】
なお、上述したように、論物変換テーブル３１は、予め定められた個数の論理ページ毎に複数のファイル（テーブル）に分割されている。そのため、メモリコントローラ３は、論物変換テーブル３１を構成する複数のファイル（テーブル）のうちの該当するファイル（テーブル）のみを更新し、その他のファイル（テーブル）は更新しない。例えば図７に示した場合であれば、メモリコントローラ３は、論物変換テーブル３１を構成する複数のファイル（テーブル）のうちの論理ページ番号ＬＰ＃４０５３に関する対応関係を記述すべきファイル（テーブル）に、新たな対応関係を追加する。
【００７６】
このように論物変換テーブル３１に新たな対応関係が追加された後、メモリコントロー
ラ３は、新たな対応関係が追加された後の論物変換テーブル３１と、管理番号テーブル３
２と、に基づいて、フラッシュメモリ２におけるアクセス対象のデータの格納場所を特定する。以上により、図６に示したデータ書き込み処理は終了する。
【００７７】
第２に、メモリコントローラ３は、フラッシュメモリ２における異なる物理ブロック間でデータを移し替えたときに、管理番号テーブル３２を更新する。以下、図８に示すフローチャートを参照して、データ移し替え処理について説明する。
【００７８】
図８に示すデータ移し替え処理は、フラッシュメモリ２に含まれる複数の物理ブロック

10

20

30

40

50

(13)

JP 2021-68129 A 2021.4.30のうちの一の物理ブロックに格納されているデータを別の物理ブロックに移し替える処理である。このデータ移し替え処理では、メモリコントローラ３は、移し替え元の物理ブロ
ックに格納されているデータを、移し替え先の物理ブロックに移し替える（ステップＳ２
０１）。
【００７９】
このデータ移し替え処理では、リテンション、ＲＥＡＤディスターブ等の影響によりデータ化けが進むことを回避するために、物理ブロック内の全データが別の物理ブロックにそのまま移し替えられる。
【００８０】
メモリコントローラ３は、フラッシュメモリ２に含まれる複数の物理ブロックの中に、データ化けの危険度を示す指標が予め定められた条件を満たした物理ブロックが存在する
場合、その物理ブロックに格納されている全てのデータを、そのまま別の物理ブロックに移し替える。このとき、メモリコントローラ３は、移し替え元の物理ブロックと移し替え
先の物理ブロックとで同じデータが同じ物理ページ番号の物理ページに格納されるように、データを移し替える。
【００８１】
このように物理ブロック間でデータが移し替えられると、メモリコントローラ３は、管理番号テーブル３２において、移し替え先の物理ブロックに対応付けられた管理番号を、移し替え元の物理ブロックのアドレスに対応付けられていた管理番号に更新する（ステップＳ２０２）。更に、メモリコントローラ３は、管理番号テーブル３２において、移し替
え元の物理ブロックに対応付けられた管理番号を、移し替え先の物理ブロックに対応付けられていた管理番号に更新する（ステップＳ２０３）。
【００８２】
一例として、図９に、図５に示した管理番号テーブル３２が更新された例を示す。ここで、図５に示した管理番号テーブル３２では、チップ番号ＣＨＩＰ＃０及び物理ブロック
番号ＰＢ＃１には管理番号＃１が対応付けられており、チップ番号ＣＨＩＰ＃０及び物理
ブロック番号ＰＢ＃２には管理番号＃２が対応付けられていた。これに対して、ＣＨＩＰ＃０のチップにおけるＰＢ＃１の物理ブロックからＰＢ＃２の物理ブロックにデータが移し替えられた場合、メモリコントローラ３は、図９に示すように管理番号テーブル３２を更新する。
【００８３】
具体的に説明すると、メモリコントローラ３は、移し替え先の物理ブロックのアドレス＂ＣＨＩＰ＃０、ＰＢ＃２＂に対応付けられた管理番号＃２を、移し替え元の物理ブロッ
クのアドレス＂ＣＨＩＰ＃０、ＰＢ＃１＂に対応付けられた管理番号＃１に更新する。そして、メモリコントローラ３は、移し替え元の物理ブロックのアドレス＂ＣＨＩＰ＃０、ＰＢ＃１＂に割り当てられた管理番号＃１を、移し替え先の物理ブロックのアドレス＂ＣＨＩＰ＃０、ＰＢ＃２＂に割り当てられた管理番号＃２に更新する。言い換えると、メモ
リコントローラ３は、管理番号テーブル３２に定められた管理番号と物理ブロック（チッ
プ番号及び物理ブロック番号）との対応関係における、移し替え元の物理ブロックに対応付けられた管理番号＃１と、移し替え先の物理ブロックに対応付けられた管理番号＃２と、を入れ替える。
【００８４】
このように移し替え元の物理ブロックに対応付けられた管理番号を移し替え先の物理ブロックに対応付けられた管理番号に変更することで、移し替えられたデータが格納されている物理ブロックに対応付けられている管理番号は、移し替えの前後で変わらない。そのため、メモリコントローラ３は、データ移し替え処理を行った際に、管理番号テーブル３
２を更新すれば、論物変換テーブル３１を更新する必要がない。つまり、管理番号テーブ
ル３２において、移し替え先の物理ブロックに対応付けられた管理番号と、移し替え元の
物理ブロックに対応付けられた管理番号とを更新すれば、論物変換テーブル３１において、移し替えられたデータに対応する論理ページ番号に関する対応関係は更新する必要がな

10

20

30

40

50

(14)

JP 2021-68129 A 2021.4.30

い。仮に、管理番号を用いずに論物変換テーブル３１を作成した場合には、移し替えられたデータのページ数分の論理ページ番号に関する対応関係を更新しなければならない。例
えば、物理ブロックに２５６個の物理ページが含まれている場合に、その全てのページに格納されていたデータが移し替えられたときには、２５６個の対応関係を更新しなければならない。また、メモリコントローラ３は、物理ブロック間でデータが移し替えられた後でも、移し替え前と同じ論物変換テーブル３１を用いてそのデータにアクセスすることができる。以上により、図８に示したデータ移し替え処理は終了する。
【００８５】
以上説明したように、本実施形態に係るメモリコントローラ３は、フラッシュメモリ２に含まれる複数の物理ブロックに対応付けられた管理番号に基づいて、アクセス対象の物
理ブロックを特定する。そして、メモリコントローラ３は、複数の物理ブロックのうちの一の物理ブロックに格納されているデータが別の物理ブロックに移し替えられた場合、別の物理ブロックに対応付けられた管理番号を、一の物理ブロックに対応付けられた管理番号に変更する。このように管理番号を用いて物理ブロックを特定することで、異なる物理
ブロック間でデータが移し替えられた場合、移し替えられたデータに関わる物理ブロックに対応付けられた管理番号を変更すれば、移し替えられたデータに対応する全ての論理ページ番号に関する対応関係を更新する必要が無い。その結果、物理ブロック間でデータが移し替えられた際に効率的にアドレスを管理することができる。
【００８６】
特に、論物変換テーブル３１が複数のファイル（テーブル）に分割されている場合、１個の物理ブロックに含まれる複数の物理ページに格納されているそれぞれのデータに対応
する論理ページ番号が連続していない場合に、それらの論理ページ番号に関する対応関係が異なるファイル（テーブル）に分かれて管理されることがある。このような場合において、その物理ブロックのデータが別の物理ブロックに移し替えられた場合、移し替えられたデータに対応する論理ページ番号に関する対応関係が定められている全てのファイル（テーブル）を更新する必要がある。例えば、１個の物理ブロックに２５６個の物理ページが含まれている場合、メモリコントローラ３は、最大で２５６個の異なるファイル（テーブル）を開いて対応関係を更新する必要がある。これにより、処理のパフォーマンスが低下する上、フラッシュメモリ２の書き換え回数が増えるためフラッシュメモリ２の寿命が低下する。
【００８７】
本実施形態に係るメモリコントローラ３は、物理ブロック間でデータが移し替えられた
場合、複数のファイル（テーブル）に分割された論物変換テーブル３１を更新する必要が無く、管理番号テーブル３２において移し替え元の物理ブロックと移し替え先の物理ブロックとで管理番号を互いに入れ替えるだけで良い。そのため、物理ブロック間でデータが移し替えられた際に効率的にアドレスを管理することができる。
【００８８】（変形例）
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００８９】
例えば、上記実施形態では、論物変換テーブル３１及び管理番号テーブル３２は、メモ
リコントローラ３のＳＲＡＭ８上で作成及び更新されて、フラッシュメモリ２に記憶されるが、フラッシュメモリシステム１の外部（別の不揮発性メモリ）に記憶されていても良い。また、別の不揮発性メモリ上で論物変換テーブル３１及び管理番号テーブル３２が作成及び更新されてもよい。
【００９０】
論理アドレスと物理アドレスとの対応関係、及び、管理番号と物理ブロックとの対応関係は、上記実施形態で説明したような論物変換テーブル３１及び管理番号テーブル３２以

10

20

30

40

50

(15)

JP 2021-68129 A 2021.4.30

外の形式で定められるものであっても良い。また、これらの対応関係は、テーブルという形式で定められていなくても良い。
【００９１】
また、複数の物理ブロックを１つの仮想ブロックとして管理する場合には、その仮想ブロックに対して管理番号を割り当ててもよい。例えば、図１０に示すように、チップ番号
ＣＨＩＰ＃０内の物理ブロックとチップ番号ＣＨＩＰ＃１内の物理ブロックとで仮想ブロックを構成し、この仮想ブロックに、図１１に示すように、管理番号を割り当ててもよい。この例では、チップ番号ＣＨＩＰ＃０内の物理ブロック番号ＰＢ＃０の物理ブロックとチップ番号ＣＨＩＰ＃１内の物理ブロック番号ＰＢ＃０の物理ブロックとで仮想ブロック
番号＃０の仮想ブロックが構成され、この仮想ブロック番号＃０の仮想ブロックに管理番
号＃０が割り当てられている。なお、この仮想ブロックでは、チップ番号ＣＨＩＰ＃０内の物理ブロックに含まれる物理ページとチップ番号ＣＨＩＰ＃１内の物理ブロックに含まれる物理ページとで仮想ページが構成される。つまり、チップ番号ＣＨＩＰ＃０内の物理
ブロック番号ＰＢ＃０の物理ブロックに含まれる物理ページ番号ＰＰ＃０の物理ページとチップ番号ＣＨＩＰ＃１内の物理ブロック番号ＰＢ＃０の物理ブロックに含まれる物理ページ番号ＰＰ＃０の物理ページとで仮想ページが構成される。
【００９２】
上記実施形態における、各チップに含まれる物理ブロック数、各物理ブロックに含まれる物理ページ数、各物理ページに含まれる物理セクタ数、各論理ページに含まれるＬＢＡ
数等は例示にすぎず、本発明は、これらに限定されるものではない。また、上記実施形態
ではフラッシュメモリ２は複数のチップを備えていたが、本発明においてフラッシュメモ
リ２に備えられるチップの数は１個であっても良い。
【符号の説明】【００９３】
１
フラッシュメモリシステム
２
フラッシュメモリ
３
メモリコントローラ
４
ホストシステム６
マイクロプロセッサ
７
ホストインターフェースブロック
８
ＳＲＡＭ
９
バッファ
１０ フラッシュメモリインターフェースブロック
１１ ＥＣＣブロック
１２ ＲＯＭ
１３ 外部バス
１４ 内部バス
３１ 論物変換テーブル
３２ 管理番号テーブル

10

20

30

(16)

【図１】

【図３】

【図２】

【図４】

【図６】

【図５】

【図７】

JP 2021-68129 A 2021.4.30

(17)

【図８】

【図９】

【図１１】

【図１０】

JP 2021-68129 A 2021.4.30