【手続補正書】
【提出日】平成29年7月28日(2017.7.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検索されるメモリへ検索要求を発行することであって、前記検索要求は前記メモリへ送信されたライトコマンドの論理ブロックアドレスフィールド内の所定のビットセットによって開始され、前記論理ブロックアドレスフィールドは、更に、前記検索要求を開始するための情報を示すビットを含み、前記ライトコマンドの前記論理ブロックアドレスフィールドは、論理ブロックアドレスの代わりに、前記所定のビットと、前記検索要求を開始するための前記情報を示す前記ビットとを含む、ことと、
前記検索要求を開始するための前記情報に応答して開始された、前記メモリに格納されたデータベースの検索が完了した、または検索結果が見つかったという指示を、前記メモリから受信することと、
前記検索結果が見つかった場合には、前記指示に応答して前記メモリ内のデータバッファから前記検索結果を取得し、前記データバッファが空である場合、前記メモリによる使用のための前記データバッファを放棄することと、
前記検索要求に応じて前記メモリによって実行される前記検索と同時に、リード又はライトコマンドで前記メモリにアクセスすることと、
を含む方法。
【請求項２】
前記検索要求を開始するための前記情報に応答して、前記検索要求が受信されたという確認を前記メモリから受信することをさらに含む、請求項１に記載の方法。
【請求項３】
前記検索要求に応答する前記検索が完了した、または前記検索結果が見つかったという前記指示を、前記メモリから受信することが、前記検索が前記メモリに格納された前記データベースの最後に到達したという指示を受信することを含む、請求項１に記載の方法。
【請求項４】
前記検索要求に応答して実行される前記検索が完了した、または前記検索結果が見つかったという前記指示を、前記メモリから受信することが、前記メモリ内の前記データバッファが一杯であるという指示を受信することを含む、請求項１に記載の方法。
【請求項５】
前記指示に応答して前記メモリから前記検索結果を取得することが、前記メモリに前記検索結果を返信させるリードコマンドを前記メモリに発行することを含む、請求項１に記載の方法。
【請求項６】
ホストが前記検索結果を受信する準備ができていることを前記メモリに示すために、リードコマンドを前記メモリに発行することをさらに含む、請求項１に記載の方法。
【請求項７】
前記メモリがソフトウェアアップデートを受信することをさらに含む、請求項１に記載の方法。
【請求項８】
ホストに結合されたメモリシステムに第１のコマンドを送信することであって、前記第１のコマンドは、前記メモリシステムに格納されたデータベースを検索するための検索要求の指示を含み、前記指示は、待機された検索条件及び検索キーのための前記検索要求を示す前記第１のコマンドの論理ブロックアドレスフィールド内の所定のビットセットを含み、前記検索要求の前記検索条件及び前記検索キーは、前記メモリシステムのデータバッファに格納され、前記第１のコマンドの前記論理ブロックアドレスフィールドが、論理ブロックアドレスの代わりに、前記所定のビットと、前記検索要求を開始するための情報を示すビットとを含むように、前記第１のコマンドの前記論理ブロックアドレスフィールドは、更に、前記検索要求を実行するための前記情報を示すビットを含む、ことと、
前記メモリシステムが前記検索要求に起因する検索を実行するのと同時に、前記メモリシステムへリード又はライトコマンドを送信することと、
前記メモリシステムへ第２のコマンドを送信することであって、前記第２のコマンドが、前記ホストが検索結果を受領する準備ができているという、前記メモリシステムへの指示を含む、ことと、
前記検索結果を取得するための第３のコマンドを前記メモリシステムへ送信することと、
前記検索に関連した前記メモリシステムの前記データバッファの使用が放棄されたという指示を、前記メモリシステムから受信することと、
を含む、方法。
【請求項９】
前記第２のコマンドを送信することと、前記第３のコマンドを送信することとの間で、前記メモリシステムから応答を受信することをさらに含み、前記応答は、前記メモリシステムが検索結果を有するか、または前記データベースがその全体を検索されたという指示を含む、請求項８に記載の方法。
【請求項１０】
前記第１のコマンドがスモールコンピュータシステムインタフェース（ＳＣＳＩ）ライトコマンドを含み、前記第２のコマンドがＳＣＳＩリードコマンドを含み、前記第３のコマンドがＳＣＳＩリードコマンドを含む、請求項８に記載の方法。
【請求項１１】
前記検索条件は、「等しい」、「未満」、「超」、「等しくない」、「以下」、「以上」、「及び」、「または」または「ではない」のうちの１つ以上を含む、請求項８に記載の方法。
【請求項１２】
メモリ内のデータベースの複数の検索に対応する、複数の受信された検索要求を待機させることであって、前記受信された複数の検索要求は、前記メモリのデータバッファ内に待機させられる、ことと、
前記メモリに結合されたホストからコマンドを受信することであって、前記コマンドは、前記データバッファ内に待機させられた、前記複数の受信された検索要求を実行するための要求を示すビットを有する論理ブロックアドレスフィールドを含み、前記コマンドの前記論理ブロックアドレスフィールドが前記メモリに対応する論理ブロックアドレスを含まないように、前記コマンドの前記論理ブロックアドレスフィールドは、更に、前記複数の受信された検索要求を実行するための情報を示すビットを含む、ことと、
前記ビットと、前記複数の受信された検索要求を実行するための前記情報とに応答して、前記データベースの複数の検索を生成することであって、前記複数の前記検索のそれぞれが前記複数の受信された検索要求のそれぞれに対して生成される、ことと、
前記データベースの前記複数の検索を実質的に並行に実行することと、
前記複数の検索と並行して、読み出し又は書き込み動作を開始するためのリード又はライトコマンドを前記ホストから受信することと、
前記複数の検索の各それぞれについて、前記それぞれの検索が完了したか、または検索結果を生成したという指示を、前記メモリから送信することと、
前記複数の検索に関連した前記データバッファが放棄されたという指示を、前記ホストへ送信することと、
を含む方法。
【請求項１３】
受信されたコマンドに応答して、前記検索結果のそれぞれを前記ホストに送信することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記複数の検索のそれぞれが各検索キー及び各検索条件を含む、請求項１２に記載の方法。
【請求項１５】
メモリシステムによって、第１のコマンドをホストから受信することであって、前記第１のコマンドは前記メモリシステム内のデータベースを検索するための検索要求の指示を含み、前記指示は、待機された検索条件及び検索キーについての前記検索要求を示す、前記第１のコマンドの論理ブロックアドレスフィールド内のビットセットを含み、前記検索要求の前記待機された検索条件及び前記検索キーは、前記メモリシステムのデータバッファに格納され、前記第１のコマンドの前記論理ブロックアドレスフィールドは、前記第１のコマンドの前記論理ブロックアドレスフィールドが前記メモリシステムに対応する論理ブロックアドレスを含まないように、前記検索要求を実行するための情報を示すビットを更に含む、ことと、
前記メモリシステムによって、前記ホストから第２のコマンドを受信することであって、前記第２のコマンドは、前記ホストが前記メモリシステムから検索結果を受領する準備ができているという前記メモリシステムへの指示を含む、ことと、
前記ビット、及び、前記検索要求を実行するための前記情報に応答して、前記待機された検索条件と前記検索キーを用いて前記データベースの少なくとも一つの検索を実行することと、
前記少なくとも一つの検索と並行して、前記ホストからリード又はライトコマンドを受信することと、
前記データバッファに、前記検索結果を格納することと、
前記メモリシステムによって、前記検索結果を取得するための第３のコマンドを前記ホストから受信することと、
を含む方法。
【請求項１６】
前記第３のコマンドに応答して前記ホストに前記データバッファ内のデータを送信することをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記第１、第２及び第３のコマンドをパースすることと、
検索要求バッファ内に前記第１のコマンドを待機させることと、
未了要求バッファ内に前記第２及び第３のコマンドのそれぞれの指示を格納することと、
応答情報バッファ内に検索結果の指示を格納することと、
応答バッファ内に前記検索結果を格納することと、
前記第２のコマンドの前記指示と前記検索結果の前記指示に応答して前記ホストに情報応答を送信することと、
前記第３のコマンドの前記指示と前記検索結果の前記指示に応答して前記応答バッファから前記検索結果を送信することと、
をさらに含む、請求項１５に記載の方法。
【請求項１８】
前記応答バッファから前記検索結果を送信した後、応答バッファ自由リストに指示を格納することをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記検索結果を格納するためのデータ構造を作成する前記メモリシステムをさらに含む、請求項１５に記載の方法。
【請求項２０】
前記検索結果が、第１のデータ構造からのデータを含み、かつ、前記第１のデータ構造に応答して、第２のデータ構造からのデータをさらに含む、請求項１５に記載の方法。
【請求項２１】
前記第２のデータ構造を作成することが、前記第１と第２のデータ構造の両方に存在する特定のフィールドに基づいて前記第２のデータ構造を作成することを含む、請求項２０に記載の方法。
【請求項２２】
或るレコード内のフィールドに、前記検索結果中のその他のレコードの集約関数に応答して値を割り当てることをさらに含む、請求項１５に記載の方法。
【請求項２３】
データベース検索を実行する動作のためのメモリシステムの処理回路によって実行するための命令を格納する、非一時的コンピュータ読み取り可能な記憶媒体であって、前記データベース検索を実行する前記動作が、
前記メモリシステムに格納されたデータベースを検索するための、前記メモリシステムによって受信された複数の検索要求を待機させることであって、前記複数の検索要求は、前記メモリシステムのデータバッファ内に待機させられる、ことと、
前記メモリシステムに結合されたホストからコマンドを受信することであって、前記コマンドは、前記データバッファに待機された前記複数の検索要求を実行するための要求を示すビットを有する論理ブロックアドレスフィールドを含み、前記コマンドの前記論理ブロックアドレスフィールドが前記メモリシステムに対応する論理ブロックアドレスを含まないように、前記コマンドの前記論理ブロックアドレスフィールドは、更に、前記複数の検索要求を実行するための情報を示すビットを含む、ことと、
前記ビット及び前記複数の検索要求を実行するための前記情報に応答して、複数の検索を生成することであって、それぞれの検索が前記複数の検索要求のそれぞれに対して生成される、ことと、
実質的に並行に前記複数の検索を実行することであって、前記複数の検索は、前記ホストから受信されたリード又はライトコマンドによって開始される読み出し又は書き込み動作と並行して実行される、ことと、
各それぞれの検索に対して、前記それぞれの検索が前記データベースの全体を検索したか、又は検索結果を生成したという指示を、前記メモリシステムから送信することと、
を含む、非一時的コンピュータ読み取り可能な記憶媒体。
【請求項２４】
前記検索を実行する前記動作が、前記検索結果を受信するホストの準備ができていることを示すコマンドの受信に応答して各それぞれの検索のために前記指示を送信することを更に含む、請求項２３に記載の非一時的コンピュータ読み取り可能な記憶媒体。
【請求項２５】
前記検索を実行する前記動作が、前記検索結果の読み出しを示すコマンドに応答して、前記検索結果を送信することを更に含む、請求項２４に記載の非一時的コンピュータ読み取り可能な記憶媒体。
【請求項２６】
前記検索を実行するための前記動作が、前記検索結果の前記読み出しを示す前記コマンドを受信するまで、前記メモリシステムにおけるバッファ内に前記検索結果を格納することを更に含む、請求項２５に記載の非一時的コンピュータ読み取り可能な記憶媒体。
【請求項２７】
データベースを格納するよう構成されたメモリと、
前記メモリに結合されたコントローラと、
を備えるメモリシステムであって、
前記コントローラが、
検索要求を受信し、前記データベースの検索と対応する前記検索要求を前記メモリのデータバッファに待機させることと、
前記検索要求と、受信されたコマンドとに応答して、前記データベースの検索を生成することであって、前記受信されたコマンドは、待機された前記検索要求を実行するための要求を示すビットを有する論理ブロックアドレスフィールドを含み、前記受信されたコマンドの前記論理ブロックアドレスフィールドは、前記受信されたコマンドの前記論理ブロックアドレスフィールドが前記メモリに対応する論理ブロックアドレスを含まないように、前記検索要求を実行するための情報を示すビットを更に含む、ことと、
前記ビット及び前記待機された検索要求に応答して、他の検索要求及び他のメモリ動作と実質的に並行して前記データベースの前記検索を実行することと、
それぞれの検索に対して、前記それぞれの検索が完了したか又は検索結果を生成したかの何れかであることを示すそれぞれの指示を送信することと、
前記検索に関連した前記データバッファが放棄されたという指示を送信することと、
を制御するよう構成された、メモリシステム。
【請求項２８】
前記コントローラが、
前記検索結果を要求するコマンドをホストから受信したことに応答して、前記検索結果を備えるデータバッファを前記ホストへ送信することと、
前記データバッファが前記検索結果の送信の後に空であるという指示を設定することと、
を制御するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項２９】
前記データベースが非構造化データセットを備える、請求項２７に記載のメモリシステム。
【請求項３０】
前記データベースが構造化データセットを備える、請求項２７に記載のメモリシステム。
【請求項３１】
前記メモリシステムがソリッドステートドライブを備え、前記メモリが不揮発性メモリを備える、請求項２７に記載のメモリシステム。
【請求項３２】
前記データベースが、複数のメモリシステムに格納されたデータセットを備え、前記コントローラがさらに、前記複数のメモリシステムにわたって前記データベースの前記検索を実行することを制御するよう構成された、請求項２７に記載のメモリシステム。
【請求項３３】
前記コントローラが、前記検索結果に、エラー訂正冗長性をさらに追加するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項３４】
前記コントローラは、検索結果の複製を制御するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項３５】
前記コントローラが、前記検索結果の１つ以上のレコードのフィールド内にインデックスを作成するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項３６】
前記コントローラは前記検索結果をキャッシュするようさらに構成された、請求項２７に記載のメモリシステム。
【請求項３７】
前記コントローラが、
前記検索結果が受信されたことを示すコマンドを受信し、
前記検索結果が受信されたことを示す前記コマンドに応答して、前記検索結果に関連するメモリをクリアするようさらに構成された、請求項２７に記載のメモリシステム。
【請求項３８】
前記コントローラが、前記検索結果に関連するメモリ位置の割り当てを解除するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項３９】
前記コントローラはデータ構造形式に関する情報を格納するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項４０】
前記情報がフィールドの説明、データベーススキーマ、二分木情報またはグラフ構造を備える、請求項３９に記載のメモリシステム。
【請求項４１】
前記コントローラがデータ構造の前記格納のためのスペースを割り当てるようさらに構成された、請求項２７に記載のメモリシステム。
【請求項４２】
前記コントローラが、前記データベースの状態を変更すること、前記データベースを作成すること、前記データベース内にテーブルを作成すること、前記データベース内に第１のレコードを挿入すること、前記データベース内の第２のレコードを削除すること、前記データベース内のテーブルを削除すること、及び／または前記データベースを削除することのうち、１つ以上を実行するようさらに構成された、請求項２７に記載のメモリシステム。
【請求項４３】
複数のメモリシステムを備えるシステムであって、
各メモリシステムが、
データベースを格納するよう構成されたメモリと、
前記メモリに結合されたコントローラと、を備え、
前記コントローラは、
検索要求を受信し、前記データベースの検索に対応する前記検索要求を、前記メモリのデータバッファ内へ待機させることと、
前記検索要求と、受信されたコマンドとに応答して、前記データベースの検索を生成することであって、前記受信されたコマンドは、待機された前記検索要求を実行するための要求を示すビットを有する論理ブロックアドレスフィールドを含み、前記受信されたコマンドの前記論理ブロックアドレスフィールドは、前記受信されたコマンドの前記論理ブロックアドレスフィールドが前記メモリに対応する論理ブロックアドレスを含まないように、前記検索要求を実行するための情報を示すビットを更に含む、ことと、
前記ビット及び前記待機された検索要求に応答して、他の検索要求及び読み出し又は書き込みメモリ動作と実質的に並行して前記データベースの前記検索を実行することと、
それぞれの検索に対して、前記それぞれの検索が完了したか又は検索結果を生成したかの何れかを示すそれぞれの指示を送信することと、
前記検索に関連した前記データバッファが放棄されたという指示を送信することと、
を制御するよう構成され、
前記検索要求が第１及び第２のメモリシステムの両方で実行されるよう前記第１のメモリシステムが前記第２のメモリシステムのクライアントであるように、前記複数のメモリシステムが互いに結合されている、システム。