【手続補正書】
【提出日】平成28年11月14日(2016.11.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
不揮発性メモリコントローラにおいて、複数の不揮発性メモリのうちのＮ個の部分をプログラムするためのデータを受け取る工程であって、当該データは当該Ｎ個の部分のうちの特定の１つをプログラムするための特定のデータを有するものである、前記受け取る工程と、
前記特定のデータを割り当てられたバッファに記憶する工程であって、当該バッファは前記不揮発性メモリコントローラと関連付けられているものである、前記記憶する工程と、
前記不揮発性メモリのうちの特定の１つに対して前記特定のデータのプログラミングを開始する工程と、
前記Ｎ個の部分のうちＭ個の障害から回復するのに十分な冗長情報を更新する工程と、
前記割り当てられたバッファを解放する工程と
を有し、
前記記憶する工程、前記特定のデータのプログラミングを開始する工程、前記冗長情報を更新する工程、および前記解放する工程のうちの少なくとも１つは、前記受け取る工程に応答するものであり、
前記解放する工程は、前記特定の不揮発性メモリが前記プログラミングを完了する前に行われるものである、
方法。
【請求項２】
請求項１に記載の方法において、前記冗長情報は第１の冗長情報であり、データは前記Ｎ個の部分のサブセットのために受け取られるものであり、プログラミングは前記Ｎ個の部分の前記サブセットについてはまだ開始されていないものであり、この方法は、さらに、
前記Ｎ個の部分の前記サブセットのうちの少なくとも一部のプログラミングを遅延させる工程と、
前記不揮発性メモリのうちの複数のメモリに対して前記第１の冗長情報のプログラミングを開始する工程と、
前記Ｎ個の部分の前記サブセットのうちの前記少なくとも一部のプログラミングを開始する工程と、
前記第１の冗長情報とは異なる、前記Ｎ個の部分の前記サブセットのうちＭ個の障害から回復するのに十分な第２の冗長情報を更新する工程と
を有するものであり、
前記プログラミングを遅延させる工程、前記第１の冗長情報のプログラミングを開始する工程、前記Ｎ個の部分の前記サブセットのうちの前記少なくとも一部のプログラミングを開始する前記工程、および前記第２の冗長情報を更新する工程のうちの少なくとも１つは、前記特定のデータの前記プログラミングの障害を検出したことに応答するものである方法。
【請求項３】
請求項２に記載の方法において、前記特定のデータは、前記障害が検出された場合、もっぱら前記第１の冗長情報で符号化されているとおりに記憶されるものである方法。
【請求項４】
請求項１〜３のいずれか１項に記載の方法において、前記データは、前記Ｎ個の部分のうちの第１の部分をプログラムするための初期データをさらに有するものであり、さらに、
少なくとも部分的に前記初期データに基づいて前記冗長情報を初期設定する工程を有するものである方法。
【請求項５】
請求項１〜４のいずれか１項に記載の方法において、前記不揮発性メモリコントローラは前記割り当てられたバッファを有するものである方法。
【請求項６】
請求項１〜５のいずれか１項に記載の方法において、前記割り当てられたバッファは、前記不揮発性メモリコントローラを有する第２のチップとは独立した第１のチップに具備される方法。
【請求項７】
請求項１〜６のいずれか１項に記載の方法において、前記不揮発性メモリコントローラは、ストレージインターフェース規格と適合するコンピューティング・ホスト・インターフェースを少なくとも部分的に介してコンピューティングホストと通信可能なソリッドステート・ディスク・コントローラとして動作するものである方法。
【請求項８】
処理要素によって実行されると、当該処理要素に動作を実行させ、かつ／または制御させる命令のセットが記憶されている有形のコンピュータ可読媒体であって、前記動作は、
不揮発性メモリコントローラにおいて、複数の不揮発性メモリのうちのＮ個の部分をプログラムするためのデータを受け取る動作であって、当該データは当該Ｎ個の部分のうちの特定の１つをプログラムするための特定のデータを有するものである、前記受け取る動作と、
前記特定のデータを割り当てられたバッファに記憶する動作であって、当該バッファは前記不揮発性メモリコントローラと関連付けられているものである、前記記憶する動作と、
前記不揮発性メモリのうちの特定の１つに対して前記特定のデータのプログラミングを開始する動作と、
前記Ｎ個の部分のうちＭ個の障害から回復するのに十分な冗長情報を更新する動作と、
前記割り当てられたバッファを解放する動作と
を有し、
前記記憶する動作、前記特定のデータのプログラミングを開始する動作、前記冗長情報を更新する動作、および前記解放する動作のうちの少なくとも１つは、前記特定のデータを受け取る動作に応答するものであり、
前記解放する動作は、前記特定の不揮発性メモリが前記プログラミングを完了する前に行われるものである、
有形のコンピュータ可読媒体。
【請求項９】
請求項８に記載の有形のコンピュータ可読媒体において、前記冗長情報は第１の冗長情報であり、データは前記Ｎ個の部分のサブセットのために受け取られるものであり、プログラミングは前記Ｎ個の部分の前記サブセットについてまだ開始されていないものであり、前記動作は、さらに、
前記Ｎ個の部分の前記サブセットのうちの少なくとも一部のプログラミングを遅延させる動作と、
前記不揮発性メモリのうちの複数のメモリに対して前記第１の冗長情報のプログラミングを開始する動作と、
前記Ｎ個の部分の前記サブセットのうちの前記少なくとも一部のプログラミングを開始する動作と、
前記第１の冗長情報とは異なる、前記Ｎ個の部分の前記サブセットのうちＭ個の障害から回復するのに十分な第２の冗長情報を更新する動作と
を有するものであり、
前記プログラミングを遅延させる動作、前記第１の冗長情報のプログラミングを開始する動作、前記Ｎ個の部分の前記サブセットのうちの前記少なくとも一部のプログラミングを開始する動作、および前記第２の冗長情報を更新する動作のうちの少なくとも１つは、前記特定のデータの前記プログラミングの障害を検出したことに応答するものである有形のコンピュータ可読媒体。
【請求項１０】
請求項９に記載の有形のコンピュータ可読媒体において、前記特定のデータは、前記障害が検出された場合、もっぱら前記第１の冗長情報で符号化されているとおりに記憶されるものである有形のコンピュータ可読媒体。
【請求項１１】
請求項８〜１０のいずれか１項に記載の有形のコンピュータ可読媒体において、前記データは、前記Ｎ個の部分のうちの第１の部分をプログラムするための初期データをさらに有するものであり、さらに、
少なくとも部分的に前記初期データに基づいて前記冗長情報を初期設定する動作を有するものである有形のコンピュータ可読媒体。
【請求項１２】
請求項８〜１１のいずれか１項に記載の有形のコンピュータ可読媒体において、前記不揮発性メモリコントローラは前記割り当てられたバッファを有する有形のコンピュータ可読媒体。
【請求項１３】
請求項８〜１２のいずれか１項に記載の有形のコンピュータ可読媒体において、前記割り当てられたバッファは、前記不揮発性メモリコントローラを有する第２のチップとは独立した第１のチップに具備される有形のコンピュータ可読媒体。
【請求項１４】
請求項８〜１３のいずれか１項に記載の有形のコンピュータ可読媒体において、前記不揮発性メモリコントローラは、ストレージインターフェース規格と適合するコンピューティング・ホスト・インターフェースを少なくとも部分的に介してコンピューティングホストと通信可能なソリッドステート・ディスク・コントローラとして動作するものである有形のコンピュータ可読媒体。
【請求項１５】
請求項８〜１４のいずれか１項に記載の有形のコンピュータ可読媒体において、前記不揮発性メモリコントローラは前記処理要素を有するものである有形のコンピュータ可読媒体。
【請求項１６】
システムであって、
割り当てられたバッファと、
不揮発性メモリコントローラにおいて、複数の不揮発性メモリのうちのＮ個の部分をプログラムするためのデータを受け取る手段であって、当該データは当該Ｎ個の部分のうちの特定の１つをプログラムするための特定のデータを有するものである、前記受け取る手段と、
前記特定のデータを前記割り当てられたバッファに記憶する手段であって、当該バッファは前記不揮発性メモリコントローラと関連付けられているものである、前記記憶する工程と、
前記不揮発性メモリのうちの特定の１つに対して前記特定のデータのプログラミングを開始する手段と、
前記Ｎ個の部分のうちＭ個の障害から回復するのに十分な冗長情報を更新する手段と、
前記割り当てられたバッファを解放する手段と
を有し、
前記記憶する手段、前記特定のデータのプログラミングを開始する手段、前記冗長情報を更新する手段、および前記解放する手段のうちの少なくとも１つは、前記受け取る手段に応答するものであり、
前記解放する手段は、前記特定の不揮発性メモリが前記プログラミングを完了する前に前記割り当てられたバッファを解放するように動作するものである、
システム。
【請求項１７】
請求項１６に記載のシステムにおいて、前記冗長情報は第１の冗長情報であり、データは前記Ｎ個の部分のサブセットのために受け取られるものであり、プログラミングは前記Ｎ個の部分の前記サブセットについてまだ開始されていないものであり、このシステムは、さらに、
前記Ｎ個の部分の前記サブセットのうちの少なくとも一部のプログラミングを遅延させる手段と、
前記不揮発性メモリのうちの複数のメモリに対して前記第１の冗長情報のプログラミングを開始する手段と、
前記Ｎ個の部分の前記サブセットのうちの前記少なくとも一部のプログラミングを開始する手段と、
前記第１の冗長情報とは異なる、前記Ｎ個の部分の前記サブセットのうちＭ個の障害から回復するのに十分な第２の冗長情報を更新する手段と
を有するものであり、
前記プログラミングを遅延させる手段、前記第１の冗長情報のプログラミングを開始する前記手段、前記Ｎ個の部分の前記サブセットのうちの前記少なくとも一部のプログラミングを開始する前記手段、および前記第２の冗長情報を更新する手段のうちの少なくとも１つは、前記特定のデータの前記プログラミングの障害を検出する手段に応答するものであるシステム。
【請求項１８】
請求項１７に記載のシステムにおいて、前記特定のデータは、前記障害が検出された場合、もっぱら前記第１の冗長情報で符号化されているとおりに記憶されるものであるシステム。
【請求項１９】
請求項１６〜１８のいずれか１項に記載のシステムにおいて、前記データは、前記Ｎ個の部分のうちの第１の部分をプログラムするための初期データをさらに有するものであり、さらに、
少なくとも部分的に前記初期データに基づいて前記冗長情報を初期設定する手段を有するものであるシステム。
【請求項２０】
請求項１６〜１９のいずれか１項に記載のシステムにおいて、前記不揮発性メモリコントローラは前記割り当てられたバッファを有するものであるシステム。