【手続補正書】
【提出日】平成23年1月28日(2011.1.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリシステムであって、
複数のブロックを有する第１の不揮発性メモリと、
揮発性メモリと、
前記第１の不揮発性メモリのコントローラであって、
管理テーブルの第１のコピーを、第１の部分および第２の部分を含む複数のブロックの第１の部分のみに記憶し、
管理テーブルの第２のコピーを前記揮発性メモリに記憶し、
前記管理テーブルがメモリシステムの第１の状態と関連付けられたデータを含み、前記第１の状態が第１の時間と関連付けられ、
将来情報データ構造を記憶した後で発生することが予測されるメモリシステムのイベントに関連する記録を含む前記将来情報データ構造を、複数のブロックの第２の部分のみに記憶し、
前記将来情報データ構造を記憶した後の第２の時間でのイベントの発生に応じて、
前記将来情報データ構造に従って前記揮発性メモリの管理テーブルの第２のコピーを修正し、この修正は、前記不揮発性メモリをスキャンすることなく達成されて、複数のブロックのうちのどのブロックが未使用のブロックであるのかを判断し、
前記管理テーブルの第１のコピーを更新するかどうかを決定し、かつ
前記管理テーブルの第１のコピーの更新を決定したことに応じて、前記不揮発性メモリをスキャンすることなく前記将来情報データ構造に従って前記管理テーブルの第１のコピーを更新するように機能する前記第１の不揮発性メモリのコントローラと、
を備えるメモリシステム。
【請求項２】
請求項１記載のメモリシステムにおいて、
第２の不揮発性メモリをさらに備え、
前記コントローラは、前記第２の不揮発性メモリに記憶されたコードを実行することによって記憶、修正、決定、および更新を行うように機能するメモリシステム。
【請求項３】
メモリシステムであって、
複数のブロックを有する不揮発性メモリを備えるメモリモジュールと、
揮発性メモリと、
前記メモリモジュールのホストであって、
管理テーブルの第１のコピーを、第１の部分および第２の部分を含む複数のブロックの第１の部分のみに記憶し、
管理テーブルの第２のコピーを前記揮発性メモリに記憶し、
前記管理テーブルがメモリシステムの第１の状態と関連付けられたデータを含み、前記第１の状態が第１の時間と関連付けられ、
将来情報データ構造を記憶した後で発生することが予測されるメモリシステムのイベントに関連する記録を含む前記将来情報データ構造を、複数のブロックの第２の部分のみに記憶し、
前記将来情報データ構造を記憶した後の第２の時間でのイベントの発生に応じて、
前記将来情報データ構造に従って前記揮発性メモリの管理テーブルの第２のコピーを修正し、この修正は、前記不揮発性メモリをスキャンすることなく達成されて、複数のブロックのうちのどのブロックが未使用のブロックであるのかを判断し、
前記管理テーブルの第１のコピーを更新するかどうかを決定し、かつ
前記管理テーブルの第１のコピーの更新を決定したことに応じて、前記不揮発性メモリをスキャンすることなく前記将来情報データ構造に従って前記管理テーブルの第１のコピーを更新することに関与する前記メモリモジュールのホストと、
を備えるメモリシステム。
【請求項４】
メモリシステムであって、
複数のブロックを有する第１の不揮発性メモリと、
コントローラであって、
起動時間の前の記憶時間に前記第１の不揮発性メモリで記憶され、記憶時間の後で発生することが予測されるイベントに関連する更新記録を含む将来情報データ構造を、前記第１の不揮発性メモリから読み出し、かつ
条件を満たした場合には、前記第１の不揮発性メモリをスキャンすることなく前記更新記録に従って管理テーブルを更新して、複数のブロックのうちのどのブロックが更新の前に空いているブロックであるのかを判断し、前記管理テーブルを前記第１の不揮発性メモリで記憶し、前記管理テーブルが更新の前にメモリシステムの第１の状態と関連付けられた第１のデータを記憶し、前記第１の状態が起動時間の前の第１の時間と関連付けられるように機能するコントローラと、を備え、
更新は、前記メモリシステムの電源停止の後で前記管理テーブルのデータ以外のデータを前記第１の不揮発性メモリに書き込む前に完了するメモリシステム。
【請求項５】
請求項４記載のメモリシステムにおいて、
第２の不揮発性メモリをさらに備え、
前記コントローラは、前記第２の不揮発性メモリに記憶されるコードを実行することによって読み出しおよび更新を行うように機能するメモリシステム。
【請求項６】
メモリシステムであって、
複数のブロックを有する不揮発性メモリを備えるメモリモジュールと、
ホストであって、
起動時間の前の記憶時間に前記不揮発性メモリで記憶され、記憶時間の後で発生することが予測されるイベントに関連する更新記録を含む将来情報データ構造を、前記不揮発性メモリから読み出し、かつ
条件を満たした場合には、前記不揮発性メモリをスキャンすることなく前記更新記録に従って管理テーブルを更新して、複数のブロックのうちのどのブロックが更新の前に空いているブロックであるのかを判断し、前記管理テーブルを前記不揮発性メモリで記憶し、前記管理テーブルが更新の前にメモリシステムの第１の状態と関連付けられた第１のデータを記憶し、前記第１の状態が起動時間の前の第１の時間と関連付けられるように関与するホストと、を備え、
更新は、前記メモリシステムの電源停止の後で前記管理テーブルのデータ以外のデータを前記不揮発性メモリに書き込む前に完了するメモリシステム。
【請求項７】
プロセッサによって実行される場合のプロセッサ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体により前記プロセッサが、
管理テーブルの第１のコピーを、複数のブロックを有するとともに第１の部分および第２の部分を含むメモリシステムの不揮発性メモリの第１の部分のみに記憶し、
管理テーブルの第２のコピーを揮発性メモリで記憶し、
前記管理テーブルがメモリシステムの第１の状態と関連付けられたデータを含み、前記第１の状態が第１の時間と関連付けられ、
将来情報データ構造を記憶した後で発生することが予測されるメモリシステムのイベントに関連する記録を含む前記将来情報データ構造を、複数のブロックの第２の部分のみに記憶し、
前記将来情報データ構造を記憶した後の第２の時間でのイベントの発生に応じて、
前記将来情報データ構造に従って前記揮発性メモリの管理テーブルの第２のコピーを修正し、この修正は、前記不揮発性メモリをスキャンすることなく達成されて、複数のブロックのうちのどのブロックが未使用のブロックであるのかを判断し、
前記管理テーブルの第１のコピーを更新するかどうかを決定し、かつ
前記管理テーブルの第１のコピーの更新を決定したことに応じて、前記不揮発性メモリをスキャンすることなく前記将来情報データ構造に従って前記管理テーブルの第１のコピーを更新するコンピュータ可読記憶媒体。
【請求項８】
プロセッサによって実行される場合のプロセッサ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体により前記プロセッサが、
起動時間の前の記憶時間に複数のブロックを有するメモリシステムの不揮発性メモリで記憶され、記憶時間の後で発生することが予測されるイベントに関連する更新記録を含む将来情報データ構造を、前記不揮発性メモリから読み出し、かつ
条件を満たした場合には、前記不揮発性メモリをスキャンすることなく前記更新記録に従って管理テーブルを更新して、複数のブロックのうちのどのブロックが更新の前に空いているブロックであるのかを判断し、前記管理テーブルを前記不揮発性メモリで記憶し、前記管理テーブルが更新の前にメモリシステムの第１の状態と関連付けられた第１のデータを記憶し、前記第１の状態が起動時間の前の第１の時間と関連付けられ、
更新は、前記メモリシステムの電源停止の後で前記管理テーブルのデータ以外のデータを前記不揮発性メモリに書き込む前に完了するコンピュータ可読記憶媒体。
【請求項９】
複数のブロックを有する不揮発性メモリを備えるメモリシステムのデータ構造を維持する方法であって、
管理テーブルの第１のコピーを、第１の部分および第２の部分を含む複数のブロックの第１の部分のみに記憶し、
管理テーブルの第２のコピーを揮発性メモリに記憶し、
前記管理テーブルが第１の時間にメモリシステムの第１の状態と関連付けられたデータを含み、
将来情報データ構造を記憶した後で発生することが予測されるメモリシステムのイベントに関連する記録を含む前記将来情報データ構造を、複数のブロックの第２の部分のみに記憶し、
前記将来情報データ構造を記憶した後の第２の時間でのイベントの発生に応じて、
前記将来情報データ構造に従って前記揮発性メモリの管理テーブルの第２のコピーを修正し、この修正は、前記不揮発性メモリをスキャンすることなく達成されて、どのブロックが未使用のブロックであるのかを判断し、
前記管理テーブルの第１のコピーを更新するかどうかを決定し、かつ
前記管理テーブルの第１のコピーの更新を決定したことに応じて、前記不揮発性メモリをスキャンすることなく前記将来情報データ構造に従って前記管理テーブルの第１のコピーを更新する方法。
【請求項１０】
請求項９記載の方法において、
更新は、前記揮発性メモリの管理テーブルのＮ回の修正後に行われ、Ｎは予め決められた整数である方法。
【請求項１１】
請求項９記載の方法において、
更新は、選択されるイベントの発生に応じて行われる方法。
【請求項１２】
請求項９記載の方法において、
更新は、定期的に行われる方法。
【請求項１３】
請求項９記載の方法において、
更新は、前記メモリシステムが機能的である間に、前記メモリシステムのリソースの使用可能性に従って行われる方法。
【請求項１４】
請求項９記載の方法において、
前記将来情報データ構造は、第１の時間に空いている、前記不揮発性メモリのブロックのリストを含む方法。
【請求項１５】
メモリシステムの電源停止の後で前記メモリシステムを起動する方法であって、
起動時間の前の記憶時間に不揮発性メモリで記憶され、記憶時間の後で発生することが予測されるイベントに関連する更新記録を含む将来情報データ構造を、前記不揮発性メモリから読み出し、かつ
予め定められた条件を満たした場合には、前記不揮発性メモリをスキャンすることなく前記更新記録に従って管理テーブルを更新して、前記不揮発性メモリのどのブロックが更新の前に空いているブロックであるのかを判断し、前記管理テーブルを前記不揮発性メモリで記憶し、前記管理テーブルがメモリシステムの第１の状態と関連付けられた第１のデータを記憶し、前記第１の状態が起動時間の前の第１の時間と関連付けられ、
更新は、前記メモリシステムの電源停止の後で前記管理テーブルのデータ以外のデータを前記不揮発性メモリに書き込む前に完了する方法。
【請求項１６】
請求項１５記載の方法において、
前記メモリシステムの現在の状態に従って前記不揮発性メモリで記憶された前記管理テーブルを更新により修正する方法。
【請求項１７】
請求項１５記載の方法において、
予め定められた条件には前記メモリシステムの記憶されたコンテンツの変更が含まれ、この変更には第１の時間の後で発生された変更が含まれる方法。
【請求項１８】
方法であって、
不揮発性メモリを備えるデータ記憶デバイスで、
メモリ管理テーブルの第１のコピーを、前記不揮発性メモリで記憶し、
前記不揮発性メモリの未使用のブロックを識別するとともにその未使用のブロックを割り当てる順序を定義するデータエントリのリストを、前記不揮発性メモリで記憶し、
電源イベントを検出したことに応じて、前記リストのエントリをアクセスしてブロックを識別し、かつ
前記識別されたブロックと関連付けられた状態に基づいて前記メモリ管理テーブルの第１のコピーを選択的に更新することを行う方法。
【請求項１９】
請求項１８記載の方法において、
前記不揮発性メモリは、フラッシュメモリである方法。
【請求項２０】
請求項１８記載の方法において、
前記メモリ管理テーブルの第１のコピーの更新は、前記不揮発性メモリの全体をスキャンすることなく達成されて、どのブロックが未使用のブロックであるのかを判断する方法。
【請求項２１】
請求項２０記載の方法において、
前記識別されたブロックと関連付けられた状態が使用中であるのかどうかをさらに判断し、この判断は、前記識別されたブロックの制御フィールドに記憶されたデータに基づいて行われる方法。
【請求項２２】
請求項１８記載の方法において、
メモリ管理テーブルの第２のコピーを、前記データ記憶デバイスの揮発性メモリでさらに記憶する方法。
【請求項２３】
請求項２２記載の方法において、
使用中の前記識別されたブロックと関連付けられた状態に応じて、前記メモリ管理テーブルの第２のコピーをさらに更新して、前記識別されたブロックの使用を反映させる方法。
【請求項２４】
請求項２３記載の方法において、
前記メモリ管理テーブルの第１のコピーの更新は、前記メモリ管理テーブルの第２のコピーをＮ回更新した後に行われ、Ｎは正の整数である方法。
【請求項２５】
請求項１８記載の方法において、
前記メモリ管理テーブルの第１のコピーの更新は、定期的に行われる方法。
【請求項２６】
請求項２３記載の方法において、
前記識別されたブロックの状態が使用中である場合には、第２の識別されたブロックと関連付けられた状態が使用中であるのかどうかをさらに判断し、前記第２の識別されたブロックのリストはリスト内の識別されたブロックのリストの後に配置される方法。
【請求項２７】
請求項２６記載の方法において、
前記第２の識別されたブロックが未使用である場合には、前記メモリ管理テーブルの第１のコピーと前記メモリ管理テーブルの更新された第２のコピーのコピーを置き換えることにより、前記メモリ管理テーブルの第１のコピーをさらに更新する方法。
【請求項２８】
データ記憶デバイスであって、
複数のブロックを有する不揮発性メモリと、
コントローラであって、
メモリ管理テーブルの第１のコピーを、前記不揮発性メモリで記憶し、
前記不揮発性メモリの未使用のブロックを識別するとともにその未使用のブロックを割り当てる順序を定義するデータエントリのリストを、前記不揮発性メモリで記憶し、
電源イベントを検出したことに応じて、前記リストのエントリをアクセスしてブロックを識別し、かつ
前記識別されたブロックと関連付けられた状態に基づいて前記メモリ管理テーブルの第１のコピーを選択的に更新するように関与するコントローラと、
を備えるデータ記憶デバイス。
【請求項２９】
請求項２８記載のデータ記憶デバイスにおいて、
前記メモリ管理テーブルの第１のコピーは、前記不揮発性メモリの全体をスキャンすることなく更新されて、ブロックのうちのどのブロックが未使用のブロックであるのかを判断するデータ記憶デバイス。
【請求項３０】
請求項２８記載のデータ記憶デバイスにおいて、
前記コントローラは、前記識別されたブロックの状態が使用中であるのかどうかを判断するようにさらに関与し、この判断は前記識別されたブロックの制御フィールドに記憶されたデータに基づいて行われるデータ記憶デバイス。
【請求項３１】
請求項２８記載のデータ記憶デバイスにおいて、
揮発性メモリをさらに備え、
前記コントローラは、メモリ管理テーブルの第２のコピーを前記揮発性メモリで記憶するようにさらに関与するデータ記憶デバイス。
【請求項３２】
請求項３１記載のデータ記憶デバイスにおいて、
前記コントローラは、使用中の前記識別されたブロックの状態に応じて、前記メモリ管理テーブルの第２のコピーを更新して、前記識別されたブロックの使用を反映させ、かつ第２の識別されたブロックの状態が使用中であるのかどうかを判断するようにさらに関与し、前記第２の識別されたブロックが前記リスト内の識別されたブロックのリストの後にリストされるデータ記憶デバイス。
【請求項３３】
請求項３２記載のデータ記憶デバイスにおいて、
前記第２の識別されたブロックの状態が未使用である場合には、前記コントローラは、前記メモリ管理テーブルの第１のコピーと前記メモリ管理テーブルの更新された第２のコピーのコピーを置き換えることにより、前記メモリ管理テーブルの第１のコピーを更新するようにさらに関与するデータ記憶デバイス。