JP2005208747A - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP2005208747A
JP2005208747A JP2004012121A JP2004012121A JP2005208747A JP 2005208747 A JP2005208747 A JP 2005208747A JP 2004012121 A JP2004012121 A JP 2004012121A JP 2004012121 A JP2004012121 A JP 2004012121A JP 2005208747 A JP2005208747 A JP 2005208747A
Authority
JP
Japan
Prior art keywords
data
program
information processing
area
buffer
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.)
Granted
Application number
JP2004012121A
Other languages
English (en)
Other versions
JP2005208747A5 (ja
JP4745613B2 (ja
Inventor
Katsuhiko Yanagawa
勝彦 柳川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004012121A priority Critical patent/JP4745613B2/ja
Priority to US11/035,084 priority patent/US7398425B2/en
Publication of JP2005208747A publication Critical patent/JP2005208747A/ja
Publication of JP2005208747A5 publication Critical patent/JP2005208747A5/ja
Application granted granted Critical
Publication of JP4745613B2 publication Critical patent/JP4745613B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 安価なNAND型フラッシュメモリからのブートを可能にし、情報処理装置のコストの低減を図ることである。
【解決手段】 データエラーが発生しない信頼性の高い第1の領域とデータエラーが発生する可能性がある信頼性の低い第2の領域とを含む不揮発性メモリと、揮発性メモリと、演算手段とを有する。不揮発性メモリの第2の領域に情報処理装置制御プログラムを格納している。不揮発性メモリの第1の領域に、ハードウェアを初期化するためのハードウェア初期化プログラムと、第2の領域の情報処理装置制御プログラムを揮発性メモリに書き込むためのローダープログラムとを格納している。
【選択図】 図2

Description

本発明は、情報処理装置及び情報処理方法に関するものである。
従来、マイクロプロセッサのプログラムコードを格納可能であり、その格納内容を電気的に書き換えることが可能なメモリとしてNOR型のフラッシュメモリが使われている(例えば、特許文献1を参照)。
一方、データストレージ用として使用されているNAND型フラッシュメモリは非常に安価である。
特開平07-093980号公報
しかしながら、上述した従来の技術では、NOR型フラッシュメモリが高価であるという課題があった。
またNAND型フラッシュメモリはその構造上の問題から稀にビットエラーが発生するという問題がある。そのため発生したエラーに対してECC等のエラー訂正が必要であり、ハードウェアによるエラー訂正は、エラー訂正アルゴリズムが複雑なため大規模な回路を必要とした。また、書き換え回数を制限することによりある領域(ファーストブロック)のみビットエラーが発生しないことが保証されているが、ファーストブロックは8KB程度と容量が小さくプログラムの格納には不十分な容量であった。さらにNAND型フラッシュメモリはランダムアクセスが非常に遅くプログラムを実行させるとパフォーマンスが低下する等の課題が存在した。
本発明の目的は、安価なNAND型フラッシュメモリからのブートを可能にし、情報処理装置のコストの低減を図ることである。
本発明の情報処理装置は、データエラーが発生しない信頼性の高い第1の領域とデータエラーが発生する可能性がある信頼性の低い第2の領域とを含む不揮発性メモリと、揮発性メモリと、演算手段とを有し、前記不揮発性メモリの第2の領域に情報処理装置制御プログラムを格納しており、前記不揮発性メモリの第1の領域に、ハードウェアを初期化するためのハードウェア初期化プログラムと、前記第2の領域の情報処理装置制御プログラムを前記揮発性メモリに書き込むためのローダープログラムとを格納しており、前記演算手段は、前記ハードウェア初期化プログラムを実行することによりハードウェアの初期化を行い、前記ローダープログラムを実行することにより前記第2の領域に格納されている情報処理装置制御プログラムを前記揮発性メモリに書き込み、前記揮発性メモリ上に書き込まれた情報処理装置制御プログラムを実行することを特徴とする。
本発明の情報処理方法は、データエラーが発生しない信頼性の高い第1の領域とデータエラーが発生する可能性がある信頼性の低い第2の領域とを含む不揮発性メモリと、揮発性メモリとを有し、前記不揮発性メモリの第2の領域に情報処理装置制御プログラムを格納し、前記不揮発性メモリの第1の領域に、ハードウェアを初期化するためのハードウェア初期化プログラムと、前記第2の領域の情報処理装置制御プログラムを前記揮発性メモリに書き込むためのローダープログラムとを格納する情報処理装置の情報処理方法であって、前記ハードウェア初期化プログラムを実行することによりハードウェアの初期化を行うステップと、前記ローダープログラムを実行することにより前記第2の領域に格納されている情報処理装置制御プログラムを前記揮発性メモリに書き込むステップと、前記揮発性メモリ上に書き込まれた情報処理装置制御プログラムを実行するステップとを有することを特徴とする。
ハードウェア初期化プログラム及びローダープログラムは、書き換え不可又は書き換え回数が少ないので、不揮発性メモリの信頼性の高い第1の領域に格納する。情報処理装置制御プログラムは、書き換え可能又は書き換え回数が多いので、不揮発性メモリの信頼性の低い第2の領域に格納する。これにより、安価な不揮発性メモリからのブートを可能にし、情報処理装置のコストを下げることができる。
以下添付図面を参照して、本発明に係る好適な実施形態を、印刷装置を例に詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態の特徴を最もよく表わす図面であり、同図において、100は印刷装置(情報処理装置)、200はホストコンピュータである。ホストコンピュータ200は、印刷装置100に接続され、印刷装置100を制御する。
以下、印刷装置100の構成を説明する。101は印刷装置100全体の制御を司るCPU、102は電気的消去及び書き込み可能なNAND型フラッシュメモリ(不揮発性メモリ)、103はダイナミックランダムアクセスメモリ(DRAM)、104はCPU101と各機能ブロックのインターフェースを行なうCPUインターフェース部、105はNAND型フラッシュメモリ102のアクセス制御を行なうNANDフラッシュ制御部、106はDRAM103のアクセス制御を行なうDRAM制御部、107はホストコンピュータ200と通信を行なうホストインターフェース部、108はビットマップ画像を生成する画像展開部、109はDRAM103上に展開された画像データをシリアルのビデオ信号に変換するビデオインターフェース部、120はプリンタエンジンである。
不揮発性メモリ102は、例えばNAND型フラッシュメモリ又はAND型フラッシュメモリであり、電源を切っても記憶した内容が保存されるメモリである。揮発性メモリ103は、例えばDRAMであり、電源が入っているときだけ記憶した内容が保存されるメモリである。
図2にはNAND型フラッシュメモリ102に格納されているプログラムコードを示す。NAND型フラッシュメモリ102は、読み出しデータエラーが発生しない高信頼性の領域1と、読み出しデータエラーが発生する可能性がある低信頼性の領域2と、同じく読み出しデータエラーが発生する可能性がある低信頼性の領域3とに分割し、各々の領域には以下のプログラムコードを格納する。
領域1:
・CPU及びDRAMのハードウェア初期化プログラム
・領域2/領域3に格納されているプログラムコードをDRAM上に書き込むためのローダープログラム
・ECCによるエラー訂正プログラム
領域2:
・領域3(印刷装置制御プログラム)書き換えプログラム
領域3:
・印刷装置制御プログラム
上記ローダープログラムは、領域2及び3に格納されているプログラムコードをDRAM103上にコピーする。エラー訂正プログラムは、ECCにより、データ読み込み時のデータエラーを検出し、データエラーを訂正する。上記のローダープログラム及びエラー訂正プログラムは組であり、ローダープログラムは、エラー訂正プログラムを含む。
印刷装置制御プログラム書き換えプログラムは、領域3の印刷装置制御プログラムを書き換えるためのプログラムである。CPUは、書き換えプログラムを実行することにより、領域1及び領域2は書き換えず、印刷装置制御プログラムが格納されている領域3のみ書き換える。なお、書き換えプログラムは、領域2ではなく、領域1に格納してもよい。
NAND型フラッシュメモリ102において、領域1及び領域2は書き換え不可の領域であり、領域3は書き換え可能な領域である。なお、NAND型フラッシュメモリ102は、メモリセルアレイと528バイトのデータレジスタから構成されており、データのリードライトはメモリセルアレイと直接行なうことはなく、必ずデータレジスタを介して行なわれる。例えば0番地のデータをリードする場合、0番地のデータを含む1ページ分(528バイト)のデータがデータレジスタに転送された後、読み出される。従って、データレジスタの更新が発生するアクセスはこの転送のための時間が必要でありアクセス時間がかかってしまうという特徴がある。
そこで、領域1のプログラムは分岐命令を少なくする等、できるだけデータレジスタの更新が発生しないようにプログラミングされている。
なお、上記プログラムコードは前もってROMプログラマー(図示せず)等により格納されるものとする。
また、CPUインターフェース部104は、NAND型フラッシュメモリ102の各領域とDRAM103の領域を図4に示すようにCPU101にマッピングする。そしてそのデフォルト状態でCPUのブートアドレスを上記領域1に割り当てるように動作する。
そして上記図1の構成におけるCPU101からのアクセス動作を説明する。印刷装置100の電源が投入され、リセットが解除されたら、CPU101は最初のプログラムフェッチを行なうためにCPUインターフェース部104に対してブートアクセスを発生する。CPUインターフェース部104はアドレスをデコードし、ブートアドレスと判断するとNANDフラッシュ制御部105に対してリードアクセスを発行する。NANDフラッシュ制御部105はこれを受信しNAND型フラッシュメモリ102に対してリードアクセスする。そしてリードデータを受信しCPU101にデータを送信する。また、CPU101がDRAM103にアクセスする場合はCPUインターフェース部104がDRAM制御部106にアクセスし、DRAM制御部106では、ホストインターフェース107等のDMAアクセスとの調停を行い、DRAM103にアクセスする。
次に上記構成における動作を図3のフローチャートにて説明する。
印刷装置の電源が投入され、リセットが解除されたら、CPU101はブートアクセスにより、NAND型フラッシュメモリ102上の領域1に格納されているCPU及びDRAMの初期化プログラムを実行し、CPU及びDRAMの初期化を行なう(S301)。
次に領域1に格納されているローダープログラムを実行し、NAND型フラッシュメモリ102上の領域2と領域3に格納されているプログラムコードをDRAM103にコピーする。もし領域2/領域3のコードの読み出し時にデータエラーを検出した場合は、エラー訂正プログラムによりエラー訂正を行なう(S302)。
次にDRAM103上の「印刷装置制御プログラム」が書き込まれた領域にジャンプし、印刷装置の制御を開始する(S303)。
そして印刷装置の制御中にNAND型フラッシュメモリ102の領域3「印刷装置制御プログラム」の書き換え要求があった場合は(S304)、DRAM103上の「印刷装置制御プログラム書き換えプログラム」が書き込まれた領域にジャンプし、NAND型フラッシュメモリ102の領域3の書き換えを実行する(S305)。
(第2の実施形態)
NAND型フラッシュメモリは、内部データレジスタの更新を伴うアクセスが発生した場合に、非常にアクセススピードが遅くなってしまうという特徴があり、上記第1の実施形態では、領域2及び領域3の内容をDRAMにコピーするローダープログラムはNAND型フラッシュメモリ上で直接実行される。するとCPUのフェッチによるアクセスと領域2及び領域3を読み出すアクセスが交互に発生し、それら各々は別の領域であるため内部データレジスタが頻繁に更新されることでアクセススピードが遅くなり、ローダープログラムの実行が遅くなってしまう。第2の実施形態はこの課題を解決する方法である。
図5に本発明の第2の実施形態における動作を表すフローチャートを示す。第1の実施形態と同じ動作をする箇所は同じ符号で示しており、第1の実施形態(図3)のステップS302が第2の実施形態ではステップS501及びS502に代わる。
CPU及びDRAMの初期化後、CPU101はNAND型フラッシュメモリ102上の「ローダープログラム」をDRAM103に書き込む(S501)。
「ローダープログラム」が書き込まれたDRAM103上の領域にジャンプし、ローダープログラムを実行し、領域2と領域3に格納されているプログラムをDRAM103上に書き込む。なおデータを読み出し時にエラーが発生した場合は、エラー訂正を行なう(S502)。
以降のステップは第1の実施形態と同じである。
このような動作にすると領域2及び領域3の読み出し時においてCPU101がNAND型フラッシュメモリ102にフェッチサイクルを発生させないため内部データレジスタの更新が528バイトごとにしか発生しないため、ローダープログラムの実行が高速になる。
(第3の実施形態)
図6に、本発明の第3の実施形態のブロック図を示す。
第1の実施形態と同じ機能モジュールは同じ番号で示している。601は命令コード格納用の命令バッファであり、NAND型フラッシュメモリ102の1ページ(512バイト)分の容量をもつメモリである。602は第1の実施形態のNANDフラッシュ制御部にこの命令バッファ601の制御機能が追加されたものである。
次にNANDフラッシュ制御部602の動作を図7のフローチャートを用いて説明する。
NANDフラッシュ制御部602はCPU101から命令フェッチアクセスを受信する(S701)と要求された命令コードが命令バッファ601に存在するかどうかを判別する(S702)。
存在するときは、命令バッファ601から要求された命令コードを読み出し、CPU100に対して返信する(S704)。
存在しないときは、NAND型フラッシュメモリ102から当該命令コードを含む1ページ分のデータを読み出し、命令バッファ601に格納する(S703)。そして命令バッファ601から要求された命令コードを読み出し、CPU101に対して返信する(S704)。
このように動作することで、CPUの命令フェッチ動作が高速になる。また、1ページ(256バイト)以内であれば、分岐命令を使用しても高速動作が維持できる。
(第4の実施形態)
図8に、本発明の第4の実施形態のブロック図を示す。
第3の実施形態と同じ機能モジュールは同じ番号で示している。801はデータ格納用のデータバッファであり、NAND型フラッシュメモリ102の1ページ(528バイト)分の容量をもつメモリである。802は第3の実施形態のNANDフラッシュ制御部602にNAND型フラッシュメモリ102から1ページ(528バイト)分のデータをDMAでデータバッファ801に転送する制御機能が追加されたものである。
NAND型フラッシュメモリ102のデータ格納領域(領域2及び領域3)はデータであるためCPU101に直接マッピングする必要はない。また直接マッピングするとNAND型フラッシュメモリ102の容量がCPU101のアドレス空間に限定されてしまう。
そこでCPU101にマッピングするのはデータバッファ801の容量分とし、NAND型フラッシュメモリ102へのデータアクセスは必ずデータバッファ801を介して行なうことで間接的にマッピングする。CPU101が直接アクセスしないNAND型フラッシュメモリ102の領域はCPUにマッピングされない。
次に本実施形態の動作を図9のフローチャートを用いて説明する。
CPU101はNANDフラッシュ制御部802内のアドレスカウントレジスタ(図示せず)に開始アドレスを設定する(S901,S902)。
CPU101はNANDフラッシュ制御部802に対してDMAページリードを起動する(S903,S904)。
NANDフラッシュ制御部802はNAND型フラッシュメモリ102より528バイトリードし、データバッファ801に格納(転送)する(S905)。
また、その間、CPU101はDMAページリードの終了を待つ(S906)。
NANDフラッシュ制御部802はDMAページリードが終了したら転送終了フラグをセットしCPU101に終了を知らせる(S907)。
CPU101はDMAページリードの終了したら、リードしたデータにデータエラーがないかをチェックし(S908)、データエラーがあった場合はデータバッファ801内でエラーを訂正する(S909)。
CPU101はデータバッファ801内のデータ本体512バイトを順次読み出しDRAM103に転送する(S910)。
このように動作することで、マッピングの問題が解決できるばかりでなく、データバッファ801からの読み出しになり、データアクセス動作の高速化が可能となる。
(第5の実施形態)
図10に、本発明の第5の実施形態のブロック図を示す。
第4の実施形態と同じ機能モジュールは同じ番号で示している。1001はデータ及び命令コード格納用のデータ命令兼用バッファであり、第3の実施形態における命令バッファ601と第4の実施形態におけるデータバッファ801の機能を切り替え可能にしたバッファである。
データ命令兼用バッファ1001の初期状態は命令バッファとして使用し、データ命令兼用バッファ1001がデータバッファに切り替えられた際は、データバッファとして使用する。
プログラムをDRAM103にコピーし、そこにジャンプしてDRAM103上のプログラムを実行中は、命令用のバッファは必要なくなる。そこで命令バッファをデータバッファに切り替えて使用することでコストの上昇を抑えることが可能となる。
(第6の実施形態)
図11に、本発明の第6の実施形態のブロック図を示す。
第4及び第5の実施形態と同じ機能モジュールは同じ番号で示している。本実施形態はデータ命令兼用バッファ1001とデータバッファ801を持つ。NAND型フラッシュメモリ102上でプログラムを実行しているときはデータ命令兼用バッファ1001を命令バッファとして使用し、DRAM103上でプログラムを実行しているときはデータ命令兼用バッファ1001をデータバッファとして使用する。要するにDRAM103上でプログラムを実行しているときはデータバッファを2個使用することとなる。NAND型フラッシュメモリ102は内部データレジスタの更新を伴うアクセスが発生した場合に非常にアクセススピードが遅くなってしまうという特徴があるため、NAND型フラッシュメモリ102からデータ転送を待っている間に別のバッファからDRAM103へのデータ転送が可能となる。
図12のフローチャートに示すように、NANDフラッシュ制御部802がDMAページリードによってNAND型フラッシュメモリ102からデータ命令兼用バッファ1001にデータ転送しているとき(S1211)はCPU101がデータバッファ801からDRAM103へのデータ転送を行い(S1201)、NANDフラッシュ制御部802がDMAページリードによってNAND型フラッシュメモリ102からデータバッファ801にデータ転送しているとき(S1212)はCPU101がデータ命令兼用バッファ1001からDRAM103へのデータ転送を行う(S1202)という動作をする。
このように動作することでコスト上昇を抑えた高速データ転送が可能となる。
以上のように、第1〜第6の実施形態において、NAND型フラッシュメモリは、書き換え回数を制限することにより領域1(ファーストブロック)のみデータエラーが発生しないことが保証されている。
ハードウェア初期化プログラム及びローダープログラムは、書き換え不可又は書き換え回数が少ないので、NAND型フラッシュメモリ102の信頼性の高い領域1に格納する。印刷装置制御プログラムは、書き換え可能又は書き換え回数が多いので、NAND型フラッシュメモリ102の信頼性の低い領域3に格納する。これにより、NOR型フラッシュメモリに比べ、安価なNAND型フラッシュメモリ102からのブートを可能にし、印刷装置のコストを下げることができる。
マイクロプロセッサ(CPU)のプログラムコードをNAND型フラッシュメモリに格納し、格納されたコードを直接フェッチすることが可能となり、印刷装置のコストを下げることができる。
本実施形態は、印刷装置100等のコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を表わすブロック図である。 本発明の第1の実施形態のNAND型フラッシュメモリの格納内容を示す図である。 本発明の第1の実施形態の動作を示すフローチャートである。 本発明の第1の実施形態のCPUのマッピング内容を示す図である。 本発明の第2の実施形態の動作を示すフローチャートである。 本発明の第3の実施形態を表わすブロック図である。 本発明の第3の実施形態の動作を示すフローチャートである。 本発明の第4の実施形態を表わすブロック図である。 本発明の第4の実施形態の動作を示すフローチャートである。 本発明の第5の実施形態を表わすブロック図である。 本発明の第6の実施形態を表わすブロック図である。 本発明の第6の実施形態の動作を示すフローチャートである。
符号の説明
101 CPU
102 NAND型フラッシュメモリ
103 DRAM
104 CPUインターフェース部
105,602,802 NANDフラッシュ制御部
106 DRAM制御部
601 命令バッファ
801 データバッファ
1001 データ命令兼用バッファ

Claims (15)

  1. データエラーが発生しない信頼性の高い第1の領域とデータエラーが発生する可能性がある信頼性の低い第2の領域とを含む不揮発性メモリと、
    揮発性メモリと、
    演算手段とを有し、
    前記不揮発性メモリの第2の領域に情報処理装置制御プログラムを格納しており、
    前記不揮発性メモリの第1の領域に、ハードウェアを初期化するためのハードウェア初期化プログラムと、前記第2の領域の情報処理装置制御プログラムを前記揮発性メモリに書き込むためのローダープログラムとを格納しており、
    前記演算手段は、前記ハードウェア初期化プログラムを実行することによりハードウェアの初期化を行い、前記ローダープログラムを実行することにより前記第2の領域に格納されている情報処理装置制御プログラムを前記揮発性メモリに書き込み、前記揮発性メモリ上に書き込まれた情報処理装置制御プログラムを実行することを特徴とする情報処理装置。
  2. 前記ローダープログラムは、データ読み込み時のデータエラーを検出し、データエラーを訂正するためのエラー訂正プログラムを含むことを特徴とする請求項1記載の情報処理装置。
  3. 前記ハードウェア初期化プログラム及び前記ローダープログラムは、分岐命令が少なくなるようにプログラミングされていることを特徴とする請求項1記載の情報処理装置。
  4. さらに、前記不揮発性メモリに、前記第2の領域の前記情報処理装置制御プログラムを書き換えるための書き換えプログラムを格納しており、
    前記演算手段は、前記書き換えプログラムを実行することにより前記第2の領域の情報処理装置制御プログラムのみ書き換え、前記第1の領域は書き換えないことを特徴とする請求項1記載の情報処理装置。
  5. 前記演算手段は、前記書き換えプログラムが前記第2の領域内の書き換えプログラム格納領域に格納されていた場合、前記書き換えプログラムを実行することにより、前記書き換えプログラム格納領域は書き換えず、前記情報処理装置制御プログラムが格納されている領域のみ書き換えることを特徴とする請求項4記載の情報処理装置。
  6. 前記ローダープログラムは、前記第1の領域から前記揮発性メモリ上に転送され、前記揮発性メモリ上で実行されることを特徴とする請求項1記載の情報処理装置。
  7. さらに、命令コード格納用の命令バッファと、
    前記演算手段から前記不揮発性メモリへのフェッチアクセスの際に、前記命令バッファ内に対象の命令コードが存在する場合は、前記命令バッファから対象の命令コードを読み出して前記演算手段に出力し、前記命令バッファ内に対象の命令コードが存在しない場合は、その命令コードを含む1ページの命令コードを前記不揮発性メモリから前記命令バッファに転送し、前記命令バッファから対象の命令コードを読み出して前記演算手段に出力する不揮発性メモリ制御手段とを有することを特徴とする請求項1記載の情報処理装置。
  8. さらに、データ格納用のデータバッファと、
    前記演算手段に指定された前記不揮発性メモリのデータを前記データバッファに転送する不揮発性メモリ制御手段とを有することを特徴とする請求項1記載の情報処理装置。
  9. さらに、データ格納用のデータバッファを有し、
    前記演算手段が直接アクセスしない前記不揮発性メモリの領域は前記演算手段にマッピングされないことを特徴とする請求項1記載の情報処理装置。
  10. さらに、データ及び命令コード格納用のデータ命令兼用バッファと、
    データ命令兼用バッファの初期状態は命令バッファとして使用し、前記演算手段から前記不揮発性メモリへのフェッチアクセスの際に、前記データ命令兼用バッファ内に対象の命令コードが存在する場合は、前記データ命令兼用バッファから対象の命令コードを読み出して前記演算手段に出力し、前記データ命令兼用バッファ内に対象の命令コードが存在しない場合は、その命令コードを含む1ページの命令コードを前記不揮発性メモリから前記データ命令兼用バッファに転送し、前記データ命令兼用バッファから対象の命令コードを読み出して前記演算手段に出力し、さらに前記データ命令兼用バッファがデータバッファに切り替えられた際は、前記演算手段に指定された前記不揮発性メモリのデータを前記データバッファに転送する不揮発性メモリ制御手段とを有することを特徴とする請求項1記載の情報処理装置。
  11. さらに、データ格納用のデータバッファと、
    データ及び命令コード格納用のデータ命令兼用バッファと、
    前記不揮発性メモリ上でプログラムが実行されているときは、前記データ命令兼用バッファを命令バッファとして使用し、前記揮発性メモリ上でプログラムが実行されているときは、前記データ命令兼用バッファをデータバッファとして使用する不揮発性メモリ制御手段とを有することを特徴とする請求項1記載の情報処理装置。
  12. 前記不揮発性メモリは、NAND型フラッシュメモリ又はAND型フラッシュメモリであることを特徴とする請求項1記載の情報処理装置。
  13. 前記ハードウェア初期化プログラムは、前記揮発性メモリ又は前記演算手段の初期化を行なうためのプログラムであることを特徴とする請求項1記載の情報処理装置。
  14. 前記揮発性メモリは、DRAMであることを特徴とする請求項1記載の情報処理装置。
  15. データエラーが発生しない信頼性の高い第1の領域とデータエラーが発生する可能性がある信頼性の低い第2の領域とを含む不揮発性メモリと、揮発性メモリとを有し、前記不揮発性メモリの第2の領域に情報処理装置制御プログラムを格納し、前記不揮発性メモリの第1の領域に、ハードウェアを初期化するためのハードウェア初期化プログラムと、前記第2の領域の情報処理装置制御プログラムを前記揮発性メモリに書き込むためのローダープログラムとを格納する情報処理装置の情報処理方法であって、
    前記ハードウェア初期化プログラムを実行することによりハードウェアの初期化を行うステップと、
    前記ローダープログラムを実行することにより前記第2の領域に格納されている情報処理装置制御プログラムを前記揮発性メモリに書き込むステップと、
    前記揮発性メモリ上に書き込まれた情報処理装置制御プログラムを実行するステップと
    を有することを特徴とする情報処理方法。
JP2004012121A 2004-01-20 2004-01-20 情報処理装置及び情報処理方法 Expired - Fee Related JP4745613B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004012121A JP4745613B2 (ja) 2004-01-20 2004-01-20 情報処理装置及び情報処理方法
US11/035,084 US7398425B2 (en) 2004-01-20 2005-01-13 Information processing apparatus including NAND flash memory, and information processing method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004012121A JP4745613B2 (ja) 2004-01-20 2004-01-20 情報処理装置及び情報処理方法

Publications (3)

Publication Number Publication Date
JP2005208747A true JP2005208747A (ja) 2005-08-04
JP2005208747A5 JP2005208747A5 (ja) 2007-03-08
JP4745613B2 JP4745613B2 (ja) 2011-08-10

Family

ID=34747314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004012121A Expired - Fee Related JP4745613B2 (ja) 2004-01-20 2004-01-20 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US7398425B2 (ja)
JP (1) JP4745613B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065434A (ja) * 2006-09-05 2008-03-21 Matsushita Electric Ind Co Ltd プログラム起動制御装置
JP2009506390A (ja) * 2005-03-24 2009-02-12 サンディスク アイエル リミテッド スマートカード上の内部アプリケーションのローディング
JP2009533770A (ja) * 2006-04-10 2009-09-17 アップル インコーポレイテッド Nandフラッシュメモリを用いた直接ブート構成
JP2010134741A (ja) * 2008-12-05 2010-06-17 Internatl Business Mach Corp <Ibm> プログラムを実行する方法およびシステム
JP2017084208A (ja) * 2015-10-30 2017-05-18 Necプラットフォームズ株式会社 情報処理装置、情報処理装置起動方法、及び情報処理装置起動プログラム
JP2018063646A (ja) * 2016-10-14 2018-04-19 Necプラットフォームズ株式会社 フラッシュメモリ装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200524073A (en) * 2003-11-13 2005-07-16 Applied Materials Inc Kinematic pin with shear member and substrate carrier for use therewith
KR100667822B1 (ko) * 2005-10-10 2007-01-11 삼성전자주식회사 낸드 플래시 메모리를 이용한 화상형성장치의 초기화제어장치 및 방법
GB2455106B (en) * 2007-11-28 2012-08-01 Icera Inc Memory errors
JP2009157632A (ja) * 2007-12-26 2009-07-16 Toshiba Corp 情報処理装置
US9472270B2 (en) * 2014-10-24 2016-10-18 Sandisk Technologies Llc Nonvolatile storage reflow detection
TWI616819B (zh) * 2017-02-06 2018-03-01 晨星半導體股份有限公司 用於電視的軟體更新方法及相關的電路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001089942A (ja) * 1999-09-21 2001-04-03 Murata Mach Ltd 繊維機械の運転制御装置
JP2001249813A (ja) * 2000-03-03 2001-09-14 Nec Ibaraki Ltd 情報処理装置
JP2002091831A (ja) * 2000-09-12 2002-03-29 Hitachi Ltd データ処理システム及びデータ処理方法
JP2002312232A (ja) * 2001-04-10 2002-10-25 Mitsubishi Electric Corp 半導体記憶装置
JP2003288215A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp 情報処理装置
JP2004538571A (ja) * 2001-08-06 2004-12-24 サンディスク コーポレイション アプリケーションおよびファイル用不揮発性記憶装置からブートを行うシステムおよび方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01183729A (ja) * 1988-01-18 1989-07-21 Citizen Watch Co Ltd メモリの自動初期化機能を備えたプリンタ
US5155844A (en) * 1990-02-14 1992-10-13 International Business Machines Corporation Background memory test during system start up
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US6438687B2 (en) * 1997-10-30 2002-08-20 Micron Technology, Inc. Method and apparatus for improved storage of computer system configuration information
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US7058779B1 (en) * 2001-03-05 2006-06-06 Advanced Micro Devices, Inc. Computer system initialization via boot code stored in a non-volatile memory having an interface compatible with synchronous dynamic random access memory
US20050262337A1 (en) * 2004-05-24 2005-11-24 Siemens Vdo Automotive Corporation Method and device for determining flash software compatibility with hardware
US8010734B2 (en) * 2004-06-04 2011-08-30 Broadcom Corporation Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
US7490177B2 (en) * 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001089942A (ja) * 1999-09-21 2001-04-03 Murata Mach Ltd 繊維機械の運転制御装置
JP2001249813A (ja) * 2000-03-03 2001-09-14 Nec Ibaraki Ltd 情報処理装置
JP2002091831A (ja) * 2000-09-12 2002-03-29 Hitachi Ltd データ処理システム及びデータ処理方法
JP2002312232A (ja) * 2001-04-10 2002-10-25 Mitsubishi Electric Corp 半導体記憶装置
JP2004538571A (ja) * 2001-08-06 2004-12-24 サンディスク コーポレイション アプリケーションおよびファイル用不揮発性記憶装置からブートを行うシステムおよび方法
JP2003288215A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp 情報処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009506390A (ja) * 2005-03-24 2009-02-12 サンディスク アイエル リミテッド スマートカード上の内部アプリケーションのローディング
JP2009533770A (ja) * 2006-04-10 2009-09-17 アップル インコーポレイテッド Nandフラッシュメモリを用いた直接ブート構成
US9122493B2 (en) 2006-04-10 2015-09-01 Apple Inc. Retrieving boot instructions from nonvolatile memory
JP2008065434A (ja) * 2006-09-05 2008-03-21 Matsushita Electric Ind Co Ltd プログラム起動制御装置
JP2010134741A (ja) * 2008-12-05 2010-06-17 Internatl Business Mach Corp <Ibm> プログラムを実行する方法およびシステム
JP2017084208A (ja) * 2015-10-30 2017-05-18 Necプラットフォームズ株式会社 情報処理装置、情報処理装置起動方法、及び情報処理装置起動プログラム
JP2018063646A (ja) * 2016-10-14 2018-04-19 Necプラットフォームズ株式会社 フラッシュメモリ装置

Also Published As

Publication number Publication date
US20050157554A1 (en) 2005-07-21
JP4745613B2 (ja) 2011-08-10
US7398425B2 (en) 2008-07-08

Similar Documents

Publication Publication Date Title
US7398425B2 (en) Information processing apparatus including NAND flash memory, and information processing method for the same
KR100526879B1 (ko) 플래쉬 파일 시스템
TWI261254B (en) Memory card and semiconductor device
JP5232018B2 (ja) エラー処理方法およびエラー処理装置
US7234049B2 (en) Computer system with NAND flash memory for booting and storage
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP4628750B2 (ja) バッファメモリを内蔵したフラッシュメモリ装置及びフラッシュメモリシステム
KR101562973B1 (ko) 메모리 장치 및 메모리 장치의 동작 방법
JP2008176785A (ja) ハイブリッドハードディスクドライブ、ハイブリッドハードディスクドライブを内蔵するコンピュータシステム、そしてハイブリッドハードディスクドライブのフラッシュメモリdma回路
JPWO2004031966A1 (ja) 不揮発性記憶装置の制御方法
JP2011253251A (ja) データ記憶装置及びデータ書き込み方法
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
JP5914148B2 (ja) Ssd(ソリッドステートドライブ)装置
JP2008016020A (ja) Biosの実行を加速化する方法
JP2008134736A (ja) 電子機器
KR101594029B1 (ko) 데이터 조작 방법 및 그 방법을 이용하는 시스템 장치
US8555050B2 (en) Apparatus and method thereof for reliable booting from NAND flash memory
US6680870B2 (en) Memory device, data processing method and data processing program
JP2005157528A (ja) メモリ装置
JPS593642A (ja) 制御レジスタ処理方式
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8312216B2 (en) Data processing apparatus and data processing method
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP2007299249A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110325

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110330

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: 20110510

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: 20110512

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

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4745613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees