(57)【要約】【課題】本発明が解決しようとする課題は、性能を向上させたメモリシステムを提供することである。【解決手段】実施形態のメモリシステムは、ホスト装置に接続可能であって、揮発性メモリと、消去単位であるブロックを複数備える不揮発性メモリと、前記揮発性メモリと前記不揮発性メモリを制御するコントローラと、を備える。前記コントローラは、前記ホスト装置から受信した削除要求で指定された論理アドレスおよび削除範囲を示す第１のデータを前記不揮発性メモリに保存し、前記ホスト装置から受信した書き込み要求で指定された第２のデータを前記不揮発性メモリに保存する。【選択図】図１
2018160156.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に接続可能であって、
揮発性メモリと
消去単位であるブロックを複数備える不揮発性メモリと、
前記揮発性メモリと前記不揮発性メモリを制御し、
前記ホスト装置から受信した削除要求で指定された論理アドレスおよび削除範囲を示す第１のデータを前記不揮発性メモリに保存し、
前記ホスト装置から受信した書き込み要求で指定された第２のデータを前記不揮発性メモリに保存するメモリコントローラと、
を備えるメモリシステム。
【請求項２】
前記メモリコントローラは、所定の第１のタイミングで前記第１のデータおよび前記第２のデータのうち少なくとも一つを前記不揮発性メモリに保存し、前記揮発性メモリに保存されており前記ホスト装置で管理される論理アドレスと前記不揮発性メモリの物理アドレスとを関連付ける管理情報を所定の第２のタイミングで前記不揮発性メモリに保存する請求項１に記載のメモリシステム。
【請求項３】
前記不揮発性メモリは、データ領域と管理情報領域を備え、
前記メモリコントローラは、前記第１のデータおよび前記第２のデータのうち少なくとも一つを前記データ領域に保存し、前記管理情報を前記管理情報領域に保存する請求項２に記載のメモリシステム。
【請求項４】
前記メモリコントローラは、前記削除要求に対して、前記管理情報の前記削除要求で指定された論理アドレスから物理アドレスへの関連付けを削除する請求項２または請求項３に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、前記第１のデータを前記データ領域に保存する場合、前記削除要求の受信時期に対応する第１情報を含む第１のログを前記データ領域へ保存する請求項３または請求項４に記載のメモリシステム。
【請求項６】
前記メモリコントローラは、前記第２のデータを前記データ領域に保存する場合、前記第２のデータに対応する論理アドレスおよび前記書き込み要求の受信時期に対応する第２情報を含む第２のログを前記データ領域へ保存する請求項５に記載のメモリシステム。
【請求項７】
前記メモリコントローラは、前記メモリシステムの起動時に、前記管理情報領域に保存された前記管理情報と、前記データ領域に保存された前記第１のログおよび前記第２のログと、を使用して、管理情報を生成し、前記生成された管理情報を前記不揮発性メモリへ保存する請求項６に記載のメモリシステム。
【請求項８】
前記第１のデータは、前記削除要求で指定された論理アドレスと前記削除範囲のサイズを示す情報を含む請求項１乃至請求項７の何れか１項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリのような不揮発性メモリと、メモリコントローラと、を備えるメモリシステムが提供されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２３４９９号公報
【特許文献２】特開２０１３−２００６８８号公報
【特許文献３】米国特許第８９４９５１２号明細書
【特許文献４】特開２０１０−１５２５１４号公報
【特許文献５】特開２０１１−１２８９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、性能を向上させたメモリシステムを提供することである。
【課題を解決するための手段】
【０００５】
上記課題を達成するために、実施形態のメモリシステムは、ホスト装置に接続可能であって、揮発性メモリと、消去単位であるブロックを複数備える不揮発性メモリと、前記揮発性メモリと前記不揮発性メモリを制御するコントローラと、を備える。前記コントローラは、前記ホスト装置から受信した削除要求で指定された論理アドレスおよび削除範囲を示す第１のデータを前記不揮発性メモリに保存し、前記ホスト装置から受信した書き込み要求で指定された第２のデータを前記不揮発性メモリに保存する。
【図面の簡単な説明】
【０００６】
【図１】実施形態に係るメモリシステムの構成例を示すブロック図。
【図２】実施形態に係るメモリシステムのＮＡＮＤメモリに含まれる１個のブロックの構成の一例を示す回路図。
【図３】実施形態に係るメモリシステムのＲＡＭの領域構成を模式的に示す図。
【図４】実施形態に係るメモリシステムのＮＡＮＤメモリの領域構成を模式的に示す図。
【図５】実施形態に係るメモリシステムのＲＡＭの管理情報保存領域に保存される管理情報を模式的に示す図。
【図６】実施形態に係るメモリシステムの論理ＮＡＮＤ管理情報の一例を示す図。
【図７】実施形態に係るメモリシステムの書き込み要求および削除要求に対する不揮発化処理の一例を示すフローチャート。
【図８】比較例に係るメモリシステムの書き込み要求および削除要求に対する不揮発化処理の一例を示すフローチャート。
【図９】実施形態に係るメモリシステムが組み込まれたシステムを例示した図。
【図１０】実施形態に係るメモリシステムが組み込まれたポータブルコンピュータを例示した図。
【発明を実施するための形態】
【０００７】
以下、発明を実施するための実施形態について図面を参照して説明する。
【０００８】
（実施形態）
図１は、本実施形態に係るメモリシステムの構成例を示すブロック図である。メモリシステム１は、ホスト装置２と通信線で接続され、ホスト装置２の外部記憶装置として機能する。ホスト装置２は、例えば、パーソナルコンピュータなどの情報処理装置、携帯電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなどの車載端末であってもよい。
【０００９】
図１に示すように、メモリシステム１は、ＮＡＮＤメモリ１０、ＲＡＭ（Random  Access  Memory）２０、ＮＡＮＤメモリ１０およびＲＡＭ２０を制御するメモリコントローラ３０、および外部電源３から電源が供給される電源回路４０を備えている。
【００１０】
ＮＡＮＤメモリ１０は、バスを介してメモリコントローラ３０に接続されている。またＮＡＮＤメモリ１０は、それぞれが同一の回路構成のフラッシュメモリである複数のメモリチップであるメモリチップ＃１  １１−１、・・・、メモリチップ＃Ｎ  １１−Ｎを備える。なお、Ｎは任意の自然数である。
【００１１】
以下の説明において、複数のメモリチップ１１−１、・・・、１１−Ｎのうち１つを特定する必要がある場合は符号１１−１、・・・、１１−Ｎを使用するが、任意のメモリチップを指す場合や、あるメモリチップを他のメモリチップと区別しない場合は、符号１１を使用する。
【００１２】
メモリチップ１１の各々は、例えば互いに独立して動作可能であり、その一例としてはＮＡＮＤ型フラッシュメモリチップである。ＮＡＮＤ型フラッシュメモリチップでは、一般に、ページと呼ばれるデータ単位で、書き込みおよび読み出しが行われ、ブロックと呼ばれるデータ単位で消去が行われる。
【００１３】
本実施形態では、不揮発性メモリつまり不揮発性の記憶手段としてＮＡＮＤメモリ１０を用いて説明するが、不揮発性の記憶手段として３次元構造フラッシュメモリ、ＲｅＲＡＭ（Resistance Random Access Memory）やＦｅＲＡＭ（Ferroelectric Random Access Memory）等のＮＡＮＤ型フラッシュメモリ以外の不揮発性半導体メモリを用いてもよい。また、磁気ディスク等の、半導体メモリ以外の記憶手段を用いてもよい。
【００１４】
ＲＡＭ２０は、揮発性メモリであり、例えば、ＤＲＡＭ（Dynamic  Random  Access  Memory）であるが、これに限られずＳＲＡＭ（Static  Random  Access  Memory）であってもよく、ＤＲＡＭやＳＲＡＭ以外の汎用メモリで構成されてもよい。また、ＲＡＭ２０は、メモリコントローラ３０の外にメモリコントローラ３０とは独立して搭載されてもよいし、メモリコントローラ３０内部に搭載されてもよい。
【００１５】
メモリシステム１は、ＮＡＮＤメモリ１０とＲＡＭ２０とメモリコントローラ３０とが１つのパッケージとして構成されるメモリカードであってもよいし、ＳＳＤ（Solid State Drive）であってもよい。
【００１６】
メモリコントローラ３０は、ホスト装置２からの書き込み要求に従ってＮＡＮＤメモリ１０への書き込みを制御する。本実施形態において、要求とは、例えば、命令、コマンドである。また、ホスト装置２からの読み出し要求に従ってＮＡＮＤメモリ１０からの読み出しを制御する。メモリコントローラは、メモリコントロール回路、コントローラ、コントロール回路とも称される。
【００１７】
メモリコントローラ３０は、メモリコントローラ３０がＮＡＮＤメモリ１０に対するアクセスを行うための管理情報をＲＡＭ２０へ記憶する。管理情報の詳細は後述する。また、メモリコントローラ３０は、ＲＡＭ２０を、ホスト装置２とＮＡＮＤメモリ１０との間のデータ転送のためのバッファとして使用する。また、ＲＡＭ２０は、後述するファームウェアプログラムがロードされるバッファとして使用されてもよい。
【００１８】
電源回路４０は、外部電源３から供給された電源を用いて複数の内部電源を生成する。これらの内部電源は、例えばＮＡＮＤメモリ１０等のメモリシステム１内の各部に供給される。外部電源３は、ホスト装置２の内部に搭載されてもよく、ホスト装置２と独立して設けられてもよい。
【００１９】
また、電源回路４０は、外部電源３の立ち上がりまたは立ち下りを検知して、パワーオンリセット信号またはパワーオフリセット信号を生成する。これらパワーオンリセット信号およびパワーオフリセット信号は、メモリコントローラ３０へ送られる。
【００２０】
メモリコントローラ３０は、ホストインターフェース（ホストＩ／Ｆ）３１、制御部３２、ＲＡＭコントローラ（ＲＡＭＣ）３３、符号化部／復号部（Encoder/Decoder）３４およびメモリインターフェース（メモリＩ／Ｆ）３５を備える。
【００２１】
ホストＩ／Ｆ３１、制御部３２、ＲＡＭ２３、符号化部／復号部３４およびメモリＩ／Ｆ３５は、内部バス３６で接続されている。
【００２２】
ホストＩ／Ｆ３１は、ホスト装置２との間のインターフェース規格に従った処理を実施し、ホスト装置２から受信した要求、ユーザデータなどを内部バス３６に出力する。また、ホストＩ／Ｆ３１は、ＮＡＮＤメモリ１０から読み出されたユーザデータ、制御部３２からの応答などをホスト装置２へ送信する。なお、本実施の形態では、ホスト装置２からの書き込み要求によりＮＡＮＤメモリ１０へ書き込まれるデータをユーザデータと呼ぶ。
【００２３】
ホストＩ／Ｆ３１が従うインターフェース規格は、ＳＡＴＡ（Serial Advanced Technology Attachment）インターフェース、ＰＣＩ Ｅｘｐｒｅｓｓ(Peripheral Component Interconnect Express, PCIe)、ＵＳＢ（Universal Serial Bus）、ＳＡＳ（Serial Attached SCSI）、Thunderbolt（登録商標）、イーサネット（登録商標）、ファイバーチャネル等の任意のインターフェース規格であってよい。
【００２４】
制御部３２は、メモリシステム１の各構成要素を統括的に制御する。制御部３２は、ハードウェアにより実現されてもよいし、ＣＰＵ（Central Processing Unit）等のプロセッサがファームウェアプログラムを実行することにより実現されてもよい。
【００２５】
制御部３２の処理が、プロセッサがファームウェアプログラムを実行することにより実現される場合、例えば、プロセッサが、メモリシステム１が外部電源３から電源供給を受けたときに、図示しないＲＯＭに格納されているファームウェアプログラム（制御プログラム）をＲＡＭ２０または制御部３２内の図示しないメモリへ読み出して所定の処理を実行することにより、制御部３２の処理が実現される。ここで、プロセッサは、コアまたはプロセッサコアとも称される。
【００２６】
制御部３２は、ホスト装置２からホストＩ／Ｆ３１経由で要求を受けた場合に、その要求に従って、ＮＡＮＤメモリ１０に対する命令をメモリＩ／Ｆ３５へ指示する。
【００２７】
ホスト装置２から送信される要求には、データの読み出しを要求する読み出し要求、データの書き込みを要求する書き込み要求、データの削除を要求する削除要求などが含まれる。
【００２８】
例えば、制御部３２は、ホスト装置２から受信した書き込み要求で指定された論理アドレス（以下、ＬＢＡ（Logical  Block  Address）と称する。）と書き込み要求で指定されたユーザデータが格納されるＮＡＮＤメモリ１０上の格納領域を示す物理アドレスをとの対応関係を決定する。そして、制御部３２は、物理アドレスに対するユーザデータの書き込みをメモリＩ／Ｆ３５へ指示する。
【００２９】
ここで、ＬＢＡは、ホスト装置のアドレス管理方法によって管理されるアドレスであり、ホスト装置２は、ＬＢＡの最小単位であるセクタ単位でメモリシステム１へアクセスする。
【００３０】
また、制御部３２は、ホスト装置２から読み出し要求を受信した場合、読み出し要求により指定された論理アドレスを物理アドレスに変換し、該物理アドレスからの読み出しをメモリＩ／Ｆ３５へ指示する。
【００３１】
削除要求は、ホスト装置２からメモリシステム１に対してデータの削除を要求する命令であり、例えば、ホスト装置２上のＯＳによってデータの削除が行われた場合にメモリシステム１に対して送信される。削除要求は、例えば、トリムコマンドと呼ばれる。
【００３２】
トリムコマンドの例として、Information technology ATA/ATAPI Command Set-3 (ACS-3)に記載されている06h DataSet Managementコマンドや、NVM Express Revision 1.1に記載されている09h Dataset ManagementコマンドのDeallocateがあげられる。これは、ホスト装置２のＯＳ上でデータが削除された場合、ホスト装置２が、削除されたデータの存在する論理アドレス領域（以下、ＬＢＡ領域と称する。）を、ＬＢＡおよびセクタ数の組みよりなるＬＢＡ Range Entryとしてメモリシステム１のような外部記憶装置に通知することにより、この外部記憶装置でもそのＬＢＡ領域を空き領域として扱うことができる方式である。
【００３３】
制御部３２は、ホスト装置２から削除要求を受信した場合、例えば、削除要求により指定されたＬＢＡと当該ＬＢＡに対応する物理アドレスとの対応関係を削除または無効化すること等の処理を行う。
【００３４】
なお、メモリシステム１は、前記コマンドだけでなく、たとえば、Information technology ATA/ATAPI Command Set-3 (ACS-3)で記述されているSCT Command Transportや、NVM Express Revision 1.1に記載されている08h Write Zeroesコマンドや、その他ベンダー独自のコマンドなどその他コマンドを受信した場合にも、トリムコマンドを受信したときの処理と同じ処理を実行してもよい。
【００３５】
ＲＡＭＣ３３は、ＲＡＭ２０を制御し、メモリコントローラ３０とＲＡＭ２０との間の通信インターフェースの機能を有し、ＲＡＭ３０とメモリコントローラ３０との間のデータ転送を実行する。
【００３６】
制御部３２は、メモリコントローラ３０がホスト装置２から受信したユーザデータを、ＮＡＮＤメモリ１０へ記憶するまでの間に、ＲＡＭＣ２３経由でＲＡＭ２０に一時格納する。また、制御部３２は、ＲＡＭＣ２３経由で、ＲＡＭ２０へ、ＮＡＮＤメモリ１０から読み出したユーザデータをホスト装置２へ送信するまでの間一時的に保存する。
【００３７】
符号化部／復号部３４は、符号化回路３４１と復号回路３４２とを備える。符号化部／復号部はＥＣＣ（Error Correcting Code）回路とも称される。
【００３８】
符号化回路３４１は、ＲＡＭ２０に保持されたデータを符号化して、データと冗長部（パリティ）とを有する符号語を生成する。符号化回路３４１は、第１のデータ長のユーザデータを符号化（誤り訂正符号化）して第２のデータ長の符号語を生成する。符号化回路３４１が行う符号化では、例えば、ＢＣＨ（Bose-Chaudhuri-Hocquenghem）符号、ＲＳ（Reed-Solomon）符号、ＬＤＰＣ（Low Density Parity Check）符号等を用いることができる。なお、符号化回路３４１が用いる誤り訂正符号はこれらに限定されない。
【００３９】
復号回路３４２は、ＮＡＮＤメモリ１０から読み出されたデータである符号語をメモリＩ／Ｆ３５経由で取得し、取得した符号語を復号する。復号回路３４２は、復号時に誤り訂正に失敗した場合は、制御部３２に誤り訂正失敗を通知する。
【００４０】
メモリＩ／Ｆ３５は、ＮＡＮＤメモリ１０を制御する。メモリＩ／Ｆ３５は、制御部３２等の制御に従って符号化回路３４１から出力された符号語をＮＡＮＤメモリ１０に書き込む。また、メモリＩ／Ｆ３５は、制御部３２等の制御に従ってＮＡＮＤメモリ１０からデータを読み出し、ＲＡＭ２０経由で復号回路３４２に転送する。更にメモリＩ／Ｆ３５は、制御部３２等の制御に従って、ＮＡＮＤメモリ１０に保存されているデータを消去する。
【００４１】
つぎに、ＮＡＮＤメモリ１０の構成について説明する。ＮＡＮＤメモリ１０は、データ消去の単位であるブロックを複数配列して構成される。図２は、ＮＡＮＤメモリに含まれる１個のブロックの構成の一例を示す回路図である。なお、この図２において、紙面上の左右方向をＸ方向とし、紙面上のＸ方向に垂直な方向をＹ方向としている。
【００４２】
ＮＡＮＤメモリ１０の各ブロックは、Ｘ方向に沿って順に配列された（ｍ＋１）個（ｍは０以上の整数）のＮＡＮＤストリングＮＳを備えている。各ＮＡＮＤストリングＮＳは、Ｙ方向に隣接するメモリセルトランジスタＭＴ間で拡散領域（ソース領域またはドレイン領域）を共有してＹ方向に直列に接続された（ｎ＋１）個（ｎは０以上の整数）のメモリセルトランジスタＭＴ０〜ＭＴｎと、この（ｎ＋１）個のメモリセルトランジスタＭＴ０〜ＭＴｎの列の両端に配置される選択トランジスタＳＴ１，ＳＴ２と、を有する。
【００４３】
各メモリセルトランジスタＭＴ０〜ＭＴｎは、半導体基板上に形成された積層ゲート構造を有するＭＯＳＦＥＴ（Metal  Oxide  Semiconductor  Field  Effect  Transistor）から構成される。ここで、積層ゲート構造には、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（浮遊ゲート電極）と、この電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極と、が含まれる。
【００４４】
なお、本実施形態に係るメモリシステムのＮＡＮＤメモリ１０は、メモリセルトランジスタＭＴ０〜ＭＴｎが、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じて２ビット以上のデータを記憶することができる多値メモリであってもよいし、各メモリセルトランジスタＭＴ０〜ＭＴｎが、１ビットのデータを記憶する２値型のメモリであってもよい。
【００４５】
ＮＡＮＤストリングＮＳを構成するメモリセルトランジスタＭＴ０〜ＭＴｎの制御ゲート電極には、それぞれワード線ＷＬ０〜ＷＬｎが接続されており、また各ＮＡＮＤストリングＮＳ中のメモリセルトランジスタＭＴｉ（ｉ＝０〜ｎ）間は、同一のワード線ＷＬｉ（ｉ＝０〜ｎ）によって共通接続されている。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴｉの制御ゲート電極は、同一のワード線ＷＬｉに接続される。この同一のワード線ＷＬｉに接続される（ｍ＋１）個のメモリセルトランジスタＭＴｉは１ページとして取り扱われ、ＮＡＮＤメモリ１０では、このページ単位でデータの書込みと読出しが行われる。この同一のワード線ＷＬｉに接続される（ｍ＋１）個のメモリセルトランジスタＭＴｉの群は１つのページを形成する単位となる。４値を記憶することができる多値メモリの場合には、同一のワード線ＷＬｉに接続されるメモリセルトランジスタＭＴｉの群は、２つのページを形成する。最初に書込みが行われるページを下位ページとし、２回目に書込みが行われるページを上位ページとすると、ＮＡＮＤメモリ１０では、このページ単位でデータの書込みと読出しが行われる。
【００４６】
１つのブロック内の（ｍ＋１）個の選択トランジスタＳＴ１のドレインにはそれぞれビット線ＢＬ０〜ＢＬｍが接続され、ゲートには選択ゲート線ＳＧＤが共通接続されている。また、選択トランジスタＳＴ１のソースはメモリセルトランジスタＭＴ０のドレインと接続されている。同様に、１つのブロック内の（ｍ＋１）個の選択トランジスタＳＴ２のソースにはソース線ＳＬが共通接続され、ゲートには選択ゲート線ＳＧＳが共通接続されている。また、選択トランジスタＳＴ２のドレインはメモリセルトランジスタＭＴｎのソースと接続されている。
【００４７】
なお、図示されていないが、１つのブロック内のビット線ＢＬｊ（ｊ＝０〜ｍ）は、他のブロックのビット線ＢＬｊとの間で、選択トランジスタＳＴ１のドレインを共通に接続している。つまり、複数のブロック内において同一列にあるＮＡＮＤストリングＮＳ間は、同一のビット線ＢＬｊによって接続される。
【００４８】
メモリＩ／Ｆ３５と各メモリチップ１１との間は、ＮＡＮＤインターフェースに従ったバスによって接続される。このバス上で送受信される信号は、例えばチップイネーブル信号／ＣＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、および入出力信号Ｉ／Ｏ等である。信号／ＣＥはメモリチップ１１をイネーブルにするための信号である。信号ＡＬＥは、入力信号がアドレスであることをメモリチップ１１に通知する信号である。信号ＣＬＥは、入力信号がコマンドであることをメモリチップ１１に通知する信号である。信号／ＷＥは、入力信号をメモリチップ１１に取り込ませるための信号である。信号／ＲＥは、出力信号をメモリＩ／Ｆ３５に取り込ませるための信号である。入出力信号Ｉ／Ｏは、正味のコマンド、アドレス、およびデータ等の信号である。
【００４９】
つぎに、ＲＡＭ２０とＮＡＮＤメモリ１０に保存されるデータについて説明する。図３はＲＡＭ２０の領域構成を模式的に示す図であり、図４は、ＮＡＮＤメモリ１０の領域構成を模式的に示す図である。
【００５０】
図３に示されるように、ＲＡＭ２０は、ホスト装置２から読み出し要求のあったデータが一次保存されるリードキャッシュ領域２１０と、ホスト装置２からの書き込み要求で指定されたユーザデータおよびホスト装置からの削除要求で指定されたアドレスが一次保存されるデータ保存領域２２０と、ＲＡＭ２０およびＮＡＮＤメモリ１０に保存されるデータの保存位置を管理するための管理情報が保存される管理情報保存領域２３０と、を有している。
【００５１】
管理情報保存領域２３０は、制御部３２が管理情報を復元する際に使用する作業領域をさらに有してもよい。管理情報保存領域２３０に記憶される管理情報は、ＲＡＭ２０およびＮＡＮＤメモリ１０に記憶されるデータの保存位置を管理するためのマスタ情報と、マスタ情報に更新があった場合にマスタ情報に対する更新部分を示す更新情報と、を有するように構成されてもよい。
【００５２】
図４に示されるように、ＮＡＮＤメモリ１０は、ホスト装置２からの書き込み要求によるユーザデータおよびホスト装置２からの削除要求で指定されたアドレスが格納されるデータ領域１１０と、ＲＡＭ２０の管理情報保存領域２３０に保存される管理情報の少なくとも一部を含む情報が保存される管理情報領域１２０と、を有する。
【００５３】
制御部３２は、管理情報領域１２０へ、ＮＡＮＤメモリ１０に記憶されるデータの保存位置を管理するためのマスタ情報であってある時点におけるマスタ情報のコピーであるスナップショットと、スナップショットからの差分情報であるログと、スナップショットの保存位置を示すポインタと、を含む情報を保存してもよい。
【００５４】
また、制御部３２は、データ領域１１０と、管理情報領域１２０と、を管理する際、ＮＡＮＤメモリ１０の各ブロックの領域をさらにデータの書き込みまたは読み出し単位であるページサイズ単位の領域に分割して管理してもよい。
【００５５】
ＲＡＭ２０は、前述したようにリードキャッシュ領域２１０、データ保存領域２２０、管理情報保存領域２３０と、を備える。
【００５６】
リードキャッシュ領域２１０は、メモリコントローラ３０がＮＡＮＤメモリ１０から読み出したデータを一時保存してホスト装置２へ出力するために使用する領域である。
【００５７】
データ保存領域２２０は、メモリコントローラ３０がホスト装置２からの書き込み要求で指定されたデータや削除要求のデータを一時保存して、ＮＡＮＤメモリ１０に出力するために使用する領域である。
【００５８】
削除要求のデータとは、ホスト装置２から受信した削除要求で指定される削除対象範囲である開始ＬＢＡおよび削除範囲のサイズを特定できるデータまたは情報であればよく、ホスト装置２から受信した削除要求に含まれるデータそのものを使用してもよいし、データの形式を変更して使用してもよく、データの形式は任意である。
【００５９】
リードキャッシュ領域２１０やデータ保存領域２２０に保存されるデータは、セクタ単位で管理される。
【００６０】
制御部３２は、データ保存領域２２０のリソースが不足した場合には、データ保存領域２２０に保存されているユーザデータや削除要求のデータの少なくとも一部をＮＡＮＤメモリ１０のデータ領域１１０に保存する。
【００６１】
また、制御部３２は、データ保存領域２２０に保存されているユーザデータや削除要求のデータが一定サイズ溜まったら、または、定期的または任意のタイミングでデータ保存領域２２０に保存されているユーザデータや削除要求のデータの少なくとも一部をＮＡＮＤメモリ１２のデータ領域１１０に保存する。
【００６２】
制御部３２は、ユーザデータや削除要求のデータをＮＡＮＤメモリ１０のデータ領域１１０に保存する際に、保存対象であるユーザデータや削除要求のデータのデータ毎にログ情報を対応づけてＮＡＮＤメモリ１２のデータ領域１１０に保存する。
【００６３】
ＮＡＮＤメモリ１０への保存対象であるデータがユーザデータである場合、ログ情報は、例えば、識別情報、ユーザデータのＬＢＡを示す情報である論理アドレスログ、時系列情報を含む。
【００６４】
ＮＡＮＤメモリ１０への保存対象であるデータが削除要求のデータである場合、ログ情報は、例えば、識別情報、時系列情報を含む。
【００６５】
識別情報は、ＮＡＮＤメモリ１０への保存対象のデータがユーザデータであるか削除要求のデータであるかを識別できる情報である。
【００６６】
また、時系列情報は、ＮＡＮＤメモリ１０への保存対象のデータに対応する要求のホスト装置からの受信順序または受信時期を特定できる情報であればよい。時系列情報は、例えば、ホスト装置２から書き込み要求や削除要求を受信した時刻を示す情報であってもよいし、ホスト装置２から書き込み要求や削除要求を受信する毎にカウントアップする数値を示す情報であってもよい。ここで、受信した時刻を示す情報は、例えば年月日時分秒のような絶対時間であってもよいし、ある時点を基準とした相対時間であってもよい。
【００６７】
ここで、制御部３２は、ＮＡＮＤメモリ１０へ保存対象となるデータ毎にログ情報を保存してもよいし、所定サイズを有する複数のデータの各々のデータに対するログ情報を集めて、集めたログ情報をまとめて保存してもよい。
【００６８】
ここで所定サイズとは、例えば、ページサイズ、ブロックサイズ、ページよりもサイズが小さいクラスタサイズである。所定サイズがクラスタサイズの場合、各ページは、ページよりもサイズが小さいクラスタの複数倍のサイズを有し、各ページに対して、複数のクラスタサイズのデータで構成されるページサイズのデータが格納される。
【００６９】
なお、制御部３２は、ログ情報を、ログ情報に対応する保存対象のデータの保存位置とアドレスが連続する位置に保存してもよいし、対応する保存対象のデータの保存位置とアドレスが連続する位置とは別の位置に保存してもよい。また、制御部２０は、ログ情報を、ログ情報に対応する保存対象のデータが保存されるページと同じページへ保存してもよいし、異なるページへ保存してもよい。また、制御部２０は、ログ情報を、ログ情報に対応する保存対象のデータが保存されるブロックと同じブロックへ保存してもよいし、異なるブロックへ保存してもよい。
【００７０】
図５は、ＲＡＭ２０の管理情報保存領域２３０に保存される管理情報を模式的に示す図である。制御部３２は、ＲＡＭ２０の管理情報保存領域２３０に保存される管理情報を使用して、ＲＡＭ２０やＮＡＮＤメモリ１０に保存されるデータを管理する。
【００７１】
管理情報保存領域２３０に保存される管理情報は、例えば、制御部３２が、キャッシュの役割をするＲＡＭ２０のデータ管理を行うためのＲＡＭ管理情報２３１と、制御部３２がＮＡＮＤメモリ１０での論理的なデータ管理を行うための論理ＮＡＮＤ管理情報２３２と、制御部３２がＮＡＮＤメモリ１０での物理的なデータ管理やＮＡＮＤメモリ１０の延命処理などを行うためのＮＡＮＤ内論理アドレス−物理アドレス変換情報（以下、ＮＡＮＤ内論物変換情報という）２３３である。図５に示されるＲＡＭ管理情報２３１と、論理ＮＡＮＤ管理情報２３２と、ＮＡＮＤ内論物変換情報２３３は、管理情報保存領域２３０に保存される管理情報の一例であって、管理情報の構成はこれに限定されない。
【００７２】
制御部３２は、ホスト装置２から受信した書き込み要求で指定されたユーザデータを、ＲＡＭ２０のデータ保存領域２２０の所定の物理アドレスに保存する。ＲＡＭ２０内の物理アドレスは、ＲＡＭ内物理アドレスとも称される。
【００７３】
また、制御部３２は、ホスト装置２から受信した削除要求のデータを、ＲＡＭ２０のデータ保存領域２２０の所定のＲＡＭ内物理アドレスに保存する。
【００７４】
また、制御部３２は、ホスト装置２から受信した読み出し要求によりＮＡＮＤメモリ１０から読み出したデータをリードキャッシュ領域２１０の所定のＲＡＭ内物理アドレスに保存する。
【００７５】
ＲＡＭ管理情報２３１は、例えば、ユーザデータのＬＢＡとＲＡＭ内物理アドレスとの対応関係と、ＲＡＭ２０のページ中のセクタサイズ単位のデータの有無を示すセクタフラグと、を含む。また、ＲＡＭ管理情報２３１は、削除要求のデータとＲＡＭ内物理アドレスとの対応関係と、ＲＡＭ２０のページ中のセクタサイズ単位のデータの有無を示すセクタフラグと、を含む。
【００７６】
また、ＲＡＭ管理情報２３１は、データ保存領域２２０に保存されるユーザデータおよび削除要求のデータに対して、制御部３２が、識別情報、時系列情報を特定できるような情報を含む。
【００７７】
論理ＮＡＮＤ管理情報２３２とＮＡＮＤ内論物変換情報２３３は、制御部３２が、ＮＡＮＤメモリ１０に保存されているデータを管理するのに使用される。制御部３２は、論理ＮＡＮＤ管理情報２３２とＮＡＮＤ内論物変換情報２３３を使用してＮＡＮＤメモリ１０のデータを管理する。
【００７８】
ＮＡＮＤメモリ１０では、データがＮＡＮＤメモリ１０の所定の物理アドレスに格納される。ＮＡＮＤメモリ１０の物理アドレスは、ＮＡＮＤ内物理アドレスとも称される。ＮＡＮＤメモリ１０では、データの書き込み／読み出し処理と消去処理とでは処理単位が異なるため、制御部３２は、ＮＡＮＤメモリ１０内のあるＮＡＮＤ内物理アドレスに書き込まれたデータの更新を行う場合に、そのデータが含まれるブロックのうち更新が必要な部分を反映させたデータを、更新前のデータが保存されている元のブロックとは異なるブロックに書き込み、元のブロックを無効化する。
【００７９】
このように、ＮＡＮＤメモリ１０では、データの更新処理においては、更新前のデータが保存されるブロックと更新後のデータが保存されるブロックとが異なる。そこで、制御部３２は、論理ＮＡＮＤ管理情報２３２に、ＮＡＮＤ内物理アドレスの他に論理ＮＡＮＤブロックアドレス（以下、ＮＡＮＤ内論理アドレスという）を設けて、ＮＡＮＤメモリ１０のデータを管理する。
【００８０】
論理ＮＡＮＤ管理情報２３２では、例えば、ＲＡＭ２０上のページサイズ単位のユーザデータのＬＢＡと、ＲＡＭ２０上のユーザデータが格納されるＮＡＮＤメモリ１０の論理的なページ位置を示すＮＡＮＤ内論理アドレスとの間の関係と、ＮＡＮＤメモリ１２における消去単位のブロックとサイズが一致する論理的なブロック（以下、論理ブロックという）のアドレス範囲を示す関係と、が示される。なお、ＮＡＮＤメモリ１２における消去単位のブロックとサイズが一致する論理的なブロックを複数まとめたものを論理ブロックとしてもよい。
【００８１】
また、ＮＡＮＤ内論物変換情報２３３は、ＮＡＮＤメモリ１０におけるＮＡＮＤ内論理アドレスとＮＡＮＤ内物理アドレスとの対応関係を含む。
【００８２】
図６は、論理ＮＡＮＤ管理情報テーブル５１２の一例を示す図である。図６に示されるように、論理ＮＡＮＤ管理情報２３２は、論理ページ管理情報５１２ａと論理ブロック管理情報５１２ｂとを含む。論理ページ管理情報５１２ａは、１ページサイズの論理的な領域１つに対して１エントリとし、各エントリには、１ページサイズのデータのＬＢＡと、ＮＡＮＤ内論理アドレス（論理ＮＡＮＤブロックアドレス）と、当該ページが有効か無効かを示す無効フラグと、当該ページが削除要求による指定があるか否かを示す削除要求フラグなどを含む。無効フラグがオンであるページとは、同一ＬＢＡの最新データが他の場所に書きこまれ、参照されることがなくなったページのことをいう。論理ページ管理情報５１２ａにおいては、削除要求フラグと無効フラグを同一フラグによって管理しても良い。
【００８３】
また、論理ブロック管理情報５１２ｂは、ＮＡＮＤメモリ１０の１ブロックサイズの物理的な領域に対して設定されるＮＡＮＤ内物理アドレス（物理ブロックアドレス）を含む。また、ＮＡＮＤメモリ１０のＮＡＮＤ内物理アドレスとＮＡＮＤ内論理アドレスとがＮＡＮＤ内論物変換情報２３３において対応付けられている。
【００８４】
制御部３２は、論理ＮＡＮＤ管理情報２３２とＮＡＮＤ内論物変換情報２３３を使用することにより、ホスト装置２で使用されるＬＢＡと、ＮＡＮＤメモリ１０で使用されるＮＡＮＤ内論理アドレスと、ＮＡＮＤメモリ１０で使用されるＮＡＮＤ内物理アドレスとの間を対応付けることができ、ホスト装置２とメモリシステム１との間でデータのやり取りを行なうことが可能となる。
【００８５】
なお、ＲＡＭ管理情報２３１は、メモリシステム１の電源オフなどによって消失するので、揮発性テーブルとも称される。
【００８６】
論理ＮＡＮＤ管理情報２３２とＮＡＮＤ内論物変換情報２３３は、ＮＡＮＤメモリ１０に格納されているデータを管理する情報であり、この情報がなければＮＡＮＤメモリ１０に格納されているデータにアクセスできなかったり、ＮＡＮＤメモリ１０のデータ領域１１０に保存したデータの管理が出来なかったりするので、不意のメモリシステム１の電源断などに備えて、制御部３２は、定期的または任意のタイミングで、論理ＮＡＮＤ管理情報２３２とＮＡＮＤ内論物変換情報２３３をＮＡＮＤメモリ１０へ保存する。制御部３２が、定期的または任意のタイミングで、ＮＡＮＤメモリ１０へ保存することは、不揮発化するとも称される。論理ＮＡＮＤ管理情報２３２とＮＡＮＤ内論物変換情報２３３は、定期的または任意のタイミングで、ＮＡＮＤメモリ１０へ保存されるため、不揮発性テーブルとも称される。
【００８７】
なお、ＲＡＭ管理情報２３１、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３は、ＲＡＭ２０の管理情報保存領域２３０に保存される管理情報の構成の一例であり、本実施形態に係るメモリシステムの管理情報の構成は、制御部３２が、ＬＢＡとＮＡＮＤメモリ１０でのデータ保存位置を示す物理アドレスとの対応関係、各データが有効か無効か、削除要求の対象となっているか否か、を特定可能な管理情報であればよく、管理情報の構成は任意である。
【００８８】
図７は、本実施形態に係るメモリシステムのホスト装置２から受信した書き込み要求および削除要求に対する不揮発化処理の一例を示すフローチャートである。このフローチャートは、ホスト装置２から書き込み要求または削除要求を受け、要求のあったデータおよびこれに対応する情報をＮＡＮＤメモリ１００へ保存する処理を示している。
【００８９】
書き込み要求では、ユーザデータやユーザデータのＬＢＡが指定されている。メモリシステム１は、書き込み要求の受信が可能か否かを判断し、書き込み要求の受信が可能である場合に、ホスト装置２から書き込み要求を受信してもよい。
【００９０】
また、削除要求では、削除対象のデータのＬＢＡや削除対象範囲が指定されている。メモリシステム１は、削除要求の受信が可能か否かを判断し、削除要求の受信が可能である場合に、ホスト装置２から削除要求を受信してもよい。
【００９１】
図７のフローチャートではこれらの過程を省略し、メモリシステム１のメモリコントローラ３０がホスト装置２からホストＩ／Ｆ３１経由で書き込み要求および削除要求の受信が可能であることを前提として説明を行う。
【００９２】
メモリコントローラ３０の制御部３２は、ホスト装置２から書き込み要求を受けたか判定する（ステップ７０１）。
【００９３】
書き込み要求を受ける（ステップ７０１：Ｙｅｓ）と、メモリコントローラ３０の制御部３２は、書き込み要求で指定されたＬＢＡに対応するＮＡＮＤ内物理アドレスおよびＲＡＭ内物理アドレスを決定し、指定されたＬＢＡおよび決定された物理アドレスの情報をＲＡＭ管理情報２３１、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３へ反映させる（ステップ７０２）。
【００９４】
そして、メモリコントローラ３０の制御部３２は、書き込み要求で指定された書き込み対象のユーザデータの符号化を符号化回路３４１へ指示し、符号化回路３４１は書き込み対象のユーザデータを符号化する。
【００９５】
メモリコントローラ３０の制御部３２は、符号化回路３４１から符号化されたユーザデータを受け取り、符号化されたデータをＲＡＭ２０のデータ保存領域２２０へ書き込む（ステップ７０３）。
【００９６】
つぎに、メモリコントローラ３０の制御部３２は、ホスト装置２から削除要求を受けたか判定する（ステップ７０４）。書き込み要求を受けていないと判定した場合も（ステップ７０１：Ｎｏ）、メモリコントローラ３０の制御部３２は、ホスト装置２から削除要求を受けたか判定する（ステップ７０４）。
【００９７】
削除要求を受けると（ステップ７０４：Ｙｅｓ）、メモリコントローラ３０の制御部３２は、削除要求のデータの保存先となるＮＡＮＤ内物理アドレスおよびＲＡＭ内物理アドレスを決定し、決定された物理アドレスをＲＡＭ管理情報２３１、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３へ反映させる（ステップ７０５）。
【００９８】
メモリコントローラ３０の制御部３２は、削除要求のデータをＲＡＭ２０のデータ保存領域２２０へ書き込む（ステップ７０６）。
【００９９】
上記に示したようにメモリコントローラ３０の制御部３２は、ホスト装置２から書き込み要求または削除要求を受け取ると、書き込み要求で指定されたユーザデータと削除要求のデータとをデータ保存領域２２０へ書き込む。また、上述したようにメモリコントローラ３０の制御部３２は、データ保存領域２２０へ書き込む際、書き込み要求または削除要求を受け取った順を管理、追跡できるように、要求を受け取った時刻に対応する時系列情報をＲＡＭ管理情報２３１およびデータ保存領域２２０の少なくとも一方へ保存する。
【０１００】
つぎに、メモリコントローラ３０の制御部３２は、データ保存領域２２０に保存されているデータを不揮発化する所定の第１のタイミングか否かを判定する（ステップ７０７）。ここで、所定の第１のタイミングは、データ保存領域２２０に保存されているデータのサイズが一定サイズを超えた場合、メモリシステム１の電源断が行われる場合、定期的なタイミング、等の任意のタイミングであってよい。ここで一定サイズとは、クラスタ単位、ページ単位等任意の単位であってよい。
【０１０１】
また、所定の第１のタイミングは、例えば、メモリシステム１が電源断を指定するコマンドや省電力モードへの移行を指定するコマンドをホスト装置２から受信した場合であってもよい。
【０１０２】
削除要求を受けていないと判定した場合も（ステップ７０４：Ｎｏ）、メモリコントローラ３０の制御部３２は、所定の第１のタイミングか否かを判定する（ステップ７０７）。
【０１０３】
所定の第１のタイミングである場合（ステップ７０７：Ｙｅｓ）、メモリコントローラ３０の制御部３２は、データ保存領域２２０に保存されているユーザデータおよび削除要求のデータをＮＡＮＤメモリ１０へ保存し、不揮発化する（ステップ７０８）。メモリシステム１の不意の電源断等によりＲＡＭ２０のデータ保存領域２２０に格納されているユーザデータや削除要求のデータが消滅するのを防ぐために、データ保存領域２２０に格納されているユーザデータや削除要求のデータをＮＡＮＤメモリ１０のデータ領域１１０に反映、不揮発化させる必要があるからである。
【０１０４】
なお、制御部２２によるデータ保存領域２２０に格納されているユーザデータのＮＡＮＤメモリ１０のデータ領域１１０への保存は、ユーザデータに対応するログ情報のＮＡＮＤメモリ１０のデータ領域１１０への保存も含む。また、制御部２２によるデータ保存領域２２０に格納されている削除要求のデータのＮＡＮＤメモリ１０のデータ領域１１０への保存は、削除要求のデータに対応するログ情報のＮＡＮＤメモリ１０のデータ領域１１０への保存も含む。
【０１０５】
不揮発化対象のユーザデータのＮＡＮＤメモリ１０のデータ領域１１０への保存は、制御部３２が、不揮発化対象のユーザデータのＮＡＮＤ内物理アドレスに対するデータの書き込みをメモリＩ／Ｆ３５へ指示し、メモリＩ／Ｆ３５経由でＮＡＮＤメモリ１０へ保存することにより実現される。
【０１０６】
不揮発化対象の削除要求のデータのＮＡＮＤメモリ１０のデータ領域１１０への保存は、制御部３２が、不揮発化対象の削除要求のデータのＮＡＮＤ内物理アドレスに対するデータの書き込みをメモリＩ／Ｆ３５へ指示し、メモリＩ／Ｆ３５経由でＮＡＮＤメモリ１０へ保存することにより実現される。
【０１０７】
不揮発化の対象となるデータは、ＲＡＭ２０のデータ保存領域２２０に保存されているユーザデータおよび削除要求のデータであってセクタフラグにより有効データと判定されたデータであり、有効データと判定されたデータの一部であってもよいし、全部であってもよい。
【０１０８】
つぎにメモリコントローラ３０の制御部３２は、所定の第２のタイミングか否かを判定する（ステップ７０９）。また、所定の第１のタイミングではないと判定した場合も（ステップ７０７：Ｎｏ）、メモリコントローラ３０の制御部３２は、所定の第２のタイミングか否かを判定する（ステップ７０９）。
【０１０９】
所定の第２のタイミングである場合（ステップ７０９：Ｙｅｓ）、メモリコントローラ３０の制御部３２は、管理情報保存領域２３０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３を不揮発化する（ステップ７１０）。
【０１１０】
メモリコントローラ３０の制御部３２は、ＲＡＭ２０の管理情報保存領域２３０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３の全てまたは一部のデータの書き込みをメモリＩ／Ｆ３５へ指示し、メモリＩ／Ｆ３５経由でＮＡＮＤメモリ１０へ保存する。
【０１１１】
また、メモリコントローラ３０の制御部３２は、ＲＡＭ２０の管理情報保存領域２３０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３のうち、不揮発化されていない管理情報のみの書き込みをメモリＩ／Ｆ３５へ指示し、メモリＩ／Ｆ３５経由でＮＡＮＤメモリ１０へ保存してもよい。
【０１１２】
所定の第２のタイミングは、例えば、データ保存領域２２０に保存されているユーザデータおよび削除要求のデータであってＮＡＮＤメモリ１０へ保存されるデータのサイズが一定単位に達する毎、つまり、ＮＡＮＤメモリ１０のデータ領域１１０に保存されるデータのサイズが一定サイズに達する毎であってもよい。ここで一定サイズとは、クラスタサイズ、ページサイズ、ブロックサイズ等任意のサイズでよい。
【０１１３】
また、所定の第２のタイミングは、例えば、ＮＡＮＤメモリ１０のデータ領域１１０へ保存されるデータがデータ領域１１０のある所定の領域へ保存し終わる毎であってもよい。所定の領域とは、ページ単位で区切られた領域、ブロック単位で区切られた領域等任意の領域であってよい。
【０１１４】
また、所定の第２のタイミングは、例えば、管理情報保存領域２３０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３のうち、不揮発化されていない管理情報が一定サイズに達する毎であってもよい。
【０１１５】
また、所定の第２のタイミングは、例えば、メモリシステム１が電源断を指定するコマンドや省電力モードへの移行を指定するコマンドをホスト装置２から受信した場合であってもよい。
【０１１６】
また、所定の第２のタイミングは、所定の第１のタイミングと重なるタイミングであってもよい。
【０１１７】
所定の第２のタイミングでない場合（ステップ７０９：Ｎｏ）、図７に示すフローチャートは終了する。
【０１１８】
図７のフローチャートでは、ステップ７０１乃至ステップ７０３に示すユーザデータの書き込み要求受信に伴う処理、ステップ７０４乃至ステップ７０６に示す削除要求受信に伴う処理、ステップ７０７およびステップ７０８に示すユーザデータ、削除データの不揮発化処理、ステップ７０９およびステップ７１０に示す管理情報の不揮発化処理の順に実行されるようになっているが、制御部３２はこれらの処理を順不同で実行してもよい。また、これらの処理の実行タイミングや、実行周期は、同じであってもよいし、異なってもよい。
【０１１９】
図８は、比較例に係るメモリシステムのホスト装置２から受信した書き込み要求および削除要求に対するデータの不揮発化処理の一例を示すフローチャートである。このフローチャートは、図７と同様にホスト装置２から書き込み要求または削除要求を受け、要求のあったデータおよびこれに対応する情報をＮＡＮＤメモリ１０へ保存する処理を示している。
【０１２０】
比較例に係るメモリシステムのシステム構成例は図１に示すブロック図と同様である。また比較例に係るメモリシステムのＲＡＭ２０の領域構成やＮＡＮＤメモリ１０の領域構成は図３および図４に示す模式図と同様である。
【０１２１】
また、比較例に係るメモリシステムのＲＡＭ２０の管理情報保存領域２３０で管理される管理情報も本実施形態に係るメモリシステムのＲＡＭ３０の管理情報保存領域２３０で管理される管理情報と同様である。
【０１２２】
図８のフローチャートでも、図７に示すフローチャートと同様に、比較例に係るメモリシステムのメモリコントローラがホスト装置２からホストＩ／Ｆ３１経由で書き込み要求または削除要求の受信が可能であることを前提として説明を行う。
【０１２３】
比較例に係るメモリシステムのメモリコントローラは、ホスト装置２から書き込み要求を受けたか判定し（ステップ８０１）、書き込み要求を受ける（ステップ８０１：Ｙｅｓ）と、比較例のメモリシステムのメモリコントローラ３０の制御部３２は、書き込み要求で指定された論理アドレスに対応するＮＡＮＤ内物理アドレスおよびＲＡＭ内物理アドレスを決定し、決定された物理アドレスを管理情報保存領域２３０の管理情報へ反映させる（ステップ８０２）。
【０１２４】
ステップ８０１の処理内容はステップ７０１の処理内容と同じである。またステップ８０２の処理内容はステップ７０２の処理内容と同じである。
【０１２５】
そして、比較例に係るメモリシステムのメモリコントローラ３０の制御部３２は、書き込み要求で指定された書き込み対象のユーザデータを符号化し、符号化されたデータをＲＡＭ２０のデータ保存領域２２０へ書き込む（ステップ８０３）。ステップ８０３の処理内容はステップ７０３の処理内容と同じである。
【０１２６】
つぎに、比較例に係るメモリシステムのメモリコントローラ３０の制御部３２は、ホスト装置２から削除要求を受けたか判定し（ステップ８０４）、削除要求を受ける（ステップ８０４：Ｙｅｓ）と、削除要求のデータの保存先となるＮＡＮＤ内物理アドレスおよびＲＡＭ内物理アドレスを決定し、決定された物理アドレスを管理情報保存領域２３０の管理情報であるＲＡＭ管理情報２３１、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３へ反映させる（ステップ８０５）。
【０１２７】
ステップ８０４の処理内容はステップ７０４の処理内容と同じである。また、ステップ８０５の処理内容はステップ７０５の処理内容と同じである。
【０１２８】
つぎに、比較例に係るメモリシステムのメモリコントローラ３０の制御部３２は、ＲＡＭ２０のデータ保存領域２２０に保存されているデータを不揮発化する所定の第１のタイミングか否かを判定し（ステップ８０６）、所定の第１のタイミングである場合（ステップ８０６：Ｙｅｓ）、データ保存領域２２００に保存されているユーザデータをＮＡＮＤメモリ１０へ保存、不揮発化する（ステップ８０７）。
【０１２９】
ステップ８０６の処理内容はステップ７０７の処理内容と同じである。また、本実施形態に係るメモリシステムの場合と同様に、データ保存領域２２０に格納されているユーザデータのＮＡＮＤメモリ１０のデータ領域１１０への保存は、ユーザデータに対応するログ情報のＮＡＮＤメモリ１０のデータ領域１１０への保存も含む。
【０１３０】
つぎに、比較例に係るメモリシステム１のメモリコントローラ３０の制御部３２は、所定の第２のタイミングか否かを判定し（ステップ８０８）、所定の第２のタイミングである場合（ステップ８０８：Ｙｅｓ）、管理情報保存領域２３０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３を不揮発化する（ステップ８０９）。
【０１３１】
ステップ８０８の処理内容はステップ７０９の処理内容と同じである。また、ステップ８０９の処理内容はステップ７１０の処理内容と同じである。
【０１３２】
図８に示すように、比較例に係るメモリシステムは、ホスト装置２から受信した書き込み要求で指定されたユーザデータを不揮発化するものの、ホスト装置２から受信した削除要求のデータを不揮発化しない。比較例に係るメモリシステムでは、ホスト装置２から受信した削除要求の反映は、管理情報保存領域２３０の論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３の情報を、ＮＡＮＤメモリ１０の管理情報保存領域１２０へ保存することにより実現される。
【０１３３】
このため、管理情報保存領域２３０の論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３の情報がＮＡＮＤメモリ１０の管理情報領域１２０へ保存されれば、比較例に係るメモリシステムも、本実施形態に係るメモリシステムと同様に、メモリシステムの再起動後も、ホスト装置２から受信した削除要求はメモリシステムに反映され、削除要求で指定されたＬＢＡに対応するデータは無効データとして扱われる。
【０１３４】
しかし、比較例に係るメモリシステムでは、例えば不正電源断等により、管理情報保存領域２３０の論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３を不揮発化する前に電源が遮断された場合、不正電源断後のメモリシステム１の起動時に、ＮＡＮＤメモリ１０の管理情報領域１２０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３がＲＡＭ２０の管理情報保存領域２３０に展開される際、ＲＡＭ２０の管理情報保存領域２３０に展開された論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３にはホスト装置２からの削除要求は反映されていない。
【０１３５】
そのため、比較例に係るメモリシステムでは、不正電源断等により、管理情報保存領域２３０の論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３を不揮発化できなかった場合には、不正電源断後のメモリシステム起動時に復元できるのは、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３のうち不揮発化できた情報、つまり、ＮＡＮＤメモリ１０の管理情報領域１２０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３に反映されている情報に限られる。
【０１３６】
すなわち、比較例に係るメモリシステムでは、不正電源断等により、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３を不揮発化できなかった場合には、不正電源断が起こる前にホスト装置２から受信した削除要求の内容を、不正電源断後のメモリシステム起動時に復元できない場合が生じる。
【０１３７】
これに対し、本実施形態のメモリシステムでは、ホスト装置２から削除要求を受信した場合、所定のタイミングで削除要求のデータをＮＡＮＤメモリ１０のデータ領域１１０へ保存することにより削除要求のデータを不揮発化する。
【０１３８】
そのため、例えば不正電源断等により、ＲＡＭ２０の管理情報保存領域２３０の論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３がＮＡＮＤメモリ１０の管理情報領域１２０へ保存される前に電源が遮断された場合であっても、削除要求のデータがＮＡＮＤメモリ１０のデータ領域１１０に保存されていれば、その後のメモリシステム１の起動時に、ＮＡＮＤメモリ１０のデータ領域１１０に保存されている削除要求のデータおよび削除要求のデータに対応するログ情報を読み出すことにより、不正電源断前にどのＬＢＡに対して削除要求を受信したかを特定できる。よって、ＮＡＮＤメモリ１０の管理情報領域１２０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３に削除要求の内容が反映されていない場合であっても、ＮＡＮＤメモリ１０の管理情報領域１２０に保存されている論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３をＲＡＭ２０の管理情報保存領域２３０へ展開する際に、メモリシステム１の起動前にホスト装置２から受信した削除要求の内容を論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３の情報に反映することができる。
【０１３９】
すなわち、本実施形態に係るメモリシステムでは、不正電源断等により、論理ＮＡＮＤ管理情報２３２、ＮＡＮＤ内論物変換情報２３３を不揮発化できなかった場合であっても、不正電源断等の前にホスト装置２から受信した削除要求の内容を、その後のメモリシステムの起動時に復元することができる。
【０１４０】
（適用例）
図９および図１０は、メモリシステム１とホスト装置２が組み込まれたシステム４の例を示す。システム４は、電子機器の一例である。
【０１４１】
図９に示すように、メモリシステム１は、例えばサーバ等のシステム４内に記憶装置として適用される。システム４は、メモリシステム１とメモリシステム１が装着されたホスト装置２とを含む。ホスト装置２は、例えば上方に開口した複数のコネクタ５を有する。コネクタ５は、例えば、スロットである。
【０１４２】
図９に示すシステム４では、外部電源３はホスト装置２に内蔵されており、外部電源３からコネクタ５経由でメモリシステム１の電源回路へ電源が供給される。
【０１４３】
図９に示す例では、メモリシステム１は、基板５０を含み、基板５０に、ＮＡＮＤメモリ１０とメモリコントローラ３０が搭載される。複数のメモリシステム１は、ホスト装置２のコネクタ５に其々装着され、略鉛直方向に起立した姿勢で互いに並べて支持される。このような構成によれば、複数のメモリシステム１をコンパクトに纏めて実装可能であり、ホスト装置２の小型化を図ることができる。ホスト装置２からコネクタ５経由でメモリシステム１に対して前述の書き込み要求、削除要求が出力される。
【０１４４】
また、メモリシステム１は、例えばノートブック型ポータブルコンピュータやタブレット端末、その他デタッチャブルノートＰＣ（personal computer）のような電子機器のストレージデバイスとして使用されるものでもよい。図１０に示すように、メモリシステム１は、例えば、ホスト装置２に対応するポータブルコンピュータに実装される。ここでは、メモリシステム１を含むポータブルコンピュータ全体がシステム４となる。
【０１４５】
ポータブルコンピュータは、本体１００１と、表示ユニット１００２と、を備える。表示ユニット１００２は、ディスプレイハウジング１００３と、このディスプレイハウジング１００３に収容された表示装置１００４と、を備えており、ポータブルコンピュータからメモリシステム１に対して前述の書き込み要求、削除要求が出力される。
【０１４６】
本体１００１は、筐体１００５と、キーボード１００６と、ポインティングデバイスであるタッチパッド１００７と、を備える。筐体１００５は、メイン回路基板、ＯＤＤ（Optical Disk Device）ユニット、カードスロット１００８など、を含む。
【０１４７】
カードスロット１００８は、筐体１００５の側面に設けられる。ユーザは、筐体１００５の外部から追加デバイス１００９をカードスロット１００８に挿入することが可能である。
【０１４８】
メモリシステム１は、ＨＤＤ（Hard disk drive）の置き換えとして、ポータブルコンピュータ内部に実装された状態で使用してもよいし、追加デバイス１００９として使用してもよい。
【０１４９】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０１５０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他のさまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１５１】
１・・・メモリシステム
２・・・ホスト装置
３・・・外部電源
４・・・システム
５・・・コネクタ
１０・・・ＮＡＮＤメモリ
１１・・・メモリチップ
２０・・・ＲＡＭ
３０・・・メモリコントローラ
３１・・・ホストＩ／Ｆ
３２・・・制御部
３３・・・ＲＡＭＣ
３４・・・符号化部／復号部
３５・・・メモリＩ／Ｆ
３６・・・内部バス
４０・・・電源回路
５０・・・基板
【図１】
2018160156.tif 000003
【図２】
2018160156.tif 000004
【図３】
2018160156.tif 000005
【図４】
2018160156.tif 000006
【図５】
2018160156.tif 000007
【図６】
2018160156.tif 000008
【図７】
2018160156.tif 000009
【図８】
2018160156.tif 000010
【図９】
2018160156.tif 000011
【図１０】
2018160156.tif 000012