JP5806792B2 - フラッシュメモリ用のldpc消失復号化 - Google Patents
フラッシュメモリ用のldpc消失復号化 Download PDFInfo
- Publication number
- JP5806792B2 JP5806792B2 JP2012557303A JP2012557303A JP5806792B2 JP 5806792 B2 JP5806792 B2 JP 5806792B2 JP 2012557303 A JP2012557303 A JP 2012557303A JP 2012557303 A JP2012557303 A JP 2012557303A JP 5806792 B2 JP5806792 B2 JP 5806792B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- flash memory
- storage component
- interface
- component type
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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 multilevel memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Error Detection And Correction (AREA)
- Storage Device Security (AREA)
Description
フラッシュメモリのアクセスについては、その性能、効率、および実用性を改善する進歩が必要とされている。
この出願の発明に関連する先行技術文献情報としては、以下のものがある(国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む)。
(先行技術文献)
(特許文献)
(特許文献1) 米国特許第6678823号明細書
(特許文献2) 米国特許第6347051号明細書
(特許文献3) 米国特許第6341085号明細書
(特許文献4) 米国特許第8125827号明細書
(特許文献5) 米国特許出願公開第2010/0091535号明細書
(特許文献6) 米国特許出願公開第2010/0131809号明細書
(特許文献7) 米国特許出願公開第2011/0032760号明細書
(特許文献8) 米国特許出願公開第2011/0182119号明細書
(特許文献9) 韓国特許第10−2010−0010746号公報
(特許文献10) 国際公開第2013/166200号
(特許文献11) 米国特許第7656707号明細書
(特許文献12) 米国特許出願公開第2010/0034021号明細書
(特許文献13) 米国特許出願公開第2010/0020611号明細書
(特許文献14) 米国特許出願公開第2009/0003057号明細書
(特許文献15) 米国特許出願公開第2007/0171714号明細書
(特許文献16) 米国特許出願公開第2009/0241010号明細書
(特許文献17) 米国特許出願公開第2008/0022189号明細書
(特許文献18) 米国特許出願公開第2009/0024905号明細書
(特許文献19) 米国特許出願公開第2009/0177943号明細書
(特許文献20) 米国特許出願公開第2008/0250300号明細書
(特許文献21) 米国特許出願公開第2012/0151286号明細書
(特許文献22) 米国特許第5099484号明細書
(特許文献23) 米国特許出願公開第2006/0242542号明細書
(特許文献24) 米国特許出願公開第2008/0250270号明細書
(特許文献25) 米国特許出願公開第2010/0017650号明細書
(特許文献26) 米国特許出願公開第2010/0017649号明細書
(特許文献27) 国際公開第2008/099723号
(特許文献28) 米国特許第6594728号明細書
(特許文献29) 米国特許第5651135号明細書
(特許文献30) 米国特許出願公開第2005/0240731号明細書
(特許文献31) 国際公開第2012/099937号
(特許文献32) 米国特許第5666512号明細書
(特許文献33) 米国特許第7117397号明細書
(特許文献34) 米国特許第7681109号明細書
(特許文献35) 米国特許第7739576号明細書
(特許文献36) 米国特許第7809994号明細書
(特許文献37) 米国特許出願公開第2008/0316819号明細書
(特許文献38) 米国特許出願公開第2008/0094907号明細書
(特許文献39) 米国特許出願公開第2010/0100764号明細書
(特許文献40) 韓国特許第10−2010−0076447号公報
(特許文献41) 国際公開第2009/114618号
(特許文献42) 国際公開第2012/075200号
(特許文献43) 国際公開第2012/058328号
(非特許文献)
(非特許文献1) S.Li,T.Zhang,"Improving Multi−Level NAND Flash Memory Storage Reliability Using Concatenated BCH−TCM Coding"in IEEE Transactions on Very Large Scale Integration(VLSI)Systems,Vol.18,No.10,October 2010,pages 1412−1420(9 sheets).
(非特許文献2) R.Micheloni,L.Crippa,A,Marelli,"InsideNANDFlashMemories"Springer Science +Business Media B.V.2010 ISBN 978−90−481−9430−8,pages 38−43 and related footnote pages 52−53,formatted as 4 sheets.
(非特許文献3) R.Micheloni,L.Crippa,A,Marelli,"InsideNANDFlashMemories"Springer Science +Business Media B.V.2010 ISBN 978−90−481−9430−8,pages 515−536,formatted as 12 sheets.
(非特許文献4) Chanik Park,Prakash Talawar,Daesik Won,MyungJin Jung,JungBeen Im,Suksan Kim and Youngjoon Choi,"A High Performance Controller for NAND Flash−based Solid State Disk (NSSD),"in Non−volatile Semiconductor Memory Workshop(NVSMW) Digest Technical Papers,2006,pp.17−20(4 sheets).
(非特許文献5) K. Takeuchi,"NAND Successful as a Media for SSD"IEEE International Solid−State Circuits Conference Tutorial T7,2008,rotated,Pages 1−81(81 sheets).
(非特許文献6) INTERNATIONAL SEARCH REPORT in related case PCT/US2013/039138,10 pages
(非特許文献7) INTERNATIONAL SEARCH REPORT AND WRITTEN OPINION in the parent PCT/US2011/028244,12 pages
(非特許文献8) J.S.Plank and M.G.Thomason."On the Practical Use of LDPC Erasure Codes for Distributed Storage Applications",Technical Report CS−03−510,University of Tennessee,September 2003,15 pages.
(非特許文献9) DEVANG PANCHIGAR"EMC Symmetrix DMX − RAID 6 Implementation" 2009−02−27,http://storagenerve.com/2009/02/27/emc−symmetrix−dmx−raid−6−implementation/,9 pages
(非特許文献10) H.PETER ANVIN,"The mathematics of RAID−6" Last updated 20 December 2011,https://www.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf, accessed on September 30, 2013,9 pages
(非特許文献11) Advanced Computer & Network Corporation,"RAID Level 6: Independent Data Disks with Two Independent Parity Schemes", http://www.acnc.com/raidedu/6,accessed on September 30,2013,2 pages
(非特許文献12) INTERNATIONAL SEARCH REPORT AND THE WRITTEN OPINION in the related PCT/US12/21682,9 pages
(非特許文献13) INTERNATIONAL SEARCH REPORT in related PCT/US2011/062726,3 pages
(非特許文献14) THE WRITTEN OPINION in related PCT/US2011/062726,3 pages
(非特許文献15) INTERNATIONAL SEARCH REPORT AND THE WRITTEN OPINION in related PCT/US2011/057914,9 pages
本発明は、多数の方法で実施でき、工程、製造品、機器、システム、組成物、その他コンピュータ可読記憶媒体などのコンピュータ可読媒体(例えば、ディスクなどの光および/または磁気による大容量記憶装置における媒体、あるいはフラッシュ記憶装置などの不揮発性記憶装置を有する集積回路)、あるいは光通信リンクまたは電子通信リンク経由でプログラム命令が送信されるコンピュータネットワークなどとして実施可能である。本明細書では、これらの実施態様、または本発明が取りうる他のいかなる形態も、技術と呼ぶことができる。以降の詳細な説明では、上記で特定した分野において性能、効率、および実用性の改善を可能にする本発明の1若しくはそれ以上の実施形態について解説している。この詳細な説明の項には、この項の他の部分に関する理解を促すため、序論を含めている。この序論には、本明細書で説明する概念に基づいた1若しくはそれ以上のシステム、方法、製造品、およびコンピュータ可読媒体の実施形態例が含まれる。以下、結論の項で詳述するように、本発明は、請求項の範囲内で考えられるすべての変更(修正)形態および変形形態を包含する。
本序論は、以降の詳細な説明をより短時間で理解できるよう含めたものである。いかなる序論も必然的に当該主題全体を概説するものであり、完全または限定的な説明を意図したものではないため、本発明は本序論に示す概念(明示的な例がある場合はそれを含む)に限定されるものではない。例えば、以下では、本明細書の紙面および構成の制限上、特定の実施形態だけに関する概要を提供している。本明細書の残りの部分では、最終的に請求項と整合するものも含め、他の実施形態を多数説明している。
本明細書の他の部分では、特定の要素を指す種々の略称または頭字語が使用されている。これら頭字語・略称の少なくとも一部を以下に説明する。
詳細な説明の序論の結びとして、以下では、少なくとも「EC」(Example Combination。組み合わせ例)として明示的に列挙されたいくつかを含む実施形態例集を示し、本明細書で説明する概念に係る種々の実施形態タイプについてさらに説明する。これらの例は、相互に排他的、網羅的、または限定的であることを意図したものではなく、本発明は、これらの実施形態例に限定されず、特許請求の範囲内で考えられる変更(修正)形態および変形形態をすべて包含するものである。
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、当該特定の位置における1若しくはそれ以上の初期読み出しを要求する手段と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する手段と、
前記検出手段に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する手段と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する手段と
を有するシステム。
各前記追加読み出しについて各々の電圧指定子を提供する手段を有するものであるシステム。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものであるシステム。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものであるシステム。
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する工程と
を有する方法。
各前記追加読み出しについて各々の電圧指定子を提供する工程を有するものである方法。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものである方法。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものである方法。
インターフェースと、
コントローラであって、
フラッシュメモリ内の特定の位置に格納されたデータに対する要求を前記インターフェース経由で受信し、当該要求に応答して前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する工程と
を実行可能なものである、前記コントローラと
を有するシステム。
各前記追加読み出しについて各々の電圧指定子を提供する工程を実行可能なものであるシステム。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものであるシステム。
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する工程と
を有する動作が実行されるものである
有形のコンピュータ可読媒体。
各前記追加読み出しについて各々の電圧指定子を提供する工程を有するものである有形のコンピュータ可読媒体。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものである有形のコンピュータ可読媒体。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を有するものである有形のコンピュータ可読媒体。
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、前記特定の位置における1若しくはそれ以上の初期読み出しを要求する手段と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する手段と、
前記検出手段に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する手段と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する手段と
を有するシステム。
各前記追加読み出しについて各々の電圧指定子を提供する手段を有するものであるシステム。
各前記初期読み出しについて各々の電圧指定子を提供する手段を有するものであるシステム。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものであるシステム。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものであるシステム。
フラッシュメモリインターフェースを介して、前記初期読み出しおよび前記追加読み出しを前記フラッシュメモリにインターフェース接続する手段を有するものであるシステム。
非同期インターフェースと、
同期インターフェースと、
ダブルデータレート(DDR)同期インターフェースと、
オープンNANDフラッシュ・インターフェース(ONFI)互換インターフェースと、
トグルモード互換フラッシュ・インターフェースと
のうち1若しくはそれ以上を有するものであるシステム。
コンピュータと、
ワークステーション・コンピュータと、
サーバー・コンピュータと、
ストレージ・サーバーと、
パーソナルコンピュータ(PC)と、
ラップトップ・コンピュータと、
ノートブック・コンピュータと、
ネットブック・コンピュータと、
携帯情報端末(PDA)と、
メディアプレーヤーと、
メディアレコーダーと、
デジタルカメラと、
携帯電話ハンドセットと、
コードレスホン・ハンドセットと、
電子ゲームと
のうち1若しくはそれ以上を有するものであるシステム。
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する工程と
を有する方法。
各前記追加読み出しについて各々の電圧指定子を提供する工程を有するものである方法。
各前記初期読み出しについて各々の電圧指定子を提供する工程を有するものである方法。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものである方法。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものである方法。
フラッシュメモリインターフェースを介して、前記初期読み出しおよび前記追加読み出しを前記フラッシュメモリにインターフェース接続する工程を有するものである方法。
非同期インターフェースと、
同期インターフェースと、
ダブルデータレート(DDR)同期インターフェースと、
オープンNANDフラッシュ・インターフェース(ONFI)互換インターフェースと、
トグルモード互換フラッシュ・インターフェースと
のうち1若しくはそれ以上を有するものである方法。
コンピュータと、
ワークステーション・コンピュータと、
サーバー・コンピュータと、
ストレージ・サーバーと、
パーソナルコンピュータ(PC)と、
ラップトップ・コンピュータと、
ノートブック・コンピュータと、
ネットブック・コンピュータと、
携帯情報端末(PDA)と、
メディアプレーヤーと、
メディアレコーダーと、
デジタルカメラと、
携帯電話ハンドセットと、
コードレスホン・ハンドセットと、
電子ゲームと
のうち1若しくはそれ以上を有するものである方法。
インターフェースと、
コントローラであって、
フラッシュメモリ内の特定の位置に格納されたデータに対する要求を前記インターフェース経由で受信し、当該要求に応答して前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する工程と
実行可能なものである、前記コントローラと
を有するシステム。
各前記追加読み出しについて各々の電圧指定子を提供する工程を実行可能なものであるシステム。
各前記追加読み出しについて各々の電圧指定子を提供する工程を実行可能なものであるシステム。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものであるシステム。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものであるシステム。
非同期インターフェースと、
同期インターフェースと、
ダブルデータレート(DDR)同期インターフェースと、
オープンNANDフラッシュ・インターフェース(ONFI)互換インターフェースと、
トグルモード互換フラッシュ・インターフェースと
のうち1若しくはそれ以上を有するものであるシステム。
コンピュータと、
ワークステーション・コンピュータと、
サーバー・コンピュータと、
ストレージ・サーバーと、
パーソナルコンピュータ(PC)と、
ラップトップ・コンピュータと、
ノートブック・コンピュータと、
ネットブック・コンピュータと、
携帯情報端末(PDA)と、
メディアプレーヤーと、
メディアレコーダーと、
デジタルカメラと、
携帯電話ハンドセットと、
コードレスホン・ハンドセットと、
電子ゲームと
のうち1若しくはそれ以上を有するものであるシステム。
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく硬判定ベースの低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づく消失判定LDPC復号化を実行する工程と
を有する動作が実行されるものである
有形のコンピュータ可読媒体。
各前記初期読み出しについて各々の電圧指定子を提供する工程を有するものである有形のコンピュータ可読媒体。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものである有形のコンピュータ可読媒体。
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を有するものである有形のコンピュータ可読媒体。
非同期インターフェースと、
同期インターフェースと、
ダブルデータレート(DDR)同期インターフェースと、
オープンNANDフラッシュ・インターフェース(ONFI)互換インターフェースと、
トグルモード互換フラッシュ・インターフェースと
のうち1若しくはそれ以上を有するものである有形のコンピュータ可読媒体。
コンピュータと、
ワークステーション・コンピュータと、
サーバー・コンピュータと、
ストレージ・サーバーと、
パーソナルコンピュータ(PC)と、
ラップトップ・コンピュータと、
ノートブック・コンピュータと、
ネットブック・コンピュータと、
携帯情報端末(PDA)と、
メディアプレーヤーと、
メディアレコーダーと、
デジタルカメラと、
携帯電話ハンドセットと、
コードレスホン・ハンドセットと、
電子ゲームと
のうち1若しくはそれ以上を有するものである有形のコンピュータ可読媒体。
フラッシュメモリの特定の位置における2つの消失判定読み出しを要求する手段と、
前記2つの消失判定読み出しの結果に基づいて、消失ベースの低密度パリティ検査(LDPC)復号化を実行する手段と
を有するシステム。
前記フラッシュメモリ内の前記特定の位置に格納されたデータに対する要求に応答して、前記特定の位置における硬判定読み出しを要求する手段と、
前記硬判定読み出しの結果に基づいて、硬判定ベースのLDPC復号化を実行する手段と
を有し、
前記2つの消失判定読み出しを要求する手段は、前記硬判定ベースのLDPC復号化を実行する手段の訂正不可能な誤り結果に応答して、前記2つの消失判定読み出しを要求するものである
システム。
前記消失ベースのLDPC復号化を実行する手段の失敗に応答して、前記フラッシュメモリの前記特定の位置において1若しくはそれ以上の軟判定読み出しを要求する手段と、
前記軟判定読み出しの結果に基づいて、軟判定LDPC復号化を実行する手段と
を有するものであるシステム。
前記フラッシュメモリの少なくとも一部を有するものであるシステム。
フラッシュメモリの特定の位置における2つの消失判定読み出しを要求する工程と、
前記2つの消失判定読み出しの結果に基づいて、消失ベースの低密度パリティ検査(LDPC)復号化を実行する工程と
を有する方法。
前記フラッシュメモリ内の特定の位置に格納されたデータに対する要求に応答して、前記特定の位置における硬判定読み出しを要求する工程と、
前記硬判定読み出しの結果に基づいて、硬判定ベースのLDPC復号化を実行する工程と
を有し、
前記2つの消失判定読み出しを要求する工程は、前記硬判定ベースのLDPC復号化の訂正不可能な誤り結果に応答するものである
方法。
前記消失ベースのLDPC復号化の失敗に応答して、前記フラッシュメモリの前記特定の位置において1若しくはそれ以上の軟判定読み出しを要求する工程と、
前記軟判定読み出しの結果に基づいて、軟判定LDPC復号化を実行する工程と
を有するものである方法。
前記フラッシュメモリの少なくとも一部を有するものである方法。
フラッシュメモリの特定の位置における2つの消失判定読み出しを要求するように動作可能なコントローラと、
前記2つの消失判定読み出しの結果に応答して動作可能な消失ベースの低密度パリティ検査(LDPC)デコーダと
を有するシステム。
前記硬判定読み出しの結果に応答して動作可能な硬判定ベースのLDPCデコーダ
を有し、
前記コントローラは、さらに、前記フラッシュメモリ内の特定の位置に格納されたデータに対する要求に応答して、前記特定の位置における前記硬判定読み出しを要求するように動作可能であり、
前記2つの消失判定読み出しを要求する工程は、前記硬判定ベースのLDPCデコーダの訂正不可能な誤り結果に応答するものである
システム。
1若しくはそれ以上の軟判定読み出しの結果に応答して動作可能な軟判定LDPCデコーダ
を有し、
前記コントローラは、さらに、前記消失ベースのLDPCデコーダの失敗に応答して、前記フラッシュメモリの前記特定の位置における前記軟判定読み出しを要求するように動作可能である
システム。
前記フラッシュメモリの少なくとも一部を有するものであるシステム。
フラッシュメモリの特定の位置における第1および第2の読み出しを要求し、当該要求の応答として第1および第2の結果をそれぞれ受信する手段と、
前記第1および第2の結果に基づいて、消失ベースの低密度パリティ検査(LDPC)復号化を実行する手段と
を有するシステム。
前記フラッシュメモリ内の前記特定の位置に格納されたデータに対する要求に応答して、前記特定の位置における第3の読み出しを要求する手段と
を有するものであるシステム。
前記第3の読み出しの結果に基づいて、硬判定ベースのLDPC復号化を実行する手段を有するものであるシステム。
コンピューティングホストに対するインターフェースと、
フラッシュメモリに対するインターフェースと、
コントローラであって、
前記コンピューティングホストからデータ要求を受信し、
前記データ要求に応答して、前記フラッシュメモリインターフェースに前記フラッシュメモリの特定の位置における第1および第2の読み出しを要求させ、当該第1および第2の読み出し各々の応答として前記フラッシュメモリから第1および第2の結果をそれぞれ受信し、
前記第1および第2の結果に基づいて、消失ベースの低密度パリティ検査(LDPC)復号化を実行するように動作可能なものである
前記コントローラと
を有するシステム。
前記コンピューティングホストインターフェースに連結されたコンピューティングホストを有するものであるシステム。
前記フラッシュメモリインターフェースに連結されたフラッシュメモリを有するものであるシステム。
前記フラッシュメモリおよび記憶サブシステム制御要素を有し、前記記憶サブシステム制御要素は前記インターフェースおよび前記コントローラを有し、前記フラッシュメモリおよび前記記憶サブシステム制御要素は、複数の不揮発性記憶構成要素タイプの1つとして実装され、前記不揮発性記憶構成要素タイプは、
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を有するものであるシステム。
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を有するものであるシステム。
フラッシュメモリの特定の位置における第1および第2の読み出しを要求し、当該要求の応答として第1および第2の結果をそれぞれ受信する工程と、
前記第1および第2の結果に基づいて、消失ベースの低密度パリティ検査(LDPC)復号化を実行する工程と
を有する方法。
前記消失ベースのLDPC復号化に基づいて、前記特定の位置に格納されたデータに対する要求を受け取った場合、それに応答して、データを返す工程を有するものである方法。
フラッシュメモリの特定の位置における第1および第2の読み出しを要求し、当該要求の応答として第1および第2の結果をそれぞれ受信する工程と、
前記第1および第2の結果に基づいて、消失ベースの低密度パリティ検査(LDPC)復号化を実行する工程と
を有する動作が実行されるものである、コンピュータ可読媒体。
デコーダ選択基準を収集する工程であって、前記デコーダ選択基準は、プログラムサイクルまたは消去サイクルの数と、読み出しディスターブイベントの数と、書き込みディスターブイベントの数と、訂正可能な誤りの数と、訂正不可能な誤りの数とのうちのいずれか1つ若しくはそれ以上を有するものである、前記収集する工程と、
前記デコーダ選択基準に少なくとも部分的に基づき、複数のデコーダタイプの1つを動的に選択するように命令する工程であって、前記デコーダタイプは、硬判定デコーダタイプと消失ベースのデコーダタイプとを有するものである、前記命令する工程と、
前記選択されたデコーダタイプの指標をフラッシュメモリコントローラ回路に提供する工程であって、前記フラッシュメモリコントローラ回路は、前記硬判定デコーダタイプおよび前記消失ベースのデコーダタイプにそれぞれ対応するデコーダ回路を有するものである、前記提供する工程と
を有する動作が実行されるものである、コンピュータ可読媒体。
フラッシュ装置の生ビット誤り率(BER)が所定のレベルより高い場合、消失ベースの低密度パリティ検査(LDPC)復号化を実行する手段と、
前記BERが所定のレベル未満である場合、硬判定LDPC復号化を実行する手段と
を有するシステム。
フラッシュ装置がマルチレベルセル(MLC)技術を有する場合、消失ベースの低密度パリティ検査(LDPC)復号化を実行する手段と、
前記フラッシュ装置がシングルレベルセル(SLC)技術を有する場合、硬判定LDPC復号化を実行する手段と
を有するシステム。
フラッシュ装置の生ビット誤り率(BER)が所定のレベルより高い場合、消失ベースの低密度パリティ検査(LDPC)復号化を実行する工程と、
前記BERが所定のレベル未満である場合、硬判定LDPC復号化を実行する工程と
を有する方法。
フラッシュ装置がマルチレベルセル(MLC)技術を有する場合、消失ベースの低密度パリティ検査(LDPC)復号化を実行する工程と、
前記フラッシュ装置がシングルレベルセル(SLC)技術を有する場合、硬判定LDPC復号化を実行する工程と
を有する方法。
フラッシュメモリの所定の位置における第1の読み出しを要求し、当該要求の応答として第1の結果を受信する手段と、
硬判定低密度パリティ検査(LDPC)デコーダに基づいて前記第1の結果が訂正不可能な誤りを有する場合、前記フラッシュメモリの前記所定の位置における第2および第3の読み出しを要求し、当該要求の応答として第2および第3の結果をそれぞれ受信する手段と、
少なくとも前記第2および前記第3の結果に基づいて、消失ベースのLDPC復号化を実行する手段と
を有するシステム。
前記所定の位置におけるデータの全部または任意部分を要求する手段
を有するものであるシステム。
コンピューティングホストに対するインターフェースと、
フラッシュメモリに対するインターフェースと、
コントローラであって、
データ要求を受信し、
前記データ要求に応答して、前記フラッシュメモリインターフェースに前記フラッシュメモリインターフェースに連結された前記フラッシュメモリの所定の位置における第1の読み出しを要求させ、当該第1の読み出しの応答として前記フラッシュメモリから第1の結果を受信し、
硬判定低密度パリティ検査(LDPC)デコーダに基づいて、前記第1の結果が訂正不可能な誤りを有するか決定し、訂正不可能な誤りを有する場合は、前記フラッシュメモリの前記所定の位置における第2および第3の読み出しを要求し、前記第2および第3の読み出し各々の応答として、前記フラッシュメモリから第2および第3の結果をそれぞれ受信し、
少なくとも前記第2および前記第3の結果に基づいて、消失ベースのLDPC復号化を実行するように動作可能なものである
前記コントローラと
を有するシステム。
前記コンピューティングホストインターフェースに連結されたコンピューティングホストを有するものであるシステム。
前記フラッシュメモリインターフェースに連結されたフラッシュメモリを有するものであるシステム。
フラッシュメモリの位置における第1の読み出しを要求し、当該要求に応答して第1の結果を受信する工程と、
硬判定低密度パリティ検査(LDPC)デコーダに基づいて前記第1の結果が訂正不可能な誤りを有する場合、前記フラッシュメモリの前記所定の位置における第2および第3の読み出しを要求し、当該要求に応答して第2および第3の結果をそれぞれ受信する工程と、
少なくとも前記第2および前記第3の結果に基づいて、消失ベースのLDPC復号化を実行する工程と
を有する方法。
前記所定の位置におけるデータの全部または任意部分を要求する工程を有するものである方法。
フラッシュメモリの所定の位置における第1の読み出しを要求し、当該要求の応答として第1の結果を受信する工程と、
硬判定低密度パリティ検査(LDPC)デコーダに基づいて前記第1の結果が訂正不可能な誤りを有する場合、前記フラッシュメモリの前記所定の位置における第2および第3の読み出しを要求し、当該要求の応答として第2および第3の結果をそれぞれ受信する工程と、
少なくとも前記第2および前記第3の結果に基づて、消失ベースのLDPC復号化を実行する工程と
を有する動作が実行される、コンピュータ可読媒体。
図1Aは、低密度パリティ検査(LDPC)符号ベースのフラッシュメモリアクセスを使ったソリッドステートディスク(SSD)コントローラを含むSSDの一実施形態の詳細を一部選んで例示した図である。SSDコントローラ100は、1若しくはそれ以上の外部インターフェース110を介して、ホスト(図示せず)に通信可能に連結されている。種々の実施形態によれば、外部インターフェース110は、SATAインターフェース、SASインターフェース、PCIeインターフェース、ファイバーチャネルインターフェース、イーサネット(登録商標)インターフェース(例えば、10ギガビットイーサネット(登録商標))、以上のうち任意のインターフェースの非標準バージョン、カスタムインターフェース、または記憶装置および/または通信装置および/またはコンピュータ装置を相互接続するため使用される他の任意タイプインターフェースのうち1若しくはそれ以上である。例えば、一部の実施形態では、SSDコントローラ100にSATAインターフェースおよびPCIeインターフェースが含まれる。
図1Cは、図1AのSSDを含むシステムの一実施形態の詳細を一部選んで例示したものである。図1Bのように、SSD 101には、装置インターフェース190を介して不揮発性メモリ199に連結されたSSDコントローラ100が含まれる。当該SSDは、外部インターフェース110経由でホスト102に連結されており、前記外部インターフェース110は、中間コントローラ103、次いで中間インターフェース104を介してホスト102に連結されている。種々の実施形態において、SSDコントローラ100は、他のコントローラの1若しくはそれ以上の中間レベル、例えばRAIDコントローラを介して前記ホストに連結される。
フラッシュメモリからの硬判定情報(例えば、格納されたビットごとに1ビット)だけを入力として使用する一部の文字ベースRSまたはBCHデコーダと異なり、一部のLDPCデコーダは、軟情報を使って誤り訂正の改善を可能にすることができる。これを受け、誤り訂正性能を高めるよう、軟判定情報(例えば、格納されたビットごとに1を超える(複数の)ビット)がフラッシュメモリから読み出される。SLCは、フラッシュメモリからの硬判定または軟判定情報の取得方法を示す一例として使用されている。この技術は、MLCにも同様に適用される。フラッシュメモリから硬判定情報を得るには、図2Aに例示するように、プログラムされた電圧t0で1回だけ読み出しが行われる(読み出し閾値電圧290)。フラッシュメモリから2ビットの軟判定情報を得るには、図2Bに例示するように、3つの異なる電圧(t−1、t0、およびt1)で3回の読み出しが行われる(それぞれ読み出し閾値電圧292、読み出し閾値電圧290、読み出し閾値電圧291)。前記フラッシュメモリは、読み出し用の電圧を設定する能力を提供する。前記軟判定情報を得るには、各々の電圧を伴う複数の読み出しが使用される。
a.SSDは、1ビット読み出し(図2Aの1回読み出し)を使って硬判定LDPC復号化(硬判定LDPC復号化402A)を開始する。
図5Aは、2ビット/セルの(各セルに2ビット情報を格納する)MLCを7回読み出して(読み出し507A〜507G)情報を取得する一実施形態の詳細を一部選んで例示したものであり、図5Bは、2ビット/セルのMLCを5回読み出して(読み出し505A〜505E)消失判定情報を取得する一実施形態の詳細を一部選んで例示したものである。2ビット/セルMLC技術を使用する一部の実施形態には、「下側」ページ(左半分または右半分)および「上側」ページ(各半分における左側の4分の1または右側の4分の1)がある。下半分のページからの情報取得は、SLCについて説明したように行われる(本明細書の「SLC操作」の項を参照)。上側ページからの情報取得には、追加読み出しを使用する(例えば、図5Aおよび5Bで例示したように)。
種々の実施形態では、消失ベースの復号化で使用できる種々の符号、例えばLDPC符号、RS符号、およびBCH符号が使用される。
一部の実施形態において、コンピューティングホスト・フラッシュメモリ・コントローラまたはSSDコントローラ(例えば、図1AのSSDコントローラ100)と、プロセッサ、マイクロプロセッサ、システムオンチップ、特定用途向け集積回路、ハードウェアアクセラレータ、または上記動作の全部または一部を提供する他の回路の諸部分とにより実行される動作の全部または一部の種々の組み合わせは、コンピュータシステムによる処理と互換性のある仕様で指定される。前記指定は、種々の記述、例えばハードウェア記述言語、回路記述、ネットリスト記述、マスク記述、レイアウト記述による。記述例としては、Verilog、VHDL、SPICE、SPICEの変形形態(例えば、IBIS、LEF、DEF、GDS−II、OASIS)、または他の記述がある。種々の実施形態では、前記処理として、1若しくはそれ以上の集積回路への搭載に適した論理および/または回路を生成、検証、または指定するための解釈、コンパイル、シミュレーション、および合成の任意の組み合わせが含まれる。各集積回路は、種々の実施形態によれば、種々の技術に基づいて設計可能および/または製造可能である。それらの技術としては、プログラマブル技術(例えば、フィールドプログラマブルまたはマスクプログラマブル・ゲートアレイ集積回路)、セミカスタム技術(例えば、全体的または部分的にセルベースの集積回路)、フルカスタム技術(例えば、実質的に特定用途向けの集積回路)、これらの任意の組み合わせ、または集積回路の設計および/または製造に適合した他の任意技術などがある。
上記説明では一定の選択を行っているが、これは単に文章と図面を作成するための便宜的なもので、別段の断りがない限り、これらの選択自体が、上記実施形態の構造または動作に関する追加情報を表現していると解釈すべきではない。前記選択の例としては、図の参照番号に使用される指定の具体的な構成または割り当て、ならびに前記実施形態の特徴および要素を識別および参照するため使用した前記要素識別子の具体的な構成または割り当て(例えば、図中の引き出し線または参照番号)などがある。
Claims (23)
- システムであって、
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、当該特定の位置における1若しくはそれ以上の初期読み出しを要求する手段と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する手段と、
前記検出する手段に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する手段と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づくLDPC復号化を実行する手段と、
を有し、
前記LDPC復号化におけるデコーダタイプは、硬判定、消失ベースの判定、および軟判定の中から動的に切り替えられるものである、
システム。 - 請求項1記載のシステムにおいて、上記動的な切り替えは、プログラムサイクルまたは消去サイクルの数、読み出しディスターブ、書き込みディスターブ、以前の誤りを含まない読み出しの率および/または回数、以前の訂正可能な誤りの率および/または回数、以前の訂正不可能な誤りの率および/または回数、および/または他の因子を基準として実行されるものであるシステム。
- 請求項1記載のシステムにおいて、前記フラッシュメモリは、シングルレベルセル(SLC)技術のフラッシュメモリを含み、前記初期読み出しは1回であり、前記追加読み出しは2回であり、前記各追加読み出しは、各々の読み出し電圧におけるものであるシステム。
- 請求項3記載のシステムにおいて、さらに、
各前記追加読み出しについて各々の電圧指定子を提供する手段を有するものであるシステム。 - 請求項4記載のシステムにおいて、前記電圧指定子のうち少なくとも1つは、明示的な電圧レベル、複数の所定電圧レベルの1つの識別子、および複数の読み出し要求タイプの1つの一意の識別結果のうちの1つであるシステム。
- 請求項1記載のシステムにおいて、前記フラッシュメモリは、マルチレベルセル(MLC)技術のフラッシュメモリを含むものであるシステム。
- 請求項1記載のシステムにおいて、前記受信は、複数のインターフェース規格のうち1若しくはそれ以上に適合し、当該インターフェース規格は、
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものであるシステム。 - 請求項1記載のシステムにおいて、前記初期読み出しを要求する手段および前記追加読み出しを要求する手段はコントローラを介し、当該コントローラおよび前記フラッシュメモリは、複数の不揮発性記憶構成要素タイプの1つとして実装される記憶サブシステムに含まれ、前記不揮発性記憶構成要素タイプは、
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものであるシステム。 - 方法であって、
フラッシュメモリ内の特定の位置に格納されたデータに対する要求の受信に応答して、前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づくLDPC復号化を実行する工程と、
を有し、
前記LDPC復号化におけるデコーダタイプは、硬判定、消失ベースの判定、および軟判定の中から動的に切り替えられるものである、
方法。 - 請求項9記載の方法において、上記動的な切り替えは、プログラムサイクルまたは消去サイクルの数、読み出しディスターブ、書き込みディスターブ、以前の誤りを含まない読み出しの率および/または回数、以前の訂正可能な誤りの率および/または回数、以前の訂正不可能な誤りの率および/または回数、および/または他の因子を基準として実行されるものである方法。
- 請求項9記載の方法において、前記フラッシュメモリは、シングルレベルセル(SLC)技術のフラッシュメモリを含み、前記初期読み出しは1回であり、前記追加読み出しは2回であり、前記各追加読み出しは、各々の読み出し電圧におけるものである方法。
- 請求項11記載の方法において、さらに、
各前記追加読み出しについて各々の電圧指定子を提供する工程を有するものである方法。 - 請求項12記載の方法において、前記電圧指定子のうち少なくとも1つは、明示的な電圧レベル、複数の所定電圧レベルの1つの識別子、および複数の読み出し要求タイプの1つの一意の識別結果のうちの1つである方法。
- 請求項9記載の方法において、前記フラッシュメモリは、マルチレベルセル(MLC)技術のフラッシュメモリを含むものである方法。
- 請求項9記載の方法において、前記受信は、複数のインターフェース規格のうち1若しくはそれ以上に適合し、当該インターフェース規格は、
シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース規格と、
シリアル・アタッチド・スモール・コンピュータ・システム・インターフェース(SAS)インターフェース規格と、
周辺機器相互接続エクスプレス(PCIe)インターフェース規格と、
ファイバーチャネル・インターフェース規格と、
イーサネット(登録商標)・インターフェース規格と
を含むものである方法。 - 請求項9記載の方法において、前記初期読み出しを要求する工程および前記追加読み出しを要求する工程はコントローラを介し、当該コントローラおよび前記フラッシュメモリは、複数の不揮発性記憶構成要素タイプの1つとして実装される記憶サブシステムに含まれ、前記不揮発性記憶構成要素タイプは、
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものである方法。 - システムであって、
インターフェースと、
コントローラであって、
フラッシュメモリ内の特定の位置に格納されたデータに対する要求を前記インターフェース経由で受信し、当該要求に応答して前記特定の位置における1若しくはそれ以上の初期読み出しを要求する工程と、
前記初期読み出しの完了に応答して、当該初期読み出しの結果に基づく低密度パリティ検査(LDPC)復号化により訂正不可能な誤りを検出する工程と、
前記検出に応答して、前記特定の位置における1若しくはそれ以上の追加読み出しを要求する工程と、
前記追加読み出しの完了に応答して、当該追加読み出しの各結果に基づくLDPC復号化を実行する工程と
を実行可能なものである、前記コントローラと、
を有し、
前記LDPC復号化におけるデコーダタイプは、硬判定、消失ベースの判定、および軟判定の中から動的に切り替えられるものである、
システム。 - 請求項17記載のシステムにおいて、上記動的な切り替えは、プログラムサイクルまたは消去サイクルの数、読み出しディスターブ、書き込みディスターブ、以前の誤りを含まない読み出しの率および/または回数、以前の訂正可能な誤りの率および/または回数、以前の訂正不可能な誤りの率および/または回数、および/または他の因子を基準として実行されるものであるシステム。
- 請求項17記載のシステムにおいて、前記フラッシュメモリは、シングルレベルセル(SLC)技術のフラッシュメモリを含み、前記初期読み出しは1回であり、前記追加読み出しは2回であり、前記各追加読み出しは、各々の読み出し電圧におけるものであるシステム。
- 請求項19記載のシステムにおいて、前記コントローラは、さらに、
各前記追加読み出しについて各々の電圧指定子を提供する工程を実行可能なものであるシステム。 - 請求項20記載のシステムにおいて、前記電圧指定子のうち少なくとも1つは、明示的な電圧レベル、複数の所定電圧レベルの1つの識別子、および複数の読み出し要求タイプの1つの一意の識別結果のうちの1つであるシステム。
- 請求項17記載のシステムにおいて、前記フラッシュメモリは、マルチレベルセル(MLC)技術のフラッシュメモリを含むものであるシステム。
- 請求項17記載のシステムにおいて、前記コントローラおよび前記フラッシュメモリは、複数の不揮発性記憶構成要素タイプの1つとして実装される記憶サブシステムに含まれ、前記不揮発性記憶構成要素タイプは、
ユニバーサルシリアルバス(USB)記憶構成要素タイプと、
コンパクトフラッシュ(登録商標)(CF)記憶構成要素タイプと、
マルチメディアカード(MMC)記憶構成要素タイプと、
セキュアデジタル(SD)記憶構成要素タイプと、
メモリースティック記憶構成要素タイプと、
xDピクチャーカード記憶構成要素タイプと
を含むものであるシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31368110P | 2010-03-12 | 2010-03-12 | |
US61/313,681 | 2010-03-12 | ||
PCT/US2011/028244 WO2011113034A2 (en) | 2010-03-12 | 2011-03-11 | Ldpc erasure decoding for flash memories |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013522735A JP2013522735A (ja) | 2013-06-13 |
JP2013522735A5 JP2013522735A5 (ja) | 2014-05-01 |
JP5806792B2 true JP5806792B2 (ja) | 2015-11-10 |
Family
ID=44564175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012557303A Expired - Fee Related JP5806792B2 (ja) | 2010-03-12 | 2011-03-11 | フラッシュメモリ用のldpc消失復号化 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8935595B2 (ja) |
EP (1) | EP2545554A4 (ja) |
JP (1) | JP5806792B2 (ja) |
KR (2) | KR101466555B1 (ja) |
TW (1) | TWI579854B (ja) |
WO (1) | WO2011113034A2 (ja) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9727414B2 (en) | 2010-12-01 | 2017-08-08 | Seagate Technology Llc | Fractional redundant array of silicon independent elements |
WO2012075200A2 (en) | 2010-12-01 | 2012-06-07 | Sandforce, Inc. | Dynamic higher-level redundancy mode management with independent silicon elements |
US8719663B2 (en) | 2010-12-12 | 2014-05-06 | Lsi Corporation | Cross-decoding for non-volatile storage |
KR101454807B1 (ko) | 2011-01-18 | 2014-11-04 | 엘에스아이 코포레이션 | 상위-레벨 리던던시 정보 계산 |
US8924630B2 (en) * | 2011-06-21 | 2014-12-30 | Taejin Info Tech Co., Ltd. | Semiconductor storage device-based high-speed cache storage system |
US9294132B1 (en) * | 2011-11-21 | 2016-03-22 | Proton Digital Systems, Inc. | Dual-stage data decoding for non-volatile memories |
KR101968746B1 (ko) * | 2011-12-30 | 2019-04-15 | 삼성전자주식회사 | 저장 장치로부터 데이터를 읽는 읽기 방법, 에러 정정 장치, 그리고 에러 정정 코드 디코더를 포함하는 저장 시스템 |
US8737139B2 (en) | 2012-04-11 | 2014-05-27 | Micron Technology, Inc. | Determining soft data for combinations of memory cells |
US8856611B2 (en) | 2012-08-04 | 2014-10-07 | Lsi Corporation | Soft-decision compensation for flash channel variation |
US8839073B2 (en) | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
KR20130136271A (ko) * | 2012-06-04 | 2013-12-12 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 데이터 처리 방법 |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
US9239754B2 (en) | 2012-08-04 | 2016-01-19 | Seagate Technology Llc | Single read based soft-decision decoding of non-volatile memory |
KR102081584B1 (ko) * | 2012-11-02 | 2020-02-26 | 삼성전자 주식회사 | 메모리 장치 구동 방법 및 메모리 시스템 |
KR102081581B1 (ko) * | 2012-11-02 | 2020-02-26 | 삼성전자 주식회사 | 메모리 장치 구동 방법 |
US9116822B2 (en) | 2012-12-07 | 2015-08-25 | Micron Technology, Inc. | Stopping criteria for layered iterative error correction |
US9065483B2 (en) | 2013-01-21 | 2015-06-23 | Micron Technology, Inc. | Determining soft data using a classification code |
US9229848B2 (en) | 2013-01-21 | 2016-01-05 | Micron Technology, Inc. | Determining soft data for fractional digit memory cells |
KR102050896B1 (ko) | 2013-02-19 | 2019-12-02 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
KR20150128750A (ko) | 2013-03-07 | 2015-11-18 | 마벨 월드 트레이드 리미티드 | 늦은 신뢰도 정보를 사용하여 디코딩하기 위한 시스템 및 방법 |
US9323611B2 (en) * | 2013-03-21 | 2016-04-26 | Marvell World Trade Ltd. | Systems and methods for multi-stage soft input decoding |
KR102081588B1 (ko) | 2013-08-08 | 2020-02-26 | 삼성전자 주식회사 | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 |
KR102065664B1 (ko) | 2013-08-09 | 2020-01-13 | 삼성전자 주식회사 | 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 |
US9336134B2 (en) * | 2013-11-12 | 2016-05-10 | Skyera, Llc | Apparatus and method for accessing a non-volatile memory blade using multiple controllers in a non-volatile memory based storage device |
US9229855B2 (en) | 2013-11-12 | 2016-01-05 | Skyera, Llc | Apparatus and method for routing information in a non-volatile memory-based storage device |
KR101824671B1 (ko) * | 2013-11-12 | 2018-03-14 | 스카이에라, 엘엘씨 | 비휘발성 메모리 기반 저장 디바이스에서 정보를 라우팅하는 장치 및 방법 |
KR101484066B1 (ko) | 2013-11-29 | 2015-01-19 | 한국과학기술원 | 엘디피시 부호의 디코딩 방법 |
US9417960B2 (en) * | 2013-12-20 | 2016-08-16 | Seagate Technology Llc | Preventing programming errors from occurring when programming flash memory cells |
US10276247B2 (en) | 2013-12-20 | 2019-04-30 | Seagate Technology Llc | Read retry operations with estimation of written data based on syndrome weights |
US9262268B2 (en) * | 2013-12-20 | 2016-02-16 | Seagate Technology Llc | Method to distribute user data and error correction data over different page types by leveraging error rate variations |
US9818488B2 (en) * | 2015-10-30 | 2017-11-14 | Seagate Technology Llc | Read threshold voltage adaptation using bit error rates based on decoded data |
KR102110767B1 (ko) * | 2013-12-24 | 2020-06-09 | 삼성전자 주식회사 | 메모리 컨트롤러 구동방법 및 메모리 컨트롤러 |
KR102127287B1 (ko) | 2014-02-11 | 2020-06-26 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러가 불휘발성 메모리로부터 데이터를 읽는 데이터 읽기 방법 |
JP5855150B2 (ja) * | 2014-03-06 | 2016-02-09 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US10361721B1 (en) * | 2014-05-01 | 2019-07-23 | Marvell International Ltd. | Methods and network device for uncoded bit protection in 10GBASE-T Ethernet |
US9407294B2 (en) * | 2014-07-07 | 2016-08-02 | Kabushi Kaisha Toshiba. | Non-volatile memory controller with error correction (ECC) tuning via error statistics collection |
KR20160046467A (ko) * | 2014-10-21 | 2016-04-29 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템, 데이터 저장 시스템 및 그것의 동작 방법 |
GB2531756A (en) | 2014-10-29 | 2016-05-04 | Ibm | Multi-chip device and method for storing data |
US9575669B2 (en) | 2014-12-09 | 2017-02-21 | Western Digital Technologies, Inc. | Programmable solid state drive controller and method for scheduling commands utilizing a data structure |
KR20160102738A (ko) | 2015-02-23 | 2016-08-31 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
US10120753B2 (en) | 2015-05-26 | 2018-11-06 | Micron Technology, Inc. | Methods and apparatuses for error correction |
US10474525B2 (en) * | 2015-08-11 | 2019-11-12 | Sandisk Technologies Llc | Soft bit techniques for a data storage device |
US10284232B2 (en) * | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US9793923B2 (en) * | 2015-11-24 | 2017-10-17 | Texas Instruments Incorporated | LDPC post-processor architecture and method for low error floor conditions |
US10678662B2 (en) | 2016-01-04 | 2020-06-09 | Cnex Labs, Inc. | Computing system with data protection mechanism with soft information and method of operation thereof |
US10395754B2 (en) * | 2016-03-21 | 2019-08-27 | Nandext Srl | Method for decoding bits in a solid state drive, and related solid state drive |
US10180868B2 (en) | 2016-07-08 | 2019-01-15 | Seagate Technology Llc | Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping |
US10290358B2 (en) | 2016-07-08 | 2019-05-14 | Seagate Technology Llc | Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights |
US10229000B2 (en) | 2016-08-09 | 2019-03-12 | Seagate Llc | Erasure codes to prevent lower page corruption in flash memory |
US10498362B2 (en) | 2016-12-19 | 2019-12-03 | Kabushiki Kaisha Toshiba | Low power error correcting code (ECC) system |
US10025661B1 (en) * | 2016-12-27 | 2018-07-17 | Sandisk Technologies Llc | Adaptive hard and soft bit decoding |
KR101871682B1 (ko) | 2017-02-02 | 2018-06-28 | 한밭대학교 산학협력단 | 페이지 단위의 ldpc 복호 반복 횟수 기록 및 마모도 모니터링을 통한 신뢰도 높은 웨어-레벨링 수행방법 |
KR101893064B1 (ko) | 2017-02-02 | 2018-08-30 | 한밭대학교 산학협력단 | Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법 |
US10222996B2 (en) | 2017-02-07 | 2019-03-05 | Western Digital Technologies, Inc. | Read operation and soft decoding timing |
US10908988B2 (en) | 2017-04-03 | 2021-02-02 | Hitachi, Ltd. | Storage apparatus |
US10469103B1 (en) | 2017-04-19 | 2019-11-05 | Seagate Technology Llc | Adaptive read retry optimization |
US10445008B2 (en) * | 2017-09-15 | 2019-10-15 | Macronix International Co., Ltd. | Data management method for memory and memory apparatus |
US10558522B2 (en) | 2017-10-20 | 2020-02-11 | Western Digital Technologies, Inc. | Dynamic multi-stage decoding |
US10637511B2 (en) | 2017-12-18 | 2020-04-28 | Western Digital Technologies, Inc | Dynamic multi-stage decoding |
TWI664634B (zh) * | 2018-08-17 | 2019-07-01 | 慧榮科技股份有限公司 | 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置 |
CN109144771A (zh) * | 2018-09-10 | 2019-01-04 | 浪潮电子信息产业股份有限公司 | 一种纠错方法、系统、装置及计算机可读存储介质 |
US10733047B2 (en) | 2018-09-28 | 2020-08-04 | Sandisk Technologies Llc | Hard and soft bit data from single read |
KR102237603B1 (ko) | 2019-09-25 | 2021-04-06 | 연세대학교 산학협력단 | 자기활성 부재를 포함하는 발광소자와 그 제조방법 및 발광소자를 포함하는 전자소자 |
DE112022000073T5 (de) * | 2021-07-04 | 2023-04-20 | Maxlinear, Inc. | Pmd-zu-tc-mac-schnittstelle mit 2-stufigem fec-schutz |
US11921581B1 (en) * | 2022-08-15 | 2024-03-05 | Micron Technology, Inc. | Read recovery including low-density parity-check decoding |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099484A (en) | 1989-06-09 | 1992-03-24 | Digital Equipment Corporation | Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection |
US6347051B2 (en) | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
TW261687B (ja) | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
JPH07271672A (ja) | 1994-03-30 | 1995-10-20 | Toshiba Corp | マルチウェイセットアソシアティブキャッシュシステム |
JPH10509819A (ja) | 1994-10-14 | 1998-09-22 | シリコン グラフィックス インク. | インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング |
US5666512A (en) | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
US6272659B1 (en) * | 1998-05-18 | 2001-08-07 | Cirrus Logic, Inc. | Error correction code processor employing adjustable correction power for miscorrection minimization |
US7117397B1 (en) | 1999-12-15 | 2006-10-03 | Fujitsu Limited | Apparatus and method for preventing an erroneous operation at the time of detection of a system failure |
US6678823B1 (en) | 2000-05-01 | 2004-01-13 | Xtec, Incorporated | Methods and apparatus for authenticating data stored in semiconductor memory cells |
CA2347927A1 (en) * | 2001-05-16 | 2002-11-16 | Telecommunications Research Laboratories | Centralized synchronization for wireless networks |
US7073115B2 (en) | 2001-12-28 | 2006-07-04 | Network Appliance, Inc. | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups |
US7246294B2 (en) * | 2002-04-01 | 2007-07-17 | Intel Corporation | Method for iterative hard-decision forward error correction decoding |
US7209527B2 (en) * | 2002-07-08 | 2007-04-24 | Agere Systems Inc. | Turbo decoder employing max and max* map decoding |
JP4011583B2 (ja) * | 2003-01-30 | 2007-11-21 | 富士通株式会社 | データ記録再生システム及び方法 |
US7206992B2 (en) * | 2003-03-04 | 2007-04-17 | Broadcom Corporation | Decoding a received BCH encoded signal |
US7237183B2 (en) * | 2003-03-04 | 2007-06-26 | Broadcom Corporation | Parallel decoding of a BCH encoded signal |
US7372731B2 (en) | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
US7334181B2 (en) * | 2003-09-04 | 2008-02-19 | The Directv Group, Inc. | Method and system for providing short block length low density parity check (LDPC) codes |
US7555070B1 (en) * | 2004-04-02 | 2009-06-30 | Maxtor Corporation | Parallel maximum a posteriori detectors that generate soft decisions for a sampled data sequence |
US7237067B2 (en) | 2004-04-22 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Managing a multi-way associative cache |
JP4551740B2 (ja) * | 2004-11-08 | 2010-09-29 | 株式会社東芝 | 低密度パリティチェック符号復号器及び方法 |
US7450668B2 (en) * | 2005-02-02 | 2008-11-11 | At&T Intellectual Property I, L.P. | Soft bit viterbi equalizer using partially collapsed metrics |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
KR100732628B1 (ko) | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7661057B2 (en) * | 2006-02-01 | 2010-02-09 | Broadcom Corporation | Clocking Chien searching at different frequency than other Reed-Solomon (RS) ECC decoding functions |
WO2007132457A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US7809994B2 (en) | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US8069397B2 (en) * | 2006-07-10 | 2011-11-29 | Broadcom Corporation | Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive |
US7739576B2 (en) | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US20080059144A1 (en) * | 2006-09-01 | 2008-03-06 | Inphase Technologies | Emulation of dissimilar removable medium storage device types assisted by information embedded in the logical format |
WO2008053472A2 (en) * | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7558109B2 (en) * | 2006-11-03 | 2009-07-07 | Sandisk Corporation | Nonvolatile memory with variable read threshold |
US7593263B2 (en) * | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
US20100107039A1 (en) | 2007-02-01 | 2010-04-29 | Kabushiki Kaisha Toshiba | Semiconductor memory with reed-solomon decoder |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US7904793B2 (en) * | 2007-03-29 | 2011-03-08 | Sandisk Corporation | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
US8418023B2 (en) * | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
WO2008139441A2 (en) * | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
KR100888842B1 (ko) | 2007-06-28 | 2009-03-17 | 삼성전자주식회사 | 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법 |
KR101397549B1 (ko) * | 2007-08-16 | 2014-05-26 | 삼성전자주식회사 | 고속 프로그램이 가능한 불휘발성 반도체 메모리 시스템 및그것의 독출 방법 |
WO2009072103A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
US7656707B2 (en) | 2007-12-14 | 2010-02-02 | Intel Corporation | Systems and methods for discrete channel decoding of LDPC codes for flash memory |
AU2007254619B2 (en) * | 2007-12-21 | 2010-10-07 | Canon Kabushiki Kaisha | Barcode removal |
US20090177943A1 (en) | 2008-01-09 | 2009-07-09 | Broadcom Corporation | Error correction coding using soft information and interleaving |
US8276043B2 (en) * | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
US8724381B2 (en) | 2008-03-11 | 2014-05-13 | Agere Systems Llc | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US8533559B2 (en) * | 2008-05-12 | 2013-09-10 | Panasonic Corporation | Semiconductor recording device with error recovery |
ATE539403T1 (de) | 2008-06-24 | 2012-01-15 | Sandisk Il Ltd | Verfahren und vorrichtung zur fehlerkorrektur nach der löschanzahl eines festkörperspeichers |
US8458536B2 (en) * | 2008-07-17 | 2013-06-04 | Marvell World Trade Ltd. | Data recovery in solid state memory devices |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US20100017649A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation | Data storage system with wear-leveling algorithm |
KR101391362B1 (ko) | 2008-07-23 | 2014-05-07 | 삼성전자주식회사 | 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법 |
KR100967004B1 (ko) | 2008-08-05 | 2010-06-30 | 주식회사 하이닉스반도체 | 플래시 메모리 장치의 동작 제어 방법 |
US8406048B2 (en) * | 2008-08-08 | 2013-03-26 | Marvell World Trade Ltd. | Accessing memory using fractional reference voltages |
KR101483190B1 (ko) * | 2008-09-05 | 2015-01-19 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
US8041984B2 (en) | 2008-10-17 | 2011-10-18 | International Business Machines Corporation | Redundancy information for adjusting threshold for component failure in a multi-layer system |
KR101059673B1 (ko) | 2008-12-26 | 2011-08-25 | 서울대학교산학협력단 | 신뢰도 또는 저장 용량을 동적으로 조절하는 저장 장치 및 그 방법 |
US8560918B1 (en) * | 2009-04-21 | 2013-10-15 | Marvell International Ltd. | Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system |
JP2011040124A (ja) | 2009-08-07 | 2011-02-24 | Toshiba Corp | 半導体記憶装置のデータ読み出し方法 |
WO2011094454A2 (en) | 2010-01-27 | 2011-08-04 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
KR101633048B1 (ko) * | 2010-02-25 | 2016-06-24 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
KR101635506B1 (ko) * | 2010-03-29 | 2016-07-04 | 삼성전자주식회사 | 데이터 저장 시스템 및 그것의 읽기 방법 |
US8667361B1 (en) * | 2010-10-21 | 2014-03-04 | Marvell International Ltd. | Systems and methods for performing bit flipping in an LDPC decoder |
JP2013542533A (ja) | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
WO2012075200A2 (en) | 2010-12-01 | 2012-06-07 | Sandforce, Inc. | Dynamic higher-level redundancy mode management with independent silicon elements |
US8719663B2 (en) | 2010-12-12 | 2014-05-06 | Lsi Corporation | Cross-decoding for non-volatile storage |
KR101454807B1 (ko) | 2011-01-18 | 2014-11-04 | 엘에스아이 코포레이션 | 상위-레벨 리던던시 정보 계산 |
US8839073B2 (en) | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
US9021337B1 (en) * | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US8898549B2 (en) * | 2013-02-12 | 2014-11-25 | Seagate Technology Llc | Statistical adaptive error correction for a flash memory |
-
2011
- 2011-03-11 US US13/583,617 patent/US8935595B2/en active Active
- 2011-03-11 EP EP11754237.3A patent/EP2545554A4/en not_active Withdrawn
- 2011-03-11 WO PCT/US2011/028244 patent/WO2011113034A2/en active Application Filing
- 2011-03-11 KR KR1020127026747A patent/KR101466555B1/ko active IP Right Grant
- 2011-03-11 JP JP2012557303A patent/JP5806792B2/ja not_active Expired - Fee Related
- 2011-03-11 KR KR1020147008546A patent/KR101541040B1/ko active IP Right Grant
- 2011-03-14 TW TW100108588A patent/TWI579854B/zh not_active IP Right Cessation
-
2015
- 2015-01-11 US US14/594,165 patent/US10230406B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101541040B1 (ko) | 2015-08-03 |
TW201203269A (en) | 2012-01-16 |
WO2011113034A3 (en) | 2012-01-19 |
KR101466555B1 (ko) | 2014-12-02 |
CN102985975A (zh) | 2013-03-20 |
US10230406B2 (en) | 2019-03-12 |
JP2013522735A (ja) | 2013-06-13 |
US20170155409A1 (en) | 2017-06-01 |
WO2011113034A2 (en) | 2011-09-15 |
EP2545554A4 (en) | 2015-03-11 |
US20130139035A1 (en) | 2013-05-30 |
US8935595B2 (en) | 2015-01-13 |
KR20140047740A (ko) | 2014-04-22 |
EP2545554A2 (en) | 2013-01-16 |
KR20130006472A (ko) | 2013-01-16 |
TWI579854B (zh) | 2017-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5806792B2 (ja) | フラッシュメモリ用のldpc消失復号化 | |
US11449252B2 (en) | Method of writing and reading data in an NVM using Lpage identification headers | |
US9239754B2 (en) | Single read based soft-decision decoding of non-volatile memory | |
US10002046B2 (en) | Zero-one balance management in a solid-state disk controller | |
US9461904B2 (en) | Selective enablement of operating modes or features via host transfer rate detection | |
JP6452278B2 (ja) | 不揮発性メモリの耐久性平準化のためのセル損傷の測定 | |
US9595320B2 (en) | Optimization of read thresholds for non-volatile memory | |
US20140215103A1 (en) | Decoupled locking dma architecture | |
KR20130114681A (ko) | 독립 실리콘 소자들을 갖는 동적 상위 레벨 리던던시 모드 관리 | |
KR20140094468A (ko) | 비휘발성 메모리에 대한 기록들의 관리 및 그 기록들의 영역 선택 | |
US9396104B1 (en) | Accessing compressed data of varying-sized quanta in non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140311 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150402 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150506 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150602 |
|
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: 20150707 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5806792 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |