KR102338009B1 - 반도체 기억 장치 - Google Patents

반도체 기억 장치 Download PDF

Info

Publication number
KR102338009B1
KR102338009B1 KR1020190146374A KR20190146374A KR102338009B1 KR 102338009 B1 KR102338009 B1 KR 102338009B1 KR 1020190146374 A KR1020190146374 A KR 1020190146374A KR 20190146374 A KR20190146374 A KR 20190146374A KR 102338009 B1 KR102338009 B1 KR 102338009B1
Authority
KR
South Korea
Prior art keywords
address
memory device
page
semiconductor memory
logical
Prior art date
Application number
KR1020190146374A
Other languages
English (en)
Other versions
KR20200094621A (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 KR20200094621A publication Critical patent/KR20200094621A/ko
Application granted granted Critical
Publication of KR102338009B1 publication Critical patent/KR102338009B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

프로그램의 신뢰성을 개선하는 반도체 기억 장치를 제공한다. 본 발명의 플래쉬 메모리(100)는, 메모리 컨트롤러(200)와, NAND형의 메모리 장치(300)를 포함한다. 메모리 컨트롤러(200)는, 전원 전압이 일정 전압으로 강하한 것을 검출하는 전압 검출부(210)와, 논리 주소를 물리 주소로 변환하는 변환 테이블을 기억하는 SRAM(230)과, 프로그램 중에 전압 검출부(210)에 의해 일정 전압이 검출되었을 때, 프로그램 되고 있는 블록 및 페이지의 논리 주소와, 상기 논리 주소를 다른 물리 주소로 변환하기 위한 변환 정보를 기억하는 RRAM(240)과, 변환 테이블 또는 RRAM(240)의 변환 정보에 근거해 입력된 논리 주소를 물리 주소로 변환하는 기입/셀렉터(220)를 포함하고, 변환된 물리 주소에 따라 선택된 블록의 페이지에 데이터를 프로그램 시킨다.

Description

반도체 기억 장치{SEMICONDUCTOR MEMORY DEVICE}
본 발명은, 반도체 기억 장치에 관한 것으로, 특히, NAND형 플래쉬 메모리의 프로그램에 관한 것이다.
통상, NAND형 플래쉬 메모리는, 패키지 내에, 메모리 칩과 상기 메모리 칩을 제어하기 위한 메모리 컨트롤러를 포함하여 구성된다. 메모리 컨트롤러에, 메모리 칩의 에러 정정이나 배드 블록(Bad block)의 관리 등의 일정한 부하를 지게 함으로써, 호스트측의 컴퓨터의 부하를 경감시킬 수 있다.
예를 들면, 특허문헌 1의 플래쉬 메모리 시스템은, 도 1에 도시한 것처럼, 플래쉬 메모리(10)와, 호스트 디바이스(40)를 포함하고, 플래쉬 메모리(10)는, 메모리 컨트롤러(20)와 메모리 칩(30)을 포함한다. 메모리 컨트롤러(20)는, 호스트 디바이스(40)와의 사이에서 데이터의 전송을 실시하는 호스트 인터페이스(22), 메모리 칩(30)과의 사이에서 데이터의 전송을 실시하는 메모리 인터페이스(24), 데이터 전송이나 메모리 칩의 동작을 제어하는 MPU, 프로그램이나 데이터를 기억하는 ROM, RAM 등을 갖추고 있다. 메모리 칩(30)은, 예를 들면, NAND형 플래쉬 메모리의 칩이다.
[특허문헌 1] 일본 특허공개 2009-175877호 공보
NAND형의 플래쉬 메모리에서는, 독출(Read) 및 프로그램은 페이지 단위로 실시되고, 소거(Delete)는 블록 단위로 실시된다. 호스트 디바이스는, 이러한 동작을 지시할 때, 독출, 프로그램, 소거를 위한 주소를 메모리 컨트롤러에 출력한다. 호스트 디바이스로부터의 주소는 논리 주소이며, 메모리 컨트롤러는, 이 논리 주소를 물리 주소로 변환하기 위해, SRAM에 보관유지된 변환 테이블을 참조한다. 변환 테이블은, 전원 투입 시에, 메모리 셀 어레이에 준비된 영역으로부터 SRAM으로 로드된다.
호스트 디바이스는, 프로그램을 지시할 때, 각종 제어 신호(ALE, CLE 등) 이외에, 프로그램 명령, 기입(Write) 데이터 및 논리 주소(LAD)를 메모리 컨트롤러에 출력한다. 논리 주소(LAD)는, 논리 블록 주소(LBA), 논리 페이지 주소(LPA) 및 논리 칼럼 주소(LCA)를 포함한다. 메모리 컨트롤러는, 상기한 것처럼 변환 테이블을 참조하여, 논리 블록 주소(LBA)를 물리 블록 주소(PBA)로 변환하고, 물리 블록 주소(PBA)로 지정된 블록의 페이지에 데이터를 프로그램 한다. 블록 내의 페이지는, 논리 페이지 주소(LPA)로 지정된다.
이러한 프로그램의 최중(最中)에, 어떠한 이유에 의해 전원 전압이 강하(降下)하거나, 전원이 상실(喪失)되면, 프로그램이 도중에 중단되는 경우가 있다. 메모리 컨트롤러는, 정상으로 프로그램이 종료하면, Ready 신호를 호스트 디바이스로 송신하고, 호스트 디바이스는, 정상으로 프로그램이 종료한 것을 인식해, 다음의 동작에 대비하지만, 프로그램이 도중에 중단된 경우에는, Ready 신호를 수취하지 못하고(예를 들면, Busy 신호 그대로), 호스트 디바이스는, 프로그램을 정상으로 종료하지 못한 것을 인식한다. 이 경우, 호스트 디바이스는, 전원이 재 투입되었을 때, 혹은 전원 복구 후에, 메모리 컨트롤러에 대해 프로그램의 재시도를 지시한다.
프로그램의 재시도의 경우에서도, 메모리 컨트롤러는, 논리 블록 주소를 물리 블록 주소로 변환하고, 물리 블록 주소로 지정된 블록의 동일 페이지에 데이터를 프로그램 하지만, 프로그램이 중단된 페이지에 재차 데이터를 프로그램 하면 프로그램의 신뢰성이 저하한다. 즉, NAND형 플래쉬 메모리의 프로그램은, 소거 상태의 메모리 셀에 데이터를 프로그램 하지만, 한 차례, 프로그램 된 페이지는 반드시 모든 메모리 셀이 소거 상태에 있는 것은 아니기 때문에, 프로그램 된 데이터의 임계치 분포 폭이 기대한 것 보다 넓어질 가능성이 있다. 한편, 프로그램이 중단된 페이지를 포함한 블록을 소거하여 재차 프로그램을 하는 것도 가능하지만, 그 경우에는, 블록의 다른 페이지에 저장되는 데이터를 다른 블록으로 퇴피(退避)(save)시켜야 하므로, 번잡한 처리가 필요하게 되어 버린다.
본 발명은, 상기한 종래의 과제를 해결하는 것으로, 프로그램의 신뢰성을 개선하는 반도체 기억 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 반도체 기억 장치는, 복수의 블록을 포함하는 NAND형의 메모리 셀 어레이와, 전원 전압이 일정 전압으로 강하(降下)한 것을 검출하는 검출 수단과, 논리 주소를 물리 주소로 변환하는 변환 테이블을 기억하는 휘발성 메모리와, 물리 주소에 따라 선택된 블록의 페이지에 데이터를 프로그램 하는 프로그램 수단과, 상기 프로그램 수단에 의해 프로그램 되는 동안에 상기 검출 수단에 의해 일정 전압이 검출되었을 때, 프로그램 되고 있는 블록 및 페이지의 논리 주소와, 상기 논리 주소를 다른 물리 주소로 변환하기 위한 변환 정보를 기억하는 비휘발성 메모리와, 상기 휘발성 메모리의 변환 테이블 또는 상기 비휘발성 메모리의 변환 정보에 근거해 입력된 논리 주소를 물리 주소로 변환하는 변환 수단을 가진다.
어느 실시 양태에서는, 상기 다른 물리 주소는, 프로그램이 중단된 페이지를 퇴피(退避)시키기 위해 준비된 전용의 블록을 선택하기 위한 주소이다. 어느 실시 양태에서는, 상기 다른 물리 주소는, 블록을 선택하기 위한 블록 주소와, 페이지를 선택하기 위한 페이지 주소를 포함한다. 어느 실시 양태에서는, 상기 검출 수단에 의해 일정 전압이 검출된 것에 응답하여, 상기 변환 정보를 비휘발성 메모리에 기입하는 기입 수단을 더 포함한다. 어느 실시 양태에서는, 상기 일정 전압은, 반도체 기억 장치가 동작 가능한 최소 전압 보다 크다. 어느 실시 양태에서는, 상기 기입 수단은, 전원 전압이 상실되기 전, 또는 반도체 기억 장치를 동작할 수 없게 되기 전에, 상기 변환 정보를 비휘발성 메모리에 기입(write)한다. 어느 실시 양태에서는, 상기 비휘발성 메모리는, 가변 저항형 메모리이다. 어느 실시 양태에서는, 상기 변환 수단은, 상기 비휘발성 메모리의 변환 정보를 먼저 선택한다. 어느 실시 양태에서는, 상기 변환 수단은, 입력된 논리 주소와 상기 비휘발성 메모리에 기억된 논리 주소를 비교하고, 양자(兩者)가 일치하는 경우에는, 상기 다른 물리 주소로 변환한다.
본 발명에 의하면, 프로그램 되는 동안에 전원 전압이 강하한 일정 전압이 검출되었을 때, 프로그램 되고 있는 블록 및 페이지의 논리 주소와, 상기 논리 주소를 다른 물리 주소로 변환하기 위한 변환 정보를 기억하는 비휘발성 메모리를 마련하도록 했으므로, 프로그램을 다시 할 때 신뢰성이 높은 페이지에 프로그램 하는 것이 가능해진다.
[도 1] 종래의 반도체 메모리의 일례를 도시한 도면이다.
[도 2] 본 발명의 실시예에 따른 플래쉬 메모리의 전체 구성을 도시한 도면이다.
[도 3] 본 발명의 실시예에 따른 메모리 컨트롤러의 내부 구성을 도시한 블록도이다.
[도 4] 본 발명의 실시예에 따른 메모리 셀 어레이의 블록의 내부 구성을 도시한 도면이다.
[도 5] SRAM에 보관유지(保持)된 변환 테이블에 의해 호스트 디바이스로부터의 논리 주소를 물리 주소로 변환하는 동작을 설명하는 도면이다.
[도 6] 본 발명의 실시예에 따른 전원 강하 시의 프로그램 리커버리(Recovery) 동작을 설명하는 플로우이다.
[도 7] 도 7(A)는, 프로그램의 타겟인 선택 블록 및 선택 페이지를 나타내고, 도 7(B)는, 페이지 퇴피용 블록과 그 페이지를 도시한 도면이다.
[도 8] RRAM에 저장되는 프로그램의 타겟의 논리 주소와 페이지 퇴피용 블록의 물리 주소를 도시한 도면이다.
[도 9] 본 발명의 실시예에 따른 전원 복구 후에 재 프로그램을 할 때의 논리 주소의 변환 동작을 설명하는 플로우이다.
다음으로, 본 발명의 실시의 형태에 대해 도면을 참조해 상세히 설명한다. 본 발명의 플래쉬 메모리는, NAND형 스트링의 메모리 셀을 가지는 메모리 장치와, 메모리 장치를 제어하는 메모리 컨트롤러를 포함하여 구성된다. 메모리 컨트롤러는, 메모리 장치를 형성하는 칩과 동일한 칩 위에 형성되어도 무방하고, 다른 칩 위에 형성되어도 무방하다. 또한, 플래쉬 메모리가 복수의 칩으로 구성될 때, 복수의 칩은 적층되도록 구성되어도 무방하다.
[실시예]
도 2는, 본 발명의 실시예에 따른 플래쉬 메모리(100)의 구성을 도시한 도면이다. 본 실시예의 플래쉬 메모리(100)는, 메모리 컨트롤러(200)와, 하나 또는 복수의 NAND형 메모리 장치(300)를 포함해 구성된다. 메모리 컨트롤러(200)는, 호스트 디바이스로부터 각종 제어 신호(커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE) 등), 데이터, 커맨드 등을 수취하고, 이러한 신호 등에 근거해 메모리 장치(300)의 독출, 프로그램(기입), 소거 등을 제어한다. 또한, 메모리 컨트롤러(200)는, 메모리 장치의 동작 상태를 나타내는 Ready 신호나 Busy 신호를 호스트 디바이스(40)에 출력한다.
도 3에, 메모리 컨트롤러(200)의 내부 구성을 도시한다. 본 실시예의 메모리 컨트롤러(200)는, 전압 검출부(210), 기입/셀렉터(220), SRAM(230), RRAM(저항 변화형 메모리)(240)을 포함해 구성된다. 덧붙여, 메모리 컨트롤러(200)는, 도 3에 도시한 구성 이외에도, 마이크로 프로세서(MPU)나 ROM 등을 포함하고, ROM에 저장된 소프트웨어 프로그램을 실행함으로써, 메모리 장치(300)의 다양한 동작을 제어하거나, 전압 검출부(210), 기입/셀렉터(220), SRAM(230), RRAM(240)의 제어를 실시한다.
전압 검출부(210)는, 플래쉬 메모리(100) 혹은 플래쉬 메모리(100)를 포함하는 시스템에 공급되는 전원 전압(Vcc)을 감시하고, 전원 전압(Vcc)이 일정 전압(Vd)으로 강하(降下)했는지 여부를 검출한다. 일정 전압(Vd)은, 플래쉬 메모리(100)의 동작을 보증하는 최저 전압(Vmin) 보다 높은 전압, 또는 메모리 컨트롤러(200)가 실행하는 파워 다운 시퀀스의 트리거가 되는 전압(Vpwd) 보다 높은 전압으로 설정된다. 따라서, 전원 전압(Vcc)이 일정 전압(Vd)으로 강하한 시점에서, 플래쉬 메모리(100)는 아직 동작 가능하고, 또한, 파워 다운 시퀀스는 아직 실행되지 않는다. 전원 전압(Vcc)이 전압(Vpwd)까지 강하하면, 파워 다운 시퀀스가 실행되고, 예를 들면, 승압된 전압이 급격히 방전되지 않고, 플래쉬 메모리(100)의 동작이 정상으로 종료된다. 전압 검출부(210)는, 일정 전압(Vd)을 검출하면, 기입/셀렉터(220) 등의 각 부에 경고 신호(Alert signal)를 출력한다.
기입/셀렉터(220)는, 호스트 디바이스(40)로부터 출력되는 논리 주소(LAD)를 수취했을 때, 논리 주소(LAD)를 물리 주소(PAD)로 변환한다. 변환된 물리 주소는, 메모리 장치(300)를 액세스 하기 위해 사용된다. 제1 양태에서는, 기입/셀렉터(220)는, SRAM(230)에 보관유지된 변환 테이블을 참조해, 논리 주소(LAD)를 물리 주소(PAD)로 변환한다. 제2 양태에서는, 기입/셀렉터(220)는, 입력된 논리 주소(LAD)가 RRAM(240)에 저장된 논리 주소(LAD)와 일치하는 경우에는, RRAM(240)에 저장된 변환 테이블에 따라, 논리 주소를 페이지 퇴피용의 물리 주소로 변환한다.
기입/셀렉터(220)는, 프로그램 중에 전압 검출부(210)로부터 경고 신호를 수취하면, 프로그램 중인 논리 주소(LAD)와, 이에 관련지어 페이지 퇴피용 블록의 물리 주소를 RRAM(240)에 기입한다. 기입/셀렉터(220)에 의해 RRAM(240)으로의 기입이 실시되면, 기입/셀렉터(220)는, 제2 양태에서 RRAM(240)의 변환 테이블을 참조하여 물리 주소로의 변환을 실시하는 것이 가능해진다.
SRAM(230)은, 메모리 장치(300)의 동작에 필요한 다양한 데이터를 보관유지한다. 예를 들면, 상기한 논리 주소와 물리 주소와의 관계를 규정하는 변환 테이블, 메모리 장치의 블록의 각 페이지의 스테이터스("데이터가 기입되고 있다", "소거되고 있다", "무효이다" 등)를 나타내는 테이블이다. 이러한 데이터는, 전원 투입 시에 파워 온 시퀀스가 실행되었을 때, 메모리 장치(300)의 메모리 셀 어레이에 준비된 영역으로부터 로드된다.
RRAM(240)은, 가역적(可逆的)이고 비휘발성인 가변 저항 소자에 데이터를 기억할 수 있는 가변 저항형 랜덤 액세스 메모리이다. RRAM(240)은, SRAM(230)과 마찬가지로 고속으로 데이터의 쓰기가 가능하고, 전원이 상실되어도 데이터를 보관유지 가능한 비휘발성의 메모리이다.
RRAM(240)은, 프로그램 중에 전압 검출부(210)에 의해 전압(Vd)이 검출되었을 때, 프로그램의 타겟의 논리 주소(LAD)와 페이지 퇴피용의 물리 주소(PAD)를 저장한다. 전압(Vd)의 검출에서 전원 상실까지의 시간은 상당히 짧고, 그 때문에, 상당히 고속의 기입(Write)이 가능한 RRAM이 이용된다.
메모리 장치(300)는, NAND형 스트링으로 구성되는 복수의 블록을 가지는 메모리 셀 어레이, 행 주소(물리 블록 주소(PBA)+논리 페이지 주소(LPA))에 근거해 메모리 셀 어레이의 워드라인(Wordline)을 선택하는 워드라인 선택 회로, 열 주소에 근거해 비트라인(Bitline)을 선택하는 열 선택 회로, 선택 워드라인에 의해 독출된 데이터를 센스 하거나, 프로그램 하는 데이터를 보관유지하는 페이지 버퍼/센스 회로 등을 포함한다.
하나의 블록에는, 도 4에 도시한 것처럼, 복수의 메모리 셀을 직렬로 접속한 NAND 스트링이 행 방향으로 n개(예를 들면, 2 KB) 배열되어 있다. 1개의 NAND 스트링(NU)은, 직렬로 접속된 복수의 메모리 셀(MCi)(i=1, 2, 3···, 64)과, 일방(一方)의 단부(端部)인 메모리 셀(MC64)의 드레인 측에 접속된 비트라인측 선택 트랜지스터(Td)와, 메모리 셀(MC0)의 소스 측에 접속된 소스라인(Sourceline)측 선택 트랜지스터(Ts)를 포함한다. 비트라인측 선택 트랜지스터(Td)의 드레인은, 대응하는 1개의 비트라인(BL)에 접속되고, 소스라인측 선택 트랜지스터(Ts)의 소스는, 공통의 소스라인(SL)에 접속된다.
독출 동작에서는, 비트라인에 임의의 정(正)의 전압을 인가하고, 선택된 워드라인에 임의의 전압(예를 들면, 0 V)을 인가하고, 비선택 워드라인에 패스 전압(예를 들면, 4.5 V)을 인가하고, 선택 게이트라인(Gateline)(SGD, SGS)에 정(正)의 전압(예를 들면, 4.5 V)을 인가하고, 비트라인측 선택 트랜지스터(Td), 소스라인측 선택 트랜지스터(Ts)를 온(On) 하고, 공통 소스라인(SL)을 0 V로 한다. 프로그램 동작에서는, 선택된 워드라인에 고 전압의 프로그램 전압(예를 들면, 15~20 V)을 인가하고, 비선택의 워드라인에 중간 전위(예를 들면, 10 V)를 인가하고, 비트라인측 선택 트랜지스터(Td)를 온 시키고, 소스라인측 선택 트랜지스터(Ts)를 오프(Off)시키고, 데이터 「0」 또는 「1」에 따른 전위를 비트라인(BL)에 공급한다. 소거 동작에서는, 블록 내의 선택된 워드라인에 0 V를 인가하고, P웰에 고 전압(예를 들면, 20 V)을 인가하고, 플로팅 게이트의 전자를 기판에 빼내는 것으로, 블록 단위로 데이터를 소거한다.
다음으로, 플래쉬 메모리(100)의 프로그램 동작에 대해 설명한다. 호스트 디바이스(40)는, 플래쉬 메모리(100)로의 프로그램을 실시할 때, 각종 제어 신호 이외에, 프로그램 명령, 데이터, 논리 주소(LAD)를 플래쉬 메모리(100)에 출력한다. 호스트 디바이스로부터 입력되는 논리 주소(LAD)는, 도 5에 도시한 것처럼, 논리 블록 주소(LBA), 논리 페이지 주소(LPA) 및 논리 칼럼 주소(LCA)를 포함하여 구성된다.
기입/셀렉터(220)는, 논리 주소(LAD)를 수취하면, SRAM(230)에 보관유지된 변환 테이블을 참조해, 논리 블록 주소(LBA)를 물리 블록 주소(PBA)로 변환한다. 본 예에서는, 메모리 장치(300)를 액세스하기 위한 행 주소는 18비트이며, 열 주소는 12비트이다. 행 주소의 상위 12비트가 블록을 지정하는 주소이며, 하위 6비트가 페이지를 지정하는 주소이다. 논리 페이지 주소(LPA) 및 논리 열 주소(LCA)는, 변환되지 않고 그대로 물리 주소를 구성한다. 이렇게 해서, 논리 주소(LAD)가, 메모리 장치를 액세스하기 위한 물리 주소(PAD)(=PBA+LAP+LCA)로 변환된다.
메모리 컨트롤러(200)는, 변환된 물리 주소를 메모리 장치(300)의 워드라인 선택 회로나 열 선택 회로에 공급하고, 워드라인 선택 회로에 의해 블록/페이지가 선택되고, 열 선택 회로에 의해 비트라인이 선택되고, 이에 따라 선택 페이지의 선택 메모리 셀에 데이터가 프로그램 된다. 선택 메모리 셀에 프로그램 전압이 인가되고, 선택 메모리 셀에 데이터가 정상으로 프로그램 되었는지 여부의 프로그램 베리파이(Program verify)가 실시된다. 메모리 컨트롤러(200)는, 프로그램 베리파이가 합격이라면, Ready 신호를 호스트 디바이스(40)에 출력하고, 프로그램 중이라면, Busy 신호를 호스트 디바이스(40)에 출력한다.
다음으로, 프로그램 동작 중의 전원 전압(Vcc)이 강하했을 때의 리커버리 동작에 대해 도 6의 플로우를 참조해 설명한다. 메모리 컨트롤러(200)에 의해 선택 페이지로의 프로그램이 실행되고(S100), 그 동안, 전압 검출부(210)는, 플래쉬 메모리(100)에 공급되는 전원 전압(Vcc)을 계속해서 감시한다(S102). 전압 검출부(210)가 전원 전압(Vcc)의 강하, 즉 일정 전압(Vd)을 검출하면(S104), 전압 검출부(210)는, 그 검출에 응답하여 경고 신호를 출력한다(S106).
기입/셀렉터(220)는, 경고 신호가 출력되면, 현재 프로그램 중인 논리 블록 주소(LBA) 및 논리 페이지 주소(LPA)와, 이를 물리 주소로 변환하기 위한 페이지 퇴피용 블록의 물리 블록 주소(PBA) 및 물리 페이지 주소(PPA)를 RRAM(240)에 기입한다(S108). 이 기입은, 전원이 상실될 때까지 실시된다.
이 양상을 도 7을 참조해 설명한다. 도 7(A)에 도시한 것처럼, 선택 블록(P)의 선택 페이지 #n에 프로그램이 실시되고 있는 것으로 한다. 이때, 전원 전압(Vcc)이 일정 전압(Vd)으로 강하하면, 기입/셀렉터(220)는, SRAM에 보관유지된 스테이터스 테이블의 블록(P)의 페이지 #n을 「Invalid」로 개서한다. 게다가, 기입/셀렉터(220)는, 스테이터스 테이블의 페이지 퇴피용 블록을 참조해, 사용 가능한 페이지를 식별하고, RRAM(240)에, 프로그램 중인 논리 블록 주소(LBA), 논리 페이지 주소(LPA)와, 이를 변환하기 위한 페이지 퇴피용 블록의 물리 블록 주소(PBA) 및 물리 페이지 주소(PPA)를 기입한다.
도 7(B)는, 페이지 퇴피용의 블록의 일례이다. 페이지 #0~#3은, 이미 다른 페이지의 퇴피용으로서 사용되고 있고, 페이지 #3~#3F가 사용 가능(Erase 상태)이다. 기입/셀렉터(220)는, 스테이터스 테이블을 참조해, 블록(Q)의 사용 가능한 페이지(이 예에서는, 페이지 #3)를 식별한다. 이렇게 해서, 도 8에 도시한 것처럼, 프로그램 중인 논리 블록 주소(LBA) 및 논리 페이지 주소(LPA)와, 페이지 퇴피용 블록(Q)의 물리 주소(PBA)와 페이지 #3의 물리 페이지(PPA)가 RRAM(240)에 기입된다.
메모리 컨트롤러(200)는, RRAM(240)으로의 논리 주소 및 물리 주소의 기입이 종료된 시점에서, 현재 실시하고 있는 프로그램을 중단한다(S110). 그 후, 전원 전압(Vcc)이 더 강하하면, 파워 다운 시퀀스가 개시되어, 플래쉬 메모리(100)의 동작이 정지된다. 프로그램이 중단된 경우, 호스트 디바이스(40)에 Ready 신호가 출력되지 않거나, 혹은 호스트 디바이스(40)에게 있어 인식 불능인 신호가 출력될 수 있다. 한편, 전원 전압(Vcc)이 일정 전압(Vd)으로 강하하지 않으면, 프로그램은 정상으로 종료되어, 호스트 디바이스(40)에 Ready 신호가 출력된다(S112).
다음으로, 중단한 프로그램이 재개될 때의 동작에 대해 도 9를 참조해 설명한다. 전원 전압(Vcc)이 복구되면, 플래쉬 메모리(100)는, 파워 업 시퀀스가 실행되어, 동작 가능한 상태가 된다. 호스트 디바이스(40)는, 전회(前回)의 프로그램의 지시에 대한 Ready 신호를 수취하지 않은 경우, 프로그램이 정상으로 종료되지 않았다고 인식하고, 재차의 프로그램을 플래쉬 메모리(100)에 지시한다. 따라서, 메모리 컨트롤러(200)는, 호스트 디바이스(40)로부터 프로그램 명령, 논리 주소(LAD_IN), 데이터를 수취한다(S200).
기입/셀렉터(220)는, 최초로 RRAM(240)을 선택하고, RRAM(240)에 저장된 논리 주소(LAD_RR)와 입력된 논리 주소(LAD_IN)를 비교한다(S202). 양자의 논리 주소가 일치하는 경우에는(S204), 기입/셀렉터(220)는, 논리 주소(LAD_IN)를 RRAM(240)에 저장된 페이지 퇴피용 블록의 물리 주소로 변환하고(S206), 메모리 컨트롤러(200)는, 페이지 퇴피용 블록의 페이지에 프로그램을 실행시킨다(S208).
한편, 논리 주소(LAD_IN)가 RRAM(240)에 존재하지 않는 경우에는(S204), 기입/셀렉터(220)는, 다음으로 SRAM(230)의 변환 테이블을 참조해, 논리 주소(LAD_IN)를 물리 주소(PAD)로 변환하고(S210), 메모리 컨트롤러(200)는, 변환된 물리 주소로 지정된 페이지에 프로그램을 실행시킨다(S212).
이와 같이 본 실시예에 의하면, 프로그램 중에 전원 전압의 강하 등의 결함에 의해 다시 프로그램을 하는 경우에, 신뢰성이 높은 프로그램을 실시할 수 있다. 또한, RRAM은, SRAM과 마찬가지로 고속으로 데이터의 읽고 쓰기가 가능하기 때문에, 전원이 완전히 상실되기 전의 매우 제한된 시간 내에, 프로그램 중인 페이지의 주소와 퇴피용 블록의 주소를 RRAM에 보관유지시킬 수 있다.
덧붙여, 상기 실시예에서는, 비휘발성 메모리로서 RRAM을 사용했지만, NAND형 메모리 보다 고속으로 데이터를 기입할 수 있는 것이라면, RRAM 이외에도 MRAM(자성체 메모리)을 사용하는 것도 가능하다.
또한, 상기 실시예에서는, RRAM에 논리 주소와 물리 주소를 저장했지만, RRAM에 프로그램 해야 할 데이터를 함께 저장하도록 해도 무방하다. NAND형 메모리의 페이지의 데이터 사이즈는 비교적 크지만, 이러한 데이터를, 전원이 상실되기 전에 RRAM에 기입하는 것이 가능하다면, 퇴피용 블록의 물리 주소와 함께 저장하고, 전원이 복구되었을 때에, RRAM에 저장된 데이터를 퇴피용 블록의 물리 주소로 프로그램 하도록 해도 무방하다. 이 경우에는, RRAM에, 프로그램 데이터를 저장한 시점에, Ready 신호를 호스트 디바이스(40)에 출력해, 프로그램이 정상으로 종료한 것을 인식시켜서, 호스트 디바이스(40)로부터의 프로그램의 재시도를 불필요하게 하는 것이 바람직하다.
또한, 상기 실시예에서는, 재 프로그램을 실시할 때, 기입/셀렉터(220)는, 먼저 RRAM(240)을 선택하고, 거기서 입력된 논리 주소(LAD_IN)와 저장된 논리 주소(LAD_MM)를 비교하도록 했지만, 이외에도, RRAM(240)에 논리 주소가 저장되는 경우에게만 RRAM(240)을 먼저 선택하고, 그 이외의 경우에는, SRAM(230)을 선택하도록 해도 무방하다. 예를 들면, 메모리 컨트롤러(200)는, 프로그램을 중단할 때에, 컨트롤러 내 비휘발성 메모리에, RRAM(240)에 논리 주소의 기입을 실시한 것, 혹은 프로그램을 중단한 것을 나타내는 플래그 정보를 기억시키고, 전원 복구 후에, 그 플래그를 참조해, RRAM(240)을 먼저 선택할지 여부를 판정하도록 해도 무방하다.
본 발명의 바람직한 실시의 형태에 대해 상술했지만, 본 발명은, 특정의 실시 형태로 한정되는 것이 아니고, 특허 청구의 범위에 기재된 본 발명의 요지의 범위 내에서, 다양한 변형ㆍ변경이 가능하다.
100: 플래쉬 메모리
200: 메모리 컨트롤러
210: 전압 검출부
220: 기입/셀렉터
230: SRAM
240: RRAM
300: 메모리 장치

Claims (9)

  1. 반도체 기억 장치에 있어서,
    복수의 블록을 포함하는 NAND형의 메모리 셀 어레이;
    전원 전압이 일정 전압으로 강하(降下)한 것을 검출하는 검출 수단;
    논리 주소를 물리 주소로 변환하는 변환 테이블을 기억하는 휘발성 메모리;
    상기 물리 주소에 따라 선택된 블록의 페이지에 데이터를 프로그램하는 프로그램 수단;
    상기 프로그램 수단에 의해 프로그램되는 동안에 상기 검출 수단에 의해 일정 전압이 검출되었을 때, 프로그램되고 있는 블록과 페이지의 논리 주소, 및 상기 논리 주소를 다른 물리 주소로 변환하기 위한 변환 정보를 기억하는 비휘발성 메모리; 및
    상기 휘발성 메모리의 상기 변환 테이블 또는 상기 비휘발성 메모리의 상기 변환 정보에 기초하여, 입력된 논리 주소를 물리 주소로 변환하는 변환 수단
    을 포함하고,
    상기 변환 수단은,
    상기 입력된 논리 주소를 상기 비휘발성 메모리에 기억된 논리 주소와 비교하고,
    양자가 일치하는 경우에는, 상기 입력된 논리 주소는 상기 다른 물리 주소로 변환되고,
    양자가 일치하지 않는 경우에는, 상기 입력된 논리 주소는, 상기 휘발성 메모리에 기억된 상기 변환 테이블에 따라 상기 물리 주소로 변환되는,
    반도체 기억 장치.
  2. 제1항에 있어서,
    상기 다른 물리 주소는,
    프로그램이 중단된 페이지를 퇴피시키기 위해 준비된 전용의 블록을 선택하기 위한 주소인, 반도체 기억 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 다른 물리 주소는,
    블록을 선택하기 위한 블록 주소와, 페이지를 선택하기 위한 페이지 주소를 포함하는, 반도체 기억 장치.
  4. 제1항에 있어서,
    상기 검출 수단에 의해 일정 전압이 검출된 것에 응답하여, 상기 변환 정보를 비휘발성 메모리에 기입(Write)하는 기입 수단
    을 더 포함하는, 반도체 기억 장치.
  5. 제1항 또는 제2항에 있어서,
    상기 일정 전압은,
    반도체 기억 장치가 동작 가능한 최소 전압 보다 큰, 반도체 기억 장치.
  6. 제4항에 있어서,
    상기 기입 수단은,
    전원 전압이 상실(喪失)되기 전, 또는 반도체 기억 장치를 동작할 수 없게 되기 전에, 상기 변환 정보를 비휘발성 메모리에 기입하는, 반도체 기억 장치.
  7. 제1항에 있어서,
    상기 비휘발성 메모리는,
    가변 저항형 메모리인, 반도체 기억 장치.
  8. 제1항에 있어서,
    상기 변환 수단은,
    상기 비휘발성 메모리의 변환 정보를 먼저 선택하는, 반도체 기억 장치.
  9. 삭제
KR1020190146374A 2019-01-29 2019-11-15 반도체 기억 장치 KR102338009B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2019-013019 2019-01-29
JP2019013019A JP6708762B1 (ja) 2019-01-29 2019-01-29 半導体記憶装置

Publications (2)

Publication Number Publication Date
KR20200094621A KR20200094621A (ko) 2020-08-07
KR102338009B1 true KR102338009B1 (ko) 2021-12-10

Family

ID=70976391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146374A KR102338009B1 (ko) 2019-01-29 2019-11-15 반도체 기억 장치

Country Status (5)

Country Link
US (1) US11030091B2 (ko)
JP (1) JP6708762B1 (ko)
KR (1) KR102338009B1 (ko)
CN (1) CN111488292B (ko)
TW (1) TWI700702B (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167795A (ja) 2001-11-16 2003-06-13 Samsung Electronics Co Ltd フラッシュメモリの管理方法
JP2008117299A (ja) 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
JP2011154548A (ja) 2010-01-27 2011-08-11 Kyocera Corp 記憶装置
US20130031296A1 (en) * 2011-04-27 2013-01-31 Seagate Technology Llc System and method for managing address mapping information due to abnormal power events
JP2013061799A (ja) 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
US20180150357A1 (en) * 2016-11-25 2018-05-31 Silicon Motion, Inc. Data storage method and data recovery method for data storage device, and data storage device using the same methods

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
JP4058322B2 (ja) * 2002-10-07 2008-03-05 株式会社ルネサステクノロジ メモリカード
JP4188744B2 (ja) * 2003-04-08 2008-11-26 株式会社ルネサステクノロジ メモリカード
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
JP2005258851A (ja) * 2004-03-12 2005-09-22 Renesas Technology Corp メモリカード
JPWO2006067923A1 (ja) * 2004-12-22 2008-06-12 松下電器産業株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
WO2006126445A1 (ja) * 2005-05-23 2006-11-30 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
US8006030B2 (en) * 2006-03-13 2011-08-23 Panasonic Corporation Memory controller for identifying the last valid page/segment in a physical block of a flash memory
JP2008003684A (ja) * 2006-06-20 2008-01-10 Matsushita Electric Ind Co Ltd 不揮発性記憶装置及び不揮発性記憶システム
JP2008251063A (ja) * 2007-03-29 2008-10-16 Fujifilm Corp 記憶装置
JP2009175877A (ja) 2008-01-22 2009-08-06 Toshiba Corp 半導体メモリ
JP2008251154A (ja) * 2008-04-11 2008-10-16 Renesas Technology Corp 不揮発性半導体記憶装置
JP2010086009A (ja) * 2008-09-29 2010-04-15 Hitachi Ltd 記憶装置およびメモリ制御方法
JP2010211734A (ja) * 2009-03-12 2010-09-24 Toshiba Storage Device Corp 不揮発性メモリを用いた記憶装置
US8296503B2 (en) * 2009-05-26 2012-10-23 Mediatek Inc. Data updating and recovering methods for a non-volatile memory array
TWI479493B (zh) 2011-04-25 2015-04-01 Silicon Motion Inc 快閃記憶裝置及其斷電處理方法
JP5646402B2 (ja) * 2011-07-06 2014-12-24 パナソニック株式会社 不揮発性メモリのページ管理方法
KR102024523B1 (ko) * 2012-12-26 2019-09-24 삼성전자 주식회사 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
US9542278B2 (en) * 2013-12-26 2017-01-10 Silicon Motion, Inc. Data storage device and flash memory control method
GB2527529B (en) * 2014-06-24 2021-07-14 Advanced Risc Mach Ltd A device controller and method for performing a plurality of write transactions atomically within a non-volatile data storage device
TWI546666B (zh) * 2014-11-03 2016-08-21 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
US10019326B2 (en) * 2015-07-15 2018-07-10 Toshiba Memory Corporation Memory system
JP6479608B2 (ja) 2015-08-28 2019-03-06 東芝メモリ株式会社 メモリ装置およびメモリ制御方法
US9880770B2 (en) * 2015-09-02 2018-01-30 SK Hynix Inc. Supporting invalidation commands for non-volatile memory
KR102625637B1 (ko) * 2016-02-01 2024-01-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180025356A (ko) * 2016-08-29 2018-03-09 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리 시스템
CN107403644B (zh) 2017-05-22 2020-01-10 宜鼎国际股份有限公司 具备异常电源保护的闪存装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167795A (ja) 2001-11-16 2003-06-13 Samsung Electronics Co Ltd フラッシュメモリの管理方法
JP2008117299A (ja) 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
JP2011154548A (ja) 2010-01-27 2011-08-11 Kyocera Corp 記憶装置
US20130031296A1 (en) * 2011-04-27 2013-01-31 Seagate Technology Llc System and method for managing address mapping information due to abnormal power events
JP2013061799A (ja) 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
US20180150357A1 (en) * 2016-11-25 2018-05-31 Silicon Motion, Inc. Data storage method and data recovery method for data storage device, and data storage device using the same methods

Also Published As

Publication number Publication date
KR20200094621A (ko) 2020-08-07
JP2020123023A (ja) 2020-08-13
CN111488292B (zh) 2023-03-10
TW202029207A (zh) 2020-08-01
US20200242023A1 (en) 2020-07-30
JP6708762B1 (ja) 2020-06-10
CN111488292A (zh) 2020-08-04
US11030091B2 (en) 2021-06-08
TWI700702B (zh) 2020-08-01

Similar Documents

Publication Publication Date Title
US8363468B2 (en) Semiconductor memory device
CN106251903B (zh) 存储系统及其操作方法
US8705279B2 (en) Nonvolatile memory device and reading method thereof
KR100894809B1 (ko) 메모리 시스템 및 그것의 프로그램 방법
US7295470B2 (en) Non-volatile memory device including multi-page copyback system and method
US20060171210A1 (en) Nonvolatile semiconductor memory device which uses some memory blocks in multilevel memory as binary memory blocks
KR20150107405A (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
US20110002174A1 (en) Flash memory device and program recovery method thereof
KR20160063493A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
JP2006107719A (ja) 不揮発性メモリ装置及びそれのプログラム方法
US10672481B2 (en) Semiconductor memory device and operating method thereof
KR20220055717A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210101785A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20210057355A (ko) 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법
KR101642930B1 (ko) 더미 셀을 갖는 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102338009B1 (ko) 반도체 기억 장치
KR20130072712A (ko) 비휘발성 메모리 장치 및 그 제어 방법
US10937492B2 (en) Semiconductor storage apparatus
KR20100022229A (ko) 불휘발성 메모리 소자 및 그 동작 방법
US11474726B2 (en) Memory system, memory controller, and operation method thereof
US20090231922A1 (en) Nonvolatile Memory Device and Read Method Thereof
KR20220094990A (ko) 불량 워드라인의 리페어를 위한 메모리 장치, 메모리 컨트롤러 및 이를 포함하는 스토리지 장치
US20210132863A1 (en) Memory system, memory controller and method for operating memory controller
JP2008159134A (ja) 不揮発性半導体記憶装置
KR20210045029A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant