KR101878200B1 - 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법 - Google Patents

서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법 Download PDF

Info

Publication number
KR101878200B1
KR101878200B1 KR1020120002524A KR20120002524A KR101878200B1 KR 101878200 B1 KR101878200 B1 KR 101878200B1 KR 1020120002524 A KR1020120002524 A KR 1020120002524A KR 20120002524 A KR20120002524 A KR 20120002524A KR 101878200 B1 KR101878200 B1 KR 101878200B1
Authority
KR
South Korea
Prior art keywords
flash memory
memory device
timeout
power
time
Prior art date
Application number
KR1020120002524A
Other languages
English (en)
Other versions
KR20130081508A (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 KR1020120002524A priority Critical patent/KR101878200B1/ko
Priority to US13/737,308 priority patent/US9355025B2/en
Publication of KR20130081508A publication Critical patent/KR20130081508A/ko
Application granted granted Critical
Publication of KR101878200B1 publication Critical patent/KR101878200B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • 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

서든 파워 오프(sudden power off) 발생 시 제1 플래시 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템을 제어하는 방법은, 서든 파워 오프가 발생하면 제1 타임아웃을 카운트하고, 상기 제1 타임아웃이 만료되면 상기 제1 플래시 메모리 장치를 리셋시키고, 상기 제1 플래시 메모리 장치에 데이터를 덤프하는 것을 포함한다.

Description

서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법{Method for controlling memory system when sudden power off occurs}
본 발명은 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에 관한 것이다.
메모리 시스템의 동작 중, 예상치 못한 전원 오류로 인해 갑작스런 전력 손실인 서든 파워 오프(SPO; Sudden Power Off)가 발생할 수 있다. 서든 파워 오프가 발생하면, 외부 전력의 공급은 중단(external power off) 되지만, 메모리 시스템은 예컨대, 슈퍼 캐패시터(super capacitor)와 같은 보조 전력 장치에 저장된 보조 전력에 의해 구동될 수 있다. 보조 전력에 의해 구동되는 기간에, 메모리 시스템은, 플래시 메모리 장치에서 수행 중인 오퍼레이션(operation)을 수행 완료하고, 필요한 데이터를 플래시 메모리 장치에 덤프(dump) 시킬 수 있다. 덤프 오퍼레이션이 완료되면, 메모리 시스템은 내부 전력의 공급도 중단(internal power off)시키고, 모든 동작을 종료할 수 있다.
메모리 시스템은 다수의 플래시 메모리 장치를 포함할 수 있다. 그리고, 서든 파워 오프가 발생할 때, 각각의 플래시 메모리 장치에서 다양한 오퍼레이션이 수행 중일 수 있다. 다만, 이레이즈 오퍼레이션을 완료하는데 걸리는 시간은, 리드 오퍼레이션이나 프로그램 오퍼레이션을 완료하는데 걸리는 시간에 비하여 상대적으로 길 수 있다. 만약, 서든 파워 오프의 발생과 동시에 플래시 메모리 장치에서 이레이즈 오퍼레이션이 수행된다면, 이레이즈 오퍼레이션이 완료될 때까지 상당한 시간을 필요로 하기 때문에, 서든 파워 오프 발생 후 메모리 시스템이 내부 전력의 공급도 중단시켜 모든 동작을 종료할 때까지 걸리는 시간인 파워 오프 타임(power off time)이 길어질 수 있다.
그러나, 보조 전력 장치에 저장된 보조 전력의 양은 제한되기 때문에, 파워 오프 타임을 최소화하는 것이 필요하다.
본 발명이 해결하려는 과제는, 서든 파워 오프가 발생하면 타임아웃을 카운트하고, 타임아웃이 완료되면 플래시 메모리 장치를 리셋시켜, 플래시 메모리 장치에서 수행 중인 오퍼레이션을 강제 종료함으로써, 서든 파워 오프 발생 후 메모리 시스템이 내부 전력의 공급도 중단시켜 모든 동작을 종료할 때까지 걸리는 시간을 최소화할 수 있는 메모리 시스템의 제어 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 메모리 시스템의 제어 방법의 일 실시예는 서든 파워 오프가 발생하면 제1 타임아웃을 카운트하고, 상기 제1 타임아웃이 만료되면 상기 제1 플래시 메모리 장치를 리셋시키고, 상기 제1 플래시 메모리 장치에 데이터를 덤프하는 것을 포함한다.
상기 과제를 해결하기 위한 본 발명의 메모리 시스템의 제어 방법의 다른 실시예는 서든 파워 오프가 발생하면 제1 타임아웃을 카운트하고, 상기 제1 타임아웃이 만료되면 다수의 상기 플래시 메모리 장치 중 오퍼레이션이 수행 중인 일부 상기 플래시 메모리 장치를 리셋시키고, 상기 플래시 메모리 장치 중 적어도 하나 이상에 데이터를 덤프하는 것을 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 몇몇 실시예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 2는 도 1의 세부적인 구성을 나타내는 블록도이다.
도 3은 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법의 순서도이다.
도 4는 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
도 5는 플래시 메모리 장치에서 오퍼레이션을 수행하는데 걸리는 시간을 나타내는 타이밍도이다.
도 6은 서든 파워 오프를 설명하기 위한 타이밍도이다.
도 7은 본 발명의 제2 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
도 8은 본 발명의 제3 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
도 9는 본 발명의 제4 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1 및 도 2를 참조하여, 본 발명의 몇몇 실시예에 따른 메모리 시스템을 설명한다. 도 1은 본 발명의 몇몇 실시예에 따른 메모리 시스템을 설명하기 위한 블록도이다. 도 2는 도 1의 세부적인 구성을 나타내는 블록도이다.
우선, 도 1 및 도 2를 참조하면, 메모리 시스템(1)은 메모리 컨트롤러(10)와 플래시 메모리 장치(20)를 포함할 수 있다.
예컨대, 메모리 컨트롤러(10) 및 플래시 메모리 장치(20)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있지만, 이에 제한되지 않는다.
메모리 컨트롤러(10)는 호스트(Host) 및 플래시 메모리 장치(20)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 메모리 컨트롤러(1)는 플래시 메모리 장치(20)에 액세스하도록 구성된다. 예를 들면, 메모리 컨트롤러(10)는 플래시 메모리 장치(20)의 오퍼레이션(operation)을 제어하도록 구성된다. 플래시 메모리 장치(20)에서 수행되는 오퍼레이션으로, 예컨대, 리드 오퍼레이션, 프로그램 오퍼레이션, 이레이즈(erase) 오퍼레이션 등이 있을 수 있다. 메모리 컨트롤러(10)는 플래시 메모리 장치(20) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(10)는 플래시 메모리 장치(20)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
구체적으로, 메모리 컨트롤러(10)는 큐(queue, 11), 타이머(14) 및 전압 비교기(15)를 포함할 수 있다. 큐(11)에는 플래시 메모리 장치(20)에서 수행될 오퍼레이션이 큐잉(queuing)될 수 있다. 큐(11)는 예컨대, 제1 내지 제3 큐(11a, 11b, 11c)를 포함할 수 있지만, 큐(11)의 개수에는 제한이 없다. 설명의 편의 상, 제1 내지 제3 큐(11a, 11b, 11c)에는 각각 제1 내지 제3 플래시 메모리 장치(20a, 20b, 20c)에서 수행될 오퍼레이션이 저장되는 것으로 정의할 수 있지만, 이에 제한되지 않는다.
타이머(14)는 플래시 메모리 장치(20)를 제어하기 위해 필요한 타임아웃(timeout)을 설정할 수 있다. 그리고, 설정된 타임아웃을 카운트 하여, 타임아웃의 완료 여부에 관한 정보를 제공할 수 있다.
전압 비교기(15)는 메모리 시스템(1)에 인가되는 전압과 기준 전압을 비교할 수 있다. 전압 비교기(15)의 비교 결과, 메모리 시스템(1)에 인가되는 전압이 기준 전압보다 낮으면, 메모리 컨트롤러(10)는 서든 파워 오프(sudden power off)가 발생한 것으로 판단할 수 있다. 서든 파워 오프는 갑작스러운 전력 손실을 의미하는 것으로, 예컨대, 예상치 못하는 전원 오류로 인해 외부 전력의 공급이 중단(external power off)되어 발생할 수 있다.
플래시 메모리 장치(20)는 예컨대, 낸드 플래시 메모리 장치일 수 있지만, 이에 제한되지 않는다. 그리고 플래시 메모리 장치(20)는 다수 개로 구성될 수 있으며 개수에는 제한이 없다. 다만, 설명의 편의를 위해, 도 2에는 플래시 메모리 장치(20)는 제1 내지 제3 플래시 메모리 장치(20a, 20b, 20c)를 포함하는 것으로 도시되었다. 상술한 바와 같이, 플래시 메모리 장치(20)는 메모리 컨트롤러(10)와 연결되어, 메모리 컨트롤러(10)에 의해 제어될 수 있다. 구체적으로, 제1 내지 제3 플래시 메모리 장치(20a, 20b, 20c)는 모두 메모리 컨트롤러(10)에 의해 제어될 수 있다.
도 1 내지 도 6을 참조하여, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명한다. 도 3은 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법의 순서도이다. 도 4는 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다. 도 5는 플래시 메모리 장치에서 오퍼레이션을 수행하는데 걸리는 시간을 나타내는 타이밍도이다. 도 6은 서든 파워 오프를 설명하기 위한 타이밍도이다.
도 6을 참조하면, 예상치 못한 전원 오류로 인하여, 외부 전력 공급이 중단(external power off)되어 서든 파워 오프가 발생할 수 있다. 서든 파워 오프가 발생한 시점은 t0로 정의할 수 있다. 다만, 서든 파워 오프가 발생하여 메모리 시스템(1)에 외부 전력 공급이 중단되더라도, 메모리 시스템(1)은 예컨대, 슈퍼 캐패시터(super capacitor)와 같은 보조 전력이 있기 때문에, 메모리 시스템(1)은 제한된 시간 동안 보조 전력을 이용하여 동작할 수 있다.
제한된 시간 동안 메모리 시스템(1)은 본 발명의 제1 실시예에 따라 다음과 같이 제어될 수 있다.
우선, 도 2, 도 3 및 도 4를 참조하여, 서든 파워 오프가 발생하면 제1 타임아웃(TIMEOUT 1)을 카운트한다(S10).
t0에서 서든 파워 오프가 발생하면, 메모리 컨트롤러(10)는 설정된 제1 타임아웃(TIMEOUT 1)을 카운트할 수 있다.
그리고, 이와 동시에, 메모리 컨트롤러(10)는 플래시 메모리 장치(20)가 처리해야할 I/O 오퍼레이션을 취소(abort)할 수 있다. 구체적으로, 메모리 컨트롤러(10)는 전력 소모를 줄이기 위해, 큐(11)에 큐잉된 오퍼레이션을 모두 취소할 수 있다. 예컨대, 제1 큐(11a)에는 제1 플래시 메모리 장치(20a)에서 수행될 예정인 제1-1 및 1-2 오퍼레이션이 큐잉되어 있다. 그리고, 제2 및 제3 큐(11b, 11c)에도 각각 제2-1 오퍼레이션, 제3-1 및 3-2 오퍼레이션이 큐잉되어 있다. 제1 내지 제3 큐(11a, 11b, 11c)에 큐잉되어 있는 오퍼레이션은 서든 파워 오프가 발생하면, 모두 취소될 수 있다.
다만, 서든 파워 오프 발생 시 플래시 메모리 장치(20)에서 수행 중이거나, 서든 파워 오프의 발생과 동시에 플래시 메모리 장치(20)에서 수행되기 시작한 오퍼레이션은 그대로 수행될 수 있다. 예컨대, 제1 오퍼레이션(31) 및 제2 오퍼레이션(32)은, 서든 파워 오프 발생 시 각각 제1 및 제2 플래시 메모리 장치(20a, 20b)에서 수행 중이다. 그리고, 제3 오퍼레이션(33)은 서든 파워 오프의 발생과 동시에 제3 플래시 메모리 장치(20c)에서 수행되기 시작하였다. 그러므로, 제1 내지 제3 오퍼레이션(31, 32, 33)은 취소되지 않고, 계속하여 수행될 수 있다.
도 4 및 도 5를 참조하여, 제1 타임아웃(TIMEOUT 1)에 대하여 구체적으로 설명한다.
도 4를 참조하면, 플래시 메모리 장치(20)에서 리드 오퍼레이션이 수행되는데 허용되는 최대 시간은 MAX_TR로 정의될 수 있다. 그리고, 플래시 메모리 장치(20)에서 프로그램 오퍼레이션 및 이레이즈 오퍼레이션이 수행되는데 허용되는 최대 시간은 각각 MAX_TPROG 및 MAX_TERASE로 정의될 수 있다. 예컨대, MAX_TERASE가 가장 시간이 길고, MAX_TR이 가장 짧을 수 있다.
제1 타임아웃(TIMEOUT 1)은, 제1 타임아웃(TIMEOUT 1)이 카운트되는 동안 플래시 메모리 장치(20)에서 수행 중인 리드 오퍼레이션 및 프로그램 오퍼레이션이 수행 완료되기 충분한 시간으로 설정될 수 있다. 다만, 제1 타임아웃(TIMEOUT 1)은, 제1 타임아웃(TIMEOUT 1)이 카운트되는 동안 플래시 메모리 장치(20)에서 수행 중인 이레이즈 오퍼레이션이 수행 완료될 수 있을지 여부와는 상관없이 설정될 수 있다.
정리하면, 제1 타임아웃(TIMEOUT 1)은, MAX_TR 및 MAX_TPROG 중 상대적으로 긴 시간 이상으로 설정되며, 다만, MAX_TERASE 보다는 짧게 설정될 수 있다.
더욱 구체적으로, 제1 타임아웃(TIMEOUT 1)은 MAX_TR _ MSB 및 MAX_TPROG _ MSB 중 상대적으로 긴 시간 이상으로 설정될 수 있다. 다만, 제1 타임아웃(TIMEOUT 1)이 MAX_TERASE 보다는 짧게 설정된다는 점은 동일할 수 있다. MAX_TR _ MSB 및 MAX_TPROG_MSB는 각각 플래시 메모리 장치(20)에서 MSB(Most Significant Bit)의 리드 오퍼레이션 및 프로그램 오퍼레이션을 수행하는데 허용되는 최대 시간으로 정의될 수 있다. MSB의 리드 오퍼레이션 및 프로그램 오퍼레이션을 수행하는데 허용되는 최대 시간은, LSB(Least Significant Bit)의 리드 오퍼레이션 및 프로그램 오퍼레이션을 수행하는데 허용되는 최대 시간 보다 길 수 있다. 그러므로, MAX_TR _ MSB 및 MAX_TPROG _ MSB을 이용하여 제1 타임아웃(TIMEOUT 1)을 설정할 수도 있다.
결과적으로, 제1 타임아웃(TIMEOUT 1)이 카운트되는 동안 플래시 메모리 장치(20)에서 수행 중인 리드 오퍼레이션 및 프로그램 오퍼레이션은 수행 완료될 수 있다. 다만, 제1 타임아웃(TIMEOUT 1)이 카운트되는 동안 플래시 메모리 장치(20)에서 수행 중인 이레이즈 오퍼레이션은 경우에 따라 수행 완료되지 않을 수 있다.
예컨대, 도 2 및 도 4를 참조하면, 제1 타임아웃(TIMEOUT 1)이 카운트되는 동안, 제1 플래시 메모리 장치(20a)에서 수행되는 제1 오퍼레이션(31) 및 제3 플래시 메모리 장치(20c)에서 수행되는 제3 오퍼레이션(33)은 수행 완료될 수 있다. 그러므로, 제1 및 제3 오퍼레이션(31, 33)은 리드 오퍼레이션이나 프로그램 오퍼레이션 중 어느 하나일 수 있다.
다만, 제2 플래시 메모리 장치(20b)에서 수행되는 제2 오퍼레이션(32)은, 제1 타임아웃(TIMEOUT 1)이 카운트되는 동안 수행 완료되지 않는다. 그러므로, 제2 오퍼레이션(32)은 이레이즈 오퍼레이션일 수 있다.
이어서, 도 2, 도 3 및 도 4를 참조하여, 제1 타임아웃(TIMEOUT 1)이 만료되면 플래시 메모리 장치(20)를 리셋시킨다(S20).
구체적으로, t1에서 제1 타임아웃(TIMEOUT 1)이 만료되면, 플래시 메모리 장치(20) 중 오퍼레이션이 수행 중인 일부 플래시 메모리 장치(20)를 리셋시킬 수 있다. 일부 플래시 메모리 장치(20)를 리셋시킴으로써, 수행 중인 오퍼레이션을 강제 종료시킬 수 있다. 다만, 제1 타임아웃(TIMEOUT 1)은 리드 오퍼레이션 및 프로그램 오퍼레이션이 수행 완료될 수 있도록 설정되었으므로, 이레이즈 오퍼레이션을 수행 중인 일부 플래시 메모리 장치(20)가 리셋될 수 있다.
도 4를 참조하면, 제1 타임아웃(TIMEOUT 1)이 만료된 시점(t1)에서, 제2 플래시 메모리 장치(20b)에서 제2 오퍼레이션(32)이 수행 중이므로, 제2 플래시 메모리 장치(20b)가 리셋될 수 있다. 제2 플래시 메모리 장치(20b)가 리셋되기 때문에, 제2 오퍼레이션(32)은 강제 종료될 수 있고, 그에 따라, 제2 오퍼레이션(32)은 t1, t2 사이의 구간에서 더 이상 수행되지 않는다. 이러한 리셋으로 인해, 제2 플래시 메모리 장치(20b)는 메모리 컨트롤러(10)로부터 새로운 커맨드를 받아 새로운 오퍼레이션을 수행할 수 있는 상태가 될 수 있다.
다만, 제1 타임아웃(TIMEOUT 1)이 만료되기 전에 오퍼레이션의 수행이 완료되어, 제1 타임아웃(TIMEOUT 1)이 만료된 시점(t1)에서 오퍼레이션을 수행하지 않는 플래시 메모리 장치(20), 예컨대, 제1 및 제3 플래시 메모리 장치(20a, 20c)는 리셋되지 않을 수 있다.
상술한 바와 같이, t1에서 t2 사이는 제2 플래시 메모리 장치(20b)가 리셋되는 구간이다. 리셋 타임은, 메모리 컨트롤러(10)가 플래시 메모리 장치(20)에 리셋을 지시한 후, 플래시 메모리 장치(20)로부터 리셋 완료 신호를 받을 때까지의 시간으로 정의될 수 있다.
제1 타임아웃(TIMEOUT 1)이 만료되고, 리셋 타임이 지나 플래시 메모리 장치(20)의 리셋이 완료되면, 모든 플래시 메모리 장치(20)는 메모리 컨트롤러(10)로부터 새로운 커맨드를 받아 새로운 오퍼레이션을 수행할 수 있는 상태가 될 수 있다.
정리하면, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에 따르면, 서든 파워 오프가 발생하면 제1 타임아웃(TIMEOUT 1)을 카운트하고, 제1 타임아웃(TIMEOUT 1)이 만료하면, 수행 중인 오퍼레이션을 강제 종료하기 위해, 오퍼레이션이 수행 중인 플래시 메모리 장치(20)를 리셋시킨다. 즉, 모든 오퍼레이션이 수행 완료될 때까지 대기하지 않고 다음 단계를 진행하기 때문에, 서든 파워 오프 발생 후 메모리 시스템이 내부 전력의 공급도 중단시켜 모든 동작을 종료할 때까지 걸리는 시간인 파워 오프 타임(power off time)을 줄일 수 있다.
더욱이, 제1 타임아웃(TIMEOUT 1)은 MAX_TR 및 MAX_TPROG 중 상대적으로 긴 시간 이상으로 설정되며, 다만, MAX_TERASE 보다는 짧게 설정된다. 그러므로, 플래시 메모리 장치(20)에서 수행 중이던 리드 및 프로그램 오퍼레이션이 완료되기에 충분한 시간을 확보할 수 있다. 강제 종료되는 오퍼레이션은, 수행 완료하는데 상대적으로 긴 시간이 필요한 이레이즈 오퍼레이션일 수 있다. 즉, 제1 타임아웃(TIMEOUT 1)은 이레이즈 오퍼레이션이 수행 중인 플래시 메모리 장치(20)를 리셋할 수 있도록 설정되었다.
이레이즈 오퍼레이션은 리드 및 프로그램 오퍼레이션에 비해 수행 완료하는데 걸리는 시간이 길기 때문에, 파워 오프 타임을 연장시키는데 큰 영향을 미칠 수 있다. 그러므로, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에 의해, 이레이즈 오퍼레이션이 수행 중인 플래시 메모리 장치(20)를 리셋함으로써, 효과적으로 파워 오프 타임을 단축시킬 수 있다.
이레이즈 오퍼레이션의 강제 종료로 인하여, 플래시 메모리 장치(20)의 데이터가 완전히 지워지지 않더라도, 데이터가 손실된 것이 아니기 때문에, 메모리 시스템(1)의 신뢰성을 크게 저하되지 않을 수 있다. 그러므로, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에 의해, 이레이즈 오퍼레이션이 수행 중인 플래시 메모리 장치(20)를 리셋함으로써, 메모리 시스템(1)의 신뢰성을 크게 저하시키지 않고, 파워 오프 타임을 단축시킬 수 있다.
이어서, 도 2, 도 3 및 도 4를 참조하여, 플래시 메모리 장치(20)에 데이터를 덤프(dump)한다(S30).
구체적으로, t2에서 플래시 메모리 장치(20)의 리셋이 완료되어, 모든 플래시 메모리 장치(20)는 메모리 컨트롤러(10)로부터 새로운 커맨드를 받아 새로운 오퍼레이션을 수행할 수 있는 상태가 되면, 메모리 컨트롤러(10)는 플래시 메모리 장치(20)에 덤프 데이터를 덤프할 수 있다. 즉, 메모리 컨트롤러(10)는 플래시 메모리 장치(20)로부터 리셋 완료 신호를 수신한 후, 덤프 데이터를 플래시 메모리 장치(20)에 프로그램할 수 있다. 덤프 데이터는 예컨대, 플래시 메모리 장치(20)에 프로그램이 실패된 데이터, 메타 데이터(meta data) 및 메모리 컨트롤러(10)의 캐시(cache)에 저장된 더티 데이터(dirty data) 중 적어도 어느 하나일 수 있지만, 이에 제한되지 않는다.
덤프 데이터는 플래시 메모리 장치(20) 중 적어도 하나 이상에 저장될 수 있으며, 반드시 모든 플래시 메모리 장치(20)에 저장될 필요는 없다. 그리고, 플래시 메모리 장치(20)에 덤프 데이터를 프로그램하는데 걸리는 시간을 줄이기 위해, 메모리 컨트롤러(10)는 이레이즈 없이 바로 프로그램이 가능한 블록(block)을 확보해놓을 수 있다. 그러므로, 덤프 데이터는 플래시 메모리 장치(20)의 미리 확보해 놓은 블록에 프로그램될 수 있다.
또한, 플래시 메모리 장치(20)에 덤프 데이터를 프로그램하는데 걸리는 시간을 줄이기 위해, 덤프 데이터는 플래시 메모리 장치(20)의 LSB에 프로그램될 수 있다. 즉, 플래시 메모리 장치(20)의 LSB에 프로그램하는데 걸리는 시간이 다른 비트에 프로그램하는데 걸리는 시간보다 짧을 수 있기 때문이다.
도 4를 참조하여 구체적으로 설명하면, 우선, 제1 및 제3 플래시 메모리 장치(20a, 20c)에 각각 제1 및 제2 덤프 오퍼레이션(41, 42)이 수행되어, 덤프 데이터가 프로그램될 수 있다. 다만, t2에서, 메모리 컨트롤러(10)는 제1 및 제3 플래시 메모리 장치(20a, 20c)에 제1 및 제2 덤프 오퍼레이션(41, 42)을 수행함과 동시에, 설정된 제2 타임아웃(TIMEOUT 2)을 카운트할 수 있다.
제2 타임아웃(TIMEOUT 2)은 플래시 메모리 장치(20)에서 프로그램 오퍼레이션이 수행되기 위해 필요한 시간의 평균값을 고려하여 설정될 수 있다. 구체적으로, 제2 타임아웃(TIMEOUT 2)은 α·AVG_TPROG(단, α는 1 이상)으로 설정될 수 있다. AVG_TPROG은 플래시 메모리 장치(20)에서 프로그램 오퍼레이션이 수행되기 위해 필요한 시간의 평균값으로 정의될 수 있다.
더욱 구체적으로, 제2 타임아웃(TIMEOUT 2)은 α·AVG_TPROG _ LSB(단, α는 1 이상)로 설정될 수 있다. α·AVG_TPROG _ LSB은 플래시 메모리 장치(20)에서 LSB 프로그램 오퍼레이션을 수행하는데 필요한 시간의 평균값으로 정의될 수 있다. 상술한 바와 같이, 플래시 메모리 장치(20)에 덤프 데이터를 프로그램하는데 걸리는 시간을 줄이기 위해, 덤프 데이터는 플래시 메모리 장치(20)의 LSB에 프로그램될 수 있으므로, 제2 타임아웃(TIMEOUT 2)은 α·AVG_TPROG _ LSB(단, α는 1 이상)로 설정될 수 있다.
제3 플래시 메모리 장치(20c)에서 수행되는 제2 덤프 오퍼레이션(42)은 제2 타임아웃(TIMEOUT 2)이 만료되기 전에 수행 완료될 수 있다. 다만, 제1 플래시 메모리 장치(20a)에서 수행되는 제1 덤프 오퍼레이션(41)은 제2 타임아웃(TIMEOUT 2)이 카운트되는 동안 수행 완료되지 않을 수 있다.
이어서, 제2 타임아웃(TIMEOUT 2)이 만료되면 플래시 메모리 장치(20)를 리셋시킬 수 있다.
구체적으로, t3에서 제2 타임아웃(TIMEOUT 2)이 만료되면, 플래시 메모리 장치(20) 중 덤프 오퍼레이션이 수행 중인 일부 플래시 메모리 장치(20)를 리셋시킬 수 있다. 일부 플래시 메모리 장치(20)를 리셋시킴으로써, 수행 중인 덤프 오퍼레이션을 강제 종료시킬 수 있다. 그리고, 강제 종료된 덤프 오퍼레이션은 다른 플래시 메모리 장치(20)에서 다시 수행될 수 있다.
구체적으로, 제1 덤프 오퍼레이션(41)은 제2 타임아웃(TIMEOUT 2)이 만료될 때까지 수행 완료되지 않았으므로, t=3에서 제1 플래시 메모리 장치(20a)는 리셋될 수 있다. 제1 플래시 메모리 장치(20a)의 리셋으로 제1 덤프 오퍼레이션(41)은 강제 종료될 수 있다. 다만, 제1 플래시 메모리 장치(20a)의 리셋과 동시에, t=3에서 제1' 덤프 오퍼레이션(41')이 제2 플래시 메모리 장치(20b)에서 수행될 수 있다.
결과적으로, t=4에서 제1' 덤프 오퍼레이션(41')이 제2 플래시 메모리 장치(20b)에서 수행 완료될 수 있다. 제1' 덤프 오퍼레이션(41')이 수행 완료되면, 메모리 컨트롤러(10)는 메모리 시스템(1)이 내부 전력의 공급도 중단시켜 모든 동작을 종료할 수 있다.
정리하면, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에 따르면, 덤프 오퍼레이션을 수행하면서 제2 타임아웃(TIMEOUT 2)을 카운트하고, 제2 타임아웃(TIMEOUT 2)이 만료하면, 수행 중인 덤프 오퍼레이션을 강제 종료하기 위해, 덤프 오퍼레이션이 수행 중인 플래시 메모리 장치(20)를 리셋시킨다. 즉, 덤프 오퍼레이션의 수행이 실패(fail)되었다고 신호를 받을 때까지 대기하지 않고, 다음 단계를 진행하기 때문에, 파워 오프 타임을 줄일 수 있다.
더욱이, 제1 타임아웃(TIMEOUT 1)은 α·AVG_TPROG(단, α는 1 이상)으로 설정된다. 그러므로, 프로그램 실패(fail)가 발생하지 않은 이상, 플래시 메모리 장치(20)에서 덤프 오퍼레이션을 완료하기에 충분한 시간을 확보할 수 있다. 그러므로, 제1 타임아웃(TIMEOUT 1) 기간 내에 완료되지 않은 덤프 오퍼레이션은 실패한 덤프 오퍼레이션이라고 보는 것이 타당할 수 있다. 그러므로, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에 의해, 덤프 오퍼레이션의 실패를 미리 판단하고, 플래시 메모리 장치(20)를 리셋하고, 해당 덤프 오퍼레이션을 다른 플래시 메모리 장치(20)에서 재수행함으로써, 효과적으로 파워 오프 타임을 단축시킬 수 있다.
도 7을 참조하여, 본 발명의 제2 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명한다. 다만, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법과의 차이점을 위주로 설명한다. 도 7은 본 발명의 제2 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
도 7을 참조하면, 본 발명의 제2 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에서, 제1 타임아웃(TIMEOUT 1)이 만료된 후 수행되는 리셋과 제2 타임아웃(TIMEOUT 2)이 만료된 후 수행되는 리셋은, 모든 플래시 메모리 장치(20)에 대하여 수행될 수 있다. 즉, 리셋은, 제1 타임아웃(TIMEOUT 1)이 만료되거나, 제2 타임아웃(TIMEOUT 2)이 만료될 때, 오퍼레이션이 수행 중인 일부 플래시 메모리 장치(20)에 대하여 수행되는 것이 아니라, 모든 플래시 메모리 장치(20)에 대하여 수행될 수 있다.
도 8을 참조하여, 본 발명의 제3 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명한다. 다만, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법과의 차이점을 위주로 설명한다. 도 8은 본 발명의 제3 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
도 8을 참조하면, 본 발명의 제3 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에서, 제2 타임아웃(TIMEOUT 2)이 만료된 후 수행되는 리셋은 생략될 수 있다. 구체적으로, 제1 플래시 메모리 장치(20a)에서 제1 덤프 오퍼레이션(41)의 수행이 실패되었다고 신호를 받을 때까지 대기한 후, 다른 플래시 메모리 장치(20)인 제2 플래시 메모리 장치(20b)에서 제1' 덤프 오퍼레이션(41')이 수행될 수 있다.
도 9를 참조하여, 본 발명의 제4 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명한다. 다만, 본 발명의 제1 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법과의 차이점을 위주로 설명한다. 도 9는 본 발명의 제4 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법을 설명하기 위한 타이밍도이다.
도 9를 참조하면, 본 발명의 제4 실시예에 따른 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법에서, 제1 타임아웃(TIMEOUT 1)이 만료된 후 수행되는 리셋은 생략될 수 있다. 구체적으로, 데이터 덤프는 모든 오퍼레이션이 수행 완료될 때까지 대기한 후 수행될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1: 메모리 시스템 10: 메모리 컨트롤러
11: 큐 11a, 11b, 11c: 제1 내지 제3 큐
14: 타이머 15: 전압 비교기
20: 플래시 메모리 장치
20a, 20b, 20c: 제1 내지 제3 플래시 메모리 장치
31, 32, 33: 제1 내지 제3 오퍼레이션
41: 제1 덤프 오퍼레이션 42: 제2 덤프 오퍼레이션

Claims (10)

  1. 서든 파워 오프(sudden power off) 발생 시 제1 플래시 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템을 제어하는 방법에 있어서,
    서든 파워 오프가 발생하면 제1 타임아웃을 카운트하되, 상기 제1 타임아웃은 상기 서든 파워 오프가 발생한 시점부터, 상기 메모리 시스템이 내부 전력의 공급을 중단시키는 시점까지의 시간보다 짧은 시간으로 설정되고,
    상기 제1 타임아웃이 만료되면 상기 제1 플래시 메모리 장치를 리셋시키고,
    상기 제1 플래시 메모리 장치의 리셋이 완료된 이후, 그리고 상기 메모리 시스템이 내부 전력의 공급을 중단시키는 시점 전에, 상기 제1 플래시 메모리 장치에 데이터를 덤프하는 것을 포함하는 메모리 시스템의 제어 방법.
  2. 제1 항에 있어서,
    상기 제1 플래시 메모리 장치에서 리드 오퍼레이션이 수행되는데 허용되는 최대 시간은 제1 시간이고, 프로그램 오퍼레이션이 수행되는데 허용되는 최대 시간은 제2 시간이고,
    상기 제1 타임아웃은, 상기 제1 시간 및 상기 제2 시간 중 상대적으로 긴 시간 이상으로 설정되는 메모리 시스템의 제어 방법.
  3. 제2 항에 있어서,
    상기 제1 플래시 메모리 장치에서 이레이즈 오퍼레이션이 수행되는데 허용되는 최대 시간이 제3 시간이고,
    상기 제1 타임아웃은 상기 제3 시간보다 짧게 설정되는 메모리 시스템의 제어 방법.
  4. 제1 항에 있어서,
    상기 제1 타임아웃이 카운트되는 동안, 상기 제1 플래시 메모리 장치에서는 제1 오퍼레이션이 수행되고,
    상기 제1 오퍼레이션은 상기 제1 타임아웃이 만료될 때까지 수행 완료되지 못하는 메모리 시스템의 제어 방법.
  5. 제4 항에 있어서,
    상기 제1 오퍼레이션은 이레이즈 오퍼레이션을 포함하는 메모리 시스템의 제어 방법.
  6. 제1 항에 있어서,
    상기 메모리 시스템은 제2 플래시 메모리 장치를 더 포함하고,
    상기 제1 플래시 메모리 장치에 상기 데이터를 덤프하면서 제2 타임아웃을 카운트하고, 상기 제2 타임아웃이 만료될 때까지 상기 제1 플래시 메모리 장치에 상기 데이터가 덤프되지 못하면, 상기 제2 플래시 메모리 장치에 상기 데이터를 덤프하는 것을 더 포함하는 메모리 시스템의 제어 방법.
  7. 제6 항에 있어서,
    상기 제2 타임아웃은 상기 제1 플래시 메모리 장치 및 상기 제2 플래시 메모리 장치에서 프로그램 오퍼레이션이 수행되는데 필요한 시간의 평균값을 고려하여 설정되는 메모리 시스템의 제어 방법.
  8. 제1 항에 있어서,
    상기 메모리 컨트롤러는 제1 플래시 메모리 장치에서 수행될 오퍼레이션이 큐잉(queuing)되어 있는 큐(queue)를 포함하고,
    서든 파워 오프가 발생하면 상기 제1 타임아웃을 카운트하면서 상기 큐에 큐잉되어 있는 상기 오퍼레이션을 취소하는 것을 더 포함하는 메모리 시스템의 제어 방법.
  9. 서든 파워 오프(sudden power off) 발생 시 다수의 플래시 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템을 제어하는 방법에 있어서,
    서든 파워 오프가 발생하면 제1 타임아웃을 카운트하되, 상기 제1 타임아웃은 상기 서든 파워 오프가 발생한 시점부터, 상기 메모리 시스템이 내부 전력의 공급을 중단시키는 시점까지의 시간보다 짧은 시간으로 설정되고,
    상기 제1 타임아웃이 만료되면 다수의 상기 플래시 메모리 장치 중 오퍼레이션이 수행 중인 일부 상기 플래시 메모리 장치를 리셋시키고,
    상기 플래시 메모리 장치의 리셋이 완료된 이후, 그리고 상기 메모리 시스템이 내부 전력의 공급을 중단시키는 시점 전에, 상기 플래시 메모리 장치 중 적어도 하나 이상에 데이터를 덤프하는 것을 포함하는 메모리 시스템의 제어 방법.
  10. 제9 항에 있어서,
    상기 일부 플래시 메모리 장치에서 수행중인 오퍼레이션은 이레이즈 오퍼레이션을 포함하는 메모리 시스템의 제어 방법.
KR1020120002524A 2012-01-09 2012-01-09 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법 KR101878200B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120002524A KR101878200B1 (ko) 2012-01-09 2012-01-09 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법
US13/737,308 US9355025B2 (en) 2012-01-09 2013-01-09 Method of controlling memory system in the event of sudden power off

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120002524A KR101878200B1 (ko) 2012-01-09 2012-01-09 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법

Publications (2)

Publication Number Publication Date
KR20130081508A KR20130081508A (ko) 2013-07-17
KR101878200B1 true KR101878200B1 (ko) 2018-07-16

Family

ID=48744765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120002524A KR101878200B1 (ko) 2012-01-09 2012-01-09 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법

Country Status (2)

Country Link
US (1) US9355025B2 (ko)
KR (1) KR101878200B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673551B1 (ko) * 2004-11-03 2007-01-24 (주) 컴파스 시스템 멀티 소켓 푸시기
US11461226B2 (en) 2019-12-23 2022-10-04 SK Hynix Inc. Storage device including memory controller

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101491277B1 (ko) 2013-07-11 2015-02-06 현대자동차주식회사 차량용 센터 에어백
KR102359979B1 (ko) 2015-11-16 2022-02-08 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
KR102224564B1 (ko) * 2017-03-29 2021-03-09 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20220043302A (ko) * 2020-09-29 2022-04-05 삼성전자주식회사 스토리지 장치의 리셋 방법 및 이를 수행하는 스토리지 장치
US20220300179A1 (en) * 2021-03-17 2022-09-22 Micron Technology, Inc. Host recovery for a stuck condition

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282686A1 (en) * 2005-06-09 2006-12-14 Bahali Sumanta K System and method for managing power usage of a data processing system subsystem
US20090049222A1 (en) * 2004-03-17 2009-02-19 Super Talent Electronics, Inc. PCI Express-Compatible Controller And Interface For Flash Memory
US20110058440A1 (en) * 2009-09-09 2011-03-10 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US20110113184A1 (en) * 2009-11-06 2011-05-12 Phison Electronics Corp. Data backup method for a flash memory and controller and storage system using the same
US20110185145A1 (en) * 2010-01-27 2011-07-28 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100528526B1 (ko) 2002-12-27 2005-11-15 매그나칩 반도체 유한회사 오동작 방지회로
JP4060245B2 (ja) 2003-06-30 2008-03-12 シャープ株式会社 メモリ管理装置およびこれを備えたicカード
US7610445B1 (en) * 2005-07-18 2009-10-27 Palm, Inc. System and method for improving data integrity and memory performance using non-volatile media
TWI347517B (en) * 2007-08-30 2011-08-21 Htc Corp Mobile device and power control method thereof
US8443133B2 (en) 2008-02-29 2013-05-14 Kabushiki Kaisha Toshiba Memory system storing management information and method of controlling same
KR20100027441A (ko) 2008-09-02 2010-03-11 주식회사 엠트론스토리지테크놀로지 전원축전장치가 구비된 에스에스디와 그 에스에스디를 이용한 데이터 보존 방법
WO2012082792A2 (en) * 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049222A1 (en) * 2004-03-17 2009-02-19 Super Talent Electronics, Inc. PCI Express-Compatible Controller And Interface For Flash Memory
US20060282686A1 (en) * 2005-06-09 2006-12-14 Bahali Sumanta K System and method for managing power usage of a data processing system subsystem
US20110058440A1 (en) * 2009-09-09 2011-03-10 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US20110060927A1 (en) * 2009-09-09 2011-03-10 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US20110113184A1 (en) * 2009-11-06 2011-05-12 Phison Electronics Corp. Data backup method for a flash memory and controller and storage system using the same
US20110185145A1 (en) * 2010-01-27 2011-07-28 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673551B1 (ko) * 2004-11-03 2007-01-24 (주) 컴파스 시스템 멀티 소켓 푸시기
US11461226B2 (en) 2019-12-23 2022-10-04 SK Hynix Inc. Storage device including memory controller

Also Published As

Publication number Publication date
US20130179629A1 (en) 2013-07-11
US9355025B2 (en) 2016-05-31
KR20130081508A (ko) 2013-07-17

Similar Documents

Publication Publication Date Title
KR101878200B1 (ko) 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법
KR101702158B1 (ko) 인터럽트 가능한 낸드 플래시 메모리
TWI628542B (zh) 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
US9025390B2 (en) Nonvolatile semiconductor memory device which performs improved erase operation
US20130205085A1 (en) Program suspend/resume for memory
US8904082B1 (en) Operation based polling in a memory system
US8601182B2 (en) Data communication control device
JP5449152B2 (ja) フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作
US8914592B2 (en) Data storage apparatus with nonvolatile memories and method for controlling nonvolatile memories
JP2009054083A (ja) プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム
WO2011070526A1 (en) Flash memory controller
WO2007054929A2 (en) Device and method for monitoring operation of a flash memory
JP4829370B1 (ja) メモリ制御装置、メモリ装置および停止制御方法
KR100874955B1 (ko) 반도체 메모리 장치 및 그것의 베리파이 제어 방법
US10007449B2 (en) Memory management method, memory control circuit unit, and memory storage apparatus
US20150120986A1 (en) Delayed automation to maximize the utilization of read and write cache
US20150071003A1 (en) Data write control device and data storage device
CN111103960B (zh) 一种Nvme SSD及其复位方法和系统
CN110928827B (zh) 一种访问PCIe设备的优化的方法和设备
US8781444B2 (en) Communication apparatus and method
JP5073434B2 (ja) マイコン装置
US10387334B2 (en) Circuit and method for managing access to memory
US20110289259A1 (en) Memory system capable of enhancing writing protection and related method
US20120096471A1 (en) Apparatus and method for executing components based on thread pool
US20160124776A1 (en) Process for controlling a processing unit improving the management of the tasks to be executed, and corresponding processing unit

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant