図面 (/)

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

出願人 コンバーサント・インテレクチュアル・プロパティ・マネジメント・インコーポレイテッド
発明者 ジン-キ・キム
出願日 2008年2月14日 (12年9ヶ月経過) 出願番号 2009-549749
公開日 2010年5月27日 (10年6ヶ月経過) 公開番号 2010-518546
状態 特許登録済
技術分野 記憶装置の信頼性向上技術 メモリシステム リードオンリーメモリ
主要キーワード 制御回路網 論理回路網 低信頼性 アイドル期間中 オペレーティングシステムプラットフォーム 消費者電子製品 標準動作 マルチモ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2010年5月27日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題・解決手段

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

概要

背景

フラッシュメモリは、たとえばディジタルカメラおよびポータブルディジタル音楽プレイヤなどの消費者電子製品用のマスストレージとして幅広く使用されている、一般に使用されるタイプの不揮発性メモリである。広く入手可能なフラッシュメモリチップ密度は、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サイクル寿命に起因して、適切ではない。

概要

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

目的

MBCストレージモード(セルあたり2ビット以上)でデータを格納することの利益は、同一個数のセルを使用する時に、SBCストレージに対してストレージ容量を少なくとも2倍にすることである

効果

実績

技術文献被引用数
5件
牽制数
4件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

メモリアレイを有するフラッシュメモリデバイスであって、外部プログラムコマンドに応答してセルあたり複数ビット(MBC)プログラムコマンドおよびセルあたり単一ビット(SBC)プログラムコマンドのうちの1つを発行するコマンドデコーダと、セルあたり複数ビットプログラムコマンドまたはセルあたり単一ビットプログラムコマンドのいずれかに応答してプログラミングアルゴリズムを実行する制御論理回路と、前記プログラミングアルゴリズムに応答して前記メモリアレイのメモリセルプログラムするフラッシュメモリ回路網とを含むフラッシュメモリデバイス。

請求項2

前記コマンドデコーダは、前記SBCプログラムコマンドを発行するSBCコマンドデコーダと、前記MBCプログラムコマンドを発行するMBCコマンドデコーダとを含む、請求項1に記載のフラッシュメモリデバイス。

請求項3

前記メモリアレイは、前記MBCプログラムコマンドに応答してMBCストレージモードでデータを格納するように構成された第1サブディビジョンと、前記SBCプログラムコマンドに応答してSBCストレージモードでデータを格納するように構成された第2サブディビジョンとを含む、請求項1に記載のフラッシュメモリデバイス。

請求項4

前記第1サブディビジョンおよび前記第2サブディビジョンは、メモリブロックを含む、請求項3に記載のフラッシュメモリデバイス。

請求項5

前記第1サブディビジョンおよび前記第2サブディビジョンは、メモリページを含む、請求項3に記載のフラッシュメモリデバイス。

請求項6

各サブディビジョンは、前記MBCストレージモードまたは前記SBCストレージモードを指定するモードタグに関連する、請求項3に記載のフラッシュメモリデバイス。

請求項7

各サブディビジョンは、前記メモリアレイ内のメモリページである、請求項6に記載のフラッシュメモリデバイス。

請求項8

フラッシュメモリデバイスにデータを格納する方法であって、a)前記フラッシュメモリデバイスのサブディビジョンを第1ストレージモードから第2ストレージモードに変換するステップであって、前記サブディビジョンが、前記第1ストレージモードおよび前記第2ストレージモードのいずれかを示す対応するモードタグを有する、変換するステップと、b)前記サブディビジョンおよび代替サブディビジョンのうちの1つに前記データをプログラムするステップとを含む方法。

請求項9

前記第1ストレージモードは、セルあたり複数ビット(MBC)ストレージモードであり、前記第2ストレージモードが、セルあたり単一ビット(SBC)ストレージモードである、請求項8に記載の方法。

請求項10

変換する前記ステップは、所定の判断基準に応答して実行される、請求項9に記載の方法。

請求項11

前記所定の判断基準は、MBCプログラム/消去限度である、請求項10に記載の方法。

請求項12

変換する前記ステップは、前記サブディビジョンに対応するプログラム/消去カウンタを前記MBCプログラム/消去限度と比較するステップを含む、請求項11に記載の方法。

請求項13

プログラムする前記ステップは、前記プログラム/消去カウンタが前記所定のMBCプログラム/消去限度未満である場合に前記サブディビジョンに前記データをプログラムするステップと、前記プログラム/消去カウンタが少なくとも前記所定のMBCプログラム/消去限度である場合に前記代替サブディビジョンに前記データをプログラムするステップとを含む、請求項12に記載の方法。

請求項14

プログラムする前記ステップは、前記データが前記代替サブディビジョンにプログラムされる場合に前記サブディビジョンを消去するステップをさらに含む、請求項13に記載の方法。

請求項15

プログラムする前記ステップは、前記サブディビジョンに対応する前記モードタグを、前記第2ストレージモードを示す状態にセットするステップをさらに含む、請求項13に記載の方法。

請求項16

プログラムする前記ステップは、前記プログラム/消去カウンタをリセットするステップをさらに含む、請求項13に記載の方法。

請求項17

前記所定の判断基準は、前記データの特定のプロファイルである、請求項10に記載の方法。

請求項18

前記データの前記特定のプロファイルは、データファイルタイプのセットを含む、請求項17に記載の方法。

請求項19

プログラムする前記ステップは、前記データが前記特定のプロファイルと一致するプロファイルを有する場合に前記サブディビジョンに前記データをプログラムするステップと、前記プロファイルが前記特定のプロファイルと一致しない場合に前記代替サブディビジョンに前記データをプログラムするステップとを含む、請求項18に記載の方法。

請求項20

前記サブディビジョンは、ブロックを含み、前記ブロックが、所定の個数ページを含む、請求項8に記載の方法。

請求項21

前記サブディビジョンは、ページを含み、所定の個数の前記ページが、1つのブロックに含まれる、請求項8に記載の方法。

請求項22

前記第1ストレージモードは、セルあたり単一ビット(SBC)ストレージモードであり、前記第2ストレージモードは、セルあたり複数ビット(MBC)ストレージモードである、請求項8に記載の方法。

請求項23

変換する前記ステップは、前記サブディビジョンに対応するSBCプログラム/消去カウンタを再利用限度と比較するステップと、前記プログラム/消去カウンタが前記再利用限度未満である場合に前記サブディビジョンに対応するロックビットの状態をチェックするステップとを含む、請求項22に記載の方法。

請求項24

変換する前記ステップは、前記ロックビットの前記状態がである場合に、前記サブディビジョンに対応するモードタグの状態を変更するステップをさらに含む、請求項23に記載の方法。

請求項25

変換する前記ステップは、前記モードタグの前記状態が変更された後に前記ロックビットを真にセットするステップをさらに含む、請求項24に記載の方法。

請求項26

セルあたり単一ビット(SBC)ストレージモードでSBCデータを格納し、セルあたり複数ビット(MBC)ストレージモードでMBCデータを格納するフラッシュメモリセルを有するメモリアレイを含む、マルチモードフラッシュメモリデバイス

請求項27

前記メモリアレイの第1ブロックは、SBCデータを格納し、前記メモリの第2ブロックは、MBCデータを格納する、請求項26に記載のマルチモードフラッシュメモリデバイス。

請求項28

前記メモリアレイのブロック内の第1ページは、SBCデータを格納し、前記メモリアレイの前記ブロック内の第2ページは、MBCデータを格納する、請求項26に記載のマルチモードフラッシュメモリデバイス。

請求項29

前記第1ページおよび前記第2ページは、それぞれモードタグを格納し、前記モードタグは、SBCデータまたはMBCデータの存在を示す論理状態を有する、請求項28に記載のマルチモードフラッシュメモリデバイス。

請求項30

セルあたり複数ビット(MBC)ストレージモードおよびセルあたり単一ビット(SBC)ストレージモードのうちの1つでフラッシュメモリシステム内でデータを選択的にプログラムする方法であって、a)データを受け取るステップと、b)前記データの高信頼性ベルまたは低信頼性レベルを判定するステップと、c)前記データが高信頼性であると判定される場合に前記データを前記SBCストレージモードでプログラムするステップと、d)前記データが低信頼性であると判定される場合に前記データを前記MBCストレージモードでプログラムするステップとを含む方法。

請求項31

前記データを前記SBCストレージモードでプログラムする前記ステップは、前記データをフラッシュメモリデバイスのメモリアレイ内の選択されたSBCページにプログラムするステップと、前記選択されたSBCページのそれぞれに対応するモードタグを第1状態にセットするステップとを含む、請求項30に記載のデータを選択的にプログラムする方法。

請求項32

前記データを前記MBCストレージモードでプログラムする前記ステップは、前記データを前記フラッシュメモリデバイスの前記メモリアレイ内の選択されたMBCページにプログラムするステップと、前記選択されたMBCページのそれぞれに対応する前記モードタグを第2状態にセットするステップとを含む、請求項31に記載のデータを選択的にプログラムする方法。

請求項33

セルあたり複数ビット(MBC)ページおよびセルあたり単一ビット(SBC)ページを有するフラッシュメモリシステムからデータを読み取る方法であって、a)フラッシュメモリアレイの少なくとも1つのページを読み取るための読取りアドレスを受け取るステップと、b)前記少なくとも1つのページに対応するモードタグが第1論理状態である場合に、前記読取りアドレスでMBC読取り動作を実行するステップと、c)前記少なくとも1つのページに対応する前記モードタグが第2論理状態である場合に、前記読取りアドレスでSBC読取り動作を実行するステップとを含む方法。

請求項34

前記読取りアドレスを受け取る前に、前記フラッシュメモリアレイの各ページに対応するモードタグを用いてアドレスマッピングテーブル初期化するステップを含む、請求項33に記載のデータを読み取る方法。

請求項35

初期化する前記ステップは、前記フラッシュメモリアレイをパワーアップするステップと、前記フラッシュメモリアレイの各ページに格納された前記モードタグを読み取るステップと、前記フラッシュメモリアレイの各ページに対応する論理アドレスエントリと共に前記モードタグを格納するステップとを含む、請求項34に記載のデータを読み取る方法。

請求項36

前記モードタグを読み取る前記ステップは、前記フラッシュメモリアレイの各ページ内の前記モードタグを読み取るためにSBC読取り動作を実行するステップを含む、請求項35に記載のデータを読み取る方法。

請求項37

受け取る前記ステップは、フラッシュコントローラからフラッシュメモリデバイスに外部読取りコマンドを発行するステップを含み、前記外部読取りコマンドは、前記読取りアドレスと、前記読取りアドレスに対応する前記モードタグの前記論理状態とに応答して生成される、請求項33に記載のデータを読み取る方法。

請求項38

MBC読取り動作を実行するステップは、前記フラッシュメモリデバイス内で前記外部読取りコマンドをデコードするステップと、内部MBC読取りコマンドおよび内部SBC読取りコマンドのうちの1つを発行するステップとを含む、請求項37に記載のデータを読み取る方法。

技術分野

0001

本発明は、ダイナミックマルチモード動作を有する不揮発性メモリに関するものである。

背景技術

0002

フラッシュメモリは、たとえばディジタルカメラおよびポータブルディジタル音楽プレイヤなどの消費者電子製品用のマスストレージとして幅広く使用されている、一般に使用されるタイプの不揮発性メモリである。広く入手可能なフラッシュメモリチップ密度は、1つのフラッシュチップのサイズが小さいので、人気のあるUSBフラッシュドライブでの使用に適した(現時点で)最大4GBとすることができる。

0003

8メガピクセルディジタルカメラならびに音楽機能およびビデオ機能を有するポータブルディジタルエンターテイメントデバイス出現は、単一のフラッシュメモリデバイスによって満足することのできない大量のデータを格納するための超大容量の需要を駆り立てた。したがって、複数のフラッシュメモリデバイスが、使用可能なストレージ容量を効果的に増やすためにメモリシステム一緒に組み合わされる。たとえば、20GBのフラッシュストレージ密度が、そのような応用例に必要である場合がある。より高密度のシステムを、ハードディスクドライブ(HDD)応用例のために実現することができる。

0004

図1は、従来技術の通常のフラッシュメモリの全般的ブロック図である。フラッシュメモリ10は、フラッシュ回路のさまざまな機能を制御する制御回路12などの論理回路網と、アドレス情報データ情報、およびコマンドデータ情報を格納するレジスタと、必要なプログラム電圧および消去電圧を生成する高電圧回路と、メモリアレイ14にアクセスするコアメモリ回路とを含む。制御回路12は、コマンドデコーダと、読取り機能プログラム機能、および消去機能などの内部フラッシュ動作を実行する論理とを含む。フラッシュメモリ10の図示の回路ブロックの機能は、当技術分野で周知である。当業者は、図1に示されたフラッシュメモリ10が、多数の可能な構成の中の1つの可能なフラッシュメモリ構成を表すことを理解することができる。

0005

図1のフラッシュメモリ10のメモリセルアレイ14は、任意の個数バンクからなり、この個数は、特定のフラッシュデバイスのために選択される設計パラメータである。図2は、図1のメモリセルアレイ14の1つのバンク20の編成を示す概略図である。バンク20は、k+1個のブロックに編成され、各ブロックは、i+1個のページからなる。kとiとの両方が、整数値である。各ページは、共通のワード線に結合されたメモリセルの行に対応する。ブロックのメモリセルの詳細な説明を続ける。

0006

各ブロックは、直列に配置され、互いに電気的に結合されたi+1個までのフラッシュメモリセル22を有するNANDメモリセルストリングからなる。したがって、ワード線WL0からWLiまでは、メモリセルストリング内の各フラッシュメモリセルのゲートに結合される。信号SSL(ストリング選択線)に結合されたストリング選択デバイス24は、メモリセルストリングをビット線26に選択的に接続し、信号GSL(グラウンド選択線)に結合されたグラウンド選択デバイス28は、メモリセルストリングをVSSなどのソース線に選択的に接続する。ストリング選択デバイス24およびグラウンド選択デバイス28は、n-チャネルトランジスタである。

0007

バンク20のすべてのブロックに共通するj+1個のビット線26があり、各ビット線26は、ブロック[0]から[k]までのそれぞれの1つのNANDメモリセルストリングに結合される。変数jは、整数値である。各ワード線(WL0からWLiまで)、SSL、およびGSL信号は、ブロック内の各NANDメモリセルストリング内の同一の対応するトランジスタデバイスに結合される。当業者が知っているとおり、あるワード線に沿ったフラッシュメモリセルに格納されるデータを、データのページと称する。

0008

バンク20の外の各ビット線に結合されるのが、フラッシュメモリセルの1ページにプログラムされる書込みデータの1ページを格納するデータレジスタ30である。データレジスタ30は、フラッシュメモリセルの1ページから読み取られるデータをセンスするセンス回路をも含む。プログラミング動作中に、データレジスタは、データが選択されたワード線に結合されたフラッシュメモリセルに正しくプログラムされたことを保証するためにプログラム検証動作を実行する。あるブロック内のプログラミングは、通常、WL0に対応するページで始まり、現在のブロックを充てんするためにWLiまでシーケンシャルに進行する。代替案では、プログラミングが、WLiで始まり、WL0までシーケンシャルに進むことができる。次に、プログラミングは、新しいブロックのWL0に継続する。1つのデバイス内では、ブロックが、通常は順番にプログラムされる。

0009

フラッシュメモリ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との読取り動作およびプログラム動作の間で異なって制御されるからである。

0010

図3に、SBCストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す。プロセス変動および電圧供給変動に起因して、消去しきい電圧およびプログラムしきい電圧は、ある電圧範囲の中に分布する。図3に示されているように、消去されるメモリセルは、-3Vと-1Vとの間の負のしきい電圧を有し、プログラムされるメモリセルは、1Vと3Vとの間の正のしきい電圧を有する。この範囲は、メモリセルの所望のしきい電圧に依存する。しきい電圧範囲は、特定のフラッシュメモリデバイス内で使用できる可能なしきい電圧の例示であるが、当業者は、消去されるメモリセルおよびプログラムされるメモリセルについて使用するためのしきい電圧の選択が、フラッシュメモリデバイスの設計および製造プロセスに依存することを理解することができる。当業者は、異なるフラッシュデバイスが、特定の設計または応用に適するために異なるしきい電圧範囲を有することを理解することができる。

0011

図4に、MBCストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す。消去されるメモリセルは、負のしきい電圧を有し、それぞれが異なる状態に対応する、メモリセルが格納する正のしきい電圧の3つの範囲がある。好ましくは、各状態のしきい電圧の最小範囲および最大範囲が最小化されると同時に、範囲の間の間隔が最大化されなければならない。

0012

フラッシュメモリデバイスが、もはや信頼性のある形でデータを格納するのに使用できなくなる前に、限られた回数の消去-プログラムサイクルを有することが、周知である。より具体的には、フラッシュメモリセルは、プログラム/消去サイクルウェアリングの対象であり、このウェアリングは、累積的なプログラム動作および消去動作に起因するフラッシュメモリセルの徐々の劣化である。メモリブロックが、データを用いてプログラムされる前にまず必ず消去され、したがって、このサイクルを、プログラムサイクルと消去サイクルとの両方と称することができることに留意されたい。すべての現在既知のフラッシュメモリが、ブロック消去のために構成され、これは、ブロック内のデータの1ページだけが変更される場合であっても、そのページを含むブロック全体が消去され、変更されたページおよび変更されないページを用いて再プログラムされることを意味することが、当業者の理解である。そのような累積的なプログラム動作および消去動作の影響は、最適パラメータを超えるメモリセルのプログラム特性および消去特性の変更である。メモリセルが劣化する時に、所望のしきい電圧に対するより高いプログラム電圧および消去電圧が、メモリセルのプログラムまたは消去に必要である。結果的に、メモリセルは、データ(すなわち、所望のしきい電圧)を正しく保持することができなくなる。たとえば、現在のSBCフラッシュメモリの通常の定格消去-プログラムサイクルは約100000サイクルである。しかし、現在のMBCフラッシュメモリは、より少ない定格限界10000サイクルを有する。上で述べた消去-プログラムサイクル限度は、例にすぎないが、MBC消去-プログラムサイクルが、SBC消去-プログラムサイクルよりかなりの倍率だけ少ないことは、よく理解されている。

0013

現在、入手可能なほとんどのフラッシュメモリは、そのチップサイズに対する相対的な大きいストレージ密度に起因して、MBCタイプを有する。これは、ほとんどの消費者応用例に適切であるが、10000サイクルプログラム-消去限度は、データプログラミングおよび消去が頻繁である他の応用例には不十分である可能性がある。したがって、MBCフラッシュメモリが、その10000サイクル寿命に達した時に、そのメモリは、もはや使用可能ではなく、破棄されなければならない。この問題は、より頻繁なプログラム-消去サイクルがある、HDD応用例などの商用応用例についてよりクリティカルである。HDD応用例は、ほとんどの消費者応用例より高いデータ完全性を必要とするので、MBCフラッシュメモリは、その相対的に短い10000サイクル寿命に起因して、適切ではない。

先行技術

0014

米国特許出願第11/354,023号明細書
米国特許出願第11/496,278号明細書

発明が解決しようとする課題

0015

したがって、消費者応用例と商業応用例との両方に適する、延ばされた寿命を有するフラッシュメモリおよびフラッシュメモリシステムを提供することが望ましい。

課題を解決するための手段

0016

以前のフラッシュメモリシステムの少なくとも1つの不利益事前に除去し、または軽減することが、本実施形態の一態様である。

0017

第1の態様では、メモリアレイを有するフラッシュメモリデバイスが提供される。このフラッシュメモリデバイスは、コマンドデコーダと、制御論理回路と、メモリセルをプログラムするためのフラッシュメモリ回路網とを含む。コマンドデコーダは、外部プログラムコマンドに応答してセルあたり複数ビット(MBC)プログラムコマンドおよびセルあたり単一ビット(SBC)プログラムコマンドのうちの1つを発行する。制御論理回路は、セルあたり複数ビットプログラムコマンドまたはセルあたり単一ビットプログラムコマンドのいずれかに応答してプログラミングアルゴリズムを実行する。フラッシュメモリ回路網は、プログラミングアルゴリズムに応答してメモリアレイのメモリセルをプログラムする。本態様の実施形態によれば、コマンドデコーダは、SBCプログラムコマンドを発行するSBCコマンドデコーダと、MBCプログラムコマンドを発行するMBCコマンドデコーダとを含む。

0018

本態様のもう1つの実施形態では、メモリアレイは、MBCプログラムコマンドに応答してMBCストレージモードでデータを格納するように構成された第1サブディビジョンと、SBCプログラムコマンドに応答してSBCストレージモードでデータを格納するように構成された第2サブディビジョンとを含む。第1サブディビジョンおよび第2サブディビジョンは、メモリブロックまたはメモリページを含むことができる。各サブディビジョンは、MBCストレージモードまたはSBCストレージモードを指定するためのモードタグに関連し、各サブディビジョンは、メモリアレイ内の1つのメモリページである。

0019

第2の態様では、フラッシュメモリデバイスにデータを格納する方法が提供される。この方法は、フラッシュメモリデバイスのサブディビジョンを第1ストレージモードから第2ストレージモードに変換するステップであって、そのサブディビジョンが、第1ストレージモードおよび第2ストレージモードのいずれかを示す対応するモードタグを有する、変換するステップと、サブディビジョンおよび代替サブディビジョンのうちの1つにデータをプログラムするステップとを含む。本態様の実施形態によれば、第1ストレージモードは、セルあたり複数ビット(MBC)ストレージモードであり、第2ストレージモードは、セルあたり単一ビット(SBC)ストレージモードであり、変換するステップは、所定の判断基準に応答して実行される。所定の判断基準は、MBCプログラム/消去限度であり、変換するステップは、サブディビジョンに対応するプログラム/消去カウンタをMBCプログラム/消去限度と比較するステップを含む。プログラムするステップは、プログラム/消去カウンタが所定のMBCプログラム/消去限度未満である場合にサブディビジョンにデータをプログラムするステップと、プログラム/消去カウンタが少なくとも所定のMBCプログラム/消去限度である場合に代替サブディビジョンにデータをプログラムするステップとを含む。プログラムするステップは、データが代替サブディビジョンにプログラムされる場合にサブディビジョンを消去するステップ、サブディビジョンに対応するモードタグを、第2ストレージモードを示す状態にセットするステップ、またはプログラム/消去カウンタをリセットするステップを含むことができる。

0020

本態様のもう1つの実施形態では、所定の判断基準は、データの特定のプロファイルであり、データの特定のプロファイルは、データファイルタイプのセットを含む。プログラムするステップは、データが特定のプロファイルと一致するプロファイルを有する場合にサブディビジョンにデータをプログラムするステップと、プロファイルが特定のプロファイルと一致しない場合に代替サブディビジョンにデータをプログラムするステップとを含む。さらなる実施形態では、サブディビジョンは、ブロックを含み、ブロックは、所定の個数のページを含み、あるいは、サブディビジョンは、ページを含み、所定の個数のページが、1つのブロックに含まれる。もう1つの実施形態では、第1ストレージモードは、セルあたり単一ビット(SBC)ストレージモードであり、第2ストレージモードは、セルあたり複数ビット(MBC)ストレージモードであり、変換するステップは、サブディビジョンに対応するSBCプログラム/消去カウンタを再利用限度と比較するステップと、プログラム/消去カウンタが再利用限度未満である場合にサブディビジョンに対応するロックビットの状態をチェックするステップとを含む。変換するステップは、ロックビットの状態がである場合に、サブディビジョンに対応するモードタグの状態を変更するステップをさらに含む。変換するステップは、モードタグビットの状態が変更された後にロックビットを真にセットするステップをさらに含む。

0021

第3の態様では、マルチモードフラッシュメモリデバイスが提供される。このマルチモードフラッシュメモリデバイスは、セルあたり単一ビット(SBC)ストレージモードでSBCデータを格納し、セルあたり複数ビット(MBC)ストレージモードでMBCデータを格納するフラッシュメモリセルを有するメモリアレイを含む。本態様の実施形態によれば、メモリアレイの第1ブロックは、SBCデータを格納し、メモリの第2ブロックは、MBCデータを格納し、メモリアレイのブロック内の第1ページは、SBCデータを格納し、メモリアレイのブロック内の第2ページは、MBCデータを格納し、第1ページおよび第2ページは、それぞれモードタグを格納し、モードタグは、SBCデータまたはMBCデータの存在を示す論理状態を有する。

0022

第4の態様では、セルあたり複数ビット(MBC)ストレージモードおよびセルあたり単一ビット(SBC)ストレージモードのうちの1つでフラッシュメモリシステム内でデータを選択的にプログラムする方法が提供される。この方法は、データを受け取るステップと、データの高信頼性ベルまたは低信頼性レベルを判定するステップと、データが高信頼性であると判定される場合にデータをSBCストレージモードでプログラムするステップと、データが低信頼性であると判定される場合にデータをMBCストレージモードでプログラムするステップとを含む。本態様の実施形態では、データをSBCストレージモードでプログラムするステップは、データをフラッシュメモリデバイスのメモリアレイ内の選択されたSBCページにプログラムするステップと、選択されたSBCページのそれぞれに対応するモードタグを第1状態にセットするステップとを含む。さらに、データをMBCストレージモードでプログラムするステップは、データをフラッシュメモリデバイスのメモリアレイ内の選択されたMBCページにプログラムするステップと、選択されたMBCページのそれぞれに対応するモードタグを第2状態にセットするステップとを含む。

0023

第5の態様では、セルあたり複数ビット(MBC)ページおよびセルあたり単一ビット(SBC)ページを有するフラッシュメモリシステムからデータを読み取る方法が提供される。この方法は、フラッシュメモリアレイの少なくとも1つのページを読み取るための読取りアドレスを受け取るステップと、少なくとも1つのページに対応するモードタグが第1論理状態である場合に、読取りアドレスでMBC読取り動作を実行するステップと、少なくとも1つのページに対応するモードタグが第2論理状態である場合に、読取りアドレスでSBC読取り動作を実行するステップとを含む。この方法は、読取りアドレスを受け取る前に、フラッシュメモリアレイの各ページに対応するモードタグを用いてアドレスマッピングテーブル初期化するステップを含む。本態様の実施形態では、初期化するステップは、フラッシュメモリアレイをパワーアップするステップと、フラッシュメモリアレイの各ページに格納されたモードタグを読み取るステップと、フラッシュメモリアレイの各ページに対応する論理アドレスエントリと共にモードタグを格納するステップとを含む。モードタグを読み取るステップは、フラッシュメモリアレイの各ページ内のモードタグを読み取るためにSBC読取り動作を実行するステップを含む。もう1つの実施形態では、受け取るステップは、フラッシュコントローラからフラッシュメモリデバイスに外部読取りコマンドを発行するステップを含み、外部読取りコマンドは、読取りアドレスと、その読取りアドレスに対応するモードタグビットの論理状態とに応答して生成される。MBC読取り動作を実行するステップは、フラッシュメモリデバイス内で外部読取りコマンドをデコードするステップと、内部MBC読取りコマンドおよび内部SBC読取りコマンドのうちの1つを発行するステップとを含む。

0024

説明される実施形態の他の特徴および態様は、添付図面と共に本発明の特定の実施形態の次の説明を再検討すれば、当業者に明白になる。

0025

実施形態を、一例として、添付図面を参照して説明する。

図面の簡単な説明

0026

従来技術のフラッシュメモリデバイスを示すブロック図である。
図1のフラッシュメモリデバイスの1つのメモリバンクの編成を示す概略図である。
セルあたり単一ビットストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す図である。
セルあたり複数ビットストレージモードでの消去されるメモリセルおよびプログラムされるメモリセルのしきい電圧(Vt)分布グラフを示す図である。
マルチドロップフラッシュメモリシステムを示すブロック図である。
直列構成されたフラッシュメモリシステムを示すブロック図である。
マルチモードフラッシュメモリデバイスの寿命を延ばす方法を示す流れ図である。
MBCストレージモードとSBCストレージモードとの間で変換されるメモリブロックを示す図である。
MBCストレージモードとSBCストレージモードとの間で変換されるページを示す図である。
メモリアレイの1ページに関する割り振られるフィールドを示す概略図である。
1つのマルチモードフラッシュメモリデバイスを含むフラッシュメモリシステムを示すブロック図である。
図10のフラッシュメモリシステムを動作させる方法を示す流れ図である。
モードタグ情報を用いてアドレスマッピングテーブルを初期化する方法を示す流れ図である。
マルチモードフラッシュメモリデバイスの寿命を延ばす方法を示す流れ図である。
MBCおよびSBCのストレージモードデータのユーザ選択可能なプログラミングの方法を示す流れ図である。
MBCストレージモードサブディビジョンをSBCストレージモードサブディビジョンに自動的に変換する方法を示す流れ図である。
SBCストレージモードサブディビジョンを再利用する方法を示す流れ図である。
マルチモードフラッシュメモリデバイスからデータを読み取る方法を示す流れ図である。

実施例

0027

一般に、少なくともいくつかの例の実施形態は、フラッシュメモリデバイスの寿命を延ばす方法およびシステムを提供する。フラッシュメモリデバイスは、セルあたり単一ビット(SBC)ストレージモードまたはセルあたり複数ビット(MBC)ストレージモードでデータを格納するように動的に構成可能であり、SBCデータとMBCデータとの両方が同一のメモリアレイ内に共存するようになっている。そのようなメモリデバイスを、マルチモードフラッシュメモリデバイスと称する。メモリの各ページに格納される1つまたは複数のタグビットが、対応するメモリブロック内にデータを格納するのに使用されるストレージモードのタイプを示すのに使用される。コントローラが、マルチモードフラッシュメモリデバイスの寿命を最大にするために、ストレージモードを選択的に変更するために各ページに対応するプログラム-消去サイクルの回数を監視する。

0028

現在説明される実施形態は、図1に示されたものなどの単一のMBCフラッシュメモリデバイスならびに図5および6に示されたものなどのMBCフラッシュメモリデバイスのシステムに適用可能である。

0029

図5は、ホストシステム102に一体化されたフラッシュメモリシステム100のブロック図である。フラッシュメモリシステム100は、ホストシステム102と通信するフラッシュメモリコントローラ104と、複数のマルチモードフラッシュメモリデバイス106とを含む。ホストシステム102は、マイクロコントローラマイクロプロセッサ、またはコンピュータシステムなどの処理デバイスを含む。図5のフラッシュメモリシステム100は、1つのチャネル108を含むように構成されるが、マルチモードフラッシュメモリデバイス106は、チャネル108に並列に結合される。当業者は、メモリシステム100が、より多数またはより少数のメモリデバイスをそれに結合され得ることを理解することができる。

0030

チャネル108は、1組の共通バス(図示せず)を含み、この共通バスは、すべてのメモリデバイス106に結合されるデータ線および制御線を含む。図示されていないが、各メモリデバイスは、フラッシュメモリコントローラ104によって供給されるめいめいのチップ選択信号を用いてイネーブル/ディスエーブルされる。フラッシュメモリコントローラ104は、ホストシステム102の動作に基づいて、選択されたメモリデバイス106にチャネル108を介してコマンドおよびデータを発行する責任を負う。メモリデバイスから読み取られたデータは、チャネル108を介してフラッシュメモリコントローラ104およびホストシステム102に戻って転送される。フラッシュメモリシステム100は、一般に、マルチドロップ構成と呼ばれ、この構成では、マルチモードフラッシュメモリデバイス106が、チャネル108に関して並列に結合される。当業者は、フラッシュメモリコントローラ104が、複数のチャネルを有することができ、各チャネルが、マルチドロップ構成で結合されたフラッシュメモリデバイス106を有することを理解することができる。各マルチモードフラッシュメモリデバイス106は、前に図2に示されたバンクメモリ編成を有するNANDフラッシュメモリデバイスとして実施される。フラッシュメモリデバイス106は、同一の容量または異なる容量を有することができる。

0031

図6は、直列結合されたメモリデバイスを有するフラッシュメモリシステムのブロック図である。フラッシュメモリシステム120は、ホストシステム124と通信するフラッシュメモリコントローラ122と、4つの直列結合されたマルチモードフラッシュメモリデバイス126とを含む。4つのフラッシュメモリデバイスのそれぞれは、メモリデバイスの間の動作を容易にする入出力回路を有する。そのようなフラッシュメモリデバイスの例が、その内容が参照によって本明細書に組み込まれている、2005年12月30日に出願した本願と同一の譲受人が所有する米国特許出願第11/354,023号および2006年7月31日に出願した本願と同一の譲受人が所有する米国特許出願第11/496,278号に記載されている。

0032

一実施形態によれば、マルチモードフラッシュメモリデバイスは、デフォルトで、MBCストレージモードでデータを格納するようにセットされる。各マルチモードフラッシュメモリデバイスの寿命は、寿命延長方式を実行することによって延ばされる。図7は、寿命延長方式を示す流れ図である。

0033

第1ステップは、通常はプログラミング命令に応答して実行される、セル変換200である。MBCストレージモードで構成されたすべてのサブディビジョンのプログラム/消去サイクルが、監視され、所定の限度に達するすべてのサブディビジョンが、SBCストレージモードに自動的に変換される。サブディビジョンは、たとえばメモリブロックまたはページなど、変換可能であるセルの最小の単位またはグループ化である。これは、所定の限度に達するすべてのMBCストレージモードサブディビジョンが、もはや信頼できる形でデータを格納しないが、これらを、セットされた回数のプログラム/消去サイクルについてSBCストレージモードでデータを格納するのに使用できるという事実に起因する。セル変換アルゴリズムは、サブディビジョンに格納されるデータがもはや保持されない場合に、そのサブディビジョンをSBCストレージモードからMBCストレージモードに変換もする。

0034

続いて、ステップ202で、データを、選択されたストレージモードに従ってプログラムする。デフォルトで、メモリバンクの全サブディビジョンが、MBCストレージモードでデータを格納するようにセットされる。しかし、ユーザが、より高いストレージ信頼性を必要とするデータを格納することを選ぶ場合に、少なくとも要求された個数のサブディビジョンが、SBCストレージモードでデータファイルを格納するために割り振られ、セットされる。フラッシュメモリコントローラ(たとえば、104または122)を、より高いストレージ信頼性を要求するものとして特定のデータファイル拡張子タイプを認識するように構成することができる。たとえば、Windows(登録商標)オペレーティングシステムプラットフォーム内の「.exe」を伴う実行可能アプリケーションは、SBCストレージモードで格納されるが、「.avi」拡張子を伴うビデオデータファイルは、より高いストレージ信頼性を要求しない。したがって、SBCストレージモードで構成されたサブディビジョンは、MBCストレージモードで構成されたサブディビジョンより長い寿命を有する。

0035

寿命延長方式の上で述べたステップの任意の1つの使用は、マルチモードフラッシュメモリデバイスの寿命を延ばす。しかし、最大の寿命延長は、両方のステップがマルチモードフラッシュメモリデバイスの動作中に使用される時に達成される。

0036

図8Aは、サブディビジョンが現在はメモリブロックである場合の、MBCストレージモードからSBCストレージモードへのおよびその逆のメモリのサブディビジョンの変換をグラフ的に示す。図示を簡単にするために、図8(a)のマルチモードフラッシュメモリデバイス300は、4つのメモリブロック302からなり、4つのメモリブロックのそれぞれは、4つのページ304を含む。メモリデバイス300が、そのブロック302のすべてを当初にMBCストレージモードでデータを格納するようにセットされ、ユーザまたは前に図7で説明した自動セル変換アルゴリズムのいずれかにかけられたと仮定する。したがって、例によって、マルチモードフラッシュメモリデバイス300は、図8(a)に示されているようにSBCページおよびMBCページの構成を有し、ここで、陰付きのブロックは、SBCストレージモードでデータを格納するようにセットされ、陰なしのブロックは、MBCストレージモードでデータを格納するようにセットされる。

0037

図8(b)に、ページ304が変換された後のマルチモードフラッシュメモリデバイス300のマッピングを示す。第1の例では、ページ306、308、310、および312を含むMBCストレージモードブロックが、プログラム/消去サイクルの所定の回数に達したことが判定されている。したがって、これらは、SBCストレージモードに変換される。プログラム/消去サイクルは、ブロック302内のページ304ごとに監視され、ブロック変換は、ページのうちの少なくとも1つが所定の回数に達した時に実行される。

0038

第2の例では、ページ314、315、316、および317を含むSBCストレージモードブロックが、もはやデータを格納しないと判定されている。これは、その中のデータが消去され、他のデータがその中に格納されない時に判定することができる。SBCページ314、315、316、および317のSBCプログラム/消去サイクルの回数がチェックされ、それらのめいめいのSBCプログラム/消去サイクルのうちの少なくとも1つが所定の限度に達しているので、ブロック全体が、MBCストレージモードに戻って変換される。MBCからSBCストレージモードへおよびSBCからMBCストレージモードへの変換に関する特定の詳細は、後で述べる。

0039

図8Aには、SBCストレージモードとMBCストレージモードとの間のサブディビジョンに基づくブロックの変換が示されている。図8Bには、SBCストレージモードとMBCストレージモードとの間でのサブディビジョンに基づくページの変換が示されている。図8(c)に示されているように、ページ318および320は、MBCストレージモードでデータを格納するようにセットされ、ページ322および324は、SBCストレージモードでデータを格納するようにセットされる。第1の例では、プログラム/消去サイクルを監視することによって、ページ318と320との両方が所定のMBCプログラム/消去サイクル限度に達したことが判定される。したがって、SBCストレージモードへの個々のページの変換が実行される。第2の例では、プログラム/消去サイクルを監視することによって、ページ322と324との両方が所定の限度に達したことが判定される。したがって、MBCストレージモードへの個々のページの変換が実行される。

0040

メモリデバイス300内の任意のブロック302のストレージモードの判定は、ページ304のうちの1つに格納されるモードタグ(少なくとも1ビット)をチェックすることによって達成される。これは、メモリデバイス300が、選択されたブロック302に対して正しいプログラミング動作および読取り動作を実行することを可能にする。図9は、特にその割り振られたフィールドを示す、ページ304の概略図である。ページ304は、ユーザデータフィールド350および予備データフィールド352を含む。ユーザデータフィールド350は、ユーザから受け取られたデータを格納するが、予備データフィールド352は、フラッシュデバイスまたはフラッシュメモリコントローラによる使用のために予約される。現在の例では、ユーザデータフィールド350は、サイズにおいて2KBであり、予備データフィールド352は、サイズにおいて64Bである。予備データフィールド352では、1つまたは複数のビットが、ストレージモードタグ354として指定され、複数のビットが、ページに対して実行されるMBCプログラム/消去サイクルの数を追跡するためのプログラム/消去サイクルカウンタ356として指定される。

0041

SBCカウンタ358は、SBCからMBCへの変換および後続のMBCからSBCへの変換をサポートするために、ページに対して実行されるSBCプログラム/消去サイクルの総数を追跡するために含まれる。1つの例の応用例は、SBCストレージモードを使用して高速でデータをプログラムし、その後、アイドル期間中にメモリ容量を改善するために後にMBCストレージモードに変換することである。オプションのロックビット360を、SBCストレージモードページがMBCストレージモードに変換されるのを防ぐために設けることができる。この特徴のさらなる詳細は、後で述べる。メモリブロック302は、任意の個数のページ304を含むが、ページ304のうちの任意の1つまたは複数を、メモリブロック302に対応するタグビット、SBCカウンタ値、MBCカウンタ値、およびオプションのロックビットを格納するために選択することができる。

0042

モードタグ354は、使用すべき指定された読取りアルゴリズム、プログラムアルゴリズム、および消去アルゴリズムを判定するためにマルチモードフラッシュメモリデバイス300によって使用される。前に述べたように、特定の電圧レベルおよび制御信号のタイミングをセットすることを伴う読取りアルゴリズムおよびプログラムアルゴリズムは、SBCストレージモードおよびMBCストレージモードで格納されるデータについて異なる。そのような相違は、当業者に周知である。具体的に言うと、読み取られるかプログラムされるサブディビジョン(たとえば、ブロックなど)が、それに対応するモードタグ354を特定の論理状態にセットされている場合に、フラッシュデバイスは、MBCストレージモードアルゴリズムを実行する。そうでない場合には、フラッシュデバイスは、SBCストレージモードアルゴリズムを実行する。SBCストレージモードおよびMBCストレージモードに固有のアルゴリズムの実行は、マルチモードフラッシュメモリデバイスのコマンドデコーダおよび論理回路によって支配される。

0043

いくつかの実施形態で、マルチモードフラッシュメモリデバイスは、SBCストレージモードとMBCストレージモードとの両方に固有の動作を実行するのに必要なすべての回路および制御論理を含む。MBCフラッシュメモリデバイスが、通常、SBCフラッシュメモリデバイスによって使用される回路のすべてを含むことに留意されたい。専用MBCフラッシュメモリデバイスと専用SBCフラッシュメモリデバイスとの間の主な相違は、制御回路網およびアルゴリズムを実行するための論理回路である。

0044

図10は、1つのマルチモードフラッシュメモリデバイスを含むフラッシュメモリシステムのブロック図である。フラッシュメモリシステム400は、フラッシュメモリコントローラ402およびマルチモードフラッシュメモリデバイス404を含む。図示の便宜上、1つのデバイス404だけが示されているが、システム400は、同一チャネルに結合された任意の個数のデバイス404を含むことができ、システム400は、任意の個数のチャネルを含むことができる。フラッシュメモリコントローラ402およびマルチモードフラッシュメモリデバイス404の詳細をこれから説明する。

0045

フラッシュメモリコントローラ402の通常のコンポーネントは、論理-物理アドレストランスレータ406であり、この論理-物理アドレストランスレータ406は、ホストシステムによって供給される各論理アドレスをマルチモードフラッシュメモリデバイス内の対応する物理アドレスにマッピングする責任を負う。当業者によって了解されるように、アドレスマッピングは、データがウェアレベリング動作を実施するために移動されるか再プログラムされる場合に、データの論理アドレスがメモリアレイ内の実際の物理位置一貫してポイントすることを保証するのに使用される。また、トランスレータは、一般に、アドレスマッピングテーブルとして実施される。本実施形態によれば、マルチモードフラッシュメモリデバイス404の各サブディビジョンの各メモリタグ(MODE)が、入手され、それに対応する論理アドレスエントリと共にマッピングテーブルに格納される。サブディビジョンがブロックである場合には、そのブロックに対応する論理アドレスの対応するモードタグが格納される。その代わりに、サブディビジョンがページである場合には、各ページのモードタグが入手され、格納される。したがって、フラッシュメモリコントローラ402は、選択されたアドレスに関連するストレージモードのタイプに関する情報と共に、外部コマンド(CMD)を発行する。

0046

図10に示されたマルチモードフラッシュメモリデバイス404は、コマンドデコーダ408および制御論理410からなるマルチモード制御回路405と、フラッシュメモリ回路網412と、メモリアレイ414とを含む。フラッシュメモリ回路網412およびメモリアレイ414は、図を明瞭にするために単純化されているが、当業者は、これらの回路ブロックが、マルチモードフラッシュメモリデバイス404の正しい動作を保証するのに必要なすべてのコンポーネントを含むことを理解するに違いない。コマンドデコーダ408は、フラッシュメモリコントローラ402によって発行された外部コマンドCMDを受け取り、そのコマンドをデコードし、対応する内部制御コマンドを制御論理410に発行する。当業者は、外部コマンドCMDが、実行される動作のタイプ、プログラムすべきユーザデータ、およびデータがそこに書き込まれるまたはデータがそこから読み取られるアドレスなどの情報を含むことを理解することができる。制御論理410は、プログラム検証動作などのすべての補足の動作を含む、すべての標準的なSBCおよびMBCの読取り動作およびプログラム動作を実行するための論理を有する状態機械である。制御論理410は、後で説明するように、マルチモードフラッシュメモリデバイスに独自の論理機能を実行するための論理回路網をも含む。

0047

コマンドデコーダ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によって発行されるコマンドのタイプの分類を示すために別個の回路ブロックとして図示され、必ずしも、コマンドを生成するのに使用される特定の回路または論理のグループ化を示すものではない。

0048

フラッシュメモリシステム400の全般的動作を、これから、図11の流れ図を参照して説明する。図示の動作方法のステップを実行する前に、モードタグ情報が、既にアドレストランスレータ406にロード済みであると仮定する。次に、ステップ450で、ホスト要求を受け取り、このホスト要求は、たとえば読取り要求または書込み要求を含むことができる。この要求は、マルチモードフラッシュメモリデバイス404にデータを書き込むための論理アドレスまたはそれからデータを読み取るための論理アドレスを含む。ステップ452で、フラッシュメモリコントローラ402が、アドレスマッピングテーブルをルックアップし、要求された論理アドレスおよびアドレスマッピングテーブル内の対応するモードタグの状態に基づいて、要求されるストレージモード動作の必要なタイプ(SBCストレージモード対MBCストレージモード)に関する表示と共に適当なコマンドCMDを生成する。ステップ454で、コマンドデコーダ408によって受け取られたCMDコマンドが、デコードされ、SBCストレージモードまたはSBCストレージモードのいずれかの読取り/プログラムコマンドが、MBCコマンドデコーダ416またはSBCコマンドデコーダ418によって発行される。もちろん、CMDコマンドを、共通コマンドデコーダ420によって発行される消去動作などの非ストレージモード固有コマンドとすることができる。ステップ456で、制御論理410が、要求されたアルゴリズムを実行し、正しい形で必要なマルチモードフラッシュメモリ回路網412を制御する。

0049

マルチモードフラッシュメモリデバイス404によって実行されるすべての動作の前に、フラッシュメモリコントローラ402のアドレスマッピングテーブルが、モードタグを用いて初期化される。これは、フラッシュメモリシステム400のパワーアップ中など、実行されるユーザ動作がない時間中に行われることが好ましい。図12は、アドレスマッピングテーブルを初期化する方法を示す流れ図である。ステップ500で、フラッシュメモリシステム400がパワーアップされる。次に、ステップ502で、フラッシュメモリデバイス404が、そのメモリアレイをスキャンして、そのタグビットのすべての論理状態を査定する。これは、フラッシュメモリデバイス404内のすべてのページの読取り動作を実行し、モードタグ情報(MODE)だけをフラッシュメモリコントローラ402に供給することによって行われる。データのページ全体が同時に読み出される場合に、タグビットだけが使用され、ページから読み出された残りのデータは、無視される。次に、ステップ504で、アドレスマッピングテーブルにMODEタグデータ投入する。

0050

速度を最大にし、モードタグ読出プロセスを単純にするために、すべてのページが、SBCストレージモード読出アルゴリズムを使用して読み出される。より具体的には、SBC読取りアルゴリズムが、タグビットの消去状態の存在または不在を検出する。2つの2進論理状態を使用して、サブディビジョン(すなわち、たとえばブロックまたはページ)のSBCストレージモード構成またはMBCストレージモード構成を判定することができる。好ましくは、フラッシュメモリデバイスは、製造/テスト中に、そのすべてのモードタグビットを、データがMBCストレージモードでプログラムされなければならないことを示す1つの論理状態(消去状態)にセットさせるように事前にプログラムされる。標準動作中に、フラッシュメモリデバイス404は、プログラム動作および消去動作を受け、これによって、最終的に、メモリのページであれブロックであれ、少なくとも1つのサブディビジョンが、そのモードタグを変更される。

0051

図13は、モードタグの状態を自動的に変更することによって、マルチモードフラッシュメモリデバイス400の寿命を延ばす方法を示す流れ図である。この方法は、モードタグが変更される前の特定の判断基準または条件の概要を示す。この方法は、ステップ550で開始され、ここで、データが、マルチモードフラッシュメモリデバイスにプログラムされる。マルチモードフラッシュメモリデバイスのメモリアレイ内にSBCストレージモードサブディビジョンおよびMBCストレージモードサブディビジョンの混合物があると仮定する。したがって、ステップ550では、SBCプログラミング動作またはMBCプログラミング動作が実行される。

0052

ステップ552で、メモリアレイの各サブディビジョンのプログラムサイクル数を、プログラム/消去サイクルの後に監視する。その代わりに、監視を、プログラム/消去サイクルの直前に行うことができる。メモリのサブディビジョンに対するすべてのプログラム動作に、ある点で消去動作が先行し、したがって、消去サイクルまたはプログラムサイクルの個数が、実質的に同一であることに留意されたい。アドレスマッピングテーブルは、各サブディビジョンのプログラム/消去カウンタを含むことができ、このカウンタは、当初に、ページの予備データフィールド(352)に格納された対応するカウンタ値を投入される。カウンタ値を、システムのパワーアップ中にロードし、データがプログラムされる時にページに戻ってプログラムすることができる。ステップ552での監視は、現在プログラムされているサブディビジョン(1つまたは複数)のプログラム/消去カウンタを所定の限度と比較することを含む。に基づいて使用される2つの所定の限度がある。一方の限度は、SBCストレージモード限度であり、他方は、MBCストレージモード限度である。たとえば、MBCストレージモードサブディビジョンは、10000プログラム/消去サイクルという限度を有し、SBCストレージモードサブディビジョンは、100000プログラム/消去サイクルという限度を有する。プログラミング動作が完了する前または後に、この比較が実行される。その後、適用可能な所定の限度に達する場合に、3つの可能なアクションのうちの1つが行われる。

0053

第1の可能なアクションは、ステップ554で、MBCストレージモードサブディビジョンをSBCストレージモードに変換することによって、それらのサブディビジョンの寿命を延ばすことである。したがって、MBCストレージモードサブディビジョンに現在格納されている、変換されるすべてのデータは、使用可能なMBCストレージモードサブディビジョンに移動されるかプログラムされるかのいずれかである。次に、アドレスマッピングテーブル内の対応するモードタグビットが、ステップ556で、サブディビジョンがSBCストレージモードにセットされていることを示すために変更される。ページのタグビットフィールドは、データがページにプログラムされる時にプログラムされる。

0054

第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サブディビジョンを高密度ストレージのために再利用することが有利である。

0055

第3の可能なアクションは、SBCサブディビジョンがそのSBCプログラム/消去サイクル限度に達している時に、ステップ560でそれらのSBCサブディビジョンを退役させることである。この場合に、サブディビジョンは、単純にマップアウトされ、もはやフラッシュメモリシステムによって使用されなくなる。使用不能なサブディビジョンのマップアウトは、フラッシュメモリシステムでの周知の動作である。しかし、この時点までに、サブディビジョン(1つまたは複数)が、MBCストレージモードとSBCストレージモードとの両方でデータを格納していたことになり、これによって、サブディビジョン(1つまたは複数)の寿命が最大にされる。

0056

前に説明した実施形態は、マルチモードフラッシュメモリが、デフォルトでそのサブディビジョンのすべてをMBCストレージモードでデータを格納するように構成されることを前提とする。しかし、すべてのMBCストレージモードサブディビジョンを、ホストシステムによってSBCストレージモードに変換することができる。図14は、MBCおよびSBCのストレージモードデータのホストシステム選択可能なプログラミングの方法を示す流れ図である。この方法を、図13の寿命延長方法のステップ550のサブルーチンとして実行することができる。ステップ600で開始して、フラッシュメモリコントローラは、ホストからプログラミング命令を受け取り、プログラムすべきデータのタイプを識別する。データのタイプは、たとえば、JPEGなどのイメージファイルスプレッドシート文書またはテキスト文書などのさまざまなアプリケーションデータファイル、および実行可能プログラムとすることができる。各ファイルは、特定の拡張子を有するので、フラッシュメモリコントローラは、特定のデータタイプを識別する。次に、フラッシュメモリコントローラは、ステップ602で、データタイプが高信頼性を要求するかどうかを判定する。これは、たとえば、高信頼性を要求すると思われるすべてのデータタイプを含むテーブルをチェックすることによって行うことができる。たとえば、実行可能プログラムを、高信頼性を要求すると考えることができる。ホストシステムが、高信頼性を要求するデータタイプを事前に選択できることに留意されたい。

0057

データタイプがテーブルに現れない場合には、この方法は、ステップ604に進み、マルチモードフラッシュメモリデバイスが、MBCストレージモードでデータをプログラムする。より具体的には、フラッシュメモリコントローラは、モードタグをMBCストレージモードにセットされた空きサブディビジョンをそのアドレスマッピングテーブルから識別し、適当なMBCプログラミングコマンドをマルチモードフラッシュメモリデバイスに発行する。そのコマンドを受け取る時に、マルチモードフラッシュメモリデバイスは、図10について前に説明した形で内部プログラミング動作に進む。内部プログラム検証が、データが成功してプログラムされたと判定したならば、選択されたページに対応するアドレスマッピングテーブル内のプログラム/消去カウンタが、ステップ606で増分される。

0058

ステップ602に戻って、データタイプがテーブルに現れる場合には、この方法は、ステップ608に進み、ここで、フラッシュメモリコントローラが、使用可能な空きSBCストレージモードサブディビジョンがあるかどうかをチェックする。空きSBCストレージモードサブディビジョンが使用可能である場合には、マルチモードフラッシュメモリデバイスは、ステップ610で、SBCストレージモードで対応する物理位置にデータをプログラムするように指示される。そうでない場合には、必要なMBCストレージモードサブディビジョンが、ステップ612で、そのモードタグの状態を反転することによって、SBCストレージモードに変換される。その後、ステップ610が実行されて、データがSBCストレージモードでプログラムされる。ステップ610でのSBCストレージモードプログラミングに続いて、対応するプログラム/消去カウンタが、ステップ606で増分される。したがって、ユーザは、マルチモードフラッシュメモリデバイスでMBCストレージモードまたはSBCストレージモードのいずれかでデータを選択的にプログラムする。

0059

前に述べた方法は、高信頼性タイプまたは低信頼性タイプのいずれかとしてデータファイルタイプを分類した。代替実施形態では、データファイルタイプを、異なる信頼性レベルに分類することができる。次に、ホストシステムは、どの信頼性レベルが高信頼性データとして分類されるべきかを判定するためのしきい値をセットすることができる。

0060

前に述べたように、フラッシュメモリシステムは、寿命延長アルゴリズムを自動的に実行することができる。図15は、MBCストレージモードサブディビジョンをSBCストレージモードサブディビジョンに自動的に変換する1つの方法を示す流れ図である。プログラミング命令が、まず、ステップ650で、フラッシュメモリコントローラによって受け取られる。たとえば、プログラミング命令は、マルチモードフラッシュメモリデバイスの同一のサブディビジョンに格納された既存ファイルを変更することである。選択されたサブディビジョン(1つまたは複数)のプログラム/消去カウンタが、ステップ652で、MBCストレージモードの所定のサイクル限度と比較される。カウンタ値が限度未満である場合には、データは、ステップ654で、単純にマルチモードフラッシュメモリデバイス内の同一サブディビジョンにプログラムされる。そうでない場合には、限度に達しており、データは、ステップ656で新しいサブディビジョンにプログラムされる。次に、オリジナルサブディビジョンが、ステップ658で、データをクリアするために消去される。最後に、アドレスマッピングテーブル内のオリジナルサブディビジョンのモードタグの状態が、ステップ660で反転され、これによって、これらがSBCストレージモードサブディビジョンとして指定される。SBCストレージモードに変換されたサブディビジョンは、ステップ662でそのプログラム/消去カウンタをリセットされる。というのは、今、サブディビジョンが満了し、もはや使用できなくなる前に実行できる所定の回数のSBCプログラム/消去サイクルがあるからである。

0061

代替の変更されたシーケンスは、データをプログラムし、カウンタを増分し、その後、プログラム/消去カウンタを所定のサイクル限度と比較することである。カウンタ値がサイクル限度未満である場合には、さらなるアクションは行われない。そうでない場合には、現在プログラムされているデータが、使用可能なMBCストレージモードサブディビジョンに移動され、または再プログラムされる。再プログラミングは、システムがアイドルである時であればいつでも行うことができる。その後、オリジナルサブディビジョンが、消去され、モードタグビットが、反転される。

0062

SBCストレージモードサブディビジョンにデータをプログラムするステップは、図15に示したものと実質的に同一である。MBCプログラム/消去限度が、SBCプログラム/消去限度に置換され、SBCストレージモードサブディビジョンは、SBCサブディビジョンプログラム/消去カウンタがSBCプログラム/消去限度と等しい場合に、単純に使用から退役させられる。その後、SBCデータが、使用可能なSBCストレージモードサブディビジョンにプログラムされる。MBCストレージモードサブディビジョンだけが使用可能である場合には、図14の方法が実行されて、必要なMBCストレージモードサブディビジョンがSBCストレージモードに変換され、その後、データをプログラムする。

0063

上で述べた実施形態では、1つのカウンタを、MBCプログラム/消去サイクルを追跡するのに使用し、その後、SBCストレージモードに変換された時にSBCプログラム/消去サイクルを追跡するのに再利用することができる。オプションの実施形態によれば、SBCサブディビジョンを再利用できる場合に、別々のSBCプログラム/消去カウンタおよびMBCプログラム/消去カウンタが設けられる。

0064

図16の方法は、SBCストレージモードサブディビジョンを再利用するステップの概要を示す。この方法は、フラッシュメモリシステムがアクティブであるどの時にも実行することができる。この方法は、ステップ700で、空であるすなわちデータを格納することが意図されていない各SBCストレージモードサブディビジョンを識別することによって開始される。ステップ702で、SBCプログラム/消去カウンタを、MBC再利用限度と比較する。このカウンタが、少なくとも再利用限度である場合には、このプロセスは、ステップ704で終了し、SBCストレージモードサブディビジョンは、MBCストレージモードに変換されない。その一方で、SBCプログラム/消去カウンタが再利用限度未満である場合には、ステップ706で、ロックビットの状況がチェックされる。アクティブ状態にセットされているロックビットは、現在のSBCサブディビジョンが、図14の自動変換方法によって以前にMBCストレージモードからSBCストレージモードに変換されたことを示す。言い換えると、SBCストレージモードサブディビジョンが、そのMBCプログラム/消去サイクルを既に使い果たしている場合には、それをSBCストレージモードからMBCストレージモードサブディビジョンとしてのさらなる利用のために再利用する理由はない。ロックビットがセットされていない場合には、それに対応するモードタグの状態を、ステップ708で変更する。ステップ710で、このサブディビジョンがSBCストレージモードに戻って変換される場合に、このサブディビジョンの将来の再利用を防ぐために、ロックビットをセットする。

0065

現在述べている方法は、マルチモードフラッシュメモリデバイス内でデータをプログラミングする技法およびプログラミング動作中にマルチモードフラッシュメモリデバイスの寿命を延ばす技法を提示する。これらの動作では、モードタグは、データがMBCストレージモードまたはSBCストレージモードのどちらを用いてプログラムされなければならないかを判定し、モードの間の自動変換を実行するのに使用される。プログラムされたならば、モードタグは、実行すべき読取り動作のタイプを判定するのに使用される。図17は、マルチモードフラッシュメモリデバイスからデータを読み取る方法の概要を示す流れ図である。

0066

ステップ750で開始して、読取り命令が、フラッシュメモリコントローラによって受け取られる。この読取り命令は、所望のデータの論理アドレスを含む。次に、フラッシュメモリコントローラは、ステップ752で、その論理アドレスに対応するモードタグビットの状態についてアドレスマッピングテーブルをチェックする。モードタグの状態が、たとえば論理「1」などの第1状態である場合に、MBCストレージモード読取りコマンドCMDが、生成され、マルチモードフラッシュメモリデバイスに供給される。それに応答して、マルチモードフラッシュメモリデバイスは、ステップ754でコマンドをデコードし、RD_MBCコマンドを発行する。その後、ステップ756で、MBC読取りが実行される。そうでない場合には、マルチモードフラッシュメモリデバイスは、ステップ758でRD_SBCコマンドを発行し、ステップ760で、SBC読取りが実行される。読取りコマンドの特定のタイプにかかわりなく、データは、メモリアレイから読み出され、フラッシュメモリコントローラに戻って供給される。したがって、SBCストレージモードとMBCストレージモードとでプログラムされるデータの両方に、ユーザが、同一のマルチモードフラッシュメモリデバイスからアクセスすることができる。

0067

前に述べた実施形態のすべてで、フラッシュメモリコントローラおよびマルチモードフラッシュメモリデバイスによって実行される選択的MBCプロセスまたは選択的SBCプロセスは、ユーザには透過的に行われる。SBC/MBCストレージモード動作のすべての判定が、フラッシュメモリコントローラによって行われるので、ユーザに要求される追加の命令または命令の変更はない。したがって、現在説明されているフラッシュメモリシステムをホストシステムと共に実施するために必要な最小限のオーバーヘッドがある。

0068

したがって、マルチモードフラッシュメモリデバイスの前に説明した実施形態を、SBCストレージモードまたはMBCストレージモードでデータを選択的にプログラムするために制御することができ、両方のストレージモードでプログラムされるデータが、同時に同一のメモリアレイ内に共存するようになる。選択的プログラミングを、プログラムされるデータのタイプに基づいてユーザ制御の下で行うことができ、かつ/またはプリセットアルゴリズムを介して自動的に行うことができる。両方のタイプのストレージモードを用いてデータを格納することによって、マルチモードフラッシュメモリデバイスの寿命が、MBCストレージモードでのみデータを格納すること専用のフラッシュメモリデバイスより延ばされる。前に説明した実施形態で言及されるサブディビジョンを、メモリバンク、メモリブロック、またはページとすることができる。

0069

上述の説明では、説明の目的から、本実施形態の完全な理解をもたらすために多数の詳細が示されている。しかし、これらの実施形態を実践するためにこれらの具体的な詳細が必要ではないことが、当業者には明白である。他の場合には、周知の電気構造および電気回路を、実施形態の諸態様を不明瞭にしないようにするために、ブロック図形式で示す。たとえば、特定の詳細は、本明細書で説明する実施形態がソフトウェアルーチンハードウェア回路ファームウェア、またはその組合せとして実施されるかどうかに関しては提供されない。

0070

上で説明した実施形態は、例示であることだけを意図されている。添付の特許請求の範囲のみによって定義される範囲から逸脱せずに、当業者が、特定の実施形態に対する代替形態修正形態、および変形形態をもたらすことができる。

0071

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 メモリアレイ
416MBCコマンドデコーダ
418 SBCコマンドデコーダ
420共通コマンドデコーダ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 日立オートモティブシステムズ株式会社の「 電子制御装置及び制御データの設定方法」が 公開されました。( 2020/09/24)

    【課題】電子制御装置のバリエーションを管理する労力を軽減する。【解決手段】電子制御装置では、電子的にデータを書き換え可能なコードフラッシュメモリ120に、アクティブ状態とインアクティブ状態とに排他的に... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2020/09/24)

    【課題】メモリチップに品質の差がある場合においても、性能を低減することなく不揮発化処理を実行する。【解決手段】メモリシステム100は、不揮発性の複数のメモリチップ208と各メモリチップの動作を制御する... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2020/09/24)

    【課題】メモリシステムの動作を高速化する。【解決手段】実施形態のメモリシステムは、半導体記憶装置と、メモリコントローラとを含む。メモリコントローラは、コマンドバッファとディスクリプタバッファとを有する... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ