KR102359979B1 - 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 - Google Patents

솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 Download PDF

Info

Publication number
KR102359979B1
KR102359979B1 KR1020150160421A KR20150160421A KR102359979B1 KR 102359979 B1 KR102359979 B1 KR 102359979B1 KR 1020150160421 A KR1020150160421 A KR 1020150160421A KR 20150160421 A KR20150160421 A KR 20150160421A KR 102359979 B1 KR102359979 B1 KR 102359979B1
Authority
KR
South Korea
Prior art keywords
auxiliary
power supply
reprogramming
voltage
controller
Prior art date
Application number
KR1020150160421A
Other languages
English (en)
Other versions
KR20170056936A (ko
Inventor
박지원
전호진
유충현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150160421A priority Critical patent/KR102359979B1/ko
Priority to US15/333,384 priority patent/US10679701B2/en
Publication of KR20170056936A publication Critical patent/KR20170056936A/ko
Application granted granted Critical
Publication of KR102359979B1 publication Critical patent/KR102359979B1/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/10Programming or data input circuits
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control 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/30Power supply 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
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • 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/32Timing circuits

Abstract

솔리드 스테이트 드라이브 장치는 복수의 불휘발성 메모리 장치들, 컨트롤러, 메인 전력 공급 회로, 및 보조 리프로그램 장치를 포함한다. 컨트롤러는 복수의 불휘발성 메모리 장치들의 동작을 제어한다. 메인 전력 공급 회로는 전력 라인을 통해 제공되는 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들 및 컨트롤러에 동작 전압을 공급한다. 보조 리프로그램 장치는 전원 전압의 공급이 중단되는 경우, 내부적으로 생성되는 보조 전원 전압을 사용하여 컨트롤러를 제어하여 제1 주기마다 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행한다.

Description

솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 {SOLID STATE DRIVE DEVICE AND STORAGE SYSTEM HAVING THE SAME}
본 발명은 저장 시스템에 대한 전력 공급에 관한 것으로, 보다 상세하게는 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치 및 이를 포함하는 저장 시스템에 관한 것이다.
컴퓨터 시스템들과 같은 전자 시스템들의 데이터 저장 장치로서 자기 디스크들이 전통적으로 사용되었다. 그러나, 반도체 기술의 발전에 따라 컴퓨터 시스템들과 휴대용 장치들에서 자기 디스크 대신 플래시 메모리(예를 들어, NAND-타입 플래시 메모리)와 같은 불휘발성 메모리를 데이터 저장 장치로서 사용하는 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치가 점차 사용되는 추세이다.
솔리드 스테이트 드라이브 장치는 하드 디스크 드라이브(Hard Disk Drive; HDD) 장치에서 필수적으로 사용되는 모터와 같은 기계적인 구동 장치를 포함하고 있지 않으므로, 동작 시 열과 소음이 거의 발생하지 않는다. 또한, 솔리드 스테이트 드라이브 장치는 고속 액세스(fast access rate), 고집적도 및 외부 충격에 대한 안정성 때문에 데이터 저장 장치로서 선호되고 있다. 게다가, 솔리드 스테이트 드라이브 장치의 데이터 전송 속도는 하드 디스크 드라이브의 데이터 전송 속도 보다 상당히 빠르다.
그러나 솔리드 스테이트 드라이브 장치의 저장 매체로서 사용되는 불휘발성 메모리 장치는 전하 트랩(trap) 방식으로 데이터를 저장하므로, 솔리드 스테이트 드라이브 장치에 전원이 공급되지 않은 채 장시간 방치되는 경우 저장된 데이터가 유실되는 데이터 리텐션(retention) 에러가 발생할 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 데이터 리텐션 성능을 향상시킬 수 있는 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 솔리드 스테이트 드라이브 장치를 포함하는 저장 시스템을 제공하는 것이다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치는 복수의 불휘발성 메모리 장치들, 컨트롤러, 메인 전력 공급 회로, 및 보조 리프로그램 장치를 포함한다. 상기 컨트롤러는 상기 복수의 불휘발성 메모리 장치들의 동작을 제어한다. 상기 메인 전력 공급 회로는 전력 라인을 통해 제공되는 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급한다. 상기 보조 리프로그램 장치는 상기 전원 전압의 공급이 중단되는 경우, 내부적으로 생성되는 보조 전원 전압을 사용하여 상기 컨트롤러를 제어하여 제1 주기마다 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램(Reprogram) 동작을 수행한다.
일 실시예에 있어서, 상기 보조 리프로그램 장치는 현재 온도에 기초하여 상기 제1 주기를 가변할 수 있다.
상기 보조 리프로그램 장치는 상기 현재 온도가 상승하는 경우 상기 제1 주기를 감소시킬 수 있다.
일 실시예에 있어서, 상기 보조 리프로그램 장치는, 상기 보조 전원 전압을 생성하는 보조 전력 저장 소자, 상기 보조 전원 전압을 사용하여 로직 동작 전압을 생성하고, 전원 인에이블 신호가 활성화되는 동안 상기 보조 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 동작 전압을 공급하는 보조 전력 공급 회로, 및 상기 로직 동작 전압을 사용하여 동작하고, 상기 전력 라인을 통해 상기 전원 전압이 공급되는지 여부를 판단하며, 상기 전원 전압의 공급이 중단되는 시점으로부터 상기 제1 주기마다 상기 전원 인에이블 신호를 활성화시키고 리프로그램 명령을 상기 컨트롤러에 제공하는 로직 회로를 포함할 수 있다.
상기 로직 회로는, 상기 전력 라인의 전압을 감지하여 상기 전력 라인을 통해 상기 전원 전압이 공급되는지 여부를 판단하고, 상기 전원 전압의 공급이 중단되는 경우 클럭 인에이블 신호를 활성화시키는 코어 회로, 상기 클럭 인에이블 신호가 활성화되는 동안 카운트 클럭 신호를 생성하는 클럭 생성기, 및 상기 카운트 클럭 신호에 동기되어 카운팅 동작을 수행하여 카운트 값을 생성하고, 카운트 리셋 신호에 응답하여 상기 카운트 값을 리셋하는 카운트 회로를 포함하고, 상기 코어 회로는 상기 카운트 값이 문턱 값과 일치하는 경우 상기 전원 인에이블 신호를 활성화시키고 상기 리프로그램 명령을 출력하고 상기 카운트 리셋 신호를 생성할 수 있다.
상기 로직 회로는, 외부로부터 수신되는 상기 문턱 값을 저장하는 레지스터를 더 포함할 수 있다.
상기 로직 회로는, 퓨즈 커팅을 통해 상기 문턱 값을 저장하는 퓨즈 회로를 더 포함할 수 있다.
상기 코어 회로는, 상기 전력 라인을 통해 상기 전원 전압이 공급되는 경우, 상기 클럭 인에이블 신호를 비활성화시키고, 상기 클럭 생성기는 상기 클럭 인에이블 신호가 비활성화되는 동안 상기 카운트 클럭 신호의 토글링을 중단할 수 있다.
상기 로직 회로는, 현재 온도를 감지하는 온도 센서를 더 포함하고, 상기 코어 회로는 상기 현재 온도에 기초하여 주파수 제어 신호를 생성하고, 상기 클럭 생성기는 상기 주파수 제어 신호에 기초하여 상기 카운트 클럭 신호의 주파수를 가변할 수 있다.
상기 코어 회로는, 상기 현재 온도가 상승하는 경우 상기 클럭 생성기로부터 생성되는 상기 카운트 클럭 신호의 주파수가 증가하도록 상기 주파수 제어 신호를 가변할 수 있다.
상기 보조 전력 공급 회로는 직류(Direct Current; DC) 전압인 상기 보조 전원 전압을 사용하여 직류 전압인 상기 로직 동작 전압 및 상기 보조 동작 전압을 생성하는 DC/DC 컨버터를 포함할 수 있다.
상기 보조 전력 공급 회로는 상기 전력 라인을 통해 상기 전원 전압이 공급되는 경우, 상기 전원 전압을 사용하여 상기 보조 전력 저장 소자를 충전하는 충전 회로를 포함할 수 있다.
상기 보조 전력 저장 소자는 충전 가능한 배터리(battery)를 포함할 수 있다.
상기 컨트롤러는 상기 로직 회로로부터 상기 리프로그램 명령을 수신하는 경우, 상기 보조 동작 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들에 대해 상기 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 상기 로직 회로에 리프로그램 종료 신호를 제공할 수 있다.
상기 로직 회로는 상기 리프로그램 종료 신호에 응답하여 상기 전원 인에이블 신호를 비활성화시키고, 상기 보조 전력 공급 회로는 상기 전원 인에이블 신호가 비활성화되는 동안 상기 보조 동작 전압의 생성을 중단할 수 있다.
상기 컨트롤러는 상기 리프로그램 명령에 응답하여, 상기 복수의 불휘발성 메모리 장치들에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 리프로그램 블록으로서 선택하고, 상기 리프로그램 블록에 저장된 데이터를 독출하고, 상기 독출된 데이터를 다른 블록에 프로그램하고, 상기 리프로그램 블록을 소거함으로써 상기 리프로그램 동작을 수행할 수 있다.
상기 컨트롤러는 상기 복수의 블록들에 포함되는 적어도 하나의 페이지의 비트 에러율(Bit Error Rate; BER)을 결정하고, 미리 정해진 값 이상의 비트 에러율을 갖는 페이지를 포함하는 블록을 상기 리프로그램 블록으로서 선택할 수 있다.
상기 컨트롤러는 상기 복수의 블록들에 포함되는 적어도 하나의 페이지에 대해 마지막으로 프로그램 동작이 수행된 시각을 저장하고, 상기 마지막으로 프로그램 동작이 수행된 시각으로부터 미리 정해진 시간이 경과된 페이지를 포함하는 블록을 상기 리프로그램 블록으로서 선택할 수 있다.
일 실시예에 있어서, 상기 복수의 불휘발성 메모리 장치들 각각은 플래시 메모리를 포함할 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 저장 시스템은 솔리드 스테이트 드라이브 장치 및 호스트를 포함한다. 상기 솔리드 스테이트 드라이브 장치는 데이터를 저장한다. 상기 호스트는 상기 솔리드 스테이트 드라이브 장치에 전력 라인을 통해 전원 전압을 제공하고, 상기 솔리드 스테이트 드라이브 장치의 동작을 제어한다. 상기 솔리드 스테이트 드라이브 장치는 상기 호스트로부터 상기 전원 전압의 공급이 중단되는 경우, 내부적으로 생성되는 보조 전원 전압을 사용하여 제1 주기마다 상기 데이터의 적어도 일부를 상기 솔리드 스테이트 드라이브 장치의 다른 물리 영역으로 이동하여 저장한다.
일 실시예에 있어서, 상기 솔리드 스테이트 드라이브 장치는 현재 온도에 기초하여 상기 제1 주기를 가변할 수 있다.
일 실시예에 있어서, 상기 솔리드 스테이트 드라이브 장치는, 복수의 불휘발성 메모리 장치들, 상기 복수의 불휘발성 메모리 장치들의 동작을 제어하는 컨트롤러, 상기 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하는 메인 전력 공급 회로, 및 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 상기 컨트롤러를 제어하여 상기 제1 주기마다 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하는 보조 리프로그램 장치를 포함할 수 있다.
상기 보조 리프로그램 장치는, 상기 보조 전원 전압을 생성하는 보조 전력 저장 소자, 상기 보조 전원 전압을 사용하여 로직 동작 전압을 생성하고, 전원 인에이블 신호가 활성화되는 동안 상기 보조 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 동작 전압을 공급하는 보조 전력 공급 회로, 및 상기 로직 동작 전압을 사용하여 동작하고, 상기 호스트로부터 상기 전원 전압이 공급되는지 여부를 판단하며, 상기 전원 전압의 공급이 중단되는 시점으로부터 상기 제1 주기마다 상기 전원 인에이블 신호를 활성화시키고 리프로그램 명령을 상기 컨트롤러에 제공하는 로직 회로를 포함할 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 복수의 불휘발성 메모리 장치들 및 보조 전력 저장 소자를 포함하는 솔리드 스테이트 드라이브 장치의 동작 방법에서, 전력 라인을 통해 전원 전압이 공급되는지 여부를 판단하고, 상기 전원 전압이 공급되는 경우, 상기 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들에 대해 프로그램 동작 및 독출 동작을 수행하고, 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 전력 저장 소자로부터 생성되는 보조 전원 전압을 사용하여 제1 주기마다 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행한다.
일 실시예에 있어서, 현재 온도에 기초하여 상기 제1 주기를 가변할 수 있다.
일 실시예에 있어서, 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 전력 저장 소자로부터 생성되는 상기 보조 전원 전압을 사용하여 상기 제1 주기마다 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하는 단계는, 카운트 클럭 신호를 생성하는 단계, 상기 카운트 클럭 신호에 동기되어 카운팅 동작을 수행하여 카운트 값을 생성하는 단계, 상기 카운트 값이 문턱 값과 일치하는 경우, 상기 보조 전원 전압을 사용하여 보조 동작 전압을 생성하는 단계, 상기 보조 동작 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 리프로그램 블록으로서 선택하는 단계, 상기 보조 동작 전압을 사용하여 상기 리프로그램 블록에 저장된 데이터를 다른 블록으로 이동하는 단계, 및 상기 보조 동작 전압의 생성을 중단하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 전원 전압이 공급되는 경우, 상기 전원 전압을 사용하여 상기 보조 전력 저장 소자를 충전할 수 있다.
본 발명의 실시예들에 따른 솔리드 스테이트 드라이브 장치는 외부로부터의 전원 전압 공급이 중단되는 경우에도 리프로그램 동작을 수행할 수 있으므로, 데이터 리텐션 성능을 효과적으로 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 2는 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 불휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 3은 도 2의 불휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이다.
도 4는 도 2의 불휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 다른 예를 나타내는 회로도이다.
도 5a 및 5b는 도 1의 불휘발성 메모리 장치에 포함되는 메모리 셀의 프로그램 동작을 설명하기 위한 도면들이다.
도 6a 및 6b는 도 1의 불휘발성 메모리 장치에 포함되는 메모리 셀의 데이터 리텐션(retention) 에러를 설명하기 위한 도면들이다.
도 7은 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 보조 리프로그램 장치의 일 예를 나타내는 블록도이다.
도 8은 도 7의 보조 리프로그램 장치에 포함되는 보조 전력 공급 회로의 일 예를 나타내는 블록도이다.
도 9는 도 7의 보조 리프로그램 장치에 포함되는 로직 회로의 일 예를 나타내는 블록도이다.
도 10은 도 7의 보조 리프로그램 장치에 포함되는 로직 회로의 다른 예를 나타내는 블록도이다.
도 11은 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 컨트롤러의 일 예를 나타내는 블록도이다.
도 12는 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 컨트롤러의 다른 예를 나타내는 블록도이다.
도 13은 본 발명의 일 실시예에 따른 솔리드 스테이트 드라이브 장치의 동작 방법을 나타내는 순서도이다.
도 14는 도 13의 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 15는 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 16은 도 15의 솔리드 스테이트 드라이브 장치에 포함되는 보조 리프로그램 장치의 일 예를 나타내는 블록도이다.
도 17은 도 16의 보조 리프로그램 장치에 포함되는 보조 전력 공급 회로의 일 예를 나타내는 블록도이다.
도 18은 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 19는 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 20은 도 19의 솔리드 스테이트 드라이브 장치에 포함되는 보조 리프로그램 장치의 일 예를 나타내는 블록도이다.
도 21은 도 20의 보조 리프로그램 장치에 포함되는 보조 전력 공급 회로의 일 예를 나타내는 블록도이다.
도 22는 본 발명의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 1을 참조하면, 저장 시스템(1000)은 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치(10) 및 호스트(20)를 포함한다.
호스트(20)는 솔리드 스테이트 드라이브 장치(10)에 전력 라인(PL)을 통해 전원 전압(VS)을 제공하고, 솔리드 스테이트 드라이브 장치(10)는 전력 라인(PL)을 통해 공급되는 전원 전압(VS)을 사용하여 동작한다.
호스트(20)는 솔리드 스테이트 드라이브 장치(10)의 동작을 제어한다. 예를 들어, 호스트(20)는 솔리드 스테이트 드라이브 장치(10)에 데이터(DT)를 기입하고, 솔리드 스테이트 드라이브 장치(10)에 기입된 데이터(DT)를 독출할 수 있다.
한편, 솔리드 스테이트 드라이브 장치(10)가 호스트(20)로부터 분리되거나 호스트(20)가 턴오프되는 경우와 같이 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되지 않는 경우, 솔리드 스테이트 드라이브 장치(10)는 턴오프된다.
일반적으로, 솔리드 스테이트 드라이브 장치에 전원 전압이 공급되지 않은 채 장시간 방치되는 경우, 상기 솔리드 스테이트 드라이브 장치에 저장된 데이터는 유실될 수 있다. 이와 같은 데이터 유실을 데이터 리텐션(retention) 에러라고 부른다.
후술하는 바와 같이, 본 발명에 따른 솔리드 스테이트 드라이브 장치(10)는 내부적으로 보조 전력 저장 소자를 포함한다. 따라서 호스트(20)로부터 전원 전압(VS)의 공급이 중단되는 경우, 솔리드 스테이트 드라이브 장치(10)는 상기 보조 전력 저장 소자로부터 내부적으로 생성되는 보조 전원 전압을 사용하여 제1 주기마다 솔리드 스테이트 드라이브 장치(10) 저장된 데이터(DT)의 적어도 일부를 솔리드 스테이트 드라이브 장치(10)의 다른 물리 영역으로 이동하여 저장한다. 따라서 본 발명에 따른 솔리드 스테이트 드라이브 장치(10)는 데이터 리텐션(retention) 성능을 효과적으로 향상시킬 수 있다.
이하, 도 1을 참조하여 본 발명에 따른 솔리드 스테이트 드라이브 장치(10)의 구성에 대해 상세히 설명한다.
도 1을 참조하면, 솔리드 스테이트 드라이브 장치(10)는 복수의 불휘발성 메모리 장치들(NVM)(100-1, 100-2, ..., 100-k), 컨트롤러(200), 메인 전력 공급 회로(300), 및 보조 리프로그램 장치(400)를 포함한다. 여기서, k는 양의 정수를 나타낸다.
복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 솔리드 스테이트 드라이브 장치(10)의 저장 매체로서 사용된다. 일 실시예에 있어서, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k) 각각은 플래시(flash) 메모리를 포함할 수 있다.
컨트롤러(200)는 복수의 채널들(CH1, CH2, ..., CHk)을 통해 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)과 각각 연결될 수 있다.
컨트롤러(200)는 호스트(20)로부터 커맨드 신호(CMD) 및 어드레스 신호(ADDR)를 수신하고, 호스트(20)와 데이터(DT)를 송수신한다. 컨트롤러(200)는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작을 제어한다. 예를 들어, 컨트롤러(200)는 호스트(20)로부터 수신되는 커맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 데이터(DT)를 기입하거나 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)로부터 데이터(DT)를 독출할 수 있다.
메인 전력 공급 회로(300)는 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)을 수신한다.
전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되는 경우, 메인 전력 공급 회로(300)는 전원 전압(VS)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 동작 전압(VOP1) 및 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 동작 전압(VOP2)을 생성할 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 제1 동작 전압(VOP1)을 사용하여 동작하고, 컨트롤러(200)는 제2 동작 전압(VOP2)을 사용하여 동작할 수 있다.
반면에, 호스트(20)로부터 전원 전압(VS)의 공급이 중단되는 경우, 메인 전력 공급 회로(300)는 제1 동작 전압(VOP1) 및 제2 동작 전압(VOP2)을 생성하지 않고 턴오프될 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k) 및 컨트롤러(200) 역시 턴오프될 수 있다.
보조 리프로그램 장치(400)는 상기 보조 전원 전압을 생성하는 상기 보조 전력 저장 소자를 포함한다. 따라서 보조 리프로그램 장치(400)는 상기 보조 전원 전압을 사용하여 동작할 수 있다.
보조 리프로그램 장치(400)는 전력 라인(PL)에 연결된다. 보조 리프로그램 장치(400)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는지 여부를 모니터링하고, 전원 전압(VS)의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 컨트롤러(200)를 제어하여 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 리프로그램(Reprogram) 동작을 수행할 수 있다.
예를 들어, 전원 전압(VS)의 공급이 중단되는 경우, 보조 리프로그램 장치(400)는 상기 보조 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 보조 동작 전압(VAOP1) 및 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 보조 동작 전압(VAOP2)을 생성할 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 제1 보조 동작 전압(VAOP1)을 사용하여 동작하고, 컨트롤러(200)는 제2 보조 동작 전압(VAOP2)을 사용하여 동작할 수 있다. 또한, 보조 리프로그램 장치(400)는 컨트롤러(200)에 리프로그램 명령(RPCMD)을 제공할 수 있다. 컨트롤러(200)는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 보조 리프로그램 장치(400)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다. 보조 리프로그램 장치(400)는 리프로그램 종료 신호(RPFIN)에 응답하여 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단할 수 있다.
일 실시예에 있어서, 보조 리프로그램 장치(400)로부터 생성되는 적어도 하나의 제1 보조 동작 전압(VAOP1) 및 적어도 하나의 제2 보조 동작 전압(VAOP2)은 메인 전력 공급 회로(300)로부터 생성되는 적어도 하나의 제1 동작 전압(VOP1) 및 적어도 하나의 제2 동작 전압(VOP2)과 각각 동일할 수 있다.
본 명세서에서, 상기 리프로그램 동작이란, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 제1 물리 영역에 저장된 데이터를 독출하고, 상기 독출된 데이터를 상기 제1 물리 영역과는 다른 제2 물리 영역에 기입하고, 상기 제1 물리 영역을 소거하는 동작을 나타낸다.
일 실시예에 있어서, 컨트롤러(200)는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 리프로그램 블록으로서 선택하고, 상기 리프로그램 블록에 저장된 데이터를 독출하고, 상기 독출된 데이터를 다른 블록에 프로그램하고, 상기 리프로그램 블록을 소거함으로써 상기 리프로그램 동작을 수행할 수 있다.
일 실시예에 있어서, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 상기 블록은 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 소거 동작이 수행되는 단위 영역을 나타낼 수 있다.
컨트롤러(200)가 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 상기 복수의 블록들 중에서 리프로그램이 필요한 블록을 상기 리프로그램 블록으로서 선택하는 방법에 대해서는 도 11 및 12를 참조하여 후술한다.
도 2는 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 불휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 1의 솔리드 스테이트 드라이브 장치(10)에 포함되는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k) 각각은 도 2에 도시되는 불휘발성 메모리 장치(100)로 구현될 수 있다.
도 2를 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 페이지 버퍼 회로(130), 데이터 입출력 회로(140), 및 제어 회로(150)를 포함할 수 있다.
메모리 셀 어레이(110)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 어드레스 디코더(120)와 연결될 수 있다. 또한, 메모리 셀 어레이(110)는 복수의 비트 라인들(BLs)을 통해 페이지 버퍼 회로(130)와 연결될 수 있다.
메모리 셀 어레이(110)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)에 연결되는 복수의 메모리 셀들을 포함할 수 있다.
일 실시예에 있어서, 메모리 셀 어레이(110)는 기판 상에 삼차원 구조(또는 수직 구조)로 형성되는 삼차원(three dimensional) 메모리 셀 어레이일 수 있다. 이 경우, 메모리 셀 어레이(110)는 서로 적층되어 형성되는 복수의 메모리 셀들을 포함하는 수직 메모리 셀 스트링들을 포함할 수 있다. 삼차원 메모리 셀 어레이에 대한 자세한 설명은 본 명세서에 참고 문헌으로 결합된 미국 등록 번호 7,679,133; 8,553,466; 8,654,587; 8,559,235 및 미국 공개 번호 2011/0233648에 기술되어 있다.
다른 실시예에 있어서, 메모리 셀 어레이(110)는 기판 상에 이차원 구조(또는 수평 구조)로 형성되는 이차원(two dimensional) 메모리 셀 어레이일 수 있다.
도 3은 도 2의 불휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이다.
도 3에 도시된 메모리 셀 어레이(110a)는 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 셀 어레이를 나타낸다. 예를 들어, 메모리 셀 어레이(110a)에 포함되는 복수의 메모리 셀 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.
도 3을 참조하면, 메모리 셀 어레이(110a)는 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 셀 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 셀 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다.
도 3에는 복수의 메모리 셀 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 워드 라인(WL1, WL2, ..., WL8)에 연결될 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다.
도 3에는 메모리 셀 어레이(110a)가 여덟 개의 워드 라인들(WL1, WL2, ..., WL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
도 4는 도 2의 불휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 다른 예를 나타내는 회로도이다.
도 4에 도시된 메모리 셀 어레이(110b)는 기판에 이차원 구조로 형성되는 이차원 메모리 셀 어레이를 나타낸다. 예를 들어, 메모리 셀 어레이(110b)에 포함되는 복수의 메모리 셀 스트링들은 상기 기판과 수평한 방향으로 형성될 수 있다.
도 4를 참조하면, 메모리 셀 어레이(110b)는 복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm)을 포함할 수 있다.
복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm) 각각은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다.
복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm)에 포함되는 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)에 공통으로 연결될 수 있다. 복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm)에 포함되는 복수의 메모리 셀들(MC) 중에서 동일한 로우에 형성되는 메모리 셀들은 상응하는 워드 라인(WL1, WL2, WL3, WL4, ..., WL(n-1), WLn)에 공통으로 연결될 수 있다. 복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm)에 포함되는 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)에 공통으로 연결될 수 있다.
복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm)에 포함되는 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 공통으로 연결될 수 있다.
복수의 메모리 셀 스트링들(NS1, NS2, NS3, ..., NSm)에 포함되는 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3, ..., BLm)에 연결될 수 있다.
여기서, n 및 m은 각각 양의 정수를 나타낸다.
다시 도 2를 참조하면, 제어 회로(150)는 컨트롤러(200)로부터 커맨드 신호(CMD) 및 어드레스 신호(ADDR)를 수신하고, 커맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여 불휘발성 메모리 장치(100)의 프로그램 동작, 독출 동작 및 소거 동작을 제어할 수 있다.
예를 들어, 제어 회로(150)는 커맨드 신호(CMD)에 기초하여 제어 신호들(CONs)을 생성하고, 어드레스 신호(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(150)는 제어 신호들(CONs) 및 로우 어드레스(R_ADDR)를 어드레스 디코더(120)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(140)에 제공할 수 있다.
어드레스 디코더(120)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(110)와 연결될 수 있다. 또한, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 어드레스 디코더(120)는 메인 전력 공급 회로(300)로부터 제1 동작 전압(VOP1)을 수신하고, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되지 않는 경우, 어드레스 디코더(120)는 보조 리프로그램 장치(400)로부터 제1 보조 동작 전압(VAOP1)을 수신할 수 있다. 예를 들어, 제1 동작 전압(VOP1) 및 제1 보조 동작 전압(VAOP1)은 프로그램 동작시 사용되는 프로그램 전압, 패스 전압, 및 프로그램 검증 전압, 독출 동작시 사용되는 독출 전압, 및 소거 동작시 사용되는 소거 전압을 포함할 수 있다.
어드레스 디코더(120)는 제어 신호들(CONs) 및 로우 어드레스(R_ADDR)에 기초하여 제1 동작 전압(VOP1) 또는 제1 보조 동작 전압(VAOP1)을 복수의 워드 라인들(WLs)에 인가함으로써 프로그램 동작, 독출 동작, 소거 동작, 및 상기 리프로그램 동작을 수행할 수 있다.
페이지 버퍼 회로(130)는 복수의 비트 라인들(BLs)을 통해 메모리 셀 어레이(110)와 연결될 수 있다.
페이지 버퍼 회로(130)는 복수의 페이지 버퍼를 포함할 수 있다. 일 실시예에 있어서, 하나의 페이지 버퍼에 하나의 비트 라인이 연결될 수 있다. 다른 실시예에 있어서, 하나의 페이지 버퍼에 두 개 이상의 비트 라인들이 연결될 수 있다.
페이지 버퍼 회로(130)는 프로그램 동작 시 선택된 페이지에 프로그램될 데이터를 임시로 저장하고, 독출 동작 시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(140)는 데이터 라인(DL)을 통해 페이지 버퍼 회로(130)와 연결될 수 있다.
프로그램 동작 시, 데이터 입출력 회로(140)는 컨트롤러(200)로부터 프로그램 데이터(DT)를 수신하고, 제어 회로(150)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 프로그램 데이터(DT)를 페이지 버퍼 회로(130)에 제공할 수 있다.
독출 동작 시, 데이터 입출력 회로(140)는 제어 회로(150)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(130)에 저장된 독출 데이터(DT)를 컨트롤러(200)에 제공할 수 있다.
이상, 도 2 내지 4를 참조하여 솔리드 스테이트 드라이브 장치(10)에 포함되는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 일 예를 설명하였으나, 본 발명은 이에 한정되지 않으며, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k) 각각은 다양한 형태로 구현될 수 있다.
도 5a 및 5b는 도 1의 불휘발성 메모리 장치에 포함되는 메모리 셀의 프로그램 동작을 설명하기 위한 도면들이고, 도 6a 및 6b는 도 1의 불휘발성 메모리 장치에 포함되는 메모리 셀의 데이터 리텐션 에러를 설명하기 위한 도면들이다.
도 5a 및 6a에 도시된 바와 같이, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k) 각각에 포함되는 메모리 셀(MC)은 P-형 웰(115)에 형성되는 소스(N+)(113) 및 드레인(N+)(114), P-형 웰(115)의 상부에 형성되는 플로팅 게이트(112), 및 플로팅 게이트(112)의 상부에 형성되고 워드 라인(WL)에 연결되는 컨트롤 게이트(C/G)(111)를 포함할 수 있다.
프로그램 동작 시, 컨트롤 게이트(111)에 높은 전압 레벨을 갖는 프로그램 전압이 인가되고, 소스(113), 드레인(114) 및 P-형 웰(115)에 접지 전압이 인가될 수 있다. 이 경우, 도 5a에 도시된 바와 같이, 에프엔 터널링(Fowler-Nordheim(FN) tunneling)을 통해 P-형 웰(115)의 전자가 플로팅 게이트(112)로 트랩(trap)되어 메모리 셀(MC)의 문턱 전압(Vth)은 증가할 수 있다. 따라서, 도 5b에 도시된 바와 같이, 메모리 셀(MC)의 문턱 전압(Vth) 산포는 소거 상태(E)에서 프로그램 상태(P)로 변경될 수 있다.
그러나, 솔리드 스테이트 드라이브 장치(10)에 전원 전압(VS)의 공급이 중단되는 경우, 도 6a에 도시된 바와 같이, 시간이 흐름에 따라 플로팅 게이트(112)에 트랩된 전자는 P-형 웰(115)로 디트랩(detrap)되어 메모리 셀(MC)의 문턱 전압(Vth)은 감소할 수 있다. 따라서, 도 6b에 도시된 바와 같이, 메모리 셀(MC)의 문턱 전압(Vth) 산포는 문턱 전압(Vth)이 줄어드는 좌측 방향으로 이동할 수 있다. 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 메모리 셀들(MC) 중에서 문턱 전압(Vth)이 상대적으로 많이 감소하여 도 6b의 리텐션 에러 영역(FA)에 포함되는 메모리 셀(MC)에 저장된 데이터는 유실될 수 있다.
이런 이유로 인해, 일반적인 솔리드 스테이트 드라이브 장치는 주기적으로 리프로그램 동작을 수행함으로써 데이터 유실을 방지한다. 그러나, 일반적인 솔리드 스테이트 드라이브 장치는 외부로부터 전원 전압이 공급되는 경우에 한해 리프로그램 동작을 수행할 수 있으므로, 솔리드 스테이트 드라이브 장치에 전원 전압의 공급이 중단된 채 장시간 방치되는 경우 솔리드 스테이트 드라이브 장치에 저장된 데이터는 유실될 수 있다.
이에 반해, 상술한 바와 같이, 본 발명에 따른 솔리드 스테이트 드라이브 장치(10)는 보조 리프로그램 장치(400)를 포함함으로써, 외부로부터 전원 전압(VS)의 공급이 중단되는 경우에도 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행할 수 있다. 따라서 본 발명에 따른 솔리드 스테이트 드라이브 장치(10)는 데이터 리텐션(retention) 성능을 효과적으로 향상시킬 수 있다.
또한, 보조 리프로그램 장치(400)는 현재 온도를 감지하고, 상기 현재 온도에 기초하여 상기 제1 주기를 가변할 수 있다. 예를 들어, 현재 온도가 높을수록 플로팅 게이트(112)로부터 P-형 웰(115)로 디트랩(detrap)되는 전자의 양은 증가하므로, 솔리드 스테이트 드라이브 장치(10)의 데이터 유실 속도는 증가할 수 있다. 따라서 보조 리프로그램 장치(400)는 상기 현재 온도가 상승하는 경우 상기 제1 주기를 감소시키고, 상기 현재 온도가 감소하는 경우 상기 제1 주기를 증가시킬 수 있다.
이하, 도 7 내지 10을 참조하여 보조 리프로그램 장치(400)의 구성 및 동작에 대해 상세히 설명한다.
도 7은 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 보조 리프로그램 장치의 일 예를 나타내는 블록도이다.
도 7을 참조하면, 보조 리프로그램 장치(400)는 보조 전력 저장 소자(410), 보조 전력 공급 회로(420), 및 로직 회로(430)를 포함할 수 있다.
보조 전력 저장 소자(410)는 전력을 저장할 수 있다. 일 실시예에 있어서, 보조 전력 저장 소자(410)는 전력을 저장할 수 있는 배터리(battery)를 포함할 수 있다. 보조 전력 저장 소자(410)는 상기 저장된 전력을 사용하여 보조 전원 전압(VAS)을 생성할 수 있다.
보조 전력 공급 회로(420)는 보조 전력 저장 소자(410)로부터 생성되는 보조 전원 전압(VAS)을 사용하여 동작할 수 있다. 보조 전력 공급 회로(420)는 보조 전원 전압(VAS)을 사용하여 로직 동작 전압(VLOP)을 생성할 수 있다.
또한, 보조 전력 공급 회로(420)는 로직 회로(430)로부터 수신되는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 적어도 하나의 제1 보조 동작 전압(VAOP1) 및 적어도 하나의 제2 보조 동작 전압(VAOP2)을 생성할 수 있다. 상술한 바와 같이, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 보조 전력 공급 회로(420)로부터 생성되는 제1 보조 동작 전압(VAOP1)을 사용하여 동작하고, 컨트롤러(200)는 보조 전력 공급 회로(420)로부터 생성되는 제2 보조 동작 전압(VAOP2)을 사용하여 동작할 수 있다.
한편, 보조 전력 공급 회로(420)는 로직 회로(430)로부터 수신되는 전원 인에이블 신호(PW_EN)가 비활성화되는 동안 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단할 수 있다.
일 실시예에 있어서, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 보조 전력 공급 회로(420)는 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)에 전하(CHARGE)를 제공함으로써 보조 전력 저장 소자(410)를 충전할 수 있다. 이 경우, 보조 전력 저장 소자(410)는 충전 가능한 배터리를 포함할 수 있다.
일 실시예에 있어서, 보조 전력 공급 회로(420)는 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)를 충전하는 충전 동작과 보조 전력 저장 소자(410)로부터 제공되는 보조 전원 전압(VAS)을 사용하여 로직 동작 전압(VLOP), 제1 보조 동작 전압(VAOP1), 및 제2 보조 동작 전압(VAOP2)을 생성하는 방전 동작을 동시에 수행할 수 있다. 이 경우, 보조 전력 공급 회로(420)는 양방향 배터리 충전기(bidirectional battery charger)로 구현될 수 있다.
도 8은 도 7의 보조 리프로그램 장치에 포함되는 보조 전력 공급 회로의 일 예를 나타내는 블록도이다.
도 8을 참조하면, 보조 전력 공급 회로(420)는 DC/DC 컨버터(421) 및 충전 회로(423)를 포함할 수 있다.
DC/DC 컨버터(421)는 직류(Direct Current; DC) 전압인 보조 전원 전압(VAS)을 사용하여 직류 전압인 로직 동작 전압(VLOP)을 생성할 수 있다. 또한, DC/DC 컨버터(421)는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)을 생성할 수 있다.
충전 회로(423)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)에 전하(CHARGE)를 제공함으로써 보조 전력 저장 소자(410)를 충전할 수 있다.
일 실시예에 있어서, DC/DC 컨버터(421) 및 충전 회로(423)는 동시에 동작할 수 있다.
다시 도 7을 참조하면, 로직 회로(430)는 보조 전력 공급 회로(420)로부터 제공되는 로직 동작 전압(VLOP)을 사용하여 동작할 수 있다. 로직 회로(430)는 전력 라인(PL)의 전압을 감지하여 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는지 여부를 판단할 수 있다. 로직 회로(430)는 전원 전압(VS)의 공급이 중단되는 시점으로부터 상기 제1 주기마다 전원 인에이블 신호(PW_EN)를 활성화시키고 리프로그램 명령(RPCMD)을 컨트롤러(200)에 제공할 수 있다.
한편, 로직 회로(430)는 컨트롤러(200)로부터 리프로그램 종료 신호(RPFIN)를 수신하는 경우, 전원 인에이블 신호(PW_EN)를 비활성화시킬 수 있다. 상술한 바와 같이, 전원 인에이블 신호(PW_EN)가 비활성화되는 경우, 보조 전력 공급 회로(420)는 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단할 수 있다.
도 9는 도 7의 보조 리프로그램 장치에 포함되는 로직 회로의 일 예를 나타내는 블록도이다.
도 9를 참조하면, 로직 회로(430a)는 코어 회로(431), 클럭 생성기(433), 및 카운트 회로(435)를 포함할 수 있다.
도 9에 도시된 바와 같이, 코어 회로(431), 클럭 생성기(433), 및 카운트 회로(435)는 보조 전력 공급 회로(420)로부터 제공되는 로직 동작 전압(VLOP)을 사용하여 동작할 수 있다.
코어 회로(431)는 전력 라인(PL)의 전압을 감지하여 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는지 여부를 판단할 수 있다. 전원 전압(VS)의 공급이 중단되는 경우, 코어 회로(431)는 클럭 인에이블 신호(CLK_EN)를 활성화시킬 수 있다.
클럭 생성기(433)는 클럭 인에이블 신호(CLK_EN)가 활성화되는 동안 카운트 클럭 신호(CLKC)를 생성할 수 있다.
카운트 회로(435)는 카운트 클럭 신호(CLKC)에 동기되어 카운팅 동작을 수행하여 카운트 값(CNT)을 생성할 수 있다. 카운트 회로(435)로부터 생성되는 카운트 값(CNT)은 코어 회로(431)에 제공될 수 있다.
코어 회로(431)는 카운트 값(CNT)을 문턱 값(THV)과 비교할 수 있다. 카운트 값(CNT)이 문턱 값(THV)과 일치하는 경우, 코어 회로(431)는 상기 제1 주기가 도래한 것으로 판단할 수 있다. 즉, 상기 제1 주기는 카운트 클럭 신호(CLKC)의 주기와 문턱 값(THV)의 곱에 상응할 수 있다. 이 경우, 코어 회로(431)는 활성화된 전원 인에이블 신호(PW_EN)를 보조 전력 공급 회로(420)에 제공하고, 리프로그램 명령(RPCMD)을 컨트롤러(200)에 출력하며, 카운트 리셋 신호(CNT_RST)를 카운트 회로(435)에 제공할 수 있다.
카운트 회로(435)는 카운트 리셋 신호(CNT_RST)에 응답하여 카운트 값(CNT)을 리셋할 수 있다. 따라서 카운트 회로(435)는 카운트 리셋 신호(CNT_RST)를 수신하는 경우, 초기 값부터 다시 카운팅 동작을 수행하여 카운트 값(CNT)을 생성할 수 있다.
상술한 바와 같이, 보조 전력 공급 회로(420)는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 제1 보조 동작 전압(VAOP1)을 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 공급하고 제2 보조 동작 전압(VAOP2)을 컨트롤러(200)에 공급할 수 있다. 따라서 컨트롤러(200)는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행할 수 있다.
컨트롤러(200)는 상기 리프로그램 동작을 종료한 이후 코어 회로(431)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다. 코어 회로(431)는 리프로그램 종료 신호(RPFIN)에 응답하여 전원 인에이블 신호(PW_EN)를 비활성화시키고, 보조 전력 공급 회로(420)는 비활성화된 전원 인에이블 신호(PW_EN)에 응답하여 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단할 수 있다.
한편, 전력 라인(PL)을 통해 전원 전압(VS)이 다시 공급되는 경우, 코어 회로(431)는 클럭 인에이블 신호(CLK_EN)를 비활성화시키고, 카운트 회로(435)에 카운트 리셋 신호(CNT_RST)를 제공할 수 있다. 따라서 클럭 생성기(433)는 비활성화된 클럭 인에이블 신호(CLK_EN)에 응답하여 카운트 클럭 신호(CLKC)의 토글링을 중단하고, 카운트 회로(435)는 카운트 값(CNT)을 리셋하고 카운팅 동작을 중단할 수 있다.
일 실시예에 있어서, 로직 회로(430a)는 문턱 값(THV)을 저장하는 저장 장치(437)를 더 포함할 수 있다. 실시예에 따라서, 저장 장치(437)는 외부로부터 수신되는 문턱 값(THV)을 저장하는 레지스터로 구현될 수도 있고, 퓨즈 커팅을 통해 문턱 값(THV)을 저장하는 퓨즈 회로로 구현될 수도 있다.
도 7 내지 9를 참조하여 상술한 바와 같이, 보조 리프로그램 장치(400)는 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 제1 보조 동작 전압(VAOP1)을 제공하고 컨트롤러(200)에 제2 보조 동작 전압(VAOP2) 및 리프로그램 명령(RPCMD)을 제공함으로써, 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행할 수 있다. 따라서 솔리드 스테이트 드라이브 장치(10)의 데이터 리텐션 성능은 효과적으로 향상될 수 있다. 또한, 보조 리프로그램 장치(400)는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대한 상기 리프로그램 동작이 종료된 이후에 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단함으로써, 보조 전력 저장 소자(410)의 전력 소모를 감소시킬 수 있다.
도 10은 도 7의 보조 리프로그램 장치에 포함되는 로직 회로의 다른 예를 나타내는 블록도이다.
도 10에 도시된 로직 회로(430b)는 온도 센서(439)를 더 포함한다는 사항을 제외하고는 도 9에 도시된 로직 회로(430a)와 동일하다. 따라서 중복되는 설명은 생략하고, 온도 센서(439)와 관련되는 사항에 대해서만 설명한다.
온도 센서(439)는 현재 온도(C_TEMP)를 감지하여 코어 회로(431)에 제공할 수 있다.
코어 회로(431)는 현재 온도(C_TEMP)에 기초하여 주파수 제어 신호(FCS)를 생성하고, 클럭 생성기(433)는 주파수 제어 신호(FCS)의 값에 기초하여 카운트 클럭 신호(CLKC)의 주파수를 가변할 수 있다.
예를 들어, 코어 회로(431)는 현재 온도(C_TEMP)가 상승하는 경우 클럭 생성기(433)로부터 생성되는 카운트 클럭 신호(CLKC)의 주파수가 증가하도록 주파수 제어 신호(FCS)를 가변하고, 현재 온도(C_TEMP)가 감소하는 경우 클럭 생성기(433)로부터 생성되는 카운트 클럭 신호(CLKC)의 주파수가 감소하도록 주파수 제어 신호(FCS)를 가변할 수 있다.
도 9를 참조하여 상술한 바와 같이, 상기 제1 주기는 카운트 클럭 신호(CLKC)의 주기와 문턱 값(THV)의 곱에 상응하므로, 로직 회로(430b)는 현재 온도(C_TEMP)가 상승하는 경우 상기 제1 주기를 감소시키고, 현재 온도(C_TEMP)가 감소하는 경우 상기 제1 주기를 증가시킬 수 있다.
따라서 로직 회로(430b)를 포함하는 솔리드 스테이트 드라이브 장치(10)는 보조 전력 저장 소자(410)의 전력 소모를 감소시키면서도 데이터 리텐션 성능을 효과적으로 향상시킬 수 있다.
도 11은 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 컨트롤러의 일 예를 나타내는 블록도이다.
도 11을 참조하면, 컨트롤러(200a)는 메모리 인터페이스(210), 호스트 인터페이스(220), 에러 정정 회로(ECC)(230), 중앙 처리 장치(CPU)(240), 및 버퍼 메모리(250)를 포함할 수 있다.
메모리 인터페이스(210)는 버퍼 메모리(250)로부터 전달되는 데이터(DT)를 복수의 채널들(CH1, CH2, ..., CHk)로 스캐터링(scattering)할 수 있다. 또한, 메모리 인터페이스(210)는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)로부터 독출되는 데이터(DT)를 버퍼 메모리(250)로 전달할 수 있다.
일 실시예에 있어서, 메모리 인터페이스(210)는 플래시 메모리 인터페이스 방식을 사용할 수 있다. 이 경우, 컨트롤러(200a)는 플래시 메모리 인터페이스 방식에 따라 프로그램 동작, 독출 동작 및 소거 동작을 수행할 수 있다.
호스트 인터페이스(220)는 호스트(20)의 프로토콜에 대응하여 솔리드 스테이트 드라이브 장치(10)와의 인터페이싱을 제공할 수 있다. 예를 들어, 호스트 인터페이스(220)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등을 이용하여 호스트(20)와 커맨드 신호(CMD), 어드레스 신호(ADDR), 및 데이터(DT)를 통신할 수 있다. 또한, 호스트 인터페이스(2202)는 호스트(20)가 솔리드 스테이트 드라이브 장치(10)를 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 수행할 수 있다.
버퍼 메모리(250)는 호스트(20)로부터 제공되는 데이터(DT) 및 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)로부터 독출되는 데이터(DT)를 임시로 저장할 수 있다. 일 실시예에 있어서, 버퍼 메모리(250)는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리를 포함할 수 있다.
에러 정정 회로(230)는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 기입되는 데이터(DT)를 사용하여 에러 정정 코드를 생성할 수 있다. 상기 에러 정정 코드는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 스페어 영역(spare area)에 저장될 수 있다. 이후, 에러 정정 회로(230)는 상기 에러 정정 코드를 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)로부터 독출되는 데이터(DT)의 에러를 검출하고, 검출된 에러를 정정할 수 있다.
중앙 처리 장치(240)는 호스트(20)로부터 제공되는 커맨드 신호(CMD) 및 어드레스 신호(ADDR)를 분석하고 처리할 수 있다. 중앙 처리 장치(240)는 호스트 인터페이스(220)를 통해 호스트(20)와 통신하고, 메모리 인터페이스(210)를 통해 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)을 제어할 수 있다. 중앙 처리 장치(240)는 솔리드 스테이트 드라이브 장치(10)를 구동하기 위한 펌웨어(firmware)에 기초하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작을 제어할 수 있다.
상술한 바와 같이, 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되는 경우, 컨트롤러(200a)는 메인 전력 공급 회로(300)로부터 제공되는 제2 동작 전압(VOP2)을 사용하여 동작할 수 있다.
반면에, 전원 전압(VS)의 공급이 중단되는 경우, 컨트롤러(200a)는 보조 리프로그램 장치(400)로부터 제2 보조 동작 전압(VAOP2)이 제공되는 동안에만 턴온되어 보조 리프로그램 장치(400)로부터 제공되는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행할 수 있다.
중앙 처리 장치(240)는 보조 리프로그램 장치(400)로부터 리프로그램 명령(RPCMD)을 수신하는 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 상기 리프로그램 블록으로서 선택할 수 있다.
일 실시예에 있어서, 중앙 처리 장치(240)는 보조 리프로그램 장치(400)로부터 리프로그램 명령(RPCMD)을 수신하는 경우, 상기 복수의 블록들 각각에 포함되는 적어도 하나의 페이지에 대해 독출 동작을 수행하고, 에러 정정 회로(230)를 사용하여 상기 독출된 페이지 데이터에 포함되는 에러 비트의 개수를 판단할 수 있다. 중앙 처리 장치(240)는 상기 독출된 페이지 데이터에 포함되는 에러 비트의 개수에 기초하여 상기 독출된 페이지의 비트 에러율(Bit Error Rate; BER)을 결정할 수 있다. 중앙 처리 장치(240)는 미리 정해진 값 이상의 비트 에러율을 갖는 페이지를 포함하는 블록을 상기 리프로그램 블록으로서 선택할 수 있다.
이후, 중앙 처리 장치(240)는 상기 리프로그램 블록에 저장된 데이터를 독출하고, 상기 독출된 데이터를 다른 블록에 프로그램하고, 상기 리프로그램 블록을 소거함으로써 상기 리프로그램 동작을 수행할 수 있다.
중앙 처리 장치(240)는 상기 리프로그램 동작을 종료한 이후 보조 리프로그램 장치(400)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다.
도 12는 도 1의 솔리드 스테이트 드라이브 장치에 포함되는 컨트롤러의 다른 예를 나타내는 블록도이다.
도 12를 참조하면, 컨트롤러(200b)는 메모리 인터페이스(210), 호스트 인터페이스(220), 에러 정정 회로(ECC)(230), 중앙 처리 장치(CPU)(240), 버퍼 메모리(250), 및 저장 장치(260)를 포함할 수 있다.
도 12에 도시된 컨트롤러(200b)는 저장 장치(260)를 더 포함한다는 사항을 제외하고는 도 11에 도시된 컨트롤러(200a)와 동일하다. 따라서 중복되는 설명은 생략하고, 차이점에 대해서만 설명한다.
중앙 처리 장치(240)는 보조 리프로그램 장치(400)로부터 리프로그램 명령(RPCMD)을 수신하는 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 상기 리프로그램 블록으로서 선택할 수 있다.
일 실시예에 있어서, 중앙 처리 장치(240)는 상기 복수의 블록들 각각에 포함되는 적어도 하나의 페이지에 대해 마지막으로 프로그램 동작이 수행된 시각을 저장 장치(260)에 저장할 수 있다. 중앙 처리 장치(240)는 보조 리프로그램 장치(400)로부터 리프로그램 명령(RPCMD)을 수신하는 경우, 저장 장치(260)에 저장된 상기 마지막으로 프로그램 동작이 수행된 시각으로부터 미리 정해진 시간이 경과된 페이지를 포함하는 블록을 상기 리프로그램 블록으로서 선택할 수 있다.
이후, 중앙 처리 장치(240)는 상기 리프로그램 블록에 저장된 데이터를 독출하고, 상기 독출된 데이터를 다른 블록에 프로그램하고, 상기 리프로그램 블록을 소거함으로써 상기 리프로그램 동작을 수행할 수 있다.
중앙 처리 장치(240)는 상기 리프로그램 동작을 종료한 이후 보조 리프로그램 장치(400)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다.
도 13은 본 발명의 일 실시예에 따른 솔리드 스테이트 드라이브 장치의 동작 방법을 나타내는 순서도이다.
도 13에 도시된 솔리드 스테이트 드라이브 장치의 동작 방법은 도 1의 저장 시스템(1000)에 포함되는 솔리드 스테이트 드라이브 장치(10)를 통해 수행될 수 있다.
이하, 도 1 내지 13을 참조하여, 솔리드 스테이트 드라이브 장치(10)의 동작 방법에 대해 설명한다.
솔리드 스테이트 드라이브 장치(10)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는지 여부를 판단한다(단계 S100).
전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우(단계 S100; 예), 솔리드 스테이트 드라이브 장치(10)는 전원 전압(VS)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 프로그램 동작 및 독출 동작을 수행한다(단계 S200).
또한, 실시예에 따라서, 솔리드 스테이트 드라이브 장치(10)는 전원 전압(VS)을 사용하여 내부에 포함되는 보조 전력 저장 소자(410)를 충전할 수 있다(단계 S300).
한편, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되지 않는 경우(단계 S100; 아니오), 솔리드 스테이트 드라이브 장치(10)는 보조 전력 저장 소자(410)로부터 생성되는 보조 전원 전압(VAS)을 사용하여 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행한다(단계 S400).
또한, 실시예에 따라서, 솔리드 스테이트 드라이브 장치(10)는 현재 온도(C_TEMP)에 기초하여 상기 제1 주기를 가변할 수 있다(단계 S500). 예를 들어, 솔리드 스테이트 드라이브 장치(10)는 현재 온도(C_TEMP)가 상승하는 경우 상기 제1 주기를 감소시키고, 현재 온도(C_TEMP)가 감소하는 경우 상기 제1 주기를 증가시킬 수 있다.
도 14는 도 13의 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하는 단계(S400)의 일 예를 나타내는 순서도이다.
도 14를 참조하면, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되지 않는 경우(단계 S100; 아니오), 솔리드 스테이트 드라이브 장치(10)는 카운트 클럭 신호(CLKC)를 생성하고(단계 S410), 카운트 클럭 신호(CLKC)에 동기되어 카운팅 동작을 수행하여 카운트 값(CNT)을 생성하고(단계 S420), 카운트 값(CNT)과 문턱 값(THV)을 비교할 수 있다(단계 S430).
카운트 값(CNT)이 문턱 값(THV)보다 작은 경우(단계 S430; 아니오), 솔리드 스테이트 드라이브 장치(10)는 카운트 클럭 신호(CLKC)에 동기되어 카운팅 동작을 수행하여 카운트 값(CNT)을 생성하는 동작(단계 S420)을 반복할 수 있다.
한편, 카운트 값(CNT)이 문턱 값(THV)과 일치하는 경우(단계 S430; 예), 솔리드 스테이트 드라이브 장치(10)는 보조 전원 전압(VAS)을 사용하여 적어도 하나의 제1 보조 동작 전압(VAOP1) 및 적어도 하나의 제2 보조 동작 전압(VAOP2)을 생성할 수 있다(단계 S440).
솔리드 스테이트 드라이브 장치(10)는 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 리프로그램 블록으로서 선택하고(단계 S450), 상기 리프로그램 블록에 저장된 데이터를 다른 블록으로 이동할 수 있다(단계 S460).
이후, 솔리드 스테이트 드라이브 장치(10)는 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단할 수 있다(단계 S470).
도 1의 저장 시스템(1000)에 포함되는 솔리드 스테이트 드라이브 장치(10)의 구성 및 동작에 대해서는 도 1 내지 12를 참조하여 상세히 설명하였으므로, 여기서는 도 13 및 14에 도시된 각 단계들에 대한 상세한 설명은 생략한다.
도 15는 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 15를 참조하면, 저장 시스템(1000a)은 솔리드 스테이트 드라이브 장치(10a) 및 호스트(20)를 포함한다.
솔리드 스테이트 드라이브 장치(10a)는 복수의 불휘발성 메모리 장치들(NVM)(100-1, 100-2, ..., 100-k), 컨트롤러(200), 메인 전력 공급 회로(300a), 보조 리프로그램 장치(400a), 및 휘발성 메모리 장치(DRAM)(500)를 포함한다.
도 15의 저장 시스템(1000a)에 포함되는 솔리드 스테이트 드라이브 장치(10a)는 도 1의 저장 시스템(1000)에 포함되는 솔리드 스테이트 드라이브 장치(10)에서 휘발성 메모리 장치(500)를 더 포함한다는 사항을 제외하고는 도 1의 저장 시스템(1000)에 포함되는 솔리드 스테이트 드라이브 장치(10)와 동일하다. 따라서 여기서는 도 1의 저장 시스템(1000)과 중복되는 설명은 생략하고, 메인 전력 공급 회로(300a), 보조 리프로그램 장치(400a), 및 휘발성 메모리 장치(500)에 대해서만 설명한다.
휘발성 메모리 장치(500)는 컨트롤러(200)에 대한 입출력 버퍼로서 동작한다. 예를 들어, 기입 모드에서, 컨트롤러(200)는 호스트(20)로부터 수신되는 데이터(DT)를 휘발성 메모리 장치(500)에 저장하고, 휘발성 메모리 장치(500)에 저장된 데이터(DT)를 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 기입할 수 있다. 또한, 독출 모드에서, 컨트롤러(200)는 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)로부터 독출되는 데이터(DT)를 휘발성 메모리 장치(500)에 저장하고, 휘발성 메모리 장치(500)에 저장된 데이터(DT)를 호스트(20)에 제공할 수 있다.
일 실시예에 있어서, 휘발성 메모리 장치(500)는 DRAM(Dynamic Random Access Memory) 메모리 장치를 포함할 수 있다.
메인 전력 공급 회로(300a)는 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)을 수신한다.
전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되는 경우, 메인 전력 공급 회로(300a)는 전원 전압(VS)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 동작 전압(VOP1), 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 동작 전압(VOP2), 및 휘발성 메모리 장치(500)의 동작에 필요한 적어도 하나의 제3 동작 전압(VOP3)을 생성할 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 제1 동작 전압(VOP1)을 사용하여 동작하고, 컨트롤러(200)는 제2 동작 전압(VOP2)을 사용하여 동작하고, 휘발성 메모리 장치(500)는 제3 동작 전압(VOP3)을 사용하여 동작할 수 있다.
반면에, 호스트(20)로부터 전원 전압(VS)의 공급이 중단되는 경우, 메인 전력 공급 회로(300a)는 제1 동작 전압(VOP1), 제2 동작 전압(VOP2), 및 제3 동작 전압(VOP3)을 생성하지 않고 턴오프될 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k), 컨트롤러(200), 및 휘발성 메모리 장치(500) 역시 턴오프될 수 있다.
보조 리프로그램 장치(400a)는 상기 보조 전원 전압을 생성하는 상기 보조 전력 저장 소자를 포함한다. 따라서 보조 리프로그램 장치(400a)는 상기 보조 전원 전압을 사용하여 동작할 수 있다.
보조 리프로그램 장치(400a)는 전력 라인(PL)에 연결된다. 보조 리프로그램 장치(400a)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는지 여부를 모니터링하고, 전원 전압(VS)의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 컨트롤러(200)를 제어하여 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 리프로그램(Reprogram) 동작을 수행할 수 있다.
예를 들어, 전원 전압(VS)의 공급이 중단되는 경우, 보조 리프로그램 장치(400a)는 상기 보조 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 보조 동작 전압(VAOP1), 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 보조 동작 전압(VAOP2), 및 휘발성 메모리 장치(500)의 동작에 필요한 적어도 하나의 제3 보조 동작 전압(VAOP3)을 생성할 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 제1 보조 동작 전압(VAOP1)을 사용하여 동작하고, 컨트롤러(200)는 제2 보조 동작 전압(VAOP2)을 사용하여 동작하고, 휘발성 메모리 장치(500)는 제3 보조 동작 전압(VAOP3)을 사용하여 동작할 수 있다. 또한, 보조 리프로그램 장치(400a)는 컨트롤러(200)에 리프로그램 명령(RPCMD)을 제공할 수 있다. 컨트롤러(200)는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 보조 리프로그램 장치(400a)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다. 보조 리프로그램 장치(400a)는 리프로그램 종료 신호(RPFIN)에 응답하여 제1 보조 동작 전압(VAOP1), 제2 보조 동작 전압(VAOP2), 및 제3 보조 동작 전압(VAOP3)의 생성을 중단할 수 있다.
일 실시예에 있어서, 보조 리프로그램 장치(400a)로부터 생성되는 적어도 하나의 제1 보조 동작 전압(VAOP1), 적어도 하나의 제2 보조 동작 전압(VAOP2), 및 적어도 하나의 제3 보조 동작 전압(VAOP3)은 메인 전력 공급 회로(300a)로부터 생성되는 적어도 하나의 제1 동작 전압(VOP1), 적어도 하나의 제2 동작 전압(VOP2), 및 적어도 하나의 제3 동작 전압(VOP3)과 각각 동일할 수 있다.
도 16은 도 15의 솔리드 스테이트 드라이브 장치에 포함되는 보조 리프로그램 장치의 일 예를 나타내는 블록도이다.
도 16을 참조하면, 보조 리프로그램 장치(400a)는 보조 전력 저장 소자(410), 보조 전력 공급 회로(420a), 및 로직 회로(430)를 포함할 수 있다.
도 16의 보조 리프로그램 장치(400a)에 포함되는 보조 전력 공급 회로(420a)는 적어도 하나의 제3 보조 동작 전압(VAOP3)을 더 생성한다는 사항을 제외하고는 도 16의 보조 리프로그램 장치(400a)는 도 7의 보조 리프로그램 장치(400)와 동일하다. 따라서 여기서는 보조 전력 공급 회로(420a)에 대해서만 설명한다.
보조 전력 공급 회로(420a)는 보조 전력 저장 소자(410)로부터 생성되는 보조 전원 전압(VAS)을 사용하여 동작할 수 있다. 보조 전력 공급 회로(420a)는 보조 전원 전압(VAS)을 사용하여 로직 동작 전압(VLOP)을 생성할 수 있다.
또한, 보조 전력 공급 회로(420a)는 로직 회로(430)로부터 수신되는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 적어도 하나의 제1 보조 동작 전압(VAOP1), 적어도 하나의 제2 보조 동작 전압(VAOP2), 및 적어도 하나의 제3 보조 동작 전압(VAOP3)을 생성할 수 있다. 상술한 바와 같이, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 보조 전력 공급 회로(420a)로부터 생성되는 제1 보조 동작 전압(VAOP1)을 사용하여 동작하고, 컨트롤러(200)는 보조 전력 공급 회로(420a)로부터 생성되는 제2 보조 동작 전압(VAOP2)을 사용하여 동작하고, 휘발성 메모리 장치(500)는 보조 전력 공급 회로(420a)로부터 생성되는 제3 보조 동작 전압(VAOP3)을 사용하여 동작할 수 있다.
한편, 보조 전력 공급 회로(420a)는 로직 회로(430)로부터 수신되는 전원 인에이블 신호(PW_EN)가 비활성화되는 동안 제1 보조 동작 전압(VAOP1), 제2 보조 동작 전압(VAOP2), 및 제3 보조 동작 전압(VAOP3)의 생성을 중단할 수 있다.
일 실시예에 있어서, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 보조 전력 공급 회로(420a)는 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)에 전하(CHARGE)를 제공함으로써 보조 전력 저장 소자(410)를 충전할 수 있다. 이 경우, 보조 전력 저장 소자(410)는 충전 가능한 배터리를 포함할 수 있다.
일 실시예에 있어서, 보조 전력 공급 회로(420a)는 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)를 충전하는 충전 동작과 보조 전력 저장 소자(410)로부터 제공되는 보조 전원 전압(VAS)을 사용하여 로직 동작 전압(VLOP), 제1 보조 동작 전압(VAOP1), 제2 보조 동작 전압(VAOP2), 및 제3 보조 동작 전압(VAOP3)을 생성하는 방전 동작을 동시에 수행할 수 있다. 이 경우, 보조 전력 공급 회로(420a)는 양방향 배터리 충전기(bidirectional battery charger)로 구현될 수 있다.
도 17은 도 16의 보조 리프로그램 장치에 포함되는 보조 전력 공급 회로의 일 예를 나타내는 블록도이다.
도 17을 참조하면, 보조 전력 공급 회로(420a)는 DC/DC 컨버터(421a) 및 충전 회로(423)를 포함할 수 있다.
DC/DC 컨버터(421a)는 직류(Direct Current; DC) 전압인 보조 전원 전압(VAS)을 사용하여 직류 전압인 로직 동작 전압(VLOP)을 생성할 수 있다. 또한, DC/DC 컨버터(421a)는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 제1 보조 동작 전압(VAOP1), 제2 보조 동작 전압(VAOP2), 및 제3 보조 동작 전압(VAOP3)을 생성할 수 있다.
충전 회로(423)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)에 전하(CHARGE)를 제공함으로써 보조 전력 저장 소자(410)를 충전할 수 있다.
일 실시예에 있어서, DC/DC 컨버터(421a) 및 충전 회로(423)는 동시에 동작할 수 있다.
도 18은 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 18을 참조하면, 저장 시스템(1000b)은 솔리드 스테이트 드라이브 장치(10b) 및 호스트(20)를 포함한다.
솔리드 스테이트 드라이브 장치(10b)는 복수의 불휘발성 메모리 장치들(NVM)(100-1, 100-2, ..., 100-k), 컨트롤러(200), 메인 전력 공급 회로(300b), 및 보조 리프로그램 장치(400b)를 포함한다.
도 18의 저장 시스템(1000b)에 포함되는 솔리드 스테이트 드라이브 장치(10b)는 메인 전력 공급 회로(300b) 및 보조 리프로그램 장치(400b)의 동작을 제외하고는 도 1의 저장 시스템(1000)에포함되는 솔리드 스테이트 드라이브 장치(10)와 동일하다. 따라서 여기서는 도 1의 저장 시스템(1000)과 중복되는 설명은 생략하고, 메인 전력 공급 회로(300b) 및 보조 리프로그램 장치(400b)에 대해서만 설명한다.
메인 전력 공급 회로(300b)는 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)을 수신한다.
전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되는 경우, 메인 전력 공급 회로(300b)는 전원 전압(VS)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 동작 전압(VOP1) 및 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 동작 전압(VOP2)을 생성할 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 제1 동작 전압(VOP1)을 사용하여 동작하고, 컨트롤러(200)는 제2 동작 전압(VOP2)을 사용하여 동작할 수 있다.
또한, 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되는 경우, 메인 전력 공급 회로(300b)는 전원 전압(VS)을 사용하여 내부 전력 라인(PL_I)을 통해 보조 리프로그램 장치(400b)에 내부 전원 전압(VS_I)을 제공할 수 있다. 일 실시예에 있어서, 메인 전력 공급 회로(300b)는 전원 전압(VS)을 내부 전력 라인(PL_I)을 통해 바이패스(bypass)시켜 보조 리프로그램 장치(400b)에 내부 전원 전압(VS_I)으로서 제공할 수 있다. 다른 실시예에 있어서, 메인 전력 공급 회로(300b)는 전원 전압(VS)의 크기를 변환하여 내부 전력 라인(PL_I)을 통해 보조 리프로그램 장치(400b)에 내부 전원 전압(VS_I)으로서 제공할 수 있다.
반면에, 호스트(20)로부터 전원 전압(VS)의 공급이 중단되는 경우, 메인 전력 공급 회로(300b)는 제1 동작 전압(VOP1) 및 제2 동작 전압(VOP2)을 생성하지 않고 턴오프될 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k) 및 컨트롤러(200) 역시 턴오프될 수 있다.
또한, 호스트(20)로부터 전원 전압(VS)의 공급이 중단되는 경우, 메인 전력 공급 회로(300b)는 보조 리프로그램 장치(400b)에 내부 전원 전압(VS_I)의 제공을 중단할 수 있다.
보조 리프로그램 장치(400b)는 상기 보조 전원 전압을 생성하는 상기 보조 전력 저장 소자를 포함한다. 따라서 보조 리프로그램 장치(400b)는 상기 보조 전원 전압을 사용하여 동작할 수 있다.
보조 리프로그램 장치(400b)는 내부 전력 라인(PL_I)을 통해 메인 전력 공급 회로(300b)에 연결된다. 보조 리프로그램 장치(400b)는 내부 전력 라인(PL_I)을 통해 내부 전원 전압(VS_I)이 공급되는지 여부를 모니터링하고, 내부 전원 전압(VS_I)의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 컨트롤러(200)를 제어하여 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 리프로그램(Reprogram) 동작을 수행할 수 있다.
예를 들어, 내부 전원 전압(VS_I)의 공급이 중단되는 경우, 보조 리프로그램 장치(400b)는 상기 보조 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 보조 동작 전압(VAOP1) 및 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 보조 동작 전압(VAOP2)을 생성할 수 있다. 이 경우, 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 제1 보조 동작 전압(VAOP1)을 사용하여 동작하고, 컨트롤러(200)는 제2 보조 동작 전압(VAOP2)을 사용하여 동작할 수 있다. 또한, 보조 리프로그램 장치(400b)는 컨트롤러(200)에 리프로그램 명령(RPCMD)을 제공할 수 있다. 컨트롤러(200)는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 보조 리프로그램 장치(400b)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다. 보조 리프로그램 장치(400b)는 리프로그램 종료 신호(RPFIN)에 응답하여 제1 보조 동작 전압(VAOP1) 및 제2 보조 동작 전압(VAOP2)의 생성을 중단할 수 있다.
일 실시예에 있어서, 보조 리프로그램 장치(400b)로부터 생성되는 적어도 하나의 제1 보조 동작 전압(VAOP1) 및 적어도 하나의 제2 보조 동작 전압(VAOP2)은 메인 전력 공급 회로(300b)로부터 생성되는 적어도 하나의 제1 동작 전압(VOP1) 및 적어도 하나의 제2 동작 전압(VOP2)과 각각 동일할 수 있다.
도 1의 솔리드 스테이트 드라이브 장치(10)에 포함되는 보조 리프로그램 장치(400)는 전력 라인(PL)을 제공되는 전원 전압(VS)에 기초하여 동작함에 반해, 도 18의 솔리드 스테이트 드라이브 장치(10b)에 포함되는 보조 리프로그램 장치(400b)는 내부 전력 라인(PL_I)을 제공되는 내부 전원 전압(VS_I)에 기초하여 동작한다는 사항을 제외하고는, 도 18의 솔리드 스테이트 드라이브 장치(10b)에 포함되는 보조 리프로그램 장치(400b)는 도 1의 솔리드 스테이트 드라이브 장치(10)에 포함되는 보조 리프로그램 장치(400)와 동일하다. 따라서 보조 리프로그램 장치(400b)에 대한 상세한 설명은 생략한다.
도 19는 본 발명의 일 실시예에 따른 저장 시스템을 나타내는 블록도이다.
도 19를 참조하면, 저장 시스템(1000c)은 솔리드 스테이트 드라이브 장치(10c) 및 호스트(20)를 포함한다.
솔리드 스테이트 드라이브 장치(10c)는 복수의 불휘발성 메모리 장치들(NVM)(100-1, 100-2, ..., 100-k), 컨트롤러(200), 메인 전력 공급 회로(300c), 및 보조 리프로그램 장치(400c)를 포함한다.
도 19의 저장 시스템(1000c)에 포함되는 솔리드 스테이트 드라이브 장치(10c)는 메인 전력 공급 회로(300c) 및 보조 리프로그램 장치(400c)의 동작을 제외하고는 도 1의 저장 시스템(1000)에 포함되는 솔리드 스테이트 드라이브 장치(10)와 동일하다. 따라서 여기서는 도 1의 저장 시스템(1000)과 중복되는 설명은 생략하고, 메인 전력 공급 회로(300c) 및 보조 리프로그램 장치(400c)에 대해서만 설명한다.
메인 전력 공급 회로(300c)는 전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)을 수신한다.
전력 라인(PL)을 통해 호스트(20)로부터 전원 전압(VS)이 공급되는 경우, 메인 전력 공급 회로(300c)는 전원 전압(VS)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 동작 전압(VOP1) 및 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 동작 전압(VOP2)을 생성할 수 있다.
또한, 보조 리프로그램 장치(400c)로부터 내부 전원 전압(VS_I)이 공급되는 경우, 메인 전력 공급 회로(300c)는 내부 전원 전압(VS_I)을 사용하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)의 동작에 필요한 적어도 하나의 제1 동작 전압(VOP1) 및 컨트롤러(200)의 동작에 필요한 적어도 하나의 제2 동작 전압(VOP2)을 생성할 수 있다.
복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)은 메인 전력 공급 회로(300c)로부터 제1 동작 전압(VOP1)을 수신하는 경우, 제1 동작 전압(VOP1)을 사용하여 동작하고, 메인 전력 공급 회로(300c)로부터 제1 동작 전압(VOP1)을 수신하지 않는 경우, 턴오프될 수 있다.
컨트롤러(200)는 메인 전력 공급 회로(300c)로부터 제2 동작 전압(VOP2)을 수신하는 경우, 제2 동작 전압(VOP2)을 사용하여 동작하고, 메인 전력 공급 회로(300c)로부터 제2 동작 전압(VOP2)을 수신하지 않는 경우, 턴오프될 수 있다.
보조 리프로그램 장치(400c)는 상기 보조 전원 전압을 생성하는 상기 보조 전력 저장 소자를 포함한다. 따라서 보조 리프로그램 장치(400c)는 상기 보조 전원 전압을 사용하여 동작할 수 있다.
보조 리프로그램 장치(400c)는 전력 라인(PL)에 연결된다. 보조 리프로그램 장치(400c)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는지 여부를 모니터링하고, 전원 전압(VS)의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 컨트롤러(200)를 제어하여 상기 제1 주기마다 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 리프로그램(Reprogram) 동작을 수행할 수 있다.
예를 들어, 전원 전압(VS)의 공급이 중단되는 경우, 보조 리프로그램 장치(400c)는 상기 보조 전원 전압을 사용하여 내부 전원 전압(VS_I)을 생성하여 메인 전력 공급 회로(300c)에 제공할 수 있다. 이 경우, 상술한 바와 같이, 메인 전력 공급 회로(300c)는 내부 전원 전압(VS_I)을 사용하여 적어도 하나의 제1 동작 전압(VOP1) 및 적어도 하나의 제2 동작 전압(VOP2)을 생성할 수 있다. 또한, 보조 리프로그램 장치(400c)는 컨트롤러(200)에 리프로그램 명령(RPCMD)을 제공할 수 있다. 컨트롤러(200)는 리프로그램 명령(RPCMD)에 응답하여 복수의 불휘발성 메모리 장치들(100-1, 100-2, ..., 100-k)에 대해 상기 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 보조 리프로그램 장치(400c)에 리프로그램 종료 신호(RPFIN)를 제공할 수 있다. 보조 리프로그램 장치(400c)는 리프로그램 종료 신호(RPFIN)에 응답하여 내부 전원 전압(VS_I)의 생성을 중단할 수 있다. 이 경우, 메인 전력 공급 회로(300c)는 적어도 하나의 제1 동작 전압(VOP1) 및 적어도 하나의 제2 동작 전압(VOP2)의 생성을 중단하고 턴오프될 수 있다.
도 20은 도 19의 솔리드 스테이트 드라이브 장치에 포함되는 보조 리프로그램 장치의 일 예를 나타내는 블록도이다.
도 20을 참조하면, 보조 리프로그램 장치(400c)는 보조 전력 저장 소자(410), 보조 전력 공급 회로(420c), 및 로직 회로(430)를 포함할 수 있다.
도 20의 보조 리프로그램 장치(400c)는 보조 전력 공급 회로(420c)의 동작을 제외하고는 도 7의 보조 리프로그램 장치(400)와 동일하다. 따라서 여기서는 보조 전력 공급 회로(420c)에 대해서만 설명한다.
보조 전력 공급 회로(420c)는 보조 전력 저장 소자(410)로부터 생성되는 보조 전원 전압(VAS)을 사용하여 동작할 수 있다. 보조 전력 공급 회로(420c)는 보조 전원 전압(VAS)을 사용하여 로직 동작 전압(VLOP)을 생성할 수 있다.
또한, 보조 전력 공급 회로(420c)는 로직 회로(430)로부터 수신되는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 내부 전원 전압(VS_I)을 생성할 수 있다. 이 경우, 상술한 바와 같이, 메인 전력 공급 회로(300c)는 내부 전원 전압(VS_I)을 사용하여 적어도 하나의 제1 동작 전압(VOP1) 및 적어도 하나의 제2 동작 전압(VOP2)을 생성할 수 있다.
한편, 보조 전력 공급 회로(420c)는 로직 회로(430)로부터 수신되는 전원 인에이블 신호(PW_EN)가 비활성화되는 동안 내부 전원 전압(VS_I)의 생성을 중단할 수 있다. 이 경우, 메인 전력 공급 회로(300c)는 적어도 하나의 제1 동작 전압(VOP1) 및 적어도 하나의 제2 동작 전압(VOP2)의 생성을 중단하고 턴오프될 수 있다.
일 실시예에 있어서, 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 보조 전력 공급 회로(420c)는 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)에 전하(CHARGE)를 제공함으로써 보조 전력 저장 소자(410)를 충전할 수 있다. 이 경우, 보조 전력 저장 소자(410)는 충전 가능한 배터리를 포함할 수 있다.
일 실시예에 있어서, 보조 전력 공급 회로(420c)는 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)를 충전하는 충전 동작과 보조 전력 저장 소자(410)로부터 제공되는 보조 전원 전압(VAS)을 사용하여 로직 동작 전압(VLOP) 및 내부 전원 전압(VS_I)을 생성하는 방전 동작을 동시에 수행할 수 있다. 이 경우, 보조 전력 공급 회로(420c)는 양방향 배터리 충전기(bidirectional battery charger)로 구현될 수 있다.
도 21은 도 20의 보조 리프로그램 장치에 포함되는 보조 전력 공급 회로의 일 예를 나타내는 블록도이다.
도 21을 참조하면, 보조 전력 공급 회로(420c)는 DC/DC 컨버터(421c) 및 충전 회로(423)를 포함할 수 있다.
DC/DC 컨버터(421c)는 직류(Direct Current; DC) 전압인 보조 전원 전압(VAS)을 사용하여 직류 전압인 로직 동작 전압(VLOP)을 생성할 수 있다. 또한, DC/DC 컨버터(421c)는 전원 인에이블 신호(PW_EN)가 활성화되는 동안 보조 전원 전압(VAS)을 사용하여 내부 전원 전압(VS_I)을 생성할 수 있다.
충전 회로(423)는 전력 라인(PL)을 통해 전원 전압(VS)이 공급되는 경우, 전원 전압(VS)을 사용하여 보조 전력 저장 소자(410)에 전하(CHARGE)를 제공함으로써 보조 전력 저장 소자(410)를 충전할 수 있다.
일 실시예에 있어서, DC/DC 컨버터(421c) 및 충전 회로(423)는 동시에 동작할 수 있다.
도 22는 본 발명의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 22를 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), 통신 회로(Connectivity)(3200), 사용자 인터페이스(3300), 솔리드 스테이트 드라이브 장치(SSD)(3400), 휘발성 메모리 장치(VM)(3500), 및 파워 서플라이(3600)를 포함한다.
실시예에 따라, 컴퓨팅 시스템(3000)은 데스크톱 컴퓨터(desktop computer), 랩톱 컴퓨터(laptop computer), 서버 컴퓨터(server computer) 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(3100)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 프로세서(3100)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(3100)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 프로세서(3100)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신 회로(3200)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신 회로(3200)는 이더넷(Ethernet) 통신, 근거리 자기장 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신 회로(3200)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GPRS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
파워 서플라이(3600)는 컴퓨팅 시스템(3000)에 전원 전압을 공급할 수 있다. 예를 들어, 파워 서플라이(3600)는 전력 라인을 통해 솔리드 스테이트 드라이브 장치(3400)에 상기 전원 전압을 제공할 수 있다.
솔리드 스테이트 드라이브 장치(3400)는 컴퓨팅 시스템(3000)을 부팅하기 위한 부트 이미지를 저장할 수 있다.
솔리드 스테이트 드라이브 장치(3400)는 도 1, 15, 18, 및 19에 도시된 솔리드 스테이트 드라이브 장치들(10, 10a, 10b, 10c) 중의 하나로 구현될 수 있다. 도 1, 15, 18, 및 19에 도시된 솔리드 스테이트 드라이브 장치들(10, 10a, 10b, 10c)의 구성 및 동작에 대해서는 도 1 내지 21을 참조하여 상세히 설명하였으므로, 여기서는 솔리드 스테이트 드라이브 장치(3400)에 대한 상세한 설명은 생략한다.
휘발성 메모리 장치(3500)는 프로세서(3100)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다.
사용자 인터페이스(3300)는 키패드, 터치스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다.
또한, 실시예에 따라, 컴퓨팅 시스템(3000)은 이미지 프로세서를 더 포함할 수 있고, 메모리 카드(Memory Card), 하드 디스크 드라이브(Hard DiskDrive; HDD), 씨디롬(CD-ROM) 등과 같은 저장 장치를 더 포함할 수 있다.
컴퓨팅 시스템(3000) 또는 컴퓨팅 시스템(3000)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
본 발명은 불휘발성 메모리를 사용하여 데이터를 저장하는 데이터 저장 장치에 유용하게 이용될 수 있다. 예를 들어, 본 발명은 플래시 메모리를 사용하여 구현되는 솔리드 스테이트 드라이브 장치에 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 솔리드 스테이트 드라이브 장치 20: 호스트
100: 불휘발성 메모리 장치 200: 컨트롤러
300: 메인 전력 공급 회로 400: 보조 리프로그램 장치
410: 보조 전력 저장 소자 420: 보조 전력 공급 회로
430: 로직 회로 3000: 컴퓨팅 시스템

Claims (20)

  1. 삭제
  2. 복수의 불휘발성 메모리 장치들;
    상기 복수의 불휘발성 메모리 장치들의 동작을 제어하는 컨트롤러;
    전력 라인을 통해 제공되는 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하는 메인 전력 공급 회로; 및
    상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 전원 전압을 공급하고, 리프로그램(Reprogram) 명령을 생성하며, 상기 전력 라인을 통한 상기 전원 전압의 공급이 중단되는 경우 상기 리프로그램 명령을 제1 주기마다 주기적으로 상기 컨트롤러로 출력하는 보조 리프로그램 장치를 포함하며,
    상기 컨트롤러는 상기 리프로그램 명령에 응답하여 상기 제1 주기마다 주기적으로 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 상기 보조 리프로그램 장치에 리프로그램 종료 신호를 제공하며,
    상기 보조 리프로그램 장치는 상기 리프로그램 종료 신호에 응답하여 상기 보조 전원 전압의 생성을 중단하며,
    상기 보조 리프로그램 장치는 온도 센서를 포함하고, 상기 온도 센서에 의해 검출된 온도에 기초하여 상기 제1 주기를 가변하는 솔리드 스테이트 드라이브 장치.
  3. 복수의 불휘발성 메모리 장치들;
    상기 복수의 불휘발성 메모리 장치들의 동작을 제어하는 컨트롤러;
    전력 라인을 통해 제공되는 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하는 메인 전력 공급 회로; 및
    상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 전원 전압을 공급하고, 리프로그램(Reprogram) 명령을 생성하며, 상기 전력 라인을 통한 상기 전원 전압의 공급이 중단되는 경우 상기 리프로그램 명령을 제1 주기마다 주기적으로 상기 컨트롤러로 출력하는 보조 리프로그램 장치를 포함하며,
    상기 컨트롤러는 상기 리프로그램 명령에 응답하여 상기 제1 주기마다 주기적으로 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하고, 상기 리프로그램 동작을 종료한 이후 상기 보조 리프로그램 장치에 리프로그램 종료 신호를 제공하며,
    상기 보조 리프로그램 장치는 상기 리프로그램 종료 신호에 응답하여 상기 보조 전원 전압의 생성을 중단하며,
    상기 보조 리프로그램 장치는,
    상기 보조 전원 전압을 생성하는 보조 전력 저장 소자;
    상기 보조 전원 전압을 수신하고, 전원 인에이블 신호가 활성화되는 동안 상기 보조 전원 전압을 사용하여 로직 동작 전압 및 보조 동작 전압을 생성하는 보조 전력 공급 회로; 및
    상기 전력 라인을 통해 상기 전원 전압이 공급되는지 여부를 판단하며, 상기 전원 전압의 공급이 중단되는 시점으로부터 상기 제1 주기마다 주기적으로 상기 전원 인에이블 신호를 활성화시키고 상기 리프로그램 명령을 상기 컨트롤러에 제공하는 로직 회로를 포함하는 솔리드 스테이트 드라이브 장치.
  4. 제3 항에 있어서, 상기 로직 회로는,
    상기 전력 라인의 전압을 감지하여 상기 전력 라인을 통해 상기 전원 전압이 공급되는지 여부를 판단하고, 상기 전원 전압의 공급이 중단되는 경우 클럭 인에이블 신호를 활성화시키는 코어 회로;
    상기 클럭 인에이블 신호가 활성화되는 동안 카운트 클럭 신호를 생성하는 클럭 생성기; 및
    상기 카운트 클럭 신호에 동기되어 카운팅 동작을 수행하여 카운트 값을 생성하고, 카운트 리셋 신호에 응답하여 상기 카운트 값을 리셋하는 카운트 회로를 포함하고,
    상기 코어 회로는 상기 카운트 값이 문턱 값과 일치하는 경우 상기 전원 인에이블 신호를 활성화시키고 상기 리프로그램 명령을 출력하고 상기 카운트 리셋 신호를 생성하는 솔리드 스테이트 드라이브 장치.
  5. 제4 항에 있어서, 상기 코어 회로는, 상기 전력 라인을 통해 상기 전원 전압이 공급되는 경우, 상기 클럭 인에이블 신호를 비활성화시키고,
    상기 클럭 생성기는 상기 클럭 인에이블 신호가 비활성화되는 동안 상기 카운트 클럭 신호의 토글링을 중단하는 솔리드 스테이트 드라이브 장치.
  6. 제4 항에 있어서, 상기 로직 회로는,
    현재 온도를 감지하는 온도 센서를 더 포함하고,
    상기 코어 회로는 상기 현재 온도에 기초하여 주파수 제어 신호를 생성하고,
    상기 클럭 생성기는 상기 주파수 제어 신호에 기초하여 상기 카운트 클럭 신호의 주파수를 가변하는 솔리드 스테이트 드라이브 장치.
  7. 제6 항에 있어서, 상기 코어 회로는, 상기 현재 온도가 상승하는 경우 상기 클럭 생성기로부터 생성되는 상기 카운트 클럭 신호의 주파수가 증가하도록 상기 주파수 제어 신호를 가변하는 솔리드 스테이트 드라이브 장치.
  8. 제3 항에 있어서, 상기 보조 전력 공급 회로는 상기 전력 라인을 통해 상기 전원 전압이 공급되는 경우, 상기 전원 전압을 사용하여 상기 보조 전력 저장 소자를 충전하는 충전 회로를 포함하는 솔리드 스테이트 드라이브 장치.
  9. 제3 항에 있어서, 상기 보조 전력 저장 소자는 충전 가능한 배터리(battery)를 포함하는 솔리드 스테이트 드라이브 장치.
  10. 제3 항에 있어서, 상기 컨트롤러는 상기 로직 회로로부터 상기 리프로그램 명령을 수신하는 경우, 상기 보조 동작 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들에 대해 상기 리프로그램 동작을 수행하는 솔리드 스테이트 드라이브 장치.
  11. 제10 항에 있어서, 상기 로직 회로는 상기 리프로그램 종료 신호에 응답하여 상기 전원 인에이블 신호를 비활성화시키고,
    상기 보조 전력 공급 회로는 상기 전원 인에이블 신호가 비활성화되는 동안 상기 보조 동작 전압의 생성을 중단하는 솔리드 스테이트 드라이브 장치.
  12. 제10 항에 있어서, 상기 컨트롤러는 상기 리프로그램 명령에 응답하여, 상기 복수의 불휘발성 메모리 장치들에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 리프로그램 블록으로서 선택하고, 상기 리프로그램 블록에 저장된 데이터를 독출하고, 상기 독출된 데이터를 다른 블록에 프로그램하고, 상기 리프로그램 블록을 소거함으로써 상기 리프로그램 동작을 수행하는 솔리드 스테이트 드라이브 장치.
  13. 제12 항에 있어서, 상기 컨트롤러는 상기 복수의 블록들에 포함되는 적어도 하나의 페이지의 비트 에러율(Bit Error Rate; BER)을 결정하고, 미리 정해진 값 이상의 비트 에러율을 갖는 페이지를 포함하는 블록을 상기 리프로그램 블록으로서 선택하는 솔리드 스테이트 드라이브 장치.
  14. 제12 항에 있어서, 상기 컨트롤러는 상기 복수의 블록들에 포함되는 적어도 하나의 페이지에 대해 마지막으로 프로그램 동작이 수행된 시각을 저장하고, 상기 마지막으로 프로그램 동작이 수행된 시각으로부터 미리 정해진 시간이 경과된 페이지를 포함하는 블록을 상기 리프로그램 블록으로서 선택하는 솔리드 스테이트 드라이브 장치.
  15. 데이터를 저장하고 보조 전원 전압을 생성하는 솔리드 스테이트 드라이브 장치; 및
    상기 솔리드 스테이트 드라이브 장치에 전력 라인을 통해 전원 전압을 제공하고, 상기 솔리드 스테이트 드라이브 장치의 동작을 제어하는 호스트를 포함하고,
    상기 솔리드 스테이트 드라이브 장치는 상기 호스트로부터 상기 전력 라인을 통한 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 제1 주기마다 주기적으로 상기 데이터의 적어도 일부를 상기 솔리드 스테이트 드라이브 장치의 제1 물리 영역에서 제2 물리 영역으로 이동하여 저장하며,
    상기 솔리드 스테이트 드라이브 장치는,
    복수의 불휘발성 메모리 장치들;
    상기 복수의 불휘발성 메모리 장치들의 동작을 제어하고 상기 데이터의 이동을 종료한 이후 리프로그램 종료 신호를 출력하는 컨트롤러;
    상기 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하고, 상기 전원 전압에 기초하여 내부 전원 전압을 생성하는 메인 전력 공급 회로; 및
    내부 전력 라인을 통해 상기 메인 전력 공급 회로에 연결되고, 상기 내부 전력 라인을 통해 상기 내부 전원 전압을 수신하고, 상기 내부 전원 전압의 공급이 중단되는 경우 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 동작 전압을 공급하며, 상기 리프로그램 종료 신호에 응답하여 상기 보조 동작 전압의 생성을 중단하는 보조 리프로그램 장치를 포함하고,
    상기 보조 리프로그램 장치는,
    상기 보조 전원 전압을 생성하는 보조 전력 저장 소자;
    상기 보조 전원 전압을 수신하고, 전원 인에이블 신호가 활성화되는 동안 상기 보조 전원 전압을 사용하여 로직 동작 전압 및 상기 보조 동작 전압을 생성하는 보조 전력 공급 회로; 및
    상기 전력 라인을 통해 상기 전원 전압이 공급되는지 여부를 판단하며, 상기 전원 전압의 공급이 중단되는 시점으로부터 상기 제1 주기마다 주기적으로 상기 전원 인에이블 신호를 활성화시키고 리프로그램 명령을 상기 컨트롤러에 제공하는 로직 회로를 포함하는 저장 시스템.
  16. 데이터를 저장하고 보조 전원 전압을 생성하는 솔리드 스테이트 드라이브 장치; 및
    상기 솔리드 스테이트 드라이브 장치에 전력 라인을 통해 전원 전압을 제공하고, 상기 솔리드 스테이트 드라이브 장치의 동작을 제어하는 호스트를 포함하고,
    상기 솔리드 스테이트 드라이브 장치는 상기 호스트로부터 상기 전력 라인을 통한 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 전원 전압을 사용하여 제1 주기마다 주기적으로 상기 데이터의 적어도 일부를 상기 솔리드 스테이트 드라이브 장치의 제1 물리 영역에서 제2 물리 영역으로 이동하여 저장하며,
    상기 솔리드 스테이트 드라이브 장치는,
    복수의 불휘발성 메모리 장치들;
    상기 복수의 불휘발성 메모리 장치들의 동작을 제어하고 상기 데이터의 이동을 종료한 이후 리프로그램 종료 신호를 출력하는 컨트롤러;
    상기 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하고, 상기 전원 전압에 기초하여 내부 전원 전압을 생성하는 메인 전력 공급 회로; 및
    내부 전력 라인을 통해 상기 메인 전력 공급 회로에 연결되고, 상기 내부 전력 라인을 통해 상기 내부 전원 전압을 수신하고, 상기 내부 전원 전압의 공급이 중단되는 경우 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 동작 전압을 공급하며, 상기 리프로그램 종료 신호에 응답하여 상기 보조 동작 전압의 생성을 중단하는 보조 리프로그램 장치를 포함하고,
    상기 솔리드 스테이트 드라이브 장치는 현재 온도에 기초하여 상기 제1 주기를 가변하는 저장 시스템.
  17. 삭제
  18. 복수의 불휘발성 메모리 장치들, 컨트롤러, 메인 전력 공급 회로 및 보조 리프로그램 장치를 포함하는 솔리드 스테이트 드라이브 장치의 동작 방법에 있어서,
    상기 메인 전력 공급 회로가 전력 라인을 통해 제공되는 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하는 단계;
    상기 전력 라인을 통해 상기 전원 전압이 공급되는 경우, 상기 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들에 대해 프로그램 동작 및 독출 동작을 수행하는 단계;
    상기 보조 리프로그램 장치가 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 전원 전압을 공급하는 단계;
    상기 전력 라인을 통한 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 리프로그램 장치가 리프로그램(Reprogram) 명령을 생성하여 제1 주기마다 주기적으로 상기 컨트롤러로 출력하는 단계;
    상기 컨트롤러가 상기 리프로그램 명령에 응답하여 상기 제1 주기마다 주기적으로 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하는 단계;
    상기 리프로그램 동작을 종료한 이후, 상기 컨트롤러가 상기 보조 리프로그램 장치에 리프로그램 종료 신호를 제공하는 단계; 및
    상기 보조 리프로그램 장치가 상기 리프로그램 종료 신호에 응답하여 상기 보조 전원 전압의 생성을 중단하는 단계를 포함하며,
    상기 리프로그램 동작을 수행하는 단계는,
    카운트 클럭 신호를 생성하는 단계;
    상기 카운트 클럭 신호에 동기되어 카운팅 동작을 수행하여 카운트 값을 생성하는 단계;
    상기 카운트 값이 문턱 값과 일치하는 경우, 상기 보조 전원 전압을 사용하여 보조 동작 전압을 생성하는 단계;
    상기 보조 동작 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들에 포함되는 복수의 블록들 중에서 리프로그램이 필요한 블록을 리프로그램 블록으로서 선택하는 단계;
    상기 보조 동작 전압을 사용하여 상기 리프로그램 블록에 저장된 데이터를 다른 블록으로 이동하는 단계; 및
    상기 보조 동작 전압의 생성을 중단하는 단계를 포함하는 솔리드 스테이트 드라이브 장치의 동작 방법.
  19. 복수의 불휘발성 메모리 장치들, 컨트롤러, 메인 전력 공급 회로 및 보조 리프로그램 장치를 포함하는 솔리드 스테이트 드라이브 장치의 동작 방법에 있어서,
    상기 메인 전력 공급 회로가 전력 라인을 통해 제공되는 전원 전압을 사용하여 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 동작 전압을 공급하는 단계;
    상기 전력 라인을 통해 상기 전원 전압이 공급되는 경우, 상기 전원 전압을 사용하여 복수의 불휘발성 메모리 장치들에 대해 프로그램 동작 및 독출 동작을 수행하는 단계;
    상기 보조 리프로그램 장치가 상기 복수의 불휘발성 메모리 장치들 및 상기 컨트롤러에 보조 전원 전압을 공급하는 단계;
    상기 전력 라인을 통한 상기 전원 전압의 공급이 중단되는 경우, 상기 보조 리프로그램 장치가 리프로그램(Reprogram) 명령을 생성하여 제1 주기마다 주기적으로 상기 컨트롤러로 출력하는 단계;
    상기 컨트롤러가 상기 리프로그램 명령에 응답하여 상기 제1 주기마다 주기적으로 상기 복수의 불휘발성 메모리 장치들에 대해 리프로그램 동작을 수행하는 단계;
    상기 리프로그램 동작을 종료한 이후, 상기 컨트롤러가 상기 보조 리프로그램 장치에 리프로그램 종료 신호를 제공하는 단계; 및
    상기 보조 리프로그램 장치가 상기 리프로그램 종료 신호에 응답하여 상기 보조 전원 전압의 생성을 중단하는 단계를 포함하며,
    상기 보조 리프로그램 장치는 온도 센서를 포함하고,
    상기 온도 센서에 의해 검출된 온도에 기초하여 상기 제1 주기를 가변하는 단계를 더 포함하는 솔리드 스테이트 드라이브 장치의 동작 방법.
  20. 삭제
KR1020150160421A 2015-11-16 2015-11-16 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 KR102359979B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150160421A KR102359979B1 (ko) 2015-11-16 2015-11-16 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
US15/333,384 US10679701B2 (en) 2015-11-16 2016-10-25 Solid state drive devices and storage systems having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150160421A KR102359979B1 (ko) 2015-11-16 2015-11-16 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템

Publications (2)

Publication Number Publication Date
KR20170056936A KR20170056936A (ko) 2017-05-24
KR102359979B1 true KR102359979B1 (ko) 2022-02-08

Family

ID=58692136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150160421A KR102359979B1 (ko) 2015-11-16 2015-11-16 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템

Country Status (2)

Country Link
US (1) US10679701B2 (ko)
KR (1) KR102359979B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318381B2 (en) * 2017-03-29 2019-06-11 Micron Technology, Inc. Selective error rate information for multidimensional memory
KR102277728B1 (ko) * 2017-07-31 2021-07-14 삼성전자주식회사 데이터 저장 시스템, 데이터 저장 시스템의 데이터 저장 방법, 및 솔리드 스테이트 드라이브의 제조 방법
KR102611634B1 (ko) * 2018-01-22 2023-12-08 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법
US11403159B2 (en) 2018-01-31 2022-08-02 Hewlett Packard Enterprise Development Lp Device carrier assemblies
US11132042B2 (en) * 2018-01-31 2021-09-28 Hewlett Packard Enterprise Development Lp Drive carrier assemblies
JP2019168755A (ja) 2018-03-22 2019-10-03 東芝メモリ株式会社 メモリシステム、電源制御回路及び制御方法
WO2021066620A1 (ko) * 2019-10-04 2021-04-08 엘지이노텍 주식회사 낸드 플래시 메모리 소자의 제어 장치 및 이의 제어 방법
KR20220008429A (ko) 2020-07-13 2022-01-21 삼성전자주식회사 솔리드 스테이트 드라이브, 솔리드 스테이트 드라이브를 포함하는 전자 장치, 그리고 솔리드 스테이트 드라이브를 관리하는 방법
EP3940505B1 (en) * 2020-07-13 2023-10-18 Samsung Electronics Co., Ltd. Electronic device including solid state drive

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100702362B1 (ko) * 2004-10-06 2007-04-02 삼성전자주식회사 안정적인 시스템 종료를 위한 전원 공급 회로 및 방법
US20140098600A1 (en) 2012-10-09 2014-04-10 Jinhyun Kim Semiconductor memory device having discriminary read and write operations according to temperature
US20150042410A1 (en) 2013-08-08 2015-02-12 Seiko Epson Corporation Control method for oscillation circuit, circuit for oscillation, oscillator, electronic apparatus, and moving object

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0320142D0 (en) 2003-08-28 2003-10-01 Ibm Data storage systems
US8412876B2 (en) 2010-06-30 2013-04-02 Felicity Taiwan Corporation Storage device with multiple storage units and control method thereof
JP2012088780A (ja) 2010-10-15 2012-05-10 Canon Electronics Inc 情報処理装置、情報処理装置の制御方法、及び、プログラム
KR20120120706A (ko) 2011-04-25 2012-11-02 삼성전자주식회사 보조 전원 장치 및 보조 전원 장치를 포함하는 사용자 장치
JP2013041458A (ja) 2011-08-17 2013-02-28 Canon Inc データ処理装置及びその制御方法
US9176800B2 (en) 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
US9389673B2 (en) 2011-12-22 2016-07-12 Sandisk Technologies Inc. Systems and methods of performing a data save operation
KR101878200B1 (ko) 2012-01-09 2018-07-16 삼성전자 주식회사 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법
US8645770B2 (en) * 2012-01-18 2014-02-04 Apple Inc. Systems and methods for proactively refreshing nonvolatile memory
US9645177B2 (en) 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
US20140040537A1 (en) * 2012-08-01 2014-02-06 Genusion Inc. Storage medium using nonvolatile semiconductor storage device, and data terminal including the same
JP2015064860A (ja) 2013-08-27 2015-04-09 キヤノン株式会社 画像形成装置およびその制御方法、並びにプログラム
KR20150044753A (ko) 2013-10-17 2015-04-27 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US8843700B1 (en) * 2013-11-29 2014-09-23 NXGN Data, Inc. Power efficient method for cold storage data retention management
KR102285772B1 (ko) * 2015-02-02 2021-08-05 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US20160350002A1 (en) * 2015-05-29 2016-12-01 Intel Corporation Memory device specific self refresh entry and exit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100702362B1 (ko) * 2004-10-06 2007-04-02 삼성전자주식회사 안정적인 시스템 종료를 위한 전원 공급 회로 및 방법
US20140098600A1 (en) 2012-10-09 2014-04-10 Jinhyun Kim Semiconductor memory device having discriminary read and write operations according to temperature
US20150042410A1 (en) 2013-08-08 2015-02-12 Seiko Epson Corporation Control method for oscillation circuit, circuit for oscillation, oscillator, electronic apparatus, and moving object

Also Published As

Publication number Publication date
US10679701B2 (en) 2020-06-09
US20170140825A1 (en) 2017-05-18
KR20170056936A (ko) 2017-05-24

Similar Documents

Publication Publication Date Title
KR102359979B1 (ko) 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
KR102302187B1 (ko) 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
KR102090589B1 (ko) 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
JP5513289B2 (ja) プログラミングの間にプログラム禁止電圧が変化する不揮発性メモリ装置及びそのプログラミング方法
KR101554727B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9281068B2 (en) Nonvolatile memory and related reprogramming method
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
US8611150B2 (en) Flash memory device including flag cells and method of programming the same
JP7213690B2 (ja) フラッシュメモリのためのリフレッシュの管理
TWI610170B (zh) 半導體記憶體裝置、其讀取方法以及具有該半導體記憶體裝置的資料儲存裝置
KR102128825B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR102422478B1 (ko) 불휘발성 메모리 장치의 독출 방법
US8743632B2 (en) Nonvolatile memory device, operating method thereof, and data storage device having the same
KR20100107294A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR20100107291A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
KR102122239B1 (ko) 비휘발성 메모리 장치 및 그 프로그램 방법
KR20110051780A (ko) 불휘발성 메모리 장치의 프로그램 방법
US20110116322A1 (en) Charge recycling memory system and a charge recycling method thereof
US9501343B2 (en) Method of operating non-volatile memory device
KR20110132072A (ko) 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20110045223A (ko) 비휘발성 메모리 장치 및 그것의 바이어스 전압 인가 방법
KR102294352B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법과 독출 방법
KR20120056113A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법, 그리고 불휘발성 메모리 장치를 포함하는 메모리 시스템
KR20130123516A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant