図面 (/)

技術 不揮発性メモリへの書き込みの管理および領域選択

出願人 シーゲイトテクノロジーエルエルシー
発明者 コーエン、アール、ティー.カネパ、ティモシー、ローレンス.
出願日 2014年1月21日 (6年1ヶ月経過) 出願番号 2014-008182
公開日 2014年9月11日 (5年6ヶ月経過) 公開番号 2014-167790
状態 特許登録済
技術分野 記憶装置の信頼性向上技術 メモリシステム 外部記憶装置との入出力
主要キーワード トグルモード 互換インターフェース 論理特性 CFインターフェース 電子読み出し 標準動作モード ソフトウェア技法 解除状況
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年9月11日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題

SSDの不揮発性メモリへの書き込みの管理および領域選択が、SSDの性能、信頼性、単価、および/または開発コストを改善する。

解決手段

コントローラが書き込みを受け取り、(例えば、書き込みデータ、書き込みデータソース分析することにより、かつ/またはヒントを受け取ることにより)書き込みの特性を決定し、決定した特性および不揮発性メモリの領域の特性に基づいて領域を選択する。例えば、コントローラは、読み取り専用データであると決定された書き込みを受け取り、書き込み障害を有する可能性の高いセルを含む不揮発性メモリの領域を選択する。読み取り専用データを書き込み障害が発生しやすい領域に配置することによって、誤りの可能性が低減され、よって、信頼性が改善される。別の例として、コントローラは、圧縮不能であると示唆された書き込みを受け取り、圧縮不能データを含む不揮発性メモリの領域を選択する。

概要

背景

分野:不揮発性記憶の技術および製造における前進が、使用のコスト、収益性、性能、効率、および有用性の改善を提供するために必要とされている。

関連技術:公知である、または周知であるものとして明記されない限り、コンテキスト、定義、または比較を目的とするものを含む本明細書における技法および概念の言及は、そのような技法または概念が以前から公知であり、あるいは先行技術の一部であることの容認解釈すべきではない。特許、特許出願、および出版物を含む、本明細書で引用されるあらゆる参照文献は(それがある場合には)、具体的に組み込まれているか否かを問わず、あらゆる目的で、この参照によりその全体が本明細書に組み込まれるものである。

概要

SSDの不揮発性メモリへの書き込みの管理および領域選択が、SSDの性能、信頼性、単価、および/または開発コストを改善する。コントローラが書き込みを受け取り、(例えば、書き込みデータ、書き込みデータソース分析することにより、かつ/またはヒントを受け取ることにより)書き込みの特性を決定し、決定した特性および不揮発性メモリの領域の特性に基づいて領域を選択する。例えば、コントローラは、読み取り専用データであると決定された書き込みを受け取り、書き込み障害を有する可能性の高いセルを含む不揮発性メモリの領域を選択する。読み取り専用データを書き込み障害が発生しやすい領域に配置することによって、誤りの可能性が低減され、よって、信頼性が改善される。別の例として、コントローラは、圧縮不能であると示唆された書き込みを受け取り、圧縮不能データを含む不揮発性メモリの領域を選択する。

目的

分野:不揮発性記憶の技術および製造における前進が、使用のコスト、収益性、性能、効率、および有用性の改善を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

方法であって、ホストから受け取った書き込みを分析して前記書き込みの特性を決定する工程と、少なくとも部分的に前記特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択する工程と、前記書き込みのデータを前記選択したバンドに書き込む工程とを有し、前記バンドの各々は前記不揮発性メモリの被管理部分である方法。

請求項2

請求項1記載の方法において、前記特性は前記書き込みのデータが圧縮可能であることを有する方法。

請求項3

請求項1記載の方法において、前記特性は前記書き込みのデータが実行可能であることを有する方法。

請求項4

請求項1記載の方法において、前記特性は、少なくとも部分的に、前記書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタに基づくものである方法。

請求項5

請求項4記載の方法において、さらに、前記カウンタによって前記LBAへの書き込み回数カウントする工程を有するものである方法。

請求項6

請求項4記載の方法において、さらに、前記カウンタによって前記LBAの読み取り回数と前記LBAの書き込み回数との差をカウントする工程を有するものである方法。

請求項7

請求項1記載の方法において、前記書き込みは、1若しくはそれ以上のストレージインターフェース規格適合するストレージインターフェースを介して前記ホストから受け取られ、前記データを書き込む工程は、少なくとも部分的に、前記不揮発性メモリと通信するフラッシュメモリインターフェースを介したものであり、前記不揮発性メモリは少なくとも1つのフラッシュメモリを有し、前記ストレージインターフェースおよび前記フラッシュ・メモリ・インターフェースは単一の集積回路実装されたコントローラ具備される方法。

請求項8

請求項1記載の方法において、前記バンドの各々は複数の論理特性のうちの少なくとも1つに対応すものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する方法。

請求項9

ステムであって、ホストから受け取った書き込みを分析して前記書き込みの特性を決定する手段と、少なくとも部分的に前記特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択する手段と、前記書き込みのデータを前記選択したバンドに書き込む手段とを有し、前記バンドの各々は前記不揮発性メモリの被管理部分であるシステム。

請求項10

請求項9記載のシステムにおいて、前記特性は、前記書き込みのデータが圧縮可能であることを有するシステム。

請求項11

請求項9記載のシステムにおいて、前記特性は、前記書き込みのデータが実行可能であることを有するシステム。

請求項12

請求項9記載のシステムにおいて、前記特性は、少なくとも部分的に、前記書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタに基づくものであるシステム。

請求項13

請求項12記載のシステムにおいて、さらに、前記カウンタによって前記LBAへの書き込み回数をカウントする手段を有するものであるシステム。

請求項14

請求項12記載のシステムにおいて、さらに、前記カウンタによって前記LBAの読み取り回数と前記LBAの書き込み回数との差をカウントする手段を有するものであるシステム。

請求項15

処理要素によって実行されると、前記処理要素に動作を実行させ、かつ/または制御させる命令のセットが記憶されている有形の非一時的なコンピュータ可読媒体であって、前記動作は、ホストから受け取った書き込みを分析して前記書き込みの特性を決定する動作と、少なくとも部分的に前記特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択する動作と、前記書き込みのデータを前記選択したバンドに書き込む動作とを有し、前記バンドの各々は前記不揮発性メモリの被管理部分である有形の非一時的なコンピュータ可読媒体。

請求項16

請求項15記載の有形の非一時的なコンピュータ可読媒体において、前記特性は、前記書き込みのデータが圧縮可能であることを有する有形の非一時的なコンピュータ可読媒体。

請求項17

請求項15記載の有形の非一時的なコンピュータ可読媒体において、前記特性は、前記書き込みのデータが実行可能であることを有する有形の非一時的なコンピュータ可読媒体。

請求項18

請求項15記載の有形の非一時的なコンピュータ可読媒体において、前記特性は、少なくとも部分的に、前記書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタに基づくものである有形の非一時的なコンピュータ可読媒体。

請求項19

請求項18記載の有形の非一時的なコンピュータ可読媒体において、前記動作は、前記カウンタによって前記LBAへの書き込み回数をカウントする動作をさらに有するものである有形の非一時的なコンピュータ可読媒体。

請求項20

請求項18記載の有形の非一時的なコンピュータ可読媒体において、前記動作は、前記カウンタによって前記LBAの読み取り回数と前記LBAの書き込み回数との差をカウントする動作をさらに有するものである有形の非一時的なコンピュータ可読媒体。

請求項21

請求項15記載の有形の非一時的なコンピュータ可読媒体において、前記書き込みは、1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを介して前記ホストから受け取られ、前記データを書き込む動作は、少なくとも部分的に、前記不揮発性メモリと通信するフラッシュ・メモリ・インターフェースを介したものであり、前記不揮発性メモリは少なくとも1つのフラッシュメモリを有し、前記処理要素、前記ストレージインターフェースおよび前記フラッシュ・メモリ・インターフェースは単一の集積回路に実装されたコントローラに具備される有形の非一時的なコンピュータ可読媒体。

請求項22

請求項15記載の有形の非一時的なコンピュータ可読媒体において、前記バンドの各々は複数の論理特性のうちの少なくとも1つに対応すものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する有形の非一時的なコンピュータ可読媒体。

請求項23

装置であって、ホストから受け取った書き込みを分析して前記書き込みの特性を決定する書き込み分析ハードウェア論理回路と、少なくとも部分的に前記特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択するバンド選択ハードウェア論理回路と、前記書き込みのデータを前記選択されたバンドに書き込むメモリ書き込みハードウェア論理回路とを有し、前記バンドの各々は前記不揮発性メモリの被管理部分である装置。

請求項24

請求項23記載の装置において、前記特性は前記書き込みのデータが圧縮可能であることを有する装置。

請求項25

請求項23記載の装置において、前記特性は前記書き込みのデータが実行可能であることを有する装置。

技術分野

0001

関連出願の相互参照
本出願の優先権利益の主張を、(それがある場合には、適宜)添付の出願データシート、請求、または送達状において行う。本出願の種類によって許容される範囲内で、本出願はこの参照によりあらゆる目的で以下の出願を組み込むものであり、以下の出願はすべて、発明がなされた時点において本出願と所有者を同じくするものである。

0002

2011年3月11日付で出願された、Hao ZHONGを頭発明者とする、「LDPERASURE DECODING FORFLASHMEMRIES」という名称の、国際出願(整理番号第SF−10−01PCTB号および出願番号第PCT/US11/28244号)、
2011年10月26日付で出願された、Yan LIを筆頭発明者とする、「ADAPTVEECCTECHNIQUES FOR FLASH MEMORY BASEDATA STORAGE」という名称の、国際出願(整理番号第SF−10−03PCT号および出願番号第PCT/US11/57914号)、
2012年1月18日付で出願された、Jeremy Isaac Nathaniel WERNERを筆頭発明者とする、「HIGHER−LEVEL REDUNDANCINFORMATION COMPUTATION」という名称の、国際出願(整理番号第SF−10−14PCT号および出願番号第PCT/US12/21682号);ならびに
2013年1月22日付で出願された、Earl T. COHENを筆頭発明者とする、「MANAGEMNTOF AND REGION SELECTION FOR WRITES TO NON−VOLATILE MEMORY」という名称の、米国仮出願(整理番号第SF−11−01号および出願番号第61/755442号)。

背景技術

0003

分野:不揮発性記憶の技術および製造における前進が、使用のコスト、収益性、性能、効率、および有用性の改善を提供するために必要とされている。

0004

関連技術:公知である、または周知であるものとして明記されない限り、コンテキスト、定義、または比較を目的とするものを含む本明細書における技法および概念の言及は、そのような技法または概念が以前から公知であり、あるいは先行技術の一部であることの容認解釈すべきではない。特許、特許出願、および出版物を含む、本明細書で引用されるあらゆる参照文献は(それがある場合には)、具体的に組み込まれているか否かを問わず、あらゆる目的で、この参照によりその全体が本明細書に組み込まれるものである。

課題を解決するための手段

0005

本発明は多くの方法で実施されてよく、例えば、プロセス、製造品、装置、システム組成物、ならびに、コンピュータ可読記憶媒体ディスクといった光学大容量記憶装置および/または磁気的大容量記憶装置、フラッシュストレージといった不揮発性記憶を有する集積回路など)や、プログラム命令光通信リンクまたは電子通信リンク上で送られるコンピュータネットワークといったコンピュータ可読媒体として実施されてよい。詳細な説明では、上記の分野における使用のコスト、収益性、性能、効率、および有用性の改善を可能にする本発明の1若しくはそれ以上の実施形態の説明を行う。詳細な説明は、詳細な説明の残りの部分の理解を容易にするための概説を含む。概説は、本明細書で説明する概念に従うシステム、方法、製造品、およびコンピュータ可読媒体の1若しくはそれ以上の例示的実施形態を含む。結論の項でより詳細に論じるように、本発明は、発行される特許請求の範囲内のあらゆる可能な改変形態および変形形態包含するものである。

図面の簡単な説明

0006

図1Aは、不揮発性メモリの領域への書き込みの管理および領域選択を行うソリッドステートディスク(Solid−State Disk:SSD)コントローラを含むSSDの実施形態の選択された詳細を示す図である。
図1Bは、図1AのSSDの1若しくはそれ以上のインスタンスを含むシステムの様々な実施形態の選択された詳細を示す図である。
図2は、論理ブロックアドレス(Logical Block Address:LBA)の論理ページ番号(Logical Page Number:LPN)部分のマッピングの実施形態の選択された詳細を示す図である。
図3は、読み出し単位の量として測った長さを総体として有する、様々な読み出し単位数として編成された読み出しデータを生成するための読み出し単位アドレスのところの不揮発性メモリ(Non−Volatile Memory:NVM)へのアクセスの実施形態の選択された詳細を示す図である。
図4Aは、読み出し単位の実施形態の選択された詳細を示す図である。
図4Bは、読み出し単位の別の実施形態の選択された詳細を示す図である。
図5は、いくつかのフィールドを有するヘッダの実施形態の選択された詳細を示す図である。
図6は、複数のNVMデバイスブロック、ページ、および読み出し単位の実施形態の選択された詳細を示す図である。
図7は、SSDのNVMの特定のバンドにデータを選択的に配置するSSDの実施形態の選択された詳細を概念的に示す図である。
図8は、第1レベルマップ(First−Level Map:FLM)および1若しくはそれ以上の第2レベルマップ(Second−Level Map:SLM)ページを有する2レベルマップによるLBAのNVMに記憶された論理ブロック(Logical Blocks:LBs)へのマッピングの実施形態の選択された詳細を示す図である。
図9は、(例えばSSDの)NVMのデータバンドのバンド管理フローの実施形態の選択された詳細を示す流れ図である。

0007

図面の参照符号の一覧

実施例

0008

本発明の1若しくはそれ以上の実施形態の詳細な説明を、以下で、本発明の選択された詳細を図示する添付の図を併用して行う。本発明を実施形態との関連で説明する。実施形態は、本明細書では、単なる例示であると理解されるものであり、本発明は、明確に、本明細書中の実施形態のいずれか若しくは全部に、またはいずれか若しくは全部によって限定されるものではなく、本発明は、多数の代替形態、改変形態、および均等物を包含するものである。説明が単調にならないように、様々な言葉によるラベル(最初の、最後の、ある一定の、様々な、別の、他の、特定の、選択の、いくつかの、目立ったなど)が実施形態のセットを区別するために適用される場合がある。本明細書で使用する場合、そのようなラベルは、明確に、質を伝えるためのものでも、いかなる形の好みや先入観を伝えるためのものでもなく、単に、別々のセットを都合よく区別するためのものにすぎない。開示するプロセスのいくつかの動作の順序は本発明の範囲内で変更可能である。多様な実施形態がプロセス、方法、および/またはプログラム命令の各特徴の差異を説明するのに使用される場合は常に、所定の、または動的に決定される基準に従って、複数の多様な実施形態にそれぞれ対応する複数の動作モードの1つの静的選択および/または動的選択を行う他の実施形態が企図されている。以下の説明では、本発明の十分な理解を提供するために、多数の具体的詳細を示す。それらの詳細は例として示すものであり、本発明は、それらの詳細の一部または全部がなくても、特許請求の範囲に従って実施されうる。わかりやすくするために、本発明に関連した技術分野で公知の技術資料は、本発明が不必要に曖昧になることのないように詳細に説明していない。

0009

概説
この概説は、詳細な説明のより迅速な理解を助けるために含まれるにすぎず、本発明は、(それがある場合には、明示的な例を含む)この概説で提示される概念だけに限定されるものではなく、どんな概説の段落も、必然的に、主題全体の縮約された見方であり、網羅的な、または限定的な記述であることを意味するものではない。例えば、以下の概説は、スペースおよび編成によりある一定の実施形態だけに限定される概要情報を提供するものである。特許請求の範囲が究極的にそこに導かれることになる実施形態を含む多くの他の実施形態があり、それらを本明細書の残りの部分にわたって論じる。

0010

頭字語
以下で定義する様々な省略形(頭字語など)の少なくともいくつかは、本明細書で使用するある一定の要素を指す。

0011

様々な実施形態において、領域(データバンドなど)はSSDのNVMのブロックの被管理グループである。以下の考察では、「ブロックが1若しくはそれ以上の論理特性を有する」は、「ブロックが、1若しくはそれ以上の論理特性を有すると予測され、または有すると認められるデータに割り振られている」ことを意味するものと理解する。様々な実施形態において、ブロックは、論理特性、物理特性を有し、かつ/または1若しくはそれ以上の書き込みデータソースからのデータを含む。様々な実施形態において、バンドはもっぱら、特定の物理特性、特定の論理特性の特定の組み合わせを有するブロックだけを含み、かつ/または特定の書き込みデータソースからのデータだけを含む。

0012

様々な実施形態において、バンドは、1若しくはそれ以上の特定の論理特性を有するブロックを含む。様々な実施形態において、特定の論理特性は、以下のうちの任意の1若しくはそれ以上である:頻繁に読み取られること、相対的により頻繁に書き込まれること(「よりホット」若しくは「ホット」であるなど)、相対的にあまり頻繁に書き込まれないこと(「よりコールド」若しくは「コールド」であるなど)、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定のECC方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないこと。様々な実施形態において、第1のバンドおよび第2のバンドは、特定の第1の論理特性および特定の第2の論理特性を有すると予測され、または有すると認められるデータに割り振られたブロックを含む。

0013

様々な実施形態において、バンドはもっぱら、特定の物理特性を有するブロックだけを含む。第1の例として、バンドはもっぱら、下位ページブロックだけを含む。第2の例として、バンドはもっぱら、上位ページブロックだけを含む。別の実施形態では、他の特定の物理特性を有するブロックを含む。

0014

様々な実施形態において、バンドはもっぱら、特定の書き込みデータソースだけからのデータのブロックのみを含む。書き込みデータソースの例には、コンピューティングホストが提供するホストデータ、再利用によって生成されるデータ(消去されるべきブロックからの有効データなど)、SSDのコントローラなどによって行われるシステム動作によって生成されるデータ(マップデータなど)が含まれる。

0015

様々な実施形態において、バンドを管理することは有益であり、SSDの性能、信頼性、単価および開発コストのうちの1若しくはそれ以上を改善する。例えば、書き込み障害を有する可能性の高いNVMセルを含むブロックは、コールドバンドに割り振られ、よって信頼性が改善される。別の例としては、SLCとして構成され、または代替使用されるNVMセルを含むブロックは、システムデータ(マップデータなど)に割り振られる。

0016

例示的実施形態
詳細な説明の概説を終えるにあたり、以下に、例示的実施形態をまとめて示す。これらの例示的実施形態は、少なくとも部分的に「EC」(Example Combinations:ECs)として明示的に列挙されたものを有し、本明細書で説明する概念に従った様々な種類の実施形態の詳細な説明を提供するものである。これらの例は、相互排他的であることも、網羅的であることも、限定的であることも意図されておらず、本発明は、これらの例示的実施形態だけに限定されるものではなく、発行される特許請求の範囲およびその均等物の範囲内のすべての可能な改変形態および変形形態を包含するものである。

0017

EC1)方法であって、
ホストから受け取った書き込みを分析して書き込みの特性を決定する工程と、
少なくとも部分的に特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択する工程と、
書き込みのデータを選択したバンドに書き込む工程と
を有し、
前記バンドの各々はNVMの被管理部分である方法。

0018

EC2)EC1記載の方法において、前記特性は書き込みのデータが圧縮可能であることを有する方法。

0019

EC3)EC1記載の方法において、前記特性は書き込みのデータが実行可能であることを有する方法。

0020

EC4)EC1記載の方法において、前記特性は、少なくとも部分的に、前記書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタに基づくものである方法。

0021

EC5)EC4記載の方法において、さらに、
前記カウンタによって前記LBAへの書き込み回数カウントする工程を有するものである方法。

0022

EC6)EC4記載の方法において、さらに
前記カウンタによって前記LBAの読み取り回数と前記LBAの書き込み回数との差をカウントする工程を有するものである方法。

0023

EC7)EC1記載の方法において、前記バンドの各々は1若しくはそれ以上のR−ブロックを有する方法。

0024

EC8)EC1記載の方法において、前記バンドの各々はNVMの1若しくはそれ以上のブロックを有する方法。

0025

EC9)EC1記載の方法において、前記バンドの各々は複数の論理特性のうちの少なくとも1つに対応するものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する方法。

0026

EC10)EC1記載の方法において、さらに、
前記バンドのうちの第1のバンドからのデータを前記バンドのうちの第2のバンドに再利用する工程を有するものであり、前記第2のバンドは、ホストによって直接書き込まれたデータと前記第1のバンドから再利用されたデータの両方を含む方法。

0027

EC11)EC1記載の方法において、前記書き込みは、1若しくはそれ以上のストレージインターフェース規格適合するストレージインターフェースを介して前記ホストから受け取られる方法。

0028

EC12)EC1記載の方法において、前記データを書き込む工程は、少なくとも部分的に、前記NVMと通信するフラッシュ・メモリインターフェースを介したものである方法。

0029

EC13)EC1記載の方法において、前記NVMは少なくとも1つのフラッシュメモリを有する方法。

0030

EC14)EC1記載の方法において、
前記書き込みは、1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを介して前記ホストから受け取られ、
前記データを書き込む工程は、少なくとも部分的に、前記NVMと通信するフラッシュ・メモリ・インターフェースを介したものであり、
前記NVMは少なくとも1つのフラッシュメモリを有し、
前記ストレージインターフェースおよび前記フラッシュ・メモリ・インターフェースは単一の集積回路に実装されたコントローラに具備される方法。

0031

EC15)システムであって、
ホストから受け取った書き込みを分析して書き込みの特性を決定する手段と、
少なくとも部分的に特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択する手段と、
書き込みのデータを選択したバンドに書き込む手段と
を有し、
バンドの各々はNVMの被管理部分であるシステム。

0032

EC16)EC15記載のシステムにおいて、前記特性は、書き込みのデータが圧縮可能であることを有するシステム。

0033

EC17)EC15記載のシステムにおいて、前記特性は、書き込みのデータが実行可能であることを有するシステム。

0034

EC18)EC15記載のシステムにおいて、前記特性は、少なくとも部分的に、前記書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタに基づくものであるシステム。

0035

EC19)EC18記載のシステムにおいて、さらに、
前記カウンタによって前記LBAへの書き込み回数をカウントする手段を有するものであるシステム。

0036

EC20)EC18記載のシステムにおいて、さらに、
前記カウンタによって前記LBAの読み取り回数と前記LBAの書き込み回数との差をカウントする手段を有するものであるシステム。

0037

EC21)EC15記載のシステムにおいて、前記バンドの各々は1若しくはそれ以上のR−ブロックを有するシステム。

0038

EC22)EC15記載のシステムにおいて、前記バンドの各々は前記NVMの1若しくはそれ以上のブロックを有するシステム。

0039

EC23)EC15記載のシステムにおいて、前記バンドの各々は複数の論理特性のうちの少なくとも1つに対応するものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有するシステム。

0040

EC24)EC15記載のシステムにおいて、さらに、
前記バンドのうちの第1のバンドからのデータを前記バンドのうちの第2のバンドに再利用する手段を有するものであり、前記第2のバンドは、前記ホストによって直接書き込まれたデータと前記第1のバンドから再利用されたデータの両方を含むシステム。

0041

EC25)EC15記載のシステムにおいて、前記書き込みは、1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを介して前記ホストから受け取られるシステム。

0042

EC26)EC15記載のシステムにおいて、前記データを書き込む手段は、前記NVMと通信するフラッシュ・メモリ・インターフェースを有するシステム。

0043

EC27)EC15記載のシステムにおいて、前記NVMは少なくとも1つのフラッシュメモリを有するシステム。

0044

EC28)EC15記載のシステムにおいて、
前記書き込みは、1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを介してホストから受け取られ、
前記データを書き込む手段は、前記NVMと通信するフラッシュ・メモリ・インターフェースを有し、
前記NVMは少なくとも1つのフラッシュメモリを有し、
前記ストレージインターフェースおよび前記フラッシュ・メモリ・インターフェースは単一の集積回路に実装されたコントローラに具備されるシステム。

0045

EC29)処理要素によって実行されると、処理要素に動作を実行させ、かつ/または制御させる命令のセットが記憶されている有形のコンピュータ可読媒体であって、動作は、
ホストから受け取った書き込みを分析して書き込みの特性を決定する動作と、
少なくとも部分的に特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択する動作と、
書き込みのデータを選択したバンドに書き込む動作と
を有し、
前記バンドの各々はNVMの被管理部分である有形のコンピュータ可読媒体。

0046

EC30)EC29記載の前記有形のコンピュータ可読媒体において、前記特性は、前記書き込みのデータが圧縮可能であることを有する有形のコンピュータ可読媒体。

0047

EC31)EC29記載の前記有形のコンピュータ可読媒体において、前記特性は、前記書き込みのデータが実行可能であることを有する有形のコンピュータ可読媒体。

0048

EC32)EC29記載の有形のコンピュータ可読媒体において、特性は、少なくとも部分的に、書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタに基づくものである有形のコンピュータ可読媒体。

0049

EC33)EC32記載の有形のコンピュータ可読媒体において、前記動作は、前記カウンタによって前記LBAへの書き込み回数をカウントする動作をさらに有するものである有形のコンピュータ可読媒体。

0050

EC34)EC32記載の有形のコンピュータ可読媒体において、前記動作は、前記カウンタによって前記LBAの読み取り回数と前記LBAの書き込み回数との差をカウントする動作をさらに有するものである有形のコンピュータ可読媒体。

0051

EC35)EC29記載の有形のコンピュータ可読媒体において、前記バンドの各々は1若しくはそれ以上のR−ブロックを有する有形のコンピュータ可読媒体。

0052

EC36)EC29記載の有形のコンピュータ可読媒体において、前記バンドの各々は前記NVMの1若しくはそれ以上のブロックを有する有形のコンピュータ可読媒体。

0053

EC37)EC29記載の有形のコンピュータ可読媒体において、前記バンドの各々は複数の論理特性のうちの少なくとも1つに対応するものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する有形のコンピュータ可読媒体。

0054

EC38)EC29記載の有形のコンピュータ可読媒体において、前記動作は、前記バンドのうちの第1のバンドからのデータを前記バンドのうちの第2のバンドに再利用する動作をさらに有するものであり、前記第2のバンドは、前記ホストによって直接書き込まれたデータと前記第1のバンドから再利用されたデータの両方を含む有形のコンピュータ可読媒体。

0055

EC39)EC29記載の有形のコンピュータ可読媒体において、前記書き込みは、1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを介して前記ホストから受け取られる有形のコンピュータ可読媒体。

0056

EC40)EC29記載の有形のコンピュータ可読媒体において、前記データを書き込む動作は、少なくとも部分的に、前記NVMと通信するフラッシュ・メモリ・インターフェースを介したものである有形のコンピュータ可読媒体。

0057

EC41)EC29記載の有形のコンピュータ可読媒体において、前記NVMは少なくとも1つのフラッシュメモリを有する有形のコンピュータ可読媒体。

0058

EC42)EC29記載の有形のコンピュータ可読媒体において、
前記書き込みは、1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを介して前記ホストから受け取られ、
前記データを書き込む動作は、少なくとも部分的に、前記NVMと通信するフラッシュ・メモリ・インターフェースを介したものであり、
前記NVMは少なくとも1つのフラッシュメモリを有し、
前記処理要素、前記ストレージインターフェースおよび前記フラッシュ・メモリ・インターフェースは単一の集積回路に実装されたコントローラに具備される有形のコンピュータ可読媒体。

0059

EC43)装置であって、
ホストから受け取った書き込みを分析して書き込みの特性を決定するこ書き込み分析ハードウェア論理回路と、
少なくとも部分的に前記特性に基づいて不揮発性メモリ(NVM)の複数のバンドのうちの1つを選択するバンド選択ハードウェア論理回路と、
前記書き込みのデータを前記選択したバンドに書き込むメモリ書き込みハードウェア論理回路と
を有し、
前記バンドの各々は前記NVMの被管理部分である装置。

0060

EC44)EC43記載の装置において、前記特性は、書き込みのデータが圧縮可能であることを有する装置。

0061

EC45)EC43記載の装置において、前記特性は、書き込みのデータが実行可能であることを有する装置。

0062

EC46)EC43記載の装置において、前記バンドの各々は1若しくはそれ以上のR−ブロックを有する装置。

0063

EC47)EC43記載の装置において、前記バンドの各々は前記NVMの1若しくはそれ以上のブロックを有する装置。

0064

EC48)EC43記載の装置において、前記バンドの各々は複数の論理特性のうちの少なくとも1つに従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する装置。

0065

EC49)EC43記載の装置において、さらに、
前記バンドのうちの第1のバンドからのデータを前記バンドのうちの第2のバンドに再利用するリサイクラハードウェア論理回路を有するものであり、前記第2のバンドは、前記ホストによって直接書き込まれたデータと前記第1のバンドから再利用されたデータの両方を含む装置。

0066

EC50)EC43記載の装置において、さらに、
前記書き込みに対応する論理ブロックアドレス(LBA)と関連付けられたカウンタを有するものであり、前記特性は、少なくとも部分的に、前記カウンタに基づくものである装置。

0067

EC51)EC50記載の装置において、前記カウンタは前記LBAへの書き込み回数をカウントする装置。

0068

EC52)EC50記載の装置において、カウンタは、LBAの読み取り回数とLBAの書き込み回数との差をカウントする装置。

0069

EC53)EC43記載の装置において、さらに、
1若しくはそれ以上のストレージインターフェース規格と適合するストレージインターフェースを有するものであり、前記書き込みは前記ストレージインターフェースを介して前記ホストから受け取られる装置。

0070

EC54)EC43記載の装置において、前記メモリ書き込みハードウェア論理回路は、前記NVMと通信するフラッシュ・メモリ・インターフェースを有する装置。

0071

EC55)EC43記載の装置において、前記NVMは少なくとも1つのフラッシュメモリを有する装置。

0072

EC56)EC43記載の装置において、単一の集積回路に実装されたコントローラに具備された装置。

0073

EC57)方法であって、
書き込みデータの少なくともいくつかの特性を決定する工程と、
少なくとも部分的に前記特性に基づいて、1若しくはそれ以上の不揮発性メモリ(NVM)のブロックの複数の被管理グループのうちの1つを選択する工程と、
前記書き込みデータを選択した被管理グループに書き込む工程と
を有し、
決定する工程、選択する工程、および書き込む工程は、記憶システムのコントローラによって行われ、
前記被管理グループの各々は1若しくはそれ以上の管理動作に関して管理され、前記管理動作は、再利用動作および書き込み割り振り動作のうちの任意の1若しくはそれ以上を有し、前記被管理グループの各々は、前記NVMのうちの少なくとも2つのダイによって提供される記憶を有する方法。

0074

EC58)EC57記載の方法において、前記被管理グループの各々は前記NVMのそれぞれの管理方式に対応する方法。

0075

EC59)EC58記載の方法において、前記それぞれの管理方式は前記それぞれの論理特性に従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定のECC方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する方法。

0076

EC60)EC58記載の方法において、前記それぞれの管理方式はそれぞれの物理特性に従うものであり、前記物理特性は、もっぱら下位ページブロックだけを含むこと、およびもっぱら上位ページブロックだけを含むことを有する方法。

0077

EC61)EC58記載の方法において、前記それぞれの管理方式は前記それぞれの書き込みデータソースに従うものであり、前記書き込みデータソースは、コンピューティングホストが提供するホストデータ、再利用によって生成されるデータ、およびシステム動作によって生成されるデータを有する方法。

0078

EC62)EC57記載の方法において、前記被管理グループの各々は1若しくはそれ以上のR−ブロックを有する方法。

0079

EC63)EC57記載の方法において、前記被管理グループの各々は前記NVMの1若しくはそれ以上のブロックを有する方法。

0080

EC64)EC57記載の方法において、前記被管理グループの各々は複数の論理特性のうちの少なくとも1つに従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する方法。

0081

EC65)EC57記載の方法において、さらに、
前記被管理グループのうちの第1の被管理グループからのデータを前記被管理グループのうちの第2の被管理グループに再利用する工程を有するものであり、前記第2の被管理グループは、前記ホストによって直接書き込まれたデータと前記第1の被管理グループから再利用されたデータの両方を含む方法。

0082

EC66)EC57記載の方法において、さらに、
前記ホストから書き込みデータを受け取る工程を有するものである方法。

0083

EC67)EC57記載の方法において、前記書き込みデータは前記コントローラによって生成される方法。

0084

EC68)EC57記載の方法において、前記書き込みデータは、ユーザ書き込みデータ書き換えデータ、システムデータ、書き換えシステムデータ、および書き換えユーザデータのうちの任意の1若しくはそれ以上を有する方法。

0085

EC69)EC68記載の方法において、前記システムデータはチェックポイントデータを有する方法。

0086

EC70)EC57記載の方法において、前記決定する工程はヒント応答したものである方法。

0087

EC71)EC70記載の方法において、前記ヒントは前記ホストから受け取られる方法。

0088

EC72)EC70記載の方法において、前記ヒントは前記書き込みデータが読み取り専用データまたは書き込み専用データのいずれか1つであることを指示する方法。

0089

EC73)EC57記載の方法において、前記決定する工程は前記書き込みデータを分析したことに応答したものである方法。

0090

EC74)EC73記載の方法において、前記分析は、少なくとも部分的に、ハードウェアソフトウェア、およびファームウェアのうちの任意の1若しくはそれ以上で行われる方法。

0091

EC75)EC74記載の方法において、ハードウェアは、データ整理エンジンデータ重複排除エンジン、およびデータ圧縮エンジンのうちの任意の1若しくはそれ以上を有する方法。

0092

EC76)EC57記載の方法において、前記決定する工程は、少なくとも部分的にハードウェアによって行われる方法。

0093

EC77)EC76記載の方法において、前記ハードウェアはデータ整理エンジンを有する方法。

0094

EC78)EC76記載の方法において、前記特性は前記書き込みデータが実行可能であることを有する方法。

0095

EC79)EC76記載の方法において、前記特性は前記書き込みデータが圧縮不能であることを有する方法。

0096

EC80)EC76記載の方法において、前記特性は前記書き込みデータが整理不能であることを有する方法。

0097

EC81)EC57記載の方法において、前記特性は、前の書き込み回数、前の読み取り回数、前の読み取り対前の書き込みの比、書き込みデータが圧縮不能であるという指示、書き込みデータが圧縮可能であるという指示、書き込みデータが実行可能であるという指示、および書き込みデータが回復不能であるという指示のうちの任意の1若しくはそれ以上を有する方法。

0098

EC82)EC57記載の方法において、前記特性は、前記被管理グループの前に選択された被管理グループのうちの任意の1若しくはそれ以上を有する方法。

0099

EC83)EC57記載の方法において、前記被管理グループのうちの任意の1若しくはそれ以上は、前記決定する工程によって、頻繁に読み取られる、頻繁に書き込まれる、圧縮不能である、実行可能である、および回復不能である、のうちの1若しくはそれ以上として特性付けされたデータを含むブロックのうちのブロックを有する方法。

0100

EC84)EC57記載の方法において、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および書き換えデータのうちのいずれか1つを含むブロックのうちのブロックだけを有する方法。

0101

EC85)EC57記載の方法において、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および/または書き換えデータのうちのいずれか1つ若しくは2つを含むブロックのうちのブロックだけを有する方法。

0102

EC86)EC57記載の方法において、前記被管理グループのうちの1若しくはそれ以上は、ブロックのうちの下位ページブロックだけまたは上位ページブロックだけの一方を有する方法。

0103

EC87)EC57記載の方法において、前記被管理グループのうちの第1の被管理グループと第2の被管理グループとは異なる誤り訂正を有する方法。

0104

EC88)EC57記載の方法において、前記コントローラは、少なくとも1つのストレージインターフェース規格と適合した少なくとも1つのストレージインターフェースを介してホストにインターフェースする方法。

0105

EC89)EC57記載の方法において、前記コントローラは、少なくとも1つのフラッシュ・メモリ・インターフェースを介してダイのうちの少なくとも1つにインターフェースする方法。

0106

EC90)EC57記載の方法において、前記NVMは少なくとも1つのフラッシュメモリを有する方法。

0107

EC91)システムであって、
書き込みデータの少なくともいくつかの特性を決定する手段と、
少なくとも部分的に前記特性に基づいて、1若しくはそれ以上の不揮発性メモリ(NVM)のブロックの複数の被管理グループのうちの1つを選択する手段と、
前記書き込みデータを選択した被管理グループに書き込む手段と
を有し、
決定する手段、選択する手段、および書き込む手段は、記憶システムのコントローラの要素であり、
前記被管理グループの各々は1若しくはそれ以上の管理動作に関して管理され、前記管理動作は、再利用動作および書き込み割り振り動作のうちの任意の1若しくはそれ以上を有し、前記被管理グループの各々は、前記NVMのうちの少なくとも2つのダイによって提供される記憶を有するシステム。

0108

EC92)EC91記載のシステムにおいて、前記被管理グループの各々は前記NVMのそれぞれの管理方式に対応するシステム。

0109

EC93)EC92記載のシステムにおいて、前記それぞれの管理方式はそれぞれの論理特性に従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定のECC方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有するシステム。

0110

EC94)EC92記載のシステムにおいて、前記それぞれの管理方式は前記それぞれの物理特性に従うものであり、前記物理特性は、もっぱら下位ページブロックだけを含むこと、およびもっぱら上位ページブロックだけを含むことを有するシステム。

0111

EC95)EC92記載のシステムにおいて、前記それぞれの管理方式は前記それぞれの書き込みデータソースに従うものであり、前記書き込みデータソースは、コンピューティングホストが提供するホストデータ、再利用によって生成されるデータ、およびシステム動作によって生成されるデータを有するシステム。

0112

EC96)EC91記載のシステムにおいて、前記被管理グループの各々は1若しくはそれ以上のR−ブロックを有するシステム。

0113

EC97)EC91記載のシステムにおいて、前記被管理グループの各々はNVMの1若しくはそれ以上のブロックを有するシステム。

0114

EC98)EC91記載のシステムにおいて、前記被管理グループの各々は複数の論理特性のうちの少なくとも1つに対応するものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有するシステム。

0115

EC99)EC91記載のシステムにおいて、さらに、
前記被管理グループのうちの第1の被管理グループからのデータを前記被管理グループのうちの第2の被管理グループに再利用する手段を有するものであり、前記第2の被管理グループは、前記ホストによって直接書き込まれたデータと前記第1の被管理グループから再利用されたデータの両方を含むシステム。

0116

EC100)EC91記載のシステムにおいて、さらに、
ホストから前記書き込みデータを受け取る手段を有するものであるシステム。

0117

EC101)EC91記載のシステムにおいて、前記書き込みデータは前記コントローラによって生成されるシステム。

0118

EC102)EC91記載のシステムにおいて、前記書き込みデータは、ユーザ書き込みデータ、書き換えデータ、システムデータ、書き換えシステムデータ、および書き換えユーザデータのうちの任意の1若しくはそれ以上を有するシステム。

0119

EC103)EC102記載のシステムにおいて、前記システムデータはチェックポイントデータを有するシステム。

0120

EC104)EC91記載のシステムにおいて、前記決定する手段はヒントに応答するものであるシステム。

0121

EC105)EC104記載のシステムにおいて、前記ヒントは前記ホストから受け取られるシステム。

0122

EC106)EC104記載のシステムにおいて、前記ヒントは前記書き込みデータが読み取り専用データまたは書き込み専用データのいずれか1つであることを指示するシステム。

0123

EC107)EC91記載のシステムにおいて、前記決定する手段は前記書き込みデータの分析に応答するものであるシステム。

0124

EC108)EC107記載のシステムにおいて、前記分析は、少なくとも部分的に、ハードウェア、ソフトウェア、およびファームウェアのうちの任意の1若しくはそれ以上で行われるシステム。

0125

EC109)EC108記載のシステムにおいて、前記ハードウェアは、データ整理エンジン、データ重複排除エンジン、およびデータ圧縮エンジンのうちの任意の1若しくはそれ以上を有するシステム。

0126

EC110)EC91記載のシステムにおいて、前記決定する手段はデータ整理エンジンを有するシステム。

0127

EC111)EC110記載のシステムにおいて、前記特性は書き込みデータが実行可能であることを有するシステム。

0128

EC112)EC110記載のシステムにおいて、前記特性は書き込みデータが圧縮不能であることを有するシステム。

0129

EC113)EC110記載のシステムにおいて、前記特性は書き込みデータが整理不能であることを有するシステム。

0130

EC114)EC91記載のシステムにおいて、前記特性は、前の書き込み回数、前の読み取り回数、前の読み取り対前の書き込みの比、書き込みデータが圧縮不能であるという指示、書き込みデータが圧縮可能であるという指示、書き込みデータが実行可能であるという指示、および書き込みデータが回復不能であるという指示のうちの任意の1若しくはそれ以上を有するシステム。

0131

EC115)EC91記載のシステムにおいて、前記特性は、前記被管理グループの前に選択された被管理グループのうちの任意の1若しくはそれ以上を有するシステム。

0132

EC116)EC91記載のシステムにおいて、前記被管理グループのうちの任意の1若しくはそれ以上は、決定する手段によって、頻繁に読み取られる、頻繁に書き込まれる、圧縮不能である、実行可能である、および回復不能である、のうちの1若しくはそれ以上として特性付けされたデータを含むブロックのうちのブロックを有するシステム。

0133

EC117)EC91記載のシステムにおいて、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および書き換えデータのうちのいずれか1つを含むブロックのうちのブロックだけを有するシステム。

0134

EC118)EC91記載のシステムにおいて、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および/または書き換えデータのうちのいずれか1つ若しくは2つを含むブロックのうちのブロックだけを有するシステム。

0135

EC119)EC91記載のシステムにおいて、前記被管理グループのうちの1若しくはそれ以上は、前記ブロックのうちの下位ページブロックだけまたは上位ページブロックだけ一方を有するシステム。

0136

EC120)EC91記載のシステムにおいて、前記被管理グループのうちの第1の被管理グループと第2の被管理グループとは異なる誤り訂正を有するシステム。

0137

EC121)EC91記載のシステムにおいて、前記コントローラは、少なくとも1つのストレージインターフェース規格と適合した少なくとも1つのストレージインターフェースを介してホストにインターフェースするシステム。

0138

EC122)EC91記載のシステムにおいて、前記コントローラは、少なくとも1つのフラッシュ・メモリ・インターフェースを介して前記ダイのうちの少なくとも1つにインターフェースするシステム。

0139

EC123)EC91記載のシステムにおいて、前記NVMは少なくとも1つのフラッシュメモリを有するシステム。

0140

EC124)処理要素によって実行されると、処理要素に動作を実行させ、かつ/または制御させる命令のセットが記憶されている有形のコンピュータ可読媒体であって、動作は、
書き込みデータの少なくともいくつかの特性を決定する動作と、
少なくとも部分的に前記特性に基づいて、1若しくはそれ以上の不揮発性メモリ(NVM)のブロックの複数の被管理グループのうちの1つを選択する動作と、
書き込みデータを選択した被管理グループに書き込む動作と
を有し、
前記処理要素は記憶システムのコントローラに具備され、
前記被管理グループの各々は1若しくはそれ以上の管理動作に関して管理され、前記管理動作は、再利用動作および書き込み割り振り動作のうちの任意の1若しくはそれ以上を有し、前記被管理グループの各々は、前記NVMのうちの少なくとも2つのダイによって提供される記憶を有する有形のコンピュータ可読媒体。

0141

EC125)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループの各々は前記NVMのそれぞれの管理方式に対応する有形のコンピュータ可読媒体。

0142

EC126)EC125記載の有形のコンピュータ可読媒体において、前記それぞれの管理方式は前記それぞれの論理特性に従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定のECC方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する有形のコンピュータ可読媒体。

0143

EC127)EC125記載の有形のコンピュータ可読媒体において、前記それぞれの管理方式は前記それぞれの物理特性に対応するものであり、前記物理特性は、もっぱら下位ページブロックだけを含むこと、およびもっぱら上位ページブロックだけを含むことを有する有形のコンピュータ可読媒体。

0144

EC128)EC125記載の有形のコンピュータ可読媒体において、前記それぞれの管理方式は前記それぞれの書き込みデータソースに従うものであり、前記書き込みデータソースは、コンピューティングホストが提供するホストデータ、再利用によって生成されるデータ、およびシステム動作によって生成されるデータを有する有形のコンピュータ可読媒体。

0145

EC129)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループの各々は1若しくはそれ以上のR−ブロックを有する有形のコンピュータ可読媒体。

0146

EC130)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループの各々は前記NVMの1若しくはそれ以上のブロックを有する有形のコンピュータ可読媒体。

0147

EC131)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループの各々は複数の論理特性のうちの少なくとも1つに従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する有形のコンピュータ可読媒体。

0148

EC132)EC124記載の有形のコンピュータ可読媒体において、前記動作は、前記被管理グループのうちの第1の被管理グループからのデータを前記被管理グループのうちの第2の被管理グループに再利用する動作をさらに有するものであり、前記第2の被管理グループは、前記ホストによって直接書き込まれたデータと前記第1の被管理グループから再利用されたデータの両方を含む有形のコンピュータ可読媒体。

0149

EC133)EC124記載の有形のコンピュータ可読媒体において、前記動作は、前記ホストから書き込みデータを受け取る動作をさらに有するものである有形のコンピュータ可読媒体。

0150

EC134)EC124記載の有形のコンピュータ可読媒体において、前記書き込みデータはコントローラによって生成される有形のコンピュータ可読媒体。

0151

EC135)EC124記載の有形のコンピュータ可読媒体において、書き込みデータは、ユーザ書き込みデータ、書き換えデータ、システムデータ、書き換えシステムデータ、および書き換えユーザデータのうちの任意の1若しくはそれ以上を有する有形のコンピュータ可読媒体。

0152

EC136)EC135記載の有形のコンピュータ可読媒体において、前記システムデータはチェックポイントデータを有する有形のコンピュータ可読媒体。

0153

EC137)EC124記載の有形のコンピュータ可読媒体において、前記決定する動作はヒントに応答したものである有形のコンピュータ可読媒体。

0154

EC138)EC137記載の有形のコンピュータ可読媒体において、前記ヒントは前記ホストから受け取られる有形のコンピュータ可読媒体。

0155

EC139)EC137記載の有形のコンピュータ可読媒体において、前記ヒントは前記書き込みデータが読み取り専用データまたは書き込み専用データのいずれか1つであることを指示する有形のコンピュータ可読媒体。

0156

EC140)EC124記載の有形のコンピュータ可読媒体において、前記決定する動作は前記書き込みデータを分析したことに応答したものである有形のコンピュータ可読媒体。

0157

EC141)EC140記載の有形のコンピュータ可読媒体において、前記分析は、少なくとも部分的に、データ整理エンジン、データ重複排除エンジン、およびデータ圧縮エンジンのうちの任意の1若しくはそれ以上と連携して行われる有形のコンピュータ可読媒体。

0158

EC142)EC124記載の有形のコンピュータ可読媒体において、前記特性は、前の書き込み回数、前の読み取り回数、前の読み取り対前の書き込みの比、書き込みデータが圧縮不能であるという指示、書き込みデータが圧縮可能であるという指示、書き込みデータが実行可能であるという指示、および書き込みデータが回復不能であるという指示のうちの任意の1若しくはそれ以上を有する有形のコンピュータ可読媒体。

0159

EC143)EC124記載の有形のコンピュータ可読媒体において、前記特性は、前記被管理グループの前に選択された被管理グループのうちの任意の1若しくはそれ以上を有する有形のコンピュータ可読媒体。

0160

EC144)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループのうちの任意の1若しくはそれ以上は、決定する動作によって、頻繁に読み取られる、頻繁に書き込まれる、圧縮不能である、実行可能である、および回復不能である、のうちの1若しくはそれ以上として特性付けされたデータを含むブロックのうちのブロックを有する有形のコンピュータ可読媒体。

0161

EC145)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および書き換えデータのうちのいずれか1つを含むブロックのうちのブロックだけを有する有形のコンピュータ可読媒体。

0162

EC146)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および/または書き換えデータのうちのいずれか1つ若しくは2つを含むブロックのうちのブロックだけを有する有形のコンピュータ可読媒体。

0163

EC147)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループのうちの1若しくはそれ以上は、前記ブロックのうちの下位ページブロックだけまたは上位ページブロックだけの一方を有する有形のコンピュータ可読媒体。

0164

EC148)EC124記載の有形のコンピュータ可読媒体において、前記被管理グループのうちの第1の被管理グループと第2の被管理グループとは異なる誤り訂正を有する有形のコンピュータ可読媒体。

0165

EC149)EC124記載の有形のコンピュータ可読媒体において、前記コントローラは、少なくとも1つのストレージインターフェース規格と適合した少なくとも1つのストレージインターフェースを介してホストにインターフェースする有形のコンピュータ可読媒体。

0166

EC150)EC124記載の有形のコンピュータ可読媒体において、前記コントローラは、少なくとも1つのフラッシュ・メモリ・インターフェースを介して前記ダイのうちの少なくとも1つにインターフェースする有形のコンピュータ可読媒体。

0167

EC151)EC124記載の有形のコンピュータ可読媒体において、前記NVMは少なくとも1つのフラッシュメモリを有する有形のコンピュータ可読媒体。

0168

EC152)装置であって、
書き込みデータの少なくともいくつかの特性を決定する書き込みデータ特性付けハードウェア論理回路と、
少なくとも部分的に前記特性に基づいて、1若しくはそれ以上の不揮発性メモリ(NVM)のブロックの複数の被管理グループのうちの1つを選択する被管理グループ選択ハードウェア論理回路と、
前記書き込みのデータを選択された被管理グループに書き込むメモリ書き込みハードウェア論理回路と
を有し、
記憶システムのコントローラに具備されており、
前記被管理グループの各々は1若しくはそれ以上の管理動作に関して管理され、前記管理動作は、再利用動作および書き込み割り振り動作のうちの任意の1若しくはそれ以上を有し、前記被管理グループの各々は、前記NVMのうちの少なくとも2つのダイによって提供される記憶を有する装置。

0169

EC153)EC152記載の装置において、前記被管理グループの各々は前記NVMのそれぞれの管理方式に対応する装置。

0170

EC154)EC153記載の装置において、前記それぞれの管理方式は前記それぞれの論理特性に従うものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定のECC方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する装置。

0171

EC155)EC153記載の装置において、前記それぞれの管理方式は前記それぞれの物理特性に従うものであり、前記物理特性は、もっぱら下位ページブロックだけを含むこと、およびもっぱら上位ページブロックだけを含むことを有する装置。

0172

EC156)EC153記載の装置において、前記それぞれの管理方式は前記それぞれの書き込みデータソースに従うものであり、前記書き込みデータソースは、コンピューティングホストが提供するホストデータ、再利用によって生成されるデータ、およびシステム動作によって生成されるデータを有する装置。

0173

EC157)EC152記載の装置において、前記被管理グループの各々は1若しくはそれ以上のR−ブロックを有する装置。

0174

EC158)EC152記載の装置において、前記被管理グループの各々はNVMの1若しくはそれ以上のブロックを有する装置。

0175

EC159)EC152記載の装置において、前記被管理グループの各々は複数の論理特性のうちの少なくとも1つに対応するものであり、前記論理特性は、頻繁に読み取られること、相対的により頻繁に書き込まれること、相対的にあまり頻繁に書き込まれないこと、圧縮不能であること、実行可能であること、回復不能であり、電源喪失後に保存される必要があること、回復可能であり、電源喪失後に保存される必要がないこと、特定の技法若しくは鍵を使用して暗号化されること、特定の技法若しくは鍵を使用して、または特定の誤り訂正符号(ECC)方式を用いて誤りから保護されること、再利用の対象とされること、および再利用の対象とされないことを有する装置。

0176

EC160)EC152記載の装置において、さらに、
前記被管理グループのうちの第1の被管理グループからのデータを前記被管理グループのうちの第2の被管理グループに再利用するリサイクラハードウェア論理回路を有するものであり、前記第2の被管理グループは、ホストによって直接書き込まれたデータと前記第1の被管理グループから再利用されたデータの両方を含む装置。

0177

EC161)EC152記載の装置において、前記書き込みデータは前記ホストからを受け取られる装置。

0178

EC162)EC152記載の装置において、前記書き込みデータは前記コントローラによって生成される装置。

0179

EC163)EC152記載の装置において、前記書き込みデータは、ユーザ書き込みデータ、書き換えデータ、システムデータ、書き換えシステムデータ、および書き換えユーザデータのうちの任意の1若しくはそれ以上を有する装置。

0180

EC164)EC163記載の装置において、前記システムデータはチェックポイントデータを有する装置。

0181

EC165)EC152記載の装置において、前記書き込みデータ特性付けハードウェア論理回路はヒントに応答するものである装置。

0182

EC166)EC165記載の装置において、前記ヒントは前記ホストから受け取られる装置。

0183

EC167)EC165記載の装置において、前記ヒントは前記書き込みデータが読み取り専用データまたは書き込み専用データのいずれか1つであることを指示する装置。

0184

EC168)EC152記載の装置において、前記書き込みデータ特性付けハードウェア論理回路はデータ整理エンジンを有する装置。

0185

EC169)EC168記載の装置において、前記特性は前記書き込みデータが実行可能であることを有する装置。

0186

EC170)EC168記載の装置において、前記特性は前記書き込みデータが圧縮不能であることを有する装置。

0187

EC171)EC168記載の装置において、前記特性は前記書き込みデータが整理不能であることを有する装置。

0188

EC172)EC152記載の装置において、前記特性は、前の書き込み回数、前の読み取り回数、前の読み取り対前の書き込みの比、書き込みデータが圧縮不能であるという指示、書き込みデータが圧縮可能であるという指示、書き込みデータが実行可能であるという指示、および書き込みデータが回復不能であるという指示のうちの任意の1若しくはそれ以上を有する装置。

0189

EC173)EC152記載の装置において、前記特性は、前記被管理グループの前に選択された被管理グループのうちの任意の1若しくはそれ以上を有する装置。

0190

EC174)EC152記載の装置において、前記被管理グループのうちの任意の1若しくはそれ以上は、書き込みデータ特性付けハードウェア論理回路によって、頻繁に読み取られる、頻繁に書き込まれる、圧縮不能である、実行可能である、および回復不能である、のうちの1若しくはそれ以上として特性付けされたデータを含むブロックのうちのブロックを有する装置。

0191

EC175)EC152記載の装置において、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および書き換えデータのうちのいずれか1つを含むブロックのうちのブロックだけを有する装置。

0192

EC176)EC152記載の装置において、前記被管理グループのうちの1若しくはそれ以上は、システムデータ、ユーザデータ、および/または書き換えデータのうちのいずれか1つ若しくは2つを含むブロックのうちのブロックだけを有する装置。

0193

EC177)EC152記載の装置において、前記被管理グループのうちの1若しくはそれ以上は、前記ブロックのうちの下位ページブロックだけまたは上位ページブロックだけの一方を有する装置。

0194

EC178)EC152記載の装置において、前記被管理グループのうちの第1の被管理グループと第2の被管理グループとは異なる誤り訂正を有する装置。

0195

EC179)EC152記載の装置において、さらに、
コントローラに具備され、前記コントローラと前記ホストとのインターフェースをとるストレージインターフェースを有するものであり、前記ストレージインターフェースは、少なくとも1つのストレージインターフェース規格と適合する装置。

0196

EC180)EC152記載の装置において、さらに、
前記コントローラに具備され、コントローラと前記ダイのうちの少なくとも1つとのインターフェースをとるフラッシュ・メモリ・インターフェースを有するものである装置。

0197

EC181)EC152記載の装置において、前記NVMは少なくとも1つのフラッシュメモリを有する装置。

0198

EC182)記憶インターフェース規格を有し、または参照する前述のECのうちいずれかであって、前記記憶インターフェース規格は、
ユニバーサルシリアルバス(USB)インターフェース規格
コンパクトフラッシュ登録商標)(CF)インターフェース規格、
マルチメディアカードMMC)インターフェース規格、
組み込みMMC(eMMC)インターフェース規格、
サンダーボルト(Thunderbolt)インターフェース規格、
FSインターフェース規格、
セキュアディジタル(SD)インターフェース規格、
メモリ・スティック・インターフェース規格、
xDピクチャカード・インターフェース規格、
統合ドライブエレクトロニクス(IDE)インターフェース規格、
シリアル・アドバンスドテクノロジアタッチメント(SATA)インターフェース規格、
外部SATA(eSATA)インターフェース規格、
小型コンピュータ・システム・インターフェース(SCSI)インターフェース規格、
シリアル小型コンピュータ・システム・インターフェース(SAS)インターフェース規格、
ファイバチャネル・インターフェース規格、
イーサネット(登録商標)(Ethernet(登録商標))インターフェース規格、および
周辺装置相互接続エクスプレスPCIe)インターフェース規格
のうち1若しくはそれ以上を有するEC。

0199

EC183)フラッシュ・メモリ・インターフェースを有し、または参照する前述のECのうちいずれかであって、前記フラッシュ・メモリ・インターフェースは、
オープンNANDフラッシュインターフェース(ONFI)、
トグルモードインターフェース、
ダブルデータレートDDR)同期インターフェース
DDR2同期インターフェース、
同期インターフェース、および
非同期インターフェース
のうち1若しくはそれ以上と適合するEC。

0200

EC184)ホストを有し、または参照する前述のECのうちいずれかであって、ホストは、
コンピュータ、
ワークステーションコンピュータ
サーバコンピュータ
ストレージサーバ
ストレージ・アタッチト・ネットワーク(SAN)、
ネットワーク・アタッチト・ストレージ(NAS)デバイス
ダイレクト・アタッチト・ストレージ(DAS)デバイス、
ストレージアプライアンス
パーソナルコンピュータ(PC)、
ラップトップコンピュータ
ノートブックコンピュータ
ネットブックコンピュータ、
タブレット機器またはタブレットコンピュータ
ウルトラブックコンピュータ、
電子読み出し装置(e−reader)、
携帯情報端末(PDA)
ナビゲーションンシステム
ハンドヘルド型全地球測位システム(GPS)機器
自動通信路制御システム、
自動車媒体制御システムまたは自動車媒体制御コンピュータ、
プリンタコピー機またはファックス機またはオールインワン機器、
販売時点POS)機器、
金銭登録機
メディアプレーヤ
テレビ
メディアレコーダ
ディジタル・ビデオレコーダ(DVR)、
ディジタルカメラ
セルラハンドセット
コードレス電話機ハンドセット、および
電子ゲーム
のうち1若しくはそれ以上を有するEC。

0201

EC185)少なくとも1つのフラッシュメモリを有し、または参照する前述のECのうちいずれかであって、前記少なくとも1つのフラッシュメモリの少なくとも一部分は、
NANDフラッシュ技術記憶セル、および
NORフラッシュ技術記憶セル
のうち1若しくはそれ以上を有するEC。

0202

EC186)少なくとも1つのフラッシュメモリを有し、または参照する前述のECのうちいずれかであって、少なくとも1つのフラッシュメモリの少なくとも一部分は、
シングルレベルセル(SLC)フラッシュ技術記憶セル、および
マルチレベルセルMLC)フラッシュ技術記憶セル
のうち1若しくはそれ以上を有するEC。

0203

EC187)少なくとも1つのフラッシュメモリを有し、または参照する前述のECのうちいずれかであって、前記少なくとも1つのフラッシュメモリの少なくとも一部分は、
多結晶シリコン技術ベース電荷蓄積セル、および
シリコン窒化膜技術ベースの電荷蓄積セル
のうち1若しくはそれ以上を有するEC。

0204

EC188)少なくとも1つのフラッシュメモリを有し、または参照する前述のECのうちいずれかであって、少なくとも1つのフラッシュメモリの少なくとも一部分は、
次元技術ベースのフラッシュメモリ技術、および
3次元技術ベースのフラッシュメモリ技術
のうち1若しくはそれ以上を有するEC。

0205

システム
ある実施形態では、SSDといった入出力装置SSDコントローラを有する。SSDコントローラはホストインターフェースとSSDのNVMとの間のブリッジとして働き、SSDのホストインターフェースを介してコンピューティングホストから送られるホストプロトコルコマンドを実行する。コマンドの少なくとも部分的に、SSDに、コンピューティングホストから送られたデータおよびコンピューティングホストに送られるデータについて、それぞれ、NVMの書き込みおよび読み出しを行うよう指図する。別の実施形態では、SSDコントローラは、マップを使用してホストプロトコルのLBAとNVM内の物理記憶アドレスとを変換することができるようになっている。別の実施形態では、マップの少なくとも一部分が、入出力装置の専用記憶(コンピューティングホストからは見えない)に使用される。例えば、コンピューティングホストからアクセスできないLBAの部分が、入出力装置によって、ログ、統計、または他の専用データへのアクセスを管理するのに使用される。

0206

ある実施形態では、NVM内の様々なサイズの量の圧縮データにアクセスすることにより、ある使用シナリオでは記憶効率が改善される。例えば、SSDコントローラは、コンピューティングホストから(例えばディスク書き込みコマンドに関連した)(圧縮されていない)データを受け取り、データを圧縮し、データをフラッシュメモリへ記憶する。コンピューティングホストからの(例えばディスク読み出しコマンドに関連した)後続の要求に応答して、SSDコントローラはフラッシュメモリから圧縮データを読み出し、圧縮データを解凍し、解凍されたデータをコンピューティングホストに提供する。圧縮データは、様々なサイズの量に従ってフラッシュメモリに記憶され、各量のサイズは、例えば、圧縮アルゴリズム、動作モード、様々なデータに関する圧縮有効性により変動する。SSDコントローラは、一部は、含まれるマップ表を調べて(1つまたは複数の)ヘッダがフラッシュメモリのどこに記憶されているか確認することによってデータを解凍する。SSDコントローラは、適切な(圧縮)データがフラッシュメモリのどこに記憶されているか確認するためにフラッシュメモリから得た(1つまたは複数の)ヘッダをパースする。SSDコントローラは、コンピューティングホストに提供すべき解凍データを生成するために、フラッシュメモリからの適切なデータを解凍する。本出願では、「解凍する(uncompress)」(およびその変形)は、「伸張する(decompress)」(およびその変形)と同義である。

0207

様々な実施形態では、SSDコントローラは、コンピューティングホストとインターフェースするためのホストインターフェースと、フラッシュメモリといったNVMとインターフェースするためのインターフェースと、各インターフェースを制御し、圧縮および解凍と共に、低レベル冗長性および/または誤り訂正、高レベル冗長性および/または誤り訂正、ならびに独立シリコン素子を用いた動的高レベル冗長性モード管理を行う(かつ/または行うことの様々な態様を制御する)ための回路とを有する。

0208

様々な実施形態によれば、あるホストインターフェースは、USBインターフェース規格CFインターフェース規格、MMCインターフェース規格、eMMCインターフェース規格、サンダーボルトインターフェース規格、UFSインターフェース規格、SDインターフェース規格、メモリ・スティック・インターフェース規格、xDピクチャ・カード・インターフェース規格、IDEインターフェース規格、SATAインターフェース規格、SCSIインターフェース規格、SASインターフェース規格、およびPCIeインターフェース規格のうち1若しくはそれ以上と適合する。様々な実施形態によれば、コンピューティングホストは、コンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ストレージサーバ、SAN、NASデバイス、DASデバイス、ストレージアプライアンス、PC、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレット機器またはタブレットコンピュータ、ウルトラブックコンピュータ、電子読み出し装置(e−readerなど)、PDA、ナビゲーションンシステム、(ハンドヘルド型)GPS機器、自動通信路制御システム、自動車媒体制御システムまたはコンピュータ、プリンタ、コピー機またはファックス機またはオールインワン機器、POS機器、金銭登録機、メディアプレーヤ、テレビ、メディアレコーダ、DVR、ディジタルカメラ、セルラハンドセット、コードレス電話機ハンドセット、および電子ゲームのうち全部または任意の部分である。ある実施形態では、インターフェースホスト(SAS/SATAブリッジなど)は、コンピューティングホストおよび/またはコンピューティングホストへのブリッジとして動作する。

0209

様々な実施形態では、SSDコントローラは、1若しくはそれ以上のプロセッサを有する。プロセッサは、SSDコントローラの動作を制御し、かつ/または行うためにファームウェアを実行する。SSDコントローラは、コマンドおよび/または状況ならびにデータを送り、受け取るためにコンピューティングホストと通信する。コンピューティングホストは、オペレーティングシステムドライバ、およびアプリケーションのうち1若しくはそれ以上を実行する。コンピューティングホストによるSSDコントローラとの通信は、任意選択で、かつ/または選択的に、ドライバおよび/またはアプリケーションによるものである。第1の例では、SSDコントローラへのすべての通信がドライバによるものであり、アプリケーションは、ドライバに高レベルコマンドを提供し、ドライバがそれをSSDコントローラのための特定のコマンドに変換する。第2の例では、ドライバはバイパスモードを実施し、アプリケーションは、ドライバを介してSSDコントローラに特定のコマンドを送ることができるようになっている。第3の例では、PCIe SSDコントローラが1若しくはそれ以上の仮想機能(Virtual Functions:VFs)をサポートし、アプリケーションが、一度構成されると、ドライバをバイパスしてSSDコントローラを直接通信することを可能にする。

0210

様々な実施形態によれば、あるSSDは、HDD、CDドライブDVDドライブといった磁気的不揮発性記憶および/または光学的不揮発性記憶によって使用されるフォームファクタ電気的インターフェース、および/またはプロトコルと適合する。様々な実施形態では、SSDは、0以上のパリティ符号、0以上のRS符号、0以上のBCH符号、0以上のビタビ符号または他のトレリス符号、および0以上のLDPC符号の様々な組み合わせを使用する。

0211

図1Aに、不揮発性メモリの領域への書き込みの管理および領域選択を行うSSDコントローラを含むSSDの実施形態の選択された詳細を図示する。SSDコントローラは、例えばNVM素子(フラッシュメモリなど)によって実装される不揮発性記憶を管理するためのものである。SSDコントローラ100は、1若しくはそれ以上の外部インターフェース110を介してホスト(図示せず)に通信可能に結合されている。様々な実施形態によれば、外部インターフェース110は、SATAインターフェース、SASインターフェース、PCIeインターフェース、ファイバ・チャネル・インターフェース、イーサネット(登録商標)(Ethernet(登録商標))インターフェース(登録商標)(Ethernet(登録商標))(10ギガビットイーサネット(登録商標)(Ethernet(登録商標))など)、前述のインターフェースのいずれかの非標準バージョンカスタムインターフェース、または記憶装置および/若しくは通信装置および/若しくはコンピューティング機器相互接続するのに使用される任意の他の種類のインターフェースのうちの1若しくはそれ以上である。例えば、ある実施形態では、SSDコントローラ100は、SATAインターフェースおよびPCIeインターフェースを含む。

0212

SSDコントローラ100は、さらに、1若しくはそれ以上のデバイスインターフェース190を介して、フラッシュデバイス192の1若しくはそれ以上のインスタンスといった、1若しくはそれ以上の記憶デバイスを有するNVM199に通信可能に結合されている。様々な実施形態によれば、デバイスインターフェース190は、非同期インターフェース、同期インターフェース、シングルデータレート(SDR)インターフェース、ダブルデータレート(DDR)インターフェース、DRAM互換DDR若しくはDDR2同期インターフェース、ONFI2.2やONFI3.0互換インターフェースといったONFI互換インターフェース、トグルモード互換フラッシュインターフェース、上記のインターフェースのいずれかの非標準バージョン、カスタムインターフェース、または記憶デバイスに接続するのに使用される任意の他の種類のインターフェースのうち1若しくはそれ以上である。

0213

フラッシュデバイス192の各々は、ある実施形態では、1若しくはそれ以上の個々のフラッシュダイ194を有する。フラッシュデバイス192のうち特定のフラッシュデバイスの種類に従って、特定のフラッシュデバイス192内の複数のフラッシュダイ194に、並列に、任意選択で、かつ/または選択的にアクセスすることができる。フラッシュデバイス192は、単に、SSDコントローラ100に通信可能に結合することが可能な記憶デバイスの一種を表しているにすぎない。様々な実施形態では、SLCNANDフラッシュメモリ、MLCNANDフラッシュメモリ、NORフラッシュメモリ、多結晶シリコン若しくはシリコン窒化膜技術ベースの電荷蓄積セルを使用したフラッシュメモリ、2次元若しくは3次元技術ベースのフラッシュメモリ、読み出し専用メモリスタティックランダム・アクセス・メモリ、ダイナミック・ランダム・アクセス・メモリ、強磁性メモリ、相変化メモリレーストラックメモリ、ReRAM、または任意の他の種類のメモリデバイス若しくは記憶媒体といった、任意の種類の記憶デバイスを使用することができる。

0214

様々な実施形態によれば、デバイスインターフェース190は、1つのバスにつきフラッシュデバイス192の1若しくはそれ以上のインスタンスを有する1若しくはそれ以上のバス;グループ内のバスにおおむね並列にアクセスさせる、1つのバスにつきフラッシュデバイス192の1若しくはそれ以上のインスタンスを有する1若しくはそれ以上のバスグループ;またはデバイスインターフェース190上へのフラッシュデバイス192の1若しくはそれ以上のインスタンスの任意の他の編成として編成される。

0215

引き続き図1Aにおいて、SSDコントローラ100は、ホストインターフェース111、データ処理121、バッファ131、マップ141、リサイクラ151、ECC161、デバイスインターフェース論理191、CPU171といった1若しくはそれ以上のモジュールを有する。図1Aに図示する具体的なモジュールおよび相互接続は、単に、一実施形態を表すにすぎず、これらのモジュールの一部または全部、および図示されていないさらに別のモジュールの多くの配置および相互接続が考えられる。第1の例として、ある実施形態では、デュアルポーティングを提供するための2つ以上のホストインターフェース111がある。第2の例として、ある実施形態では、データ処理121および/またはECC161がバッファ131と組み合わされている。第3の例として、ある実施形態では、ホストインターフェース111がバッファ131に直接結合されており、データ処理121が、バッファ131に記憶されたデータに任意選択で、かつ/または選択的に作用する。第4の例として、ある実施形態では、デバイスインターフェース論理191がバッファ131に直接結合されており、ECC161が、バッファ131に記憶されたデータに任意選択で、かつ/または選択的に作用する。

0216

ホストインターフェース111は、外部インターフェース110を介してコマンドおよび/またはデータを送受信し、ある実施形態では、タグ追跡113によって個々のコマンドの進捗を追跡する。例えば、コマンドは、読み出すべきアドレス(LBAなど)およびデータの量(LBA量、例えばセクタの数など)を指定する読み出しコマンドを有し、これに応答してSSDは、読み出し状況および/または読み出しデータを提供する。別の例として、コマンドは、書き込むべきアドレス(LBAなど)およびデータの量(LBA量、例えばセクタの数など)を指定する書き込みコマンドを有し、これに応答してSSDは、書き込み状況を提供し、かつ/または書き込みデータを要求し、任意選択でその後に書き込み状況を提供する。さらに別の例として、コマンドは、もはや割り振られる必要のなくなった1若しくはそれ以上のアドレス(1若しくはそれ以上のLBAなど)を指定する割り振り解除コマンド(trimコマンドなど)を有し、これに応答してSSDは、マップをしかるべく変更し、任意選択で割り振り解除状況を提供する。あるコンテキストでは、ATA互換TRIMコマンドが割り振り解除コマンドの例である。さらに別の例として、コマンドは、超コンデンサテスト・コマンドまたはデータハーデニング成功問い合わせを有し、これに応答してSSDは、適切な状況を提供する。ある実施形態では、ホストインターフェース111は、SATAプロトコルと適合し、NCQコマンドを使用して、最高32までの未処理のコマンドを有することができるようになっており、各コマンドは0から31までの数として表された一意のタグを有する。ある実施形態では、タグ追跡113は、外部インターフェース110を介して受け取ったコマンドのための外部タグを、SSDコントローラ100による処理の間にコマンドを追跡するのに使用される内部タグと関連付けることができるようになっている。

0217

様々な実施形態によれば、データ処理121は、任意選択で、かつ/または選択的に、バッファ131と外部インターフェース110との間で送られる一部または全部のデータを処理する、およびデータ処理121は、任意選択で、かつ/または選択的に、バッファ131に記憶されたデータを処理する、以下のうち1若しくはそれ以上が行われる。ある実施形態では、データ処理121は、1若しくはそれ以上のエンジン123を使用して、書式設定、書式設定の変更、符号変換、ならびに他のデータ処理および/または操作タスクのうち1若しくはそれ以上を行う。

0218

バッファ131は、外部インターフェース110からデバイスインターフェース190へ/デバイスインターフェース190から外部インターフェース110へ送られたデータを記憶する。ある実施形態では、バッファ131は、さらに、SSDコントローラ100によってフラッシュデバイス192の1若しくはそれ以上のインスタンスを管理するのに使用される、一部または全部のマップ表といったシステムデータも記憶する。様々な実施形態では、バッファ131は、データの一時記憶に使用されるメモリ137、バッファ131への、かつ/またはバッファ131からのデータの移動を制御するのに使用されるDMA133、ならびに高レベル誤り訂正および/または冗長性機能と、他のデータ移動および/または操作機能とを提供するのに使用されるECC−X135のうち1若しくはそれ以上を有する。高レベル冗長性機能の一例がRAID様の能力RASIEなど)であり、ディスクレベルではなく、フラッシュ・デバイス・レベル(フラッシュデバイス192のうち複数のものなど)および/またはフラッシュダイ・レベル(フラッシュダイ194など)の冗長性を備える。

0219

様々な実施形態によれば、以下のうち1若しくはそれ以上である。ECC161は、任意選択で、かつ/または選択的に、バッファ131とデバイスインターフェース190との間で送られる一部または全部のデータを処理する;およびECC161は、任意選択で、かつ/または選択的に、バッファ131に記憶されたデータを処理する。ある実施形態では、ECC161は、例えば1若しくはそれ以上のECC技法に従った低レベル誤り訂正および/または冗長性機能を提供するのに使用される。ある実施形態では、ECC161は、CRC符号ハミング符号、RS符号、BCH符号、LDPC符号、ビタビ符号、トレリス符号、硬判定符号軟判定符号、消去ベースの符号、任意の誤り検出および/または訂正符号、ならびに上記の任意の組み合わせのうち1若しくはそれ以上を実施する。ある実施形態では、ECC161は、1若しくはそれ以上の復号器LDPC復号器など)を有する。

0220

デバイスインターフェース論理191は、デバイスインターフェース190を介してフラッシュデバイス192のインスタンスを制御する。デバイスインターフェース論理191は、フラッシュデバイス192のプロトコルに従ってフラッシュデバイス192のインスタンスへ/からデータを送ることができるようになっている。デバイスインターフェース論理191は、デバイスインターフェース190を介したフラッシュデバイス192のインスタンスの制御を選択的に配列するスケジューリング193を有する。例えば、ある実施形態では、スケジューリング193は、フラッシュデバイス192のインスタンスへの操作を待ち行列に入れ、フラッシュデバイス192(またはフラッシュダイ194)のインスタンスの個々のインスタンスへの操作を、フラッシュデバイス192(またはフラッシュダイ194)のインスタンスの個々のインスタンスが利用可能になるに従って選択的に送ることができるようになっている。

0221

マップ141は、外部インターフェース110上で使用されるデータアドレス指定と、デバイスインターフェース190上で使用されるデータアドレス指定との間の変換を行い、表143を使用して外部データアドレスからNVM199内の位置へマップする。例えば、ある実施形態では、マップ141は、外部インターフェース110上で使用されるLBAを、表143によって提供されるマッピングにより、1若しくはそれ以上のフラッシュダイ194を対象とするブロックおよび/またはページアドレスに変換する。ドライブ製造または割り振り解除以来一度も書き込まれていないLBAでは、マップは、LBAが読み出された場合に返すべきデフォルト値指し示す。例えば、割り振り解除コマンドを処理するときに、マップは、割り振り解除されたLBAに対応するエントリがデフォルト値のうち1つを指し示すように変更される。様々な実施形態では、様々なデフォルト値があり、各々が対応するポインタを有する。複数のデフォルト値は、ある(例えば第1の範囲内の)割り振り解除されたLBAを1つのデフォルト値として読み出し、ある(例えば第2の範囲内の)割り振り解除されたLBAを別のデフォルト値として読み出すことを可能にする。デフォルト値は、様々な実施形態では、フラッシュメモリ、ハードウェア、ファームウェア、コマンドおよび/若しくはプリミティブ引数および/若しくはパラメータプログラマブルレジスタ、またはそれらの様々な組み合わせによって定義される。

0222

ある実施形態では、マップ141は、表143を使用して、外部インターフェース110上で使用されるアドレスと、デバイスインターフェース190上で使用されるデータアドレス指定との間の変換を行い、かつ/またはルックアップする。様々な実施形態によれば、表143は、1レベルマップ、2レベルマップ、マルチレベルマップ、マップキャッシュ圧縮マップ、あるアドレス空間から別のアドレス空間への任意の種類のマッピング、および上記の任意の組み合わせのうち1若しくはそれ以上である。様々な実施形態によれば、表143は、スタティック・ランダム・アクセス・メモリ、ダイナミック・ランダム・アクセス・メモリ、NVM(フラッシュメモリなど)、キャッシュメモリオンチップメモリオフチップメモリ、および上記の任意の組み合わせのうち1若しくはそれ以上を有する。

0223

ある実施形態では、リサイクラ151は、不要部分の整理を行う。例えば、ある実施形態では、フラッシュデバイス192のインスタンスは、ブロックが書き換え可能になる前に消去されなければならないブロックを有する。リサイクラ151は、例えば、マップ141によって維持されるマップをスキャンすることによって、フラッシュデバイス192のインスタンスのどの部分が実際に使用されているか(例えば、割り振り解除されているのではなく割り振られていること)を決定し、フラッシュデバイス192のインスタンスの未使用の(例えば割り振り解除された)部分を、未使用の部分を消去することによって書き込みに利用できるようにすることができるようになっている。別の実施形態では、リサイクラ151は、フラッシュデバイス192のインスタンスのより大きい連続した部分を書き込みに利用できるようにするために、フラッシュデバイス192のインスタンス内に記憶されたデータを移動することができるようになっている。

0224

ある実施形態では、フラッシュデバイス192のインスタンスは、異なる種類および/または属性のデータを記憶するための1若しくはそれ以上のバンドを保持するように、選択的に、かつ/または動的に構成され、管理され、かつ/または使用される。バンドの数、配置、サイズ、および種類は、動的に変更可能である。例えば、コンピューティングホストからのデータはホット(アクティブな)バンドに書き込まれ、リサイクラ151からのデータはコールド(あまりアクティブではない)バンドに書き込まれる。ある使用シナリオでは、コンピューティングホストが長い順次のストリームを書き込む場合には、ホットバンドのサイズが増大し、コンピューティングホストがランダムな書き込みを行い、またはわずかな書き込みしか行わない場合には、コールドバンドのサイズが増大する。

0225

CPU171は、SSDコントローラ100の様々な部分を制御する。CPU171は、CPUコア172を有する。CPUコア172は、様々な実施形態によれば、1若しくはそれ以上のシングルコアプロセッサまたはマルチコアプロセッサである。CPUコア172内の個々のプロセッサコアは、ある実施形態では、マルチスレッド化されている。CPUコア172は、命令および/またはデータのキャッシュおよび/またはメモリを有する。例えば、命令メモリは、CPUコア172が、SSDコントローラ100を制御するためのプログラム(ファームウェアとも呼ばれるソフトウェアなど)を実行することを可能にする命令を有する。ある実施形態では、CPUコア172によって実行されるファームウェアの一部または全部が、(例えば、図1BのNVM199のファームウェア106として図示されている)フラッシュデバイス192のインスタンス上に記憶される。

0226

様々な実施形態では、CPU171は、外部インターフェース110を介して受け取られるコマンドを、コマンドが進行している間に追跡し、制御するコマンド管理173、バッファ131の割り振りおよび使用を制御するバッファ管理175、マップ141を制御する変換管理177、データアドレス指定の整合性を制御し、例えば、外部データアクセス再利用データアクセスとの間の矛盾を回避するコヒーレンシ管理179、デバイスインターフェース論理191を制御するデバイス管理181、識別情報の変更および通信を制御する識別情報管理182、ならびに、任意選択で、他の管理部をさらに有する。CPU171によって果たされる管理機能は、そのいずれか、若しくは全部が、ハードウェア、ソフトウェア(CPUコア172上や、外部インターフェース110を介して接続されたホスト上で実行されるファームウェアなど)、またはそれらの任意の実施形態によって制御され、かつ/または管理され、あるいは、そのどれも、制御も管理もされないものである。

0227

ある実施形態では、CPU171は、性能統計の収集および/または報告SMARTの実施、電源逐次開閉機構の制御、電力消費の制御および/または調整、電源障害への応答、クロック速度の制御および/またはモニタリングおよび/または調整、ならびに他の管理タスクのうち1若しくはそれ以上といった、他の管理タスクを行うことができるようになっている。

0228

様々な実施形態は、SSDコントローラ100と同様の、例えば、ホストインターフェース111および/または外部インターフェース110の適応による、様々なコンピューティングホストを用いた動作と適合するコンピューティングホスト・フラッシュ・メモリ・コントローラを有する。様々なコンピューティングホストは、コンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ストレージサーバ、SAN、NASデバイス、DASデバイス、ストレージアプライアンス、PC、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレット機器またはタブレットコンピュータ、ウルトラブックコンピュータ、電子読み出し装置(e−readerなど)、PDA、ナビゲーションンシステム、(ハンドヘルド型)GPS機器、自動通信路制御システム、自動車媒体制御システムまたはコンピュータ、プリンタ、コピー機またはファックス機またはオールインワン機器、POS機器、金銭登録機、メディアプレーヤ、テレビ、メディアレコーダ、DVR、ディジタルカメラ、セルラハンドセット、コードレス電話機ハンドセット、および電子ゲームのうち1つまたはそれらの任意の組み合わせを有する。

0229

様々な実施形態では、SSDコントローラ(またはコンピューティングホスト・フラッシュ・メモリ・コントローラ)の全部または任意の部分が、単一のIC、マルチダイICの単一のダイ、マルチダイICの複数のダイ、または複数のIC上で実施される。例えば、バッファ131は、SSDコントローラ100の他の要素と同じダイ上に実施される。別の例では、バッファ131は、SSDコントローラ100の他の要素と異なるダイ上に実施される。

0230

図1Bに、図1AのSSDの1若しくはそれ以上のインスタンスを有するシステムの様々な実施形態の選択された詳細を図示する。SSD101は、デバイスインターフェース190を介してNVM199に結合されたSSDコントローラ100を有する。図には、様々な種別の実施形態、すなわち、ホストに直接結合された単一のSSD、各々がそれぞれの外部インターフェースを介してホストに直接それぞれ結合されている複数のSSD、および様々な相互接続要素を介してホストに間接的に結合された1若しくはそれ以上のSSDが示されている。

0231

ホストに直接結合された単一のSSDの例示的実施形態としては、SSD101の1つのインスタンスが、外部インターフェース110を介してホスト102に直接結合される(例えば、スイッチ/ファブリック/中間コントローラ103が省かれ、バイパスされ、またはパススルーされる)。各々がそれぞれの外部インターフェースを介してホストに直接結合されている複数のSSDの例示的実施形態としては、SSD101の複数のインスタンスの各々が、外部インターフェース110のそれぞれのインスタンスを介してホスト102に直接それぞれ結合される(例えば、スイッチ/ファブリック/中間コントローラ103が省かれ、バイパスされ、またはパススルーされる)。様々な相互接続要素を介してホストに間接的に結合された1若しくはそれ以上のSSDの例示的実施形態としては、SSD101の1若しくはそれ以上のインスタンスの各々が、ホスト102に間接的にそれぞれ結合される。各間接結合は、スイッチ/ファブリック/中間コントローラ103に結合された外部インターフェース110のそれぞれのインスタンス、およびホスト102に結合する中間インターフェース104を介したものである。

0232

スイッチ/ファブリック/中間コントローラ103を有する実施形態の一部は、メモリインターフェース180を介して結合された、SSDによってアクセス可能カードメモリ112Cも有する。様々な実施形態では、SSD、スイッチ/ファブリック/中間コントローラ、および/またはカードメモリのうち1若しくはそれ以上が、物理的に識別可能なモジュール、カード、または差し込み可能な要素(入出力カード116など)上に含まれる。ある実施形態では、SSD101(またはその変形)は、ホスト102として動作するイニシエータ開始プログラム)に結合されたSASドライブまたはSATAドライブに対応する。

0233

ホスト102は、OS105、ドライバ107、アプリケーション109、マルチデバイス管理ソフトウェア114の様々な組み合わせといった、ホストソフトウェア115の様々な要素を実行することができるようになっている。点線矢印107Dは、ホストソフトウェア←→入出力装置通信、例えば、SSD101のインスタンスのうち1若しくはそれ以上から/へ、ドライバ107を介したOS105、ドライバ107、および、ドライバ107を介して、またはVFとして直接アプリケーション109のうち任意の1若しくはそれ以上へ/から送られ/受け取られるデータを表す。

0234

OS105は、SSDとインターフェースするための(概念的にはドライバ107によって図示されている)ドライバを有し、かつ/またはそのようなドライバを用いて動作することができるようになっている。Windows(登録商標)の様々なバージョン(95、98、ME、NT、XP、2000、サーバ、Vista、および7など)、Linux(登録商標)の様々なバージョン(Red Hat、Debian、およびUbuntuなど)、ならびにMacOSの様々なバージョン(8、9およびXなど)がOS105の例である。様々な実施形態では、ドライバは、SATA、AHCI、NVM Expressといった標準のインターフェースおよび/またはプロトコルを用いて動作する標準のドライバおよび/または汎用のドライバ(「シュリンクラップされた(市販の)」または「プリインストールされた」ともいう)であり、あるいは、任意選択で、SSD101に特有のコマンドの使用を可能にするようにカスタマイズされており、かつ/またはベンダ特有のものである。あるドライブおよび/またはドライバは、アプリケーションレベルのプログラム、例えば最適化NANDアクセス(Optimized NAND Access)(ONAともいう)または直接NANDアクセス(Direct NAND Access)(DNAともいう)の各技法によるアプリケーション109などが、コマンドをSSD101に直接伝えることを可能にするパススルーモードを有し、カスタマイズされたアプリケーションが、汎用ドライバとでさえもSSD101に特有のコマンドを使用することを可能にする。ONAの技法は、非標準変更子(hints)の使用、ベンダ特有のコマンドの使用、非標準の統計の通信、例えば圧縮可能性に従った実際のNVMの使用、および他の技法のうち1若しくはそれ以上を有する。DNAの技法は、NVMへのマップされていない読み出し、書き込み、および/または消去アクセスを提供する非標準のコマンドまたはベンダ特有の(コマンド)の使用、例えば、入出力装置が通常は行うはずのデータの書式設定をバイパスすることによる、NVMへのより直接的なアクセスを提供する非標準の、またはベンダ特有のコマンドの使用、および他の技法のうち1若しくはそれ以上を有する。ドライバの例は、ONAまたはDNAサポートなしのドライバ、ONA使用可能ドライバ、DNA使用可能ドライバ、ONA/DNA使用可能ドライバである。ドライバの別の例は、ベンダ提供ドライバ、ベンダ開発ドライバ、および/またはベンダ拡張ドライバ、ならびにクライアント提供ドライバ、クライアント開発ドライバ、および/またはクライアント拡張ドライバである。

0235

アプリケーションレベルのプログラムの例は、ONAまたはDNAサポートなしのアプリケーション、ONA使用可能アプリケーション、DNA使用可能アプリケーション、およびONA/DNA使用可能アプリケーションである。点線矢印109Dは、アプリケーション←→入出力装置通信(ドライバによるバイパスや、アプリケーションのためのVFによるバイパスなど)、例えば、OSを仲介として使用するアプリケーションなしでSSDと通信するONA使用可能アプリケーションおよびONA使用可能ドライバなどを表す。点線矢印109Vは、アプリケーション←→入出力装置通信(アプリケーションのためのVFによるバイパスなど)、例えば、OSまたはドライバを仲介として使用するアプリケーションなしでSSDと通信するDNA使用可能アプリケーションおよびDNA使用可能ドライバなどを表す。

0236

NVM199の1若しくはそれ以上の部分が、ある実施形態では、ファームウェア記憶、例えばファームウェア106に使用される。ファームウェア記憶は、1若しくはそれ以上のファームウェアイメージ(またはその部分)を有する。ファームウェアイメージは、例えばSSDコントローラ100のCPUコア172によって実行される、例えばファームウェアの1若しくはそれ以上のイメージを有する。ファームウェアイメージは、別の例では、例えばファームウェア実行時にCPUコアによって参照される、定数パラメータ値、NVMデバイス情報の1若しくはそれ以上のイメージを有する。ファームウェアのイメージは、例えば、現在のファームウェアイメージおよび0以上の(ファームウェア更新に対して)前のファームウェアイメージに対応する。様々な実施形態では、ファームウェアは、汎用動作モード、標準動作モード、ONA動作モード、および/またはDNA動作モードを提供する。ある実施形態では、ファームウェア動作モードのうち1若しくはそれ以上が、ドライバによって任意選択で伝えられ、かつ/または提供される、鍵または様々なソフトウェア技法によって使用可能とされる(例えば、1若しくはそれ以上のAPIが「ロック解除」される)。

0237

スイッチ/ファブリック/中間コントローラを欠くある実施形態では、SSDは、外部インターフェース110を介して直接ホストに結合される。様々な実施形態では、SSDコントローラ100は、RAIDコントローラといった他のコントローラの1若しくはそれ以上の中間レベルを介してホストに結合される。ある実施形態では、SSD101(またはその変形)は、SASドライブまたはSATAドライブに対応し、スイッチ/ファブリック/中間コントローラ103は、イニシエータにさらに結合されたエキスパンダに対応し、あるいは、スイッチ/ファブリック/中間コントローラ103は、エキスパンダを介してイニシエータに間接的に結合されたブリッジに対応する。ある実施形態では、スイッチ/ファブリック/中間コントローラ103は、1若しくはそれ以上のPCIeスイッチおよび/またはファブリックを有する。

0238

様々な実施形態、例えば、コンピューティングホストとしてのホスト102(コンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ストレージサーバ、SAN、NASデバイス、DASデバイス、ストレージアプライアンス、PC、ラップトップコンピュータ、ノートブックコンピュータ、および/またはネットブックコンピュータなど)を有する実施形態のあるものでは、コンピューティングホストは、任意選択で、1若しくはそれ以上のローカルサーバおよび/またはリモートサーバ(例えば、任意選択のサーバ118)と(例えば、任意選択の入出力装置/リソースおよび記憶装置/リソース117および任意選択のLAN/WAN119を介して)通信することができるようになっている。通信は、例えば、SSD101要素のうち任意の1若しくはそれ以上のローカルおよび/またはリモートのアクセス、管理、および/または使用を可能にする。ある実施形態では、通信は、全部または一部がイーサネット(登録商標)(Ethernet(登録商標))によるものである。ある実施形態では、通信は、全部または一部がファイバチャネルによるものである。LAN/WAN119は、様々な実施形態では、1若しくはそれ以上のローカル・エリア・ネットワークおよび/または広域ネットワーク、例えば、サーバファーム内のネットワーク、サーバファームを結合するネットワーク、メトロエリアネットワーク、およびインターネットのうち任意の1若しくはそれ以上を表す。

0239

様々な実施形態では、1若しくはそれ以上のNVMと組み合わされたSSDコントローラおよび/またはコンピューティングホスト・フラッシュ・メモリ・コントローラが、USB記憶コンポーネント、CF記憶コンポーネント、MMC記憶コンポーネント、eMMC記憶コンポーネント、サンダーボルト記憶コンポーネント、UFS記憶コンポーネント、SD記憶コンポーネント、メモリスティック記憶コンポーネント、xDピクチャカード記憶コンポーネントといった不揮発性記憶コンポーネントとして実施される。

0240

様々な実施形態では、SSDコントローラ(またはコンピューティングホスト・フラッシュ・メモリ・コントローラ)の全部またはいずれかの部分、またはその機能が、コントローラが結合されるべきホスト(図1Bのホスト102など)において実施される。様々な実施形態では、SSDコントローラ(若しくはコンピューティングホスト・フラッシュ・メモリ・コントローラ)の全部またはいずれかの部分、またはその機能が、ハードウェア(論理回路など)、ソフトウェアおよび/若しくはファームウェア(ドライバソフトウェアおよび/若しくはSSD制御ファームウェアなど)、またはそれらの任意の組み合わせによって実施される。例えば、(例えば図1AのECC161および/またはECC−X135と同様の)ECC部の、またはECC部と関連付けられた機能が、一部はホスト上のソフトウェアによって、一部はSSDコントローラ内のファームウェアとハードウェアとの組み合わせによって実施される。別の例として、(例えば図1Aのリサイクラ151と同様の)リサイクラ部の、またはリサイクラ部と関連付けられた機能が、一部はホスト上のソフトウェアによって、一部はコンピューティングホスト・フラッシュ・メモリ・コントローラ内のハードウェアによって実施される。

0241

マッピング操作
図2に、LBAのLPN部分のマッピングの実施形態の選択された詳細を図示する。ある実施形態では、読み出し単位は、NVMのページの部分といった、独立に読み出すことのできるNVMの最も細かい粒度である。別の実施形態では、読み出し単位は、検査ビットによって保護されるすべてのデータに(低レベル)誤り訂正符号の検査ビット(冗長性ともいう)を加えたものに対応する。例えば、図1AのECC161は、検査ビットによる、例えばLDPC符号による誤り訂正を実施し、読み出し単位は、LDPC符号化ビットによって保護されるデータビットにLDPC符号を加えたものを実施する符号化ビットに対応する。

0242

ある実施形態では、マップ141は、LBA211のLPN213部分を、例えば(図1Aに図示される)表143によって、LPNのためのマップ情報221にマップする。LPNのためのマップ情報(例えばLPNのためのマップ情報221)をマップエントリともいう。マップ141は、LPNを対応するマップエントリと関連付けるといわれる。様々な実施形態では、マッピングは、1若しくはそれ以上の連想ルックアップ、1若しくはそれ以上の非連想ルックアップ、および/または1若しくはそれ以上の他の技法によるものである。

0243

ある実施形態では、SSDコントローラ100は、潜在的に、かつ/またはアクティブに使用されているLPNごとに1つのマップエントリを維持する。

0244

ある実施形態では、LPNのためのマップ情報221は、それぞれの読み出し単位アドレス223および読み出し単位での長さ225を有する。ある実施形態では、長さおよび/または範囲は、例えば、読み出し単位での長さ225の全部またはいずれかの部分において、例えば、長さを範囲からのオフセットとして記憶することによって、符号化して記憶される。別の実施形態では、第1のLPNは第1のマップエントリと関連付けられており、(第1のLPNと異なるが、第1のLPNによって参照される論理ページと同サイズの論理ページを参照する)第2のLPNは第2のマップエントリと関連付けられており、第1のマップエントリのそれぞれの読み出し単位での長さは、第2のマップエントリのそれぞれの読み出し単位での長さと異なる。

0245

様々な実施形態では、同じ時点において、第1のLPNは第1のマップエントリと関連付けられており、(第1のLPNと異なる)第2のLPNは第2のマップエントリと関連付けられており、第1のマップエントリのそれぞれの読み出し単位アドレスは、第2のマップエントリのそれぞれの読み出し単位アドレスと同じである。別の実施形態では、第1のLPNと関連付けられたデータおよび第2のLPNと関連付けられたデータは、どちらも、NVM199内の同じデバイスの同じ物理ページに記憶されている。

0246

様々な実施形態によれば、読み出し単位アドレス223は、NVM内の開始アドレス、NVM内の終了アドレス、上記のいずれかのオフセット、およびLPN213と関連付けられたNVMの部分を特定するための任意の他の技法のうち1若しくはそれ以上と関連付けられている。

0247

図3に、読み出し単位の量で測った長さを総体として有する、様々な読み出し単位として編成された読み出しデータを生成するための、読み出し単位アドレスのところのNVMへのアクセスの実施形態の選択された詳細を図示する。様々な実施形態によれば、最初の読み出し単位313は、NVMのアドレス空間における最低のアドレスを有する読み出しデータ311内の読み出し単位のうち1つ、読み出し単位のうち固定された1つ、読み出し単位のうち任意の1つ、読み出し単位のうち可変の1つ、および任意の他の技法によって選択される読み出し単位のうち1つのうち1若しくはそれ以上である。様々な実施形態では、SSDコントローラ100は、NVM199にアクセスし、読み出し単位での長さ225によって指定される数以下の数の読み出し単位を読み出すことによって読み出しデータ311を生成することができるようになっている。

0248

図4Aに、(図3の読み出し単位313や読み出し単位315といった)読み出し単位の実施形態の選択された詳細を読み出し単位401Aとして図示する。様々な実施形態および/または使用シナリオにおいて、ヘッダ1 411AからヘッダN 419Aは連続しており、ヘッダの各々によって(例えばそれぞれのオフセットにより)特定されるそれぞれのデータ領域は、ヘッダの最後のものに後に続いて連続している。各データ領域は総体としてデータバイト421Aを形成している。各データ領域は、各ヘッダが記憶される位置順と一致した位置順で記憶される。例えば、読み出し単位の先頭のところの第1のヘッダを考えると、第2のヘッダおよび第3のヘッダは、第1のヘッダのすぐ後に続く。(第1のヘッダ内の第1のオフセットによって特定される)第1のデータ領域は第3のヘッダのすぐ後に続く。(第2のヘッダ内の第2のオフセットによって特定される)第2のデータ領域は第1のデータ領域のすぐ後に続く。同様に、(第3のヘッダ内によって特定される)第3データ領域も第2のデータ領域のすぐ後に続く。

0249

図4Bに、(図3の読み出し単位313や読み出し単位315といった)読み出し単位の別の実施形態の選択された詳細を読み出し単位401Bとして図示する。様々な実施形態および/または使用シナリオにおいて、ヘッダマーカ(HM)410Bは、後に続く連続したヘッダ(ヘッダ1 411B、ヘッダ2 412B...ヘッダN 419B)の数を指示する任意選択の最初のフィールド(例えば1バイトのフィールド)である。データ領域(データバイト421B、データバイト422B...データバイト429B)は、それぞれ、ヘッダ(ヘッダ1 411B、ヘッダ2 412B...ヘッダN 419B)によって特定され、ヘッダが記憶される位置順とは逆の位置順で記憶される。ヘッダは読み出し単位の先頭から開始し、対応するデータ領域は読み出し単位の末尾から開始する。ある実施形態では、データ領域内のデータバイト(例えば、データバイト421B、データバイト422B...データバイト429B)は、前方順(位置順と一致するバイト順)に配置され、別の実施形態では、データバイトは、逆順(位置順に対して反転されたバイト順)に配置される。ある実施形態では、ヘッダマーカが、(例えば図4Aに示すように)ヘッダおよびデータバイトが同じ位置順で記憶されている読み出し単位で使用される。

0250

ある実施形態では、任意選択のパディングバイト431A(または431B)は、特定のLPNと関連付けられたデータの粒度に従ったものである。例えば、ある実施形態では、データバイト421A(またはデータバイト421B、データバイト422B...データバイト429Bの総体)が、ヘッダ1 411AからヘッダN 419Aまで(またはヘッダ1 411B、ヘッダ2 412B...ヘッダN 419B)の最後のヘッダを除くすべてのヘッダと関連付けられたデータを記憶した後で、決まった量、例えば8バイトより少ない残りのスペースを有する場合には、最後のヘッダと関連付けられたLPNのデータは後続の読み出し単位において開始する。別の実施形態では、最後のヘッダ内の特定のオフセット値(例えばすべて1)が、最後のヘッダと関連付けられたLPNのデータが後続の読み出し単位において開始することを指示する。

0251

図5に、いくつかのフィールドを有するヘッダ(例えば、図4Aのヘッダ1 411AからヘッダN 419Aまでや、図4Bのヘッダ1 411Bからヘッダ 419Bまでのいずれか)の実施形態の選択された詳細を図示する。一部の実施形態では、ヘッダは固定長である(例えば、各ヘッダは同じバイト数の長さである)。ヘッダ501は、種類511、最終標識513、フラグ515、LPN517、長さ519、およびオフセット521の各フィールドを含む。種類フィールドは、データバイトのカテゴリ識別する。例えば、種類フィールドは、データバイトのカテゴリが、ホストデータ(論理ページデータなど)またはシステムデータ(マップ情報やチェックポイント情報など)の1つであることを指示する。最終フィールドは、ヘッダがデータバイトの前の最終ヘッダであることを指示する。ヘッダマーカを用いる一部の実施形態では、最終フィールドは任意選択で割愛される。LPNフィールドは、ヘッダが関連付けられているLPNである。LPNフィールドは、特定のLPNと関連付けられたヘッダのうちの特定のヘッダを、例えば、特定のLPNと一致するLPNフィールドを有するヘッダを求めてヘッダをサーチすることによって決定するためのヘッダのパーシングを可能にする。長さフィールドは、データバイトのバイト単位の長さ(例えば、ヘッダ501と関連付けられたデータバイト421Aに何バイトのデータがあるか)である。一部の実施形態では、オフセットフィールド内のオフセットは、特定の粒度(8バイトの粒度など)に従って丸められる。

0252

様々な実施形態では、特定のLPNと関連付けられた一部または全部の情報が、特定のLPNと関連付けられたマップエントリ、特定のLPNと関連付けられたヘッダ、またはその両方に記憶される。例えば、一部の実施形態では、長さ519の一部または全部が、ヘッダではなくマップエントリに記憶される。

0253

図6に、論理スライスおよび/またはセクションとして管理される複数のNVMデバイス(1若しくはそれ以上のフラッシュダイおよび/またはフラッシュチップなど)のブロック、ページ、および読み出し単位の実施形態の選択された詳細を示す。管理機能は、読み出し機能、再利用機能消去機能プログラミング書き込み機能、および他の管理機能のうちの任意の1若しくはそれ以上を含む。論理スライスおよび/またはセクションはR−ブロックと呼ばれることもある。図には、66個のフラッシュダイを有する実施形態が示されている。フラッシュダイのうちの3つは明示的に図示されており(フラッシュダイ610.65、610.1、および610.0)、フラッシュダイのうちの63個は暗黙的に図示されている(610.64...610.2)。

0254

フラッシュダイの各々(フラッシュダイ610.65...610.1、および610.0のうちの任意の1つなど)は、ブロック(フラッシュダイ610.65のブロック610.65BB...610.65B1、および610.65B0;フラッシュダイ610.0のブロック610.0BB...610.0B1、および610.0B0;以下同様など)として編成された記憶を提供する。各ブロックはさらに、ページ(ブロック610.65B0のページ610.65PP...610.65P1、および610.65P0;ブロック610.0B0のページ610.0PP...610.0P1、および610.0P0;以下同様など)を含む。各ページはさらに、読み出し単位(ページ610.65P0の読み出し単位610.65RR...610.65R1、610.65R0;ページ610.0P0読み出し単位610.0RR...610.0R1、610.0R0;以下同様など)を含む。

0255

ある実施形態では、各フラッシュダイは整数個のブロック(N個のブロックなど)を含み、1ブロックは消去の最小量である。ある実施形態では、各ブロックは整数個のページを含み、1ページは書き込みの最小量である。様々な実施形態によれば、以下のうちの1若しくはそれ以上が該当する:読み出し単位は読み出しおよび誤り訂正の最小量である;各ページは整数個の読み出し単位を含む;関連付けられた2若しくはそれ以上のページのグループは整数個の読み出し単位を含む;ならびに読み出し単位は、任意選択で、かつ/または選択的にページ境界にまたがる。

0256

様々な実施形態において、様々なNVM管理機能(読み取り、再利用、消去、および/またはプログラミング/書き込みなど)はR−ブロック単位で行われる。R−ブロックは、フラッシュメモリなどの様々なダイ(例えば、すべてのダイ、全部若しくは一部に障害のあるダイを除くすべてのダイ、および/またはダイのうちの1若しくはそれ以上の選択サブセットなど)にまたがる論理スライスまたはセクションとして例示される。例えば、R個のフラッシュダイを有し、各フラッシュダイがN個のブロックを有するフラッシュメモリにおいて、各R−ブロックは、合計でN個のR−ブロックについて、フラッシュダイの各々からの第iのブロックを合わせたものである。別の例では、R個のフラッシュダイを有し、各フラッシュダイがN個のブロックを有するフラッシュメモリにおいて、各R−ブロックは、合計でN/2個のR−ブロックについて、フラッシュダイの各々からの第iおよび第(i+1)のブロックである。さらに別の例では、複数のデュアル・プレーン・デバイスを有するフラッシュメモリにおいて、各R−ブロックは、デュアル・プレーン・デバイスの各々からの第iの偶数ブロックおよび第iの奇数ブロックである。最後の例では、R個のフラッシュダイを有し、各フラッシュダイがN個のブロックを有するフラッシュメモリにおいて、各R−ブロックは、合計でN/k個のR−ブロックについて、フラッシュダイの各々からの第iから第(i+k−1)までのブロックである。

0257

R−ブロック形成の一部としてブロックが対または他の関連付けられたグループとして処理される様々な実施形態において、ブロックの関連付けられたグループの各ブロックからのそれぞれのページは、より大きいマルチブロックページを形成する、少なくとも書き込みのための単位としても扱われる。例えば、前述のデュアルプレーンの例を続けると、偶数ブロックのうちの特定の1つの第1ページおよび奇数ブロックの関連付けられた1つの第1ページは、書き込みの単位として扱われ、任意選択で、かつ/または選択的に、読み出しの単位としても扱われる。同様に、特定の偶数ブロックの第2ページおよび関連付けられた奇数ブロックの第2ページも単位として扱われる。様々な実施形態によれば、本明細書で使用するNVMのページは、NVMの単一のページ、NVMのマルチブロックページ、任意選択で、かつ/または選択的に読み出しのための1若しくはそれ以上の個別ページとして扱われる書き込みのためのNVMのマルチブロックページ、およびNVMのページの任意の他のグループ化または関連付けのうちの1若しくはそれ以上を指す。

0258

図には、複数の例示的R−ブロックが示されており、そのうちの3つ(660.0、660.1、および660.R)が明示されている。各例示的R−ブロックは、フラッシュダイの各々からの第iのブロックを合わせたものである。例えば、R−ブロック660.0は、フラッシュダイ610.65からのブロック610.65B0、フラッシュダイ610.64からのブロック0(明示的に図示されていない)、以下同様にフラッシュダイ610.1のブロック610.1B0、およびラッシュダイ610.0のブロック610.0B0までである。1フラッシュダイ当たりN個のブロックがあるため、合計でN個のR−ブロック(R−ブロック660.R...R−ブロック660.1、およびR−ブロック660.0)がある。

0259

R−ブロックの別の例が、フラッシュダイの各々からの第iブロックおよび第(i+1)のブロックを合わせたものである(例えば、フラッシュダイ610.65からのブロック610.65B0および610.65B1、フラッシュダイ610.64からのブロック0および1(明示的に図示されていない)、以下同様にフラッシュダイ610.1からのブロック610.1B0および610.1B1、ならびにフラッシュダイ610.0からのブロック610.0B0および610.0B1まで)。よって、各フラッシュダイにN個のブロックがある場合には、N/2個のR−ブロックがある。R−ブロックのさらに別の例は、複数のデュアルプレーンデバイスの各々からの第iの偶数ブロックおよび第iの奇数ブロックである。R−ブロックとしての管理のためのフラッシュ・ダイ・ブロックの他の構成も企図されており、これは、たとえいくつかのブロックが動作不能であってもR−ブロックが各ダイからの1ブロックを有するようにするための仮想ブロックアドレス物理ブロックアドレスとの間のマッピングを含む。様々な実施形態において、各フラッシュダイ内のN個のブロックのうちのあるものは、仮想ブロックアドレスと物理ブロックアドレスとの間のマッピングが、R−ブロック内のブロックのうちの欠陥のあるブロックを置き換えるための予備の(通常は使用されない)ブロックを有するように予備として使用される。

0260

様々な実施形態において、フラッシュダイ内の情報の読み出しおよび/または書き込みは、「読み出し単位優先」順や「ページ優先」順といった順序に従って行われる。図に示す読み出し単位についての読み出し単位優先順の一例は、読み出し単位610.0R0から開始し、その後に、610.1R0...610.65R0、610.0R1、610.1R1...610.65R1が続き、以下同様に続いて610.65RRで終了する。図に示す読み出し単位についてのページ優先順の一例は、読み出し単位610.0R0から開始し、その後に、610.0R1...610.0RR、610.1R0、610.1R1...610.1RR...610.65R0、610.65R1が続き、以下同様に続いて610.65RRで終了する。

0261

様々な実施形態において、R−ブロック内のデータの書き込みおよび/またはストライピングの順序は(例えば最低から最高への)ページ優先で、すべてのデバイスに及び(例えば、ストライピング方向600で概念的に示唆するように、最低番号のデバイスから最高番号のデバイスへ)、次いで、次に高いページへ進み(すべてのデバイスに及び)、以下同様に、R−ブロックの最後のページまで続く。具体的には、R−ブロック660.0に関して、順序の一例は、ページ610.0P0(フラッシュダイ610.0の第1ブロック内の第1ページ)から開始し、その後に、ページ610.1P0(フラッシュダイ610.1の第1ブロック内の第1ページ)が続き、以下同様に、ページ610.65P0(フラッシュダイ610.65の第1ブロック、およびR−ブロック660.0の最後のブロック内の第1ページ)まで続く。この順序の例は続いてページ610.0P1(フラッシュダイ610.0の第1ブロック内の第2ページ)に進み、その後に、ページ610.1P1(フラッシュダイ610.1の第1ブロック内の第2ページ)が続き、以下同様に、ページ610.65P1(フラッシュダイ610.65の第1ブロック内の第2ページ)まで続く。例は同一の順で続く。この順序の例は、ページ610.0PP(フラッシュダイ610.0の第1ブロック内の最後のページ)に進み、その後に、ページ610.1PP(フラッシュダイ610.1の第1ブロック内の最後のページ)が続き、以下同様に、ページ610.65PP(フラッシュダイ610.65の第1ブロック内の最後のページ、およびR−ブロック660.0の最後のブロック内の最後のページ)で終了して完了する。

0262

様々な実施形態において、フラッシュダイ610.65...610.1、および610.0は、図1Aの1若しくはそれ以上の個別フラッシュダイ194のそれぞれのものに対応する。ある実施形態では、フラッシュダイ610.65...610.1、および610.0は、NVM199の全部ではない部分である。例えば、様々な実施形態において、データはフラッシュダイの複数のグループに亘って独立的にストライピングされ、フラッシュダイのグループの各々は独立にアクセス可能である。

0263

バンド選択
図7に、SSDのNVMの特定のバンドにデータを選択的に配置するSSDの実施形態の選択された詳細を概念的に図示する。概念的には、SSDのNVMへの書き込みは書き込みデータソース700の1若しくはそれ以上の要素から発生し、バンド管理710によって分析され、データ変換717によって変換され、SSDのNVMの特定のデータバンド730に配置される。

0264

ある実施形態では、書き込みデータソース700の要素がNVMに書き込みデータ708を提供する。書き込みデータソース700の要素の例には、ホストデータ701、再利用データ702、システムデータ703、および他のデータ704が含まれる。ある実施形態では、バンド管理710は書き込みデータソースのいくつかまたはすべての要素を全く同様に処理する。例えば、ある実施形態はシステムデータとホストデータとを全く同様に扱う。様々な実施形態において、書き込みデータソースは上記以外の要素を含む。ホストデータ701の一例は、(例えばホストインターフェース111を介して、またはホスト102から)ホストによって書き込まれたデータである。再利用データ702の一例は、(例えばリサイクラ151によって)書き換えられたデータである。システムデータ703の一例は、マップ711に関するデータである。ある実施形態では、システムデータ703はSSDコントローラ100によって生成される。他のデータ704は、ホストデータでも、再利用データでも、システムデータでもないデータを含む。

0265

ソースID706は、書き込みデータソースの要素間のマルチプレクサを制御し、どの要素が書き込みデータ708および関連付けられたソース情報707を提供するか指示する。ソース情報はバンド管理710に伝えられる。ソース情報の例には、書き込みデータのLBA、書き込みデータのLBA範囲、R−ブロックアドレス、および/または(例えば再利用データについて)以前に再利用データがどのバンドに配置されたかが含まれる。書き込みデータはデータ分析713に送られる。

0266

バンド管理710は、書き込みデータおよびソース情報の特性を決定し、適切なバンドを選択する。図示の実施形態では、バンド管理710は、複数のモジュール、すなわちマップ711、LBAカウンタアレイ712、データ分析713およびバンドセレクタ714を含む。

0267

図示の実施形態では、LBAカウンタアレイは、LBAへのアクセスの特性を追跡する(例えば、各々が、LBAまたは、例えば、隣接したLBAのグループへの読み取り/書き込み動作の数をそれぞれ追跡する複数のカウンタなど)。マップ711はLBAをNVMのブロックアドレスおよび/またはページアドレスに変換し、各マップエントリはLBAカウンタアレイ712の要素と関連付けられる。LBAカウンタアレイの要素は、各々が、関連付けられたLBAまたは、例えば、隣接したLBAのグループに関する情報をそれぞれ追跡する1若しくはそれ以上のカウンタを含む。様々な実施形態において、LBAカウンタアレイの各要素は、関連付けられたLBAへの読み取り、関連付けられたLBAへの書き込み、関連付けられたLBAへの読み取り対関連付けられたLBAへの書き込みの比、関連付けられたLBAへの連続した読み取り、関連付けられたLBAへの連続した書き込み、および関連付けられたLBAへの書き込みによって増分され、関連付けられたLBAへの読み取りによって減分されるカウンタのうちの1つ若しくは複数を含む。いくつかの実施形態では、ソース情報(LBAなど)を使用してLBAカウンタアレイがアクセスされ、LBAカウンタアレイの特定の要素から書き込みデータに関する情報が取り出される。

0268

図示の実施形態では、データ分析713は、書き込みデータ708の特性を決定する。一例として、データ分析は、書き込みデータのウィンドウがx86相対分岐命令であるように見える閾値数のデータバイトを含むかどうか調べ、よって、書き込みデータが実行可能データであると判定する。いくつかの実施形態では、実行可能データは、例えば、相対アドレス絶対アドレスに変換することによってさらに変換される。別の例として、データ分析は、書き込みデータが圧縮不能であるかどうか調べる(例えば、データは、JPEG、MP3、PDFMPEG、ZIPなどといった圧縮形式、または暗号化データである)。ある使用シナリオでは、実行可能データおよび圧縮不能データが特定の時間間隔にわたって書き込まれるよりも相対的により頻繁に読み取られ、ある実施形態では、特定のバンドに選択的に配置される。データ分析の様々な実施形態は、ソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせを含む。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ