(57)【要約】【課題】メモリシステムのコピーバック最適化を提供する。【解決手段】不揮発性メモリサブシステムのためのコピーバック又は読み取りオペレーションにおいて、不揮発性メモリ内のレジスタと不揮発性メモリの外部のコントローラとの間のデータページの転送を管理するために、データページ変化インジケータが使用される。【選択図】図１Ａ
2011520188.tif 000002
【特許請求の範囲】
【請求項１】
メモリサブシステムの不揮発性メモリからデータページを得るステップと、
データページが変化したかどうか決定するステップと、
データページが変化した場合には、データページを処理のためにコントローラへ送信するステップと、
データページが不変である場合には、データページに関連したメタデータを処理のためにコントローラへ送信するステップと、
を備えた方法。
【請求項２】
データページが変化したかどうか決定する前記ステップは、データページに対するデータ変化インジケータを読み取ることを更に含む、請求項１に記載の方法。
【請求項３】
前記データ変化インジケータは、エラー検出コードに関連している、請求項２に記載の方法。
【請求項４】
データページが変化したかどうか決定する前記ステップは、
データページに対するデータ変化インジケータを計算し、
データページが変化したかどうかをそのデータ変化インジケータに基づいて決定する、
ことを更に含む請求項１に記載の方法。
【請求項５】
コントローラに結合するようにされるインターフェイスと、
不揮発性メモリと、
前記不揮発性メモリ及びインターフェイスに結合されたプロセッサであって、
不揮発性メモリからデータページを得、
データページが変化したかどうか決定し、
データページが変化した場合には、インターフェイスを経てデータページを処理のためにコントローラへ送信し、
データページが不変である場合には、インターフェイスを経てデータページに関連したメタデータを処理のためにコントローラへ送信する、
ように動作できるプロセッサと、
を備えたシステム。
【請求項６】
データページが変化したかどうか決定することは、データページに対するデータ変化インジケータを読み取ることを更に含む、請求項５に記載のシステム。
【請求項７】
前記データ変化インジケータは、エラー検出コードに関連している、請求項６に記載のシステム。
【請求項８】
データページが変化したかどうか決定することは、
データページに対するデータ変化インジケータを計算し、
データページが変化したかどうかをそのデータ変化インジケータに基づいて決定する、
ことを更に含む請求項５に記載のシステム。
【請求項９】
コントローラに結合されたメモリサブシステムの不揮発性メモリからデータページ及びそれに関連したメタデータを得るステップと、
メモリサブシステムのレジスタにデータページを記憶するステップと、
前記データページ及びそれに関連したメタデータを前記レジスタから処理のために前記コントローラへ送信するステップと、
処理されたデータページ及びそれに関連したメタデータを前記コントローラから受信するステップと、
前記処理されたデータページが変化したかどうか決定するステップと、
前記処理されたデータページが変化した場合には、前記処理されたデータページ及びそれに関連したメタデータを前記メモリサブシステムのレジスタへ書き込むステップと、
前記処理されたデータページが変化しない場合には、前記関連メタデータを前記メモリサブシステムのレジスタへ書き込むステップと、
前記レジスタのコンテンツを前記不揮発性メモリへ書き込むステップと、
を備えた方法。
【請求項１０】
処理されたデータページが変化したかどうか決定する前記ステップは、その処理されたデータページに対するデータ変化インジケータを読み取ることを更に含む、請求項９に記載の方法。
【請求項１１】
前記データ変化インジケータは、エラー検出コードに関連している、請求項１０に記載の方法。
【請求項１２】
処理されたデータページが変化したかどうか決定する前記ステップは、
処理されたデータページに対するデータ変化インジケータを計算し、
処理されたデータページが変化したかどうかをそのデータ変化インジケータに基づいて決定する、
ことを更に含む請求項９に記載の方法。
【請求項１３】
コントローラに結合するようにされるインターフェイスと、
不揮発性メモリと、
前記不揮発性メモリ及びインターフェイスに結合されたプロセッサであって、
コントローラに結合されたメモリサブシステムの不揮発性メモリからデータページ及びその関連メタデータを得、
メモリシステムのレジスタにデータページを記憶し、
データページ及びそれに関連したメタデータを前記レジスタから前記インターフェイスを経て処理のために前記コントローラへ送信し、
処理されたデータページ及びそれに関連したメタデータを前記コントローラから前記インターフェイスを経て受信し、
処理されたデータページが変化したかどうか決定し、
処理されたデータページが変化した場合には、処理されたデータページ及びそれに関連したメタデータを前記メモリサブシステムのレジスタへ転送し、
処理されたデータページが変化しない場合には、処理されたメタデータを前記メモリサブシステムのレジスタへ転送し、
前記レジスタのコンテンツを前記不揮発性メモリへ書き込む、
ように動作できるプロセッサと、
を備えたシステム。
【請求項１４】
処理されたデータページが変化したかどうか決定することは、処理されたデータページに対するデータ変化インジケータを読み取ることを更に含む、請求項１３に記載のシステム。
【請求項１５】
前記データ変化インジケータは、エラー検出コードに関連している、請求項１４に記載のシステム。
【請求項１６】
処理されたデータページが変化したかどうか決定することは、
処理されたデータページに対するデータ変化インジケータを計算し、
処理されたデータページが変化したかどうかをそのデータ変化インジケータに基づいて決定する、
ことを更に含む請求項１３に記載のシステム。
【請求項１７】
メモリサブシステムの不揮発性メモリからデータページを得る手段と、
データページが変化したかどうか決定する手段と、
データページが変化した場合には、データページを処理のためにコントローラへ送信する手段と、
データページが不変である場合には、データページに関連したメタデータを処理のためにコントローラへ送信する手段と、
を備えたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、メモリシステムに係る。
【背景技術】
【０００２】
フラッシュメモリは、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）の一形式である。フラッシュメモリは、不揮発性で且つ比較的高密度であるために、ハンドヘルドコンピュータ、移動電話、デジタルカメラ、ポータブル音楽プレーヤ、及び他の記憶解決策（例えば、磁気ディスク）が適当でない他の多くの装置において、ファイル及び他の持続的オブジェクトを記憶するのに使用される。フラッシュメモリに記憶されたデータを処理するときには、データページがフラッシュメモリから読み出されて、レジスタに記憶される。レジスタのコンテンツは、不揮発性メモリの外部にあるコントローラへ処理のために転送される。処理されたデータページは、レジスタへ戻され、それをフラッシュメモリへ書き戻すことができる。
【発明の概要】
【０００３】
不揮発性メモリサブシステムのためのコピーバック又は読み取りオペレーションでは、不揮発性メモリ内のレジスタと不揮発性メモリの外部のコントローラとの間のデータページの転送を管理するためにデータページ変化インジケータが使用される。
【図面の簡単な説明】
【０００４】
【図１Ａ】最適化コピーバックプロセスを実施するための規範的メモリシステムのブロック図である。
【図１Ｂ】最適化コピーバックプロセスを実施するための別の規範的メモリシステムのブロック図である。
【図２】図１Ａ及び１Ｂのメモリシステムにより使用されるデータ変化インジケータを計算し、記憶するための規範的な最適化コピーバックプロセス２００のフローチャートである。
【図３Ａ】図１Ａ及び１Ｂのメモリシステムにより実施される規範的な最適化コピーバックプロセスのフローチャートである。
【図３Ｂ】図１Ａ及び１Ｂのメモリシステムにより実施される規範的な最適化コピーバックプロセスのフローチャートである。
【図３Ｃ】図１Ａ及び１Ｂのメモリシステムにより実施される規範的な最適化コピーバックプロセスのフローチャートである。
【図４】図１Ａ及び１Ｂのメモリシステムにより実施される規範的な最適化読み取りオペレーションのフローチャートである。
【図５】図３Ａ−３Ｃのコピーバックプロセスにより使用される規範的なデータ構造を示す。
【発明を実施するための形態】
【０００５】
メモリサブシステムの例
図１Ａは、最適化コピーバックプロセスを実施するための規範的メモリシステム１００のブロック図である。ある実施形態において、このシステム１００は、外部バス１２２（例えば、オープンＮＡＮＤフラッシュインターフェイス（ＯＮＦＩ）、ＡＴＡ）を経てホスト装置１２４に結合されたメモリサブシステム１０２を備えることができる。ホスト装置１２４は、スマートホン、メディアプレーヤ、テキストメッセージング装置、ポータブルコンピュータ、ソリッドステートドライブ、デジタルカメラ、等を含む電子装置であるが、これに限定されない。メモリサブシステム１０２は、不揮発性メモリサブシステム（例えば、管理型ＮＡＮＤ）である。
【０００６】
ホスト装置１２４は、システムオンチップ（ＳｏＣ）１２６及び揮発性メモリ１２８を備えることができる。ＳｏＣ１２６は、ホスト装置１２４で実行されるアプリケーションによりなされる読み取り及び書き込み要求を送信する等の、メモリサブシステム１０２と対話するためのハードウェア及びソフトウェアを含むことができる。
【０００７】
メモリサブシステム１０２は、不揮発性メモリ１０４（「生のメモリ」とも称される）及び外部コントローラ１１６を備えることができる。メモリ１０４は、メモリセルアレイ１０６、内部状態マシン１０８、メモリレジスタ１１０及びデータ変化インジケータ（ＤＣＩ）１３０を含むことができる。コントローラ１１６は、プロセッサ１１８、揮発性メモリ１１４、及びエラー修正コード（ＥＣＣ）エンジン１２０を含むことができる。メモリサブシステム１０２のための他の構成も考えられる。例えば、内部状態マシンが、内部バス１１２を経てコントローラ１１６へ現在ページを転送しながら、メモリセルアレイ１０６から次のデータページを読み取りできるようにするために、メモリセルアレイ１０６とメモリレジスタ１１０との間のデータ経路にキャッシュレジスタを含ませることができる。
【０００８】
図１Ｂは、最適化コピーバックプロセスを実施するための別の規範的メモリシステム１３０のブロック図である。このシステム１３０は、メモリサブシステム１０２しか示しておらず、そのオペレーションは、図１Ａを参照して説明した。
【０００９】
コピーバックオペレーション
コピーバックは、あるページから別のページへデータを移動するためのメモリサブシステムコマンドである。コピーバックは、摩耗平滑化(wear leveling)及び他の不揮発性メモリ管理オペレーションに使用することができる。典型的なコピーバックオペレーションでは、データページが内部状態マシンによりメモリセルアレイ１０６から読み取られて、メモリレジスタ１１０に記憶される。外部コントローラ１１６は、メモリレジスタ１１０からデータページを読み取り又はクロックし、プロセッサ１１８がそのデータページに対して希望のオペレーション（例えば、ＥＣＣオペレーション）を遂行できるようにする。処理されたデータページは、コントローラ１１６によってメモリレジスタ１１０へ書き戻すことができる。内部状態マシン１０８は、メモリレジスタ１１０のコンテンツをメモリセルアレイ１０６の新たなデータページへ書き込むことができる。レジスタ１１０の全コンテンツが外部コントローラ１１６へ転送されるのを回避することにより、処理時間及び電力消費を減少することができる。
【００１０】
新たなデータページを書き込むための規範的プロセス
図２は、図１Ａ及び１Ｂのメモリシステムにより使用されるデータ変化インジケータを計算し、記憶するための規範的な最適化コピーバックプロセス２００のフローチャートである。ある実施形態において、プロセス２００は、新たなデータページがメモリサブシステムのメモリレジスタへ転送されたときに開始する（２０２）。データページに対してＤＣＩを計算し、メモリサブシステムに記憶することができる（２０４）。データ変化インジケータの幾つかの例は、チェック和、ハミングコード、パリティビット、繰り返し冗長チェック（ＣＲＣ）、極性記号反転、ターボコード、等であるエラー検出コード（ＥＤＣ）を含むが、これに限定されない。又、ＥＤＣは、ＥＣＣの一部分、例えば、リード・ソロモンコード、リード・ミューラコード、バイナリー・ゴレイコード、及び低密度パリティチェックコードである。ＤＣＩが計算されて記憶された後、レジスタコンテンツを不揮発性メモリへ書き込むことができる（２０６）。ＤＣＩは、図３Ａ−３Ｃを参照して述べる最適化コピーバックプロセスに使用することができる。
【００１１】
規範的な最適化コピーバックプロセス
図３Ａ−３Ｃは、図１Ａ及び１Ｂのメモリシステムにより実施される規範的な最適化コピーバックプロセス３００のフローチャートである。ある実施形態において、このプロセス３００は、不揮発性メモリ（例えば、メモリセルアレイ１０６）からデータページを読み取りそしてそのデータページをメモリレジスタ（例えば、レジスタ１１０）に記憶することにより開始する（３０２）。ＤＣＩ（例えば、ＤＣＩ１３０）は、メモリレジスタ内のデータページに対して検証することができる（３０４）。ある実施形態において、データページが最初に不揮発性メモリに書き込まれるときに、ＤＣＩを予め計算してメモリサブシステムに記憶することができる（例えば、プロセス２００を使用して）。他の実施形態において、ＤＣＩは、読み取りオペレーションの一部分として又は個別のオペレーションとして「オンザフライ」で計算することができる。メモリサブシステムは、読み取りオペレーションが完了したことを外部コントローラ（例えば、外部コントローラ１１６）に報告することができる（３０６）。
【００１２】
レジスタ内のデータページに対するＤＣＩが、データページが変化したことを指示する場合には（３０８）、データページを外部コントローラへ転送することができ（３１０）、データページに対してＥＣＣを計算することができ（３１２）、そしてデータページに対するＥＣＣ情報を外部コントローラにおいて修正することができる（３１４）。データページ及びそれに関連したＥＣＣは、メモリレジスタへ返送することができる（３１６）。メモリレジスタにおけるデータページに対して新たなＤＣＩを計算することができる（３１８）。
【００１３】
レジスタ内のデータページに対するＤＣＩが、データページが変化しないことを指示する場合には（３０８）、データページに関連した新たなメタデータに対するＥＣＣを計算することができる（３２０）。新たなメタデータ及びそれに関連するＥＣＣは、メモリレジスタへ転送することができる（３２２）。メモリレジスタ内のメタデータに対して新たなＤＣＩを計算することができる（３２４）。メモリレジスタのコンテンツは、不揮発性メモリ内の新たなデータページへ書き込むことができる（３２６）。
【００１４】
最適化読み取りオペレーション
図４は、図１Ａ及び１Ｂのメモリシステムにより実施される規範的な最適化読み取りオペレーションのフローチャートである。ある実施形態において、プロセス４００は、不揮発性メモリからデータページを読み取りそしてそのデータページをメモリレジスタに記憶することによって開始する（４０２）。データページに関連した予め計算されたＤＣＩは、メモリサブシステムの記憶位置からメモリレジスタへクロックされ、そして検証される（４０４）。又、ＤＣＩは、「オンザフライ」で計算することもできる。ＤＣＩの状態を読み取って、データページが変化したかどうか決定することができる（４０６）。
【００１５】
データページが変化した場合には（４０８）、データページに関連した新たなメタデータに対するＥＣＣを計算して、新たなメタデータと一緒に、メモリレジスタへ転送することができる（４１２）。メモリレジスタ内のメタデータに対して新たなＤＣＩを計算し、そしてレジスタのコンテンツを不揮発性メモリ内の新たなデータページに書き込むことができる（４１４）。
【００１６】
データページが変化しない場合には（４０８）、メモリレジスタのコンテンツを外部コントローラへ転送することができ、外部コントローラによってＥＣＣを計算することができる（４１０）。データページに関連した新たなメタデータに対するＥＣＣを、外部コントローラにより計算して、新たなメタデータと共に、メモリレジスタへ転送することができる（４１２）。メモリレジスタ内のメタデータに対して新たなＤＣＩを計算し、そしてレジスタのコンテンツを不揮発性メモリ内の新たなデータページに書き込むことができる（４１４）。
【００１７】
規範的データ構造
図５は、図３Ａ−３Ｃのコピーバックプロセスにより使用される規範的なデータ構造を示す。図示された例では、不揮発性メモリ内のデータページ５００は、メタデータ５０２、メタデータＥＣＣ５０４、データ５０６及びデータＥＣＣ５０８を含む。データが変化しない場合には、メタデータ５０２及びメタデータＥＣＣ５０４のみがレジスタから外部コントローラ５１０へ処理のために転送される。処理されたメタデータ５０２及びメタデータＥＣＣ５０４は、メモリサブシステムへ転送されて戻され、メモリレジスタに記憶される。データページは、不揮発性メモリ（例えば、メモリセルアレイ）内の新たなデータページに書き込むことができる。
【００１８】
以上、幾つかの実施形態を説明した。しかしながら、種々の変更がなされ得ることが理解されよう。例えば、１つ以上の実施形態の要素を結合し、削除し、変更し、又は補足して、更に別の実施形態を形成することができる。更に別の例として、図示された論理的フローは、希望の結果を達成するのに、図示された特定の順序又は逐次の順序を必要としない。更に、他のステップを設けることもできるし、上述したフローからステップを削除することもできるし、上述したシステムに他のコンポーネントを追加したり又は除去したりすることもできる。従って、他の実施形態は、特許請求の範囲内に包含される。
【符号の説明】
【００１９】
１００：メモリシステム
１０２：メモリサブシステム
１０４：不揮発性メモリ
１０６：メモリセルアレイ
１０８：内部状態マシン
１１０：メモリレジスタ
１１４：揮発性メモリ
１１６：外部コントローラ
１１８：プロセッサ
１２０：エラー修正コード（ＥＣＣ）エンジン
１２２：外部バス
１２４：ホスト装置
１２６：システムオンチップ（ＳｏＣ）
１２８：不揮発性メモリ
１３０：データ変化インジケータ（ＤＣＩ）
【図１Ａ】
2011520188.tif 000003
【図１Ｂ】
2011520188.tif 000004
【図２】
2011520188.tif 000005
【図３Ａ】
2011520188.tif 000006
【図３Ｂ】
2011520188.tif 000007
【図３Ｃ】
2011520188.tif 000008
【図４】
2011520188.tif 000009
【図５】
2011520188.tif 000010
【手続補正書】
【提出日】平成22年12月20日(2010.12.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コントローラに結合されたメモリサブシステムの不揮発性メモリからデータページ及びそれに関連したメタデータを得るステップと、
メモリサブシステムのレジスタにデータページを記憶するステップと、
前記データページ及びそれに関連したメタデータを前記レジスタから処理のために前記コントローラへ送信するステップと、
処理されたデータページ及びそれに関連したメタデータを前記コントローラから受信するステップと、
前記処理されたデータページが変化したかどうか決定するステップと、
前記処理されたデータページが変化した場合には、前記処理されたデータページ及びそれに関連したメタデータを前記メモリサブシステムのレジスタへ書き込むステップと、
前記処理されたデータページが変化しない場合には、前記関連メタデータを前記メモリサブシステムのレジスタへ書き込むステップと、
前記レジスタのコンテンツを前記不揮発性メモリへ書き込むステップと、
を備えた方法。
【請求項２】
処理されたデータページが変化したかどうか決定する前記ステップは、その処理されたデータページに対するデータ変化インジケータを読み取ることを更に含む、請求項１に記載の方法。
【請求項３】
前記データ変化インジケータは、エラー検出コードに関連している、請求項２に記載の方法。
【請求項４】
処理されたデータページが変化したかどうか決定する前記ステップは、
処理されたデータページに対するデータ変化インジケータを計算し、
処理されたデータページが変化したかどうかをそのデータ変化インジケータに基づいて決定する、
ことを更に含む請求項１に記載の方法。
【請求項５】
コントローラに結合するようにされるインターフェイスと、
不揮発性メモリと、
前記不揮発性メモリ及びインターフェイスに結合されたプロセッサであって、
コントローラに結合されたメモリサブシステムの不揮発性メモリからデータページ及びその関連メタデータを得、
メモリシステムのレジスタにデータページを記憶し、
データページ及びそれに関連したメタデータを前記レジスタから前記インターフェイスを経て処理のために前記コントローラへ送信し、
処理されたデータページ及びそれに関連したメタデータを前記コントローラから前記インターフェイスを経て受信し、
処理されたデータページが変化したかどうか決定し、
処理されたデータページが変化した場合には、処理されたデータページ及びそれに関連したメタデータを前記メモリサブシステムのレジスタへ転送し、
処理されたデータページが変化しない場合には、処理されたメタデータを前記メモリサブシステムのレジスタへ転送し、
前記レジスタのコンテンツを前記不揮発性メモリへ書き込む、
ように動作できるプロセッサと、
を備えたシステム。
【請求項６】
処理されたデータページが変化したかどうか決定することは、その処理されたデータページに対するデータ変化インジケータを読み取ることを更に含む、請求項５に記載のシステム。
【請求項７】
前記データ変化インジケータは、エラー検出コードに関連している、請求項６に記載のシステム。
【請求項８】
処理されたデータページが変化したかどうか決定することは、
処理されたデータページに対するデータ変化インジケータを計算し、
処理されたデータページが変化したかどうかをそのデータ変化インジケータに基づいて決定する、
ことを更に含む請求項５に記載のシステム。
【国際調査報告】
2011520188.tif 000011
2011520188.tif 000012
2011520188.tif 000013
2011520188.tif 000014