JP2001027953A - 半導体記憶装置 - Google Patents
半導体記憶装置Info
- Publication number
- JP2001027953A JP2001027953A JP11201617A JP20161799A JP2001027953A JP 2001027953 A JP2001027953 A JP 2001027953A JP 11201617 A JP11201617 A JP 11201617A JP 20161799 A JP20161799 A JP 20161799A JP 2001027953 A JP2001027953 A JP 2001027953A
- Authority
- JP
- Japan
- Prior art keywords
- ram
- flash memory
- storage area
- stored
- program codes
- 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.)
- Pending
Links
- 239000004065 semiconductor Substances 0.000 title claims description 25
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000012937 correction Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 abstract description 43
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical group C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 3
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 3
- 241000726103 Atta Species 0.000 description 1
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 一定のサイズのRAMをファームウエア格納
用メモリとして採用しつつも、そのサイズを超えるファ
ームウエアを搭載することができる外部記憶装置を提供
する。 【解決手段】 フラッシュメモリ群はブロック単位でア
クセス可能なので、異なる処理ルーチンに対応した複数
のプログラムコードは個別にアクセス可能となる。そし
てRAMは動的ロードエリアである第1の格納領域91
を有しており、第1の格納領域91にはフラッシュメモ
リ群にブロック毎に格納されていたプログラムコードが
排他的にロードされる。従って異なる処理ルーチンに対
応した複数のプログラムコードを第1の格納領域91へ
と排他的にロードするので、RAMに要求されるサイズ
が小さくて済む。これらのファームウエアは、フラッシ
ュメモリ群が書き換え可能であるので、その修正やバー
ジョンアップが可能である。この場合にRAMに要求さ
れるサイズが増大することもない。
用メモリとして採用しつつも、そのサイズを超えるファ
ームウエアを搭載することができる外部記憶装置を提供
する。 【解決手段】 フラッシュメモリ群はブロック単位でア
クセス可能なので、異なる処理ルーチンに対応した複数
のプログラムコードは個別にアクセス可能となる。そし
てRAMは動的ロードエリアである第1の格納領域91
を有しており、第1の格納領域91にはフラッシュメモ
リ群にブロック毎に格納されていたプログラムコードが
排他的にロードされる。従って異なる処理ルーチンに対
応した複数のプログラムコードを第1の格納領域91へ
と排他的にロードするので、RAMに要求されるサイズ
が小さくて済む。これらのファームウエアは、フラッシ
ュメモリ群が書き換え可能であるので、その修正やバー
ジョンアップが可能である。この場合にRAMに要求さ
れるサイズが増大することもない。
Description
【0001】
【発明の属する技術分野】この発明は、半導体記憶装置
に関し、例えばフラッシュメモリを用いた半導体ディス
ク装置、フラッシュATAカードに関する。
に関し、例えばフラッシュメモリを用いた半導体ディス
ク装置、フラッシュATAカードに関する。
【0002】
【従来の技術】従来からコンピュータの外部記憶装置と
して、半導体ディスク装置やフラッシュATA(AT atta
chment)カード等が提案されている。これらは、データ
蓄積用の大容量フラッシュメモリとそれらを制御するた
めのコントローラとを備えている。
して、半導体ディスク装置やフラッシュATA(AT atta
chment)カード等が提案されている。これらは、データ
蓄積用の大容量フラッシュメモリとそれらを制御するた
めのコントローラとを備えている。
【0003】コントローラはCPU(central processi
ng unit)、ファームウエアであるプログラムを格納す
るためのファームウエア格納用メモリを備えている。フ
ァームウエア格納用メモリとして、ROM(read-only
memory)を採用したならば、ファームウエアの修正やバ
ージョンをアップする度にROMを焼き直す必要があ
り、容易にファームウエアの修正を行えない欠点があ
る。そのため、フラッシュメモリの一部に予めファーム
ウエアを格納しておき、電源投入時にこれらをRAM(r
andom access memory)にロードし、そしてRAMにロー
ドされたプログラムを実行するという、ファームウエア
格納用メモリとしてRAMを採用する手法が提案されて
いる。
ng unit)、ファームウエアであるプログラムを格納す
るためのファームウエア格納用メモリを備えている。フ
ァームウエア格納用メモリとして、ROM(read-only
memory)を採用したならば、ファームウエアの修正やバ
ージョンをアップする度にROMを焼き直す必要があ
り、容易にファームウエアの修正を行えない欠点があ
る。そのため、フラッシュメモリの一部に予めファーム
ウエアを格納しておき、電源投入時にこれらをRAM(r
andom access memory)にロードし、そしてRAMにロー
ドされたプログラムを実行するという、ファームウエア
格納用メモリとしてRAMを採用する手法が提案されて
いる。
【0004】図4は上記の方法を採用した場合のRAM
マップとフラッシュメモリマップとの関係を示した概念
図である。フラッシュメモリマップに示されるようにし
てフラッシュメモリに格納されていたファームウエア
は、電源投入時にRAMマップに示されるようにRAM
へロードされる。このような方法ではフラッシュメモリ
に格納するファームウエアを書き換えることで、容易に
ファームウエアの修正やバージョンアップを行えるとい
うメリットがある。
マップとフラッシュメモリマップとの関係を示した概念
図である。フラッシュメモリマップに示されるようにし
てフラッシュメモリに格納されていたファームウエア
は、電源投入時にRAMマップに示されるようにRAM
へロードされる。このような方法ではフラッシュメモリ
に格納するファームウエアを書き換えることで、容易に
ファームウエアの修正やバージョンアップを行えるとい
うメリットがある。
【0005】
【発明が解決しようとする課題】しかし、上記の方法を
採用する場合には、RAMの容量としてはファームウエ
アを格納するだけの十分なサイズを予め用意しておかな
ければならない。もしファームウエアの修正や機能追加
などによってプログラムサイズが膨張し、予め用意され
ていた容量のRAMに入りきれない場合は、その修正し
たファームウエアをこの外部記憶装置に搭載することが
できない。しかしRAMのサイズはコストに影響するの
で可能な限り小さくしたいという要求がある。
採用する場合には、RAMの容量としてはファームウエ
アを格納するだけの十分なサイズを予め用意しておかな
ければならない。もしファームウエアの修正や機能追加
などによってプログラムサイズが膨張し、予め用意され
ていた容量のRAMに入りきれない場合は、その修正し
たファームウエアをこの外部記憶装置に搭載することが
できない。しかしRAMのサイズはコストに影響するの
で可能な限り小さくしたいという要求がある。
【0006】本発明は上記の背景のもとでなされたもの
で、一定のサイズのRAMをファームウエア格納用メモ
リとして採用しつつも、そのサイズを超えるファームウ
エアを搭載することができる外部記憶装置を提供し、以
て低価格化、高機能のファームウエアの修正も容易なシ
ステムを実現することに資することを目的としている。
で、一定のサイズのRAMをファームウエア格納用メモ
リとして採用しつつも、そのサイズを超えるファームウ
エアを搭載することができる外部記憶装置を提供し、以
て低価格化、高機能のファームウエアの修正も容易なシ
ステムを実現することに資することを目的としている。
【0007】なお複数のプログラムコードを選択的にロ
ードする技術が例えば特開平1−121933号公報に
おいて開示されている。
ードする技術が例えば特開平1−121933号公報に
おいて開示されている。
【0008】
【課題を解決するための手段】この発明のうち請求項1
にかかるものは、各々異なる処理に対応した複数のプロ
グラムコードが個別に格納され、書き換え可能で個別に
アクセス可能な複数のブロックを有する不揮発性半導体
記憶部と、前記複数のプログラムコードが互いに排他的
に格納される第1の格納領域を有するRAMと、前記R
AMと前記不揮発性半導体記憶部の間に介在し、前記複
数のプログラムコードの一つに対して誤り訂正処理を行
いつつ前記RAMへと転送する誤り訂正処理部とを備え
る半導体記憶装置である。
にかかるものは、各々異なる処理に対応した複数のプロ
グラムコードが個別に格納され、書き換え可能で個別に
アクセス可能な複数のブロックを有する不揮発性半導体
記憶部と、前記複数のプログラムコードが互いに排他的
に格納される第1の格納領域を有するRAMと、前記R
AMと前記不揮発性半導体記憶部の間に介在し、前記複
数のプログラムコードの一つに対して誤り訂正処理を行
いつつ前記RAMへと転送する誤り訂正処理部とを備え
る半導体記憶装置である。
【0009】この発明のうち請求項2にかかるものは、
請求項1記載の半導体記憶装置であって、前記RAM
は、前記複数のブロックの各々の先頭アドレスが格納さ
れる第2の格納領域を更に有する。
請求項1記載の半導体記憶装置であって、前記RAM
は、前記複数のブロックの各々の先頭アドレスが格納さ
れる第2の格納領域を更に有する。
【0010】この発明のうち請求項3にかかるものは、
請求項1又は2記載の半導体記憶装置であって、前記複
数のプログラムコードの各々は、前記半導体記憶装置の
外部から与えられるコマンドに対応する。
請求項1又は2記載の半導体記憶装置であって、前記複
数のプログラムコードの各々は、前記半導体記憶装置の
外部から与えられるコマンドに対応する。
【0011】
【発明の実施の形態】図1は、本発明の一実施の形態に
かかる半導体記憶装置として例示される、フラッシュA
TAカード100の構成を示すブロック図である。フラ
ッシュATAカード100は、ATAバス51を介して
外部と接続されており、ATAバス51に接続されるホ
ストインターフェース7を備えている。ATAバス51
及びホストインターフェース7を介し、外部からホスト
コンピュータによってコマンドがATAバス51に入力
され、あるいはATAバス51から外部のホストコンピ
ュータへのデータの出力が行われる。
かかる半導体記憶装置として例示される、フラッシュA
TAカード100の構成を示すブロック図である。フラ
ッシュATAカード100は、ATAバス51を介して
外部と接続されており、ATAバス51に接続されるホ
ストインターフェース7を備えている。ATAバス51
及びホストインターフェース7を介し、外部からホスト
コンピュータによってコマンドがATAバス51に入力
され、あるいはATAバス51から外部のホストコンピ
ュータへのデータの出力が行われる。
【0012】フラッシュATAカード100は更に、ホ
ストバス52を介してホストインターフェース7に接続
されるバッファRAM5と、フラッシュバス53を介し
てバッファRAM5に接続されるフラッシュメモリ群4
とを備えている。また、CPUバス54を介してバッフ
ァRAM5に接続されるコントローラ8も備えられてい
る。
ストバス52を介してホストインターフェース7に接続
されるバッファRAM5と、フラッシュバス53を介し
てバッファRAM5に接続されるフラッシュメモリ群4
とを備えている。また、CPUバス54を介してバッフ
ァRAM5に接続されるコントローラ8も備えられてい
る。
【0013】フラッシュメモリ群4は大容量のデータを
蓄積する用途に適するため、ブロック(セクタ)単位で
アクセス可能な構成を有している。例えば複数のフラッ
シュメモリ41,42,…,4mから構成されている。
もちろんブロック毎にアクセス可能であれば、単数のフ
ラッシュメモリで構成してもよい。コントローラ8はC
PUバス54によって互いに接続されたCPU1、RA
M2、ROM3を備えている。
蓄積する用途に適するため、ブロック(セクタ)単位で
アクセス可能な構成を有している。例えば複数のフラッ
シュメモリ41,42,…,4mから構成されている。
もちろんブロック毎にアクセス可能であれば、単数のフ
ラッシュメモリで構成してもよい。コントローラ8はC
PUバス54によって互いに接続されたCPU1、RA
M2、ROM3を備えている。
【0014】図2はフラッシュATAカード100にお
けるRAMマップとフラッシュメモリマップとの関係を
示した概念図である。フラッシュメモリマップに示され
るようにフラッシュメモリに格納されたファームウエア
は、各々異なる第1〜第Nの処理ルーチンに対応した複
数のプログラムコードで構成されており、ブロック毎に
格納されている。便宜上、図においてはプログラムコー
ドが格納されている箇所を、その対応する処理ルーチン
で示している。
けるRAMマップとフラッシュメモリマップとの関係を
示した概念図である。フラッシュメモリマップに示され
るようにフラッシュメモリに格納されたファームウエア
は、各々異なる第1〜第Nの処理ルーチンに対応した複
数のプログラムコードで構成されており、ブロック毎に
格納されている。便宜上、図においてはプログラムコー
ドが格納されている箇所を、その対応する処理ルーチン
で示している。
【0015】フラッシュメモリ群4はブロック単位でア
クセス可能なので、異なる処理ルーチンに対応した複数
のプログラムコードは個別にアクセス可能となる。そし
てRAM2は動的ロードエリアである第1の格納領域9
1を有しており、第1の格納領域91にはフラッシュメ
モリ群4にブロック毎に格納されていたプログラムコー
ドが排他的にロードされる。このようなフラッシュメモ
リ群4からRAM2へのプログラムコードの転送は、R
OM3に予め格納されたプログラムに基づいてCPU1
によって実行させることができる。
クセス可能なので、異なる処理ルーチンに対応した複数
のプログラムコードは個別にアクセス可能となる。そし
てRAM2は動的ロードエリアである第1の格納領域9
1を有しており、第1の格納領域91にはフラッシュメ
モリ群4にブロック毎に格納されていたプログラムコー
ドが排他的にロードされる。このようなフラッシュメモ
リ群4からRAM2へのプログラムコードの転送は、R
OM3に予め格納されたプログラムに基づいてCPU1
によって実行させることができる。
【0016】従って本発明によれば、異なる処理ルーチ
ンに対応した複数のプログラムコードを第1の格納領域
91へと排他的にロードするので、図4に示される場合
と比較してRAM2に要求されるサイズが小さくて済
む。そしてもちろん、これらのファームウエアは、フラ
ッシュメモリ群4が書き換え可能であるので、その修正
やバージョンアップが可能である。この場合にRAM2
に要求されるサイズが増大することもない。新たに追加
されるべき処理ルーチンに対応するプログラムコード
が、それまでフラッシュメモリ群4においてブロック毎
に格納されていたプログラムコードよりも大きい場合で
あっても、追加されるべき処理ルーチンを分割してブロ
ック毎にフラッシュメモリ群4に格納することにより、
RAM2のサイズを変更する必要はない。
ンに対応した複数のプログラムコードを第1の格納領域
91へと排他的にロードするので、図4に示される場合
と比較してRAM2に要求されるサイズが小さくて済
む。そしてもちろん、これらのファームウエアは、フラ
ッシュメモリ群4が書き換え可能であるので、その修正
やバージョンアップが可能である。この場合にRAM2
に要求されるサイズが増大することもない。新たに追加
されるべき処理ルーチンに対応するプログラムコード
が、それまでフラッシュメモリ群4においてブロック毎
に格納されていたプログラムコードよりも大きい場合で
あっても、追加されるべき処理ルーチンを分割してブロ
ック毎にフラッシュメモリ群4に格納することにより、
RAM2のサイズを変更する必要はない。
【0017】またRAM2は第2の格納領域92を有し
ていてもよい。この場合にはフラッシュメモリ群4には
第1〜第Nの処理ルーチンに対応したプログラムコード
を格納するブロックの、先頭アドレスもテーブルとして
格納されている。そしてこのテーブルがRAM2の第2
の格納領域92上に格納される。このテーブルの格納
は、例えば電源オン時に一度行えば足り、異なるプログ
ラムコードをロードする度にその先頭アドレスをフラッ
シュメモリ群4から読み出す時間が省略され、迅速な動
作を得ることができる。このようなフラッシュメモリ群
4からRAM2へのテーブルの転送も、ROM3に予め
格納されたプログラムに基づいてCPU1によって実行
させることができる。
ていてもよい。この場合にはフラッシュメモリ群4には
第1〜第Nの処理ルーチンに対応したプログラムコード
を格納するブロックの、先頭アドレスもテーブルとして
格納されている。そしてこのテーブルがRAM2の第2
の格納領域92上に格納される。このテーブルの格納
は、例えば電源オン時に一度行えば足り、異なるプログ
ラムコードをロードする度にその先頭アドレスをフラッ
シュメモリ群4から読み出す時間が省略され、迅速な動
作を得ることができる。このようなフラッシュメモリ群
4からRAM2へのテーブルの転送も、ROM3に予め
格納されたプログラムに基づいてCPU1によって実行
させることができる。
【0018】なおフラッシュメモリ群4からRAM2へ
とプログラムコードを転送する際に誤り訂正処理を行う
ことが望ましい。例えばフラッシュバス53に誤り訂正
処理(ECC:error checking and correcting)回路
6を接続しておき、フラッシュメモリ群4から呼び出さ
れたプログラムコードに誤り訂正処理を行いながらバッ
ファRAM5に一旦格納する。そしてプログラムコード
に訂正不可能な誤りがない場合にのみ、バッファRAM
5からRAM2へと当該プログラムコードが転送され
る。これによって訂正不可能な誤りが発生したプログラ
ムコードをRAM2へロードすることを排除できる。こ
のような動作も、ROM3に予め格納されたプログラム
に基づいてCPU1によって実行させることができる。
とプログラムコードを転送する際に誤り訂正処理を行う
ことが望ましい。例えばフラッシュバス53に誤り訂正
処理(ECC:error checking and correcting)回路
6を接続しておき、フラッシュメモリ群4から呼び出さ
れたプログラムコードに誤り訂正処理を行いながらバッ
ファRAM5に一旦格納する。そしてプログラムコード
に訂正不可能な誤りがない場合にのみ、バッファRAM
5からRAM2へと当該プログラムコードが転送され
る。これによって訂正不可能な誤りが発生したプログラ
ムコードをRAM2へロードすることを排除できる。こ
のような動作も、ROM3に予め格納されたプログラム
に基づいてCPU1によって実行させることができる。
【0019】バッファRAM5に必要な容量は最もサイ
ズの大きいプログラムコード一つ分で足りる。またバッ
ファRAM5はCPU1や外部のホストコンピュータか
らアクセスでき、訂正不可能な誤りが発生したプログラ
ムコードをCPU1や外部のホストコンピュータによっ
て解析することも可能である。
ズの大きいプログラムコード一つ分で足りる。またバッ
ファRAM5はCPU1や外部のホストコンピュータか
らアクセスでき、訂正不可能な誤りが発生したプログラ
ムコードをCPU1や外部のホストコンピュータによっ
て解析することも可能である。
【0020】もちろん、ROM3やRAM2が上記の説
明以外のプログラムコードやデータを格納していてもよ
い。
明以外のプログラムコードやデータを格納していてもよ
い。
【0021】以下、詳細な動作について説明する。図3
はフラッシュATAカード100の動作のうち、ファー
ムウエアをRAM2にロードする動作を示すフローチャ
ートである。ここではファームウエアのうち、第kの処
理ルーチンに対応するプログラムコードをロードする場
合を示す。ここで処理ルーチンの番号kは1乃至Nの値
を採りうる。
はフラッシュATAカード100の動作のうち、ファー
ムウエアをRAM2にロードする動作を示すフローチャ
ートである。ここではファームウエアのうち、第kの処
理ルーチンに対応するプログラムコードをロードする場
合を示す。ここで処理ルーチンの番号kは1乃至Nの値
を採りうる。
【0022】まずステップS101において、動的ロー
ドエリアたる第1の格納領域91に、第kの処理ルーチ
ンに対応するプログラムコードが格納されているか否か
を確認する。具体的には既にロードされているプログラ
ムコードの対応する処理ルーチンの番号が、これから実
行しようとする処理ルーチンの番号kと一致しているか
否かをチェックする。
ドエリアたる第1の格納領域91に、第kの処理ルーチ
ンに対応するプログラムコードが格納されているか否か
を確認する。具体的には既にロードされているプログラ
ムコードの対応する処理ルーチンの番号が、これから実
行しようとする処理ルーチンの番号kと一致しているか
否かをチェックする。
【0023】格納されていれば新たなロードは必要ない
ので、ステップS107へと進み、第2の格納領域92
に格納されているプログラムコードをCPU1が実行す
る。具体的にはアドレスを第1の格納領域91にジャン
プさせてCPU1がプログラムコードを実行する。その
後ステップS202へと進み、他の処理に移行するため
にリターンする。この際リターン先のメインルーチンに
おいてプログラムコードが正常に格納されたことを示す
情報も伝達される(図中のステップS202では“O
K”で示している)。
ので、ステップS107へと進み、第2の格納領域92
に格納されているプログラムコードをCPU1が実行す
る。具体的にはアドレスを第1の格納領域91にジャン
プさせてCPU1がプログラムコードを実行する。その
後ステップS202へと進み、他の処理に移行するため
にリターンする。この際リターン先のメインルーチンに
おいてプログラムコードが正常に格納されたことを示す
情報も伝達される(図中のステップS202では“O
K”で示している)。
【0024】ステップS101において、第1の格納領
域91に第kの処理ルーチンに対応するプログラムコー
ドが格納されていないと判断されれば、新たにプログラ
ムコードを格納する必要がある。そこでステップS10
2へと進み、第2の格納領域92に格納されたテーブル
を参照する。そしてこのテーブルから第kの処理ルーチ
ンに対応するプログラムコードが格納されているブロッ
クの先頭アドレスを取得する。
域91に第kの処理ルーチンに対応するプログラムコー
ドが格納されていないと判断されれば、新たにプログラ
ムコードを格納する必要がある。そこでステップS10
2へと進み、第2の格納領域92に格納されたテーブル
を参照する。そしてこのテーブルから第kの処理ルーチ
ンに対応するプログラムコードが格納されているブロッ
クの先頭アドレスを取得する。
【0025】次にステップS103に進み、取得された
先頭アドレスから始まるブロックから、バッファRAM
5にECC処理(誤り訂正処理)を行いながら転送す
る。そしてステップS104において、誤り訂正処理が
正常に終了したかどうかが判断される。正常に終了しな
かった場合にはステップS201へと進み、他の処理に
移行するためにリターンする。この際リターン先のメイ
ンルーチンにおいてプログラムコードが正常に格納され
なかったことを示す情報も伝達される(図中のステップ
S201では“NG”で示している)。
先頭アドレスから始まるブロックから、バッファRAM
5にECC処理(誤り訂正処理)を行いながら転送す
る。そしてステップS104において、誤り訂正処理が
正常に終了したかどうかが判断される。正常に終了しな
かった場合にはステップS201へと進み、他の処理に
移行するためにリターンする。この際リターン先のメイ
ンルーチンにおいてプログラムコードが正常に格納され
なかったことを示す情報も伝達される(図中のステップ
S201では“NG”で示している)。
【0026】正常に終了した場合にはステップS105
へと進み、バッファRAM5に格納されていたプログラ
ムコードを第1の格納領域91へコピーする。そしてス
テップS106においてフラグflgに処理ルーチンの
番号kを代入する(図では代入を点“=”で示してい
る)。更にステップS107へ進み、第2の格納領域9
2に格納されているプログラムコードをCPU1が実行
する。その後ステップS202へと進み、他の処理に移
行するためにリターンする。
へと進み、バッファRAM5に格納されていたプログラ
ムコードを第1の格納領域91へコピーする。そしてス
テップS106においてフラグflgに処理ルーチンの
番号kを代入する(図では代入を点“=”で示してい
る)。更にステップS107へ進み、第2の格納領域9
2に格納されているプログラムコードをCPU1が実行
する。その後ステップS202へと進み、他の処理に移
行するためにリターンする。
【0027】なおステップS101において、ステップ
S106で値が決定されたフラグflgと、これから実
行しようとする処理ルーチンの番号kと比較することに
より(図では比較を“==”で示している)、既にロー
ドされているプログラムコードの対応する処理ルーチン
が、所望のものであるかを判断することができる。
S106で値が決定されたフラグflgと、これから実
行しようとする処理ルーチンの番号kと比較することに
より(図では比較を“==”で示している)、既にロー
ドされているプログラムコードの対応する処理ルーチン
が、所望のものであるかを判断することができる。
【0028】またステップS201,202のリターン
先は、図3で示されるフローチャートを有するルーチン
を呼び出したアドレスポインタである。
先は、図3で示されるフローチャートを有するルーチン
を呼び出したアドレスポインタである。
【0029】フラッシュメモリ群4に個別に格納される
プログラムコードが対応する処理ルーチンは、それぞれ
例えばATAコマンドの番号に対応させてもよい。つま
りホストコンピュータからのATAコマンドに応じて、
フラッシュメモリ群4の有するプログラムコードの対応
する処理ルーチンが個別に実行の対象となる。このよう
にすれば、将来に仕様の見直しの必要性が生じたり、オ
プションの追加などによって新たなATAコマンドのサ
ポートが必要になっても、ROMの焼き直しやRAMの
容量のサイズアップをしなくても、容易に機能を追加す
ることができる。
プログラムコードが対応する処理ルーチンは、それぞれ
例えばATAコマンドの番号に対応させてもよい。つま
りホストコンピュータからのATAコマンドに応じて、
フラッシュメモリ群4の有するプログラムコードの対応
する処理ルーチンが個別に実行の対象となる。このよう
にすれば、将来に仕様の見直しの必要性が生じたり、オ
プションの追加などによって新たなATAコマンドのサ
ポートが必要になっても、ROMの焼き直しやRAMの
容量のサイズアップをしなくても、容易に機能を追加す
ることができる。
【0030】特にコントローラ8をワンチップで構成し
た場合、ROMの焼き直しやRAM容量のサイズアップ
はマスクの改定を伴う大がかりなものとなって容易には
行えないため、本発明をするのに好適である。
た場合、ROMの焼き直しやRAM容量のサイズアップ
はマスクの改定を伴う大がかりなものとなって容易には
行えないため、本発明をするのに好適である。
【0031】もちろん本発明はATAカードのみに寄与
するものではなく、その他RAMとフラッシュメモリと
を備える情報処理装置であれば、同様に本発明を適用で
き、その効果を得ることができる。
するものではなく、その他RAMとフラッシュメモリと
を備える情報処理装置であれば、同様に本発明を適用で
き、その効果を得ることができる。
【0032】またフラッシュメモリとして、大容量のデ
ータを蓄積できるように半導体ディスク装置を用いるこ
ともできる。
ータを蓄積できるように半導体ディスク装置を用いるこ
ともできる。
【0033】
【発明の効果】この発明のうち請求項1にかかる半導体
記憶装置によれば、ファームウエアの修正や機能の追加
を行う場合、不揮発性半導体記憶部の修正を行うことに
よって対応できるので、ROMの焼き直しを行う必要が
ない。しかもファームウエアの修正や機能の追加によっ
て得られたプログラムのサイズが増大しても、RAMの
第1の格納領域の容量を増大させる必要がないので拡張
性に優れており、また少ないRAMの容量で多くの機能
を実装できるので低価格を招来する。しかも、不揮発性
半導体記憶部からRAMへとプログラムを転送する際に
誤り訂正処理を施すので、訂正不可能な誤りが発生した
プログラムのRAMへのロードを排除することができ
る。
記憶装置によれば、ファームウエアの修正や機能の追加
を行う場合、不揮発性半導体記憶部の修正を行うことに
よって対応できるので、ROMの焼き直しを行う必要が
ない。しかもファームウエアの修正や機能の追加によっ
て得られたプログラムのサイズが増大しても、RAMの
第1の格納領域の容量を増大させる必要がないので拡張
性に優れており、また少ないRAMの容量で多くの機能
を実装できるので低価格を招来する。しかも、不揮発性
半導体記憶部からRAMへとプログラムを転送する際に
誤り訂正処理を施すので、訂正不可能な誤りが発生した
プログラムのRAMへのロードを排除することができ
る。
【0034】この発明のうち請求項2にかかる半導体記
憶装置によれば、複数のプログラムコードがロードされ
る前にその先頭アドレスを第2の格納領域に格納するこ
とにより、第1の格納領域に複数のプログラムコードの
一つを格納する度に、不揮発性半導体記憶部にアクセス
する必要がなく、迅速な動作が得られる。
憶装置によれば、複数のプログラムコードがロードされ
る前にその先頭アドレスを第2の格納領域に格納するこ
とにより、第1の格納領域に複数のプログラムコードの
一つを格納する度に、不揮発性半導体記憶部にアクセス
する必要がなく、迅速な動作が得られる。
【0035】この発明のうち請求項3にかかる半導体記
憶装置によれば、仕様の見直し、オプションの追加など
によって新たなコマンドをサポートする必要があって
も、ROMの焼き直し、RAM容量のサイズアップを行
うことなく、容易に機能を追加することができる。
憶装置によれば、仕様の見直し、オプションの追加など
によって新たなコマンドをサポートする必要があって
も、ROMの焼き直し、RAM容量のサイズアップを行
うことなく、容易に機能を追加することができる。
【図1】 本発明の実施の形態にかかる半導体記憶装置
の構成を示すブロック図である。
の構成を示すブロック図である。
【図2】 本発明の実施の形態におけるRAMマップと
フラッシュメモリマップとの関係を示した概念図であ
る。
フラッシュメモリマップとの関係を示した概念図であ
る。
【図3】 本発明の実施の形態の動作を示すフローチャ
ートである。
ートである。
【図4】 従来の技術におけるRAMマップとフラッシ
ュメモリマップとの関係を示した概念図である。
ュメモリマップとの関係を示した概念図である。
【符号の説明】 2 RAM、4 フラッシュメモリ群、41〜4m フ
ラッシュメモリ、5バッファRAM、6 誤り訂正処理
回路、91 第1の格納領域、92 第2の格納領域。
ラッシュメモリ、5バッファRAM、6 誤り訂正処理
回路、91 第1の格納領域、92 第2の格納領域。
Claims (3)
- 【請求項1】 各々異なる処理に対応した複数のプログ
ラムコードが個別に格納され、書き換え可能で個別にア
クセス可能な複数のブロックを有する不揮発性半導体記
憶部と、 前記複数のプログラムコードが互いに排他的に格納され
る第1の格納領域を有するRAMと、 前記RAMと前記不揮発性半導体記憶部の間に介在し、
前記複数のプログラムコードの一つに対して誤り訂正処
理を行いつつ前記RAMへと転送する誤り訂正処理部と
を備える半導体記憶装置。 - 【請求項2】 前記RAMは、前記複数のブロックの各
々の先頭アドレスが格納される第2の格納領域を更に有
する、請求項1記載の半導体記憶装置。 - 【請求項3】 前記複数のプログラムコードの各々は、
前記半導体記憶装置の外部から与えられるコマンドに対
応する、請求項1又は2記載の半導体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11201617A JP2001027953A (ja) | 1999-07-15 | 1999-07-15 | 半導体記憶装置 |
US09/488,676 US6546517B1 (en) | 1999-07-15 | 2000-01-21 | Semiconductor memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11201617A JP2001027953A (ja) | 1999-07-15 | 1999-07-15 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001027953A true JP2001027953A (ja) | 2001-01-30 |
Family
ID=16444037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11201617A Pending JP2001027953A (ja) | 1999-07-15 | 1999-07-15 | 半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6546517B1 (ja) |
JP (1) | JP2001027953A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272400A (ja) * | 2003-03-06 | 2004-09-30 | Renesas Technology Corp | メモリカード |
KR100482998B1 (ko) * | 2002-08-30 | 2005-04-15 | 주식회사 하이닉스반도체 | 불휘발성 강유전체 메모리 제어 장치 |
WO2005073850A1 (ja) * | 2004-01-28 | 2005-08-11 | Sony Corporation | 半導体装置及びその起動処理方法 |
JP2007501450A (ja) * | 2003-08-01 | 2007-01-25 | シンビアン ソフトウェア リミテッド | コンピュータ装置のデータにアクセスする方法 |
JP2007518166A (ja) * | 2003-12-31 | 2007-07-05 | サンディスク コーポレイション | フラッシュメモリシステムの起動動作 |
JP2007334915A (ja) * | 2007-08-27 | 2007-12-27 | Renesas Technology Corp | メモリカード |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195261A (ja) * | 2000-01-13 | 2001-07-19 | Nec Corp | 外部メモリから内蔵メモリへのプログラム転送方法およびその転送方法を用いたマイクロコンピュータ |
US6941505B2 (en) * | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
DE10145621A1 (de) * | 2001-09-15 | 2003-04-10 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Speicherüberwachung, insbesondere RAM-Überwachung |
US20030172295A1 (en) * | 2002-03-01 | 2003-09-11 | Onspec Electronics, Inc. | Device and system for allowing secure identification of an individual when accessing information and a method of use |
US7389465B2 (en) * | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
US7676339B2 (en) * | 2004-10-12 | 2010-03-09 | Robert Bosch Gmbh | Apparatus and method of compensating a seat offset for a load applied to the seat |
US20060120191A1 (en) * | 2004-12-06 | 2006-06-08 | Mediatek Incorporation | Systems and methods for optical drive operation |
US20070162626A1 (en) * | 2005-11-02 | 2007-07-12 | Iyer Sree M | System and method for enhancing external storage |
US7876894B2 (en) * | 2006-11-14 | 2011-01-25 | Mcm Portfolio Llc | Method and system to provide security implementation for storage devices |
US20080181406A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access Via a Hardware Key |
US20090046858A1 (en) * | 2007-03-21 | 2009-02-19 | Technology Properties Limited | System and Method of Data Encryption and Data Access of a Set of Storage Devices via a Hardware Key |
US20080184035A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access |
US20080288782A1 (en) * | 2007-05-18 | 2008-11-20 | Technology Properties Limited | Method and Apparatus of Providing Security to an External Attachment Device |
US20080288703A1 (en) * | 2007-05-18 | 2008-11-20 | Technology Properties Limited | Method and Apparatus of Providing Power to an External Attachment Device via a Computing Device |
US8219746B2 (en) * | 2009-10-08 | 2012-07-10 | International Business Machines Corporation | Memory package utilizing at least two types of memories |
CN115480835A (zh) * | 2021-05-31 | 2022-12-16 | 合肥杰发科技有限公司 | 程序启动方法和设备、存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4484303A (en) * | 1979-06-19 | 1984-11-20 | Gould Inc. | Programmable controller |
JPH01121933A (ja) | 1987-11-06 | 1989-05-15 | Mitsubishi Electric Corp | マイクロコントローラ |
US5878256A (en) * | 1991-10-16 | 1999-03-02 | International Business Machine Corp. | Method and apparatus for providing updated firmware in a data processing system |
US5826075A (en) * | 1991-10-16 | 1998-10-20 | International Business Machines Corporation | Automated programmable fireware store for a personal computer system |
US5680645A (en) * | 1992-11-18 | 1997-10-21 | Canon Kabushiki Kaisha | System for executing first and second independently executable programs until each program relinquishes control or encounters real time interrupts |
US5835933A (en) * | 1993-02-19 | 1998-11-10 | Intel Corporation | Method and apparatus for updating flash memory resident firmware through a standard disk drive interface |
US5606660A (en) * | 1994-10-21 | 1997-02-25 | Lexar Microsystems, Inc. | Method and apparatus for combining controller firmware storage and controller logic in a mass storage system |
US5659801A (en) * | 1994-12-07 | 1997-08-19 | Emc Corporation | Method and apparatus for replacing resident peripheral device control microcode by download via an application program |
US5511164A (en) * | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
US5680537A (en) * | 1995-03-01 | 1997-10-21 | Unisys Corporation | Method and apparatus for isolating an error within a computer system that transfers data via an interface device |
JPH10269075A (ja) * | 1997-03-24 | 1998-10-09 | Sony Corp | 動作制御情報の更新方法およびそれを用いたデータ処理装置 |
GB9713094D0 (en) * | 1997-06-21 | 1997-08-27 | Philips Electronics Nv | Optical disc drive |
-
1999
- 1999-07-15 JP JP11201617A patent/JP2001027953A/ja active Pending
-
2000
- 2000-01-21 US US09/488,676 patent/US6546517B1/en not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100482998B1 (ko) * | 2002-08-30 | 2005-04-15 | 주식회사 하이닉스반도체 | 불휘발성 강유전체 메모리 제어 장치 |
JP2004272400A (ja) * | 2003-03-06 | 2004-09-30 | Renesas Technology Corp | メモリカード |
JP2007501450A (ja) * | 2003-08-01 | 2007-01-25 | シンビアン ソフトウェア リミテッド | コンピュータ装置のデータにアクセスする方法 |
JP4815346B2 (ja) * | 2003-08-01 | 2011-11-16 | ノキア コーポレイション | コンピュータ装置のデータにアクセスする方法 |
JP2007518166A (ja) * | 2003-12-31 | 2007-07-05 | サンディスク コーポレイション | フラッシュメモリシステムの起動動作 |
US7962777B2 (en) | 2003-12-31 | 2011-06-14 | Sandisk Corporation | Flash memory system startup operation |
JP4933268B2 (ja) * | 2003-12-31 | 2012-05-16 | サンディスク コーポレイション | フラッシュメモリシステムの起動動作 |
WO2005073850A1 (ja) * | 2004-01-28 | 2005-08-11 | Sony Corporation | 半導体装置及びその起動処理方法 |
US8135991B2 (en) | 2004-01-28 | 2012-03-13 | Sony Corporation | Semiconductor device and processing method for starting the same |
JP2007334915A (ja) * | 2007-08-27 | 2007-12-27 | Renesas Technology Corp | メモリカード |
Also Published As
Publication number | Publication date |
---|---|
US6546517B1 (en) | 2003-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001027953A (ja) | 半導体記憶装置 | |
US7117332B2 (en) | Window-based flash memory storage system and management and access methods thereof | |
US5742934A (en) | Flash solid state disk card with selective use of an address conversion table depending on logical and physical sector numbers | |
JP4534498B2 (ja) | 半導体装置およびその起動処理方法 | |
JP4828816B2 (ja) | メモリカード、半導体装置、及びメモリカードの制御方法 | |
US20080126776A1 (en) | Electronic apparatus | |
US20100169546A1 (en) | Flash memory access circuit | |
US8555050B2 (en) | Apparatus and method thereof for reliable booting from NAND flash memory | |
KR20000006562A (ko) | 데이타기억장치및데이타처리시스템및방법 | |
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
KR102658600B1 (ko) | 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법 | |
US6934537B2 (en) | Radio communication device, method of and program for rewriting boot program therefor | |
CN100485810C (zh) | 逻辑与非快闪存储器芯片存取方法及与非快闪存储器芯片 | |
WO2006101123A1 (ja) | 不揮発性記憶装置及び不揮発性記憶装置の制御情報のロード方法 | |
JP4127307B2 (ja) | データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置 | |
JPH11265283A (ja) | 記憶装置におけるファームウェアの修正方法及び記憶装置 | |
JP2001256044A (ja) | データ処理装置 | |
JP2000293376A (ja) | ブートプログラムの切替回路及び切替方法 | |
US20240264905A1 (en) | Eeprom emulation method | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US20240184454A1 (en) | Storage device and operating method of the same | |
US20250138941A1 (en) | Semiconductor device, reading method and program | |
JP2853593B2 (ja) | ダウンロード装置 | |
JPH06314190A (ja) | 電子装置 | |
JP3442972B2 (ja) | 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法 |