JP2005157528A - メモリ装置 - Google Patents
メモリ装置 Download PDFInfo
- Publication number
- JP2005157528A JP2005157528A JP2003392000A JP2003392000A JP2005157528A JP 2005157528 A JP2005157528 A JP 2005157528A JP 2003392000 A JP2003392000 A JP 2003392000A JP 2003392000 A JP2003392000 A JP 2003392000A JP 2005157528 A JP2005157528 A JP 2005157528A
- Authority
- JP
- Japan
- Prior art keywords
- program
- flash memory
- nand flash
- memory
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】 プログラムを書き換え可能なメモリ装置のコストを抑制する。
【解決手段】 ブートプログラムはブートROM1に記憶され、ブートプログラム以外のメインプログラムはNAND型フラッシュメモリ2に記憶されている。CPU5は、起動時には、ブートROM1からブートプログラムを読み出しブートROM1上で実行する。そして、CPU5は、NAND型フラッシュメモリ2のメインプログラムをメインRAM4に展開して実行する。
【選択図】 図1
【解決手段】 ブートプログラムはブートROM1に記憶され、ブートプログラム以外のメインプログラムはNAND型フラッシュメモリ2に記憶されている。CPU5は、起動時には、ブートROM1からブートプログラムを読み出しブートROM1上で実行する。そして、CPU5は、NAND型フラッシュメモリ2のメインプログラムをメインRAM4に展開して実行する。
【選択図】 図1
Description
本発明は、メモリ装置に係り、特にプログラムデータをフラッシュメモリに記憶したメモリ装置に関する。
パソコン、プリンタ、ファクシミリ装置、複写機等のデータ処理装置は、そのほとんどが基本構成として、演算処理ユニット(CPU)、不揮発性メモリであるROM、揮発性メモリであるRAMを備えている。ROMは、電源をオフにしてもデータを消去しない特徴を有している。このため、データ処理装置を動作させるためのメインプログラムは、一般にROMに記憶されている。そして、CPUは、電源がオンになると、ROMに内蔵されたプログラムに従ってブートし、所定の処理を実行する。
一方、データ処理装置は、高機能化への要求に応じてデジタル化・ソフトウェアの肥大化が進み、これに伴ってプログラムの複雑化・容量の増大も進んでいる。そして、プログラムの機能を追加のために、プログラムをアップグレード可能にする要求も強い。さらに、データ処理の高速化も必要である。
これらの要請を満たすべく、プログラム実行速度の高速化のために、ROM上のプログラムを高速アクセスが可能であるRAM上に展開してから実行することが行われている。さらに、プログラムのアップグレードを可能にするために、ROMとしてフラッシュメモリを使用する発明が提案されている(例えば、特許文献1を参照。)。
特許文献1には、MPUがシステムブート時にアクセス可能な複数のブートデバイスと、MPUのブート時にアクセス可能な複数のデバイスの内の1つを選択指定する選択手段と、が記載されている。
特開2002−140205号公報
ここで、最初のブート時には、ROM(ブートデバイス)上でプログラムを実行する必要がある。このため、特許文献1に記載された選択手段は、ランダムアクセスできるブートデバイスとして、NOR型フラッシュメモリを選択指定しなければならない。
しかし、NOR型フラッシュメモリは、シーケンシャルアクセスのNAND型フラッシュに比べて、コストが高い。このため、プログラムの複雑化・大容量化に応じてNOR型フラッシュメモリの容量を大きくすると、コストが非常に高くなってしまう問題があった。
本発明は、上述した課題を解決するために提案されたものであり、コストを抑制しつつプログラムを書き換えることができるメモリ装置を提供することを目的とする。
請求項1に記載の発明であるメモリ装置は、ブートプログラムを記憶したランダムアクセス可能な不揮発性メモリと、プログラムデータを記憶したNAND型フラッシュメモリと、データを記憶する揮発性メモリと、起動時に前記不揮発性メモリに記憶されたブートプログラムを実行し、前記NAND型フラッシュメモリのプログラムデータが前記揮発性メモリに転送された後に、前記揮発性メモリにおいて前記プログラムデータを実行する実行手段と、を備えている。
不揮発性メモリは、ランダムアクセス可能に構成されており、ブートプログラムを記憶している。NAND型フラッシュメモリには、ブートプログラムは記憶されてなく、プログラムデータが記憶されている。実行手段は、例えば電源オン時やリセット時などの起動時では、前記不揮発性メモリ上においてブートプログラムを実行する。そして、実行手段は、NAND型フラッシュメモリのプログラムデータが揮発性メモリに転送された後に、当該揮発性メモリにおいてプログラムデータを実行する。この結果、NOR型フラッシュメモリを使用しないで済むのでコストを抑制することができ、またプログラムの実行速度の高速化を図ることができる。
請求項2に記載の発明であるメモリ装置は、請求項1に記載の発明であって、前記NAND型フラッシュメモリは、圧縮されたプログラムデータを記憶し、前記実行手段は、前記揮発性メモリにおいて、前記圧縮されたプログラムデータを伸長し、伸長済みのプログラムデータを実行することを特徴とする。
したがって、請求項2に記載の発明によれば、NAND型フラッシュメモリの容量を節約して、様々なプログラムデータを記憶することができる。
請求項3に記載の発明であるメモリ装置は、請求項1または請求項2に記載の発明であって、前記NAND型フラッシュメモリに記憶されたプログラムデータを前記揮発性メモリに転送するデータ転送制御手段を更に備えたことを特徴とする。
したがって、請求項3に記載の発明によれば、NAND型フラッシュメモリから揮発性メモリへのプログラムデータの転送を高速に行うことができる。
請求項4に記載の発明であるメモリ装置は、請求項1から請求項3のいずれか1項に記載の発明であって、プログラムデータのエラーを訂正するエラー訂正手段を更に備え、前記実行手段は、プログラムデータの書き換え時では、前記エラー訂正手段により訂正されたプログラムデータを前記NAND型フラッシュメモリに書き込むことを特徴とする。
したがって、請求項4に記載の発明によれば、NAND型フラッシュメモリにエラーのないプログラムデータを確実に書き込むことができる。
本発明に係るメモリ装置は、起動時に不揮発性メモリに記憶されたブートプログラムを実行し、NAND型フラッシュメモリのプログラムデータが不揮発性メモリに転送された後に、不揮発性メモリにおいてプログラムデータを実行することにより、コストを抑制しつつ、プログラムの実行速度の高速化を図ることができる。
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
図1は、本発明の実施形態に係るメモリ装置の構成を示すブロック図である。本発明の実施形態に係るメモリ装置は、ブート時のプログラム(ブートプログラム)を記憶するブートROM1と、メインプログラムを記憶するNAND型フラッシュメモリ2と、NAND型フラッシュメモリ2の異常ブロックを管理するためのデータを記憶するシリアルEEPROM3と、主記憶部であるメインRAM4と、プログラムを実行するCPU5とを備えている。
ブートROM1は、ランダムアクセス可能である。また、ブートROM1は、電源オンの時又はリセット時に、起動のために必要なブートプログラムを記憶している。
NAND型フラッシュメモリ2は、所定の処理を行うメインプログラムを記憶している。ここで、NAND型フラッシュメモリ2は、データの書き込みや消去の速度が速く大容量化に適している。しかし、NAND型フラッシュメモリ2は、ページ単位でデータを書き込み、ブロック単位(例えば16ページ単位や32ページ単位)でデータを消去するようになっているため、ランダムアクセスが遅いという欠点がある。
そのため、NAND型フラッシュメモリ2には、ブートプログラムは記憶されていない。すなわち、ブートプログラムはブートROM1に記憶され、ブートプログラム以外のメインプログラムがNAND型フラッシュメモリ2に記憶されている。
シリアルEEPROM3は、NAND型フラッシュメモリ2のデータの読み出し/書き込みの単位であるブロックが正常か異常かを管理するためのデータを記憶している。すなわち、NAND型フラッシュメモリ2に異常ブロックが発生すると、シリアルEEPROM3にはその異常ブロックが登録される。
メインRAM4は、揮発性メモリである。CPU5は、プログラム実行時では、メインRAM4にNAND型フラッシュメモリ2に記憶されたメインプログラムを展開して、実行アドレスをNAND型フラッシュメモリ2からメインRAM4に移すことができる。また、CPU5は、プログラム書き換え時では、プログラムデータのエラー訂正を行ってからNAND型フラッシュメモリ2にそのプログラムを書き込んでいる。
以上のように構成されたメモリ装置のCPU5は、電源オン時又はリセット時では、次の手順に従って、プログラム書き換え処理又はプログラム実行処理を行う。
図2は、メモリ装置に備えられたCPU5の動作手順を示すフローチャートである。CPU5は、電源オン又はリセットを検出すると、次のステップST1に移行して、所定の処理を実行する。
ステップST1では、CPU5は、モードを判定し、メインプログラム書き換えモードのときはステップST2に移行し、メインプログラム実行モードのときは図3に示すステップST11に移行する。
ステップST2では、CPU5は、ブートROM1からブートプログラムを読み出し、このブートプログラムに基づいて所定の起動処理を実行して、ステップST3に移行する。ステップST3では、CPU5は、図示しない外部インタフェース、データバス10を介して書き換え用のメインプログラムを入力して、ステップST4に移行する。
ステップST4では、CPU5は、NAND型フラッシュメモリ2に対して書き換えデータをページ単位で書き込んでステップST5に移行する。ステップST5では、CPU5は、NAND型フラッシュメモリ2へのデータ書き込み時にエラーがあるかを判定し、エラーがあるときはステップST6に移行し、エラーがないときはステップST10に移行する。
ステップST6では、CPU5は、エラー訂正可能であるかを判定し、エラー訂正可能であるときはステップST7に移行し、エラー不可能であるときはステップST8に移行する。ステップST7では、CPU5は、書き換えデータのエラー訂正を行って、ステップST4に戻る。これにより、NAND型フラッシュメモリ2には、エラー訂正済みの書き換えデータ(メインプログラム)が書き込まれる。
ステップST8では、CPU5は、NAND型フラッシュメモリ2に書き込みができなかったページを含んだブロックを、異常ブロックとしてシリアルEEPROM3に登録して、ステップST9に移行する。これにより、NAND型フラッシュメモリ2の異常ブロックを使用しないようにする。ステップST9では、CPU5は、書き込みデータのカウンタを前ブロックまで戻して、ステップST4に戻る。
ステップST10では、CPU5は、書き換えデータの書き込みが終了したかを判定し、終了したときは処理を終了し、終了していないときは再びステップST4に戻る。以上のような処理を経て、CPU5は、NAND型フラッシュメモリ2のメインプログラムを書き換えることができる。
図3は、プログラム実行モード時のCPU5の動作手順を示すフローチャートである。CPU5は、ステップST1でメインプログラム実行モードと判定したときは次のステップST11に移行する。
ステップST11では、CPU5は、ブートROM1からブートプログラムを読み出し、このブートプログラムに基づいて所定の起動処理を実行して、ステップST12に移行する。
ステップST12では、CPU5は、NAND型フラッシュメモリ2に記憶されたメインプログラムをメインRAM4にコピー(転送)することで、プログラムカウンタをNAND型フラッシュメモリ2に移動して、ステップST13に移行する。
ステップST13では、CPU5は、NAND型フラッシュメモリ2にコピーされた圧縮済みのメインプログラムを伸長して、ステップST14に移行する。なお、NAND型フラッシュメモリ2に記憶されているメインプログラムが圧縮されていない場合は、ステップST13の処理は省略して、ステップST14に移行する。そして、ステップST14では、CPU5は、NAND型フラッシュメモリ2上でメインプログラムを実行して、処理を終了する。
これにより、CPU5は、起動時にはブートROM1上でブートプログラムを実行した後、NAND型フラッシュメモリ2からメインプログラムを読み出して所定の処理を実行することができる。
以上のように、本実施形態に係るメモリ装置は、ブートプログラムをブートROM1に記憶し、メインプログラムをNAND型フラッシュメモリ2に記憶することによって、起動時にブートROM1上でブートプログラムを実行することができ、さらに、NAND型フラッシュメモリ2に記憶されたメインプログラムを実行することができる。
すなわち、メモリ装置は、NAND型フラッシュメモリ2にメインプログラムを記憶したとしても、別途設けられたブートROM1にブートプログラムを記憶しているので、確実に起動して、メインプログラムを実行することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。例えば、本発明は次のように構成されたものにも適用可能である。
図4は、本発明の他の実施形態に係るメモリ装置の構成を示すブロック図である。すなわち、このメモリ装置は、図1に示す構成に加えて、さらに、メインプログラムをNAND型フラッシュメモリ2からメインRAM4に転送するDMA(Direct Memory Access)制御回路6と、書き込みデータのエラー訂正制御を行うECC(Error Check and Correct)制御回路7と、を備えている。
DMA制御回路6は、CPU5を介さず、NAND型フラッシュメモリ2に記憶されたメインプログラムを直接メインRAM4に転送する。ECC制御回路7は、書き換えデータのエラーを検出して、そのエラーを訂正する。
以上のように構成されたメモリ装置は、DMA制御回路6を備えることによって、NAND型フラッシュメモリ2からメインRAM4にメインプログラムをコピーするときの転送速度の高速化を図ることができる。また、上記メモリ装置は、ECC制御回路7を備えることによって、メインプログラム書き換え時のエラー訂正制御の高速化を図ることができる。
1 ブートROM
2 NAND型フラッシュメモリ
3 シリアルEEPROM
4 メインRAM
5 CPU
6 DMA制御回路
7 ECC制御回路
2 NAND型フラッシュメモリ
3 シリアルEEPROM
4 メインRAM
5 CPU
6 DMA制御回路
7 ECC制御回路
Claims (4)
- ブートプログラムを記憶したランダムアクセス可能な不揮発性メモリと、
プログラムデータを記憶したNAND型フラッシュメモリと、
データを記憶する揮発性メモリと、
起動時に前記不揮発性メモリに記憶されたブートプログラムを実行し、前記NAND型フラッシュメモリのプログラムデータが前記揮発性メモリに転送された後に、前記揮発性メモリにおいて前記プログラムデータを実行する実行手段と、
を備えたメモリ装置。 - 前記NAND型フラッシュメモリは、圧縮されたプログラムデータを記憶し、
前記実行手段は、前記揮発性メモリにおいて、前記圧縮されたプログラムデータを伸長し、伸長済みのプログラムデータを実行すること
を特徴とする請求項1に記載のメモリ装置。 - 前記NAND型フラッシュメモリに記憶されたプログラムデータを前記揮発性メモリに転送するデータ転送制御手段を更に備えたこと
を特徴とする請求項1または請求項2に記載のメモリ装置。 - プログラムデータのエラーを訂正するエラー訂正手段を更に備え、
前記実行手段は、プログラムデータの書き換え時では、前記エラー訂正手段により訂正されたプログラムデータを前記NAND型フラッシュメモリに書き込むこと
を特徴とする請求項1から請求項3のいずれか1項に記載のメモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003392000A JP2005157528A (ja) | 2003-11-21 | 2003-11-21 | メモリ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003392000A JP2005157528A (ja) | 2003-11-21 | 2003-11-21 | メモリ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005157528A true JP2005157528A (ja) | 2005-06-16 |
Family
ID=34718848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003392000A Withdrawn JP2005157528A (ja) | 2003-11-21 | 2003-11-21 | メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005157528A (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007079269A (ja) * | 2005-09-15 | 2007-03-29 | Ricoh Co Ltd | 画像形成装置、プログラム、記録媒体 |
JP2007183961A (ja) * | 2005-12-28 | 2007-07-19 | Silicon Storage Technology Inc | ハードディスクドライブキャッシュメモリ及び再生デバイス |
JP2011501321A (ja) * | 2007-10-26 | 2011-01-06 | クゥアルコム・インコーポレイテッド | 無線デバイスのためのプログレッシブブート |
JP2011011076A (ja) * | 2010-09-29 | 2011-01-20 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011011073A (ja) * | 2010-09-29 | 2011-01-20 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011011075A (ja) * | 2010-09-29 | 2011-01-20 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011024995A (ja) * | 2009-06-30 | 2011-02-10 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011024994A (ja) * | 2009-06-30 | 2011-02-10 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011024992A (ja) * | 2009-06-30 | 2011-02-10 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
US8291226B2 (en) | 2006-02-10 | 2012-10-16 | Qualcomm Incorporated | Method and apparatus for securely booting from an external storage device |
JP2014223510A (ja) * | 2014-07-24 | 2014-12-04 | 株式会社三洋物産 | 遊技機 |
JP2015006354A (ja) * | 2009-06-30 | 2015-01-15 | 株式会社三洋物産 | 遊技機 |
JP2015016321A (ja) * | 2014-07-01 | 2015-01-29 | 株式会社三洋物産 | スロットマシン及び遊技機 |
JP2015062797A (ja) * | 2015-01-14 | 2015-04-09 | 株式会社三洋物産 | スロットマシン及び遊技機 |
JP2015062805A (ja) * | 2015-01-14 | 2015-04-09 | 株式会社三洋物産 | 遊技機 |
-
2003
- 2003-11-21 JP JP2003392000A patent/JP2005157528A/ja not_active Withdrawn
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007079269A (ja) * | 2005-09-15 | 2007-03-29 | Ricoh Co Ltd | 画像形成装置、プログラム、記録媒体 |
JP2007183961A (ja) * | 2005-12-28 | 2007-07-19 | Silicon Storage Technology Inc | ハードディスクドライブキャッシュメモリ及び再生デバイス |
US8291226B2 (en) | 2006-02-10 | 2012-10-16 | Qualcomm Incorporated | Method and apparatus for securely booting from an external storage device |
JP2011501321A (ja) * | 2007-10-26 | 2011-01-06 | クゥアルコム・インコーポレイテッド | 無線デバイスのためのプログレッシブブート |
US8683213B2 (en) | 2007-10-26 | 2014-03-25 | Qualcomm Incorporated | Progressive boot for a wireless device |
JP2015006354A (ja) * | 2009-06-30 | 2015-01-15 | 株式会社三洋物産 | 遊技機 |
JP2015062804A (ja) * | 2009-06-30 | 2015-04-09 | 株式会社三洋物産 | 遊技機 |
JP2015062796A (ja) * | 2009-06-30 | 2015-04-09 | 株式会社三洋物産 | 遊技機 |
JP2011024995A (ja) * | 2009-06-30 | 2011-02-10 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011024994A (ja) * | 2009-06-30 | 2011-02-10 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011024992A (ja) * | 2009-06-30 | 2011-02-10 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2014223508A (ja) * | 2009-06-30 | 2014-12-04 | 株式会社三洋物産 | 遊技機 |
JP2011011073A (ja) * | 2010-09-29 | 2011-01-20 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011011075A (ja) * | 2010-09-29 | 2011-01-20 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2011011076A (ja) * | 2010-09-29 | 2011-01-20 | Sanyo Product Co Ltd | スロットマシン及び遊技機 |
JP2015016321A (ja) * | 2014-07-01 | 2015-01-29 | 株式会社三洋物産 | スロットマシン及び遊技機 |
JP2014223510A (ja) * | 2014-07-24 | 2014-12-04 | 株式会社三洋物産 | 遊技機 |
JP2015062797A (ja) * | 2015-01-14 | 2015-04-09 | 株式会社三洋物産 | スロットマシン及び遊技機 |
JP2015062805A (ja) * | 2015-01-14 | 2015-04-09 | 株式会社三洋物産 | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7664923B2 (en) | Method and system for updating software | |
JP4245585B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US7398425B2 (en) | Information processing apparatus including NAND flash memory, and information processing method for the same | |
JP5783809B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP2005157528A (ja) | メモリ装置 | |
JP2005190201A (ja) | 情報処理装置および該装置用のromイメージ生成装置 | |
KR20070060101A (ko) | 무선 단말기에서의 비휘발성 메모리 관리 시스템 및 방법 | |
JP2008097105A (ja) | 記憶装置及び起動方法 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
US20120017071A1 (en) | Apparatus and Method Thereof for Reliable Booting from NAND Flash Memory | |
JP2005071303A (ja) | プログラム起動装置 | |
JP3830867B2 (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JP2008158991A (ja) | Nand型フラッシュメモリの制御システム | |
JP2007034581A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP5754264B2 (ja) | プログラム実行装置、画像処理装置およびプログラム | |
JP5970867B2 (ja) | 情報処理装置、画像形成装置およびプログラム | |
JP2011164827A (ja) | フラッシュメモリを備えた電子機器およびフラッシュメモリに格納されたプログラムの更新方法 | |
JP2010146142A (ja) | 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム | |
JP2005258642A (ja) | 組込型情報処理装置 | |
JP2013004042A (ja) | 情報処理装置、画像形成装置およびプログラム | |
JP4235624B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006155391A (ja) | 画像形成装置 | |
JP5195690B2 (ja) | 情報処理装置、該装置用のromイメージ生成装置、および転送装置 | |
JP2013004043A (ja) | 情報処理装置、画像形成装置およびプログラム | |
JP2005258967A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061020 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080918 |