(57)【要約】【課題】ガーベジコレクション時におけるコピー処理に起因する処理能力の低下を抑制する。【解決手段】本発明に係るデータ記憶システム１００は、ページ単位でデータが書き込まれるメモリ１１４と、メモリ１１４へのデータの書き込みを制御するメモリ制御部１１２とを備えるメモリユニット１１０と、メモリ制御部１１２に、データを書き込む論理ページアドレスを指示する制御部１２０とを備え、メモリ制御部１１２は、次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定し、ターゲットブロック内の有効ページの物理ページアドレスに対応する論理ページアドレスの情報を制御部１２０に提供し、制御部１２０は、メモリ制御部１１２から受け取った論理ページアドレスにデータを書き込むようにメモリ制御部１１２に指示する。【選択図】図１
2014225197.tif 000002
【特許請求の範囲】
【請求項１】
ページ単位でデータが書き込まれるメモリと、前記メモリへのデータの書き込みを制御するメモリ制御部とを備えるメモリユニットと、
前記メモリ制御部に、データを書き込む論理ページアドレスを指示する制御部とを備え、
前記メモリ制御部は、
次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定し、
前記ターゲットブロック内の有効ページの物理ページアドレスに対応する論理ページアドレスの情報を前記制御部に提供し、
前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスにデータを書き込むように前記メモリ制御部に指示することを特徴とするデータ記憶システム。
【請求項２】
請求項１に記載のデータ記憶システムにおいて、前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスに分散させてデータを書き込むように前記メモリ制御部に指示することを特徴とするデータ記憶システム。
【請求項３】
請求項１または２に記載のデータ記憶システムにおいて、前記制御部は、前記メモリ内に記憶されているデータを更新する際に、更新前のデータを消去し、新たに更新するデータを前記メモリ制御部から受け取った前記論理ページアドレスに書き込むように前記メモリ制御部に指示することを特徴とするデータ記憶システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のデータ記憶システムにおいて、前記メモリ制御部は、前記メモリの空き容量が所定の閾値より小さくなると、ガーベジコレクションを開始することを特徴とするデータ記憶システム。
【請求項５】
ページ単位でデータが書き込まれるメモリを備えるデータ記憶システムの制御方法であって、
次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定する決定ステップと、
前記ターゲットブロック内の有効ページの物理ページアドレスを対応する論理ページアドレスに変換する変換ステップと、
変換された前記論理ページアドレスにデータを書き込む書き込みステップとを含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶システムおよびその制御方法に関し、特に、ガーベジコレクションを行うデータ記憶システムおよびその制御方法に関するものである。
【背景技術】
【０００２】
近年、ビッグデータを取り扱うアプリケーション、例えば、ＳＱＬ（Structured Query Language）データベースなどに用いるデータ記憶システムにおいて、高速、低消費電力という特徴を有するＳＳＤ（Solid State Drive）を採用することが検討されてきている。
【０００３】
ＳＳＤの構成の一例として、例えば、高速のＲｅＲＡＭと高密度のＮＡＮＤフラッシュメモリを組み合わせたハイブリッドＳＳＤが提案されている（例えば、非特許文献１参照）。しかし、コスト低減の観点などから、ＮＡＮＤフラッシュメモリのみを用いたＳＳＤも検討されている。
【０００４】
ＳＱＬなどのデータベースにおいては、データベースの単位として行データ（row data）が用いられる。ＳＳＤは、行データを単位として、挿入、消去または更新などの処理（クエリ）を実行する。行データのサイズは、通常数１００バイト程度である。
【０００５】
図８に、論理アドレス空間と物理アドレス空間におけるデータの取り扱いの一例を示す。図８（ａ）は論理アドレス空間を示し、図８（ｂ）は物理アドレス空間を示す。ＮＡＮＤフラッシュメモリは、物理アドレス空間に示すように、ゲートを共通とするメモリセルの集まりとしてページが構成され、複数のページからブロックが構成される。図８に示す例においては、１ページは１６キロバイトである。また、１ブロックは２５６ページを含む。
【０００６】
ＮＡＮＤフラッシュメモリは、書き込み単位がページである。図８に示すように、１ページのデータサイズは１６キロバイト程度であり、これは、行データのデータサイズである数１００バイト程度よりも大きい。また、ＮＡＮＤフラッシュメモリの消去単位はブロックである。図８に示す例においては、ブロック０において、物理ページアドレス（ＰＰＡ：Physical Page Address）が０〜２５５まで割り当てられ、ブロック１において、物理ページアドレスが２５６〜５１１まで割り当てられている。
【０００７】
上述したように、ＮＡＮＤフラッシュメモリの書き込み単位はページであるため、ＮＡＮＤフラッシュメモリに対する書き込み指示は、図８の論理アドレス空間に示す論理ページアドレス（ＬＰＡ：Logical Page Address）により行われる。論理ページアドレスは、物理ページアドレスと等しいデータサイズを有する。論理アドレス（ＬＡ：Logical Address）は行データのデータサイズに対応させたアドレスである。
【０００８】
ＮＡＮＤフラッシュメモリの制御部は、ある論理ページアドレスに対する書き込みを指示されると、当該論理ページアドレスを物理ページアドレスに変換して、データを書き込む。論理ページアドレスと物理ページアドレスとの対応関係は固定されたものではなく、ＮＡＮＤフラッシュメモリの使用状況に応じて変わっていく。論理ページアドレスと物理ページアドレスとの対応関係は、ＮＡＮＤフラッシュメモリの制御部が記憶している。
【０００９】
図９に、ＮＡＮＤフラッシュメモリにおいて行データを更新する際の処理の様子を示す。左側に示すブロック２０１が更新対象の行データを含むブロックであり、右側に示すブロック２０２がデータを書き込むことが可能な空きページを含むブロックであるとする。
【００１０】
図９に示す例においては、ブロック２０１の上から３番目のページの左から５番目の行データを更新する例を示す。この場合、ＮＡＮＤフラッシュメモリは、行単位でデータを書き込むことができないため、更新する行データを含むページを読み出す（Ｓ１０１）。続いて、読み出したページデータに対し、左から５番目のデータを更新データに置き換える（Ｓ１０２）。さらに、更新した１ページ分のデータをブロック２０２に書き込む（Ｓ１０３）。その後、ブロック２０１内の元のページ（上から３番目のページ）を無効ページにする（Ｓ１０４）。
【００１１】
このように、ＮＡＮＤフラッシュメモリを採用したＳＳＤにおいては、データの書き込み単位がページであることから、データの更新処理を行う度に無効ページが発生する。これは、データの更新ではなく、ページの空き領域にデータを挿入する場合も同様である。したがって、ＮＡＮＤフラッシュメモリにおいては、挿入または更新処理をする度に無効ページが増えて空き容量が減少していく。そのため、ＳＳＤは、空き容量が減少して所定の閾値より小さくなるとガーベジコレクションを実行して空き容量を生成する。
【００１２】
図１０は、ガーベジコレクションの処理の一例を示すフローチャートである。
【００１３】
ＳＳＤは、ＮＡＮＤフラッシュメモリの空き容量が所定の閾値より小さくなると、消去対象とするブロック（以下、「ターゲットブロック」という）を選択し、ターゲットブロック内の全ての有効ページのデータを読み出す（ステップＳ２０１）。続いて、ＳＳＤは、読み出した有効ページのデータを、空きページを有する書き込み対象ブロックに書き込む（ステップＳ２０２）。続いて、ＳＳＤは、ターゲットブロックのデータを消去する（ステップＳ２０３）。
【００１４】
このように、ＳＳＤは、ＮＡＮＤフラッシュメモリの空き容量が低減した場合、ガーベジコレクションを実行してターゲットブロック内のデータを消去することにより、空き容量を増やすことができる。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】H. Fujii et al., “x11 performance increase, x6.9 endurance enhancement, 93% energy reduction of 3D TSV-integrated hybrid ReRAM/MLC NAND SSDsby data fragmentation suppression”, Symp. VLSI Circuits 2012, pp. 134-135
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、ＮＡＮＤフラッシュメモリは消去単位がブロックであるため、空きブロックを生成するためには、ガーベジコレクション時にウェアレベリングなどによって選択されたターゲットブロック内の有効ページを他のブロックの空きページにコピーし、ターゲットブロック内のページを全て無効ページにしてから、ブロック全体を消去する必要がある。
【００１７】
この場合、ターゲットブロック内の有効ページのページ数が多いと、全ての有効ページをコピーするためには長い時間がかかる。例えば、１つのページのコピーに１．７ｍｓ程度の時間がかかり、有効ページ数が１００個程度ある場合、コピーに要する時間は１００ｍｓ以上もの長い時間となる。
【００１８】
このように、従来のデータ記憶システムは、ガーベジコレクション時における有効ページのコピーに時間がかかることから、処理能力が低下するという問題があった。また、メモリの空き容量が減少してくると、頻繁にガーベジコレクションが起動されるため、メモリの空き容量の減少に伴い、処理能力の低下が顕著になるという問題があった。
【００１９】
したがって、かかる点に鑑みてなされた本発明の目的は、ガーベジコレクション時におけるコピー処理に起因する処理能力の低下を抑制することができるデータ記憶システムおよびその制御方法を提供することにある。
【課題を解決するための手段】
【００２０】
上記課題を解決するため、本発明に係るデータ記憶システムは、ページ単位でデータが書き込まれるメモリと、前記メモリへのデータの書き込みを制御するメモリ制御部とを備えるメモリユニットと、前記メモリ制御部に、データを書き込む論理ページアドレスを指示する制御部とを備え、前記メモリ制御部は、次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定し、前記ターゲットブロック内の有効ページの物理ページアドレスに対応する論理ページアドレスの情報を前記制御部に提供し、前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスにデータを書き込むように前記メモリ制御部に指示することを特徴とする。
【００２１】
また、本発明に係るデータ記憶システムにおいて、前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスに分散させてデータを書き込むように前記メモリ制御部に指示することが好ましい。
【００２２】
また、本発明に係るデータ記憶システムにおいて、前記制御部は、前記メモリ内に記憶されているデータを更新する際に、更新前のデータを消去し、新たに更新するデータを前記メモリ制御部から受け取った前記論理ページアドレスに書き込むように前記メモリ制御部に指示することが好ましい。
【００２３】
また、本発明に係るデータ記憶システムにおいて、前記メモリ制御部は、前記メモリの空き容量が所定の閾値より小さくなると、ガーベジコレクションを開始することが好ましい。
【００２４】
また、上記課題を解決するため、本発明に係るデータ記憶システムの制御方法は、ページ単位でデータが書き込まれるメモリを備えるデータ記憶システムの制御方法であって、次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定する決定ステップと、前記ターゲットブロック内の有効ページの物理ページアドレスを対応する論理ページアドレスに変換する変換ステップと、変換された前記論理ページアドレスにデータを書き込む書き込みステップとを含むことを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ガーベジコレクション時におけるコピー処理に起因する処理能力の低下を抑制することができるデータ記憶システムおよびその制御方法を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係るデータ記憶システムの概略構成を示す図である。
【図２】本発明の一実施形態に係るデータ記憶システムにおけるメモリの様子の一例を示す図である。
【図３】本発明の一実施形態に係るデータ記憶システムにおいて行データを挿入する様子の一例を示す図である。
【図４】本発明の一実施形態に係るデータ記憶システムにおいて行データを更新する様子の一例を示す図である。
【図５】本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリの空き容量に対する依存性をシミュレーションした結果を示す図である。
【図６】本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリ内のブロックサイズに対する依存性をシミュレーションした結果を示す図である。
【図７】本発明の一実施形態に係るデータ記憶システムにおいて、処理能力の時間依存性をシミュレーションした結果を示す図である。
【図８】論理アドレス空間と物理アドレス空間におけるデータの取り扱いの一例を示す図である。
【図９】ＮＡＮＤフラッシュメモリにおいて行データを更新する際の処理の一例を示す図である。
【図１０】ガーベジコレクションの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明に係る実施形態について、図面を参照して説明する。
【００２８】
図１は、本発明の一実施形態に係るデータ記憶システムの概略構成を示す図である。データ記憶システム１００は、メモリユニット１１０および制御部１２０を備えている。メモリユニット１１０は、例えばＳＳＤである。また、制御部１２０は、例えば、一般にデータストレージエンジンと呼ばれるものであり、ＣＰＵ（Central Processing Unit）などで実行されるソフトウェアとして実現してもよい。
【００２９】
メモリユニット１１０は、メモリ制御部１１２、および、ＮＡＮＤフラッシュメモリから構成されるメモリ１１４を備えている。
【００３０】
メモリ制御部１１２は、例えばウェアレベリングの観点などに基づいて、次回のガーベジコレクション時に消去対象とするブロックであるメモリ１１４内のターゲットブロックを決定する。
【００３１】
メモリ制御部１１２は、ターゲットブロック内にある有効ページの物理ページアドレスを論理ページアドレスに変換し、当該論理ページアドレスの情報を制御部１２０に提供する。
【００３２】
メモリ制御部１１２は、メモリ１１４の空き容量を監視する。メモリ制御部１１２は、メモリ１１４の空き容量が所定の閾値より少なくなると、事前に決定していたターゲットブロックに対してガーベジコレクションを開始する。
【００３３】
メモリ制御部１１２は、制御部１２０から、ある論理ページアドレスに対する挿入、消去または更新処理の指示を受けると、当該論理ページアドレスを物理ページアドレスに変換し、メモリ１１４内の当該物理ページアドレスに対して挿入、消去または更新処理を実行する。
【００３４】
メモリ制御部１１２は、メモリ１１４への書き込みの際、消去を事前に行わずに同じ物理ページアドレスに上書きすることができないため、書き込み対象の論理ページアドレスのデータをページ単位で読み取って、挿入する行データをページに追加し、他ブロック内の空きページに書き込む。その後、メモリ制御部１１２は、コピー元の有効ページを無効ページにする。
【００３５】
メモリ１１４は、ＮＡＮＤフラッシュメモリから構成されている。メモリ１１４は、書き込み単位がページであり、消去単位がブロックである。
【００３６】
制御部１２０は、メモリ制御部１１２から、次に実行するガーベジコレクションの際に消去対象とするターゲットブロック内の有効ページに対応する論理ページアドレスの情報を受け取る。
【００３７】
制御部１２０は、メモリ１１４に行データの挿入をする際、メモリ制御部１１２から受け取ったターゲットブロック内の有効ページに対応する論理ページアドレスに対して、行データ挿入の指示を出す。制御部１２０が行データを挿入する際の処理の詳細については後述する。
【００３８】
また、制御部１２０は、メモリ１１４内の行データの更新をする際、元の行データを消去し、新たな更新データを、メモリ制御部１１２から受け取ったターゲットブロック内の有効ページに対応する論理ページアドレスに対して挿入するように指示を出す。すなわち、制御部１２０は、行データの更新処理を消去と挿入を組み合わせた処理として実行する。制御部１２０が行データを更新する際の処理の詳細については後述する。
【００３９】
図２は、本発明の一実施形態に係るデータ記憶システムにおけるメモリの様子の一例を示す図である。
【００４０】
図２（ａ）は、書き込みフェーズにおけるメモリ１１４内のブロック２１、ブロック２２およびブロック２３の様子の一例を示す図である。図２（ａ）においては、ブロック２１がターゲットブロックであり、ブロック２３が空きページを有するブロックであるとする。
【００４１】
図２（ａ）の状態においては、ターゲットブロックがブロック２１であるため、メモリ制御部１１２は、ターゲットブロック２１内の有効ページの物理ページアドレスを論理ページアドレスに変換して当該論理ページアドレスの情報を制御部１２０に提供する。制御部１２０は、行データを挿入する際、メモリ制御部１１２から受け取ったターゲットブロック２１内の有効ページの論理ページアドレスを指定する。この際、ターゲットブロック２１内の有効ページは上書きができないため、メモリ制御部１１２は、制御部１２０から指定されたターゲットブロック２１内の有効ページのデータを読み出して、挿入するデータを追加し、ブロック２３内の空きページに書き込む。
【００４２】
書き込みフェーズにおいて、図２（ａ）で説明した処理を繰り返すと、メモリ制御部１１２がガーベジコレクションを開始するガーベジコレクションフェーズにおいては、図２（ｂ）に示すように、ターゲットブロック２１内のページが全て無効ページになっている。したがって、ガーベジコレクション時に、ターゲットブロック２１内の有効ページのコピーを実行する必要がなく、ガーベジコレクション時における処理能力の低下を抑制することができる。
【００４３】
図３は、本発明の一実施形態に係るデータ記憶システムにおいて行データを挿入する様子の一例を示す図である。図３（ａ）は論理アドレス空間を示し、図３（ｂ）は物理アドレス空間を示す。
【００４４】
図３に示す例においては、制御部１２０は、メモリ制御部１１２から、ターゲットブロック３１内の有効ページに相当する論理ページアドレスの情報として、ＬＰＡ０〜ＬＰＡ３を受け取っている。例えば４つの行データを挿入する際、図３（ａ）に示すように、制御部１２０は、論理ページアドレスＬＰＡ０〜ＬＰＡ３を指定して、行データを挿入するように指示する。
【００４５】
メモリ制御部１１２は、制御部１２０から、論理ページアドレスＬＰＡ０〜ＬＰＡ３に対する行データ挿入の指示を受けると、例えば図３（ｂ）に示すように、ターゲットブロック３１から、論理ページアドレスに対応する物理ページアドレスのデータを読み出し、それぞれのページに行データを挿入し、書き込み対象ブロック３２に書き込む。その後、メモリ制御部１１２は、ターゲットブロック３１内の元のページを無効ページにする。
【００４６】
この際、制御部１２０は、例えばＬＰＡ０に対して４つの行データを全て挿入するというように、順番に前から詰めて行データを挿入するのではなく、ＬＰＡ０〜ＬＰＡ３に分散させて行データを挿入する。このように、制御部１２０が行データを分散させて挿入することにより、メモリ１１４の容量が完全に逼迫するまで、各ページが空きスペースを有する状態を保つことができる。その結果、ターゲットブロック内の有効ページに空きスペースがないため、制御部１２０が、ターゲットブロック内の有効ページを行データの挿入先として指定できなくなるという状況を防ぐことができる。
【００４７】
図４は、本発明の一実施形態に係るデータ記憶システムにおいて行データを更新する様子の一例を示す図である。図４（ａ）は論理アドレス空間を示し、図４（ｂ）は物理アドレス空間を示す。
【００４８】
制御部１２０は、行データの更新処理を行う際、図９に示したような方法で、そのまま行データを更新するのではなく、更新処理を、消去と挿入を組み合わせた処理として実行する。
【００４９】
例えば、図４（ａ）に示す例においては、制御部１２０は、メモリ制御部１１２から、ターゲットブロック４１内の有効ページに相当する論理ページアドレスの情報として、ＬＰＡ０〜ＬＰＡ３を受け取っている。ここで、例えば、ＬＰＡ１の３番目の行データを更新する場合、制御部１２０は、図９に示したような方法でＬＰＡ１の３番目の行データを更新するのではなく、ＬＰＡ１の３番目の行データを消去し、論理ページアドレスＬＰＡ３を指定して、新たに更新する行データを挿入するように指示する。
【００５０】
メモリ制御部１１２は、制御部１２０から、論理ページアドレスＬＰＡ３に対して、新たに更新する行データの挿入の指示を受けると、例えば図４（ｂ）に示すように、ターゲットブロック４１から、論理ページアドレスＬＰＡ３に対応する物理ページアドレスのデータを読み出し、新たに更新する行データを挿入し、書き込み対象ブロック４２に書き込む。その後、メモリ制御部１１２は、ターゲットブロック４１内の元のページを無効ページにする。
【００５１】
このように、制御部１２０が、更新処理を消去と挿入を組み合わせた処理として実行することにより、更新処理においても挿入処理と同様に、ターゲットブロック内の有効ページを無効ページにすることができる。その結果、データ記憶システム１００において実行される処理において更新処理の割合が高い場合においても、更新処理および挿入処理を繰り返すことにより、ターゲットブロック内の全ての有効ページを無効ページにすることができる。
【００５２】
図５は、本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリの空き容量に対する依存性をシミュレーションした結果を示す図である。図５において、白記号は従来技術のシミュレーション結果、黒記号は本実施形態のシミュレーション結果を示す。また、三角、四角および丸の３種類の記号は、シミュレーションで使用されたデータの挿入／消去／更新の処理の割合の違いを示し、それぞれ、挿入／消去／更新の割合が、１０％／１０％／８０％、３０％／３０％／４０％および５０％／５０％／０％の場合を示す。
【００５３】
図５（ａ）は、縦軸が処理能力である。図５（ａ）を参照すると、白記号で表される従来技術はメモリ１１４の空き容量の減少に伴い処理能力が低下する。これに対し、黒記号で表される本実施形態では、処理能力がメモリ１１４の空き容量にほとんど依存しない。これは、図５（ａ）に示した３種類の挿入／消去／更新の割合のいずれの場合についても成り立つ。例えば、挿入／消去／更新の割合が５０％／５０％／０％でメモリ１１４の空き容量が２０％の場合において比較すると、本実施形態の処理能力は従来技術の処理能力の３．８倍である。
【００５４】
図５（ｂ）は、縦軸が消費電力である。図５（ｂ）を参照すると、白記号で表される従来技術はメモリ１１４の空き容量の減少に伴い消費電力が増大する。これに対し、黒記号で表される本実施形態では、消費電力がメモリ１１４の空き容量にほとんど依存しない。これは、図５（ｂ）に示した３種類の挿入／消去／更新の割合のいずれの場合についても成り立つ。例えば、挿入／消去／更新の割合が５０％／５０％／０％でメモリ１１４の空き容量が２０％の場合において比較すると、本実施形態の消費電力は従来技術から４６％減少している。
【００５５】
図５（ｃ）は、縦軸が所定のデータ処理をした際の書き換え回数である。図５（ｃ）を参照すると、白記号で表される従来技術はメモリ１１４の空き容量の減少に伴い書き換え回数が増大する。これに対し、黒記号で表される本実施形態では、書き換え回数がメモリ１１４の空き容量にほとんど依存しない。これは、図５（ｃ）に示した３種類の挿入／消去／更新の割合のいずれの場合についても成り立つ。例えば、挿入／消去／更新の割合が５０％／５０％／０％でメモリ１１４の空き容量が２０％の場合において比較すると、本実施形態の書き換え回数は従来技術から６２％減少している。
【００５６】
図６は、本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリ１１４内のブロックサイズに対する依存性をシミュレーションした結果を示す図である。
【００５７】
図６（ａ）は、左側の縦軸が処理能力、右側の縦軸が消費電力である。図６（ａ）において処理能力の特性を参照すると、白四角で表される従来技術はブロックサイズが大きくなるに従って処理能力が低下する。これに対し、黒四角で表される本実施形態はブロックサイズへの依存性が小さい。例えば、ブロックサイズが８メガバイトの場合において比較すると、本実施形態の処理能力は従来技術の処理能力の６．３倍である。
【００５８】
また、図６（ａ）において消費電力の特性を参照すると、白丸で表される従来技術はブロックサイズが大きくなるに従って消費電力が増大する。これに対し、黒丸で表される本実施形態はブロックサイズへの依存性が小さい。例えば、ブロックサイズが８メガバイトの場合において比較すると、本実施形態の消費電力は従来技術に対して６５％低下している。
【００５９】
図６（ｂ）の縦軸は書き換え回数である。図６（ｂ）において書き換え回数の特性を参照すると、白三角で表される従来技術はブロックサイズが大きくなるに従って書き換え回数が増大する。これに対し、黒三角で表される本実施形態はブロックサイズへの依存性が小さい。例えば、ブロックサイズが８メガバイトの場合において比較すると、本実施形態の書き換え回数は従来技術に対して７８％低下している。
【００６０】
図６（ａ）および（ｂ）に示すように、本実施形態に係るデータ記憶システム１００は、諸特性のブロックサイズへの依存性が小さいことから、ブロックサイズの大きい３Ｄ−ＮＡＮＤフラッシュメモリなどをメモリ１１４に採用しても、諸特性が劣化しない。
【００６１】
図７は、本発明の一実施形態に係るデータ記憶システムにおいて、処理能力の時間依存性をシミュレーションした結果を示す図である。図７は、行データのサイズを１１９バイト、ＮＡＮＤページサイズを１６キロバイトとしてシミュレーションした結果である。
【００６２】
図７に示すように、従来技術は、時間の経過とともに処理能力が低下する。これは、時間の経過とともにメモリ空き容量が低減すると、それに伴ってガーベジコレクションの頻度が増え、ガーベジコレクションの際に発生するターゲットブロック内の有効ページのコピーが頻繁に実行されるためと考えられる。これに対し、本実施形態に係るデータ記憶システム１００は、ガーベジコレクションの際にターゲットブロック内の有効ページのコピーを実行しないため、時間の経過とともにメモリ空き容量が低減しても処理速度はほとんど変わらない。
【００６３】
このように、本実施形態によれば、制御部１２０がメモリ制御部１１２からターゲットブロック内の有効ページの論理ページアドレスの情報を受け取り、当該論理ページアドレスに対してデータを書き込むように指示することにより、ターゲットブロック内の有効ページを無効ページにすることができる。その結果、ガーベジコレクションの際には、ターゲットブロック内の有効ページがなくなっているため、ターゲットブロック内の有効ページをコピーする処理が不要となり、処理能力、消費電力および書き換え回数のいずれについても、従来技術から改善させることができる。
【００６４】
また、制御部１２０が、メモリ制御部１１２から受け取った論理ページアドレスに、分散させてデータを書き込むように指示することにより、ターゲットブロック内の有効ページに空きスペースがなくなって書き込み対象として指定できなくなる状況を低減することができる。
【００６５】
また、制御部１２０が、更新処理を、消去と挿入を組み合わせた処理として実行することにより、更新処理においても挿入処理と同様に、ターゲットブロック内の有効ページを無効ページにすることができる。
【００６６】
また、メモリ制御部１１２が、メモリ１１４の空き容量が所定の閾値より小さくなるとガーベジコレクションを開始することにより、メモリ１１４の空き容量が所定の値より減ることを抑制することができる。
【００６７】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。
【００６８】
例えば、上記実施形態は、メモリとしてＮＡＮＤフラッシュメモリを用いる場合を例に挙げて説明したが、本発明はこれに限るものではなく、同様の特性を有するメモリであれば、本発明を適用可能である。
【符号の説明】
【００６９】
１００  データ記憶システム
１１０  メモリユニット
１１２  メモリ制御部
１１４  メモリ
１２０  制御部
【図１】
2014225197.tif 000003
【図２】
2014225197.tif 000004
【図３】
2014225197.tif 000005
【図４】
2014225197.tif 000006
【図５】
2014225197.tif 000007
【図６】
2014225197.tif 000008
【図７】
2014225197.tif 000009
【図８】
2014225197.tif 000010
【図９】
2014225197.tif 000011
【図１０】
2014225197.tif 000012