KR101298827B1 - 반도체 디스크 및 시스템 - Google Patents

반도체 디스크 및 시스템 Download PDF

Info

Publication number
KR101298827B1
KR101298827B1 KR1020117015123A KR20117015123A KR101298827B1 KR 101298827 B1 KR101298827 B1 KR 101298827B1 KR 1020117015123 A KR1020117015123 A KR 1020117015123A KR 20117015123 A KR20117015123 A KR 20117015123A KR 101298827 B1 KR101298827 B1 KR 101298827B1
Authority
KR
South Korea
Prior art keywords
data
memory
parity
memory dies
dies
Prior art date
Application number
KR1020117015123A
Other languages
English (en)
Other versions
KR20110089452A (ko
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 KR20110089452A publication Critical patent/KR20110089452A/ko
Application granted granted Critical
Publication of KR101298827B1 publication Critical patent/KR101298827B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/1048Adding 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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

몇몇 실시예에서, 반도체 디스크(SSD:solid state disk)는 비휘발성 메모리 및 제어기를 포함한다. 상기 제어기는 ECC(Error Correction Code)를 상기 비휘발성 메모리 상에 저장된 데이터에 대해서 수행하며 상기 ECC가 상기 데이터를 보정할 수 없다면 상기 데이터에 대해서 패리티 연산(parity operation)을 수행한다. 다른 실시예들도 역시 기술되고 청구된다.

Description

반도체 디스크 및 시스템{IMPROVED ERROR CORRECTION IN A SOLID STATE DISK}
본 발명은 전반적으로 반도체 대용량 저장 매체(solid state mass storage product)에 관한 것이다.
SSD(Solid State Disk)는 움직이는 부분을 전혀 포함하지 않는 고성능 저장 디바이스이다. SSD는 통상적인 회전형 자기 매체를 갖는 통상적인 하드 디스크 드라이브보다 매우 빠르며 통상적으로 데이터 저장을 관리하기 위해서 제어기(controller)를 포함한다. 제어기는 데이터 저장 및 액세스와 더불어 SSD와 호스트 디바이스 간의 통신과 같은 SSD의 동작들을 관리한다. 또한, 제어기는 SSD 상에 기록된 데이터의 무결성을 보장하기 위해서 ECC(Error Correction Code)을 수행한다. ECC는 SSD와 호스트 디바이스 간에 통신된 데이터에서의 에러들을 식별하고 보정한다. 그러나, 저장 매체의 몇몇 고장 메카니즘들은 ECC 엔진의 보정 능력 범위 밖에 있으며, 이로써 데이터가 복구될 수 없게 되거나 데이터가 손실될 수 있다. 가령, 치명적인 다이 손상이 있을 때가 그 경우이다.
2006년 3월 31일자에 출원된 미국 특허 출원 제11/396,262호 "Improving Reliability of Write Operations to a Non-Volatile Memory"는 마지막 프로그램 동작이 성공할 때까지 소거 블록에 기록된 모든 데이터의 복사본을 보관함으로써 프로그램 고장을 처리하고 있다. 이 미국 특허 출원은 ECC 실패 문제 또는 다이 손상 문제를 다루기보다는 프로그램 고장 문제를 다루고 있다. 따라서, ECC 실패 문제 및/또는 다이 손상 문제를 다룰 필요가 있다.
본 발명은 본 발명의 몇몇 실시예들에 대한 다음의 상세한 설명 부분을 첨부된 도면을 참조하여서 독해하면 더 완벽하게 이해될 것이며, 이러한 본 발명의 실시예들은 본 발명을 기술될 특정 실시예들로만 한정하는 것이 아니며, 오직 발명을 설명하고 이해시키기 위해서 제공된 것이다.
도 1은 본 발명의 몇몇 실시예들에 따른 시스템을 도시하고 있다.
도 2는 본 발명의 몇몇 실시예들에 따른 흐름을 도시하고 있다.
본 발명의 몇몇 실시예들은 SSD에서의 개선된 에러 보정에 관한 것이다.
몇몇 실시예들에서, SSD는 비휘발성 메모리 및 제어기를 포함한다. 이 제어기는 ECC(에러 보정 코드)를 비휘발성 메모리 상에 저장된 데이터에 대해서 수행하며 ECC가 데이터를 보정할 수 없다면 이 데이터에 대해서 패리티 연산(parity operation)을 수행한다.
몇몇 실시예들에서, 시스템은 호스트 및 SSD를 포함한다. 이 SSD는 비휘발성 메모리 및 제어기를 포함한다. 이 제어기는 ECC(에러 보정 코드)를 비휘발성 메모리 상에 저장된 데이터에 대해서 수행하며 ECC가 데이터를 보정할 수 없다면 이 데이터에 대해서 패리티 연산(parity operation)을 수행한다.
몇몇 실시예들에서, ECC가 SSD의 비휘발성 메모리 상에 저장된 데이터에 대해서 수행된다. ECC가 이 데이터를 보정할 수 없다면 이 데이터에 대해서 패리티 연산(parity operation)이 수행된다.
몇몇 실시예들에서, XOR(exclusive OR) ECC 기술이 사용되어서 주 ECC 시스템에 의해서 보정되지 않는 에러, 구성 요소 레벨 고장(failure) 및/또는 프로그래밍 고장(가령, NAND 프로그래밍 고장)으로부터 SSD를 보호한다. 가령, 몇몇 실시예에서, 대용량 저장 환경에서 사용되는 바와 유사한 패리티 기술들(가령, RAID(Redundant Arrays of Independent Disks) 기술)이 SSD의 비휘발성 메모리 환경에서 구현될 수 있다. 몇몇 실시예들에서, 호스트로부터의 기록 데이터는 XOR 패리티 생성기를 통과하며 호스트 데이터와 더불어 패리티가 비휘발성 메모리 내에 기록된다. SSD의 주 ECC 엔진이 호스트 섹터를 보정할 수 없는 경우이거나 다이(가령, NAND 다이)가 고장난 경우에는, 몇몇 실시예에 따라서 제 2 레벨의 에러 보정이 구현되어서 보정된 데이터를 획득한다.
몇몇 실시예들에서, 보정 불가능한 섹터를 배제한 패리티 및 호스트 데이터가 매체로부터 판독되고 유실 데이터가 XOR 연산을 사용하여서 복구된다. 프로그램 고장이 동일한 소거 블록 내에서 후속하는 기록/프로그램에서 발생할 때에 이 소거 블록으로 이전에 기록된 데이터가 손상된 NAND 프로그램 고장과 같은 프로그램 고장의 경우에, 소거 블록에 이전에 기록되었지만 현재에는 손상된 페이지 각각이 XOR 연산을 사용하여서 한번에 하나씩 복구된다. 동일한 타입의 XOR 연산이 주 ECC 고장 또는 프로그램 고장의 경우에도 사용될 수 있다.
단일 SSD는 약 80 개의 NADN 다이를 포함하기 때문에, SSD 제품의 MTTF(mean time to failure)은 NAND 다이 손상을 견딜 수 있는 능력으로 인해서 몇몇 실시예들에서는 대략 6 배 정도 길어질 수 있으며 이로써 데이터 손실 없이 동작이 계속될 수 있다. 이러한 MTTF 개선 수준은 매우 중요하다. 또한, 몇몇 실시예들에서, 주 ECC(primary ECC) 엔진을 사용하는 경우에 비해서 데이터 신뢰성이 몇 배 정도로 증가하게 된다. 이는 판독 시에 ECC가 보정할 수 있는 에러 비트보다 많은 에러 비트가 존재하여서 ECC 보정이 실패하는 경우에도 리던던트(redundant) XOR 데이터가 사용되어서 최초의 데이터를 재구성할 수 있기 때문이다. 이와 마찬가지로, 기록 시에도, 프로그램 고장이 발생하여서 동일한 소거 블록 상의 다른 데이터가 손상되는 경우에도, 몇몇 실시예들에 따라서 이 손상된 데이터의 재구성이 수행될 수 있다. 이들은 SSD 및 NAND 메모리에 있어서 매우 큰 개선 사항이며 특히 NAND 메모리가 더 정밀한 리소그래피(lithography)에 기초하여 형성된 경우에는 더욱 그러하다.
도 1은 몇몇 실시예들에 따른 시스템(100)을 나타내고 있다. 몇몇 실시예들에서, 시스템(100)은 호스트(102) 및 SSD(104)를 포함한다. 몇몇 실시예들에서, SSD(104)는 SSD로 지칭되는 것으로 한정되지 않으며, 임의의 타입의 비휘발성 메모리를 포함할 수 있다. SSD(104)는 제어기(106) 및 메모리(108)를 포함한다. 몇몇 실시예들에서, 메모리(108)는 NAND 메모리와 같은 비휘발성 메모리이다. 몇몇 실시예들에서, 제어기(106)는 SSD(104)의 메모리(108) 상에 기록된 데이터의 무결성을 보장하기 위해서 ECC를 수행하는 ECC 엔진(도 1에서는 미도시)을 포함한다. ECC는 SSD(104)와 호스트(102) 간에 통신된 데이터에서의 에러를 식별하여서 보정한다. 그러나, 때때로, 제어기(106) 내의 ECC 엔진도 데이터의 호스트 섹터를 보정할 수 없으며, (가령, SSD(104)의 메모리(108) 내에 포함된 NAND 다이에서의) 다이 손상은 데이터 무결성 상에 문제를 일으킬 수 있다. 따라서, 몇몇 실시예들에서, 제어기(106)는 가령 주 ECC 엔진이 호스트 섹터를 보정할 수 없거나 메모리(108) 내의 다이가 손상된 경우에 XOR 연산을 수행하기 위해서 XOR 패리티 생성기를 더 포함한다.
도 2는 몇몇 실시예에 따른 비휘발성 메모리를 도식적으로 나타내고 있다. 도 2의 비휘발성 메모리(200)는 종축에서 00 페이지 내지 127 페이지를 포함하고 횡축에서는 슬롯 00 내지 슬롯 79을 포함한다. 도 2에서 각 페이지는 예시적으로 8 개의 섹터를 포함하고 있다. 몇몇 실시예에서, 이 슬롯들은 가령 SSD 상의 80 개의 다이를 도식적으로 나타내고/내거나 칩 인에이블(chip enable) 및/또는 메모리 채널의 추출부이다. 몇몇 실시예에서, 슬롯 00 내지 슬롯 79 각각은 다른 슬롯들과 동시적으로 동작할 수 있는 엔진을 나타낸다.
도 2에 도시된 바와 같이, 호스트로부터의 콘텐츠가 메모리(가령, NAND 메모리) 내에 시간 순서대로 기록된다. 콘텐츠는 페이지 00 및 슬롯 00에서 8 개의 섹터 페이지를 채우며 이어서 다음 콘텐츠가 페이지 00의 다음 슬롯 01에 기록되며 다음 콘텐츠가 페이지 00의 다음 슬롯 02에 기록되며 그래프(200)의 상부의 페이지 00에 걸쳐서 화살표로 표시되어 있듯이, 이러한 바가 계속된다. XOR 패리티는 호스트 콘텐츠가 수신되는 때에 바로 생성된다. 호스트 콘텐츠가 마지막 슬롯을 제외하고 일 페이지에 있어서 모든 슬롯들을 채우면, 즉 슬롯 00 내지 슬롯 78을 모두 채우면, 패리티 페이지가 그 데이터 흐름 내에 삽입되어서 가령 슬롯 79에 이르게 되어서 해당 페이지에 있어서 이 마지막 슬롯을 점유한다. 슬롯 79에 기록된 패리티 페이지의 섹터 0은 본 실례에서 이 페이지에 대한 슬롯 00 내지 슬롯 78의 모든 섹터 0 콘텐츠의 XOR이며, 이와 마찬가지로, 슬롯 79에 기록된 패리티 페이지의 섹터 1은 이 페이지에 대한 슬롯 00 내지 슬롯 78의 모든 섹터 1 콘텐츠의 XOR이다. 몇몇 실시예에서, 패리티 섹터들은 호스트 콘텐츠 및 메타데이터의 XOR이지만 ECC 필드의 XOR은 아니다. 이로써, 패리티 페이지의 각 섹터는 그의 콘텐츠에 특정된 ECC를 포함한다.
도 2는 콘텐츠 및 패리티가 일 페이지의 일부에 기록되는 실례를 나타내고 있다. 4 개의 섹터들이 슬롯 01의 섹터 2 내지 섹터 5에 기록되며, 이어서, 4 개의 섹터들이 슬롯 01의 섹터 6 및 섹터 7과 슬롯 02의 섹터 1 및 섹터 2에 기록된다. 이어서, 4 개의 섹터들이 슬롯 02의 섹터 3 내지 섹터 6에 기록되고, 일 섹터가 슬롯 02의 섹터 7에 기록된다. 이어서, 8 개의 섹터가 슬롯 02의 섹터 8 및 슬롯 03의 섹터 1 내지 섹터 7에 기록된다. 8 개의 패리티 섹터들은 가령 XOR을 사용하여서 섹터마다 계산되며 이어서 슬롯 79의 8 개의 섹터들에 패리티 데이터로서 기록된다.
상술된 바와 같이 하나의 패리티 슬롯 79의 실시예에서, 슬롯 00 내지 슬롯 78로 된 임의의 페이지의 임의의 섹터에 보정 불가능한 에러가 발생하면, SSD는 에러가 발생한 부분만 제외하고 모든 페이지의 해당 섹터 번호를 판독하고 해당 패리티 섹터와 더불어 이 섹터들의 콘텐츠를 XOR하여서 유실된 콘텐츠를 복구한다. 몇몇 실시예에서, BCH(Bose-Chaudhuri-Hocquengen) 보정과 같은 ECC는 패리티를 포함하여서 각 섹터에 대해서 수행되며 보정 불가능한 상태는 그 콘텐츠를 XOR함으로써 제 2 레벨의 ECC 복구를 트리거하도록 사용된다.
상술한 바와 같은 하나의 패리티 슬롯 79의 실시예에서, 슬롯 00 내지 슬롯 78의 어레이마다의 단일 패리티 페이지는 보정 불가능한 에러 및 치명적인 다이 손상으로부터 데이터를 보호할 것이다. 몇몇 실시예에서, 하나 이상의 슬롯을 사용하는 구성 요소 손상에 대한 보호 시에는, 다른 구현예 또는 기술들이 사용될 수 있다. 가령, 2 개의 슬롯을 사용할 구성 요소 손상에 대한 보호를 위해서는, 2 개의 패리티 페이지가 슬롯 어레이마다 (가령, 슬롯 39 및 슬롯 79에) 삽입될 수 있다. 슬롯 39에서의 패리티는 슬롯 00 내지 슬롯 38을 복구하는데 사용될 수 있으며, 슬롯 79에서의 패리티는 슬롯 40 내지 슬롯 78을 복구하는데 사용될 수 있다. 따라서, 패키지 손상은 슬롯 00 내지 슬롯 39의 패리티 스트라이프에서 일 슬롯을 사용하고 슬롯 40 내지 슬롯 79의 패리티 스트라이프에서 제 2 슬롯을 사용하도록 슬롯 어레이가 조절될 수 있다. 가령, 패키지 5가 슬롯 5 및 슬롯 25 내로의 2 개의 CE에 맵핑되면, 상기 패리티 스트라이프는 2.5%의 용량을 희생하는 대가로 구성 요소 손상으로부터 데이터를 보호할 수 있다. 다이 손상(패키지 손상은 아님)이 보호될 것이라면 이 희생되는 용량은 절반으로 줄어들 수 있다.
XOR이 다수의 대용량 저장 소자 환경에서 이전에 사용되었지만, 몇몇 실시예에 따라서, 단일 저장 소자(가령, SSD)의 차원에서 치명적인 구성 요소 손상으로부터 콘텐츠를 보호하기 위한 기술이 사용될 수 있다. SSD 환경에서, 인다이렉션(indirection)이 모든 기록들이 본질적으로 순차적으로 되게 하는 경우에, 랜덤한 기록 동작에 관련하여서 어떠한 패널티(penalty)도 존재하지 않는다. 또한, 이전에 기록된 데이터의 손실을 유발하는 NAND 프로그래밍 실패와 같은 SSD에 특정된 문제들은 몇몇 실시예들에 따라서 해결될 수 있다. 몇몇 실시예들에서, 프로그램 손상은 많은 대가를 희생하지 않고서 해결될 수 있으며, 또한 다이 손상 및 ECC 실패도 다룰 수 있다.
몇몇 실시예들이 본 명세서에서 특정 방식으로 구현되게 기술되었지만, 몇몇 실시예들에서는, 이러한 특정 구현예들은 필요하지 않을 수 있다. 가령, 도 1은 ECC 연산 및 XOR 연산을 수행하기 위해서 하나의 제어기를 나타내고 있지만, 몇몇 실시예에서는 개별 제어기들이 사용되거나 전용 제어기들이 사용될 수도 있다.
몇몇 실시예들이 특정 구현예를 참조하여서 기술되었지만, 몇몇 실시예들에서는 다른 구현예도 역시 가능하다. 또한, 도면에서 도시되고/되거나 본 명세서에서 기술된 회로 요소들 또는 다른 특징부들의 순서 및/또는 배열은 도시되거나 기술된 바대로 이루어질 필요는 없다. 다른 수많은 구성이 몇몇 실시예들에 따라서 가능하다.
도면에서 도시된 각 시스템에서, 구성 요소들 각각이 서로 다르다는 것을 나타내거나 서로 유사하다는 것을 나타내기 위해서, 이들 구성 요소들은 동일한 참조 부호를 사용하거나 다른 참조 부호를 사용할 수 있다. 그러나, 일 구성 요소는 서로 다른 구현예에서 사용될 수 있도록 충분하게 융통성이 있으며 본 명세서에서 도시되고 기술된 모든 시스템들 또는 몇몇 시스템들에서 동작할 수 있다. 도면에서 도시된 다양한 요소들은 동일하거나 상이할 수 있다. 어느 것이 제 1 요소로 지칭되고 어느 것이 제 2 요소로 지칭되는지는 임의적이다.
발명의 상세한 설명 부분 및 청구 범위에서, 용어 "접속된다(connected)" 및 "결합된다(coupled)" 및 이들의 활용이 사용될 수 있다. 이러한 용어들은 서로 동의어로 사용되지 말아야 한다. 특정 실시예들에서, "접속된다"는 2 개 이상의 요소들이 서로 물리적으로 또는 전기적으로 간접적으로 접촉되는 것을 말하는데 사용될 수 있다. "결합된다"는 2 개의 이상의 요소들이 서로 물리적으로 또는 전기적으로 직접적으로 접촉되는 것을 말하는데 사용될 수 있다. 그러나, "결합된다"는 또한 2 개 이상의 요소들이 서로 직접 접촉되지는 않지만 서로 상호 동작하거나 상호 작용하는 바를 말할 수도 있다.
본 명세서에서 그리고 일반적으로 알고리즘은 소망하는 결과를 낳는 일련의 일관성이 있는 동작 또는 연산들을 말한다. 이러한 동작 또는 연산들은 물리량을 물리적으로 처리하는 것을 포함한다. 통상적으로, 반드시 그러하지는 않지만, 이러한 물리량은 저장되고, 전달되고, 결합되고, 비교되고, 이와 달리 처리될 수 있는 전기 신호 또는 자기 신호들의 형태를 취할 수 있다. 원칙적으로는 통상적인 용도의 측면에서 이러한 신호들을 비트, 값, 요소, 심볼, 문자, 항, 숫자 등으로서 지칭하는 것이 때때로 편리하다고 증명되었다. 그러나, 이러한 용어 및 이와 유사한 용어 모두는 적합한 물리량과 연관되어야 하며 단지 이러한 물리량에 적용되는 편리한 라벨일 뿐임을 주목할 필요가 있다.
몇몇 실시예들은 하나로 구현되거나 하드웨어, 펌웨어 및 소프트웨어의 조합으로서 구현될 수 있다. 또한, 몇몇 실시예들은 컴퓨팅 플랫폼에 의해서 판독 및 실행되어서 본 명세서에서 기술된 동작들을 수행할 수 있는 머신 판독 가능한 매체 상에 저장된 인스트럭션으로서 구현될 수도 있다. 이러한 머신 판독 가능한 매체는 머신(가령, 컴퓨터)에 의해서 판독될 수 있는 형태로 정보를 저장 또는 전송하는 임의의 메카니즘을 포함할 수 있다. 가령, 이 머신 판독 가능한 매체는 ROM, RAM, 자기 디스크 저장 매체, 광학적 저장 매체, 플래시 메모리 디바이스, 전기적 형태로 전달된 신호, 광학적 형태로 전달된 신호, 음향적 형태로 전달된 신호 또는 다른 형태로 전달된 신호(가령, 반송파, 적외선 신호, 디지털 신호, 신호를 송수신하는 인터페이스 등) 등을 포함할 수 있다.
일 실시예는 본 발명의 일 구현예 또는 실례이다. 본 명세서에서 "일 실시예"라는 표현은 이 실시예와 연관되어서 기술된 특징, 구조 또는 특성이 적어도 몇몇 다른 실시예에서도 포함될 수 있음을 의미한다. 그러나, 반드시 본 발명의 모든 실시예에서 포함되어야 하는 것은 아니다. 본 명세서에서 "일 실시예에서"라는 표현이 등장하면 이는 반드시 동일한 실시예들을 언제나 지칭하는 것은 아니다.
본 명세서에서 기술된 모든 구성 요소, 특징, 특성, 구조 등이 특정 실시예 또는 실시예들 내에 포함될 필요는 없다. 본 명세서에서 구성 요소, 특징, 구조 또는 특성이 "포함될 수 있다"라고 말하면, 이러한 요소, 특징, 구조 또는 특성이 반드시 해당 실시예에서 포함되어야만 하는 것은 아니다. 또한, 명사의 단수형은 해당 명사가 오직 단수 개만 존재한다는 것을 의미하지는 않는다. 명세서에서 "추가적 요소"라는 말이 등장하면, 추가적 요소가 오직 하나만 존재하는 것을 전제하지는 않는다.
흐름도 및/또는 상태도가 실시예들을 기술하기 위해서 본 명세서에서 사용되었지만, 본 발명은 이러한 상태도 또는 흐름도 또는 대응하는 기술 사항으로만 한정되는 것은 아니다. 가령, 흐름은 반드시 각 도시된 블록 또는 상태를 통과해야만 하는 것도 아니고 반드시 기술된 바와 동일한 순서로 수행될 필요도 없다.
본 발명은 본 명세서에서 열거된 특정 세부 사항들에 한정되는 것은 아니다. 본 기술 분야의 당업자에게는 본 명세서 및 도면을 참조하여서 수많은 수정 및 변경을 본 발명의 범위 내에서 고려할 수 있을 것이다. 따라서, 본 발명의 범위를 규정하는 바는 그에 대한 보정까지 포함한 다음의 청구 범위이다.

Claims (21)

  1. 반도체 디스크(SSD:solid state disk)로서,
    복수의 메모리 다이들로 이루어진 비휘발성 메모리 - 각각의 메모리 다이는 복수의 섹터들을 포함하고, 상기 복수의 메모리 다이들의 각각에 대한 상기 복수의 섹터들의 부분 집합(subset)으로부터 복수의 페이지들이 형성됨 - 와,
    제어기를 포함하며,
    상기 제어기는
    데이터를 상기 비휘발성 메모리(200)에 기록 - 상기 데이터는, 상기 복수의 메모리 다이들을 통해 그리고 상기 메모리 다이에 대한 섹터 단위로 시간 순서대로 페이지에 기록됨 - 하고,
    상기 비휘발성 메모리에 기록된 상기 데이터에 대해 에러 보정 코드(ECC:Error Correction Code)를 생성하고,
    상기 복수의 메모리 다이들 중 대응하는 섹터들에 포함된 상기 데이터에 대해 패리티 연산(parity operation)을 수행하고,
    대응하는 섹터 내의 상기 복수의 메모리 다이들의 적어도 하나에 패리티 데이터를 기록하는
    반도체 디스크.
  2. 제 1 항에 있어서,
    상기 패리티 연산은 XOR(Exclusive OR) 연산을 포함하는
    반도체 디스크.
  3. 제 1 항에 있어서,
    상기 제어기는, 에러를 포함하고 상기 ECC를 이용하여 보정될 수 없는 데이터에 대해 상기 패리티 데이터로부터 대체 데이터를 생성하는
    반도체 디스크.
  4. 제 1 항에 있어서,
    상기 복수의 메모리 다이들은 동시적 작업이 가능한
    반도체 디스크.
  5. 제 1 항에 있어서,
    상기 휘발성 메모리는 복수의 NAND 다이들로 이루어진
    반도체 디스크.
  6. 제 1 항에 있어서,
    상기 복수의 메모리 다이들 중 하나 이상은 NAND 다이인
    반도체 디스크.
  7. 제 1 항에 있어서,
    상기 복수의 메모리 다이들 중 하나 이상은 패리티 정보를 위해서 예비되는(reserved)
    반도체 디스크.
  8. 반도체 디스크 내의 에러 보정을 위한 시스템으로서,
    호스트와,
    반도체 디스크를 포함하며,
    상기 반도체 디스크는 복수의 메모리 다이들로 이루어진 비휘발성 메모리 - 각각의 메모리 다이는 복수의 섹터들을 포함하고, 상기 복수의 메모리 다이들의 각각에 대한 상기 복수의 섹터들의 부분 집합(subset)으로부터 복수의 페이지들이 형성됨 - 와, 제어기를 포함하며, 상기 제어기는
    데이터를 상기 비휘발성 메모리에 기록 - 상기 데이터는, 상기 복수의 메모리 다이들을 통해 그리고 상기 메모리 다이에 대한 섹터 단위로 시간 순서대로 페이지에 기록됨 - 하고,
    상기 비휘발성 메모리에 기록된 데이터에 대해 에러 보정 코드(ECC:Error Correction Code)를 생성하고,
    상기 복수의 메모리 다이들 중 대응하는 섹터들에 포함된 상기 데이터에 대해 패리티 연산(parity operation)을 수행하고,
    대응하는 섹터 내의 상기 복수의 메모리 다이들의 적어도 하나에 패리티 데이터를 기록하는
    시스템.
  9. 제 8 항에 있어서,
    상기 패리티 연산은 XOR(Exclusive OR) 연산을 포함하는
    시스템.
  10. 제 8 항에 있어서,
    상기 제어기는, 에러를 포함하고 상기 ECC를 이용하여 보정될 수 없는 데이터에 대해 상기 패리티 데이터로부터 대체 데이터를 생성하는
    시스템.
  11. 제 8 항에 있어서,
    상기 복수의 메모리 다이들은 동시적 작업이 가능한
    시스템.
  12. 제 8 항에 있어서,
    상기 휘발성 메모리는 복수의 NAND 다이들로 이루어진
    시스템.
  13. 제 8 항에 있어서,
    상기 복수의 메모리 다이들 중 하나 이상은 NAND 다이인
    시스템.
  14. 제 8 항에 있어서,
    상기 복수의 메모리 다이들 중 하나 이상은 패리티 정보를 위해서 예비되는
    시스템.
  15. 반도체 디스크 내의 에러 보정을 위한 방법으로서,
    비휘발성 메모리에 데이터를 기록하는 단계 - 상기 비휘발성 메모리는 복수의 메모리 다이들을 포함하고, 각각의 메모리 다이는 복수의 섹터들을 포함하고, 상기 복수의 메모리 다이들의 각각에 대한 상기 복수의 섹터들의 부분 집합(subset)으로부터 복수의 페이지들이 형성되고, 상기 데이터는, 상기 복수의 메모리 다이들을 통해 그리고 상기 메모리 다이에 대한 섹터 단위로 시간 순서대로 페이지에 기록됨 - 와,
    상기 비휘발성 메모리에 기록된 상기 데이터에 대해 에러 보정 코드(ECC: Error Correction Code)를 생성하는 단계와, 상기 복수의 메모리 다이들 중 대응하는 섹터들에 포함된 상기 데이터에 대해 패리티 연산을 수행하는 단계와,
    대응하는 섹터 내의 상기 복수의 메모리 다이들의 적어도 하나에 패리티 데이터를 기록하는 단계를 포함하는
    방법.
  16. 제 15 항에 있어서,
    상기 패리티 연산은 XOR 연산을 포함하는
    방법.
  17. 제 15 항에 있어서,
    에러를 포함하고 상기 ECC를 이용하여 보정될 수 없는 데이터에 대해 상기 패리티 데이터로부터 대체 데이터를 생성하는 단계를 더 포함하는
    방법.
  18. 제 15 항에 있어서,
    상기 복수의 메모리 다이들은 동시적 작업이 가능한
    방법.
  19. 제 15 항에 있어서,
    상기 휘발성 메모리는 복수의 NAND 다이들로 이루어진
    방법.
  20. 제 15 항에 있어서,
    상기 복수의 메모리 다이들 중 하나 이상은 NAND 다이인
    방법.
  21. 제 15 항에 있어서,
    상기 복수의 메모리 다이들 중 하나 이상을 패리티 정보를 위해서 예비하는 단계를 더 포함하는
    방법.
KR1020117015123A 2008-12-31 2009-12-22 반도체 디스크 및 시스템 KR101298827B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/319,208 2008-12-31
US12/319,208 US8438455B2 (en) 2008-12-31 2008-12-31 Error correction in a solid state disk
PCT/US2009/069286 WO2010078167A2 (en) 2008-12-31 2009-12-22 Improved error correction in a solid state disk

Publications (2)

Publication Number Publication Date
KR20110089452A KR20110089452A (ko) 2011-08-08
KR101298827B1 true KR101298827B1 (ko) 2013-08-23

Family

ID=42286406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117015123A KR101298827B1 (ko) 2008-12-31 2009-12-22 반도체 디스크 및 시스템

Country Status (8)

Country Link
US (1) US8438455B2 (ko)
EP (1) EP2382542B1 (ko)
JP (1) JP2012514274A (ko)
KR (1) KR101298827B1 (ko)
CN (1) CN102301340B (ko)
BR (1) BRPI0923759A2 (ko)
TW (1) TWI449051B (ko)
WO (1) WO2010078167A2 (ko)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) * 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
KR20110050404A (ko) 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8438455B2 (en) 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR20100091379A (ko) * 2009-02-10 2010-08-19 삼성전자주식회사 반도체 디스크 장치 및 그것의 프로그램 페일 처리 방법
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8924601B2 (en) 2009-04-06 2014-12-30 Intel Corporation Apparatus and method for defect revectoring in a multi-channel mass storage device
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8327224B2 (en) 2009-04-16 2012-12-04 Micron Technology, Inc. Data recovery in a solid state storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US9069687B2 (en) * 2010-01-29 2015-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory read-channel with selective transmission of error correction data
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8638602B1 (en) 2010-09-10 2014-01-28 Western Digital Technologies, Inc. Background selection of voltage reference values for performing memory read operations
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
CN103348330B (zh) * 2010-12-01 2017-05-24 希捷科技有限公司 采用独立硅元件的动态较高级冗余模式管理
JP2014507717A (ja) * 2011-01-18 2014-03-27 エルエスアイ コーポレーション より高いレベルの冗長な情報の計算
US8949686B1 (en) * 2011-02-13 2015-02-03 Apple Inc. Protection against word line failure in memory devices
US9058288B2 (en) * 2011-04-03 2015-06-16 Apple Inc. Redundant storage in non-volatile memory by storing redundancy information in volatile memory
US8503237B1 (en) 2011-05-18 2013-08-06 Western Digital Technologies, Inc. System and method for data recovery in a solid state storage device
US9158675B2 (en) 2012-03-16 2015-10-13 Marvell World Trade Ltd. Architecture for storage of data on NAND flash memory
US9632866B2 (en) 2012-09-28 2017-04-25 Duke University Systems for and methods of extending lifetime of non-volatile memory
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9424946B2 (en) 2013-02-08 2016-08-23 Seagate Technology Llc Non-volatile buffering to enable sloppy writes and fast write verification
KR102050896B1 (ko) * 2013-02-19 2019-12-02 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법
US9069695B2 (en) 2013-03-14 2015-06-30 Apple Inc. Correction of block errors for a system having non-volatile memory
JP2015018451A (ja) * 2013-07-11 2015-01-29 株式会社東芝 メモリコントローラ、記憶装置およびメモリ制御方法
US9262267B2 (en) 2013-12-02 2016-02-16 Intel Corporation Error correction in solid state drives (SSD)
US9015561B1 (en) * 2014-06-11 2015-04-21 Sandisk Technologies Inc. Adaptive redundancy in three dimensional memory
US9619326B2 (en) 2014-12-09 2017-04-11 Western Digital Technologies, Inc. Methods and systems for implementing redundancy in memory controllers
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
US10275310B2 (en) 2015-03-09 2019-04-30 Western Digital Technologies, Inc. Updating exclusive-or parity data
US9530442B1 (en) * 2015-09-23 2016-12-27 Western Digital Technologies, Inc. Enhanced low overhead data protection in data storage drives
US10198313B2 (en) 2016-03-11 2019-02-05 Western Digital Technologies, Inc. Redundancy of error correction encoded data in a storage system
US10606775B1 (en) 2018-12-28 2020-03-31 Micron Technology, Inc. Computing tile
US10949101B2 (en) 2019-02-25 2021-03-16 Micron Technology, Inc. Storage device operation orchestration
US10983795B2 (en) 2019-03-27 2021-04-20 Micron Technology, Inc. Extended memory operations
US11016765B2 (en) 2019-04-29 2021-05-25 Micron Technology, Inc. Bit string operations using a computing tile
US10990389B2 (en) 2019-04-29 2021-04-27 Micron Technology, Inc. Bit string operations using a computing tile
US11176065B2 (en) 2019-08-12 2021-11-16 Micron Technology, Inc. Extended memory interface
US11531590B2 (en) * 2019-09-17 2022-12-20 Western Digital Technologies, Inc. Method and system for host-assisted data recovery assurance for data center storage device architectures
JP2021047527A (ja) 2019-09-17 2021-03-25 キオクシア株式会社 メモリシステム
CN110956997B (zh) * 2019-11-08 2022-05-10 苏州浪潮智能科技有限公司 一种固态硬盘ber的测试方法、测试装置及测试设备
US11144203B2 (en) 2019-12-03 2021-10-12 Micron Technology, Inc. Selectively operable memory device
JP7443774B2 (ja) * 2020-01-14 2024-03-06 ソニーグループ株式会社 符号化装置、および符号化方法、復号装置、および復号方法、並びにプログラム
US10910048B1 (en) 2020-01-16 2021-02-02 Micron Technology, Inc. Extended memory communication
US11275581B2 (en) 2020-06-19 2022-03-15 Micron Technology, Inc. Expended memory component
US11481317B2 (en) 2020-06-26 2022-10-25 Micron Technology, Inc. Extended memory architecture
US11625591B2 (en) 2020-06-26 2023-04-11 Micron Technology, Inc. Extended memory neuromorphic component
US11455254B2 (en) * 2020-12-10 2022-09-27 Macronix International Co., Ltd. Flash memory system and flash memory device thereof
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604934B1 (ko) * 2004-01-31 2006-07-28 삼성전자주식회사 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법
US20070277060A1 (en) * 2006-05-15 2007-11-29 Apple Inc. Use of Alternative Value in Cell Detection

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623506A (en) * 1994-01-28 1997-04-22 International Business Machines Corporation Method and structure for providing error correction code within a system having SIMMs
US6223301B1 (en) 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
JP4034949B2 (ja) 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2003303139A (ja) 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
JP2003346432A (ja) * 2002-05-22 2003-12-05 Internatl Business Mach Corp <Ibm> データ記憶装置およびデータ処理方法
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
KR100546348B1 (ko) 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
US7543218B2 (en) 2004-01-31 2009-06-02 Samsung Electronics Co., Ltd. DVD decoding method and apparatus using selective po-correction
US7536625B2 (en) * 2004-06-30 2009-05-19 Seagate Technology Llc Maintaining data integrity in a data storage system
JP2006048783A (ja) 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US8200887B2 (en) * 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US20070233937A1 (en) 2006-03-31 2007-10-04 Coulson Richard L Reliability of write operations to a non-volatile memory
KR101254185B1 (ko) 2006-08-03 2013-04-18 삼성전자주식회사 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법
CN101715575A (zh) * 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
JP2008287404A (ja) 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
KR100921748B1 (ko) * 2007-06-04 2009-10-15 삼성전자주식회사 Ecc 회로를 포함하는 메모리 시스템 및 그 구동 방법
US8037398B2 (en) * 2007-07-02 2011-10-11 Seagate Technology System for precoding parity bits to meet predetermined modulation constraints
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8261124B2 (en) * 2007-12-21 2012-09-04 Spansion Llc System and method for optimized error correction in flash memory arrays
KR20110050404A (ko) * 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
US8276028B2 (en) * 2008-05-23 2012-09-25 Intel Corporation Using error information from nearby locations to recover uncorrectable data in non-volatile memory
WO2010000020A1 (en) 2008-06-30 2010-01-07 Cathrx Ltd A catheter
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
WO2010054410A2 (en) * 2008-11-10 2010-05-14 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for predicting failures in solid-state storage
US8438455B2 (en) 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8726126B2 (en) * 2010-03-23 2014-05-13 Apple Inc. Non-regular parity distribution detection via metadata tag
US8533550B2 (en) * 2010-06-29 2013-09-10 Intel Corporation Method and system to improve the performance and/or reliability of a solid-state drive

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604934B1 (ko) * 2004-01-31 2006-07-28 삼성전자주식회사 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법
US20070277060A1 (en) * 2006-05-15 2007-11-29 Apple Inc. Use of Alternative Value in Cell Detection

Also Published As

Publication number Publication date
US8438455B2 (en) 2013-05-07
CN102301340B (zh) 2015-07-08
KR20110089452A (ko) 2011-08-08
WO2010078167A3 (en) 2010-09-30
WO2010078167A2 (en) 2010-07-08
JP2012514274A (ja) 2012-06-21
EP2382542A2 (en) 2011-11-02
BRPI0923759A2 (pt) 2016-01-26
TWI449051B (zh) 2014-08-11
EP2382542A4 (en) 2012-08-22
TW201030760A (en) 2010-08-16
US20100169743A1 (en) 2010-07-01
EP2382542B1 (en) 2018-11-14
CN102301340A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
KR101298827B1 (ko) 반도체 디스크 및 시스템
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
US8977813B2 (en) Implementing RAID in solid state memory
CN105009087B (zh) 用于数据存储系统的数据可靠性方案
US9158675B2 (en) Architecture for storage of data on NAND flash memory
US9262261B2 (en) Memory devices facilitating differing depths of error detection and/or error correction coverage
US11531590B2 (en) Method and system for host-assisted data recovery assurance for data center storage device architectures
US8327224B2 (en) Data recovery in a solid state storage system
US10339343B2 (en) Storage system and method for improved generation and storage of data protection information
CN110597654B (zh) 用于超快的具有奇偶校验的纠错码的系统和方法
JP7249719B2 (ja) 共通の高ランダム・ビット・エラーおよび低ランダム・ビット・エラー修正ロジック
KR20130044694A (ko) 메모리 시스템 및 그 데이터 기록 재생 방법
US10922025B2 (en) Nonvolatile memory bad row management
JP2013205853A (ja) フラッシュメモリディスク装置、フラッシュメモリディスク装置におけるデータ記憶制御方法およびプログラム
CN113420341A (zh) 一种数据保护方法、数据保护设备及计算机系统
WO2013023564A9 (en) Method and apparatus for flexible raid in ssd

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 7