JP5908106B2 - 妥当性マスクを記憶する装置および方法ならびに操作装置 - Google Patents

妥当性マスクを記憶する装置および方法ならびに操作装置 Download PDF

Info

Publication number
JP5908106B2
JP5908106B2 JP2014542361A JP2014542361A JP5908106B2 JP 5908106 B2 JP5908106 B2 JP 5908106B2 JP 2014542361 A JP2014542361 A JP 2014542361A JP 2014542361 A JP2014542361 A JP 2014542361A JP 5908106 B2 JP5908106 B2 JP 5908106B2
Authority
JP
Japan
Prior art keywords
page
validity
pages
memory cells
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014542361A
Other languages
English (en)
Other versions
JP2014534539A (ja
Inventor
アール. ナラム,スティーブン
アール. ナラム,スティーブン
Original Assignee
マイクロン テクノロジー, インク.
マイクロン テクノロジー, インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロン テクノロジー, インク., マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2014534539A publication Critical patent/JP2014534539A/ja
Application granted granted Critical
Publication of JP5908106B2 publication Critical patent/JP5908106B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本開示は、概して、半導体メモリ装置および方法に関して、より具体的には、妥当性マスクを記憶する装置および方法ならびに操作装置に関する。
メモリデバイスは一般的に、コンピュータまたはその他の電子デバイス内に内部の、半導体、集積回路として提供されている。揮発性および不揮発性メモリを含め多くの異なった型式のメモリがある。揮発性メモリは、例えばデータなどのその情報を維持するための電力を必要し得、とりわけ、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、スタティックランダムアクセスメモリ(SRAM)を含み得る。不揮発性メモリは、電力が供給されないときでも、記憶された情報を保持することによって、永続的な情報を提供し得、とりわけ、NANDフラッシュメモリ、NORフラッシュメモリ、読み取り専用メモリ(ROM)、電気的に消去可能なROM(EEPROM)、消去可能型ROM(EPROM)、および相変化ランダムアクセスメモリ(PCRAM)を含み得る。
メモリデバイスはソリッドステート駆動装置(SSD)を形成するために共に組み合され得る。ソリッドステート駆動装置は、様々なその他の不揮発性および揮発性メモリの中でも、例えば、NANDフラッシュメモリおよびNORフラッシュメモリなどの不揮発性メモリを含み得、および/または、例えば、DRAMおよびSRAMなどの揮発性メモリを含み得る。窒化層内の電荷トラップ内情報を記憶する半導体−酸化−窒化−酸化−半導体および金属−酸化−窒化−酸化−半導体キャパシタ構造体を使用した浮遊ゲートフラッシュデバイスおよび電荷トラップフラッシュ(CTF)デバイスを含むフラッシュメモリデバイスは、広範な電子機器用途のための不揮発性メモリとして活用されるかもしれない。フラッシュメモリデバイスは、一般的に高メモリ密度、高い信頼性、および少ない電力消費を可能にする一トランジスタ型メモリセルを使用する。
ソリッドステート駆動装置が性能、大きさ、重量、丈夫さ、操作温度域、および電力消費の見地からハード駆動装置よりも有利性を有していることから、SSDは計算システム用の主記憶デバイスとしてハードディスク駆動装置に取って代わり使用され得る。例えば、SSDは、可動部品がないので、磁気ディスク駆動装置と比較して優れた性能を有し得、検索時間、待機時間、および磁気ディスク駆動装置に関連付けられたその他の電子機構的な遅延を回避する可能性がある。SSD製造業者は、内部電池供給を使用しなくてもよいフラッシュSSDを作るために不揮発性フラッシュメモリを使用し得、それにより、駆動装置がより汎用かつ小型になることを可能にする。
SSDは、例えば、いくつかのメモリチップのようないくつかのメモリデバイスを含み得る(本明細書で使用されるとき、「いくつかの」物は1つ以上のそのような物を指し示し得、例えば、いくつかのメモリデバイスは1つ以上のメモリデバイスを指し示し得る)。当業者が理解することとして、メモリチップはいくつかのダイおよび/または論理ユニット(LUN)を含み得る。各ダイはその上にいくつかのメモリ配列および周辺回路を含み得る。メモリ配列は、いくつかの物理ページに編成されるいくつかのメモリセルを含み得、そして、物理ページはいくつかのブロックに編成され得る。
リダンダントアレイオブインデペンデントデバイス(RAID)は、複数のメモリデバイスの中でデータを分割および/または複製するコンピュータデータ記憶体系のための包括的な用語である。RAID配列内の複数のメモリデバイスは、ユーザおよびコンピュータのオペレーティングシステムにとっては、例えば、ディスクのような単一のメモリデバイスとして認識される可能性がある。
1つのブロックのいくつかのページのようなメモリデバイスの一部は破損し得、そして、データをそれらに書き込むこと、および/または、それらからデータを読み込むことができない可能性がある。破損したメモリデバイスの一部は、マスター記録の中で指摘される可能性がある。マスター記録の一部は、また、破損し得、かように、メモリデバイスの破損した部分を突き止める能力を失う。
本開示のいくつかの実施形態に従った計算システムの形式の装置の機能ブロック図である。 本開示のいくつかの実施形態に従った計算システム内に記憶されるいくつかの妥当性マスクの表を例示している。
本開示は、妥当性マスクを記憶する装置および方法ならびに操作装置を含む。装置を操作するためのいくつかの方法は、一群のページ内のいくつかのメモリセルのページに関連付けられ、その一群のページ内のそのいくつかのメモリセルのページに関する妥当性情報を提供する、妥当性マスクを記憶することを含む。
本開示の次の詳細な説明において、その一部を形成する添付図面に参照がなされ、その中で、例示によって、本開示のいくつかの実施形態がいかに実行される可能性があるかが示されている。これらの実施形態は、当業者が本開示の実施形態を実行できるようにするために十分詳細に記述されており、さらに、その他の実施形態が活用されてもよく、本開示の範囲を逸脱することなく、処理上の、電気的、および/または構造的な変更がされる可能性があることを理解されたい。
本明細書で使用されているときには、図面における参照番号に関して指示子「N」は、そのように指示されているいくつかの特定の特性が本開示のいくつかの実施形態と共に含まれ得るということを示している。さらに、本明細書で使用されているときには、「いくつかの」物は1つ以上のそのような物を指し示し得る。例えば、いくつかのメモリデバイスは1つ以上のメモリデバイスを指し示し得る。
本明細書における図は、最初の数字は図面番号に対応し、残りの数字は図面内での要素または構成部分を特定するという番号化規定に従っている。異なる図の間の類似の要素または構成部分が、類似する数字の使用によって特定される場合がある。例えば、150は図1では要素50を指し示し、類似の要素が図2では250として参照される場合がある。理解されることとして、ここで様々な実施形態において示される要素は、本開示のいくつかの追加的な実施形態を提供するために、追加、変更、および/あるいは削除され得る。さらに、理解されることとして、図に提示されている要素の比率および相対的な大きさは、本開示の実施形態を例示するために意図されており、限定された意味にとられるべきではない。
図1は本開示のいくつかの実施形態に従った少なくとも1つのメモリシステム104を含む計算システム100の形式の装置の機能ブロック図である。図1に例示されている実施形態において、メモリシステム104は、例えば、ソリッドステート駆動装置(SSD)は、物理ホストインターフェース106、メモリシステムコントローラ108、例えば、SSDコントローラ、およびいくつかのソリッドステートメモリデバイス110−1〜110−Nを含み得る。ソリッドステートメモリデバイス110−1〜110−Nは、メモリシステムに記憶ボリュームを提供することができる。いくつかの実施形態において、ソリッドステートメモリシステムコントローラ108は特定用途向け集積回路(ASIC)となり得、コントローラ108、例えば、ASICの形で、物理インターフェース106およびソリッドステートメモリデバイス110−1〜110−Nを含むプリント回路板に接続される。
図1に例示されているとおり、メモリシステムコントローラ108、例えば、ソリッドステートメモリシステムコントローラは、物理ホストインターフェース106およびソリッドステートメモリデバイス110−1〜110−Nに接続し得る。物理ホストインターフェース106は、メモリシステム104とホスト102のような別のデバイスとの間で情報を通信させるために使用され得る。ホスト102は、メモリアクセスデバイス、例えば、プロセッサを含み得る。当業者は、「プロセッサ」は、並列処理システム、いくつかのコプロセッサ、その他のような、いくつかのプロセッサを意図し得ることを理解する。ホストの事例は、ラップトップ型コンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル記録および再生デバイス、携帯電話、PDA、メモリカード読取器、インターフェースハブ、およびその他同種のものを含む。いくつかの実施形態のために、物理ホストインターフェース106は標準化された物理インターフェースの形でありうる。例えば、メモリシステム104が計算システム100内で情報記憶のために使用されているときに、物理ホストインターフェース106は、数あるインターフェースの中でも、シリアルアドバンストテクノロジーアタッチメント(SATA)の物理インターフェース、ペリフェラルコンポーネントインターコネクトエキスプレス(PCIe)の物理インターフェース、小型コンピュータシステムインターフェース(SCSI)のインターフェース、シリアルアタッチメントSCSI(SAS)インターフェース、またはユニバーサルシリアルバス(USB)の物理インターフェースとなり得る。通常、しかしながら、物理ホストインターフェース106は、メモリシステム104と物理ホストインターフェース106に対する互換レセプタを有するホスト102との間で制御、アドレス、情報、例えばデータ、およびその他の信号を送るためのインターフェースを提供し得る。
ソリッドステートメモリシステムコントローラ108は、数ある操作の中でも、情報を読み込み、書き込み、および消去するために、ソリッドステートメモリデバイス110−1〜110−Nと通信し得る。ソリッドステートメモリシステムコントローラ108は、いくつかの集積回路および/または別々の構成要素になる可能性のあるファームウェアおよび/または回路を有し得る。いくつかの実施形態のために、ソリッドステートメモリシステムコントローラ108内の回路はソリッドステートメモリデバイス110−1〜110−Nをまたいだアクセスを制御するための制御回路およびホスト102とメモリシステム104との間の変換層を提供するための回路を含んでもよい。このように、メモリコントローラは、適時に適切なI/O接続時に適切な信号を受信するために、ソリッドステートメモリデバイス110−1〜110−NのI/O接続(図1には示されていない)と選択的に連結することができる。同様に、ホスト102とメモリシステム104との間の通信プロトコルは、ソリッドステートメモリデバイス110−1〜110−Nのアクセスに必要とされるものとは違ってもよい。ソリッドステートメモリシステムコントローラ108は、その後、ソリッドステートメモリデバイス110−1〜110−Nへの所望のアクセスを達成するために、ホスト102から受信したコマンドを適切なコマンドに変換できる。
ソリッドステートメモリデバイス110−1〜110−Nは、共に関連し得るいくつかのメモリセルを含み得る。ここで使用されているときには、いくつかのメモリセルは、ページ、ブロック、プレーン、ダイ、配列全体、またはその他の関連付けとして、共に関連付けられ得る。例えば、メモリ配列によっては、1ブロックのメモリセルを構成するいくつかのメモリセルのページを含み得る。1ページのメモリセルは、単一の操作において読み込まれまたは書き込まれるそれらのメモリセルである。オールビットライン構造のようないくつかの場合には1ページのメモリセルは、一般的に特定のワード線に結合される1列のメモリセルとなり得る。密閉されたビットライン構造のようなその他の構造において、1ページのメモリセルは一般的に特定のワード線に結合される1列のメモリセルのうちの一つおきのメモリセルとなり得る(例えば、一般的に特定のワード線に結合される1列のメモリセルは2ページのメモリセルを含んでもよい:「奇数」ページと「偶数」ページ)。1ページのメモリセルを形成するメモリセルのその他の関連付けは、過去、現在、将来に存在してもよい。いくつかのブロックは、1つのプレーンのメモリセルに含まれ得る。いくつかのプレーンのメモリセルは1つのダイ上に含まれ得る。事例として、128GBメモリデバイスは、メモリセルの1ページ当り4320バイトのデータ、1ブロック当り128ページ、1プレーン当り2048ブロック、および1デバイス当り16プレーンを含み得るメモリセルのページを含み得る。
いくつかの実施形態において、各ソリッドステートメモリデバイス110−1〜110−Nは、個別のチャネルによって制御回路108と結合され得る。各チャネルは別々のチャネル制御回路と関連付けされ得る。
コントローラ108は、各チャネル制御回路に結合される、エラー修復(例えば、検出および/または訂正)回路112、例えば、エラー訂正コード(ECC)回路、および/または、2つ以上のチャネルと共に使用され得るいくつかのエラー修復(例えば、検出および/または訂正)回路を含み得る。エラー修復回路112は、ソリッドステートメモリデバイス110−1〜110−Nから読み込まれる情報と関連付けられたエラーを検出および/または訂正するよう構成され得る。エラー修復回路112は、シングルレベルセルおよび/またはマルチレベルセル(SLC/MLC)操作のための異なるエラー修復体系を提供するように構成され得る。
RAID配列において、ストライプ書き込み操作は、複数のページ書き込み操作、例えば、不揮発性メモリ制御回路に関連付けられた各チャネルごとに1ページの書き込み操作を含み得る。いくつかの実施形態において、ストライプ書き込み操作における複数のページの書き込み操作は、複数のチャネルをまたいで実質的に同時に遂行され得る。ページ書き込み操作は、メモリセルのページへのアクセスを許可し得る。ページ書き込みコマンドは、所望のチャネルメモリコントローラに送信され(例えば、キューに入れられ)得、いくつかのソリッドステートメモリデバイス110−1〜110−N上で実行され得る。例えば、ページ書き込み操作は、メタデータと共にソリッドステートメモリデバイス110−1〜110−N内のメモリセルのページの大きさによって、4キロバイト(KB)、8KB、または他の容量のユーザデータを含み得る。ページ書き込み操作からのデータは、チャネルメモリコントローラによって、書き込みバッファからソリッドステートメモリデバイス110−1〜110−Nに転送され得る。ストライプ書き込み操作のための書き込みデータは、ホスト、例えば、図1におけるホスト102から受信され得る。
書き込みデータは、複数のソリッドステートメモリデバイス110−1〜110−Nの記憶ボリューム全体にストライプ化され得る。例えば、ホストから受信される書き込みデータの第1の部分は、第1のメモリデバイスに書き込みされ得、第2の部分は第2のメモリデバイスに書き込まれ得る、等。データストライプベースの操作において書き込まれ得るが、データは依然としてページベースの操作において読み込まれてもよい。1ページのメモリセルに対する書き込みデータに含まれるデータ、例えば、ユーザデータに加えてメタデータなどは、妥当性マスクを含み得る。妥当性マスクは、データのいくつかのユニット、例えば、ビットを含み得、その中で、データの各ユニットは、ストライプ書き込み操作中の記憶ボリューム全体に書き込まれたメモリセルのそれぞれのページの妥当性状態を提供する。妥当性マスクの中でデータのユニットにより提供される妥当性状態は、1ページのメモリセルに関する妥当性情報を提供し得る。妥当性マスクは、RAID配列内のいくつかのメモリデバイスにストライプされたデータが修復されることになる、RAID修復操作中に使用され得る。妥当性マスクは、1ストライプのデータの中の1ページのメモリセルからのデータが妥当かどうか、したがって、RAID修復操作が1ページのメモリセルからのデータを修復するための試みをすべきかどうかを判定するために使用され得る。
メモリシステム104は、一群のメモリセルページに関連付けられた妥当性マスクを記憶し得る。妥当性マスクはいくつかのデータのビットを含み得、そこで、いくつかのビットの一部が、一群のページ内のいくつかのメモリセルのページに関する妥当性情報を提供する。妥当性マスクは、一群のページの1ページ、例えばターゲットページのメモリセル内に記憶され得、そして、妥当性マスクが記憶されるページ、例えば、ターゲットページのメモリセル、および一群のページのいくつかのその他のページのメモリセルに関する妥当性情報を含み得る。妥当性マスクは、1ページのメモリセル内に記憶されるメタデータの一部となり得、記憶されるそのページのメモリセルに関連付けられ得る。
いくつかの実施形態において、妥当性マスクは、メモリセルのページが書き込まれた順序に基づき、一群のページのいくつかのメモリセルのページに関する妥当性情報を記憶し得る。一群のページのメモリセルのページは既知の順番で書き込まれ、したがって、その一群のページの1ページのメモリセル内に記憶される妥当性マスクは、その妥当性マスクが記憶されるそのページのメモリセルの前および/または後に書き込まれたいくつかのメモリセルのページの妥当性情報を含む。例えば、妥当性マスクは、妥当性マスクが記憶されるそのページのメモリセルの前に書き込まれる特定の数のページのメモリセルおよび妥当性マスクが記憶されるそのページのメモリセルの後に書き込まれる特定の数のページのメモリセルに関する妥当性情報を含み得る。
いくつかの実施形態において、妥当性情報は、妥当性マスクとして記憶される、バイナリデータ値、例えば、「1」、「0」を表示するデータのビットに基づき得、そこでは、バイナリデータ値「1」は、そのビットに関連付けられたページのメモリセルは良好で、例えば、そのページのメモリセルにデータを書き込むこと、および/または、そのページのメモリセルからデータを読み込むことが可能で、そして、バイナリデータ値「0」は、そのビットに関連付けられたページのメモリセルは破損および/または不良であり、例えば、そのページのメモリセルにデータを書き込むこと、および/またはそのページのメモリセルからデータを読み込むことができない。1ページのメモリセルは、破損および/または不良が知らされ、書込み操作中にスキップされ得、かつ/あるいは1ページのメモリセルは、メモリデバイスの操作中に破損および/または不良となり得、そのページのメモリセルからデータの読み込みを試みる時に、読み取りエラーが発生する。妥当性情報は、読み込み不能の一群のページ内のデータを修復させようと試みるときに、メモリシステムによって使用され得る。メモリシステムは、読み込み不能の一群のページからの1ページのメモリセルが修復されるべきデータを有していたかを判定するために、妥当性マスクからの妥当性情報を使用し得る。例えば、読み込み不能の一群のページからの1ページのメモリセルが、妥当性マスクからの妥当性情報に基づいて、破損および/または不良であると知らされた場合には、そのページのメモリセルからのデータを修復させる試みは、ECC操作中および/またはRAID修復操作には行われず、例えば、ECC操作および/またはRAID修復操作は、妥当性マスク内の妥当性情報に基づきその一群のページの破損および/または不良のページのメモリセルをスキップし得る。
いくつかの実施形態において、妥当性マスクは一群のページのメモリセルの各ページに関する妥当性情報を含み得る。いくつかの実施形態において、妥当性マスクは一群のページのメモリセルのページの一部の妥当性情報を含み得る。妥当性マスク内に記憶された妥当性情報を有する一群のページのメモリセルのページの一部は、その一群のページのメモリセルのページが書き込まれる順序ならびに/または破損および/もしくは不良となるメモリセルのページ、例えば、それらにデータを書き込むこと、および/または、それらからデータを読み込むことができないメモリセルのページ上のデータを修復させるためECC操作および/またはRAID修復操作の能力に、基づき得る。例えば、妥当性マスクは、その妥当性マスクが記憶されるメモリセルのページの直前に書き込まれたメモリセルの15ページに関する妥当性情報およびその妥当性マスクが記憶されるメモリセルのページの直後に書き込まれたメモリセルの16ページに関する妥当性情報を含み得る。妥当性マスクは、例えば、ECC操作および/またはRAID修復操作を介して修復され得るよりも少なくとも1ページ多くなり得る、メモリセルの32ページに関する妥当性情報を含む。
図1に例示されている計算システム100は、例示されていることを越えて追加的な回路を含み得る。図1に例示されている計算システム100の詳細は、本開示の実施形態を不明瞭にしないために、簡略化されている。例えば、メモリシステム104は、I/O回路を通じたI/O接続を越えて提供されるアドレス信号をラッチさせるためのアドレス回路を含み得る。アドレス信号は、ソリッドステートメモリデバイス110−1〜110−Nにアクセスするために、列デコーダおよび行デコーダによって受信および復号され得る。アドレス入力接続数は、ソリッドステートメモリデバイス110−1〜110−Nの密度およびアーキテクチャに依存することについては、当業者により理解される。
図2は本開示のいくつかの実施形態に従った計算システムに記憶されるいくつかの妥当性マスクの表を例示している。図2は、いくつかのメモリセルのページに記憶されるいくつかの妥当性マスク、232−0、232−12、232−44、232−80、232−100、および232−127を例示している。いくつかのメモリセルのページはブロックのような、一群の一部であり、例えば、1ブロックは128ページを含み得る。図2において、妥当性マスク232−0はその一群のページ0に記憶され、妥当性マスク232−12はその一群のページ12に記憶され、妥当性マスク232−44はその一群のページ44に記憶され妥当性マスク232−80はその一群のページ80に記憶され、妥当性マスク232−100はその一群のページ100に記憶され、妥当性マスク232−127はその一群のページ127に記憶される。
妥当性マスク、232−0、232−12、232−44、232−80、232−100、および232−127は、それぞれが、その一群内のメモリセルのページ数を示す総数220;その妥当性マスクに関連付けられた一群内のメモリセルのページを示すオフセット222;第1ウィンドウ224;第2ウィンドウ226;第3ウィンドウ228;第4ウィンドウ230、を含み、各ウィンドウはその一群のメモリセルのページの妥当性状態を提供するいくつかのビットを含む。
いくつかの実施形態において、一群のページは、さらにメモリセルの8ページのウィンドウに分割され得、そこで、妥当性マスクに関連付けられたウィンドウは、その一群内のいくつかのメモリセルのページに関連付けられた妥当性マスク内のいくつかのビットを含み得る。例えば、各ウィンドウは8ビットを含み得、それぞれがその一群内の異なったメモリセルのページと関連付けられており、したがって、各ウィンドウはその一群内のメモリセルの8ページに関する妥当性情報を含んでいる。第1ウィンドウ224は、妥当性マスクが記憶されるメモリセルのページ以前に8ページ書き込まれたメモリセルのページを含むウィンドウ内のメモリセルの8ページに関する妥当性情報を含み得る。第2ウィンドウ226は、妥当性マスクが記憶されるメモリセルのページを含むウィンドウ内のメモリセルの8ページに関する妥当性情報を含み得る。第3ウィンドウ228は、妥当性マスクが記憶されるメモリセルのページ以後に8ページ書き込まれたメモリセルのページを含むウィンドウ内のメモリセルの8ページに関する妥当性情報を含み得る。第4ウィンドウ230は、妥当性マスクが記憶されるメモリセルのページ以後に16ページ書き込まれたメモリセルのページを含むウィンドウ内のメモリセルの8ページに関する妥当性情報を含み得る。
いくつかの実施形態において、妥当性マスク、232−0、232−12、232−44、232−80、232−100、および232−127は48ビットを含み得、そのうち8ビットは総数を提供し、8ビットはオフセットを提供し、一群のいくつかのメモリセルのページに関する妥当性情報を提供する4つのウィンドウの各々に8ビットが提供される。いくつかの実施形態において、いくつかのビットは妥当性情報を提供し得る。例えば、妥当性マスクはメモリセルの32ページに関する妥当性情報を提供する32ビットを含み得、そして、別の事例においては、妥当性マスクはメモリセルの48ページに関する妥当性情報を提供する48ビットを含み得る。妥当性情報を提供するために使用される妥当性マスク内のビット数は、妥当性マスクを記憶するために取っておかれる記憶の容量およびECC操作および/またはRAID修復操作中の使用のためにアクセス可能な妥当性情報を有することの要望に基づき得る。
いくつかの実施形態において、いくつかの妥当性マスクからの妥当性情報は、コンピュータシステム内の一群のページ内のメモリセルの各ページまたはメモリセルのページの各々のような、いくつかのメモリセルのページに関する妥当性情報を取得するために、組み合わせて使用され得る。一群のページ内のメモリセルのページの一部に関する妥当性情報を含む妥当性マスクは、一群のページ内のメモリセルの各ページに関する妥当性情報を取得するために、組み合わせられ得、それによって、その一群のページのメモリセルの特定のページに記憶される妥当性マスク内の全体のページのグループに関する妥当性情報を記憶する必要性を低減させる。妥当性マスクは、ECC操作および/あるいはRAID修復操作中に修復され得るメモリセルのページ数よりも少なくとも1つ多い数のページに関する妥当性情報を含み得る。したがって、一群のページのメモリセルの各ページに関する妥当性情報は、一群のページのメモリセルのページに記憶されている妥当性マスクを介して、および/またはECC操作および/あるいはRAID修復操作中に修復されたデータを通じて、知らされ得る。
いくつかの実施形態において、その他情報がある中で、計算システム内のメモリセルの各ページに関する妥当性状態を示すマスター記録は、計算システムのいくつかのメモリデバイス内に記憶され得る。マスター記録が破損した場合には、計算システムのメモリセルのページ内に記憶された妥当性マスクが、そのマスター記録を修復するために使用され得る。計算システムのメモリセルのページ内に記憶された妥当性マスクは、1ページのメモリセルの妥当性状態を判定するときに、マスター記録の代わりとしても使用され得る。
<結論>
本開示は、妥当性マスクを記憶する装置および方法ならびに操作装置を含む。装置を操作するためのいくつかの方法は、一群のページ内のいくつかのメモリセルのページに関連付けられ、その一群のページ内のそのいくつかのメモリセルのページに関する妥当性情報を提供する、妥当性マスクを記憶することを含む。
特定の実施形態が、ここに例示され、記述されているが、当業者は、同様の結果を達成するために算定される取り決めが、示されている特定の実施形態の代替となり得ることを理解する。この開示は、本開示のいくつかの実施形態の改造または変型を網羅することが意図されている。上記の記述は例示の形で行なわれたものであり、制限的ではないことを理解されたい。上記実施形態の組み合わせ、および、本明細書に具体的に記載されない他の実施形態は、上記説明を検討することにより当業者に理解される。本開示のいくつかの実施形態の範囲は、上記の構造および方法が使用されるその他の応用を含む。したがって、本開示のいくつかの実施形態の範囲は、付記された特許請求の範囲を、その特許請求の範囲が権限を有する均等物の完全な範囲を伴い、参照して判断されるべきである。
前述の発明を実施するための形態において、いくつかの特性は、開示を合理化する目的で、単一の実施形態に共に集められている。この開示の方法は、本開示の開示された実施形態が各請求項に明示的に引用されている以上の特性を使用しなければならないという意図を反映するものとして理解されない。逆に、以下の特許請求の範囲を反映するものとして、発明の主題は、単一の開示された実施形態のすべての特性より少ない中にある。このように、以下の特許請求の範囲は、各請求項がそれ自体で個別の実施形態として有効であるように、ここで発明を実施するための形態に組み込まれている。

Claims (15)

  1. 一群のページ内のいくつかのメモリセルのページに関連付けられ、前記一群のページ内の特定のメモリセルのページに妥当性情報を提供する妥当性マスクを記憶することを含み、前記妥当性情報は、前記特定のページの前に書き込まれたメモリセルのページのためのおよび前記特定のページの後に書き込まれたメモリセルのページのための妥当性情報を含む、装置を操作する方法。
  2. 前記妥当性マスクを記憶することは、ターゲットページのメモリセル内に前記妥当性マスクを記憶することを含む、請求項1に記載の方法。
  3. 前記一群のページは、前記ターゲットページのメモリセルの前に書き込まれたいくつかのメモリセルのページを含む、請求項2に記載の方法。
  4. 前記一群のページは、前記ターゲットページのメモリセルの後に書き込まれたいくつかのメモリセルのページを含む、請求項2に記載の方法。
  5. 前記妥当性マスクを記憶することは、前記装置内に前記妥当性マスクを記憶することを含む、請求項1〜4のいずれか1項に記載の方法。
  6. 前記妥当性マスクを記憶することは、前記妥当性マスクに関連付けられた前記一群のページ内の前記いくつかのメモリセルのページ数を示す総数を記憶することを含む、請求項1〜4のいずれか1項に記載の方法。
  7. 前記妥当性マスクを記憶することは、前記妥当性マスクに関連付けられた前記一群のページ内の前記ターゲットページのメモリセルの位置を示すオフセットを記憶することを含む、請求項2〜4のいずれか1項に記載の方法。
  8. 前記妥当性マスクを記憶することは、前記妥当性マスクのいくつかのデータのユニット内に、前記妥当性マスクに関連付けられた前記一群のページ内の前記いくつかのメモリセルのページ数を示す総数、前記妥当性マスクに関連付けられた前記一群のページ内の前記ターゲットページのメモリセルの位置を示すオフセット、および妥当性情報を記憶することを含む、請求項1〜4のいずれか1項に記載の方法。
  9. 前記妥当性マスクを記憶することは、前記妥当性マスクのいくつかのデータのユニットを記憶することを含み、前記いくつかのユニットの一部は前記一群のページ内の特定のメモリセルのページの妥当性状態を示す、請求項1〜4のいずれか1項に記載の方法。
  10. メモリセルのいくつかの配列と、
    前記いくつかの配列に動作可能に接続されたコントローラであって、
    一群のページのメモリセルにデータをストライプ化し、前記一群のページは前記いくつかの配列のメモリセルの、メモリセルのページを含み、
    前記一群のページ内の特定のメモリセルのページに妥当性情報を提供する妥当性マスクを記憶するように構成されたコントローラと、を備え、前記妥当性情報は、前記特定のページの前に書き込まれたメモリセルのページのためのおよび前記特定のページの後に書き込まれたメモリセルのページのための妥当性情報を含む、装置。
  11. 前記妥当性マスクのいくつかのデータのユニットはメモリセルの前記一群のページへの書き込みデータの順序に基づく、請求項10に記載の装置。
  12. 前記妥当性マスクの1ユニットのデータは前記一群のページの前記いくつかのページの特定のページの前記妥当性状態を提供する、請求項10に記載の装置。
  13. 前記妥当性マスクは、前記妥当性マスクに関連付けられた前記一群のページ内のメモリセルの前記いくつかのページを示す総数を含む、請求項10〜12のいずれか1項に記載の装置。
  14. 前記妥当性マスクは、前記妥当性マスクに関連付けられた前記一群のページ内のターゲットページのメモリセルの位置を示すオフセットを含み、かつ前記妥当性マスクは前記ターゲットページ内のメモリセルに記憶される、請求項10〜12のいずれか1項に記載の装置。
  15. 前記妥当性マスクは、前記ターゲットページのメモリセルに関連付けられたメタデータとして記憶される、請求項10〜12のいずれか1項に記載の装置。
JP2014542361A 2011-11-18 2012-11-09 妥当性マスクを記憶する装置および方法ならびに操作装置 Active JP5908106B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/299,430 2011-11-18
US13/299,430 US8892828B2 (en) 2011-11-18 2011-11-18 Apparatuses and methods for storing validity masks and operating apparatuses
PCT/US2012/064480 WO2013074420A1 (en) 2011-11-18 2012-11-09 Apparatuses and methods for storing validity masks and operating apparatuses

Publications (2)

Publication Number Publication Date
JP2014534539A JP2014534539A (ja) 2014-12-18
JP5908106B2 true JP5908106B2 (ja) 2016-04-26

Family

ID=48428091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014542361A Active JP5908106B2 (ja) 2011-11-18 2012-11-09 妥当性マスクを記憶する装置および方法ならびに操作装置

Country Status (6)

Country Link
US (2) US8892828B2 (ja)
EP (1) EP2780812B1 (ja)
JP (1) JP5908106B2 (ja)
KR (1) KR101645829B1 (ja)
CN (1) CN104094238B (ja)
WO (1) WO2013074420A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180087496A (ko) * 2017-01-23 2018-08-02 에스케이하이닉스 주식회사 메모리 시스템
WO2019000456A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 传输数据掩码的方法、内存控制器、内存芯片和计算机系统
CN111949199B (zh) * 2019-05-16 2024-04-26 兆易创新科技集团股份有限公司 一种存储设备的数据写入方法、装置及存储设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0810553B2 (ja) * 1986-06-13 1996-01-31 松下電器産業株式会社 記憶回路
JPH0546490A (ja) * 1991-08-09 1993-02-26 Toshiba Corp メモリカード装置
US5361345A (en) 1991-09-19 1994-11-01 Hewlett-Packard Company Critical line first paging system
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US6571323B2 (en) 1999-03-05 2003-05-27 Via Technologies, Inc. Memory-access management method and system for synchronous dynamic Random-Access memory or the like
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6978353B2 (en) 2002-10-18 2005-12-20 Sun Microsystems, Inc. Low overhead snapshot in a storage array using a tree-of-slabs metadata
US6996664B2 (en) 2003-01-22 2006-02-07 Micron Technology, Inc. Ternary content addressable memory with enhanced priority matching
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
JP4897524B2 (ja) * 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
US7873878B2 (en) 2007-09-24 2011-01-18 International Business Machines Corporation Data integrity validation in storage systems
JP5474978B2 (ja) 2008-09-15 2014-04-16 オーチス エレベータ カンパニー エレベータの改修中に乗客の要求を処理する方法
KR101515525B1 (ko) 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
CN101770427A (zh) * 2009-01-07 2010-07-07 芯邦科技(深圳)有限公司 一种利用Flash存储空间的方法及装置
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
CN102576293B (zh) 2009-09-08 2015-08-26 国际商业机器公司 固态存储设备和分层存储系统中的数据管理
US8595425B2 (en) 2009-09-25 2013-11-26 Nvidia Corporation Configurable cache for multiple clients
US8266501B2 (en) * 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation

Also Published As

Publication number Publication date
US9274883B2 (en) 2016-03-01
US8892828B2 (en) 2014-11-18
CN104094238B (zh) 2018-02-02
KR101645829B1 (ko) 2016-08-04
US20130132703A1 (en) 2013-05-23
EP2780812B1 (en) 2018-06-13
EP2780812A1 (en) 2014-09-24
US20150100853A1 (en) 2015-04-09
EP2780812A4 (en) 2015-07-01
CN104094238A (zh) 2014-10-08
JP2014534539A (ja) 2014-12-18
WO2013074420A1 (en) 2013-05-23
KR20140088212A (ko) 2014-07-09

Similar Documents

Publication Publication Date Title
US11042441B2 (en) Stripe mapping in memory
US8589761B2 (en) Apparatus and methods for providing data integrity
US9170898B2 (en) Apparatus and methods for providing data integrity
US9235503B2 (en) Stripe-based non-volatile multilevel memory operation
US8788876B2 (en) Stripe-based memory operation
US8495338B2 (en) Transaction log recovery
JP5908106B2 (ja) 妥当性マスクを記憶する装置および方法ならびに操作装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160322

R150 Certificate of patent or registration of utility model

Ref document number: 5908106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250