トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 携帯電話
【発明者】 【氏名】福住 知也

【要約】 【課題】セクタデータ構造を有するフラッシュメモリを備えた携帯電話を提供する。

【解決手段】フラッシュメモリ3はセクタデータ構造を有し、セクタ単位でユーザデータUD及びファームウェアFWを格納する。ユーザデータ・バッファ4A及びファームウェア・バッファ4Bはランダムアクセス可能なメモリである。バッファ4A,4Bはメモリ3から転送されたユーザデータUD及びファームウェアFWを各々の認識番号と共に格納する。CPU1によるバッファ4B内の検索の結果、ユーザが入力した操作の実行に必要なファームウェアFWがバッファ4B内に存在しない場合、CPU1はシーケンサ2を制御してシーケンサ2にメモリ3からバッファ4Bへ必要なファームウェアFWを転送させる。CPU1はバッファ4B内のファームウェアFWを利用して上記操作内容を実行する。CPU1はファームウェアFWと同様にしてユーザデータUDをも利用する。
【特許請求の範囲】
【請求項1】 制御部と、前記制御部がアクセス可能に設けられた、ランダムアクセス可能な第1半導体メモリと、前記第1半導体メモリに接続された、フラッシュメモリから成る第2半導体メモリと、前記第2半導体メモリと前記制御部との間に介在して前記第2半導体メモリと前記制御部とを接続し、前記制御部からの制御指示に基づいて前記第1半導体メモリ及び前記第2半導体メモリを制御するメモリ制御部とを備え、前記第2半導体メモリは、複数のセクタを含んで成ると共にセクタ単位で記憶内容を格納するセクタデータ構造を有しており、前記メモリ制御部は、前記制御部からの前記制御指示に基づいて前記第1半導体メモリ及び前記第2半導体メモリを制御して、前記複数のセクタの内の所定のセクタに格納された所定の記憶内容を前記第1半導体メモリへ転送し格納する転送処理を実行することを特徴とする、携帯電話。
【請求項2】 請求項1に記載の携帯電話であって、前記所定の記憶内容は所定の認識番号を有しており、前記第1半導体メモリは前記所定の記憶内容及び前記所定の認識番号を格納することを特徴とする、携帯電話。
【請求項3】 請求項1に記載の携帯電話であって、前記制御部は、前記メモリ制御部に前記制御指示を与える前に、前記第1半導体メモリ内に前記所定の記憶内容が格納されているか否かを検索することを特徴とする、携帯電話。
【請求項4】 請求項2に記載の携帯電話であって、前記制御部は、前記メモリ制御部に前記制御指示を与える前に、前記第1半導体メモリ内に前記所定の認識番号が格納されているか否かを検索することを特徴とする、携帯電話。
【請求項5】 請求項1乃至4のいずれかに記載の携帯電話であって、前記第1半導体メモリは、前記複数のセクタの内の少なくとも2つ分以上の容量を有することを特徴とする、携帯電話。
【請求項6】 請求項1乃至5のいずれかに記載の携帯電話であって、前記メモリ制御部は、前記制御部が前記制御指示を書き込むためのレジスタを有しており、前記転送処理の終了後に前記レジスタの値をリセットすることを特徴とする、携帯電話。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は携帯電話に関し、特に携帯電話のメモリシステムにセクタデータ構造を有する半導体メモリを適用する技術に関する。
【0002】
【従来の技術】近年、携帯電話の多機能化が進み、ユーザデータやファームウェアがますます大容量化していく傾向にある。従来の携帯電話ではこれらのデータ等はランダムアクセス可能なフラッシュメモリ、例えばDINOR(divided bit line NOR)型フラッシュメモリ内に格納されている。
【0003】図16に一般的なDINOR型16Mビットフラッシュメモリ200の模式的なブロック図を示す。図16に示すように、フラッシュメモリ200は、メモリセルアレイ212と、X−デコーダ211と、Y−デコーダ207と、Y−ゲート/センスアンプ208と、コマンドユーザインタフェース(コマンドユーザI/F)201と、ライトステートマシン221と、ステータス/IDレジスタ222と、マルチプレクサ203と、入出力バッファ220とを備える。なお、ライトステートマシンは内部書き込みを制御し、ステータス/IDレジスタは内部書き込みのPass/Fail及びデバイスIDを保持する。更に、フラッシュメモリ200は、Y−デコーダ207に接続されたアドレス端子A0〜A7と、X−デコーダ211に接続されたアドレス端子A8〜A20と、コマンドユーザインタフェース201に接続された端子CE#,OE#,WE#,WP,RP#と、ライトステートマシン221に接続された端子RY/BY#と、入出力バッファ220に接続されたデータ出力端子D0〜D7とを備える。
【0004】フラッシュメモリ200ではメモリセルアレイ212内の記憶内容は以下のようにして読み出される。まず、端子CE#,OE#を”L”に設定すると共に端子WE#を”H”に設定し、かかる値をコマンドユーザインタフェース201を介してライトステートマシン221へ入力する。このとき、アドレス端子A0〜A20を介してX−デコーダ211及びY−デコーダ207へアドレス信号を入力する。これらの信号に基づいてライトステートマシン221,X−デコーダ211,Y−デコーダ207及びY−ゲート/センスアンプ208が動作し、所望のアドレスのデータがマルチプレクサ203を介して入出力バッファ220へ読み出される。これにより、データ出力端子D0〜D7に記憶内容が出力される。
【0005】
【発明が解決しようとする課題】上述のランダムアクセス可能なフラッシュメモリは更なる大容量化が難しく、ますます大容量化していくユーザデータやファームウェアに対応することが困難になりつつある。
【0006】かかる問題点を解決しうる一つの手段として、ランダムアクセス可能なフラッシュメモリに変えて、セクタデータ構造を有するフラッシュメモリを用いることが考えられる。このフラッシュメモリは、ランダムアクセス可能なフラッシュメモリと比較すると大容量化に優れている。
【0007】かかるフラッシュメモリの読み出しアクセス(リードアクセス)方法はランダムアクセス可能なフラッシュメモリのそれとは異なる。具体的には、セクタデータ構造を有するフラッシュメモリでは、記憶内容の読み出しはセクタ単位で行われる。また、読み出しのためのコマンド(リードコマンド)及びセクタアドレスを順次に(時系列に)入力することにより、セクタ内にある記憶内容がシリアルに読み出される。
【0008】このため、読み出しアクセス方法に相違に起因して、ランダムアクセス可能なフラッシュメモリをセクタデータ構造を有するフラッシュメモリにそのまま置き換えることはできないという問題点がある。
【0009】更に、セクタデータ構造を有するフラッシュメモリでは読み出しの際にセクタアドレスを入力してから読み出し(シリアルリード)が可能となるまでに待ち時間(リードアクセス待ち時間)がある。一般的にこの待ち時間はランダムアクセス可能なフラッシュメモリに比較して長いという問題点もある。
【0010】これらの問題点が、従来の携帯電話に、セクタデータ構造を有するフラッシュメモリを搭載することを困難にしている。
【0011】本発明はかかる点に鑑みてなされたものであり、セクタデータ構造を有する半導体メモリを備えた携帯電話を提供することを目的とする。
【0012】
【課題を解決するための手段】(1)請求項1に記載の携帯電話は、制御部と、前記制御部がアクセス可能に設けられた、ランダムアクセス可能な第1半導体メモリと、前記第1半導体メモリに接続された、フラッシュメモリから成る第2半導体メモリと、前記第2半導体メモリと前記制御部との間に介在して前記第2半導体メモリと前記制御部とを接続し、前記制御部からの制御指示に基づいて前記第1半導体メモリ及び前記第2半導体メモリを制御するメモリ制御部とを備え、前記第2半導体メモリは、複数のセクタを含んで成ると共にセクタ単位で記憶内容を格納するセクタデータ構造を有しており、前記メモリ制御部は、前記制御部からの前記制御指示に基づいて前記第1半導体メモリ及び前記第2半導体メモリを制御して、前記複数のセクタの内の所定のセクタに格納された所定の記憶内容を前記第1半導体メモリへ転送し格納する転送処理を実行することを特徴とする。
【0013】(2)請求項2に記載の携帯電話は、請求項1に記載の携帯電話であって、前記所定の記憶内容は所定の認識番号を有しており、前記第1半導体メモリは前記所定の記憶内容及び前記所定の認識番号を格納することを特徴とする。
【0014】(3)請求項3に記載の携帯電話は、請求項1に記載の携帯電話であって、前記制御部は、前記メモリ制御部に前記制御指示を与える前に、前記第1半導体メモリ内に前記所定の記憶内容が格納されているか否かを検索することを特徴とする。
【0015】(4)請求項4に記載の携帯電話は、請求項2に記載の携帯電話であって、前記制御部は、前記メモリ制御部に前記制御指示を与える前に、前記第1半導体メモリ内に前記所定の認識番号が格納されているか否かを検索することを特徴とする。
【0016】(5)請求項5に記載の携帯電話は、請求項1乃至4のいずれかに記載の携帯電話であって、前記第1半導体メモリは、前記複数のセクタの内の少なくとも2つ分以上の容量を有することを特徴とする。
【0017】(6)請求項6に記載の携帯電話は、請求項1乃至5のいずれかに記載の携帯電話であって、前記メモリ制御部は、前記制御部が前記制御指示を書き込むためのレジスタを有しており、前記転送処理の終了後に前記レジスタの値をリセットすることを特徴とする。
【0018】
【発明の実施の形態】<実施の形態1>図1に実施の形態1に係る携帯電話51の模式的なブロック図を示す。図1に示すように、携帯電話51は互いに接続された入出力部30及び主回路部31を備えている。
【0019】入出力部30は音声や各種データや操作情報等をユーザが入力するための構成、例えばマイクロフォンやテン・キー等を有する。更に、入出力部30は、通話音声等を出力するための構成、例えばスピーカやオーディオ出力端子等を有すると共に、各種情報等を表示するための構成、例えば液晶ディスプレイ等を有する。また、入出力部30は上述のマイクロフォン等のための動作回路や信号処理回路等を含む。
【0020】図1に示すように、主回路部31は、ユーザインタフェース20,CPU(ないしは制御部)1,DINOR型フラッシュメモリ15,フラッシュメモリ(ないしは第2半導体メモリ)3,フラッシュシーケンサ(ないしはメモリ制御部)2及びバッファ(ないしは第1半導体メモリ)4を備えている。なお、以下の説明では、ユーザインタフェース及びフラッシュシーケンサをそれぞれ単に「インタフェース」及び「シーケンサ」とも呼ぶ。また、ユーザインタフェースを図中では「I/F」と記す。
【0021】インタフェース20を介して入出力部30とCPU1とが接続されており、インタフェース20は入出力部30とCPU1との間でのアクセスを制御する。
【0022】CPU1は携帯電話51内の各種処理及び制御を実行する。CPU1の具体的な動作は後に詳述する。なお、CPU1は入出力部30や後述のその他の回路をも制御可能であるが、図面の煩雑化を避けるため図1中ではこれらの制御系の図示化を省略している。
【0023】DINOR型フラッシュメモリ15はCPU1が実行する各種動作の手順(以下「ファームウェア」とも呼ぶ)を格納しており、CPU1がアクセス可能に設けられている。
【0024】携帯電話51のフラッシュメモリ3はシーケンサ2を介してCPU1と接続されており、シーケンサ2からの制御信号S23によって制御される。また、フラッシュメモリ3はバッファ4(詳細には後述のユーザデータ・バッファ4A)と接続されており、バッファ4との間で記憶内容及び後述の認識番号を転送可能に設けられている。このとき、フラッシュメモリ3とバッファ4との間での記憶内容等の転送は互いに直接に、換言すればシーケンサ2を通すことなく行うことができる。携帯電話51ではフラッシュメモリ3は電話帳等の(1又は複数の)ユーザデータ(ないしは記憶内容)UDを格納している。なお、フラッシュメモリ3はデータを書き換え可能なメモリなので、ユーザデータUDを追加・変更可能である。
【0025】特に、フラッシュメモリ3はセクタデータ構造を有する。即ち、フラッシュメモリ3は複数のセクタを含んで成り、セクタ単位で記憶内容(ここではユーザデータUD)を格納する。フラッシュメモリ3では記憶内容の読み出しはセクタ単位で行われる。また、読み出しのためのコマンド(リードコマンド)及びセクタアドレスを順次に(時系列に)入力することにより、セクタ内にある記憶内容がシリアルに読み出される。
【0026】ここで、図2にセクタデータ構造を有するフラッシュメモリ3の一例として、AND型256Mビットフラッシュメモリ100の模式的なブロック図を示し、これを説明する。
【0027】フラッシュメモリ100の電源端子Vcc及び接地端子GNDにはそれぞれ電源電位及び接地電位が与えられる。フラッシュメモリ100の備える制御信号バッファ101には各種の制御信号が入力され、これらを一時的に保持する。制御信号バッファ101は、端子CE#,OE#,WE#,SC,RES#,CDE#を介して、それぞれチップイネーブル信号,アウトプットイネーブル信号,ライトイネーブル信号,シリアルクロック信号,リセット信号,コマンドイネーブル信号を入力する。ここでは末尾に#が付く名前の端子に与えられる制御信号は、ローアクティブである。これらの制御信号はフラッシュメモリ100に備えられるリード/プログラム/イレーズ制御部102に与えられる。フラッシュメモリ100はセクタデータ構造を有しており、シリアルクロック信号に同期しつつ、データが端子DQ0〜DQ7を入出力する。
【0028】更に、フラッシュメモリ100は、マルチプレクサ103,データ入力用バッファ104,入力データ制御部105及びデータ出力用バッファ109を備えている。マルチプレクサ103はデータ入力バッファ104へデータを出力し、データ出力用バッファ109からデータを受信する。入力データ制御部105は後述するY−ゲート108へのデータの入力を制御する。また、いずれもフラッシュメモリ100に備えられるセクタアドレスバッファ110及びY−アドレスカウンタ106に対しても、マルチプレクサ103はそれぞれX−アドレス及びY−アドレスに関する情報を出力する。
【0029】マルチプレクサ103,データ入力用バッファ104,入力データ制御部105,Y−アドレスカウンタ106及びデータ出力用バッファ109はいずれもリード/プログラム/イレーズ制御部102から制御を受けて動作する。また、リード/プログラム/イレーズ制御部102は各部の動作状態に応じ、フラッシュメモリ100がビジー状態にあるか否かを示すビジー/レディ信号を端子R/B#に出力する。
【0030】更に、フラッシュメモリ100は、X−デコーダ111及びY−デコーダ107を備え、これらはそれぞれセクタアドレスバッファ110及びY−アドレスカウンタ106からX−アドレス及びY−アドレスを受信し、デコードを行う。
【0031】フラッシュメモリ100はフラッシュメモリセルが配列されたメモリマトリックス112と、セクタ単位でデータを記憶するデータレジスタ113とを更に備えており、例えばメモリマトリックス112とデータレジスタ113とは同数設けられる。そしてデータレジスタ113及びY−ゲート108を介して、メモリマトリックス112へのデータの入出力が行われる。
【0032】特に、携帯電話51では各ユーザデータUDにそれぞれ異なる認識番号Nが付加されており、フラッシュメモリ3はユーザデータUD及びそれの認識番号Nを同じセクタ内に格納している。なお、このとき、認識番号NはユーザデータUDが格納されているセクタに付されていると捉えることも可能である。
【0033】ここで、図3に携帯電話51のフラッシュメモリ3の1つのセクタ3S内のデータ構造を説明するための模式図を示す。図3に示すように、フラッシュメモリ3のセクタ3Sのアドレス0x000〜0x82FにはユーザデータUDが格納され、アドレス0x830〜0x83Fにはそれの認識番号Nが格納される。なお、アドレス表記中の”x”は任意の16進数を示す。認識番号を格納する領域(上記アドレス0x830〜0x83Fにあたる)として例えばフラッシュメモリが一般的に有する冗長部を利用することができる。
【0034】また、図4にユーザデータUDと認識番号Nとの対応の一例を示す。図4に示すように、例えば、電話帳データI,音楽データI及び音楽データIIの各認識番号Nとして”0x8EE3F138”,”0x8EE3FD38”及び”0x8EE3FE38”が付与されている。このような対応付けはDINOR型フラッシュメモリ15内のファームウェアFW中に記述されており、CPU1はそのファームウェアFWを利用することによりユーザデータUDと認識番号Nとの対応付けを知ることができる。
【0035】なお、1つのセクタの容量よりも大きいユーザデータUDは、複数に分割されて複数のセクタに格納される。このとき、分割された各データはそれぞれが新たなユーザデータUDと捉えることができ、分割された各データにそれぞれ認識番号が付与される。
【0036】携帯電話51のバッファ4は一般的なランダムアクセス可能な揮発性メモリ、例えばDRAM(dynamic random access memory)やSRAM(static RAM)等から成る。特に、バッファ4はユーザデータ格納用のバッファメモリ(以下「ユーザデータ・バッファ」とも呼ぶ)4Aを含む。なお、ここでは、CPU1のための作業領域を与えるRAMないしは半導体メモリ(いわゆるワークメモリ;図示せず)内の所定の領域を、バッファ4として用いる。また、ユーザデータ・バッファ4Aはフラッシュメモリ3の1つのセクタと同じ容量を有しており、フラッシュメモリ3のセクタ3Sと同様のデータ構造(図3参照)で以てユーザデータUD及びそれの認識番号Nを格納する。
【0037】ユーザデータ・バッファ4AはCPU1が直接、アクセス可能に設けられており、CPU1はユーザデータ・バッファ4A内の記憶内容(即ちユーザデータUD)を利用することができる。また、上述のように、ユーザデータ・バッファ4Aはフラッシュメモリ3と接続されており、フラッシュメモリ3と間で直接、記憶内容等を転送可能に設けられている。また、バッファ4(ここではユーザデータ・バッファ4A)はシーケンサ2からの制御信号S24Aによって制御される。
【0038】シーケンサ2は、CPU1からの制御信号(ないしは制御指示)S1を受信し、この制御信号S1に基づいて制御信号S23,S24Aを生成する。そして、当該制御信号S23,S24Aで以てフラッシュメモリ3及びバッファ4を制御する。
【0039】詳細には、シーケンサ2は例えば16ビット(bit0〜bit15)の動作状態レジスタ(以下、単に「レジスタ」とも呼ぶ)2Aを備えており、CPU1はこのレジスタ2Aに制御信号S1を書き込む。ここで、図5にレジスタ2Aの模式図を示す。CPU1はレジスタ2Aのビット2〜ビット15(以下「FMPSN」と呼ぶ)に、フラッシュメモリ3のセクタの内で所望の(所定の)ユーザデータUDが格納されているセクタの物理セクタアドレスを書き込む。更に、CPU1はレジスタ2Aのビット0に”1”を書き込む(設定する)。なお、レジスタ2Aのビット0は、シーケンサ2に転送処理の開始指示を与えるビット(以下「SeqFExe」と呼ぶ)である。即ち、制御信号S1は所望のセクタの物理セクタアドレス及び転送処理の開始指示に関する情報を含む。なお、レジスタ2Aのビット1は無効ビットである。
【0040】レジスタ2Aに書き込まれた制御信号S1に基づいてシーケンサ2は制御信号S23,S24Aを生成・出力する。シーケンサ2は制御信号S23,S24Aで以てフラッシュメモリ3及びバッファ4を制御して、FMSPNに書き込まれた物理セクタアドレスのセクタ内の所定のユーザデータUDをユーザデータ・バッファ4Aへ転送し、格納する(コピーする)。このとき、シーケンサ2は、転送対象のユーザデータUDと共にこれの認識番号Nをも転送し(従って、1セクタ内の全ての内容を転送し)、ユーザデータ・バッファ4A内に格納する(コピーする)。
【0041】ユーザデータUD及び認識番号Nの転送処理中、レジスタ2AのSeqFExeの値は“1”に保持され、転送処理(より具体的には1セクタ分の転送)の終了後、シーケンサ2が”0”にクリアする(リセットする)。
【0042】なお、図1中への図示化は省略するが、主回路部31はその他の回路、例えば電話機能を担う回路等を含んでいる。例えば、アンテナ,当該アンテナを介して音声信号や各種のデータ信号を送受信する高周波回路,高周波回路に接続されて基本周波数における変調等の処理を行うベースバンド処理回路,音声信号の符号化/復号化及び受信データ信号の伸長処理等を行う信号処理部等を含んでいる。
【0043】次に、携帯電話51の(ここでは図1に図示した要素の)より具体的な動作ないしは処理の一例として処理ST100を、図6及び図7に示すフローチャートを参照しつつ説明する。なお、図6及び図7は結合子J1,J2,J3で繋がる。CPU1はDINOR型フラッシュメモリ15内のファームウェアに従って処理ST100を実行する。ここでは、説明の都合上、任意のユーザデータUD及びそれの認識番号Nが既にユーザデータ・バッファ4A内に格納されているものとする。
【0044】まず、ユーザが入出力部30を介して携帯電話51を操作すると、CPU1はインタフェース20を介してその操作内容を信号S20として受け取る(ステップST101)。次に、CPU1は上記操作内容の実行にユーザデータUDが必要か否かを判定する(ステップST102)。ステップST102においてユーザデータUDが必要ではないと判定した場合、CPU1の処理はステップST108へ移行して上記操作内容を実行する。
【0045】これに対して、ステップST102においてユーザデータUDが必要であると判定した場合、CPU1はユーザデータ・バッファ4A(従ってバッファ4)内を検索し(ステップST103)、ユーザデータ・バッファ4A内に所望の(所定の)ユーザデータUDが格納されているか否かを判定する(ステップST104)。詳細には、ステップST103,ST104において、CPU1は、ユーザデータ・バッファ4Aから認識番号Nを読み出し、読み出した認識番号Nが所望のユーザデータUDの認識番号Nと一致するか否かを判定する。
【0046】ステップST104において両認識番号Nが一致し、ユーザデータ・バッファ4A内に所望のユーザデータUDが存在すると判定した場合、CPU1の処理はステップST107へ移行する。そして、ステップST107において、CPU1はユーザデータ・バッファ4A内のユーザデータUDを用いて上記操作内容を実行する。
【0047】他方、ステップST104において両認識番号Nが一致せず、ユーザデータ・バッファ4A内に所望のユーザデータUDが存在しないと判定した場合、CPU1は以下のステップST105,ST106を実行する。
【0048】まず、CPU1は、ステップST105において、操作内容に基づく制御信号S1を生成し、シーケンサ2へ出力する。具体的には、上述のように、レジスタ2AのFMPSNに所望のユーザデータUDが格納されているセクタの物理セクタアドレスを書き込むと共に、レジスタ2AのSeqFExeに“1”を書き込む。これにより、シーケンサ2は所望のユーザデータUD及びそれの認識番号Nをフラッシュメモリ3からユーザデータ・バッファ4Aへ転送し始める。そして、転送処理中、CPU1はSeqFExeの値をポーリングし続け(監視し続け)、SeqFExeの値が”0”になるのを待つ(ステップST106)。
【0049】そして、SeqFExeの値が”0”になったならば、CPU1の処理は上述のステップST107へ移行し、ユーザデータ・バッファ4Aに転送された所望のユーザデータUDを用いて上記操作内容を実行する。
【0050】携帯電話51によれば以下の効果が得られる。
【0051】まず、シーケンサ2はCPU1の制御指示S1により、フラッシュメモリ3内の所定のユーザデータUDをバッファ4(具体的にはユーザデータ・バッファ4A)へ転送して格納する。これにより、CPU1はフラッシュメモリ3ではなくバッファ4にアクセスすることによって所定のユーザデータUDを利用することができる。このため、フラッシュメモリ3とバッファ4(又はユーザデータ・バッファ4A)とのアクセス方法の相違を吸収することができ、CPU1は2種類のアクセス方法を使う又使い分ける必要がない。その結果、大容量化に適した、セクタデータ構造を有するフラッシュメモリ3を携帯電話51に搭載することにより、容易に携帯電話全体のメモリ容量を増大することができる。
【0052】更に、ユーザデータUDには認識番号Nが付与されており、バッファ4内にはユーザデータUDと共にそれの認識番号Nが格納される。これにより、認識番号Nによってバッファ4内に格納されているユーザデータUDを特定することができる。このとき、CPU1は、シーケンサ2に制御指示S1を与える前に、バッファ4内を検索して、所定の(所望の)ユーザデータUDがバッファ4内に格納されているか否かを判定する。その結果、ユーザデータUDの不要なないしは重複した転送処理を防ぐことができる。
【0053】このとき、バッファ4内に所定のユーザデータUDが格納されている場合、CPU1は、シーケンサ2に転送処理を指示することなく、バッファ4にアクセスして所定のユーザデータUDを利用することができる。従って、フラッシュメモリ3からバッファ4への転送処理にかかる時間を省いて、より高速な処理を実現できる。
【0054】このとき、ユーザデータUDを成す詳細なデータは認識番号Nによってセクタ単位で集合的に特定される。このため、CPU1はバッファ4内の全体を(即ちセクタと同容量のユーザデータUDの詳細な内容を)細かに把握する必要が無く、ステップSTST103,ST104においてもバッファ4内全体を細かに検索する必要が無い。
【0055】また、CPU1は、シーケンサ2のレジスタ2Aの値(SeqFExeの値)がリセットされることを以て、転送処理の終了を知ることができる。これにより、CPU1は、所定のユーザデータUDがバッファ4において利用可能な状態にあることを適切に知ることができる。
【0056】<実施の形態2>図8に実施の形態2に係る携帯電話52の模式的なブロック図を示す。なお、以下の説明では既述の構成要素と同等のものには同一の符号を付して、その詳細な説明を援用する。
【0057】図8に示すように、携帯電話52は互いに接続された入出力部30及び主回路部32を備えている。主回路部32は基本的には既述の主回路部31(図1参照)と同様の構成を有しており、以下では主回路部31との相違点を中心に説明する。
【0058】まず、主回路部32は、DINOR型フラッシュメモリ15(図1参照)に変えて、小容量の不揮発性のROM(read only memory)16を備えている。ROM16には、携帯電話52の電源が投入された際に使用されるファームウェア等が格納されている。
【0059】更に、携帯電話52ではフラッシュメモリ3に(それぞれ1又は複数の)ユーザデータUD及びファームウェア(ないしは記憶内容)FWがセクタ単位で格納されている。なお、フラッシュメモリ3はデータを書き換え可能なメモリなので、ファームウェアFWを追加・変更可能である。特に、携帯電話52では各ユーザデータUD及び各ファームウェアFWにそれぞれ異なる認識番号Nが付加されており、フラッシュメモリ3はユーザデータUD及びファームウェアFWをそれの認識番号Nと共に同じセクタ内に格納している。
【0060】ここで、図9に携帯電話52のフラッシュメモリ3の1つのセクタ3S内のデータ構造を説明するための模式図を示す。図9に示すように、携帯電話52ではフラッシュメモリ3のセクタ3Sのアドレス0x000〜0x82FにはユーザデータUD又はファームウェアFWが格納される。なお、実施の形態1と同様に(図3参照)、セクタ3Sのアドレス0x830〜0x83Fには、格納しているユーザデータUD又はファームウェアFWの認識番号Nが格納される。
【0061】また、図10にユーザデータUD及びファームウェアFWと認識番号Nとの対応の一例を示す。図10に示すように、例えば、ユーザの操作”電話帳検索”に関するファームウェアFW,ユーザの操作”ホームページ検索”に関するファームウェアFW及び電源投入直後の基本ファームウェアFWの各認識番号Nとして”0x8EE3F138”,”0x8EE3F238”及び”0x8EE3F338”が付与されている。また、電話帳データI及び音楽データIIの各認識番号Nとして”0x8EE3F148”及び”0x8EE3FE38”が付与されている。実施の形態1と同様に、このような対応付けはROM16内のファームウェアFW中に記述されている。
【0062】なお、1つのセクタの容量よりも大きいファームウェアFWは複数のファームウェアFWの集まりと捉えられる。即ち、上記大きなファームウェアFWをそれぞれが1セクタの容量以下の大きさの複数のファームウェアFWに分割することが可能である。このとき、分割された各ファームウェアFWにそれぞれ認識番号が付与される。
【0063】特に、携帯電話52のバッファ(ないしは第1半導体メモリ)4は、既述のユーザデータ・バッファ4Aに加えて、ファームウェア格納用のバッファ(以下、「ファームウェア・バッファ」とも呼ぶ)4Bを含む。ファームウェア・バッファ4Bは、ユーザデータ・バッファ4Aと同様に、一般的なランダムアクセス可能な揮発性メモリ、例えばDRAMやSRAM等から成る。ここでは、実施の形態1と同様に、いわゆるワークメモリ内の所定の領域を、バッファ4として、即ち、ユーザデータ・バッファ4A及びファームウェア・バッファ4Bとして用いる。ファームウェア・バッファ4Bはフラッシュメモリ3の1つセクタと同じ容量を有しており、フラッシュメモリ3のセクタ3Sと同様のデータ構造(図9参照)で以てファームウェアFW及びそれの認識番号Nを格納する。
【0064】ファームウェア・バッファ4Bは、ユーザデータ・バッファ4Aと同様に設けられている。即ち、ファームウェア・バッファ4BはCPU1がアクセス可能に設けられており、CPU1はファームウェア・バッファ4B内の記憶内容(即ちファームウェアFW)を利用することができる。また、ファームウェア・バッファ4Bはフラッシュメモリ3と接続されており、フラッシュメモリ3と間で直接、ファームウェアFW及び認識番号Nを転送可能に設けられている。
【0065】バッファ4がファームウェア・バッファ4Bを含むことにより、携帯電話52のシーケンサ2は、既述の実施の形態1の動作に加えて、ファームウェア・バッファ4Bをも制御する。具体的には、シーケンサ2はCPU1からの制御信号S1に基づいて制御信号S24Aと同様の制御信号S24Bを生成し、当該制御信号S24Bで以てファームウェア・バッファ4Bを制御する。
【0066】また、携帯電話52のシーケンサ2は図11に示す構成の動作状態レジスタ2Bを備えている。レジスタ2Bは既述のレジスタ2A(図5参照)と同様にFMPSN及びSeqFExeを有すると共に、レジスタ2Bではビット1をバッファ指定用のビット(以下「BfNum」と呼ぶ)として用いる。BfNumの値はCPU1によって制御され、BfNumの値に従ってシーケンサ2が動作する。
【0067】具体的には、CPU1がBfNumに”0”を書き込む(設定する)ことにより、シーケンサ2はフラッシュメモリ3内のユーザデータUDをユーザデータ・バッファ4Aへ転送する。これに対して、CPU1がBfNumに”1”を書き込むことにより、シーケンサ2はフラッシュメモリ3内のファームウェアFWをファームウェア・バッファ4Bへ転送する。このとき、シーケンサ2は、転送対象のユーザデータUD又はファームウェアFWと共にそれの認識番号Nをもユーザデータ・バッファ4A又はファームウェア・バッファ4Bへ転送し格納する。
【0068】なお、主回路部32のその他の構成は既述の主回路部31(図1参照)と同様である。
【0069】次に、携帯電話52の(ここでは図8に図示した要素の)より具体的な動作ないしは処理の一例として処理ST200を、図12に示すフローチャートを参照しつつ説明する。なお、処理ST200は、携帯電話52の電源を投入してからユーザが実際に操作できるようになるまでの処理にあたり、CPU1はROM16内のファームウェアに従って処理ST200を実行する。なお、電源投入直後においては揮発性のユーザデータ・バッファ4A及びファームウェア・バッファ4B内は空であり、又、インタフェース20はハードウェア的に使用不可状態にある。
【0070】携帯電話52の電源が投入された後、CPU1は制御信号S1を生成し、シーケンサ2へ出力する。具体的には、レジスタ2BのFMPSNに、電源投入後の基本のファームウェアFWが格納されているセクタの物理セクタアドレスを書き込み、レジスタ2BのBfNumに“1”を又SeqFExeに“1”を書き込む(設定する)ことにより、シーケンサ2を動作させる(ステップST201)。これにより、シーケンサ2は上述のファームウェアFW及びそれの認識番号Nをフラッシュメモリ3からファームウェア・バッファ4Bへ転送し始める。
【0071】そして、転送処理中、CPU1はSeqFExeの値をポーリングし続け、SeqFExeの値が”0”になるのを待つ(ステップST202)。SeqFExe=”0”になったならば、CPU1の処理手順をROM16内のファームウェアFWからファームウェア・バッファ4B内に転送されたファームウェアFWに切り替える(ステップST203)。
【0072】その後、CPU1はROM116内又はファームウェア・バッファ4B内のファームウェアFWに従ってインタフェース20を開放する。
【0073】次に、携帯電話52のより具体的な動作ないしは処理の他の一例として処理ST300を、図13及び図14に示すフローチャートを参照しつつ説明する。処理ST300は、ユーザが携帯電話52を操作した場合の処理にあたる。なお、図13及び図14は結合子J4,J5で繋がる。ここでは、実施の形態1と同様に、任意のユーザデータUD及びそれの認識番号Nが既にユーザデータ・バッファ4A内に格納されているものとする。同様に、ファームウェア・バッファ4B内にも任意のファームウェアFW及びそれの認識番号Nが既に格納されているものとする。
【0074】まず、既述のステップST101(図6参照)と同様にして、CPU1はインタフェース20を介して操作内容を信号S20として受け取る(ステップST301)。次に、CPU1はファームウェア・バッファ4B(従ってバッファ4)内を検索し(ステップST302)、ファームウェア・バッファ4B内に、上記操作内容の実行に必要な所定のファームウェアFWが格納されているか否かを判定する(ステップST303)。詳細には、ステップST302,ST303において、CPU1は、ファームウェア・バッファ4Bから認識番号Nを読み出し、読み出した認識番号Nが所望の(所定の)ファームウェアFWの認識番号Nと一致するか否かを判定する。
【0075】ステップST303において両認識番号Nが一致し、ファームウェア・バッファ4B内に所望のファームウェアFWが存在すると判定した場合、CPU1の処理は後述のステップST400へ移行する。
【0076】他方、ステップST303において両認識番号Nが一致せず、ファームウェア・バッファ4B内に所望のファームウェアFWが存在しないと判定した場合、CPU1は以下のステップST304,ST305を実行する。
【0077】まず、CPU1は、ステップST304において、操作内容に基づく制御信号S1を生成し、シーケンサ2へ出力する。具体的には、レジスタ2BのFMPSNに所望のファームウェアFWが格納されているセクタの物理セクタアドレスを書き込むと共に、BfNumに“1”を又SeqFExeに“1”を書き込む。これにより、シーケンサ2は所望のファームウェアFW及びそれの認識番号Nをフラッシュメモリ3からファームウェア・バッファ4Bへの転送し始める。そして、CPU1は、転送処理中、SeqFExeの値をポーリングし続け、SeqFExeの値が”0”になるのを待つ(ステップST305)。
【0078】そして、SeqFExeの値が”0”になったならば、CPU1はユーザデータUDに関する処理ST400を実行する。ここで、処理ST400を図15のフローチャートを参照しつつ説明する。
【0079】処理ST400では、まず、既述のステップST102〜ST104(図6参照)と同様のステップST401〜ST403を実行する。即ち、ステップST401において、CPU1は上記操作内容の実行にユーザデータUDが必要か否かを判定する。そして、ステップST401においてユーザデータUDが必要であると判定した場合、CPU1はユーザデータ・バッファ4A(従ってバッファ4)内を検索し(ステップST402)、ユーザデータ・バッファ4A内に所望のユーザデータUDが格納されているかを判定する(ステップST403)。
【0080】なお、ステップST403においてユーザデータ・バッファ4A内に所望のユーザデータUDが存在すると判定した場合、及び、上述のステップST401においてユーザデータUDが必要ではないと判定した場合、CPU1はユーザデータUDに関する処理ST400を終了して、後述のステップST306(図14参照)へ移行する。
【0081】他方、ステップST403においてユーザデータ・バッファ4A内に所望のユーザデータUDが存在しないと判定した場合、CPU1は既述のステップST105,ST106(図7参照)と同様のステップST404,ST405を実行する。
【0082】このとき、ステップST404において、CPU1は操作内容に基づく制御信号S1を生成し、シーケンサ2へ出力する。具体的には、上述のように、レジスタ2BのFMPSNに所望のユーザデータUDが格納されているセクタの物理セクタアドレスを書き込むと共に、BfNumに“0”を又SeqFExeに“1”を書き込む。これにより、フラッシュメモリ3内に格納されている所望のユーザデータUD及びそれの認識番号Nがユーザデータ・バッファ4Aへ転送される。
【0083】そして、CPU1はステップST405においてSeqFExeの値が”0”になるのを確認した後、処理ステップST400を終了して後述のステップST306(図14参照)を実行する。
【0084】図14に戻り、処理ステップST400が終了すると、CPU1はファームウェア・バッファ4B内のファームウェアFWに従ってユーザの操作内容を実行する(ステップST306)。この際、ステップST306は既述のステップST107又はST108(図7参照)にあたる。即ち、操作内容に上述の所望のユーザデータUDが必要な場合、既述のステップST107と同様にCPU1はユーザデータ・バッファ4A内に格納されたユーザデータUDを用いて上記操作内容を実行する。
【0085】携帯電話52によれば、携帯電話51が奏する既述の効果に加えて、以下の効果を得ることができる。即ち、バッファ4はユーザデータ・バッファ4A及びファームウェア・バッファ4Bを含むので、バッファ4A,4Bに相当のバッファを1つだけ含む場合とは異なり、ユーザデータUD及びファームウェアFWを並行してないしは同時に利用することができる。このため、上述の相当のバッファへユーザデータUD及びファームウェアFWを順次に転送する場合とは異なり、CPU1は処理途中において転送処理のための割り込み処理をする必要が無くなる。
【0086】かかる効果は、バッファ4がフラッシュメモリ3の少なくとも2つ以上のセクタ分の容量を有することにより得られる。かかる点に鑑みれば、携帯電話52においてユーザデータ・バッファ4A及び/又はファームウェア・バッファ4Bがそれぞれ2つのセクタ分以上の容量を有することにより、上述の効果をより顕著に得ることができる。なお、かかる場合、バッファ4内の領域の管理は例えばシーケンサ2が行う。また、既述の携帯電話51のユーザデータ・バッファ4Aについても同様の構成を適用することができる。
【0087】<変形例1>上述の実施の形態1では、フラッシュメモリ3に格納されたユーザデータUD及び認識番号Nの双方をユーザデータ・バッファ4Aへ転送する場合を説明した。ところで、既述のようにユーザデータUDと認識番号Nとの対応付けはDINOR型フラッシュメモリ15内のファームウェアFW中に記述されている。このため、以下のような転送処理も可能である。
【0088】即ち、シーケンサ2はユーザデータUDのみをフラッシュメモリ3からユーザデータ・バッファ4Aへ転送する。このとき、ユーザデータUDの転送前又は転送後に、CPU1が上記ファームウェアFWに従って、転送対象のユーザデータUDの認識番号Nをユーザデータ・バッファ4Aへ書き込む(又は格納する)ことも可能である。
【0089】もちろん、実施の形態2のようにファームウェアFWを転送する場合であっても、ファームウェア・バッファ4Bへの認識番号Nの書き込みをCPU1が行っても構わない。
【0090】<変形例2>なお、上述の説明では、CPU1のための作業領域を与えるRAM(いわゆるワークメモリ)内の所定の領域をバッファ4として用いる場合を説明した。これに変えて、ワークメモリと同様のRAMをバッファ4用に別途に設けても構わない。また、ユーザデータ・バッファ4A用及びファームウェア・バッファ4B用にそれぞれRAMを設けても良い。このとき、ユーザデータ・バッファ4A及び/又はファームウェア・バッファ4Bにランダムアクセス可能な不揮発性のメモリ、例えば図16に示した一般的なDINOR型フラッシュメモリ200を適用しても構わない。
【0091】
【発明の効果】(1)請求項1に係る発明によれば、メモリ制御部は制御部の制御指示により、第2半導体メモリ内の所定の記憶内容を第1半導体メモリへ転送して格納する。これにより、制御部は第2半導体メモリではなく第1半導体メモリにアクセスすることによって所定の記憶内容を利用することができる。このため、第2半導体メモリと第1半導体メモリとでアクセス方法が異なる場合であっても、かかる相違を吸収することができ、制御部は2種類のアクセス方法を使う又使い分ける必要がない。このとき、第2半導体メモリの大容量化によって容易に携帯電話全体のメモリ容量を増大することができる。
【0092】(2)請求項2に係る発明によれば、認識番号により第1半導体メモリ内に格納されている記憶内容を特定することができる。このため、制御部は、所定の(所望の)記憶内容が第1半導体メモリ内に格納されているか否かを、メモリ制御部に制御指示を与える前に知ることができる。その結果、記憶内容の不要なないしは重複した転送処理を防ぐことができる。また、認識番号を用いることによって、制御部が第1半導体メモリ内全体を細かに把握する必要が無くなる。
【0093】(3)請求項3に係る発明によれば、第1半導体メモリ内に所定の記憶内容が格納されている場合、制御部は、メモリ制御部に転送処理を指示することなく、第1半導体メモリにアクセスして所定の記憶内容を利用することができる。従って、第2半導体メモリから第1半導体メモリへの転送処理にかかる時間を省いて、より高速な処理を実現できる。
【0094】(4)請求項4に係る発明によれば、制御部は認識番号で以て第1半導体メモリ内に格納されている記憶内容を確認することができるので、上記(3)と同様の効果を得ることができる。特に、認識番号を用いることによって、制御部は第1半導体メモリ内全体を細かに検索する必要が無い。
【0095】(5)請求項5に係る発明によれば、第1半導体メモリは複数セクタ分の記憶内容を格納することができる。このため、制御部は複数の記憶内容を並行して利用することができるので、制御部は処理途中において転送処理のための割り込み処理をする必要が無くなる。
【0096】(6)請求項6に係る発明によれば、制御部は、メモリ制御部のレジスタの値がリセットされることを以て、転送処理の終了を知ることができる。これにより、制御部は、所定の記憶内容が第1半導体メモリにおいて利用可能な状態にあることを適切に知ることができる。
【出願人】 【識別番号】000006013
【氏名又は名称】三菱電機株式会社
【出願日】 平成12年10月26日(2000.10.26)
【代理人】 【識別番号】100089233
【弁理士】
【氏名又は名称】吉田 茂明 (外2名)
【公開番号】 特開2002−132574(P2002−132574A)
【公開日】 平成14年5月10日(2002.5.10)
【出願番号】 特願2000−326782(P2000−326782)