JP2021039447A - メモリコントローラおよびメモリコントローラで実施される方法 - Google Patents
メモリコントローラおよびメモリコントローラで実施される方法 Download PDFInfo
- Publication number
- JP2021039447A JP2021039447A JP2019158934A JP2019158934A JP2021039447A JP 2021039447 A JP2021039447 A JP 2021039447A JP 2019158934 A JP2019158934 A JP 2019158934A JP 2019158934 A JP2019158934 A JP 2019158934A JP 2021039447 A JP2021039447 A JP 2021039447A
- Authority
- JP
- Japan
- Prior art keywords
- dram
- command
- request
- issuing
- memory controller
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 17
- 230000008685 targeting Effects 0.000 claims description 5
- 238000010926 purge Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000003384 imaging method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- 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
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0658—Controller construction arrangements
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
Description
(1)1アクセス単位のデータをDRAMセルから読み出す
(2)読み出したデータをデータマスク信号に基づき書き込みデータで更新する
(3)更新したデータを書込む
図1は、第一の実施の形態に係るメモリコントローラ1を備える画像処理装置200のハードウエア構成を示す図である。画像処理装置200は例えばスマートフォンなどの小型電子機器である。画像処理装置200は、被写体を撮像し、リアルタイムでモニタに表示させる機能を有する。なお、以下では第一の実施の形態に係るメモリコントローラ1が画像処理装置200に搭載される場合について説明する。しかしながら、当該メモリコントローラ1はデジタルカメラ等などの電子機器一般に広く搭載されうることは、本明細書に触れた当業者には明らかである。
(a)リクエスト種別フィールド
当該エントリ31に格納したDRAMリクエスト101の種別を示す。
種別の例
WRITE DRAMリクエスト101がライト(データの書き込み)
READ DRAMリクエスト101がリード(データの読み込み)
(b)対象バンクフィールド
当該エントリ31に格納したDRAMリクエスト101が対象とするバンクの番号
(c)対象ページフィールド
当該エントリ31に格納したDRAMリクエスト101が対象とするページの番号
(d)MWRFフィールド
当該エントリ31に格納したDRAMリクエスト101がMWRコマンドを使用するか否かを示すフラグ
1’b1:MWRコマンドを使用、1’b0:MWRコマンドは不使用
(a)cmd 発行したDRAMコマンド
(b)bank 発行したDRAMコマンドの対象バンク
(c)page 発行したDRAMコマンドの対象ページ
(a)ref(k) バンクkが、リフレッシュ動作中であるか否かを示す
1’b1:リフレッシュ動作中
1’b0:非リフレッシュ動作中
(b)pcmd DRAM203に対して直前に発行したDRAMコマンドの種別
WRITE DRAMコマンドはデータの書き込み
READ DRAMコマンドはデータの読み込み
(c)padd(k) バンクkがオープンしているページアドレス
(d)bst(k) バンクkの状態を示す
1’b1:バンクkはページをオープンしている状態
1’b0:バンクkはページをクローズしている状態
(e)cnt(k) バンクkに対し、次にMWRコマンドが発行可能となるまでのサイクル数
(cmd,bank,page)==(REF,0,−)
に変化する。ここで、「−」はdon’t careを表すとする。この変化に基づき、DRAM状態管理部21は、バンク0に対するリフレッシュ動作の開始を認識する。リフレッシュ動作の開始を認識したことでref(0)に1’b1を設定する。
(cmd,bank,page)==(WR,0,0)
に変化する。この変化に依り、DRAM状態管理部21はWRコマンドの発行を認識し、pcmdに、WRコマンドの種別であるWRITEを設定する。
(a)padd(k)にpを設定
(b)bst(k)に1’b1(有効)を設定
(a)bst(k)に1’b0を設定
なお、padd(k)の値は変化しない。
(cmd,bank,page)==(ACT,0,5)
に変化する。この変化に基づき、DRAM状態管理部21は、次の動作を実施する。
(a)padd(0)に5を設定
(b)bst(0)に1’b1を設定
(cmd,bank,page)==(PRE,0,5)
に変化する。この変化に基づき、DRAM状態管理部21は、次の動作を実施する。
(a)bst(0)に1’b0を設定
(a)バンクkに対してWRコマンド、あるいはMWRコマンドを発行
cnt(k)にパラメータtCCDMWRの値を設定
(b)WRコマンド、およびMWRコマンドの発行は無く、かつcnt(k)は0ではない
cnt(k)の値を1減算{cnt(k)=cnt(k)−1}
(c)WRコマンド、およびMWRコマンドの発行は無く、かつcnt(k)は0
cnt(k)は値を保持
(a)エントリ番号フィールド
制御対象とするDRAMリクエスト格納部12のエントリを示す。
(b)パージフィールド
エントリ番号フィールドが示すDRAMリクエスト格納部12のエントリをパージすることを示す。
1’b1:パージ、1’b0:バージ動作無し
(A)決定対象の格納済みDRAMリクエスト104の対象バンクがリフレッシュ動作中であるか否か。
(B)決定対象の格納済みDRAMリクエスト104に対応するDRAMコマンドの種別と、直前に発行されたDRAMコマンドの種別と、の異同。
(C)決定対象の格納済みDRAMリクエスト104の対象ページがオープンか否か。
(D)決定対象の格納済みDRAMリクエスト104に対応するDRAMコマンドがMWRコマンドの場合、cnt(k)の値が0{cnt(k)==0}か否か。
(a)当該DRAMリクエストのリクエスト種別がWRITE
(b)書き込みデータに無効バイトが存在する
(a)データを書き込む領域の先頭アドレスがライトブロックの境界に一致しない
(b)データを書き込む領域の終了アドレスがライトブロックの境界に一致しない
(c)書き込みデータのストローブ情報が無効を示している
(条件A)
選択基準 基準(A)対象バンクはリフレッシュ動作中ではない
基準(D)MWRコマンドの場合、cnt(k)の値が0
DRAMリクエスト格納部12の状態
表3
DRAM状態
(a)ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(e)cnt(1)==4 バンク1に対するMWRコマンド発行可能まで4サイクル
cnt(2)==0 バンク2に対するMWRコマンド発行可能まで0サイクル
(条件B)
選択基準 基準(A)対象バンクはリフレッシュ動作中ではない
基準(D)MWRコマンドの場合、cnt(k)の値が0
DRAMリクエスト格納部12の状態
表3
DRAM状態
(a)ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(e)cnt(1)==0 バンク1に対するMWRコマンド発行可能まで0サイクル
cnt(2)==0 バンク2に対するMWRコマンド発行可能まで0サイクル
表3中で、基準(A)を満たすエントリは、エントリ3からエントリ8である。このエントリ3からエントリ8は、基準(D)も合せて満たす。よって、最もエントリ番号が若いエントリ3に格納したDRAMリクエスト101を次に発行するリクエストとして決定する。次に発行するDRAMリクエスト105はエントリ3のDRAMリクエスト101になる。
(条件C)
選択基準 基準(A)対象バンクはリフレッシュ動作中ではない
基準(B)DRAMコマンドの種別と、直前に発行されたDRAMコマンドの種別と、は同一
基準(C)対象ページはオープン状態
基準(D)MWRコマンドの場合、cnt(k)の値が0
DRAMリクエスト格納部12の状態
表4
DRAM状態
(a)ref(0)==1’b1 バンク0はリフレッシュ動作中
ref(1)==1’b0 バンク1は非リフレッシュ動作中
ref(2)==1’b0 バンク2は非リフレッシュ動作中
(b)pcmd==WRITE 直前に発行したDRAMコマンドはWRITE
(c)padd(1)==0 バンク1はページ0が対象
padd(2)==1 バンク2はページ1が対象
(d)bst(1)==1 バンク1ページ0はオープン状態
bst(2)==1 バンク2ページ1はオープン状態
(e)cnt(1)==4 バンク1に対するMWRコマンド発行可能まで4サイクル
cnt(2)==0 バンク2に対するMWRコマンド発行可能まで0サイクル
(cmd,bank,page)==(WR,1,0)
に変化する。この変化を検出して、発行順決定部22は対応するDRAMコマンドの発行が完了したと判断し、エントリ7をパージするための格納部制御信号112を生成し、DRAMリクエスト格納部12に出力する。このとき、生成する格納部制御信号112の各フィールドは次の値である。
(a)エントリ番号フィールド 7
(b)パージフィールド 1’b1
図6は、第二の実施の形態に係るメモリコントローラ5の機能および構成を示すブロック図である。本実施の形態に係るメモリコントローラ5は、第一の実施の形態に係るメモリコントローラ1に加えて、存否判定部11を含む。また、第一の実施の形態と同様に、DRAM203に規定長のデータを書き込むための第1ライトコマンドをWRコマンドとし、規定長に満たないデータを書き込むための第2ライトコマンドをMWRコマンドとする。
(a)対応するDRAMコマンドがMWRコマンド 1’b1(有効)
(b)対応するDRAMコマンドがMWRコマンド以外 1’b0(無効)
DRAMコマンド(0) MWRコマンド
DRAMコマンド(1) WRコマンド
DRAMコマンド(2) MWRコマンド
DRAMコマンド(3) MWRコマンド
このとき、MWRF103の値は、ビット毎に、
MWRF(0)==1’b1:DRAMコマンド(0)はMWRコマンド
MWRF(1)==1’b0:DRAMコマンド(1)はWRコマンド
MWRF(2)==1’b1:DRAMコマンド(2)はMWRコマンド
MWRF(3)==1’b1:DRAMコマンド(3)はMWRコマンド
である。よって、MWRF103の値は、4’b1101になる。
(a)バースト長 16
(b)データ幅 32bit(4byte)
上述の条件の下では、
バースト書き込みブロック==16*32bit/8=64byte
である。よって、先頭アドレスがバースト書き込みブロックの先頭に一致するか否かを判定するには、先頭アドレスの下位6bitと定数6’b000000を比較すればよい。一致する場合、先頭アドレスはバースト書き込みブロックの先頭に一致する。反対に、一致しない場合、先頭アドレスはバースト書き込みブロックの先頭ではない。したがって、書き込みをバースト書き込みブロックの途中から実施することになり、MWRコマンドの使用が必要となる。
当該エントリ32に格納したDRAMリクエスト101のMWRコマンドの使用状態を示す。第二の実施の形態は、1個のDRAMリクエスト101を複数のDRAMコマンドで構成したDRAMコマンド列で実施する。したがって、MWRコマンドを使用するか否かを示すフラグもベクトルの形で示し、各ビットがそれぞれDRAMコマンドに対応する。各ビットが示す値は、第一の実施の形態と同様であり、以下の通りに定義される。
1’b1:MWRコマンドを使用、1’b0:MWRコマンドは不使用
(b)DRAMコマンド数フィールド
当該エントリ32に格納したDRAMリクエスト101を実施する(またはそれに対応する)DRAMコマンド列が含むDRAMコマンドの数を示す。
(c)インデックスフィールド
当該エントリ32に格納したDRAMリクエスト101に対応するDRAMコマンド列で、次に発行するDRAMコマンドの位置を示す。
エントリ番号フィールドが示すDRAMリクエスト格納部12のエントリを対象にインデックスフィールドを更新することを示す。
1’b1:インデックスフィールドの値を+1、1’b0:更新動作無し
基準(D)エントリ32のインデックスフィールドが示す、次に発行するDRAMコマンドがMWRコマンドの場合、cnt(k)の値が0
(a)発行状態信号111がDRAMコマンドの発行を示す
(b)最後のDRAMコマンド
(a)発行状態信号111がDRAMコマンドの発行を示す
(b)最後のDRAMコマンドではない
idx==c−1
の場合、次に発行するDRAMコマンドが、DRAMコマンド列を構成する最後のDRAMコマンドであることを示している。したがって、発行順決定部22は、発行状態信号111がDRAMコマンドの発行を示し、かつ(idx==c−1)の場合、対応するDRAMリクエスト101をパージするように格納部制御信号112を生成し、出力する。
(cmd,bank,page)==(WR,1,0)
に変化する。このとき、インデックス列の値は3、DRAMコマンド数フィールドの値は4であるから、
idx==c−1
3==4−1=3
が成立する。したがって、発行順決定部22は、DRAMコマンド列を構成する全てのDRAMコマンドの発行が完了したと判断し、エントリ4をパージする格納部制御信号112を生成し、DRAMリクエスト格納部12に出力する。このとき、生成する格納部制御信号112の各フィールドは次の値である。
(a)エントリ番号フィールド 4
(b)パージフィールド 1’b1
(c)更新フィールド 1’b0
(a)エントリ番号フィールド 4
(b)パージフィールド 1’b0
(c)更新フィールド 1’b1
以下に、第二の実施の形態に係るメモリコントローラ5の作用効果を示すシミュレーション結果を説明する。シミュレーションの前提は以下の通りである。
・LPDDR4に準拠、3200Mbps。
・WL(Write Latency)=14サイクル(cycle)
・BL(Burst Length)=16サイクル
・DRAM203のData Width=32ビット(bit)
・DRAM203のPage=4キロバイト(KByte)
・ペナルティ
−PageMiss(WR−>*)=110サイクル
−MaskedWriteのペナルティ=32サイクル
この場合、ラインの最終DRAMコマンドのみがMWRコマンドとなる。従来の手法によると、転送効率は79.5%となった。第二の実施の形態に係る手法によると、転送効率は80.4%となり、転送効率が0.9%増加した。
この場合、ラインの先頭DRAMコマンドおよび最終DRAMコマンドの両方がMWRコマンドとなる。したがって、特に工夫がなければ(1)の場合よりも転送効率の低下が予想され、実際、従来の手法によると転送効率は78.6%となり、(1)の場合よりも転送効率が0.9%悪化した。これに対して、第二の実施の形態に係る手法によると、転送効率は80.4%となり、(1)の場合と同等の転送効率が得られた。従来の手法との比較では転送効率は1.8%増加した。
Claims (10)
- DRAMに規定長のデータを書き込むための第1ライトコマンドと、DRAMに前記規定長に満たないデータを書き込むための第2ライトコマンドと、を発行可能に構成されたメモリコントローラであって、
DRAMに対する要求を格納する格納手段と、
前記格納手段に格納されている要求の発行順を決定する決定手段と、
前記決定手段により決定された発行順に基づきDRAMコマンドを発行する発行手段と、を備え、
前記決定手段は、先行するDRAMコマンドを発行してから当該DRAMコマンドと同じバンクを対象とする第2ライトコマンドを発行するまでの期間に、当該DRAMコマンドが対象とするバンクと異なるバンクを対象とする別のDRAMコマンドを発行可能な場合、その発行可能な別のDRAMコマンドが当該第2ライトコマンドよりも先に発行されるように発行順を決定するメモリコントローラ。 - 前記規定長は、DRAMのデータ幅およびバースト長のうちの少なくともひとつにより決まる請求項1に記載のメモリコントローラ。
- 前記期間は、DRAMの仕様で規定されるDRAMコマンドの最小発行間隔よりも長い請求項1または2に記載のメモリコントローラ。
- 前記決定手段はさらに、決定対象の要求について、
(1)決定対象の要求に対応するDRAMコマンドの種別と、直前に発行されたDRAMコマンドの種別と、の異同、
(2)決定対象の要求が対象とするバンクがパーバンクリフレッシュ動作中であるか否か、
(3)決定対象の要求が対象とするページがオープンか否か、
のうちの少なくともひとつにしたがい発行順を決定する請求項1から3のいずれか一項に記載のメモリコントローラ。 - DRAMに対する書き込み要求が第2ライトコマンドを必要とするか否かを、(1)当該書き込み要求の先頭アドレスおよびバースト長、または(2)当該書き込み要求に係るデータのストローブ情報に基づいて判定する判定手段をさらに備える請求項1から4のいずれか一項に記載のメモリコントローラ。
- 前記判定手段は、DRAMに対する書き込み要求に対応する複数のDRAMコマンドのそれぞれについて、当該DRAMコマンドが第2ライトコマンドであるか否かを識別するための識別情報を生成し、
前記決定手段は生成された識別情報を参照する請求項5に記載のメモリコントローラ。 - 前記格納手段は、それぞれが要求を格納するよう構成された複数のエントリを含み、
前記格納手段は、任意のエントリから要求を読み出し可能に構成される請求項1から6のいずれか一項に記載のメモリコントローラ。 - 前記決定手段は、さらに要求の優先順位に基づいて発行順を決定する請求項1から7のいずれか一項に記載のメモリコントローラ。
- 第2ライトコマンドは、マスクドライト(Masked Write)コマンドである請求項1から8のいずれか一項に記載のメモリコントローラ。
- DRAMに規定長のデータを書き込むための第1ライトコマンドと、DRAMに前記規定長に満たないデータを書き込むための第2ライトコマンドと、を発行可能に構成されたメモリコントローラで実施される方法あって、前記メモリコントローラはDRAMに対する要求を格納する格納手段を備え、前記方法は、
前記格納手段に格納されている要求の発行順を決定することと、
決定された発行順に基づきDRAMコマンドを発行することと、を含み、
前記決定することは、先行するDRAMコマンドを発行してから当該DRAMコマンドと同じバンクを対象とする第2ライトコマンドを発行するまでの期間に、当該DRAMコマンドが対象とするバンクと異なるバンクを対象とする別のDRAMコマンドを発行可能な場合、その発行可能な別のDRAMコマンドが当該第2ライトコマンドよりも先に発行されるように発行順を決定することを含む方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019158934A JP2021039447A (ja) | 2019-08-30 | 2019-08-30 | メモリコントローラおよびメモリコントローラで実施される方法 |
US17/004,240 US11435951B2 (en) | 2019-08-30 | 2020-08-27 | DRAM access technique to reduce latency due to write command length |
US17/712,590 US11842079B2 (en) | 2019-08-30 | 2022-04-04 | Memory controller and memory control method that decides an order of issuing dram commands based on whether a command has a penalty period |
JP2024003316A JP2024038365A (ja) | 2019-08-30 | 2024-01-12 | メモリコントローラおよびメモリコントローラで実施される方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019158934A JP2021039447A (ja) | 2019-08-30 | 2019-08-30 | メモリコントローラおよびメモリコントローラで実施される方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024003316A Division JP2024038365A (ja) | 2019-08-30 | 2024-01-12 | メモリコントローラおよびメモリコントローラで実施される方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021039447A true JP2021039447A (ja) | 2021-03-11 |
Family
ID=74681202
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019158934A Pending JP2021039447A (ja) | 2019-08-30 | 2019-08-30 | メモリコントローラおよびメモリコントローラで実施される方法 |
JP2024003316A Pending JP2024038365A (ja) | 2019-08-30 | 2024-01-12 | メモリコントローラおよびメモリコントローラで実施される方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024003316A Pending JP2024038365A (ja) | 2019-08-30 | 2024-01-12 | メモリコントローラおよびメモリコントローラで実施される方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11435951B2 (ja) |
JP (2) | JP2021039447A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117099076A (zh) * | 2021-03-31 | 2023-11-21 | 超威半导体公司 | Dram命令拖尾效率管理 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7197998B2 (ja) * | 2018-05-02 | 2022-12-28 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
US11735246B2 (en) * | 2021-11-15 | 2023-08-22 | Micron Technology, Inc. | Semiconductor device performing refresh operation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260472A (ja) * | 2005-03-18 | 2006-09-28 | Matsushita Electric Ind Co Ltd | メモリアクセス装置 |
US20080052474A1 (en) * | 2006-08-23 | 2008-02-28 | Ati Technologies, Inc | Write data mask method and system |
JP2018180656A (ja) * | 2017-04-04 | 2018-11-15 | キヤノン株式会社 | メモリコントローラとその制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393512B1 (en) * | 1999-09-27 | 2002-05-21 | Ati International Srl | Circuit and method for detecting bank conflicts in accessing adjacent banks |
US6505269B1 (en) * | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
JP2005182538A (ja) | 2003-12-19 | 2005-07-07 | Toshiba Corp | データ転送装置 |
JP4820566B2 (ja) * | 2005-03-25 | 2011-11-24 | パナソニック株式会社 | メモリアクセス制御回路 |
TWI318348B (en) * | 2006-09-22 | 2009-12-11 | Realtek Semiconductor Corp | Memory management method |
EP2071468A4 (en) * | 2006-12-25 | 2010-11-03 | Panasonic Corp | MEMORY CONTROL DEVICE, MEMORY DEVICE, AND MEMORY CONTROL METHOD |
JP5351145B2 (ja) * | 2008-04-22 | 2013-11-27 | パナソニック株式会社 | メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 |
US10318420B2 (en) * | 2014-10-31 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
-
2019
- 2019-08-30 JP JP2019158934A patent/JP2021039447A/ja active Pending
-
2020
- 2020-08-27 US US17/004,240 patent/US11435951B2/en active Active
-
2022
- 2022-04-04 US US17/712,590 patent/US11842079B2/en active Active
-
2024
- 2024-01-12 JP JP2024003316A patent/JP2024038365A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260472A (ja) * | 2005-03-18 | 2006-09-28 | Matsushita Electric Ind Co Ltd | メモリアクセス装置 |
US20080052474A1 (en) * | 2006-08-23 | 2008-02-28 | Ati Technologies, Inc | Write data mask method and system |
JP2018180656A (ja) * | 2017-04-04 | 2018-11-15 | キヤノン株式会社 | メモリコントローラとその制御方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117099076A (zh) * | 2021-03-31 | 2023-11-21 | 超威半导体公司 | Dram命令拖尾效率管理 |
Also Published As
Publication number | Publication date |
---|---|
US20210064296A1 (en) | 2021-03-04 |
US11435951B2 (en) | 2022-09-06 |
JP2024038365A (ja) | 2024-03-19 |
US11842079B2 (en) | 2023-12-12 |
US20220229602A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842079B2 (en) | Memory controller and memory control method that decides an order of issuing dram commands based on whether a command has a penalty period | |
US20060059320A1 (en) | Memory control device | |
IT201800000580A1 (it) | Metodo di aggiornamento in tempo reale di una memoria differenziale con accessibilita' continua in lettura, memoria differenziale e sistema elettronico | |
US7836263B2 (en) | Nonvolatile memory controlling method and nonvolatile memory controlling apparatus | |
US9563556B2 (en) | Techniques for storing data and tags in different memory arrays | |
JPH02234242A (ja) | 部分書込み制御装置 | |
JP2001051896A (ja) | 記憶装置 | |
JP2010061620A (ja) | Dma装置及びdma転送方法 | |
US20210141567A1 (en) | Memory controller, method executed by memory controller, and apparatus | |
US20100005284A1 (en) | Device having shared memory and method for transferring code data | |
US20070030535A1 (en) | Data scan system and data scan method using ddr | |
JP2005182538A (ja) | データ転送装置 | |
US6556484B2 (en) | Plural line buffer type memory LSI | |
US20130346680A1 (en) | Emulated electrically erasable memory having an address ram for data stored in flash memory | |
TWI721660B (zh) | 控制資料讀寫裝置與方法 | |
JP2004206850A (ja) | 半導体記憶装置 | |
JP7350699B2 (ja) | ライトバックキャッシュ装置 | |
TWI488040B (zh) | 緩衝記憶體管理方法與相關緩衝記憶體控制器 | |
US7404049B2 (en) | Method and system for managing address bits during buffered program operations in a memory device | |
JP2009217310A (ja) | メモリアクセス方法及びメモリアクセス装置 | |
JP2008234514A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JPH04104345A (ja) | Ecc機構付主記憶装置の部分書き換えデータの書き込み制御方式 | |
US7917826B2 (en) | Error correction apparatus and method for data stored in memory | |
JPH10222460A (ja) | データ転送制御装置 | |
JPS5837747A (ja) | 命令読出専用バツフア記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230828 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231013 |