(57)【要約】      （修正有）【課題】性能向上を図るメモリシステムを提供する。【解決手段】メモリシステムは、データを記憶する不揮発性メモリ１００と、第１メモリおよび第２メモリと、データの読み出しを制御するメモリコントローラ２００と、を具備する。メモリコントローラは、第１読み出しにおいて、ホスト４００から第１論理アドレスを受信し、不揮発性メモリから第１論理アドレスに対応する第１アドレス変換テーブルを読み出し、第１論理アドレスと第２メモリに記憶された第２論理アドレスとを比較し、第１論理アドレスが第２論理アドレスに対応する場合に第１メモリに記憶された第１状態の第２アドレス変換テーブルを不揮発性メモリに記憶する。【選択図】図１
2019057074.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する不揮発性メモリと、
第１メモリおよび第２メモリと、
前記データの読み出しを制御するメモリコントローラと、
を具備し、
前記メモリコントローラは、第１読み出しにおいて、ホストから第１論理アドレスを受信し、前記不揮発性メモリから前記第１論理アドレスに対応する第１アドレス変換テーブルを読み出し、前記第１論理アドレスと前記第２メモリに記憶された第２論理アドレスとを比較し、前記第１論理アドレスが前記第２論理アドレスに対応する場合に前記第１メモリに記憶された第１状態の第２アドレス変換テーブルを前記不揮発性メモリに記憶する
メモリシステム。
【請求項２】
前記メモリコントローラは、前記第２アドレス変換テーブルを前記不揮発性メモリに記憶した後に、前記第１メモリから前記第２アドレス変換テーブルを消去し、前記第１アドレス変換テーブルを前記第１メモリに記憶する請求項１のメモリシステム。
【請求項３】
前記メモリコントローラは、前記第１論理アドレスが前記第２論理アドレスに対応しない場合に前記第１メモリに記憶された第２状態の第３アドレス変換テーブルに対応する第３論理アドレスを前記第２メモリに記憶し、前記第１メモリから前記第３アドレス変換テーブルを消去し、前記第１アドレス変換テーブルを前記第１メモリに記憶する請求項１のメモリシステム。
【請求項４】
前記第１状態は、前記第１メモリに記憶された対応するアドレス変換テーブルの値と前記不揮発性メモリに記憶された前記対応するアドレス変換テーブルの値とが異なる状態を示す請求項１のメモリシステム。
【請求項５】
前記第２状態は、前記第１メモリに記憶された対応するアドレス変換テーブルの値と前記不揮発性メモリに記憶された前記対応するアドレス変換テーブルの値とが同じ状態を示す請求項３のメモリシステム。
【請求項６】
前記第１読み出しの前の第２読み出しにおいて、前記第２論理アドレスに対応する第４アドレス変換テーブルは前記第１メモリから消去され、前記第２論理アドレスは前記第２メモリに記憶された請求項１のメモリシステム。
【請求項７】
データを記憶する不揮発性メモリと、
第１メモリを含み、前記データの読み出しを制御するメモリコントローラと、
を具備し、
前記メモリコントローラは、読み出しにおいて、ホストから第１論理アドレスを受信し、前記第１メモリに記憶された前記第１論理アドレスに対応する第１情報が第１値の場合に前記不揮発性メモリから前記第１論理アドレスに対応する第１アドレス変換テーブルを読み出しかつ前記第１メモリに記憶し、前記第１情報が第２値の場合に前記不揮発性メモリから前記第１アドレス変換テーブルを読み出しかつ前記第１メモリに記憶しない
メモリシステム。
【請求項８】
前記メモリコントローラは、前記第１情報が前記第１値に設定された後に、第１読み出しにおいて前記第１論理アドレスを受信したときに前記第１アドレス変換テーブルが前記第１メモリに存在していない場合で、かつ第２読み出しにおいて前記第１論理アドレスを受信したときに前記第１アドレス変換テーブルが前記第１メモリに存在していない場合に、前記第１情報を前記第１値から前記第２値に設定する請求項７のメモリシステム。
【請求項９】
前記メモリコントローラは、前記第１情報が前記第２値に設定された後に、第３読み出しにおいて前記第１論理アドレスを受信した場合で、かつ第４読み出しにおいて前記第１論理アドレスを受信した場合に、前記第１情報を前記第２値から前記第１値に設定する請求項７のメモリシステム。
【請求項１０】
前記第１情報は、２ビットの情報である請求項７のメモリシステム。
【請求項１１】
前記第１情報は、前記第１論理アドレスへのアクセス頻度が高い場合に第１値に設定され、前記第１論理アドレスへのアクセス頻度が低い場合に第２値に設定される請求項７のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリとＮＡＮＤ型フラッシュメモリを制御するメモリコントローラとを含むメモリシステムが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１３／０２４６６８９号明細書
【特許文献２】米国特許出願公開第２０１１／０１９９８２５号明細書
【特許文献３】米国特許出願公開第２０１６／０３２８１５４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
性能向上を図るメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態によるメモリシステムは、データを記憶する不揮発性メモリと、第１メモリおよび第２メモリと、前記データの読み出しを制御するメモリコントローラと、を具備する。前記メモリコントローラは、第１読み出しにおいて、ホストから第１論理アドレスを受信し、前記不揮発性メモリから前記第１論理アドレスに対応する第１アドレス変換テーブルを読み出し、前記第１論理アドレスと前記第２メモリに記憶された第２論理アドレスとを比較し、前記第１論理アドレスが前記第２論理アドレスに対応する場合に前記第１メモリに記憶された第１状態の第２アドレス変換テーブルを前記不揮発性メモリに記憶する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムを示すブロック図。
【図２】第１実施形態に係るメモリシステムのＮＡＮＤ型フラッシュメモリを示すブロック図。
【図３】第１実施形態に係るメモリシステムのメモリセルアレイを示す回路図。
【図４】第１実施形態に係るメモリシステムのＮＡＮＤ型フラッシュメモリにおける論物変換テーブルを示す図。
【図５】第１実施形態に係るメモリシステムの内蔵メモリを示すブロック図。
【図６】第１実施形態に係るメモリシステムのテーブルキャッシュにおける論物変換テーブルの一例を示す図。
【図７】第１実施形態に係るメモリシステムのテーブルキャッシュにおけるラインの一例を示す図。
【図８】第１実施形態に係るメモリシステムの差分テーブルの一例を示す図。
【図９】第１実施形態に係るメモリシステムのアクセス情報記憶部の一例を示す図。
【図１０】第１実施形態に係るメモリシステムにおける差分テーブルの更新情報の更新動作を示すフローチャート。
【図１１】第１実施形態に係るメモリシステムの読み出しを示すフローチャート。
【図１２】第１実施形態に係るメモリシステムにおける読み出しの第１例を示す図。
【図１３】第１実施形態に係るメモリシステムにおける読み出しの第１例を示す図。
【図１４】第１実施形態に係るメモリシステムにおける読み出しの第２例を示す図。
【図１５】第１実施形態に係るメモリシステムにおける読み出しの第２例を示す図。
【図１６】第２実施形態に係るメモリシステムのテーブルキャッシュを示す図。
【図１７】第２実施形態に係るメモリシステムのキャッシュヒット履歴情報を示す図。
【図１８】第２実施形態に係るメモリシステムにおける読み出しの第１例を示すフローチャート。
【図１９】第２実施形態に係るメモリシステムにおける読み出しの第２例を示すフローチャート。
【図２０】第２実施形態に係るメモリシステムにおける読み出しの第３例を示すフローチャート。
【発明を実施するための形態】
【０００７】
実施形態を以下に図面を参照して説明する。図面において、同一部分には同一の参照符号を付す。
【０００８】
＜第１実施形態＞
以下に図１乃至図１５を用いて、第１実施形態に係るメモリシステムについて説明する。
【０００９】
なお、以下の説明において、特に限定しない限り、「接続」は直接接続することだけではなく、任意の素子を介して接続することも含む。また、トランジスタの第１端子はソースまたはドレインの一方を示し、トランジスタの第２端子はソースまたはドレインの他方を示す。また、トランジスタの制御端子は、ゲートを示す。
【００１０】
［第１実施形態の構成例］
図１は、第１実施形態に係るメモリシステム３００を示すブロック図である。
【００１１】
図１に示すように、メモリシステム３００は、複数のＮＡＮＤ型フラッシュメモリ１００（１００＿１−１００＿４）、およびこれらを制御するメモリコントローラ２００を含む。
【００１２】
ＮＡＮＤ型フラッシュメモリ１００およびメモリコントローラ２００は、例えばそれらの組み合わせにより１つの半導体装置を構成してもよい。メモリシステム３００としては、例えばＳＤＴＭカードのようなメモリカードまたはＳＳＤ（Solid State Drive）等が挙げられる。
【００１３】
なお、メモリシステム３００内において、同一のメモリコントローラ２００に制御されるＮＡＮＤ型フラッシュメモリ１００の数は４つに限らない。また、ＮＡＮＤ型フラッシュメモリ１００およびメモリコントローラ２００はそれぞれ、互いに異なる半導体チップに形成されてもよい。また、ＮＡＮＤ型フラッシュメモリ１００＿１−１００＿４は、互いに異なる半導体チップに形成されてもよい。以下では、ＮＡＮＤ型フラッシュメモリ１００およびメモリコントローラ２００の形成された半導体チップをそれぞれメモリチップおよびメモリコントローラチップと称す場合がある。
【００１４】
ＮＡＮＤ型フラッシュメモリ１００は、複数のメモリセルを備え、データを不揮発に記憶する。メモリコントローラ２００は、ＮＡＮＤバスによってＮＡＮＤ型フラッシュメモリ１００に接続され、ホストバスによってホスト４００に接続される。そして、メモリコントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００を制御する。また、メモリコントローラ２００は、ホスト４００から受信したコマンドに応じて、ＮＡＮＤ型フラッシュメモリ１００にアクセスする。ホスト４００は例えばデジタルカメラまたはパーソナルコンピュータ等であり、ホストバスは例えばＳＤＴＭインターフェースに従ったバスである。
【００１５】
メモリコントローラ２００は、プロセッサ（ＣＰＵ）２１１、ホストインターフェース回路２１２、内蔵メモリ（ＲＡＭ（Random Access Memory））２１３、バッファメモリ２１４、ＥＣＣ（Error Checking and Correcting）回路２１５、およびＮＡＮＤインターフェース回路２１６を含む。
【００１６】
ホストインターフェース回路２１２は、ホストバスを介してホスト４００と接続される。ホストインターフェース回路２１２は、ホスト４００から受信したコマンドおよびデータをそれぞれ、プロセッサ２１１およびバッファメモリ２１４のそれぞれに送信する。
【００１７】
プロセッサ２１１は、メモリコントローラ２００全体の動作を制御する。例えばプロセッサ２１１は、ホスト４００から書き込みコマンドを受信した際に、それに応じてＮＡＮＤインターフェース回路２１６に対して書き込みコマンドを発行する。同様に、読み出しコマンドを受信した際も、それに応じてＮＡＮＤインターフェース回路２１６に対して読み出しコマンドを発行する。また、プロセッサ２１１は、ウェアレベリング等、ＮＡＮＤ型フラッシュメモリ１００を管理するための様々な処理を実行する。なお、プロセッサ２１１によって制御される機能の一部または全体は、ハードウェアにより実現されてもよい。
【００１８】
ＮＡＮＤインターフェース回路２１６は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００に接続され、ＮＡＮＤ型フラッシュメモリ１００との通信を行う。そしてＮＡＮＤインターフェース回路２１６は、プロセッサ２１１から受信したコマンドに基づいて、種々の信号をＮＡＮＤ型フラッシュメモリ１００へ送信し、またＮＡＮＤ型フラッシュメモリ１００から受信する。
【００１９】
バッファメモリ２１４は、書き込みデータおよび読み出しデータを一時的に保持する。
【００２０】
内蔵メモリ２１３は、例えばＤＲＡＭまたはＳＲＡＭ等の揮発性の半導体メモリであり、プロセッサ２１１の作業領域として使用される。そして、内蔵メモリ２１３は、ＮＡＮＤ型フラッシュメモリ１００を管理するためのファームウェア、または各種の管理テーブル等を保持する。内蔵メモリ２１３の詳細については、後述する。
【００２１】
ＥＣＣ回路２１５は、ＮＡＮＤ型フラッシュメモリ１００に記憶されるデータに関する誤り検出および誤り訂正処理を行う。すなわち、ＥＣＣ回路２１５は、データの書き込み時には誤り訂正符号を生成して、これを書き込みデータに付与する。そして、ＥＣＣ回路２１５は、データの読み出し時には付与された誤り訂正符号を用いてデータの誤りを訂正する。
【００２２】
図２は、第１実施形態に係るメモリシステム３００のＮＡＮＤ型フラッシュメモリ１００を示すブロック図である。
【００２３】
図２に示すように、ＮＡＮＤ型フラッシュメモリ１００は、入出力回路１１０、ロジック回路１１１、アドレスレジスタ１１２、コマンドレジスタ１１３、シーケンサ１１４、電圧発生回路１１５、メモリセルアレイ１１６、ロウデコーダ１１７、センスアンプ１１８、およびカラムデコーダ１２０を含む。
【００２４】
ロジック回路１１１は、メモリコントローラ２００からＮＡＮＤバスを介してチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ／ＲＥ、および入出力クロックＤＱＳ／ＤＱＳｎを受信する。そして、ロジック回路１１１は、これらの信号を必要に応じて入出力回路１１０およびシーケンサ１１４に送信する。
【００２５】
入出力回路１１０は、信号ＤＱＳ／ＤＱＳｎを送信し、また信号ＤＱ＜０：７＞の送受信を行う。信号ＤＱ＜０：７＞なる表記は、信号ＤＱ０−ＤＱ７の８ビットの信号ＤＱをまとめたものであり、ビットを区別しない場合には単に信号ＤＱと記載する。入出力回路１１０は、信号ＤＱがアドレスであればこれをアドレスレジスタ１１２に送信し、信号ＤＱがコマンドであればこれをコマンドレジスタ１１３に送信する。さらに、データの書き込み時において信号ＤＱが書き込みデータであれば、これをセンスアンプ１１８に送信する。他方で、データの読み出し時には、センスアンプ１１８から転送された読み出しデータを、信号ＤＱＳ／ＤＱＳｎと共にメモリコントローラ２００へ送信する。
【００２６】
なお、信号ＣＥｎはメモリチップ毎に用意されるが、その他の信号ＡＬＥ，ＣＬＥ，ＷＥｎ，ＲＥｎ／ＲＥ，ＤＱＳ／ＤＱＳｎ，ＤＱは複数のメモリチップに共通に使用される。
【００２７】
アドレスレジスタ１１２は、メモリコントローラ２００から与えられたアドレスを保持する。コマンドレジスタ１１３は、メモリコントローラ２００から与えられたコマンドを保持する。
【００２８】
シーケンサ１１４は、ＮＡＮＤ型フラッシュメモリ１００全体の動作を制御する。より具体的には、シーケンサ１１４は、コマンドレジスタ１１３に保持されたコマンドに従い、ロジック回路１１１で各種信号が受信されたタイミングで、必要な回路ブロックに必要な動作を命令する。
【００２９】
電圧発生回路１１５は、シーケンサ１１４の制御に従い、メモリセルアレイ１１６、ロウデコーダ１１７、およびセンスアンプ１１８に必要な電圧を供給する。
【００３０】
メモリセルアレイ１１６は、例えばメモリコントローラ２００から与えられたデータを記憶する。
【００３１】
図３は、第１実施形態に係るメモリシステム３００のメモリセルアレイ１１６を示す回路図である。
【００３２】
図３に示すように、メモリセルアレイ１１６は、ブロックＢＬＫを含む。ブロックＢＬＫは、複数のＮＡＮＤストリング１２１を含む。ＮＡＮＤストリング１２１の各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０−ＭＴ７）および選択トランジスタＳＴ１、ＳＴ２を含む。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。そして、メモリセルトランジスタＭＴは、選択トランジスタＳＴ１の第１端子と選択トランジスタＳＴ２の第１端子との間に直列に電気的に接続される。
【００３３】
同一ブロック内の選択トランジスタＳＴ１の制御端子は、セレクトゲート線ＳＧＳに共通接続される。また、同一ブロック内の選択トランジスタＳＴ２の制御端子は、セレクトゲート線ＳＧＳに共通接続される。同様に、同一ブロック内のメモリセルトランジスタＭＴ０−ＭＴ７の制御端子はそれぞれ、ワード線ＷＬ０−ＷＬ７のそれぞれに共通接続される。
【００３４】
また、同一列にあるＮＡＮＤストリング１２１の選択トランジスタＳＴ１の第２端子は、ビット線ＢＬ（ＢＬ０−ＢＬ（Ｌ−１）、Ｌは２以上の自然数）に共通接続される。すなわち、ビット線ＢＬは、複数のブロックＢＬＫ間でＮＡＮＤストリング１２１を共通に接続する。さらに、複数の選択トランジスタＳＴ２の第２端子は、ソース線ＳＬに共通に接続される。
【００３５】
各メモリセルトランジスタＭＴは、１ビットまたは複数ビットのデータを保持可能である。そして、同一のワード線ＷＬに接続されたメモリセルトランジスタＭＴに対しては、一括してデータが書き込まれる。この一括して書き込まれるデータを「ページ」と呼ぶ。
【００３６】
メモリセルトランジスタＭＴが１ビットを保持する場合には、各ワード線ＷＬに接続されたメモリセルトランジスタＭＴの集合がページに相当する。つまり、１本のワード線ＷＬには１ページが割り当てられ、８本のワード線ＷＬを含むブロックＢＬＫは８ページ分の容量を有する。
【００３７】
また、メモリセルトランジスタＭＴが例えば２ビットを保持し、この２ビットをそれぞれlowerビット及びupperビットと呼ぶとすると、同一のワード線に接続されたメモリセルの保持するlowerビットの集合が１ページ（lowerページ）であり、またupperビットの集合が１ページ（upperページ）である。つまり、１本のワード線ＷＬには２ページが割り当てられ、ブロックＢＬＫは１６ページ分の容量を有する。したがって、「ページ」とは、同一ワード線に接続されたメモリセルによって形成されるメモリ空間の少なくとも一部、と定義することも出来る。データの書き込みおよび読み出しは、このページ毎に行ってもよい。一方、データの消去は、ブロックＢＬＫ単位で行われる。
【００３８】
なお、メモリセルアレイ１１６は、メモリセルトランジスタが半導体基板の上方に三次元に積層された構成であってもよい。本構成の一例としては、セレクトゲート線ＳＧＳ、ワード線ＷＬ０−ＷＬ７、およびセレクトゲート線ＳＧＤとしてそれぞれ機能する金属配線層が順次形成され、これらを貫くようにして、ＮＡＮＤストリング１２１の電流経路として機能する半導体ピラーが設けられる。そして、この半導体ピラーの一端に接するようにして、ビット線ＢＬとして機能する金属配線層が形成される。三次元ＮＡＮＤ型フラッシュメモリの構成については、例えば、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月19日に出願された米国特許出願12/147,403号に記載されている。また、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月18日に出願された米国特許出願12/146,524号、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME”という2010年3月25日に出願された米国特許出願12/679,991号、及び“SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００３９】
またデータの消去は、ブロックＢＬＫ単位、またはブロックＢＬＫよりも小さい単位で行うことが出来る。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という2011年9月18日に出願された米国特許出願13/235,389号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。さらに、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という2012年5月30日に出願された米国特許出願13/483,610号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４０】
再度、図２に示すように、メモリセルアレイ１１６は、ユーザデータ記憶部１２３および論物変換テーブル記憶部１２４を含む。ユーザデータ記憶部１２３は、ホスト４００から受信するユーザデータを記憶する。論物変換テーブル記憶部１２４は、論物変換テーブル（アドレス変換テーブル）を記憶する。論物変換テーブルは、ホスト４００が指定する論理アドレスとＮＡＮＤ型フラッシュメモリ１００の物理アドレスとを対応させるテーブルである。論物変換テーブルの詳細については、後述する。
【００４１】
ロウデコーダ１１７は、アドレスレジスタ１１２に保持されたロウアドレスをデコードする。そして、ロウデコーダ１１７は、デコード結果に基づいて、メモリセルアレイ１１６におけるブロックのいずれかを選択し、さらに選択したブロックにおけるロウ方向を選択する。
【００４２】
センスアンプ１１８は、データの読み出し時に、メモリセルアレイ１１６から読み出されたデータをセンスし、必要な演算を行う。そして、センスアンプ１１８は、読み出しデータを入出力回路１１０に送信する。一方、センスアンプ１１８は、データの書き込み時に、入出力回路１１０からのデータをメモリセルアレイ１１６に書き込む。
【００４３】
カラムデコーダ１２０は、アドレスレジスタ１１２に保持されたカラムアドレスをデコードする。そして、カラムデコーダ１２０は、デコード結果に基づいて、センスアンプ１１８のカラム位置を選択する。例えばデータの読み出し時には、カラムデコーダ１２０によって選択されたカラム位置から順番に、読み出しデータがカラム単位でメモリコントローラ２００へ送信される。
【００４４】
図４は、第１実施形態に係るメモリシステム３００のＮＡＮＤ型フラッシュメモリ１００における論物変換テーブルを示す図である。
【００４５】
図４に示すように、論物変換テーブルは、論理アドレスとこれに対応する物理アドレスとを示す。
【００４６】
論理アドレスは、ホスト４００が示すアドレスである。図４では、論理アドレスとして、０ｘ００００００００−０ｘ０００００００３、・・・、０ｘ０００１００００−０ｘ０００１０００３、・・・が示されている。一方、物理アドレスは、ＮＡＮＤ型フラッシュメモリ１００のアドレスであり、例えば、チップアドレス、ブロックアドレス、ページアドレス（ワード線ＷＬ）、およびページ内アドレス（オフセット）が割り当てられる。１つの論理アドレスは、１つの物理アドレスに対応する。例えば、図４では、論理アドレス０ｘ００００００００は、物理アドレスＣＨＩＰ＝１，ＢＬＯＣＫ＝０，ＷＬ＝１，ＯＦＦＳＥＴ＝３に対応する。なお、以下の説明において、論物変換テーブルとは、論理アドレスと物理アドレスとの１つの組、または複数の組を示す。この論物変換テーブルは、メモリシステム３００における論理アドレスと物理アドレスとの対応を示す情報であるため、ホスト４００から書き込まれたデータと同様にＮＡＮＤ型フラッシュメモリ１００に不揮発化される必要がある。
【００４７】
ホスト４００は、ＮＡＮＤ型フラッシュメモリ１００の物理アドレスを認識しない。ホスト４００は、ＮＡＮＤ型フラッシュメモリ１００のメモリ容量に基づく論理アドレスを認識し、この論理アドレスを用いてメモリコントローラ２００にアクセスする。
【００４８】
メモリコントローラ２００は、ホスト４００が指定する論理アドレスと、ＮＡＮＤ型フラッシュメモリ１００における物理アドレスとの関係を管理する。そして、メモリコントローラ２００は、ホスト４００が指定する論理アドレスから論物変換テーブルを引き、対応するＮＡＮＤ型フラッシュメモリ１００の物理アドレスにアクセスする。
【００４９】
図５は、第１実施形態に係るメモリシステム３００の内蔵メモリ２１３を示すブロック図である。
【００５０】
図５に示すように、内蔵メモリ２１３は、テーブルキャッシュ２２ｌ、差分テーブル２２２、およびアクセス情報記憶部２２３を含む。
【００５１】
テーブルキャッシュ２２１は、読み出しにおいてホスト４００から送信される論理アドレスに基づいて、対応するＮＡＮＤ型フラッシュメモリ１００内の論物変換テーブルを展開（記憶）する。差分テーブル２２２は、書き込みにおいて更新される論理アドレスと物理アドレスとの組（論物変換テーブル）を保持する。アクセス情報記憶部２２３は、過去のアクセス情報を記憶する。より具体的には、アクセス情報記憶部２２３は、読み出しにおいてテーブルキャッシュ２２１から追い出される（消去される）論物変換テーブルに関する情報を記憶する。以下に、テーブルキャッシュ２２ｌ、差分テーブル２２２、およびアクセス情報記憶部２２３について、詳説する。
【００５２】
図６は、第１実施形態に係るメモリシステム３００のテーブルキャッシュ２２ｌにおける論物変換テーブルの一例を示す図である。図７は、第１実施形態に係るメモリシステム３００のテーブルキャッシュ２２ｌにおけるラインの一例を示す図である。
【００５３】
図６に示すように、テーブルキャッシュ２２１は、ＮＡＮＤ型フラッシュメモリ１００に記憶された論物変換テーブルを展開する。例えば図６では、図４に示すＮＡＮＤ型フラッシュメモリ１００の論物変換テーブルのうち、論理アドレス０ｘ００００００００−０ｘ０００００００３に対応する論物変換テーブルが展開されている。テーブルキャッシュ２２１に展開された論物変換テーブルは例えば読み出しにおいて用いられ、これによりアクセスする物理アドレスが取得される。テーブルキャッシュ２２１の容量は、ＮＡＮＤ型フラッシュメモリ１００内の論物変換テーブルの容量よりも小さい。すなわち、テーブルキャッシュ２２１は、ＮＡＮＤ型フラッシュメモリ１００内の論物変換テーブルの一部しか展開できない。このため、ＮＡＮＤ型フラッシュメモリ１００から新たな論物変換テーブルを展開するときにテーブルキャッシュ２２１の容量が足りない場合、以前にテーブルキャッシュ２２１に記憶された論物変換テーブルが追い出され、新たな論物変換テーブル（別の論理アドレスに対応する論物変換テーブル）が展開される。
【００５４】
また、図７に示すように、テーブルキャッシュ２２１は、論物変換テーブルを所定単位（例えば５１２Ｂ）で管理し、その所定単位でラインを構成する。ラインは、ラインナンバー、ライン先頭論理アドレス、ＣＬＥＡＮ／ＤＩＲＴＹ情報、および追い出し順位を含む。
【００５５】
ラインナンバーは、そのラインの管理ナンバーを示す。ライン先頭論理アドレスは、そのラインで管理される論物変換テーブルにおける複数の論理アドレスのうち、先頭の論理アドレスを示す。ＣＬＥＡＮ／ＤＩＲＴＹ情報は、そのラインの論物変換テーブルがＣＬＥＡＮ状態であるかＤＩＲＴＹ状態であるかを示す。ＣＬＥＡＮ状態とは、そのラインの論物変換テーブルが、ＮＡＮＤ型フラッシュメモリ１００内に記憶（不揮発化）されている状態であり、テーブルキャッシュ２２１およびＮＡＮＤ型フラッシュメモリ１００のいずれにおいても更新された状態を示す。すなわち、ＮＡＮＤ型フラッシュメモリ１００内に記憶された対応する論物変換テーブルの値とテーブルキャッシュ２２１内に記憶された対応する論物変換テーブルの値とが、同じ状態である。一方、ＤＩＲＴＹ状態とは、そのラインの論物変換テーブルが、ＮＡＮＤ型フラッシュメモリ１００内に記憶（不揮発化）されていない状態であり、テーブルキャッシュ２２１のみで更新された状態を示す。すなわち、ＮＡＮＤ型フラッシュメモリ１００内に記憶された対応する論物変換テーブルの値とテーブルキャッシュ２２１内に記憶された対応する論物変換テーブルの値とが、異なる状態である。したがって、ＤＩＲＴＹ状態の論物変換テーブルは、消去することができない。追い出し順位は、新たな論物変換テーブルを展開するときにテーブルキャッシュ２２１の容量が足りない場合に追い出される順番（優先順位）を示し、追い出し順位が小さいライン（例えば、追い出し順位が０のライン）から順に追い出される。追い出し順位は、例えばテーブルキャッシュ２２１に展開された順番である。追い出し順位は、例えばテーブルキャッシュ２２１における追い出しアルゴリズムに合わせてタイムスタンプ等で代用してもよい。
【００５６】
例えば、図７では、ラインナンバー０ｘ００００には、先頭論理アドレスを０ｘ００００００００として、連続する複数の論理アドレス（例えば、０ｘ００００００００−０ｘ００００００７ｆ）に対応する論物変換テーブルが管理される。ラインナンバー０ｘ００００の論物変換テーブルは、ＣＬＥＡＮ状態である。また、ラインナンバー０ｘ００００の追い出し順位は、２である。
【００５７】
図８は、第１実施形態に係るメモリシステム３００の差分テーブル２２２の一例を示す図である。
【００５８】
図８に示すように、差分テーブル２２２は、例えば書き込みにおいて更新された論理アドレスと物理アドレスとの組（論物変換テーブル）を記憶する。例えば図８では、論理アドレス０ｘ００００００００−０ｘ０００００００３に対応する物理アドレスが更新された例を示している。この更新された論物変換テーブルは、書き込みの度に差分テーブル２２２に追加される。そして、差分テーブル２２２の更新情報量が閾値以上になった場合、差分テーブル２２２に記憶された論物変換テーブルはテーブルキャッシュ２２１に記憶され、テーブルキャッシュ２２１の論物変換テーブルが更新（テーブルキャッシュ２２１の論物変換テーブルに反映）される。
【００５９】
図９は、第１実施形態に係るメモリシステム３００のアクセス情報記憶部２２３の一例を示す図である。
【００６０】
図９に示すように、アクセス情報記憶部２２３は、テーブルキャッシュ２２１から追い出された論物変換テーブルに関する情報を記憶する。より具体的には、アクセス情報記憶部２２３は、テーブルキャッシュ２２１から追い出された論物変換テーブルのラインにおけるライン先頭論理アドレスを記憶する。例えば図９では、ライン先頭論理アドレス０ｘ００００２０００，０ｘ００００３０００を有するラインの論物変換テーブルがテーブルキャッシュ２２１から追い出されている。このアクセス情報記憶部２２３のアクセス情報は読み出しにおいて用いられ、当該読み出しが局所的な論理アドレスへのアクセス（以下、局所アクセスと称す）であるかが判定される。すなわち、対象論理アドレスへのアクセス頻度が高いかどうかが判定される。
【００６１】
［第１実施形態の動作例］
（第１実施形態における差分テーブルの更新情報の更新動作）
図１０は、第１実施形態に係るメモリシステム３００における差分テーブル２２２の更新情報の更新動作を示すフローチャートである。
【００６２】
本例では、更新情報、すなわち、更新された論物変換テーブルが、書き込みの度に差分テーブル２２２に追加される。そして、差分テーブル２２２の更新情報量が閾値以上になった場合、差分テーブル２２２に記憶された論物変換テーブルがテーブルキャッシュ２２１に記憶され、テーブルキャッシュ２２１の論物変換テーブルが更新される。さらに、テーブルキャッシュ２２１の更新された論物変換テーブルが不揮発化条件を満たす場合に更新情報が不揮発化され、満たさない場合に更新情報は不揮発化されず、ＤＩＲＴＹ状態として記憶される。以下に詳説する。
【００６３】
図１０に示すように、まず、ステップＳ１１において、プロセッサ２１１は、更新情報を差分テーブル２２２に追加する。より具体的には、プロセッサ２１１は、例えば書き込みにおいて更新された論物変換テーブルを差分テーブル２２２に記憶する。
【００６４】
次に、ステップＳ１２において、差分テーブル２２２の更新情報量が閾値以上であるかが判定される。例えば、閾値は４エントリーであるが、これに限らない。
【００６５】
ステップＳ１２において更新情報量が閾値よりも少ない場合、再度書き込みが行われて論物変換テーブルが更新されると、再度ステップＳ１１において、プロセッサ２１１は更新情報を差分テーブル２２２に追加する。一方、ステップＳ１２において更新情報量が閾値以上である場合、ステップＳ１３においてプロセッサ２１１は更新対象の論物変換テーブルをテーブルキャッシュ２２１から検索する。
【００６６】
次に、ステップＳ１４において更新対象の論物変換テーブルがテーブルキャッシュ２２１に存在するかどうかが判定される。
【００６７】
ステップＳ１４において更新対象の論物変換テーブルがテーブルキャッシュ２２１に存在する場合、ステップＳ１５においてプロセッサ２１１はテーブルキャッシュ２２１の更新対象の論物変換テーブルを差分テーブル２２２の論物変換テーブルに基づいて更新する。
【００６８】
一方、ステップＳ１４において更新対象の論物変換テーブルがテーブルキャッシュ２２１に存在しない場合、ステップＳ１６においてプロセッサ２１１はＮＡＮＤ型フラッシュメモリ１００から更新対象の論物変換テーブルをテーブルキャッシュ２２１に読み出して展開する。そして、プロセッサ２１１は、テーブルキャッシュ２２１に展開された論物変換テーブルを差分テーブル２２２の論物変換テーブルに基づいて更新する。
【００６９】
次に、ステップＳ１７において、テーブルキャッシュ２２１の更新情報が不揮発化条件を満たすかどうかが判定される。不揮発化条件とは、例えば、テーブルキャッシュ２２１の更新情報量がＮＡＮＤ型フラッシュメモリ１００に不揮発化する（書き込む）単位、すなわち、ページ単位（例えば１６ＫｉＢ）に達することを示す。また、不揮発化条件とは、例えば、テーブルキャッシュ２２１が所定時間以上更新されないことを示してもよい。
【００７０】
ステップＳ１７において不揮発化条件を満たす場合、ステップＳ１８においてプロセッサ２１１はテーブルキャッシュ２２１の更新された論物変換テーブルを不揮発化する。すなわち、プロセッサ２１１は、テーブルキャッシュ２２１の更新された論物変換テーブルをＮＡＮＤ型フラッシュメモリ１００に記憶する。
【００７１】
一方、ステップＳ１７において不揮発化条件を満たさない場合、ステップＳ１９においてプロセッサ２１１はテーブルキャッシュ２２１の更新された論物変換テーブルをＤＩＲＴＹ状態としてテーブルキャッシュ２２１に記憶する。このとき、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００への不揮発化を行わない。
【００７２】
例えば、テーブルキャッシュ２２１の更新情報量がページ単位に達しないときに不揮発化を行うと、実際に更新された論物変換テーブルだけでなく、更新されていない論物変換テーブルも不揮発化されてしまう。すなわち、無駄なデータをＮＡＮＤ型フラッシュメモリ１００に書き込むことになり、余計なＮＡＮＤ型フラッシュメモリ１００への負担や時間が掛かってしまう。したがって、本例では、テーブルキャッシュ２２１の更新情報がページ単位に達したときにのみ不揮発化が行われる。
【００７３】
その後、ステップＳ２０において、差分テーブル２２２の更新情報を全て処理したかどうかが判定される。ステップＳ２０において更新情報を全て処理していない場合、プロセッサ２１１は再度ステップＳ１３において更新対象の論物変換テーブルをテーブルキャッシュ２２１から検索する。一方、ステップＳ２０において更新情報を全て処理した場合、動作は終了する。
【００７４】
（第１実施形態における読み出し）
図１１は、第１実施形態に係るメモリシステム３００の読み出しを示すフローチャートである。
【００７５】
本例では、読み出しにおいて、テーブルキャッシュ２２１にＮＡＮＤ型フラッシュメモリ１００から論物変換テーブルが展開され、テーブルキャッシュ２２１内の論物変換テーブルが入れ替えられる。このとき、読み出しが局所アクセスであると判断された場合に、テーブルキャッシュ２２１のＤＩＲＴＹ状態の論物変換テーブルが不揮発化されて追い出される。以下に詳説する。
【００７６】
図１１に示すように、まず、ステップＳ３１において、プロセッサ２１１は、ホスト４００からリードコマンドおよび論理アドレスを受信する。
【００７７】
次に、ステップＳ３２において、受信された論理アドレスが差分テーブル２２２に存在するかどうかが判定される。
【００７８】
ステップＳ３２において、受信された論理アドレスが差分テーブル２２２に存在する場合、ステップＳ３３において、プロセッサ２１１は差分テーブル２２２から当該論理アドレスに対応する論物変換テーブルを参照する。これにより、プロセッサ２１１は、受信された論理アドレスに対応する物理アドレスを取得する。
【００７９】
ステップＳ３３において物理アドレスを取得すると、ステップＳ４４において、プロセッサ２１１は取得した物理アドレスのユーザデータをＮＡＮＤ型フラッシュメモリ１００から読み出す。そして、ステップＳ４５において、プロセッサ２１１は、読み出されたユーザデータをホスト４００に送信する。
【００８０】
ステップＳ３２において、受信された論理アドレスが差分テーブル２２２に存在しない場合、ステップＳ３４において、受信された論理アドレスがテーブルキャッシュ２２１に存在するかどうかが判定される。
【００８１】
ステップＳ３４において、受信された論理アドレスがテーブルキャッシュ２２１に存在する場合、ステップＳ３５において、プロセッサ２１１はテーブルキャッシュ２２１から当該論理アドレスに対応する論物変換テーブルを参照する。これにより、プロセッサ２１１は、受信された論理アドレスに対応する物理アドレスを取得する。
【００８２】
ステップＳ３５において物理アドレスを取得すると、ステップＳ３３後と同様に、ステップＳ４４において、ユーザデータがＮＡＮＤ型フラッシュメモリ１００から読み出され、ステップＳ４５において、読み出されたユーザデータがホスト４００に送信される。
【００８３】
ステップＳ３４において、受信された論理アドレスがテーブルキャッシュ２２１に存在しない場合、ステップＳ３６において、プロセッサ２１１はＮＡＮＤ型フラッシュメモリ１００から当該論理アドレスに対応する論物変換テーブルを読み出す。
【００８４】
次に、ステップＳ３７において、テーブルキャッシュ２２１に空きがあるかどうかが判定される。すなわち、テーブルキャッシュ２２１が、読み出された論物変換テーブルを記憶するのに十分な空き容量を有するかどうかが判定される。
【００８５】
ステップＳ３７においてテーブルキャッシュ２２１に空きがある場合、ステップＳ４３においてプロセッサ２１１は読み出された論物変換テーブルをテーブルキャッシュ２２１に展開する。これにより、プロセッサ２１１は、受信された論理アドレスに対応する物理アドレスを取得する。
【００８６】
ステップＳ３７においてテーブルキャッシュ２２１に空きがない場合、ステップＳ３８においてテーブルキャッシュ２２１にＤＩＲＴＹライン（ＤＩＲＴＹ状態のライン）が存在するかどうかが判定される。
【００８７】
ステップＳ３８においてテーブルキャッシュ２２１にＤＩＲＴＹラインが存在しない場合、ステップＳ３９においてプロセッサ２１１は追い出し対象のＣＬＥＡＮライン（ＣＬＥＡＮ状態のライン）をアクセス情報記憶部２２３に記憶する。追い出し対象のＣＬＥＡＮラインとは、追い出し順位が最も小さいＣＬＥＡＮラインを示す。このとき、追い出し対象のＣＬＥＡＮラインのライン先頭論理アドレスがアクセス情報記憶部２２３に記憶される。
【００８８】
次に、ステップＳ４０において、プロセッサ２１１は、追い出し対象のＣＬＥＡＮラインを追い出す。すなわち、追い出し対象ラインの論物変換テーブルがテーブルキャッシュ２２１から消去され、テーブルキャッシュ２２１に空きが設けられる。
【００８９】
ステップＳ４０においてテーブルキャッシュ２２１に空きが設けられると、ステップＳ４３においてプロセッサ２１１は読み出された論物変換テーブルをテーブルキャッシュ２２１に展開する。これにより、プロセッサ２１１は、受信された論理アドレスに対応する物理アドレスを取得する。
【００９０】
ステップＳ３８においてテーブルキャッシュ２２１にＤＩＲＴＹラインが存在する場合、ステップＳ４１において、受信された論理アドレスがアクセス情報記憶部２２３に存在するかどうかが判定される。より具体的には、プロセッサ２１１は、受信された論理アドレスとアクセス情報記憶部２２３に記憶されたライン先頭論理アドレスとを比較する。そして、プロセッサ２１１は、受信された論理アドレスがアクセス情報記憶部２２３のライン先頭論理アドレスで示される範囲内に含まれるかどうかを判定する。これにより、受信された論理アドレスが、局所アクセスであるかどうかが判定される。
【００９１】
ステップＳ４１において、受信された論理アドレスがアクセス情報記憶部２２３に存在しない場合、ステップＳ３９において追い出し対象のＣＬＥＡＮラインがアクセス情報記憶部２２３に記憶される。
【００９２】
ステップＳ４１において、受信された論理アドレスがアクセス情報記憶部２２３に存在する場合、ステップＳ４２においてプロセッサ２１１はテーブルキャッシュ２２１内の全てのＤＩＲＴＹラインを不揮発化して追い出す。すなわち、プロセッサ２１１はテーブルキャッシュ２２１内の全てのＤＩＲＴＹラインに対応する論物変換テーブルをＮＡＮＤ型フラッシュメモリ１００に記憶する。そして、テーブルキャッシュ２２１内の全てのＤＩＲＴＹラインに対応する論物変換テーブルがテーブルキャッシュ２２１から消去され、テーブルキャッシュ２２１に空きが設けられる。
【００９３】
ステップＳ４２においてテーブルキャッシュ２２１に空きが設けられると、ステップＳ４０後と同様に、ステップＳ４３において、読み出された論物変換テーブルがテーブルキャッシュ２２１に展開され、受信された論理アドレスに対応する物理アドレスが取得される。
【００９４】
その後、ステップＳ３３，Ｓ３５後と同様に、ステップＳ４４においてユーザデータがＮＡＮＤ型フラッシュメモリ１００から読み出され、ステップＳ４５において、読み出されたユーザデータがホスト４００に送信される。
【００９５】
以上の読み出し動作を、より具体的に説明する。
【００９６】
図１２および図１３は第１実施形態に係るメモリシステム３００における読み出しの第１例を示す図であり、図１４および図１５は第１実施形態に係るメモリシステム３００における読み出しの第２例を示す図である。ここで、第１例は受信された論理アドレスがアクセス情報記憶部２２３に存在する場合を示し、第２例は受信された論理アドレスがアクセス情報記憶部２２３に存在しない場合を示す。
【００９７】
図１２に示すように、第１例では、まず、ホスト４００から論理アドレス０ｘ００００３２００（先頭論理アドレス）が受信される。そして、ＮＡＮＤ型フラッシュメモリ１００に記憶されている論物変換テーブルから論理アドレス０ｘ００００３２００に対応するラインが読み出される。
【００９８】
このとき、テーブルキャッシュ２２１に空きがなく、テーブルキャッシュ２２１にＤＩＲＴＹラインが存在する。このため、受信された論理アドレス０ｘ００００３２００がアクセス情報記憶部２２３のライン先頭論理アドレスで示される範囲内に含まれるかどうかが判定される。アクセス情報記憶部２２３にはライン先頭論理アドレスとして０ｘ０００２００００が記憶され、これは例えば論理アドレス０ｘ０００２００００−０ｘ０００２００７ｆを含む。したがって、受信された論理アドレス０ｘ００００３２００は、アクセス情報記憶部２２３のライン先頭論理アドレスで示される範囲内に含まれない。このため、テーブルキャッシュ２２１内のＤＩＲＴＹラインは追い出されず、追い出し順位が最も小さいＣＬＥＡＮラインが追い出し対象となる。ここでは、追い出し順位が１のＣＬＥＡＮライン（ライン先頭論理アドレス０ｘ００００００００）が追い出し対象となる。そして、追い出し対象であるＣＬＥＡＮラインのライン先頭論理アドレス０ｘ００００００００がアクセス情報記憶部２２３に記憶される。
【００９９】
その後、図１３に示すように、追い出し対象のＣＬＥＡＮラインが追い出され、テーブルキャッシュ２２１に空きが設けられる。そして、ＮＡＮＤ型フラッシュメモリ１００から読み出された論理アドレス０ｘ００００３２００のラインがテーブルキャッシュ２２１に記憶される。また、追い出し順位が０のＤＩＲＴＹライン以外の各ラインの追い出し順位は繰り上げられる。
【０１００】
図１４に示すように、第２例では、まず、ホスト４００から論理アドレス０ｘ０００２００００（先頭論理アドレス）が受信される。そして、ＮＡＮＤ型フラッシュメモリ１００に記憶されている論物変換テーブルから論理アドレス０ｘ０００２００００に対応するラインが読み出される。
【０１０１】
このとき、テーブルキャッシュ２２１に空きがなく、テーブルキャッシュ２２１にＤＩＲＴＹラインが存在する。このため、受信された論理アドレス０ｘ００００３２００がアクセス情報記憶部２２３のライン先頭論理アドレスで示される範囲内に含まれるかどうかが判定される。アクセス情報記憶部２２３にはライン先頭論理アドレスとして０ｘ０００２００００（論理アドレス０ｘ０００２００００−０ｘ０００２００７ｆ）が記憶されている。したがって、受信された論理アドレス０ｘ０００２００００は、アクセス情報記憶部２２３のライン先頭論理アドレスで示される範囲内に含まれる。このため、テーブルキャッシュ２２１内の全てのＤＩＲＴＹラインは、ＮＡＮＤ型フラッシュメモリ１００に不揮発化される。
【０１０２】
その後、図１５に示すように、不揮発化されたＤＩＲＴＹラインが追い出され、テーブルキャッシュ２２１に空きが設けられる。そして、ＮＡＮＤ型フラッシュメモリ１００に記憶されている論物変換テーブルから論理アドレス０ｘ００００３２００に対応するラインがテーブルキャッシュ２２１に記憶される。また、各ラインの追い出し順位は繰り上げられる。
【０１０３】
［第１実施形態の効果］
以下に、第１比較例および第２比較例におけるメモリシステム３００の問題および第１実施形態の効果を説明する。
【０１０４】
第１比較例におけるメモリシステム３００では、論物変換テーブルはＮＡＮＤ型フラッシュメモリ１００に記憶される。読み出しでは、まず、ホスト４００が指定する論理アドレスに応じて、ＮＡＮＤ型フラッシュメモリ１００から論物変換テーブルが読み出される。そして、論物変換テーブルから論理アドレスに対応する物理アドレスが取得され、その物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータが読み出される。すなわち、第１比較例における読み出しでは、ＮＡＮＤ型フラッシュメモリ１００から論物変換テーブルの読み出しおよびユーザデータの読み出しの２回の読み出しが行われていた。このため、ＮＡＮＤ型フラッシュメモリ１００に負担が掛かるとともに読み出し速度が遅くなってしまい、読み出しにおける性能が劣化してしまう。
【０１０５】
これを解決するために、第２比較例におけるメモリシステム３００では、メモリコントローラ２００のテーブルキャッシュ２２１にＮＡＮＤ型フラッシュメモリ１００の論物変換テーブルが展開され、展開されたメモリコントローラ２００内の論物変換テーブルが用いられる。これにより、ＮＡＮＤ型フラッシュメモリ１００からの論物変換テーブルの読み出しを最小限にし、読み出しにおける性能の劣化を抑制することができる。しかし、テーブルキャッシュ２２１は容量が小さいため、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブルの一部しか展開できない。このため、テーブルキャッシュ２２１の論物変換テーブルは、適宜入れ替えが必要となる。
【０１０６】
一方、第２比較例の書き込みにおいて新たなデータが書き込まれるときに、論物変換テーブルは更新される。このとき、更新対象となる論物変換テーブルがテーブルキャッシュ２２１に存在する場合に、テーブルキャッシュ２２１上で更新処理が行われる。また、更新対象となる論物変換テーブルがテーブルキャッシュ２２１に存在しない場合に、ＮＡＮＤ型フラッシュメモリ１００からテーブルキャッシュ２２１に更新対象の論物変換テーブルを展開し、テーブルキャッシュ２２１上で更新処理が行われる。その後、テーブルキャッシュ２２１で更新された論物変換テーブルは、不揮発化条件を満たさない限り（ページ単位に満たない限り）、ＮＡＮＤ型フラッシュメモリ１００へ不揮発化されない。このため、テーブルキャッシュ２２１にのみ最新の（更新された）論物変換テーブルが残る場合が生じる。このような論物変換テーブルは、ＤＩＲＴＹ状態とされ、以降の更新（書き込み）において不揮発化されるまで追い出されない（入れ替えられない）。
【０１０７】
仮にホスト４００から読み出し要求ばかりが続く場合、書き込みが行われないためにテーブルキャッシュ２２１は更新されない。これにより、不揮発化条件が満たされることはなく、テーブルキャッシュ２２１の一部がＤＩＲＴＹ状態の論物変換テーブルで占有されてしまう。このため、読み出しにおいて利用可能なテーブルキャッシュ２２１の容量が目減りする。したがって、本来テーブルキャッシュ２２１に展開可能な範囲の読み出しにおいて、論物変換テーブルをテーブルキャッシュ２２１に展開することができなくなってしまう。その結果、ＮＡＮＤ型フラッシュメモリ１００から論物変換テーブルを読み出す必要があり、読み出し性能が低下してしまう。
【０１０８】
このような第２比較例に対し、第１実施形態によれば、読み出しにおいてテーブルキャッシュ２２１の論物変換テーブルが入れ替えられると、追い出された論物変換テーブルの情報（先頭論理アドレス）がアクセス情報記憶部２２３に記憶される。そして、以降の読み出しにおいて、読み出し対象の論理アドレスがアクセス情報記憶部２２３に存在すれば、その読み出しが局所アクセスであると判断される。この場合、テーブルキャッシュ２２１のＤＩＲＴＹ状態の論物変換テーブルは、局所アクセスに不要と判断される。したがって、ＤＩＲＴＹ状態の論物変換テーブルは不揮発化されて追い出され、テーブルキャッシュ２２１に空きが設けられる。この空きに局所アクセスと判断された読み出し対象の論理アドレスに対応する論物変換テーブルが展開される。これにより、容量の少ないテーブルキャッシュ２２１を有効に活用することができ、読み出しにおける性能向上を図ることができる。
【０１０９】
＜第２実施形態＞
以下に図１６および図２０を用いて、第２実施形態に係る半導体記憶装置について説明する。
【０１１０】
なお、第２実施形態では、主に上記第１実施形態と異なる点について説明し、同様の点については省略する。
【０１１１】
［第２実施形態の構成例］
図１６は、第２実施形態に係るメモリシステム３００のテーブルキャッシュ２２１を示す図である。
【０１１２】
図１６に示すように、テーブルキャッシュ２２１は、テーブル管理情報記憶部２３１および論物変換テーブル記憶部２３２を含む。
【０１１３】
論物変換テーブル記憶部２３２は、ＮＡＮＤ型フラッシュメモリ１００内の論物変換テーブルを展開して記憶する。
【０１１４】
テーブル管理情報記憶部２３１は、テーブル管理情報を記憶する。テーブル管理情報は、論理アドレス、キャッシュ内テーブルアドレス、ＮＡＮＤ内テーブルアドレス、およびキャッシュヒット履歴情報を含む。
【０１１５】
キャッシュ内テーブルアドレスは、テーブルキャッシュ２２１における論物変換テーブル記憶部２３２内のアドレス（ＣＲＡ）を示す。この論物変換テーブル記憶部２３２内のアドレスに、対象論理アドレスに対応する論物変換テーブルが存在する。なお、キャッシュ内テーブルアドレスのＩｎｖａｌｉｄとは、対応する論物変換テーブルがテーブルキャッシュ２２１内に存在しないことを示す。
【０１１６】
ＮＡＮＤ内テーブルアドレスは、ＮＡＮＤ型フラッシュメモリ１００における論物変換テーブル記憶部１２４のアドレス（ＭＲＡ）を示す。この論物変換テーブル記憶部１２４内のアドレスに、対象論理アドレスに対応する論物変換テーブルが存在する。
【０１１７】
キャッシュヒット履歴情報は、以前の読み出しにおいて対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１内（論物変換テーブル記憶部２３２内）に存在していたかどうか（ヒットしたかミスしたか）の履歴を示す情報である。
【０１１８】
図１７は、第２実施形態に係るメモリシステム３００のキャッシュヒット履歴情報を示す図である。
【０１１９】
図１７に示すように、キャッシュヒット履歴情報は２ビット（「００」、「０１」、「１０」、「１１」）で示される情報である。キャッシュヒット履歴情報が第１値（「１０」または「１１」）である場合、その論理アドレスは局所アクセスされている（アクセス頻度が高い）と判断され、これに対応する論物変換テーブルは読み出し時にテーブルキャッシュ２２１上に展開（キャッシュ）される。このため、キャッシュヒット履歴情報が「１０」または「１１」の論物変換テーブルはキャッシュ対象となる。一方、キャッシュヒット履歴情報が第２値（「００」または「０１」）である場合、その論理アドレスは局所アクセスされていない（アクセス頻度が低い）と判断され、これに対応する論物変換テーブルは読み出し時にテーブルキャッシュ２２１上に展開（キャッシュ）されない。すなわち、キャッシュヒット履歴情報が「００」または「０１」の論物変換テーブルはキャッシュ非対象となる。
【０１２０】
なお、キャッシュヒット履歴情報は２ビットの情報に限らず、１ビットまたは３ビット以上の情報であってもよい。
【０１２１】
キャッシュヒット履歴情報は、以下のように設定される。
【０１２２】
図示するように、初期状態において、キャッシュヒット履歴情報は「１１」である。この状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１内に存在している場合（ヒットする場合）、プロセッサ２１１はキャッシュヒット履歴情報を「１１」に維持する。一方、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１内に存在していない場合（ミスする場合）、すなわち、キャッシュ内テーブルアドレスがＩｎｖａｌｉｄの場合、プロセッサ２１１はキャッシュヒット履歴情報を「１０」に設定する。
【０１２３】
キャッシュヒット履歴情報が「１０」の状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１内に存在している場合（ヒットする場合）、プロセッサ２１１はキャッシュヒット履歴情報を「１１」に設定する。一方、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１内に存在していない場合（ミスする場合）、すなわち、キャッシュ内テーブルアドレスがＩｎｖａｌｉｄの場合、プロセッサ２１１はキャッシュヒット履歴情報を「０１」に設定する。
【０１２４】
キャッシュヒット履歴情報が「０１」の状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルはテーブルキャッシュ２２１に展開されていない。すなわち、キャッシュ内テーブルアドレスは、Ｉｎｖａｌｉｄである。この場合、読み出しのアクセス要求（読み出しコマンド受信）によって、プロセッサ２１１はキャッシュヒット履歴情報を「００」に設定する。
【０１２５】
キャッシュヒット履歴情報が「００」の状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルはテーブルキャッシュ２２１に展開されていない。すなわち、キャッシュ内テーブルアドレスは、Ｉｎｖａｌｉｄである。この場合、読み出しのアクセス要求によって、プロセッサ２１１はキャッシュヒット履歴情報を「００」に維持する、または「１０」に設定する。
【０１２６】
キャッシュヒット履歴情報の設定方法ついての詳細は、後述する。
【０１２７】
図１６では、例えば、論理アドレスＬＡ０におけるキャッシュ内テーブルアドレスはＣＲＡ０であり、ＮＡＮＤ内テーブルアドレスはＭＲＡ０であり、キャッシュヒット履歴情報は、「１１」である。すなわち、論理アドレスＬＡ０に対応する論物変換テーブルは、テーブルキャッシュ２２１の論物変換テーブル記憶部２３２におけるアドレスＣＲＡ０に存在する。また、論理アドレスＬＡ０に対応する論物変換テーブルは、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部１２４においてアドレスＭＲＡ０に存在する。このとき、論理アドレスＬＡ０が読み出される場合、テーブルキャッシュ２２１の論物変換テーブル記憶部２３２の論物変換テーブルから対応する物理アドレスが取得される。
【０１２８】
また、論理アドレスＬＡ１におけるキャッシュ内テーブルアドレスはＣＲＡ１であり、ＮＡＮＤ内テーブルアドレスはＭＲＡ１であり、キャッシュヒット履歴情報は、「１０」である。すなわち、論理アドレスＬＡ１に対応する論物変換テーブルは、テーブルキャッシュ２２１の論物変換テーブル記憶部２３２におけるアドレスＣＲＡ１に存在する。また、論理アドレスＬＡ１に対応する論物変換テーブルは、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部１２４においてアドレスＭＲＡ１に存在する。このとき、論理アドレスＬＡ１が読み出される場合、テーブルキャッシュ２２１の論物変換テーブル記憶部２３２の論物変換テーブルから対応する物理アドレスが取得される。
【０１２９】
また、論理アドレスＬＡ２におけるキャッシュ内テーブルアドレスはＩｎｖａｌｉｄであり、ＮＡＮＤ内テーブルアドレスはＭＲＡ２であり、キャッシュヒット履歴情報は、「１１」である。すなわち、論理アドレスＬＡ２に対応する論物変換テーブルは、テーブルキャッシュ２２１の論物変換テーブル記憶部２３２において存在しない。また、論理アドレスＬＡ２に対応する論物変換テーブルは、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部２３２におけるアドレスＭＲＡ２に存在する。このとき、論理アドレスＬＡ２が読み出される場合、キャッシュヒット履歴情報が「１１」であるため、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部１２４の論物変換テーブルがテーブルキャッシュ２２１の論物変換テーブル記憶部２３２に展開される。そして、展開された論物変換テーブルから対応する物理アドレスが取得される。
【０１３０】
また、論理アドレスＬＡ３におけるキャッシュ内テーブルアドレスはＩｎｖａｌｉｄであり、ＮＡＮＤ内テーブルアドレスはＭＲＡ３であり、キャッシュヒット履歴情報は、「０１」である。すなわち、論理アドレスＬＡ３に対応する論物変換テーブルは、テーブルキャッシュ２２１の論物変換テーブル記憶部２３２において存在しない。また、論理アドレスＬＡ３に対応する論物変換テーブルは、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部２３２におけるアドレスＭＲＡ３に存在する。このとき、論理アドレスＬＡ３が読み出される場合、キャッシュヒット履歴情報が「０１」であるため、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部１２４の論物変換テーブルがテーブルキャッシュ２２１の論物変換テーブル記憶部２３２に展開されない。このため、直接ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブル記憶部１２４の論物変換テーブルから対応する物理アドレスが取得される。
［第２実施形態の動作］
（第２実施形態における読み出しの第１例）
図１８は、第２実施形態に係るメモリシステム３００における読み出しの第１例を示すフローチャートである。
【０１３１】
第１例では、読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１に存在するかどうかが判定される。その判定結果に応じて、キャッシュヒット履歴情報が更新される。そして、キャッシュヒット履歴情報の値に応じて、対象論理アドレスが局所アクセスであるかどうかが判定され、局所アクセスではない場合にＮＡＮＤフラッシュ型メモリ１００からテーブルキャッシュ２２１への論物変換テーブルの展開が制限される。以下に、詳説する。
【０１３２】
図１８に示すように、第１例では、まず、ステップＳ５１においてプロセッサ２１１はホスト４００からリードコマンドおよび論理アドレスＬＡ０を受信する。
【０１３３】
次に、ステップＳ５２において、プロセッサ２１１は、キャッシュヒット履歴情報を初期状態として「１１」に設定する。
【０１３４】
次に、ステップＳ５３において、プロセッサ２１１は、受信された論理アドレスＬＡ０に対応する論物変換テーブルをＮＡＮＤ型フラッシュメモリ１００から読み出す。このとき、キャッシュヒット履歴情報が「１１」であるため、プロセッサ２１１は読み出された論物変換テーブルをテーブルキャッシュ２２１に展開（記憶）する。
【０１３５】
次に、ステップＳ５４において、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。より具体的には、プロセッサ２１１は、テーブルキャッシュ２２１に展開された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。
【０１３６】
その後、各種動作が行われる。この各種動作によって、テーブルキャッシュ２２１に展開された論理アドレスＬＡ０の論物変換テーブルは、追い出される場合がある。
【０１３７】
次に、ステップＳ５５においてプロセッサ２１１がホスト４００からリードコマンドおよび論理アドレスＬＡ０を再度受信すると、ステップＳ５６においてプロセッサ２１１は論理アドレスＬＡ０の論物変換テーブルがテーブルキャッシュ２２１に存在するかどうかを判定する。
【０１３８】
ステップＳ５６において論理アドレスＬＡ０の論物変換テーブルがテーブルキャッシュ２２１に存在する場合（キャッシュ内テーブルアドレスがＣＲＡである場合）、ステップＳ５４においてプロセッサ２１１はユーザデータを読み出す。すなわち、プロセッサ２１１は、テーブルキャッシュ２２１に展開された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。
【０１３９】
ステップＳ５６において論理アドレスＬＡ０の論物変換テーブルがテーブルキャッシュ２２１に存在しない場合（キャッシュ内テーブルアドレスがＩｎｖａｌｉｄである場合）、ステップＳ５７においてプロセッサ２１１はキャッシュヒット履歴情報を「１０」に設定する。
【０１４０】
次に、ステップＳ５８において、プロセッサ２１１は、受信された論理アドレスＬＡ０に対応する論物変換テーブルをＮＡＮＤ型フラッシュメモリ１００から読み出す。このとき、キャッシュヒット履歴情報が「１０」であるため、プロセッサ２１１は読み出された論物変換テーブルをテーブルキャッシュ２２１に展開する。
【０１４１】
次に、ステップＳ５９において、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。より具体的には、プロセッサ２１１は、テーブルキャッシュ２２１に展開された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。
【０１４２】
その後、各種動作が行われる。この各種動作によって、テーブルキャッシュ２２１に展開された論理アドレスＬＡ０の論物変換テーブルは、追い出される場合がある。
【０１４３】
次に、ステップＳ６０においてプロセッサ２１１がホスト４００からリードコマンドおよび論理アドレスＬＡ０を再度受信すると、ステップＳ６１においてプロセッサ２１１は論理アドレスＬＡ０の論物変換テーブルがテーブルキャッシュ２２１に存在するかどうかを判定する。
【０１４４】
ステップＳ６１において論理アドレスＬＡ０の論物変換テーブルがテーブルキャッシュ２２１に存在する場合、ステップＳ６２においてプロセッサ２１１はキャッシュヒット履歴情報を「１１」に設定する。ステップＳ６２においてキャッシュヒット履歴情報が「１１」に設定されると、ステップＳ５４においてテーブルキャッシュ２２１に展開された論物変換テーブルに基づいてユーザデータが読み出される。
【０１４５】
ステップＳ６１において論理アドレスＬＡ０の論物変換テーブルがテーブルキャッシュ２２１に存在しない場合、ステップＳ６３においてプロセッサ２１１はキャッシュヒット履歴情報を「０１」に設定する。すなわち、キャッシュヒット履歴情報は、キャッシュ対象の第１値からキャッシュ非対象の第２値に設定される。
【０１４６】
次に、ステップＳ６４において、プロセッサ２１１は、受信された論理アドレスＬＡ０に対応する論物変換テーブルをＮＡＮＤ型フラッシュメモリ１００から読み出す。このとき、キャッシュヒット履歴情報が「０１」であるため、プロセッサ２１１は、「１１」および「１０」のときと異なり、読み出された論物変換テーブルをテーブルキャッシュ２２１に展開しない。
【０１４７】
次に、ステップＳ６５において、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。より具体的には、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００から読み出された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。
【０１４８】
その後、各種動作が行われる。
【０１４９】
次に、ステップＳ６６においてプロセッサ２１１がホスト４００からリードコマンドおよび論理アドレスＬＡ０を再度受信すると、ステップＳ６７においてプロセッサ２１１はキャッシュヒット履歴情報を「００」に設定する。
【０１５０】
次に、ステップＳ６８において、プロセッサ２１１は、受信された論理アドレスＬＡ０に対応する論物変換テーブルをＮＡＮＤ型フラッシュメモリ１００から読み出す。このとき、キャッシュヒット履歴情報が「００」であるため、プロセッサ２１１は読み出された論物変換テーブルをテーブルキャッシュ２２１に展開しない。
【０１５１】
次に、ステップＳ６９において、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。より具体的には、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００から読み出された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。
【０１５２】
その後、ステップＳ６６において、プロセッサ２１１がホスト４００からリードコマンドおよび論理アドレスＬＡ０を再度受信すると、同様の動作が繰り返し続けられる。
【０１５３】
（第２実施形態における読み出しの第２例）
図１９は、第２実施形態に係るメモリシステム３００における読み出しの第２例を示すフローチャートである。
【０１５４】
第２例では、キャッシュヒット履歴情報がキャッシュ非対象である「０１」になった場合であっても、２回の読み出しアクセスが行われると、プロセッサ２１１はキャッシュヒット履歴情報をキャッシュ対象である「１０」に設定する。以下に、詳説する。
【０１５５】
図１９に示すように、第２例ではステップＳ８１−Ｓ９９において、第１例におけるステップＳ５１−Ｓ６９と同様の動作が行われる。
【０１５６】
その後、各種動作が行われる。
【０１５７】
次に、ステップＳ１００においてプロセッサ２１１がホスト４００からリードコマンドおよび論理アドレスＬＡ０を再度受信すると、ステップＳ８７においてプロセッサ２１１はキャッシュヒット履歴情報を「１０」に設定する。すなわち、キャッシュヒット履歴情報は、キャッシュ非対象の第２値からキャッシュ対象の第１値に設定される。
【０１５８】
すなわち、第２例では、キャッシュヒット履歴情報がキャッシュ非対象の値「０１」になった場合であっても、２回の読み出しアクセス（ステップＳ９６，Ｓ１００）が行われると、キャッシュヒット履歴情報が、キャッシュ非対象からキャッシュ対象になる。
【０１５９】
（第２実施形態における読み出しの第３例）
図２０は、第２実施形態に係るメモリシステム３００における読み出しの第３例を示すフローチャートである。
【０１６０】
第３例では、キャッシュヒット履歴情報がキャッシュ非対象である「０１」になった場合であっても、所定回数の読み出しアクセスが行われると、キャッシュヒット履歴情報がキャッシュ対象である「１０」になる。以下に、詳説する。
【０１６１】
図２０に示すように、第３例ではステップＳ１１１−Ｓ１２９において、第１例におけるステップＳ５１−Ｓ６９と同様の動作が行われる。
【０１６２】
その後、各種動作が行われる。
【０１６３】
次に、ステップＳ１３０においてプロセッサ２１１がホスト４００からリードコマンドおよび論理アドレスＬＡ０を再度受信すると、ステップＳ１３１においてプロセッサ２１１は論理アドレスＬＡ０への読み出し回数が閾値以上であるかどうか判定する。
【０１６４】
ステップ１３１において読み出し回数が閾値より少ない場合、ステップＳ１２９においてプロセッサ２１１はＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。より具体的には、プロセッサ２１１は、ＮＡＮＤ型フラッシュメモリ１００から読み出された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてＮＡＮＤ型フラッシュメモリ１００からユーザデータを読み出す。
【０１６５】
ステップ１３１において読み出し回数が閾値以上である場合、ステップＳ１１７においてプロセッサ２１１はキャッシュヒット履歴情報を「１０」に設定する。すなわち、キャッシュヒット履歴情報は、キャッシュ非対象の第２値からキャッシュ対象の第１値に設定される。
【０１６６】
すなわち、第３例では、キャッシュヒット履歴情報がキャッシュ非対象の値「０１」になった場合であっても、所定回数の読み出しアクセス（ステップＳ１２６，Ｓ１３０）が行われると、キャッシュヒット履歴情報が、キャッシュ非対象からキャッシュ対象になる。
【０１６７】
［第２実施形態の効果］
メモリシステム３００において、テーブルキャッシュ２２１は容量が小さいため、ＮＡＮＤ型フラッシュメモリ１００の論物変換テーブルの一部しか展開できない。このため、テーブルキャッシュ２２１の論物変換テーブルは、適宜入れ替えられる。この際、読み出しのアクセス頻度が低い論理アドレス、例えば１度だけ読み出された論理アドレスに対応する論物変換テーブルもテーブルキャッシュ２２１に展開される。このように、アクセス頻度が低い論物変換テーブルがテーブルキャッシュ２２１に展開されたとしても、それ以降、展開された当該論物変換テーブルが用いられることは少なく、テーブルキャッシュ２２１の利用効率が悪くなってしまう。
【０１６８】
これに対し、第２実施形態では、読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ２２１に存在するかどうかが判定される。これにより、その判定結果に応じて、キャッシュヒット履歴情報が更新される。そして、キャッシュヒット履歴情報の値に応じて対象論理アドレスへの局所アクセスであるかどうか（アクセス頻度が高いかどうか）が判定される。その結果、アクセス頻度が低い場合にＮＡＮＤフラッシュ型メモリ１００からテーブルキャッシュ２２１への論物変換テーブルの展開が行われず、アクセス頻度が高い場合にＮＡＮＤフラッシュ型メモリ１００からテーブルキャッシュ２２１への論物変換テーブルの展開が行われる。これにより、アクセス頻度が高い論理アドレスの論物変換テーブルによって、効率よくテーブルキャッシュ２２１を利用することができる。
【０１６９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を実行することができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７０】
１００…ＮＡＮＤ型フラッシュメモリ（不揮発性メモリ）、２００…メモリコントローラ、３００…メモリシステム、４００…ホスト、２２１…テーブルキャッシュ（第１メモリ）、２２３…アクセス情報記憶部（第２メモリ）。
【図１】
2019057074.tif 000003
【図２】
2019057074.tif 000004
【図３】
2019057074.tif 000005
【図４】
2019057074.tif 000006
【図５】
2019057074.tif 000007
【図６】
2019057074.tif 000008
【図７】
2019057074.tif 000009
【図８】
2019057074.tif 000010
【図９】
2019057074.tif 000011
【図１０】
2019057074.tif 000012
【図１１】
2019057074.tif 000013
【図１２】
2019057074.tif 000014
【図１３】
2019057074.tif 000015
【図１４】
2019057074.tif 000016
【図１５】
2019057074.tif 000017
【図１６】
2019057074.tif 000018
【図１７】
2019057074.tif 000019
【図１８】
2019057074.tif 000020
【図１９】
2019057074.tif 000021
【図２０】
2019057074.tif 000022