JP3670041B2 - 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ - Google Patents
不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ Download PDFInfo
- Publication number
- JP3670041B2 JP3670041B2 JP30618994A JP30618994A JP3670041B2 JP 3670041 B2 JP3670041 B2 JP 3670041B2 JP 30618994 A JP30618994 A JP 30618994A JP 30618994 A JP30618994 A JP 30618994A JP 3670041 B2 JP3670041 B2 JP 3670041B2
- Authority
- JP
- Japan
- Prior art keywords
- chip enable
- memory
- computer system
- memory controller
- bank
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000004044 response Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
【発明の分野】
この発明はコンピュータシステムに関し、より特定的に、不揮発性メモリの個々のバンクを選択するためにメモリコントローラによって使用されるチップイネーブル符号化方法に関する。
【0002】
【関連技術の説明】
大半のコンピュータシステムはROMまたはフラッシュメモリにソフトウェアコードを含み、それによりシステムはパワーアップ時にディスクからオペレーティングシステムソフトウェアを読出すことができる。このソフトウェアコードはしばしばブートストラップコードまたはブートコードと呼ばれ、ディスクからオペレーティングシステムにロードするプロセスは「システムをブートする」と呼ばれる。ブートコードは典型的にはオペレーティングシステムを読出すのに十分なソフトウェアしか含まず、一般にディスクの特定のトラック上に記憶される。オペレーティングシステムソフトウェア自体はより一般的な読出および書込アクセスを実行する能力を与える。典型的なコンピュータシステムはBIOS(基本入力/出力システム)ROMと呼ばれる専用ROM集積回路チップを含み、これはブートコードおよび付加的なサブルーチンの集合(BIOSコードと呼ばれる)を含み、システムに標準的なソフトウェアインタフェースを与える。
【0003】
読出専用メモリの価格が低く、電力消費が少ないために、ROM集積回路もワードプロセッシングプログラムなどのユーザソフトウェア、およびオペレーティングシステムソフトウェアにとって人気のある記憶媒体になっている。これはポータブルコンピュータシステム内のアプリケーションに特に当てはまる。そのようなユーザソフトウェアを記憶するために使用される読出専用メモリは典型的には容量が非常に大きく(BIOS ROMの容量と比較して)、メモリコントローラを介して選択的にアクセスされる1つ以上のROMバンクとしてしばしば配列される。このユーザROMのメモリ容量は特定のユーザの要求に合うように典型的には可変であり、BIOSコード内で特定される。
【0004】
BIOS ROMサブシステムはパワーアップ時で、かつシステム構成より前(つまり、システムがブートされる以前)にアクセスされなければならないので、かつユーザROMサブシステムはシステム構成の前には不確定なサイズ(少なくとも、メモリコントローラに関する限り)を有し、システム構成ルーチンが実効を完了した後にのみアクセス可能であるので、2つのメモリサブシステムは典型的には全く別個に処理されてきた。結果として、別個の集積回路チップが2つメモリサブシステムのために使用され、それによってコンピュータシステムの全体のコスト、重量およびサイズを増大させてきた。
【0005】
【発明の概要】
上に概略を示した問題はこの発明に従う不揮発性メモリチップイネーブル符号化方法およびコンピュータシステムによって大部分解決される。このチップイネーブル符号化方法により共通の不揮発性メモリアレイ内にブートコードおよびユーザアプリケーションソフトウェアを記憶することができる。このチップイネーブル符号化方法によりさらに可変数のメモリバンクが不揮発性メモリアレイ内に設けられ、システムはメモリアレイ構成がファームウェアによって選択される前にパワーアップし、かつブートコードを実行することができる。
【0006】
一実施例において、メモリコントローラは複数のROMバンクを選択的にイネーブルするための4つのチップイネーブル出力線を含む。ROMバンクの1つはシステムブート中にシステムマイクロプロセッサによって実行されるブートコードを含む。ユーザが4つのROMバンクからなるROMアレイを要求すれば、別のチップイネーブル出力線が各ROMバンクに接続される。ユーザが代わりにたとえば8つのROMバンクからなるROMアレイを要求すれば、4つのチップイネーブル出力線に外部デコーダが接続される。この構成において、デコーダの各出力線はROMバンクのそれぞれのバンクイネーブル入力線に結合される。いずれの構成においても、チップイネーブル線はシステムブート中相互に排他的な関係で駆動され、(ROMバンクの1つに記憶された)ブートコードをアクセスする。ブートコードはシステム内に接続されたROMバンクの数を示す構成情報を含む。この構成情報はメモリコントローラの構成レジスタに記憶される。その後、メモリコントローラのチップイネーブル出力線におけるチップイネーブル信号の符号化はその構成情報に依存する。4つのROMバンクのみがコンピュータシステムに接続される構成に対して、チップイネーブル出力線はエンコーダによって相互に排他的な関係で駆動され、チップイネーブル信号が一度にチップイネーブル出力線のうちの1つのみでアサートされるようにする。8つのROMバンクがコンピュータシステムに接続される構成に対して、チップイネーブル出力線はチップイネーブル信号が一度に1つより多いチップイネーブル出力線でアサートされ得るように駆動される。
【0007】
大まかにいうと、この発明は不揮発性メモリアレイ内で選択されたメモリバンクをイネーブルするためのメモリチップイネーブル符号化方法を意図するものである。不揮発性メモリアレイは複数のチップイネーブル出力線を含むメモリコントローラに動作的に結合される。このチップイネーブル符号化方法は、各々が別個のバンクイネーブル入力線を有する複数のメモリバンクを与えるステップと、メモリバンクの1つにブートコードを記憶するステップと、チップイネーブル出力線の1つのみでチップイネーブル信号をアサートし、それによってブートコードを検索するステップとを含む。この方法はさらに、メモリコントローラに結合されたメモリバンクの数に依存して、チップイネーブル信号が一度に1つのチップイネーブル出力線でのみアサートされ、それによって不揮発性メモリアレイ内の選択されたメモリバンクをイネーブルするように複数のチップイネーブル出力線を相互に排他的な関係で駆動するか、または1つより多いチップイネーブル信号が一度にアサートされ、それによってイネーブルされる不揮発性メモリアレイ内のメモリバンクに関する符号化された情報を与えるように複数のチップイネーブル出力線を駆動するステップのいずれかを含む。
【0008】
この発明はさらに複数のチップイネーブル出力線を含むメモリコントローラ、および複数のメモリバンクを含む不揮発性メモリアレイを含むコンピュータシステムを意図するものである。メモリバンクの1つはシステムブート中にマイクロプロセッサに転送されることが可能なブートコードを含み、メモリバンクの各々はバンクイネーブル入力線を含む。このコンピュータシステムはさらにメモリコントローラの複数のチップイネーブル出力線に結合された複数の入力線を有し、かつ各々がメモリバンクの別個のバンクイネーブル入力線に結合された複数の出力線を有するデコーダをさらに含む。メモリコントローラはシステムブート中複数のチップイネーブル出力線のうちの予め定められた1つでチップイネーブル信号をアサートすることが可能なチップイネーブルエンコーダを含み、メモリバンクのうちの1つをイネーブルする。システムブート後、チップイネーブルアドレスエンコーダは一度に1つより多いチップイネーブル出力線でチップイネーブル信号を同時にアサートすることができ、不揮発性メモリアレイ内の別のメモリバンクをイネーブルする。
【0009】
この発明は最後にマイクロプロセッサと不揮発性メモリアレイとの間のデータおよびアドレス信号の転送を調整するためのインタフェースおよび制御回路と、インタフェースおよび制御回路に結合され、不揮発性メモリアレイ内に与えられたメモリバンクの数を表わす値を記憶するための構成レジスタと、構成レジスタに結合されたチップイネーブルアドレスエンコーダとを含むメモリコントローラを意図するものであり、チップイネーブルアドレスエンコーダは複数のチップイネーブル出力線を含む。チップイネーブルアドレスエンコーダは、構成レジスタが第1の数のメモリバンクが不揮発性メモリアレイ内に与えられることを示せば、1つのチップイネーブル信号のみがチップイネーブル出力線で所与の時間にアサートされるようにチップイネーブル出力線が駆動されるようにプログラム可能である。構成レジスタが第2の数のメモリバンクが不揮発性メモリアレイ内に与えられることを示せば、チップイネーブル出力線は1つより多いチップイネーブル信号が所与の時間にチップイネーブル出力線でアサートされるように駆動される。
【0010】
この発明の他の目的および利点は以下の詳細な説明を読み、添付の図面を参照することによって明らかになるであろう。
【0011】
この発明はさまざまな修正および代替の形式の余地があるが、その具体的な実施例は図面で例として示され、ここに詳細に説明される。しかしながら、図面およびそれに対する詳細な説明はこの発明を開示された特定の形式に限定しようとするものではなく、それどころかこの発明は前掲の特許請求の範囲によって規定されるこの発明の精神および範囲内にあるすべての修正、均等物および代替物を含むことが意図される。
【0012】
【好ましい実施例の説明】
ここで図面を参照して、図1はこの発明に従う不揮発性メモリチップイネーブル符号化方法を使用するコンピュータシステム100のブロック図である。コンピュータシステム100はメモリコントローラ104に結合されたマイクロプロセッサ(CPU)102を含む。メモリコントローラ104に結合された4つのROMバンク106−109からなるROMアレイ105がさらに示される。
【0013】
マイクロプロセッサ102は、32ビットデータビットLD[31:0]、および32ビットアドレスバスLD[31:0]を含むローカルバス、ならびに制御バス110を経て、データ、アドレスおよび制御信号をメモリコントローラ104に与える。マイクロプロセッサ102は、たとえば、モデル80486マイクロプロセッサの代表的な例である。しかしながら、他の特定的なマイクロプロセッサがコンピュータシステム100内で代わりに使用され得ることが理解される。
【0014】
メモリコントローラ104はマイクロプロセッサ102とROMアレイ105との間のデータ、アドレスおよび制御信号の転送を調整するインタフェースおよび制御回路112を含む。メモリアドレスバスMA[18:0]およびメモリデータバスMD[31:0]はROMバンク106−109に結合され、アドレシングおよびデータ信号をROMアレイ105へ、およびそれから与える。読出および書込制御線などの様々な他の制御線がインタフェースおよび制御回路112とROMアレイ105との間にさらに結合され得るが、図を明瞭にするために図1には示されていない。なお、インタフェースおよび制御回路112は様々な特定の回路構成を使用して実現され、代表的な回路構成は既知の先行技術の多くの文献で見られる。さらに、好ましい実施例において、マイクロプロセッサ102およびメモリコントローラ104は単一の集積プロセッサチップ上で製作される。
【0015】
メモリコントローラ104はまたチップイネーブルアドレスエンコーダ114および構成レジスタ116を含む。以下からよく理解されるように、チップイネーブルアドレスエンコーダはコンピュータシステム100のそれぞれのROMバンクをイネーブルするための、CE0、CE1、CE2およびCE3と符号が付された1組のチップイネーブル出力線を含む。以下により詳細に説明されるように、メモリコントローラ104に結合されたROMバンクの数を示すデータのビット(または複数のビット)を記憶するための構成レジスタ116が設けられる。
【0016】
ROMバンク106−109の各々はそれぞれ別個のROMバンクイネーブル入力線120−123を含む。この実施例では、各ROMバンク106−109は500キロバイトの32ビットデータを記憶することが可能である。応じて、各ROMバンク106−109は1組のアドレス入力線MA[18:0]および1組のデータ出力線MD[31:0]を含む。
【0017】
図2はROMバンク106および107の内部構成を示すブロック図である。図2に示されるように、ROMバンク106は4つのROMチップ200−203を含み、ROMバンク107はROMチップ204−207を含む。各ROMチップ200−207は500キロバイトの8ビットデータを記憶することが可能である。ROMチップ200−203のチップイネーブル入力線はROMバンクイネーブル入力線120に結合され、ROMチップ204−207のチップイネーブル入力線はROMバンクイネーブル入力線121に接続される。ROMバンク108および109は同様に構成される。
【0018】
再び図1を参照して、コンピュータシステム100はROMバンク106−109の1つがコンピュータシステム100のパワーアップ時にマイクロプロセッサ102によってアクセスされるブートコードを含むように実現される。図1の実施例では、ROMバンク109がこのブートコードを含む。
【0019】
図3はチップイネーブルアドレスエンコーダ114によって実現され、ROMバンク106−109の各々をアクセスするROMチップイネーブル符号化を示す表である。なお、ROMチップイネーブル符号化はチップイネーブル信号CE0−CE3の1つがローにアサートされ、それぞれのROMバンク106−109をイネーブルするように実現される。たとえば、ROMバンク106をイネーブルするために、チップイネーブル信号CE0がチップイネーブルアドレスエンコーダ114によってローにアサートされる。同様に、チップイネーブル信号CE1はイネーブルROMバンク107によってローにアサートされるなどである。
【0020】
したがって、再び図1を参照して、コンピュータシステム100のパワーアップ時に、マイクロプロセッサ102は、メモリ読出サイクルを実行し、かつ予め規定されたアドレス値(つまり、ブートコードの出発アドレス)を有するアドレス線LA[31:0]で駆動することによって、ROMバンク109に記憶されたブートコードをアクセスする。一実施例において、このブートコードはFFFFFFF0(HEX)の出発アドレスで記憶される。このアドレス信号に応答して、チップイネーブルアドレスエンコーダ114はチップイネーブル信号CE3をローにアサートし、それによってこの信号はROMバンク109をイネーブルし、ブートコードの第1のバイトが読出されかつ実行されることを可能にする。ブートコードの後続のバイトも後続のサイクルの間に同様に読出される。なお、ブートコードが読出されているとき、チップイネーブルアドレスエンコーダ114の他のチップイネーブル出力線(つまり、CE0−CE2)はハイにデアサートされる。
【0021】
ROMアレイ105からアクセスされたブートコードの中には、コンピュータシステム100に接続されたROMバンクの数を示す構成情報がある。この構成情報は、パワーアップ時に、メモリコントローラ104がそれに接続されたバンクの数を認識していないので、与えられる。もし構成情報があれば、マイクロプロセッサ102はブート手順の間この構成情報を構成レジスタ116内に記憶させる。以下でよりよく理解されるように、チップイネーブルアドレスエンコーダ114はその後この構成情報に従ってチップイネーブル信号CE0−CE3を駆動する。なお、構成レジスタ116はデフォルト数のROMバンクを示す値を始めに含み得る。好ましい実施例において、構成レジスタ116は始めに4つのROMバンクを示すデフォルト値を含む。具体的には、好ましい実施例において、構成レジスタ116のビットはパワーアップ時にローにセットされ、4つのメモリバンクがシステムに接続されることを示す。ブートコードによりこのデフォルト値が変更されない限り、チップイネーブルアドレスエンコーダは4つのROMバンクがシステムに接続されているものとする。
【0022】
このように、図1の構成に対して、ブートコードがROMバンク109からアサートされると、構成レジスタ116内の値は、実際4つのバンクのROMがコンピュータシステム100に接続されているので、変わらない。ブートサブルーチンの終了に続いて、マイクロプロセッサ102はシステム設計者によって選択された特定のメモリマッピングに従ってアドレスバスを駆動することによって、ROMバンク106−109内の選択されたメモリ場所をアクセスすることができる。一実施例において、ROMバンク106はFF7FFFF0からFF9FFFEF(HEX)の範囲のアドレス値を記憶するようにシステム内にマッピングされ、ROMバンク107はFF9FFF0からFFBFFFEFFの範囲のアドレス値を記憶するようにマッピングされ、ROMバンク108はFFBFFFF0からFF0FFFEFの範囲のアドレス値を記憶するようにマッピングされ、ROMバンク109はFF0FFFF0からFFFFFFFFの範囲のアドレス値を記憶するようにマッピングされる。したがって、アドレシング信号(LA[31:19])の上位13ビットに依存して、チップイネーブルアドレスエンコーダ114はハイにデアサートされたチップイネーブル信号CE0−CE3のすべてを保持するか(もしアドレスがROMバンク106−109の1つによってマッピングされた範囲内でなければ)、または信号CE0−CE3の1つを駆動して対応のROMバンク106−109をイネーブルする。なお、この動作モード中、構成レジスタ116の内部ビットによって決定されるように、チップイネーブルアドレスエンコーダ114は一度に1つのチップイネーブル信号のみがアサートされ得るように互いに排他的な態様でチップイネーブル信号CE0−CE3を駆動する。さらに、チップイネーブル信号CE0−CE3をローにアサートさせるアドレシング信号(LA[31:19])の上位13ビットの特定の値は使用さる特定のメモリマッピングスキームに依存し、システムごとに異なり得る。
【0023】
次に図4を参照して、4つではなく8つのROMバンク401−408を含む、類似のコンピュータシステム400のブロック図が示される。このコンピュータシステム400はさらにメモリコントローラ104とROMバンク401−408との間に結合されたデコーダ410を含む。なお、図4のマイクロプロセッサ102およびメモリコントローラ104は図1に示されたものと同一である。同様に、各ROMバンク401−408は図1の対応のROMバンクと同一である。
【0024】
この実施例では、ROMバンク408はコンピュータシステム400のためのブートコードを含む。したがって、コンピュータシステム400のパワーアップ時に、マイクロプロセッサ102は読出サイクルを実行し、かつ予め特定されたブートコードメモリ場所を有するアドレス線LA[31:0]を駆動することによって、再びブートコードをアクセスする。なお、ブートコードのためのこの予め特定されたメモリ場所は図1の構成に関して上に特定されたものと同一である。また、コンピュータシステム400の初期のパワーアップ中に、メモリコントローラ104はそれに接続されたROMバンクの数を認識していない。アドレス線LA[31:0]上で駆動されたブートコードアドレスに応答して、チップイネーブルアドレスエンコーダ114は、図1の構成に対して行なったようにチップイネーブル信号CE0をローに駆動する。しかしながら、この構成において、デコーダ410はアサートされたチップイネーブル信号CE0を受取り、その結果ROMバンク408のROMバンクイネーブル入力線427をローに駆動する。なお、この時点で、チップイネーブル信号CE1、CE2およびCE3は以前としてハイにデアサートされる。それによってマイクロプロセッサ102にはインタフェースおよび制御回路112を介して第1のバイトのブートコードが与えられ、同様のサイクルがマイクロプロセッサ102によって実行され、ブートコードの残りを含む連続のメモリ場所をアクセスする。
【0025】
ブートコードによって誘発された動作の1つの結果として、コンピュータシステム400に結合されたROMバンクの数(つまり、8)を示す値が構成レジスタ116に記憶される。好ましい実施例において、構成レジスタ116の内部ビットはハイに設定され、8つのROMバンクの接続を示す。コンピュータシステム400の後続の動作中、かつこの内部ビットの設定に応答して、チップイネーブルアドレスエンコーダ114は図5の表に従ってチップイネーブル出力信号CE0−CE3を符号化する。この動作モード中、チップイネーブルアドレスエンコーダ114は構成レジスタ116によってプログラムされ、チップイネーブル信号CE0−CE3のうちの1つより多くのものを一度にアサートし、選択されたROMバンク401−408をイネーブルする。たとえば、図5に示されるように、アドレシング信号LA[31:19]の上位13ビットがROMバンク6(つまり、ROMバンク407)内にマッピングされたアドレス値を含めば、チップイネーブルアドレスエンコーダはチップイネーブル信号CE1およびCE2をハイに保持しながら、チップイネーブル信号CE0およびCE3をローに駆動する。同様に、アドレシング信号LA[31:19]がROMバンク3(つまり、ROMバンク404)にマッピングされた値を含めば、チップイネーブル信号CE0およびCE1はローに駆動され、一方チップイネーブル信号CE2およびCE3はハイに保持される。
【0026】
図1および図4のメモリコントローラ104ならびにコンピュータシステム100および400の結果として、ブートコードならびにユーザソフトウェアおよびオペレーティングシステムなどの他のソフトウェアの双方を記憶するために共通のROMアレイが使用され得る。このメモリコントローラはプログラム可能なチップイネーブルアドレスエンコーダを含み、このエンコーダは、システム構成に先立って、メモリコントローラのチップイネーブル出力線を、1つのチップイネーブル信号のみがブートコードをアクセスするためにアサートされるように、お互いに排他的な関係で駆動する。その後、チップイネーブル信号の符号化はそれに接続されたROMバンクの数を示す構成ビットに依存する。コンピュータシステムおよびメモリコントローラはシステム設計の柔軟性を与え(つまり、様々な数のROMバンクがそれに接続されることを可能にすることによって)、一方集積回路上に組込まれるチップイネーブル出力線の数を最小限にする。集積回路上に設けられるチップイネーブル出力線の数を最小限にすることによって、集積回路の全ピン総数は減り、それによって全体のコストを下げる。
【0027】
なお、上述の不揮発性メモリチップイネーブル符号化方法は、同時係属中の同一譲受人に譲渡された、マクドナルド(MacDonald )他による、「コンピュータシステム、メモリコントローラ、およびメモリコントローラを動作するための方法」と題された、本出願と同日に提出された出願によって教示されるメモリコントローラとともに実現され得る。この特許出願はその全体を引用によりここに援用する。
【0028】
上述の開示を完全に理解してしまえば、当業者には様々な変形例および修正が明らかになるであろう。たとえば、図1および図4のものと異なるメモリ容量を有するROMバンクを使用することができるし、(図5のものではない)異なった特定の符号化値を使用して様々なROMバンクをマッピングおよびイネーブルすることができる。加えて、上に示された実施例は4つまたは8つのROMバンクを含むが、より多いまたはより少ない数のROMバンクも同様に接続され得る。さらに、フラッシュメモリデバイスなどの他のタイプの不揮発性メモリを、ROMバンク106−109および401−408のうちの1つより多いものの代わりに使用できる。前掲の特許請求の範囲はそのようなすべての変形例および修正を含むものと解釈されることが意図される。
【図面の簡単な説明】
【図1】この発明に従う4つのバンクの読出専用メモリに接続されたメモリコントローラを含むコンピュータシステムのブロック図である。
【図2】各メモリバンク内に組込まれたROM集積回路チップの構成を示すブロック図である。
【図3】図1のコンピュータシステムのためのROMチップイネーブル符号化を示すチャートである。
【図4】この発明に従う8つのバンクの読出専用メモリに接続されたメモリコントローラを含むコンピュータシステムのブロック図である。
【図5】図4のコンピュータシステムのためのROMチップイネーブル符号化を示すチャートである。
【符号の説明】
100 コンピュータシステム
102 マイクロプロセッサ
104 メモリコントローラ
105 ROMアレイ
106 ROMバンク
107 ROMバンク
108 ROMバンク
109 ROMバンク
Claims (17)
- 不揮発性メモリアレイ内の選択されたメモリバンクをイネーブルするための不揮発性メモリチップイネーブル符号化方法であって、前記不揮発性メモリアレイは複数のチップイネーブル出力線を含むメモリコントローラに動作的に結合され、前記チップイネーブル符号化方法は
各々が別個のバンクイネーブル入力線を有する複数のメモリバンクを与えるステップと、
前記メモリバンクの1つにブートコードを記憶するステップと、
前記チップイネーブル出力線のうち1つのみでチップイネーブル信号をアサートし、それによって前記メモリバンクのうちの前記1つをイネーブルし、前記ブートコードを検索するステップと、さらに
前記メモリコントローラに結合されたメモリバンクの、前記ブートコードに含まれる構成情報によって示される数に依存し、
前記メモリバンクの数が前記メモリコントローラのチップイネーブル出力線の合計数未満またはそれに等しい構成において、一度に1つのチップイネーブル出力線でのみチップイネーブル信号がアサートされるように、お互いに排他的な関係で前記メモリコントローラからの前記複数のチップイネーブル出力線を駆動し、それによって前記不揮発性メモリアレイ内の他のいずれかのメモリバンクをイネーブルし、別個のチップイネーブル出力は、単一のバンクをイネーブルするための専用のものであるステップか、または
前記メモリバンクの数が前記メモリコントローラのチップイネーブル出力線の合計数よりも大きい構成において、一度に1つより多いチップイネーブルがアサートされるように前記メモリコントローラからの前記複数のチップイネーブル出力線を駆動し、それによってイネーブルされる前記不揮発性メモリアレイ内のメモリバンクに関する符号化された情報を与えるステップのいずれかを含む、方法。 - 前記メモリコントローラに結合されたメモリバンクの数を示す少なくとも1ビットのデータを構成レジスタ内に記憶するさらなるステップを含む、請求項1に記載の方法。
- 前記少なくとも1ビットのデータは前記ブートコードから引出される、請求項2に記載の方法。
- 前記符号化された情報を外部デコーダの入力線に与えるさらなるステップを含む、請求項1に記載の方法。
- 前記デコーダの出力線から前記不揮発性メモリアレイの選択されたメモリバンクにバンクイネーブル出力信号を与えるさらなるステップを含む、請求項4に記載の方法。
- コンピュータシステムであって、
複数のチップイネーブル出力線を含むメモリコントローラと、
複数のメモリバンクを含む不揮発性メモリアレイとを含み、前記メモリバンクの1つはシステムブート中前記マイクロプロセッサに転送されるよう構成されるブートコードを含み、前記メモリバンクの各々はバンクイネーブル入力線を含み、前記メモリコントローラの前記複数のチップイネーブル出力線に結合された複数の入力線を有し、かつ各々が前記メモリバンクの別個のバンクイネーブル入力線に結合された複数の出力線を有するデコーダを含み、
前記メモリコントローラはシステムブート中前記複数のチップイネーブル出力線のうちの予め定められた1つでチップイネーブル信号をアサートし、前記メモリバンクの前記1つをイネーブルするよう構成されるチップイネーブルアドレスエンコーダを含み、ブートコードに含まれる構成情報によって示されるメモリバンク数を参照し、該メモリバンク数に依存した結果として、システムブートの後で前記チップイネーブルアドレスエンコーダは前記チップイネーブル出力線の1つより多くでチップイネーブル信号を同時にアサートし、前記不揮発性メモリアレイ内の別のメモリバンクをイネーブルするよう構成される、コンピュータシステム。 - 前記メモリコントローラに結合されたマイクロプロセッサをさらに含む、請求項6に記載のコンピュータシステム。
- 前記デコーダは前記チップイネーブル出力線の1つより多くでアサートされた前記チップイネーブル信号を受信するように構成され、かつ前記アサートされたチップイネーブル信号の受信に応答して、前記デコーダの出力線で信号をアサートするように構成され、それによって前記不揮発性メモリアレイ内の前記別のメモリバンクをイネーブルするよう構成される、請求項6に記載のコンピュータシステム。
- 前記メモリコントローラはさらに前記チップイネーブルアドレスエンコーダに結合された構成レジスタを含む、請求項6に記載のコンピュータシステム。
- 前記構成レジスタは前記コンピュータシステムに接続されたメモリバンクの数を示す値を記憶するよう構成される、請求項9に記載のコンピュータシステム。
- 前記チップイネーブルアドレスエンコーダは前記構成レジスタ内に記憶された前記値に依存して前記チップイネーブル出力線を駆動するよう構成される、請求項10に記載のコンピュータシステム。
- 前記メモリコントローラは前記マイクロプロセッサと前記不揮発性メモリアレイとの間のデータおよびアドレス信号の転送を調整するよう構成されるインタフェースおよび制御回路をさらに含む、請求項6に記載のコンピュータシステム。
- 前記チップイネーブルアドレスエンコーダは、第1の数のメモリバンクが前記コンピュータシステムに接続されていることを前記構成レジスタが示す場合には、前記チップイネーブルアドレスエンコーダがお互いに排他的な関係で前記チップイネーブル出力線を駆動するよう構成されるようにプログラム可能であり、かつ前記チップイネーブルアドレスエンコーダは、第2の数のメモリバンクが前記コンピュータシステムに接続されていることを前記構成レジスタが示す場合には、1つより多いチップイネーブル信号が一度にアサートされるように前記チップイネーブル出力線を駆動するよう構成される、請求項10に記載のコンピュータシステム。
- 前記マイクロプロセッサおよび前記メモリコントローラは共通の集積回路チップ上で製作される、請求項7に記載のコンピュータシステム。
- メモリコントローラであって、
マイクロプロセッサと不揮発性メモリアレイとの間のデータおよびアドレス信号の転送を調整するよう構成されるインタフェースおよび制御回路と、
前記インタフェースおよび制御回路に結合され、前記不揮発性メモリアレイ内に与えられたメモリバンクの数を示す値を記憶するよう構成される構成レジスタと、さらに
前記構成レジスタに結合されたチップイネーブルアドレスエンコーダとを含み、前記チップイネーブルアドレスエンコーダは複数のチップイネーブル出力線を含み、前記チップイネーブルアドレスエンコーダは、第1の数のメモリバンクが前記不揮発性メモリアレイ内に与えられていることを前記構成レジスタが示せば、前記チップイネーブル出力線で所与のときに1つのチップイネーブル信号のみがアサートされるようにチップイネーブル出力線が駆動され、かつ第2の数のメモリバンクが前記不揮発性メモリアレイ内に与えられていることを前記構成レジスタが示せば、1つより多いチップイネーブル信号が一度に前記チップイネーブル出力線でアサートされるようにチップイネーブル出力線が駆動されるようにプログラム可能であり、メモリバンクの数を示す前記値は、前記メモリバンクのうちの1つに記憶されるブートコードの実行に応答して前記構成レジスタ内に記憶される、メモリコントローラ。 - 前記構成レジスタは前記メモリコントローラのパワーアップ時にデフォルト値を含む、請求項15に記載のメモリコントローラ。
- 前記チップイネーブルアドレスエンコーダは、前記デフォルト値が前記構成レジスタ内に記憶されている場合には、一度に1つのチップイネーブル出力線のみでチップイネーブル信号をアサートするよう構成される、請求項16に記載のメモリコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16632493A | 1993-12-10 | 1993-12-10 | |
US166324 | 1993-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07200398A JPH07200398A (ja) | 1995-08-04 |
JP3670041B2 true JP3670041B2 (ja) | 2005-07-13 |
Family
ID=22602776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30618994A Expired - Lifetime JP3670041B2 (ja) | 1993-12-10 | 1994-12-09 | 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5768584A (ja) |
EP (1) | EP0657818B1 (ja) |
JP (1) | JP3670041B2 (ja) |
DE (1) | DE69423304T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8929117B2 (en) | 2012-03-23 | 2015-01-06 | Kabushiki Kaisha Toshiba | Multi-chip package and memory system |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724604A (en) * | 1995-08-02 | 1998-03-03 | Motorola, Inc. | Data processing system for accessing an external device and method therefor |
JPH10116187A (ja) * | 1996-10-11 | 1998-05-06 | Mitsubishi Electric Corp | マイクロコンピュータ |
US6009522A (en) * | 1997-09-30 | 1999-12-28 | Micron Electronics, Inc. | Attachment or integration of a BIOS device into a computer system using the system memory data bus |
US6496911B1 (en) * | 1998-10-02 | 2002-12-17 | International Business Machines Corporation | Apparatus for memory bus tuning and methods therefor |
US6195749B1 (en) | 2000-02-10 | 2001-02-27 | Advanced Micro Devices, Inc. | Computer system including a memory access controller for using non-system memory storage resources during system boot time |
WO2003009195A1 (fr) * | 2001-07-16 | 2003-01-30 | Dmitry Alexandrovich Gertner | Structure «crafe » de protection cryptographique individuelle |
US20030097552A1 (en) * | 2001-11-19 | 2003-05-22 | Lewis Robert E. | Resilient boot prom loader |
US6976160B1 (en) * | 2002-02-22 | 2005-12-13 | Xilinx, Inc. | Method and system for controlling default values of flip-flops in PGA/ASIC-based designs |
US7234052B2 (en) * | 2002-03-08 | 2007-06-19 | Samsung Electronics Co., Ltd | System boot using NAND flash memory and method thereof |
JP4129381B2 (ja) | 2002-09-25 | 2008-08-06 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US7272709B2 (en) * | 2002-12-26 | 2007-09-18 | Micron Technology, Inc. | Using chip select to specify boot memory |
US20050086456A1 (en) * | 2003-09-29 | 2005-04-21 | Yaron Elboim | Addressing scheme to load configuration registers |
KR100590388B1 (ko) * | 2005-03-10 | 2006-06-19 | 주식회사 하이닉스반도체 | 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법 |
US8032688B2 (en) * | 2005-06-30 | 2011-10-04 | Intel Corporation | Micro-tile memory interfaces |
US8253751B2 (en) * | 2005-06-30 | 2012-08-28 | Intel Corporation | Memory controller interface for micro-tiled memory access |
WO2007011037A1 (ja) * | 2005-07-21 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | データの回転またはインターリーブ機能を有する半導体メモリ装置 |
FR2890200A1 (fr) * | 2005-08-25 | 2007-03-02 | St Microelectronics Sa | Procede de configuration d'un espace memoire divise en zones memoire |
JP2007299227A (ja) * | 2006-04-28 | 2007-11-15 | Toshiba Corp | 情報処理装置及び情報処理装置のブート方法 |
US7623367B2 (en) * | 2006-10-13 | 2009-11-24 | Agere Systems Inc. | Read-only memory device and related method of design |
US8878860B2 (en) * | 2006-12-28 | 2014-11-04 | Intel Corporation | Accessing memory using multi-tiling |
KR100819660B1 (ko) * | 2007-02-06 | 2008-04-07 | 주식회사 하이닉스반도체 | 반도체 패키지 |
JP2007157331A (ja) * | 2007-03-16 | 2007-06-21 | Ricoh Co Ltd | 複合化フラッシュメモリ及びそれを搭載した携帯用機器 |
US8402410B2 (en) * | 2007-08-27 | 2013-03-19 | Samsung Electronics Co., Ltd. | Method and apparatus for managing configuration memory of reconfigurable hardware |
US7791365B2 (en) * | 2007-10-19 | 2010-09-07 | International Business Machines Corporation | Remotely configurable chip and associated method |
JP5143601B2 (ja) * | 2008-03-24 | 2013-02-13 | 株式会社日立製作所 | 情報処理装置と情報処理方法およびストレージシステム |
JP2008251154A (ja) * | 2008-04-11 | 2008-10-16 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US9146747B2 (en) | 2013-08-08 | 2015-09-29 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for providing configurable computational imaging pipeline |
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4118773A (en) * | 1977-04-01 | 1978-10-03 | Honeywell Information Systems Inc. | Microprogram memory bank addressing system |
US4503491A (en) * | 1981-06-29 | 1985-03-05 | Matsushita Electric Industrial Co., Ltd. | Computer with expanded addressing capability |
JPS60157646A (ja) * | 1984-01-27 | 1985-08-17 | Mitsubishi Electric Corp | メモリバンク切換装置 |
JPH0246490A (ja) * | 1988-08-06 | 1990-02-15 | Mitsubishi Electric Corp | メモリ回路 |
US5005157A (en) * | 1989-11-13 | 1991-04-02 | Chips & Technologies, Inc. | Apparatus for selectively providing RAS signals or RAS timing and coded RAS address signals |
US5307497A (en) * | 1990-06-25 | 1994-04-26 | International Business Machines Corp. | Disk operating system loadable from read only memory using installable file system interface |
US5245572A (en) * | 1991-07-30 | 1993-09-14 | Intel Corporation | Floating gate nonvolatile memory with reading while writing capability |
-
1994
- 1994-12-09 JP JP30618994A patent/JP3670041B2/ja not_active Expired - Lifetime
- 1994-12-12 DE DE69423304T patent/DE69423304T2/de not_active Expired - Lifetime
- 1994-12-12 EP EP94309256A patent/EP0657818B1/en not_active Expired - Lifetime
-
1996
- 1996-09-10 US US08/710,047 patent/US5768584A/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8929117B2 (en) | 2012-03-23 | 2015-01-06 | Kabushiki Kaisha Toshiba | Multi-chip package and memory system |
US9355685B2 (en) | 2012-03-23 | 2016-05-31 | Kabushiki Kaisha Toshiba | Multi-chip package and memory system |
USRE48449E1 (en) | 2012-03-23 | 2021-02-23 | Toshiba Memory Corporation | Multi-chip package and memory system |
Also Published As
Publication number | Publication date |
---|---|
DE69423304T2 (de) | 2000-10-26 |
US5768584A (en) | 1998-06-16 |
DE69423304D1 (de) | 2000-04-13 |
JPH07200398A (ja) | 1995-08-04 |
EP0657818B1 (en) | 2000-03-08 |
EP0657818A1 (en) | 1995-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3670041B2 (ja) | 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ | |
US5937423A (en) | Register interface for flash EEPROM memory arrays | |
US6286057B1 (en) | Method and arrangement for allowing a computer to communicate with a data storage device | |
US5963983A (en) | Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device | |
US8762703B2 (en) | Boot partitions in memory devices and systems | |
US7007140B2 (en) | Storage device, storage device controlling method, and program | |
US5761732A (en) | Interleaving for memory cards | |
JPH11161547A (ja) | データ処理装置用記憶装置、および記憶場所にアクセスする方法 | |
US5630099A (en) | Non-volatile memory array controller capable of controlling memory banks having variable bit widths | |
US7136986B2 (en) | Apparatus and method for controlling flash memories | |
JPS607301B2 (ja) | コンピュ−タ・システム | |
JPH0719426B2 (ja) | デイスク制御装置 | |
US11249678B2 (en) | Serial memory device single-bit or plurality-bit serial I/O mode selection | |
US5127096A (en) | Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes | |
US7124261B2 (en) | Access to bit values within data words stored in a memory | |
KR100534613B1 (ko) | 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법 | |
US6516398B2 (en) | Program-downloadable data processing system and method for accessing memory by using a unified memory space therein | |
JPS5886651A (ja) | ワ−ド編制メモリのバイト参照方法及びメモリ・システム | |
KR20030000017A (ko) | 플래시 메모리 제어 장치 및 플래시 메모리 제어 방법 | |
JP3449749B2 (ja) | 情報処理装置 | |
WO1998007099A1 (en) | A microcontroller including an internal memory unit and circuitry to generate an associated enable signal | |
JP2954988B2 (ja) | 情報処理装置 | |
US20100131711A1 (en) | Serial interface cache controller, control method and micro-controller system using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040824 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041122 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050222 |
|
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: 20050329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050413 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090422 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090422 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100422 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110422 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110422 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120422 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120422 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130422 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130422 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |