JP2008134736A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2008134736A
JP2008134736A JP2006319182A JP2006319182A JP2008134736A JP 2008134736 A JP2008134736 A JP 2008134736A JP 2006319182 A JP2006319182 A JP 2006319182A JP 2006319182 A JP2006319182 A JP 2006319182A JP 2008134736 A JP2008134736 A JP 2008134736A
Authority
JP
Japan
Prior art keywords
parameter
flash memory
main program
stored
memory
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.)
Withdrawn
Application number
JP2006319182A
Other languages
English (en)
Inventor
Katsumi Takayama
克美 高山
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.)
Fujifilm Corp
Original Assignee
Fujifilm 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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2006319182A priority Critical patent/JP2008134736A/ja
Priority to US11/984,952 priority patent/US20080126776A1/en
Publication of JP2008134736A publication Critical patent/JP2008134736A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)

Abstract

【課題】シリアル型のフラッシュメモリにメインプログラムを格納するようした電子機器において、低コストで柔軟なシステムの構築を可能にする。
【解決手段】システムLSI10内にブートストラッププログラム(ROMコード)が格納された小容量のROM14を設ける。また、内蔵のNANDフラッシュメモリ30にシステムを初期化するために必要なパラメータとメインプログラムとを格納する。CPU12は、起動時にROMコードを実行する。ROMコードは、NANDフラッシュメモリ30の特定の物理アドレスで指定された領域からパラメータを読み出し、SRAM16に転送する。CPU12は、SRAM16上のパラメータを参照し、システムの初期化・設定を行い、システムの初期化後にNANDフラッシュメモリ30からメインプログラムを読み出し、DRAM20に格納し、ここでメインプログラムを起動させる。
【選択図】 図1

Description

本発明は電子機器に係り、特にシリアル型のフラッシュメモリにプログラム(ファームウエア)が格納されている電子機器のシステムブートを行う技術に関する。
NAND型に代表されるシリアル型のフラッシュメモリ(NANDフラッシュメモリ)は、NOR型に代表されるパラレル型のフラッシュメモリ(NORフラッシュメモリ)に比べて安価で、集積度が高くできるという利点があるが、ブロックを単位としてアクセスされ、NORフラッシュメモリのようにバイト単位のアクセスができないため、書き込まれたプログラムをメインメモリに移さずに直ちに実行させることができないという欠点がある。
また、NANDフラッシュメモリは、不良ブロックを含むことが容認されており、そのためNANDフラッシュメモリにアクセスする場合には、不良ブロックの位置を管理しながら読み書きが行われる。
特許文献1には、NANDフラッシュメモリにメインプログラムとともに、ブートストラッププログラムを格納し、ブートROM(NORメモリなど)を使用しないシステムが提案されている。このシステムでは特別な転送装置を設け、この転送装置は、電源投入後にNANDフラッシュメモリに格納された誤り検査符号付きのブートストラッププログラムを読み出し、誤り検出/訂正処理を施した後、SRAMに転送する。転送が正常に完了すると、中央処理装置(CPU)を動作可能にし、CPUは、SRAMに転送されたブートストラッププログラムを実行することにより、システムブートを行うようにしている。
特許文献2に記載の記憶装置は、初期読み出しプログラムが格納されたブートROMと、ファームウエア領域及びユーザ領域を有するNANDフラッシュメモリと、命令格納用領域及びデータ格納用領域を有するRAMとを備え、CPUは、ブートROMから初期読み出しプログラムを読み出して実行することにより、NANDフラッシュメモリからプログラム構成データを特定してRAMの命令格納用領域に格納する。
特許文献3には、NANDフラッシュメモリに格納されたブートコード等をバイト単位でアクセス可能にするためのシリアルフラッシュアクセス装置が記載されている。このシリアルフラッシュアクセス装置は、CPUによってNANDフラッシュメモリの指定されたメモリアドレスをアクセスし、CPUから要求されたデータの読み書きを行うキャッシュモジュールと、NANDフラッシュメモリに書き込まれたブートコードを読み出してバッファに格納し、CPUからブートコードが要求されると、システムブートを実行させるブートローダが設けられたシリアルフラッシュコントローラと、上記キャッシュモジュール及びシリアルフラッシュコントローラとNANDフラッシュメモリとの間のデータ送受信を制御するフラッシュインターフェース部とを備えている。
特許文献4に記載のNANDフラッシュメモリは、ブート用プログラムを格納するROMエリアを有するとともに、このROMエリアのデータの誤り訂正を行う誤り訂正回路を有し、システムをブートするための機能を備えている。
特許文献5には、NANDフラッシュメモリを用いながら、追加のブートROMを必要とせずにブートアップできる方法及び装置が記載されている。
特許文献6には、ブートプログラムコードを周辺デバイスの制御レジスタに初期値として設定し、コンピュータに電源が投入されると、上記制御レジスタからブートプログラムコードを読み出してブートプログラムの処理を実行し、NANDフラッシュメモリに格納されているメインプログラムをDRAMに転送するようにしたコンピュータの起動システムが記載されている。
特開2005−190201号公報 特開2002−278781号公報 特開2004−220557号公報 特開2004−319048号公報 特開2005−10942号公報 特開2005−107938号公報
特許文献1に記載の発明は、CPUに頼らずにNANDフラッシュメモリを制御する専用のシーケンサ(転送装置)が必要であり、また、外部メモリカードのインタフェースと共用できないため、高コストとなる。
特許文献2に記載の発明は、ランダムアクセスメモリの初期化手段が固定されており、柔軟なシステムを構築することができないという問題がある。
特許文献3、4に記載の発明は、NANDフラッシュメモリにCPUが直接アクセス可能な機能を持たせることで、標準的なNANDフラッシュメモリに比べてNANDフラッシュメモリ本体が高コストになる。
特許文献6に記載の発明は、NANDフラッシュメモリ以外に、ブートプログラムコードを初期値として設定する制御レジスタを備えた周辺デバイスが必要である。
また、特許文献1〜6に記載のNANDメモリコントローラの用途は、いずれもプログラム格納や1つのNANDフラッシュメモリへのアクセスに限られ、外部メモリカードなどの交換可能なNANDフラッシュメモリへのアクセス手段とは共用されていない。したがって、外部メモリカードを使用する場合には、別のコントローラを必要とし、高コストになるという問題がある。
本発明はこのような事情に鑑みてなされたもので、シリアル型のフラッシュメモリにメインプログラムを格納するようした機器において、低コストで柔軟なシステムを構築することができる電子機器を提供することを目的とする。
前記目的を達成するために請求項1に係る情報処理処置は、中央処理装置と、ブートストラッププログラムが格納された書き換え不能な不揮発性メモリと、高速で情報の読み書きが可能な初期化が不要な第1の揮発性メモリと、高速で情報の読み書きが可能な初期化が必要な第2の揮発性メモリと、少なくとも第1の物理アドレスで指定された領域にシステムを初期化するために必要なパラメータが格納され、第2の物理アドレス又は前記パラメータで指定された領域に前記中央処理装置で実行されるメインプログラムが格納されたシリアル型の第1のフラッシュメモリと、を備え、前記中央処理装置は、電源投入時に前記不揮発性メモリのブートストラッププログラムにより、前記第1のフラッシュメモリからパラメータを読み出し、該パラメータを前記第1の揮発性メモリに一時的に格納し、前記第1の揮発性メモリに格納したパラメータに基づいてシステムの初期化を行い、その後、前記第1のフラッシュメモリに格納されたメインプログラムを前記第2の揮発性メモリに転送し、該第2の揮発性メモリ上でメインプログラムを起動することを特徴としている。
即ち、書き換え不能な不揮発性メモリ(例えば、小容量のROM)にブートストラッププログラム(ROMコード)を格納し、NANDフラッシュメモリ等の第1のフラッシュメモリにシステムを初期化するために必要なパラメータとメインプログラムとを格納し、中央処理装置(CPU)は、ROMコードを実行する。ROMコードは、前記第1のフラッシュメモリの第1の物理アドレスで指定された領域からパラメータを読み出し、第1の揮発性メモリ(SRAM)に転送し、CPUは、SRAMに転送されたパラメータを参照し、システムの初期化・設定を行う。尚、SRAMは初期化が不要なため、CPUはSRAMにアクセス可能である。
システムの初期化が終了すると、CPUは、前記第1のフラッシュメモリの特定の第2の物理アドレス又は前記パラメータで指定された領域に格納されたメインプログラムを読み出し、第2の揮発性メモリ(DRAM)に格納し、ここでメインプログラムを起動させる。
これにより、メインプログラムを格納した高価なNORフラッシュメモリ+NANDフラッシュメモリのシステムよりも低コスト化を図ることができる。また、ROMコードを変更することなく、第1のフラッシュメモリに格納するパラメータによって柔軟なシステムを構築できるようにしている。
請求項2に示すように請求項1に記載の電子機器において、エラー検出/訂正手段を含むメモリコントローラを備え、前記中央処理装置は、前記メモリコントローラを介して前記パラメータ/メインプログラムの転送を行い、前記メモリコントローラは、前記パラメータ/メインプログラムの転送時にエラー検出及び訂正を行うことを特徴としている。これにより、NORフラッシュメモリに比べて信頼性の低いNANDフラッシュメモリに格納されるパラメータやメインプログラムの信頼性を高めることができる。
請求項3に示すように請求項2に記載の電子機器において、前記中央処理装置、不揮発性メモリ、第1の揮発性メモリ及びメモリコントローラは、1チップの大規模集積回路によって構成されていることを特徴としている。
請求項4に示すように請求項1から3のいずれかに記載の電子機器において、外部のシリアル型の第2のフラッシュメモリが装着され、該第2のフラッシュメモリとデータの送受信を行うためのインターフェースを備え、起動時にパラメータを一時的に保持する前記第1の揮発性メモリは、前記第2のフラッシュメモリの使用時のデータバッファとして共用されることを特徴としている。即ち、前記第1の揮発性メモリ(SRAM)を、第2のフラッシュメモリを使用するときのデータ転送時のデータバッファとして共用することにより、低コスト化を図るようにしている。
請求項5に示すように請求項1から4のいずれかに記載の電子機器において、前記第1のフラッシュメモリに格納されたパラメータは、前記第2の揮発性メモリを初期化するときのパラメータを含むことを特徴としている。これにより、ROMコードを変更することなく、第2の揮発性メモリ(DRAM)のサイズ、タイプが異なる構成をとることが可能となる。
請求項6に示すように請求項1から5のいずれかに記載の電子機器において、前記第1のフラッシュメモリに格納されたパラメータは、前記第1のフラッシュメモリから前記第2の揮発性メモリにメインプログラムを転送するときのシステムのクロック周波数、及び第1のフラッシュメモリへアクセスするときの制御信号のパルス幅を設定するためのパラメータを含むことを特徴としている。これにより、起動時の高速化を図ることができる。
請求項7に示すように請求項1から6のいずれかに記載の電子機器において、前記第1のフラッシュメモリに格納されたパラメータは、前記第1のフラッシュメモリから前記第2の揮発性メモリに転送するメインプログラムのサイズに関するパラメータを含むことを特徴としている。これにより、ROMコードを変更することなく、プログラムサイズを変更することが可能になる。
請求項8に示すように請求項2に記載の電子機器において、前記第1のフラッシュメモリに格納されたパラメータは、前記メインプログラムの転送時のリトライ回数を含み、前記中央処理装置は、前記メインプログラムの転送時に訂正不能なエラーが発生すると、前記リトライ回数だけ前記メインプログラムの転送を行うことを特徴としている。
請求項9に示すように請求項2又は8に記載の電子機器において、前記不揮発性メモリに格納されたブートストラッププログラムは、前記パラメータ/メインプログラムの転送時のリトライ回数を含み、前記中央処理装置は、前記パラメータ/メインプログラムの転送時に訂正不能なエラーが発生すると、前記リトライ回数だけ前記パラメータ/メインプログラムの転送を行うことを特徴としている。請求項8、9に係る発明によれば、高い信頼性が得られる。
請求項10に示すように請求項2に記載の電子機器において、前記中央処理装置は、前記パラメータ/メインプログラムの転送時に訂正不能なエラーが発生すると、電源回路の電源を遮断する指令を出力することを特徴としている。これにより、正しく起動しない場合の電子機器の保護を図ることができる。
請求項11に示すように請求項2、8、9又は10に記載の電子機器において、前記第1のフラッシュメモリは、ユーザデータが格納されるユーザ領域を含み、前記パラメータ/メインプログラムが格納される領域には第1のエラー訂正符号が格納され、前記ユーザ領域には前記第1のエラー訂正符号よりも弱いエラー訂正を行う第2のエラー訂正符号が格納されることを特徴としている。
本発明によれば、シリアル型の第1のフラッシュメモリにシステムを初期化するために必要なパラメータとメインプログラムとを格納し、CPUは、書き換え不能な不揮発性メモリ(例えば、小容量のROM)に格納されたブートストラッププログラム(ROMコード)により、前記パラメータを読み出して第1の揮発性メモリ(SRAM)に転送し、このパラメータを参照することによりシステムの初期化・設定を行うようにしたため、ROMコードを変更することなく柔軟なシステムを構築することができる。また、CPUは、システムの初期化が終了すると、前記第1のフラッシュメモリからメインプログラムを読み出し、第2の揮発性メモリ(DRAM)に格納し、ここでメインプログラムを起動させるようにしたため、メインプログラムを高価なNORフラッシュメモリに格納するようにしたシステムに比べて低コスト化を図ることができる。
以下、添付図面に従って本発明に係る電子機器の好ましい実施の形態について説明する。
[電子機器の構成例]
図1は本発明に係る電子機器の実施の形態を示す要部ブロック図である。
この電子機器は、例えば、プログラム(ファームウエア)によって制御されるデジタルカメラ等の電子機器であり、システムLSI(大規模集積回路)10と、高速で情報の読み書きが可能な初期化が必要な揮発性メモリ(DRAM)20と、NAND型に代表されるシリアル型のフラッシュメモリ(NANDフラッシュメモリ)30と、外部のNANDフラッシュメモリであるメモリカードのメモリカード・インターフェース(I/F)40とを備えている。
システムLSI10は、中央処理装置(CPU)12と、書き換え不能な不揮発性メモリ(ROM)14と、高速で情報の読み書きが可能な初期化が不要な揮発性メモリ(SRAM)16と、NANDメモリコントローラ18とがシステムバス19に接続され、1チップ化された大規模集積回路であり、従来のこの種のシステムLSIに対して小容量のROM14が追加された構成となっている。
ROM14には、ブートストラッププログラム(以下、「ROMコード」という)が格納されており、CPU10は、後述するようにブート時にROMコードを実行する。
DRAM20は、システムバス19を介してシステムLSI10と接続され、また、機器内蔵のNANDフラッシュメモリ30とメモリカードI/F40とは、メディアバス50を介してシステムLSI10内のNANDメモリコントローラ18と接続されている。
NANDメモリコントローラ18は、後述するようにエラー検出/訂正機能を備えており、NANDフラッシュメモリ30又はメモリカードI/F40のいずれかにチップセレクト信号を出力し、チップセレクト信号を出力したNANDフラッシュメモリとの間でデータの読み書きを行う。
[NANDフラッシュメモリ30の構成]
図2にNANDフラッシュメモリ30のメモリマップの設定例を示す。このNANDフラッシュメモリ30は、多数のブロックに編成され、各ブロックは更に複数のページ(512バイト/ページ)に分割され、ページ単位で読み取りやプログラムが可能になっている。
このNANDフラッシュメモリ30は、図2に示すように特定の物理アドレスで指定された領域(この実施の形態では、第1ブロックの第1ページ目)にシステムを初期化するために必要なパラメータが格納され、上記の物理アドレスとは異なる特定の物理アドレス又は前記パラメータで指定された領域にメインプログラムが格納され、その他の領域がユーザデータ領域として使用可能になっている。
以下、本発明に係る電子機器の起動時の動作について説明する。
<第1の実施の形態>
図3は本発明に係る電子機器の起動時の動作の第1の実施の形態を示すフローチャートである。
まず、電源が投入されると(パワーオンリセットされると)、CPU12は、ROM14内のROMコードを実行する。CPU12はこのROMコードの実行により、NANDメモリコントローラ18を制御するために必要な最低限のシステム初期化を行った後、NANDメモリコントローラ18を制御し、NANDフラッシュメモリ30のチップセレクト信号のみを選択状態にし、NANDフラッシュメモリ30の特定の物理アドレスで指定された領域(第1ブロックの第1ページ)にアクセスして、ここからパラメータを読み出させ、このパラメータをSRAM16に格納させる(ステップS10)。
続いて、SRAM16上のパラメータを使用してシステムの初期化を行う(ステップS12)。尚、SRAM16は初期化が不要なため、CPU12は、直ちにアクセスすることができ、SRAM16に格納されたパラメータを参照し、システムの初期化・設定を行うことが可能である。
次に、SRAM16上のパラメータで指定されたNANDフラッシュメモリ30の領域(この領域にメインプログラムが格納されている)からメインプログラムを読み出し、DRAM20に配置する(ステップS14)。尚、ROMコードにメインプログラムが格納される領域を示す特定の物理アドレスが含まれている場合には、その物理アドレスに基づいてメインプログラムを読み出すようにしてもよい。
その後、プログラムカウンタをDRAM20上のメインプログラムが転送された領域内に変更し、DRAM20上でメインプログラムを起動する(ステップS16)。
尚、SRAM16は、システムの初期化後は、NANDフラッシュメモリ30やメモリカードI/F40に接続されたメモリカード(図示せず)の使用時のデータバッファとして共用される。即ち、SRAM16は、NANDフラッシュメモリ30やメモリカードのデータ転送用のデータバッファとして用いられているが、本発明ではブート時に有効活用している。
<第2の実施の形態>
図4は本発明に係る電子機器の起動時の動作の第2の実施の形態を示すフローチャートである。尚、図4において、図3に示した第1の実施の形態と共通するステップには、同一のステップ番号を付し、その詳細な説明は省略する。
図4に示す第2の実施の形態では、第1の実施の形態のステップS12の代わりにステップS20の処理を行うようにしている。
即ち、NANDフラッシュメモリ30に格納されているパラメータには、DRAM20を初期化するための情報が含まれている。
システムの初期化を行うステップS20では、SRAM16上に格納されたパラメータの1つである、DRAM20の初期化パラメータを使用してDRAM20を初期化する。これにより、様々な容量/タイプのDRAMを使用することが可能になる。
<第3の実施の形態>
図5は本発明に係る電子機器の起動時の動作の第3の実施の形態を示すフローチャートである。尚、図5において、図3に示した第1の実施の形態と共通するステップには、同一のステップ番号を付し、その詳細な説明は省略する。
図5に示す第3の実施の形態では、第1の実施の形態のステップS12の代わりにステップS22の処理を行うようにしている。
即ち、NANDフラッシュメモリ30に格納されているパラメータには、NANDフラッシュメモリ30からDRAM20にメインプログラムを転送するときのシステムのクロック周波数、及びNANDフラッシュメモリ30へアクセスするときの制御信号のパルス幅を設定するための情報が含まれている。
システムの初期化を行うステップS22では、SRAM16上に格納されたパラメータの1つである、上記クロック周波数、及び制御信号のパルス幅を設定するための情報に基づいてシステムのクロック周波数の設定、及びプログラム転送時のNANDメモリコントローラ18の設定を行う。これにより、任意の速度(高速)で、メインプログラムの転送が可能となり、起動時の高速化を図ることができる。
<第4の実施の形態>
図6は本発明に係る電子機器の起動時の動作の第4の実施の形態を示すフローチャートである。尚、図6において、図3に示した第1の実施の形態と共通するステップには、同一のステップ番号を付し、その詳細な説明は省略する。
図6に示す第4の実施の形態では、第1の実施の形態のステップS14の代わりにステップS24の処理を行うようにしている。
即ち、NANDフラッシュメモリ30に格納されているパラメータには、メインプログラムのサイズ情報が含まれている。
ステップS24において、CPU12は、SRAM16上に格納されたパラメータの1つである、メインプログラムのサイズ情報に基づいてNANDフラッシュメモリ30からメインプログラムを読み出し、これをDRAM20に配置する。
これにより、ROMコードを変更することなく、様々なサイズのメインプログラムに適応することができる。
<第5の実施の形態>
図7は本発明に係る電子機器の起動時の動作の第5の実施の形態を示すフローチャートである。尚、図7において、図3に示した第1の実施の形態と共通するステップには、同一のステップ番号を付し、その詳細な説明は省略する。
図7に示す第5の実施の形態では、第1の実施の形態のステップS10、S14の代わりにステップS30、S32の処理を行うとともに、ステップS34の処理が追加されている。
即ち、NANDメモリコントローラ18は、リード時のエラー検出/訂正機能を備えており、一方、NANDフラッシュメモリ30に格納されているパラメータ及びメインプログラムには、それぞれエラー訂正符号が含まれている。
図7において、NANDメモリコントローラ18は、NANDフラッシュメモリ30からパラメータとともにエラー訂正符号を読み出し、このエラー訂正符号によってパラメータのエラー検出/訂正を行う。このようにしてエラー検出/訂正されたパラメータは、SRAM16に格納される(ステップS30)。
上記ステップS30において、パラメータに訂正不可能なエラーが発生した場合には、ステップS34に遷移し、ここでエラー処理(CPU12の停止)が行われる。
パラメータを用いたシステムの初期化後、NANDメモリコントローラ18は、NANDフラッシュメモリ30からメインプログラムとともにエラー訂正符号を読み出し、このエラー訂正符号によってメインプログラムのエラー検出/訂正を行う。このようにしてエラー検出/訂正が行われたメインプログラムは、DRAM20に配置される(ステップS32)。
上記ステップS32において、メインプログラムに訂正不可能なエラーが発生した場合には、ステップS34に遷移し、ここでエラー処理(CPU12の停止)が行われる。
これにより、NORフラッシュメモリに比べて信頼性の低いNANDフラッシュメモリ30に格納されるパラメータやメインプログラムの信頼性を高めることができる。
<第6の実施の形態>
図8は本発明に係る電子機器の起動時の動作の第6の実施の形態を示すフローチャートである。尚、図8において、図7に示した第5の実施の形態と共通するステップには、同一のステップ番号を付し、その詳細な説明は省略する。
図8に示す第6の実施の形態では、第5の実施の形態に対してステップS40、S42の処理が追加されている。
即ち、ROMコードには、パラメータの転送時のリトライ回数を示す情報が含まれており、NANDフラッシュメモリ30に格納されているパラメータには、メインプログラムの転送時のリトライ回数を示す情報が含まれている。
ステップS30において、パラメータに訂正不可能なエラーが発生した場合には、ステップS40に遷移し、ここで、ROMコードに含まれているパラメータによって指定されたリトライ回数分のリトライが終了したか否かが判別される。そして、リトライ回数分のリトライが終了していない場合には、ステップS30に戻り、終了した場合には、ステップS34に遷移する。
同様に、ステップS32において、メインプログラムに訂正不可能なエラーが発生した場合には、ステップS42に遷移し、ここで、SRAM16上にあるパラメータで指定されたリトライ回数分のリトライが終了したか否かが判別される。そして、リトライ回数分のリトライが終了していない場合には、ステップS32に戻り、終了した場合には、ステップS34に遷移する。ステップS34では、エラー処理(CPU12の停止)が行われる。
このように、CPU12は、パラメータ/メインプログラムの転送時に訂正不能なエラーが発生すると、指定されたリトライ回数だけパラメータ/メインプログラムの転送を行う。これにより、パラメータ/メインプログラムの転送時の信頼性を高くすることができる。
[電子機器の他の構成例]
図9は本発明に係る電子機器の他の実施の形態を示す要部ブロック図である。尚、図1に示した電子機器の要部ブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。
図9において、ROM14に格納されているROMコードは、エラー訂正符号による訂正やリトライを行っても訂正不能な場合に、エラー処理としてCPU12自体又はシステム全体への電源供給を遮断するための制御信号を、CPU12から電源制御回路60に出力するようになっている。
また、エラー処理として上記制御信号を出力するか否かのパラメータは、NANDフラッシュメモリ30から読み出されるパラメータに含まれている。
<第7の実施の形態>
図10は本発明に係る電子機器の起動時の動作の第7の実施の形態を示すフローチャートである。尚、図10において、図7に示した第5の実施の形態と共通するステップには、同一のステップ番号を付し、その詳細な説明は省略する。
図10に示す第7の実施の形態では、第5の実施の形態のエラー処理(ステップS34)の代わりに、ステップS50、52の処理を行うようにしている。
いま、NANDフラッシュメモリ30から読み出されたパラメータに、エラー処理時に電源供給を遮断するための制御信号を出すパラメータが設定されていると、CPU12は、パラメータ/メインプログラムの転送時に訂正不能なエラーが発生すると、電源制御回路60に電源遮断依頼を通知する(ステップS50)。
この電源遮断依頼の通知を受けた電源制御回路60は、CPU12又はシステム全体への電源供給を停止する(ステップS52)。これにより、システムが正しく起動しない場合の保護を図ることができる。
[NANDフラッシュメモリ30の他の構成]
図11にNANDフラッシュメモリ30内のデータ部と冗長部とが設定されたメモリマップを示す。同図に示したようにNANDフラッシュメモリ30は、パラメータ/メインプログラムが格納されるパラメータ/メインプログラム領域と、ユーザが利用できるユーザデータ領域とに区分されている。
パラメータ/メインプログラム領域は、パラメータ/メインプログラムが格納されるデータ部と、パラメータ/メインプログラムのエラー検出/訂正するための強力なエラー訂正符号が格納される冗長部とを有し、同様に、ユーザデータが格納されるユーザデータ領域と、ユーザデータのエラー検出/訂正するためのエラー訂正符号であって、メモリカードと同じエラー訂正符号(パラメータ/メインプログラム領域におけるエラー訂正符号よりも弱いエラー訂正符号)が格納される冗長部とを有している。
ここで、パラメータ/メインプログラム領域におけるエラー訂正符号としては、例えば、リードソロモン符号を適用することができ、ユーザデータ領域におけるエラー訂正符号としては、二次元ハミング符号を適用することができる。
メモリ容量を有効に活用するためには、冗長部は少ない方が好ましいが、パラメータ/メインプログラムは、システムにとって重要な情報であるため、強いエラー訂正符号が付与されている。
尚、本発明は、メモリカード等の外部記録メディアを使用するデジタルカメラの他に、デジタルオーディオプレーヤ、ICレコーダ等の電子機器にも適用することができる。
図1は本発明に係る電子機器の実施の形態を示す要部ブロック図である。 図2はNANDフラッシュメモリのメモリマップの設定例を示す図である。 図3は本発明に係る電子機器の起動時の動作の第1の実施の形態を示すフローチャートである。 図4は本発明に係る電子機器の起動時の動作の第2の実施の形態を示すフローチャートである。 図5は本発明に係る電子機器の起動時の動作の第3の実施の形態を示すフローチャートである。 図6は本発明に係る電子機器の起動時の動作の第4の実施の形態を示すフローチャートである。 図7は本発明に係る電子機器の起動時の動作の第5の実施の形態を示すフローチャートである。 図8は本発明に係る電子機器の起動時の動作の第6の実施の形態を示すフローチャートである。 図9は本発明に係る電子機器の他の実施の形態を示す要部ブロック図である。 図10は本発明に係る電子機器の起動時の動作の第7の実施の形態を示すフローチャートである。 図11はNANDフラッシュメモリ内のデータ部と冗長部とが設定されたメモリマップを示す図である。
符号の説明
10…システムLSI、12…中央処理装置(CPU)、14…書き換え不能な不揮発性メモリ(ROM)、16…初期化が不要な揮発性メモリ(SRAM)、18…NANDメモリコントローラ、19…システムバス、20…初期化が必要な揮発性メモリ(DRAM)、30…シリアル型のフラッシュメモリ(NANDフラッシュメモリ)、40…メモリカード・インターフェース(I/F)、50…メディアバス、60…電源制御回路

Claims (11)

  1. 中央処理装置と、
    ブートストラッププログラムが格納された書き換え不能な不揮発性メモリと、
    高速で情報の読み書きが可能な初期化が不要な第1の揮発性メモリと、
    高速で情報の読み書きが可能な初期化が必要な第2の揮発性メモリと、
    少なくとも第1の物理アドレスで指定された領域にシステムを初期化するために必要なパラメータが格納され、第2の物理アドレス又は前記パラメータで指定された領域に前記中央処理装置で実行されるメインプログラムが格納されたシリアル型の第1のフラッシュメモリと、を備え、
    前記中央処理装置は、電源投入時に前記不揮発性メモリのブートストラッププログラムにより、前記第1のフラッシュメモリからパラメータを読み出し、該パラメータを前記第1の揮発性メモリに一時的に格納し、前記第1の揮発性メモリに格納したパラメータに基づいてシステムの初期化を行い、その後、前記第1のフラッシュメモリに格納されたメインプログラムを前記第2の揮発性メモリに転送し、該第2の揮発性メモリ上でメインプログラムを起動することを特徴とする電子機器。
  2. エラー検出/訂正手段を含むメモリコントローラを備え、
    前記中央処理装置は、前記メモリコントローラを介して前記パラメータ/メインプログラムの転送を行い、
    前記メモリコントローラは、前記パラメータ/メインプログラムの転送時にエラー検出及び訂正を行うことを特徴とする請求項1に記載の電子機器。
  3. 前記中央処理装置、不揮発性メモリ、第1の揮発性メモリ及びメモリコントローラは、1チップの大規模集積回路によって構成されていることを特徴とする請求項2に記載の電子機器。
  4. 外部のシリアル型の第2のフラッシュメモリが装着され、該第2のフラッシュメモリとデータの送受信を行うためのインターフェースを備え、
    起動時にパラメータを一時的に保持する前記第1の揮発性メモリは、前記第2のフラッシュメモリの使用時のデータバッファとして共用されることを特徴とする請求項1から3のいずれかに記載の電子機器。
  5. 前記第1のフラッシュメモリに格納されたパラメータは、前記第2の揮発性メモリを初期化するときのパラメータを含むことを特徴とする請求項1から4のいずれかに記載の電子機器。
  6. 前記第1のフラッシュメモリに格納されたパラメータは、前記第1のフラッシュメモリから前記第2の揮発性メモリにメインプログラムを転送するときのシステムのクロック周波数、及び第1のフラッシュメモリへアクセスするときの制御信号のパルス幅を設定するためのパラメータを含むことを特徴とする請求項1から5のいずれかに記載の電子機器。
  7. 前記第1のフラッシュメモリに格納されたパラメータは、前記第1のフラッシュメモリから前記第2の揮発性メモリに転送するメインプログラムのサイズに関するパラメータを含むことを特徴とする請求項1から6のいずれかに記載の電子機器。
  8. 前記第1のフラッシュメモリに格納されたパラメータは、前記メインプログラムの転送時のリトライ回数を含み、前記中央処理装置は、前記メインプログラムの転送時に訂正不能なエラーが発生すると、前記リトライ回数だけ前記メインプログラムの転送を行うことを特徴とする請求項2に記載の電子機器。
  9. 前記不揮発性メモリに格納されたブートストラッププログラムは、前記パラメータ/メインプログラムの転送時のリトライ回数を含み、前記中央処理装置は、前記パラメータ/メインプログラムの転送時に訂正不能なエラーが発生すると、前記リトライ回数だけ前記パラメータ/メインプログラムの転送を行うことを特徴とする請求項2又は8に記載の電子機器。
  10. 前記中央処理装置は、前記パラメータ/メインプログラムの転送時に訂正不能なエラーが発生すると、電源回路の電源を遮断する指令を出力することを特徴とする請求項2に記載の電子機器。
  11. 前記第1のフラッシュメモリは、ユーザデータが格納されるユーザ領域を含み、前記パラメータ/メインプログラムが格納される領域には第1のエラー訂正符号が格納され、前記ユーザ領域には前記第1のエラー訂正符号よりも弱いエラー訂正を行う第2のエラー訂正符号が格納されることを特徴とする請求項2、8、9又は10に記載の電子機器。
JP2006319182A 2006-11-27 2006-11-27 電子機器 Withdrawn JP2008134736A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006319182A JP2008134736A (ja) 2006-11-27 2006-11-27 電子機器
US11/984,952 US20080126776A1 (en) 2006-11-27 2007-11-26 Electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006319182A JP2008134736A (ja) 2006-11-27 2006-11-27 電子機器

Publications (1)

Publication Number Publication Date
JP2008134736A true JP2008134736A (ja) 2008-06-12

Family

ID=39465186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006319182A Withdrawn JP2008134736A (ja) 2006-11-27 2006-11-27 電子機器

Country Status (2)

Country Link
US (1) US20080126776A1 (ja)
JP (1) JP2008134736A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013198112A (ja) * 2012-03-22 2013-09-30 Toshiba Corp 符号化装置および符号化装置の制御方法、ならびに、記憶装置
JP2016062172A (ja) * 2014-09-16 2016-04-25 株式会社リコー 情報処理装置
WO2017022300A1 (ja) * 2015-07-31 2017-02-09 京セラドキュメントソリューションズ株式会社 電子機器
JP2017134507A (ja) * 2016-01-26 2017-08-03 日立オートモティブシステムズ株式会社 メモリ管理システム
JP6232109B1 (ja) * 2016-09-27 2017-11-15 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
JP6274589B1 (ja) * 2016-09-28 2018-02-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
JP2020057063A (ja) * 2018-09-28 2020-04-09 キヤノン株式会社 情報処理装置及びその制御方法とプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171277B2 (en) 2008-07-02 2012-05-01 Apple Inc. Method and apparatus for booting from a flash memory without prior knowledge of flash parameter information
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
CN102104750B (zh) * 2009-12-22 2015-02-11 康佳集团股份有限公司 一种网络电视自动升级的方法
US8051329B1 (en) * 2010-02-05 2011-11-01 Netapp, Inc. Method and system for initializing a computing system
CN102375748A (zh) * 2010-08-25 2012-03-14 深圳Tcl新技术有限公司 一种电视机闪存恢复方法
TW201246075A (en) * 2011-05-06 2012-11-16 Asmedia Technology Inc Flash device and associated booting method
US8990549B2 (en) * 2012-07-12 2015-03-24 Freescale Semiconductor, Inc. Method and system for booting electronic device from NAND flash memory
KR20140100008A (ko) * 2013-02-05 2014-08-14 삼성전자주식회사 휘발성 메모리 장치의 구동 방법 및 휘발성 메모리 장치의 테스트 방법
CN105828178A (zh) * 2015-01-04 2016-08-03 华为技术有限公司 播放开机音乐的方法、装置及***
KR101886176B1 (ko) * 2016-10-25 2018-08-08 시큐리티플랫폼 주식회사 소유자만 기록 가능한 부트영역을 포함하는 저장장치
CN112965754B (zh) * 2019-12-13 2023-04-18 合肥杰发科技有限公司 一种***启动的方法及嵌入式设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10116187A (ja) * 1996-10-11 1998-05-06 Mitsubishi Electric Corp マイクロコンピュータ
JPH11219299A (ja) * 1998-02-02 1999-08-10 Mitsubishi Electric Corp マイクロコンピュータ
JP3964042B2 (ja) * 1998-04-08 2007-08-22 株式会社リコー カラー画像処理装置およびカラー画像処理方法
US7103684B2 (en) * 2003-12-02 2006-09-05 Super Talent Electronics, Inc. Single-chip USB controller reading power-on boot code from integrated flash memory for user storage
KR100353649B1 (ko) * 2000-08-18 2002-09-28 삼성전자 주식회사 무선망을 이용한 네비게이션 시스템 및 그에 의한 경로안내 방법
JP3574078B2 (ja) * 2001-03-16 2004-10-06 東京エレクトロンデバイス株式会社 記憶装置と記憶装置制御方法
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
JP4314057B2 (ja) * 2003-04-18 2009-08-12 サンディスク コーポレイション 不揮発性半導体記憶装置および電子装置
JP4404625B2 (ja) * 2003-12-25 2010-01-27 パナソニック株式会社 情報処理装置および該装置用のromイメージ生成装置
JP2006277395A (ja) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013198112A (ja) * 2012-03-22 2013-09-30 Toshiba Corp 符号化装置および符号化装置の制御方法、ならびに、記憶装置
US9331713B2 (en) 2012-03-22 2016-05-03 Kabushiki Kaisha Toshiba Encoding apparatus, control method of encoding apparatus, and memory device
JP2016062172A (ja) * 2014-09-16 2016-04-25 株式会社リコー 情報処理装置
WO2017022300A1 (ja) * 2015-07-31 2017-02-09 京セラドキュメントソリューションズ株式会社 電子機器
JP6104481B1 (ja) * 2015-07-31 2017-03-29 京セラドキュメントソリューションズ株式会社 電子機器
CN106664347A (zh) * 2015-07-31 2017-05-10 京瓷办公信息***株式会社 电子设备
JP2017134507A (ja) * 2016-01-26 2017-08-03 日立オートモティブシステムズ株式会社 メモリ管理システム
US10453524B2 (en) 2016-09-27 2019-10-22 Winbond Electronics Corp. NAND flash memory device performing continuous reading operation using NOR compatible command, address and control scheme
KR20180034190A (ko) * 2016-09-27 2018-04-04 윈본드 일렉트로닉스 코포레이션 반도체 기억 장치, 플래시 메모리 및 그 연속 독출 방법
JP2018055737A (ja) * 2016-09-27 2018-04-05 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
JP6232109B1 (ja) * 2016-09-27 2017-11-15 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
KR102051512B1 (ko) * 2016-09-27 2019-12-03 윈본드 일렉트로닉스 코포레이션 반도체 기억 장치, 플래시 메모리 및 그 연속 독출 방법
JP6274589B1 (ja) * 2016-09-28 2018-02-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
JP2018055741A (ja) * 2016-09-28 2018-04-05 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
KR20200068629A (ko) * 2016-09-28 2020-06-15 윈본드 일렉트로닉스 코포레이션 반도체 기억장치 및 이를 위한 연속 판독 방법
KR102184260B1 (ko) 2016-09-28 2020-12-01 윈본드 일렉트로닉스 코포레이션 반도체 기억장치 및 이를 위한 연속 판독 방법
JP2020057063A (ja) * 2018-09-28 2020-04-09 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP7242233B2 (ja) 2018-09-28 2023-03-20 キヤノン株式会社 情報処理装置及びその制御方法とプログラム

Also Published As

Publication number Publication date
US20080126776A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
JP2008134736A (ja) 電子機器
EP3422583B1 (en) Systems and methods for providing nonvolatile memory management in wireless phones
JP4672742B2 (ja) メモリコントローラおよびメモリシステム
US8370611B2 (en) Memory card, memory system including the same, and operating method thereof
US8135991B2 (en) Semiconductor device and processing method for starting the same
US20060245274A1 (en) Apparatus and method for controlling NAND flash memory
TWI397078B (zh) 用於快閃記憶體中錯誤掃描之方法、裝置及系統
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US10824523B2 (en) Data storage device and operating method thereof
US11157357B2 (en) Operation methods of memory system and host, and computing system
JP3519954B2 (ja) チップイネーブル信号生成回路及びメモリ装置
JP2008198192A (ja) リペア可能な半導体メモリ装置と該半導体メモリ装置のリペアリング方法
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR20190060429A (ko) 메모리 시스템 및 이의 동작 방법
TWI779046B (zh) 記憶體裝置及包括其的記憶體系統
JP4036747B2 (ja) 情報処理装置
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4083474B2 (ja) メモリ装置の制御方法およびそのプログラムならびに記録媒体
JP2024525659A (ja) Hmb喪失からの回復
CN115840661A (zh) 从hmb丢失恢复的无dram ssd
JP2005234928A (ja) 記憶装置
JP2008033602A (ja) 情報処理装置
JP2005078369A (ja) 半導体処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090909

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101015