JP2016171451A - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP2016171451A
JP2016171451A JP2015049796A JP2015049796A JP2016171451A JP 2016171451 A JP2016171451 A JP 2016171451A JP 2015049796 A JP2015049796 A JP 2015049796A JP 2015049796 A JP2015049796 A JP 2015049796A JP 2016171451 A JP2016171451 A JP 2016171451A
Authority
JP
Japan
Prior art keywords
buffer memory
transmission
data
reception
control device
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.)
Abandoned
Application number
JP2015049796A
Other languages
English (en)
Inventor
智哉 堀口
Tomoya Horiguchi
智哉 堀口
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015049796A priority Critical patent/JP2016171451A/ja
Priority to US14/846,328 priority patent/US20160266846A1/en
Publication of JP2016171451A publication Critical patent/JP2016171451A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/127Structure or manufacture of heads, e.g. inductive
    • G11B5/31Structure or manufacture of heads, e.g. inductive using thin films
    • G11B5/3109Details
    • G11B5/313Disposition of layers
    • G11B5/3133Disposition of layers including layers not usually being a part of the electromagnetic transducer structure and providing additional features, e.g. for improving heat radiation, reduction of power dissipation, adaptations for measurement or indication of gap depth or other properties of the structure
    • G11B5/314Disposition of layers including layers not usually being a part of the electromagnetic transducer structure and providing additional features, e.g. for improving heat radiation, reduction of power dissipation, adaptations for measurement or indication of gap depth or other properties of the structure where the layers are extra layers normally not provided in the transducing structure, e.g. optical layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • H04B5/72

Abstract

【課題】データ通信の迅速性の向上とデータ通信以外の他の処理の遅延の抑制とを両立させることができる通信装置を提供する。【解決手段】制御装置は、第1割り込み信号に応じてバッファメモリの状態を確認し、バッファメモリが次の送信データを書き込み可能な空き容量を有する場合にバッファメモリに次の送信データを書き込む第1書き込み処理を実行可能である。また、制御装置は、N1回の第1書き込み処理の完了に応じてバッファメモリの状態を確認し、バッファメモリが空き容量を有する場合にバッファメモリに次の送信データを書き込む第2書き込み処理を実行可能である。制御装置は、第1または第2書き込み処理での送信データの書き込みを合計でN2回実行した後に、新たな第1書き込み処理を実行する。【選択図】図1

Description

本発明の実施形態は、通信装置に関する。
従来から、無線通信技術の1つとして、近距離無線通信が知られている。例えば、TransferJet (登録商標)においては、データを転送したい相手機器に自らの機器をかざすことで、無線通信特有の煩雑な設定を省略して、データを相手機器に転送できる。
しかし、従来の無線通信技術においては、データの転送(すなわち、データ通信)を、データの転送以外の他の処理の遅延を抑えつつ迅速に行うことが困難であるといった問題があった。
特開2001−216170号公報
データ通信の迅速性の向上とデータ通信以外の他の処理の遅延の抑制とを両立させることができる通信装置を提供する。
本実施形態による通信装置は、無線通信部と制御装置とを備える。無線通信部は、バッファメモリと送信装置とを有する。バッファメモリには、通信相手装置に送信すべき送信データが書き込まれる。制御装置は、バッファメモリに送信データを書き込む。送信装置は、送信データをバッファメモリから読み出して通信相手装置に送信する。送信装置は、送信データの送信の完了に応じて制御装置に第1割り込み信号を出力する。制御装置は、第1割り込み信号に応じてバッファメモリの状態を確認し、バッファメモリが次の送信データを書き込み可能な空き容量を有する場合にバッファメモリに次の送信データを書き込む第1書き込み処理を実行可能である。また、制御装置は、N回の第1書き込み処理の完了に応じてバッファメモリの状態を確認し、バッファメモリが空き容量を有する場合にバッファメモリに次の送信データを書き込む第2書き込み処理を実行可能である。制御装置は、第1または第2書き込み処理での送信データの書き込みを合計でN回実行した後に、新たな第1書き込み処理を実行する。
本実施形態を示す通信システム1のブロック図である。 図1の通信システム1における通信装置10の送信動作を示すフローチャートである。 図1の通信システム1における通信装置10の受信動作を示すフローチャートである。 図1の通信システム1の通信装置10における制御装置12の状態遷移図である。
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
図1は、本実施形態を示す通信システム1のブロック図である。通信システム1は、通信装置10と相手端末100とを備える。相手端末100は、通信相手装置、第1の通信相手装置または第2の通信相手装置でもある。
通信装置10は、例えば、携帯電話機、スマートフォン、タブレット端末、ラップトップコンピュータおよびデジタルカメラなどの可搬型の電子装置に搭載される。通信装置10は、例えば、デスクトップコンピュータ、サーバ、映像再生装置などの固定型の電子装置に搭載されてもよい。
通信装置10は、例えば、電子装置のコネクタ(例えば、USBコネクタ等)に着脱可能に接続されるアダプタであってもよい。通信装置10の態様は以上に限定されず、例えば、通信装置10は、電子装置に着脱不能に搭載されてもよい。相手端末100は、可搬型または固定型の端末であってよく、また、通信装置10と同様の通信装置を搭載してよい。
図1に示すように、通信装置10は、無線通信部11と制御装置12とを有する。制御装置12は、例えば、CPU、ROMおよびRAMなどで構成してもよい。無線通信部11は、送受信装置111とバッファメモリ112とを有する。送受信装置111は、送信装置でもある。また、送受信装置111は、受信装置でもある。送受信装置111は、送信装置および受信装置のいずれか一方として機能してもよい。
送受信装置111は、例えば、近距離無線通信によって相手端末100との間でデータ通信を実行する。近距離無線通信の態様は、例えば、送受信装置111の結合電極と相手端末100の結合電極との間での電界結合によって高周波信号を送受信する態様であってもよい。近距離無線通信は、例えば、TransferJetであってもよい。
バッファメモリ112には、相手端末100に送信すべき送信データが書き込まれる。また、バッファメモリ112には、相手端末100から受信した受信データが書き込まれる。
送受信装置111は、送信データをバッファメモリ112から読み出して相手端末100に送信する。また、送受信装置111は、受信データを相手端末100から受信してバッファメモリ112に書き込む。
制御装置12は、バッファメモリ112に送信データを書き込む。また、制御装置12は、バッファメモリ112から受信データを読み出す。
なお、制御装置12は、送受信装置111に非同期にアクセスし、送受信装置111を介して(制御して)バッファメモリ112に送信データを書き込んでもよい。また、制御装置12は、送受信装置111に非同期にアクセスし、送受信装置111を介して(制御して)バッファメモリ112から受信データを読み出してもよい。
送受信装置111は、送信データの送信の完了に応じて、次の送信データの書き込みを許可する第1割り込み信号を制御装置12に出力する。また、送受信装置111は、受信データの受信の完了に応じて、次の受信データの読み出しを許可する第2割り込み信号を制御装置12に出力する。
制御装置12は、第1書き込み処理と第2書き込み処理とを選択的に実行可能である。ここで、第1書き込み処理とは、第1割り込み信号に応じてバッファメモリ112の状態を確認し、バッファメモリ112が次の送信データを書き込み可能な空き容量を有する状態である場合に、バッファメモリ112に次の送信データを書き込む処理である。第2書き込み処理とは、N回の第1書き込み処理の完了に応じてバッファメモリ112の状態を確認し、バッファメモリ112が空き容量を有する状態である場合に、バッファメモリ112に次の送信データを書き込む処理である。ただし、Nは、自然数である(以下同様)。N回は、例えば、1回であってもよい。また、第1書き込み処理の完了とは、第1書き込み処理によってバッファメモリ112に送信データが実際に書き込まれたことをいう。第1書き込み処理の完了は、第1書き込み処理による送信データの書き込みの完了(成功)ということもできる。したがって、空き容量が無いことでバッファメモリ112に送信データを書き込めなかった場合には、第1書き込み処理は完了していない。前述のように、第2書き込み処理は、第1書き込み処理が第1割り込み信号の受信(入力)を契機とするのに対して、N回の第1書き込み処理の完了を契機としている。したがって、第2書き込み処理では、第1割り込み信号の受信を省略できる。
第1書き込み処理は、第1割り込み信号に応じたバッファメモリ112の状態の確認において、バッファメモリ112が空き容量を有しない場合に、バッファメモリ112に次の送信データを書き込まない処理でもある。また、第2書き込み処理は、N回の第1書き込み処理の完了に応じたバッファメモリ112の状態の確認において、バッファメモリ112が空き容量を有しない場合に、バッファメモリ112に次の送信データを書き込まない処理でもある。
なお、第2書き込み処理による送信データの送信は、ポーリング処理であってもよい。
制御装置12は、第1または第2書き込み処理での送信データの書き込みを合計でN回実行した後に、新たな第1書き込み処理を実行する。ただし、Nは、N以上の自然数である(以下同様)。例えば、制御装置12は、第1書き込み処理での送信データの書き込みを1回実行し、第2書き込み処理での送信データの書き込みをN−1回実行した後に、新たな第1書き込み処理を実行してもよい。
もし、第1書き込み処理のみに依存したデータ送信を実行する場合、制御装置12は、送受信装置111から第1割り込み信号を受信するまでは、バッファメモリ112に送信データを書き込めない。そして、バッファメモリ112に送信データを書き込めないことで、送信データの送信が遅延してしまう。これに対して、本実施形態では、第1割り込み信号の受信を要しない第2書き込み処理を実行することができるので、送信データを迅速に送信できる。すなわち、送信スループットを向上させることができる。
一方で、もし、第2書き込み処理のみに依存したデータ送信を実行する場合、制御装置12は、第2書き込み処理のためにバッファメモリ112の状態を常に確認しなければならないので、送信データの書き込み以外の他のタスクを実行できない。したがって、第2書き込み処理のみに依存したデータ送信を実行する場合、他のタスクの実行が遅延してしまう。これに対して、本実施形態では、第2書き込み処理の後に第1書き込み処理に切換えることができるので、他のタスクの実行の遅延を抑える(低減する)ことができる。
なお、N回は、一定および可変のいずれであってもよい。
例えば、制御装置12において、上位レイヤから送信を要求された送信フレームを、複数のパケットに分割して1つのパケット単位のデータ(送信データ)として順次送信する場合がある。送信フレームをパケット単位で送信する場合、N回は、送信フレーム全体の送信の完了に要する送信データの書き込み回数であってよい。この場合、制御装置12は、N回を送信フレームのヘッダ内の送信パケット数に関する情報に基づいて設定してもよい。N回を送信フレーム全体の送信の完了に要する書き込み回数とすることで、送信フレームを迅速に送信できる。
また、制御装置12は、バッファメモリ112の状態の確認をN回実行した場合において、バッファメモリ112がN回の確認の全てにおいて空き容量を有しない場合に、第2書き込み処理を行わずに新たな第1書き込み処理を実行してもよい。ただし、Nは、N以上の自然数である(以下同様)。
バッファメモリ112が連続して空き容量を有しない場合に、第2書き込み処理を省略して第1書き込み処理に移行することで、他のタスクの実行の機会を確保できる。また、バッファメモリ112の状態の確認結果に応じて第2書き込み処理を省略できるので、送信スループットを取得する処理を省略することもできる。一方で、バッファメモリ112の空き容量を確認する機会を複数回数確保することもできるので、制御装置12は、第2書き込み処理での送信データの迅速な送信の機会をうかがうことができる。
また、制御装置12は、送受信装置111の送信スループットを取得し、送信スループットに応じてN回を設定(変更)してもよい。
例えば、送信スループットが高ければ、バッファメモリ112に書き込まれた送信データは直ちに送信され得る。換言すれば、送信スループットが高ければ、送信データの書き込みの際に前の送信データがバッファメモリ112に残存している可能性は低いと言える。前の送信データがバッファメモリ112に残存していないことで、次の送信データをバッファメモリ112に直ちに書き込むことができる。そこで、制御装置12は、送信スループットが第1送信側閾値より高い場合に、N回をN+1回に設定してよい。N+1回は、例えば、2回であってもよい。送信スループットが高い状況下においてバッファメモリ112の確認の回数をN+1回に設定することで、送信データを迅速かつ確実に送信できるとともに、他のタスクの実行の機会をすみやかに確保できる。
一方、送信スループットが低ければ、送信データの書き込みの際に前の送信データがバッファメモリ112に残存している可能性は高いと言える。前の送信データがバッファメモリ112に残存していることで、次の送信データをバッファメモリ112に直ちに書き込むことはできない。そこで、制御装置12は、送信スループットが第1送信側閾値より低い第2送信側閾値よりも低い場合に、N回をN回に設定してもよい。N回をN回に設定することは、第2書き込み処理を行わずに新たな第1書き込み処理を実行することでもある。送信スループットが低い状況下において成功率が低い無駄な第2書き込み処理を回避することで、他のタスクの実行の機会をすみやかに確保できる。
また、制御装置12は、基本的に、N回を送信フレーム全体の送信の完了に要する送信データの書き込み回数に設定し、例外的に、送信スループットが第2送信側閾値よりも低い場合には、N回をN回に設定(変更)してもよい。N回をN回に設定することで、仮に第1書き込み処理による書き込みが成功した場合でも、次回の書き込み処理は、第2書き込み処理ではなく新たな第1書き込み処理となる。これにより、送信スループットが低い状況下での不安定な書き込み処理(フレーム送信)を停止して、他のタスクの実行の機会をすみやかに確保できる。
さらに、制御装置12は、第1読み出し処理と第2読み出し処理とを選択的に実行可能である。ここで、第1読み出し処理とは、第2割り込み信号に応じてバッファメモリ112の状態を確認し、バッファメモリ112が次の受信データを有する場合にバッファメモリ112から次の受信データを読み出す処理である。第2読み出し処理とは、N回の第1読み出し処理の完了に応じてバッファメモリ112の状態を確認し、バッファメモリ112が次の受信データを有する場合に、バッファメモリ112から次の受信データを読み出す処理である。ただし、Nは、自然数である(以下同様)。N回は、例えば、1回であってもよい。また、第1読み出し処理の完了とは、第1読み出し処理によってバッファメモリ112から受信データが実際に読み出されたことをいう。第1読み出し処理の完了は、第1読み出し処理による受信データの読み出しの完了(成功)ということもできる。したがって、バッファメモリ112に受信データが無いことでバッファメモリ112から受信データを読み出せなかった場合には、第1読み出し処理は完了していない。前述のように、第2読み出し処理は、第1読み出し処理が第2割り込み信号の受信(入力)を契機とするのに対して、N回の第1読み出し処理の完了を契機としている。したがって、第2読み出し処理では、第2割り込み信号の受信を省略できる。
第1読み出し処理は、第2割り込み信号に応じたバッファメモリ112の状態の確認において、バッファメモリ112が次の受信データを有しない場合にバッファメモリ112から次の受信データを読み出さない処理でもある。また、第2読み出し処理は、N回の第1読み出し処理の完了に応じたバッファメモリ112の状態の確認において、バッファメモリ112が次の受信データを有しない場合に、バッファメモリ112から次の受信データを読み出さない処理でもある。
なお、第2読み出し処理による受信データの受信は、ポーリング処理であってもよい。
制御装置12は、第1または第2読み出し処理での受信データの読み出しを合計でN回実行した後に、新たな第1読み出し処理を実行する。ただし、Nは、N以上の自然数である(以下同様)。例えば、制御装置12は、第1読み出し処理での受信データの読み出しを1回実行し、第2読み出し処理での受信データの読み出しをN−1回実行した後に、新たな第1読み出し処理を実行してもよい。
もし、第1読み出し処理のみに依存したデータ受信を実行する場合、制御装置12は、送受信装置111から第2割り込み信号を受信するまでは、バッファメモリ112から受信データを読み出せない。そして、バッファメモリ112から受信データを読み出せないことで、受信データの受信が遅延してしまう。これに対して、本実施形態では、第2割り込み信号の受信を要しない第2読み出し処理を実行することができるので、受信データを迅速に受信できる。すなわち、受信スループットを向上させることができる。
一方で、もし、第2読み出し処理のみに依存したデータ受信を実行する場合、制御装置12は、第2読み出し処理中に他のタスクを実行できないので、他のタスクの実行が遅延してしまう。これに対して、本実施形態では、第2読み出し処理の後に第1読み出し処理に切換えることができるので、他のタスクの実行の遅延を抑える(低減する)ことができる。
なお、N回は、一定および可変のいずれであってもよい。
例えば、制御装置12において、受信フレームを、1つのパケット単位の受信データずつ順次受信する場合がある。受信フレームをパケット単位で受信する場合、N回は、受信フレームの最後の受信データをバッファメモリ112から読み出し終えるまでに要する受信データの読み出し回数であってよい。この場合、制御装置12は、N回を受信フレームのヘッダ内の受信パケット数に関する情報に基づいて設定してもよい。N回を、受信フレームの最後の受信データを読み出し終えるまでに要する受信データの読み出し回数とすることで、受信フレームを迅速に受信できる。
また、制御装置12は、バッファメモリ112の状態の確認をN回実行した場合において、バッファメモリ112がN回の確認の全てにおいて次の受信データを有しない場合に、第2読み出し処理を行わずに新たな第1読み出し処理を実行してもよい。ただし、Nは、N以上の自然数である(以下同様)。
バッファメモリ112が連続して次の受信データを有しない場合に、第2読み出し処理を省略して第1読み出し処理に移行することで、他のタスクの実行の機会を確保できる。また、バッファメモリ112の状態の確認結果に応じて第2読み出し処理を省略できるので、受信スループットを取得する処理を省略することもできる。一方で、バッファメモリ112に次の受信データを確認する機会を複数回数確保できるので、制御装置12は、第2読み出し処理での受信データの迅速な受信の機会をうかがうことができる。
また、制御装置12は、送受信装置111の受信スループットを取得し、受信スループットに応じてN回を設定(変更)してもよい。
例えば、受信スループットが高ければ、バッファメモリ112から受信データを読み出した後、直ちに次の受信データが受信されてバッファメモリ112に書き込まれ得る。次の受信データがバッファメモリ112に書き込まれていることで、次の受信データをバッファメモリ112から直ちに読み出すことができる。そこで、制御装置12は、受信スループットが第1受信側閾値より高い場合に、N回をN+1回に設定してよい。N+1回は、例えば、2回であってもよい。受信スループットが高い状況下においてバッファメモリ112の確認の回数をN+1回に設定することで、受信データを迅速かつ確実に受信できるとともに、他のタスクの実行の機会をすみやかに確保できる。
一方、受信スループットが低ければ、バッファメモリ112から受信データを読み出した後、直ちに次の受信データが受信されてバッファメモリ112に書き込まれている可能性は低いと言える。そこで、制御装置12は、受信スループットが第1受信側閾値より低い第2受信側閾値よりも低い場合に、N回をN回に設定してもよい。N回をN回に設定することは、第2読み出し処理を行わずに新たな第1読み出し処理を実行することでもある。受信スループットが低い状況下において成功率が低い無駄な第2読み出し処理を回避することで、他のタスクの実行の機会をすみやかに確保できる。
また、制御装置12は、基本的に、N回を受信フレームの最後の受信データを読み出し終えるまでに要する受信データの読み出し回数に設定し、例外的に、受信スループットが第2受信側閾値よりも低い場合には、N回をN回に設定(変更)してもよい。N回をN回に設定することで、仮に第1読み出し処理による読み出しが成功した場合でも、次回の読み出し処理は、第2読み出し処理ではなく新たな第1読み出し処理となる。これにより、受信スループットが低い状況下での不安定な読み出し処理(フレーム受信)を停止して、他のタスクの実行の機会をすみやかに確保できる。
図1のような構成を有する通信装置10の送信動作の一例について説明する。図2は、図1の通信システム1における通信装置10の送信動作を示すフローチャートである。なお、図2のフローチャートでは、N=1を前提としている。
図2に示すように、制御装置12は、先ず、送受信装置111からの第1割り込み信号の受信を確認する(ステップS1)。そして、制御装置12は、送受信装置111に第1割り込み信号の送信を禁止させる(割り込みをマスクする)。このとき、制御装置12は、送信データ書き込み回数(書き込み回数の合計)iを0に設定し、メモリ状態確認回数(バッファメモリ112の状態の確認回数)jを0に設定する。
次いで、制御装置12は、送受信装置111の送信スループットを取得する(ステップS2)。
次いで、制御装置12は、送信スループットに応じたN回を設定する(ステップS3)。
次いで、制御装置12は、バッファメモリ112の状態すなわち空き容量を確認する(ステップS4)。このとき、制御装置12は、メモリ状態確認回数jをインクリメントしてj+1に設定する。
次いで、制御装置12は、バッファメモリ112が空き容量を有する状態であるか否かを判定する(ステップS5)。そして、バッファメモリ112が空き容量を有する状態である場合(ステップS5:Yes)、制御装置12は、バッファメモリ112に次の送信データを書き込む(ステップS6)。このとき、制御装置12は、送信データ書き込み回数iをインクリメントしてi+1に設定する。次の送信データの書き込み(ステップS6)が1巡目の書き込みである場合、この書き込みは、第1書き込み処理での書き込みである。次の送信データの書き込み(ステップS6)が2巡目以上の書き込みである場合、この書き込みは、第2書き込み処理での書き込みである。
一方、バッファメモリ112が空き容量を有しない状態である場合(ステップS5:No)、制御装置12は、メモリ状態確認回数jがN回に達したか否かを判定する(ステップS9)。そして、確認回数jがN回に達した場合(ステップS9:Yes)には、制御装置12は、割り込みマスクを解除する(ステップS8)。割り込みマスクの解除(ステップS8)後は、新たな第1書き込み処理を実行する。一方、確認回数jがN回に達していない場合(ステップS9:No)には、再びバッファメモリ112の状態を確認し、確認回数jをインクリメントする(ステップS4)。
次の送信データの書き込み(ステップS6)の後、制御装置12は、フレーム送信が完了または送信データ書き込み回数iがN回に達したか否かを判定する(ステップS7)。そして、フレーム送信が完了するか、または、送信データ書き込み回数iがN回に達した場合(ステップS7:Yes)には、制御装置12は、割り込みマスクを解除する(ステップS8)。一方、フレーム送信が未完了で、かつ、送信データ書き込み回数iがN回に未到達の場合(ステップS7:No)には、制御装置12は、再びバッファメモリ112の状態を確認する(ステップS4)。バッファメモリ112の状態の確認が2巡目以上である場合、この確認は、第2書き込み処理によるものである。
次に、図1のような構成を有する通信装置10の受信動作の一例を説明する。図3は、図1の通信システム1における通信装置10の受信動作を示すフローチャートである。なお、図3のフローチャートでは、N=1を前提としている。
図3に示すように、制御装置12は、送受信装置111からの第2割り込み信号の受信を確認する(ステップS10)。そして、制御装置12は、受信データ読み出し回数(読み出し回数の合計)iを0に設定し、メモリ状態確認回数jを0に設定する。
次いで、制御装置12は、送受信装置111の受信スループットを取得する(ステップS20)。
次いで、制御装置12は、受信スループットに応じてN回を設定する(ステップS30)。
次いで、制御装置12は、バッファメモリ112の状態すなわち次の受信データの有無を確認(ステップS4)してメモリ状態確認回数jをインクリメントしたうえで、バッファメモリ112が次の受信データを有するか否かを判定する(ステップS50)。
次いで、制御装置12は、バッファメモリ112が次の受信データを有する場合(ステップS50:Yes)、バッファメモリ112から次の受信データを読み出す(ステップS60)。このとき、制御装置12は、受信データ読み出し回数iをインクリメントしてi+1に設定する。次の受信データの読み出し(ステップS60)が1巡目の読み出しである場合、この読み出しは、第1読み出し処理での読み出しである。次の受信データの読み出し(ステップS60)が2巡目以上の読み出しである場合、この読み出しは、第2読み出し処理での読み出しである。
一方、制御装置12は、バッファメモリ112が次の受信データを有しない場合(ステップS50:No)、メモリ状態確認回数jがN回に達したか否かを判定する(ステップS90)。そして、制御装置12は、確認回数jがN回に達した場合(ステップS90:Yes)には、割り込みマスクを解除する(ステップS8)。制御装置12は、割り込みマスクの解除(ステップS8)後は、新たな第1読み出し処理を実行する。一方、制御装置12は、確認回数jがN回に達していない場合(ステップS90:No)には、再びバッファメモリ112の状態を確認し、確認回数jをインクリメントする(ステップS4)。
次の受信データの読み出し(ステップS60)の後、制御装置12は、フレーム受信が完了または受信データ読み出し回数iがN回に達したか否かを判定する(ステップS70)。そして、フレーム受信が完了するか、または、受信データ読み出し回数iがN回に達した場合(ステップS70:Yes)には、制御装置12は、割り込みマスクを解除する(ステップS8)。一方、フレーム受信が未完了で、かつ、受信データ読み出し回数iがN回に未到達の場合(ステップS70:No)には、制御装置12は、再びバッファメモリ112の状態を確認する(ステップS4)。バッファメモリ112の状態の確認が2巡目以上である場合、この確認は、第2読み出し処理によるものである。
図4は、図1の通信システム1の通信装置10における制御装置12の状態遷移図である。図4に示すように、制御装置12は、第1書き込み処理および第1読み出し処理を待機する待機状態(S_1)において、第1割り込み信号が受信された場合に、第1書き込み処理状態(S_2)に遷移する。なお、待機状態(S_1)は、制御装置12がバッファメモリ112に対する書き込みおよび読み出し以外の他のタスクを実行可能な状態である。逆に、制御装置12は、第1書き込み処理状態(S_2)において、フレーム送信が完了するか、または、バッファメモリ112の空き容量が無いことが確認された場合に、待機状態(S_1)に遷移する。
また、制御装置12は、第1書き込み処理状態(S_2)において、N回の第1書き込み処理が完了した場合に、第2書き込み処理状態(S_3)に遷移する。
また、制御装置12は、第2書き込み処理状態(S_3)において、書き込み回数の合計がN回に未到達の場合に、第2書き込み処理状態(S_3)を維持する。また、制御装置12は、バッファメモリ112の空き容量が無く、かつ、バッファメモリ112の状態の確認回数がN回に未到達の場合にも、第2書き込み処理状態(S_3)を維持する。
一方、制御装置12は、第2書き込み処理状態(S_3)において、フレーム送信が完了した場合に、待機状態(S_1)に遷移する。また、制御装置12は、書き込み回数の合計がN回に到達した場合にも、待機状態(S_1)に遷移する。また、制御装置12は、バッファメモリ112の状態の確認回数がN回に到達した場合にも、待機状態(S_1)に遷移する。
また、図4に示すように、制御装置12は、待機状態(S_1)において、第2割り込み信号が受信された場合に、第1読み出し処理状態(S_4)に遷移する。逆に、制御装置12は、第1読み出し処理状態(S_4)において、フレーム受信が完了するか、または、バッファメモリ112に次の受信データが無いことが確認された場合に、待機状態(S_1)に遷移する。
また、制御装置12は、第1読み出し処理状態(S_4)において、N回の第1読み出し処理が完了した場合に、第2読み出し処理状態(S_5)に遷移する。
また、制御装置12は、第2読み出し処理状態(S_5)において、読み出し回数の合計がN回に未到達の場合に、第2読み出し処理状態(S_5)を維持する。また、制御装置12は、バッファメモリ112に次の受信データが無く、かつ、バッファメモリ112の状態の確認回数がN回に未到達の場合にも、第2読み出し処理状態(S_5)を維持する。
一方、制御装置12は、第2読み出し処理状態(S_5)において、フレーム受信が完了した場合に、待機状態(S_1)に遷移する。また、制御装置12は、読み出し回数の合計がN回に到達した場合にも、待機状態(S_1)に遷移する。また、制御装置12は、バッファメモリ112の状態の確認回数がN回に到達した場合にも、待機状態(S_1)に遷移する。
待機状態に遷移することで、バッファメモリ112に対する書き込みおよび読み出し以外の他のタスクを実行できる。
なお、他のタスクの実行の遅延を軽減することよりもデータ送信を優先させたい場合には、送信スループットの低下にともなってN回を増加させてよい。また、他のタスクの実行の遅延を軽減することよりもデータ受信を優先させたい場合には、受信スループットの低下にともなってN回を増加させてよい。
以上説明したように、本実施形態によれば、第1書き込み処理と第2書き込み処理とを選択的に実行することで、データ送信の迅速性の向上と、他の処理の遅延の抑制とを両立させることができる。また、本実施形態によれば、第1読み出し処理と第2読み出し処理とを選択的に実行することで、データ受信の迅速性の向上と、他の処理の遅延の抑制とを両立させることができる。すなわち、本実施形態によれば、データ通信の迅速性の向上とデータ通信以外の他の処理の遅延の抑制とを両立させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
10 通信装置
11 無線通信部
111 送受信装置
112 バッファメモリ
12 制御装置

Claims (11)

  1. 通信相手装置に送信すべき送信データが書き込まれるバッファメモリと、前記送信データを前記バッファメモリから読み出して前記通信相手装置に送信する送信装置と、を有する無線通信部と、
    前記バッファメモリに前記送信データを書き込む制御装置と、を備え、
    前記送信装置は、前記送信データの送信の完了に応じて前記制御装置に第1割り込み信号を出力し、
    前記制御装置は、
    前記第1割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の送信データを書き込み可能な空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第1書き込み処理と、
    回(Nは自然数、以下同様)の前記第1書き込み処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第2書き込み処理と、を実行可能であり、
    前記制御装置は、前記第1または第2書き込み処理での前記送信データの書き込みを合計でN回(NはN以上の自然数、以下同様)実行した後に、新たな前記第1書き込み処理を実行する、通信装置。
  2. 前記制御装置は、前記バッファメモリの状態の確認をN回(NはN以上の自然数、以下同様)実行した場合において、前記バッファメモリがN回の確認の全てにおいて前記空き容量を有しない場合に、前記第2書き込み処理を行わずに前記新たな第1書き込み処理を実行する、請求項1に記載の通信装置。
  3. 前記制御装置は、前記送信装置の送信スループットを取得し、前記送信スループットが第1送信側閾値より高い場合に、N回をN+1回に設定する、請求項2に記載の通信装置。
  4. 前記制御装置は、前記送信スループットが前記第1送信側閾値より低い第2送信側閾値よりも低い場合に、N回をN回に設定する、請求項3に記載の通信装置。
  5. 前記送信データは、送信を要求された送信フレームを複数のパケットに分割した1つのパケット単位のデータであり、
    回は、前記送信フレーム全体の送信の完了に要する前記送信データの書き込み回数である、請求項1〜3のいずれか1項に記載の通信装置。
  6. 通信相手装置から受信した受信データが書き込まれるバッファメモリと、前記受信データを前記通信相手装置から受信して前記バッファメモリに書き込む受信装置と、を有する無線通信部と、
    前記バッファメモリから前記受信データを読み出す制御装置と、を備え、
    前記受信装置は、前記受信データの受信の完了に応じて前記制御装置に第2割り込み信号を出力し、
    前記制御装置は、
    前記第2割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の受信データを有する場合に前記バッファメモリから前記次の受信データを読み出す第1読み出し処理と、
    回(Nは自然数、以下同様)の前記第1読み出し処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記次の受信データを有する場合に、前記バッファメモリから前記次の受信データを読み出す第2読み出し処理と、を実行可能であり、
    前記制御装置は、前記第1または第2読み出し処理での前記受信データの読み出しを合計でN回(NはN以上の自然数、以下同様)実行した後に、新たな前記第1読み出し処理を実行する、通信装置。
  7. 前記制御装置は、前記バッファメモリの状態の確認をN回(NはN以上の自然数、以下同様)実行した場合において、前記バッファメモリがN回の確認の全てにおいて前記次の受信データを有しない場合に、前記第2読み出し処理を行わずに前記新たな第1読み出し処理を実行する、請求項6に記載の通信装置。
  8. 前記制御装置は、前記受信装置の受信スループットを取得し、前記受信スループットが第1受信側閾値より高い場合に、N回をN+1回に設定する、請求項7に記載の通信装置。
  9. 前記制御装置は、前記受信スループットが前記第1受信側閾値より低い第2受信側閾値よりも低い場合に、N回をN回に設定する、請求項8に記載の通信装置。
  10. 前記受信データは、受信フレームを構成する1つのパケット単位のデータであり、
    回は、前記受信フレームの最後の受信データを前記バッファメモリから読み出し終えるまでに要する前記受信データの読み出し回数である、請求項6〜8のいずれか1項に記載の通信装置。
  11. 第1の通信相手装置に送信すべき送信データと、第2の通信相手装置から受信した受信データとが書き込まれるバッファメモリと、前記送信データを前記バッファメモリから読み出して前記第1の通信相手装置に送信し、かつ、前記受信データを前記第2の通信相手装置から受信して前記バッファメモリに書き込む送受信装置と、を有する無線通信部と、
    前記バッファメモリに対して、前記送信データの書き込みと前記受信データの読み出しとを実行する制御装置と、を備え、
    前記送受信装置は、前記送信データの送信の完了に応じて前記制御装置に第1割り込み信号を出力し、かつ、前記受信データの受信の完了に応じて前記制御装置に第2割り込み信号を出力し、
    前記制御装置は、
    前記第1割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の送信データを書き込み可能な空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第1書き込み処理と、
    回(Nは自然数、以下同様)の前記第1書き込み処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第2書き込み処理と、
    前記第2割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の受信データを有する場合に前記バッファメモリから前記次の受信データを読み出す第1読み出し処理と、
    回(Nは自然数、以下同様)の前記第1読み出し処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記次の受信データを有する場合に、前記バッファメモリから前記次の受信データを読み出す第2読み出し処理と、を実行可能であり、
    前記制御装置は、
    前記第1または第2書き込み処理での前記送信データの書き込みを合計でN回(NはN以上の自然数、以下同様)実行した後に、新たな前記第1書き込み処理を実行し、
    前記第1または第2読み出し処理での前記受信データの読み出しを合計でN回(NはN以上の自然数、以下同様)実行した後に、新たな前記第1読み出し処理を実行する、通信装置。
JP2015049796A 2015-03-12 2015-03-12 通信装置 Abandoned JP2016171451A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015049796A JP2016171451A (ja) 2015-03-12 2015-03-12 通信装置
US14/846,328 US20160266846A1 (en) 2015-03-12 2015-09-04 Communication apparatus and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015049796A JP2016171451A (ja) 2015-03-12 2015-03-12 通信装置

Publications (1)

Publication Number Publication Date
JP2016171451A true JP2016171451A (ja) 2016-09-23

Family

ID=56886894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015049796A Abandoned JP2016171451A (ja) 2015-03-12 2015-03-12 通信装置

Country Status (2)

Country Link
US (1) US20160266846A1 (ja)
JP (1) JP2016171451A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016208269A (ja) * 2015-04-22 2016-12-08 キヤノン株式会社 情報処理装置、画像処理装置、通知制御方法、並びにプログラム
JP2019160364A (ja) * 2018-03-12 2019-09-19 東芝情報システム株式会社 メモリシステム及びメモリ制御方法
US11809282B2 (en) * 2020-09-29 2023-11-07 EMC IP Holding Company LLC Optimized pipeline to boost de-dup system performance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07321877A (ja) * 1994-05-30 1995-12-08 Nec Corp パケット送信方法およびレイヤ2送信装置
JPH11103330A (ja) * 1997-09-29 1999-04-13 Toshiba Corp 赤外線データ送信方法ならびに装置
US5974518A (en) * 1997-04-10 1999-10-26 Milgo Solutions, Inc. Smart buffer size adaptation apparatus and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993613B2 (en) * 2001-09-17 2006-01-31 Intel Corporation Methods and apparatus for reducing receive interrupts via paced ingress indication
KR100889730B1 (ko) * 2006-12-01 2009-03-24 한국전자통신연구원 직접 메모리 접근 제어 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07321877A (ja) * 1994-05-30 1995-12-08 Nec Corp パケット送信方法およびレイヤ2送信装置
US5974518A (en) * 1997-04-10 1999-10-26 Milgo Solutions, Inc. Smart buffer size adaptation apparatus and method
JPH11103330A (ja) * 1997-09-29 1999-04-13 Toshiba Corp 赤外線データ送信方法ならびに装置

Also Published As

Publication number Publication date
US20160266846A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
KR102221414B1 (ko) 듀얼 카드 듀얼 스탠바이 듀얼 패스를 구현하기 위한 통신 방법 및 단말
US20150296325A1 (en) Data transmission system and method for bluetooth interface
WO2020134720A1 (zh) 数据传输控制方法及相关产品
EP4013011A1 (en) Session re-establishing or sharing methods, apparatuses, systems and storage medium
JP6523995B2 (ja) 情報処理装置、送信装置、受信装置及び方法
US10769096B2 (en) Apparatus and circuit for processing data
US8713248B2 (en) Memory device and method for dynamic random access memory having serial interface and integral instruction buffer
JP2016171451A (ja) 通信装置
US20170235689A1 (en) Method, apparatus, communication equipment and storage media for determining link delay
WO2014208342A1 (ja) 情報処理端末および無線接続制御用プログラム
WO2015039620A1 (en) Method, system, control device and node device for data transmission
EP3298760A1 (en) Quality of service for a universal serial bus
KR20220083749A (ko) 정보 전송 방법, 정보 수신 방법, 단말기 및 네트워크측 기기
WO2023241026A1 (zh) 数据传输方法、装置、终端及存储介质
CN108121496B (zh) 数据的存储方法、装置和系统
KR100641010B1 (ko) 다중 프로세서 이동통신 단말기에서 이중포트메모리 풀방지 장치 및 방법
JP2014222466A (ja) 情報処理装置、情報処理システムおよび情報処理システムの通信方法
JP5344174B2 (ja) 情報処理装置におけるハードウェアフロー制御方法
JP2015198396A (ja) 通信機
WO2023207986A1 (zh) 通话切换方法、装置和电子设备
KR102148448B1 (ko) 데이터 처리 장치와 회로
WO2022068798A1 (zh) 传输处理方法、装置、终端及可读存储介质
JP2017157964A (ja) 通信装置、制御方法、および、プログラム
JP5344240B2 (ja) 通信装置
US20190191018A1 (en) Electronic apparatus and recording medium suitable for connection with wireless lan (local area network) and wired lan

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170905

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171201

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20171211