JP6079458B2 - 共有メモリ装置、メモリアクセス方法 - Google Patents
共有メモリ装置、メモリアクセス方法 Download PDFInfo
- Publication number
- JP6079458B2 JP6079458B2 JP2013122094A JP2013122094A JP6079458B2 JP 6079458 B2 JP6079458 B2 JP 6079458B2 JP 2013122094 A JP2013122094 A JP 2013122094A JP 2013122094 A JP2013122094 A JP 2013122094A JP 6079458 B2 JP6079458 B2 JP 6079458B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- packet
- unit
- srio
- 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
Landscapes
- Bus Control (AREA)
Description
ブGM(Global Memory)カード等)カードとがネットワーク経由で接続されている。そ
のインタフェースプロトコルとして、例えばPCI Expressが使用されている。
装置は、複数(例えば、6枚)のMPUカードを有する。各MPUカードは、無線基地局データ等のユーザデータを共有のメモリカードに保存している。MPUカードの異常等によりMPUカードが交換されたとしても、交換されたMPUカードが使用するユーザデータは共有のメモリカードに存在しているので、交換後の復旧が容易になる。また、この共有のメモリカードは冗長構成により、現用のメモリカード自体が故障した際に、ユーザデータを維持することを可能にしている。
sによるパケットに比べて、オーバーヘッドが小さい。SRIOでは、34ビット、50ビット、66ビットの3種類のアドレスオフセットが用意されている。しかし、50ビット、66ビットのアドレスオフセットは、オプションであり、既存のデバイスでは、ほとんどサポートされていない。従って、SRIOでは、34ビットのアドレスオフセットが実質的なサポート範囲である。34ビットのアドレスオフセットを使用するSRIOでは、37ビットのアドレスビットで特定される96GBのメモリにアクセスすることは難しい。以後、SRIOは、34ビットのアドレスオフセットを使用するものとする。
データが格納されるメモリ部と、変換部と、メモリアクセス部とを備え、
前記変換部は、読み出し対象データの前記メモリ部におけるアドレス及び前記読み出し対象データの大きさを含む読み出し信号を受信し、前記メモリ部における前記アドレスを所定の第1ビット数の上位ビットのアドレスと所定の第2ビット数の下位ビットのアドレスとに分離し、前記上位ビットのアドレスを含む第1信号と、前記下位ビットのアドレス及び前記読み出し対象データの大きさを含む第2信号とを生成し、前記第1信号及び前記第2信号をメモリアクセス部に送信し、
前記メモリアクセス部は、前記第1信号を前記変換部から受信し、前記第1信号から前記上位ビットのアドレスを抽出し、前記上位ビットのアドレスで示される領域のデータを前記メモリ部から読み出し、前記第2信号を前記変換部から受信し、前記第2信号から前記下位ビットのアドレス及び前記読み出し対象データの大きさを抽出し、前記メモリ部から読み出された前記上位ビットのアドレスで示される領域のデータから前記下位ビットのアドレス及び前記読み出し対象データの大きさで特定されるデータを抽出し、抽出されたデータを含む第3信号を生成し、前記第3信号を前記変換部に送信する、
共有メモリ装置とする。
(構成例)
図2は、共有メモリ装置の構成例を示す図である。図2の共有メモリ装置10は、メモリカード100、複数の制御カード200を含む。複数の制御カード200をそれぞれ区別する場合には、制御カード200−1、制御カード200−2、制御カード200−3、制御カード200−4、制御カード200−5、制御カード200−6とする。各制御カード200は、それぞれ、同様の構成を有する。メモリカード100は、GM_FPGA102、複数のDDRメモリ180を含む。GM_FPGA102は、複数のSRIO終端部110、要求多重スイッチ150、複数の要求PHY変換部160、複数のDDR
PHY170を含む。複数のSRIO終端部110をそれぞれ区別する場合には、SRIO終端部110−1、SRIO終端部110−2、SRIO終端部110−3、SRIO終端部110−4、SRIO終端部110−5、SRIO終端部110−6とする。制御カード200及びSRIO終端部110の数は、6個に限定されるものではない。各SRIO終端部110は、それぞれ、同様の構成を有する。メモリカード100は、要求PHY変換部160、DDR PHY170、DDRメモリ180をn個ずつ含む。nは整数である。各要求PHY変換部160、各DDR_PHY170、各DDRメモリ180をそれぞれ区別する場合は、要求PHY変換部160−i、DDR PHY170−i、DDRメモリ180−i(iは1以上n以下の整数)とする。ここでは、DDRメモリ180−1乃至DDRメモリ180−nが、合わせて96GBのメモリ領域を有しているとする。例えば、DDRメモリ180−iの容量が8GBであるとき、nは12となる。当該96GBのメモリ領域は、37ビットのアドレスによって、1バイト単位で特定される。また、当該96GBのメモリ領域は、37ビットのアドレスの上位31ビットによって、64バイト単位で特定される。
DDRメモリ180は、メモリデバイスである。DDRメモリ180には、データが格納される。DDRメモリ180の1バイト単位の各領域は、37ビットのアドレスで特定される。DDRメモリ180では、37ビットのアドレスの上位31ビットで、64バイト単位の領域が一意に特定される。DDRメモリ180は、メモリ部の一例である。
PHY112、SRIOパケット判定部114、MSG受信部116、NWrite受信部118、NRead受信部120、変更書込制御部122、書込要求部124を含む。また、SRIO終端部110は、読出要求部126、バッファ128、アドレス多重部130、MSG応答部132、NRead応答部134、パケット多重部136を含む。
SRIOパケット判定部114は、SRIOの受信パケットから、MSGパケット、NWriteパケット、NReadパケットを判定する。
NWrite受信部118は、SRIO NWrite受信パケットから、書込データ及び下位アドレスを抽出する。
ッファ128からのデータを読み出し、変更部分の書き換えを実施し、DDRメモリ180に書込要求を与える。
NRead応答部134は、SRIO NReadに対する応答パケットを生成する。応答パケットには、読み出されたデータが含まれる。
MSG230、SRIO NWrite232、SRIO NRead234を含む。また、MPU_FPGA220は、多重部236、SRIO PHY238、SRIO Resp240、PCIe送信部242を含む。
220は、変換部の一例である。
アドレス抜出部226は、受信したPCI Expressパケットから、アクセスするメモリ領域を指定するアドレスのうち上位アドレスを抜き出す。
SRIO PHY238は、SRIOのインタフェース用のPHY機能部である。
共有メモリ装置10の各ユニットは、ハードウェアの構成要素、ソフトウェアの構成要素、又は、これらの組み合わせとして、それぞれ実現され得る。
トの組み合わせ、アナログ回路等がある。
〈書き込み〉
ここでは、MPU210からDDRメモリ180の所望の位置に所望のデータを書き込む動作について説明する。
信する。SRIOパケット判定部114は、SRIO NWriteパケットを、NWrite受信部118に送信する。
8から送信された64ビットのデータ内で、下位6ビットで示されるアドレスを先頭に、書き込み対象のデータのサイズのデータが、書き込み対象のデータによって、書き換えられる。変更書込制御部122は、書き込み対象のデータによって書き換えられた64バイトのデータ(書き込みデータ)を、書込要求部124に送信する。
ここでは、MPU210からDDRメモリ180の所望のデータを読み出す動作について説明する。
パケット判定部228は、PCIeReadパケットから、読み出し対象のデータのアドレス(読み出し先のアドレス)を抜き出す。PCIeパケット判定部228は、抜き出した37ビットのアドレスから、下位6ビットを抽出する。PCIeパケット判定部228は、PCIeReadパケットから、読み出し対象のデータのサイズを抽出する。PCIeパケット判定部228は、抽出したアドレスの下位6ビット、抽出した読み出し対象のデータのサイズを、SRIO NRead234に送信する。SRIO NRead234は、アドレスの下位6ビット及びデータのサイズを含むSRIO NReadパケットを生成する。SRIO NReadパケットのアドレスにアドレスの下位6ビットが含まれ、SRIO NReadパケットのヘッダにデータのサイズが含まれる。SRIO NRead234は、生成したSRIO NReadパケットを多重部236に送信する。
TAに含まれるデータを抽出する。MPU_FPGA220は、抽出データをUSERDATAに含むPCIeCompパケットを生成し、MPU210に送信する。
図8は、書き込みのパケットの構成例を示す図である。図8では、PCIe Writeパケットと、SRIO NWriteパケットの例を示す。PCIe Writeパケットは、Headerで88ビット、Addressで64ビット、Footerで40ビットを使用する。PCIe Writeパケットには、USERDATAが含まれる。USERDATAの大きさは、パケットによって異なる。SRIO NWriteパケットは、Headerで48ビット、Addressで32ビット、Footerで16ビットを使用する。SRIO NWriteパケットには、USERDATAが含まれる。USERDATAの大きさは、パケットによって異なる。USERDATAのサイズが同じである場合、SRIO NWriteパケットは、PCIe Writeパケットより小さい。SRIO NWriteパケットのUSERDATAに書き込み対象のデータが含まれる。SRIO NWriteパケットのAddressに書き込み対象のデータのアドレスの上位31ビットが含まれる。
共有メモリ装置10の制御カードは、37ビットで示される96GBのメモリのアドレスを、上位31ビットと下位6ビットとに分離する。共有メモリ装置10は、上位31ビットで指定される領域のデータ(64バイトのデータ)をDDRメモリ180から読み出す。共有メモリ装置10は、読み出された64バイトのデータから、下位6ビットのアドレスで示される位置のデータを読み出す。また、共有メモリ装置10は、読み出された64バイトのデータの下位6ビットのアドレスで示される位置にデータを書き込む。共有メモリ装置10は、書き込んだデータで、DDRメモリ180の上位31ビットで指定される領域のデータを書き換える。
ケットでDDRメモリに直接アクセスした場合、書き込みに128nsかかる。
アクセスした場合と比較して、短い。本実施形態では、PCIeパケットでDDRメモリ
に直接アクセスした場合に対して、75%の時間で書き込みができる。
アクセスした場合、書き込みに124nsかかる。
セスした場合と比較して、短い。本実施形態では、PCIeパケットでDDRメモリに直
接アクセスした場合に対して、68%の時間で読み出しができる。
100 メモリカード
102 GM_FPGA
110 SRIO終端部
112 SRIO PHY
114 SRIOパケット判定部
116 MSG受信部
118 NWrite受信部
120 NRead受信部
122 変更書込制御部
124 書込要求部
126 読出要求部
128 バッファ
130 アドレス多重部
132 MSG応答部
134 NRead応答部
136 パケット多重部
150 要求多重スイッチ
160 要求PHY変換部
170 DDR PHY
180 DDRメモリ
200 制御カード
210 MPU
220 MPU_FPGA
222 PCIe PHY
224 PCIe受信部
226 アドレス抜出部
228 PCIeパケット判定部
230 SRIO MSG
232 SRIO NWrite
234 SRIO NRead
236 多重部
238 SRIO PHY
240 SRIO Resp
242 PCIe送信部
Claims (4)
- データが格納されるメモリ部と、変換部と、メモリアクセス部とを備え、
前記変換部は、読み出し対象データの前記メモリ部におけるアドレス及び前記読み出し対象データの大きさを含む読み出し信号を受信し、前記メモリ部における前記アドレスを所定の第1ビット数の上位ビットのアドレスと所定の第2ビット数の下位ビットのアドレスとに分離し、前記上位ビットのアドレスを含む第1信号と、前記下位ビットのアドレス及び前記読み出し対象データの大きさを含む第2信号とを生成し、前記第1信号及び前記第2信号をメモリアクセス部に送信し、
前記メモリアクセス部は、前記第1信号を前記変換部から受信し、前記第1信号から前記上位ビットのアドレスを抽出し、前記上位ビットのアドレスで示される領域のデータを前記メモリ部から読み出し、前記第2信号を前記変換部から受信し、前記第2信号から前記下位ビットのアドレス及び前記読み出し対象データの大きさを抽出し、前記メモリ部から読み出された前記上位ビットのアドレスで示される領域のデータから前記下位ビットのアドレス及び前記読み出し対象データの大きさで特定されるデータを抽出し、抽出されたデータを含む第3信号を生成し、前記第3信号を前記変換部に送信する、
共有メモリ装置。 - 前記変換部は、書き込み対象データの前記メモリ部におけるアドレス及び前記書き込み対象データを含む書き込み信号を受信し、前記メモリ部における前記アドレスを前記第1ビット数の前記上位ビットのアドレスと前記第2ビット数の前記下位ビットのアドレスとに分離し、前記上位ビットのアドレスを含む第4信号と、前記下位ビットのアドレス及び前記書き込み対象データを含む第5信号とを生成し、前記第4信号及び前記第5信号をメモリアクセス部に送信し、
前記メモリアクセス部は、前記第4信号を前記変換部から受信し、前記第4信号から前記上位ビットのアドレスを抽出し、前記上位ビットのアドレスで示される領域のデータを前記メモリ部から読み出し、前記第5信号を前記変換部から受信し、前記第5信号から前記下位ビットのアドレス及び前記書き込み対象データを抽出し、前記メモリ部から読み出された前記上位ビットのアドレスで示される領域のデータのうち前記下位ビットのアドレスで特定される位置を前記書き込み対象データで書き換えた書換データを生成し、生成された書換データを前記メモリ部の前記上位ビットのアドレスで示される領域に書き込む、請求項1に記載の共有メモリ装置。 - データが格納されるメモリ部と、変換部と、メモリアクセス部とを備える共有メモリ装置において、
前記変換部が、読み出し対象データの前記メモリ部におけるアドレス及び前記読み出し対象データの大きさを含む読み出し信号を受信し、前記メモリ部における前記アドレスを所定の第1ビット数の上位ビットのアドレスと所定の第2ビット数の下位ビットのアドレスとに分離し、前記上位ビットのアドレスを含む第1信号と、前記下位ビットのアドレス及び前記読み出し対象データの大きさを含む第2信号とを生成し、前記第1信号及び前記第2信号をメモリアクセス部に送信し、
前記メモリアクセス部が、前記第1信号を前記変換部から受信し、前記第1信号から前記上位ビットのアドレスを抽出し、前記上位ビットのアドレスで示される領域のデータを前記メモリ部から読み出し、前記第2信号を前記変換部から受信し、前記第2信号から前記下位ビットのアドレス及び前記読み出し対象データの大きさを抽出し、前記メモリ部から読み出された前記上位ビットのアドレスで示される領域のデータから前記下位ビットのアドレス及び前記読み出し対象データの大きさで特定されるデータを抽出し、抽出されたデータを含む第3信号を生成し、前記第3信号を前記変換部に送信する、
メモリアクセス方法。 - 前記変換部が、書き込み対象データの前記メモリ部におけるアドレス及び前記書き込み対象データを含む書き込み信号を受信し、前記メモリ部における前記アドレスを前記第1ビット数の前記上位ビットのアドレスと前記第2ビット数の前記下位ビットのアドレスとに分離し、前記上位ビットのアドレスを含む第4信号と、前記下位ビットのアドレス及び前記書き込み対象データを含む第5信号とを生成し、前記第4信号及び前記第5信号をメモリアクセス部に送信し、
前記メモリアクセス部が、前記第4信号を前記変換部から受信し、前記第4信号から前記上位ビットのアドレスを抽出し、前記上位ビットのアドレスで示される領域のデータを前記メモリ部から読み出し、前記第5信号を前記変換部から受信し、前記第5信号から前記下位ビットのアドレス及び前記書き込み対象データを抽出し、前記メモリ部から読み出された前記上位ビットのアドレスで示される領域のデータのうち前記下位ビットのアドレスで特定される位置を前記書き込み対象データで書き換えた書換データを生成し、生成された書換データを前記メモリ部の前記上位ビットのアドレスで示される領域に書き込む、請求項3に記載のメモリアクセス方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013122094A JP6079458B2 (ja) | 2013-06-10 | 2013-06-10 | 共有メモリ装置、メモリアクセス方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013122094A JP6079458B2 (ja) | 2013-06-10 | 2013-06-10 | 共有メモリ装置、メモリアクセス方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014238778A JP2014238778A (ja) | 2014-12-18 |
| JP6079458B2 true JP6079458B2 (ja) | 2017-02-15 |
Family
ID=52135871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013122094A Expired - Fee Related JP6079458B2 (ja) | 2013-06-10 | 2013-06-10 | 共有メモリ装置、メモリアクセス方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6079458B2 (ja) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5371867A (en) * | 1992-11-10 | 1994-12-06 | International Business Machines Corporation | Method of using small addresses to access any guest zone in a large memory |
| JPH06332791A (ja) * | 1993-05-20 | 1994-12-02 | Toshiba Corp | 画像メモリおよびその画像メモリを使用した表示制御システム |
| US7916750B2 (en) * | 2005-12-28 | 2011-03-29 | Intel Corporation | Transaction layer packet compression |
-
2013
- 2013-06-10 JP JP2013122094A patent/JP6079458B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014238778A (ja) | 2014-12-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9678918B2 (en) | Data processing system and data processing method | |
| KR101576344B1 (ko) | 네트워크 터널을 통해 데이터를 전송하기 위한 방법 및 장치 | |
| CN111352889B (zh) | 一种基于mctp协议的设备管理方法、设备、装置和介质 | |
| CN103077148B (zh) | 一种基于pcie的主机通讯方法和主机 | |
| JP7074839B2 (ja) | パケット処理 | |
| US12147372B2 (en) | PCIE-based data transmission method and apparatus | |
| CN107783727A (zh) | 一种内存设备的访问方法、装置和系统 | |
| KR20170133236A (ko) | PCIe 장치들에서의 고속 입출력을 위한 스토리지 시스템, 방법 및 장치 | |
| WO2016202158A1 (zh) | 一种报文传输方法、装置及计算机可读存储介质 | |
| JP2002084311A (ja) | パケット転送処理装置 | |
| CN111147175B (zh) | 时间触发以太网数据帧捕获、存储装置及方法 | |
| KR20100072694A (ko) | 프레임 축소 방법 및 장치 | |
| CN113498595A (zh) | 一种基于PCIe的数据传输方法及装置 | |
| CN113647058B (zh) | 一种基于PCIe的通信方法及装置 | |
| CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
| JP6079458B2 (ja) | 共有メモリ装置、メモリアクセス方法 | |
| US9594706B2 (en) | Island-based network flow processor with efficient search key processing | |
| WO2020001213A1 (zh) | 一种报文传输方法、交换装置、无线通讯设备及存储介质 | |
| CN105718401B (zh) | 一种多路smii信号到一路mii信号的复用方法及系统 | |
| CN104469405A (zh) | 一种fc-av通信控制方法 | |
| JP5282124B2 (ja) | パケット転送装置およびパケット転送方法 | |
| CN103200111A (zh) | 一种信元交换方法及装置 | |
| CN107547684A (zh) | 一种IPv6地址分配方法和装置 | |
| JP2546743B2 (ja) | 音声およびデータのためのパケット/高速パケット交換機 | |
| CN106708755A (zh) | Pcie接口实现方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160310 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161209 |
|
| 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: 20161220 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170102 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6079458 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |