(57)【要約】      （修正有）【課題】ブートローダによって実行される動作の完了に引続いてハイメモリおよびロウメモリを交換するために設けられる方法及び装置を提供する。【解決手段】フラッシュメモリシステムは、プログラム可能なメモリマップ１５２が設けられる。フラッシュメモリシステムは、フラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分するための手段が設けられたフラッシュメモリセル及びフラッシュメモリコントローラを含む。フラッシュメモリセルは、フラッシュメモリ空間の最下位のメモリアドレスで始まるブートローダを記憶する。区分するための手段は、ブートローダによって実行された動作が完了してしまった後にハイメモリロケーションとロウメモリロケーションを交換するための手段を含む。【選択図】図６
2014160485.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュマクロの組として配列されたフラッシュメモリセル、と
前記フラッシュマクロの一方の一つへ、同時に前記フラッシュマクロの他方の一つを読出している間に、書込むための読出し間書込み手段、を含むフラッシュメモリシステム。
【請求項２】
マイクロプロセッサへ接続された請求項１のシステムであって、且つ前記読出し間書込み手段は、
マイクロプロセッサから受信された信号を選択された前記マクロフラッシュの一つへ書込むための手段、と
前記選択されたマクロへ向けられたマイクロプロセッサからの読出しコマンドの受信に応答して、書込むための手段がその動作を完了してしまうまでマイクロプロセッサの動作を停止させ、それから読出しコマンドを実行するための手段を含む請求項１のシステム。
【請求項３】
読出し間書込み手段の現在のステータスを表現する値で、マイクロプロセッサによりアクセス可能な前記値を記憶するための手段を更に含む請求項２のシステム。
【請求項４】
フラッシュマクロの組として配列されたフラッシュメモリセル、
フラッシュメモリコントローラ、
フラッシュメモリマクロとフラッシュメモリコントローラを連結するフラッシュメモリバス、
前記フラッシュメモリコントローラは、
フラッシュマクロ当り一つのプログラム可能な待機状態の数を用いて、フラッシュマクロと関連するプログラム可能な待機状態の数を記憶するための手段、と
選択されたフラッシュマクロへアクセスするための手段で、選択されたフラッシュマクロと関連する待機状態の数を用いてプログラムされたフラッシュメモリバスを使用して選択されたフラッシュマクロへアクセスする選択されたフラッシュへアクセスするための前記手段、を含むこと、を含むメモリシステム。
【請求項５】
それぞれの前記待機状態レジスタユニットは待機状態のどのような整数も表現するためにプログラム可能である請求項４のシステム。
【請求項６】
フラッシュメモリセルで、フラッシュマクロの組として配列された前記フラッシュメモリセル、と
それぞれのフラッシュマクロと関連する別々のパスワードを記憶するための手段、と
選択された前記フラッシュマクロの一つのために有効なパスワードの受信に応答して、同時に全ての他のフラッシュセルのプログラム又は消去を防止している間に、前記選択されたフラッシュマクロのフラッシュセルのプログラム又は消去ができるようにするための手段、
を含むフラッシュメモリコントローラ、を含むフラッシュメモリシステム。
【請求項７】
前記フラッシュマクロの一つのフラッシュセルの一部分がブートローダソフトウェアを記憶する請求項６のフラッシュメモリシステム。
【請求項８】
ブートローダと関連するパスワードを記憶するための手段、と
ブートローダのために有効なパスワードの受信に応答して、前記ブートローダの前記フラッシュセルのプログラム又は消去ができるようにするための手段、を更に含む請求項７のフラッシュメモリシステム。
【請求項９】
フラッシュマクロの選択されたフラッシュセルを消去するための手段で、ワード消去、頁消去又は大量消去動作を選択的に実行する、消去するための前記手段を更に含む請求項７のフラッシュメモリシステム。
【請求項１０】
それぞれのフラッシュマクロに関連する別々のパスワードを記憶するための手段がハードワイヤードメモリにパスワードを記憶する請求項７のフラッシュメモリシステム。
【請求項１１】
フラッシュメモリセル、
前記フラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分するための手段を含むフラッシュメモリコントローラ、
前記フラッシュメモリセルは、フラッシュメモリ空間の最下位のメモリアドレスに始まるブートローダと他のメモリロケーション内のフラッシュマクロを記憶すること、と
区分するための前記手段は、ブートローダにより実行される動作が完了してしまった後、ハイメモリロケーションとロウメモリロケーションを交換するための手段を含むこと、を含むフラッシュメモリシステム。
【請求項１２】
第１番目のメモリ区分の最下位のメモリアドレスに始まり記憶されたブートローダを用いて、第１番目及び第２番目のメモリ区分に区分可能なメモリ空間を有するフラッシュメモリシステム内に記憶された符号をアクセスするための方法であって、前記方法は、
リセット信号を受信し、
メモリの低位の部分としてメモリ空間の第１番目の区分、且つメモリの高位の部分として第２番目の区分を明示し、
ブートローダを動作させ、且つ
ブートローダにより実行される動作の完了のときに、メモリの第２番目の区分の中に記憶されたどのような符号も後で低位のメモリからアクセスされることができるように、メモリ空間の第１番目及び第２番目の区分を交換する、ステップを含む方法。
【請求項１３】
請求項１２の方法であって、ブートローダを動作させる前記ステップは、どのような新しい符号がフラッシュメモリの中にプログラムされる必要があるかどうかを決定し、且つもしそうならば、新しい符号をダウンロードし、且つそれから第１番目及び第２番目の区分が交換される前にメモリの高位の部分に新しい符号を書込むステップを含む請求項１２の方法。
【請求項１４】
フラッシュマクロの組として配列されたフラッシュメモリセル、と
前記フラッシュマクロの一つへ、同時に前記フラッシュマクロの他の一つを読出している間に、書込むための読出し間書込み回路網を有するフラッシュメモリアクセスユニット、を含むフラッシュメモリシステム。
【請求項１５】
フラッシュマクロの組として配列されたフラッシュメモリセル、
フラッシュメモリコントローラ、
フラッシュメモリマクロとフラッシュメモリコントローラを連結するフラッシュメモリバス、
前記フラッシュメモリコントローラは、
フラッシュマクロ当り待機状態の一つのプログラム可能な数を用いて、フラッシュマクロに関連する待機状態のプログラム可能な数を記憶するための待機状態レジスタユニット、と
選択されたフラッシュマクロへアクセスするためのフラッシュマクロアクセスユニットで、選択されたフラッシュマクロに関連する待機状態の数を用いてプグラムされたフラッシュメモリバスを使用して選択されたフラッシュマクロへアクセスする前記フラッシュマクロアクセスユニット、を含むこと、を含むメモリシステム。
【請求項１６】
フラッシュメモリセルであって、フラッシュマクロの組として配列された前記フラッシュメモリセル、と
それぞれのフラッシュマクロに関連する別々のパスワードを記憶するためのパスワードレジスタ、と
選択された前記フラッシュマクロの一つのために有効なパスワードの受信に応答して、同時に全ての他のフラッシュセルのプログラム又は消去を防止している間に、選択されたフラッシュマクロのフラッシュセルのプログラム又は消去ができるようにするための回路網、
を含むフラッシュメモリコントローラ、を含むフラッシュメモリシステム。
【請求項１７】
フフラッシュメモリセル、
前記フラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分するフラッシュメモリコントローラ、
前記フラッシュメモリセルは、フラッシュメモリ空間の最下位のメモリアドレスに始まるブートローダ及び他のメモリ位置内のフラッシュマクロを記憶すること、と
前記フラッシュメモリコントローラは、ブートローダにより実行された動作が完了してしまった後に前記ハイメモリロケーション及びロウメモリロケーションを交換すること、を含むフラッシュメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にみてセルラ電話機のような移動通信装置に関し、特に、その中に使用するためのフラッシュメモリ及びスタティックランダムアクセスメモリ（ＳＲＡＭ）に関する。
【背景技術】
【０００２】
フラッシュメモリは、電力が切断された後でも記憶された情報を保持する一つの型の不揮発性メモリである。これは、一旦電力が切断されてしまうとその中に記憶されたデータを喪失する、ＳＲＡＭ又はダイナミックＲＡＭ（ＤＲＡＭ）のような揮発性メモリ装置とは対照的である。不揮発性であるのに加えて、フラッシュメモリは、それが組入れられたシステムの中で電気的に消去可能で且つ再プログラムが可能である。これは、典型的には再プログラムのために特殊な電圧を要求し、且つ、この故に、典型的には製造業者又はサービススペシャリストによる再プログラムのみが可能な、消去可能でプログラム可能なリードオンリメモリ（ＥＰＲＯＭ）のような他の不揮発性メモリ装置とは対照的である。
【０００３】
従って、フラッシュメモリは、選択的に消去され且つ再プログラムされることができる不揮発性メモリを要求する装置の中で有利に使用される。特に、フラッシュメモリは、デスクトップパーソナルコンピュータ、ラップトップコンピュータ、ビデオゲームカートリッジ、ディジタル音声レコーダ、パーソナルディジタルアシスタント（ＰＤＡ）、及びセルラ電話機（又は無線通信システムの他の移動局）に使用するためには好都合である。典型的には、このようなシステムの中で、フラッシュメモリは、どのような時でも、それへ書込まれることができるか又はそれから読出されることができるかのどちらかであるが、その両方ではない一つのフラッシュマクロ（ｆｌａｓｈ  ｍａｃｒｏ）のように構成される。大部分の装置に対してはこれで十分である。例えば、フラッシュメモリを含む大部分の装置の中では、フラッシュメモリの中に記憶されるどのようなデータも、装置が電力を遮断されるまでは揮発性メモリの中に記憶され、それからフラッシュメモリは、停止動作の間にそのデータを用いて再プログラムされる。そういうものとして、装置がフラッシュメモリからの読出し及びフラッシュメモリへの書込みの両方を同時に行うことが、いつも必要であるとは思われない。一つの例として、ＰＣ又はラップトップコンピュータは、コンピュータが動作停止するまで、ＤＲＡＭメモリの中の基本入出力システム（ＢＩＯＳ）への変化を記憶するかも知れない、次に、ＢＩＯＳへの変化がフラッシュメモリへ伝達される。
【０００４】
しかしながら、フラッシュメモリへ多くのより頻繁な読出し動作及び書込み動作を要求するかも知れないセルラ電話機の中に、フラッシュメモリを設けようと試みるときに問題が生じる。セルラ電話機は、使用中に多量の電力を消費し、そして、商業的に好ましくは、セルラ電話機は、再充電間の長い時間の間、効果的に動作することができなければならない。その結果、セルラ電話機は、典型的には、できるだけ頻繁に内部の構成要素への電力を遮断するように構成される。例えば、ＣＤＭＡセルラ電話機の中では、多くの構成要素は、ＣＤＭＡシステムのそれぞれ連続する呼出しスロット間で、電力を遮断される。（呼出しスロットは、３０ミリ秒離れて生じる。）従って、たった一つの最後の電力遮断動作まで不揮発性メモリの中で未処理の書込み動作を累積することは、実行可能ではない。むしろ、フラッシュメモリへ書込まれるデータは、それぞれ連続する一時的電力遮断の前に、素早く書込まれる必要があるかも知れない。更に、フラッシュメモリを頻繁に再プログラムする必要は、典型的には、セルラ電話機の中では、特に、セルラスマートホン（ｃｅｌｌｕｌａｒ  ｓｍａｒｔ  ｐｈｏｎｅ）、即ち、セルラ電話機能とＰＤＡ機能の両方をそれによって提供するＰＤＡを用いて構成されるセルラ電話機の中では、遥かにより重要である。コンピュータに関する限りにおいては、フラッシュメモリは、ＢＩＯＳ又はシステムの他の構成パラメータへの変化がある場合に再プログラムされる必要があるのみかも知れない。セルラスマートホンを用いて、フラッシュメモリは、新電話番号、住所、暦日付、会合日付の類を記録するために頻繁に再プログラムされる必要があるかも知れない。音声備忘録を記録するように構成されたスマートホンのために、フラッシュメモリは、電話機を使用して音声備忘録を記録するときには何時でも再プログラムされる必要があるかも知れない。従って、読出し及び書込み動作は、セルラ電話機に関連して、遥かにより頻繁に実行される必要があるかも知れなく、且つ在来のフラッシュメモリ構成は、これによってフラッシュメモリからの読出し及びフラッシュメモリへの書込みが、同時に実行されることができなくて、不十分であるかも知れない。
【０００５】
更に、セルラ電話機応用の中では、フラッシュメモリは、他の応用において要求されるよりも遥かにより素早くアクセスされる必要があるかも知れない。フラッシュメモリから検索されるデータが、音声電話呼のように、セルラ電話機のどのようなリアルタイム機能にも関連して使用するために要求されるならば、これは特に然りである。このような機能のために、フラッシュメモリからの読出しの前に完了される前の書込み動作を待機しなければならないことによって必要とされるどのような遅延も重要であるかも知れない。
【０００６】
それだけではなく、たとえ読出し動作が、未処理の書込み動作の完了を遅延させられる必要がなくても、在来のフラッシュメモリの中の読出し時間は、かなり緩慢になることができる。フラッシュメモリは、頻繁に再書込みされていた特定のフラッシュセル（ｆｌａｓｈ  ｃｅｌｌ）のための読出し時間が、頻繁に再書込みされていなかったフラッシュセルと比較すると緩慢になるような使用では、品質低下を生じる。この故に、フラッシュセルを含む装置が暫くの間使用された後では、幾らかのフラッシュセルは、他のものより緩慢な読出し時間を有する。可能性のある品質低下を補償するために、フラッシュセルを含む装置は、典型的には、内部のフラッシュメモリの読出し時間を比較的に緩慢になるようにセットする。この点について、フラッシュメモリからデータを検索するためにフラッシュメモリに接続されたバスシステムは、品質低下をするかも知れない潜在的に緩慢なセルのアクセス時間の原因となるのに対して、十分な幾つかの待機時間を用いて事前プログラムされる。換言すれば、フラッシュメモリアクセス時間に関する限りにおいては、バスシステムは、最悪の場合のシナリオに適応させるために事前プログラムされる。その結果、まだ品質低下していないフラッシュメモリ位置からでさえも、全ての読出しアクセスは、比較的に緩慢である。多くの装置においては、緩慢な読出し時間は、問題とはならない。しかしながら、セルラ電話機に関連して、フラッシュメモリからのそれぞれのアクセスに要求される時間を最小化することは、特に、セルラ電話機がリアルタイム機能に活動している間においては、遥かにより重要である。従って、改良されたフラッシュメモリシステムを提供することは、特に、上に述べた不利な点を克服するセルラ電話機又は同様な装置の中で使用するためには、非常に望ましいことであろう。本発明の諸態様が目指すものは、この目的のためにある。
【０００７】
典型的には、セルラ電話機の中で、フラッシュメモリは、ＳＲＡＭと関連して使用され、その中でフラッシュメモリは、不揮発性記憶を提供し、且つ、ＳＲＡＭは、揮発性記憶を提供する。典型的には、フラッシュメモリ及びＳＲＡＭ装置は、お互いに別々の装置で、且つ、セルラ電話機能を取扱うためのマイクロプロセッサ及び種々の周辺構成要素を含むセルラ電話機の主要なＡＳＩＣからも別々に搭載される。このような実施においては、フラッシュ及びＳＲＡＭメモリがＡＳＩＣから分離しているために、フラッシュメモリ及びＳＲＡＭメモリへアクセスするために要求される時間は、比較的に遅くなることができ、こうして、全体に亘るシステム性能を阻害する。従って、フラッシュ及びＳＲＡＭメモリへの速められたアクセスを可能にするフラッシュメモリ、ＳＲＡＭ及び中央ＡＳＩＣを有するセルラ電話機の中で使用するための改良されたシステム構成を提供することが、また望ましく、且つ、本発明の他の諸態様が目指すものは、この目的のためにある。
【０００８】
その上、セルラ電話機のフラッシュメモリは、頻繁にアクセスされる必要があるかも知れないので、フラッシュメモリの中に記憶されたデータの部分は、不注意に上書きされるかも知れないという危険がある。これは、それぞれフラッシュメモリの部分を再プログラムする能力があるたくさんのハードウェア構成要素を含むかも知れない最新式のセルラ電話機においては、特に、然りである。この問題は、セルラ電話機の中で使用するためのソフトウェアが、典型的に、開発され、且つ、急速に変化する商業界に適応させるために、非常に素早く市場へもたらされなければならないという事実によって悪化させられる。その結果、ソフトウェアが、不注意に、フラッシュメモリの中のデータの部分が再書込みされ又は消去されることを引き起こすかも知れないという、明らかに重要な危険がある。フラッシュメモリの部分が、不注意に、電話機の動作のために要求される、警察番号、消防署番号の類のような記憶された重要な番号、又はブートローダ（ｂｏｏｔ  ｌｏａｄｅｒ）の類のような記憶された重要なソフトウェアプログラムを消去したとするならば、これは、深刻な問題であり得る。従って、フラッシュメモリの部分の不注意な消去の危険を最小化する改良されたフラッシュメモリシステムを提供することが非常に望ましく、且つ、なお、更に、本発明の諸態様は、この目的を目指すものである。
【発明の概要】
【０００９】
本発明の第１の態様に従えば、フラッシュメモリシステムは、フラッシュマクロの一つへ、同時にフラッシュマクロの他の一つから読出している間に、書込むための読出し間書込み手段が設けられる。フラッシュメモリシステムがマイクロプロセッサヘ接続される一つの特定の例においては、読出し間書込み手段は、マイクロプロセッサから受信された信号を選択されたフラッシュマクロの一つへ書込むための手段、且つ、選択されたフラッシュマクロへ目指すマイクロプロセッサからの読出しコマンドの受信に応答して、書込みのための手段がその動作を完了するまでマイクロプロセッサの動作を中止させ、それから、読出しコマンドを実行するための手段を含む。
【００１０】
こうして、フラッシュメモリセルは、独立にアクセスされることができるフラッシュマクロの組に分割される。書込み動作は、フラッシュマクロの一つへ実行されることができ、一方その間読出し動作は、フラッシュマクロ他の一つの中で実行される。これは、一部においては、読出し動作は、書込み動作が完了するまで延ばされる必要はないという理由で、全体に亘るシステム応答時間を改良する。実際は、フラッシュメモリ書込み動作は、典型的には、フラッシュメモリ読出し動作より遥かに長くかかるので、たくさんの読出し動作が、たった一つのフラッシュメモリ書込み動作の間に並行して実行されるかも知れない。
【００１１】
本発明の第２の態様に従えば、フラッシュメモリシステムは、プログラム可能な待機状態が設けられる。例示的実施形態においては、フラッシュメモリセルは、再びフラッシュマクロの組として配列される。フラッシュメモリバスは、フラッシュマクロとフラッシュメモリコントローラを連結させる。フラッシュメモリコントローラは、フラッシュマクロにつき１つのプログラム可能な待機状態の数を用いて、フラッシュマクロに関連するプログラム可能な待機状態の数を記憶するための待機状態レジスタユニットを含む。フラッシュメモリコントローラは、又、選択されたフラッシュマクロへアクセスするためのフラッシュマクロアクセスユニットを含む。フラッシュマクロアクセスユニットは、選択されたフラッシュマクロに関連する待機状態の数を用いるフラッシュメモリバスプログラムを使用して選択されたフラッシュマクロへアクセスする。この構成を用いて、頻繁に再プログラムされ、且つ、この故に品質低下の支配を受けるフラッシュメモリの部分は、フラッシュメモリの他の部分より大きい待機状態の数を使用してアクセスされることができる。その結果、頻繁に再プログラムされないフラッシュメモリの部分は、フラッシュメモリへの全ての読出し動作が、更に悪い場合の品質低下の量に従う更に悪い場合のメモリアクセス時間に適応させる幾らかの待機状態の数によって遅延させられる、システムの中より遥かに素早くアクセスされることができる。
【００１２】
本発明の第３の態様に従えば、フラッシュメモリシステムは、パスワード保護が設けられる。例示的実施形態においては、フラッシュメモリシステムは、各フラッシュマクロに関連する別々のパスワードを記憶するための手段、並びに、選択されたフラッシュマクロの一つからの有効なパスワードの受信に応答して、同時に全ての他のフラッシュセルの消去のためにプログラムすることを防止している間、選択されたフラッシュマクロのフラッシュセルの消去のためにプログラムすることができるようにするための手段、を有するフラッシュメモリコントローラと一緒にフラッシュマクロの組として配列されたフラッシュメモリセルを含む。この構成を用いて、フラッシュメモリの部分の不注意な消去の危険は、大きく最小化される。有効なパスワードは、消去動作が実行されることができる前に獲得される。この故に、ソフトウェアバグの類の結果として生じる不注意な消去動作は、大きく減少させられる。さらに、フラッシュメモリの異なる部分に対して異なるパスワードを設けることによって、個々のコンピュータプログラム又は個々の周辺ハードウェア構成要素は、フラッシュメモリの特定の部分を消去のみするように制限されることができる。その結果、フラッシュメモリの大きな部分の不注意な消去又は再プログラムすることの危険は、大きく減少させられる。特定の実施においては、フラッシュメモリの一部分は、フラッシュメモリが定在するシステムに役立つ使用のためのブートローダを記憶する。ブートローダに関連する別々のパスワードは、ブートローダの偶発的再プログラムの危険を更に最小化するように設けられる。
【００１３】
本発明の第４の態様に従えば、フラッシュメモリシステムは、プログラム可能なメモリマップが設けられる。フラッシュメモリシステムは、フラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分するための手段が設けられたフラッシュメモリセル及びフラッシュメモリコントローラを含む。フラッシュメモリセルは、フラッシュメモリ空間の最下位のメモリアドレスで始まるブートローダを記憶する。区分するための手段は、ブートローダによって実行された動作が完了してしまった後にハイメモリロケーションとロウメモリロケーションを交換するための手段を含む。この配列を用いて、典型的には、最初のパワーアップ（ｐｏｗｅｒ−ｕｐ）動作の間アクセスされるのみのブートローダは、より頻繁にアクセスされる必要があるかも知れない他のデータ及びプログラムが、より適切にアクセスされることができる下位のメモリの中に記憶されることができるような、上位のメモリに交換される。
【００１４】
本発明の他の目的、特徴及び利点は、添付された図面とともに、後に続く説明から明白になるだろう。本発明の方法及び装置の実施形態が提供される。
【図面の簡単な説明】
【００１５】
【図１】図１は、移動電話機の中で使用するための集積化埋込型フラッシュ及びＳＲＡＭシステムを有する音声及びデータモデムＡＳＩＣのブロック図である。
【図２】図２は、図１のＡＳＩＣのフラッシュメモリシステムのブロック図である。
【図３】図３は、図２のフラッシュメモリシステムの中で使用するための待機状態メモリのブロック図である。
【図４】図４は、図２のフラッシュメモリシステムの中で使用するためのパスワードメモリのブロック図である。
【図５】図５は、図２のフラッシュメモリシステムと共に使用するためのフラッシュメモリ状態レジスタのブロック図である。
【図６】図６は、図２のフラッシュメモリの区分可能なメモリ余白のブロック図である。
【発明を実施するための形態】
【００１６】
図面を参照して、本発明の好ましく且つ例示的な実施形態について説明する。本発明は、最初に、ＣＤＭＡセルラ電話機の音声及びデータモデムＡＳＩＣの中で使用するための集積化埋込型フラッシュ及びＳＲＡＭシステムを参照して説明されるだろう。しかしながら、本発明の原理は、同様に他のシステムにも適用可能である。
【００１７】
図１は、ＣＤＭＡ無線通信システムの中で使用するために構成されたセルラ電話機のような、移動無線通信装置の中で使用するための音声及びデータモデムＡＳＩＣ１００を図示する。音声及びデータモデムＡＳＩＣは、セルラ電話機の電話機能を取扱うための回路網を含む。示されていないが、セルラ電話機は、他のＡＳＩＣ、又は他の機能を実行するように構成された他の集積回路を含んでもよい。例えば、セルラ電話機が、無線電話機能と同様な、ＰＤＡ機能を提供するスマートホンのように構成されるならば、別々のＡＳＩＣは、ＰＤＡ機能を制御するために設けられるかも知れない。その代わりに、全ての機能は、たった一つのＡＳＩＣの中に集積化されるかも知れない。
【００１８】
セルラ電話機の無線電話機能を取扱うために、ＡＳＩＣは、音声及びデータモデム機能を制御するためのマイクロプロセッサ１０２を含む。マイクロプロセッサは、例えば、Ａｒｍ，ＩｎｃＪ．社によって提供されるＡＲＭ７  ＴＤＭＩＪマイクロプロセッサのような、縮小命令セット計算（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｉｎｇ）（ＲＩＳＣ）マイクロプロセッサであるかも知れない。ＡＲＭ７  ＴＤＭＩ及びＡｒｍ，Ｉｎｃ．は、両方ともＡｒｍ，Ｉｎｃ．社の商標である。他の実施においては、例えば、複合命令セット計算（ｃｏｍｐｌｅｘ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｉｎｇ）（ＣＩＳＣ）マイクロプロセッサを含む他のマイクロプロセッサが使用される。一般に符号１０４で示される種々の周辺構成要素が、特定のＣＤＭＡ無線電話機能を実行するためにＡＳＩＣの中に設けられる。
【００１９】
システムバス１０６は、マイクロプロセッサと種々のＣＤＭＡ周辺構成要素を連結させる。使用時に、マイクロプロセッサは、基地局（示されていない）から受信されたＣＤＭＡ信号をセルラ電話機のスピーカを通して出力するための音声信号に変換し、又はセルラ電話機のマイクロホンから受信された音声信号を基地局への伝送のためのＣＤＭＡ信号に変換するような、ＣＤＭＡ無線通信を処理するように指図された種々の機能を実行するために、システムバスを介して、種々のＣＤＭＡ周辺構成要素を制御する。これら及び他の機能を実行するために、マイクロプロセッサ及び周辺構成要素は、ＡＳＩＣの外側のセルラ電話機の中に実装された１つ若しくはより多いＳＲＡＭ、ＤＲＡＭ又はフラッシュメモリチップを含むかも知れない、ＡＳＩＣの上に形成された内部メモリシステム１０８の中又は外部メモリシステム１１０の中のいずれかに、データ又は他の情報を記憶する。全般に、電話呼のリアルタイム処理の類に関連して使用されるデータのような、素早くアクセスされる必要があるデータ又は他の情報は、適切なアクセスのために内部メモリシステムの中に記憶される。非リアルタイム機能を用いて使用するためのデータのような、素早く検索される必要がないデータは、外部メモリシステムの中に記憶される。
【００２０】
内部メモリシステムは、たった一つのメモリシステムとして集積化されたフラッシュメモリシステム１１２及びＳＲＡＭ１１３を含む。図１の例示的実施においては、たった一つのメモリシステムの回路及びマイクロプロセッサの回路並びにＣＤＭＡ周辺構成要素は、全てたった一つのシリコン型の上に集積化される。他の実施においては、たった一つのメモリシステムの回路は、一方の型の上に設けられ、且つ、マイクロプロセッサ及び周辺ＣＤＭＡ構成要素は、他方の型の上に設けられる。好ましくは、この実施においては、二つの別々のシリコン型は、たった一つのチップの中で集積化される。どの場合においても、内部メモリインタフェースユニット１１５は、システムバス１０６を介して、内部メモリシステムをマイクロプロセッサ及び周辺ＣＤＭＡ構成要素と連結させる。外部メモリインタフェースユニット１１７は、システムバス１０６をも介して、外部メモリシステムをマイクロプロセッサ及び周辺ＣＤＭＡ構成要素と連結させる。
【００２１】
内部メモリシステムのフラッシュメモリシステム１１２のフラッシュメモリは、主に、マイクロプロセッサ又はＣＤＭＡ周辺構成要素によって使用するためのＣＤＭＡソフトウェアコードを記憶するために使用される。典型的には、フラッシュメモリは、また、マイクロプロセッサによる最初のパワーアップ動作の間検索され且つ動作させられるブートローダを含む。ブートローダは、フラッシュメモリの中に記憶された他のＣＤＭＡプログラムへアクセスしたり且つ動作させるための命令を含む。フラッシュメモリは、また、名前、電話番号、住所の類の記憶のような、セルラ電話機に関連して使用されるデータの不揮発性記憶を設けるために使用される。セルラ電話機がＰＤＡの動作を追加的に実行するスマートホンのように構成されているならば、そのときは、フラッシュメモリは、会合日付、暦、予定、音声備忘録、の類のような、ＰＤＡによって使用されるデータを追加的に記憶する。一般に、セルラ電話機が電力停止してしまっている間でさえも保たれているかも知れないどのような型のソフトウェア又はデータも、好ましくは、ＡＳＩＣの中に埋込まれたフラッシュメモリの中、又はもし外部メモリの中に設けられていれば、フラッシュメモリシステムの中のいずれかに記憶される。
【００２２】
埋込型ＳＲＡＭ１１３は、それらの機能に関連してマイクロプロセッサ又は周辺構成要素によって使用される他の型のデータ又はソフトウェアプログラムの揮発性記憶を設ける。例えば、ＣＤＭＡ信号がセルラ電話機の通話中に基地局から受信されるとき、種々の周辺構成要素は、信号、又はその処理されたバージョン（ｖｅｒｓｉｏｎ）をＳＲＡＭの中に記憶する。一つの特定の例として、ビタビ（Ｖｉｔｅｒｂｉ）復号器が入力信号を処理してしまった後、音声のために復号化されたシンボルは、ボコーダによる引続く処理のためにＳＲＡＭの中に記憶される。外部メモリは、また、データ、特に高レートでアクセスされる必要がないデータを記憶するための揮発性メモリとして使用されるかも知れない。
【００２３】
さて、信号の伝送のために、ＡＳＩＣ１００のＣＤＭＡ周辺構成要素を考慮してみると、ＤＳＰを含むかも知れないボコーダ１１４は、マイクロホン（示されていない）を通して受信された音声信号をディジタル化されたシンボル又は他の情報のパケットに変換するために設けられる。誤り訂正及び検出目的のために、ＣＤＭＡ符号器１１６は、ボコーダによって発生させられたシンボルを符号化する。ＣＤＭＡインタリーバ１１８は、時間ダイバーシティを設けるために符号化された信号をインタリーブし、これによって伝送電力の低減を可能にする。ＣＤＭＡ変調器１２０は、アンテナ（示されていない）を介する次の伝送のためにインタリーブされた信号を変調する。受信された信号を処理するために、ＣＤＭＡ復調器１２２は、信号を復調し、デインタリーバ１２４は、どのような前のインタリーブの影響も除去するように、信号をデインタリーブし、且つＣＤＭＡ復号器１２６は、その中に符号化されている音声又はデータ信号を取出すために、信号を復号化する。音声通信については、復号化された音声信号は、スピーカ（示されていない）を通して電話機のユーザへ出力される。データ通信については、復号化されたデータ信号は、例えば、ウェブブラウザプログラム（ｗｅｂ  ｂｒｏｗｓｅｒ  ｐｒｏｇｒａｍ）、ｅメールプログラムの類を使用して、表示するため（示されていない表示装置上に）のような、電話機の他の構成要素によって更に処理される。
【００２４】
こうして、図１は、他にも特徴はあるが、埋込型のフラッシュ及びＳＲＡＭを図示する。ＡＳＩＣ上にフラッシュメモリ及びＳＲＡＭを埋込むことによって、マイクロプロセッサ並びにフラッシュ及びＳＲＡＭメモリは、これによって物理的に互いに密接する。この故に、マイクロプロセッサからメモリへのデータバス及び制御信号は、逆もまた同様に、オフチップメモリ（ｏｆｆ−ｃｈｉｐ  ｍｅｍｏｒｙ）を使用するときに印刷回路基板上で見出だされるよりも少ない経路及び容量遅延に出会う。これは、全体に亘たるメモリアクセス時間、且つより速い全体に亘たる処理速度を改善する。その上、ＡＳＩＣの中にフラッシュ及びＳＲＡＭを埋込むことによって、ＡＳＩＣの外部にある全てのメモリを要求するシステムと比較して、セルラ電話機のエレクトロニクスの全体に亘る寸法が削減され得る。これは、スリムで且つコンパクトな設計を使用して構成されたセルラ電話機を可能にする。それだけではなく、重要な電力節減が、ＡＳＩＣの中にフラッシュメモリ及びＳＲＡＭを埋込むことによって達成される。特に、フラッシュメモリ及びＳＲＡＭがオフチップを設けているならば、少なからぬ電力及びエネルギーが消費され、フラッシュメモリ及びＳＲＡＭへアクセスするために要求される種々の入力／出力ピン並びに印刷回路基板上の信号追跡をトグル（ｔｏｇｇｌｉｎｇ）する。この故に、埋込まれたフラッシュメモリ及びＳＲＡＭの中で頻繁にアクセスされる必要があるデータ及びプログラムを記憶することによって、電力消費が低減され、これによって、電話機が、再充電動作が要求される前に、顧客によってより長く動作させられ得るような、セルラ電話機の待機時間を改善する。その上、装置が活動しているときにより低い全体に亘る電流消費があり、これによって更に電力消費を低減させる。好ましくは、システムバス、マイクロプロセッサ、及び内部メモリシステムは、全て３２ビットのデータ通路を処理するように構成される。外部のフラッシュ及びＳＲＡＭは、典型的には、８ビットのデータ通路のみを使用してアクセスされる。この故に、３２ビットのデータ通路を適応させることによって、アクセス時間は、また、更に改善される。その上、それぞれのクロック周期の間、より大量のデータが処理され得るので、ＡＳＩＣの構成要素の全体に亘るクロックレートは、低減させられることができ、これによって、なお、更に、パワー消費を改善する。オフチップメモリについて、３２ビットのデータパスは、典型的には、ピン及び経路の制限のため、使用されない。それでも他の利点として、ＡＳＩＣの中に埋込型のフラッシュメモリ及びＳＲＡＭを設けることは、セルラ電話機のマザボード上に要求されるチップの合計数を減少させ、これによって簡単化された製造工程の結果として信頼性を向上させる。
【００２５】
こうして、ＡＳＩＣ１００の中に埋込型のフラッシュ及びＳＲＡＭを設けることは、たくさんの利点を提供する。次に、内部メモリシステムのフラッシュ及びＳＲＡＭメモリの特定の特徴をより詳細に説明する。これらの特徴は、例えば、改善されたアクセス時間、改善された不注意な書込み動作からの保護、の類を提供する。
【００２６】
さて、図２を参照すると、埋込型フラッシュメモリシステムは、フラッシュメモリ列１３０及びフラッシュメモリコントローラ１３２を含む。フラッシュメモリ列１３０は、説明されるように、独立にアクセスされることができるＮ個の異なるフラッシュマクロまでに限定されるフラッシュメモリセルを含む。換言すれば、一つのフラッシュマクロ上の読出し動作は、他の一つのフラッシュマクロ上の書込み動作が実行されている間に、実行されることができる。ある特定の例においては、Ｎは４にセットされて、合計四つの別々のフラッシュマクロに細分されるようなフラッシュメモリを可能にする。フラッシュメモリシステムバス１３４は、フラッシュメモリ列とフラッシュコントローラを連結し、読出し又は書込み動作を実行するためにフラッシュメモリ列へアクセスするようなフラッシュコントローラを可能にする。好ましくは、全ての三つの構成要素は、３２ビットのデータパスに適応するように構成される。フラッシュコントローラ１３２は、フラッシュマクロアクセスユニット１３６、並びにプログラム可能な待機状態レジスタ１３８、プログラム可能なパスワードレジスタ１４０及びステータスレジスタ１４２を含んでいる、種々のメモリレジスタを含む。フラッシュメモリアクセスユニットは、フラッシュメモリ列のフラッシュマクロへのアクセスを制御するために、種々のレジスタの中に記憶された情報を使用する。レジスタの中に記憶された情報及びその情報が使用される方法について、さらに詳細に説明する。
【００２７】
フラッシュメモリアクセスユニット１３６は、フラッシュメモリ読出しユニット１４４及びフラッシュメモリ書込みユニット１４６を含む。読出しユニットは、フラッシュメモリユニットの中に記憶されたデータ又はソフトウェアプログラムを読出すために使用される。書込みユニットは、新しいデータ又は新しいプログラムを記憶するためにフラッシュメモリの部分を再プログラムするために使用される。一緒にして、読出し及びフラッシュ書込みユニットは、一つのフラッシュマクロ上に、同時に書込み動作が他の一つのフラッシュマクロ上に実行されている間、実行される読出し動作を可能にするための読出し間書込み手段を設ける。こうして、特定の例として、読出しユニット１４４は、書込みユニットがフラッシュマクロ＃２上に書込み動作を実行している間に、フラッシュマクロ＃１上に読出し動作を実行してもよい。読出し動作は、全体に亘るメモリ列の中の特定のメモリアドレスを指定して、フラッシュバス１３４を介して、フラッシュメモリ列１３０へ読出しコマンドを転送することによって行われる。フラッシュマクロ＃１からの読出し動作の場合においては、アドレスは、フラッシュマクロ＃１のアドレス空間の中の３２ビットのメモリアドレスを指定する。同様に、書込み動作については、書込みコマンドは、フラッシュバスを介してフラッシュメモリへ転送される。書込みコマンドは、フラッシュマクロの中のアドレスを指定し、且つ追加的にその中に記憶されているデータを指定する。３２ビットのデータ通路の実施については、書込みコマンドは、メモリアドレスと一緒に３２ビットのデータを設ける。その上、下記に説明されるように、書込み動作は、正しいパスワードが書込みコマンドの一部としてマイクロプロセッサ又は周辺構成要素から受信されるならば、実行されるのみである。
【００２８】
フラッシュメモリ書込み動作は、本質的にフラッシュ読出し動作より多くの量の時間がかかる。読出し動作は、例えば、たった一つのクロック周期の中で実行されるかも知れない。書込み動作は、幾百ものクロック周期を要求するかも知れない。従って、非常に多数の個々の読出し動作は、たった一つの書込みが実行されている間に、実行されるかも知れない。読出し動作は、書込み動作の支配を受けているマクロとは異なるフラッシュマクロのどの上にでも実行される。読出し要請が、現在、書込み動作の支配を受けているフラッシュマクロの中のアドレスを指定してマイクロプロセッサから受信されるならば、読出し動作は、書込み動作が完了してしまうまでフラッシュマクロアクセスユニットによって延期される。その上に、フラッシュメモリアクセスユニットは、マイクロプロセッサヘ信号を転送し、書込み動作の完了まで処理動作を中止するようプロセッサを制御する。これは、断続信号又は他の在来の手法を使用して達成されるかも知れない。純理論的な処理ができるマイクロプロセッサを使用する実施におけるような、他の実施においては、書込み動作が実行されている間、マイクロプロセッサが動作を継続することを可能にすることが望ましいかも知れない。
【００２９】
この故に、読出し間書込み機構が設けられる。もし、同じフラッシュマクロへ命令が出され（ｉｓｓｕｅ）ないならば、未処理の書込み動作の完了まで、読出し動作が延期される必要がないという理由で、読出し間書込み機構は、平均して、より速い読出しアクセス時間が達成されることを可能にする。そういうものとして、全体に亘るシステムは、より効率的であって、与えられた期間の時間の範囲内でより多くの動作をシステムが実行することを可能にするか、又は全般的により低いクロックレートでシステムが動かされることを可能にするかのいずれかであり、こうして電力消費を低減する。
【００３０】
フラッシュメモリアクセスユニットは、追加的に、フラッシュメモリの部分を消去するための消去ユニット１４７を含む。消去ユニットは、開始アドレスを指定し且つ更に消去されるデータの量を指定して、マイクロプロセッサ又は他の構成要素から消去コマンドを受信する。消去コマンドは、たった一つのワード（３２ビット）、まる一頁、又はフラッシュメモリ列全体のいずれかの消去を指定してもよい。正しいパスワードがマイクロプロセッサ又は周辺構成要素から消去コマンドの一部として受信されるならば、書込み動作を用いるとして、消去動作は、実行されるのみである。“大量消去”動作としてこの中で参照される、フラッシュメモリ列全体が消去される動作の間に、フラッシュメモリへの全ての他の読出し又は書込み要請は、大量消去動作の完了を未処理のまま、停止させられる。例示的実施においては、全てのフラッシュメモリ動作は、また、フラッシユメモリの頁が消去されたとき、たとえ動作が、消去されている頁から分離したフラッシュマクロヘ実行されるものであっても、停止させられる。他の実施においては、フラッシュメモリ動作は、他のフラッシュマクロが消去されている頁によって影響されないことを可能にされる。その上、フラッシュメモリの特定の実施に依存して、消去動作は、どのような書込み（又はプログラム）動作の前でも実行される必要があるかも知れない。その上、特に、書込み動作が“１”ビットに“０”ビットへ変化させることのみができるように、フラッシュメモリが構成されているならば、そのときは、消去動作は、ワード又は実際の書込み動作の前に書込まれているワードヘ実行される必要があるだろう。消去動作は、引続く書込み動作が選択されたワードの中のビットを“０”へ再プログラムすることができるように、以前に“０”へプログラムされた全てのビットを“１”へ変換し返す。従って、このような実施においては、フラッシュメモリ書込みユニット１４６は、書込みコマンドを受信したとき、最初に、ワード又は書込み動作を実行する前の書込み動作の支配を受けているワードを消去するように、消去ユニット１４７を制御する。代案においては、書込みユニット１４６は、書込み動作の前に自動的に消去動作を実行しない。このような実施においては、ソフトウェア設計者達は、フラッシュメモリヘアクセスするソフトウェアが書込み動作の前に消去動作を実行することを確実にしなければならない。
【００３１】
フラッシュメモリアクセスユニットは、また、メモリ列１３０のメモリアドレスフェーズの全体に亘るハイメモリ部分およびロウメモリ部分の交換に使用するためのメモリ交換ユニット１４９を含む。メモリ交換ユニットの動作を、図５に関連して下記により詳細に説明する。
【００３２】
図３は、フラッシュメモリ列の異なる部分を用いて使用するためのフラッシュバス待機状態のための待機状態メモリレジスタ１３８を図示する。待機状態メモリレジスタは、フラッシュメモリ列の別々のＭ個の部分に関連する待機状態値を記憶するための別々のＭ個の記憶レジスタを含む。一つの実施においては、フラッシュマクロ当り別々の１つの待機状態レジスタがあるように、Ｍは、Ｎにセットされる。他の実施においては、フラッシュマクロ当り多数の待機状態レジスタ又は待機状態レジスタ当り多数のフラッシュマクロがあるかも知れない。一つの特定な実施においては、Ｎは４にセットされ、且つＭは１６にセットされる。各待機状態レジスタは、メモリ列の相応する部分の中のどんなメモリアドレスへの読出し動作の間でも使用するための待機状態値を記憶する。待機状態は、フラッシュメモリアクセスユニットが読出し動作によるデータの検索まで待機しなければならないような、フラッシュメモリバスの周期の数を指定する。待機状態が０にセットされているならば、そのときは、フラッシュメモリアクセスユニットは、読出し動作がフラッシュ列へ強行されたクロック周期の直後に引続くクロック周期の間にフラッシュバスへアクセスする。待機状態が３にセットされているならば、そのときは、フラッシュメモリアクセスユニットは、読出し動作の強行に引続く三つのクロック周期を待機する。
【００３３】
異なる待機状態値は、フラッシュメモリ列の異なる品質低下の度合いを適応させるためにフラッシュメモリ列の異なる部分に設けられる。簡単には、より頻繁にフラッシュメモリが書込まれれば、より緩慢にフラッシュセルは、引続く読出し動作に応答する。異なる型のデータ又はプログラムを記憶するフラッシュ列の異なる部分に対して、異なる度合いの読出し時間の品質低下が生じる。その上特に、音声備忘録を記憶するために使用される部分のように、頻繁に再書込みされるフラッシュメモリの部分は、ブートローダを記憶する部分のように、頻繁に再書込みされるフラッシュメモリの部分より大量の品質低下の支配を受ける。（下記に説明される実施においては、ブートローダは、ブートローダを記憶するために使用されるメモリセルへ幾らかの度合いの品質低下の結果をもたらす高位のメモリの内も外もすっかり、交換される。）
こうして、別々の待機状態値は、そのメモリの予想された品質低下の度合いに依存するメモリの各部分のための待機状態レジスタの中に記憶される。たまにしか再プログラムされないように予想されるメモリの部分のために、０の待機状態は、相応する待機状態メモリレジスタの中に再プログラムされる。頻繁に再プログラムされるように予想される列の部分のために、３の待機状態値は、好ましくは、事前プログラムされる。予想される再プログラムの量は、全体に亘るシステムハードウェア及びソフトウェア設計に基づいて、前もって決定される。こうして、音声備忘録構成要素のように、頻繁にフラッシュメモリへ書込む確かなハードウェア及びソフトウェア構成要素がフラッシュマクロ＃３のみに使用するために設計されているならば、そのときは、フラッシュマクロ＃３のための待機状態は、３にプリセットされる。その代わりに、０の待機状態は、フラッシュマクロ＃１のためにプリセットされ、１の待機状態は、フラッシュマクロ＃２のためにプリセットされ、２の待機状態は、フラッシュマクロ＃３のためにプリセットされる、等である。ソフトウェア及びハードウェアの設計者達は、予想される書込み頻度に基づいて、フラッシュマクロへ書込みをするためにシステムを設計するよう指図される。フラッシュメモリへの頻繁な書込みを行うハードウェア又はソフトウェアを開発する設計者達は、フラッシュマクロ＃４へ書込むように彼等のシステムを構成するだろう。たまにしかフラッシュメモリへ書込まないハードウェア又はソフトウェアを開発する設計者達は、フラッシュマクロ＃１へ書込むように彼等のシステムを構成するだろう。今までのところ他の代案では、フラッシュメモリアクセスユニットは、それぞれのフラッシュマクロへ実行される書込み動作の数を追跡し、且つそれに応じて関連する待機状態の数を選択的に増加させるように構成される。待機状態レジスタは、セルラ電話機が最初に製造されるときに、全て０にプリセットされる。その後、異なるフラッシュマクロがセルラ電話機の使用の間に再書込みされる範囲に依存して、待機状態レジスタの中に記憶された個々の値は、選択的に１に、それから多分２、それから３又はより大きくリセットされる。使用される特定のフラッシュメモリ、且つセルラ電話機の使用の量に依存して、どんな待機状態レジスタも０から１へリセットされるまでは、１年又は２年はあるかも知れない、且つ３の待機状態値へ到達するものは、全くないかも知れない。他の場合においては、その値は、より頻繁にリセットされる必要があるかも知れない。それでも他の実施においては、より大きい数の待機状態値でさえも、例えば、０から１０の待機状態値を含んで提供される。待機状態値の合計数及び待機状態の数が増大する前に実行される再プログラム動作の数は、種々の構成要素を制御するために使用されるクロックの全体に亘る周波数と同様に、特定のフラッシュメモリ列、フラッシュバス、及びフラッシュコントローラにより大きく依存する。しかしながら、構成要素のそれぞれの選択のために、且つクロック信号のそれぞれの選択のために、日常の実験が、待機状態値のための容認できるか又は最適の値を決定するために、且つ待機状態値がどのくらい頻繁に増大される必要があるかを決定するために、実行されるかも知れない。いずれにせよ、プログラム可能な待機状態値を提供することによって、平均のメモリアクセス時間は、短縮されることができ、これによってより大きな処理速度又は同様な処理速度を達成するためのより緩慢なクロックの使用を可能にすることのどちらかを提供する。
【００３４】
図４は、フラッシュメモリ列の異なる部分に関連するパスワードを記憶するためのフラッシュメモリパスワードレジスタ１４０を図示する。フラッシュメモリパスワードレジスタは、それぞれフラッシュメモリ列の相応する部分に関連するＰパスワードを記憶する。一つの例においては、Ｐは、１６にセットされる。プログラムを容易にするために、Ｐは、Ｍと同様な値にセットされてもよい。各個々のパスワードレジスタは、書込み又は消去動作がメモリ列の相応する部分に実行されることができる前に、要求される独特のパスワードを記憶する。こうして、マイクロプロセッサ又は他のＡＳＩＣの構成要素から受信される各書込みコマンドは、メモリアドレス及びそのアドレスへ書込まれるデータと一緒に、パスワードを指定する。各消去コマンドは、また、消去されたメモリアドレスのアイデンティフィケーションと一緒に、パスワードを指定する。書込みコマンドを受信すると、書込みユニット１４６（図２）は、書込みコマンドの中に受信されたパスワードを、書込みコマンドによって指定されたメモリアドレスのためのパスワードレジスタの中に記憶されたパスワードと比較する。両パスワードが合致したならば、書込みユニットは、書込み動作をフラッシュメモリへ進めることによって、書込みコマンドを実行するように進める。両パスワードが合致しなければ、書込みユニットは、誤り信号を、書込みコマンドを出す構成要素へ返送し、無効パスワードのために書込みコマンドが実行されることができなかったことを、構成要素に知らせる。消去コマンドは、同様な方法で取扱われる。
【００３５】
こうして、パスワード保護は、設けられる。パスワード保護は、一部分は、多分ソフトウェアバグの類の結果としての、フラッシュメモリの部分の不注意な消去又は再プログラムを予防するために、設けられる。これに関しては、不注意な書込み又は消去コマンドが正しいパスワードを含むだろうとは、明らかに思われない。その上、システムが全面的に、異なる周辺構成要素がフラッシュメモリの異なる部分への読出し及び書込みをするように、構成されているならば、そのときは、パスワード保護は、また、一方の周辺構成要素が他方の構成要素へ予約されたメモリ領域に不注意に書込むことを予防するのを手伝う。例えば、ボコーダは、フラッシュマクロ＃２からのみ読出し又は書込みをしてもよい。他のパスワードプロトコルは、代わりに設けられてもよい。例えば、異なるパスワードをメモリの異なる部分に関連させるよりむしろ異なるパスワードは、それを出す異なる構成要素に直接関連させてもよい。こうして、例えば、第１番目のパスワードは、マイクロプロセッサから受信されるコマンドに関連されてもよいのだが、一方第２番目のパスワードは、ボコーダから受信されるコマンドに関連させられる。この実施においては、それぞれの装置は、潜在的にどのようなフラッシュマクロへ書込み又はどのようなフラッシュマクロから読出すこともできるが、しかし、それにも関わらず、不注意な書込み動作の危険は、最小化される。それぞれのパスワードは、例えば、１６ビットの独特の２進列（ｂｉｎａｒｙ  ｓｅｑｕｅｎｃｅ）であるかも知れない。パスワード保護を設けることによって、警察、火災又はその類の電話番号の喪失のような、重要なデータの喪失は、回避される。その上、フラッシュメモリの中に記憶されたＣＤＭＡ符号の部分が崩壊させられるかも知れないだろうという危険は、低減される。極端な場合においては、フラッシュメモリの中に記憶された１つ又はより多いＣＤＭＡプログラムの崩壊は、全面的なセルラ電話機の機能不全という結果となり、取替え又はサービスのために顧客にセルラ電話機を返却するよう要求することになる。さらに他の実施においては、ユーザは、ユーザによって記憶されたデータを用いて使用するための特定のパスワードを記録することができるかも知れない。例えば、一方のフラッシュマクロが音声備忘録を記録するために排他的に使用されるならば、ユーザは、他方の電話機のユーザによる音声備忘録への未認可のアクセスを防止するために、セルラ電話機のキーパッドよって独特のパスワードを入力するかも知れない。同じように、電話番号、住所の類を記憶するためのメモリの特定の部分は、同じように未認可のアクセスを防止するために、それと関連させられたユーザ入力のパスワードを持っているかも知れない。正しく認識されることができるように、種々の広範囲の異なるパスワードシナリオは、本発明の一般原理との一貫性があるのかも知れない。
【００３６】
注目したように、フラッシュメモリ列の一部は、ブートローダを記憶するために使用されてもよい。別々の追加的なパスワードレジスタ１５０は、ブートローダを記憶するメモリの部分に設けられる。これ故に、そのコマンドが追加的に別々のブートローダパスワードを設けないならば、ブートローダを記憶するメモリの部分に影響するどのような書込み又は消去コマンドも実行されない。これは、それ故に、ブートローダが不注意に崩壊されるような危険を最小化するために、きわどいブートローダへ追加的水準のパスワード保護を与える。
【００３７】
図５は、フラッシュメモリ列のフラッシュマクロのステータスを記憶するためのフラッシュメモリステータスレジスタ１４２を図示する。ステータスレジスタは、Ｎ個のフラッシュマクロ各自のステータスを別々に記憶するためのＮ個の個々のメモリ要素を含む。それぞれのステータスレジスタは、相応するフラッシュマクロが現在の未処理の読出し又は書込み動作の支配を受けているかどうかを、他の可能な特徴の中で、指定する。その上に、ステータスレジスタは、更に、読出し又は書込み動作を実行するソフトウェア又はハードウェアの実体を指定するかも知れない。読出し又は書込み動作を出す装置の正体を記憶するために、マイクロプロセッサは、新規に要請されたフラッシュメモリ動作が、より高優先のものかどうか、且つ、もしそうならば、マイクロプロセッサが、より高優先のフラッシュメモリ動作が直ちに実行されることを可能にする読出し又は書込み動作を中止させるフラッシュコントローラを中断させてもよいかどうかを、マイクロプロセッサによって維持されている適切な優先化テーブルを使用して、決定することができる。
【００３８】
その上に、ステータスレジスタは、更に、現在の読出し又は書込み動作のステータスのどのような表示も記憶するかも知れない。例えば、ステータスレジスタは、読出し又は書込みコマンドがフラッシュメモリ列へ転送された時刻を記録するかも知れない。こうして、マイクロプロセッサは、その時刻値にアクセスし、且つコマンドが完了しそうである時刻をそれから決定するかも知れない。書込み動作が、典型的に、１００クロック周期かかるならば、マイクロプロセッサは、未処理書込みコマンドが直前のみに出されたかどうか、又はそれが殆ど完了されてしまったかどうかを決定することができる。これは、マイクロプロセッサが、フラッシュコントローラに、より高優先の書込み動作を出すことを中断させるように決定することを、可能にする。読出し動作に関するかぎりにおいて、ステータスレジスタは、特定の読出し動作に関連して使用される待機周期の数を指定するかも知れない。正しく認識されことができるように、広範囲の種々のステータス情報は、システムの再プログラムに依存してステータスレジスタの中に記憶されることができる。一般には、ステータス情報は、与えられた時間の範囲内に実行されるより多数の動作を可能にするために、又は秒当りの同じ数の動作をまだ達成しつついる間に、使用されるより低いクロックレートを可能にするために、システムの全体に亘る効率を改善するために設けられる。
【００３９】
図６は、メモリ列１３０（図２も同様）の全体に亘るメモリアドレス空間１５２の部分のハイメモリ部分およびロウメモリ部分を交換するために動作するメモリ交換ユニット１４９（図２）の動作を図示する。使用中においては、ブートローダは、最初に、メモリ空間の最下位のメモリアドレス、例えば、アドレス０Ｘ００に記憶される。主なソフトウェアプログラムは、０Ｘ０５８０００００のような、上位のメモリアドレスに始まり、記憶される。ブートローダは、フラッシュメモリの中の主なソフトウェアプログラムの内のどれが、パワーアップ又はリセット動作の一部として動かされる必要があるかを指定するコマンドを含む。一旦、ブートローダがその動作を完了してしまうと、メモリ交換ユニットは、ハイメモリおよびロウメモリを交換する。こうして、交換動作の後、主要なフラッシュソフトウェアプログラムは、メモリ位置０Ｘ０に始まり、記憶される。ブートローダは、０Ｘ０５８０００００のような上位のメモリアドレスに記憶される。これ故に、下位のメモリへのジャンプは、いまや、フラッシュマクロの主なソフトウェアへの進入をさせる。これは、主なフラッシュソフトウェアがより便宜的にアクセスされることを可能にする。その後、セルラ電話機が電源を切られ、且つ、それから、再度、電源を入れられるならば、又は、ある他のリセット動作が実行されるならば、メモリアドレスは、ブートローダの正しい初期動作を可能にするために、ブートローダが最下位のメモリアドレスに定在するように、再度、交換される。
【００４０】
この中で説明されたシステムは、１９９９年１２月３日に提出された、代理人事件整理番号、第９９０３２６号の“ワードラインバッファを用いるフラッシュメモリシステムを有する移動通信装置”と題する番号未知の同時係属米国特許出願に記載されているような、ワードラインバッファを追加的に組入れてもよい。
【００４１】
ここに説明されてきたものは、埋込型フラッシュ及びＳＲＡＭメモリを有する、ＣＤＭＡに基づくマイクロプロセッサシステムの例示的実施形態である。本発明の諸原理は、同様に他のシステムにも適用可能である。この中に説明された諸実施形態は、本発明の単なる例示であり、且つ、本発明の範囲を限定するように考察されるべきではない。
【図１】
2014160485.tif 000003
【図２】
2014160485.tif 000004
【図３】
2014160485.tif 000005
【図４】
2014160485.tif 000006
【図５】
2014160485.tif 000007
【図６】
2014160485.tif 000008
【手続補正書】
【提出日】平成26年4月18日(2014.4.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
フラッシュメモリシステムにおいて、
フラッシュメモリセルと、
前記フラッシュメモリセルを上位および下位のメモリロケーションに区分するための手段を含むフラッシュメモリコントローラと、
を具備し、
前記フラッシュメモリセルはフラッシュメモリ空間の最下位のメモリアドレスで始まるブートローダおよび他のメモリロケーション内のフラッシュマクロを記憶し、ここにおいて、前記最下位のメモリアドレスのメモリへのアクセスは、より上位のメモリアドレスのメモリへのアクセスよりも速く、前記ブートローダは、任意のメモリ交換動作より前にパワーアップ動作の間、前記ブートローダが直ちにアクセスされることを可能にするために前記最下位のメモリアドレスに始まり、記憶される、
前記区分するための手段は、前記ブートローダから分離しているデータがより素早くアクセスされることを可能にするために、前記ブートローダにより実行される動作の完了に応じて前記ハイメモリロケーションおよび前記ロウメモリロケーションを交換するための手段を含む、フラッシュメモリシステム。
【請求項２】
フラッシュメモリシステムにおいて、
フラッシュメモリセルと、
前記フラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分するフラッシュメモリコントローラと、
を具備し、
前記フラッシュメモリセルは、フラッシュメモリ空間の最下位のメモリアドレスで始まるブートローダおよび他のメモリロケーション内のフラッシュマクロを記憶し、ここにおいて、前記最下位のメモリアドレスのメモリへのアクセスは、より上位のメモリアドレスのメモリへのアクセスよりも速く、前記ブートローダは、任意のメモリ交換動作より前にパワーアップ動作の間、前記ブートローダが直ちにアクセスされることを可能にするために前記最下位のメモリアドレスに始まり、記憶される、  前記フラッシュメモリコントローラは、前記ブートローダから分離しているデータがより素早くアクセスされることを可能にするために、前記ブートローダにより実行される動作の完了に応じて前記ハイメモリロケーションおよび前記ロウメモリロケーションを交換する、フラッシュメモリシステム。
【請求項３】
フラッシュメモリシステムを動作させる方法において、
フラッシュメモリコントローラにより、フラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分することと、
フラッシュメモリ空間の最下位メモリアドレスで始まるブートローダおよび他のメモリロケーション内のフラッシュマクロを前記フラッシュメモリセルに記憶することと、ここにおいて、前記最下位のメモリアドレスのメモリへのアクセスは、より上位のメモリアドレスのメモリへのアクセスよりも速く、前記ブートローダは、任意のメモリ交換動作より前にパワーアップ動作の間、前記ブートローダが直ちにアクセスされることを可能にするために前記最下位のメモリアドレスに始まり、記憶される、 前記ブートローダから分離しているデータがより素早くアクセスされることを可能にするために、前記ブートローダにより実行される動作の完了に応じて前記ハイメモリロケーションおよび前記ロウメモリロケーションを交換することと、
を具備する方法。
【請求項４】
フラッシュメモリシステムにより実行されると前記フラッシュメモリシステムに動作を実行させる命令を記憶したコンピュータ読取可能記録媒体において、前記命令は、
フラッシュメモリコントローラによりフラッシュメモリセルをハイメモリロケーションおよびロウメモリロケーションに区分するプログラムコードと、ここにおいて、前記最下位のメモリアドレスのメモリへのアクセスは、より上位のメモリアドレスのメモリへのアクセスよりも速く、前記ブートローダは、任意のメモリ交換動作より前にパワーアップ動作の間、前記ブートローダが直ちにアクセスされることを可能にするために前記最下位のメモリアドレスに始まり、記憶される、
フラッシュメモ空間の最下位メモリアドレスで始まるブートローダおよび他のメモリロケーション内のフラッシュマクロを前記フラッシュメモリセルに記憶するプログラムコードと、
前記ブートローダから分離しているデータがより素早くアクセスされることを可能にするために、前記ブートローダによる動作の完了に応じて前記ハイメモリロケーションおよび前記ロウメモリロケーションを交換するプログラムコードと、
を具備するコンピュータ読み取り可能記録媒体。
【外国語明細書】
2014160485000001.pdf