• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1386067
総通号数
発行国 JP 
公報種別 特許審決公報 
発行日 2022-07-29 
種別 拒絶査定不服の審決 
審判請求日 2021-09-28 
確定日 2022-07-12 
事件の表示 特願2019− 41571「ソリッドステートストレージドライブアレイにおけるワークロード適応型オーバープロビジョニング」拒絶査定不服審判事件〔令和 1年10月 3日出願公開、特開2019−169141、請求項の数(24)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯
本件審判請求に係る出願(以下、「本願」という。)は、平成31年3月7日(パリ条約による優先権主張外国庁受理2018年3月8日、アメリカ合衆国)の出願であって、令和2年11月24日付けで拒絶理由通知がされ、令和3年1月28日に手続補正がされ、同年6月22日付けで拒絶査定がされ、これに対し、同年9月28日に拒絶査定不服審判の請求がされたものである。

第2 原査定の概要
原査定(令和3年6月22日付け拒絶査定)の概要は、次のとおりである。
請求項1−6、11−16、21−24に係る発明は、以下の引用文献1−3に基づいて、その発明の属する技術の分野における通常の知識を有する者(以下、「当業者」という。)が容易に発明できたものであるから、特許法29条2項の規定により特許を受けることができない。
引用文献等一覧
1.特開2017−037501号公報
2.米国特許出願公開第2016/0162205号明細書
3.国際公開第2016/117026号

第3 本願発明
本願請求項1−24に係る発明(以下、それぞれ「本願発明1」ないし「本願発明24」という。)は、令和3年1月28日にされた手続補正で補正された特許請求の範囲の請求項1−24に記載された事項により特定される発明であり、本願発明1、および、本願発明11は、それぞれ以下のとおりの発明である。なお、符号「1A」ないし「1F」、「11A」ないし「11F」は、当審において付与したものであり、それぞれの構成を、「構成1A」などという。

「【請求項1】
1A ソリッドステートストレージドライブアレイ内のオーバープロビジョニングを管理するための方法であって、
1B ドライブ状態モニタにおいて、複数のソリッドステートストレージドライブの各々から使用データと疲弊データとを受け取ることと、
1C 解析エンジンによって、少なくとも前記使用データと前記疲弊データとに基づいて予測される疲弊データを決定することと、
1D 前記解析エンジンによって、前記予測される疲弊データに基づいて、前記複数のソリッドステートストレージドライブの各々の予測される耐用年数の値を決定することと、
1E 前記解析エンジンによって、前記予測される耐用年数の値の各々を、各ソリッドステートストレージドライブの予め決められた耐用年数の値と比較することと、
1F 仮想化器によって、前記比較することの結果に基づいて、前記複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を動的に調整することとを含む方法。」

「【請求項11】
11A ソリッドステートストレージドライブアレイ内のオーバープロビジョニングを管理するためのシステムであって、
11B 各々のソリッドステートストレージドライブが使用データを記録するように構成される複数のソリッドステートストレージドライブと、
11C 前記複数のソリッドステートストレージドライブの各々と通信で結合されたドライブ状態モニタであって、前記複数のソリッドステートストレージドライブの各々に前記使用データと疲弊データとを要求するように構成されるドライブ状態モニタと、
11D 前記ドライブ状態モニタから期間中に受け取られた前記使用データおよび前記疲弊データの一連の値を格納するように構成される遠隔測定データベースと、
11E 前記遠隔測定データベースに通信で結合された解析エンジンであって、少なくとも前記使用データと前記疲弊データとに基づいて予測される疲弊データを決定し、前記予測される疲弊データに基づいて前記複数のソリッドステートストレージドライブの各々の予測される耐用年数の値を決定するように構成される解析エンジンと、
11F 前記解析エンジンに通信で結合された仮想化器であって、前記複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を、そのソリッドステートストレージドライブの前記予測される耐用年数の値と、そのソリッドステートストレージドライブの予め決められた耐用年数の値との比較結果に基づいて、動的に調整するように構成される仮想化器と、を具備するシステム。」

また、本願発明2−10、21、23は、本願発明1を減縮した発明であり、本願発明12−20、22、24は、本願発明11を減縮した発明である。

第4 引用文献、引用発明等
1 引用文献1について
(1)引用文献1の記載
原査定の拒絶の理由に引用された引用文献1(特開2017−037501号公報)には、図面とともに次の事項が記載されている(下線は当審が付与した。「・・・」は、省略した部分があることを示す。以下、同じ。)。

ア「【技術分野】
【0001】
本発明はストレージ制御装置およびストレージ制御プログラムに関する。
【背景技術】
【0002】
現在、データの保存にストレージ装置が利用されている。ストレージ装置は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶装置を複数搭載して大容量の記憶領域を利用可能とする。ストレージ装置は、記憶装置に対するデータの書き込みや読み出しのアクセス制御を行うストレージ制御装置に接続される。ストレージ装置は、ストレージ制御装置を内蔵することもある。
【0003】
ここで、例えばSSDのように内蔵の記憶素子への書き込み回数に制限がある記憶装置が存在する。このような記憶装置では、ウェアレベリング(wear leveling)と呼ばれる製品寿命を延ばす制御が行われることがある。ウェアレベリングでは、記憶装置の物理的な記憶領域の一部をウェアレベリング用の余裕容量として確保する。そして、記憶装置は、ユーザに割り当てられた特定の記憶領域に対して書き込みが集中しないよう、余裕容量を用いて書き込みを分散させる。これにより、記憶素子毎の被書き込み回数の平準化を図れ、記憶装置の製品寿命を延ばせる。なお、余裕容量として確保された記憶領域は、例えば記憶装置のファームウェアによりユーザからは隠蔽される。
・・・
【発明が解決しようとする課題】
【0006】
上記のように、記憶装置(例えばSSD)には、ウェアレベリング用の余裕容量を備えるものがある。そこで、余裕容量からユーザ容量を拡張することが考えられる。ところが、余裕容量のサイズは、記憶装置の保証期間内における総書き込み可能データ量(TBW:Total Bytes Witten)に影響する。具体的には、ユーザ容量に対し、余裕容量が大きいほどTBWも増加し、余裕容量が小さいほどTBWも低下する。このため、記憶装置に対して実際に発生する書き込み量によっては、記憶装置に対する累積の書き込み量がTBWを上回る可能性がある。累積の書き込み量がTBWを上回ると、記憶装置におけるデータ保存の信頼性が低下するおそれがあるという問題がある。
【0007】
1つの側面では、本発明は、データ保存の信頼性を維持できるストレージ制御装置およびストレージ制御プログラムを提供することを目的とする。」
【課題を解決するための手段】
【0008】
1つの態様では、記憶装置に対するアクセスを制御するストレージ制御装置が提供される。このストレージ制御装置は記憶部と制御部とを有する。記憶部は、記憶装置の余裕容量およびユーザに割り当てるユーザ容量に対する記憶装置の保証期間内の総書き込み可能データ量の関係を示す管理情報を記憶する。制御部は、現状のユーザ容量と余裕容量とを記憶装置から取得し、所定のタイミングで、記憶装置のデータの累積書き込み量と稼働時間とから保証期間内の最大書き込み量を予測し、余裕容量を用いてユーザ容量を拡張する際に、管理情報に基づいて、拡張後の総書き込み可能データ量が最大書き込み量を下回らないよう拡張量を制限する。」

イ「【0012】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ制御装置を示す図である。ストレージ制御装置1は、記憶装置2に対するデータアクセスを制御する。記憶装置2は、書き込み回数に上限がある記憶装置であり、例えばSSDである。ストレージ制御装置1は、コントローラモジュールまたは単にコントローラと呼ばれることもある。
・・・
【0015】
ストレージ制御装置1は、記憶部1aおよび制御部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、フラッシュメモリなどの不揮発性記憶装置でもよい。制御部1bは、例えばプロセッサである。プロセッサは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。また、制御部1bは、マルチプロセッサであってもよい。
【0016】
記憶部1aは、記憶装置2のうちユーザに割り当てるユーザ容量および余裕容量に対する記憶装置2の保証期間内の総書き込み可能データ量(TBW)の関係を示す管理情報T1を記憶する。管理情報T1は、余裕容量からユーザ容量を割り当てる場合における、ユーザ容量とTBWとの相関関係を示す情報である。TBWは、記憶装置2の製品としての保証期間内において保証される書き込み可能な総データ量である。
【0017】
図1では、管理情報T1の内容をグラフにより図示している。グラフの原点は、余裕容量からユーザ容量に割り当てられている記憶容量が“0”であることを示す。例えば、当該グラフの横軸には、ユーザ容量として、“A0”、“A1”、“A2”、“A3”(A0<A1<A2<A3)が示されている。“A0”は、余裕容量を用いた拡張を行う前のユーザ容量である(余裕容量が最大の状態)。“A1”、“A2”、“A3”は、余裕容量の一部を割いて拡張した後のユーザ容量の値である。すなわち、ユーザ容量が“A1”、“A2”、“A3”と大きくなるほど、余裕容量が小さくなる。
【0018】
図1のグラフの縦軸には、TBWの値(例えば、バイトなどのデータ量の単位で表わされる量)として、“B0”、“B1”、“B2”、“B3”(B0>B1>B2>B3)が示されている。“B0”は、ユーザ容量が“A0”である場合のTBWである。管理情報T1によれば、余裕容量を用いてユーザ容量を拡張する際の拡張量が大きいほど、TBWが低下することが分かる。
【0019】
制御部1bは、現状のユーザ容量と余裕容量とを記憶装置2から取得する。これにより、制御部1bは、記憶装置2の容量構成が現在どのようになっているかを確認する。制御部1bは、所定のタイミングで、記憶装置2のデータの累積書き込み量と稼働時間とから記憶装置2に対する保証期間内の最大書き込み量を予測する。所定のタイミングは、例えば、1日1回などの周期的なタイミングでもよいし、ユーザ容量に格納済のデータ量の当該ユーザ容量に対する割合に応じたタイミング(例えば、80%使用済となったタイミングなど)でもよい。制御部1bは、例えば累積書き込み量、稼働時間および保証期間(例えば、5年や10年など)の情報を記憶装置2から取得することができる。そして、制御部1bは、次の式(1)により保証期間内の最大書き込み量を予測する。
【0020】
最大書き込み量=累積書き込み量×(保証期間/稼働時間) ・・・(1)
制御部1bは、余裕容量を用いてユーザ容量を拡張する際に、記憶部1aに記憶された管理情報T1に基づいて、拡張後の総書き込み可能データ量(TBW)が最大書き込み量を下回らないように拡張量を制限する。」

ウ「【0026】
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、ストレージ装置10、管理サーバ20および業務サーバ30を含む。ストレージ装置10および業務サーバ30は、SAN(Storage Area Network)5に接続されている。SAN5は、ストレージ装置10に対する高速アクセスに適したネットワークである。ストレージ装置10、管理サーバ20および業務サーバ30は、LAN(Local Area Network)6に接続されている。LAN6は、管理サーバ20により、ストレージ装置10や業務サーバ30の運用管理に用いられるネットワークである。
・・・
【0030】
図3は、ストレージ装置のハードウェア例を示す図である。ストレージ装置10は、CM(Controller Module)100およびDE(Drive Enclosure)200を有する。CM100は、業務サーバ30からの要求に応じたDE200に対するデータアクセスを制御する。CM100は、DE200が内蔵する複数のSSD(またはHDD)を組み合わせて論理ボリュームを作成し、ユーザに割り当てる。また、CM100は、管理サーバ20のWebブラウザに運用管理用のGUI(Graphical User Interface)を提供する。例えば、システムの管理者は、管理サーバ20のWebブラウザが表示するGUIを操作して、ユーザに割り当てる論理ボリュームのサイズの拡張をCM100に指示できる。CM100は、第1の実施の形態のストレージ制御装置1の一例である。
・・・
【0039】
DE200は、SSD211、212、213、・・・およびSSD221、222、223、・・・を有する。SSD211、212、213、・・・は、ユーザに対して割り当て済(既にユーザ容量として利用中)の記憶装置である。SSD221、222、223、・・・は、ユーザに対して未割り当ての記憶装置である。SSD221、222、223、・・・は、SSD211、212、213、・・・に対して追加または代替して用いられるスペアの記憶装置である。
【0040】
ここで、CM100は、DEが内蔵する複数のSSDを組み合わせて、RAID(Redundant Arrays of Inexpensive Disks)の技術により論理ボリュームを作成し、ユーザに提供する。ある論理ボリュームを形成するSSDの集合をRAIDグループと称することがある。1つのRAIDグループには、業務サーバ30からのアクセス対象となる1つ以上の論理ボリュームが含まれる。論理ボリュームには論理ボリュームを識別する論理ユニット番号(LUN:Logical Unit Number)が割り当てられる。例えば、業務サーバ30は、LUNおよび論理ボリュームのLBA(Logical Block Address)を指定して、ストレージ装置10に対するデータアクセスを行える。この場合、RAIDグループから割り当てられた論理ボリュームのサイズが、ユーザ容量ということになる。また、以下の説明では、各RAIDグループには、余裕容量以外の空き容量(ユーザ容量として割り当てられていない記憶領域)が存在していないものとする。」

エ「【0048】
NA27は、LAN6を介して他の装置と通信を行う。NA27は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図5は、CMの機能例を示す図である。CM100は、記憶部110、収集部120、予測部130および拡張処理部140を有する。記憶部110は、例えば、RAM102またはNVRAM103に確保された記憶領域として実現される。収集部120、予測部130および拡張処理部140は、例えば、RAM102に記憶されたプログラムを、プロセッサ101が実行することで実現される。
【0049】
記憶部110は、RAID管理テーブル、TBW管理テーブルおよび拡張量上限管理テーブルを記憶する。RAID管理テーブルは、各RAIDグループに属するSSDのユーザ容量などを管理するための情報である。TBW管理テーブルは、各SSDのユーザ容量とTBWとの対応関係を管理するための情報である。拡張量上限管理テーブルは、SSDのウェアレベリング用の余裕容量から拡張できる論理ボリュームの拡張量の上限をRAIDグループ毎に管理するための情報である。記憶部110は、SSD毎の保証期間の情報も記憶する。
【0050】
収集部120は、SSDに関する各種のスペック情報を各SSDから収集し、記憶部110に格納する。例えば、スペック情報は、SSDにおける現状のユーザ容量、余裕容量のサイズを含む。また、例えば、スペック情報は、SSDにおけるユーザ容量および余裕容量とTBWとの対応関係の情報を含む。更に、スペック情報は、SSDの保証期間の情報を含む。
【0051】
予測部130は、保証期間内における最大書き込み量をSSD毎に予測する。具体的には、所定のタイミングで、各SSDに対してlog senseコマンドを発行する。これにより、収集部120は、運用開始からの累積書き込み量と運用開始からの総稼働時間を取得する。累積書き込み量は、該当のSSDに書き込みされたデータ量の総計である。予測部130は、取得した情報をSSDの識別情報に対応付けて記憶部110に格納する。そして、予測部130は、各SSDの保証期間内における最大書き込み量を、式(1)を用いて算出する。予測部130は、各SSDの保証期間内における最大書き込み量の予測結果を、SSDの識別情報に対応付けて、記憶部110に格納する。
【0052】
拡張処理部140は、予測部130による予測結果および記憶部110に記憶されたTBW管理テーブルに基づいて、ユーザ容量の拡張量の上限をRAIDグループ毎に求める。拡張処理部140は、求めた拡張量の上限を、RAIDグループの識別情報に対応付けて拡張量上限管理テーブルに登録する。
【0053】
ここで、RAIDグループには複数のSSDが属するため、各SSDで、保証期間内の最大書き込み量の予測結果が異なっていることも考えられる。その場合、拡張処理部140は、RAIDグループに属する複数のSSDのうち、保証期間内に予測される最大書き込み量が最も大きなSSDによって、当該RAIDグループにおけるユーザ容量の拡張量の上限を決定する。
・・・
【0055】
拡張処理部140は、あるRAIDグループにおけるユーザ容量について拡張量の上限に対する問い合わせを管理サーバ20から受け付けると、記憶部110に記憶された拡張量上限管理テーブルを参照して、当該上限を応答する。
【0056】
拡張処理部140は、応答した上限の範囲内での拡張指示を管理サーバ20から受け付けると、該当のRAIDグループに属する各SSDについて余裕容量を基にユーザ容量の拡張を行う。」

オ「【図1】



カ「【図2】



キ「【図3】



ク「【図5】



(2)引用発明の認定
ア 上記(1)アによれば、引用文献1には、物理的な記憶容量の一部をウェアレベリング用の余裕容量として確保するSSDを複数搭載したストレージ装置について、データ保存の信頼性を維持することを目的として、余裕容量からユーザ容量を拡張する際に、拡張後の総書き込みデータ量が最大書き込み量を下回らないように、拡張量を制限することが開示されている。

イ 上記(1)ウ、カ、キによれば、引用文献1の【0030】には、「ストレージ装置10は、CM(Controller Module)100およびDE(Drive Enclosure)200を有する」ことが記載され、同【0039】には、「DE200は、SSD211、212、213、・・・およびSSD221、222、223、・・・を有する」こと、すなわち、「DE200」は、“複数のSSD”を有することが記載されている。そして、同【0040】によれば、「CM100」は、「DE200が内蔵する複数のSSDを組み合わせて、RAIDの技術により論理ボリュームを作成し、ユーザに提供する」ことが記載されるとともに、「ある論理ボリュームを形成するSSDの集合をRAIDグループと称することがある」旨記載されている。
以上より、引用文献1には、「複数のSSDを有するDE(Drive Enclosure)200と、DE200が内蔵する複数のSSDを組み合わせて、RAIDグループと称する論理ボリュームを作成し、ユーザに提供するCM(Controller Module)100とを有する、ストレージ装置10」が記載されていると認められる。

ウ 上記(1)エおよびクによれば、引用文献1の【0048】には、「CM100」が「記憶部110、収集部120、予測部130および拡張処理部140を有する」ことが記載されている。

エ 上記(1)エによれば、引用文献1の【0049】には、「記憶部110は、RAID管理テーブル、TBW管理テーブルおよび拡張量上限管理テーブルを記憶する」こと、および、「RAID管理テーブルは、各RAIDグループに属するSSDのユーザ容量などを管理するための情報である」こと、「TBW管理テーブルは、各SSDのユーザ容量とTBWとの対応関係を管理するための情報である」こと、「拡張量上限管理テーブルは、SSDのウェアレベリング用の余裕容量から拡張できる論理ボリュームの拡張量の上限をRAIDグループ毎に管理するための情報である」ことが記載されている。
ここで、「TBW」とは、上記(1)アによれば、「記憶装置の保証期間内における総書き込み可能データ量」である。

オ 上記(1)エによれば、引用文献1の【0050】には、「収集部120は、SSDに関する各種のスペック情報を各SSDから収集し、記憶部110に格納する」ことが記載され、同【0051】には、「予測部130は、保証期間内における最大書き込み量をSSD毎に予測する」ことが記載され、「具体的には、所定のタイミングで、各SSDに対してlogsenseコマンドを発行する。これにより、収集部120は、運用開始からの累積書き込み量と運用開始からの総稼働時間を取得する。」と記載されている。また、同段落には、「予測部130は、各SSDの保証期間内における最大書き込み量を、式(1)を用いて算出する」ことが記載されている。ここで、「式(1)」とは、上記(1)イの【0020】によれば、「最大書き込み量=累積書き込み量×(保証期間/稼働時間)」である。
以上より、引用文献1には、「収集部120は、所定のタイミングで、各SSDから、運用開始からの累積書き込み量と運用開始からの総稼働時間を取得する」ことと、「予測部130は、各SSDの保証期間内における最大書き込み量を、累積書き込み量×(保証期間/稼働時間)により算出する」ことが記載されていると認められる。

カ 上記(1)エによれば、引用文献1の【0052】には、「拡張処理部140は、予測部130による予測結果および記憶部110に記憶されたTBW管理テーブルに基づいて、ユーザ容量の拡張量の上限をRAIDグループ毎に求める」ことと、「拡張処理部140は、求めた拡張量の上限を、RAIDグループの識別情報に対応付けて拡張量上限管理テーブルに登録する」ことが記載され、同【0055】には、「拡張処理部140は、あるRAIDグループにおけるユーザ容量について拡張量の上限に対する問い合わせを管理サーバ20から受け付けると、記憶部110に記憶された拡張量上限管理テーブルを参照して、当該上限を応答する」ことが記載され、同【0056】には、「拡張処理部140は、応答した上限の範囲内での拡張指示を管理サーバ20から受け付けると、該当のRAIDグループに属する各SSDについて余裕容量を基にユーザ容量の拡張を行う」ことが記載されている。
以上より、引用文献1には、「拡張処理部140は、予測部130による予測結果および記憶部110に記憶されたTBW管理テーブルに基づいて、ユーザ容量の拡張量の上限をRAIDグループ毎に求め、求めた拡張量の上限を、RAIDグループの識別情報に対応付けて拡張量上限管理テーブルに登録し、あるRAIDグループにおけるユーザ容量について拡張量の上限に対する問い合わせを管理サーバ20から受け付けると、記憶部110に記憶された拡張量上限管理テーブルを参照して、当該上限を応答し、応答した上限の範囲内での拡張指示を管理サーバ20から受け付けると、該当のRAIDグループに属する各SSDについて余裕容量を基にユーザ容量の拡張を行う」ことが記載されていると認められる。

キ 以上をまとめると、引用文献1には、次の発明(以下、「引用発明」という。)が記載されていると認められる。なお、符号「a」ないし「f」は、当審において付与したものであり、それぞれの構成を、「構成a」などという。

<引用発明>
「a 複数のSSDを有するDE(Drive Enclosure)200と、DE200が内蔵する複数のSSDを組み合わせて、RAIDグループと称する論理ボリュームを作成し、ユーザに提供する、CM(Controller Module)100とを有する、ストレージ装置10において、
b 前記CM100は、記憶部110と、収集部120と、予測部130と、拡張処理部140とを有し、
c 前記記憶部110は、各RAIDグループに属するSSDのユーザ容量などを管理するための情報であるRAID管理テーブルと、各SSDのユーザ容量と、記憶装置の保証期間内における総書き込み可能データ量であるTBWとの対応関係を管理するための情報であるTBW管理テーブルと、SSDのウェアレベリング用の余裕容量から拡張できる論理ボリュームの拡張量の上限をRAIDグループ毎に管理するための情報である拡張量上限管理テーブルとを記憶し、
d 前記収集部120は、所定のタイミングで、各SSDから、運用開始からの累積書き込み量と運用開始からの総稼働時間を取得し、
e 前記予測部130は、各SSDの保証期間内における最大書き込み量を、累積書き込み量×(保証期間/稼働時間)により算出し、
f 前記拡張処理部140は、前記予測部130による予測結果および前記記憶部110に記憶されたTBW管理テーブルに基づいて、ユーザ容量の拡張量の上限をRAIDグループ毎に求め、求めた拡張量の上限を、RAIDグループの識別情報に対応付けて拡張量上限管理テーブルに登録し、あるRAIDグループにおけるユーザ容量について拡張量の上限に対する問い合わせを管理サーバ20から受け付けると、前記記憶部110に記憶された拡張量上限管理テーブルを参照して、当該上限を応答し、応答した上限の範囲内での拡張指示を管理サーバ20から受け付けると、該当のRAIDグループに属する各SSDについて余裕容量を基にユーザ容量の拡張を行うこと。」

2 引用文献2、3について
(1)引用文献2に記載された技術事項
原査定の拒絶の理由に引用された引用文献2(米国特許出願公開第2016/0162205号明細書)には、図面とともに次の事項が記載されている(下線は当審が付与した。「・・・」は、省略した部分があることを示す。以下、同じ。)。

ア「[0022] FIG. 1 illustrates an embodiment of a host system 100 in communication with a storage device 102. The storage device 102 includes a non-volatile memory controller 104 to perform read, write and failure recovery operations with respect to a non-volatile memory storage array 106. The host 100 may send host read and write requests to the storage device 102 to read and write data with respect to the non-volatile memory storage array 106.
[0023] The storage device 102 may comprise a flash device, an SPI flash device, a solid state storage drive (SSD), a flash controller and flash device (e.g., NAND or NOR), and other read/write storage type devices, such as a memory device, disk drive, etc. The storage device 102 may comprise any storage device that would benefit by optimally managing write amplification.
・・・
[0027] The controller 104 includes a an Input/output (I/O) manager 118 to manage read and write requests from the host 100, a flash translation layer 120 to translate logical addresses used by the host operating system 112 to physical locations in the storage array 106; spare block information 122 indicating spare blocks of pages that comprise overprovisioned storage unavailable to the user and for use in garbage collection to consolidate pages in blocks in the user space; free block information 124 indicating blocks of pages that do not have storage and are available to the user; and consumption profile information of the storage device 102. The controller 104 may further include a spare space adjustment module 128 to adjust the spare space or amount of blocks provisioned in the spare space list 124 depending on write activity (i.e., wear level) in the storage device 102. The spare space adjustment module 128 includes a write amplification function 300 that indicates an amount of spare space that should be provisioned for different measured write amplifications.
[0028] Spare space, also known as reserve capacity, comprises space hidden from the user but available to the controller 104 for garbage collection and other management operations. User space, also known as user capacity, comprises memory space available to the user of the host system 100 through the storage device driver 116 and host operating system 112.」
(当審訳)
「[0022] 図1は、記憶装置102と接続されるホストシステム100の一実施形態を示す図である。記憶装置102は、不揮発性メモリ記憶アレイ106に対して読み出し、書き込み、障害復旧動作を実行するために、不揮発性メモリコントローラ104を含む。ホスト100は、記憶装置102へのホスト読取り要求および書込み要求を送信し、不揮発性メモリ記憶アレイ106に対するデータの読み出しおよび書き込みを行うことができる。
[0023] 記憶装置102は、フラッシュ装置、SPIフラッシュ装置、ソリッドステートドライブ(SSD)、フラッシュコントローラおよびフラッシュデバイス(例えば、NANDまたはNOR)、および、メモリ装置、ディスクドライブ等のその他の読取/書込記憶装置を含む。記憶装置102は、書き込み増幅を最適に管理することによって恩恵を受ける任意の記憶装置を含むことができる。
・・・
[0027] コントローラ104は、ホスト100からの読み取りおよび書き込み要求を管理するための入力/出力(I/O)マネージャ118と、ホストオペレーティングシステム112によって使用される論理アドレスを記憶アレイ106内の物理的な位置に変換するためのフラッシュ変換層120と、ユーザは使用不能であって、ユーザスペースのブロックのページを統合するためのガベージコレクションで使用する、オーバープロビジョニングされたストレージを含むページの予備ブロックを示す予備ブロック情報122と、ユーザが使用でき、ストレージのないページのブロックを示す空きブロック情報124と、記憶装置102の消耗プロファイル情報とを含む。コントローラ104は、記憶装置102内の書き込みアクティビティ(すなわち、摩耗レベル)に応じて、予備スペースまたは予備スペースリスト124にプロビジョニングされたブロックの量を調整するための予備スペース調整モジュール128をさらに含むことができる。予備スペース調整モジュール128は、測定された異なる書き込み増幅値のために準備されるべきである予備スペースの量を示す書き込み増幅関数300を含む。
[0028] 予約容量としても知られる予備スペースは、ユーザから隠されているが、ガベージコレクションや他の管理操作のためにコントローラ104に利用可能なスペースを含む。また、ユーザ容量としても知られるユーザスペースは、ホストオペレーティングシステム112とストレージデバイスドライバ116を介して、ホストシステム100のユーザに利用可能なメモリスペースを含む。」

イ「[0030] FIG. 2 illustrates an embodiment of the consumption profile information 200 as including a power-on duration 202 indicating an amount of time, in hours, days, minutes, etc., that the storage device 102 has been in the power-on state; host writes 204 indicating an amount of data sent by the host to write, such as in gigabytes (GB), or a number of writes by the host 100; storage writes 206 indicating an amount of data written or number of write cycles for data written to the storage array 106 in the storage device 102, such as the NAND cells; a maximum storage writes 208, such as in bytes or number of storage writes that can be written to the storage array 106 over its lifetime; and an estimated lifespan 200 indicating an estimated duration of the storage device 102, such as a warrantied or advertised lifetime. The consumption profile information 200 may comprise S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) gathered by the storage device controller 104.
[0031] FIG. 3 illustrates an embodiment of the write amplification function 300 showing the percentage of spare space of the total storage array 106 as a function of the write amplification values. The write amplification may be calculated as storage writes 206 divided by host writes 204. The write amplification function 300 may be created by the storage device 102 manufacturer based on testing that provides spare space percentages for different write amplifications that optimize performance by providing sufficient spare space to minimize the write amplification and wear leveling and maximize the available user space.
[0032] FIG. 4 illustrates an embodiment of operations performed the spare space adjustment module 128 to adjust the spare space in the storage arrays 106. As mentioned, the spare space adjustment module 128 may be implemented in the host system storage device driver 116 and/or the storage device controller 104. Upon initiating (at block 400) an operation to adjust the spare space, the spare space adjustment module 128 determines (at block 401) a current write amplification based on the storage writes 206 and the host writes 204, such as dividing the storage writes 206 by the host writes 204. An adjustment to the current write amplification is determined (at block 402) based on the estimated lifespan 210, maximum writes 208, storage writes 206, and the powered-on duration 202, which information may be gathered from the storage device 100. The spare space adjustment module 128 determines (at block 403) an adjusted write amplification by adjusting the current write amplification by the determined adjustment. FIG. 5 provides further details on how the adjustment to the write amplification may be determined.」
(当審訳)
「[0030] 図2は、消耗プロファイル情報200の実施形態であり、時間、日、分等の、記憶装置102が電源オン状態にされている時間量を示すパワーオン持続時間202、ギガバイト(GB)といった、書き込みのためにホストにより送信されたデータの量やホスト100による書き込み処理の数を示すホスト書き込み204、NANDセルのような、記憶装置102の記憶アレイ106に書かれたデータの書き込み量や書き込みサイクルの数を示すストレージ書き込み206、記憶アレイ106の製品寿命を通して書き込むことができるバイト数や書き込み数である最大ストレージ書き込み208、保証されるかもしくは宣伝された製品寿命のような、記憶装置102の推定持続時間を示す推定寿命210を含む。消耗プロファイル情報200は、記憶装置コントローラ104によって収集されたS.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)を含んでもよい。
(※審決注:原文の[0030]における"estimated lifespan 200"は、"estimated lifespan 210"の誤記と解した。)
[0031] 図3は、全記憶アレイ106の予備スペースの率を、書き込み増幅値の関数として示す、書き込み増幅関数300の実施形態を示している。書き込み増幅値は、ストレージ書き込み206をホスト書き込み204により除算することで計算することができる。書き込み増幅関数300は、記憶装置102の製造業者によって、書き込み増幅値およびウェアレベリングを最小限に抑え、利用可能なユーザスペースを最大にするのに十分な予備スペースを提供することにより性能を最適化させるような、異なる書き込み増幅値に対して予備スペース率を与えるテストを行うことにより作成されてよい。
[0032] 図4は、記憶アレイ106内の予備スペースを調整する予備スペース調整モジュール128を実行する動作の一実施形態を示す図である。上述したように、予備スペース調整モジュール128は、ホストシステムのストレージデバイスドライバ116および/または記憶装置コントローラ104において実施される。予備スペースの調整のための操作を開始する(ブロック400)際に、予備スペース調整モジュール128は、ストレージ書き込み206をホスト書き込み204により除算するなど、ストレージ書き込み206およびホスト書き込み204に基づいて、現在の書き込み増幅値を決定する(ブロック401)。現在の書き込み増幅値についての調整量は、記憶装置100より収集することができる推定寿命210、最大書き込み208、ストレージ書き込み206、及びパワーオン持続時間202に基づいて決定される(ブロック402)。スペース調整モジュール128は、決定された調整量によって現在の書き込み増幅値を調整することによって、現在の書き込み増幅値を決定する(ブロック403)。図5は、書き込み増幅値に対する調整を決定する方法に関するさらなる詳細を提供する。」

ウ「FIG.1



エ「FIG.2, FIG.3



オ「FIG.4



カ 上記アないしオによれば、引用文献2には、以下の技術事項が記載されていると認められる。

「SSDを含む記憶装置のオーバープロビジョニングされた予備スペースの量を調整する際に、保証されるかもしくは宣伝された製品寿命のような推定持続時間である推定寿命を用いること。」

(2)引用文献3に記載された技術事項
原査定に引用された引用文献3(国際公開第2016/117026号)には、以下のとおりの記載がある(下線は当審が付与した。「・・・」は、省略した部分があることを示す。以下、同じ。)。

ア「【発明の詳細な説明】
[0001] 本発明は、不揮発性半導体メモリを用いたストレージシステムに関する。
・・・
[0003] フラッシュメモリを用いたストレージ装置(フラッシュストレージ)には、書き換え回数(消去回数)に制限がある、という特性がある。そのため、特定の記憶領域に対する書き換えが頻発すると、その領域が早い段階で寿命を迎え(アクセスできなくなる)、結果としてそのフラッシュストレージ全体が使用できなくなる。
・・・
[0008] 本発明の一観点に係るストレージシステムは、ストレージコントローラと複数の記憶デバイスを有する。各記憶デバイスは、エラービット数(リード時に発生した、コレクタブルエラーの数)に基づいて劣化度を算出して、ストレージコントローラに送信する。ストレージコントローラは、受信した各記憶デバイスの劣化度に基づいて各RAIDグループの寿命を算出することにより、目標耐用年数(ターゲット寿命)を待たずに寿命を迎えると予測されるRAIDグループを特定し、特定されたRAIDグループに格納されているデータを、別のRAIDグループに移動する。
[0009] 本発明によれば、各記憶媒体の寿命を平滑化でき、耐用年数までの使用を保証することができる。
・・・
[0014] 図1は、実施例に係るストレージ装置(ストレージシステム)1の構成を示す。ストレージ装置1は、ストレージコントローラ10と、ストレージコントローラ10に接続された複数のフラッシュメモリパッケージ(FMPK)20を有する。
[0015] FMPK20は、ホスト2などの上位装置からのライトデータを格納するための記憶デバイスで、フラッシュメモリ等の不揮発性半導体メモリを記憶媒体として採用した記憶デバイスである。FMPK20の内部構成は後述する。FMPK20は一例として、SAS(Serial Attached SCSI)規格に従う伝送線(SASリンク)によって、ストレージコントローラ10と接続される。」

イ「[0065] 続いて本実施例に係るストレージ装置1で寿命管理に用いられる指標である、寿命比率及び平均寿命比率について、図12、図13を用いて説明する。FMPK20が物理ページにデータを格納する際、データからECC(Error Correcting Code)を算出し、データとともにECCも物理ページに格納する。フラッシュメモリの特性として、物理ページへのデータの格納後、時間が経つにつれ、格納されたデータに含まれるエラーが増加する傾向がある。なお、ここでの「エラー」の意味を簡単に説明しておく。たとえばFMPK20がFMチップ上のある領域(1ビット領域とする)に“0”を格納したとしても、時間が経つにつれ、データ内容が“0”から“1”に変化してしまうことがある。本明細書ではこの現象を「エラーが発生した」と呼んでいる。また、エラーの発生した1ビット領域(またはエラーの発生した1ビット領域から読み出された1ビットのデータ)のことを「エラービット」と呼ぶ。エラーの発生する原因は、その領域が多数回書き替えられて劣化した、あるいはその領域の品質(格納されたデータ内容を維持する能力)が先天的に悪かった場合などがある。ただし物理ページに格納されるデータにはECCが付加されているため、データ読み出し時にエラーが含まれていても、読み出し対象領域に含まれているエラービットの数が所定数以下であれば、ECCを用いたデータ訂正が可能である。
[0066] 訂正可能なビット数の上限は、付加されるECCの強度(エラー訂正能力)に依存する。物理ページに格納されたデータに、ECCによる訂正が可能なビット数の上限(以下、これを「訂正限界エラービット数」と呼ぶ)を超える数のエラービットが含まれるようになると、そのデータは読み出し不可能になる。FMPKコントローラ200は、ある物理ページに格納されたデータに、あらかじめ定められた閾値(この閾値のことを「エラービット数閾値」と呼ぶ。ただし、エラービット数閾値<訂正限界エラービット数、の関係にある)以上のエラービットが含まれていた場合、その物理ページを含む物理ブロックの使用を停止する(その時点で、この物理ブロックに格納されていたデータは、FMPK20のCPU201によって他の物理ブロックに移動される)。このようにすることで、データがFMPK20から読み出し不可能になる事態(アンコレクタブルエラーが発生する事態)を極力避けることができる。
[0067] また、物理ページに格納されたデータに含まれるエラービットの数は、ライト後の経過時間とともに増加する傾向がある。図12に、FMの記憶領域(たとえば物理ページ)から読み出されたデータに含まれるエラービット数と、ライト後経過時間との関係を表したグラフの一例を示す。図12の曲線(a)は、FMチップ(仮にチップAと呼ぶ)の物理ページ(仮にページaと呼ぶ)に対してデータをライトして時間tが経過した後、ページaをリードした際に検出されたエラービットの数をプロットしたグラフの一例である。同様に曲線(b)は、FMチップ(仮にチップBと呼ぶ)の物理ページ(仮にページbと呼ぶ)に対してデータをライトして時間tが経過した後、ページbをリードした際に検出されたエラービットの数をプロットしたグラフの一例である。グラフの横軸は、物理ページへのライト後の経過時間を表し、縦軸は物理ページのリードを行った際に検出されたエラービットの数(以下では、「エラービット検出数」と呼ぶ)を表す。
[0068] 図12から分かる通り、ページa,bのいずれも、ライト後の経過時間が長くなるほど、リード時に検出されるエラービット数は単調増加する傾向がある。ただしページbの場合、ライト後の経過時間がt1の時点でe個のエラービットが検出されているのに対し、ページaの場合にはライト後の経過時間がt2(t1<t2)の時点でe個のエラービットが検出されている。この場合、ページbのほうがページaよりもエラービット数の増加する速度が速いので、ページbはページaよりも早い時期に、エラービット検出数が訂正限界エラービット数を超過する可能性が高い。図12の場合には、ライト後経過時間がt3に達した時点で、ページbのエラービット検出数は訂正限界エラービット数を超過している。そのため、ページbの当該物理ページは早期に使用を停止することが望ましい。ただしページaは、図12のグラフから分かる通り、ライト後の経過時間がかなり長くなっても、エラービット検出数が訂正限界エラービット数を超過する可能性は低い。したがってページaは、使用を継続していてもよい。
[0069] ここで仮に、エラービット数閾値をeに設定していたとすると、ページaとbはいずれも使用が停止される。つまりページaはまだ使用継続可能な状態にあるにもかかわらず使用が停止される。そのため、エラービット数閾値として単一の値を用いていると、まだ使用継続可能な状態にあるページも使用停止されることになり、望ましくない。そのため本実施例のFMPK20では、ライト後経過時間ごとにエラービット数閾値を定めている。そして物理ページ(を含む物理ブロック)を検査した際の使用停止要否の判定の際には、FMPK20は当該ページのライト後経過時間から適切なエラービット数閾値を導出し、「エラービット検出数÷導出されたエラービット数閾値」を計算する。この値のことを「寿命比率」と呼ぶ。物理ページの寿命比率を計算した結果、寿命比率が1以上であった場合、FMPK20は当該物理ページの使用を停止するべきと判断する。つまり、寿命比率はFMチップ(あるいは物理ページ)の劣化度合いを表す指標値であり、物理ページの寿命比率が大きいほど、その物理ページが劣化している(寿命に近い)ことを表している。」

ウ「[0095] 続いて、FMPK20が稼働情報集計コマンドを受信した時に行う処理の流れを、図18を用いて説明する。FMPK20が稼働情報集計コマンドを受信すると、FMPK20は稼働情報集計プログラム241の実行を開始する。稼働情報集計プログラム241はCPU201によって実行される。
[0096] 稼働情報集計プログラム241が開始されると、CPU201はFMPK20内のページについて、寿命比率の計算を行う。まず寿命比率の計算が完了していないページを1つ選択する。以下では仮に、この選択されたページの物理ブロック番号がb、ページ番号がpであったとする。また選択されたページのことを「処理対象ページ」と呼ぶ。そして処理対象ページについてのエラービット数及びWR後経過時間を取得する(S241−1)。ここで取得されるエラービット数及びWR後経過時間はそれぞれ、ブロック管理テーブル1150内の、ブロック番号#1151がbで物理ページ#1152がpの行に格納されているエラービット数1154及びWR後経過時間1156である。つまり検査プログラム242が実行された時に、ブロック管理テーブル1150に記録されたエラービット数及びWR後経過時間が取得される。
[0097] 続いてCPU201は、閾値エラービット数管理テーブル1200を参照し、WR間隔1201が、S241−1で取得したWR後経過時間を含んでいる行を検索する。そして検索された行の閾値エラービット数1202を取得する(S241−4)。そしてCPU201は、S241−1で取得したエラービット数を、S241−4で取得した閾値エラービット数で除算する。この除算で算出される値が、処理対象ページの寿命比率である。CPU201はこの計算された寿命比率を、ブロック管理テーブル1150内の、ブロック番号#1151がbで物理ページ#1152がpの行の、寿命比率1156に格納する(S241−5)。
[0098] FMPK20内の全ページについて、S241−1〜S241−5の処理が終了すると、CPU201はS241−7以降の処理を行う。S241−7でCPU201は、ブロック管理テーブル1150に記録された、全ページの寿命比率1156の平均値を算出し、ストレージコントローラ10に送信する。さらにCPU201は、メモリ204に格納しているライト積算量をストレージコントローラ10に送信し(S241−8)、処理を終了する。なお、ストレージコントローラ10でライト積算量を管理している場合には、FMPK20はライト積算量をストレージコントローラに送信する必要はない。
[0099] 続いてRAIDグループ寿命予測処理の流れについて、図19を用いて説明する。RAIDグループ寿命予測処理では、RAIDグループに属する全FMPKについて、S1012−1〜S1012−4の処理を行う。以下、FMPK20のドライブ番号がnのFMPK20について、S1012−1〜S1012−4の処理を行う場合を例にとって説明する。
[0100] S1012−1では、CPU11はRAIDグループ管理テーブル650の中の、ドライブ番号652がnの行を参照し、FMPK#nの使用開始日658を取得する。そして、(現在日時−使用開始日658)÷365を計算することで、FMPK#nの使用年数を算出する。続いてCPU11はRAIDグループ管理テーブル650の中の、ドライブ番号652がnの行を参照し、FMPK#nの平均寿命比率654を取得する(S1012−2)。さらにCPU11は、S1012−1で算出した使用年数と、S1012−2で取得した平均寿命比率654を用いて、FMPK#nの残寿命を計算する。残寿命の計算は、以下の計算式に基づいて行われる。
FMPK#nの残寿命=(S1012−1で算出した使用年数)×(1−平均寿命比率654)
[0101] S1012−4でCPU11は、S1012−3で計算された残寿命を、残寿命657(RAIDグループ管理テーブル650内のドライブ番号652がnの行の残寿命657)に格納する。
[0102] ここで、上で説明した残寿命の計算の考え方について、図23を用いて説明する。物理ページリード時に検出されるエラービット数は、当該物理ページに対するライトデータ量の増加につれて、増加する傾向がある。本実施例におけるストレージ装置1では、物理ブロックの寿命比率(エラービット数÷エラービット数閾値)とライト積算量が、図23に示されているように、比例関係にあるという前提で、寿命の予測を行う。なお、ある物理ブロックの寿命比率が1に達した時(これ以降、この物理ブロックの使用は停止される)までに、当該物理ブロックに対して発生したライト積算量を「Wmax」と表記する。
[0103] また上で説明した残寿命の計算に際して、各FMPK20に対するライトレート(単位時間当たりのライト量)は一定であると仮定して、残寿命の計算を行う。つまり、FMPK20の平均寿命比率654とWR積算量655も、比例関係にあるという前提で残寿命の計算が行われる。そのため、本実施例に係るストレージ装置1では、上で説明した計算式によってFMPK#nの残寿命を計算している。
[0104] また実際には、フラッシュメモリの寿命特性は、FMチップによってばらつきがある。そのため、いずれのFMチップにおいても、寿命比率とライト積算量が比例関係にあるものの、FMチップごとにWmaxの値は異なり得る。
[0105] そのため、FMチップごとにライト量を制御しなければ、目標耐用年数が到来するより前に、アクセス不可能になるFMチップが発生することがあり得る。そうなると、そのFMチップを搭載するFMPK20自体が使用不可能になることもある(FMPK20が目標耐用年数に達する前に使用不可能になる)。そのため本実施例に係るFMPK20では、FMPK20内で物理ページごとに寿命比率を観測しており、リクラメーションやウェアレベリングを行う際、データ移動元及びデータ移動先の物理ブロックを適切に選択する。つまりFMPK20は、寿命比率が高い(1に近い)物理ブロックが存在した時、その物理ブロックから寿命比率の小さな物理ブロックへとデータを移動することにより、各物理ブロックの寿命比率が均等になるように制御する。これにより、特定のFMチップが早期に使用不可能にならないようにしている。そのためストレージコントローラ10では、各FMPK20の寿命比率の平均値(平均寿命比率654)が均等になるように、FMPK20間でライトデータ量を調整すれば、各FMPK20及び各FMPK20内の各FMチップの寿命をおおむね均等にすることができ、結果として各FMPK20を目標耐用年数まで使用可能にしている。
[0106] なお、FMPK20で行われるリクラメーションやウェアレベリングは、公知のフラッシュストレージで行われるものとほとんど同じである。公知のフラッシュストレージではリクラメーションやウェアレベリングの際、ブロックへのライトデータ量(あるいはブロックの消去回数)に基づいて、データ移動元及びデータ移動先となる物理ブロックを選択する。一方本実施例に係るFMPK20では、リクラメーションやウェアレベリングの際、寿命比率に基づいてデータ移動元及びデータ移動先となる物理ブロックを選択する点が、公知のフラッシュストレージと相違する。しかしそれ以外の点では、両者に違いはない。そのため、FMPK20で行われるリクラメーションやウェアレベリングの詳細な説明は省略する。」

エ「【図1】



オ「【図12】



カ「【図13】



キ「【図18】



ク「【図19】


ケ「【図23】



コ 上記アないしケによれば、引用文献3には、以下の技術事項が記載されていると認められる。

「フラッシュメモリ等の不揮発性半導体メモリを記憶媒体として採用した記憶デバイスであるフラッシュメモリパッケージ(FMPK)について、
ライト後経過時間ごとに定めたエラービット数閾値と検出したエラービット数とを用いて、「エラービット検出数÷エラービット数閾値」により、各ページの「寿命比率」を求め、FMPK内の全ページの「寿命比率」の平均値を求めて、FMPKの「平均寿命比率」とし、
FMPKの使用開始日と現在日時とを用いて、(現在日時−使用開始日)÷365を計算することで、FMPKの「使用年数」を求め、
「使用年数×(1−平均寿命比率)」により、FMPKの残寿命を求めること。」

第5 対比・判断
1 本願発明1について
(1)対比
ア 本願発明1の構成1Aと引用発明の構成aとを対比すると、引用発明の構成aの「SSD」および「複数のSSDを内蔵するDE200」は、本願発明1の構成1Aの「ソリッドステートストレージドライブ」および「ソリッドステートストレージドライブアレイ」に相当する。そして、引用発明の構成c、fの「余裕容量」は、本願発明1の構成1Aの「オーバープロビジョニング」に相当するから、引用発明が構成fにおいて「RAIDグループに属する各SSDについて余裕容量を基にユーザ容量の拡張を行う」ことは、本願発明1の「オーバープロビジョニングを管理するための方法」に対応する。
また、引用発明の構成dないしfによれば、「所定のタイミング」で、収集部が各SSDから、運用開始からの累積書き込み量と運用開始からの総稼働時間を取得し、予測部が各SSDの保証期間内における最大書き込み量を算出し、その結果に基づいて、拡張処理部がユーザ容量の拡張を行うものであるから、引用発明は、SSDの、ユーザが「利用できる論理記憶容量」を「動的に調整」しているということができる。そうすると、引用発明は、本願発明1の構成1Fでいう「複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を動的に調整すること」を含む方法であるということができる。
したがって、引用発明と本願発明1とは、「ソリッドステートストレージドライブアレイ内のオーバープロビジョニングを管理するための方法」である点、および、「前記複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を動的に調整すること」を含む方法である点で一致する。

イ 引用発明の構成dにおいて、収集部が各SSDから取得する「運用開始からの累積書き込み量と運用開始からの総稼働時間」は、本願発明1の構成1Bでいう「使用データ」にあたるといえるから、引用発明の構成dと本願発明1の構成1Bとは、「複数のソリッドステートストレージドライブの各々から使用データを受け取る」処理を行う点で共通する。
しかしながら、引用発明は、本願発明1の構成1Bでいう「疲弊データ」を収集する処理を行っていない点で、本願発明1の構成1Bと相違する。

ウ 引用発明は、構成eにより、予測部が、累積書き込み量×(保証期間/稼働時間)により各SSDの保証期間内における最大書き込み量を算出し、構成fにより、拡張処理部が、各SSDのユーザ容量とTBWとの関係に基づいて、ユーザ容量の拡張量の上限をRAIDグループ毎に求め、その上限の範囲内で、RAIDグループに属する各SSDのユーザ容量を拡張するものである。
これに対して、本願発明1は、構成1Bにおいて、複数のソリッドステートストレージドライブの各々から使用データとともに「疲弊データ」を受け取ったことを前提として、「解析エンジン」が、構成1Cにおいて、「少なくとも前記使用データと前記疲弊データとに基づいて予測される疲弊データを決定」し、構成1Dにおいて、「前記予測される疲弊データに基づいて、前記複数のソリッドステートストレージドライブの各々の予測される耐用年数の値を決定」し、構成1Eにおいて、「前記予測される耐用年数の値の各々を、各ソリッドステートストレージドライブの予め決められた耐用年数の値と比較する」処理を行い、構成1Fにおいて、「仮想化器」が、「前記比較することの結果に基づいて、前記複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を動的に調整する」ものである。
引用発明は、上記イのとおり、本願発明1でいう「疲弊データ」を収集しておらず、これを用いる処理である、本願発明1の構成1Cないし1Fに対応する構成を備えていない。

エ 上記アないしウを総合すると、本願発明1と引用発明との間には、次の一致点、相違点があるといえる。

(一致点)
「ソリッドステートストレージドライブアレイ内のオーバープロビジョニングを管理するための方法であって、
複数のソリッドステートストレージドライブの各々から使用データを受け取ることと、
前記複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を動的に調整することとを含む方法。」

(相違点1)
本願発明1は、「ドライブ状態モニタにおいて、複数のソリッドステートストレージドライブの各々から使用データと疲弊データとを受け取ること」との構成を有するのに対し、引用発明は、各SSDから「運用開始からの累積書き込み量」と、「運用開始からの総稼働時間」は収集するものの、「疲弊データ」を収集する構成を備えていない点。

(相違点2)
本願発明1は、「論理記憶容量を動的に調整する」にあたり、「解析エンジンによって、少なくとも前記使用データと前記疲弊データとに基づいて予測される疲弊データを決定すること」と、「前記解析エンジンによって、前記予測される疲弊データに基づいて、前記複数のソリッドステートストレージドライブの各々の予測される耐用年数の値を決定すること」と、「前記解析エンジンによって、前記予測される耐用年数の値の各々を、各ソリッドステートストレージドライブの予め決められた耐用年数の値と比較すること」とを行い、「仮想化器によって、前記比較することの結果に基づいて、前記複数のソリッドステートストレージドライブの少なくとも1つの利用できる論理記憶容量を動的に調整する」ものであるのに対し、引用発明は、ユーザ容量の拡張を行うにあたり、SSDの運用開始からの累積書き込み量と、運用開始からの総稼働時間と、各SSDのユーザ容量とTBWとの対応関係と、に基づいて、ユーザ容量の拡張量の上限を求め、求めた拡張量の上限の範囲内でユーザ容量の拡張を行うものである点。

(2)相違点についての判断
上記相違点1および2に係る本願発明1の構成は、いずれも「疲弊データ」に関連する構成であるので、両相違点についてまとめて検討する。
原査定において引用された引用文献2、3は、それぞれ、上記第4の2(1)および(2)のとおりの技術事項を開示する。
ここで、引用文献2に開示された「推定寿命」は、本願発明1でいう「予め決められた耐用年数」に対応するものと解されるものの、引用文献2には、当該推定寿命をどのように用いて予備スペースの量を調整するかについての言及がないから、たとえ、引用文献2に接した当業者が、引用発明において、引用文献2に記載された「推定寿命」に係る構成の採用を試みたとしても、上記相違点1および2に係る本願発明1の構成を得ることについてまで、当業者にとって容易想到であるということはできない。
また、引用文献3には、フラッシュメモリパッケージの残寿命を予測することが開示されており、残寿命の予測に用いる「エラービット数」は、本願発明1でいう「疲弊データ」に対応するものと解されるものの、引用文献3には、残寿命の予測に際して、疲弊データである「エラービット数」とその他のデータに基づいて、予測される疲弊データ、すなわち、「予測されるエラービット数」を決定する構成を備えておらず、また、予測した「残寿命」は、フラッシュメモリパッケージの記憶容量を調整するために用いられるものでもないから、たとえ、引用文献3に接した当業者が、引用発明において、引用文献3に記載された「エラービット数」や「残寿命」に係る構成の採用を試みたとしても、上記相違点1および2に係る本願発明1の構成を得ることについてまで、当業者にとって容易想到であるということはできない。
そして、上記相違点1および2に係る本願発明1の構成が、当業者にとって周知の技術であると解すべき根拠はなく、当該構成が自明であるともいえないから、本願発明1の相違点1および2に係る構成は、当業者であっても、引用発明に基づいて容易に想到し得るものではない。

(3)まとめ
したがって、本願発明1は、当業者であっても、引用発明及び引用文献2、3に記載された技術事項に基づいて、容易に発明できたものであるとはいえない。

2 本願発明2−10、21、23について
請求項1を引用する本願発明2−10、21、23も、引用発明との相違点1および2に係る、本願発明1の構成1Bないし1Fを備えるものであるから、本願発明1と同じ理由により、当業者であっても、引用発明及び引用文献2、3に記載の技術事項に基づいて、容易に発明できたものであるとはいえない。

3 本願発明11−20、22、24について
本願発明11は構成11Bないし11Fを備えることにより、本願発明1と引用発明との相違点1および2に係る、本願発明1の構成1Bないし1Fを包含するものであるから、本願発明1と同様の理由により、当業者であっても、引用発明及び引用文献2、3に記載された技術事項に基づいて容易に発明できたものであるとはいえない。
また、請求項11を引用する本願発明12−20、22、24も本願発明11の構成11Bないし11Fを備えるものであるから、本願発明11と同じ理由により、当業者であっても、引用発明及び引用文献2、3に記載の技術事項に基づいて、容易に発明できたものであるとはいえない。

第6 原査定について
原査定は、請求項1−6、11−16、21−24に係る発明について、引用文献1−3に基づいて、当業者が容易に発明できたものであるから、特許法29条2項の規定により特許を受けることができないというものであるが、上記第3ないし第5のとおり、本願発明1−24は、拒絶査定において引用された引用文献1に記載された発明及び引用文献2、3に記載された技術事項に基づいて、当業者が容易に発明できたものではない。したがって、原査定を維持することはできない。

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


 
審決日 2022-06-29 
出願番号 P2019-041571
審決分類 P 1 8・ 121- WY (G06F)
最終処分 01   成立
特許庁審判長 林 毅
特許庁審判官 篠原 功一
山崎 慎一
発明の名称 ソリッドステートストレージドライブアレイにおけるワークロード適応型オーバープロビジョニング  
代理人 特許業務法人スズエ国際特許事務所  

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