JP6370953B1 - マルチランクsdram制御方法及びsdramコントローラ - Google Patents
マルチランクsdram制御方法及びsdramコントローラ Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1009—Data masking during input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0884—Parallel mode, e.g. in parallel with main memory or CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/108—Wide data ports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
Description
例えば、後述する特許文献1においては、メモリモジュール1の記憶手段2(64ビット幅のデータ入出力端子を有している)は、マスク信号(DQM0〜DQM7)に対応した各々8ビット幅のセグメントに区分けされたデータ入出力DQ0〜DQ7、DQ8〜DQ15、・・・を備えていることが示されている(特許文献1の図1、段落〔0012〕、〔0013〕)。また、アドレスの下位3ビットからマスク信号(DQM0〜DQM7)が生成されている(〔0017〕、図2)。
すなわち、SDRAMのアクセスしようとするバイトに対するDQM信号のみをネゲートして、データのリード・ライトを行う動作が開示されている。
DQMは、バイトレーン単位でリードやライトのデータをマスクすることを可能とする信号である。メモリがアイドル状態の場合には、アサート(データがマスクされている状態)されている。
なお、DDR(Double Data Rate)のSDRAMの場合には、このDQMに相当する信号は、DMという呼び名で呼ばれ、ライトのみをマスクすることができる信号である。本発明の対象は、典型的には、SDR(Single Data Rate)のSDRAMである。
図1には、データの観点からデュアルランク(Dual Rank、2ランク)のSDRAMを構成した場合の例が示されている。この図には、RANK0のSDARMデバイス100aと、RANK1にSDARMデバイス100bとが、そのデータ線が共通に接続され、2ランク構成のメモリを構成した例が示されている。
SDARMデバイス100a、100bは、16ビット(x16)のメモリであり、上位8ビットに対するデータマスク信号端子であるDQMHと、下位8ビットに対するデータマスク信号端子であるDQMLとが備えられている。
RANK1のSDRAMデバイス100bのDQML及びDQMHには、DQM1−114bが接続され、RANK1が選択される場合には、DQM1−114bがネゲートされ、DQMH、DQMLが共にネゲートされ、SDRAMデバイス100bのデータ線がアクティブとなり、RANK1に対するアクセスが行われる。
なお、この場合、CS#は全てアサートされ、両SDRAMデバイス100a、100bはともに動作状態である。
SDARMデバイス100cは、16ビット(x16)のメモリであり、上位8ビットに対するデータマスク信号端子であるDQMHと、下位8ビットに対するデータマスク信号端子であるDQMLとが備えられている。
Rank0 Command:RANK0に対するコマンド
Rank1 Command:RANK1に対するコマンド
DQM :RANK0とRANK1に共通のデータマスク信号
Rank0 Data :RANK0のデータ
Rank1 Data :RANK1のデータ
を表す。図3の横軸は時間であり、周期P1からp10に向かって時間が経過していくものとする。図3は、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、SDRAMはCASレイテンシ=2、バースト長=4を前提としている。
周期P2において、RANK0に対してREADコマンド(READ a)が発行される。同周期P2において、DQMがネゲートされ、データに対するアクセスが可能となる。ここでは、CASレンテンシ=2を前提としており、周期P4において、RANK0側のSDRAMはデータData a0をデータバス上に出力する。
周期P3において、DQMがアサートされる。このため、周期P5においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態となる。
周期P4において、DQMがアサートされ続ける。このため、周期P6においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期P5において、DQMがネゲートされるので、周期P7においてRANK0側のSDRAMはデータData a3をデータバス上に出力する。SDRAMのバースト長=4を前提としているので、RANK0のREADサイクル(READ a)は周期P7で完了する。
周期P6において、DQMがネゲートされ続ける。このため、周期P8においてRANK1側のSDRAMはデータData b1をデータバス上に出力する。
同じく周期P7において、DQMがネゲートされ続ける。このため、周期P9においてRANK1側のSDRAMはデータData b2をデータバス上に出力する。
周期P8においても、DQMはネゲートされ続ける。このため、周期P10においてRANK1側のSDRAMはデータData b4をデータバス上に出力する。SDRAMのバースト長=4を前提としているので、RANK1のREADサイクル(READ b)は周期P10で完了する。一方、RANK0側のSDRAMは周期P7でリードサイクルが完了しているので、周期P8以降はデータを出力せず、Hi-Z状態となる。
Command :RANK0とRANK1に共通のコマンド
Rank0 DQM :RANK0に対するデータマスク信号
Rank1 DQM :RANK1に対するデータマスク信号
Rank0 Data :RANK0のデータ
Rank1 Data :RANK1のデータ
を表す。図4の横軸は、図3と同様に時間であり、周期P1からp10に向かって時間が経過していくものとする。図4も、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、CASレイテンシ=2を前提としている。
周期P2において、両ランクに対してREADコマンド(READ a)が発行されるとともに、RANK0側のDQMがネゲートされる。ここでは、CASレンテンシ=2を前提としており、周期P4において、RANK0側のSDRAMはデータData a0をデータバス上に出力する。周期P2においてRANK1側のDQMがアサートされているので、周期P4においてRANK1側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期P3において、RANK0側のDQMがアサートされる。このため周期P5においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態となる。
同じく周期P3において、RANK1側のDQMがアサートされ続ける。このため周期P5においてRANK1側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
周期P5において、両ランクに対してREADコマンド(READ b)が発行されるとともに、RANK1側のDQMがネゲートされる。先行するREADサイクル(READ a)が未完了だが、SDRAMは後発のREADコマンド(READ b)を優先する。CASレンテンシ=2を前提としているので、周期P7において、RANK1側のSDRAMはデータData b0をデータバス上に出力する。一方、周期P5においてRANK0側のDQMはアサートされ続けているので、周期P7においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
同じく周期P6において、RANK1側のDQMがネゲートされ続けているので、周期P8においてRANK1側のSDRAMはデータData b1をデータバス上に出力する。
周期P7において、前述のとおり、RANK1側のSDRAMはデータData b0をデータバス上に出力するが、RANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持するので、データバス上で衝突は起こらない。
同じく周期P7において、RANK0側のDQMはアサートされ続ける。このため、周期P9においてRANK0側のSDRAMはデータを出力せず、Hi-Z状態を維持する。
同じく周期P7において、RANK1側のDQMはネゲートされ続ける。このため、周期P9においてRANK1側のSDRAMはデータData b2をデータバス上に出力する。
同じく周期P8において、RANK1側のDQMはネゲートされ続ける。このため、周期P10においてRANK1側のSDRAMはデータData b3をデータバス上に出力する。
SDRAMのバースト長=4を前提としているので、両ランクのREADサイクル(READ b)は周期P10で完了する。
以上のような動作となるので、RANK0側のコマンドと、RANK1側のコマンドとが連続して発行される場合でも、その間の時間間隔をCS#方式に比べて短くすることができ、CS#方式に比べて性能の改善が図られる。
以上、本発明の原理を、図1、図2、図3、図4に基づき説明した。
ランクの選択は、アドレスからランクを求めることがよく、どのビット(群)がランクを表してもよい。原則として自由にアドレスとランクの関係を規定することができる。ただし、例えば、下記のようなアドレスとランクとの関係を規定してもよい。
例1:m=5、r=1、N=32の場合には、最大バースト長アクセスサイズが、32バイト(=25)となり、2(=21)ランク構成で、32ビットアドレス[31:0]中のビット[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の値で場合分けすれば、下記のとおりである。
例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]がカラムアドレスとなる。
なお、これらの構成を採用する場合には、バンクアドレスと、ロウアドレスとは、カラムアドレスよりも上位のビット群とすることができる。
具体的なアドレスの割り当ての例を3例示す。
図5は、シングルランクの場合のアドレスの関係を説明する説明図である。図5は、データバス幅が64ビットであり、バースト長が4、個々のSDRAMデバイスが容量128Mbit以上のデバイスである場合の例である。
同図において、プロセッサーアドレス106は、32ビットからなるアドレスである。その下位12ビットがページサイズを表し、4KBである。
図6に示す例では、2ランク構成であるので、ページサイズが、図5より2倍になり、8KBとなる。
本発明の具体的な態様は後述する実施形態で詳細に説明する。本発明が採用する具体的な手段は、以下の通りである。
本実施形態の実施例1に係るメモリ装置の回路構成図が図8に示されている。図8に示す例は、2ランク構成であり、データバス幅が16ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)のSDRAMデバイス100d−1、100d−2、100d−3を使用している。
本実施形態の実施例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−1、100e−2もデータ幅16ビット(x16)のデバイスであり、単独で16ビットのデータバス幅を受け持つことができる。
この実施例2は、SDRAMデバイス100を3個用いて、2ランク構成のマルチランクSDRAMのメモリ装置を構成することができる。この構成からSDRAMデバイス100e−2を除去すれば、それは明らかに、1ランクのSDRAMのメモリ装置である。
したがって、図9を実現する場合に作成したプリント配線板を用いて、2ランク構成のメモリ装置と、1ランク構成のメモリ装置とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、1ランク構成と、2ランク構成との双方に対応することが可能である。
本実施形態の実施例3に係るメモリ装置の回路構成図が図10A、図10Bに示されている。図10A、図10Bに示す例は、2ランク構成であり、データバス幅が32ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)構成のSDRAMデバイス100f−1、100f−2、100f−3、100f−4、100f−5を使用している。
4個のSDRAMデバイス100fには、DQMLとDQMHとの2種類のデータマスク信号端子が備えられている。RANK0を示すデータマスク信号であるDQM0−114aと、RANK1を示すデータマスク信号であるDQM1−114bと、の2種のデータマスク信号が、それぞれDQML、DQMHに印加されている。
パリティ/ECCを受け持つSDRAMデバイス100f−5の接続構成は、実施例1のSDRAMデバイス100d−3、実施例2のSDRAMデバイス100e−3と同様であるので説明を省略する。
本実施形態の実施例4に係るメモリ装置の回路構成図が図11A、図11Bに示されている。図11A、図11Bに示す例は、2ランク構成であり、データバス幅が32ビットの例である。また、パリティ/ECCは、8ビット以下である。また、16ビット(x16)構成のSDRAMデバイス100g−1、100g−2、100g−3、100g−4、100g−5を使用している。
パリティ/ECCを受け持つSDRAMデバイス100g-5の接続構成は、実施例3のSDRAMデバイス100f-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を使用している。
また、パリティ/ECCを受け持つSDRAMデバイス100h−5の接続構成は、実施例1のSDRAMデバイス100d−3、実施例3のSDRAMデバイス100f−5と同様であるので説明を省略する。
本実施形態の実施例6に係るメモリ装置の回路構成図が図13A、図13B、図13C、図13Dに示されている。図13A〜図13Dに示す例は、2ランク構成であり、データバス幅が64ビットの例である。また、パリティ/ECCは、8ビット以下である。また、データ幅16ビット(x16)のSDRAMデバイス100i−1、100i−2、100i−3、100i−4、100i−5を使用している。
同様に、データ幅16ビット(x16)のSDRAMデバイス100i−2、100i−4、100i−7、100i−9には、DQMLと、DQMHの2種類のデータマスク信号端子が備えられている。両端子にともに、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、RANK1を受け持つ。
このような構成によれば、SDRAMデバイス100iを9個用いて2ランク構成のマルチランクSDRAMのメモリ装置を構成することができる。そして、そこから、4個のSDRAMデバイス(100i−2・4・7・9)を外せば、容易に1ランクのメモリ装置を構成することができる。すなわち、本実施例6の構成を実現するプリント配線板と同一のプリント配線板を用いて、SDRAMデバイス100の個数を減少させるだけで、2ランクから1ランクのメモリ装置を簡単に構成することができる。
本実施形態の実施例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を使用している。
同様に、データ幅16ビット(x16)のSDRAMデバイス100j−2、100j−8、100j−12、100j−16のDQMLと、DQMHの2種類のデータマスク信号端子に、RANK1を示すデータマスク信号であるDQM1−114bが印加されており、RANK1を受け持つ。
同様に、データ幅16ビット(x16)のSDRAMデバイス100j−4、100j−10、100j−14、100j−18のDQMLとDQMHとの2種類のデータマスク信号端子に、RANK3を示すデータマスク信号であるDQM3−114dが印加されており、RANK3を受け持つ。
パリティ/ECCを受け持つSDRAMデバイス100j−5、100j−6の接続構成は、実施例6のSDRAMデバイス100i−5と同様であるが、2ランクの実施例1〜6と異なり、4ランク分必要となるため、SDRAMデバイス100j−5に加えて、SDRAMデバイス100j−6が備えられている点が、実施例1〜6とは異なる。
これまでの説明と同様に、本実施例7の構成を実現するプリント配線板と同一のプリント配線板を用いて、SDRAMデバイス100jの個数を減少させるだけで、4ランクから1ランクのメモリ装置を簡単に構成することができる。
本実施形態の実施例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を使用している。
本実施例8においては、SDRAMデバイス200a−1には、端子DQM0〜DQM3のすべてに、RANK0を示すデータマスク信号であるDQM0−114aが印加されており、RANK0のデータを受け持っている。
また、パリティ/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のビットとなる。
本実施形態の実施例9に係るメモリ装置の回路構成図が図16A、図16B、図16C、図16Dに示されている。図16A〜図16Dに示す例は、4ランク構成であり、データバス幅が32ビットの例である。また、パリティ/ECCは、8ビット以下である。また、32ビット(x32)構成のSDRAMデバイス200b−1、200b−2、200b−3、200b−4、200b−5を使用している。
これによって、いずれかのランクが選択された場合には、その選択されたランクに対応するSDRAMデバイス200bのデータが出力(入力)される。
本実施形態の実施例10に係るメモリ装置の回路構成図が図15A、図15B、図15C、図17A、図17Bに示されている。本実施例10に示す例は、2ランク構成であり、データバス幅が64ビットの例である。また、パリティ/ECCは、16ビット以下である。また、32ビット(x32)構成のSDRAMデバイス200a−1、200a−2、200a−3、200c−1、200c−2を使用している。
本実施形態の実施例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を使用している。
以上説明したように、本実施例によれば、CS#(チップセレクト信号)の代わりに、DQM(データマスク信号)を用いて、アクセス対象であるランクを選択している。この結果、データをマスクするか否かのみでデータ出力(入力)を制御しているので、より迅速にデータへアクセスすることができる。その結果、CS#を用いる場合に比べて、ランク間の競合を回避するためのウェイトの挿入をより抑制できる場合もあり、性能面での不利益が生じる可能性を減らすことができる。
(i)16ビット幅のSDRAMデバイスを用いて、8ビット以下のパリティ/ECCを実現する場合。
(ii)32ビット幅のSDRAMデバイスを用いて、8ビット以下のパリティ/ECCを実現する場合。
(iii)32ビット幅のSDRAMデバイスを用いて、16ビット以下のパリティ/ECCを実現する場合。
(iv)3ランク以上のマルチランクメモリ装置を構成する場合であって、32ビット幅のSDRAMデバイスを用いて、24ビット以下のパリティ/ECCを実現する場合。
(1)上述した特許文献1においては、電子装置の内部バスよりも広いバス幅を有したメモリモジュールを使用することができる技術が開示されている。そのために、データを特定する信号の一部をデコードして、マスク信号を生成しつつ、データ入出力端子に対するデータ入出力をセグメントに対して並列に行う技術が開示されている(請求項1等)。
しかしながら、本実施形態においては、SDRAMデバイスを直接の制御対象としており、メモリ容量を増やすこと、性能を改善すること、等を目的としている。これに対して、特許文献1記載の技術は、メモリモジュールを制御の対象としており、バス幅の狭い機器に、バス幅の広いメモリモジュールを使用することを目的とする点で、本実施形態の技術と大きく異なる。
これに対して、本実施形態の技術によれば、上述したように、特許文献1が対応できないパリティ/ECC付きのメモリモジュールとして具現化することができ、信頼性の高いメモリを実現可能である。
特許文献2のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
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)
- 複数のSDRAMデバイスのデータバスを接続して構成されたマルチランクSDRAMの制御方法であって、
前記複数のSDRAMデバイスのそれぞれに対して、アクセス対象であるランクのSDRAMデバイスに対するデータマスク信号のみネゲートすることによって、前記ランクへのアクセスを実行する、マルチランクSDRAM制御方法。 - 前記マルチランクSDRAMは、2の累乗のランク数で構成されており、前記マルチランクSDRAMのアドレスの下位ビットでランクの選択を実行する、請求項1記載のマルチランクSDRAM制御方法。
- 前記ランクの選択を行う下位ビットの一つ上のアドレスビット群を、前記複数のSDRAMデバイスのカラムアドレスとして用いる、請求項2記載のマルチランクSDRAM制御方法。
- 前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号である、請求項1から3のいずれか1項に記載のマルチランクSDRAM制御方法。
- 前記複数のSDRAMデバイスのうちの1個以上のSDRAMは、パリティ及び/又はECCビットのためのSDRAMデバイスである、請求項1から4のいずれか1項に記載のマルチランクSDRAM制御方法。
- 請求項1〜5のいずれか一項に記載のマルチランクSDRAM制御方法を実行するSDRAMコントローラ。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3161384B2 (ja) * | 1997-09-16 | 2001-04-25 | 日本電気株式会社 | 半導体記憶装置とそのアクセス方法 |
CN100433189C (zh) * | 2004-08-09 | 2008-11-12 | 凌阳科技股份有限公司 | 同步动态随机存取存储器的数据交换电路与方法 |
WO2007028109A2 (en) * | 2005-09-02 | 2007-03-08 | Metaram, 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 | 富士通セミコンダクター株式会社 | 半導体メモリ、コントローラおよび半導体メモリの動作方法 |
JP4996626B2 (ja) * | 2006-12-25 | 2012-08-08 | パナソニック株式会社 | メモリ制御装置、およびメモリ制御方法 |
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的数据存取系统 |
-
2017
- 2017-03-23 JP JP2017057033A patent/JP6370953B1/ja active Active
-
2018
- 2018-03-20 CN CN201810229116.0A patent/CN108628778A/zh active Pending
- 2018-03-21 DE DE102018204341.8A patent/DE102018204341B4/de active Active
- 2018-03-22 US US15/928,394 patent/US10474393B2/en active Active
Patent Citations (3)
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 |
---|---|
US10474393B2 (en) | 2019-11-12 |
DE102018204341A1 (de) | 2018-09-27 |
JP2018160104A (ja) | 2018-10-11 |
CN108628778A (zh) | 2018-10-09 |
DE102018204341B4 (de) | 2020-03-19 |
US20180275924A1 (en) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9773531B2 (en) | Accessing memory | |
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 | |
US11646092B2 (en) | Shared error check and correct logic for multiple data banks | |
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 |