(57)【要約】【課題】ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリからのセルフブートが可能なコンピュータ装置において、ブートプロセスを制御するブートシーケンサの構成を簡略化する。【解決手段】システムＬＳＩ１０には、ホストバス３１とは別に、外付のＳＤＲＡＭ４３との間のＤＭＡ転送に用いられるＤＤＭＡバス３２が設けられている。ＮＡＮＤ型フラッシュメモリ４１は、ＤＤＭＡインターフェース１３２及びセレクタ２２を介してＤＤＭＡバス３２に接続され、デュアルポートＲＡＭ４２は、ＤＤＭＡインターフェース１４３及びセレクタ２３を介してＤＤＭＡバス３２に接続されている。システムＬＳＩ１０では、ブートに先立って、ＤＤＭＡインターフェース１３２及び１４３の接続先がデータ転送路３３に切り替えられ、ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へブートプログラムが転送される。【選択図】図１
2007148750.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置であって、
ＣＰＵと、
前記ＣＰＵのブートに用いられるブートプログラムが格納された第１メモリを、第３メモリとの間のＤＭＡ転送に用いられるバスに接続可能な第１インターフェースと、
前記ＣＰＵが前記ブートプログラムを読み出す場合の読み出し先となる第２メモリを、前記バスに接続可能な第２インターフェースと、
前記バスとは別に設けられた、前記第１インターフェースと前記第２インターフェースとの間をデータ転送可能に結合するデータ転送路と、
前記第１インターフェース及び前記第２インターフェースの接続先を前記バスと前記データ転送路との間で切り替える第１セレクタと、
前記ブートに先立って、前記第１インターフェース及び前記第２インターフェースが前記データ転送路に接続された状態で、前記第１メモリから前記第２メモリへブートプログラムを転送するトリガを与えるブートシーケンサと、
を備えることを特徴とするコンピュータ装置。
【請求項２】
請求項１に記載のコンピュータ装置において、
前記ブートプログラムの前記第１メモリから前記第２メモリへの転送にあたって、
前記第１インターフェースは、
データを前記第１メモリからシーケンシャルに読み出して順次出力し、
前記第２インターフェースは、
順次入力されたデータを前記第２メモリへシーケンシャルに書き込む、
ことを特徴とするコンピュータ装置。
【請求項３】
請求項１又は請求項２に記載のコンピュータ装置において、
前記第１インターフェース及び前記第２インターフェースの制御主体を前記ＣＰＵと前記ブートシーケンサとの間で切り替える第２セレクタをさらに備え、
前記制御主体を前記ブートシーケンサとした状態で前記ブートプログラムの前記第１メモリから前記第２メモリへの転送を行い、前記転送が終了した後に、前記制御主体を前記ＣＰＵへ切り替えることを特徴とするコンピュータ装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のコンピュータ装置において、
前記第１メモリは、不揮発性のメモリであり、
前記第２メモリは、１バイト単位でランダムにアクセス可能なランダムアクセスメモリである、
ことを特徴とするコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリからのセルフブートが可能なコンピュータ装置に関する。
【背景技術】
【０００２】
従来より、ＮＡＮＤ型フラッシュメモリからのセルフブートが可能なコンピュータ装置は、ＮＡＮＤ型フラッシュメモリからランダムアクセスメモリへブートプログラムを転送し、ランダムアクセスメモリに格納されたブートプログラムをＣＰＵが読み出して実行するように構成されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来技術では、ブートプログラムの転送にあたって、ブートプロセスを制御するブートシーケンサがデータ転送を扱う必要があり、ブートシーケンサの構成が複雑になってしまうという問題があった。
【０００４】
本発明は、この問題を解決するためになされたもので、ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリからのセルフブートが可能なコンピュータ装置において、ブートプロセスを制御するブートシーケンサの構成を簡略化することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、請求項１の発明は、コンピュータ装置であって、ＣＰＵと、前記ＣＰＵのブートに用いられるブートプログラムが格納された第１メモリを、第３メモリとの間のＤＭＡ転送に用いられるバスに接続可能な第１インターフェースと、前記ＣＰＵが前記ブートプログラムを読み出す場合の読み出し先となる第２メモリを、前記バスに接続可能な第２インターフェースと、前記バスとは別に設けられた、前記第１インターフェースと前記第２インターフェースとの間をデータ転送可能に結合するデータ転送路と、前記第１インターフェース及び前記第２インターフェースの接続先を前記バスと前記データ転送路との間で切り替える第１セレクタと、前記ブートに先立って、前記第１インターフェース及び前記第２インターフェースが前記データ転送路に接続された状態で、前記第１メモリから前記第２メモリへブートプログラムを転送するトリガを与えるブートシーケンサとを備える。
【０００６】
請求項２の発明は、請求項１に記載のコンピュータ装置において、前記ブートプログラムの前記第１メモリから前記第２メモリへの転送にあたって、前記第１インターフェースは、データを前記第１メモリからシーケンシャルに読み出して順次出力し、前記第２インターフェースは、順次入力されたデータを前記第２メモリへシーケンシャルに書き込む。
【０００７】
請求項３の発明は、請求項１又は請求項２に記載のコンピュータ装置において、前記第１インターフェース及び前記第２インターフェースの制御主体を前記ＣＰＵと前記ブートシーケンサとの間で切り替える第２セレクタをさらに備え、前記制御主体を前記ブートシーケンサとした状態で前記ブートプログラムの前記第１メモリから前記第２メモリへの転送を行い、前記転送が終了した後に、前記制御主体を前記ＣＰＵへ切り替える。
【０００８】
請求項４の発明は、請求項１ないし請求項３のいずれかに記載のコンピュータ装置において、前記第１メモリは、不揮発性のメモリであり、前記第２メモリは、１バイト単位でランダムにアクセス可能なランダムアクセスメモリであることを特徴とするコンピュータ装置。
【発明の効果】
【０００９】
請求項１ないし請求項４の発明によれば、第１メモリから第２メモリへのブートプログラムの転送にあたって、ブートシーケンサがブートプログラムの第１メモリから第２メモリへの転送を扱う必要がないので、ブートシーケンサの構成を簡略化することができる。
【００１０】
請求項２の発明によれば、ブートプログラムの第１メモリから第２メモリへの転送にあたって、アドレスの制御を行う必要がないので、ブートプログラムの第１メモリから第２メモリへの転送を容易に行うことができる。
【発明を実施するための最良の形態】
【００１１】
＜１  構成＞
図１は、本発明の望ましい実施形態に係るシステムＬＳＩ（Large Scale Integration）１０を含むコンピュータ１の構成を示すブロック図である。システムＬＳＩ１０は、移動体通信端末のベースバンドＬＳＩと接続され、画像処理、音声処理及び通信処理等を実行するアプリケーションコンピュータの主要部として機能している。
【００１２】
図１に示すように、システムＬＳＩ１０は、メモリからフェッチした命令をデコードして実行するＣＰＵ１１と、ブートプロセスを制御するブートシーケンサ１２と、外付のＮＡＮＤ型フラッシュメモリ４１へのアクセスを制御するペリフェラルであるＮＡＮＤフラッシュインターフェース１３と、２キロバイトの記憶容量を有する内蔵のデュアルポートＲＡＭ（Random Access Memory）４２へのアクセスを制御するペリフェラルであるホストインターフェース１４とを備える。
【００１３】
システムＬＳＩ１０では、ＣＰＵ１１が、システムバス１５、バスコントローラ１６及びセレクタ２１を介してホストバス３１に接続され、ブートシーケンサ１２が、セレクタ２１を介してホストバス３１に接続されている。セレクタ２１は、ホストバス３１に接続されたペリフェラルの制御主体を、ＣＰＵ１１とブートシーケンサ１２との間で切り替える。さらに、システムＬＳＩ１０では、ＮＡＮＤ型フラッシュメモリ４１が、ＮＡＮＤフラッシュインターフェース１３を介してホストバス３１に接続され、デュアルポートＲＡＭ４２が、ホストインターフェース１４を介してホストバス３１に接続されている。ＮＡＮＤフラッシュインターフェース１３及びホストインターフェース１４の動作は、それぞれ、ペリフェラルコントロールレジスタ（以下「レジスタ」）１３１及び１４１に書き込まれたレジスタ値によって設定される。
【００１４】
これらの構成により、ＣＰＵ１１は、ホストインターフェース１４を介してデュアルポートＲＡＭ４２へのデータの書き込み及びデュアルポートＲＡＭ４２からのデータの読み出しを行うことができるとともに、ホストインターフェース１４のレジスタ１４１に書き込みを行うことができる。同様に、ＣＰＵ１１は、ＮＡＮＤフラッシュインターフェース１３を介してＮＡＮＤ型フラッシュメモリ４１へのデータの書き込み及びＮＡＮＤ型フラッシュメモリ４１からのデータの読み出しを行うことができるとともに、ＮＡＮＤフラッシュインターフェース１３のレジスタ１３１に書き込みを行うことができる。
【００１５】
また、これらの構成により、ワイヤードＲＯＭ（Read Only Memory）をベースとした小規模のプロセッサであるブートシーケンサ１２は、ＮＡＮＤフラッシュインターフェース１３のレジスタ１３１及びホストインターフェース１４のレジスタ１４１に書き込みを行うことができる。
【００１６】
さらに、システムＬＳＩ１０には、ホストバス３１とは別に、外付のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）４３との間のＤＭＡ（Direct Memory Access）転送に用いられるバス（以下「ＤＤＭＡバス」）３２が設けられている。ＳＤＲＡＭ４３は、ＳＤＲＡＭ４３へのアクセスを制御するＳＤＲＡＭインターフェース１７を介してＤＤＭＡバス３２に接続されている。
【００１７】
ＮＡＮＤフラッシュインターフェース１３は、ＮＡＮＤ型フラッシュメモリ４１をＤＤＭＡバス３２に接続可能なＤＤＭＡインターフェース１３２を備えており、ホストインターフェース１１４は、デュアルポートＲＡＭ４２をＤＤＭＡバス３２に接続可能なＤＤＭＡインターフェース１４３を備えている。ＮＡＮＤ型フラッシュメモリ４１は、ＤＤＭＡインターフェース１３２及びセレクタ２２を介してＤＤＭＡバス３２に接続され、デュアルポートＲＡＭ４２は、ＤＤＭＡインターフェース１４３及びセレクタ２３を介してＤＤＭＡバス３２に接続されている。
【００１８】
システムＬＳＩ１０には、ＤＤＭＡバス３２とは別に、ＤＤＭＡインターフェース１３２とＤＤＭＡインターフェース１４３との間をデータ転送可能に結合するショートカットパスとなるデータ転送路３３が設けられている。セレクタ２２及び２３は、それぞれ、ＤＤＭＡインターフェース１３２及び１４３の接続先を、ＤＤＭＡバス３２とデータ転送路３３との間で切り替える。
【００１９】
これらの構成により、ＤＤＭＡインターフェース１３２及び１４３がＤＤＭＡバス３２に接続されているときは、ＮＡＮＤ型フラッシュメモリ４１とＳＤＲＡＭ４３との間又はデュアルポートＲＡＭ４２とＳＤＲＡＭ４３との間で双方向にデータ転送が可能となる。このデータ転送は、ＣＰＵ１１を介することなく行われるので、ＣＰＵ１１に負荷をかけることなく高速に行うことができる。ただし、ＤＤＭＡインターフェース１３２及び１４３がＤＤＭＡバス３２に接続されているときは、ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へのデータ転送を行うことはできない。一方、ＤＤＭＡインターフェース１３２及び１４３がデータ転送路３３に接続されているときは、ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へのデータ転送が可能となる。
【００２０】
デュアルポートＲＡＭ４２は、１バイト単位でランダムにアクセス可能なランダムアクセスメモリである。したがって、デュアルポートＲＡＭ４２を０番地に配置しておけば、ＣＰＵ１１がブートプログラムを読み出しする場合の読み出し先としてデュアルポートＲＡＭ１１を利用することができる。しかし、デュアルポートＲＡＭ４２は、揮発性メモリであるとともに、ホストであるベースバンドＬＳＩとの間のデータ受け渡しにも用いられるから、ブートプログラムを持続的に格納しておくことができない。そこで、システムＬＳＩ１０では、不揮発性メモリであるＮＡＮＤ型フラッシュメモリ４１にブートプログラムを格納しておき、ブートに先立って、ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へブートプログラムを転送し、ＣＰＵ１１がデュアルポートＲＡＭ４２からブートプログラムの命令をフェッチすることができるようにしている。ここで、ＮＡＮＤ型フラッシュメモリ４１に格納されたブートプログラムは書き換え可能であるから、システムＬＳＩ１０では、ブート時の動作を変更することが容易である。もちろん、不揮発性メモリとして、ＮＡＮＤ型フラッシュメモリ４１の代わりに、ＮＯＲ型フラッシュメモリやＡＮＤ型フラッシュメモリを採用することも妨げられない。
【００２１】
ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へのブートプログラムの転送は、ＤＤＭＡインターフェース１３２及び１４３がデータ転送路３３に接続された状態で、（１）ＮＡＮＤフラッシュインターフェース１３が、ＮＡＮＤ型フラッシュメモリ４１のブートプログラムが格納されている空間（デュアルポートＲＡＭ４２の記憶容量と同じ２キロバイトの空間）からデータをシーケンシャルに読み出して順次出力し、（２）ホストインターフェース１４が、順次入力されたデータをデュアルポートＲＡＭ４２へシーケンシャルに書き込むことによって行われる。このようなブートプログラムの転送は、すでにあるＤＭＡ転送の仕組みの一部を利用しているので、システムＬＳＩ１０に大規模な回路を追加することなく実現可能である。さらに、このようなブートプログラムの転送は、アドレスの制御を行うことなく自律的に実行されるので、ブートシーケンサ１２を簡略化するのに寄与している。すなわち、ブートシーケンサ１２は、ブートプログラムの転送にあたって、レジスタ１３１及び１４１に所定のレジスタ値を書き込み、ソースアドレス、デスティネーションアドレス及び転送データ長等の転送対象のデータの情報を指定するだけであり、ＮＡＮＤ型フラッシュメモリ４１からのデータの読み出し及びデュアルポートＲＡＭ４２へのデータの書き込みを実際に扱う必要はない。
【００２２】
＜２  動作＞
図２は、システムＬＳＩ１０におけるブート手順を示すフローチャートである。
【００２３】
図２を参照して、システムＬＳＩ１０のリセットが解除されると、最初に、ブートシーケンサ１２が起動される（ステップＳ１０１）。ブートシーケンサ１２の起動時には、ＣＰＵ１１は、リセットされたままになっている。また、ブートシーケンサ１２の起動時には、バスの設定は、ブートプログラム転送用の設定となっている。すなわち、セレクタ２１により、ＮＡＮＤフラッシュインターフェース１３及びホストインターフェース１４の制御主体はブートシーケンサ１２となっており、セレクタ２２及び２３により、ＤＤＭＡインターフェース１３２及び１４３の接続先がデータ転送路３３となり、ＤＤＭＡインターフェース１３２及び１４３がデータ転送路３３で直結された状態となっている。
【００２４】
続いて、ブートシーケンサ１２が、レジスタ１３１及び１４１の設定すなわちレジスタ１３１及び１４１への所定のレジスタ値の書き込みを行うことによって、ブートプログラムの転送のトリガをＮＡＮＤフラッシュインターフェース１３及びホストインターフェース１４に与える。（ステップＳ１０２）。
【００２５】
システムＬＳＩ１０では、ステップＳ１０２におけるレジスタ１３１及び１４１の設定に応答して、ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へのブートプログラムの転送が行われる（ステップＳ１０３）。ブートプログラムの転送においては、ＤＤＭＡインターフェース１３２、データ転送路及３３及びＤＤＭＡインターフェース１４３を用いて自律的にデータ転送が行われるので、ブートシーケンサ１２は、ＮＡＮＤフラッシュインターフェース１３からのステータス信号を参照しつつ転送のタイミングを制御するだけでよい。
【００２６】
ブートプログラムの転送が終了すると、ブートシーケンサ１２は、ＤＯＮＥ信号によってブートプログラムの転送の終了を通知する（ステップＳ１０４）。
【００２７】
ＤＯＮＥ信号に応答して、システムＬＳＩ１０では、バス設定が通常動作用の設定に変更される（ステップＳ１０５）。すなわち、セレクタ２１により、ＮＡＮＤフラッシュインターフェース１３及びホストバスインターフェース１４の制御主体がＣＰＵ１１に切り替えられるとともに、ＤＤＭＡインターフェース１３２及び１４３の接続先がＤＤＭＡバス３２に切り替えられる。
【００２８】
さらに、ＤＯＮＥ信号に応答して、システムＬＳＩ１０では、ＣＰＵ１１のリセットが解除される（ステップＳ１０６）。なお、ＣＰＵ１１のリセットが解除されたときには、ＮＡＮＤ型フラッシュメモリ４１からデュアルポートＲＡＭ４２へのブートプログラムの転送は完了しているので、ＣＰＵ１１は、リセットが解除された直後から、デュアルポートＲＡＭ４２に格納されたブートプログラムの命令をフェッチして実行することができる（ステップＳ１０７）。
【００２９】
このようなステップＳ１０１〜Ｓ１０７により、システムＬＳＩ１０では、ＮＡＮＤ型フラッシュメモリ４１に準備されたブートプログラムによるセルフブートを行うことができる。
【００３０】
なお、システムＬＳＩ１０では、ブートプログラムの実行後は、ＮＡＮＤ型フラッシュメモリ４１に格納された、画像処理、音声処理及び通信処理等のためのプログラムが、ＳＤＲＡＭ４３にロードされ、ＣＰＵ１１により実行される。もちろん、当該プログラムのロードに先立って、第２のブートプログラムをロードするようにすることも妨げられない。
【図面の簡単な説明】
【００３１】
【図１】本発明の望ましい実施形態に係るシステムＬＳＩ１０の構成を示すブロック図である。
【図２】システムＬＳＩ１０におけるブート手順を示すフローチャートである。
【符号の説明】
【００３２】
１  コンピュータ  
１０  システムＬＳＩ
１１  ＣＰＵ
１２  ブートシーケンサ
１３  ＮＡＮＤフラッシュインターフェース
１４  ホストインターフェース
２１〜２３  セレクタ
３２  ＤＤＭＡバス
３３  データ転送路
４１  ＮＡＮＤ型フラッシュメモリ
４２  デュアルポートＲＡＭ
１３１，１４１  レジスタ
１３２，１４３  ＤＤＭＡインターフェース
【図１】
2007148750.tif 000003
【図２】
2007148750.tif 000004