一般に、ディスク装置等の記憶装置においては、1つのチップ内のプロセッサにて使用されるメインメモリの量を見かけ上増加させるために、他のチップ内のリードチャネル等にデータ登録用の複数のバンクメモリ(以下、単に「バンク」と称する場合もある)を用意しておき、これらのバンクメモリを適宜切り換えて使用することが行われている。
例えば、1つのチップ内のプロセッサのメインメモリからブロック単位で転送されるシリアル形式のデータが、1つのブロックに関して、11ビットのアドレスビット、8ビットのデータビット、および1ビットの読み出し/書き込み動作制御用のビット(R/Wビット)からなる20ビットのシリアル形式のデータである場合を想定する。さらに、この20ビットのシリアル形式のデータが、アドレスビットの上位の4ビットは固定で下位の7ビットを変更し、かつ8ビットのデータビットを変更するようなシリアルデータからなっているとする。このようなシリアルデータを10ブロック分他のチップに送出した場合は、他のチップのレジスタ等に上記シリアルデータを設定するために、単純計算で20ビット*10シリアルクロックのレジスタ設定用の時間がかかる。
また一方で、上記シリアルデータをバンク用のデータとして使用するために、上位の4ビットをアドレスビットから切り離し、当該アドレスビットの上位の4ビットをバンク(16ビットのシリアルデータを登録するためのバンク)のアドレスとして設定することができるようにし、他のチップのレジスタ設定用のアドレスビットが7ビットで済むようにした場合、最初に16ビットのバンクのアドレス設定を行った後に、単純計算で16ビット*10シリアルクロックのレジスタ設定用の時間しかかからない。
換言すれば、1つのチップから転送される10ブロック分の20ビットのシリアルデータ(レジスタ設定シリアルデータ)を全て他のチップのレジスタに設定する場合は、単純計算でも、200ビットのレジスタ設定用の時間がかかるのに対し、上記シリアルデータの一部(例えば、4ビット)をバンクのアドレス設定用のシリアルデータ(バンク設定シリアルデータ)として使用する場合は、単純計算でも、160ビットのレジスタ設定用の時間で済む。それゆえに、1つのチップから転送されるシリアルデータをバンク用のデータとして取り扱うほうが、他のチップのレジスタ設定用の時間短縮になる利点がある。
ここで、1つのチップから出力されるシリアル形式のデータをバンク用のデータとして取り扱うようなLSI(大規模集積回路)のチップにおいて、1つのチップ内に複数のプロセッサが設けられている場合を想定する。このような状況の下で、上記の複数のプロセッサからデータのアクセスを行うことによって同一の連続するアドレスのレジスタにデータを設定するような場合であっても、他方のプロセッサがバンクのアドレスを変更する可能性があるために、ブロック単位でデータを出力するときに毎回バンクのアドレスを設定しなければならなかった。さらに、上記のような問題点が容易に理解されるようにするために、図10を参照しながら、従来のデータ処理装置の構成およびその動作を説明する。
図10は、従来のデータ処理装置の構成を示すブロック図である。ただし、ここでは、ディスク装置等に設けられている2つのプロセッサから転送されるシリアル形式のデータを処理するための従来のデータ処理装置の構成を簡略化して示す。
図10の従来のデータ処理装置においては、ディスク装置における読み出し/書き込み動作等の各種の動作を制御する制御部1が、1つのチップにより構成されている。この制御部1は、メモリ変換機能やメモリ保護機能等を含むメインメモリの管理を行う一方のプロセッサであるMCU(Microcontroller Unit:マイクロコントローラ・ユニット)20と、高速にてディジタル信号(データ)の演算処理を行う他方のプロセッサであるDSP(Digital Signal Processor:ディジタル・シグナル・プロセッサ)30と、MCU20およびDSP30から出力されるデータを共通のシリアルバスBに転送するシーケンサ3とを具備している。MCU20では、パラレル形式のデータを処理してシリアル形式のデータDmに変換してから、シーケンサ3に出力し、DSP30でも、パラレル形式のデータを演算処理してシリアル形式のデータDdに変換してから、シーケンサ3に出力している。このシーケンサ3では、シリアル形式のデータDsiが、MCU20およびDSP30からデータ出力命令が出された順番にシリアルバスBを経由してブロック単位で転送される。
さらに、図10の従来のデータ処理装置においては、シーケンサ3からシリアルバスBを介して転送されるシリアル形式のデータDsiを処理して出力するデータ出力処理部400が設けられている。このデータ出力処理部400は、通常、制御部1を構成するチップ内に収まっているが、当該チップの外部に設けられてもよい。さらに、上記のデータ出力処理部400は、1つのチップと他のチップとの間のバッファ回路として機能するデータ出力回路700を具備している。このデータ出力回路700では、制御部1からのシリアル形式のデータDsiを直接入力し、スルー形式で(データの内容を変更せずに)他のチップ内の出力制御回路8に送出するようになっている。
この出力制御回路8は、代表的に、ディスク装置の読み出し/書き込み制御用のリードチャネル(RDC)により構成されている。上記の出力制御回路8は、データ出力処理部400から送出されたシリアルデータDsoをバンク用のデータとして使用するために、バンク設定付きレジスタ18に上記データを設定する機能を有している。
しかしながら、MCUやDSP等の複数のプロセッサからシリアル形式のデータのアクセスを行うことによって同一のバンク設定付きレジスタ18にデータを設定する場合、MCUからのデータとDSPからのデータとが混在したときに、他方のプロセッサ(例えば、MCU)がバンクのアドレスを変更する可能性があるために、ブロック単位でデータを出力するときに毎回バンクのアドレスを設定しなければならなかった。
また一方で、1つのチップ内に1つのプロセッサのみが設けられている場合であっても、外部のタイマーによる割り込み等によってシリアル形式のデータが混在したときに、バンクのアドレスを変更する可能性があるために、毎回バンクのアドレスを設定しなければならなかった。
それゆえに、いずれの場合においても、バンク設定シリアルデータをシリアルバスBに出力してバンクのアドレスを選択し、これに続いて、他のチップのレジスタを設定するためのレジスタ設定シリアルデータを出力する必要があった。換言すれば、いずれの場合であっても、バンク設定シリアルデータとレジスタ設定シリアルデータとをペア(対)にして出力しなければならなかった。それゆえに、従来のデータ処理装置では、バンクのアドレス設定を毎回行うためにシリアルデータの出力転送に要する時間が長くなるという問題点が生じていた。
また一方で、2つ以上のレジスタ設定シリアルデータが連続して出力される場合は、今現在のバンクのアドレス設定が瞬時に変化するおそれがあるので、その都度バンク設定シリアルデータを必要とする。ここで、バンク設定シリアルデータを設定せずにレジスタ設定シリアルデータを出力する場合は、意図しない割り込み等があったときに、全く異なるレジスタに設定されるおそれがある等の問題点も生じていた。
ここで、前述のような従来のディスク処理装置に関連した下記の特許文献1〜特許文献3を先行技術文献として呈示する。この特許文献1では、ベクトルレジスタに格納されているアクセスコードのアドレスを検出し、連続で上記アドレスにアクセスするか否かを決定する際に、同一のアドレスに連続でアクセスすることが確認された場合、当該アドレスのアドレス情報部を省略するようなベクトル処理装置が開示されている。ただし、このベクトル処理装置では、主記憶部(メインメモリ)のアドレスの連続性を強調しているが、現在のシリアルデータのバンクのアドレスと直前のシリアルデータのバンクのアドレスとの比較は行っていない。
特許文献2では、同一ページに対するリクエストが連続して格納されている場合に、複数のアクセスを、ページを単位とした高速アクセスにより連続して実現することにより、高速のメモリシステムを構築するようなメモリ制御装置が開示されている。ただし、このメモリ制御装置では、現在のシリアルデータのバンクのアドレスと直前のシリアルデータのバンクのアドレスとの比較は行っていない。
特許文献3では、同一のアドレスに対してメモリ書き込みアクセスが連続したときに、後続のメモリリクエストのコマンド/アドレス情報と先行のメモリリクエストのアクセス先バンクのアクセス中のコマンド/アドレス情報とを比較し、不一致のときはバンクビジー解除後にメモリアクセスを行い、一致したときはメモリに書き込むデータを後続のメモリリクエストの書き込みデータに更新して、実際のメモリアクセスは1回しか実行しないようなメモリ制御回路が開示されている。ただし、このメモリ制御回路では、現在のシリアルデータのバンクのアドレスと直前のシリアルデータのバンクのアドレスとの比較は行っていない。
したがって、特許文献1〜特許文献3のいずれにおいても、ディスク装置等に設けられている1つまたは2つ以上のプロセッサから転送されるシリアル形式のデータを処理する場合に、従来のデータ処理装置と同様の問題が発生する。
特開平5−020350号公報
特開平9−282223号公報
特開平11−194969号公報
以下、添付図面(図1〜図9)を参照しながら、本発明の好ましい実施例の構成および動作等を説明する。
図1は、本発明の実施例に係るデータ処理装置の構成を示すブロック図である。ただし、ここでは、ディスク装置等に設けられている複数のプロセッサ(第1のプロセッサ2−1〜第nのプロセッサ2−n:ここで、nは2以上の正の整数)から転送されるシリアル形式のデータを処理するための本発明のデータ処理装置の構成を簡略化して示す。なお、これ以降、前述した構成要素と同様のものについては、同一の参照番号を付して表すこととする。
図1の実施例に係るデータ処理装置においても、前述の図10の場合と同様に、ディスク装置における読み出し/書き込み動作等の各種の動作を制御する制御部1が、1つのチップにより構成されている。この制御部1は、第1のプロセッサ2−1〜第nのプロセッサ2−nからなる複数のプロセッサと、複数のプロセッサから出力されるデータD1〜Dnを共通のシリアルバスBに転送するシーケンサ3とを具備している。これらの第1のプロセッサ2−1〜第nのプロセッサ2−nでは、パラレル形式のデータを処理してシリアル形式のデータに変換してから、シーケンサ3に出力している。このシーケンサ3では、シリアル形式のデータDsiが、複数のプロセッサからデータ出力命令が出された順番にシリアルバスBを経由してブロック単位で転送される。好ましくは、シリアル形式のデータDsは、バンク用のデータとして使用可能な情報を含むレジスタ設定シリアルデータ(第1シリアルデータ)と、このレジスタ設定シリアルデータが登録されるべきバンクのアドレスを設定するためのバンク設定シリアルデータ(第2シリアルデータ)とにより構成される。
さらに、図1のデータ処理装置においては、シーケンサ3からシリアルバスBを介して転送されるシリアル形式のデータDsiを処理して出力するデータ出力処理部4が設けられている。このデータ出力処理部4は、通常、制御部1を構成するチップ内に収まっているが、当該チップの外部に設けられてもよい。
さらに、上記のデータ出力処理部4は、複数のプロセッサから転送されるシリアル形式のデータDsiのバンク設定シリアルデータを一時的に保持する第2シリアルデータ保持手段5と、第2シリアルデータ保持手段5に現在保持されている現在のバンク設定シリアルデータDbcの設定値と、その直前に第2シリアルデータ保持手段5に保持されていた直前のバンク設定シリアルデータDbpの設定値とを比較する第2シリアルデータ比較手段6とを具備している。
さらに、上記のデータ出力処理部4は、1つのチップと他のチップとの間のバッファ回路として機能するデータ出力回路7を具備している。このデータ出力回路7では、第2シリアルデータ保持手段5をそのまま通過して転送されるレジスタ設定シリアルデータDrsを入力すると共に、第2シリアルデータ比較手段6により転送されるか否かが決定された現在のバンク設定シリアルデータDbcを選択的に入力し、他のチップ内の出力制御回路8に送出するようになっている。
この出力制御回路8は、前述の図10にて説明したように、ディスク装置の読み出し/書き込み制御用のリードチャネル(RDC)により構成されている。上記の出力制御回路8は、データ出力処理部4から送出されたシリアルデータDsoをバンク用のデータとして使用するために、バンク設定付きレジスタ18に上記データを設定する機能を有している。
好ましくは、上記の第2シリアルデータ保持手段5は、複数のプロセッサから転送されるバンク設定シリアルデータ(Dbc、Dbp)を一時的に記憶しておくシリアルレジスタにより構成される。また一方で、当該バンク設定シリアルデータとペアになって入力されるレジスタ設定シリアルデータDrsは、第2シリアルデータ保持手段5のシリアルレジスタに記憶されずにデータ出力回路7にそのまま転送される。
さらに、好ましくは、上記の第2シリアルデータ比較手段6は、現在第2シリアルデータ保持手段5に保持されている現在のバンク設定シリアルデータDbcの設定値と、その直前に第2シリアルデータ保持手段5に保持されていた直前の第2シリアルデータDbpの設定値とを比較するための排他的論理和回路(Exclusive OR回路)を含むディジタルコンパレータにより構成される。このディジタルコンパレータでは、シリアルレジスタに現在記憶されている現在のバンク設定シリアルデータDbcの各ビットの値と、その直前に上記シリアルレジスタに記憶されていた直前のバンク設定シリアルデータDbpの各ビットの値とが比較される。
ここで、第2シリアルデータ比較手段6により上記2つのバンク設定シリアルデータの設定値を比較した結果として、現在のバンク設定シリアルデータDbcの設定値が、直前のバンク設定シリアルデータDbpの設定値と同じであることが確認された場合、現在のバンク設定シリアルデータDbcは出力せず(比較結果出力信号Sdが出力されず)、現在の第2シリアルデータとペアになっている第1シリアルデータ(すなわち、レジスタ設定シリアルデータ)のみをデータ出力回路7から出力するようにしている。
また一方で、第2シリアルデータ比較手段6により上記2つのバンク設定シリアルデータの設定値を比較した結果として、現在のバンク設定シリアルデータDbcの設定値が、直前のバンク設定シリアルデータDbpの設定値と異なることが確認された場合、従来のデータ処理装置と同様に、現在のバンク設定シリアルデータがデータ出力回路7から出力される(比較結果出力信号Sdが出力される)と共に、現在のバンク設定シリアルデータとペアになっている第1シリアルデータがデータ出力回路7から出力されるようになっている。
図1の実施例によれば、複数のプロセッサからシリアル形式のデータが混在して転送される場合であっても従来の場合よりもバンク設定シリアルデータの出力の量が減少し、シリアルデータの出力転送に要する時間が短縮されるので、リードチャネル等の出力制御回路におけるレジスタ設定の高速化を図ることができるようになる。さらに、図1の実施例によれば、現在のバンク設定シリアルデータと直前のバンク設定シリアルデータとを比較してから現在のバンク設定シリアルデータを出力するか否かを判断しているので、レジスタ設定シリアルデータをリードチャネル等の出力制御回路に送出する場合に、特定のプロセッサによりバンクのアドレスが変更されたときでも全く異なるレジスタに設定されるといったようなデータ書き込みミスを阻止することができるようになる。
ここで、図1の実施例では図示していないが、1つのチップ内に1つのプロセッサのみが設けられているような特殊な例を想定する。このような特殊な例において、外部のタイマーによる割り込み等によってシリアル形式のデータが混在したときに、バンクのアドレスを変更する可能性がある。本発明のデータ処理システムでは、1つのプロセッサおよび外部からの割り込みによるデータ出力命令が出された順番に転送されるシリアル形式のデータを処理する場合、上記シリアル形式のデータの中でバンク設定シリアルデータをレジスタ等に一時的に保持し、現在保持されている現在のバンク設定シリアルデータの設定値と、その直前に保持されていた直前のバンク設定シリアルデータの設定値とを比較し、現在のバンク設定シリアルデータの設定値が、直前のバンク設定シリアルデータの設定値と同じである場合、現在のバンク設定シリアルデータは出力せず、現在のバンク設定シリアルデータとペアになっているレジスタ設定シリアルデータのみを出力するようにしている。
それゆえに、上記の例によれば、1つのプロセッサおよび外部からの割り込みによりシリアル形式のデータが混在して転送される場合であっても従来の場合よりもバンク設定シリアルデータの出力の量が減少し、シリアル形式のデータの出力転送に要する時間が短縮されるので、1つのプロセッサを含むチップ以外の他のチップにおけるレジスタ設定の高速化を図ることが可能になる。さらに、この場合も、前述の図1の実施例の場合と同様に、現在のバンク設定シリアルデータと直前のバンク設定シリアルデータとを比較してから現在のバンク設定シリアルデータを出力するか否かを判断しているので、レジスタ設定シリアルデータを他のチップに送出する場合に、外部からの割り込みによりバンクのアドレスが変更されたときでも全く異なるレジスタに設定されるといったようなデータ書き込みミスを阻止することができるようになる。
図2は、本発明のデータ処理装置の具体例の構成を示すブロック図である。この場合も、ディスク装置等に設けられている2つのプロセッサから転送されるシリアル形式のデータを処理するための本発明のデータ処理装置の構成を簡略化して示す。
図2の具体例のデータ処理装置においても、前述の図1の場合と同様に、ディスク装置における読み出し/書き込み動作等の各種の動作を制御する制御部1が、1つのチップにより構成されている。この制御部1は、前述の図10にて説明したように、一方のプロセッサであるMCU20と、他方のプロセッサであるDSP30と、MCU20およびDSP30から出力されるデータを共通のシリアルバスBに転送するシーケンサ3とを具備している。MCU20では、パラレル形式のデータを処理してシリアル形式のデータDmに変換してから、シーケンサ3に出力し、DSP30でも、パラレル形式のデータを演算処理してシリアル形式のデータDdに変換してから、シーケンサ3に出力している。このシーケンサ3では、シリアル形式のデータDsiが、MCU20およびDSP30からデータ出力命令が出された順番にシリアルバスBを経由してブロック単位で転送される。
さらに、図2のデータ処理装置においても、前述の図1の場合と同様に、シーケンサ3からシリアルバスBを介して転送されるシリアル形式のデータDsiを処理して出力するデータ出力処理部4が設けられている。このデータ出力処理部4は、通常、制御部1を構成するチップ内に収まっているが、当該チップの外部に設けられてもよい。
さらに、上記の出力処理部4は、前述の図1の場合と同様に、1つのチップと他のチップとの間のバッファ回路として機能するデータ出力回路7を具備している。このデータ出力回路7は、前述の図1のデータ出力回路と同じ構成を有しており、ここでは、データ出力回路に関する再度の詳細な説明を省略する。
ただし、図2のデータ出力処理部4においては、第2シリアルデータ保持手段5(図1参照)および第2シリアルデータ比較手段6(図1参照)の機能をコンピュータのCPU40により実現するようにしている点が、前述の図1の実施例の場合と異なる。より詳しく説明すると、ROM(Read-Only Memory)等のプログラム記憶部44に格納されているデータ処理用のプログラム、およびRAM(Random Access Memory)等のデータ記憶部に格納されているプログラム実行に必要な各種のデータをCPU40により読み出して上記プログラムを実行させることによって、第2シリアルデータ保持手段5および第2シリアルデータ比較手段6に相当する機能が実現される。
より具体的にいえば、図2のデータ出力処理部内のプログラム記憶部44に格納されているプログラムは、1つまたは複数のプロセッサから転送される前記シリアル形式のデータのバンク設定シリアルデータを一時的に保持するステップと、現在保持されている現在のバンク設定シリアルデータの設定値と、その直前に保持されていた直前のバンク設定シリアルデータの設定値とを比較するステップと、現在のバンク設定シリアルデータの設定値が、直前のバンク設定シリアルデータの設定値と同じであることが確認された場合、現在のバンク設定シリアルデータは出力せず、現在のバンク設定シリアルデータとペアになっているレジスタ設定シリアルデータのみを出力するステップとを含む。
さらに、図2の具体例では、コンピュータ読み取り可能な記憶媒体(または記録媒体)を使用してデータ処理装置を動作させる場合、前述のようなプログラムの内容を保持している記憶媒体(例えば、後述の図8に示すようなディスク装置内のハードディスク等のディスク110)を用意することが好ましい。
なお、図2の具体例で使用される記憶媒体は、上記したものに限らず、フロッピィディスクやMO(Magneto-Optical Disk:光磁気ディスク)やCD−R(Compact Disk-Recordable)やCD−ROM(Compact Disk Read-only Memory)等の可搬形媒体、その他の固定形媒体など種々の記憶媒体の形態で提供可能なものである。
また一方で、CPU40により上記2つのバンク設定シリアルデータの設定値を比較した結果として、現在のバンク設定シリアルデータDbcの設定値が、直前のバンク設定シリアルデータDbpの設定値と異なることが確認された場合、従来のデータ処理装置と同様に、現在のバンク設定シリアルデータがデータ出力回路7から出力されると共に、現在のバンク設定シリアルデータとペアになっているレジスタ設定シリアルデータがデータ出力回路7から出力されるようになっている。
さらに、データ出力回路7から出力されるシリアルデータは、前述の図1の場合と同様に、他のチップ内の出力制御回路8に送出される。この出力制御回路8は、前述の図1の出力制御回路と同じ構成を有しており、ここでは、出力制御回路に関する再度の詳細な説明を省略する。
図2の具体例によれば、2つのプロセッサ(MCUおよびDSP)からシリアル形式のデータが混在して転送される場合であっても従来の場合よりもバンク設定シリアルデータの出力の量が減少し、シリアルデータの出力転送に要する時間が短縮されるので、リードチャネル等の出力制御回路におけるレジスタ設定の高速化を図ることができるようになる。さらに、図2の具体例によれば、現在のバンク設定シリアルデータと直前のバンク設定シリアルデータとを比較して現在のバンク設定シリアルデータを出力するか否かを判断する機能をコンピュータのソフトウェアにより実現しているので、データ処理装置の回路規模が図1の実施例の場合よりも小さくて済む。
図3は、本発明の実施例で使用されるシリアル形式のデータのフォーマット例を示すデータフォーマット図である。
図3の(a)においては、1つのチップ内のプロセッサのメインメモリからブロック単位で転送されるシリアル形式のデータが、20ビットのシリアル形式のデータである場合のデータフォーマット図が例示されている。この20ビットのシリアル形式のデータは、11ビットのアドレスデータのビット(すなわち、アドレスビット)(16進数の12〜08のアドレス)、8ビットのレジスタデータのビット(16進数の07〜00のアドレス)、および1ビットの読み出し/書き込み動作制御用のビット(R/Wビット:16進数の13のアドレス)により構成される。さらに、この20ビットのシリアル形式のデータが、アドレスデータのビットの上位の4ビットは固定で下位の7ビットを変更し、かつ8ビットのデータビットを変更するようなシリアルデータからなっているとする。このようなシリアルデータを10ブロック分他のチップに送出した場合は、他のチップのレジスタ等に上記シリアルデータを設定するために、単純計算で20ビット*10シリアルクロックのレジスタ設定用の時間がかかる。
また一方で、図3の(b)においては、1つのチップ内のプロセッサのメインメモリからブロック単位で転送されるシリアル形式のデータが、16ビットのシリアル形式のデータである場合のデータフォーマット図が例示されている。この図3の(b)では、上記シリアルデータをバンク用のデータとして使用するために、上位の4ビットをアドレスデータのビットから切り離し、当該アドレスデータのビットの上位の4ビットをバンク(16ビットのシリアルデータを登録するためのバンク)のアドレスとして設定することができるようにし、他のチップのレジスタ設定用のアドレスビットが7ビットで済むようにしている。
この16ビットのシリアル形式のデータは、7ビットのアドレスデータのビット(16進数の0E〜08のアドレス)、8ビットのレジスタデータのビット(16進数の07〜00のアドレス)、および1ビットの読み出し/書き込み動作制御用のビット(R/Wビット:16進数の0Fのアドレス)により構成される。アドレスビットの上位の4ビットは固定で下位の7ビットを変更し、かつ8ビットのデータビットを変更するようなシリアルデータからなっているとする。最初に16ビットのバンクのアドレス設定を行った後に、単純計算で16ビット*10シリアルクロックのレジスタ設定用の時間しかかからない。上記の16ビットのシリアル形式のデータにおいては、0E〜08のアドレスデータのビットに対し、全て“1”を設定する場合のみ、レジスタ設定データをバンクのバンク設定値とする。
換言すれば、1つのチップから転送される10ブロック分の20ビットのシリアルデータ(レジスタ設定シリアルデータ)を全て他のチップのレジスタに設定する場合は、単純計算でも、200ビットのレジスタ設定用の時間がかかるのに対し、上記シリアルデータの一部(例えば、4ビット)をバンクのアドレス設定用のシリアルデータ(バンク設定シリアルデータ)として使用する場合は、単純計算でも、160ビットのレジスタ設定用の時間で済む。それゆえに、上記シリアルデータをバンク用のデータとして取り扱うことによって、レジスタ設定用の時間が短縮される。
図4は、従来のデータ処理装置にてシリアル形式のデータが出力される様子を示すデータ流れ図、図5は、本発明のデータ処理装置にてシリアル形式のデータが出力される様子を示すデータ流れ図(その1)、そして、図6は、本発明のデータ処理装置にてシリアル形式のデータが出力される様子を示すデータ流れ図(その2)である。
図4〜図6においては、MCUおよびDSPの2つのプロセッサからデータ出力命令が出された順番にブロック単位でシリアル形式のデータが出力される様子を模式的に示すために、時間軸に対するデータの流れを簡略化して示す。上記のシリアル形式のデータは、前述したように、ディスク装置で使用されるリードチャネル(RDC)等のレジスタに設定するためのレジスタ設定シリアルデータと、バンクのアドレスを設定するためのバンク設定シリアルデータとにより構成される。ここでは、DSPからデータ出力命令が出された後に、MCUからデータ出力命令が出された場合を想定する。
図4では、従来のデータ処理装置(例えば、図10参照)において、MCU20およびDSP30からデータ出力命令が出された順番にブロック単位でシリアル形式のデータが出力される場合のデータの流れが図示されている。ここでは、初めに、DSP30からのデータ出力命令に従って、DSP30からバンク設定シリアルデータ♯1が出力される。次に、DSP30から、レジスタ設定シリアルデータ♯1およびレジスタ設定シリアルデータ♯2が連続して出力される。この場合、レジスタ設定シリアルデータ♯1およびレジスタ設定シリアルデータ♯2は、同一のバンクのアドレス(バンク設定値)を有しており、バンク設定シリアルデータ♯1に反映される。このように、バンク設定シリアルデータにより一回設定されたバンク設定値は記憶されており、1つのプロセッサ(DSP)から多数のレジスタ設定シリアルデータが連続して出力される場合は、最初に設定されたバンク設定値が有効になる。
したがって、一般に、他のバンク設定値を有するレジスタ設定シリアルデータと混合せずに、1つのプロセッサから同じバンク設定値を有する多数のレジスタ設定シリアルデータを出力することが、シリアルデータ全体の出力の量の減少につながる。
しかしながら、従来のデータ処理装置においては、シリアル形式のデータ出力の命令系統が2種類(MCUおよびDSP)あり、それぞれの命令系統がバンクのアドレス設定を行うようになっている。例えば、図4において、DSP30からレジスタ設定シリアルデータ♯2が出力された後に、MCU20からのデータ出力命令に従って、MCU20からバンク設定シリアルデータ♯2が出力される。次に、MCU20からレジスタ設定シリアルデータ♯3が出力される。この場合、レジスタ設定シリアルデータ♯3は、バンク設定シリアルデータ♯2に反映される。
従来のデータ処理装置においては、各々のプロセッサから出力されるバンク設定シリアルデータのバンク設定値の情報は、互いに認識することができないような仕様になっている。さらに、リアルタイムでシリアルデータの出力を行っているため、各々のプロセッサにバンク設定値の情報を通知することもできなかった。それゆえに、従来のデータ処理装置においては、リードチャネル等のレジスタにシリアルデータを設定する際に、各々のプロセッサから出力されるバンク設定シリアルデータのバンク設定値が同じ場合であっても、必ず、バンク設定シリアルデータを出力してからレジスタ設定シリアルデータを出力するようにしていた。
また一方で、図5では、本発明のデータ処理装置(例えば、図2参照)において、MCU20およびDSP30からデータ出力命令が出された順番にブロック単位でシリアル形式のデータが出力される場合のデータの流れが図示されている。ここでは、初めに、DSP30からのデータ出力命令に従って、DSP30からバンク設定シリアルデータ♯1が出力される。次に、DSP30から、レジスタ設定シリアルデータ♯1およびレジスタ設定シリアルデータ♯2が連続して出力される。
本発明のデータ処理装置では、DSP30から出力されたバンク設定シリアルデータ♯1のバンク設定値は、データ出力処理部4(図1参照)のシリアルレジスタ等に一時的に保持される。図5において、レジスタ設定シリアルデータ♯2が出力された後に、MCU20からのデータ出力命令に従って、MCU20からバンク設定シリアルデータ♯2が出力される。次に、MCU20から、レジスタ設定シリアルデータ♯3が出力される。上記のバンク設定シリアルデータ♯2もまた、データ出力処理部4のシリアルレジスタ等に一時的に保持される。
さらに、本発明のデータ処理装置では、データ出力処理部4のディジタルコンパレータ等によって、今回保持されているMCU側のバンク設定シリアルデータ♯2のバンク設定値と、前回保持されていたDSP側のバンク設定シリアルデータ♯1のバンク設定値とが比較される。この結果、今回のバンク設定シリアルデータ♯2のバンク設定値が、前回のバンク設定シリアルデータ♯1のバンク設定値と同じであることが確認された場合、図5に示すように、今回のバンク設定シリアルデータ♯2は出力せず、レジスタ設定シリアルデータ♯3のみを出力するようにしている。
これによって、最終的に出力されるバンク設定シリアルデータの出力の量が1ブロック分減少し、シリアルデータの出力転送に要する時間が短縮されるので、リードチャネル等におけるレジスタ設定の高速化を図ることができるようになる。
また一方で、今回保持されているバンク設定シリアルデータ♯2のバンク設定値と、前回保持されていたバンク設定シリアルデータ♯1のバンク設定値とを比較した結果、今回のバンク設定シリアルデータ♯2のバンク設定値が、前回のバンク設定シリアルデータ♯1のバンク設定値と異なることが確認された場合、図6に示すように、今回のバンク設定シリアルデータ♯2を出力してから、今回のレジスタ設定シリアルデータ♯3を出力するようにしている。この場合は、図4の従来の場合と同じデータの流れでシリアルデータが最終的に出力されることになる。
図5および図6に示したような本発明のデータ処理装置によれば、今回のバンク設定シリアルデータ♯2と前回のバンク設定シリアルデータ♯1とを比較してから今回のバンク設定シリアルデータ♯2を最終的に出力するか否かを判断しているので、レジスタ設定シリアルデータをリードチャネル等に送出する場合に、特定のプロセッサによりバンク設定値が変更されたときでも全く異なるレジスタに設定されるといったようなデータ書き込みミスを阻止することができるようになる。
ここで、図3の(b)で定義された16ビットのシリアル形式のデータのフォーマットを使用してデータ処理を行った場合の具体的な例を示す。
初期値として、バンク設定シリアルデータのバンク設定値=71が一回出力されたものとする。
まず、一方のプロセッサ(例えば、DSP)によって、シリアルデータのバンク設定値=72が設定されると共に、レジスタ設定シリアルデータの出力データ値=4Fが設定される。ここで設定されたバンク設定値=72は、直前のバンク設定値=71と異なる値なので、まず、バンク設定値=72を、一方のプロセッサのバンク設定シリアルデータのバンク設定値とし、当該バンク設定シリアルデータをシリアルバスを介して出力する。さらに、4Fを出力データ値とするレジスタ設定シリアルデータを出力する。
さらに、他方のプロセッサ(例えば、MCU)によって、シリアルデータのバンク設定値=72が設定されると共に、レジスタ設定シリアルデータの出力データ値=6Eが設定される。
この場合、直前のバンク設定値も72になっているので、バンク設定値=72の他方のプロセッサのバンク設定シリアルデータは出力せずに、6Eを出力データ値とするレジスタ設定シリアルデータのみを出力する。
上記の例では、バンク2、アドレスデータのビット4のレジスタにFを設定し、バンク2、アドレスデータのビット6のレジスタにEを設定している例を示している。この例では、一方のプロセッサのバンク設定シリアルデータ、一方のプロセッサのレジスタ設定シリアルデータ、および他方のプロセッサのレジスタ設定シリアルデータが順次出力されたことを意味している。
図7は、本発明の実施例にてシリアル形式のデータを処理するフローを説明するためのフローチャートである。ここでは、データ出力処理部(図2参照)のCPU(図2参照)等を動作させてシリアル形式のデータを処理するためのフローチャートを説明する。
まず、ステップS1において、複数のプロセッサから転送されたバンク設定シリアルデータおよびレジスタ設定シリアルデータが、データ出力処理部に入力される。次に、ステップS2において、バンク設定シリアルデータがシリアルレジスタ等に一時的に保持されて記憶される。
さらに、ステップS3において、現在記憶されている現在のバンク設定シリアルデータのバンク設定値と、その直前に記憶されていた直前のバンク設定シリアルデータのバンク設定値とが比較される。
さらに、ステップS4において、現在のバンク設定シリアルデータのバンク設定値と、直前のバンク設定シリアルデータのバンク設定値とが同じであるか否かが判断される。
上記2つのバンク設定値が同じであることが確認された場合、ステップS5に示すように、現在のバンク設定シリアルデータは出力されずに、現在のレジスタ設定シリアルデータのみが出力される。
また一方で、上記2つのバンク設定値が互いに異なることが確認された場合、ステップS6に示すように、現在のバンク設定シリアルデータおよび現在のレジスタ設定シリアルデータが出力される。
さらに、ステップS7において、バンク設定値の比較の対象である次のバンク設定シリアルデータが存在するか否かを判断し、次のバンク設定シリアルデータが存在する場合は、前述のステップS3〜S6の動作を繰り返す。次のバンク設定シリアルデータが存在しない場合は、データ出力処理部によるデータ処理が完了する(ステップS8)。
図8は、本発明が適用されるディスク装置の機構部の概略的構成を示す平面図であり、図9は、本発明が適用されるディスク装置のプリント回路アセンブリの概略的構成を示すブロック図である。
ただし、ここでは、本発明のデータ処理装置が適用されるディスク装置として、ハードディスク等の回転するディスク110に対する情報(データ)の書き込みおよび読み出しを行うためのヘッドを備えた磁気ディスク装置等のディスク装置100を例示している。ここでは、上記のようなヘッドとして、読み出し用のヘッド素子と書き込み用のヘッド素子とが一体化された構造のリード・ライトヘッド116を設けている。
図8に示すディスク装置1は、大まかにいって、ディスク装置内のディスク110、リード・ライトヘッド116、スピンドルモータ112およびボイスコイルモータ114等の機構部102と、リード・ライトヘッド116によるデータ書き込み動作およびデータ読み出し動作等を制御するための電子制御回路が実装されたプリント回路アセンブリ103とにより構成される。ここで、機構部102はディスクエンクロージャ内に収納されており、電子制御回路は、プリント回路アセンブリ103(図9参照)上に実装される複数の半導体素子により構成される。上記の機構部102には、スピンドル111に結合されるスピンドルモータ112によって回転駆動される単一または複数のハードディスク等の回転するディスク110が同軸上に設けられている。
スピンドルモータ112の動作は、サーボコントローラ122(図9参照、図9ではSVCと略記する)により制御されている。ディスク110の表面(または裏面)の磁気記録面には、複数のトラック(または複数のシリンダ)が形成されており、このトラックの任意の位置のセクタに所定のデータに対応するデータパターンが書き込まれている。
ここで、「シリンダ」とは、複数のディスクが積層されて配置されている場合に、各々のディスク上で複数のリード・ライトヘッドによって同時にアクセスすることが可能な垂直方向の複数のトラックの集合体(すなわち、シリンダ状の複数のトラック)を指し示す用語である。
より具体的にいえば、サーボ面サーボ方式を用いたディスク装置では、複数のディスク110の内、いずれか一つのディスクの磁気記録面が、サーボ制御用のサーボ信号に対応するサーボ信号パターンが形成されたサーボ面になっており、他のディスクの磁気記録面は、全てデータパターンが形成されたデータ面になっている。また一方で、データ面サーボ方式を用いたディスク装置では、複数のディスクの各々の磁気記録面に、データパターンおよびサーボ信号パターンの両方が形成されている。最近は、後者のデータ面サーボ方式を用いたディスク装置が一般に使用される傾向にある。
さらに、図8のディスク装置100においては、ディスク110の磁気記録面の任意の位置にデータを書き込むと共に、上記磁気記録面の任意の位置に書き込まれているデータを読み出すためのリード・ライトヘッド116が設けられている。このリード・ライトヘッド116は、ヘッド支持用のアーム117の先端に実装されている。このアーム117は、サーボコントローラ122(図9参照)により制御されるボイスコイルモータ114によって、ディスク110の内周部(インナ側)の位置と外周部(アウタ側)の位置との間を往復移動するように駆動される。これによって、ディスク110の磁気記録面でデータが書き込まれている全てのデータ領域のセクタに対するアクセスを行うことが可能になる。ここで、アーム117の往復移動がスムーズに行えるようにするために、ボイスコイルモータ114の中心部にピボットベアリング130が取り付けられている。
例えば、ボイスコイルモータ114によってアーム117が矢印Bの方向に回転することにより、リード・ライトヘッド116がディスク110の半径方向に移動し、所望のトラックを走査することが可能になる。ボイスコイルモータ114およびアーム117を含む構成要素は、ヘッドアクチュエータともよばれている。さらに、このヘッドアクチュエータにはフレキシブルプリント基板(通常、FPC(Flexible Printed Circuit)と略記される)131が取り付けられており、このフレキシブルプリント基板131を経由して、ボイスコイルモータ114およびリード・ライトヘッド116の動作を制御するためのサーボ信号Sdv(図9参照)が供給される。
ディスク110の外周部には、ランプ機構118が配置されており、アーム117の先端に係合してリード・ライトヘッド116をディスク110から離間させて保持するようになっている。
さらに、ディスク装置100では、ディスク装置1のプリント回路アセンブリ103(図9参照)と外部の上位システム90(図9参照)とを接続するためのインタフェースコネクタ(図示されていない)が設けられている。
つぎに、図9を参照しながら、本発明のデータ処理装置が取り込まれたディスク装置のプリント回路アセンブリ103の構成を詳しく説明する。
図9に示すように、リード・ライトヘッド116によりディスク110から読み取られた再生信号は、ディスクエンクロージャ内のヘッド IC119に供給され、ヘッド位置検出部120により検出・増幅された後にプリント回路アセンブリ103上の電子制御回路に供給される。
さらに、図9に示すように、前述の図2に示したような本発明のデータ処理装置が、出力制御回路であるリードチャネル(図9では、RDCと略記する)121と共に、プリント回路アセンブリ103上に実装されている。このリードチャネル121は、ヘッド IC119により供給された再生信号Srから、データ情報およびサーボ情報を復調する機能を有する。
プリント回路アセンブリ103上に実装されているデータ処理装置においては、前述の図2にて説明したように、リードチャネル121から出力されるサーボ情報に基づいてデータの読み出し/書き込み動作等の各種の動作を制御する制御部1が、1つのチップにより構成されている。上記のサーボ情報の中から、リード・ライトヘッド116のディスク面上のトラック位置に関する位置情報を取り出すことができる。この制御部1は、一方のプロセッサであるMCU20と、他方のプロセッサであるDSP30と、MCU20およびDSP30から出力されるデータを共通のシリアルバスに転送するシーケンサ3とを具備している。MCU20では、パラレル形式のデータを処理してシリアル形式のデータに変換してから、シーケンサ3に出力し、DSP30でも、パラレル形式のデータを演算処理してシリアル形式のデータに変換してから、シーケンサ3に出力している。
さらに、上記のデータ処理装置においては、前述の図2にて説明したように、シーケンサ3から転送されるシリアル形式のデータDsiを処理して出力するデータ出力処理部4が設けられている。このデータ出力処理部4は、通常、制御部1を構成するチップ内に収まっているが、当該チップの外部に設けられてもよい。
さらに、データ出力処理部4から出力されるシリアルデータは、他のチップ内のリードチャネル121に送出され、このリードチャネル121内のバンク設定付きレジスタに設定される。
さらに、図9の電子制御回路においては、ディスク装置100の外部のホストプロセッサ等の上位システム90から発行されるコマンドに従ってディスク装置100の動作を制御するハードディスクコントローラ(図9では、HDCと略記する)105と、読み出し/書き込みの対象となるデータを一時的に記憶するRAM107と、データの読み出し/書き込み等を実行するためのプログラムを格納するROM108と、スピンドルモータ112およびボイスコイルモータ114の動作を制御するサーボコントローラ122とが、プリント回路アセンブリ103上に実装されている。好ましくは、RAM107として、高速大容量のダイナミックRAM(通常、DRAMと略記される)が使用される。
上記のような構成の電子制御回路において、上位システム90からデータ書き込み用のライトコマンドが発行された場合、制御部1のMCU20は、ROM108に予め記憶されているプログラムに従って動作し、リードチャネル制御信号をリードチャネル121に送出する。このリードチャネル121は、読み出し/書き込み用のデータ信号(R/W DATA)に基づいて、書き込み信号Swをヘッド IC19に送出する。このヘッド IC119は、書き込み信号Swを増幅してリード・ライトヘッド116に送出する。
また一方で、上位システム90からデータ読み出し用のリードコマンドが発行された場合、制御部1のMCU20は、ROM108に予め記憶されているプログラムに従って動作し、ハードディスク制御信号S−HDCをヘッド IC119に送出する。このヘッド IC19は、リード・ライトヘッド116から出力される再生信号を増幅してリードチャネル121に送出する。ここで、リードチャネル121は、書き込み/読み出し用のデータ信号(R/W DATA)に基づいて、再生信号Srがディスク面上の正しい位置のセクタから読み出されているか否かを確認し、当該セクタの位置に関する位置情報を含むサーボ情報を制御部1に送出する。
さらに、制御部1のMCU20は、上位システム90からの各種制御信号およびサーボ情報に基づいて、ボイスコイルモータ114の動作を制御するためのVCM制御信号S−VCMを生成し、サーボコントローラ122に送出する。このVCM制御信号S−VCMをもとに生成されるボイスコイルモータ用のサーボ信号Sdvが、ドライバ123を介してボイスコイルモータ114に供給される。そして、このサーボ信号Sdvに従ってボイスコイルモータ114が起動し(ボイスコイルモータ114に電流I−VCMが流れ)、リード・ライトヘッド116を指定された位置にシークさせる等の動作が実行される。これと同時に、VCM制御信号S−VCMをもとに生成されるスピンドルモータ用のサーボ信号Sdsが、ドライバ124を介してスピンドルモータ112に供給される。そして、このサーボ信号Sdsに従ってスピンドルモータ112が起動し(スピンドルモータ112に電流I−DCMが流れ)、ディスク110が回転駆動される。
ここで、確認のため、ディスク装置100に取り込まれている本発明のデータ出力処理部4の構成および動作を再度簡単に説明する。
図9の出力処理部4は、前述の図2の場合と同様に、1つのチップと他のチップとの間のバッファ回路として機能するデータ出力回路を具備している。
さらに、図9のデータ出力処理部4においては、第2シリアルデータ保持手段(図1参照)および第2シリアルデータ比較手段(図1参照)の機能をコンピュータのCPUにより実現するようにしている。より詳しく説明すると、図9のデータ出力処理部内のROM等に格納されているデータ処理用のプログラムをCPUにより読み出して上記プログラムを実行させることによって、第2シリアルデータ保持手段および第2シリアルデータ比較手段に相当する機能が実現される。
より具体的にいえば、図9のデータ出力処理部内のROM等に格納されているプログラムによって、複数のプロセッサ(例えば、MCU20およびDSP30)から転送されるバンク設定シリアルデータを一時的に保持するステップと、現在保持されている現在のバンク設定シリアルデータの設定値と、その直前に保持されていた直前のバンク設定シリアルデータの設定値とを比較するステップと、現在のバンク設定シリアルデータのバンク設定値が、直前のバンク設定シリアルデータのバンク設定値と同じであることが確認された場合、現在のバンク設定シリアルデータは出力せず、現在のバンク設定シリアルデータとペアになっているレジスタ設定シリアルデータのみを出力するステップが実行される。
また一方で、CPUにより上記2つのバンク設定シリアルデータのバンク設定値を比較した結果として、現在のバンク設定シリアルデータのバンク設定値が、直前のバンク設定シリアルデータのバンク設定値と異なることが確認された場合、現在のバンク設定シリアルデータが出力されると共に、現在のバンク設定シリアルデータとペアになっている第1シリアルデータが出力されるようになっている。
(付記1)複数のプロセッサからのデータ出力命令が出された順番に共通のシリアルバスを経由してブロック単位で転送されるシリアル形式のデータを処理して出力するデータ出力処理部を有するデータ処理装置において、
前記シリアル形式のデータは、使用可能な情報が含まれる第1シリアルデータと、前記第1シリアルデータが登録されるべきバンクのアドレスを設定するための第2シリアルデータとを含み、前記データ出力処理部は、
前記複数のプロセッサから転送される前記シリアル形式のデータの第2シリアルデータを一時的に保持する第2シリアルデータ保持手段と、
前記第2シリアルデータ保持手段に現在保持されている現在の第2シリアルデータの設定値と、その直前に前記第2シリアルデータ保持手段に保持されていた直前の第2シリアルデータの設定値とを比較する第2シリアルデータ比較手段とを具備し、
前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と同じであることが確認された場合、前記現在の第2シリアルデータは出力せず、前記現在の第2シリアルデータに対応するブロックの第1シリアルデータのみを出力するように構成されることを特徴とするデータ処理装置。
(付記2)前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と異なることが確認された場合、前記現在の第2シリアルデータ、および前記現在の第2シリアルデータに対応するブロックの第1シリアルデータを出力することを特徴とする付記1記載のデータ処理装置。
(付記3)1つのプロセッサからのデータ出力命令および外部からの割り込みによるデータ出力命令が出された順番にシリアルバスを経由してブロック単位で転送されるシリアル形式のデータを処理して出力するデータ出力処理部を有するデータ処理装置において、
前記シリアル形式のデータは、使用可能な情報が含まれる第1シリアルデータと、前記第1シリアルデータが登録されるべきバンクのアドレスを設定するための第2シリアルデータとを含み、前記データ出力処理部は、
前記プロセッサから転送される前記シリアル形式のデータの第2シリアルデータを一時的に保持する第2シリアルデータ保持手段と、
前記第2シリアルデータ保持手段に現在保持されている現在の第2シリアルデータの設定値と、その直前に前記第2シリアルデータ保持手段に保持されていた直前の第2シリアルデータの設定値とを比較する第2シリアルデータ比較手段とを具備し、
前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と同じであることが確認された場合、前記現在の第2シリアルデータは出力せず、前記現在の第2シリアルデータに対応するブロックの第1シリアルデータのみを出力するように構成されることを特徴とするデータ処理装置。
(付記4)前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と異なることが確認された場合、前記現在の第2シリアルデータ、および前記現在の第2シリアルデータに対応するブロックの第1シリアルデータを出力することを特徴とする付記3記載のデータ処理装置。
(付記5)少なくとも1つのプロセッサからのデータ出力命令が出された順番にシリアルバスを経由して転送されるシリアル形式のデータを処理して出力するためのデータ処理方法において、
前記シリアル形式のデータは、使用可能な情報が含まれる第1シリアルデータと、前記第1シリアルデータが登録されるべきバンクのアドレスを設定するための第2シリアルデータとを含み、前記データ処理方法は、
前記プロセッサから転送される前記シリアル形式のデータの第2シリアルデータを一時的に保持するステップと、
現在保持されている現在の第2シリアルデータの設定値と、その直前に保持されていた直前の第2シリアルデータの設定値とを比較するステップと、
前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と同じであることが確認された場合、前記現在の第2シリアルデータは出力せず、前記現在の第2シリアルデータに対応するブロックの第1シリアルデータのみを出力するステップとを有することを特徴とするデータ処理方法。
(付記6)前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と異なることが確認された場合、前記現在の第2シリアルデータ、および前記現在の第2シリアルデータに対応するブロックの第1シリアルデータを出力することを特徴とする付記5記載のデータ処理方法。
(付記7)少なくとも1つのプロセッサからデータ出力命令が出された順番にシリアルバスを経由してブロック単位で転送されるシリアル形式のデータが、使用可能な情報が含まれる第1シリアルデータと、前記第1シリアルデータが登録されるべきバンクのアドレスを設定するための第2シリアルデータとを含む場合、前記シリアル形式のデータを処理して出力するためのコンピュータに、
前記プロセッサから転送される前記シリアル形式のデータの第2シリアルデータを一時的に保持し、
現在保持されている現在の第2シリアルデータの設定値と、その直前に保持されていた直前の第2シリアルデータの設定値とを比較し、
前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と同じであることが確認された場合、前記現在の第2シリアルデータは出力せず、前記現在の第2シリアルデータに対応するブロックの第1シリアルデータのみを出力することを実行させるためのプログラムを記憶したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
(付記8)ディスクを回転可能に駆動するディスク駆動部と、前記ディスクの内周部の位置と外周部の位置との間を往復移動するようにヘッドを駆動するヘッド駆動部と、前記ヘッドを用いて前記ディスクの任意の位置に情報を書き込む動作、および、該任意の位置に書き込まれている情報を読み出す動作を含む各種の動作を制御する複数のプロセッサとを有するディスク装置において、
複数のプロセッサからのデータ出力命令が出された順番に共通のシリアルバスを経由してブロック単位で転送されるシリアル形式のデータを処理して出力するデータ出力処理部を備え、
前記シリアル形式のデータは、使用可能な情報が含まれる第1シリアルデータと、前記第1シリアルデータが登録されるべきバンクのアドレスを設定するための第2シリアルデータとを含み、前記データ出力処理部は、
前記複数のプロセッサから転送される前記シリアル形式のデータの第2シリアルデータを一時的に保持する第2シリアルデータ保持手段と、
前記第2シリアルデータ保持手段に現在保持されている現在の第2シリアルデータの設定値と、その直前に前記第2シリアルデータ保持手段に保持されていた直前の第2シリアルデータの設定値とを比較する第2シリアルデータ比較手段とを具備し、
前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と同じであることが確認された場合、前記現在の第2シリアルデータは出力せず、前記現在の第2シリアルデータに対応するブロックの第1シリアルデータのみを出力するように構成されることを特徴とするディスク装置。
(付記9)前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と異なることが確認された場合、前記現在の第2シリアルデータ、および前記現在の第2シリアルデータに対応するブロックの第1シリアルデータを出力することを特徴とする付記8記載のディスク装置。
(付記10)ディスクを回転可能に駆動するディスク駆動部と、前記ディスクの内周部の位置と外周部の位置との間を往復移動するようにヘッドを駆動するヘッド駆動部と、前記ヘッドを用いて前記ディスクの任意の位置にデータを書き込む動作、および、該任意の位置に書き込まれているデータを読み出す動作を含む各種の動作を制御する1つのプロセッサとを有するディスク装置において、
1つのプロセッサからのデータ出力命令および外部からの割り込みによるデータ出力命令が出された順番にシリアルバスを経由してブロック単位で転送されるシリアル形式のデータを処理して出力するデータ出力処理部を備え、
前記シリアル形式のデータは、使用可能な情報が含まれる第1シリアルデータと、前記第1シリアルデータが登録されるべきバンクのアドレスを設定するための第2シリアルデータとを含み、前記データ出力処理部は、
前記プロセッサから転送される前記シリアル形式のデータの第2シリアルデータを一時的に保持する第2シリアルデータ保持手段と、
前記第2シリアルデータ保持手段に現在保持されている現在の第2シリアルデータの設定値と、その直前に前記第2シリアルデータ保持手段に保持されていた直前の第2シリアルデータの設定値とを比較する第2シリアルデータ比較手段とを具備し、
前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と同じであることが確認された場合、前記現在の第2シリアルデータは出力せず、前記現在の第2シリアルデータに対応するブロックの第1シリアルデータのみを出力するように構成されることを特徴とするディスク装置。
(付記11)前記第2シリアルデータ比較手段によって、前記現在の第2シリアルデータの設定値が、前記直前の第2シリアルデータの設定値と異なることが確認された場合、前記現在の第2シリアルデータ、および前記現在の第2シリアルデータに対応するブロックの第1シリアルデータを出力することを特徴とする付記10記載のディスク装置。