(57)【要約】【課題】ヂュアルバンク書き込み時読み出しフラッシュを操作する方法及びシステム。【解決手段】開示実施例は、コードバンク及びデータバンクを有するフラッシュメモリデバイスにデータを保存するシステム及び方法を提供する。方法は、データバンク中に十分なスペースが存在すると予想される時に、コードバンクの中のフラッシュドライバの制御の下でデータバンクにデータを書き込むことを含む。そうでなければ、方法は、フラッシュメモリデバイスの外部にある記憶デバイスの中のフラッシュドライバの制御の下でコードバンクにデータを書き込むことを含む。【選択図】      図２
2007511850.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのコードバンクと1つのデータバンクとを有するフラッシュメモリデバイス中にデータを保存する方法であって、
前記データバンク中に十分なスペースが存在すると予想される時には、前記コードバンクの中のフラッシュドライバの制御の下で前記データバンクにデータを書き込むことを、
そうでなければ、前記フラッシュメモリデバイスの外部の記憶デバイスの中のフラッシュドライバの制御の下で前記コードバンクにデータを書き込むことを、
備える方法。
【請求項２】
前記フラッシュメモリデバイスは無線通信デバイスプロセッサによってアクセスされる、前記請求項１記載の方法。
【請求項３】
前記フラッシュメモリデバイスの外部の前記記憶デバイスは、前記プロセッサによってアクセスされるＲＡＭである。前記請求項２記載の方法。
【請求項４】
前記フラッシュドライバのコピーが、前記ＲＡＭ及び前記コードバンクの両方の中にある、前記請求項３記載の方法。
【請求項５】
前記フラッシュメモリデバイス上で操作を行なう時、前記フラッシュドライバを前記コードバンク中のコードにアクセスしないように妨げることを、更に備える前記請求項１記載の方法。
【請求項６】
少なくとも１つのプロセッサと、
前記プロセッサと通信する少なくとも１つのＲＡＭと、
前記プロセッサと通信する少なくとも１つの書き込み時読み出しフラッシュメモリデバイスと、
前記フラッシュメモリデバイスの動作を制御する、前記ＲＡＭから実行可能である少なくとも１つのフラッシュドライバと、
を備える無線通信デバイス。
【請求項７】
少なくとも前記フラッシュメモリデバイス上で操作を行なう時、前記フラッシュドライバは、前記フラッシュメモリデバイスのコードバンク中のコードにアクセスしないように妨げられる、前記請求項６記載のデバイス。
【請求項８】
前記フラッシュドライバは前記プロセッサによって実行される、前記請求項６記載の無線通信デバイス。
【請求項９】
前記フラッシュドライバは、前記無線通信デバイスの中に少なくとも１つのゲームをダウンロードするように実行される、前記請求項６記載の無線通信デバイス。
【請求項１０】
前記フラッシュドライバの唯１つのコピーが前記無線通信デバイスの中に存在し、前記フラッシュドライバの唯１つのコピーが前記ＲＡＭの中に存在する、前記請求項６記載の無線通信デバイス。
【請求項１１】
少なくとも１つのＭＳＭプロセッサと、
前記プロセッサと通信する少なくとも１つのＲＡＭと、
前記プロセッサによってアクセスされる少なくとも１つのＲＡＭと、
前記プロセッサによってアクセスされる少なくとも１つのフラッシュメモリと、
を備え、
前記プロセッサは、前記ＲＡＭ中にインスタンス化されたフラッシュドライバをアクセスすることにより前記フラッシュメモリにデータを書き込む、
無線通信デバイス。
【請求項１２】
前記フラッシュメモリは、少なくとも１つのコードバンクと１つのデータバンクとを含む、前記請求項１１記載の無線通信デバイス。
【請求項１３】
前記プロセッサは、前記コードバンクにプログラムデータを書き込むために前記ＲＡＭ中のフラッシュドライバにアクセスする、前記請求項１２記載の無線通信デバイス。
【請求項１４】
前記フラッシュドライバは、前記無線通信デバイスの中に少なくとも１つのゲームをダウンロードするように実行される、前記請求項１１記載の無線通信デバイス。
【請求項１５】
前記フラッシュドライバの唯１つのコピーが前記無線通信デバイスの中に存在し、前記フラッシュドライバの唯１つのコピーが前記ＲＡＭの中に存在する、前記請求項１１記載の無線通信デバイス。
【請求項１６】
少なくとも前記フラッシュメモリ上で操作を行なう時、前記フラッシュドライバは、前記コードバンク中のコードにアクセスしないように妨げられる、前記請求項１２記載のデバイス。
【請求項１７】
少なくとも１つのコードバンクと1つのデータバンクとを有するフラッシュメモリデバイス中にデータを保存するシステムであって、
前記データバンク中に十分なスペースが存在すると予想される時には、前記コードバンクの中のフラッシュドライバの制御の下で前記データバンクにデータを書き込む手段と、
そうでなければ、前記フラッシュメモリデバイスの外部の記憶デバイスの中のフラッシュドライバの制御の下で前記コードバンクにデータを書き込む手段と、
を備えるシステム。
【請求項１８】
前記フラッシュメモリデバイスは無線通信デバイスプロセッサによってアクセスされる、前記請求項１７記載のシステム。
【請求項１９】
前記フラッシュメモリデバイスの外部の前記記憶デバイスは、前記プロセッサによってアクセスされるＲＡＭである。前記請求項１８記載のシステム。
【請求項２０】
前記フラッシュドライバのコピーは、前記ＲＡＭ及び前記コードバンクの両方の中にある、前記請求項１７記載のシステム。
【請求項２１】
前記フラッシュメモリデバイス上で操作を行なう時、前記フラッシュドライバを前記コードバンク中のコードにアクセスしないように妨げる手段、を備える前記請求項１７記載のシステム。
【請求項２２】
少なくとも１つのコードバンクと1つのデータバンクとを有するフラッシュメモリデバイス中にデータを保存する方法を実行するためのコードを具現化するコンピュータ可読媒体であって、前記方法は、
前記データバンク中に十分なスペースが存在すると予想される時には、前記コードバンクの中のフラッシュドライバの制御の下で前記データバンクにデータを書き込むことを、
そうでなければ、前記フラッシュメモリデバイスの外部の記憶デバイスの中のフラッシュドライバの制御の下で前記コードバンクにデータを書き込むことを、
備える、コンピュータ可読媒体
【請求項２３】
前記フラッシュメモリデバイス上で操作を行なう時、前記フラッシュドライバを前記コードバンク中のコードにアクセスしないように妨げること、を更に備える前記請求項２２記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して無線通信システムに関し、より具体的には無線通信デバイス(wireless communication devices)によって使用されるメモリデバイスに関係する。
【背景技術】
【０００２】
無線通信デバイスはユビキタス(ubiquitous)になってきている。無線電話のようなデバイスは、全てのデジタルコンピューターのように、ユーザーによって望まれた機能を試みるためにソフトウェアを実行する本質的には無線通信コンピュータであるいわゆる移動局モデム（ＭＳＭ）を含んでいる。典型的には、無線通信デバイスＭＳＭは、データを保存するためにランダムアクセス記憶デバイス（ＲＡＭ）に、そして、ソフトウェアを保存するためにフラッシュメモリに、アクセスするコアプロセッサを含んでいる。
【０００３】
より大きなシステム強健さを達成するために、同時に、データを読み出し、データを書き込むことが出来る、従って、書き込み時読み出しフラッシュデバイス(read-while-write flash devices)と呼ばれる、フラッシュメモリデバイスが紹介されてきている。書き込み時読み出し(read-while-write)を容易にするために、そのようなフラッシュメモリの部分は、フラッシュメモリデバイスのソフトウェアドライバ(software driver)が保存され、ＭＳＭプロセッサと連携して実行される、いわゆるコードバンク(code bank)と、様々なソフトウェアコードが保存されるデータバンク(data bank)とを含む。１例として、無線電話は、ユーザーが、コードバンク中のフラッシュドライバの制御の下で、データバンクの中にゲームをダウンロードすることを可能にするかもしれない。
【０００４】
現在は、一旦データバンクが一杯であれば、たとえ予備のスペースがコードバンク中に存在しても、それ以上のデータはダウンロードされることができない。これは、データがそれ自体の専用のコードバンクに同時に書かれている間に、コードバンク中のフラッシュドライバはフラッシュメモリ動作(flash memory operation)、フラッシュデバイス中にデータを保存するために必要な条件、を制御できないからである。従って、書き込み時読み出しフラッシュメモリデバイスのバンクサイズをダイナミックに変更することができないので、ユーザーにより多くのフラッシュメモリスペースを提供する唯一の方法は、現存のフラッシュメモリをより高い容量のメモリと取り替えることである。それは電話ハードウェアの新たな修正及びそれに付随する回帰テストを必要とするので、このことは、製造者にとって厄介なものであり、時間のかかるものである。
【発明の開示】
【０００５】
［要約］
【０００６】
コードバンク及びデータバンクを有するフラッシュメモリデバイスにデータを保存する方法は、データバンク中に十分なスペースが存在すると予想される時に、コードバンクの中のフラッシュドライバの制御の下でデータバンクにデータを書き込むことを含む。そうでなければ(otherwise)、方法は、フラッシュメモリデバイスの外部にある記憶デバイスの中のフラッシュドライバの制御の下でコードバンクにデータを書き込むことを含む。
【０００７】
一実施例においては、フラッシュメモリデバイスは、無線通信デバイスプロセッサによってアクセスされる。フラッシュメモリデバイスの外部にある記憶デバイスはプロセッサによってアクセスされるＲＡＭであり得る。もし望まれれば、フラッシュドライバのコピー(copies of the flash driver)は、ＲＡＭ及びコードバンクの両方の中にあり得る。方法は、フラッシュメモリデバイス上で操作(operation)を行なう時は、フラッシュドライバをコードバンク中のコードにアクセスしないように妨げること(preventing)を、含むことが出来る。
【０００８】
別の面では、無線通信デバイスは、プロセッサ、プロセッサと通信するＲＡＭ、及びプロセッサと通信する書き込み時読み出しフラッシュメモリデバイス(a read-while-write flash memory device)を含んでいる。フラッシュドライバは、ＲＡＭから実行可能なフラッシュドライバとして、フラッシュメモリデバイスの動作を制御する。
【０００９】
更に別の面では、無線通信デバイスは、ＭＳＭプロセッサ、プロセッサによってアクセスされるＲＡＭ、及びプロセッサによってアクセスされるフラッシュメモリを含んでいる。プロセッサは、ＲＡＭの中でインスタンス化された(instantiated)フラッシュドライバをアクセスすることによりフラッシュメモリにデータを書き込む。
【００１０】
更になお別の面では、少なくとも１つのコードバンクと１つのデータバンクを有するフラッシュメモリデバイスにデータを保存するためのシステムは、十分なスペースがデータバンク中に存在すると予想される時は、コードバンクの中のフラッシュドライバの制御の下でデータバンクにデータを書き込む手段を含む。システムは、又、そうでない場合は(otherwise)、フラッシュメモリデバイスの外部の記憶デバイスの中のフラッシュドライバの制御の下で、コードバンクにデータを書き込む手段を含む。
【００１１】
［詳細な説明］
【００１２】
図１を最初に参照すると、無線アクセスネットワーク(a radio access network)における音声通信 及び／又は コンピュータデータを容易にするための、無線通信デバイス(a wireless communication device)が、概して１０で特定され、示されている。１つの限定されないインプリメンテーションでは、デバイス１０は、符号分割多元接続(a code division multiple access)（ＣＤＭＡ）移動局(mobile station)であり、例えば、ｃｄｍａ２０００、ｃｄｍａ２０００ １ｘ、又は、ｃｄｍａ２０００の高データレート（ＨＤＲ）原理、又は他のＣＤＭＡ原理を使用する。１つの限定されない実施例では、無線通信デバイス１０は、符号分割多元接続（ＣＤＭＡ）原理及びＣＤＭＡ無線(over-the -air)（ＯＴＡ）通信エアインタフェースを使用する京セラ、三星、或いは他のメーカーによって作られたモバイル電話(a mobile telephone)である。開示された実施例は、然しながら、他の移動局、例えば、ラップトップコンピュータ(laptop computers)、無線ハンドセット(wireless handsets)又は電話(telephones)、データトランシーバ(data transceivers)、又は、ページング(paging)及びポジション測定レシーバ(position determination receivers)、に適用される。無線通信デバイス１０は、要望されるように、車両搭載（自動車、トラック、船、飛行機、列車を含む）されるような携帯型又はポータブルであり得る。然しながら、無線通信デバイスはモバイルであると概して見られるけれども、開示された実施例は、幾つかのインプリメンテーションにおいては「固定式の(fixed)」ユニットに適用されることが出来る、ということが理解されるべきである。又、開示された実施例は、デジタル化されたビデオ情報を含むデータ情報 及び／又は 音声を転送するために使用されるモデム又はデータモジュールに適用され、又、有線又は無線リンクを使用する他のデバイスと通信出来る。更に、コマンドは、モデム又はモジュールを、多数の通信チャネル上で情報を転送するように所定の調整された又は関連付けられた方法で動作させるために使用されるかもしれない。無線通信デバイスは又、幾つかの通信システムにおいては、「ユーザーズ(users)」そして「モバイル(mobiles)」と簡単に、或いは、ユーザー端末(user terminals)、移動局(mobile stations)、モバイルユニット(mobile units)、加入者ユニット(subscriber units)、移動無線(mobile radios)又は無線電話(radiotelephones)、無線ユニット(wireless units)と、時には、呼ばれる。開示された実施例は、ＧＳＭデバイス、時分割多元接続(time division multiple access)（ＴＤＭＡ）、等を限定無しに含む他のタイプの無線デバイスに等しく適用される、ということが理解されるべきである。
【００１３】
図１は、無線通信デバイス１０が、プロセッサ１２を含む移動局モデム(a mobile station modem)（ＭＳＭ）を具体化しているのを示す。無線通信デバイス１０は又、例えば、非プログラムデータを保存するためのランダムアクセスメモリ（ＲＡＭ）１４を含むことができる。ＲＡＭ１４は、例えば、スタティックＲＡＭ（ＳＲＡＭ）又はシンクロナスダイナミックＲＡＭ（ＳＤＲＡＭ）又は他のタイプのＲＡＭであり得る。
【００１４】
無線通信デバイス１０は、又、例えばプログラムコードを保存するためのフラッシュメモリ１６のようなメモリを含むことができる。より具体的には、図１の中で示されるように、フラッシュメモリ１６は、少なくとも２つのバンク、コードバンク１８及びデータバンク２０、を有する、いわゆる、書き込み時読み出しフラッシュ(read-while-write flash)を含んでいる。プロセッサ１２によって実行されるアプリケーションは、コードバンク１８の中に常駐(reside)できる。他方では、ユーザー設定(user setting)のようなアプリケーションデータはデータバンク２０に保存される、が、以下に更に記載されるように、そのようなデータは又コードバンク１８にも保存されることができる。
【００１５】
より詳細には、本発明のロジックを示す図２は、決定ダイアモンド(decision diamond)２２で、例えば、デバイス１０によって実行されるべき予想されるアプリケーションのために、余分スペース(excess space)がコードバンク１８の中で利用可能であると予想されるかどうかが決定される、ことを示している。もしそうであるならば、ロジックは、ブロック２４に動き、そこでは、デバイス１０の動作期間中にブロック２６での引き続いて起こるその実行のために、例えば、ブロック２８でのコードバンク１８にデータを書き込むことのために、例えばコンパイル時間に(at compile time)、フラッシュドライバがＲＡＭ１４にマッピングされる(mapped)。然しながら、もしコードバンク１８が余分スペースを有していないかもしれないと決定される場合は、ブロック３２での引き続いて起こるその実行、例えば、ブロック３４でのデータをデータバンク２０に書き込むこと、のため、フラッシュドライバをコードバンク１８にマッピングするために(to map)、ロジックは、決定ダイアモンド２２からブロック３０に動く。
【００１６】
別の実施例では、上記に説明されたマッピングは、実行時間に動的に行なわれることが出来る。
【００１７】
どんな場合でも、フラッシュドライバがＲＡＭ１４から実行される時は、該フラッシュドライバは、フラッシュメモリ１６上で操作（例えばプログラム又は消去の操作）を行なう間、コードバンク１８からのコードを実行しないように妨げられる(prevented)。
【００１８】
ここに示され詳細に説明されたような、具体的な「ヂュアルバンク書き込み時読み出しフラッシュを操作する方法及びシステム(SYSTEM AND METHOD FOR OPERATING DUAL BANK READ-WHILE-WRITE FLASH)」は、本発明の上記説明された目的を達成することが十分に可能であるが、それは本発明の現在好ましい実施例であり従って本発明によって広く熟考されている主題を表わしていること、本発明の範囲は当業者に自明となり得る他の実施例を十分に包含すること、そして、本発明の範囲は従って添付した特許請求の範囲以外の他のものによっては制限されるべきでなく、特許請求の範囲における、構成要件への単数での言及は、そのように明示して述べられていなければ「唯１つの(one and only one )」を意味するように意図されておらず、寧ろ「１以上(one or more)」を意味するように意図されていること、が理解されるべきである。当業者に知られ又は後で知られるようになる上記説明された構成要件の構成上又機能上の全ての均等物は、言及することによりここに明白に組み込まれ、本特許請求の範囲に包含されるべく意図されている。更に、デバイス又は方法が本発明によって解決されるように求められる夫々の又全ての問題に対処することは必要ではなく、それは本特許請求の範囲によって包含されている。なお更に、本開示中の構成要件、コンポーネント、又は方法ステップは、構成要件、コンポーネント、又は方法ステップが特許請求の範囲の中で明白に記載されているかどうかにかかわらず、公に捧げられるようには意図されていない。ここにある特許請求の範囲の構成要件は、構成要件が明白に語句「手段(means for)」を使って記載されていなければ、又は、方法の特許請求の範囲の場合には、構成要件が「行為(act)」の代わりに「ステップ(step)」として記載されていなければ、米国特許法第１１２条第６パラグラフ(35U.S.C.’112,sixth paragraph)の規定の下で解釈されるべきではない。
【図面の簡単な説明】
【００１９】
【図１】図１は、本システムのブロック図である。
【図２】図２は、本ロジックのフローチャートである。
【図１】
2007511850.tif 000003
【図２】
2007511850.tif 000004
【国際調査報告】
2007511850.tif 000005
2007511850.tif 000006
2007511850.tif 000007