米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 DMAコントローラおよび半導体集積回路
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−134936(P2007−134936A)
公開日 平成19年5月31日(2007.5.31)
出願番号 特願2005−325741(P2005−325741)
出願日 平成17年11月10日(2005.11.10)
代理人 【識別番号】100086737
【弁理士】
【氏名又は名称】岡田 和秀
発明者 生駒 達郎
要約 課題
リアルタイムサービスを行うパケット通信機能において、必要な能力が低減してもリアルタイム通信用の受信パケットの損失を極力避けるようにする。

解決手段
本発明のDMAコントローラ30は、先入れ先出し方式の転送元記憶手段である受信FIFOメモリ11,12のいずれかに受信パケットが記憶されたことを検出し、受信パケットのデータを読み出して転送先記憶手段であるRTバッファ50、NRTバッファ51のいずれかに書き込む転送処理を実行するもので、転送処理のロス時間を計測するロス時間計測部33と、ロス時間が閾値を超えた場合に転送処理中止を要求する転送時間監視部35と、転送処理中止が要求された際に、その受信パケットについての他の転送先記憶手段への転送処理が完了または中止していれば、前記受信パケットのデータを受信FIFOメモリから読み捨てる転送中止部32とを備える。
特許請求の範囲
【請求項1】
パケット通信機能を支援するDMAコントローラであって、
1つ以上の先入れ先出し方式の転送元記憶手段のいずれかに受信パケットが記憶されたことを検出し、受信パケットのデータを読み出して1つ以上の転送先記憶手段のいずれかに書き込む転送処理を実行するDMAコントローラであって、
転送処理のロス時間を計測するロス時間計測手段と、
前記ロス時間が閾値を超えた場合に転送処理中止を要求する転送時間監視手段と、
前記転送処理中止が要求された際に、その受信パケットについての他の転送先記憶手段への転送処理が完了または中止していれば、前記受信パケットのデータを転送元記憶手段から読み捨てる転送中止手段とを備えたDMAコントローラ。
【請求項2】
さらに、前記転送処理中止が可能か否かを判定する中止可否判定手段を備え、
前記転送中止手段は、前記中止可否判定手段による判定結果が転送処理中止不可であれば、転送処理を継続する請求項1に記載のDMAコントローラ。
【請求項3】
前記中止可否判定手段は、前記受信パケットを解析することを通じて前記転送処理中止が可能か否かを判定する請求項2に記載のDMAコントローラ。
【請求項4】
前記中止可否判定手段は、転送元である前記転送元記憶手段の別に応じて前記転送処理中止が可能か否かを判定する請求項2に記載のDMAコントローラ。
【請求項5】
前記中止可否判定手段は、転送先である前記転送先記憶手段の別に応じて前記転送処理中止が可能か否かを判定する請求項2に記載のDMAコントローラ。
【請求項6】
前記ロス時間計測手段は、前記受信パケットを検出してから実際の転送処理を開始するまでの時間を少なくとも含むロス時間を計測する請求項1から請求項5までのいずれかに記載のDMAコントローラ。
【請求項7】
前記転送先記憶手段への転送処理を要求して許可を得てから転送処理を開始するように構成され、かつ、前記ロス時間計測手段は、転送処理を要求してから許可を得られるまでの時間を少なくとも含むロス時間を計測する請求項1から請求項5までのいずれかに記載のDMAコントローラ。
【請求項8】
前記ロス時間計測手段は、転送処理中におけるデータの実際の転送に使用されていない時間を少なくとも含むロス時間を計測する請求項1から請求項5までのいずれかに記載のDMAコントローラ。
【請求項9】
さらに、前記転送時間監視手段における前記閾値を決定する許容ロス時間決定手段を備え、
前記許容ロス時間決定手段は、少なくとも、前記受信パケットの大きさを参照して前記閾値を決定する請求項1から請求項8までのいずれかに記載のDMAコントローラ。
【請求項10】
さらに、前記転送時間監視手段における前記閾値を決定する許容ロス時間決定手段を備え、
前記許容ロス時間決定手段は、少なくとも、前記受信パケットの通信速度を参照して閾値を決定する請求項1から請求項9までのいずれかに記載のDMAコントローラ。
【請求項11】
1つの受信パケットを別途指定されたブロック最大長より小さいブロックに分割して、順次に各ブロックを転送処理し、さらに、各々のブロックの転送処理の度に、前記転送先記憶手段への転送処理を要求して許可を得てから転送処理を開始するように構成され、
前記ロス時間計測手段は、ブロックの転送処理を要求してから許可を得られるまでの時間が各ブロックの転送処理の度に前記ロス時間として計測し、
前記転送時間監視手段は、各々のブロックの転送処理の度に、前記ロス時間の評価を行って転送の中止を要求するかどうかを判定し、
前記転送中止手段は、転送処理を中止する際には、すでに転送処理が終わったブロックを前記転送先記憶手段から消去するように構成されている請求項1から請求項10までのいずれかに記載のDMAコントローラ。
【請求項12】
さらに、前記転送時間監視手段における前記閾値を決定する許容ロス時間決定手段を備え、
前記許容ロス時間決定手段は、少なくとも、別途指定されたブロック最大長を参照して前記閾値を決定する請求項11に記載のDMAコントローラ。
【請求項13】
前記転送中止手段は、読み捨て専用の転送先を指定した転送処理を行うことによって、前記転送元記憶手段からの読み捨てを実行する請求項1から請求項12までのいずれかに記載のDMAコントローラ。
【請求項14】
前記転送中止手段は、転送の中止時に転送先の前記転送先記憶手段に対して、書き込みデータの消去を指示する請求項1から請求項12までのいずれかに記載のDMAコントローラ。
【請求項15】
起動されてから1個の受信パケットを転送処理すると停止するように構成され、かつ、
前記転送中止手段は、当該DMAコントローラが停止中に転送処理中止が要求された際にも、受信パケットのデータを前記転送元記憶手段から読み捨てる請求項1から請求項14までのいずれかに記載のDMAコントローラ。
【請求項16】
請求項1から請求項15までのいずれかに記載のDMAコントローラを備える半導体集積回路。
発明の詳細な説明
【技術分野】
【0001】
本発明は、ネットワークから受信するパケットデータを処理する装置等におけるDMAコントローラに関する。
【背景技術】
【0002】
データ通信を主用途とする従来のパケット通信機能を用いて音声などのリアルタイム通信サービスをも行うには、リアルタイム通信が他のデータ通信に妨害されるという課題が付きまとう。例えば、IEEE(Institute of Electrical and Electronics Engineers)802.3規格準拠のイーサネット(登録商標)上におけるVoIP(Voiceover IP)サービスは、同時に端末がファイル転送サービスのようなデータ通信を行うと妨害されて、音の途切れなどの悪影響が出る。
【0003】
従来のこの課題の解決方法の大勢は、通信機能の性能を充分に増大させてデータ通信の影響を小さくすることにある。例えば、特許文献1に記載された方法のように、DMA(Direct Memory Access)制御を取り入れることによって瞬時的な処理能力を見かけ増大させることができる。
【特許文献1】特許第2767085号公報(第3−9頁、第1−11図)
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来の技術においては、通信用バッファメモリ量、メモリやバスの帯域幅等が不足することによって通信機能に必要な能力が低減する場合にリアルタイム通信サービスに向けた対策はとられていない。特に、リアルタイム通信サービスの通信では、通信遅延を抑えるため再送を行わないのが普通であるため、CATVやADSLなどのベストエフォートを基礎とするデータ通信に比べ、通信能力の低減が致命的になり得る。また近年のアプリケーションソフトウェアの高度化により、このような通信機能の性能低下は容易に現出し得るものである。
【0005】
本発明は、リアルタイムサービスを行うパケット通信機能において、それに必要な能力が低減してもリアルタイム通信用の受信パケットの損失を極力避ける機能を備えたDMAコントローラを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明によるDMAコントローラは、パケット通信機能を支援し、1つ以上の先入れ先出し方式の転送元記憶手段のいずれかに受信パケットが記憶されたことを検出し、受信パケットのデータを読み出して1つ以上の転送先記憶手段のいずれかに書き込む転送処理を実行するDMAコントローラであって、
転送処理のロス時間を計測するロス時間計測手段と、
前記ロス時間が閾値を超えた場合に転送処理中止を要求する転送時間監視手段と、
前記転送処理中止が要求された際に、その受信パケットについての他の転送先記憶手段への転送処理が完了または中止していれば、前記受信パケットのデータを転送元記憶手段から読み捨てる転送中止手段とを備えたものである。
【0007】
この構成において、転送元記憶手段に受信パケットが記憶されると、そのことがDMAコントローラに通知される。その通知を受けたDMAコントローラでは、転送元記憶手段の受信パケットのデータを転送先記憶手段に転送処理するための準備を行う。これに伴って、ロス時間計測手段は転送処理のロス時間を計測する。転送時間監視手段は、ロス時間計測手段によるロス時間が所定の閾値を超えるか否かを監視し、超えたときに転送処理中止の要求を転送中止手段に対して行う。転送処理中止の要求を受けた転送中止手段は、当該の受信パケットについて他の転送先記憶手段への転送処理が完了または中止していて、転送先記憶手段への転送処理を必要としない状況であることを確認の上、転送元記憶手段において受信パケットのデータを読み捨てる処理を行う。すなわち、受信パケット転送能力の低下を監視して、低下しすぎる場合には、その受信パケットを転送元記憶手段から積極的に消去する。その結果として、転送元記憶手段の記憶容量を確保して、新たに到来する受信パケットが記憶できない事態を避けることが可能となる。
【0008】
上記において、さらに、前記転送処理中止が可能か否かを判定する中止可否判定手段を備え、前記転送中止手段は、前記中止可否判定手段による判定結果が転送処理中止不可であれば、転送処理を継続するという態様がある。リアルタイム通信の受信パケットは、その性質上、廃棄してはならない重要な受信パケットである。中止可否判定手段は、転送要求にかかわる当該の受信パケットが、転送処理中止が不可であるか、そうでないかを判定する。そして、転送処理中止が不可であると判定したときは、転送中止手段による受信パケットデータの転送元記憶手段からの読み捨ての処理を禁止し、その受信パケットの転送処理を継続させる。これにより、性能低減時にも例えばリアルタイム通信用等の重要な受信パケットのデータは消去しないですむ。よって、データ通信用などの受信パケットの処理から優先的に削減することになる。
【0009】
また、上記において、前記中止可否判定手段は、前記受信パケットを解析することを通じて前記転送処理中止が可能か否かを判定するという態様がある。中止可否判定手段は、受信パケットの長さ、パケットヘッダ情報、パケット内の一部のデータパターンなどの特徴から、その受信パケットの転送処理中止が可能か否かを判定する。
【0010】
また、上記において、前記中止可否判定手段は、転送元である前記転送元記憶手段の別に応じて前記転送処理中止が可能か否かを判定するという態様がある。この場合、複数の転送元記憶手段において、例えば、リアルタイム通信用等の重要な受信パケットを記憶する記憶手段を有する通信機能をあらかじめ定めておく。これにより、例えば複数の通信機能のいずれから受信パケットを読み出したかに応じて、その受信パケットの転送処理中止が可能か否かを判定する。
【0011】
また、上記において、前記中止可否判定手段は、転送先である前記転送先記憶手段の別に応じて前記転送処理中止が可能か否かを判定するという態様がある。この場合、複数の転送先記憶手段において、例えば、リアルタイム通信用等の重要な受信パケットを記憶する記憶手段をあらかじめ定めておく。これにより、例えば受信パケットの転送先がリアルタイム的なハードウェア機能である場合等に、その受信パケットの転送処理中止を不可と判定する。
【0012】
また、上記において、前記ロス時間計測手段は、前記受信パケットを検出してから実際の転送処理を開始するまでの時間を少なくとも含むロス時間を計測するという態様がある。これによって、受信パケットを実際に転送するまでの遅延をロス時間に含む状態で、転送処理中止の判定が可能となる。
【0013】
また、上記において、前記転送先記憶手段への転送処理を要求して許可を得てから転送処理を開始するように構成され、かつ、前記ロス時間計測手段は、転送処理を要求してから許可を得られるまでの時間を少なくとも含むロス時間を計測するという態様がある。まず転送の要求を行い、許可を得てから転送先記憶手段へ転送する場合に、許可を得られるまでの遅延をロス時間に含む状態で、転送処理中止の判定が可能となる。
【0014】
また、上記において、前記ロス時間計測手段は、転送処理中におけるデータの実際の転送に使用されていない時間を少なくとも含むロス時間を計測するという態様がある。これによって、転送処理中に他の処理に妨害された場合の遅延をロス時間に含む状態で、転送処理中止の判定が可能となる。
【0015】
また、上記において、さらに、前記転送時間監視手段における前記閾値を決定する許容ロス時間決定手段を備え、前記許容ロス時間決定手段は、少なくとも、前記受信パケットの大きさを参照して前記閾値を決定するという態様がある。これによって、受信パケットの大きさに合わせて閾値を決定することが可能となる。
【0016】
また、上記において、さらに、前記転送時間監視手段における前記閾値を決定する許容ロス時間決定手段を備え、前記許容ロス時間決定手段は、少なくとも、前記受信パケットの通信速度を参照して閾値を決定するという態様がある。これによって、到来する受信パケットの通信速度に適した閾値を決定することが可能となる。
【0017】
また、上記において、1つの受信パケットを別途指定されたブロック最大長より小さいブロックに分割して、順次に各ブロックを転送処理し、さらに、各々のブロックの転送処理の度に、前記転送先記憶手段への転送処理を要求して許可を得てから転送処理を開始するように構成され、前記ロス時間計測手段は、ブロックの転送処理を要求してから許可を得られるまでの時間が各ブロックの転送処理の度に前記ロス時間として計測し、前記転送時間監視手段は、各々のブロックの転送処理の度に、前記ロス時間の評価を行って転送の中止を要求するかどうかを判定し、前記転送中止手段は、転送処理を中止する際には、すでに転送処理が終わったブロックを前記転送先記憶手段から消去するように構成されているという態様がある。これによって、ブロック単位で転送処理を行うDMAコントローラにおいては、ブロック単位に閉じて転送の中止を判定することが可能となる。
【0018】
また、上記において、さらに、前記転送時間監視手段における前記閾値を決定する許容ロス時間決定手段を備え、前記許容ロス時間決定手段は、少なくとも、別途指定されたブロック最大長を参照して前記閾値を決定するという態様がある。これによって、ブロックの指定値に適した閾値を決定することが可能となる。
【0019】
また、上記において、前記転送中止手段は、読み捨て専用の転送先を指定した転送処理を行うことによって、前記転送元記憶手段からの読み捨てを実行するという態様がある。これによって、読み捨ての処理を通常の転送処理と同様に扱うことが可能となる。
【0020】
また、上記において、前記転送中止手段は、転送の中止時に転送先の前記転送先記憶手段に対して、書き込みデータの消去を指示するという態様がある。これによって、転送を中止する以前の書き込みデータが残らないように処理することが可能となる。
【0021】
また、上記において、起動されてから1個の受信パケットを転送処理すると停止するように構成され、かつ、前記転送中止手段は、当該DMAコントローラが停止中に転送処理中止が要求された際にも、受信パケットのデータを前記転送元記憶手段から読み捨てるという態様がある。これによって、DMAコントローラを起動できない程の性能不足に陥っても、受信パケットの読み捨て動作を自動で行うことが可能となる。
【0022】
さらに、上記いずれかのDMAコントローラを備えた半導体集積回路も有効である。
【発明の効果】
【0023】
本発明によると、通信機能に必要な能力が低減しても、受信する通信パケットの損失を極力避ける機能を備えたDMAコントローラが提供される。そのため、リアルタイム通信サービスの通信品質を改善することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明にかかわるDMAコントローラの実施の形態を図面に基づいて詳細に説明する。
【0025】
(実施の形態1)
図1は、本発明の実施の形態1における半導体集積回路内部の通信処理部を示す部分的なブロック図である。図1の通信処理部では、第1および第2の2つの通信機能(部)10,20と、DMAコントローラ30と、バッファ管理/アービタ部40と、RT(Real Time)バッファ50と、NRT(Not Real Time)バッファ51とを備えている。
【0026】
第1および第2の通信機能10,20は外部とのパケット通信を行うものであって、それぞれ通信回線を経由して受け取った受信パケットを記憶する受信FIFO(First-in-First-out)メモリ11,21を備えている。ここで第1および第2の通信機能10,20については、受信FIFOメモリのみ記載し他を省略しているが、送信側の処理ブロックなど他のブロックを備えていてもかまわない。受信FIFOメモリ11,21が転送元記憶手段に相当し、RTバッファ50およびNRTバッファ51が転送先記憶手段に相当する。
【0027】
DMAコントローラ30は、転送処理部31とロス時間計測部33と許容ロス時間決定部34と転送時間監視部35と中止可否判定部36とを備え、また、転送処理部31は転送中止部32を包含している。
【0028】
ここで以降の説明を簡略にするために、DMAコントローラ30は、第1の通信機能10からの受信パケットをRTバッファ50へ転送し、第2の通信機能20からの受信パケットをNRTバッファ51に転送するものとする。これは説明の便宜上そのようにするものであって、DMAコントローラ30または他の機能部が、受信パケット各々の転送先を指定するものであってもよい。
【0029】
RTバッファ50とNRTバッファ51はさらに他の機能部と接続されるが、本発明の趣旨から外れるため、説明および図示を省略する。
【0030】
次に、上記構成の本実施の形態のDMAコントローラの動作を図2のシーケンスチャートおよび図3のフローチャートを参照しながら説明する。
【0031】
第1および第2の通信機能10,20は、内蔵の受信FIFOメモリ11,21に受信パケットを記憶させると、これをDMAコントローラ30に通知する。また、第1および第2の通信機能10,20は受信パケットの大きさについてもDMAコントローラ30に通知する。
【0032】
以下、第1の通信機能10から通知を受けた場合と第2の通信機能20から通知を受けた場合に分けて順次に説明する。
【0033】
(1)第1の通信機能10から通知を受けた場合(RTバッファ50へ転送)
DMAコントローラ30は、第1の通信機能10から通知を受けた場合には、受信FIFOメモリ11からRTバッファ50への転送処理開始をバッファ管理/アービタ部40へ要求し、許可が得られるまで待ち合わせする。
【0034】
バッファ管理/アービタ部40は、要求を受けて転送処理が可能な状況であれば、DMAコントローラ30に許可を与える。ここでバッファ管理/アービタ部40が許可を与える判定方法は特に指定しないが、例えば、転送先のバッファの空き容量や利用可能なデータ転送帯域、あるいはDMAコントローラ30からバッファに至るデータ転送経路の利用状況等をみて許可を与える判定を行うものである。
【0035】
バッファ管理/アービタ部40から許可を得ると、DMAコントローラ30の転送処理部31は、受信FIFOメモリ11から受信パケットのデータを読み出してRTバッファ50に書き込む転送処理を行う。DMAコントローラ30は、受信パケットの全てのデータの転送が完了すれば、第1の通信機能10または第2の通信機能20からの次の通知を待ち合わせする。
【0036】
一方、DMAコントローラ30では、バッファ管理/アービタ部40への要求に続いて、次の処理を行う。
【0037】
ロス時間計測部33は、バッファ管理/アービタ部40への要求が発生してから許可が得られるまでの時間Tを逐次計測する。この時間Tは、クロック数等で計数されるものであってよい。
【0038】
これと並行して、許容ロス時間決定部34は、受信パケットの大きさと転送処理の平均転送速度とを用いて、許容できるロス時間の最大値Tmaxを算出する。この値も、クロック数等で計数されるものであってよい。最大値の算出方法には、例えば受信パケットの大きさを転送処理の平均転送速度で除算したものと、その受信パケットに期待される最大の転送時間との差分に近い値を採用するものであってもよい。また、その受信パケットに期待される最大の転送時間は、通信回線上でのパケット通信速度から算出されるものであってよく、また、パケット通信速度は、状況によって変化するものであってもよい。
【0039】
ロス時間計測部33が計測しているロス時間Tが許容ロス時間決定部34が算出した最大値Tmaxを超えない場合、転送処理部31は第1の通信機能10の受信FIFOメモリ11から受信パケットデータを読み出して、RTバッファ50へ転送する。
【0040】
一方、ロス時間Tが許容ロス時間の最大値Tmaxを超える場合、転送時間監視部35は、転送処理中止を転送処理部31に要求する。そして、中止可否判定部36は、DMAコントローラ30の転送先がRTバッファ50か否かを判断し、RTバッファ50である場合には転送処理中止を不可と判定し、NRTバッファ51である場合には転送処理中止を可能と判定する。なお、本実施の形態の場合には、転送元が第1の通信機能10である場合は転送処理中止が不可と判定し、転送元が第2の通信機能20である場合は転送処理中止が可能と判定するものであってもよい。
【0041】
転送処理部31は、仮に転送時間監視部35から転送処理中止を要求されたとしても、中止可否判定部36が転送処理中止を不可と判定しているので、転送処理中止は行わず、転送処理部31は第1の通信機能10の受信FIFOメモリ11から受信パケットデータを読み出して、RTバッファ50へ転送する。そして、受信パケットデータの転送処理の終了を待って、次の転送処理要求を待ち合わせする。
【0042】
(2)第2の通信機能20から通知を受けた場合(NRTバッファ51へ転送)
DMAコントローラ30は、第2の通信機能20から通知を受けた場合には、受信FIFOメモリ21からNRTバッファ51への転送処理開始をバッファ管理/アービタ部40へ要求し、許可が得られるまで待ち合わせする。以降、上記と同様の動作を行うが、中止可否判定部36は、DMAコントローラの転送先がNRTバッファ51である場合には、転送処理中止を可能と判定する。なお、転送元が第2の通信機能20である場合は転送処理中止が可能と判定するものであってもよい。
【0043】
転送処理部31は、もし転送時間監視部35から転送処理中止を要求されると、中止可否判定部36の判定結果をみる。ここでは中止可否判定部36が転送処理中止が可能と判定しているので、転送処理部31はNRTバッファ51への転送処理を中止し、転送中止部32を起動する。
【0044】
転送中止部32は、受信FIFOメモリ21から転送を中止した受信パケットのデータを読み捨てる動作を行う。読み捨て動作は、受信FIFOメモリ21から連続的にデータ読み出して捨ててもよいし、あるいは、読み出したデータを無効な書き込み動作を行うことで結果的に消滅させるものであってよい。ここで無効な書き込み動作とは、例えばRTバッファ50やNRTバッファ51のいずれでもない読み捨て専用の場所に書き込むこと、あるいは、NRTバッファ51において無効な書き込みと認識されることである。
【0045】
また転送中止部32は、NRTバッファ51に対して書き込みが済んでいるデータを消去する指示を生成する。この指示を受けた場合、NRTバッファ51はそれまでに書き込まれたその受信パケットについての書き込み済みデータを自ら消去する。ここで、NRTバッファ51は、指示を受けたことを単に書き込み済みのデータと共に記憶するだけで、NRTバッファ51を読み取る他の機能部が、書き込み済みのデータを無視または消去するものであってもよい。
【0046】
以上のように、DMAコントローラ30は、バッファ管理/アービタ部40の許可を得るのに時間がかかりすぎる場合に、NRTバッファ51への受信パケットの転送処理は中止し、RTバッファ50への受信パケットの転送は継続することで、RTバッファ50への転送処理を、NRTバッファ51への転送処理の大きすぎる遅延から保護することが可能である。
【0047】
また、許容できるロス時間の最大値は動的に最適値に近い値を算出することができる。
【0048】
なお、本実施の形態では、中止可否判定部36は、転送先のバッファの別または転送元のバッファの別で転送処理中止を判定していたが、その代わりに、受信パケットの情報を解析して転送処理中止の可否を判定してもよい。この際には、解析のための受信パケットの情報は、通信機能から直接与えられるか、または、DMAコントローラ30が読み取ったデータを受け取って解析する。この場合、NRTバッファ51に転送される受信パケットの内の一部は転送処理中止を不可と判定するように動作させることが可能である。
【0049】
また、本実施の形態では、ロス時間計測部33はバッファ管理/アービタ部40への要求が発生してからの時間を逐次計測しているが、これはDMAコントローラ30が第1の通信機能10または第2の通信機能20から通知されてからの時間を逐次計測するものであってもよい。この場合は、DMAコントローラ30が別の受信パケットについての処理を行っている期間をロス時間に含めることができる。
【0050】
また、本実施の形態では、ロス時間計測部33は、バッファ管理/アービタ部40への要求が発生してから許可が得られるまでの時間を計測しているが、さらに転送処理中のロス時間を続けて計測するものであってもよい。このときには、何らかの要因によりDMAコントローラ30の転送処理が妨害されて大き過ぎる遅延が発生する場合にも、転送処理を中止することが可能となる。
【0051】
なお、本実施の形態では、転送処理部31は1つの受信パケットの転送処理を一度に連続して行うように記載しているが、その代わりに、指定されるブロック最大長より小さいブロック単位で転送され、ブロックの転送処理の度にバッファ管理/アービタ部40への要求と許可の手順が踏まれ、ロス時間の計測が行われて転送時間監視部35がロス時間の評価を行うものであってもよい。さらに、許容ロス時間決定部34は、指定されたブロックの最大値を基に許容できるロス時間の最大値を算出するものであってもよい。さらに、ブロック最大長は適時に変更されるものであってよい。
【0052】
なお、本実施の形態においては、2つの転送元(受信FIFOメモリ11,21)と2つの転送先(RTバッファ50、NRTバッファ51)を備えたが、転送元と転送先の数はそれに限るものではない。
【0053】
(実施の形態2)
図4は、本発明の実施の形態2におけるパケット通信システムのブロック図である。図4のパケット通信システムは、プロセッサ60と主記憶(部)70と通信機能10とDMAコントローラ30を備え、バス80で結合されている。実施の形態1の場合のバッファ管理/アービタ部40、RTバッファ50およびNRTバッファ51はない。実施の形態1の場合と同様に、DMAコントローラ30は、転送処理部31とロス時間計測部33と許容ロス時間決定部34と転送時間監視部35と中止可否判定部36を備え、また、転送処理部31は転送中止部32を包含している。本実施の形態においては、主記憶70が転送先記憶手段に相当している。
【0054】
プロセッサ60は、1つの受信パケット毎に主記憶70上の記憶位置を指示してDMAコントローラ30を起動するものとする。これは、パケットの受信が完了する以前に行われてもよい。
【0055】
DMAコントローラ30が起動されている場合に、通信機能10から通知を受けると、転送処理部31は受信FIFOメモリ11から主記憶70の指定された記憶位置への転送処理を開始する。DMAコントローラ30は受信パケットの全てのデータの転送が完了すれば、DMAコントローラ30は停止状態になる。
【0056】
ロス時間計測部33は、DMAコントローラ30が起動されているか停止しているかに関わらず、第1の通信機能10から通知を受けてから転送処理を開始するまでの時間を逐次計測する。この時間は、クロック数等で計数されるものであってよい。
【0057】
転送時間監視部35は、DMAコントローラ30が起動されているか停止しているかに関わらず、ロス時間計測部33が計測している遅延時間が許容ロス時間決定部34が算出した最大値を超える場合、転送処理中止を転送処理部31に要求する。
【0058】
転送処理部31は、仮に転送時間監視部35から転送処理中止を要求され、中止可否判定部36が転送処理中止が可能と判定している場合には、DMAコントローラ30が停止していても、転送中止部32を起動する。
【0059】
DMAコントローラ30が起動している場合において、転送時間監視部35から転送処理中止を要求された場合には、転送処理部31は主記憶70への転送処理を中止し、転送中止部32を起動する。
【0060】
一方、DMAコントローラ30が停止している場合において、転送時間監視部35から転送処理中止を要求された場合には、転送処理部31は転送中止部32を起動する。この場合にも転送中止部32は、受信FIFOメモリ11からの受信パケットのデータを読み捨てる動作を行う。
【0061】
第1の通信機能10、受信FIFOメモリ11、許容ロス時間決定部34、中止可否判定部36の動作は、実施の形態1で説明したものと同様の動作を行う。
【0062】
このように動作する本実施の形態では、プロセッサ60がDMAコントローラ30を起動できないような遅延の発生に際しても、DMAコントローラ30が自律的に一部の受信パケットを読み捨てることによって、受信FIFOメモリ11が一杯になるのを極力避けることを可能とする。
【0063】
なお、本実施の形態においてDMAコントローラ30が起動中に転送処理を中止する場合には、プロセッサ60に通知することなく、指示された主記憶70上の記憶位置を次の転送処理のために再利用するものであってもよい。
【0064】
なお、本発明の実施の形態の各々は、それぞれ本発明の一例に過ぎず、本発明のDMAコントローラの構成はこれらには限られない。
【0065】
また、本発明のDMAコントローラを、半導体集積回路やネットワークプロセッサを構成する要素として用いることも可能である。
【産業上の利用可能性】
【0066】
以上説明したように、本発明のDMAコントローラは、空きのバッファ量やプロセッサ等の負荷等により発生する遅延を適切に判断して、他の受信パケットを積極的に捨て去ることで、保護したい受信パケットが通信機能の記憶手段にも格納できない事態を極力回避することができる。そのため、リアルタイムサービスを行うパケット通信機能を備えた機器等に有用である。
【図面の簡単な説明】
【0067】
【図1】本発明の実施の形態1における半導体集積回路内部の通信処理部を示す部分的なブロック図
【図2】本発明の実施の形態1におけるDMAコントローラの動作を示すシーケンスチャート
【図3】本発明の実施の形態1におけるDMAコントローラの動作を示すフローチャート
【図4】本発明の実施の形態2におけるパケット通信システムのブロック図
【符号の説明】
【0068】
10,20 通信機能(部)
11,21 受信FIFOメモリ(転送元記憶手段)
30 DMAコントローラ
31 転送処理部
32 転送中止部
33 ロス時間計測部
34 許容ロス時間決定部
35 転送時間監視部
36 中止可否判定部
40 バッファ管理/アービタ部
50 RTバッファ(転送先記憶手段)
51 NRTバッファ(転送先記憶手段)
60 プロセッサ
70 主記憶(部)(転送先記憶手段)
80 バス




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013