【事件の表示】
　平成　９年特許願第３０４０３４号「再生装置，及びキャッシュ処理方法」拒絶査定不服審判事件〔平成１１年　５月２８日出願公開，特開平１１−１４３６４３〕について，次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１　手続きの経緯
　
　本願は，平成９年１１月６日の出願であって，平成１９年６月１３日付けで拒絶査定がなされ，これに対して同年７月１９日に拒絶査定不服審判が請求され，その後同年８月２０日付けで手続補正がなされたものである。
　
　
第２　平成１９年８月２０日付けの手続補正についての補正却下の決定
　
［補正却下の決定の結論］
　平成１９年８月２０日付けの手続補正（以下，「本件補正」という。）を却下する。
　
［補正却下の決定の理由］
（１）本件補正後の請求項１〜３
　本件補正により，少なくとも特許請求の範囲の請求項１〜３は，次のとおり補正された。なお，下線は本件補正により補正された箇所を示す。
　
「【請求項１】　記録媒体からデータを読み出す読出手段と，
　前記読出手段により読み出したデータを格納するキャッシュメモリ手段と，
　データ要求に応じて前記読出手段及び／又は前記キャッシュメモリ手段の動作を制御して，要求されたデータの前記キャッシュメモリ手段からの転送出力を実行させる再生制御手段とを備え，
　前記再生制御手段は，
キャッシュがヒットしたか否かと，
と
がシーケンシャルなデータ要求，２地点交互となるデータ要求，ランダムなデータ要求の何れの
か
　ことを特徴とする再生装置。
　　【請求項２】　前記再生制御手段は，
キャッシュがヒットした場合には，シーケンシャルなデータ要求と判断し，
　
キャッシュがヒットしなかった場合であって，
は
と判断し，
　
キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以下の場合には，
　ことを特徴とする請求項１に記載の再生装置。
　　【請求項３】　前記キャッシュメモリ手段は，少なくともデータ格納エリアが２分割され，
　前記再生制御手段は，
２地点交互となるデータ要求と判断した
　
（２）補正事項の検討  
　本件補正により補正された事項は，請求項２の「キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以下の場合には，２地点交互となるデータ要求と判断する」こと（以下，「補正事項ａ」という。），及び，請求項３の「２地点交互となるデータ要求と判断した場合にインクリメントされる第２のカウント値」（以下，「補正事項ｂ」という。）を含むから，本件補正の一部であり当該補正事項ａ及びｂを導入する補正が，本願の願書に最初に添付した明細書又は図面（以下，「当初明細書等」という。）に記載した事項の範囲内においてしたものであるか否かについて，以下検討する。
　
　当初明細書等には，「キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以下の場合」の処理，「２地点交互となるデータ要求と判断する」こと，「２地点交互となるデータ要求と判断した場合」の処理，「インクリメントされる第２のカウント値」について，主に下記（ア）〜（ウ）のような記載がある。
　
（ア）「データ要求としては，ホストコンピュータ側のアプリケーションの多様化等の事情により，シーケンシャルリードだけでなく，例えばディスク上で離れた２つの位置のデータセクターのデータを交互に転送要求するような２ポイントリードや，さらにディスク上で離れたデータセクターのデータを順次転送要求するランダムリードとしてのデータ要求も発生され，このような場合もアクセスタイムの短縮化が求められる傾向にある。」（段落【００１８】）
　
（イ）「このような再生装置において，ホストコンピュータからのリードコマンド発生した際の読出／バファリング／転送処理について説明していく。システムコントローラ１０は，リードコマンドに応じて，要求されたデータをホストコンピュータに転送すべく，必要な動作としてディスク９０からの読出及びデコード，キャッシュメモリ２０へのバファリング，転送，さらに状況に応じて続くデータのバファリング等を行うことになるが，特にバファリングに関する動作方式を決定するために，データ要求がどのような態様の要求であるかを判断する。具体的には，連続的なデータセクターを順次転送要求するようなシーケンシャルリードであるか，ディスク９０の２つの離れた地点での各データを交互に要求するような２ポイントリードであるか，もしくは全くランダムな地点のデータを順次要求するランダムリードであるかを判断する。」（段落【００３４】）
　
（ウ）「【００４０】例えば初期状態，つまりキャッシュメモリ２０に何もバファリングされていない状態において，ホストコンピュータからデータ転送要求が発生した場合は，当然ながらキャッシュヒット転送はあり得ない。図２のステップＦ１０１，Ｆ１０２ではキャッシュメモリ２０の２つのセグメントＳＧ１，ＳＧ２でのヒット有無を判断しているが，初期状態においてはこれらは否定結果が得られ，ステップＦ１１１で内部カウンタとしてのカウント値Ｃ１をインクリメントする。カウント値Ｃ１とはランダムリードの判断を行うためのカウンタであり，このカウント値Ｃ１が特定の値Ｃｔｈに達するまでは，ステップＦ１１２からＦ１１４に進む。
【００４１】ステップＦ１１４では内部カウンタとしてのカウント値Ｃ２のインクリメントを行う。カウント値Ｃ２は，キャッシュメモリ２０をセグメントバッファとして用いる際の２つのセグメントＳＧ１，ＳＧ２のうちで，バファリングを行っていくセグメントを選択するための変数となる。即ちステップＦ１１５において，カウント値Ｃ２が例えば奇数である場合はステップＦ１１６で，キャッシュメモリ２０内のセグメントＳＧ１が用いられてバファリング及び転送要求に応じた転送動作が行われ，一方，カウント値Ｃ２が偶数である場合はステップＦ１１７で，キャッシュメモリ２０内のセグメントＳＧ２が用いられてバファリング及び転送要求に応じた転送動作が行われるように設定される。
【００４２】つまり，データ転送要求時にキャッシュヒットしておらず，しかもランダムリードと判断されていない時点においては，キャッシュメモリ２０が２つの領域に分割されて設定されるセグメントＳＧ１，ＳＧ２が交互に用いられることになる。ステップＦ１１６もしくはＦ１１７でのバファリングは，セグメントＳＧ１もしくはＳＧ２が一杯になるか，もしくは次のデータ転送要求が発生するまで行われる。但し次のデータ転送要求がキャッシュヒット転送のみで完了できた場合はバファリングがそのまま継続される場合もある。
【００４３】一方，このようにセグメントＳＧ１，ＳＧ２のが用いられてバファリングが行われた後において，ホストコンピュータからデータ転送要求があった場合は，その転送要求されたデータがセグメントＳＧ１に格納されているデータとして存在し，即ちセグメントＳＧ１においてキャッシュヒットする場合があり，または同じくセグメントＳＧ２においてキャッシュヒットする場合もある。
【００４４】セグメントＳＧ１にキャッシュヒットした場合は，処理はステップＦ１０１からＦ１０３に進み，カウント値Ｃ１をクリアする。そしてステップＦ１０４で，その前回のデータ転送要求にかかるデータがセグメントＳＧ１からの転送によってホストコンピュータ側に出力されていたか否かを判断する。ここで，前回のデータ要求がセグメントＳＧ１からの転送により出力されていた場合とは，ホストコンピュータが連続して，ディスク上の連続するセクター（もしくは多少不連続であってもバファリングによりカバーできる範囲のセクター）を転送要求してきた場合であり，つまりホストコンピュータがシーケンシャルリードとしてのデータ要求を行ってきた場合と判断できる。
【００４５】そこで，その場合はステップＦ１０５に進み，キャッシュヒット転送を行うとともに，要求されているデータのうちでキャッシュヒット転送できなかった部分があれば，そのデータ読出／バファリング／転送を行い，さらにその後もシーケンシャルリードが行われる可能性が高いと判断して，要求された区間以降のセクターについても引き続きバファリングを行っていく。しかもこのときのバファリングは，セグメントＳＧ１，ＳＧ２の区分をなくし，つまり要求されたデータの先頭のデータセクターを格納したエリアを始点として，キャッシュメモリ２０全体をリングメモリ形態に使用して実行していくことになる（キャッシュメモリ２０の全領域をセグメントＳＧ１とする）。換言すれば，この時点で，それまでセグメントＳＧ２として確保されていたデータは無効とされ，そのエリアは今回のバファリングに用いられる。従って，その次のデータ転送要求が同じくシーケンシャルリードであった場合は，キャッシュヒット転送できる確率は高くなる（その場合も処理はステップＦ１０５に進み，引き続きキャッシュメモリ２０は１つのリングメモリ形態でバファリングされていく）。この先読みバファリングはキャッシュメモリ２０が一杯になるか，もしくは次のデータ転送要求が発生するまで行われる。但し次のデータ転送要求がキャッシュヒット転送のみで完了できた場合はバファリングがそのまま継続される場合もある。
【００４６】ステップＦ１０４で否定結果が得られる場合は，シーケンシャルリードとはいえないが，例えばこのときセグメントＳＧ１でヒットしたデータは，前々回のデータ転送要求に関してバッファリングされたデータと考えられるため，２ポイントリードと判断してよい。そこでステップＦ１０６に進み，キャッシュヒット転送を行うとともに，要求されているデータのうちでキャッシュヒット転送できなかった部分があれば，そのデータ読出／バファリング／転送を行い，さらにその後も２ポイントリードもしくはシーケンシャルリードが行われる可能性を考えて，要求された区間以降のセクターについても引き続きバファリングを行っていく。ただしこのときのバファリングは，セグメントＳＧ２のデータについてはそのまま有効データとして残しておき，つまりセグメントＳＧ１，ＳＧ２の区分を残したまま，セグメントＳＧ１における要求されたデータの先頭のデータセクターを格納したエリアを始点としてセグメントＳＧ１内で実行していくことになる。なお，このバファリングはセグメントＳＧ１内が一杯になるか，もしくは次のデータ転送要求が発生するまで行われる。但し次のデータ転送要求がキャッシュヒット転送のみで完了できた場合はバファリングがそのまま継続される場合もある。また，セグメントＳＧ２内で無効なデータ存在する場合などは，セグメントの区分点を変更する（例えばセグメントＳＧ１がセグメントＳＧ２の一部に食い込んでいくように拡張する）場合もある。
【００４７】２ポイントリードと考えられる場合は，次のデータ転送要求では他方のセグメントＳＧ２でキャッシュヒットする可能性が高い。このため，このようにセグメントＳＧ２のデータを有効として残しておくことで，次のデータ転送要求時にキャッシュヒット転送できる確率を高くすることができる。
【００４８】ホストコンピュータからデータ転送要求があった場合に，セグメントＳＧ２においてキャッシュヒットしたときは，処理はステップＦ１０２からＦ１０７に進み，カウント値Ｃ１をクリアする。そしてステップＦ１０８で，その前回のデータ転送要求にかかるデータがセグメントＳＧ２からの転送によってホストコンピュータ側に出力されていたか否かを判断する。
【００４９】ここで，前回のデータ要求がセグメントＳＧ２からの転送により出力されていた場合とは，上述したステップＦ１０４での判断の場合と同様に，ホストコンピュータがシーケンシャルリードとしてのデータ要求を行ってきた場合と判断できる。そこで，その場合はステップＦ１０９に進み，キャッシュヒット転送を行うとともに，要求されているデータのうちでキャッシュヒット転送できなかった部分があれば，そのデータ読出／バファリング／転送を行い，さらにその後もシーケンシャルリードが行われる可能性が高いと判断して，要求された区間以降のセクターについても引き続きバファリングを行っていく。しかもこのときのバファリングは，セグメントＳＧ１，ＳＧ２の区分をなくし，つまり要求されたデータの先頭のデータセクターを格納したエリアを始点として，キャッシュメモリ２０全体をリングメモリ形態に使用して実行していくことになる（キャッシュメモリ２０の全領域をセグメントＳＧ２とする）。換言すれば，この時点で，それまでセグメントＳＧ１として確保されていたデータは無効とされ，そのエリアは今回のバファリングに用いられる。従って，その次のデータ転送要求が同じくシーケンシャルリードであった場合は，キャッシュヒット転送できる確率は高くなる（その場合も処理はステップＦ１０９に進み，引き続きキャッシュメモリ２０は１つのリングメモリ形態でバファリングされていく）。この先読みバファリングはキャッシュメモリ２０が一杯になるか，もしくは次のデータ転送要求が発生するまで行われる。但し次のデータ転送要求がキャッシュヒット転送のみで完了できた場合はバファリングがそのまま継続される場合もある。
【００５０】ステップＦ１０８で否定結果が得られる場合は，シーケンシャルリードとはいえないが，今回セグメントＳＧ２でヒットしたデータは，例えば前々回のデータ転送要求に関してバッファリングされたデータと考えられるため，２ポイントリードと判断してよい。そこでステップＦ１１０に進み，キャッシュヒット転送を行うとともに，要求されているデータのうちでキャッシュヒット転送できなかった部分があれば，そのデータ読出／バファリング／転送を行い，さらにその後も２ポイントリードもしくはシーケンシャルリードが行われる可能性を考えて，要求された区間以降のセクターについても引き続きバファリングを行っていく。ただしこのときのバファリングは，セグメントＳＧ１のデータについてはそのまま有効データとして残しておき，つまりセグメントＳＧ１，ＳＧ２の区分を残したまま，セグメントＳＧ２における要求されたデータの先頭のデータセクターを格納したエリアを始点としてセグメントＳＧ１内で実行していくことになる。このバファリングはセグメントＳＧ２内が一杯になるか，もしくは次のデータ転送要求が発生するまで行われる。但し次のデータ転送要求がキャッシュヒット転送のみで完了できた場合はバファリングがそのまま継続される場合もある。またセグメントＳＧ１内で無効なデータ存在する場合などは，セグメントの区分点を変更する（例えばセグメントＳＧ２がセグメントＳＧ１の一部に食い込んでいくように拡張する）場合もある。
【００５１】２ポイントリードと考えられる場合は，次のデータ転送要求では他方のセグメントＳＧ１でキャッシュヒットする可能性が高い。このため，このようにセグメントＳＧ１のデータを有効として残しておくことで，次のデータ転送要求時にキャッシュヒット転送できる確率を高くすることができる。
【００５２】ところで，データ転送要求が発生しても何回か連続してキャッシュヒットしなかった場合は，その度にステップＦ１１１でカウント値Ｃ１のインクリメントが行われ，しかもステップＦ１０３又はＦ１０７でカウント値Ｃ１がクリアされないため，ある時点でステップＦ１１２でカウント値Ｃ１が特定値Ｃｔｈに達したと判断される。つまりこの場合は，連続したデータ転送要求がそれぞれディスク上の異なる地点のデータセクターを要求してきた場合であり，ランダムリードとして判断してよい。これは，それまで何度かセグメントＳＧ１，ＳＧ２を交互に使用してバファリングを行ってきたが，結局２ポイントリードでなかったために，セグメント分割して行ったバファリングによる効果（即ちキャッシュヒット転送）が得られなかった場合である。
【００５３】このようにランダムリードと判断された場合は，ステップＦ１１３に進み，ランダムリードに対応するバファリングを行うことになる。図２では特に詳しく示していないが，ランダムリードとしてのバファリングとしては，まず，ランダムリードと判断された最初の時点（つまりカウント値Ｃ１＝ＣｔｈでステップＦ１１３に進んだ場合）では，それまでセグメントＳＧ１，ＳＧ２としてバファリングされているデータ，もしくはリングメモリ形態で用いられてバファリングされているデータを，一旦全てパージする。そして，新たにキャッシュメモリ２０の例えば最初のエリアから転送要求されたデータにかかるバファリングを行っていく。このバファリングは，次のデータ転送要求が発生するか，予め設定された所定量の先読みバファリングが完了するまで行われる。
【００５４】次に発生したデータ転送要求がキャッシュヒットしなければ，引き続きランダムリードと判断されてステップＦ１１３に進むが（カウント値Ｃ１＞ＣｔｈでステップＦ１１３に進んだ場合），そのように連続的にランダムリードと判断される２回目以降は，その時点でキャッシュメモリ２０内に確保されているデータをパージせず，その部分を１つのセグメントとして分割した上で，続くエリアから今回の転送要求されたデータにかかるバファリングを行っていく。このバファリングも，次のデータ転送要求が発生するか，予め設定された所定量の先読みバファリングが完了するまで行われる。
【００５５】つまりランダムリードが連続する場合は，それ以前のランダムリードの際のバファリングデータを，それぞれ１つのセグメントとして残しておいてバファリングを行う。従ってランダムリードが連続して発生するたびに，セグメント分割数が増えていく。但し，キャッシュメモリ２０の容量と，実行されるバファリングデータ量により，もちろんセグメント分割数限界はあるため，多数回ランダムリードが行われて，キャッシュメモリ２０が多数のセグメントで一杯になった場合は，一番古いセグメントが無効化されて，新たなランダムリードにかかるバファリングが行われるようにすればよい。
【００５６】このようにランダムリードの場合でも，できるだけバファリングしたデータを有効データとして残しておくことで，その後キャッシュヒットされる可能性を残しておくことができる。例えばその後のデータ転送要求の際にあるセグメントにヒットした場合は，そのヒットしたデータを基準にしてセグメントＳＧ１を設定し（例えばそのセグメントを拡張してバファリングしていってセグメントＳＧ１とし，残りをセグメントＳＧ２とする），ステップＦ１０１〜Ｆ１０６の処理で，その後の２ポイントリードもしくはシーケンシャルリードに対応できるようにすればよい。つまりそれ以降に２ポイントリードもしくはシーケンシャルリードが発生した場合に，上述した方式でのバファリングにより，キャッシュヒット転送できる可能性を高くする。」（段落【００４０】〜【００５６】） 
　
　また，請求人は，平成１９年８月２０日付けで手続補正がなされた審判請求書の「【本願発明が特許されるべき理由】　２．補正の根拠の明示」において，「同日付手続補正における…請求項２における「前記再生制御手段は，キャッシュがヒットした場合には，シーケンシャルなデータ要求と判断し，キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以上となった場合には，ランダムなデータ要求と判断し，キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以下の場合には，２地点交互となるデータ要求と判断する」の補正事項，請求項３における「前記再生制御手段は，２地点交互となるデータ要求と判断した場合にインクリメントされる第２のカウント値を保持し」の補正事項，…は，出願願当初の明細書段落００４０〜００５６，図２の記載に基づくものである。」と主張している。
　
　そこで，補正事項ａ，すなわち「キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以下の場合には，２地点交互となるデータ要求と判断する」こと，について検討すると，請求人が補正の根拠であると主張する明細書の段落【００４０】〜【００５６】及び【図２】にも，当初明細書等の他の部分にも，補正事項ａは記載されていない。
　すなわち，当初明細書等の記載を参照すると，前記（ア），（イ）の記載から，請求項２に記載された「シーケンシャルなデータ要求」，「ランダムなデータ要求」，「２地点交互となるデータ要求」は，データ要求がなされたディスク上のセクタの位置により分類されることが明らかであり，また，前記（ウ）の段落【００４０】〜【００４２】には，「キャッシュがヒットしなかった場合であって，前記第１のカウント値がある値以下の場合」には，キャッシュメモリのセグメントＳＧ１，ＳＧ２（ディスク上のセクタではない）が交互に用いられることが記載されており，さらに前記（ウ）の段落【００４４】，【００４６】，【００４８】，【００５０】には，ＳＧ１とＳＧ２の一方のセグメントにキャッシュヒットした場合であって，かつ，その前回のデータ転送要求にかかるデータが他方のセグメントからの転送によって出力されていた場合に，２ポイントリード，すなわち「２地点交互となるデータ要求」と判断することが記載されているものの，補正事項ａのように判断することは記載されておらず，また，当初明細書等に記載した事項から自明でもない。
　
　次に，補正事項ｂ，すなわち「２地点交互となるデータ要求と判断した場合にインクリメントされる第２のカウント値」，について検討すると，請求人が補正の根拠であると主張する明細書の段落【００４０】〜【００５６】及び【図２】にも，また当初明細書等の他の部分にも，補正事項ｂは記載されていない。
　すなわち，当初明細書等の記載を参照すると，前記（ウ）の段落【００４６】，【００５０】には，２ポイントリードと判断した場合に，キャッシュヒット転送，要求されているデータのうちでキャッシュヒット転送できなかった部分のデータ読出／バファリング／転送，要求された区間以降のセクターについてのバファリング，を行うことが記載されており，また前記（ウ）の段落【００４０】〜【００４１】には，セグメントＳＧ１，ＳＧ２のいずれもキャッシュヒットせず，かつ，カウント値Ｃ１が特定の値Ｃｔｈに達していない場合に，カウント値Ｃ２のインクリメントを行うことが記載されているものの，補正事項ｂに相当する記載はなく，また，当初明細書等に記載した事項から自明でもない。
　
　このように，本件補正によって補正された事項に含まれる補正事項ａ及びｂは，いずれも，当初明細書等に記載した事項でなく，また当初明細書等に記載した事項から自明な事項でもない。そして，本件補正の一部であり補正事項ａ及びｂを導入する補正は，当初明細書等のすべての記載を総合することにより導かれる技術的事項との関係において，新たな技術的事項を導入しないものでない。
　 
　したがって，本件補正は，願書に最初に添付した明細書又は図面に記載した事項の範囲内においてしたものでないから，特許法第１７条の２第３項に規定する要件を満たしていない。 
　 
（３）まとめ
　以上のとおり，本件補正は，特許法第１７条の２第３項の規定に違反するので，同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。  
　 
　 
第３　本願発明
　
　本件補正は上記のとおり却下されたので，本願の請求項９に係る発明（以下，「本願発明」という。）は，平成１８年８月２１日付け手続補正書の特許請求の範囲の請求項９に記載された事項により特定される，次のとおりのものである。
　
「供給されたデータ要求の要求態様がシーケンシャルなデータ要求であるか否かを判別し，シーケンシャルなデータ要求と判別した場合は，キャッシュメモリを１つのリングメモリ形態としてデータ格納動作を行ない，一方，シーケンシャルなデータ要求ではないと判別した場合は，キャッシュメモリを複数のメモリ領域を分割設定して，或るメモリ領域に対してデータ格納動作を行なうようにすることを特徴とするキャッシュ処理方法。」
　
　
第４　刊行物に記載された発明
　
　原査定の拒絶の理由において引用された，本願出願日前に頒布された特開平５−２８９８２４号公報（平成５年１１月５日公開。以下「刊行物」という。）には，図面とともに以下の事項（エ）〜（ク）が記載されている。
　
（エ）「【請求項１】ディスク装置内に存在し，ディスクへの入出力データが一時格納され，シーケンシャルアクセスで使用する領域と，ランダムアクセスで使用する領域に分けて管理されるキャッシュメモリの制御において，前記シーケンシャルアクセスと前記ランダムアクセスの頻度に応じて，前記シーケンシャルアクセスで使用する領域の記憶容量と前記ランダムアクセスで使用する領域の記憶容量の割り合いを，動的に変更することを特徴とするディスク装置に内蔵されるキャッシュメモリの制御方式。
【請求項２】請求項１において，前記シーケンシャルアクセスで使用する領域の記憶容量と前記ランダムアクセスで使用する記憶容量の割り合いの変更を，上位処理装置からディスク装置へのアクセスごとに行うディスク装置に内蔵されるキャッシュメモリの制御方式。
【請求項３】請求項１または２において，前記ディスク装置でランダムアクセスが連続したトラックに対して行なわれていることを検出することにより，シーケンシャルアクセスと判断する手段を設けたディスク装置に内蔵されるキャッシュメモリの制御方式。」（【特許請求の範囲】）
　
（オ）「【課題を解決するための手段】上記課題を解決するために，本発明では，（１）磁気ディスク装置に内蔵されるキャッシュメモリにおいて，ランダムアクセス用領域とシーケンシャルアクセス用領域のメモリ容量の割合を可変とした。すなわち，初期状態では，キャッシュメモリの全領域をランダムアクセス用領域に割り付けておき，上位制御装置からシーケンシャルアクセスを指示された場合か，ディスク装置がシーケンシャルアクセスを検出した場合，ランダムアクセス用領域から，順次，シーケンシャルアクセス領域に割り付けを移すようにした。また，（２）上位制御装置がシーケンシャルアクセスを指示できない場合，磁気ディスク装置でシーケンシャルアクセスを検出し，シーケンシャルアクセス領域を割り付けるようにした。
【０００７】
【作用】以上に説明した手段によれば，ランダムアクセスの頻度の方が高くなると，磁気ディスク装置に内蔵されるキャッシュメモリは，ランダムアクセス用として使用される領域の方が多くなり，逆に，シーケンシャルアクセスの頻度の方が高くなると，シーケンシャルアクセス用として使用される領域の方が多くなる。この結果，ディスク装置に内蔵されるキャッシュメモリの使用効率を上げることができる。
【０００８】また，上位制御装置からシーケンシャルアクセスの指示を与えることができない場合にも，ディスク装置でシーケンシャルアクセスを検出できるので，キャッシュメモリを効率良く使用することができる。
【０００９】
【実施例】図１は本発明による方式により制御されるキャッシュメモリを含む磁気ディスク装置のブロック図である。図１において，１は情報が記録されている磁気ディスク，２は磁気ディスク１の情報の書き込み／読みだしを行う書き込み／読みだし回路，３は書き込み／読みだし回路２が磁気ディスク１から読みだした情報を蓄えるキャッシュメモリ，４はキャッシュメモリ３に蓄えられた情報を上位処理装置に転送する入出力回路，５は本発明による方式によりキャッシュメモリ３の制御を行うマイクロプロセッサ，６は上位処理装置である。
【００１０】図２にキャッシュメモリ３の説明図を示す。図２において，キャッシュメモリ３は，磁気ディスク１のトラックの情報を複数トラック分蓄えることができる容量を持っている。キャッシュメモリ３は，磁気ディスク１の１トラック分の情報を蓄えることができるトラックスロットに分割して制御される。各トラックスロットは，上位処理装置６からのランダム入出力要求時に使用するランダムアクセス用トラックスロットか，シーケンシャル入出力要求時に使用するシーケンシャルアクセス用トラックスロットとして制御される。
【００１１】ランダム入出力要求に対する処理は，磁気ディスク１から，要求されたトラックの情報のみをキャッシュメモリ３に蓄える処理を行う。シーケンシャル入出力要求に対する処理は，磁気ディスク１から，要求されたトラックと同一のシリンダにあるトラックを，要求されたトラックからシリンダ内の最終トラックまで順次キャッシュメモリに蓄える処理を行う。
【００１２】ランダムアクセス用トラックスロットの数とシーケンシャルアクセス用トラックスロットの数は固定されたものではなく，上位処理装置６からのシーケンシャル入出力要求の頻度によって変化する。つまり，シーケンシャル入出力要求が少ない場合はランダムアクセス用トラックスロットの数が多くなるように制御され，シーケンシャル入出力要求が多い場合はシーケンシャルアクセス用トラックスロットの数が多くなるように制御される。
【００１３】この制御は，マイクロプロセッサ５によりキャッシュメモリ３を制御することにより実現され，図３に示すトラックスロット制御フラグによりキャッシュメモリを制御する。
【００１４】図３にマイクロプロセッサ５がキャッシュメモリ３のトラックスロットを制御するために使用するトラックスロット制御フラグの構造を示す。トラックスロット制御フラグはリスト構造になっており，図３（ａ）はランダムアクセス用トラックスロット制御フラグリスト，図３（ｂ）はシーケンシャルアクセス用トラックスロット制御フラグリストを示す。
【００１５】ランダムアクセス用トラックスロットは双方向ポインタリストであって，制御フラグリストの各トラックスロット制御フラグ１０−１〜１０−４はキャッシュメモリ３のトラックスロットと１対１に対応しており，次のトラックスロット制御フラグを指し示す前方ポインタ１５−１〜１５−４，前のトラックスロット制御フラグを指し示す後方ポインタ１６−１〜１６−４，トラックスロット制御フラグに対応するトラックスロットのアドレス１７−１〜１７−４を持っている。
【００１６】一方，図３（ｂ）に示すシーケンシャルアクセス用トラックスロット制御フラグリストは，単方向ポインタリストであり，後方ポインタを持たないところがランダムアクセス用トラックスロット制御フラグと異なる。」（段落【０００６】〜【００１６】）
　
（カ）「【００１８】トラックスロットは，上位処理装置６からのシーケンシャル入出力要求の頻度によって，ランダムアクセス用トラックスロットかシーケンシャルアクセス用トラックスロットに切り替えて使用される。このため，トラックスロット制御フラグは，対応するトラックスロットがランダムアクセス用トラックスロットとして使用される場合にはランダムアクセス用トラックスロット制御フラグリストにつながれ，シーケンシャルアクセス用トラックスロットとして使用される場合にはシーケンシャルアクセス用トラックスロット制御フラグリストにつながれる。この制御は各トラックスロット制御フラグのポインタの値を変更することによって実現できる。
【００１９】次にランダムアクセス時における，トラックスロットの制御について詳細に説明する。図３（ａ）に示すようにランダムアクセス用トラックスロット制御フラグリストは，トップアンカ１１−１から始まり，最も新しく情報を蓄えたトラックスロットに対応するトラックスロット制御フラグ１０−１から最も古く情報を蓄えたトラックスロットに対応するトラックスロット制御フラグ１０−４の順につながれている。キャッシュメモリ３に，上位処理装置６からのランダム入出力要求に対応するトラックの情報を蓄えているトラックスロットが存在しない場合は，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカ１２が指し示す位置にあるトラックスロット制御フラグをトップアンカ１１−１が指し示す位置につなぎ替え，トラックスロット制御フラグに対応するトラックスロットに，入出力要求に対応するトラックの情報が蓄えられる。
【００２０】キャッシュメモリ３に上位処理装置６からのランダム入出力要求に対応するトラックの情報を蓄えているトラックスロットが存在する場合は，このトラックスロットに対応するトラックスロット制御フラグをトップアンカ１１−１の指し示す位置につなぎ替え，トラックスロットに蓄えられている情報を上位処理装置６に転送する。」（段落【００１８】〜【００２０】）
　
（キ）「【００２４】シーケンシャルアクセス時におけるトラックスロット制御について詳細に説明する。図５にシーケンシャルアクセス用トラックスロット制御フラグリストの初期状態を示す。図５（ｂ）に示すように，初期状態ではシーケンシャルアクセス用トラックスロット制御フラグリストには，通常，トラックスロット制御フラグがつながれていない。すなわち，シーケンシャルアクセス用トラックスロットは割り付けられていない。シーケンシャルアクセス用トラックスロット制御フラグリストにトラックスロット制御フラグがつながれるのは，上位処理装置６からのシーケンシャル入出力要求があったときか，マイクロプロセッサ５がランダム入出力要求が連続したトラックに対して行われていると判断したときである。
【００２５】すなわち，上位処理装置６からシーケンシャル入出力要求があった時，キャッシュメモリ３に上位処理装置６からのシーケンシャル入出力要求に対応するトラックの情報を蓄えているトラックスロットが存在しない場合は，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカ１２が指し示す位置にあるトラックスロット制御フラグをシーケンシャルアクセス用トラックスロット制御フラグリストにつなぎ替え，その制御フラグに対応するトラックスロットにシーケンシャル入出力が要求するトラックの情報を蓄える。キャッシュメモリ３に上位処理装置６からのシーケンシャル入出力要求に対応するトラックの情報を蓄えているトラックスロットが既に存在する場合は，そのトラックスロットに対応するトラックスロット制御フラグをランダムアクセス用トラックスロット制御フラグリストからシーケンシャルアクセス用トラックスロット制御フラグリストにつなぎ替え，トラックスロットに蓄えられている情報を上位処理装置６に転送する。
【００２６】次に上位処理装置６からのランダム入出力要求に対応するトラックの前のトラックの情報がランダムアクセス用トラックスロットに蓄えられている場合は，マイクロプロセッサ５は，ランダム入出力要求が連続したトラックに対して行われているものと判断する。ランダム入出力に対応するトラックの情報を蓄えているトラックスロットが存在しない場合は，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカ１２が指し示す位置にあるトラックスロット制御フラグをシーケンシャルトラックスロット制御フラグリストにつなぎ替え，トラックスロット制御フラグに対応するトラックスロットにランダム入出力要求に対応するトラックの情報を蓄える。一方，ランダム入出力要求に対応するトラックの情報を蓄えているトラックスロットが既に存在する場合は，このトラックスロットに対応するトラックスロット制御フラグをランダムアクセス用トラックスロット制御フラグリストからシーケンシャルアクセス用トラックスロット制御フラグリストにつなぎ替え，トラックスロットに蓄えられている情報を上位処理装置６に転送する。
【００２７】１トラックの情報がシーケンシャルトラックスロットに蓄えられたときに，シーケンシャルアクセス用トラックスロットで，蓄えていた情報の上位処理装置６への転送が終了しているトラックスロットが存在する場合は，そのトラックスロットに次のトラックの情報が蓄えられる。シーケンシャルアクセス用トラックスロットで，蓄えられていた情報の上位処理装置６への転送が終了しているトラックスロットが存在しない場合は，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカ１２が指し示す位置にあるトラックスロット制御フラグをシーケンシャルトラックスロット制御フラグリストにつなぎ替え，このトラックスロット制御フラグに対応するトラックスロットに，次のトラックの情報を蓄える。ただし，シーケンシャル用トラックスロット制御フラグリストにつながれるトラックスロット制御フラグの数は，あらかじめ定められた値に制限される。
【００２８】図６にシーケンシャルアクセス用トラックスロット制御フラグリストの終了状態を示す。シーケンシャル入出力によって要求されたトラックと同一のシリンダの最終トラックまでの情報を上位処理装置６に転送終了したときか，上位処理装置６からシーケンシャル入出力を中止することが要求された場合にシーケンシャル入出力は終了する。すなわち，シーケンシャルアクセス用トラックスロット制御フラグは，対応するトラックスロットに蓄えられている情報の上位処理装置６への転送を終了したときに，シリンダ内の最終トラックまでの情報が既に他のトラックスロットに蓄えられていて，次に情報を蓄えるトラックが存在しない場合は，シーケンシャルアクセス用トラックスロット制御フラグリストからランダムアクセス用トラックスロット制御フラグリストのボトムアンカ１２が指し示す位置につなぎ替えられる。そしてシーケンシャルアクセス用トラックスロット制御フラグリストにつながっているトラックスロット制御フラグがなくなったときに，シーケンシャル入出力を終了する。
【００２９】また，上位処理装置６からシーケンシャル入出力の中止が要求された場合は，シーケンシャルアクセス用トラックスロットで，蓄えていた情報の，上位装置６への転送を終了しているトラックスロットに対応するトラックスロット制御フラグは，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカ１２の指し示す位置につなぎ替えられ，蓄えている情報の，上位装置６への転送を，まだ終了していないトラックスロットに対応するトラックスロット制御フラグは，ランダムアクセス用トラックスロットの制御フラグリストのトップアンカ１１−１の指し示す位置につなぎ替えられ，シーケンシャル入出力を終了する。」（段落【００２４】〜【００２９】）
　
（ク）「次に，図７にシーケンシャルアクセス用トラックスロット制御フラグリストが複数存在する場合を示す。シーケンシャルアクセス用トラックスロット制御フラグリストが複数存在することによって，上位処理装置６からの複数のシーケンシャル入出力要求に対応することができる。図７（ｂ)，(ｃ）に示すように，二つのシーケンシャルアクセス用トラックスロット制御フラグリストが存在し，このとき，キャッシュメモリ３のトラックスロット割り付けは図９に示すように，トラックスロット＃１〜＃２がランダムアクセス用領域へ，トラックスロット＃３〜＃６がシーケンシャルアクセス領域１へ，トラックスロット＃６〜＃８がシーケンシャルアクセス領域２へ割り付けられる。
【００３１】シーケンシャルアクセス用トラックスロット制御フラグリストの数の制限値と一つのシーケンシャルアクセス用トラックスロット制御フラグリストにつながれるトラックスロット制御フラグの数の制限値は，シーケンシャル入出力要求の頻度や，１シーケンシャル入出力当りの連続度によって変更する。」（段落【００３０】〜【００３１】）
　
　
　これらの記載によると，刊行物には次の発明（以下「刊行物記載発明」という。）が記載されている。
　
「ディスク装置に内蔵されるキャッシュメモリの制御方式であって，
キャッシュメモリは，磁気ディスクのトラックの情報を複数トラック分蓄えることができる容量を持ち，磁気ディスクの１トラック分の情報を蓄えることができるトラックスロットに分割して制御され，
各トラックスロットは，上位処理装置からのランダム入出力要求時に使用するランダムアクセス用トラックスロットか，シーケンシャル入出力要求時に使用するシーケンシャルアクセス用トラックスロットとして制御され，
ランダムアクセス用トラックスロットの数とシーケンシャルアクセス用トラックスロットの数は固定されたものではなく，シーケンシャル入出力要求が多い場合はシーケンシャルアクセス用トラックスロットの数が多くなるように制御され，
ランダム入出力要求に対する処理は，磁気ディスクから，要求されたトラックの情報のみをキャッシュメモリに蓄える処理を行うものであり，
シーケンシャル入出力要求に対する処理は，磁気ディスクから，要求されたトラックと同一のシリンダにあるトラックを，要求されたトラックからシリンダ内の最終トラックまで順次キャッシュメモリに蓄える処理を行うものであり，
ディスク装置は，ランダムアクセスが連続したトラックに対して行なわれていることを検出することにより，シーケンシャルアクセスと判断する手段であるマイクロプロセッサを備え，上位処理装置からシーケンシャルアクセスの指示を与えることができない場合にも，ディスク装置でシーケンシャルアクセスを検出でき，
上位処理装置からのランダム入出力要求に対応するトラックの前のトラックの情報がランダムアクセス用トラックスロットに蓄えられている場合は，マイクロプロセッサは，ランダム入出力要求が連続したトラックに対して行われているものと判断し，
ランダム入出力に対応するトラックの情報を蓄えているトラックスロットが存在しない場合は，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカが指し示す位置にあるトラックスロット制御フラグをシーケンシャルトラックスロット制御フラグリストにつなぎ替え，トラックスロット制御フラグに対応するトラックスロットにランダム入出力要求に対応するトラックの情報を蓄える一方，
ランダム入出力要求に対応するトラックの情報を蓄えているトラックスロットが既に存在する場合は，このトラックスロットに対応するトラックスロット制御フラグをランダムアクセス用トラックスロット制御フラグリストからシーケンシャルアクセス用トラックスロット制御フラグリストにつなぎ替え，トラックスロットに蓄えられている情報を上位処理装置に転送し，
１トラックの情報がシーケンシャルトラックスロットに蓄えられたときに，
シーケンシャルアクセス用トラックスロットで，蓄えていた情報の上位処理装置への転送が終了しているトラックスロットが存在する場合は，そのトラックスロットに次のトラックの情報が蓄えられ，
シーケンシャルアクセス用トラックスロットで，蓄えられていた情報の上位処理装置への転送が終了しているトラックスロットが存在しない場合は，ランダムアクセス用トラックスロット制御フラグリストのボトムアンカが指し示す位置にあるトラックスロット制御フラグをシーケンシャルトラックスロット制御フラグリストにつなぎ替え，このトラックスロット制御フラグに対応するトラックスロットに，次のトラックの情報を蓄え，
ただし，シーケンシャル用トラックスロット制御フラグリストにつながれるトラックスロット制御フラグの数は，あらかじめ定められた値に制限されており，
シーケンシャルアクセス用トラックスロット制御フラグリストの数の制限値は，シーケンシャル入出力要求の頻度や，１シーケンシャル入出力当りの連続度によって変更される，
制御方式。」
　
　
第５　対比
　
　本願発明と，刊行物記載発明とを対比する。
　
　刊行物記載発明の「ランダムアクセス」は，「ランダム入出力要求」と実質的に同義であり上位処理装置から供給されたデータ要求を含むことは明らかであるから，刊行物記載発明において「ランダムアクセスが連続したトラックに対して行なわれていることを検出することにより，シーケンシャルアクセスと判断する」ことは，本願発明において「供給されたデータ要求の要求態様がシーケンシャルなデータ要求であるか否かを判別」することに相当する。
　
　刊行物記載発明の「キャッシュメモリ」は，本願発明の「キャッシュメモリ」に相当し，また，刊行物記載発明のキャッシュメモリは，複数トラック分の情報を蓄えることができる容量を持ち，１トラック分の情報を蓄えることができるトラックスロットに分割して制御されるから，刊行物記載発明の「トラックスロット」は，本願発明における，キャッシュメモリを「複数のメモリ領域を分割設定し」た「或るメモリ領域」に相当するといえる。
　
　本願発明の「データ格納動作」について，本願発明には格納するデータを何とするか特定する記載がないので，本願明細書の発明の詳細な説明の記載を参酌すると，段落【００３６】には，「シーケンシャルリードの場合は，キャッシュメモリ２０を１つのリングメモリとして用い，転送要求された必要なデータのバファリング，及びそのデータに続くデータの先読みとしてのバファリングを行う。」と記載されており，また段落【００４４】〜【００４５】には，「ホストコンピュータがシーケンシャルリードとしてのデータ要求を行ってきた場合と判断できる。…その場合は…キャッシュヒット転送を行うとともに，要求されているデータのうちでキャッシュヒット転送できなかった部分があれば，そのデータ読出／バファリング／転送を行い，さらにその後もシーケンシャルリードが行われる可能性が高いと判断して，要求された区間以降のセクターについても引き続きバファリングを行っていく。しかもこのときのバファリングは…キャッシュメモリ２０全体をリングメモリ形態に使用して実行していく」と記載されているから，本願発明の「データ格納動作」は，転送要求されたデータの少なくとも一部，及び／又はそのデータに続くデータを格納するものと解される。
　一方，刊行物記載発明において，上位処理装置からのランダム入出力要求に対応するトラックの前のトラックの情報がランダムアクセス用トラックスロットに蓄えられている場合，ランダム入出力要求が連続したトラックに対して行われているものと判断することは，すなわちシーケンシャルアクセスと判断することであって，この時，要求されたトラックの情報を，新たに蓄えるかあるいは当該情報を既に蓄えているトラックスロットから取得して上位処理装置に転送するとともに，要求されたトラックの次のトラックの情報を蓄えるものと解されるから，刊行物記載発明は，「シーケンシャルなデータ要求と判別した場合は，キャッシュメモリ」に「データ格納動作を行な」う点において，本願発明と共通する。
　また，刊行物記載発明において，上位処理装置からのランダム入出力要求に対応するトラックの前のトラックの情報がランダムアクセス用トラックスロットに蓄えられていない場合には，当該ランダム入出力要求はシーケンシャルアクセスではないと判断され，通常のランダム入出力要求に対する処理として，磁気ディスクから，要求されたトラックの情報のみをキャッシュメモリに蓄える処理を行うことは明らかであって，或るトラックスロットに対してデータを蓄えるものと解されるから，刊行物記載発明は，「シーケンシャルなデータ要求ではないと判別した場合は，キャッシュメモリを複数のメモリ領域を分割設定して，或るメモリ領域に対してデータ格納動作を行なうようにする」点において，本願発明と一致する。
　
　そして，刊行物記載発明の「キャッシュメモリの制御方式」は，「キャッシュ処理方法」に関するものである。
　
　したがって，本願発明と刊行物記載発明とは，以下の点で一致乃至相違する。
　
＜一致点＞ 
「供給されたデータ要求の要求態様がシーケンシャルなデータ要求であるか否かを判別し，シーケンシャルなデータ要求と判別した場合は，キャッシュメモリにデータ格納動作を行ない，一方，シーケンシャルなデータ要求ではないと判別した場合は，キャッシュメモリを複数のメモリ領域を分割設定して，或るメモリ領域に対してデータ格納動作を行なうようにすることを特徴とするキャッシュ処理方法。」である点。
　
＜相違点＞ 
　シーケンシャルなデータ要求と判別した場合に，本願発明は，「キャッシュメモリを１つのリングメモリ形態として」データ格納動作を行なうのに対して，刊行物記載発明は，「キャッシュメモリを１つのリングメモリ形態として」データ格納動作を行なうものではない点。
　
　
第６　当審の判断
　
　上記相違点について検討すると，シーケンシャルアクセスが想定される場合に，データバッファをリングバッファとすること，すなわち，キャッシュメモリをリングメモリ形態とすることは周知（例えば，原査定の拒絶の理由において引用された特開平７−３３４４２６号公報の段落【０００６】には，「先読型リードキャッシュは，ハードディスク装置等…に対して…再生動作を高速にするものである。…コンピュータ上で稼働するＯＳ…は…ファイルの先頭から順番に小さく区分した単位に再生要求する。この様なアクセス形態をシーケンシャルアクセスと呼ぶ。…ホストコンピュータから要求されたときに，情報記録媒体から要求されたブロックよりも先のブロックを前もって…読み出しておく。次に要求されたブロックが前もって読み出していれば（ヒットと呼ぶ），情報記録媒体にアクセスすることなくデータバッファのデータをホストコンピュータに転送する。…シーケンシャルアクセスは，連続するブロック数が多くなるため，データバッファをリングバッファ（終端に到達すると先端に折り返されるバッファ）として制御することが多い。」と記載されている。また，特開平８−１８５３５７号公報の段落【００５９】〜【００６０】には，「この発明は，このキャッシュメモリ１３を，入力用領域１３ａと出力用領域１３ｂに分割すること，及びこの分割比を固定的又は変動的に設定することに特徴がある。なお，入力用領域１３ａ，出力用領域１３ｂともリングバッファ構造となっていることが好ましく，データがアドレス順に順次書き込まれて一杯になると，最初のアドレスに戻ってデータが上書きされる。」と記載されている。）であり，また，刊行物記載発明は，「シーケンシャルアクセス用トラックスロット制御フラグリストの数の制限値は，シーケンシャル入出力要求の頻度や，１シーケンシャル入出力当りの連続度によって変更される」ものであるから，刊行物記載発明に周知技術を適用して，シーケンシャルなデータ要求と判別した場合に，「キャッシュメモリを１つのリングメモリ形態として」データ格納動作を行なうようにすることは，当業者が容易になし得たことである。
　
　そして，本願発明のように構成したことによる効果も，刊行物記載発明及び周知技術から，予測できる程度のものである。 
　
　
第７　むすび
　
　以上のとおり，本願発明は，上記刊行物記載発明及び周知技術に基づいて，当業者が容易に発明をすることができたものであるから，特許法第２９条第２項の規定により特許を受けることができない。 
　
　したがって，本願は，他の請求項について論及するまでもなく，拒絶すべきものである。　
　
　よって結論のとおり審決する。