特許第6575372号(P6575372)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000002
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000003
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000004
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000005
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000006
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000007
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000008
  • 特許6575372-時刻補正装置、および、時刻補正方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6575372
(24)【登録日】2019年8月30日
(45)【発行日】2019年9月18日
(54)【発明の名称】時刻補正装置、および、時刻補正方法
(51)【国際特許分類】
   G06F 1/14 20060101AFI20190909BHJP
   G04G 5/00 20130101ALI20190909BHJP
   G06F 13/38 20060101ALI20190909BHJP
【FI】
   G06F1/14 511
   G04G5/00 J
   G06F13/38 340G
【請求項の数】3
【全頁数】12
(21)【出願番号】特願2016-8636(P2016-8636)
(22)【出願日】2016年1月20日
(65)【公開番号】特開2017-130026(P2017-130026A)
(43)【公開日】2017年7月27日
【審査請求日】2018年12月14日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】丹野 祐樹
【審査官】 佐賀野 秀一
(56)【参考文献】
【文献】 特開平04−007614(JP,A)
【文献】 特開2001−034335(JP,A)
【文献】 特開2003−271263(JP,A)
【文献】 特開2005−316700(JP,A)
【文献】 特開平04−168549(JP,A)
【文献】 特開平04−313124(JP,A)
【文献】 特表2001−502503(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/04− 1/14
G06F 13/20− 13/42
G04G 3/00− 99/00
(57)【特許請求の範囲】
【請求項1】
DMA転送可能なバスで接続されたCPUボードと時刻補正用デバイスを備え、
前記時刻補正用デバイスは、外部から受信した時刻情報をオシレータクロックで歩進して保持する時刻情報歩進手段と、前記時刻情報歩進手段が保持する前記時刻情報を、所定周期で前記バスを通じて前記CPUボードにDMA転送するDMA制御手段と、を備え、
前記CPUボードは、プロセッサと、メモリと、前記バスからDMA転送されてきた前記時刻情報を、受信完了割込みを前記プロセッサに上げずに受信して、前記メモリに格納するI/O制御手段と、を備え
前記プロセッサは、自装置の負荷が所定基準以下の場合、前記メモリに格納された前記時刻情報で、自らが保持する時刻を更新する、
時刻補正装置。
【請求項2】
前記時刻補正用デバイスは前記DMA制御手段を備えず、前記CPUボードが前記DMA制御手段を備える、請求項1に記載の時刻補正装置。
【請求項3】
CPUボードと時刻補正用デバイスをDMA転送可能なバスで接続し、
前記時刻補正用デバイスは、外部から受信した時刻情報をオシレータクロックで歩進して保持しており、前記時刻情報を所定周期で前記バスを通じて前記CPUボードにDMA転送し、
前記CPUボードは、前記バスからDMA転送されてきた前記時刻情報を、受信完了割込みをプロセッサに上げずに受信して、メモリに格納前記プロセッサの負荷が所定基準以下の場合、前記メモリに格納された前記時刻情報で、前記プロセッサが保持する時刻を更新する、
時刻補正方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時刻補正装置、および、時刻補正方法、特に、CPUボードの内部時刻を外部の時刻と同期させる、時刻補正装置、および、時刻補正方法に関する。
【背景技術】
【0002】
特許文献1は、遠隔ネットワークを介して、管理装置から時刻情報を得て、時刻を補正する被管理装置を開示している。この被管理装置のうち仲介装置は、LAN(Local Area Network)を介して、他の被管理装置に時刻情報を供給する。
【0003】
特許文献2は、バスインターフェースを介して、時刻情報を管理装置に供給する時刻情報供給装置を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開 2004-139579号公報
【特許文献2】特開2002-107476号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1が開示するような、ネットワークを介して時刻補正情報を通信する例として、NTP(Network Time Protocol)を用いた時刻補正が挙げられる。この方法では、時刻補正を実行する際にプロセッサは、それまで実行していた処理を中断し、Ethernet(登録商標)を介してNTPパケットを送受信する。Ethernetを介してパケットを送受信する時、プロセッサに対して外部割込みが発生し、コンテキストスイッチが起きる。NTPのようにネットワーク・ドライバをプロセッサが直接制御する場合、割り込み処理に要する時間がある程度長いと、プロセッサのキャッシュにヒットしていた通常処理のコンテキストがキャッシュからパージされる。その結果、キャッシュミスの多発によってトータル・スループットが低下するという課題があった。
【0006】
また、NTPパケットを送受信する為には、例えばEthernet通信機能を有するPCI(登録商標:Peripheral Component Interconnect )カード等、外部と通信を行うデバイスにプロセッサがアクセスする必要がある。PCIカード等の通信デバイスは、内部バス上のメモリと比較してレイテンシが大きいことは既に知られている。
【0007】
特許文献2が開示する時刻情報供給装置についても、制御装置が時刻補正する為には、制御装置がバスを介して時刻情報供給装置と通信し、時刻情報供給装置内の時刻レジスタの値を取得する必要がある。よって、上述しているように、制御装置内プロセッサのキャッシュからコンテキストがパージによることによるトータル・スループット低下、低速な通信デバイスへのアクセスによるトータル・スループット低下が発生する。
【0008】
本発明は、上記課題を解決する時刻補正装置、および、時刻補正方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の1実施の形態の時刻補正装置は、DMA転送可能なバスで接続されたCPUボードと時刻補正用デバイスを備え、前記時刻補正用デバイスは、外部から受信した時刻情報をオシレータクロックで歩進して保持する時刻情報歩進手段と、前記時刻情報歩進手段が保持する前記時刻情報を、所定周期で前記バスを通じて前記CPUボードにDMA転送するDMA制御手段と、を備え、前記CPUボードは、プロセッサと、前記バスからDMA転送されてきた前記時刻情報を、受信完了割込みを前記プロセッサに上げずに受信して、前記プロセッサが備える時刻レジスタに格納するI/O制御手段と、を備える。
【0010】
本発明の1実施の形態の時刻補正方法は、CPUボードと時刻補正用デバイスをDMA転送可能なバスで接続し、前記時刻補正用デバイスは、外部から受信した時刻情報をオシレータクロックで歩進して保持しており、前記時刻情報を所定周期で前記バスを通じて前記CPUボードにDMA転送し、前記CPUボードは、前記バスからDMA転送されてきた前記時刻情報を、受信完了割込みをプロセッサに上げずに受信して、前記プロセッサが備える時刻レジスタに格納する。
【発明の効果】
【0011】
本発明にかかる時刻補正装置は、プロセッサの内部時刻を外部の時刻と同期させる際、時刻補正処理に伴い発生するプロセッサのスループット低下を軽減する。
【図面の簡単な説明】
【0012】
図1図1は、本発明の第1の実施の形態にかかる時刻補正装置1の構成を示す図である。
図2図2は、本発明の第1の実施の形態にかかるPCIカード11の動作フローチャートである。
図3図3は、本発明の第1の実施の形態にかかるCPUボード10の動作フローチャートである。
図4図4は、本発明の第2の実施の形態にかかる時刻補正装置2の構成を示す図である。
図5図5は、本発明の第3の実施の形態にかかる時刻補正装置3の構成を示す図である。
図6図6は、本発明の第3の実施の形態にかかるPCIカード31の動作フローチャートである。
図7図7は、本発明の第4の実施の形態にかかる時刻補正装置4の構成を示す図である。
図8図8は、本発明の第5の実施の形態にかかる時刻補正装置5の構成を示す図である。
【発明を実施するための形態】
【0013】
<第1の実施の形態>
<概要>
図1は、本発明の第1の実施の形態にかかる時刻補正装置1の構成を示す図である。
【0014】
本実施の形態の時刻補正装置1は、プロセッサ100に対して割込みを発生させず、プロセッサ100が低負荷状態等のタイミングで時刻補正を行う。かつ、プロセッサ100は内部バス上のメモリ102へアクセスして時刻を取得する。
【0015】
外部と通信し、時刻情報を保持する時刻補正用デバイスと、CPUボード10(CPU:Central Processing Unit)とが、相互に接続される。時刻補正用デバイスを例えばPCIカード11として実装した場合、PCIカード11が時刻情報を受信し、PCIカード11内のレジスタに保存する。
【0016】
DMA制御部112がPCIカード11内のレジスタからCPUボード10内のメモリ102へ時刻情報をDMA(Direct Memory Access)転送する。DMA転送は、プロセッサ100上のソフトウェア、例えばデバイスドライバ、の介入がなくても転送を完了できる。CPUボード10内のプロセッサ100は、プロセッサ100が決定したタイミングでメモリ102から時刻情報をロードし、CPUボード10内の時刻を更新する。
【0017】
なお、ここでは時刻補正用デバイスの例としてPCIカード11を挙げたが、同等の機能を有していれば実施形態はPCIカード11に限らないし、CPUボード10内に同等の機能を構成してもよい。
【0018】
<構成>
時刻補正装置1は、CPUボード10、および、PCIカード11を包含する。CPUボード10とPCIカード11は、例えばPCIバスのような、DMA転送が可能なバスで接続されている。
【0019】
CPUボード10は、プロセッサ100、I/O制御部101、および、メモリ102を包含する。プロセッサ100とI/O制御部101とメモリ102は、同一バス上に存在している。I/O制御部101はCPUボード10とPCIカード11の間の通信を制御する。
【0020】
PCIカード11は、時刻情報受信部110と、時刻情報歩進部111と、DMA制御部112と、を包含する。時刻情報受信部110は、外部から送信される時刻情報を受信する。時刻情報歩進部111は、時刻情報受信部110から得た時刻情報をレジスタに保存し歩進する。
【0021】
DMA制御部112は、PCIカード11内の時刻情報歩進部111からCPUボード10内のメモリ102へ時刻情報をDMA転送する。この転送は、I/O制御部101経由で行われる。すなわちI/O制御部101は、DMA転送されてきた時刻情報を受信し、メモリ102へ格納する。DMA転送完了時、I/O制御部101はプロセッサ100に完了割込みを上げない。
【0022】
<動作>
図1に示した時刻補正装置1の動作を、図2、および、図3のフローチャートに基づいて説明する。
【0023】
図2は、PCIカード11の動作フローチャートである。
【0024】
まず、時刻補正装置1のオペレータが、図示しない入力装置を使用して、PCIカード11の時刻情報歩進部111に初期時刻を格納する(図2のS1)。この設定は、他の方法で行っても良い。初期時刻は、任意の時刻値でもよいし、時刻情報受信部110で受信した外部時刻でもよい。また、時刻情報は、例えば、年月日時分秒のデータ、加えて、ミリ秒やマイクロ秒のデータを含んでもよい。あるいは、時刻情報は、ある基準時刻からの経過時間情報でもよい。
【0025】
時刻情報歩進部111は、PCIカード11内のオシレータクロックを用いて時刻情報を歩進する(S2)。ある一定の時間が経過し、時刻情報をDMA転送するタイミングとなった場合(S3・yes)、PCIカード11内のDMA制御部112が、PCIカード11内の時刻情報歩進部111で歩進している時刻情報を、CPUボード10内のメモリ102へDMA転送する(S4)。この時、DMA制御部112がDMAマスタとなり、DMA転送を制御する。また、DMA転送を行うタイミングは、CPUボード10に要求される時刻精度による。例えば、CPUボード10に秒精度の時刻情報が要求される場合は、DMA制御部112は1秒毎にDMA転送を行えばよい。
【0026】
時刻情報をDMA転送した後、またはまだ時刻情報をDMA転送するタイミングでなかった場合(S3・no)、時刻情報受信部110は、外部の時刻供給装置から時刻情報を受信したかどうかを確認する(S5)。時刻情報受信部110がまだ次の外部時刻情報を受信していない場合(S5・no)、時刻情報をDMA転送するタイミングが訪れるか、または次の外部時刻情報を受信するまで、時刻情報歩進部111は時刻情報を歩進し続ける(S2)。
【0027】
時刻情報受信部110は、新たに外部時刻情報を受信した場合(S5・yes)、受信した外部時刻情報を時刻情報歩進部111に出力して、時刻情報歩進部111がレジスタに格納する(S6)。以後、時刻情報をDMA転送するタイミングが訪れるか、または次の外部時刻情報を受信する(S3またはS5でyes)まで、時刻情報歩進部111は、新たに格納した時刻情報を歩進し続ける(S2)。
【0028】
図3は、CPUボード10の動作フローチャートである。
【0029】
まず、時刻補正装置1のオペレータが、図示しない入力装置を使用して、CPUボード10内のプロセッサ100に初期時刻を格納する(図3のS11)。この設定は、他の方法で行っても良い。初期時刻は、PCIカード11からメモリ102に転送された時刻情報を用いてもよい。
【0030】
プロセッサ100は、CPUボード10内部のオシレータクロックまたはプロセッサ100のシステムクロック等を用いて、時刻を歩進する(S12)。
【0031】
プロセッサ100は、時刻補正が必要となったタイミングで(S13・Yes)、メモリ102にアクセスして時刻情報を取得する(S14)。なお、時刻補正が必要なタイミングとは、プロセッサ100が低負荷状態であるタイミングである。プロセッサ100は、自装置の負荷が所定基準以下の場合に、低負荷状態と判断する。所定基準は、例えば、自装置の使用率が所定割合以下である、あるいは、単位時間当たりの処理トランザクション数が所定数以下である、といったもので良い。
【0032】
プロセッサ100は或る特定の周期で時刻補正を行ってもよいが、時刻補正を開始するタイミングで低負荷状態でない場合は、プロセッサ100は、時刻補正処理をスキップするか、または、低負荷状態になるまで時刻補正処理の開始を遅延させる。
【0033】
プロセッサ100は、時刻情報をメモリ102から取得すると、自身の時刻を取得した時刻情報に更新する(S15)。以後、プロセッサ100は、更新した時刻情報を歩進する(S12)。
【0034】
<効果>
本実施の形態の時刻補正装置1は、CPUボード10が時刻補正を行う際に発生する、プロセッサ100のスループット低下を軽減できる。
【0035】
その第1の理由は、時刻補正を行う際、プロセッサ100に対して外部割込みを発生させないからである。このため、プロセッサ100のキャッシュからのコンテキストのパージが抑止され、時刻補正完了後の処理再開時のコンテキストのキャッシュへの再ロードを回避できるからである。
【0036】
その第2の理由は、プロセッサ100は、低負荷状態等のタイミングで時刻情報を行うからである。このため、プロセッサ100は、スループットに影響するタイミングでの時刻補正実行を回避できる。
【0037】
その第3の理由は、プロセッサ100は時刻情報をメモリ102から取得するからである。プロセッサ100は、低速な通信デバイスにアクセスしない為、時刻補正処理に伴うプロセッサ100のスループット低下を軽減できる。
【0038】
<第2の実施形態>
図4は、本発明の第2の実施の形態にかかる時刻補正装置2の構成を示す図である。
【0039】
時刻補正装置2は、CPUボード20、および、PCIカード21を包含する。CPUボード20とPCIカード21は、例えばPCIバスのような、DMA転送が可能なバスで接続されている。
【0040】
CPUボード20は、プロセッサ200、I/O制御部201、メモリ202、および、DMA制御部203を包含する。プロセッサ200とI/O制御部201とメモリ202、DMA制御部203は、同一バス上に存在している。I/O制御部201はCPUボード20とPCIカード21の間の通信を制御する。
【0041】
DMA制御部203は、PCIカード21内の時刻情報歩進部211からCPUボード20内のメモリ202へ時刻情報をDMA転送する。この転送は、I/O制御部201経由で行われる。すなわちI/O制御部101は、DMA転送されてきた時刻情報を受信し、メモリ202へ格納する。DMA転送完了時、I/O制御部201はプロセッサ200に完了割込みを上げない。
【0042】
PCIカード21は、時刻情報受信部210と、時刻情報歩進部211を包含する。時刻情報受信部210は、外部から送信される時刻情報を受信する。時刻情報歩進部211は、時刻情報受信部210から得た時刻情報をレジスタに保存し歩進する。
【0043】
第2の実施の形態の時刻補正装置2は、第1の実施の形態の時刻補正装置1と同様に時刻を補正する。但し、第2の実施の形態の時刻補正装置2は、第1の実施の形態の時刻補正装置1と異なり、DMA制御部203をCPUボード20に備えている。
【0044】
本実施の形態の時刻補正装置2は、CPUボード20が時刻補正を行う際に発生する、プロセッサ200のスループット低下を軽減できる。その理由は、第1の実施の形態の説明において述べたとおりである。
【0045】
<第3の実施形態>
図5は、本発明の第3の実施の形態にかかる時刻補正装置3の構成を示す図である。
【0046】
時刻補正装置3は、CPUボード30、および、PCIカード31を包含する。CPUボード30とPCIカード31は、例えばPCIバスのような、DMA転送が可能なバスで接続されている。
【0047】
CPUボード30は、プロセッサ300、および、I/O制御部301を包含する。プロセッサ300とI/O制御部301は、同一バス上に存在している。I/O制御部301はCPUボード30とPCIカード31の間の通信を制御する。
【0048】
PCIカード31は、時刻情報受信部310、時刻情報歩進部311、および、DMA制御部312を包含する。時刻情報受信部310は、外部から送信される時刻情報を受信する。時刻情報歩進部311は、時刻情報受信部310から得た時刻情報をレジスタに保存し歩進する。
【0049】
DMA制御部312は、PCIカード31内の時刻情報歩進部311からCPUボード30内のプロセッサ300へ時刻情報をDMA転送する。この転送は、I/O制御部301経由で行われる。すなわちI/O制御部301は、DMA転送されてきた時刻情報を受信し、プロセッサ300へ格納する。ここで、格納先は、プロセッサ300が備える時刻レジスタ、例えば、RTC(Real Time Clock)モジュールや時刻カウンタである。DMA転送完了時、I/O制御部101はプロセッサ300に完了割込みを上げない。
【0050】
図5に示した時刻補正装置3の動作を、図6のフローチャートに基づいて説明する。
図6のフローチャートのS21、S22、S23、S25、S26は、図2のフローチャートのS1、S2、S3、S5、S6と同一の動作を示す。図6のフローチャートのS24において、PCIカード31内のDMA制御部312は、CPUボード30内のプロセッサ300を送信先として時刻情報をDMA転送する。
【0051】
本実施の形態の時刻補正装置3は、CPUボード30が時刻補正を行う際に発生する、プロセッサ300のスループット低下を軽減できる。
【0052】
その第1の理由は、時刻補正を行う際、プロセッサ300に対して外部割込みを発生させないからである。このため、プロセッサ300のキャッシュからのコンテキストのパージが抑止され、時刻補正完了後の処理再開時のコンテキストのキャッシュへの再ロードを回避できるからである。
【0053】
その第2の理由は、プロセッサ300は、時刻情報を取得するソフトウェアの処理が必要ないからである。プロセッサ300は、時刻情報取得処理を実行しない為、時刻補正処理に伴うプロセッサ300のスループット低下を軽減できる。
【0054】
<第4の実施形態>
図7は、本発明の第4の実施の形態にかかる時刻補正装置4の構成を示す図である。
【0055】
時刻補正装置4は、CPUボード40、および、PCIカード41を包含する。CPUボード40とPCIカード41は、例えばPCIバスのような、DMA転送が可能なバスで接続されている。
【0056】
CPUボード40は、プロセッサ400、I/O制御部401、および、DMA制御部403を包含する。プロセッサ400、I/O制御部401、および、DMA制御部403は、同一バス上に存在している。I/O制御部401はCPUボード40とPCIカード41の間の通信を制御する。
【0057】
DMA制御部403は、PCIカード41内の時刻情報歩進部411からCPUボード40内のプロセッサ400へ時刻情報をDMA転送する。この転送は、I/O制御部401経由で行われる。すなわちI/O制御部401は、DMA転送されてきた時刻情報を受信し、プロセッサ400へ格納する。ここで、格納先は、プロセッサ400が備える時刻レジスタ、例えば、RTCモジュールや時刻カウンタである。DMA転送完了時、I/O制御部401はプロセッサ400に完了割込みを上げない。
【0058】
PCIカード41は、時刻情報受信部410と、時刻情報歩進部411を包含する。時刻情報受信部410は、外部から送信される時刻情報を受信する。時刻情報歩進部411は、時刻情報受信部410から得た時刻情報をレジスタに保存し歩進する。
【0059】
第4の実施の形態の時刻補正装置4は、第3の実施の形態の時刻補正放置3と同様に時刻を補正する。但し、第4の実施の形態の時刻補正装置4は、第3の実施の形態の時刻補正装置3と異なり、DMA制御部403をCPUボード40に備えている。
【0060】
本実施の形態の時刻補正装置4は、CPUボード10が時刻補正を行う際に発生する、プロセッサ400のスループット低下を軽減できる。その理由は、第3の実施の形態の説明において述べたとおりである。
【0061】
<第5の実施形態>
図8は、本発明の第5の実施の形態にかかる時刻補正装置5の構成を示す図である。
【0062】
時刻補正装置5は、CPUボード50、および、時刻補正用デバイス51を包含する。CPUボード50と時刻補正用デバイス51は、DMA転送が可能なバスで接続されている。
【0063】
CPUボード50は、プロセッサ500、および、I/O制御部501を包含する。
【0064】
時刻補正用デバイス51は、時刻情報歩進部511、および、DMA制御部512を包含する。
【0065】
時刻情報歩進部511は、外部から得た時刻情報をオシレータクロックで歩進して保持する。
【0066】
DMA制御部512は、時刻情報歩進部511が保持する時刻情報を、所定周期でバスを通じてCPUボード50にDMA転送する。I/O制御部501は、バスからDMA転送されてきた時刻情報を受信し、プロセッサ300が備える時刻レジスタに格納する。DMA転送完了時、I/O制御部501はプロセッサ300に完了割込みを上げない。
【0067】
本実施の形態の時刻補正装置5は、CPUボード50が時刻補正を行う際に発生する、プロセッサ500のスループット低下を軽減できる。
【0068】
その理由は、時刻補正を行う際、プロセッサ500に対して外部割込みを発生させないからである。このため、プロセッサ500のキャッシュからのコンテキストのパージが抑止され、時刻補正完了後の処理再開時のコンテキストのキャッシュへの再ロードを回避できるからである。
【0069】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0070】
1、2、3、4、5 時刻補正装置
10、20、30、40、50 CPUボード
11、21、31、41 PCIカード
51 時刻補正用デバイス
100、200、300、400、500 プロセッサ
101、201、301、401、501 I/O制御部
102、202 メモリ
110、210、310、410 時刻情報受信部
111、211、311、411、511 時刻情報歩進部
112、312、512 DMA制御部
203、403 DMA制御部
図1
図2
図3
図4
図5
図6
図7
図8