JP5205956B2 - メモリ制御装置 - Google Patents
メモリ制御装置 Download PDFInfo
- Publication number
- JP5205956B2 JP5205956B2 JP2007335671A JP2007335671A JP5205956B2 JP 5205956 B2 JP5205956 B2 JP 5205956B2 JP 2007335671 A JP2007335671 A JP 2007335671A JP 2007335671 A JP2007335671 A JP 2007335671A JP 5205956 B2 JP5205956 B2 JP 5205956B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- read
- bank
- data
- write
- 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.)
- Expired - Fee Related
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
- G06F13/1689—Synchronisation and timing concerns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Description
図16はDRAMインタフェースのタイムチャートを示す図である。DRAMは4つのバンクb1〜b4を持つものとし、各バンクにシリアルにアクセスするインタフェースを示している。
〔S1a〕サイクルC1で、バンクb1にデータd1の書き込みが開始されると、その後、バンクb1にはサイクルC2〜C4まで書き込みアクセスはできず、バンク制約が発生する(バンクb1にアクセスできない時間が発生するということ)。次にバンクb1にアクセス可能なサイクルは、サイクルC5以降となる。
〔S2a〕サイクルC3で、バンクb2にデータd2の書き込みが開始されると、その後、バンクb2にはサイクルC4〜C6まで書き込みアクセスはできず、バンク制約が発生する。次にバンクb2にアクセス可能なサイクルは、サイクルC7以降となる(その後、バンクb3、b4の順に書き込みアクセスを行って、バンクb3、b4に対しても同様のバンク制約が発生する)。
〔S3a〕サイクルC11で、バンクb1からデータd11の読み出しが開始されると、その後、バンクb1にはサイクルC12〜C14まで読み出しアクセスはできず、バンク制約が発生する。次にバンクb1にアクセス可能なサイクルは、サイクルC15以降となる。
〔S4a〕サイクルC13で、バンクb2からデータd12の読み出しが開始されると、その後、バンクb2にはサイクルC14〜C16まで読み出しアクセスはできず、バンク制約が発生する。次にバンクb2にアクセス可能なサイクルは、サイクルC17以降となる(以降同様に、バンクb3、b4の順に読み出しアクセスを行って、バンクb3、b4に対してもバンク制約が発生する)。
〔C5〕書き込みコマンドw2により、DRAM#1の任意バンクにデータd5を、DRAM#2の任意バンクにデータd6を、DRAM#3の任意バンクにデータd7を、DRAM#4の任意バンクにデータd8を書き込む。なお、任意バンクへの書き込みを行うため、前回の書き込みのときにアクセスしたバンクと同じバンクに対してもアクセスできるように、サイクルC1の書き込み処理で発生したバンク制約が解除された後の、サイクルC5から書き込みを開始している。
〔C11〕読み出しコマンドr1により、DRAM#1の該当バンクからデータd11を、DRAM#2の該当バンクからデータd12を、DRAM#3の該当バンクからデータd13を、DRAM#4の該当バンクからデータd14を読み出す。
〔C15〕読み出しコマンドr2により、DRAM#1の該当バンクからデータd15を、DRAM#2の該当バンクからデータd16を、DRAM#3の該当バンクからデータd17を、DRAM#4の該当バンクからデータd18を読み出す。なお、前回の読み出しのときにアクセスしたバンクと同じバンクに対してもアクセスできるように、サイクルC11の読み出し処理で発生したバンク制約が解除された後の、サイクルC15から読み出しを開始している。
〔S5b〕書き込みから読み出しへアクセスを切り替えたので、書き込み/読み出し切り替え制約が発生する。
〔C1、C3、C5、C7〕書き込みコマンドw1〜w4により、セグメントs11aの書き込み処理として、バンクb1にデータd1を書き込み、バンクb2にデータd2を書き込み、バンクb3にデータd3を書き込み、バンクb4にデータd4を書き込む。また、それぞれの書き込み処理に対してバンク制約が発生する。
〔C11、C13、C15〕セグメント単位での書き込みアクセス処理により、サイクルC11、C13、C15においてもバンクb2〜b4に対する書き込みコマンドが発生するが、実際には、書き込むべきデータは存在しないので、この部分のサイクルはアイドルサイクルとなる。
そして、セグメント/リクエスト情報分割部2aは、ページP1−2の格納先のDRAM#2/バンク#2のRow/Columnアドレスとシリアルナンバー(m+1)とをページP1−2に対する書き込みリクエスト(書き込みリクエストW2とする)として生成し、この書き込みリクエストW2をDRAM#2/バンク#2に該当する書き込みリクエストFiFoへ送信する。
〔t2〕時間t2で到着した読み出しデータ(n)は、格納領域(n)に格納される。
〔t4〕時間t4で到着した読み出しデータ(n+5)は、格納領域(n+5)に格納される。
11 パケット分割部
12 メモリ管理部
12a アドレス管理テーブル
13 スケジューラ
14 出力振り分け部
2 メモリ制御部
2a セグメント/リクエスト情報分割部
2b セグメント組立部
20 メモリアクセス制御部
3 メモリ部
3−1〜3−n メモリ
Claims (6)
- 記憶領域に複数のバンクを持つメモリへのアクセス制御を行うメモリ制御装置において、
受信したパケットデータをセグメントに分割するセグメント分割と、パケット品質情報の検出処理とを行うパケット分割部と、
前記バンクへの格納先のアドレス管理を行うためのアドレス管理テーブルを有し、前記パケット品質情報毎に、前記パケットデータの格納状態を管理するメモリ管理部と、
前記セグメントを、前記メモリに書き込み/読み出し可能なアクセス単位のデータに分割し、かつ前記アクセス単位毎の書き込みリクエストおよび読み出しリクエストを生成するセグメント/リクエスト情報分割部と、前記書き込みリクエストにもとづき前記バンクへ前記データを書き込み、前記読み出しリクエストにもとづき前記バンクから前記データを読み出すためのメモリアクセス制御を行うメモリアクセス制御部と、から構成されるメモリ制御部と、
を備え、
前記メモリアクセス制御部は、生成した前記書き込みリクエストまたは前記読み出しリクエストの内、バンク制約が生じてアクセス禁止となった前記バンクを回避して、アクセス可能な前記バンクに対応する前記書き込みリクエストまたは前記読み出しリクエストを抽出して、前記メモリに対して書き込み/読み出しアクセスを行い、
前記メモリ制御部は、シリアルナンバー毎に格納領域が区分けされ、到着した前記メモリからの読み出しデータを格納して保持する保持メモリを含み、前記読み出しデータの並び替え/組み立てを行って、前記セグメントを出力するセグメント組立部をさらに有し、
前記セグメント/リクエスト情報分割部は、セグメント単位に付与したリクエストIDと、前記セグメントをアクセス単位に分割した際の分割数と、前記アクセス単位に分割したときに前記データに付与したシリアルナンバーの内、先頭データに付与した先頭シリアルナンバーと、の項目から構成される分割情報を前記セグメント組立部へ送信し、
前記セグメント組立部は、
到着した前記読み出しデータを、前記保持メモリの中の、前記読み出しデータに付与されているシリアルナンバーと同じシリアルナンバーを持つ領域に格納し、
前記分割情報にもとづいて、1セグメントを構成する前記読み出しデータの個数と、先頭に位置する前記読み出しデータとを認識して、セグメント単位にすべての前記読み出しデータが前記保持メモリに格納されるのを待ち、
1セグメントを構成するすべての前記読み出しデータが前記保持メモリに格納された後は、前記リクエストIDの順に前記セグメントを出力する、
ことを特徴とするメモリ制御装置。 - 前記メモリアクセス制御部は、
バンク単位に前記アクセス単位のデータを格納するデータメモリと、
バンク単位に前記書き込みリクエストを格納する書き込みリクエストメモリと、
バンク単位に前記読み出しリクエストを格納する読み出しリクエストメモリと、
前記データを書き込むべき前記バンクに対応する前記書き込みリクエストメモリを選択して、選択した前記書き込みリクエストメモリから前記書き込みリクエストを抽出し、または前記データを読み出すべき前記バンクに対応する前記読み出しリクエストメモリを選択して、選択した前記読み出しリクエストメモリから前記読み出しリクエストを抽出するメモリ選択制御部と、
を有することを特徴とする請求項1記載のメモリ制御装置。 - 前記メモリ選択制御部は、メモリ選択部、書き込み/読み出し切り替え管理部、バンク待ち受け管理部を有し、
前記書き込み/読み出し切り替え管理部は、前記メモリへ前記データを書き込む場合には、書き込み指示を前記メモリ選択部へ送信し、前記メモリから前記データを読み出す場合には、読み出し指示を前記メモリ選択部へ送信し、
前記バンク待ち受け管理部は、前記バンク制約を生じている前記バンクを認識し、どの前記バンクがアクセス可能で、どの前記バンクがアクセス禁止かを示すアクセス状態信号をバンク毎に前記メモリ選択部へ送信し、
前記メモリ選択部は、
前記書き込み指示を受信した場合、前記アクセス状態信号から、現在アクセス可能な前記バンクを認識し、アクセス可能な前記バンクに対応する前記書き込みリクエストメモリの中から、最も番号の若いシリアルナンバーが付与されている前記書き込みリクエストが格納されている前記書き込みリクエストメモリを選択し、選択した前記書き込みリクエストメモリから前記書き込みリクエストを抽出して、前記書き込みリクエストにもとづき、書き込みコマンドおよび書き込みアドレスを生成し、
前記読み出し指示を受信した場合、前記アクセス状態信号から、現在アクセス可能な前記バンクを認識し、アクセス可能な前記バンクに対応する前記読み出しリクエストメモリの中から、最も番号の若いシリアルナンバーが付与されている前記読み出しリクエストが格納されている前記読み出しリクエストメモリを選択し、選択した前記読み出しリクエストメモリから前記読み出しリクエストを抽出して、前記読み出しリクエストにもとづき、読み出しコマンドおよび読み出しアドレスを生成する、
ことを特徴とする請求項2記載のメモリ制御装置。 - 前記書き込み/読み出し切り替え管理部は、前記メモリへの書き込みアクセスおよび読み出しアクセスが均等になるように、前記メモリに対する前記書き込みコマンドの回数と前記読み出しコマンドの回数とをカウントし、カウント値がそれぞれ規定数に達したときには、前記書き込みアクセスから前記読み出しアクセスへ、または前記読み出しアクセスから前記書き込みアクセスへ切り替えることを特徴とする請求項3記載のメモリ制御装置。
- 前記メモリ選択制御部は、リフレッシュ管理部をさらに有し、
前記リフレッシュ管理部は、前記メモリをリフレッシュするためのリフレッシュ指示を一定時間間隔で前記メモリ選択部へ送信し、
前記メモリ選択部は、
前記書き込みアクセス中に、前記リフレッシュ指示を受信した場合は、前記書き込みアクセスから前記読み出しアクセスへ切り替わるまで、リフレッシュ動作を待たせ、前記書き込みリクエストメモリの選択が終了して、前記書き込みアクセスから前記読み出しアクセスへ切り替える時に、リフレッシュコマンドを前記メモリへ送信し、
前記読み出しアクセス中に、前記リフレッシュ指示を受信した場合は、前記読み出しアクセスから前記書き込みアクセスへ切り替わるまで、リフレッシュ動作を待たせ、前記読み出しリクエストメモリの選択が終了して、前記読み出しアクセスから前記書き込みアクセスへ切り替える時に、リフレッシュコマンドを前記メモリへ送信する、
ことを特徴とする請求項3記載のメモリ制御装置。
- 前記アドレス管理テーブルは、異なる前記パケット品質情報毎に対応して設けられる複数のキューに格納されるセグメントテーブル情報で構成され、
前記セグメントテーブル情報は、前記セグメントの中の前記データが格納されるメモリ番号/バンク番号、前記メモリ番号/バンク番号に該当するメモリ領域のアドレス、セグメント長、前記セグメントが前記パケットデータの先頭、中間、最終のどの位置にあるかを示すセグメントタイプとの項目から構成され、
前記メモリ管理部は、前記セグメントテーブル情報から、前記メモリ番号/バンク番号、前記アドレス、前記セグメント長、セグメント単位に付与するリクエストIDを含む書き込みリクエスト情報および読み出しリクエスト情報を作成して前記セグメント/リクエスト情報分割部へ送信し、
前記セグメント/リクエスト情報分割部は、前記書き込みリクエスト情報にもとづき、書き込みデータのアドレスおよび前記書き込みデータに付与したシリアルナンバーを含む前記書き込みリクエストを作成し、前記読み出しリクエスト情報にもとづき、読み出しデータのアドレスおよび前記読み出しデータに付与したシリアルナンバーを含む前記読み出しリクエストを作成することを特徴とする請求項1記載のメモリ制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007335671A JP5205956B2 (ja) | 2007-12-27 | 2007-12-27 | メモリ制御装置 |
US12/230,252 US7904677B2 (en) | 2007-12-27 | 2008-08-26 | Memory control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007335671A JP5205956B2 (ja) | 2007-12-27 | 2007-12-27 | メモリ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009157680A JP2009157680A (ja) | 2009-07-16 |
JP5205956B2 true JP5205956B2 (ja) | 2013-06-05 |
Family
ID=40800035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007335671A Expired - Fee Related JP5205956B2 (ja) | 2007-12-27 | 2007-12-27 | メモリ制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7904677B2 (ja) |
JP (1) | JP5205956B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8397306B1 (en) * | 2009-09-23 | 2013-03-12 | Parallels IP Holdings GmbH | Security domain in virtual environment |
US8208484B2 (en) * | 2010-01-11 | 2012-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding a packet within a router using fragments over an interconnect |
JP5499346B2 (ja) * | 2010-04-27 | 2014-05-21 | ルネサスエレクトロニクス株式会社 | 半導体装置およびそれを用いた通信装置 |
US8314807B2 (en) | 2010-09-16 | 2012-11-20 | Apple Inc. | Memory controller with QoS-aware scheduling |
US8631213B2 (en) | 2010-09-16 | 2014-01-14 | Apple Inc. | Dynamic QoS upgrading |
JP2012169010A (ja) * | 2011-02-15 | 2012-09-06 | Nec Corp | メモリシステム、バッファメモリ制御方法およびバッファメモリ制御プログラム |
CN102567258B (zh) * | 2011-12-29 | 2014-08-27 | 中国科学院自动化研究所 | 多维dma传输装置与方法 |
US9053058B2 (en) | 2012-12-20 | 2015-06-09 | Apple Inc. | QoS inband upgrade |
US9229896B2 (en) | 2012-12-21 | 2016-01-05 | Apple Inc. | Systems and methods for maintaining an order of read and write transactions in a computing system |
JP2015186233A (ja) | 2014-03-26 | 2015-10-22 | 富士通株式会社 | パケット処理装置、及びパケット処理方法 |
JP6287571B2 (ja) * | 2014-05-20 | 2018-03-07 | 富士通株式会社 | 演算処理装置、情報処理装置、及び、演算処理装置の制御方法 |
CN105335296B (zh) * | 2014-07-30 | 2018-08-14 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100358032B1 (ko) * | 1996-03-08 | 2004-06-05 | 가부시키가이샤 엔.티.티.도코모 | 쇼트 셀 다중 에이티엠 전송 시스템 및 전송 방법 |
JPH09251437A (ja) * | 1996-03-18 | 1997-09-22 | Toshiba Corp | 計算機装置及び連続データサーバ装置 |
JP3979716B2 (ja) * | 1998-01-06 | 2007-09-19 | 富士通株式会社 | クロック同期型メモリ装置及びそのスケジューラ回路 |
JP3936550B2 (ja) * | 2001-05-14 | 2007-06-27 | 富士通株式会社 | パケットバッファ |
US20030163643A1 (en) * | 2002-02-22 | 2003-08-28 | Riedlinger Reid James | Bank conflict determination |
US7606249B1 (en) * | 2004-12-21 | 2009-10-20 | Extreme Networks, Inc. | Methods and systems for caching packets to be written to or read from packet memory |
-
2007
- 2007-12-27 JP JP2007335671A patent/JP5205956B2/ja not_active Expired - Fee Related
-
2008
- 2008-08-26 US US12/230,252 patent/US7904677B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7904677B2 (en) | 2011-03-08 |
JP2009157680A (ja) | 2009-07-16 |
US20090172318A1 (en) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5205956B2 (ja) | メモリ制御装置 | |
US9841913B2 (en) | System and method for enabling high read rates to data element lists | |
US7822915B2 (en) | Memory controller for packet applications | |
US7684424B2 (en) | Memory interleaving in a high-speed switching environment | |
KR20160117108A (ko) | 다수의 링크된 메모리 리스트들을 사용하기 위한 방법 및 장치 | |
EP1454460A1 (en) | Overcoming access latency inefficiency in memories for packet switched networks | |
CN109861931B (zh) | 一种高速以太网交换芯片的存储冗余系统 | |
CN108984280B (zh) | 一种片外存储器的管理方法和装置、计算机可读存储介质 | |
EP1407362A4 (en) | COUPLING FIELD WITH DOUBLE PORT MEMORY GRADING SCHEME | |
US10884829B1 (en) | Shared buffer memory architecture | |
US9785367B2 (en) | System and method for enabling high read rates to data element lists | |
CN100466601C (zh) | 一种数据读写装置及其读写方法 | |
US7627672B2 (en) | Network packet storage method and network packet transmitting apparatus using the same | |
CN103220230A (zh) | 支持报文交叉存储的动态共享缓冲方法 | |
JP4408374B2 (ja) | 高速交換環境でパケットを交換するシステム、方法及び論理 | |
Kabra et al. | Fast buffer memory with deterministic packet departures | |
US8073999B2 (en) | Data input-output control apparatus | |
US20250094367A1 (en) | Multi-bank memory that supports multiple reads and multiple writes per cycle | |
JP5499346B2 (ja) | 半導体装置およびそれを用いた通信装置 | |
JP5691419B2 (ja) | 要求転送装置及び要求転送方法 | |
CN117354268A (zh) | 一种报文的缓存方法、装置、电子设备及存储介质 | |
JP2011239326A (ja) | 半導体装置およびそれを用いた通信装置 | |
CN118631766A (zh) | 一种交换机高效多端口并行共享缓存管理系统 | |
CN102270178B (zh) | 统计信息存储方法及装置 | |
US20050038908A1 (en) | High speed pipeline architecture with high update rate of associated memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121016 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121213 |
|
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: 20130122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5205956 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |