• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1341482
審判番号 不服2017-10938  
総通号数 224 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2018-08-31 
種別 拒絶査定不服の審決 
審判請求日 2017-07-24 
確定日 2018-07-03 
事件の表示 特願2015-527122「ストレージ装置および記憶制御方法」拒絶査定不服審判事件〔平成27年 1月22日国際公開,WO2015/008375,請求項の数(11)〕について,次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は,特許すべきものとする。 
理由 第1.手続の経緯
本願は,2013年7月19日を国際出願日とする出願であって,
平成27年11月25日付けで国内書面が提出されると共に審査請求がなされ,平成29年1月12日付けで審査官により拒絶理由が通知され,これに対して平成29年4月7日付けで意見書が提出されると共に手続補正がなされたが,平成29年4月14日付けで審査官により拒絶査定がなされ(謄本送達;平成29年4月25日),これに対して平成29年7月24日付けで審判請求がなされると共に手続補正がなされ,平成29年8月10日付けで審査官により特許法第164条第3項の規定に基づく報告がなされたものである。

第2.原査定の概要
原審における平成29年4月14日付けの拒絶査定(以下,これを「原審拒絶査定」という)は概要,次のとおりである。

本願の請求項1,本願の請求項2,本願の請求項4?本願の請求項9,及び,本願の請求項11に係る発明は,以下の引用文献1?引用文献4に基づいて,その発明の属する技術の分野における通常の知識を有する者(以下,「当業者」という。)が容易に発明できたものであるから,特許法第29条第2項の規定により特許を受けることができない。

引用文献等一覧
1.国際公開第2013/084267号
2.特開2010-191670号公報(周知技術を示す文献)
3.特開2008-112276号公報(周知技術を示す文献)
4.特開2012-118587号公報(周知技術を示す文献)

第3 審判請求時の補正について
1.平成29年7月24日付けの手続補正(以下,これを「審判請求時の補正」という)は,特許法第17条の2第3項から第6項までの要件に違反しているものとはいえない。
審判請求時の補正により,補正前の請求項1に,
「前記ストレージコントローラは,仮想ボリュームを提供し,
前記複数の半導体記憶ユニットは,前記仮想ボリュームに記憶領域が割り当てられるプールを構成し,
前記ストレージコントローラは,前記複数の半導体記憶ユニットにそれぞれ対応した複数の半導体記憶ユニット残容量と,前記複数の半導体記憶ユニット残量の合計値であるプール残容量と,を管理し」,
という構成が加えられ(以下,これを「補正事項1」という),
補正前の請求項1に記載の「各半導体ユニット」に,「前記プール内の」という限定事項が加わり(以下,これを「補正事項2」という),
補正前の請求項1に記載の「半導体記憶ユニットが枯渇するリスクを算出するための枯渇関連情報」に,「であってその半導体記憶ユニット内での物理的な使用量に関する情報を含んだ枯渇情報」という限定事項が加わり(以下,これを「補正事項3」という),
補正前の請求項1に記載の「複数の半導体記憶ユニットのうちのいずれかの容量枯渇リスクを軽減するように半導体記憶ユニット間でデータを移動する枯渇回避処理を実行する」に,「データ移動元および移動先の半導体記憶ユニットを決定して前記プール内の」という限定事項が加わり(以下,これを「補正事項4」という),
補正前の請求項2に記載の「複数の半導体記憶ユニットにおける残寿命が平準化するように半導体記憶ユニット間でデータを移動する寿命平準化処理を実行する」に,「データ移動元および移動先の半導体記憶ユニットを決定して前記プール内の」という限定事項が加わり(以下,これを「補正事項5」という),
補正前の請求項3に記載の「複数の半導体記憶ユニットについての入出力データ量が平準化するように半導体記憶ユニット間でデータを移動する入出力平準化処理を実行する」に,「データ移動元および移動先の半導体記憶ユニットを決定して前記プール内の」という限定事項が加わり(以下,これを「補正事項6」という),
補正前の請求項5に記載の「前記枯渇関連情報」に,「内の,物理的な使用量に関する情報」という限定事項が加わり(以下,これを「補正事項7」という),
補正前の請求項11に,上記指摘の補正事項1?補正事項4と同じ補正がなされているので,上記指摘の補正事項1?補正事項7について検討する。

2.補正事項1については,国際出願の願書に添付された明細書(以下,これを「当初明細書」という)に,
「【0069】
容量仮想化技術(例えば,Thin Provisioning)とは,ストレージ装置10が有している物理的な容量より大きな仮想的な容量をホスト計算機30側に提供する技術である。ホスト計算機30は,仮想的な論理ボリューム(仮想ボリューム)に対してアクセスする。容量仮想化技術では,ストレージ装置10がWR要求を受けた場合に,WR要求のデータのWR先の仮想的な記憶領域(仮想エクステント)に,物理的な記憶領域が割り当てられる。本実施例では,容量仮想化技術において割り当てられる物理的な記憶領域の単位をエクステント単位とする。また,エクステントのサイズは,数MBから数GBと多様性に富んでいてよい。
【0071】
同一種類のDisk11(例えばSSD700)でRG(200,300,400)が構成される。1以上のRGを基にPool500が構成される。
【0072】
エクステント(240,241,241,340,440等)は,Pool500を分割することにより得られた記憶領域(部分記憶領域),つまり,Pool500の一部である。図6では,Pool500は,RG200,RG300,及びRG400の3つのRGに基づいて構成されている。以下,RG200を例に説明する。」
「【0077】
仮想ボリューム600は,ホスト計算機30がユーザデータを格納するための仮想的な論理ボリュームである。仮想ボリューム600の容量として定義される容量は,ストレージ装置10が有する物理記憶デバイスの容量の合計よりも大きな記憶容量とすることができる。なお,仮想ボリューム600は,任意の数の仮想エクステント(601?607等)によって構成されている。仮想ボリューム600の記憶領域は,仮想アドレス(仮想ボリュームを構成する論理アドレス)で管理されており,所定の範囲に区切られた仮想アドレスの記憶領域により,仮想エクステントが構成される。図6では,1つの仮想エクステントに対して1つのエクステントが対応付けられているが,1つの仮想エクステントに対して複数のエクステントが対応付けられてもよい。」
「【0104】
Pool管理TBL13300は,Pool毎に,Pool#13301,RG#13302,RG残容量13303,及びPool残容量13304を有する。
【0105】
Pool#13301は,Poolの識別子であり,ユニークな番号である。RG#13302は,Poolを構成する全てのRGのRG番号を表す。RG残容量13303は,RG毎の残容量を表す。Pool残容量13304は,Poolの残容量を表し,Poolを構成するRGのRG残容量13303の合計値に等しい。RG残容量13303及びPool残容量13304は,仮想ボリュームのエクステント未割当領域にデータの書き込みが発生した際に,プロセッサ104(Write I/O プログラム12100)によりデータの書き込みにより減少した値に更新される。」
という記載が存在しているので,補正事項1は,当初明細書の記載の範囲内でなされたものであり,上記においても言及したとおり,補正前の請求項1の記載内容を減縮するものであることは明らかである。
補正事項2?補正事項4については,当初明細書に,
「【0169】
ストレージコントローラ100は,SSDコントローラ710に対して,SSD内部情報取得コマンド25000(図20参照)を用いて,内部情報の送付を要求する。その要求の応答として,ストレージコントローラ100は,実行結果通知コマンド25100をSSDコントローラ710から受信する(S300)。S300の処理で取得する情報は,統計情報管理TBL23200に保存されているデータ(FMライト合計量23213,平均圧縮率23214,FMリード合計量23215,及び残消去回数23216)である。
【0170】
ストレージコントローラ100は,取得した内部情報を基に,Disk管理TBL13100を更新する(S301)。具体的には,ストレージコントローラ100は,FMライト合計量23213に基づいて,FMライト合計量13108及びFM使用量13111を更新し,FMリード合計量23215に基づいて,FMリード合計量13107を更新し,平均圧縮率23214に基づいて,平均圧縮率13109を更新し,残消去回数23216に基づいて,残消去回数13110を更新する。」
「【0193】
次に,ストレージコントローラ100は,枯渇リスクが最も高いRGと,枯渇リスクが最も低いRGとを特定する(S501)。次に,ストレージコントローラ100は,統計情報管理TBL13600と,SSD700の統計情報管理TBL23200とを基に,エントリやエクステント毎のFM WR量を予想するFM WR量予想処理(図27参照)を行う(S505)。」
という記載が存在しているので,補正事項2?補正事項4は,当初明細書の記載の範囲内でなされたものであり,上記においても言及したとおり,補正前の請求項1の記載内容を減縮するものであることは明らかである。

3.補正事項5については,当初明細書に,
「【0206】
ストレージコントローラ100は,残寿命が最大のRGと残寿命が最小のRGとを特定し(S601),統計情報管理TBL13600と,SSD700の統計情報管理TBL23200とに基づいて,エントリやエクステント毎のFM WR量を予想するFM WR量予想処理(図27参照)を実行する(S602)。」
という記載が存在しているので,補正事項5は,当初明細書の記載の範囲内でなされたものであり,上記においても言及したとおり,補正前の請求項2の記載内容を減縮するものであることは明らかである。

4.補正事項6については,当初明細書に,
「【0215】
ストレージコントローラ100は,RG物理容量あたりのI/O量が最大のRGと,最小のRGとを特定し(S901),統計情報管理TBL13600と,SSD700の統計情報管理TBL23200とに基づいて,エントリやエクステント毎のFM RD/WR予想量(FM RD予想量及びFM WR予想量)を予想する(S902)。具体的には,図27に示すFM WR量予想処理と同様な処理により,FM RD予想量に関しても予想する処理である。」
という記載が存在しているので,補正事項6は,当初明細書の記載の範囲内でなされたものであり,上記においても言及したとおり,補正前の請求項3の記載内容を減縮するものであることは明らかである。

5.補正事項7については,当初明細書に,
「【0171】
次に,ストレージコントローラ100はDisk管理TBL13100の情報を基に,このDiskの枯渇リスクを計算する(S302)。ここで,枯渇リスクとは,Diskの枯渇しやすさを判断するための指標であり,本実施例では,数値が高いほうが枯渇し易いことを示す。枯渇リスクは,例えば,DiskへのWR量×平均圧縮率÷空き容量で算出される。つまり,WR頻度が高く,圧縮率が悪く,空き容量が少ないほど枯渇リスクが高くなる。DiskへのWR量は,統計情報管理TBL13600のWR量13606のDisk単位の合計であり,平均圧縮率は,Disk管理TBL13100の平均圧縮率13109であり,空き容量は,Disk管理TBL13100の物理容量13112からFM使用量13111を引くことにより算出できる。」
という記載が存在しているので,補正事項7は,当初明細書の記載の範囲内でなされたものであり,上記においても言及したとおり,補正前の請求項5の記載内容を減縮するものであることは明らかである。

6.以上,2.?5.において検討したとおりであるから,審判請求時の補正は,特許法第17条の2第3項から第5項までの要件に違反しているものとはいえない。
そして,「第4.本願発明」から「第6.対比・判断」までに示すように,審判請求時の補正により補正された請求項(以下,これを「補正後の請求項」という)1?補正後の請求項11に係る発明は,独立特許要件,即ち,特許法第17条の2第6項を満たすものである。

第4.本願発明について
本願の請求項1?本願の請求項11に係る発明(以下,これを「本願発明1」?「本願発明11」という)は,平成29年7月24日付けの手続補正により補正された特許請求の範囲の請求項1?請求項11に記載された事項により特定されるものであり,そのうち,本願発明1は,次のとおりのものである。

「それぞれが1以上の半導体記憶デバイスで構成された複数の半導体記憶ユニットと,
前記複数の半導体記憶ユニットに接続され,格納先の論理記憶領域に対してデータを格納するストレージコントローラと
を有し,
前記各半導体記憶デバイスが,1以上の不揮発性の半導体記憶媒体と,前記1以上の不揮発性の半導体記憶媒体に接続された媒体コントローラとを有し,
前記各半導体記憶デバイスについて,前記媒体コントローラは,前記論理記憶領域に格納されるデータを圧縮し圧縮されたデータを前記1以上の不揮発性の半導体記憶媒体に格納し,
前記各半導体記憶デバイスについて,前記論理記憶領域の論理アドレス空間の大きさは,前記1以上の不揮発性の半導体記憶媒体の物理アドレス空間の大きさの合計よりも大きく,
前記ストレージコントローラは,仮想ボリュームを提供し,
前記複数の半導体記憶ユニットは,前記仮想ボリュームに記憶領域が割り当てられるプールを構成し,
前記ストレージコントローラは,前記複数の半導体記憶ユニットにそれぞれ対応した複数の半導体記憶ユニット残容量と,前記複数の半導体記憶ユニット残量の合計値であるプール残容量と,を管理し,
前記ストレージコントローラは,非同期処理として,
前記プール内の各半導体記憶ユニットについて,その半導体記憶ユニットが枯渇するリスクを算出するための枯渇関連情報であってその半導体記憶ユニット内での物理的な使用量に関する情報を含んだ枯渇関連情報を,その半導体記憶ユニットから取得し,
前記各半導体記憶ユニットについて,前記取得された枯渇関連情報内の,物理的な使用量に関する情報に基づいて,その半導体記憶ユニットの容量が枯渇するリスクである容量枯渇リスクを算出し,
前記各半導体記憶ユニットの前記算出された容量枯渇リスクに基づいて,前記複数の半導体記憶ユニットのうちのいずれかの容量枯渇リスクを軽減するようにデータ移動元および移動先の半導体記憶ユニットを決定して前記プール内の半導体記憶ユニット間でデータを移動する枯渇回避処理を実行する,
ストレージ装置。」

第5.引用文献に記載の事項及び引用発明について
1.原審における平成29年1月12日付けの拒絶理由(以下,これを「原審拒絶理由」という)に引用された,国際公開第2013/084267号(国際公開日;2013年6月13日,以下,これを「引用文献1」という)には,関連する図面と共に,次の事項が記載されている。

A.「[0020] Fig. 2 shows an example of the configuration of the storage system 20.
[0021] The storage system 20 comprises a controller 27, and a storage device group, which is coupled to the controller 27. The storage device group may comprise different types of storage media, or may be configured from the same type of storage media.
[0022] The controller 27 comprises communication interface devices, storage devices, and a control device, which is coupled thereto. The communication interface devices, for example, include I/Fs 24 and 25, and a disk I/F 26. The storage devices, for example, include a memory 22 and a cache memory 23. The control device, for example, is a CPU 21. In addition to the CPU 21, the control device may also comprise a dedicated hardware circuit for performing a prescribed process (for example, compression, decompression, coding or decoding).
[0023] The I/F 24 is coupled to the SAN 11. The I/F 25 is coupled to the IP network 12. The disk I/F 26 is coupled to the storage device group.
[0024] The memory 22 stores various programs and information for the controller 27 to manage the storage system 20. The CPU 21 realizes various functions in accordance with executing a program based on the information stored in the memory 22.
[0025] The cache memory 23 is normally a volatile memory such as a DRAM (Dynamic Random Access Memory). The cache memory 23 temporarily stores data, which is to be written to any of the storage device groups, and data, which has been read from a storage device group. For example, the controller 27 receives a write request from the host computer 10, writes data conforming to this write request to the cache memory 23, and completes this write request (for example, sends a completion report with respect to the write request to the host computer 10).
[0026] The storage device group comprises multiple RAID (Redundant Array of Independent (or Inexpensive) Disks) groups. Data is stored in a RAID group in accordance with a prescribed RAID level. A logical volume (hereinafter, simply called VOL) is created based on the storage space of the RAID group. There is a VOL of the type, which is provided to the host computer 10, and there is a VOL of the type, which is not. The former VOL is specified in accordance with an I/O request from the host computer 10. The latter VOL, for example, is a component of a pool, which comprises a storage area for allocating to a virtual VOL (a VOL conforming to Thin Provisioning), which is provided to the host computer 10. As the RAID groups, for example, there is one or more first RAID groups 28, and one or more second RAID groups 29. The first RAID group 28 is configured using multiple first type storage devices, for example, HDDs (Hard Disk Drives) 28A. The second RAID group 29 is configured using multiple flash packages 29A. A RAID group of a prescribed level may be configured using these multiple flash packages 29A the same as the first RAID group 28. As will be explained further below, the flash package 29A comprises multiple FM (Flash Memory) chips 37.
[0027] Furthermore, in this example, the HDD 28A does not comprise functions for compressing and decompressing data, and the flash package 29A does comprise functions for compressing and decompressing data. However, the HDD 28A may comprise functions for compressing and decompressing data.
[0028] Fig. 3 shows an example of the configuration of the flash package 29A.
[0029] The flash package 29A comprises multiple FM chips 37, and an FM controller coupled thereto.
[0030] The FM chip 37, for example, is configured in accordance with multiple physical blocks. Each physical block is configured using multiple physical pages. The FM chip 37, for example, is a NAND-type flash memory. Each cell of the FM chip 37 may be a SLC (Single Level Cell) or a MLC (Multi Level Cell).
[0031] The FM controller comprises communication interface devices, storage devices, and a control device coupled thereto. As the communication interface devices, for example, there is a disk I/F 35 and a flash memory I/F 36. As the storage devices, for example, there is a memory 32 and a buffer 33. The control device, for example, comprises a CPU 31 and a data compression/decompression unit 34.
[0032] The memory 32 stores various types of programs and information for managing the flash package 29A. The CPU 31 realizes various functions in accordance with executing a program based on the information stored in the memory 32.
[0033] The buffer 33 is an area for temporarily storing data to be written to the FM chip 37 from the controller 27, and data to be read to the controller 27 from the FM chip 37. The buffer 33 may be a portion(s) of one or more FM chips 37.
[0034] The data compression/decompression unit 34, for example, is a hardware circuit, and comprises a function for compressing data stored in the buffer 33 from the controller 27, and decompressing compressed data (data, which has been compressed) stored in the buffer 33 from the FM chip 37.
[0035] The disk I/F 35 is coupled to the disk I/F 26 of the controller 27.
[0036] The flash memory I/F 36 is coupled to multiple FM chips 37 via multiple buses. The flash memory I/F 36 uses a CE (Chip Enable) signal to independently control multiple FM chips 37 coupled to the same bus.
[0037] The flash memory I/F 36 operates in accordance with a read/write request from the CPU 31. A physical address (PBA (Physical Block Address)) of a read source or a write destination area is specified in this read/write request. The flash memory I/F 36 computes a read-source or a write-destination physical block and physical page from this PBA, and performs a read/write process with respect to the computed physical block and physical page.

[0038] An ECC (Error Correction Code) creation circuit and an ECC correction circuit are provided in the flash memory I/F 36. At the time of a write, the ECC creation circuit creates an ECC with respect to compressed data in the buffer 33, and the compressed data is written to the FM chip 37 together with the ECC. Also, at the time of a read, the ECC correction circuit checks the compressed data (read data) from the FM chip 37 in the buffer 33, and in a case where a data loss has been detected, the compressed data is corrected in accordance with the ECC correction circuit in the buffer 33.」
(【0020】
図2は,ストレージシステム20の構成の一例を示す。
【0021】
ストレージシステム20は,コントローラ27,及び,コントローラ27に接続された記憶デバイス群を有する。記憶デバイス群は,異種の記憶媒体を含んで構成されても良いし,同種の記憶媒体より構成されても良い。
【0022】
コントローラ27は,通信インタフェースデバイス,記憶デバイス及びそれらに接続された制御デバイスを有する。通信インタフェースデバイスとして,例えば,I/F24,25及びディスクI/F26がある。記憶デバイスとして,例えば,メモリ22及びキャッシュメモリ23がある。制御デバイスとして,例えば,CPU21がある。制御デバイスは,CPU21のようなプロセッサの他に,所定の処理(例えば圧縮,伸長,暗号化又は復号化)を行う専用ハードウェア回路を含んでも良い。
【0023】
I/F24は,SAN11に接続される。I/F25は,IPネットワーク12に接続される。ディスクI/F26は,記憶デバイス群に接続される。
【0024】
メモリ22には,コントローラ27がストレージシステム20を管理するための各種プログラム,及び情報が記憶される。CPU21は,メモリ22に記憶された情報に基づき,プログラムを実行することにより各種機能を実現させる。
【0025】
キャッシュメモリ23は,通常DRAM(Dynamic Random Access Memory)等の揮発メモリである。キャッシュメモリ23は,記憶デバイス群のいずれかにライトされるデータ,及び記憶デバイス群からリードされたデータを一時的に格納する。例えば,コントローラ27は,ホスト計算機10からライト要求を受け付け,そのライト要求に従うデータをキャッシュメモリ23に書き込み,そのライト要求を完了させる(例えば,ライト要求に対する完了報告をホスト計算機10に送信する)。
【0026】
記憶デバイス群は,複数のRAID(Redundant Array of Independent(or Inexpensive)Disks))グループを有する。RAIDグループには,所定のRAIDレベルに従ってデータが格納される。RAIDグループの記憶空間を基に,論理ボリューム(以下,単にVOLと言う)が作成される。VOLは,ホスト計算機10に提供される種類のVOLもあれば,そうではない種類のVOLもある。前者のVOLは,ホスト計算機10からのI/O要求で指定される。後者のVOLは,例えば,ホスト計算機10に提供される仮想的なVOL(Thin Provisioningに従うVOL)に割り当てられる記憶領域を含んだプールの構成要素となる。RAIDグループとして,例えば,1以上の第1RAIDグループ28と,1以上の第2RAIDグループ29とがある。第1RAIDグループ28は,複数の第1種の記憶デバイス,例えばHDD(Hard Disk Drive)28Aで構成される。第2RAIDグループ29は,複数のフラッシュパッケージ29Aで構成される。第1RAIDグループ28と同様にして,この複数のフラッシュパッケージ29Aで,所定レベルのRAIDグループが構成されて良い。後述するが,フラッシュパッケージ29Aは,複数のFM(Flash Memory)チップ37を有する。
【0027】
なお,本実施例では,HDD28Aは,データを圧縮及び伸長する機能を有しておらず,フラッシュパッケージ29Aは,データを圧縮及び伸長する機能を有している。しかし,HDD28Aは,データを圧縮及び伸長する機能を有していても良い。
【0028】
図3は,フラッシュパッケージ29Aの構成の一例を示す。
【0029】
フラッシュパッケージ29Aは,複数のFMチップ37と,それらに接続されたFMコントローラとを有する。
【0030】
FMチップ37は,例えば,複数の物理ブロックで構成されている。各物理ブロックは複数の物理ページで構成されている。FMチップ37は,例えば,NAND型のフラッシュメモリである。FMチップ37の各セルは,SLC(Single Level Cell)でもMLC(Multi Level Cell)でも良い。
【0031】
FMコントローラは,通信インタフェースデバイスと,記憶デバイスと,それらに接続された制御デバイスを有する。通信インタフェースデバイスとしては,例えば,ディスクI/F35及びフラッシュメモリI/F36がある。記憶デバイスとしては,例えば,メモリ32及びバッファ33がある。制御デバイスは,例えば,CPU31及びデータ圧縮/伸長ユニット34を有する。
【0032】
メモリ32には,フラッシュパッケージ29Aを管理するための各種プログラム,及び情報が記憶される。CPU31は,メモリ32に記憶された情報に基づき,プログラムを実行することにより各種機能を実現させる。
【0033】
バッファ33は,コントローラ27からFMチップ37にライトするデータ,及びFMチップ37からコントローラ27にリードするデータを一時的に格納するための領域である。バッファ33は,1以上のFMチップ37の一部分であっても良い。
【0034】
データ圧縮/伸長ユニット34は,例えばハードウェア回路であり,コントローラ27からバッファ33に格納したデータを圧縮する機能,及び,FMチップ37からバッファ33に格納した圧縮データ(圧縮されているデータ)を伸長する機能を有する。
【0035】
ディスクI/F35は,コントローラ27のディスクI/F26に接続される。
【0036】
フラッシュメモリI/F36は,複数のバスを介して複数のFMチップ37に接続される。フラッシュメモリI/F36は,CE(Chip Enable)信号を用いて,同一バスに接続された複数のFMチップ37を独立して制御する。
【0037】
フラッシュメモリI/F36は,CPU31からのリード/ライト要求に応じて動作する。そのリード/ライト要求では,リード元或いはライト先の領域の物理アドレス(PBA(Physical Block Address))が指定されている。フラッシュメモリI/F36は,このPBAから,リード元或いはライト先の物理ブロック及び物理ページを算出し,算出した物理ブロック及び物理ページについてリード/ライト処理を行う。
【0038】
また,フラッシュメモリI/F36には,ECC(Error Correction Code)生成回路,及びECC訂正回路が備えられている。ライト時には,バッファ33で,ECC生成回路が圧縮データに対してECCを生成し,FMチップ37に圧縮データがECCと共にライトされる。また,リード時には,バッファ33で,FMチップ37からの圧縮データ(リードデータ)をECC訂正回路が検査し,データ損失が検出された場合には,バッファ33で,ECC訂正回路により,圧縮データの訂正が行われる。」(引用文献1の日本語公報である,特表2014-524601号公報より引用)

2.上記Aに引用した記載から,引用文献1には,次の発明(以下,これを「引用発明」という)が記載されているものと認める。

「ストレージシステム20は,コントローラ27,及び,コントローラ27に接続された記憶デバイス群を有し,
前記記憶デバイス群は,複数のRAID(Redundant Array of Independent(or Inexpensive)Disks))グループを有し,
前記RAIDグループには,所定のRAIDレベルに従ってデータが格納され,
前記RAIDグループの記憶空間を基に,論理ボリューム(以下,単にVOLと言う)が作成され,
前記VOLは,ホスト計算機10に提供される種類のVOLもあれば,そうではない種類のVOLもあり,
前者のVOLは,ホスト計算機10からのI/O要求で指定され,
後者のVOLは,例えば,ホスト計算機10に提供される仮想的なVOL(Thin Provisioningに従うVOL)に割り当てられる記憶領域を含んだプールの構成要素となり,
前記RAIDグループは,複数のフラッシュパッケージ29Aで構成され,
複数の前記フラッシュパッケージ29Aで,所定レベルのRAIDグループが構成されて良く,
前記フラッシュパッケージ29Aは,複数のFM(Flash Memory)チップ37を有し,
前記フラッシュパッケージ29Aは,データを圧縮及び伸長する機能を有し,
前記フラッシュパッケージ29Aは,前記複数のFMチップ37と,それらに接続されたFMコントローラとを有し,
前記FMコントローラは,通信インタフェースデバイスと,記憶デバイスと,それらに接続された制御デバイスを有し,
前記制御デバイスは,例えば,CPU31及びデータ圧縮/伸長ユニット34を有し,
前記データ圧縮/伸長ユニット34は,例えばハードウェア回路であり,前記コントローラ27から前記記憶デバイスに格納したデータを圧縮する機能,及び,前記FMチップ37から前記記憶デバイスに格納した圧縮データ(圧縮されているデータ)を伸長する機能を有する,ストレージシステム。」

3.原審拒絶理由に引用された,特開2010-191670号公報(平成22年9月2日公開,以下,これを「引用文献2」という)には,関連する図面と共に,次の事項が記載されている。

B.「【0015】
前記課題を解決するために,ストレージシステムの管理計算機(例えば,容量管理計算機120)は,記憶装置を共有するファイルシステム群について,ファイルシステムの性能や機能,過去の容量変化履歴を収集する。管理計算機は,収集した情報にもとづいて各ファイルシステムの空き容量がなくなるまでの時間を予測し,空き容量不足が発生する時間が長くなるファイルシステムの容量を計算する。そして,管理計算機は,各ファイルシステムの縮小および拡大を行う。
【0016】
また,管理計算機は,特性の異なるボリューム・ファイルシステムが複数ある構成において,前記のとおり収集した情報を用いて,各特性におけるファイルシステムの容量を計算し,システム全体としてその特性を活用できるようにファイルシステムの容量を計算し,適正容量を求める。
【0017】
そして,あるファイルシステムが現在の容量より小さい容量しか必要としない場合,そのファイルシステム中のファイルを異なる特性のファイルに移動させ,ファイルシステムの空き容量を増加させる。そして,前記管理計算機は,空き容量を増加させたファイルシステムの縮小を行い,未使用となったボリューム容量を他のファイルシステムに割り当てることで,システム全体の適正化を行う。」

4.原審拒絶理由に引用された,特開2008-112276号公報(平成20年5月15日公開,以下,これを「引用文献3」という)には,関連する図面と共に,次の事項が記載されている。

C.「【請求項1】
複数のプールを備え,ひとつ以上の通常ボリュームからなる前記プール上に構築されたひとつ以上の仮想ボリュームを有するストレージと,前記仮想ボリュームを管理する管理サーバとを備える仮想ボリュームの再配置システムであって,
前記管理サーバは,
前記プールの枯渇までの期間を予測する予測部と,
前記予測部の予測結果に基づいて複数の前記プール間で前記仮想ボリュームを再配置する再配置部とを備えた
ことを特徴とする再配置システム。」

5.原審拒絶理由に引用された,特開2012-118587号公報(平成24年6月21日公開,以下,これを「引用文献4」という)には,関連する図面と共に,次の事項が記載されている。

D.「【0062】
図7は,図2の管理装置により実行される記憶処理(SSD)の手順を示すフローチャートであり,ストレージとしてSSDを用いた場合を示す。
【0063】
図7の記憶処理は,管理装置7のCPU601により実行される。
【0064】
図7において,各SSDの供出領域の容量を管理テーブルから取得し(ステップS101),各SSDの供出領域の寿命値を算出する(ステップS102)(算出部)。この寿命値の詳細については,後述する。
【0065】
次いで,算出した寿命値順に記憶先の順番を指定し(ステップS103),PC6又は各SSDからのビッグボックスへの記憶要求を受信すると(ステップS104でYES),指定された順番に従って,データを記憶するようにMFPを制御して(ステップS105)(記憶制御部),ステップS102の処理に戻る。
【0066】
上述した寿命値について説明する。寿命値の算出方法には種々の方法が考えられるが,ここでは4種類の方法について説明する。まず1種類目の方法は,以下の式(1)により算出する方法である。
【0067】
寿命値=今までに記憶したデータの総量/供出領域の容量 … (1)
上記式(1)は,供出領域の使用量を示している。供出領域の容量を20GBとした場合,今までに30TBのデータを記憶したとすると,30000GB/20GB=1500で,寿命値は1500となる。この寿命値が大きいほどよく使用された領域であることを示している。例えば,図8に示される寿命値の場合,A,C,B‥の順に記憶先の順番が指定されることとなる。
【0068】
式(1)では,供出領域の容量を用いているので,供出領域の容量が異なる場合でも比較が可能となる。
【0069】
2種類目の方法は,以下の式(2)により算出する方法である。
【0070】
寿命値=(今までに記憶したデータの総量/供出領域の容量)/消去回数の上限値×100 … (2)
ここで,「今までに記憶したデータの総量」は,通算して供出領域に記憶されたデータのサイズであり,消去回数の上限値は,管理装置7による指示値でもよいし,ユーザによる任意の値でもよい。上記式(2)は,消去回数の上限値に対してストレージを使用している割合を示している。消去回数の上限値を10000とし,供出領域の容量が20GBの場合,今までに30TBのデータを記憶したとすると,(30000GB/20GB)/10000×100=15[%]で,寿命値は15[%]となる。この寿命値が大きいほどよく使用された領域であることを示している。式(2)では,供出領域の容量を用いているので,供出領域の消去回数の上限値が異なる場合においても比較が可能となる。
【0071】
3種類目の方法は,以下の式(3)により算出する方法である。
寿命値=(今までに記憶したデータの総量/供出領域の容量)/今までのストレージ使用時間 … (3)
式(3)は,単位時間当りの供出領域の使用量を示している。今までの供出領域の使用時間が1000時間であり,供出領域の容量として20GB供出している場合,今までに30TBのデータを記憶したとすると,(30000GB/20GB)/1000h=1.5/hで残寿命値は1.5/hとなる。この寿命値が大きいほどよく使用された領域であることを示している。式(3)では,供出領域の容量を用いているので,供出領域の消去回数の上限値が異なる場合においても比較が可能となる。また,単位時間当りの供出領域の使用量を比較することが可能となり,各ストレージの使用頻度を平準化することが可能となる。
【0072】
4種類目の方法は,以下の式(4)により算出する方法である。
【0073】
寿命値={(今までに記憶したデータの総量/供出領域の容量)/消去回数の上限値×100}/今までの供出領域の使用時間 … (4)
式(4)は,単位時間当りのビッグボックス使用率を示している。今までの供出領域の使用時間が1000時間であり,消去回数の上限値を10000,供出領域の容量として20GB供出している場合,今までに30TBのデータを記憶したとすると,{(30000GB/20GB)/10000×100}/1000h=0.015[%/h]で寿命値は0.015[%/h]となる。この寿命値が大きいほどよく使用された領域であることを示している。式(4)では,供出領域の容量を用いているので,供出領域の消去回数の上限値が異なる場合においても比較が可能となる。また,単位時間当りのビッグボックス使用率を比較することが可能となり,各ストレージの使用頻度を平準化することが可能となる。
【0074】
いずれの算出方法であっても,寿命がより多く残っている供出領域ほどデータを記憶するように制御される。
【0075】
図7の処理によれば,複数の供出領域の各々の寿命を示す寿命値を算出し(ステップS102),算出された寿命値に基づいて,寿命がより多く残っている供出領域ほどデータを記憶するようにMFPを制御する(ステップS105)ので,特定の記憶部にアクセスが集中しないようにし,記憶部の寿命を平準化できる。」

第6.本願発明と引用発明との対比及び相違点についての当審の判断
1.本願発明1と引用発明との対比
引用発明における「記憶デバイス群」は,複数の「フラッシュパッケージ29A」から構成されるものであり,当該「フラッシュパッケージ29A」は,複数の「フラッシュメモリ(FM)チップ37」から構成されるものであって,
引用発明における「記憶デバイス群」,「フラッシュパッケージ29A」,「FMチップ37」が,それぞれ,
本願発明1における「複数の半導体記憶ユニット」,「半導体記憶デバイス」,「不揮発性の半導体記憶媒体」に相当し,
引用発明における「コントローラ27」,「FMコントローラ」が,
本願発明1における「ストレージコントローラ」,「媒体コントローラ」に相当し,
引用発明において,「FMコントローラ」に含まれる「データ圧縮/伸張ユニット34」が,「FMチップ37」への入力データを圧縮し,「FMチップ37」からの出力データを伸張していることを踏まえると,
本願発明1と,引用発明との一致点,及び,相違点は次のとおりである。

[一致点]
それぞれが1以上の半導体記憶デバイスで構成された複数の半導体記憶ユニットと,
前記複数の半導体記憶ユニットに接続され,格納先の論理記憶領域に対してデータを格納するストレージコントローラと
を有し,
前記各半導体記憶デバイスが,1以上の不揮発性の半導体記憶媒体と,前記1以上の不揮発性の半導体記憶媒体に接続された媒体コントローラとを有し,
前記各半導体記憶デバイスについて,前記媒体コントローラは,前記論理記憶領域に格納されるデータを圧縮し圧縮されたデータを前記1以上の不揮発性の半導体記憶媒体に格納する,ストレージ装置。

[相違点1]
本願発明1においては,「各半導体記憶デバイスについて,前記論理記憶領域の論理アドレス空間の大きさは,前記1以上の不揮発性の半導体記憶媒体の物理アドレス空間の大きさの合計よりも大き」いものであるのに対して,
引用発明においては,そのような言及がない点。

[相違点2]
本願発明1においては,「ストレージコントローラは,仮想ボリュームを提供し,前記複数の半導体記憶ユニットは,前記仮想ボリュームに記憶領域が割り当てられるプールを構成し,前記ストレージコントローラは,前記複数の半導体記憶ユニットにそれぞれ対応した複数の半導体記憶ユニット残容量と,前記複数の半導体記憶ユニット残量の合計値であるプール残容量と,を管理し,前記ストレージコントローラは,非同期処理として,前記プール内の各半導体記憶ユニットについて,その半導体記憶ユニットが枯渇するリスクを算出するための枯渇関連情報であってその半導体記憶ユニット内での物理的な使用量に関する情報を含んだ枯渇関連情報を,その半導体記憶ユニットから取得し,前記各半導体記憶ユニットについて,前記取得された枯渇関連情報内の,物理的な使用量に関する情報に基づいて,その半導体記憶ユニットの容量が枯渇するリスクである容量枯渇リスクを算出し,前記各半導体記憶ユニットの前記算出された容量枯渇リスクに基づいて,前記複数の半導体記憶ユニットのうちのいずれかの容量枯渇リスクを軽減するようにデータ移動元および移動先の半導体記憶ユニットを決定して前記プール内の半導体記憶ユニット間でデータを移動する枯渇回避処理を実行する」ものであるのに対して,
引用発明においては,そのような言及がない点。

2.相違点についての当審の判断
(1)[相違点1]について,
引用文献2?引用文献4の何れにも,
“半導体記憶デバイス(例えば,SSD)において,論理記憶領域の論理アドレス空間の大きさは,当該半導体記憶デバイスに含まれる不揮発性の半導体記憶媒体の物理アドレス空間の大きさの合計よりも大き”くする点については,言及されていない。

(2)[相違点2]について,
上記Bに引用した記載内容から,引用文献2には,概略,
“ファイルシステムの空き容量を増加させ,増えた空き容量を,他のファイルシステムに割り当てる”,
ことが読み取れ,
上記Cに引用した記載内容から,引用文献3には,概略,
“プールの枯渇の予測と,それに基づく,仮想ボリュームの再配置”,
に関する技術が記載されていることが読み取れ,
上記Dに引用した記載内容から,引用文献4には,概略,
“SSDにおいて,供給領域の寿命値を算出し,当該算出した寿命値に基づいて,寿命がより多く残っている供出領域ほどデータを記憶するようにMFPを制御する”,
技術に関して記載されていることが読み取れる。
しかしながら,引用文献2?引用文献4の何れにも,[相違点2]のうち,特に,
“各半導体記憶ユニットについて記取得された枯渇関連情報内の,物理的な使用量に関する情報に基づいて,その半導体記憶ユニットの容量が枯渇するリスクである容量枯渇リスクを算出し,前記各半導体記憶ユニットの前記算出された容量枯渇リスクに基づいて,前記複数の半導体記憶ユニットのうちのいずれかの容量枯渇リスクを軽減するようにデータ移動元および移動先の半導体記憶ユニットを決定して前記プール内の半導体記憶ユニット間でデータを移動する”という点については,記載も示唆もされておらず,当該構成は,SSDの特性に関連する事項であって,本願の出願時点において,当業者に自明の事項といえるものでないことは,明らかである。

(3)以上,上記(1),(2)において検討したとおりであるから,本願発明1は,当業者であっても引用発明,引用文献2?引用文献4に記載された技術的事項に基づいて容易に発明できたものであるとはいえない。

3.本願発明2?本願発明10について
本願の請求項2?本願の請求項10は,本願の請求項1を直接・間接に引用するものであるから,本願発明2?本願発明10は,上記2.において検討した[相違点1],及び,[相違点2]に係る構成を有している。
したがって,本願発明2?本願発明10は,引用発明,引用文献2?引用文献4に記載された技術的事項に基づいて容易に発明できたものであるとはいえない。

4.本願発明11について
本願発明11は,発明のカテゴリが相違するものの,本願発明1と同等の構成を有するものであるから,上記2.において検討したとおり,引用発明,引用文献2?引用文献4に記載された技術的事項に基づいて容易に発明できたものであるとはいえない。

第7.原審拒絶査定について
審判請求時の補正により,本願発明1?本願発明11は,「相違点1」,及び,「相違点2」に係る構成を有するものとなっており,当業者であっても,拒絶査定において引用された引用文献1?引用文献4に基づいて,容易に発明できたものとはいえない。したがって,原査定の理由を維持することはできない。

第8.むすび
以上のとおり,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。

よって,結論のとおり審決する。
 
審決日 2018-06-18 
出願番号 特願2015-527122(P2015-527122)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 月野 洋一郎  
特許庁審判長 辻本 泰隆
特許庁審判官 須田 勝巳
石井 茂和
発明の名称 ストレージ装置および記憶制御方法  
代理人 特許業務法人ウィルフォート国際特許事務所  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ