JP2006513507A - 不揮発性メモリの耐久限度を超えたカウント方法 - Google Patents
不揮発性メモリの耐久限度を超えたカウント方法 Download PDFInfo
- Publication number
- JP2006513507A JP2006513507A JP2004567428A JP2004567428A JP2006513507A JP 2006513507 A JP2006513507 A JP 2006513507A JP 2004567428 A JP2004567428 A JP 2004567428A JP 2004567428 A JP2004567428 A JP 2004567428A JP 2006513507 A JP2006513507 A JP 2006513507A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- state
- lsg
- counting method
- subgroup
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
- H03K21/40—Monitoring; Error detection; Preventing or correcting improper counter operation
- H03K21/403—Arrangements for storing the counting state in case of power supply interruption
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/004—Counters counting in a non-natural counting order, e.g. random counters
- H03K23/005—Counters counting in a non-natural counting order, e.g. random counters using minimum change code, e.g. Gray Code
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
Abstract
不揮発性メモリ(12,14,16,18,…)を記憶セルとして用いるデジタルカウンタ(たとえば図1)であって、記憶セルは2つのグループに細分され、2つのグループとは、カウントのより下位の部分に追随するロータリカウンタ(20,22)、および、カウントのより上位の部分に追随する2進カウンタ(10)の実現のためのカウンタである。ロータリカウンタは、各セルの各状態変化が1カウントとして記録され、ロータリカウンタのすべてのセルが各サイクルにおいて2つの状態変化を経ることを確実にすることにより、メモリの耐久限度に達する前に得られ得るカウントを最大化するカウント方法を実現する。2進カウンタ(10)は、ロータリカウンタが経たサイクルの回数を記録する。
Description
発明の分野
本発明は、一般に、特に不揮発性メモリを用いるデジタルカウンタで実現される、デジタルカウンタおよびカウント方法に関する。
本発明は、一般に、特に不揮発性メモリを用いるデジタルカウンタで実現される、デジタルカウンタおよびカウント方法に関する。
無停電電源装置を必要とすることなく長時間カウントを保持するデジタルカウンタは、近代電子工学の不可欠な部分である。これらの用途のいくつかの典型的な例には、自動車用デジタル走行距離計、商業用機器のためのデジタル使用メータ、および不正なシステムアクセスを防ぐために各取引に固有の番号タブを必要とする暗号システムなどがある。EEPROMおよびフラッシュメモリなどの不揮発性メモリは、いかなる追加の電力を必要とすることもなく情報を恒久的に記憶することができるので、このような用途にうまく適合するはずである。
しかしながら、カウントの用途に不揮発性メモリを用いることに関しては制限がある。EEPROMおよびフラッシュメモリは、典型的にはポリシリコンでできた半導体構造であるフローティングゲートに、電子を注入し、電子を引き抜くことにより、プログラムされ、消去される。フローティングゲートのプログラミングおよび消去が繰返されると、電荷がポリシリコンに恒久的にトラップされ得る結果、時間の経過につれてしきい値電圧にドリフトが生じる。最終的に、これらのトラップされた電子はさらなる再プログラミングを妨げ、装置の誤動作を引起す。プログラミングエラーが予測されるまでにメモリセルが耐え得る最大サイクル数は、通常、耐久サイクル率と呼ばれる。この耐久サイクル率は、典型的には、大量の特徴付けおよび条件付けプロセスを通じて得られる。単一のプログラミングステップとそれに続く単一の消去ステップとが、単一の耐久サイクルを構成する。現在の不揮発性メモリ設計および製造技術では、1万から100万の間の耐久サイクル率を有するEEPROMおよびフラッシュメモリを生産する。典型的なEEPROMの実現例においては、1つのビットグループに書込むことは、ビットの状態が変化しない場合であっても、そのグループ内の複数のビットに耐久サイクルを「拡張」させることになり得る。なぜなら、典型的な実現例では、グループ全体をリセットし、次に最終的な状態においてセットするべきもののみをセットし得るからである。
さまざまなカウント方法の記載および説明を容易にするために、我々は以後、メモリのプログラミングおよび消去について次の約束事を採用する。プログラミングは電子のフローティングゲートへの注入を表わす一方、消去は電子のフローティングゲートからの引き抜きを表わす。2進法表示が用いられる場合は、プログラムされた状態は2進数「0」で表わされる一方、消去された状態は2進数「1」で表わされる。メモリセルが状態を1から0へ変えると、それは以後、セルのセットと呼ばれる。メモリセルが状態を0から1へ変えると、それは以後、セルのリセットと呼ばれる。
耐久サイクルによって制限が加えられるので、デジタルカウンタ用カウントビットとしてEEPROMまたはフラッシュメモリセルが採用される場合は常に、用いられるメモリの耐久性を考慮に入れなければならない。たとえば、典型的な2進カウンタにおいては、最下位ビット(LSB)が各カウントにおいて0から1へ、または1から0へ切換わり、LSBが1から0へ切換わるたびに最下位から2番目のLSBが状態を変え、最下位から2番目のLSBが1から0へ変わるたびに最下位から3番目のLSBが状態を変える、などと続く。2進カウンタにおけるLSBは最もよく状態を変えるビットなので、それはまた、通常最初に不良を生じるビットでもある。このような用途に用いられるEEPROM
セルが10万サイクルの耐久サイクル率を有すると仮定すると、このようなカウンタは約20万の最大カウント限度しか有しないことが予測され、その後はLSBのプログラミングの失敗のためにカウントエラーが起こることが予測され得る。その代わりに、繰返しゼロにセットされたことによって2進カウンタの最上位ビットが不良を生じ得る。
セルが10万サイクルの耐久サイクル率を有すると仮定すると、このようなカウンタは約20万の最大カウント限度しか有しないことが予測され、その後はLSBのプログラミングの失敗のためにカウントエラーが起こることが予測され得る。その代わりに、繰返しゼロにセットされたことによって2進カウンタの最上位ビットが不良を生じ得る。
明らかに、通常の2進カウント方法は、所与のEEPROMカウンタの耐久サイクルを最大化するのに最適なやり方ではない。なぜなら、所与のビット列については、他のビットよりもかなり前に最下位ビットがその耐久サイクルを使い尽くし、大部分のビットが依然として十分な耐久サイクルを残しているにもかかわらず、カウンタが無益になるからである。所与の個数のEEPROMセルのカウントを最大化するために、または、所望の最大カウントに要するEEPROMセルの個数を最小化するために、プログラミングサイクルをすべてのEEPROMセルの間により均等に分散させるようなカウント方法を考案し得る。たとえば、グレイコードの記数法を用いるカウントは、通常の2進法を用いるカウントに比べて、典型的にはカウンタの寿命を2倍にする。
リップマン(Lippmann)他への、「不揮発性メモリを用いたカウントの方法および装置(Method and Apparatus for Counting with Nonvolatile Memory)」と題された米国特許第4,947,410号、および、ウェルズ(Wells)への、「フラッシュメモリのために最適化されたデジタルカウンタを実現するための方法およびシステム(Method and System for Implementing a Digital Counter Optimized for Flash Memory)」と題された米国特許第6,249,562号は、このようなカウント方法の典型的な例である。しかしながら、上述の特許に記載されたカウント方法は、用いられるメモリが個別にビットプログラム可能、かつ個別にビット消去可能であることを要する。換言するとこれらの方法は、個別のビット消去をサポートしないEEPROMには適用できない。シリアルEEPROMなどの、ほとんどの標準的なEEPROMメモリ製品が個別のビット消去をサポートしていないので、これらのメモリに適用できるカウント方法を有することが望ましいであろう。
上述のカウント方法に関しての別の制限は、典型的にはそれらの方法が、プログラミングの失敗から回復するために、並行して作動する複製カウンタを必要とする事実にある。冗長な回路を必要とすることなく回復を可能にするカウント方法を有することが望ましいであろう。
発明の概要
したがって本発明の目的は、失敗する可能性を考慮し、または、ある最大カウントに到達するために要するメモリセルの個数を最小化することによって、所与のカウンタサイズの総カウントを最大化し得る、不揮発性メモリベースのデジタルカウンタを提供することである。本発明の別の目的は、単一のビット消去をサポートしない不揮発性メモリに適用され得るカウント方法を提供することである。本発明のさらなる目的は、冗長な回路を必要とすることなく、書込/消去の失敗の回復を可能にするカウント方法を提供することである。
したがって本発明の目的は、失敗する可能性を考慮し、または、ある最大カウントに到達するために要するメモリセルの個数を最小化することによって、所与のカウンタサイズの総カウントを最大化し得る、不揮発性メモリベースのデジタルカウンタを提供することである。本発明の別の目的は、単一のビット消去をサポートしない不揮発性メモリに適用され得るカウント方法を提供することである。本発明のさらなる目的は、冗長な回路を必要とすることなく、書込/消去の失敗の回復を可能にするカウント方法を提供することである。
本発明は、すべてのセルの間にカウントの負荷を均等に配分することにより、および、各セルにおける状態変化の1つ1つが1カウントになることを確実にすることにより、所与の個数のメモリセルのカウント容量を最大化する、不揮発性メモリベースのデジタルカウンタである。本発明のカウンタは2つのサブカウンタからなる。すなわち、主要なサブカウンタであって、通常の2進カウンタ、グレイコードカウンタ、または通常の方法で動作する2進化10進カウンタであることができ、カウントのより上位の部分に追随するサ
ブカウンタと、ロータリサブカウンタであって、カウントのより下位の部分に追随するサブカウンタとである。ロータリサブカウンタにおいては、各ローテーションはカウンタの全セルについてセットを1度、かつリセットを1度することを伴い、セルの各セットと各リセットとが1つのカウントになる。K個のセルを有するこのようなロータリサブカウンタは、1ローテーションごとに2Kの総カウントをもたらす。
ブカウンタと、ロータリサブカウンタであって、カウントのより下位の部分に追随するサブカウンタとである。ロータリサブカウンタにおいては、各ローテーションはカウンタの全セルについてセットを1度、かつリセットを1度することを伴い、セルの各セットと各リセットとが1つのカウントになる。K個のセルを有するこのようなロータリサブカウンタは、1ローテーションごとに2Kの総カウントをもたらす。
ロータリサブカウンタは、次のように概括される状態変化パターンに従う。ロータリカウンタのセルは、1状態を有するセルを等しい個数だけ有するグループに編成され、第1の序数は、第1のグループの第1のセル状態を0状態にセットすることにより表わされる。続く序数の組は、残りのセルグループに同様に位置するセルを連続的にセットすることにより表わされる。次の序数の組は、最後のグループのセルを除くすべてをリセットして1に戻すことにより表わされる。次の2つの序数は、まず第1のグループの第2のセルを0にセットし、次に前のグループの最後のセルをリセットしてすべて1に戻すことにより表わされる。ロータリセットの残りの序数は、上記に定めたようなセルのセットおよびリセットの同じパターンを、ロータリサブカウンタ内の各セルがセットおよびリセットのちょうど1サイクルを経るまで単に繰返すことにより表わされ、その時点で2進サブカウンタが1カウントを記録し、ロータリサブカウンタは、上述のように第1のセルパターンにより表わされる第1の序数から始めて、最初からやり直す。各セルが同じ回数のセットおよびリセットを受けるので、ロータリカウンタ全体の磨耗は均一である。
図1において、4個のセル12,14,16および18からなるロータリサブカウンタが、16個のセルを有する2進サブカウンタ10と並んで示される。ロータリサブカウンタのセルは、各ロータリサイクルにおいて8回のビットパターンの変化を経過し、その各パターンは8個の序数のうち1つを表わす。各連続的パターン変化は、1つのセルのみの状態変化を伴う。ロータリサブカウンタのセルは、第1のグループ20および第2のグループ22に編成され、各グループに第1のセル12,16および第2のセル14,18を有する。序数1は、第1のグループ20の第1のセル12を除くすべてにおいて1状態を有することによって表わされ、セル12は0状態にある。序数2は、第1のグループ20のセルパターンを第2のグループ22にコピーし、それにより第2のグループ22の第1のセル16を0状態にセットすることにより表わされる。その特定のセルの状態変化を示すため、第2のグループ22の第1のセル16は黒く塗られている。序数3は、第1のグループ20の第1のセル12の0をリセットして1に戻すことにより表わされる。個別のセル消去(リセット)を許容しない不揮発性メモリについては、第1のグループ20全体が黒く塗られることによって示されるように、第1のグループ20の第1のセル12は、グループ全体をリセットすることによりリセットされ得る。第1のグループの残りのセルが既に1状態にあるので、このグループごとのリセットステップによって追加の耐久サイクルペナルティが生じることはない。
序数4は、第1のグループ20の第2のセル14の1状態を0状態にセットすることにより表わされる。序数5は、第2のグループ22のすべてのセルをリセットして1に戻すことにより表わされる。序数6は、第1のグループ20のセル状態パターンを第2のグループ22にコピーし、それにより、第2のグループの第2のセルを0状態にセットすることにより表わされる。序数7は、第1のグループ20のセルをリセットして1に戻すことにより表わされ、序数8は、第1のグループ20の第1のセル12を0状態にセットすることにより表わされる。この時点において、4個のセルを用いる本発明によるカウント方法で許容されるすべての順序が尽きたので、2進カウンタ10は1カウントを記録した。次の序数である数字9は、2進サブカウンタにおいては1で、ロータリサブカウンタにおいては1110で表わされる。同様にして、序数17は、2進サブカウンタにおいては10で、ロータリサブカウンタにおいては1110で表わされる。このカウンタに採用され
るメモリセルが10万サイクルの耐久率を有し、各サイクルがメモリセルのセットおよびリセットを伴うと仮定すると、このカウンタの最大カウントは80万(100K×2×4)となる。ロータリサブカウンタに追加される各追加セルは、可能な最大カウントに200Kを追加する。
るメモリセルが10万サイクルの耐久率を有し、各サイクルがメモリセルのセットおよびリセットを伴うと仮定すると、このカウンタの最大カウントは80万(100K×2×4)となる。ロータリサブカウンタに追加される各追加セルは、可能な最大カウントに200Kを追加する。
前述の利点に加え、本発明は、冗長な回路を必要とすることなく、書込動作中の停電によるカウントの回復を可能にする。この停電が起きると、システムは次にカウンタの値を見るときに書込に割込があったか否かを判断し、後に続くカウント事象を許容する前にその問題を解決する。回復するためにカウンタが行なうべきことは、サンプルグループの位置を見付け、サンプルグループの状態パターンを不良のグループにコピーすることだけである。その理由は、ロータリサブカウンタの中にはそのローテーションに対して0状態位置を保持するセルグループが常に少なくとも1つあるからである。エラー回復手順の一般的な概略では、エラーのあるバイトを隔離し、次にそのバイトが書込まれた場所をカウントシーケンスの中に見付け、(シーケンス内の)隣接するバイトのうちの1つにセットして、システムの状態に合致させる。エラー回復手順が実行されると、停電が起きたとき書込がどこまで進行していたかに依存して、最終値は、割込まれたカウントが開始される前の値か、または、カウントが完成していればカウントがなるはずだった値になる。
本発明の好ましい実施例において、ロータリサブカウンタのセルは、図2に示されるように、バイトサイズのグループに編成される。簡潔にするために、ロータリカウンタのカウントを3個のバイトのみを用いて図示する。しかしながら、一旦カウント方法が説明されると、ある用途に所望されるだけのバイトを収容できるよう、容易にカウント方法を拡張することができる。
図2に示されるロータリサブカウンタは24個のセルを有し、それらはセルの第1のバイト30、第2のバイト32、および第3のバイト34を含む3個のバイト幅のセルグループに編成される。48個の序数が1ロータリサイクルごとに24個のセルを用いて示される。各セルについて100Kサイクルの耐久性を仮定すると、このカウンタの可能な最大カウントは480万である。第1の序数もさらに、ロータリサブカウンタの残りのセルが1状態にある一方で第1のバイト30の最も右のセルを0状態で有することにより表わされる。第2および第3の序数は、それぞれバイト32および34の最も右のセルを連続的に0状態にセットし、それにより第1のバイトのパターンを次々に他のバイトの各々にコピーすることにより表わされる。第4および第5の序数は、第1のバイト30および第2のバイト32をすべて1にリセットし、それにより第3の(最後の)バイト34のみが異なるパターンを残すことにより表わされる。次の2つ(第6および第7)の序数は、第1のバイト30の最も右から2番目のセルを0状態にセットし、次に第3のバイト34をリセットしてすべて1に戻すことにより表わされる。次いで、次の序数は、第1のバイトの新しいパターンを他のバイト(第3または最後のバイトを含む)の各々に連続的にコピーし、次に最後のバイトを除くすべてを連続的にリセットしてすべて1に戻し、次にゼロ状態の単一のビットを有する新しいパターンを第1のバイト30にセットし、最後のバイトをリセットしてすべて1に戻し、そしてこのシーケンスを繰返すことにより表わされる。このプロセスは、同様のやり方で、各バイトの各セルまたはビットがちょうど1耐久(1セットおよび1リセット)サイクルを経るまで継続する。
第1のバイト、第2のバイトなど、最後のバイトまでの特定のバイトの指定は任意であり、すなわち、セットおよびリセットのためのバイトシーケンスはいかなる任意の順序でもあり得る。実際、第1のバイトと最後のバイトとが両方において同じであれば、セットおよびリセットの順序は異なり得る。同様に、あるバイト内のどのビットが最初にゼロ状態にセットされ、どのビットが次にセットされるかなどという指定は任意であって、ロータリサイクル全体を通じて一貫していれば、指定されたいかなる順序でもなされ得る。ソ
フトウェアルーチンまたはハードウェア配線のいずれかを用いる、このカウンタの方法の実際の実現例においては、カウントのセットおよびリセットの順序は、コーディングおよび設計の段階で任意に決定され得る。
フトウェアルーチンまたはハードウェア配線のいずれかを用いる、このカウンタの方法の実際の実現例においては、カウントのセットおよびリセットの順序は、コーディングおよび設計の段階で任意に決定され得る。
ロータリカウンタにおけるセルまたはビットの個数nは、所望の耐久性の向上に依存して、実現例によって異なり得る。セルは、2つまたはそれ以上のセルを有する、サイズの等しい2つまたはそれ以上のグループに均等に分割され得るであろう。ロータリサイクルにおける序数の個数は常に2・nである。
上記の例は、カウンタの機能を、各バイト内で0状態を1状態のセルの間でシフトさせるとして説明しているが、用語使用の約束事が異なれば、各バイト内で1状態を0状態のセルの間でシフトさせると簡単に説明できる。本発明の1つの重要な局面は、カウントごとに1つのセル変化のみが起こるという事実にある。本発明の別の局面は、耐久サイクルにいかなるペナルティも伴うことなくバイト全体をリセットすることにより、セルをリセットするステップが実現され得るという事実にある。本発明のさらに別の局面は、各序数表示において、そのローテーション内で0状態位置に追随する少なくとも1つのバイトが存在するという事実にある。結果として、単一のバイトにおけるプログラミングの失敗によるカウントエラーは、正しいシーケンスを用いてバイトの位置を見付け、そのシーケンスを不良を生じたバイトにコピーすることにより訂正され得る。
さらに、上記で与えられた例では、最後のグループをリセットする前に第1のグループの新しいビットパターンが確立されることを除き、第1のグループのビットパターンを他のグループの各々にコピーするステップのシーケンスと、それらのグループをリセットするステップのシーケンスとが分離しているが、コピーおよびリセットがインタリーブされるサイクルを構成することもさらに可能である。すなわち、シーケンスを以下のように定めることが可能である。このシーケンスでは、第1のビットパターンが第1のグループに確立され、そのパターンが第2のグループにコピーされ、第1のグループがリセットされ、そのパターンが第3のグループにコピーされ、第2のグループがリセットされ、以下同様に続いて、そのパターンが最後のグループにコピーされ、最後から2番目のグループがリセットされ、第2のビットパターンが第1のグループに確立され、最後のグループがリセットされるまで、第2のパターンを用いたコピーおよびリセットのシーケンスが続き、そのようにして、ロータリカウンタにおける各ビットが1度はセットおよびリセットを経る。ここでも、グループの各ビットパターンは、そのグループについて1ビットまたは1セルのみがゼロであることによって特徴付けられる。このようなグループの各ビットは、前回と同様、1サイクルごとに1回だけ1から0に、または0から1に変化する。
たとえば、図3において、12個のセルが4個の3ビットのグループ40,42,44および46に編成される。第1の序数もさらに、残りのセルが1状態にある一方で第1のグループ40の最も右のセルを0状態で有することにより表わされる。第2および第3の序数は、第2のグループ42の最も右のセルを連続的にセットし、次に第1のグループ40のすべてのセルをリセットすることにより表わされる。セットおよびリセットの同じパターンが、セルの第3のグループ44および第4のグループ46について繰返され、各セット/リセットが新しい序数を表わす。最後の(第4の)グループ46の最も右のセルが一旦セットされると、続いて第3のグループのすべてのセルがリセットされ、次の序数、この例においては数字8が、第1のグループの第2のセルをセットすることにより表わされる。このように代替的にセットし、リセットするシーケンスにおいて、このプロセスは、各グループの各セルがちょうど1耐久サイクルを経るまで継続する。
これらすべての例において2進サブカウンタは通常通り作動するが、カウントのより上位のビットのみに追随するので、その耐久性は2・nの因数だけ拡張され、ここでnはロ
ータリサブカウンタのビットサイズである。2進サブカウンタは、各ロータリカウントサイクルの完了後にのみ状態を変える。2進サブカウンタには既知のいかなるカウント方法も用いられ得る。通常の2進カウンタに加え、グレイコードカウンタ、2進化10進カウンタ、線形フィードバックシフトレジスタカウンタなどの他のカウンタ、および他にも多くが用いられ得る。
ータリサブカウンタのビットサイズである。2進サブカウンタは、各ロータリカウントサイクルの完了後にのみ状態を変える。2進サブカウンタには既知のいかなるカウント方法も用いられ得る。通常の2進カウンタに加え、グレイコードカウンタ、2進化10進カウンタ、線形フィードバックシフトレジスタカウンタなどの他のカウンタ、および他にも多くが用いられ得る。
上述のデジタルカウンタは、暗号処理モジュールをセキュリティチップで実現するのにうまく適合する。このような暗号システムは、さまざまなリプレイ攻撃(「古い」情報が不正に再使用され得る攻撃)を防ぐために、固有のタグが各取引に与えられることを要する。本発明の不揮発性デジタルカウンタは、個別の暗号取引をタグ付けするのに用いられ得る。たとえば、7年間割込なく毎秒1カウントを与える必要のあるシステムを実現するために、カウンタは、約2億2000万(または228よりもいくらか少ない数)までカウント可能でなければならない。用いられる不揮発性メモリは10万プログラミングサイクルの耐久性に特徴付けられ、条件付けされると仮定すると、最大10万耐久サイクルに追随するのに16ビットの2進サブカウンタが必要となり、2200個の序数を表わすのに1100ビットのロータリサブカウンタが必要となる。バイトごとのメモリシステムを用いてこのようなカウンタを実現するには、ロータリサブカウンタに138バイトの不揮発性メモリが必要となるであろう。これらの型の、暗号システムの単調カウンタには、当然他の用途もあり得る。たとえば、カウンタは、所与のリソースを用いて実施される取引の回数を限定するために用いられ得る。さらに、カウンタは、さまざまなアルゴリズムのための固有の初期化ベクトルのストリームを形成するためにも用いられ得る。
Claims (16)
- 不揮発性メモリを記憶セルとして用いるデジタルカウンタを用いたカウント方法であって、前記各セルは第1の状態または第2の状態のいずれかを記憶することができ、前記方法は、
a) カウンタとして機能するJ個のセルを有するより上位のグループ(MSG)と、ロータリカウンタとして機能するK個のセルを有するより下位のグループ(LSG)との2つのグループにセルを編成するステップを含み、Jは1より大きいいずれかの整数であり、Kは3より大きいいずれかの整数であり、さらに、
b) 各サブグループにM個のセルを有するL個のサブグループにLSGを編成するステップを含み、Mは1より大きいいずれかの整数であって、Lを乗じたMはKに等しく、各LSGサブグループの各セルは第1の状態にあり、さらに、
c) 第1のLSGサブグループの第1のセルを第2の状態にセットすることにより、第1の序数を表わすステップと、
d) 残りの各LSGサブグループの第1のセルを第2の状態に連続的にセットすることにより、続く序数の組を表わすステップと、
e) 第1のLSGサブグループの第1のセルを連続的にリセットして第1の状態に戻し、次にL番目のLSGサブグループを除くすべての残りのLSGサブグループのリセットを継続することにより、次の序数の組を表わすステップと、
f) 第1のLSGグループの第2のビットを第2の状態に連続的にセットし、次にL番目のLSGサブグループの第1のセルをリセットして第1の状態に戻すことにより、次の2つの序数を表わすステップと、
g) 各LSGグループの各セルがちょうど1回セットされ、リセットされるまで、各LSGサブグループの特定のセルをセットし、リセットする上述のパターンを繰返すことにより、続く序数を表わすステップと、
h) ステップcに記載されたように、LSGロータリカウンタが第1の序数から始めて最初からやり直す間、MSGカウンタに1だけカウントを増分するステップとを含む、カウント方法。 - Mは8の倍数に等しい、請求項1に記載のカウント方法。
- 第1のLSGサブグループの第2のビットを第2の状態にセットするステップは、第1のバイトをリセットするステップに続いて、しかし最後のバイトをリセットするステップの前に行なわれる、請求項1に記載のカウント方法。
- LSGサブグループの各セルが、用いられる不揮発性メモリセルの耐久サイクルに等しい回数のセット−リセットサイクルを経ると最大カウントに達する、請求項1に記載のカウント方法。
- 値Jは、耐久サイクル限度まで2進カウントができるほど大きい、請求項4に記載のカウント方法。
- 不揮発性メモリは、第1の状態から第2の状態への個別のセルのセットを許容するが、リセットはサブグループ全体を1単位としてしか行なわれ得ない、請求項1に記載のカウント方法。
- カウント方法はソフトウェアプログラムにおいてエンコードされる、請求項1に記載のカウント方法。
- カウント方法は論理的ハードウェア構成要素を伴って実現される、請求項1に記載のカ
ウント方法。 - 不揮発性メモリを記憶セルとして用いるデジタルカウンタを用いたカウント方法であって、前記各セルは第1の状態または第2の状態のいずれかを記憶することができ、前記方法は、
a) カウンタとして機能するJ個のセルを有するより上位のグループ(MSG)と、ロータリカウンタとして機能するK個のセルを有するより下位のグループ(LSG)とである、2つのグループにセルを編成するステップを含み、Jは1より大きいいずれかの整数であり、Kは3より大きいいずれかの整数であり、さらに、
b) 各サブグループにM個のセルを有するL個のサブグループにLSGを編成するステップを含み、Mは1より大きいいずれかの整数であって、Lを乗じたMはKに等しく、各LSGサブグループの各セルは第1の状態にあり、さらに、
c) 第1のLSGサブグループの第1のセルを第2の状態にセットすることにより、第1の序数を表わすステップと、
d) 次のサブグループの第1のセルを第2の状態に連続的にセットし、次に前のサブグループのすべてのセルを第1の状態にリセットすることにより、続く序数を表わすステップと、
e) 一旦最後のグループの第1のセルが第2の状態にセットされて最後から2番目のグループのセルがリセットされると、第1のグループの第2のセルを連続的に第2の状態にセットし、最後のグループのすべてのセルをリセットすることにより、次の2つの序数を表わすステップと、
f) 各LSGグループの各セルがちょうど1回セットされ、リセットされるまで、各LSGサブグループの特定のセルをセットし、リセットする上述のパターンを繰返すことにより、続く序数を表わすステップと、
g) ステップcに記載されたように、LSGロータリカウンタが第1の序数から始めて最初からやり直す間、MSG2進カウンタに1だけカウントを増分するステップとを含む、カウント方法。 - Mは8の倍数に等しい、請求項9に記載のカウント方法。
- 第1のLSGサブグループの第2のビットを第2の状態にセットするステップは、第1のバイトをリセットするステップに続いて、しかし最後のバイトをリセットするステップの前に行なわれる、請求項9に記載のカウント方法。
- LSGサブグループの各セルが、用いられる不揮発性メモリセルの耐久サイクルに等しい回数のセット−リセットサイクルを経ると最大カウントに達する、請求項9に記載のカウント方法。
- 値Jは、耐久サイクル限度まで2進カウントができるほど大きい、請求項12に記載のカウント方法。
- 不揮発性メモリは、第1の状態から第2の状態への個別のセルのセットを許容するが、リセットはサブグループ全体を1単位としてしか行なわれ得ない、請求項9に記載のカウント方法。
- カウント方法はソフトウェアプログラムにおいてエンコードされる、請求項9に記載のカウント方法。
- カウント方法は論理的ハードウェア構成要素を伴って実現される、請求項9に記載のカウント方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/348,782 US6792065B2 (en) | 2003-01-21 | 2003-01-21 | Method for counting beyond endurance limitations of non-volatile memories |
PCT/US2003/040000 WO2004068273A2 (en) | 2003-01-21 | 2003-12-16 | Method for counting beyond endurance limitations of non-volatile memories |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006513507A true JP2006513507A (ja) | 2006-04-20 |
Family
ID=32712624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004567428A Withdrawn JP2006513507A (ja) | 2003-01-21 | 2003-12-16 | 不揮発性メモリの耐久限度を超えたカウント方法 |
Country Status (11)
Country | Link |
---|---|
US (1) | US6792065B2 (ja) |
EP (1) | EP1588320B1 (ja) |
JP (1) | JP2006513507A (ja) |
KR (1) | KR20050096947A (ja) |
CN (1) | CN1322469C (ja) |
AU (1) | AU2003300961A1 (ja) |
CA (1) | CA2513734A1 (ja) |
DE (1) | DE60313807T2 (ja) |
NO (1) | NO20053908L (ja) |
TW (1) | TW200414024A (ja) |
WO (1) | WO2004068273A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003074A (ja) * | 2008-06-19 | 2010-01-07 | Konica Minolta Business Technologies Inc | カウントデータ記録装置、および、カウントデータ記録方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7551706B2 (en) * | 2004-12-03 | 2009-06-23 | Kyocera Mita Corporation | Counter device and counting method |
US20070150644A1 (en) * | 2005-12-28 | 2007-06-28 | Yosi Pinto | System for writing non-volatile memories for increased endurance |
WO2007076492A2 (en) * | 2005-12-28 | 2007-07-05 | Sandisk Corporation | Methods and systems for writing non-volatile memories for increased endurance |
DE102007024410B4 (de) * | 2007-05-25 | 2009-04-23 | Siemens Ag | Verfahren zum Betreiben eines Zählers und Zähler-Schaltungsanordnung |
CN101339807B (zh) * | 2007-07-02 | 2010-09-15 | 晶豪科技股份有限公司 | 非易失性半导体存储器的编程方法及其电路 |
US7573969B2 (en) | 2007-09-27 | 2009-08-11 | Sandisk Il Ltd. | Counter using shift for enhanced endurance |
US7526059B1 (en) | 2007-12-27 | 2009-04-28 | Sandisk Il Ltd. | Balanced Grey code utilization to increase NVM endurance |
US20110103540A1 (en) * | 2009-10-29 | 2011-05-05 | Wassermann Gary M | Multiple base counter representation |
US8189732B1 (en) * | 2010-11-17 | 2012-05-29 | Atmel Corporation | Non-volatile memory counter |
US8761332B2 (en) * | 2012-09-24 | 2014-06-24 | Texas Instruments Incorporated | Dynamic prescaling counters |
US9030883B2 (en) * | 2013-07-16 | 2015-05-12 | Freescale Semiconductor, Inc. | Adaptive erase recovery for non-volatile memory (NVM) systems |
KR102282962B1 (ko) * | 2014-12-22 | 2021-07-30 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US10585610B1 (en) * | 2016-09-30 | 2020-03-10 | EMC IP Holding Company LLC | Locking data structures with locking structures in flash memory by setting bits in the locking structures |
JP2019057172A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10810060B2 (en) * | 2017-10-26 | 2020-10-20 | SK Hynix Inc. | Event management for embedded systems |
US11056192B2 (en) * | 2018-12-21 | 2021-07-06 | Micron Technology, Inc. | Monotonic counters in memories |
US11579784B2 (en) | 2019-11-27 | 2023-02-14 | Micron Technology, Inc. | Refresh counters in a memory system |
US11567691B2 (en) * | 2020-01-22 | 2023-01-31 | Infineon Technologies LLC | Continuous monotonic counter for memory devices |
FR3120760B1 (fr) | 2021-03-15 | 2023-03-03 | Proton World Int Nv | Compteur Monotone |
FR3120759B1 (fr) | 2021-03-15 | 2023-02-17 | Proton World Int Nv | Compteur monotone |
US11901899B2 (en) | 2021-04-26 | 2024-02-13 | Winbond Electronics Corp. | Monotonic counter memory system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4947410A (en) | 1989-02-23 | 1990-08-07 | General Motors Corporation | Method and apparatus for counting with a nonvolatile memory |
US6084935A (en) | 1998-08-13 | 2000-07-04 | Microchip Technology Incorporated | Binary counter and method for counting to extend lifetime of storage cells |
US6249562B1 (en) * | 1999-08-23 | 2001-06-19 | Intel Corporation | Method and system for implementing a digit counter optimized for flash memory |
-
2003
- 2003-01-21 US US10/348,782 patent/US6792065B2/en not_active Expired - Lifetime
- 2003-12-16 KR KR1020057013506A patent/KR20050096947A/ko not_active Application Discontinuation
- 2003-12-16 WO PCT/US2003/040000 patent/WO2004068273A2/en active IP Right Grant
- 2003-12-16 CA CA002513734A patent/CA2513734A1/en not_active Abandoned
- 2003-12-16 CN CNB2003801098929A patent/CN1322469C/zh not_active Expired - Fee Related
- 2003-12-16 AU AU2003300961A patent/AU2003300961A1/en not_active Abandoned
- 2003-12-16 JP JP2004567428A patent/JP2006513507A/ja not_active Withdrawn
- 2003-12-16 EP EP03815650A patent/EP1588320B1/en not_active Expired - Lifetime
- 2003-12-16 DE DE60313807T patent/DE60313807T2/de not_active Expired - Lifetime
-
2004
- 2004-01-05 TW TW093100123A patent/TW200414024A/zh unknown
-
2005
- 2005-08-22 NO NO20053908A patent/NO20053908L/no not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003074A (ja) * | 2008-06-19 | 2010-01-07 | Konica Minolta Business Technologies Inc | カウントデータ記録装置、および、カウントデータ記録方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2513734A1 (en) | 2004-08-12 |
US20040141580A1 (en) | 2004-07-22 |
WO2004068273A2 (en) | 2004-08-12 |
EP1588320A4 (en) | 2006-03-29 |
CN1754180A (zh) | 2006-03-29 |
CN1322469C (zh) | 2007-06-20 |
EP1588320B1 (en) | 2007-05-09 |
AU2003300961A8 (en) | 2004-08-23 |
WO2004068273A3 (en) | 2004-12-09 |
TW200414024A (en) | 2004-08-01 |
DE60313807T2 (de) | 2008-01-24 |
NO20053908L (no) | 2005-10-20 |
EP1588320A2 (en) | 2005-10-26 |
AU2003300961A1 (en) | 2004-08-23 |
DE60313807D1 (de) | 2007-06-21 |
US6792065B2 (en) | 2004-09-14 |
NO20053908D0 (no) | 2005-08-22 |
KR20050096947A (ko) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006513507A (ja) | 不揮発性メモリの耐久限度を超えたカウント方法 | |
KR101541736B1 (ko) | 멀티-레벨 셀 플래시 메모리 장치에서의 lsb 페이지 복구 방법 | |
US8526605B2 (en) | Data encryption to provide data security and memory cell bit wear leveling | |
US7245556B1 (en) | Methods for writing non-volatile memories for increased endurance | |
US8301912B2 (en) | System, method and memory device providing data scrambling compatible with on-chip copy operation | |
EP0880782B1 (en) | Multiple writes per a single erase for a nonvolatile memory | |
US6781877B2 (en) | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells | |
EP0492106B2 (en) | Endurance management for solid state files | |
US8775901B2 (en) | Data recovery for defective word lines during programming of non-volatile memory arrays | |
US8843693B2 (en) | Non-volatile memory and method with improved data scrambling | |
US20100014349A1 (en) | Programming non-volatile storage using binary and multi-state programming processes | |
US20090006929A1 (en) | Erased Sector Detection Mechanisms | |
CN1653554A (zh) | 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统 | |
CN101999116A (zh) | 通过交叉页面扇区、多页面编码以及每一页面编码将数据存储在多级单元闪速存储器装置中的方法和设备 | |
TW200537510A (en) | Compressed event counting technique and application to a flash memory system | |
US5450460A (en) | Non-volatile electronic counter with improved reliability and a substantitally increased maximum count | |
WO2008078314A1 (en) | Flash memory device, system and method with randomizing for suppressing error | |
US20140089560A1 (en) | Memory devices and methods having write data permutation for cell wear reduction | |
US20160119146A1 (en) | Secure Data Shredding in an Imperfect Data Storage Device | |
WO2007076492A2 (en) | Methods and systems for writing non-volatile memories for increased endurance | |
US7328302B2 (en) | Device and method for treating a state of a memory | |
US20050086440A1 (en) | Method and system for enhancing the endurance of memory cells | |
WO2009139115A1 (ja) | 半導体記録装置 | |
WO1997012368A1 (en) | Multiple writes per a single erase for a nonvolatile memory | |
CN1409492A (zh) | 纠错码电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070306 |