JP7197998B2 - メモリコントローラおよびメモリコントローラで実施される方法 - Google Patents
メモリコントローラおよびメモリコントローラで実施される方法 Download PDFInfo
- Publication number
- JP7197998B2 JP7197998B2 JP2018088862A JP2018088862A JP7197998B2 JP 7197998 B2 JP7197998 B2 JP 7197998B2 JP 2018088862 A JP2018088862 A JP 2018088862A JP 2018088862 A JP2018088862 A JP 2018088862A JP 7197998 B2 JP7197998 B2 JP 7197998B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- dram
- write
- penalty
- write command
- 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
- 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
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0656—Data buffering arrangements
-
- 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/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Dram (AREA)
- Memory System (AREA)
Description
DRAMに対する書き込み要求をバスから受信する受信手段と、
あるバンクへの先行する第1ライトコマンドを発行してから同じバンクへの第2ライトコマンドを発行するまでの期間内に、前記書き込み要求の受信順に従うと前記第2ライトコマンドよりも後となる、別のバンクへの第1ライトコマンドである後コマンドが発行可能か否かを、該後コマンドのペナルティの長さと前記第2ライトコマンドのペナルティの長さとに基づいて判定する判定手段と、
発行可能と判定された前記後コマンドを前記第2ライトコマンドよりも先に発行する発行手段と、を備える。
図1は、実施の形態に係るメモリコントローラ202を備える印刷装置100のハードウエア構成を示す図である。印刷装置100は例えば複写機や複合機である。なお、以下では実施の形態に係るメモリコントローラ202が印刷装置100に搭載される場合について説明する。しかしながら、当該メモリコントローラ202はデジタルカメラ等の撮像装置やスマートフォン等の携帯端末などの電子機器一般に広く搭載されうることは、本明細書に触れた当業者には明らかである。
MWR退避部212は、分割部208から渡されたデータを一時的に保持する。MWR退避部212には、MRWコマンドでDRAM103に書き込まれるデータが保持される。
選択部216は、ペナルティ判定部214による制御の下、転送退避部210に保持されるデータおよびMWR退避部212に保持されるデータのうちの一方を選択し、選択されたデータを発行部218に渡す。
図5は、図2のメモリコントローラ202によって出力されるDRAMコマンドのシーケンスの一例を示すタイミングチャートである。DRAM103のあるバンクへのWRコマンド502が発行されてから同じバンクへのMWRコマンド504を発行するまでの期間の長さはtCCDMWであり、この期間内に別のバンクへのWRコマンド506、508、510がtCCDの間隔で発行される。この例ではtCCDMW=4×tCCDに設定されている。WRコマンド506、508、510は、要求の受信順に従えばMWRコマンド504よりも後に発行されるべきコマンドである。
以下に、上記の実施の形態に係るメモリコントローラ202の作用効果を示すシミュレーション結果を説明する。シミュレーションの前提は以下の通りである。
・LPDDR4に準拠、3200Mbps。
・WL(Write Latency)=14サイクル(cycle)
・BL(Burst Length)=8サイクル
・DRAM103のData Width=32ビット(bit)
・DRAM103のPage=2キロバイト(KByte)
・ペナルティ
-PageMiss(WR->*)=110サイクル
-MaskedWriteのペナルティ=16サイクル
各ラインの先頭アドレスはページのアラインより開始する。二つのモジュール間でページの依存関係は無い。この場合、二つのモジュールが同時に動作しているとして、1ライン中にページの遷移が9回、Masked Writeが1回発生する。従来の手法によると、転送効率は81.74%となった。上記実施の形態に係る手法によると、転送効率は81.98%となり、転送効率が0.24%増加した。これは31MB/sの向上に相当する。
各ライン・分割画素の先頭アドレスはページのアラインより開始する。二つのモジュール間でページの依存関係は無い。この場合、二つのモジュールが同時に動作しているとして、1ライン中にページの遷移が12回、Masked Writeが4回発生する。従来の手法によると、転送効率は61.98%となった。上記実施の形態に係る手法によると、転送効率は63.09%となり、転送効率が2.11%増加した。これは269MB/sの向上に相当する。
Claims (11)
- DRAMのビット幅およびバースト長のうちの少なくともひとつにより決まるDRAMへのアクセス単位である所定のサイズのデータをDRAMに書き込むための第1ライトコマンドと、DRAMに前記所定のサイズに満たないサイズのデータを書き込むための第2ライトコマンドと、を発行可能に構成されたメモリコントローラであって、
DRAMに対する書き込み要求をバスから受信する受信手段と、
あるバンクへの先行する第1ライトコマンドを発行してから同じバンクへの第2ライトコマンドを発行するまでの期間内に、前記書き込み要求の受信順に従うと前記第2ライトコマンドよりも後となる、別のバンクへの第1ライトコマンドである後コマンドが発行可能か否かを、該後コマンドのペナルティの長さと前記第2ライトコマンドのペナルティの長さとに基づいて判定する判定手段と、
発行可能と判定された前記後コマンドを前記第2ライトコマンドよりも先に発行する発行手段と、を備えるメモリコントローラ。 - 前記期間は、DRAMについて設定されているコマンド間の最小間隔よりも長くなるよう設定される請求項1に記載のメモリコントローラ。
- 第2ライトコマンドは、LPDDR4のMasked Writeコマンドである請求項1または2に記載のメモリコントローラ。
- 前記メモリコントローラはさらに、
受信した書き込み要求に係るデータをDRAMに書き込む際に、該受信した書き込み要求によって前記所定のサイズ未満の書き込みが発生する場合は、第2ライトコマンドが発生すると判定する別の判定手段を備え、
前記判定手段は、前記別の判定手段において第2ライトコマンドが発生すると判定された場合に、コマンドが発行可能か否かを判定する請求項1から3のいずれか一項に記載のメモリコントローラ。 - 前記別の判定手段において第2ライトコマンドが発生すると判定された場合、受信した書き込み要求に係るデータを前記所定のサイズに満たない部分とその他の部分とに分割する分割手段をさらに備え、
前記期間は、その他の部分を書き込むための先行する第1ライトコマンドを発行してから前記所定のサイズに満たない部分を書き込むための第2ライトコマンドを発行するまでの期間である請求項4に記載のメモリコントローラ。 - 前記判定手段は、前記後コマンドのペナルティの長さが前記期間の長さ以下であり、かつ、前記後コマンドが発行されても前記第2ライトコマンドのペナルティが変化しない場合に、前記後コマンドが発行可能であると判定する請求項1から5のいずれか一項に記載のメモリコントローラ。
- 前記期間は、前記第2ライトコマンドのペナルティの長さよりも長くなるよう設定される請求項6に記載のメモリコントローラ。
- 前記後コマンドのペナルティは、前記後コマンドの対象となるバンク、前記後コマンドの対象となるページの状態、リード/ライトの別、のうちの少なくともひとつに基づき決定される請求項6または7に記載のメモリコントローラ。
- 前記判定手段は、前記後コマンドの対象となるバンクと、前記第2ライトコマンドの対象となるバンクと、が同じ場合、前記後コマンドが発行されると前記第2ライトコマンドのペナルティが変化すると判定する請求項6から8のいずれか一項に記載のメモリコントローラ。
- DRAMのビット幅およびバースト長のうちの少なくともひとつにより決まるDRAMへのアクセス単位である所定のサイズのデータをDRAMに書き込むための第1ライトコマンドと、DRAMに前記所定のサイズに満たないサイズのデータを書き込むための第2ライトコマンドと、を発行可能に構成されたメモリコントローラで実施される方法であって、
DRAMに対する書き込み要求をバスから受信することと、
あるバンクへの先行する第1ライトコマンドを発行してから同じバンクへの第2ライトコマンドを発行するまでの期間内に、前記書き込み要求の受信順に従うと前記第2ライトコマンドよりも後となる、別のバンクへの第1ライトコマンドである後コマンドが発行可能か否かを、該後コマンドのペナルティの長さと前記第2ライトコマンドのペナルティの長さとに基づいて判定することと、
発行可能と判定された前記後コマンドを前記第2ライトコマンドよりも先に発行することと、を含む方法。 - LPDDR4に準拠するDRAMを制御するメモリコントローラで実施される方法であって、あるバンクへのWriteコマンドが発行されてから同じバンクへのMasked Writeコマンドを発行するまでの期間内に別のバンクへのWriteコマンドを発行することを含む方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018088862A JP7197998B2 (ja) | 2018-05-02 | 2018-05-02 | メモリコントローラおよびメモリコントローラで実施される方法 |
US16/391,712 US11385832B2 (en) | 2018-05-02 | 2019-04-23 | Memory controller and method performed by the memory controller |
US17/839,968 US12032856B2 (en) | 2018-05-02 | 2022-06-14 | Memory controller and method performed by the memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018088862A JP7197998B2 (ja) | 2018-05-02 | 2018-05-02 | メモリコントローラおよびメモリコントローラで実施される方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019194811A JP2019194811A (ja) | 2019-11-07 |
JP7197998B2 true JP7197998B2 (ja) | 2022-12-28 |
Family
ID=68383922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018088862A Active JP7197998B2 (ja) | 2018-05-02 | 2018-05-02 | メモリコントローラおよびメモリコントローラで実施される方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11385832B2 (ja) |
JP (1) | JP7197998B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7197998B2 (ja) * | 2018-05-02 | 2022-12-28 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
US11907544B2 (en) | 2020-08-31 | 2024-02-20 | Micron Technology, Inc. | Automated error correction with memory refresh |
KR20220030440A (ko) * | 2020-08-31 | 2022-03-11 | 삼성전자주식회사 | 전자 장치, 시스템-온-칩, 및 그것의 동작 방법 |
US12086026B2 (en) | 2021-03-17 | 2024-09-10 | Micron Technology, Inc. | Multiple error correction code (ECC) engines and ECC schemes |
JP7431791B2 (ja) * | 2021-12-01 | 2024-02-15 | 株式会社日立製作所 | ストレージシステム及びデータ処理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342159A (ja) | 2001-05-21 | 2002-11-29 | Hitachi Ltd | メモリコントローラ |
JP2009064360A (ja) | 2007-09-07 | 2009-03-26 | Canon Inc | メモリコントローラ及びその制御方法 |
JP2014154119A (ja) | 2013-02-14 | 2014-08-25 | Ricoh Co Ltd | メモリ制御装置及び半導体記憶装置 |
WO2015073613A1 (en) | 2013-11-13 | 2015-05-21 | Qualcomm Incorporated | System and method for reducing memory i/o power via data masking |
JP2017097618A (ja) | 2015-11-24 | 2017-06-01 | キヤノン株式会社 | コントローラおよび制御方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3922487B2 (ja) * | 1998-02-04 | 2007-05-30 | 松下電器産業株式会社 | メモリ制御装置および方法 |
US6564304B1 (en) * | 2000-09-01 | 2003-05-13 | Ati Technologies Inc. | Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching |
JP2005182538A (ja) | 2003-12-19 | 2005-07-07 | Toshiba Corp | データ転送装置 |
JP2005346502A (ja) * | 2004-06-03 | 2005-12-15 | Canon Inc | メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム |
TWI318348B (en) * | 2006-09-22 | 2009-12-11 | Realtek Semiconductor Corp | Memory management method |
US7660933B2 (en) * | 2007-10-11 | 2010-02-09 | Broadcom Corporation | Memory and I/O bridge |
US7979759B2 (en) * | 2009-01-08 | 2011-07-12 | International Business Machines Corporation | Test and bring-up of an enhanced cascade interconnect memory system |
US9208836B1 (en) * | 2011-01-11 | 2015-12-08 | Rambus Inc. | Chip-to-chip signaling with improved bandwidth utilization |
TW201239632A (en) * | 2011-03-16 | 2012-10-01 | Sunplus Technology Co Ltd | Memory access system and method for optimizing SDRAM bandwidth |
CN103456356A (zh) * | 2012-05-31 | 2013-12-18 | 三星电子株式会社 | 半导体存储器装置和相关的操作方法 |
US9588840B2 (en) * | 2013-04-18 | 2017-03-07 | Samsung Electronics Co., Ltd. | Memory devices that perform masked write operations and methods of operating the same |
US9704563B2 (en) * | 2014-12-08 | 2017-07-11 | Intel Corporation | Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory |
WO2016095191A1 (en) * | 2014-12-19 | 2016-06-23 | Micron Technology, Inc. | Apparatuses and methods for pipelining memory operations with error correction coding |
KR102358321B1 (ko) * | 2017-04-10 | 2022-02-08 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 장치 및 그의 동작 방법 |
JP2018205859A (ja) * | 2017-05-31 | 2018-12-27 | キヤノン株式会社 | メモリコントローラとその制御方法 |
JP7197998B2 (ja) * | 2018-05-02 | 2022-12-28 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
US10957413B2 (en) * | 2018-10-31 | 2021-03-23 | Micron Technology, Inc. | Shared error check and correct logic for multiple data banks |
JP2021039447A (ja) * | 2019-08-30 | 2021-03-11 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
-
2018
- 2018-05-02 JP JP2018088862A patent/JP7197998B2/ja active Active
-
2019
- 2019-04-23 US US16/391,712 patent/US11385832B2/en active Active
-
2022
- 2022-06-14 US US17/839,968 patent/US12032856B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342159A (ja) | 2001-05-21 | 2002-11-29 | Hitachi Ltd | メモリコントローラ |
JP2009064360A (ja) | 2007-09-07 | 2009-03-26 | Canon Inc | メモリコントローラ及びその制御方法 |
JP2014154119A (ja) | 2013-02-14 | 2014-08-25 | Ricoh Co Ltd | メモリ制御装置及び半導体記憶装置 |
WO2015073613A1 (en) | 2013-11-13 | 2015-05-21 | Qualcomm Incorporated | System and method for reducing memory i/o power via data masking |
JP2017097618A (ja) | 2015-11-24 | 2017-06-01 | キヤノン株式会社 | コントローラおよび制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US12032856B2 (en) | 2024-07-09 |
JP2019194811A (ja) | 2019-11-07 |
US20220308799A1 (en) | 2022-09-29 |
US20190339906A1 (en) | 2019-11-07 |
US11385832B2 (en) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7197998B2 (ja) | メモリコントローラおよびメモリコントローラで実施される方法 | |
US9043541B2 (en) | Storage control device, storage device, and control method for controlling storage control device | |
KR20070107163A (ko) | 다중 내부 데이터 버스 및 메모리 뱅크 인터리빙을 갖는방법 및 메모리 장치 | |
JP6053384B2 (ja) | 情報処理装置、メモリ制御装置およびその制御方法 | |
US6806882B2 (en) | Method of and apparatus for forming image | |
US20060195665A1 (en) | Access control device, method for changing memory addresses, and memory system | |
JPH11224221A (ja) | メモリ制御装置および方法 | |
JP4829408B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2011013835A (ja) | メモリシステム、メモリアクセス方法、及びプログラム | |
JP6700739B2 (ja) | コントローラおよび制御方法 | |
JP6274774B2 (ja) | メモリインターフェース装置及びその制御方法 | |
JP2021157295A (ja) | メモリ制御装置 | |
JP4637693B2 (ja) | 画像入力装置 | |
JP2006011926A (ja) | シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置 | |
JP2007333892A (ja) | メモリ制御装置、バス制御装置及び表示デバイス制御システム | |
JP2006277619A (ja) | メモリ制御システム及び画像形成装置 | |
JP2015022437A (ja) | 制御装置、コンピュータシステム、制御方法、及びプログラム | |
JP4633078B2 (ja) | カラー画像処理装置および画像メモリアクセス制御方法 | |
JP2010072792A (ja) | メモリ制御回路、電子機器制御装置、および、複合機 | |
JP2006127110A (ja) | Dramメモリアクセス制御手法、および手段 | |
KR100690597B1 (ko) | 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법 | |
JP4538054B2 (ja) | データ転送装置および方法 | |
JPH0981722A (ja) | 画像処理方法及び装置 | |
JPH05210616A (ja) | コンピュータ装置 | |
JP2003177957A (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: 20210427 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221021 |
|
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: 20221118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221216 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7197998 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |