【手続補正書】
【提出日】令和2年12月8日(2020.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
装置であって、
複数のマップページとして不揮発性メモリ（ＮＶＭ）に格納され、ユーザ・データ・ブロックの論理アドレスを、前記ユーザ・データ・ブロックが格納される前記ＮＶＭ内の物理アドレスと関連付けるマップ構造と、
前記ＮＶＭに格納された前記複数のマップページの第一サブセットのコピーを格納する第一キャッシュと、
前記ＮＶＭに格納された前記複数のマップページの第一サブセットのコピー、並びに前記複数のマップページの第二サブセットのコピーを格納する第二キャッシュと、
関連のメモリに格納されたプログラミングを有し、実行されたとき、検索コマンドを発行し、受け取ったホストコマンドに関連してリクエスト済みマップページを位置確認し、前記第一キャッシュに配置するプログラム可能なプロセッサと、
プログラム不可能なハードウェア回路を備え、前記ハードウェア回路は、前記検索コマンドに応じて、前記ＮＶＭから前記リクエスト済みマップページの取得を導き、メモリ内の逆テーブルにアクセスし、前記第二キャッシュ内の所定の物理アドレスに格納された可能な置換マップページを識別し、前記可能な置換マップページは、前記第一キャッシュの前記マップページの第一サブセット内にはないという、前記ハードウェア回路による決定に応じて、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを導くように構成される、装置。
【請求項２】
メモリ内のデータ構造として前記第二キャッシュ内に物理アドレスの先入れ先出し（ＦＩＦＯ）リストを更に備え、前記プログラム不可能なハードウェア回路は、前記所定の物理アドレスとして前記ＦＩＦＯリストから第一物理アドレスを選択し、前記逆テーブルにインデックスを付け、前記第一物理アドレスに格納された第一マップページとして前記可能な置換マップページを識別し、前記第一キャッシュを検索し、前記第一マップページが前記第一キャッシュに格納されたマップページの前記第一サブセットのメンバではないことを決定するように更に構成される、請求項１に記載の装置。
【請求項３】
前記可能な置換マップページが、前記第一キャッシュに格納されたマップページの前記第一サブセットのメンバであるという前記プログラム不可能なハードウェア回路による決定に応じて、前記プログラム不可能なハードウェア回路は、前記所定の物理アドレスとして前記ＦＩＦＯリストから第二物理アドレスを選択し、前記逆テーブルにインデックスを付け、前記第二物理アドレスに格納された第二マップページとして前記可能な置換マップページを識別し、前記第一キャッシュを検索し、前記第二マップページが前記第一キャッシュに格納されたマップページの前記第一サブセットのメンバではないことを決定するように更に構成される、請求項２に記載の装置。
【請求項４】
前記プログラム不可能なハードウェア回路は、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを実行することによって、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを導く、請求項１に記載の装置。
【請求項５】
前記プログラム不可能なハードウェア回路は、前記プログラム可能なプロセッサに前記所定の物理アドレスの通知を提供し、続いて、前記プログラム可能なプロセッサによって前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みによって、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを導く、請求項１に記載の装置。
【請求項６】
前記逆テーブルは、前記第二キャッシュ内の物理アドレスによって論理アドレスを関係付ける変換テーブルであり、前記第二キャッシュの所定の物理アドレスを前記逆テーブルに入力することによって、前記逆テーブルは、前記所定の物理アドレスに格納された対応する前記マップページを指示する、請求項１に記載の装置。
【請求項７】
前記プログラム不可能なハードウェア回路は、変換テーブルとして配置されたデータ構造として格納されたメモリ内の順テーブルを検索するように更に構成され、前記変換テーブルは、前記第二キャッシュ内の物理アドレスを前記マップページに関連した論理アドレスに関連付け、前記順テーブルに所定の論理アドレスを入力することによって、前記順テーブルは、前記所定の論理アドレスに関連した前記マップページが格納される前記第二キャッシュ内の対応する前記所定の物理アドレスを指示する、請求項１に記載の装置。
【請求項８】
前記プログラム不可能なハードウェア回路は、前記第一キャッシュを検索し、前記検索コマンドに応じて、及び前記第一キャッシュ上でのキャッシュヒットに応じて、前記リクエスト済みマップページが格納される前記第一キャッシュの物理アドレスを前記プログラム可能なプロセッサに通知するように更に構成される、請求項１に記載の装置。
【請求項９】
前記プログラム可能なプロセッサは、前記プログラム不可能なハードウェア回路に対して、前記検索コマンドと共に前記第一キャッシュ内の第二の可能な置換マップページを識別するように更に構成され、前記プログラム不可能なハードウェア回路は、前記第一キャッシュ内の前記第二の可能な置換マップページを前記リクエスト済みマップページで上書きするように更に構成される、請求項１に記載の装置。
【請求項１０】
前記プログラム可能なプロセッサは、データ・ストレージ・デバイス用の全体の処理制御を提供するプログラム可能なコアプロセッサであり、前記装置は、関連のメモリに格納されたプログラミングを有するプログラム可能なバック・エンド・プロセッサを更に備え、プログラミング及び読込み動作を導き、前記ＮＶＭとバッファメモリの間でデータを転送するように構成され、前記プログラム不可能なハードウェア回路は、前記リクエスト済みマップページ用の前記第二キャッシュ上でのキャッシュミスに応じて、前記プログラム可能なバック・エンド・プロセッサに読込みリクエストを発行し、前記ＮＶＭから前記リクエスト済みマップページを取得するように更に構成される、請求項１に記載の装置。
【請求項１１】
前記第二キャッシュ内の前記リクエスト済みマップページの位置において、前記リクエスト済みマップページが前記第二キャッシュ内にあることを示す順テーブルに応じて、前記プログラム不可能なハードウェア回路は、前記第二キャッシュから前記第一キャッシュへの前記リクエスト済みマップページのコピーの少なくとも所定の一つを実行するか、又は前記第二キャッシュ内の前記リクエスト済みマップページの物理的位置を識別するポインタをプログラム可能メモリに提供するように更に構成される、請求項１に記載の装置。
【請求項１２】
データ・ストレージ・デバイスであって、
マップページの総数として配置されるマップ構造を格納し、ユーザ・データ・ブロックの論理アドレスを、前記ユーザ・データ・ブロックが格納される前記ＮＶＭの物理アドレスに関連付ける不揮発性メモリ（ＮＶＭ）と、
前記総数より少ない第一の数の前記マップページを格納する第一キャッシュと、
前記総数より少ない第二の数のマップページを格納し、前記第二の数のマップページは前記第一の数のマップページの各々を含む、第二キャッシュと、
メモリ内のデータ構造として格納され、前記第二キャッシュに格納された前記第二の数のマップページの各々に関連した論理アドレスを識別する順テーブルと、
メモリ内のデータ構造として格納され、前記第二の数のマップページが各々格納される前記第二キャッシュメモリの物理アドレスを識別する逆テーブルと、
関連のメモリに格納されたプログラミングを有し、検索コマンドを発行し、ホストからのホスト・アクセス・コマンドの受取りに応じて、リクエスト済みマップページを検索するように構成されるプログラム可能なプロセッサと、
非プロセッサベースのマップハードウェア支援管理回路として特徴付けられ、次のように構成されるハードウェア回路を備え、
前記検索コマンドに応じて、前記第一キャッシュを検索し、前記リクエスト済みマップページが格納される前記第一キャッシュの物理アドレスを前記プログラム可能なプロセッサに通知し、
前記第一キャッシュ上でのキャッシュミスに応じて、前記順テーブルを検索し、前記順テーブルに応じて前記第二キャッシュから前記第一キャッシュに前記リクエスト済みマップページをコピーし、前記リクエスト済みマップページが前記第二キャッシュ内にあることを指示し、
前記第二キャッシュ上でのキャッシュミスに応じて、前記逆テーブルを検索し、前記所定の物理アドレスに格納された第二マップページを識別し、前記第一キャッシュを検索し、前記第二マップページが前記第一キャッシュに格納されていないことを決定し、前記プログラム可能なプロセッサに対して、前記第二キャッシュからの退避用の候補として可能な置換マップページを識別する、データ・ストレージ・デバイス。
【請求項１３】
前記プログラム可能なプロセッサは、前記ハードウェア回路に対して、前記検索コマンドと共に前記第一キャッシュ内の可能な置換マップページを識別するように更に構成され、前記ハードウェア回路は、前記第一キャッシュ内の前記可能な置換マップページを前記リクエスト済みマップページで上書きするように更に構成される、請求項１２に記載のデータ・ストレージ・デバイス。
【請求項１４】
前記プログラム可能なプロセッサは、データ・ストレージ・デバイス用の全体の処理制御を提供するプログラム可能なコアプロセッサであり、前記データ・ストレージ・デバイスは、関連のメモリに格納されたプログラミングを有し、プログラミング及び読込み動作を導き、主メモリとバッファメモリの間でデータを転送するように構成されるプログラム可能なバック・エンド・プロセッサを更に備え、前記ハードウェア回路は、前記リクエスト済みマップページ用の前記第二キャッシュ上でのキャッシュミスに応じて、前記マップ構造にアクセスし、前記リクエスト済みマップページが配置される前記主メモリ内の主メモリ物理アドレスを識別し、前記プログラム可能なバック・エンド・プロセッサへの読込みリクエストと共に、前記バック・エンド・プロセッサに前記主メモリ物理アドレスを供給し、前記主メモリから前記リクエスト済みマップページを取得するように更に構成される、請求項１２に記載のデータ・ストレージ・デバイス。
【請求項１５】
前記ハードウェア回路によってアクセスされるローカルメモリ内のデータ構造として先入れ先出し（ＦＩＦＯ）リストを更に備え、前記逆テーブルへの入力として前記第二キャッシュ内の前記所定の物理アドレスを識別し、前記ＦＩＦＯリストは最長未使用時間（ＬＲＵ）ベースで前記第二キャッシュ内の位置を配置する、請求項１２に記載のデータ・ストレージ・デバイス。
【請求項１６】
前記マップ構造は、第一レベルマップと第二レベルマップを含むマルチレベルマップを備え、前記第二レベルマップは前記主メモリに格納され、前記リクエスト済みマップページを含む複数のマップページを備え、前記第一レベルマップは、前記複数のマップページが前記主メモリに格納される物理アドレスを識別するエントリを備え、前記第二レベルマップの第一の数のマップページは前記第一キャッシュに格納され、前記第二レベルの第二のより大きな数のマップページは前記第二キャッシュに格納され、前記第一キャッシュに格納される各マップページも、前記第二キャッシュに格納される、請求項１２に記載のデータ・ストレージ・デバイス。
【請求項１７】
ソリッド・ステート・ドライブ（ＳＳＤ）として特徴付けられ、前記主メモリはフラッシュメモリアレイを備える、請求項１２に記載のデータ・ストレージ・デバイス。
【請求項１８】
方法であって、
関連のメモリに格納されたプログラミングを有するプログラム可能なプロセッサによって検索コマンドを発行し、マップ構造のリクエスト済みマップページを位置確認し、第一キャッシュに配置し、受け取ったホストコマンドにサービスを提供し、前記リクエスト済みマップページは、ユーザ・データ・ブロックの論理アドレスを、前記ユーザ・データ・ブロックが格納される不揮発性メモリ（ＮＶＭ）内の物理アドレスと関連付けることと、
プログラム不可能なハードウェア回路を用いて、
順テーブルを検索し、前記順テーブルに応じて、第二キャッシュから前記第一キャッシュに前記リクエスト済みマップページをコピーし、前記リクエスト済みマップページは前記第二キャッシュ内にあることを示し、前記第一キャッシュ上でのキャッシュミスに応じて、前記順テーブルはメモリ内のデータ構造として格納され、前記第二キャッシュに格納された前記マップ構造の複数のマップページの各々に関連した論理アドレスを識別し、
前記第二キャッシュ内の所定の物理アドレスを識別し、逆テーブルを検索し、前記所定の物理アドレスに格納された可能な置換マップページを識別し、前記第一キャッシュを検索し、前記可能な置換マップページが前記第一キャッシュに格納されていないことを決定し、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページの上書きを導くことを備える、方法。
【請求項１９】
前記プログラム不可能なハードウェア回路を用いて、前記第一キャッシュを検索し、検索コマンドに応じて及び前記第一キャッシュ上でのキャッシュヒットに応じて、前記リクエスト済みマップページが格納される前記第一キャッシュの物理アドレスを、前記プログラム可能なプロセッサに通知することを更に備える、請求項１８に記載の方法。
【請求項２０】
前記プログラム不可能なハードウェア回路を動作させ、前記リクエスト済みマップページ用の前記第二キャッシュ上でのキャッシュミスに応じて、前記マップ構造にアクセスし、前記リクエスト済みマップページが配置される前記ＮＶＭ内の物理アドレスを識別し、バック・エンド・プロセッサへの読込みリクエストと共に前記物理アドレスを供給し、前記ＮＶＭから前記リクエスト済みマップページを取得し、前記バック・エンド・プロセッサは、メモリに格納された関連のプログラミングを有するプログラム可能な第二プロセッサを備え、前記ＮＶＭとデータのプログラム及び書込みを行うことを更に備える、請求項１８に記載の方法。