JP2010009557A - メモリコントローラ - Google Patents

メモリコントローラ Download PDF

Info

Publication number
JP2010009557A
JP2010009557A JP2008171732A JP2008171732A JP2010009557A JP 2010009557 A JP2010009557 A JP 2010009557A JP 2008171732 A JP2008171732 A JP 2008171732A JP 2008171732 A JP2008171732 A JP 2008171732A JP 2010009557 A JP2010009557 A JP 2010009557A
Authority
JP
Japan
Prior art keywords
command
write data
memory
memory controller
commands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008171732A
Other languages
English (en)
Other versions
JP5414209B2 (ja
Inventor
Wataru Ochiai
渉 落合
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008171732A priority Critical patent/JP5414209B2/ja
Priority to US12/495,052 priority patent/US20090327623A1/en
Publication of JP2010009557A publication Critical patent/JP2010009557A/ja
Application granted granted Critical
Publication of JP5414209B2 publication Critical patent/JP5414209B2/ja
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 メモリコントローラとメモリ間でのレイテンシを小さくし、メモリコントローラの回路規模も小さくする。
【解決手段】 メモリコントローラ000に、複数のバスインターフェース310、320、330と、この複数のバスインターフェースから発行されるコマンド及びデータを制御し、メモリへの書き込み及び読み出しを行うメモリコントローラコア部100とを備え、メモリコントローラコア部100に、前記複数のバスインターフェースから発行される複数のコマンドを受け付け、該複数のコマンドをリオーダして保持するコマンド制御部110と、前記複数のバスインターフェースから発行される複数のライトデータを、前記コマンド制御部がライトコマンドを受け付けた順に受け付け、当該ライトデータを、前記コマンド制御部によるリオーダの結果に基づいて出力するライトデータ制御部120とを備える。
【選択図】 図1

Description

本発明は、メモリを制御するメモリコントローラに関するものである。
従来、メモリコントローラの内部において、コマンドキュー内のコマンドをリオーダリングして発行するものが考案されている(例えば特許文献1参照)。
図2は、従来のメモリコントローラの構成例を示す図である。
図2において、000は複数バスインターフェースを持つメモリコントローラであり、100はメモリコントローラコア部である。
110は複数バスインターフェースから受信したコマンドを制御するコマンド制御部である。111は複数バスインターフェースから受信したコマンドを保持するコマンドキューである。112はコマンドキュー111内のコマンドに対してリオーダリングを行うリオーダリング回路である。
120は、ライトデータ制御部である。コマンドキュー111がメモリ200にライトコマンドを発行する際に、該当コマンドのマスターとなるバスインターフェースのライトデータキューからライトデータをリードし、メモリ200にライトする。
121はバスインターフェースからリードしたライトデータを一時的に保持するライトデータバッファである。
130はコマンド制御部110とライトデータ制御部120とメモリ200とのデータの受け渡しを行うメモリコマンド制御部である。
140はコマンド制御部110やライトデータ制御部120と複数バスインターフェースとの間でコマンドやデータの受け渡しを行う内部バスである。
200はメモリであり、310、320、330はバスインターフェースである。
311、321、331は、バスインターフェース310、320、330がメモリコントローラ000外部のバスからライトやリードの要求を一時的に保持するコマンドバッファである。
312、322、332はバスインターフェース310、320、330がメモリコントローラ000外部のバスからライトの要求を受信した際にライトするデータを保持するライトデータキューである。
以下、図2、図5、図6を用いて従来のメモリコントローラの動作について説明する。
バスインターフェースA(310)、バスインターフェースB(320)、バスインターフェースC(330)がそれぞれに接続されたバスからライトやリードの要求を受信する。
そのとき、バスインターフェースA(310)はライト、バスインターフェースB(320)はリード、バスインターフェースC(330)はライトの要求を受信したとする。
コマンドバッファ311にはライト、コマンドバッファ321にはリード、コマンドバッファ331にはライトのコマンドが保持される。
また、ライト要求を受けたバスインターフェースA(310)とバスインターフェースC(330)のライトデータキュー312、332にはメモリ200へライトするライトデータを受信する。
バスインターフェース310、320、330は、コマンドバッファ311、321、331内に保持していたコマンドを、メモリコントローラコア部100の内部バス140を介してコマンド制御部110のコマンドキュー111に送信する。
コマンド制御部110はリオーダリング回路112によってコマンドキュー111のコマンドを並び替える。
コマンド制御部110はコマンドキュー111の先頭コマンドC02をメモリコマンド制御部130に送信する。
コマンドC02はリードコマンドであるので、メモリコントローラコア部100はメモリコマンド制御部130がメモリ200からリードしたリードデータをコマンドC02の発行元であるバスインターフェース320へ送信する。
次に、コマンド制御部110はコマンドキュー111の先頭コマンドC01をメモリコマンド制御部130に送信する。
コマンドC01はライトコマンドであるので、メモリコマンド制御部130はライトデータ制御部120へライトデータを要求する。
ライトデータ制御部120はメモリコマンド制御部130からのライトデータ要求を受けて、該当コマンドの発行元であるバスインターフェースA(310)へライトデータを要求する。
バスインターフェースA(310)はライトデータ制御部120からのライトデータ要求を受けて、該当ライトコマンドのライトデータをライトデータキュー312からライトデータ制御部120へ送信する。
ライトデータ制御部120は受信したライトデータをライトデータバッファ121へ一時的に保持する。
メモリコントローラコア部100はライトデータバッファ121に格納されたライトデータをメモリコマンド制御部130へ送信する。
以上の説明したような動作によって、ライトデータがメモリ200に書き込まれる。
特開2007−26365号公報
しかしながら、従来の技術では、メモリコントローラがメモリにデータをライトする際、リオーダリングをしてコマンドの順番が確定してからライトデータをバスインターフェースのライトデータキューから読み出していた。
そのため、メモリコントローラとメモリ間でのレイテンシが大きくなるという問題があった。
また、複数バスインターフェースがそれぞれにライトデータキューを含む構成であるため、回路規模が大きくなるという問題もあった。
そこで本発明の目的は、メモリコントローラとメモリ間でのレイテンシの小さい、回路規模の小さなメモリコントローラを提供することである。
上記目的を達成するために、本発明のメモリコントローラは、複数のバスインターフェースと、前記複数のバスインターフェースから発行されるコマンド及びデータを制御し、メモリへの書き込み及び読み出しを行うメモリコントローラコア部とを備え、前記メモリコントローラコア部に、前記複数のバスインターフェースから発行される複数のコマンドを受け付け、該複数のコマンドをリオーダして保持するコマンド制御手段と、前記複数のバスインターフェースから発行される複数のライトデータを、前記コマンド制御手段がライトコマンドを受け付けた順に受け付け、当該ライトデータを、前記コマンド制御手段によるリオーダの結果に基づいて出力するライトデータ制御手段とを備える。
本発明によれば、メモリコントローラとメモリ間でのレイテンシを小さくし、メモリコントローラの回路規模も小さくすることができる。
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
(発明の実施の形態)
図1は実施の形態におけるメモリコントローラの構成である。
図1において、000は複数バスインターフェースを持つメモリコントローラである。
100はメモリコントローラコア部である。
110は複数バスインターフェースから受信したコマンドを制御するコマンド制御部である。
111は複数バスインターフェースから受信したコマンドを保持するコマンドキューである。
112はコマンドキュー111内のコマンドに対してリオーダリングを行うリオーダリング回路である。
120はコマンドキュー111がメモリ200にライトコマンドを発行する際に、該当コマンドのマスターとなるバスインターフェースのライトデータキューからライトデータをリードし、メモリ200にライトするライトデータ制御部である。
122はライトデータ出力回路である。リオーダリング回路112によってリオーダされた結果のコマンドに応じてライトデータキュー123からライトデータを読み出し、メモリコマンド制御部130へライトデータを送信する
123は複数バスインターフェースがライトコマンドを発行した際に、ライトデータを受信し、保持するライトデータキューである。
130はコマンド制御部110とライトデータ制御部120とメモリ200とのデータの受け渡しを行うメモリコマンド制御部である。
140はコマンド制御部110やライトデータ制御部120と複数バスインターフェースとの間でコマンドやデータの受け渡しを行う内部バスである。
200はメモリである。
310、320、330はバスインターフェースである。
311、321、331はバスインターフェース310、320、330がメモリコントローラ000外部のバスからライトやリードの要求を一時的に保持するコマンドバッファである。
313、323、333はバスインターフェース310、320、330がメモリコントローラ000外部のバスからライトの要求を受信した際にライトするデータを一時的に保持するライトデータバッファである。
以下、図1、図3、図4を用いて本実施の形態におけるメモリコントローラの動作について説明する。
バスインターフェースA(310)、バスインターフェースB(320)、バスインターフェースC(330)がそれぞれに接続されたバスからライトやリードの要求を受信する。
そのとき、バスインターフェースA(310)はライト、バスインターフェースB(320)はリード、バスインターフェースC(330)はライトの要求を受信したとする。
コマンドバッファ311にはライト、コマンドバッファ321にはリード、コマンドバッファ331にはライトのコマンドが保持される。
また、ライト要求を受けたバスインターフェースA(310)とバスインターフェースC(330)のライトデータキュー312、332にはメモリ200へライトするライトデータを受信する。
バスインターフェース310、320、330はコマンドバッファ311、321、331内に保持していたコマンドをメモリコントローラコア部100の内部バス140を介して、コマンド制御部110のコマンドキュー111に送信する。
このとき、バスインターフェースA(310)、バスインターフェースC(330)はライトコマンドを送信すると同時に、ライトデータバッファ313、333のライトデータをライトデータ制御部120へ送信する。
ライトデータ制御部120はライトデータキュー123に受信したライトデータを保持する。
コマンド制御部110はリオーダリング回路112によってコマンドキュー111のコマンドを並び替える。
コマンド制御部110はコマンドキュー111の先頭コマンドC02をメモリコマンド制御部130に送信する。
コマンドC02はリードコマンドであるので、メモリコントローラコア部100はメモリコマンド制御部130がメモリ200からリードしたリードデータをコマンドC02の発行元であるバスインターフェース320へ送信する。
次に、コマンド制御部110はコマンドキュー111の先頭コマンドC01をメモリコマンド制御部130に送信する。
コマンドC01はライトコマンドであるので、メモリコマンド制御部130はライトデータ制御部120へライトデータを要求する。
ライトデータ制御部120がメモリコマンド制御部130からライトデータを要求されたのを受けて、ライトデータ出力回路122は該当コマンドに対応するライトデータをライトデータキュー123から読み出し、メモリコマンド制御部130へ送信する。
以上説明したような動作によって、ライトデータがメモリ200に書き込まれる。
第一の実施の形態におけるメモリコントローラを示す図である。 従来のメモリコントローラ人をカメラで上方から撮像する状況を説明する図である。 第一の実施の形態におけるメモリコントローラの動作例を示す図である。 第一の実施の形態におけるメモリコントローラの動作例を示す図である。 従来のメモリコントローラの動作例を示す図である。 従来のメモリコントローラの動作例を示す図である。

Claims (3)

  1. 複数のバスインターフェースと、
    前記複数のバスインターフェースから発行されるコマンド及びデータを制御し、メモリへの書き込み及び読み出しを行うメモリコントローラコア部とを備え、
    前記メモリコントローラコア部が、
    前記複数のバスインターフェースから発行される複数のコマンドを受け付け、該複数のコマンドをリオーダして保持するコマンド制御手段と、
    前記複数のバスインターフェースから発行される複数のライトデータを、前記コマンド制御手段がライトコマンドを受け付けた順に受け付け、当該ライトデータを、前記コマンド制御手段によるリオーダの結果に基づいて出力するライトデータ制御手段とを有することを特徴とするメモリコントローラ。
  2. 前記コマンド制御手段が、コマンドを保持するコマンドキューと、コマンドをリオーダするリオーダリング手段とを有することを特徴とする請求項1記載のメモリコントローラ。
  3. 前記ライトデータ制御手段が、ライトデータを保持するライトデータキューと、前記コマンド制御手段によるリオーダの結果に基づいた順にライトデータを出力する出力手段とを有することを特徴とする請求項1記載のメモリコントローラ。
JP2008171732A 2008-06-30 2008-06-30 メモリコントローラおよびその制御方法 Expired - Fee Related JP5414209B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008171732A JP5414209B2 (ja) 2008-06-30 2008-06-30 メモリコントローラおよびその制御方法
US12/495,052 US20090327623A1 (en) 2008-06-30 2009-06-30 Command reorderable memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008171732A JP5414209B2 (ja) 2008-06-30 2008-06-30 メモリコントローラおよびその制御方法

Publications (2)

Publication Number Publication Date
JP2010009557A true JP2010009557A (ja) 2010-01-14
JP5414209B2 JP5414209B2 (ja) 2014-02-12

Family

ID=41448957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008171732A Expired - Fee Related JP5414209B2 (ja) 2008-06-30 2008-06-30 メモリコントローラおよびその制御方法

Country Status (2)

Country Link
US (1) US20090327623A1 (ja)
JP (1) JP5414209B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9632954B2 (en) * 2011-11-07 2017-04-25 International Business Machines Corporation Memory queue handling techniques for reducing impact of high-latency memory operations
KR20140028618A (ko) * 2012-08-29 2014-03-10 삼성전자주식회사 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법
KR102098248B1 (ko) 2013-06-03 2020-04-07 삼성전자 주식회사 온도에 따라 완화된 타이밍 요건으로 사용되는 메모리 장치 및 이를 이용하는 메모리 콘트롤러

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316738A (ja) * 1997-12-22 1999-11-16 Compaq Computer Corp 公平な仲裁機構を提供するコンピュータ・システム
JP2000047974A (ja) * 1998-07-27 2000-02-18 Fujitsu Ltd バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JP2004171209A (ja) * 2002-11-19 2004-06-17 Matsushita Electric Ind Co Ltd 共有メモリデータ転送装置
JP2006099731A (ja) * 2004-08-30 2006-04-13 Matsushita Electric Ind Co Ltd リソース管理装置
JP2006260472A (ja) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd メモリアクセス装置
JP2007108882A (ja) * 2005-10-11 2007-04-26 Canon Inc メモリコントローラ及びメモリ制御方法と情報処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
US6311256B2 (en) * 1997-06-30 2001-10-30 Emc Corporation Command insertion and reordering at the same storage controller
US6182197B1 (en) * 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
US6216178B1 (en) * 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
US6826630B2 (en) * 2001-09-14 2004-11-30 Seagate Technology Llc Prioritizing commands in a data storage device
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
JP2003308176A (ja) * 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
US7069399B2 (en) * 2003-01-15 2006-06-27 Via Technologies Inc. Method and related apparatus for reordering access requests used to access main memory of a data processing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316738A (ja) * 1997-12-22 1999-11-16 Compaq Computer Corp 公平な仲裁機構を提供するコンピュータ・システム
JP2000047974A (ja) * 1998-07-27 2000-02-18 Fujitsu Ltd バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JP2004171209A (ja) * 2002-11-19 2004-06-17 Matsushita Electric Ind Co Ltd 共有メモリデータ転送装置
JP2006099731A (ja) * 2004-08-30 2006-04-13 Matsushita Electric Ind Co Ltd リソース管理装置
JP2006260472A (ja) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd メモリアクセス装置
JP2007108882A (ja) * 2005-10-11 2007-04-26 Canon Inc メモリコントローラ及びメモリ制御方法と情報処理装置

Also Published As

Publication number Publication date
JP5414209B2 (ja) 2014-02-12
US20090327623A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
US7716391B2 (en) Data transfer apparatus, data transfer method, and program
JP2013525924A5 (ja)
JP5414209B2 (ja) メモリコントローラおよびその制御方法
JP4373255B2 (ja) ダイレクトメモリアクセス制御装置および方法
JP5217786B2 (ja) リクエスト調停装置及びリクエスト調停方法
JP2008009803A (ja) 情報記憶装置、および、情報転送方法、情報転送システム、プログラム、並びに、記録媒体
JP2010198171A (ja) Usbホストコントローラ、及びusbホストコントローラの制御方法
JP2013137624A (ja) データ記憶装置、メモリ制御装置及び方法
JP5908416B2 (ja) インターフェース制御装置、データ記憶装置及びインターフェース制御方法
JP2008140065A (ja) アクセス調停装置、アクセス調停方法、及び情報処理装置
JP2011119999A (ja) 通信装置及びマスタ装置
JP4924970B2 (ja) データ処理システム
JP2009003633A (ja) 情報処理装置
JP4925162B2 (ja) メモリ装置
JP5652866B2 (ja) バス調停回路及びバス調停方法
JP2010113435A (ja) メモリアクセス装置
JP4472402B2 (ja) バス装置
JP5037814B2 (ja) メモリ制御装置及びメモリ制御方法
JP5125885B2 (ja) データ入出力装置
JP6119997B2 (ja) データ処理装置、データ処理装置の制御方法
CN116225318A (zh) 命令调度方法、闪存控制器、闪存设备及存储介质
JP2011048691A (ja) 情報処理装置および制御装置
KR100825663B1 (ko) 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치
JP2011008824A (ja) 情報記憶装置、情報転送方法、情報転送システム、情報処理装置、並びに、プログラム
JP2007018266A (ja) データ転送装置及びデータ転送方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R151 Written notification of patent or utility model registration

Ref document number: 5414209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees