JP2011524038A - 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール - Google Patents

複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール Download PDF

Info

Publication number
JP2011524038A
JP2011524038A JP2011508844A JP2011508844A JP2011524038A JP 2011524038 A JP2011524038 A JP 2011524038A JP 2011508844 A JP2011508844 A JP 2011508844A JP 2011508844 A JP2011508844 A JP 2011508844A JP 2011524038 A JP2011524038 A JP 2011524038A
Authority
JP
Japan
Prior art keywords
memory
address bus
data packet
access
data
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
JP2011508844A
Other languages
English (en)
Other versions
JP5497743B2 (ja
Inventor
ハルトヴィッヒ、フロリアン
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2011524038A publication Critical patent/JP2011524038A/ja
Application granted granted Critical
Publication of JP5497743B2 publication Critical patent/JP5497743B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Abstract

本発明は、複数のプロセス(2)からメモリ(1)の領域へのアクセスを制御する方法に関する。複数のプロセス(2)が、データを損失することなく待ち時間なしで、メモリ(1)に格納された最新の有効なデータパケットにアクセスし得るために、本発明は、プロセス(2)の第1プロセス(#1)が、プロセス(2)の他のプロセス(#2)がメモリ(1)へのアクセスに用いるアドレスバス(3)の一部を制御し、第1プロセス(#1)が、アドレスバス(3)の一部の制御により、他のプロセス(#2)がどのメモリ領域にアクセスするかということに影響を与える。
【選択図】図3

Description

本発明は、複数のプロセスからメモリ領域へのアクセスを制御する方法に関する。さらに、本発明は、通信システムの加入者の、通信媒体に接続された通信モジュールに関し、当該モジュールは、上記媒体を介して受信又は送信されるメッセージを一時的に格納するためのメッセージメモリを有する。
従来技術において、データの相互交換のために様々なプロセスが同一のメモリを利用する、複数の異なる適用が存在する。このようなプロセスの例は、中央処理ユニット(CPU;Central Processing Unit)と任意の周辺装置であり、CPUと周辺装置との間でデータを交換するために、両者は、任意にアクセス可能な同一のメモリ(RAM:Random Access Memory)にアクセスする。
複数のプロセスから同一のメッセージメモリへのアクセスにおいて、交換されるデータが、単一のメモリワードとしてのみならず、それぞれが複数のワードを含むデータパケットとして存在する場合に、データの整合性及びデータの完全性が問題となる。例えば、1のプロセスが特定のデータパケットを読み出す間に、他のプロセスが同一のデータパケットを変更する場合、データの整合性が損なわれる。このような場合、読み出しプロセスは、新しいメモリワードと古いメモリワードとが混在するパケットを読み出しうる。このことは、データパケットの内容の更なる処理において深刻な問題を引き起こしうる。
このことを防止するために、従来技術においては、2つのプロセスのうちの1のプロセスが、データパケットへのアクセスの前に他のプロセスを監視し、場合によっては、他のプロセスがそのアクセスを終了するまで待機する方法が公知である。代替的に、1のプロセスはさらに、他のプロセスのアクセスをブロックすることもできるが、ブロックされたプロセスが、他のタスクのために自身の一時メモリを利用することが必要となる前に自身のデータを格納できない場合には、データ損失に繋がりうる。さらに、2つのプロセスのうちの少なくとも1つのプロセスが、メモリに間接的にのみアクセスし、独立したメモリ管理制御装置が、一貫した形態のデータパケットをメモリに格納し、当該メモリから読み出すという他の方法も公知である。しかし、この方法は、比較的コストを要し高価である。この方法は、データパケットの多重格納と組み合わせることができる。
さらに、従来技術において、所謂FlexRay通信コントローラ(CC:Communication Controller)の形態による通信モジュールが公知である。この通信モジュールは、メッセージが伝送されるFlexRay通信媒体、即ちデータバスと、FlexRay加入者とを繋ぐ役割を果たす。特にFlexRayの利用に対応する通信コントローラは、例えば、独国特許出願公開第10 2005 034 744号明細書に記載されている。加入者と通信媒体との間のメッセージ伝送のために、通信コントローラ内には、メッセージを格納するための特別な構成が設けられている。メッセージ伝送、又はメモリの管理は、状態オートマトンによって制御される。
従来技術において公知の通信コントローラでは、2つの所謂一時バッファ(TBF:Transienter Buffer)、即ち、チャネルA用の1の一時バッファと、チャネルB用の他の一時バッファとが設けられている。各一時バッファは、2つのメッセージ、即ち、Rx(受信)メッセージとTx(送信)メッセージとを格納することができる。インタフェース要素はさらに、それぞれが2つのメッセージ分の容量を有する、所謂入力バッファ(IBF:Input Buffer)と出力バッファ(OBF:Output Buffer)を含む。
一時バッファ(TBF)は、一方では通信媒体から、他方ではFlexRay通信コントローラのメッセージハンドラ(Message Handler)を介してアクセスされる。入力又は出力(IBF;OBF)バッファは、一方では加入者のホストCPUによって、他方ではメッセージハンドラによってアクセスされる。前述したプロセスから通信コントローラの前述したバッファへのアクセスにおいて、データの整合性及びデータの完全性の確保は、極めて重要な前提条件となる。この理由から、公知の通信コントローラでは、ホストCPUは、メッセージメモリ(IBF;OBF)への直接的なアクセス権を有していない。入力又は出力バッファはむしろ、2つの互いに異なるメモリブロック(所謂、IBF及びIBFシャドウ、又は、OBF及びOBFシャドウ)を有する。データ送信のために、ホストCPUは、入力バッファにデータを書き込み、メッセージ伝送を開始する。これに続けて直ぐに、IBFとIBFシャドウの内容が交換される。その後、IBFシャドウからメッセージメモリ(所謂メッセージRAM)へのデータ伝達が開始する。ホストCPUは、IBFシャドウからメッセージRAMへのデータ伝送が進行している間に、後続のメッセージのデータを入力バッファ(IBF)に書き込むことができる。その後、メッセージRAMからのデータは、通信媒体を介して他の加入者へ伝送される。IBFシャドウとメッセージRAMとの間のデータ伝送の終了後に、IBFとIBFシャドウの内容の再度の交換等が行なわれる。
このような比較的コストを要する措置により、データの完全性を保てるが、メッセージメモリ(IBF;OBF)をそれぞれ二重に実現する必要があるため、本措置では非常に大きなチップ面積が必要となる。公知の通信コントローラの更なる欠点は、メッセージハンドラが、比較的大きくて高価な状態オートマトン(所謂State Machine)であるということにある。さらに、前述した方法により、メッセージメモリ(メッセージRAM)には、現在のデータのみならず、古いデータも格納されることになる。さらに、入力又は出力バッファ(IBF;OBF)を介したメッセージメモリ(メッセージRAM)へのホストCPUのアクセスは、直接的に行えず、IBFシャドウ又はOBFシャドウを介して間接的にのみ行うために、比較的コストを要する。
前述した従来技術に基づき、本発明の根底には、同一メモリへの複数のプロセスのアクセスを簡素化し特に高速化し、安価な実現を可能にするとともに、データの完全性を確保する必要がある、という課題が存在する。
本課題を解決するために、冒頭で述べた形態の、メモリ領域へのアクセスを制御する方法に基づいて、プロセスの第1プロセスが、プロセスの他のプロセスがメモリへのアクセスに用いるアドレスバスの一部を制御し、第1プロセスが、アドレスバスの一部の制御により、他のプロセスがどのメモリ領域にアクセスするかということに影響を与えることが提案される。
本発明によれば、双方のプロセスがデータを損失することなく待ち時間なしで最新の有効なデータパケットにアクセスできるように、1のプロセスが、メモリに格納されたデータパケットへの他のプロセスのアクセスを制御するための方法が提案される。本発明にかかる方法は、複数のプロセス、特に2つのプロセスから同時にアクセス可能なメモリ(Dual−Ported RAM、デュアルポートRAM)にも、複数のプロセスから交互に、特に時分割多重方式によりアクセス可能なメモリ(Single−Ported RAM、シングルポートRAM)にも適している。本方法は、2つのプロセスが同一メモリにアクセスする方法とともに、3つ以上のプロセスが同一メモリにアクセスする方法としても利用されうる。
本発明にかかる方法において、プロセスの1のプロセスが、他のプロセスがメモリへのアクセスに用いるアドレスバスの一部を制御する。第1プロセスによるアドレスバスの制御は、例えば、書き込み可能な制御レジスタを介して行なうことができる。これにより、簡単で安価に実現され、データパケットを損失せず、かつコストを要するメモリ管理制御装置を必要とせずに、待ち時間なしに2つ又は全てのプロセスを同一メモリにアクセスさせるための方法が提案される。
本方法において、好適に、全てのデータパケットは同じ大きさである。特に、全てのデータパケットは、2メモリワードを有する。同じ大きさでない場合に、データパケットは、好適に2つの部分に分けられ、即ち、固定の大きさ、特に2メモリワードを有する所謂ヘッダ部と、可変的な大きさを要する主要部とに分けられる。ヘッダ部は、同一メモリ又は他のメモリに格納可能な主要部を示すポインタを含んでもよい。データパケット又はデータパケットのヘッダ部は、好適に、少なくとも2つのバージョン(Version)として、メモリに格納される。
本発明にかかる方法では、第1プロセスは、メモリの全てのメモリ領域にアクセス可能である。さらに、第1プロセスは、別のプロセスが同一のメモリへのアクセスに用いるアドレスバス信号を修正できる。このことは、同じ大きさのデータパケットへのアクセス、又は、データパケットがヘッダ部と主要部とに分けられている場合には、同じ大きさのヘッダ部へのアクセスに該当する。データパケットの主要部へのアクセスは修正されず、対応するヘッダ部に格納された主要部を示すポインタを介して行なわれる。
更なる別のプロセスは、2メモリワードからなる2個までのデータパケットうちの1つ、又は、2メモリワードからなる2個までのデータパケットのヘッダ部にアクセスするとともに、特定のビット長のアドレス信号を生成する。データパケット又はデータパケットのヘッダ部の大きさが2メモリワードである場合に、2個までのデータパケット、又は2個までのデータパケットのヘッダ部への別のアクセスにおいて、第2プロセスのアドレス信号は、(m+n)ビットの長さを有する。しかし、更なる別のプロセスは、自身が生成したアドレス信号によっては、多重格納されたデータパケットのアドレス、即ち、様々なバージョンのデータパケットを区別できない。このために、第1プロセスにより提供される追加的なアドレスビットが必要となる。有利に、追加的なアドレスビットは、第1プロセスにより制御される制御レジスタから加えられる。追加的なkビットにより、格納された2個のバージョンの、特定のデータパケット又は特定のデータパケットのヘッダ部を区別することができる。これにより、合計(m+n+k)ビットのアドレス信号が生成される。アドレス信号中の3つのビット群の位置は任意である。
従属請求項は、本発明にかかる方法の好適な構成を含む。以下では、本発明の特別な特徴及び効果を、図を参照しながら詳細に解説する。
複数のプロセスからアクセス可能な様々な領域を有するメモリを示す。 メモリの内容であって、当該メモリの領域へのアクセスが本発明の方法により制御される、上記メモリの内容の例を示す。 本発明にかかる方法を解説するための模式的ブロック図を示す。 メッセージメモリを備えた通信コントローラをそれぞれに有する、通信媒体に接続された複数の通信加入者を含み、本発明にかかる方法により様々なプロセスから当該メッセージメモリにアクセス可能な通信システムを示す。
図1には、例えば任意にアクセス可能なメモリ(RAM;Random Access Memory)として構成されたメモリ1が示されている。特に、メモリは、デュアルポートRAM又はシングルポートRAMとして構成されうる。当然のことながら、メモリ1は、任意の他の揮発性メモリ、又は不揮発性メモリとしても構成されうる。複数のプロセス(#1、#2、#n)は、メモリ1の領域にアクセスできる。メモリ領域へのアクセスは、特に、メモリ1への書き込みアクセス及び/又は読み出しアクセスを含む。プロセス2は、例えば、同一のメモリ1の領域にアクセス可能な、中央処理ユニット(CPU;Central Processing Unit)及び任意の周辺装置を含む。
メモリ1はまた、図4に例示するように、通信システム33、例えば、FlexRayネットワーク、CANネットワーク、又はTTCANネットワークの通信加入者32の通信コントローラ(CC)31の一部であってもよい。この場合、一方では通信媒体30(例えば、FlexRayバス、CANバス、TTCANバス)を介して、他方では通信コントローラ31が割り当てられている通信加入者32のホストプロセッサ34(ホストCPU)から、メモリ1にアクセスできる。
プロセス2は、特にデータ交換のために、共通のメモリ1へのアクセスを利用する。交換されるデータが、単一のメモリワードとしてのみならず、複数ワードを含むデータパケットとして存在する場合には、データの完全性、特にデータの整合性の問題が重要性を帯びてくる。メモリワードは、特定の処理ユニットの、システムに関わる(systembedingt)メモリ単位である。ワードは、処理ステップにおいて処理ユニットのプロセッサにより実行されうる最大データ量であり、多くの場合、メインデータバスの幅に相当する。典型的なワード幅は、16ビット及び32ビットである。例えば、1のプロセス#1が特定のデータパケットを読み出す間に、他のプロセス#2が同一のデータパケットを変更する場合、メモリ1に格納されたデータの整合性が損なわれてしまう。その場合、読み出しプロセス#1は、古いデータワードと新しいデータワードが混在したパケットを獲得してしまうことがある。このことを防止するために、本発明によれば、双方のプロセスがデータを損失することなく待ち時間なしで最新の有効なデータパケットにアクセスできるように、1のプロセス2が、メモリ1に格納されたデータパケットへの他のプロセス2のアクセスを制御するための方法が提案される。本方法は、2つ又は複数のプロセス2が同時にアクセス可能なメモリ1(デュアルポートRAM)にも、交互に、特に時分割多重方式によりアクセス可能なメモリ1(シングルポートRAM)にも適している。
以下では、本発明に係る方法を、図2及び図3を参照して詳細に解説する。本方法において、プロセスのうちの1のプロセス#1、例えばCPUは、他のプロセス#2、例えば周辺モジュールがメモリ1へのアクセスに用いるアドレスバス3の一部を制御する。第1プロセス#1によるアドレスバスの制御は、好適に、書き込み可能な制御レジスタ4を介して行なわれる。本発明にかかる方法は、双方のプロセス#1、#2(例えば、メモリ1にアクセス可能な全てのプロセス2)が待ち時間無くメモリ1にアクセスし得るという利点、データワードが損われないという利点、及び、高価なメモリ管理制御装置が必要とされないという利点を有する。
メモリ1に格納されたデータパケットは、全て同じ大きさである。有利に、データパケットは、2メモリワードを含む。データパケットが同じ大きさでない場合は、データパケットは、2つの部分、即ち、固定の大きさを有するヘッダ部と、可変的な大きさを有する主要部とに分けられる。ヘッダ部の大きさは、好適に、2メモリワードである。ヘッダ部は、同一のメモリ1又は他のメモリ内に存在しうる主要部を示すポインタを含む。データパケットは、少なくとも2つのバージョンA、Bとして、メモリ1に格納される。図2には、5ビット幅のベクトルによりアドレス指定される合計32個のメモリワードを含むメモリ1内におけるデータ管理の例が示されている。メモリ1は、4個の(=2)のデータパケット(m=2)を含み、データパケットは、それぞれに2つ(=2)のバージョン(k=1)を含み、バージョンは、それぞれに4個(=2)のデータワード(n=2)を含む。
本発明にかかる方法において、第1プロセス#1は、メモリ1の全ての部分にアクセスできる。さらに、第1プロセス#1は、(アドレスバス3上の)アドレス信号であって、第2プロセス#2がメモリ1へのアクセスに用いる当該アドレス信号を修正できる。このことは、同じ大きさのデータパケットへのアクセス、又は、データパケットがヘッダ部と主要部とに分けられている場合には、データパケットのヘッダ部へのアクセスに該当する。パケットの主要部へのアクセスは修正されない。
第2プロセスは、2メモリワードを含む2個までのデータパケット(又は2個までのデータパケットのヘッダ部)のうちの1つにアクセスするが、第2プロセスは、長さ(m+n)ビットのアドレスバス信号を生成する。アドレスバス3上のこのアドレスバス信号を介して、第2プロセス#2は、特定のデータパケットの特定のデータワードに、又は、メモリ1内の対応する領域にアクセスできる。しかし、第2プロセス#2は、このアドレスバス信号によっては、多重格納されたデータパケット、即ち、様々なバージョンのデータパケットを区別できない。様々なバージョンのデータパケットを区別するために必要な追加的なアドレスビットが、第1プロセス#1により制御される制御レジスタ4から加わる。追加的なkビットにより、2個の格納されたバージョンの特定のデータパケットが区別される。これにより、合計(m+n+k)ビット長のアドレスバス信号5が生成される。その際、アドレス信号5内での3つのビット群の位置は任意である。その管理が図2に再現されているメモリ1には、上述したように、4個のデータパケット(m=2)が格納されており、データパケットは、2つの異なるバージョン(k=1)をそれぞれに有し、バージョンは、4個のデータワード(n=2)をそれぞれに有している。図2では、「データパケット」の欄が符号10で、「バージョン」の欄が符号11で、「メモリワード」の欄が符号12で、「アドレス」の欄が符号13で示されている。メモリ1にはまた、5ビット幅のベクトルを介してアドレス指定されうる合計32個のメモリワードのための場所もある。アドレスはビット(m_k_n)から構成される。
メモリ1に含まれるデータパケットごとに、kビット幅の2段式制御レジスタ4が存在し、当該2段式制御レジスタ4によって、第1プロセス#1は、どのバージョンの所望のデータパケットに他のプロセス#2がアクセス可能であるか(又は、アクセスすべきか)を調整することができる。レジスタ4は、好適に多段式により、好適には2段式により構成されている。記載された実施例では即ち、合計4個のkビット幅の2段式レジスタ4が存在する。レジスタ4における2段は、符号6及び7で示される。第1プロセス#1は、第2プロセス#2がアクセスを許容される特定のバージョン11のデータパケットを選択し、又は、次に利用可能なバージョン11へと切り替えるための制御信号を与えることができる。第1プロセス#1は、レジスタ4の第1段6に書き込むことができるが(符号20)、レジスタ4の第2段7に書き込むことができない。第1プロセス#1による第1段6への書き込みの後で、他のプロセス#2が第2段7をロックしない(符号22)場合には、第1段6からのデータは、好適に即時に第2段7に複写される(符号21)。第2段7の出力は、アドレスバス信号5に挿入される(符号23)。レジスタ4の第2段7がロックされている(verriegelt)場合に、第1段6からのデータは、ロックの解除の後に初めて第2段7へ複写される。第1プロセス#1も、修正されたアドレスバス信号を介して、メモリ1内のデータパケットにアクセスすることが構想できるが、ただしその場合には、第2プロセス#2と同じバージョンにはアクセスしない。
本発明にかかる方法の運用において、第1プロセス#1から第2プロセス#2へと向かうデータパケットと、反対方向の第2プロセス#2から第1プロセス#1へと向かうデータパケットとは区別される。
まず、第1プロセス#1から第2プロセス#2へと向かうデータパケットについての、本発明にかかる方法のフローを記載する。最初に、第1プロセス#1は、第2プロセス#2がアクセス不可能な特定のバージョン11の特定のデータパケット10に、自身のデータを書き込み、その後直ぐに、当該バージョン11のデータパケット10に第2プロセス#2のアクセスを切り替える。
データパケット10を読み出す第2プロセス#2は、最初に、当該データパケット10のために制御レジスタ4の第2段7をロックし、その後、ブロック転送において、自身がアクセス可能なバージョン11の該当するデータパケット10(場合によっては、ヘッダ部と主要部)を読み出し、ブロック転送を終了するために第2段7のロックを解除する(22)。
第1プロセス#1の書き込みアクセス、及び、第2プロセスの読み出しアクセス#2が時間的に重なる場合には、第2プロセス#2は、より古いバージョン11のデータパケット10から、整合性のあるデータを読み出す。この動作は、第2プロセス#2において時間駆動型の通信コントローラ(CC)31(例えば、TTCAN−CC、又は、FlexRay―CC)が関与している場合は、特に重要である。この場合は、データパケット10が読み出される時点は、通信システム33によって設定される。データパケット10に対する通信コントローラ31の読み出しアクセスにより、時間駆動型の通信システム33では、第1プロセス#1がその書き込みアクセスを終了するまで待機できない。
ここでは、第1プロセス#1は、データのために設けられた書き込み領域に、第2プロセス#2が当該データを読み出し得るほど速くは当該データを書き込まない、という前提から出発する。最適に、パケット・バージョン11の最後の切り替えの後に、第2プロセス#2が特定のメモリ領域からのデータを少なくとも1度は読み出したかについて、第2プロセス#2が第1プロセス#1にシグナリングするという選択肢がある。
データが第2プロセス#2から第1プロセス#1へと伝達される場合、最初に、第1プロセス#1は、第2プロセス#2から期待するデータを、第2プロセス#2にとってアクセス不可能なバージョン11のデータパケット10から読み出し、その後直ぐに、当該バージョン11のパケット10への第2プロセス#2のアクセスを切り替える。
データパケット10を書き込む第2プロセス#2は、最初に、当該パケット10のために制御レジスタ4の第2段7をロックし(22)、その後、ブロック転送において、パケット10(場合によってはヘッダ部と主要部)を書き込み、ブロック転送を終了するために第2段7のロックを解除する。
第1プロセス#1の読み出しアクセスと、第2プロセス#2の書き込みアクセスとが、時間的に重なる場合には、第1プロセス#1は、より古いバージョン11のパケット10から、整合性のあるデータを読み出す。第2プロセス#2が新しいデータパケットを格納する時点が、第1プロセス#1により管理されていない場合、この動作は特に重要である。
ここでは、第1プロセス#1により読み出されていないデータがデータパケット10の両バージョン11に含まれることがないように、第1プロセス#1が十分迅速にデータを読み出す、という前提から出発する。最適に、パケット・バージョン11の最後の切り替え以降に、第2プロセス#2が特定のデータパケット10のデータを更新したか、及び、最後の切り替え以降にデータが複数回更新されたかについて、これらのことはデータ損失を意味しうるのだが、第2プロセス#2が第1プロセス#1にシグナリングすることが構想できる。
本発明にかかるメモリ管理方法は、通信システム(例えば、FlexRay、CAN、TTCAN)の通信加入者32のハードウェア通信モジュール31内の特にメッセージメモリのために利用可能である。他の周辺モジュールにおける適用も同様に可能であり有利である。

Claims (17)

  1. 複数のプロセス(2)からメモリ(1)の領域へのアクセスを制御する方法において、
    前記プロセス(2)の第1プロセス(#1)は、前記プロセス(2)の他のプロセス(#2)が前記メモリ(1)へのアクセスに用いるアドレスバス(3)の一部を制御し、
    前記第1プロセス(#1)は、前記アドレスバス(3)の前記一部の制御により、前記他のプロセス(#2)がどのメモリ領域にアクセスするかということに影響を与えることを特徴とする方法。
  2. 前記第1プロセス(#1)は、制御レジスタ(4)を介して前記アドレスバス(3)の一部を制御することを特徴とする、請求項1に記載の方法。
  3. 前記メモリ(1)は、前記プロセス(#1、#2)が同時にアクセスするデュアルポートRAMとして構成されることを特徴とする、請求項1又は2に記載の方法。
  4. 前記メモリ(1)は、前記プロセス(#1、#2)が交互に、特に時分割多重方式によりアクセスするシングルポートRAMとして構成されることを特徴とする、請求項1又は2に記載の方法。
  5. 前記メモリ(1)には、同じ大きさのデータパケット、特にn∈|Nの場合に2メモリワードのデータパケットが格納されることを特徴とする、請求項1〜4のいずれか1項に記載の方法。
  6. 前記メモリ(1)には、任意の大きさのデータパケットが格納され、前記データパケットのそれぞれは、特にn∈|Nの場合に2メモリワードのヘッダ部と、可変的な大きさの主要部とに分けられ、前記ヘッダ部は、異なるデータパケット間で同じ大きさであることを特徴とする、請求項1〜4のいずれか1項に記載の方法。
  7. 前記メモリ(1)には、少なくとも2つのバージョンとして、データパケットが格納されることを特徴とする、請求項1〜6のいずれか1項に記載の方法。
  8. 前記メモリ(1)には、前記メモリ(1)にアクセス可能なプロセス(2)の数のバージョンとして、データパケットが格納されることを特徴とする、請求項7に記載の方法。
  9. 前記第1プロセス(#1)は、前記メモリ(1)の全ての領域にアクセス可能であり、前記他のプロセス(#2)が前記メモリ(1)へのアクセスに用いるアドレスバス信号(5)が修正され、修正されていない前記アドレスバス信号(5)は、前記メモリ(1)に格納された特定のデータパケット(10)、又は前記メモリ(1)に格納された特定のデータパケット(10)のヘッダ部を示し、修正された前記アドレスバス信号(5)は、特定のバージョン(11)の、前記データパケット(10)又は前記データパケット(10)の前記ヘッダ部を示すことを特徴とする、請求項7又は8に記載の方法。
  10. 前記修正されていないアドレスバス信号は、特定数のアドレスビットを含み、前記第1プロセス(#1)は、前記アドレスバス信号(5)の前記修正のために、前記修正されていないアドレスバス信号(5)に少なくとも1つの追加的なアドレスビットを追加し、前記追加的なアドレスビットによって、前記格納された異なるバージョン(11)の前記データパケット(10)又は前記データパケット(10)の前記ヘッダ部が区別されることを特徴とする、請求項9に記載の方法。
  11. 前記第2プロセス(#2)は、前記メモリ(1)に格納された2個までのデータパケット、又は前記メモリ(1)に格納された2個までのデータパケットのヘッダ部にアクセスし、前記修正されていないアドレスバス信号(5)は、m+nビットを含み、前記修正されたアドレスバス信号(5)は、m+n+kビットを含むことを特徴とする、請求項10に記載の方法。
  12. 前記メモリ(1)に格納されたデータパケット毎、又は前記メモリ(1)に格納されたデータパケットのヘッダ部毎に、制御レジスタ(4)が設けられることを特徴とする、請求項2〜11のいずれか1項に記載の方法。
  13. 前記制御レジスタ(4)は、2段式に構成され、前記第1プロセス(#1)は、常時、前記制御レジスタ(4)の第1段(6)に書き込むことが可能であることを特徴とする、請求項12に記載の方法。
  14. 前記第2プロセス(#2)が必要に応じて前記制御レジスタ(4)の第2段(7)をロックすることで、前記制御レジスタ(4)の前記第1段(6)の内容を前記第2段(7)へ複写することが防止されることを特徴とする、請求項13に記載の方法。
  15. 前記第2段(7)のロックが解除されている場合に、前記制御レジスタ(4)の前記第1段(6)の内容が、前記制御レジスタ(7)の第2段(7)へ複写されることを特徴とする、請求項13又は14に記載の方法。
  16. 前記制御レジスタ(4)の第2段(7)の内容が、前記アドレスバス信号(5)に挿入されることを特徴とする、請求項13〜15のいずれか1項に記載の方法。
  17. 通信システム(33)の加入者(32)の、通信媒体(30)に接続された通信モジュール(31)であって、前記通信モジュール(31)は、前記通信媒体(30)を介して受信又は送信されるメッセージを一時的に格納するためのメッセージメモリ(1)を有する、前記通信モジュール(31)において、
    前記通信モジュール(31)は、前記メッセージメモリ(1)の領域への、前記通信媒体(30)を介したアクセスと、加入者プロセッサ(34)からのアクセスとを、請求項1〜16のいずれか1項に記載の方法により制御するための手段を有することを特徴とする通信モジュール。
JP2011508844A 2008-05-14 2009-03-06 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール Active JP5497743B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102008001739.6A DE102008001739B4 (de) 2008-05-14 2008-05-14 Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens
DE102008001739.6 2008-05-14
PCT/EP2009/052652 WO2009138260A1 (de) 2008-05-14 2009-03-06 Verfahren zum steuern eines zugriffs auf bereiche eines speichers aus mehreren prozessen heraus und kommunikations-modul mit einem nachrichten-speicher zur realisierung des verfahrens

Publications (2)

Publication Number Publication Date
JP2011524038A true JP2011524038A (ja) 2011-08-25
JP5497743B2 JP5497743B2 (ja) 2014-05-21

Family

ID=40636111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011508844A Active JP5497743B2 (ja) 2008-05-14 2009-03-06 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール

Country Status (7)

Country Link
US (1) US8447952B2 (ja)
EP (1) EP2283402B1 (ja)
JP (1) JP5497743B2 (ja)
KR (1) KR101560015B1 (ja)
CN (1) CN102027424B (ja)
DE (1) DE102008001739B4 (ja)
WO (1) WO2009138260A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104537119B (zh) * 2015-01-26 2018-01-16 浪潮天元通信信息系统有限公司 一种缓存数据的更新方法、数据使用端和系统
US11392317B2 (en) * 2017-05-31 2022-07-19 Fmad Engineering Kabushiki Gaisha High speed data packet flow processing
US11036438B2 (en) 2017-05-31 2021-06-15 Fmad Engineering Kabushiki Gaisha Efficient storage architecture for high speed packet capture

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223859A (ja) * 1987-03-12 1988-09-19 Matsushita Electric Ind Co Ltd アドレス変換装置
JPH07319827A (ja) * 1993-06-10 1995-12-08 Ricoh Co Ltd 共有メモリ制御方式および共有メモリ制御装置
US5530838A (en) * 1993-06-10 1996-06-25 Ricoh Company, Ltd. Method and apparatus for controlling access to memory which is common to plural, priority-ordered central processing units and which is indirectly accessible via a transfer control unit
DE19529718A1 (de) * 1995-08-11 1997-02-13 Siemens Ag Auf einer Baugruppe angeordnete Pufferschaltung
JPH09198362A (ja) * 1996-01-23 1997-07-31 Canon Inc アドレス変換方法及び装置及びマルチプロセッサシステム及びその制御方法
DE102005048584A1 (de) * 2005-07-21 2007-01-25 Robert Bosch Gmbh FlexRay-Kommunikationsbaustein, FlexRay-Kommunikationscontroller und Verfahren zur Botschaftsübertragung zwischen einer FlexRay-Kommunikationsverbindung und einem FlexRay-Teilnehmer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138204A (en) * 1997-12-17 2000-10-24 Motorola, Inc. Multi bus access memory
US20010049742A1 (en) * 2000-05-31 2001-12-06 Steely Simon C. Low order channel flow control for an interleaved multiblock resource
JP2004520671A (ja) * 2001-01-30 2004-07-08 メンコール インク. 複合コンテントアドレッサブルメモリ
JP2006195867A (ja) 2005-01-17 2006-07-27 Matsushita Electric Ind Co Ltd バス調停方法及び半導体装置
US7882295B2 (en) * 2008-12-15 2011-02-01 Nvidia Corporation Non-system bus width data transfer executable at a non-aligned system bus address

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223859A (ja) * 1987-03-12 1988-09-19 Matsushita Electric Ind Co Ltd アドレス変換装置
JPH07319827A (ja) * 1993-06-10 1995-12-08 Ricoh Co Ltd 共有メモリ制御方式および共有メモリ制御装置
US5530838A (en) * 1993-06-10 1996-06-25 Ricoh Company, Ltd. Method and apparatus for controlling access to memory which is common to plural, priority-ordered central processing units and which is indirectly accessible via a transfer control unit
DE19529718A1 (de) * 1995-08-11 1997-02-13 Siemens Ag Auf einer Baugruppe angeordnete Pufferschaltung
JPH11510930A (ja) * 1995-08-11 1999-09-21 シーメンス アクチエンゲゼルシヤフト モジュールの上に配置されるバッファ回路
JPH09198362A (ja) * 1996-01-23 1997-07-31 Canon Inc アドレス変換方法及び装置及びマルチプロセッサシステム及びその制御方法
DE102005048584A1 (de) * 2005-07-21 2007-01-25 Robert Bosch Gmbh FlexRay-Kommunikationsbaustein, FlexRay-Kommunikationscontroller und Verfahren zur Botschaftsübertragung zwischen einer FlexRay-Kommunikationsverbindung und einem FlexRay-Teilnehmer

Also Published As

Publication number Publication date
DE102008001739A1 (de) 2009-11-19
CN102027424A (zh) 2011-04-20
JP5497743B2 (ja) 2014-05-21
US20110145491A1 (en) 2011-06-16
US8447952B2 (en) 2013-05-21
KR101560015B1 (ko) 2015-10-13
CN102027424B (zh) 2014-11-26
KR20110014988A (ko) 2011-02-14
EP2283402A1 (de) 2011-02-16
DE102008001739B4 (de) 2016-08-18
EP2283402B1 (de) 2014-09-17
WO2009138260A1 (de) 2009-11-19

Similar Documents

Publication Publication Date Title
KR101028898B1 (ko) 플렉스레이 통신 장치
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
KR100800989B1 (ko) 중재 패킷 프로토콜을 구비한 메모리 중재 시스템 및 방법
KR100272072B1 (ko) 동기형 다이나믹 램들을 활용한 고성능, 고대역폭 메모리 버스구조체
US7246191B2 (en) Method and apparatus for memory interface
JP4571671B2 (ja) 通信モジュールのメッセージメモリのデータへアクセスする方法および装置
JP2000267987A (ja) ダイレクト・メモリ・アクセス制御
US20070022209A1 (en) Processing of data frames exchanged over a communication controller in a time-triggered system
JP4903801B2 (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
US20020184453A1 (en) Data bus system including posted reads and writes
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
JPH11167480A (ja) バッファメモリ装置
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
JP5497743B2 (ja) 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール
US6088744A (en) Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto
WO2019000456A1 (zh) 传输数据掩码的方法、内存控制器、内存芯片和计算机系统
US6378032B1 (en) Bank conflict avoidance in multi-bank DRAMS with shared sense amplifiers
KR101485081B1 (ko) 간접 액세스가능 메모리를 구비한 컨트롤러
US20030093594A1 (en) Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller
US9430379B1 (en) Dynamic random access memory controller
KR100950356B1 (ko) 다중 코히런시 단위들을 지원하는 데이터 전송 유닛
JP2546743B2 (ja) 音声およびデータのためのパケット/高速パケット交換機
US20060129742A1 (en) Direct-memory access for content addressable memory
JPH05334232A (ja) Dma転送制御装置
KR20220132333A (ko) PCIe 인터페이스 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140110

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140306

R150 Certificate of patent or registration of utility model

Ref document number: 5497743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250