(57)【要約】本開示には、アライメントされていないデータを結合するための方法とシステムを含む。ある方法には、第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信すること、第２のデータのアライメントされていない部分に関連する第２の書き込みコマンドを受信すること、および第１のデータのアライメントされていない部分と第２のデータのアライメントされていない部分と、を結合することを含み、この場合、結合することには、前記第１のデータのアライメントされていない部分と第２のデータのアライメントされていない部分をメモリ・デバイスにあるページに書き込むことを含む。【選択図】図１
2014523032.tif 000002
【特許請求の範囲】
【請求項１】
アライメントされていないデータを結合する方法であって、
第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信すること、
第２のデータのアライメントされていない部分に関連する第２の書き込みコマンドを受信すること、および
前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分とを結合することを含み前記結合が、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分をメモリ・デバイスにあるページに書き込むことを含む、方法。
【請求項２】
前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分が、前記ページに関連する論理アドレスに関連する、請求項１に記載の方法。
【請求項３】
前記方法が、前記ページが前記第１のデータのアライメントされていない部分に関連するインジケータを作成することを含む、請求項１に記載の方法。
【請求項４】
前記方法が、少なくとも前記ページが前記第２のデータ部分に関連し、前記インジケータが、前記ページが前記第１のデータのアライメントされていない部分に関連することを示すことに応答して、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分を結合することをさらに含む、請求項３に記載の方法。
【請求項５】
前記方法が、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分をバッファに格納することを含む、請求項１から４のうちいずれか１項に記載の方法。
【請求項６】
前記方法が、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分に関連する論理アドレスを結合データ構造に格納することを含む、請求項１から４のうちのいずれか１項に記載の方法。
【請求項７】
前記方法が、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分に対するポインタを前記結合データ構造に格納することを含む、請求項６に記載の方法。
【請求項８】
アライメントされていないデータを結合する方法であって、
データのアライメントされていない部分に関連する書き込みコマンドを受信すること、および
前記データのアライメントされていない部分に関連する論理アドレスに対応する論理ページを参照するインジケータを作成すること
を含む方法。
【請求項９】
前記方法が、前記インジケータと、後続の書き込みコマンドでデータのアライメントされていない部分に対応する論理ページを参照する他のインジケータとを比較する、請求項８に記載の方法。
【請求項１０】
前記方法が、前記アライメントされていない部分が前記論理ページに関連していることに応答して前記アライメントされていない部分を結合することを含む、請求項９に記載の方法。
【請求項１１】
前記方法が、少なくとも前記インジケータが前記論理ページを参照していることに応答して前記アライメントされていない部分を結合することを含む、請求項９に記載の方法。
【請求項１２】
前記方法が、メモリ・デバイスからのデータの論理アドレスを書き込むことを含み、前記アライメントされていない部分を結合するための読み取りにおいて、前記論理アドレスが、前記アライメントされていない部分に対応する前記論理ページに関連する、請求項９〜１１のいずれか１項に記載の方法。
【請求項１３】
前記方法が、前記書き込みコマンドに関連する前記データのアライメントされていない部分と、前記後続の書き込みコマンドにおける前記データのアライメントされていない部分の論理アドレスを、書き込み結合データ構造に書き込み、前記アライメントされていない部分を結合することを含む、請求項９〜１１のうちのいずれかひとつに記載の方法。
【請求項１４】
アライメントされていないデータを結合する方法であって、
第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信すること、
前記第１のデータのアライメントされていない部分に関連する論理アドレスに対応する論理ページが、第２の書き込みコマンドに関連する第２のデータのアライメントされていない部分に関連するインジケータによって参照される論理ページであることを判定すること、および
前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分とを結合することを含む方法。
【請求項１５】
前記方法が、前記第２の書き込みコマンドの受信に続いて、前記第１の書き込みコマンドを受信することを含む、請求項１４に記載の方法。
【請求項１６】
前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を結合することが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を一回の書き込み操作でメモリ・デバイスに書き込むことを含む、請求項１４〜１５のいずれか１項に記載の方法。
【請求項１７】
システムであって、
メモリ・セルのアレイと、
前記アレイに動作可能に接続され、第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信し、
第２のデータのアライメントされていない部分に関連する第２の書き込みコマンドを受信し、
前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分と、を結合する
ように構成されたコントローラと
を備える、システム。
【請求項１８】
前記コントローラが、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分を、一回の書き込み操作で前記アレイに書き込むように構成される、請求項１７に記載のシステム。
【請求項１９】
前記コントローラが、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分に関連する論理アドレスが共通の論理ページに対応し、かつ前記論理アドレスが共通ではないことに応答して、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分を結合するように構成される、請求項１７に記載のシステム。
【請求項２０】
前記コントローラが、前記第１のデータのアライメントされていない部分に関連する論理アドレスを読み出し結合データ構造に格納するように構成される、請求項１９に記載のシステム。
【請求項２１】
前記コントローラが、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分に関連する論理アドレスを、書き込み結合データ構造に格納するように構成される、請求項１９に記載のシステム。
【請求項２２】
前記コントローラが、前記第１のデータのアライメントされていない部分に関連する論理アドレスに対応する論理ページを参照するインジケータを作成するように構成される、請求項１７から２１のうちいずれか１項に記載のシステム。
【請求項２３】
前記コントローラが、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分を格納するように構成されたバッファをさらに含む、請求項１７から２１のうちいずれか１項に記載のシステム。
【請求項２４】
前記バッファが、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）メモリ・セルを含む、請求項２３に記載のシステム。
【請求項２５】
システムであって、
メモリ・セルのアレイと、
前記アレイに動作可能に接続され、
第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信し、
前記第１のデータのアライメントされていない部分に関連する論理アドレスに対応する論理ページが、第２の書き込みコマンドに関連する第２のデータのアライメントされていない部分に関連するインジケータによって参照される論理ページであることを判定し、
前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分とを結合する
ように構成される、コントローラと
を備える、システム。
【請求項２６】
前記コントロールすることが、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分を一回の書き込み操作で前記メモリ・セルのアレイに結合するように構成される、請求項２５に記載のシステム。
【請求項２７】
前記コントローラが、前記第１のデータのアライメントされていない部分に関連する前記論理アドレスに対応する前記論理ページが、第３の書き込みコマンドに関連する第３のデータのアライメントされていない部分に関連するインジケータによって参照される論理ページであるかを判定するようにさらに構成された、請求項２５から２６のいずれか１項に記載のシステム。
【請求項２８】
前記コントローラが、少なくとも前記第１のデータのアライメントされていない部分に関連する前記論理アドレスに対応する前記論理ページが、前記第３のデータのアライメントされていない部分に関連する前記インジケータによって参照される前記論理ページであることに応答して、前記第１のデータのアライメントされていない部分、前記第２のデータのアライメントされていない部分、および前記第３のデータのアライメントされていない部分を結合するようにさらに構成された、請求項２７に記載のシステム。
【請求項２９】
コントローラが前記第１のデータのアライメントされていない部分、前記第２のデータのアライメントされていない部分、および前記第３のデータのアライメントされていない部分を結合するように構成されることが、前記コントローラが前記第１のデータのアライメントされていない部分、前記第２のデータのアライメントされていない部分、および前記第３のデータのアライメントされていない部分を、前記メモリ・セルのアレイにあるページに書き込むように構成されることを含む、請求項２８に記載のシステム。
【請求項３０】
システムであって、
メモリ・セルのアレイと、
バッファを有し、前記アレイに動作可能に接続され、
第１のデータのアライメントされていない部分に関連する書き込みコマンドを受信し、
前記第１のデータのアライメントされていない部分に関連する論理アドレスに対応する論理ページを参照するインジケータをバッファに格納し、
少なくとも前記第２のデータのアライメントされていない部分に関連する論理アドレスに対応する論理ページが前記インジケータによって参照される前記第１のデータのアライメントされていない部分に対応する論理ページであることに応答して、前記第１のデータのアライメントされていない部分と、後続の書き込みコマンドに関連する前記第２のデータのアライメントされていない部分とを結合する、
様に構成される、コントローラと
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に半導体メモリ・デバイスおよび方法、特にアライメントされていないデータの結合に対する方法とシステムに関する。
【背景技術】
【０００２】
メモリ・デバイスは通常、コンピュータまたはその他の電子デバイスの内部の半導体集積回路および／または外部のリムーバブル・デバイスとして提供される。メモリには、多くの異なるタイプがあり、特にランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、同期式ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）、相変化型ランダム・アクセス・メモリ（ＰＣＲＡＭ）、およびフラッシュ・メモリなどがある。
【０００３】
メモリ・デバイスは高メモリ密度、高信頼性、および低消費電力を必要とする幅広い電子アプリケーションの範囲に対して不揮発性メモリとして利用されている。不揮発性メモリは、電子デバイスの中でも特に、パーソナル・コンピュータ、ポータブル・メモリ・スティック、ソリッド・ステート・ドライブ（ＳＳＤ）、携帯情報端末（ＰＤＡ）、デジタル・カメラ、携帯電話、ＭＰ３プレーヤなどの携帯音楽プレーヤ、およびムービー・プレーヤなどで使用される場合がある。
【０００４】
メモリ・システムは、当該メモリ・システムの１つ以上のメモリ・デバイスに書き込まれるデータに関連付けられているホストからの書き込みコマンドを受信できる。メモリ・システムは、メモリ・システムはホストのデータ転送サイズよりも大きい部分でデータを書き込んでもよい。例えば、ホストのデータ転送サイズは、５１２−５２８バイトなどのデータのセクタであってもよい。しかし、メモリ・システムはメモリ・デバイスとの間で、例えば、４０９６バイト以上のデータなど、複数セクタを含みうるページ単位でデータをメモリ・デバイスに送信またはメモリ・デバイスから受信する場合がある。メモリ・デバイスに書き込みされる、および／またはメモリ・デバイスから読み出されるデータの各セクタは、特定の論理アドレスに関連付けることができる。
【０００５】
ホストのデータ転送サイズは、メモリ・デバイスのページ・サイズよりも小さくなりうるため、読み出し／修正／書き込み（ＲＭＷ）と呼ばれることがある操作が発生しうる。例えば、ページ・サイズよりも小さいデータ量をメモリ・デバイスに書き込むことは、メモリ・デバイスからデータのページ全体を読み出すことを含み、そのページを新しいデータで更新し、その更新されたページを、メモリ・デバイスに書き戻すことを含みうる。読み出し／修正／書き込み操作を行うことは、欠点の中でも特に、メモリ・システムに関連する消耗を増やし、メモリ・システムのパフォーマンスを低下させうる。例として、５つの論理アドレスに対応するデータが５つの順次書き込みコマンドに関連してメモリ・デバイスに書き込まれると、メモリ・デバイスにそのデータを書き込むために、５回の別個の読み出し／修正／書き込み操作のプロセスが行われる場合がある。
【図面の簡単な説明】
【０００６】
【図１】本開示の１つ以上の実施形態の書き込みコマンドに関連するデータを示す図である。
【図２】本開示の１つ以上の実施形態の結合識別データ構造を示す図である。
【図３Ａ】本開示の１つ以上の実施形態の読み出し結合データ構造を示す図である。
【図３Ｂ】本開示の１つ以上の実施形態の書き込み結合データ構造を示す図である。
【図４】本開示の１つ以上の実施形態の少なくとも１つのメモリ・システムを含むコンピューティング・システムの機能ブロック図である。
【発明を実施するための形態】
【０００７】
本開示には、アライメントされていないデータを結合するための方法およびシステムを含む。ある方法には、第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信すること、第２のデータのアライメントされていない部分に関連する第２の書き込みコマンドを受信すること、および第１のデータのアライメントされていない部分と第２のデータのアライメントされていない部分と、を結合することを含み、この場合、結合することには、第１のデータのアライメントされていない部分と第２のデータのアライメントされていない部分と、をメモリ・デバイスにあるページに書き込むことを含む。
【０００８】
以下の本開示の詳細な説明では、本明細書の一部を構成し、本開示のいくつかの実施形態がどのように実施可能であるかを例示的に示す添付図面を参照する。こうした実施形態は、当業者が本開示の実施形態を実施できるように十分詳細に説明し、他の実施形態が利用可能であり、本開示の範囲から逸脱することなくプロセス、電気および／構造的な変更を加えうることを理解されたい。
【０００９】
本明細書で使用する「いくつかの（“ａ  ｎｕｍｂｅｒ  ｏｆ”）」は、１つ以上の当該物を言及する場合に使用されうる。例えば、いくつかのメモリ・デバイスは、１つ以上のメモリ・デバイスを言及しうる。さらに、本明細書で使用する識別子、“Ｎ”および“Ｍ”は、特に図の参照番号に関して、そのように指定されるいくつかの特定機能が、本開示のいくつかの実施形態に含まれうることを示す。
【００１０】
本明細書の図は、一桁目または複数桁は図の番号に対応し、残りの桁は、その図における要素または構成要素を特定するという番号付けの決まりに従う。異なる図における類似の要素または構成要素は、類似の桁を使用して特定される場合がある。例えば、１００は図１では要素「００」を参照し、類似要素は図２で２００を参照する。本明細書で様々な実施形態で示される要素は、本開示のいくつかの追加の実施形態を提供するために、追加、交換、および／または排除されうると理解されるであろう。さらに、図示される要素の部分および相対尺度は、本開示の実施形態を図示することを意図したものであり、制限する意図ではないことは理解されるであろう。
【００１１】
図１は、本開示の１つ以上の実施形態の書き込みコマンドに関連するデータを示している。この例では、データは例えば、コントローラに関連するＤＲＡＭに存在しうるバッファ１０２に格納される。バッファ１０２に格納されるデータには、ホストから受信した書き込みコマンドに関連するデータ、メモリ・システムから読み出されるデータ、および／または特にツリーおよび／またはテーブルなどの結合データ構造に関連するデータを含みうる。ホストからの書き込みデータには、メモリ・デバイスに書き込まれる例えば、セクタなどのいくつかのデータの部分が含まれうる。各セクタは、論理アドレスに関連付けられ、セクタは論理ページ単位でバッファに格納されうる。各論理ページには、例えば、８セクタなどのいくつかのセクタが含まれうる。
【００１２】
図１の例では、書き込みコマンドに関連するデータには、第１のアライメントされていない部分１０６−１、第２のアライメントされていない部分１０６−２、およびアライメントされた部分１０８を含みうる。アライメントされた部分１０８は、フルページの増分で開始および終了する。この例では、アライメントされた部分１０８は、論理ページ１０４−１で開始し、論理ページ１０４−２、１０４−３、１０４−４、および１０４−５を完全に満たし、論理ページ１０４−６の最後で終了する。アライメントされた部分１０８には、１０４−１から１０４−６の各ページに８セクタを含み、各ページにある８セクタは論理ページの始まりおよび／または終わりで開始および／または終了する。アライメントされた部分１０８は、で、ただちにメモリ・デバイスに書き込まれうるが、一方、後続の書き込みコマンドに関連するデータのアライメントされていない部分と結合するために、第１のアライメントされていない部分１０６−１および／または第２のアライメントされていない部分１０６−２がコントローラに残ったままの状態になる。この例では、各論理ページ１０４−０から１０４−７まで８つの論理アドレス（ＬＡ）に関連するデータを格納できる。例えば、論理ページ１０４−０は、ＬＡ−０からＬＡ−７までに関連するデータを、論理ページ１０４−１は、ＬＡ−８からＬＡ−１５までに関連するデータを、論理ページ１０４−２は、ＬＡ−１６からＬＡ−２３までに関連するデータを、論理ページ１０４−３は、ＬＡ−２４からＬＡ−３１までに関連するデータを、論理ページ１０４−４は、ＬＡ−３２からＬＡ−３９までに関連するデータを、論理ページ１０４−５は、ＬＡ−４０からＬＡ−４７までに関連するデータを、論理ページ１０４−６は、ＬＡ−４８からＬＡ−５５までに関連するデータを格納でき、論理ページ１０４−７は、ＬＡ−５６からＬＡ−６３までに関連するデータを格納できる。
【００１３】
第１のアライメントされていない部分１０６−１は、例えば、ＬＡ−０からＬＡ−７の８つの論理アドレスに関連するデータを格納できる論理ページ１０４−０に格納される。この例では、第１のアライメントされていない部分１０６−１には、ページ１０４−０のＬＡ−４からＬＡ−７に対応する４つのセクタが含まれる。第１のアライメントされていない部分１０６−１の第１のセクタは、論理ページ１０４−０のＬＡ−４にある。アライメントされていない部分１０６−１には、論理ページ１０４−０のＬＡ−４、ＬＡ−５、ＬＡ−６、およびＬＡ−７でのセクタを含む。アライメントされた部分１０８の第１のセクタは、ページ１０４−１のＬＡ−８でアライメントされる。
【００１４】
第２のアライメントされていない部分１０６−２は、例えば、ＬＡ−５６からＬＡ−６３の８つの論理アドレスに関連するデータを格納できる論理ページ１０４−７に格納される。この例では、第２のアライメントされていない部分１０６−２には、ページ１０４−７のＬＡ−５６からＬＡ−６１に対応する６つのセクタが含まれる。第２のアライメントされていない部分１０６−２の第１のセクタは、論理ページ１０４−７のＬＡ−５６にある。第２のアライメントされていない部分１０６−２には、ページ１０４−７のＬＡ−５６、ＬＡ−５７、ＬＡ−５８、ＬＡ−５９、ＬＡ−６０、およびＬＡ−６１でのセクタを含む。アライメントされた部分１０８の最後のセクタは、論理ページ１０４−６のＬＡ−５５でアライメントされる。
【００１５】
１つ以上の実施形態では、第１のデータのアライメントされていない部分１０６−１および／または第２のデータのアライメントされていない部分１０６−２は、他のデータのセクタと合わせてメモリ・デバイスにある関連するページに書き込むことが可能であり、これはその関連するページに第１のデータのアライメントされていない部分１０６−１および／または第２のデータのアライメントされていない部分１０６−２の書き込みセクタに加えて、書き込みデータのセクタを含むように行われる。１つ以上の実施形態では、第１のデータのアライメントされていない部分１０６−１は、第１のデータのアライメントされていない部分１０６−１の論理アドレスに関連するデータと同じページに対応する論理アドレスを含む他の書き込みコマンドからのデータと結合できる。第２のデータのアライメントされていない部分１０６−２は、第２のデータのアライメントされていない部分１０６−２の論理アドレスに関連するデータと同じページに対応する論理アドレスを含む他の書き込みコマンドからのデータと結合できる。結合されたデータは、データがページの始まりで開始／または終わりで終了するように、メモリ・デバイス内のページに書き込むことができる。
【００１６】
図２は、本開示の１つ以上の実施形態の結合識別データ構造２０９を示している。結合識別データ構造２０９は、データのアライメントされていない部分に関連すると判定された論理アドレスを参照するインジケータおよびそれに関連する論理ページを参照するインジケータを格納するデータ構造である。例えば、結合識別データ構造２０９は、図１の論理ページ１０４−０に対応するＬＡ−４からＬＡ−７まで、および論理ページ１０４−７に対応するＬＡ−５６からＬＡ−６１を参照するインジケータを格納しうる。結合識別データ構造２０９は、例えば、図１のバッファ１０２のコントローラのバッファに格納できる。例として、結合識別データ構造２０９のインジケータ２１０−１は、第１のデータのアライメントされていない部分１０６−１に関連する論理ページ１０４−０を参照できる。結合識別データ構造２０９のインジケータ２１０−２は、第２のデータのアライメントされていない部分１０６−２に関連する論理ページ１０４−７を参照できる。例えば、図１の第１のアライメントされていない部分１０６−１および第２のアライメントされていない部分１０６−２など書き込みコマンドのアライメントされていない部分に関連する論理ページに対応する論理アドレスに関連するメモリ・デバイスにあるデータは、バッファから読み出し、およびバッファに格納できる。
【００１７】
１つ以上の実施形態では、例えば、論理ページの始まりで開始しない、および／または論理ページの終わりで終了しないデータのセクタを持つページに関連するなど、書き込みコマンドに関連するデータのセクタがアライメントされていない場合、データのアライメントされていないセクタに関連する論理アドレスおよびこうした論理アドレスに対応する論理ページを参照するインジケータが作成されることがある。この作成されたインジケータは、データのアライメントされていないセクタに関連する論理アドレスおよびこうした論理アドレスに対応する論理ページも参照する例えば２０９の結合識別データ構造に存在するインジケータと比較できる。作成されたインジケータが、結合識別データ構造にある他のインジケータも参照する論理ページを参照する場合、各書き込みコマンドに対するデータがメモリ・デバイスの共通ページに書き込まれるように、データのアライメントされていないセクタデータに対する書き込みコマンドおよび結合識別データ構造にあるインジケータに関連するデータに対する書き込みコマンドを結合することができる。
【００１８】
例えば、コントローラは図１の第１のアライメントされていない部分１０６−１に関連する書き込みコマンドを受信できる。第１のアライメントされていない部分１０６−１に対応する論理アドレスであるＬＡ−４からＬＡ−７、およびＬＡ−４からＬＡ−７に関連する論理ページ１０４−０を参照するインジケータが作成できる。作成されたインジケータは、図２の結合識別データ構造２０９でインジケータ２１０−１および２１０−２と比較できる。インジケータ２１０−１は、コントローラが受信した他の書き込みコマンドに関連するアライメントされていない部分に対応する論理アドレスである論理ページ１０４−０のＬＡ−１からＬＡ−３を参照するが、論理ページ１０４−０はＬＡ−１からＬＡ−３に関連する。第１のアライメントされていない部分１０６−１および他の書き込みコマンドに関連するアライメントされていない部分は結合可能であり、メモリ・デバイスの共通ページに書き込むことができるが、これは第１のアライメントされていない部分１０６−１に対して作成されたインジケータとインジケータ２１０−１が両方とも論理ページ１０４−０を参照し、他の書き込みコマンドからのアライメントされていない部分の論理アドレスＬＡ−１からＬＡ−３、第１のアライメントされていない部分の１０６−１のＬＡ−４からＬＡ−７には、共通の論理アドレスが含まれないためである。他の書き込みコマンドに関連するアライメントされていない部分および第１のアライメントされていない部分１０６−１を結合することには、異なる２つの書き込みコマンドからのＬＡ−０からＬＡ−７に対応するデータを、メモリ・システムにある共通ページに書き込むことを含む。メモリ・システムで共通ページに格納される２つの異なる書き込みコマンドに関連するデータはアライメントされるが、これはそのデータが共通ページの始まりで開始し、共通ページの終わりで終了するためである。
【００１９】
１つ以上の実施形態では、書き込みコマンドに関連するデータのセクタがアライメントされていない場合、そのデータのアライメントされていないセクタに関連する論理アドレスおよびこうした論理アドレスに対応する論理ページを参照するインジケータが作成できる。作成されたインジケータは、次にデータのアライメントされていないセクタに関連する論理アドレスおよびこうした論理アドレスに対応する論理ページも参照する結合識別データ構造に存在するインジケータと比較できる。作成されたインジケータが、既に結合識別データ構造に存在する他のインジケータによって参照されていない論理ページを参照する場合、作成されたインジケータは、結合識別データ構造に入れてコントローラが受信した他の書き込みコマンドからのデータのアライメントされていないセクタに関連する論理アドレスを参照する他のインジケータおよびこうした論理アドレスに対応する論理ページと比較できる。
【００２０】
例えば、コントローラは図１の第１のアライメントされていない部分１０６−１に関連する書き込みコマンドを受信できる。第１のアライメントされていない部分１０６−１に対応する論理アドレスであるＬＡ−４からＬＡ−７およびＬＡ−４からＬＡ−７に関連する論理ページ１０４−０を参照するインジケータを作成できる。作成されたインジケータは、図２の結合識別データ構造２０９にあるインジケータと比較できる。作成されたインジケータは、結合識別データ構造にある他のインジケータによって参照されていない論理ページ１０４−０を参照する。従って、作成されたインジケータは、インジケータ２１０−１として結合識別データ構造に入れることができる。インジケータ２１０−１は、第１のアライメントされていない部分１０６−１に対応する論理アドレスであるＬＡ−４からＬＡ−７およびＬＡ−４からＬＡ−７に関連する論理ページ１０４−０を参照できる。インジケータ２１０−１は、論理ページ１０４−０を参照する第２のインジケータと比較できる。論理ページ１０４−０を参照する第２のインジケータは、論理アドレスＬＡ−０からＬＡ−３に対応するアライメントされていないデータに関連する書き込みコマンドに応答して作成できる。第１のアライメントされていない部分１０６−１および論理アドレスＬＡ−０からＬＡ−３に対応するアライメントされていないデータを持つ書き込みコマンドに関連するアライメントされていないデータは、結合され、メモリ・デバイスの共通ページに書き込むことができるが、これは論理ページ１０４−０および第２のインジケータによって参照される書き込みコマンドからのアライメントされていないデータに対する論理アドレスＬＡ−１からＬＡ−３、およびインジケータ２１０−１によって参照される論理アドレスＬＡ−４からＬＡ−７が、共通の論理アドレスを含んでいないためである。ｘ論理アドレスＬＡ−０からＬＡ−３に対応するアライメントされていないデータを持つ書き込みコマンドからのアライメントされていないデータと、第１のアライメントされていない部分１０６−１を結合することは、２つの異なる書き込みコマンドに関連するＬＡ−０からＬＡ−７に対応するデータを、メモリ・システムの共通ページに書き込むことを含む。メモリ・システムの共通ページに格納される２つの異なる書き込みコマンドに関連するデータは、そのデータが共通ページの始まりで開始し、終わりで終了するためアライメントされる。
【００２１】
書き込みコマンドに関連するデータのセクタがアライメントされていない場合、そのデータのアライメントされていないセクタに関連する論理アドレスおよびこうした論理アドレスに対応する論理ページを参照するインジケータは、結合識別データ構造にある他のインジケータと比較できる。アライメントされていないセクタに関連する論理アドレスに対応する論理ページを参照するインジケータが結合識別データ構造にない場合、そのインジケータは結合識別データ構造に入れることができる。このインジケータは、データの他のアライメントされていない部分に関連する論理アドレスおよびその関連する論理ページを参照する他の入ってくるインジケータと比較できる。そのインジケータと他の入ってくるインジケータが異なる論理アドレスを参照するが、共通の論理ページに関連する場合、共通の論理ページを参照するインジケータを持つ書き込みコマンドに関連するデータのアライメントされていないセクタは、各書き込みコマンドに対するデータが、メモリ・デバイスの共通ページに単独の例えば１回の書き込み操作で書き込まれるように結合できる。
【００２２】
結合識別データ構造にあるインジケータを格納し、コントローラが書き込みコマンドを処理しながら、データのアライメントされていないセクタに関連する論理アドレスを参照する他のインジケータと比較できる。その書き込みコマンドに関連するアライメントされていないデータが、メモリ・デバイスに書き込まれると、結合識別データ構造にあるアライメントされていないデータに関連する論理アドレスを参照するインジケータは消去される。結合識別データ構造は、コントローラが受信する後続の書き込みコマンドにあるアライメントされていないデータに関連する論理アドレスを参照するインジケータを受け入れることができる。
【００２３】
１つ以上の実施形態では、コントローラは論理ページ０に対応するＬＡ−０に関連する第１のデータのアライメントされていない部分に関連する第１のコマンドを受信できる。ＬＡ−０と論理ページ０を参照する第１のデータのアライメントされていない部分に関連する第１のインジケータを作成し、結合識別データ構造に入れることができる。コントローラは、論理ページ０に対応するＬＡ−１に関連する第２のデータのアライメントされていない部分に関連する第２のコマンドを受信できる。ＬＡ−１と論理ページ０を参照する第２のデータのアライメントされていない部分に関連する第２のインジケータを作成し、結合識別データ構造に入れることができる。コントローラは、論理ページ０に対応するＬＡ−２に関連する第３のデータのアライメントされていない部分に関連する第３のコマンドを受信できる。ＬＡ−２と論理ページ０を参照する第３のデータのアライメントされていない部分に関連する第３のインジケータを作成し、結合識別データ構造に入れることができる。コントローラは、論理ページ０に対応するＬＡ−３に関連する第４のデータのアライメントされていない部分に関連する第４のコマンドを受信できる。ＬＡ−３と論理ページ０を参照する第４のデータのアライメントされていない部分に関連する第４のインジケータを作成し、結合識別データ構造に入れることができる。コントローラは、論理ページ０に対応するＬＡ−４に関連する第４のデータのアライメントされていない部分に関連する第５のインジケータを作成できる。コントローラは、論理ページ０に対応するＬＡ−４に関連する第５のデータのアライメントされていない部分に関連する第５のコマンドを受信できる。ＬＡ−４と論理ページ０を参照する第５のデータのアライメントされていない部分に関連する第５のインジケータを作成し、結合識別データ構造に入れることができる。
【００２４】
第１のインジケータ、第２のインジケータ、第３のインジケータ、第４のインジケータ、および第５のインジケータを比較できる。第１のインジケータ、第２のインジケータ、第３のインジケータ、第４のインジケータ、および第５のインジケータが、それぞれ論理ページ０を参照し、共通の論理アドレスを参照していないという判定ができる。従って、各コマンドに対して読み出し／修正／書き込み操作を行う必要性を回避しながら、第１のデータのアライメントされていない部分、第２のデータのアライメントされていない部分、第３のデータのアライメントされていない部分、第４のデータのアライメントされていない部分、および第５のデータのアライメントされていない部分を結合し、単独の書き込み操作でメモリ・デバイスの共通ページに書き込むことができる。
【００２５】
図３Ａは、本開示の１つ以上の実施形態の読み出し結合データ構造３１１を示している。読み出し結合データ構造３００には、データのセクタに関連する論理アドレス（ＬＡ）を示す第１の列３１２、バッファでのデータのセクタの開始アドレスを含む第２の列３１４、バッファでのデータのセクタの終了アドレスを含む第３の列３１６、および論理アドレスへのポインタを含む第４の列３１８を含む。列３１８のポインタは、読み出し結合データ構造における次の論理アドレスをポイントできる。読み出し結合データ構造は、ＬＡ、開始アドレス、終了アドレス、および結合識別データ構造でインジケータによって特定される論理ページに対する論理アドレスへのポインタのエントリを格納できる。読み出し結合データ構造には、ＬＡ、開始アドレス、終了アドレス、および結合識別データ構造でインジケータによって特定される論理ページに対応する書き込みコマンドで受信されたデータのアライメントされていない部分に対応するポインタのエントリ、および結合識別データ構造でインジケータによって特定される論理ページに対応するメモリ・デバイスから読み出されたデータを含みうる。
【００２６】
図３Ａの例では、読み出し結合データ構造の各行には、いくつかのエントリが含まれる。各エントリはバッファに格納されるデータのセクタに対応する。例えば、エントリ３１５−０は、論理アドレスＬＡ−０、開始アドレスＳＡ−０、終了アドレスＥＡ−０、およびポインタＰ−０に関連するデータに対応する。エントリ３１５−１は、論理アドレスＬＡ１、開始アドレスＳＡ−１、終了アドレスＥＡ−１、およびポインタＰ−１に関連するデータに対応する。エントリ３１５−２は、論理アドレスＬＡ−２、開始アドレスＳＡ−２、終了アドレスＥＡ−２、およびポインタＰ−２に関連するデータに対応する。エントリ３１５−３は、論理アドレスＬＡ−３、開始アドレスＳＡ−３、終了アドレスＥＡ−３、およびポインタＰ−３に関連するデータに対応する。エントリ３１５−４は、論理アドレスＬＡ−４、開始アドレスＳＡ−４、終了アドレスＥＡ−４、およびポインタＰ−４に関連するデータに対応する。エントリ３１５−５は、論理アドレスＬＡ−５、開始アドレスＳＡ−５、終了アドレスＥＡ−５、およびポインタＰ−５に関連するデータに対応する。エントリ３１５−６は、論理アドレスＬＡ−６、開始アドレスＳＡ−６、終了アドレスＥＡ−６、およびポインタＰ−６に関連するデータに対応する。エントリ３１５−７は、論理アドレスＬＡ−７、開始アドレスＳＡ−７、終了アドレスＥＡ−７、およびポインタＰ−７に関連するデータに対応する。
【００２７】
１つ以上の実施形態では、アライメントされていないデータのセクタは、論理ページに対応するいくつかの論理アドレスに関連付けることができる。コントローラが論理ページに対応するアライメントされていないデータのセクタに関連する書き込みコマンドを受信すると、その論理ページに対応する論理アドレスに関連するメモリ・デバイスからデータを読み出し、コントローラのバッファに格納できる。このメモリ・デバイスから読み出されたデータに対応する論理アドレス、開始アドレス、終了アドレス、およびポインタは、読み出し結合データ構造に格納できる。
【００２８】
例えば、コントローラは、図１で第１のアライメントされていない部分１０６−１に対応する書き込みコマンドを受信できる。第１のアライメントされていない部分１０６−１は、ＬＡ−４からＬＡ−７に関連する。ＬＡ−４からＬＡ−７は、ＬＡ−０からＬＡ−７に関連する論理ページ１０４−０に対応する。ＬＡ−０からＬＡ−７に関連するメモリ・デバイスからのデータは、コントローラによって読み出され、コントローラのバッファに格納可能であり、インジケータは第１のアライメントされていない部分１０６−１に対応する論理ページ１０４−０を特定する結合識別データ構造に格納できる。ＬＡ−０からＬＡ−７に関連するデータの各セクタは、読み出し結合データ構造３１１にエントリを持つことができ、メモリ・デバイスから読み出され、コントローラのバッファに格納されるデータに相当するエントリ、３１５−０、３１５−１、３１５−２、および３１５−３、および第１のアライメントされていない部分１０６−１に対応するエントリ３１５−４、３１５−５、３１５−６、および３１５−７を持ちうる。読み出し結合データ構造３１１のエントリは、結合識別データ構造に格納されているインジケータによって識別される論理ページに関連しうる。例えば、読み出し結合データ構造３１１のエントリ３１５−０には、メモリ・デバイスから読み出されたバッファに格納されるデータの第１のセクタに対して、論理アドレスＬＡ−０、バッファでの開始アドレスＳＡ−０、バッファでの終了アドレスＥＡ−０、および次のエントリへのポインタＰ−０を含む。
【００２９】
１つ以上の実施形態では、読み出し結合データ構造３１１のエントリ、３１５−０、３１５−１、３１５−２、３１５−３、３１５−４、３１５−５、３１５−６、３１５−７は、共通論理ページを参照するインジケータを持つ書き込みコマンドからのアライメントされていないデータのセクタを結合する場合に使用できる。読み出し結合データ構造３１１のエントリ、３１５−０、３１５−１、３１５−２、３１５−３、３１５−４、３１５−５、３１５−６、３１５−７は、論理ページ１０４−０に関連するデータに対応するが、図２の結合識別データ構造にあるインジケータ２１０−１は論理ページ１０４−０を特定できる。第１のアライメントされていない部分１０６−１を、論理ページ１０４−０に対応する他のアライメントされていない部分と結合する場合にエントリ３１５−４、３１５−５、３１５−６、および／または３１５−７を使用して、図３Ｂの書き込み結合データ構造３１３を埋めることができるが、これについては以下で詳細に説明する。
【００３０】
図３Ｂは、本開示の１つ以上の実施形態の書き込み結合データ構造３１３を示している。第１の列３１２はデータのセクタに関連する論理アドレス（ＬＡ）を示している。第２の列３１４には、バッファにおけるデータのセクタの開始アドレスが含まれる。第３の列３１６には、バッファにおけるデータのセクタの終了アドレスが含まれる。第４の列３１８には論理アドレスへのポインタを含む。ポインタは書き込み結合データ構造における次の論理アドレスをポイントできる。書き込み結合データ構造３１３にあるエントリは、結合識別データ構造にある１つ以上のインジケータによって識別される共通論理アドレスに対応する２つ以上の書き込みコマンドに関連するアライメントされていないデータのセクタに関連付けることができる。書き込み結合データ構造３１３にあるエントリは、メモリ・デバイスに書き込まれる場合に結合されるデータのセクタを特定し、見つけることができる。
【００３１】
図３Ｂの例では、書き込み結合データ構造にある各行には、いくつかのエントリが含まれる。各エントリはバッファに格納されるデータのセクタに対応する。エントリ３１９−０は、論理アドレス、ＬＡ−０、開始アドレスＳＡ−０、終了アドレスＥＡ−０、およびポインタＰ−０に関連するデータに対応する。エントリ３１９−１は、論理アドレスＬＡ―１、開始アドレスＳＡ−１、終了アドレスＥＡ−１、およびポインタＰ−１に関連するデータに対応する。エントリ３１９−２は、論理アドレスＬＡ−２、開始アドレスＳＡ−２、終了アドレスＥＡ−２、およびポインタＰ−２に関連するデータに対応する。エントリ３１９−３は、論理アドレスＬＡ−３、開始アドレスＳＡ−３、終了アドレスＥＡ−３、およびポインタＰ−３に関連するデータに対応する。エントリ３１９−４は、論理アドレスＬＡ−４、開始アドレスＳＡ−４、終了アドレスＥＡ−４、およびポインタＰ−４に関連するデータに対応する。エントリ３１９−５は、論理アドレスＬＡ−５、開始アドレスＳＡ−５、終了アドレスＥＡ−５、およびポインタＰ−５に関連するデータに対応する。エントリ３１９−６は、論理アドレスＬＡ−６、開始アドレスＳＡ−６、終了アドレスＥＡ−６、およびポインタＰ−６に関連するデータに対応する。エントリ３１９−７は、論理アドレスＬＡ−７、開始アドレスＳＡ−７、終了アドレスＥＡ−７、およびポインタＰ−７に関連するデータに対応する。
【００３２】
１つ以上の実施形態では、コントローラによって受信された書き込みコマンドおよび／または結合識別データ構造にあるインジケータが、結合識別データ構造にある他のインジケーも参照する論理ページを参照する場合、書き込み結合データ構造３１３にあるエントリは、１つのページで結合されるアライメントされていないデータのセクタに関連する情報を使用して埋められる。
【００３３】
例えば、コントローラはデータのアライメントされていない部分を含む書き込みコマンドを受信できる。データのアライメントされていない部分は論理ページ０に対応するＬＡ−０からＬＡ−３に関連付けできる。図２のインジケータ２１０−１のようなインジケータは結合識別データ構造に存在し、論理ページ０に対応するＬＡ−４からＬＡ−７に関連する図１の第１のアライメントされていない部分１０６−１などの第１のデータのアライメントされていない部分を参照可能である。ＬＡ−０からＬＡ−３に関連するデータのアライメントされていない部分、およびＬＡ−４からＬＡ−７に関連する第１のデータのアライメントされていない部分は、共通の論理アドレスを共有せず、同じ論理ページ、例えば論理ページ０に対応しないため、結合可能である。データのアライメントされていない部分に対応するエントリ３１９−０、３１９−１、３１９−２、および３１９−３は、第１のデータのアライメントされていない部分と結合するために書き込み結合データ構造３１３に入れられる。読み出し結合データ構造３１１からのエントリ、３１５−４、３１５−５、３１５−６、および３１５−７は、書き込み結合データ構造３１３に３１９−４、３１９−５１、３１９−６、および３１９−７としてコピーされる。エントリ、３１５−４、３１５−５、３１５−６、および３１５−７は、コントローラによって受信され、第１のデータのアライメントされていない部分に対応する論理ページを識別するインジケータを持つ第１のデータのアライメントされていない部分、例えば図１のデータのアライメントされていない部分１０６−１に関連するため、読み出し結合データ構造に存在する。エントリ、３１９−４、３１９−５、３１９−６、および３１９−７は、それぞれ、第１のアライメントされていない部分、例えば、図１の第１のデータのアライメントされていない部分１０６−１に基づき、論理アドレス、開始アドレス、終了アドレス、およびポインタに基づき、ＬＡ−４からＬＡ−７、ＳＡ−４からＳＡ−７、ＥＡ−４からＥＡ−７、およびＰ−４からＰ−７で埋められる。
【００３４】
書き込み結合データ構造３１３にあるエントリ、３１９−０、３１９−１、３１９−２、３１９−３、３１９−４、３１９−５、３１９−６、および３１９−７は、共通の論理ページを参照するインジケータを持つ書き込みコマンドに関連するアライメントされていないデータのセクタを結合する際に使用できる。エントリ、３１９−０、３１９−１、３１９−２、３１９−３、３１９−４、３１９−５、３１９−６、および３１９−７は、アライメントされていないデータのセクタを見つけ、アライメントされていないデータのセクタを結合し、結合されたデータのセクタをメモリ・デバイスのページに書き込むためにコントローラによって使用されうる。
【００３５】
図４は、本開示の１つ以上の実施形態の少なくとも１つのメモリ・システム４４４を含むコンピューティング・システム４００の機能ブロック図を示す。図４の実施形態では、メモリ・システム４４４には、コントローラ４０３およびバス４５０を介して接続される１つ以上のメモリ・デバイス４３０−１、・・・、４３０−Ｎを含む。この例では、コントローラ４０３は、１つ以上のメモリ・デバイス４３０−１、・・・、４３０−Ｎの外部にある。メモリ・デバイス４３０−１、・・・、４３０−Ｎは、メモリ・システムに対する記憶ボリュームを提供できる。コントローラ４０３には、には、ハードウェア、ファームウェア、および／またはソフトウェアが含まれうる。１つ以上の実施形態では、コントローラ４０３は、物理的インタフェースおよびメモリ・デバイス４３０−１、・・・、４３０−Ｎを含む特定用途向け集積回路（ＡＳＩＣ）であり得る。コントローラ４０３には、バッファ４０２が含まれうる。バッファ４０２は、図１のバッファ１０２などのバッファである場合があり、結合識別データ構造４０９、読み出し結合データ構造４１１、書き込み結合データ構造４１３、ホストから受信したコマンドに関連するデータ、およびメモリ・デバイス４３０−１、・・・、４３０−Ｎから読み出されたデータを格納するために使用されうる。結合識別データ構造４０９は、図２の結合識別データ構造２０９などの結合識別データ構造でありうる。読み出し結合データ構造４１１は、図３Ａの読み出し結合データ構造３１１などの読み出し結合データ構造でありうる。書き込み結合データ構造４１３は、図３Ｂの書き込み結合データ構造３１３などの書き込み結合データ構造でありうる。
【００３６】
図４のように、ホスト４４０はメモリ・システム４４４に接続できる。ホスト４４０は、特にホスト・システムの中でもラップトップ・コンピュータ、パーソナル・コンピュータ、デジタル・カメラ、デジタル録音再生装置、携帯電話、ＰＤＡ、メモリ・カード・リーダ、インタフェース・ハブであってもよく、例えばプロセッサなどのメモリ・アクセス・ドライブを含みうる。
【００３７】
１つ以上の実施形態では、物理ホスト・インタフェース４４６は、標準化されたインタフェースの形式でありうる。例えば、メモリ・システム４４４がコンピューティング・システム４００にあるデータ記憶に対して使用される場合、物理ホスト・インタフェース４４６は、特にコネクタおよびインタフェースの中でも、シリアルＡＴＡ（ＳＡＴＡ）、ＰＣＩＥｘｐｒｅｓｓ（ＰＣＩｅ）、またはユニバーサル・シリアル・バス（ＵＳＢ）である場合がある。しかし、一般的に物理ホスト・インタフェース４４６は、メモリ・システム４４４と、その物理ホスト・インタフェースと互換性のあるレセプタを持つホスト４４０との間で制御、アドレス、データ、およびその他の信号を渡すためのインタフェースを提供可能である。
【００３８】
コントローラ４０３は、操作の中でも特にデータを読み出し、書き込み、および消去するためにメモリ・デバイス４３０−１、・・・、４３０−Ｎと通信することができる。つまり、コントローラ４０３はホスト４４０から受信したコマンドを、メモリ・デバイス４３０−１、・・・、４３０−Ｎに対して望ましいアクセスを行うために適切なコマンドに翻訳できる。コントローラ４０３は、本明細書で説明する１つ以上の実施形態を行うために構成できる。
【００３９】
メモリ・デバイス４３０−１、・・・、４３０−Ｎには、例えば、不揮発性メモリ・セルなどの１つ以上のメモリ・セル４２０−１、４２０−２、４２０−Ｍのアレイを含む場合がある。アレイ４２０−１、４２０−２、４２０−Ｍは、例えば、ＮＡＮＤアーキテクチャを持つフラッシュ・アレイである場合がある。実施形態は、特定タイプのメモリ・デバイスに制限されるものではない。
【００４０】
図４の実施形態には、本開示の実施形態を不明瞭にしないように図示しなかった追加回路を含む場合がある。例えば、メモリ・システム４４４には、Ｉ／Ｏ回路を通してＩ／Ｏ接続上に提供されるアドレス信号をラッチするためのアドレス回路を含む場合がある。アドレス信号は、メモリ・デバイス４３０−１、・・・、４３０−Ｎにアクセスするために、ロウ・デコーダおよびカラム・デコーダによって受信およびデコードされる場合がある。
【００４１】
＜結論＞
本開示には、アライメントされていないデータを結合するための方法とシステムが含まれる。１つの方法には、第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信すること、第２のデータのアライメントされていない部分に関連する第２の書き込みコマンドを受信すること、および第１のデータのアライメントされていない部分と第２のデータのアライメントされていない部分を結合することを含み、この場合、結合することには、第１のデータのアライメントされていない部分と第２のデータのアライメントされていない部分をメモリ・デバイスにあるページに書き込むことを含む。
【００４２】
本明細書では特定の実施形態を図示し、説明したが、当業者はここで提示した特定の実施形態は、同じ結果が得られるように計算された構成で置き換え可能なことを理解するであろう。本開示は、本開示のいくつかの実施形態の適応および変形を包含することを意図している。上記の説明は、例示的方式で行われ、制限的なものではないことを理解されたい。上記の実施形態の組み合わせ、および本明細書では特に説明しなかった他の実施形態は、上記の説明を検討すれば当業者にとって明白であろう。本開示のいくつかの実施形態の範囲には、上記の構図と方法が使用される他のアプリケーションを含む。従って、本開示の実施形態のいくつかは、添付の請求項とこうした請求項が権利を与えられる同等物の完全な範囲と合わせて参照して決定すべきである。
【００４３】
前述の発明を実施するための形態（Ｄｅｔａｉｌｅｄ  Ｄｅｓｃｒｉｐｔｉｏｎ）では、開示を合理化する目的でいくつかの機能が単独の実施形態にまとめられている。こうした開示の方法は、本開示の開示された実施形態が各請求項で明示的に言及されているよりも多くの機能を使用しなければならないという意図を反映するものとして解釈されるものではない。むしろ、以下の請求項で表しているように、発明の主題は単独で開示されている実施形態のすべての機能よりも少ないものにある。従って、以下の請求項では、各請求項がそれ自体別個の実施形態として発明を実施するための形態に組み込まれる。
【図１】
2014523032.tif 000003
【図２】
2014523032.tif 000004
【図３Ａ】
2014523032.tif 000005
【図３Ｂ】
2014523032.tif 000006
【図４】
2014523032.tif 000007
【手続補正書】
【提出日】平成26年2月21日(2014.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
メモリ・セルのアレイと、
前記アレイに動作可能に接続され、
第１のデータのアライメントされていない部分に関連する第１の書き込みコマンドを受信し、
第２のデータのアライメントされていない部分に関連する第２の書き込みコマンドを受信し、
アライメントされたデータ部分に関連する第３の書き込みコマンドを受信し、
前記アライメントされたデータ部分を前記アレイに書き込み、
前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を結合する
ように構成されたコントローラと
を含む、システム。      
【請求項２】
前記コントローラが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分に関連した論理アドレスを結合データ構造に格納するようにさらに構成される、請求項１に記載のシステム。
【請求項３】
前記コントローラが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分に対するポインタを前記結合データ構造に格納するようにさらに構成される、請求項１〜２のいずれか１項に記載のシステム。
【請求項４】
前記コントローラが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を、一回の書き込みオペレーションのアレイに書き込むようにさらに構成される、請求項３に記載のシステム。
【請求項５】
前記コントローラが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分に関連した前記論理アドレスが、共通の論理ページに対応し、かつ前記論理アドレスが共通でないことに応答して、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を結合するようにさらに構成される、請求項３に記載のシステム。
【請求項６】
前記コントローラが、前記第１のデータのアライメントされていない部分に関連した前記論理アドレスを、読み取り結合データ構造に格納するようにさらに構成される、請求項３に記載のシステム。
【請求項７】
前記コントローラが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分に関連した前記論理アドレスを、書き込み結合データ構造に格納するようにさらに構成される、請求項３に記載のシステム。
【請求項８】
前記コントローラが、前記第１のデータのアライメントされていない部分に関連した前記論理アドレスに対応する論理ページを参照するインジケータを作成するようにさらに構成される、請求項３に記載のシステム。
【請求項９】
前記コントローラが、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を格納するように構成されるバッファをさらに含む、請求項１に記載のシステム。
【請求項１０】
前記バッファが、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）メモリ・セルを含む、請求項９に記載のシステム。
【請求項１１】
アライメントされていないデータを結合する方法であって、
第１のデータのアライメントされていない部分に関連した第１の書き込みサブコマンド、第２のデータのアライメントされていない部分に関連した第２の書き込みサブコマンド、アライメントされたデータ部分に関連した第３の書き込みサブコマンドを含む書き込みコマンドを受信することと、
前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を結合することであって、
前記結合が、前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分を、メモリ・デバイスに書き込むことを含むことと、
前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分に関連した論理アドレスを、結合データ構造に格納することと、
前記第１のデータのアライメントされていない部分および前記第２のデータのアライメントされていない部分に対するポインタを、前記結合データ構造に格納することと
を含む、方法。
【請求項１２】
前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分が、前記ページに関連する論理アドレスに関連する、請求項１１に記載の方法。
【請求項１３】
前記方法が、前記ページが前記第１のデータのアライメントされていない部分に関連するインジケータを作成することを含む、請求項１１〜１２のいずれか１項に記載の方法。
【請求項１４】
前記方法が、少なくとも前記ページが前記第２のアライメントされていないデータ部分に関連し、前記インジケータが、前記ページが前記第１のデータのアライメントされていない部分に関連することを示すことに応答して、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分を結合することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記方法が、前記第１のデータのアライメントされていない部分と前記第２のデータのアライメントされていない部分をバッファに格納することを含む、請求項１１〜１４のうちいずれか１項に記載の方法。
【国際調査報告】
2014523032.tif 000008
2014523032.tif 000009