JP2016085515A - 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム - Google Patents
共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2016085515A JP2016085515A JP2014216196A JP2014216196A JP2016085515A JP 2016085515 A JP2016085515 A JP 2016085515A JP 2014216196 A JP2014216196 A JP 2014216196A JP 2014216196 A JP2014216196 A JP 2014216196A JP 2016085515 A JP2016085515 A JP 2016085515A
- Authority
- JP
- Japan
- Prior art keywords
- access request
- mode
- access
- request
- transferable
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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
-
- 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
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)
- Memory System (AREA)
- Multi Processors (AREA)
Abstract
Description
ノーマル転送では、リードコマンドRごとに、アクティブコマンドAでバンクアドレス及びロウアドレスの有効化を開始してから、プリチャージコマンドPでそれらの無効化を終了するまでに26クロックを要し、従って、2つのリードコマンドRを連続的に処理する場合のプロトコルオーバーヘッドは52クロックである。
BIモードでは、2つのバンクからのリードが実行されるので、まずそれらをアクティブコマンドAで有効化した後2つのリードが連続的に実行され、最後にプリチャージコマンドが1度だけ実行される。トータルのプロトコルオーバーヘッドは35クロックである。
CNモードの転送は、先行コマンド(ここではノーマルモードのリードコマンド)と同じバンクアドレス及びロウアドレスに対して行われるので、アクティブコマンドAによるそれらのアドレスの有効化は最初だけでよく、プリチャージコマンドも最後に1度だけ実行すればよいので、プロトコルオーバーヘッドは最短の28クロックである。プロトコルオーバーヘッドだけを考えれば、CNモードがベストということになる。
前記各要求元からのアクセス要求を受け付けるアクセス要求受け付け部と、
前記アクセス要求受け付け部が受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択し、前記最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択し、前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択する、アクセス要求選択部と、
を含み、
前記アクセス要求選択部は、前記BIモードで転送可能なアクセス要求または前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択を繰り返すように構成される。
前記各要求元からのアクセス要求を受け付けるステップと、
前記受け付けるステップで受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択するステップと、
前記最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択するステップと、
前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択するステップと、
を含み、
前記BIモードで転送可能なアクセス要求または前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップを繰り返すように構成される。
12:プロセッサ
13:DRAMコントローラ
14:共有DRAM
31:アクセス要求受け付け部
32:アクセス要求選択部
33:データ転送部
34:DRAMコントローラインターフェース
Claims (11)
- 複数の要求元によって共有される共有メモリに対して、各要求元からのアクセス要求をスケジューリングするための装置であって、
前記各要求元からのアクセス要求を受け付けるアクセス要求受け付け部と、
前記アクセス要求受け付け部が受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択し、前記最初のアクセス要求に対して、バンク・インターリーブ・モード(以下、BIモードという)で転送可能なアクセス要求を選択し、前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくは連続リード/ライト・モード(以下、CNモードという)の場合に、CNモードで転送可能なアクセス要求を選択する、アクセス要求選択部と、
を含み、
前記アクセス要求選択部は、前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択を繰り返す、スケジューリング装置。 - 前記アクセス要求受け付け部は、前記各要求元からのアクセス要求を到着順にFIFOバッファに保管し、
前記アクセス要求選択部は、前記FIFOバッファに保管されているアクセス要求のうち、最も待ち時間の長いアクセス要求を前記最初のアクセス要求として選択する、
請求項1に記載のスケジューリング装置。 - 前記アクセス要求選択部は、前記FIFOバッファに保管されているアクセス要求を待ち時間の長いものから順に走査することにより、前記BIモードまたは前記CNモードで転送可能なアクセス要求があるかどうかを判断する、請求項2に記載のスケジューリング装置。
- 前記スケジューリング装置に対してあらかじめ決められたアクセスタイムが割り当てられており、前記アクセス要求選択部は、前記アクセスタイムの制限内で、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択を繰り返す、請求項1乃至3のいずれか1項に記載のスケジューリング装置。
- 前記アクセス要求選択部は、アクセス要求の選択のたびに、選択したアクセス要求のプロトコルオーバーヘッドを累算し、その累算値を前記アクセスタイムと比較することによって前記累算値が前記アクセスタイムの制限を超えたかどうかを判断する、請求項4に記載のスケジューリング装置。
- 複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするための方法であって、
前記各要求元からのアクセス要求を受け付けるステップと、
前記受け付けるステップで受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択するステップと、
前記最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択するステップと、
前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択するステップと、
を含み、
前記BIモードで転送可能なアクセス要求または前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップを繰り返す、スケジューリング方法。 - 前記アクセス要求を受け付けるステップは、前記各要求元からのアクセス要求を到着順にFIFOバッファに保管し、
前記最初のアクセス要求を選択するステップは、前記FIFOバッファに保管されているアクセス要求のうち、最も待ち時間の長いアクセス要求を前記最初のアクセス要求として選択する、
請求項6に記載のスケジューリング方法。 - 前記BIモードで転送可能なアクセス要求を選択するステップおよび前記CNモードで転送可能なアクセス要求を選択するステップは、前記FIFOバッファに保管されているアクセス要求を待ち時間の長いものから順に走査することにより、前記BIモードで転送可能なアクセス要求があるかどうか、および前記CNモードで転送可能なアクセス要求があるかどうかをそれぞれ判断する、請求項7に記載のスケジューリング方法。
- 当該スケジューリング方法を実行する装置に対してあらかじめ決められたアクセスタイムが割り当てられており、前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップは、前記アクセスタイムの制限内で、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択をそれぞれ繰り返す、請求項6乃至8のいずれか1項にスケジューリング方法。
- 前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップは、アクセス要求の選択のたびに、選択したアクセス要求のプロトコルオーバーヘッドを累算し、その累算値を前記アクセスタイムと比較することによって前記累算値が前記アクセスタイムの制限を超えたかどうかを判断する、請求項9に記載のスケジューリング方法。
- 複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするためのコンピュータプログラムであって、請求項6乃至10のいずれか1項に記載のスケジューリング方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216196A JP5911548B1 (ja) | 2014-10-23 | 2014-10-23 | 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム |
US14/835,660 US9620215B2 (en) | 2014-10-23 | 2015-08-25 | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216196A JP5911548B1 (ja) | 2014-10-23 | 2014-10-23 | 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5911548B1 JP5911548B1 (ja) | 2016-04-27 |
JP2016085515A true JP2016085515A (ja) | 2016-05-19 |
Family
ID=55792042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014216196A Active JP5911548B1 (ja) | 2014-10-23 | 2014-10-23 | 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9620215B2 (ja) |
JP (1) | JP5911548B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210134749A (ko) * | 2019-03-27 | 2021-11-10 | 우시 히스키 메디칼 테크놀로지스 컴퍼니., 리미티드. | 데이터를 저장하는 장치, 방법 및 판독 가능 저장매체 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210081093A (ko) * | 2019-12-23 | 2021-07-01 | 주식회사 실리콘웍스 | 메모리 컨트롤러, 및 이의 동작 방법 |
CA3073723A1 (en) | 2020-02-26 | 2021-08-26 | The Toronto-Dominion Bank | Data rendering for applications |
US20220107924A1 (en) * | 2020-10-01 | 2022-04-07 | The Toronto-Dominion Bank | Data reporting architecture for applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784875A (ja) * | 1993-09-16 | 1995-03-31 | Oki Electric Ind Co Ltd | ライトバッファ制御機構 |
JP2000315172A (ja) * | 1997-12-05 | 2000-11-14 | Texas Instr Inc <Ti> | アクセス待ち時間を減少するためにメモリ状態情報を使用するメモリ制御 |
JP2012083946A (ja) * | 2010-10-12 | 2012-04-26 | Canon Inc | メモリ制御装置、メモリ制御方法 |
JP2014167763A (ja) * | 2013-02-28 | 2014-09-11 | Canon Inc | 電子機器及びその制御方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282223A (ja) | 1996-04-12 | 1997-10-31 | Ricoh Co Ltd | メモリ制御装置 |
JP3265226B2 (ja) | 1997-05-28 | 2002-03-11 | 甲府日本電気株式会社 | バンクアクセス制御方式 |
US7272703B2 (en) * | 1997-08-01 | 2007-09-18 | Micron Technology, Inc. | Program controlled embedded-DRAM-DSP architecture and methods |
US6119207A (en) | 1998-08-20 | 2000-09-12 | Seiko Epson Corporation | Low priority FIFO request assignment for DRAM access |
JP2000330866A (ja) | 1999-05-20 | 2000-11-30 | Nec Corp | メモリ制御方法およびメモリ制御システム |
EP1482412B1 (en) | 2003-05-30 | 2006-08-23 | Agilent Technologies Inc | Shared storage arbitration |
US7356631B2 (en) | 2005-01-21 | 2008-04-08 | Himax Technologies, Inc. | Apparatus and method for scheduling requests to source device in a memory access system |
JP4416694B2 (ja) | 2005-05-12 | 2010-02-17 | 株式会社ソニー・コンピュータエンタテインメント | データ転送調停装置およびデータ転送調停方法 |
JP2008140065A (ja) | 2006-11-30 | 2008-06-19 | Toshiba Corp | アクセス調停装置、アクセス調停方法、及び情報処理装置 |
WO2009130888A1 (ja) * | 2008-04-22 | 2009-10-29 | パナソニック株式会社 | メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 |
JP5068300B2 (ja) * | 2009-11-24 | 2012-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム |
US9268721B2 (en) * | 2010-11-25 | 2016-02-23 | International Business Machines Corporation | Holding by a memory controller multiple central processing unit memory access requests, and performing the multiple central processing unit memory requests in one transfer cycle |
CN102207918B (zh) * | 2011-06-07 | 2014-04-23 | 北京北大众志微系统科技有限责任公司 | 一种片上总线仲裁方法及装置 |
US9208002B2 (en) * | 2012-01-06 | 2015-12-08 | International Business Machines Corporation | Equalizing bandwidth for multiple requesters using a shared memory system |
-
2014
- 2014-10-23 JP JP2014216196A patent/JP5911548B1/ja active Active
-
2015
- 2015-08-25 US US14/835,660 patent/US9620215B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784875A (ja) * | 1993-09-16 | 1995-03-31 | Oki Electric Ind Co Ltd | ライトバッファ制御機構 |
JP2000315172A (ja) * | 1997-12-05 | 2000-11-14 | Texas Instr Inc <Ti> | アクセス待ち時間を減少するためにメモリ状態情報を使用するメモリ制御 |
JP2012083946A (ja) * | 2010-10-12 | 2012-04-26 | Canon Inc | メモリ制御装置、メモリ制御方法 |
JP2014167763A (ja) * | 2013-02-28 | 2014-09-11 | Canon Inc | 電子機器及びその制御方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210134749A (ko) * | 2019-03-27 | 2021-11-10 | 우시 히스키 메디칼 테크놀로지스 컴퍼니., 리미티드. | 데이터를 저장하는 장치, 방법 및 판독 가능 저장매체 |
KR102589643B1 (ko) * | 2019-03-27 | 2023-10-16 | 우시 히스키 메디칼 테크놀로지스 컴퍼니., 리미티드. | 데이터를 저장하는 장치, 방법 및 판독 가능 저장매체 |
US11836098B2 (en) | 2019-03-27 | 2023-12-05 | Wuxi Hisky Medical Technologies Co., Ltd. | Data storage apparatus and method, and readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5911548B1 (ja) | 2016-04-27 |
US9620215B2 (en) | 2017-04-11 |
US20160117123A1 (en) | 2016-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100724557B1 (ko) | 아웃 오브 오더 dram 시퀀서 | |
JP4926963B2 (ja) | 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法 | |
US7093094B2 (en) | Random access memory controller with out of order execution | |
JP4715801B2 (ja) | メモリアクセス制御装置 | |
JP5666722B2 (ja) | メモリ・インターフェース | |
US20150046642A1 (en) | Memory command scheduler and memory command scheduling method | |
JP4805351B2 (ja) | Dramの並列処理を向上するシステム及び方法 | |
TWI710910B (zh) | 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點 | |
JPH0219945A (ja) | 主記憶制御装置 | |
CN108139994B (zh) | 内存访问方法及内存控制器 | |
JP5911548B1 (ja) | 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム | |
US6836831B2 (en) | Independent sequencers in a DRAM control structure | |
US8667199B2 (en) | Data processing apparatus and method for performing multi-cycle arbitration | |
US7913013B2 (en) | Semiconductor integrated circuit | |
US20120159024A1 (en) | Semiconductor apparatus | |
KR101022473B1 (ko) | 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 | |
KR20240000773A (ko) | 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 메모리 컨트롤러 | |
JP5383159B2 (ja) | バス中継装置及び制御方法 | |
EP1704487B1 (en) | Dmac issue mechanism via streaming id method | |
US20100131677A1 (en) | Data transfer device and data transfer method | |
JP6165104B2 (ja) | 情報処理装置および調停方法 | |
JP4593220B2 (ja) | メモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法 | |
JP2006268734A (ja) | メモリアクセス制御装置 | |
JP2003228512A (ja) | データ転送装置 | |
JP5076574B2 (ja) | メモリアクセス装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160212 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160225 |
|
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: 20160308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160329 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5911548 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |