KR101982381B1 - 소프트 정보에 대한 데이터 전송의 수행 최적화 - Google Patents
소프트 정보에 대한 데이터 전송의 수행 최적화 Download PDFInfo
- Publication number
- KR101982381B1 KR101982381B1 KR1020157024578A KR20157024578A KR101982381B1 KR 101982381 B1 KR101982381 B1 KR 101982381B1 KR 1020157024578 A KR1020157024578 A KR 1020157024578A KR 20157024578 A KR20157024578 A KR 20157024578A KR 101982381 B1 KR101982381 B1 KR 101982381B1
- Authority
- KR
- South Korea
- Prior art keywords
- data values
- read
- read operations
- buffer
- storage medium
- Prior art date
Links
Images
Classifications
-
- 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
- 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
-
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/068—Hybrid storage device
-
- 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/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- 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/3769—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using symbol combining, e.g. Chase combining of symbols received twice or more
-
- 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/45—Soft decoding, i.e. using symbol reliability information
Abstract
단일 코맨드는 메모리의 동일 부분으로부터 제1 판독 동작 및 한 시퀀스의 하나 이상의 추가의 판독 동작들을 개시한다. 하나 이상의 추가의 판독 동작들은 요청 장치 및/또는 모듈이 사용할 수 있게 되는 제1 복수의 데이터 값을 제1 판독 동작이 제공한 후에 종료될 수 있다. 일부 구현예에서, 제1 복수의 데이터 값은 하드 정보 값을 포함한다. 복수의 후속 데이터 값은 종료 이벤트가 일어날 때까지 메모리의 동일 부분으로부터 발생된다. 일부 구현예에서, 종료 이벤트가 일어날 때까지, 각각의 하이브리드 복수의 데이터 값들은 최근의 판독된 복수의 데이터 값을 이전에 발생된 하이브리드 복수의 데이터 값 및 제1 복수의 데이터 값 중 하나와 결합함으로써 발생된다. 각 하이브리드 복수의 데이터 값은 대응하는 복수의 소프트 정보 값을 나타낸다.
Description
이 발명은 메모리 시스템에서 오류 제어에 관한 것으로, 특히 소프트 정보 오류 제어 디코딩을 위해 사용되는 데이터를 관리하는 것에 관한 것이다.
플래시 메모리를 포함하여, 반도체 메모리 장치는 전형적으로, 데이터를 전기 전하 혹은 전압과 같은 전기 값으로서 저장하기 위해 메모리 셀을 이용한다. 저장 밀도 증가는 제조 발달에 의해 가능해진 것인, 칩 상에 메모리 셀의 밀도를 증가시키는 것, 및 2 비트 이상이 각 플래시 메모리 셀에 의해 저장될 수 있도록 단일-레벨 플래시 메모리 셀에서 다수-레벨 플래시 메모리 셀로 이행(transition)하는 것을 포함한 다양한 방법들로 가능해졌다.
증가하는 저장 밀도의 결점은 저장된 데이터가 점점 더 오류가 나게 저장 및/또는 판독되기가 쉽게 된다는 것이다. 전기 변동, 저장 매체 내 결함, 동작 조건들, 장치 이력, 및/또는 기입-판독 회로, 등에 의해 야기되는 정정불가한 오류 수를 제한하기 위해 오류 제어 코딩(ECC) 엔진이 이용된다. 또한, 많은 오류 제어 코드들에 대해서, 디코딩 프로세스는 하나 이상의 판독 동작의 결과의 서로 다른 해석들의 연관된 확률들을 고려하는 소프트 정보를 사용함으로써 개선될 수 있다. 하드 정보 디코딩은 일반적으로, 데이터 값이 1 값 아니면 다른 것인지 여부에 관하여 절대 판단이 행해짐을 의미한다. 대조적으로, 소프트 정보는 하나 이상의 판독 동작의 결과에 대응하는, 감지된 전기 신호의 서로 다른 해석들이 정확할 수 있을 확률들을 포함한다. 더 많은 정보를 고려함으로써, 소프트 정보 디코딩은 종종, 특정 오류 제어 코드의 오류 검출 및 정정 능력, 및 이에 따라 시스템의 데이터 저장 용량을 개선한다. 그러나, 소프트 정보 디코딩의 이용은 다수의 이전에 해결불가한 결점을 갖는다. 예를 들면, 소프트 정보 디코딩 구현은 바람직하지 못한 지연(즉, 레이턴시)을 야기하는 경향이 있고, 비교적 큰 반도체 풋프린트를 가지며, 일반적으로 파워 및 메모리 집약적이다.
첨부된 청구항 각각의 범위 내에서 시스템, 방법 및 장치의 여러 구현예들은 몇가지 측면들을 가지며, 이들 중 어떤 단일의 것도 본원에 기술된 속성들을 단독으로 책임지지 않는다. 일 측면에서, 단일 코맨드는 메모리의 동일 부분으로부터 제1 판독 동작 및 한 시퀀스의 하나 이상의 추가의 판독 동작들을 개시하게 한다. 이것은 저장 매체에 저장된 데이터를 나타내는 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 한다.
본 발명이 더 상세히 이해될 수 있도록, 여러 구현예들의 특징들을 참조하여 더 특별히 설명되고, 이들 중 일부는 첨부된 도면에 도시된다. 그러나, 첨부된 도면은 단지 본 발명의 더 적절한 특징을 도시하며 따라서 설명이 그외 다른 효과적인 특징을 인정할 수 있으므로, 한정으로서 간주되지 않아야 한다.
도 1은 일부 실시예에 따라 데이터 저장 시스템의 구현예를 도시한 것이다.
도 2는 일부 실시예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 소프트 정보를 생성하게 동작하는 요소들을 포함하는 데이터 저장 시스템의 구현예를 도시한 것이다.
도 3은 일부 실시예에 따라 도 2에 포함된 소프트 정보 발생 모듈의 구현예를 도시한 것이다.
도 4는 일부 실시예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 판독 데이터를 하드 및 이어 소프트 정보 값들로서 전달하는 방법의 구현예의 흐름도이다.
도 5는 일부 실시예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 판독 데이터를 하드 및 이어 소프트 정보 값들로서 전달하는 방법의 구현예의 흐름도이다.
일반적 관행에 따라 도면에 도시된 여러 특징들은 축척에 맞게 도시되지 않을 수 있다. 따라서, 여러 특징들의 치수들은 명확성을 위해 임의로 늘리거나 축소될 수도 있다. 또한, 일부 도면은 주어진 시스템, 방법 또는 장치의 모든 성분들을 도시하지 않을 수 있다. 마지막으로, 명세서 및 도면 전체에 걸쳐 동일 특징들을 표기하기 위해 동일 참조부호가 사용될 수 있다.
도 1은 일부 실시예에 따라 데이터 저장 시스템의 구현예를 도시한 것이다.
도 2는 일부 실시예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 소프트 정보를 생성하게 동작하는 요소들을 포함하는 데이터 저장 시스템의 구현예를 도시한 것이다.
도 3은 일부 실시예에 따라 도 2에 포함된 소프트 정보 발생 모듈의 구현예를 도시한 것이다.
도 4는 일부 실시예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 판독 데이터를 하드 및 이어 소프트 정보 값들로서 전달하는 방법의 구현예의 흐름도이다.
도 5는 일부 실시예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 판독 데이터를 하드 및 이어 소프트 정보 값들로서 전달하는 방법의 구현예의 흐름도이다.
일반적 관행에 따라 도면에 도시된 여러 특징들은 축척에 맞게 도시되지 않을 수 있다. 따라서, 여러 특징들의 치수들은 명확성을 위해 임의로 늘리거나 축소될 수도 있다. 또한, 일부 도면은 주어진 시스템, 방법 또는 장치의 모든 성분들을 도시하지 않을 수 있다. 마지막으로, 명세서 및 도면 전체에 걸쳐 동일 특징들을 표기하기 위해 동일 참조부호가 사용될 수 있다.
위에서 언급된 바와 같이, 소프트 정보 디코딩을 채용하는 것에 결점은 이전에 가용한 노력이 바람직하지 못한 지연(즉, 레이턴시)을 야기하는 경향이 있고, 비교적 큰 반도체 풋프린트를 가지며, 일반적으로 파워 및 메모리 집약적이다라는 것이다. 대조적으로, 본원에 기술되는 여러 구현예들은 코맨드 구조, 및 저장 매체에 저장된 데이터를 나타내는 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응한 동작의 방법을 제공한다.
일부 구현예들은 제1 판독 동작과 동일한 메모리의 부분으로부터 제1 판독 동작 및 이어 한 시퀀스의 하나 이상의 추가의 판독 동작들을 개시하게 하는 코맨드 구조를 포함한다. 하나 이상의 추가의 판독 동작들은 제1 판독 동작이 제1 복수의 데이터 값을 제공한 후에 종료될 수 있고, 제1 복수의 데이터 값은 요청 장치 및/또는 모듈이 사용할 수 있게 된다. 일부 구현예에서, 제1 복수의 데이터 값은 하드 정보 값들을 포함한다. 복수의 후속 데이터 값은 종료 이벤트가 일어날 때까지 후속 판독 동작들에 의해 발생된다. 일부 구현예에서, 하나 이상의 추가의 판독 동작들의 수행이 종료되지 않은 한, 하나 이상의 추가의 판독 동작 각각의 완료에 응하여, 최근의 판독된 복수의 데이터 값을 이전에 발생된 하이브리드 복수의 데이터 값 및 제1 복수의 데이터 값 중 하나와 결합함으로써 각각의 하이브리드 복수의 데이터 값이 발생된다. 본원에서 사용되는 바와 같이, 하이브리드 복수의 데이터 값은 메모리의 동일 부분으로부터 2 이상의 판독 동작들로부터 생성된 대응하는 복수의 소프트 정보 값을 나타낸다.
구체적으로, 일부 구현예는 저장 매체로부터 판독하기 위한 방법을 포함한다. 일부 구현예에서, 방법은 요청 장치로부터 제1 유형의 제어 코맨드를 수신하는 단계를 포함한다. 방법은 (1) 저장 매체의 부분으로부터 제1 복수의 데이터 값들을 얻기 위해 제1 판독 신호 값을 사용하여 제1 판독 동작을 수행하고, (2) 제1 판독 동작을 수행한 후에 하나 이상의 추가의 판독 동작들의 수행을 개시하는 것으로서, 각 추가의 판독 동작은 저장 매체의 제1 판독 동작과 동일한 부분으로부터 복수의 후속 데이터 값들을 얻기 위해서 제1 판독 신호 값과는 상이한 각각의 판독 신호 값을 사용하며, (3) 기정의된 수의 추가의 판독 동작들의 완료와 후속 제어 코맨드를 수신하는 것 중 더 먼저 것에서 하나 이상의 추가의 판독 동작들의 수행을 종료함으로써, 제1 유형의 제어 코맨드를 수신하는 것에 응하는 단계를 더 포함한다.
일부 실시예에서, 후속 제어 코맨드는 하나 이상의 추가의 판독 동작들의 종료를 야기하는 유형이다.
일부 실시예에서, 방법은 제1 복수의 데이터 값들을 버퍼에 저장하는 단계, 제1 복수의 데이터 값들을 버퍼로부터 요청 장치에 전송하는 단계, 및 버퍼에서 요청 장치로 제1 복수의 데이터 값들의 전송과 겹치는 기간 동안 하나 이상의 추가의 판독 동작들의 제1 추가의 판독 동작의 수행을 개시하는 단계를 더 포함한다.
일부 실시예에서, 방법은 제1 복수의 데이터 값들을 버퍼에 저장하는 단계; 요청 장치에 의해 판독하기 위해 구성되는 상황 비트를 설정하는 단계; 및 상황 비트가 설정되는 시간에 가장 가까운 기간에 하나 이상의 추가의 판독 동작들의 제1 추가의 판독 동작의 수행을 개시하는 단계를 더 포함한다.
일부 실시예에서, 하나 이상의 추가의 판독 동작들의 수행이 종료되지 않은 한, 방법은 하나 이상의 추가의 판독 동작들 각각의 완료에 응하여, 최근의 판독된 복수의 데이터 값들을 이전에 발생된 하이브리드 복수의 데이터 값들 및 제1 복수의 데이터 값들 중 하나와 결합함으로써 각각의 하이브리드 복수의 데이터 값들을 발생하는 단계를 포함한다.
일부 실시예에서, 방법은 요청 장치로부터 제2 유형의 제어 코맨드를 수신하는 단계로서, 제2 유형은 저장 매체의 각각의 부분의 단일의 판독을 위한 요청을 나타냄으로써 제1 유형과는 상이하다. 방법은 (1) 저장 매체의 부분으로부터 데이터 값들을 얻기 위해 단일의 판독 동작을 수행하고, (2) 얻어진 데이터 값들을 버퍼에 저장하고, (3) 얻어진 데이터 값들을 버퍼에서 요청 장치로 전송함으로써, 제2 유형의 제어 코맨드를 수신한 것에 응하는 단계를 더 포함한다.
일부 실시예에서, 하나 이상의 추가의 판독 동작들은 기정의된 수의 판독 동작들로 제한된다.
일부 실시예에서, 하나 이상의 추가의 판독 동작들의 수행을 개시하는 단계는 제1 조건에 응하여 일어난다. 일부 실시예에서, 제1 조건은 제1 복수의 데이터 값들이 디코딩될 수 없었음을 나타내는 메시지를 수신하는 것을 포함한다. 일부 실시예에서, 제1 조건은 제1 복수의 데이터 값들이 성공적으로 디코딩될 수 있음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함한다. 일부 실시예에서, 제1 조건은 제1 복수의 데이터 값들이 성공적으로 디코딩되었음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함한다.
일부 실시예에서, 방법은 제1 복수의 데이터 값들을 버퍼에 저장하는 단계; 및 제1 복수의 데이터 값들이 버퍼로부터 판독되게 가용함을 나타내는 제1 메시지를 송신하는 단계를 더 포함한다.
일부 실시예에서, 방법은 버퍼에 저장된 임의의 이전에 발생된 하이브리드 복수의 데이터 값들을 덮어쓰기함으로써 각각의 하이브리드 복수의 데이터 값들 각각을 버퍼에 저장하는 단계; 및 하이브리드 복수의 데이터 값들이 버퍼에 새로이 저장될 때마다 새로운 하이브리드 복수의 데이터 값들이 버퍼로부터 판독되기에 가용함을 나타내는 후속 메시지를 송신하는 단계를 더 포함한다.
일부 실시예에서, 각각의 하이브리드 복수의 데이터 값들 각각을 발생하는 단계는 하나 이상의 복수의 후속 데이터 값들의 최근의 판독의 각각과 이전에 발생된 하이브리드 복수의 데이터 값들 및 제1 복수의 데이터 값들 중 하나 간에 배타적 논리합(XOR)을 포함한다.
또다른 측면에서, 저장 매체로부터 판독하게 동작하는 장치는 위에 기술된 방법들 중 어느 것에 따라 데이터를 판독하게 구성된다.
일부 구현예에서, 위에 기술된 방법들 중 어느 것에 관하여, 저장 매체로부터 판독하게 동작하는 장치는 위에 기술된 방법들 중 어느 것에 따라 데이터를 판독하게 구성되는 저장 매체 및 제어기를 포함한다.
동반된 도면에 도시된 예시적 구현예의 철저한 이해를 제공하기 위해서 수많은 상세가 본원에게 기술된다. 그러나, 일부 실시예는 구체적 상세 대부분 없이도 실시될 수 있고, 청구항의 범위는 청구항에 명시적으로 인용되는 특징 및 측면들에 의해서만 제한된다. 또한, 공지된 방법, 성분, 및 회로는 본원에 기술된 구현예의 더 관련된 측면들을 불필요하게 모호하게 되지 않도록 낱낱히 상세하게 기술되지 않았다.
도 1은 일부 실시예에 따라 데이터 저장 시스템(100)의 구현예를 도시한 것이다. 일부 예시적 특징들이 도시되지만, 이외 여러 다른 특징들은 간략성을 위해서 그리고 본원에 개시되는 예시적 구현예의 더 적절한 측면들을 모호하게 하지 않기 위해서 도시되지 않았다. 이를 위해, 비제한적 예로서, 데이터 저장 시스템(100)은 메모리 제어기(120), 및 저장 매체(130)를 포함하며, 컴퓨터 시스템(110)과 함께 사용된다. 일부 구현예에서, 저장 매체(130)는 단일의 플래시 메모리 장치이고 반면 이외 다른 구현예에서 저장 매체(130)는 복수의 플래시 메모리 장치를 포함한다. 일부 구현예에서, 저장 매체(130)는 NAND-형 플래시 메모리 혹은 NOR-형 플래시 메모리이다. 또한, 일부 구현예에서 메모리 제어기(120)는 고체-상태 드라이브(SSD) 제어기이다. 그러나, 이외 다른 유형의 저장 매체가 매우 다양한 구현예의 측면들에 따라 포함될 수도 있다.
컴퓨터 시스템(110)은 데이터 연결부(101)를 통해 메모리 제어기(120)에 결합된다. 그러나, 일부 구현예에서 컴퓨터 시스템(110)은 메모리 제어기(120)를 성분 및/또는 부-시스템으로서 포함한다. 컴퓨터 시스템(110)은 임의의 적합한 컴퓨터 장치, 이를테면 컴퓨터, 랩탑 컴퓨터, 태블릿 장치, 넷북, 인터넷 키오스크, 개인용 디지털 보조장치, 모바일 전화, 스마트폰, 게이밍 장치, 컴퓨터 서버, 혹은 이외 어떤 다른 계산장치일 수 있다. 컴퓨터 시스템(110)을 종종 호스트 혹은 호스트 시스템이라고도 한다. 일부 구현예에서, 컴퓨터 시스템(110)은 하나 이상의 프로세서, 하나 이상의 유형의 메모리, 디스플레이 및/또는 이외 다른 사용자 인터페이스 성분들, 이를테면 키보드, 터치 스크린 디스플레이, 마우스, 트랙-패드, 디지털 카메라 및/또는 기능을 추가할 임의의 수의 보조 장치들을 포함한다.
저장 매체(130)는 연결부(103)를 통해 메모리 제어기(120)에 결합된다. 연결부(103)는 종종 데이터 연결부라고도 하지만, 그러나 전형적으로 데이터 외에도 코맨드들을 전하며, 선택적으로, 저장 매체(130)에 저장될 데이터 값 및 저장 매체(130)로부터 판독되는 데이터 값 외에도, 메타데이터, 오류 정정 정보 및/또는 이외 다른 정보를 전한다. 그러나, 일부 구현예에서, 메모리 제어기(120) 및 저장 매체(130)는 이들의 성분들과 동일한 장치 내에 포함된다. 또한, 일부 구현예에서 메모리 제어기(120) 및 저장 매체(130)는 모바일 장치, 태블릿, 이외 다른 컴퓨터 혹은 컴퓨터로 제어되는 장치와 같은 호스트 장치 내에 내장된다. 저장 매체(130)는, 한정없이, 플래시 메모리와 같은 비휘발성 반도체 메모리 장치를 포함하여 임의의 수의(즉, 하나 이상의) 메모리 장치를 포함할 수 있다. 예를 들면, 플래시 메모리 장치는 클라우드 컴퓨팅과 같은 응용에 적합한 기업 저장장치를 위해서, 혹은 하드 디스크 드라이브와 같은 2차 저장장치에 저장된(혹은 저장될) 데이터를 캐시하기 위해, 구성될 수 있다. 이에 더하여 및/또는 대안적으로, 플래시 메모리는 또한, 개인용 플래시 드라이브와 같은 비교적 소규모의 응용을 위해서 혹은 개인용, 랩탑 및 태블릿 컴퓨터를 위한 하드-디스크 대체를 위해 구성될 수 있다.
저장 매체(130)는 선택가능 부분(131)과 같은 다수의 어드레스가능하고 개별적으로 선택가능한 블록들로 분할된다. 일부 구현예에서, 개별적으로 선택가능한 블록은 플래시 메모리 장치에서 소가능한 최소 크기 유닛이다. 즉, 각 블록은 동시에 소거될 수 있는 최소수의 메모리 셀들을 내포한다. 각 블록은 일반적으로 복수의 페이지 및/또는 워드라인으로 더욱 분할되는데, 각 페이지 혹은 워드라인은 전형적으로 블록에서 최소의 개별적으로 액세스가능한 (판독가능한) 부분의 실례이다. 그러나, 일부 구현예에서 (예를 들면, 일부 유형의 플래시 메모리를 사용하여), 최소의 개별적으로 액세스가능한 유닛의 데이터 세트는 페이지의 부-유닛인 섹터이다. 즉, 블록은 복수의 페이지를 포함하며, 각 페이지는 복수의 섹터를 내포하며, 각 섹터는 플래시 메모리 장치로부터 데이터를 판독하기 위한 최소 유닛의 데이터이다.
예를 들면, 한 블록은 임의의 수의 페이지, 예를 들면, 64 페이지, 128 페이지, 256 페이지, 혹은 또다른 적합한 수의 페이지를 포함한다. 블록은 전형적으로 복수의 구역들로 그룹화된다. 각 블록 구역은 어느 정도까지는 독립적으로 관리될 수 있고, 이는 병렬 동작을 위한 병행도를 증가시키며 저장 매체(130)의 관리를 단순화한다.
위에 언급된 바와 같이, 비휘발성 반도체 메모리 장치의 데이터 저장 밀도가 일반적으로 증가하고 있지만, 증가하는 저장 밀도의 결점은 저장된 데이터가 오류로 저장 및/또는 판독되기가 더 쉬워지게 된다는 것이다. 이하 더 상세히 기술되는 바와 같이, 오류 제어 코딩은 전기 변동, 저장 매체 내 결함, 동작 조건들, 장치 이력, 기입-판독 회로, 등, 혹은 이들 및 이의 여러 다른 요인들의 조합에 의해 야기되는 정정불가한 오류의 수를 제한하기 위해 이용될 수 있다.
일부 구현예에서, 메모리 제어기(120)는 관리 모듈(121), 입력 버퍼(123), 출력 버퍼(124), 오류 제어 모듈(125) 및 저장 매체 인터페이스 (I/O)(128)를 포함한다. 메모리 제어기(120)는 간략성을 위해서 그리고 본원에 개시되는 예시적 구현예의 더 적절한 측면들을 모호하게 하지 않기 위해서 도시되지 않았고 특징들의 상이한 배열이 가능할 수 있 여러 추가적인 특징들을 포함할 수 있다. 입력 및 출력 버퍼(123, 124)는 데이터 연결부(101)를 통해 컴퓨터 시스템(110)에 대한 인터페이스를 제공한다. 유사하게, 저장 매체 I/O(128)는 연결부(103)를 통해 저장 매체(130)에 대한 인터페이스를 제공한다. 일부 구현예에서, 저장 매체 I/O(128)는 판독 신호를 저장 매체(130)(예를 들면, NAND-형 플래시 메모리에 대한 판독 임계 전압)에 제공할 수 있는 회로를 포함하여, 판독 및 기입 회로를 포함한다.
일부 구현예에서, 관리 모듈(121)은 하나 이상의 프로그램에서(예를 들면, 관리 모듈(121)에서) 명령을 실행하게 구성된 하나 이상의 처리 유닛(CPU, 프로세서라고도 함)(122)을 포함한다. 일부 구현예에서, 하나 이상의 CPU(122)는 메모리 제어기(120)의 기능 내에서, 그리고 어떤 경우엔, 넘어서서 하나 이상의 성분에 의해 공유된다. 관리 모듈(121)은 입력 버퍼(123), 출력 버퍼(124)(연결부는 도시되지 않음), 오류 제어 모듈(125) 및 저장 매체 I/O(128)의 동작을 관장하기 위해 이들에 결합된다.
오류 제어 모듈(125)은 저장 매체 I/O(128), 입력 버퍼(123) 및 출력 버퍼(124)에 결합된다. 오류 제어 모듈(125)은 의도하지 않게 데이터에 야기된 정정불가한 오류의 수를 제한하기 위해 제공된다. 일부 실시예에서, 오류 제어 모듈(125)은 관리 모듈(121)의 하나 이상의 CPU(122)에 의해 소프트웨어로 실행되고, 다른 실시예에서, 오류 제어 모듈(125)은 엔코딩 및 디코딩 기능들을 수행하기 위해 전용 회로를 사용하여 전체적으로 혹은 부분적으로 구현된다. 이를 위해, 오류 제어 모듈(125)은 엔코더(126) 및 디코더(127)를 포함한다. 엔코더(126)는 저장 매체(130)에 후속하여 저장되는 코드워드를 생성하기 위해 오류 제어 코드를 적용함으로써 데이터를 엔코딩한다.
엔코딩된 데이터(예를 들면, 하나 이상의 코드워드)가 저장 매체(130)로부터 판독될 때, 디코더(127)는 데이터를 복구하고, 복구된 데이터 내 오류를 오류 제어 코드의 오류 정정 능력 내에서 정정하기 위해서 디코딩 프로세스를 엔코딩된 데이터에 적용한다. 당업자는 다양한 오류 제어 코드들이 서로 상이한 오류 검출 및 정정 능력들 갖는다는 것과, 이 발명의 범위를 넘어서는 이유로 여러 응용을 위해 특정 코드들이 선택된다는 것을 알 것이다. 이에 따라, 다양한 유형의 오류 제어 코드들의 철저한 검토는 본원에서는 제공되지 않는다. 또한, 당업자는 오류 제어 코드들의 각 유형 혹은 패밀리가 오류 제어 코드들의 유형 혹은 패밀리에 특정한 엔코딩 및 디코딩 알고리즘들을 갖는다는 것을 알 것이다. 한편 비터비 알고리즘과 같은 일부 알고리즘은 오류 제어 코드들의 다수의 서로 다른 유형들 혹은 패밀리들의 디코딩에서 적어도 어느 정도까지는 이용될 수도 있다. 이에 따라, 간략성을 위해서, 당업자가 일반적으로 이용할 수 있고 공지된 다양한 유형의 엔코딩 및 디코딩 알고리즘의 철저한 설명은 여기에선 제공되지 않는다.
기입 동작 동안에, 입력 버퍼(123)는 컴퓨터 시스템(110)으로부터 저장 매체(130)에 저장될 데이터를 수신한다. 입력 버퍼(123) 내 유지된 데이터는 데이터를 엔코딩하여 하나 이상의 코드워드를 생성하는 엔코더(126)가 이용할 수 있게 된다. 이용되는 저장 매체의 유형에 따르는 방식으로 하나 이상의 코드워드를 저장 매체(130)에 전송하는 저장 매체 I/O(128)는 하나 이상의 코드워드를 이용될 수 있게 된다.
판독 동작은 컴퓨터 시스템(호스트)(110)이 제어 라인(111) 상에서 하나 이상의 호스트 판독 코맨드를 저장 매체(130)로부터 데이터를 요청하는 메모리 제어기(120)에 보낼 때 개시된다. 메모리 제어기(120)는 하나 이상의 호스트 판독 코맨드에 의해 명시된 메모리 위치(어드레스)에 따라 생 판독 데이터를 얻기 위해서, 저장 매체 I/O(128)를 통해, 하나 이상의 판독 액세스 코맨드를 저장 매체(130)에 보낸다. 저장 매체 I/O(128)는 생 판독 데이터(예를 들면, 하나 이상의 코드워드들을 포함하는)를 디코더(127)에 제공한다. 디코딩이 성공적이라면, 디코딩된 데이터는 출력 버퍼(124)에 제공되고, 디코딩된 데이터는 컴퓨터 시스템(110)이 이용할 수 있게 된다. 일부 구현예에서, 디코딩이 성공적이지 않다면, 메모리 제어기(120)는 다수의 구제책에 의지하거나 해결불가한 오류 조건의 표시를 제공할 수 있다.
플래시 메모리 장치는 데이터를 전기 전하 혹은 전압과 같은 전기 값으로서 저장하기 위해 메모리 셀을 이용한다. 각 플래시 메모리 셀은 전형적으로, 트랜지스터의 임계 전압(즉, 트랜지스터를 턴 온하는데 필요한 전압)을 수정하는, 전하를 저장하기 위해 사용되는 플로팅 게이트를 가진 단일의 트랜지스터를 포함한다. 전하의 크기, 및 전하가 생성하는 대응하는 임계 전압은 하나 이상의 데이터 값들을 나타내기 위해 사용된다. 일부 구현예에서, 판독 동작 동안, 트랜지스터의 제어 게이트에 판독 임계 전압이 인가되고 결과적인 감지된 전류 혹은 전압이 데이터 값에 매핑된다.
플래시 메모리 셀의 맥락에서, "셀 전압" 및 "메모리 셀 전압"이라는 용어는 트랜지스터가 전류를 도통하기 위해 메모리 셀의 트랜지스터의 게이트에 인가될 필요가 있는 최소 전압인 메모리 셀의 임계 전압을 의미한다. 유사하게, 플래시 메모리 셀에 인가되는 판독 임계 전압(판독 신호 및 판독 전압이라고도 함)은 메모리 셀이 이 게이트 전압에서 전류를 도통하는지 여부를 판정하기 위해 플래시 메모리 셀의 게이트에 인가되는 게이트 전압이다. 일부 구현예에서, 셀 전압이 판독 임계 전압 미만임을 나타내는 것으로서, 플래시 메모리 셀의 트랜지스터가 주어진 판독 임계 전압에서 전류를 도통할 때, 이 판독 동작을 위한 생 데이터 값은 "1" 이고 이외에 생 데이터 값은 "0"이다.
일부 구현예에서, 메모리 셀의 메모리 셀 전압은 하나 이상의 판독 임계 전압을 사용하여 메모리 셀을 판독함으로써 간접적으로 판독된다. 구체적으로, 각 판독 동작은 메모리 셀의 셀 전압이 이 판독 동작 동안 사용되는 판독 임계 전압보다 큰지 아니면 미만인지를 나타내는 결과를 생성한다. 다수의 판독 임계 전압을 사용하여 메모리 셀을 판독 함으로써, 셀 전압은 메모리 셀이 단일의 판독 임계 전압만을 사용하여 판독되었을 경우보다 더 정확하게 판정될 수 있다. 환원하여, 메모리 셀 상에 수행되는 판독 동작들 -각각은 서로 다른 판독 임계 전압을 사용한다- 많을수록, 메모리 셀의 셀 전압은 더 정확하게 알게 된다.
도 2는 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 소프트 정보를 생성하게 동작하는 요소들을 포함하는, 데이터 저장 시스템(200)의 구현예를 도시한 것이다. 도 2에 도시된 데이터 저장 시스템(200)은 도 1에 도시된 데이터 저장 시스템(100)과 유사하고 이로부터 개조된다. 각각에 공통인 요소들은 공통 참조부호를 포함하고, 여기에서는 도 1과 도 2 간에 차이들만이 간략성을 위해 기술된다. 또한, 어떤 구체적 특징들이 도시되지만, 여러 이외 다른 추가적인 특징들은 간략성을 위해서 그리고 본원에 개시되는 예시적 구현예의 더 적절한 측면들을 모호하게 하지 않기 위해서 도시되지 않았다.
도 2를 참조하면, 비제한적 예로서, 저장 매체(230)는 일반적으로 메모리 칩을 포함한다. 당업자은 여러 다른 구현예들에서, 저장 매체(230)는 2 이상의 메모리 칩을 포함하여, 다양한 다른 유형의 메모리 장치를 포함함을 알 것이다. 저장 매체(230)는 NAND 플래시 셀 어레이(231), 기입 버퍼(232), 칩 제어기(236), 판독-기입(R/W) 액세스 회로(237), 페이지 버퍼(235), 및 멀티플렉서(MUX)(234)를 포함한다.
저장 매체 I/O(128)는 연결부(103)를 통해 저장 매체(230)에 결합된다. 연결부(103)는 종종 데이터 연결부라고도 하지만, 그러나 전형적으로 데이터 외에도 코맨드들을 전하며, 선택적으로, 저장 매체(130)에 저장될 데이터 값 및 저장 매체(230)로부터 판독되는 데이터 값 외에도, 메타데이터, 오류 정정 정보 및/또는 이외 다른 정보를 전한다. 구체적으로, 도 2를 계속하여 참조하면, 저장 매체 I/O(128)는 데이터를 기입 버퍼(232)에 전달하기 위해 결합되고, 또한 코맨드, 메타데이터 및 하나 이상의 판독 신호 값(예를 들면, 판독 임계 전압)의 표현들 중 적어도 하나를 전하기 위해 칩 제어기(236)에 결합된다. 칩 제어기(236)는 판독 및 기입 코맨드를 포함하여, 제어 코맨드를 R/W 액세스 회로(237)에 제공하기 위해 결합된다. R/W 액세스 회로(237) 또한 기입 버퍼(232)로부터 기입 데이터를 수신(혹은 인출)하기 위해 결합된다.
R/W 액세스 회로(237) 또한 NAND 플래시 셀 어레이(231)에 결합된다. 기입 동작 동안, R/W 액세스 회로(237)는 기입 버퍼(232)로부터 데이터를 예를 들면, 플래시 어레이(231)-1의 선택가능 부분과 같은 NAND 플래시 셀 어레이(231)의 선택가능 부분에 기입하게 동작한다. 판독 동작 동안, R/W 액세스 회로(237)는 NAND 플래시 셀 어레이(231)에 저장된 데이터를 판독하게 동작한다. 판독 데이터는 페이지 버퍼(235)에 카피된다. 저장 매체 I/O(128) 또한 판독 데이터(하드 혹은 소프트 정보 값들로서)를 MUX(234)을 통해 수신하기 위해 결합된다. NAND 플래시 셀 어레이(231)로부터 판독된 데이터는 페이지 버퍼(235)에 저장되고 MUX(234)를 통해 저장 매체 I/O(128)가 액세스할 수 있게 된다. 칩 제어기(236)는 저장 매체 I/O(128)가 MUX(234)을 통해 페이지 버퍼(235) 내 판독 데이터에 액세스할 수 있게 하는 제어 신호를 MUX(234)에 제공한다. 이어, 저장 매체 I/O(128)는 버퍼(235)로부터 판독 데이터를 스테이지 버퍼(228)에 저장한다.
도 3은 일부 실시예에 따라.도 2에 포함된 소프트 정보 발생 모듈(229)의 구현예를 도시한 것이다. 다시, 위에 언급된 바와 같이, 어떤 구체적 특징들이 도시되지만, 당업자는 여러 다른 추가적인 특징들이 간략성을 위해서 그리고 본원에 개시되는 예시적 구현예의 더 적절한 측면들을 모호하게 하지 않기 위해서 도시되지 않았음을 본 발명으로부터 알 것이다. 이를 위해, 비제한적 예로서, 소프트 정보 발생 모듈(229)은 소프트 정보 관리 제어기(510), 특징화 모듈(520), 계산/조절 모듈(530), 및 출력 멀티플렉스(MUX)(540)를 포함한다. 소프트 정보 발생 모듈(229)은 디코더(127)에 결합된다.
소프트 정보 관리 제어기(510)는 소프트 정보 발생 모듈(229)의 동작을 관장하기 위해서 특징화 모듈(520), 계산/조절 모듈(530), 및 MUX(540) 각각에 결합된다. 구체적으로, 일부 구현예에서, 소프트 정보 관리 제어기(510)는 각각 제어 및 데이터 라인들(501, 502) 상에서 판독 요청 및 하나 이상의 저장 매체 특징화 파라미터들을 수신하기 위해 연결된다. 또한, 소프트 정보 관리 제어기(510)는 제어 라인(511) 상에서 선택 제어 신호를 특징화 모듈(520)에 제공하고, 선택된 특징화 벡터를 데이터 라인(512) 상에서 수신하기 위해 연결된다. 일부 구현예에서, 소프트 정보 관리 제어기(510)는 판독 임계 전압을 데이터 라인(514)을 통해 저장 매체 I/O(128)에 제공하고, 저장 매체 I/O(128)로부터 생 판독 데이터를 페이지 버퍼(235)(도 2) 및 멀티플렉서(234)(도 2)에 의해 데이터 라인(515) 상에서 수신하기 위해 더욱 연결된다. 또한, 소프트 정보 관리 제어기(510)는 시퀀스들의 소프트 정보 값들을 대응하는 데이터 라인들(516, 517)을 통해 계산/조절 모듈(530) 및 출력 MUX(540)에, 그리고 제어 신호를 제어 라인(503)을 통해 출력 MUX(540)에 제공하기 위해 연결된다. 출력 MUX(540)는 또한 데이터 라인(531) 상에서 계산/조절 모듈(530)로부터 조절된 소프트 정보 값들을 수신하기 위해 연결된다. 출력 MUX(540)은 제어 라인(503) 상에서 수신된 제어 신호에 따라 데이터 라인(541) 상에서 변환 모듈(533) 및 계산/조절 모듈(530) 중 하나로부터 소프트 정보 값을 선택적으로 제공하기 위해 연결된다.
특징화 모듈(520)은, 각각이 하나 이상의 저장 매체 특징화 파라미터 값에 대해 저장 매체(130)에 연관된, 비트-터플 및 판독 비교 신호 값들에 대한 소프트 정보 값들과 같은 특징화 데이터를 저장하는 일군의 특징화 벡터(521-1, 521-2, 521-3,... 521-n)을 포함한다. 일부 구현예에서, 특징화 벡터(521)에 저장된 특징화 데이터는 통계적으로 도출된다. 저장 매체 특징화 파라미터 값들의 각 조합은 장치 특징화 프로세스에서 특징화될 수 있는 저장 매체의 각각의 상태를 나타내며, 동일 제조 프로세스에 의해 생성된 다른 장치들에 대해 존재할 수 있다.
소프트 정보 관리 제어기(510)는 선택 모듈(531), 선택적인 것인 판독 제어기(532), 및 변환 모듈(533)을 포함한다. 선택 모듈(531)은 저장된 일군의 특징화 벡터(521-1, 521-2, 521-3,... 521-n)로부터 특징화 벡터를 저장 매체(130)의 현재 상태에 따라 선택하기 위해서 하나 이상의 저장 매체 특징화 파라미터 값을 사용하게 구성된다. 선택 제어 신호는, 하나 이상의 저장 매체 특징화 파라미터 값 및/또는 특징화 모듈(520)이 저장 매체(130)의 현재 상태에 연관된 하나 이상의 저장 매체 특징화 파라미터 값에 기초하여 특징화 벡터를 선택할 수 있게 하는 하나 이상의 저장 매체 특징화 파라미터 값들의 조합에 연관된 인덱스 키를 포함한다.
선택적인 것인 판독 제어기(532)는 저장 매체 I/O(128)를 통해 저장 매체(130)의 부분을 판독하게 구성된다. 일부 구현예에서, 판독 제어기(532)는 판독 동작을 위해 판독 비교 신호 값들을 저장 매체 I/O(128)에 제공하게 구성된다. 일부 구현예에서, 판독 제어기(532)는 저장 매체(130)의 현재 상태에 연관된 하나 이상의 저장 매체 특징화 파라미터 값에 기초하여 선택된 특징화 벡터로부터, 하나 이상의 통계적으로 판정된 판독 비교 신호 값들을 선택한다.
변환 모듈(533)은 생 하드-판단 판독 데이터에 대응하는 한 시퀀스의 소프트 정보 값들을 발생하게 구성된다. 한 시퀀스의 소프트 정보 값들은, 적어도 부분적으로, 대응하는 판독 임계 전압 값을 사용하여 판독 동작에 의해 생성된 생 하드-판단 판독 데이터의 각 비트-터플에 대해 선택된 특징화 벡터부터 각각의 소프트 정보 값을 선택함으로써 발생된다. 구체적으로, 일부 구현예에서, 변환 모듈(533)은 LLR 형태의 적어도 한 소프트 정보 값을 하드-판단 판독 데이터 내 각 비트-터플에 할당하여, n은 코드워드 길이로서, LLR y LLR=(y1, y2,..., yn -1)의 대응하는 시퀀스를 생성한다.
계산/조절 모듈(530)은 저장 매체의 현재 상태 및/또는 이전에 검출된 오류 특징화에 연관된 하나 이상의 특징화 파라미터 값에 응하여 소프트 정보 값을 선택적으로 조절하게 구성된다.
도 4는 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 판독 데이터를 하드 및 이어 소프트 정보 값들으로서 전달하는 방법(400)의 구현예의 흐름도이다. 일부 구현예에서, 방법(400)은 칩 제어기(236)(도 2에 도시된)와 같은 메모리 셀 어레이에 연관된 칩 제어기에 의해 수행된다. 간단히, 방법(400)은 메모리의 제1 판독 동작과 동일한 부분으로부터 제1 판독 동작 및 이어 한 시퀀스의 하나 이상의 추가의 판독 동작들을 개시함으로써 제1 유형의 제어 코맨드를 수신하는 것에 응답하는 것을 포함한다. 추가의 판독 동작은 제1 복수의 데이터 값이 요청 장치에 제공된 후에 종료될 수 있다.
이를 위해, 블록 4-1로 나타낸 바와 같이, 방법(400)은 요청 장치로부터 제1 유형의 제어 코맨드를 수신하는 것을 포함한다. 블록 4-1a로 나타낸 바와 같이, 제1 유형의 제어 코맨드는 제1 판독 동작과 동일한 메모리의 부분으로부터 제1 판독 동작 및 이어 한 시퀀스의 하나 이상의 추가의 판독 동작들을 개시할 것을 수신 장치에 명령한다. 즉, 제1 유형의 제어 코맨드는 연속한 판독 코맨드이다. 예를 들면, 도 2 및 도 4를 참조하면, 칩 제어기(236)는 저장 매체 I/O(128)로부터 송신된 연속된 판독 코맨드를 수신한다.
블록 4-2로 나타낸 바와 같이, 방법(400)은 저장 매체의 부분로부터 제1 복수의 데이터 값을 얻기 위해서, 제1 판독 신호 값(예를 들면, 판독 임계 전압)을 사용하여, 제1 판독 동작을 수행함으로써 제1 유형의 제어 코맨드를 수신하는 것에 응답하는 것을 포함한다. 예를 들면, 도 2 및 도 4를 계속하여 참조하면, 칩 제어기(236)는 제1 판독 코맨드 및 제1 판독 임계 전압을 R/W 액세스 회로(237)에 제공한다. R/W 액세스 회로(237)는 NAND 플래시 셀 어레이(231)로부터 제1 복수의 데이터를 판독하게 동작한다. NAND 플래시 셀 어레이(231)로부터 판독 된 제1 복수의 데이터 값은 페이지 버퍼(235)에 카피된다.
블록 4-3로 나타낸 바와 같이, 제1 판독 동작을 수행한 후에, 방법(400)은 하나 이상의 추가의 판독 동작의 수행을 개시함으로써 제1 유형의 제어 코맨드를 수신하는 것에 응답하는 것을 더 포함하며, 각 추가의 판독 동작은 제1 판독 동작과 동일한 저장 매체의 부분으로부터 복수의 후속 데이터 값을 얻기 위해서 제1 판독 신호 값과는 상이한 각각의 판독 신호 값을 사용한다. 예를 들어, 도 2 및 도 4를 계속하여 참조하면, 칩 제어기(236)은 후속 판독 코맨드 및 각각의 후속 판독 임계 전압들을 R/W 액세스 회로(237)에 반복적으로 제공한다. 각 후속 판독 코맨드 및 각각의 후속 판독 임계 전압을 수신한 것에 응하여, R/W 액세스 회로(237)는 NAND 플래시 셀 어레이(231)로부터 각각의 복수의 후속 데이터를 판독하게 동작한다. NAND 플래시 셀 어레이(231)로부터 판독된 각각의 복수의 후속 데이터 값들 각각은 페이지 버퍼(235)에 카피된다.
또한, 일부 구현예에서, 하나 이상의 추가의 판독 동작의 수행을 개시하는 것은 제1 조건에 응하여 일어난다. 일부 구현예에서, 제1 조건은 제1 복수의 데이터 값이 디코딩될 수 없었음을 나타내는 메시지를 수신하는 것을 포함한다. 일부 구현예에서, 제1 조건은 제1 복수의 데이터 값이 성공적으로 디코딩될 수 있음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함한다. 일부 구현예에서, 제1 조건은 제1 복수의 데이터 값이 성공적으로 디코딩되었음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함한다.
블록 4-4로 나타낸 바와 같이, 방법(400)은 반복 한도에 도달되었는지 여부를 판정하는 것을 포함한다. 일부 구현예에서, 반복 한도는 제1 유형의 제어 코맨드에 응하여 수행되는 하나 이상의 추가의 판독 동작의 수에 대한 한도를 정의한다. 이에 따라, 하나 이상의 추가의 판독 동작은 기정의된 수의 판독 동작으로 제한된다. 반복 한도에 도달되지 않았다면(블록 4-4로부터 "예" 경로), 방법(400)은 종료한다. 한편, 반복 한도에 도달되지 않았다면(블록 4-4로부터 "아니오" 경로), 블록 4-5로 나타낸 바와 같이, 방법(400)은 또 다른 코맨드가 수신되었는지를 판정하는 것을 포함한다. 또 다른 코맨드가 수신되었다면(블록 4-5로부터 "예" 경로), 방법(400)은 종료한다. 한편, 또 다른 코맨드가 수신되지 않았다면(블록 4-4로부터 "아니오" 경로), 방법(400)은 후속 판독 동작이 기술된 바와 같이 수행될 수 있도록 블록 4-3로 나타낸 방법의 부분으로 루프백한다. 일부 구현예에서, 후속 제어 코맨드는 하나 이상의 추가의 판독 동작의 종료를 야기하는 유형이다. 일부 구현예에서, 임의의 후속하여 수신된 제어 코맨드는 하나 이상의 추가의 판독 동작의 종료를 시그널링한다.
일부 구현예에서, 블록 4-4와 블록 4-5와의 결합으로 나타낸 바와 같이, 방법(400)은 기정의된 수의 추가의 판독 동작의 완료와 후속 제어 코맨드를 수신하는 것 중 더 먼저 것에서 하나 이상의 추가의 판독 동작의 수행을 종료하는 것을 포함한다. 또한, 일부 구현예에서, 블록 4-4 및 블록 4-5으로 나타낸 방법(400)의 부분은 반대되는 순서로, 혹은 서로에 관하여 동시에 일어난다. 일부 구현예에서 블록 4-4 및 블록 4-5로 나타낸 방법(400)의 부분은 또한 블록 4-3으로 나타낸 방법(400)의 부분과 동시에 일어나며, 그럼으로써 제1 복수의 데이터 값이 요청 장치 및/또는 모듈이 사용될 수 있게 된 후에 언제든 하나 이상의 추가의 판독 동작이 종료될 수 있는 될 수 있게 한다.
도 5는 일부 구현예에 따라 다수의 판독 동작들로부터 하드 및 이어 소프트 정보 값들의 적시에 생성을 용이하게 하는 코맨드 구조에 응하여 판독 데이터를 하드 및 이어 소프트 정보 값들으로서 전달하는 방법(500)의 구현예의 흐름도이다. 일부 구현예에서, 방법(500)은 칩 제어기(236)(도 2에 도시된)와 같은, 메모리 셀 어레이에 연관된 칩 제어기에 의해 수행된다. 간단히, 방법(500)은 제1 판독 동작과 동일한 메모리의 부분으로부터 제1 판독 동작 및 이어 한 시퀀스의 하나 이상의 추가의 판독 동작을 개시함으로써 제1 유형의 제어 코맨드를 수신하는 것에 응답하는 것을 포함한다. 추가의 판독 동작은 제1 복수의 데이터 값이 요청 장치에 제공된 후에 종료될 수 있는 한다.
이를 위해, 블록 5-1로 나타낸 바와 같이, 방법(500)은 요청 장치로부터 제1 유형의 제어 코맨드를 수신하는 것을 포함한다. 즉, 제1 유형의 제어 코맨드는 연속한 판독 코맨드이다. 예를 들면, 도 2 및 도 5를 참조하면, 칩 제어기(236)는 저장 매체 I/O(128)로부터 송신된 연속한 판독 코맨드를 수신한다.
블록 5-2로 나타낸 바와 같이, 방법(500)은 저장 매체로부터 제1 복수의 데이터 값을 얻기 위해서 제1 판독 신호 값을 사용하여 제1 판독 동작을 수행함으로써 제1 유형의 제어 코맨드를 수신하는 것에 응하는 것을 포함한다. 예를 들면, 도 2 및 도 5를 계속하여 참조하면, 칩 제어기(236)는 제1 판독 코맨드 및 제1 판독 임계 전압을 R/W 액세스 회로(237)에 제공한다. R/W 액세스 회로(237)는 NAND 플래시 셀 어레이(231)로부터 제1 복수의 데이터를 판독하게 동작한다. NAND 플래시 셀 어레이(231)로부터 판독된 제1 복수의 데이터 값은 페이지 버퍼(235)에 카피된다.
블록 5-3로 나타낸 바와 같이, 방법(500)은 제1 복수의 데이터 값을 버퍼에 저장하는 것을 포함한다. 예를 들면, 도 2 및 도 5를 계속하여 참조하면, NAND 플래시 셀 어레이(231)로부터 판독된 제1 복수의 데이터 값은 페이지 버퍼(235)에 카피된다. 블록 5-3으로 나타낸 방법의 부분으로부터, 방법(500)은 시간적으로 서로 가장 가깝게 및/또는 동시에 수행되는 2개의 동작 경로들을 취한다. 한 경로를 따라, 블록 5-4로 나타낸 바와 같이, 방법(500)은 요청 장치에 제1 복수의 데이터 값의 전송을 용이하게 하는 것을 포함한다. 일부 구현예에서, 블록 5-4a로 나타낸 바와 같이, 요청 장치에 제1 복수의 데이터 값의 전송을 용이하게 하는 것은 요청 장치에 의해 판독하기 위해 구성되는 상황 비트를 설정하는 것을 포함한다. 예를 들면, 도 2 및 도 5를 계속하여 참조하면, 칩 제어기(236)는 연결부(103)를 통해 저장 매체 I/O(128)에 의해 판독가능한 상황 비트를 설정한다. 일부 구현예에서, 블록 5-4b로 나타낸 바와 같이, 요청 장치에 제1 복수의 데이터 값의 전송을 용이하게 하는 것은 버퍼에서 요청 장치로 제1 복수의 데이터 값을 전송하는 것을 포함한다. 예를 들면, 도 2 및 도 5를 계속하여 참조하면, 칩 제어기(236)는 MUX(234)이 페이지 버퍼(235)로부터 제1 복수의 데이터를 연결부(103)를 통해 메모리 제어기(120) 내 저장 매체 I/O(128)에 넣을 수 있게 하는 드라이브 신호를 MUX(234)에 제공한다.
또다른 경로를 따라, 블록 5-5로 나타낸 바와 같이, 제1 판독 동작을 수행한 후에, 방법(500)은 제1 판독 동작과 동일한 저장 매체의 부분으로부터 복수의 후속 데이터 값을 얻기 위해서 제1 판독 신호 값과는 상이한 각각의 판독 신호 값을 사용하여 추가의 판독 동작의 수행을 개시함으로써 제1 유형의 제어 코맨드를 수신하는 것에 더욱 응하는 것을 포함한다. 예를 들면, 도 2 및 도 5를 계속하여 참조하면, 칩 제어기(236)는 후속 판독 코맨드 및 각각의 후속 판독 임계 전압을 R/W 액세스 회로(237)에 반복적으로 제공한다. 각 후속 판독 코맨드 및 각각의 후속 판독 임계 전압을 수신한 것에 응하여, R/W 액세스 회로(237)는 NAND 플래시 셀 어레이(231)로부터 각각의 복수의 후속 데이터를 판독하게 동작한다. NAND 플래시 셀 어레이(231)로부터 판독된 각각의 복수의 후속 데이터 값들 각각은 페이지 버퍼(235)에 카피된다. 일부 구현예에서, 방법(500)은 버퍼에서 요청 장치로 제1 복수의 데이터 값의 전송과 겹치는 기간 동안에 하나 이상의 추가의 판독 동작의 제1 추가의 판독 동작의 수행을 개시하는 것을 포함한다. 일부 구현예에서, 방법(500)은 상황 비트가 설정되는 시간에 가장 가까운 기간에 하나 이상의 추가의 판독 동작의 제1 추가의 판독 동작의 수행을 개시하는 것을 포함한다.
또한, 일부 구현예에서, 하나 이상의 추가의 판독 동작의 수행을 개시하는 것은 제1 조건에 응하여 일어난다. 일부 구현예에서, 제1 조건은 제1 복수의 데이터 값이 디코딩될 수 없었음을 나타내는 메시지를 수신하는 것을 포함한다. 일부 구현예에서, 제1 조건은 제1 복수의 데이터 값들이 성공적으로 디코딩될 수 있음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함한다. 일부 구현예에서, 제1 조건은 제1 복수의 데이터 값들이 성공적으로 디코딩되었음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함한다.
블록 5-6로 나타낸 바와 같이, 방법(500)은 각 추가의 복수의 데이터 값을 버퍼에 저장하는 것을 포함한다. 예를 들면, 도 2 및 도 5를 더욱 참조하면, NAND 플래시 셀 어레이(231)로부터 판독된 각각의 복수의 후속 데이터 값들 각각은 페이지 버퍼(235)에 카피된다. 블록 5-7로 나타낸 바와 같이, 방법(500)은 하이브리드 복수의 데이터 값을 버퍼에 발생하는 것을 포함한다. 즉, 일부 구현예에서, 하나 이상의 추가의 판독 동작의 수행이 종료되지 않은 한, 방법(500)은 하나 이상의 추가의 판독 동작 각각의 완료에 응하여, 최근의 판독된 복수의 데이터 값을 이전에 발생된 하이브리드 복수의 데이터 값 및 제1 복수의 데이터 값 중 하나와 결합함으로써 각각의 하이브리드 복수의 데이터 값을 발생하는 것을 포함한다. 일부 구현예에서, 방법(500)은 또한 버퍼에 저장된 임의의 이전에 발생된 하이브리드 복수의 데이터 값을 덮어쓰기함으로써 버퍼에 각각의 하이브리드 복수의 데이터 값들 각각을 저장하는 것을 포함한다. 일부 구현예에서, 각각의 하이브리드 복수의 데이터 값들 각각을 발생하는 것은 하나 이상의 복수의 후속 데이터 값의 최근의 판독의 각각과 이전에 발생된 하이브리드 복수의 데이터 값 및 제1 복수의 데이터 값 중 하나 간에 배타적 논리합(XOR)를 포함한다.
블록 5-8로 나타낸 바와 같이, 방법(500)은 요청 장치에 하이브리드 복수의 데이터 값의 전송을 용이하게 하는 것을 포함한다. 일부 구현예에서, 제1 복수의 데이터 값이 버퍼로부터 판독하기에 가용함을 나타내는 제1 메시지를 송신함으로써 요청 장치에 하이브리드 복수의 데이터 값의 전송을 용이하게 한다. 일부 구현예에서, 하이브리드 복수의 데이터 값이 버퍼에 새로이 저장될 때마다, 새로운 하이브리드 복수의 데이터 값이 버퍼로부터 판독하기에 가용함을 나타내는 후속 메시지를 송신함으로써 요청 장치에 하이브리드 복수의 데이터 값의 전송을 용이하게 한다.
블록 5-9로 나타낸 바와 같이, 방법(500)은 반복 한도에 도달되었는지 여부를 판정하는 것을 포함한다. 일부 구현예에서, 반복 한도는 제1 유형의 제어 코맨드에 응하여 수행되는 하나 이상의 추가의 판독 동작의 수에 대한 한도를 정의한다. 반복 한도에 도달되었다면(블록 5-9로부터 "예" 경로), 방법(500)은 종료한다. 한편, 반복 한도에 도달되지 않았다면(블록 5-9로부터 "아니오" 경로) 블록 5-10로 나타낸 바와 같이, 방법(500)은 또다른 코맨드가 수신되었는지를 판정하는 것을 포함한다. 또다른 코맨드가 수신되었다면(블록 5-10으로부터 "예" 경로), 방법(500)은 종료한다. 한편, 또다른 코맨드가 수신되지 않았다면(블록 5-10으로부터 "아니오" 경로), 방법(500)은 후속 판독 동작이 기술된 바와 같이 수행될 수 있도록 블록 5-5로 나타낸 방법의 부분으로 루프백한다. 일부 구현예에서, 후속 제어 코맨드는 하나 이상의 추가의 판독 동작의 종료를 야기하는 유형이다. 일부 구현예에서, 임의의 후속하여 수신된 제어 코맨드는 하나 이상의 추가의 판독 동작의 종료를 시그널링한다.
일부 구현예에서, 블록 5-9와 블록 5-10과의 조합으로 나타낸 바와 같이, 방법(500)은 기정의된 수의 추가의 판독 동작의 완료와 후속 제어 코맨드를 수신하는 것 중 더 먼저 것에서 하나 이상의 추가의 판독 동작의 수행을 종료하는 것을 포함한다. 또한, 일부 구현예에서, 블록 5-9 및 블록 5-10으로 나타낸 방법(500)의 부분은 반대되는 순서로, 혹은 서로에 관하여 동시에 일어난다. 일부 구현예에서 블록 5-9 및 블록 5-10으로 나타낸 방법(500)의 부분은 블록 5-5으로 나타낸 방법(500)의 부분과 동시에 일어나고, 그럼으로써 제1 복수의 데이터 값이 요청 장치 및/또는 모듈이 사용할 수 있게 된 후에 언제든 하나 이상의 추가의 판독 동작이 종료될 수 있는 될 수 있게 한다.
"제1", "제2", 등의 용어가 여러 요소들을 기술하기 위해 본원에서 사용될 수 있을지라도, 이들 요소들은 이들 용어들에 의해 한정되지 않아야 함이 이해될 것이다. 이들 용어는 요소를 서로간에 구별하기 위해서만 사용된다. 예를 들면, 제1 접촉은 제2 접촉의 용어로 사용될 수도 있을 것이며, 유사하게, 제2 접촉은 제1 접촉의 용어로 사용될 수도 있을 것인데, 이것은 "제1 접촉"의 모든 사용이 일관되게 개칭되고 제2 접촉의 모든 사용이 일관되게 개칭되는 한, 설명의 의미를 변경한다. 제1 접촉 및 제2 접촉은 둘 다 접촉이지만, 그러나 이들은 동일 접촉은 아니다.
본원에서 사용되는 술어는 특정 실시예를 설명하기 위한 것일 뿐이고 청구항을 제한하려는 것이 아니다. 실시예 및 첨부된 청구항의 설명에서 사용되는 바와 같이, 단수형태는 달리 문맥이 명백히 나타내지 않는 한, 복수 형태도 포함되게 한 것이다. 또한, "및/또는"이라는 용어는 본원에서는 연관된 열기된 아이템들 중 하나 이상의 임의의 및 모든 가능한 조합들을 언급하며 이들을 포괄함이 이해될 것이다. 또한, 이 명세서에서 사용될 때 "포함하다" 및/또는 "포함하는"이라는 용어는 기술된 특징, 정수, 단계, 동작, 요소, 및/또는 성분의 존재를 명시하지만, 그러나 하나 이상의 다른 특징, 정수, 단계, 동작 요소, 성분, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하는 것은 아님이 이해될 것이다.
본원에서 사용되는 바와 같이, "하는 것으로 해석될 수 있다면"이라는 용어는 기술된 선행 조건이 문맥에 따라 맞을 "때", 혹은 맞는 것으로 "판정된 것에 응하여", 혹은 맞는다는 "판정에 따라", 혹은 맞는 것으로 "검출한 것에 응하여"를 의미한다. 유사하게, "[기술된 선행 조건이 맞는] 것으로 판정된다면" 혹은 "[기술된 선행 조건이 맞는]다면", 혹은 [기술된 선행 조건이 맞을] 때"라는 어구는 기술된 선행 조건이 문맥에 따라 맞는 것으로 "판정될 때", 혹은 맞는 것으로 "판정한 것에 응하여", 혹은 맞는다는 "판정에 따라", 혹은 맞는 것으로 "검출되었을 때", 혹은 맞는 것으로 "검출한 것에 응하여"를 의미하는 것으로 해석될 수 있다.
앞에 설명은 설명을 위해서 특정한 구현예을 참조하여 기술되어졌다. 그러나, 위에 예시적 논의는 철저히 되게 하거나 개시된 정밀한 형태로 청구항을 한정하려는 것이 아니다. 많은 수저예 및 변형예가 위에 교시된 바에 비추어 가능하다. 구현예는 동작의 원리 및 실제 응용을 최상으로 설명하고, 그럼으로써 당업자가 할 수 있게 하기 위해서 선택되고 설명되었다.
Claims (28)
- 저장 매체로부터 판독하는 방법에 있어서,
요청 장치로부터 제1 유형의 제어 코맨드를 수신하는 단계; 및
상기 저장 매체의 부분으로부터 제1 복수의 데이터 값들을 얻기 위해 제1 판독 신호 값을 사용하여 제1 판독 동작을 수행하고,
상기 제1 판독 동작을 수행한 후에 하나 이상의 추가의 판독 동작들의 수행을 개시하고 - 각 추가의 판독 동작은 상기 저장 매체의 상기 제1 판독 동작과 동일한 부분으로부터 복수의 후속 데이터 값들을 얻기 위해서 상기 제1 판독 신호 값과는 상이한 각각의 판독 신호 값을 사용함 -,
미리 정의된 수의 상기 추가의 판독 동작들의 완료 전에 상기 요청 장치로부터 후속 제어 코맨드를 수신하는 것에 응답하여, 상기 하나 이상의 추가의 판독 동작들의 수행을 종료하고 - 상기 후속 제어 코맨드의 수신은 상기 제1 판독 동작 또는 상기 추가의 판독 동작들 중 하나의 판독 동작이 성공적이었다는 것을 나타냄 -,
상기 미리 정의된 수의 추가의 판독 동작들의 완료에 응답하여, 상기 하나 이상의 추가의 판독 동작들의 수행을 종료함으로써, 상기 제1 유형의 제어 코맨드를 수신하는 것에 응답하는 단계
를 포함하는 저장 매체 판독 방법. - 제1항에 있어서,
상기 방법은 상기 저장 매체에 결합된 메모리 제어기로부터 수신되는 제어 코맨드에 응답하여 상기 저장 매체 내의 회로에 의해 수행되고, 상기 메모리 제어기로부터의 상기 후속 제어 코맨드는 상기 하나 이상의 추가의 판독 동작들의 종료를 야기하는 유형인, 저장 매체 판독 방법. - 제1항에 있어서,
상기 제1 복수의 데이터 값들을 버퍼에 저장하는 단계;
상기 제1 복수의 데이터 값들을 상기 버퍼로부터 상기 요청 장치로 전송하는 단계; 및
상기 버퍼로부터 상기 요청 장치로 상기 제1 복수의 데이터 값들의 상기 전송과 겹치는 기간 동안 상기 하나 이상의 추가의 판독 동작들 중 제1 추가의 판독 동작의 수행을 개시하는 단계를 더 포함하는 저장 매체 판독 방법. - 제1항에 있어서,
상기 제1 복수의 데이터 값들을 버퍼에 저장하는 단계;
상기 요청 장치에 의해 판독하기 위해 구성되는 상황 비트를 설정하는 단계; 및
상기 상황 비트가 설정되는 시간으로부터 미리 결정된 기간 내에 상기 하나 이상의 추가의 판독 동작들 중 제1 추가의 판독 동작의 수행을 개시하는 단계
를 더 포함하는 저장 매체 판독 방법. - 제1항에 있어서,
상기 하나 이상의 추가의 판독 동작들의 수행이 종료되지 않은 한, 상기 방법은 상기 하나 이상의 추가의 판독 동작들 각각의 완료에 응답하여, 최근의 판독된 복수의 데이터 값들을 이전에 발생된 하이브리드 복수의 데이터 값들 및 상기 제1 복수의 데이터 값들 중 하나와 결합함으로써 각각의 하이브리드 복수의 데이터 값들을 발생하는 단계를 포함하는 저장 매체 판독 방법. - 제1항에 있어서,
요청 장치로부터 제2 유형의 제어 코맨드를 수신하는 단계 - 상기 제2 유형은 상기 저장 매체의 각각의 부분의 단일의 판독을 위한 요청을 나타냄으로써 상기 제1 유형과는 상이함 -; 및
상기 저장 매체의 부분으로부터 데이터 값들을 얻기 위해 단일의 판독 동작을 수행하고,
상기 얻어진 데이터 값들을 버퍼에 저장하고,
상기 얻어진 데이터 값들을 상기 버퍼에서 상기 요청 장치로 전송함으로써, 상기 제2 유형의 상기 제어 코맨드를 수신한 것에 응답하는 단계
를 더 포함하는 저장 매체 판독 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 하나 이상의 추가의 판독 동작들은 미리 정의된 수의 판독 동작들로 제한되는, 저장 매체 판독 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
하나 이상의 추가의 판독 동작들의 수행을 개시하는 단계는 제1 조건에 응답하여 일어나는, 저장 매체 판독 방법. - 제8항에 있어서,
상기 제1 조건은 상기 제1 복수의 데이터 값들이 성공적으로 디코딩될 수 있음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함하는, 저장 매체 판독 방법. - 제8항에 있어서,
상기 제1 조건은 상기 제1 복수의 데이터 값들이 성공적으로 디코딩되었음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함하는, 저장 매체 판독 방법. - 제5항에 있어서,
상기 제1 복수의 데이터 값들을 버퍼에 저장하는 단계; 및
상기 제1 복수의 데이터 값들이 상기 버퍼로부터 판독되게 가용함을 나타내는 제1 메시지를 송신하는 단계
를 더 포함하는 저장 매체 판독 방법. - 제11항에 있어서,
상기 버퍼에 저장된 임의의 이전에 발생된 하이브리드 복수의 데이터 값들을 덮어쓰기함으로써 각각의 하이브리드 복수의 데이터 값들 각각을 상기 버퍼에 저장하는 단계; 및
하이브리드 복수의 데이터 값들이 상기 버퍼에 새로이 저장될 때마다 새로운 하이브리드 복수의 데이터 값들이 상기 버퍼로부터 판독되기에 가용함을 나타내는 후속 메시지를 송신하는 단계
를 더 포함하는 저장 매체 판독 방법. - 제5항에 있어서,
각각의 하이브리드 복수의 데이터 값들 각각을 발생하는 단계는 상기 하나 이상의 복수의 후속 데이터 값들의 최근의 판독의 각각과 이전에 발생된 하이브리드 복수의 데이터 값들 및 상기 제1 복수의 데이터 값들 중 하나 간에 배타적 논리합(XOR)을 포함하는, 저장 매체 판독 방법. - 장치로서,
저장 매체; 및
제어 회로
를 포함하고, 상기 제어 회로는,
요청 장치로부터 제1 유형의 제어 코맨드를 수신하고;
상기 저장 매체의 부분으로부터 제1 복수의 데이터 값들을 얻기 위해 제1 판독 신호 값을 사용하여 제1 판독 동작을 수행하고,
상기 제1 판독 동작을 수행한 후에 하나 이상의 추가의 판독 동작들의 수행을 개시하고 - 각 추가의 판독 동작은 상기 저장 매체의 상기 제1 판독 동작과 동일한 부분으로부터 복수의 후속 데이터 값들을 얻기 위해서 상기 제1 판독 신호 값과는 상이한 각각의 판독 신호 값을 사용함 -,
미리 정의된 수의 상기 추가의 판독 동작들의 완료 전에 상기 요청 장치로부터 후속 제어 코맨드를 수신되었다는 판정에 따라, 상기 하나 이상의 추가의 판독 동작들의 수행을 종료하고 - 상기 후속 제어 코맨드의 수신은 상기 제1 판독 동작 또는 상기 추가의 판독 동작들 중 하나의 판독 동작이 성공적이었다는 것을 나타냄 -,
상기 미리 정의된 수의 추가의 판독 동작들의 완료 전에 요청 장치로부터 후속 제어 코맨드가 수신되지 않았다는 판정에 따라, 상기 미리 정의된 수의 추가 판독 동작들의 완료에 따라 상기 하나 이상의 추가의 판독 동작들의 수행을 종료함으로써, 상기 제1 유형의 제어 코맨드를 수신하는 것에 응답하게 구성되는, 장치. - 제14항에 있어서,
상기 요청 장치는 상기 저장 매체에 결합된 메모리 제어기이고, 상기 메모리 제어기로부터의 상기 후속 제어 코맨드는 상기 하나 이상의 추가의 판독 동작들의 종료를 야기하는 유형인, 장치. - 제15항에 있어서,
상기 제어 회로는 또한,
상기 제1 복수의 데이터 값들을 버퍼에 저장하고;
상기 제1 복수의 데이터 값들을 상기 버퍼로부터 상기 요청 장치에 전송하고;
상기 버퍼에서 상기 요청 장치로 상기 제1 복수의 데이터 값들의 상기 전송과 겹치는 기간 동안 상기 하나 이상의 추가의 판독 동작들의 제1 추가의 판독 동작의 수행을 개시하게 구성되는, 장치. - 제14항에 있어서,
상기 제어 회로는 또한,
상기 제1 복수의 데이터 값들을 버퍼에 저장하고;
상기 요청 장치에 의해 판독하기 위해 구성되는 상황 비트를 설정하고;
상기 상황 비트가 설정되는 시간으로부터 미리 결정된 기간 내에 상기 하나 이상의 추가의 판독 동작들 중 제1 추가의 판독 동작의 수행을 개시하게 구성되는, 장치. - 제14항에 있어서,
상기 하나 이상의 추가의 판독 동작들의 수행이 종료되지 않은 한, 상기 제어 회로는 상기 하나 이상의 추가의 판독 동작들 각각의 완료에 응답하여, 최근의 판독된 복수의 데이터 값들을 이전에 발생된 하이브리드 복수의 데이터 값들 및 상기 제1 복수의 데이터 값들 중 하나와 결합함으로써 각각의 하이브리드 복수의 데이터 값들을 발생하는, 장치. - 제14항에 있어서,
상기 제어 회로는,
상기 요청 장치로부터 제2 유형의 제어 코맨드를 수신하고 - 상기 제2 유형은 상기 저장 매체의 각각의 부분의 단일의 판독을 위한 요청을 나타냄으로써 상기 제1 유형과는 상이함 -;
상기 저장 매체의 부분으로부터 데이터 값들을 얻기 위해 단일의 판독 동작을 수행하고,
상기 얻어진 데이터 값들을 버퍼에 저장하고,
상기 얻어진 데이터 값들을 상기 버퍼에서 상기 요청 장치로 전송함으로써 상기 제2 유형의 상기 제어 코맨드를 수신한 것에 응답하게 구성되는, 장치. - 제14항 내지 제19항 중 어느 한 항에 있어서,
상기 하나 이상의 추가의 판독 동작들은 미리 정의된 수의 판독 동작들로 제한되는, 장치. - 제14항 내지 제19항 중 어느 한 항에 있어서,
하나 이상의 추가의 판독 동작들의 수행을 개시하는 것은 제1 조건에 응답하여 일어나는, 장치. - 제21항에 있어서,
상기 제1 조건은 상기 제1 복수의 데이터 값들이 성공적으로 디코딩될 수 있음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함하는, 장치. - 제21항에 있어서,
상기 제1 조건은 상기 제1 복수의 데이터 값들이 성공적으로 디코딩되었음을 나타내는 메시지가 제1 기간 내에 수신되지 않았음을 판정하는 것을 포함하는, 장치. - 제18항에 있어서,
상기 제어 회로는 또한,
상기 제1 복수의 데이터 값들을 버퍼에 저장하고;
상기 제1 복수의 데이터 값들이 상기 버퍼로부터 판독되게 가용함을 나타내는 제1 메시지를 송신하게 구성되는, 장치. - 제24항에 있어서,
상기 제어 회로는 또한,
상기 버퍼에 저장된 임의의 이전에 발생된 하이브리드 복수의 데이터 값들을 덮어쓰기함으로써 각각의 하이브리드 복수의 데이터 값들 각각을 상기 버퍼에 저장하고;
하이브리드 복수의 데이터 값들이 상기 버퍼에 새로이 저장될 때마다 새로운 하이브리드 복수의 데이터 값들이 상기 버퍼로부터 판독되기에 가용함을 나타내는 후속 메시지를 송신하게 구성되는, 장치. - 제18항에 있어서,
각각의 하이브리드 복수의 데이터 값들 각각을 발생하는 것은 상기 하나 이상의 복수의 후속 데이터 값들의 최근의 판독의 각각과 이전에 발생된 하이브리드 복수의 데이터 값들 및 상기 제1 복수의 데이터 값들 중 하나 간에 배타적 논리합(XOR)을 포함하는, 장치. - 저장 매체로부터 판독하는 방법에 있어서,
요청 장치로부터 제1 유형의 제어 코맨드를 수신하는 단계; 및
상기 저장 매체의 부분으로부터 제1 복수의 데이터 값들을 얻기 위해 제1 판독 신호 값을 사용하여 제1 판독 동작을 수행하고;
상기 제1 판독 동작을 수행한 후에 하나 이상의 추가의 판독 동작들의 수행을 개시하고 - 각 추가의 판독 동작은 상기 저장 매체의 상기 제1 판독 동작과 동일한 부분으로부터 복수의 후속 데이터 값들을 얻기 위해서 상기 제1 판독 신호 값과는 상이한 각각의 판독 신호 값을 사용함 -;
미리 정의된 수의 상기 추가의 판독 동작들의 완료 전에 상기 요청 장치로부터 후속 제어 코맨드를 수신되었다는 판정에 따라, 상기 하나 이상의 추가의 판독 동작들의 수행을 종료하고 - 상기 후속 제어 코맨드의 수신은 상기 제1 판독 동작 또는 추가의 판독 동작들 중 하나의 판독 동작이 성공적이었다는 것을 나타냄 -;
상기 미리 정의된 수의 추가의 판독 동작들의 완료 전에 요청 장치로부터 후속 제어 코맨드가 수신되지 않았다는 판정에 따라, 상기 미리 정의된 수의 추가 판독 동작들의 완료에 따라 상기 하나 이상의 추가의 판독 동작들의 수행을 종료함으로써, 상기 제1 유형의 제어 코맨드를 수신하는 것에 응답하는 단계
를 포함하는 저장 매체 판독 방법. - 제27항에 있어서,
상기 방법은 상기 저장 매체에 결합된 메모리 제어기로부터 수신되는 제어 코맨드에 응답하여 상기 저장 매체 내의 회로에 의해 수행되고, 상기 메모리 제어기로부터의 상기 후속 제어 코맨드는 상기 하나 이상의 추가의 판독 동작들의 종료를 야기하는 유형인, 저장 매체 판독 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361801463P | 2013-03-15 | 2013-03-15 | |
US61/801,463 | 2013-03-15 | ||
US13/963,444 | 2013-08-09 | ||
US13/963,444 US9367246B2 (en) | 2013-03-15 | 2013-08-09 | Performance optimization of data transfer for soft information generation |
PCT/US2014/029453 WO2014144864A1 (en) | 2013-03-15 | 2014-03-14 | Performance optimization of data transfer for soft information generation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160009527A KR20160009527A (ko) | 2016-01-26 |
KR101982381B1 true KR101982381B1 (ko) | 2019-05-27 |
Family
ID=51533763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157024578A KR101982381B1 (ko) | 2013-03-15 | 2014-03-14 | 소프트 정보에 대한 데이터 전송의 수행 최적화 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9367246B2 (ko) |
KR (1) | KR101982381B1 (ko) |
CN (1) | CN105264496B (ko) |
WO (1) | WO2014144864A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9761312B1 (en) | 2016-03-16 | 2017-09-12 | Micron Technology, Inc. | FeRAM-DRAM hybrid memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080056005A1 (en) | 2006-08-30 | 2008-03-06 | Micron Technology, Inc. | Non-volatile memory cell read failure reduction |
US20100199138A1 (en) | 2009-02-02 | 2010-08-05 | Jun Rye Rho | Nonvolatile memory device and method of operating the same |
US20110179249A1 (en) | 2010-01-15 | 2011-07-21 | Silicon Motion, Inc. | Data Storage Device and Method for Handling Data Read Out from Memory |
Family Cites Families (423)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4173737A (en) | 1978-05-04 | 1979-11-06 | Zenith Radio Corporation | Limited position, non-volatile memory tuning system |
US4888750A (en) | 1986-03-07 | 1989-12-19 | Kryder Mark H | Method and system for erase before write magneto-optic recording |
US4916652A (en) | 1987-09-30 | 1990-04-10 | International Business Machines Corporation | Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures |
US5129089A (en) * | 1987-12-18 | 1992-07-07 | Digital Equipment Corporation | Distributed interlock apparatus and distributed interlock management method |
US5270979A (en) | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5657332A (en) | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5381528A (en) * | 1992-10-15 | 1995-01-10 | Maxtor Corporation | Demand allocation of read/write buffer partitions favoring sequential read cache |
US5416915A (en) | 1992-12-11 | 1995-05-16 | International Business Machines Corporation | Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array |
US5537555A (en) | 1993-03-22 | 1996-07-16 | Compaq Computer Corporation | Fully pipelined and highly concurrent memory controller |
US5519847A (en) | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
US5329491A (en) | 1993-06-30 | 1994-07-12 | Intel Corporation | Nonvolatile memory card with automatic power supply configuration |
US5708849A (en) | 1994-01-26 | 1998-01-13 | Intel Corporation | Implementing scatter/gather operations in a direct memory access device on a personal computer |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
GB9419246D0 (en) | 1994-09-23 | 1994-11-09 | Cambridge Consultants | Data processing circuits and interfaces |
US5666114A (en) | 1994-11-22 | 1997-09-09 | International Business Machines Corporation | Method and means for managing linear mapped address spaces storing compressed data at the storage subsystem control unit or device level |
US5530705A (en) | 1995-02-08 | 1996-06-25 | International Business Machines Corporation | Soft error recovery system and method |
US5636342A (en) | 1995-02-17 | 1997-06-03 | Dell Usa, L.P. | Systems and method for assigning unique addresses to agents on a system management bus |
US5606532A (en) | 1995-03-17 | 1997-02-25 | Atmel Corporation | EEPROM array with flash-like core |
US6016560A (en) | 1995-06-14 | 2000-01-18 | Hitachi, Ltd. | Semiconductor memory, memory device, and memory card |
US5890193A (en) | 1995-07-28 | 1999-03-30 | Micron Technology, Inc. | Architecture for state machine for controlling internal operations of flash memory |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5815434A (en) | 1995-09-29 | 1998-09-29 | Intel Corporation | Multiple writes per a single erase for a nonvolatile memory |
US6044472A (en) | 1996-06-21 | 2000-03-28 | Archos | Device and method for supplying power to an external data medium reader unit connected to a computer, and external reader unit including this device |
TW334532B (en) | 1996-07-05 | 1998-06-21 | Matsushita Electric Ind Co Ltd | The inspection system of semiconductor IC and the method of generation |
US6134148A (en) | 1997-09-30 | 2000-10-17 | Hitachi, Ltd. | Semiconductor integrated circuit and data processing system |
JPH10124381A (ja) | 1996-10-21 | 1998-05-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5943692A (en) | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
US6006345A (en) | 1997-05-09 | 1999-12-21 | International Business Machines Corporation | Pattern generator for memory burn-in and test |
US6000006A (en) | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
JPH11126497A (ja) | 1997-10-22 | 1999-05-11 | Oki Electric Ind Co Ltd | 不揮発性半導体記憶装置 |
US6018304A (en) | 1997-12-18 | 2000-01-25 | Texas Instruments Incorporated | Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability |
US6070074A (en) | 1998-04-24 | 2000-05-30 | Trw Inc. | Method for enhancing the performance of a regenerative satellite communications system |
US6138261A (en) | 1998-04-29 | 2000-10-24 | Trw Inc. | Concatenated coding system for satellite communications |
US6182264B1 (en) | 1998-05-22 | 2001-01-30 | Vlsi Technology, Inc. | Smart dynamic selection of error correction methods for DECT based data services |
US7111293B1 (en) | 1998-06-03 | 2006-09-19 | Ants Software, Inc. | Method for increased concurrency in a computer system |
US6192092B1 (en) | 1998-06-15 | 2001-02-20 | Intel Corp. | Method and apparatus for clock skew compensation |
US6260120B1 (en) | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
US6505305B1 (en) | 1998-07-16 | 2003-01-07 | Compaq Information Technologies Group, L.P. | Fail-over of multiple memory blocks in multiple memory modules in computer system |
US6314501B1 (en) | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
US6295592B1 (en) | 1998-07-31 | 2001-09-25 | Micron Technology, Inc. | Method of processing memory requests in a pipelined memory controller |
US6233625B1 (en) | 1998-11-18 | 2001-05-15 | Compaq Computer Corporation | System and method for applying initialization power to SCSI devices |
US6288860B1 (en) | 1999-01-04 | 2001-09-11 | Maxtor Corporation | Servo area numbering strategy for computer disk drives |
US6438661B1 (en) | 1999-03-03 | 2002-08-20 | International Business Machines Corporation | Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache |
US6449625B1 (en) | 1999-04-20 | 2002-09-10 | Lucent Technologies Inc. | Use of a two-way stack approach to optimize flash memory management for embedded database systems |
US6564271B2 (en) | 1999-06-09 | 2003-05-13 | Qlogic Corporation | Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter |
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US7620769B2 (en) | 2000-01-06 | 2009-11-17 | Super Talent Electronics, Inc. | Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory |
US7660941B2 (en) | 2003-09-10 | 2010-02-09 | Super Talent Electronics, Inc. | Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories |
US20080282128A1 (en) | 1999-08-04 | 2008-11-13 | Super Talent Electronics, Inc. | Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance |
US7333364B2 (en) | 2000-01-06 | 2008-02-19 | Super Talent Electronics, Inc. | Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory |
US7318117B2 (en) | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US6412042B1 (en) | 1999-11-17 | 2002-06-25 | Maxtor Corporation | System and method for improved disk drive performance and reliability |
US6484224B1 (en) | 1999-11-29 | 2002-11-19 | Cisco Technology Inc. | Multi-interface symmetric multiprocessor |
DE19961138C2 (de) | 1999-12-17 | 2001-11-22 | Siemens Ag | Multiport-RAM-Speichervorrichtung |
US7082056B2 (en) | 2004-03-12 | 2006-07-25 | Super Talent Electronics, Inc. | Flash memory device and architecture with multi level cells |
US8037234B2 (en) | 2003-12-02 | 2011-10-11 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US6339338B1 (en) | 2000-01-18 | 2002-01-15 | Formfactor, Inc. | Apparatus for reducing power supply noise in an integrated circuit |
US20020152305A1 (en) | 2000-03-03 | 2002-10-17 | Jackson Gregory J. | Systems and methods for resource utilization analysis in information management environments |
US6516437B1 (en) | 2000-03-07 | 2003-02-04 | General Electric Company | Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates |
US6629047B1 (en) | 2000-03-30 | 2003-09-30 | Intel Corporation | Method and apparatus for flash voltage detection and lockout |
US6615307B1 (en) | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US20030188045A1 (en) | 2000-04-13 | 2003-10-02 | Jacobson Michael B. | System and method for distributing storage controller tasks |
US6647387B1 (en) | 2000-04-27 | 2003-11-11 | International Business Machine Corporation | System, apparatus, and method for enhancing storage management in a storage area network |
US6678788B1 (en) | 2000-05-26 | 2004-01-13 | Emc Corporation | Data type and topological data categorization and ordering for a mass storage system |
US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US6442076B1 (en) | 2000-06-30 | 2002-08-27 | Micron Technology, Inc. | Flash memory with multiple status reading capability |
US6980985B1 (en) | 2000-08-30 | 2005-12-27 | At&T Corp. | Distributed evalulation of directory queries using a topology cache |
US6865650B1 (en) | 2000-09-29 | 2005-03-08 | Emc Corporation | System and method for hierarchical data storage |
US7028165B2 (en) | 2000-12-06 | 2006-04-11 | Intel Corporation | Processor stalling |
US6862651B2 (en) | 2000-12-20 | 2005-03-01 | Microsoft Corporation | Automotive computing devices with emergency power shut down capabilities |
US6738870B2 (en) | 2000-12-22 | 2004-05-18 | International Business Machines Corporation | High speed remote storage controller |
KR100381955B1 (ko) | 2001-01-03 | 2003-04-26 | 삼성전자주식회사 | 기입 드라이버를 이용한 셀 전류 측정 스킴을 갖는 플래시메모리 장치 |
US6754773B2 (en) | 2001-01-29 | 2004-06-22 | Snap Appliance, Inc. | Data engine with metadata processor |
JPWO2002082435A1 (ja) | 2001-03-30 | 2004-07-29 | 富士通株式会社 | 記憶装置及びそのフォーカス制御方法 |
US7017107B2 (en) | 2001-04-30 | 2006-03-21 | Sun Microsystems, Inc. | Storage array employing scrubbing operations at the disk-controller level |
US6938253B2 (en) | 2001-05-02 | 2005-08-30 | Portalplayer, Inc. | Multiprocessor communication system and method |
US6757768B1 (en) | 2001-05-17 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node |
JP4256600B2 (ja) | 2001-06-19 | 2009-04-22 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US7068603B2 (en) | 2001-07-06 | 2006-06-27 | Juniper Networks, Inc. | Cross-bar switch |
US6836815B1 (en) | 2001-07-11 | 2004-12-28 | Pasternak Solutions Llc | Layered crossbar for interconnection of multiple processors and shared memories |
US6928602B2 (en) | 2001-07-18 | 2005-08-09 | Sony Corporation | Encoding method and encoder |
JP4569055B2 (ja) | 2001-08-06 | 2010-10-27 | ソニー株式会社 | 信号処理装置及び信号処理方法 |
TW539946B (en) | 2001-08-07 | 2003-07-01 | Solid State System Company Ltd | Window-based flash memory storage system, and the management method and the access method thereof |
JP4437519B2 (ja) | 2001-08-23 | 2010-03-24 | スパンション エルエルシー | 多値セルメモリ用のメモリコントローラ |
US7028213B2 (en) | 2001-09-28 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Error indication in a raid memory system |
US7032123B2 (en) | 2001-10-19 | 2006-04-18 | Sun Microsystems, Inc. | Error recovery |
JP3663377B2 (ja) | 2001-10-23 | 2005-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法 |
US7380085B2 (en) | 2001-11-14 | 2008-05-27 | Intel Corporation | Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor |
US6798696B2 (en) | 2001-12-04 | 2004-09-28 | Renesas Technology Corp. | Method of controlling the operation of non-volatile semiconductor memory chips |
US6871257B2 (en) | 2002-02-22 | 2005-03-22 | Sandisk Corporation | Pipelined parallel programming operation in a non-volatile memory system |
US6836808B2 (en) | 2002-02-25 | 2004-12-28 | International Business Machines Corporation | Pipelined packet processing |
US7533214B2 (en) | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
KR100476888B1 (ko) | 2002-04-04 | 2005-03-17 | 삼성전자주식회사 | 온도보상기능을 가진 멀티비트 플래쉬메모리 |
JP4079684B2 (ja) | 2002-05-08 | 2008-04-23 | 株式会社日立製作所 | ヒープメモリ管理方法およびそれを用いた計算機システム |
US6966006B2 (en) | 2002-05-09 | 2005-11-15 | International Business Machines Corporation | Adaptive startup policy for accelerating multi-disk array spin-up |
US6895464B2 (en) | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US6885530B2 (en) | 2002-06-11 | 2005-04-26 | Stmicroelectronics, Inc. | Power limiting time delay circuit |
KR100484147B1 (ko) | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
US7051155B2 (en) | 2002-08-05 | 2006-05-23 | Sun Microsystems, Inc. | Method and system for striping data to accommodate integrity metadata |
US6978343B1 (en) | 2002-08-05 | 2005-12-20 | Netlogic Microsystems, Inc. | Error-correcting content addressable memory |
JP4177329B2 (ja) | 2002-08-29 | 2008-11-05 | 株式会社ルネサステクノロジ | 半導体処理装置及びicカード |
US7120856B2 (en) | 2002-09-25 | 2006-10-10 | Leanics Corporation | LDPC code and encoder/decoder regarding same |
JP2004178782A (ja) | 2002-10-04 | 2004-06-24 | Sharp Corp | 半導体記憶装置およびその制御方法および携帯電子機器 |
KR100457812B1 (ko) | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
US7399043B2 (en) | 2002-12-02 | 2008-07-15 | Silverbrook Research Pty Ltd | Compensation for uneven printhead module lengths in a multi-module printhead |
US20040114265A1 (en) | 2002-12-16 | 2004-06-17 | Xerox Corporation | User-selectable automatic secure data file erasure of job after job completion |
US7155579B1 (en) | 2002-12-27 | 2006-12-26 | Unisys Corporation | Memory controller having programmable initialization sequence |
US20040153902A1 (en) | 2003-01-21 | 2004-08-05 | Nexflash Technologies, Inc. | Serial flash integrated circuit having error detection and correction |
US7296216B2 (en) | 2003-01-23 | 2007-11-13 | Broadcom Corporation | Stopping and/or reducing oscillations in low density parity check (LDPC) decoding |
US7043505B1 (en) | 2003-01-28 | 2006-05-09 | Unisys Corporation | Method variation for collecting stability data from proprietary systems |
JP2004240555A (ja) | 2003-02-04 | 2004-08-26 | Fujitsu Ltd | バッテリ運用制御装置、バッテリ運用制御方法およびバッテリ運用制御プログラム |
US7478096B2 (en) | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7162678B2 (en) | 2003-03-14 | 2007-01-09 | Quantum Corporation | Extended error correction codes |
KR100543447B1 (ko) | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
US7527466B2 (en) | 2003-04-03 | 2009-05-05 | Simmons Robert J | Building-erection structural member transporter |
KR100526186B1 (ko) | 2003-04-04 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 오류블록 관리방법 및 장치 |
JP4170988B2 (ja) | 2003-05-09 | 2008-10-22 | 富士通株式会社 | 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体 |
US7877647B2 (en) | 2003-05-23 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Correcting a target address in parallel with determining whether the target address was received in error |
EP2511787B1 (en) | 2003-05-23 | 2017-09-20 | IP Reservoir, LLC | Data decompression and search using FPGA devices |
US7685254B2 (en) | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US7076598B2 (en) | 2003-09-09 | 2006-07-11 | Solid State System Co., Ltd. | Pipeline accessing method to a large block memory |
US7054968B2 (en) | 2003-09-16 | 2006-05-30 | Denali Software, Inc. | Method and apparatus for multi-port memory controller |
US7100002B2 (en) | 2003-09-16 | 2006-08-29 | Denali Software, Inc. | Port independent data transaction interface for multi-port devices |
US7523157B2 (en) | 2003-09-25 | 2009-04-21 | International Business Machines Corporation | Managing a plurality of processors as devices |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7173852B2 (en) | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
TW200516821A (en) | 2003-11-14 | 2005-05-16 | Hon Hai Prec Ind Co Ltd | System and method for starting up devices orderly |
US7401174B2 (en) | 2003-12-16 | 2008-07-15 | Matsushita Electric Industrial Co., Ltd. | File system defragmentation and data processing method and apparatus for an information recording medium |
US7376887B2 (en) | 2003-12-22 | 2008-05-20 | International Business Machines Corporation | Method for fast ECC memory testing by software including ECC check byte |
US7197652B2 (en) | 2003-12-22 | 2007-03-27 | International Business Machines Corporation | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring |
US20050251617A1 (en) | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US7631148B2 (en) | 2004-01-08 | 2009-12-08 | Netapp, Inc. | Adaptive file readahead based on multiple factors |
JP4357304B2 (ja) | 2004-01-09 | 2009-11-04 | 株式会社バッファロー | 外部記憶装置 |
US7328377B1 (en) | 2004-01-27 | 2008-02-05 | Altera Corporation | Error correction for programmable logic integrated circuits |
JP4477365B2 (ja) | 2004-01-29 | 2010-06-09 | 株式会社日立製作所 | 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法 |
US7350044B2 (en) | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7389465B2 (en) | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
US20080147964A1 (en) | 2004-02-26 | 2008-06-19 | Chow David Q | Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function |
US7035159B2 (en) | 2004-04-01 | 2006-04-25 | Micron Technology, Inc. | Techniques for storing accurate operating current values |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
EP1870814B1 (en) | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
JP2005332471A (ja) | 2004-05-19 | 2005-12-02 | Hitachi Ltd | ディスクアレイ装置 |
US20050273560A1 (en) | 2004-06-03 | 2005-12-08 | Hulbert Jared E | Method and apparatus to avoid incoherency between a cache memory and flash memory |
US7334179B2 (en) | 2004-06-04 | 2008-02-19 | Broadcom Corporation | Method and system for detecting and correcting errors while accessing memory devices in microprocessor systems |
US7159069B2 (en) | 2004-06-23 | 2007-01-02 | Atmel Corporation | Simultaneous external read operation during internal programming in a flash memory device |
US7126873B2 (en) | 2004-06-29 | 2006-10-24 | Super Talent Electronics, Inc. | Method and system for expanding flash storage device capacity |
US7529898B2 (en) | 2004-07-09 | 2009-05-05 | International Business Machines Corporation | Method for backing up and restoring data |
US8190808B2 (en) | 2004-08-17 | 2012-05-29 | Rambus Inc. | Memory device having staggered memory operations |
DK3422583T3 (da) | 2004-08-30 | 2020-09-28 | Google Llc | System og fremgangsmåde for at tilvejebringe ikke-flygtig hukommelsesadministration i trådløse telefoner |
FR2875358B1 (fr) | 2004-09-15 | 2006-12-15 | Eads Telecom Soc Par Actions S | Insertion d'un flux secondaire d'informations binaires dans un flux principal de symboles d'une modulation numerique |
JP2006099665A (ja) | 2004-09-30 | 2006-04-13 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法 |
US7760880B2 (en) | 2004-10-13 | 2010-07-20 | Viasat, Inc. | Decoder architecture system and method |
JP4956922B2 (ja) | 2004-10-27 | 2012-06-20 | ソニー株式会社 | 記憶装置 |
KR100695891B1 (ko) | 2004-11-17 | 2007-03-19 | 삼성전자주식회사 | 동작 모드에 따라 락 아웃을 선택적으로 수행하는 장치 및방법 |
US20060136681A1 (en) | 2004-12-21 | 2006-06-22 | Sanjeev Jain | Method and apparatus to support multiple memory banks with a memory block |
US8438459B2 (en) | 2004-12-22 | 2013-05-07 | Lg Electronics Inc. | Apparatus and method for decoding using channel code |
US20060156177A1 (en) | 2004-12-29 | 2006-07-13 | Sailesh Kottapalli | Method and apparatus for recovering from soft errors in register files |
US7657696B2 (en) | 2005-02-25 | 2010-02-02 | Lsi Corporation | Method to detect NAND-flash parameters by hardware automatically |
US7822912B2 (en) | 2005-03-14 | 2010-10-26 | Phision Electronics Corp. | Flash storage chip and flash array storage system |
US7707232B2 (en) | 2005-05-13 | 2010-04-27 | Microsoft Corporation | Implementation for collecting unmanaged memory |
US7765454B2 (en) | 2005-05-24 | 2010-07-27 | Sgi International, Inc. | Fault tolerant memory system |
US7283395B2 (en) | 2005-06-24 | 2007-10-16 | Infineon Technologies Flash Gmbh & Co. Kg | Memory device and method for operating the memory device |
US8171367B2 (en) | 2005-06-27 | 2012-05-01 | Thomson Licensing | Stopping criteria in iterative decoders |
US20070061597A1 (en) | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
KR100705220B1 (ko) | 2005-09-15 | 2007-04-06 | 주식회사 하이닉스반도체 | 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법 |
KR20080054412A (ko) | 2005-09-27 | 2008-06-17 | 엔엑스피 비 브이 | 에러 검출/보정 회로 및 방법과, 전자 메모리 소자 또는메모리 모듈 |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
KR100715147B1 (ko) | 2005-10-06 | 2007-05-10 | 삼성전자주식회사 | 전류소모를 감소시키는 내부전원전압 발생회로를 가지는멀티칩 반도체 메모리 장치 |
US20070083697A1 (en) | 2005-10-07 | 2007-04-12 | Microsoft Corporation | Flash memory management |
US8223553B2 (en) | 2005-10-12 | 2012-07-17 | Macronix International Co., Ltd. | Systems and methods for programming a memory device |
US7743363B2 (en) | 2005-10-13 | 2010-06-22 | Microsoft Corporation | Extensible meta-data |
US7954037B2 (en) | 2005-10-25 | 2011-05-31 | Sandisk Il Ltd | Method for recovering from errors in flash memory |
US8006161B2 (en) | 2005-10-26 | 2011-08-23 | Samsung Electronics Co., Ltd | Apparatus and method for receiving signal in a communication system using a low density parity check code |
KR100966043B1 (ko) | 2005-10-31 | 2010-06-25 | 삼성전자주식회사 | 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법 |
US7500062B2 (en) | 2005-11-17 | 2009-03-03 | International Business Machines Corporation | Fast path memory read request processing in a multi-level memory architecture |
WO2007058617A1 (en) | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
US8813052B2 (en) | 2005-12-07 | 2014-08-19 | Microsoft Corporation | Cache metadata for implementing bounded transactional memory |
US7562283B2 (en) | 2005-12-27 | 2009-07-14 | D.S.P. Group Ltd. | Systems and methods for error correction using binary coded hexidecimal or hamming decoding |
US7546515B2 (en) | 2005-12-27 | 2009-06-09 | Sandisk Corporation | Method of storing downloadable firmware on bulk media |
US7349264B2 (en) | 2005-12-28 | 2008-03-25 | Sandisk Corporation | Alternate sensing techniques for non-volatile memories |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7742339B2 (en) | 2006-01-10 | 2010-06-22 | Saifun Semiconductors Ltd. | Rd algorithm improvement for NROM technology |
US8020060B2 (en) | 2006-01-18 | 2011-09-13 | Sandisk Il Ltd | Method of arranging data in a multi-level cell memory device |
KR100725410B1 (ko) | 2006-01-20 | 2007-06-07 | 삼성전자주식회사 | 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법 |
US20070234143A1 (en) | 2006-01-25 | 2007-10-04 | Samsung Electronics Co., Ltd. | Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices |
JP4859471B2 (ja) | 2006-02-02 | 2012-01-25 | 株式会社日立製作所 | ストレージシステム及びストレージコントローラ |
US7546478B2 (en) | 2006-02-10 | 2009-06-09 | International Business Machines Corporation | Apparatus and method to provide power to a plurality of data storage devices disposed in a data storage system |
US7870326B2 (en) | 2006-07-28 | 2011-01-11 | Samsung Electronics Co., Ltd. | Multiprocessor system and method thereof |
US7590473B2 (en) | 2006-02-16 | 2009-09-15 | Intel Corporation | Thermal management using an on-die thermal sensor |
JP4863749B2 (ja) | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
US7681106B2 (en) | 2006-03-29 | 2010-03-16 | Freescale Semiconductor, Inc. | Error correction device and methods thereof |
US20070245061A1 (en) | 2006-04-13 | 2007-10-18 | Intel Corporation | Multiplexing a parallel bus interface and a flash memory interface |
US7685494B1 (en) | 2006-05-08 | 2010-03-23 | Marvell International, Ltd. | Error correction coding for varying signal-to-noise ratio channels |
US8000134B2 (en) * | 2006-05-15 | 2011-08-16 | Apple Inc. | Off-die charge pump that supplies multiple flash devices |
US7639542B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Maintenance operations for multi-level data storage cells |
US7707481B2 (en) | 2006-05-16 | 2010-04-27 | Pitney Bowes Inc. | System and method for efficient uncorrectable error detection in flash memory |
US20070300130A1 (en) | 2006-05-17 | 2007-12-27 | Sandisk Corporation | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
US7701764B2 (en) | 2006-05-17 | 2010-04-20 | Micron Technology, Inc. | Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices |
US7606084B2 (en) | 2006-06-19 | 2009-10-20 | Sandisk Corporation | Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory |
JP4842719B2 (ja) | 2006-06-28 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びそのデータ保護方法 |
WO2008003094A2 (en) | 2006-06-29 | 2008-01-03 | Digital Fountain, Inc. | Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes |
US7774684B2 (en) | 2006-06-30 | 2010-08-10 | Intel Corporation | Reliability, availability, and serviceability in a memory device |
US7403438B2 (en) | 2006-07-12 | 2008-07-22 | Infineon Technologies Flash Gmbh & Co. Kg | Memory array architecture and method for high-speed distribution measurements |
JP2008047273A (ja) | 2006-07-20 | 2008-02-28 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
US7831895B2 (en) | 2006-07-25 | 2010-11-09 | Communications Coding Corporation | Universal error control coding system for digital communication and data storage systems |
TW200813724A (en) | 2006-07-28 | 2008-03-16 | Samsung Electronics Co Ltd | Multipath accessible semiconductor memory device with host interface between processors |
US20080052446A1 (en) | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US7566987B2 (en) | 2006-09-14 | 2009-07-28 | Lutron Electronics Co., Inc. | Method of powering up a plurality of loads in sequence |
KR100843133B1 (ko) | 2006-09-20 | 2008-07-02 | 삼성전자주식회사 | 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법 |
TW200816651A (en) | 2006-09-25 | 2008-04-01 | Sunplus Technology Co Ltd | Decoding method and system of real-time wireless channel estimation |
US7886204B2 (en) | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US8171380B2 (en) | 2006-10-10 | 2012-05-01 | Marvell World Trade Ltd. | Adaptive systems and methods for storing and retrieving data to and from memory cells |
CN100596029C (zh) | 2006-10-20 | 2010-03-24 | 北京泰美世纪科技有限公司 | Ldpc码校验矩阵构造方法及利用该方法的编码解码装置 |
JP2008117195A (ja) | 2006-11-06 | 2008-05-22 | Hitachi Ltd | 半導体記憶装置 |
TWI307100B (en) | 2006-11-07 | 2009-03-01 | Macronix Int Co Ltd | Memory and method for reading error checking thereof |
US7508703B2 (en) | 2006-11-13 | 2009-03-24 | Sandisk Corporation | Non-volatile memory with boost structures |
US8074011B2 (en) | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
KR20090087119A (ko) | 2006-12-06 | 2009-08-14 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법 |
KR100808664B1 (ko) | 2006-12-08 | 2008-03-07 | 한국전자통신연구원 | 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치 |
KR100881669B1 (ko) | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치 |
WO2008075292A2 (en) | 2006-12-18 | 2008-06-26 | Nxp B.V. | Power-on temperature sensor/spd detect |
US7620781B2 (en) | 2006-12-19 | 2009-11-17 | Intel Corporation | Efficient Bloom filter |
KR100842680B1 (ko) | 2007-01-08 | 2008-07-01 | 삼성전자주식회사 | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 |
US7603490B2 (en) | 2007-01-10 | 2009-10-13 | International Business Machines Corporation | Barrier and interrupt mechanism for high latency and out of order DMA device |
KR100855587B1 (ko) | 2007-01-17 | 2008-09-01 | 삼성전자주식회사 | 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법 |
US7596643B2 (en) | 2007-02-07 | 2009-09-29 | Siliconsystems, Inc. | Storage subsystem with configurable buffer |
US7913022B1 (en) | 2007-02-14 | 2011-03-22 | Xilinx, Inc. | Port interface modules (PIMs) in a multi-port memory controller (MPMC) |
KR100918707B1 (ko) | 2007-03-12 | 2009-09-23 | 삼성전자주식회사 | 플래시 메모리를 기반으로 한 메모리 시스템 |
CN101715595A (zh) | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | 存储器单元读取阈的自适应估计 |
JP4897524B2 (ja) | 2007-03-15 | 2012-03-14 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのライト性能低下防止方法 |
KR100907218B1 (ko) | 2007-03-28 | 2009-07-10 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
WO2008121553A1 (en) | 2007-03-29 | 2008-10-09 | Sandisk Corporation | Non-volatile storage with decoding of data using reliability metrics based on multiple reads |
WO2008121577A1 (en) | 2007-03-31 | 2008-10-09 | Sandisk Corporation | Soft bit data transmission for error correction control in non-volatile memory |
US8032724B1 (en) | 2007-04-04 | 2011-10-04 | Marvell International Ltd. | Demand-driven opportunistic garbage collection in memory components |
US7996642B1 (en) | 2007-04-25 | 2011-08-09 | Marvell International Ltd. | Digital locked loop on channel tagged memory requests for memory optimization |
EP1988474A1 (en) | 2007-05-04 | 2008-11-05 | Axalto SA | System and method of managing indexation of flash memory |
US8151171B2 (en) | 2007-05-07 | 2012-04-03 | Broadcom Corporation | Operational parameter adaptable LDPC (low density parity check) decoder |
US8073648B2 (en) | 2007-05-14 | 2011-12-06 | Sandisk Il Ltd. | Measuring threshold voltage distribution in memory using an aggregate characteristic |
US7930547B2 (en) | 2007-06-15 | 2011-04-19 | Alcatel-Lucent Usa Inc. | High accuracy bloom filter using partitioned hashing |
KR100891005B1 (ko) | 2007-06-28 | 2009-03-31 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법 |
JP2009020986A (ja) | 2007-07-15 | 2009-01-29 | Hitachi Global Storage Technologies Netherlands Bv | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 |
US8024525B2 (en) | 2007-07-25 | 2011-09-20 | Digi-Data Corporation | Storage control unit with memory cache protection via recorded log |
US8724789B2 (en) | 2007-08-06 | 2014-05-13 | Yellow Pages | Systems and methods to connect people for real time communications via directory assistance |
JP4564520B2 (ja) | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US8095851B2 (en) | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
JP4404125B2 (ja) | 2007-09-12 | 2010-01-27 | 株式会社デンソー | 電子制御装置及び信号監視回路 |
WO2009058140A1 (en) | 2007-10-31 | 2009-05-07 | Agere Systems Inc. | Systematic error correction for multi-level flash memory |
US7894264B2 (en) | 2007-11-07 | 2011-02-22 | Micron Technology, Inc. | Controlling a memory device responsive to degradation |
US7945825B2 (en) | 2007-11-25 | 2011-05-17 | Spansion Isreal, Ltd | Recovery while programming non-volatile memory (NVM) |
US8429492B2 (en) | 2007-11-30 | 2013-04-23 | Marvell World Trade Ltd. | Error correcting code predication system and method |
US8341335B2 (en) | 2007-12-05 | 2012-12-25 | Densbits Technologies Ltd. | Flash memory apparatus with a heating system for temporarily retired memory portions |
US8245101B2 (en) | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
JP4533968B2 (ja) | 2007-12-28 | 2010-09-01 | 株式会社東芝 | 半導体記憶装置及びその制御方法、コントローラ、情報処理装置 |
US20090172335A1 (en) | 2007-12-31 | 2009-07-02 | Anand Krishnamurthi Kulkarni | Flash devices with raid |
US8159874B2 (en) | 2008-01-22 | 2012-04-17 | Micron Technology, Inc. | Cell operation monitoring |
US8271515B2 (en) | 2008-01-29 | 2012-09-18 | Cadence Design Systems, Inc. | System and method for providing copyback data integrity in a non-volatile memory system |
JP4617405B2 (ja) | 2008-02-05 | 2011-01-26 | 富士通株式会社 | 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム |
US20090204823A1 (en) | 2008-02-07 | 2009-08-13 | Analog Devices, Inc. | Method and apparatus for controlling system access during protected modes of operation |
JP4672743B2 (ja) | 2008-03-01 | 2011-04-20 | 株式会社東芝 | 誤り訂正装置および誤り訂正方法 |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
JP2009266349A (ja) | 2008-04-28 | 2009-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8185706B2 (en) | 2008-04-30 | 2012-05-22 | Apple Inc. | Copyback optimization for memory system |
KR101518199B1 (ko) | 2008-05-23 | 2015-05-06 | 삼성전자주식회사 | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 |
KR101412690B1 (ko) | 2008-05-28 | 2014-06-27 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
KR101412974B1 (ko) | 2008-05-28 | 2014-06-30 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
JP5072723B2 (ja) | 2008-06-11 | 2012-11-14 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8959280B2 (en) | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US8627169B2 (en) | 2008-06-20 | 2014-01-07 | Cadence Design Systems, Inc. | Method and apparatus for dynamically configurable multi level error correction |
KR101413137B1 (ko) | 2008-07-04 | 2014-07-01 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
US8037380B2 (en) | 2008-07-08 | 2011-10-11 | International Business Machines Corporation | Verifying data integrity of a non-volatile memory system during data caching process |
US8325554B2 (en) | 2008-07-10 | 2012-12-04 | Sanmina-Sci Corporation | Battery-less cache memory module with integrated backup |
KR101436506B1 (ko) | 2008-07-23 | 2014-09-02 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 프로그래밍 방법 |
US8130552B2 (en) | 2008-09-11 | 2012-03-06 | Sandisk Technologies Inc. | Multi-pass programming for memory with reduced data storage requirement |
US8429514B1 (en) | 2008-09-24 | 2013-04-23 | Network Appliance, Inc. | Dynamic load balancing of distributed parity in a RAID array |
KR101484556B1 (ko) | 2008-10-28 | 2015-01-20 | 삼성전자주식회사 | 독출 보상 회로 |
US8023334B2 (en) | 2008-10-31 | 2011-09-20 | Micron Technology, Inc. | Program window adjust for memory cell signal line delay |
US8214599B2 (en) | 2008-11-04 | 2012-07-03 | Gridiron Systems, Inc. | Storage device prefetch system using directed graph clusters |
KR101516577B1 (ko) | 2008-11-10 | 2015-05-06 | 삼성전자주식회사 | 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법 |
US9063874B2 (en) | 2008-11-10 | 2015-06-23 | SanDisk Technologies, Inc. | Apparatus, system, and method for wear management |
KR20100058166A (ko) | 2008-11-24 | 2010-06-03 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 |
KR101555022B1 (ko) | 2008-12-02 | 2015-09-23 | 삼성전자주식회사 | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 |
US8209466B2 (en) | 2008-12-16 | 2012-06-26 | Intel Corporation | Methods and systems to allocate addresses in a high-endurance/low-endurance hybrid flash memory |
US9128699B2 (en) | 2008-12-22 | 2015-09-08 | Intel Corporation | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command |
KR101535225B1 (ko) | 2009-01-06 | 2015-07-09 | 삼성전자주식회사 | 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치 |
US8645749B2 (en) | 2009-02-04 | 2014-02-04 | Micron Technology, Inc. | Systems and methods for storing and recovering controller data in non-volatile memory devices |
KR20100090439A (ko) | 2009-02-06 | 2010-08-16 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 독출 방법 및 이를 구현하는 불휘발성 메모리 장치 |
US7830732B2 (en) | 2009-02-11 | 2010-11-09 | Stec, Inc. | Staged-backup flash backed dram module |
KR20100093885A (ko) | 2009-02-17 | 2010-08-26 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8042011B2 (en) | 2009-04-28 | 2011-10-18 | Synopsys, Inc. | Runtime programmable BIST for testing a multi-port memory device |
US20100281207A1 (en) | 2009-04-30 | 2010-11-04 | Miller Steven C | Flash-based data archive storage system |
KR101575248B1 (ko) | 2009-04-30 | 2015-12-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
US8463820B2 (en) | 2009-05-26 | 2013-06-11 | Intel Corporation | System and method for memory bandwidth friendly sorting on multi-core architectures |
US8180763B2 (en) | 2009-05-29 | 2012-05-15 | Microsoft Corporation | Cache-friendly B-tree accelerator |
US8885434B2 (en) | 2009-06-17 | 2014-11-11 | Stmicroelectronics International N.V. | Retention of data during stand-by mode |
US8479032B2 (en) | 2009-06-26 | 2013-07-02 | Seagate Technology Llc | Systems, methods and devices for regulation or isolation of backup power in memory devices |
US8627117B2 (en) | 2009-06-26 | 2014-01-07 | Seagate Technology Llc | Device with power control feature involving backup power reservoir circuit |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8880835B2 (en) | 2009-07-07 | 2014-11-04 | International Business Machines Corporation | Adjusting location of tiered storage residence based on usage patterns |
US8516219B2 (en) | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
US7941696B2 (en) | 2009-08-11 | 2011-05-10 | Texas Memory Systems, Inc. | Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes |
US7818525B1 (en) | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
US20120117317A1 (en) | 2009-08-20 | 2012-05-10 | Rambus Inc. | Atomic memory device |
US8464106B2 (en) | 2009-08-24 | 2013-06-11 | Ocz Technology Group, Inc. | Computer system with backup function and method therefor |
US8077515B2 (en) * | 2009-08-25 | 2011-12-13 | Micron Technology, Inc. | Methods, devices, and systems for dealing with threshold voltage change in memory devices |
KR20120059506A (ko) | 2009-08-25 | 2012-06-08 | 샌디스크 아이엘 엘티디 | 플래시 저장 디바이스로의 데이터 복원 |
KR101689420B1 (ko) | 2009-09-09 | 2016-12-23 | 샌디스크 테크놀로지스 엘엘씨 | 저장 장치의 전력 감소 관리를 위한 장치, 시스템, 및 방법 |
US8478725B2 (en) | 2009-09-14 | 2013-07-02 | Vmware, Inc. | Method and system for performing live migration of persistent data of a virtual machine |
WO2011036228A1 (en) | 2009-09-23 | 2011-03-31 | Conor Maurice Ryan | A flash memory device and control method |
US8479061B2 (en) | 2009-09-24 | 2013-07-02 | AGIGA Tech | Solid state memory cartridge with wear indication |
EP2482194B1 (en) | 2009-09-25 | 2013-12-25 | Fujitsu Limited | Memory system and memory system control method |
US8171257B2 (en) | 2009-09-25 | 2012-05-01 | International Business Machines Corporation | Determining an end of valid log in a log of write records using a next pointer and a far ahead pointer |
JP5197544B2 (ja) | 2009-10-05 | 2013-05-15 | 株式会社東芝 | メモリシステム |
US8312349B2 (en) | 2009-10-27 | 2012-11-13 | Micron Technology, Inc. | Error detection/correction based memory management |
US8423866B2 (en) | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
CN101699406B (zh) | 2009-11-12 | 2011-12-14 | 威盛电子股份有限公司 | 数据储存系统与方法 |
US8335123B2 (en) | 2009-11-20 | 2012-12-18 | Sandisk Technologies Inc. | Power management of memory systems |
US8130553B2 (en) | 2009-12-02 | 2012-03-06 | Seagate Technology Llc | Systems and methods for low wear operation of solid state memory |
FR2953666B1 (fr) | 2009-12-09 | 2012-07-13 | Commissariat Energie Atomique | Procede de codage ldpc a redondance incrementale |
US8250380B2 (en) | 2009-12-17 | 2012-08-21 | Hitachi Global Storage Technologies Netherlands B.V. | Implementing secure erase for solid state drives |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
JP5788183B2 (ja) | 2010-02-17 | 2015-09-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム |
US8213255B2 (en) | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
US8355280B2 (en) | 2010-03-09 | 2013-01-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
US8458417B2 (en) | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
US8365041B2 (en) | 2010-03-17 | 2013-01-29 | Sandisk Enterprise Ip Llc | MLC self-raid flash data protection scheme |
US8164967B2 (en) | 2010-03-24 | 2012-04-24 | Apple Inc. | Systems and methods for refreshing non-volatile memory |
US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
JP2011233114A (ja) | 2010-04-30 | 2011-11-17 | Toshiba Corp | メモリシステム |
US8321481B2 (en) | 2010-05-13 | 2012-11-27 | Assa Abloy Ab | Method for incremental anti-tear garbage collection |
US20110283119A1 (en) | 2010-05-13 | 2011-11-17 | GCCA Inc. | System and Method for Providing Energy Efficient Cloud Computing |
EP2577830A2 (en) | 2010-06-01 | 2013-04-10 | Koninklijke Philips Electronics N.V. | System and method for sequential application of power to electrical loads |
EP2577470A4 (en) | 2010-06-04 | 2013-12-25 | Sandisk Entpr Ip Llc | CACHE ADMINISTRATION AND ACCELERATION IN STORAGE MEDIA |
WO2012001917A1 (ja) | 2010-06-29 | 2012-01-05 | パナソニック株式会社 | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 |
US20120011393A1 (en) | 2010-07-06 | 2012-01-12 | Roberts Richard B | Bios recovery |
US8737141B2 (en) | 2010-07-07 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US8737136B2 (en) | 2010-07-09 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining a read level of a memory cell based on cycle information |
KR101131560B1 (ko) | 2010-07-15 | 2012-04-04 | 주식회사 하이닉스반도체 | 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 |
US20120023144A1 (en) | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
US8503238B1 (en) | 2010-07-21 | 2013-08-06 | Sk Hynix Memory Solutions Inc. | Error recovery for flash memory |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
CN102385902A (zh) | 2010-09-01 | 2012-03-21 | 建兴电子科技股份有限公司 | 固态储存装置及其数据控制方法 |
JP2012058860A (ja) | 2010-09-06 | 2012-03-22 | Toshiba Corp | メモリシステム |
US8417878B2 (en) | 2010-09-20 | 2013-04-09 | Seagate Technology Llc | Selection of units for garbage collection in flash memory |
US8738846B2 (en) | 2010-10-15 | 2014-05-27 | Arkologic Limited | File system-aware solid-state storage management system |
US20120275466A1 (en) | 2010-10-21 | 2012-11-01 | Texas Instruments Incorporated | System and method for classifying packets |
US20140136927A1 (en) | 2010-10-27 | 2014-05-15 | Lsi Corporation | Adaptive ecc techniques for flash memory based data storage |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8909957B2 (en) | 2010-11-04 | 2014-12-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamic voltage adjustment to computer system memory |
KR101774496B1 (ko) | 2010-12-08 | 2017-09-05 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이를 포함하는 장치들, 및 이의 동작 방법 |
KR20120064462A (ko) | 2010-12-09 | 2012-06-19 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템 |
US8615681B2 (en) | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
US9038066B2 (en) | 2010-12-22 | 2015-05-19 | Vmware, Inc. | In-place snapshots of a virtual disk configured with sparse extent |
TWI446345B (zh) | 2010-12-31 | 2014-07-21 | Silicon Motion Inc | 用來進行區塊管理之方法以及記憶裝置及控制器 |
JP2012151676A (ja) | 2011-01-19 | 2012-08-09 | Jvc Kenwood Corp | 復号装置および復号方法 |
US8364888B2 (en) | 2011-02-03 | 2013-01-29 | Stec, Inc. | Erase-suspend system and method |
US9251087B2 (en) | 2011-02-11 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for virtual memory management |
US8966319B2 (en) | 2011-02-22 | 2015-02-24 | Apple Inc. | Obtaining debug information from a flash memory device |
US9047955B2 (en) | 2011-03-30 | 2015-06-02 | Stec, Inc. | Adjusting operating parameters for memory cells based on wordline address and cycle information |
US8874515B2 (en) | 2011-04-11 | 2014-10-28 | Sandisk Enterprise Ip Llc | Low level object version tracking using non-volatile memory write generations |
US8909888B2 (en) | 2011-04-29 | 2014-12-09 | Seagate Technology Llc | Secure erasure of data from a non-volatile memory |
US8713380B2 (en) | 2011-05-03 | 2014-04-29 | SanDisk Technologies, Inc. | Non-volatile memory and method having efficient on-chip block-copying with controlled error rate |
US8745318B2 (en) | 2011-06-28 | 2014-06-03 | Seagate Technology Llc | Parameter tracking for memory devices |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US9378138B2 (en) | 2011-06-29 | 2016-06-28 | International Business Machines Corporation | Conservative garbage collection and access protection |
US8645773B2 (en) | 2011-06-30 | 2014-02-04 | Seagate Technology Llc | Estimating temporal degradation of non-volatile solid-state memory |
US20130024735A1 (en) | 2011-07-19 | 2013-01-24 | Ocz Technology Group Inc. | Solid-state memory-based storage method and device with low error rate |
US8566667B2 (en) | 2011-07-29 | 2013-10-22 | Stec, Inc. | Low density parity check code decoding system and method |
US8692561B2 (en) | 2011-08-11 | 2014-04-08 | International Business Machines Corporation | Implementing chip to chip calibration within a TSV stack |
US20130047045A1 (en) | 2011-08-19 | 2013-02-21 | Stec, Inc. | Error indicator from ecc decoder |
US9047210B2 (en) | 2011-09-15 | 2015-06-02 | Sandisk Technologies Inc. | Data storage device and method to correct bit values using multiple read voltages |
CN103946814B (zh) | 2011-09-30 | 2017-06-06 | 英特尔公司 | 计算机系统中的非易失性随机存取存储器的自主初始化 |
US8516019B2 (en) | 2011-10-03 | 2013-08-20 | Oracle America, Inc. | Time-based object aging for generational garbage collectors |
US8825721B2 (en) | 2011-10-03 | 2014-09-02 | Oracle International Corporation | Time-based object aging for generational garbage collectors |
US8949517B2 (en) | 2011-10-05 | 2015-02-03 | Lsi Corporation | Self-journaling and hierarchical consistency for non-volatile storage |
US8711619B2 (en) | 2011-10-18 | 2014-04-29 | Seagate Technology Llc | Categorizing bit errors of solid-state, non-volatile memory |
US10359949B2 (en) | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
US8683297B2 (en) | 2011-11-02 | 2014-03-25 | Sandisk Technologies Inc. | Systems and methods of generating a replacement default read threshold |
US20140359381A1 (en) | 2011-11-02 | 2014-12-04 | The University Of Tokyo | Memory controller and data storage device |
US9053809B2 (en) | 2011-11-09 | 2015-06-09 | Apple Inc. | Data protection from write failures in nonvolatile memory |
US8456919B1 (en) | 2011-11-10 | 2013-06-04 | Sandisk Technologies Inc. | Method and apparatus to provide data including hard bit data and soft bit data to a rank modulation decoder |
US8954822B2 (en) * | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US8830746B2 (en) | 2011-12-28 | 2014-09-09 | Apple Inc. | Optimized threshold search in analog memory cells using separator pages of the same type as read pages |
JP2013142947A (ja) | 2012-01-10 | 2013-07-22 | Sony Corp | 記憶制御装置、記憶装置および記憶制御装置の制御方法 |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
WO2013112332A1 (en) | 2012-01-24 | 2013-08-01 | Apple Inc. | Enhanced programming and erasure schemes for analog memory cells |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9208871B2 (en) | 2012-01-30 | 2015-12-08 | HGST Netherlands B.V. | Implementing enhanced data read for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
US8964482B2 (en) | 2012-01-30 | 2015-02-24 | Freescale Semiconductor, Inc. | Dynamic healing of non-volatile memory cells |
US8832050B2 (en) | 2012-03-09 | 2014-09-09 | Hewlett-Packard Development Company, L.P. | Validation of distributed balanced trees |
US8817569B2 (en) | 2012-03-19 | 2014-08-26 | Sandisk Technologies Inc. | Immunity against temporary and short power drops in non-volatile memory |
US20130290611A1 (en) | 2012-03-23 | 2013-10-31 | Violin Memory Inc. | Power management in a flash memory |
US9311501B2 (en) | 2012-03-26 | 2016-04-12 | International Business Machines Corporation | Using different secure erase algorithms to erase chunks from a file associated with different security levels |
US8923066B1 (en) | 2012-04-09 | 2014-12-30 | Sk Hynix Memory Solutions Inc. | Storage of read thresholds for NAND flash storage using linear approximation |
US8990477B2 (en) | 2012-04-19 | 2015-03-24 | Sandisk Technologies Inc. | System and method for limiting fragmentation |
US20130297613A1 (en) | 2012-05-04 | 2013-11-07 | Monmouth University | Indexing based on key ranges |
US20130343131A1 (en) | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US8634267B2 (en) | 2012-05-14 | 2014-01-21 | Sandisk Technologies Inc. | Flash memory chip power management for data reliability and methods thereof |
US20130346672A1 (en) | 2012-06-22 | 2013-12-26 | Microsoft Corporation | Multi-Tiered Cache with Storage Medium Awareness |
KR101997079B1 (ko) | 2012-07-26 | 2019-07-08 | 삼성전자주식회사 | 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법 |
KR20140028481A (ko) | 2012-08-29 | 2014-03-10 | 에스케이하이닉스 주식회사 | 쓰기 전류를 측정할 수 있는 반도체 메모리 장치 및 쓰기 전류 측정 방법 |
US9329986B2 (en) | 2012-09-10 | 2016-05-03 | Sandisk Technologies Inc. | Peak current management in multi-die non-volatile memory devices |
US8938656B2 (en) | 2012-09-14 | 2015-01-20 | Sandisk Technologies Inc. | Data storage device with intermediate ECC stage |
US9128690B2 (en) | 2012-09-24 | 2015-09-08 | Texas Instruments Incorporated | Bus pin reduction and power management |
US9104328B2 (en) | 2012-10-31 | 2015-08-11 | Hitachi, Ltd. | Storage apparatus and method for controlling storage apparatus |
US8634248B1 (en) | 2012-11-09 | 2014-01-21 | Sandisk Technologies Inc. | On-device data analytics using NAND flash based intelligent memory |
US8817541B2 (en) | 2012-11-09 | 2014-08-26 | Sandisk Technologies Inc. | Data search using bloom filters and NAND based content addressable memory |
US8930778B2 (en) | 2012-11-15 | 2015-01-06 | Seagate Technology Llc | Read disturb effect determination |
US8949544B2 (en) | 2012-11-19 | 2015-02-03 | Advanced Micro Devices, Inc. | Bypassing a cache when handling memory requests |
US9135185B2 (en) | 2012-12-23 | 2015-09-15 | Advanced Micro Devices, Inc. | Die-stacked memory device providing data translation |
US8869008B2 (en) | 2013-01-17 | 2014-10-21 | Apple Inc. | Adaptation of analog memory cell read thresholds using partial ECC syndromes |
KR20140100330A (ko) | 2013-02-06 | 2014-08-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US9383795B2 (en) | 2013-03-10 | 2016-07-05 | Seagate Technololgy Llc | Storage device power failure infrastructure |
US9042181B2 (en) | 2013-03-15 | 2015-05-26 | SanDisk Technologies, Inc. | Periodic erase operation for a non-volatile medium |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9378830B2 (en) | 2013-07-16 | 2016-06-28 | Seagate Technology Llc | Partial reprogramming of solid-state non-volatile memory cells |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9531038B2 (en) | 2013-07-31 | 2016-12-27 | Dell Products, Lp | System and method of cell block voltage analytics to improve balancing effectiveness and identify self-discharge rate |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
-
2013
- 2013-08-09 US US13/963,444 patent/US9367246B2/en active Active
-
2014
- 2014-03-14 CN CN201480015991.9A patent/CN105264496B/zh active Active
- 2014-03-14 KR KR1020157024578A patent/KR101982381B1/ko active IP Right Grant
- 2014-03-14 WO PCT/US2014/029453 patent/WO2014144864A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080056005A1 (en) | 2006-08-30 | 2008-03-06 | Micron Technology, Inc. | Non-volatile memory cell read failure reduction |
US20100199138A1 (en) | 2009-02-02 | 2010-08-05 | Jun Rye Rho | Nonvolatile memory device and method of operating the same |
US20110179249A1 (en) | 2010-01-15 | 2011-07-21 | Silicon Motion, Inc. | Data Storage Device and Method for Handling Data Read Out from Memory |
Also Published As
Publication number | Publication date |
---|---|
WO2014144864A1 (en) | 2014-09-18 |
CN105264496B (zh) | 2018-06-22 |
KR20160009527A (ko) | 2016-01-26 |
CN105264496A (zh) | 2016-01-20 |
US9367246B2 (en) | 2016-06-14 |
US20140281044A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11024396B2 (en) | Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory | |
US20200042223A1 (en) | System and method for facilitating a high-density storage device with improved performance and endurance | |
US9135112B2 (en) | Policy for read operations addressing on-the-fly decoding failure in non-volatile memory | |
US9483347B2 (en) | Soft-decision compensation for flash channel variation | |
TWI612525B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
KR101979734B1 (ko) | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 | |
KR101617641B1 (ko) | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법 | |
US9384126B1 (en) | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems | |
US20150113203A1 (en) | Device and Method for Managing Die Groups | |
US9768808B2 (en) | Method for modifying device-specific variable error correction settings | |
US9870830B1 (en) | Optimal multilevel sensing for reading data from a storage medium | |
US10878920B2 (en) | Memory controller and memory system having the same | |
US20160299812A1 (en) | Device-Specific Variable Error Correction | |
US20130305008A1 (en) | Memory operation timing control method and memory system using the same | |
US11184033B2 (en) | Data storage device | |
US20160299844A1 (en) | Mapping Logical Groups of Data to Physical Locations In Memory | |
US20170091029A1 (en) | Data processing device and operating method thereof | |
TW201721422A (zh) | 資料儲存裝置及其操作方法 | |
US10911068B2 (en) | Error correction circuit and method of operating the same | |
US11373709B2 (en) | Memory system for performing a read operation and an operating method thereof | |
US10741261B1 (en) | Method and system for improving performance of a storage device using asynchronous independent plane read functionality | |
US9009576B1 (en) | Adaptive LLR based on syndrome weight | |
US11082068B2 (en) | Error correction circuit, memory controller having error correction circuit, and memory system having memory controller | |
KR101982381B1 (ko) | 소프트 정보에 대한 데이터 전송의 수행 최적화 | |
CN117437957A (zh) | 存储器系统、存储器装置和操作存储器装置的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |