【事件の表示】
　特願２００６−５１９９１９「データ・ストレージ・アレイ」拒絶査定不服審判事件〔平成１７年　１月２０日国際公開、ＷＯ２００５／００６１７３、平成２１年　４月　２日国内公表、特表２００９−５１４０５６〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１　手続の経緯・本願発明　
　本願は、２００４年７月７日（パリ条約による優先権主張２００３年７月１４日、米国）を国際出願日とする出願であって、平成２２年９月１３日付けで拒絶査定がされ（発送日：同年９月２１日）、これに対して平成２３年１月１９日に審判の請求がなされ、同時に手続補正がなされたものである。そして、本願の請求項１に係る発明は、平成２３年１月１９日付けの手続補正書の特許請求の範囲の請求項１に記載された事項により特定される以下のとおりのものである（以下、「本願発明」という。）。
　
「３つのデータ・ストレージ・ユニットと；３つのチェック・ストレージ・ユニットと；前記３つのデータ・ストレージ・ユニットおよび前記３つのチェック・ストレージ・ユニットに結合されたアレイ・コントローラであって、前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を前記アレイ・コントローラによって訂正できるように、前記チェック・ストレージ・ユニットの内容を決定する、アレイ・コントローラとを含み、
　前記アレイ・コントローラが、前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を前記アレイ・コントローラによって訂正できるように、前記チェック・ストレージ・ユニットの前記内容を決定する際に、６つの入出力動作だけを使用して前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか１つに含まれるデータのブロックを更新する、データ・ストレージ・サブシステム。」
　
２　引用例及び周知例 
（１）　引用発明　
　原査定の拒絶の理由に引用された、本願の優先日前である１９９７年９月に公開されたJAMES S. PLANK，A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems，SOFTWARE PRACTICE  EXPERIENCE，英国，WILEY  SONS，１９９７年９月，Vol.27，Issue 9，p995-1012（以下、「引用例」という。）には、図面とともに、以下の事項が記載されている。（訳は当審訳。下線は当審付与。）
　
（ア）　９９５ページ６〜８行
「SUMMARY
It is well-known that Reed-Solomon codes may be used to provide error correction for multiple failures in RAID-like systems.」
（要約
　
ＲＡＩＤのようなシステム
　
（イ）　９９６ページ５〜１７行
「For small values of n and reasonably reliable devices, one checksum device is often sufficient for fault-tolerance. This is the 'RAID Level 5' configuration, and the coding technique is called 'n+1-parity.'4-6  With n+1-parity, the i-th byte of the checksum device is calculated to be the bitwise exclusive-or (XOR) of the i-th byte of each data device.  If any one of the n+1 devices fails, it can be reconstructed as the XOR of the remaining n devices.  N+1-parity is attractive because of its simplicity.  It requires one extra storage device, and one extra write operation per write to any single device.  Its main disadvantage is that it cannot recover from more than one simultaneous failure.
     As n grows, the ability to tolerate multiple failures becomes important.13  Several techniques have been developed for this,13-16 the concentration being small values of m.  The most general technique for tolerating m simultaneous failures with exactly m checksum devices is a technique based on Reed-Solomon coding.  This fact is cited in almost all papers on RAID-like systems.  However, the technique itself is harder to come by.」
（小さなｎの値と、合理的に信頼できる装置については、多くの場合、耐障害性には、１つのチェックサム装置で十分である。これは「ＲＡＩＤレベル５」配置であって、また、符号化技術は「ｎ＋１パリティ」と呼ばれる4-6。ｎ＋１パリティでは、チェックサム装置のｉ番目のバイトは、各データ装置のｉ番目のバイトのビット単位の排他的論理和（ＸＯＲ）で計算される。ｎ＋１台の装置のいずれか１つが故障した場合、それは、残りｎ台の装置のＸＯＲとして再構成できる。ｎ＋１パリティは、その単純さのため魅力的である。それは、１つの付加的な記憶装置と、任意の一つの装置への書き込みあたり１つの余分な書込操作とを必要とする。その主な欠点は、１つより多くの同時故障は、回復できないことである。
　ｎが大きくなるに連れて、複数個の故障に耐える能力が重要になる13。いくつかの技術が、このために開発されており13-16、ｍが小さな値について、集中して開発されている。
丁度ｍ個のチェックサム装置により、ｍ個の同時故障に耐えるため
　
（ウ）　９９６ページ下から１２行〜８行
「General Strategy
Formally, our failure model is that of an erasure.  When a device fails, it shuts down, and the system recognizes this shutting down.  This is as opposed to an error, in which a device failure is manifested by storing and retrieving incorrect values that can only be recognized by sort of embedded coding .2, 23」
（一般的な手順
　
形式上、
故障のモデルは消去であ
装置は故障すると、シャット・ダウン
て、システムはこのシャット・ダウンを認識する
　
（エ）　１００１ページ４〜６行
「The Algorithm Summarized
Given n data devices and m checksum devices, the RS-Raid algorithm for making them fault-tolerant to up to m failures is as follows.」
（要約されたアルゴリズム
　
ｎ個のデータ装置と、ｍ個のチェックサム装置とを与えられて、ｍ個の故障まで耐障害性にするための、リードソロモン−ＲＡＩＤアルゴリズム
　
（オ）　１００３ページ１行〜１００４ページ６行
「AN EXAMPLE
As an example, suppose we have three data devices and three checksum devices, each of which holds one megabyte.  Then n=3 and m=3.
　　　・・・（中略）・・・
Now, we can calculate each word of each checksum device using FD=C.
　　　・・・（中略）・・・
Suppose we change D2 to be 1.  Then D2 sends the value (1-13)=(0001+1101)=12 to each checksum device, which uses this value to recompute its checksum:
　　　・・・（中略）・・・
Suppose now that devices D2, D3, and C3 are lost. Then we delete the rows of A and E corresponding to D1, D2, and C3 to get A'D=E':
　　　・・・（中略）・・・
Thus, the system is recovered.」
（例
　例として、我々は、
３つのデータ装置と、３つのチェックサム装置
を持
この時、ｎ＝３、ｍ＝３であ
　　　・・・（中略）・・・
　さて、我々は、
ＦＤ＝Ｃを用いて、各チェックサム装置の各ワードを計算でき
　　　・・・（中略）・・・
　我々は、
Ｄ
２
を１に変更した
Ｄ
２
は、値(1-13)=(0001+1101)=12を、各チェックサム装置に送り、そこで、この値が、チェックサムの再計算に用いられ
　　　・・・（中略）・・・
　さて、
装置Ｄ
２
、Ｄ
３
、Ｃ
３
が失われた
Ｄ
２
、Ｄ
３
、Ｃ
３
に対応するＡ，Ｅの行を削除することで、Ａ’Ｄ＝Ｅ’を得
　　　・・・（中略）・・・
　
したがって、システムは回復される
（審決注：数式(0001+1101)中の記号「+」は、排他的論理和記号を示す。以下同様。）
　
（カ）　１００４ページ７〜１３行
「Implementation and Performance Details
We examine some implementation and performance details of RS-Raid coding on two applications: a RAID controller, and a distributed checkpointing system.  Both are pictured in Figure 5.  In a RAID controller, there is one central processing location that controls the multiple devices.  A distributed checkpointing system is more decentralized. Each device is controlled by a distinct processing unit, and the processing units communicate by sending messages over a communication network.」
（インプリメンテーションと性能の詳細
　我々は、２つの応用に関して、
リードソロモンＲＡＩＤ符号化のインプリメンテーション
の詳細を検討する
ＲＡＩＤコントローラ
分散チェックポイント・システム
ＲＡＩＤコントローラにおいては、多数の装置を制御する単一の中央処理位置がある
分散チェックポイント・システムにおいては、より分散されている
　
（キ）　１００４ページ１４行〜１００６ページ１行
「RAID Controllers
In RAID systems, a basic file system operation is when a process writes an entire stripe's worth of data to a file. The file system must break up this data into n blocks, one for each data device, calculate m blocks worth of encoding information, and then write one block to each of the n+m devices. 
　　　・・・（中略）・・・
A second basic file system operation is overwriting a small number of bytes of a file.  This updates the information stored on one disk, and necessitates a recalculation of the encoding on each checksum disk.  To be specific, for each word of disk Dj that is changed from dj to d'j, the appropriate word of each checksum disk is changed from ci to ci+fi,j(d'j-dj) where arithmetic is performed over the Galois Field.
　　　・・・（中略）・・・
The final operation of concern is recovery.  Here, we assume that y≦m failures have occurred and the system must recover the contents of the y disks.
　　　・・・（中略）・・・
For more detailed information on other parameters that influence the performance of recovery in RAID systems, see Reference [26].」
（ＲＡＩＤコントローラ
　ＲＡＩＤシステムにおいて、一つの基本的なファイルシステム操作は、プロセスが１ファイルについて完全な１ストライプ分のデータを書く場合である。ファイルシステムは、このデータを、各データ装置に一つずつが対応する、ｎ個のブロックに分解し、ｍブロック分の符号化情報を計算して、そしてその後、（ｎ＋ｍ）台の装置に１ブロックずつを書き込まねばならない。
　　　・・・（中略）・・・
　第２の基本的なファイルシステム操作は、１ファイルの少数のバイトの上書きである。これには、１台のディスクに格納されたデータを更新して、各チェックサム・ディスク上の符号化を再計算することを必要とする。具体的に言えば、djからd'jに変更されるディスクＤｊの各ワードについて、各チェックサム・ディスクの適切なワードが、ciからci+fi,j(d'j-dj)に変更される。ここで計算はガロワ体上で行なわれる。
　　　・・・（中略）・・・
　最後の関連する操作は、回復である。ここで、我々は、ｙ≦ｍ個の故障が発生して、ｙ個のディスクの内容を、システムが回復せねばならないと仮定する。
　　　・・・（中略）・・・
　ＲＡＩＤシステムでの回復の実行に影響を及ぼす他のパラメータに関するより詳細な情報については、参考文献[26]を参照。）
　
　これらの引用例の記載から、引用例には次の発明（以下、「引用発明」という。）が記載されていると認められる。 
　
「ＲＡＩＤのようなシステムにおいて、
　丁度ｍ個のチェックサム装置により、ｍ個の同時故障に耐えるため、
　ここで、形式上、故障のモデルは消去であって、装置は故障すると、シャット・ダウンして、システムはこのシャット・ダウンを認識するものであり、
　ｎ個のデータ装置と、ｍ個のチェックサム装置とを与えられて、ｍ個の故障まで耐障害性にするための、リードソロモン−ＲＡＩＤアルゴリズムであって、
　３つのデータ装置と、３つのチェックサム装置を持ち、この時、ｎ＝３、ｍ＝３であり、
　ＦＤ＝Ｃを用いて、各チェックサム装置の各ワードを計算でき、
　Ｄ２を１に変更した時、Ｄ２は、値(1-13)=(0001+1101)=12を、各チェックサム装置に送り、そこで、この値が、チェックサムの再計算に用いられ、
　装置Ｄ２、Ｄ３、Ｃ３が失われた時、Ｄ２、Ｄ３、Ｃ３に対応するＡ，Ｅの行を削除することで、Ａ’Ｄ＝Ｅ’を得て、したがって、システムは回復される、
ＲＡＩＤのようなシステム」
　
（２）　周知例１（特開２００３−１９６０３２号公報）
　原査定の拒絶の理由に引用された、特開２００３−１９６０３２号公報（以下、「周知例１」という。）には、図面（特に図４）とともに次の事項が記載されている。
　
（ク）　段落【００１０】−【００１２】
「【００１０】
ＲＡＩＤ４やＲＡＩＤ５の磁気ディスクアレイ装置等
領域Ａ１にデータを書き込む際のパリティ更新の方法としては２つあり、１つの方法では、他のサブストライプ３０の領域Ｂ１，Ｃ１，Ｄ１のデータを読み出し、これら領域Ｂ１，Ｃ１，Ｄ１のデータとホスト装置から受信したデータとで排他的論理和をとった結果を領域Ｐ１に書き込むと同時に、ホスト装置から受信したデータを領域Ａ１に書き込む
【００１１】
もう１つの方法では、領域Ｐ１のパリティデータと磁気ディスク３３に書かれてある領域Ａ１のデータを読み出し、ホスト装置から新たに受信したデータと領域Ａ１のデータの排他的論理和をとった結果を領域Ｐ１に書き込んだ後に、ホスト装置から受信したデータを領域Ａ１に書き込
【００１２】
パリティデータを更新する２つの方法のうちいずれを用いるかは、磁気ディスク３３に対する負荷によって決定され、負荷の少ない方、つまりパリティデータを計算するためのリードの数が少ない方が選択される
　
（３）　周知例２（特開平２−２３６７１４号公報）
　特開平２−２３６７１４号公報（以下、「周知例２」という。）には、図面（特に図１３（ａ）ステップ３４０、図１３（ｂ）ステップ３８４）とともに次の事項が記載されている。
　
（ケ）　１９ページ右下欄１８行〜２０ページ左上欄１６行
「
書き込み要求は、冗長性グループのデータセクターの、全てではなくて幾つかのデータセクターの書き込みを必要とするに過ぎないことがある
書き込みされるべきセクターを除いて他の全てのセクターがディスク駆動機構１４から読み出され、
ｐバッファ−６２及びｑバッファ−６６に加えられる
３セクターのうちの最初のものだけが書き込まれるならば、他の２個はディスクから読み出されるので、それらを、入ってくるセクターと組み合わせて新しいｐ冗長性セクター又はｑ冗長性セクターを作ることが出来る
ｐ冗長性セクター及びｑ冗長性セクターが計算された後、それらは、適切なディスク駆動機構記憶場所に書き込まれる
　
（コ）　３０ページ右上欄７〜１７行
「セクターがもっとあり、エラーが生じていなければ、
引き算／加算方式を使うか否か判定される（ステップ３４０）
古いデータを「引き」、新しいデータを「加える」ことにより
冗長性を再生することにより
冗長性を維持することが出来る
ユーザーデータにより変更されるディスクの数が、変更されないディスクの数より少ないか或は等しいならば、引き算／加算方式を使う
　
（サ）　３１ページ左上欄８〜２０行
「しかし、
上記した様に、ユーザーデータにより変更されるディスクの数が、変更されないディスクの数より多ければ、引き算／加算方式は使われない。その代わりに、冗長性セクター生成の方式が使われる
　　　・・・（中略）・・・
第１３（ｂ）図を参照すると、引き算／加算が使われなければ、第１ステップはＥＣＣチャネルの初期化（ステップ３８２）である。
冗長性セクターを含まない、変更されないセクターについて読み出し要求が生成される（ステップ３８４）
　
（４）　周知例３（米国特許出願公開第２００３／００７００４２号明細書）
　本願の優先日前である２００３年４月１０日に公開された、米国特許出願公開第２００３／００７００４２号明細書（以下、「周知例３」という。）には、図面（特に図５ステップ５２０）とともに次の事項が記載されている。（訳は当審訳。下線は当審付与。）
　
（シ）　段落【００１４】〜【００１６】第１文
「In a RAID5 system, when a subset of the data blocks within a stripe is updated, the parity block is typically also updated. The parity may be updated in either of two ways. The parity may be updated by reading the remaining unchanged data blocks and computing a new parity in conjunction with the new blocks (unmodified read/write stripe update), or reading the old version of the changed data blocks, comparing them with the new data blocks, and applying the difference to the parity (modified read/write stripe update). Generally, an unmodified read/write stripe update is preferable if the number of altered data blocks exceeds (N-r)12, where r is the number of redundancy blocks in a stripe, and a modified read/write stripe update is preferable otherwise.
　　While some configurations of disk arrays such as RAID 5 systems provide relatively high performance and economical storage that are capable of rebuilding data in the event of single drive failures, if two drives fail, data is irretrievably lost. It is therefore sometimes desirable to provide configurations that are capable of rebuilding data in the event that multiple drives fail. RAID 6 is one such configuration. While the term RAID 6 has sometimes suffered from inconsistent usage, the term is used herein to mean an extension of RAID 5 that employs two functions, sometimes referred to as P and Q parities, to provide double-fault protection. A primary difference between RAID 5 and RAID 6 is that RAID 6 uses twice as much redundancy for fault protection. 
  Each of the RAID schemes has advantages and disadvantages.」
（ＲＡＩＤ５システムにおける、ストライプ内のデータ・ブロックの一部が更新されると、通常はパリティ・ブロックも更新される。
パリティは、２つの方法のどちらかで更新できる
残余の非変更のデータ・ブロックを読み取って、新しいブロックと共に、新しいパリティを計算することによって（「非修正読取／書込ストライプ更新」）
変更されたデータブロックの古いバージョンを読み取って、それらを新しいバージョンと比較して、その差分をパリティに適用することによって（「修正読取／書込ストライプ更新」）
パリティを更新できる
一般に、変更されるデータ・ブロックの数が、
（Ｎ−ｒ）／２
を越える場合、非修正読取/書込ストライプ更新が望ましい
それ以外の場合、修正読取/書込ストライプ更新が望ましい
　
ＲＡＩＤ５システムのようなディスク・アレイのいくつかの配置により
単一のドライブ故障の事象ではデータを再構築できるが、２台のドライブが故障する場合、データは再構築できずに失われる
したがって、複数のドライブが故障する事象でも、データを再建できる配置を提供することが、時には望ましい
　
ＲＡＩＤスキームは、それぞれ長所と短所を持つ
　
（ス）　段落【００８３】−【００８５】
「If the WRITE operation is a modification of an existing stripe, then in step  520 , the controller  440  determines whether to perform a modified read/write stripe update or an unmodified read/write stripe write. For an unmodified read/write stripe update, in step  521 , the controller  440  retrieves the unmodified data blocks from the storage devices. The unmodified data blocks are then used in conjunction with the new data blocks in step  522  to calculate the redundancy blocks, and the stripe is written to array  410  in step  523 .
　　　・・・（中略）・・・
For a modified read/write update, in step  524  the controller  440  retrieves the data blocks to be modified from the storage devices. In step  526 , the controller  440  retrieves the stripe redundancy. In step  528 , the controller  440  causes the difference unit  444  to determine the difference between the new data blocks and the data blocks to be modified. In step  530 , the controller  440  causes the encoder unit  442  to determine the redundancy difference using the data difference (i.e., by inputting the difference data words of a difference data block to encoder unit  442 ). In step  532 , the controller  440  causes the update unit  446  to combine the redundancy difference with the old redundancy blocks read from array  410  to determine new stripe redundancy blocks. In step  534 , the controller  440  writes the new data blocks and the new redundancy blocks to the storage devices. Steps  524 - 534  may be performed concurrently.」
（ステップ５２０で、ＷＲＩＴＥ操作が既存のストライプの修正である場合、コントローラ４４０は、
修正読取／書込ストライプ更新と、非修正読取／書込ストライプ更新のいずれかを行なうべきか判断する
　　　・・・（中略）・・・
　修正読取／書込更新については、ステップ５２４で、コントローラ４４０は、記憶装置から修正されるデータ・ブロックを検索する。ステップ５２６で、コントローラ４４０はストライプの冗長を検索する。ステップ５２８で、コントローラ４４０は、差分ユニット４４４に、新しいデータ・ブロックと、修正されるデータ・ブロックとの間の差分を決定させる。ステップ５３０で、コントローラ４４０は、符号化ユニット４４２に、データ差分から（すなわち符号化ユニット４４２に差分データ・ブロックの差分データ・ワードを入力することにより）、冗長差分を決定させる。ステップ５３２で、コントローラ４４０は、更新ユニット４４６に、新しいストライプ冗長ブロックを決定するために、アレイ４１０から読まれた古い冗長ブロックと、冗長差分の組み合わせをさせる。ステップ５３４で、コントローラ４４０は、記憶装置に新しいデータ・ブロックと新しい冗長ブロックを書き込む。ステップ５２４−５３４は、同時に行なわれてもよい。）
　
（５）　周知例４（特開平４−２６４９１０号公報）
　特開平４−２６４９１０号公報（以下、「周知例４」という。）には、図面（特に図２、図３）とともに次の事項が記載されている。
　
（セ）　段落【００１９】−【００２４】
「【００１９】次に、図３に示す従来方式について説明し、図２に示す本発明の方法の例と比較する。
図３に示す従来例では、斜線で示す４個の磁気ディスクドライブが更新対象であり、同一ＥＣＣグループ中のＥＣＣドライブと合わせ、対象箇所のデータ読み出しが行われる
これにより、磁気ディスクドライブからのデータの読み出しを５回行うことになる
最後に４個の磁気ディスクドライブの当該アドレスに更新データを、ＥＣＣ用磁気ディスクドライブに更新ＥＣＣデータを書き込む
これにより、磁気ディスクドライブへのデータ書き込みを５回行うことになる
従来方式では、本例の場合、１０回の磁気ディスクドライブへのアクセスが必要であった
【００２０】同様に、図２を用いて、本発明のデータ格納方式を説明する。本発明の方式でも、図３と同様に、４個の磁気ディスクドライブが更新対象である。しかし、図１に示す
マイクロプロセッサ２は、ＥＣＣグループ内の部分更新対象磁気ディスクドライブの数と、同一ＥＣＣグループ内の部分更新対象外磁気ディスクドライブの数を算出する。そして、数の少ない方をアクセスするように動作する
マイクロプロセッサ２は、部分更新対象磁気ディスクドライブをアクセスしてデータ更新した場合のアクセス回数と、部分更新対象外磁気ディスクドライブをアクセスしてデータ更新した場合のアクセス回数を比較し、アクセス回数の少ないほうを選択するようにしても良い
【００２１】
本例の場合、部分更新対象ディスクドライブは４個であるのに対し、部分更新対象外磁気ディスクドライブは２個であり、アクセス回数の少ない部分更新対象外磁気ディスクドライブのアクセスが選択される
したがって、マイクロプロセッサ２は、部分更新対象外の２個の磁気ディスクドライブを読み出す指示を出し、データバッファ４に当該アドレスのデータが読み出される。ここで、部分更新対象外の２個の磁気ディスクドライブから読み出されるデータは、更新対象であるデータと組合わされて１つのデータブロックを構成しているデータを格納しているアドレスに記憶されているデータである。この読み出しを図中Ｄで示す。これにより、
磁気ディスクドライブからのデータの読み出しを２回行うことになる
最後に、読み出していない４個の磁気ディスクドライブ（部分更新対象磁気ディスクドライブ）の当該アドレスに更新データを書き込み、ＥＣＣ用の磁気ディスクドライブに更新ＥＣＣデータを書き込む
これにより、磁気ディスクドライブへのデータ書き込みを５回行うことになる
【００２２】以上の説明から明らかなように、
本実施例によれば、磁気ディスクドライブへのアクセス回数が７回であり、従来例と比較しての磁気ディスクドライブへのアクセスが３回分低減できたことになる
【００２３】本実施例によれば、データ修復のため、複数の記憶装置から構成されるグループの中の一部分の記憶装置のみを更新する部分更新の際に、
磁気ディスクドライブへのアクセス回数を低減できるので、性能向上に効果があり、かつＥＣＣデータを確実に書き込むことができる
【００２４】
【発明の効果】本発明によれば、データの一部分だけを更新する部分更新の際に、
記憶装置に対するアクセス回数を低減し、性能劣化を極小化しつつ、高速データ転送を実現する事が可能になる効果がある
　
３　対比　
（１）　引用発明の「３つのデータ装置」と「３つのチェックサム装置」は、それぞれ、本願発明の「３つのデータ・ストレージ・ユニット」と「３つのチェック・ストレージ・ユニット」に相当する。
　
（２）　引用発明において、数式「ＦＤ＝Ｃ」を用いて、「各チェックサム装置の各ワードを計算」することは、「ｎ個のデータ装置と、ｍ個のチェックサム装置とを与えられて、ｍ個の故障まで耐障害性にするための、リードソロモン−ＲＡＩＤアルゴリズム」を用いて行われるものであって、ここで「ｍ＝３」であるから、３つの故障までシステムを回復できるように、リードソロモン符号化によって、各チェックサム装置の各ワードが計算されているといえる。
　そして、引用発明における３つの故障への「耐障害性」とは、たとえば、「装置Ｄ２、Ｄ３、Ｃ３」のような３台の装置の故障によって生じる、３つの「消失」を訂正することに外ならない。
　よって、引用発明で「ＦＤ＝Ｃを用いて、各チェックサム装置の各ワードを計算」することは、本願発明の「前記３つのデータ・ストレージ・ユニットおよび前記３つのチェック・ストレージ・ユニットに結合されたアレイ・コントローラであって、前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を前記アレイ・コントローラによって訂正できるように、前記チェック・ストレージ・ユニットの内容を決定する、アレイ・コントローラ」と、「前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を」、「訂正できるように、前記チェック・ストレージ・ユニットの内容を決定する手段」を含むことで一致する。
　
（３）　引用発明の「３つのデータ装置」と「３つのチェックサム装置」を備える「ＲＡＩＤのようなシステム」は、本願発明の「データ・ストレージ・サブシステム」に相当する。
　
　したがって、本願発明と引用発明の一致点、相違点は、以下のとおりである。
　
［一致点］　
「３つのデータ・ストレージ・ユニットと；３つのチェック・ストレージ・ユニットと；前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を、訂正できるように、前記チェック・ストレージ・ユニットの内容を決定する手段とを含み、
　前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を、訂正できるように、前記チェック・ストレージ・ユニットの前記内容を決定する、データ・ストレージ・サブシステム。」
 
［相違点１］
　本願発明は、「前記３つのデータ・ストレージ・ユニットおよび前記３つのチェック・ストレージ・ユニットに結合されたアレイ・コントローラであって」、前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を「前記アレイ・コントローラによって」訂正できるように、前記チェック・ストレージ・ユニットの内容を決定する、「アレイ・コントローラ」を含むのに対して、引用発明は、各ストレージ・ユニットに結合された「アレイ・コントローラ」を設けて、チェック・ストレージ・ユニットの内容を決定することについて、明記がない点。
　
［相違点２］
　本願発明は、「前記アレイ・コントローラが」、前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を「前記アレイ・コントローラによって」訂正できるように、前記チェック・ストレージ・ユニットの前記内容を決定する「際に、６つの入出力動作だけを使用して前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか１つに含まれるデータのブロックを更新する」のに対して、引用発明は、「Ｄ２を１に変更した時、Ｄ２は、値(1-13)=(0001+1101)=12を、各チェックサム装置に送り、そこで、この値が、チェックサムの再計算に用いられ」るもの、すなわち、データ変更を、変更されるデータの変更前後の差分に基づいて、チェックサムを修正することは記載があるものの、ストレージ・ユニットのいずれか１つに含まれるデータのブロックを更新する場合に、何回の入出力装置を使用するかについては記載がなく、このような場合に６つの入出力動作だけを使用するものではない点。
　
４　当審の判断　
［相違点１について］
　引用例には、引用発明のシステムのインプリメンテーションの検討として、多数の装置を制御するための単一の中央処理位置を設ける「ＲＡＩＤコントローラ」の構成、及び、より分散された「分散チェックポイント・システム」の二方式を例示する記載があると認められる（引用例の図５左の「ＲＡＩＤコントローラ」による装置構成で、多数の装置（Ｄ１〜Ｄｎ、Ｃ１〜Ｃｍ）に結合された単一のＣＰＵによって制御されている点、上記摘記（カ）（特に下線部）、（キ）を参照。）。
　引用発明のシステムを、具体的にインプリメントする場合に、引用例に例示された、多数の装置を制御するための単一の中央処理位置を設ける「ＲＡＩＤコントローラ」の構成を採用することによって（用語「ＲＡＩＤ」は、「Redundant 
Arrays
　
［相違点２について］
　上記［相違点１について］に記載のように、引用発明に「アレイ・コントローラ」を設けることは、当業者が適宜選択すべき設計的事項である。
　
　上記周知例１−周知例４（上記摘記２（２）〜２（５）。特に下線部を参照。）に記載されるように、一般に、データの一部を変更する際、パリティを更新するための方法として、（１）
変更される
変更されない
　
　そして、一般に、ストレージ・ユニットを利用する場合、アクセス回数を減らすために、データの読み書きの回数を少なくすべきことは、当業者に自明の課題であると認められる（上記摘記２（５）の特に段落【００２０】、【００２３】−【００２４】を参照。）。
　
　引用発明のディスクアレイシステムは、３つのデータ装置と、３つのチェックサム装置とを用いるから、１つのデータ装置のデータのみを変更する場合、
　上記（１）の周知の方法（本願明細書段落【００３２】記載における「フォワード法」に対応する。）を採用するケースでは、
変更される
　上記（２）の周知の方法（本願明細書段落【００３４】記載における「相補法」に対応する。）を採用するケースでは、
変更されない
当業者に自明であると認められる。
　
　よって、引用発明に接した当業者であれば、引用発明において、データの一部を更新する際に、いずれも周知の上記（１）、（２）の方法（「フォワード法」と「相補法」）のうち、より読み書き回数が少なくなる、周知の上記（２）の方法（「相補法」）を、上記（１）の方法（「フォワード法」）に替えて採用することによって、６回の読み書きが行われるように構成して、「前記アレイ・コントローラが」、前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか３つの消去を「前記アレイ・コントローラによって」訂正できるように、前記チェック・ストレージ・ユニットの前記内容を決定する「際に、６つの入出力動作だけを使用して前記データ・ストレージ・ユニットおよび前記チェック・ストレージ・ユニットのいずれか１つに含まれるデータのブロックを更新する」、相違点２に係る構成とすることは、当業者が容易に推考し得ることである。
　
　そして、本願発明のように構成したことによる効果も引用発明、及び、周知技術から予測できる程度のものである。
　
５　むすび　
　したがって、本願発明は、引用発明、及び、周知技術に基づいて、当業者が容易に発明をすることができたものであるから、本願は、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。