JP2007133683A - メモリシステム - Google Patents

メモリシステム Download PDF

Info

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
Application number
JP2005326414A
Other languages
English (en)
Inventor
Yasushi Sakui
康司 作井
Kazuhiro Suzuki
一弘 鈴木
Daisuke Yoshioka
大助 吉岡
Kazuhito Kamimura
員人 神村
Takeshi Ishimoto
剛 石本
Jun Sumino
潤 角野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005326414A priority Critical patent/JP2007133683A/ja
Priority to US11/594,082 priority patent/US7694066B2/en
Publication of JP2007133683A publication Critical patent/JP2007133683A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear 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

Description

本発明は、不揮発性半導体記憶装置を用いたメモリメモリシステムに係り、特に頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域が混在するメモリシステムにおけるウェアー・レベリング(Wear-leveling)制御方式の改善技術に関するものである。
半導体記憶装置の一つとして、電気的書き換えを可能としたフラッシュメモリが知られている。なかでも、メモリセルを複数個直列接続してNANDセル・ブロックを構成するNAND型フラッシュメモリは、高集積化ができるものとして注目されている。
NAND型フラッシュメモリの1つのメモリセルは、半導体基板上に絶縁膜を介して浮遊ゲート(電荷蓄積層)と制御ゲートが積層されたFETMOS構造を有し、複数個のメモリセルが隣接するもの同士でソース・ドレインを共有する形で直列接続されて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で構成されている。
また、上記のようなNAND型フラッシュメモリを用いたシステムとしては、たとえば特許文献1,2,3に開示されたシステムが知られている。
フラッシュメモリを用いたメモリシステムにおいて、特定物理アドレスブロックに書き換えが集中しないようにウェアー・レベリング(Wear-leveling)制御を行っている。
フラッシュメモリは、記憶データを書き換える際に書き込みの前に消去を行わないとならない。そして、既に不必要となった古いブロックを予め消去しておき、その消去されたブロックに新しいデータを書き込み、そのブロックの論理ブロックアドレスを更新する。
一方、NAND型フラッシュメモリの書き換え回数寿命は、一つのメモリセルに1ビットのデータを格納する2値品で、0.3〜1×10回と言われている。
したがって、ウェアー・レベリング制御とは、ある特定の物理アドレスのブロックに書き換えが集中しないように制御することを目的としている。
ウェアー・レベリング制御には、大きくは二通りの方式がある。
書き換えを行わない物理アドレスのブロックは、そのまま放置しておき、書き換えを行う物理アドレスのブロックのみを書き換えを行う際に消去済みの任意の物理アドレスのブロックと交換して行き、自動的にウェアー・レベリング制御が行えるようにしたパッシブ・ウェアー・レベリング(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.
ところで、特許文献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を探すのであるが、物理ブロックのアドレスが小さい順に探していくため、どうしても物理ブロックのアドレスが小さいブロックに書き換えが集中し、書き換え回数が多くなってしまう不利益がある。
本発明の目的は、頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、システムの書き換え回数の実効的な寿命を大幅に改善することが可能なメモリシステムを提供することにある。
本発明の第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に接続されている。
制御部13は、改善したウェアー・レベリング制御方式に基づき、フラッシュメモリ11へのアクセス制御を行い、後で説明するように、フラッシュメモリ11における頻繁に書き換えを行う第1データ領域と、殆ど書き換えを行わない第2データ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御を実現している。
本実施形態のNAND型フラッシュメモリ11は、頻繁に書き換えを行う第1データ領域111と殆ど書き換えを行わない第2データ領域112とを有する。
そして、フラッシュメモリ11は、制御部13により、頻繁に書き換えを行うデータ領域の新しい書き換え先の物理ブロックアドレス(PA:PHISICAL ADDRESS)は、殆ど書き換えを行わない第2データ領域の論理ブロックドレス(LA:LOGICAL ADDRESS)が順次選択され、その論理ブロックアドレスLAに対応する物理ページアドレスPAに更新される。
図6は、本実施形態に係るNAND型フラッシュメモリにおけるデータ領域の構成例を示す図である。
図6に示すように、本実施形態のフラッシュメモリ11は、頻繁に書き換えを行う第1データ領域111、および殆ど書き換えを行わない第2データ領域112を有している。
図6の例では、フラッシュメモリ11の記憶容量の大半のブロックが、殆ど書き換えを行わないブロックで占められている場合を示している。なお、図2は、論理ブロックアドレスLAで示した例である。
図7は、図6の対応する論理ブロックアドレスLAを物理ブロックアドレスPAに変換して見た例を示す図である。
図7においては、頻繁に書き換えを行う第1データ領域111の新しい書き換え先の物理ブロックアドレスPAは、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAを順次選択し、その論理ブロックアドレスLAに対応する物理ブロックアドレスPAに更新される様子が示されている。
また、本実施形態のNAND型フラッシュメモリ11は、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAに格納されたデータは、消去済みのブロックにコピーされた後、コピー元のブロックは消去しておくように制御され、管理される。
そして、本実施形態の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で構成されている。
ここで、以上のようにデータ領域が第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本としている。
メモリセルユニットMCUT00のメモリセルトランジスタM0のドレインに接続された選択ゲートトランジスタST0がビット線BL0に接続され、メモリセルユニットMCUT01のメモリセルトランジスタM0のドレインがビット線BL1に接続され、同様にして、メモリセルユニットMCUT04223のメモリセルトランジスタM0のドレインがビット線BL4223に接続されている。
また、各メモリセルユニットMCUT00〜04223のメモリセルトランジスタM15のソースが接続された選択ゲートトランジスタST1が共通のソース線SRLに接続されている。
また、同一行に配置されたメモリセルユニットMCUT00,MCUT01〜MCUT04223のメモリセルトランジスタのゲート電極が共通のワード線WL0〜WL15に接続され、選択ゲートトランジスタST0のゲート電極が共通の選択ゲート線DSGに接続され、選択ゲートトランジスタST1のゲート電極が共通の選択ゲート線SSGに接続されている。
ロウデコーダ114は、ブロックアドレスデコーダ115により導通状態が制御される転送ゲート群1141、図示しないワード線デコーダから供給されるワード線および選択ゲート線用駆動電圧供給線VCG0〜VCG15,VDSG,VSSGを有している。
なお、図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とを作動的に接続する。
ブロックアドレスデコーダ115は、図示しないアドレスレジスタの保持されたアドレスからブロックアドレスをデコードし、デコードしたブロックアドレスに応答して、ロウデコーダ114の対応するブロックの選択ゲート線およびワード線を駆動するための転送ゲート群2221を信号BSELによって導通状態に保持させる。
図1のページバッファ12は、フラッシュメモリ11のメモリセルアレイ113からのリードデータ(読み出しデータ)あるいはメモリセルアレイ11へのライトデータ(書き込みデータ)をページ単位でラッチする。
そして、ページバッファ12には、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的に読み出される。
本実施形態のメモリシステム10において、制御部13は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とを行う。
パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリン制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値をフラッシュメモリ11に格納しておき、ユーザが自由に両ウェアー・レベリング制御の方式選択および条件設定を行えるように構成される。
そして、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的にページバッファ12に読み出される。
制御部13は、フラッシュメモリに対して特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、フラッシュメモリ11の半分以上のブロックに、書き換えを頻繁に行わないデータを格納する場合には、アクティブ・ウェアー・レベリング制御方式を選択する。
一方、制御部13は、フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択する。
図13は、アクティブ・ウェアー・レベリングおよびパッシブ・ウェアー・レベリングの条件設定値をNAND型フラッシュメモリに格納しておく例を示す図である。
たとえば、NAND型フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行わないデータを格納する場合には、アクティブ・ウェアー・レベリング制御方式を選択し、一方、NAND型フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択されるように両ウェアー・レベリングの条件設定値をNAND型フラッシュメモリ11に格納しておく。
また、図13において、パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、NAND型フラッシュメモリの第一のページに格納され、電源投入時に自動的にページバッファ13に読み出されることを示している。
次に、制御部13におけるウェアー・レベリング(Wear-leveling)制御動作について説明する。
ここでは、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合、および書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を例について順を追って説明する。
まず、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明する。
図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)。
図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)は空領域となる。
図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)は空領域となる。
次に、第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)。
次に、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明する。
図18は、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
この場合、処理済物理ブロックXを取得し(ST21)、データ書き換えはアクティブ・ウェアー・レベリングであるか否かの判別を行う(ST22)。
ステップ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には、パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されていることから、以下の効果を得ることができる。
すなわち、不揮発性半導体記憶装置を用いたシステムにおいて、ウェアー・レベリング制御方式を大幅に改善することができ、頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、不揮発性半導体記憶装置を用いたメモリシステムの書き換え回数の実効的な寿命を大幅に改善することができる利点がある。
メモリシステムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
一般的な2値2GbitNAND型フラッシュメモリのブロックおよびページ配置例を示す図である。 NAND型フラッシュメモリの実使用の例を示す図であって、NAND型フラッシュメモリ容量の大半のブロックが、頻繁に書き換えを行うブロックで占められている場合を示す図である。 NAND型フラッシュメモリの実使用の例を示す図であって、NAND型フラッシュ、メモリ容量の大半のブロックが、殆ど書き換えを行わないブロックで占められている場合を示すである。 一般的なフラッシュメモリにおける消去済みブロックの例を示す図である。 本発明の実施形態に係るメモリシステム(記憶装置)を示す構成図である。 本実施形態に係るNAND型フラッシュメモリにおけるデータ領域の構成例を示す図である。 図6の対応する論理ブロックアドレスLAを物理ブロックアドレスPAに変換して見た例を示す図である。 殆ど書き換えを行わないデータを格納している論理ブロックアドレスLA2にフラグ*を設けた例を示す図である。 頻繁に書き換えを行うデータを格納している論理ブロックアドレスLA1にフラグ*を設けた例を示す図である。 殆ど書き換えを行わないデータを格納している論理ブロックアドレスLA2および頻繁に書き換えを行うデータを格納している論理ブロックアドレスLA1にフラグ*を設けた例を示す図である。 消去済み論理ブロックアドレスに従って、順次書き換えを行い、特定の物理ブロックに書き換えが集中し、特定の物理ブロックの書き換え回数のみが増加しないように平均化されるようにした例を示す図である。 本実施形態に係るNAND型フラッシュメモリの1ブロックにおけるメモリセルアレイおよびロウデコーダを示す図である。 アクティブ・ウェアー・レベリングおよびパッシブ・ウェアー・レベリングの条件設定値をNAND型フラッシュメモリに格納しておく例を示す図である。 第1データ領域への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。 図14の処理フローにおいて、第1データ領域B(111)の論理ブロックB−3に書き換えがあった場合の書き換え前と後の状態を示す図である。 図14の処理フローにおいて、図15のように第1データ領域B(111)の論理ブロックB−3に書き換え後に、論理ブロックB−4に書き換えがあった場合の書き換え前と後の状態を示す図である。 第1データ領域への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。 書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
符号の説明
10・・・メモリシステム、11・・・不揮発性メモリ部としてのNAND型フラッシュメモリ12・・・ページバッファ、13・・・制御部、14・・・インターフェース回路(I/F)、15・・・内部データバス。

Claims (15)

  1. 不揮発性半導体記憶装置を用いたメモリシステムであって、
    頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、
    制御部と、を有し、
    上記制御部は、
    上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する
    メモリシステム。
  2. 上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく
    請求項1記載のメモリシステム。
  3. 上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている
    請求項2記載のメモリシステム。
  4. 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
    請求項1記載のメモリシステム。
  5. 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
    請求項2記載のメモリシステム。
  6. 不揮発性半導体記憶装置を用いたメモリシステムであって、
    頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、
    上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部と、を有し、
    上記制御部は、
    特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、
    上記不揮発性メモリ部には、
    上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されている
    メモリシステム。
  7. 上記制御部は、
    上記不揮発性メモリ部の半分以上のブロックに書き換えを頻繁に行わないデータを格納する場合には、上記アクティブ・ウェアー・レベリング制御方式を選択し、
    上記不揮発性メモリ部の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、上記パッシブ・ウェアー・レベリング制御方式を選択する
    請求項6記載のメモリシステム。
  8. ページバッファを有し、
    上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される
    請求項6記載のメモリシステム。
  9. ページバッファを有し、
    上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される
    請求項7記載のメモリシステム。
  10. 上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である
    請求項6記載のメモリシステム。
  11. 上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である
    請求項8記載のメモリシステム。
  12. 上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく
    請求項6記載のメモリシステム。
  13. 上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている
    請求項12記載のメモリシステム。
  14. 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
    請求項6記載のメモリシステム。
  15. 上記不揮発性半導体記憶装置は、書き換え可能な不揮発性メモリセルを複数個直列接続したNAND型フラッシュメモリを含む
    請求項6記載のメモリシステム。
JP2005326414A 2005-11-10 2005-11-10 メモリシステム Pending JP2007133683A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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