JP2007133683A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2007133683A JP2007133683A JP2005326414A JP2005326414A JP2007133683A JP 2007133683 A JP2007133683 A JP 2007133683A JP 2005326414 A JP2005326414 A JP 2005326414A JP 2005326414 A JP2005326414 A JP 2005326414A JP 2007133683 A JP2007133683 A JP 2007133683A
- Authority
- JP
- Japan
- Prior art keywords
- rewritten
- wear leveling
- data area
- block address
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 32
- 239000004065 semiconductor Substances 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 13
- 239000012141 concentrate Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 101000760620 Homo sapiens Cell adhesion molecule 1 Proteins 0.000 description 1
- 101000737813 Homo sapiens Cyclin-dependent kinase 2-associated protein 1 Proteins 0.000 description 1
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 1
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 1
- 101000710013 Homo sapiens Reversion-inducing cysteine-rich protein with Kazal motifs Proteins 0.000 description 1
- 101000585359 Homo sapiens Suppressor of tumorigenicity 20 protein Proteins 0.000 description 1
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 108090000237 interleukin-24 Proteins 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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)
- Read Only Memory (AREA)
Abstract
【課題】頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、システムの書き換え回数の実効的な寿命を大幅に改善することが可能なメモリシステムを提供する。
【解決手段】フラッシュメモリ11は、頻繁に書き換えを行う第1データ領域と111、殆ど書き換えを行わない第2データ領域112とを有し、頻繁に書き換えを行う第1データ領域111の新しい書き換え先の物理ブロックアドレスPAは、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAを順次選択し、その論理ブロックアドレスLAに対応する物理ブロックアドレスPAに更新される。
【選択図】図5
【解決手段】フラッシュメモリ11は、頻繁に書き換えを行う第1データ領域と111、殆ど書き換えを行わない第2データ領域112とを有し、頻繁に書き換えを行う第1データ領域111の新しい書き換え先の物理ブロックアドレスPAは、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAを順次選択し、その論理ブロックアドレスLAに対応する物理ブロックアドレスPAに更新される。
【選択図】図5
Description
本発明は、不揮発性半導体記憶装置を用いたメモリメモリシステムに係り、特に頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域が混在するメモリシステムにおけるウェアー・レベリング(Wear-leveling)制御方式の改善技術に関するものである。
半導体記憶装置の一つとして、電気的書き換えを可能としたフラッシュメモリが知られている。なかでも、メモリセルを複数個直列接続してNANDセル・ブロックを構成するNAND型フラッシュメモリは、高集積化ができるものとして注目されている。
NAND型フラッシュメモリの1つのメモリセルは、半導体基板上に絶縁膜を介して浮遊ゲート(電荷蓄積層)と制御ゲートが積層されたFETMOS構造を有し、複数個のメモリセルが隣接するもの同士でソース・ドレインを共有する形で直列接続されてNANDセルを構成する。このようなNANDセルがマトリクス配列されてメモリセルアレイが構成される。
メモリセルアレイの列方向に並ぶNANDセルの一端側のドレインは、それぞれ選択ゲートトランジスタを介してビット線に共通接続され、他端側ソースはやはり選択ゲートトランジスタを介して共通ソース線に接続されている。メモリセルトランジスタのワード線及び選択ゲートトランジスタのゲート電極は、メモリセルアレイの行方向にそれぞれワード線(制御ゲート線)、選択ゲート線として共通接続されている。
メモリセルアレイの列方向に並ぶNANDセルの一端側のドレインは、それぞれ選択ゲートトランジスタを介してビット線に共通接続され、他端側ソースはやはり選択ゲートトランジスタを介して共通ソース線に接続されている。メモリセルトランジスタのワード線及び選択ゲートトランジスタのゲート電極は、メモリセルアレイの行方向にそれぞれワード線(制御ゲート線)、選択ゲート線として共通接続されている。
このようなNAND型フラッシュメモリは、たとえば非特許文献1,2に開示されている。
図1は、2値2GbitNAND型フラッシュメモリのブロックおよびページ配置を示す図である。
図1に示すように、2Gbitチップには、128KBのブロックBLKが2048個あり、2Gb=256MB=128KB×2048で構成されている。また、各ブロックBLK0〜BLK2047には、2KBのページが64個あり、128KB=2KB×64で構成されている。
図1に示すように、2Gbitチップには、128KBのブロックBLKが2048個あり、2Gb=256MB=128KB×2048で構成されている。また、各ブロックBLK0〜BLK2047には、2KBのページが64個あり、128KB=2KB×64で構成されている。
また、上記のようなNAND型フラッシュメモリを用いたシステムとしては、たとえば特許文献1,2,3に開示されたシステムが知られている。
フラッシュメモリを用いたメモリシステムにおいて、特定物理アドレスブロックに書き換えが集中しないようにウェアー・レベリング(Wear-leveling)制御を行っている。
フラッシュメモリは、記憶データを書き換える際に書き込みの前に消去を行わないとならない。そして、既に不必要となった古いブロックを予め消去しておき、その消去されたブロックに新しいデータを書き込み、そのブロックの論理ブロックアドレスを更新する。
一方、NAND型フラッシュメモリの書き換え回数寿命は、一つのメモリセルに1ビットのデータを格納する2値品で、0.3〜1×106回と言われている。
したがって、ウェアー・レベリング制御とは、ある特定の物理アドレスのブロックに書き換えが集中しないように制御することを目的としている。
フラッシュメモリは、記憶データを書き換える際に書き込みの前に消去を行わないとならない。そして、既に不必要となった古いブロックを予め消去しておき、その消去されたブロックに新しいデータを書き込み、そのブロックの論理ブロックアドレスを更新する。
一方、NAND型フラッシュメモリの書き換え回数寿命は、一つのメモリセルに1ビットのデータを格納する2値品で、0.3〜1×106回と言われている。
したがって、ウェアー・レベリング制御とは、ある特定の物理アドレスのブロックに書き換えが集中しないように制御することを目的としている。
ウェアー・レベリング制御には、大きくは二通りの方式がある。
書き換えを行わない物理アドレスのブロックは、そのまま放置しておき、書き換えを行う物理アドレスのブロックのみを書き換えを行う際に消去済みの任意の物理アドレスのブロックと交換して行き、自動的にウェアー・レベリング制御が行えるようにしたパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御方式と、書き換えを行わない物理アドレスのブロックも含め、全ての物理アドレスのブロックにおいて、書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御方式と、がある。
アクティブ・ウェアー・レベリング制御に関しては、たとえば、特許文献4に開示されている。
K.-D. Suh et al., "A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme," IEEE J. Solid-State Circuits, vol.30, pp.1149-1156, Nov. 1995. Y. Iwata et al., "A 35ns Cycle Time 3.3V Only 32Mb NAND Flash EEPROM," IEEE J. Solid-State Circuits, vol.30, pp.1157-1164, Nov. 1995. E. Harari et al., “Flash EEPROM System,” USP5,602,987, Feb. 11, 1997.
P. Estakhri et al., “Moving Sectors Within A Block Of Information In A Flash Memory Mass Storage Architecture,” USP5,907,856, May 25, 1999.
D. Moran et al., “Flash Memory System Providing Both Bios and User Storage Capability,” USP5,519,843, May 21, 1996.
K. M. J. Lofgren al., “Wear Leveling Techniques for Flash EEPROM Systems,” USP6,594,183 B1, Jul. 15, 2003.
書き換えを行わない物理アドレスのブロックは、そのまま放置しておき、書き換えを行う物理アドレスのブロックのみを書き換えを行う際に消去済みの任意の物理アドレスのブロックと交換して行き、自動的にウェアー・レベリング制御が行えるようにしたパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御方式と、書き換えを行わない物理アドレスのブロックも含め、全ての物理アドレスのブロックにおいて、書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御方式と、がある。
アクティブ・ウェアー・レベリング制御に関しては、たとえば、特許文献4に開示されている。
K.-D. Suh et al., "A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme," IEEE J. Solid-State Circuits, vol.30, pp.1149-1156, Nov. 1995. Y. Iwata et al., "A 35ns Cycle Time 3.3V Only 32Mb NAND Flash EEPROM," IEEE J. Solid-State Circuits, vol.30, pp.1157-1164, Nov. 1995.
ところで、特許文献4においては、「書き換えを重ねるうちに、書き換え回数の不均一性が生じる不揮発性メモリシステムにおいて、互いに消去可能な複数のメモリセルグループに分かれた構成で、ホストから第1の論理アドレスとデータを受け取り、第1の論理アドレスを第1の物理アドレスへの論物変換を行い、第1の物理アドレスへデータを書き込む。さらに第2のデータと第1の論理アドレスをホストから受けた際に、第1の消去単位があらかじめ定めた書き換え回数を上回っているときに、第1の論理アドレスを異なるメモリセルグループの第2の物理アドレスへ変換する。」という定義がある。
したがって、アクティブ・ウェアー・レベリング制御においては、書き換えを行う必要の無いブロックにおいても平均的に書き換えが行われる。これは、結果として、不必要に多くの書き換えを行ってしまう場合がある。
図2および図3は、NAND型フラッシュメモリの実使用の例を示す図である。そして、図2は、NAND型フラッシュメモリ容量の大半のブロックが、頻繁に書き換えを行うブロックWBLKで占められている場合を、また、逆に図3は、NAND型フラッシュメモリ容量の大半のブロックが、殆ど書き換えを行わないブロックREWBLKで占められている場合をそれぞれ示している。
図2の場合は、アクティブ・ウェアー・レベリング制御を行ってしまうと、大半のブロックが書き換えを頻繁に行って自動的にウェアー・レベリング制御を行っているにもかかわらず、さらに全てのブロックにおいて書き換え回数を平均化するために不必要な書き換えを行ってしまい、この結果、書き換え回数寿命に全体のブロックが早く到達してしまう。
一方、図3の場合は、パッシブ・ウェアー・レベリング制御を行ってしまうと、自動的にウェアー・レベリングが行われるのは、頻繁に書き換えを行う数少ないブロックに対してであり、これらのブロックは直ぐに書き換え回数寿命に達してしまう。
したがって、図2の場合には、パッシブ・ウェアー・レベリング制御が、また、図3の場合には、アクティブ・ウェアー・レベリング制御が最適と言える。
また、図4は、たとえば2048個のブロックがあり、その幾つかが消去済みブロックERDBLKになっている場合を示す図である。
この際、データ書き換えを行う場合、まず消去済みブロックERDBLKを探すのであるが、物理ブロックのアドレスが小さい順に探していくため、どうしても物理ブロックのアドレスが小さいブロックに書き換えが集中し、書き換え回数が多くなってしまう不利益がある。
この際、データ書き換えを行う場合、まず消去済みブロックERDBLKを探すのであるが、物理ブロックのアドレスが小さい順に探していくため、どうしても物理ブロックのアドレスが小さいブロックに書き換えが集中し、書き換え回数が多くなってしまう不利益がある。
本発明の目的は、頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、システムの書き換え回数の実効的な寿命を大幅に改善することが可能なメモリシステムを提供することにある。
本発明の第1の観点は、不揮発性半導体記憶装置を用いたメモリシステムであって、頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、制御部と、を有し、上記制御部は、上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する。
好適には、上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく。
好適には、上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている。
好適には、制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う。
本発明の第2の観点は、不揮発性半導体記憶装置を用いたメモリシステムにおいて、頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部と、を有し、上記制御部は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、上記不揮発性メモリ部には、上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されている。
好適には、上記制御部は、上記不揮発性メモリ部の半分以上のブロックに書き換えを頻繁に行わないデータを格納する場合には、上記アクティブ・ウェアー・レベリング制御方式を選択し、上記不揮発性メモリ部の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、上記パッシブ・ウェアー・レベリング制御方式を選択する。
好適には、ページバッファを有し、上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される。
好適には、上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である。
本発明によれば、頻繁に書き換えを行う第1データ領域と殆ど書き換えを行わない第2データ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、不揮発性半導体記憶装置を用いたメモリシステムの書き換え回数の実効的な寿命を大幅に改善することができる。
システムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
システムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
以下、本発明の実施形態を図面に関連付けて説明する。
図5は、本発明の実施形態に係るメモリシステム(記憶装置)を示す構成図である。
図5のメモリシステム(記憶装置)10は、不揮発性メモリ部としてのNAND型フラッシュメモリ11、ページバッファ12、制御部13、インターフェース回路(I/F)14、および内部データバス15を、主構成要素として有している。
メモリシステム10は、内部データバス15には、たとえば16ビットの入出力を持つ1チップのNAND型フラッシュメモリ11が並列接続されている。
ページバッファ12は、アクセスされたページデータを内部バス15を介して一時記憶するものであり、外部とのインターフェース回路14に接続されている。
ページバッファ12は、アクセスされたページデータを内部バス15を介して一時記憶するものであり、外部とのインターフェース回路14に接続されている。
制御部13は、改善したウェアー・レベリング制御方式に基づき、フラッシュメモリ11へのアクセス制御を行い、後で説明するように、フラッシュメモリ11における頻繁に書き換えを行う第1データ領域と、殆ど書き換えを行わない第2データ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御を実現している。
本実施形態のNAND型フラッシュメモリ11は、頻繁に書き換えを行う第1データ領域111と殆ど書き換えを行わない第2データ領域112とを有する。
そして、フラッシュメモリ11は、制御部13により、頻繁に書き換えを行うデータ領域の新しい書き換え先の物理ブロックアドレス(PA:PHISICAL ADDRESS)は、殆ど書き換えを行わない第2データ領域の論理ブロックドレス(LA:LOGICAL ADDRESS)が順次選択され、その論理ブロックアドレスLAに対応する物理ページアドレスPAに更新される。
そして、フラッシュメモリ11は、制御部13により、頻繁に書き換えを行うデータ領域の新しい書き換え先の物理ブロックアドレス(PA:PHISICAL ADDRESS)は、殆ど書き換えを行わない第2データ領域の論理ブロックドレス(LA:LOGICAL ADDRESS)が順次選択され、その論理ブロックアドレスLAに対応する物理ページアドレスPAに更新される。
図6は、本実施形態に係るNAND型フラッシュメモリにおけるデータ領域の構成例を示す図である。
図6に示すように、本実施形態のフラッシュメモリ11は、頻繁に書き換えを行う第1データ領域111、および殆ど書き換えを行わない第2データ領域112を有している。
図6の例では、フラッシュメモリ11の記憶容量の大半のブロックが、殆ど書き換えを行わないブロックで占められている場合を示している。なお、図2は、論理ブロックアドレスLAで示した例である。
図6の例では、フラッシュメモリ11の記憶容量の大半のブロックが、殆ど書き換えを行わないブロックで占められている場合を示している。なお、図2は、論理ブロックアドレスLAで示した例である。
図7は、図6の対応する論理ブロックアドレスLAを物理ブロックアドレスPAに変換して見た例を示す図である。
図7においては、頻繁に書き換えを行う第1データ領域111の新しい書き換え先の物理ブロックアドレスPAは、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAを順次選択し、その論理ブロックアドレスLAに対応する物理ブロックアドレスPAに更新される様子が示されている。
図7においては、頻繁に書き換えを行う第1データ領域111の新しい書き換え先の物理ブロックアドレスPAは、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAを順次選択し、その論理ブロックアドレスLAに対応する物理ブロックアドレスPAに更新される様子が示されている。
また、本実施形態のNAND型フラッシュメモリ11は、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAに格納されたデータは、消去済みのブロックにコピーされた後、コピー元のブロックは消去しておくように制御され、管理される。
そして、本実施形態のNAND型フラッシュメモリ11は、殆ど書き換えを行わないデータを格納している第2データ領域112の論理ブロックアドレスLA2、若しくは、頻繁に書き換えを行うデータを格納している第1領域111の論理ブロックアドレスLA1、若しくは、それぞれにはフラグを設けており、それぞれを識別可能にしている。
そして、本実施形態のNAND型フラッシュメモリ11は、殆ど書き換えを行わないデータを格納している第2データ領域112の論理ブロックアドレスLA2、若しくは、頻繁に書き換えを行うデータを格納している第1領域111の論理ブロックアドレスLA1、若しくは、それぞれにはフラグを設けており、それぞれを識別可能にしている。
また、図8は、殆ど書き換えを行わないデータを格納している論理ブロックアドレスLA2にフラグ*を設けた例を示しており、図9は、頻繁に書き換えを行うデータを格納している論理ブロックアドレスにLA1フラグ*を設けた例を示しており、図10は、それぞれにはフラグを設けた例を示している。
また、本実施形態のNAND型フラッシュメモリ11において、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、消去済み論理ブロックアドレスに従って、順次書き換えを行い、特定の物理ブロックに書き換えが集中し、特定の物理ブロックの書き換え回数のみが増加しないように平均化される。
図11は、消去済みのブロックに消去後すぐに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、消去済み論理ブロックアドレスに従って、順次書き換えを行い、特定の物理ブロックに書き換えが集中し、特定の物理ブロックの書き換え回数のみが増加しないように平均化されるようにした例を示している。
図11は、2値2GbitNAND型フラッシュメモリのブロックおよびページ配置を示している。
図11に示すように、2Gbitチップには、128KBのブロックBLKが2048個あり、2Gb=256MB=128KB×2048で構成されている。また、各ブロックBLK0〜BLK2047には、2KBのページが64個あり、128KB=2KB×64で構成されている。
図11に示すように、2Gbitチップには、128KBのブロックBLKが2048個あり、2Gb=256MB=128KB×2048で構成されている。また、各ブロックBLK0〜BLK2047には、2KBのページが64個あり、128KB=2KB×64で構成されている。
ここで、以上のようにデータ領域が第1データ領域111と第2データ領域112とを有し、制御部13の制御下でアクセスされるNAND型フラッシュメモリ11の具体的な構成例について説明する。
図12は、本実施形態に係るNAND型フラッシュメモリの1ブロックにおけるメモリセルアレイおよびロウデコーダを示す図である。
メモリセルアレイ113は、図12に示すように、直列に接続された複数、たとえば16個のメモリセルトランジスタM0〜M15およびその両端に直列に接続された2個の選択ゲートトランジスタST0,ST1により構成されたメモリセルユニット(メモリセルユニット)MCUT00,MCUT01,MCUT04223がマトリクス状に配置されている。
なお、図12では、図面の簡単化のため、1行4224列の4224個のメモリセルユニットMCUT00〜MCUT04223が配列された1行のブロックBLK0のみについて示しているが、実際には、ブロックBLK0と同様の構成を有する複数(m個)のブロックBLK1〜BLKmがさらに配列される。
また、図12の例では、ビット線本数は、通常512バイトに予備の16バイトを加えた528バイト、つまり4224本としている。
なお、図12では、図面の簡単化のため、1行4224列の4224個のメモリセルユニットMCUT00〜MCUT04223が配列された1行のブロックBLK0のみについて示しているが、実際には、ブロックBLK0と同様の構成を有する複数(m個)のブロックBLK1〜BLKmがさらに配列される。
また、図12の例では、ビット線本数は、通常512バイトに予備の16バイトを加えた528バイト、つまり4224本としている。
メモリセルユニットMCUT00のメモリセルトランジスタM0のドレインに接続された選択ゲートトランジスタST0がビット線BL0に接続され、メモリセルユニットMCUT01のメモリセルトランジスタM0のドレインがビット線BL1に接続され、同様にして、メモリセルユニットMCUT04223のメモリセルトランジスタM0のドレインがビット線BL4223に接続されている。
また、各メモリセルユニットMCUT00〜04223のメモリセルトランジスタM15のソースが接続された選択ゲートトランジスタST1が共通のソース線SRLに接続されている。
また、各メモリセルユニットMCUT00〜04223のメモリセルトランジスタM15のソースが接続された選択ゲートトランジスタST1が共通のソース線SRLに接続されている。
また、同一行に配置されたメモリセルユニットMCUT00,MCUT01〜MCUT04223のメモリセルトランジスタのゲート電極が共通のワード線WL0〜WL15に接続され、選択ゲートトランジスタST0のゲート電極が共通の選択ゲート線DSGに接続され、選択ゲートトランジスタST1のゲート電極が共通の選択ゲート線SSGに接続されている。
ロウデコーダ114は、ブロックアドレスデコーダ115により導通状態が制御される転送ゲート群1141、図示しないワード線デコーダから供給されるワード線および選択ゲート線用駆動電圧供給線VCG0〜VCG15,VDSG,VSSGを有している。
なお、図12では、図面の簡単化のため、ブロックBLK0に対応するブロックアドレスデコーダ部分並びに転送ゲート群を示しているが、実際には、複数配列される図示しないブロックに対応してブロックアドレスデコーダ部分並びに転送ゲート群が設けられる。
なお、図12では、図面の簡単化のため、ブロックBLK0に対応するブロックアドレスデコーダ部分並びに転送ゲート群を示しているが、実際には、複数配列される図示しないブロックに対応してブロックアドレスデコーダ部分並びに転送ゲート群が設けられる。
ロウデコーダ114は、ワード線(制御ゲート線)を選択する機能を有し、リード(読み出し)、ライト(書き込み、プログラム)、あるいはイレーズ(消去)の動作を示すコントロール信号に応じて、アドレスレジスタに保持されたアドレスから動作に応じて図示しない昇圧回路により昇圧されたあるいは昇圧されていない電源電圧Vccまたはそれ以下の駆動電圧が駆動電圧供給線VCG0〜VCG15,VDSG,VSSGに供給する。
転送ゲート群1141は、転送ゲートTW0〜TW15,TD0およびTS0により構成されている。
転送ゲート群11141は、ブロックアドレスデコーダ115でデコードされたブロックアドレスに応答して生成され、対応するブロックの選択ゲート線およびワード線を駆動するための信号BSELによって導通状態に保持させる。
具体的には、ブロックBLK0がアドレス指定されていた場合、各転送ゲートTW0〜TW15は、それぞれブロックアドレスデコーダ115の出力信号BSEL0に応じてワード線WL0〜WL15と駆動電圧供給線VCG0〜VCG15とを作動的に接続し、転送ゲートTD0,TS0は同じくブロックアドレスデコーダ19の出力信号BSEL0に応じて選択ゲート線DSG,SSGと駆動電圧供給線VDSG,VSSGとを作動的に接続する。
転送ゲート群11141は、ブロックアドレスデコーダ115でデコードされたブロックアドレスに応答して生成され、対応するブロックの選択ゲート線およびワード線を駆動するための信号BSELによって導通状態に保持させる。
具体的には、ブロックBLK0がアドレス指定されていた場合、各転送ゲートTW0〜TW15は、それぞれブロックアドレスデコーダ115の出力信号BSEL0に応じてワード線WL0〜WL15と駆動電圧供給線VCG0〜VCG15とを作動的に接続し、転送ゲートTD0,TS0は同じくブロックアドレスデコーダ19の出力信号BSEL0に応じて選択ゲート線DSG,SSGと駆動電圧供給線VDSG,VSSGとを作動的に接続する。
ブロックアドレスデコーダ115は、図示しないアドレスレジスタの保持されたアドレスからブロックアドレスをデコードし、デコードしたブロックアドレスに応答して、ロウデコーダ114の対応するブロックの選択ゲート線およびワード線を駆動するための転送ゲート群2221を信号BSELによって導通状態に保持させる。
図1のページバッファ12は、フラッシュメモリ11のメモリセルアレイ113からのリードデータ(読み出しデータ)あるいはメモリセルアレイ11へのライトデータ(書き込みデータ)をページ単位でラッチする。
そして、ページバッファ12には、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的に読み出される。
そして、ページバッファ12には、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的に読み出される。
本実施形態のメモリシステム10において、制御部13は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とを行う。
パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリン制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値をフラッシュメモリ11に格納しておき、ユーザが自由に両ウェアー・レベリング制御の方式選択および条件設定を行えるように構成される。
そして、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的にページバッファ12に読み出される。
パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリン制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値をフラッシュメモリ11に格納しておき、ユーザが自由に両ウェアー・レベリング制御の方式選択および条件設定を行えるように構成される。
そして、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的にページバッファ12に読み出される。
制御部13は、フラッシュメモリに対して特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、フラッシュメモリ11の半分以上のブロックに、書き換えを頻繁に行わないデータを格納する場合には、アクティブ・ウェアー・レベリング制御方式を選択する。
一方、制御部13は、フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択する。
一方、制御部13は、フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択する。
図13は、アクティブ・ウェアー・レベリングおよびパッシブ・ウェアー・レベリングの条件設定値をNAND型フラッシュメモリに格納しておく例を示す図である。
たとえば、NAND型フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行わないデータを格納する場合には、アクティブ・ウェアー・レベリング制御方式を選択し、一方、NAND型フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択されるように両ウェアー・レベリングの条件設定値をNAND型フラッシュメモリ11に格納しておく。
また、図13において、パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、NAND型フラッシュメモリの第一のページに格納され、電源投入時に自動的にページバッファ13に読み出されることを示している。
また、図13において、パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、NAND型フラッシュメモリの第一のページに格納され、電源投入時に自動的にページバッファ13に読み出されることを示している。
次に、制御部13におけるウェアー・レベリング(Wear-leveling)制御動作について説明する。
ここでは、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合、および書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を例について順を追って説明する。
ここでは、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合、および書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を例について順を追って説明する。
まず、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明する。
図14は、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
なお、以下は、第1データ領域111をデータ領域Bとし、第2データ領域112をデータ領域Aとして説明する。
図14は、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
なお、以下は、第1データ領域111をデータ領域Bとし、第2データ領域112をデータ領域Aとして説明する。
この場合、処理済物理ブロックXを取得し(ST1)、データ書き換えはデータ領域B(第1データ領域111)であるか否かの判別を行う(ST2)。
ステップST2において、データを書き換えるべき領域がデータ領域B(第1データ領域111)であると判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST3)。
次に、物理ブロックYを消去する(ST4)、書き換えデータを物理ブロックYへ書き込む(ST5)。
一方、ステップST2において、データを書き換えるべき領域がデータ領域B(第1データ領域111)でないと判別すると、書き換えデータを物理ブロックXへ書き込む(ST6)。
ステップST5またはステップST6の処理後、書き換えデータに対応した物理ブロックZを消去する(ST7)。
ステップST2において、データを書き換えるべき領域がデータ領域B(第1データ領域111)であると判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST3)。
次に、物理ブロックYを消去する(ST4)、書き換えデータを物理ブロックYへ書き込む(ST5)。
一方、ステップST2において、データを書き換えるべき領域がデータ領域B(第1データ領域111)でないと判別すると、書き換えデータを物理ブロックXへ書き込む(ST6)。
ステップST5またはステップST6の処理後、書き換えデータに対応した物理ブロックZを消去する(ST7)。
図15は、図14の処理フローにおいて、第1データ領域B(111)の論理ブロックB−3に書き換えがあった場合の書き換え前と後の状態を示す図である。
図15の例においては、第1データ領域B(111)が論理ブロックB−1〜B−mを含み、第2データ領域A(112)が論理ブロックA−1〜A−nを含む場合である。
第2データ領域A(112)の論理ブロックA−1〜A−nが物理ブロック1〜nとなり、第1データ領域B(111)が論理ブロックB−1〜B−mが物理ブロック(n+1)〜(n+m)となり、開き領域が物理ブロック(n+m+1)〜(n+m+k)となっている。
この書き換え前の状態から、第1データ領域B(111)の論理ブロックB−3を書き換えする場合には、第2データ領域A(112)の論理ブロックA−1に対応する物理ブロックも一緒に入れ替える。
この例の書き換え後の状態では、消去済物理ブロックXは(n+m+1)であり、第2データ領域A(112)の物理ブロックは1であり、書き換えデータに対応していた物理ブロックZは(n+3)であり、この物理ブロック(n+3)は空領域となる。
第2データ領域A(112)の論理ブロックA−1〜A−nが物理ブロック1〜nとなり、第1データ領域B(111)が論理ブロックB−1〜B−mが物理ブロック(n+1)〜(n+m)となり、開き領域が物理ブロック(n+m+1)〜(n+m+k)となっている。
この書き換え前の状態から、第1データ領域B(111)の論理ブロックB−3を書き換えする場合には、第2データ領域A(112)の論理ブロックA−1に対応する物理ブロックも一緒に入れ替える。
この例の書き換え後の状態では、消去済物理ブロックXは(n+m+1)であり、第2データ領域A(112)の物理ブロックは1であり、書き換えデータに対応していた物理ブロックZは(n+3)であり、この物理ブロック(n+3)は空領域となる。
図16は、図14の処理フローにおいて、図15のように第1データ領域B(111)の論理ブロックB−3に書き換え後に、論理ブロックB−4に書き換えがあった場合の書き換え前と後の状態を示す図である。
図15の書き換え後に生じた書き換え前の状態から、第1データ領域B(111)の論理ブロックB−4を書き換えする場合には、第2データ領域A(112)の論理ブロックA−2に対応する物理ブロックも一緒に入れ替える。
この例の書き換え後の状態では、消去済物理ブロックXは(n+m+2)であり、第2データ領域A(112)の物理ブロックは2であり、書き換えデータに対応していた物理ブロックZは(n+4)であり、この物理ブロック(n+4)は空領域となる。
この例の書き換え後の状態では、消去済物理ブロックXは(n+m+2)であり、第2データ領域A(112)の物理ブロックは2であり、書き換えデータに対応していた物理ブロックZは(n+4)であり、この物理ブロック(n+4)は空領域となる。
次に、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明する。
図17は、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
図17は、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
この場合、処理済物理ブロックXを取得し(ST11)、データ書き換えはデータ領域B(第1データ領域111)であるか否かの判別を行う(ST12)。
ステップST12において、データを書き換えるべき領域がデータ領域B(第1データ領域111)であると判別すると、所定数Jが0になったか否かの判別を行う(ST13)。
ステップST13においてJが0に達したと判別すると、Jから1をデクリメントして次の処理に移行する。
ステップST13においてJが0に達したと判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST15)。
次に、物理ブロックYを消去する(ST16)、書き換えデータを物理ブロックYへ書き込む(ST17)。そして、JをNとする(ST18)。
一方、ステップST12において、データを書き換えるべき領域がデータ領域B(第1データ領域111)でないと判別した場合、またはステップST14でJから1からデクリメントした場合には、書き換えデータを物理ブロックXへ書き込む(ST19)。
ステップST18またはステップST19の処理後、書き換えデータに対応した物理ブロックZを消去する(ST20)。
ステップST12において、データを書き換えるべき領域がデータ領域B(第1データ領域111)であると判別すると、所定数Jが0になったか否かの判別を行う(ST13)。
ステップST13においてJが0に達したと判別すると、Jから1をデクリメントして次の処理に移行する。
ステップST13においてJが0に達したと判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST15)。
次に、物理ブロックYを消去する(ST16)、書き換えデータを物理ブロックYへ書き込む(ST17)。そして、JをNとする(ST18)。
一方、ステップST12において、データを書き換えるべき領域がデータ領域B(第1データ領域111)でないと判別した場合、またはステップST14でJから1からデクリメントした場合には、書き換えデータを物理ブロックXへ書き込む(ST19)。
ステップST18またはステップST19の処理後、書き換えデータに対応した物理ブロックZを消去する(ST20)。
次に、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明する。
図18は、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
図18は、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
この場合、処理済物理ブロックXを取得し(ST21)、データ書き換えはアクティブ・ウェアー・レベリングであるか否かの判別を行う(ST22)。
ステップST22において、データ書き換えがアクティブ・ウェアー・レベリングであると判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST23)。
次に、物理ブロックYを消去する(ST24)、書き換えデータを物理ブロックYへ書き込む(ST25)。
一方、ステップST22において、データ書き換えがアクティブ・ウェアー・レベリングでないと判別すると、書き換えデータを物理ブロックXへ書き込む(ST26)。
ステップS2T5またはステップST26の処理後、書き換えデータに対応した物理ブロックZを消去する(ST27)。
ステップST22において、データ書き換えがアクティブ・ウェアー・レベリングであると判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST23)。
次に、物理ブロックYを消去する(ST24)、書き換えデータを物理ブロックYへ書き込む(ST25)。
一方、ステップST22において、データ書き換えがアクティブ・ウェアー・レベリングでないと判別すると、書き換えデータを物理ブロックXへ書き込む(ST26)。
ステップS2T5またはステップST26の処理後、書き換えデータに対応した物理ブロックZを消去する(ST27)。
以上説明したように、本実施形態によれば、頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含むフラッシュメモリ11と、頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、この選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部13と、を有し、制御部13は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、フラッシュメモリ11には、パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されていることから、以下の効果を得ることができる。
すなわち、不揮発性半導体記憶装置を用いたシステムにおいて、ウェアー・レベリング制御方式を大幅に改善することができ、頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、不揮発性半導体記憶装置を用いたメモリシステムの書き換え回数の実効的な寿命を大幅に改善することができる利点がある。
メモリシステムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
メモリシステムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
10・・・メモリシステム、11・・・不揮発性メモリ部としてのNAND型フラッシュメモリ12・・・ページバッファ、13・・・制御部、14・・・インターフェース回路(I/F)、15・・・内部データバス。
Claims (15)
- 不揮発性半導体記憶装置を用いたメモリシステムであって、
頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、
制御部と、を有し、
上記制御部は、
上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する
メモリシステム。 - 上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく
請求項1記載のメモリシステム。 - 上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている
請求項2記載のメモリシステム。 - 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
請求項1記載のメモリシステム。 - 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
請求項2記載のメモリシステム。 - 不揮発性半導体記憶装置を用いたメモリシステムであって、
頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、
上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部と、を有し、
上記制御部は、
特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、
上記不揮発性メモリ部には、
上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されている
メモリシステム。 - 上記制御部は、
上記不揮発性メモリ部の半分以上のブロックに書き換えを頻繁に行わないデータを格納する場合には、上記アクティブ・ウェアー・レベリング制御方式を選択し、
上記不揮発性メモリ部の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、上記パッシブ・ウェアー・レベリング制御方式を選択する
請求項6記載のメモリシステム。 - ページバッファを有し、
上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される
請求項6記載のメモリシステム。 - ページバッファを有し、
上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される
請求項7記載のメモリシステム。 - 上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である
請求項6記載のメモリシステム。 - 上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である
請求項8記載のメモリシステム。 - 上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく
請求項6記載のメモリシステム。 - 上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている
請求項12記載のメモリシステム。 - 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
請求項6記載のメモリシステム。 - 上記不揮発性半導体記憶装置は、書き換え可能な不揮発性メモリセルを複数個直列接続したNAND型フラッシュメモリを含む
請求項6記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005326414A JP2007133683A (ja) | 2005-11-10 | 2005-11-10 | メモリシステム |
US11/594,082 US7694066B2 (en) | 2005-11-10 | 2006-11-08 | Nonvolatile memory with active and passive wear leveling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005326414A JP2007133683A (ja) | 2005-11-10 | 2005-11-10 | メモリシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011242648A Division JP5299493B2 (ja) | 2011-11-04 | 2011-11-04 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007133683A true JP2007133683A (ja) | 2007-05-31 |
Family
ID=38003591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005326414A Pending JP2007133683A (ja) | 2005-11-10 | 2005-11-10 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7694066B2 (ja) |
JP (1) | JP2007133683A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010027026A (ja) * | 2008-07-18 | 2010-02-04 | A-Data Technology Co Ltd | メモリストレージ装置及びその制御方法 |
US8176236B2 (en) | 2009-02-19 | 2012-05-08 | Tdk Corporation | Memory controller, memory system with memory controller, and method of controlling flash memory |
US8200892B2 (en) | 2009-02-09 | 2012-06-12 | Tdk Corporation | Memory controller, memory system with memory controller, and method of controlling flash memory |
US8200891B2 (en) | 2009-02-09 | 2012-06-12 | Tdk Corporation | Memory controller, memory system with memory controller, and method of controlling flash memory |
US8239612B2 (en) | 2007-09-27 | 2012-08-07 | Tdk Corporation | Memory controller, flash memory system with memory controller, and control method of flash memory |
US8281064B2 (en) | 2008-04-15 | 2012-10-02 | Samsung Electronics Co., Ltd. | Systems, methods and computer program products for encoding data to be written to a nonvolatile memory based on wear-leveling information |
US8438195B2 (en) | 2011-02-15 | 2013-05-07 | Samsung Electronics Co., Ltd. | File system operating method and devices using the same |
US8700839B2 (en) * | 2006-12-28 | 2014-04-15 | Genesys Logic, Inc. | Method for performing static wear leveling on flash memory |
JP6164712B1 (ja) * | 2016-08-18 | 2017-07-19 | ウィンボンド エレクトロニクス コーポレーション | フラッシュメモリ |
US10324664B2 (en) | 2015-03-26 | 2019-06-18 | Panasonic Intellectual Property Management Co., Ltd. | Memory controller which effectively averages the numbers of erase times between physical blocks with high accuracy |
Families Citing this family (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7916421B1 (en) * | 2005-05-05 | 2011-03-29 | Seagate Technology Llc | Methods and structure for recovery of write fault errors in a dynamically mapped mass storage device |
US7685360B1 (en) | 2005-05-05 | 2010-03-23 | Seagate Technology Llc | Methods and structure for dynamic appended metadata in a dynamically mapped mass storage device |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
CN100538662C (zh) * | 2007-07-05 | 2009-09-09 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
US8365040B2 (en) | 2007-09-20 | 2013-01-29 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8650352B2 (en) * | 2007-09-20 | 2014-02-11 | Densbits Technologies Ltd. | Systems and methods for determining logical values of coupled flash memory cells |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US8335977B2 (en) | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
WO2009072105A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
WO2009072102A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices |
WO2009074978A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8276051B2 (en) | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
EP2071467A1 (en) * | 2007-12-13 | 2009-06-17 | Gemplus | Method of customizing a memory lifespan management policy in an electronic token |
US8327246B2 (en) | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
CN101809546A (zh) * | 2008-02-18 | 2010-08-18 | 中兴通讯股份有限公司 | 在移动终端的非线性闪存上实现文件系统的装置 |
US8484432B2 (en) * | 2008-03-11 | 2013-07-09 | Kabushiki Kaisha Toshiba | Memory system |
WO2009118720A2 (en) * | 2008-03-25 | 2009-10-01 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
WO2009140700A1 (en) | 2008-05-16 | 2009-11-19 | Fusion Multisystems, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
US8275933B2 (en) | 2008-11-10 | 2012-09-25 | Fusion-10, Inc | Apparatus, system, and method for managing physical regions in a solid-state storage device |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8730729B2 (en) * | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) * | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US8516274B2 (en) | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8468431B2 (en) | 2010-07-01 | 2013-06-18 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8467249B2 (en) | 2010-07-06 | 2013-06-18 | Densbits Technologies Ltd. | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
KR101131560B1 (ko) | 2010-07-15 | 2012-04-04 | 주식회사 하이닉스반도체 | 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US9135160B1 (en) * | 2011-03-28 | 2015-09-15 | Rambus Inc. | Devices, systems, and methods for wear leveling memory |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8868824B2 (en) * | 2012-04-19 | 2014-10-21 | Microsoft Corporation | Solid-state drive management and control |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
JP6155768B2 (ja) * | 2013-03-29 | 2017-07-05 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法 |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
KR102065664B1 (ko) | 2013-08-09 | 2020-01-13 | 삼성전자 주식회사 | 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US10120573B2 (en) | 2015-09-14 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Modular sequential writing of data to data storage devices |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
JP6779821B2 (ja) * | 2017-03-24 | 2020-11-04 | キオクシア株式会社 | メモリシステム及びデータの読み出し方法 |
KR102504368B1 (ko) * | 2017-12-22 | 2023-02-24 | 에스케이하이닉스 주식회사 | 비휘발성 메모리의 웨어 레벨링 동작을 관리하는 반도체 장치 |
US10585795B2 (en) * | 2018-05-31 | 2020-03-10 | Micron Technology, Inc. | Data relocation in memory having two portions of data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JP2004522230A (ja) * | 2001-06-01 | 2004-07-22 | エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド | フラッシュメモリ内の静的領域の消耗平準化 |
JP2004310650A (ja) * | 2003-04-10 | 2004-11-04 | Renesas Technology Corp | メモリ装置 |
WO2006067839A1 (ja) * | 2004-12-22 | 2006-06-29 | Renesas Technology Corp. | 記憶装置及びコントローラ |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1031992B1 (en) | 1989-04-13 | 2006-06-21 | SanDisk Corporation | Flash EEPROM system |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5519843A (en) | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
US5907856A (en) | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
KR100469669B1 (ko) * | 2002-09-24 | 2005-02-02 | 삼성전자주식회사 | 플래시 메모리를 이용하여 부팅되는 시스템 장치 및 그시스템 부팅 방법 |
US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
JP2006039966A (ja) * | 2004-07-27 | 2006-02-09 | Toshiba Corp | メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置 |
-
2005
- 2005-11-10 JP JP2005326414A patent/JP2007133683A/ja active Pending
-
2006
- 2006-11-08 US US11/594,082 patent/US7694066B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JP2004522230A (ja) * | 2001-06-01 | 2004-07-22 | エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド | フラッシュメモリ内の静的領域の消耗平準化 |
JP2004310650A (ja) * | 2003-04-10 | 2004-11-04 | Renesas Technology Corp | メモリ装置 |
WO2006067839A1 (ja) * | 2004-12-22 | 2006-06-29 | Renesas Technology Corp. | 記憶装置及びコントローラ |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700839B2 (en) * | 2006-12-28 | 2014-04-15 | Genesys Logic, Inc. | Method for performing static wear leveling on flash memory |
US8239612B2 (en) | 2007-09-27 | 2012-08-07 | Tdk Corporation | Memory controller, flash memory system with memory controller, and control method of flash memory |
KR101517185B1 (ko) | 2008-04-15 | 2015-05-04 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US8281064B2 (en) | 2008-04-15 | 2012-10-02 | Samsung Electronics Co., Ltd. | Systems, methods and computer program products for encoding data to be written to a nonvolatile memory based on wear-leveling information |
KR101515617B1 (ko) | 2008-07-18 | 2015-05-04 | 에이-데이타 테크놀로지 캄파니 리미티드 | 메모리 스토리지 장치 및 그 제어 방법 |
JP2010027026A (ja) * | 2008-07-18 | 2010-02-04 | A-Data Technology Co Ltd | メモリストレージ装置及びその制御方法 |
US8200891B2 (en) | 2009-02-09 | 2012-06-12 | Tdk Corporation | Memory controller, memory system with memory controller, and method of controlling flash memory |
US8200892B2 (en) | 2009-02-09 | 2012-06-12 | Tdk Corporation | Memory controller, memory system with memory controller, and method of controlling flash memory |
US8176236B2 (en) | 2009-02-19 | 2012-05-08 | Tdk Corporation | Memory controller, memory system with memory controller, and method of controlling flash memory |
US8438195B2 (en) | 2011-02-15 | 2013-05-07 | Samsung Electronics Co., Ltd. | File system operating method and devices using the same |
US10324664B2 (en) | 2015-03-26 | 2019-06-18 | Panasonic Intellectual Property Management Co., Ltd. | Memory controller which effectively averages the numbers of erase times between physical blocks with high accuracy |
JP6164712B1 (ja) * | 2016-08-18 | 2017-07-19 | ウィンボンド エレクトロニクス コーポレーション | フラッシュメモリ |
JP2018028955A (ja) * | 2016-08-18 | 2018-02-22 | ウィンボンド エレクトロニクス コーポレーション | フラッシュメモリ |
Also Published As
Publication number | Publication date |
---|---|
US20070103992A1 (en) | 2007-05-10 |
US7694066B2 (en) | 2010-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007133683A (ja) | メモリシステム | |
JP4834676B2 (ja) | オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法 | |
JP4787266B2 (ja) | スクラッチパッドブロック | |
JP4768771B2 (ja) | 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作 | |
US8375157B2 (en) | Cluster based non-volatile memory translation layer | |
US7453712B2 (en) | Hybrid flash memory device and method for assigning reserved blocks thereof | |
KR100551646B1 (ko) | 페이지 복사 기능을 갖는 반도체 기억 장치 | |
US6587382B1 (en) | Nonvolatile memory using flexible erasing methods and method and system for using same | |
US7818492B2 (en) | Source and shadow wear-leveling method and apparatus | |
EP1443521A2 (en) | Memory read and write operations with address scrambling | |
KR20080039270A (ko) | 비휘발성 반도체 메모리 시스템 및 그 데이터 기입 방법 | |
TWI758888B (zh) | 記憶體系統 | |
CN1540670A (zh) | 更新非易失性内存的方法与系统 | |
JP5299493B2 (ja) | メモリシステム | |
JP2006323499A (ja) | 半導体装置 | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2005316793A (ja) | フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006040168A (ja) | フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005293177A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
KR20090095086A (ko) | 플래시 메모리 장치 및 그것의 소거 방법 | |
JP2007157331A (ja) | 複合化フラッシュメモリ及びそれを搭載した携帯用機器 | |
JP2006209963A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081015 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120110 |