(57)【特許請求の範囲】
【請求項１】
フラッシュ・メモリ・デバイスであって、
同時に書き込まれ、読み取られ、又は消去されることができる複数のパーティションにして、異なる物理平面に実装の複数のパーティションを備え；
書き込み、読み取りおよび消去のための電圧を出力する電荷ポンプを備え；
２以上の書込みを並列操作可能とすべく、フラッシュ・メモリ・デバイスでサポートされる書込み並列操作の２以上の数に対応する数の状態機械を含むインタフェースを備え；
複数のセンス増幅器を備え、これらの複数のセンス増幅器には、(i) 同時実行可能な各読取り操作のための第１の複数のセンス増幅器として、フラッシュ・メモリ・デバイスの出力行のビット幅に、可能な並列操作の数を掛けて得られる値と同数のセンス増幅器と、(ii)同時実行可能な消去および書込み操作のための少なくとも１つのセンス増幅器とが含まれ、読み取り用に使用されるセンス増幅器の数は、書き込みと消去用に使用されるセンス増幅器の数とは異なる
ことを特徴とするフラッシュ・メモリ・デバイス。
【請求項２】
バスを備え；
前記バスに結合された処理装置を備え；
前記バスに結合され、前記処理装置によってアクセス可能なフラッシュ・メモリ・デバイスを有するメモリを備え、前記フラッシュ・メモリ・デバイスには、異なる物理平面に実装の複数のパーティションであって、別々に読取り可能、書込み可能、消去可能である複数のパーティションと、２以上の書込みを並列操作可能とすべく、前記フラッシュ・メモリ・デバイスでサポートされる書込み並列操作の２以上の数に対応する数の状態機械を含むインタフェースとが含まれ；
複数のセンス増幅器を備え、これらの複数のセンス増幅器には(i) 同時実行可能な各読取り操作のための第１の複数のセンス増幅器として、前記フラッシュ・メモリ・デバイスの出力行のビット幅に、可能な並列操作の数を掛けて得られる値と同数のセンス増幅器と、(ii)同時実行可能な消去および書込み操作のための少なくとも１つのセンス増幅器とが含まれ、読み取り用に使用されるセンス増幅器の数は、書き込みと消去用に使用されるセンス増幅器の数とは異なる
ことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明はフラッシュ・メモリに関し、より詳細には、フラッシュ・メモリの分割に関する。
【０００２】
（背景）
フラッシュ・メモリ・デバイスは、１度に１バイトずつではなくブロックで消去したり書き込んだりすることのできる特別なタイプのＥＥＰＲＯＭである。フラッシュ・メモリのいくつかのアプリケーションは、セルラ電話の埋め込み型制御コードおよび制御データを含み、それにより、セルラ電話は必要な場合に容易に更新することができる。フラッシュ・メモリはモデム内でも使用されることがある。というのは、それにより、新しいプロトコルが標準化したときにモデム製造業者がその新しいプロトコルをサポートすることができるからである。フラッシュ・メモリはさらにコンピュータ内で使用されて、更新される可能性のあるベーシック・インプット／アウトプット・システム（ＢＩＯＳ）を提供する。その他の使用法も、当業者には周知である。
【０００３】
図１に、従来技術のフラッシュ・メモリ・デバイス１００の１つを示す。データが書き込まれるメモリ１１０は、それに関連するＸデコーダ１６０およびＹデコーダ１８０を有する。Ｘデコーダ１６０およびＹデコーダ１８０は、メモリの行および列へのアドレスを指定する。ユーザ・インタフェース１２０は、フラッシュ・メモリ・デバイス１００を制御する。ユーザ・インタフェース１２０は、メモリ１１０へのアクセスを制御する処理装置とインタフェースする。状態レジスタ１３０は、メモリ１１０の現在の状態、すなわち書込み、読取り、または消去を記憶する。処理装置は、ユーザ・インタフェース１２０からフラッシュ・メモリの状態を知る。
【０００４】
センス増幅器１４０は、メモリ１１０に関連付けられる。従来技術の一実施態様では、センス増幅器は、メモリ１１０に対する書込みおよび読取りのための信号を増幅するのに使用される。１６の入出力（Ｉ／Ｏ）に分割された行に対して、各Ｉ／Ｏに１つずつ、１６個のセンス増幅器１４０が、書込みおよび読取りのために使用される。さらに電荷ポンプ１５０がフラッシュ・メモリ１００に含まれる。電荷ポンプ１５０は、メモリ１１０に対する読取り、書込み、および消去に必要な電圧レベルを供給するのに使用される。一般に、従来技術のフラッシュ・メモリ・デバイスにおける消去と書込みは、メモリ１１０のサブセットからなるブロックとしてなされる。回路のセットは１つであり、それによりユーザは、フラッシュ・メモリの１つのブロックに書き込む間、同時にフラッシュ・メモリの別のブロックを消去したり読み取ったりすることができない。
【０００５】
同時操作は、フラッシュ・メモリ・ブロックの消去時間（一般に２５０〜５００ミリ秒）によって制約を受けるいくつかのアプリケーションにおいて望まれる。例えばセルラ電話は、フラッシュ・メモリから直接、コードを実行する。別々のメモリ・ブロックを消去して、同時にデータ記憶のための空間を取り戻すことができれば有利である。
【０００６】
この問題に対する従来技術の解決法の１つは、複数のフラッシュ・メモリ・デバイスを備えることである。その場合、他のデバイスを消去している間にあるデバイスに書き込むことができる。これには多くの欠点がある。複数のデバイスはより多くのスペースをとる。複数のデバイスがあるために、ハードウェアが重複する。さらに、複数のフラッシュ・メモリ・デバイスの使用により、より多くのコストがかかり、電力使用が増大し、システム全体の信頼性が低下する可能性がある。
【０００７】
（発明の概要）
本発明は、読取り同時書込み操作を可能にするためのフラッシュ・メモリ・デバイスの分割に関する。フラッシュ・メモリ・デバイスは複数のパーティションを含み、各パーティションは他のパーティションと同時に、読み取られ、書き込まれ、あるいは消去されることができる。
【０００８】
本発明の他の特徴および利点は、添付の図面および後続の詳細な説明から明らかになるであろう。
【０００９】
本発明は、添付の図面の図に限定的なものではなく例として示す。図中、同じ参照番号は同様の要素を指す。
【００１０】
（詳細な説明）
読取り同時書込み操作のためにフラッシュ・メモリを分割する方法および装置について説明する。本発明によって意図する利点は、単一のフラッシュ・メモリ・デバイス上での同時読取り、および／または書込み、および／または消去の操作を可能にすることである。本発明によって意図する別の利点は、フラッシュ・メモリ・デバイス上に記憶されたコードを、コードが実行されている間に更新できるようにすることである。
【００１１】
図２に、複数に分割されたフラッシュ・メモリ・デバイスを示す。パーティションＡ２１０、Ｂ２１５、Ｃ２２５、Ｄ２２０、Ｅ２３０、・・・ｎ−１  ２３５、ｎ２３５を示す。各パーティションは、物理的に分離したデバイスとしてフラッシュ・メモリ・デバイスに形成される。一実施形態の場合、各パーティションは異なる物理平面上に実装される。各パーティション２１０、２１５、２２０、２２５、２２５、２３０、２３５、２４０は、ＸデコーダおよびＹセレクタを関連付けている。各ＹセレクタはＹデコーダ２４０に結合され、このＹデコーダはＹセレクタを制御する。代替実施形態の場合、複数のＹデコーダ２４０がシステム内に存在してもよい。ＸデコーダおよびＹセレクタは、読取り、書込み、または消去を含むアクセス用に、フラッシュ・メモリ２００内の特定領域を選択できるようにする。複数のＸセレクタおよびＹデコーダを有することにより、フラッシュ・メモリの複数のサブセクションに同時アクセスすることができる。例えば、パーティションＡを消去するのと同時に、パーティションＢを読み取り、パーティションＣに書き込むことができる。各パーティションは１つまたは複数のブロックを含むことができ、これらは別々に消去することができる。したがって、例えば、パーティションＢ内のメモリ・ブロックが消去される間にパーティションＡ内のメモリに書き込むことができる。
【００１２】
ユーザ・インタフェース２５０は、ユーザがフラッシュ・メモリ２００へのアクセスを制御できるようにする。一実施形態の場合、ユーザ・インタフェース２５０はフラッシュ・メモリ自体の一部である。代替実施形態の場合、ユーザ・インタフェース２５０は別々のチップ上に位置する。インタフェースは、それぞれの書込み並列操作を制御するのに使用されるいくつかの状態機械を含む。したがって、２つの並列書込み操作があり得る場合には（例えばデータ・ブロックに書き込みながらコードを更新するなど）、２つの状態機械がある。３つの並列書込み操作があり得る場合には、３つの状態機械が含まれる。これらの状態機械は、「 」というタイトルの同時出願の関連出願第 号に、より詳細に記載されている。
【００１３】
状態レジスタは、ユーザ・インタフェース２５０に結合される。状態レジスタ２６０は、各パーティションの状態を示す。ｎ個のパーティションがあり、かつ、一実施形態の場合、ｎ個の状態レジスタ２６０がある。各パーティションの状態は、次のうちのどれかである。すなわち、アイドル、読取り中、書込み中、または消去中である。
【００１４】
センス増幅器２７０もまた、ユーザ・インタフェース２５０に結合される。センス増幅器は、読取り、書込み、消去の操作において使用される。一実施形態の場合、センス増幅器２７０の数は次のように決定される。１６ビット幅のフラッシュ・メモリの場合、１６個のセンス増幅器２７０がそれぞれの並列に実行できる操作に対して必要である。したがって、例えば、第１のパーティションが読み取られる間に第２のパーティションに書き込まれる場合、３２個のセンス増幅器２７０が必要である。例えば、２つのパーティションが並列に読み取られる場合、３２個のセンス増幅器２７０が読取りに必要である。センス増幅器２７０の数は、フラッシュ・メモリの出力行の幅のファクター（Ｘ）を掛けた並列実行可能操作（Ｙ）の数である。一実施形態の場合、３つのパーティションのフラッシュ・メモリ、例えば、１つのパーティションが読み取られ、別のパーティションに書き込まれ、第３のパーティションが消去されるフラッシュ・メモリは、３Ｘ個のセンス増幅器２７０を使用する。消去に使用されるセンス増幅器２７０は、総消去時間に対する非常に小さい割合を使用する。同様に、書込みに使用されるセンス増幅器２７０も、総書込時間に対して小さい割合を使用する。したがって、一実施形態の場合、単一のセンス増幅器２７０が、並列実行可能な書込み操作の各々および並列実行可能な消去操作の各々に使用される。センス増幅器２７０は、各ビットが書き込まれるときにそれを検査するのに使用される。
【００１５】
さらに、冗長列アクセスなどの他の操作のために、冗長センス増幅器２７０を含めることもできる。一実施形態の場合、各並列読取および／または書込みに対して、２つの冗長センス増幅器２７０がセンス増幅器ブロック２７０内に含まれる。
【００１６】
さらに、電荷ポンプ２８０が回路内に含まれる。電荷ポンプ２８０は、読取り、書込み、および消去用の電圧レベルを設定するのに使用される。一実施形態の場合、消去に使用される電圧レベルは、約−１０ボルトである。一実施形態の場合、読取りおよび書込みに使用される電圧レベルは、約７ボルトである。一実施形態の場合、パーティションへの並列アクセスを可能にする複数のリード線を有する単一の電荷ポンプ２８０が使用される。あるいは、複数の別々の電荷ポンプ２８０を使用して、異なるパーティションに同時にアクセスするのに必要な電圧レベルを供給することもできる。電荷ポンプ２８０は、各パーティションのＹセレクタに結合されて、読取り、書込み、または消去に適したレベルまで電圧レベルを上げる。
【００１７】
図２に示す複数分割されたフラッシュ・メモリは、いくつかの目的に使用することができる。パーティションの数は、フラッシュ・メモリの機能に依存する。例えば、３つに分割されたフラッシュ・メモリ・デバイスを図３に示す。
【００１８】
３つに分割されたフラッシュ・メモリ・デバイスを使用する一例は、以下の通りである。第１のパーティションは、データを記憶するのに使用することができる。第２のパーティションは、コードを記憶するのに使用することができ、このコードは、フラッシュ・メモリ・デバイスを含む装置によって実行される。第３のパーティションは、コードの更新を可能にするために使用することができる。したがって、例えば、更新によってコードが変更される場合、新しいコードが第３のパーティションに書き込まれ、同時に第２のパーティション内の元のコードも実行する。新しいコードが書き込まれて検査された後で、第３のパーティションは、コード用に使用されるパーティションとなることができる。したがって、継ぎ目のないフラッシュ・メモリ・デバイスの更新が可能である。３つに分割されたフラッシュ・メモリ・デバイスの別の例は、第１のパーティションからコードを実行させながら第２のパーティション内でデータを更新するものである。したがって、例えば、コードの実行がデータの更新をもたらす場合、これを継ぎ目なく達成することができる。
【００１９】
図３に、３つに分割されたフラッシュ・メモリ・デバイスの一実施形態を示す。パーティションＡ３１０、パーティションＢ３１５、パーティションＣ３２０はそれぞれ、関連するＸデコーダおよびＹセレクタを有し、別々にアクセスすることができる。図３に示す配置は、フラッシュ・メモリ・デバイスの実際の配置の一実施形態に対応する。Ｘデコーダ３０７と、Ｙセレクタ３０９および３１２は、パーティションＡ３０５、３１０に関連付けられる。一実施形態の場合、パーティションＡ３１０は、Ｙセレクタ３０９、３１２によって半分に分割される。パーティションＡ３１０の分割は配置の目的であり、パーティションＡの第１の部分３１０がパーティションＢと整列し、パーティションＡのもう一方の部分３０５がパーティションＣと整列するようにするためである。一実施形態の場合、パーティションＡ３１０の分割は、読取速度に対する性能を最適化する。Ｙセレクタ３０９および３１２は、Ｙデコーダ３２５に結合される。さらに、状態レジスタ３３５もパーティションＡに関連付けられる。状態レジスタ３３５は、パーティションＡの状態、すなわちアイドル、それへの書込み中、それからの読取り中、または消去中を示す。同様に、パーティションＢに対しても、Ｘデコーダ３１７、Ｙセレクタ３１９、状態レジスタ３４０がある。パーティションＣもまた、Ｘデコーダ３２３、Ｙセレクタ３２２、状態レジスタ３４５を含む。一実施形態の場合、単一のユーザ・インタフェース３３０が、各パーティションに対する状態レジスタ３３５、３４０、３４５に結合される。
【００２０】
センス増幅器３５０は、すべてのパーティションをサポートする。一実施形態の場合、センス増幅器の数は１８個である。１６個のセンス増幅器３５０が、パーティションのうちの１つへの読取り操作に使用される。１つのセンス増幅器が、パーティションのうちの１つからの並列書込み操作に使用される。インタフェースは、各並列書込み操作を制御するいくつかの状態機械を含む。したがって、２つの並列書込み操作があり得る場合（２つのパーティションに同時に書き込む場合）、２つの状態機械がある。
【００２１】
電荷ポンプ３６０の数もまた、並列操作の数と並ぶ。別の実施形態の場合、単一の電荷ポンプ３６０への接続の数は、並列操作の数と等しい。これらの接続の各々は、異なる電圧レベルに保持することができ、複数の操作が異なる電圧レベルを利用することが可能である。一実施形態の場合、別々の接続が各パーティションに関連するデコーダに結合される。したがって、第１の接続は第１のパーティションに結合され、第２の接続は第２のパーティションに結合されるといったようになる。したがって、各接続は、パーティション上で実行できる各操作に対応する様々な電圧レベルを出力する。別の実施形態の場合、第１の接続は、書込用の第１の電圧レベルを出力し、第２の接続は、読取用の第２の電圧レベルを出力し、第３の接続は、消去用の第３の電圧レベルを出力する。この例では、スイッチが、実行されようとする操作に対して、適したパーティションを適した接続に結合する。
【００２２】
図４に、フラッシュ・メモリ・デバイスを使用するセルラ電話の一例を示す。セルラ電話４１０は、フラッシュ・メモリ・デバイス４３０を含む。フラッシュ・メモリ・デバイス４３０をセルラ電話上に示すが、一般にフラッシュ・メモリ・デバイス４３０は、セルラ電話４１０の本体内のレセプタクル中に収容されることを理解されたい。
【００２３】
図示のセルラ電話４１０はアクティブである。すなわち、これはコードを実行している。現在アクティブであるコードを含むパーティション４６０が実行されている。このようなコードの使用は、当技術分野で周知である。別のパーティション４５０は、ダイヤリング・データまたは音声データを含む。例えば、セル電話４１０は、ダイヤリング・ディレクタまたは類似のデータをデータ・パーティション４５０中に含むことができる。第３のパーティション４７０は、外部からの新しいコード４４０を受け取っている。一実施形態の場合、第３のパーティションは、リモートで更新することができる。したがって、セルラ電話がアクティブである間、コード・パーティション４６０中のコードを実行することができると同時に、新しいコード４４０が新規コード・パーティション４７０に書き込まれ、ダイヤリング・データを呼び出すのにデータ・パーティション４５０が使用される。このようにして、セルラ電話は、そのコードの継ぎ目ない更新と、セルラ電話の平行した更新および使用を可能にする。このような継ぎ目のないコード更新の他の応用も、同様に実施することができる。
【００２４】
前述の明細書において、本発明についてその具体的な実施形態に関連して説明した。しかし、本発明のより広い趣旨および範囲を逸脱することなく、それに様々な修正および変更を加えることができることは明白であろう。したがって、本明細書および図面は、限定的ではなく例示的なものとして見なされるべきである。本発明は、このような実施形態および例によって限定されるように解釈されてはならず、前掲の特許請求の範囲に従って解釈されるべきである。
【図面の簡単な説明】
【図１】  従来技術のフラッシュ・メモリ・デバイスを示す図である。
【図２】  複数分割されたフラッシュ・メモリ・デバイスの一実施形態を示す図である。
【図３】  ３つに分割されたフラッシュ・メモリ・デバイスの一実施形態を示す図である。
【図４】  フラッシュ・メモリ・デバイスを使用するセルラ電話の一例を示す図である。
【図１】
0004414087.tif 000002
【図２】
0004414087.tif 000003
【図３】
0004414087.tif 000004
【図４】
0004414087.tif 000005