(57)【特許請求の範囲】
【請求項１】
メモリ装置を動作させる方法であって、
外部ホスト（１３６）から、少なくとも１ページ分のデータ（Ｘ）と、メモリ装置（１００）における第１のアドレス（Ｎ）と、を受信すること、
前記少なくとも１ページ分のデータ（Ｘ）を、前記メモリ装置のデータキャッシュ（１１３）に記憶すること、
前記少なくとも１ページ分のデータ（Ｘ）を、前記データキャッシュ（１１３）から、前記メモリ装置のページバッファ（１１１）に転送すること、
前記ページバッファ（１１１）から、前記第１のアドレス（Ｎ）によって特定される場所における前記メモリ装置のメモリアレイ（１０２）に、前記少なくとも１ページ分のデータ（Ｘ）を書き込むことを試行すること、
前記ページバッファ（１１１）から、前記第１のアドレス（Ｎ）によって特定される場所における前記メモリアレイ（１０２）に、前記少なくとも１ページ分のデータ（Ｘ）を書き込むことを試行することの間に、前記外部ホスト（１３６）から、前記第１のアドレス（Ｎ）を指し示すデータを備える少なくとも付加的な１ページ分のデータ（Ｙ）を受信すること、
前記少なくとも付加的な１ページ分のデータ（Ｙ）を、前記メモリ装置のデータキャッシュ（１１３）に記憶すること、
前記少なくとも１ページ分のデータ（Ｘ）を書き込む前記試行が失敗であったことを決定すること、
前記少なくとも１ページ分のデータ（Ｘ）を書き込む前記試行が失敗であったことを前記外部ホスト（１３６）に通知すること、
前記外部ホスト（１３６）から、前記メモリ装置における第２のアドレス（Ｎ’）を受信すること、
前記外部ホスト（１３６）から、前記少なくとも付加的な１ページ分のデータの変更（Ｙ’）を受信することであって、前記少なくとも付加的な１ページ分のデータの前記変更（Ｙ’）は、前記第２のアドレス（Ｎ’）を指し示すデータを備える、前記受信すること、
前記少なくとも付加的な１ページ分のデータの前記変更（Ｙ’）を、前記少なくとも付加的な１ページ分のデータ（Ｙ）に代えて、前記データキャッシュ（１１３）に記憶すること、及び
前記外部ホスト（１３６）が前記少なくとも１ページ分のデータ（Ｘ）を前記メモリ装置に再送信することなく、前記ページバッファ（１１１）から、前記第２のアドレス（Ｎ’）によって特定される場所における前記メモリアレイ（１０２）に、前記少なくとも１ページ分のデータ（Ｘ）を書き込むことを試行すること、
を備える方法。
【請求項２】
前記外部ホストから、前記メモリ装置における置換バイトを受信すること、
前記置換バイトによって置換されるべき、前記ページバッファ内の前記少なくとも１ページ分のデータの部分の標識を受信すること、及び、
前記ページバッファから、前記第２のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行する前に、前記標識に基づいて、前記ページバッファ内の前記少なくとも１ページ分のデータの前記部分を前記置換バイトで置換すること、をさらに備える、請求項１に記載の方法。
【請求項３】
前記ページバッファから、前記第１のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから初期書き込みコマンドを受信することに応じて実行され、
前記外部ホストが前記少なくとも１ページ分のデータを前記メモリ装置に再送信することなく、前記ページバッファから、前記第２のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから、ページバッファ書き込みコマンドと、その後に続く前記第２のアドレス（Ｎ’）と、その後に続く付加書き込みコマンドと、を受信することに応じて実行され、
前記ページバッファ書き込みコマンドは、再書き込み試行が前記ページバッファ内のデータを用いて実行されるべきこと、及び、前記再書き込み試行が行われるべきアドレスが後に続くことを、前記メモリ装置に知らせる、請求項１又は２に記載の方法。
【請求項４】
前記メモリ装置は、前記外部ホストから前記ページバッファ書き込みコマンド及び前記付加書き込みコマンド以外のコマンドを受信することなしに、前記ページバッファから、前記第２のアドレスによって特定される前記場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを自動的に試行する、請求項３に記載の方法。
【請求項５】
前記転送は、前記外部ホストから初期書き込みコマンドを受信することに応じて実行され、
前記ページバッファから、前記第１のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記初期書き込みコマンドを受信することに応じて実行される、請求項１から４のうちのいずれか１項に記載の方法。
【請求項６】
前記ページバッファから、前記第１のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから、書き込みプロセスを実行することを前記メモリ装置に知らせる第１のコマンドコードの第１のインスタンスを受信することに応じて実行され、
前記ページバッファから、前記第２のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから、第２のコマンドコードのインスタンスと、その後に続く前記第２のアドレスと、その後に続く前記第１のコマンドコードの第２のインスタンスと、を受信することに応じて実行され、
前記第２のコマンドコードの前記インスタンスは、新アドレスが、前記ページバッファ内のデータを用いる再書き込み試行のために供給されていることを、前記メモリ装置に知らせ、
前記第１のコマンドコードの前記第２のインスタンスは、前記書き込みプロセスを実行することを前記メモリ装置に知らせる、請求項１から５のうちのいずれか１項に記載の方法。
【請求項７】
前記少なくとも付加的な１ページ分のデータを記憶するために、前記外部ホストからアドレス（Ｍ）を受信すること、及び、
前記少なくとも付加的な１ページ分のデータの前記変更を記憶するために、前記外部ホストから新たなアドレス（Ｍ’）を受信すること、をさらに備え、
前記少なくとも付加的な１ページ分のデータの前記変更は、前記新たなアドレス（Ｍ’）に基づくものである、請求項１から６のうちのいずれか１項に記載の方法。
【請求項８】
前記少なくとも１ページ分のデータと、前記少なくとも付加的な１ページ分のデータと、はチェーン内に配置されるページを備える、請求項１から７のうちのいずれか１項に記載の方法。
【請求項９】
前記少なくとも１ページ分のデータは、前記メモリアレイから読み出されたデータであって、前記メモリ装置によって受信される前に前記第２のアドレスに基づいて前記外部ホストによって変更された前記データを含む、請求項１から８のうちのいずれか１項に記載の方法。
【請求項１０】
メモリ装置であって、
外部ホスト（１３６）から、少なくとも１ページ分のデータ（Ｘ）と、メモリ装置（１００）における第１のアドレス（Ｎ）と、を受信する手段、
前記少なくとも１ページ分のデータ（Ｘ）を、前記メモリ装置のデータキャッシュ（１１３）に記憶する手段、
前記少なくとも１ページ分のデータ（Ｘ）を、前記データキャッシュ（１１３）から、前記メモリ装置のページバッファ（１１１）に転送する手段、
前記ページバッファ（１１１）から、前記第１のアドレス（Ｎ）によって特定される場所における前記メモリ装置のメモリアレイ（１０２）に、前記少なくとも１ページ分のデータ（Ｘ）を書き込むことを試行する手段、
前記ページバッファ（１１１）から、前記第１のアドレス（Ｎ）によって特定される場所における前記メモリアレイ（１０２）に、前記少なくとも１ページ分のデータ（Ｘ）を書き込むことを試行することの間に、前記外部ホスト（１３６）から、前記第１のアドレス（Ｎ）を指し示すデータを備える少なくとも付加的な１ページ分のデータ（Ｙ）を受信する手段、
前記少なくとも付加的な１ページ分のデータ（Ｙ）を、前記メモリ装置のデータキャッシュ（１１３）に記憶する手段、
前記少なくとも１ページ分のデータ（Ｘ）を書き込む試行が失敗であったことを決定する手段、
前記少なくとも１ページ分のデータ（Ｘ）を書き込む試行が失敗であったことを前記外部ホスト（１３６）に通知する手段、
前記外部ホスト（１３６）から、前記メモリ装置における第２のアドレス（Ｎ’）を受信する手段、
前記外部ホスト（１３６）から、前記少なくとも付加的な１ページ分のデータの変更（Ｙ’）を受信する手段であって、前記少なくとも付加的な１ページ分のデータの前記変更（Ｙ’）は、前記第２のアドレス（Ｎ’）を指し示すデータを備える、前記受信する手段、
前記少なくとも付加的な１ページ分のデータの前記変更（Ｙ’）を、前記少なくとも付加的な１ページ分のデータ（Ｙ）に代えて、前記データキャッシュ（１１３）に記憶する手段、及び
前記外部ホスト（１３６）が前記少なくとも１ページ分のデータ（Ｘ）を前記メモリ装置に再送信することなく、前記ページバッファ（１１１）から、前記第２のアドレス（Ｎ’）によって特定される場所における前記メモリアレイ（１０２）に、前記少なくとも１ページ分のデータ（Ｘ）を書き込むことを試行する手段、
を備えるメモリ装置。
【請求項１１】
前記外部ホストから、前記メモリ装置における置換バイトを受信する手段、
前記置換バイトによって置換されるべき、前記ページバッファ内の前記少なくとも１ページ分のデータの部分の標識を受信する手段、及び、
前記ページバッファから、前記第２のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行する前に、前記標識に基づいて、前記ページバッファ内の前記少なくとも１ページ分のデータの前記部分を前記置換バイトで置換する手段、をさらに備える、請求項１０に記載のメモリ装置。
【請求項１２】
前記ページバッファから、前記第１のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから初期書き込みコマンドを受信することに応じて実行され、
前記外部ホストが前記少なくとも１ページ分のデータを前記メモリ装置に再送信することなく、前記ページバッファから、前記第２のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから、ページバッファ書き込みコマンドと、その後に続く前記第２のアドレス（Ｎ’）と、その後に続く付加書き込みコマンドと、を受信することに応じて実行され、
前記ページバッファ書き込みコマンドは、再書き込み試行が前記ページバッファ内のデータを用いて実行されるべきこと、及び、前記再書き込み試行が行われるべきアドレスが後に続くことを、前記メモリ装置に知らせる、請求項１０又は１１に記載のメモリ装置。
【請求項１３】
前記メモリ装置は、前記外部ホストから前記ページバッファ書き込みコマンド及び前記付加書き込みコマンド以外のコマンドを受信することなしに、前記ページバッファから、前記第２のアドレスによって特定される前記場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを自動的に試行する、請求項１２に記載のメモリ装置。
【請求項１４】
前記転送は、前記外部ホストから初期書き込みコマンドを受信することに応じて実行され、
前記ページバッファから、前記第１のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記初期書き込みコマンドを受信することに応じて実行される、請求項１０から１３のうちのいずれか１項に記載のメモリ装置。
【請求項１５】
前記ページバッファから、前記第１のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから、書き込みプロセスを実行することを前記メモリ装置に知らせる第１のコマンドコードの第１のインスタンスを受信することに応じて実行され、
前記ページバッファから、前記第２のアドレスによって特定される場所における前記メモリアレイに、前記少なくとも１ページ分のデータを書き込むことを試行することは、前記外部ホストから、第２のコマンドコードのインスタンスと、その後に続く前記第２のアドレスと、その後に続く前記第１のコマンドコードの第２のインスタンスと、を受信することに応じて実行され、
前記第２のコマンドコードの前記インスタンスは、新アドレスが、前記ページバッファ内のデータを用いる再書き込み試行のために供給されていることを、前記メモリ装置に知らせ、
前記第１のコマンドコードの前記第２のインスタンスは、前記書き込みプロセスを実行すべきことを前記メモリ装置に知らせる、請求項１０から１４のうちのいずれか１項に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、参照によって本明細書に組み込まれる、２００８年１０月２５日に出願された米国仮特許出願第６１／１０８，５０７号（文書番号：ＳＡＮＤ−０１３８８ＵＳ０）の優先権を主張する。
【０００２】
本発明は、データの記憶のための技術に関する。
【背景技術】
【０００３】
半導体メモリは、様々な電子装置で用いるため益々人気が高くなっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、個人情報端末、モバイル・コンピューティング装置、非携帯コンピューティング装置、及び、他の装置で用いられる。電気的消去可能読み出し専用メモリ（ＥＥＰＲＯＭ）と、ＮＡＮＤメモリのようなフラッシュメモリとは、とりわけ最も人気のある不揮発性半導体メモリである。
【０００４】
可逆的抵抗スイッチング素子から形成される不揮発性メモリもまた知られている。例えば、参照によって本明細書に組み込まれ、発明の名称が“Ｒｅｗｒｉｔｅａｂｌｅ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｃｏｍｐｒｉｓｉｎｇ  Ａ  Ｄｉｏｄｅ  Ａｎｄ  Ａ  Ｒｅｓｉｓｔａｎｃｅ−Ｓｗｉｔｃｈｉｎｇ  Ｍａｔｅｒｉａｌ”である米国特許出願公開第２００６／０２５０８３６号は、金属酸化物又は金属窒化物のような可逆的抵抗スイッチング材料と直列に連結されたダイオードを含む再書き込み可能な不揮発性メモリセルについて記載する。これらの可逆的抵抗スイッチング材料は、不揮発性メモリアレイで用いるため注目されている。一方の抵抗状態は、例えば、データ「０」に対応することがあり、もう一方の抵抗状態は、データ「１」に対応する。これらの材料のうちのいくつかは、３つ以上の安定抵抗状態であることがある。このようなスイッチング素子は、いわゆる３次元メモリ装置内の複数の層に配置されることがよくある。さらに、ＤＲＡＭのような様々なタイプの不揮発性メモリ装置が知られている。再書き込み可能メモリ及び追記型メモリの両方が知られている。
【０００５】
メモリ装置は、挿入することができるか、又は、そうでなければ、ホスト携帯電話、デジタルカメラ、又は、他の装置のようなホスト／ユーザ装置に接続することができるカード、又は、他のコンポーネントの形をとることができる。他の場合、メモリ装置は、ホスト装置内に永続的に取り付けられる。リムーバブル媒体形式をもつメモリ装置の例は、ＣＯＭＰＡＣＴＦＬＡＳＨ（登録商標）、ＳＭＡＲＴＭＥＤＩＡ、ＳＥＣＵＲＥ  ＤＥＧＩＴＡＬ、ＭＥＭＯＲＹ  ＳＴＩＣＫ、ＸＤ−ＰＩＣＴＵＲＥ  ＣＡＲＤといった様々な商標名で販売されている。小さいフォームファクタをもつ新世代のメモリカード形式は、ＲＳ−ＭＭＣ、ＭＩＮＩＳＤ  ＡＮＤ  ＭＩＣＲＯＳＤ、及び、ＩＮＴＥＬＬＩＧＥＮＴ  ＳＴＩＣＫといった商標名で販売されている。
【０００６】
書き込み処理中に、ページと称されるデータの単位がメモリアレイ内の指定された場所に書き込まれる。例えば、ホスト装置は、データを書き込むメモリアレイのアドレスと共に、書き込まれるべきデータをメモリ装置に供給する。メモリ装置は、データを指定されたアドレスに書き込む回路を含む。しかし、例えば、指定されたアドレスと関連付けられたメモリ素子又は回路に関連する問題に起因して、書き込み動作が失敗する場合、失敗を解決することを試みる結果として行われる入出力動作は、過度の帯域幅を使い尽くすことがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願公開第２００６／０２５０８３６号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
メモリ装置において書き込み動作失敗を効率的に取り扱う技術が必要である。
【課題を解決するための手段】
【０００９】
メモリ装置において書き込み動作失敗を効率的に取り扱う技術が提供される。
【００１０】
一実施形態では、メモリ装置を動作させる方法は、（ａ）外部ホストから、少なくとも１ページ分のデータと、メモリ装置における第１のアドレスと、を受信すること、（ｂ）少なくとも１ページ分のデータを、メモリ装置のページバッファに記憶すること、（ｃ）ページバッファから、第１のアドレスによって特定される場所におけるメモリ装置のメモリアレイに、少なくとも１ページ分のデータを書き込むことを試行すること、（ｄ）少なくとも１ページ分のデータを書き込む試行が失敗であったことを決定すること、（ｅ）少なくとも１ページ分のデータを書き込む試行が失敗であったことを外部ホストに通知すること、（ｆ）外部ホストから、メモリ装置における第２のアドレスを受信すること、及び、（ｇ）外部ホストが少なくとも１ページ分のデータをメモリ装置に再送信することなく、ページバッファから、第２のアドレスによって特定される場所におけるメモリアレイに、少なくとも１ページ分のデータを書き込むことを試行すること、を備える。
【００１１】
別の実施形態では、メモリ装置を動作させる方法は、（ａ）外部ホストから、少なくとも第１のページのデータと、メモリ装置における第１のアドレスを受信すること、（ｂ）メモリ装置のメモリアレイの外部で、少なくとも第１のページのデータをメモリ装置の第１の記憶場所に記憶すること、（ｃ）第１の書き込みコマンドを受信すること、（ｄ）第１の書き込みコマンドに応じて、第１の記憶場所から、第１のアドレスによって特定される場所におけるメモリアレイに、少なくとも第１のページのデータを書き込むことを試行すること、（ｅ）外部ホストから、メモリ装置における第２のアドレスを受信すること、（ｆ）少なくとも第１のページのデータを第１の記憶場所に保持したままの状態で、メモリアレイの外側で少なくとも第２のページのデータをメモリ装置内の第２の記憶場所へ取り出すために、第２のアドレスによって特定される場所におけるメモリアレイを読み出すこと、（ｇ）少なくとも第２のページのデータを第２の記憶場所から外部ホストへ供給すること、（ｈ）少なくとも第１のページのデータを書き込む試行が失敗であったことを決定すること、（ｉ）少なくとも第１のページのデータを書き込む試行が失敗であったことを外部ホストに通知すること、（ｊ）外部ホストから第２のアドレスをメモリ装置で受信すること、及び、（ｋ）外部ホストが少なくとも第１のページのデータをメモリ装置に再送信することなく、第１の記憶場所から第２のアドレスによって特定される場所におけるメモリアレイに、少なくとも第１のページのデータを書き込むことを試行すること、を備える。
【００１２】
別の実施形態では、メモリ装置の外部ホストを動作させる方法は、（ａ）外部ホストからメモリ装置へ、少なくとも１ページ分のデータと、第１のアドレスと、少なくとも１つの第１のコマンドと、を送信すること（少なくとも１つの第１のコマンドは、少なくとも１ページ分のデータをメモリ装置のページバッファに記憶すること、及び、ページバッファから第１のアドレスによって特定される場所におけるメモリ装置のメモリアレイに、少なくとも１ページ分のデータを書き込むことを試行することをメモリ装置に知らせる）、（ｂ）メモリ装置から外部ホストで、第１のアドレスによって特定された場所に少なくとも１ページ分のデータを書き込む試行が失敗であったことを示す状態通信を受信すること、及び、（ｃ）外部ホストが少なくとも１ページ分のデータをメモリ装置に再送信することなく、状態通信に応じて、外部ホストからメモリ装置へ、第２のアドレスと、少なくとも第２のコマンドと、を送信すること（第２のコマンドは、少なくとも１ページ分のデータをページバッファから第２のアドレスによって特定される場所におけるメモリアレイに書き込むことを試行するようにメモリ装置に知らせる）、を備える。
【００１３】
別の実施形態では、メモリ装置は、基板に形成された不揮発性記憶素子のメモリアレイと、データキャッシュと、ページバッファと、外部ホストへのインターフェイスと、１つ以上の制御回路と、を含む。１つ以上の制御回路は、（ａ）外部ホストから、少なくとも１ページ分のデータと、第１のアドレスと、を受信し、（ｂ）少なくとも１ページ分のデータをページバッファに記憶し、（ｃ）ページバッファから、第１のアドレスによって特定される場所におけるメモリアレイに、少なくとも１ページ分のデータを書き込むことを試行し、（ｄ）少なくとも１ページ分のデータを書き込む試行が失敗であったことを決定し、（ｅ）少なくとも１ページ分のデータを書き込む試行が失敗であったことを外部ホストに通知し、（ｆ）外部ホストから、メモリ装置における第２のアドレスを受信し、（ｇ）外部ホストが少なくとも１ページ分のデータをメモリ装置に再送信することなく、ページバッファから第２のアドレスによって特定される場所におけるメモリアレイに、少なくとも１ページ分のデータを書き込むことを試行する。
【００１４】
別の実施形態では、メモリ装置は、基板に形成された不揮発性記憶装置をもつメモリアレイと、ページバッファと、データキャッシュと、外部ホストへのインターフェイスと、メモリアレイ、ページバッファ、データキャッシュ及びインターフェイスと通信する１つ以上の制御回路と、を備える。ページバッファは、第１のページデータを受信し、１つ以上の制御回路は、ページバッファからメモリアレイへ第１のページデータを書き込む試行が行われるようにする。さらに、データキャッシュは、ページバッファを迂回するメモリアレイから第２のページデータを受信し、その間に、ページバッファは、第１のページデータを記憶している。１つ以上の制御回路は、第２のページデータがデータキャッシュから外部ホストへ供給されるようにする。さらに、１つ以上の制御回路は、ページバッファからメモリアレイへ第１のページデータを再書き込みする試行が行われるようにする。
【００１５】
対応する方法、システム、及び、本明細書に提示された方法を実行するため実行可能なコードを有しているコンピュータ又はプロセッサ読み取り可能な記憶装置が同様に提供される。
【図面の簡単な説明】
【００１６】
【図１】メモリシステムの一実施形態のブロック図である。
【図２ａ】ページのデータをメモリアレイに書き込む際のホストとメモリ装置との間の通信のシーケンスを表す図である。
【図２ｂ】図２ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図２ｃ】図２ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図２ｄ】図２ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図２ｅ】図２ａのシーケンスに対応するプロセスを表す図である。
【図２ｆ】図２ｅのプロセスに対応するホスト側プロセスを表す図である。
【図３ａ】ページのデータをメモリアレイに書き込み、その間に別のページのデータをデータキャッシュに受信する際のホストとメモリ装置との間の通信のシーケンスを表す図である。
【図３ｂ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｃ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｄ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｅ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｆ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｇ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｈ】図３ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図３ｉ】図３ａのシーケンスに対応するプロセスを表す図である。
【図４ａ】メモリアレイからコピーされたページのデータをメモリアレイに書き込む際のホストとメモリ装置との間の通信のシーケンスを表す図である。
【図４ｂ】図４ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図４ｃ】図４ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図４ｄ】図４ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図４ｅ】図４ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図４ｆ】図４ａのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図４ｇ】図４ａのシーケンスに対応するプロセスを表す図である。
【図５ａ】メモリアレイからコピーされたページのデータをメモリアレイに書き込み、その間に別のページのデータをデータキャッシュに受信する際のホストとメモリ装置との間の通信のシーケンスの第１の部分を表す図である。
【図５ｂ】図５ａのシーケンスの後に続く通信のシーケンスの第２の部分を表す図である。
【図５ｃ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｄ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｅ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｆ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｇ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｈ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｉ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｊ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｋ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｌ】図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ及びメモリアレイ内のデータの移動を表す図である。
【図５ｍ】図５ａ及び５ｂのシーケンスに対応するプロセスを表す図である。
【図６】データキャッシュがメモリアレイ又はホストから直接的にデータを受信するため接続されている回路を表す図である。
【図７】ページバッファがメモリアレイ又はホストから直接的にデータを受信するため接続されている回路を表す図である。
【図８】図６及び７の回路によって提供される機能を表す図である。
【発明を実施するための形態】
【００１７】
メモリ装置において書き込み動作失敗を効率的に取り扱う技術が提供される。
【００１８】
図１は、本明細書に記載された技術を実施するメモリシステムの一例を表すブロック図である。メモリシステムは、一つの可能なアプローチでは、ダイに形成された部分１０１と、入出力回路又はインターフェイス１３４を介して外部ホスト１３６と通信するコントローラ１３０と、を含む、カード又は他のパッケージとして構成されることがあるメモリ装置１００を備える。コントローラ１３０は、本明細書に記載される機能を実施する、システム制御ロジック１３２を含む。コントローラ１３０は、図に表されるように、部分１０１内に組み込まれてもよく、又は、チップ外にあってもよい。
【００１９】
メモリアレイ１０２は、記憶素子と称されることもあるメモリセルの２次元アレイでもよく、又は、３次元メモリアレイでもよい。一実施では、メモリアレイ１０２は、モノリシック３次元アレイである。モノリシック３次元メモリアレイは、複数のメモリレベルが介在基板なしにウェハのような単一基板の上に形成されるメモリアレイである。１つのメモリレベルを形成する層は、既存の１つ又は複数のレベルの層の上に直接的に堆積又は成長させられる。これに反して、積層メモリは、発明の名称が“Ｔｈｒｅｅ  Ｄｉｍｅｎｓｉｏｎａｌ  Ｓｔｒｕｃｔｕｒｅ  Ｍｅｍｏｒｙ”であるＬｅｅｄｙによる米国特許第５９１５１６７号のように別個の基板にメモリレベルを形成し、メモリレベルを互いの上に付着することにより構築されている。基板は、接合前に、薄膜化されるか、又は、メモリレベルから除去されることがあるが、メモリレベルは最初に別個の基板の上に形成されるので、このようなメモリは、本当のモノリシック３次元メモリアレイではない。
【００２０】
別の可能な実施例では、メモリアレイは、ＮＡＮＤストリングのようなストリング内に直列接続される不揮発性記憶素子の２次元アレイである。各ストリングは、ドレイン側選択ゲートとソース側選択ゲートとの間の列に延在する。ワード線は、行内の記憶素子の制御ゲートと通信する。ビット線は、各ストリングのドレイン端部と通信し、センシングコンポーネントは、選択された記憶素子が導通状態であるか、又は、非導通状態であるかを決定するためビット線に連結される。
【００２１】
メモリアレイ１０２のアレイ端子線は、行として編成されたワード線の（複数の）様々な層と、列として編成されたビット線の（複数の）様々な層とを含む。しかし、他の方向が実施されることもある。
【００２２】
メモリシステム１００は、出力１０８がメモリアレイ１０２のそれぞれのワード線に接続されている行制御回路１２０を含む。行制御回路１２０は、システム制御論理回路１３０から１群の行アドレス信号及び１つ以上の様々な制御信号を受信し、典型的に、読み出し動作及び書き込み動作の両方のための行デコーダ１２２、アレイ端子ドライバ１２４、及び、ブロック選択回路１２６のような回路を含むことがある。メモリシステム１００は、入出力１０６がメモリアレイ１０２のそれぞれのビット線に接続されている列制御回路１１０をさらに含む。列制御回路１１０は、システム制御ロジック１３２から一群の列アドレス信号及び１つ以上の様々な制御信号を受信し、典型的に、列デコーダ１１２、アレイ端子レシーバ又はドライバ１１４、ブロック選択回路１１６、その他に、読み出し／書き込み回路、及び、入出力マルチプレクサを含むことがある。システム制御ロジック１３２は、ホスト１３６からデータ及びコマンドを受信し、出力データをホストに供給する。他の実施形態では、システム制御ロジック１３２は、別個のコントローラ回路からデータ及びコマンドを受信し、出力データをホストと通信しているこのコントローラ回路に供給する。システム制御ロジック１３２は、１つ以上の状態機械、レジスタ、及び、本明細書に記載されているようにメモリシステム１００の動作を制御する他の制御ロジックを含むことがある。
【００２３】
列制御回路１１０は、センスアンプの一部でもよいページバッファ１１１及びデータキャッシュ１１３をさらに含む。ページバッファは、メモリアレイに書き込まれ、若しくは、メモリアレイから読み取られるデータを記憶する記憶場所であり、又は、書き込み動作中に書き込み検証結果をさらに維持することがある。１つ以上のページバッファが使用されることがある。ページバッファは、１ページ分以上のデータを記憶することができる。ワード線が１ページ分のデータのみを記憶する場合、１ページ分のデータを記憶するだけのページバッファで十分である。ワード線が複数ページ分のデータを記憶する場合、１ページ分以上のデータを記憶することができる１つ以上のページバッファが設けられることが可能である。ページバッファ１１１は、ビット線と、読み出し、検証、プログラム（書き込み）、及び、消去動作のための電源線電圧とに接続されている。書き込み検証に関して、メモリアレイ内の記憶素子のワード線がページバッファ１１１内に記憶されたデータで書き込まれた後、ワード線はリードバックされ、読み出されたデータがページバッファ内に記憶されたデータと比較される。不一致は、不良（又は他のタイプの誤り）がワード線に存在し、データが別のワード線に再度書き込まれるべきであることを示唆する。さらなる情報については、例えば、参照によって本明細書に組み込まれる米国特許第７，３１７，６３６号を参照のこと。
【００２４】
別の可能なアプローチでは、ワード線の内容がワード線単位でページバッファの内容と一致するかどうかを決定するため、別個の読み出し動作を使用する代わりに、各メモリセルの書き込み／非書き込み状態が検知可能であり、その間にメモリセルの書き込みを試行する。この書き込み時の検知技術は、参照によって本明細書に組み込まれる、発明の名称が“Ｍｅｍｏｒｙ  ｄｅｖｉｃｅ  ａｎｄ  ｍｅｔｈｏｄ  ｆｏｒ  ｓｅｎｓｉｎｇ  ｗｈｉｌｅ  ｐｒｏｇｒａｍｍｉｎｇ  ａ  ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｃｅｌｌ”である米国特許第６，５７４，１４５号に詳細に記載されている。
【００２５】
データキャッシュ１１３は、読み出し動作中にページバッファによって読み出されるデータと、書き込み動作の間にページバッファに供給されるべきデータと、を保持する。さらに後述されるように、ダイ１０１から離れた外部ホストは、コマンド及びデータをメモリ装置１００に送信し、データは、第１の記憶場所及び第２の記憶場所としてデータキャッシュ及びページバッファの組み合わせを用いて記憶される。有利な点として、メモリアレイに書き込まれるべきデータは、書き込み試行がメモリアレイ内の一方のアドレスで失敗し、そして、ホストがデータをメモリ装置へ再入力することなく、メモリアレイ内の別のアドレスに再書き込みされた後、メモリ装置内に保持することができる。さらに、この再書き込み能力は、付加データがメモリ装置内に受信され、その間に、再書き込みプロセスが行われるシナリオ、再書き込みされたデータがメモリアレイ内の一方の場所から別の場所へコピーされる（そして、場合によっては変更される）シナリオ、及び、付加データがメモリ装置内に受信され、その間に、再書き込みプロセスが行われ、再書き込みされたデータがメモリアレイ内の一方の場所から別の場所へコピーされる（そして、場合によっては変更される）シナリオのような様々なシナリオで実現可能である。このページベースの再書き込み能力は、例えば、誤り訂正を使用して、数バイトのようなページの一部分を変更するためメモリ装置によって実行される技術と区別することができる。
【００２６】
一実施形態では、図１に表されたコンポーネントのすべては、単一の集積回路に配置されている。例えば、システム制御ロジック１３２、列制御回路１１０、及び、行制御回路１２０は、基板の表面に形成される。さらに、メモリアレイ１０２は、基板の上に（つまり、システム制御ロジック１３２、列制御回路１１０、及び、行制御回路１２０の上に）形成されたモノリシック３次元メモリアレイでもよい。一部の場合、制御回路の一部分は、メモリアレイの一部と同じ層に形成されることができる。
【００２７】
メモリアレイを組み込む集積回路は、通常は、アレイをある程度の数のサブアレイ又はブロックに分割する。ブロックは、例えば、１６個、３２個、又は、様々な個数のブロックを格納するベイにさらに集めることができる。頻繁に使用されるように、サブアレイは、一般に、デコーダ、ドライバ、センスアンプ、及び、入出力回路によって切断されない連続するワード線及びビット線を有しているメモリセルの連続するグループである。これには、種々の理由がある。例えば、ワード線及びビット線を下方に辿るこのような線の抵抗及び容量から生じる信号遅延（即ち、ＲＣ遅延）は、大型アレイでは非常に顕著であることがある。これらのＲＣ遅延は、各ワード線及び／又は各ビット線の長さが短縮されるように大型アレイをより小型のサブアレイに分割することにより縮小されることがある。別の例として、一群のメモリセルと関連付けられた電力は、所与のメモリサイクルの間に同時にアクセスされることがあるメモリセルの個数の上限を決定付けることがある。その結果、大型メモリアレイは、多くの場合に、同時にアクセスされるメモリセルの個数を削減するため、より小型のサブアレイに分割される。それにもかかわらず、説明を簡単にするため、アレイは、デコーダ、ドライバ、センスアンプ、及び、入出力回路によって一般に切断されない連続するワード線及びビット線を有しているメモリセルの連続するグループを指し示すためにサブアレイと同意語として使用されることもある。集積回路が１つ以上のメモリアレイを含むことがある。コントローラ１３０及び他のコンポーネントのうちのいずれかは、メモリアレイ１０２に加えて、制御回路であると考えられることがある。
【００２８】
冒頭で指摘したように、書き込み動作が失敗した場合、結果として生じる入出力動作は、メモリ装置で用いられるプロセッササイクル及びメモリ装置に転送されるデータの量の点で、過度の帯域幅を使い尽くすことがある。例えば、ページのデータは、例えば、２ＫＢ又は４ＫＢのデータを格納することがある。典型的に、書き込みプロセスが失敗した場合、メモリ装置は、外部ホストが状態をポーリングするときを外部ホストに通知し、このホストは、新書き込みコマンドを発行し、このページのデータをメモリ装置に再送信することにより応答する。このホストは、各ページの書き込みが成功したかどうかを突き止めるため、書き込み後にあらゆるページをポーリングすることがある。
【００２９】
具体的には、メモリカード又は他の媒体形式のインターフェイスにおいて、失敗したページ書き込み試行は、典型的に、メモリアレイ内の別の物理的な場所に再マッピングされるべきである。ホストは、典型的に、書き込み後に状態をチェックし、新アドレスを書き込み、このページのデータを再送信することにより書き込みシーケンスを再開する。これは、入出力を内部動作と重ね合わせるデータキャッシュを用いて書き込みが行われる場合、特に非効率的である。
【００３０】
本明細書に提示される技術は、ページデータを再入力する必要がないようにしながら、失敗したページをメモリアレイ内の別の物理的な場所に再書き込みするようにする。この技術は、ホスト／ユーザが別の物理アドレスを入力し、新しい場所に書き込まれるべきであり、メモリ装置内に一時記憶されていたデータを書き込むことを可能にする。この技術は、単一ページ内に、又は、データキャッシュを用いて書き込む際に使用することができ、そして、ページコピー動作（単一ページ又はキャッシュ）でも同様に使用することができる。この技術は、例えば、複雑にならないように、そして、標準化、及び、様々なホスト装置を両立する必要があるので、限られたコマンドコードの語彙を使用するメモリシステムと両立する。これは、特に、データ・キャッシュ・モードを用いる書き込み中に帯域幅の不利な条件を著しく軽減する。その結果として、書き込み速度性能は、著しく改善することができる。
【００３１】
一実施形態では、この技術は、インターフェイスプロトコルに新セットアップコマンドを導入する。このコマンドを使用し、そして、新アドレスを送信することにより、ホストは、ページバッファ内に残存するページデータを再送信することなく、メモリ装置に書き込むことができる。既存の書き込みフローを僅かに変更するだけでよい。
【００３２】
図２ａは、１ページ分のデータをメモリアレイに書き込む際のホストとメモリ装置との間の通信のシーケンスを表す。このシナリオでは、１ページ分のデータは、他のデータを入力することなく再書き込みされ、データは、メモリアレイ内の別の場所からコピーされない。時間軸は、ホストからメモリ装置へ、及び、メモリ装置からホストへ、送信されるメッセージのシーケンス表す。ホストによって監視されるメモリ装置のレディ／ビジー状態線もまた提供される。状態がレディである場合、ホストは、例えば、先行の書き込み動作の状態を要求するため、又は、ユーザデータ及びアドレスをメモリ装置へ供給するためメモリ装置と通信することができる。状態がビジーである場合、ホストは、メモリ装置のレディ／ビジー状態をチェックする又はメモリ装置をリセットする以外の何らかの必要性がある場合、メモリ装置との通信を待つことが必要である。
【００３３】
さらに、時点ｔ０、ｔ１、ｔ２、．．．は、時間的に等間隔にされていないが、事象のシーケンスを表すように意図されている。いくつかの実施例では、ページバッファ書き込みコマンド（８Ｄｈ）は、書き込みプロセスがページで失敗した場合に入出力時間を節約するため導入される。これが行われると、ホストは、同じページをメモリアレイ内の別の物理的な場所、例えば、別のワード線、又は、複数のページを有しているワード線上の別のページに再書き込みすることを試行する。この新コマンドを使ってページバッファからメモリ内の別のページへの書き込みすることができる。ホストとメモリ装置との間で通信されるユーザデータは、ページ単位であり、同時に１又は複数ページである。
【００３４】
なお、スマートメディア不揮発性メモリカードを含む特有の実施に適した例示的なコマンドコード（例えば、８Ｄｈ、１０ｈ、７０ｈ）が指摘されている。しかし、これらの考え方は一般に様々な媒体形式及びプロトコルのため適しているので、これらのコマンドコードは、例示のためだけに提示されている。
【００３５】
単一ページ書き込みプロセスでは、ｔ０において、データ入力コマンド（８０ｈ）がホストからメモリ装置へ供給され、その後に続いて、ｔ１において、アドレスＮが供給され、次いで、ｔ２において、書き込まれるべき１ページ以上のユーザデータ（データＸ）が供給される。メモリ装置は、作業メモリ内にアドレスＮを保持し、データＸをデータキャッシュ１１３内に記憶する（図１）。ホストは、ｔ３において、書き込みコマンド（１０ｈ）を供給する。コマンド１０ｈは、付加ページのデータが現在ページに続かないことを示唆する。応答中に、メモリ装置は、データＸをページバッファ１１１にコピーし（図１）、その後、データＸをメモリアレイのアドレスＮに書き込むために、書き込み動作を開始する。データがページバッファにコピーされることなく、キャッシュからメモリアレイへ直接的に書き込まれることができるように、又は、データがページバッファを通過することなく、メモリアレイからキャッシュへ直接的に読み出されるように、データキャッシュとメモリアレイとの間に直接的な経路を設けることができると考えられる。さらなる情報については、図６〜８を参照のこと。一般に、書き込みプロセスは、書き込みコマンドを実行するさらなる命令をホストから受信することなくメモリ装置によって自動的に行われる。即ち、メモリ装置は、ホストから独立して書き込みを実行する。
【００３６】
この時点で、ビジー状態はセットされる。ｔ４において、レディ状態がセットされ、これに応じて、ホストは、状態要求コマンド（７０ｈ）を供給する。具体的には、レディ／ビジー信号がレディ状態であることを示唆するために上昇する場合、ホストは、この状態を見つけるために、メモリ装置をポーリングする。メモリ装置は、例えば、ｔ５において、失敗状態メッセージを使って応答する。
【００３７】
これに応じて、ホストは、ｔ６において、書き込みプロセスが失敗したデータを使って再書き込み試行が行われるべきこと、及び、この再書き込みを実行するアドレスが後に続くこと、をメモリ装置に知らせるコマンド（８Ｄｈ）を供給する。新アドレスＮ’は、ｔ７において、ホストによって供給され、その後に続いて、ｔ８において、書き込みコマンド（１０ｈ）が供給される。よって、第１の書き込みコマンドコードの第１のインスタンス及び第２のインスタンスが、ｔ３及びｔ８において、それぞれ供給される。しかし、ｔ８でのインスタンスは、ｔ６での第２のコマンドコードのインスタンスによって先行されるので、メモリ装置では、ｔ８でのインスタンスがｔ３でのインスタンスとは異なって解釈されることが分かる。
【００３８】
場合によっては、ｔ７．１において、データＸ’と呼ばれるデータＸのための変更済みデータがホストによって通信される。例えば、データＸ’は、ページバッファにある間にデータＸ内のバイトを置換する数バイトのデータを含み得る。このように、ページバッファ・データをメモリアレイに書き込む前に、所定の位置にあるページバッファ・データを変更することができる。これは、ページデータがこのページデータが書き込まれるメモリアレイ内のアドレスに依存するときのような様々なシナリオで役に立つ可能性がある。アドレスＮ’は、データＸ’によって置換されるべきデータＸの一部分を特定するバイトと、さらに、メモリアレイ・アドレスＮ’を特定するバイトと、を含み得る。書き込みコマンド８Ｄｈは、データＸ’をページバッファへ直接的に書き込むことであると解釈される。
【００３９】
ｔ８において、メモリ装置は、場合によってはＸ’によって変更されているようなデータＸ（Ｘ（Ｘ’）で示される）を、アドレスＮ’によって特定されるメモリアレイ内の場所に書き込むことを試行し、ビジー状態がセットされる。具体的には、レディ／ビジー信号が下降してビジー状態を示唆する場合、書き込み動作が起こる。ｔ９において、レディ状態がセットされ、これに応じて、ホストが状態要求コマンド（７０ｈ）の第２のインスタンスを供給する。具体的には、レディ／ビジー信号が上昇してレディ状態を示唆する場合、ホストは、この状態を見つけるためメモリ装置をポーリングする。メモリ装置は、例えば、ｔ１０において、成功状態メッセージを使って応答する。
【００４０】
図２ｂ〜ｃは、図２ａのシーケンスに対応するデータキャッシュ、ページバッファ、及び、メモリアレイ内のデータの移動を表す。図２ｂでは、ホスト１３６によって送信されたデータＸは、ｔ２において、データキャッシュ１１３に記憶される。図２ｃでは、ｔ３において、書き込みコマンドに基づく書き込みプロセスの間に、データＸがデータキャッシュ１１３からページバッファ１１１へ転送され、失敗した試行がデータＸをページバッファ１１１からメモリアレイ１０２のアドレスＮへ書き込むために行われる。図２ｄでは、ｔ８において、書き込みコマンドに基づく再書き込みプロセス中に、データＸがページバッファ１１１からメモリアレイ１０２のアドレスＮ’に書き込まれ、結果として成功する。場合によっては、指摘したように、ホスト１３６は、データＸの一部分を置換するため、データＸ’をページバッファ１１１へ直接的に供給することができ、メモリアレイ１０２のアドレスＮ’に書き込まれる変更済みデータＸ（Ｘ’）を提供する。ホスト・ページバッファ間の直接的な通信能力を提供する回路のさらなる詳細については図６〜８を参照のこと。
【００４１】
図２ｅは、図２ａのシーケンスに対応するプロセスを表す。ステップ２５０は、ユーザデータ、第１のアドレス、及び、書き込みコマンドをメモリ装置に入力することを含む。ステップ２５２は、第１のアドレスを用いてデータを書き込むことを試行することを含む。決定ステップ２５４は、書き込み試行が成功したか否かを決定する。書き込み試行が成功した場合、プロセスは、ステップ２６４で終了する。ステップ２５６は、書き込み試行が成功していないことをホストに通知することを含む。ステップ２５７は、再書き込みコマンド及び第２のアドレスを入力することを含む。ステップ２５８は、場合によっては、ページバッファ内にあるデータを変更するために置換バイトを入力することを含む。ステップ２５９は、書き込みコマンドを入力する。ステップ２６０は、第２のアドレスを用いてデータを書き込むことを試行することを含む。ステップ２６２は、再書き込み試行が成功したことをホストに示唆する。このプロセスは、ステップ２６４で終了する。
【００４２】
図２ｆは、図２ｅのプロセスに対応するホスト側プロセスを表す。ステップ２７０は、ユーザデータ、第１のアドレス、及び、書き込みコマンドをメモリ装置に送信することを含む。ステップ２７２は、書き込み試行が失敗したという通知を受信することを含む。ステップ２７３は、再書き込みコマンド及び第２のアドレスを送信することを含む。ステップ２７４は、場合によっては、ページバッファ内にあるデータを変更するために置換バイトを送信することを含む。ステップ２７５は、書き込みコマンドを送信する。ステップ２７６は、書き込み試行が成功したという通知を受信することを含む。プロセスは、ステップ２７８で終了する。
【００４３】
図３ａは、１ページのデータをメモリアレイに書き込み、その間に別のページのデータをデータキャッシュに受信する際のホストとメモリ装置との間の通信のシーケンスを表す。このシーケンスは、以前のデータの書き込み要求が保留されている間に付加データがメモリ装置で受信され記憶されることを可能にする。このキャッシュ書き込みシーケンスの間に、コマンド８Ｄｈは、状態失敗がページ書き込みに対して検出された後に用いることができる。この場合、書き込みに成功したページの場合と同様に、書き込み動作後に、データキャッシュからページバッファへのコピーが行われない。コマンド８Ｄｈは、新ページアドレス及びキャッシュ書き込みコマンド（例えば、１５ｈ）が後に続けられて、発行することができる。コマンド１５ｈは、付加ページのデータが受信され、データキャッシュに入り、同時に、現在ページがメモリアレイに書き込まれることを示唆する。
【００４４】
この場合、ページデータは、新アドレスに書き込まれる。再マッピングを省略するため、キャッシュシーケンスがそのまま再開される。キャッシュシーケンスを再開するため、コマンド８０ｈと、後続ページのためのページアドレスとが再発行される。なお、コマンド８０ｈは、この場合、データキャッシュ内のバイトを自動的にセットしない。失敗のない通常の書き込み動作では、ユーザがデータを入力し始める前に、キャッシュ内のすべての先行データは、ＦＦ（１１１１１１１１）にセットされる。なぜならば、書き込みが成功し、旧データが既にメモリ内に記憶されているからである。失敗の場合、キャッシュ内のデータは、依然として書き込まれるべきデータである。本発明者らは、データがキャッシュに留まることを望み、ユーザ／ホストがデータを変更すべきか、又は、データをキャッシュに維持すべきかを決定できるようにする。
【００４５】
ｔ０においてデータ入力コマンド（８０ｈ）が、その後に続いて、ｔ１においてアドレスＮが、そして、ｔ２において書き込まれるべきデータ（データＸ）がホストからメモリ装置に供給される。メモリ装置は、アドレスＮを作業メモリ内に維持し、データＸをデータキャッシュ１１３内に記憶する（図１）。ホストは、書き込まれたいずれかの先行ページが書き込みに成功したことを仮定して、ｔ３で書き込みコマンド（１５ｈ）を供給する。これに応じて、メモリ装置は、データＸをメモリアレイのアドレスＮに書き込むために書き込み動作を始動する。なお、これは、ホストとメモリ装置との間の付加通信と同時に行われることができる。
【００４６】
ｔ３において、ビジー状態がセットされる。ｔ４において、レディ状態がセットされ、これに応じて、ホストがデータ入力コマンドを供給し、その後に続いて、ｔ５においてアドレスＭ、そして、ｔ６においてデータＹが供給される。データＹは、データキャッシュ内に記憶される。このようにして、データＸのための書き込み試行が行われている間に付加データがメモリ装置に入力される。これは、帯域幅の効率的な使用をもたらす。ｔ７においてデータＹを書き込む書き込みコマンドが供給されるが、このコマンドの実施は、先行データの書き込みが成功するまで待たなければならない。この書き込みコマンドは、ｔ１６においてＹ’のための書き込みコマンドによって後で入れ替えられる。ホストは、レディ信号を待つ。ｔ８において、レディ状態がセットされ、これに応じて、ホストがデータＸ書き込み試行の状態を見つけるためメモリ装置をポーリングする。メモリ装置は、例えば、ｔ９において、失敗状態メッセージを使って応答する。データキャッシュからページバッファへのデータコピーはなく、そうでなければ、失敗したページのデータは無効にされるであろう。メモリは、中断し、ページバッファ内のデータを書き込むことを試行する８Ｄコマンド、又は、失敗を無視し、（失敗したページを格納した）ページバッファ内のこのデータを無効化し、キャッシュ動作を再開するためにデータキャッシュからページバッファへデータをコピーする８０コマンドのいずれかを待つ。
【００４７】
ｔ９での失敗状態通信に応じて、ホストは、ｔ１０において、書き込みプロセスが失敗したデータを使って再書き込み試行が行われるべきであること、及び、この再書き込みを実行するアドレスが後に続くようになることをメモリ装置に知らせるコマンド（８Ｄｈ）を供給する。ｔ１１において、新アドレスＮ’がホストによって供給され、ｔ１２において、書き込みコマンド（１５ｈ）が後に続けられる。
【００４８】
場合によっては、ｔ１１．１において、データＸ’と呼ばれるデータＸのための変更済みデータは、前述されているように、ページバッファ内にあるデータＸの一部分を変更するためにホストによって通信される。ページバッファ・データをメモリアレイに再書き込みする前に、所定の位置でページバッファ・データを変更することができる。アドレスＮ’は、データＸ’によって置換されるべきデータＸの一部分を特定するバイトと、メモリアレイ・アドレスＮ’を特定するバイトと、を含むことができる。
【００４９】
レディ／ビジー信号は、ｔ１２において、ビジーにセットされ、その後に、ｔ１３において、レディにセットされる。この場合も、メモリ装置は、ｔ１２において、書き込みコマンドは、ｔ１０におけるコマンドによって先行されるので、ページバッファからの再書き込みとして解釈されることが分かる。ｔ１２において、データＸ又はＸ（Ｘ’）をアドレスＮ’に書き込むために試行が行われる。
【００５０】
この時点で、ホストは、再書き込み試行がメモリ装置によって実行されるべきであることが分かる。ホストは、先に送信されたデータＹの代わりにメモリ装置内に記憶されるべき変更済みデータＹ’を供給する選択肢をもつ。さらに、データＹ’を記憶する新アドレスＭ’は、選択されることができる。例えば、データＹは、再書き込みが試行されるようになる新アドレスＭ’に基づいて変更されることがある。データＹは、メモリアレイ内のデータＸの場所を指し示す情報を格納することがあり、この場合、データＹは、データＸの新しい場所に基づいて変更することができる。例えば、データＹは、データＸのアドレスを指し示すデータを格納することができる。このデータは変更されるべきである。これはありそうもないとしても、起こり得る。さらに、ページ失敗に応答して、様々なデータが後続のページ書き込みで必要とされることがある（様々なデータは、失敗したページのためさらに必要とされることもある）。この例は、ページの物理アドレスが連続していないとしても、ページがチェーン内に配置される「リンクリスト」構造体である。その代わりに、各ページは、このページの先行ページのアドレスを格納するので、ソフトウェア又はファームウェアは、チェーン全体を追跡することができる。データＸの場所がＮからＮ’に変化する場合、データＹは、Ｘのためのアドレスの部分をＮからＮ’に更新する必要がある。データＹが変更されない場合、データＹはデータキャッシュ内に留まることができる。
【００５１】
ホストは、ｔ１３でデータ入力コマンドと、引き続いてｔ１４で変更済みアドレスＭ’と、ｔ１５で変更済みデータＹ’と、ｔ１６でデータＹ’のための新書き込みコマンドと、を供給することを選択することができ、レディ／ビジー信号はビジーになる。ホストは、失敗状態がｔ９で受信された場合、データＹをデータＹ’に変更し始めることができる。しかし、効率をよくするために、ホストが８Ｄｈコマンド、アドレスＮ’、及び、データＸ’を発行し、その後、データＹを変更するようになる前に、次の１０ｈ／１５ｈコマンドを発行する場合、データＹの変更は、データＸ又はＸ（Ｘ’）が書き込まれるのと並列に行うことができる。ホストがデータＹを変更することを意図していない場合、データサイクルは省略することができる。さらに、ユーザがアドレスＭを変化させることを意図しないとしても、アドレスサイクルは依然として必要とされ、この場合、ホストは、アドレスＭを再入力する。
【００５２】
この書き込みコマンドは、データＸの書き込みが未だ承認されていないので、実施されるのを待つ。ｔ１７で、アドレスＮ’にあるデータＸ又はＸ（Ｘ’）は、書き込みを無事に終了し、レディ／ビジー信号は上昇してこのレディ状態を示唆し、そして、ホストは、この状態を見つけるためメモリ装置をポーリングする。メモリ装置は、ｔ１８で成功状態メッセージを使ってデータＸ又はＸ（Ｘ’）のための書き込み状態に応答する。続いて、データＹ’がアドレスＭ’においてメモリアレイに書き込まれる。
【００５３】
ホストは、メモリアレイに書き込まれるべき次ページのデータのための別のデータ入力コマンド（図示せず）を発行することができ、キャッシュ書き込みプロセスが継続する。
【００５４】
なお、ホストがｔ９での失敗通知を無視することを選択した場合、ｔ１０での再書き込みコマンドは、省略することができる。この場合、コマンド１５ｈがｔ１６で発行された後に、データキャッシュからページバッファへのコピーが行われる。
【００５５】
図３ｂ〜ｈは、図３ａのシーケンスに対応するデータキャッシュ、ページバッファ、及び、メモリアレイ内のデータの移動を表す。図３ｂで、データＸは、ホスト１３６によって送信され、ｔ２において、データキャッシュ１１３内に記憶される。図３ｃでは、ｔ３での書き込みコマンドに基づく書き込みプロセスの間に、データＸがデータキャッシュ１１３からページバッファ１１１へ転送され、ページバッファ１１１からメモリアレイ１０２のアドレスＮへ書き込まれ始める。図３ｄでは、書き込みプロセスの間に、データＹは、ｔ６において、キャッシュで受信され、データＸのための書き込み試行が失敗する。図３ｅでは、データＹはデータキャッシュ内にあり、データＸはページバッファ内にある（ｔ８）。図３ｆでは、データＸは、ｔ１２で書き込みコマンドに基づいてアドレスＮ’に再書き込みされ始める。場合によっては、前述されているように、ホスト１３６は、データＸの一部分を置換し、メモリアレイ１０２のアドレス’に書き込まれる変更済みデータＸ（Ｘ’）を提供するため、データＸ’をページバッファ１１１に直接的に供給することができる。図３ｇでは、再書き込みプロセスが継続し、試行が成功する。さらに、並行して、ｔ１５において、変更済みデータＹ’がデータキャッシュに記憶される。図３ｈでは、データＹ’がデータキャッシュからページバッファへ転送される（ｔ１８の後、図示せず）。
【００５６】
図３ｉは、図３ａのシーケンスに対応するプロセスを表す。ステップ３５０は、第１のユーザデータ、第１のアドレス、及び、書き込みコマンドをメモリ装置に入力することを含む。ステップ３５２は、第１のアドレスを用いて第１のデータを書き込むことを試行することを含む。ステップ３５４は、第２のデータ、第２のアドレス、及び、書き込みコマンドをメモリ装置に入力することを含む。決定ステップ３５６は、第１のデータの書き込み試行が成功したかどうかを決定する。書き込み試行が成功した場合、データ・キャッシュ・フローを続行するので、プロセスがステップ３７０で継続する。ステップ３５８は、第１のデータの書き込み試行が不成功であったことをホストに通知することを含む。
【００５７】
ステップ３６０は、再書き込みコマンド及び第３のアドレスを入力することを含む。ステップ３６２は、場合によっては、ページバッファ内にある第１のデータ（Ｘ）を変更するために置換バイトを送信することを含む。ステップ３６３は、書き込みコマンドを入力する。ステップ３６４は、第３のアドレスを用いて（場合によっては変更された）第１のデータを書き込むことを試行することを含む。なお、ホストは、データＹ’を供給するためにこの時点で第２のデータを変更することができる。ステップ３６２〜３６４は、ユーザが上記のことをすると選択した場合、省略することができる。ステップ３６６は、例えば、数バイトだけを変更することができる変更済み第２のデータと、第４のアドレスと、書き込みコマンドと、をメモリ装置に入力することを含む。ステップ３６８は、第１のデータの再書き込み試行が成功したことをホストに通知することを含む。ステップ３６６の後、ホストは、データＸ又はＸ（Ｘ’）の書き込みが完了するまで低状態（ビジー）に留まるレディ／ビジー信号を待つ。プロセスは、ステップ３７０で継続する。
【００５８】
図４ａは、メモリアレイからコピーされたページのデータをメモリアレイに書き込む際のホストとメモリ装置との間の通信のシーケンスを表す。このシーケンスは、メモリアレイから、場合によっては変更済みデータがコピーされ、メモリアレイにライトバックされることを可能にする。ページ・コピー・シーケンスの間に、失敗状態の後に、コマンド８Ｄｈ及び新ページアドレスと、再度書き込みコマンド（例えば、１０ｈ）とを続けることができる。結果として、同じページのデータを新しいページ場所に書き込む。
【００５９】
読み出しデータ入力コマンド（００ｈ）は、ｔ０でホストからメモリ装置に供給され、その後に、ｔ１において、アドレスＮが続けられ、ｔ２において、読み出しコマンド（３０ｈ）が続けられ、これに応じて、アドレスＮにあるデータＸが読み出される。ｔ２において、レディ／ビジー信号は、ビジー状態になり、アドレスＮにあるページのデータがページバッファにロードされ、その後、キャッシュにコピーされる。レディ／ビジー信号がレディ状態になる場合、ｔ３において、データＸがデータキャッシュからホストへ出力される。データＸは、トグルアウトされてもよい。
【００６０】
ホストは、データＸがメモリアレイにコピーされる／ライトバックされる前にデータＸを変更する選択肢をもっている。ホストは、ｔ４において、コピーデータ入力コマンド（８Ｃｈ）を供給し、その後に続けて、ｔ５でアドレスＭ、ｔ６で変更済みデータ、即ち、データＸ’を供給する。ｔ７において、書き込みコマンド（１０ｈ）に応じて、データＸ’をアドレスＭに書き込む試行が行われる。具体的には、ｔ７において、レディ／ビジー信号がビジー状態になり、データＸ’がデータキャッシュからページバッファにコピーされ、その後、メモリアレイ内のＭによって指定された物理的な場所に書き込まれる。ｔ８において、レディ／ビジー信号は上昇してレディ状態を示唆し、ホストがこの状態を見つけるためメモリ装置をポーリングする。メモリ装置は、例えば、ｔ９において、失敗状態メッセージを使ってデータＸ’のための書き込み状態に応答する。
【００６１】
失敗状態通信に応答して、ホストは、ｔ１０において、書き込みプロセスが失敗し、依然としてページバッファ内にあるデータを使って再書き込み試行が行われたこと、及び、この再書き込みを実行するアドレスが後に続くことをメモリ装置に知らせるコマンド（８Ｄｈ）を供給する。新アドレスＭ’は、ｔ１１でホストによって供給され、その後に続いて、ｔ１２で書き込みコマンド（１０ｈ）が供給される。この場合も同様に、メモリ装置は、ｔ１０でのコマンドが先行しているので、ｔ１２での書き込みコマンドがページバッファからの再書き込みとして解釈されることが分かる。場合によっては、ｔ１１．１で、データＸ’’と呼ばれるデータＸ’の変更済みデータが、既に検討されているように、ページバッファ内にあるデータＸ’の一部分を変更するためにホストによって通信される。このようにして、ページバッファ・データをメモリアレイに再書き込みする前に、所定の位置でページバッファ・データを変更することができる。アドレスＭ’は、データＸ’によって置換されるべきデータＸの一部分を特定するバイトと、メモリアレイ・アドレスＭ’を特定するバイトとを含むことができる。
【００６２】
ｔ１２において、レディ／ビジー信号は、ビジー状態になり、ページバッファ内のデータＸ’又はＸ’（Ｘ’’）は、メモリアレイ内のＭ’によって指定された物理的な場所への書き込みが成功する。ｔ１３において、レディ／ビジー信号が上昇してレディ状態を示唆し、これに応じて、アドレスＭ’へのデータＸ’又はＸ’（Ｘ’’）の試行された書き込みに関係する状態要求コマンドがホストによって供給される。成功状態メッセージは、ｔ１４でメモリ装置によってホストに供給される。
【００６３】
図４ｂ〜ｆは、図４ａのシーケンスに対応するデータキャッシュ、ページバッファ、及び、メモリアレイ内のデータの移動を表す。図４ｂでは、データＸは、ｔ２での読み出しコマンドに基づいて読み出される。データＸは、メモリアレイからページバッファ、及び、ページバッファからデータキャッシュへロードされる。図４ｃでは、ｔ３において、データＸは、ホスト１３６へ出力される。データＸのコピーは、ページバッファ１１１内に留まることができる。図４ｄでは、変更済みデータ、即ち、ｔ６において、データＸ’がデータキャッシュによって受信される。図４ｅでは、ｔ７において、書き込みコマンドに応じて、データＸ’がページバッファにコピーされ、このデータＸ’をアドレスＭでメモリアレイに書き込む試行が行われ、失敗する。図４ｆでは、ｔ１２において、書き込みコマンドに応じて、代替的なアドレスＭ’でメモリアレイへのデータＸ’の書き込みに成功する。場合によっては、指摘されているように、ホスト１３６は、データＸ’の一部分を置換し、変更済みデータＸ’（Ｘ’’）を提供するために、データＸ’’をページバッファ１１１へ直接的に供給することができ、このデータＸ’’がメモリアレイ１０２のアドレスＭ’に書き込まれる。
【００６４】
図４ｇは、図４ａのシーケンスに対応するプロセスを表す。ステップ４５０は、第１の読み出しアドレス及び読み出しコマンドをメモリ装置へ入力することを含む。ステップ４５２は、第１の読み出しアドレスで第１のデータを読み出し、このデータをホストに出力することを含む。ステップ４５４で、ホストは、場合によっては、第１のデータを変更する。ステップ４５６は、第１の書き込みアドレス、変更済みデータ、及び、書き込みコマンドをメモリ装置に入力することを含む。ステップ４５８は、第１の書き込みアドレスを用いて変更済みデータを書き込むことを試行することを含む。決定ステップ４６０で、試行された書き込みが成功した場合、プロセスがステップ４６８で終了する。
【００６５】
決定ステップ４６０で試行された書き込みが成功しなかった場合、ホストは、ステップ４６２で通知される。ステップ４６３は、再書き込みコマンド及び第２の書き込みアドレスを入力することを含む。ステップ４６４は、場合によっては、ページバッファ内にある変更済みデータ（Ｘ’）をさらに変更するために置換バイトを送信することを含む。ステップ４６５は、書き込みコマンドを入力する。ステップ４６６は、第２の書き込みアドレスを用いて（場合によってはさらに変更された）変更済みデータＸ’又はＸ’（Ｘ’’）を書き込むことを試行することを含む。プロセスは、ステップ４６８で終了する。
【００６６】
図５ａは、メモリアレイからコピーされたページのデータをメモリアレイに書き込み、その間に別のページのデータをデータキャッシュに受信する際のホストとメモリ装置との間の通信のシーケンスの第１部分を表す。このシーケンスは、データがメモリアレイからコピーされること、場合によっては、変更されること、そして、メモリアレイにライトバックされ、その間に、付加データをさらに受信することを可能にする。
【００６７】
データ・キャッシュ・シーケンスに関するページコピーでは、ページ書き込みが失敗した場合、キャッシュ書き込みの場合と同様に、データキャッシュ内のデータはページバッファにコピーされないであろう。この場合、ホストは、失敗したページを別のアドレスに書き込むため、又は、失敗したページを無視し、シーケンスを継続するためコマンド８Ｄｈを使用することができる。失敗したページを別のアドレスに書き込むため、ホストは、コマンド８Ｄｈを送信し、その後に続けて、新ページアドレス及びキャッシュ書き込みコマンド（例えば、１５ｈ）を送信する。失敗したページを無視するため、ホストは、そのまま次のステップに進み、キャッシュコピー・シーケンスを再開し、コマンド８Ｃｈと、その後に続く、後続のページのアドレス（変更許可済み）、及び、おそらくデータバイト変更と、その後に、後続ページのため意図されたキャッシュ書き込みコマンドとがメモリ装置に入力される。
【００６８】
ｔ０において、読み出しデータ入力コマンド（００ｈ）が、ホストからメモリ装置へ供給され、その後に続いて、ｔ１でアドレスＮ、及び、ｔ２で読み出しコマンド（３０ｈ）が供給され、これに応じて、アドレスＮでデータＸが読み出される。具体的には、ｔ２において、レディ／ビジー信号がビジー状態になり、データＸがページバッファにロードされ、その後、データキャッシュにコピーされる。データＸは、レディ／ビジー信号がレディ状態になる場合、ｔ３において、ホストに出力される。ホストは、データＸがメモリアレイにコピーされる／ライトバックされる前にデータＸを変更する選択肢をもっている。ｔ４において、ホストは、コピーデータ入力コマンド（８Ｃｈ）を供給し、その後に続いて、ｔ５でアドレスＭ、及び、ｔ６で変更済みデータ、即ち、データＸ’を供給する。ｔ７において、書き込みコマンド（１５ｈ）に応じて、アドレスＭでデータＸ’を書き込む試行が行われる。具体的には、レディ／ビジー信号がビジー状態になり、データＸ’がデータキャッシュからページバッファへコピーされ、その後に、メモリアレイ内の場所Ｍに書き込まれる。ｔ８において、レディ／ビジー信号が上昇してレディ状態を示唆し、ホストは、付加データＸ１のための別の読み出し動作を開始する。ページバッファ内のデータＸ’をアレイ内のアドレスＭに書き込む試行が行われる。
【００６９】
読み出すべき別のページのための読み出しデータ入力コマンド（００ｈ）は、ｔ８において、ホストからメモリ装置に供給され、その後に続いて、ｔ９でアドレスＮ１、及び、ｔ１０で読み出しコマンド（３Ａｈ）が供給され、これに応じて、レディ／ビジー信号がビジー状態になるので、アドレスＮ１にあるデータＸ１が読み出される。データＸ１は、直接的にデータキャッシュにロードされ、ｔ１１でホストへ出力されるので、データＸ’は、後続の再書き込み試行のためページバッファ内に留まることができる。さらなる情報については図６〜８を参照のこと。ホストは、データＸ１がメモリアレイにコピーされる／ライトバックされる前に、データＸ１を変更する選択肢をもっている。ｔ１２において、ホストは、コピーデータ入力コマンド（８Ｃｈ）を供給し、その後に続いて、ｔ１３で新アドレスＭ１、及び、ｔ１４で変更済みページのデータ、即ち、データＸ１’を供給する。アドレスＭ１でデータＸ１’を書き込むためのｔ１５での書き込みコマンド（１５ｈ）は、アドレスＭへの先行するデータＸ’の書き込み試行が未だ完了していないので、待つ必要がある。この書き込みコマンドは、ｔ２４でのアドレスＭ１’への書き込みコマンドによって後で入れ替えられる。
【００７０】
図５ｂは、図５ａのシーケンスの後に続く通信のシーケンスの第２部分を表す。ｔ１６において、レディ／ビジー信号は上昇してレディ状態を示唆し、これに応答して、ホストは、アドレスＭ書き込み試行でのデータＸ’の状態を見つけるためメモリ装置をポーリングする。メモリ装置は、例えば、ｔ１７において、ＭへのＸ’の書き込み失敗を特定する失敗状態メッセージに応答する。この書き込み失敗のため、データキャッシュからページバッファへのデータＸ１’のコピーはない。失敗状態通信に応答して、ホストは、ｔ１８において、書き込みプロセスが失敗し、かつ、依然としてページバッファ内にあるデータを使って再書き込み試行が行われるべきであること、及び、この再書き込みを実行するアドレスが後に続くことをメモリ装置に信号で知らせるコマンド（８Ｄｈ）を供給する。ｔ１９において、新アドレスＭ’がホストによって供給され、その後に続いて、ｔ２０において、書き込みコマンド（１５ｈ）が供給される。この場合も同様に、メモリ装置は、ｔ１８でのコマンドが先行するので、ｔ２０での書き込みコマンドがページバッファからの再書き込みとして解釈されることが分かる。ｔ２０において、レディ／ビジー信号はビジー状態になり、ページバッファ内のデータＸ’は、メモリアレイに書き込まれ始める。場合によっては、ｔ１９．１において、データＸ’’と称されるデータＸ’の変更済みデータは、検討されているように、ページバッファ内にあるデータＸ’の一部分を変更するために、ホストによって通信される。このようにして、ページバッファ・データをメモリアレイに再書き込みする前に、所定の場所でページバッファ・データを変更することができる。アドレスＭ’は、データＸ’’によって置換されるべきデータＸ’の一部分を特定するバイトと、メモリアレイ・アドレスＭ’を特定するバイトと、を含むことができる。
【００７１】
この時点で、変更済みデータＸ１’’は、元のメモリ装置へ供給される。ホストは、データＸ１’をデータＸ１’’に変更することができる。これは、リトライが開始され、そして、メモリの準備ができる直後に行われる。具体的には、ｔ２１において、コピーデータ入力コマンドが供給され、その後に続いて、ｔ２２で新アドレスＭ１’、ｔ２３でデータ１Ｘ’’、及び、ｔ２４で書き込みコマンドが供給される。ホストがデータＸ１’をＸ１’’に変化させることを意図しない場合、データサイクルは省略することができる。さらに、ユーザがアドレスＭ１を変化させることを意図しない場合、アドレスサイクルが依然として必要とされ、この場合、ホストはアドレスＭ１を再入力する。
【００７２】
データＸ１’’をアドレスＭ１’に書き込むｔ２４での書き込みコマンドは、データＸ’又はＸ’（Ｘ’’）の先行の書き込み試行が未だ完了していないので、待つことが必要である。Ｍ’へのデータＸ’又はＸ’（Ｘ’’）の書き込みは、状態要求コマンドがアドレスＭ’へのデータＸ’又はＸ’（Ｘ’’）の書き込み試行に関係するホストに供給された場合、ｔ２５までに無事に終了する。データＸ１’’は、データキャッシュからページバッファにコピーされる。ｔ２６において、成功状態メッセージがメモリ装置によってホストに供給され、シーケンスが継続する。
【００７３】
なお、ｔ１８での再書き込みコマンドは、ホストがｔ１７で失敗通知を無視することを選択した場合、省略することができる。この場合、コピー（データキャッシュからページバッファへの転送）は、コマンド１５ｈがｔ２０で発行された後に行うことができる。
【００７４】
図５ｃ〜ｌは、図５ａ及び５ｂのシーケンスに対応するデータキャッシュ、ページバッファ、及び、メモリアレイ内のデータの移動を表す。図５ｃでは、アドレスＮからのデータＸの読み出しは、ｔ２において、データがページバッファ１１１内にロードされ、データキャッシュ１１３にコピーされることを含む。図５ｄでは、変更済みデータ、即ち、データＸ’が、ｔ６において、ホスト１３６からデータキャッシュに受信される。図５ｅでは、ｔ７において、書き込みコマンドに基づいて、データＸ’がページキャッシュ１１３からページバッファ１１１に供給され、データＸを無効にする。図５ｆでは、同様に、ｔ７において、書き込みコマンドに基づいて、ページバッファ１１１からメモリアレイへのアドレスＭでの書き込みが試行され、失敗する。図５ｇでは、ｔ８において、読み出しコマンドに基づいて、データＸ１がアドレスＮ１でメモリアレイからデータキャッシュ１１３へ直接的に読み出されるので、データＸ’が後続の再書き込み試行のためページバッファ内に留まる。図５ｈでは、データＸ１がデータキャッシュから出力される。
【００７５】
図５ｉでは、ｔ１４において、変更済みデータＸ１’がデータキャッシュ１１３に受信される。図５ｊでは、データＸ１’がデータキャッシュ内にあり、データＸ’がページバッファ内にある。図５ｋでは、ｔ２０で書き込みコマンドに基づいて、書き込み試行がアドレスＭ’のデータＸ’のため行われる。場合によっては、指摘されているように、ホスト１３６は、データＸ’の一部分を置換し、変更済みデータＸ’（Ｘ’’）を提供するために、データＸ’’をページバッファ１１１へ直接的に供給することができ、変更済みデータがメモリアレイ１０２のアドレスＭ’に書き込まれる。図５ｌでは、ｔ２３において、データＸ’又はＸ’（Ｘ’’）の再書き込みと並行して、付加データＸ１’’がデータキャッシュで受信される。このようにして、本発明者らは、データが、データＸ及びデータＸ１の形式で、メモリアレイから読み出され、変更され、元のメモリアレイ内に記憶される少なくとも部分的に重なり合う動作を存在させることができる。
【００７６】
図５ｍは、図５ａ及び５ｂのシーケンスに対応するプロセスを表す。ステップ５５０は、第１の読み出しアドレス及び読み出しコマンドをメモリ装置に入力することを含む。ステップ５５２は、第１の読み出しアドレスで第１のデータを読み出すことと、第１のデータをホストへ出力することとを含む。ステップ５５４では、ホストは、場合によっては、第１のデータを変更してＸ’を提供する。ステップ５５６は、第１の書き込みアドレス、第１の変更済みデータ、及び、書き込みコマンドをメモリ装置へ入力することを含む。ステップ５５８は、第１の書き込みアドレスにおいて、第１の変更済みデータを書き込むことを試行することを含む。ステップ５６０は、第２の読み出しアドレス及び読み出しコマンドをメモリ装置へ入力することを含む。ステップ５６２は、第２の読み出しアドレスにおいて、第２のデータを読み出すこと、及び、第２のデータをホストへ出力することを含む。ステップ５６４では、ホストは、場合によっては、第２のデータを変更する。ステップ５６６は、第２の書き込みアドレス、第２の変更済みデータ、及び、書き込みコマンドをメモリ装置へ入力することを含む。ステップ５６８は、第１の変更済みデータを第１の書き込みアドレスに書き込む試行が失敗したことをホストに通知することを含む。ステップ５６９は、再書き込みコマンドと後に続く第３の書き込みアドレスとを入力することを含む。ステップ５７０は、場合によっては、ページバッファ内にある第１の変更済みデータ（Ｘ’）をさらに変更するために置換バイトを送信することを含む。ステップ５７１は、書き込みコマンドを入力する。ステップ５７２は、（場合によってはさらに変更される）第１の変更済みデータを第３の書き込みアドレスで書き込むことを試行することを含む。ステップ５７４で、ホストは、場合によっては、Ｘ１’を供給するために第２のデータをさらに変更する。ステップ５７６は、第４の書き込みアドレスと、さらなる変更済みの第２のデータと、書き込みコマンドとをメモリ装置に入力することを含む。ステップ５７８で、第３の書き込みアドレスへの第１の変更済みデータの書き込み試行が成功し、ステップ５８０で、ホストはこれに応じて通知される。
【００７７】
前述の検討が示唆するように、ページ書き込みが失敗した後にコマンド８Ｄｈが使用される。この特徴を使用するため、ホストは、ページが書き込まれる毎に、書き込まれた状態をチェックする。ページの書き込みがキャッシュ動作の間に失敗した場合、データキャッシュからページバッファへのコピーが停止される。ホストは、その後、（ａ）データをデータバッファ内で再マッピングするためにコマンド８Ｄｈシーケンス（８Ｄｈ→新アドレス→（任意的な）新データ→（キャッシュ）書き込みコマンド）を使用するか、又は、（ｂ）再マッピングを省略し、何も実行しないことが可能である。いずれの場合でも、ホストは、以下の通り継続することができる。第一に、単一ページモードでは、（ａ）が選択された場合、再びレディ状態になるためレディ／ビジー信号を待つ。第二に、キャッシュモードでは、後続のページのためのコマンドシーケンス（８０ｈ−アドレス−データ−書き込みコマンド）は、キャッシュフローを再開するため繰り返される。この場合、アドレス及びデータは、元のフローから変更されることが可能である。その後、レディ／ビジー信号が再びレディ状態になるのを待つ。このステップの後、ホストは、（ａ）が選択された場合、状態をチェックすべきである。状態が別の失敗である場合、ホストは、前述のフロート同様に、コマンド８Ｄｈを再度使用することにより別のページ場所を選択すること、又は、再マッピングを省略することを選ぶことができる。リトライ限界（許容される再マッピングの最大回数）は、無限ループを回避するため使用できる。
【００７８】
図６は、メモリアレイ又はホストから直接的にデータを受信するためデータキャッシュ６２０が接続されている回路６００を表す。データは、「データ出力」経路を介して適切な回路を使用するだけでなく、データキャッシュからメモリアレイ又はホストへ出力することができる。既に指摘されたように、データは、ページバッファを迂回して、メモリアレイから直接的にデータキャッシュにロードし、ホストへ出力するができるので、他のデータが後続の再書き込み試行のためページバッファ内に留まることができる。このことは、データキャッシュを迂回し、ページバッファに直接的にアクセスすることにより、ホストがページバッファ内に位置している失敗したページを変更することをさらに可能にする。これは、前に検討されているように、コマンド８Ｄｈ、及び、後に続けられる（例えば、置換されるべき開始バイトのバイトアドレスを提供することによって）置換バイトを使ってページバッファ内で変更すべきデータバイトを示唆するアドレスと、変更済みのページバッファ・データを書き込むメモリアレイ・アドレス、及び、後に続けられる置換データビットとを用いて実現することができる。
【００７９】
一般に、本明細書に提示された回路を使って、データキャッシュは、ページバッファを迂回して、メモリアレイ又はホストへ直接的に接続することができ、そして、ページバッファは、データキャッシュを迂回して、メモリアレイ又はホストへ直接的に接続することができる。提示された実施は、様々な可能性のうちの１つの可能性である。
【００８０】
回路の左半分はメモリアレイとインターフェイスを取り、回路の右半分はホスト／ユーザとインターフェイスを取る。回路は、データキャッシュ６２０と、ＡＮＤゲート６０８、６１０、６３２及び６３４と、インバータ６０６及び６４０と、ｎＭＯＳトランジスタ６１３、６２３、６３３及び６４３と、トライ・ステート・バッファ６１２、６１４、６２６及び６３０とを含む。入力信号ＩＮは、トランジスタ６１３のゲートにおいて、線６１８と通信するバッファ６１２の出力に供給される。反転信号ＸＩＮは、線６２７と通信する線６３１上で、トランジスタ６２３のゲートにおいて、バッファ６１４及び６３０の出力に供給される。トランジスタ６３３及び６４３は、線６２９上で、これらのトランジスタのゲートにおいて信号ＥＮＢ５を受信し、それぞれ、トランジスタ６１３及び６２３に接続されている。イネーブル信号は、１つ以上の制御回路によって供給される。
【００８１】
トライ・ステート・バッファは、回路からバッファを効率的に取り除く高インピーダンス又はフローティング状態に加えて、従来型の０レベル及び１レベルを取ることができる出力ポートを有している。線６１６上のイネーブル信号ＥＮＢ１がバッファ６１２及び６１４を制御し、線６２８上のイネーブル信号ＥＮＢ２がバッファ６２６及び６３０を制御する。さらに、メモリアレイ側で、制御信号Ｃが線６０２に供給され、メモリアレイからのデータ、即ちデータ１が線６０４上に供給される。ホスト側で、制御信号Ｃが線６３６に供給され、ユーザからのデータ、即ちデータ２が線６３８上に供給される。線６１８は、バッファ６２６の出力をトランジスタ６１３のゲートに接続する。線６２２上のデータＸＱは、線６２４上のデータＱの反転である。データキャッシュ６２０と、トランジスタ６１３及び６２３とがラッチを形成する。
【００８２】
メモリアレイからデータキャッシュにデータを書き込むため、本発明者らは、Ｃ＝１、ＥＮＢ１＝１、ＥＮＢ２＝０及びＥＮＢ５＝１をセットする。Ｃ＝１をセットすると、ＡＮＤゲート６０８がデータ１をバッファ６１２内に通すようになり、ＥＮＢ１＝１をセットすると、バッファ６１２がデータ１を通すようになり、ＥＮＢ２＝０をセットすると、バッファ６２６がフロートする。ＥＮＢ５＝１をセットすると、データをデータキャッシュ６２０内に書き込むことができるようになる。
【００８３】
ホストからデータキャッシュにデータを書き込むため、本発明者らが、Ｃ＝１をセットすると、ＡＮＤゲート６３２がデータ２をバッファ６２６へ渡すようになり、ＥＮＢ１＝０をセットすると、バッファ６１２がフロートし、ＥＮＢ２＝１をセットすると、バッファ６２６がデータ２を通すようになる。同様に、前述の通り、ＥＮＢ５＝１である。
【００８４】
データキャッシュは、ページバッファに書き込む場合、ＥＮＢ１＝０、ＥＮＢ２＝０、及び、ＥＮＢ５＝０をセットすることにより、停止させることができる。ＥＮＢ５＝０をセットすることは、トランジスタ６１３及び６２３へのフローティング入力がデータキャッシュ内のデータを改ざんすることを阻止する。
【００８５】
図７は、ページバッファ７２０がメモリアレイ又はホストから直接的にデータを受信するため接続されている回路７００を表す。データは、同様に「データ出力」経路を介して適切な回路を用いて、ページバッファからメモリアレイ又はホストへ出力することができる。コンポーネント７０２、７０４、７０６、７０８、７１０、７１２、７１３、７１４、７１６、７１８、７２２、７２３、７２４、７２６、７２７、７２８、７２９、７３０、７３１、７３２、７３３、７３４、７３６、７３８、７４０及び７４３は、図６において、それぞれ、コンポーネント６０２、６０４、６０６、６０８、６１０、６１２、６１３、６１４、６１６、６１８、６２２、６２３、６２４、６２６、６２７、６２８、６２９、６３０、６３１、６３２、６３３、６３４、６３６、６３８、６４０及び６４３に対応する。付加的に、イネーブル信号ＥＮＢ３及びＥＮＢ４は、１つ以上の制御回路によって、それぞれ、バッファ７１２／７１４及び７２６／７３０に供給され、ＥＮＢ６は、ライン７２９上に供給される。ページバッファ７２０とトランジスタ７１３及び７２３とがラッチを形成する。
【００８６】
メモリアレイからページバッファにデータを書き込むため、本発明者らが、Ｄ＝１をセットすると、ＡＮＤゲート７０８がデータ１をバッファ７１２へ渡すようになり、ＥＮＢ３＝１をセットすると、バッファ７１２がデータ１を通すようになり、ＥＮＢ４＝０をセットすると、バッファ７２６がフロートする。さらに、ＥＮＢ６＝１をセットすると、データをページバッファ７２０に書き込むことができるようになる。
【００８７】
ホストからページバッファにデータを書き込むため、本発明者らが、Ｄ＝１をセットすると、ＡＮＤゲート７３２がデータ２をバッファ７２６へ渡すようになり、ＥＮＢ３＝０をセットすると、バッファ７１２がフロートし、ＥＮＢ４＝１をセットすると、バッファ７２６がデータ２を通すことができるようになる。同様に、前述の通り、ＥＮＢ６＝１である。
【００８８】
ページバッファは、データキャッシュに書き込む場合、ＥＮＢ３＝０、ＥＮＢ４＝０、及び、ＥＮＢ６＝０をセットすることにより、停止させることができる。ＥＮＢ６＝０をセットすることは、トランジスタ７１３及び７２３へのフローティング入力がページバッファ内のデータを改竄することを阻止する。
【００８９】
図８は、図６及び７の回路によって提供される機能を表す。ページバッファ１１１とホスト１３６とは、データを直接的に交換することができ、一方、ページバッファ１１１は、メモリアレイとさらに直接的に通信する。ページバッファとデータキャッシュ１１３とは、さらに通信することができる。さらにデータキャッシュ１１３とメモリアレイ１０２とは、データを直接的に交換することができ、一方、データキャッシュ１１３は、ホスト１３６とさらに通信する。指摘されたように、これは、独立にデータキャッシュ及びページバッファにデータを書き込み、又は、データキャッシュ及びページバッファからデータを読み出す能力を可能にする。
【００９０】
発明の前述の詳細な説明は、例示及び解説の目的のため提示されている。網羅的であること、及び、発明を開示された形式そのままに限定することは意図されていない。多数の変更及び変形が前述の開示を考慮して可能である。記載された実施形態は、発明の原理及び発明の実際的な用途を最良に説明し、それによって、当業者が様々な実施形態で、かつ、検討された特有の使用に適しているような様々な変形と共に発明を最良に利用できるようにするため選ばれた。発明の範囲は、添付の特許請求の範囲によって規定されることが意図されている。
【図１】
0005547741.tif 000002
【図２ａ】
0005547741.tif 000003
【図２ｂ】
0005547741.tif 000004
【図２ｃ】
0005547741.tif 000005
【図２ｄ】
0005547741.tif 000006
【図２ｅ】
0005547741.tif 000007
【図２ｆ】
0005547741.tif 000008
【図３ａ】
0005547741.tif 000009
【図３ｂ】
0005547741.tif 000010
【図３ｃ】
0005547741.tif 000011
【図３ｄ】
0005547741.tif 000012
【図３ｅ】
0005547741.tif 000013
【図３ｆ】
0005547741.tif 000014
【図３ｇ】
0005547741.tif 000015
【図３ｈ】
0005547741.tif 000016
【図３ｉ】
0005547741.tif 000017
【図４ａ】
0005547741.tif 000018
【図４ｂ】
0005547741.tif 000019
【図４ｃ】
0005547741.tif 000020
【図４ｄ】
0005547741.tif 000021
【図４ｅ】
0005547741.tif 000022
【図４ｆ】
0005547741.tif 000023
【図４ｇ】
0005547741.tif 000024
【図５ａ】
0005547741.tif 000025
【図５ｂ】
0005547741.tif 000026
【図５ｃ】
0005547741.tif 000027
【図５ｄ】
0005547741.tif 000028
【図５ｅ】
0005547741.tif 000029
【図５ｆ】
0005547741.tif 000030
【図５ｇ】
0005547741.tif 000031
【図５ｈ】
0005547741.tif 000032
【図５ｉ】
0005547741.tif 000033
【図５ｊ】
0005547741.tif 000034
【図５ｋ】
0005547741.tif 000035
【図５ｌ】
0005547741.tif 000036
【図５ｍ】
0005547741.tif 000037
【図６】
0005547741.tif 000038
【図７】
0005547741.tif 000039
【図８】
0005547741.tif 000040