(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-20
(54)【発明の名称】スーパースカラメモリIC、並びにスーパースカラメモリICにおいて使用されるバス及びシステム
(51)【国際特許分類】
G06F 12/06 20060101AFI20220113BHJP
G06F 12/02 20060101ALI20220113BHJP
G11C 8/16 20060101ALI20220113BHJP
G11C 8/12 20060101ALI20220113BHJP
G11C 11/408 20060101ALI20220113BHJP
G11C 11/4096 20060101ALI20220113BHJP
【FI】
G06F12/06 550B
G06F12/02 590A
G11C8/16
G11C8/12
G11C11/408
G11C11/4096 450
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021547642
(86)(22)【出願日】2019-10-17
(85)【翻訳文提出日】2021-06-15
(86)【国際出願番号】 US2019056773
(87)【国際公開番号】W WO2020086379
(87)【国際公開日】2020-04-30
(32)【優先日】2018-10-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521175539
【氏名又は名称】エトロン・テクノロジー・アメリカ・インコーポレイテッド
【氏名又は名称原語表記】ETRON TECHNOLOGY AMERICA, INC.
(71)【出願人】
【識別番号】508059915
【氏名又は名称】エトロン テクノロジー,インコーポレイテッド
【氏名又は名称原語表記】Etron Technology,Inc.
(74)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100129425
【氏名又は名称】小川 護晃
(74)【代理人】
【識別番号】100087505
【氏名又は名称】西山 春之
(74)【代理人】
【識別番号】100168642
【氏名又は名称】関谷 充司
(74)【代理人】
【識別番号】100217076
【氏名又は名称】宅間 邦俊
(74)【代理人】
【識別番号】100218604
【氏名又は名称】池本 理絵
(74)【代理人】
【識別番号】100107319
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100096769
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】クリスプ,リチャード・ドゥヴィット
【テーマコード(参考)】
5B160
5M024
【Fターム(参考)】
5B160CA12
5M024AA49
5M024AA71
5M024BB03
5M024BB05
5M024BB34
5M024DD83
5M024JJ03
5M024JJ04
5M024JJ13
5M024JJ14
5M024JJ20
5M024JJ42
5M024JJ59
5M024PP01
5M024PP07
(57)【要約】
マルチバンクスーパースカラメモリIC及びこのメモリICにおいて使用されるシステムが開示されている。複数の独立したアドレス指定ポートを使用して、複数のメモリ位置に同時にアクセスすることができ、共通のDDRタイプメモリによってサポートされるものよりも高レベルの同時並行性が得られる。1つの開示されている実施形態は、同じメモリICに対する同時の読み出し操作及び書き込み操作をサポートすることができる2つの個別のデータIOポートを有するメモリICであり、より高レベルの同時並行性を利用することによって、動作を非直列化して動作クロック周波数を低下させ、所与のリアルタイムビデオ処理作業負荷の動作電力を低減させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メモリICであって、
前記メモリICに記憶されるデータを受信し、前記メモリIC内の記憶領域から読み出されたデータを送信するように構成された単一の外部データIOポートと、
コマンドを受信するように構成された単一の外部コマンド入力ポートと、
第1のアドレスを受信するように構成された第1の外部アドレス入力ポートと、
第2のアドレスを受信するように構成された第2の外部アドレス入力ポートと、
を備え、
前記コマンドは、前記メモリICにおける2つの異なる領域に同時にアクセスするように前記第1のアドレス及び前記第2のアドレス上で操作可能である、メモリIC。
【請求項2】
前記コマンドは、第1の操作タイプコマンド及び第2の操作タイプコマンドを含み、前記メモリICは、単一のメモリサイクルの間に第1の操作タイプコマンド及び第2の操作タイプコマンドの双方を前記外部コマンド入力ポートから受信することができ、前記メモリICは、前記第1の外部アドレス入力ポート及び前記第2の外部アドレス入力ポートを同時にサンプリングすることによって得られるアドレス指定情報を使用して、第1の操作タイプコマンド及び第2の操作タイプコマンドの双方を同時に実行することができる、請求項1に記載のメモリIC。
【請求項3】
前記メモリICはダイナミックランダムアクセスメモリ(「DRAM」)である、請求項2に記載のメモリIC。
【請求項4】
前記第1のアドレスは行アドレスである、請求項3に記載のメモリIC。
【請求項5】
前記第2のアドレスは列アドレスである、請求項4に記載のメモリIC。
【請求項6】
前記外部コマンド入力ポートは単一の導体ピンを備える、請求項5に記載のメモリIC。
【請求項7】
前記第1の外部アドレス入力ポートは単一の導体ピンを備える、請求項6に記載のメモリIC。
【請求項8】
前記第2の外部アドレス入力ポートは単一の導体ピンを備える、請求項7に記載のメモリIC。
【請求項9】
前記第1の操作タイプコマンドは行コマンドである、請求項8に記載のメモリIC。
【請求項10】
前記第2の操作タイプコマンドは列コマンドである、請求項9に記載のメモリIC。
【請求項11】
前記データIOポートは、2つの個別に制御可能なIO回路のグループとして構成され、グループ内の各回路は、マルチ導体データバスの1つの導体に結合されるように設計された外部端末に結合され、前記IO回路の各グループのIO操作は、前記メモリICが動作しているときに、データIOポートの回路の一方のグループが、前記第1の外部アドレス入力ポートによってアドレス指定されたデータを第1のマルチ導体データバスを介して送信することができるとともに、データIOポートの回路の他方のグループが、前記第2の外部アドレスポートによってアドレス指定されたデータを第2のマルチ導体データバスを介して受信することができるように独立制御可能である、請求項1に記載のメモリIC。
【請求項12】
マルチコアプロセッサ及びメモリICを備えるプロセッサ-メモリサブシステムであって、
前記メモリICは、
前記メモリICに記憶されるデータを受信し、前記メモリIC内の記憶領域から読み出されたデータを送信するように構成された単一の外部データIOポートと、
コマンドを受信するように構成された単一の外部コマンド入力ポートと、
第1のアドレスを受信するように構成された第1の外部アドレス入力ポートと、
第2のアドレスを受信するように構成された第2の外部アドレス入力ポートと、
を備え、
前記コマンドは、前記メモリICにおける2つの異なる領域に同時にアクセスするように前記第1のアドレス及び前記第2のアドレス上で操作可能である、プロセッサ-メモリサブシステム。
【請求項13】
前記コマンドは、第1の操作タイプコマンド及び第2の操作タイプコマンドを含み、前記メモリICは、単一のメモリサイクルの間に第1の操作タイプコマンド及び第2の操作タイプコマンドの双方を前記外部コマンド入力ポートから受信することができ、前記メモリICは、前記第1の外部アドレス入力ポート及び前記第2の外部アドレス入力ポートを同時にサンプリングすることによって得られるアドレス指定情報を使用して、第1の操作タイプコマンド及び第2の操作タイプコマンドの双方を同時に実行することができる、請求項12に記載のプロセッサ-メモリサブシステム。
【請求項14】
前記データIOポートは、2つの個別に制御可能なIO回路のグループとして構成され、グループ内の各回路は、マルチ導体データバスの1つの導体に結合されるように設計された外部端末に結合され、前記IO回路の各グループのIO操作は、前記メモリサブシステムが動作しているときに、データIOポートの回路の一方のグループが、前記第1の外部アドレス入力ポートによってアドレス指定されたデータを第1のマルチ導体データバスを介して送信することができるとともに、データIOポートの回路の他方のグループが、前記第2の外部アドレスポートによってアドレス指定されたデータを第2のマルチ導体データバスを介して受信することができるように独立制御可能である、請求項13に記載のプロセッサ-メモリサブシステム。
【請求項15】
マルチコアプロセッサ及びメモリICを備える機器であって、
前記メモリICは、
前記メモリICに記憶されるデータを受信し、前記メモリIC内の記憶領域から読み出されたデータを送信するように構成された単一の外部データIOポートと、
コマンドを受信するように構成された単一の外部コマンド入力ポートと、
第1のアドレスを受信するように構成された第1の外部アドレス入力ポートと、
第2のアドレスを受信するように構成された第2の外部アドレス入力ポートと、
を備え、
前記コマンドは、前記メモリICにおける2つの異なる領域に同時にアクセスするように前記第1のアドレス及び前記第2のアドレス上で操作可能である、機器。
【請求項16】
前記コマンドは、第1の操作タイプコマンド及び第2の操作タイプコマンドを含み、前記メモリICは、単一のメモリサイクルの間に第1の操作タイプコマンド及び第2の操作タイプコマンドの双方を前記外部コマンド入力ポートから受信することができ、前記メモリICは、前記第1の外部アドレス入力ポート及び前記第2の外部アドレス入力ポートを同時にサンプリングすることによって得られるアドレス指定情報を使用して、第1の操作タイプコマンド及び第2の操作タイプコマンドの双方を同時に実行することができる、請求項15に記載の機器。
【請求項17】
前記データIOポートは、2つの個別に制御可能なIO回路のグループとして構成され、グループ内の各回路は、マルチ導体データバスの1つの導体に結合されるように設計された外部端末に結合され、前記IO回路の各グループのIO操作は、前記機器が動作しているときに、データIOポートの回路の一方のグループが、前記第1の外部アドレス入力ポートによってアドレス指定されたデータを第1のマルチ導体データバスを介して送信することができるとともに、データIOポートの回路の他方のグループが、前記第2の外部アドレスポートによってアドレス指定されたデータを第2のマルチ導体データバスを介して受信することができるように独立制御可能である、請求項16に記載の機器。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2018年10月23日に出願された米国仮特許出願第62/749,403号の出願日の利益を主張する。この米国仮特許出願の開示内容は、引用することによって本明細書の一部をなすものとする。
【背景技術】
【0002】
メモリシステムは、ダイナミックRAM ICを使用して構築されることが多い。ダイナミックRAM ICは、一般に、ダイナミックRAMメモリの記憶セルが行アドレス及び列アドレスを介してアクセス可能な2次元の記憶領域の配列に配置されるように設計される。この方式では、行アドレスがワード線を指定し、ワード線は、選択された記憶セルからの電荷をビット線上に破壊的に結合し、電荷共有によって小さな電圧を確立する。この小さな電圧は、その後、検知(増幅)され、対応する発信元のビットセル内に書き戻される(復元される)。列アドレスは、アクセスされるビット線を選択するのに使用され、データは、読み出し操作を完了するために読み出されるか、又は、メモリが書き込み操作を実行している場合には新たなデータで上書きされる。
【0003】
メモリへのアクセスは、通常、列アドレスをデコードして、事前に検知されている一群のビット線(オープンページ)にアクセスすることからなる。目的のメモリデータがまだ検知されていない場合には(ページミス)、前述したように、現在検知されているデータを元のソースメモリビット内に復元し、ビット線をプリチャージし(ページプリチャージ)、新たな行アドレスをデコードし、対応するメモリビットをビット線に結合し、検知しなければならない(行アクティブ化)。適切なビットがビット線上で選択及び検知された後にのみ、列アドレスは目的のデータを選択し、メモリアクセス操作を完了することができる。
【0004】
メモリマトリックスは2次元の配列に配置されるので、1つの行アドレスでは、通常、多くのビットが同時に検知される。行操作とも呼ばれる行アドレスの変更が行われると、ビット線をプリチャージしなければならず、その後に、新たなワード線が選択され、これに続いて、ビット線が検知され、その結果、新たなデータが読み出し又は上書き可能となる。説明したような行アドレスの変更の結果、電荷がIC内を移動するので、電力が消費される。
【0005】
データの読み出し又は既存のデータの上書きを行うには、列にアクセスしなければならない(列操作とも呼ばれる)。この操作は、列アドレスをデコードして目的のビット線を選択し、ビット線からのデータを増幅器上にゲーティングして、列操作が読み出し操作であるのか又は書き込み操作であるのかに応じてデータの読み出し又は上書きを可能にすることからなる。
【0006】
一般に、行操作を実行するのに必要な時間及び消費される電力はいずれも列操作の場合と異なる。性能の観点から、オープンページにのみアクセスすることが望ましい。
【0007】
ほとんどのダイナミックRAM ICのメモリの記憶領域の配列は、電力及び効率をより良く管理するために、個別にアドレス指定可能なバンクに分割される。各バンクはオープンページを有することができるので、このバンク構成スキームが、オープンページにおけるデータにアクセスする機会を増加させる。
【0008】
各バンクは独立してアドレス指定可能であるので、メモリ配列の異なるバンク内で行操作及び列操作を同時に実行することが可能である。
【0009】
メモリICの効率性の1つの指標は、所与のベンチマークのメモリ負荷を実行するのに必要な総時間に対する、データバスが有用なデータを伝送している時間のパーセンテージである。効率性に影響を与える要因は、メモリアクセスパターン、読み出し操作及び書き込み操作の混合態様、オープンページに対するアクセス数(ページヒット)、平均データ伝送長、並びにメモリシステム内のバンクの数及びサイズを含む。
【0010】
アクセスの結果がDRAMのページミスである場合には、そのデータにアクセスできるようになる前に、行アクティブ化操作及び列操作の双方を目的のページに対して実行しなければならず、これによって、効率性が低減する。他方、アクセスがオープンページに対するものである場合には、列操作のみが必要とされ、レイテンシが低減され、効率性がより高くなる。したがって、DRAMの効率性は、このDRAMへのデータ伝送が必要となる前にページをオープンすることができる場合に向上する。
【0011】
2ウェイスーパースカラプロセッサは、サイクルごとに最大2つの命令を発行することができるプロセッサであり、各命令は、それ自体のデータオペランドを使用し、個別のハードウェアリソース上で実行される。いずれの命令もいずれのハードウェアリソース上で実行することもでき、これらは一般に対称性がある。その結果、プロセッサが同じ命令の対を実行することができる2つの「ウェイ(Ways)」があると言われ、それぞれが「ウェイ(Way)」を構成する。用語「ウェイ」の別の使用例は、2ウェイセットアソシアティブキャッシュであり、これは、キャッシュされたデータを記憶できる2つの一般的に同一の記憶領域(データを記憶する2つの「ウェイ」)を有する。
【0012】
システム設計における傾向は、マルチコアプロセッサ又はスーパースカラプロセッサ等のマルチイシュープロセッサを組み込むことである。これらのシステムでは、プロセッサは、複数の命令を同時に実行することができ、それぞれが異なるタスク又はスレッドの一部であり、複数のタスクを並列に実行することによって多くの信号処理アプリケーションの固有の並列性を利用するように構成される。1つの例は、リアルタイムビデオをキャプチャするのに使用され、ビデオデータに対する変換をリアルタイムの順序で行い、ビデオを表示用にフォーマットするシステムである。この構成では、1つのプロセッサコアが、ビデオキャプチャ及びメモリへの書き込みを処理することができる一方、別のプロセッサコアが、記憶されたデータにアクセスし、このデータに対する操作を行ってデータを表示用にフォーマットすることができる。
【0013】
デュアルポートSRAMは長年存在してきたが、ビット容量が、高精細及びより高い解像度のビデオバッファリングのニーズと比較してかなり低い。その上、メモリIC上でデュアルポート化されたSRAMビットセル回路に必要とされる大きな面積と、高いインタフェース信号数を必要とするアーキテクチャ要件から生じるICに必要とされる大きなピン数パッケージとに起因して、コストがメモリICにしては法外に高い。
【発明の概要】
【0014】
本発明の1つの実施の形態は、組み合わせることでDRAM ICのメモリ配列を構成するバンクの操作の機能的一般化を導入する。本発明は、サイクルごとに2つの操作を実行することができるスーパースカラ操作モードを含む。このアーキテクチャは、行操作(プリチャージ、アクティブ化、リフレッシュ)を伴うコマンドを、列操作(バースト読み出し、バースト書き込み、バースト停止、r/wトグル等)を伴うコマンドと同じサイクルの間に同じメモリICに発行することを可能にする。本発明では、任意の2つのバンクに同時にアクセスすることができ、各バンクは、当該バンクのみを対象とするコマンド及びアドレス指定情報を使用する。
【0015】
本発明の別の実施の形態では、1つのバンクは、行操作のみを対象とする外部から供給されたコマンド及びアドレス指定情報によって制御される行操作を実行することができるとともに、第2の異なるバンクは、列操作のみを対象とする外部から供給されたコマンド及びアドレスによって制御される列操作を同時に実行することができる。
【0016】
本発明の更に別の実施の形態では、1つのバンクが、第1の単一の信号線を介して受信される行コマンドによって指示される行操作を、第2の単一の信号線を介して同時に受信されるアドレス指定情報を用いて実行することができる。この実施の形態では、第2のバンクが、行コマンドと同じ第1の単一の信号線を介して受信される列コマンドによって指示される列操作を、第3の単一の信号線を介して同時に受信される列アドレス指定情報を用いて、同じメモリサイクル内で同時に実行することができる。この実施の形態では、コマンドポート、行アドレスポート及び列アドレスポートが、システムにおいて使用されるときに個別の単一の信号線にそれぞれ接続して3線式コマンド/アドレスインタフェースを形成するように適合される。単一のデータIOポートがこの構成に使用される。
【0017】
本発明の更に別の実施の形態では、2ウェイスーパースカラメモリを形成する2つの独立したアドレスポートを使用して、メモリIC内の2つの個別のメモリバンクに同時に独立してアクセスすることができる。他の実施の形態は、単一のデータIOポートのみの代わりに、2つのデータIOポートを用い、各データIOポートは、独立した方向制御が可能である。本発明の他の実施の形態は、同時に動作するバンク、データポート及びそれらのアドレス指定の数を増やすことができる。例えば、4ウェイスーパースカラメモリは、それぞれが独立して同時に制御可能かつアドレス指定可能である最大4つのバンクに同時にアクセスし、本発明の一態様の趣旨を実行する。
【図面の簡単な説明】
【0018】
【
図1】本開示の態様による一例示のデバイスのブロック図である。
【
図2】本開示の態様による例示のビット割り当てを示す図である。
【
図3】本開示の態様による一例示のタイミング図である。
【
図4】本開示の態様による一例示の真理値表である。
【
図5】本開示の態様による列シリアルアドレスの一例示のフォーマットを示す図である。
【
図6】本開示の態様による行シリアルアドレスの一例示のフォーマットを示す図である。
【
図7】本開示の態様による一例示のバス操作を示す図である。
【
図9】本開示の態様によるモードレジスタを満たす例示のパラメータを示す図である。
【
図10】本開示の態様による2つのモードレジスタフィールド定義を示す図である。
【
図11】本開示の態様による一例示のメモリ配列、及びこのメモリ配列のリフレッシュ制御を示す図である。
【
図12】本開示の態様による一例示のリセットを示す図である。
【
図13】本開示の一態様による2ウェイスーパースカラメモリのブロック図及びバスタイミング図である。
【
図14】本開示による、2つのデータストリームが1:1クロック周波数/データギア比を使用してオフチップ伝送用にどのように組み合わされるのかを示すデータIOブロックを示す図及び関連したタイミング図である。
【
図15】
図14のデータブロックの構成オプションを示す図である。
【
図16】本開示による、2つのデータストリームが8:1クロック周波数/データギア比を使用してオフチップ伝送用にどのように組み合わされるのかを示すデータIOブロックを示す図及び関連したタイミング図である。
【
図17】
図16のデータブロックの構成オプションを示す図である。
【
図18】本開示によるマルチコアプロセッサ-スーパースカラメモリサブシステムを示す図である。
【
図19】自然(natural)のデータタイプ及びそれらからのデータストリームの1つ以上のセンサをそれらの処理機能及び表示機能と組み合わせたマルチコアプロセッサ及びスーパースカラメモリサブシステムを組み込んだ機器を示す図である。
【発明を実施するための形態】
【0019】
0037
図1は、コントローラ101及びクロック102を含むDRAMアーキテクチャを含むスーパースカラメモリICの1つの実施態様を示している。メモリICは、シリアルコマンド106b、シリアル行アドレス106a及びシリアル列アドレス106cを含む3線式制御106を使用する。各メインサイクルは、データ入力/出力(I/O)107a~107dを含むデータバス107のバスクロック109の8つのサイクルからなる。各メインサイクル中に、3本の制御線106は、バスクロック109の立ち上がりエッジ及び立ち下がりエッジにおいてサンプリングされ、メインサイクルごとに合計16個のサンプルが得られる。
【0020】
データI/O107a~107dは、例えば、単一の32ビットポートとして構成することもできるし、2つのx16幅データパスとして構成して2つのデータポートを形成し、合計32個のI/Oを構成することもできる。その上、データI/O回路は、1つ又は2つのグループとして制御することができる。例えば、第1の独立制御可能なグループが、データI/O107a及び10bを通る16ビット等の下位ビットセットを含むことができ、第2の独立制御可能なグループが、データI/O107c及び107dを通る16ビット等の上位ビットセットを含むことができる。
【0021】
メモリICは、x8バージョンのメモリ103を含み、データバスIO回路を含むことができる。図示するように、メモリICは、データストローブI/Oピン108a~108dを含むデータストローブ108を更に含む。データストローブ108は、データバス上に現れたデータのサンプリングの準備ができていることを示すのに使用される。メモリICは、単一のデータストローブセットを含むx16バージョンのメモリ104と、バイト幅データストローブを有するx16バージョンのメモリ100と、バイト幅データストローブを有するx32バージョンのメモリ105とを更に含むことができる。共通バス上にともに存在する複数のそのようなメモリICをサポートするために、デバイスを選択/アクティブ状態又は非選択/非アクティブ状態にすることを可能にするチップセレクト110が組み込まれている。
【0022】
図2は、3つの制御線106からサンプリングされるビットのビット割り当てを示している。行シリアルアドレス106aは、最大16ビット量とすることができる。列シリアルアドレス106cは、最大13ビットの列アドレスに3ビットのオフセット206cを加えたものからなる。
【0023】
ワードは、伝送するのにバスクロック109の8つのサイクルを必要とする1つのメインサイクル内で伝送することができる。32バイトワードサイズ及び16ビットデータバスの場合に、32ビットの分量(Quanta)がバスクロックサイクルごとに伝送され、8つのバスクロックサイクルシーケンスにわたって、順次アドレス指定される8つの32ビットの分量が16ビットデータバスによって伝送される。3ビットオフセット206cを使用すると、順次アドレス指定される8つの分量のいずれが最初に伝送されるかを選択することが可能である。後続の32ビットの分量は、ワード内において自動インクリメントモード又は自動デクリメントモードのいずれかで連続アドレスから伝送され、アドレスがワードの最後でラップされる。
【0024】
1つの実施態様では、シリアルコマンドは2つの8ビットフィールドに分割され、一方が行コマンド206用であり、他方が列コマンド207用である。単一のサイクル中に、行コマンド206及び列コマンド207を同時に実行することができ、DRAMのスーパースカラタイプの操作モードになり得る。すなわち、2つのコマンドがサイクルごとに実行される。
【0025】
0043
図3は、行コマンド206、行アドレス106a、列コマンド207及び列アドレス106cがシステムバスからどのように受信され、これらのコマンド及びアドレスによって、メモリIC内の個々のバンクを対象とした操作がどのように順序付けられ、て制御されるのかを示すタイミング図を示している。タイムスロット0 301において、前のメモリサイクルにおいて受信された行コマンド206及び行アドレス106aが実行される。行アドレス106a及び行コマンド206は、バンク2 312におけるアドレスをアクティブ化するようにメモリに指示する。同時に、タイムスロット0 301において、前述した前のメモリサイクルにおいて受信された列コマンド207及び列アドレス106cが実行され、バンク0から読み出しが行われる。コアレイテンシに起因して、要求されたデータワード107.0が、タイムスロット1 302の間にデータバス107上で駆動される。タイムスロット0 301の間、タイムスロット1 302の間に実行されるバンク2からの読み出しを指示する列コマンド207がシリアルコマンド(SerCommand)ピン106bから受信され、バンク2からのデータ107.1が、タイムスロット2 303の間にデータバス107上に現れる。
【0026】
行コマンド及び列コマンドの1つの可能なビット割り当てセットを示す真理値表が
図4に示されている。行コマンド及び列コマンド用の最初の2ビットが、操作を定義するのに使用される。行コマンドを列コマンドと同時に発行することができる場合には、例えば、操作ビットの1つのセットは、それらのビットが任意の状態(すなわち「don't care」)であり得ることを示す値XXである。例えば、バンクプリチャージ403は、バースト読み出し400又は列NOP402と同時に行うことができる。
【0027】
図6に関して更に詳細に示すように、行アクティブ化操作404の間、行シリアルアドレス106aは、アクティブ化される行のアドレスを含む。行コマンド206は、要求された行が位置するバンクを指定するフィールド470を含む。リフレッシュサイクル435は、
図11とともに以下で更に詳細に説明される。サイクル開始コマンド450は、
図12とともに以下で更に詳細に説明される。行NOPコマンド405は、行操作がメモリサイクル内で発行されないときに使用される。バースト停止401コマンドは、進行中のバースト読み出し操作又はバースト書き込み操作を停止するのに使用される。
【0028】
リセット(RESET)430、モードレジスタセット(「MRS:Mode Register Set」)420、及び幾つかのユーティリティレジスタ操作440等の幾つかのコマンドはグローバルである。それらの場合に、シリアルコマンド106bが、そのようなコマンドをメモリICに発行するのに使用され、そのため、特定の操作タイプがこれらの場合のために予約されている。
【0029】
他のビットマッピング及び機能的組み合わせが可能であり、本発明の趣旨の範囲内に収まる。
【0030】
図5は、列シリアルアドレス106cのフォーマットを示している。バーストサイクル400の間、列シリアルアドレスは、13ビットの列アドレス501、及び、3ビットのオフセット206cとして解釈され、8つの分量のうちの最初に伝送されるものを選択する。
図4に示すバーストコマンド400は、後続のワード内分量(in-Word Quanta)伝送のアドレスがワードアドレス境界制限内で自動インクリメントするのか又は自動デクリメントするのかを示すアップ/ダウンビット460を含む。
【0031】
図6は、行シリアルアドレス106aのフォーマットを示している。バンクプリチャージコマンド403の間、行シリアルアドレスは、プリチャージされるバンクを制御するのに使用され、「1」に設定されたいずれのビットも、対応するバンクがプリチャージされることを可能にする。同時にプリチャージすることができるバンクの最大数に制限を設けなければならない可能性がある。このDRAMは、そのような要件に従うためにコントローラに依拠し、効率的な管理のためにその内部リソースの全制御をそのコントローラに公開している。アクティブ化操作404の間、行シリアルアドレス106aは、アクティブ化される行のアドレスを含む。行コマンド206は、要求された行が位置するバンクを指定するフィールド470を含む。
【0032】
図7は、各サイクルが新たな行コマンド及び新たな列コマンドを受信する定常状態のバースト操作のタイミング図を示している。サイクル0 700の間に受信された行コマンド及び列コマンドは、サイクル1 701の間に、サイクル0 700の間に受信された行シリアルアドレス106a及び列シリアルアドレス106cにおいて操作する。サイクル1 701の間にコマンドを実行している間において読み出されたいずれのデータも、サイクル2 702の間にデータバス107上に現れる。同様にして、データは、サイクル1においてアドレス指定された後にサイクル3 703の間にデータバスに現れる。そのようなシーケンスは、任意の数のメモリサイクルの間繰り返すことができる。
【0033】
図8は、バースト読み出しを、バンクプリチャージ操作及び行アクティブ化操作と重なり合ったランダム列アドレス指定と相互混合することを含むとともに、バースト読み出しからバースト書き込みにトグルし、その後、バースト読み出しに戻ることを含むバス操作のより詳細な図を示している。1つのメモリサイクルの間に、行アクティブ化404コマンドが行コマンド206.0として同じサイクルの間に発行され、バースト読み出し400が列コマンド207.0として発行される。列アドレス806c.0が、この同じメモリサイクルの間に受信される。データパケット807.0がこの読み出しサイクルから得られる。次のメモリサイクルにおいて、行アクティブ化404が、行アドレス806a.1を使用して行コマンド206.1として受信される。次のメモリサイクルにおいて、バースト読み出しをこの行に発行することができ、その結果、データ807.2が得られる。
【0034】
図9は、モードレジスタを設定するパラメータがモードレジスタセット操作402の間に行シリアルアドレス106a及び列シリアルアドレス106cからどのように抽出されるのかを示している。シリアルコマンド206は、どのモードレジスタがモードレジスタセット操作のために選択されるのかを指定するのに使用される6ビットフィールド901を含む。モードレジスタセット操作の間、パラメータが、列シリアルアドレス106c及び行シリアルアドレス106aから抽出され、パラメータ902及び903に使用されて32ビットまでのパラメータフィールドを形成する。6ビットのアドレス指定901を使用して、最大64個の32ビットのレジスタがサポートされる。
【0035】
図10は、2つのモードレジスタフィールド定義を示している。1つは、レイテンシODTイネーブル出力インピーダンスレジスタ1002.0であり、IOドライバのレイテンシ1005、オンダイ終端(「ODT:On Die Termination」)制御1006及び出力インピーダンス1007を設定するのに使用される。このモードレジスタは、本発明のこの実施態様では、そのパラメータを列シリアルアドレス106c線から受信するが、特定の実施最適化に応じて、行シリアルアドレス106a線から受信することもできるし、2つのシリアルアドレス線のそれぞれからフィールドを抽出することもでき、これらも引き続き本発明の趣旨を維持することができる。
図10は、行シリアルアドレス106a線からロードされるリフレッシュバンク選択レジスタ1003.0も示している。上記と同様に、他のそのようなマッピングも本開示の範囲内に収まる。
【0036】
図11は、リフレッシュバンク選択レジスタがリフレッシュサイクル435(
図4)の間にどのように使用されるのかを示すメモリ配列1101のブロック図を提供している。このレジスタは、どのバンクがリフレッシュされるのかを制御する。一例として、DRAMが自動セルフリフレッシュ(「ASR:Automatic Self Refresh」)を使用していると仮定する。電力最小化のために、
図11に示すように、3つのバンクのみをリフレッシュすることが望ましい場合がある。リフレッシュバンク選択レジスタ1003.0に適切なビットを設定することによって、バンク0、7及び10のみがリフレッシュされ、節電される。
【0037】
図12は、メモリICをリセット(RESET)し、その後に、レイテンシ/ODT/インピーダンスモードレジスタ及びリフレッシュバンク選択レジスタの双方を設定するMRS操作を行う方法を示している。メモリICをリセットするために、デバイスは、最小10クロックサイクルの間ローに保持されてリセット430を強制的に行うシリアルコマンド106bを用いてチップセレクトされる。メモリICは、サイクル開始450コマンドを発行し、その後にMRS420コマンドを発行することによって初期化することができる。列シリアルアドレス106c及び行シリアルアドレス106aは、上述したような様々なモードレジスタをロードするためにサンプリングされる。
【0038】
図13は、本開示の別の実施態様であるメモリICの2ウェイスーパースカラバージョン1300と、パイプライン化された読み出し操作を示すタイミング図とを示している。2ウェイスーパースカラメモリICは、個別にアドレス指定可能なメモリバンク1320~1323内に含まれる同じメモリ記憶位置にアクセスする2つの独立したポート(「ウェイ」)を有するメモリICを意味し、各「ウェイ」は、そのウェイのみに関連付けられた独立したアドレス指定入力ポートを含む。このメモリICは、メモリサイクル(例えば、メモリサイクル1350~1353)ごとに2つのコマンドを実行することができ、各コマンドは、同じ単一のメモリサイクル内においてもその全対応アドレスを受信することができる。ウェイ0を制御するコマンド及びウェイ1を制御する別個のコマンドを含むコマンド1302を受信するのに共有ポートが使用される。ウェイ0 1301及びウェイ1 1303のアドレス指定情報は、個別のポートを介して受信される。本開示の1つの実施態様では、2つのアドレスポートは、IC信号ピン等の2つの導体ピンを使用して実装され、単一のコマンドポートは、IC信号ピン等の単一の導体ピンを使用して実装される。
【0039】
この2ウェイスーパースカラメモリICでは、2つのバンク1320~1323からの同時の読み出し又は2つのバンク1320~1323への同時の書き込みを行うことが可能である。例えば、第1のアドレスポートを通じて受信された要求は、バンク1321からの読み出しを開始することができるとともに、第2のアドレスポートを通じて受信された別個の要求は、バンク1322からの読み出しを開始することができる。メモリICがDRAM技術を使用して実装される場合には、いずれかのウェイは、バンクプリチャージコマンド又は行アクティブ化コマンドを同じメモリ配列に発行することができる。
【0040】
サイクル0 1350において要求されたデュアル読み出し操作の場合に、データは、サイクル0 1350の間のウェイ0アドレス1301の位置及びウェイ1アドレス1302の位置からサイクル2 1352において現れる。データは、メモリIC外へI/Oポート1325及びバス1306を介して伝送される。
【0041】
2ウェイスーパースカラメモリは、幾つかのシステムアプリケーションではマルチドロップ構成で有利に使用されるので、グループの1つのチップをバス上のアクティブチップとして選択することを可能にするチップセレクトピン1355が含められる。
【0042】
図14は、IO回路1325の1つの実施態様の動作を示すタイミング図を示している。この例では、バスクロック1410が、DDRタイプシグナリングを使用してデータ伝送ポート1306をサイクルさせるのに使用される。内部バスデータウェイ0 1401及び内部バスデータウェイ1 1402は、SDRレートシグナリングである。このIO回路は、ウェイ0データがバスクロック1410の高位相の間に伝送され、ウェイ1データがバスクロック1410の低位相の間に伝送されるように2つの内部バスを組み合わせる。ウェイ0及びウェイ1を備える128ビット幅バスの場合に、DDRレートの外部IOデータ伝送バスは、必然的に128ビット幅DDRタイプバスとなる。
【0043】
図15は、データ伝送バスがウェイ0 1506用の個別のデータバスと、ウェイ1 1507用の個別のデータバスとに分割されるデータ伝送バスの代替の構成を示している。これらのバスは、一方が読み出しモードであるとともに他方が書き込みモードであるように、又はそのような他の任意の組み合わせで独立して動作させることができる。
図14の共通バスと同じSDR/DDRの関係を使用すると、これは、メモリICの構成オプションとすることができる。
【0044】
図16は、IO回路1325の1つの実施態様の動作を示すタイミング図を示している。この例では、バスクロック1410が、DDRタイプシグナリングを使用してデータ伝送ポート1306をサイクルさせるのに使用される。内部バスデータウェイ0 1401及びデータウェイ1 1402は、SDRレートシグナリングである。このIO回路は、ウェイ0データ1601がバスクロック1410の高位相の間に伝送され、ウェイ1データ1602がバスクロック1410の低位相の間に伝送されるように2つの内部バスを組み合わせる。ウェイ0及びウェイ1を備える128ビット幅バスの場合に、16ビット幅に制限されるDDRレートの外部IOデータ伝送バスは、いわゆる8:1ギア比を使用すると、必然的に内部ウェイバスの8倍の周波数で動作する。
【0045】
図17は、データ伝送バスがウェイ0 1706用の個別のデータバスと、ウェイ1 1707用の個別のバスとに分割されるデータ伝送バスの代替の構成を示している。これらのバスは、一方が読み出しモードであるとともに他方が書き込みモードであるように、又はそのような他の任意の組み合わせで独立して動作させることができる。
図14の共通バスと同じSDR/DDRの関係を使用すると、これは、メモリICの構成オプションとすることができる。
【0046】
図18は、マルチコアプロセッサ1801-スーパースカラメモリ1300サブシステム1800を示している。データバス1306が、プロセッサとメモリとの間でデータを伝送するのに使用される。プロセッサは、メモリに接続されたコマンドポート1302を介してコマンドストリームを提供する。プロセッサは、ウェイ0及びウェイ1にそれぞれ割り当てられた2つの個別のアドレスポート1301及び1303を介して個別のウェイ0アドレスストリーム及びウェイ1アドレスストリームも提供する。マルチコアプロセッサは、サイクルごとに2つ以上の命令をディスパッチするマルチウェイスーパースカラプロセッサ、又は、それぞれが異なる命令ストリームを実行する2つの独立したプロセッサコアとして実装することができる。データバスは、単一のバスとして又は各ウェイに専用化されたバスとして構成することもできるし、一方のバスが読み出しモードであるとともに他方のバスが書き込みモードであるように、又はそのような他の任意の組み合わせで構成することもできる。
【0047】
図19は、自然のデータタイプをリアルタイムでキャプチャ、処理及び表示するように設計された機器1900を示している。機器1900は、センササブシステム1901と、任意選択の付加的なセンササブシステム(複数の場合もある)1903とからなり、これらの双方は、ディスプレイ要素1902及び/又は光学要素1908を含むことができるサポートシステム1904に結合されている。プロセッサ-メモリサブシステム1800は、電子機器1920内に含まれる。リアルタイムで動作する要件のために、長いプロセッサストールを防止することによって、限られた容量のデータバッファのオーバーフローリスクを低減する。ビデオカメラ等の自然のデータタイプのセンサからのリアルタイムキャプチャのキャプチャ要件及び記憶要件を満たすことにプロセッサコアを専用化することによって、長いプロセッサストールのリスクを低減することができる。高解像度のビデオキャプチャ、処理、記憶及び表示等の特徴を組み込んだ、電池式小型ヒューマンウェアラブル機器の場合、許容可能なフレームレート及び解像度を維持しつつ、プロセッサ-メモリサブシステムを2つ以下のICに実装することが望ましい。スーパースカラメモリは、これらのフットプリントの制約を受けるシステムにおいて、従来のシングルタスクメモリ構成要素を上回る更なるレベルの並列性を提供する。
【0048】
上記に示したように、本発明の1つの実施形態は、所与のメモリサイクルにおいて、先行メモリサイクルで個別のピンから同時に受信された行アドレス情報及び列アドレス情報を使用して、1つのメモリバンクにおける行操作と同時に同じDRAMの異なるメモリバンクにおける列操作を実行することができるマルチバンクDRAMである。
【0049】
本発明の別の実施形態は、2つの独立したアドレスを外部ピンから同時に受信し、これらを使用して2つの異なるオンチップメモリバンクを同時にアドレス指定することができるマルチバンクDRAMである。
【0050】
本発明の更に別の実施形態は、コマンドを受信する1つのピンと、1つのウェイのアドレスを受信する1つのピンと、異なるウェイのアドレスを受信する別のピンと、2つの独立制御可能なデータIOポートとを使用して、いずれかのウェイを介してメモリIC内の任意のメモリ記憶位置にアクセスすることを可能にするマルチバンクスーパースカラDRAMである。
【0051】
本出願における本発明を特定の実施形態に関して説明してきたが、これらの実施形態は、本発明の原理及び応用の単なる例示にすぎないことが理解されるべきである。したがって、例示の実施形態に対して非常に多くの変更を行うことができ、添付の特許請求の範囲によって画定される本発明の趣旨及び範囲から逸脱することなく他の構成を考案することができることが理解されるべきである。
【図】
【国際調査報告】