(57)【要約】  あるNANDフラッシュメモリデバイスを有するモバイルプラットフォームの起動手順を初期化する方法。この方法は、初期コマンドシーケンスをNANDフラッシュメモリに送信し（３０４）、NANDフラッシュメモリがこの読み出しコマンドシーケンスに応じているかどうかを検出する（３０５）。NANDフラッシュメモリが読み出しコマンドシーケンスに応じている場合に、モバイルプラットフォームがNANDフラッシュメモリとインタフェースするように構築される（３０６）。NANDフラッシュメモリが読み出しコマンドシーケンスに応じていない場合に、別の読み出しコマンドシーケンスをNANDフラッシュメモリに送信する（３０７）。この別の読み出しコマンドシーケンスは、先に送られた読み出しコマンドシーケンスに関連づけられている。次に、NANDフラッシュメモリが別の読み出しコマンドシーケンスに応じているかどうかを検出し（３０８）、応じている場合に、モバイルプラットフォームがNANDフラッシュメモリとインタフェースするように構築される（３０９）。
2008527553.tif 000002
【特許請求の範囲】
【請求項１】
NANDフラッシュメモリデバイスを有するモバイルプラットフォームデバイスの起動手順を初期化する方法であって、
第１読み出しコマンドシーケンスを前記NANDフラッシュメモリデバイスに送信する工程と（３０４）、
前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じているかどうかを検出し（３０５）、応じている場合に、前記NANDフラッシュメモリデバイスとインタフェースするように前記モバイルプラットフォームデバイスを構築する（３０６）工程と、応じていない場合に、
前記第１読み出しコマンドシーケンスに関連した第２読み出しコマンドシーケンスを、前記NANDフラッシュメモリデバイスに送信する工程と（３０７）、
前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じているかどうかを検出し（３０８）、応じている場合に、前記NANDフラッシュメモリデバイスとインタフェースするように前記モバイルプラットフォームデバイスを構築する（３０９）工程と
を有することを特徴とする方法。
【請求項２】
前記第１読み出しコマンドシーケンスは、第１コマンドと複数のアドレスサイクルを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第２読み出しコマンドシーケンスは、第２コマンドであることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記第２読み出しコマンドシーケンスは、前記第１読み出しコマンドシーケンスに付加されることを特徴とする請求項３に記載の方法。
【請求項５】
前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じているかどうかを検出する前記工程（３０５）は、更に、
予め設定された時間内に前記NANDフラッシュメモリデバイスにより発行される第１確認通知を待つ工程を有し、前記第１確認通知は、前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じたときに発行され、発行された場合に、
前記第１確認通知を検出する工程と
を有することを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記第１確認通知は、ビジー信号であることを特徴とする請求項５に記載の方法。
【請求項７】
前記予め設定された時間は、１０〜２５μsの範囲内にあることを特徴とする請求項５または６に記載の方法。
【請求項８】
前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じているかどうかを検出する前記工程（３０８）は、さらに、
予め設定された時間内に前記NANDフラッシュメモリデバイスにより発行される第２確認通知を待つ工程を有し、前記第２確認通知は、前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じたときに発行され、発行された場合に、
前記第２確認通知を検出する工程と
を有することを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
前記第２確認通知は、ビジー信号であることを特徴とする請求項８に記載の方法。
【請求項１０】
前記予め設定された時間は、１０〜２５μsの範囲にあることを特徴とする請求項８または９に記載の方法。
【請求項１１】
前記モバイルプラットフォームデバイスを構築する工程（３０６、３０９）の後、
前記NANDフラッシュメモリデバイスが応じる読み出しコマンドシーケンスに応じて、前記NANDフラッシュメモリデバイスから起動する工程を更に有することを特徴とする請求項１乃至１０のいずれか１項に記載の方法。
【請求項１２】
前記第１読み出しコマンドシーケンスを送信する（３０４）前に、
前記NANDフラッシュメモリデバイスをリセットする工程（３０１）を更に有することを特徴とする請求項１乃至１１のいずれか１項に記載の方法。
【請求項１３】
マイクロプロセッサにより実行される、請求項１乃至１２のいずれか１項に記載の方法を実行するためのコードセグメントを含むコンピュータプログラムを有する記録キャリア。
【請求項１４】
前記記録キャリアは、リードオンリーメモリデバイスであることを特徴とする請求項１３に記載の記録キャリア。
【請求項１５】
NANDフラッシュメモリデバイス（２２０）を有するモバイルプラットフォームデバイスの起動手順を初期化するデバイスであって、
第１及び第２読み出しコマンドシーケンスを前記NANDフラッシュメモリデバイスに送信する手段（２１４）と、
前記NANDフラッシュメモリデバイス（２２０）が前記第１または第２読み出しコマンドシーケンスのいずれかに応じているかどうかを検出する手段（２１１）とを有し、
前記第２読み出しコマンドシーケンスは、前記第１読み出しコマンドシーケンスに関連しており、
前記送信手段（２１４）は、更に、前記NANDフラッシュメモリデバイス（２２０）が応じている前記読み出しコマンドシーケンスに応じて、前記NANDフラッシュメモリデバイス（２２０）とインタフェースするようにモバイルプラットフォームデバイス（２００）を構築することを特徴とするデバイス。
【請求項１６】
前記送信手段（２１４）は、NANDインタフェース回路（２１２）を介して前記第１及び第２読み出しコマンドシーケンスを送信することを特徴とする請求項１５に記載のデバイス。
【請求項１７】
前記第１読み出しコマンドシーケンスは、第１コマンドと複数のアドレスサイクルを含むことを特徴とする請求項１５または１６に記載のデバイス。
【請求項１８】
前記第２読み出しコマンドシーケンスは、第２コマンドであることを特徴とする請求項１５乃至１７のいずれか１項に記載のデバイス。
【請求項１９】
前記第２読み出しコマンドシーケンスは、前記第１読み出しコマンドシーケンスに付加されることを特徴とする請求項１５乃至１８のいずれか１項に記載のデバイス。
【請求項２０】
前記検出手段（２１１）は、
予め設定された時間、前記NANDフラッシュメモリデバイスにより発行される確認通知を待ち、前記確認通知は、前記NANDフラッシュメモリデバイスが送られた前記読み出しコマンドシーケンスに応じたときに発行され、
前記予め設定された時間の間、前記確認通知をサンプルし、前記確認通知が発行された場合に、
前記確認通知を検出する
ことを特徴とする請求項１５乃至１９のいずれか１項に記載のデバイス。
【請求項２１】
前記確認通知は、ビジー信号であることを特徴とする請求項２０に記載のデバイス。
【請求項２２】
前記送信手段（２１４）は、更に、リセットコマンドを前記NANDフラッシュメモリデバイス（２２０）に送信することを特徴とする請求項１５乃至２１のいずれか１項に記載のデバイス。
【請求項２３】
前記デバイスは、アプリケーション専用集積回路デバイスであることを特徴とする請求項１５乃至２２のいずれか１項に記載のデバイス。
【請求項２４】
前記アプリケーション専用集積回路デバイスは、ベースバンドアプリケーション専用集積回路デバイスであることを特徴とする請求項２２に記載のデバイス。
【請求項２５】
前記送信手段（２１４）は、ブートストラッパであることを特徴とする請求項１５乃至２４のいずれか１項に記載のデバイス。
【請求項２６】
ブートストラッパ（２１４）は、前記NANDインタフェース回路（２１２）内にあることを特徴とする請求項２５に記載のデバイス。
【請求項２７】
前記検出手段（２１１）は、マイクロプロセッサであることを特徴とする請求項１５乃至２６のいずれか１項に記載のデバイス。
【請求項２８】
NANDフラッシュメモリデバイス（２２０）と、データバス（２３０）と、請求項１５乃至２７のいずれか１項に記載のデバイスとを有することを特徴とするモバイルプラットフォームデバイス（２００）。
【請求項２９】
前記モバイルプラットフォームデバイス（２００）は、電子機器に含まれていることを特徴とする請求項２８に記載のモバイルプラットフォームデバイス（２００）。
【請求項３０】
前記電子機器は、移動端末（１００）であることを特徴とする請求項２９に記載のモバイルプラットフォームデバイス（２００）。
【請求項３１】
前記移動端末（１００）は、移動電話であることを特徴とする請求項３０に記載のモバイルプラットフォームデバイス（２００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動端末などの電子機器の起動手順を初期化するための方法及びデバイスに関する。より詳しくは、本発明はあるNANDフラッシュメモリデバイスを有するモバイルプラットフォームデバイスの起動手順を初期化するための方法、記録キャリア、デバイスに関する。
【背景技術】
【０００２】
関連技術の説明
現在の移動電話のためのメモリデバイスが、プログラムを実行するために、移動電話及びランダムアクセスメモリ（RAM）等の操作及び機能を制御するためのプログラムを格納するためのフラッシュメモリを含むことは知られている。従来、フラッシュメモリデバイスは、NOR型メモリデバイスまたはNAND型メモリデバイスのいずれかであった。大容量、低価格、高速全体動作、長寿命などの理由により、多くの移動電話製造者はコード記憶装置のためのNAND型フラッシュメモリデバイスを探している。
【０００３】
携帯電話や同様の電子機器をスタートまたはリセットする一般的な手順は、起動またはブートストラップとして知られている。起動の目的は、移動電話のオペレーティングシステムをレディ状態にすることである。コードがNANDフラッシュメモリデバイスに記憶されている場合、移動電話を起動することにより、携帯電話に実装されたモバイルプラットフォームデバイスに所定要件を設定する。NANDフラッシュメモリデバイスは、データのランダムアクセスをサポートしないので、NANDフラッシュメモリデバイスに、読み出すNANDフラッシュメモリデバイスを準備するコマンドを送る必要がある。移動電話を起動できるようにするために、マイクロプロセッサは通常、ベースバンドASIC（つまり、通常、メインマイクロコントローラとI/Oデバイスのセット及び／またはオンチップRAMメモリを含むモバイルプラットフォームデバイスのASIC）のオンチップROM上に実現された最初の起動コードを実行する。最初の起動コードはブートストラッパとも呼ばれ、NANDメモリデバイスがデータバス上に現れるためにNANDメモリデバイスが必要とする方法を決定するために、所定の読み出しコマンドシーケンスをNANDメモリデバイスに与える。
【０００４】
NANDフラッシュメモリデバイスから読み出しを行う際に、異なるNANDフラッシュメモリデバイスモデルが、異なる読み出しコマンドシーケンスを必要とすることがわかった。典型的には、NANDフラッシュメモリデバイスから起動するときに、最初の起動コードにとって、NANDデバイスの第１ブロックの最初（つまり、起動画像が記憶されたブロックの最初）から読み出すためことが、モバイルプラットフォームデバイス、ひいては移動電話を構成する更なる情報にアクセスするために重要である。しかしながら、これらの初期読み出し操作を行うときに、最初の起動コードは、NANDフラッシュメモリデバイスがどのタイプの読み出しコマンドシーケンスに応答するかは分からなかった。
【０００５】
最初の起動コードが正しい読み出しコマンドシーケンスを関連するNANDメモリデバイスに常に与えていることを確かめることが重要である。そうでなければ、モバイルプラットフォームデバイスは、関連するNANDフラッシュメモリデバイスから起動できず、ひいては移動電話を起動またはリセットすることができない。これまでに、NANDフラッシュメモリ製造者が市場で提供してきたNANDフラッシュメモリのモデルは、比較的に少ない。また、これらのモデルのほとんどにおいて、製造者及び／またはNANDフラッシュメモリデバイスのIDを読まずにNANDメモリデバイスの特徴を決定する方法はない。その結果、現在に至るまで、多くの移動電話製造者は、様々な移動電話製品に実装するために異なるモバイルプラットフォームデバイスにおいて使用するNANDフラッシュメモリデバイスモデルを決めていた。そのため、NANDフラッシュメモリデバイスから読み出しを行う際に、常に正しいコマンドシーケンスが関連するNANDフラッシュメモリデバイスモデルに確実に送られるように、モバイルプラットフォームデバイスのハードウエアを構成していた。NANDフラッシュメモリモデルの一例としては、例えば、三星電子のK9F1208U0M及びK9F1GXXX0M、東芝のTC58DVG02A1及びTC58NVG0S3Aなどがある。
【発明の開示】
【０００６】
新しい型のNANDフラッシュメモリデバイスが現れると、これらの新しい型は、異なる読み出しコマンドシーケンスを必要とするであろう。そのため、例えば、移動電話製品において実装されるモバイルプラットフォームデバイスの製造者に所定条件を課すことになる。このことは、複数の顧客が様々なニーズを持ち、特定のモバイルプラットフォームデバイスに関して異なるNANDモデルを使用することを求める場合に、各顧客に特有な要求に応じて、各モバイルプラットフォームデバイスのハードウエアをそれぞれ構成しなければならないという不都合を生む。これは明らかに融通が利かない。さらに、各顧客のニーズに応じて各モバイルプラットフォームデバイスのハードウエアを構成すると、全体の製造コストが上昇してしまう。
【０００７】
本発明は、これらのことなどを勘案してなされたものである。本発明は、この技術における１つ以上の上述した欠陥、及び不都合を、単独または組み合わせて、緩和、軽減、または無くすことを求めるものである。従って、安価に柔軟性を高めることのできる、改良されたデバイス及び方法を提供することは有益である。
【０００８】
発明の要約
本発明の目的は、モバイルプラットフォームデバイスの柔軟性を高めることである。また、本発明の関連する目的は、モバイルプラットフォームデバイスが、NANDフラッシュメモリデバイスモデルなどの複数の異なるメモリデバイスモデルを使用できるようにすることである。
【０００９】
本発明の第１見地によれば、上記目的は、NANDフラッシュメモリデバイスを有するモバイルプラットフォームデバイスの起動手順を初期化する方法により達成することができる。この方法は、第１読み出しコマンドシーケンスを前記NANDフラッシュメモリデバイスに送信する工程と、前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じているかどうかを検出する工程とを有する。前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じている場合に、前記モバイルプラットフォームデバイスは前記NANDフラッシュメモリデバイスとインタフェースするように構築される。前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じていない場合、この方法は、前記第１読み出しコマンドシーケンスに関連した第２読み出しコマンドシーケンスを、前記NANDフラッシュメモリデバイスに送信する工程と、前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じているかどうかを検出する工程とを有する。前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じている場合に、前記モバイルプラットフォームデバイスは前記NANDフラッシュメモリデバイスとインタフェースするように構築される。
【００１０】
好ましくは、前記第１読み出しコマンドシーケンスは、第１コマンドと複数のアドレスサイクルを含み、前記第２読み出しコマンドシーケンスは、第２コマンドである。その場合、前記第２読み出しコマンドシーケンスは、前記第１読み出しコマンドシーケンスに付加されることが好ましい。
【００１１】
前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じているかどうかを検出する前記工程は、更に、予め設定された時間内に前記NANDフラッシュメモリデバイスにより発行される第１確認通知を待つ工程と、発行された場合に、前記第１確認通知を検出する工程とを有していてもよい。なお、前記第１確認通知は、前記NANDフラッシュメモリデバイスが前記第１読み出しコマンドシーケンスに応じたときに発行される。また、前記第１確認通知は、ビジー信号である。好ましくは、前記予め設定された時間は、１０〜２５μsの範囲にある。
【００１２】
更に、前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じているかどうかを検出する前記工程は、さらに、予め設定された時間内に前記NANDフラッシュメモリデバイスにより発行される第２確認通知を待つ工程と、発行された場合に、前記第２確認通知を検出する工程とを有していてもよい。なお、前記第２確認通知は、前記NANDフラッシュメモリデバイスが前記第２読み出しコマンドシーケンスに応じたときに発行される。前記第２確認通知は、ビジー信号である。好ましくは、前記予め設定された時間は、１０〜２５μsの範囲内にある。
【００１３】
また、この方法は、前記モバイルプラットフォームデバイスを構築する工程の後、前記NANDフラッシュメモリデバイスが応じる読み出しコマンドシーケンスに応じて、前記NANDフラッシュメモリデバイスから起動する工程を更に有していてもよい。
【００１４】
また、この方法は、前記第１読み出しコマンドシーケンスを送信する前に、前記NANDフラッシュメモリデバイスをリセットする工程を更に有していてもよい。
【００１５】
本発明の第２見地によれば、上記目的は、マイクロプロセッサにより実行される、本発明の第１見地にかかる方法を実行するためのコードセグメントを含むコンピュータプログラムを有する記録キャリアにより達成することができる。前記記録キャリアは、好ましくは、リードオンリーメモリデバイスである。
【００１６】
本発明の第３見地によれば、上記目的は、本発明の第１見地にかかる方法を実行するデバイスにより達成することができる。より詳しくは、上記目的は、NANDフラッシュメモリデバイスを有するモバイルプラットフォームデバイスの起動手順を初期化するデバイスにより達成することができる。このデバイスは、第１及び第２読み出しコマンドシーケンスを前記NANDフラッシュメモリデバイスに送信する送信手段を含み、前記第２読み出しコマンドシーケンスもまた、前記第１読み出しコマンドシーケンスに関連している。更に、このデバイスは、前記NANDフラッシュメモリデバイスが前記第１または第２読み出しコマンドシーケンスのいずれかに応じているかどうかを検出する検出手段を有する。なお、前記送信手段は、更に、前記NANDフラッシュメモリデバイス（２２０）が応じている前記読み出しコマンドシーケンスに応じて、前記NANDフラッシュメモリデバイスとインタフェースするようにモバイルプラットフォームデバイスを構築する。
【００１７】
前記送信手段は、また、NANDインタフェース回路を介して前記第１及び第２読み出しコマンドシーケンスを送信してもよい。
【００１８】
これに限るものでは無いが、好ましくは、前記第１読み出しコマンドシーケンスは、第１コマンドと複数のアドレスサイクルを含み、前記第２読み出しコマンドシーケンスは、第２コマンドである。その場合、前記第２読み出しコマンドシーケンスは、前記第１読み出しコマンドシーケンスに付加されることが好ましい。
【００１９】
更に、前記検出手段は、予め設定された時間、前記NANDフラッシュメモリデバイスにより発行される確認通知を待つ。前記確認通知は、前記NANDフラッシュメモリデバイスが送られた前記読み出しコマンドシーケンスに応じたときに発行される。前記検出手段は、更に、前記予め設定された時間の間、前記確認通知をサンプルし、前記確認通知が発行された場合に、前記確認通知を検出することができる。前記確認通知は、ビジー信号である。
【００２０】
前記送信手段は、好ましくは、更に、リセットコマンドを前記NANDフラッシュメモリデバイスに送信できる。
【００２１】
本発明の第３見地によれば、前記デバイスは、好ましくは、ベースバンドASIDのようなアプリケーション専用集積回路デバイス（ASIC）である。
【００２２】
また、前記送信手段は、好ましくはブートストラッパである。また、ブートストラッパ（２１４）は、前記NANDインタフェース回路（２１２）内にあってもよい。
【００２３】
また、前記検出手段は、マイクロプロセッサであってもよい。
【００２４】
本発明の第４見地によれば、上記目的は、NANDフラッシュメモリデバイスと、データバスと、本発明の第３見地にかかるデバイスとを有することを特徴とするモバイルプラットフォームデバイスにより達成することができる。第３見地にかかるデバイスは、NANDフラッシュメモリデバイスと、データバスとに相互接続されている。前記モバイルプラットフォームデバイスは、例えば、移動電話等の移動端末に含まれていてもよい。
【００２５】
本発明によれば、モバイルプラットフォームデバイスのハードウエアを構築するといった、モバイルプラットフォームデバイスを変更する必要なく、モバイルプラットフォームデバイスの柔軟性を向上させることができる。また、起動手順の前に、関連するNANDフラッシュメモリデバイスのＩＤを読み出す必要がなくなる。更に、本発明によれば、コストを下げることができる。これにより、従来例と比較して、本発明は安価にできる。柔軟なモバイルプラットフォームデバイスを提供することで、特定のモバイルプラットフォームデバイスに対して、複数の異なるメモリデバイスを使用することが可能になる。これにより、様々なニーズを持つ様々な異なる顧客を惹きつけることができる。
【００２６】
この明細書及び請求項で使用されている、「含む／含んでいる」という言葉は、述べられた特徴、数字、工程、または構成が存在することを特定するもので、１以上の他の特徴、数字、工程、構成及びこれらのグループの存在または追加を排除するものではない。更に、単数の開示は、複数を排除するものではない。また、「１つ」、「第１」、「第２」などは、複数を排除するものではない。
【００２７】
以下、図面を参照して本発明を詳細に説明する。
【発明を実施するための最良の形態】
【００２８】
好適な実施の形態の詳細な説明
本発明の好適な実施の形態について、添付図面を参照して以下に説明し、本発明を実現することのできる例示的な実施形態を示す。
【００２９】
図１は、本発明のモバイルプラットフォームデバイスを有用に提供可能な電子機器の一例として、移動端末１００を移動電話として表している。また、移動端末１００が動作する可能性のある環境も示している。移動端末１００はアンテナ１０１を含む。マイク１０２、スピーカー１０３、キーパッド１０４、ディスプレイ１０５は、移動端末１００を操作するためのマン−マシンインタフェースを提供している。動作中の移動端末１００は、GSM、UMTS、PCS及び／またはDCSネットワークなどの、移動通信網１１１の無線局１１０（基地局）に、アンテナ１０１により第１無線リンク１１２を介して接続されている。移動端末１００は、DSPやトランシーバーなどを含んでいても良い。
【００３０】
なお、「移動端末」という言葉は、以降、移動電話、携帯無線通信機器、スマートフォンなどのすべての機器を含むものとする。
【００３１】
第１の実施形態にかかるモバイルプラットフォームデバイス２００の一例を図２に示す。モバイルプラットフォームデバイス２００は、図１の移動端末１００内に搭載することができ、さらに、移動端末１００の動作及び機能を制御するためのプログラムを格納するための、関連するNANDフラッシュメモリデバイス２２０を有する。
【００３２】
モバイルプラットフォームデバイス２００は、ベースバンドASICのようなアプリケーション専用集積回路（ASIC）デバイス２１０と、NANDフラッシュメモリデバイス２２０とを含む。モバイルプラットフォームデバイス２００は、更に、ASIC２１０とNANDフラッシュメモリデバイス２２０間でデータの送信を行うための外部データバス２３０を含む。この実施形態では、モバイルプラットフォームデバイス２００は、初期化プログラムにより起動されるモバイルプラットフォームデバイス２００の構成を含む。そのような初期化プログラムは、通常、起動コードと呼ばれる。なお、別の実施形態において、モバイルプラットフォームデバイスは図２に示す構成以外の構成を含んでいても良いことは理解されるであろう。しかしながら、表された構成は、本発明を実現するための一例としての実施形態を開示するのに十分である。
【００３３】
ASICデバイス２１０は、マイクロプロセッサ（CPU）２１１、NANDインタフェース回路２１２、RAM２１３、ブートストラッパ２１４、及び、データを送信するためにこれら構成を相互接続する内部データバス２４０を含む。これに限られるものではないが、好ましくは、ASICは１つのセミコンダクタチップ上で実現され、一般的に、外部データバス２３０を介してASIC２１０に接続されたNANDフラッシュメモリデバイス２２０などの関連するどのようなメモリでも管理する。
【００３４】
NANDフラッシュメモリデバイス２２０はブロック毎に系統だてられ、さらに、ページに分割される。これに限られるものではないが、典型的には、ブロックのサイズは１６または６４kBであり、ページのサイズは５１２または２０４８バイトである。NANDメモリデバイス２２０のデータの読み出し、書き込み、及び削除は通常、CPU２１１が、コマンドと、それに続けて２、３、４、５及びそれ以上のアドレスサイクルを発行し、選択的にデータを送信する（データの読み出し書き込みを行うときに）ことにより行われる。必要なアドレスサイクルの数はモデルに特有のものであり、使用されたNANDフラッシュメモリデバイスのメモリサイズ及び／または構造により異なる。さらに、NANDフラッシュメモリデバイスは、NANDインタフェース２１２に接続するために、典型的には、例えば８または１６のI/Oピン、いくつかの制御ピン（CLE、CE、WE、ALE、REなど）、ビジーピンなどの状態ピンを備える。これらのピンのいくつかは、コマンド及び状態情報のためだけに用いられ、別のピンは、データ転送のためだけに用いられる。NANDフラッシュメモリデバイスのブロックには、無効または「不良」なものがあるため、なんらかの不良ブロック管理を実行することが好ましい。0x00ブロックアドレスにある最初のブロックは、通常、有効ブロックであることが完全に保証されているため、誤り訂正を必要としない。このため、NANDフラッシュメモリデバイスの第１ブロックに起動画像、すなわち、モバイルプラットフォームデバイス２００の起動に必要な起動コードの完璧なコピーを格納することが適しており、その起動コードの完璧なコピーはRAM２１３に記憶（コピー）される。従って、起動画像をNANDメモリデバイスの第１ブロックの最初から格納することが好ましい。また、起動画像をこの第１ブロック内に収まるようにする必要がある。さらに、NANDフラッシュメモリデバイス２２０には、移動端末１００の動作及び機能を制御するためのオペレーティングシステム（OS）及びアプリケーションプログラムを格納してもよく、移動端末１００の動作中にユーザデータ格納領域として使用してもよい。
【００３５】
図２のASIC２１０において、CPU２１１はOS、アプリケーション、及び動作プログラムを実行するように構成される。一番最初の初期化動作中、CPU２１１は、ブートストラッパ２１４に格納された必要な最初の起動コードを実行するように構成される。このようにして、CPU２１１は、移動端末１００に固有の機能を実行するように、移動端末の全体制御を提供する。内部データバス２４０はCPU２１１とデータの送受信を行い、NANDインタフェース２１２、RAM２１３、ブートストラッパ２１４間のデータの転送を行う。
【００３６】
RAM２１３は好ましくはランダムアクセスメモリ（RAM）である。起動手順の初期化に伴って、NANDフラッシュメモリデバイス２２０に最初に格納された必要な起動コードが、最終的に内部RAM２１３に転送されることになる。起動コードの転送後、起動コードはCPU２１１によりそこから実行することができる。起動コードは、CPU２１１により実行されると、ASIC２１０、NANDフラッシュメモリデバイス２２０、そして他の周辺デバイスを初期化する。
【００３７】
初期化に伴って、つまり、モバイルプラットフォームデバイス初期化信号に応じて、ブートストラッパ２１４は起動手順の一番最初の初期化動作を実行する。従って、ブートストラッパ２１４は、モバイルプラットフォームデバイス２００の一番最初の初期化動作のためのに必要な最初の起動コードを含む。従って、最初の起動コードは、NANDフラッシュメモリデバイス２２０の起動画像を解釈またはロードし、実行するように構成される。このようにして、モバイルプラットフォームデバイスの初期化信号に応じて、ブートストラッパ２１４に格納された最初の起動コードがCPU２１１により実行される。
【００３８】
ASIC２１０は、関連するNANDフラッシュメモリデバイス２２０とインタフェースするためのNANDインタフェース回路２１２を備える。これは、外部バス２３０上に各コマンド及びアドレスをロードすることに行われる。NANDインタフェース回路２１２は、NANDインタフェースする際に必要な誤り制御機能を実行するようにしてもよい。
【００３９】
本第１の実施形態におけるNANDフラッシュメモリデバイス２２０を有するモバイルプラットフォームデバイス２００の起動手順を初期化する方法を、図２及び図３を参照して以下に詳細に説明する。本実施形態によれば、起動コードはモバイルプラットフォームデバイス２００に組み入れられるNANDフラッシュメモリデバイス２２０に（予め）記憶されている。更に、関連するNANDメモリデバイス２２０に付随する特徴情報（ページサイズ、ブロックサイズなど）は、NANDフラッシュメモリデバイス２２０に統合される。特徴情報はNANDフラッシュメモリデバイス２２０のモデルに特有なものであり、コンフィギュレーション情報を含む。さらに、特徴情報はNANDメモリデバイスの第１ブロックの最初の比較的小さい領域に格納され、その領域は、これに限られるものではないが、好ましくは0x100バイトである。さらに、この比較的小さな領域は読むことができる。これは、複数のNANDフラッシュメモリデバイスモデルに共通の方法で行うことができる。ここで、共通とは、異なるNANDフラッシュメモリデバイスのモデル毎に異なる読み出しコマンドシーケンスが必要であるという事実を除いて、共通である、という意味である。
【００４０】
関連するNANDフラッシュメモリデバイス２２０は初めから分かっている、つまり、起動手順の初期化時に分かっているものとするが、以下の説明では、モバイルプラットフォームデバイス２００のASIC２１０に接続されたNANDフラッシュメモリデバイス２２０は、NAND１型またはNAND２型の２つの異なるNAND型のいずれかとする。しかしながら、本発明は勿論、これらのNAND型の例に限るものでも、２つの異なる型だけに限るものでもない。本実施形態では、NAND１型は、三星電子の「K9F1208U0M 512Kb」のようなNANDフラッシュメモリデバイスモデルとし、NAND２型は、三星電子の「K9F1G08U0M 1Gb」のようなNANDフラッシュメモリデバイスモデルである。上述したNAND１型及びNAND２型に似たNANDフラッシュメモリデバイスモデルは、他の製造者（例えば、東芝のNAND１：TC58DVG02A1、及びNAND２：TC58NVG0S3A）からも供給されている。NAND１及びNAND２型は、読み出し動作中に異なる読み出しコマンドシーケンスを必要とする。NAND１型とNAND２型との違いは、NAND２型では読み出しコマンド0x30を用いることができるのに対して、NAND１型ではそれを用いることができないことである。NAND１及びNAND２型の読み出しコマンドシーケンスの例を図４及び図５にそれぞれ示す。図４はNAND１型の読み出し動作のタイミング図を、図５はNAND２型の読み出し動作のタイミング図を示している。なお、「読み出しコマンドシーケンス」とは、本明細書及び請求項においては、読み出しコマンドと、N（N＝０...n）個の付加アドレスサイクルを含む。
【００４１】
初期化の際、すなわち、モバイルプラットフォームデバイス初期化信号に応じて、ブートストラッパ２１４内に含まれる最初の起動コードはCPU２１１によって実行される。従って、モバイルプラットフォームデバイス初期化信号は電源オン信号（モバイルプラットフォームデバイスが電源を投入されたときに生成される）またはリセット信号を含む。その後、ステップ３０１において、関連するNANDフラッシュメモリデバイス２２０が周知の状態に設定される。ブートストラッパ２１４に格納された最初の起動コードの実行に伴って、関連するNANDフラッシュメモリデバイスにリセットコマンド0xFFを送ることにより達成することができる。NANDフラッシュメモリデバイス２２０のリセットは、モバイルプラットフォームデバイス２００をリセットして、周知の状態にするために行われる。次のステップ、つまりステップ３０２において、ブートストラッパ２１４はビジーピンを介した、NANDフラッシュメモリデバイス２２０によって発行されるビジー信号がインアクティブ、すなわち、本実施形態では論理ハイとなり、モバイルプラットフォームシステムがリセットされたことを示すのを待つ。特に、インアクティブビジー信号は、NANDフラッシュメモリデバイスのビジーピンがインアクティブである、またはインアクティブになることを意味する。さらに、ビジー信号の状態は、NANDインタフェース２１２を介してCPU２１１により検出することができる。これにより、CPU２１１は、NANDフラッシュメモリデバイス２２０がリセットされたかどうかの情報を得ることができる。さらに、本発明によれば、ASICデバイス２１０に接続されたNANDフラッシュメモリデバイスが無い場合には、例えば、オンチッププルアップによりビジーピンはインアクティブにされる。その結果、（実際には接続されたNANDフラッシュメモリは無いが）CPU２１１には関連するNANDフラッシュメモリデバイス２２０がリセットされたことが通知される。更なる方法の手順に進む前に、モバイルプラットフォームデバイス２００のリセットから始めることは、良い方法であることがわかった。
【００４２】
次にステップ３０４において、初期読み出しコマンドシーケンスがブートストラッパ２１４からNANDインタフェース回路２１２を介して関連するNANDフラッシュメモリデバイス２２０に送られるように、ブートストラッパに含まれる最初の起動コードがCPU２１１により実行される。ここで、関連するNANDフラッシュメモリデバイスはNAND１型、つまり、NAND１型に応じた読み出しコマンドシーケンスに対応するNANDフラッシュメモリデバイスであるものとする。これに関連して、（読み出しコマンドに続く）必要なアドレスサイクルの数は、異なるNANDモデルに応じて、それぞれのメモリサイズ及び／またはメモリ構成によって異なる。従って、初期読み出しコマンドシーケンスに伴って送信しなければならない必要なアドレスサイクルの数は、モバイルプラットフォームデバイスによりサポートされるNANDフラッシュメモリデバイスのメモリサイズ及び／またはメモリ構成よって異なる。なお、特定のモバイルプラットフォームデバイスによりサポートしたい最大NANDフラッシュメモリデバイスが必要とする数のアドレスサイクルを許容しなければならないことは理解されるであろう。この例示的な実施形態では、NAND２型がどのような数（adＮ’s）のアドレスサイクルでもよいため、モバイルプラットフォームデバイス２００が、最大４アドレスサイクル（ad3）を必要とするNANDフラッシュメモリデバイスをサポートするものであることは理解されるであろう。従って、ステップ３０４の、読み出しコマンドシーケンスを送信するステップは、読み出しコマンド0x00と、ad0、ad1、ad2、ad3の順で続く４つのアドレスサイクルを送信するステップを含む。この例では、関連するNANDメモリデバイス２２０がNAND１型であるかどうかを確認するために、ad0が0x00、ad1が0x00、ad2が0x01、ad3が0x00であることは理解されるであろう。好ましくは、（本実施形態でテストされる）NAND１及びNAND２の両方のアドレッシングモードのためのアドレスが、NANDフラッシュメモリデバイス２２０の第１ブロック外にあるように充分に大きく、且つ、NANDメモリデバイス２２０のアドレス範囲内にあるように充分に小さくなければならない。第１ブロック外のアドレスにアクセスする理由は、NANDフラッシュメモリデバイス２２０の第１ページのアドレスが使用された場合に、ビジー信号がアクティブになるのを妨げる可能性がある、NANDメモリデバイス２２０の可能性のある望ましくない自動ロード機能を避けるためである
【００４３】
この後、ステップ３０５において、（CPU２１１により）所定時間内にビジー信号がNANDフラッシュメモリデバイス２２０により発行されたかどうかをチェックする。ビジー信号は、ビジー信号が検出されるか、もしくは予め設定された時間が経過するまで、CPUによりチェック（サンプル）される。ビジー信号は、NANDフラッシュメモリデバイスが送られた初期読み出しコマンドシーケンスに対応した後（対応した場合）に、NANDフラッシュメモリデバイスにより発行され、ある程度の遅延が見込まれる。特に、本実施形態では、発行されたビジー信号は、NANDフラッシュメモリデバイスのビジーピンがアクティブになることを意味する。アクティブなビジーピン（ここでは論理ロー）は、ASIC２１０に接続されたNANDフラッシュメモリデバイス２２０がNAND１型であることを示している。従って、接続されたNANDフラッシュメモリデバイス２２０によりビジー信号が発行されたときに、CPU２１１により検出される。予め設定された時間は、ビジー信号がCPU２１１によりサンプルされる前にビジー信号がNANDフラッシュメモリデバイス２２０から確実に発行できるように十分な時間でなければならない。さらに、予め設定された時間は、起動を初期化する手順を遅らせるような長い時間であってはならない。予め設定された時間は、例えば、１０〜２５μsの範囲内である。好ましくは、予め設定された時間は、１０μsに予め設定される。これにより、NANDフラッシュメモリデバイスが１０μs以内にビジー信号を発行する（ビジーピンがアクティブになる）ことが保証されることになる。
【００４４】
従って、アクティブなビジー信号がCPU２１１により検出されると、NANDフラッシュメモリデバイス２２０がASIC２１０に接続されており、且つ、NANDフラッシュメモリデバイス２２０がNAND１型であることが確定する。従って、NANDフラッシュメモリデバイス２２０は送られた読み出しコマンドシーケンスを受け付ける。その結果、ステップ３０６においてブートストラッパは、ビジー信号が非活性化される（つまり、ビジーピンが非活性化される）とすぐに、関連するNANDフラッシュメモリデバイス２２０とインタフェースするように、モバイルプラットフォームデバイス２００を構築することができる。これにより、接続されたNAND１メモリデバイスから更に特徴情報を読み出すことができるようになるため、接続されたNAND１メモリデバイスから続けて起動することも可能になる。続けて行われる起動手順の一般的な原理は、後で説明する。
【００４５】
一方、送信された初期読み出しコマンドシーケンスに対応するビジー信号が検出されなかった場合、関連するNANDメモリデバイスはNAND１型ではないと結論づけることができる。そして、ステップ３０７において、別の読み出しコマンドシーケンスがNANDフラッシュメモリデバイス２２０に送られるように、ブートストラッパに含まれる最初の起動コードがCPU２１１によりさらに実行される。実際には、この実施形態において、別の読み出しコマンドシーケンスは読み出しコマンド及び１以上のアドレスサイクルを必ずしも含む必要は無い。むしろこの例示的な実施形態では、関連するNANDメモリデバイスがNAND２型であるかどうかをチェックするために、初期読み出しコマンドシーケンスの続きとして読み出しコマンド0x30（読み出し開始）を送れば充分である。従って、読み出しコマンド0x30が、既に送られた初期読み出しコマンドシーケンスに単純に追加される。なお、コマンド0x30はNAND１型に対して発行することは許されていない。次に、ステップ３０８において、上述した手順と同様にして、予め設定された時間内にNANDフラッシュメモリデバイス２２０によりビジー信号が発行されたかどうかをチェックする。ここでも、ビジー信号が検出されるか、または予め設定された時間が経過するまで、ビジー信号をCPU２１１によりチェック（サンプル）する。ビジー信号は、NANDフラッシュメモリデバイスが送られた別の読み出しコマンドシーケンスに対応してた後（対応した場合）に、NANDフラッシュメモリデバイスにより発行され、ある程度の遅延が見込まれる。上述したように、予め設定された時間は、１０〜２５μsの範囲内であるとよい。ビジー信号がアクティブ、つまり論理ローの場合、ASIC２１０に接続されたNANDフラッシュメモリデバイスがあることを示す。また、送信された別の読み出しコマンドシーケンスにNANDフラッシュメモリデバイス２２０が応答したため、接続されたNANDフラッシュメモリデバイス２２０はNAND２型であることが確定する。アクティブなビジー信号（すなわち、アクティブなビジーピン）がCPU２１１により検出されると、ブートストラッパ２１４にも接続されたNANDフラッシュメモリデバイス２２０がNAND２型あることが通知される。その結果、ステップ３０９において、ビジー信号が非活性化される（つまり、ビジーピンが非活性化される）とすぐに、接続されたNAND２型と共に機能するように、ブートストラッパはモバイルプラットフォームデバイスを構築することができる。これにより、接続されたNAND２メモリデバイスから更に特徴情報を読み出すことができるようになるため、接続されたNAND２メモリデバイスからの起動が続けて行われる。
【００４６】
この例によれば、ステップ３０８でビジー信号が検出されなかった場合、ASIC２１０に接続されたのがNAND１型でもNAND２型でもないと結論される。これは、モバイルプラットフォーム２００に関連付けられたNANDメモリデバイス２２０が無いことも意味する。また、接続されたメモリデバイスがNAND１でもNAND２でもない型である可能性も同等にある。
【００４７】
上記例は、最初は不明な接続されたNANDメモリデバイスにアクセスするときに、（異なるNANDモデル、つまり、NAND１及びNAND２に付随する）２つの異なる読み出しコマンドシーケンスを見分けることのできる第１の実施形態にかかる方法を説明した。
【００４８】
更なる実施形態では、この方法は、更なる読み出しコマンドシーケンスを適用することにより更なるNANDモデルを見分けるような方法ステップを含んでも良い。その場合、更なるNANDモデルが説明したNANDモデルよりも大きい場合、初期読み出しコマンドシーケンスは、そのような大きなNANDモデルが必要とする数のアドレスサイクルを含む必要がある（例えば、大きなNANDモデルが５個のアドレスサイクルを必要とする場合、初期読み出しコマンドシーケンスは、0x00、ad0、ad1、ad2、ad3、ad4）。さらに別の実施形態では、この方法は、NANDメモリデバイス以外からの起動を試すステップをさらに有していてもよい。これは、さらにフレキシブルで、対コスト効果の高いモバイルプラットフォームデバイスを意味する。
【００４９】
実際にどのNANDメモリデバイスモデル（NAND１またはNAND２、または潜在的には別のモデル）がASIC２１０に接続されたかを判定するとすぐに、接続されたNANDフラッシュメモリデバイスに関連する更なる特徴情報を読み出すことが可能になるため、続けて起動手順が行うことができる。続けて行われる起動手順は、接続されたNANDモデルに付随する特定の手順に従って実施される。起動手順はNANDモデルによって、例えば、必要な読み出しコマンドシーケンスに関して異なるが、原理は一般的に、ほとんどのNANDモデルにおいて似通っている。従って、NANDフラッシュメモリデバイス２００に格納された起動コードをブートストラッパ２１４により読み出し、読み出した起動コードをRAM２１３に送る一般的な原理について、以下に図２及び図４を参照して説明する。これは、移動端末１００を完全に起動するための概要を提供するために行う。
【００５０】
図４は、NANDフラッシュメモリデバイス２２０から起動コードを転送する処理を示すタイミング図である。なお、接続されたNANDフラッシュメモリデバイス２２０はNAND１型であるものとする。接続されたNANDフラッシュメモリデバイス２２０がNAND１型であることが確定するとすぐに、ブートストラッパはNANDフラッシュメモリデバイス２２０の起動画像内に格納された起動コードを読み出す制御信号（例えば、CLE、CE、WE、ALE、R/B、RE）をさらに出力することができる。実際には、ブートストラッパ２１４は、NANDインタフェース回路２１２がNAND動作をどの程度自動化するかに応じて、NANDインタフェース回路２１２を介して、ほぼ直接、制御信号を制御する。
【００５１】
コマンドラッチイネーブル信号CLEは、所定コマンドがNANDフラッシュメモリデバイス２２０に入力されると活性化される。アドレスラッチイネーブル信号ALEは、所定アドレスがNANDフラッシュメモリデバイス２２０に入力されると、活性化される。
【００５２】
NANDフラッシュメモリデバイス２２０は、アクティブな、つまり論理ハイのコマンドラッチイネーブル信号CLE、アクティブな、つまり論理ローのチップイネーブル信号_CE、及び、アクティブライトイネーブル信号_WEに応じて、所定の読み出しコマンド（この例では0x00）を外部バス２３０を介して受信する。なお、これ以降、「_」は、アクティブロー状態を表す。
【００５３】
さらに、NANDフラッシュメモリデバイス２２０は、アクティブアドレスイネーブル信号ALE、アクティブチップイネーブル信号_CE、アクティブライトイネーブル信号_WEに応じて、外部バス２３０を介してアドレスを受信する。
【００５４】
ブートストラッパに格納された最初の起動コードの実行時に、ブートストラッパ２１４は、NANDフラッシュメモリデバイス２２０に格納された起動コードを読み出すために、予め設定された読み出しコマンド0x00を生成する。その後、ブートストラッパ２１４はad0、ad1、ad2、ad3を生成する。接続されたNANDフラッシュメモリデバイス２２０はNAND１型であるので、第１の実施形態で上述した原理に従って検出することができる。従って、接続されたNANDメモリデバイス２２０がNAND１型であると決定されるので、NANDフラッシュメモリデバイス２２０に格納された起動コードを更に読み出すことができる。読み出されたデータは、NANDフラッシュメモリデバイス２２０の内部バッファ（不図示）に一時的に格納される。
【００５５】
レディ／ビジー信号R/_Bのアクティブ論理、すなわち、ローにより、データ（例えば、起動コード、この例ではd0、d1、d2、d3）の内部バッファへのコピー動作が完了する。しかしながら、レディ／ビジー信号R/_Bのインアクティブ論理、すなわち、「ハイ」では、データのコピー動作は完了していない。その結果、リードイネーブル信号_REの活性化により、データd0〜d3が外部バス２３０に転送される。そして、バス２３０上のデータd0、d1、d2、d3がNANDインタフェース回路２１２を介してRAM２１３に転送される。
【００５６】
そして、ブートストラッパ２１４は、起動コードをRAM２１３に格納する。その後、RAM２１３にロードされた起動コードをCPU２１１により実行することで、モバイルプラットフォームデバイス２００の異なるハードウエア構成が初期化される。移動端末に組み入れられると、最終的にモバイルプラットフォームデバイス２００は適切に動作し、機能することができるようになる。
【００５７】
特定の実施形態に基づいて、上述したように本発明を説明してきた。しかしながら、本発明の範囲内であるならば、上記以外の実施形態であってもよい。例えば、本発明を多くの異なる形態で実施しても良く、ここで説明した実施形態に限定されると解釈されるべきではない。むしろ、実施形態は、開示が十分且つ完全であり、当業者に本発明の範囲を完全に伝えるように提供されるものである。中でも、本発明は方法または機器の形態で実施することが可能である。その結果、本発明は、すべてがハードウエアの実施形態、すべてがソフトウエアの実施形態、またはソフトウエアとハードウエアの観点の両方を混ぜた実施形態の形式を採ることができる。従って、説明は限定の意味で捉えられるべきものではない。さらに、本発明は移動端末を参照して説明されたが、本発明は、NANDフラッシュメモリデバイスを用いてそこから起動するどのような電子機器（例えば、パーソナルデジタルアシスタンス、ページャーなどの電子オーガナイザ）においても実施することが可能であることは理解されるべきである。さらに、本発明はNANDフラッシュメモリデバイスについて説明したが、潜在的に他のメモリデバイスに適用可能であることも理解されよう。さらに、ブートストラッパ２１４をNANDインタフェース２１２に含ませることも可能である。さらに、１以上の内部RAMメモリデバイスをASICデバイスに含ませることも可能である。ハードウエアまたはソフトウエアにより方法を実行する、上記以外の異なる方法ステップを本発明の範囲内で提供することも可能である。さらに、本発明の異なる特徴及びステップを、説明したもの以外の異なる組み合わせで組み合わせることも可能である。本発明は、添付の請求項によってのみ限定されるものである。
【図面の簡単な説明】
【００５８】
【図１】図１は、本発明を実現可能な移動端末及び移動端末が動作可能な移動電気通信網を示す図である。
【図２】図２は、関連するNANDフラッシュメモリデバイスを用いたモバイルプラットフォームデバイスの第１の実施形態のブロック図である。
【図３】図３は、２つの異なるNANDフラッシュメモリデバイスモデルを見分ける本発明の第１の実施形態にかかる方法を説明するフローチャートである。
【図４】図４は、NAND１型であるNANDフラッシュメモリデバイスから起動コードを転送する処理を示すタイミング図である。
【図５】図５は、NAND２型であるNANDフラッシュメモリデバイスから起動コードを転送する処理を示すタイミング図である。
【図１】
2008527553.tif 000003
【図２】
2008527553.tif 000004
【図３】
2008527553.tif 000005
【図４】
2008527553.tif 000006
【図５】
2008527553.tif 000007
【国際調査報告】
2008527553.tif 000008
2008527553.tif 000009
2008527553.tif 000010