• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1349195
審判番号 不服2018-7593  
総通号数 232 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2019-04-26 
種別 拒絶査定不服の審決 
審判請求日 2018-06-04 
確定日 2019-03-05 
事件の表示 特願2016- 99400「データを格納するための方法およびデータを格納するための一時的でないコンピュータ読取可能記録媒体」拒絶査定不服審判事件〔平成28年12月22日出願公開、特開2016-219013、請求項の数(20)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯
本願は,平成28年5月18日(パリ条約による優先権主張2015年5月19日,米国,2015年6月30日,米国)に出願された特許法第36条の2第1項の規定による特許出願であって,平成28年7月13日付けで翻訳文が提出され,平成29年5月23日付けで拒絶理由通知がされ,平成29年8月28日付けで意見書が提出されるとともに手続補正がされ,平成30年1月26日付けで拒絶査定(原査定)がされ,これに対し,平成30年6月4日に拒絶査定不服審判の請求がされたものである。

第2 原査定の概要
原査定(平成30年1月26日付け拒絶査定)の概要は次のとおりである。

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

引用文献等一覧
1.国際公開第2013/142673号
2.米国特許出願公開第2011/0093650号明細書(周知技術を示す文献)

第3 本願発明
本願請求項1-20に係る発明(以下,それぞれ「本願発明1」-「本願発明20」という。)は,平成29年8月28日付けの手続補正で補正された特許請求の範囲の請求項1-20に記載された事項により特定される以下のとおりの発明である。

「 【請求項1】
データを格納するための方法であって,
ボールテッドメモリにおけるオープンデータページにフラグを書き込むことを含み,前記オープンデータページは第1のテーブルオブコンテンツ(TOC)ビットおよび第1の物理アドレスを含み,前記方法はさらに,
前記ボールテッドメモリにおけるオープンTOCページに,前記フラグについてのテーブルオブコンテンツエントリ(TE)を書き込むことを含み,前記オープンTOCページは第2のTOCビットおよび第2の物理アドレスを含み,前記方法はさらに,
前記オープンデータページが一杯であるという第1の判定を行うことと,
前記第1の判定に基づいて,ソリッドステートメモリモジュールにおけるページに前記フラグを書き込むこととを含み,前記ページは前記第1の物理アドレスに関連付けられており,
前記ソリッドステートメモリモジュールおよび前記ボールテッドメモリはストレージモジュールに位置する,方法。
【請求項2】
前記オープンTOCページに前記TEを書き込む前に前記オープンデータページに第1のタグを書き込むことをさらに含み,前記オープンTOCページにおける第2のタグは前記第2のTOCビットおよび前記第2の物理アドレスを含む,請求項1に記載の方法。
【請求項3】
前記第1の物理アドレスおよび前記第2の物理アドレスは,前記ソリッドステートメモリモジュールにおける同じブロックに位置し,関連付けられる,請求項1に記載の方法。
【請求項4】
前記オープンTOCページが一杯であるという第2の判定を行うことと,
前記第2の判定に基づいて,前記第2の物理アドレスを第3の物理アドレスに置換することと,
前記ソリッドステートメモリモジュールにおいて第2のページに前記TEを書き込むこととをさらに含み,前記第2のページは前記第3の物理アドレスに関連付けられる,請求項1に記載の方法。
【請求項5】
前記第1の物理アドレスおよび前記第3の物理アドレスは,前記ソリッドステートメモリモジュールにおける同じブロックに位置し,関連付けられる,請求項4に記載の方法。
【請求項6】
前記ソリッドステートメモリモジュールはフラッシュメモリである,請求項1に記載の方法。
【請求項7】
データを格納するための方法であって,
ボールテッドメモリにおけるオープンデータページにフラグを書き込むことを含み,前記オープンデータページは第1のテーブルオブコンテンツ(TOC)ビットおよび第1の物理アドレスを含み,前記方法はさらに,
前記ボールテッドメモリにおけるオープンTOCページに,前記フラグについての第1のテーブルオブコンテンツエントリ(TE)を書き込むことを含み,前記オープンTOCページは,第2のTOCビット,第2の物理アドレス,および第2のTEを含み,前記方法はさらに,
前記ボールテッドメモリが位置するストレージモジュールについて電源障害のイベント通知を受け取ることを含み,
前記イベント通知に応答して,
前記ストレージモジュールにおけるソリッドステートメモリモジュールにおける,前記第1の物理アドレスに関連付けられないページに前記フラグを書き込むことと,
前記ソリッドステートメモリモジュールにおける,前記第2の物理アドレスに関連付けられない第2のページに前記第1のTEおよび前記第2のTEを書き込むこととを含む,方法。
【請求項8】
前記ストレージモジュールの電源をオンした後,
前記ソリッドステートメモリモジュールから制御モジュールのメモリへ前記ページおよび前記第2のページのコンテンツをロードすることと,
前記メモリにおける前記第1のTEを識別することと,
前記第2の物理アドレスおよび前記第1のTEの少なくとも一部に基づき第3の物理アドレスを決定することと,
前記第3の物理アドレスを使用して,前記フラグが前記メモリに位置することを判定することと,
前記ソリッドステートメモリモジュールおよび別のソリッドステートメモリモジュールからなる群から選択されたものにおいて,第4の物理アドレスへの前記フラグの書込を開始することとをさらに含む,請求項7に記載の方法。
【請求項9】
前記ストレージモジュールの電源をオンした後,
前記ソリッドステートメモリモジュールから制御モジュールのメモリへ前記ページおよび前記第2のページのコンテンツをロードすることと,
前記メモリにおける前記第2のTEを識別することと,
前記第2の物理アドレスおよび前記第2のTEの少なくとも一部に基づき第3の物理アドレスを決定することと,
前記第3の物理アドレスを使用して,前記第3の物理アドレスに関連付けられる第2のフラグが前記メモリに位置していないと判定することと,
前記ソリッドステートメモリモジュールおよび別のソリッドステートメモリモジュールからなる群から選択されるものにおいて,別の位置に前記第2のフラグを再配置するようガーベッジコレクション動作を開始することとをさらに含む,請求項7に記載の方法。
【請求項10】
前記ページおよび前記第2のページは前記ソリッドステートメモリモジュールの留保部分に関連付けられ,前記第2のフラグは前記ソリッドステートメモリモジュールにおける第3のページに格納され,前記第3のページは前記ソリッドステートメモリモジュールの非留保部分に関連付けられる,請求項9に記載の方法。
【請求項11】
前記ソリッドステートメモリモジュールはフラッシュメモリであり,前記留保部分はシングルレベルセル(SLC: single-level cell)モードで動作しており,前記非留保部分はマルチレベルセル(MLC: multi-level cell)モードで動作している,請求項10に記載の方法。
【請求項12】
前記ページおよび前記第2のページは,前記ソリッドステートメモリモジュールの留保部分に関連付けられる,請求項7に記載の方法。
【請求項13】
前記ソリッドステートメモリモジュールはフラッシュメモリであり,前記ソリッドステートメモリモジュールの留保部分はシングルレベルセル(SLC: single-level cell)モードで動作している,請求項7に記載の方法。
【請求項14】
前記ページおよび前記第2のページは,前記ソリッドステートメモリモジュールの最下位ビット(LSB)ページである,請求項7に記載の方法。
【請求項15】
コンピュータ読取可能プログラムコードを含むデータを格納するための一時的でないコンピュータ読取可能記録媒体であって,前記コンピュータ読取可能プログラムコードは,
ボールテッドメモリにおけるオープンデータページにフラグを書き込むことを行うためのものであり,前記オープンデータページは第1のテーブルオブコンテンツ(TOC)ビットおよび第1の物理アドレスを含み,前記コンピュータ読取可能プログラムコードはさらに,
前記ボールテッドメモリにおけるオープンTOCページに,前記フラグについての第1のテーブルオブコンテンツエントリ(TE)を書き込むことを行うためのものであり,前記オープンTOCページは第2のTOCビット,第2の物理アドレス,および第2のTEを含み,前記コンピュータ読取可能プログラムコードはさらに,
前記ボールテッドメモリが位置するストレージモジュールについて電源障害のイベント通知を受け取ることを行うためのものであり,
前記イベント通知に応答して,
前記ストレージモジュールにおけるソリッドステートメモリモジュールにおける,前記第1の物理アドレスに関連付けられないページに前記フラグを書き込むことと,
前記ソリッドステートメモリモジュールにおける,前記第2の物理アドレスに関連付けられない第2のページに前記第1のTEおよび前記第2のTEを書き込むこととを行うためのものである,一時的でないコンピュータ読取可能記録媒体。
【請求項16】
前記ストレージモジュールの電源をオンした後,
前記ソリッドステートメモリモジュールから制御モジュールのメモリへ前記ページおよび前記第2のページのコンテンツをロードすることと,
前記メモリにおける前記第1のTEを識別することと,
前記第2の物理アドレスおよび前記第1のTEの少なくとも一部に基づき第3の物理アドレスを決定することと,
前記第3の物理アドレスを使用して,前記フラグがメモリに位置することを判定することと,
前記ソリッドステートメモリモジュールおよび別のソリッドステートメモリモジュールからなる群から選択されたものにおいて,第4の物理アドレスへの前記フラグの書込を開始することとを行うためのコンピュータ読取可能プログラムコードをさらに含む,請求項15に記載の一時的でないコンピュータ読取可能記録媒体。
【請求項17】
前記ストレージモジュールの電源をオンした後,
前記ソリッドステートメモリモジュールから制御モジュールのメモリへ前記ページおよび前記第2のページのコンテンツをロードすることと,
前記メモリにおける前記第2のTEを識別することと,
前記第2の物理アドレスおよび前記第2のTEの少なくとも一部に基づき第3の物理アドレスを決定することと,
前記第3の物理アドレスを使用して,前記第3の物理アドレスに関連付けられる第2のフラグが前記メモリに位置していないと判定することと,
前記ソリッドステートメモリモジュールおよび別のソリッドステートメモリモジュールからなる群から選択されるものにおいて,別の位置に前記第2のフラグを再配置するようガーベッジコレクション動作を開始することとを行うためのコンピュータ読取可能プログラムコードをさらに含む,請求項15に記載の一時的でないコンピュータ読取可能記録媒体。
【請求項18】
前記ページおよび前記第2のページは前記ソリッドステートメモリモジュールの留保部分に関連付けられ,前記第2のフラグは前記ソリッドステートメモリモジュールにおける第3のページに格納され,前記第3のページは前記ソリッドステートメモリモジュールの非留保部分に関連付けられる,請求項17に記載の一時的でないコンピュータ読取可能記録媒体。
【請求項19】
前記ソリッドステートメモリモジュールはフラッシュメモリであり,前記留保部分はシングルレベルセル(SLC: single-level cell)モードで動作しており,前記非留保部分はマルチレベルセル(MLC: multi-level cell)モードで動作している,請求項18に記載の一時的でないコンピュータ読取可能記録媒体。
【請求項20】
前記ページおよび前記第2のページは,前記ソリッドステートメモリモジュールの最下位ビット(LSB)ページである,請求項15に記載の一時的でないコンピュータ読取可能記録媒体。」

第4 引用文献,引用発明等
1.引用文献1について
(1)原査定の拒絶の理由に引用された上記引用文献1には,図面とともに次の事項が記載されている。なお,訳には,パテントファミリーである特表2015-515678号公報の記載を参照した。(下線は,参考のために当審で付与したものである。以下,同様。)

A 「[0044] FIGS. 2A-2D show embodiments of storage appliances in accordance with one or more embodiments of the invention. Referring to FIG. 2A , the storage appliance includes a control module ( 200 ) and a storage module group ( 202 ). Each of these components is described below. In general, the control module ( 200 ) is configured to manage the servicing of read and write requests from one or more clients. In particular, the control module is configured to receive requests from one or more clients via the IOM (discussed below), to process the request (which may include sending the request to the storage module), and to provide a response to the client after the request has been serviced. Additional details about the components in the control module are included below. Further, the operation of the control module with respect to servicing read and write requests is described below with reference to FIGS. 4A-7C .
(途中省略)
[0053] In one embodiment of the invention, the processor (via the switch fabric) is configured to offload various types of processing to the FPGA (212). In one embodiment of the invention, the FPGA (212) includes functionality to calculate checksums for data that is being written to the storage module(s) and/or data that is being read from the storage module(s). Further, the FPGA (212) may include functionality to calculate P and/or Q parity information for purposes of storing data in the storage module(s) using a RAID scheme (e.g., RAID 2 - RAID 6) and/or functionality to perform various calculations necessary to recover corrupted data stored using a RAID scheme (e.g., RAID 2 - RAID 6). In one embodiment of the invention, the storage module group (202) includes one or more storage modules (214 A, 214N) each configured to store data. Storage modules are described below in FIG. 3.
(途中省略)
[0067] FIG. 3 shows a storage module in accordance with one or more embodiments of the invention. The storage module ( 320 ) includes a storage module controller ( 322 ), memory ( 324 ), and one or more solid state memory modules ( 330 A, 330 N). Each of these components is described below.
(途中省略)
[0070] In one embodiment of the invention, the memory ( 324 ) may be logically or physically partitioned into vaulted memory ( 326 ) and cache ( 328 ). In one embodiment of the invention, the storage module controller ( 322 ) is configured to write out the entire contents of the vaulted memory ( 326 ) to one or more of the solid state memory modules ( 330 A, 330 N) in the event of notification of a power failure (or another event in which the storage module may lose power) in the storage module. In one embodiment of the invention, the storage module controller ( 322 ) is configured to write the entire contents of the vaulted memory ( 326 ) to one or more of the solid state memory modules ( 330 A, 330 N) between the time of the notification of the power failure and the actual loss of power to the storage module. In contrast, the content of the cache ( 328 ) is lost in the event of a power failure (or another event in which the storage module may lose power).」
(訳:[0044]
図2A?図2Dは,本発明の1つ以上の実施形態に従ったストレージ機器の実施形態を示す。図2Aを参照して,ストレージ機器は,制御モジュール(200)およびストレージモジュールグループ(202)を含む。これらのコンポーネントの各々は以下に記載される。一般に,制御モジュール(200)は,1つ以上のクライアントからの読出要求および書込要求の処理を管理するように構成される。特に,制御モジュールは,(以下に論じられる)IOMを介して1つ以上のクライアントから要求を受け取り,要求を処理(ストレージモジュールに要求を送信することを含み得る)し,要求が処理された後にクライアントに応答を提供するよう構成される。制御モジュールにおけるコンポーネントに関する付加的な詳細は以下に含まれる。さらに,読出要求および書込要求の処理に関する制御モジュールの動作は,図4A?図7Cを参照して以下に記載される。
(途中省略)
[0053]
本発明の一実施形態では,(スイッチファブリックを介する)プロセッサは,FPGA(212)にさまざまなタイプの処理をオフロードするように構成される。本発明の一実施形態では,FPGA(212)は,ストレージモジュールに書き込まれているデータおよび/またはストレージモジュールから読み出されているデータについてチェックサムを計算する機能を含む。さらに,FPGA(212)は,RAIDスキーム(たとえばRAID2?RAID6)を使用してストレージモジュールにデータを格納するためにPおよび/もしくはQパリティー情報を計算する機能,ならびに/またはRAIDスキーム(たとえばRAID2?RAID6)を使用して格納された破損データを回復するのに必要なさまざまな計算を行なう機能を含み得る。本発明の一実施形態において,ストレージモジュールグループ(202)は,データを格納するよう各々が構成される1つ以上のストレージモジュール(214A,214N)を含む。ストレージモジュールは,以下に図3において記載される。
(途中省略)
[0067]
図3は,本発明の1つ以上の実施形態に従ったストレージモジュールを示す。ストレージモジュール(320)は,ストレージモジュールコントローラ(322),メモリ(324)および1つ以上のソリッドステートメモリモジュール(330A,330N)を含む。これらのコンポーネントの各々は以下に記載される。
(途中省略)
[0070]
本発明の一実施形態において,メモリ(324)は,ボールテッドメモリ(326)およびキャッシュ(328)に論理的または物理的にパーティショニングされ得る。本発明の一実施形態において,ストレージモジュールコントローラ(322)は,ストレージモジュールにおける停電の通知の場合(またはストレージモジュールが電力を失い得る別の場合),ボールテッドメモリ(326)のすべての内容をソリッドステートメモリモジュール(330A,330N)の1つ以上に書き込むように構成される。本発明の一実施形態において,ストレージモジュールコントローラ(322)は,停電の通知の時間とストレージモジュールの実際の電力損失との間に,ボールテッドメモリ(326)のすべての内容をソリッドステートメモリモジュール(330A,330N)の1つ以上に書き込むように構成される。対照的に,キャッシュ(328)の内容は,停電の場合(またはストレージモジュールが電力を失い得る別の場合)には失われる。)

B 「[0074] FIG. 4A shows a storage module in accordance with one or more embodiments of the invention. The solid state memory module ( 400 ) includes one or more blocks. In one embodiment of the invention, a block is the smallest erasable unit of storage within the solid state memory module ( 400 ).
[0075] FIG. 4B shows a block in accordance with one or more embodiments of the invention. More specifically, each block ( 402 ) includes one or more pages. In one embodiment of the invention, a page is the smallest addressable unit for read and program operations (including the initial writing to a page) in the solid state memory module. In one embodiment of the invention, rewriting a page within a block requires the entire block to be rewritten. In one embodiment of the invention, each page within a block is either a Frag Page (see FIG. 4C ) or a TOC Page (see FIG. 4D ).
[0076] FIG. 4C shows a frag page in accordance with one or more embodiments of the invention. In one embodiment of the invention, the frag page includes one or more frags. In one embodiment of the invention, a frag corresponds to a finite amount of user data. Further, the frags within a given page may be of a uniform size or of a non-uniform size. Further, frags within a given block may be of a uniform size or of a non-uniform size. In one embodiment of the invention, a given frag may be less than the size of a page, may be exactly the size of a page, or may extend over one or more pages. In one embodiment of the invention, a frag page only includes frags. In one embodiment of the invention, each frag includes user data (i.e., data provided by the client for storage in the storage appliance). For purposes of this description, the term “frag” and “user data” are used interchangeably.
[0077] FIG. 4D shows a TOC page in accordance with one or more embodiments of the invention. In one embodiment of the invention, the TOC page ( 406 ) includes one or more TOC entries, where each of the TOC entries includes metadata for a given frag. In addition, the TOC page ( 406 ) may include a reference to another TOC page in the block ( 402 ). In one embodiment of the invention, a TOC page only includes TOC entries (and, optionally, a reference to another TOC page in the block), but does not include any frags. In one embodiment of the invention, each TOC entry corresponds to a frag (see FIG. 4C ) in the block ( 402 ). The TOC entries only correspond to frags within the block. Said another way, the TOC page is associated with a block and only includes TOC entries for frags in that block. In one embodiment of the invention, the last page that is not defective in each block within each of the solid state memory modules is a TOC page.」
(訳:[0074]
図4Aは,本発明の1つ以上の実施形態に従ったストレージモジュールを示す。ソリッドステートメモリモジュール(400)は1つ以上のブロックを含む。本発明の一実施形態では,ブロックは,ソリッドステートメモリモジュール(400)内のストレージの最小の消去可能な単位である。
[0075]
図4Bは,本発明の1つ以上の実施形態に従ったブロックを示す。より具体的には,各ブロック(402)は1つ以上のページを含む。本発明の一実施形態において,ページは,ソリッドステートメモリモジュールでの読出動作およびプログラム動作(ページへの初期書き込みを含む)のための最小のアドレス指定可能な単位である。本発明の一実施形態において,ブロック内にページを再書き込みすることは,全ブロックが再書き込みされることが必要である。本発明の一実施形態では,ブロック内の各ページは,フラグページ(Frag Page)(図4C参照)またはTOCページ(図4D参照)のいずれかである。
[0076]
図4Cは,本発明の1つ以上の実施形態に従ったフラグページを示す。本発明の一実施形態では,フラグページは1つ以上のフラグ(frag)を含む。本発明の一実施形態では,フラグは有限量のユーザデータに対応する。さらに,所与のページ内のフラグは,均一なサイズまたは非均一なサイズであってもよい。さらに,所与のブロック内のフラグは,均一なサイズまたは非均一なサイズであってもよい。本発明の一実施形態では,所与のフラグは,ページのサイズ未満であってもよく,ページのサイズと全く同じであってもよく,または1つ以上のページに亘ってもよい。本発明の一実施形態では,フラグページはフラグのみを含む。本発明の一実施形態では,各フラグは,ユーザデータ(すなわち,ストレージ機器における格納のためにクライアントによって提供されるデータ)を含んでいる。この説明の目的のために,「フラグ」および「ユーザデータ」という用語は,交換可能に使用される。
[0077]
図4Dは,本発明の1つ以上の実施形態に従ったTOCページを示す。本発明の一実施形態では,TOCページ(406)は,1つ以上のTOCエントリを含んでおり,TOCエントリの各々は,所与のフラグについてのメタデータを含んでいる。さらに,TOCページ(406)は,ブロック(402)における別のTOCページへの参照を含んでもよい。本発明の一実施形態において,TOCページは,TOCエントリ(および随意にブロックにおける別のTOCページへの参照)のみを含むが,如何なるフラグも含まない。本発明の一実施形態では,各TOCエントリは,ブロック(402)におけるフラグ(図4C参照)に対応する。TOCエントリは,ブロック内のフラグにのみ対応する。換言すると,TOCページは,ブロックに関連付けられ,当該ブロックにおけるフラグについてのTOCエントリのみを含む。本発明の一実施形態において,ソリッドステートメモリモジュールの各々内の各ブロックにおいて欠陥がない最後のページはTOCページである。)

C 「[0086] In one embodiment of the invention, the control module also tracks the number of TOC entries ( 506 ) per block ( 504 ). More specifically, each time a frag is written to vaulted memory, a TOC entry for the frag is created. The control module tracks with which block the newly created TOC entry is associated and uses this information to generate TOC pages. For example, the control module uses the aforementioned information to determine whether the cumulative size of all TOC entries associated with a given block, which have not been written to a TOC page, equal a page size in the block. If the cumulative size of all TOC entries associated with a given block, which have not been written to a TOC page, equal a page size in the block, then the control module may generate a TOC page using the aforementioned entries and initiate the writing of the TOC page to a storage module.
[0087] FIGS. 6A-6C show flowcharts in accordance with one or more embodiments of the invention. More specifically, FIGS. 6A-6C show a method for storing user data in a storage appliance in accordance with one or more embodiments of the invention. While the various steps in the flowchart are presented and described sequentially, one of ordinary skill will appreciate that some or all of the steps may be executed in different orders, may be combined or omitted, and some or all of the steps may be executed in parallel. In one embodiment of the invention, the steps shown in FIG. 6A may be performed in parallel with the steps shown in FIG. 6B and the steps shown in FIG. 6C . Further, the steps shown in FIG. 6B may be performed in parallel with the steps shown in FIG. 6C .
[0088] Referring to FIG. 6A , in step 600 , the client writes a write command (write request) to the submission queue (SQ) of the processor in a control module ( 208 in FIG. 2A ). In one embodiment of the invention, the write command specifies the logical address (which may also be referred to as a “source address”) of the user data in the client memory. In one embodiment of the invention, the write command may specify the user data using <object ID, offset ID>. In one embodiment of the invention, the write command passes through at least the client switch and the switch fabric prior to reaching the SQ of the processor.
[0089] In step 602 , client writes a new SQ tail to the SQ Tail doorbell register. In one embodiment of the invention, by writing to the SQ Tail doorbell register, the client notifies the processor that there is a new command to process in its SQ.
[0090] In step 604 , the processor obtains the write command from the SQ. In step 606 , the processor determines the physical address(es) at which to write the user data (as part of a frag). In one embodiment of the invention, the physical address(es) corresponds to a location in the solid state memory module. In one embodiment of the invention, the processor selects two physical addresses in which to write copies of the user data, where each of the physical addresses is in a separate solid state memory module.
[0091] In step 608 , the processor programs the DMA engine to issue a write to a multicast address. In one embodiment of the invention, the multicast address is associated with a multicast group, where the multicast group specifies a first memory location in the memory in the control module, a second memory location in a first vault memory, and a third memory location in a second vaulted memory. In one embodiment of the invention, the first vaulted memory is located in the same storage module as the solid state memory module that includes the physical address specified by the processor. In one embodiment of the invention, the second vaulted memory is determined in a similar manner. In one embodiment of the invention, there is one vaulted memory location selected for each physical address identified by the processor in step 606 .
[0092] In step 610 , the DMA engine reads the user data from the source address in client memory, and writes the data to the multicast address as directed by the control module. In one embodiment of the invention, a switch in the switch fabric is associated with the multicast address. Upon receipt of the address, the switch performs the necessary translation on the multicast address to obtain three addresses-one to each of the aforementioned memory locations. The switch subsequently sends copies of the user data to the three memory locations. Those skilled in the art will appreciate that the particular switch which implements multicast may vary based on the implementation of the switch fabric. In this embodiment, there is only one write issued between the client and the storage appliance.
(途中省略)
[0094] Continuing with FIG. 6A , in step 612 , a TOC entry is created for each copy of user data stored in vaulted memory. Further, the page and byte specified in each TOC entry corresponds to the page and byte portions of the corresponding physical address identified in step 606 . Accordingly, while the frag is not written to the physical address in the solid state memory module at the time the corresponding TOC entry is created, the frag (as part of a frag page) is intended to be written to the physical address at a later point in time. As discussed above, each of the TOC entries is stored in a TOC page and the TOC page is eventually written to a solid state memory module. However, prior to the creation of the TOC page, the TOC entries are created and temporarily stored in the memory in the control module and in vaulted memory on one of the solid state storage modules.
[0095] Continuing with FIG. 6A , in step 614 , the TOC entries created in step 612 are stored in vaulted memory. More specifically, each TOC entry is stored in the vaulted memory of the storage module and includes the physical address at which the corresponding frag will be written at a later point in time.
(途中省略)
[0098] Referring to FIG. 6B , in step 626 , the processor in the control module initiates the writing of the copies of the user data from the vaulted memory to the physical address identified in step 608(当審注:「608」は「606」の誤記と認められる。) . In one embodiment of the invention, the processor in the control module programs a DMA engine in the storage module controller to read user data from the vaulted memory and to write a copy of this user data to a physical address in the solid state memory module. As described above, the physical address to which the copy of user data is written is the physical address previously determined by the processor in Step 606 .
[0099] In step 628 , following step 626 , the processor in the control module requests that all copies of the user data in vaulted memory that correspond to the user data written to the solid state memory module in step 626 are removed. In step 630 , a confirmation of the removal is sent to the processor in the control module by each of the storage modules that included a copy of the user data (written in step 626 ) in their respective vaulted memory.」
(訳:[0086]
本発明の一実施形態では,制御モジュールはまた,ブロック(504)ごとのTOCエントリ(506)の数をトラッキングする。より具体的には,フラグがボールテッドメモリに書き込まれるたびに,フラグについてのTOCエントリが作成される。制御モジュールは,新しく作成されたTOCエントリが関連付けられるブロックをトラッキングし,この情報を使用してTOCページを生成する。たとえば,制御モジュールは上記の情報を使用して,TOCページに書き込まれていない,所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しいかどうか決定する。TOCページに書き込まれていない,所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しい場合,制御モジュールは上記のエントリを使用してTOCページを生成し,ストレージモジュールへのTOCページの書き込みを開始する。
[0087]
図6A?図6Cは,本発明の1つ以上の実施形態に従ったフローチャートを示す。より具体的には,図6A?図6Cは,本発明の1つ以上の実施形態に従った,ストレージ機器にユーザデータを格納するための方法を示す。フローチャートにおけるさまざまなステップが順次,提示および記載されるが,当業者であれば,ステップのうちのいくつかまたはすべてが異なる順番で実行されてもよいこと,ステップのうちのいくつかまたはすべてが組み合わせられてもよくまたは省略されてもよいこと,およびステップのうちのいくつかまたはすべてが並列に実行されてもよいことを理解するであろう。本発明の一実施形態では,図6Aに示されるステップは,図6Bに示されるステップおよび図6Cに示されるステップと並列に行なわれ得る。さらに,図6Bに示されるステップは,図6Cに示されるステップと並列に行なわれ得る。
[0088]
図6Aを参照して,ステップ600において,クライアントは,制御モジュールにおけるプロセッサ(図2A中の208)の送信キュー(SQ)に書込コマンド(書込要求)を書き込む。本発明の一実施形態では,書込コマンドは,クライアントメモリにおけるユーザデータの論理アドレス(「ソースアドレス」とも称される)を特定する。本発明の一実施形態では,書込コマンドは,<オブジェクトID,オフセットID>を使用してユーザデータを特定し得る。本発明の一実施形態において,書込コマンドは,プロセッサのSQに到達する前に,少なくともクライアントスイッチおよびスイッチファブリックを通過する。
[0089]
ステップ602では,クライアントはSQテールドアベルレジスタに新しいSQテールを書き込む。本発明の一実施形態において,SQテールドアベルレジスタに書き込むことによって,クライアントは,そのSQにおいて処理するべき新しいコマンドが存在するとプロセッサに通知する。
[0090]
ステップ604では,プロセッサはSQから書込コマンドを取得する。ステップ606では,プロセッサは,(フラグの一部として)ユーザデータを書き込むべき物理アドレスを決定する。本発明の一実施形態では,物理アドレスはソリッドステートメモリモジュールにおける位置に対応する。本発明の一実施形態において,プロセッサは,ユーザデータのコピーを書き込むべき2つの物理アドレスを選択する。当該物理アドレスの各々は別個のソリッドステートメモリモジュールに存在する。
[0091]
ステップ608では,プロセッサは,マルチキャストアドレスへの書込を発行するようにDMAエンジンをプログラムする。本発明の一実施形態において,マルチキャストアドレスはマルチキャストグループに関連付けられており,当該マルチキャストグループは,制御モジュールにおけるメモリ中の第1のメモリ位置,第1のボールテッドメモリにおける第2のメモリ位置,および第2のボールテッドメモリにおける第3のメモリ位置を特定する。本発明の一実施形態において,第1のボールテッドメモリは,プロセッサによって特定される物理アドレスを含むソリッドステートメモリモジュールと同じストレージモジュールに位置する。本発明の一実施形態では,第2のボールテッドメモリは,同様の態様で決定される。本発明の一実施形態において,ステップ606においてプロセッサによって識別される各物理アドレスについて選択される1つのボールテッドメモリ位置が存在する。
[0092]
ステップ610では,DMAエンジンは,クライアントメモリにおけるソースアドレスからユーザデータを読み出し,制御モジュールによって指示されるようにマルチキャストアドレスにデータを書き込む。本発明の一実施形態では,スイッチファブリックにおけるスイッチは,マルチキャストアドレスに関連付けられる。アドレスの受信の際,スイッチは,3つのアドレス,すなわち上記のメモリ位置の各々に対するアドレスを取得するようマルチキャストアドレスに必要な変換を行なう。その後,スイッチは3つのメモリ位置にユーザデータのコピーを送信する。当業者であれば,マルチキャストを実現する特定のスイッチはスイッチファブリックの実現例に基づき変動し得るということを理解するであろう。この実施形態では,クライアントとストレージ機器との間には発行された書込は1つだけ存在する。
(途中省略)
[0094]
引き続き図6Aを参照して,ステップ612では,ボールテッドメモリに格納されるユーザデータのコピーごとにTOCエントリが作成される。さらに,各TOCエントリにおいて特定されるページおよびバイトは,ステップ606において識別される対応する物理アドレスのページおよびバイト部分に対応する。したがって,フラグは,対応するTOCエントリが作成される時に,ソリッドステートメモリモジュールにおける物理アドレスに書き込まれないが,(フラグページの一部としての)フラグは,その後のある時点で,物理アドレスに書き込まれるように意図される。上で論じたように,TOCエントリの各々はTOCページに格納され,その結果,当該TOCページはソリッドステートメモリモジュールに書き込まれる。しかしながら,TOCページの作成に先立って,TOCエントリが作成され,制御モジュールにおけるメモリと,ソリッドステートストレージモジュールのうちの1つ上のボールテッドメモリとに一時的に格納される。
[0095]
引き続き図6Aを参照して,ステップ614では,ステップ612において作成されたTOCエントリは,ボールテッドメモリに格納される。より具体的には,各TOCエントリは,ストレージモジュールのボールテッドメモリに格納され,対応するフラグがその後のある時点で書き込まれる物理アドレスを含む。
(途中省略)
[0098]
図6Bを参照して,ステップ626では,制御モジュールにおけるプロセッサは,ボールテッドメモリからステップ608(当審注:「608」は「606」の誤記と認められる。)で識別された物理アドレスへのユーザデータのコピーの書き込みを開始する。本発明の一実施形態において,制御モジュールにおけるプロセッサは,ボールテッドメモリからユーザデータを読み出し,ソリッドステートメモリモジュールにおける物理アドレスにこのユーザデータのコピーを書き込むよう,ストレージモジュールコントローラにおけるDMAエンジンをプログラムする。上述したように,ユーザデータのコピーが書き込まれる物理アドレスは,以前にステップ606においてプロセッサによって決定された物理アドレスである。
[0099]
ステップ626の後,ステップ628では,制御モジュールにおけるプロセッサは,ステップ626においてソリッドステートメモリモジュールに書き込まれたユーザデータに対応する,ボールテッドメモリにおけるユーザデータのすべてのコピーが除去されることを要求する。ステップ630では,それぞれのボールテッドメモリにおいて(ステップ626において書き込まれた)ユーザデータのコピーを含んでいたストレージモジュールの各々によって,除去確認が制御モジュールにおけるプロセッサに送信される。)

(2)ここで,上記引用文献1に記載されている事項について検討する。

ア 上記Aの[0044],[0053],[0067]及び[0070]の記載から,引用文献1には,
「ストレージ機器は,制御モジュール(200)およびストレージモジュールグループ(202)を含み,
ストレージモジュールグループ(202)は,データを格納するよう各々が構成される1つ以上のストレージモジュール(214A,214N)を含み,
ストレージモジュール(320)は,メモリ(324)および1つ以上のソリッドステートメモリモジュール(330A,330N)を含み,
メモリ(324)は,ボールテッドメモリ(326)およびキャッシュ(328)に論理的または物理的にパーティショニングされ」ることが記載されていると認められる。

イ 上記Bの[0074]-[0077]の記載から,引用文献1には,
「ソリッドステートメモリモジュール(400)は1つ以上のブロックを含み,
各ブロック(402)は1つ以上のページを含み,
ブロック内の各ページは,フラグページ(Frag Page)(図4C参照)またはTOCページ(図4D参照)のいずれかであり,
フラグページは1つ以上のフラグ(frag)を含み,
TOCページ(406)は,1つ以上のTOCエントリを含んでおり,TOCエントリの各々は,所与のフラグについてのメタデータを含んでおり,
TOCページは,ブロックに関連付けられ,当該ブロックにおけるフラグについてのTOCエントリのみを含」むことが記載されていると認められる。

ウ 上記Cの[0087],[0088],[0090]-[0092]の記載から,引用文献1には,
「ストレージ機器にユーザデータを格納するための方法であって,
クライアントは,制御モジュールにおけるプロセッサ(図2A中の208)の送信キュー(SQ)に書込コマンド(書込要求)を書き込み,
プロセッサはSQから書込コマンドを取得し,
プロセッサは,ユーザデータを書き込むべき物理アドレスを決定し,(ステップ606)
物理アドレスはソリッドステートメモリモジュールにおける位置に対応し,
プロセッサは,ユーザデータのコピーを書き込むべき2つの物理アドレスを選択し,当該物理アドレスの各々は別個のソリッドステートメモリモジュールに存在し,
プロセッサは,マルチキャストアドレスへの書込を発行するようにDMAエンジンをプログラムし,
マルチキャストアドレスはマルチキャストグループに関連付けられており,当該マルチキャストグループは,制御モジュールにおけるメモリ中の第1のメモリ位置,第1のボールテッドメモリにおける第2のメモリ位置,および第2のボールテッドメモリにおける第3のメモリ位置を特定し,
第1のボールテッドメモリは,プロセッサによって特定される物理アドレスを含むソリッドステートメモリモジュールと同じストレージモジュールに位置し,
第2のボールテッドメモリも,同様の態様で決定され,
DMAエンジンは,クライアントメモリにおけるソースアドレスからユーザデータを読み出し,制御モジュールによって指示されるようにマルチキャストアドレスにデータを書き込」むことが記載されていると認められる。

エ 上記Cの[0094]-[0095]の記載から,引用文献1には,
「フラグは,対応するTOCエントリが作成される時に,ソリッドステートメモリモジュールにおける物理アドレスに書き込まれないが,(フラグページの一部としての)フラグは,その後のある時点で,物理アドレスに書き込まれるように意図され,
作成された各TOCエントリは,ストレージモジュールのボールテッドメモリに格納され,対応するフラグがその後のある時点で書き込まれる物理アドレスを含」むことが記載されていると認められる。

オ 上記Cの[0098]の記載から,引用文献1には,
「制御モジュールにおけるプロセッサは,ボールテッドメモリからステップ606で識別された物理アドレスへのユーザデータのコピーの書き込みを開始」することが記載されていると認められる。

カ 上記Cの[0086]の記載から,引用文献1には,
「フラグがボールテッドメモリに書き込まれるたびに,フラグについてのTOCエントリが作成され,
制御モジュールは,新しく作成されたTOCエントリが関連付けられるブロックをトラッキングし,この情報を使用して,TOCページに書き込まれていない,所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しいかどうか決定し,
TOCページに書き込まれていない,所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しい場合,制御モジュールは上記のエントリを使用してTOCページを生成し,ソリッドステートメモリモジュールへのTOCページの書き込みを開始」することが記載されていると認められる。

キ 上記Aの[0070]の記載から,引用文献1には,
「ストレージモジュールにおける停電の通知の場合,ボールテッドメモリ(326)のすべての内容をソリッドステートメモリモジュール(330A,330N)の1つ以上に書き込むように構成され」ることが記載されていると認められる。

ク 上記Bの[0076]の記載から,引用文献1には,
「「フラグ」および「ユーザデータ」という用語は,交換可能に使用される」ことが記載されていると認められる。

(3)したがって,上記引用文献1には次の発明(以下,「引用発明」という。)が記載されていると認められる。

「ストレージ機器にユーザデータを格納するための方法であって,
前記ストレージ機器は,制御モジュールおよびストレージモジュールグループを含み,
前記ストレージモジュールグループは,データを格納するよう各々が構成される1つ以上のストレージモジュールを含み,
前記ストレージモジュールは,メモリおよび1つ以上のソリッドステートメモリモジュールを含み,
前記メモリは,ボールテッドメモリおよびキャッシュに論理的または物理的にパーティショニングされ,
前記ソリッドステートメモリモジュールは1つ以上のブロックを含み,
各ブロックは1つ以上のページを含み,
ブロック内の各ページは,フラグページまたはTOCページのいずれかであり,
前記フラグページは1つ以上のフラグを含み,
前記TOCページは,1つ以上のTOCエントリを含んでおり,前記TOCエントリの各々は,所与のフラグについてのメタデータを含んでおり,
前記TOCページは,ブロックに関連付けられ,当該ブロックにおけるフラグについてのTOCエントリのみを含み,
クライアントは,制御モジュールにおけるプロセッサの送信キュー(SQ)に書込コマンド(書込要求)を書き込み,
前記プロセッサはSQから書込コマンドを取得し,
前記プロセッサは,ユーザデータを書き込むべき物理アドレスを決定し(ステップ606),
前記物理アドレスはソリッドステートメモリモジュールにおける位置に対応し,
前記プロセッサは,ユーザデータのコピーを書き込むべき2つの物理アドレスを選択し,当該物理アドレスの各々は別個のソリッドステートメモリモジュールに存在し,
前記プロセッサは,マルチキャストアドレスへの書込を発行するようにDMAエンジンをプログラムし,
前記マルチキャストアドレスはマルチキャストグループに関連付けられており,当該マルチキャストグループは,制御モジュールにおけるメモリ中の第1のメモリ位置,第1のボールテッドメモリにおける第2のメモリ位置,および第2のボールテッドメモリにおける第3のメモリ位置を特定し,
第1のボールテッドメモリは,プロセッサによって特定される前記物理アドレスを含むソリッドステートメモリモジュールと同じストレージモジュールに位置し,
第2のボールテッドメモリも,同様の態様で決定され,
DMAエンジンは,クライアントメモリにおけるソースアドレスからユーザデータを読み出し,制御モジュールによって指示されるようにマルチキャストアドレスにデータを書き込み,
フラグがボールテッドメモリに書き込まれるたびに,フラグについてのTOCエントリが作成され,
フラグは,対応するTOCエントリが作成される時に,ソリッドステートメモリモジュールにおける物理アドレスに書き込まれないが,フラグページの一部としてのフラグは,その後のある時点で,物理アドレスに書き込まれるように意図され,
作成された各TOCエントリは,ストレージモジュールのボールテッドメモリに格納され,対応するフラグがその後のある時点で書き込まれる物理アドレスを含み,
制御モジュールは,新しく作成されたTOCエントリが関連付けられるブロックをトラッキングし,この情報を使用して,TOCページに書き込まれていない,所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しいかどうか決定し,
TOCページに書き込まれていない,所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しい場合,制御モジュールは上記のエントリを使用してTOCページを生成し,ソリッドステートメモリモジュールへのTOCページの書き込みを開始し,
制御モジュールにおけるプロセッサは,ボールテッドメモリからステップ606で識別された物理アドレスへのユーザデータのコピーの書き込みを開始し,
ストレージモジュールにおける停電の通知の場合,ボールテッドメモリのすべての内容をソリッドステートメモリモジュールの1つ以上に書き込むように構成され,
「フラグ」および「ユーザデータ」という用語は,交換可能に使用される,
方法。」

2.引用文献2について
原査定の拒絶の理由に引用された上記引用文献2には,図面とともに次の事項が記載されている。

D 「[0122] Referring to FIGS. 5 and 15 , where an unexpected power interruption occurs, SSD 1000 compresses metadata stored in buffer memory 230 and stores the compressed metadata in flash memory 247 . CPU 220 controls the operation of storing the compressed metadata within a time interval while the temporary power supply provides power. To ensure adequate speed in storing the metadata, flash memory 247 can be configured to operate in various modes according to an input command from the host. As one example mode, flash memory 247 can operate certain regions of memory cells as single level cells (SLCs) that can be programmed more quickly than multilevel cells. Accordingly, where power is unexpectedly lost, SSD 1000 , can receive the metadata before the temporary power supply is exhausted.」
(訳:[0122】図5と図15を参照すると,予期せぬ電源断が発生した場合,SSD1000はバッファメモリ230に格納されているメタデータを圧縮し,圧縮されたメタデータをフラッシュメモリ247に格納する。CPU220は,一時的な電源供給が提供されている間の時間間隔内に,圧縮されたメタデータを格納する動作を制御する。メタデータを格納する際の適切な速度を保証するために,フラッシュメモリ247は,ホストからの入力コマンドに従って様々なモードで動作するように構成され得る。一例のモードとして,フラッシュメモリ247は,メモリセルのある領域を,マルチレベルセルよりも速くプログラムすることができるシングルレベルセル(SLC)として動作させることができる。したがって,電力が不意に失われる場合,SSD1000は,一時的な電力供給が枯渇する前にメタデータを受信することができる。)

したがって,上記引用文献2には,「予期せぬ電源断が発生して電力が不意に失われる場合,SSD1000は,バッファメモリ230に格納されているメタデータを圧縮し,圧縮されたメタデータを,フラッシュメモリのメモリセルのある領域をマルチレベルセルよりも速くプログラムすることができるシングルレベルセル(SLC)として動作させて格納することにより,SSD1000は,一時的な電力供給が枯渇する前にメタデータを受信することができる」ことが記載されている。

第5 対比・判断
1.本願発明1について
(1)対比
本願発明1と引用発明とを対比すると,次のことがいえる。
ア 引用発明の「ストレージ機器にユーザデータを格納するための方法」が本願発明1の「データを格納するための方法」に相当する。

イ 引用発明の「ボールテッドメモリ」,「フラグ」は,それぞれ本願発明1の「ボールテッドメモリ」,「フラグ」に相当し,引用発明では,
「前記プロセッサは,マルチキャストアドレスへの書込を発行するようにDMAエンジンをプログラムし,
前記マルチキャストアドレスはマルチキャストグループに関連付けられており,当該マルチキャストグループは,制御モジュールにおけるメモリ中の第1のメモリ位置,第1のボールテッドメモリにおける第2のメモリ位置,および第2のボールテッドメモリにおける第3のメモリ位置を特定し,」
「DMAエンジンは,クライアントメモリにおけるソースアドレスからユーザデータを読み出し,制御モジュールによって指示されるようにマルチキャストアドレスにデータを書き込」んでおり,引用発明において,「フラグ」および「ユーザデータ」という用語は,交換可能に使用されるものであることから,
引用発明と本願発明1とは,後記する点で相違するものの「ボールテッドメモリにフラグを書き込むことを含」む点で共通する。

ウ 引用発明では,「フラグがボールテッドメモリに書き込まれるたびに,フラグについてのTOCエントリが作成され」るところ,引用発明の「フラグについてのTOCエントリ」が本願発明1の「フラグについてのテーブルオブコンテンツエントリ(TE)」に相当し,引用発明では,「作成された各TOCエントリは,ストレージモジュールのボールテッドメモリに格納され」ているから,本願発明1とは,後記する点で相違するものの,「ボールテッドメモリに,フラグについてのテーブルオブコンテンツエントリ(TE)を書き込むことを含」む点で共通する。

エ 引用発明では,「制御モジュールにおけるプロセッサは,ボールテッドメモリからステップ606で識別された物理アドレスへのユーザデータのコピーの書き込みを開始し」ているところ,前記「ステップ606で識別された物理アドレス」は,「ソリッドステートメモリモジュールにおける位置に対応」するものであるから,引用発明は,「ソリッドステートメモリモジュール」に「ユーザデータ」である「フラグ」を「書き込むこと」を含むものである。
また,引用発明において,「フラグは,対応するTOCエントリが作成される時に,ソリッドステートメモリモジュールにおける物理アドレスに書き込まれないが,フラグページの一部としてのフラグは,その後のある時点で,物理アドレスに書き込まれるように意図され」るものであるから,「フラグ」は,「ソリッドステートメモリモジュール」における「フラグページ」(本願発明1の「ページ」に相当する。)に書き込まれるものである。
そして,引用発明の「フラグページ」は,フラグが書き込まれる領域であるから,「ソリッドステートメモリモジュールにおける物理アドレス」に“関連付けられて”いるということができる。
そうすると,引用発明と本願発明1とは,後記する点で相違するものの,「ソリッドステートメモリモジュールにおけるページにフラグを書き込むこととを含み,前記ページは物理アドレスに関連付けられて」いる点で共通する。

オ 引用発明は,
「前記ストレージモジュールは,メモリおよび1つ以上のソリッドステートメモリモジュールを含み,
前記メモリは,ボールテッドメモリおよびキャッシュに論理的または物理的にパーティショニングされ」るものであるから,引用発明と本願発明1とは,「ソリッドステートメモリモジュールおよびボールテッドメモリはストレージモジュールに位置する」点で一致する。

したがって,本願発明1と引用発明との間には,次の一致点,相違点があるといえる。

(一致点)
「データを格納するための方法であって,
ボールテッドメモリにフラグを書き込むことを含み,前記方法はさらに,
前記ボールテッドメモリに,前記フラグについてのテーブルオブコンテンツエントリ(TE)を書き込むことを含み,前記方法はさらに,
ソリッドステートメモリモジュールにおけるページに前記フラグを書き込むことを含み,前記ページは物理アドレスに関連付けられており,
前記ソリッドステートメモリモジュールおよび前記ボールテッドメモリはストレージモジュールに位置する,方法。」

(相違点)
(相違点1)
フラグを書き込む領域に関して,
本願発明1は,ボールテッドメモリにおける「オープンデータページ」にフラグを書き込むものであり,「前記オープンデータページは,第1のテーブルオブコンテンツ(TOC)ビットおよび第1の物理アドレスを含」むのに対して,
引用発明は,フラグをボールテッドメモリに書き込むことは特定されているものの,ボールテッドメモリ上のどのような領域に書き込むのかや,当該領域が,第1のテーブルオブコンテンツ(TOC)ビットおよび第1の物理アドレスを含むことについては何も特定されていない点。

(相違点2)
テーブルオブコンテンツエントリ(TE)を書き込む領域に関して,
本願発明1は,ボールテッドメモリにおける「オープンTOCページ」にTEを書き込むものであり,「前記オープンTOCページは,第2のTOCビットおよび第2の物理アドレスを含」むのに対して,
引用発明は,TEをボールテッドメモリに書き込むことは特定されているものの,ボールテッドメモリ上のどのような領域に書き込むのかや,当該領域が,第2のTOCビットおよび第2の物理アドレスを含むことについては,何も特定されていない点。

(相違点3)
ソリッドステートメモリモジュールにおけるページにフラグを書き込む契機に関して,
本願発明1は,「オープンデータページが一杯であるという第1の判定を行」い,この「第1の判定に基づいて」,フラグを書き込むのに対して,
引用発明では,フラグがボールテッドメモリに書き込まれると,「その後のある時点」で,当該フラグはソリッドステートメモリモジュールに書き込まれるというものであり,「オープンデータページが一杯であるという」「判定に基づいて」,フラグを書き込むというものではない点。

(相違点4)
本願発明1では,ソリッドステートメモリモジュールにおけるページは,「前記第1の物理アドレス」に関連付けられているのに対して,
引用発明では,フラグが書き込まれるフラグページは,「物理アドレス」に関連付けられているものの,当該「物理アドレス」が,上記相違点1における「オープンデータページ」に含まれる「第1の物理アドレス」に関連付けられているものではない点。

(2)相違点についての判断
上記相違点1について検討すると,
本願発明1における「オープンデータページ」は「第1のテーブルオブコンテンツ(TOC)ビットおよび第1の物理アドレス」を含むものであり,このうち,特に「第1の物理アドレス」は,上記相違点4に係る構成も勘案すると,フラグを書き込むソリッドステートメモリモジュールにおける「ページ」に関連付けられることが想定されたものであり,このようにフラグを書き込む「ページ」に関連付けられる「第1の物理アドレス」が「オープンデータページ」に含まれるようにすることで,審判請求人が審判請求書の第2頁の「(1)独立請求項に係る発明について」において主張するような,
「このようにデータを保存することにより,他のページを参照する必要がないため,データ保存に際して参照されるページ数が削減される。その結果,本願明細書の段落[0002]に記載の「永続ストレージからデータを読み出すことおよび永続ストレージにデータを書き込むことによって,システムに有意なレイテンシーが導入され,その結果,システムの全体の性能が低減する。」という課題を解決することができる。」
という作用・効果を得ることができるものと理解される。
これに対して,引用発明は,フラグを書き込むボールテッドメモリに「オープンデータページ」のようなページ領域を設けておらず,また,「オープンデータページ」が「第1の物理アドレス」を含むようにしたものでもない。
そして,ボールテッドメモリに「オープンデータページ」のようなページ領域を設けることや,当該「オープンデータページ」に,フラグを書き込むソリッドステートメモリモジュールの物理アドレスを含ませることは,引用文献2には記載されておらず,また,そのようにすることが,当該技術分野における周知技術であったということもできない。
そうすると,当業者であっても,引用発明に引用文献2に記載の技術的事項及び周知技術を適用して,上記相違点1に係る事項を容易に想到することができたということはできない。

したがって,その余の相違点について判断するまでもなく,本願発明1は,当業者であっても,引用発明,引用文献2に記載の技術的事項及び周知技術に基づいて容易に発明できたものであるとはいえない。

2.本願発明2-6について
本願発明2-6は,本願発明1を減縮した発明であり,上記相違点1に係る構成と同一の構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明,引用文献2に記載の技術的事項及び周知技術に基づいて容易に発明できたものとはいえない。

3.本願発明7について
本願発明7は,上記相違点1に係る構成と同一の構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2に記載の技術的事項に基づいて容易に発明できたものとはいえない。

4.本願発明8-14について
本願発明8-14は,本願発明7を減縮した発明であり,上記相違点1に係る構成と同一の構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明,引用文献2に記載の技術的事項及び周知技術に基づいて容易に発明できたものとはいえない。

5.本願発明15について
本願発明15は,本願発明7の方法の発明を「コンピュータ読取可能プログラムコードを含むデータを格納するための一時的でないコンピュータ読取可能記録媒体」の発明として記載したものであり,上記相違点1に係る構成と同一の構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明,引用文献2に記載の技術的事項及び周知技術に基づいて容易に発明できたものとはいえない。

6.本願発明16-20について
本願発明16-20は,本願発明15を減縮した発明であり,上記相違点1に係る構成と同一の構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明,引用文献2に記載の技術的事項及び周知技術に基づいて容易に発明できたものとはいえない。

第6 むすび
以上のとおり,本願発明1-20は,当業者が引用発明,引用文献2に記載の技術的事項及び周知技術に基づいて容易に発明をすることができたものではない。
したがって,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
 
審決日 2019-02-19 
出願番号 特願2016-99400(P2016-99400)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 酒井 恭信  
特許庁審判長 仲間 晃
特許庁審判官 須田 勝巳
山崎 慎一
発明の名称 データを格納するための方法およびデータを格納するための一時的でないコンピュータ読取可能記録媒体  
代理人 特許業務法人深見特許事務所  

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