JP4666080B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 - Google Patents
メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法Info
- Publication number
- JP4666080B2 JP4666080B2 JP2009027740A JP2009027740A JP4666080B2 JP 4666080 B2 JP4666080 B2 JP 4666080B2 JP 2009027740 A JP2009027740 A JP 2009027740A JP 2009027740 A JP2009027740 A JP 2009027740A JP 4666080 B2 JP4666080 B2 JP 4666080B2
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 148
- 238000000034 method Methods 0.000 title claims description 41
- 238000007726 management method Methods 0.000 claims description 79
- 238000012546 transfer Methods 0.000 claims description 34
- 238000013500 data storage Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000002950 deficient Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 206010010356 Congenital anomaly Diseases 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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)
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 JP2010182266A (ja) | 2010-08-19 |
JP4666080B2 true JP4666080B2 (ja) | 2011-04-06 |
Family
ID=42541320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027740A Expired - Fee Related JP4666080B2 (ja) | 2009-02-09 | 2009-02-09 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8200891B2 (ja) |
JP (1) | JP4666080B2 (ja) |
Families Citing this family (14)
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 |
JP4952741B2 (ja) * | 2009-04-15 | 2012-06-13 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
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 |
JP5994647B2 (ja) * | 2013-01-11 | 2016-09-21 | 三菱電機株式会社 | データ記録装置、及びデータ記録方法 |
CN104008061B (zh) * | 2013-02-22 | 2018-01-23 | 华为技术有限公司 | 内存回收方法及装置 |
US10643700B2 (en) * | 2015-10-29 | 2020-05-05 | Micron Technology, Inc. | Apparatuses and methods for adjusting write parameters based on a write count |
JP6765321B2 (ja) * | 2017-02-28 | 2020-10-07 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP6765322B2 (ja) * | 2017-02-28 | 2020-10-07 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2020198128A (ja) * | 2020-08-31 | 2020-12-10 | キオクシア株式会社 | メモリシステム |
JP7132291B2 (ja) * | 2020-08-31 | 2022-09-06 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US12210750B2 (en) | 2021-08-27 | 2025-01-28 | Micron Technology, Inc. | Effective access count based media management |
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 |
US20080140918A1 (en) * | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
US9153337B2 (en) * | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile 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 not_active Expired - Fee Related
-
2010
- 2010-02-08 US US12/701,789 patent/US8200891B2/en not_active Expired - Fee Related
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 | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US8200891B2 (en) | 2012-06-12 |
US20100205356A1 (en) | 2010-08-12 |
JP2010182266A (ja) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8239615B2 (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 | |
JP4666081B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5093294B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4702387B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4488048B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4821845B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4366420B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952741B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8200890B2 (en) | Memory controller, flash memory system with memory controller, and method of controlling flash memory | |
JP4952742B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4720891B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4241741B2 (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 |
|
LAPS | Cancellation because of no payment of annual fees |