JP6370953B1 - マルチランクsdram制御方法及びsdramコントローラ - Google Patents

マルチランクsdram制御方法及びsdramコントローラ Download PDF

Info

Publication number
JP6370953B1
JP6370953B1 JP2017057033A JP2017057033A JP6370953B1 JP 6370953 B1 JP6370953 B1 JP 6370953B1 JP 2017057033 A JP2017057033 A JP 2017057033A JP 2017057033 A JP2017057033 A JP 2017057033A JP 6370953 B1 JP6370953 B1 JP 6370953B1
Authority
JP
Japan
Prior art keywords
sdram
rank
data
bits
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.)
Active
Application number
JP2017057033A
Other languages
English (en)
Other versions
JP2018160104A (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.)
FANUC Corp
Original Assignee
FANUC Corp
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 FANUC Corp filed Critical FANUC Corp
Priority to JP2017057033A priority Critical patent/JP6370953B1/ja
Priority to CN201810229116.0A priority patent/CN108628778A/zh
Priority to DE102018204341.8A priority patent/DE102018204341B4/de
Priority to US15/928,394 priority patent/US10474393B2/en
Application granted granted Critical
Publication of JP6370953B1 publication Critical patent/JP6370953B1/ja
Publication of JP2018160104A publication Critical patent/JP2018160104A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • 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/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/108Wide data ports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

【課題】マルチランクSDRAMを構成する場合でも、性能の低下を防ぎ、部品点数の増加を最小限に抑えるマルチランクSDRAM制御方法、及びSDRAMコントローラを提供すること。【解決手段】複数のSDRAMデバイスのデータバスを接続して構成されたマルチランクSDRAMの制御方法であって、前記複数のSDRAMデバイスのそれぞれに対して、アクセス対象であるランクのSDRAMデバイスに対するデータマスク信号のみネゲートすることによって、データのリードまたはライトを実行する。【選択図】図1

Description

本発明は、マルチランク(Multi Rank)のSDRAM(Synchronous Dynamic RAM)の制御方法、及びSDRAMコントローラに関する。本発明は、特にデータだけでなく、パリティ(Parity)やECC(Error Correction Code)を含めたランクの制御を行うことができる制御方法、及びSDRAMコントローラに関する。
大容量のSDRAMが必要な場合、いわゆるマルチランク構成が採用される場合がある。マルチランク構成とは、SDRAMのデータのバス線1本当たりに複数のSDRAMデバイスを接続する構成を言う。なお、ここでいう「SDRAM」は、典型的には、狭義のSDR(Single Data Rate)のSDRAMである。
図19Aには、従来のシングルランク(Single Rank、1ランク)のメモリ構成例と、デュアルランク(Dual Rank、2ランク)とのメモリ構成例の説明図が示されている。同図のSingle Rankには、シングルランクのメモリにおいては、CPU10からの各データ線16には、それぞれデータ線16の1本当たり1個のSDRAMデバイス12が接続している様子が示されている。すなわち、1本のデータ線16には、CPU10と、SDRAMコントローラ14と、1個のSDRAMデバイス12とが接続している。
また、同図のDual Rankには、デュアルランクのメモリにおいては、CPU10からの各データ線16には、それぞれデータ線16の1本当たり2個のSDRAMデバイス12が接続している様子が示されている。すなわち、1本のデータ線16には、CPU10と、SDRAMコントローラ14と、2個のSDRAMデバイス12とが接続している。
前述のとおり、図19Aには、CPU10−SDRAM12−SDRAMコントローラ14との接続の様子が示されている。なお、CPU10がSDRAMコントローラ14を兼ねる形態も考えられ、その様子が図19Bに示されている。また、CPU10のデータバスとSDRAMコントローラ14のデータバスとが分離している形態も考えられ、その様子が図19Cに示されている。
従来、SDRAMのマルチランク構成を実現するには、ランク毎にCS#(チップセレクト信号)を分けて、アクセスするランクのCS#のみをアサートすることが一般的である。このようなCS#を用いてランクを制御する場合の回路構成図が図20に示されている。図20で示す例は、デュアルランクの例であり、第1ランクのSDRAMデバイス20aと、第2ランクのSDRAMデバイス20bとが備えられている。そして、データ線は、両SDRAMデバイス20a、20bのデータ線(D0〜D15)に共に接続されている。ランクの選択は、CS0#22aと、CS1#22bのいずれかのチップセレクト信号をアサートすることによって、第1ランク、第2ランクのいずれかを選択するように構成している。このCS0#22aと、CS1#22bは、例えば、アドレスの上位ビットに応じて排他的にアサートされる。
また、高信頼性が要求される用途では、データにパリティやECCを付加することが多い。例えば、64ビットのデータに8ビットのパリティを付加するような構成が利用されている。16ビット幅のSDRAMデバイスを用いて、このような8ビットのパリティやECCを実現する場合には、パリティ/ECC用のSDRAMデバイスの16ビット中、8ビットがパリティやECCに使用され、残りの8ビットは未使用となる。
このようなCS#を用いてランクを制御する場合の、パリティ/ECC用のSDRAMデバイスの回路構成図が図21に示されている。図21で示す例は、デュアルランク(Dual Rank、2ランクの例であり、第1ランクのパリティ用のSDRAMデバイス20cと、第2ランクのパリティ用のSDRAMデバイス20dとが備えられている。そして、データ線中の8ビット(パリティ)は、両SDRAMデバイス20c20dのデータ線(DP0〜DP7)に共に接続されている。ランクの選択は、CS0#22aと、CS1#22bのいずれかのチップセレクト信号をアサートすることによって、第1ランク、第2ランクのいずれかを選択するように構成している。このCS0#22aと、CS1#22bは、図20と同様に、例えばアドレスの上位ビットに応じて排他的にアサートされる。なお、図21に示すように、各SDRAMデバイス20c、20dの下位8ビットのみがパリティとして用いられ、上位8ビットは未使用であり、VDDにプルアップ(Pull Up)されている。ここでは、パリティとして用いる例を説明したが、ECCも同様である。
マルチランク構成の場合には、この8ビットが未使用のままのSDRAMデバイス20c、20dも、ランク数分必要となってしまうため、無駄が多いという課題があった。
また、データの場合でもパリティの場合でも、あるランクにアクセスした直後に、他のランクにアクセスしようとすると、ランク間の競合を回避するために、所定のウェイトの挿入が必要な場合もある。そのため、ランクが1の場合と比較して、性能面で不利になる可能性があるという課題がある。
<先行特許文献>
例えば、後述する特許文献1においては、メモリモジュール1の記憶手段2(64ビット幅のデータ入出力端子を有している)は、マスク信号(DQM0〜DQM7)に対応した各々8ビット幅のセグメントに区分けされたデータ入出力DQ0〜DQ7、DQ8〜DQ15、・・・を備えていることが示されている(特許文献1の図1、段落〔0012〕、〔0013〕)。また、アドレスの下位3ビットからマスク信号(DQM0〜DQM7)が生成されている(〔0017〕、図2)。
また、特許文献2においては、データ入出力回路20は、メモリセルMCへの書き込みデータ及び読み出しデータを、データマスク信号BDM0-7の論理に応じてマスクしている(特許文献2の図1、段落〔0018〕、〔0027〕)。ここで、メモリセルMCは、SDRAMのインターフェースを有する疑似SRAMである(段落〔0009〕)。
すなわち、SDRAMのアクセスしようとするバイトに対するDQM信号のみをネゲートして、データのリード・ライトを行う動作が開示されている。
また、特許文献3においては、リード時に下位データマスク信号を使用することが開示されている(特許文献3の段落〔0046〕)。
特開2008−293413号公報 特開2008−021364号公報 特開2008−276343号公報
従来のマルチランク技術においては、上述したように、CS#(チップセレクト信号)を用いてランクを選択しているので、ランク間の競合を回避するためにウェイトの挿入が必要な場合もあり、性能面で不利が生じている。また、パリティ/ECCのビット幅がSDRAMデバイスのビット幅より小さい場合には、未使用のビットが生じてしまい、無駄が生じてしまう場合もある。
本発明は、かかる課題に鑑みなされたものであり、マルチランクSDRAMを構成する場合でも、性能の低下を抑制できるマルチランクSDRAM制御方法を提供することを目的とする。また、同様に、マルチランクSDRAMを構成する場合でも、無駄な未使用ビットを削減することができるマルチランクSDRAM制御方法を提供することを目的とする。本発明は、前述のマルチランクSDRAM制御方法を実行するSDRAMコントローラを提供することを目的とする。
本発明は、上記課題を解決するために、アクセスするランクの選択をCS#(チップセレクト信号)ではなく、DQM(データマスク信号)で行うことを原理とする。すなわち、ランクごとにDQMを分け、アクセスするランクのDQMのみをネゲートする。
DQMは、バイトレーン単位でリードやライトのデータをマスクすることを可能とする信号である。メモリがアイドル状態の場合には、アサート(データがマスクされている状態)されている。
なお、DDR(Double Data Rate)のSDRAMの場合には、このDQMに相当する信号は、DMという呼び名で呼ばれ、ライトのみをマスクすることができる信号である。本発明の対象は、典型的には、SDR(Single Data Rate)のSDRAMである。
このような解決の原理を説明する図が、図1、図2に示されている。
図1には、データの観点からデュアルランク(Dual Rank、2ランクのSDRAMを構成した場合の例が示されている。この図には、RANK0のSDARMデバイス100aと、RANK1にSDARMデバイス100bとが、そのデータ線が共通に接続され、2ランク構成のメモリを構成した例が示されている。
SDARMデバイス100a、100bは、16ビット(x16)のメモリであり、上位8ビットに対するデータマスク信号端子であるDQMHと、下位8ビットに対するデータマスク信号端子であるDQMLとが備えられている。
図1の例では、RANK0のSDRAMデバイス100aのDQML及びDQMHには、DQM0−114aが接続され、RANK0が選択される場合には、DQM0−114aがネゲートされ、DQMH、DQMLが共にネゲートされ、SDRAMデバイス100aのデータ線がアクティブとなり、RANK0に対するアクセスが行われる。
RANK1のSDRAMデバイス100bのDQML及びDQMHには、DQM1−114bが接続され、RANK1が選択される場合には、DQM1−114bがネゲートされ、DQMH、DQMLが共にネゲートされ、SDRAMデバイス100bのデータ線がアクティブとなり、RANK1に対するアクセスが行われる。
なお、この場合、CS#は全てアサートされ、両SDRAMデバイス100a、100bはともに動作状態である。
図2には、パリティ/ECCの観点から2ランクのSDRAMを構成した場合の例が示されている。この図には、単一のSDARMデバイス100cが示され、その上位バイトと、下位バイトとで、2ランク構成のパリティ/ECC用のメモリを構成した例が示されている。なお、パリティやECCは8ビットであることを前提としている。
SDARMデバイス100cは、16ビット(x16)のメモリであり、上位8ビットに対するデータマスク信号端子であるDQMHと、下位8ビットに対するデータマスク信号端子であるDQMLとが備えられている。
図2の例では、SDRAMデバイス100cのDQMLに、DQM0−114aが接続され、RANK0が選択される場合には、SDRAMデバイス100cのDQM0−114aがネゲートされ、DQMLがネゲートされる。その結果、SDRAMデバイス100cの下位8ビットがアクティブとなり、RANK0のパリティ/ECCに対するアクセスが行われる。すなわち、SDRAMデバイス100cの下位8ビットがRANK0のパリティ/ECCとなる。
また、SDRAMデバイス100cのDQMHに、DQM1−114bが接続され、RANK1が選択される場合には、SDRAMデバイス100cのDQM1−114bがネゲートされ、DQMHがネゲートされる。その結果、SDRAMデバイス100cの上位8ビットがアクティブとなり、RANK1のパリティ/ECCに対するアクセスが行われる。すなわち、SDRAMデバイス100cの上位8ビットがRANK1のパリティ/ECCとなる。
本願発明の原理を、タイムチャートを用いて説明する。図3には、従来のCS#を用いた場合のマルチランクSDRAMに対するアクセス動作の様子を示すタイムチャートが示されている。縦軸には種々の信号種別が示されている。上から、順に、
Rank0 Command:RANK0に対するコマンド
Rank1 Command:RANK1に対するコマンド
DQM :RANK0とRANK1に共通のデータマスク信号
Rank0 Data :RANK0のデータ
Rank1 Data :RANK1のデータ
を表す。図3の横軸は時間であり、周期1からp10に向かって時間が経過していくものとする。図3は、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、SDRAMはCASレイテンシ=2、バースト長=4を前提としている。
図3において、まず周期1においては、DQMはアサートされた状態であり、その結果、いずれのRANKのデータも有効な状態ではない。
周期2において、RANK0に対してREADコマンド(READ a)が発行される。同周期2において、DQMがネゲートされ、データに対するアクセスが可能となる。ここでは、CASレンテンシ=2を前提としており、周期4において、RANK0側のSDRAMはデータData a0をデータバス上に出力する。
周期3において、DQMがアサートされる。このため、周期5においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態となる。
周期4において、DQMがアサートされ続ける。このため、周期6においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期5において、DQMがネゲートされるので、周期7においてRANK0側のSDRAMはデータData a3をデータバス上に出力する。SDRAMのバースト長=4を前提としているので、RANK0のREADサイクル(READ a)は周期7で完了する。
同じく周期5において、RANK1に対して新たなREADコマンド(READ b)が発行される。CASレンテンシ=2を前提としているので、周期7において、RANK1側のSDRAMはデータData b0をデータバス上に出力する。
周期6において、DQMがネゲートされ続ける。このため、周期8においてRANK1側のSDRAMはデータData b1をデータバス上に出力する。
周期7において、前述のとおり、RANK0側のSDRAMがデータData a3をデータバス上に出力し、同時にRANK1側のSDRAMがデータData b0をデータバス上に出力するので、データバス上で衝突104が発生してしまう。
同じく周期7において、DQMがネゲートされ続ける。このため、周期9においてRANK1側のSDRAMはデータData b2をデータバス上に出力する。
周期8においても、DQMはネゲートされ続ける。このため、周期10においてRANK1側のSDRAMはデータData b4をデータバス上に出力する。SDRAMのバースト長=4を前提としているので、RANK1のREADサイクル(READ b)は周期10で完了する。一方、RANK0側のSDRAMは周期7でリードサイクルが完了しているので、周期8以降はデータを出力せず、Hi-Z状態となる。
以上のような動作となるので、RANK0側のコマンドと、RANK1側のコマンドとが連続して発行される場合には、図3に示すように衝突104が発生してしまう。衝突を回避するためにはランクをまたぐコマンド間に一定の時間間隔が必要であり、例えば、ウェイトを挿入する等の工夫が必要である。その結果、メモリアクセスに望ましくない遅延が生じ、性能面で不利な結果がもたらされる。図3に示す衝突104を回避するには、RANK1のREADをさらに、2周期遅らせる必要がある。
次に、本発明で提案するDQM方式の動作を説明する。図4には、このDQM方式を用いた場合のマルチランクSDRAMに対するアクセス動作の様子を示すタイムチャートが示されている。縦軸には種々の信号種別が示されている。上から、順に、
Command :RANK0とRANK1に共通のコマンド
Rank0 DQM :RANK0に対するデータマスク信号
Rank1 DQM :RANK1に対するデータマスク信号
Rank0 Data :RANK0のデータ
Rank1 Data :RANK1のデータ
を表す。図4の横軸は、図3と同様に時間であり、周期1からp10に向かって時間が経過していくものとする。図4も、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、CASレイテンシ=2を前提としている。
図4において、まず周期1においては、RANK0、RANK1のDQMは共にアサートされた状態であり、その結果、いずれのランクのデータも有効な状態ではない。
周期2において、両ランクに対してREADコマンド(READ a)が発行されるとともに、RANK0側のDQMがネゲートされる。ここでは、CASレンテンシ=2を前提としており、周期4において、RANK0側のSDRAMはデータData a0をデータバス上に出力する。周期2においてRANK1側のDQMがアサートされているので、周期4においてRANK1側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期3において、RANK0側のDQMがアサートされる。このため周期5においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態となる。
同じく周期3において、RANK1側のDQMがアサートされ続ける。このため周期5においてRANK1側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期4において、両ランクのDQMがアサートされ続ける。このため周期6において両ランクのSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期5において、両ランクに対してREADコマンド(READ b)が発行されるとともに、RANK1側のDQMがネゲートされる。先行するREADサイクル(READ a)が未完了だが、SDRAMは後発のREADコマンド(READ b)を優先する。CASレンテンシ=2を前提としているので、周期7において、RANK1側のSDRAMはデータData b0をデータバス上に出力する。一方、周期5においてRANK0側のDQMはアサートされ続けているので、周期7においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期6において、RANK0側のDQMがアサートされ続けているので、周期8においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
同じく周期6において、RANK1側のDQMがネゲートされ続けているので、周期8においてRANK1側のSDRAMはデータData b1をデータバス上に出力する。
周期7において、前述のとおり、RANK1側のSDRAMはデータData b0をデータバス上に出力するが、RANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持するので、データバス上で衝突は起こらない。
同じく周期7において、RANK0側のDQMはアサートされ続ける。このため、周期9においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
同じく周期7において、RANK1側のDQMはネゲートされ続ける。このため、周期9においてRANK1側のSDRAMはデータData b2をデータバス上に出力する。
周期8において、RANK0側のDQMはアサートされ続ける。その結果、周期10においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
同じく周期8において、RANK1側のDQMはネゲートされ続ける。このため、周期10においてRANK1側のSDRAMはデータData b3をデータバス上に出力する。
SDRAMのバースト長=4を前提としているので、両ランクのREADサイクル(READ b)は周期10で完了する。
以上のような動作となるので、RANK0側のコマンドと、RANK1側のコマンドとが連続して発行される場合でも、その間の時間間隔をCS#方式に比べて短くすることができ、CS#方式に比べて性能の改善が図られる。
<ランクの選択>
以上、本発明の原理を、図1、図2、図3、図4に基づき説明した。
ランクの選択は、アドレスからランクを求めることがよく、どのビット(群)がランクを表してもよい。原則として自由にアドレスとランクの関係を規定することができる。ただし、例えば、下記のようなアドレスとランクとの関係を規定してもよい。
ランク数が2の累乗の場合には、アドレスの下位ビットでランクの選択を行ってもよい。例えば、最大バースト長でのアクセスサイズを2バイトとすると、2ランク構成では、Nビットアドレス[N−1:0]中のビット[m+r−1:m]でランクを選択することができる。ここで、m、rは非負整数、Nは自然数である。
例1:m=5、r=1、N=32の場合には、最大バースト長アクセスサイズが、32バイト(=2)となり、2(=2)ランク構成で、32ビットアドレス[31:0]中のビット[5]がランクを指定することになる。
例2:m=5、r=2、N=32の場合には、4ランク構成で、32ビットアドレス[31:0]中のビット[6:5]がランクを指定することになる。
例3:m=5、r=4、N=32の場合には、8ランク構成で、32ビットアドレス[31:0]中のビット[7:5]がランクを指定することになる。
すなわち、ここでいう「アドレスの下位」とは、最大バーストアクセスサイズを示すビットを除いて下位のビットという意味である。
なお、SDRAMの最大バースト長は、CPUのキャッシュラインサイズと整合させるのが合理的であり、通常、最大バーストアクセスサイズは32、64、128バイト程度が採用される。
<カラムアドレスの位置>
また、ランクの一つ上(直近の上位)のビット群をカラムアドレスとすることができる。サポートする最小のカラムアドレスのビット数をkビットとする。ここで、kは整数である。すると、上述の通り、Nビットアドレス[N−1:0]中のビット[m+r−1:m]でランクを選択するとともに、その上位である、Nビットアドレス[N−1:0]中のビット[m+r+k−1:m+r]がカラムアドレスとなる。rの値で場合分けすれば、下記のとおりである。
例4:2ランク構成(r=1)の場合には、Nビットアドレス[N−1:0]中のビット[m+k:m+1]がカラムアドレスとなる。
例5:4ランク構成(r=2)の場合には、Nビットアドレス[N−1:0]中のビット[m+k+1:m+2]がカラムアドレスとなる。
例6:8ランク構成(r=3)の場合には、Nビットアドレス[N−1:0]中のビット[m+k+2:m+3]がカラムアドレスとなる。
なお、これらの構成を採用する場合には、バンクアドレスと、ロウアドレスとは、カラムアドレスよりも上位のビット群とすることができる。
このようなアドレスの割り当てを行う場合には、マルチランクSDRAMでメモリを構成した場合の性能の改善を図ることができる。具体的に言えば、高速ページモードにおけるページサイズの拡大を図ることができる。つまり、ページサイズをランク数倍にすることができる。SDRAMにおいては、同一のロウアドレスに高速でアクセスすることができる。その場合の同一のロウアドレスとなるアドレス範囲を拡大したことと同様の効果が得られるという意味である。
<アドレスの割り当て>
具体的なアドレスの割り当ての例を3例示す。
図5は、シングルランクの場合のアドレスの関係を説明する説明図である。図5は、データバス幅が64ビットであり、バースト長が4、個々のSDRAMデバイスが容量128Mbit以上のデバイスである場合の例である。
同図において、プロセッサーアドレス106は、32ビットからなるアドレスである。その下位12ビットがページサイズを表し、4KBである。
アクティブコマンドアドレス108は、アクティブコマンドで示されるアドレスであり、15ビットである。その下位12ビットは、下位のロウアドレスであり、プロセッサーアドレス106の[23:12]である。アクティブコマンドアドレス108の上位2ビットは、バンクアドレスであり、プロセッサーアドレス106の[25:24]である。アクティブコマンドアドレス108の残りの1ビット[12]は、ロウアドレスの最上位ビットであり、プロセッサーアドレス106の[26]である。
リードライトコマンドアドレス110は、READコマンドまたはWRITEコマンドで示されるアドレスであり、15ビットである。その下位10ビットは、プロセッサーアドレス106の[11:3]であり、その上位の1ビット[10]は、AP(Auto Precharge)である。リードライトコマンドアドレス110の上位2ビットは、バンクアドレスであり、アクティブコマンドアドレス108と同様に、プロセッサーアドレス106の[25:24]である。リードライトコマンドアドレス110の残りの2ビット[12:11]は、カラムアドレスであり、プロセッサーアドレス106の[29:28]である。
図6は、デュアルランクの場合のアドレスの関係を説明する説明図である。図6も、データバス幅が64ビットであり、バースト長が4、個々のSDRAMデバイスが容量128Mbit以上のデバイスである場合の例である。同図において、プロセッサーアドレス106は、32ビットからなるアドレスである。その下位13ビットがページサイズを表し、8KBである。
アクティブコマンドアドレス108は、アクティブコマンドで示されるアドレスであり、15ビットである。その下位12ビットは、下位のロウアドレスであり、プロセッサーアドレス106の[24:13]である。アクティブコマンドアドレス108の上位2ビットは、バンクアドレスであり、プロセッサーアドレス106の[26:25]である。アクティブコマンドアドレス108の残りの1ビット[12]は、ロウアドレスの最上位ビットであり、プロセッサーアドレス106の[27]である。
リードライトコマンドアドレス110は、READコマンドまたはWRITEコマンドで示されるアドレスであり、15ビットである。その下位9ビットは、プロセッサーアドレス106の[12:3]である。ただしプロセッサーアドレス106のビット[5]は、ランクを選択するランクビット112として使用するので、リードライトコマンドアドレス110としては用いられない。また、その上位の1ビット[9]は、プロセッサーアドレスの[28]ビットである。さらに上位の1ビット[10]は、AP(Auto Precharge)である。
リードライトコマンドアドレス110の上位2ビットは、バンクアドレスであり、アクティブコマンドアドレス108と同様に、プロセッサーアドレス106の[26:25]である。リードライトコマンドアドレス110の残りの2ビット[12:11]は、カラムアドレスであり、プロセッサーアドレス106の[30:29]である。
図6に示す例では、2ランク構成であるので、ページサイズが、図5より2倍になり、8KBとなる。
図7は、クアッドランク(Quad Rank)の場合のアドレスの関係を説明する説明図である。図7も、データバス幅が64ビットであり、バースト長が4、個々のSDRAMデバイスが容量128Mbit以上のデバイスである場合の例である。同図において、プロセッサーアドレス106は、32ビットからなるアドレスである。その下位14ビットがページサイズを表し、16KBである。
図7において、アクティブコマンドアドレス108は、図5、図6と同様に15ビットである。その下位12ビットは、下位のロウアドレスであり、プロセッサーアドレス106の[25:14]である。アクティブコマンドアドレス108の上位2ビットは、バンクアドレスであり、プロセッサーアドレス106の[27:26]である。アクティブコマンドアドレス108の残りの1ビット[12]は、ロウアドレスの最上位ビットであり、プロセッサーアドレス106の[28]である。
リードライトコマンドアドレス110も、図5、図6と同様に15ビットである。その下位9ビットは、プロセッサーアドレス106の[13:3]である。ただし、プロセッサーアドレス106のビット[6:5]は、ランクを選択するランクビット112として使用するので、リードライトコマンドアドレス110としては用いられない。また、その上位の1ビット[9]は、プロセッサーアドレスの[29]ビットである。さらに上位の1ビット[10]は、AP(Auto Precharge)である。リードライトコマンドアドレス110の上位2ビットは、バンクアドレスであり、アクティブコマンドアドレス108と同様に、プロセッサーアドレス106の[27:26]である。リードライトコマンドアドレス110の残りの2ビット[12:11]は、カラムアドレスであり、プロセッサーアドレス106の[31:30]である。
図7に示す例では、クアッドランク(Quad Rank)構成であるので、ページサイズが、図5に示す例と比べて4倍になり、16KBとなる。また、ランクビット112は、2ビットであり、この2ビットでクアッドランク(Quad Rank)のうち、いずれかのランクを指定する。
本発明の具体的な態様は後述する実施形態で詳細に説明する。本発明が採用する具体的な手段は、以下の通りである。
(1)本発明に係るマルチランクSDRAM制御方法は、複数のSDRAMデバイス(例えば、後述するSDRAMデバイス100)のデータバスを接続して構成されたマルチランクSDRAMの制御方法であって、前記複数のSDRAMデバイスのそれぞれに対して、アクセス対象であるランクのSDRAMデバイスに対するデータマスク信号(例えば、後述するDQM0)のみネゲートすることによって、前記ランクへのアクセスを実行する。
(2) (1)のマルチランクSDRAM制御方法において、前記マルチランクSDRAMは、2の累乗のランク数で構成されており、前記SDRAMのアドレスの下位ビットでランクの選択を実行してもよい。
(3) (2)のマルチランクSDRAM制御方法において、前記ランクの選択を行う下位ビットの一つ上のアドレスビット群を、前記複数のSDRAMデバイスのカラムアドレスとして用いてもよい。
(4) (1)から(3)のいずれかのマルチランクSDRAM制御方法において、前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号であってもよい。
(5) (1)から(4)のいずれかのマルチランクSDRAM制御方法において、前記複数のSDRAMデバイスのうちの1個以上のSDRAMは、パリティ及び/又はECCビットのためのSDRAMデバイスであってもよい。
(6) 本発明のSDRAMコントローラは、(1)から(5)のいずれかのマルチランクSDRAM制御方法を実行する。
本発明によれば、ランク間の競合を回避して性能面での不利益が生じる可能性を減らすことができる。
本発明の解決手段(データ)を説明する説明図である。 本発明の解決手段(パリティ/ECC)を説明する説明図である。 CS#信号を用いたSDRAMの制御の一例のタイムチャートである。 DQM信号を用いたSDRAMの制御の一例のタイムチャートである。 シングルランク(Single Rank)の場合のアドレスの割り当ての一例を示す説明図である。 デュアルランク(Dual Rank)の場合のアドレスの割り当ての一例を示す説明図である。 クアッドランク(Quad Rank)の場合のアドレスの割り当ての一例を示す説明図である。 実施例1の回路構成図である。 実施例2の回路構成図である。 実施例3の回路構成図である。 実施例3の回路構成図である。 実施例4の回路構成図である。 実施例4の回路構成図である。 実施例5の回路構成図である。 実施例5の回路構成図である。 実施例5の回路構成図である。 実施例5の回路構成図である。 実施例6の回路構成図である。 実施例6の回路構成図である。 実施例6の回路構成図である。 実施例6の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例7の回路構成図である。 実施例8または10の回路構成図である。 実施例8または10の回路構成図である。 実施例8または10の回路構成図である。 実施例9または11の回路構成図である。 実施例9または11の回路構成図である。 実施例9または11の回路構成図である。 実施例9または11の回路構成図である。 実施例9または11の回路構成図である。 実施例10の回路構成図である。 実施例10の回路構成図である。 実施例11の回路構成図である。 実施例11の回路構成図である。 実施例11の回路構成図である。 実施例11の回路構成図である。 シングルランクとデュアルランクの説明図である。 図19Aの構成に対して、CPUがSDRAMコントローラを兼ねる場合の説明図である。 図19Aの構成に対して、CPUがSDRAMデバイスと直接接続せず、他のバスでSDRAMコントローラに接続させた場合の説明図である。 デュアルランク構成のSDRAMにおいて、CS#信号を用いてデータの制御を行う様子を示す説明図である。 デュアルランク構成のSDRAMにおいて、CS#信号を用いてパリティまたはECCの制御を行う様子を示す説明図である。
以下、本発明の実施形態の好適な一例について図面に基づいて説明する。
<実施例1>
本実施形態の実施例1に係るメモリ装置の回路構成図が図8に示されている。図8に示す例は、2ランク構成であり、データバス幅が16ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)のSDRAMデバイス100d−1、100d−2、100d−3を使用している。
図8に示すように、SDRAMデバイス100d−1はデータの下位8ビットであり、SDRAMデバイス100d−2は、データの上位8ビットである。双方あわせて、16ビット幅のデータを実現している。SDRAMデバイス100d−1、100d−2にはDQMLと、DQMHの2種類のデータマスク信号端子が備えられている。RANK0を示すデータマスク信号であるDQM0−114aと、RANK1を示すデータマスク信号であるDQM1−114bと、の2種のデータマスク信号が、それぞれDQML、DQMHに印加されている。
このような構成によって、DQM0−114aがネゲートされた時には、各SDRAMデバイス100d−1、100d−2の下位8ビットが出力(または入力)され、これがBANK0を表す。一方、DQM1−114bがネゲートされた時には、各SDRAMデバイス100d−1、100d−2の上位8ビットが出力(または入力)され、これがBANK1を表す。
パリティ/ECCを受け持つSDRAMデバイス100d−3についても同様であり、DQM0−114aがネゲートされた時には、SDRAMデバイス100d−3の下位8ビットが出力(または入力)され、これがBANK0のパリティ/ECCを表す。一方、DQM1−114bがネゲートされた時には、SDRAMデバイス100d−3の上位8ビットが出力(または入力)され、これがBANK1のパリティ/ECCを表す。パリティ/ECCは、8ビット(またはそれ以下)であるので、データ幅16ビット(x16)構成のSDRAMデバイス100d−3で、BANK0と、BANK1の双方を受け持つことができる。
<実施例2>
本実施形態の実施例2に係るメモリ装置の回路構成図が図9に示されている。図9に示す例は、実施例1と同様に、2ランク構成であり、データバス幅が16ビットの例である。また、パリティ/ECCは、8ビット以下である。また、データ幅16ビット(x16)のSDRAMデバイス100e−1、100e−2、100e−3を使用している。
図9に示すように、SDRAMデバイス100e−1は、DQMLとDQMHとの2種類のデータマスク信号端子が備えられており、共に、RANK0を示すデータマスク信号であるDQM0−114aが印加されている。すなわち、SDRAMデバイス100e−1は、RANK0のデータを受け持っている。
SDRAMデバイス100e−2も、DQMLとDQMHとの2種類のデータマスク信号端子が備えられており、共に、RANK1を示すデータマスク信号であるDQM1−114bが印加されている。すなわち、SDRAMデバイス100e−2は、RANK1のデータを受け持っている。
SDRAMデバイス100e−1、100e−2もデータ幅16ビット(x16)のデバイスであり、単独で16ビットのデータバス幅を受け持つことができる。
また、パリティ/ECCを受け持つSDRAMデバイス100e−3の接続構成は、実施例1(図8)のSDRAMデバイス100d−3と同様であるので説明を省略する。
この実施例2は、SDRAMデバイス100を3個用いて、2ランク構成のマルチランクSDRAMのメモリ装置を構成することができる。この構成からSDRAMデバイス100e−2を除去すれば、それは明らかに、1ランクのSDRAMのメモリ装置である。
したがって、図9を実現する場合に作成したプリント配線板を用いて、2ランク構成のメモリ装置と、1ランク構成のメモリ装置とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、1ランク構成と、2ランク構成との双方に対応することが可能である。
<実施例3>
本実施形態の実施例3に係るメモリ装置の回路構成図が図10A、図10Bに示されている。図10A、図10Bに示す例は、2ランク構成であり、データバス幅が32ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)構成のSDRAMデバイス100f−1、100f−2、100f−3、100f−4、100f−5を使用している。
要するに、実施例3は、実施例8の構成のデータ部分の回路を2倍にして、データバス幅を2倍の32ビットに拡張した構成である。すなわち、各SDRAMデバイス100fは、その下位8ビットがRANK0であり、上位8ビットがRANK1である。そして、4個のSDRAMデバイス100f−1、100f−2、100f−3、100f−4が、それぞれ、データを8ビットずつ受持ち、4個合わせて32ビットのデータバス幅を実現している。
図10A、図10Bに示すように、SDRAMデバイス100d−1はデータの最下位8ビットであり、SDRAMデバイス100d−2は、データの下から2番目の8ビットである。また、SDRAMデバイス100d−4はデータの最上位8ビットであり、SDRAMデバイス100d−3は、データの上から2番目の8ビットを受け持っている。
4個のSDRAMデバイス100fには、DQMLとDQMHとの2種類のデータマスク信号端子が備えられている。RANK0を示すデータマスク信号であるDQM0−114aと、RANK1を示すデータマスク信号であるDQM1−114bと、の2種のデータマスク信号が、それぞれDQML、DQMHに印加されている。
このような構成によって、DQM0−114aがネゲートされた時には、各SDRAMデバイス100f−1、100f−2、100f−3、100f−4の下位8ビットが出力(または入力)され、これがBANK0を表す。一方、DQM1−114bがネゲートされた時には、各SDRAMデバイス100f−1、100f−2、100f−3、100f−4の上位8ビットが出力(または入力)され、これがBANK1を表す。
パリティ/ECCを受け持つSDRAMデバイス100f−5の接続構成は、実施例1のSDRAMデバイス100d−3、実施例2のSDRAMデバイス100e−3と同様であるので説明を省略する。
<実施例4>
本実施形態の実施例4に係るメモリ装置の回路構成図が図11A、図11Bに示されている。図11A、図11Bに示す例は、2ランク構成であり、データバス幅が32ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)構成のSDRAMデバイス100g−1、100g−2、100g−3、100g−4、100g−5を使用している。
要するに、実施例4は、実施例3に対して、実施例2の構成を応用したものである。すなわち、実施例3が単一のSDRAMデバイスがRANK0RANK1の双方を受け持っているのに対して、実施例4は(実施例2と同様に)、SDRAMデバイスをRANK0のデバイスと、RANK1のデバイスとに分けたものである。このように、分けることによって、単にデバイスの数を減らすことによってランク数を減らすことも可能となり、柔軟性に富む回路構成が実現できる。
具体的には、データ幅16ビット(x16)のSDRAMデバイス100g-1と、100g-2には、DQMLとDQMHとの2種類のデータマスク信号端子が備えられている。両端子にともに、RANK0を示すデータマスク信号であるDQM0−114aが印加されており、RANK0を受け持つ。また、SDRAMデバイス100g-1が下位16ビット、SDRAMデバイス100g-3が上位16ビットをそれぞれ受け持っている。
同様に、データ幅16ビット(x16)のSDRAMデバイス100g-2と、100g-4とには、DQMLと、DQMHの2種類のデータマスク信号端子が備えられている。両端子にともに、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、RANK1を受け持つ。また、SDRAMデバイス100g-2が下位16ビット、SDRAMデバイス100g-4が上位16ビットをそれぞれ受け持っている。
このような構成によって、DQM0−114aがネゲートされた時には、各SDRAMデバイス100g−1、100g−3によって、RANK0のデータが出力(または入力)される。一方、DQM1−114bがネゲートされた時には、各SDRAMデバイス100g−2、100g−4によってRANK1のデータが出力(または入力)される。
パリティ/ECCを受け持つSDRAMデバイス100g-5の接続構成は、実施例3のSDRAMデバイス100f-5と同様であるので説明を省略する。
<実施例5>
本実施形態の実施例5に係るメモリ装置の回路構成図が図12A、図12B、図12C、図12Dに示されている。図12A〜図12Dに示す例は、2ランク構成であり、データバス幅が64ビットの例である。また、パリティ/ECCは、8ビット以下である。また、データ幅16ビット(x16)のSDRAMデバイス100h−1、100h−2、100h−3、100h−4、100h−5、100h−6、100h−7、100h−8、100h−9を使用している。
要するに、実施例5は、実施例3の構成のデータ部分の回路を2倍にして、データバス幅を2倍の64ビットに拡張した構成である。すなわち、実施例5に係るSDRAMデバイス100h−1、100h−2、100h−3、100h−4、100h−5の回路構成部分は、実施例3におけるSDRAMデバイス100f−1、100f−2、100f−3、100f−4、100f−5と、同様の回路構成である。
実施例5においては、さらに、実施例3におけるSDRAMデバイス100f−1、100f−2、100f−3、100f−4に係るデータ部分の回路構成と同様の回路構成であるSDRAMデバイス100h−6、100h−7、100h−8、100h−9を備えている。これらSDRAMデバイス100h−6、100h−7、100h−8、100h−9に対しても、同様に、DQM0−114a及びDQM1−114bが印加されており、それぞれのSDRAMデバイス100hがRANK0RANK1のデータを出力(または入力)する。
実施例5は、このような構成によって、データバス幅を2倍の64ビットに拡張したものであり、その動作は実施例1、実施例3と同様である。
また、パリティ/ECCを受け持つSDRAMデバイス100h−5の接続構成は、実施例1のSDRAMデバイス100d−3、実施例3のSDRAMデバイス100f−5と同様であるので説明を省略する。
<実施例6>
本実施形態の実施例6に係るメモリ装置の回路構成図が図13A、図13B、図13C、図13Dに示されている。図13A〜図13Dに示す例は、2ランク構成であり、データバス幅が64ビットの例である。また、パリティ/ECCは、8ビット以下である。また、データ幅16ビット(x16)のSDRAMデバイス100i−1、100i−2、100i−3、100i−4、100i−5を使用している。
要するに、実施例6は、実施例5に対して、実施例2(実施例4)の構成を応用したものである。すなわち、実施例5が単一のSDRAMデバイスがRANK0RANK1の双方を受け持っているのに対して、実施例6は(実施例2(実施例4)と同様に)、SDRAMデバイスをRANK0のデバイスと、RANK1のデバイスとに分けたものである。このように、分けることによって、単にデバイスの数を減らすことによってランク数を減らすことも可能となり、柔軟性に富む回路構成が実現できる。
具体的には、データ幅16ビット(x16)のSDRAMデバイス100i−1、100i−3、100i−6、100i−8には、DQMLとDQMHとの2種類のデータマスク信号端子が備えられている。両端子にともに、RANK0を示すデータマスク信号であるDQM0−114aが印加されており、RANK0を受け持つ。
同様に、データ幅16ビット(x16)のSDRAMデバイス100i−2、100i−4、100i−7、100i−9には、DQMLと、DQMHの2種類のデータマスク信号端子が備えられている。両端子にともに、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、RANK1を受け持つ。
このような構成によって、DQM0−114aがネゲートされた時には、各SDRAMデバイス100i−1、100i−3、100i−6、100i−8によって、RANK0のデータが出力(または入力)される。一方、DQM1−114bがネゲートされた時には、各SDRAMデバイス100i−2、100i−4、100i−7、100i−9によってRANK1のデータが出力(または入力)される。
パリティ/ECCを受け持つSDRAMデバイス100i−5の接続構成は、実施例4のSDRAMデバイス100g−5と同様であるので説明を省略する。
このような構成によれば、SDRAMデバイス100iを9個用いて2ランク構成のマルチランクSDRAMのメモリ装置を構成することができる。そして、そこから、4個のSDRAMデバイス(100i−2・4・7・9)を外せば、容易に1ランクのメモリ装置を構成することができる。すなわち、本実施例6の構成を実現するプリント配線板と同一のプリント配線板を用いて、SDRAMデバイス100の個数を減少させるだけで、2ランクから1ランクのメモリ装置を簡単に構成することができる。
<実施例7>
本実施形態の実施例7に係るメモリ装置の回路構成図が図14A、図14B、図14C、図14D、図14E、図14F、図14G、図14Hに示されている。図14A〜図14Hに示す例は、4ランク構成であり、データバス幅が64ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)構成のSDRAMデバイス100j−1、100j−2、100j−3、100j−4、100j−5、100j−6、100j−7、100j−8、100j−9、100j−10、100j−11、100j−12、100j−13、100j−14、100j−15、100j−16、100j−17、100j−18を使用している。
本実施例7は、実施例1〜6と異なり、ランク数=4の構成である。基本的には、上述した実施例6(ランク数=2)の構成を4ランクに拡張したものである。このような拡張をするために、4種のデータマスク信号DQM0−114a、DQM1-114b、DQM2-114c、DQM3-114dを用いており、それぞれが順番に、RANK0RANK1RANK3RANK4に対応する。
具体的には、データ幅16ビット(x16)のSDRAMデバイス100j−1、100j−7、100j−11、100j−15には、DQMLとDQMHとの2種類のデータマスク信号端子が備えられている。両端子にともに、RANK0を示すデータマスク信号であるDQM0−114aが印加されており、RANK0を受け持つ。
同様に、データ幅16ビット(x16)のSDRAMデバイス100j−2、100j−8、100j−12、100j−16のDQMLと、DQMHの2種類のデータマスク信号端子に、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、RANK1を受け持つ。
同様に、データ幅16ビット(x16)のSDRAMデバイス100j−3、100j−9、100j−13、100j−17のDQMLとDQMHとの2種類のデータマスク信号端子に、RANK2を示すデータマスク信号であるDQM2−114cが印加されており、RANK2を受け持つ。
同様に、データ幅16ビット(x16)のSDRAMデバイス100j−4、100j−10、100j−14、100j−18のDQMLとDQMHとの2種類のデータマスク信号端子に、RANK3を示すデータマスク信号であるDQM3−114dが印加されており、RANK3を受け持つ。
このような構成によって、DQM0−114aがネゲートされた時には、各SDRAMデバイス100j−1、100j−7、100j−11、100j−15によって、RANK0のデータが出力(または入力)される。一方、DQM1−114bがネゲートされた時には、各SDRAMデバイス100j−2、100j−8、100j−12、100j−16によってRANK1のデータが出力(または入力)される。
また、このような構成によって、DQM2−114cがネゲートされた時には、各SDRAMデバイス100j−3、100j−9、100j−13、100j−17によって、RANK2のデータが出力(または入力)される。他方、DQM1−114dがネゲートされた時には、各SDRAMデバイス100j−4、100j−10、100j−14、100j−18によってRANK3のデータが出力(または入力)される。
パリティ/ECCを受け持つSDRAMデバイス100j−5、100j−6の接続構成は、実施例6のSDRAMデバイス100i−5と同様であるが、2ランクの実施例1〜6と異なり、4ランク分必要となるため、SDRAMデバイス100j−5に加えて、SDRAMデバイス100j−6が備えられている点が、実施例1〜6とは異なる。
実施例6では、単一のSDRAMデバイス100i−5がRANK0と、RANK1とを受け持っている。これに対して、本実施例7では、SDRAMデバイス100j−5がRANK0と、RANK1のパリティ/ECCとを受け持つために、データマスク信号であるDQM0−114a、DQM1−114bが印加されている。さらに、実施例7では、SDRAMデバイス100j−6がRANK2と、RANK3とを受け持つために、データマスク信号であるDQM2−114c、DQM3−114dが印加されている。
このような構成によれば、SDRAMデバイス100jを18個用いて4ランク構成のマルチランクSDRAMのメモリ装置を構成することができる。そして、そこから、4個のSDRAMデバイス(100j−4・10・14・18)を外せば、容易に1ランク減らせる。すなわち、SDRAMデバイス100jを14個(100j−1・2・3・5・6・7・8・9・11・12・13・15・16・17)用いて、3ランク構成のメモリ装置を構成することができる。同様に、SDRAMデバイス100jを9個(100j−1・2・5・7・8・11・12・15・16)用いて、2ランク構成のメモリ装置を構成することができる(実施例6と同様)。また、同様に、SDRAMデバイス100jを5個(100j−1・5・7・11・15)用いて、1ランク構成のメモリ装置を構成することができることは、実施例6で述べたとおりである。
これまでの説明と同様に、本実施例7の構成を実現するプリント配線板と同一のプリント配線板を用いて、SDRAMデバイス100jの個数を減少させるだけで、4ランクから1ランクのメモリ装置を簡単に構成することができる。
<実施例8>
本実施形態の実施例8に係るメモリ装置の回路構成図が図15A、図15B、図15Cに示されている。図15A〜図15Cに示す例は、実施例2と同様に、2ランク構成であり、3個のSDRAMデバイス200a−1、200a−2、200a−3から構成される。ただし、実施例2と異なり、データバス幅が2倍の32ビットとなり、また、パリティ/ECCも、2倍の16ビット以下である。
要するに、本実施例8は、実施例2のビット幅を、データも、パリティ/ECC(の上限)も2倍にしたメモリ装置である。本実施例8においては、ビット幅を2倍にするために、実施例2と異なり、倍の32ビット(x32)のSDRAMデバイス200a−1、200a−2、200a−3を使用している。
また、図15A〜図15Cに示すように、SDRAMデバイス200a−1〜200a−3は、DQM0〜3の4種類のデータマスク信号端子を備えており、32ビットのデータを8ビットごとにマスクすることができる。
本実施例8においては、SDRAMデバイス200a−1には、端子DQM0〜DQM3のすべてに、RANK0を示すデータマスク信号であるDQM0−114aが印加されており、RANK0のデータを受け持っている。
SDRAMデバイス200a−2にも、DQM0〜DQM3の4種類の端子が備えられている。すべての端子に、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、SDRAMデバイス200a−2は、RANK1のデータを受け持っている。
また、パリティ/ECCを受け持つSDRAMデバイス200a−3の接続構成は、実施例2(図9)のSDRAMデバイス200a−3と同様であるが、ビット幅が16ビットから32ビットに増加した点が異なる。このSDRAMデバイス200a−3には、上記SDRAMデバイス200a−1等と同様に、データマスク信号が印加される4種の端子DQM0〜DQM3がある。下位のDQM0〜DQM1には、RANK0を示すデータマスク信号であるDQM0−114aが印加されており、下位の16ビットが、RANK0のパリティ/ECCのビットとなる。また、上位のDQM2〜DQM3には、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、上位の16ビットが、RANK1のパリティ/ECCのビットとなる。
この実施例8は、SDRAMデバイス200aを3個用いて、2ランク構成のマルチランクSDRAMのメモリ装置を構成することができる。この構成からSDRAMデバイス200a−2を除去すれば、それは明らかに、1ランクのSDRAMのメモリ装置である。したがって、図15Aから図15Cを実現する場合に作成したプリント配線板を用いて、2ランク構成のメモリ装置(SDRAMデバイス200aを3個使用)と、1ランク構成のメモリ装置(SDRAMデバイス200aを2個使用)とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、1ランク構成と、2ランク構成との双方に対応することが可能である。この点は、実施例2等と同様である。
<実施例9>
本実施形態の実施例9に係るメモリ装置の回路構成図が図16A、図16B、図16C、図16Dに示されている。図16A〜図16Dに示す例は、4ランク構成であり、データバス幅が32ビットの例である。また、パリティ/ECCは、8ビット以下である。また、32ビット(x32)構成のSDRAMデバイス200b−1、200b−2、200b−3、200b−4、200b−5を使用している。
要するに、実施例9は、実施例8に対して、ランクを2から4に増やした構成である。ただし、パリティ/ECCは、ビット幅を16ビット以下から8ビット以下に削減している。この結果、データに対応するSDRAMデバイス200bは、200b−1、200b−2、200b−3、200b−4の4個となり、実施例8に比べて2倍必要であるが、実施例8と同様に、パリティ/ECCを受け持つSDRAMデバイス200b−5は一個のままである。
要するに4ランク構成とするために、ランクごとに、対応するSDRAMデバイス200bは、200b−1、200b−2、200b−3、200b−4を設けて、それぞれ対応するデータマスク信号、DQM0−144a、DQM1−144b、DQM2−144c、DQM3−144dを、対応する各SDRAMデバイス200b−1、200b−2、200b−3、200b−4に接続したものである。
これによって、いずれかのランクが選択された場合には、その選択されたランクに対応するSDRAMデバイス200bのデータが出力(入力)される。
パリティ/ECCを受け持つSDRAMデバイス200b−5には、4種のデータマスク信号であるDQM0〜DAM3が、4種類の端子DQM0〜DQM3にそれぞれ印加されている。この結果、いずれかのデータマスク信号がネゲートされることによって、32ビットのデータ幅のうち、いずれか8ビットデータがパリティ/ECCとして出力(入力)される。なお、SDRAMデバイス200bは、32ビット幅のデータ幅を有しており、その32ビットのデータは、8ビット4つに分けられている。そして、それぞれの8ビットについてのデータマスク信号が印加される端子が、4種類の端子DQM0〜DQM3である。したがって、いずれかのデータマスク信号がネゲートされれば、それに対応した8ビットのデータが、パリティ/ECCとして利用されうる。
また、このように、ランクごとに、SDRAMデバイス200bを備えているのでSDRAMデバイス200bの個数を調整すれば、任意のランク数のメモリ装置を容易に構成することができる。すなわち、本実施例9では、SDRAMデバイス200bを5個用いて4ランク構成のメモリ装置を構成したが、SDRAMデバイス200bを4個(200b−1・2・3・5)用いれば3ランク構成のメモリ装置を構成でき、SDRAMデバイス200bを3個(200b−1・2・5)用いれば2ランク構成のメモリ装置(実施例8と同様)を構成でき、SDRAMデバイス200bを2個(200b−1・5)用いれば1ランク構成のメモリ装置(実施例8と同様)を容易に構成することができる。また、本実施例9を構成するのに用いたプリント配線板と同一のプリント配線板を用いて、1〜4ランクのメモリ装置を容易に構成することが可能である。
<実施例10>
本実施形態の実施例10に係るメモリ装置の回路構成図が図15A、図15B、図15C、図17A、図17Bに示されている。本実施例10に示す例は、2ランク構成であり、データバス幅が64ビットの例である。また、パリティ/ECCは、16ビット以下である。また、32ビット(x32)構成のSDRAMデバイス200a−1、200a−2、200a−3、200c−1、200c−2を使用している。
要するに、本実施例10は、実施例8に対して、データバス幅を2倍の64ビットに拡張したものである。そのため、上述したように、図15A、図15B、図15Cの部分の回路構成は、実施例8と同様である。本実施例10は、その実施例8の構成のデータ部分に関する回路構成である図17A、図17Bに係る構成を追加して、ビット幅を64ビット幅にしたメモリ装置である。なお、パリティ/ECCの構成は実施例8と同様であり、その説明を省略する。したがって、本実施例10の動作は、実施例8と実質的に同様であり、メモリ装置全体の動作説明を省略する。
このように、本実施例10においては、SDRAMデバイス200を5個用いて2ランク構成のメモリ装置を構成しているが、明らかに、SDRAMデバイス200を3個(200a−1・3と200c−1)用いれば1ランク構成のメモリ装置を構成することができる。したがって、図15A、図15B、図15C、図17A、図17Bを実現する場合に作成したプリント配線板を用いて、2ランク構成のメモリ装置(SDRAMデバイス200を5個使用)と、1ランク構成のメモリ装置(SDRAMデバイス200を3個使用)とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、1ランク構成と、2ランク構成との双方に対応することが可能である。
<実施例11>
本実施形態の実施例11に係るメモリ装置の回路構成図が図16A、図16B、図16C、図16D、図16E、図18A、図18B、図18C、図18Dに示されている。本実施例11に示す例は、4ランク構成であり、データバス幅が64ビットの例である。
また、パリティ/ECCは、8ビット以下である。また、データ幅32ビット(x32)のSDRAMデバイス200b−1、200b−2、200b−3、200b−4、200b−5、200d−1、200d−2、200d−3、200d−4を使用している。
要するに、本実施例11は、実施例9に対して、データバス幅を2倍の64ビットに拡張したものである。そのため、上述したように、図16A〜図16Eの部分の回路構成は、実施例9と同様である。本実施例11は、その実施例9の構成のデータ部分に関する回路構成である図18A〜図18Dに係る構成を追加して、ビット幅を64ビット幅にしたメモリ装置である。なお、パリティ/ECCの構成は実施例9と同様であり、その説明を省略する。したがって、本実施例10の動作は、実施例9と実質的に同様であり、メモリ装置全体の動作説明を省略する。
このように、本実施例9においては、SDRAMデバイス200を9個用いて4ランク構成のメモリ装置を構成しているが、明らかに、SDRAMデバイス200を7個(200b−1・2・3・5と200d−1・2・3)用いれば3ランク構成のメモリ装置を構成することができる。同様に、SDRAMデバイス200を5個(200b−1・2・5と200d−1・2)用いれば2ランク構成のメモリ装置を構成でき、SDRAMデバイス200を3個(200b−1・5と200d−1)用いれば1ランク構成のメモリ装置を容易に構成できる。また、本実施例11を構成するのに用いたプリント配線板と同一のプリント配線板を用いて、1〜4ランクのメモリ装置を容易に構成することが可能である。
<効果>
以上説明したように、本実施例によれば、CS#(チップセレクト信号)の代わりに、DQM(データマスク信号)を用いて、アクセス対象であるランクを選択している。この結果、データをマスクするか否かのみでデータ出力(入力)を制御しているので、より迅速にデータへアクセスすることができる。その結果、CS#を用いる場合に比べて、ランク間の競合を回避するためのウェイトの挿入をより抑制できる場合もあり、性能面での不利益が生じる可能性を減らすことができる。
また、例えば、下記のような構成の場合、パリティ/ECC用のSDRAMデバイスの個数をランク数よりも小さくすることができ、無駄の発生を抑制することができる。
(i)16ビット幅のSDRAMデバイスを用いて、8ビット以下のパリティ/ECCを実現する場合。
(ii)32ビット幅のSDRAMデバイスを用いて、8ビット以下のパリティ/ECCを実現する場合。
(iii)32ビット幅のSDRAMデバイスを用いて、16ビット以下のパリティ/ECCを実現する場合。
(iv)3ランク以上マルチランクメモリ装置を構成する場合であって、32ビット幅のSDRAMデバイスを用いて、24ビット以下のパリティ/ECCを実現する場合。
また、以上説明した構成のメモリ装置に対してDQM方式を適用することができるが、当該DQM方式は、SDRAMコントローラによって実行されてもよいし、SDRAMコントローラを兼ねるCPUによって実行されてもよい。
<特許文献との比較・検討>
(1)上述した特許文献1においては、電子装置の内部バスよりも広いバス幅を有したメモリモジュールを使用することができる技術が開示されている。そのために、データを特定する信号の一部をデコードして、マスク信号を生成しつつ、データ入出力端子に対するデータ入出力をセグメントに対して並列に行技術が開示されている(請求項1等)。
しかしながら、本実施形態においては、SDRAMデバイスを直接の制御対象としており、メモリ容量を増やすこと、性能を改善すること、等を目的としている。これに対して、特許文献1記載の技術は、メモリモジュールを制御の対象としており、バス幅の狭い機器に、バス幅の広いメモリモジュールを使用することを目的とする点で、本実施形態の技術と大きく異なる。
また、特許文献1においては、パリティやECCに関する記述は全くない。パリティ/ECC付きのメモリモジュールに関して、特許文献1の技術を適用することは困難である。一般的なパリティ/ECC付きのメモリモジュールのパリティ/ECC用データマスク信号は、1本しかないのが通例である。したがって、特許文献1の技術に基づく限り、セグメントを選択することは困難である。そのため、特許文献1の手法は、パリティ/ECCが付いていないメモリモジュールにのみ適用することができると考えられる。
これに対して、本実施形態の技術によれば、上述したように、特許文献1が対応できないパリティ/ECC付きのメモリモジュールとして具現化することができ、信頼性の高いメモリを実現可能である。
さらに、本実施形態の技術によれば、CS#(チップセレクト信号)による従来のマルチランク制御方式に比べてパリティ/ECC付きSDRAMデバイスの個数を減少させることができるとともに、メモリとしてのアクセス性能の向上を図ることが可能である。
(2)上述した特許文献2に記載の技術は、DQM信号(データマスク信号)を、アドレス線を使用してないタイミング(すなわち、CS#がネゲートされているタイミング)で、そのアドレス線を使用してデータマスク信号を送ろうとする技術である。その結果、データマスク信号の信号線を減少させることができるとされている。したがって、本実施形態の技術とは、その目的も、採用する技術的原理も、顕著に相違する。
特許文献2のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
(3)上述した特許文献3に記載の技術は、「CPU+SDRAM」の構成を2組SIPに収容する場合に、SDRAMのインターフェースを一本化するための技術である。本実施形態の技術とは、その目的も、採用する技術的原理も、顕著に相違する。特許文献3のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
10 CPU
12 SDRAMデバイス
14 SDRAMコントローラ
16 データ線
20a、20b、20c、20d SDRAMデバイス
22a DQM0
22b DQM1
100a、100b、100c、100d、100e、100f、100g、100h、100i、100j SDRAMデバイス
104 衝突
106 プロセッサーアドレス
108 アクティブコマンドアドレス
110 リードライトコマンドアドレス
112 ランクビット
114a、DQM0
114b DQM1
114c DQM2
114d DQM3
200a、200b、200c、200d SDRAMデバイス

Claims (6)

  1. 複数のSDRAMデバイスのデータバスを接続して構成されたマルチランクSDRAMの制御方法であって、
    前記複数のSDRAMデバイスのそれぞれに対して、アクセス対象であるランクのSDRAMデバイスに対するデータマスク信号のみネゲートすることによって、前記ランクへのアクセスを実行する、マルチランクSDRAM制御方法。
  2. 前記マルチランクSDRAMは、2の累乗のランク数で構成されており、前記マルチランクSDRAMのアドレスの下位ビットでランクの選択を実行する、請求項1記載のマルチランクSDRAM制御方法。
  3. 前記ランクの選択を行う下位ビットの一つ上のアドレスビット群を、前記複数のSDRAMデバイスのカラムアドレスとして用いる、請求項2記載のマルチランクSDRAM制御方法。
  4. 前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号である、請求項1から3のいずれか1項に記載のマルチランクSDRAM制御方法。
  5. 前記複数のSDRAMデバイスのうちの1個以上のSDRAMは、パリティ及び/又はECCビットのためのSDRAMデバイスである、請求項1から4のいずれか1項に記載のマルチランクSDRAM制御方法。
  6. 請求項1〜5のいずれか一項に記載のマルチランクSDRAM制御方法を実行するSDRAMコントローラ。
JP2017057033A 2017-03-23 2017-03-23 マルチランクsdram制御方法及びsdramコントローラ Active JP6370953B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017057033A JP6370953B1 (ja) 2017-03-23 2017-03-23 マルチランクsdram制御方法及びsdramコントローラ
CN201810229116.0A CN108628778A (zh) 2017-03-23 2018-03-20 多存储列sdram控制方法以及sdram控制器
DE102018204341.8A DE102018204341B4 (de) 2017-03-23 2018-03-21 Multi-rank-sdram-steuerverfahren und sdram-controller
US15/928,394 US10474393B2 (en) 2017-03-23 2018-03-22 Multi-rank SDRAM control method and SDRAM controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017057033A JP6370953B1 (ja) 2017-03-23 2017-03-23 マルチランクsdram制御方法及びsdramコントローラ

Publications (2)

Publication Number Publication Date
JP6370953B1 true JP6370953B1 (ja) 2018-08-08
JP2018160104A JP2018160104A (ja) 2018-10-11

Family

ID=63104427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017057033A Active JP6370953B1 (ja) 2017-03-23 2017-03-23 マルチランクsdram制御方法及びsdramコントローラ

Country Status (4)

Country Link
US (1) US10474393B2 (ja)
JP (1) JP6370953B1 (ja)
CN (1) CN108628778A (ja)
DE (1) DE102018204341B4 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200201562A1 (en) * 2018-12-20 2020-06-25 Nanya Technology Corporation Memory device, memory system and method of reading from memory device
EP4170659A4 (en) 2021-09-10 2023-08-16 Changxin Memory Technologies, Inc. SIGNAL SHIELD CIRCUIT AND SEMICONDUCTOR MEMORY

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11297085A (ja) * 1998-04-10 1999-10-29 Ricoh Co Ltd 半導体記憶装置
JP2008293413A (ja) * 2007-05-28 2008-12-04 Murata Mach Ltd 増設メモリのアクセス方法、電子装置、およびメモリモジュール
JP2009301415A (ja) * 2008-06-16 2009-12-24 Nec Corp メモリモジュール制御方法及びメモリモジュール並びにデータ転送装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3161384B2 (ja) * 1997-09-16 2001-04-25 日本電気株式会社 半導体記憶装置とそのアクセス方法
CN100433189C (zh) * 2004-08-09 2008-11-12 凌阳科技股份有限公司 同步动态随机存取存储器的数据交换电路与方法
US8619452B2 (en) * 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US7352602B2 (en) * 2005-12-30 2008-04-01 Micron Technology, Inc. Configurable inputs and outputs for memory stacking system and method
US20070260841A1 (en) * 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
JP5087870B2 (ja) 2006-07-12 2012-12-05 富士通セミコンダクター株式会社 半導体メモリ、コントローラおよび半導体メモリの動作方法
KR20090065504A (ko) * 2006-12-25 2009-06-22 파나소닉 주식회사 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법
US7840744B2 (en) * 2007-01-30 2010-11-23 International Business Machines Corporation Rank select operation between an XIO interface and a double data rate interface
JP2008276343A (ja) 2007-04-26 2008-11-13 Nec Electronics Corp 情報処理装置
US20120272013A1 (en) * 2011-04-25 2012-10-25 Ming-Shi Liou Data access system with at least multiple configurable chip select signals transmitted to different memory ranks and related data access method thereof
CN102497567B (zh) * 2011-12-06 2013-11-06 合肥工业大学 一种用于固态真三维体积式显示的体素数据重构方法
CN103150272B (zh) * 2013-03-21 2017-05-24 珠海市杰理科技股份有限公司 Sdram的数据存取电路及sdram的数据存取系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11297085A (ja) * 1998-04-10 1999-10-29 Ricoh Co Ltd 半導体記憶装置
JP2008293413A (ja) * 2007-05-28 2008-12-04 Murata Mach Ltd 増設メモリのアクセス方法、電子装置、およびメモリモジュール
JP2009301415A (ja) * 2008-06-16 2009-12-24 Nec Corp メモリモジュール制御方法及びメモリモジュール並びにデータ転送装置

Also Published As

Publication number Publication date
CN108628778A (zh) 2018-10-09
US20180275924A1 (en) 2018-09-27
US10474393B2 (en) 2019-11-12
DE102018204341B4 (de) 2020-03-19
DE102018204341A1 (de) 2018-09-27
JP2018160104A (ja) 2018-10-11

Similar Documents

Publication Publication Date Title
US9773531B2 (en) Accessing memory
US11646092B2 (en) Shared error check and correct logic for multiple data banks
JP5996781B2 (ja) Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
US7684258B2 (en) Semiconductor memory and controller with time-shared mode for row address, column address and data mask signals inputted via address terminals
US20120272013A1 (en) Data access system with at least multiple configurable chip select signals transmitted to different memory ranks and related data access method thereof
US7984319B2 (en) Memory bus shared system
US20140325105A1 (en) Memory system components for split channel architecture
JP4199658B2 (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
JP2008046989A (ja) メモリ制御装置
JP2013182635A (ja) 半導体装置及びこれを備える情報処理システム並びに半導体装置の制御方法
US7840744B2 (en) Rank select operation between an XIO interface and a double data rate interface
JP6370953B1 (ja) マルチランクsdram制御方法及びsdramコントローラ
TWI715114B (zh) 記憶體分時控制的方法及相關系統
US9837135B2 (en) Methods for addressing high capacity SDRAM-like memory without increasing pin cost
WO2014155592A1 (ja) Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
JP2013020678A (ja) 半導体記憶装置
US20140293726A1 (en) Memory controller and associated method for generating memory address
JP5040306B2 (ja) 記憶制御装置及び記憶制御方法
JP6487608B2 (ja) 半導体記憶装置
US20130097388A1 (en) Device and data processing system
US20230420039A1 (en) Memory chip and memory system including the same
JP4908565B2 (ja) メモリシステム
JP3563340B2 (ja) メモリコントローラ
JPH0836883A (ja) 半導体記憶装置
JP2010092342A (ja) インターフェース回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180711

R150 Certificate of patent or registration of utility model

Ref document number: 6370953

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150