JP2014225197A - データ記憶システムおよびその制御方法 - Google Patents

データ記憶システムおよびその制御方法 Download PDF

Info

Publication number
JP2014225197A
JP2014225197A JP2013105094A JP2013105094A JP2014225197A JP 2014225197 A JP2014225197 A JP 2014225197A JP 2013105094 A JP2013105094 A JP 2013105094A JP 2013105094 A JP2013105094 A JP 2013105094A JP 2014225197 A JP2014225197 A JP 2014225197A
Authority
JP
Japan
Prior art keywords
control unit
memory
data
page address
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013105094A
Other languages
English (en)
Other versions
JP6008325B2 (ja
Inventor
幸祐 宮地
Kosuke Miyaji
幸祐 宮地
超 孫
Chao Sun
超 孫
竹内 健
Takeshi Takeuchi
健 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chuo University
Original Assignee
Chuo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chuo University filed Critical Chuo University
Priority to JP2013105094A priority Critical patent/JP6008325B2/ja
Priority to KR1020157032750A priority patent/KR101839664B1/ko
Priority to US14/891,425 priority patent/US20160147652A1/en
Priority to PCT/JP2014/002450 priority patent/WO2014185037A1/ja
Publication of JP2014225197A publication Critical patent/JP2014225197A/ja
Application granted granted Critical
Publication of JP6008325B2 publication Critical patent/JP6008325B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】ガーベジコレクション時におけるコピー処理に起因する処理能力の低下を抑制する。【解決手段】本発明に係るデータ記憶システム100は、ページ単位でデータが書き込まれるメモリ114と、メモリ114へのデータの書き込みを制御するメモリ制御部112とを備えるメモリユニット110と、メモリ制御部112に、データを書き込む論理ページアドレスを指示する制御部120とを備え、メモリ制御部112は、次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定し、ターゲットブロック内の有効ページの物理ページアドレスに対応する論理ページアドレスの情報を制御部120に提供し、制御部120は、メモリ制御部112から受け取った論理ページアドレスにデータを書き込むようにメモリ制御部112に指示する。【選択図】図1

Description

本発明はデータ記憶システムおよびその制御方法に関し、特に、ガーベジコレクションを行うデータ記憶システムおよびその制御方法に関するものである。
近年、ビッグデータを取り扱うアプリケーション、例えば、SQL(Structured Query Language)データベースなどに用いるデータ記憶システムにおいて、高速、低消費電力という特徴を有するSSD(Solid State Drive)を採用することが検討されてきている。
SSDの構成の一例として、例えば、高速のReRAMと高密度のNANDフラッシュメモリを組み合わせたハイブリッドSSDが提案されている(例えば、非特許文献1参照)。しかし、コスト低減の観点などから、NANDフラッシュメモリのみを用いたSSDも検討されている。
SQLなどのデータベースにおいては、データベースの単位として行データ(row data)が用いられる。SSDは、行データを単位として、挿入、消去または更新などの処理(クエリ)を実行する。行データのサイズは、通常数100バイト程度である。
図8に、論理アドレス空間と物理アドレス空間におけるデータの取り扱いの一例を示す。図8(a)は論理アドレス空間を示し、図8(b)は物理アドレス空間を示す。NANDフラッシュメモリは、物理アドレス空間に示すように、ゲートを共通とするメモリセルの集まりとしてページが構成され、複数のページからブロックが構成される。図8に示す例においては、1ページは16キロバイトである。また、1ブロックは256ページを含む。
NANDフラッシュメモリは、書き込み単位がページである。図8に示すように、1ページのデータサイズは16キロバイト程度であり、これは、行データのデータサイズである数100バイト程度よりも大きい。また、NANDフラッシュメモリの消去単位はブロックである。図8に示す例においては、ブロック0において、物理ページアドレス(PPA:Physical Page Address)が0〜255まで割り当てられ、ブロック1において、物理ページアドレスが256〜511まで割り当てられている。
上述したように、NANDフラッシュメモリの書き込み単位はページであるため、NANDフラッシュメモリに対する書き込み指示は、図8の論理アドレス空間に示す論理ページアドレス(LPA:Logical Page Address)により行われる。論理ページアドレスは、物理ページアドレスと等しいデータサイズを有する。論理アドレス(LA:Logical Address)は行データのデータサイズに対応させたアドレスである。
NANDフラッシュメモリの制御部は、ある論理ページアドレスに対する書き込みを指示されると、当該論理ページアドレスを物理ページアドレスに変換して、データを書き込む。論理ページアドレスと物理ページアドレスとの対応関係は固定されたものではなく、NANDフラッシュメモリの使用状況に応じて変わっていく。論理ページアドレスと物理ページアドレスとの対応関係は、NANDフラッシュメモリの制御部が記憶している。
図9に、NANDフラッシュメモリにおいて行データを更新する際の処理の様子を示す。左側に示すブロック201が更新対象の行データを含むブロックであり、右側に示すブロック202がデータを書き込むことが可能な空きページを含むブロックであるとする。
図9に示す例においては、ブロック201の上から3番目のページの左から5番目の行データを更新する例を示す。この場合、NANDフラッシュメモリは、行単位でデータを書き込むことができないため、更新する行データを含むページを読み出す(S101)。続いて、読み出したページデータに対し、左から5番目のデータを更新データに置き換える(S102)。さらに、更新した1ページ分のデータをブロック202に書き込む(S103)。その後、ブロック201内の元のページ(上から3番目のページ)を無効ページにする(S104)。
このように、NANDフラッシュメモリを採用したSSDにおいては、データの書き込み単位がページであることから、データの更新処理を行う度に無効ページが発生する。これは、データの更新ではなく、ページの空き領域にデータを挿入する場合も同様である。したがって、NANDフラッシュメモリにおいては、挿入または更新処理をする度に無効ページが増えて空き容量が減少していく。そのため、SSDは、空き容量が減少して所定の閾値より小さくなるとガーベジコレクションを実行して空き容量を生成する。
図10は、ガーベジコレクションの処理の一例を示すフローチャートである。
SSDは、NANDフラッシュメモリの空き容量が所定の閾値より小さくなると、消去対象とするブロック(以下、「ターゲットブロック」という)を選択し、ターゲットブロック内の全ての有効ページのデータを読み出す(ステップS201)。続いて、SSDは、読み出した有効ページのデータを、空きページを有する書き込み対象ブロックに書き込む(ステップS202)。続いて、SSDは、ターゲットブロックのデータを消去する(ステップS203)。
このように、SSDは、NANDフラッシュメモリの空き容量が低減した場合、ガーベジコレクションを実行してターゲットブロック内のデータを消去することにより、空き容量を増やすことができる。
しかしながら、NANDフラッシュメモリは消去単位がブロックであるため、空きブロックを生成するためには、ガーベジコレクション時にウェアレベリングなどによって選択されたターゲットブロック内の有効ページを他のブロックの空きページにコピーし、ターゲットブロック内のページを全て無効ページにしてから、ブロック全体を消去する必要がある。
この場合、ターゲットブロック内の有効ページのページ数が多いと、全ての有効ページをコピーするためには長い時間がかかる。例えば、1つのページのコピーに1.7ms程度の時間がかかり、有効ページ数が100個程度ある場合、コピーに要する時間は100ms以上もの長い時間となる。
このように、従来のデータ記憶システムは、ガーベジコレクション時における有効ページのコピーに時間がかかることから、処理能力が低下するという問題があった。また、メモリの空き容量が減少してくると、頻繁にガーベジコレクションが起動されるため、メモリの空き容量の減少に伴い、処理能力の低下が顕著になるという問題があった。
したがって、かかる点に鑑みてなされた本発明の目的は、ガーベジコレクション時におけるコピー処理に起因する処理能力の低下を抑制することができるデータ記憶システムおよびその制御方法を提供することにある。
上記課題を解決するため、本発明に係るデータ記憶システムは、ページ単位でデータが書き込まれるメモリと、前記メモリへのデータの書き込みを制御するメモリ制御部とを備えるメモリユニットと、前記メモリ制御部に、データを書き込む論理ページアドレスを指示する制御部とを備え、前記メモリ制御部は、次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定し、前記ターゲットブロック内の有効ページの物理ページアドレスに対応する論理ページアドレスの情報を前記制御部に提供し、前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスにデータを書き込むように前記メモリ制御部に指示することを特徴とする。
また、本発明に係るデータ記憶システムにおいて、前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスに分散させてデータを書き込むように前記メモリ制御部に指示することが好ましい。
また、本発明に係るデータ記憶システムにおいて、前記制御部は、前記メモリ内に記憶されているデータを更新する際に、更新前のデータを消去し、新たに更新するデータを前記メモリ制御部から受け取った前記論理ページアドレスに書き込むように前記メモリ制御部に指示することが好ましい。
また、本発明に係るデータ記憶システムにおいて、前記メモリ制御部は、前記メモリの空き容量が所定の閾値より小さくなると、ガーベジコレクションを開始することが好ましい。
また、上記課題を解決するため、本発明に係るデータ記憶システムの制御方法は、ページ単位でデータが書き込まれるメモリを備えるデータ記憶システムの制御方法であって、次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定する決定ステップと、前記ターゲットブロック内の有効ページの物理ページアドレスを対応する論理ページアドレスに変換する変換ステップと、変換された前記論理ページアドレスにデータを書き込む書き込みステップとを含むことを特徴とする。
本発明によれば、ガーベジコレクション時におけるコピー処理に起因する処理能力の低下を抑制することができるデータ記憶システムおよびその制御方法を提供することができる。
本発明の一実施形態に係るデータ記憶システムの概略構成を示す図である。 本発明の一実施形態に係るデータ記憶システムにおけるメモリの様子の一例を示す図である。 本発明の一実施形態に係るデータ記憶システムにおいて行データを挿入する様子の一例を示す図である。 本発明の一実施形態に係るデータ記憶システムにおいて行データを更新する様子の一例を示す図である。 本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリの空き容量に対する依存性をシミュレーションした結果を示す図である。 本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリ内のブロックサイズに対する依存性をシミュレーションした結果を示す図である。 本発明の一実施形態に係るデータ記憶システムにおいて、処理能力の時間依存性をシミュレーションした結果を示す図である。 論理アドレス空間と物理アドレス空間におけるデータの取り扱いの一例を示す図である。 NANDフラッシュメモリにおいて行データを更新する際の処理の一例を示す図である。 ガーベジコレクションの処理の一例を示すフローチャートである。
以下、本発明に係る実施形態について、図面を参照して説明する。
図1は、本発明の一実施形態に係るデータ記憶システムの概略構成を示す図である。データ記憶システム100は、メモリユニット110および制御部120を備えている。メモリユニット110は、例えばSSDである。また、制御部120は、例えば、一般にデータストレージエンジンと呼ばれるものであり、CPU(Central Processing Unit)などで実行されるソフトウェアとして実現してもよい。
メモリユニット110は、メモリ制御部112、および、NANDフラッシュメモリから構成されるメモリ114を備えている。
メモリ制御部112は、例えばウェアレベリングの観点などに基づいて、次回のガーベジコレクション時に消去対象とするブロックであるメモリ114内のターゲットブロックを決定する。
メモリ制御部112は、ターゲットブロック内にある有効ページの物理ページアドレスを論理ページアドレスに変換し、当該論理ページアドレスの情報を制御部120に提供する。
メモリ制御部112は、メモリ114の空き容量を監視する。メモリ制御部112は、メモリ114の空き容量が所定の閾値より少なくなると、事前に決定していたターゲットブロックに対してガーベジコレクションを開始する。
メモリ制御部112は、制御部120から、ある論理ページアドレスに対する挿入、消去または更新処理の指示を受けると、当該論理ページアドレスを物理ページアドレスに変換し、メモリ114内の当該物理ページアドレスに対して挿入、消去または更新処理を実行する。
メモリ制御部112は、メモリ114への書き込みの際、消去を事前に行わずに同じ物理ページアドレスに上書きすることができないため、書き込み対象の論理ページアドレスのデータをページ単位で読み取って、挿入する行データをページに追加し、他ブロック内の空きページに書き込む。その後、メモリ制御部112は、コピー元の有効ページを無効ページにする。
メモリ114は、NANDフラッシュメモリから構成されている。メモリ114は、書き込み単位がページであり、消去単位がブロックである。
制御部120は、メモリ制御部112から、次に実行するガーベジコレクションの際に消去対象とするターゲットブロック内の有効ページに対応する論理ページアドレスの情報を受け取る。
制御部120は、メモリ114に行データの挿入をする際、メモリ制御部112から受け取ったターゲットブロック内の有効ページに対応する論理ページアドレスに対して、行データ挿入の指示を出す。制御部120が行データを挿入する際の処理の詳細については後述する。
また、制御部120は、メモリ114内の行データの更新をする際、元の行データを消去し、新たな更新データを、メモリ制御部112から受け取ったターゲットブロック内の有効ページに対応する論理ページアドレスに対して挿入するように指示を出す。すなわち、制御部120は、行データの更新処理を消去と挿入を組み合わせた処理として実行する。制御部120が行データを更新する際の処理の詳細については後述する。
図2は、本発明の一実施形態に係るデータ記憶システムにおけるメモリの様子の一例を示す図である。
図2(a)は、書き込みフェーズにおけるメモリ114内のブロック21、ブロック22およびブロック23の様子の一例を示す図である。図2(a)においては、ブロック21がターゲットブロックであり、ブロック23が空きページを有するブロックであるとする。
図2(a)の状態においては、ターゲットブロックがブロック21であるため、メモリ制御部112は、ターゲットブロック21内の有効ページの物理ページアドレスを論理ページアドレスに変換して当該論理ページアドレスの情報を制御部120に提供する。制御部120は、行データを挿入する際、メモリ制御部112から受け取ったターゲットブロック21内の有効ページの論理ページアドレスを指定する。この際、ターゲットブロック21内の有効ページは上書きができないため、メモリ制御部112は、制御部120から指定されたターゲットブロック21内の有効ページのデータを読み出して、挿入するデータを追加し、ブロック23内の空きページに書き込む。
書き込みフェーズにおいて、図2(a)で説明した処理を繰り返すと、メモリ制御部112がガーベジコレクションを開始するガーベジコレクションフェーズにおいては、図2(b)に示すように、ターゲットブロック21内のページが全て無効ページになっている。したがって、ガーベジコレクション時に、ターゲットブロック21内の有効ページのコピーを実行する必要がなく、ガーベジコレクション時における処理能力の低下を抑制することができる。
図3は、本発明の一実施形態に係るデータ記憶システムにおいて行データを挿入する様子の一例を示す図である。図3(a)は論理アドレス空間を示し、図3(b)は物理アドレス空間を示す。
図3に示す例においては、制御部120は、メモリ制御部112から、ターゲットブロック31内の有効ページに相当する論理ページアドレスの情報として、LPA0〜LPA3を受け取っている。例えば4つの行データを挿入する際、図3(a)に示すように、制御部120は、論理ページアドレスLPA0〜LPA3を指定して、行データを挿入するように指示する。
メモリ制御部112は、制御部120から、論理ページアドレスLPA0〜LPA3に対する行データ挿入の指示を受けると、例えば図3(b)に示すように、ターゲットブロック31から、論理ページアドレスに対応する物理ページアドレスのデータを読み出し、それぞれのページに行データを挿入し、書き込み対象ブロック32に書き込む。その後、メモリ制御部112は、ターゲットブロック31内の元のページを無効ページにする。
この際、制御部120は、例えばLPA0に対して4つの行データを全て挿入するというように、順番に前から詰めて行データを挿入するのではなく、LPA0〜LPA3に分散させて行データを挿入する。このように、制御部120が行データを分散させて挿入することにより、メモリ114の容量が完全に逼迫するまで、各ページが空きスペースを有する状態を保つことができる。その結果、ターゲットブロック内の有効ページに空きスペースがないため、制御部120が、ターゲットブロック内の有効ページを行データの挿入先として指定できなくなるという状況を防ぐことができる。
図4は、本発明の一実施形態に係るデータ記憶システムにおいて行データを更新する様子の一例を示す図である。図4(a)は論理アドレス空間を示し、図4(b)は物理アドレス空間を示す。
制御部120は、行データの更新処理を行う際、図9に示したような方法で、そのまま行データを更新するのではなく、更新処理を、消去と挿入を組み合わせた処理として実行する。
例えば、図4(a)に示す例においては、制御部120は、メモリ制御部112から、ターゲットブロック41内の有効ページに相当する論理ページアドレスの情報として、LPA0〜LPA3を受け取っている。ここで、例えば、LPA1の3番目の行データを更新する場合、制御部120は、図9に示したような方法でLPA1の3番目の行データを更新するのではなく、LPA1の3番目の行データを消去し、論理ページアドレスLPA3を指定して、新たに更新する行データを挿入するように指示する。
メモリ制御部112は、制御部120から、論理ページアドレスLPA3に対して、新たに更新する行データの挿入の指示を受けると、例えば図4(b)に示すように、ターゲットブロック41から、論理ページアドレスLPA3に対応する物理ページアドレスのデータを読み出し、新たに更新する行データを挿入し、書き込み対象ブロック42に書き込む。その後、メモリ制御部112は、ターゲットブロック41内の元のページを無効ページにする。
このように、制御部120が、更新処理を消去と挿入を組み合わせた処理として実行することにより、更新処理においても挿入処理と同様に、ターゲットブロック内の有効ページを無効ページにすることができる。その結果、データ記憶システム100において実行される処理において更新処理の割合が高い場合においても、更新処理および挿入処理を繰り返すことにより、ターゲットブロック内の全ての有効ページを無効ページにすることができる。
図5は、本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリの空き容量に対する依存性をシミュレーションした結果を示す図である。図5において、白記号は従来技術のシミュレーション結果、黒記号は本実施形態のシミュレーション結果を示す。また、三角、四角および丸の3種類の記号は、シミュレーションで使用されたデータの挿入/消去/更新の処理の割合の違いを示し、それぞれ、挿入/消去/更新の割合が、10%/10%/80%、30%/30%/40%および50%/50%/0%の場合を示す。
図5(a)は、縦軸が処理能力である。図5(a)を参照すると、白記号で表される従来技術はメモリ114の空き容量の減少に伴い処理能力が低下する。これに対し、黒記号で表される本実施形態では、処理能力がメモリ114の空き容量にほとんど依存しない。これは、図5(a)に示した3種類の挿入/消去/更新の割合のいずれの場合についても成り立つ。例えば、挿入/消去/更新の割合が50%/50%/0%でメモリ114の空き容量が20%の場合において比較すると、本実施形態の処理能力は従来技術の処理能力の3.8倍である。
図5(b)は、縦軸が消費電力である。図5(b)を参照すると、白記号で表される従来技術はメモリ114の空き容量の減少に伴い消費電力が増大する。これに対し、黒記号で表される本実施形態では、消費電力がメモリ114の空き容量にほとんど依存しない。これは、図5(b)に示した3種類の挿入/消去/更新の割合のいずれの場合についても成り立つ。例えば、挿入/消去/更新の割合が50%/50%/0%でメモリ114の空き容量が20%の場合において比較すると、本実施形態の消費電力は従来技術から46%減少している。
図5(c)は、縦軸が所定のデータ処理をした際の書き換え回数である。図5(c)を参照すると、白記号で表される従来技術はメモリ114の空き容量の減少に伴い書き換え回数が増大する。これに対し、黒記号で表される本実施形態では、書き換え回数がメモリ114の空き容量にほとんど依存しない。これは、図5(c)に示した3種類の挿入/消去/更新の割合のいずれの場合についても成り立つ。例えば、挿入/消去/更新の割合が50%/50%/0%でメモリ114の空き容量が20%の場合において比較すると、本実施形態の書き換え回数は従来技術から62%減少している。
図6は、本発明の一実施形態に係るデータ記憶システムにおいて、諸特性の、メモリ114内のブロックサイズに対する依存性をシミュレーションした結果を示す図である。
図6(a)は、左側の縦軸が処理能力、右側の縦軸が消費電力である。図6(a)において処理能力の特性を参照すると、白四角で表される従来技術はブロックサイズが大きくなるに従って処理能力が低下する。これに対し、黒四角で表される本実施形態はブロックサイズへの依存性が小さい。例えば、ブロックサイズが8メガバイトの場合において比較すると、本実施形態の処理能力は従来技術の処理能力の6.3倍である。
また、図6(a)において消費電力の特性を参照すると、白丸で表される従来技術はブロックサイズが大きくなるに従って消費電力が増大する。これに対し、黒丸で表される本実施形態はブロックサイズへの依存性が小さい。例えば、ブロックサイズが8メガバイトの場合において比較すると、本実施形態の消費電力は従来技術に対して65%低下している。
図6(b)の縦軸は書き換え回数である。図6(b)において書き換え回数の特性を参照すると、白三角で表される従来技術はブロックサイズが大きくなるに従って書き換え回数が増大する。これに対し、黒三角で表される本実施形態はブロックサイズへの依存性が小さい。例えば、ブロックサイズが8メガバイトの場合において比較すると、本実施形態の書き換え回数は従来技術に対して78%低下している。
図6(a)および(b)に示すように、本実施形態に係るデータ記憶システム100は、諸特性のブロックサイズへの依存性が小さいことから、ブロックサイズの大きい3D−NANDフラッシュメモリなどをメモリ114に採用しても、諸特性が劣化しない。
図7は、本発明の一実施形態に係るデータ記憶システムにおいて、処理能力の時間依存性をシミュレーションした結果を示す図である。図7は、行データのサイズを119バイト、NANDページサイズを16キロバイトとしてシミュレーションした結果である。
図7に示すように、従来技術は、時間の経過とともに処理能力が低下する。これは、時間の経過とともにメモリ空き容量が低減すると、それに伴ってガーベジコレクションの頻度が増え、ガーベジコレクションの際に発生するターゲットブロック内の有効ページのコピーが頻繁に実行されるためと考えられる。これに対し、本実施形態に係るデータ記憶システム100は、ガーベジコレクションの際にターゲットブロック内の有効ページのコピーを実行しないため、時間の経過とともにメモリ空き容量が低減しても処理速度はほとんど変わらない。
このように、本実施形態によれば、制御部120がメモリ制御部112からターゲットブロック内の有効ページの論理ページアドレスの情報を受け取り、当該論理ページアドレスに対してデータを書き込むように指示することにより、ターゲットブロック内の有効ページを無効ページにすることができる。その結果、ガーベジコレクションの際には、ターゲットブロック内の有効ページがなくなっているため、ターゲットブロック内の有効ページをコピーする処理が不要となり、処理能力、消費電力および書き換え回数のいずれについても、従来技術から改善させることができる。
また、制御部120が、メモリ制御部112から受け取った論理ページアドレスに、分散させてデータを書き込むように指示することにより、ターゲットブロック内の有効ページに空きスペースがなくなって書き込み対象として指定できなくなる状況を低減することができる。
また、制御部120が、更新処理を、消去と挿入を組み合わせた処理として実行することにより、更新処理においても挿入処理と同様に、ターゲットブロック内の有効ページを無効ページにすることができる。
また、メモリ制御部112が、メモリ114の空き容量が所定の閾値より小さくなるとガーベジコレクションを開始することにより、メモリ114の空き容量が所定の値より減ることを抑制することができる。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。
例えば、上記実施形態は、メモリとしてNANDフラッシュメモリを用いる場合を例に挙げて説明したが、本発明はこれに限るものではなく、同様の特性を有するメモリであれば、本発明を適用可能である。
100 データ記憶システム
110 メモリユニット
112 メモリ制御部
114 メモリ
120 制御部

Claims (5)

  1. ページ単位でデータが書き込まれるメモリと、前記メモリへのデータの書き込みを制御するメモリ制御部とを備えるメモリユニットと、
    前記メモリ制御部に、データを書き込む論理ページアドレスを指示する制御部とを備え、
    前記メモリ制御部は、
    次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定し、
    前記ターゲットブロック内の有効ページの物理ページアドレスに対応する論理ページアドレスの情報を前記制御部に提供し、
    前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスにデータを書き込むように前記メモリ制御部に指示することを特徴とするデータ記憶システム。
  2. 請求項1に記載のデータ記憶システムにおいて、前記制御部は、前記メモリ制御部から受け取った前記論理ページアドレスに分散させてデータを書き込むように前記メモリ制御部に指示することを特徴とするデータ記憶システム。
  3. 請求項1または2に記載のデータ記憶システムにおいて、前記制御部は、前記メモリ内に記憶されているデータを更新する際に、更新前のデータを消去し、新たに更新するデータを前記メモリ制御部から受け取った前記論理ページアドレスに書き込むように前記メモリ制御部に指示することを特徴とするデータ記憶システム。
  4. 請求項1乃至3のいずれか一項に記載のデータ記憶システムにおいて、前記メモリ制御部は、前記メモリの空き容量が所定の閾値より小さくなると、ガーベジコレクションを開始することを特徴とするデータ記憶システム。
  5. ページ単位でデータが書き込まれるメモリを備えるデータ記憶システムの制御方法であって、
    次に実行するガーベジコレクションの際に消去対象とするブロックであるターゲットブロックを決定する決定ステップと、
    前記ターゲットブロック内の有効ページの物理ページアドレスを対応する論理ページアドレスに変換する変換ステップと、
    変換された前記論理ページアドレスにデータを書き込む書き込みステップとを含むことを特徴とする制御方法。
JP2013105094A 2013-05-17 2013-05-17 データ記憶システムおよびその制御方法 Expired - Fee Related JP6008325B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013105094A JP6008325B2 (ja) 2013-05-17 2013-05-17 データ記憶システムおよびその制御方法
KR1020157032750A KR101839664B1 (ko) 2013-05-17 2014-05-08 데이터 기억 시스템 및 그 제어 방법
US14/891,425 US20160147652A1 (en) 2013-05-17 2014-05-08 Data storage system and control method thereof
PCT/JP2014/002450 WO2014185037A1 (ja) 2013-05-17 2014-05-08 データ記憶システムおよびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013105094A JP6008325B2 (ja) 2013-05-17 2013-05-17 データ記憶システムおよびその制御方法

Publications (2)

Publication Number Publication Date
JP2014225197A true JP2014225197A (ja) 2014-12-04
JP6008325B2 JP6008325B2 (ja) 2016-10-19

Family

ID=51898029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013105094A Expired - Fee Related JP6008325B2 (ja) 2013-05-17 2013-05-17 データ記憶システムおよびその制御方法

Country Status (4)

Country Link
US (1) US20160147652A1 (ja)
JP (1) JP6008325B2 (ja)
KR (1) KR101839664B1 (ja)
WO (1) WO2014185037A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406749A (zh) * 2015-07-31 2017-02-15 爱思开海力士有限公司 存储系统及其操作方法
JP2018036795A (ja) * 2016-08-30 2018-03-08 東芝メモリ株式会社 メモリシステム
JP2018156600A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2019149197A (ja) * 2019-05-09 2019-09-05 東芝メモリ株式会社 メモリシステムの制御方法
JP2021047889A (ja) * 2014-12-29 2021-03-25 キオクシア株式会社 メモリ装置及びその制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10621084B2 (en) 2018-03-05 2020-04-14 International Business Machines Corporation Efficient garbage collection in the presence of block dependencies
KR102645142B1 (ko) * 2018-10-25 2024-03-07 삼성전자주식회사 예측된 유효 페이지들을 이용하여 가비지 콜렉션을 수행하는 스토리지 장치들, 방법들 및 불휘발성 메모리 장치들
US10824556B2 (en) 2018-11-05 2020-11-03 International Business Machines Corporation Adaptive garbage collection (GC) utilization for grid storage systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
US20110191566A1 (en) * 2010-01-29 2011-08-04 Kabushiki Kaisha Toshiba Memory controller and memory control method
US20110314204A1 (en) * 2010-06-22 2011-12-22 Kabushiki Kaisha Toshiba Semiconductor storage device, control method thereof, and information processing apparatus
US20120254516A1 (en) * 2011-03-29 2012-10-04 Sony Corporation Control device, storage device, and reading control method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820179B2 (en) * 2000-12-04 2004-11-16 Hitachi Hokkai Semiconductor, Ltd. Semiconductor device and data processing system
KR100457812B1 (ko) * 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
US7464308B2 (en) * 2004-01-13 2008-12-09 Micron Technology, Inc. CAM expected address search testmode
US8069269B2 (en) * 2004-08-04 2011-11-29 Emc Corporation Methods and apparatus for accessing content in a virtual pool on a content addressable storage system
US7366028B2 (en) * 2006-04-24 2008-04-29 Sandisk Corporation Method of high-performance flash memory data transfer
US7577803B2 (en) * 2007-02-16 2009-08-18 Seagate Technology Llc Near instantaneous backup and restore of disc partitions
KR100929371B1 (ko) * 2009-03-18 2009-12-02 한국과학기술원 페이지-디퍼런셜을 이용하여 dbms에 독립적인 방법으로 플래시 메모리에 데이터를 저장하는 방법
WO2011099963A1 (en) * 2010-02-10 2011-08-18 Hewlett-Packard Development Company, L.P. Identifying a location containing invalid data in a storage media
US8984032B2 (en) * 2011-12-15 2015-03-17 Sandisk Technologies Inc. Method and system for providing storage device file location information
US9323667B2 (en) * 2012-04-12 2016-04-26 Violin Memory Inc. System and method for managing trim operations in a flash memory system using mapping tables and block status tables
US9135161B2 (en) * 2012-06-12 2015-09-15 International Business Machines Corporation Flash translation layer system for maintaining data versions in solid state memory
JP2015529368A (ja) * 2012-09-06 2015-10-05 ピーアイ−コーラル、インク. ストレージトランスレーションレイヤー
US8938597B2 (en) * 2012-10-23 2015-01-20 Seagate Technology Llc Restoring virtualized GCU state information
US9164888B2 (en) * 2012-12-10 2015-10-20 Google Inc. Using a logical to physical map for direct user space communication with a data storage device
WO2014155525A1 (ja) * 2013-03-26 2014-10-02 株式会社日立製作所 ストレージシステム及び制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
US20110191566A1 (en) * 2010-01-29 2011-08-04 Kabushiki Kaisha Toshiba Memory controller and memory control method
JP2011159044A (ja) * 2010-01-29 2011-08-18 Toshiba Corp 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
US20110314204A1 (en) * 2010-06-22 2011-12-22 Kabushiki Kaisha Toshiba Semiconductor storage device, control method thereof, and information processing apparatus
JP2012008651A (ja) * 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
US20120254516A1 (en) * 2011-03-29 2012-10-04 Sony Corporation Control device, storage device, and reading control method
JP2012208543A (ja) * 2011-03-29 2012-10-25 Sony Corp 制御装置、記憶装置、読出制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047889A (ja) * 2014-12-29 2021-03-25 キオクシア株式会社 メモリ装置及びその制御方法
JP7030942B2 (ja) 2014-12-29 2022-03-07 キオクシア株式会社 メモリ装置及びその制御方法
CN106406749A (zh) * 2015-07-31 2017-02-15 爱思开海力士有限公司 存储系统及其操作方法
JP2018036795A (ja) * 2016-08-30 2018-03-08 東芝メモリ株式会社 メモリシステム
US10754560B2 (en) 2016-08-30 2020-08-25 Toshiba Memory Corporation Predicting and controlling power consumption for a storage device
JP2018156600A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2019149197A (ja) * 2019-05-09 2019-09-05 東芝メモリ株式会社 メモリシステムの制御方法

Also Published As

Publication number Publication date
KR101839664B1 (ko) 2018-03-16
KR20150145242A (ko) 2015-12-29
US20160147652A1 (en) 2016-05-26
WO2014185037A1 (ja) 2014-11-20
JP6008325B2 (ja) 2016-10-19

Similar Documents

Publication Publication Date Title
JP6008325B2 (ja) データ記憶システムおよびその制御方法
EP1909184B1 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
JP6016137B2 (ja) ソリッドステートドライブおよびその動作方法
KR101110785B1 (ko) 프로그램 가능한 내구력을 가진 플래시 메모리
KR100847506B1 (ko) 기억 장치, 메모리 관리 방법 및 프로그램
CN104423894B (zh) 数据储存装置以及快闪存储器控制方法
US20200012598A1 (en) Garbage Collection Method for Storage Medium, Storage Medium, and Program Product
CN108073522B (zh) 可用于数据储存装置的垃圾搜集方法
JP2005222550A (ja) フラッシュメモリのリマッピング方法
CN106802867B (zh) 固态储存装置及其数据编程方法
JP2005242897A (ja) フラッシュディスク装置
JP2013137770A (ja) Lbaビットマップの使用
US11397669B2 (en) Data storage device and non-volatile memory control method
JP5570406B2 (ja) メモリコントローラ、及びデータ記録装置
KR20120081351A (ko) Ftl을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
KR20100057346A (ko) 메모리 장치 및 메모리 장치의 관리 방법
JP2007133541A (ja) 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム
JP2009205689A (ja) フラッシュディスク装置
US8996786B2 (en) Nonvolatile memory system and block management method
US20110264848A1 (en) Data recording device
WO2014185038A1 (ja) 半導体記憶装置およびその制御方法
KR20150139383A (ko) 반도체 장치
WO2020039927A1 (ja) 不揮発性記憶装置、ホスト装置、及びデータ記憶システム
CN108255437B (zh) 数据贮存装置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R150 Certificate of patent or registration of utility model

Ref document number: 6008325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees