JP2016506009A - 開放されたロウの好適する数をもつメモリ装置 - Google Patents

開放されたロウの好適する数をもつメモリ装置 Download PDF

Info

Publication number
JP2016506009A
JP2016506009A JP2015551843A JP2015551843A JP2016506009A JP 2016506009 A JP2016506009 A JP 2016506009A JP 2015551843 A JP2015551843 A JP 2015551843A JP 2015551843 A JP2015551843 A JP 2015551843A JP 2016506009 A JP2016506009 A JP 2016506009A
Authority
JP
Japan
Prior art keywords
row
rows
command
memory
address
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.)
Granted
Application number
JP2015551843A
Other languages
English (en)
Other versions
JP2016506009A5 (ja
JP5956089B2 (ja
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016506009A publication Critical patent/JP2016506009A/ja
Publication of JP2016506009A5 publication Critical patent/JP2016506009A5/ja
Application granted granted Critical
Publication of JP5956089B2 publication Critical patent/JP5956089B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4082Address Buffers; level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

メモリ装置は、メモリアレイと、少なくとも1つのロウアドレスバッファと、ロウデータバッファのセットと、ロウデコーダと、センス増幅器のアレイと、デマルチプレクサと、を備える。メモリアレイは、ロウとカラムに組み立てられたデータ要素を備える。ロウの各々はロウアドレスによってアドレシング可能である。ロウの各々におけるデータ要素の各々はカラムアドレスによってアドレシング可能である。少なくとも1つのロウアドレスバッファは、連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持する。ロウデータバッファのセットは、連続する選択されたロウアドレスのセットに対応する選択されたロウの各内容を保持する。ロウデコーダは、選択されたロウにアクセスするために選択されたロウアドレスをデコードする。センス増幅器のアレイは、選択されたロウを読みとって、デマルチプレクサを介して、選択されたロウの内容をロウデータバッファの1つに送信するとともに、選択されたロウの内容を選択されたロウに書き戻す。【選択図】 図3

Description

[0001]ここに開示された実施形態は、メモリ装置の分野に向けられており、より詳細には、開放されたロウの好適する数(an adaptable number of open rows)をもつことが可能なメモリ装置に関する。
[0002]シンクロナスダイナミックランダムアクセスメモリ(SDRAM)は、システムクロック信号などの外部クロック信号に同期して動作する種々のタイプのダイナミックランダムアクセスメモリ(DRAM)である。SDRAMの入力及び出力データは、システムクロック信号のアクティブエッジに同期される。倍速(DDR)SDRAMは、従来のSDRAMの2倍の動作速度を提供するより高速なメモリ装置である。DDR SDRAMは、システムクロック信号の立ち上がりエッジと立ち下がりエッジの両方でのデータ転送を可能にする。DDR SDRAMは概して、マルチコアシステムにおいて用いられる。
[0003]SDRAMあるいはDDR SDRAMは、メモリアレイのセット(バンクとも呼ぶ)を備える。各メモリアレイはロウとカラムに組み立てられたデータ要素を備える。ロウにおけるデータ要素の各々はカラムアドレスによってアドレシングされ、概してデータワードである。ロウはまた、ページとも呼ばれる。現時点では、SDRAMまたはDDR SDRAMにおいて、ただ1つのロウのみが一度に開放される。開放されたロウの内容がいったんロウデータバッファにラッチされると、当該開放されたロウにおける異なるカラムアドレスへの次のメモリ要求は、ロウデータバッファから迅速にサービス提供される。そのようなメモリアクセスは、ロウヒット(row hit)と呼ばれる。異なるロウが要求されて異なるロウが開放される必要がある場合、メモリアクセスは、ロウミス(row miss)と呼ばれる。ロウヒットにおいてはロウデータバッファのみが使用され、メモリアレイへのアクセスは必要とされない。
[0004]SDRAMあるいはDDR SDRAMは概して、マルチコアシステムにおいて使用される。マルチコアシステムは複数のプロセッサを備える。プロセッサは概して多様なメモリアクセスパターンでメモリアクセスを要求する。要求者の多様なメモリアクセスパターンのために、SDRAMまたはDDR SDRAMの固定ロウサイズは、SDRAMあるいはDDR SDRAMの半最適な電力あるいは半最適なパフォーマンスを招いてしまう。
[0005]大きなロウサイズを使用することにより、概してロウヒットの数は増大するが、ロウを開放するときの電力消費が増大してしまう。小さなロウサイズを使用することによりロウを開放するときの電力消費を低減することができるが、高いアクセス局所性(access locality)をもつ要求者に対するロウヒットが少なくなるのでパフォーマンスが低下してしまう。
[0006]本発明の例示的実施形態は、開放されたロウの好適する数をもつメモリ装置、そのような装置においてロウを開放する方法、そのようなメモリ装置をアクセスするためのメモリコントローラ、そして、そのようなメモリ装置を含むシステムに向けられている。
[0007]本発明の一実施形態は、メモリ装置である。メモリ装置は、メモリアレイと、少なくとも1つのロウアドレスバッファと、ロウデータバッファのセットと、ロウデコーダと、センス増幅器のアレイと、デマルチプレクサと、を備える。メモリアレイは、ロウとカラムに組み立てられたデータ要素を備える。ロウの各々は、ロウアドレスによってアドレシングされる。ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシング可能である。少なくとも1つのロウアドレスバッファは、連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持するのに使用される。ロウデータバッファのセットは、連続する選択されたロウアドレスのセットに対応する選択されたロウの各内容を保持するのに使用される。少なくとも1つのロウアドレスバッファとメモリアレイとに結合されたロウデコーダは、選択されたロウアドレスを受信するとともに、選択されたロウアドレスをデコードしてメモリアレイの選択されたロウにアクセスするために使用される。メモリアレイに結合されるとともに、ロウデータバッファのセットに結合されたセンス増幅器のアレイは、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファの1つに転送するとともに、選択されたロウの内容を選択されたロウに書き戻すために使用される。センス増幅器のアレイと、ロウデータバッファのセットに結合されたデマルチプレクサは、センス増幅器のアレイからの選択されたロウの内容をロウデータバッファの1つに供給するために使用される。
[0008]本発明の一実施形態は、メモリ装置におけるロウを開放する方法である。メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、ロウの各々はロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシングされる。方法は、(a)ロウを開放すべく第1のコマンドを受信することであって、コマンドは選択されたロウアドレスと、選択されたロウアドレスから開始して開放すべきロウの数を特定するロウモードインジケータとを含むことと、(b)選択されたロウアドレスを少なくとも1つのロウアドレスバッファにローディングすることと、(c)ロウデコーダを用いて、選択されたロウアドレスをデコードしてメモリアレイにおける選択されたロウにアクセスすることと、(d)センス増幅器のアレイを用いて、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送することであって、開放すべきロウの特定された数が1よりも大きいならば、(e)選択されたロウアドレスに基づいて連続する選択されたロウアドレスを計算することと、(f)選択されたロウアドレスを連続する選択されたロウアドレスによって置き換えながら、動作(b)、(c)および(c)を反復することと、を備える。
[0009]本発明の一実施形態は、メモリ装置にアクセスするためのメモリコントローラである。メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含む。ロウの各々は、ロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシングされる。メモリ装置は、開放されたロウの好適する数をもつことができる。メモリコントローラは、アービタと、メモリマッパと、コマンド生成器と、を備える。アービタは、要求器からのメモリアクセス要求を受信してスケジューリングするために用いられる。メモリアクセス要求は論理アドレスを含む。アービタはメモリアクセス要求に対する開放されたロウの好適する数を決定するように構成される。メモリマッパはアービタに結合され、論理アドレスを、ロウアドレスとカラムアドレスとを含む物理アドレスに変換するのに用いられる。コマンド生成器は、メモリマッパおよびアービタに結合され、メモリアクセス要求に対応するコマンドの列を生成して、コマンドの列をメモリ装置に送信する。コマンドの列の1つのコマンドは開放されたロウの好適する数を特定するロウモードインジケータを含む。
[0010]本発明の1つの実施形態は開放されたロウの好適する数をもつことができるメモリ装置と、メモリコントローラと、プロセッサとを備えるシステムである。メモリ装置はロウとカラム組み立てられたデータ要素を備えるメモリアレイを含み、ロウの各々はロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々はカラムアドレスによってアドレシングされる。メモリ装置はロウの好適する数の内容を保持するためのロウデータバッファのセットを備える。メモリコントローラは要求器からのメモリアクセス要求を受信するように構成されるとともに、メモリ装置にアクセスするためにメモリ装置に結合される。プロセッサはメモリコントローラに結合される。プロセッサはロウ決定モジュールを実行することができる。開放されたロウの好適する数は、メモリコントローラにより要求器のメモリアクセスパターンを監視することによってあるいは、プロセッサによりロウ決定モジュールを実行することによって決定される。
[0011]添付の図面は、本発明の実施形態の説明を助けるために提示され、実施形態の説明のためのみに提供されるが、それらに限定されない。
[0012]図1は、本発明の一実施形態が実施されるシステムを示す図である。 [0013]図2は、本発明の一実施形態に従って構成されたメモリ装置の実施形態を示す。 [0014]図3は、本発明の一実施形態に従って構成されたメモリ装置における開放されたロウのプロセスを示すフローチャートである。 [0015]図4は、本発明の一実施形態に従って構成されたメモリ装置におけるロウからの読み取りを要求するコマンドに応答するプロセスを示すフローチャートである。 [0016]図5は、本発明の一実施形態に従って構成されたメモリ装置におけるロウへの書込みを要求するコマンドに応答するプロセスを示すフローチャートである。 [0017]図6は、本発明の一実施形態に従って構成されたメモリ装置におけるプリチャージを要求するコマンドに応答するプロセスを示すフローチャートである。 [0018]図7は、図1に示されるメモリコントローラ120の実施形態を示す図である。 [0019]図8は、従来技術のSDRAMの簡略化された状態図を示す。 [0020]図9は、従来の一般的なSDRAMの同一のメモリアレイにおける2つの異なるロウの2つの活性化のタイミングを示す図である。 [0021]図10は、本発明の一実施形態に従って構成されたSDRAMの同一のメモリアレイにおける2つの異なるロウの2つの活性化のタイミングを示す図である。 [0022]図11は、本発明の一実施形態に従って構成されたSDRAMの簡略化された状態図を示す図である。
[0023]本発明の側面は、本発明の特定の実施形態に向けられた以下の説明及び関連する図面において開示される。本発明の範囲から逸脱することなしに他の実施形態が考案されることができる。さらに、本発明のよく知られた要素については詳細には説明されず、本発明の関連する詳細があいまいになるのを避けるために省略される。
[0024]本実施形態の1つの開示された特徴は、フローチャート、フロー図、構造図、あるいはブロック図として通常示されるプロセスとして説明されることができる。フローチャートは動作を順次なプロセスとして説明するが、同動作の多くは並列にあるいは同時に実行されることができる。動作の順番は再配列されることができる。その動作が完了したときにプロセスは停止される。プロセスは方法、プログラム、プロシージャ、等に対応することができる。1つの実施形態は物理構造を示す概要図によって説明されることができる。概要図は基本的な概念を示し、拡大縮小されたものではなく、また、実際の大きさを示すものでもない。
[0025]ここにおいて用いられる術語“結合される”は“電気的連絡がある”ことを意味し、必ずしも“直接接続されている”ことを意味しない。共に結合される要素は、互いに直接接続されるかあるいは1つ以上の介在する要素を介して互いに電気的連絡がなされることができる。
[0026]本発明の実施形態は、開放されたロウの好適する数をもつメモリ装置、そのような装置における開放されたロウの方法、そのようなメモリ装置にアクセスするためのメモリコントローラ、そして、そのようなメモリ装置を含むシステムに向けられている。
[0027]図1は、本発明の一実施形態が実施されるシステム100を示す図である。システム100は中央処理システム110、メモリコントローラ120、メモリ装置130、そして複数の要求器140i(i=1、2、・・・n)を備える。
[0028]中央処理システム110はプロセッサ112を含む。プロセッサ112は関連するキャッシュメモリ及びメモリ管理ユニットを備えるプロセッサコアの形態であることができる。プロセッサ112は、ハイパースレッド、セキュリティ、ネットワーク、デジタルメディア技術を用いるプロセッサ、単一コアプロセッサ、マルチコアプロセッサ、埋め込みプロセッサ、モバイルプロセッサ、マイクロプロセッサ、デジタルシグナルプロセッサ、スーパースカラコンピュータ、ベクトルプロセッサ、単一命令マルチデータ(SIMD)コンピュータ、コンプレックス命令セットコンピュータ(CISC)、減少命令セットコンピュータ(RISC)、ベリロング命令ワード(VLIW)あるいはハイブリッドアーキテクチャなどの、任意のタイプのアーキテクチャの中央処理ユニットを表す。
[0029]プロセッサ112は、ロウ決定モジュール116を含む。ロウ決定モジュール116は、使用状況(use case)に基づいて、メモリ装置130において開放すべきロウの好適する数を計算することができる。ロウ決定モジュール116はハードウエアモジュールあるいはソフトウエアモジュールとして実装されることができる。一実施形態において、ロウ決定モジュール116は、メモリ装置130を監視するとともに、メモリ装置130内で開放すべきロウの好適する数を計算するために、プロセッサ112上で動作するソフトウエアスレッドとして実装される。一実施形態において、プロセッサ112は、開放すべきロウの好適する数を取得するために、ロウ決定モジュール116を実行するとともに、開放すべき好適する数をメモリコントローラ120に供給する。
[0030]中央処理システム110は、バス150を介して、メモリコントローラ120及び要求器140i(i=1、2、・・・、n)と通信することができる。
[0031]要求器140i(i=1、2、・・・、n)は、バス150を介して、メモリアクセス要求をメモリコントローラ120に送ることができる異なるプロセッサあるいは他の装置であることができる。
[0032]メモリコントローラ120は、バス150を介して、中央処理システム110および要求器140i(i=1、2、・・・、n)からメモリアクセス要求を受信するとともに、メモリバス125を介してメモリ装置130にアクセスするように構成される。
[0033]メモリコントローラ120は、異なる要求器(すなわち、中央処理システム110および要求器140i(i=1、2、・・・、n)の間で仲裁を行い、異なる要求器に優先度を与え、スケジューリングされた方法で一度に1回ずつ要求器の各々に対してサービスを許可する。メモリコントローラ120は、各メモリアクセス要求をコマンドの列に変換し、コマンドの列をメモリ装置130に送る。コマンドの列の1つのコマンドは、メモリ装置130におけるロウの数を開放するための要求を含む。開放すべきロウの数は好適にすることができる。開放可能なロウの最大数は、メモリ装置130のメモリアレイにおけるロウデータバッファの数に等しい。
[0034]一実施形態において、メモリコントローラ120は、サービスが提供される要求器のメモリアクセスパターンを監視することによって、開放すべきロウの好適する数を決定する。サービスが提供される要求器は中央処理システム110かあるいは要求器140i (i=1、2、・・・、n)の1つであることができる。メモリアクセス局所性(locality)は、サービス提供される要求器のメモリアクセスパターンから決定されることができる。メモリアクセス局所性は、特定のメモリ位置が特定の時間で要求されたならば、直後において、隣のメモリ位置が要求される可能性が高いという概念を意味する。
[0035]開放されるべきロウの好適する数は、コントローラ120によりサービス提供されている要求器のメモリアクセスパターンを監視するか、あるいは、プロセッサ112によりロウ決定モジュールを実行することによって決定される。
[0036]メモリ装置130は、メモリアレイのセット(バンクとも呼ばれる)を含む。各メモリアレイはロウとカラムに組み立てられたデータ要素を備える。ロウの各々はロウアドレスによってアドレシング可能である。ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシング可能である。メモリ装置130はメモリアレイにおける開放されたロウの好適する数をもつことができる。メモリ装置130は、開放されたロウの好適する数の内容を保持するためのロウデータバッファのセットを備える。
[0037]メモリ装置130は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、倍速シンクロナスダイナミックランダムアクセスメモリ(DDRAM)あるいは任意の他のタイプのダイナミックランダムアクセスメモリ(DRAM)であることができる。
[0038]開放されたロウの好適する数をもつメモリ装置130の特徴は、好適するページサイズを持つ特徴と考えることができる。ここにおいて、開放されたページは、従来技術のようなただ1つの開放されたロウではなく、開放されたロウの好適する数を含むことができる。
[0039]図2は、本発明の一実施形態にしたがって構成されたメモリ装置の実施形態200を示す。システム200はメモリアレイのセットを備え、各メモリアレイは対応する周辺回路を有する。説明を簡単にするために図2は、ただ1つのメモリアレイ260をもつシステム200を示す。システム200は、制御回路210と、ロウアドレスバッファ230のセットと、マルチプレクサ240と、ロウデコーダ250と、メモリアレイ260と、センス増幅器270のアレイと、デマルチプレクサ275と、ロウデータバッファ280のセットと、カラムデコーダ290と、を備える。
[0040]制御回路210は、制御ロジック212と、アドレシング回路220とを備える。
[0041]制御ロジック212は、入力として制御信号202を受信するように構成される。制御信号202は、コマンドを含む。制御ロジック212は、コマンドをデコードするとともにシステム200の残りの回路を駆動するように構成される。一実施形態において、制御信号202は、システムクロック(CK)信号、クロックイネーブル(CKE)信号、ロウアドレスストローブ(RAS)信号、カラムアドレスストローブ(CAS)信号、書き込みイネーブル(WE)信号、そしてチップセレクト(CS)信号を含む。CK及びCKE信号は、外部システムクロックをもつメモリ装置200の動作を同期するのに使用される。RAS、CAS、WE、そしてCSの異なる組み合わせは、制御ロジック212によって受信される異なるコマンドを定義する。コマンドが、メモリアレイ260における特定されたロウを開放すべき活性化コマンドであるならば、制御信号202はまた、ロウモードインジケータを制御ロジック212のメモリモードレジスタ214にローディングするためにロードモードレジスタコマンドを含む。
[0042]アドレシング回路220は制御ロジック212に結合される。アドレシング回路220は制御ロジック212からのデコードされた制御信号を受信する。アドレシング回路220は入力としてアドレス信号を受信する。アドレス信号204はコマンドのアドレス部分を提供する。アドレシング回路220は活性化コマンドによってアドレス信号204からロウアドレスを受信する。アドレシング回路220は受信したロウアドレスを、ロウアドレスバッファ230のセットの第1のバッファRAB0に供給する。メモリモードレジスタ214におけるロウモードインジケータが、開放すべきロウの数がM(例えばMは4に等しい)であることを示すならば、アドレシング回路220は、受信したロウアドレスからのM−1個の連続するロウアドレスを計算して、M−1個の連続するロウアドレスを、ロウデータバッファ230のセットの残りのロウアドレスバッファRAB1、RAB2、RAB3に供給する。アドレシング回路220は、簡単な増加(increment)を使用することによって受信したロウアドレスからのM−1個の連続するロウアドレスを計算する。この実施形態において、ロウアドレスバッファ230のセットにおけるロウアドレスバッファの数は、ロウデータバッファ280のセットにおけるロウデータバッファの数に等しいことに注意されたい。ロウデータバッファ280のセットの中にN個のロウデータバッファが存在するならば、ロウモードインジケータは開放すべきM個のロウを特定することができる。但し、MはNに等しいかあるいはN未満であることを条件とする。アドレシング回路220は、読み取りあるいは書き込みコマンドによってアドレス信号204」からカラムアドレスを受信する。アドレシング回路220は受信したカラムアドレスをカラムデコーダ290に供給する。
[0043]実施形態において、ロウアドレスバッファ230のセットは、連続するロウアドレスを一度に1つずつ保持するように構成される単一のレジスタを用いて実装される。アドレシング回路220は、受信したロウアドレスから連続するロウアドレスを動的に計算する。ロウアドレスバッファ280のセットは、ロウが一度に1つずつメモリアレイ260から読み取られるときに、連続するロウアドレスに対応するロウの内容をそれぞれ保持するように構成される。この実施形態において、ロウデータバッファ280のセットにおいてN個のロウデータバッファが存在するならば、ロウモードインジケータは開放すべきM個のロウを特定することができる。但し、MはNに等しいかあるいはN未満であることを条件とする。この実施形態において、単一のレジスタがロウアドレスバッファ230を実装するのに使用される場合には、マルチプレクサ240は不要となる。
[0044]図2の実施形態ではロウアドレスバッファ230のセットは、1つ以上のロウアドレスバッファを含み、マルチプレクサ240は、ロウアドレスバッファ230のセットに結合されるとともに、ロウデコーダ250に結合され、ロウアドレスバッファ230の選択された1つに保持されているロウアドレスを選択して、当該選択されたロウアドレスをロウデコーダ250に供給する。
[0045]ロウデコーダ250は、メモリアレイ260に結合される。ロウデコーダ250はマルチプレクサ240(あるいは、ロウデータバッファ230を実装するのに単一のレジスタが使用される実施形態における単一のレジスタ)から選択されたロウアドレスを受信して、当該選択されたロウアドレスに対応する選択されたロウにアクセスする。
[0046]メモリアレイ260は、ロウとカラムに組み立てられたデータ要素を備える。ロウの各々はロウアドレスによってアドレシング可能である。ロウにおけるデータ要素の各々はカラムアドレスによってアドレシング可能である。
[0047]センス増幅器270のアレイは、デマルチプレクサ275を介して、メモリアレイ260に結合されるとともに、ロウデータバッファ280のセットに結合される。センス増幅器270のアレイは、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファ280の1つに転送する。センス増幅器270のアレイはまた、プリチャージコマンドが制御回路210によって受信されたときに、選択されたロウの内容をメモリアレイ260の選択されたロウに書き戻すために使用される。プリチャージコマンドが制御回路210によって受信されたとき、ロウデータバッファ280における内容は、センス増幅器270のアレイを用いて、メモリアレイ260における開放されたロウに1つずつ書き戻される。
[0048]プリチャージコマンドが上記したように受信されたときにロウデータバッファ280における内容を用いて1つずつすべての開放されたロウに書き戻すのではなく、一実施形態において、センス増幅器270のアレイは、選択されたロウの内容がロウデータバッファ280の1つに送信されることの完了をもって、選択されたロウの内容を選択されたロウに書き戻すように構成される。
[0049]デマルチプレクサ275は、センス増幅器270のアレイに結合されるとともに、ロウデータバッファ280のセットに結合される。デマルチプレクサ275は、選択されたロウの内容をセンス増幅器のアレイからロウデータバッファ280の1つに供給する。選択されたロウの内容を受信するロウデータバッファ280の1つは、選択されたロウアドレスを保持するロウアドレスバッファ230の1つに対応する。
[0050]ロウデータバッファ280のセットは、ロウアドレスバッファ230のセットに対応する。ロウデータバッファ280のセットにおける各ロウデータバッファは、ロウアドレスバッファ230のセットにおける対応するロウアドレスバッファ内に保持される選択されたロウアドレスに対応する選択されたロウの内容を保持するために使用される。ロウアドレスバッファ280のセットは、ロウアドレスバッファ230内に保持されている連続する選択されたロウアドレスのセットに対応する選択されたロウの各々の内容を保持するのに使用される。ロウデータバッファ280のセットは、システム200のための入力/出力バッファとして使用される。一実施形態において、ロウデータバッファ280のセットは、図2に示すように、4つのロウデータバッファを備える。他の実施形態において、ロウデータバッファ280のセットは、2つのデータバッファを備える。ロウデータバッファ280はフリップフロップあるいはパルスラッチあるいは他の記憶構造を用いて実装される。
[0051]読み取りコマンドあるいは書き込みコマンドによって、アドレシング回路220は、アドレス信号204からカラムアドレスを受信する。読み取りコマンドは受信されたカラムアドレスで開放されたロウの特定の1つからの読出しを要求する。書き込みコマンドは、受信されたカラムアドレスで開放されたロウの特定の1つに対する書き込みを要求する。開放されたロウの特定の1つは、ロウデータバッファ280のロウデータバッファに対応する。アドレシング回路220は、受信したカラムアドレスをカラムデコーダ290に供給する。カラムデコーダ290は開放されたロウの特定された1つに対応する内容を保持するロウデータバッファにアクセスするとともに、カラムアドレスに対応する内容内の位置にアクセスする。次に、当該位置でロウデータバッファの内容に対して、読み取りまたは書き込みが行われる。読み取り要求は、データをロウデータバッファから入力/出力ポート295に転送することによって実行される。書き込み要求の場合、入力/出力ポート295から到来するデータは、ロウデータバッファ280の1つに書き込まれる。
[0052]活性化コマンドに続いて、プリチャージコマンドが制御回路210によって受信されたときに、対応するロウデータバッファの内容およびセンス増幅器のアレイを用いて一度に1つずつメモリアレイ内の開放されたロウに書き戻すことによって、及び、メモリアレイ内の開放されたロウを閉じることによって、プリチャージコマンドが発行される。開放されたロウのアドレスは、ロウアドレスバッファ230のセットから取得される。ロウアドレスバッファのセットを実装するためにただ1つのレジスタが用いられる実施形態において、開放されたロウのアドレスは、容易に再計算される。
[0053]図3は、本発明の一実施形態に従って構成されるメモリ装置における開放されたロウのプロセス300を示すフローチャートである。メモリ装置は、ロウとカラムに組み立てられたデータ要素を備え、ロウの各々はロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシングされる。
[0054]開始にあたって、プロセス300は、ロウを開放すべく第1のコマンドを受信する(ブロック302)。コマンドは選択されたロウアドレスとロウモードインジケータとを含む。ロウモードインジケータは、選択されたロウアドレスから開始して開放すべくロウの数を特定する。プロセス300は選択されたロウアドレスを少なくとも1つのロウアドレスバッファにローディングする(ブロック304)。プロセス300は次に、メモリアレイにおける選択されたロウにアクセスするために、ロウデコーダを用いて選択されたロウアドレスをデコードする(ブロック306)。プロセス300は、センス増幅器のアレイを用いて、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送する(ブロック308)。開放すべきロウの特定された数が1よりも大きくないときには、プロセス300は終了となる。開放すべきロウの特定された数が1よりも大きいならば、プロセス300は選択されたロウアドレスに基づいて、連続する選択されたロウアドレスを計算するとともに(ブロック310)、選択されたロウアドレスを連続する選択されたロウアドレスによって置き換えながら、ブロック304、306、および308における動作を反復する(ブロック312)。開放すべきロウの特定された数がNに等しいならば(ここでNは2よりも大きい数である)、プロセス300は、メモリアレイから読み取られた特定されたNの内容がロウデータバッファのセットの対応するロウデータバッファに保持されるまで、ブロック310および312における動作を反復する(ブロック314)。次にプロセス300は終了となる。
[0055]図4は、本発明の実施形態に従って構成されたメモリ装置におけるロウからの読出しを要求するコマンドに応答するプロセス300を示すフローチャートである。読み取りコマンドは活性化コマンドに続く。
開始にあたって、プロセス400は、ロウの開放された特定された数の特定されたロウからの読出しを要求するコマンドを受信する(ブロック410)。特定されたロウの内容はロウデータバッファのセットの対応するロウデータバッファ内に保持される。プロセス400はコマンドに応答して対応するロウデータバッファから読み取る(ブロック420)。次にプロセス400は終了となる。
[0056]図5は、本発明の一実施形態に従った構成されたメモリ装置におけるロウに対する書き込みを要求するコマンドに応答するプロセス500を示すフローチャートである。書き込みコマンドは活性化コマンドに続く。
[0057]開始にあたって、プロセス500は開放されたロウの特定されたロウに対する書き込みを要求するコマンドを受信する(ブロック510)。コマンドは入力データを備える。特定されたロウの内容は対応するロウデータバッファ内に保持される。プロセス500は入力データを、特定されたロウの内容を保持する対応するロウデータバッファに書き込む(ブロック520)。次にプロセス500は終了となる。
[0058]図6は、本発明の一実施形態に従って構成されたメモリ装置におけるプリチャージを要求するコマンドに応答するプロセス600を示すフローチャートである。プリチャージコマンドは活性化コマンドに続く。
[0059]開始にあたって、プロセス600は、プリチャージを要求するコマンドを受信する(ブロック610)。プロセス600は、対応するロウデータバッファの内容と、センス増幅器のアレイとを用いて、一度に1つずつメモリアレイにおける開放されたロウに書き戻す(ブロック620)。開放されたロウのロウアドレスはロウアドレスバッファのセット内に保持される。プロセス600は次に、メモリアレイにおける開放されたロウを閉じる(ブロック630)。次にプロセス600となる。
[0060]図7は、図1に示されるメモリコントローラ120の実施形態700を示す図である。システム700はアービタ710と、メモリマッパ720と、コマンド生成器730と、を備える。
[0061]アービタ710は、複数の要求器からのメモリアクセス要求を受信するように構成される。アービタ710は、一度に1つの要求器に対してサービス提供するように要求器の間で仲裁を行う。アービタ710は順番にサービス提供のためのメモリアクセス要求をスケジューリングする。要求器からのメモリアクセス要求は、データ要素の論理的アドレスを含む。アービタ710はまた、サービス提供されるメモリアクセス要求に対してメモリアレイにおいて開放すべきロウの数を決定するように構成される。
[0062]本発明の一実施形態において、アービタ710は、中央処理システム110に含まれるプロセッサ112から受信される命令に従ってメモリアレイにおいて開放すべきロウの数を決定する。プロセッサ112からの命令は、メモリアレイにおいて開放すべきロウの数を特定する。中央処理システム110のプロセッサ112はプロセッサ112において含まれるロウ決定モジュール116を実行することができる。実行されたロウ決定モジュール116は、システム700を監視することによって取得される使用状況(use case)に基づいて、メモリアレイ260において開放されるべきロウの数を決定する。
[0063]本発明の他の実施形態において、アービタ710は、サービス提供される要求器のメモリアクセスパターンを監視することによって、メモリアレイにおいて開放されるべきロウの数を決定する。アービタ710はメモリアクセス局所性を測定するために要求器のメモリ使用パターンを監視する。一実施形態において、アービタ710は、ロウヒットに対するロウミスの比率を監視することによって、要求器のメモリアクセスパターンを監視するとともに、ロウヒットに対するロウミスの比率がしきい値を越えるならば、開放すべきロウの数を1つ以上のロウであると決定するように構成される。他の実施形態において、要求器のメモリアクセスパターンを監視して、開放すべきロウの数を決定することは、メモリコントローラ120に含まれる他のモジュールによって実行される。
[0064]開放されたロウの内容がいったんロウデータバッファ内にラッチされる(あるいは複数の開放されたロウの場合には、開放されたロウの内容(複数)がロウデータバッファ(複数)内にラッチされる)と、開放されたロウ(あるいは開放されたロウ(複数))における異なるカラムアドレスに対する次のメモリ要求は、ロウデータバッファ(あるいはロウデータバッファ(複数))から迅速にサービス提供される。そのようなメモリアクセスはロウヒットと名付けられる。異なるロウが要求され、ロウデータバッファ(ロウデータバッファ(複数))の内容(あるいは内容(複数))を変更する必要があるならば、メモリアクセスはロウミスと名付けられる。ロウヒットに関しては、ロウデータバッファ280のみが利用され、メモリアレイ260に対するアクセスは必要とされない。
[0065]メモリマッパ720はアービタ710に結合される。メモリマッパ720は、データ要素の論理的アドレスをロウアドレスとカラムアドレスを含む物理アドレスに変換するように構成される。
[0066]コマンド生成器730はメモリマッパ720とアービタ710とに結合される。コマンド生成器730はメモリアクセス要求に対応するコマンドの列を生成するとともに、当該コマンドの列をメモリ装置130に送信するように構成される。コマンドの列の1つのコマンドは、開放すべきロウの数を特定するロウモードインジケータを含む。例えば、ロードモードレジスタコマンドは、ロウモードインジケータを、メモリ装置130のメモリモードレジスタにローディングするために、メモリ装置130に送信される。
[0067]従来技術の一般的なSDRAMにおいて、メモリアレイに対してただ1つのロウが開放可能である。ロウは、メモリコントローラのいわゆる“オープンページ”方針のもとに開放状態にとどまる。同じメモリアレイにおいて新たなロウが開放されることを要求されたならば、SDRAMは現在開放しているロウを閉じその後、新たなロウを活性化してロングラテンシーペナルティ(long latency penalty)を引き起こす。一般的なSDRAMの動作において用いられる種々のコマンド及び時間遅延が以下に説明される。
[0068]図8は従来技術のSDRAMの簡略化された状態図を示す。SDRAMは種々の状態を持つ簡略化された状態マシンとして記述することができる。説明を簡単にするために、図8は、以下の状態のみを示す:アイドル、アクティブ、読み取り、自動プリチャージ有り読み取り、書き込み、自動プリチャージ有り書き込み、そしてプリチャージ動作。他の状態は省略される。説明を簡略化するために、状態図はただ1つのメモリアレイに関してのみ説明される。1つの状態から他の状態への推移はコマンドによってトリガーされ、状態マシンが他のコマンドに応答する準備ができる前に最小の遅延時間が要求される。状態図に関して、状態の推移は矢印として示され、当該状態の推移に対するトリガーコマンドの列は、矢印の近くに示される。状態図において、細い幅を有する矢印は、コマンドの列によってトリガーされる状態の推移を示し、太い幅を持つ矢印は、自動シーケンスによってトリガーされた状態の推移を示す。
[0069]初期化シーケンスが実行された後あるいはリフレッシュ動作の後、SDRAMはアイドル状態になる。アイドル状態において、メモリアレイはプリチャージされる。
[0070]SDRAMが読み取りあるいは書き込みコマンドに応答する準備ができる前に、メモリアレイにおけるロウはまず開放すなわち活性化される必要がある。メモリアレイにおけるロウを活性化するために、メモリコントローラはメモリアレイとアクセスすべきロウを特定する活性化(ACT)コマンドを送信する。活性化コマンドに応答して、状態マシンはアイドル状態からアクティブ状態に移行する。ロウを活性化するのに要する時間はロウーカラム遅延と呼ばれる。またこの時間はロウコマンド遅延あるいはロウコマンドからカラムコマンドへの遅延と呼ばれ、記号tRCDと記述される。この変数tRCDは、SDRAMの制御回路のコマンドインタフェースで活性化コマンドをラッチし、制御回路をプログラミングし、メモリアレイにおける特定されたロウからのデータ内容をセンス増幅器のアレイ内に読み込み、ロウの内容内における特定されたカラムアドレスへのアクセスの準備のためにデータ内容をロウデータバッファにラッチするのに必要な最小時間を示している。
[0071]特定されたロウが活性化された後、センス増幅器のアレイ及びロウデータバッファは特定されたロウの内容を含む。特定されたロウからセンス増幅器のアレイへのこの読出しは特定されたロウに対して破壊的である。この時点で、アクセスすべき開始カラムアドレスを特定する、読み取り(RD)あるいは書き込み(WR)コマンドが発行される。読み取り(RD)コマンドに応答して、状態マシンはアクティブ状態から読み取り状態に推移する。書き込み(WR)コマンドに応答して、状態マシンはアクティブ状態から書き込み状態に推移する。開放されたロウから特定されたカラムアドレスでデータを読み出すための時間はカラムアドレスストローブ(CAS)ラテンシーと呼ばれ、記号tCASによって表記される。変数tCASは、SDRAMの制御回路のコマンドインタフェースでコマンドをラッチし、制御回路をプログラミングし、ロウデータバッファから要求されたデータを分岐(gate)させ、データをメモリバス上に置くのに必要な最小時間を表す。
[0072]従来技術のSDRAMにおいて、メモリアレイごとにただ1つのロウが一度に開放されることができる。同じメモリアレイにおける他のロウにアクセスするためには、まず開放されたロウを閉じなければならない。ロウが開放状態にある限りにおいて、メモリコントローラは他の読み取り(RD)コマンドを同じ開放されたロウに発行することができ、状態マシンは読出し状態に留まる。同様にして、ロウが開放に留まる限りにおいて、メモリコントローラは他の書き込み(WR)コマンドを同じ開放されたロウに発行することができ、状態マシンは書き込む状態に留まる。新たな読み取りあるいは書き込みコマンドなしにある時間間隔が経過したとき、状態マシンは自動的にアクティブ状態に戻る。開放されたロウがもはや必要でないときあるいはメモリアレイにおける他のロウを開放する必要があるとき、メモリコントローラは開放されたロウを閉じるためにプリチャージ(PR)コマンドを発行する。プリチャージ(PR)コマンドに応答して、状態マシンはアクティブ状態からプリチャージ状態さらにアイドル状態に推移する。他のロウを開放すべくメモリコントローラは、他の活性化(ACT)コマンドを発行し、状態マシンは上記したように、アイドル状態からアクティブ状態に移動する。
[0073]自動プリチャージ(RDA)コマンド有りの読み取りコマンドあるいは自動プリチャージ(WRA)有りの書き込みコマンドがメモリコントローラによって送信される。これは、SDRAMの制御回路がある条件((1)活性化コマンドが発行されてから最小のバンク活性化時間(さらにRAS活性化時間、tRASと記述される)が経過した(2)最近の読み取りコマンドが発行されてから読み取りからプリチャージへの最小の遅延(tRTPと記述される)が経過した)が満たされると同時に、開放されたロウを自動的に閉じることを可能にする。自動プリチャージ(RDA)有り読み取りに応答して、状態マシンはまず自動プリチャージ状態有りの読み取り、次にプリチャージ状態、次にアイドル状態に移動する。自動プリチャージ(WRA)有りの書き込みに応答して、状態マシンはまず自動プリチャージ状態有りの書き込みに移行し、次にプリチャージ状態に、次にアイドル状態に移動する。
[0074]プリチャージ動作はデータラインおよびSDRAMのセンス増幅器のアレイが、センス増幅器のアレイ内に記憶された電荷をデータ要素の開放されたロウ内に送信する準備をする。プリチャージ動作はSDRAMコアにデータ要素の次のロウを開放する準備をさせる。開放されたロウをプリチャージするための時間は、ロウアクセスストローブプリチャージ遅延と呼ばれる。この時間はまた、バンクプリチャージ遅延とも呼ばれ、記号tRPによって表記される。同じメモリアレイに対する連続する活性化コマンド間の最小時間間隔は、メモリ装置のロウサイクル時間と呼ばれ、記号tRCによって記述される。ロウサイクル時間(tRC)は、バンク活性化時間(tRAS)と、バンクプリチャージ遅延(tRP)との和に等しい。SDRAMにおける2つの異なるメモリアレイに対する2つの活性化コマンド間の最小時間間隔は、読み取りー読み取り遅延と呼ばれ、記号tRRDによって表記される。上記したすべての時間間隔(遅延とも呼ばれる)はクロックサイクルによって表現される。要求された時間遅延を満足するために、ノーオペレーション(Nopと記述する)を要求するコマンドが、他のコマンド間においてメモリコントローラによって送信される。
[0075]図9は従来技術の一般的なSDRAMの同一のメモリアレイにおいて2つの異なるロウの2つの活性化のタイミング図を示す図である。
[0076]図9を参照すると、第1のラインはメモリコントローラから受信したクロック信号CK及びその相補的クロック信号CK#とを示す。ここにおいて時間軸は左から右に進む。図9の第2のラインは、図9の第3のラインに関して示されるコマンドに関連するアドレス信号を示す。アドレス信号及びコマンドはメモリコントローラから受信される。図9に示される、ロウ−カラム遅延(tRCDによって記述される)、読み取りー読み取り遅延(tRRDによって記述される)、バンク活性化時間(tRASによって記述される)、バンクプリチャージ遅延(tRPによって記述される)、そしてロウサイクル時間(tRCによって記述される)は図8の記述において説明される。
[0077]図9を参照すると、第2の活性化コマンドに続く第2の読み取りコマンドは、図9に示されていない。第1の読み取りコマンドと同様に、第2の読み取りコマンドは、同一のロウ−カラム遅延(tRCD)が第2の活性化コマンドから経過した後に発行される。すなわち、第1の読み取り動作の完了から第2の読み取りコマンドの開始までを計数すると、引き起こされるラテンシーはバンクプリチャージ遅延(tRP)とロウ−カラム遅延(tRCD)の和に等しい。
[0078]図10は本発明の実施形態に従って構成されたSDRAMの同一のメモリアレイにおける2つの異なるロウの2つの活性化のタイミング図を示す図である。活性化コマンドがメモリコントローラ120から受信された後、1つ以上のロウが特定されたロウアドレスから開始して開放される。開放されたロウがもはや不要となるまであるいは現在開放していないロウを活性化するためのコマンドが受信されるまでオープン状態に留まる。開放すべきロウの数は好適化可能であり、メモリコントローラ120によって決定される。開放されたロウ間の新たなロウにアクセスするときに、現在の開放されたロウを閉じる必要はなく(すなわち、メモリアレイをプリチャージする必要はなく)、新たなロウを活性化する必要がない。図10はそのような状況を示す。図10は、すでに開放しているロウの間の新たなロウに対する読み取りコマンドは、プリチャージコマンド及び新たな活性化コマンドに干渉することを必要としないで以前の読み取り動作の完了で発行されることが可能である。すなわち、第1の読み取りに続いて、第2の読み取りがすでに開放しているロウの間の異なるロウに対して行われる場合において、そのタイミング図が図9に示される従来技術のSDRAMとは異なり、従来技術のSDRAMにおける第2の読み取りに関連する、ロウ−カラム遅延(tRCD)およびバンクプリチャージ遅延(tRP)に起因するラテンシーは存在しない。
[0079]図11は、本発明の実施形態に従って構成されたSDRAMの簡略化された状態図を示す図である。本発明の実施形態に従って構成されたSDRAMは種々の状態をもつ単純な状態マシンとして記述されることができる。説明の簡単さのために、図11は以下の状態のみを示している。すなわち、アイドル、アクティブ、読み取り、マルチロウ読み取り、マルチロウ書き込み、自動プリチャージ有りの読み取り、書き込み、自動プリチャージ有りの書き込み、そしてプリチャージ動作である。他の状態は省略されている。説明を簡単にするために、状態図はただ1つのメモリアレイのみに関して説明される。1つの状態から他の状態への推移はコマンドによってトリガーされ、状態マシンが他のコマンドに応答する準備ができる前に最小の遅延を必要とする。図11の状態図に関して、状態推移は矢印で示されるとともに、状態推移に対するトリガーコマンドは矢印の近くに示される。状態図において、細い幅を持つ矢印はコマンドの列によってトリガーされた状態推移を示し、太い幅をもつ矢印は自動シーケンスによってトリガーされた状態遷移を示す。図11の状態図は、マルチロウ読み取り状態及びマルチロウ書き込み状態が追加された点において図8の状態図とは異なっている。
[0080]初期化シーケンスが実行された後あるいはリフレッシュ動作の後、SDRAMはアイドル状態に移行する。アイドル状態において、メモリアレイはプリチャージされる。
[0081]SDRAMにおけるロウを開放すべくメモリコントローラはメモリアレイ及びアクセスすべきロウのアドレスを特定する活性化(ACT)コマンドを送信する。活性化コマンドはまた、開放すべき連続するロウの数を特定するためにロウモードインジケータを含む。アクティブコマンドに応答して、状態マシンはアイドル状態からアクティブ状態に移行する。
[0082]ロウモードインジケータがただ1つのみのロウが開放していることを特定するならば、特定されたロウアドレスをもつロウのみが活性化される。特定されたロウが活性化された後、センス増幅器のアレイ及びロウデータバッファは特定されたロウの内容を含む。特定されたロウからセンス増幅器のアレイへのこの読み取りは特定されたロウに対して破壊的である。この時点で、読み取り(RD)あるいは書き込み(WR)コマンドが発行可能であり、アクセスすべき開始カラムアドレスを特定する。読み取り(RD)コマンドに応答して、状態マシンはアクティブ状態から読み取りコマンドへ移行する。書き込み(WR)コマンドに応答して、状態マシンはアクティブ状態から書き込み状態へと移行する。特定されたロウが開放状態に維持される限り、メモリコントローラは他の読み取り(RD)コマンドを同一の開放されたロウに発行することができ、状態マシンは読み取り状態に維持される。同様にして、特定されたロウが開放状態に維持される限り、メモリコントローラは他の書込む(WR)コマンドを同一の開放されたロウに対して発行することができ、状態マシンは書き込み状態に留まる。新たな読み取りあるいは書き込みコマンドなしにある時間間隔が経過したときに、状態マシンは自動的にアクティブ状態に戻る。
[0083]ロウモードインジケータが開放すべきN個のロウを特定するならば、(ここにおいて、Nは1よりも大きく、SDRAM内のロウデータバッファの全数に等しいかそれよりも小さい)特定されたロウ及びN−1個の連続するロウは一度に1つずつ活性化される。N個のロウの各々が活性化されたとき、活性化されているロウの内容がメモリアレイにおけるロウから、センス増幅器のアレイへ、その後、N個の対応するロウデータバッファに読み出される。読み取り(RD)コマンドに応答して、状態マシンはアクティブ状態からマルチロウ読み取り状態に移行する。書き込み(WR)コマンドに応答して、状態マシンは、アクティブ状態からマルチロウ書き込み状態に移行する。
[0084]N個のロウが開放状態を維持する限り、メモリコントローラは他の読み取り(RD)コマンドをN個の開放されたロウのいずれかに発行することができ、状態マシンはマルチロウ読み取り状態に維持する。同様にして、N個のロウが開放状態を維持する限り、メモリコントローラは他の書き込み(WR)コマンドをN個の開放されたロウのいずれかに発行することができ、状態マシンはマルチロウ書き込み状態に維持される。読み取りあるいは書き込みコマンドなしにある時間間隔が経過したとき、状態マシンは自動的にアクティブ状態に戻る。N個の開放されたロウがもはや必要でないときあるいはメモリアレイにおける開放されていないロウが開放される必要があるとき、メモリコントローラはN個の開放されたロウを閉じるためにプリチャージ(PR)コマンドを発行する。プリチャージ(PR)コマンドに応答して、状態マシンはアクティブ状態からプリチャージ状態へ、その後、アイドル状態に移行する。他のロウを開放すべくメモリコントローラは他の活性化(ACT)コマンドを発行し、状態マシンは上記したようにアイドル状態からアクティブ状態に移行する。
[0085]自動プリチャージ(RDA)有り読み取りコマンドあるいは自動プリチャージ(WRA)有り書き込みコマンドは、メモリコントローラによって送信されることができる。これは、ある条件((1)活性化コマンドが発行されてから最小のバンク活性化時間(RAS活性化時間と呼ばれ、tRASと記述される)が経過した(2)もっとも最近の読み取りコマンドが発行されてから最小の読み取りからプリチャージ遅延(tRTP)が経過した)が満たされるとすぐに、SDRAMの制御回路が開放されたロウを一度に1つずつ開放されたロウを自動的に閉じることを可能にする。自動プリチャージ有りの読み取りに応答して、状態マシンはまず自動プリチャージ有りの読み取り状態からプリチャージ状態へ、その後、アイドル状態に移行する。自動プリチャージ(WRA)コマンド有りの書き込みコマンドに応答して、状態マシンはまず、自動プリチャージ有りの書き込み状態へ、その後、プリチャージ状態へ、その後、アイドル状態に移行する。
[0086]用語“例示的”はここでは、“例、例証、あるいは実例として寄与すること”を意味するのに用いられる。ここにおいて“例示的”として記述される実施形態は、他の実施形態と比較して好ましいあるいは有利であると解釈されるべきではない。同様にして、“本発明の実施形態”という術語は、本発明の全ての実施形態が上記した特徴、利点、動作のモードを含むことを要求されるわけではない。
[0087]ここに用いられる術語は、特定の実施形態について説明するためのみに用いられ、本発明の実施形態を制限することを意図していない。ここに用いられるように、単数形である“1つの(a、an、the)”は、文脈が他の意味であることを明確にしていない限り、複数形をも含むことを意図している。さらに、ここで使用される、術語“備える(comprises)”、“備えること(comprising)”、“含む(includes)”及び/または“含むこと(including)”は、述べられた特徴、整数、ステップ、動作、要素、及び/またはコンポーネントの存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらのグループの存在あるいは追加を除外するものではない。
[0088]さらに、一部の実施形態は、例えば計算装置の要素によって実行されるべき動作の順番に従って記述される。ここに記述される種々の動作は、特定の回路(例えば特定用途向け集積回路(ASIC))によって、1つ以上のプロセッサによって実行されるべきプログラム命令によって、あるいは両方の組み合わせによって実行されることを認識すべきである。すなわち、本発明の種々の側面は、多数の異なる形態において具現化されることができるが、そのすべては、請求された主題の範囲内にある。さらに、ここに記述された実施形態の各々に関して、そのような実施形態の対応する形態はここでは、例えば、記述された動作を実行する“ように構成された論理”として記述される。
[0089]さらに、特定の特徴、機能に従ったアプリケーションによって種々の手段によって実装されることができる。これらの手段は、ハードウエア、ソフトウエア、あるいはファームウエア、あるいはそれらの組み合わせを含むことができる。
[0090]当業者ならば、情報及び信号は種々の異なる技術及び手法を使用して表されることを理解するであろう。例えば、上記説明の全体にわたって参照された、データ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁界あるいは粒子、光界あるいは粒子、あるいはそれらの組み合わせによって表される。
[0091]さらに、当業者ならば、個々に開示された実施形態に関連して記述された種々の例示的論理ブロック、モジュール、回路そしてアルゴリズムは、電子的ハードウエア、コンピュータソフトウエア、あるいは両方の組み合わせ、として実装されることができる。ハードウエアとソフトウエアのこのような交換性を明確に例示するために、種々の例示的コンポーネント、ブロック、モジュール、回路、そしてステップがこの機能性にしたがって上述された。そのような機能性がハードウエアあるいはソフトウエアとして実装されるかどうかは特定のアプリケーションおよびシステム全体に課せられる設計上の制限による。当業者ならば、各特別なアプリケーションに対して種々の方法によって記述された機能性を実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
[0092]したがって、本発明は、例示された例に限定されることはなく、ここに記述された機能性を実行するための手段は、本発明の実施形態に含まれるものである。
[0093]上記した開示は本発明の例示的実施形態を示すものであるが、添付の請求項によって規定される発明の範囲から逸脱することなしに種々の変更及び改善が可能であることに注意すべきである。個々に記述された本発明の実施形態にしたがった方法に係る請求の範囲の機能、ステップ及び/又は動作は特定の順番で実行される必要はない。さらに、本発明の要素は単数形で記述あるいは請求されるが、単数形に対する制限が明示的に述べられている場合を除いて複数形についても考量することができる。
[0093]上記した開示は本発明の例示的実施形態を示すものであるが、添付の請求項によって規定される発明の範囲から逸脱することなしに種々の変更及び改善が可能であることに注意すべきである。個々に記述された本発明の実施形態にしたがった方法に係る請求の範囲の機能、ステップ及び/又は動作は特定の順番で実行される必要はない。さらに、本発明の要素は単数形で記述あるいは請求されるが、単数形に対する制限が明示的に述べられている場合を除いて複数形についても考量することができる。
以下に本願出願当初の特許請求の範囲を付記する。
[C1]
メモリ装置であって、
ロウとカラムに組み立てられたデータ要素を備えるメモリアレイであって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であるメモリアレイと、
連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持するための少なくとも1つのロウアドレスバッファと、
連続する選択されたロウアドレスの前記セットに対応する選択されたロウの各内容を保持するためのロウデータバッファのセットと、
前記少なくとも1つのロウアドレスバッファと前記メモリアレイとに結合され、前記選択されたロウアドレスを受信するとともに、前記選択されたロウアドレスを復号して前記メモリアレイの選択されたロウにアクセスするためのロウデコーダと、
前記メモリアレイに結合されるとともにロウデータバッファのセットに結合され、前記選択されたロウを読み取って、前記選択されたロウの内容を前記ロウデータバッファの1つに転送するとともに、前記選択されたロウの内容を前記選択されたロウに書き戻すためのセンス増幅器のアレイと、
センス増幅器の前記アレイと、ロウデータバッファの前記セットとに結合され、前記選択されたロウの前記内容をセンス増幅器の前記アレイから前記ロウデータバッファの前記1つに供給するためのデマルチプレクサと、を備えるメモリ装置。
[C2]
前記少なくとも1つのロウアドレスバッファは、前記連続する選択されたロウアドレスを一度に1つずつ保持するように構成された単一のレジスタであり、前記連続する選択されたロウアドレスは、前記連続する選択されたロウアドレスの第1から動的に計算され、ロウデータバッファの前記セットはそれぞれ、前記連続する選択されたロウアドレスに対応するロウの内容を保持するように構成されるC1に記載のメモリ装置。
[C3]
前記少なくとも1つのロウアドレスバッファはそれぞれ、連続する選択されたロウアドレスの前記セットを保持するように構成されたロウドレスバッファのセットであり、前記ロウアドレスバッファの前記セットは、ロウデータバッファの前記セットに対応し、前記メモリ装置はさらに、
ロウアドレスバッファの前記セットに結合されるとともに、前記ロウデコーダに結合され、前記ロウアドレスバッファの選択された1つに保持されているロウアドレスを選択するとともに、前記選択されたロウアドレスを前記ロウデコーダに供給するためのマルチプレクサをさらに備える、C1に記載のメモリ装置。
[C4]
センス増幅器の前記アレイは、前記選択されたロウの内容の前記ロウデータバッファの前記1つへの送信の完了で、前記選択されたロウの前記内容を前記選択されたロウに書き戻すように構成されるC1に記載のメモリ装置。
[C5]
第1のコマンドを受信して復号するための制御回路であって、前記第1のコマンドは特定されたロウアドレスと、ロウモードインジケータとを含み、前記ロウモードインジケータは開放すべきロウの数を特定し、前記ロウモードインジケータを保持するためのメモリモードレジスタを備える制御回路をさらに備える、C1に記載のメモリ装置。
[C6]
前記制御回路は、前記メモリアレイに、前記特定されたロウアドレスから開始してロウの前記特定された数を開放させるように構成され、ロウの前記開放された特定された数の内容は、保持のために、対応するロウデータバッファに転送される、C5に記載のメモリ装置。
[C7]
前記制御回路は、前記第1のコマンドに続いて第2のコマンドを受信するように構成され、前記第2のコマンドはロウの前記開放された特定された数の特定されたロウからの読み取りを要求し、前記特定されたロウの前記読み取りは、対応するロウデータバッファからの読み取りによって実行される、C6に記載のメモリ装置。
[C8]
前記制御回路は、前記第1のコマンドに続いて第3のコマンドを受信するように構成され、前記第3のコマンドはロウの前記開放された特定された数の特定されたロウへの書き込みを要求し、前記特定されたロウの内容は対応するロウデータバッファに保持され、前記書き込みは前記対応するロウデータバッファへの書き込みによって実行される、C6に記載のメモリ装置。
[C9]
前記制御回路は、前記第1のコマンドに続いて第4のコマンドを受信するように構成され、前記第4のコマンドはプリチャージを要求し、前記プリチャージは、対応するロウデータバッファの内容と、センス増幅器の前記アレイとを使用して、前記メモリアレイにおけるロウの前記開放された特定された数に一度に1つずつ書き戻すとともに、ロウの前記開放された特定された数を閉じることによって実行される、C6記載のメモリ装置。
[C10]
ロウデータバッファの前記セットは、4個のロウデータバッファを備える、C1に記載のメモリ装置。
[C11]
メモリ装置におけるロウを開放する方法であって、前記メモリ装置はロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、前記方法は、
(a)ロウを開放すべく第1のコマンドを受信し、前記コマンドは選択されたロウアドレスと、前記選択されたロウアドレスから開始して開放すべきロウの数を特定するロウモードインジケータと、を含み、
(b)前記選択されたロウアドレスを少なくとも1つのロウアドレスバッファにローディングし、
(c)ロウデコーダを使用して前記選択されたロウアドレスをデコードして、前記メモリアレイにおける選択されたロウにアクセスし、
(d)センス増幅器のアレイを使用して前記選択されたロウを読み取って、前記選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送し、
開放すべきロウの前記特定された数が1よりも大きいならば、
(e)前記選択されたロウアドレスに基づいて、連続する選択されたロウアドレスを計算し、
(f)前記選択されたロウアドレスを前記連続する選択されたロウアドレスによって置き換えながら、動作(b)、(c)及び(d)を反復する、動作を備える、方法。
[C12]
開放すべきロウの前記特定された数はNに等しく、該Nは2よりも大きく、前記方法はさらに、
前記メモリアレイから読み出された前記特定されたN個のロウの内容が、ロウデータバッファの前記セットの対応するロウデータバッファ内に保持されるまで動作(e)及び(f)を反復することをさらに備えるC11に記載の方法。
[C13]
前記第1のコマンドに続いて第2のコマンドを受信することであって、前記第2のコマンドはロウの前記開放された特定された数の特定されたロウからの読み出しを要求し、前記特定されたロウの内容は、対応するロウデータバッファに保持されることと、
前記第2のコマンドに応答して、前記対応するロウデータバッファから読み取ることと、をさらに備える、C11に記載の方法。
[C14]
前記第1のコマンドに続いて第3のコマンドを受信することであって、前記第3のコマンドはロウの前記開放された特定された数の特定されたロウへの書き込みを要求し、入力データを備え、前記特定されたロウの内容は対応するロウデータバッファに保持されることと、
前記特定されたロウの内容を保持する前記対応するロウデータバッファに前記入力データを書き込むことと、をさらに備える、C11に記載の方法。
[C15]
前記第1のコマンドに続いて第4のコマンドを受信することであって、前記第4のコマンドはプリチャージを要求することと、
前記対応するロウデータバッファの内容とセンス増幅器の前記アレイとを使用して、前記メモリアレイにおけるロウの前記開放された特定された数に一度に1つずつ書き戻すことと、
前記メモリアレイにおけるロウの前記開放された特定された数を閉じることと、をさらに備えるC11に記載の方法。
[C16]
メモリ装置にアクセスするためのメモリコントローラであって、前記メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、前記メモリ装置は、開放されたロウの好適する数をもつことができ、前記メモリコントローラは、
要求器からのメモリアクセス要求を受信してスケジューリングするためのアービタであって、前記メモリアクセス要求は論理アドレスを含み、前記メモリアクセス要求に対して開放されたロウの前記好適する数を決定するように構成されたアービタと、
前記アービタに結合されて、前記論理アドレスをロウアドレスとカラムアドレスとを含む物理アドレスに変換するためのメモリマッパと、
前記メモリマッパと前記アービタとに結合されて、前記メモリアクセス要求に対応するコマンドの列を生成するとともに、コマンドの前記列を前記メモリ装置に送信するコマンド生成器であって、コマンドの前記列の1つのコマンドは、ロウモードと、開放されたロウの前記好適する数を特定するロウモードインジケータと、を含む、コマンド生成器と、を備えるメモリコントローラ。
[C17]
前記アービタは、前記要求器のメモリアクセスパターンを監視して、開放されたロウの前記好適する数を決定するように構成される、C16に記載のメモリコントローラ。
[C18]
前記アービタは、ロウヒットに対するロウミスの比率を監視することによって前記要求器の前記メモリアクセスパターンを監視するとともに、ロウヒットに対するロウミスの前記比率がしきい値を越えるならば、開放されたロウの前記好適する数を1つ以上のロウであると決定するように構成される、C16に記載のメモリコントローラ。
[C19]
前記アービタは、プロセッサから受信された命令に従って開放されたロウの前記好適する数を決定するように構成され、前記命令は開放されたロウの前記好適する数を特定する、C16に記載のメモリコントローラ。
[C20]
システムであって、
ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含むメモリ装置であって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、開放されたロウの前記好適する数の内容を保持するためのロウデータバッファのセットを備えるメモリ装置と、
要求器からのメモリアクセス要求を受信するように構成されるとともに、前記メモリ装置にアクセスするために前記メモリ装置に結合されるメモリコントローラと、
前記メモリコントローラに結合されたプロセッサであって、前記プロセッサ内に含まれたロウ決定モジュールを実行することが可能なプロセッサと、を備え、
開放されたロウの前記好適する数は、前記メモリコントローラにより前記要求器のメモリアクセスパターンを監視することによってあるいは、前記プロセッサにより前記ロウ決定モジュールを実行することによって、決定される、システム。

Claims (20)

  1. メモリ装置であって、
    ロウとカラムに組み立てられたデータ要素を備えるメモリアレイであって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であるメモリアレイと、
    連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持するための少なくとも1つのロウアドレスバッファと、
    連続する選択されたロウアドレスの前記セットに対応する選択されたロウの各内容を保持するためのロウデータバッファのセットと、
    前記少なくとも1つのロウアドレスバッファと前記メモリアレイとに結合され、前記選択されたロウアドレスを受信するとともに、前記選択されたロウアドレスを復号して前記メモリアレイの選択されたロウにアクセスするためのロウデコーダと、
    前記メモリアレイに結合されるとともにロウデータバッファのセットに結合され、前記選択されたロウを読み取って、前記選択されたロウの内容を前記ロウデータバッファの1つに転送するとともに、前記選択されたロウの内容を前記選択されたロウに書き戻すためのセンス増幅器のアレイと、
    センス増幅器の前記アレイと、ロウデータバッファの前記セットとに結合され、前記選択されたロウの前記内容をセンス増幅器の前記アレイから前記ロウデータバッファの前記1つに供給するためのデマルチプレクサと、
    を備えるメモリ装置。
  2. 前記少なくとも1つのロウアドレスバッファは、前記連続する選択されたロウアドレスを一度に1つずつ保持するように構成された単一のレジスタであり、前記連続する選択されたロウアドレスは、前記連続する選択されたロウアドレスの第1から動的に計算され、ロウデータバッファの前記セットはそれぞれ、前記連続する選択されたロウアドレスに対応するロウの内容を保持するように構成される請求項1に記載のメモリ装置。
  3. 前記少なくとも1つのロウアドレスバッファはそれぞれ、連続する選択されたロウアドレスの前記セットを保持するように構成されたロウドレスバッファのセットであり、前記ロウアドレスバッファの前記セットは、ロウデータバッファの前記セットに対応し、前記メモリ装置はさらに、
    ロウアドレスバッファの前記セットに結合されるとともに、前記ロウデコーダに結合され、前記ロウアドレスバッファの選択された1つに保持されているロウアドレスを選択するとともに、前記選択されたロウアドレスを前記ロウデコーダに供給するためのマルチプレクサをさらに備える、請求項1に記載のメモリ装置。
  4. センス増幅器の前記アレイは、前記選択されたロウの内容の前記ロウデータバッファの前記1つへの送信の完了で、前記選択されたロウの前記内容を前記選択されたロウに書き戻すように構成される請求項1に記載のメモリ装置。
  5. 第1のコマンドを受信して復号するための制御回路であって、前記第1のコマンドは特定されたロウアドレスと、ロウモードインジケータとを含み、前記ロウモードインジケータは開放すべきロウの数を特定し、前記ロウモードインジケータを保持するためのメモリモードレジスタを備える制御回路をさらに備える、請求項1に記載のメモリ装置。
  6. 前記制御回路は、前記メモリアレイに、前記特定されたロウアドレスから開始してロウの前記特定された数を開放させるように構成され、ロウの前記開放された特定された数の内容は、保持のために、対応するロウデータバッファに転送される、請求項5に記載のメモリ装置。
  7. 前記制御回路は、前記第1のコマンドに続いて第2のコマンドを受信するように構成され、前記第2のコマンドはロウの前記開放された特定された数の特定されたロウからの読み取りを要求し、前記特定されたロウの前記読み取りは、対応するロウデータバッファからの読み取りによって実行される、請求項6に記載のメモリ装置。
  8. 前記制御回路は、前記第1のコマンドに続いて第3のコマンドを受信するように構成され、前記第3のコマンドはロウの前記開放された特定された数の特定されたロウへの書き込みを要求し、前記特定されたロウの内容は対応するロウデータバッファに保持され、前記書き込みは前記対応するロウデータバッファへの書き込みによって実行される、請求項6に記載のメモリ装置。
  9. 前記制御回路は、前記第1のコマンドに続いて第4のコマンドを受信するように構成され、前記第4のコマンドはプリチャージを要求し、前記プリチャージは、対応するロウデータバッファの内容と、センス増幅器の前記アレイとを使用して、前記メモリアレイにおけるロウの前記開放された特定された数に一度に1つずつ書き戻すとともに、ロウの前記開放された特定された数を閉じることによって実行される、請求項6記載のメモリ装置。
  10. ロウデータバッファの前記セットは、4個のロウデータバッファを備える、請求項1に記載のメモリ装置。
  11. メモリ装置におけるロウを開放する方法であって、前記メモリ装置はロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、前記方法は、
    (a)ロウを開放すべく第1のコマンドを受信し、前記コマンドは選択されたロウアドレスと、前記選択されたロウアドレスから開始して開放すべきロウの数を特定するロウモードインジケータと、を含み、
    (b)前記選択されたロウアドレスを少なくとも1つのロウアドレスバッファにローディングし、
    (c)ロウデコーダを使用して前記選択されたロウアドレスをデコードして、前記メモリアレイにおける選択されたロウにアクセスし、
    (d)センス増幅器のアレイを使用して前記選択されたロウを読み取って、前記選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送し、
    開放すべきロウの前記特定された数が1よりも大きいならば、
    (e)前記選択されたロウアドレスに基づいて、連続する選択されたロウアドレスを計算し、
    (f)前記選択されたロウアドレスを前記連続する選択されたロウアドレスによって置き換えながら、動作(b)、(c)及び(d)を反復する、動作を備える、方法。
  12. 開放すべきロウの前記特定された数はNに等しく、該Nは2よりも大きく、前記方法はさらに、
    前記メモリアレイから読み出された前記特定されたN個のロウの内容が、ロウデータバッファの前記セットの対応するロウデータバッファ内に保持されるまで動作(e)及び(f)を反復することをさらに備える請求項11に記載の方法。
  13. 前記第1のコマンドに続いて第2のコマンドを受信することであって、前記第2のコマンドはロウの前記開放された特定された数の特定されたロウからの読み出しを要求し、前記特定されたロウの内容は、対応するロウデータバッファに保持されることと、
    前記第2のコマンドに応答して、前記対応するロウデータバッファから読み取ることと、をさらに備える、請求項11に記載の方法。
  14. 前記第1のコマンドに続いて第3のコマンドを受信することであって、前記第3のコマンドはロウの前記開放された特定された数の特定されたロウへの書き込みを要求し、入力データを備え、前記特定されたロウの内容は対応するロウデータバッファに保持されることと、
    前記特定されたロウの内容を保持する前記対応するロウデータバッファに前記入力データを書き込むことと、をさらに備える、請求項11に記載の方法。
  15. 前記第1のコマンドに続いて第4のコマンドを受信することであって、前記第4のコマンドはプリチャージを要求することと、
    前記対応するロウデータバッファの内容とセンス増幅器の前記アレイとを使用して、前記メモリアレイにおけるロウの前記開放された特定された数に一度に1つずつ書き戻すことと、
    前記メモリアレイにおけるロウの前記開放された特定された数を閉じることと、をさらに備える請求項11に記載の方法。
  16. メモリ装置にアクセスするためのメモリコントローラであって、前記メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、前記メモリ装置は、開放されたロウの好適する数をもつことができ、前記メモリコントローラは、
    要求器からのメモリアクセス要求を受信してスケジューリングするためのアービタであって、前記メモリアクセス要求は論理アドレスを含み、前記メモリアクセス要求に対して開放されたロウの前記好適する数を決定するように構成されたアービタと、
    前記アービタに結合されて、前記論理アドレスをロウアドレスとカラムアドレスとを含む物理アドレスに変換するためのメモリマッパと、
    前記メモリマッパと前記アービタとに結合されて、前記メモリアクセス要求に対応するコマンドの列を生成するとともに、コマンドの前記列を前記メモリ装置に送信するコマンド生成器であって、コマンドの前記列の1つのコマンドは、ロウモードと、開放されたロウの前記好適する数を特定するロウモードインジケータと、を含む、コマンド生成器と、を備えるメモリコントローラ。
  17. 前記アービタは、前記要求器のメモリアクセスパターンを監視して、開放されたロウの前記好適する数を決定するように構成される、請求項16に記載のメモリコントローラ。
  18. 前記アービタは、ロウヒットに対するロウミスの比率を監視することによって前記要求器の前記メモリアクセスパターンを監視するとともに、ロウヒットに対するロウミスの前記比率がしきい値を越えるならば、開放されたロウの前記好適する数を1つ以上のロウであると決定するように構成される、請求項16に記載のメモリコントローラ。
  19. 前記アービタは、プロセッサから受信された命令に従って開放されたロウの前記好適する数を決定するように構成され、前記命令は開放されたロウの前記好適する数を特定する、請求項16に記載のメモリコントローラ。
  20. システムであって、
    ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含むメモリ装置であって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、開放されたロウの前記好適する数の内容を保持するためのロウデータバッファのセットを備えるメモリ装置と、
    要求器からのメモリアクセス要求を受信するように構成されるとともに、前記メモリ装置にアクセスするために前記メモリ装置に結合されるメモリコントローラと、
    前記メモリコントローラに結合されたプロセッサであって、前記プロセッサ内に含まれたロウ決定モジュールを実行することが可能なプロセッサと、を備え、
    開放されたロウの前記好適する数は、前記メモリコントローラにより前記要求器のメモリアクセスパターンを監視することによってあるいは、前記プロセッサにより前記ロウ決定モジュールを実行することによって、決定される、システム。
JP2015551843A 2013-01-08 2014-01-07 開放されたロウの好適する数をもつメモリ装置 Expired - Fee Related JP5956089B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/736,662 US9281036B2 (en) 2013-01-08 2013-01-08 Memory device having an adaptable number of open rows
US13/736,662 2013-01-08
PCT/US2014/010544 WO2014110050A1 (en) 2013-01-08 2014-01-07 Memory device having an adaptable number of open rows

Publications (3)

Publication Number Publication Date
JP2016506009A true JP2016506009A (ja) 2016-02-25
JP2016506009A5 JP2016506009A5 (ja) 2016-06-02
JP5956089B2 JP5956089B2 (ja) 2016-07-20

Family

ID=50030495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015551843A Expired - Fee Related JP5956089B2 (ja) 2013-01-08 2014-01-07 開放されたロウの好適する数をもつメモリ装置

Country Status (6)

Country Link
US (2) US9281036B2 (ja)
EP (1) EP2943956B1 (ja)
JP (1) JP5956089B2 (ja)
KR (1) KR101622311B1 (ja)
CN (1) CN104903962B (ja)
WO (1) WO2014110050A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515409A (ja) * 2016-04-27 2019-06-06 マイクロン テクノロジー,インク. データキャッシング
JP7382678B2 (ja) 2019-08-14 2023-11-17 スーパーメム,アイエヌシー. コンピューティングメモリシステム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9281036B2 (en) 2013-01-08 2016-03-08 Qualcomm Incorporated Memory device having an adaptable number of open rows
KR102106064B1 (ko) * 2013-07-11 2020-05-28 에스케이하이닉스 주식회사 반도체 장치 및 이의 제어 방법
CN110059020B (zh) * 2015-04-23 2024-01-30 华为技术有限公司 扩展内存的访问方法、设备以及系统
WO2017206000A1 (zh) * 2016-05-28 2017-12-07 华为技术有限公司 内存访问方法及内存控制器
WO2018027535A1 (zh) * 2016-08-09 2018-02-15 华为技术有限公司 访问存储设备的方法和存储设备
GB2553338B (en) * 2016-09-02 2019-11-20 Advanced Risc Mach Ltd Serial communication control
KR102679774B1 (ko) * 2019-04-10 2024-06-28 에스케이하이닉스 주식회사 히스토리 기반 메모리 시스템 및 그 제어 방법
WO2022132475A1 (en) * 2020-12-17 2022-06-23 Micron Technology, Inc. Memory activation timing management
US11704049B2 (en) * 2021-02-11 2023-07-18 Micron Technology, Inc. Optimized command sequences
US11568932B2 (en) * 2021-02-22 2023-01-31 Micron Technology, Inc. Read cache for reset read disturb mitigation
US11775197B2 (en) * 2021-03-25 2023-10-03 Kyocera Document Solutions Inc. Single command for reading then clearing dynamic random access memory
US11600312B1 (en) * 2021-08-16 2023-03-07 Micron Technology, Inc. Activate commands for memory preparation
KR20240076574A (ko) * 2022-11-22 2024-05-30 삼성전자주식회사 메모리 컨트롤러, 이를 포함하는 전자 시스템 및 메모리 액세스 제어 방법
CN117608498A (zh) * 2024-01-22 2024-02-27 北京象帝先计算技术有限公司 一种dram的访问处理方法、缓存控制模块及dram控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180675A (ja) * 1994-08-17 1996-07-12 Oak Technol Inc 多重ページメモリ
JPH08185355A (ja) * 1994-09-30 1996-07-16 Advanced Risc Mach Ltd データメモリおよびその動作方法
JP2000149545A (ja) * 1998-11-12 2000-05-30 Nec Corp 半導体記憶装置
JP2000293983A (ja) * 1999-04-09 2000-10-20 Hitachi Ltd データ処理システム
US6389514B1 (en) * 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
JP2003108438A (ja) * 2001-09-28 2003-04-11 Supreme Magic:Kk データ処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061759A (en) 1996-02-09 2000-05-09 Apex Semiconductor, Inc. Hidden precharge pseudo cache DRAM
US6625685B1 (en) 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US7007133B2 (en) 2002-05-29 2006-02-28 Micron Technology, Inc. Synchronous memory open page register
US7082514B2 (en) * 2003-09-18 2006-07-25 International Business Machines Corporation Method and memory controller for adaptive row management within a memory subsystem
US7433258B2 (en) 2003-10-10 2008-10-07 Datasecure Llc. Posted precharge and multiple open-page RAM architecture
KR20050035699A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 메모리 시스템의 에너지 절감 방법 및 장치
US7162567B2 (en) 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7389402B2 (en) 2005-06-07 2008-06-17 Advanced Micro Devices, Inc. Microprocessor including a configurable translation lookaside buffer
GB2441726B (en) 2005-06-24 2010-08-11 Metaram Inc An integrated memory core and memory interface circuit
US7917676B2 (en) 2006-03-10 2011-03-29 Qualcomm, Incorporated Efficient execution of memory barrier bus commands with order constrained memory accesses
US7606988B2 (en) 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7958301B2 (en) 2007-04-10 2011-06-07 Marvell World Trade Ltd. Memory controller and method for memory pages with dynamically configurable bits per cell
US20080282028A1 (en) 2007-05-09 2008-11-13 International Business Machines Corporation Dynamic optimization of dynamic random access memory (dram) controller page policy
US8184487B2 (en) * 2010-08-30 2012-05-22 Micron Technology, Inc. Modified read operation for non-volatile memory
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9281036B2 (en) * 2013-01-08 2016-03-08 Qualcomm Incorporated Memory device having an adaptable number of open rows

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180675A (ja) * 1994-08-17 1996-07-12 Oak Technol Inc 多重ページメモリ
JPH08185355A (ja) * 1994-09-30 1996-07-16 Advanced Risc Mach Ltd データメモリおよびその動作方法
JP2000149545A (ja) * 1998-11-12 2000-05-30 Nec Corp 半導体記憶装置
US6389514B1 (en) * 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
JP2000293983A (ja) * 1999-04-09 2000-10-20 Hitachi Ltd データ処理システム
JP2003108438A (ja) * 2001-09-28 2003-04-11 Supreme Magic:Kk データ処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515409A (ja) * 2016-04-27 2019-06-06 マイクロン テクノロジー,インク. データキャッシング
US10776016B2 (en) 2016-04-27 2020-09-15 Micron Technology, Inc. Data caching for ferroelectric memory
JP2021168225A (ja) * 2016-04-27 2021-10-21 マイクロン テクノロジー,インク. データキャッシング
JP7137477B2 (ja) 2016-04-27 2022-09-14 マイクロン テクノロジー,インク. データキャッシング
US11520485B2 (en) 2016-04-27 2022-12-06 Micron Technology, Inc. Data caching for ferroelectric memory
JP7382678B2 (ja) 2019-08-14 2023-11-17 スーパーメム,アイエヌシー. コンピューティングメモリシステム

Also Published As

Publication number Publication date
EP2943956A1 (en) 2015-11-18
US20140195764A1 (en) 2014-07-10
KR20150104169A (ko) 2015-09-14
CN104903962A (zh) 2015-09-09
KR101622311B1 (ko) 2016-05-18
EP2943956B1 (en) 2018-10-03
US9281036B2 (en) 2016-03-08
CN104903962B (zh) 2017-08-25
US20160133306A1 (en) 2016-05-12
JP5956089B2 (ja) 2016-07-20
WO2014110050A1 (en) 2014-07-17
US9343127B1 (en) 2016-05-17

Similar Documents

Publication Publication Date Title
JP5956089B2 (ja) 開放されたロウの好適する数をもつメモリ装置
US11221772B2 (en) Self refresh state machine mop array
CN107924375B (zh) 用于高速存储器接口的命令仲裁
KR20210021302A (ko) 메모리 제어기에서의 리프레시 방식
US20120079180A1 (en) DRAM Controller and a method for command controlling
US11682445B2 (en) Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training
CN108139994B (zh) 内存访问方法及内存控制器
US10572168B2 (en) DRAM bank activation management
JP2021507414A (ja) 連動メモリデバイスに対するメモリ要求のスケジューリング
JP2022522012A (ja) メモリにおける拡張データクロック動作
JP2019522257A (ja) 低電力メモリのスロットリング
US8914612B2 (en) Data processing with time-based memory access
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
US20240119993A1 (en) Read clock start and stop for synchronous memories
JP2002207541A (ja) マイクロコンピュータ及びデータ処理装置
Fang et al. Conservative row activation to improve memory power efficiency
CN112965816A (zh) 内存管理技术及计算机系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160407

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160407

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160407

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160615

R150 Certificate of patent or registration of utility model

Ref document number: 5956089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees