【手続補正書】
【提出日】平成29年2月13日(2017.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソリッドステート・メディア用のメディア・コントローラであって、前記メディア・コントローラは、ホスト・デバイスと通信し、前記メディア・コントローラは、制御プロセッサを備え、
前記制御プロセッサは、前記ホスト・デバイスから、少なくとも１つの論理アドレスとアドレス範囲とを含む要求を受け取ったことに応答して、前記受け取った要求が無効にする要求（以下、無効にする要求を無効化要求という）であるかどうかを判定し、
前記制御プロセッサは、前記受け取った要求のタイプが無効化要求である場合には、
前記メディア・コントローラのマップによって、前記ソリッドステート・メディアの前記少なくとも１つの論理アドレスとアドレス範囲に関連付けられた該マップの１つまたは複数のエントリを決定し、
前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付け、
前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行い、
前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記１つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新し、及び、
無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求に関して再使用できるようにする
ように構成されてなり、
前記標識は、前記１つまたは複数のマップ・エントリが無効にされるべきことを示すものであることからなる、メディア・コントローラ。
【請求項２】
前記無効化要求は、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）ＴＲＩＭコマンドと、スモール・コンピュータ・システム・インターフェース（ＳＣＳＩ）ＵＮＭＡＰコマンドと、マルチメディアカード（ＭＭＣ）ＥＲＡＳＥコマンドと、セキュア・デジタル（ＳＤ）カードＥＲＡＳＥコマンドとのうちの１つである、請求項１に記載のメディア・コントローラ。
【請求項３】
前記マップは、第１レベル・マップと第２レベル・マップとを備えるマルチレベル・マップである、請求項１のメディア・コントローラであって、
前記第２レベル・マップは複数の第２レベル・マップ・ページを有し、該第２レベル・マップ・ページの各々は複数のエントリを有し、該エントリの各々は、前記ソリッドステート・メディアの物理アドレスを格納するように構成され、
前記第１レベル・マップは複数のエントリを有し、該エントリの各々は第２レベル・マップ・ページに関連付けられており、前記第１レベル・マップは、前記少なくとも１つの論理アドレスと前記アドレス範囲とを前記第２レベル・マップ・エントリのうちの少なくとも１つに関連付けるように構成されることからなる、請求項１または２に記載のメディア・コントローラ。
【請求項４】
第２レベル・マップ・エントリの各々は、有効標識を有し、
第１レベル・マップ・エントリの各々は、前記第２レベル・マップ・ページのうちの対応するページのアドレスと、前記第１レベル・マップ・エントリに関連付けられた前記第２レベル・マップの１つまたは複数のエントリに対応する有効標識と、処理されるべき（ＴＢＰ）標識とを有し、
前記ＴＢＰ標識は、前記第２レベル・マップのエントリは、無効であるが書き込むのには利用できない場合にそのことを示すように構成される、請求項３に記載のメディア・コントローラ。
【請求項５】
前記制御プロセッサは、前記第２レベル・マップのエントリを無効にするために、前記要求の前記アドレス範囲内に完全に含まれている前記第２レベル・マップ・ページのうちのページに関連付けられた前記第１レベル・マップ内に前記ＴＢＰ標識のうちの特定のＴＢＰ標識を設定するように構成される、請求項４に記載のメディア・コントローラ。
【請求項６】
前記制御プロセッサは、１つまたは複数の前記物理アドレスに格納されているデータを無効にするために、前記要求の前記アドレス範囲内に部分的に含まれている前記第２レベル・マップ・ページのうちのページのエントリを直接トリミングするように構成される、請求項４または５に記載のメディア・コントローラ。
【請求項７】
前記ＴＢＰ標識が所与の第２レベル・マップに関して設定されている場合には、前記制御プロセッサは、前記所与の第２レベル・マップに関する後続の無効化要求が受け取られるまで、前記所与の第２レベル・マップに関する前記後続の無効化要求に先行する無効化要求の処理を遅らせ、これによって、無効化要求に関する処理時間を短くし、及び、前記所与の第２レベル・マップを更新するための前記ソリッドステート・メディアに対する書き込み動作を少なくするように構成される、請求項５に記載のメディア・コントローラ。
【請求項８】
第１レベル・マップ・エントリの各々は、前記要求の前記範囲内に含まれている前記関連付けられた第２レベル・マップのいくつかの部分を追跡するように構成された少なくとも１つのＴＲＩＭアドレス範囲標識を含むことからなる、請求項５〜７のいずれかに記載のメディア・コントローラ。
【請求項９】
前記制御プロセッサは、前記第２レベル・マップの前記無効にされたエントリのそれぞれを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするために、
前記関連付けられたＴＢＰ標識が設定されている場合には、該ＴＢＰ標識をクリアし、及び、
前記関連付けられた有効標識が設定されている場合には、該有効標識をクリアする
ように構成される、請求項４〜８のいずれかに記載のメディア・コントローラ。
【請求項１０】
前記第１レベル・マップが、前記メディア・コントローラのマップ・メモリに格納され、
前記第２レベル・マップ・ページのすべてが、前記ソリッドステート・メディアに格納され、
前記第２レベル・マップ・ページの少なくともサブセットが、前記メディア・コントローラの前記制御プロセッサに結合されたマップ・キャッシュに一時的に格納される、請求項４〜９のいずれかに記載のメディア・コントローラ。
【請求項１１】
前記メディア・コントローラの前記空きスペース・カウントは、複数のエントリを有するブロック使用されるスペース・テーブルを有し、
前記ブロック使用されるスペース・テーブルの各エントリは、前記ソリッドステート・メディアの複数の物理領域のうちの１つに関連付けられる、請求項１〜１０のいずれかに記載のメディア・コントローラ。
【請求項１２】
ソリッドステート・メディアおよびホスト・デバイスと通信するメディア・コントローラによって受け取られたホスト要求を処理する方法であって、
前記メディア・コントローラによって、前記ホスト・デバイスから、少なくとも１つの論理アドレスとアドレス範囲とを含む要求を受け取るステップと、
前記要求を受け取ったことに応答して、前記受け取った要求が無効にする要求（以下、無効にする要求を無効化要求という）であるかどうかを判定し、
前記受け取った要求のタイプが無効化要求である場合に、
前記メディア・コントローラのマップを用いて、前記ソリッドステート・メディアの前記少なくとも１つの論理アドレスと前記アドレス範囲とに関連付けられた前記マップの１つまたは複数のエントリを決定するステップと、
前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付けるステップであって、該標識は、前記１つまたは複数のマップ・エントリが無効にされるべきことを示すものである、ステップと、
前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行うステップと、
前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記１つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新するステップと、
無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするステップ
を含む、方法。
【請求項１３】
前記マップは、第１レベル・マップと第２レベル・マップとを有するマルチレベル・マップであり、
複数の第２レベル・マップ・ページの複数のエントリの各々を、前記ソリッドステート・メディアの物理アドレスに関連付けるステップと、
前記第１レベル・マップの複数のエントリの各々を、第２レベル・マップ・ページに関連付け、これによって、前記少なくとも１つの論理アドレスと前記アドレス範囲とを前記第２レベル・マップ・エントリのうちの少なくとも１つに関連付けるステップ
をさらに含む、請求項１２に記載の方法。
【請求項１４】
第２レベル・マップ・エントリの各々は、有効標識を有し、
第１レベル・マップ・エントリの各々は、前記第２レベル・マップ・ページのうちの対応するページのアドレスと、前記第１レベル・マップ・エントリに関連付けられた前記第２レベル・マップの１つまたは複数のエントリに対応する有効標識と、処理されるべき（ＴＢＰ）標識とを有し、
前記ＴＢＰ標識は、前記第２レベル・マップのエントリは、無効であるが書き込むのには利用できない場合にそのことを示すように構成され、
前記要求の前記アドレス範囲内に完全に含まれている前記第２レベル・マップ・ページのうちのページに関連付けられた前記第１レベル・マップ内の前記ＴＢＰ標識のうちの特定のＴＢＰ標識を設定することによって、前記第２レベル・マップのエントリを無効にするステップ
をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記要求の前記アドレス範囲内に部分的に含まれている前記第２レベル・マップ・ページのうちのページのエントリを直接トリミングすることによって、前記第２レベル・マップのエントリを無効にするステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記ＴＢＰ標識が所与の第２レベル・マップに関して設定されている場合に、前記所与の第２レベル・マップに関する後続の無効化要求が受け取られるまで、前記所与の第２レベル・マップに関する前記後続の無効化要求に先行する無効化要求の処理を遅らせ、これによって、無効化要求に関する処理時間を短くし、及び、前記所与の第２レベル・マップを更新するための前記ソリッドステート・メディアに対する書き込み動作を少なくするステップをさらに含む、請求項１４または１５に記載の方法。
【請求項１７】
前記第２レベル・マップの前記無効にされたエントリの各々を、前記ホスト・デバイスからのその後の要求のために再使用できるようにする前記ステップが、
前記関連付けられたＴＢＰ標識が設定されている場合には、該ＴＢＰ標識をクリアするステップと、
前記関連付けられた有効標識が設定されている場合には、該有効標識をクリアするステップ
を含むことからなる、請求項１４〜１６のいずれかに記載の方法。
【請求項１８】
前記メディア・コントローラのマップ・メモリに前記第１レベル・マップを格納するステップと、
前記ソリッドステート・メディアに前記第２レベル・マップ・ページのすべてを格納するステップと、
前記メディア・コントローラの制御プロセッサに結合されたマップ・キャッシュに前記第２レベル・マップ・ページの少なくともサブセットを一時的に格納するステップ
をさらに含む、請求項１４〜１７のいずれかに記載の方法。
【請求項１９】
前記メディア・コントローラの前記空きスペース・カウントは、複数のエントリを有するブロック使用されるスペース・テーブルを含み、
前記ブロック使用されるスペース・テーブルの各エントリを前記ソリッドステート・メディアの複数の物理領域のうちの１つに関連付けるステップをさらに含む、請求項１２〜１８のいずれかに記載の方法。
【請求項２０】
符号化されたプログラム・コードを有する非一時的なマシン可読記憶媒体であって、
前記プログラム・コードがマシンによって実行されると、前記マシンは、ソリッドステート・メディアおよびホスト・デバイスと通信するメディア・コントローラによって受け取られたホスト要求を処理する方法を実施し、
前記方法が、
前記メディア・コントローラによって、前記ホスト・デバイスから、少なくとも１つの論理アドレスとアドレス範囲とを含む要求を受け取るステップと、
前記要求を受け取ったことに応答して、前記受け取った要求が無効にする要求（以下、無効にする要求を無効化要求という）であるかどうかを判定するステップと、
前記受け取った要求のタイプが無効化要求である場合に、
前記メディア・コントローラのマップを用いて、前記ソリッドステート・メディアの前記少なくとも１つの論理アドレスと前記アドレス範囲とに関連付けられた前記マップの１つまたは複数のエントリを決定するステップと、
前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付けるステップであって、該標識は、前記１つまたは複数のマップ・エントリが無効にされるべきことを示すものである、ステップと、
前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行うステップと、
前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記１つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新するステップと、
無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするステップ
を含むことからなる、マシン可読記憶媒体。