JP2010182266A - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 - Google Patents
メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP2010182266A JP2010182266A JP2009027740A JP2009027740A JP2010182266A JP 2010182266 A JP2010182266 A JP 2010182266A JP 2009027740 A JP2009027740 A JP 2009027740A JP 2009027740 A JP2009027740 A JP 2009027740A JP 2010182266 A JP2010182266 A JP 2010182266A
- Authority
- JP
- Japan
- Prior art keywords
- block
- earliest
- group
- physical
- logical
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【解決手段】PBのECの閾値を基に定義されたPBのグループ(GP)毎に、空きPBの検索用のテーブルAと、最も先に論理ブロック(LB)に割り当てられたPB(最先PB)の検索用のテーブルBがある。メモリコントローラは、PBをアクセス対象のLBに割り当てるときに、ECの少ないPBが属する側のGP(下位側GP)に対応するテーブルAの方を優先的に用いて空きPBの検索し、検出された空きPBが属するGPよりも下位側GPに属するPBが存在するときには、その空きPBが属するGPよりも下位側GPに属する最先PBをその下位側GPに対応するテーブルBを用いて検索し、検出された最先PB内のデータを上記検出された空きPBに転送し、その最先PBをアクセス対象のLBに割り当てる。
【選択図】図3
Description
フラッシュメモリを構成するそれぞれの物理ブロックの消去回数を管理する消去回数管理手段と、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、フラッシュメモリを構成する物理ブロックを前記論理ブロックに割り当てるブロック管理手段と、
有効なデータが格納されていない物理ブロックである空きブロックを検索するための空きブロックテーブルを、物理ブロックの消去回数について設けられた1又は複数の閾値を基に定義された物理ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索手段と、
前記論理ブロックに割り当てられている物理ブロックのうちで最も先に前記論理ブロックに割り当てられた物理ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索手段と、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている物理ブロックにホストシステムから与えられるデータを格納するデータ格納手段と、
前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送するデータ転送手段とを備え、
前記アクセス指示に応答して前記ブロック管理手段により物理ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索手段は消去回数の少ない物理ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方を優先的に用いて前記空きブロックの検索を行い、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在しないときに、前記ブロック管理手段は前記空きブロック検索手段により検出された前記空きブロックを前記論理ブロックに割り当て、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在するときに、前記最先ブロック検索手段は前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックを検索し、前記データ転送手段は前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送し、前記ブロック管理手段は前記最先ブロック検索手段により検出された前記最先ブロックを前記論理ブロックに割り当てる。
フラッシュメモリを構成する物理ブロックを複数個集めた仮想ブロックを複数個形成する仮想ブロック形成手段と、
前記仮想ブロック単位で消去回数を管理する消去回数管理手段と、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、前記仮想ブロックを前記論理ブロックに割り当てるブロック管理手段と、
有効なデータが格納されていない前記仮想ブロックである空きブロックを検索するための空きブロックテーブルを、前記仮想ブロックの消去回数について設けられた1又は複数の閾値を基に定義された前記仮想ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索手段と、
前記論理ブロックに割り当てられている前記仮想ブロックのうちで最も先に前記論理ブロックに割り当てられた前記仮想ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索手段と、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている前記仮想ブロックにホストシステムから与えられるデータを格納するデータ格納手段と、
前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送するデータ転送手段とを備え、
前記アクセス指示に応答して前記ブロック管理手段により前記仮想ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索手段は消去回数の少ない前記仮想ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方を優先的に用いて前記空きブロックの検索を行い、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在しないときに、前記ブロック管理手段は前記空きブロック検索手段により検出された前記空きブロックを前記論理ブロックに割り当て、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在するときに、前記最先ブロック検索手段は前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックを検索し、前記データ転送手段は前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送し、前記ブロック管理手段は前記最先ブロック検索手段により検出された前記最先ブロックを前記論理ブロックに割り当てる。
フラッシュメモリを構成するそれぞれの物理ブロックの消去回数を管理する消去回数管理ステップと、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、フラッシュメモリを構成する物理ブロックを前記論理ブロックに割り当てるブロック管理ステップと、
有効なデータが格納されていない物理ブロックである空きブロックを検索するための空きブロックテーブルを、物理ブロックの消去回数について設けられた1又は複数の閾値を基に定義された物理ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索ステップと、
前記論理ブロックに割り当てられている物理ブロックのうちで最も先に前記論理ブロックに割り当てられた物理ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索ステップと、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている物理ブロックにホストシステムから与えられるデータを格納するデータ格納ステップと、
前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータを前記空きブロック検索ステップにより検出された前記空きブロックに転送するデータ転送ステップとを備え、
前記アクセス指示に応答して前記ブロック管理ステップにより物理ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索ステップでは消去回数の少ない物理ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方が優先的に用いられる前記空きブロックの検索が行われ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在しないときに、前記ブロック管理ステップでは前記空きブロック検索ステップにより検出された前記空きブロックが前記論理ブロックに割り当てられ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在するときに、前記最先ブロック検索ステップでは前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックが検索され、前記データ転送ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータが前記空きブロック検索ステップにより検出された前記空きブロックに転送され、前記ブロック管理ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックが前記論理ブロックに割り当てられる。
フラッシュメモリを構成する物理ブロックを複数個集めた仮想ブロックを複数個形成する仮想ブロック形成ステップと
前記仮想ブロック単位で消去回数を管理する消去回数管理ステップと、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、前記仮想ブロックを前記論理ブロックに割り当てるブロック管理ステップと、
有効なデータが格納されていない前記仮想ブロックである空きブロックを検索するための空きブロックテーブルを、前記仮想ブロックの消去回数について設けられた1又は複数の閾値を基に定義された前記仮想ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索ステップと、
前記論理ブロックに割り当てられている前記仮想ブロックのうちで最も先に前記論理ブロックに割り当てられた前記仮想ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索ステップと、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている前記仮想ブロックにホストシステムから与えられるデータを格納するデータ格納ステップと、
前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータを前記空きブロック検索ステップにより検出された前記空きブロックに転送するデータ転送ステップとを備え、
前記アクセス指示に応答して前記ブロック管理ステップにより前記仮想ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索ステップでは消去回数の少ない前記仮想ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方が優先的に用いられる前記空きブロックの検索が行われ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在しないときに、前記ブロック管理ステップでは前記空きブロック検索ステップにより検出された前記空きブロックが前記論理ブロックに割り当てられ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在する場合、前記最先ブロック検索ステップでは前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックが検索され、前記データ転送ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータが前記空きブロック検索ステップにより検出された前記空きブロックに転送され、前記ブロック管理ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックが前記論理ブロックに割り当てられる。
いる。ワークエリア8には、例えば、論理ブロックと物理ブロックとの対応関係を示したアドレス変換テーブル等が格納される。
3に書き込まれた情報に基づいて、アクセス対象の領域である論理アクセス領域が判別され、その論理アクセス領域が含まれる論理ブロックに対応する物理ブロックにホストシステム4から与えられるデータが書き込まれる。
Claims (5)
- ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
フラッシュメモリを構成するそれぞれの物理ブロックの消去回数を管理する消去回数管理手段と、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、フラッシュメモリを構成する物理ブロックを前記論理ブロックに割り当てるブロック管理手段と、
有効なデータが格納されていない物理ブロックである空きブロックを検索するための空きブロックテーブルを、物理ブロックの消去回数について設けられた1又は複数の閾値を基に定義された物理ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索手段と、
前記論理ブロックに割り当てられている物理ブロックのうちで最も先に前記論理ブロックに割り当てられた物理ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索手段と、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている物理ブロックにホストシステムから与えられるデータを格納するデータ格納手段と、
前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送するデータ転送手段とを備え、
前記アクセス指示に応答して前記ブロック管理手段により物理ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索手段は消去回数の少ない物理ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方を優先的に用いて前記空きブロックの検索を行い、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在しないときに、前記ブロック管理手段は前記空きブロック検索手段により検出された前記空きブロックを前記論理ブロックに割り当て、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在するときに、前記最先ブロック検索手段は前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックを検索し、前記データ転送手段は前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送し、前記ブロック管理手段は前記最先ブロック検索手段により検出された前記最先ブロックを前記論理ブロックに割り当てる、
メモリコントローラ。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
フラッシュメモリを構成する物理ブロックを複数個集めた仮想ブロックを複数個形成する仮想ブロック形成手段と、
前記仮想ブロック単位で消去回数を管理する消去回数管理手段と、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、前記仮想ブロックを前記論理ブロックに割り当てるブロック管理手段と、
有効なデータが格納されていない前記仮想ブロックである空きブロックを検索するための空きブロックテーブルを、前記仮想ブロックの消去回数について設けられた1又は複数の閾値を基に定義された前記仮想ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索手段と、
前記論理ブロックに割り当てられている前記仮想ブロックのうちで最も先に前記論理ブロックに割り当てられた前記仮想ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索手段と、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている前記仮想ブロックにホストシステムから与えられるデータを格納するデータ格納手段と、
前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送するデータ転送手段とを備え、
前記アクセス指示に応答して前記ブロック管理手段により前記仮想ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索手段は消去回数の少ない前記仮想ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方を優先的に用いて前記空きブロックの検索を行い、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在しないときに、前記ブロック管理手段は前記空きブロック検索手段により検出された前記空きブロックを前記論理ブロックに割り当て、
前記空きブロック検索手段により検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在するときに、前記最先ブロック検索手段は前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックを検索し、前記データ転送手段は前記最先ブロック検索手段により検出された前記最先ブロックに格納されているデータを前記空きブロック検索手段により検出された前記空きブロックに転送し、前記ブロック管理手段は前記最先ブロック検索手段により検出された前記最先ブロックを前記論理ブロックに割り当てる、
メモリコントローラ。 - 請求項1又は2に記載のメモリコントローラと、このメモリコントローラにより制御される複数個のフラッシュメモリを備えるフラッシュメモリシステム。
- ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
フラッシュメモリを構成するそれぞれの物理ブロックの消去回数を管理する消去回数管理ステップと、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、フラッシュメモリを構成する物理ブロックを前記論理ブロックに割り当てるブロック管理ステップと、
有効なデータが格納されていない物理ブロックである空きブロックを検索するための空きブロックテーブルを、物理ブロックの消去回数について設けられた1又は複数の閾値を基に定義された物理ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索ステップと、
前記論理ブロックに割り当てられている物理ブロックのうちで最も先に前記論理ブロックに割り当てられた物理ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索ステップと、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている物理ブロックにホストシステムから与えられるデータを格納するデータ格納ステップと、
前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータを前記空きブロック検索ステップにより検出された前記空きブロックに転送するデータ転送ステップとを備え、
前記アクセス指示に応答して前記ブロック管理ステップにより物理ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索ステップでは消去回数の少ない物理ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方が優先的に用いられる前記空きブロックの検索が行われ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在しないときに、前記ブロック管理ステップでは前記空きブロック検索ステップにより検出された前記空きブロックが前記論理ブロックに割り当てられ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する物理ブロックが存在するときに、前記最先ブロック検索ステップでは前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックが検索され、前記データ転送ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータが前記空きブロック検索ステップにより検出された前記空きブロックに転送され、前記ブロック管理ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックが前記論理ブロックに割り当てられるフラッシュメモリの制御方法。 - ホストシステムから与えられるアクセス指示に基づいて、物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
フラッシュメモリを構成する物理ブロックを複数個集めた仮想ブロックを複数個形成する仮想ブロック形成ステップと
前記仮想ブロック単位で消去回数を管理する消去回数管理ステップと、
前記アクセス指示として与えられる論理アドレスが割り当てられているセクタ単位の領域を複数個集めた複数セクタの領域を論理ブロックとして管理し、前記仮想ブロックを前記論理ブロックに割り当てるブロック管理ステップと、
有効なデータが格納されていない前記仮想ブロックである空きブロックを検索するための空きブロックテーブルを、前記仮想ブロックの消去回数について設けられた1又は複数の閾値を基に定義された前記仮想ブロックのグループ毎に有し、それぞれの前記空きブロックテーブルを用いてそれぞれの前記グループに属する前記空きブロックを検索する空きブロック検索ステップと、
前記論理ブロックに割り当てられている前記仮想ブロックのうちで最も先に前記論理ブロックに割り当てられた前記仮想ブロックである最先ブロックを検索するための最先ブロックテーブルを前記グループ毎に有し、それぞれの前記最先ブロックテーブルを用いてそれぞれの前記グループに属する前記最先ブロックを検索する最先ブロック検索ステップと、
前記アクセス指示に基づいてアクセス対象の領域が属する前記論理ブロックを特定し、特定した前記論理ブロックに割り当てられている前記仮想ブロックにホストシステムから与えられるデータを格納するデータ格納ステップと、
前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータを前記空きブロック検索ステップにより検出された前記空きブロックに転送するデータ転送ステップとを備え、
前記アクセス指示に応答して前記ブロック管理ステップにより前記仮想ブロックが前記論理ブロックに割り当てられるときに、前記空きブロック検索ステップでは消去回数の少ない前記仮想ブロックが属する側の前記グループである下位側の前記グループに対応する前記空きブロックテーブルの方が優先的に用いられる前記空きブロックの検索が行われ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在しないときに、前記ブロック管理ステップでは前記空きブロック検索ステップにより検出された前記空きブロックが前記論理ブロックに割り当てられ、
前記空きブロック検索ステップにより検出された前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記仮想ブロックが存在する場合、前記最先ブロック検索ステップでは前記空きブロックが属する前記グループよりも下位側の前記グループに属する前記最先ブロックが検索され、前記データ転送ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックに格納されているデータが前記空きブロック検索ステップにより検出された前記空きブロックに転送され、前記ブロック管理ステップでは前記最先ブロック検索ステップにより検出された前記最先ブロックが前記論理ブロックに割り当てられるフラッシュメモリの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027740A JP4666080B2 (ja) | 2009-02-09 | 2009-02-09 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US12/701,789 US8200891B2 (en) | 2009-02-09 | 2010-02-08 | Memory controller, memory system with memory controller, and method of controlling flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027740A JP4666080B2 (ja) | 2009-02-09 | 2009-02-09 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010182266A true JP2010182266A (ja) | 2010-08-19 |
JP4666080B2 JP4666080B2 (ja) | 2011-04-06 |
Family
ID=42541320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027740A Active JP4666080B2 (ja) | 2009-02-09 | 2009-02-09 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8200891B2 (ja) |
JP (1) | JP4666080B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250533A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2014134998A (ja) * | 2013-01-11 | 2014-07-24 | Mitsubishi Electric Corp | データ記録装置、及びデータ記録方法 |
JP2016507830A (ja) * | 2013-02-22 | 2016-03-10 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | メモリ回収方法および装置 |
JP2018142237A (ja) * | 2017-02-28 | 2018-09-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP2018142236A (ja) * | 2017-02-28 | 2018-09-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP2020198128A (ja) * | 2020-08-31 | 2020-12-10 | キオクシア株式会社 | メモリシステム |
JP2020205077A (ja) * | 2020-08-31 | 2020-12-24 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200828320A (en) * | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method for performing static wear leveling on flash memory |
JP4987997B2 (ja) * | 2010-02-26 | 2012-08-01 | 株式会社東芝 | メモリシステム |
JP5093294B2 (ja) * | 2010-05-14 | 2012-12-12 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
CN102591793B (zh) * | 2012-02-13 | 2014-12-03 | 山东华芯半导体有限公司 | 辅助上位机检索页映射单元块中空闲块的装置 |
US9201786B2 (en) | 2012-12-21 | 2015-12-01 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
US10643700B2 (en) * | 2015-10-29 | 2020-05-05 | Micron Technology, Inc. | Apparatuses and methods for adjusting write parameters based on a write count |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JP2002358233A (ja) * | 2001-05-31 | 2002-12-13 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2006504195A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける摩耗一様化 |
JP2008146254A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
US8112574B2 (en) * | 2004-02-26 | 2012-02-07 | Super Talent Electronics, Inc. | Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes |
US7441067B2 (en) * | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
JP2007133683A (ja) * | 2005-11-10 | 2007-05-31 | Sony Corp | メモリシステム |
US8060718B2 (en) * | 2006-06-20 | 2011-11-15 | International Business Machines | Updating a memory to maintain even wear |
US9153337B2 (en) * | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US20080140918A1 (en) * | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
CN100538662C (zh) * | 2007-07-05 | 2009-09-09 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
US20090254729A1 (en) * | 2008-04-07 | 2009-10-08 | Skymedi Corporation | Method of wear leveling for a non-volatile memory |
TWI389125B (zh) * | 2008-07-18 | 2013-03-11 | A Data Technology Co Ltd | 記憶體儲存裝置及其控制方法 |
US8001318B1 (en) * | 2008-10-28 | 2011-08-16 | Netapp, Inc. | Wear leveling for low-wear areas of low-latency random read memory |
TWI375887B (en) * | 2008-10-31 | 2012-11-01 | A Data Technology Co Ltd | Flash memory device with wear-leveling mechanism and controlling method thereof |
-
2009
- 2009-02-09 JP JP2009027740A patent/JP4666080B2/ja active Active
-
2010
- 2010-02-08 US US12/701,789 patent/US8200891B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JP2002358233A (ja) * | 2001-05-31 | 2002-12-13 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2006504195A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける摩耗一様化 |
JP2008146254A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250533A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2014134998A (ja) * | 2013-01-11 | 2014-07-24 | Mitsubishi Electric Corp | データ記録装置、及びデータ記録方法 |
JP2016507830A (ja) * | 2013-02-22 | 2016-03-10 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | メモリ回収方法および装置 |
JP2018142237A (ja) * | 2017-02-28 | 2018-09-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP2018142236A (ja) * | 2017-02-28 | 2018-09-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP2020198128A (ja) * | 2020-08-31 | 2020-12-10 | キオクシア株式会社 | メモリシステム |
JP2020205077A (ja) * | 2020-08-31 | 2020-12-24 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7132291B2 (ja) | 2020-08-31 | 2022-09-06 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100205356A1 (en) | 2010-08-12 |
US8200891B2 (en) | 2012-06-12 |
JP4666080B2 (ja) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4666081B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8214579B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
US8219742B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
JP5093294B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4488048B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5858081B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP4821845B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952740B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4366420B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952741B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952742B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4582232B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4720891B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2012068764A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP4821844B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4569554B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2010092200A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20101214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4666080 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |