JP3853537B2 - Semiconductor memory file system - Google Patents

Semiconductor memory file system Download PDF

Info

Publication number
JP3853537B2
JP3853537B2 JP12385499A JP12385499A JP3853537B2 JP 3853537 B2 JP3853537 B2 JP 3853537B2 JP 12385499 A JP12385499 A JP 12385499A JP 12385499 A JP12385499 A JP 12385499A JP 3853537 B2 JP3853537 B2 JP 3853537B2
Authority
JP
Japan
Prior art keywords
memory
semiconductor memory
output
data
semiconductor
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 - Fee Related
Application number
JP12385499A
Other languages
Japanese (ja)
Other versions
JP2000315185A (en
Inventor
隆之 田村
忠宏 河岸
隆司 常広
国弘 片山
一男 中村
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.)
Hitachi Ltd
Hitachi Advanced Digital Inc
Original Assignee
Hitachi Ltd
Hitachi Advanced Digital 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 Hitachi Ltd, Hitachi Advanced Digital Inc filed Critical Hitachi Ltd
Priority to JP12385499A priority Critical patent/JP3853537B2/en
Publication of JP2000315185A publication Critical patent/JP2000315185A/en
Application granted granted Critical
Publication of JP3853537B2 publication Critical patent/JP3853537B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、回転機構を有しない半導体を用いたファイルシステムに係わり、特に大容量化を行うのに適した半導体ファイルシステムに関する。
【0002】
【従来の技術】
半導体記憶を用いたファイルシステムは電気的消去可能な不揮発性メモリを用いて構成することで、低消費電力、省スペースを可能とする。また半導体プロセスの微細化により半導体メモリの容量は増加しつつはあるがハードディスクのような大容量にするには数多くの半導体メモリを接続する必要があり、各半導体メモリに対して半導体メモリの数だけICセレクト信号を用意したり、メモリICにICアドレス設定端子を用意してICセレクト信号を削減している。このような従来技術は、例えばUS Patent 540859 Jul.4、1995に開示されている。
【0003】
【発明が解決しようとする課題】
半導体メモリを用いて省スペース大容量のファイルシステムを構成する場合、半導体メモリの持つデータ容量はハードディスクシステムに対して1桁以上小さなものとなっているため、多数の半導体メモリを使用する必要がある。
【0004】
多数の半導体メモリを接続するために半導体メモリと、コントローラや、半導体メモリ同士を共通の信号線で接続する場合、通常コントローラや、半導体メモリの出力バッファの駆動能力は、10個ぐらいで多くても16個、20個程度が限度と考えられ、これ以上に多くの半導体メモリを使用するには、バッファICなどを用いて複数に分けて接続する必要がある。
【0005】
しかしながら、バッファICを使用することによって、PCカードなどの小型の実装エリアの限られた機器ではバッファICによって実装できる半導体メモリの数が制限されてしまう。
【0006】
また、半導体メモリを制御するコントローラICで複数に分ける場合では、前記コントローラICの端子数を増やすことになり、前記コントローラICのパッケージサイズが大きくなり、結果として半導体メモリの数が制限されてしまう。
【0007】
本発明は上述した問題点を考慮してなされたもので、その目的は大容量化に有利な構成を有する半導体メモリファイルシステムを提供することにある。
【0008】
また、本発明の他の目的は、半導体メモリにデータや制御信号に対するバッファを内蔵させた半導体メモリファイルシステムを提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために本発明は、ホストより発行されたコマンドに応じた動作を行うマイクロプロセッサ及び制御装置を備えるコントローラと、前記コントローラに接続された第1の半導体メモリとを有する半導体メモリファイルシステムにおいて、前記第1の半導体メモリに加えて複数の半導体メモリをさらに備え、前記第1の半導体メモリはデータ及び制御信号のうち少なくとも一方のためのバッファを内蔵し、前記複数の半導体メモリは前記第1の半導体メモリより分配した信号により前記コントローラと接続されることを特徴とする。
【0010】
【発明の実施の形態】
本発明の一実施形態を図2を用いて説明する。
【0011】
本実施形態における半導体メモリファイルシステムは、例えば図2に示すように、HOST1よりデータ信号制御信号が接続され、マイクロプロセッサ3、制御部4より成るコントローラ2と、メモリ10とより構成される。
【0012】
HOST1より種々のコマンドが発行され、HOST1とコントローラ2との間で、HOST1より発行されたコマンドに対応したデータのやり取りを行う。マイクロプロセッサ3はHOST1より発行されたコマンドを解釈し、発行されたコマンドに対応した動作をコントローラ2へ指示する。
【0013】
例として、HOST1より発行されたコマンドがReadコマンドの場合、マイクロプロセッサ3はメモリ10から、HOST1が発行したReadコマンドのアドレスに対応したメモリ10にあるデータを、コントローラ2を介して読み出し、該読み出したデータをHOST1のRead動作に合わせて順次出力する。また、HOST1が発行したコマンドがWriteコマンドの場合、HOST1によってコントローラ2に書き込まれたデータを、HOST1が指定したアドレスに対応したメモリ10のアドレスに書き込む。
【0014】
本発明で使用する個別のメモリ100aの内部ブロック構成の一例を図1に示す。メモリ100aは、上記図2のメモリ10を構成するもので、メモリ部11、コマンド制御部12、コマンドレジスタ13、チップアドレスレジスタ14、比較器15、チップアドレス設定レジスタ16、及びSEL17を備えている。メモリ100aはコマンド発行式メモリで、主な入力端子としてDI200、CKI300及びCMDI400が有り、出力端子としてDO201、CKO301及びCMDO401がある。また、この他に不揮発性メモリ100aの電源投入時等に初期化を行うリセット端子等がある。
【0015】
DI200はCKI300に同期して送られる。CMD400はDI200から送られてくるデータの区切りを示す信号で、図4に示すように、DI200はマイクロプロセッサ3の指示でコントローラ2から出力され、チップアドレス2000、コマンド2100、データアドレス2300、データ2200の順で送られる。データアドレス2300、データ2200は発行されるコマンドが必要としない場合は省略される。
【0016】
図4に示す例では、まずコントローラ2から出力されるCMD400が"L"レベルから"H"レベルにアサートしたことを、図1のコマンド制御部12が検出し、チップアドレスレジスタ14へDI200の入力制御信号24をアサートし、チップアドレスレジスタ14へチップアドレス2000を取り込み、入力制御信号24はDI200からチップアドレス2000の取込の終了でネゲートされる。
【0017】
比較器15はチップアドレスレジスタ14とチップアドレス設定レジスタ16の値を比較し、コマンド制御部12へ比較結果25を出力する。
【0018】
さらに、コマンド制御部12は、チップアドレス2000の取込の終了時点のチップアドレスレジスタ14とチップアドレス設定レジスタ16の比較結果25の値を取り込んで、コマンド制御部12の内部ステータスとして保持し、DI200からコマンド2100をコマンドレジスタ制御信号23をアサートし、コマンドレジスタ13に取り込む。
【0019】
通常、チップアドレスレジスタ14とチップアドレス設定レジスタ16の値が一致していればコマンド制御部12では取り込んだコマンドに応じた動作を行うが、チップアドレスレジスタ14とチップアドレス設定レジスタ16の値比較する必要のないコマンドの場合は、比較結果を無視して取り込んだコマンドに応じた動作を行う。
【0020】
CE700はメモリのチップイネーブル入力でCE700がアサートされているのをうけてコマンド制御部12は、DO201、CKO301、CMDO401から値を出力するように制御し、またCE700のネゲートをうけて前記DO201、CKO301、CMDO401の出力を"Hi-z"状態となるように制御する。
【0021】
図6は、図1におけるDI200とDO201をシリアルから複数のbit幅にした時のメモリ100bの内部ブロック構成例を示す。
【0022】
本例のメモリ100bは基本的には図1に示す構成のメモリ100aと同じような回路構成となっている。異なるのはDI200、DO201のデータ幅が1bitから多数bitになっている。
【0023】
このため、本例のメモリ100bでは、コマンドレジスタ13、チップアドレスレジスタ14、チップアドレス設定レジスタ16が図1ではシフトレジスタ構成だったのがデータをパラレルにロードする形式のレジスタになっている。ただし、コマンドレジスタ13、チップアドレスレジスタ14、チップアドレス設定レジスタ16のbit数がDI200、DO201の bit数より多い場合は、複数回に分けてデータをロードする。
【0024】
図3は、図1または図6に示された構成のメモリ100〜159を有するメモリ10と、コントローラ2との接続例を示す。
【0025】
図3においてコントローラ2からCKO300、CMDO400及びDO200がメモリ100、110、120、・・・、159の対応するDI、CKI、CMDI入力へ接続され、コントローラ2からCE0がメモリ100、101、102、・・・、109のCE入力へ、またコントローラ2からCE1がメモリ110、111、112、・・・、119のCE入力へ、コントローラ2からCE2がメモリ120、121、122、・・・、129のCE入力へ接続されている。
【0026】
図3に示すように本例では、メモリ100、101、102、・・・、109は縦列に接続され、同様にメモリ110、111、112、・・・、119及び、メモリ120、121、122、・・・、129、メモリ150、151、152 、・・・、159もそれぞれ縦列に接続され、メモリ109、119、129、・・・、159のDO出力はWired接続されコントローラ2のDI入力へ出力され、同様に、メモリ109、119、129、・・・、159のCKO出力もWired接続されコントローラ2のCKI入力へ出力される。
【0027】
このときのメモリ109、119、129、・・・、159のDO309及びCKO209は、図4に示すようにデータ2201だけをメモリ109がコントローラ2へ出力し、他のメモリ119、129、 ・・・、159の出力は"Hi-z"になる
このようにメモリを縦列に接続することによって縦列に接続されたメモリとメモリとの信号線の接続が1対1になる。このため、メモリの信号端子の配置を最適化し、基板に実装する時の信号の配線長を短くすることが可能となり、等長配線も簡単にできる。
【0028】
図3において、メモリを縦列に接続する時には、コントローラ2や各メモリのDIに入力されるデータやコマンドやアドレスデータとCKI入力に入力されるクロック信号との間に発生するスキューがメモリを通過するたびに増えてゆくため、クロックの周波数とメモリを縦列に接続する個数を考慮する必要がある。
【0029】
メモリ100へ発行する基本的なコマンドは"Read"、"Write"、"Erase"、"Status Read"等があるが、本発明では上記以外に図1のチップアドレスレジスタ16にチップアドレスを再設定できるコマンドを有する。
【0030】
本発明の特徴となる上記"チップアドレス再設定"コマンドについて、図2及び図5を用いて説明する。なお、本明細書のタイミングチャートの説明において断りがない限り、タイミングチャートの波形の"Hi"レベルをアサート状態もしくはアサーション、"Lo"レベルをネゲート状態もしくはネゲーションと表記する。
【0031】
図5において、CKI300に同期して入力されるDI200は、チップアドレス2000、コマンド2100として"チップアドレス再設定"コマンド、データ2200として新アドレスが順次入力される。ここで、チップアドレス2000、チップアドレスレジスタ14への取り込みとチップアドレスの比較、および、コマンド2100のコマンドレジスタ13への取り込みは前述と同様に行われる。
【0032】
コマンド2100がチップアドレス再設定コマンドと検出したコマンド制御部12は、コマンド2100の後に続くデータである新チップアドレス2200をチップアドレス設定レジスタ16に取り込むために制御信号26をアサートし、チップアドレス設定レジスタ16に新チップアドレスを取り込むと同時に、DO201からは新チップアドレス2200を取り込む前の旧チップアドレス2201を出力する。
【0033】
また、図1、図6において電源投入時等に行うメモリのリセットによって、メモリ100のチップアドレス設定レジスタ16の値は、全てのbitが"1"に初期化される。ここで図1もしくは図6におけるチップアドレスレジスタ14、及びチップアドレス設定レジスタ16のbit数を8bitとして、図3におけるメモリのチップアドレスの設定処理について説明する。
【0034】
メモリのリセット信号は簡略のため図3においては表記していないが、メモリのリセットによって図3の全てのメモリ100、101、102、・・・、159のチップアドレス設定レジスタ16の値は16進数で"FF"になる。以後、16進数で"1B"を"0x1B"というように表現する。
【0035】
まず、図3のメモリ100、101、102、・・・、109のチップアドレスの設定について、図5を参照して説明する。
【0036】
メモリのリセット後、各メモリ100、101、102、・・・、109のチップアドレス設定レジスタ16の値は"0xFF"となっている。ここでまず、図1のマイクロプロセッサ3はコントローラ2に対してCE0〜CEnのうちCE0のみをアサートすることを指示する。これによってメモり100〜109までが動作可能状態となり、メモリ110〜159までは各出力端子は"Hi-z"となる。
【0037】
次に、マイクロプロセッサ3はコントローラ2に、メモリに対して"チップアドレス再設定"コマンドの発行を指示する。このときのチップアドレス2000は"0xFF"を、また新チップアドレス2200には"0xFF"以外の固有の値を、例えば"0x00"を与える。前記動作でメモリ100のチップアドレス設定レジスタ16の値は"0xFF"から"0x00"になり、メモリ100のDO201からは旧チップアドレス2201として"0xFF"が出力される。したがって、メモリ101以降には新チップアドレスが"0xFF"が入力されるのでメモリ101以降のチップアドレス設定レジスタ16の値は"0xFF"のままとなる。
【0038】
同様にもう一度、"チップアドレス再設定"コマンドの発行を新チップアドレス2200の値を"0xFF"以外の新たな値で行うことで、メモリ101のチップアドレス設定レジスタ16が再設定される。このときメモリ100は、すでに新しいチップアドレスに再設定されているので今回のコマンドには反応せず、メモリ100のチップアドレス設定レジスタ16の値は変らない。
【0039】
以降同様に、"チップアドレス再設定"コマンドを新チップアドレス2200の値を順次新たな値で発行することで、メモリ109までのチップアドレスの設定ができる。
【0040】
ここで、メモリ100からメモリ109までのメモリに対して"チップアドレス再設定"コマンドの発行を行っている間は、コントローラ2のDI入力には新アドレス2200は"0xFF"が返ってくる。これに対してメモリ100からメモリ109までのメモリの個数以上に"チップアドレス再設定"コマンドの発行を行った場合、"チップアドレス再設定"コマンドの発行した回数がメモリの個数を越えた時点でコントローラ2のDI入力に返ってくる値が"0xFF"でなく再設定しようとした値が返って来る。これを利用して発行した回数を数えることで、メモリ100からメモリ109までの、メモリ100およびメモリ109を含めたメモリの数を知ることができる。
【0041】
以降、同様にしてメモリ110からメモリ119、メモリ120からメモリ129、・・・、メモリ150からメモリ159を設定する。
【0042】
このようにメモリにバッファを内蔵し縦列に接続することによりコントローラ2のメモリに接続する端子の増加を最少に押さえることができる。以下に、16×16=256個のメモリを接続する場合について、本実施形態による効果を説明する。
【0043】
通常、1系統のデータバスに接続できるメモリは16個程度が限度と考えられており、よって、256個のメモリを接続するには、データバスが16系統必要となる。このような場合、従来のメモリコントローラの信号線の数は、16系統×8bit=128個の端子が必要となる。これは、本来なら256個分のメモリのCEが必要になることとなる。
【0044】
しかし、本実施形態の図3に示した接続方法によれば、メモリコントローラはDO出力にメモリ16個、DI入力にメモリ16個を接続することができる。ここで、図3に示すメモリは行列の状態となるように配置されている。したがって、データバスに8+8=16個の端子とCE用に16個の端子とで、本実施形態によれば(8+8)+16=32の端子だけが必要となる。
【0045】
したがって、本実施形態の図3に示した接続方法によれば、CE用の端子を含めてもメモリコントローラに必要となる端子数は、従来技術の場合よりも非常に少ない数に押さえることができるという、大きな効果を奏する。
【0046】
また、CE700と併用することで、CE700がネゲート状態にある間メモリが出力する信号を"Hi-z"にし、出力の消費する電流を抑え、メモリ全体の消費電力を抑えることができる。
【0047】
前述の説明でメモリのチップアドレスの設定について説明したが、次に他の方法によるチップアドレスの設定について説明する。
【0048】
図1や、図3、図6では省略しているが電源投入後にメモリの初期化を行う時、メモリへ出力するリセット信号をアサートするが、このリセット信号とコントローラ2から出力するCMDOのレベルの組み合わせで、チップアドレスの設定を行う。
【0049】
すなわち、リセット信号がアサートされ、CMDO信号がネゲートされている時はメモリの初期化を行い、リセット信号がアサートされ、CMDO信号がアサートされればメモリのチップアドレスの設定モードになるようにする。以下、図7を用いて説明する。図7においてリセットは図3のコントローラ2もしくは図2のマイクロプロセッサ3から図3のメモリ100、101、・・・、159へ出力される。但し、メモリの数が多くなるので図3のコントローラ2から出力されるCMDOと同様の配線方法を取る。
【0050】
図7においてまず、リセット信号がアサートされることで各メモリの初期化を行い、全てのメモリのチップアドレス設定レジスタ16の値を"0xFF"にする。
【0051】
次にリセット信号がアサート、CMDOをアサートしチップアドレス設定モードにし、メモリ100、101、・・・、109のチップアドレスを設定するためにCE0をアサートする。これによりメモリ100、101、・・・、109のDO201はチップアドレス設定レジスタ16の値を選択し出力する。この状態でコントローラ2のDO出力から各メモリ100、101、・・・、109へ設定するアドレスをコントローラ2から出力するCKOに同期して出力してゆく。
【0052】
コントローラ2のDO出力からメモリへ出力するデータは、まず最初にリセットでアドレス設定レジスタに初期化された"0xFF"以外の値を(ここでは"0x00")を出力し、以降順次図7のように"0xFF"から値を1づつ減じた値を出力してゆく。
【0053】
メモリ100は、前記コントローラ2からのDO出力をCKOの立上がりでチップアドレス設定レジスタ16に取り込み、取り込んだデータはCKOの立ち下がりでSEL17を経由しメモリ100のDO201へ出力する。以下同様にしてメモリ101、102、・・・、109とデータがシフトし、メモリ109のDO出力先のコントローラ2のDI入力に入力されるデータが"0xFF"から"0x00"になるまでコントローラ2のDO出力から1づつ減じたデータ及びCKO出力からクロックを順次出力する。
【0054】
これによりメモリ100〜109までのチップアドレス設定レジスタ16の値はメモリ109が"0xFF"となり、メモリ109からメモリ100へ順次1づつ減じた値が設定され、メモリ100〜109までの間にメモリ100とメモリ109とを含めて物理的に256個のメモリを接続でき、256個接続されていれば図7のメモリ100、101、102のチップアドレス設定レジスタ16の値は"0x00"、"0x01"、"0x02"が設定される。
【0055】
その後CE0をネゲートしてメモリ100〜109のチップアドレス設定レジスタ16の設定を終了する。以下同様に、メモリ110〜119、メモリ120〜129、・・・、メモリ150〜159についてチップアドレス設定レジスタ16の設定を行う。その後、前記のチップアドレス設定コマンドを使用して各メモリのチップアドレスを所望の値に再設定する。
【0056】
次に、図6のメモリにおいて双方向データバスを扱うことを可能にしたメモリ100cについて、図8、図9を参照して説明する。なお、図9に示されている全てのメモリは、図8に示す構成を備えているものとする。
【0057】
図8に示す本例のメモリ100cは、図6に対してOE入力800、WE入力900、SI入力600、SO出力601、IN入力500、OUT出力501、及びSEL19が追加され、DI200及びDO201は双方向データバスが扱えるようになっている。
【0058】
OE入力800、WE入力900はDI200とDO201の入出力制御に利用し、図9のようにコントローラ2のDに接続されたデータバスはメモリ100、110、120、、、150のDIに接続され、各メモリ100、110、120、、、150のDOから分配される。
【0059】
すなわちメモリ100、110、120、、、150はメモリとしての機能の他にバスバッファの機能を併せて持つことになり、メモリ100のDOより分配されるデータバスにはメモリ101、102、103、・・・、109のDIに接続され、メモリ110のDOより分配されるデータバスにはメモリ111、112、113、・・・、119のDIに、メモリ150のDOより分配されるデータバスにはメモリ151、152、153、・・・、159のDIに接続される。
【0060】
コントローラ2から出力される制御信号CE、OE、WE、CKO、CMDOは図9に示すように各メモリのIN、OUTを使用して分配する。
【0061】
図8におけるSI500とSO501は図9のように双方向データバスを使用する場合、入力のデータバスと出力のデータバスが分離されていないため、電源投入直後の初期化後の前記"チップアドレス再設定"コマンドが使用できない。このため、本例では、図9のようにコントローラ2のSO出力からメモリ100のSI入力に接続され、順次メモリ100のSO出力よりメモリ101のSI入力、、、、メモリ159のSO出力からコントローラ2のSI入力に接続し、メモリ100からメモリ159までのチップアドレス設定レジスタ16を1個のシフトレジスタとして構成するモードを持つことで、電源投入時等のメモリの初期化後のチップアドレス設定レジスタの設定に使用する。
【0062】
このような構成によれば、すべてのメモリのチップアドレス設定レジスタを併せた全体で、実質的に1個のシフトレジスタとして機能させることができる。
【0063】
以上のようにメモリ内に、図1、図3、図8に示すようなデータバスを分配するバスバッファや制御信号を分配するために使用する独立したバッファ等のバッファを内蔵することにより、データや制御信号のためのバッファ用のICが不要となり、コントローラ2に接続する信号線数の増加を最少にできる。したがって、コントローラ2もしくは制御部4をIC化する場合において、メモリに接続する端子の数を少なくできるのでICのパッケージを小さくできるため高密度実装に有利となる。
【0064】
図10に、図1および図6、図8におけるメモリ100における比較器15の詳細構成の一例を示す。
【0065】
比較器15は、図10に示すように、チップアドレスレジスタ14とチップアドレス設定レジスタ16の対応するbitどうしの値の一致をENOR31で比較し、全てのbitが一致したとき、すなわちENOR31の出力が全て"Hi"レベルになったことをAND32でANDをとることで検出し、チップアドレスの一致出力25をアサートしコマンド制御部12に伝える。
【0066】
またアドレスグループ設定レジスタ18およびOR−AND33は、図3におけるメモリ109、119、129、、、、159および図9におけるメモリ100、110、120 、、、150で有効に働く機能で、例えば図3においてコントローラ2から出力されるCE0およびCE1、CE2、、、、CEn等が同時にアサートされた状態にあるときでも、コントローラ2が発行するコマンドがメモり101に対するコマンドの場合に、メモリ109はメモリ100からメモリ109に対して発行されたコマンドであることを認識するのに使用し、メモリ109から出力するDO出力を有効にする。
【0067】
一例として図3においてメモリ100からメモリ159のチップアドレス設定レジスタ16に設定した値について、メモリ100が"0x00"で、メモリ101が"0x01"、メモリ102が"0x02"、、、メモリ109が"0x07"、メモリ110が"0x08"、メモリ111が"0x09"、メモリ112が"0x0A"、、、メモリ119が"0x0F"、と図3における各メモリのチップアドレス設定レジスタ16の値は、他のメモリと異なる値でかつ縦列に接続されたメモリのチップアドレス設定レジスタ16の値の各bitの値が共通の値となるように設定する。上記の場合、例えばメモリ100からメモリ109についてはbit0からbit2の3bitが異なる値となり、bit3からbit7の5bitが共通の値となるように設定する。
【0068】
ここで上記のようにメモリ100からメモリ119に設定され、CE0とCE1が同時にアサートされる場合を想定する。このような場合、図10のアドレスグループ設定レジスタ18の値は、図3のメモリ100〜119については"0x07"をコントローラ2から設定するコマンドを発行することで、メモリ100〜119のアドレスグループ設定レジスタ18を"0x07"に設定する。
【0069】
この状態でコントローラ2からメモリ102に対してメモリの内容を読み出す"Read"コマンドを発行した場合、発行する"Read"コマンドのチップアドレス2000は"0x02"となり、各メモリのチップアドレスレジスタ14に取り込まれる。図10において、比較器15の出力25が"Hi"レベルとなりアサートされるのはメモリ102だけで、また比較器15の出力34が"Hi"レベルとなるのは図3におけるメモリ100からメモリ109となる。
【0070】
またメモリ109のコマンド制御部12は、DO201、CKO301、CMDO501の各出力に対して信号の出力の許可を与えるように制御する。またメモリ119は、メモリ119の比較器15の出力34がアサートされないため、メモリ119のコマンド制御部12はDO201、CKO301、CMDO501に対して出力を"Hi-z"になるように制御することにより、メモリ109の出力とのあいだで同時出力を避けることができる。
【0071】
上記例ではメモリ100から順に"0x00"、"0x01"、"0x02"、、、と昇順にチップアドレス設定レジスタ16の値を設定したが、降順に設定してもよい。
【0072】
また以下のようにメモリ100に"0x00"、メモリ101に"0x10"、メモリ102に"0x20"、、、メモリ109に"0x70"、メモリ110に"0x80"、メモリ111に"0x90"、メモリ112に"0xA0"、、、メモリ119に"0xF0"、メモリ120に"0x01"、、、と設定することも可能で、この場合各メモリのアドレスグループ設定レジスタ18の値を"0x70"と設定することで上述と同様のことができる。
【0073】
図9においても、アドレスグループ設定レジスタ18は、コントローラ2に接続されるメモリのデータバスへの出力制御に用いる。
【0074】
図9において各メモリ100からメモリ159に対してメモリ100が"0x00"で、メモリ101が"0x01"、メモリ102が"0x02"、、、メモリ109が"0x07"、メモリ110が"0x08"、メモリ111が"0x09"、メモリ112が"0x0A"、、、メモリ119が"0x0F"、、、、メモリ150が"0xF8"、メモリ151が"0xF9"、メモリ152が"0xFA"、、、メモリ159が"0xFF"、と各メモリのチップアドレス設定レジスタ16にメモリのチップアドレスを設定し、各メモリのアドレスグループ設定レジスタ18に"0x07"を設定する。
【0075】
例として、コントローラ2からメモリ102へデータをWriteする場合を図11を用いて説明する。図11は、図9のように接続されている場合のコントローラ2から発行されるコマンドに対する各メモリにおける入出力のタイミングの1例である。図11に示す例においては、メモリのDI200にコントローラ2から発行されるチップアドレス2000、コマンド2100、データアドレス2300、がWE900と共に入力される。チップアドレス2000はメモリのチップアドレスレジスタ14に、コマンド2100はコマンドレジスタ16に格納され、メモリ102はデータ2200のWrite転送を行いメモリ102のメモリ部11に格納する。
【0076】
また、コントローラ2がメモリ102のデータをReadする場合は、メモリ102からのデータを読み出すために図11に示すように、データ2200をReadする所ではWE900はアサートせずにOE800をアサートすることでメモリ102はデータ2200を出力する。さらに、メモリ100は図10のグループアドレス設定レジスタ18によって比較器15からの出力34がアサートされ、メモリ100は当該メモリ100のDO201に接続されているメモリの1つであるメモリ102からのデータ2201をコントローラ2へ出力する。
【0077】
ここでメモリ100以外のデータを分配するメモリ110、、、メモリ150は、各メモリの内蔵する比較器15の出力34がアサートされないため、コントローラ2に対するデータは"Hi-z"状態となる。
【0078】
このようにグループアドレス設定レジスタ18によって、コントローラ2への各メモリのデータの出力同士がぶつかることなくデータのRead処理が実行できる。
【0079】
また、図9においても、図3のようにCEをそれぞれのバスグループ別に分けることで複数のメモリを接続したときのアクティブな状態にあるメモリを少なくすることができ、またSI600及びSO601を図3のDI、DOのように結線すれば各バスグループに接続されているメモリ数を個別に計数可能になる。
【0080】
図3においてメモリ109、119、129、159とこれら以外のメモリの区別や、図9におけるメモリ100、110、150とこれら以外のメモリの区別には、図1、図6、図8のメモリに動作機能を区別するための入力を1個ないし複数設け、入力レベルの組合わせにより区別することで、1個のメモリで複数の機能あるいは動作モードを持たせることができる。
【0081】
以下では、図8でチップアドレス設定レジスタ16の初期化後のチップアドレスアドレス設定法として行っていたシフトレジスタ構造とは別の方法による設定を可能にした実現例を、図12を参照して説明する。
【0082】
図8の例では、メモリ100cの初期化後にチップアドレス設定レジスタ16の値を直接設定するために使用していたSI600とSO601は、チップアドレス設定レジスタ16には接続されずに、コマンド制御部12に接続されそれぞれSI600はチップアドレス設定レジスタ16に対する設定許可信号として、またSO601はメモリ100の初期化後のチップアドレス設定レジスタ16がコントローラ2によって設定されたことを示す出力として使用する。
【0083】
これに対して、図12のメモリの接続は図8のメモリで説明した図9のように構成でき、図9においてコントローラ2のSOからは電源投入時等のメモリの初期化後のチップアドレス設定レジスタ16のチップアドレス設定信号を出力し、コントローラ2のSI入力には図9のメモリ全てのチップアドレスの設定が完了したことを知らせる信号が入力される。
【0084】
図9及び図12における各メモリのチップアドレス設定レジスタ16の設定例を図13を参照して説明する。なお、本例では、メモリのリセットによる初期化後のチップアドレス設定レジスタ16の設定モードを、クロックとクロックに同期したデータとを使用して設定する。
【0085】
図13において、リセットのアサートにより全メモリのコントロール部の初期化を行い、その後コントローラ2よりCMDOをアサートして、チップアドレス設定レジスタ16の設定モードにする。コントローラ2はCEOとSOをアサートした後、CKOに同期してチップアドレス設定レジスタ16に設定する値をDOから出力する。
【0086】
図12において、チップアドレス設定レジスタ16の設定モードでは、メモリ100は当該メモリ100のCE800、SI600入力がアサートかつメモリ100のSO出力がネゲートされているとき、メモリ100は当該メモリ100のCKI入力の立ち下がりエッジで、当該メモリ100のDIに入力された値をチップアドレス設定レジスタ16に取り込む。
【0087】
図9において、リセット後チップアドレス設定レジスタ16の設定モードになった後、コントローラ2の最初のCKOの立ち下がりでは、メモリ100のCE800、SI600入力がアサートされ、メモリ100のSO出力がネゲートされているので、コントローラ2のDOのデータ"0x00"をメモリ100のチップアドレス設定レジスタ16に取り込む。
【0088】
取り込んだ後メモリ100は、SO出力をアサートもしくはメモリ100のSI入力の値を出力する。コントローラ2の最初のCKOの立ち下がりにおいて、メモリ101以降は、当該メモリ101以降のSI入力がネゲートされているので、メモリ101以降のチップアドレス設定レジスタ16に取り込まれることはない。
【0089】
次に、コントローラ2の2番目のCKOの立ち下がりでは、メモリ100はSO出力がアサート状態のためチップアドレス設定レジスタ16に取り込まれず、メモリ101のSI600がアサートされSO出力はネゲートのため、メモリ101がコントローラ2のDOからのデータ"0x01"をチップアドレス設定レジスタ16に取り込む。
【0090】
以降、同様にメモリ103から順次各メモリのチップアドレス設定レジスタ16にコントローラ2のDOからのデータが取り込まれ、図9の最後のメモリ159に取り込まれた後、メモリ159はSO601出力をアサートもしくはメモリ159のSI入力の値を出力し、コントローラ2へ図9の全メモリのチップアドレス設定レジスタ16の設定が終了したことをしらせる。
【0091】
コントローラ2は、当該コントローラ2のSI入力がアサートされるまでに出力した各メモリへのチップアドレス設定レジスタ16の設定データの数を計数することで、図9のメモリの数を知ることができる。
【0092】
図14に、図12のメモリと図9の接続構成におけるメモリのチップアドレス設定レジスタ16の設定例の動作例を示したタイミングチャートを示す。
【0093】
本例では、電源投入後のメモリのリセットや、チップアドレス設定レジスタ16の初期化コマンドにより、図9の各メモリのチップアドレス設定レジスタ16は"0xFF"に初期化され、各メモリのSO601出力をネゲートする。ここで図9の各メモリは各メモリのSI600入力及びCE700入力がアサートされないと、コントローラ2からのコマンドはチップアドレスが一致していても受け付けないものとする。
【0094】
コントローラ2は、当該コントローラ2のSO出力をアサートした後、コントローラ2のDOよりチップアドレス2000"0xFF"及びチップアドレス再設定コマンド2100及び新チップアドレス2200(ここでは"0x00")を出力して最初のチップアドレス再設定コマンドをチップアドレス"0xFF"のメモリに対して発行する。
【0095】
ここで、図9において各メモリのチップアドレス設定レジスタ16は"0xFF"に初期化され、SO出力は初期化によってネゲートされているため、コントローラ2が初期化後最初に発行するチップアドレス再設定コマンドの発行を受け付けるメモリはメモリ100だけとなる。
【0096】
メモリ100のチップアドレス設定レジスタ16の値は"0x00"に設定され、メモリ100のSO601出力をアサートもしくはメモリ100のSI600に入力された値を出力する。ここでは例としてメモリ100に設定する値は"0x00"としているが、実際にはリセットによって初期化された値以外の値をチップアドレス設定レジスタ16に設定するようにする。
【0097】
次に、2番目のチップアドレス再設定コマンドとしてチップアドレス2001及びチップアドレス再設定コマンド2101及び新チップアドレス2201をコントローラ2のDO出力より出力する。ところで、このときメモリ100のチップアドレス設定レジスタ16の値はすでに"0xFF"以外の値が設定されている。このためメモリ100はコマンドを受け付けず、メモリ101が2番目のチップアドレス再設定コマンドを受け付け、チップアドレス設定レジスタ16に新チップアドレスを設定し、新チップアドレスの設定後にメモリ101のSO601 出力をアサートもしくはSI600 に入力された値を出力する。
【0098】
以後同様に、順次各メモリのチップアドレス設定レジスタ16を設定してゆき、最後のメモリ159のチップアドレス設定レジスタ16を設定後、メモリ159はSO601をアサートもしくはSI600に入力された値を出力し、コントローラ2にチップアドレスが終了したことを知らせる。
【0099】
ここではチップアドレス設定レジスタ16のビット数を8bitとしているので、メモリ159が256番目のメモリであるとすれば、チップアドレス設定レジスタ16に設定する値は"0xFF"となる。
【0100】
本処理例によれば、図13の場合と同様に、コントローラ2はコマンドの発行回数を計数する等の方法でメモリの数を知ることができる。
【0101】
図9において、例えばメモリ100とメモリ101の機能を同一のメモリで実現する場合、動作機能設定用の端子を設けると前述したが、ここで各メモリに対して動作機能設定用端子のレベルを読み取るコマンドを持つことで、コントローラ2は各メモリの機能を把握でき、またコントローラ2のSO信号がどのメモリを経由してコントローラ2のSIに戻ってくるかが一定のルールで決められていれば、メモリを搭載する数が半導体メモリシステムごとに異なっていても各メモリがどのバスグループに属するかを推定することができる。
【0102】
したがって、各バスグループに接続されているメモリの数が把握でき、各メモリのチップアドレス設定レジスタ16及びアドレスグループ設定レジスタ18の値を、最適な値に設定することができる。
【0103】
図3でのメモリの接続において、各メモリにデータ出力制御端子としてOC端子を追加した構成例を、図15を参照して説明する。
【0104】
本例において縦列に接続された各メモリの各OC端子は、図15に示すように接続される。メモリ109、119のOC端子は入力として、またメモリ109、119以外のOC端子は出力端子として機能する。この機能の切換えは前述したメモリの機能を区別するための入力を使用する。
【0105】
図15において、出力として機能するメモリ109、119以外のメモリOC端子は、それぞれバスグループごとにwired接続されて、それぞれデータ出力制御信号1001、1101として、メモリ109とメモリ119のOC端子に入力される。ここで出力として機能するOC端子はwired接続するためにオープンドレインもしくは3ステート出力で信号を出力し、またデータ出力制御信号1001、1101にはプルアップ抵抗1002、1102が接続されている。
【0106】
コントローラ2がメモリ101からデータをReadする場合、コントローラ2より発行されたReadコマンドに対してメモリ101は、発行されたReadコマンドに応じたデータをDOより出力すると共に、OC端子よりデータ出力制御信号をアサートする。このときメモリ101以外のメモリのOC出力は"Hi-Z"となっている。
【0107】
メモリ109はOC端子に入力されるデータ出力制御信号のアサートを受けて、メモリ109のDIに入力されるデータをDOへ出力する。
【0108】
図15は、上記と同様に、図9でのメモリの接続において各メモリにデータ出力制御端子としてOC端子を追加した他の構成例を示す。
【0109】
本構成例において縦列に接続された各メモリの各OC端子は、図16に示すように接続され、メモリ100のOC端子は入力として、メモリ101からメモリ109のOC端子は出力として機能する。前述同様にOC端子の機能の切り換えは前述したメモリの機能を区別するための入力を使用する。
【0110】
本構成例における動作は、図15での説明と同様の動作であり、図15のメモリ109、119が図16ではメモリ100に相当する。
【0111】
以上のようにデータ出力制御端子を設けることで、メモリには図10のアドレスグループ設定レジスタ18が必要なくなる。このため、比較器15の回路規模は小さくなり、各メモリのチップアドレス設定レジスタ14に設定する値を自由に設定できる。
【0112】
【発明の効果】
以上のように本発明によれば、メモリ内にデータや制御信号のバッファを内蔵することで、データや制御信号用のバッファICを追加する必要がなくなるので、バッファICの占有する面積の分だけメモリを増やすことができ、メモリファイルシステムの大容量化に有利となる。
【図面の簡単な説明】
【図1】本発明の一実施形態におけるメモリの内部構成を示したブロック図。
【図2】本発明の対象となるシステムのブロック構成を示すブロック図。
【図3】メモリとコントローラとの接続方法の一例を示すブロック図。
【図4】コントローラが発行するコマンドのタイミングチャート。
【図5】コントローラが発行するコマンドのタイミングチャート。
【図6】本発明の他の実施形態におけるメモリの内部構成を示したブロック図。
【図7】メモリのチップアドレス設定時のタイミングチャート。
【図8】本発明の他の実施形態におけるメモリの内部構成を示したブロック図。
【図9】メモリとコントローラとの接続方法の他の例を示すブロック図。
【図10】比較器の内部構成を示すブロック図。
【図11】データのRead/Write時のタイミングチャート。
【図12】本発明の他の実施形態におけるメモリの内部構成を示したブロック図。
【図13】メモリのチップアドレス設定時のタイミングチャート。
【図14】メモリのチップアドレス設定時のタイミングチャート。
【図15】メモリの接続方法の一例を示すブロック図。
【図16】メモリの接続方法の他の例を示すブロック図。
【符号の説明】
2…コントローラ、3…マイクロプロセッサ、4…制御部、10…メモリ、11…メモリ部、12…コマンド制御部、13…コマンドレジスタ、14…チップアドレスレジスタ、15…比較器、16…チップアドレス設定レジスタ、17…セレクタ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a file system using a semiconductor having no rotating mechanism, and more particularly to a semiconductor file system suitable for increasing the capacity.
[0002]
[Prior art]
A file system using a semiconductor memory is configured using an electrically erasable nonvolatile memory, thereby enabling low power consumption and space saving. Although the capacity of semiconductor memory is increasing due to miniaturization of semiconductor processes, it is necessary to connect a large number of semiconductor memories to a large capacity such as a hard disk. An IC select signal is prepared, or an IC address setting terminal is prepared in the memory IC to reduce the IC select signal. Such a prior art is disclosed in, for example, US Patent 540859 Jul. 4, 1995.
[0003]
[Problems to be solved by the invention]
When configuring a space-saving large-capacity file system using a semiconductor memory, the data capacity of the semiconductor memory is one digit or more smaller than that of the hard disk system, and thus it is necessary to use a large number of semiconductor memories. .
[0004]
When connecting a large number of semiconductor memories to a semiconductor memory, a controller, and semiconductor memories using a common signal line, the drive capacity of the controller and the output buffer of the semiconductor memory is usually about 10 or more. The limit is considered to be about 16 or 20, and in order to use more semiconductor memories than this, it is necessary to divide the connection into a plurality using a buffer IC or the like.
[0005]
However, the use of the buffer IC limits the number of semiconductor memories that can be mounted by the buffer IC in a small device such as a PC card with a small mounting area.
[0006]
Further, when the controller IC for controlling the semiconductor memory is divided into a plurality of parts, the number of terminals of the controller IC is increased, the package size of the controller IC is increased, and as a result, the number of semiconductor memories is limited.
[0007]
The present invention has been made in view of the above-described problems, and an object thereof is to provide a semiconductor memory file system having a configuration advantageous for increasing the capacity.
[0008]
Another object of the present invention is to provide a semiconductor memory file system in which a buffer for data and control signals is built in a semiconductor memory.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a semiconductor memory file including a controller including a microprocessor and a control device that perform an operation in accordance with a command issued from a host, and a first semiconductor memory connected to the controller. The system further includes a plurality of semiconductor memories in addition to the first semiconductor memory, wherein the first semiconductor memory includes a buffer for at least one of data and control signals, and the plurality of semiconductor memories The controller is connected to the controller by a signal distributed from the first semiconductor memory.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described with reference to FIG.
[0011]
For example, as shown in FIG. 2, the semiconductor memory file system in the present embodiment includes a controller 2 including a microprocessor 3 and a control unit 4 and a memory 10 to which a data signal control signal is connected from a HOST 1.
[0012]
Various commands are issued from the HOST 1, and data corresponding to the commands issued from the HOST 1 is exchanged between the HOST 1 and the controller 2. The microprocessor 3 interprets the command issued from the HOST 1 and instructs the controller 2 to perform an operation corresponding to the issued command.
[0013]
As an example, when the command issued from the HOST 1 is a Read command, the microprocessor 3 reads out the data in the memory 10 corresponding to the address of the Read command issued by the HOST 1 from the memory 10 through the controller 2 and reads the data. The data is sequentially output in accordance with the read operation of HOST1. If the command issued by HOST1 is a Write command, the data written to the controller 2 by HOST1 is written to the address of the memory 10 corresponding to the address designated by HOST1.
[0014]
An example of the internal block configuration of the individual memory 100a used in the present invention is shown in FIG. The memory 100a constitutes the memory 10 of FIG. 2 and includes a memory unit 11, a command control unit 12, a command register 13, a chip address register 14, a comparator 15, a chip address setting register 16, and a SEL 17. . The memory 100a is a command issuing type memory having DI200, CKI300, and CMDI400 as main input terminals, and DO201, CKO301, and CMDO401 as output terminals. In addition, there is a reset terminal that performs initialization when the nonvolatile memory 100a is powered on.
[0015]
DI200 is sent in synchronization with CKI300. CMD400 is a signal indicating a delimiter of data sent from the DI200. As shown in FIG. 4, the DI200 is output from the controller 2 in response to an instruction from the microprocessor 3, and has a chip address 2000, command 2100, data address 2300, data 2200. Are sent in the order. Data address 2300 and data 2200 are omitted when the issued command is not required.
[0016]
In the example shown in FIG. 4, first, the command control unit 12 in FIG. 1 detects that the CMD 400 output from the controller 2 is asserted from the “L” level to the “H” level, and inputs the DI 200 to the chip address register 14. The control signal 24 is asserted, the chip address 2000 is fetched into the chip address register 14, and the input control signal 24 is negated at the end of fetching the chip address 2000 from the DI 200.
[0017]
The comparator 15 compares the values of the chip address register 14 and the chip address setting register 16 and outputs a comparison result 25 to the command control unit 12.
[0018]
Further, the command control unit 12 captures the value of the comparison result 25 between the chip address register 14 and the chip address setting register 16 at the end of the capture of the chip address 2000 and holds it as the internal status of the command control unit 12. From command 2100, the command register control signal 23 is asserted and taken into the command register 13.
[0019]
Normally, if the values of the chip address register 14 and the chip address setting register 16 match, the command control unit 12 performs an operation according to the fetched command, but compares the values of the chip address register 14 and the chip address setting register 16 For commands that are not necessary, ignore the comparison result and perform the operation according to the imported command.
[0020]
The CE 700 is controlled to output a value from the DO 201, CKO 301, and CMDO 401 after the CE 700 is asserted by the chip enable input of the memory, and the DO 201, CKO 301 is received by negating the CE 700. The output of the CMDO 401 is controlled to be in the “Hi-z” state.
[0021]
FIG. 6 shows an internal block configuration example of the memory 100b when the DI 200 and DO 201 in FIG. 1 are changed from serial to a plurality of bit widths.
[0022]
The memory 100b of this example basically has a circuit configuration similar to that of the memory 100a having the configuration shown in FIG. The difference is that the data width of DI200 and DO201 is from 1 bit to many bits.
[0023]
For this reason, in the memory 100b of this example, the command register 13, the chip address register 14, and the chip address setting register 16 are shift register configurations in FIG. 1 but are registers of a format for loading data in parallel. However, when the number of bits of the command register 13, the chip address register 14, and the chip address setting register 16 is larger than the number of bits of DI200 and DO201, the data is loaded in multiple times.
[0024]
FIG. 3 shows a connection example between the controller 10 and the memory 10 having the memories 100 to 159 having the configuration shown in FIG.
[0025]
3, CKO 300, CMDO 400, and DO 200 are connected to the corresponding DI, CKI, and CMDI inputs of memories 100, 110, 120,..., 159, and CE 0 is connected to memories 100, 101, 102,. .., to the CE input of 109, from the controller 2 to the CE input of the memories 110, 111, 112,..., 119, and from the controller 2 to the CE 2 of the memories 120, 121, 122,. Connected to CE input.
[0026]
As shown in FIG. 3, in this example, the memories 100, 101, 102,..., 109 are connected in columns, and similarly, the memories 110, 111, 112,. , ..., 129, memories 150, 151, 152, ..., 159 are also connected in series, and the DO outputs of the memories 109, 119, 129, ..., 159 are wired-connected, and the DI input of the controller 2 Similarly, the CKO outputs of the memories 109, 119, 129,..., 159 are also wired-connected and output to the CKI input of the controller 2.
[0027]
At this time, the memory 109, 119, 129,..., DO309 and CKO 209 of the memory 109 output only the data 2201 to the controller 2 as shown in FIG. , 159 output becomes "Hi-z"
By connecting the memories in the column in this way, the connection of the signal lines between the memories connected in the column becomes one-to-one. Therefore, the arrangement of the signal terminals of the memory can be optimized, the signal wiring length when mounted on the substrate can be shortened, and equal-length wiring can be simplified.
[0028]
In FIG. 3, when the memories are connected in a column, the skew generated between the data or command or address data input to the controller 2 or the DI of each memory and the clock signal input to the CKI input passes through the memory. Since it increases every time, it is necessary to consider the frequency of the clock and the number of memories connected in series.
[0029]
Basic commands issued to the memory 100 include "Read", "Write", "Erase", "Status Read", etc. In the present invention, in addition to the above, the chip address is reset in the chip address register 16 of FIG. Has a command that can.
[0030]
The “chip address reset” command, which is a feature of the present invention, will be described with reference to FIGS. Unless otherwise specified in the description of the timing chart in this specification, the “Hi” level of the waveform in the timing chart is expressed as an asserted state or assertion, and the “Lo” level is expressed as a negated state or negation.
[0031]
In FIG. 5, a DI 200 input in synchronization with the CKI 300 is sequentially input with a chip address 2000, a “chip address reset” command as a command 2100, and a new address as data 2200. Here, the loading of the chip address 2000 and the chip address register 14 and the comparison of the chip address, and the loading of the command 2100 into the command register 13 are performed in the same manner as described above.
[0032]
When the command 2100 detects that the command 2100 is a chip address reset command, the command control unit 12 asserts the control signal 26 to fetch the new chip address 2200, which is data following the command 2100, into the chip address setting register 16, and the chip address setting register At the same time that the new chip address is fetched into 16, the old chip address 2201 before fetching the new chip address 2200 is output from DO201.
[0033]
1 and FIG. 6, the value of the chip address setting register 16 of the memory 100 is initialized to “1” by resetting the memory when the power is turned on. Here, the chip address setting process of the memory in FIG. 3 will be described assuming that the number of bits of the chip address register 14 and the chip address setting register 16 in FIG. 1 or FIG. 6 is 8 bits.
[0034]
The memory reset signal is not shown in FIG. 3 for simplicity, but the values of the chip address setting registers 16 in all the memories 100, 101, 102,... Becomes "FF". Hereinafter, "1B" is expressed as "0x1B" in hexadecimal.
[0035]
First, the setting of the chip addresses of the memories 100, 101, 102,..., 109 in FIG. 3 will be described with reference to FIG.
[0036]
After the memory is reset, the value of the chip address setting register 16 of each of the memories 100, 101, 102,..., 109 is “0xFF”. First, the microprocessor 3 in FIG. 1 instructs the controller 2 to assert only CE0 among CE0 to CEn. As a result, the memories 100 to 109 are operable, and the output terminals of the memories 110 to 159 are “Hi-z”.
[0037]
Next, the microprocessor 3 instructs the controller 2 to issue a “reset chip address” command to the memory. At this time, the chip address 2000 is given “0xFF”, and the new chip address 2200 is given a unique value other than “0xFF”, for example, “0x00”. With the above operation, the value of the chip address setting register 16 of the memory 100 is changed from “0xFF” to “0x00”, and “0xFF” is output as the old chip address 2201 from the DO 201 of the memory 100. Therefore, since the new chip address “0xFF” is input after the memory 101, the value of the chip address setting register 16 after the memory 101 remains “0xFF”.
[0038]
Similarly, the chip address setting register 16 of the memory 101 is reset by issuing the “chip address resetting” command again with a new value other than “0xFF” as the value of the new chip address 2200. At this time, since the memory 100 has already been reset to a new chip address, it does not respond to the current command, and the value of the chip address setting register 16 of the memory 100 does not change.
[0039]
In the same manner, the chip address up to the memory 109 can be set by issuing a “chip address reset” command sequentially with the new chip address 2200 value as a new value.
[0040]
Here, while the “chip address reset” command is issued to the memories from the memory 100 to the memory 109, the new address 2200 returns “0xFF” to the DI input of the controller 2. On the other hand, if the “chip address reset” command is issued more than the number of memories from memory 100 to memory 109, the number of times the “chip address reset” command is issued exceeds the number of memories. The value returned to the DI input of the controller 2 is not "0xFF", but the value to be reset is returned. By counting the number of issued times using this, the number of memories including the memory 100 and the memory 109 from the memory 100 to the memory 109 can be known.
[0041]
Thereafter, the memory 110 to the memory 119, the memory 120 to the memory 129,..., And the memory 150 to the memory 159 are similarly set.
[0042]
In this way, by increasing the number of terminals connected to the memory of the controller 2, it is possible to minimize the increase in the number of terminals that are connected to the memory of the controller 2. Below, the effect by this embodiment is demonstrated about the case where 16x16 = 256 memories are connected.
[0043]
Normally, the limit of about 16 memories that can be connected to one data bus is considered. Therefore, to connect 256 memories, 16 data buses are required. In such a case, the number of signal lines of the conventional memory controller requires 16 lines × 8 bits = 128 terminals. This would normally require 256 memory CEs.
[0044]
However, according to the connection method shown in FIG. 3 of the present embodiment, the memory controller can connect 16 memories to the DO output and 16 memories to the DI input. Here, the memory shown in FIG. 3 is arranged in a matrix state. Therefore, according to the present embodiment, only (8 + 8) + 16 = 32 terminals are required, with 8 + 8 = 16 terminals for the data bus and 16 terminals for the CE.
[0045]
Therefore, according to the connection method shown in FIG. 3 of the present embodiment, the number of terminals required for the memory controller can be reduced to a much smaller number than in the case of the prior art even if the CE terminals are included. It has a great effect.
[0046]
Further, when used together with the CE 700, the signal output from the memory while the CE 700 is in the negated state can be set to “Hi-z”, the current consumed by the output can be suppressed, and the power consumption of the entire memory can be suppressed.
[0047]
In the above description, the setting of the chip address of the memory has been described. Next, the setting of the chip address by another method will be described.
[0048]
Although omitted in FIGS. 1, 3, and 6, when the memory is initialized after the power is turned on, the reset signal output to the memory is asserted. The reset signal and the level of CMDO output from the controller 2 are asserted. The chip address is set in combination.
[0049]
That is, when the reset signal is asserted and the CMDO signal is negated, the memory is initialized, and when the reset signal is asserted and the CMDO signal is asserted, the memory chip address setting mode is set. Hereinafter, a description will be given with reference to FIG. 7, the reset is output from the controller 2 in FIG. 3 or the microprocessor 3 in FIG. 2 to the memories 100, 101,. However, since the number of memories increases, the same wiring method as the CMDO output from the controller 2 in FIG. 3 is used.
[0050]
In FIG. 7, first, each memory is initialized by asserting a reset signal, and the values of the chip address setting registers 16 of all the memories are set to “0xFF”.
[0051]
Next, the reset signal is asserted, CMDO is asserted to enter the chip address setting mode, and CE0 is asserted in order to set the chip addresses of the memories 100, 101,. As a result, the DO 201 of the memories 100, 101,..., 109 selects and outputs the value of the chip address setting register 16. In this state, the addresses set in the memories 100, 101,..., 109 are output from the DO output of the controller 2 in synchronization with the CKO output from the controller 2.
[0052]
As for the data output from the DO output of the controller 2 to the memory, first, a value other than “0xFF” (here “0x00”) initialized to the address setting register by resetting is output, and thereafter, as shown in FIG. The value obtained by subtracting one value from "0xFF" is output.
[0053]
The memory 100 fetches the DO output from the controller 2 into the chip address setting register 16 at the rising edge of CKO, and outputs the fetched data to the DO 201 of the memory 100 via the SEL 17 at the falling edge of CKO. Similarly, the data is shifted from the memories 101, 102,..., 109 and the controller 2 until the data input to the DI input of the controller 2 of the memory 109 DO output destination changes from “0xFF” to “0x00”. The clock is sequentially output from the data subtracted from the DO output by 1 and the CKO output.
[0054]
As a result, the value of the chip address setting register 16 for the memories 100 to 109 is set to “0xFF” in the memory 109, and a value obtained by subtracting one by one from the memory 109 to the memory 100 is set. And 256 memories can be physically connected, and if 256 are connected, the values of the chip address setting register 16 of the memories 100, 101, 102 in FIG. 7 are "0x00", "0x01" , "0x02" is set.
[0055]
Thereafter, CE0 is negated, and the setting of the chip address setting register 16 in the memories 100 to 109 is completed. Similarly, the chip address setting register 16 is set for the memories 110 to 119, the memories 120 to 129,. Thereafter, the chip address of each memory is reset to a desired value using the chip address setting command.
[0056]
Next, a memory 100c that can handle a bidirectional data bus in the memory of FIG. 6 will be described with reference to FIGS. It is assumed that all the memories shown in FIG. 9 have the configuration shown in FIG.
[0057]
8 includes an OE input 800, a WE input 900, an SI input 600, an SO output 601, an IN input 500, an OUT output 501, and a SEL19 as compared to FIG. A bidirectional data bus can be handled.
[0058]
OE input 800 and WE input 900 are used for input / output control of DI 200 and DO 201, and the data bus connected to D of controller 2 is connected to DI of memories 100, 110, 120,. , Distributed from the DO of each memory 100, 110, 120, 150.
[0059]
That is, the memories 100, 110, 120, 150 have the function of a bus buffer in addition to the function as a memory, and the data bus distributed from the DO of the memory 100 includes the memories 101, 102, 103, .., 109 connected to the DI of the memory 110 and distributed from the DO of the memory 110 to the DI of the memories 111, 112, 113,. Are connected to the DIs of the memories 151, 152, 153,.
[0060]
The control signals CE, OE, WE, CKO, and CMDO output from the controller 2 are distributed using IN and OUT of each memory as shown in FIG.
[0061]
When SI500 and SO501 in FIG. 8 use a bi-directional data bus as shown in FIG. 9, the input data bus and the output data bus are not separated. The "Set" command is not available. Therefore, in this example, as shown in FIG. 9, the SO output of the controller 2 is connected to the SI input of the memory 100, and the SI input of the memory 101 sequentially from the SO output of the memory 100. The chip address setting register after initialization of the memory at power-on, etc. by connecting to the SI input of 2 and having a mode in which the chip address setting register 16 from the memory 100 to the memory 159 is configured as one shift register Used for setting.
[0062]
According to such a configuration, the entire chip address setting registers of all memories can be substantially functioned as one shift register.
[0063]
As described above, by incorporating a buffer such as a bus buffer for distributing the data bus and an independent buffer used for distributing the control signal as shown in FIGS. In addition, a buffer IC for the control signal is not required, and the number of signal lines connected to the controller 2 can be minimized. Therefore, when the controller 2 or the control unit 4 is made into an IC, since the number of terminals connected to the memory can be reduced, the IC package can be reduced, which is advantageous for high-density mounting.
[0064]
FIG. 10 shows an example of a detailed configuration of the comparator 15 in the memory 100 in FIGS. 1, 6, and 8.
[0065]
As shown in FIG. 10, the comparator 15 compares the values of corresponding bits in the chip address register 14 and the chip address setting register 16 with ENOR31, and when all the bits match, that is, the output of ENOR31 is It is detected by ANDing with the AND 32 that all have become “Hi” level, the chip address coincidence output 25 is asserted and transmitted to the command control unit 12.
[0066]
The address group setting register 18 and the OR-AND 33 are functions that work effectively in the memories 109, 119, 129, 159, and 159 in FIG. 3 and the memories 100, 110, 120,. Even if CE0 and CE1, CE2,..., CEn, etc. output from the controller 2 at the same time are asserted at the same time, if the command issued by the controller 2 is a command for the memory 101, the memory 109 stores the memory 100. Is used for recognizing that the command is issued to the memory 109, and the DO output from the memory 109 is validated.
[0067]
As an example, for the values set in the chip address setting register 16 of the memory 100 from the memory 100 in FIG. 3, the memory 100 is “0x00”, the memory 101 is “0x01”, the memory 102 is “0x02”, and the memory 109 is “ The value of the chip address setting register 16 of each memory in FIG. 3 is “0x07”, the memory 110 is “0x08”, the memory 111 is “0x09”, the memory 112 is “0x0A”, and the memory 119 is “0x0F”. The values of the bits of the chip address setting register 16 of the memories connected in a column are set so as to be common values. In the above case, for example, for memory 100 to memory 109, 3 bits from bit 0 to bit 2 are set to different values, and 5 bits from bit 3 to bit 7 are set to a common value.
[0068]
Here, it is assumed that the memory 100 is set to the memory 119 as described above, and CE0 and CE1 are asserted simultaneously. In such a case, the address group setting register 18 in FIG. 10 sets the address group setting of the memories 100 to 119 by issuing a command to set “0x07” from the controller 2 for the memories 100 to 119 in FIG. Set register 18 to "0x07".
[0069]
In this state, when a “Read” command for reading the memory contents from the controller 2 to the memory 102 is issued, the chip address 2000 of the “Read” command to be issued becomes “0x02” and is taken into the chip address register 14 of each memory. It is. In FIG. 10, the output 25 of the comparator 15 is "Hi" level and is asserted only in the memory 102, and the output 34 of the comparator 15 is "Hi" level only from the memory 100 to the memory 109 in FIG. It becomes.
[0070]
In addition, the command control unit 12 of the memory 109 performs control so that signal output permission is given to each output of the DO 201, the CKO 301, and the CMDO 501. In addition, since the output 34 of the comparator 15 of the memory 119 is not asserted in the memory 119, the command control unit 12 of the memory 119 controls the output to “Hi-z” with respect to DO201, CKO301, and CMDO501. Simultaneous output with the output of the memory 109 can be avoided.
[0071]
In the above example, the values of the chip address setting register 16 are set in ascending order of “0x00”, “0x01”, “0x02”, and so on from the memory 100, but they may be set in descending order.
[0072]
Also, as shown below, "0x00" in memory 100, "0x10" in memory 101, "0x20" in memory 102, "0x70" in memory 109, "0x80" in memory 110, "0x90" in memory 111, memory It is possible to set "0xA0" to 112, "0xF0" to memory 119, "0x01", etc. to memory 120. In this case, set the value of address group setting register 18 of each memory to "0x70" By doing so, the same operation as described above can be performed.
[0073]
Also in FIG. 9, the address group setting register 18 is used for output control to the data bus of the memory connected to the controller 2.
[0074]
In FIG. 9, the memory 100 is “0x00”, the memory 101 is “0x01”, the memory 102 is “0x02”, the memory 109 is “0x07”, the memory 110 is “0x08” Memory 111 is "0x09", Memory 112 is "0x0A", Memory 119 is "0x0F", Memory 150 is "0xF8", Memory 151 is "0xF9", Memory 152 is "0xFA", Memory 159 is “0xFF”, the chip address of the memory is set in the chip address setting register 16 of each memory, and “0x07” is set in the address group setting register 18 of each memory.
[0075]
As an example, a case where data is written from the controller 2 to the memory 102 will be described with reference to FIG. FIG. 11 is an example of input / output timings in each memory for a command issued from the controller 2 when connected as shown in FIG. In the example shown in FIG. 11, a chip address 2000, a command 2100, and a data address 2300 issued from the controller 2 are input to the DI 200 of the memory together with the WE 900. The chip address 2000 is stored in the chip address register 14 of the memory, the command 2100 is stored in the command register 16, and the memory 102 performs write transfer of the data 2200 and stores it in the memory unit 11 of the memory 102.
[0076]
Further, when the controller 2 reads the data in the memory 102, as shown in FIG. 11, in order to read the data from the memory 102, the WE900 is not asserted at the place where the data 2200 is read, but the OE800 is asserted. The memory 102 outputs data 2200. Further, the memory 100 has the output 34 from the comparator 15 asserted by the group address setting register 18 of FIG. 10, and the memory 100 is data 2201 from the memory 102 which is one of the memories connected to the DO 201 of the memory 100. Is output to the controller 2.
[0077]
Here, in the memories 110, 150, which distribute data other than the memory 100, the output 34 of the comparator 15 built in each memory is not asserted, so the data for the controller 2 is in the “Hi-z” state.
[0078]
As described above, the group address setting register 18 can execute the data read process without causing the output of the data of each memory to the controller 2 to collide with each other.
[0079]
Also in FIG. 9, by dividing the CE into each bus group as shown in FIG. 3, it is possible to reduce the number of active memories when a plurality of memories are connected, and the SI 600 and SO 601 are shown in FIG. By connecting like DI and DO, the number of memories connected to each bus group can be counted individually.
[0080]
In FIG. 3, the memories 109, 119, 129, and 159 are distinguished from other memories, and the memories 100, 110, and 150 in FIG. By providing one or a plurality of inputs for distinguishing operation functions and distinguishing them by combinations of input levels, one memory can have a plurality of functions or operation modes.
[0081]
In the following, an implementation example that enables setting by a method different from the shift register structure used as the chip address address setting method after initialization of the chip address setting register 16 in FIG. 8 will be described with reference to FIG. To do.
[0082]
In the example of FIG. 8, SI600 and SO601 used for directly setting the value of the chip address setting register 16 after the initialization of the memory 100c are not connected to the chip address setting register 16, and the command control unit 12 SI600 is used as a setting permission signal for the chip address setting register 16, and SO601 is used as an output indicating that the chip address setting register 16 after initialization of the memory 100 is set by the controller 2.
[0083]
On the other hand, the connection of the memory in FIG. 12 can be configured as shown in FIG. 9 described with reference to the memory in FIG. 8. In FIG. A chip address setting signal of the register 16 is output, and a signal notifying that the setting of the chip addresses of all the memories in FIG. 9 is completed is input to the SI input of the controller 2.
[0084]
A setting example of the chip address setting register 16 of each memory in FIGS. 9 and 12 will be described with reference to FIG. In this example, the setting mode of the chip address setting register 16 after initialization by memory reset is set using a clock and data synchronized with the clock.
[0085]
In FIG. 13, the control unit of all memories is initialized by asserting reset, and then CMDO is asserted by the controller 2 to set the setting mode of the chip address setting register 16. After asserting CEO and SO, the controller 2 outputs the value set in the chip address setting register 16 from DO in synchronization with CKO.
[0086]
In FIG. 12, in the setting mode of the chip address setting register 16, when the CE 100 and SI 600 inputs of the memory 100 are asserted and the SO output of the memory 100 is negated, the memory 100 receives the CKI input of the memory 100. At the falling edge, the value input to DI of the memory 100 is taken into the chip address setting register 16.
[0087]
In FIG. 9, after entering the setting mode of the chip address setting register 16 after reset, the CE800 and SI600 inputs of the memory 100 are asserted and the SO output of the memory 100 is negated at the first falling CKO of the controller 2. Therefore, the DO data “0x00” of the controller 2 is taken into the chip address setting register 16 of the memory 100.
[0088]
After fetching, the memory 100 asserts the SO output or outputs the value of the SI input of the memory 100. At the first falling edge of CKO of the controller 2, since the SI input after the memory 101 is negated after the memory 101, the chip address setting register 16 after the memory 101 is not fetched.
[0089]
Next, at the second falling edge of CKO of the controller 2, the memory 100 is not fetched into the chip address setting register 16 because the SO output is asserted, and the SI 600 of the memory 101 is asserted and the SO output is negated. Fetches data “0x01” from the DO of the controller 2 into the chip address setting register 16.
[0090]
Thereafter, similarly, the data from the DO of the controller 2 is sequentially fetched from the memory 103 to the chip address setting register 16 of each memory, and is fetched into the last memory 159 of FIG. The value of the SI input of 159 is output, and the controller 2 is informed that the setting of the chip address setting register 16 of all the memories in FIG.
[0091]
The controller 2 can know the number of memories shown in FIG. 9 by counting the number of data set in the chip address setting register 16 for each memory output until the SI input of the controller 2 is asserted.
[0092]
FIG. 14 is a timing chart showing an operation example of a setting example of the chip address setting register 16 of the memory in the connection configuration of FIG. 12 and the memory of FIG.
[0093]
In this example, the chip address setting register 16 of each memory in FIG. 9 is initialized to “0xFF” by resetting the memory after power-on or the initialization command of the chip address setting register 16, and the SO601 output of each memory is output. Negate. Here, each memory in FIG. 9 does not accept commands from the controller 2 even if the chip addresses match unless the SI600 input and CE700 input of each memory are asserted.
[0094]
After asserting the SO output of the controller 2, the controller 2 first outputs a chip address 2000 “0xFF”, a chip address reset command 2100 and a new chip address 2200 (here “0x00”) from the DO of the controller 2. The chip address reset command is issued to the memory with the chip address “0xFF”.
[0095]
Here, in FIG. 9, the chip address setting register 16 of each memory is initialized to “0xFF”, and the SO output is negated by initialization. Therefore, the chip address reset command issued first by the controller 2 after initialization. Memory 100 is the only memory that accepts issuance.
[0096]
The value of the chip address setting register 16 of the memory 100 is set to “0x00”, and the SO601 output of the memory 100 is asserted or the value input to the SI 600 of the memory 100 is output. Here, as an example, the value set in the memory 100 is “0x00”, but in practice, a value other than the value initialized by reset is set in the chip address setting register 16.
[0097]
Next, a chip address 2001, a chip address reset command 2101 and a new chip address 2201 are output from the DO output of the controller 2 as the second chip address reset command. By the way, at this time, the value of the chip address setting register 16 of the memory 100 is already set to a value other than “0xFF”. Therefore, the memory 100 does not accept the command, the memory 101 accepts the second chip address reset command, sets the new chip address in the chip address setting register 16, and asserts the SO601 output of the memory 101 after setting the new chip address. Or, the value input to SI600 is output.
[0098]
Thereafter, similarly, the chip address setting register 16 of each memory is sequentially set, and after setting the chip address setting register 16 of the last memory 159, the memory 159 asserts SO601 or outputs the value input to SI600, Informs the controller 2 that the chip address has been completed.
[0099]
Since the number of bits of the chip address setting register 16 is 8 bits here, if the memory 159 is the 256th memory, the value set in the chip address setting register 16 is “0xFF”.
[0100]
According to this processing example, as in the case of FIG. 13, the controller 2 can know the number of memories by a method such as counting the number of times the command has been issued.
[0101]
In FIG. 9, for example, when the functions of the memory 100 and the memory 101 are realized by the same memory, the operation function setting terminal is provided as described above. Here, the level of the operation function setting terminal is read for each memory. By having a command, the controller 2 can grasp the function of each memory, and if a certain rule determines which memory the SO signal of the controller 2 returns to the SI of the controller 2 through, Even if the number of mounted memories is different for each semiconductor memory system, it is possible to estimate which bus group each memory belongs to.
[0102]
Therefore, the number of memories connected to each bus group can be grasped, and the values of the chip address setting register 16 and the address group setting register 18 of each memory can be set to optimum values.
[0103]
In the memory connection in FIG. 3, a configuration example in which an OC terminal is added as a data output control terminal to each memory will be described with reference to FIG.
[0104]
In this example, each OC terminal of each memory connected in a column is connected as shown in FIG. The OC terminals of the memories 109 and 119 function as inputs, and the OC terminals other than the memories 109 and 119 function as output terminals. This function switching uses the input for distinguishing the memory functions described above.
[0105]
In FIG. 15, the memory OC terminals other than the memories 109 and 119 functioning as outputs are wired-connected for each bus group, and are input to the OC terminals of the memory 109 and the memory 119 as data output control signals 1001 and 1101, respectively. The Here, the OC terminal functioning as an output outputs a signal as an open drain or 3-state output for wired connection, and pull-up resistors 1002 and 1102 are connected to the data output control signals 1001 and 1101.
[0106]
When the controller 2 reads data from the memory 101, the memory 101 outputs data corresponding to the issued read command from the DO in response to the read command issued from the controller 2, and also outputs a data output control signal from the OC terminal. Is asserted. At this time, the OC output of memories other than the memory 101 is “Hi-Z”.
[0107]
In response to the assertion of the data output control signal input to the OC terminal, the memory 109 outputs the data input to the DI of the memory 109 to DO.
[0108]
FIG. 15 shows another configuration example in which an OC terminal is added as a data output control terminal to each memory in the memory connection in FIG. 9 in the same manner as described above.
[0109]
In this configuration example, each OC terminal of each memory connected in a column is connected as shown in FIG. 16, and the OC terminal of the memory 100 functions as an input, and the OC terminals of the memory 101 to the memory 109 function as an output. As described above, the switching of the function of the OC terminal uses the input for distinguishing the function of the memory described above.
[0110]
The operation in this configuration example is the same as that described in FIG. 15, and the memories 109 and 119 in FIG. 15 correspond to the memory 100 in FIG.
[0111]
By providing the data output control terminal as described above, the memory does not require the address group setting register 18 of FIG. For this reason, the circuit scale of the comparator 15 is reduced, and the value set in the chip address setting register 14 of each memory can be set freely.
[0112]
【The invention's effect】
As described above, according to the present invention, it is not necessary to add a buffer IC for data and control signals by incorporating a buffer for data and control signals in the memory. Therefore, only the area occupied by the buffer IC is eliminated. The memory can be increased, which is advantageous for increasing the capacity of the memory file system.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an internal configuration of a memory according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a block configuration of a system to which the present invention is applied.
FIG. 3 is a block diagram showing an example of a method for connecting a memory and a controller.
FIG. 4 is a timing chart of commands issued by a controller.
FIG. 5 is a timing chart of commands issued by the controller.
FIG. 6 is a block diagram showing an internal configuration of a memory according to another embodiment of the present invention.
FIG. 7 is a timing chart when a memory chip address is set.
FIG. 8 is a block diagram showing an internal configuration of a memory according to another embodiment of the present invention.
FIG. 9 is a block diagram showing another example of a method for connecting a memory and a controller.
FIG. 10 is a block diagram showing an internal configuration of a comparator.
FIG. 11 is a timing chart at the time of data read / write.
FIG. 12 is a block diagram showing an internal configuration of a memory according to another embodiment of the present invention.
FIG. 13 is a timing chart at the time of setting a memory chip address;
FIG. 14 is a timing chart when a memory chip address is set.
FIG. 15 is a block diagram illustrating an example of a memory connection method.
FIG. 16 is a block diagram illustrating another example of a memory connection method.
[Explanation of symbols]
2 ... Controller, 3 ... Microprocessor, 4 ... Control part, 10 ... Memory, 11 ... Memory part, 12 ... Command control part, 13 ... Command register, 14 ... Chip address register, 15 ... Comparator, 16 ... Chip address setting Register, 17 ... selector.

Claims (17)

ホストより発行されたコマンドに応じた動作を行うマイクロプロセッサ及び制御装置を備えるコントローラと、前記コントローラに接続された第1の半導体メモリとを有する半導体メモリファイルシステムにおいて、
前記第1の半導体メモリに加えて、複数の半導体メモリをさらに備え、
前記第1の半導体メモリは、コマンドおよびデータのうち少なくとも一方のためのバッファを内蔵し、
前記コントローラは、前記第1の半導体メモリへのコマンドおよびデータのうち少なくとも一方を出力するデータ信号線および該データ信号線の同期に使用するクロック出力を、前記バッファを内蔵した第1の半導体メモリに接続し、
前記第1の半導体メモリは、前記内蔵バッファでバッファした前記コマンドおよびデータのうち少なくとも一方と、前記同期用クロックとを、前記複数の半導体メモリのうちの1番目の半導体メモリへのデータ信号線およびクロック出力として出力し、
前記1番目の半導体メモリに入力されたコマンドおよびデータのうち少なくとも一方と、同期用クロックとを、前記複数の半導体メモリのうちの2番目の半導体メモリへのデータ信号線およびクロック出力として出力し、該2番目の半導体メモリに入力されたコマンドおよびデータのうち少なくとも一方と、同期用クロックとを、3番目の半導体メモリへのデータ信号線およびクロック出力として出力し、以下同じく、m−1番目の半導体メモリに入力されたコマンドおよびデータのうち少なくとも一方と、m番目の半導体メモリへのデータ信号線およびクロック出力として出力することで、前記第1の半導体メモリと前記複数の半導体メモリとを縦列に接続し、
前記縦列接続の最後に接続された前記 m 番目の半導体メモリからのデータ信号
線及び同期用クロックを、前記コントローラのデータ入力及びクロック入力へ接続され、
また、前記半導体メモリが縦列に接続されてなるn個の一連の半導体メモリグループ(以下1列の半導体メモリグループと呼ぶ)が、複数並列に配置されており、
前記コントローラから出力される前記データ信号線およびクロック出力は、前記各列の半導体メモリグループの1番目の半導体メモリにそれぞれ接続され、
前記各列の半導体メモリグループの最後の半導体メモリのデータ信号線およびクロック出力は、各々対応する信号が wired 接続され、前記コントローラのデータ入力とクロック入力へ接続され、
前記複数配置された各列の半導体メモリグループに含まれている半導体メモリの各々は、メモリ選択信号入力をさらに備え、
前記半導体メモリのデータおよび制御信号入力に対応するバッファ出力は、前記メモリ選択信号入力がネゲート状態にあるときは各出力が "Hi-z" 状態となり、前記メモリ選択信号入力がアサート状態のときは有効な値を出力し、
前記各列の半導体メモリの前記メモリ選択信号入力は、前記コントローラから出力される前記各列にそれぞれ対応した、共通のメモリ選択信号出力に接続されること
を特徴とする半導体メモリファイルシステム。
In a semiconductor memory file system having a controller including a microprocessor and a control device that performs an operation according to a command issued from a host, and a first semiconductor memory connected to the controller,
In addition to the first semiconductor memory, further comprising a plurality of semiconductor memories,
The first semiconductor memory includes a buffer for at least one of command and data ,
The controller outputs a data signal line for outputting at least one of a command and data to the first semiconductor memory and a clock output used for synchronization of the data signal line to the first semiconductor memory having the buffer incorporated therein. connection,
The first semiconductor memory transmits at least one of the command and data buffered by the built-in buffer and the synchronization clock to a data signal line to a first semiconductor memory of the plurality of semiconductor memories, and Output as clock output,
Outputting at least one of a command and data input to the first semiconductor memory and a synchronization clock as a data signal line and a clock output to a second semiconductor memory of the plurality of semiconductor memories; At least one of the command and data input to the second semiconductor memory and a synchronization clock are output as a data signal line and a clock output to the third semiconductor memory, and so on. By outputting at least one of the command and data input to the semiconductor memory and the data signal line and clock output to the mth semiconductor memory, the first semiconductor memory and the plurality of semiconductor memories are arranged in a column. connection,
Data signal from the mth semiconductor memory connected at the end of the column connection
A line and a synchronization clock are connected to the data input and clock input of the controller;
In addition, a series of n semiconductor memory groups in which the semiconductor memories are connected in a column (hereinafter referred to as one column of semiconductor memory groups) are arranged in parallel.
The data signal line and clock output output from the controller are respectively connected to a first semiconductor memory of the semiconductor memory group of each column,
The data signal line and the clock output of the last semiconductor memory of the semiconductor memory group of each column are respectively wired- connected to the corresponding signals and connected to the data input and clock input of the controller,
Each of the semiconductor memories included in the plurality of arranged semiconductor memory groups in each column further includes a memory selection signal input,
The buffer output corresponding to the data and control signal input of the semiconductor memory has each output in a “Hi-z” state when the memory selection signal input is in a negated state, and when the memory selection signal input is in an asserted state. Outputs a valid value,
The memory selection signal input of the semiconductor memory in each column is connected to a common memory selection signal output corresponding to each column output from the controller.
A semiconductor memory file system.
請求項1に記載の半導体メモリファイルシステムにおいて、
前記コントローラから出力されるデータは、前記各半導体メモリを特定するメモリアドレスと、該当半導体メモリに対して動作を指示するコマンドと、該当半導体メモリ内のデータのアドレスを特定するアドレスおよびデータのうち少なくとも一方とから構成される命令形式を使用し、
前記各半導体メモリは、データを記憶保持するメモリ部と、前記コマンドを取り込むコマンドレジスタと、該コマンドレジスタの内容に応じた動作を制御するコマンド制御部と、前記メモリアドレスを取りこむメモリアドレスレジスタと、前記半導体メモリの固有のアドレスを記憶するメモリアドレス設定レジスタと、前記メモリアドレスレジスタと前記メモリアドレス設定レジスタとの値を比較する比較器とを備え、
前記コマンド制御部は、前記比較器の比較結果が一致していたときのみコマンドに応じた動作を行うこと
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 1 ,
The data output from the controller includes at least one of a memory address for specifying each semiconductor memory, a command for instructing the operation to the corresponding semiconductor memory, and an address and data for specifying the address of the data in the corresponding semiconductor memory. Using an instruction format consisting of
Each of the semiconductor memories includes a memory unit that stores data, a command register that captures the command, a command control unit that controls an operation according to the contents of the command register, a memory address register that captures the memory address, A memory address setting register for storing a unique address of the semiconductor memory, and a comparator for comparing values of the memory address register and the memory address setting register,
The semiconductor memory file system, wherein the command control unit performs an operation according to a command only when a comparison result of the comparator matches.
請求項2に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリは、予め定めた特定のコマンドが前記コントローラから発行されたときは、前記メモリアドレスの比較結果の一致に関わらず動作すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 2 .
The semiconductor memory file system operates when a predetermined specific command is issued from the controller, regardless of whether the comparison result of the memory address matches.
請求項2または3に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリの前記メモリアドレス設定レジスタの値は、電源投入時の初期化によって全bitが"1"に初期化され、前記コントローラから発行される予め定めた特定のコマンド(以降メモリアドレス再設定コマンドと呼ぶ)によって前記メモリアドレス設定レジスタの値を再設定できるものであって、
前記メモリアドレス設定レジスタの再設定が行われ半導体メモリは、前記メモリアドレス再設定コマンドに含まれる前記メモリアドレス設定レジスタに再設定すべき値に相当するデータを、前記メモリアドレス設定レジスタが再設定される前の値に変更して後段の半導体メモリへ出力すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 2 or 3 ,
The value of the memory address setting register of the semiconductor memory is initialized to all 1 bits by initialization at power-on, and a predetermined specific command issued from the controller (hereinafter referred to as a memory address reset command) The value of the memory address setting register can be reset by
Semiconductor memory reconfiguration Ru performed of the memory address setting register, data corresponding to the memory address setting value to be set again in the register included in the memory address resetting command, resetting the memory address setting register The semiconductor memory file system is characterized in that it is changed to a value before being output and output to a subsequent semiconductor memory.
請求項1に記載の半導体メモリファイルシステムにおいて、
前記同一列の半導体メモリグループの各半導体メモリのメモリアドレス設定レジスタは、そのbitのうち複数のbitの値が共通となり、該共通のbitの値が各列
毎に異なるように設定するものであり、
前記各列の半導体メモリへ出力するメモリ選択信号が同時にアサートされた場合でも、前記コントローラから発行されるコマンドのメモリアドレスが各列の共通bitと一致しない限り、各列の最後の半導体メモリはコントローラへ出力する
データ信号およびクロックを有効な出力をせず"Hi-z"のままとし、前記コマンドのメモリアドレスが各列の共通bitと一致したときのみ、各列の最後の半導体メ
モリは前記コントローラへ出力するデータ信号およびクロックを有効にし、
前記各列の最後の半導体メモリが、当該列の最後の半導体メモリであることを区別するための入力を備えたこと
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 1 ,
The memory address setting register of each semiconductor memory of the semiconductor memory group of the same column is set so that the value of a plurality of bits is common among the bits and the value of the common bit is different for each column. ,
Even if the memory selection signals to be output to the semiconductor memories in each column are asserted at the same time, as long as the memory address of the command issued from the controller does not match the common bit of each column, the last semiconductor memory in each column is the controller Only when the data signal and clock to be output to are not valid output and remain "Hi-z", and the memory address of the command matches the common bit of each column, the last semiconductor memory of each column is the controller Enable the data signal and clock to be output to
A semiconductor memory file system comprising: an input for distinguishing that the last semiconductor memory of each column is the last semiconductor memory of the column.
請求項1乃至5のいずれかに記載の半導体メモリファイルシステムにおいて、 前記半導体メモリの前記メモリアドレス設定レジスタのアドレスを設定するメモリアドレス設定信号入力をさらに設け、
前記メモリアドレス設定入力がアサートされたときに、前記アドレス設定レジスタの値が前記半導体メモリのデータ出力から次段の半導体メモリへ順送りに出力され、前記半導体メモリのメモリアドレス設定レジスタが全体として1つのシフトレジスタとして機能し、前記コントローラからのメモリアドレスの設定値をクロックに同期してシフトしつつ設定すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to any one of claims 1 to 5 , further comprising a memory address setting signal input for setting an address of the memory address setting register of the semiconductor memory,
When the memory address setting input is asserted, the value of the address setting register is sequentially output from the data output of the semiconductor memory to the next-stage semiconductor memory, and the memory address setting register of the semiconductor memory as a whole A semiconductor memory file system which functions as a shift register and sets a set value of a memory address from the controller while shifting in synchronization with a clock.
ホストより発行されたコマンドに応じた動作を行うマイクロプロセッサ及び制御装置を備えるコントローラと、前記コントローラに接続された第1の半導体メモリとを有する半導体メモリファイルシステムにおいて、
前記第1の半導体メモリに加えて、複数の半導体メモリをさらに備え、
前記半導体メモリは、データバスを分配するバスバッファと、当該半導体メモリに入力される制御信号に影響されない独立バッファとをさらに備え、
前記コントローラから接続される前記データバスに複数の第1の半導体メモリを接続し、
前記複数の第1の半導体メモリそれぞれが前記データバスを分配し、分配した各々の該データバスに該データバスの分配を行わない半導体メモリを複数個接続して、該分配を行った半導体メモリを含めて半導体メモリグループを構成し、
前記制御信号は、前記半導体メモリグループの半導体メモリが有する独立バッファにより信号をバッファし分配すること
を特徴とする半導体メモリファイルシステム。
In a semiconductor memory file system having a controller including a microprocessor and a control device that performs an operation according to a command issued from a host, and a first semiconductor memory connected to the controller,
In addition to the first semiconductor memory, further comprising a plurality of semiconductor memories,
The semiconductor memory further includes a bus buffer that distributes a data bus, and an independent buffer that is not affected by a control signal input to the semiconductor memory,
A plurality of first semiconductor memories connected to the data bus connected from the controller;
Each of the plurality of first semiconductor memories distributes the data bus, and a plurality of semiconductor memories that do not distribute the data bus are connected to each of the distributed data buses. Including a semiconductor memory group,
The semiconductor memory file system, wherein the control signal is buffered and distributed by an independent buffer included in a semiconductor memory of the semiconductor memory group.
請求項7に記載の半導体メモリファイルシステムにおいて、
前記コントローラから出力されるデータは、前記各半導体メモリを特定するメモリアドレスと、該半導体メモリに対して動作を指示するコマンドと、該半導体メモリ内のデータのアドレスを特定するアドレスおよびデータのうち少なくとも一方から構成される命令形式を使用し、
前記半導体メモリは、データを記憶保持するメモリ部と、前記コマンドを取り込むコマンドレジスタと、該コマンドレジスタの内容に応じた動作を制御するコマンド制御部と、前記メモリアドレスを取りこむメモリアドレスレジスタと、当該半導体メモリの固有のアドレスを記憶するメモリアドレス設定レジスタと、該メモリアドレスレジスタと該メモリアドレス設定レジスタとの値を比較する比較器とを備え、
前記コマンド制御部は、前記比較器の比較結果が一致していたときのみコマンドに応じた動作を行うこと
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 7 .
The data output from the controller includes at least one of a memory address that specifies each semiconductor memory, a command that instructs the semiconductor memory to operate, and an address and data that specify an address of data in the semiconductor memory. Use an instruction format consisting of one side,
The semiconductor memory includes a memory unit for storing and holding data, a command register for capturing the command, a command control unit for controlling an operation according to the contents of the command register, a memory address register for capturing the memory address, A memory address setting register for storing a unique address of the semiconductor memory, and a comparator for comparing the values of the memory address register and the memory address setting register,
The semiconductor memory file system, wherein the command control unit performs an operation according to a command only when a comparison result of the comparator matches.
請求項8に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリは、予め定めた特定のコマンドが前記コントローラから発行されたとき、前記メモリアドレスの比較結果の一致に関わらず動作することを特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 8 .
The semiconductor memory file system is characterized in that when a predetermined specific command is issued from the controller, the semiconductor memory operates regardless of a match of the comparison result of the memory address.
請求項8または9に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリの前記メモリアドレス設定レジスタの値を設定するためのメモリアドレス設定信号入力と、シリアルデータ入力と、シリアルデータ出力とを設け、
前記メモリアドレス設定入力がアサートされたときに、前記コントローラから出力されるシリアルデータが、前記半導体メモリのシリアル入力を経由して当該半導体メモリの前記アドレス設定レジスタのシリアル入力に接続され、前記アドレス設定レジスタのシリアル出力が、当該半導体メモリのシリアルデータ出力から次段の半導体メモリのシリアル入力へ出力し、
以下同じく前記一連の半導体メモリが縦列に接続され、
前記縦列の最後の半導体メモリのシリアル出力は、前記コントローラのシリアル入力に接続され、
クロックに同期して前記各半導体メモリの前記メモリアドレス設定レジスタが全体として1つのシフトレジスタとして機能するように、前記コントローラからのメモリアドレスの設定値をシフトして設定し、
前記縦列に接続された一連の半導体メモリの数を前記コントローラが計数可能にしたこと
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 8 or 9 ,
A memory address setting signal input for setting a value of the memory address setting register of the semiconductor memory, a serial data input, and a serial data output;
When the memory address setting input is asserted, the serial data output from the controller is connected to the serial input of the address setting register of the semiconductor memory via the serial input of the semiconductor memory, and the address setting The serial output of the register is output from the serial data output of the semiconductor memory to the serial input of the next stage semiconductor memory,
Similarly, the series of semiconductor memories are connected in columns,
The serial output of the last semiconductor memory in the column is connected to the serial input of the controller,
The memory address setting value from the controller is shifted and set so that the memory address setting register of each semiconductor memory functions as one shift register as a whole in synchronization with the clock,
The semiconductor memory file system characterized in that the controller can count the number of a series of semiconductor memories connected in the column.
請求項8または9に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリは、当該半導体メモリの前記メモリアドレス設定レジスタの値を設定するメモリアドレス設定信号入力と、前記メモリアドレス設定レジスタの値が設定されたことを示すメモリアドレス設定完了信号出力とを備え、
前記コントローラよりメモリアドレス設定信号を1番目の半導体メモリのメモリアドレス設定信号入力へ接続し、該1番目の半導体メモリのメモリアドレス設定完了信号出力を2番目の半導体メモリのメモリアドレス設定信号入力へ接続し、2番目の半導体メモリのメモリアドレス設定完了信号出力を3番目の半導体メモリのメモリアドレス設定信号入力へ接続し、以降同じく信号を接続し、1連の半導体メモリグループの最後の半導体メモリのメモリアドレス設定完了信号出力を前記コントローラのメモリアドレス設定完了入力へ接続し、
前記半導体メモリは、当該半導体メモリ内のレジスタの初期化後は前記メモリアドレス設定完了信号出力をネゲートし、
前記半導体メモリは、前記メモリアドレス設定信号入力がアサートされかつ前記メモリアドレス設定完了信号出力がネゲートされかつ前記メモリ選択信号入力がアサートされたときのみ、前記コントローラより出力される前記クロックに同期して前記コントローラからデータバスへ出力されるメモリアドレス設定レジスタ用データを前記メモリアドレス設定レジスタに取り込んだ後、メモリアドレス設定完了信号出力をアサートもしくはメモリアドレス設定信号入力のレベルを出力することにより、前記1連の半導体メモリグループのメモリアドレス設定レジスタにメモリアドレスを設定すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 8 or 9 ,
The semiconductor memory includes a memory address setting signal input for setting a value of the memory address setting register of the semiconductor memory, and a memory address setting completion signal output indicating that the value of the memory address setting register is set,
The memory address setting signal from the controller is connected to the memory address setting signal input of the first semiconductor memory, and the memory address setting completion signal output of the first semiconductor memory is connected to the memory address setting signal input of the second semiconductor memory. The memory address setting completion signal output of the second semiconductor memory is connected to the memory address setting signal input of the third semiconductor memory, and the same signal is connected thereafter, and the memory of the last semiconductor memory in a series of semiconductor memory groups Connect the address setting completion signal output to the memory address setting completion input of the controller,
The semiconductor memory negates the memory address setting completion signal output after initialization of the register in the semiconductor memory,
The semiconductor memory is synchronized with the clock output from the controller only when the memory address setting signal input is asserted, the memory address setting completion signal output is negated, and the memory selection signal input is asserted. After the memory address setting register data output from the controller to the data bus is taken into the memory address setting register, the memory address setting completion signal output is asserted or the memory address setting signal input level is output. A semiconductor memory file system, wherein a memory address is set in a memory address setting register of a series of semiconductor memory groups.
請求項11に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリの初期化後の前記メモリアドレス設定レジスタの値を、前記コントローラより発行されるメモリアドレス再設定コマンドを使用して設定し、 前記半導体メモリのメモリアドレス設定レジスタに設定できるのは、前記メモリアドレス設定信号入力がアサートされかつ前記メモリアドレス再設定コマンドが指定するメモリアドレスの半導体メモリであって、
前記半導体メモリのメモリアドレス設定レジスタの設定後に当該半導体メモリの前記メモリアドレス設定レジスタの値を設定するメモリアドレス設定信号入力と、前記メモリアドレス設定レジスタの値が設定されたことを示すメモリアドレス設定完了信号出力とを備え、
前記コントローラよりメモリアドレス設定信号を1番目の半導体メモリのメモリアドレス設定信号入力へ接続し、該1番目の半導体メモリのメモリアドレス設定完了信号出力を2番目の半導体メモリのメモリアドレス設定信号入力へ接続し、該2番目の半導体メモリのメモリアドレス設定完了信号出力を3番目の半導体メモリのメモリアドレス設定信号入力へ接続し、以降同じく信号を接続して、1連の半導体メモリグループの最後の半導体メモリのメモリアドレス設定完了信号出力を前記コントローラのメモリアドレス設定完了入力へ接続し、
前記半導体メモリは、当該半導体メモリ内のレジスタの初期化後はメモリアドレス設定完了信号出力をネゲートし、
前記半導体メモリは、当該半導体メモリについて前記メモリアドレス設定信号入力がアサートされかつ前記メモリアドレス設定完了信号出力がネゲートされかつ前記メモリ選択信号入力がアサートされたときのみ、前記コントローラより出力されるクロックに同期して前記コントローラからデータバスへ出力されるメモリアドレス設定レジスタ用データを前記メモリアドレス設定レジスタに取り込み、その後、前記メモリアドレス設定完了信号出力をアサートもしくは前記メモリアドレス設定信号入力のレベルを出力することにより、前記1連の半導体メモリグループのメモリアドレス設定レジスタにメモリアドレスを設定すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 11 .
The value of the memory address setting register after initialization of the semiconductor memory is set using a memory address reset command issued from the controller, and can be set in the memory address setting register of the semiconductor memory. A semiconductor memory having a memory address at which a memory address setting signal input is asserted and specified by the memory address reset command,
Memory address setting signal input for setting the value of the memory address setting register of the semiconductor memory after setting of the memory address setting register of the semiconductor memory, and completion of memory address setting indicating that the value of the memory address setting register is set With signal output,
The memory address setting signal from the controller is connected to the memory address setting signal input of the first semiconductor memory, and the memory address setting completion signal output of the first semiconductor memory is connected to the memory address setting signal input of the second semiconductor memory. Then, the memory address setting completion signal output of the second semiconductor memory is connected to the memory address setting signal input of the third semiconductor memory, and the same signal is connected thereafter, so that the last semiconductor memory of a series of semiconductor memory groups Connecting the memory address setting completion signal output to the memory address setting completion input of the controller,
The semiconductor memory negates the memory address setting completion signal output after initialization of the register in the semiconductor memory,
The semiconductor memory uses a clock output from the controller only when the memory address setting signal input is asserted and the memory address setting completion signal output is negated and the memory selection signal input is asserted for the semiconductor memory. Synchronously, the memory address setting register data output from the controller to the data bus is taken into the memory address setting register, and then the memory address setting completion signal output is asserted or the level of the memory address setting signal input is output. Thus, a memory address is set in a memory address setting register of the series of semiconductor memory groups.
請求項1に記載の半導体メモリファイルシステムにおいて、
前記コントローラから縦列に接続された前記半導体メモリの各々にデータ出力制御入力及びデータ出力制御出力を設け、
前記縦列に接続された半導体メモリの最後の半導体メモリの前記データ出力制御端子入力は、他の半導体メモリのデータ出力制御出力から出力されるデータ出力制御信号を受け取り、
前記データ出力制御信号がアサートされたときに、前記縦列に接続された半導体メモリの最後の半導体メモリに入力されたデータ及びクロック入力を前記コントローラへ出力する機能を有し、
前記縦列に接続された半導体メモリのうちの前記他の半導体メモリの前記データ出力制御出力は、前記コントローラが当該半導体メモリからデータまたは当該半導体メモリの状態をデータとして読み取る場合に前記コントローラから発行されたRead系コマンドに対応して指定された半導体メモリが発行されたコマンドに対応したデータを出力するとき前記データ出力制御出力から前記データ出力制御信号をアサートする機能を有すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 1 ,
A data output control input and a data output control output are provided to each of the semiconductor memories connected in series from the controller,
The data output control terminal input of the last semiconductor memory of the semiconductor memories connected in the column receives a data output control signal output from the data output control output of another semiconductor memory,
When the data output control signal is asserted, it has a function of outputting data and a clock input inputted to the last semiconductor memory of the semiconductor memories connected in the column to the controller,
The data output control output of the other semiconductor memory among the semiconductor memories connected in the column is issued from the controller when the controller reads data from the semiconductor memory or the state of the semiconductor memory as data. A semiconductor memory file having a function of asserting the data output control signal from the data output control output when the semiconductor memory designated corresponding to the Read command outputs data corresponding to the issued command system.
請求項7乃至12のいずれかに記載の半導体メモリファイルシステムにおいて、
前記半導体メモリにデータ出力制御入力及びデータ出力制御出力を設け、
前記1連の半導体メモリグループ中の前記コントローラに接続されたデータバスを前記半導体メモリグループ中の他の半導体メモリへ分配する半導体メモリは、当該半導体メモリの前記データ出力制御入力により該他の半導体メモリからのデータ出力制御信号を受け取り、該データ出力制御信号がアサートされたとき、該データ出力制御信号をアサートした半導体メモリからのデータを前記コントローラへ出力する機能を有し、
前記他の半導体メモリの前記データ出力制御出力は、前記コントローラが当該半導体メモリからデータまたは当該半導体メモリの状態をデータとして読み取る場合に前記コントローラから発行されたRead系コマンドに対応して指定された半導体メモリが発行されたコマンドに対応したデータを出力するとき前記データ出力制御出力から前記データ出力制御信号をアサートする機能を有すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to any one of claims 7 to 12 ,
The semiconductor memory is provided with a data output control input and a data output control output,
A semiconductor memory that distributes a data bus connected to the controller in the series of semiconductor memory groups to the other semiconductor memories in the semiconductor memory group is controlled by the data output control input of the semiconductor memory. Receiving a data output control signal from, and when the data output control signal is asserted, has a function of outputting data from the semiconductor memory that has asserted the data output control signal to the controller,
The data output control output of the other semiconductor memory is a semiconductor specified in response to a Read command issued from the controller when the controller reads data from the semiconductor memory or the state of the semiconductor memory as data. A semiconductor memory file system having a function of asserting the data output control signal from the data output control output when the memory outputs data corresponding to the issued command.
ホストより発行されたコマンドに応じた動作を行うマイクロプロセッサ及び制御装置を備えるコントローラと、前記コントローラに接続された第1の半導体メモリとを有する半導体メモリファイルシステムにおいて、
前記第1の半導体メモリに加えて複数の半導体メモリをさらに備え、
前記第1の半導体メモリは、コマンドおよびデータのうち少なくとも一方のためのバッファを内蔵し、
前記コントローラは、前記第1の半導体メモリへのコマンドおよびデータのうち少なくとも一方を出力するデータ信号線および該データ信号線の同期に使用するクロック出力を、前記バッファを内蔵した第1の半導体メモリに接続し、
前記第1の半導体メモリは、前記内蔵バッファでバッファした前記コマンドおよびデータのうち少なくとも一方と、前記同期用クロックとを、前記複数の半導体メモリのうちの1番目の半導体メモリへのデータ信号線およびクロック出力として出力し、
前記1番目の半導体メモリに入力されたコマンドおよびデータのうち少なくとも一方と、同期用クロックとを、前記複数の半導体メモリのうちの2番目の半導体メモリへのデータ信号線およびクロック出力として出力し、該2番目の半導体メモリに入力されたコマンドおよびデータのうち少なくとも一方と、同期用クロックとを、3番目の半導体メモリへのデータ信号線およびクロック出力として出力し、以下同じく、m−1番目の半導体メモリに入力されたコマンドおよびデータのうち少なくとも一方と、m番目の半導体メモリへのデータ信号線およびクロック出力として出力することで、前記第1の半導体メモリと前記複数の半導体メモリとを縦列に接続し、
前記縦列接続の最後に接続された前記 m 番目の半導体メモリからのデータ信号
線及び同期用クロックを、前記コントローラのデータ入力及びクロック入力へ接続され、
前記コントローラから出力されるデータは、前記第1の半導体及び前記複数の半導体からなる半導体グループのうちの半導体メモリを特定するメモリアドレスと、該半導体メモリに対して動作を指示するコマンドと、該半導体メモリ内のデータのアドレスを特定するアドレスおよびデータのうち少なくとも一方から構成される命令形式を使用し、
前記半導体グループ内の各半導体メモリは、データを記憶保持するメモリ部と、前記コマンドを取り込むコマンドレジスタと、該コマンドレジスタの内容に応じた動作を制御するコマンド制御部と、前記メモリアドレスを取りこむメモリアドレスレジスタと、当該半導体メモリの固有のアドレスを記憶するメモリアドレス設定レジスタと、該メモリアドレスレジスタと該メモリアドレス設定レジスタとの値を比較する比較器とを備え、
前記コマンド制御部は、前記比較器の比較結果が一致していたときのみコマンドに応じた動作を行い、
また、前記半導体メモリが縦列に接続されてなるn個の一連の半導体メモリグループ(以下1列の半導体メモリグループと呼ぶ)が、複数並列に配置されており、
前記コントローラから出力される前記データ信号線およびクロック出力は、前記各列の半導体メモリグループの1番目の半導体メモリにそれぞれ接続され、
前記各列の半導体メモリグループの最後の半導体メモリのデータ信号線およびクロック出力は、各々対応する信号が wired 接続され、前記コントローラのデータ入力とクロック入力へ接続され、
前記複数配置された各列の半導体メモリグループに含まれている半導体メモリの各々は、メモリ選択信号入力をさらに備え、
前記半導体メモリのデータおよび制御信号入力に対応するバッファ出力は、前記メモリ選択信号入力がネゲート状態にあるときは各出力が "Hi-z" 状態となり、前記メモリ選択信号入力がアサート状態のときは有効な値を出力し、
前記各列の半導体メモリの前記メモリ選択信号入力は、前記コントローラから出力される前記各列にそれぞれ対応した、共通のメモリ選択信号出力に接続されること
を特徴とする半導体メモリファイルシステム。
In a semiconductor memory file system having a controller including a microprocessor and a control device that performs an operation according to a command issued from a host, and a first semiconductor memory connected to the controller,
A plurality of semiconductor memories in addition to the first semiconductor memory;
The first semiconductor memory includes a buffer for at least one of command and data ,
The controller outputs a data signal line for outputting at least one of a command and data to the first semiconductor memory and a clock output used for synchronization of the data signal line to the first semiconductor memory having the buffer incorporated therein. connection,
The first semiconductor memory transmits at least one of the command and data buffered by the built-in buffer and the synchronization clock to a data signal line to a first semiconductor memory of the plurality of semiconductor memories, and Output as clock output,
Outputting at least one of a command and data input to the first semiconductor memory and a synchronization clock as a data signal line and a clock output to a second semiconductor memory of the plurality of semiconductor memories; At least one of the command and data input to the second semiconductor memory and a synchronization clock are output as a data signal line and a clock output to the third semiconductor memory, and so on. By outputting at least one of the command and data input to the semiconductor memory and the data signal line and clock output to the mth semiconductor memory, the first semiconductor memory and the plurality of semiconductor memories are arranged in a column. connection,
Data signal from the mth semiconductor memory connected at the end of the column connection
A line and a synchronization clock are connected to the data input and clock input of the controller;
The data output from the controller includes a memory address for specifying a semiconductor memory in the semiconductor group including the first semiconductor and the plurality of semiconductors, a command for instructing the semiconductor memory to operate, and the semiconductor Use an instruction format consisting of at least one of address and data that identifies the address of the data in the memory,
Each semiconductor memory in the semiconductor group includes a memory unit that stores and holds data, a command register that captures the command, a command control unit that controls operations according to the contents of the command register, and a memory that captures the memory address An address register, a memory address setting register for storing a unique address of the semiconductor memory, and a comparator for comparing values of the memory address register and the memory address setting register,
The command control unit performs an operation according to the command only when the comparison result of the comparator matches,
In addition, a series of n semiconductor memory groups in which the semiconductor memories are connected in a column (hereinafter referred to as one column of semiconductor memory groups) are arranged in parallel.
The data signal line and clock output output from the controller are respectively connected to a first semiconductor memory of the semiconductor memory group of each column,
The data signal line and the clock output of the last semiconductor memory of the semiconductor memory group of each column are respectively wired- connected to the corresponding signals and connected to the data input and clock input of the controller,
Each of the semiconductor memories included in the plurality of arranged semiconductor memory groups in each column further includes a memory selection signal input,
The buffer output corresponding to the data and control signal input of the semiconductor memory has each output in a “Hi-z” state when the memory selection signal input is in a negated state, and when the memory selection signal input is in an asserted state. Outputs a valid value,
The memory selection signal input of the semiconductor memory in each column is connected to a common memory selection signal output corresponding to each column output from the controller.
A semiconductor memory file system.
請求項15に記載の半導体メモリファイルシステムにおいて、
前記半導体グループのうちの各半導体メモリは、予め定めた特定のコマンドが前記コントローラから発行されたとき、前記メモリアドレスの比較結果の一致に関わらず動作すること
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 15 , wherein
Each semiconductor memory in the semiconductor group operates regardless of the coincidence of the comparison result of the memory address when a predetermined specific command is issued from the controller.
請求項15または16に記載の半導体メモリファイルシステムにおいて、
前記半導体メモリの前記メモリアドレス設定レジスタの値を設定するためのメモリアドレス設定信号入力と、シリアルデータ入力と、シリアルデータ出力とを設け、
前記メモリアドレス設定入力がアサートされたときに、前記コントローラから出力されるシリアルデータが、前記半導体メモリのシリアル入力を経由して当該半導体メモリの前記アドレス設定レジスタのシリアル入力に接続され、前記アドレス設定レジスタのシリアル出力が、当該半導体メモリのシリアルデータ出力から次段の半導体メモリのシリアル入力へ出力し、
以下同じく前記一連の半導体メモリが縦列に接続され、
前記縦列の最後の半導体メモリのシリアル出力は、前記コントローラのシリアル入力に接続され、
クロックに同期して前記各半導体メモリの前記メモリアドレス設定レジスタが全体として1つのシフトレジスタとして機能するように、前記コントローラからのメモリアドレスの設定値をシフトして設定し、
前記縦列に接続された前記半導体メモリの数を前記コントローラが計数可能にしたこと
を特徴とする半導体メモリファイルシステム。
The semiconductor memory file system according to claim 15 or 16 ,
A memory address setting signal input for setting a value of the memory address setting register of the semiconductor memory, a serial data input, and a serial data output;
When the memory address setting input is asserted, the serial data output from the controller is connected to the serial input of the address setting register of the semiconductor memory via the serial input of the semiconductor memory, and the address setting The serial output of the register is output from the serial data output of the semiconductor memory to the serial input of the next stage semiconductor memory,
Similarly, the series of semiconductor memories are connected in columns,
The serial output of the last semiconductor memory in the column is connected to the serial input of the controller,
The memory address setting value from the controller is shifted and set so that the memory address setting register of each semiconductor memory functions as one shift register as a whole in synchronization with the clock,
The semiconductor memory file system characterized in that the controller can count the number of the semiconductor memories connected in the column.
JP12385499A 1999-04-30 1999-04-30 Semiconductor memory file system Expired - Fee Related JP3853537B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12385499A JP3853537B2 (en) 1999-04-30 1999-04-30 Semiconductor memory file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12385499A JP3853537B2 (en) 1999-04-30 1999-04-30 Semiconductor memory file system

Publications (2)

Publication Number Publication Date
JP2000315185A JP2000315185A (en) 2000-11-14
JP3853537B2 true JP3853537B2 (en) 2006-12-06

Family

ID=14871050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12385499A Expired - Fee Related JP3853537B2 (en) 1999-04-30 1999-04-30 Semiconductor memory file system

Country Status (1)

Country Link
JP (1) JP3853537B2 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236611A (en) * 2000-12-04 2002-08-23 Hitachi Ltd Semiconductor device and information processing system
KR20050027118A (en) * 2002-07-22 2005-03-17 가부시끼가이샤 르네사스 테크놀로지 Semiconductor integrated circuit device processing system and memory system
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
EP1932158A4 (en) 2005-09-30 2008-10-15 Mosaid Technologies Inc Memory with output control
US7747833B2 (en) 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
KR101354376B1 (en) * 2006-05-23 2014-01-22 모사이드 테크놀로지스 인코퍼레이티드 Apparatus and method for establishing device identifiers for serially interconnected devices
US8407395B2 (en) 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
CA2659828A1 (en) * 2006-08-22 2008-02-28 Mosaid Technologies Incorporated Scalable memory system
US7817470B2 (en) * 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
JP5385156B2 (en) * 2007-02-16 2014-01-08 モサイド・テクノロジーズ・インコーポレーテッド Method for reducing power consumption in a system having a semiconductor device and a plurality of interconnect devices
CN101617371B (en) * 2007-02-16 2014-03-26 莫塞德技术公司 Non-volatile semiconductor memory having multiple external power supplies
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) * 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
TWI474331B (en) * 2009-06-30 2015-02-21 Hitachi Ltd Semiconductor device
US9239806B2 (en) 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US8856482B2 (en) 2011-03-11 2014-10-07 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization
US8463948B1 (en) * 2011-07-01 2013-06-11 Intel Corporation Method, apparatus and system for determining an identifier of a volume of memory
US8966151B2 (en) * 2012-03-30 2015-02-24 Spansion Llc Apparatus and method for a reduced pin count (RPC) memory bus interface including a read data strobe signal
WO2016143009A1 (en) * 2015-03-06 2016-09-15 株式会社 東芝 Memory device control method, and memory device

Also Published As

Publication number Publication date
JP2000315185A (en) 2000-11-14

Similar Documents

Publication Publication Date Title
JP3853537B2 (en) Semiconductor memory file system
US7259702B2 (en) Memory device
US6038400A (en) Self-configuring interface circuitry, including circuitry for identifying a protocol used to send signals to the interface circuitry, and circuitry for receiving the signals using the identified protocol
US8310880B2 (en) Virtual channel support in a nonvolatile memory controller
US8572297B2 (en) Programmable system-on-chip hub
US20040064746A1 (en) Data processing system and data processor
US6216191B1 (en) Field programmable gate array having a dedicated processor interface
US20210303503A1 (en) Method and system for enhanced spi communication
US20080195795A1 (en) Pipelined burst memory access
US5574866A (en) Method and apparatus for providing a data write signal with a programmable duration
KR0142033B1 (en) Micro computer
US8243516B2 (en) Interface for NAND-type flash memory
US5999991A (en) Programmably selectable addresses for expansion cards for a motherboard
US6549469B2 (en) Semiconductor memory system
JPH0628528A (en) Interface circuit for ic card
JPH04358252A (en) Workstation and consituting method thereof
JP2003223412A (en) Semiconductor integrated circuit
US8060676B2 (en) Method of hot switching data transfer rate on bus
JP2004192051A (en) Shared terminal controller
US20030182478A1 (en) Direct memory access controller, direct memory access device, and request device
JP4209708B2 (en) Semiconductor memory device
WO1996008771A1 (en) Implementation of timing between a microprocessor and its peripheral devices
US7555580B2 (en) Multi-function PC card
JP2000207379A (en) Cpu and microcomputer system
JP2007522576A (en) Digital signal processing integrated circuit having IO connection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040217

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060906

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees