JP5034007B2 - コンピュータ装置 - Google Patents

コンピュータ装置 Download PDF

Info

Publication number
JP5034007B2
JP5034007B2 JP2005341890A JP2005341890A JP5034007B2 JP 5034007 B2 JP5034007 B2 JP 5034007B2 JP 2005341890 A JP2005341890 A JP 2005341890A JP 2005341890 A JP2005341890 A JP 2005341890A JP 5034007 B2 JP5034007 B2 JP 5034007B2
Authority
JP
Japan
Prior art keywords
memory
interface
boot
bus
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005341890A
Other languages
English (en)
Other versions
JP2007148750A (ja
Inventor
篤史 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2005341890A priority Critical patent/JP5034007B2/ja
Publication of JP2007148750A publication Critical patent/JP2007148750A/ja
Application granted granted Critical
Publication of JP5034007B2 publication Critical patent/JP5034007B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、不揮発性メモリからのセルフブートが可能なコンピュータ装置に関する。
従来より、NAND型フラッシュメモリからのセルフブートが可能なコンピュータ装置は、NAND型フラッシュメモリからランダムアクセスメモリへブートプログラムを転送し、ランダムアクセスメモリに格納されたブートプログラムをCPUが読み出して実行するように構成されている。
しかし、従来技術では、ブートプログラムの転送にあたって、ブートプロセスを制御するブートシーケンサがデータ転送を扱う必要があり、ブートシーケンサの構成が複雑になってしまうという問題があった。
本発明は、この問題を解決するためになされたもので、NAND型フラッシュメモリ等の不揮発性メモリからのセルフブートが可能なコンピュータ装置において、ブートプロセスを制御するブートシーケンサの構成を簡略化することを目的とする。
上記課題を解決するため、請求項1の発明は、コンピュータ装置であって、CPUと、前記CPUのブートに用いられるブートプログラムが格納された第1メモリを、第3メモリとの間のDMA転送に用いられるバスに接続可能な第1インターフェースと、前記CPUが前記ブートプログラムを読み出す場合の読み出し先となる第2メモリを、前記バスに接続可能な第2インターフェースと、前記バスとは別に設けられた、前記第1インターフェースと前記第2インターフェースとの間をデータ転送可能に直結するデータ転送路と、前記第1インターフェース及び前記第2インターフェースの接続先を前記バスと前記データ転送路との間で切り替える第1セレクタと、前記ブートに先立って、前記第1インターフェース及び前記第2インターフェースが前記データ転送路に接続された状態で、前記第1メモリから前記第2メモリへブートプログラムを転送するトリガを与えるブートシーケンサと、前記第1インターフェース及び前記第2インターフェースが前記バスに接続され前記第1メモリと前記第3メモリとの間又は前記第2メモリと前記第3メモリとの間でデータ転送が可能であるが前記第1メモリから前記第2メモリへデータ転送が可能でない第1の設定と、前記第1インターフェース及び前記第2インターフェースが前記データ転送路に接続され前記第1メモリから前記第2メモリへデータ転送が可能である第2の設定とを切り替える手段とを備える。
請求項2の発明は、請求項1に記載のコンピュータ装置において、前記ブートプログラムの前記第1メモリから前記第2メモリへの転送にあたって、前記第1インターフェースは、データを前記第1メモリからシーケンシャルに読み出して順次出力し、前記第2インターフェースは、順次入力されたデータを前記第2メモリへシーケンシャルに書き込む。
請求項3の発明は、請求項1又は請求項2に記載のコンピュータ装置において、前記第1インターフェース及び前記第2インターフェースの制御主体を前記CPUと前記ブートシーケンサとの間で切り替える第2セレクタをさらに備え、前記制御主体を前記ブートシーケンサとした状態で前記ブートプログラムの前記第1メモリから前記第2メモリへの転送を行い、前記転送が終了した後に、前記制御主体を前記CPUへ切り替える。
請求項4の発明は、請求項1ないし請求項3のいずれかに記載のコンピュータ装置において、前記第1メモリは、不揮発性のメモリであり、前記第2メモリは、1バイト単位でランダムにアクセス可能なランダムアクセスメモリであることを特徴とするコンピュータ装置。
請求項1ないし請求項4の発明によれば、第1メモリから第2メモリへのブートプログラムの転送にあたって、ブートシーケンサがブートプログラムの第1メモリから第2メモリへの転送を扱う必要がないので、ブートシーケンサの構成を簡略化することができる。
請求項2の発明によれば、ブートプログラムの第1メモリから第2メモリへの転送にあたって、アドレスの制御を行う必要がないので、ブートプログラムの第1メモリから第2メモリへの転送を容易に行うことができる。
<1 構成>
図1は、本発明の望ましい実施形態に係るシステムLSI(Large Scale Integration)10を含むコンピュータ1の構成を示すブロック図である。システムLSI10は、移動体通信端末のベースバンドLSIと接続され、画像処理、音声処理及び通信処理等を実行するアプリケーションコンピュータの主要部として機能している。
図1に示すように、システムLSI10は、メモリからフェッチした命令をデコードして実行するCPU11と、ブートプロセスを制御するブートシーケンサ12と、外付のNAND型フラッシュメモリ41へのアクセスを制御するペリフェラルであるNANDフラッシュインターフェース13と、2キロバイトの記憶容量を有する内蔵のデュアルポートRAM(Random Access Memory)42へのアクセスを制御するペリフェラルであるホストインターフェース14とを備える。
システムLSI10では、CPU11が、システムバス15、バスコントローラ16及びセレクタ21を介してホストバス31に接続され、ブートシーケンサ12が、セレクタ21を介してホストバス31に接続されている。セレクタ21は、ホストバス31に接続されたペリフェラルの制御主体を、CPU11とブートシーケンサ12との間で切り替える。さらに、システムLSI10では、NAND型フラッシュメモリ41が、NANDフラッシュインターフェース13を介してホストバス31に接続され、デュアルポートRAM42が、ホストインターフェース14を介してホストバス31に接続されている。NANDフラッシュインターフェース13及びホストインターフェース14の動作は、それぞれ、ペリフェラルコントロールレジスタ(以下「レジスタ」)131及び141に書き込まれたレジスタ値によって設定される。
これらの構成により、CPU11は、ホストインターフェース14を介してデュアルポートRAM42へのデータの書き込み及びデュアルポートRAM42からのデータの読み出しを行うことができるとともに、ホストインターフェース14のレジスタ141に書き込みを行うことができる。同様に、CPU11は、NANDフラッシュインターフェース13を介してNAND型フラッシュメモリ41へのデータの書き込み及びNAND型フラッシュメモリ41からのデータの読み出しを行うことができるとともに、NANDフラッシュインターフェース13のレジスタ131に書き込みを行うことができる。
また、これらの構成により、ワイヤードROM(Read Only Memory)をベースとした小規模のプロセッサであるブートシーケンサ12は、NANDフラッシュインターフェース13のレジスタ131及びホストインターフェース14のレジスタ141に書き込みを行うことができる。
さらに、システムLSI10には、ホストバス31とは別に、外付のSDRAM(Synchronous Dynamic Random Access Memory)43との間のDMA(Direct Memory Access)転送に用いられるバス(以下「DDMAバス」)32が設けられている。SDRAM43は、SDRAM43へのアクセスを制御するSDRAMインターフェース17を介してDDMAバス32に接続されている。
NANDフラッシュインターフェース13は、NAND型フラッシュメモリ41をDDMAバス32に接続可能なDDMAインターフェース132を備えており、ホストインターフェース114は、デュアルポートRAM42をDDMAバス32に接続可能なDDMAインターフェース143を備えている。NAND型フラッシュメモリ41は、DDMAインターフェース132及びセレクタ22を介してDDMAバス32に接続され、デュアルポートRAM42は、DDMAインターフェース143及びセレクタ23を介してDDMAバス32に接続されている。
システムLSI10には、DDMAバス32とは別に、DDMAインターフェース132とDDMAインターフェース143との間をデータ転送可能に結合するショートカットパスとなるデータ転送路33が設けられている。セレクタ22及び23は、それぞれ、DDMAインターフェース132及び143の接続先を、DDMAバス32とデータ転送路33との間で切り替える。
これらの構成により、DDMAインターフェース132及び143がDDMAバス32に接続されているときは、NAND型フラッシュメモリ41とSDRAM43との間又はデュアルポートRAM42とSDRAM43との間で双方向にデータ転送が可能となる。このデータ転送は、CPU11を介することなく行われるので、CPU11に負荷をかけることなく高速に行うことができる。ただし、DDMAインターフェース132及び143がDDMAバス32に接続されているときは、NAND型フラッシュメモリ41からデュアルポートRAM42へのデータ転送を行うことはできない。一方、DDMAインターフェース132及び143がデータ転送路33に接続されているときは、NAND型フラッシュメモリ41からデュアルポートRAM42へのデータ転送が可能となる。
デュアルポートRAM42は、1バイト単位でランダムにアクセス可能なランダムアクセスメモリである。したがって、デュアルポートRAM42を0番地に配置しておけば、CPU11がブートプログラムを読み出しする場合の読み出し先としてデュアルポートRAM11を利用することができる。しかし、デュアルポートRAM42は、揮発性メモリであるとともに、ホストであるベースバンドLSIとの間のデータ受け渡しにも用いられるから、ブートプログラムを持続的に格納しておくことができない。そこで、システムLSI10では、不揮発性メモリであるNAND型フラッシュメモリ41にブートプログラムを格納しておき、ブートに先立って、NAND型フラッシュメモリ41からデュアルポートRAM42へブートプログラムを転送し、CPU11がデュアルポートRAM42からブートプログラムの命令をフェッチすることができるようにしている。ここで、NAND型フラッシュメモリ41に格納されたブートプログラムは書き換え可能であるから、システムLSI10では、ブート時の動作を変更することが容易である。もちろん、不揮発性メモリとして、NAND型フラッシュメモリ41の代わりに、NOR型フラッシュメモリやAND型フラッシュメモリを採用することも妨げられない。
NAND型フラッシュメモリ41からデュアルポートRAM42へのブートプログラムの転送は、DDMAインターフェース132及び143がデータ転送路33に接続された状態で、(1)NANDフラッシュインターフェース13が、NAND型フラッシュメモリ41のブートプログラムが格納されている空間(デュアルポートRAM42の記憶容量と同じ2キロバイトの空間)からデータをシーケンシャルに読み出して順次出力し、(2)ホストインターフェース14が、順次入力されたデータをデュアルポートRAM42へシーケンシャルに書き込むことによって行われる。このようなブートプログラムの転送は、すでにあるDMA転送の仕組みの一部を利用しているので、システムLSI10に大規模な回路を追加することなく実現可能である。さらに、このようなブートプログラムの転送は、アドレスの制御を行うことなく自律的に実行されるので、ブートシーケンサ12を簡略化するのに寄与している。すなわち、ブートシーケンサ12は、ブートプログラムの転送にあたって、レジスタ131及び141に所定のレジスタ値を書き込み、ソースアドレス、デスティネーションアドレス及び転送データ長等の転送対象のデータの情報を指定するだけであり、NAND型フラッシュメモリ41からのデータの読み出し及びデュアルポートRAM42へのデータの書き込みを実際に扱う必要はない。
<2 動作>
図2は、システムLSI10におけるブート手順を示すフローチャートである。
図2を参照して、システムLSI10のリセットが解除されると、最初に、ブートシーケンサ12が起動される(ステップS101)。ブートシーケンサ12の起動時には、CPU11は、リセットされたままになっている。また、ブートシーケンサ12の起動時には、バスの設定は、ブートプログラム転送用の設定となっている。すなわち、セレクタ21により、NANDフラッシュインターフェース13及びホストインターフェース14の制御主体はブートシーケンサ12となっており、セレクタ22及び23により、DDMAインターフェース132及び143の接続先がデータ転送路33となり、DDMAインターフェース132及び143がデータ転送路33で直結された状態となっている。
続いて、ブートシーケンサ12が、レジスタ131及び141の設定すなわちレジスタ131及び141への所定のレジスタ値の書き込みを行うことによって、ブートプログラムの転送のトリガをNANDフラッシュインターフェース13及びホストインターフェース14に与える。(ステップS102)。
システムLSI10では、ステップS102におけるレジスタ131及び141の設定に応答して、NAND型フラッシュメモリ41からデュアルポートRAM42へのブートプログラムの転送が行われる(ステップS103)。ブートプログラムの転送においては、DDMAインターフェース132、データ転送路及33及びDDMAインターフェース143を用いて自律的にデータ転送が行われるので、ブートシーケンサ12は、NANDフラッシュインターフェース13からのステータス信号を参照しつつ転送のタイミングを制御するだけでよい。
ブートプログラムの転送が終了すると、ブートシーケンサ12は、DONE信号によってブートプログラムの転送の終了を通知する(ステップS104)。
DONE信号に応答して、システムLSI10では、バス設定が通常動作用の設定に変更される(ステップS105)。すなわち、セレクタ21により、NANDフラッシュインターフェース13及びホストバスインターフェース14の制御主体がCPU11に切り替えられるとともに、DDMAインターフェース132及び143の接続先がDDMAバス32に切り替えられる。
さらに、DONE信号に応答して、システムLSI10では、CPU11のリセットが解除される(ステップS106)。なお、CPU11のリセットが解除されたときには、NAND型フラッシュメモリ41からデュアルポートRAM42へのブートプログラムの転送は完了しているので、CPU11は、リセットが解除された直後から、デュアルポートRAM42に格納されたブートプログラムの命令をフェッチして実行することができる(ステップS107)。
このようなステップS101〜S107により、システムLSI10では、NAND型フラッシュメモリ41に準備されたブートプログラムによるセルフブートを行うことができる。
なお、システムLSI10では、ブートプログラムの実行後は、NAND型フラッシュメモリ41に格納された、画像処理、音声処理及び通信処理等のためのプログラムが、SDRAM43にロードされ、CPU11により実行される。もちろん、当該プログラムのロードに先立って、第2のブートプログラムをロードするようにすることも妨げられない。
本発明の望ましい実施形態に係るシステムLSI10の構成を示すブロック図である。 システムLSI10におけるブート手順を示すフローチャートである。
符号の説明
1 コンピュータ
10 システムLSI
11 CPU
12 ブートシーケンサ
13 NANDフラッシュインターフェース
14 ホストインターフェース
21〜23 セレクタ
32 DDMAバス
33 データ転送路
41 NAND型フラッシュメモリ
42 デュアルポートRAM
131,141 レジスタ
132,143 DDMAインターフェース

Claims (4)

  1. コンピュータ装置であって、
    CPUと、
    前記CPUのブートに用いられるブートプログラムが格納された第1メモリを、第3メモリとの間のDMA転送に用いられるバスに接続可能な第1インターフェースと、
    前記CPUが前記ブートプログラムを読み出す場合の読み出し先となる第2メモリを、前記バスに接続可能な第2インターフェースと、
    前記バスとは別に設けられた、前記第1インターフェースと前記第2インターフェースとの間をデータ転送可能に直結するデータ転送路と、
    前記第1インターフェース及び前記第2インターフェースの接続先を前記バスと前記データ転送路との間で切り替える第1セレクタと、
    前記ブートに先立って、前記第1インターフェース及び前記第2インターフェースが前記データ転送路に接続された状態で、前記第1メモリから前記第2メモリへブートプログラムを転送するトリガを与えるブートシーケンサと、
    前記第1インターフェース及び前記第2インターフェースが前記バスに接続され前記第1メモリと前記第3メモリとの間又は前記第2メモリと前記第3メモリとの間でデータ転送が可能であるが前記第1メモリから前記第2メモリへデータ転送が可能でない第1の設定と、前記第1インターフェース及び前記第2インターフェースが前記データ転送路に接続され前記第1メモリから前記第2メモリへデータ転送が可能である第2の設定とを切り替える手段と、
    を備えることを特徴とするコンピュータ装置。
  2. 請求項1に記載のコンピュータ装置において、
    前記ブートプログラムの前記第1メモリから前記第2メモリへの転送にあたって、
    前記第1インターフェースは、
    データを前記第1メモリからシーケンシャルに読み出して順次出力し、
    前記第2インターフェースは、
    順次入力されたデータを前記第2メモリへシーケンシャルに書き込む、
    ことを特徴とするコンピュータ装置。
  3. 請求項1又は請求項2に記載のコンピュータ装置において、
    前記第1インターフェース及び前記第2インターフェースの制御主体を前記CPUと前記ブートシーケンサとの間で切り替える第2セレクタをさらに備え、
    前記制御主体を前記ブートシーケンサとした状態で前記ブートプログラムの前記第1メモリから前記第2メモリへの転送を行い、前記転送が終了した後に、前記制御主体を前記CPUへ切り替えることを特徴とするコンピュータ装置。
  4. 請求項1ないし請求項3のいずれかに記載のコンピュータ装置において、
    前記第1メモリは、不揮発性のメモリであり、
    前記第2メモリは、1バイト単位でランダムにアクセス可能なランダムアクセスメモリである、
    ことを特徴とするコンピュータ装置。
JP2005341890A 2005-11-28 2005-11-28 コンピュータ装置 Expired - Fee Related JP5034007B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005341890A JP5034007B2 (ja) 2005-11-28 2005-11-28 コンピュータ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005341890A JP5034007B2 (ja) 2005-11-28 2005-11-28 コンピュータ装置

Publications (2)

Publication Number Publication Date
JP2007148750A JP2007148750A (ja) 2007-06-14
JP5034007B2 true JP5034007B2 (ja) 2012-09-26

Family

ID=38210104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005341890A Expired - Fee Related JP5034007B2 (ja) 2005-11-28 2005-11-28 コンピュータ装置

Country Status (1)

Country Link
JP (1) JP5034007B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297006A (ja) * 2000-04-17 2001-10-26 Hitachi Ltd 半導体集積回路装置および情報処理システム
JP2004220575A (ja) * 2002-12-27 2004-08-05 Ricoh Co Ltd カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP2004334486A (ja) * 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法

Also Published As

Publication number Publication date
JP2007148750A (ja) 2007-06-14

Similar Documents

Publication Publication Date Title
DK1797645T3 (en) Systems and methods for providing non-volatile memory management in cordless phones
JP5290516B2 (ja) メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
JP4819301B2 (ja) Nandフラッシュメモリを利用したブートシステム及びその方法
KR100758301B1 (ko) 메모리 카드 및 그것의 데이터 저장 방법
US20060245274A1 (en) Apparatus and method for controlling NAND flash memory
KR100634436B1 (ko) 멀티 칩 시스템 및 그것의 부트코드 페치 방법
KR20070077463A (ko) 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템
KR20030074106A (ko) 낸드 플래시 메모리를 이용한 부트 시스템 및 그 방법
US20100169546A1 (en) Flash memory access circuit
JP5287301B2 (ja) ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法
JP2009230548A (ja) 情報処理装置と情報処理方法およびストレージシステム
JP2011227730A (ja) マイクロコンピュータ
JP5034007B2 (ja) コンピュータ装置
JP2012022479A (ja) マイクロコントローラ及びその制御方法
JP2004192051A (ja) 共用端子制御装置
JP7006410B2 (ja) 制御装置、画像形成装置および回路装置
JP3956305B2 (ja) 不揮発性半導体記憶装置およびデータ処理装置
JP4793798B2 (ja) マイクロコンピュータ
JP4876459B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムの起動方法、および携帯端末
JP2000305771A (ja) 不揮発性メモリ内蔵マイコンへのソフトウェアローディング方法
JP5823000B2 (ja) マイクロコンピュータ
JP2006313421A (ja) マイクロコンピュータ及びそのデバッグ方法
JPH0561659B2 (ja)
JP2009237666A (ja) 電子機器
JP2009048322A (ja) インタフェースモジュール及び半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081110

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120501

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120522

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5034007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees