JP2013229100A - ダイナミックマルチモード動作を有する不揮発性メモリ - Google Patents

ダイナミックマルチモード動作を有する不揮発性メモリ Download PDF

Info

Publication number
JP2013229100A
JP2013229100A JP2013160457A JP2013160457A JP2013229100A JP 2013229100 A JP2013229100 A JP 2013229100A JP 2013160457 A JP2013160457 A JP 2013160457A JP 2013160457 A JP2013160457 A JP 2013160457A JP 2013229100 A JP2013229100 A JP 2013229100A
Authority
JP
Japan
Prior art keywords
flash memory
sbc
data
mbc
storage mode
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.)
Withdrawn
Application number
JP2013160457A
Other languages
English (en)
Inventor
Jin-Ki Kim
ジン−キ・キム
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.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
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 Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of JP2013229100A publication Critical patent/JP2013229100A/ja
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/10Programming or data input circuits
    • 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
    • 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/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • 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/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Abstract

【課題】フラッシュメモリデバイスの寿命を延ばす方法およびシステムを提供する。
【解決手段】このフラッシュメモリデバイスは、セルあたり単一ビット(SBC)ストレージモードまたはセルあたり複数ビット(MBC)モードでデータを格納するように動的に構成可能であり、SBCデータとMBCデータとの両方が、同一のメモリアレイ内で共存するようになっている。メモリの各ページに格納された1つまたは複数のタグビットが、対応するサブディビジョンにデータを格納するのに使用されるストレージモードのタイプを示すのに使用され、サブディビジョンは、バンク、ブロック、またはページとすることができる。コントローラが、マルチモードフラッシュメモリデバイスの任意のサブディビジョンの寿命を最大にする目的で、ストレージモードを選択的に変更するために各ページに対応するプログラム-消去サイクル数を監視する。
【選択図】図13

Description

本発明は、ダイナミックマルチモード動作を有する不揮発性メモリに関するものである。
フラッシュメモリは、たとえばディジタルカメラおよびポータブルディジタル音楽プレイヤなどの消費者電子製品用のマスストレージとして幅広く使用されている、一般に使用されるタイプの不揮発性メモリである。広く入手可能なフラッシュメモリチップの密度は、1つのフラッシュチップのサイズが小さいので、人気のあるUSBフラッシュドライブでの使用に適した(現時点で)最大4GBとすることができる。
8メガピクセルディジタルカメラならびに音楽機能およびビデオ機能を有するポータブルディジタルエンターテイメントデバイスの出現は、単一のフラッシュメモリデバイスによって満足することのできない大量のデータを格納するための超大容量の需要を駆り立てた。したがって、複数のフラッシュメモリデバイスが、使用可能なストレージ容量を効果的に増やすためにメモリシステムに一緒に組み合わされる。たとえば、20GBのフラッシュストレージ密度が、そのような応用例に必要である場合がある。より高密度のシステムを、ハードディスクドライブ(HDD)応用例のために実現することができる。
図1は、従来技術の通常のフラッシュメモリの全般的なブロック図である。フラッシュメモリ10は、フラッシュ回路のさまざまな機能を制御する制御回路12などの論理回路網と、アドレス情報、データ情報、およびコマンドデータ情報を格納するレジスタと、必要なプログラム電圧および消去電圧を生成する高電圧回路と、メモリアレイ14にアクセスするコアメモリ回路とを含む。制御回路12は、コマンドデコーダと、読取り機能、プログラム機能、および消去機能などの内部フラッシュ動作を実行する論理とを含む。フラッシュメモリ10の図示の回路ブロックの機能は、当技術分野で周知である。当業者は、図1に示されたフラッシュメモリ10が、多数の可能な構成の中の1つの可能なフラッシュメモリ構成を表すことを理解することができる。
図1のフラッシュメモリ10のメモリセルアレイ14は、任意の個数のバンクからなり、この個数は、特定のフラッシュデバイスのために選択される設計パラメータである。図2は、図1のメモリセルアレイ14の1つのバンク20の編成を示す概略図である。バンク20は、k+1個のブロックに編成され、各ブロックは、i+1個のページからなる。kとiとの両方が、整数値である。各ページは、共通のワード線に結合されたメモリセルの行に対応する。ブロックのメモリセルの詳細な説明を続ける。
各ブロックは、直列に配置され、互いに電気的に結合されたi+1個までのフラッシュメモリセル22を有するNANDメモリセルストリングからなる。したがって、ワード線WL0からWLiまでは、メモリセルストリング内の各フラッシュメモリセルのゲートに結合される。信号SSL(ストリング選択線)に結合されたストリング選択デバイス24は、メモリセルストリングをビット線26に選択的に接続し、信号GSL(グラウンド選択線)に結合されたグラウンド選択デバイス28は、メモリセルストリングをVSSなどのソース線に選択的に接続する。ストリング選択デバイス24およびグラウンド選択デバイス28は、n-チャネルトランジスタである。
バンク20のすべてのブロックに共通するj+1個のビット線26があり、各ビット線26は、ブロック[0]から[k]までのそれぞれの1つのNANDメモリセルストリングに結合される。変数jは、整数値である。各ワード線(WL0からWLiまで)、SSL、およびGSL信号は、ブロック内の各NANDメモリセルストリング内の同一の対応するトランジスタデバイスに結合される。当業者が知っているとおり、あるワード線に沿ったフラッシュメモリセルに格納されるデータを、データのページと称する。
バンク20の外の各ビット線に結合されるのが、フラッシュメモリセルの1ページにプログラムされる書込みデータの1ページを格納するデータレジスタ30である。データレジスタ30は、フラッシュメモリセルの1ページから読み取られるデータをセンスするセンス回路をも含む。プログラミング動作中に、データレジスタは、データが選択されたワード線に結合されたフラッシュメモリセルに正しくプログラムされたことを保証するためにプログラム検証動作を実行する。あるブロック内のプログラミングは、通常、WL0に対応するページで始まり、現在のブロックを充てんするためにWLiまでシーケンシャルに進行する。代替案では、プログラミングが、WLiで始まり、WL0までシーケンシャルに進むことができる。次に、プログラミングは、新しいブロックのWL0に継続する。1つのデバイス内では、ブロックが、通常は順番にプログラムされる。
フラッシュメモリ10のフラッシュセルは、2つの異なるモードのうちの1つでデータを格納することができる。データを、セルあたり単一ビット(SBC)ストレージモードまたはセルあたり複数ビット(MBC)ストレージモードで格納することができる。SBCストレージモードでは、情報の正確に1つのビットが、2つの可能な状態のうちの1つを表すために1つのセルに格納される。MBCストレージモードでは、2つのビットが、4つの可能な状態のうちの1つを表すために1つのセルに格納される。もちろん、3ビット以上のビットを1つのセルに格納することができるが、2ビットを1つのセルに格納させる例が、これ以降で使用される。MBCストレージモード(セルあたり2ビット以上)でデータを格納することの利益は、同一個数のセルを使用する時に、SBCストレージに対してストレージ容量を少なくとも2倍にすることである。フラッシュメモリ10のメイン回路は、SBCストレージモードまたはMBCストレージモードでデータを格納する時に、実質的に同一である。したがって、フラッシュメモリ製造業者は、製造プロセス中にマスクオプションを適用して、SBC固有アルゴリズムまたはMBC固有アルゴリズムのいずれかを実行するようにフラッシュメモリ10を構成する。というのは、フラッシュ回路が、SBCとMBCとの読取り動作およびプログラム動作の間で異なって制御されるからである。
図3に、SBCストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す。プロセス変動および電圧供給変動に起因して、消去しきい電圧およびプログラムしきい電圧は、ある電圧範囲の中に分布する。図3に示されているように、消去されるメモリセルは、-3Vと-1Vとの間の負のしきい電圧を有し、プログラムされるメモリセルは、1Vと3Vとの間の正のしきい電圧を有する。この範囲は、メモリセルの所望のしきい電圧に依存する。しきい電圧範囲は、特定のフラッシュメモリデバイス内で使用できる可能なしきい電圧の例示であるが、当業者は、消去されるメモリセルおよびプログラムされるメモリセルについて使用するためのしきい電圧の選択が、フラッシュメモリデバイスの設計および製造プロセスに依存することを理解することができる。当業者は、異なるフラッシュデバイスが、特定の設計または応用に適するために異なるしきい電圧範囲を有することを理解することができる。
図4に、MBCストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す。消去されるメモリセルは、負のしきい電圧を有し、それぞれが異なる状態に対応する、メモリセルが格納する正のしきい電圧の3つの範囲がある。好ましくは、各状態のしきい電圧の最小範囲および最大範囲が最小化されると同時に、範囲の間の間隔が最大化されなければならない。
フラッシュメモリデバイスが、もはや信頼性のある形でデータを格納するのに使用できなくなる前に、限られた回数の消去-プログラムサイクルを有することが、周知である。より具体的には、フラッシュメモリセルは、プログラム/消去サイクルウェアリングの対象であり、このウェアリングは、累積的なプログラム動作および消去動作に起因するフラッシュメモリセルの徐々の劣化である。メモリブロックが、データを用いてプログラムされる前にまず必ず消去され、したがって、このサイクルを、プログラムサイクルと消去サイクルとの両方と称することができることに留意されたい。すべての現在既知のフラッシュメモリが、ブロック消去のために構成され、これは、ブロック内のデータの1ページだけが変更される場合であっても、そのページを含むブロック全体が消去され、変更されたページおよび変更されないページを用いて再プログラムされることを意味することが、当業者の理解である。そのような累積的なプログラム動作および消去動作の影響は、最適パラメータを超えるメモリセルのプログラム特性および消去特性の変更である。メモリセルが劣化する時に、所望のしきい電圧に対するより高いプログラム電圧および消去電圧が、メモリセルのプログラムまたは消去に必要である。結果的に、メモリセルは、データ(すなわち、所望のしきい電圧)を正しく保持することができなくなる。たとえば、現在のSBCフラッシュメモリの通常の定格消去-プログラムサイクルは約100000サイクルである。しかし、現在のMBCフラッシュメモリは、より少ない定格限界10000サイクルを有する。上で述べた消去-プログラムサイクル限度は、例にすぎないが、MBC消去-プログラムサイクルが、SBC消去-プログラムサイクルよりかなりの倍率だけ少ないことは、よく理解されている。
現在、入手可能なほとんどのフラッシュメモリは、そのチップサイズに対する相対的な大きいストレージ密度に起因して、MBCタイプを有する。これは、ほとんどの消費者応用例に適切であるが、10000サイクルプログラム-消去限度は、データプログラミングおよび消去が頻繁である他の応用例には不十分である可能性がある。したがって、MBCフラッシュメモリが、その10000サイクル寿命に達した時に、そのメモリは、もはや使用可能ではなく、破棄されなければならない。この問題は、より頻繁なプログラム-消去サイクルがある、HDD応用例などの商用応用例についてよりクリティカルである。HDD応用例は、ほとんどの消費者応用例より高いデータ完全性を必要とするので、MBCフラッシュメモリは、その相対的に短い10000サイクル寿命に起因して、適切ではない。
米国特許出願第11/354,023号明細書 米国特許出願第11/496,278号明細書
したがって、消費者応用例と商業応用例との両方に適する、延ばされた寿命を有するフラッシュメモリおよびフラッシュメモリシステムを提供することが望ましい。
以前のフラッシュメモリシステムの少なくとも1つの不利益を事前に除去し、または軽減することが、本実施形態の一態様である。
第1の態様では、メモリアレイを有するフラッシュメモリデバイスが提供される。このフラッシュメモリデバイスは、コマンドデコーダと、制御論理回路と、メモリセルをプログラムするためのフラッシュメモリ回路網とを含む。コマンドデコーダは、外部プログラムコマンドに応答してセルあたり複数ビット(MBC)プログラムコマンドおよびセルあたり単一ビット(SBC)プログラムコマンドのうちの1つを発行する。制御論理回路は、セルあたり複数ビットプログラムコマンドまたはセルあたり単一ビットプログラムコマンドのいずれかに応答してプログラミングアルゴリズムを実行する。フラッシュメモリ回路網は、プログラミングアルゴリズムに応答してメモリアレイのメモリセルをプログラムする。本態様の実施形態によれば、コマンドデコーダは、SBCプログラムコマンドを発行するSBCコマンドデコーダと、MBCプログラムコマンドを発行するMBCコマンドデコーダとを含む。
本態様のもう1つの実施形態では、メモリアレイは、MBCプログラムコマンドに応答してMBCストレージモードでデータを格納するように構成された第1サブディビジョンと、SBCプログラムコマンドに応答してSBCストレージモードでデータを格納するように構成された第2サブディビジョンとを含む。第1サブディビジョンおよび第2サブディビジョンは、メモリブロックまたはメモリページを含むことができる。各サブディビジョンは、MBCストレージモードまたはSBCストレージモードを指定するためのモードタグに関連し、各サブディビジョンは、メモリアレイ内の1つのメモリページである。
第2の態様では、フラッシュメモリデバイスにデータを格納する方法が提供される。この方法は、フラッシュメモリデバイスのサブディビジョンを第1ストレージモードから第2ストレージモードに変換するステップであって、そのサブディビジョンが、第1ストレージモードおよび第2ストレージモードのいずれかを示す対応するモードタグを有する、変換するステップと、サブディビジョンおよび代替サブディビジョンのうちの1つにデータをプログラムするステップとを含む。本態様の実施形態によれば、第1ストレージモードは、セルあたり複数ビット(MBC)ストレージモードであり、第2ストレージモードは、セルあたり単一ビット(SBC)ストレージモードであり、変換するステップは、所定の判断基準に応答して実行される。所定の判断基準は、MBCプログラム/消去限度であり、変換するステップは、サブディビジョンに対応するプログラム/消去カウンタをMBCプログラム/消去限度と比較するステップを含む。プログラムするステップは、プログラム/消去カウンタが所定のMBCプログラム/消去限度未満である場合にサブディビジョンにデータをプログラムするステップと、プログラム/消去カウンタが少なくとも所定のMBCプログラム/消去限度である場合に代替サブディビジョンにデータをプログラムするステップとを含む。プログラムするステップは、データが代替サブディビジョンにプログラムされる場合にサブディビジョンを消去するステップ、サブディビジョンに対応するモードタグを、第2ストレージモードを示す状態にセットするステップ、またはプログラム/消去カウンタをリセットするステップを含むことができる。
本態様のもう1つの実施形態では、所定の判断基準は、データの特定のプロファイルであり、データの特定のプロファイルは、データファイルタイプのセットを含む。プログラムするステップは、データが特定のプロファイルと一致するプロファイルを有する場合にサブディビジョンにデータをプログラムするステップと、プロファイルが特定のプロファイルと一致しない場合に代替サブディビジョンにデータをプログラムするステップとを含む。さらなる実施形態では、サブディビジョンは、ブロックを含み、ブロックは、所定の個数のページを含み、あるいは、サブディビジョンは、ページを含み、所定の個数のページが、1つのブロックに含まれる。もう1つの実施形態では、第1ストレージモードは、セルあたり単一ビット(SBC)ストレージモードであり、第2ストレージモードは、セルあたり複数ビット(MBC)ストレージモードであり、変換するステップは、サブディビジョンに対応するSBCプログラム/消去カウンタを再利用限度と比較するステップと、プログラム/消去カウンタが再利用限度未満である場合にサブディビジョンに対応するロックビットの状態をチェックするステップとを含む。変換するステップは、ロックビットの状態が偽である場合に、サブディビジョンに対応するモードタグの状態を変更するステップをさらに含む。変換するステップは、モードタグビットの状態が変更された後にロックビットを真にセットするステップをさらに含む。
第3の態様では、マルチモードフラッシュメモリデバイスが提供される。このマルチモードフラッシュメモリデバイスは、セルあたり単一ビット(SBC)ストレージモードでSBCデータを格納し、セルあたり複数ビット(MBC)ストレージモードでMBCデータを格納するフラッシュメモリセルを有するメモリアレイを含む。本態様の実施形態によれば、メモリアレイの第1ブロックは、SBCデータを格納し、メモリの第2ブロックは、MBCデータを格納し、メモリアレイのブロック内の第1ページは、SBCデータを格納し、メモリアレイのブロック内の第2ページは、MBCデータを格納し、第1ページおよび第2ページは、それぞれモードタグを格納し、モードタグは、SBCデータまたはMBCデータの存在を示す論理状態を有する。
第4の態様では、セルあたり複数ビット(MBC)ストレージモードおよびセルあたり単一ビット(SBC)ストレージモードのうちの1つでフラッシュメモリシステム内でデータを選択的にプログラムする方法が提供される。この方法は、データを受け取るステップと、データの高信頼性レベルまたは低信頼性レベルを判定するステップと、データが高信頼性であると判定される場合にデータをSBCストレージモードでプログラムするステップと、データが低信頼性であると判定される場合にデータをMBCストレージモードでプログラムするステップとを含む。本態様の実施形態では、データをSBCストレージモードでプログラムするステップは、データをフラッシュメモリデバイスのメモリアレイ内の選択されたSBCページにプログラムするステップと、選択されたSBCページのそれぞれに対応するモードタグを第1状態にセットするステップとを含む。さらに、データをMBCストレージモードでプログラムするステップは、データをフラッシュメモリデバイスのメモリアレイ内の選択されたMBCページにプログラムするステップと、選択されたMBCページのそれぞれに対応するモードタグを第2状態にセットするステップとを含む。
第5の態様では、セルあたり複数ビット(MBC)ページおよびセルあたり単一ビット(SBC)ページを有するフラッシュメモリシステムからデータを読み取る方法が提供される。この方法は、フラッシュメモリアレイの少なくとも1つのページを読み取るための読取りアドレスを受け取るステップと、少なくとも1つのページに対応するモードタグが第1論理状態である場合に、読取りアドレスでMBC読取り動作を実行するステップと、少なくとも1つのページに対応するモードタグが第2論理状態である場合に、読取りアドレスでSBC読取り動作を実行するステップとを含む。この方法は、読取りアドレスを受け取る前に、フラッシュメモリアレイの各ページに対応するモードタグを用いてアドレスマッピングテーブルを初期化するステップを含む。本態様の実施形態では、初期化するステップは、フラッシュメモリアレイをパワーアップするステップと、フラッシュメモリアレイの各ページに格納されたモードタグを読み取るステップと、フラッシュメモリアレイの各ページに対応する論理アドレスエントリと共にモードタグを格納するステップとを含む。モードタグを読み取るステップは、フラッシュメモリアレイの各ページ内のモードタグを読み取るためにSBC読取り動作を実行するステップを含む。もう1つの実施形態では、受け取るステップは、フラッシュコントローラからフラッシュメモリデバイスに外部読取りコマンドを発行するステップを含み、外部読取りコマンドは、読取りアドレスと、その読取りアドレスに対応するモードタグビットの論理状態とに応答して生成される。MBC読取り動作を実行するステップは、フラッシュメモリデバイス内で外部読取りコマンドをデコードするステップと、内部MBC読取りコマンドおよび内部SBC読取りコマンドのうちの1つを発行するステップとを含む。
説明される実施形態の他の特徴および態様は、添付図面と共に本発明の特定の実施形態の次の説明を再検討すれば、当業者に明白になる。
実施形態を、一例として、添付図面を参照して説明する。
従来技術のフラッシュメモリデバイスを示すブロック図である。 図1のフラッシュメモリデバイスの1つのメモリバンクの編成を示す概略図である。 セルあたり単一ビットストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す図である。 セルあたり複数ビットストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す図である。 マルチドロップフラッシュメモリシステムを示すブロック図である。 直列構成されたフラッシュメモリシステムを示すブロック図である。 マルチモードフラッシュメモリデバイスの寿命を延ばす方法を示す流れ図である。 MBCストレージモードとSBCストレージモードとの間で変換されるメモリブロックを示す図である。 MBCストレージモードとSBCストレージモードとの間で変換されるページを示す図である。 メモリアレイの1ページに関する割り振られるフィールドを示す概略図である。 1つのマルチモードフラッシュメモリデバイスを含むフラッシュメモリシステムを示すブロック図である。 図10のフラッシュメモリシステムを動作させる方法を示す流れ図である。 モードタグ情報を用いてアドレスマッピングテーブルを初期化する方法を示す流れ図である。 マルチモードフラッシュメモリデバイスの寿命を延ばす方法を示す流れ図である。 MBCおよびSBCのストレージモードデータのユーザ選択可能なプログラミングの方法を示す流れ図である。 MBCストレージモードサブディビジョンをSBCストレージモードサブディビジョンに自動的に変換する方法を示す流れ図である。 SBCストレージモードサブディビジョンを再利用する方法を示す流れ図である。 マルチモードフラッシュメモリデバイスからデータを読み取る方法を示す流れ図である。
一般に、少なくともいくつかの例の実施形態は、フラッシュメモリデバイスの寿命を延ばす方法およびシステムを提供する。フラッシュメモリデバイスは、セルあたり単一ビット(SBC)ストレージモードまたはセルあたり複数ビット(MBC)ストレージモードでデータを格納するように動的に構成可能であり、SBCデータとMBCデータとの両方が同一のメモリアレイ内に共存するようになっている。そのようなメモリデバイスを、マルチモードフラッシュメモリデバイスと称する。メモリの各ページに格納される1つまたは複数のタグビットが、対応するメモリブロック内にデータを格納するのに使用されるストレージモードのタイプを示すのに使用される。コントローラが、マルチモードフラッシュメモリデバイスの寿命を最大にするために、ストレージモードを選択的に変更するために各ページに対応するプログラム-消去サイクルの回数を監視する。
現在説明される実施形態は、図1に示されたものなどの単一のMBCフラッシュメモリデバイスならびに図5および6に示されたものなどのMBCフラッシュメモリデバイスのシステムに適用可能である。
図5は、ホストシステム102に一体化されたフラッシュメモリシステム100のブロック図である。フラッシュメモリシステム100は、ホストシステム102と通信するフラッシュメモリコントローラ104と、複数のマルチモードフラッシュメモリデバイス106とを含む。ホストシステム102は、マイクロコントローラ、マイクロプロセッサ、またはコンピュータシステムなどの処理デバイスを含む。図5のフラッシュメモリシステム100は、1つのチャネル108を含むように構成されるが、マルチモードフラッシュメモリデバイス106は、チャネル108に並列に結合される。当業者は、メモリシステム100が、より多数またはより少数のメモリデバイスをそれに結合され得ることを理解することができる。
チャネル108は、1組の共通バス(図示せず)を含み、この共通バスは、すべてのメモリデバイス106に結合されるデータ線および制御線を含む。図示されていないが、各メモリデバイスは、フラッシュメモリコントローラ104によって供給されるめいめいのチップ選択信号を用いてイネーブル/ディスエーブルされる。フラッシュメモリコントローラ104は、ホストシステム102の動作に基づいて、選択されたメモリデバイス106にチャネル108を介してコマンドおよびデータを発行する責任を負う。メモリデバイスから読み取られたデータは、チャネル108を介してフラッシュメモリコントローラ104およびホストシステム102に戻って転送される。フラッシュメモリシステム100は、一般に、マルチドロップ構成と呼ばれ、この構成では、マルチモードフラッシュメモリデバイス106が、チャネル108に関して並列に結合される。当業者は、フラッシュメモリコントローラ104が、複数のチャネルを有することができ、各チャネルが、マルチドロップ構成で結合されたフラッシュメモリデバイス106を有することを理解することができる。各マルチモードフラッシュメモリデバイス106は、前に図2に示されたバンクメモリ編成を有するNANDフラッシュメモリデバイスとして実施される。フラッシュメモリデバイス106は、同一の容量または異なる容量を有することができる。
図6は、直列結合されたメモリデバイスを有するフラッシュメモリシステムのブロック図である。フラッシュメモリシステム120は、ホストシステム124と通信するフラッシュメモリコントローラ122と、4つの直列結合されたマルチモードフラッシュメモリデバイス126とを含む。4つのフラッシュメモリデバイスのそれぞれは、メモリデバイスの間の動作を容易にする入出力回路を有する。そのようなフラッシュメモリデバイスの例が、その内容が参照によって本明細書に組み込まれている、2005年12月30日に出願した本願と同一の譲受人が所有する米国特許出願第11/354,023号および2006年7月31日に出願した本願と同一の譲受人が所有する米国特許出願第11/496,278号に記載されている。
一実施形態によれば、マルチモードフラッシュメモリデバイスは、デフォルトで、MBCストレージモードでデータを格納するようにセットされる。各マルチモードフラッシュメモリデバイスの寿命は、寿命延長方式を実行することによって延ばされる。図7は、寿命延長方式を示す流れ図である。
第1ステップは、通常はプログラミング命令に応答して実行される、セル変換200である。MBCストレージモードで構成されたすべてのサブディビジョンのプログラム/消去サイクルが、監視され、所定の限度に達するすべてのサブディビジョンが、SBCストレージモードに自動的に変換される。サブディビジョンは、たとえばメモリブロックまたはページなど、変換可能であるセルの最小の単位またはグループ化である。これは、所定の限度に達するすべてのMBCストレージモードサブディビジョンが、もはや信頼できる形でデータを格納しないが、これらを、セットされた回数のプログラム/消去サイクルについてSBCストレージモードでデータを格納するのに使用できるという事実に起因する。セル変換アルゴリズムは、サブディビジョンに格納されるデータがもはや保持されない場合に、そのサブディビジョンをSBCストレージモードからMBCストレージモードに変換もする。
続いて、ステップ202で、データを、選択されたストレージモードに従ってプログラムする。デフォルトで、メモリバンクの全サブディビジョンが、MBCストレージモードでデータを格納するようにセットされる。しかし、ユーザが、より高いストレージ信頼性を必要とするデータを格納することを選ぶ場合に、少なくとも要求された個数のサブディビジョンが、SBCストレージモードでデータファイルを格納するために割り振られ、セットされる。フラッシュメモリコントローラ(たとえば、104または122)を、より高いストレージ信頼性を要求するものとして特定のデータファイル拡張子タイプを認識するように構成することができる。たとえば、Windows(登録商標)オペレーティングシステムプラットフォーム内の「.exe」を伴う実行可能アプリケーションは、SBCストレージモードで格納されるが、「.avi」拡張子を伴うビデオデータファイルは、より高いストレージ信頼性を要求しない。したがって、SBCストレージモードで構成されたサブディビジョンは、MBCストレージモードで構成されたサブディビジョンより長い寿命を有する。
寿命延長方式の上で述べたステップの任意の1つの使用は、マルチモードフラッシュメモリデバイスの寿命を延ばす。しかし、最大の寿命延長は、両方のステップがマルチモードフラッシュメモリデバイスの動作中に使用される時に達成される。
図8Aは、サブディビジョンが現在はメモリブロックである場合の、MBCストレージモードからSBCストレージモードへのおよびその逆のメモリのサブディビジョンの変換をグラフ的に示す。図示を簡単にするために、図8(a)のマルチモードフラッシュメモリデバイス300は、4つのメモリブロック302からなり、4つのメモリブロックのそれぞれは、4つのページ304を含む。メモリデバイス300が、そのブロック302のすべてを当初にMBCストレージモードでデータを格納するようにセットされ、ユーザまたは前に図7で説明した自動セル変換アルゴリズムのいずれかにかけられたと仮定する。したがって、例によって、マルチモードフラッシュメモリデバイス300は、図8(a)に示されているようにSBCページおよびMBCページの構成を有し、ここで、陰付きのブロックは、SBCストレージモードでデータを格納するようにセットされ、陰なしのブロックは、MBCストレージモードでデータを格納するようにセットされる。
図8(b)に、ページ304が変換された後のマルチモードフラッシュメモリデバイス300のマッピングを示す。第1の例では、ページ306、308、310、および312を含むMBCストレージモードブロックが、プログラム/消去サイクルの所定の回数に達したことが判定されている。したがって、これらは、SBCストレージモードに変換される。プログラム/消去サイクルは、ブロック302内のページ304ごとに監視され、ブロック変換は、ページのうちの少なくとも1つが所定の回数に達した時に実行される。
第2の例では、ページ314、315、316、および317を含むSBCストレージモードブロックが、もはやデータを格納しないと判定されている。これは、その中のデータが消去され、他のデータがその中に格納されない時に判定することができる。SBCページ314、315、316、および317のSBCプログラム/消去サイクルの回数がチェックされ、それらのめいめいのSBCプログラム/消去サイクルのうちの少なくとも1つが所定の限度に達しているので、ブロック全体が、MBCストレージモードに戻って変換される。MBCからSBCストレージモードへおよびSBCからMBCストレージモードへの変換に関する特定の詳細は、後で述べる。
図8Aには、SBCストレージモードとMBCストレージモードとの間のサブディビジョンに基づくブロックの変換が示されている。図8Bには、SBCストレージモードとMBCストレージモードとの間でのサブディビジョンに基づくページの変換が示されている。図8(c)に示されているように、ページ318および320は、MBCストレージモードでデータを格納するようにセットされ、ページ322および324は、SBCストレージモードでデータを格納するようにセットされる。第1の例では、プログラム/消去サイクルを監視することによって、ページ318と320との両方が所定のMBCプログラム/消去サイクル限度に達したことが判定される。したがって、SBCストレージモードへの個々のページの変換が実行される。第2の例では、プログラム/消去サイクルを監視することによって、ページ322と324との両方が所定の限度に達したことが判定される。したがって、MBCストレージモードへの個々のページの変換が実行される。
メモリデバイス300内の任意のブロック302のストレージモードの判定は、ページ304のうちの1つに格納されるモードタグ(少なくとも1ビット)をチェックすることによって達成される。これは、メモリデバイス300が、選択されたブロック302に対して正しいプログラミング動作および読取り動作を実行することを可能にする。図9は、特にその割り振られたフィールドを示す、ページ304の概略図である。ページ304は、ユーザデータフィールド350および予備データフィールド352を含む。ユーザデータフィールド350は、ユーザから受け取られたデータを格納するが、予備データフィールド352は、フラッシュデバイスまたはフラッシュメモリコントローラによる使用のために予約される。現在の例では、ユーザデータフィールド350は、サイズにおいて2KBであり、予備データフィールド352は、サイズにおいて64Bである。予備データフィールド352では、1つまたは複数のビットが、ストレージモードタグ354として指定され、複数のビットが、ページに対して実行されるMBCプログラム/消去サイクルの数を追跡するためのプログラム/消去サイクルカウンタ356として指定される。
SBCカウンタ358は、SBCからMBCへの変換および後続のMBCからSBCへの変換をサポートするために、ページに対して実行されるSBCプログラム/消去サイクルの総数を追跡するために含まれる。1つの例の応用例は、SBCストレージモードを使用して高速でデータをプログラムし、その後、アイドル期間中にメモリ容量を改善するために後にMBCストレージモードに変換することである。オプションのロックビット360を、SBCストレージモードページがMBCストレージモードに変換されるのを防ぐために設けることができる。この特徴のさらなる詳細は、後で述べる。メモリブロック302は、任意の個数のページ304を含むが、ページ304のうちの任意の1つまたは複数を、メモリブロック302に対応するタグビット、SBCカウンタ値、MBCカウンタ値、およびオプションのロックビットを格納するために選択することができる。
モードタグ354は、使用すべき指定された読取りアルゴリズム、プログラムアルゴリズム、および消去アルゴリズムを判定するためにマルチモードフラッシュメモリデバイス300によって使用される。前に述べたように、特定の電圧レベルおよび制御信号のタイミングをセットすることを伴う読取りアルゴリズムおよびプログラムアルゴリズムは、SBCストレージモードおよびMBCストレージモードで格納されるデータについて異なる。そのような相違は、当業者に周知である。具体的に言うと、読み取られるかプログラムされるサブディビジョン(たとえば、ブロックなど)が、それに対応するモードタグ354を特定の論理状態にセットされている場合に、フラッシュデバイスは、MBCストレージモードアルゴリズムを実行する。そうでない場合には、フラッシュデバイスは、SBCストレージモードアルゴリズムを実行する。SBCストレージモードおよびMBCストレージモードに固有のアルゴリズムの実行は、マルチモードフラッシュメモリデバイスのコマンドデコーダおよび論理回路によって支配される。
いくつかの実施形態で、マルチモードフラッシュメモリデバイスは、SBCストレージモードとMBCストレージモードとの両方に固有の動作を実行するのに必要なすべての回路および制御論理を含む。MBCフラッシュメモリデバイスが、通常、SBCフラッシュメモリデバイスによって使用される回路のすべてを含むことに留意されたい。専用MBCフラッシュメモリデバイスと専用SBCフラッシュメモリデバイスとの間の主な相違は、制御回路網およびアルゴリズムを実行するための論理回路である。
図10は、1つのマルチモードフラッシュメモリデバイスを含むフラッシュメモリシステムのブロック図である。フラッシュメモリシステム400は、フラッシュメモリコントローラ402およびマルチモードフラッシュメモリデバイス404を含む。図示の便宜上、1つのデバイス404だけが示されているが、システム400は、同一チャネルに結合された任意の個数のデバイス404を含むことができ、システム400は、任意の個数のチャネルを含むことができる。フラッシュメモリコントローラ402およびマルチモードフラッシュメモリデバイス404の詳細をこれから説明する。
フラッシュメモリコントローラ402の通常のコンポーネントは、論理-物理アドレストランスレータ406であり、この論理-物理アドレストランスレータ406は、ホストシステムによって供給される各論理アドレスをマルチモードフラッシュメモリデバイス内の対応する物理アドレスにマッピングする責任を負う。当業者によって了解されるように、アドレスマッピングは、データがウェアレベリング動作を実施するために移動されるか再プログラムされる場合に、データの論理アドレスがメモリアレイ内の実際の物理位置を一貫してポイントすることを保証するのに使用される。また、トランスレータは、一般に、アドレスマッピングテーブルとして実施される。本実施形態によれば、マルチモードフラッシュメモリデバイス404の各サブディビジョンの各メモリタグ(MODE)が、入手され、それに対応する論理アドレスエントリと共にマッピングテーブルに格納される。サブディビジョンがブロックである場合には、そのブロックに対応する論理アドレスの対応するモードタグが格納される。その代わりに、サブディビジョンがページである場合には、各ページのモードタグが入手され、格納される。したがって、フラッシュメモリコントローラ402は、選択されたアドレスに関連するストレージモードのタイプに関する情報と共に、外部コマンド(CMD)を発行する。
図10に示されたマルチモードフラッシュメモリデバイス404は、コマンドデコーダ408および制御論理410からなるマルチモード制御回路405と、フラッシュメモリ回路網412と、メモリアレイ414とを含む。フラッシュメモリ回路網412およびメモリアレイ414は、図を明瞭にするために単純化されているが、当業者は、これらの回路ブロックが、マルチモードフラッシュメモリデバイス404の正しい動作を保証するのに必要なすべてのコンポーネントを含むことを理解するに違いない。コマンドデコーダ408は、フラッシュメモリコントローラ402によって発行された外部コマンドCMDを受け取り、そのコマンドをデコードし、対応する内部制御コマンドを制御論理410に発行する。当業者は、外部コマンドCMDが、実行される動作のタイプ、プログラムすべきユーザデータ、およびデータがそこに書き込まれるまたはデータがそこから読み取られるアドレスなどの情報を含むことを理解することができる。制御論理410は、プログラム検証動作などのすべての補足の動作を含む、すべての標準的なSBCおよびMBCの読取り動作およびプログラム動作を実行するための論理を有する状態機械である。制御論理410は、後で説明するように、マルチモードフラッシュメモリデバイスに独自の論理機能を実行するための論理回路網をも含む。
コマンドデコーダ408は、MBCコマンドデコーダ416、SBCコマンドデコーダ418、および共通コマンドデコーダ420を含む。MBCコマンドデコーダ416は、MBC読取りコマンドRD_MBCおよびMBCプログラムコマンドPGM_MBCなど、MBCストレージモード固有コマンドを発行する。SBCコマンドデコーダ418は、SBC読取りコマンドRD_SBCおよびSBCプログラムコマンドPGM_SBCなど、SBCストレージモード固有コマンドを発行する。共通デコーダ420は、消去コマンドなど、SBCストレージモードまたはMBCストレージモード用に構成されたメモリサブディビジョンに固有ではないコマンドを発行する。3つのサブコマンドデコーダ416、418、および420は、コマンドデコーダ408によって発行されるコマンドのタイプの分類を示すために別個の回路ブロックとして図示され、必ずしも、コマンドを生成するのに使用される特定の回路または論理のグループ化を示すものではない。
フラッシュメモリシステム400の全般的動作を、これから、図11の流れ図を参照して説明する。図示の動作方法のステップを実行する前に、モードタグ情報が、既にアドレストランスレータ406にロード済みであると仮定する。次に、ステップ450で、ホスト要求を受け取り、このホスト要求は、たとえば読取り要求または書込み要求を含むことができる。この要求は、マルチモードフラッシュメモリデバイス404にデータを書き込むための論理アドレスまたはそれからデータを読み取るための論理アドレスを含む。ステップ452で、フラッシュメモリコントローラ402が、アドレスマッピングテーブルをルックアップし、要求された論理アドレスおよびアドレスマッピングテーブル内の対応するモードタグの状態に基づいて、要求されるストレージモード動作の必要なタイプ(SBCストレージモード対MBCストレージモード)に関する表示と共に適当なコマンドCMDを生成する。ステップ454で、コマンドデコーダ408によって受け取られたCMDコマンドが、デコードされ、SBCストレージモードまたはSBCストレージモードのいずれかの読取り/プログラムコマンドが、MBCコマンドデコーダ416またはSBCコマンドデコーダ418によって発行される。もちろん、CMDコマンドを、共通コマンドデコーダ420によって発行される消去動作などの非ストレージモード固有コマンドとすることができる。ステップ456で、制御論理410が、要求されたアルゴリズムを実行し、正しい形で必要なマルチモードフラッシュメモリ回路網412を制御する。
マルチモードフラッシュメモリデバイス404によって実行されるすべての動作の前に、フラッシュメモリコントローラ402のアドレスマッピングテーブルが、モードタグを用いて初期化される。これは、フラッシュメモリシステム400のパワーアップ中など、実行されるユーザ動作がない時間中に行われることが好ましい。図12は、アドレスマッピングテーブルを初期化する方法を示す流れ図である。ステップ500で、フラッシュメモリシステム400がパワーアップされる。次に、ステップ502で、フラッシュメモリデバイス404が、そのメモリアレイをスキャンして、そのタグビットのすべての論理状態を査定する。これは、フラッシュメモリデバイス404内のすべてのページの読取り動作を実行し、モードタグ情報(MODE)だけをフラッシュメモリコントローラ402に供給することによって行われる。データのページ全体が同時に読み出される場合に、タグビットだけが使用され、ページから読み出された残りのデータは、無視される。次に、ステップ504で、アドレスマッピングテーブルにMODEタグデータを投入する。
速度を最大にし、モードタグ読出プロセスを単純にするために、すべてのページが、SBCストレージモード読出アルゴリズムを使用して読み出される。より具体的には、SBC読取りアルゴリズムが、タグビットの消去状態の存在または不在を検出する。2つの2進論理状態を使用して、サブディビジョン(すなわち、たとえばブロックまたはページ)のSBCストレージモード構成またはMBCストレージモード構成を判定することができる。好ましくは、フラッシュメモリデバイスは、製造/テスト中に、そのすべてのモードタグビットを、データがMBCストレージモードでプログラムされなければならないことを示す1つの論理状態(消去状態)にセットさせるように事前にプログラムされる。標準動作中に、フラッシュメモリデバイス404は、プログラム動作および消去動作を受け、これによって、最終的に、メモリのページであれブロックであれ、少なくとも1つのサブディビジョンが、そのモードタグを変更される。
図13は、モードタグの状態を自動的に変更することによって、マルチモードフラッシュメモリデバイス400の寿命を延ばす方法を示す流れ図である。この方法は、モードタグが変更される前の特定の判断基準または条件の概要を示す。この方法は、ステップ550で開始され、ここで、データが、マルチモードフラッシュメモリデバイスにプログラムされる。マルチモードフラッシュメモリデバイスのメモリアレイ内にSBCストレージモードサブディビジョンおよびMBCストレージモードサブディビジョンの混合物があると仮定する。したがって、ステップ550では、SBCプログラミング動作またはMBCプログラミング動作が実行される。
ステップ552で、メモリアレイの各サブディビジョンのプログラムサイクル数を、プログラム/消去サイクルの後に監視する。その代わりに、監視を、プログラム/消去サイクルの直前に行うことができる。メモリのサブディビジョンに対するすべてのプログラム動作に、ある点で消去動作が先行し、したがって、消去サイクルまたはプログラムサイクルの個数が、実質的に同一であることに留意されたい。アドレスマッピングテーブルは、各サブディビジョンのプログラム/消去カウンタを含むことができ、このカウンタは、当初に、ページの予備データフィールド(352)に格納された対応するカウンタ値を投入される。カウンタ値を、システムのパワーアップ中にロードし、データがプログラムされる時にページに戻ってプログラムすることができる。ステップ552での監視は、現在プログラムされているサブディビジョン(1つまたは複数)のプログラム/消去カウンタを所定の限度と比較することを含む。に基づいて使用される2つの所定の限度がある。一方の限度は、SBCストレージモード限度であり、他方は、MBCストレージモード限度である。たとえば、MBCストレージモードサブディビジョンは、10000プログラム/消去サイクルという限度を有し、SBCストレージモードサブディビジョンは、100000プログラム/消去サイクルという限度を有する。プログラミング動作が完了する前または後に、この比較が実行される。その後、適用可能な所定の限度に達する場合に、3つの可能なアクションのうちの1つが行われる。
第1の可能なアクションは、ステップ554で、MBCストレージモードサブディビジョンをSBCストレージモードに変換することによって、それらのサブディビジョンの寿命を延ばすことである。したがって、MBCストレージモードサブディビジョンに現在格納されている、変換されるすべてのデータは、使用可能なMBCストレージモードサブディビジョンに移動されるかプログラムされるかのいずれかである。次に、アドレスマッピングテーブル内の対応するモードタグビットが、ステップ556で、サブディビジョンがSBCストレージモードにセットされていることを示すために変更される。ページのタグビットフィールドは、データがページにプログラムされる時にプログラムされる。
第2の可能なアクションは、ステップ558で、SBCストレージモードサブディビジョンをMBCストレージモードに変換することによって、それらのサブディビジョンを再利用することである。これは、ステップ554で述べたプロセスの逆のプロセスである。再利用は、2つの条件の下で行われ、一方の条件は、SBCプログラム/消去サイクル数が標準SBC限度より少ない所定の値未満であることであり、ここで、標準SBC限度は、100000サイクルとすることができる。これは、100000サイクル近くまでプログラムされるSBCメモリセルが、MBCストレージモードで信頼できる形でデータを格納しない点まで劣化するという事実に起因する。したがって、減らされたSBCからMBCへの再利用限度が使用される。この減らされた限度は、サブディビジョンが、10000プログラム/消去サイクルという標準MBC限度に信頼できる形で耐えるように選択される。一実施形態で、減らされたSBCからMBCへの再利用限度は、このMBC限度に対応する。たとえば、MBC限度が10000サイクルである場合に、SBCメモリセルが10000SBCプログラム/消去サイクル以下に耐えたならば、それらのセルをMBCストレージモードに変換することができる。第2の条件は、SBCサブディビジョンに格納されたデータが、もはや使用されない、すなわち、そのデータが、消去され、同一サブディビジョンに再プログラムされないことである。サブディビジョンが消去される時に、アドレスマッピングテーブルが、そのサブディビジョンが空いていることを示すために更新される。この2つの条件が満足されたならば、アドレスマッピングテーブル内のモードタグ状態が、ステップ556で変更される。したがって、そのようなSBCサブディビジョンを高密度ストレージのために再利用することが有利である。
第3の可能なアクションは、SBCサブディビジョンがそのSBCプログラム/消去サイクル限度に達している時に、ステップ560でそれらのSBCサブディビジョンを退役させることである。この場合に、サブディビジョンは、単純にマップアウトされ、もはやフラッシュメモリシステムによって使用されなくなる。使用不能なサブディビジョンのマップアウトは、フラッシュメモリシステムでの周知の動作である。しかし、この時点までに、サブディビジョン(1つまたは複数)が、MBCストレージモードとSBCストレージモードとの両方でデータを格納していたことになり、これによって、サブディビジョン(1つまたは複数)の寿命が最大にされる。
前に説明した実施形態は、マルチモードフラッシュメモリが、デフォルトでそのサブディビジョンのすべてをMBCストレージモードでデータを格納するように構成されることを前提とする。しかし、すべてのMBCストレージモードサブディビジョンを、ホストシステムによってSBCストレージモードに変換することができる。図14は、MBCおよびSBCのストレージモードデータのホストシステム選択可能なプログラミングの方法を示す流れ図である。この方法を、図13の寿命延長方法のステップ550のサブルーチンとして実行することができる。ステップ600で開始して、フラッシュメモリコントローラは、ホストからプログラミング命令を受け取り、プログラムすべきデータのタイプを識別する。データのタイプは、たとえば、JPEGなどのイメージファイル、スプレッドシート文書またはテキスト文書などのさまざまなアプリケーションデータファイル、および実行可能プログラムとすることができる。各ファイルは、特定の拡張子を有するので、フラッシュメモリコントローラは、特定のデータタイプを識別する。次に、フラッシュメモリコントローラは、ステップ602で、データタイプが高信頼性を要求するかどうかを判定する。これは、たとえば、高信頼性を要求すると思われるすべてのデータタイプを含むテーブルをチェックすることによって行うことができる。たとえば、実行可能プログラムを、高信頼性を要求すると考えることができる。ホストシステムが、高信頼性を要求するデータタイプを事前に選択できることに留意されたい。
データタイプがテーブルに現れない場合には、この方法は、ステップ604に進み、マルチモードフラッシュメモリデバイスが、MBCストレージモードでデータをプログラムする。より具体的には、フラッシュメモリコントローラは、モードタグをMBCストレージモードにセットされた空きサブディビジョンをそのアドレスマッピングテーブルから識別し、適当なMBCプログラミングコマンドをマルチモードフラッシュメモリデバイスに発行する。そのコマンドを受け取る時に、マルチモードフラッシュメモリデバイスは、図10について前に説明した形で内部プログラミング動作に進む。内部プログラム検証が、データが成功してプログラムされたと判定したならば、選択されたページに対応するアドレスマッピングテーブル内のプログラム/消去カウンタが、ステップ606で増分される。
ステップ602に戻って、データタイプがテーブルに現れる場合には、この方法は、ステップ608に進み、ここで、フラッシュメモリコントローラが、使用可能な空きSBCストレージモードサブディビジョンがあるかどうかをチェックする。空きSBCストレージモードサブディビジョンが使用可能である場合には、マルチモードフラッシュメモリデバイスは、ステップ610で、SBCストレージモードで対応する物理位置にデータをプログラムするように指示される。そうでない場合には、必要なMBCストレージモードサブディビジョンが、ステップ612で、そのモードタグの状態を反転することによって、SBCストレージモードに変換される。その後、ステップ610が実行されて、データがSBCストレージモードでプログラムされる。ステップ610でのSBCストレージモードプログラミングに続いて、対応するプログラム/消去カウンタが、ステップ606で増分される。したがって、ユーザは、マルチモードフラッシュメモリデバイスでMBCストレージモードまたはSBCストレージモードのいずれかでデータを選択的にプログラムする。
前に述べた方法は、高信頼性タイプまたは低信頼性タイプのいずれかとしてデータファイルタイプを分類した。代替実施形態では、データファイルタイプを、異なる信頼性レベルに分類することができる。次に、ホストシステムは、どの信頼性レベルが高信頼性データとして分類されるべきかを判定するためのしきい値をセットすることができる。
前に述べたように、フラッシュメモリシステムは、寿命延長アルゴリズムを自動的に実行することができる。図15は、MBCストレージモードサブディビジョンをSBCストレージモードサブディビジョンに自動的に変換する1つの方法を示す流れ図である。プログラミング命令が、まず、ステップ650で、フラッシュメモリコントローラによって受け取られる。たとえば、プログラミング命令は、マルチモードフラッシュメモリデバイスの同一のサブディビジョンに格納された既存ファイルを変更することである。選択されたサブディビジョン(1つまたは複数)のプログラム/消去カウンタが、ステップ652で、MBCストレージモードの所定のサイクル限度と比較される。カウンタ値が限度未満である場合には、データは、ステップ654で、単純にマルチモードフラッシュメモリデバイス内の同一サブディビジョンにプログラムされる。そうでない場合には、限度に達しており、データは、ステップ656で新しいサブディビジョンにプログラムされる。次に、オリジナルサブディビジョンが、ステップ658で、データをクリアするために消去される。最後に、アドレスマッピングテーブル内のオリジナルサブディビジョンのモードタグの状態が、ステップ660で反転され、これによって、これらがSBCストレージモードサブディビジョンとして指定される。SBCストレージモードに変換されたサブディビジョンは、ステップ662でそのプログラム/消去カウンタをリセットされる。というのは、今、サブディビジョンが満了し、もはや使用できなくなる前に実行できる所定の回数のSBCプログラム/消去サイクルがあるからである。
代替の変更されたシーケンスは、データをプログラムし、カウンタを増分し、その後、プログラム/消去カウンタを所定のサイクル限度と比較することである。カウンタ値がサイクル限度未満である場合には、さらなるアクションは行われない。そうでない場合には、現在プログラムされているデータが、使用可能なMBCストレージモードサブディビジョンに移動され、または再プログラムされる。再プログラミングは、システムがアイドルである時であればいつでも行うことができる。その後、オリジナルサブディビジョンが、消去され、モードタグビットが、反転される。
SBCストレージモードサブディビジョンにデータをプログラムするステップは、図15に示したものと実質的に同一である。MBCプログラム/消去限度が、SBCプログラム/消去限度に置換され、SBCストレージモードサブディビジョンは、SBCサブディビジョンプログラム/消去カウンタがSBCプログラム/消去限度と等しい場合に、単純に使用から退役させられる。その後、SBCデータが、使用可能なSBCストレージモードサブディビジョンにプログラムされる。MBCストレージモードサブディビジョンだけが使用可能である場合には、図14の方法が実行されて、必要なMBCストレージモードサブディビジョンがSBCストレージモードに変換され、その後、データをプログラムする。
上で述べた実施形態では、1つのカウンタを、MBCプログラム/消去サイクルを追跡するのに使用し、その後、SBCストレージモードに変換された時にSBCプログラム/消去サイクルを追跡するのに再利用することができる。オプションの実施形態によれば、SBCサブディビジョンを再利用できる場合に、別々のSBCプログラム/消去カウンタおよびMBCプログラム/消去カウンタが設けられる。
図16の方法は、SBCストレージモードサブディビジョンを再利用するステップの概要を示す。この方法は、フラッシュメモリシステムがアクティブであるどの時にも実行することができる。この方法は、ステップ700で、空であるすなわちデータを格納することが意図されていない各SBCストレージモードサブディビジョンを識別することによって開始される。ステップ702で、SBCプログラム/消去カウンタを、MBC再利用限度と比較する。このカウンタが、少なくとも再利用限度である場合には、このプロセスは、ステップ704で終了し、SBCストレージモードサブディビジョンは、MBCストレージモードに変換されない。その一方で、SBCプログラム/消去カウンタが再利用限度未満である場合には、ステップ706で、ロックビットの状況がチェックされる。アクティブ状態にセットされているロックビットは、現在のSBCサブディビジョンが、図14の自動変換方法によって以前にMBCストレージモードからSBCストレージモードに変換されたことを示す。言い換えると、SBCストレージモードサブディビジョンが、そのMBCプログラム/消去サイクルを既に使い果たしている場合には、それをSBCストレージモードからMBCストレージモードサブディビジョンとしてのさらなる利用のために再利用する理由はない。ロックビットがセットされていない場合には、それに対応するモードタグの状態を、ステップ708で変更する。ステップ710で、このサブディビジョンがSBCストレージモードに戻って変換される場合に、このサブディビジョンの将来の再利用を防ぐために、ロックビットをセットする。
現在述べている方法は、マルチモードフラッシュメモリデバイス内でデータをプログラミングする技法およびプログラミング動作中にマルチモードフラッシュメモリデバイスの寿命を延ばす技法を提示する。これらの動作では、モードタグは、データがMBCストレージモードまたはSBCストレージモードのどちらを用いてプログラムされなければならないかを判定し、モードの間の自動変換を実行するのに使用される。プログラムされたならば、モードタグは、実行すべき読取り動作のタイプを判定するのに使用される。図17は、マルチモードフラッシュメモリデバイスからデータを読み取る方法の概要を示す流れ図である。
ステップ750で開始して、読取り命令が、フラッシュメモリコントローラによって受け取られる。この読取り命令は、所望のデータの論理アドレスを含む。次に、フラッシュメモリコントローラは、ステップ752で、その論理アドレスに対応するモードタグビットの状態についてアドレスマッピングテーブルをチェックする。モードタグの状態が、たとえば論理「1」などの第1状態である場合に、MBCストレージモード読取りコマンドCMDが、生成され、マルチモードフラッシュメモリデバイスに供給される。それに応答して、マルチモードフラッシュメモリデバイスは、ステップ754でコマンドをデコードし、RD_MBCコマンドを発行する。その後、ステップ756で、MBC読取りが実行される。そうでない場合には、マルチモードフラッシュメモリデバイスは、ステップ758でRD_SBCコマンドを発行し、ステップ760で、SBC読取りが実行される。読取りコマンドの特定のタイプにかかわりなく、データは、メモリアレイから読み出され、フラッシュメモリコントローラに戻って供給される。したがって、SBCストレージモードとMBCストレージモードとでプログラムされるデータの両方に、ユーザが、同一のマルチモードフラッシュメモリデバイスからアクセスすることができる。
前に述べた実施形態のすべてで、フラッシュメモリコントローラおよびマルチモードフラッシュメモリデバイスによって実行される選択的MBCプロセスまたは選択的SBCプロセスは、ユーザには透過的に行われる。SBC/MBCストレージモード動作のすべての判定が、フラッシュメモリコントローラによって行われるので、ユーザに要求される追加の命令または命令の変更はない。したがって、現在説明されているフラッシュメモリシステムをホストシステムと共に実施するために必要な最小限のオーバーヘッドがある。
したがって、マルチモードフラッシュメモリデバイスの前に説明した実施形態を、SBCストレージモードまたはMBCストレージモードでデータを選択的にプログラムするために制御することができ、両方のストレージモードでプログラムされるデータが、同時に同一のメモリアレイ内に共存するようになる。選択的プログラミングを、プログラムされるデータのタイプに基づいてユーザ制御の下で行うことができ、かつ/またはプリセットアルゴリズムを介して自動的に行うことができる。両方のタイプのストレージモードを用いてデータを格納することによって、マルチモードフラッシュメモリデバイスの寿命が、MBCストレージモードでのみデータを格納すること専用のフラッシュメモリデバイスより延ばされる。前に説明した実施形態で言及されるサブディビジョンを、メモリバンク、メモリブロック、またはページとすることができる。
上述の説明では、説明の目的から、本実施形態の完全な理解をもたらすために多数の詳細が示されている。しかし、これらの実施形態を実践するためにこれらの具体的な詳細が必要ではないことが、当業者には明白である。他の場合には、周知の電気構造および電気回路を、実施形態の諸態様を不明瞭にしないようにするために、ブロック図形式で示す。たとえば、特定の詳細は、本明細書で説明する実施形態がソフトウェアルーチン、ハードウェア回路、ファームウェア、またはその組合せとして実施されるかどうかに関しては提供されない。
上で説明した実施形態は、例示であることだけを意図されている。添付の特許請求の範囲のみによって定義される範囲から逸脱せずに、当業者が、特定の実施形態に対する代替形態、修正形態、および変形形態をもたらすことができる。
10 フラッシュメモリ
12 制御回路
14 メモリアレイ
20 バンク
22 フラッシュメモリセル
24 ストリング選択デバイス
26 ビット線
28 グラウンド選択デバイス
30 データレジスタ
100 フラッシュメモリシステム
102 ホストシステム
104 フラッシュメモリコントローラ
106 マルチモードフラッシュメモリデバイス
108 チャネル
120 フラッシュメモリシステム
122 フラッシュメモリコントローラ
124 ホストシステム
126 マルチモードフラッシュメモリデバイス
300 マルチモードフラッシュメモリデバイス
302 メモリブロック
304 ページ
306 ページ
308 ページ
310 ページ
312 ページ
314 ページ
315 ページ
316 ページ
317 ページ
318 ページ
320 ページ
322 ページ
324 ページ
350 ユーザデータフィールド
352 予備データフィールド
354 ストレージモードタグ
356 プログラム/消去サイクルカウンタ
358 SBCカウンタ
360 ロックビット
400 フラッシュメモリシステム
402 フラッシュメモリコントローラ
404 マルチモードフラッシュメモリデバイス
405 マルチモード制御回路
406 論理-物理アドレストランスレータ
408 コマンドデコーダ
410 制御論理
412 フラッシュメモリ回路網
414 メモリアレイ
416 MBCコマンドデコーダ
418 SBCコマンドデコーダ
420 共通コマンドデコーダ

Claims (5)

  1. セルあたり複数ビット(MBC)ページおよびセルあたり単一ビット(SBC)ページを有するNANDフラッシュメモリブロックからデータを読み取る方法であって、
    a)前記NANDフラッシュメモリブロックの前記MBCページまたは前記SBCページを読み取るための読取りアドレスを受け取るステップと、
    b)前記MBCページに対応するモードタグビットが第1論理状態である場合に、前記読取りアドレスでMBC読取り動作を実行するステップと、
    c)前記SBCページに対応する前記モードタグビットが第2論理状態である場合に、前記読取りアドレスでSBC読取り動作を実行するステップと
    を含む方法。
  2. NANDフラッシュメモリデバイスのサブディビジョンにデータをプログラムする方法であって、
    第1ストレージモードで前記サブディビジョンにデータをプログラムするステップと、
    前記サブディビジョンのプログラム/消去サイクルを監視するステップと、
    前記サブディビジョンのプログラム/消去サイクルが所定の限度に達した場合、第2ストレージモードに前記サブディビジョンを変換するステップと、
    を含み、
    プログラムする前記ステップは、前記サブディビジョンのプログラム/消去サイクルに対応してカウンタを増加させるステップを含み、前記カウンタは、前記NANDフラッシュメモリデバイスに格納される、方法。
  3. フラッシュメモリアレイと、
    外部プログラムコマンドに含められた情報がデコードされたとき、セルあたり複数ビット(MBC)プログラムコマンドまたはセルあたり単一ビット(SBC)プログラムコマンドのうちの1つを発行するコマンドデコーダと、
    前記MBCプログラムコマンドまたは前記SBCプログラムコマンドのいずれかに応答してプログラミングアルゴリズムを実行する制御論理回路と、
    前記プログラミングアルゴリズムに応答して、前記フラッシュメモリアレイの第1ブロック内の第1メモリセルにMBCデータを格納する、または前記フラッシュメモリアレイの第2ブロック内の第2メモリセルにSBCデータを格納する、のいずれかをするように、プログラムするフラッシュメモリ回路網と、
    を含むフラッシュメモリデバイス。
  4. セルあたり複数ビット(MBC)ストレージモードおよびセルあたり単一ビット(SBC)ストレージモードのうちの1つでフラッシュメモリシステム内でデータを選択的にプログラムする方法であって、
    a)データを受け取るステップと、
    b)前記データの高信頼性レベルまたは低信頼性レベルを判定するステップと、
    c)前記データが高信頼性であると判定される場合に、フラッシュメモリデバイスのフラッシュメモリアレイの第1ブロックに、前記データを前記SBCストレージモードでプログラムするステップと、
    d)前記データが低信頼性であると判定される場合に、前記フラッシュメモリデバイスのフラッシュメモリアレイの第2ブロックに、前記データを前記MBCストレージモードでプログラムするステップと
    を含み、
    前記フラッシュメモリシステムのフラッシュコントローラは、前記フラッシュメモリデバイスに情報を提供し、
    前記フラッシュメモリデバイスは、前記情報がデコードされたとき、MBCプログラムコマンドまたはSBCプログラムコマンドのうちの1つを発行する、方法。
  5. セルあたり複数ビット(MBC)データを格納するための第1ページを含むメモリブロックを有するNANDフラッシュメモリアレイと、
    外部プログラムコマンドに応答してセルあたり複数ビット(MBC)プログラムコマンドおよびセルあたり単一ビット(SBC)プログラムコマンドのうちの1つを発行するコマンドデコーダと、
    セルあたり複数ビット(MBC)プログラムコマンドまたはセルあたり単一ビット(SBC)プログラムコマンドのいずれかに応答してプログラミングアルゴリズムを実行する制御論理回路と、
    前記プログラミングアルゴリズムに応答して、前記NANDフラッシュメモリアレイのメモリブロック内の第2ページに、SBCデータを格納するように、プログラムするフラッシュメモリ回路網と
    を含むフラッシュメモリデバイス。
JP2013160457A 2007-02-16 2013-08-01 ダイナミックマルチモード動作を有する不揮発性メモリ Withdrawn JP2013229100A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US89025207P 2007-02-16 2007-02-16
US60/890,252 2007-02-16
US11/829,410 US7646636B2 (en) 2007-02-16 2007-07-27 Non-volatile memory with dynamic multi-mode operation
US11/829,410 2007-07-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009549749A Division JP5421127B2 (ja) 2007-02-16 2008-02-14 ダイナミックマルチモード動作を有する不揮発性メモリ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015087437A Division JP2015156251A (ja) 2007-02-16 2015-04-22 ダイナミックマルチモード動作を有する不揮発性メモリ

Publications (1)

Publication Number Publication Date
JP2013229100A true JP2013229100A (ja) 2013-11-07

Family

ID=39689589

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2009549749A Expired - Fee Related JP5421127B2 (ja) 2007-02-16 2008-02-14 ダイナミックマルチモード動作を有する不揮発性メモリ
JP2013160457A Withdrawn JP2013229100A (ja) 2007-02-16 2013-08-01 ダイナミックマルチモード動作を有する不揮発性メモリ
JP2015087437A Pending JP2015156251A (ja) 2007-02-16 2015-04-22 ダイナミックマルチモード動作を有する不揮発性メモリ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009549749A Expired - Fee Related JP5421127B2 (ja) 2007-02-16 2008-02-14 ダイナミックマルチモード動作を有する不揮発性メモリ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015087437A Pending JP2015156251A (ja) 2007-02-16 2015-04-22 ダイナミックマルチモード動作を有する不揮発性メモリ

Country Status (9)

Country Link
US (5) US7646636B2 (ja)
EP (2) EP2490224A3 (ja)
JP (3) JP5421127B2 (ja)
KR (6) KR20090081426A (ja)
CN (1) CN101617372B (ja)
CA (1) CA2675565C (ja)
ES (1) ES2477493T3 (ja)
TW (1) TWI449049B (ja)
WO (1) WO2008098363A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180111492A (ko) * 2017-03-31 2018-10-11 삼성전자주식회사 집적된 NVMe 오버 패브릭 장치용 스토리지 집적 방법

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193184A1 (en) * 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US7852654B2 (en) * 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
US7646636B2 (en) 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
KR101379820B1 (ko) * 2007-10-17 2014-04-01 삼성전자주식회사 멀티-비트 프로그래밍 장치와 메모리 데이터 검출 장치
US8001316B2 (en) * 2007-12-27 2011-08-16 Sandisk Il Ltd. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
US7949851B2 (en) * 2007-12-28 2011-05-24 Spansion Llc Translation management of logical block addresses and physical block addresses
US9477587B2 (en) * 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
US20100017649A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporation Data storage system with wear-leveling algorithm
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
KR20100010355A (ko) * 2008-07-22 2010-02-01 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법
CN101673245B (zh) 2008-09-09 2016-02-03 株式会社东芝 包括存储器管理装置的信息处理装置和存储器管理方法
US8429330B2 (en) * 2008-09-12 2013-04-23 Sandisk Technologies Inc. Method for scrambling data in which scrambling data and scrambled data are stored in corresponding non-volatile memory locations
US8145855B2 (en) 2008-09-12 2012-03-27 Sandisk Technologies Inc. Built in on-chip data scrambler for non-volatile memory
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
TWI393142B (zh) * 2008-12-29 2013-04-11 Macronix Int Co Ltd 記憶體裝置與其控制方法
US8380914B1 (en) * 2008-12-31 2013-02-19 Micron Technology, Inc. Extended address mode for serial flash memory
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
KR101760144B1 (ko) * 2009-01-05 2017-07-31 샌디스크 테크놀로지스 엘엘씨 비휘발성 메모리 및 기록 캐시를 분할하는 방법
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8370702B2 (en) * 2009-06-10 2013-02-05 Micron Technology, Inc. Error correcting codes for increased storage capacity in multilevel memory devices
US7916533B2 (en) * 2009-06-24 2011-03-29 Sandisk Corporation Forecasting program disturb in memory by detecting natural threshold voltage distribution
JP2011186555A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
CN101630266B (zh) * 2009-08-21 2013-12-18 成都市华为赛门铁克科技有限公司 固件加载方法、装置和固态硬盘
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
JP5612508B2 (ja) * 2010-03-25 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US9836370B2 (en) 2010-11-18 2017-12-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Backup memory administration using an active memory device and a backup memory device
US8737138B2 (en) * 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
WO2012069862A1 (en) * 2010-11-24 2012-05-31 Sony Ericsson Mobile Communications Ab Dynamically configurable embedded flash memory for electronic devices
US8621328B2 (en) 2011-03-04 2013-12-31 International Business Machines Corporation Wear-focusing of non-volatile memories for improved endurance
US8671240B2 (en) 2011-07-18 2014-03-11 Memory Technologies Llc User selectable balance between density and reliability
JP5971509B2 (ja) * 2011-08-30 2016-08-17 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US9117493B2 (en) * 2011-09-01 2015-08-25 Chengdu Haicun Ip Technology Llc Discrete three-dimensional memory comprising off-die address/data translator
US9024425B2 (en) * 2011-09-01 2015-05-05 HangZhou HaiCun Information Technology Co., Ltd. Three-dimensional memory comprising an integrated intermediate-circuit die
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
US8995183B2 (en) * 2012-04-23 2015-03-31 Sandisk Technologies Inc. Data retention in nonvolatile memory with multiple data storage formats
JP5536255B2 (ja) * 2012-06-04 2014-07-02 慧榮科技股▲分▼有限公司 データアクセス時間を短縮したフラッシュメモリ装置及びフラッシュメモリのデータアクセス方法
FR2993380B1 (fr) * 2012-07-10 2020-05-15 Morpho Procede pour proteger une carte a puce contre une attaque physique destinee a modifier le comportement logique d'un programme fonctionnel
KR101975406B1 (ko) * 2012-07-11 2019-05-07 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US8804452B2 (en) 2012-07-31 2014-08-12 Micron Technology, Inc. Data interleaving module
TWI486965B (zh) * 2012-10-03 2015-06-01 Pixart Imaging Inc 使用於存取裝置與控制裝置之間之一傳輸埠的通訊方法以及存取裝置
KR101906966B1 (ko) 2012-11-05 2018-12-07 삼성전자주식회사 논리 장치 및 이의 동작 방법
KR102053953B1 (ko) * 2013-02-04 2019-12-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR20140105343A (ko) * 2013-02-22 2014-09-01 삼성전자주식회사 디바이스 및 디바이스에서 복수의 모드를 이용한 데이터의 보안 방법
US9153331B2 (en) * 2013-03-13 2015-10-06 Sandisk Technologies Inc. Tracking cell erase counts of non-volatile memory
KR102039537B1 (ko) * 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
CN104103318B (zh) * 2013-04-12 2019-11-05 三星电子株式会社 操作存储控制器的方法和包括存储控制器的数据存储设备
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9513692B2 (en) * 2013-09-18 2016-12-06 Intel Corporation Heterogenous memory access
US20150120988A1 (en) * 2013-10-28 2015-04-30 Skymedi Corporation Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
US9218886B2 (en) * 2013-12-10 2015-12-22 SanDisk Technologies, Inc. String dependent parameter setup
US20150169228A1 (en) * 2013-12-12 2015-06-18 Sandisk Technologies Inc. System and method of storing data at a non-volatile memory
JP6308433B2 (ja) * 2014-05-21 2018-04-11 コニカミノルタ株式会社 画像形成装置及び制御方法並びに制御プログラム
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9645749B2 (en) * 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
JP6146675B2 (ja) * 2014-06-03 2017-06-14 コニカミノルタ株式会社 画像形成装置及びフラッシュメモリの制御方法並びに制御プログラム
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US9582202B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9582203B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US9582212B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US9158681B1 (en) 2014-09-02 2015-10-13 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9582193B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9582220B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
JP6266479B2 (ja) * 2014-09-12 2018-01-24 東芝メモリ株式会社 メモリシステム
TWI514251B (zh) * 2014-10-09 2015-12-21 Realtek Semiconductor Corp 資料配置方法與裝置
KR20160052278A (ko) 2014-11-04 2016-05-12 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR102297541B1 (ko) 2014-12-18 2021-09-06 삼성전자주식회사 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템
KR102295208B1 (ko) 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
KR102282962B1 (ko) * 2014-12-22 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10788994B1 (en) * 2014-12-30 2020-09-29 EMC IP Holding Company LLC Disaggregation of flash management
TWI544490B (zh) 2015-02-05 2016-08-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR20160108659A (ko) 2015-03-04 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치의 동작 방법 및 반도체 메모리 장치를 포함하는 메모리 시스템
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US10096355B2 (en) * 2015-09-01 2018-10-09 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US9401216B1 (en) 2015-09-22 2016-07-26 Sandisk Technologies Llc Adaptive operation of 3D NAND memory
US9691473B2 (en) 2015-09-22 2017-06-27 Sandisk Technologies Llc Adaptive operation of 3D memory
EP3262518A4 (en) 2015-09-30 2018-04-18 Hewlett-Packard Enterprise Development LP Using a memory controller to manage access to a memory based on a memory initialization state indicator
KR102424702B1 (ko) * 2015-11-19 2022-07-25 삼성전자주식회사 불휘발성 메모리 모듈 및 이를 포함하는 전자 장치
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US10007458B2 (en) * 2015-12-18 2018-06-26 Microsemi Solutions (U.S.), Inc. Method of configuring memory cells in a solid state drive based on read/write activity and controller therefor
JP6156710B2 (ja) * 2016-05-16 2017-07-05 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US10121555B2 (en) * 2016-05-26 2018-11-06 Advanced Micro Devices, Inc. Wear-limiting non-volatile memory
US10055158B2 (en) 2016-09-22 2018-08-21 Qualcomm Incorporated Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems
US9971537B1 (en) * 2016-10-26 2018-05-15 Pure Storage, Inc. Hardware support to track and transition flash LUNs into SLC mode
JP6789788B2 (ja) * 2016-12-12 2020-11-25 株式会社メガチップス メモリ装置、コントローラ、ホスト装置、データ処理システム、制御プログラム、メモリ装置の動作方法及びホスト装置の動作方法
CN109378027A (zh) * 2017-08-09 2019-02-22 光宝科技股份有限公司 固态储存装置的控制方法
DE102017221710A1 (de) * 2017-12-01 2019-06-06 Continental Automotive Gmbh Datenspeichervorrichtung für ein Kraftfahrzeug
US11288116B2 (en) * 2018-02-15 2022-03-29 Micron Technology, Inc. End of service life of data storage devices
JP7128088B2 (ja) * 2018-11-02 2022-08-30 キオクシア株式会社 メモリシステム
KR20200053965A (ko) * 2018-11-09 2020-05-19 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
JP7095568B2 (ja) * 2018-11-21 2022-07-05 Tdk株式会社 メモリコントローラ及びこれを備えるフラッシュメモリシステム
KR20200075565A (ko) * 2018-12-18 2020-06-26 에스케이하이닉스 주식회사 스마트 카 시스템
US11194473B1 (en) * 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US10817187B2 (en) 2019-01-24 2020-10-27 Western Digital Technologies, Inc. Balancing the block wearing leveling for optimum SSD endurance
CN111831591B (zh) * 2019-04-19 2022-06-07 澜起科技股份有限公司 用于对存储模块进行访问控制的装置及方法
KR20210118453A (ko) 2019-04-30 2021-09-30 양쯔 메모리 테크놀로지스 씨오., 엘티디. 플래시 메모리의 판독 레벨을 관리하는 전자 장치 및 방법
CN114303200A (zh) * 2019-05-31 2022-04-08 美光科技公司 存储器装置和用于监测存储器装置的性能的方法
US10949126B2 (en) * 2019-07-25 2021-03-16 ScaleFlux, Inc. Solid-state storage device speed performance and endurance through host-side data classification and embedded write caching
TWI714267B (zh) * 2019-09-18 2020-12-21 華邦電子股份有限公司 非揮發性記憶體及其資料寫入方法
KR20220020717A (ko) * 2020-08-12 2022-02-21 삼성전자주식회사 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
US11615839B2 (en) 2021-07-06 2023-03-28 Sandisk Technologies Llc Non-volatile memory with variable bits per memory cell
US20230053269A1 (en) * 2021-08-16 2023-02-16 Sandisk Technologies Llc Memory device with improved endurance
US20230410923A1 (en) * 2022-06-21 2023-12-21 Sandisk Technologies Llc Hybrid precharge select scheme to save program icc
US20230420042A1 (en) * 2022-06-23 2023-12-28 Sandisk Technologies Llc Memory device with unique read and/or programming parameters

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288896A (ja) * 1996-04-19 1997-11-04 Toshiba Corp 記憶システム
JPH11224491A (ja) * 1997-12-03 1999-08-17 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
JP2005108303A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US20070025151A1 (en) * 2005-07-28 2007-02-01 Jin-Yub Lee Flash memory device capable of storing multi-bit data and single-bit data

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163021A (en) 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
KR950000273B1 (ko) 1992-02-21 1995-01-12 삼성전자 주식회사 불휘발성 반도체 메모리장치 및 그 최적화 기입방법
KR960000616B1 (ko) 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5367484A (en) * 1993-04-01 1994-11-22 Microchip Technology Incorporated Programmable high endurance block for EEPROM device
EP0763241B1 (en) 1994-06-02 2001-10-17 Intel Corporation Dynamic single to multiple bit per cell memory
US5822256A (en) 1994-09-06 1998-10-13 Intel Corporation Method and circuitry for usage of partially functional nonvolatile memory
KR0142367B1 (ko) 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5671388A (en) 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
KR100272037B1 (ko) 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JPH11176178A (ja) * 1997-12-15 1999-07-02 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
US6118705A (en) 1998-03-13 2000-09-12 Atmel Corporation Page mode erase in a flash memory array
US6359810B1 (en) 1998-03-13 2002-03-19 Atmel Corporation Page mode erase in a flash memory array
KR100343449B1 (ko) 1999-10-19 2002-07-11 박종섭 플레시 메모리 회로 및 시스템
US7082056B2 (en) 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
JP4282197B2 (ja) 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
JP2003022687A (ja) * 2001-07-09 2003-01-24 Mitsubishi Electric Corp 半導体記憶装置
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6717847B2 (en) 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6643169B2 (en) * 2001-09-18 2003-11-04 Intel Corporation Variable level memory
US6807106B2 (en) 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
JP4270832B2 (ja) 2002-09-26 2009-06-03 株式会社東芝 不揮発性半導体メモリ
US6847550B2 (en) 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
US7716413B2 (en) * 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
US8019928B2 (en) 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
US7336531B2 (en) * 2004-06-25 2008-02-26 Micron Technology, Inc. Multiple level cell memory device with single bit per cell, re-mappable memory block
KR100705221B1 (ko) 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
JP2008020937A (ja) * 2004-10-29 2008-01-31 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
JP2006164408A (ja) 2004-12-08 2006-06-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ消去方法。
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
SG130988A1 (en) * 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
US7366013B2 (en) * 2005-12-09 2008-04-29 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
TWI311327B (en) * 2006-01-26 2009-06-21 Nuvoton Technology Corporatio Method for page random write and read in the block of flash memory
JP4805696B2 (ja) * 2006-03-09 2011-11-02 株式会社東芝 半導体集積回路装置およびそのデータ記録方式
US7593259B2 (en) 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
KR100809320B1 (ko) 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
KR100773400B1 (ko) 2006-10-26 2007-11-05 삼성전자주식회사 멀티 비트 플래시 메모리 장치
US7852654B2 (en) * 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US8825939B2 (en) 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) * 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288896A (ja) * 1996-04-19 1997-11-04 Toshiba Corp 記憶システム
JPH11224491A (ja) * 1997-12-03 1999-08-17 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
JP2005108303A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US20070025151A1 (en) * 2005-07-28 2007-02-01 Jin-Yub Lee Flash memory device capable of storing multi-bit data and single-bit data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180111492A (ko) * 2017-03-31 2018-10-11 삼성전자주식회사 집적된 NVMe 오버 패브릭 장치용 스토리지 집적 방법
KR102506394B1 (ko) * 2017-03-31 2023-03-06 삼성전자주식회사 집적된 NVMe 오버 패브릭 장치용 스토리지 집적 방법

Also Published As

Publication number Publication date
US20140010019A1 (en) 2014-01-09
ES2477493T3 (es) 2014-07-17
KR20130098439A (ko) 2013-09-04
CN101617372A (zh) 2009-12-30
KR20090081426A (ko) 2009-07-28
US8553457B2 (en) 2013-10-08
EP2126923B1 (en) 2014-04-09
KR20140146229A (ko) 2014-12-24
CN101617372B (zh) 2014-03-26
US7646636B2 (en) 2010-01-12
KR20140013079A (ko) 2014-02-04
KR20160043121A (ko) 2016-04-20
WO2008098363A1 (en) 2008-08-21
US8391064B2 (en) 2013-03-05
JP5421127B2 (ja) 2014-02-19
KR20090077840A (ko) 2009-07-15
KR100938334B1 (ko) 2010-01-22
CA2675565C (en) 2014-12-09
US20080198651A1 (en) 2008-08-21
EP2490224A2 (en) 2012-08-22
US20100174854A1 (en) 2010-07-08
TWI449049B (zh) 2014-08-11
JP2010518546A (ja) 2010-05-27
US20120023285A1 (en) 2012-01-26
WO2008098363A8 (en) 2008-11-06
US8045377B2 (en) 2011-10-25
US8767461B2 (en) 2014-07-01
EP2126923A4 (en) 2010-03-17
EP2490224A3 (en) 2013-08-21
CA2675565A1 (en) 2008-08-21
TW200845016A (en) 2008-11-16
JP2015156251A (ja) 2015-08-27
US20130141973A1 (en) 2013-06-06
EP2126923A1 (en) 2009-12-02

Similar Documents

Publication Publication Date Title
JP5421127B2 (ja) ダイナミックマルチモード動作を有する不揮発性メモリ
US11150808B2 (en) Flash memory system
US7463520B2 (en) Memory device with variable trim settings
US7336531B2 (en) Multiple level cell memory device with single bit per cell, re-mappable memory block
TW202414396A (zh) 記憶體控制電路單元、記憶體儲存裝置及時脈訊號控制方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140620

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150106

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150122

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150226

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20150422