KR20110033659A - 메모리 시스템 및 그것의 동작 방법 - Google Patents

메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20110033659A
KR20110033659A KR1020090091233A KR20090091233A KR20110033659A KR 20110033659 A KR20110033659 A KR 20110033659A KR 1020090091233 A KR1020090091233 A KR 1020090091233A KR 20090091233 A KR20090091233 A KR 20090091233A KR 20110033659 A KR20110033659 A KR 20110033659A
Authority
KR
South Korea
Prior art keywords
memory
page
data
physical pages
stored
Prior art date
Application number
KR1020090091233A
Other languages
English (en)
Other versions
KR101616100B1 (ko
Inventor
윤상용
한진만
박기태
곽준영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090091233A priority Critical patent/KR101616100B1/ko
Priority to US12/882,378 priority patent/US8355279B2/en
Priority to DE102010037579.9A priority patent/DE102010037579B4/de
Priority to CN201010297753.5A priority patent/CN102034548B/zh
Publication of KR20110033659A publication Critical patent/KR20110033659A/ko
Application granted granted Critical
Publication of KR101616100B1 publication Critical patent/KR101616100B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/10Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using multi-axial storage elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 메모리 시스템 및 그것의 동작 방법에 관한 것이다. 본 발명의 실시 예에 따른 메모리 시스템은 데이터를 저장하기 위한 플래시 메모리; 상기 플래시 메모리의 선택 페이지에 저장될 N개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및 파셜 인터리브 방식을 이용하여 상기 버퍼 메모리로부터 섹터 데이터를 입력받고, 상기 입력받은 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함한다. 상기 N개의 물리적 페이지는 M개의 페이지 그룹으로 구분되고, 상기 M개의 페이지 그룹 사이의 비트 에러율 불균형을 완화하기 위하여 상기 선택 페이지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정한다. 본 발명의 실시 예에 따른 메모리 시스템에 의하면, 비트 에러율 불균형을 완화할 수 있고, ECC 회로의 부담을 줄일 수 있으며, 버퍼 메모리의 크기도 줄일 수 있다.

Description

메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM AND OPERATION METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 인터리브 스킴을 사용하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리 장치와 EEPROM, FRAM, PRAM, MRAM, 플래시 메모리 등과 같은 불휘발성 메모리 장치로 구분할 수 있다. 휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터를 잃지만, 불휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다. 특히, 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 가지므로, 컴퓨터 시스템 등에서 저장 매체로 광범위하게 사용되고 있다.
플래시 메모리는 하나의 메모리 셀에 하나의 비트 데이터를 저장할 수도 있고, 두 비트 이상의 데이터를 저장할 수 있다. 일반적으로, 하나의 비트 데이터를 저장하는 메모리 셀을 싱글 레벨 셀(SLC; Single Level Cell)이라 하고, 두 비트 이상의 데이터를 저장하는 메모리 셀을 멀티 레벨 셀(MLC; Multi Level Cell)이라 한다. 싱글 레벨 셀은 문턱 전압에 따라 소거 상태와 프로그램 상태를 갖는다. 멀 티 레벨 셀은 문턱 전압에 따라 소거 상태와 복수의 프로그램 상태를 갖는다.
멀티 레벨 셀을 갖는 플래시 메모리(이하, MLC 플래시 메모리라 함)는 하나의 워드 라인을 공유하는 메모리 셀(이하, 선택 페이지라고 함)에 복수의 물리적 페이지가 저장될 수 있다. 여기에서, 각각의 물리적 페이지는 비트 에러율(BER; Bit Error Rate)이 다를 수 있다. 각각의 읽기 레벨마다 페일 비트의 개수가 동일하고 가정하면, N 비트 MLC 플래시 메모리에서 물리적 페이지별 비트 에러율(BER)은 1:2:22:…:2N-1일 수 있다. BER 불균형은 ECC 회로에 부담을 줄 수 있고, 플래시 메모리의 신뢰성을 떨어뜨릴 수 있다.
본 발명의 목적은 비트 에러율(BER) 불균형을 줄일 수 있는 메모리 시스템 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 메모리 시스템은 데이터를 저장하기 위한 불휘발성 메모리; 상기 불휘발성 메모리의 선택 페이지에 저장될 N개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및 상기 버퍼 메모리로부터 섹터 데이터를 입력받고, 상기 입력받은 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함한다. 여기에서, 상기 N개의 물리적 페이지는 M개의 페이지 그룹으로 구분되고, 상기 섹터 데이터는 각각의 페이지 그룹 내의 물리적 페이지들로부터 생성된다.
실시 예로서, N=4 이고 M=2일 수 있다. 상기 메모리 시스템은 상기 M개의 페이지 그룹 사이의 비트 에러율 불균형을 완화하기 위하여, 상기 선택 페이지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정할 수 있다. 상기 메모리 셀들의 문턱 전압 분포는 프로그램 검증 전압을 통해 조정될 수 있다.
다른 실시 예로서, 상기 불휘발성 메모리는 플래시 메모리일 수 있다. 상기 선택 페이지는 메인 영역과 스페어 영역으로 구분될 수 있다. 상기 패러티 비트는 상기 스페어 영역에 저장될 수 있다. 상기 ECC 회로는 상기 스페어 영역에 저장된 패러티 비트를 이용하여, 상기 선택 페이지에 저장된 데이터의 비트 에러를 검출 또는 정정할 수 있다.
본 발명의 다른 일면은 메모리 시스템의 동작 방법에 관한 것이다. 상기 메모리 시스템은 데이터를 저장하기 위한 불휘발성 메모리; 상기 불휘발성 메모리의 선택 페이지에 저장될 A개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함한다. 상기 메모리 시스템의 동작 방법은 상기 A개의 물리적 페이지를 B개의 페이지 그룹으로 구분하는 단계; 각각의 페이지 그룹 내의 C개의 물리적 페이지로부터 상기 섹터 데이터를 생성하는 단계; 및 상기 섹터 데이터로부터 패러티 비트를 생성하는 단계를 포함한다.
실시 예로서, A=4, B=2, C=2일 수 있다. 상기 메모리 시스템의 동작 방법은 상기 B개의 페이지 그룹 사이의 비트 에러율 불균형(이하, BER 불균형)을 완화하는 단계를 더 포함할 수 있다. 상기 BER 불균형을 완화하는 단계에서, 상기 선택 페이 지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정할 수 있다. 상기 메모리 셀들의 문턱 전압 분포는 프로그램 검증 전압을 통해 조정될 수 있다.
다른 실시 예로서, 상기 선택 페이지는 메인 영역과 스페어 영역으로 구분되고, 상기 메모리 시스템의 동작 방법은 상기 패러티 비트를 상기 스페어 영역에 저장하는 단계를 더 포함할 수 있다. 상기 메모리 시스템의 동작 방법은 상기 스페어 영역에 저장된 패러티 비트를 이용하여, 상기 선택 페이지에 저장된 데이터의 비트 에러를 검출 또는 정정하는 단계를 더 포함할 수 있다.
본 발명에 따른 메모리 시스템의 다른 일면은, 데이터를 저장하기 위한 플래시 메모리; 상기 플래시 메모리의 선택 페이지에 저장될 N개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및 파셜 인터리브 방식을 이용하여 상기 버퍼 메모리로부터 섹터 데이터를 입력받고, 상기 입력받은 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함한다.
실시 예로서, 상기 N개의 물리적 페이지는 M개의 페이지 그룹으로 구분되고, 상기 M개의 페이지 그룹 사이의 비트 에러율 불균형을 완화하기 위하여 상기 선택 페이지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정할 수 있다. 예로서, N=4이고, M=2일 수 있다.
본 발명의 실시 예에 따른 메모리 시스템에 의하면, 비트 에러율 불균형을 완화할 수 있고, ECC 회로의 부담을 줄일 수 있으며, 버퍼 메모리의 크기도 줄일 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(1000)은 플래시 메모리(1100) 및 메모리 컨트롤러(1200)를 포함한다.
플래시 메모리(1100) 및 메모리 컨트롤러(1200)는 하나의 저장 장치 내에 포함될 수 있다. 이러한 저장 장치에는 USB 메모리 및 메모리 카드(MMC, SD 카드, xD 카드, CF 카드, SIM 카드 등) 등과 같은 이동식 저장 장치도 포함된다. 또한, 이러한 저장 장치는 컴퓨터, 노트북, 디지털 카메라, 휴대폰, MP3 플레이어, PMP, 게임기 등과 같은 호스트(도시되지 않음)에 접속되어 사용될 수 있다.
플래시 메모리(1100)는 메모리 컨트롤러(1200)의 제어에 따라 소거, 쓰기 또는 읽기 동작을 수행할 수 있다. 플래시 메모리(1100)의 내부 구성 및 동작은 도 2를 참조하여 설명된다. 메모리 컨트롤러(1200)는 플래시 인터페이스(1210), 호스트 인터페이스(1220), ECC 회로(1230), 중앙처리장치(CPU, 1240), 그리고 버퍼 메모리(1250)를 포함한다.
플래시 인터페이스(1210)는 플래시 메모리(1100)와 커맨드, 어드레스, 데이터 등을 주고 받는데 사용된다. 즉, 플래시 인터페이스(1210)는 읽기 동작 시에는 읽기 커맨드 및 어드레스를 제공하고, 쓰기 동작 시에는 쓰기 커맨드, 어드레스, 그리고 데이터를 제공한다. 호스트 인터페이스(1220)는 호스트로부터 쓰기나 읽기 등의 요청을 받거나, 호스트의 요청에 응답하여 데이터를 제공하는 데 사용된다.
ECC 회로(1230)는 플래시 메모리(1100)로 전송되는 데이터를 이용하여, 패러티 비트 (또는 ECC 데이터)를 생성한다. 그렇게 생성된 패러티 비트는 플래시 메모리(1100)의 스페어 영역(spare area)에 저장된다. ECC 회로(1230)는 플래시 메모리(1100)로부터 읽혀진 데이터의 에러를 검출한다. 만약 검출된 에러가 정정 범위 내이면, ECC 회로(1230)는 검출된 에러를 정정한다. 한편, ECC 회로(1230)는 메모리 시스템(1000)에 따라, 메모리 컨트롤러(1200) 내에 위치하거나 밖에 위치할 수도 있다.
에러 검출 및 정정 기술들은 다양한 원인으로 인해 손상되는 데이터의 효율적인 복구를 제공한다. 예를 들면, 메모리에 데이터를 저장하는 과정에서 다양한 원인들로 인해서 데이터가 손상될 수 있고, 소스에서 목적지로 데이터가 전송되는 데이터 전송 채널의 불안(perturbation)에 의해서 데이터가 손상될 수 있다.
손상된 데이터를 검출하고 정정하기 위한 다양한 방법들이 제안되고 있다. 에러 검출 기술들은 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), BCH(Bose-Chaudhuri-Hocquenghem) 코드, CRC(Cyclic Redundancy Code) 코드 등이 있다. 이러한 코드들을 이용하여 손상된 데이터를 검출하고 정정하는 것이 가능하다.
반도체 메모리 장치가 사용되는 대부분의 응용 분야에 있어서, 데이터는 에러 정정 코드(error correcting code: ECC)라 불리는 값 (이하, 패러티 비트라 칭 함)과 함께 플래시 메모리 장치에 저장된다. 패러티 비트는 플래시 메모리의 읽기 동작 시에 발생하는 에러를 정정하기 위한 것이다. ECC 데이터를 이용하여 정정 가능한 비트 에러 수는 제한되어 있다. 읽기 동작 시에 생기는 비트 에러는 블록 대체(block replacement)와 같은 별도의 구제 과정 없이 에러 검출 및 정정 기술을 통해 정정될 수 있다.
중앙처리장치(1240)는 호스트의 요청에 응답하여 플래시 메모리(1100)의 읽기 또는 쓰기 동작 등을 제어하도록 구성된다. 버퍼 메모리(1250)는 플래시 메모리(1100)로부터 읽혀진 데이터 또는 호스트로부터 제공되는 데이터를 임시로 저장할 수 있다. 또한, 버퍼 메모리(1250)는 플래시 변환 레이어(Flash Translation Layer; FTL)와 같은 펌웨어를 구동하는 데 사용될 수도 있다. 플래시 변환 레이어(FTL)는 중앙처리장치(1240)에 의해 운용된다. 버퍼 메모리(1250)는 DRAM, SRAM 등으로 구현될 수 있다.
한편, 버퍼 메모리(1250)는 읽기 에러 정보를 관리하는 데 필요한 테이블 정보를 저장할 수 있다. 이 테이블 정보는 메타(meta) 데이터로, 중앙처리장치(1240) 제어 하에 플래시 메모리(1100)의 메타 영역에 저장된다. 이 테이블 정보는 파워 업 시에 메타 영역으로부터 버퍼 메모리(1250)로 복사된다. 비록 도면에는 도시되지 않았지만, 메모리 시스템(1000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(도시되지 않음) 등이 더 포함될 수 있다.
도 2는 도 1에 도시된 플래시 메모리를 예시적으로 보여주는 블록도이다. 플래시 메모리(1100)는 메모리 셀 어레이(1110), 데이터 입출력 회로(1120), 어드레 스 디코더(1130), 그리고 제어 로직 및 고전압 발생 회로(1140)를 포함한다.
메모리 셀 어레이(1110)는 복수의 메모리 블록(BLK1~BLKn)을 포함한다. 각각의 메모리 블록은 복수의 페이지(page)로 구성된다. 각각의 페이지(예를 들면, 1111)는 복수의 메모리 셀로 구성된다. 플래시 메모리(1100)는 메모리 블록 단위로 소거 동작을 수행하고, 페이지 단위로 쓰기 또는 읽기 동작을 수행한다.
각각의 메모리 셀은 한 비트의 데이터 또는 두 비트 이상의 데이터를 저장할 수 있다. 하나의 메모리 셀에 한 비트의 데이터를 저장할 수 있는 메모리 셀은 싱글 레벨 셀(SLC; Single Level Cell) 또는 싱글 비트 셀(single bit cell)이라 부른다. 하나의 메모리 셀에 두 비트 이상의 데이터를 저장할 수 있는 메모리 셀은 멀티 레벨 셀(MLC; Multi Level Cell) 또는 멀티 비트 셀(multi bit cell)이라 부른다.
싱글 레벨 셀(SLC)은 문턱 전압에 따라, 소거 상태(erase state) 또는 프로그램 상태(program state)를 가질 수 있다. 멀티 레벨 셀(MLC)은 문턱 전압에 따라, 소거 상태(erase state) 또는 복수의 프로그램 상태 중 하나를 가질 수 있다. 플래시 메모리(1100)는 싱글 레벨 셀과 멀티 레벨 셀을 동시에 가질 수도 있다.
데이터 입출력 회로(1120)는 복수의 비트 라인(BLs)을 통해 메모리 셀 어레이(1110)와 연결된다. 데이터 입출력 회로(1120)는 프로그램 동작 시에 외부로부터 데이터(DATA)를 입력받고, 선택 페이지(1111)에 프로그램 데이터(program data)를 전달한다. 데이터 입출력 회로(1120)는 읽기 동작 시에 선택 페이지(1111)로부터 데이터를 읽고, 외부로 데이터(DATA)를 출력한다.
어드레스 디코더(1130)는 복수의 워드 라인(WLs)을 통해 메모리 셀 어레이(1110)와 연결된다. 어드레스 디코더(1130)는 어드레스(ADDR)를 입력받고 메모리 블록 또는 페이지를 선택한다. 여기에서, 메모리 블록을 선택하기 위한 어드레스를 블록 어드레스(block address)라고, 페이지를 선택하기 위한 어드레스를 페이지 어드레스(page address)라 한다. 이하에서는 제 1 메모리 블록(BLK1)의 한 페이지(1111)가 선택된 것으로 가정한다.
제어 로직 및 고전압 발생 회로(1140)는 플래시 메모리(1100)의 프로그램, 읽기, 소거 등의 동작을 제어할 수 있다. 예를 들면, 제어 로직(1140)은 프로그램 동작 시에, 어드레스 디코더(1130)를 제어함으로 선택 워드 라인으로 프로그램 전압이 제공되도록 하고, 데이터 입출력 회로(1120)를 제어함으로 선택 페이지(1111)에 프로그램 데이터가 제공되도록 할 수 있다. 제어 로직(1140)은 메모리 컨트롤러(1200)로부터 제공되는 제어 신호(CTRL)에 따라, 프로그램, 읽기, 소거 등의 동작을 수행할 수 있다.
제어 로직 및 고전압 발생 회로(1140)는 쓰기, 읽기, 소거 동작 시에 워드 라인으로 제공될 프로그램 전압, 읽기 전압, 소거 전압 등의 바이어스 전압(bias voltage)을 발생할 수 있다. 한편, 제어 로직 및 고전압 발생 회로(1140)는 프로그램 전압, 읽기 전압, 소거 전압, 검증 전압 등의 바이어스 전압을 조절하기 위한 조절 회로(trim circuit)를 포함할 수 있다. 조절 회로(도시되지 않음)는 메모리 컨트롤러(도 1 참조, 1200)의 제어에 따라, 메모리 셀의 문턱 전압 변화를 조절하기 위한 것이다.
도 3은 도 2에 도시된 메모리 블록을 예시적으로 보여주는 회로도이다. 도 3을 참조하면, 메모리 블록(BLK1)은 셀 스트링 구조(cell string structure)로 되어 있다. 하나의 셀 스트링은 스트링 선택 라인(SSL; String Selection Line)에 연결되는 스트링 선택 트랜지스터, 복수의 워드 라인(WL0~WL31)에 연결되는 복수의 메모리 셀, 그리고 접지 선택 라인(GSL; Ground Selection Line)에 연결되는 접지 선택 트랜지스터를 포함한다. 스트링 선택 트랜지스터는 비트 라인(BL1~BLm)에 연결되고, 접지 선택 트랜지스터는 공통 소스 라인(CSL; Common Source Line)에 연결된다.
하나의 워드 라인(예를 들면, WLi)에는 복수의 메모리 셀이 연결될 수 있다. 선택 워드 라인(WLi)에 연결되고, 동시에 프로그램되는 메모리 셀들의 집합을 페이지(page)라 부른다. 도 3에서, 선택 페이지(1111)는 프로그램 동작이 동시에 수행된다. 한편, 하나의 페이지는 메인 데이터를 저장하기 위한 메인 영역(main area)과 패러티 비트와 같은 부가 데이터 등을 저장하기 위한 스페어 영역(spare area)으로 구분될 수 있다.
도 4 내지 도 7은 도 3에 도시된 메모리 셀의 문턱 전압 분포를 보여주는 다이어그램이다. 도 4 및 도 5는 하나의 메모리 셀에 2 비트 데이터가 저장되는 메모리 셀들의 문턱 전압 분포를 예시적으로 보여준다.
도 4에서, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀의 수(# of cells)를 나타낸다. 메모리 셀은 문턱 전압 분포에 따라 4개의 상태(E, P1, P2, P3) 중 하나를 가질 수 있다. 여기에서, E는 소거 상태(erase state)를 나타낸다. 그리고 P1, P2 및 P3은 프로그램 상태(program state)를 나타낸다.
4개의 문턱 전압 분포를 갖는 메모리 셀에는 2비트 데이터가 저장될 수 있다. 도 5를 참조하면, 선택 페이지(도 3 참조, 1111)에는 제 1 물리적 페이지 (또는 LSB) 및 제 2 물리적 페이지 (또는 MSB)가 저장될 수 있다. 예를 들어, E 상태를 갖는 메모리 셀은 (11)을 저장하고, P1 상태를 갖는 메모리 셀은 (10)을 저장하고, P2 상태를 갖는 메모리 셀은 (00)을 저장하며, P3 상태를 갖는 메모리 셀은 (01)을 저장할 수 있다.
한편, 플래시 메모리(1100)는 물리적 페이지마다 비트 에러율(BER; Bit Error Rate)에 차이가 날 수 있다. 물리적 페이지가 증가할 때마다 비트 에러율(BER)은 2배씩 증가할 수 있다. 예를 들어, 읽기 레벨마다 페일 비트(fail bit)의 개수가 동일하다고 가정하면, 제 1 물리적 페이지의 비트 에러율은 1이고, 제 2 물리적 페이지의 비트 에러율은 2일 수 있다. 만약, 하나의 메모리 셀에 N 비트의 데이터가 저장된다면, N개의 물리적 페이지별 비트 에러율은 1:2:22:…:2N-1이 된다.
도 6 및 도 7은 하나의 메모리 셀에 4 비트 데이터가 저장되는 메모리 셀의 문턱 전압 분포를 보여준다. 도 6을 참조하면, 메모리 셀은 문턱 전압 분포에 따라 16개의 상태(E, P1, P2,…, P15) 중 하나를 가질 수 있다. 여기에서, E는 소거 상태(erase state)를 나타낸다. 그리고 P1 내지 P15는 프로그램 상태(program state)를 나타낸다. 도 6에서, R1 내지 R15는 각 상태를 읽기 위한 읽기 전압 레벨이다.
16개의 문턱 전압 분포를 갖는 메모리 셀에는 4 비트 데이터가 저장될 수 있다. 도 7을 참조하면, 선택 페이지(도 3 참조, 1111)에는 제 1 내지 제 4 물리적 페이지가 저장될 수 있다. 예를 들어, E 상태를 갖는 메모리 셀은 (1111)을 저장하고, P1 상태를 갖는 메모리 셀은 (1110)을 저장하고, P2 상태를 갖는 메모리 셀은 (1100)을 저장하며, P15 상태를 갖는 메모리 셀은 (0111)을 저장할 수 있다.
한편, 읽기 레벨마다 페일 비트(fail bit)의 개수가 동일하다고 가정하면, 제 1 물리적 페이지의 비트 에러율은 1이고, 제 2 물리적 페이지의 비트 에러율은 2이고, 제 3 물리적 페이지의 비트 에러율은 4이며, 제 4 물리적 페이지의 비트 에러율은 8일 수 있다.
다시 도 1을 참조하면, 메모리 시스템(1000)은 플래시 메모리(1100)의 비트 에러를 정정하기 위한 ECC 회로(1230)를 포함할 수 있다. ECC 회로(1230)는 비트 에러를 검출 및 정정함으로 플래시 메모리(1100)의 신뢰성(reliability)을 향상시킬 수 있다. 플래시 메모리(1100)가 하나의 메모리 셀에 N 비트 데이터를 저장하는 경우에, ECC 회로(1230)의 용량은 비트 에러율이 가장 나쁜 N번째 물리적 페이지에 맞춰지게 된다. 예를 들어, 하나의 메모리 셀에 4 비트 데이터를 저장하는 경우에, ECC 회로(1230)의 용량(capacity)은 제 4 물리적 페이지에 맞춰지게 된다.
즉, 각 물리적 페이지의 BER 불균형은 ECC 회로(1230)의 용량을 지나치게 높이는 결과를 초래할 수 있다. 본 발명의 실시 예에 따른 메모리 시스템(1000)은 각 물리적 페이지의 BER 불균형을 완화함으로, ECC 회로(1230)의 부담을 줄일 수 있다. 이하에서는 각 물리적 페이지의 BER 불균형을 완화하고, ECC 회로(1230)의 부담을 줄일 수 있는 다양한 방법들이 실시 예로서 설명될 것이다. 설명의 편의를 위해, 하나의 메모리 셀에 4 비트 데이터를 저장하는 메모리 시스템이 예로서 설명될 것이다.
Ⅰ. 문턱 전압 분포를 조정하는 방법
도 8 내지 도 10은 문턱 전압 분포를 조정함으로, 플래시 메모리의 BER 불균형을 완화하는 방법을 설명하기 위한 다이어그램이다. 도 8을 참조하면, 메모리 셀은 문턱 전압 분포에 따라 16개의 상태 중 어느 하나를 가질 수 있다. 그리고 메모리 셀에는 4 비트 데이터가 저장될 수 있다. 앞에서 설명한 바와 같이, 각 읽기 레벨별 페일 비트 수가 동일하다고 가정하면, 제 1 내지 제 4 물리적 페이지의 비트 에러율은 1:2:4:8이 된다.
본 발명의 실시 예에 따른 메모리 시스템(도 1 참조, 1000)은 각 페이지의 BER 불균형을 완화하기 위해, 문턱 전압 분포를 조정한다. 예를 들면, 메모리 시스템(1000)은 제 1 및 제 2 물리적 페이지의 비트 에러율을 높이는 대신에, 제 3 및 제 4 물리적 페이지의 비트 에러율을 낮춤으로, BER 불균형을 완화할 수 있다.
도 8을 참조하면, 제 1 물리적 페이지를 읽기 위해서, 플래시 메모리(도 1 참조, 1100)는 선택 페이지(1111)에 제 8 읽기 전압(R8)을 제공한다. 도 7을 참조하면, 제 8 읽기 전압(R8)이 제공될 때, 플래시 메모리(1100)는 1의 비트 에러율(BER)을 갖는다. BER 불균형을 완화하기 위해, 메모리 시스템(1000)은 제 8 읽기 전압(R8)이 제공될 때 8의 비트 에러율(BER)을 갖도록 문턱 전압을 조정한다.
도 9는 제 8 읽기 전압(R8)이 제공될 때, 8의 비트 에러율(BER)을 갖도록 검증 전압(F7, F8)을 조정하는 예를 보여준다. 제 7 및 제 8 프로그램 상태(P7, P8)를 갖는 메모리 셀을 검증하기 위해서는 제 7 및 제 8 검증 전압(F7, F8)이 제공된다. 이때 메모리 셀은 각각 제 7 및 제 8 프로그램 상태(P7, P8)를 갖도록 프로그램된다. 메모리 셀이 제 7 및 제 8 프로그램 상태(P7, P8)를 가질 때, 제 8 읽기 전압(R8)이 제공되면 1의 비트 에러율(BER)을 가질 것이다.
그러나 메모리 셀이 제 7' 및 제 8' 프로그램 상태(P7', P8')를 갖도록 검증 전압을 F7' 및 F8'로 조정할 때, 제 1 물리적 페이지의 비트 에러율(BER)은 증가할 것이다. 제 1 물리적 페이지의 비트 에러율(BER)을 증가하면, 다른 물리적 페이지의 비트 에러율(BER)은 상대적으로 줄어들 수 있다. 도 9는 제 7 및 제 8 검증 전압이 A만큼 조정된 것을 보여준다. 이때, 제 1 물리적 페이지의 비트 에러율은 8로 조정될 것이다.
다시 도 8을 참조하면, 제 2 물리적 페이지의 데이터를 읽기 위해서, 플래시 메모리(1100)는 제 4 및 제 12 읽기 전압(R4, R12)을 발생한다. 도 7을 참조하면, 제 4 및 제 12 읽기 전압(R4, R12)이 제공될 때, 플래시 메모리(1100)는 2의 비트 에러율(BER)을 갖는다. BER 불균형을 완화하기 위해, 메모리 시스템(1000)은 제 4 및 제 12 읽기 전압(R4, R12)이 제공될 때 4의 비트 에러율(BER)을 갖도록 문턱 전압을 조정한다.
도 10은 제 4 및 제 12 읽기 전압(R4, R12)이 제공될 때, 4의 비트 에러율(BER)을 갖도록 검증 전압(F3, F4, F11, F12)을 조정하는 예를 보여준다. 제 3 및 제 4 프로그램 상태(P3, P4)를 갖는 메모리 셀을 검증하기 위해서는 제 3 및 제 4 검증 전압(F3, F4)이 제공된다. 이때 메모리 셀은 각각 제 3 및 제 4 프로그램 상태(P3, P4)를 갖도록 프로그램된다.
한편, 제 11 및 제 12 프로그램 상태(P11, P12)를 갖는 메모리 셀을 검증하기 위해서는 제 11 및 제 12 검증 전압(F11, F12)이 제공된다. 이때 메모리 셀은 각각 제 11 및 제 12 프로그램 상태(P11, P12)를 갖도록 프로그램된다. 제 4 읽기 전압(R4) 또는 제 12 읽기 전압(R12)이 제공되면, 2의 비트 에러율(BER)을 가질 것이다.
그러나 메모리 셀이 제 3' 및 제 4' 프로그램 상태(P3', P4')를 갖도록 검증 전압을 F3' 및 F4'로 조정할 때, 제 2 물리적 페이지의 비트 에러율(BER)은 증가할 것이다. 제 2 페이지의 비트 에러율(BER)을 증가하면, 제 3 및 제 4 물리적 페이지의 비트 에러율(BER)은 상대적으로 줄어든다. 도 10은 F3 및 F4 검증 전압이 B1만큼, 그리고 F11 및 F12 검증 전압이 B2만큼 조정된 것을 보여준다. 이때, 제 2 물리적 페이지의 비트 에러율은 4로 조정될 것이다.
본 발명의 실시 예에 따른 메모리 시스템은 하위 물리적 페이지(예를 들면, 제 1 및 제 2 페이지)의 비트 에러율을 높임으로, 상위 물리적 페이지(예를 들면, 제 3 및 제 4 페이지)의 비트 에러율을 상대적으로 낮출 수 있다. 본 발명에 의하면, 문턱 전압 분포를 조정함으로 BER 불균형을 완화할 수 있다. 본 발명의 실시 예에 따른 메모리 시스템(도 1 참조, 1000)은 문턱 전압 분포를 조정하기 위한 조절 회로를 플래시 메모리(1100) 또는 메모리 컨트롤러(1200) 내에 포함할 수 있다.
Ⅱ. 인터리브 스킴을 사용하는 방법
도 11은 인터리브 스킴을 사용하여 BER 불균형을 완화하는 방법을 설명하기 위한 블록도이다. 도 11을 참조하면, 메모리 시스템(1001)은 플래시 메모리(1100), ECC 회로(1231), 그리고 버퍼 메모리(1251)를 포함한다. 메모리 시스템(1001)은 인터리브 스킴(interleave scheme)을 사용하여, BER 불균형을 완화한다.
도 11을 참조하면, 플래시 메모리(1100)는 복수의 페이지를 가지며, 선택 페이지(1111)에 4개의 물리적 페이지를 저장할 수 있다. 한편, 각각의 페이지(예를 들면, 1111)는 메인 영역과 스페어 영역으로 구분될 수 있다. 메인 영역에는 메인 데이터가 저장되고, 스페어 영역에는 부가 데이터가 저장된다. 부가 데이터에는 ECC를 위한 패러티 비트들이 포함될 수 있다.
버퍼 메모리(1251)는 플래시 메모리(1100)에 저장될 데이터를 임시로 저장할 수 있다. 예를 들면, 버퍼 메모리(1251)는 플래시 메모리(1100)의 선택 페이지(1111)에 저장될 4개의 물리적 페이지를 저장할 수 있다. 또한, 버퍼 메모리(1251)는 선택 페이지(1111)로부터 읽은 4개의 물리적 페이지를 저장할 수 있다. 도 11에서, 제 1 내지 제 4 페이지는 플래시 메모리(1100)의 선택 페이지(1111)에 실제로 저장될 물리적 페이지를 의미한다.
도 12를 참조하면, 버퍼 메모리(1251)는 호스트(도 1 참조)로부터 제 1 내지 제 8 섹터(SCT1~SCT8)를 순서대로 입력 받는다. 각 섹터의 크기가 2KB라고 가정하면, 버퍼 메모리(1251)는 16KB의 데이터를 입력 받을 것이다. 제 1 섹터(SCT1)의 2KB 데이터는 선택 페이지(도 11 참조, 1111)의 제 1 내지 제 4 물리적 페이지에 각각 512B씩 저장될 것이다. 마찬가지로, 제 2 내지 제 8 섹터(SCT2~SCT8)의 데이터도 각각 제 1 내지 제 4 물리적 페이지에 걸쳐 저장될 것이다.
다시 도 11을 참조하면, ECC 회로(1231)는 섹터 단위로 에러 검출 및 정정 동작(이하, ECC 동작이라 함)을 수행할 수 있다. ECC 회로(1231)는 인터리브 스킴을 이용하여 4개의 물리적 페이지에 대한 ECC 동작을 수행할 수 있다. 여기에서, 인터리브 스킴이란 여러 개의 물리적 페이지에 걸쳐 섹터 데이터를 생성하고, 섹터 데이터에 대해 ECC 동작을 수행하는 방식을 의미한다. 도 11을 참조하면, 제 1 내지 제 8 섹터(SCT1~SCT8) 각각은 제 1 내지 제 4 물리적 페이지에 걸쳐 구성된다. 각각의 섹터 데이터(S1~S8)는 ECC 회로(1231)로 제공된다.
ECC 회로(1231)는 제 1 내지 제 8 섹터 데이터(S1~S8)를 입력받고, 패러티 비트(Parity Bits)를 생성한다. 패러티 비트는 플래시 메모리(1100)의 선택 페이지(1111)에 있는 스페어 영역에 저장된다. ECC 회로(1231)는 스페어 영역에 저장되어 있는 패러티 비트를 이용하여, 메인 영역에 저장되어 있는 데이터의 에러 위치를 검출하거나 검출된 에러를 정정할 수 있다.
만약, 인터리브 스킴을 사용하지 않고 패러티 비트를 생성하면, 제 1 내지 제 4 물리적 페이지의 비트 에러율(BER)은 1:2:4:8가 될 것이다. 이때 ECC 회로(도 1 참조, 1230)의 용량은 비트 에러율이 가장 나쁜 제 4 물리적 페이지에 맞춰지게 될 것이다. 이는 ECC 회로(도 1 참조, 1230)의 용량을 지나치게 높이는 결과를 초래할 수 있다.
인터리브 스킴을 이용한 메모리 시스템(1001)에 의하면, 각 섹터의 비트 에 러율(BER)은 평균값을 갖게 된다. 즉, 제 1 내지 제 4 물리적 페이지에 걸쳐 패러티 비트를 생성하기 때문에, 각 섹터의 비트 에러율은 (1+2+4+8)/4, 즉 3.75가 된다. 이것은 ECC 회로(1231)를 제 4 물리적 페이지의 비트 에러율인 8에 맞추지 않고, 평균값인 3.75에 맞추어 설계할 수 있음을 의미한다.
본 발명의 실시 예에 따른 메모리 시스템(1001)은 인터리브 스킴(interleave scheme)을 이용함으로, BER 불균형을 완화할 수 있을 뿐만 아니라, ECC 회로(1231)의 부담을 줄일 수 있다.
Ⅲ. 하이브리드 스킴을 이용하는 방법
도 13 내지 도 16은 하이브리드 스킴을 이용하여 BER 불균형을 완화하는 방법을 설명하기 위한 도면이다. 도 13은 파셜 인터리브 스킴(partial interleave scheme)을 사용하는 메모리 시스템(1002)을 예시적으로 보여준다. 그리고 도 15는 파셜 인터리브 스킴을 사용하는 메모리 시스템(1002)의 문턱 전압 분포를 조정하는 방법을 예시적으로 보여준다.
본 발명의 실시 예에 따른 메모리 시스템(1002)은 앞에서 설명한, 인터리브 스킴을 사용하는 방법(도 11 참조)과 문턱 전압 분포를 조정하는 방법(도 8 참조)을 혼합한 하이브리드 스킴(hybrid scheme)을 사용한다. 하이브리드 스킴을 사용한 메모리 시스템(1002)에 의하면, BER 불균형을 완화할 수 있고, ECC 회로의 부담을 줄일 수 있으며, 버퍼 메모리의 크기도 줄일 수 있다.
도 13을 참조하면, 메모리 시스템(1002)은 플래시 메모리(1100), ECC 회 로(1232), 그리고 버퍼 메모리(1252)를 포함한다. 플래시 메모리(1100)는 복수의 페이지를 가지며, 선택 페이지(1111)에 4개의 물리적 페이지를 저장할 수 있다. 선택 페이지(1111)의 메인 영역에는 메인 데이터가 저장되고, 스페어 영역에는 패러티 비트가 저장될 수 있다.
버퍼 메모리(1252)는 플래시 메모리(1100)의 데이터를 임시로 저장할 수 있다. 예를 들면, 버퍼 메모리(1252)는 선택 페이지(1111)에 저장될 4 물리적 페이지를 저장할 수 있다. 또한, 버퍼 메모리(1252)는 선택 페이지(1111)로부터 읽은 4 물리적 페이지를 저장할 수 있다.
도 14를 참조하면, 버퍼 메모리(1252)는 호스트(도 1 참조)로부터 제 1 내지 제 8 섹터(SCT1~SCT8)를 순서대로 입력 받는다. 각 섹터의 크기가 2KB라고 가정하면, 버퍼 메모리(1252)는 16KB의 데이터를 입력 받을 것이다. 제 1 내지 제 4 섹터(SCT1~SCT4) 각각의 2KB 데이터는 선택 페이지(도 13 참조, 1111)의 제 1 및 제 2 물리적 페이지에 각각 1KB씩 저장될 것이다. 그리고 제 5 내지 제 8 섹터(SCT5~SCT8) 각각의 2KB 데이터는 선택 페이지(도 13 참조, 1111)의 제 3 및 제 4 물리적 페이지에 각각 1KB씩 저장될 것이다
다시 도 13을 참조하면, ECC 회로(1232)는 섹터 단위(sector unit)로 ECC 동작을 수행할 수 있다. ECC 회로(1232)는 파셜 인터리브 스킴을 이용하여 일부 물리적 페이지에 대한 ECC 동작을 수행할 수 있다. 여기에서, 파셜 인터리브 스킴(parital interleave scheme)이란 전체 물리적 페이지(예를 들면, 제 1 내지 제 4 물리적 페이지_중에서 일부의 물리적 페이지(예를 들면, 제 1 및 제 2 물리적 페 이지, 또는 제 3 및 제 4 물리적 페이지)에 대해 ECC 동작을 수행하는 방식을 의미한다. 도 13을 참조하면, 제 1 내지 제 4 섹터(SCT1~SCT4) 각각은 제 1 및 제 2 물리적 페이지에 걸쳐 하나의 섹터 데이터(sector data)를 구성한다. 그리고 제 5 내지 제 8 섹터(SCT5~SCT8) 각각은 제 3 및 제 4 물리적 페이지에 걸쳐 하나의 섹터 데이터(sector data)를 구성한다.
ECC 회로(1232)는 제 1 내지 제 4 섹터 데이터(S1~S4)를 입력받고, 제 1 패러티 비트(Parity Bits)를 생성한다. 제 1 패러티 비트는 플래시 메모리(1100)의 선택 페이지(1111)에 있는 스페어 영역에 저장된다. 제 1 및 제 2 물리적 페이지 및 제 1 패러티 비트가 선택 페이지(1111)에 저장된 다음에, ECC 회로(1232)는 제 5 내지 제 8 섹터 데이터(S5~S8)를 입력받고, 제 2 패러티 비트(Parity Bits)를 생성한다. 제 3 및 제 4 물리적 페이지 및 제 2 패러티 비트가 선택 페이지(1111)에 저장된다
ECC 회로(1232)는 스페어 영역에 저장되어 있는 제 1 패러티 비트를 이용하여, 제 1 및 제 2 물리적 페이지의 에러 위치를 검출하거나 검출된 에러를 정정할 수 있다. 그리고 ECC 회로(1232)는 제 2 패러티 비트를 이용하여, 제 3 및 제 4 물리적 페이지의 에러 위치를 검출하거나 검출된 에러를 정정할 수 있다.
파셜 인터리브 스킴을 이용하면, 메모리 시스템(1002)은 BER 불균형을 완화할 수 있다. 인터리브 스킴을 사용하지 않는 메모리 시스템의 경우에는, 제 1 내지 제 4 물리적 페이지의 비트 에러율이 1:2:4:8이다. 이것과 비교해 보면, 파셜 인터리브 스킴을 사용하는 메모리 시스템(1002)은 제 1 및 제 2 물리적 페이지의 비트 에러율(BER)을 (1+2)/2로 완화할 수 있고, 제 3 및 제 4 물리적 페이지의 비트 에러율(BER)을 (4+8)/2로 완화할 수 있다. 이때, 제 1, 2 물리적 페이지 및 제 3, 4 물리적 페이지 사이의 비트 에러율은 1:4이다.
도 15는 파셜 인터리브 스킴을 사용하는 메모리 시스템(1002)에서, 문턱 전압 분포를 조정함으로, 제 1, 2 물리적 페이지 및 제 3, 4 물리적 페이지 사이의 BER 불균형을 완화하는 방법을 예시적으로 보여주는 다이어그램이다. 도 15를 참조하면, 메모리 셀은 문턱 전압 분포에 따라 16개의 상태 중 어느 하나를 가질 수 있고, 각각의 메모리 셀에는 4 비트 데이터가 저장될 수 있다. 앞에서 설명한 바와 같이, 각 읽기 레벨별 에러 비트 수가 동일하다고 가정하면, 제 1, 2 물리적 페이지 및 제 3, 4 물리적 페이지 사이의 비트 에러율은 1:4이다.
메모리 시스템(1002)은 제 1, 2 물리적 페이지 및 제 3, 4 물리적 페이지 사이의 BER 불균형을 완화하기 위하여, 문턱 전압 분포를 조정하는 방법을 사용한다. 도 15를 참조하면, 제 1, 2 물리적 페이지 및 제 3, 4 물리적 페이지 사이의 BER 불균형을 완화하기 위하여, 메모리 시스템(1002)은 제 4, 8, 12 읽기 전압(R4, R8, R12)이 제공될 때, 4의 비트 에러율(BER)을 갖도록 문턱 전압을 조정한다. 그리고 메모리 시스템(1002)은 나머지 읽기 전압이 제공될 때, 1의 비트 에러율(BER)을 갖도록 문턱 전압을 조정한다.
도 16은 도 13에 도시된 메모리 시스템의 동작 방법을 설명하기 위한 순서도이다. 본 발명의 실시 예에 따른 메모리 시스템(1002)은 N(예를 들면, 4)개의 물리적 페이지를 M(예를 들면, 2)개의 페이지 그룹으로 나눈다(S110). 메모리 시스 템(1002)은 해당 페이지 그룹 안에서 인터리브 스킴 (즉, 파셜 인터리브 스킴)을 사용하여 섹터 데이터를 생성한다(S120). 그리고 메모리 시스템(1002)은 문턱 전압 분포를 조정함으로 M개의 페이지 그룹 사이의 BER 불균형을 완화한다(S130). 하이브리드 스킴을 이용한 메모리 시스템(1002)에 의하면, BER 불균형을 완화할 수 있고, ECC 회로의 부담을 줄일 수 있으며, 버퍼 메모리의 크기도 줄일 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은 여러 가지 제품에 적용 또는 응용될 수 있다. 본 발명의 실시 예에 따른 메모리 시스템은 퍼스널 컴퓨터, 디지털 카메라, 캠코더, 휴대 전화, MP3, PMP, PSP, PDA 등과 같은 전자 장치들뿐만 아니라, 메모리 카드, USB 메모리, 솔리드 스테이트 드라이브(Solid State Drive, 이하 SSD라 함) 등과 같은 저장 장치로 구현될 수 있다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 메모리 카드를 보여주는 블록도이다. 도 17은 메모리 카드 중에서 SD 카드의 외형을 보여준다. 도 17을 참조하면, SD 카드는 9개의 핀으로 구성되어 있다. SD 카드는 4개의 데이터 핀(예를 들면, 1, 7, 8, 9), 한 개의 커맨드 핀(예를 들면, 2), 한 개의 클록 핀(예를 들면, 5), 3개의 전원 핀(예를 들면, 3, 4, 6)을 갖는다.
여기에서, 커맨드 핀(핀 번호 2)을 통해 커맨드(command) 및 응답 신호(response)가 전달된다. 일반적으로, 커맨드(command)는 호스트로부터 메모리 카드로 전송되고, 응답 신호(response)는 메모리 카드로부터 호스트로 전송된다.
도 18은 도 17에 도시된 메모리 카드의 내부 구성 및 호스트와의 연결 관계를 보여주는 블록도이다. 메모리 카드 시스템(2000)은 호스트(2100)와 메모리 카 드(2200)를 구비한다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속 유닛(2120)을 포함한다. 메모리 카드(2200)는 카드 접속 유닛(2210), 카드 컨트롤러(2220), 그리고 메모리(2230)를 포함한다.
호스트 접속 유닛(2120) 및 카드 접속 유닛(2210)은 복수의 핀으로 구성된다. 이들 핀에는 커맨드 핀, 데이터 핀, 클록 핀, 전원 핀 등이 포함되어 있다. 핀의 수는 메모리 카드(2200)의 종류에 따라 달라진다. 예로서, SD 카드는 9개의 핀을 갖는다.
호스트(2100)는 메모리 카드(2200)에 데이터를 쓰거나, 메모리 카드(2200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(2110)는 커맨드(예를 들면, 쓰기 커맨드), 호스트(2100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(DAT)를 호스트 접속 유닛(2120)을 통해 메모리 카드(2200)로 전송한다.
카드 컨트롤러(2220)는 카드 접속 유닛(2210)을 통해 수신된 쓰기 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클록 발생기(도시되지 않음)에서 발생한 클록 신호에 동기하여 데이터를 메모리(2230)에 저장한다. 메모리(2230)는 호스트(2100)로부터 전송된 데이터를 저장한다. 예를 들어, 호스트(2100)가 디지털 카메라인 경우에는 영상 데이터를 저장한다.
도 18에서, 카드 컨트롤러(2220)는 버퍼 메모리와 ECC 회로를 포함할 수 있다. 그리고 메모리(2230)는 플래시 메모리일 수 있다. 도 18에 도시된 메모리 카드(2200)는 앞에서 설명한 바와 같이, 문턱 전압 조정을 사용하는 방법(도 8 참조 ), 인터리브 스킴을 사용하는 방법(도 11 참조), 또는 하이브리드 스킴을 사용하는 방법(도 13 참조) 등을 이용하여 BER 불균형을 완화할 수 있다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 솔리드 스테이트 드라이브(SSD)로 구현한 예를 보여주는 블록도이다. 도 19를 참조하면, SSD 시스템(3000)은 호스트(3100)와 SSD(3200)를 포함한다. SSD(3200)는 신호 커넥터(signal connector, 3231)를 통해 호스트(3100)와 신호를 주고 받으며, 전원 커넥터(power connector, 3221)를 통해 전원을 입력받는다. SSD(3200)는 복수의 불휘발성 메모리 장치(3201~320n), SSD 컨트롤러(3210), 그리고 보조 전원 장치(3220)를 포함한다.
복수의 불휘발성 메모리 장치(3201~320n)는 SSD(3200)의 저장 매체로서 사용된다. 복수의 불휘발성 메모리 장치(3201~320n)는 대용량의 저장 능력을 가지는 플래시 메모리 장치로 구현될 수 있다. SSD(3200)는 주로 플래시 메모리(Flash memory)를 사용하고 있으나, 플래시 메모리 이외에도 PRAM, MRAM, ReRAM, FRAM 등의 불휘발성 메모리 장치가 사용될 수도 있다.
복수의 불휘발성 메모리 장치(3201~320n)는 복수의 채널(CH1~CHn)을 통해 SSD 컨트롤러(3210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 메모리 장치가 연결될 수 있다. 하나의 채널에 연결되는 메모리 장치들은 동일한 데이터 버스에 연결될 수 있다.
SSD 컨트롤러(3210)는 신호 커넥터(3231)를 통해 호스트(3100)와 신호(SGL)를 주고 받는다. 여기에서, 신호(SGL)에는 커맨드, 어드레스, 데이터 등이 포함될 수 있다. SSD 컨트롤러(3210)는 호스트(3100)의 커맨드에 따라 해당 메모리 장치에 데이터를 쓰거나 해당 메모리 장치로부터 데이터를 읽어낸다. SSD 컨트롤러(3210)의 내부 구성은 도 20을 참조하여 상세하게 설명된다.
보조 전원 장치(3220)는 전원 커넥터(3221)를 통해 호스트(3100)와 연결된다. 보조 전원 장치(3220)는 호스트(3100)로부터 전원(PWR)을 입력받고, 충전할 수 있다. 한편, 보조 전원 장치(3220)는 SSD(3200) 내에 위치할 수도 있고, SSD(3200) 밖에 위치할 수도 있다. 예를 들면, 보조 전원 장치(3220)는 메인 보드에 위치하며, SSD(3200)에 보조 전원을 제공할 수도 있다.
도 20은 도 19에 도시된 SSD 컨트롤러(3210)의 구성을 예시적으로 보여주는 블록도이다. 도 20을 참조하면, SSD 컨트롤러(3210)는 NVM 인터페이스(3211), 호스트 인터페이스(3212), ECC 회로(3213), 중앙 처리 장치(CPU, 3214), 그리고 버퍼 메모리(3215)를 포함한다.
NVM 인터페이스(3211)는 버퍼 메모리(3215)로부터 전달된 데이터를 각각의 채널들(CH1~CHn)로 스캐터링(Scattering)한다. 그리고 NVM 인터페이스(3211)는 불휘발성 메모리 장치(3201~320n)로부터 읽은 데이터를 버퍼 메모리(3215)로 전달한다. 여기에서, NVM 인터페이스(3211)는 낸드 플래시 메모리의 인터페이스 방식을 사용할 수 있다. 즉, SSD 컨트롤러(3210)는 낸드 플래시 메모리 인터페이스 방식에 따라 프로그램, 읽기, 또는 소거 동작 등을 수행할 수 있다.
호스트 인터페이스(3212)는 호스트(3100)의 프로토콜에 대응하여 SSD(3200)와의 인터페이싱을 제공한다. 호스트 인터페이스(3212)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등을 이용하여 호스트(3100)와 통신할 수 있다. 또한, 호스트 인터페이스(3212)는 호스트(3100)가 SSD(3200)를 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 수행할 수 있다.
ECC 회로(3213)는 불휘발성 메모리(3201~320n)로 전송되는 데이터를 이용하여, 패러티 비트를 생성한다. 그렇게 생성된 패러티 비트는 불휘발성 메모리(3201~320n)의 스페어 영역(spare area)에 저장된다. ECC 회로(3213)는 불휘발성 메모리(3201~320n)로부터 읽혀진 데이터의 에러를 검출한다. 만약 검출된 에러가 정정 범위 내이면, ECC 회로(3213)는 검출된 에러를 정정한다.
중앙 처리 장치(3214)는 호스트(3100, 도 19 참조)로부터 입력된 신호(SGL)를 분석하고 처리한다. 중앙 처리 장치(3214)는 호스트 인터페이스(3212)나 NVM 인터페이스(3211)를 통해 호스트(3100)나 불휘발성 메모리(3201~320n)를 제어한다. 중앙 처리 장치(3214)는 SSD(3200)을 구동하기 위한 펌웨어에 따라서 불휘발성 메모리 장치(3201~320n)의 동작을 제어한다.
버퍼 메모리(3215)는 호스트(3100)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치로부터 읽은 데이터를 임시로 저장한다. 또한, 버퍼 메모리(3215)는 불휘발성 메모리 장치(3201~320n)에 저장될 메타 데이터나 캐시 데이터를 저장할 수 있다. 서든 파워 오프 동작 시에, 버퍼 메모리(3215)에 저장된 메타 데이터나 캐시 데이터는 불휘발성 메모리 장치(3201~320n)에 저장된다. 버퍼 메모 리(3215)에는 DRAM, SRAM 등이 포함될 수 있다.
도 19 및 도 20에 도시된 솔리드 스테이트 드라이브(3000)는 앞에서 설명한 바와 같이, 문턱 전압 조정을 사용하는 방법(도 8 참조), 인터리브 스킴을 사용하는 방법(도 11 참조), 또는 하이브리드 스킴을 사용하는 방법(도 13 참조) 등을 이용하여 BER 불균형을 완화할 수 있다.
도 21은 본 발명의 실시 예에 따른 메모리 시스템을 전자 장치로 구현한 예를 보여주는 블록도이다. 여기에서, 전자 장치(4000)는 퍼스널 컴퓨터(PC)로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant), 그리고 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
도 21을 참조하면, 전자 장치(4000)는 메모리 시스템(4100), 전원 장치(4200), 보조 전원 장치(4250), 중앙처리장치(4300), 램(4400), 그리고 사용자 인터페이스(4500)를 포함한다. 메모리 시스템(4100)은 플래시 메모리(4110) 및 메모리 컨트롤러(4120)를 포함한다. 메모리 시스템(4100)은 앞에서 설명한 바와 같이, 문턱 전압 조정을 사용하는 방법(도 8 참조), 인터리브 스킴을 사용하는 방법(도 11 참조), 또는 하이브리드 스킴을 사용하는 방법(도 13 참조) 등을 이용하여 BER 불균형을 완화할 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1에 도시된 플래시 메모리를 예시적으로 보여주는 블록도이다.
도 3은 도 2에 도시된 메모리 블록을 예시적으로 보여주는 회로도이다.
도 4 내지 도 7은 도 3에 도시된 메모리 셀의 문턱 전압 분포를 보여주는 다이어그램이다.
도 8 내지 도 10은 문턱 전압 분포를 조정함으로, 플래시 메모리의 BER 불균형을 완화하는 방법을 설명하기 위한 다이어그램이다.
도 11 및 도 12는 인터리브 스킴을 사용하여 BER 불균형을 완화하는 방법을 설명하기 위한 블록도이다.
도 13 내지 도 15는 하이브리드 스킴을 이용하여 BER 불균형을 완화하는 방법을 설명하기 위한 도면이다.
도 16는 도 13 내지 도 15에 도시된 메모리 시스템의 동작 방법을 설명하기 위한 순서도이다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 메모리 카드를 보여주는 블록도이다.
도 18은 도 17에 도시된 메모리 카드의 내부 구성 및 호스트와의 연결 관계를 보여주는 블록도이다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 솔리드 스테이트 드라이브(SSD)로 구현한 예를 보여주는 블록도이다.
도 20은 도 19에 도시된 SSD 컨트롤러의 구성을 예시적으로 보여주는 블록도이다.
도 21은 본 발명의 실시 예에 따른 메모리 시스템을 전자 장치로 구현한 예를 보여주는 블록도이다.

Claims (20)

  1. 데이터를 저장하기 위한 불휘발성 메모리;
    상기 불휘발성 메모리의 선택 페이지에 저장될 N개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및
    상기 버퍼 메모리로부터 섹터 데이터를 입력받고, 상기 입력받은 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함하되,
    상기 N개의 물리적 페이지는 M개의 페이지 그룹으로 구분되고, 상기 섹터 데이터는 각각의 페이지 그룹 내의 물리적 페이지들로부터 생성되는 메모리 시스템.
  2. 제 1 항에 있어서,
    N=4 이고 M=2인 것을 특징으로 하는 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 M개의 페이지 그룹 사이의 비트 에러율 불균형을 완화하기 위하여, 상기 선택 페이지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 메모리 셀들의 문턱 전압 분포는 프로그램 검증 전압을 통해 조정되는 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 불휘발성 메모리는 플래시 메모리인 것을 특징으로 하는 메모리 시스템.
  6. 제 5 항에 있어서,
    상기 선택 페이지는 메인 영역과 스페어 영역으로 구분되는 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 패러티 비트는 상기 스페어 영역에 저장되는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 ECC 회로는 상기 스페어 영역에 저장된 패러티 비트를 이용하여, 상기 선택 페이지에 저장된 데이터의 비트 에러를 검출 또는 정정하는 메모리 시스템.
  9. 제 1 항에 있어서,
    상기 불휘발성 메모리, 상기 버퍼 메모리, 그리고 상기 ECC 회로는 메모리 카드로 구현되는 메모리 시스템.
  10. 제 1 항에 있어서,
    상기 불휘발성 메모리, 상기 버퍼 메모리, 그리고 상기 ECC 회로는 솔리드 스테이트 드라이브(SSD)로 구현되는 메모리 시스템.
  11. 메모리 시스템의 동작 방법에 있어서:
    상기 메모리 시스템은 데이터를 저장하기 위한 불휘발성 메모리; 상기 불휘발성 메모리의 선택 페이지에 저장될 A개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함하고,
    상기 메모리 시스템의 동작 방법은
    상기 A개의 물리적 페이지를 B개의 페이지 그룹으로 구분하는 단계;
    각각의 페이지 그룹 내의 C개의 물리적 페이지로부터 상기 섹터 데이터를 생성하는 단계; 및
    상기 섹터 데이터로부터 패러티 비트를 생성하는 단계를 포함하는 동작 방법.
  12. 제 11 항에 있어서,
    A=4, B=2, 그리고 C=2인 것을 특징으로 하는 동작 방법.
  13. 제 11 항에 있어서,
    상기 B개의 페이지 그룹 사이의 비트 에러율 불균형(이하, BER 불균형)을 완화하는 단계를 더 포함하는 동작 방법.
  14. 제 13 항에 있어서,
    상기 BER 불균형을 완화하는 단계에서, 상기 선택 페이지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정하는 동작 방법.
  15. 제 14 항에 있어서,
    상기 메모리 셀들의 문턱 전압 분포는 프로그램 검증 전압을 통해 조정되는 동작 방법.
  16. 제 11 항에 있어서,
    상기 선택 페이지는 메인 영역과 스페어 영역으로 구분되고,
    상기 패러티 비트를 상기 스페어 영역에 저장하는 단계를 더 포함하는 동작 방법.
  17. 제 16 항에 있어서,
    상기 스페어 영역에 저장된 패러티 비트를 이용하여, 상기 선택 페이지에 저장된 데이터의 비트 에러를 검출 또는 정정하는 단계를 더 포함하는 동작 방법.
  18. 데이터를 저장하기 위한 플래시 메모리;
    상기 플래시 메모리의 선택 페이지에 저장될 N개의 물리적 페이지를 임시로 저장하기 위한 버퍼 메모리; 및
    파셜 인터리브 방식을 이용하여 상기 버퍼 메모리로부터 섹터 데이터를 입력받고, 상기 입력받은 섹터 데이터로부터 패러티 비트를 생성하는 ECC 회로를 포함하는 메모리 시스템.
  19. 제 18 항에 있어서,
    상기 N개의 물리적 페이지는 M개의 페이지 그룹으로 구분되고, 상기 M개의 페이지 그룹 사이의 비트 에러율 불균형을 완화하기 위하여 상기 선택 페이지에 해당하는 메모리 셀들의 문턱 전압 분포를 조정하는 메모리 시스템.
  20. 제 19 항에 있어서,
    N=4이고, M=2인 것을 특징으로 하는 메모리 시스템.
KR1020090091233A 2009-09-25 2009-09-25 메모리 시스템 및 그것의 동작 방법 KR101616100B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090091233A KR101616100B1 (ko) 2009-09-25 2009-09-25 메모리 시스템 및 그것의 동작 방법
US12/882,378 US8355279B2 (en) 2009-09-25 2010-09-15 Nonvolatile memory device and system, and method of programming a nonvolatile memory device
DE102010037579.9A DE102010037579B4 (de) 2009-09-25 2010-09-16 Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung
CN201010297753.5A CN102034548B (zh) 2009-09-25 2010-09-21 非易失性存储器件和系统及非易失性存储器件编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090091233A KR101616100B1 (ko) 2009-09-25 2009-09-25 메모리 시스템 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20110033659A true KR20110033659A (ko) 2011-03-31
KR101616100B1 KR101616100B1 (ko) 2016-04-28

Family

ID=43780233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090091233A KR101616100B1 (ko) 2009-09-25 2009-09-25 메모리 시스템 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US8355279B2 (ko)
KR (1) KR101616100B1 (ko)
CN (1) CN102034548B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160111594A (ko) * 2015-03-16 2016-09-27 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20190074678A (ko) * 2017-12-20 2019-06-28 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100753156B1 (ko) * 2006-09-13 2007-08-30 삼성전자주식회사 플래시 메모리 장치 및 그것의 메모리 셀 어레이
KR101736792B1 (ko) * 2010-09-20 2017-05-18 삼성전자주식회사 플래시 메모리 및 그것의 셀프 인터리빙 방법
US8825945B2 (en) 2011-01-31 2014-09-02 Marvell World Trade Ltd. Mapping different portions of data to different pages of multi-level non-volatile memory
US9158356B2 (en) * 2011-06-28 2015-10-13 Infinera Corporation Adaptive voltage scaling based on the results of forward error correction processing
KR20130008300A (ko) * 2011-07-12 2013-01-22 삼성전자주식회사 오버 프로그램을 이용하여 소거 동작을 수행하는 플래시 메모리 장치 및 그 동작방법
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
KR20130077401A (ko) * 2011-12-29 2013-07-09 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 구동 방법
CN107133122B (zh) * 2012-06-06 2020-10-27 慧荣科技股份有限公司 存储器控制方法
US8924820B2 (en) * 2012-07-27 2014-12-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor memory system, and memory control method
US9195533B1 (en) * 2012-10-19 2015-11-24 Seagate Technology Llc Addressing variations in bit error rates amongst data storage segments
CN103365815B (zh) * 2013-06-27 2015-11-18 清华大学 支持sd模式下ip实现的sd存储卡接口
US9147486B2 (en) 2013-09-05 2015-09-29 Micron Technology, Inc. Continuous adjusting of sensing voltages
US9529710B1 (en) 2013-12-06 2016-12-27 Western Digital Technologies, Inc. Interleaved channels in a solid-state drive
CN104765649B (zh) * 2014-01-03 2018-07-03 联想(北京)有限公司 一种数据存储的方法、存储器及电子设备
US9405480B2 (en) * 2014-01-13 2016-08-02 Seagate Technology Llc Interleaving codewords over multiple flash planes
TWI514251B (zh) * 2014-10-09 2015-12-21 Realtek Semiconductor Corp 資料配置方法與裝置
US9984769B2 (en) * 2014-10-30 2018-05-29 Research & Business Foundation Sungkyunkwan University 3D memory with error checking and correction function
TWI560718B (en) * 2015-03-27 2016-12-01 Silicon Motion Inc Data storage device and encoding method thereof
CN104881370B (zh) * 2015-05-11 2018-01-12 中国人民解放军国防科学技术大学 协同使用纠删码和纠错码的可靠闪存存储系统构建方法
KR102511459B1 (ko) * 2016-03-17 2023-03-17 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US20170277629A1 (en) * 2016-03-25 2017-09-28 Alibaba Group Holding Limited Extending the useful lifespan of nonvolatile memory
US10043573B2 (en) 2016-08-04 2018-08-07 Intel Corporation Apparatus and method for endurance friendly programming using lower voltage thresholds
US10095424B2 (en) * 2016-08-04 2018-10-09 Intel Corporation Apparatus and method for programming non-volatile memory using a multi-cell storage cell group
US10169141B2 (en) * 2016-08-11 2019-01-01 SK Hynix Inc. Modifiable stripe length in flash memory devices
US10552252B2 (en) 2016-08-29 2020-02-04 Seagate Technology Llc Patterned bit in error measurement apparatus and method
US10083742B2 (en) * 2016-09-26 2018-09-25 Intel Corporation Method and apparatus for programming non-volatile memory using a multi-cell storage cell group to provide error location information for retention errors
US10002086B1 (en) * 2016-12-20 2018-06-19 Sandisk Technologies Llc Multi-channel memory operations based on bit error rates
CN108346452B (zh) * 2017-01-25 2023-05-02 三星电子株式会社 存储器装置和控制存储器装置中的ecc操作的方法
KR102469174B1 (ko) * 2018-01-11 2022-11-23 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10872009B2 (en) * 2018-02-08 2020-12-22 Micron Technology, Inc. Mitigating a voltage condition of a memory cell in a memory sub-system
US10601546B2 (en) * 2018-04-03 2020-03-24 SK Hynix Inc. Dynamic interleaver change for bit line failures in NAND flash storage
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques
CN112992256B (zh) * 2019-12-16 2022-12-09 中国科学院微电子研究所 误码率平衡方法及装置
CN111045607B (zh) * 2019-12-27 2023-10-03 深圳大普微电子科技有限公司 数据存储方法、存储控制器、固态硬盘及计算机存储介质
TWI764771B (zh) * 2021-06-29 2022-05-11 群聯電子股份有限公司 跨框編碼管理方法、記憶體儲存裝置及記憶體控制電路單元

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070101264A (ko) * 2004-12-16 2007-10-16 쌘디스크 코포레이션 복수-스트림 업데이팅을 갖는 비휘발성 메모리 및 방법
JP2009501380A (ja) * 2005-07-15 2009-01-15 ジーエス・アイピー・リミテッド・ライアビリティ・カンパニー フラッシュエラー訂正
US20090187368A1 (en) * 2008-01-21 2009-07-23 Texas Instruments Incorporated Burn-In Tests To Produce Fabricated Integrated Circuits With Reduced Variations Due To Process Spread
KR20090083759A (ko) * 2008-01-30 2009-08-04 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754566A (en) 1996-09-06 1998-05-19 Intel Corporation Method and apparatus for correcting a multilevel cell memory by using interleaving
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
US7366013B2 (en) * 2005-12-09 2008-04-29 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
JP4892307B2 (ja) 2006-09-08 2012-03-07 株式会社東芝 不揮発性半導体格納装置
KR100907218B1 (ko) 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
US8724381B2 (en) * 2008-03-11 2014-05-13 Agere Systems Llc Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070101264A (ko) * 2004-12-16 2007-10-16 쌘디스크 코포레이션 복수-스트림 업데이팅을 갖는 비휘발성 메모리 및 방법
JP2009501380A (ja) * 2005-07-15 2009-01-15 ジーエス・アイピー・リミテッド・ライアビリティ・カンパニー フラッシュエラー訂正
US20090187368A1 (en) * 2008-01-21 2009-07-23 Texas Instruments Incorporated Burn-In Tests To Produce Fabricated Integrated Circuits With Reduced Variations Due To Process Spread
KR20090083759A (ko) * 2008-01-30 2009-08-04 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160111594A (ko) * 2015-03-16 2016-09-27 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20190074678A (ko) * 2017-12-20 2019-06-28 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법

Also Published As

Publication number Publication date
US8355279B2 (en) 2013-01-15
US20110075478A1 (en) 2011-03-31
CN102034548B (zh) 2015-05-20
CN102034548A (zh) 2011-04-27
KR101616100B1 (ko) 2016-04-28

Similar Documents

Publication Publication Date Title
KR101616100B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR101736792B1 (ko) 플래시 메모리 및 그것의 셀프 인터리빙 방법
US10249383B2 (en) Data storage device and operating method thereof
EP2106587B1 (en) Programming management data for nand memories
US10102059B2 (en) Data storage device capable of preventing a data retention fail of a nonvolatile memory device and operating method thereof
US8611150B2 (en) Flash memory device including flag cells and method of programming the same
US7974139B2 (en) Non-volatile memory generating different read voltages
US8607120B2 (en) Semiconductor memory device for performing additional ECC correction according to cell pattern and electronic system including the same
US8996964B2 (en) Nonvolatile memory device and related read method using hard and soft decision decoding
US9640268B2 (en) Nonvolatile memory device including memory area storing information used for searching erased page, data storage device including the same, and operating method thereof
US11037639B2 (en) Memory controller and method of operating the same for processing the failed read operation
US9524791B1 (en) Data storage device and operating method thereof
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
KR101949987B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US11836392B2 (en) Relocating data to low latency memory
US10650897B2 (en) Storage device and method for operating the same
US11625298B2 (en) Memory block defect detection and management
US9728264B2 (en) Nonvolatile memory device, operating method thereof, and data storage device including the same
KR20210079552A (ko) 메모리 시스템 및 메모리 컨트롤러
CN115376573A (zh) 存储器设备及其操作方法
CN111752470A (zh) 存储器控制器及其操作方法
US10990476B2 (en) Memory controller and method of operating the same
US11556261B2 (en) Memory stripe coding management
US20230289260A1 (en) Controller and operating method of the controller for determining reliability data based on syndrome weight
CN102411987B (zh) 存储器件及其自交织方法

Legal Events

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

Payment date: 20190329

Year of fee payment: 4