KR20100066376A - 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법 - Google Patents

비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법 Download PDF

Info

Publication number
KR20100066376A
KR20100066376A KR1020090119811A KR20090119811A KR20100066376A KR 20100066376 A KR20100066376 A KR 20100066376A KR 1020090119811 A KR1020090119811 A KR 1020090119811A KR 20090119811 A KR20090119811 A KR 20090119811A KR 20100066376 A KR20100066376 A KR 20100066376A
Authority
KR
South Korea
Prior art keywords
data
floating gate
sense amplifier
memory
memory cell
Prior art date
Application number
KR1020090119811A
Other languages
English (en)
Other versions
KR101125390B1 (ko
Inventor
가즈노리 가스가
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20100066376A publication Critical patent/KR20100066376A/ko
Application granted granted Critical
Publication of KR101125390B1 publication Critical patent/KR101125390B1/ko

Links

Images

Classifications

    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 데이터의 신뢰성을 향상시키는 것을 목적으로 한다.
비휘발성 메모리(1)는 메모리 셀 어레이(2)와, 제1 센스 앰프(3)와, 제2 센스 앰프(4)와, 기록부(5)를 포함한다. 메모리 셀 어레이(2)는 플로팅 게이트를 구비하는 복수의 메모리 셀을 포함한다. 제1 센스 앰프(3)는 플로팅 게이트의 전압값과 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정한다. 제2 센스 앰프(4)는 플로팅 게이트의 전압값과 제1 임계값보다 큰 제2 임계값과의 대소를 판정한다. 기록부(5)는 제2 센스 앰프(4)에서, 제2 임계값이 플로팅 게이트의 전압값보다 크다고 판정된 플로팅 게이트를 구비하는 메모리 셀의 데이터를 재차 기록한다.

Description

비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법{NONVOLATILE MEMORY, MEMORY CONTROL UNIT, MEMORY CONTROL SYSTEM, AND NONVOLATILE MEMORY CONTROLLING METHOD}
본 발명은 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법에 관한 것이며, 특히 데이터의 신뢰성을 향상시키는 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법에 관한 것이다.
최근, 대용량화 가능, 비휘발성, 저소비 전력 등의 이유에서, USB(Universal Serial Bus) 메모리나 플래시 메모리 카드 등의 비휘발성 메모리를 사용한 메모리 디바이스가 널리 보급되어 있다.
이들 메모리 디바이스에는, 장기간에 걸쳐 데이터를 보존하는 신뢰성이 요구되고 있다.
또한, 화상이나 영상 등, 데이터의 대용량화에 의해, 보다 대용량의 메모리 디바이스가 필요해지고, 비휘발성 메모리에 대한 프로세스의 감축도 적극적으로 이루어지고 있다.
도 33은 NAND형 비휘발성 메모리의 기본 셀 구조를 도시하는 회로도이다.
비휘발성 메모리(Nonvolatile memory)(90)는 NAND 셀 그룹(91)을 구성하는 복수의 NAND 셀(Cell)(메모리 트랜지스터)(92)을 직렬로 접속한 구성을 갖는다.
NAND 셀(92)의 지정은 선택 게이트(Select Gate)(93)에 의해 이루어진다. 또한 소거는 NAND 셀 그룹(91)마다 이루어진다.
각 NAND 셀(92)은 각각, 컨트롤 게이트(Control Gate)(92a)와 플로팅 게이트(Floating Gate)(92b)를 포함한다.
도 34는 비휘발성 메모리의 데이터 기록 및 소거의 양태를 나타내는 도면이다.
도 34의 (a)는 비휘발성 메모리의 데이터 기록의 양태를 나타내는 도면이다.
플로팅 게이트(92b)는 컨트롤 게이트(92a) 및 기판(Substrate)(92c)은 게이트 산화막(Gate oxide)(92d)에 의해 절연되어 있고, 전기적으로는 부상 상태이다.
그러나, 컨트롤 게이트(92a)와 기판(92c) 사이에 고전압을 인가하면, FN(Fowler-Nordheim) 터널 현상에 의해 기판(92c)으로부터 게이트 산화막(92d)을 통해 플로팅 게이트(92b)에 전하를 주입할 수 있다.
플로팅 게이트(92b)는 전기적으로 부상 상태이기 때문에, 전원을 절단하여도 전하를 유지할 수 있다. 전하의 주입을 일반적으로 「기록」 또는 「프로그램(Program)」이라고 한다.
또한, 도 34의 (b)에 도시하는 바와 같이, 기록과는 역방향의 고전압을 인가하면, 마찬가지로 FN 터널 현상에 의해 플로팅 게이트(92b)에 주입된 전하를, 게이 트 산화막(92d)을 통해 기판(92c)으로 해방할 수 있다. 전하의 해방을 일반적으로 「소거」 또는 「이레이즈(Erase)」라고 한다.
또한, 일반적으로 NAND형 비휘발성 메모리는 전하를 주입한 상태가 기록(논리 「0」), 전하를 해방한 상태가 소거(논리 「1」)이다.
[특허문헌 1] 일본 특허 공개 제2007-164937호 공보
NAND형 비휘발성 메모리는 FN 터널 전류를 이용하여 데이터의 기록과 소거를 수행하기 때문에, 기록과 소거를 수행할 때마다 메모리 셀이 열화된다.
도 35는 FN 터널 현상에 의한 게이트 산화막의 열화를 도시하는 도면이다.
FN 터널 현상은 고전압을 인가함으로써, 게이트 산화막(92d)을 통해 전하를 이동시킬 수 있지만, 게이트 산화막(92d)에 약간의 전하가 트랩되는 경우가 있다.
이 때문에, 재기록 횟수가 증가함으로써, 게이트 산화막(92d)의 열화와 누설 전류가 증가(Increase of Leak Current)한다.
이 게이트 산화막(92d)의 열화에 의해, 플로팅 게이트(92b)와 기판(92c) 간의 누설 전류가 증가하여 전하를 유지할 수 없게 된다.
이 현상에 의해, 일반적으로 비휘발성 메모리에 대한 기록/소거 횟수(이하, 재기록 횟수라고 함)에 한계가 존재하고, 재기록 횟수에 비례하여 데이터 유지 능력이 감소한다.
도 36은 경과 시간과 플로팅 게이트의 전압 변화와의 관계를 나타내는 그래프이다. 일례로서, NAND형 비휘발성 메모리의 소거 상태의 플로팅 게이트의 전압 레벨은 4 V로, 기록 상태와 소거 상태를 식별하는 센스 앰프(SA)의 설정값은 1 V로 한다.
전술한 바와 같이, 플로팅 게이트와 기판 간의 누설 전류에 의해, 시간이 경과함에 따라서 플로팅 게이트의 전압 레벨은 점차 저하된다.
도 36에 있어서, 센스 앰프는 플로팅 게이트의 전압이 1 V 이상인지의 여부에 따라 데이터의 논리 「1」, 「0」을 판정한다. 이 때문에 시간이 경과함에 따라서, NAND 셀의 논리가 반전되어 버려, 판독 에러가 된다.
도 37은 재기록 횟수와 데이터 유지 시간의 관계를 나타내는 그래프이다.
재기록 횟수가 1만회인 시점에서는, 데이터를 약 20년 유지할 수 있는 데 대하여, 재기록 횟수가 증가함에 따라서 데이터 유지 시간이 감소된다. 그리고, 10만회 재기록한 후에 약 10년간, 재기록 횟수가 100만회인 시점에서는, 데이터를 0.5년밖에 유지할 수 없다.
저가격화나 대용량화를 목적으로 하여 제조 프로세스는 미세화되어 있지만, 게이트 산화막의 두께는 크게 변화하지 않고, 기록이나 소거에 필요한 전압도 크게 변화하지 않는다.
이 때문에 게이트 산화막에 인가되는 전압이 상대적으로 높아지고, 프로세스의 미세화가 진행됨에 따라 열화가 현저해지며, 데이터 유지 능력이 악화된다고 하는 문제가 있다.
따라서, 염가·대용량·장기간 데이터 보존이 요구되는 비휘발성 메모리에서는, 제조 프로세스를 미세화하는 것에 의한 데이터 보존 능력의 악화를 막아야 한다.
본 발명은 이러한 점을 감안하여 이루어진 것으로, 데이터의 신뢰성을 향상시킬 수 있는 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와, 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와, 상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터를 재차 기록하는 기록부를 포함하는 것을 특징으로 하는 비휘발성 메모리가 제공된다.
개시된 비휘발성 메모리, 메모리 제어 장치, 및 메모리 제어 시스템에 의하면, 데이터의 신뢰성을 향상시킬 수 있다.
이하, 실시형태를, 도면을 참조하여 상세히 설명한다.
우선, 실시형태의 비휘발성 메모리에 대해서 설명하고, 그 후, 실시형태를 보다 구체적으로 설명한다.
도 1은 실시형태의 비휘발성 메모리의 개요를 도시하는 도면이다.
도 1에 도시하는 비휘발성 메모리(1)는 메모리 셀 어레이(2)와, 제1 센스 앰프(3)와, 제2 센스 앰프(4)와, 기록부(5)를 포함한다.
메모리 셀 어레이(2)는 플로팅 게이트를 구비하는 복수의 메모리 셀을 포함 한다. 제1 센스 앰프(3)는 플로팅 게이트의 전압값과 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정한다.
제2 센스 앰프(4)는 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정한다.
또한, 제1 임계값 및 제2 임계값은, 도 1에 도시하는 바와 같이 외부로부터 입력될 수도 있고, 비휘발성 메모리(1) 내부에서 생성될 수도 있다.
기록부(5)는 제2 센스 앰프(4)에서, 제2 임계값이 플로팅 게이트의 전압값보다 크다고 판정된 플로팅 게이트를 구비하는 메모리 셀의 데이터를 재차 기록한다.
이러한 비휘발성 메모리(1)에 의해, 제2 임계값보다 낮은 전압값을 갖는 메모리 셀의 기록 상태가 유지되기 때문에, 데이터의 신뢰성을 향상시킬 수 있다.
이하, 실시형태를 보다 구체적으로 설명한다.
도 2는 실시형태의 모듈의 하드웨어 구성예를 도시하는 도면이다.
모듈(Module)(10)은 CPU(Central Processing Unit)(11)에 의해 장치 전체가 제어된다. CPU(11)에는 칩세트(Chipset)(12)가 접속된다.
칩세트(12)는 노스 브리지(North Bridge)(12a)와 사우스 브리지(South Bridge)(12b)를 포함한다.
노스 브리지(12)에는 비교적 고속으로 동작하는 주변 기기가 접속되고, 이들 기기와의 사이에서 데이터를 교환한다. 도 2에서는, 메모리(Memory)(13), PCI Express(14) 및 디스플레이(Display)(15)가 접속된다.
메모리(13)는 CPU(11)에 실행시키는 OS(Operating System)의 프로그램이나 애플리케이션 프로그램의 적어도 일부가 한시적으로 저장된다. 또한 메모리(13)에는 CPU(11)에 의한 처리에 필요한 각종 데이터가 저장된다.
노스 브리지(12a)는 CPU(11)로부터의 명령에 따라서, 화상을 디스플레이(15)의 화면에 표시하게 한다.
사우스 브리지(12b)에는 비교적 저속으로 동작하는 주변 기기가 접속된다. 도 2에서는 오디오 인터페이스(Audio I/F)(16), USB/PCI(17), BIOS(18), LAN 인터페이스(19) 및 비휘발성 모듈(Nonvolatile module)(20)이 접속된다.
비휘발성 모듈(20)은 NAND 컨트롤러(NAND Controller)(21)와, NAND 컨트롤러(21)에 접속된 NAND형 비휘발성 메모리(NAND Flash Memory IC)(22)(이하, 간단히 「비휘발성 메모리」라고 함)를 포함한다.
NAND 컨트롤러(21)는 비휘발성 메모리(22)의 임의의 영역을 선택하고, 그 영역의 데이터가 정확한 것인지 확인한다. 데이터가 정확한 것인지의 여부 확인에는, 선택한 영역에 연관된 관리 영역의 데이터에 포함되는 ECC 정보를 사용한다.
비휘발성 메모리(22)에는, OS나 애플리케이션 프로그램이 저장된다. 또한 비휘발성 메모리(22)에는 프로그램 파일이 저장된다.
또한, 도 2의 구성에 한정되지 않고, 노스 브리지(12a)와 사우스 브리지(12b)가 1칩으로 구성되어 있어도 좋다. 또한 NAND 컨트롤러(21)와 비휘발성 메모리(22)가 별개로 구성되어 있어도 좋다.
또한, 비휘발성 모듈(20)과는 별개로, 도시하지 않는 HDD(Hard Disk Driver)가 설치될 수도 있다.
이상과 같은 하드웨어 구성에 의해, 본 실시형태의 처리 기능을 실현할 수 있다.
도 3은 NAND 컨트롤러의 구성을 도시하는 블록도이다.
NAND 컨트롤러(21)는 호스트 인터페이스부(Host Interface Unit)(211)와, 컨트롤 레지스터(Control Register)(212)와, 전력 제어부(Power Management Unit)(213)와, 버퍼(Buffer)(214)와, ECC 처리부(215)와, NAND 인터페이스부(NAND Interface Unit)(216)를 포함한다.
호스트 인터페이스부(211)는 CPU(11)와 통신한다.
컨트롤 레지스터(212)는 CPU(11)로부터의 명령을 유지하고, NAND 컨트롤러(21)의 상태를 나타낸다.
전력 제어부(213)는 NAND 컨트롤러(21) 전체에 전력을 공급한다.
버퍼(214)는 CPU(11)와 비휘발성 메모리(22)의 사이에서 교환되는 데이터를 일시 기억한다.
ECC 처리부(215)는 데이터로부터 ECC를 생성하고, ECC 부호의 인코드/디코드와 에러 정정 처리를 수행한다.
NAND 인터페이스부(216)는 비휘발성 메모리(22)와 통신한다.
도 4는 비휘발성 메모리의 구성을 도시하는 블록도이다.
비휘발성 메모리(22)는 I/O 버퍼 회로(I/O Buffer Circuit)(221)와, 커맨드 레지스터(Command Register)(222)와, 제어부(Control Logic)(223)와, 어드레스 레지스터(Address Register)(224)와, NAND 플래시 어레이(NAND Flash Array)(225)와, X 디코더(X Decoder)(226)와, Y 디코더(Y Decoder)(227)와, 센스 앰프 회로(Sense Amp Circuit)(228)를 포함한다.
I/O 버퍼 회로(221)는 각종 커맨드, 어드레스 신호 및 NAND 플래시 어레이(225)에 기록될 데이터 등을 입력으로 하고, NAND 플래시 어레이(225)로부터 판독되어 래치된 데이터를 출력한다.
커맨드 레지스터(222)는 입력된 커맨드를 래치하고, 입력된 신호의 내용으로부터 내부 동작을 결정한다.
또한, Lo 액티브의 신호에는, 신호명 앞에 「/」를 붙이고 있다.
신호 /CL은 커맨드 레지스터(222) 또는 제어부(223)를 선택하는 신호이다.
신호 /AL은 비휘발성 메모리(22)의 어드레스 레지스터 또는 데이터 레지스터를 선택하는 신호이다.
신호 /CE는 비휘발성 메모리(22)의 액티브 모드와 스탠바이 모드 중 어느 하나를 선택하는 신호이다.
신호 /RE는 데이터를 출력시키는 신호이다.
신호 /WE는 리드/라이트 지정 신호이고, 액티브시에 라이트 모드가 된다.
신호 /WP는 기록 및 소거 동작을 강제적으로 금지하는 신호이다.
신호 /SES는 후술하는 메인 센스 앰프와 서브 센스 앰프 중 어느 것의 출력을 유효로 할지를 제어하는 신호이다.
제어부(223)는 입력된 각 신호에 기초하여, 비휘발성 메모리(22) 내의 각 메모리 셀의 판독, 기록, 소거 등을 수행한다.
또한, 제어부(223)는 고전압 발생 회로(High Voltage Generator)(223a)를 포함한다. 이 고전압 발생 회로(223a)는 X 디코더(226) 및 NAND 플래시 어레이(225)에 구동용 전압을 공급한다.
또한, 제어부(223)는 그 제어부(223)의 내부 상태의 동작을 외부에 알리는 신호 R/B를 출력한다.
어드레스 레지스터(224)는 입력된 어드레스 신호에 기초하여 판독·기록·소거하는 행 어드레스 및 열 어드레스를 생성하고, 페이지 모드시에는 어드레스를 자동 인크리먼트한다.
X 디코더(226)는, 어드레스 레지스터(224)로부터 출력되는 행 어드레스를 디코드하여, NAND 플래시 어레이(225)의 메모리 셀의 워드선(도시 생략)을 선택한다.
Y 디코더(227)는 어드레스 레지스터(224)로부터 출력되는 열 어드레스를 디코드하여, 선택된 데이터선(도시 생략)을 통해, 메모리 셀에 데이터를 기록 및 판독한다.
센스 앰프 회로(228)는, 열 선택을 통해 선택되고, 행 선택된 워드선과의 교점에 있는 메모리 셀 내의 데이터를 후술하는 메인 센스 앰프로 수신하여, I/O 버퍼 회로(221)에 보낸다. 기록의 경우에도, 전술한 바와 같은 식으로 선택된 행의 워드선과, Y 디코더(226)에 의해 선택된 센스 앰프 회로(228)에 연결되어 있는 메모리 셀이 선택되고, 데이터 입력 회로를 통해 그 데이터선으로부터 수신한 정보를 NAND 플래시 어레이(225)의 메모리 셀에 기록한다.
도 5는 센스 앰프 회로의 구성을 도시하는 블록도이다.
센스 앰프 회로(228)는 메인 기준 셀(Main Reference Cell)(2281)과, 서브 기준 셀(Sub Reference Cell)(2282)과, 메인 센스 앰프(제1 센스 앰프)(2283)와, 서브 센스 앰프(제2 센스 앰프)(2284)와, 논리 회로(Logic Circuit)(2285)를 포함한다.
메인 기준 셀(2281)은 1 V의 전압을 메인 센스 앰프(2283)에 공급한다.
서브 기준 셀(2282)은 2 V의 전압[메인 기준 셀(2281)이 공급하는 전압보다 높은 전압]을 서브 센스 앰프(2284)에 공급한다.
메인 센스 앰프(2283)는 전류 검출형 센스 앰프이고, NAND 플래시 어레이(225)에 저장되어 있는 데이터의 판독·기록·소거에 사용된다. 예컨대 데이터 판독 동작 시에, NAND 플래시 어레이(225)의 출력 전류와 메인 기준 셀(2281)에 흐르는 전류를 비교하고, 그 비교 결과의 논리를 논리 회로(2285)에 출력한다. 구체적으로는 NAND 플래시 어레이(225)의 출력 전류가 크거나, 또는 각 전류가 동등하면 논리 「1」을 출력하고, 메인 기준 셀(2281)에 흐르는 전류가 크면 논리 「0」을 출력한다.
서브 센스 앰프(2284)는 전류 검출형 센스 앰프이고, 마진 측정에 사용된다. 이 서브 센스 앰프(2284)는 NAND 플래시 어레이(225)의 출력 전류와 서브 기준 셀(2282)에 흐르는 전류를 비교하고, 그 비교 결과의 논리를 논리 회로(2285)에 출력한다. 구체적으로는 NAND 플래시 어레이(225)의 출력 전류가 크거나, 또는 각 전류가 동일하면 논리 「1」을 출력하고, 서브 기준 셀(2282)에 흐르는 전류가 크면 논리 「0」을 출력한다.
논리 회로(2285)는 신호 /SES의 입력에 따라서 메인 센스 앰프(2283)의 출력 신호와 서브 센스 앰프(2284)의 출력 신호 중 하나를 선택하고, 선택한 신호 Data-0을 출력한다. 이것에 의해, 통상의 판독·기록·소거와, 마진 측정을 전환할 수 있다. 즉, 통상의 판독·기록·소거에는 메인 센스 앰프(2283)를 선택하고, 정기적으로 서브 센스 앰프(2284)를 선택하여 플로팅 게이트의 전압 레벨을 체크한다.
그리고, 플로팅 게이트의 전압 레벨이 서브 기준 셀(2282)의 전압 2V보다 낮은 경우, 재기록함으로써 데이터를 유지한다.
또한, 이러한 서브 센스 앰프(2284)의 처리는 후술하는 리프레시 처리에 의해 실행된다.
다음에, NAND 컨트롤러(21)가 구비하는 상태 레지스터(status register)의 설정예를 설명한다.
도 6은 상태 레지스터의 설정예를 도시하는 도면이다.
상태 레지스터(30)는 8 비트의 레지스터이다. 도 6에서는 상태 레지스터(30)의 제1 비트(REFR)에 리프레시 처리를 실행하고 있는 것을 나타내는 값이 설정(세팅)된다. 예컨대, REFR의 값이 「1」이면, 리프레시 처리가 실행되고 있다. 「0」이면, 리프레시 처리는 실행되고 있지 않다.
또한, 제5 비트(DWF)는 비휘발성 메모리(22)에 대한 기록 에러가 생겼을 때에 「1」로 설정된다.
다음에, NAND 플래시 어레이(225)의 데이터 구성을 설명한다.
NAND 플래시 어레이(225)의 내부는 복수의 블록 단위로 관리된다. 그리고 하 나의 블록은 복수의 페이지를 포함한다.
도 7 및 도 8은 페이지의 구성을 도시하는 도면이다.
비휘발성 메모리(22)의 기록 단위는 2 KByte이다. 이 기록 단위는 하나의 페이지가 528 바이트로 구성되는 4개의 페이지를 포함한다. 1 페이지는 512 바이트의 섹터(Sector)와 16 바이트의 스페어(Spare)를 포함한다.
4개의 섹터 A, B, C, D가 모여 2 K 바이트의 데이터 필드(Data Field)를 구성한다. 또한 4개의 스페어 a, b, c, d가 모여 64 바이트의 스페어 필드(Spare Field)를 구성한다.
스페어 a는 섹터 A의 스페어 영역이고, 스페어 b는 섹터 B의 스페어 영역이며, 스페어 c는 섹터 C의 스페어 영역이고, 스페어 d는 섹터 D의 스페어 영역이다.
여기서, 데이터의 기록 시에는 섹터 A의 제1 바이트의 논리를 「0」으로 고정하는 식으로 기록한다. 제2 바이트∼제512 바이트에는, 각각 사용자 데이터를 기록한다. 리프레시 처리는 섹터 A의 제1 바이트의 전압값을 체크함으로써 이루어진다.
이와 같이 제1 바이트의 논리를 「0」으로 고정함으로써, 이 위치의 셀이 안정적으로(일정 속도로) 열화된다. 이것에 의해, 보다 정밀도가 높은 마진을 측정할 수 있다.
도 8에 도시하는 바와 같이, 각 스페어(도 8에서는 스페어 a)에는 LSN(Logical Sector Number), DV(Data Validity), BBI(Bad Block Information), ECC(ECC Code for Data Field), ECCS(ECC Code for Spare Field), RSV(Reserved Area), RC(Refresh Counter) 등의 설정 영역이 포함되어 있다.
이 중 제8 바이트의 리프레시 카운터에는 리프레시 처리를 수행한 횟수가 저장된다.
도 9는 비휘발성 메모리에 부여하는 커맨드 펑션을 나타내는 도면이다.
커맨드 펑션 테이블(40)에는, 기능(Function), 제1 사이클(1st Cycle) 및 제2 사이클(2nd Cycle)의 난이 설정되어 있다. 횡방향의 난에 있는 정보들은 서로 관련되어 있다.
커맨드는 I/O 버퍼 회로(221)에 제1 사이클과 제2 사이클의 2회로 나눠 직렬 입력된다. I/O 버퍼 회로(221)에 직렬 입력된 커맨드는 커맨드 레지스터(222)에 전달된다. 이것에 의해, 외부 단자에 입력 단자를 추가하지 않고, 메인 센스 앰프(2283)와 서브 센스 앰프(2284) 중 어느 하나를 선택할 수 있다.
구체적으로는, 메인 센스 앰프(2283)의 리드 동작(Read with Main SA)은, 제1 사이클에서 커맨트 코드 「00h」가 발행되고, 제2 사이클에서 커맨드 코드 「30h」가 발행됨으로써 이루어진다.
또한, 서브 센스 앰프(2284)의 리드 동작(Read with Sub SA)은, 제1 사이클에서 커맨드 코드 「00h」가 발행되고, 제2 사이클에서 커맨드 코드 「31h」가 발행됨으로써 이루어진다.
또한, 커맨드 코드 「30h」, 「31h」는 일례이고, 상이한 코드를 할당할 수도 있다.
다음으로, NAND 컨트롤러(21)의 지시에 따라, 비휘발성 메모리(22)가 수행하는 리프레시 처리를 설명한다.
도 10은 리프레시 처리 필요 여부 판단 처리를 나타내는 흐름도이다.
우선, NAND 컨트롤러(21)가 CPU(11)의 클록 등에 의해 경과 시간을 측정한다(단계 S1).
그리고, 미리 준비한 경과 시간에 도달했는지의 여부(리프레시 처리를 실행할 필요가 있는지의 여부)를 판단한다(단계 S2). 이 경과 시간은, 예컨대 이전회 리프레시 처리를 실행한 시간으로부터의 경과 시간이다.
미리 준비한 경과 시간에 도달하지 않은 경우(단계 S2의 No), 단계 S1로 이행하고, 단계 S1 이후의 처리를 계속해서 수행한다.
한편, 미리 준비한 경과 시간에 도달한 경우(단계 S2의 Yes), 상태 레지스터(30)의 「REFR」의 값을 「1」로 설정한다(단계 S3).
다음에, 리프레시 처리를 수행한다(단계 S4).
리프레시 처리 종료 후, 상태 레지스터(30)의 「REFR」의 값을 「0」으로 설정한다(단계 S5).
이상으로 리프레시 처리 필요 여부 판단 처리의 설명을 종료한다.
또한, 상기 처리를 실행하지 않고, CPU(11)가 미리 정해진 타이밍에서 리프레시 처리를 실행하도록 지시하여도 좋다.
도 11 및 도 12는 리프레시 처리를 나타내는 흐름도이다.
우선, 메인 센스 앰프(2283)를 사용하여 NAND 플래시 어레이(225)의 데이터 (예컨대 도 7 또는 도 8에 도시하는 데이터 구성의 데이터)를 판독한다(단계 S11).
다음에, 판독한 데이터로부터 ECC를 생성한다(단계 S12).
다음에 ECC 에러가 발생했는지의 여부를 판단한다(단계 S13).
ECC 에러가 발생한 경우(단계 S13의 Yes), 리드 에러 신호를 CPU(11)에 송신한다(단계 S14). 그 후, 처리를 종료한다.
한편, 에러가 발생하지 않은 경우(단계 S13의 No), 서브 센스 앰프(2284)를 사용하여 NAND 플래시 어레이(225)의 데이터를 판독한다(단계 S15).
다음에, 판독한 데이터로부터 ECC를 생성한다(단계 S16).
다음에, ECC 에러가 발생했는지의 여부를 판단한다(단계 S17).
ECC 에러가 발생하지 않은 경우(단계 S17의 No), (플로팅 게이트의 전압 마진이 충분히 확보되었다고 판단하여)처리를 종료한다.
ECC 에러가 발생한 경우(단계 S17의 Yes), (마진이 부족하다고 판단하여)재차, 메인 센스 앰프(2283)를 사용하여 NAND 플래시 어레이(225)의 데이터를 판독한다(단계 S18).
그리고, 판독한 데이터로부터 ECC를 생성한다(단계 S19).
다음에, ECC 에러가 발생했는지의 여부를 판단한다(단계 S20).
ECC 에러가 발생한 경우(단계 S20의 Yes), 단계 S14로 이행하고, 리드 에러 신호를 CPU(11)에 송신한다(단계 S14). 그 후, 처리를 종료한다.
ECC 에러가 발생하지 않은 경우(단계 S20의 No), 메인 센스 앰프(2283)로써 판독된 데이터를 NAND 플래시 어레이(225)의 이 어드레스의 블록에 재차 기록한다 (단계 S21).
다음에, NAND 플래시 어레이(225)의 상태 레지스터(30)의 「DWF」의 값을 판독한다(단계 S22).
그리고, 기록 에러가 발생하였는지의 여부를 판단한다(단계 S23).
기록 에러가 발생하지 않은 경우(단계 S23의 No), 처리를 종료한다.
기록 에러가 발생한 경우(단계 S23의 Yes), 기록 에러 신호를 CPU(11)에 송신한다(단계 S24). 그 후, 처리를 종료한다.
이상으로 리프레시 처리의 설명을 종료한다.
또한, 본 실시형태에서는, 단계 S2의 처리 후에 단계 S3의 처리를 수행하였지만, 단계 S3의 처리를 먼저 수행하고, 그 후 단계 S2의 처리를 수행하여도 좋다.
도 13은 리프레시 처리의 효과를 나타내는 도면이다.
도 13에 도시하는 그래프의 횡축은 경과 시간, 또는 기록 및 판독 사이클의 수를 나타내고, 종축은 플로팅 게이트의 전압값을 나타낸다.
또한, 도 13에서 「리프레시 처리」는 재기록이 필요한지의 여부가 판정되는 타이밍을 나타낸다.
플로팅 게이트의 전압 레벨이 2 V 이상인 경우는, 충분한 마진이 있기 때문에 재기록하지는 않는다.
한편, 플로팅 게이트의 전압 레벨이 2 V 이하인 경우는 마진이 부족하기 때문에, 재기록하여 데이터를 유지한다.
이와 같이 플로팅 게이트의 전압값이, 메인 기준 셀(2281)이 공급하는 1 V의 전압과 서브 기준 셀(2282)이 공급하는 2 V의 전압 사이에 위치할 때에 리프레시 처리를 수행하여 재기록함으로써, 플로팅 게이트의 전압 마진이 충분히 확보될 때에 데이터를 재차 기록할 수 있다.
또한, 서브 기준 셀(2282)의 전압값은 특별히 한정되지 않지만, 기록하는 전압값보다 메인 기준 셀(2281)의 전압값에 가까워지도록 설정되는 것이 바람직하다. 이것에 의해, 재차 기록 횟수를 줄일 수 있어, 비휘발성 메모리(22)의 수명을 길게 할 수 있다.
이상 진술한 바와 같이, 모듈(10)에 의하면, 리프레시 처리를 수행함으로써, 절연막의 열화에 의해 NAND 플래시 어레이(225)의 데이터 유지 성능이 열화된 경우라도, 데이터를 재기록함으로써 데이터를 계속 유지할 수 있다.
또한, 섹터 A의 제1 바이트에, 반드시 기록 상태를 유지하는 바이트를 준비하고, 이 바이트를 마진 측정에 이용하도록 하였다. 이것에 의해, 정밀도가 높은 마진을 측정할 수 있기 때문에, 데이터의 신뢰성을 높일 수 있다.
또한, 미리 복수의 센스 앰프가 설치된 비휘발성 메모리이면, 본 실시형태의 구성을 용이하게 적용할 수 있는 것은 물론이다.
그런데, 리프레시 처리가 현재 실행되고 있다는 것을 디스플레이(15)에 표시하여도 좋다.
도 14는 리프레시 처리가 현재 실행되고 있다는 것을 디스플레이에 표시할 때의 처리를 나타내는 흐름도이다.
CPU(11)가 NAND 컨트롤러(21)의 상태 레지스터(30)의「REFR」를 참조한다(단 계 S31).
그리고, 「REFR」의 값이 「1」인지의 여부를 판단한다(단계 S32).
「REFR」의 값이 「0」인 경우(단계 S32의 No), 처리를 종료한다.
한편, 「REFR」의 값이 「1」인 경우(단계 S32의 Yes), 리프레시 처리가 실행해되고 있기 때문에, CPU(11)에 통지한다. CPU(11)는 리프레시 처리를 실행하고 있다는 것을 나타내는 메시지를 디스플레이(15)에 표시한다(단계 S33). 그 후, 처리를 종료한다.
이것에 의해, 사용자는 리프레시 처리가 현재 실행되고 있는지의 여부를 용이하게 파악할 수 있다.
또한, 비휘발성 메모리(22)의 교환을 재촉하는 화면을 디스플레이(15)에 표시할 수도 있다.
도 15는 비휘발성 메모리의 교환을 재촉하는 화면을 디스플레이에 표시할 때의 처리를 나타내는 흐름도이다.
CPU(11)가 비휘발성 메모리(22)의 리프레시 카운터의 값 「C」를 참조한다(단계 S41).
그리고, 리프레시 카운터의 값 「C」와, 미리 준비한 값 「M」(예컨대 M=100)을 비교하여, 값 「C」가 값 「M」보다 큰지의 여부를 판단한다(단계 S42).
값 「C」가 값「M」 미만인 경우(단계 S42의 No), 처리를 종료한다.
한편, 값 「C」가 값 「M」보다 큰 경우(단계 S42의 Yes), 비휘발성 메모리(22)의 교환이 필요하다고 판정하여 CPU(11)에 통지한다. CPU(11)는 비휘발성 메 모리(22)의 교환을 재촉하는 메시지를 디스플레이(15)에 표시한다(단계 S43). 그 후, 처리를 종료한다.
이것에 의해, 사용자는 비휘발성 메모리(22)의 교환 시기를 용이하게 파악할 수 있다.
<제2 실시형태>
다음으로, 제2 실시형태의 시스템에 대해서 설명한다.
이하, 제2 실시형태의 시스템에 대해서, 전술한 제1 실시형태의 시스템과의 상위점을 중심으로 설명하고, 같은 사항에 대해서는 그 설명을 생략한다.
제2 실시형태의 시스템은 센스 앰프 회로의 구성이 제1 실시형태의 센스 앰프 회로(228)와 상이하고, 그 이외는 제1 실시형태와 같다.
도 16은 제2 실시형태의 센스 앰프 회로의 구성을 도시하는 블록도이다.
센스 앰프 회로(228a)에는 논리 회로(2285)가 설치되어 있지 않다. 대신에 메인 센스 앰프(2283) 및 서브 센스 앰프(2286)에 직접, 신호 Data-0을 출력하는 센스 앰프를 지정하는 신호 /SES가 입력된다.
또한, 서브 센스 앰프(2286)에는 신호 /SES의 논리가 반전되어 입력되는 반전 입력 단자가 설치되어 있다. 이것에 의해, 어느 한 쪽에는 논리가 「1」인 신호가 입력되고, 다른쪽에는 논리가 「0」인 신호가 입력된다. 이것에 의해, 선택된 한쪽 센스 앰프의 신호가 신호 Data-O으로서 출력된다.
이 제2 실시형태의 시스템에 의하면, 제1 실시형태의 시스템과 동일한 효과를 얻을 수 있다.
<제3 실시형태>
다음으로, 제3 실시형태의 시스템에 대해서 설명한다.
이하, 제3 실시형태의 시스템에 대해서, 전술한 제1 실시형태의 시스템과의 상위점을 중심으로 설명하고, 같은 사항에 대해서는 그 설명을 생략한다.
제3 실시형태의 시스템은 비휘발성 메모리의 구성이 제1 실시형태와 상이하고, 그 이외는 제1 실시형태와 같다.
도 17은 제3 실시형태의 비휘발성 메모리를 도시하는 블록도이다.
제3 실시형태의 비휘발성 메모리(22a)의 제어부(223)는 외부로부터 지정된 어드레스(이하, 「재기록 어드레스」라고 함)의 블록의 데이터를 판독하여 I/O 버퍼 회로(221)에 기억시킨다. 그리고, 이 어드레스의 블록의 데이터를 소거한 후에, I/O 버퍼 회로(221)에 기억된 데이터를 이 어드레스의 블록에 재기록하기 위한 재기록 회로(Rewrite Circuit)(223b)를 포함한다.
도 18은 제3 실시형태의 비휘발성 메모리의 커맨드 펑션을 나타내는 도면이다.
커맨드 펑션 테이블(40a)에는, 재기록 어드레스의 블록에 대한 데이터를 재기록(Rewrite to Current Block)하기 위한 커맨드(리라이트 커맨드)가 추가되어 있다.
재기록 어드레스의 블록에 대한 데이터의 재기록은, 제1 사이클에서 커맨드 코드 「50h」가 발행되고, 제2 사이클에서 커맨드 코드 「10h」가 발행됨으로써 이루어진다.
다음으로, 제3 실시형태의 리프레시 처리를 설명한다.
도 19는 제3 실시형태의 리프레시 처리를 나타내는 흐름도이다.
이하, 제1 실시형태의 리프레시 처리와 상이한 부분을 중심으로 설명한다.
ECC 에러가 발생한 경우(단계 S17의 Yes), (마진이 부족하다고 판단하여)비휘발성 메모리(22)에 리라이트 커맨드를 발행한다. 이것에 의해, 비휘발성 메모리(22)의 재기록 회로(223b)가 재기록 처리를 수행한다(단계 S18a).
그 후, 단계 S22로 이행하고, 단계 S22 이후의 처리를 수행한다.
다음으로, 단계 S18a의 재기록 처리에 대해서 설명한다.
도 20은 재기록 처리를 나타내는 흐름도이다.
우선, 커맨드 레지스터(222)가 NAND 컨트롤러(21)로부터 제1 사이클의 리프레시 커맨드(81h)를 접수한다(단계 S51).
다음에, 어드레스 레지스터(224)가 NAND 컨트롤러(21)로부터 재기록 어드레스를 접수한다(단계 S52).
다음에, 커맨드 레지스터(222)가 NAND 컨트롤러(21)로부터 제2 사이클의 리프레시 커맨드(10h)를 접수한다(단계 S53).
다음에, NAND 플래시 어레이(225)로부터 I/O 버퍼 회로(221)에 데이터를 독출한다(단계 S54).
다음에, I/O 버퍼 회로(221)에 데이터를 유지한 상태에서 이 어드레스의 블록의 데이터를 소거한다(단계 S55).
다음에, 소거 에러가 발생했는지의 여부를 판단한다(단계 S56).
소거 에러가 발생한 경우(단계 S56의 Yes), 상태 레지스터(30)의 「DWF」에 에러가 발생한 것을 나타내는 플래그를 설정한다(단계 S57). 그 후, 처리를 종료한다.
한편, 소거 에러가 발생하지 않은 경우(단계 S56의 No), I/O 버퍼 회로(221)가 유지하고 있는 데이터를 재기록 어드레스의 블록에 기록한다(단계 S58).
다음에, 기록 에러가 발생했는지의 여부를 판단한다(단계 S59).
기록 에러가 발생한 경우(단계 S59의 Yes), 단계 S57로 이행하고, 단계 S57 이후의 처리를 수행한다.
한편, 기록 에러가 발생하지 않은 경우(단계 S59의 No), 처리를 종료한다.
또한, 본 실시형태에서는, 단계 S52에 나타내는 처리 후에 단계 S53에 나타내는 처리를 수행하였지만, 단계 S53에 나타내는 처리 후에 단계 S52에 나타내는 처리를 수행하여도 좋다.
이 제3 실시형태의 시스템에 의하면, 제1 실시형태의 시스템과 같은 효과를 얻을 수 있다.
<제4 실시형태>
다음으로, 제4 실시형태의 시스템에 대해서 설명한다.
이하, 제4 실시형태의 시스템에 대해서, 전술한 제3 실시형태의 시스템과의 상위점을 중심으로 설명하고, 같은 사항에 대해서는 그 설명을 생략한다.
제4 실시형태의 시스템은 비휘발성 메모리의 구성이 제3 실시형태와 상이하고, 그 이외는 제3 실시형태와 같다.
도 21은 제4 실시형태의 비휘발성 메모리를 도시하는 블록도이다.
비휘발성 메모리(22b)는 재기록 어드레스의 블록의 데이터를 판독하여 I/O 버퍼 회로(221)에 기억시킨다. 그리고 I/O 버퍼 회로(221)와는 별개로, 외부에서 지정된 이 어드레스와는 상이한 어드레스(이하, 「치환 어드레스」라고 함)의 블록에 데이터를 재기록하기 위한 치환 레지스터(Replace Resister)(229)를 포함한다.
도 22는 제4 실시형태의 비휘발성 메모리의 커맨드 펑션을 나타내는 도면이다.
커맨드 펑션 테이블(40b)에는, 치환 어드레스의 블록에 데이터를 재기록하는(Rewrite to Replacement Block) 커맨드(리플레이스 커맨드)가 추가되어 있다.
치환 어드레스의 블록에 대한 데이터의 재기록은, 제1 사이클에서 커맨드 코드 「83h」가 발행되고, 제2 사이클에서 커맨드 코드 「10h」가 발행됨으로써 이루어진다.
다음으로, 제4 실시형태의 리프레시 처리를 설명한다.
제4 실시형태의 리프레시 처리는 도 19에 나타내는 단계 S18a에서의 재기록 처리에 있어서 제3 실시형태와 상이하다.
이하, 제4 실시형태의 재기록 처리를 설명한다.
도 23은 제4 실시형태의 재기록 처리를 나타내는 흐름도이다.
우선, 커맨드 레지스터(222)가 NAND 컨트롤러(21)로부터 제1 사이클의 리플레이스 커맨드(83h)를 접수한다(단계 S61).
다음에, 어드레스 레지스터(224)가 NAND 컨트롤러(21)로부터 재기록하는 어 드레스를 접수한다(단계 S62).
다음에, 치환 레지스터(229)가 NAND 컨트롤러(21)로부터 치환 어드레스를 접수한다(단계 S63).
다음에, 커맨드 레지스터(222)가 NAND 컨트롤러(21)로부터 제2 사이클의 리플레이스 커맨드(10h)를 접수한다(단계 S64).
다음에, NAND 플래시 어레이(225)의 지정된 재기록 어드레스의 블록으로부터 I/O 버퍼 회로(221)에 데이터를 독출하여, I/O 버퍼 회로(221)에 데이터를 유지시킨다(단계 S65).
다음에, 제어부(223)가 어드레스를 치환 어드레스로 전환하고, I/O 버퍼 회로(221)가 유지하고 있는 데이터를 치환 어드레스의 블록에 기록한다(단계 S66).
다음에, 기록 에러가 발생했는지의 여부를 판단한다(단계 S67).
기록 에러가 발생한 경우(단계 S67의 Yes), 상태 레지스터(30)의 「DWF」에 에러가 발생한 것을 나타내는 플래그를 설정한다(단계 S68). 그 후, 처리를 종료한다.
한편, 기록 에러가 발생하지 않은 경우(단계 S67의 No), 재기록 어드레스의 블록의 데이터를 소거한다(단계 S69).
다음에, 소거 에러가 발생했는지의 여부를 판단한다(단계 S70).
소거 에러가 발생한 경우(단계 S70의 Yes), 단계 S68로 이행하여, 단계 S68 이후의 처리를 수행한다.
한편, 소거 에러가 발생하지 않은 경우(단계 S70의 No), NAND 컨트롤러(21) 의 지시에 기초하여, 논리 어드레스와 물리 어드레스의 관계를 기재한 맵핑 테이블을 갱신한다(단계 S71). 그 후, 처리를 종료한다.
이하, NAND 컨트롤러(21)가 실행하는 맵핑 테이블의 갱신 처리에 대해서 설명한다.
도 24는 맵핑 테이블의 갱신 처리를 나타내는 흐름도이다.
우선, 비휘발성 메모리(22)에 리플레이스 커맨드를 송신하여 상태 레지스터(30)의 비트 내용을 판독한다(단계 S81).
다음에, 기록 에러가 발생하였는지의 여부를 판단한다(단계 S82).
기록 에러가 발생한 경우(단계 S82의 Yes), 기록 에러를 CPU(11)에 송신한다(단계 S83). 그 후, 처리를 종료한다.
기록 에러가 발생하지 않은 경우(단계 S82의 No), 맵핑 테이블을 갱신한다(단계 S84). 구체적으로는, 논리 어드레스에 대응하는 물리 어드레스를, 데이터가 판독된 어드레스로부터 치환 어드레스로 치환한다. 그 후, 처리를 종료한다.
이 제4 실시형태의 시스템에 의하면, 제3 실시형태의 시스템과 같은 효과를 얻을 수 있다.
또한, 비휘발성 메모리(22)는 동일한 어드레스의 블록에 기록·소거를 반복하면 열화가 진행되기 때문에, 전체 어드레스의 재기록 횟수가 평균화되는 것이 바람직하다.
제4 실시형태의 시스템에 의하면, 데이터가 판독된 어드레스와는 상이한 어드레스의 블록에 데이터를 재차 기록함으로써 재기록 횟수를 평균화할 수 있다. 이 것에 의해, 비휘발성 메모리(22)의 수명이 길어지고, 신뢰성을 더 높일 수 있다.
<제5 실시형태>
다음으로, 제5 실시형태의 시스템에 대해서 설명한다.
이하, 제5 실시형태의 시스템에 대해서, 전술한 제1 실시형태의 시스템과의 상위점을 중심으로 설명하고, 같은 사항에 대해서는 그 설명을 생략한다.
제5 실시형태의 시스템은 NAND 컨트롤러의 구성이 제1 실시형태와 상이하고, 그 이외는 제1 실시형태와 같다.
도 25는 제5 실시형태의 NAND 컨트롤러의 구성을 도시하는 블록도이다.
NAND 컨트롤러(21a)는 미리 정해진 횟수를 초과했는지의 여부를 판단하기 위한 임계값이 CPU(11)에 의해 설정될 수 있는 리프레시 간격 레지스터(Refresh Interval Register)(217)를 포함한다.
또한, NAND 컨트롤러(21a)는 비휘발성 메모리의 미리 정해진 위치(후술)에 비휘발성 메모리에 대해 판독·소거·기록 중 어느 하나를 수행한 횟수를 액세스 횟수 정보로서 기록한다.
그리고, NAND 컨트롤러(21a)는 비휘발성 메모리(22)로부터 판독된 액세스 횟수 정보가 리프레시 간격 레지스터(217)에 설정된 수치를 초과한 경우에 리프레시 처리를 수행한다.
도 26은 액세스 횟수 정보의 설정예를 나타내는 도면이다.
스페어 a, b, c, d의 제15 바이트 및 제16 바이트에, 액세스 횟수 정보를 기록하는 액세스 카운터(AC: Access Counter)가 설정되어 있다. 또한, 도 26에서는 일례로서 스페어 a의 설정예를 나타내고 있다.
다음으로, 제5 실시형태의 리프레시 처리 필요 여부 판단 처리를 설명한다.
도 27은 제5 실시형태의 리프레시 처리 필요 여부 판단 처리를 나타내는 흐름도이다.
우선, NAND 플래시 어레이(225)의 액세스 카운터를 참조하여, 액세스 횟수 정보를 판독한다(단계 S91).
다음에, 액세스 횟수 정보값 「A」와 미리 준비한 값 「N」(예컨대 N=1000)을 비교하여, 액세스 횟수 정보값 「A」가 값 「N」보다 큰지의 여부를 판단한다(단계 S92).
값 「A」가 값 「N」 미만인 경우(단계 S92의 No), 처리를 종료한다.
한편, 값 「A」가 값 「N」보다 큰 경우(단계 S92의 Yes), 상태 레지스터(30)의 「REFR」의 값을 「1」로 설정한다(단계 S93).
다음에, 리프레시 처리를 수행한다(단계 S94). 또한 리프레시 처리의 내용은 도 11에 나타내는 리프레시 처리와 같다.
리프레시 처리의 종료 후, 상태 레지스터(30)의 「REFR」의 값을 「0」으로 설정한다(단계 S95).
그 후, 처리를 종료한다.
이상으로 리프레시 처리 필요 여부 판단 처리의 설명을 종료한다.
이 제5 실시형태의 시스템에 의하면, 제1 실시형태의 시스템과 같은 효과를 얻을 수 있다.
그리고, 제5 실시형태의 시스템에 의하면, 실제 액세스 횟수에 기초하여 리프레시 처리를 수행하기 때문에, 데이터의 신뢰성을 더 높일 수 있다.
<제6 실시형태>
다음으로, 제6 실시형태의 시스템에 대해서 설명한다.
이하, 제6 실시형태의 시스템에 대해서, 전술한 제5 실시형태의 시스템과의 상위점을 중심으로 설명하고, 같은 사항에 대해서는 그 설명을 생략한다.
제6 실시형태의 시스템은 CPU(11)의 기능이 제5 실시형태와 상이하고, 그 이외는 제5 실시형태와 같다.
제6 실시형태의 CPU(11)는 비휘발성 메모리(22)로부터 리프레시 카운터의 카운터값을 판독하여, 그 값이 미리 정해진 값을 초과한 경우, NAND 컨트롤러(21a) 의 리프레시 간격 레지스터(217)의 값을 변경한다.
도 28은 리프레시 간격 변경 처리를 나타내는 흐름도이다.
우선, NAND 플래시 어레이(225)의 리프레시 카운터를 참조하여, 카운터값을 판독한다(단계 S101).
다음에, 리프레시 카운터의 카운터값 「Co」와 미리 준비한 값 「P」(예컨대 P=10)를 비교하여, 카운터값 「Co」가 값 「P」보다 큰지의 여부를 판단한다(단계 S102).
카운터값 「Co」가 값 「P」 미만인 경우(단계 S102의 No), 처리를 종료한다.
한편, 카운터값 「Co」가 값 「P」보다 큰 경우(단계 S102의 Yes), NAND 컨 트롤러(21)의 리프레시 간격 레지스터(217)의 값 「I」를 판독한다(단계 S103).
다음에, 리프레시 간격을 변경한다(단계 S104). 구체적으로는, 예컨대 「X=0.5」 로 설정함으로써, 판독한 값 「I」를 절반으로 한다.
다음에, 단계 S104에서 변경한 레지스터의 값을 리프레시 간격 레지스터(217)에 기록한다(단계 S105). 그 후, 처리를 종료한다.
도 29는, 리프레시 간격 변경 처리의 효과를 나타내는 도면이다.
리프레시 간격 변경 처리가 수행됨으로써, 2회째부터 3회째 및 3회째부터 4회째의 리프레시 처리가 수행되는 타이밍이 1회째부터 2회째의 절반으로 되어 있다.
이 제6 실시형태의 시스템에 의하면, 제5 실시형태의 시스템과 동일한 효과를 얻을 수 있다.
그리고, 제6 실시형태의 시스템에 의하면, 또한 기록 횟수가 증가하여, 절연막의 열화에 의해 데이터를 유지할 수 있는 기간이 감소한 경우라도, 리프레시 처리를 수행하는 간격을 짧게 함으로써, 데이터의 신뢰성을 보다 높일 수 있다.
<제7 실시형태>
다음으로, 제7 실시형태의 시스템에 대해서 설명한다.
이하, 제7 실시형태의 시스템에 대해서, 전술한 제1 실시형태의 시스템과의 상위점을 중심으로 설명하고, 같은 사항에 대해서는 그 설명을 생략한다.
제7 실시형태의 시스템은 NAND 컨트롤러의 구성이 제1 실시형태와 상이하고, 그 이외는 제1 실시형태와 같다.
도 30은 제7 실시형태의 NAND 컨트롤러의 구성을 도시하는 블록도이다.
NAND 컨트롤러(21b)는 또한 모듈(10)이 구비하는 리얼타임 클록 IC(도시 생략)로부터 현재 일시(日時) 정보를 취득하는 I2C 인터페이스부(I2C Interface Unit)(218)를 포함한다.
NAND 인터페이스부(216)는 I2C 인터페이스부(218)가 취득한 현재 일시 정보를 비휘발성 메모리(22)의 미리 정해진 영역에 설정한다.
도 31은 비휘발성 메모리의 현재 일시 정보의 설정을 설명하는 도면이다.
스페어 a, b, c, d의 제15 비트 및 제16 비트에, 마지막으로 리프레시 처리를 수행한 일시를 기억하는 LRD(Latest Refresh Date)가 설정되어 있다. 또한, 도 31에서는 일례로서 스페어 a의 설정예를 나타내고 있다.
다음으로, 제7 실시형태의 리프레시 필요 여부 판단 처리를 설명한다.
도 32는 제7 실시형태의 리프레시 처리 필요 여부 판단 처리를 나타내는 흐름도이다.
우선, I2C 인터페이스부(218)가 리얼타임 클록 IC로부터 현재 일시 정보 「Cu」를 판독한다(단계 S111).
다음에, LRD에 저장되어 있는 일시 정보 「L」을 판독한다(단계 S112).
그리고, 현재 일시 정보 「Cu」로부터 일시 정보 「L」을 감산한 값 「Cu-L」과, 미리 정한 값 「Q」(예컨대 Q=7일)를 비교하여, 값 「Cu-L」이 값 「Q」보다 큰지의 여부를 판단한다(단계 S113).
값 「Cu-L」이 값 「Q」 미만인 경우(단계 S113의 No), 처리를 종료한다.
한편, 값 「Cu-L」이 값 「Q보다 큰 경우(단계 S113의 Yes), 상태 레지스터(30)의 「REFR」의 값을 「1」로 설정한다(단계 S114).
다음에, 리프레시 처리를 수행한다(단계 S115). 또한 리프레시 처리의 내용은 도 11에 도시하는 리프레시 처리와 같다.
리프레시 처리의 종료 후, 상태 레지스터(30)의 「REFR」의 값을 「0」으로 설정한다(단계 S116).
그 후, 처리를 종료한다.
이상으로 리프레시 처리 필요 여부 판단 처리의 설명을 종료한다.
이 제7 실시형태의 시스템에 의하면, 제1 실시형태의 시스템과 같은 효과를 얻을 수 있다.
그리고, 제7 실시형태의 시스템에 의하면, 데이터 액세스가 없어도 시간의 경과와 함께 전위가 하강하고, 논리가 반전되어 버리는 것을 확실하게 방지할 수 있다. 이것에 의해, 신뢰성을 더 높일 수 있다.
이상, 본 발명의 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법을, 예시한 실시형태에 기초하여 설명했지만, 본 발명은 이것에 한정되는 것이 아니고, 각 부분의 구성은 같은 기능을 갖는 임의의 구성의 것으로 대체될 수 있다. 또한, 본 발명에, 다른 임의의 구성물이나 공정이 부가될 수도 있다.
또한, 본 발명은 전술한 각 실시형태 중, 임의의 2 이상의 구성(특징)을 조합한 것이어도 좋다.
또한, 전술한 각 실시형태에서는, 컴퓨터 시스템을 이용하여 설명했지만, 본 발명을 휴대 전화나 PDA 등의 정보 처리 장치에도 적용할 수 있다.
이상의 제1∼제7 실시형태에 관해서, 이하의 부기를 더 개시한다.
(부기 1)
플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와,
상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와,
상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와,
상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터를 재차 기록하는 기록부
를 포함하는 것을 특징으로 하는 비휘발성 메모리.
(부기 2)
상기 제2 센스 앰프의 판정은 상기 제1 센스 앰프에서, 상기 제1 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 후에 이루어지는 것을 특징으로 하는 부기 1에 기재된 비휘발성 메모리.
(부기 3)
입력되는 선택 신호에 기초하여, 상기 제1 센스 앰프의 출력과 상기 제2 센스 앰프의 출력 중 어느 하나를 선택하는 것을 특징으로 하는 부기 1에 기재된 비 휘발성 메모리.
(부기 4)
상기 선택 신호에 기초하여, 상기 제1 센스 앰프의 출력과 상기 제2 센스 앰프의 출력 중 어느 하나를 선택하는 선택 회로를 포함하는 것을 특징으로 하는 부기 3에 기재된 비휘발성 메모리.
(부기 5)
커맨드를 접수하고, 상기 커맨드에 따라서 상기 선택 신호를 출력하는 커맨드 레지스터를 포함하는 것을 특징으로 하는 부기 2 또는 3에 기재된 비휘발성 메모리.
(부기 6)
상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하는 데이터 판독부와,
판독된 상기 데이터를 일시(一時) 기억하는 일시 기억부를 더 포함하며,
상기 데이터 판독부는, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 데이터를 블록 단위로 판독하여 상기 일시 기억부에 기억시키고,
상기 기록부는 상기 어드레스의 블록의 데이터를 소거한 후에, 상기 일시 기억부에 기억된 데이터를 상기 어드레스의 블록에 재차 기록하는 것을 특징으로 하는 부기 1에 기재된 비휘발성 메모리.
(부기 7)
상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하는 데이 터 판독부와,
판독된 상기 데이터를 일시 기억하는 일시 기억부를 더 포함하며,
상기 데이터 판독부는, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 데이터를 블록 단위로 판독하여 상기 일시 기억부에 기억시키고,
상기 기록부는 상기 어드레스의 블록의 데이터를 소거한 후에, 상기 일시 기억부에 기억된 데이터를 상기 어드레스의 블록과는 상이한 어드레스의 블록에 재차 기록하는 것을 특징으로 하는 부기 1에 기재된 비휘발성 메모리.
(부기 8)
상기 메모리 셀 어레이의 어드레스의 블록에 데이터를 기록할 때, 상기 블록의 미리 정해진 메모리 셀은 데이터를 항상 기록하는 기록 위치로 설정되어 있고,
상기 제2 센스 앰프는 상기 기록 위치의 메모리 셀의 플로팅 게이트의 전압값과 상기 제2 임계값과의 대소를 판정하는 것을 특징으로 하는 부기 1에 기재된 비휘발성 메모리.
(부기 9)
플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와, 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와, 지시된 데이터를 상기 메모리 셀에 기록하는 기록부를 갖는 비휘발성 메모리에 대하여, 상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다 고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터 기록을 상기 기록부에 지시하는 기록 지시부를 포함하는 것을 특징으로 하는 메모리 제어 장치.
(부기 10)
상기 비휘발성 메모리는, 상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하는 데이터 판독부와, 상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하여 일시 기억하는 일시 기억부를 더 포함하며,
상기 기록 지시부는, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 데이터를 포함하는 어드레스의 블록의 데이터를 상기 데이터 판독부로 판독시켜 상기 일시 기억부에 기억시키고, 상기 어드레스의 블록의 데이터를 소거한 후에, 상기 기록부로 하여금, 상기 일시 기억부에 기억된 데이터를 상기 어드레스의 블록에 재차 기록시키는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 11)
상기 비휘발성 메모리는, 상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하는 데이터 판독부와, 상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하여 일시 기억하는 일시 기억부를 더 포함하며,
상기 기록 지시부는, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 데이터를 포함하는 어드레스의 블록의 데이터를 상기 데이터 판독부로 판독시켜 상기 일시 기억부에 기억시키고, 상기 어드레스의 블록의 데이터를 소거한 후에, 상기 기록부로 하여금, 상기 일시 기억부에 기억된 데이터를 상기 어드 레스의 블록과는 상이한 어드레스의 블록에 재차 기록시키는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 12)
상기 블록의 논리 어드레스와, 상기 논리 어드레스에 대한 물리 어드레스를 관리하는 테이블을 더 포함하며,
상기 기록 지시부는, 상기 기록부로 하여금, 상기 일시 기억부에 기억된 데이터를 상기 어드레스의 블록에 재차 기록시키고, 상기 테이블의 상기 데이터의 논리 어드레스에 대응하는 재차 기록된 물리 어드레스를 갱신하는 것을 특징으로 하는 부기 11에 기재된 메모리 제어 장치.
(부기 13)
상기 기록 지시부는, 상기 메모리 셀 어레이의 지정된 어드레스의 블록에 데이터를 기록할 때, 상기 블록의 미리 정해진 위치에 데이터를 기록하도록 상기 기록부에 지시하는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 14)
상기 비휘발성 메모리는, 미리 정해진 일시(日時)가 경과했는지의 여부를 판단하는 일시 경과 판단용 임계값이 설정된 레지스터를 더 포함하며,
상기 기록 지시부는, 상기 제2 센스 앰프가 판정 처리를 수행할 때마다, 상기 판정 처리를 수행한 일시를 상기 비휘발성 메모리의 미리 정해진 위치에 기록하도록 상기 기록부에 지시하고,
현재의 일시와 상기 미리 정해진 위치에 기록된 일시와의 차분이 상기 일시 경과 판단용 임계값을 초과한 경우에 상기 제2 센스 앰프의 판정 처리를 수행하게 하는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 15)
상기 메모리 셀의 액세스 횟수를 판단하는 액세스 횟수 판단용 임계값이 설정된 레지스터를 더 포함하며,
상기 기록 지시부는, 상기 비휘발성 메모리에 대한 액세스 횟수를 상기 비휘발성 메모리의 미리 정해진 위치에 기록하도록 상기 기록부에 지시하고,
상기 액세스 횟수가 상기 액세스 횟수 판단용 임계값을 초과한 경우에 상기 제2 센스 앰프의 판정 처리를 수행하게 하는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 16)
상기 제2 센스 앰프가 처리를 수행하고 있는 것을 나타내는 플래그를 설정하는 레지스터를 더 포함하는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 17)
상기 기록 지시부는, 상기 기록 지시부가 상기 기록부에 기록을 지시한 횟수를 상기 비휘발성 메모리의 미리 정해진 위치에 기록하도록 상기 기록부에 지시하는 것을 특징으로 하는 부기 9에 기재된 메모리 제어 장치.
(부기 18)
플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 상 기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와, 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와, 지시된 데이터를 상기 메모리 셀에 기록하는 기록부를 갖는 비휘발성 메모리와,
상기 비휘발성 메모리에 대하여, 상기 제2 센스 앰프에서 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터 기록을 상기 기록부에 지시하는 기록 지시부를 갖는 메모리 제어 장치와,
상기 메모리 제어 장치의 동작 상태를 표시 장치에 표시하는 표시 제어부
를 포함하는 것을 특징으로 하는 메모리 제어 시스템.
(부기 19)
상기 메모리 제어 장치는 상기 기록 지시부가 기록을 지시하고 있는 것을 나타내는 플래그를 설정하는 레지스터를 더 포함하며,
상기 표시 제어부는 상기 레지스터에 설정된 플래그를 판독하고, 상기 플래그가 설정되어 있는 경우, 상기 기록 지시부가 상기 플로팅 게이트의 논리를 유지하는 기록의 지시를 행하고 있는 것을 상기 표시 장치에 표시하는 것을 특징으로 하는 부기 18에 기재된 메모리 제어 시스템.
(부기 20)
상기 비휘발성 메모리는 상기 기록 지시부가 상기 기록부에 기록을 지시하는 횟수를 저장하는 부위를 포함하며,
상기 횟수가 미리 정해진 횟수를 초과한 경우, 상기 제2 센스 앰프의 이전회의 판정 처리를 수행한 시간부터 이번 판정 처리를 수행할 때까지의 시간의 간격보다 이번 판정 처리를 수행하는 시간부터 다음번 이후의 판정 처리를 수행하는 시간의 간격을 짧게 하는 것을 특징으로 하는 부기 18에 기재된 메모리 제어 시스템.
(부기 21)
상기 비휘발성 메모리는 상기 기록 지시부가 상기 기록부에 기록을 지시하는 횟수를 저장하는 부위를 포함하며,
상기 횟수가 미리 정해진 횟수를 초과한 경우, 상기 비휘발성 메모리의 교환을 재촉하는 화면을 표시하는 것을 특징으로 하는 부기 18에 기재된 메모리 제어 시스템.
(부기 22)
플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 제1 센스 앰프와, 제2 센스 앰프와, 기록부를 구비하는 비휘발성 메모리의 제어 방법에 있어서,
상기 제1 센스 앰프가 상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 단계와,
상기 제2 센스 앰프가 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 단계와,
상기 기록부가, 상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀 의 데이터를 재차 기록하는 단계
를 포함하는 것을 특징으로 하는 비휘발성 메모리의 제어 방법.
도 1은 실시형태의 비휘발성 메모리의 개요를 도시한 도면.
도 2는 실시형태의 모듈의 하드웨어 구성예를 도시하는 도면.
도 3은 NAND 컨트롤러의 구성을 도시하는 블록도.
도 4는 비휘발성 메모리의 구성을 도시하는 블록도.
도 5는 센스 앰프 회로의 구성을 도시하는 블록도.
도 6은 상태 레지스터의 설정예를 도시하는 도면.
도 7은 페이지의 구성을 도시하는 도면.
도 8은 페이지의 구성을 도시하는 도면.
도 9는 비휘발성 메모리에 부여하는 커맨드 펑션을 나타내는 도면.
도 10은 리프레시 처리 필요 여부 판단 처리를 나타내는 흐름도.
도 11은 리프레시 처리를 나타내는 흐름도.
도 12는 리프레시 처리를 나타내는 흐름도.
도 13은 리프레시 처리의 효과를 나타내는 도면.
도 14는 리프레시 처리가 현재 실행되고 있는 것을 디스플레이에 표시할 때의 처리를 나타내는 흐름도.
도 15는 비휘발성 메모리의 교환을 재촉하는 화면을 디스플레이에 표시할 때의 처리를 나타내는 흐름도.
도 16은 제2 실시형태의 센스 앰프 회로의 구성을 도시하는 블록도.
도 17은 제3 실시형태의 비휘발성 메모리를 도시하는 블록도.
도 18은 제3 실시형태의 비휘발성 메모리의 커맨드 펑션을 나타내는 도면.
도 19는 제3 실시형태의 리프레시 처리를 나타내는 흐름도.
도 20은 재기록 처리를 나타내는 흐름도.
도 21은 제4 실시형태의 비휘발성 메모리를 도시하는 블록도.
도 22는 제4 실시형태의 비휘발성 메모리의 커맨드 펑션을 나타내는 도면.
도 23은 제4 실시형태의 재기록 처리를 나타내는 흐름도.
도 24는 맵핑 테이블의 갱신 처리를 나타내는 흐름도.
도 25는 제5 실시형태의 NAND 컨트롤러의 구성을 도시하는 블록도.
도 26은 액세스 횟수 정보의 설정예를 도시하는 도면.
도 27은 제5 실시형태의 리프레시 처리 필요 여부 판단 처리를 나타내는 흐름도.
도 28은 리프레시 간격 변경 처리를 나타내는 흐름도.
도 29는 리프레시 간격 변경 처리의 효과를 나타내는 도면.
도 30은 제7 실시형태의 NAND 컨트롤러의 구성을 도시하는 블록도.
도 31은 비휘발성 메모리의 현재 일시 정보의 설정을 설명하는 도면.
도 32는 제7 실시형태의 리프레시 처리 필요 여부 판단 처리를 나타내는 흐름도.
도 33은 NAND형 비휘발성 메모리의 기본 셀 구조를 도시하는 회로도.
도 34는 비휘발성 메모리의 데이터 기록 및 소거의 양태를 도시하는 도면.
도 35는 FN 터널 현상에 의한 게이트 산화막의 열화를 도시하는 도면.
도 36은 경과 시간과 플로팅 게이트의 전압 변화와의 관계를 나타내는 그래프.
도 37은 재기록 횟수와 데이터 유지 시간의 관계를 나타내는 그래프.
<부호의 설명>
1: 비휘발성 메모리 2: 메모리 셀 어레이
3: 제1 센스 앰프 4: 제2 센스 앰프
5: 기록부 10: 모듈
11: CPU 12: 칩세트
12a: 노스 브리지 12b: 사우스 브리지
13: 메모리 15: 디스플레이
20: 비휘발성 모듈 21, 21a, 21b: NAND 컨트롤러
22: NAND형 비휘발성 메모리(비휘발성 메모리)
30: 상태 레지스터 40, 40a, 40b: 커맨드 펑션 테이블
211: 호스트 인터페이스부 212: 컨트롤 레지스터
213: 전력 제어부 214: 버퍼
215: ECC 처리부 216: NAND 인터페이스부
217: 리프레시 간격 레지스터 218: I2C 인터페이스부
221: I/O 버퍼 회로 222: 커맨드 레지스터
223: 제어부 223a: 고전압 발생 회로
223b: 재기록 회로 224: 어드레스 레지스터
225: NAND 플래시 어레이 226: X 디코더
227: Y 디코더 228, 228a: 센스 앰프 회로
229: 치환 레지스터 2281: 메인 기준 셀
2282: 서브 기준 셀 2283: 메인 센스 앰프
2284, 2286: 서브 센스 앰프 2285: 논리 회로

Claims (10)

  1. 플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와,
    상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와,
    상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와,
    상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터를 재차 기록하는 기록부
    를 포함하는 것을 특징으로 하는 비휘발성 메모리.
  2. 제1항에 있어서, 상기 제2 센스 앰프의 판정은, 상기 제1 센스 앰프에서 상기 제1 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 후에 이루어지는 것을 특징으로 하는 비휘발성 메모리.
  3. 제1항에 있어서,
    상기 메모리 셀 어레이의 지정된 어드레스의 블록의 데이터를 판독하는 데이터 판독부와,
    판독된 상기 데이터를 일시(一時) 기억하는 일시 기억부
    를 더 포함하며,
    상기 데이터 판독부는, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 데이터를 블록 단위로 판독하여 상기 일시 기억부에 기억시키고,
    상기 기록부는 상기 어드레스의 블록의 데이터를 소거한 후에, 상기 일시 기억부에 기억된 데이터를 상기 어드레스의 블록과는 상이한 어드레스의 블록에 재차 기록하는 것을 특징으로 하는 비휘발성 메모리.
  4. 제1항에 있어서, 상기 메모리 셀 어레이의 어드레스의 블록에 데이터를 기록할 때, 상기 블록의 미리 정해진 메모리 셀은 데이터를 항상 기록하는 기록 위치로 설정되어 있고,
    상기 제2 센스 앰프는 상기 기록 위치의 메모리 셀의 플로팅 게이트의 전압값과 상기 제2 임계값과의 대소를 판정하는 것을 특징으로 하는 비휘발성 메모리.
  5. 플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와, 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와, 지시된 데이터를 상기 메모리 셀에 기록하는 기록부를 갖는 비휘발성 메모리에 대하여, 상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터 기록을 상기 기록부에 지시하는 기록 지시부를 포함하는 것을 특징으로 하는 메모리 제어 장치.
  6. 제5항에 있어서, 상기 비휘발성 메모리는 미리 정해진 일시(日時)가 경과했는지의 여부를 판단하는 일시 경과 판단용 임계값이 설정된 레지스터를 더 포함하며,
    상기 기록 지시부는, 상기 제2 센스 앰프가 판정 처리를 수행할 때마다, 상기 판정 처리를 수행한 일시를 상기 비휘발성 메모리의 미리 정해진 위치에 기록하도록 상기 기록부에 지시하고,
    현재의 일시와 상기 미리 정해진 위치에 기록된 일시와의 차분이 상기 일시 경과 판단용 임계값을 초과한 경우에 상기 제2 센스 앰프의 판정 처리를 수행하게 하는 것을 특징으로 하는 메모리 제어 장치.
  7. 제5항에 있어서,
    상기 메모리 셀의 액세스 횟수를 판단하는 액세스 횟수 판단용 임계값이 설정된 레지스터를 더 포함하며,
    상기 기록 지시부는, 상기 비휘발성 메모리에 대한 액세스 횟수를 상기 비휘발성 메모리의 미리 정해진 위치에 기록하도록 상기 기록부에 지시하고,
    상기 액세스 횟수가 상기 액세스 횟수 판단용 임계값을 초과한 경우에 상기 제2 센스 앰프의 판정 처리를 수행하게 하는 것을 특징으로 하는 메모리 제어 장치.
  8. 플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 제1 센스 앰프와, 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 제2 센스 앰프와, 지시된 데이터를 상기 메모리 셀에 기록하는 기록부를 갖는 비휘발성 메모리와,
    상기 비휘발성 메모리에 대하여, 상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터 기록을 상기 기록부에 지시하는 기록 지시부를 갖는 메모리 제어 장치와,
    상기 메모리 제어 장치의 동작 상태를 표시 장치에 표시하는 표시 제어부
    를 포함하는 것을 특징으로 하는 메모리 제어 시스템.
  9. 제8항에 있어서, 상기 비휘발성 메모리는 상기 기록 지시부가 상기 기록부에 기록을 지시하는 횟수를 저장하는 부위를 포함하며,
    상기 횟수가 미리 정해진 횟수를 초과한 경우, 상기 제2 센스 앰프의 이전회의 판정 처리를 수행한 시간부터 이번 판정 처리를 수행할 때까지의 시간의 간격보다 이번 판정 처리를 수행하는 시간부터 다음번 이후의 판정 처리를 수행하는 시간의 간격을 짧게 하는 것을 특징으로 하는 메모리 제어 시스템.
  10. 플로팅 게이트를 구비하는 복수의 메모리 셀을 갖는 메모리 셀 어레이와, 제1 센스 앰프와, 제2 센스 앰프와, 기록부를 포함하는 비휘발성 메모리의 제어 방법에 있어서,
    상기 제1 센스 앰프가 상기 플로팅 게이트의 전압값과 상기 메모리 셀의 기록 상태와 소거 상태를 식별하는 제1 임계값과의 대소를 판정하는 단계와,
    상기 제2 센스 앰프가 상기 플로팅 게이트의 전압값과 상기 제1 임계값보다 큰 제2 임계값과의 대소를 판정하는 단계와,
    상기 기록부가, 상기 제2 센스 앰프에서, 상기 제2 임계값이 상기 플로팅 게이트의 전압값보다 크다고 판정된 상기 플로팅 게이트를 구비하는 상기 메모리 셀의 데이터를 재차 기록하는 단계
    를 포함하는 것을 특징으로 하는 비휘발성 메모리의 제어 방법.
KR1020090119811A 2008-12-08 2009-12-04 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법 KR101125390B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008311999A JP5422984B2 (ja) 2008-12-08 2008-12-08 不揮発性メモリ、メモリ制御装置、メモリ制御システムおよび不揮発性メモリの制御方法
JPJP-P-2008-311999 2008-12-08

Publications (2)

Publication Number Publication Date
KR20100066376A true KR20100066376A (ko) 2010-06-17
KR101125390B1 KR101125390B1 (ko) 2012-03-27

Family

ID=42230889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090119811A KR101125390B1 (ko) 2008-12-08 2009-12-04 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법

Country Status (4)

Country Link
US (1) US8391067B2 (ko)
JP (1) JP5422984B2 (ko)
KR (1) KR101125390B1 (ko)
CN (1) CN101751996B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010061845A1 (de) 2010-07-09 2012-01-12 Hyundai Motor Co. System zum Wiederaufladen eines Plug-in-Hybridfahrzeugs
KR20150014707A (ko) * 2013-07-30 2015-02-09 삼성전자주식회사 반도체 메모리 장치의 전류 센스앰프 회로

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069199A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶装置
US8656086B2 (en) * 2010-12-08 2014-02-18 Avocent Corporation System and method for autonomous NAND refresh
KR101889857B1 (ko) * 2011-01-24 2018-08-20 가부시키가이샤 한도오따이 에네루기 켄큐쇼 조명장치 및 조명장치의 설치보드
CN102855934B (zh) * 2012-08-23 2016-09-28 上海华虹宏力半导体制造有限公司 非易失性存储器系统及其擦除方法
JP5853906B2 (ja) * 2012-08-24 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
JP2014067224A (ja) * 2012-09-26 2014-04-17 Nec Corp 情報処理装置、端末装置、情報処理方法及びプログラム
JP2014142986A (ja) * 2012-12-26 2014-08-07 Semiconductor Energy Lab Co Ltd 半導体装置
US9087569B2 (en) * 2013-11-26 2015-07-21 Lenovo (Singapore) Pte. Ltd. Non-volatile memory validity
CN105005450B (zh) * 2014-04-25 2018-11-02 群联电子股份有限公司 数据写入方法、存储器存储装置及存储器控制电路单元
CN105068965A (zh) * 2015-08-13 2015-11-18 上海斐讯数据通信技术有限公司 基于I2C总线的NAND Flash存储方法及系统
US10199115B2 (en) * 2016-06-20 2019-02-05 Qualcomm Incorporated Managing refresh for flash memory
US10262728B2 (en) * 2016-10-07 2019-04-16 Samsung Electronics Co., Ltd. Mapping bits to memory cells using sector spreading
CN107341075B (zh) * 2017-08-28 2023-12-15 北京世通凌讯科技有限公司 掉电保护装置及电子设备
KR20200078047A (ko) * 2018-12-21 2020-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11086389B2 (en) * 2019-10-29 2021-08-10 Western Digital Technologies, Inc. Method and system for visualizing sleep mode inner state processing
TW202324112A (zh) * 2021-12-09 2023-06-16 韓商愛思開海力士有限公司 用以動態管理儲存裝置中的主機讀取運作及讀取刷新運作的方法、儲存裝置及其記錄媒體

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6074578A (ja) * 1983-09-30 1985-04-26 Toshiba Corp 不揮発性半導体メモリ装置
JP2000011670A (ja) * 1998-06-25 2000-01-14 Canon Inc 不揮発性メモリを有する機器
US6108241A (en) 1999-07-01 2000-08-22 Micron Technology, Inc. Leakage detection in flash memory cell
WO2001015172A2 (en) 1999-08-23 2001-03-01 Micron Technology, Inc. Flash memory with externally triggered detection and repair of leaky cells
JP3812933B2 (ja) * 2001-04-19 2006-08-23 シャープ株式会社 ファイルシステムおよびその制御方法
JP2003313747A (ja) * 2002-04-25 2003-11-06 Diatex Co Ltd 合成樹脂製シート
JP2004296012A (ja) * 2003-03-27 2004-10-21 Denso Corp 不揮発性半導体記憶装置
JP4335659B2 (ja) 2003-12-19 2009-09-30 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2005252068A (ja) * 2004-03-05 2005-09-15 Sony Corp 記憶装置
WO2007004696A1 (ja) 2005-07-06 2007-01-11 Matsushita Electric Industrial Co., Ltd. アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
JP4336342B2 (ja) 2005-12-16 2009-09-30 シャープ株式会社 不揮発性半導体記憶装置
FR2901035B1 (fr) * 2006-05-11 2008-07-11 St Microelectronics Sa Procede et dispositif de gestion d'une table de correspondance d'acces a une memoire
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
JP4813264B2 (ja) * 2006-06-14 2011-11-09 株式会社日立製作所 ストレージシステム
KR100764748B1 (ko) 2006-09-19 2007-10-08 삼성전자주식회사 향상된 리프레쉬 기능을 갖는 플래시 메모리 장치
KR100799018B1 (ko) 2006-12-27 2008-01-28 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 자기 보상 방법
JP4679528B2 (ja) * 2007-01-30 2011-04-27 株式会社東芝 リフレッシュトリガー付き半導体記憶装置
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US20100195393A1 (en) * 2009-01-30 2010-08-05 Unity Semiconductor Corporation Data storage system with refresh in place

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010061845A1 (de) 2010-07-09 2012-01-12 Hyundai Motor Co. System zum Wiederaufladen eines Plug-in-Hybridfahrzeugs
KR20150014707A (ko) * 2013-07-30 2015-02-09 삼성전자주식회사 반도체 메모리 장치의 전류 센스앰프 회로

Also Published As

Publication number Publication date
US8391067B2 (en) 2013-03-05
CN101751996A (zh) 2010-06-23
CN101751996B (zh) 2013-10-16
JP5422984B2 (ja) 2014-02-19
US20100142276A1 (en) 2010-06-10
JP2010135036A (ja) 2010-06-17
KR101125390B1 (ko) 2012-03-27

Similar Documents

Publication Publication Date Title
KR101125390B1 (ko) 비휘발성 메모리, 메모리 제어 장치, 메모리 제어 시스템, 및 비휘발성 메모리의 제어 방법
US11150808B2 (en) Flash memory system
US7724573B2 (en) Nonvolatile semiconductor storage device, nonvolatile semiconductor storage system and method of managing of defective column in nonvolatile semiconductor storage system
KR101126006B1 (ko) 열화에 응답한 메모리 장치의 제어
US8452913B2 (en) Semiconductor memory device and method of processing data for erase operation of semiconductor memory device
JP2008123330A (ja) 不揮発性半導体記憶装置
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
KR20180024615A (ko) 보조 전력을 공급하기 위한 커패시터들을 포함하는 전자 장치의 전력 및 성능 관리 방법
KR20040027373A (ko) 불휘발성 반도체 기억 장치
KR20080004395A (ko) 반도체 기억 장치
US8275934B2 (en) Nonvolatile memory device and cache read method using the same
KR100610490B1 (ko) Eeprom 셀 및 eeprom 블록
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
US8014208B1 (en) Erase verification for flash memory
JP2004030849A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
US11087858B1 (en) In-place refresh operation in flash memory
US11544204B2 (en) Memory system, memory controller and method for operating memory controller
JP2011198409A (ja) 不揮発性メモリ
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
CN115346584A (zh) Nand闪存、写入和读取方法及电子装置
JP2008103076A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP2014086108A (ja) 半導体集積回路装置
JP2008171565A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee