KR20160133283A - 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치 - Google Patents

비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치 Download PDF

Info

Publication number
KR20160133283A
KR20160133283A KR1020150066201A KR20150066201A KR20160133283A KR 20160133283 A KR20160133283 A KR 20160133283A KR 1020150066201 A KR1020150066201 A KR 1020150066201A KR 20150066201 A KR20150066201 A KR 20150066201A KR 20160133283 A KR20160133283 A KR 20160133283A
Authority
KR
South Korea
Prior art keywords
electronic device
battery
lsb backup
storage device
backup operation
Prior art date
Application number
KR1020150066201A
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 KR1020150066201A priority Critical patent/KR20160133283A/ko
Priority to EP16169460.9A priority patent/EP3101538B1/en
Priority to US15/153,633 priority patent/US10318184B2/en
Publication of KR20160133283A publication Critical patent/KR20160133283A/ko

Links

Images

Classifications

    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • 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
    • 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

본 개시의 다양한 실시예는 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현하는 전자장치에 관한 것으로, 전자장치의 전원차단 가능성이 낮거나 거의 없다고 판단되는 경우 데이터의 소실을 방지할 수 있는 전원차단 대비 동작(예, LSB 백업 동작)을 중지할 수 있다. 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치를 운영하는 방법은 저장장치에 기능적으로 연결된 비휘발성 메모리 저장장치에 초기화 명령을 전송하고, 상기 비휘발성 메모리 저장장치에 포함된 저장장치 제어부에게 LSB 백업 동작 중지 명령 혹은 실행 명령을 전송하고, 상기 저장장치 제어부는 상기 명령에 대응하여 상기 LSB 백업 동작을 중지하거나 실행할 수 있다. 또한, 다른 실시 예가 가능하다.

Description

비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치{METHOD FOR OPERATING A NON VOLATILE MEMORY OF AN ELECTRONIC DEVICE AND THE ELECTRONIC DEVICE IMPLEMENTING THE SAME}
본 개시의 일 실시 예는 비휘발성 메모리 저장장치를 보다 효율적으로 운영하는 방법 및 이를 구현하는 전자장치에 관한 것이다.
최근 들어, 스마트폰, 태블릿 PC, 디지털 카메라, MP3 플레이어, 전자책 등과 같은 휴대용 전자장치의 이용이 급증하고 있다. 휴대용 전자장치는 기본적으로 배터리(battery)를 이용하여 동작할 수 있으며, 상기 배터리는 사용자에 의해 교체 가능한 교체형 배터리와 교체 불가능한 일체형 배터리로 구분될 수 있다. 여기서 교체형 배터리를 사용하는 휴대용 전자장치는 배터리가 방전되는 경우 여분의 완충 배터리로 손쉽게 교체할 수 있다. 이런 장점과 비교하여, 교체형 배터리 방식의 휴대용 전자장치는 배터리가 손쉽게 탈착되므로, 순간적으로 전원이 차단하는 상황이 발생할 수 있다. 이와 비교하여, 일체형 배터리를 사용하는 휴대용 전자장치는 배터리의 교체가 제한적으로, 순간적인 전원 차단 상황은 덜 발생할 수 있다.
전자장치를 사용하는데 있어서, 전자장치는 특정 상황에 의해 전원이 의도치 않게 꺼질 수 있다. 이로 인해, 전자장치는 임시적으로 기록되어 있던 데이터를 소실할 위험이 있다. 특히, 배터리를 교체할 수 있는 배터리 교체형 전자장치는 내장된 배터리가 전자장치로부터 갑작스럽게 분리되는 상황을 염두에 두어야 한다. 전자장치로부터 배터리가 갑자기 분리되어 전원이 꺼지는 경우 배터리 교체형 전자장치는 사용 중이던 특정 데이터를 소실할 수도 있다. 갑작스러운 전원차단으로 인한 데이터 소실에 대한 대비책은 작성중인 데이터가 저장장치의 외부 또는 내부, 어디에 위치하는지에 따라 담당하는 부분이 달라진다. 예컨대, 데이터가 저장장치의 외부에 있는 경우 전자장치는 제어부를 통해 데이터가 소실되는 문제를 대비할 수 있다. 여기서 제어부는 운영체제, 파일 시스템, CPU 또는 AP 등을 포함할 수 있다. 데이터가 저장장치의 내부에 있는 경우 전자장치는 저장장치의 내부에 있는 저장장치 제어부의 LSB 백업 동작을 통해 데이터가 소실되는 문제를 대비할 수 있다. 한편 제어부와 저장장치, 각각에 적용된 대비책은 독립적으로 동작하므로 중복되거나 과도한 대비 동작이 수행될 수 있다. 배터리가 갑자기 분리되어 전원이 차단되는 예시로써, 사용자에 의해 메모가 작성되는 중에 배터리가 전자장치로부터 분리되어 전원이 갑자기 차단되는 경우 배터리 교체형 전자장치는 작성되었거나 작성되고 있던 사용자 데이터를 일부 소실할 수도 있다. 이 경우 제어부는 시스템 운영에 관련된 데이터는 정상적으로 복원할 수 있어야 한다. 그리고 제어부는 저장장치에 정상적으로 기록된 것으로 인지되었던 데이터에 정상적으로 접근할 수 있어야 한다. 이와 같이 배터리 교체형 전자장치는 배터리 분리로 인해 갑작스럽게 전원이 꺼지는 상황에 대응하여 자체적으로 소실될 수 있는 데이터를 보호하는 대비책을 필요로 한다.
반면에 배터리를 교체할 수 없는 배터리 일체형 전자장치는 배터리가 갑작스럽게 분리되어 전원이 차단될 가능성이 배터리 교체형 전자장치보다 낮을 수 있다. 즉, 배터리 일체형 전자장치는 갑작스럽게 전자장치로부터 배터리가 분리되어 전원이 차단되는 상황에 대응되는 LSB 백업 동작을 수행하지 않거나 그 빈도를 낮출 수 있다. 예를 들어, 배터리 일체형 전자장치에 실장되어 있는 저장장치는 갑작스러운 전원차단을 대비하여 소실될 수 있는 데이터를 특정 저장공간에 임시적으로 저장하는 동작을 수행하지 않을 수 있다. 내부적으로 상기 대비 동작을 수행하지 않아도 되므로, 배터리 일체형 전자장치의 성능은 보다 향상될 수 있다.
본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치를 운영하는 방법은 저장장치에 기능적으로 연결된 비휘발성 메모리 저장장치에 초기화 명령을 전송하고, 상기 비휘발성 메모리 저장장치에 포함된 저장장치 제어부에게 LSB 백업 동작 중지 명령 혹은 실행 명령을 전송하고, 상기 저장장치 제어부는 상기 명령에 대응하여 상기 LSB 백업동작을 중지하거나 실행할 수 있다. 여기서 LSB 백업 동작은 임시적으로 저장되어 있는 데이터가 소실되지 않도록 상기 데이터를 특정 저장장치에 백업하는 동작일 수 있다. LSB 백업 동작의 수행을 중지하는 경우 전자장치의 성능은 보다 향상될 수 있다. 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치를 운영하는 방법은 LSB 백업 동작의 필요성 여부 판단에 따른 LSB 백업 동작을 수행 중지함에 따라, 전자장치의 성능을 향상시키는 것을 목적으로 한다.
본 개시의 다양한 실시 예에 따른 비휘발성 메모리 저장장치는 데이터의 소실을 방지할 수 있는 LSB 백업 모듈 및 LSB 백업동작의 수행을 제어하는 저장장치 제어부를 포함하는 비휘발성 메모리 저장장치; 상기 비휘발성 메모리 저장장치에 초기화 명령을 내리고, 상기 저장장치 제어부에 상기 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하는 프로세서; 를 포함할 수 있다.
본 개시의 다양한 실시 예에 따른 비휘발성 메모리 저장장치를 운영하는 방법에 있어서, 저장장치에 기능적으로 연결된 비휘발성 메모리 저장장치에 초기화 명령을 전송하고, 상기 비휘발성 메모리 저장장치에 포함된 저장장치 제어부에게 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하고, 상기 저장장치 제어부는 상기 명령에 대응하여 상기 LSB 백업동작을 중지하거나 실행하는 동작을 할 수 있다.
본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치는 LSB 백업 동작의 필요 여부를 판단하고, 상기 LSB 백업 동작의 필요성이 없거나 낮다고 판단하는 경우 비휘발성 메모리 저장장치를 통해 LSB 백업 동작을 중지할 수 있다. 구체적으로, 제어부는 비휘발성 메모리 저장장치에 포함된 저장장치 제어부에게 LSB 백업동작 중지 혹은 실행을 명령하고, 상기 저장장치 제어부는 상기 명령에 대응하여 상기 LSB 백업동작을 중지하거나 실행할 수 있다. 예를 들어, 배터리를 교체할 수 없는 배터리 일체형 전자장치는 배터리가 분리될 수 없으므로, 전원차단 가능성이 없거나 낮다고 판단할 수 있다. 즉, 배터리 일체형 전자장치는 전원차단에 대응되는 LSB 백업동작을 수행하지 않을 수 있다. 배터리 일체형 전자장치는 배터리를 교체할 수 있는 배터리 교체형 전자장치와 비교하여, 상기 전원차단에 대응되는 LSB 백업동작을 수행하지 않아도 되므로 전자장치의 성능이 보다 향상될 수 있다. 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치는 저장장치 제어부를 제어하여 LSB 백업동작을 중지하도록 하고, LSB 백업동작의 중지에 따른 전자장치의 성능을 보다 향상시킬 수 있다.
도 1은 본 개시의 다양한 실시예에 따른 전자장치의 블록도를 도시한다.
도 2는 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치에서 데이터를 저장하는 방법을 설명하기 위한 개요도이다.
도 3은 본 개시의 다양한 실시예에 따른 2비트 MLC(Multi-level cell) 타입의 경우 데이터가 저장되는 과정을 설명하기 위한 예시도이다.
도 4는 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치 기반의 LSB 백업 동작의 중지 및 실행 방법을 설명하기 위한 순서도이다.
도 5는 본 개시의 다양한 실시예에 따른 LSB 백업 동작의 필요 여부에 따라 저장장치를 운영하는 방법을 설명하기 위한 순서도이다.
도 6은 본 개시의 다양한 실시예에 따른 전원차단 가능성을 체크하여 상기 전원차단 가능성에 대응하여 저장장치를 운영하는 방법을 설명하기 위한 순서도이다.
도 7은 본 개시의 다양한 실시예에 따른 배터리의 분리 가능성을 기반으로 소실될 수 있는 데이터를 보호하는 방법을 설명하기 위한 순서도이다.
도 8은 본 개시의 다양한 실시예에 따른 센서부를 기반으로 전자장치의 가속도를 측정하고, 상기 측정한 가속도가 LSB 백업 제어 조건을 충족하는지 여부를 기반으로 데이터를 보호하는 방법을 설명하기 위한 순서도이다.
도 9는 본 개시의 다양한 실시예에 따른 배터리의 잔량을 측정하고, 상기 측정한 배터리의 잔량이 LSB 백업 제어 조건을 충족하는지 여부를 기반으로 데이터를 보호하는 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경(modifications) 및/또는 균등물(equivalents) 내지 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용되었다.
다양한 실시예에서 사용되는 구성요소에 대한 접미사 “모듈” 및 “부”는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 “모듈” 및 “부”는 서로 혼용되어 사용될 수도 있음을 유념해야 한다.
다양한 실시예에서 사용될 수 있는“포함한다” 또는“포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다양한 실시예에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
다양한 실시예에서 사용된 “제 1,” “제2,” “첫째,” 또는 “둘째,” 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다양한 실시예에서 사용된 “배터리 분리”의 표현은 배터리 교체형 전자장치로부터 내장된 배터리가 분리되는 것을 의미한다. ‘배터리 분리’는 전자장치에 설치된 프로그램 상에서 프로그램 상 절차를 거쳐서 배터리를 분리하는 상황뿐만 아니라, 외부의 충격 등에 의해 갑자기 배터리가 전자장치로부터 분리되는 상황을 의미할 수도 있다. 예를 들어, 상기 프로그램 상 절차는 전자장치의 전원이 꺼지고, 배터리 커버가 열린 상태에서 배터리가 분리되는 과정일 수 있다. 그리고 외부의 충격 등에 의해 갑자기 배터리가 전자장치로부터 분리되는 상황은 전자장치의 전원이 켜진 상태에서 전자장치로부터 배터리가 분리되는 상황을 의미할 수 있다. 배터리 교체형 전자장치는 배터리가 분리될 가능성이 클 수 있으며, 배터리 교체형 전자장치는 갑작스런 전원차단 상황을 대비하여 LSB 백업 동작 수행할 필요가 있다.
다양한 실시예에서 사용된 “전원차단 가능성”의 표현은 전자장치의 전원이 차단될 확률을 수치로 정의한 것을 의미한다. 예를 들어, 배터리 교체형 전자장치의 배터리 분리 가능성이 100인 경우 배터리 일체형 전자장치의 배터리 분리 가능성은 0일 수 있다. 배터리 교체형 전자장치는 사용자에 의해 쉽게 배터리를 교체할 수도 있고, 외부 충격에 의해 배터리가 전자장치로부터 분리되는 다양한 경우가 있을 수 있다. 그러나 배터리 일체형 전자장치는 배터리가 전자장치 내부에 장착되어 있으므로, 사용자가 쉽게 배터리를 교체할 수 없다. 즉, 배터리 일체형 전자장치는 일반적으로 전자장치를 분해하지 않는 이상 전자장치로부터 배터리를 분리할 수 없으므로, 배터리의 분리 가능성은 0일 수 있다. 그리고 전술된 배터리 내장 방식(예, 교체형 배터리, 일체형 배터리)의 차이뿐만 아니라, 전자장치가 특정 요건(예, LSB 백업 제어 조건)을 충족하는 경우 ‘전원차단 가능성’은 증가할 수 있다. 예를 들어, 전자장치가 일정 높이에서 자유 낙하하는 경우 낙하하는 속도에 대응하여 ‘전원차단 가능성’은 증가할 수 있다. ‘전원차단 가능성’은 수치 상으로 세분화되어 구분될 수 있으며, 기 설정된 임계값보다 높을 경우 전자장치는 갑작스럽게 전원이 차단되는 상황을 대비하여 LSB 백업 동작을 수행할 수 있다.
다양한 실시예에서 사용된 “데이터 보호”의 표현은 전자장치가 수신한 데이터를 소실하지 않도록 특정한 저장 공간에 상기 데이터를 저장하는 것을 의미한다. 즉, ‘데이터 보호’는 LSB 백업 동작을 의미할 수 있다. 예를 들어, ‘데이터 보호’(예, LSB 백업동작)는 저장장치가 동작 중에 전원이 차단될 경우 소실될 수 있는 데이터를 저장장치 내부의 임시 영역으로 옮겨서 저장하는 것을 의미할 수 있다. 즉, ‘데이터 보호’는 수신된 데이터를 안전한 장소로 이동시켜서, 갑작스럽게 전자장치의 전원이 꺼지더라도 상기 수신된 데이터를 보호할 수 있도록 하는 동작일 수 있다.
다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
다양한 실시예에 따른 전자장치는 펜을 포함한 전자장치로, 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자장치에 대해서 살펴본다. 다양한 실시예에서 쓰인 사용자라는 용어는 전자장치를 사용하는 사람 또는 전자장치를 사용하는 장치(예: 인공지능 전자장치)를 지칭할 수 있다.
도 1은 본 개시의 다양한 실시예에 따른 전자장치의 블록도를 도시한다.
도 1을 참조하면, 전자장치 100는 제어부 110, 무선 통신부 120, 비휘발성 메모리 저장장치 130, 전원부 140 및 센서부 150를 포함할 수 있다.
도시되지는 않았지만, 전술된 각각의 구성 요소들은 버스(bus)에 의해 서로 연결되어 있으며, 제어부 110는 상기 구성 요소들에게 신호(예, 제어 메시지)를 전달하여 상기 구성 요소들을 제어할 수 있다. 즉, 제어부 110는 상기 구성 요소들을 제어하는 프로세서(processor)일 수 있다.
상기 제어부 110는 통상적으로 전자장치 100의 전반적인 동작을 제어할 수 있다. 예컨대, 제어부 110는 상기 버스를 통해 전술한 다른 구성요소들(예: 무선 통신부 120, 비휘발성 메모리 저장장치 130, 전원부 140 및 센서부 150)로부터 응답을 수신하여, 수신된 응답을 해독하고, 해독된 응답에 따른 연산이나 데이터 처리를 실행할 수 있다.
제어부 110는 LSB 백업 동작 판단 모듈 111을 포함할 수 있다. 여기서 LSB 백업 동작은 비휘발성 메모리 저장장치 130가 소실될 수 있는 데이터를 보호하기 위해 특정 저장 공간에 백업해두는 동작일 수 있다. 상기 LSB 백업 동작은 비휘발성 메모리 저장장치 130가 자체적으로 수행(실행)할 수 있는 동작이며, 제어부 110로부터 명령을 수신하여 LSB 백업 동작을 수행할 수도 있다. LSB 백업 동작 판단 모듈 111은 다른 구성 요소들(예, 전원부 140, 센서부 150)로부터 LSB 백업 동작과 관련된 정보를 수신하고, 상기 정보를 기반으로 LSB 백업 동작의 필요 여부를 판단할 수 있다. 후술된 다양한 실시예는 갑작스럽게 전원이 차단되는 상황을 LSB 백업 동작이 필요한 상황으로 예를 들었으나, 이에 한정하지는 않는다.
그리고 도시되지는 않았지만, 무선 통신을 수행하기 위한 커뮤니케이션 프로세서(Communication Processor, CP)는 제어부 110에 포함될 수도 있다. 또는, 커뮤니케이션 프로세서(CP)는 전자장치 100에 별도로 내장되어 제어부 110의 제어 하에, 전자장치 100가 무선 통신 네트워크 서비스를 제공 받도록 할 수 있다. 본 개시의 다양한 실시예에 따른 전자장치 100의 제어부 110는 LSB 백업 동작 판단 모듈 111을 통해 LSB 백업 동작의 필요 여부를 판단하고, 상기 LSB 백업 동작이 필요 없다고 판단하는 경우 상기 LSB 백업 동작을 중지시킬 수 있다. 일반적으로 비휘발성 메모리 저장장치 130(예, NAND 플래시 메모리)는 제조 당시, 갑작스러운 전원 꺼짐 현상에 의해 데이터가 소실될 수 있는 상황과 관련하여 LSB 백업 동작을 수행하도록 제작될 수 있다. 본 개시에 따른 전자장치 100는 부팅 시 비휘발성 메모리 저장장치 130에 초기화 명령을 전송하고, 상기 초기화 명령을 기반으로 LSB 백업 동작의 중지 또는 실행(수행)을 결정할 수 있다. 예를 들어, 전자장치 100의 제어부 110는 LSB 백업 동작의 필요 여부를 판단하고, 상기 LSB 백업 동작이 필요하지 않은 경우 비휘발성 메모리 저장장치 130를 제어하여 상기 LSB 백업 동작을 중지시키거나, 상기 LSB 백업 동작의 빈도수를 낮출 수 있다.
LSB 백업 동작 판단 모듈 111은 LSB 백업 동작이 필요한지 여부를 판단할 수 있다. 예를 들어, LSB 백업 동작 판단 모듈 111은 전자장치 100의 전원이 갑자기 차단될 가능성을 판단할 수 있다. 여기서 전원이 차단될 가능성이 높다는 것은 LSB 백업 동작이 필요하다는 의미일 수 있다. 일반적으로 전자장치 100는 배터리가 분리되지 않는 배터리 일체형 전자장치와 배터리가 분리될 수 있는 배터리 교체형 전자장치로 구분될 수 있다. 그리고 배터리 일체형 전자장치와 배터리 교체형 전자장치 중에서 배터리 일체형 전자장치는 배터리가 분리될 가능성이 낮을 수 있다. LSB 백업 동작 판단 모듈 111은 전자장치 100의 전원이 켜지는 경우 배터리가 내장된 방식을 확인할 수 있다. 예컨대 전자장치 100는 제조될 때 배터리의 내장 방식에 대한 정보를 특정 코드로 전자장치 100의 저장 공간에 저장할 수 있다. LSB 백업 동작 판단 모듈 111은 상기 특정 코드를 기반으로 배터리의 내장 방식을 확인할 수 있다. 그리고 전자장치 100가 배터리 일체형 전자장치인 경우 LSB 백업 동작 판단 모듈 111은 전자장치의 전원차단 가능성이 낮다고 판단하여 전원차단에 대응되는 대비 동작(예, LSB 백업 동작)을 중지하도록 할 수 있다. 즉, LSB 백업 동작 판단 모듈 111은 비휘발성 메모리 저장장치 130에서 수행되는 LSB 백업 동작을 중지하도록 비휘발성 메모리 저장장치 130에 포함된 저장장치 제어부 131에게 상기 LSB 백업 동작 중지 명령을 할 수 있다. 여기서 ‘LSB 백업 동작을 중지’한다는 의미는 기 설정된 LSB 백업 동작 중에서 일부 또는 전부를 중지한다는 의미일 수 있다. 또한, LSB 백업 동작 판단 모듈 111은 배터리 내장 방식 이외에 센서부 150를 통해 측정된 센서값을 기반으로 상기 LSB 백업 동작의 필요 여부를 판단할 수도 있다. 이 외에, LSB 백업 동작 판단 모듈 111은 배터리 141의 잔량 정보를 기반으로 상기 LSB 백업 동작의 필요 여부를 판단할 수도 있다.
본 개시의 다른 실시예에 따른 LSB 백업 동작 판단 모듈 111은 부팅 후 전자장치 100의 상태를 확인하여 LSB 백업 동작의 필요 여부를 판단할 수 있다. 예를 들어, 제어부 110는 전자장치 100의 데이터 송수신 상태에 따라, LSB 백업 동작의 ON/OFF를 결정할 수 있다. 구체적으로, 전자장치 100가 대용량의 데이터를 송수신하거나 특정 데이터를 고속으로 처리해야 하는 경우 LSB 백업 동작 판단 모듈 111은 데이터 송수신 상태를 확인하고, 제어부 110를 통해 비휘발성 메모리 저장장치 130에게 LSB 백업 동작의 중지 명령을 전달할 수 있다. 다른 실시예에 따른, 제어부 110는 시스템 부팅 시점에 비휘발성 메모리 저장장치 130의 초기화 작업 도중 혹은 초기화 작업이 완료된 이후 LSB 백업 기능을 차단하도록 명령할 수 있다. 구체적으로, 제어부 110는 비휘발성 메모리 저장장치 130의 초기화 작업을 명령할 수 있고, 비휘발성 메모리 저장장치 130의 초기화 작업이 완료되었다는 응답을 회신할 경우 LSB 백업 동작 판단 모듈 111에게 LSB 백업 기능을 차단하도록 명령할 수 있다.
그리고 LSB 백업 동작 판단 모듈 111은 전자장치 100의 현재 배터리 잔량(예, 배터리 레벨) 혹은 소모 전류량에 근거하여, LSB 백업 동작의 중지 혹은 실행 여부를 판단할 수 있다. 예컨대, LSB 백업 동작 판단 모듈 111은 전자장치 100에서 소모되는 전류량을 확인하고, 상기 전류량의 크기가 특정 범위에 속한 경우, 제어부 110에게 LSB 백업 동작의 중지 요청 혹은 실행 요청을 할 수도 있다. 혹은, LSB 백업 동작 판단 모듈 111은 전자장치 100의 현재 배터리 잔량(예, 배터리 레벨)을 확인하고, 상기 배터리 잔량이 특정 범위에 속한 경우, 제어부 110에게 LSB 백업 동작의 중지 요청 혹은 실행 요청을 할 수 있다. 예를 들어, 전원부 140의 배터리 141 레벨이 낮아지거나 전자장치 100가 저전력 모드로 진입하는 경우 제어부 110는 LSB 백업 동작을 실행 요청할 수 있다. 추가적으로 LSB 백업 동작 판단 모듈 111은 전자장치 100의 발열 상태를 확인하고, 특정 온도 이상으로 전자장치 100의 온도가 올라가는 경우 전자장치 100에게 LSB 백업 동작의 실행을 요청할 수도 있다. 본 개시의 다른 실시예에 따른 LSB 백업 동작 판단 모듈 111은 배터리 내장형 전자장치의 배터리 잔량이 특정 범위에 속하는 경우, LSB 백업 동작을 중지하거나 실행할 수 있다.
무선 통신부 120는 전자장치 100와 무선 통신 시스템 간의 무선 통신 또는 전자장치 100와 다른 전자장치를 연결한 네트워크 간의 무선 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 도시되지는 않았지만, 무선 통신부 120는 셀룰러 모듈(LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications))을 포함할 수 있으며, 근거리 통신인 WiFi(wireless fidelity) 모듈, 블루투스(Bluetooth) 모듈, NFC(near field communication) 모듈, 또는 GPS(global positioning system) 모듈을 포함할 수 있다.
비휘발성 메모리 저장장치 130는 전술된 구성 요소들의 기능 동작에 필요한 응용 프로그램을 비롯하여, 다운로드 받은 멀티미디어 콘텐츠, 사용자에 의해 생성되는 사용자 데이터, 외부 서버로부터 수신한 단문 메시지(Short Message) 또는 멀티미디어 메시지(Multimedia Message) 등을 저장할 수 있다. 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치 130는 저장장치 제어부(Storage device controller) 131를 포함할 수 있다. 도시되지는 않았지만, 비휘발성 메모리 저장장치 130는 데이터의 소실을 방지할 수 있는 LSB 백업 모듈을 포함할 수 있다.
비휘발성 메모리 저장장치 130는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치 130는 NAND Flash Memory를 저장매체로 사용하는 eMMC(embedded Multi-Media Card) 또는 UFS(Universal Flash Storage)일 수 있다. NAND플래시 메모리는 셀을 수직으로 배열하는 구조이므로, 소형화 및 대용량화가 가능하여 다양한 휴대용 전자장치에서 사용될 수 있다. NAND 플래시 메모리는 Single-level Cell(SLC) 타입과 Multi-level Cell(MLC)타입으로 구분될 수 있다. Single-level Cell은 하나의 Cell 내에 1bit를 저장할 수 있으며, Multi-level Cell의 경우 2bit 이상을 하나의 Cell 내에 저장할 수 있다.(cf. 3bit MLC는 Triple-Level Cell로 불리기도 한다.) 2bit MLC타입은 상위 bit을 MSB(most significant bit)이라 하며, 하위 bit을 LSB(least significant bit)이라 한다. 후술되는 내용은 2bit MLC를 예로 설명하나, 이에 한정하지는 않으며 모든 MLC에 적용 가능하다. eMMC는 임베디드 멀티미디어 카드로, 플래시 저장장치 제어부와 NAND 플래시 메모리 칩(chip)을 포함하는 하나의 메모리 카드일 수 있다. 여기서 eMMC는 카드 형태뿐만 아니라, 칩 형태로 기판 상에 구현될 수도 있다. eMMC는 저장장치 제어부를 포함하고 있으므로, 제어부 110는 저장장치 제어부 131와의 통신(명령/응답)을 통해 내장된 NAND 플래시 메모리를 보다 효율적으로 운용할 수 있다. 비휘발성 메모리 저장장치 130가 자체적으로 NAND 플래시 메모리를 제어함에 따라, 제어부 110가 제어할 구성 요소가 줄어들고, 전자장치 100의 성능이 보다 향상될 수 있다. 그리고 UFS는 eMMC와 비교하여 보다 빠른 입출력 속도와 저전력을 목표로 만들어진 차세대 플래시 메모리일 수 있다.
전술된 NAND 플래시 메모리의 저장장치 제어부 131는 비휘발성 메모리 저장장치 130 내부의 임시 저장 공간(예, 버퍼 메모리(buffer memory))을 거쳐서 데이터가 비휘발성 메모리 저장장치 130에 저장되도록 할 수 있다. 2bit MLC타입에서 데이터를 저장할 경우 전자장치는 LSB(Least Significant Bit)를 먼저 저장한 후, MSB(Most Significant Bit)를 저장하게 된다. 그런데 MSB의 저장이 완료되지 않은 상태에서 갑작스럽게 전원이 차단되는 경우 기존에 저장되어 있던 LSB 데이터는 손실을 입을 수도 있다. 일반적으로 전원이 차단되는 시점에서의 저장 중인 MSB 데이터 손실에 대하여 제어부 110의 대비책은 존재하지만, 기존에 저장되어 있던 LSB 데이터 손실에 대한 대비책은 존재하지 않는다. 따라서 LSB 데이터 손실에 대한 대비책으로 비휘발성 메모리 저장장치 130는 MSB 데이터를 저장하기 전에 LSB데이터를 비휘발성 메모리 저장장치 130내부의 임시 저장공간에 저장할 수 있다. 이는 갑작스런 전원차단이 발생하여 LSB 데이터가 손실되더라도, 손실된 LSB 데이터를 복원하도록 할 수 있다. 일반적으로 NAND 플래시 메모리는 예외적인 상황에서 데이터 손실을 방지하기 위해서 전술된 대비책을 수행하도록 제작될 수 있다. 전술된 LSB 데이터 손실에 대한 대비책은 데이터 손실 가능성이 낮은 일반적인 동작 상황에서 잉여 동작일 수 있으며, 전자장치의 전체적인 성능을 저하시킬 수 있다.
비휘발성 메모리 저장장치 130에 포함된 저장장치 제어부 131는 플래시 메모리에 데이터를 저장하는 동작을 제어할 수 있다. 예를 들어, 저장장치 제어부 131는 버퍼 메모리에 데이터를 임시로 저장한 후 상기 데이터를 플래시 메모리로 옮겨서 저장할 수 있다. 특히, 저장장치 제어부 131는 전자장치 100의 전원이 갑자기 꺼져서 데이터를 소실할 수도 있는 상황에 대비하여, 플래시 메모리 상에 데이터를 저장하는 동작 이전에 손실 가능성이 있는 데이터를 플래시 메모리 내부의 임시 저장공간으로 옮겨서 저장할 수 있다. 그리고 NAND 플래시 메모리는 임시 저장공간에 저장된 데이터를 비휘발성 메모리 저장장치 130에 저장할 수 있다. 또한, 저장장치 제어부 131는 NAND 플래시 메모리에 임시로 데이터를 저장하는 것과 같이 이전에 수행되었던 동작에 대하여 이력을 관리할 수도 있다. 도시되지는 않았지만, 비휘발성 메모리 저장장치 130는 LSB 백업 모듈을 포함할 수 있으며, 상기 LSB 백업 모듈은 전술된 동작의 수행을 도울 수 있다.
본 개시의 다양한 실시예에 따른 LSB 백업 동작의 필요 여부에 대응하여 전자장치를 운영하는 방법은 LSB 백업 동작의 필요 여부를 판단하고, 상기 LSB 백업 동작이 필요하지 않다고 판단되는 경우 상기 LSB 백업 동작의 일부 또는 전부를 중지할 수 있다. 일반적으로 전자장치에 내장된 NAND 플래시 메모리는 데이터의 손실을 방지하기 위해 지속적으로 소실될 가능성이 있는 데이터를 백업하는 동작을 수행할 수 있다. 본 개시의 다양한 실시예에 따른 전자장치 100는 상기 NAND 플래시 메모리가 지속적으로 데이터를 백업하는 동작(예, LSB 백업 동작)을 수행하는 것을 중지시킬 수 있다. 전자장치 100는 전술된 NAND 플래시 메모리의 LSB 백업 동작을 중지하도록 비휘발성 메모리 저장장치 130에 포함된 저장장치 제어부 131에게 중지 요청을 하고, 저장장치 제어부 131는 자체적으로 상기 LSB 백업 동작을 중지할 수 있다. 전자장치 100는 전술된 LSB 백업 동작을 중지함에 따라 전자장치 100의 전체적인 성능을 보다 향상시킬 수 있다.
전원부 140는 전자장치 100를 동작하기 위한 전력을 공급할 수 있으며, 배터리 141를 포함할 수 있다. 전원부 140는 실시간 혹은 주기적으로 배터리 141에 대한 정보를 확인할 수 있으며, 상기 배터리 141에 대한 정보를 제어부 110에게 제공할 수 있다. 배터리 141는 저장 용량 및 공급 가능 전류량은 고정되어 있다. 본 개시의 다양한 실시예에 따른 전자장치 100는 휴대할 수 있는 전자장치이며, 보편적으로 배터리 141를 포함할 수 있다. 전원부 140는 전자장치 100에 대응되는 전력을 공급할 수 있으며, 도시되지는 않았지만, 외부로부터 전원을 제공받을 수도 있다. 배터리 141를 내장한 전자장치 100는 배터리 141를 통한 전원 공급을 기반으로 동작할 수 있으며, 배터리 141의 분리로 인한 전원차단 현상이 발생할 수 있다.
본 개시의 다양한 실시예에 따른 전자장치 100는 상기 배터리 141를 내장하는 방식에 따라 배터리 일체형 전자장치와 배터리 교체형 전자장치로 구분될 수 있다. 배터리 일체형 전자장치는 제조 과정에서부터 배터리 141가 전자장치 100에 내장되어 사용자에 의해 쉽게 교체될 수 없는 전자장치일 수 있다. 반면에, 배터리 교체형 전자장치는 배터리 커버가 있고, 상기 배터리 커버를 이용하여 사용자가 상기 배터리 141를 전자장치 100로부터 쉽게 교체할 수 있는 전자장치일 수 있다. 전술된 두 가지 방식의 전자장치 중에서 배터리 일체형 전자장치는 배터리 분리 가능성이 없거나 낮을 수 있으나, 배터리 교체형 전자장치는 배터리 분리 가능성이 높은 전자장치일 수 있다. 즉, 배터리 일체형 전자장치는 전원차단 가능성이 낮을 수 있고, 배터리 교체형 전자장치는 전원차단 가능성이 높을 수 있다. 본 개시에 따른 전자장치를 운영하는 방법은 전자장치 100가 배터리 일체형 전자장치인 경우 전원차단 가능성이 낮으므로 LSB 백업 동작의 일부 또는 전부를 중지할 수 있다. 반면에 배터리 교체형 전자장치인 경우 전원차단 가능성이 높으므로 전자장치 100는 LSB 백업 동작을 수행할 수 있다.
센서부 150는 가속도 센서 151, 중력 센서 153, 지자기 센서 155 및 자이로스코프 센서 157 를 포함할 수 있다. 센서부 150는 전자장치 100의 특정 위치에 내장되어 있으며, 전자장치 100의 현재 상태를 판단하는데 사용될 수 있다. 예를 들어, 전자장치 100가 자유 낙하하는 경우 전술된 센서들을 통해 측정된 센서값을 기반으로 제어부 110는 전자장치 100가 자유 낙하하는 상태 임을 판단할 수 있다.
가속도 센서 151는 전자장치 100의 현재 가속도를 측정할 수 있다. 예를 들어, 전자장치 100에 포함된 가속도 센서 151는 전자장치 100의 가속도를 측정할 수 있다. 그리고 제어부 110는 상기 가속도 센서 151를 통해 측정된 전자장치 100의 가속도가 기 설정된 LSB 백업 제어 조건을 충족하는지 여부를 판단할 수 있다. 여기서 기 설정된 LSB 백업 제어 조건은 제조사 또는 사용자가 임의적으로 설정한 값 또는 범위일 수 있으며, 전자장치 100가 상기 LSB 백업 제어 조건을 충족시키는 가속도로 움직이는 경우 제어부 110는 LSB 백업 동작을 실행(수행)할지에 대한 조건일 수 있다. 구체적으로, 가속도 센서에 대한 LSB 백업 제어 조건은 전자장치 100가 외부의 충격으로 인해 전원이 차단될 수 있는 가속도의 값 또는 범위일 수 있다.
중력 센서 153, 지자기 센서 155 및 자이로스코프 센서 157도 가속도 센서 151와 마찬가지로 각 센서 별로 전자장치 100의 현재 상태에 대응되는 센서값을 측정할 수 있다. 제어부 110는 각각의 센서 별로 LSB 백업 제어 조건을 미리 설정하고, 각각의 센서를 기반으로 측정되는 센서 값에 따라 상기 LSB 백업 동작의 중지 혹은 실행을 결정할 수 있다. 그리고 제어부 110는 센서부 150를 기반으로 다 수의 센서값을 실시간으로 확인하고, 전자장치 100의 현재 상태를 판단할 수도 있다.
도시되지는 않았지만, 전자장치 100는 배터리 커버 센서를 포함할 수도 있다. 그리고 배터리 커버 센서는 배터리 커버가 열려 있는 상황을 감지할 수 있다. 제어부 110는 배터리 커버가 열린 경우 배터리 분리 가능성이 매우 높아진 상황으로 판단하고, 배터리 분리에 대응하여 LSB 백업 동작을 수행할 수 있다. 배터리 커버 센서는 배터리 교체형 전자장치에만 포함되는 센서일 수 있다. 배터리 일체형 전자장치는 기본적으로 배터리 141가 전자장치 100로부터 분리될 수 없도록 제작되므로, 배터리 커버와 배터리 커버 센서 없이 제작될 수 있다. 즉, 제어부 110는 배터리 커버 센서의 유무에 따라 전자장치 100에 포함된 배터리의 내장 방식을 판단할 수도 있다. 제어부 110는 배터리 커버 센서의 유무에 따라 전자장치의 배터리 내장 방식을 체크할 수 있으며, 상기 배터리 내장 방식을 기반으로 LSB 백업 동작의 중지 또는 수행을 제어할 수 있다.
도 2는 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치에서 데이터를 저장하는 방법을 설명하기 위한 개요도이다.
도 2를 참조하면, 전자장치 100의 제어부 110는 비휘발성 메모리 저장장치 130를 제어할 수 있다. 여기서 비휘발성 메모리 저장장치 130는 저장장치 제어부 131와 플래시 메모리 210를 포함할 수 있다. 즉, 제어부 110는 저장장치 제어부 131의 동작을 제어할 수 있으며, 저장장치 제어부 131와 신호를 주고 받을 수 있다. 그리고 저장장치 제어부 131는 비휘발성 메모리 저장장치 130에 포함된 플래시 메모리 210에 데이터를 저장(saving)하거나 데이터를 로딩(roading)할 수 있다. 도 2에 도시된 제어부 110와 저장장치 제어부 131는 도 1에 도시된 제어부 110와 저장장치 제어부 131일 수 있다. 그리고 플래시 메모리 210는 비휘발성 메모리 저장장치 130에 포함될 수 있다.
저장장치 제어부 131는 버퍼 메모리(Buffer memory) 201를 포함할 수 있다. 그리고 플래시 메모리 210는 셀 어레이(Cell array) 211를 포함할 수 있다. 도 2에 도시되지는 않았지만, 플래시 메모리 210는 디코더(decoder), 데이터 버퍼(data buffer) 및 제어 유닛(control unit)을 포함할 수 있다. 저장장치 제어부 131는 제어부 110의 제어 하에, 데이터를 플래시 메모리 210에 저장할 수 있다. 구체적으로 저장장치 제어부 131는 데이터를 플래시 메모리 210에 포함된 셀 어레이 211에 저장할 수 있고, 상기 셀 어레이 211에 저장된 데이터를 불러올 수도 있다. 저장장치 제어부 131는 데이터를 플래시 메모리 210에 저장하기 전에 버퍼 메모리(Buffer memory) 201에 임시로 저장할 수 있다. 저장장치 제어부 131는 저장할 데이터를 버퍼 메모리 201에 임시로 저장한 후 플래시 메모리 210로 옮겨서 저장할 수 있다. 데이터가 플래시 메모리 210에 완전하게 저장된 후에 저장장치 제어부 131는 버퍼 메모리 201에 저장된 데이터를 삭제할 수 있다.
플래시 메모리 210의 셀 어레이 211는 복수의 메모리 셀(cell)로 구성될 수 있다. 메모리 셀은 비휘발성(nonvolatile)으로서, 데이터를 저장한 후 전자장치의 전원이 꺼져도 저장된 데이터는 지워지지 않는다. 셀 어레이 211를 구성하고 있는 메모리 셀은 저장할 수 있는 데이터 비트 수에 따라 싱글 레벨 셀(SLC, Single Level Cell)과 멀티 레벨 셀(MLC, Multi Level Cell)로 구분될 수 있다. 싱글 레벨 셀은 한 비트 데이터(single bit data)를 저장하고, 멀티 레벨 셀은 두 비트 이상의 데이터를 저장할 수 있다.
먼저, 하나의 메모리 셀에 하나의 비트가 저장되는 싱글 레벨 셀을 살펴본다. 싱글 레벨 셀은 문턱 전압(Threshold voltage)의 분포에 따라 2개의 상태(state)를 갖는다. 예를 들어, 싱글 레벨 셀은 데이터 1을 저장하거나 데이터 0을 저장할 수 있다. 여기서, 데이터 1이 소거 상태(erase state)인 경우 데이터 0은 프로그램 상태(program state)일 수 있다. 소거 상태의 셀은 온 셀(on cell), 프로그램 상태의 셀은 오프 셀(off cell)이라고 할 수 있다. 저장장치 제어부 131는 데이터를 버퍼 메모리 201에 저장했다가, 플래시 메모리 210에 포함된 셀 어레이 211로 옮겨서 저장할 수 있다. 그리고 저장장치 제어부 131는 데이터가 셀 어레이 211에 제대로 저장되었는지를 검증하기 위한 프로그램 검증 동작을 수행할 수 있다. 프로그램 검증 결과, 프로그램 페일(fail)이 발생한 경우 저장장치 제어부 131는 프로그램 전압을 증가해 가면서 다시 데이터를 셀 어레이 211로 옮겨서 저장하고, 프로그램 검증 동작을 수행할 수 있다.
다음으로, 하나의 메모리 셀에 멀티 비트 데이터가 저장되는 멀티 레벨 셀을 살펴본다. 멀티 레벨 셀에 대한 설명은 도 3을 참조하여 설명하도록 한다.
도 3은 본 개시의 다양한 실시예에 따른 2 bit MLC(Multi-level cell) 타입의 경우 데이터가 저장되는 과정을 설명하기 위한 예시도이다.
도 3을 참조하면, 멀티 레벨 셀은 문턱 전압(Threshold voltage)의 분포에 따라 4개의 상태(예, 11, 01, 10, 00) 중 어느 하나를 갖도록 프로그램될 수 있다. 멀티 레벨 셀은 2비트 데이터를 저장할 수 있으며, 상기 2비트 데이터는 하위 비트(LSB, Least Significant Bit)와 상위 비트(MSB, Most Significant Bit)로 구분되어 저장될 수 있다. 멀티 레벨 셀의 하위 비트에 데이터를 저장하는 과정은 도 2에서 전술한 싱글 레벨 셀에 데이터를 저장하는 과정과 동일할 수 있다. 도 3을 참조하면, 11 상태를 갖는 메모리 셀은 하위 비트 데이터에 따라 점선으로 도시된 상태(A)를 갖도록 프로그램될 수 있다. 그리고 점선으로 도시된 상태(A)의 메모리 셀은 상위 비트에 따라 00상태를 갖도록 프로그램(Program 1 310)되거나, 10 상태를 갖도록 프로그램(Program 2 320)될 수 있다. 한편, 11 상태를 갖는 메모리 셀은 상위 비트에 따라 11 상태를 유지하거나, 01 상태를 갖도록 프로그램(Program 3 330)될 수도 있다. 저장장치 제어부 131는 전술된 방법을 기반으로, 멀티 비트 데이터를 플래시 메모리 210에 포함된 셀 어레이 211에 프로그램할 수 있다. 즉, 저장장치 제어부 131는 하위 비트(LSB)를 먼저 프로그램하고, 하위 비트(LSB)가 프로그램되어 있는 메모리 셀에 상위 비트(MSB)를 프로그램할 수 있다. 하위 비트(LSB)가 프로그램되어 있는 메모리 셀에 상위 비트(MSB)를 프로그램하다가 에러(예, 전원차단)가 발생하는 경우 이미 프로그램된 하위 비트(LSB)는 영향을 받을 수 있다. 여기서 상위 비트(MSB)에 프로그램되는 데이터는 저장장치 제어부 131의 프로그램 검증 동작이 완료되기 전에 갑작스런 에러(예, 전원차단)가 발생하여 손실되더라도, 제어부 110의 전원차단 대비 동작을 통해 복구될 수 있다. 만약 복구에 실패하더라도, 상기 상위 비트(MSB)에 프로그램되는 데이터는 전자장치의 구동에 영향을 끼치지 않을 수 있다. 하위 비트(LSB)에 프로그램되는 데이터는 제어부 110의 데이터 보호 대상이 아니므로, 상위 비트(MSB)를 프로그램하는 도중에 발생하는 에러에 영향을 받지 않도록 하위 비트(LSB) 데이터를 비휘발성 메모리 저장장치 130의 임시 저장공간에 저장할 수 있다. 따라서, 전자장치 100에 갑작스런 에러가 발생하는 경우에도 저장장치 제어부 131는 비휘발성 메모리 저장장치 130의 임시 저장공간을 통해 하위 비트 데이터를 복구할 수 있다. 전술된 데이터 복구 방법을 ‘LSB 백업(back up)’이라고 할 수 있다. NAND 플래시 메모리는 지속적으로 상기 LSB 백업을 수행하도록 관련된 임시 저장공간과 LSB 백업 모듈(예, 회로 모듈 혹은 SW 모듈)을 구비하도록 제작될 수 있다. 즉, 전자장치 100는 에러가 발생하지 않는 상황에서도 지속적으로 LSB 백업을 수행하기 때문에, 전자장치 100의 전체적인 성능은 저하될 수 있다. 본 개시의 다양한 실시예에 따른 전자장치 100는 전원차단 가능성에 대응하여 저장장치의 운영을 제어할 수 있다. 예를 들어, 전원차단 가능성이 낮거나 거의 없는 경우 전자장치 100는 저장장치 제어부 131에게 LSB 백업 동작을 중지하도록 신호를 전송하고, 저장장치 제어부 131는 제어부 110의 제어 하에, LSB 백업 동작을 중지할 수 있다. 이에 따라, 전자장치 100의 전체적인 성능은 향상될 수 있다.
본 개시의 다양한 실시예에서, 전자장치 100의 제어부 110는 NAND 플래시 메모리의 쓰기 성능을 높이기 위해, NAND 플래시 메모리의 LSB 백업 기능을 수행하거나 수행하지 않도록 제어할 수 있다. 비휘발성 메모리 저장장치 130는 전자장치 100 제어부 110의 제어 하에, LSB 백업을 수행하지 않는 상태로 설정하고, 관련된 설정 정보(예: LSB 백업 기능 수행여부)를 비휘발성 메모리 저장장치 130 내에 저장하여 보존할 수 있다. 다른 실시예에서, 비휘발성 메모리 저장장치 130는 전자장치 100 제어부 110의 요청에 따라, 비휘발성 메모리 저장장치 130에 내장된 LSB 백업 모듈을 비-활성화하고 LSB 백업에 사용되는 각종 임시 저장 공간의 크기를 변경하거나, 해제할 수 있다. 여기서 ‘LSB 백업 모듈의 비-활성화’란 ‘향후 데이터 쓰기 작업 시에 상기 LSB 백업 모듈을 사용하지 않도록 설정하는 것’을 의미할 수 있다. 상기 LSB 백업 모듈은 소프트웨어 모듈 혹은 하드웨어 모듈 중에서 선택적으로 구성될 수도 있다.
추가적인 실시예에서, LSB 백업 회로를 구비한 비휘발성 메모리 저장장치 130는, LSB 백업 회로에 인가되는 전원을 차단하거나, LSB 백업 회로에 인가되는 전압의 양을 조절할 수 있다. 비휘발성 메모리 저장장치 130는 전자장치 100에서 데이터 쓰기 요청 발생 시, 기 설정된 상태에 따라 내장된 LSB 백업 기능을 수행하거나 수행하지 않을 수 있다.
또 다른 실시예에서, 전자장치 100는 시스템 부팅 시점에 비휘발성 메모리 저장장치 130의 초기화 작업 도중 혹은 초기화 작업이 완료된 이후 LSB 백업 기능을 차단하도록 명령할 수 있다. 예컨대, 전자장치 100는 비휘발성 메모리 저장장치 130의 초기화 작업을 명령하고, 비휘발성 메모리 저장장치 130가 초기화 완료되었다는 응답을 회신할 시, 이에 반응하여 LSB 백업 기능을 차단하도록 명령할 수 있다.
도 4는 본 개시의 다양한 실시예에 따른 비휘발성 메모리 저장장치 기반의 LSB 백업 동작의 중지 및 실행 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 동작 401에서 제어부 110는 비휘발성 메모리 저장장치 130에 초기화 명령을 전송할 수 있다. 예를 들어, 전자장치 100가 최초 부팅될 때, 제어부 110는 비휘발성 메모리 저장장치 130에 초기화 명령을 전송할 수 있다. 그리고 동작 403에서 제어부 110는 상기 비휘발성 메모리 저장장치 130의 LSB 백업 동작을 중지 또는 실행하도록 제어할 수 있다. 전술된 상세한 설명에서, LSB 백업 동작은 비휘발성 메모리 저장장치 130에 포함된 저장장치 제어부 131에 의해 중지 또는 실행될 수 있습니다.
본 발명에 따른 전자장치 100는 비휘발성 메모리 저장장치 130에 초기화 명령을 전송하고, 상기 비휘발성 메모리 저장장치 130를 통해 LSB 백업 동작의 중지 또는 실행을 결정할 수 있습니다.
도 5는 본 개시의 다양한 실시예에 따른 LSB 백업 동작의 필요 여부에 따라 저장장치를 운영하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 동작 501에서 제어부 110는 LSB 백업 동작의 필요 여부를 판단할 수 있다. LSB 백업 동작은 비휘발성 메모리 저장장치 130가 소실될 가능성이 있는 데이터를 보호하기 위해 상기 데이터를 특정 저장공간에 백업하는 동작일 수 있다. 즉, 제어부 110는 전자장치 100의 상태가 데이터를 보호할 필요가 없다고 판단되는 경우 상기 LSB 백업 동작을 중지하도록 제어할 수 있다. 예를 들어, 전자장치 100가 특정 조건(예, 전자장치 100가 자유 낙하하는 상태, 배터리 교체형 전자장치 100인 경우 배터리 커버가 벗겨진 상태, 사용자의 요청)에 해당되는 경우 제어부 110의 LSB 백업 동작 판단 모듈 111은 LSB 백업 동작이 필요하다고 판단할 수 있다. LSB 백업 동작의 필요 여부를 판단하는 동작은 전술된 예시로 한정하지는 않는다. LSB 백업 동작 판단 모듈 111은 전자장치 100의 구성요소들로부터 제공 받는 정보들을 기반으로 상기 LSB 백업 동작의 필요 여부를 판단할 수 있다.
동작 503에서 제어부 110는 LSB 백업 동작의 필요성을 확인할 수 있다. 그리고 동작 503에서 LSB 백업 동작이 필요하지 않다고 판단하는 경우, 동작 505에서 제어부 110는 LSB 백업 동작을 중지할 수 있다. 구체적으로 제어부 110는 비휘발성 메모리 저장장치 130에게 LSB 백업 동작의 중지를 명령하여 상기 LSB 백업 동작을 중지시킬 수 있다. 만약 동작 503에서 LSB 백업 동작이 필요하다고 판단하는 경우, 동작 507에서 제어부 110는 LSB 백업 동작을 수행할 수 있다. 구체적으로 제어부 110는 비휘발성 메모리 저장장치 130에게 LSB 백업 동작의 수행을 명령하여 상기 LSB 백업 동작을 수행시킬 수 있다. 여기서 LSB 백업 동작을 수행한다는 의미는 상기 LSB 백업 동작이 수행 중인 상태인 경우 상기 LSB 백업 동작을 그대로 유지시킨다는 의미일 수 있다.
본 개시의 다양한 실시예에 따른 비휘발성 저장장치 운영 방법은 제어부 110가 LSB 백업 동작의 필요 여부를 판단하고, 상기 판단을 기반으로 LSB 백업 동작의 중지 또는 실행(수행)을 제어할 수 있다. 제어부 110는 비휘발성 메모리 저장장치 130에게 LSB 백업 동작에 대한 명령을 하고, 상기 비휘발성 메모리 저장장치 130를 통해 상기 LSB 백업 동작의 중지 또는 실행을 제어할 수 있다.
도 6은 본 개시의 다양한 실시예에 따른 전원차단 가능성을 체크하여 상기 전원차단 가능성에 대응하여 저장장치를 운영하는 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 동작 601에서 제어부 110는 전자장치 100의 전원차단 가능성을 체크할 수 있다. 예를 들어, 전자장치 100는 휴대용 전자장치로 배터리 141를 내장할 수 있다. 그리고 ‘배터리의 분리 가능성’과 ‘전원차단 가능성’의 의미는 동일한 의미일 수 있다. 예를 들어, 제어부 110는 전자장치 100에 내장된 배터리 141의 내장 방식(예, 배터리 일체형 전자장치, 배터리 교체형 전자장치)을 기반으로 배터리의 분리 가능성을 체크할 수 있다. 구체적으로, 전자장치 100가 배터리 일체형 전자장치인 경우 배터리 141가 전자장치 100로부터 분리될 수 없으므로, 제어부 110는 배터리 분리 가능성이 낮거나 없다고 체크할 수 있다. 반대로 전자장치 100가 배터리 교체형 전자장치인 경우 배터리 141가 전자장치 100로부터 분리될 가능성이 크므로, 제어부 110는 배터리 141의 분리 가능성이 높다고 체크할 수 있다. 또한, 제어부 110는 주기적으로 또는 실시간으로 센서부 150를 통해 측정된 센서값을 기반으로 배터리 분리 가능성을 체크할 수 있다. 전자장치 100는 미리 배터리 141가 분리되어 전자장치 100의 전원이 꺼질 수 있는 상황에 대응되는 센서값들을 저장할 수 있다. 여기서 배터리 141가 분리되는 상황은 갑작스럽게 전자장치 100로부터 배터리 141가 분리되는 상황을 포함할 수 있다. 예를 들어, 전자장치 100를 떨어뜨리거나 던지거나 하는 경우 전자장치 100는 충격을 받아 배터리가 전자장치 100로부터 분리될 수 있다. 전술된 예시는 배터리 교체형 전자장치로 개시되었으나, 이에 한정하지는 않는다. 배터리 일체형 전자장치도 낮은 확률로 외부의 충격으로 인해 전원이 갑자기 꺼질 수도 있다. 전술된 예시는 전자장치 100의 전원 차단 가능성과 관련하여 기재되어 있으나, 이는 LSB 백업 동작의 필요 여부를 판단하는 동작에 포함될 수 있다. 전원 차단 가능성이 크다는 의미는 LSB 백업 동작을 수행할 필요성이 있다는 의미일 수 있다. 반대로, 전원 차단 가능성이 낮거나 없다는 의미는 LSB 백업 동작을 수행할 필요성이 없다는 의미일 수 있다.
배터리 교체형 전자장치와 배터리 일체형 전자장치는 배터리 분리 가능성에 대응되는 기준값이 서로 다를 수도 있으나, 동작 603에서 제어부 110는 통합적으로 배터리의 분리 가능성이 기 설정된 임계값보다 큰 경우 배터리 분리에 대응되는 LSB 백업 동작(예, LSB 백업 제어 동작)을 수행해야 한다고 판단할 수 있다. 여기서 LSB 백업 동작은 LSB 백업을 제어하는 동작일 수도 있다. 기 설정된 임계값은 개발자에 의해 미리 설정된 값 또는 범위일 수 있으며, 배터리가 분리될 가능성에 대응되는 임계값일 수 있다. 예를 들어, 제어부 110가 상기 임계값을 70% 로 설정하고, 배터리의 분리 가능성이 70% 미만인 경우 제어부 110는 배터리 분리 대비 동작을 중지하도록 할 수 있다. 반면에, 배터리의 분리 가능성이 70% 이상인 경우 제어부 110는 LSB 백업 동작을 수행하도록 할 수 있다. 동작 603에서 전원차단 가능성(배터리 분리 가능성)이 임계값보다 크지 않은 경우 동작 605에서 제어부 110는 LSB 백업 동작을 중지할 수 있다. 예를 들어, 임계값이 70%로 설정된 상태에서 배터리의 분리 가능성이 30%로 체크되는 경우 제어부 110는 배터리가 분리될 가능성이 낮다고 판단하여 상기 LSB 백업 동작을 중지할 수 있다. 동작 603에서 임계값은 여러 개로 설정될 수도 있으며, 제어부 110는 배터리 분리 가능성에 비례하여 상기 LSB 백업 동작을 단계별로 중지하도록 할 수도 있다.
제어부 110는 LSB 백업 동작(예, LSB 백업 제어 동작)을 중지하도록 저장장치 제어부 131를 제어할 수 있다. 예를 들어, 제어부 110는 LSB 백업의 동작 여부에 대한 설정 정보를 내부적으로 저장하고, 상기 저장된 설정 정보를 기반으로 LSB 백업을 중지하도록 저장장치 제어부 131를 제어할 수 있다. 또한 제어부 110는 LSB 백업회로에 인가되는 전압을 변경하거나, LSB 백업회로에 전달되는 전원을 차단하는 방법을 토대로 상기 LSB 백업동작을 중지하도록 저장장치 제어부 131를 제어할 수도 있다.
여기서 LSB 백업 동작은 갑작스럽게 배터리 141가 전자장치 100로부터 분리되는 상황에 대비하여 버퍼 메모리 201에 저장되어 있던 데이터를 비휘발성 메모리 저장장치 130의 임시 저장공간에 미리 저장하는 동작일 수 있다. 여기서 임시 저장공간은 저장장치 제어부 131에 포함될 수도 있고, 비휘발성 메모리 저장장치 130 내부 회로 혹은 메모리 셀에 포함될 수도 있다. 저장장치 제어부 131는 비휘발성 메모리 저장장치 130에 데이터를 저장하기 전에 버퍼 메모리 201에 저장된 데이터를 임시 저장공간에 옮겨서 저장하므로, 갑작스런 전원차단 상황에도 데이터를 소실하지 않고 복원할 수 있다. 예를 들어, eMMC와 UFS같은 저장장치 내부의 NAND 플래시 메모리의 셀에 상위 비트 프로그램하기 전에 하위 비트 데이터를 비휘발성 메모리 저장장치 130 내부에 별도로 할당된 임시 저장공간으로 옮겨서 저장한다. 전술된 LSB 백업 제어동작은 LSB 백업동작일 수 있다.
전술된 데이터를 저장하는 동작은 저장장치 제어부 131의 제어 하에 수행될 수 있다. 예를 들어, 전자장치 100의 제어부 110는 저장장치 제어부 131에게 데이터를 저장하는 동작을 요청할 수 있다. 그리고 저장장치 제어부 131는 데이터를 플래시 메모리 210에 저장하는 과정에, 상기 데이터를 플래시 메모리 210 내의 임시 저장공간에 저장하는 동작을 수행할 수 있다. 저장장치 제어부 131는 데이터를 저장할 때마다 전술된 동작을 지속적으로 수행하기 위해, 저장장치 130 내부에서 가용할 수 있는 트래픽의 일부 또는 전부를 지속적으로 사용할 수 있다. 결과적으로, 전술된 동작을 계속해서 수행함에 따라, 비휘발성 메모리 저장장치 130의 전체적인 성능은 떨어질 수 있으며 전자장치 100의 성능 저하로 이어진다.
그러나 동작 605에서 배터리 분리 대비 동작을 중지함에 따라, 제어부 110는 전자장치 100의 성능을 향상 시킬 수 있다. 구체적으로 제어부 110는 전원차단 가능성이 기 설정된 임계값보다 작은 경우 비휘발성 메모리 저장장치 130에 포함된 저장장치 제어부 131에게 LSB 백업 동작을 중지하도록 요청할 수 있다. 그리고 저장장치 제어부 131가 전술된 LSB 백업 동작을 중지함에 따라, 전자장치 100의 성능은 보다 향상될 수 있다.
그리고 동작 603에서 전원차단 가능성이 기 설정된 임계값보다 크다고 판단되는 경우 동작 607에서 제어부 110는 LSB 백업 동작을 수행할 수 있다. 제어부 110는 동작 605에서 수행한 것과 동일하게 저장장치 제어부 131에게 LSB 백업 동작을 수행하도록 요청할 수 있다. 즉, 제어부 110는 저장장치 제어부 131가 지속적으로 수행하고 있는 LSB 백업 동작을 그대로 유지하도록 요청할 수도 있다. 도시되지는 않았지만, 제어부 110는 LSB 백업 동작 중에서 일부 동작 또는 전체 동작을 수행하거나 중지할 수 있다.
본 개시의 다양한 실시예에 따른 전자장치 100는 전자장치 100의 전원차단 가능성을 체크하고, 상기 전원차단 가능성을 기반으로 수행 중인 LSB 백업 동작의 중지 여부를 결정할 수 있다. 예컨대, 전원차단 가능성이 기 설정된 임계값보다 작은 경우 전자장치 100의 제어부 110는 저장장치 제어부 131에게 상기 LSB 백업 동작의 중지를 요청하고, 저장장치 제어부 131는 상기 LSB 백업 동작을 중지하도록 비휘발성 메모리 저장장치 130를 제어할 수 있다. 저장장치 제어부 131가 LSB 백업 동작을 중지함에 따라, 비휘발성 메모리 저장장치 130가 지속적으로 수행하는 동작 중의 일부가 동작을 중지하게 되고, 비휘발성 메모리 저장장치 130의 성능이 향상됨에 따라 전자장치 100의 전체적인 성능은 향상될 수 있다. 전술된 LSB 백업 동작은 데이터를 비휘발성 메모리 저장장치 130에 저장하기 전에 상기 데이터를 임시 저장공간에 저장해둔다고 개시되었으나, 이에 한정하지는 않는다. LSB 백업 동작은 데이터의 소실을 막기 위해 수행되는 동작을 포함할 수 있다.
도시되지는 않았으나, 본 개시의 다른 실시예에 따른 전자장치 100의 제어부 110는 전자장치 100의 상태를 기반으로 전술된 LSB 백업 동작의 ON/OFF를 결정할 수 있다. 예를 들어, 전자장치 100가 대용량의 데이터를 송수신(I/O)하는 상태이거나 내장된 카메라를 이용한 BurstShot 촬영같이 특정 데이터를 고속으로 처리하는 경우 제어부 110는 LSB 백업 동작이 OFF되도록 저장장치 제어부 131를 제어할 수 있다. 즉, 제어부 110는 대용량의 데이터를 보다 빠르게 송수신하기 위해 LSB 백업 동작을 중단(OFF)할 수 있다. 또는 전자장치 100에서 소모되는 전력량을 체크하고, 상기 전력량이 기준치보다 큰 경우 소모 전류를 낮추기 위해서 제어부 110는 LSB 백업 동작을 중단할 수도 있다. 이 외에 제어부 110는 전자장치 100의 발열 상태를 확인하고, 특정 온도 이상으로 전자장치 100의 온도가 상승하는 경우 LSB 백업 동작을 중단할 수도 있다.
도 7은 본 개시의 다양한 실시예에 따른 배터리의 분리 가능성을 기반으로 소실될 수 있는 데이터를 보호하는 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 동작 701에서 전자장치 100의 제어부 110는 전자장치 100가 배터리 교체형 전자장치인지 여부를 체크할 수 있다. 제어부 110는 전자장치 100의 전원이 ON되는 경우 전자장치 100에 내장된 배터리의 내장 방식을 체크할 수 있다. 구체적으로 전자장치 100는 제조될 때 내부의 저장 공간에 배터리의 내장 방식을 체크할 수 있도록 임의의 코드를 저장할 수도 있다. 그리고 전자장치 100의 전원이 ON되는 경우 제어부 110는 기 저장된 코드를 기반으로 전자장치 100가 배터리 일체형 전자장치인지 또는 배터리 교체형 전자장치인지를 체크할 수 있다. 동작 703에서 제어부 110는 전자장치 100가 배터리 교체형 전자장치인지 여부를 판단할 수 있다.
동작 703에서 배터리 교체형 전자장치가 아닌 경우 동작 705에서 제어부 110는 저장장치 제어부 131에게 LSB 백업 동작의 중지를 요청할 수 있다. 여기서 배터리 교체형 전자장치가 아니라는 것은 전자장치 100가 배터리 일체형 전자장치임을 의미할 수 있다. 즉, 제어부 110는 배터리 일체형 전자장치임을 판단하고, LSB 백업 동작의 필요성이 낮거나 없다고 판단할 수 있다. 그리고 제어부 110는 저장장치 제어부 131에게 LSB 백업 동작의 중지를 요청할 수 있다. 도시되지는 않았지만, 저장장치 제어부 131는 상기 요청에 반응하여 상기 LSB 백업 동작을 중지하도록 할 수 있다. 여기서 LSB 백업 동작은 저장장치 제어부 131가 데이터의 소실을 방지하기 위하여 소실 가능성이 있는 데이터를 플래시 메모리 210 외의 임시 저장 공간으로 옮겨서 저장하는 동작일 수 있다. ‘LSB 백업 동작’은 데이터를 백업하는 동작으로 한정하지는 않는다. 여기서 ‘LSB 백업 동작’은 데이터를 온전하게 비휘발성 메모리 저장장치 130에 저장하도록 하기 위해 갑작스러운 에러(예, 전원차단) 상황을 대비하여 수행되는 저장장치 제어부 131의 동작일 수 있다. 동작 705에서 요청한 LSB 백업 동작의 중지에 대응하여 비휘발성 메모리 저장장치 130에 포함된 저장장치 제어부 131는 지속적으로 트래픽(traffic)을 사용하는 동작의 일부 또는 전부를 중지할 수 있다. 결과적으로, 저장장치 제어부 131에 의해 LSB 백업 동작이 중지됨에 따라 전자장치 100의 전체적인 성능은 향상될 수 있다.
동작 703에서 전자장치 100가 배터리 교체형 전자장치인 경우 동작 707에서 제어부 110는 LSB 백업 동작을 유지할 수 있다. 배터리 교체형 전자장치는 사용자가 배터리 141를 쉽게 교체할 수 있도록 배터리 커버가 있을 수 있으며, 외부의 충격에 의해 전자장치 100로부터 배터리 141가 분리될 가능성이 배터리 일체형 전자장치보다 클 수 있다. 이에 따라 동작 707에서 제어부 110는 데이터를 온전하게 보호할 수 있는 LSB 백업 동작을 유지할 수 있다. 동작 705에 대한 설명에서 ‘LSB 백업 동작’을 데이터 백업 동작과 유사하게 설명하였으나, 이에 한정하지는 않는다.
도 8은 본 개시의 다양한 실시예에 따른 센서부를 기반으로 전자장치의 가속도를 측정하고, 상기 측정한 가속도가 LSB 백업 제어 조건을 충족하는지 여부를 기반으로 데이터를 보호하는 방법을 설명하기 위한 순서도이다.
도 8을 참조하면, 동작 801에서 제어부 110는 센서부 150에 포함된 가속도 센서 151를 이용하여 전자장치 100의 가속도(예, 센서값)를 측정할 수 있다. 예를 들어, 전자장치 100가 떨어지는 경우 가속도 센서 151는 중력 가속도를 측정할 수 있다. 센서부 150는 가속도 센서 151, 중력 센서153, 지자기 센서 155 및 자이로스코프 센서 157를 포함하고 있으며, 제어부 110는 상기 센서부 150에 포함된 센서들을 이용하여 각각의 센서값을 측정할 수 있다.
그리고 동작 803에서 제어부 110는 상기 측정된 가속도가 기 설정된 LSB 백업 제어 조건을 충족하는지 여부를 판단할 수 있다. 여기서 기 설정된 LSB 백업 제어 조건은 배터리 141가 전자장치 100로부터 분리될 수 있는 상황을 판단하기 위해 개발자에 의해 미리 비휘발성 메모리 저장장치 130에 저장해둔 특정 센서 값 또는 범위일 수 있다. LSB 백업 제어 조건은 하나 또는 복수의 센서에 대응되는 센서값들일 수 있다. 즉, 가속도 센서 151를 통해 측정된 가속도가 기 설정된 LSB 백업 제어 조건을 충족하지 않는 경우 제어부 110는 LSB 백업 동작을 중지할 필요성이 있다고 판단할 수 있다. 전술된 내용은 가속도 센서 151를 기반으로 설명되었으나, 본 발명은 다수의 센서들이 이용될 수도 있다. 또한, 상기 다수의 센서를 이용하여 측정된 센서값들에 대응하여 본 발명은 비휘발성 메모리 저장장치 130에 기 저장된 다수의 기준 센서값들을 이용할 수도 있다.
동작 803에서 상기 측정된 가속도가 기 설정된 LSB 백업 제어 조건을 충족하지 않는 경우 동작 805에서 제어부 110는 저장장치 제어부 131에게 LSB 백업 동작의 중지를 요청할 수 있다. 여기서 LSB 백업 동작의 중지는 도 7의 동작 705 및 707에서 상술한 데이터 보호와 동일한 의미일 수 있다. 즉, 제어부 110는 측정된 가속도가 기 설정된 LSB 백업 제어 조건을 충족하지 않는 경우 LSB 백업 동작을 수행하지 않을 수 있다. 이에 따라, 전자장치 100의 성능은 보다 향상될 수 있다. 그리고 동작 803에서 기 설정된 전원차단 조건은 여러 개의 조건을 포함할 수 있으며, 제어부 110는 상기 측정된 가속도 값에 대응하여 여러 개의 LSB 백업 제어 조건 중에서 하나에 해당하는 동작을 수행할 수 있다. 예를 들어, LSB 백업 제어 조건은 여러 개의 조건을 포함하며, 상기 LSB 백업 제어 조건은 세분화되어 설정될 수도 있다. 예컨대, 전원차단 가능성을 예로 들면, LSB 백업 제어 조건은 전원차단 가능성이 30%, 50%, 70% 등으로 구분되어 있을 수도 있다. 그리고 제어부 110는 상기 측정된 가속도 값을 기반으로 전원차단 가능성을 판단하고, 상기 전원차단 가능성에 대응하여 LSB 백업 동작(예, 데이터 백업)의 일부 동작 또는 전체 동작을 생략하거나 추가할 수 있다.
동작 803에서 상기 측정된 가속도가 기 설정된 LSB 백업 제어 조건을 충족하는 경우 동작 807에서 제어부 110는 LSB 백업 동작을 유지할 수 있다. 구체적으로 동작 803에서 제어부 110는 LSB 백업 동작의 필요성이 있다고 판단하는 경우 동작 807에서 저장장치 제어부 131에게 LSB 백업 동작을 유지하도록 할 수 있다. 즉, 제어부 110는 데이터를 온전하게 보호할 수 있는 LSB 백업 동작을 그대로 유지하도록, 저장장치 제어부 131에게 신호를 전송할 수 있다. 여기서 LSB 백업 동작은 전자장치 100의 갑작스러운 전원 차단으로 인해 발생할 수 있는 데이터 소실을 방지하기 위해 데이터를 보호하는 동작일 수 있다. 예를 들어, 저장장치 제어부 131는 비휘발성 메모리 저장장치 130에 데이터를 저장하기 전에 상기 데이터를 임시 저장공간에 저장할 수 있다. 구체적으로 NAND 플래시 메모리를 사용하는 경우 저장장치 제어부 131는 하위 비트 데이터를 비휘발성 메모리 저장장치 130에 저장하기 전에 임시 저장공간에 저장할 수 있다. 여기서 임시 저장공간은 플래시 메모리 210 내부에 일정 영역을 할당하여 만들 수 있다. 따라서, 갑작스러운 전원차단이 발생하더라도, 저장장치 제어부 131는 임시 저장공간으로부터 하위 비트 데이터를 복구할 수 있다. 여기서 LSB 백업 제어 조건은 LSB 백업 동작의 필요성에 대응하여 상기 LSB 백업 동작의 일부 또는 전체를 수행하는 다양한 LSB 백업 동작 조건을 포함할 수 있다. 본 개시의 다양한 실시예에 따른 전자장치 100는 동작 805에서 데이터를 온전하게 보호할 수 있는 LSB 백업 동작을 중지함에 따라, 보다 효율적으로 전자장치 100를 운영할 수 있다. 즉, 전자장치 100의 성능은 LSB 백업 동작을 지속적으로 수행할 때 보다 더욱 향상될 수 있다. 전술된 내용에서는 가속도 센서를 이용하여 전원차단 가능성을 판단하였으나, 이에 한정하지는 않는다. 즉, 본 개시의 다양한 실시예에 따른 저장장치를 운영하는 방법은 가속도 센서 이외의 중력 센서, 지자기 센서, 자이로스코프 센서 및 배터리 커버 센서를 기반으로 센서값을 측정할 수 있으며, 적어도 하나 이상의 기준 센서값과 비교를 할 수 있다. 기준 센서값은 복수 개의 센서값일 수 있으며, 제어부 110는 측정된 센서값과 기준 센서값의 비교를 기반으로 LSB 백업 동작의 필요성을 판단할 수 있다. 그리고 제어부 110는 상기 LSB 백업 동작의 필요성에 대응되는 LSB 백업 제어 조건을 기반으로 LSB 백업 동작의 일부 동작 또는 전체 동작을 생략하거나 추가할 수 있다.
도시되지는 않았지만, 본 개시의 다양한 실시예에 따른 전자장치 100는 배터리 교체형 및 배터리 일체형을 기반으로 전원차단 대비 동작을 ON/OFF하는 것 이외에, 데이터를 송수신하는 상태를 기반으로 LSB 백업 동작을 ON/OFF하도록 제어할 수 있다. 전자장치 100는 부팅한 이후 전자장치 100의 상태를 체크할 수 있다. 예를 들어, 전자장치 100가 대용량의 파일을 다운로드하는 경우 제어부 110는 전자장치 100의 상태를 확인하고, 저장장치 제어부 131를 통해 LSB 백업 동작이 OFF되도록 상기 저장장치 제어부 131를 제어할 수 있다. 또는, 전자장치 100에 내장된 카메라로 BurstShot을 촬영하는 것과 같이, 일시적으로 데이터를 고속 처리해야 하는 경우 제어부 110는 LSB 백업 동작이 OFF되도록 할 수도 있다.
도 9는 본 개시의 다양한 실시예에 따른 배터리의 잔량을 측정하고, 상기 측정한 배터리의 잔량이 LSB 백업 제어 조건을 충족하는지 여부를 기반으로 데이터를 보호하는 방법을 설명하기 위한 순서도이다.
도 9를 참조하면, 동작 901에서 제어부 110는 배터리 141의 잔량을 측정할 수 있다. 예를 들어, 제어부 110는 전원부 140로부터 배터리 141에 대한 정보를 제공받을 수 있다. 상기 제공 받은 배터리 141에 대한 정보를 기반으로 제어부 110는 배터리 141의 잔량을 측정할 수 있다.
그리고 동작 903에서 제어부 110는 측정된 배터리 141의 잔량이 기 설정된 LSB 백업 제어 조건을 충족하는지 여부를 판단할 수 있다. 여기서 LSB 백업 제어 조건은 배터리 141가 방전되어 전자장치 100의 전원이 차단될 가능성이 높은 조건일 수 있다.
동작 903에서 배터리 141의 잔량이 상기 LSB 백업 제어 조건을 충족하지 않는 경우, 동작 905에서 제어부 110는 상기 LSB 백업 동작을 중지할 수 있다. 예를 들어, LSB 백업 제어 조건이 배터리 잔량 10% 미만이고, 상기 측정된 배터리 141의 잔량이 20%인 경우 제어부 110는 상기 LSB 백업 동작을 중지하도록 제어할 수 있다. 즉, 제어부 110는 아직 배터리 141의 잔량이 여유 있으므로, 데이터를 지속적으로 보호하기 위한 LSB 백업 동작의 필요성이 없다고 판단할 수 있다. 제어부 110가 LSB 백업 동작을 중지함으로써, 전자장치 100는 전원 유지 시간을 늘릴 수 있다.
반대로 동작 903에서 배터리 141의 잔량이 상기 LSB 백업 제어 조건을 충족하는 경우, 동작 907에서 제어부 110는 상기 LSB 백업 동작을 수행할 수 있다. 예를 들어, LSB 백업 제어 조건이 배터리 잔량 10% 미만이고, 상기 측정된 배터리 141의 잔량이 8%인 경우 제어부 110는 상기 LSB 백업 동작을 수행하도록 제어할 수 있다. 즉, 제어부 110는 배터리 141의 잔량이 부족하여 전자장치 100의 전원이 꺼짐으로써, 데이터를 보호하기 위한 LSB 백업 동작의 필요성이 있다고 판단할 수 있다. 동작 907에서 제어부 110는 LSB 백업 동작을 수행하도록 제어함으로써, 소실될 가능성이 있는 데이터를 보호할 수 있다.
다양한 실시 예에 따르면, 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적인 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 명세서와 도면에 개시된 실시 예들은 본 개시의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시 예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
100 : 전자장치 110 : 제어부
111 : LSB 백업 동작 판단 모듈
120 : 무선 통신부 130 : 비휘발성 메모리 저장장치
131 : 저장장치 제어부 140 : 전원부
141 : 배터리 150 : 센서부
151 : 가속도 센서 153 : 중력 센서
155 : 지자기 센서 157 : 자이로스코프 센서

Claims (19)

  1. 데이터의 소실을 방지할 수 있는 LSB(Least Significant Bit) 백업 모듈 및 LSB 백업동작의 수행을 제어하는 저장장치 제어부를 포함하는 비휘발성 메모리 저장장치;
    상기 비휘발성 메모리 저장장치에 초기화 명령을 전송하고, 상기 저장장치 제어부에 상기 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하는 프로세서; 를 포함하는 전자장치.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 LSB 백업동작의 필요 여부를 판단하고, 상기 LSB 백업동작의 필요 여부 판단에 따라 상기 비휘발성 메모리 저장장치에 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하는 것을 특징으로 하는 전자장치.
  3. 제 2 항에 있어서,
    상기 프로세서는,
    대용량의 데이터를 송수신하거나 특정 데이터를 고속 처리하는 경우이거나 전자장치의 배터리 잔량에 근거하거나 혹은 근거하는 방법 중 적어도 하나에 기반하여 상기 LSB 백업동작의 필요 여부를 판단하는 것을 특징으로 하는 전자장치.
  4. 제 1 항에 있어서,
    상기 프로세서는,
    전자장치의 전원 차단 가능성을 확인하고, 상기 전원 차단 가능성이 없다고 판단하는 경우 상기 비휘발성 메모리 저장장치에 LSB 백업동작 중지 명령을 전송하는 것을 특징으로 하는 전자장치.
  5. 제 4 항에 있어서,
    상기 프로세서는,
    상기 전자장치에 내장된 배터리의 내장 방식이 일체형 배터리인지 또는 교체형 배터리인지 여부를 체크하는 동작;
    상기 체크한 배터리가 상기 일체형 배터리인 경우 상기 전원 차단 가능성은 없다고 판단하는 것을 특징으로 하는 전자장치.
  6. 제 5 항에 있어서,
    상기 프로세서는,
    상기 비휘발성 메모리 저장장치에 기 저장되어 있는 코드값을 기반으로 상기 배터리의 내장 방식을 체크하는 것을 특징으로 하는 전자장치.
  7. 제 4 항에 있어서,
    상기 프로세서는,
    상기 전자장치에 포함된 센서부를 기반으로 센서값을 측정하고, 상기 측정한 센서값과 상기 비휘발성 메모리 저장장치에 기 저장된 기준 센서값을 비교하고, 상기 측정한 센서값이 상기 기준 센서값을 충족하지 않는 경우 상기 전원 차단 가능성은 없다고 판단하는 것을 특징으로 하는 전자장치.
  8. 제 1 항에 있어서,
    상기 프로세서는,
    상기 초기화 명령에 대한 저장 장치의 응답에 반응하여 상기 LSB 백업동작 중지 요청을 전송하는 것을 특징으로 하는 전자장치.
  9. 제 1 항에 있어서,
    상기 저장장치 제어부는,
    상기 LSB 백업의 동작여부에 대한 설정 정보를 내부적으로 저장하는 방법, LSB 백업회로에 인가되는 전압을 변경하는 방법 및 LSB 백업회로에 전달되는 전원을 차단하는 방법 중 적어도 하나를 활용하도록 상기 저장장치 제어부를 제어하는 것을 특징으로 하는 전자장치.
  10. 저장장치에 기능적으로 연결된 비휘발성 메모리 저장장치에 초기화 명령을 전송하는 동작;
    상기 비휘발성 메모리 저장장치에 포함된 저장장치 제어부에게 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하는 동작;
    상기 저장장치 제어부는 상기 명령에 대응하여 상기 LSB 백업동작을 중지하거나 실행하는 동작; 을 포함하는 저장장치 운영 방법.
  11. 제 10 항에 있어서,
    상기 저장장치에 기능적으로 연결된 비휘발성 메모리 저장장치에 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하는 동작은,
    상기 LSB 백업동작의 필요 여부를 판단하는 동작;
    상기 LSB백업동작이 필요 여부 판단에 따라, 상기 비휘발성 메모리 저장장치에 LSB 백업동작 중지 명령 혹은 실행 명령을 전송하는 동작; 을 포함하는 저장장치 운영 방법.
  12. 제 11 항에 있어서,
    상기 LSB 백업동작의 필요 여부를 판단하는 동작은,
    대용량의 데이터를 송수신하거나 특정 데이터를 고속 처리하는 경우이거나 전자장치의 배터리 잔량에 근거하거나 혹은 근거하는 방법 중 적어도 하나에 기반하여 상기 LSB 백업동작의 필요 여부를 판단하는 동작; 을 포함하는 저장장치 운영 방법.
  13. 제 10 항에 있어서,
    상기 저장장치에 기능적으로 연결된 비휘발성 메모리 저장장치에 LSB 백업동작 중지 명령을 전송하는 동작은,
    전자장치의 전원 차단 가능성을 확인하는 동작;
    상기 전원 차단 가능성이 없다고 판단하는 경우 상기 비휘발성 메모리 저장장치에 LSB 백업동작 중지 명령을 전송하는 동작; 을 포함하는 저장장치 운영 방법.
  14. 제 13 항에 있어서,
    상기 전자장치의 전원 차단 가능성을 확인하는 동작은,
    상기 전자장치에 내장된 배터리의 내장 방식이 일체형 배터리인지 또는 교체형 배터리인지 여부를 체크하는 동작;
    상기 체크한 배터리가 상기 일체형 배터리인 경우 상기 전원 차단 가능성은 없다고 판단하는 동작; 을 포함하는 저장장치 운영 방법.
  15. 제 14 항에 있어서,
    상기 배터리의 내장 방식을 체크하는 동작은,
    상기 비휘발성 메모리 저장장치에 기 저장되어 있는 코드값을 기반으로 상기 배터리의 내장 방식을 체크하는 동작; 을 포함하는 저장장치 운영 방법.
  16. 제 13 항에 있어서,
    상기 전자장치의 전원 차단 가능성을 확인하는 동작은,
    상기 전자장치에 포함된 센서부를 기반으로 센서값을 측정하는 동작;
    상기 측정한 센서값과 상기 비휘발성 메모리 저장장치에 기 저장된 기준 센서값을 비교하는 동작;
    상기 측정한 센서값이 상기 기준 센서값을 충족하지 않는 경우 상기 전원 차단 가능성은 없다고 판단하는 동작; 을 포함하는 저장장치 운영 방법.
  17. 제 10 항에 있어서,
    상기 LSB 백업동작 중지 요청을 전송하는 동작은,
    상기 초기화 명령에 대한 상기 저장 장치의 응답에 반응하여 상기 LSB 백업동작 중지 요청을 전송하는 동작; 을 포함하는 저장장치 운영 방법.
  18. 제 10 항에 있어서,
    상기 LSB 백업동작을 중지하도록 상기 저장장치 제어부가 제어하는 동작은,
    상기 LSB 백업의 동작여부에 대한 설정 정보를 내부적으로 저장하는 방법, LSB 백업회로에 인가되는 전압을 변경하는 방법 및 LSB 백업회로에 전달되는 전원을 차단하는 방법 중 적어도 하나를 활용하도록 상기 저장장치를 제어하는 동작; 을 포함하는 저장장치 운영 방법.
  19. 제 10 항에 있어서,
    상기 LSB 백업동작은,
    상기 저장장치 제어부를 제어하여 플래시 메모리에 저장된 데이터를 임시 저장공간에 저장한 후에 상기 비휘발성 메모리 저장장치로 옮겨서 저장하는 것을 특징으로 하는 저장장치 운영 방법.

KR1020150066201A 2015-05-12 2015-05-12 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치 KR20160133283A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150066201A KR20160133283A (ko) 2015-05-12 2015-05-12 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치
EP16169460.9A EP3101538B1 (en) 2015-05-12 2016-05-12 Configurable lsb backup technique for mlc flash memory saving power
US15/153,633 US10318184B2 (en) 2015-05-12 2016-05-12 Method for operating a non volatile memory of an electronic device and the electronic device implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150066201A KR20160133283A (ko) 2015-05-12 2015-05-12 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치

Publications (1)

Publication Number Publication Date
KR20160133283A true KR20160133283A (ko) 2016-11-22

Family

ID=55970874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150066201A KR20160133283A (ko) 2015-05-12 2015-05-12 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치

Country Status (3)

Country Link
US (1) US10318184B2 (ko)
EP (1) EP3101538B1 (ko)
KR (1) KR20160133283A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190096625A (ko) * 2018-02-09 2019-08-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10503436B2 (en) 2017-08-22 2019-12-10 SK Hynix Inc. Storage device and method of operating the same
US11397461B2 (en) 2017-05-16 2022-07-26 Micron Technology, Inc. Providing energy information to memory

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679609B (zh) * 2015-02-11 2017-12-15 北京配天技术有限公司 数控系统
KR102208058B1 (ko) * 2016-11-04 2021-01-27 삼성전자주식회사 저장 장치 및 이를 포함하는 데이터 처리 시스템
WO2019159716A1 (ja) * 2018-02-14 2019-08-22 日立オートモティブシステムズ株式会社 電子制御装置
KR20210039075A (ko) * 2019-10-01 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
CN113254261A (zh) * 2020-02-07 2021-08-13 伊姆西Ip控股有限责任公司 数据备份方法、电子设备和计算机程序产品

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
JP4682725B2 (ja) 2005-07-11 2011-05-11 株式会社デンソーウェーブ 携帯情報端末
KR100799688B1 (ko) * 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
KR20090042039A (ko) 2007-10-25 2009-04-29 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
US8775847B2 (en) * 2010-12-14 2014-07-08 Memory Technologies Llc Method and apparatus to boost mass memory performance given power supply availability
US9053809B2 (en) * 2011-11-09 2015-06-09 Apple Inc. Data protection from write failures in nonvolatile memory
US9141308B2 (en) * 2011-12-30 2015-09-22 Sandisk Technologies Inc. Controller and method for using a transaction flag for page protection
US8923045B2 (en) * 2012-05-31 2014-12-30 Seagate Technology Llc Multi-level cell (MLC) update with protected mode capability
KR20140104617A (ko) 2013-02-20 2014-08-29 삼성전자주식회사 서든 파워 오프 가능성 정보를 사용하는 모바일 장치 및 그것의 동작 방법
US8885418B1 (en) * 2013-09-24 2014-11-11 SanDisk Technologies, Inc. Adaptive double pulse BCF programming
CN104571933B (zh) * 2013-10-18 2017-10-13 光宝科技股份有限公司 具固态储存元件的电子装置及其相关控制方法
US8819337B1 (en) * 2014-04-16 2014-08-26 Sandisk Technologies Inc. Storage module and method for determining whether to back-up a previously-written lower page of data before writing an upper page of data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11397461B2 (en) 2017-05-16 2022-07-26 Micron Technology, Inc. Providing energy information to memory
US11720163B2 (en) 2017-05-16 2023-08-08 Micron Technology, Inc. Providing energy information to memory
US10503436B2 (en) 2017-08-22 2019-12-10 SK Hynix Inc. Storage device and method of operating the same
KR20190096625A (ko) * 2018-02-09 2019-08-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Also Published As

Publication number Publication date
EP3101538A1 (en) 2016-12-07
US10318184B2 (en) 2019-06-11
EP3101538B1 (en) 2018-07-04
US20160335011A1 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
KR20160133283A (ko) 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
US9778878B2 (en) Method and system for limiting write command execution
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
US9940021B2 (en) Method and system for memory management and memory storage device thereof
US8504760B2 (en) Method and apparatus for managing erase count of memory device
US9946478B2 (en) Memory managing method, memory control circuit unit and memory storage apparatus
US9773565B1 (en) Memory retry-read method, memory storage device and memory control circuit unit
US10649896B2 (en) Storage device and data processing system including the same
US20130060994A1 (en) Non-volatile memory management system with time measure mechanism and method of operation thereof
US10254979B1 (en) Relocating or aborting a block of data by a host, based on media policies managed by a storage device
US10262716B2 (en) Temperature dependent modes of operation of a semiconductor memory device
US10528264B2 (en) Storage device and data processing system including the same
US11635777B2 (en) Temperature control circuit, memory storage device and temperature control method
KR20180064617A (ko) 메모리의 온도에 따라 상이하게 동작하는 스토리지 장치
KR20120066347A (ko) 비휘발성 메모리 장치 및 그 구동 방법
CN110781029A (zh) 断电保护方法及系统
CN106814968B (zh) 存储器管理方法与系统及其存储器存储装置
KR101599835B1 (ko) 보조 전원 장치 및 그것을 포함하는 사용자 장치
US10346040B2 (en) Data merging management method based on data type, memory storage device and memory control circuit unit
KR20160025377A (ko) 반도체 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
US20220374216A1 (en) Method of manufacturing information processing apparatus and mobile computer
KR20150059439A (ko) 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템
EP3563214B1 (en) Enabling functions of a memory device in a plurality of phases
US20190087175A1 (en) Ssd firmware download dual boot