JP4246544B2 - Disk device and disk device logging method - Google Patents
Disk device and disk device logging method Download PDFInfo
- Publication number
- JP4246544B2 JP4246544B2 JP2003142827A JP2003142827A JP4246544B2 JP 4246544 B2 JP4246544 B2 JP 4246544B2 JP 2003142827 A JP2003142827 A JP 2003142827A JP 2003142827 A JP2003142827 A JP 2003142827A JP 4246544 B2 JP4246544 B2 JP 4246544B2
- Authority
- JP
- Japan
- Prior art keywords
- logging
- cpu
- circuit
- control
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、例えば、磁気デススク装置(又はハードディスク装置)やその他のディスク装置に利用されるものであり、特に、動作中に障害が発生した場合のロギングデータをCPUの動作と無関係に、独立した経路で任意に取り出すことが可能なディスク装置及びディスク装置のロギング方法に関する。
【0002】
【従来の技術】
以下、従来例について説明する。
【0003】
(1) :従来例1の説明
図4は従来例1の説明図である。以下、図4に基づいて従来例1を説明する。図4に示したように、磁気ディスク装置には、該磁気ディスク装置(以下、「ハードディスク装置」と記す)の制御系にハードディスク制御用LSI(LSI:大規模集積回路)を備えている(以下、このハードディスク制御用LSIを「HDC用LSI」と記す)。
【0004】
前記HDC用LSI1には、各種のハードディスク制御を行うためのCPUであるCPU2と、前記CPU2の制御に基づき、ハードディスク装置の制御を行うハードディスクコントローラ(以下「HDC」と記す)3と、RS232Cケーブルを接続するためのRS232Cインタフェース(以下、「UART」と記す)4と、リードチャネルを接続するためのリードチャネルインタフェース(以下、「RDC/IF」と記す)5等を備えている。
【0005】
そして、ハードディスク装置において障害が発生した場合のロギングデータを取り出すために、HDC用LSI1に、コネクタ8を取り付けてICE16を接続したり、コネクタ7を取り付けてロジックアナライザ13を接続したり、パソコンインタフェース9を取り付けて端末(例えば、パーソナルコンピュータ)を接続したりする。
【0006】
更に、前記UART4には端末(例えば、パーソナルコンピュータ)14を接続したり、前記RDC/IF5にリードチャネル(以下、「RDC」と記す)11を接続したり、前記HDC3にサーボコントローラ(以下、「SVC」と記す)12を接続したりする。
【0007】
図4において、従来は、CPU2のハングアップや暴走が発生した場合、CPU2のデータを解析するためには、ICE16やロジックアナライザ13を接続することにより、障害発生時のデータ解析を行なっていた。しかし、CPU2にHDC3が1チャンネル化されており、内部バスの状態が直接ロジックアナライザ13で確認することが出来なかった。また、デバックツールは、プログラムをCPU2上で実行させることにより、障害発生時の解決手段として開発してきたが、CPU2が暴走した場合は、やはりデータ解析手段と成りえない。
【0008】
(2) :従来例2の説明(特許文献1参照)
以下、特許文献1を従来例2として説明する。
【0009】
従来例2は、制御装置及び光学式ディスクプレーヤに関するものであり、製品の異常動作発生時に、異常発生動作の原因を簡単かつ迅速に究明できるようにすることを目的としている。
【0010】
そして、所要のプログラムに基づいて種々な処理を行う機能手段を制御する制御装置において、前記プログラムに基づく処理過程での動作エラーに至るまでの前記プログラムに基づく動作履歴を不揮発性の記憶手段に書き込む。
【0011】
しかし、従来例2は、CPUの正常動作ができなければ実現されないため、CPU2がハングアップ状態、若しくはプログラムが暴走状態の状態では、障害発生時のロギングデータは取り出せない。
【0012】
(3) :従来例3の説明(特許文献2参照)
以下、特許文献2を従来例3として説明する。
【0013】
従来例3は、磁気ディスク装置のエラーデータ保持方式に関するものであり、エラー検出手段により検出されたエラー内容をそのまま詳細に保持するエラーデータ保持手段を設け、磁気ディスク装置にエラーが発生したときそのエラー内容をそのまま詳細に前記エラーデータ保持手段に書き込み、後でこのエラーデータ保持手段に書き込まれたエラー内容を読出すことによりエラー発生箇所の検出を行なうようにしたことを特徴とする。
【0014】
また、ラッチ手段と表示手段を設け、前記エラー検出手段の出力を前記ラッチ手段に保持してこれにもとづき表示手段を制御するようにしたことを特徴とする、という内容が記載されている。また、図1、図2には発明の内容を示す図が記載されている。この場合、図に示すように、CPUとは別にエラーデータ保持回路がある。
【0015】
しかし、従来例3は、CPUの正常動作ができなければ実現されないため、CPU2がハングアップ状態、若しくはプログラムが暴走状態では、障害発生時のロギングデータは取り出せない。
【0016】
(4) :従来例4の説明(特許文献3参照)
以下、特許文献3を従来例4として説明する。
【0017】
従来例4は、異常表示機能付きVTRに関するものである。VTRの故障修理を行うための異常箇所の特定が必要となるが、異常の履歴、異常が発生した状況がVTR状態変化の過渡状態であったか否か、及びテープ走行機構が過渡状態であったか否かが不明であったため、修理箇所の特定が困難であった。
【0018】
この課題を解決するため、VTRにて異常発生時、時系列に複数の異常内容を記憶・表示するとともに、異常発生の時点がVTR動作モード切替の過渡状態である場合にも、その旨記憶し表示する手段を持つようにした。
【0019】
しかし、従来例4は、CPUの正常動作ができなければ実現されないため、CPU2がハングアップ状態、若しくはプログラムが暴走状態では、障害発生時のロギングデータは取り出せない。
【0020】
【特許文献1】
特開平8−297510号公報
【特許文献2】
特開昭58−1258号公報
【特許文献3】
特開2000−36142号公報
【0021】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
【0022】
(1) :前記従来例1では、CPU2がハングアップやプログラムが暴走した場合、その都度、ロジックアナライザ13やICE16を接続し、再度、障害発生前のデータをロギングにより障害解析を行なっていた。そのため、CPU2が正常動作中でないとロギングデータは取り出せない。
【0023】
(2) :前記従来例1では、CPU2がハングアップしてしまうと、ICE電源のオン/オフを行わなければならなかった。そのため、障害時のCPU2の状態が消去されてしまう。
【0024】
(3) :前記従来例1では、デバックツール等を開発しているが、CPU2が正常動作することを前提に作成しており、問題が発生した時は既にCPU2がハングアップ状態、若しくはプログラムが暴走状態であり、被疑箇所の特定ができない結果を招いていた。そのため、障害発生時のロギングデータは取り出せなかった。
【0025】
(4) :従来例2(特許文献1参照)には、所要のプログラムに基づいて種々な処理を行う機能手段を制御する制御装置において、前記プログラムに基づく処理過程での動作エラーに至るまでの前記プログラムに基づく動作履歴を不揮発性の記憶手段に書き込むことが記載されている。しかし、従来例2は、CPUの正常動作ができなければ実現されないため、CPU2がハングアップ状態、若しくはプログラムが暴走状態では、障害発生時のロギングデータは取り出せない。
【0026】
(5) :従来例3(特許文献2参照)は、磁気ディスク装置のエラーデータ保持方式に関するものであり、エラー検出手段により検出されたエラー内容をそのまま詳細に保持するエラーデータ保持手段を設け、磁気ディスク装置にエラーが発生したときそのエラー内容をそのまま詳細に前記エラーデータ保持手段に書き込み、後でこのエラーデータ保持手段に書き込まれたエラー内容を読出すことによりエラー発生箇所の検出を行なうようにしたことを特徴とする、という内容が記載されている。
【0027】
しかし、従来例3は、CPUの正常動作ができなければ実現されないため、CPU2がハングアップ状態、若しくはプログラムが暴走状態では、障害発生時のロギングデータは取り出せない。
【0028】
(6) :従来例4(特許文献3参照)は、VTRにて異常発生時、時系列に複数の異常内容を記憶・表示する。しかし、従来例4では、図1に示すように、CPUが介在している。そのため、従来例4は、CPUの正常動作ができなければ実現されないため、CPU2がハングアップ状態、若しくはプログラムが暴走状態では、障害発生時のロギングデータは取り出せない。
【0029】
本発明は、このような従来の課題を解決し、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPUを介することなく、かつ、CPUの状態に関係無く、任意に障害発生時のロギングデータが取り出せるようにすることを目的とする。
【0030】
【課題を解決するための手段】
本発明は前記の目的を達成するため、次のように構成した。
【0031】
(1) :ディスクに対するデータのライト/リードの際に各種制御を行うCPUを有するディスク制御用集積回路装置を備えたディスク装置において、前記ディスク制御用集積回路装置は、前記CPUの障害発生時におけるロギングデータの内、予め設定された条件に合致するロギングデータのみを取得するとともに、該取得したロギングデータを前記CPUを介することなく、かつ、該CPUによるプログラムの実行に関係なく独立した経路で外部へ出力する機能を有するハードウェア構成のロギング回路を備え、前記ロギング回路は、予め設定された条件に合致するロギングデータのみを取得するためのロギング制御を行うロギング制御回路と、前記ロギング制御回路の制御により取得したCPUのロギングデータを一時的に格納しておくバッファを備え、前記バッファに格納したロギングデータを外部へ出力する機能を備え、前記ロギング制御回路は、割り込み条件、アドレス条件、その他の条件を含む各種ロギング条件を設定する内部制御レジスタと、前記CPUの障害発生時におけるロギングデータの内、前記内部制御レジスタに設定されているロギング条件を参照して、該ロキング条件に合致するロギングデータのみを検出するトリガ検出回路と、前記トリガ検出回路からの指示により、該トリガ検出回路が検出したロギングデータを前記バッファに格納する際の制御を行うバッファ制御回路と、前記ロギングデータの出力制御を行うシリアル制御回路を備えていることを特徴とする。
【0032】
(2) :前記(1) のディスク装置において、前記ロギング回路は、割り込み信号線により前記CPUと接続され、該割り込み信号線を介して前記CPUから取得した割り込み信号の内容を判別することで、該CPUがハングアップ状態であることを検出する機能と、前記CPUがハングアップした時の情報として、システムバスを介して得られるロギングデータを出力可能にする機能を備えていることを特徴とする。
【0033】
(3) :前記(1) のディスク装置のロギング方法において、ディスクに対するデータのライト/リードの際に各種制御を行うCPUを有するディスク制御用集積回路装置を備えたディスク装置のロギング方法において、前記ディスク制御用集積回路装置は、前記CPUの障害発生時におけるロギングデータの内、予め設定された条件に合致するロギングデータのみを取得するとともに、該取得したロギングデータを前記CPUを介することなく、かつ、該CPUによるプログラムの実行に関係なく独立した経路で外部へ出力する機能を有するハードウェア構成のロギング回路を備え、前記ロギング回路は、予め設定された条件に合致するロギングデータのみを取得するためのロギング制御を行うロギング制御回路と、前記ロギング制御回路の制御により取得したCPUのロギングデータを一時的に格納しておくバッファを備え、前記バッファに格納したロギングデータを外部へ出力する機能を備え、前記ロギング制御回路内の内部制御レジスタに、割り込み条件、アドレス条件、その他の条件を含む各種ロギング条件を設定し、前記ロギング制御回路内のトリガ検出回路において、前記CPUの障害時におけるロギングデータの内、前記内部制御レジスタに設定されているロギング条件を参照して、該ロギング条件に合致するロギングデータのみを検出し、前記ロギング制御回路内のバッファ制御回路において、前記トリガ検出回路からの指示により、該トリガ検出回路が検出したロギングデータを前記バッファに格納する際の制御を行い、前記ロギング制御回路内のシリアル制御回路において、前記ロギングデータの出力制御を行うことを特徴とする。
【0036】
(作用)
前記構成に基づく本発明の作用を図1に基づいて説明する。
【0037】
(a) :ディスク制御用集積回路装置において、ロギング回路20は、CPU2を介することなく、かつ、該CPU2によるプログラムの実行に関係なく独立した経路で、該CPU2の内部情報や状態を取り込み出力する。この場合、ロギング回路20は、CPU2の障害発生時におけるロギングデータの内、予め設定された条件に合致するロギングデータのみを取得し、外部へ出力する。
【0038】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPU2の状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0039】
(b) :ロギング回路20は、CPU2から取得した割り込み信号の内容を判別することで、該CPU2がハングアップ状態であることを検出したり、CPU2がハングアップした時の情報として、システムバス24又はCPU2内部のレジスタ情報を含むロギングデータを出力する。
【0040】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPU2の状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0041】
(c) :ロギング回路20は、ロギング制御回路21が予め設定された条件に合致するロギングデータのみを取得するためのロギング制御を行う。そして、バッファ22は、ロギング制御回路21の制御により取得したCPU2のロギングデータを一時的に格納しておき、バッファ22に格納したロギングデータを外部に出力する。
【0042】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPU2の状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0043】
(d) :ロギング制御回路21に設けた内部制御レジスタには、割り込み条件、アドレス条件、その他の条件を含む各種ロギング条件を設定する。また、ロギング制御回路21に設けたトリガ検出回路は、CPU2の障害発生時におけるロギングデータの内、内部制御レジスタに設定されているロギング条件を参照して、該ロキング条件に合致するロギングデータのみを検出する。
【0044】
また、ロギング制御回路21に設けたバッファ制御回路は、前記トリガ検出回路からの指示により、該トリガ検出回路が検出したロギングデータを前記バッファ22に格納する際の制御を行う。また、ロギング制御回路21に設けたシリアル制御回路は、前記ロギングデータのシリアル制御を行う。
【0045】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPU2の状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0046】
(e) :ディスク制御用集積回路装置に設けたロギング制御専用回路(ロギング回路20)により、CPU2に障害が発生した時、該CPU2を介することなく、かつ、該CPU2によるプログラムの実行に関係なく独立した経路で、該CPUの内部情報や状態を含むロギングデータを取得して出力する。
【0047】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPU2の状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0048】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、以下の例は、本発明を磁気ディスク装置(以下、「ハードディスク装置」と記す)に適用した例である。
【0049】
§1:HDC用LSIの説明
(1) :HDC用LSIの構成の説明
図2はHDC用LSIの説明図である。図2に示したように、ハードディスク装置(磁気ディスク装置)には、該ハードディスク装置の制御系にHDC用LSI(ハードディスク制御用LSI)1を備えている。
【0050】
前記HDC用LSI1には、各種のハードディスク制御(ディスクへのデータのライト/リードの際の制御など)を行うためのCPU2と、該CPU2のロギングデータを取得するためのロギング回路20(ロギング制御専用回路)と、前記CPU2の制御に基づき、ハードディスク装置の制御(サーボ制御系の制御)を行うハードディスクコントロール回路3と、リードチャネルを接続する(ディスクへのデータのライト/リード時の制御等を行う)ためのRDC(リードチャネルコントロール回路)11等を備えている。
【0051】
また、ロギング回路20には、ロギングデータを取得する際の制御を行うロギング制御回路21と、ロギングデータ等を格納するためのバッファ22と、UART(RS232C用インタフェース)23が設けてある。なお、24はデータやアドレスの通路であるシステムバスである。また、CPU2から出力された障害発生時の割り込み信号は、前記ロギング制御回路21に取り込まれるようになっている。
【0052】
そして、HDC用LSI1は、UART23に接続された端末(パソコン)28と、ハードディスクコントロール回路3に接続された外部回路(サーボコントローラ:SVC)26と、前記RDC11に接続された外部回路(ハードディスクへのライト/リード回路)27等を備えている。
【0053】
なお、ロギング回路20は、ハードウェア構成の回路で構成されており、CPU2(プロセッサ)を介することなく、かつ、該CPU2によるプログラムの実行に関係なく独立した経路で、該CPU2の内部情報や状態を出力可能なハードウェア構成の回路(ロギング制御専用回路)である。
【0054】
(2) :HDC用LSIの動作の説明
前記ロギング回路20の動作は次の通りである。端末28(例えば、パーソナルコンピュータ)を使用した場合の操作としては、先ず、該端末28のキーボードやマウス等の操作により、端末28からロギング回路20へのスタート/ストップ要求を行う。
【0055】
また、端末28から、ロギング回路20にロギング条件等を設定する。なお、前記ロギング条件等の変更を行う場合も前記と同様な操作を行うことでロギング動作を行う。また、ロギング回路20内に、予め必要とするロギング条件を設定しておいた場合には、端末28の操作により、該端末28からロギング回路20へのスタート/ストップ要求を行うだけでロギング動作を行う。
【0056】
そして、ロギング回路20では、CPU2で障害が発生した場合に、該CPU2から割り込み信号が出されるが、ロギング回路20ではCPU2から出力された割り込み信号を取り込み、その内容を前記設定したロギング条件と比較し、両者が一致したら、割り込み検出やアドレス検出等を行ない、内部のバッファ等の記憶媒体にロギングデータとして保存しておく。その後、前記保存してあるロギングデータは、端末28等へ出力することで、ロギングデータが検出できる。
【0057】
§2:ロギング制御回路の詳細な説明
(1) :ロギング制御回路の構成の説明
図3はロギング制御回路の詳細構成図である。前記ロギング制御回路21の詳細な構成は図3に示す通りである。図示のようにロギング制御回路21は、トリガ検出回路31と、内部制御レジスタ32と、バッファ制御回路33と、シリアル制御回路34を備えている。そして、トリガ検出回路31はCPU2に接続され、CPU2からの割り込み信号や、命令/データを取り込むようになっている。
【0058】
また、バッファ制御回路33はトリガ検出回路31に接続され、トリガ検出回路31からの指示に基づきバッファ22の制御を行うようになっている。内部制御レジスタ32は、トリガ検出回路31、シリアル制御回路34、とCPU2に接続されている。シリアル制御回路34は、トリガ検出回路31、バッファ制御回路33、内部制御レジスタ32、UART23に接続され、内部制御レジスタ32のデータを参照したりUART23の制御を行うように構成されている。
【0059】
また、内部制御レジスタ32には、ロギング条件として、割り込み条件、アドレス条件、その他の条件を設定できるようになっている。この場合、内部制御レジスタ32は、UART23を介して端末28(図2参照)に接続ており、端末28から前記ロギング条件を設定したり、或いは変更したりすることができるようになっている。
【0060】
(2) :ロギング制御回路の動作の説明
前記ロギング制御回路の動作は次の通りである。予め、内部制御レジスタ32には、割り込み条件(CPU2の障害発生時の割り込み条件)、アドレス条件、その他の条件等を格納しておく。また、トリガ検出回路31には、ロギング条件として、割り込み検出、アドレス検出、その他の条件等を設定しておく。
【0061】
このようにして、トリガ検出回路31や内部制御レジスタ32に前記の情報を設定した状態で、CPU2が動作を開始する。そして、CPU2の動作中に、障害が発生し、CPU2が障害発生の割り込み信号を出したとする。この割り込み信号はトリガ検出回路31に取り込み、内部に設定してあるロギング条件に合致しているか否かを判断する。
【0062】
この場合、トリガ検出回路31は内部制御レジスタ32に設定してある前記条件を参照し、該当する割り込み信号か否かを判断し、合致しなければそのままとし、合致すれば、割り込み信号を検出する。続いて、トリガ検出回路31はシステムバス24を介して該当するアドレスやその他の条件を検出し、バッファ制御回路33に指示を出す。
【0063】
前記指示を受けたバッファ制御回路33は、CPU2から出力されたハングアップ以前のアドレス等をシステムバス24を介して取り込み、バッファ22に格納する。このような動作により、バッファ22にCPU2からのロギングデータを蓄積する。その後、シリアル制御回路34は、UART23を制御して、バッファ22のデータを取り出し、端末28へ送出する(出力する)。
【0064】
(その他の説明)
▲1▼:前記の説明は、ハードディスク装置(磁気ディスク装置)についての例であるが、本発明はこのような例に限らず、他の同様なディスク装置(例えば、光磁気ディスク装置)にも適用可能である。
【0065】
▲2▼:内部制御レジスタ32は、予め、内部にロギング条件を設定しておくこともできる。この場合、端末28からロギング条件の変更ができなくても実施可能であり、端末28からロギング条件の変更ができるようにしてもどちらでも実施可能である。
【0066】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
【0067】
(1) :ディスク制御用集積回路装置において、ロギング回路は、CPUを介することなく、かつ、該CPUによるプログラムの実行に関係なく独立した経路で、該CPUの内部情報や状態を取り込み、出力する。この場合、ロギング回路は、CPUの障害発生時におけるロギングデータの内、予め設定された条件に合致するロギングデータのみを取得し、外部へ出力する。
【0068】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPUの状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0069】
(2) :ロギング回路は、CPUから取得した割り込み信号の内容を判別することで、該CPUがハングアップ状態であることを検出したり、CPUがハングアップした時の情報として、システムバス又はCPU内部のレジスタ情報を含むロギングデータを出力する。
【0070】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPUの状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0071】
(3) :ロギング回路は、ロギング制御回路が予め設定された条件に合致するロギングデータのみを取得するためのロギング制御を行う。そして、バッファは、ロギング制御回路の制御により取得したCPUのロギングデータを一時的に格納しておき、バッファに格納したロギングデータを外部に出力する。
【0072】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPUの状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0073】
(4) :ロギング制御回路に設けた内部制御レジスタには、割り込み条件、アドレス条件、その他の条件を含む各種ロギング条件を設定する。また、ロギング制御回路に設けたトリガ検出回路は、CPUの障害発生時におけるロギングデータの内、内部制御レジスタに設定されているロギング条件を参照して、該ロキング条件に合致するロギングデータのみを検出する。
【0074】
また、ロギング制御回路に設けたバッファ制御回路は、前記トリガ検出回路からの指示により、該トリガ検出回路が検出したロギングデータを前記バッファに格納する際の制御を行う。また、ロギング制御回路に設けたシリアル制御回路は、前記ロギングデータのシリアル制御を行う。
【0075】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPUの状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【0076】
(5) :ディスク制御用集積回路装置に設けたロギング制御専用回路(ロギング回路)により、CPUに障害が発生した時、該CPUを介することなく、かつ、該CPUによるプログラムの実行に関係なく独立した経路で、該CPUの内部情報や状態を含むロギングデータを取得して出力する。
【0077】
このようにすれば、従来例で使用されていたICEやロジックアナライザを使用しなくても、CPUの状態に関係無く、任意に障害発生時のロギングデータが取り出せる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態におけるHDC用LSIの説明図である。
【図3】本発明の実施の形態におけるロギング制御回路の詳細構成図である。
【図4】従来例1の説明図である。
【符号の説明】
1 HDC用LSI
2 CPU
3 HDC
4 UART
5 RDC/IF
7、8 コネクタ
9 パソコンI/F
11 RDC(リードチャネル)
12 SVC(サーボ制御回路)
13 ロジックアナライザ
14、15 端末(パソコン
16 ICE
20 ロギング回路
21 ロギング制御回路
22 バッファ
23 UART(RS232C用インタフェース)
24 システムバス
26、27 外部回路
28 端末
31 トリガ検出回路
32 内部制御レジスタ
33 バッファ制御回路
34 シリアル制御回路[0001]
BACKGROUND OF THE INVENTION
The present invention is used, for example, in a magnetic disk device (or hard disk device) or other disk device, and in particular, logging data when a failure occurs during operation is independent of the operation of the CPU. The present invention relates to a disk device that can be taken out arbitrarily along a path and a logging method for the disk device.
[0002]
[Prior art]
A conventional example will be described below.
[0003]
(1): Description of Conventional Example 1
FIG. 4 is an explanatory diagram of the first conventional example. Hereinafter, Conventional Example 1 will be described with reference to FIG. As shown in FIG. 4, the magnetic disk device includes a hard disk control LSI (LSI: large-scale integrated circuit) in the control system of the magnetic disk device (hereinafter referred to as “hard disk device”) (hereinafter, referred to as “hard disk device”). The hard disk control LSI is referred to as “HDC LSI”).
[0004]
The
[0005]
In order to extract logging data when a failure occurs in the hard disk device, the
[0006]
Further, a terminal (for example, a personal computer) 14 is connected to the
[0007]
In FIG. 4, conventionally, when
[0008]
(2): Description of Conventional Example 2 (see Patent Document 1)
Hereinafter,
[0009]
Conventional Example 2 relates to a control device and an optical disc player, and is intended to enable easy and quick investigation of the cause of an abnormal operation when an abnormal operation of a product occurs.
[0010]
Then, in the control device that controls the functional means for performing various processes based on the required program, the operation history based on the program up to the operation error in the process based on the program is written in the nonvolatile storage means .
[0011]
However, Conventional Example 2 cannot be realized unless the CPU can operate normally. Therefore, when the
[0012]
(3): Description of Conventional Example 3 (see Patent Document 2)
Hereinafter,
[0013]
Conventional Example 3 relates to an error data holding method of a magnetic disk device, and is provided with error data holding means for holding in detail the error content detected by the error detection means, and when an error occurs in the magnetic disk device, The error content is directly written in the error data holding means as it is, and the error occurrence location is detected by reading the error content written in the error data holding means later.
[0014]
Further, it is described that the latch means and the display means are provided, and the output of the error detection means is held in the latch means so that the display means is controlled based on the latch means. 1 and 2 are diagrams showing the contents of the invention. In this case, as shown in the figure, there is an error data holding circuit separately from the CPU.
[0015]
However, Conventional Example 3 cannot be realized unless the CPU can operate normally. Therefore, when the
[0016]
(4): Description of Conventional Example 4 (see Patent Document 3)
Hereinafter,
[0017]
Conventional Example 4 relates to a VTR with an abnormality display function. It is necessary to identify the abnormal part for repairing the VTR, but it is necessary to identify the history of abnormality, whether the abnormality occurred was a transient state of the VTR state change, and whether the tape running mechanism was a transient state. Because it was unknown, it was difficult to identify the repair location.
[0018]
In order to solve this problem, when an abnormality occurs in the VTR, a plurality of abnormality contents are stored and displayed in time series, and when the abnormality occurs at the transient state of VTR operation mode switching, the fact is stored. It has a means to display.
[0019]
However, Conventional Example 4 cannot be realized unless the CPU operates normally. Therefore, when the
[0020]
[Patent Document 1]
JP-A-8-297510
[Patent Document 2]
Japanese Patent Laid-Open No. 58-1258
[Patent Document 3]
JP 2000-36142 A
[0021]
[Problems to be solved by the invention]
The conventional apparatus as described above has the following problems.
[0022]
(1): In the conventional example 1, when the
[0023]
(2): In the conventional example 1, when the
[0024]
(3): In the above conventional example 1, a debugging tool or the like has been developed, but it is created on the assumption that the
[0025]
(4): Conventional example 2 (see Patent Document 1) includes a control device that controls functional means for performing various processes based on a required program, until an operation error occurs in the process based on the program. It is described that an operation history based on the program is written in a nonvolatile storage means. However, Conventional Example 2 cannot be realized unless the CPU operates normally. Therefore, when the
[0026]
(5): Conventional Example 3 (see Patent Document 2) relates to an error data holding method of a magnetic disk device, and includes error data holding means for holding the details of errors detected by the error detecting means as they are. When an error occurs in the magnetic disk device, the error content is written in detail in the error data holding means, and the error occurrence location is detected by reading the error content written in the error data holding means later. It is described that it is characterized by that.
[0027]
However, Conventional Example 3 cannot be realized unless the CPU can operate normally. Therefore, when the
[0028]
(6): Conventional Example 4 (see Patent Document 3) stores and displays a plurality of abnormality contents in time series when an abnormality occurs in the VTR. However, in Conventional Example 4, a CPU is interposed as shown in FIG. For this reason, Conventional Example 4 cannot be realized unless the CPU operates normally. Therefore, when the
[0029]
The present invention solves such a conventional problem, and without using an ICE or a logic analyzer used in the conventional example, it is possible to arbitrarily fail without using the CPU and regardless of the state of the CPU. The purpose is to be able to retrieve logging data at the time of occurrence.
[0030]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is configured as follows.
[0031]
(1): In a disk device including a disk control integrated circuit device having a CPU that performs various controls when data is written / read to / from the disk, the disk control integrated circuit device is connected to the CPU. Of the logging data at the time of failure occurrence, only the logging data that matches the preset condition is acquired, and the acquired logging data is independent of the CPU without using the CPU and regardless of the execution of the program by the CPU. A logging circuit having a hardware configuration having a function of outputting to the outside through the route, the logging circuit performing a logging control for acquiring only logging data that matches a preset condition; and A buffer for temporarily storing the logging data of the CPU acquired by the control of the logging control circuit is provided, and a function of outputting the logging data stored in the buffer to the outside is provided. Internal to set various logging conditions including conditions and other conditions And a trigger detection circuit that detects only logging data that matches the locking condition with reference to the logging condition set in the internal control register among the logging data at the time of failure of the CPU, A buffer control circuit that controls when logging data detected by the trigger detection circuit is stored in the buffer according to an instruction from the trigger detection circuit, and a serial control circuit that controls output of the logging data It is characterized by having.
[0032]
(2): In the disk device of (1), the logging circuit includes: Connected to the CPU by an interrupt signal line, and through the interrupt signal line A function for detecting that the CPU is in a hang-up state by determining the content of the interrupt signal acquired from the CPU, and a system bus as information when the CPU hangs up Obtained through It has a feature that enables logging data to be output.
[0033]
(3): Disk device of (1) above Logging method In In a logging method for a disk device including a disk control integrated circuit device having a CPU for performing various controls when writing / reading data to / from the disk, the disk control integrated circuit device performs logging when a failure occurs in the CPU. Of the data, only the logging data that matches a preset condition is acquired, and the acquired logging data is not transmitted to the outside through the CPU and through an independent path regardless of the execution of the program by the CPU. A logging circuit having a hardware configuration having an output function, wherein the logging circuit performs a logging control for acquiring only logging data that matches a preset condition, and controls the logging control circuit CPU logging data temporarily acquired by And a function to output the logging data stored in the buffer to the outside. Various logging conditions including interrupt conditions, address conditions, and other conditions are set in the internal control register in the logging control circuit. The trigger detection circuit in the logging control circuit detects only the logging data that matches the logging condition by referring to the logging condition set in the internal control register among the logging data when the CPU fails In the buffer control circuit in the logging control circuit, in response to an instruction from the trigger detection circuit, control is performed when storing the logging data detected by the trigger detection circuit in the buffer, and the serial number in the logging control circuit In the control circuit, the output control of the logging data is performed. And Features .
[0036]
(Function)
The operation of the present invention based on the above configuration will be described with reference to FIG.
[0037]
(a) :disk In the control integrated circuit device, the
[0038]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the
[0039]
(b) : Logging The
[0040]
In this way, logging data at the time of occurrence of a failure can be arbitrarily extracted regardless of the state of the
[0041]
(c) : Logging The
[0042]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the
[0043]
(d) : Logging Various logging conditions including an interrupt condition, an address condition, and other conditions are set in an internal control register provided in the
[0044]
The buffer control circuit provided in the
[0045]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the
[0046]
(e) :disk When a failure occurs in the
[0047]
In this way, logging data at the time of occurrence of a failure can be arbitrarily extracted regardless of the state of the
[0048]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The following example is an example in which the present invention is applied to a magnetic disk device (hereinafter referred to as “hard disk device”).
[0049]
§1: Description of LSI for HDC
(1): Explanation of the configuration of the LSI for HDC
FIG. 2 is an explanatory diagram of an HDC LSI. As shown in FIG. 2, the hard disk device (magnetic disk device) includes an HDC LSI (hard disk control LSI) 1 in the control system of the hard disk device.
[0050]
The
[0051]
Further, the
[0052]
The
[0053]
Note that the
[0054]
(2): Explanation of operation of LSI for HDC
The operation of the
[0055]
In addition, logging conditions and the like are set in the
[0056]
The
[0057]
§2: Detailed description of logging control circuit
(1): Explanation of configuration of logging control circuit
FIG. 3 is a detailed configuration diagram of the logging control circuit. The detailed configuration of the
[0058]
Further, the buffer control circuit 33 is connected to the
[0059]
In the
[0060]
(2): Explanation of operation of logging control circuit
The operation of the logging control circuit is as follows. The internal control register 32 stores in advance an interrupt condition (interrupt condition when a failure occurs in the CPU 2), an address condition, and other conditions. In the
[0061]
In this way, the
[0062]
In this case, the
[0063]
Upon receiving the instruction, the buffer control circuit 33 fetches the address before hang-up output from the
[0064]
(Other explanation)
{Circle over (1)} The above description is an example of a hard disk device (magnetic disk device), but the present invention is not limited to such an example, and other similar disk devices (for example, a magneto-optical disk device) are also used. Applicable.
[0065]
{Circle around (2)} The internal control register 32 can also set logging conditions inside in advance. In this case, the present invention can be implemented even if the logging condition cannot be changed from the terminal 28, and either can be implemented even if the logging condition can be changed from the terminal 28.
[0066]
【The invention's effect】
As described above, the present invention has the following effects.
[0067]
(1) :disk In the control integrated circuit device, the logging circuit captures and outputs the internal information and state of the CPU through an independent path without going through the CPU and irrespective of the execution of the program by the CPU. In this case, the logging circuit acquires only the logging data that satisfies a preset condition from among the logging data when the failure of the CPU occurs, and outputs it to the outside.
[0068]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the CPU without using the ICE or logic analyzer used in the conventional example.
[0069]
(2) : Logging The circuit determines the content of the interrupt signal acquired from the CPU to detect that the CPU is in a hang-up state, or uses the system bus or register information in the CPU as information when the CPU hangs up. Output logging data including.
[0070]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the CPU without using the ICE or logic analyzer used in the conventional example.
[0071]
(3) : Logging The circuit performs logging control so that the logging control circuit acquires only logging data that matches a preset condition. The buffer temporarily stores the logging data of the CPU acquired by the control of the logging control circuit, and outputs the logging data stored in the buffer to the outside.
[0072]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the CPU without using the ICE or logic analyzer used in the conventional example.
[0073]
(Four) : Logging Various logging conditions including interrupt conditions, address conditions, and other conditions are set in an internal control register provided in the control circuit. The trigger detection circuit provided in the logging control circuit detects only the logging data that matches the locking condition by referring to the logging condition set in the internal control register among the logging data when the CPU failure occurs. To do.
[0074]
Further, a buffer control circuit provided in the logging control circuit performs control when storing logging data detected by the trigger detection circuit in the buffer according to an instruction from the trigger detection circuit. A serial control circuit provided in the logging control circuit performs serial control of the logging data.
[0075]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the CPU without using the ICE or logic analyzer used in the conventional example.
[0076]
(Five) :disk When a failure occurs in the CPU by the logging control dedicated circuit (logging circuit) provided in the control integrated circuit device, the CPU does not go through the CPU, and the route is independent regardless of the execution of the program by the CPU. Logging data including internal information and status of the CPU is acquired and output.
[0077]
In this way, logging data at the time of failure can be arbitrarily taken out regardless of the state of the CPU without using the ICE or logic analyzer used in the conventional example.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is an explanatory diagram of an HDC LSI in an embodiment of the present invention.
FIG. 3 is a detailed configuration diagram of a logging control circuit according to the embodiment of the present invention.
FIG. 4 is an explanatory diagram of a first conventional example.
[Explanation of symbols]
1 HDC LSI
2 CPU
3 HDC
4 UART
5 RDC / IF
7, 8 connectors
9 PC I / F
11 RDC (read channel)
12 SVC (servo control circuit)
13 Logic analyzer
14, 15 Terminal (PC
16 ICE
20 Logging circuit
21 Logging control circuit
22 buffers
23 UART (RS232C interface)
24 System bus
26, 27 External circuit
28 terminals
31 Trigger detection circuit
32 Internal control register
33 Buffer control circuit
34 Serial control circuit
Claims (3)
前記ディスク制御用集積回路装置は、前記CPUの障害発生時におけるロギングデータの内、予め設定された条件に合致するロギングデータのみを取得するとともに、該取得したロギングデータを前記CPUを介することなく、かつ、該CPUによるプログラムの実行に関係なく独立した経路で外部へ出力する機能を有するハードウェア構成のロギング回路を備え、
前記ロギング回路は、
予め設定された条件に合致するロギングデータのみを取得するためのロギング制御を行うロギング制御回路と、
前記ロギング制御回路の制御により取得したCPUのロギングデータを一時的に格納しておくバッファを備え、前記バッファに格納したロギングデータを外部へ出力する機能を備え、
前記ロギング制御回路は、
割り込み条件、アドレス条件、その他の条件を含む各種ロギング条件を設定する内部制御レジスタと、
前記CPUの障害発生時におけるロギングデータの内、前記内部制御レジスタに設定されているロギング条件を参照して、該ロキング条件に合致するロギングデータのみを検出するトリガ検出回路と、
前記トリガ検出回路からの指示により、該トリガ検出回路が検出したロギングデータを前記バッファに格納する際の制御を行うバッファ制御回路と、
前記ロギングデータの出力制御を行うシリアル制御回路を備えていることを特徴とするディスク装置。In a disk device including an integrated circuit device for disk control having a CPU for performing various controls when writing / reading data to / from the disk,
The integrated circuit device for disk control acquires only the logging data that matches a preset condition among the logging data at the time of the failure of the CPU , and without acquiring the acquired logging data via the CPU. In addition, a logging circuit having a hardware configuration having a function of outputting to the outside through an independent path regardless of the execution of the program by the CPU,
The logging circuit
A logging control circuit that performs logging control to obtain only logging data that matches a preset condition;
A buffer for temporarily storing the logging data of the CPU acquired by the control of the logging control circuit; and a function of outputting the logging data stored in the buffer to the outside,
The logging control circuit includes:
An internal control register that sets various logging conditions including interrupt conditions, address conditions, and other conditions;
A trigger detection circuit that detects only logging data that matches the locking condition with reference to the logging condition set in the internal control register among the logging data at the time of failure of the CPU;
A buffer control circuit for controlling when logging data detected by the trigger detection circuit is stored in the buffer according to an instruction from the trigger detection circuit;
A disk device comprising a serial control circuit for controlling the output of the logging data .
該割り込み信号線を介して前記CPUから取得した割り込み信号の内容を判別することで、該CPUがハングアップ状態であることを検出する機能と、
前記CPUがハングアップした時の情報として、システムバスを介して得られるロギングデータを出力可能にする機能を備えていることを特徴とする請求項1記載のディスク装置。The logging circuit is connected to the CPU by an interrupt signal line;
A function of detecting that the CPU is in a hang-up state by determining the content of the interrupt signal acquired from the CPU via the interrupt signal line ;
2. The disk device according to claim 1, further comprising a function of enabling output of logging data obtained via a system bus as information when the CPU is hung up.
前記ディスク制御用集積回路装置は、前記CPUの障害発生時におけるロギングデータの内、予め設定された条件に合致するロギングデータのみを取得するとともに、該取得したロギングデータを前記CPUを介することなく、かつ、該CPUによるプログラムの実行に関係なく独立した経路で外部へ出力する機能を有するハードウェア構成のロギング回路を備え、The integrated circuit device for disk control acquires only the logging data that matches a preset condition among the logging data at the time of the failure of the CPU, and without acquiring the acquired logging data via the CPU. In addition, a logging circuit having a hardware configuration having a function of outputting to the outside through an independent path regardless of the execution of the program by the CPU,
前記ロギング回路は、The logging circuit
予め設定された条件に合致するロギングデータのみを取得するためのロギング制御を行うロギング制御回路と、A logging control circuit that performs logging control to obtain only logging data that matches a preset condition;
前記ロギング制御回路の制御により取得したCPUのロギングデータを一時的に格納しておくバッファを備え、前記バッファに格納したロギングデータを外部へ出力する機能を備え、A buffer for temporarily storing the logging data of the CPU acquired by the control of the logging control circuit; and a function of outputting the logging data stored in the buffer to the outside.
前記ロギング制御回路内の内部制御レジスタに、割り込み条件、アドレス条件、その他の条件を含む各種ロギング条件を設定し、Various logging conditions including interrupt conditions, address conditions, and other conditions are set in the internal control register in the logging control circuit.
前記ロギング制御回路内のトリガ検出回路において、前記CPUの障害時におけるロギングデータの内、前記内部制御レジスタに設定されているロギング条件を参照して、該ロギング条件に合致するロギングデータのみを検出し、The trigger detection circuit in the logging control circuit detects only logging data that matches the logging condition by referring to the logging condition set in the internal control register among the logging data at the time of the failure of the CPU. ,
前記ロギング制御回路内のバッファ制御回路において、前記トリガ検出回路からの指示により、該トリガ検出回路が検出したロギングデータを前記バッファに格納する際の制御Control for storing logging data detected by the trigger detection circuit in the buffer in response to an instruction from the trigger detection circuit in the buffer control circuit in the logging control circuit を行い、And
前記ロギング制御回路内のシリアル制御回路において、前記ロギングデータの出力制御を行うことを特徴とするディスク装置のロギング方法。A logging method for a disk device, wherein output control of the logging data is performed in a serial control circuit in the logging control circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003142827A JP4246544B2 (en) | 2003-05-21 | 2003-05-21 | Disk device and disk device logging method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003142827A JP4246544B2 (en) | 2003-05-21 | 2003-05-21 | Disk device and disk device logging method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004348306A JP2004348306A (en) | 2004-12-09 |
JP4246544B2 true JP4246544B2 (en) | 2009-04-02 |
Family
ID=33530782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003142827A Expired - Fee Related JP4246544B2 (en) | 2003-05-21 | 2003-05-21 | Disk device and disk device logging method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4246544B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6003350B2 (en) | 2012-07-30 | 2016-10-05 | 富士通株式会社 | Monitoring device, information processing device, and monitoring method |
-
2003
- 2003-05-21 JP JP2003142827A patent/JP4246544B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004348306A (en) | 2004-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12085612B2 (en) | On-chip debugging device and method | |
US8291379B2 (en) | Runtime analysis of a computer program to identify improper memory accesses that cause further problems | |
TWI544410B (en) | Diagnosing code using single step execution | |
CN111078492B (en) | State monitoring system and method for SoC internal bus | |
WO2010001468A1 (en) | Test equipment, program, and recording medium | |
JP2002259065A (en) | Storage system provided with trace information collecting mechanism | |
JPH11110255A (en) | Software debugging device and method | |
JP4246544B2 (en) | Disk device and disk device logging method | |
JP3986898B2 (en) | Memory simulated fault injection device | |
CN108279991B (en) | Method for quickly positioning problem of computer equipment halt rate | |
JP2004101203A (en) | Failure analysis system for logic lsi and failure analysis method | |
KR100270263B1 (en) | An error logging tpparatus operatable in the case of system fault | |
JP4554441B2 (en) | Magnetic disk device, preventive maintenance detection method thereof, and preventive maintenance detection program | |
JP2001331344A (en) | Fault information tracing device for integrated system | |
JP2007080292A (en) | Debugging system | |
JPH05324396A (en) | Program traveling history recording system | |
US20080195896A1 (en) | Apparratus and method for universal programmable error detection and real time error detection | |
KR20000000990A (en) | Error detecting apparatus | |
CN116107823A (en) | Circuit testing method and device, electronic equipment and storage medium | |
JP2009048586A (en) | Processor system, fault processing method, and fault processing program | |
JP2003280940A (en) | Debug system | |
JPS5856159A (en) | Firmware tester | |
JP2001202272A (en) | Debugging method, debugging device using this method and recording medium with debugging method recorded thereon | |
JP2000353109A (en) | Emulator and emulation system | |
JPS61269746A (en) | Information processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080922 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080922 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080922 |
|
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: 20090106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090108 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |