KR20150133350A - 메모리 모듈 및 이의 동작 방법 - Google Patents

메모리 모듈 및 이의 동작 방법 Download PDF

Info

Publication number
KR20150133350A
KR20150133350A KR1020140059737A KR20140059737A KR20150133350A KR 20150133350 A KR20150133350 A KR 20150133350A KR 1020140059737 A KR1020140059737 A KR 1020140059737A KR 20140059737 A KR20140059737 A KR 20140059737A KR 20150133350 A KR20150133350 A KR 20150133350A
Authority
KR
South Korea
Prior art keywords
memory
data
volatile memory
power
host
Prior art date
Application number
KR1020140059737A
Other languages
English (en)
Inventor
송청기
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020140059737A priority Critical patent/KR20150133350A/ko
Priority to US14/489,064 priority patent/US9519544B2/en
Priority to CN201510038425.6A priority patent/CN105095018B/zh
Publication of KR20150133350A publication Critical patent/KR20150133350A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/141Battery and back-up supplies
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 모듈은, 비상 파워 공급부; 휘발성 메모리; 비휘발성 메모리; 및 파워 페일시에 상기 비상 파워 공급부에서 공급되는 파워를 이용해 상기 휘발성 메모리의 데이터가 상기 비휘발성 메모리로 백업되도록 제어하고, 파워 복구시에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터가 복구되도록 제어하는 제어부를 포함하고, 상기 휘발성 메모리의 데이터 복구 중 상기 파워 페일이 발생하는 경우에는, 상기 휘발성 메모리의 데이터를 백업하지 않을 수 있다.

Description

메모리 모듈 및 이의 동작 방법 {MEMORY MODULE AND OPERATION METHOD OF THE SAME}
본 발명은 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈에 관한 것이다.
휘발성 메모리(예, DRAM)의 메모리 셀은 스위치역할을 하는 트랜지스터와 전하(데이터)를 저장하는 캐패시터로 구성되어 있다. 메모리 셀 내의 캐패시터에 전하가 있는가 없는가에 따라, 즉 캐패시터의 단자 전압이 높은가 낮은가에 따라 데이터의 '하이'(논리 1), '로우'(논리 0)를 구분한다.
데이터의 보관은 캐패시터에 전하가 축적된 형태로 되어 있는 것이므로 원리적으로는 전력의 소비가 없다. 그러나 MOS트랜지스터의 PN결합 등에 의한 누설 전류가 있어서 캐패시터에 저장된 초기의 전하량이 소멸 되므로 데이터가 소실될 수 있다. 이를 방지하기 위해서 데이터를 잃어버리기 전에 메모리 셀 내의 데이터를 읽어서 그 읽어낸 정보에 맞추어 다시금 정상적인 전하량을 재충전해 주어야 한다. 이러한 동작은 주기적으로 반복되어야만 데이터의 기억이 유지되는데, 이러한 셀 전하의 재충전 과정을 리프레쉬(refresh) 동작이라 한다.
퍼스널 컴퓨터(PC), 워크 스테이션(work station), 서버 컴퓨터(server computer), 또는 통신 시스템 등과 같은 데이터 처리 시스템에서 사용되는 대부분의 메모리 모듈에 탑재된 메모리 칩들은 휘발성 메모리인데, 휘발성 메모리는 고속 동작이 가능하지만, 전원이 공급되지 않으면 리프레시 동작이 수행될 수 없으므로 데이터를 잃어버린다는 단점이 있다. 최근에는 이러한 단점을 보완하기 위해 NVDIMM(Non-Volatile Dual In Line Memory Module) 방식의 메모리 모듈이 등장하고 있다. NVDIMM은 메모리 모듈 내에 휘발성 메모리와 함께 비휘발성 메모리 및 비상용 파워를 탑재하고, 호스트의 파워가 불안정한 경우에 비상용 파워를 이용해 휘발성 메모리의 데이터를 비휘발성 메모리로 백업하는 동작을 통해 호스트 파워의 페일에 따른 데이터의 유실을 방지하는 메모리 모듈을 의미한다.
본 발명의 실시예들은, 백업 데이터의 복원 과정에서 파워 페일이 발생하는 경우에도 데이터의 유실을 방지할 수 있는 메모리 모듈을 제공할 수 있다.
본 발명의 일실시예에 따른 메모리 모듈은, 비상용 파워; 휘발성 메모리; 비휘발성 메모리; 및 파워 페일시에 상기 비상용 파워를 이용해 상기 휘발성 메모리의 데이터가 상기 비휘발성 메모리로 백업되도록 제어하고, 파워 복구시에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터가 복구되도록 제어하는 제어부를 포함하고, 상기 휘발성 메모리의 데이터 복구 중 상기 파워 페일이 발생하는 경우에는, 상기 휘발성 메모리의 데이터를 백업하지 않을 수 있다.
상기 휘발성 메모리의 데이터 복구 중 상기 파워 페일이 발생하는 경우에, 상기 비휘발성 메모리는 셧다운되거나, 상기 메모리 모듈 전체가 셧다운될 수 있다.
상기 메모리 모듈은 상기 호스트의 파워 페일을 감지하기 위한 파워 페일 감지부를 더 포함할 수 있으며, 상기 비상용 파워는 적어도 하나 이상의 캐패시터를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 모듈은, 비상용 파워; 휘발성 메모리; 비휘발성 메모리; 및 파워 페일시에 상기 비상용 파워를 이용해 상기 휘발성 메모리의 데이터가 상기 비휘발성 메모리로 백업되도록 제어하고, 파워 복구시에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터가 복구되도록 하는 제어부를 포함하고, 상기 휘발성 메모리의 데이터 복구가 완료된 이후에는 상기 비휘발성 메모리 내부의 다수의 블록이 순차적으로 이레이즈되고, 상기 휘발성 메모리 내부의 다수의 블록이 순차적으로 이레이즈되는 도중에 상기 파워 페일이 발생하면 이레이즈가 진행중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업할 수 있다.
상기 이레이즈 도중 파워 페일의 발생시에, 상기 휘발성 메모리 내부의 이레이즈가 완료되지 않은 블록들에서는 이미 저장된 데이터가 그대로 유지될 수 있다.
본 발명의 일실시예에 따른 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈의 동작 방법은, 호스트 파워 페일을 감지하는 단계; 상기 메모리 모듈이 사용하는 파워를 상기 호스트 파워에서 비상용 파워로 전환하는 단계; 상기 휘발성 메모리의 데이터를 상기 비휘발성 메모리로 백업하는 단계; 상기 호스트 파워가 복구되는 단계; 상기 비휘발성 메모리에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터를 복구하는 단계; 및 상기 복구하는 단계의 수행 도중에 상기 호스트 파워 페일이 감지되면 상기 메모리 모듈을 셧다운하는 단계를 포함할 수 있다.
상기 동작 방법은, 상기 복구하는 단계의 완료 이후에 상기 비휘발성 메모리 내부의 다수의 메모리 블록을 순차적으로 이레이즈하는 단계와, 상기 이레이즈하는 단계의 수행 도중에 상기 호스트 파워 페일이 감지되면 이레이즈가 진행 중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈의 동작 방법은, 호스트 파워 페일을 감지하는 단계; 상기 메모리 모듈이 사용하는 파워를 상기 호스트 파워에서 비상용 파워로 전환하는 단계; 상기 휘발성 메모리의 데이터를 상기 비휘발성 메모리로 백업하는 단계; 상기 호스트 파워가 복구되는 단계; 상기 비휘발성 메모리에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터를 복구하는 단계; 상기 바휘발성 메모리 내부의 다수의 메모리 블록을 순차적으로 이레이즈하는 단계; 및 상기 이레이즈하는 단계의 수행 도중에 상기 호스트 파워 페일이 감지되면 이레이즈가 진행 중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는 단계를 포함할 수 있다.
본 발명의 실시예들에 따르면, 백업 데이터의 복원 과정에서 파워 페일이 발생하더라도 데이터의 유실을 방지할 수 있다.
도 1은 비교예에 따른 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈(예, NVDIMM)의 동작을 나타낸 도면.
도 2는 본 발명의 일실시예에 따른 메모리 모듈(200)의 구성도.
도 3은 본 발명의 일실시예에 따른 메모리 모듈(200)의 동작을 도시한 도면.
도 4는 도 3의 S360~S362의 과정에서 비휘발성 메모리(240) 내부의 메모리 블록들에 저장되는 데이터를 도시한 도면.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
도 1은 비교예에 따른 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈(예, NVDIMM)의 동작을 나타낸 도면이다.
도 1을 참조하면, 기본적으로 메모리 모듈은 노멀 동작을 수행할 수 있다(S100). 노멀 동작이란 메모리 모듈이 호스트(host)의 요청에 따라 리드 및 라이트 동작을 수행하는 것을 의미할 수 있다.
메모리 모듈의 노멀 동작 중에 호스트 파워의 페일이 감지(S101)되는 경우에 메모리 모듈은 백업을 위한 동작을 시작할 수 있다. 여기서 호스트 파워의 페일이라 함은 메모리 모듈이 안정적으로 동작하는 것이 힘들 정도로 호스트로부터 공급되는 파워가 불안정해지는 것을 의미할 수 있다.
호스트 파워의 페일이 감지된 이후에, 메모리 모듈은 자신이 사용하는 파워를 불안정한 호스트 파워로부터 메모리 모듈에 내장된 비상용 파워로 전환할 수 있다(S103).
이제 메모리 모듈의 휘발성 메모리(예,DRAM)에 저장된 데이터가 메모리 모듈의 비휘발성 메모리(예, NAND 플래시)로 백업될 수 있다(S105, S107). 휘발성 메모리에서는 반복적으로 리드 동작이 수행되어 데이터가 리드되고, 비휘발성 메모리에서는 반복적으로 프로그램 동작이 수행되어 휘발성 메모리에서 리드된 데이터가 기록될 수 있다. 백업이 완료된 이후에, 메모리 모듈은 셧다운될 수 있다(S109).
이후에, 호스트 파워가 정상으로 회복된 이후에(HOST POWER RECOVER), 메모리 모듈이 리부트(reboot)될 수 있다(S111). 리부트 이후에 비휘발성 메모리에 백업되어 있는 데이터가 있는지, 즉 휘발성 메모리를 복구(restore)할 필요가 있는지,가 확인될 수 있다(S113). 복구의 필요가 없는 경우 메모리 모듈은 호스트의 지시에 따라 노멀 동작을 수행할 수 있다(S100).
복구의 필요가 있는 경우에, 비휘발성 메모리에 백업된 데이터를 이용해 휘발성 메모리의 데이터가 복구될 수 있다(S115, S117). 비휘발성 메모리에서는 반복적으로 리드 동작이 수행되어 데이터가 리드되고, 휘발성 메모리에서는 반복적으로 라이트 동작이 수행되어 비휘발성 메모리에서 리드된 데이터가 기록될 수 있다.
복구가 완료된 이후에, 비휘발성 메모리가 이레이즈될 수 있다(S119, S121). 비휘발성 메모리 내부에는 다수의 메모리 블록이 존재하는데, 메모리 블록들이 순차적으로 이레이즈될 수 있다. 비휘발성 메모리를 이레이즈하는 것은 다음의 호스트 파워 페일 발생시에 백업을 가능하게 하기 위함일 수 있다. 비휘발성 메모리의 이레이즈 동작이 완료된 이후에, 메모리 모듈은 호스트의 지시에 따라 노멀 동작을 수행할 수 있다(S100).
도 1의 동작 방식에 따르면, 노멀 동작의 수행중에 호스트 파워의 페일이 발생하면, 백업 동작(S105, S107)이 수행되고, 이후에 호스트 파워가 정상으로 돌아온 이후에 복구(S111, S113, S115, S117) 및 이레이즈(S119, S121) 동작이 수행된다. 그런데, 만약 복구 동작(S111, S113, S115, S117)의 수행 도중에 다시 호스트 파워의 페일이 발생하는 경우에도 다시 도 1에 도시된 단계(S101) 이후의 일련의 백업 과정을 되풀이한다면, 메모리 모듈은 모든 데이터를 유실하는 위험에 처하게 된다. 휘발성 메모리의 데이터가 아직 복원 완료되지도 않았는데, 불완전한 데이터를 비휘발성 메모리에 백업하게 된다면 오히려 비휘발성 메모리의 백업 데이터를 망치게 되기 때문이다. 마찬가지로, 이레이즈 동작(S119, S121)의 수행 도중에 호스트 파워의 페일이 발생하는 경우에도 비휘발성 메모리의 이레이즈 동작이 불안정해질 수 있으며 데이터가 왜곡되거나 백업이 불가능해질 수 있다.
이하에서는, 복구 및 이레이즈 동작 중에 호스트 파워의 페일이 발생하더라도 데이터를 유실하지 않는 메모리 모듈 및 이의 동작 방법에 대해 알아보기로 한다.
도 2는 본 발명의 일실시예에 따른 메모리 모듈(200)의 구성도이다.
도 2를 참조하면, 메모리 모듈(200)은 호스트의 파워가 불안정한 경우에 휘발성 메모리들(칩들)(220_0~220_7)에 저장된 데이터를 비휘발성 메모리(칩)(240)으로 백업하는 동작을 통해 파워 페일시에도 데이터의 유실을 방지할 수 있다. 설명의 편의상 메모리 모듈(200)과 데이터(DATA)를 송/수신하며 메모리 모듈의 제어를 위한 커맨드(CMD), 어드레스(ADD), 및 클럭(CLK) 등을 제공하는 호스트 상의 메모리 콘트롤러(2)를 함께 도시한다.
도 2를 참조하면, 메모리 모듈(200)은 모듈 제어부(210), 휘발성 메모리 들(220_0~220_7), 비휘발성 메모리 콘트롤러(230), 비휘발성 메모리(240), 비상 파워 공급부(250), 및 파워 페일 감지부(260)를 포함할 수 있다. 여기서, 휘발성 메모리들(220_0~220_7) 각각은 DRAM일 수 있으며, 비휘발성 메모리(140)는 FLASH 메모리일 수 있다. 그러나, 휘발성 메모리들(220_0~220_7)이 DRAM이 아닌 다른 종류의 휘발성 메모리일 수도 있으며, 비휘발성 메모리(240)도 FLASH 메모리가 아닌 다른 종류의 비휘발성 메모리일 수 있다.
호스트의 파워(HOST_VDD, HOST_VSS)가 정상인 경우에 모듈 제어부(210)는 메모리 콘트롤러(2)로부터 제공되는 커맨드(CMD), 어드레스(ADD) 및 클럭(CLK)을 버퍼링하여 휘발성 메모리들(220_0~220_7)로 제공할 수 있다. 또한, 모듈 제어부(210)는 메모리 콘트롤러(2)로부터 제공되는 데이터(DATA)를 버퍼링하여 휘발성 메모리들(220_0~120_7)로 제공하거나, 휘발성 메모리들(220_0~220_7)로부터 제공되는 데이터(DATA)를 버퍼링하여 메모리 콘트롤러(2)로 전송할 수 있다. 즉, 호스트의 파워(HOST_VDD, HOST_VSS)가 정상인 경우에 모듈 제어부(210)는 휘발성 메모리들(220_0~220_7)과 메모리 콘트롤러(2) 간의 통신을 중계하는 역할을 수행할 수 있다.
파워 페일 감지부(260)에 의해 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 감지되면, 즉 호스트로부터 공급되는 전원전압(HOST_VDD)과 접지전압(HOST_VSS)의 불안정함이 감지되면, 파워 페일 감지부(260)는 메모리 모듈(200)로의 호스트 파워(HOST_VDD, HOST_VSS)의 공급을 차단하고 비상 파워 공급부(250)의 파워를 이용해 메모리 모듈(200)이 동작하도록 제어할 수 있다. 비상 파워 공급부(250)는 하나 이상의 캐패시터들, 예를 들어 용량이 큰 슈퍼 캡(super cap), 을 이용하여 구현될 수 있으며, 휘발성 메모리들(220_0~220_7)의 데이터가 비휘발성 메모리(240)로 백업되는 동안에 비상 전력을 공급할 수 있다. 한편, 파워 페일 감지부(260)는 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 감지되면 이를 모듈 제어부(210)에게 통보할 수 있다.
호스트 파워(HOST_VDD, HOST_VSS)의 페일이 통보되면, 모듈 제어부(210)는 휘발성 메모리들(220_0~220_7)에 저장된 데이터가 비휘발성 메모리(240)로 백업될 수 있도록 제어할 수 있다. 상세하게, 모듈 제어부(210)는 자체적으로 생성한 커맨드(CMD), 어드레스(ADD) 및 클럭(CLK)을 휘발성 메모리들(220_0~220_7)에 인가해 휘발성 메모리들(220_0~220_7)에 저장된 데이터가 리드되도록 제어하고, 휘발성 메모리들(220_0~220_7)로부터 리드된 데이터가 비휘발성 메모리(240)로 프로그램(라이트)될 수 있도록 비휘발성 메모리 콘트롤러(230)를 제어할 수 있다. 비휘발성 메모리 콘트롤러2130)는 모듈 제어부(210)로부터 전달받은 데이터(DATA), 즉 휘발성 메모리들(220_0~220_7)로부터 리드된 데이터,가 비휘발성 메모리(240)에 프로그램될 수 있도록 비휘발성 메모리(240)를 제어할 수 있다.
호스트 파워(HOST_VDD, HOST_VSS)의 페일시에 비휘발성 메모리(240)에 백업된 휘발성 메모리들(220_0~220_7)의 데이터는, 모듈 제어부(210)와 비휘발성 메모리 콘트롤러(230)의 제어에 따라 호스트 파워(HOST_VDD, HOST_VSS)가 정상적으로 되돌아온 이후에 다시 휘발성 메모리들(220_0~220_7)로 전송되어 복구될 수 있다. 또한, 복구가 완료된 이후에는 모듈 제어부(210)와 비휘발성 메모리 콘트롤러(230)의 제어에 따라 비휘발성 메모리(240) 내부에 저장된 백업 데이터가 이레이즈(erase)될 수 있다.
도 2에서는 메모리 모듈(200)에 휘발성 메모리(220_0~220_7)가 8개 구비되고, 비휘발성 메모리(240)가 1개 구비된 것을 예시했는데, 이는 예시일 뿐이며, 메모리 모듈(200)에 구비되는 휘발성 메모리 및 비휘발성 메모리의 개수는 1개 이상의 임의의 개수가 될 수 있다. 또한, 도 2에서는 휘발성 메모리(220_0~220_7)의 데이터가 모듈 제어부(210)와 비휘발성 메모리 콘트롤러(230)를 통해 비휘발성 메모리(240)로 전달되는 것을 예시하였으나, 휘발성 메모리들(220_0~220_7)과 비휘발성 메모리(240)의 데이터 전송 프로토콜을 호환 가능하게 설계하는 경우에 휘발성 메모리들(220_0~220_7)과 비휘발성 메모리(240) 간에 직접적으로 데이터가 전송될 수도 있다. 또한, 도 2에 도시된 구성들은 기능적인 분류를 의미하며 물리적인 구별을 의미하는 것은 아니다. 예를 들어, 도 2에 도시된 구성들 각각이 하나의 반도체 칩을 나타낼 수도 있지만, 도 2에 도시된 2 이상의 구성이 하나의 물리적인 반도체 칩에 형성될 수도 있다.
도 3은 본 발명의 일실시예에 따른 메모리 모듈(200)의 동작을 도시한 도면이다.
도 3을 참조하면, 기본적으로 메모리 모듈(200)은 노멀 동작을 수행할 수 있다(S300). 노멀 동작이란 메모리 모듈(200)이 호스트(2)의 요청에 따라 리드 및 라이트 등의 동작을 수행하는 것을 의미할 수 있다.
메모리 모듈(200)의 노멀 동작 중에 파워 페일 감지부(260)에 의해 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 감지(S301)되는 경우에 메모리 모듈(200)은 백업을 위한 동작을 시작할 수 있다. 여기서 호스트 파워(HOST_VDD, HOST_VSS)의 페일이라 함은 메모리 모듈(200)이 안정적으로 동작하는 것이 힘들 정도로 호스트(2)로부터 공급되는 파워(HOST_VDD, HOST_VSS)가 불안정해지는 것을 의미할 수 있다.
호스트 파워(HOST_VDD, HOST_VSS)의 페일이 감지된 이후에, 메모리 모듈(200)은 자신이 사용하는 파워를 불안정한 호스트 파워(HOST_VDD, HOST_VSS)로부터 메모리 모듈(200)에 내장된 비상용 파워, 즉 비상 파워 공급부(250)의 파워, 로 전환할 수 있다(S303).
이제 메모리 모듈(200)의 휘발성 메모리들(220_0~220_7)에 저장된 데이터가 비휘발성 메모리(240)로 백업될 수 있다(S305, S307). 휘발성 메모리들(220_0~220_7)에서는 반복적으로 리드 동작이 수행되어 데이터가 리드되고, 비휘발성 메모리(240)에서는 반복적으로 프로그램 동작이 수행되어 휘발성 메모리들(220_0~220_7)에서 리드된 데이터가 기록될 수 있다. 백업이 완료된 이후에, 메모리 모듈(200)은 셧다운될 수 있다(S309).
이후에, 호스트 파워(HOST_VDD, HOST_VSS)가 정상으로 회복된 이후에(HOST POWER RECOVER), 메모리 모듈(200)이 리부트(reboot)될 수 있다(S311). 리부트 이후에 비휘발성 메모리(240)에 백업되어 있는 데이터가 있는지, 즉 휘발성 메모리를 복구(restore)할 필요가 있는지,가 확인될 수 있다(S313). 복구의 필요가 없는 경우 메모리 모듈(200)은 호스트(2)의 지시에 따라 노멀 동작을 수행할 수 있다(S300).
복구의 필요가 있는 경우에, 비휘발성 메모리(240)에 백업된 데이터를 이용해 휘발성 메모리들(220_0~220_7)의 데이터가 복구될 수 있다(S315, S317). 비휘발성 메모리(240)에서는 반복적으로 리드 동작이 수행되어 데이터가 리드되고, 휘발성 메모리들(220_0~220_7)에서는 반복적으로 라이트 동작이 수행되어 비휘발성 메모리(240)에서 리드된 데이터가 기록될 수 있다.
복구가 완료된 이후에, 비휘발성 메모리(240)가 이레이즈될 수 있다(S319, S321). 비휘발성 메모리(240) 내부에는 다수의 메모리 블록이 존재하는데, 메모리 블록들이 순차적으로 이레이즈될 수 있다. 비휘발성 메모리(240)를 이레이즈하는 것은 다음의 호스트 파워(HOST_VDD, HOST_VSS) 페일 발생시에 백업을 가능하게 하기 위함일 수 있다. 비휘발성 메모리(240)의 이레이즈 동작이 완료된 이후에, 메모리 모듈(200)은 호스트(2)의 지시에 따라 노멀 동작을 수행할 수 있다(S100).
메모리 모듈(200)의 리부팅 이후로부터 복구가 완료되기 이전의 구간(S311~S317) 동안에, 파워 페일 감지부(260)에 의해 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 감지되는 경우에(S350), 메모리 모듈(200)은 백업 동작을 수행하지 않고 바로 셧다운(shut down)될 수 있다(S351). 이 경우에는 비휘발성 메모리(240)에 휘발성 메모리들(220_0~220_7)의 복구를 위한 올바른 백업 데이터가 이미 저장되어 있으므로 더 이상의 백업 동작을 수행할 필요가 없기 때문이다. 오히려 이 경우에 백업 동작을 수행하게 된다면 비휘발성 메모리(240)에 저장되어 있는 백업 데이터를 망칠(ruin or destroy) 수 있다. 여기서, 셧다운의 목적은 비휘발성 메모리(240)에 저장되어 있는 백업 데이터의 보존에 있으므로, 메모리 모듈(200) 전체가 셧다운될 수도 있지만, 메모리 모듈(200)에서 최소한 비휘발성 메모리(240)가 셧다운되면 된다.
비휘발성 메모리(240)가 이레이즈되는 동안에(S319~S321), 파워 페일 감지부(260)에 의해 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 감지되는 경우에(S360), 메모리 모듈(200)은 자신이 사용하는 파워를 불안정한 호스트 파워에서 비상용 파워, 즉 비상 전력 공급부(250)의 파워, 로 전환할 수 있다(S361). 그리고, 이레이즈 동작이 수행중이었던 메모리 블록까지만 이레이즈 동작을 수행하고(S362), 이레이즈된 메모리 블록들에만 휘발성 메모리들의 데이터를 백업할 수 있다(S363). 그리고, 백업이 완료된 이후에는 메모리 모듈(200)이 셧다운될 수 있다(S364).
도 4는 도 3의 S360~S364의 과정에서 비휘발성 메모리(240) 내부의 메모리 블록들에 저장되는 데이터를 도시한 도면이다. 도 4의 (a)를 참조하면, 비휘발성 메모리(240) 내부의 메모리 블록들에 휘발성 메모리들(220_0~220_7)에 대응하는 백업 데이터가 저장되어 있는 것을 확인할 수 있다. 도면의 사각형들은 메모리 블록들을 나타내며, 220_0 1/4 - 220_0 4/4는 4개의 메모리 블록에 나뉘어 저장된 휘발성 메모리(220_0)의 백업 데이터를 나타낸다. 마찬가지로 220_3 1/4 - 220_3 4/4는 4개의 메모리 블록에 나뉘어 저장된 휘발성 메모리(220_3)의 백업 데이터를 나타낸다. 도 4의 (b)는 6개의 메모리 블록에 대한 이레이즈 동작이 수행된 것을 나타낸다. 이 상태에서 호스트 파워의 페일이 검출되면, 비휘발성 메모리(240)에서 더 이상의 이레이즈 동작이 수행되지 않고, 이미 이레이즈 동작이 수행된 6개의 메모리 블록들에 다시 휘발성 메모리들(220_0, 220_1)의 데이터가 백업된다. 도 4의 (c)를 확인하면, 이레이즈된 메모리 블록들에 다시 휘발성 메모리들(220_0, 220_1)의 데이터가 백업되어 비휘발성 메모리(240)에는 다시 전체 휘발성 메모리들(220_0~220_7)에 대응하는 완전한 백업 데이터가 저장되는 것을 확인할 수 있다. 도 4의 (c)의 빗금으로 표시된 블록들이 바로 동작(S363)에 의해 다시 백업된 블록들을 나타낸다.
본 발명의 실시예들에 따르면, 휘발성 메모리들(220_0~220_7)의 데이터 복구 중에 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 발생하거나, 비휘발성 메모리(240)의 이레이즈 동작 중에 호스트 파워(HOST_VDD, HOST_VSS)의 페일이 발생하더라도, 이후에 완전한 복구가 가능하도록 비휘발성 메모리(240)의 데이터가 보존될 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의야여야 한다. 또한, 본 발명의 기술분야의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
200: 메모리 모듈 210: 모듈 제어부
220_0~220_7: 휘발성 메모리들
230: 비휘발성 메모리 콘트롤러 240: 비휘발성 메모리
250: 비상 전력 공급부 260: 파워 페일 감지부

Claims (16)

  1. 비상 파워 공급부;
    휘발성 메모리;
    비휘발성 메모리; 및
    파워 페일시에 상기 비상 파워 공급부에서 공급되는 파워를 이용해 상기 휘발성 메모리의 데이터가 상기 비휘발성 메모리로 백업되도록 제어하고, 파워 복구시에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터가 복구되도록 제어하는 제어부를 포함하고,
    상기 휘발성 메모리의 데이터 복구 중 상기 파워 페일이 발생하는 경우에는, 상기 휘발성 메모리의 데이터를 백업하지 않는
    메모리 모듈.
  2. 제 1항에 있어서,
    상기 휘발성 메모리의 데이터 복구 중 상기 파워 페일이 발생하는 경우에, 상기 비휘발성 메모리는 셧다운되는
    메모리 모듈.
  3. 제 1항에 있어서,
    상기 휘발성 메모리의 데이터 복구 중 상기 파워 페일이 발생하는 경우에, 상기 메모리 모듈은 셧다운되는
    메모리 모듈.
  4. 제 1항에 있어서,
    상기 파워 페일은 상기 메모리 모듈의 호스트의 파워 페일인
    메모리 모듈.
  5. 제 4항에 있어서,
    상기 호스트의 파워 페일을 감지하기 위한 파워 페일 감지부
    를 더 포함하는 메모리 모듈.
  6. 제 1항에 있어서,
    상기 비상 파워 공급부는 적어도 하나 이상의 캐패시터를 포함하는
    메모리 모듈.
  7. 제 1항에 있어서,
    상기 휘발성 메모리의 데이터 복구가 완료된 이후에는 상기 비휘발성 메모리 내부의 다수의 블록이 순차적으로 이레이즈되는
    메모리 모듈.
  8. 제 7항에 있어서,
    상기 휘발성 메모리 내부의 다수의 블록이 순차적으로 이레이즈되는 도중에, 상기 파워 페일이 발생하면 이레이즈가 진행중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는
    메모리 모듈.
  9. 비상 파워 공급부;
    휘발성 메모리;
    비휘발성 메모리; 및
    파워 페일시에 상기 비상 파워 공급부의 파워를 이용해 상기 휘발성 메모리의 데이터가 상기 비휘발성 메모리로 백업되도록 제어하고, 파워 복구시에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터가 복구되도록 하는 제어부를 포함하고,
    상기 휘발성 메모리의 데이터 복구가 완료된 이후에는 상기 비휘발성 메모리 내부의 다수의 블록이 순차적으로 이레이즈되고,
    상기 휘발성 메모리 내부의 다수의 블록이 순차적으로 이레이즈되는 도중에 상기 파워 페일이 발생하면 이레이즈가 진행중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는
    메모리 모듈.
  10. 제 9항에 있어서,
    상기 이레이즈 도중 파워 페일의 발생시에, 상기 휘발성 메모리 내부의 이레이즈가 완료되지 않은 블록들에서는 이미 저장된 데이터가 그대로 유지되는
    메모리 모듈.
  11. 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈의 동작 방법에 있어서,
    호스트 파워 페일을 감지하는 단계;
    상기 메모리 모듈이 사용하는 파워를 상기 호스트 파워에서 비상용 파워로 전환하는 단계;
    상기 휘발성 메모리의 데이터를 상기 비휘발성 메모리로 백업하는 단계;
    상기 호스트 파워가 복구되는 단계;
    상기 비휘발성 메모리에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터를 복구하는 단계; 및
    상기 복구하는 단계의 수행 도중에 상기 호스트 파워 페일이 감지되면 상기 메모리 모듈을 셧다운하는 단계
    를 포함하는 메모리 모듈의 동작 방법.
  12. 제 11항에 있어서,
    상기 복구하는 단계의 완료 이후에 상기 비휘발성 메모리 내부의 다수의 메모리 블록을 순차적으로 이레이즈하는 단계를 더 포함하는
    메모리 모듈의 동작 방법.
  13. 제 12항에 있어서,
    상기 이레이즈하는 단계의 수행 도중에 상기 호스트 파워 페일이 감지되면 이레이즈가 진행 중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는 단계를 더 포함하는
    메모리 모듈의 동작 방법.
  14. 제 13항에 있어서,
    상기 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는 단계에서, 이레이즈가 완료되지 않은 블록들에서는 이미 저장된 데이터가 그대로 유지되는
    메모리 모듈의 동작 방법.
  15. 휘발성 메모리와 비휘발성 메모리를 포함하는 메모리 모듈의 동작 방법에 있어서,
    호스트 파워 페일을 감지하는 단계;
    상기 메모리 모듈이 사용하는 파워를 상기 호스트 파워에서 비상용 파워로 전환하는 단계;
    상기 휘발성 메모리의 데이터를 상기 비휘발성 메모리로 백업하는 단계;
    상기 호스트 파워가 복구되는 단계;
    상기 비휘발성 메모리에 백업된 데이터를 이용해 상기 휘발성 메모리의 데이터를 복구하는 단계;
    상기 바휘발성 메모리 내부의 다수의 메모리 블록을 순차적으로 이레이즈하는 단계; 및
    상기 이레이즈하는 단계의 수행 도중에 상기 호스트 파워 페일이 감지되면 이레이즈가 진행 중이었던 블록까지 이레이즈 동작을 완료하고, 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는 단계
    를 포함하는 메모리 모듈의 동작 방법.
  16. 제 15항에 있어서,
    상기 이레이즈가 완료된 블록들에 상기 휘발성 메모리의 데이터를 백업하는 단계에서, 이레이즈가 완료되지 않은 블록들에서는 이미 저장된 데이터가 그대로 유지되는
    메모리 모듈의 동작 방법.
KR1020140059737A 2014-05-19 2014-05-19 메모리 모듈 및 이의 동작 방법 KR20150133350A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140059737A KR20150133350A (ko) 2014-05-19 2014-05-19 메모리 모듈 및 이의 동작 방법
US14/489,064 US9519544B2 (en) 2014-05-19 2014-09-17 Memory module and operation method thereof
CN201510038425.6A CN105095018B (zh) 2014-05-19 2015-01-26 存储模块及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140059737A KR20150133350A (ko) 2014-05-19 2014-05-19 메모리 모듈 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20150133350A true KR20150133350A (ko) 2015-11-30

Family

ID=54538608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140059737A KR20150133350A (ko) 2014-05-19 2014-05-19 메모리 모듈 및 이의 동작 방법

Country Status (3)

Country Link
US (1) US9519544B2 (ko)
KR (1) KR20150133350A (ko)
CN (1) CN105095018B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170111349A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 비휘발성 듀얼 인 라인 메모리 시스템의 파워 다운 인터럽트
KR20170111354A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 비휘발성 듀얼 인 라인 메모리 시스템, 메모리 모듈, 및 메모리 모듈의 동작 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200046820A (ko) * 2018-10-25 2020-05-07 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301833B1 (en) * 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8325554B2 (en) * 2008-07-10 2012-12-04 Sanmina-Sci Corporation Battery-less cache memory module with integrated backup
US9251005B2 (en) 2010-12-20 2016-02-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Power isolation for memory backup
CN102841821A (zh) * 2011-06-21 2012-12-26 Lsi公司 存储器备份期间的数据操作
CN102841820A (zh) * 2011-06-21 2012-12-26 Lsi公司 电源故障的数据操作

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170111349A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 비휘발성 듀얼 인 라인 메모리 시스템의 파워 다운 인터럽트
KR20170111354A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 비휘발성 듀얼 인 라인 메모리 시스템, 메모리 모듈, 및 메모리 모듈의 동작 방법

Also Published As

Publication number Publication date
CN105095018B (zh) 2020-08-11
US9519544B2 (en) 2016-12-13
US20150331769A1 (en) 2015-11-19
CN105095018A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
EP2248026B1 (en) Memory system
US8078908B2 (en) Data storage device and method
JP2010152514A (ja) メモリシステム
US20160179625A1 (en) Data storage device and operating method thereof
JP4570891B2 (ja) 記憶装置
US20150302913A1 (en) Volatile memory device, memory module including the same, and method of operating memory module
US9436598B2 (en) Semiconductor device with nonvolatile memory prevented from malfunctioning caused by momentary power interruption
CN103853566B (zh) Bios更新系统及方法
US20170075610A1 (en) Solid state memory system with power management mechanism and method of operation thereof
US10649840B2 (en) Data storage device performing recovery operation after sudden power-off and operating method thereof
US10303386B2 (en) Data processing device and method for saving power in a data processing device
WO2015081129A2 (en) Hard power fail architecture
US10073744B2 (en) Power-down interrupt of nonvolatile dual in-line memory system
KR20160075070A (ko) 반도체 메모리 장치
KR20130051564A (ko) 메모리 모듈, 이를 포함하는 보드 어셈블리, 이를 포함하는 메모리 시스템, 및 상기 메모리 시스템의 동작 방법
KR20150133350A (ko) 메모리 모듈 및 이의 동작 방법
US11487343B2 (en) Semiconductor storing apparatus and flash memory operation method
US8711606B2 (en) Data security for dynamic random access memory using body bias to clear data at power-up
US8924774B2 (en) Semiconductor memory device and method for operating the same
JP7228657B2 (ja) 半導体記憶装置
CN111813329A (zh) 数据存储装置及其操作方法
CN111052238B (zh) 断电响应
CN108255637B (zh) 数据存储装置及其操作方法
TWI328158B (ko)
JP4544167B2 (ja) メモリコントローラおよびフラッシュメモリシステム

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination