KR20120002760A - 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치 - Google Patents

낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치 Download PDF

Info

Publication number
KR20120002760A
KR20120002760A KR1020100063431A KR20100063431A KR20120002760A KR 20120002760 A KR20120002760 A KR 20120002760A KR 1020100063431 A KR1020100063431 A KR 1020100063431A KR 20100063431 A KR20100063431 A KR 20100063431A KR 20120002760 A KR20120002760 A KR 20120002760A
Authority
KR
South Korea
Prior art keywords
data
memory cell
address
memory
nand flash
Prior art date
Application number
KR1020100063431A
Other languages
English (en)
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 KR1020100063431A priority Critical patent/KR20120002760A/ko
Priority to US13/174,984 priority patent/US20120005416A1/en
Publication of KR20120002760A publication Critical patent/KR20120002760A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Abstract

본 발명은 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치에 대하여 개시된다. 데이터 기록 방법은, 데이터를 기록할 메모리 셀의 어드레스를 산출하는 단계, 메모리 셀 어드레스에 해당하는 메모리 셀의 정보를 추출하는 단계, 해당 메모리 셀의 정보를 바탕으로 데이터 스크램블 방식을 선택하는 단계, 선택된 데이터 스크램블 방식에 따라 데이터를 스크램블하는 단계, 그리고 스크램블된 데이터를 메모리 셀에 기록하는 단계를 포함한다. 해당 메모리 셀의 정보는 해당 메모리 셀의 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스 및 물리 페이지 어드레스, 그리고 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 포함한다.

Description

낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치{Data recording method and data recoding device for improving operation reliability of NAND flash memory}
본 발명은 데이터 기록 방법에 관한 것으로, 특히 낸드 플래쉬 메모리에 기록되는 데이터를 스크램블하는 데이터 기록 방법 및 이를 구현하는 데이터 기록 장치에 관한 것이다.
디지털 카메라나 휴대용 오디오 플레이어의 급속한 보급에 의하여, 대용량의 불휘발성 반도체 메모리의 수요가 확대되고 있다. 불휘발성 반도체 메모리로서 낸드 플래쉬 메모리가 널리 사용되고 있다. 낸드 플래쉬 메모리는 복수개의 메모리 셀들이 직렬 접속되는 낸드 스트링(string) 구조를 가지고 있다. 대용량화에 따라, 낸드 스트링에 포함되는 메모리 셀의 수가 증가하고 있다. 낸드 스트링 내 메모리 셀의 증가에 따라, 그 동작 신뢰성을 고려한 데이터 기록 방법이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법을 제공하는 데 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는 상기 데이터 기록 방법을 구현하는 데이터 기록 장치를 제공하는 데 있다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일면에 따른 복수의 메모리 셀들이 직렬 연결되는 낸드 플래쉬 메모리의 데이터 기록 방법은, 데이터를 기록할 메모리 셀의 어드레스를 산출하는 단계, 메모리 셀 어드레스에 해당하는 메모리 셀의 정보를 추출하는 단계, 해당 메모리 셀의 정보를 바탕으로 데이터 스크램블 방식을 선택하는 단계, 선택된 데이터 스크램블 방식에 따라 데이터를 스크램블하는 단계, 그리고 스크램블된 데이터를 메모리 셀에 기록하는 단계를 포함한다.
본 발명의 실시예들에 따라, 해당 메모리 셀의 정보는 해당 메모리 셀의 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스 및 물리 페이지 어드레스, 그리고 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 포함할 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀의 논리 블락 어드레스와 논리 페이지 어드레스를 합한 계산 값을 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀의 물리 블락 어드레스와 물리 페이지 어드레스를 합한 계산 값을 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀의 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스 그리고 물리 페이지 어드레스를 합한 계산 값을 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀의 물리 블락 어드레스와 물리 페이지 어드레스 그리고 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 합한 계산 값을 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀의 논리 블락 어드레스와 논리 페이지 어드레스 그리고 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 합한 계산 값을 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 데이터 스크램블 방식은 해당 메모리 셀의 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스 및 물리 페이지 어드레스 그리고 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 합한 계산 값을 데이터에 더하는 방식일 수 있다.
본 발명의 실시예들에 따라, 해당 메모리 셀의 정보는 낸드 플래쉬 메모리에 포함되는 복수의 메모리 블락들 중 로그 정보를 저장하는 메모리 블락에서 추출할 수 있다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명의 다른 면에 따른 복수의 메모리 셀들이 직렬 연결되는 낸드 플래쉬 메모리를 갖는 데이터 기록 장치는,데이터를 기록할 메모리 셀의 어드레스를 산출하고, 메모리 셀 어드레스에 해당하는 메모리 셀의 정보를 추출하고, 해당 메모리 셀의 정보를 바탕으로 데이터 스크램블 방식을 선택하고, 선택된 데이터 스크램블 방식에 따라 데이터를 스크램블하는 제어부와, 스크램블된 데이터를 메모리 셀에 기록하는 낸드 플래쉬 메모리를 포함한다.
상술한 본 발명의 데이터 기록 방법은, 연속한 많은 메모리 셀들에 대하여 동일한 데이터를 기록하는 경우에도 인접한 워드라인에는 동일한 데이터가 연속되는 것이 방지되도록 워드라인 방향을 따라 기록되는 데이터들이 스크램블되므로, 낸드 플래쉬 메모리의 GIDL 현상, 독출 디스터브 현상과 프로그램 디스터브 현상에 대하여 안전한 동작 신뢰성을 향상시킨다.
도 1은 본 발명의 일실시예에 따른 데이터 기록 매체를 설명하는 도면이다.
도 2는 도 1의 카드 콘트롤러를 설명하는 도면이다.
도 3은 도 1의 낸드 플래쉬 메모리를 설명하는 도면이다.
도 4는 도 3의 메모리 블락을 설명하는 도면이다.
도 5는 도 4의 메모리 셀의 임계 전압 분포 및 프로그래밍 방법을 설명하는 도면이다.
도 6은 본 발명에 따른 데이터 스크램블 방식 및 기록 방법을 설명하는 플로우챠트이다.
도 7은 도 6의 데이터 스크램블 방식을 설명하는 도면이다.
도 8a 및 도 8b는 낸드 플래쉬 메모리의 동작 신뢰성을 설명하는 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 데이터 기록 매체를 설명하는 도면이다. 도 1을 참조하면, 데이터 기록 매체(10)는 호스트 기기(11)와 메모리 카드(12)를 포함한다. 호스트 기기(11)는 버스 인터페이스(16)를 통해 접속되는 메모리 카드(12)를 억세스하기 위한 하드웨어 및 소프트웨어를 가지고 있다. 메모리 카드(12)는 호스트 기기(11)에 접속되는 때에 전원 공급을 받아 동작하고, 호스트 기기(11)로부터의 억세스에 따르는 동작을 수행한다. 본 실시예의 메모리 카드(12)는 데이터 기억 장치의 일 예로서 설명된다.
메모리 카드(12)는 버스 인터페이스(16)를 이용하여 호스트 기기(11)와의 각종 신호 및 데이터 통신을 수행한다. 메모리 카드(12)는 낸드 플래쉬 메모리(14)와 낸드 플래쉬 메모리(14)를 제어하는 카드 콘트롤러(15)를 포함한다. 버스 인터페이스(16)는 복수의 신호 핀들, 통상적으로 9개의 신호 핀들을 사용하여 카드 검출 신호, 커맨드 신호, 접지 전위, 전원 전위, 클럭 신호, 데이터 신호들을 할당하고, 호스트 기기(11) 내 호스트 콘트롤러(미도시)와 메모리 카드(12)가 통신하는 데 사용된다.
낸드 플래쉬 메모리(14)와 카드 콘트롤러(15) 사이의 통신은 낸드 플래쉬 메모리의 인터페이스에 따라 행해진다. 낸드 플래쉬 메모리(14)와 카드 콘트롤러(15)와는 예를 들면 8 비트 입출력(I/O) 선에 의하여 접속되어있다. 카드 콘트롤러(15)가 낸드 플래쉬 메모리(14)에 데이터를 기록할 때, 카드 콘트롤러(15)는 8 비트 I/O 선을 이용하여 데이터 입력 커맨드 80H, 칼럼 어드레스, 페이지 어드레스, 데이터 및 프로그램 커맨드 10H를 낸드 플래쉬 메모리(14)에 순차적으로 입력한다. 여기에서, 커맨드 80H의 "H"는 헥사 코드를 의미하며, 실제로는 "1000000"의 8 비트 신호가 8 비트 I/O 선에 페러럴하게 부여받는다. 즉, 낸드 플래쉬 메모리(14)의 인터페이스에는 복수 비트의 커맨드가 페러럴하게 부여된다. 또한, 낸드 플래쉬 메모리(14)의 인터페이스에는 낸드 플래쉬 메모리(14)에 대한 커맨드와 데이터가 8 비트 I/O 선을 공용하여 통신한다. 이처럼, 호스트 기기(11) 내 호스트 콘트롤러(미도시)와 메모리 카드(12)가 통신하는 인터페이스와 낸드 플래쉬 메모리(14)와 카드 콘트롤러(15)가 통신하는 인터페이스는 서로 다르다.
도 2는 도 1의 카드 콘트롤러(15)를 설명하는 도면이다. 도 2를 참조하면, 카드 콘트롤러(15)는 낸드 플래쉬 메모리(14) 내부에 블락 및 페이지로 구분되는 메모리 영역을 관리하고, 메모리 영역으로의 데이터 기록 동작이나 읽기 동작을 제어한다. 카드 콘트롤러(15)는 호스트 인터페이스부(21), 프로세서(22), 플래쉬 콘트롤러(23), ROM(24), RAM(25), 그리고 랜덤마이저 회로(26)를 포함한다.
호스트 인터페이스부(21)는 카드 콘트롤러(15)와 호스트 기기(11)와의 사이의 인터페이스 처리를 행한다. 프로세서(22)는 메모리 카드(12, 도 1) 전체의 동작을 제어한다. 프로세서(22)는, 메모리 카드(12)가 전원 공급을 받는 때에, ROM(24)에 저장되어 있는 펌웨어 또는 제어 프로그램을 판독하여 RAM(25)에 저장한다. 또한, 프로세서(22)는 렌덤마이저 회로(26)를 제어하여 낸드 플래쉬 메모리(14)에 기록될 데이터의 스크램블(scramble)을 행한다.
ROM(24)은 프로세서(22)에 의해 제어되는 제어 프로그램을 저장한다. RAM(25)은 프로세서(22)의 작업 영역으로 사용되며, 제어 프로그램이나 프로세싱되는 임시 값들을 저장한다. 플래쉬 콘트롤러(23)는 카드 콘트롤러(15)와 낸드 플래쉬 메모리(14) 사이의 인터페이스를 처리한다.
도 3은 도 1의 낸드 플래쉬 메모리(14)를 설명하는 도면이다. 도 3을 참조하면, 낸드 플래쉬 메모리(14)는 메모리 셀 어레이(30), 페이지 버퍼(31), 그리고 로우 디코더(32)를 포함한다. 메모리 셀 어레이(30)는 복수의 메모리 블락(BLK)으로 분할되어 있다. 각 메모리 블락(BLK)은 데이터의 소거 단위가 된다. 메모리 블락(BLK) 각각은 복수의 메모리 셀 트랜지스터(MC)를 갖는다. 메모리 블락(BLK)내에는 복수개의 워드라인들(WL0, WL1, WL2, … )과 워드라인들(WL0, WL1, WL2, … )에 직교하는 복수개의 비트라인들(BL0, BL1, BL2, …)을 포함한다. 특별히 구분하지 않은 경우에, 복수개의 워드라인들(WL0, WL1, WL2, … )은 워드라인(WL)이라 칭하고, 복수개의 비트라인들(BL0, BL1, BL2, …)은 비트라인(BL)이라 칭한다. 동일 행에 있는 메모리 셀 트랜지스터들(MC)은 동일한 워드라인(WL)에 공통으로 접속되고, 이 메모리 셀 트랜지스터들(MC)의 집합을 1 페이지라고 부른다. 각 페이지는 데이터의 기록 단위 또는 독출 단위가 된다. 낸드 플래쉬 메모리(14)의 각 블락(BLK)은, 예컨대 32 페이지를 포함한다.
페이지 버퍼(31)는 낸드 플래쉬 메모리(14)로의 데이터 입출력을 행하고 데이터를 일시적으로 유지한다. 페이지 버퍼(31)의 데이터 사이즈는 각 블락(BLK)의 페이지 사이즈와 동일하며, 예컨대 2048 바이트 + ECC 용의 64 바이트이다. 로우 디코더(32)는 데이터의 기록 및 읽기 동작을 시작함에 있어서 소정의 워드라인(WL)을 선택한다.
도 4는 도 3의 메모리 블락(BLK)을 설명하는 도면이다. 도 4를 참조하면, 메모리 블락(BLK)은 (m+1)(m은 자연수)개의 낸드 스트링을 포함한다. 낸드 스트링은 선택 트랜지스터들(ST1, ST2)과 16개의 메모리 셀 트랜지스터(MT)를 포함한다. 낸드 스트링 내에 포함되는 메모리 셀 트랜지스터(MT)의 수는 일 예에 지나지 않고, 예컨대, 8개, 32개, 64개, 128개 등으로 구성될 수 있다. 선택 트랜지스터(ST1)은 그 드레인이 비트라인(BL)에 연결되고, 그 게이트는 선택 게이터 라인(SGD)에 연결된다. 선택 트랜지스터(ST2)는 그 소스가 소스 라인(SL)에 연결되고, 그 게이트는 선택 게이트 라인(SGS)에 연결된다.
메모리 셀 트랜지스터(MT) 각각은 반도체 기판 상에 게이트 절연막을 개재하고 형성되는 적층 게이트를 갖는 MOS 트랜지스터이다. 적층 게이트는 게이트 절연막 상에 형성되는 플로팅 게이트와 플로팅 게이트 상에 게이트간 절연막을 개재하고 형성되는 제어 게이트를 포함한다. 각각의 낸드 스트링에 있어서, 16개의 메모리 셀 트랜지스터(MT)은, 선택 트랜지스터(ST1)의 소스와 선택 트랜지스터(ST2)의 드레인 사이에, 직렬 연결되어 전류 경로를 형성한다. WL15 워드라인에 접속되는 메모리 셀 트랜지스터(MT)의 드레인은 선택 트랜지스터(ST1)의 소스에 접속되고, WL0 워드라인에 접속되는 메모리 셀 트랜지스터(MT)의 소스는 선택 트랜지스터(ST2)의 드레인에 접속된다.
워드라인(WL0-WL15)은 메모리 블락(BLK) 내 낸드 스트링의 메모리 셀 트랜지스터(MT)의 제어 게이트에 접속된다. 메모리 블락(BLK) 내 동일 행에 있는 메모리 셀 트랜지스터(MT)의 제어 게이트는 동일한 워드라인(WL)에 공통으로 연결된다. 비트라인(BL0-BLm)은 메모리 블락(BLK) 내 선택 트랜지스터(ST1)의 드레인에 접속된다. 복수의 메모리 블락(BLK) 내 동일 열에 있는 낸드 스트링은 동일한 비트라인(BL)에 연결된다. 이하에서 메모리 셀 트랜지스터(MT)는 메모리 셀(MC)이라고 칭한다.
도 5는 도 4의 메모리 셀의 임계 전압 분포 및 프로그래밍 방법을 설명하는 도면이다. 설명의 편의를 위하여 이하에서는, 하나의 메모리 셀(MC)은 8개의 임계 전압 분포(1-8)를 구비하고, 하나의 메모리 셀(MC)에 3비트의 데이터를 프로그래밍 하는 것으로 가정하고 본 발명이 설명된다. 그러나, 본 발명의 범위가 8개의 임계 전압 분포와 3비트의 데이터에 한정되지 않는 것은 본 기술분야의 통상의 지식을 가진 자라면 이해할 것이다.
도 5에서 가장 낮은 임계 전압 분포를 제1 임계 전압 분포(1)라고 하고, 가장 높은 임계 전압 분포를 제8 임계 전압 분포(8)라고 한다. 또한, 도 5에는 각각의 임계 전압 분포 상단에 그에 대응되는 코드가 도시되어 있으나, 이러한 코드는 단순한 예시일 뿐이고 다른 코드들이 이용될 수도 있다.
제1 프로그래밍 단계(①)는, 복수개의 임계 전압 분포들의 중간에 위치하는 제1 중간 임계 전압 분포, 및 복수개의 임계 전압 분포들 중에서 가장 낮은 임계 전압 분포를 이용하여, 제1 비트를 프로그래밍한다. 제1 중간 임계 전압 분포는 제5 임계 전압 분포(5)일 수 있고, 가장 낮은 임계 전압 분포는 제1 임계 전압 분포(1)일 수 있다. 즉, 제1 프로그래밍 단계는 제1 임계 전압 분포(1)와 제5 임계 전압 분포(5)를 이용하여 제1 비트를 프로그래밍할 수 있다.
제2 프로그래밍 단계(②)는, 제1 비트가 가장 낮은 임계 전압 분포로 프로그래밍 된 경우, 가장 낮은 임계 전압 분포와 제1 중간 임계 전압 분포 사이에 위치하는 임계 전압 분포들의 중간에 위치하는 제2 중간 임계 전압 분포, 및 가장 낮은 임계 전압 분포를 이용하여, 제2 비트를 프로그래밍 한다. 또한, 제2 프로그래밍 단계는, 제1 비트가 제1 중간 임계 전압 분포로 프로그래밍 된 경우, 제1 중간 임계 전압 분포와 가장 높은 임계 전압 분포 사이에 위치하는 임계 전압 분포들의 중간에 위치하는 제3 중간 임계 전압 분포, 및 제1 중간 임계 전압 분포를 이용하여 제2 비트를 프로그래밍 한다. 제2 중간 임계 전압 분포는 제3 임계 전압 분포(3)일 수 있고, 제3 중간 임계 전압 분포는 제7 임계 전압 분포(7)일 수 있다. 즉, 제 2 프로그래밍 단계는 제1 비트가 제1 임계 전압 분포(1)로 프로그래밍 된 경우에 제1 임계 전압 분포(1)와 제3 임계 전압 분포(3)를 이용하여 제2 비트를 프로그래밍 할 수 있다. 또한, 제1 비트가 제5 임계 전압 분포(5)로 프로그래밍 된 경우에 제5 임계 전압 분포(5)와 제7 임계 전압 분포(7)를 이용하여 제2 비트를 프로그래밍할 수 있다.
제3 프로그래밍 단계(③)는 제1 임계 전압 분포(1)와 제2 임계 전압 분포(2)를 이용하거나, 또는 제3 임계 전압 분포(3)와 제4 임계 전압 분포(4)를 이용하거나, 또는 제5 임계 전압 분포(5)와 제6 임계 전압 분포(6)를 이용하거나, 또는 제7 임계 전압 분포(7)와 제8 임계 전압 분포(8)를 이용하여 제3 비트를 프로그래밍 할 수 있다.
도 6은 본 발명에 따른 데이터 스크램블 방법 및 기록 방법을 설명하는 플로우챠트이다. 도 1 및 도 2와 연계하여, 도 6을 참조하면, 우선, 메모리 카드(12)는 호스트 기기(11)로부터 데이터의 기록 명령 및 기록 데이터를 수신한다. 카드 콘트롤러(15)의 호스트 인터페이스부(21)가 기록 명령 및 기록 데이터를 수신한다(S61). 프로세서(22)는 기록 명령에 따라 기록할 메모리 셀 어드레스를 산출한다(S62).
프로세서(22)는 해당 메모리 셀 어드레스에 대응되는 메모리 셀의 정보들을 추출한다(S63). 추출되는 메모리 셀 정보들은 해당 메모리 셀의 논리 블락 어드레스(Logical Block Address), 논리 페이지 어드레스(Logical Page Address), 물리 블락 어드레스(Physical Block Address) 및 물리 페이지 어드레스(Physical Page Address), 그리고 해당 메모리 셀이 속하는 메모리 블락(BLK)의 프로그램/삭제 횟수(Program/Erase Cycle) 등이다. 해당 메모리 셀의 정보들은, 도 3의 복수의 메모리 블락들(BLK) 중에서 메모리 카드(12, 도 1)의 로그 정보를 저장하도록 할당된 메모리 블락(BLK)에서 추출할 수 있다.
이 후, 프로세서(22)는 해당 메모리 셀의 정보들을 바탕으로 스크램블 방식을 선택한다(S64). 스크램블 방식은 ROM(24)에 저장된 제어 프로그램에 의해 결정된다. 도 7에 도시된 바와 같이, 스크램블 방식의 제1 예는, 논리 블락 어드레스와 논리 페이지 어드레스를 합한 계산 값을 기록 데이터에 더하는 방식이다. 스크램블 방식의 제2 예는, 물리 블락 어드레스와 물리 페이지 어드레스를 합한 계산 값을 기록 데이터에 더하는 방식이다. 스크램블 방식의 제3 예는, 프로그램/삭제 횟수를 기록 데이터에 더하는 방식이다. 스크램블 방식의 제4 예는, 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스 그리고 물리 페이지 어드레스를 합한 계산 값을 기록 데이터에 더하는 방식이다. 스크램블 방식의 제5 예는, 물리 블락 어드레스, 물리 페이지 어드레스 그리고 프로그램/삭제 횟수를 합한 계산 값을 기록 데이터에 더하는 방식이다. 스크램블 방식의 제6 예는, 논리 블락 어드레스, 논리 페이지 어드레스 그리고 프로그램/삭제 횟수를 합한 계산 값을 기록 데이터에 더하는 방식이다. 스크램블 방식의 제7 예는, 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스, 물리 페이지 어드레스 그리고 프로그램/삭제 횟수를 합한 계산 값을 기록 데이터에 더하는 방식이다.
프로세서(22)는 선택된 스크램블 방식을 랜덤마이저 회로(26)에 명령하고, 램덤마이저 회로(26)는 스크램블 방식에 따라 기록 데이터를 스크램블한다(S65). 이 후, 랜덤마이저 회로(26)에서 스크램블된 기록 데이터는 해당 메모리 셀에 기록된다(S66).
본 실시예의 데이터 기록 방법은, 종래의 스크램블 테이블을 이용하는 데이터 스크램블 방식에 비하여, 스크램블 테이블 내 시드(seed) 데이터를 독출하여 이를 레지스터에 저장해야 하는 과정을 필요로 하지 않는다. 게다가, 본 실시예의 데이터 기록 방법은 스크램블 테이블을 이용하지 않기 때문에, 스크램블 테이블을 저장하기 위한 별도의 영역, 예컨대 카드 콘트롤러(15) 내 RAM(25)의 일부 영역을 할당하지 않아도 된다. 또한, 종래의 스크램블된 데이터를 디스크램블(De-Sramble)할 때 낸드 플래쉬 메모리의 페이지 내 스페어 영역에 저장된 시드 데이터가 깨질 경우 데이터 복구가 어려운 문제점에 대하여, 본 실시예의 데이터 기록 방법은 낸드 플래쉬 메모리의 페이지 내 스페어 영역에 시드 데이터를 저장할 필요가 없다. 그리고, 본 실시예의 데이터 기록 방법은 낸드 플래쉬 메모리(14)의 동작 신뢰성을 향상시킬 수 있다.
도 8a 및 도 8b는 낸드 플래쉬 메모리(14) 내 낸드 스트링의 동작 신뢰성을 설명하는 도면이다. 도 8a를 참조하면, 낸드 플래쉬 메모리(14) 내 하나의 낸드 스트링을 보여준다. 낸드 스트링에는 (n+1)(n은 자연수)개의 메모리 셀 트랜지스터(MT)와 비트라인(BL)의 독출 데이터를 감지하는 페이지 버퍼(40)를 포함한다. 각 메모리 셀 트랜지스터(MT)에는 기생 용량(41)이 존재한다. 기생 용량(41)은 메모리 셀 트랜지스터(MT)의 소스 또는 드레인 영역과 메모리 셀 트랜지스터(MT)가 형성
낸드 플래쉬 메모리(14)는 터널 전류를 이용한 데이터 기록 방식을 채용한다. 메모리 셀 트랜지스터(MT)의 전류 구동 능력은 소스 저항과 게이트 산화물 두께의 함수로 나타난다. 게이트 산화막의 두께가 얇을수록 메모리 셀 트랜지스터(MT)의 전류 구동 특성이 우수하다. 게이트 산화막의 두께가 얇아짐에 따라, 게이트에 음(-)의 바이어스를 걸어주고 N형 드레인에 양(+)의 바이어스를 가해주면, N형 드레인에 게이트 하부의 표면쪽으로 디플리션 층(depletion layer)이 형성되면서 밴드가 변하게 된다. 게이트에 인가되는 음의 전압의 절대치가 커지면 커질수록 밴드는 더 많이 휘면서 디플리션이 증가한다. 이에 따라, 게이트와 드레인 사이에 고전계가 걸리게 되므로, 직접적인 터널링에 의한 전류가 증가하는 GIDL(Gate Induced Drain Lowering) 현상이 발생한다.
도 8b에 도시된 바와 같이, WL0 ~ WL(k-1) 워드라인들에 접속되는 메모리 셀 트랜지스터들이 온 상태이면, 낸드 스트링 내에는 상당히 큰 기생 용량(42)이 발생한다. 즉, WL0 ~ WL(k-1) 워드라인들에 접속되는 메모리 셀 트랜지스터들의 기생 용량들(41)이 병렬 접속되어 형성되는 기생 용량(42)이 WLk 워드라인에 접속되는 메모리 셀 트랜지스터(MT)와 선택 트랜지스터(ST2) 사이에 존재하게 된다.
기생 용량(42)으로부터 공급되는 대량의 전하는, 예컨대, WL0 워드라인에 독출 전압이 인가되는 때에, WL0 워드라인의 게이트 전압으로 가속되어 핫 일렉트론을 발생한다. 이러한 GIDL 현상에 의한 핫 일렉트론은 WL0 워드라인에 접속되는 메모리 셀 트랜지스터(MT)의 터널 산화막으로 넘어가서 메모리 셀 트랜지스터(MT)의 기록 데이터를 파괴한다. 특히, 도 5에서 설명한 바와 같이, 임계 전압 차이가 작은 멀티 레벨 셀에서는 그 데이터 유지(data retention)가 어렵다.
또한, 낸드 플래쉬 메모리(14)의 칩 사이즈를 줄이기 위하여, 낸드 스트링 내 메모리 셀 트랜지스터(MT)의 수가 증가된다. 그 결과, 낸드 스트링에 흘릴 수 있는 전류가 작아지고, 데이터를 독출하여 감지하는 데 필요한 전압 변동이나 전류값이 점점 작아진다. 낸드 스트링에 직렬 연결되는 메모리 셀 트랜지스터(MT)의 수가 많을수록, 특히 연속한 많은 메모리 셀 트랜지스터들(MT)이 온되는 경우, 독출 디스터브(Read Disturb) 현상과 프로그램 디스터브(Program Disturb) 현상에 대한 내성이 약화된다.
본 발명의 데이터 스트램블 방식을 채용하는 도 6의 데이터 기록 방법에 의해, 낸드 플래쉬 메모리(14)는 워드라인(WL) 방향을 따라 기록되는 데이터들이 스크램블된다. 연속한 많은 메모리 셀들(MC)에 대하여 동일한 데이터를 기록하는 경우에도 인접한 워드라인(WL)에는 동일한 데이터가 연속되는 것이 방지된다. 이에 따라, 낸드 플래쉬 메모리(14)의 GIDL 현상, 독출 디스터브 현상과 프로그램 디스터브 현상에 대하여 안전한 동작 신뢰성을 향상시킬 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
10 : 데이터 기록 매체 11 : 호스트 기기
12 : 메모리 카드 14 : 낸드 플래쉬 메모리
16 : 버스 인터페이스 21 : 호스트 인터페이스부
22 : 프로세서 23 : 플래쉬 콘트롤러
24 : ROM 25 : RAM 26 : 랜덤마이저 회로
30 : 메모리 셀 어레이 31 : 페이지 버퍼
32 : 로우 디코더 BLK : 메모리 블락
MC : 메모리 셀 MT : 메모리 셀 트랜지스터
WL0, WL1, WL2, WL : 워드라인 BL0, BL1, BL2, BL : 비트라인
ST1, ST2 : 선택 트랜지스터

Claims (10)

  1. 복수의 메모리 셀들이 직렬 연결되는 낸드 플래쉬 메모리의 데이터 기록 방법에 있어서,
    데이터를 기록할 상기 메모리 셀의 어드레스를 산출하는 단계;
    상기 메모리 셀 어드레스에 해당하는 상기 메모리 셀의 정보를 추출하는 단계;
    상기 해당 메모리 셀의 정보를 바탕으로 데이터 스크램블 방식을 선택하는 단계;
    상기 선택된 데이터 스크램블 방식에 따라 상기 데이터를 스크램블하는 단계; 및
    상기 스크램블된 데이터를 상기 메모리 셀에 기록하는 단계를 구비하는 것을 특징으로 하는 데이터 기록 방법.
  2. 제1항에 있어서, 상기 해당 메모리 셀의 정보는
    상기 해당 메모리 셀의 논리 블락 어드레스, 논리 페이지 어드레스, 물리 블락 어드레스 및 물리 페이지 어드레스, 그리고 상기 해당 메모리 셀이 속하는 메모리 블락의 프로그램/삭제 횟수를 포함하는 것을 특징으로 하는 데이터 기록 방법.
  3. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 논리 블락 어드레스와 상기 논리 페이지 어드레스를 합한 계산 값을 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  4. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 물리 블락 어드레스와 상기 물리 페이지 어드레스를 합한 계산 값을 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  5. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 프로그램/삭제 횟수를 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  6. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 논리 블락 어드레스, 상기 논리 페이지 어드레스, 상기 물리 블락 어드레스 그리고 상기 물리 페이지 어드레스를 합한 계산 값을 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  7. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 물리 블락 어드레스, 상기 물리 페이지 어드레스 그리고 상기 프로그램/삭제 횟수를 합한 계산 값을 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  8. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 논리 블락 어드레스, 상기 논리 페이지 어드레스 그리고 상기 프로그램/삭제 횟수를 합한 계산 값을 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  9. 제2항에 있어서, 상기 데이터 스크램블 방식은
    상기 논리 블락 어드레스, 상기 논리 페이지 어드레스, 상기 물리 블락 어드레스, 상기 물리 페이지 어드레스 그리고 상기 프로그램/삭제 횟수를 합한 계산 값을 상기 데이터에 더하는 방식인 것을 특징으로 하는 데이터 기록 방법.
  10. 복수의 메모리 셀들이 직렬 연결되는 낸드 플래쉬 메모리를 갖는 데이터 기록 장치에 있어서,
    데이터를 기록할 상기 메모리 셀의 어드레스를 산출하고, 상기 메모리 셀 어드레스에 해당하는 메모리 셀의 정보를 추출하고, 상기 해당 메모리 셀의 정보를 바탕으로 데이터 스크램블 방식을 선택하고, 상기 선택된 데이터 스크램블 방식에 따라 상기 데이터를 스크램블하는 제어부; 및
    상기 스크램블된 데이터를 상기 메모리 셀에 기록하는 상기 낸드 플래쉬 메모리를 구비하는 것을 특징으로 하는 데이터 기록 장치.
KR1020100063431A 2010-07-01 2010-07-01 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치 KR20120002760A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100063431A KR20120002760A (ko) 2010-07-01 2010-07-01 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치
US13/174,984 US20120005416A1 (en) 2010-07-01 2011-07-01 Data recording method and data recoding device to improve operational reliability of nand flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100063431A KR20120002760A (ko) 2010-07-01 2010-07-01 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치

Publications (1)

Publication Number Publication Date
KR20120002760A true KR20120002760A (ko) 2012-01-09

Family

ID=45400612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100063431A KR20120002760A (ko) 2010-07-01 2010-07-01 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치

Country Status (2)

Country Link
US (1) US20120005416A1 (ko)
KR (1) KR20120002760A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170878B2 (en) * 2011-04-11 2015-10-27 Inphi Corporation Memory buffer with data scrambling and error correction
KR20130036556A (ko) * 2011-10-04 2013-04-12 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9116792B2 (en) * 2012-05-18 2015-08-25 Silicon Motion, Inc. Data storage device and method for flash block management
JP2013254537A (ja) 2012-06-06 2013-12-19 Toshiba Corp 半導体記憶装置及びコントローラ
US20150142855A1 (en) * 2013-11-15 2015-05-21 Paul Fast Mobile database initialization and update for offline consumption
KR102244617B1 (ko) 2014-03-13 2021-04-26 삼성전자 주식회사 논리 정보와 물리 정보를 이용하여 데이터를 처리할 수 있는 장치와 방법
JP6262063B2 (ja) 2014-03-18 2018-01-17 東芝メモリ株式会社 不揮発性メモリおよび書き込み方法
JP5940704B1 (ja) * 2015-03-26 2016-06-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR20160127525A (ko) * 2015-04-27 2016-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10417122B2 (en) * 2015-09-30 2019-09-17 Seagate Technology Llc Data randomization using memory block access counts

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1838328A (zh) * 2005-01-19 2006-09-27 赛芬半导体有限公司 擦除存储器阵列上存储单元的方法
US7360057B2 (en) * 2005-03-22 2008-04-15 Seagate Technology, Llc Encryption of data in a range of logical block addresses
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US7876894B2 (en) * 2006-11-14 2011-01-25 Mcm Portfolio Llc Method and system to provide security implementation for storage devices
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
KR100969758B1 (ko) * 2007-01-22 2010-07-13 삼성전자주식회사 플래시 변환 레이어에서 데이터를 암호화하여 처리하기위한 방법 및 장치
JP2008217857A (ja) * 2007-02-28 2008-09-18 Toshiba Corp メモリコントローラ及び半導体装置
US20090150595A1 (en) * 2007-10-24 2009-06-11 Avi Lavan Balanced programming rate for memory cells
JP5019611B2 (ja) * 2007-12-27 2012-09-05 株式会社東芝 メモリシステム
KR101517185B1 (ko) * 2008-04-15 2015-05-04 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
US9336160B2 (en) * 2008-10-30 2016-05-10 Qualcomm Incorporated Low latency block cipher
US7954071B2 (en) * 2008-10-31 2011-05-31 Synopsys, Inc. Assist feature placement based on a focus-sensitive cost-covariance field
US8589700B2 (en) * 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
KR20100111990A (ko) * 2009-04-08 2010-10-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 데이터 랜덤화 방법
JP5492679B2 (ja) * 2009-06-30 2014-05-14 パナソニック株式会社 記憶装置およびメモリコントローラ
US8255620B2 (en) * 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US8526605B2 (en) * 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling
KR20110055178A (ko) * 2009-11-19 2011-05-25 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 메모리 시스템
US8402349B2 (en) * 2010-12-06 2013-03-19 Apple Inc. Two dimensional data randomization for a memory
JP2012226822A (ja) * 2011-04-15 2012-11-15 Samsung Electronics Co Ltd 不揮発性メモリ装置
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US8843693B2 (en) * 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling

Also Published As

Publication number Publication date
US20120005416A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
JP4498370B2 (ja) データ書き込み方法
US9418017B2 (en) Hot memory block table in a solid state storage device
JP4778236B2 (ja) メモリセル回復読み出し方法および記憶装置
KR20120002760A (ko) 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치
KR101734204B1 (ko) 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법
US9343163B2 (en) Semiconductor memory device and operating method based upon a comparison of program data and read data thereof
KR101552211B1 (ko) 플래시 메모리 장치, 그것의 프로그램 방법 그리고 그것을 포함하는 메모리 시스템
US9576668B2 (en) Semiconductor device and operating method thereof
US8498159B2 (en) Independent well bias management in a memory device
US20110010606A1 (en) Memory system
KR20110135693A (ko) 더미 메모리 셀을 포함하는 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102384864B1 (ko) 불량 스트링을 리페어하는 방법 및 불휘발성 메모리 장치
US9443596B2 (en) Non-volatile memory device and method of programming the same
US8605509B2 (en) Data line management in a memory device
JP2007226897A (ja) 半導体集積回路装置
KR20110001570A (ko) 플래시 메모리 소자의 프로그램 방법
CN115966232A (zh) 非易失性存储器及其编程方法、擦除方法以及电子装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid