JP2004516536A - メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 - Google Patents
メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 Download PDFInfo
- Publication number
- JP2004516536A JP2004516536A JP2002550258A JP2002550258A JP2004516536A JP 2004516536 A JP2004516536 A JP 2004516536A JP 2002550258 A JP2002550258 A JP 2002550258A JP 2002550258 A JP2002550258 A JP 2002550258A JP 2004516536 A JP2004516536 A JP 2004516536A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- user data
- blocks
- attribute
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
Description
【発明の属する技術分野】
本発明は、半導体メモリシステム、特に、不揮発性メモリシステムに関し、フラッシュ方式の電気的に消去可能でプログラム可能なリードオンリメモリ(EEPROM)に適用可能である。
【0002】
【従来の技術】
特に、ホストシステムと取り外し可能に接続される密閉式カードにフラッシュEEPROMシステムがパッケージ化されている場合、上記システムは複数のアプリケーションに適用される。現在市販のメモリカードのフォーマットには、パーソナル・コンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(登録商標)(CF)、マルチメディアカード(MMC)およびセキュアデジタル(SD)のフォーマットが含まれている。これらのカードの1つのサプライヤは、本願の譲受人であるサンディスク コーポレイションである。上記のようなカードを用いるホストシステムにはパーソナル・コンピュータ、ノートブック型コンピュータ、携帯型計算機、カメラ、オーディオ再生用機器等が含まれる。フラッシュEEPROMシステムは、ホストシステムに組み込まれた大容量記憶装置としても利用される。
【0003】
このような不揮発性メモリシステムにはフローティングゲート・メモリセルからなるアレイとシステム・コントローラとが含まれる。コントローラは、ホストシステムとの通信およびメモリセルアレイの動作の管理を行い、ユーザデータの記憶と検索とを行う。上記メモリセルは、一緒にグループ分けされて複数のセルブロックに変えられる。1セルブロックは同時消去可能なセルからなる最小グループである。データが2以上のセルブロックの中へ書込まれる前に、当該セルブロックは消去される。ユーザデータは一般にホストとメモリアレイ間でセクタの形で転送される。1セクタのユーザデータは処理に都合のよい任意の量であってもよく、好ましくはメモリブロックの容量よりも少ない量であることが望ましいが、標準的ディスク・ドライブのセクタサイズ(512バイト)に等しい量となる場合が多い。1つの市販アーキテクチャでは、メモリシステムのブロックサイズは、ユーザデータおよびオーバヘッド・データからなる1セクタを記憶するサイズであり、このオーバヘッド・データには上記ブロックに記憶されたユーザデータに関連する誤り訂正符号(ECC)、そのブロックの使用履歴、欠陥およびメモリセルブロックについての他の物理情報のような情報が含まれる。このタイプの不揮発性メモリシステムの種々の実施構成については、サンディスク コーポレイションに譲渡された以下の米国特許および係属中の特許出願に記載があり、各々はここにその全体が参照により取り入れられている。これらは、米国特許第5,172,338号、第5,602,987号、第5,315,541号、第5,200,959号、第5,270,979号、第5,428,621号、第5,663,901号、第5,532,962号、第5,430,859号、第5,712,180号および1997年8月7日出願の米国特許出願第08/910,947号並びに1999年6月30日出願の米国特許出願第09/343,328号である。
【0004】
別のタイプの不揮発性メモリシステムではさらに大きなサイズのメモリセルブロックが利用されるが、各ブロックにはブロック当たり複数のページが記憶され、1ページは単一のプログラミング処理の一部としてプログラムされる最小ユニットのデータである。ユーザデータと、このようなデータが記憶されているブロックとに関連するオーバヘッド・データと共に、一般に1セクタのユーザデータが1ページの中に含まれている。本願出願日からサンディスク コーポレイションにより市販されて2年以上になるさらに別の具体的なシステムでは、ECCのような記憶されているユーザデータに関連するオーバヘッド・データが、共通セクタ内のユーザデータと共に記憶されているが、セクタが記憶されているブロックに関連するオーバヘッド・データは異なるブロック内の異なるセクタの一部として書込まれる。上記システムの一例は、2000年2月17日出願の米国特許出願第09/505,555号に記載されている。上記出願は、ここにその全体が参照により取り入れられている。
【0005】
メモリセルアレイの1つのアーキテクチャにより、1ブロックが1列または2列のメモリセルから好適に形成される。上記メモリセルはサブアレイまたは別のセルユニット内にあり、共通の消去ゲートを共有する。サンディスク コーポレイションの米国特許第5,677,872号と第5,712,179号に上記アーキテクチャの例が記載されている。上記特許は、ここにその全体が参照により取り入れられている。2つのプログラムされたしきい値レベルだけを設定することにより各フローティングゲートセルの中に1ビットのデータを記憶することが現在最も一般的であるが、現在のトレンドとして、3以上のフローティングゲート・トランジスタしきい値範囲を設定することにより各セル内に2ビット以上のデータを記憶することがある。フローティングゲート当たり2ビットのデータ(4個のしきい値レベル範囲または状態)を記憶するメモリシステムが現在利用可能であり、セル当たり3ビット(8個のしきい値レベル範囲または状態)とセル当たり4ビット(16個のしきい値レベル範囲)が将来のシステム用として意図されている。言うまでもなく、1セクタのデータの記憶に必要なメモリセルの個数は、各セルに記憶されるビット数が増えるにつれて減少する。セル構造の改善および一般的半導体処理の改善から結果として生じるアレイのスケーリングと組み合わされて、このトレンドにより、1列のセルのセグメント化部分でのメモリセルブロックの形成が現実的なものとなっている。ここにその全体が参照により取り入れられているサンディスク コーポレイションの米国特許第5,930,167号に記載のように、2状態(セル当たり1データビット)または4状態(セル当たり2データビット)のような多状態でのメモリセルの各動作の選択が可能となるように上記ブロック構造を形成することも可能である。
【0006】
データをプログラムしてフローティングゲート・メモリセルに変えるにはかなりの時間がかかる場合があるため、一般に多数の1列をなすメモリセルが同時にプログラムされる。しかし、この同時性の増加に起因して、電力要件および隣接セルの潜在的電荷障害あるいは当該隣接セル間での相互の影響が増大する。ここにその全体が参照により取り入れられているサンディスク コーポレイションの米国特許第5,890,192号に、多数のデータチャンクの同時プログラミングを行って、異なる動作メモリセルユニット(サブアレイ)に配置される異なるセルブロックに変えることによりこれらの影響を最小化するシステムについての記載がある。
【0007】
上述の参照された特許に、ワードラインを含む列をなす個々のメモリセルを隣接ビットライン間で接続するメモリアレイ設計(“NOR”アーキテクチャ)についての記載がある。“NAND”アーキテクチャも不揮発性メモリアレイとして市販され広く使用されている。その場合多数のメモリセルのストリングが個々のビットラインと基準電位との間で直列に一体に接続され、このような多数のストリングの各々からなる1つのセルからセル列が形成される。他の具体的なアーキテクチャも上記特許に提案されている。上述の参照された特許には、導電材料からつくられた1つまたは2つのフローティングゲートを利用する1つのタイプの不揮発性メモリセルについての記載もある。上記フローティングゲートに電子電荷のレベルが記憶され、セルの事実上のしきい値レベルの制御が行われる。様々なメモリアレイ・アーキテクチャにおける有用な電子を蓄える別の技術の中には、導電性フローティングゲートを用いる代わりに2つの誘電体層間の誘電体層の中に電子を捕捉する技術が含まれる。さらに、上述の参照された特許には、1回に2以上のブロックの消去中、セルの記憶エレメントから電荷を取り除く対象となる消去ゲートの利用についての別の記載がある。別の技法では、電子は記憶エレメントから消去電極としての基板に対して消去される。
【0008】
(発明の開示)
本発明の1つの局面によれば、端的にかつ一般的に言えば、ユーザデータとこのデータに伴うオーバヘッド・データとからなる1またはいくつかの整数個のセクタを制約して個々のデータページを満たすようにする代わりに、少なくともいくつかのこのようなデータセクタが2以上のメモリページ間で分割される。1つの構成では、ユーザデータからなる1以上のセクタは、このデータに伴うすべてのオーバヘッド・データと共に、オーバヘッド・データの一部がメモリの1ページにまとめてプログラムされるか、もしくは、オーバヘッド・データのいずれもメモリの1ページにまとめてプログラムされないかのいずれかとなる。一方、同様に構成された別のセクタが2以上のページに分割され、プログラムされて、当該ページの記憶容量の有効利用が図られる。別の構成では、ユーザデータの個々のセクタは、少なくともそのオーバヘッド・データの或る一部の有る無しにかかわらず、当該ページが記憶されているページ容量よりも大きなセクタとなり、その結果、上記個々のセクタはセクタ毎に2つのページの間で実質的に分割される。これらのアプローチにより、改善されたパフォーマンスを備えた特定のメモリブロックとページアーキテクチャとを効率的に利用する多くの可能性が開かれる。各ページまたはブロックに整数個のデータセクタを記憶しなければならないという制約がメモリシステムにある場合、上記可能性は生じ得ない。ブロックが各々多数のページを含むシステムと、個々のブロックが単一ページを含むシステムとの双方のシステムにおいて上記技法は適用される。
【0009】
本発明の別の局面によれば、1セクタには主としてユーザデータしか含まれないが、当該ユーザデータのオーバヘッド・データとユーザデータが書込まれているブロックのオーバヘッド・データの双方のオーバヘッド・データは、1以上の別のページの一部としてメモリセルの別のブロックに記憶される。これは、所定サイズのブロックに記憶できるユーザデータの量を増やすという利点を持ち、データの内容が音楽や別のオーディオ情報やビデオ情報の場合に生じるようなストリーミングデータの読込みまたはプログラミング用としての特定のアプリケーションを有する。この技法には、1つの周波数を更新するのに別の周波数の更新を必要とすることなく、ユーザデータとオーバヘッド・データとを更新する異なる周波数の調整が可能であるという利点もある。これにより、特に、読出し回数および/またはプログラミング回数の減少によるシステム・パフォーマンスの向上が図られる。さらに、この利点により、記憶するオーバヘッド・データの量が、既存のシステムにおいてユーザデータとオーバヘッド・データとを記憶するページサイズおよびブロックサイズから独立させることが可能となる。
【0010】
本発明のこれらの局面の双方を組み込んだシステムのある具体例では、ユーザデータとこのデータに伴うオーバヘッド・データのセクタを記憶するように設計されたページを持つメモリシステムが、システムの設計目的とは別様に利用される。オーバヘッド・データをほとんどまたはすべて持たない複数のユーザデータ・セクタが、従来のものより少ない数のメモリページの中へパックされ、さらに、複数のこのようなユーザデータ・セクタと関連する対応するオーバヘッド・データが一体に組み合わされて、メモリの別のページに記憶されたオーバヘッド・データセクタが形成される。これにより、長いプログラミング処理時に特段の利点が生じる。なぜなら、不揮発性メモリに書込まれるユーザデータ・セクタに対応するオーバヘッド・データが、コントローラの一部であるより高速なバッファメモリの中に累積され、次いで、バッファから不揮発性メモリへ上記オーバヘッド・データの同時書込みを行うことが可能となるからである。これにより読出し動作中の処理速度も増加する。なぜなら、読出されるユーザデータ・セクタに対応するオーバヘッド・データのセクタが、コントローラのさらに高速なバッファメモリの中へ最初に読出されるからである。その場合、ユーザデータ・セクタの読出しの一部として必要なオーバヘッド・データを不揮発性メモリから直接読出すことができる場合よりも高速に上記データをバッファから読出すことが可能となる。ユーザデータ・セクタのECCの場合、これは特段の利点となる。なぜなら、ユーザデータ・セクタを読出すとき、バッファメモリから直接ECCの処理を行うことも可能となるからである。
【0011】
本発明の追加の局面、特徴および利点は、本発明の実施形態の好適例についての以下の説明の中に含まれ、添付図面と関連して考慮されることが望ましい。
【0012】
【発明の実施の形態】
図1は、本発明に関係する不揮発性メモリシステムの主要構成要素を示す図である。コントローラ11は、ライン13を介してホストシステム(図示せず)と通信する。1つの集積回路チップを占めるように示されているコントローラ11は、ライン15を介して1以上の不揮発性メモリセルアレイと通信を行う。このような1つのアレイ17が示され、このアレイの各々は通常別個の集積回路チップ上に形成される。図示されたコントローラは、フラッシュEEPROMアレイ(図示の例)を持たない単一集積回路チップ、あるいは、システムのメモリセルアレイのいくつかあるいはシステムのメモリセルアレイのすべてを備える単一集積回路チップのいずれかの単一集積回路チップに通常含まれる。たとえメモリセルアレイがコントローラ回路チップに含まれていても、メモリアレイおよびこのメモリアレイと関連する回路構成のみを各々が含む追加の1以上のチップがシステムに含まれている場合が多い。
【0013】
この例では、ユーザデータは、ライン15を介してコントローラ11とメモリアレイ17との間で転送される。この例では、メモリアレイは、ライン15を介してコントローラ11によってもアドレス指定される。図1に示すメモリシステムはホストシステムの一部として組み込んだり、上述したカード規格のうちの1つの規格や別の何らかの規格に準拠するカードのようなカードの中にパッケージ化したりすることが可能である。カードの場合、ライン13は、ホストシステム内の相補形ソケットと接続するカードの外部端子で終端する。1つのコントローラチップと複数のメモリ・チップの使用が一般的ではあるが、トレンドとしては、言うまでもなく、これらの回路を組み合わせることによりこのようなシステム用としてより少ない数の別個のチップを使用することがある。例示のメモリ・チップの1つのチップの容量の一例は、256メガビットであり、その結果、64メガバイトのデータ容量を持つ不揮発性メモリシステムを形成するのに、2つのこのようなメモリ・チップとコントローラチップしか必要としない。単一のさらに小容量のメモリ・チップを使用し、より容量の少ないメモリシステムが結果として得られる。8メガバイトシステムが1つの市販例である。逆に、システムにおけるより高ビットの記憶密度の利用および/またはさらに多くのメモリアレイチップの利用を伴うメモリ・チップの利用はさらに高容量のシステムを結果としてもたらすことになる。コントローラ11には、マイクロプロセッサすなわちコントローラ・インタフェース論理回路25を介して内部メモリと接続されたマイクロコントローラ23が含まれ、外部構成要素とのインタフェースが行われる。プログラム・メモリ27は、メモリシステム処理の制御のためにマイクロコントローラ23によりアクセスされるファームウェアとソフトウェアとを記憶し、接続されたメモリアレイからのデータの読出し、ホストへの当該データの伝送、ホストからメモリ・チップへのデータの書込み、および、その他多数のモニタ機能と制御機能が実行される。メモリ27は、再プログラム可能な揮発性ランダムアクセスメモリ(RAM)、再プログラム不能の不揮発性メモリ(ROM)、1回のプログラムが可能なメモリ(OTP)または再プログラム可能なフラッシュEEPROMシステムであってもよい。メモリ27が再プログラム可能であれば、コントローラを構成して、ホストシステムがメモリ27をプログラムできるようにすることが可能となる。(ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)のような)ランダムアクセスメモリ(RAM)29を用いて、他のデータの中で、不揮発性メモリ17内のデータから形成されるテーブルが記憶される。上記データは読出し動作と書込み動作中アクセスされる。RAM29には、コントローラ・プロセッサ23が使用する複数のレジスタも含まれる。
【0014】
論理回路31はホスト通信回線13とのインタフェースを行い、一方、別の論理回路33はライン15を介してメモリアレイとのインタフェースを行う。別のメモリ35は、ホストシステムと不揮発性メモリ間で転送されるユーザデータを一時的に記憶するバッファとして使用される。コントローラ内のメモリは通常揮発特性を有する。なぜなら、高速アクセス、および、効率的なコントローラアクセスを行うために望ましい他の特性を備えたメモリは上記揮発特性を有し、上記メモリを物理的に組み合わせて単一メモリにすることも可能であるからである。専用処理回路37は、ECCまたは別のタイプの冗長性コードをユーザデータから生成するために、コントローラとフラッシュ・インタフェース25と33との間で転送されるストリーミング・ユーザデータにアクセスする。プログラミング中、生成されたECCは、ECCの計算の根拠となるデータと共にメモリアレイ17に記憶される。読出し動作中、回路37により生成されたECCは、メモリアレイ17から読出されたECCと比較されるが、上記読出しは、メモリアレイ17から読出されたECCのプログラミング中行われる計算の根拠となるデータと共に行われる。
【0015】
フラッシュメモリ17にはメモリセルアレイが含まれるが、このメモリセルアレイは従来の技術の欄で記載したタイプの1つおよびアーキテクチャの1つに準拠するものであってもよいし、あるいは、別の何らかのタイプおよび/またはアーキテクチャであってもよい。このようなアレイは物理的に分割されて、同時消去可能な別個のメモリセルブロックに変えられるが、その場合、1ブロックが消去可能なメモリセルの最小ユニットとなる。上記ブロックには同数のメモリセルが個々に含まれ、例えば、528バイトのデータが記憶されているブロックもあれば、4096バイトのデータが記憶されているブロックもある。言うまでもなく、所定のデータ量の記憶に必要なメモリセルの数は各セルに記憶されるデータのビット数により決められる。複数のセルブロックが、一括消去用として通常一度にアドレス指定される。大きなサイズのブロックは、一般に、順に分割されて別個の複数ページのメモリセルになるが、この場合、1ページが単一のプログラム処理時にプログラム可能なメモリセルの最小ユニットとなる。実際に使用可能な限り多くのメモリセルが同時にプログラムされ、所定のデータ量をプログラムするのに必要な時間の短縮が図られる。1ページ内のセルのすべてを同時にプログラムするシステムもあれば、すべてのチャンクがプログラムされてしまうまで、1回に1ページの別個のチャンクのセルをプログラムして別のセルに対する電荷の妨害を最小化するようにする別のシステムもある。1つの特定のシステムでは、各ページに4個のチャンクがある。単一のプログラミング用チャンクの場合よりも多数のセルが通常同時に読出される。
【0016】
図2を参照すると、1セクタのデータの構成要素には、ユーザデータからなる多数のバイト43と、ユーザデータの属性を示す数バイト45と、セクタ全体が記憶されているページおよび/またはブロックの属性を示す数バイト47とが通常含まれる。すなわち、ユーザデータのストリームまたはファイルはユーザデータ・セクタ43に分割され、次いで、属性データフィールド45と47が各ユーザデータ・セクタに追加されて、記憶用の完全なデータセクタが形成される。セクタ43に含まれるユーザデータの典型的量は512バイトであり、ディスク記憶システムのセクタでのユーザデータの量と同じである。ユーザデータの属性45には通常ECCが含まれ、このECCは、セクタのプログラミング中および読出し中の双方の間、同一セクタ内に記憶されるユーザデータからコントローラにより計算される。セクタが記憶される場合が多い物理ブロックの属性47(ページ毎に属性47を記憶してもよい)には、ブロックの物理アドレスと、ブロックの論理アドレスと、ブロックの消去された回数と、ブロックのセルに印加すべきプログラミング用電圧および/または消去用電圧、および、その他の任意のブロック特性が含まれる。別のECCが通常、属性データから計算され、属性フィールドの一部として記憶される。
【0017】
メモリシステムへの着信データが記憶される前に、この着信データは何らかの方法で変換される場合が多い。例えば、2進システムでは、着信データのプログラミング前にデータの0と1とを反転して、所定ブロックでの静的なパターンのプログラミングの反復の回避が図られ、次いで、上記着信データはしばらくしてから変更が行われて元に戻され、ブロックのメモリセルの摩耗を均すようにすることができる。多状態システムでは、上記データはある所定の順序でその複数状態間で回転(変換)される。データ変換が行われる場合、適用された変換を示すフラグは、変換がページベースで行われれば、データ属性45の一部として、あるいは、変換がブロックベースで行われれば、ブロック属性47の一部としてのいずれかで記憶される。このようなデータがメモリから読出されると、記憶された変換フラグにより、コントローラは変換の反転を行うことが可能となり、それによって、ホストへデータを伝送する前の当初受信したデータの形へ読出しデータを変換して元の形に戻すことが図られる。行われる可能性のある変換の別の例としてユーザデータの暗号化がある。その場合、解読中に利用する暗号化キーを変換フラグに含むことができる。
【0018】
図3は、従来行われてきたことを示す具体例として、メモリセルのブロックのデータ内容を一般的に示す図である。このデータ内容はサンディスク コーポレイションの製品で長年にわたり用いられてきたものである。個々の各ブロック49には1セクタに値するデータ、すなわち、528バイトを記憶するのに十分なメモリセルが含まれる。ユーザデータ51は512バイトである。ユーザデータ属性53とブロック属性55とに加えて、ブロック49の記憶空間の残りの16バイトには予備セルが含まれる。予備セルは、ブロック内の欠陥セルを取り替える当該システムで提供される。これを行うとき、欠陥セルのアドレスはブロック属性データ55の一部でもある。
【0019】
サンディスク コーポレイションの製品で用いられているごく最近の変更例が図4に例示されている。図3のデータ記憶フォーマットの場合との主要な相違点として、ユーザデータと同じブロックにブロック属性を記憶しないという点が挙げられる。例えば、ブロック59には、512バイトのユーザデータ61が記憶され、8バイトのECCとフラグとがユーザデータ属性63として記憶されている。これによって、8バイトのユーザデータおよび/または属性データを記憶できるほど十分なサイズのブロック59の中に複数の予備メモリセル65が残され、ユーザデータまたは属性データが通常記憶されるブロック59内のいずれの欠陥セルも取り替えられる。ブロック59の属性データ67が別のブロック69に記憶されるが、この属性データは4バイトしか必要としない。実際、ブロック69には、ユーザデータを含む別のブロックのためのこのような複数のブロック属性レコードが含まれる。このデータ・アーキテクチャについては上述の特許出願第09/505,555号にさらなる記載がある。
【0020】
図5は、しばらくの間他社により使用されていた市販の、さらに異なるアーキテクチャに基づくメモリシステムの1つのブロック71を示す。ここにおいて、ブロック71は図3と図4のシステムのブロック71よりもずっと大きなブロックであり、一般に16〜32キロバイトのデータ記憶容量を持つものである。ブロック71は16、32または64ページなどの複数ページに分割される。この具体例では、1ページに、512バイトのユーザデータ73と合計16バイトのユーザデータ属性75とブロック属性77とが含まれる。予備セルは設けられていない。1ページがプログラミングと読出しのユニットであるが、さらに大きなブロックが消去用のユニットとして残っている。完全にプログラムされたブロックが消去された後、ブロック内の任意の1ページにデータの書込みが可能となる。
【0021】
図3〜図5のシステムの各々では、記憶データのユニットは、設けられた物理メモリのブロックまたはページのサイズに一致するように制約が設けられる。従来、データセクタ構造の変更は、この変更を受け入れる物理的メモリ構造の変更を必要とすると考えられていた。このような変更は非常にコストがかかり、多大の時間を要するため、このような理由がなければ望ましいことであるにもかかわらず、必然的にデータセクタ構造の変更を行う気がそがれることになる。
【0022】
したがって、本発明の1つの局面によれば、図6に非常に一般的に示されているように、物理的構造を変更する必要なく、データセクタ構造が、異なる物理的メモリブロックとページ構造とに適合される。図6Aは、記憶セクタまたはデータの別のユニットが個々のメモリセルブロックの容量よりも小さいケースを示す。例えば、データセクタ81は、ページまたはブロック83内で完全にぴったりと合うのに対して、別のデータセクタ85はページまたはブロック83の中に部分的に記憶され、さらに、ページまたはブロック87の中に部分的に記憶される。別々の処理時に、データがページまたはブロックの各々の中へ書込まれ、ページまたはブロックの各々から読出されるため、このような2つの処理時にデータセクタ85の書込みが行われる。ページまたはブロック83の中へ書込まれるデータセクタ85の部分は、好ましくは、このような書込みに先行してコントローラ・メモリ内のデータセクタ81と組み合わされ、単一の処理でページまたはブロック83のプログラミングを意図することが望ましい。好ましくは、データも、ページまたはブロックの各々のプログラミングに先行して2つの隣接データセクタから同様に組み合わされることが望ましい。
【0023】
図6Bは、データセクタのサイズの方が個々のページまたはブロックに記憶可能なサイズよりも大きい別の状況を示す。データセクタ89は、ページまたはブロック91と93の双方に記憶される。別のデータセクタ95はページまたはブロック93の残り部分に記憶され、さらに、別のページまたはブロックに記憶される。93のような2つのデータセクタ部分を含むページまたはブロックのプログラミングは、好ましくは、データセクタ89と95のような2つのデータセクタの各々から得られたデータが部分的に記憶された後、コントローラ・メモリの中で組み立てられることが望ましい。逆に、データセクタの読出し中、所望のセクタから得られたデータを含む2ページまたは2ブロックの各々の中のデータが読出され、上記データはコントローラ・メモリの中で組み立てられ、2つのデータセクタのユニットの中へ入れられる。次いで、これら2つのデータセクタはコントローラによりホストシステムへ転送される。
【0024】
図6に例示のデータセクタは、(1)ユーザデータのみ、(2)ブロック属性を伴わないユーザデータとユーザデータ属性との組み合わせ、または(3)ユーザデータ、ユーザデータ属性とブロック属性とのすべての組み合わせのいずれかを含むものであってもよい。いずれの残りの属性データも、異なるブロックに記憶することが可能であり、1つのリンクが2つの異なるブロック間に設けられる。メモリアレイの単一の物理ページまたはブロックにセクタのユーザデータをすべて記憶する必要はない。
【0025】
第1のシステムの実施形態
図7は1つの具体的な現行の市販メモリシステムのアレイとデータ・アーキテクチャとを示す図であり、図8〜図11は本発明に基づいてこのシステムに対して行われた改変例を示す図である。現行のメモリアレイ101(図7)は多数のブロックB(このケースでは4096個のブロック)に分割される。ブロック103などのこれらのブロックの各々は、複数のページP(このケースでは1ブロック当たり32ページ)に分割される。512バイトのユーザデータ107と16バイトの属性(オーバヘッド)データ109とを記憶するようにページ105のような各ページが構成される。ページ属性データ109には、少なくともユーザデータ107から計算されるECC111と、ページが置かれる論理ブロック数(LBN)113と、2つのフラグ115と117とが含まれる。ECC111は、一般にユーザデータの属性である。残りのページ属性データから別々のECC(図示せず)を計算し、次いで、ページ属性データ109内にこのECCを記憶してもよいが、フィールド113、115、117のようなフィールドのなかには、十分なECCを持たずに記憶されているフィールドもよく見かけられる。LBN113は、ページが置かれているブロックの属性であり、見てわかるように、1ブロック内の32ページの各々で反復される。
【0026】
図8は、ブロック103の改変された使用例を示し、ユーザデータの追加セクタの記憶が行われるが、上記追加セクタは各ページにすでに含まれているオーバヘッド・データを伴わずに記憶される。ユーザデータ(S0〜S32)の33個のセクタSがメモリブロック103の32ページ(P0〜P31)に記憶される。各ユーザデータ・セクタには512バイトのデータが含まれる。第1のセクタS0は、16バイトのオーバヘッド・データが通常記憶される第1のページP0のメモリセルを除くすべてのメモリセルを充填する。当該16バイトの容量は、次のユーザデータ・セクタS1の第1の16バイトの記憶に用いられ、データセクタS1の残りは第2のページP1に記憶される。次いで、これにより32バイトの容量が第2のページP1に残り、この第2のページP1は第3のデータセクタS2の初めの部分の記憶に用いられ、S2の残り部分は第3のページP2に記憶される等々。物理セクタ数とデータセクタ数とに起因して、各ブロックが33個のセクタのユーザデータで完全に満たされることが判る。しかし、このような均等な割当てが、異なる物理ページサイズ、ブロックサイズおよびデータセクタサイズを持つ別のシステムに存在しない場合、別のデータセクタの一部用として当該残り容量の使用が可能であり、データセクタの残り部分は異なるブロック内の別のページに記憶される。
【0027】
1ページのブロック103が、1回のプログラミング処理時に書込み可能なメモリの最小ユニットであるため、好ましくは、個々別々のセクタS0〜S32から得られるユーザデータをコントローラのメモリ内で組み立てて、図8に示すページの中へ入れることが望ましい。すなわち、ブロック103へ第1のページP0を書込む前に、第2のユーザデータ・セクタS1の第1の16バイトがセクタS0の終端部と接続され、次いで、上記ページがプログラムされる。同様に、第2のページP1の場合、セクタS1の残りのデータは、コントローラの不揮発性メモリ内でセクタS2からのデータの第1の32バイトと組み合わされ、次いで、この組み合わせは当該メモリから不揮発性メモリの第2のページP1の中へ書込まれる。
【0028】
別のブロック121の異なるデータ構造が図9に示されている。ページ123のような当該ブロックの各ページは、図8のブロック133のような別のブロックに記憶されたユーザデータのセクタを伴う属性(オーバヘッド)データの複数のレコードを記憶する。一実施形態では、ブロック133用の全てあるいはほとんど全ての記憶ブロック属性データおよび当該ブロックに記憶された33個のユーザデータ・セクタの各セクタのユーザデータ属性がページ123に記憶される。ページ123のデータ構造と、ブロック121へ書込まれた1つおきのページのデータ構造とのある具体例を図10に示す。ブロック121には32ページが存在するため、ブロック103のタイプの32個のユーザデータブロックのすべてに関連するブロック121のタイプの少なくとも1つの属性データブロックが存在することになる。
【0029】
図10に示す属性ページには図8に示す形のブロックの属性を記憶するフィールド125が含まれ、このフィールドには対応するユーザデータが記憶されている。別個のフィールドが、図8のブロック103に記憶された各データセクタ用として設けられ、フィールド127(図10)にはブロック103(図8)のユーザデータ・セクタS25の属性が記憶される。ユーザデータ・セクタ属性レコードの各々にはユーザデータの対応するセクタから計算されるECC129が含まれる。当該ユーザデータの回転を131に記憶することが可能であり、さらに、対応するセクタのユーザデータの他の属性を133に記憶することも可能である。
【0030】
説明のために、ブロック103(図8)の属性125(図10)が物理的属性と論理的属性とに分割されて示されている。この例では、物理的属性には、ユーザデータブロック103の物理アドレス(PBN)135と、1以上の別の属性137とが含まれ、上記1以上の別の属性137には、当該ブロックの消去された回数の経験カウント、プログラミング電圧、消去電圧等を含むことができる。フィールド135と137のECC139を設けてもよい。ブロック103の論理属性は、ユーザデータブロック103の論理アドレス(LBN)141、属性ページ123がブロック121へ最後に書込まれた時刻143、ページ123内のユーザデータまたはデータの変換フラグ145と、フィールド141、143、145のECC147とを含むことが可能である。ECCなしでフィールド131と135とを設けることが可能である。
【0031】
変換フラグフィールド131がユーザデータ属性に含まれていなければ、ブロック属性の変換フィールド145により、対応するブロック103のすべてのユーザデータ・セクタ内でのデータの変換と、属性データページ123のデータの変換とが指定される。変換フィールド131が含まれていれば、変換フィールド145のみがそのページ123内の当該データの変換を指定する。
【0032】
タイム・フィールド143には、ある対応するユーザデータブロック103が最後に更新された時刻を示す何らかの表示が記録される。このメモリシステムがリアルタイムのクロックを備えていれば、更新が行われる時刻が記憶される。しかし、ほとんどのシステムはこのようなクロックを備えていないため、フィールド143が、対応するユーザデータブロックのデータの更新時刻を示す値を記録するようにしてもよい。ある特定の実施構成では、別々のカウントが各LBN用フィールド143の中に保持され、その対応する論理ブロックのユーザデータが書き換えられる度にカウントが読出され、増分される。次いで、システム・コントローラはフィールド143の内容を利用し、同一のデータを含む、あるいは、同一のLBNにより識別される2つのブロックのうちのいずれかが一番最近のブロックであるかの決定が行われる。
【0033】
ブロック・セクタとユーザデータ・セクタとから別個に属性を記憶する利点として、ユーザデータブロック全体の属性データを1回書込むだけでよいという点が挙げられる。さらに、対応するユーザデータブロックの属性は、現在行われているように、ユーザデータの各ページの一部として複製されるのではなく、当該ブロックの属性データページの一部として1回しか記憶されない。プログラミング中、ユーザデータがその対応するブロック103へ書込まれると、ページ123(図10)がコントローラのメモリの中に形成される。次いで、記憶されているファイルの全てのユーザデータがブロック103へ書込まれた後、ページ123がブロック121の中へ書込まれる。ファイルサイズが、2以上のユーザデータブロックへのユーザデータの書込みを必要とする場合、このような各ブロック用のコントローラ・メモリの中に別個の属性レコードページが形成され、次いで、このファイルのすべてのユーザデータがプログラムされた後、すべての属性レコードページが不揮発性メモリへ書込まれる。
【0034】
例えば、記録の必要がある属性データページ123に対する変更が生じた場合、当該ページは、コントローラにより読出され、そのメモリの1つに入れられ、当該メモリのデータに対する変更が行われ、次いで、当該ページはページ151のようなブロック121の未使用ページへ書き戻される。属性データのタイム・フィールド143(図10)が更新され、その結果、プロセッサは当該データの現在のバージョンと古いバージョンとを区別できるようになる。現在のバージョンのみが使用される。未書込みページがブロック121に存在しなければ、予備用ページを持つ属性ページの他の何らかのブロックに対して更新属性データが書込まれる。ブロック121およびブロック121に似た他のブロック内に十分な数の古い属性レコードが存在する場合、現在のレコードがコントローラのメモリの中へ読出され、当該ブロックの消去が可能となり、現在のレコードがそのブロックの中へ書き戻される。電力の損失の結果生じるデータの損失を避けるために、コントローラのメモリが通常揮発性タイプのメモリとなるため、元のブロックの消去に先行して、前に消去した異なる不揮発性メモリブロックへブロックの現在のレコードのコピーを代わりに行うことも可能である。いずれの場合にせよ、結果として、更新されたページまたは新しい属性ページの記憶に将来利用する元のブロックまたは異なるブロックのいずれかのブロックに予備用の未書込みページが作成される。
【0035】
図8〜図11との関連で説明する非常に具体的な例を多くの点で改変しながら、本発明の実現を図ることが可能である。例えば、レコードの各サイズが小さい場合、あるいは、ブロックの方が小さいか、セクタの方が大きいかのいずれかの理由のために、異なるアレイ・アーキテクチャが少ない数のユーザデータ・セクタを記憶する場合、あるいは、ページのサイズの方が小さい場合、属性データページは2以上のユーザデータブロックのレコードを含むことが可能である。逆に、さらに異なるアーキテクチャまたはさらに大きな属性レコードサイズがユーザデータのブロック当たり2以上のページの属性データを必要とする場合がある。本発明は、広い範囲の物理アーキテクチャとデータ・アーキテクチャ内の不揮発性メモリシステムに適用可能である。
【0036】
ホストから要求が受信されて不揮発性メモリからユーザデータのセクタが読出されると、開始論理ブロックアドレス(LBN)と、読出し対象データを含む複数のブロックとがコントローラにより決定される。次いで、図9と図10との関連で説明する属性データページのような属性データページがコントローラにより走査され、単複のページ(図10)が識別される。これらのページのLBNフィールド141は読出し用コントローラが指定するLBNの範囲内にある。次いで、1つのテーブルが図11の形で構成され、揮発性コントローラ・メモリに記憶される。1列153によりPBNが属性フィールド135にリストされる。この属性フィールド135のLBN141は上記範囲内にある。次いで、このLBNは列155により例示されているように上記テーブルに対するアドレスになる。物理アドレス(PBN)とページ数とは、列153に存在するユーザデータ用PBNに関連するものであるが、これらは各属性ページに関連する当該ユーザデータ用PBNを含む図11のテーブルの行に含まれ、これによって列157と159とが形成される。
【0037】
次いで、このテーブルは、ユーザデータ用LBNにより読出し動作中アクセスされ、要求されたユーザデータが存在する物理ブロック位置(PBN)と、対応する属性データページの物理アドレスとがこのテーブルにより決められる。コントローラ・メモリに十分な容量があれば、読出し動作全体に関連する属性データページがコントローラのメモリの中へ読出される。或いは、上記とは別に、上記属性データページが、読出し動作を実行する必要に応じて1ページまたは数ページを一度に読出してコントローラ・メモリの中へ入れる。次いで、ユーザデータが不揮発性メモリから読出されると、(図10のレコード127のような)ユーザデータ属性データレコードのECCがコントローラにより読出され、読出されたユーザデータと共に上記ECCが処理されて、上記読出されたユーザデータがホストへ送られる前に、何らかの誤差の識別と訂正とが図られる。
【0038】
上述の例は、1ブロックにユーザデータのみを記憶し、すべての関連する属性データを別のブロックに記憶するステップを示すものである。しかし、ユーザデータ・セクタのみを別様に記憶するブロック内に、個々のユーザデータ・セクタの一部として、あるいは、別個のレコードとして、ユーザデータ属性を含むことが望ましい例が存在する場合もある。このような1つの属性としてユーザデータの変換フラグがあり、この変換フラグにより、コントローラは、これらのセクタの読出しが可能となる前に別々の属性データページにアクセスする必要がなくなる。上記変換フラグがユーザデータと共に含まれている場合、コントローラは、対応する属性ページに別個にアクセスする必要なく、逆変換を適用して当該データを読出す方法を知っている。このような変換フラグの包含は、好ましくは、読出し時間という点から見てメモリシステムのパフォーマンスの向上を図る特定のアプリケーションに限定することが望ましい。
【0039】
第2のシステム実施形態
まったく異なるアーキテクチャを備えた別のタイプの不揮発性メモリシステムへの本発明の適用について図12と図13に関連して簡単に説明する。メモリアレイは、(8などの)均等な数のユニットに分割される。このような2つのユニット0と1とが図2に示されている。プレインと呼ばれる一対の隣接ユニットはワードラインデコーダのような周辺回路を共有するものであってもよい。各ユニットには、ユニット0内のブロック161やユニット1内のブロック163のような多数のメモリブロックが含まれる。個々のブロックは順に複数のメモリページに分割される。
【0040】
通常行われている単一ブロックのメモリセルからフルページを形成する代わりに、図に示す例では、所定ページの1/2(165)がユニット0のブロック161の中に入れられ、同じページのもう一方の1/2(167)はユニット1のブロックの中に入れられる。上記2つのブロックは、上記ユニット内で同一の相対アドレスを持つものであってもよい。また、これらのブロックは、これら2つのブロックの中を貫通して延在する共通ワードラインを持つメモリセルの単一行から形成されるものであってもよい。しかし、対応する1/2ページが、ワードラインを共有しないブロック内に存在する方が好ましい場合もある。いずれのイベントでも、このページ分割により、並列する1ページの多数のセルの同時プログラミングが可能となる。
【0041】
第1の例と関連して上述した場合と同じ方法でこの異なるアーキテクチャのメモリページを利用することも可能である。各ユーザデータ・セクタの1/2が1ユニットのブロック内のページの1/2に記憶され、セクタのもう一方の1/2が別のユニットのブロック内のページの残りの1/2に記憶されるという点を除けば、ページ容量と比較した場合の大小にかかわらずユーザデータのセクタは個々のブロック内の隣接ページの両端にわたって記憶される。同様に、ユーザデータの属性レコードの記憶専用として使用されるページを含むブロックの場合、および、このようなデータが記憶されるブロックの場合、属性データのページの1/2が1つのブロックに記憶され、もう一方の1/2がそのパートナーブロックの中に記憶される。このようなメモリシステムの動作は、2つのブロック内の個々のページが1/2ページから読出されることを除けば、第1のシステムの実施形態について上述した処理と類似の動作である。
【0042】
上述のアプリケーションのいずれのメモリシステムも、メモリセル記憶エレメント当たり1ビットのデータを記憶することにより、或いは、記憶エレメント当たり2以上のビットを記憶することにより実現可能であることを付記しておく。しきい値電圧レベル(2進)を2つしか持たない2状態でメモリセルが処理される場合、1ビットが記憶され、3以上のしきい値電圧レベル(多状態)を持つセルの処理により3以上の状態でメモリセルが処理される場合、2以上のビットが記憶される。本願に取り入れられている上述の特定した特許と特許出願の多くの中に2状態処理と多状態処理のさらなる局面についての記載がある。個々のセルに記憶された2以上のビットの各々は、共通のページにアドレス指定するか、上述の方法で編成されたメモリシステム内の異なるページにアドレス指定するかのいずれかを行うことが可能である。
【0043】
具体的な実施構成例と関連して本発明の様々な局面について説明したが、本発明は添付の請求項の最大の範囲内で保護を受ける権利を与えられたものであることを理解されたい。
【図面の簡単な説明】
【図1】
本発明に基づいて動作が可能なメモリシステムの概略ブロック図である。
【図2】
現在の不揮発性メモリに記憶された1セクタのデータの代表的構成要素を示す。
【図3】
図2のデータを記憶する1つの現行の方法を示す。
【図4】
図2のデータを記憶する別の現行の方法を示す。
【図5】
図2のデータを記憶するさらなる現行の方法を示す。
【図6A】
本発明に基づく図2のデータを記憶する別の方法を示す。
【図6B】
本発明に基づく図2のデータを記憶する別の方法を示す。
【図7】
ある具体的な現行の市販メモリシステムのアーキテクチャと利用方法をさらに詳細に示す。
【図8】
ブロックのページの両端にわたって1ブロックのメモリの中へユーザデータのセクタをパックする一例を示す。
【図9】
図8の対応するユーザデータのブロックとは異なるブロックにオーバヘッド・データのページを記憶する一例を示す。
【図10】
図9のオーバヘッド・データの例示ページを示す。
【図11】
図8と図9に基づいて記憶されたオーバヘッド・データ内のデータからメモリシステム・コントローラにより構成されるテーブルを示す。
【図12】
別の具体的な現行の市販メモリシステムのアーキテクチャの一部を示す。
【図13】
図12のメモリシステムのブロックの中へユーザデータのセクタをパックする一例を示す。
Claims (26)
- 個々のブロックのアドレス指定により同時消去が可能な最小グループのメモリセルを個々に含む複数のブロックに編成される複数のメモリセルを備えたメモリシステムの動作方法であって、ページ当たり所定のデータ量からなる複数の整数ページのユニットで前記ブロックを個々にプログラムすることが可能な方法において、個々のブロック内の前記ページの境界の両端にわたって、前記所定のデータ量よりも少ない量を個々に含むデータセクタをプログラムするステップを有し、前記ブロック内の複数のページよりも多いデータセクタを1ブロックの中へプログラムすることを特徴とする方法。
- 前記データセクタが、ユーザデータのすべてと前記ユーザデータの属性データと前記データセクタがプログラムされているブロックの属性データとを個々に含むことを特徴とする請求項1記載の方法。
- 前記データセクタが、ユーザデータと前記ユーザデータの属性データの双方を個々に含み、前記データセクタがプログラムされているブロックの属性データを異なるデータセクタの一部として記憶することを特徴とする請求項1記載の方法。
- 前記データセクタが、ユーザデータを個々に含み、前記ユーザデータの属性データと前記個々のデータセクタがプログラムされているブロックの属性データとを異なるデータセクタの一部として記憶することを特徴とする請求項1記載の方法。
- 前記属性データが関係する前記データセクタとは異なるブロックに前記異なるデータセクタを記憶することを特徴とする請求項3または4のいずれか記載の方法。
- 3以上の前記個々のセルの複数の変更可能な状態に対応する3以上の複数の有効なしきい値レベルを用いて前記メモリセルを動作させるステップを有し、これにより、前記セルの記憶エレメントが2以上のビットのデータを個々に記憶することを特徴とする請求項1〜4のいずれか記載の方法。
- 個々のブロックのアドレス指定により同時消去が可能な最小グループのメモリセルを個々に含む複数のブロックに編成される複数のメモリセルを備えたメモリシステムの動作方法であって、ページ当たり所定のデータ量からなる1以上の整数ページのユニットで前記ブロックを個々にプログラムすることが可能な方法において、前記ページの境界の両端にわたって、前記所定のデータ量よりも多い量を個々に含むデータセクタをプログラムするステップを有することを特徴とする方法。
- 前記データセクタが、ユーザデータのすべてと前記ユーザデータの属性データと前記データセクタがプログラムされているブロックの属性データとを個々に含むことを特徴とする請求項7記載の方法。
- 前記データセクタが、ユーザデータと前記ユーザデータの属性データの双方を個々に含み、前記データセクタがプログラムされているブロックの属性データを異なるデータセクタの一部として記憶することを特徴とする請求項7記載の方法。
- 前記データセクタが、ユーザデータを個々に含み、前記ユーザデータの属性データと前記個々のデータセクタがプログラムされているブロックの属性データとを異なるデータセクタの一部として記憶することを特徴とする請求項7記載の方法。
- 前記属性データが関係する前記データセクタとは異なるブロックに前記異なるデータセクタを記憶することを特徴とする請求項9または10のいずれか記載の方法。
- 前記ブロックが唯一のページを個々に含むことを特徴とする請求項7〜10のいずれか記載の方法。
- 前記ブロックが複数のページを個々に含むことを特徴とする請求項7〜10のいずれか記載の方法。
- 3以上の前記個々のセルの複数の変更可能な状態に対応する3以上の複数の有効なしきい値レベルを用いて前記メモリセルを動作させるステップを有し、これにより、前記セルの記憶エレメントが2以上のビットのデータを個々に記憶することを特徴とする請求項7〜10のいずれか記載の方法。
- 1ブロック内でメモリセルを同時消去するために個々にアドレス可能な複数のブロックとなるように編成されたメモリセルを備えた不揮発性メモリシステムであって、前記ブロックは複数のデータページを個々に記憶し、前記ページは、少なくとも1つのセクタのユーザデータを個々に記憶するように指定され、関連するオーバヘッド・データは、前記ページに記憶された関連するユーザデータの少なくとも1つの属性と、前記ページが記憶されているブロックの少なくとも1つの物理的属性とを含むように構成される前記メモリシステムにおいて、前記メモリシステムの動作の改善方法であって、
オーバヘッド・データを記憶するように指定された前記ページ部分にユーザデータを記憶して、前記個々のユーザデータブロックにオーバヘッド・データを記憶せずにブロックの個々のブロックにユーザデータの少なくとも1つの追加セクタを記憶するようにするステップと、
対応する個々のレコードとして複数のユーザデータブロックに関連する前記オーバヘッド・データを前記ユーザデータが記憶されているブロックとは別個のブロックに記憶するステップと、
を有することを特徴とする方法。 - 前記オーバヘッド・データを記憶するステップが、前記ユーザデータブロックのうちの対応するブロック属性フィールドと、前記対応するユーザデータブロックに記憶された前記ユーザデータ・セクタの個々のセクタのユーザデータ属性フィールドとを個々に含むオーバヘッド・データレコードを記憶するステップを含むことを特徴とする請求項15記載の方法。
- 前記オーバヘッド・データを記憶するステップが、物理的属性と論理的属性の双方をブロック属性フィールドに記憶するステップを含むことを特徴とする請求項16記載の方法。
- 前記オーバヘッド・データを記憶するステップが、前記対応するブロックの論理アドレスと物理アドレスとを前記オーバヘッド・データレコードの個々のレコード内に記憶するステップを含むことを特徴とする請求項16記載の方法。
- ユーザデータ属性フィールドが、前記対応するブロック内の前記ページの対応するページの中に、前記記憶されたユーザデータから計算された誤り訂正符号を含むことを特徴とする請求項16記載の方法。
- ブロックの物理属性フィールドが、前記対応するブロックの消去された回数カウントを含むことを特徴とする請求項16記載の方法。
- 1ブロックの内でメモリセルを同時消去するために個々にアドレス可能な複数のブロックとなるように編成された複数のメモリセルを備えたメモリシステムの動作方法において、
第1のグループのブロックの個々のブロック内にユーザデータの複数のセクタを記憶するステップと、次いで、
前記第1のグループのブロックとは異なるブロックからなる第2のグループの個々のブロックに複数のレコードを記憶するステップを有し、前記複数のレコードが、前記第1のグループのブロックのうちの対応するブロックの属性を示すオーバヘッド情報と、前記レコードに記憶された前記ユーザデータとを個々に含むことを特徴とする方法。 - オーバヘッド属性情報を含むレコードを記憶するステップが、前記対応するユーザデータブロックの論理アドレスと物理アドレスとを記憶するステップを含むことを特徴とする請求項21記載の方法。
- 前記対応するオーバヘッドレコードを読出すことにより、前記対応するユーザデータブロックの論理アドレスと物理アドレスとを示す一時テーブルを揮発性メモリの中に形成するステップをさらに有することを特徴とする請求項22記載の方法。
- オーバヘッド属性情報を含むレコードを記憶するステップが、前記記憶されたユーザデータから計算された誤り訂正符号を前記第1のセットのブロックの対応するブロックに記憶するステップを含むことを特徴とする請求項21記載の方法。
- オーバヘッド属性情報を含むレコードを記憶するステップが、前記第1のセットのブロックの対応するブロックがプログラムされた回数カウントを記憶するステップを含むことを特徴とする請求項21記載の方法。
- 前記第1のグループのブロックの前記個々のブロックが前記オーバヘッド情報のいずれも含まないことを特徴とする請求項21〜25のいずれか記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/718,802 US6684289B1 (en) | 2000-11-22 | 2000-11-22 | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
PCT/US2001/047166 WO2002049039A2 (en) | 2000-11-22 | 2001-11-13 | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006059208A Division JP4486938B2 (ja) | 2000-11-22 | 2006-03-06 | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004516536A true JP2004516536A (ja) | 2004-06-03 |
JP2004516536A5 JP2004516536A5 (ja) | 2005-09-02 |
JP3827640B2 JP3827640B2 (ja) | 2006-09-27 |
Family
ID=24887613
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002550258A Expired - Fee Related JP3827640B2 (ja) | 2000-11-22 | 2001-11-13 | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 |
JP2006059208A Expired - Fee Related JP4486938B2 (ja) | 2000-11-22 | 2006-03-06 | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006059208A Expired - Fee Related JP4486938B2 (ja) | 2000-11-22 | 2006-03-06 | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 |
Country Status (10)
Country | Link |
---|---|
US (3) | US6684289B1 (ja) |
EP (1) | EP1340150B1 (ja) |
JP (2) | JP3827640B2 (ja) |
KR (1) | KR100896698B1 (ja) |
CN (1) | CN101427225B (ja) |
AT (1) | ATE453150T1 (ja) |
AU (1) | AU2002239551A1 (ja) |
DE (1) | DE60140897D1 (ja) |
TW (1) | TW530304B (ja) |
WO (1) | WO2002049039A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007140628A (ja) * | 2005-11-15 | 2007-06-07 | Sony Corp | 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム |
WO2008016170A1 (en) * | 2006-07-31 | 2008-02-07 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
JP2015511040A (ja) * | 2012-03-16 | 2015-04-13 | マーベル ワールド トレード リミテッド | Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US7108975B2 (en) * | 2001-09-21 | 2006-09-19 | Regents Of The University Of Michigan | Atlastin |
US6904492B2 (en) * | 2001-12-19 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Write-once memory device including non-volatile memory for temporary storage |
US20040153746A1 (en) * | 2002-04-24 | 2004-08-05 | Talagala Nisha D. | Mechanisms for embedding and using integrity metadata |
US6880060B2 (en) * | 2002-04-24 | 2005-04-12 | Sun Microsystems, Inc. | Method for storing metadata in a physical sector |
US7051155B2 (en) * | 2002-08-05 | 2006-05-23 | Sun Microsystems, Inc. | Method and system for striping data to accommodate integrity metadata |
US7020805B2 (en) * | 2002-08-15 | 2006-03-28 | Sun Microsystems, Inc. | Efficient mechanisms for detecting phantom write errors |
WO2004031961A1 (en) * | 2002-09-30 | 2004-04-15 | Insignia Solutions Plc | Efficient system and method for updating a memory device |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
US7039788B1 (en) | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
US7296213B2 (en) * | 2002-12-11 | 2007-11-13 | Nvidia Corporation | Error correction cache for flash memory |
US7133883B2 (en) * | 2002-12-23 | 2006-11-07 | Sun Microsystems, Inc. | General techniques for diagnosing data corruptions |
US7103811B2 (en) * | 2002-12-23 | 2006-09-05 | Sun Microsystems, Inc | Mechanisms for detecting silent errors in streaming media devices |
US20040123032A1 (en) * | 2002-12-24 | 2004-06-24 | Talagala Nisha D. | Method for storing integrity metadata in redundant data layouts |
EP1435576B1 (en) * | 2003-01-03 | 2013-03-20 | Austria Card Plastikkarten und Ausweissysteme GmbH | Method and apparatus for block-oriented memory management provided in smart card controllers |
US7634614B2 (en) * | 2003-01-13 | 2009-12-15 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting |
US6944063B2 (en) | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
FI117489B (fi) | 2003-02-07 | 2006-10-31 | Nokia Corp | Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti |
US7197617B2 (en) * | 2003-05-29 | 2007-03-27 | International Business Machines Corporation | Process, apparatus, and system for storing data check information using standard sector data field sizes |
US6906961B2 (en) * | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
US7076598B2 (en) * | 2003-09-09 | 2006-07-11 | Solid State System Co., Ltd. | Pipeline accessing method to a large block memory |
US7188228B1 (en) * | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
TWI226643B (en) * | 2003-10-31 | 2005-01-11 | C One Technology Corp | Simulated SmartMedia/xD-Picture memory card using any nonvolatile memory |
US7353432B1 (en) | 2003-11-25 | 2008-04-01 | Sun Microsystems, Inc. | Maintaining high data integrity |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US20050213393A1 (en) | 2004-03-14 | 2005-09-29 | M-Systems Flash Disk Pioneers, Ltd. | States encoding in multi-bit flash cells for optimizing error rate |
KR100648243B1 (ko) | 2004-03-19 | 2006-11-24 | 삼성전자주식회사 | 낸드 플래시 메모리를 사용하는 메모리 카드 |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
CN1332289C (zh) * | 2004-06-14 | 2007-08-15 | 张毅 | 一种多媒体存储卡 |
KR100645058B1 (ko) * | 2004-11-03 | 2006-11-10 | 삼성전자주식회사 | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 |
US7493457B2 (en) * | 2004-11-08 | 2009-02-17 | Sandisk Il. Ltd | States encoding in multi-bit flash cells for optimizing error rate |
US7120051B2 (en) | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
US7409473B2 (en) | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
US7849381B2 (en) | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
US7212440B2 (en) | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7877539B2 (en) | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US7389397B2 (en) * | 2005-06-01 | 2008-06-17 | Sandisk Il Ltd | Method of storing control information in a large-page flash memory device |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7552271B2 (en) * | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7558906B2 (en) * | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US20070089023A1 (en) * | 2005-09-30 | 2007-04-19 | Sigmatel, Inc. | System and method for system resource access |
US7529905B2 (en) * | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
JP4441577B2 (ja) * | 2005-10-13 | 2010-03-31 | サンディスク コーポレイション | 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納 |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
EP1895418B1 (en) * | 2005-12-09 | 2015-04-01 | Panasonic Corporation | Nonvolatile memory device, method of writing data, and method of reading out data |
US20070136671A1 (en) * | 2005-12-12 | 2007-06-14 | Buhrke Eric R | Method and system for directing attention during a conversation |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7747837B2 (en) * | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
DE102006013765A1 (de) * | 2006-03-24 | 2007-09-27 | Robert Bosch Gmbh | Verfahren zur Belegung eines Speichers |
US7809994B2 (en) * | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
WO2007137013A2 (en) * | 2006-05-17 | 2007-11-29 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US20070300130A1 (en) * | 2006-05-17 | 2007-12-27 | Sandisk Corporation | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
US8219739B2 (en) * | 2006-06-30 | 2012-07-10 | Intel Corporation | Read-only optimized flash file system architecture |
US7716415B2 (en) * | 2006-08-01 | 2010-05-11 | Sandisk Il Ltd. | Method of avoiding errors in flash memory |
JP5019567B2 (ja) * | 2006-08-04 | 2012-09-05 | ソニーモバイルコミュニケーションズ株式会社 | メモリ管理方法および携帯端末装置 |
US7280398B1 (en) * | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
US7536500B2 (en) * | 2006-09-29 | 2009-05-19 | Intel Corporation | Header blocks for flash memory writes |
US8316206B2 (en) * | 2007-02-12 | 2012-11-20 | Marvell World Trade Ltd. | Pilot placement for non-volatile memory |
US8060688B2 (en) * | 2006-12-07 | 2011-11-15 | Nxp B.V. | Method and device for reconfiguration of reliability data in flash EEPROM storage pages |
US8127200B2 (en) * | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US8370561B2 (en) * | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
CN100458718C (zh) * | 2006-12-29 | 2009-02-04 | 福昭科技(深圳)有限公司 | 一种闪存存储装置及其数据读取和写入方法 |
US7984360B2 (en) * | 2006-12-31 | 2011-07-19 | Ramot At Tel Aviv University Ltd. | Avoiding errors in a flash memory by using substitution transformations |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
US8019959B2 (en) | 2007-02-09 | 2011-09-13 | Marvell World Trade Ltd. | Nonvolatile memory system |
JP2008269499A (ja) * | 2007-04-24 | 2008-11-06 | Kyoto Software Research Inc | バッドブロックマークの保存方法 |
US7853841B2 (en) * | 2007-10-29 | 2010-12-14 | Micron Technology, Inc. | Memory cell programming |
US8301912B2 (en) | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US8724381B2 (en) | 2008-03-11 | 2014-05-13 | Agere Systems Llc | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US20090282267A1 (en) * | 2008-05-09 | 2009-11-12 | Ori Stern | Partial scrambling to reduce correlation |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
TWI370969B (en) | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
WO2010035241A1 (en) * | 2008-09-28 | 2010-04-01 | Ramot At Tel Aviv University Ltd. | Method and system for adaptive coding in flash memories |
US8671327B2 (en) | 2008-09-28 | 2014-03-11 | Sandisk Technologies Inc. | Method and system for adaptive coding in flash memories |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8700840B2 (en) * | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US8040744B2 (en) * | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
US8589700B2 (en) * | 2009-03-04 | 2013-11-19 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
CN102024497B (zh) * | 2009-09-22 | 2013-10-02 | 成都市华为赛门铁克科技有限公司 | 一种存储数据的方法及存储装置 |
US8631304B2 (en) | 2010-01-28 | 2014-01-14 | Sandisk Il Ltd. | Overlapping error correction operations |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
KR101736792B1 (ko) | 2010-09-20 | 2017-05-18 | 삼성전자주식회사 | 플래시 메모리 및 그것의 셀프 인터리빙 방법 |
US8472280B2 (en) | 2010-12-21 | 2013-06-25 | Sandisk Technologies Inc. | Alternate page by page programming scheme |
US9292377B2 (en) | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
US9898361B2 (en) | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
US8595415B2 (en) * | 2011-02-02 | 2013-11-26 | Micron Technology, Inc. | At least semi-autonomous modules in a memory system and methods |
US8626989B2 (en) | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
KR101861247B1 (ko) | 2011-04-06 | 2018-05-28 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템 |
JP2012226822A (ja) | 2011-04-15 | 2012-11-15 | Samsung Electronics Co Ltd | 不揮発性メモリ装置 |
US8848445B2 (en) * | 2011-05-17 | 2014-09-30 | Sandisk Technologies Inc. | System and method for minimizing write amplification while maintaining sequential performance using logical group striping in a multi-bank system |
US9086999B2 (en) * | 2011-07-05 | 2015-07-21 | International Business Machines Corporation | Data encryption management |
JP5677336B2 (ja) * | 2011-08-01 | 2015-02-25 | 株式会社東芝 | メモリ・デバイス |
CN102411548B (zh) * | 2011-10-27 | 2014-09-10 | 忆正存储技术(武汉)有限公司 | 闪存控制器以及闪存间数据传输方法 |
US8634247B1 (en) | 2012-11-09 | 2014-01-21 | Sandisk Technologies Inc. | NAND flash based content addressable memory |
US20140229655A1 (en) * | 2013-02-08 | 2014-08-14 | Seagate Technology Llc | Storing Error Correction Code (ECC) Data In a Multi-Tier Memory Structure |
US9075424B2 (en) | 2013-03-06 | 2015-07-07 | Sandisk Technologies Inc. | Compensation scheme to improve the stability of the operational amplifiers |
KR102295661B1 (ko) * | 2013-12-15 | 2021-08-30 | 삼성전자주식회사 | 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기 |
US9448745B2 (en) * | 2014-03-13 | 2016-09-20 | NXGN Data, Inc. | Configurable read-modify-write engine and method for operating the same in a solid state drive |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
KR102441284B1 (ko) | 2016-01-12 | 2022-09-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9983820B2 (en) * | 2016-03-29 | 2018-05-29 | Nxp B.V. | Method for performing data updates |
US10547326B2 (en) * | 2017-01-12 | 2020-01-28 | Proton World International N.V. | Error correction in a flash memory |
US10769064B1 (en) | 2017-12-20 | 2020-09-08 | Pliops Ltd | Method for retrieving key value pairs and groups of key value pairs |
US11210166B1 (en) | 2017-12-22 | 2021-12-28 | Pliops Ltd. | Efficient redundancy management in key-value NAND flash storage |
US10860249B2 (en) | 2017-12-25 | 2020-12-08 | Pliops Ltd. | Solid state disk (SSD) controller and database |
US11070229B1 (en) | 2019-05-19 | 2021-07-20 | Pliops | Codeword generator |
US11728003B2 (en) * | 2020-05-12 | 2023-08-15 | Qualcomm Incorporated | System and memory with configurable error-correction code (ECC) data protection and related methods |
JP2022147448A (ja) * | 2021-03-23 | 2022-10-06 | キオクシア株式会社 | メモリシステム及びデータ管理方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06161675A (ja) * | 1992-11-26 | 1994-06-10 | Dainippon Printing Co Ltd | Icカード |
JPH07302175A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH07302176A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JPH10240627A (ja) * | 1997-02-26 | 1998-09-11 | Fujitsu Ltd | セクタ管理方法及び装置 |
JPH1165921A (ja) * | 1997-08-22 | 1999-03-09 | Oki Electric Ind Co Ltd | 論理フォーマット変換方法およびデータ保存媒体 |
JPH1173363A (ja) * | 1997-08-29 | 1999-03-16 | Matsushita Graphic Commun Syst Inc | メモリー制御装置 |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
JP2000076117A (ja) * | 1998-08-31 | 2000-03-14 | Kano Densan Hongkong Yugenkoshi | 電子機器及びその制御方法及び記憶媒体 |
WO2000049488A1 (en) * | 1999-02-17 | 2000-08-24 | Memory Corporation Plc | Memory system |
JP2000293427A (ja) * | 1999-04-05 | 2000-10-20 | Mitsubishi Electric Corp | フラッシュメモリを搭載する記憶装置 |
JP2000298992A (ja) * | 1999-04-13 | 2000-10-24 | Hitachi Ltd | 多値記憶不揮発性半導体メモリの制御装置 |
WO2001061703A2 (en) * | 2000-02-17 | 2001-08-23 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69033438T2 (de) | 1989-04-13 | 2000-07-06 | Sandisk Corp | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
US5200959A (en) | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
WO1999027539A1 (en) * | 1997-11-21 | 1999-06-03 | Btg International Inc. | Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell |
US5218569A (en) * | 1991-02-08 | 1993-06-08 | Banks Gerald J | Electrically alterable non-volatile memory with n-bits per memory cell |
US5270979A (en) | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5663901A (en) | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
US5266944A (en) * | 1991-06-26 | 1993-11-30 | Bodyguard Technologies, Inc. | Electronic system and method for monitoring abusers for compliance with a protective order |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5218344A (en) * | 1991-07-31 | 1993-06-08 | Ricketts James G | Method and system for monitoring personnel |
JP3178909B2 (ja) | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
US5712180A (en) | 1992-01-14 | 1998-01-27 | Sundisk Corporation | EEPROM with split gate source side injection |
US6222762B1 (en) | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
US5889474A (en) * | 1992-05-18 | 1999-03-30 | Aeris Communications, Inc. | Method and apparatus for transmitting subject status information over a wireless communications network |
US5532962A (en) | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
US5428621A (en) | 1992-09-21 | 1995-06-27 | Sundisk Corporation | Latent defect handling in EEPROM devices |
US5822781A (en) * | 1992-10-30 | 1998-10-13 | Intel Corporation | Sector-based storage device emulator having variable-sized sector |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US5579259A (en) | 1995-05-31 | 1996-11-26 | Sandisk Corporation | Low voltage erase of a flash EEPROM system having a common erase electrode for two individually erasable sectors |
US5712179A (en) | 1995-10-31 | 1998-01-27 | Sandisk Corporation | Method of making triple polysilicon flash EEPROM arrays having a separate erase gate for each row of floating gates |
US5745037A (en) * | 1996-06-13 | 1998-04-28 | Northrop Grumman Corporation | Personnel monitoring tag |
US5870029A (en) * | 1996-07-08 | 1999-02-09 | Harris Corporation | Remote mobile monitoring and communication system |
JPH10124381A (ja) * | 1996-10-21 | 1998-05-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
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 |
US6151248A (en) | 1999-06-30 | 2000-11-21 | Sandisk Corporation | Dual floating gate EEPROM cell array with steering gates shared by adjacent cells |
US6373389B1 (en) * | 2000-04-21 | 2002-04-16 | Usm Systems, Ltd. | Event driven information system |
US6463516B1 (en) * | 2000-04-25 | 2002-10-08 | Advanced Micro Devices, Inc. | Variable sector size for a high density flash memory device |
US20030120858A1 (en) * | 2000-09-15 | 2003-06-26 | Matrix Semiconductor, Inc. | Memory devices and methods for use therewith |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
-
2000
- 2000-11-22 US US09/718,802 patent/US6684289B1/en not_active Expired - Lifetime
-
2001
- 2001-11-13 AT AT01987321T patent/ATE453150T1/de not_active IP Right Cessation
- 2001-11-13 TW TW090128143A patent/TW530304B/zh not_active IP Right Cessation
- 2001-11-13 AU AU2002239551A patent/AU2002239551A1/en not_active Abandoned
- 2001-11-13 CN CN018209025A patent/CN101427225B/zh not_active Expired - Fee Related
- 2001-11-13 WO PCT/US2001/047166 patent/WO2002049039A2/en active Application Filing
- 2001-11-13 JP JP2002550258A patent/JP3827640B2/ja not_active Expired - Fee Related
- 2001-11-13 KR KR1020037006918A patent/KR100896698B1/ko not_active IP Right Cessation
- 2001-11-13 EP EP01987321A patent/EP1340150B1/en not_active Expired - Lifetime
- 2001-11-13 DE DE60140897T patent/DE60140897D1/de not_active Expired - Lifetime
-
2003
- 2003-12-03 US US10/728,229 patent/US7032065B2/en not_active Expired - Fee Related
- 2003-12-03 US US10/727,759 patent/US7171513B2/en not_active Expired - Lifetime
-
2006
- 2006-03-06 JP JP2006059208A patent/JP4486938B2/ja not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06161675A (ja) * | 1992-11-26 | 1994-06-10 | Dainippon Printing Co Ltd | Icカード |
JPH07302175A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH07302176A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JPH10240627A (ja) * | 1997-02-26 | 1998-09-11 | Fujitsu Ltd | セクタ管理方法及び装置 |
JPH1165921A (ja) * | 1997-08-22 | 1999-03-09 | Oki Electric Ind Co Ltd | 論理フォーマット変換方法およびデータ保存媒体 |
JPH1173363A (ja) * | 1997-08-29 | 1999-03-16 | Matsushita Graphic Commun Syst Inc | メモリー制御装置 |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
JP2000076117A (ja) * | 1998-08-31 | 2000-03-14 | Kano Densan Hongkong Yugenkoshi | 電子機器及びその制御方法及び記憶媒体 |
WO2000049488A1 (en) * | 1999-02-17 | 2000-08-24 | Memory Corporation Plc | Memory system |
JP2000293427A (ja) * | 1999-04-05 | 2000-10-20 | Mitsubishi Electric Corp | フラッシュメモリを搭載する記憶装置 |
JP2000298992A (ja) * | 1999-04-13 | 2000-10-24 | Hitachi Ltd | 多値記憶不揮発性半導体メモリの制御装置 |
WO2001061703A2 (en) * | 2000-02-17 | 2001-08-23 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007140628A (ja) * | 2005-11-15 | 2007-06-07 | Sony Corp | 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム |
WO2008016170A1 (en) * | 2006-07-31 | 2008-02-07 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
US7836245B2 (en) | 2006-07-31 | 2010-11-16 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
JP2015511040A (ja) * | 2012-03-16 | 2015-04-13 | マーベル ワールド トレード リミテッド | Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ |
Also Published As
Publication number | Publication date |
---|---|
EP1340150A2 (en) | 2003-09-03 |
JP4486938B2 (ja) | 2010-06-23 |
ATE453150T1 (de) | 2010-01-15 |
AU2002239551A1 (en) | 2002-06-24 |
WO2002049039A3 (en) | 2003-06-05 |
US6684289B1 (en) | 2004-01-27 |
EP1340150B1 (en) | 2009-12-23 |
JP2006196016A (ja) | 2006-07-27 |
US7032065B2 (en) | 2006-04-18 |
KR20030081332A (ko) | 2003-10-17 |
WO2002049039A2 (en) | 2002-06-20 |
JP3827640B2 (ja) | 2006-09-27 |
US20040123020A1 (en) | 2004-06-24 |
US7171513B2 (en) | 2007-01-30 |
CN101427225A (zh) | 2009-05-06 |
KR100896698B1 (ko) | 2009-05-14 |
TW530304B (en) | 2003-05-01 |
DE60140897D1 (de) | 2010-02-04 |
CN101427225B (zh) | 2010-09-29 |
US20040111555A1 (en) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3827640B2 (ja) | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 | |
US8797798B2 (en) | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks | |
JP4787266B2 (ja) | スクラッチパッドブロック | |
KR101040961B1 (ko) | 온-칩 비휘발성 메모리 기록 캐쉬를 사용하기 위한 시스템및 방법 | |
JP2008524703A (ja) | クラスタ自動位置合わせ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050906 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051201 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060306 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060704 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3827640 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |