説明

メモリシステム、コントローラ、およびメモリシステムの制御方法

【課題】トリム要求によりセクタ単位で不要であることが通知された領域について、フラグ用の追加記憶領域を要さずに不要か否かの情報を保持することが可能なメモリシステムを提供する。
【解決手段】実施形態のメモリシステム2は、不揮発性メモリ6と、ホスト1が指定する論理アドレスと前記不揮発性メモリ上での物理アドレスとの対応を管理単位毎に保持する論物変換テーブルを備えた記憶手段4を備える。メモリシステム2は、前記管理単位より小さいデータ量を単位として論理アドレスの削除領域を指定した削除通知を前記ホスト1から受け取った場合に、当該削除領域に含まれる前記管理単位に満たない領域と前記論物変換テーブルにおいて対応する物理アドレスの前記不揮発性メモリ6上の領域に所定のデータパターンを書き込むコントローラ3を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、メモリシステム、コントローラ、およびメモリシステムの制御方法に関する。
【背景技術】
【0002】
二次記憶装置としてのメモリシステムでは、ホストからセクタ単位でデータの読み書き指示がされるが、ホストから書き込まれるデータは、通常はセクタよりも大きなサイズを持つ所定の管理単位でメモリシステム内部の不揮発性半導体メモリに記憶される。メモリシステムは、各セクタが不揮発性半導体メモリ上のどこに格納されているかを管理するため、論理アドレスとしてのLBA(Logical Block Address)と不揮発性半導体メモリ上の位置との管理単位での対応表である論物変換テーブルを保持している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−218290号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の一つの実施形態は、トリム要求によりセクタ単位で不要であることが通知された領域について、フラグ用の追加記憶領域を要さずに不要か否かの情報を保持することが可能なメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一つの実施形態のメモリシステムは、不揮発性メモリと、ホストが指定する論理アドレスと前記不揮発性メモリ上での物理アドレスとの対応を管理単位毎に保持する論物変換テーブルを備えた記憶手段を備える。メモリシステムは、前記管理単位より小さいデータ量を単位として論理アドレスの削除領域を指定した削除通知を前記ホストから受け取った場合に、当該削除領域に含まれる前記管理単位に満たない領域と前記論物変換テーブルにおいて対応する物理アドレスの前記不揮発性メモリ上の領域に所定のデータパターンを書き込むコントローラを備える。
【図面の簡単な説明】
【0006】
【図1】図1は、実施形態にかかるメモリシステム(SSD)のシステム構成を示すブロック図である。
【図2】図2は、実施形態における管理単位にアラインされたLBAとNANDフラッシュメモリ上において管理単位に割り振られているデータ領域との対応関係を示す図である。
【図3】図3は、実施形態における論物変換テーブルを示す図である。
【図4】図4は、実施形態においてトリム要求を受け取ったときのメモリシステムの処理を示すフローチャートである。
【図5】図5は、実施形態においてトリム要求されたLBAに対応する領域に所定のデータパターンを書き込む処理を示すフローチャートである。
【図6】図6は、実施形態においてトリム要求されたLBAに対応する領域に所定のデータパターンを書き込む処理を示す概念図である。
【図7】図7は、実施形態において管理単位の全てが所定のデータパターンとなった場合に当該管理単位が解放できることを示す概念図である。
【図8】図8は、実施形態において管理単位のデータを移動するときに、解放可能な管理単位を解放する処理を示すフローチャートである。
【発明を実施するための形態】
【0007】
ある管理単位内の全てのセクタについて、一度もデータが書き込まれていない場合には当該管理単位の論理アドレスに対応する不揮発性半導体メモリ上の位置は「未割り当て」になっている。未割り当ての管理単位に含まれるセクタに対しホストからデータが書き込まれると、該当する論理アドレスを含む管理単位は「割り当て済み」になり、実際のデータが存在する不揮発性半導体メモリ上の位置が物理アドレスとして保存される。メモリシステムは、データの断片化を解消する目的などで不揮発性半導体メモリ上のデータを移動することがある。ホストから不要になったデータ領域の通知を受けて、「割り当て済み」の管理単位を「未割り当て」に戻すことで、不要なデータの移動を削減することができる。
【0008】
従来のメモリシステムでは、ホストから不要となった領域の通知、たとえば、INCITS ATA8−ACSで採用されたData Set Management Command(通称トリム要求)による通知(以下、トリム要求と呼称する)をセクタ単位で受け取り、トリム要求で通知された領域のうち、管理単位にアラインされた領域(管理単位と同じ大きさの領域)については当該管理単位を「割り当て済み」から「未割り当て」に変更し、不要なデータの移動が起こらないようにすることができる。一方、トリム要求のうちで管理単位にアラインされていない領域、即ち管理単位未満のトリム要求をされた領域については「未割り当て」にすることができず、トリム要求の情報を利用できない。
【0009】
セクタ単位で領域が不要かどうかを示すフラグを別途導入すれば、後続のトリム要求の情報と組み合わせて管理単位の不要な領域ができた際に当該領域を未割り当てにすることができる。しかしながら、この場合はフラグの情報を記憶するための追加の記憶領域が必要となり、また、フラグ書き込みのための特別な処理を導入する必要がある。
【0010】
以下に添付図面を参照して、実施形態にかかるメモリシステムおよびメモリシステムの制御方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0011】
(実施形態)
図1は、実施形態にかかるメモリシステムとしてのSSD(Solid State Drive)2の構成の一例を示すブロック図である。半導体記憶装置であるSSD2は、管理情報記憶部40を含むRAM4、以下に説明するデータパターン検出部5、実際にデータを記憶するNANDフラッシュメモリ6、およびそれらを制御するコントローラ3を備える。SSD2は、図示せぬインタフェースを介して、ホスト1からの読み書き指示を受ける。ホスト1とSSD2とのインタフェースは、例えば、SATA(Serial ATA)規格に準拠するが、これに限定されるものではない。データパターン検出部5はハードウェアとして実装しても良いし、コントローラ3が実行するファームウェアモジュールとして実装しても良い。
【0012】
NANDフラッシュメモリ6は、複数の不揮発性メモリセルが行列上に配置されたメモリセルアレイ及び当該メモリセルアレイに対する書込み、読み出し、消去動作を制御するための周辺回路を含む。メモリセルアレイは、データ消去の最小単位であるブロックを複数配列して構成されている。各々のブロックは、データ書込み及び読み出しの最小単位であるページを複数配列して構成されている。1ブロックの記憶容量は例えば1024KBであり、1ページの記憶容量は例えば8KBである。各々のメモリセルは、1ビットを記憶するように構成されていても良いし、2ビット以上を記憶するように構成されていても良い。NANDフラッシュメモリ6では、ブロック内の同一ページに対する再書き込みは、一度当該ページを含むブロック全体を消去した後でなければ許可されない。
【0013】
ホストとメモリシステムの間でデータをやりとりするための規格であるATA規格のData Set Management Commandにおいて、Trimという属性が定義されている。これにより、ホストは不要になった領域をセクタ単位でメモリシステムに通知することができる。これについてはATAコマンドの規格を参照することとし(http://www.t13.org/Documents/UploadedDocuments/docs2009/d2015r1a-ATAATAPI_Command_Set_-_2_ACS-2.pdf)、ここではその詳細は説明しない。このようなコマンドを、以降トリムコマンド(トリム要求)と呼称する。このコマンドによれば、不要になった記憶領域は、先頭論理アドレス(LBA)とセクタサイズとで指定される。本実施形態は、ATA規格のトリム要求だけでなく、ATA以外の規格であっても同様の仕様を持つコマンドであれば適用できる。
【0014】
図1に戻り説明を続ける。ホスト1から書き込まれたデータは所定の管理単位でNANDフラッシュメモリ6に記憶される。論理アドレス空間上の連続したアドレスを論物変換(論理アドレスと物理アドレスとの変換)の単位として、当該連続したアドレスをまとめてNANDフラッシュメモリ6上の物理的な領域に割り当てる。この管理単位は、上述したトリム要求が指定するセクタ単位よりも大きく、当該管理単位内においては、論理アドレスが連続する複数のセクタが順に配置されている。管理単位の大きさは任意であるが、例えば、NANDフラッシュメモリ6のページサイズやブロックサイズ、あるいはホスト1が採用するファイルシステムのクラスタサイズ等に一致させることができる。
【0015】
ホスト1から書き込まれた更新データが管理単位にアラインされていない場合には、NANDフラッシュメモリ6上の管理単位の大きさの領域に既に記憶されているデータと、管理単位の大きさに満たない新たに書き込まれた更新データとをRAM4上でマージし、管理単位のデータを作成した上でNANDフラッシュメモリ6の空き領域に書き込む(リードモディファイライト)。ホスト1から書き込まれたデータがNANDフラッシュメモリ6上のどこに書き込まれるかは動的に変化するものであり、その対応関係が後述する論物変換テーブルによって管理される。論理アドレスとしては、例えば、論理容量に対してセクタ単位で0から通し番号が付されたLBA(Logical Block Address)が採用される。セクタサイズは、例えば512Bである。
【0016】
図2は、管理単位でアラインされたLBAとNANDフラッシュメモリ上において管理単位に割り振られているデータ領域との対応関係を示す図である。図2のように、ホスト1が書き込み要求で指定するLBAはセクタ単位であるが、SSD2内部では当該LBAは管理単位の大きさ(例えば、ページサイズ)でアラインされ、当該管理単位内の連続するLBAに対応するセクタが、NANDフラッシュ6の管理単位の領域にまとめて記憶される。例えば、管理単位の大きさがページサイズに等しい場合、ページサイズでアラインされたLBAに対応する複数のセクタが、NANDフラッシュメモリ6のページサイズ分の領域に書き込まれる。
【0017】
図3は、実施形態における論物変換テーブルを示す図である。管理情報記憶部40は、LBAで指定されるデータがNANDフラッシュメモリ6のどこに書き込まれているかという対応関係を示す論物変換テーブルを記憶している。図3の論物変換テーブルは、論理アドレスとしてホスト1が指定するLBAを管理単位でアラインした値と、また物理アドレスとしてNANDフラッシュメモリ6の物理アドレスを管理単位でアラインした値とを含んでいる。例えば、管理単位がページサイズに等しければ、物理アドレスとして物理ページ番号が登録される。また例えば、管理単位がブロックサイズに等しければ、物理アドレスとして物理ブロック番号が登録される。
【0018】
管理単位でアラインされたあるLBAについて、ホスト1から一度もデータが書き込まれていないとき、論物変換テーブルの当該LBAに対応する物理アドレスの位置には、無効値が書き込まれるなどして「未割り当て」状態となっている。管理単位内のセクタにデータが書き込まれると、当該管理単位は「割り当て済み」となりNANDフラッシュメモリ6上の位置が論物変換テーブルに記録される。SSD2は、データの断片化を解消する目的などで、「割り当て済み」となっている管理単位のデータを移動することがある。ホスト1から不要になった領域の通知を受けとり、使わないことになった管理単位を「未割り当て」にすることで、不要なデータの移動を削減することができる。
【0019】
図4は、トリム要求を受け取ったときのメモリシステムの処理を示すフローチャートである。コントローラ3は、ホスト1からトリム要求を受け取る(ステップS11)。トリム要求は上述した通り、トリム対象領域の先頭LBA及びセクタサイズを含む。なお、1つのトリム要求で複数のトリム対象領域を設定しても良い。
【0020】
コントローラ3は、トリム対象領域として指定されたLBA範囲が、少なくとも1つの管理単位の領域全体を含むか否かを判定する。管理単位の領域を複数含む場合は、それら全てに対して以下ステップ13の処理を適用する。(ステップS12)。管理単位の領域を含む場合(ステップS12:Yes)、コントローラ3は論物変換テーブルを操作し、当該管理単位のLBAを「未割り当て」に変更し、当該管理単位のLBAに割り当てられていたNANDフラッシュメモリ6上の領域を解放する(ステップS13)。
【0021】
コントローラ3は、トリム対象領域として指定されたLBA範囲が、管理単位未満の領域を含むか否かを判定する(ステップS14)。管理単位未満のトリム対象領域が存在する場合(ステップS14:Yes)、コントローラ3は当該管理単位未満のトリム対象領域に対して「所定のデータパターン」を書き込む(ステップS15)。本実施形態においては「所定のデータパターン」が書き込まれていることを、当該領域が不要であることのフラグとして利用する。
【0022】
ここで、上記ステップS15の処理の詳細について説明する。なお、ここで説明する処理はトリム要求で「所定のデータパターン」を書き込む場合に限ったものではなく、図1のホスト1から通常のデータが書き込まれた場合でも、同様の処理でNANDフラッシュメモリ6に書き込みがなされる。
【0023】
SSD2がNANDフラッシュメモリ6にデータを書き込む際には以下のような制約がある。コントローラ3は、論物変換テーブルの解像度、即ちセクタ単位よりも大きい所定の管理単位でしかデータを管理することができない。即ち、セクタ単位でばらばらの位置にデータを書き込むことはできない。さらに、NANDフラッシュメモリ6はデータの上書きができない。これらの制約の下での、管理単位未満の(管理単位にアラインされていない)データを書き込むステップS15の処理手順(リードモディファイライト)の詳細を、図1、図5のフローチャート、および図6に示した概念図を用いて説明する。
【0024】
図5は、トリム要求されたLBAに対応する領域に所定のデータパターンを書き込む処理を示すフローチャートである。また、図6は、トリム要求されたLBAに対応する領域に所定のデータパターンを書き込む処理を示す概念図である。ホスト1から管理単位よりも小さい領域50に対してトリム要求があると、コントローラ3は、トリム要求されたセクタを含む管理単位61全体のデータをNANDフラッシュメモリ6から読み出して、RAM4に保持する(図5、ステップS21)。管理単位61は、論物変換テーブルにおいて、トリム要求されたLBAを管理単位でアラインした値に関連付けられたNANDフラッシュメモリ6上の領域を示しており、以前にホスト1から書き込まれたデータを記憶している。
【0025】
コントローラ3は、RAM4において、管理単位61から読み出されたデータのトリム要求された領域に「所定のデータパターン」77を上書きすることにより、管理単位61に書き込まれていたトリム対象領域以外のデータと「所定のデータパターン」77とをマージする(ステップS22)。ここでのマージ作業は、一般にホスト1から書き込まれた更新データを管理単位61に書き込まれていたデータに上書きする場合も同様である。ここでは、管理単位61の大きさに満たないトリム要求に対して、管理単位61に書き込まれていたデータの中でトリム要求があった範囲のセクタに対して「所定のデータパターン」77を上書きする。
【0026】
コントローラ3は、このようにしてRAM4上でマージされた新しいデータを、NANDフラッシュメモリ6の空き領域(消去済みの新しい管理単位68)に書き込む(ステップS23)。コントローラ3は、図3の論物変換テーブルを操作して、トリム対象領域を含む管理単位でアラインされたLBAに対して、管理単位68に対応する物理アドレスを記録する。以前にホスト1から書き込まれた古いデータが記憶されている管理単位61は、LBAとの関連付けから解放されて無効化され、データ消去後には空き領域として取り扱われる(ステップS24)。
【0027】
図7は、管理単位の全てが所定のデータパターンとなった場合に当該管理単位が解放できることを示す概念図である。上記したように、トリム対象領域に対応する「所定のデータパターン」77は、通常のホスト1からの書き込みと同様に、NANDフラッシュメモリ6上の管理単位のデータとマージされ、NANDフラッシュメモリ6に書き込まれる。コントローラ3は、マージの結果、図7に示すように、管理単位内の全てのセクタが「所定のデータパターン」になった場合に、当該管理単位の論理アドレスを「未割り当て」に変更して解放することができる。
【0028】
図8は、管理単位のデータを移動するときに、解放可能な管理単位の領域を解放する処理を示すフローチャートである。コントローラ3がNANDフラッシュメモリ6上のデータを移動する際などに、移動対象のデータから管理単位分のデータを読み込んだとき(ステップS31)、データパターン検出部5は、管理単位内のセクタ全てに「所定のデータパターン」が書き込まれているかどうかを判定する(ステップS32)。
【0029】
データ移動は、例えば、無効化された古いデータが増えて新たにデータを書き込むことができる領域が減少した場合に、「割り当て済み」の領域に記憶されている管理単位のデータを特定のブロックに集め、古いデータだけになったブロックを消去して空き領域を増加させる際に行われる(コンパクション、またはガベージコレクションと呼ばれる)。あるいは、メモリセルに書き込みが行われた後に長時間経過してデータが劣化したときに、別の空き領域にデータを書き直すことで信頼性を向上させるために行われる(リフレッシュと呼ばれる)。
【0030】
データパターン検出部5は、管理単位内のセクタ全てが「所定のデータパターン」になっていると検出した場合(ステップS32:Yes)、その旨をコントローラ3に通知する。コントローラ3は、データパターン検出部5からの通知を受けて、当該管理単位を「未割り当て」に変更し、当該管理単位のLBAに割り当てられていたNANDフラッシュメモリ6上の領域を解放する(ステップS33)。
【0031】
データパターン検出部5は、管理単位内のセクタ全てが「所定のデータパターン」となっているわけではない場合(ステップS32:No)、その旨をコントローラ3に通知する。コントローラ3は、データパターン検出部5からの通知を受けて、読み出したデータをNANDフラッシュメモリ6上の移動先にそのまま書き込む(ステップS34)。
【0032】
ステップS33およびS34の後、コントローラ3は移動対象のデータを全て読み出したか否か判定する(ステップS35)。全て読み出していない場合は(ステップS35:No)はステップS31にもどる。移動対象のデータを全て読み出したら(ステップS35:Yes)、データ移動処理を終了する。
【0033】
また、本実施形態のメモリシステムが上記のような動作を実行した場合にメモリシステムとして円滑に機能させるために、さらに以下の動作を実行することが好ましい。即ち、ホスト1からトリム要求としてではなく「所定のデータパターン」がNANDフラッシュメモリ6に書き込まれた場合に対してもデータの不一致が発生しないようにする。
【0034】
具体的には、図3の論物変換テーブルの物理アドレスの位置に無効値が書き込まれた「未割り当て」のLBAに対しホスト1から読み出し要求があった場合には、「所定のデータパターン」をホスト1に返すようにする。これにより、半導体記憶装置であるSSD2はトリム要求により「所定のデータパターン」が書き込まれた場合と、ホスト1から実際に「所定のデータパターン」の書き込み要求が来た場合とを区別しないで済む。
【0035】
従って、トリム要求ではなくホスト1から管理単位にアラインされたサイズの「所定のデータパターン」が書き込まれた場合に、図8のフローに従いステップS33にて当該管理単位を解放しても矛盾は生じない。当該解放された領域に対応するLBAに読み出し要求があった場合は、現実のデータは無効化されて存在しないものの、「所定のデータパターン」を返すことで書き込みデータを保証することが可能だからである。
【0036】
以上説明してきたように本実施形態にかかるメモリシステムは、ホストからトリム要求を受け取ると、トリム要求されて不要となった領域のうちメモリシステムのデータ管理単位にアラインされた領域を即座に解放する。不要となった領域がデータの管理単位にアラインされていない場合には不要となった領域に「所定のデータパターン」を書き込むことで当該領域が不要であるという情報を保持しておく。その後、後続のトリム要求と組み合わせて管理単位が全て「所定のデータパターン」である解放可能な領域ができたときに当該領域を解放する。即ち、その後データを読み込んだ際にデータの管理単位にアラインされた「所定のデータパターン」を検出したら、当該領域を解放する。これにより、トリム要求の情報を最大限に活用することができる。
【0037】
また、本実施形態により「所定のデータパターン」が書き込まれた管理単位を不要であるとみなして解放することで、メモリシステムが利用できる領域を増やすことができる。ホストが偶然「所定のデータパターン」を書き込んだ場合でも、トリム要求を受けたことによりコントローラが書き込んだ場合でも、特に区別する必要はない。「所定のデータパターン」をトリム対象領域のフラグとして利用するので、各セクタが不要かどうかを示すフラグを保存する追加の記憶領域を必要としない。
【0038】
また、トリム要求のうち、従来は破棄、或いは記憶領域を追加して記憶していた管理単位にアラインされていない領域の情報を、追加の記憶領域を必要とせずに記憶し、トリム要求の全ての情報を活用できるようになる。管理単位にアラインされていないトリム要求を複数個組み合わせて管理単位を解放し、利用できる不揮発性半導体メモリの領域を増やすことができる。
【0039】
なお、上記実施形態においてはセクタよりも大きな管理単位が1種類であるとして説明したが、例えばクラスタ(例えば、セクタの2以上の自然数倍)およびトラック(例えば、クラスタの2以上の自然数倍)などとセクタよりも大きな管理単位が複数種類ある場合において、小さな管理単位から大きな管理単位にデフラグする場合などには、そのときに上述した無効化処理を実行するようにしてもかまわない。具体的には、ある上位の管理単位を構成する下位の管理単位が全て「所定のデータパターン」となった場合に、当該上位の管理単位を解放することなどが考えられる。
【0040】
また、上記実施形態では「所定のデータパターン」を書き込むコマンドとしてトリムコマンドを例に挙げて説明したが、これに限定されるものではない。例えば、不良セクタの位置を示す情報がホストから送られた場合に、当該不良セクタに対応するLBAに「所定のデータパターン」を書き込むことにしても良い。
【0041】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0042】
1 ホスト、2 SSD、3 コントローラ、4 RAM、5 データパターン検出部、6 NANDフラッシュメモリ、40 管理情報記憶部。

【特許請求の範囲】
【請求項1】
不揮発性メモリと、
ホストが指定する論理アドレスと前記不揮発性メモリ上での物理アドレスとの対応を管理単位毎に保持する論物変換テーブルを備えた記憶手段と、
前記管理単位より小さいデータ量を単位として論理アドレスの削除領域を指定した削除通知を前記ホストから受け取った場合に、当該削除領域に含まれる前記管理単位に満たない領域と前記論物変換テーブルにおいて対応する物理アドレスの前記不揮発性メモリ上の領域に所定のデータパターンを書き込むコントローラと
を備えたことを特徴とするメモリシステム。
【請求項2】
前記コントローラは、前記削除通知を受け取った場合に、前記削除領域に含まれる前記管理単位の領域と前記論物変換テーブルにおいて対応する物理アドレスに無効値を書き込むことにより、当該削除領域に含まれる前記管理単位の論理アドレスの領域を解放する
ことを特徴とする請求項1に記載のメモリシステム。
【請求項3】
前記不揮発性メモリから読み出されたデータの中から所定のデータパターンを検出する検出部を備え、
前記検出部の検出結果に基づいて、前記不揮発性メモリから読み出されたデータの中に前記管理単位が全て前記所定のデータパターンである解放可能な管理単位が存在する場合は、当該解放可能な管理単位の領域に前記論物変換テーブルにて対応する物理アドレスに無効値を書き込むことにより、当該解放可能な管理単位の論理アドレスの領域を解放する
ことを特徴とする請求項1または2に記載のメモリシステム。
【請求項4】
前記コントローラは、
前記ホストから前記所定のデータパターンの書き込み要求を受け取った場合は、前記所定のデータパターンを前記不揮発性メモリに書き込み、
前記論物変換テーブルの対応する物理アドレスに無効値が書き込まれた論理アドレスに対する前記ホストからの読み出し要求があった場合は、前記所定のデータパターンを読み出しデータとして前記ホストに返す
ことを特徴とする請求項1、2または3に記載のメモリシステム。
【請求項5】
ホストが指定する論理アドレスと不揮発性メモリ上での物理アドレスとの対応を保持する論物変換テーブルの管理単位より小さいデータ量を単位として論理アドレスの削除領域を指定した削除通知を前記ホストから受け取った場合に、
前記削除領域に含まれる前記管理単位に満たない領域と前記論物変換テーブルにおいて対応する物理アドレスの前記不揮発性メモリ上の領域に所定のデータパターンを書き込む ことを特徴とするコントローラ。
【請求項6】
前記削除通知を受け取った場合に、前記削除領域に含まれる前記管理単位の領域と前記論物変換テーブルにおいて対応する物理アドレスに無効値を書き込むことにより、当該削除領域に含まれる前記管理単位の論理アドレスの領域を解放する
ことを特徴とする請求項5に記載のコントローラ。
【請求項7】
前記不揮発性メモリから読み出されたデータの中から所定のデータパターンの有無を検出し、前記不揮発性メモリから読み出されたデータの中に前記管理単位が全て前記所定のデータパターンである解放可能な管理単位が存在する場合は、当該解放可能な管理単位の領域に前記論物変換テーブルにて対応する物理アドレスに無効値を書き込むことにより、当該解放可能な管理単位の論理アドレスの領域を解放する
ことを特徴とする請求項5または6に記載のコントローラ。
【請求項8】
前記ホストから前記所定のデータパターンの書き込み要求を受け取った場合は、前記所定のデータパターンを前記不揮発性メモリに書き込み、
前記論物変換テーブルの対応する物理アドレスに無効値が書き込まれた論理アドレスに対する前記ホストからの読み出し要求があった場合は、前記所定のデータパターンを読み出しデータとして前記ホストに返す
ことを特徴とする請求項5、6または7に記載のコントローラ。
【請求項9】
不揮発性メモリと、ホストが指定する論理アドレスと前記不揮発性メモリ上での物理アドレスとの対応を管理単位毎に保持する論物変換テーブルを備えた記憶手段とを備えたメモリシステムの制御方法であって、
前記管理単位より小さいデータ量を単位として論理アドレスの削除領域を指定した削除通知を前記ホストから受け取った場合に、当該削除領域に含まれる前記管理単位に満たない領域と前記論物変換テーブルにおいて対応する物理アドレスの前記不揮発性メモリ上の領域に所定のデータパターンを書き込む
ことを特徴とするメモリシステムの制御方法。
【請求項10】
前記削除通知を受け取った場合に、前記削除領域に含まれる前記管理単位の領域と前記論物変換テーブルにおいて対応する物理アドレスに無効値を書き込むことにより、当該削除領域に含まれる前記管理単位の論理アドレスの領域を解放する
ことを特徴とする請求項9に記載のメモリシステムの制御方法。
【請求項11】
前記不揮発性メモリから読み出されたデータの中から所定のデータパターンの有無を検出し、
前記不揮発性メモリから読み出されたデータの中に前記管理単位が全て前記所定のデータパターンである解放可能な管理単位が存在する場合は、当該解放可能な管理単位の領域に前記論物変換テーブルにて対応する物理アドレスに無効値を書き込むことにより、当該解放可能な管理単位の論理アドレスの領域を解放する
ことを特徴とする請求項9または10に記載のメモリシステムの制御方法。
【請求項12】
前記ホストから前記所定のデータパターンの書き込み要求を受け取った場合は、前記所定のデータパターンを前記不揮発性メモリに書き込み、
前記論物変換テーブルの対応する物理アドレスに無効値が書き込まれた論理アドレスに対する前記ホストからの読み出し要求があった場合は、前記所定のデータパターンを読み出しデータとして前記ホストに返す
ことを特徴とする請求項9、10または11に記載のメモリシステムの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−203864(P2012−203864A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−70852(P2011−70852)
【出願日】平成23年3月28日(2011.3.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】