KR102208058B1 - 저장 장치 및 이를 포함하는 데이터 처리 시스템 - Google Patents

저장 장치 및 이를 포함하는 데이터 처리 시스템 Download PDF

Info

Publication number
KR102208058B1
KR102208058B1 KR1020170041512A KR20170041512A KR102208058B1 KR 102208058 B1 KR102208058 B1 KR 102208058B1 KR 1020170041512 A KR1020170041512 A KR 1020170041512A KR 20170041512 A KR20170041512 A KR 20170041512A KR 102208058 B1 KR102208058 B1 KR 102208058B1
Authority
KR
South Korea
Prior art keywords
host
attribute
battery
data
storage device
Prior art date
Application number
KR1020170041512A
Other languages
English (en)
Other versions
KR20180050195A (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 DE102017115333.0A priority Critical patent/DE102017115333A1/de
Priority to CN201711068193.4A priority patent/CN108021471A/zh
Priority to TW106122970A priority patent/TWI718317B/zh
Publication of KR20180050195A publication Critical patent/KR20180050195A/ko
Application granted granted Critical
Publication of KR102208058B1 publication Critical patent/KR102208058B1/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/061Improving I/O performance
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/065Replication 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 배터리 탈착 가능 여부에 대한 정보를 기초로, LSB 백업 동작 또는 동기화 동작의 수행 여부, 즉 SPOR 동작의 수행 여부를 결정함으로써, 성능과 수명을 개선시킬 수 있는 저장 장치 및 이를 포함하는 데이터 처리 시스템에 관한 것이다. 상기 데이터 처리 시스템은, 호스트, 상기 호스트로부터 수신한 데이터를 저장하는 메모리와, 상기 데이터를 임시로 저장하는 캐시(cache)와, 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치, 및 상기 호스트 및 상기 저장 장치에 전원을 공급하는 배터리를 포함하되, 상기 컨트롤러는, 상기 호스트로부터 상기 배터리의 착탈 가능 속성을 수신하고, 상기 착탈 가능 속성을 기초로, 상기 호스트의 쓰기 명령(Write CMD)에 대하여 상기 데이터의 백업 동작(backup)의 수행 여부를 결정한다.

Description

저장 장치 및 이를 포함하는 데이터 처리 시스템{Storage device and data processing system including the same}
본 발명은 저장 장치 및 이를 포함하는 데이터 처리 시스템에 관한 것이다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면, MP3 플레이어, 디지털 카메라(Digital Camera), 휴대전화(Mobile Phone), 캠코더, 플래시 카드(flash card), 및 SSD(Solid State Disk) 등은 저장 장치로 비 휘발성 메모리를 사용하고 있다.
저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다. 메모리 용량을 증가시키는 방법들 중 하나는 하나의 메모리 셀(cell)에 다수의 비트들을 저장하는 방식인 이른바 멀티 레벨 셀(MLC: Multi Level Cell) 방식이다.
예를 들어, 하나의 메모리 셀에 멀티 비트 데이터(multi bit data)가 저장되는 멀티 레벨 셀(MLC; Multi Level Cell)의 경우, 하나의 메모리 셀에 하위 비트(LSB: Least Significant Bit)와 상위 비트(MSB: Most Significant Bit), 즉 2 비트 데이터가 프로그램될 수 있다.
이때, 하위 비트(LSB)가 프로그램되어 있는 메모리 셀에 상위 비트(MSB)를 프로그램하는 과정에서, 예상치 못한 프로그램 페일(program fail)에 의해 에러가 발생하는 경우가 있을 수 있다. 이를 방지하고, 저장 장치의 안정성을 확보하기 위하여, 하위 비트(LSB)를 백업(Backup)하거나, 주기적으로 캐시(cache)에 임시로 저장된 데이터를 동기화(synchronization) 시키는 SPOR(Sudden Power Off Recovery) 방법이 이용될 수 있다.
한편, 저장 장치는 예컨대, 하이버네이션(hibernation)을 수행하여 슬립(sleep) 모드로 동작하여 전력 관리를 할 수 있다.
본 발명이 해결하고자 하는 기술적 과제는, 배터리 탈착 가능 여부에 대한 정보를 포함하는 배터리 정보를 기초로, LSB 백업 동작 또는 동기화 동작의 수행 여부, 즉 SPOR 동작의 수행 여부를 결정함으로써, 성능과 수명을 개선시킬 수 있는 저장 장치 및 이를 포함하는 데이터 처리 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 배터리 충전 동작 여부에 대한 정보를 포함하는 배터리 정보를 기초로, 하이버네이션의 수행 여부를 결정함으로써, 성능과 수명을 개선시킬 수 있는 저장 장치 및 이를 포함하는 데이터 처리 시스템을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 데이터 처리 시스템의 일 태양(aspect)은, 호스트, 상기 호스트로부터 수신한 데이터를 저장하는 메모리와, 상기 데이터를 임시로 저장하는 캐시(cache)와, 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치, 및 상기 호스트 및 상기 저장 장치에 전원을 공급하는 배터리를 포함하되, 상기 컨트롤러는, 상기 호스트로부터 상기 배터리의 착탈 가능 속성을 수신하고, 상기 착탈 가능 속성을 기초로, 상기 호스트의 쓰기 명령(Write CMD)에 대하여 상기 데이터의 백업 동작(backup)의 수행 여부를 결정한다.
상기 과제를 해결하기 위한 본 발명의 저장 장치의 일 태양은, 호스트로부터 커맨드(CMD)과 데이터를 수신하는 인터페이스, 수신한 상기 데이터를 저장하는 메모리, 상기 데이터를 임시로 저장하는 캐시(cache), 및 상기 호스트의 상기 커맨드를 기초로 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치로서, 상기 커맨드는, 상기 저장 장치에 전원을 공급하는 배터리의 착탈 가능 속성을 포함하고, 상기 데이터는, LSB와 MSB를 포함하되, 상기 컨트롤러는, 상기 착탈 가능 속성을 기초로, 상기 호스트의 쓰기 명령(Write CMD)에 대하여 상기 데이터의 상기 LSB를 상기 메모리 또는 상기 캐시에 저장하는 백업 동작의 수행 여부를 결정한다.
상기 과제를 해결하기 위한 본 발명의 저장 장치의 다른 태양은, 호스트로부터 커맨드(CMD)과 데이터를 수신하는 인터페이스, 수신한 상기 데이터를 저장하는 메모리, 상기 데이터를 임시로 저장하는 캐시(cache), 및 상기 호스트의 상기 커맨드를 기초로 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치로서, 상기 커맨드는, 상기 저장 장치에 전원을 공급하는 배터리의 착탈 가능 속성을 포함하고, 상기 컨트롤러는, 상기 착탈 가능 속성을 기초로, 상기 호스트의 동기화 명령(Sync CMD)에 대하여, 상기 캐시에 저장된 데이터를 상기 메모리로 이동시키는 동기화 동작의 수행 여부를 결정한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템을 설명하기 위한 블럭도이다.
도 2는 본 발명의 몇몇 실시예에 따른 저장 장치를 설명하기 위한 블럭도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 7은 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 9는 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 10은 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템을 포함하는 메모리 시스템을 설명하기 위한 블럭도이다.
도 11는 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템을 포함하는 메모리 시스템이 탑재되는 다양한 전자 제품의 응용 예를 나타내는 도면이다.
이하에서, 도 1 내지 도 11을 이용하여, 본 발명의 몇몇 실시예에 따른 저장 장치 및 이를 포함하는 데이터 처리 시스템에 대해 설명한다.
도 1은 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템을 설명하기 위한 블럭도이다.
도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템은 저장 장치(100)(Storage Device), 호스트(200)(Host) 및 배터리(300)를 포함한다. 여기에서, 각각의 구성은 별개의 칩이나 모듈이나 장치로 구성될 수 있고, 하나의 장치 내에 포함될 수도 있다. 예를 들어, 저장 장치(100)는 별개의 호스트(200)에 연결되어 사용될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니고, 저장 장치(100)와 호스트(200)는 하나의 장치에 집적될 수 있다.
호스트(200)는 애플리케이션이나 파일 시스템을 이용하여 저장 장치(100)로 읽기 또는 쓰기 등의 요청을 한다. 예를 들어, 호스트(200)는 저장 장치(100)에 쓰기 동작 또는 동기화 동작을 수행할 것을 지시하는 커맨드(CMD)를 전달할 수 있다. 저장 장치(100)는 커맨드에 포함된 요청(예를 들어, 쓰기 명령(Write CMD), 동기화 명령(Sync CMD))에 대한 응답(response)을 호스트(200)에 전달할 수 있다.
저장 장치(100)는 호스트(200)로부터의 요청에 따라 내부 동작(예를 들면, 읽기 또는 쓰기, 동기화 동작 등)을 제어할 수 있다.
저장 장치(100)는 비휘발성 메모리 장치를 포함한다. 예를 들어, 저장 장치(100)는 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS), 임베디드 멀티미디어 카드(eMMC) 등을 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
배터리(300)는 데이터 처리 시스템에 포함된 구성요소에 전력을 공급한다. 즉, 배터리(300)는 저장 장치(100) 및 호스트(200) 전력을 공급할 수 있다. 도면에 명확하게 도시하지는 않았으나, 배터리(300)는 데이터 처리 시스템에서 탈착이 가능하도록 구성된 탈착형(removable) 배터리와, 데이터 처리 시스템에서 탈착이 불가능하도록 구성된 고정형(Fixed) 배터리를 포함할 수 있다.
배터리(300)는 데이터 처리 시스템 내에서 탈착형(removable) 또는 고정형(Fixed)의 속성을 가진다. 즉, 배터리(300)를 데이터 처리 시스템 내에서 물리적으로 분리시킬 수 있는 경우, 배터리(300)는 탈착형(removable)에 해당한다. 반대로, 배터리(300)를 데이터 처리 시스템 내에서 물리적으로 분리시킬 수 없는 경우, 배터리(300)는 고정형(Fixed)에 해당한다.
배터리(300)가 탈착형(removable)인 경우, 저장 장치(100) 및 호스트(200)에 전달하는 전력이 예상치 못한 상황에서 중단될 수 있다. 이러한 경우를 대비하여, 저장 장치(100)는 SPOR(Sudden Power Off Recovery; 이하 SPOR) 동작을 수행할 수 있다. SPOR 동작에 대한 자세한 설명은 후술하도록 한다.
다만, 배터리(300)가 고정형(Fixed)인 경우, 저장 장치(100) 및 호스트(200)에 전달하는 전력이 예상치 못한 상황에서 중단되는 일은 거의 발생하지 않는다. 이 경우, 데이터 처리 시스템은 SPOR 동작을 생략할 수 있다. SPOR 동작을 생략하는 경우, SPOR 동작을 수행하는데 필요한 시스템의 리소스를 절약하여, 데이터 처리 시스템의 성능 및 수명을 개선시킬 수 있다.
호스트(200)는 저장 장치(100)에 배터리(300)에 관한 정보, 즉 배터리 정보를 전달한다. 배터리 정보는 배터리(300)의 탈착 가능 속성, 배터리(300)의 충전율, 배터리(300)의 충전 동작 상태 속성 등을 포함할 수 있다. 배터리(300)의 탈착 가능 속성은 배터리(300)가 탈착형(removable)인지 고정형(Fixed)인지를 나타내는 정보이고, 배터리(300)의 충전율(Charge Rate)은 배터리(300)가 몇 퍼센트의 비율로 충전이 되어 있는지를 나타내는 정보이다. 그리고 배터리(300)의 충전 동작 상태 속성은 배터리(300)가 현재 충전 중에 있는지 또는 충전 중이 아닌지 여부를 나타내는 정보이다. 이에 대한 구체적인 설명은 도 3 내지 도 9와 관련하여 후술하도록 한다.
또한 호스트(200)는 저장 장치(100)에 데이터의 보호 속성(Protection Attribute)을 전달할 수 있는데, 이에 대한 구체적인 설명은 도 5와 관련하여 후술하도록 한다. 구현 방식에 따라, 호스트(200)가 저장 장치(100)에 전달하는 데이터의 보호 속성은, 앞서 설명한 배터리 정보에 포함되도록 구현될 수도 있고, 배터리 정보와는 별개로 전달되도록 구현될 수도 있다.
본 발명의 몇몇의 실시예에서, 호스트(200)는 배터리 정보, 데이터의 보호 속성 등을 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 저장 장치(100)에 전달할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
도 2는 본 발명의 몇몇 실시예에 따른 저장 장치를 설명하기 위한 블럭도이다.
도 2를 참조하면, 본 발명의 몇몇 실시예에 따른 저장 장치(100)는 컨트롤러(110)(controller), 캐시(120)(cache), 메모리(130)(memory), 인터페이스(140)(interface)를 포함할 수 있다.
컨트롤러(110)는 캐시(120), 메모리(130) 및 인터페이스(140)를 제어할 수 있다. 컨트롤러(110)는 인터페이스(140)를 통하여 호스트(200)와 메모리(130) 및 호스트(200)와 캐시(120) 사이의 명령어 및 데이터 교환을 수행할 수 있다.
캐시(120)는 호스트(200)로부터 수신한 데이터를 임시로 저장할 수 있다. 캐시(120)는 고속의 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 예를 들어, 캐시(120)는 SRAM, 또는 플래시 메모리의 SLC(Single Level Cell) 영역일 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
캐시(120)는 메모리(130)로부터 펌웨어(Firmware: 이하 F/W)를 로드하고, 컨트롤러(110)의 호출이 있는 경우, 상기 펌웨어(F/W)를 컨트롤러(110)에 제공할 수 있다. 펌웨어(F/W)는 컨트롤러(110)의 동작에 필요한 여러 명령들을 포함할 수 있다. 상기 명령들은 어셈블리어로 구성될 수 있으며, 이들의 조합으로 특정 동작을 수행하는 펌웨어 코드(F/W code)가 작성될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
메모리(130)는 호스트(200)로부터 수신한 데이터를 저장할 수 있다. 메모리(130)는 비휘발성 메모리를 포함할 수 있다. 예를 들어, 메모리(130)는 낸드 플래시(NAND flash)를 포함하는 플래시 메모리일 수 있다. 상기 플래시 메모리는 SLC 및 MLC 영역을 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
인터페이스(140)는 호스트(200) 및 컨트롤러(110) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 수 있다. 예시적으로, 인터페이스(140)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, IDE (Integrated Drive Electronics) 프로토콜, 그리고 Query Request 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(200)와 통신하도록 구성될 수 있다.
도면에 명확히 도시하지는 않았으나, 본 발명의 저장 장치(100)는, 컨트롤러(110), 캐시(120), 메모리(130), 및 인터페이스(140)가 서로 데이터 통신을 하는데 이용될 수 있는 데이터 버스를 더 포함할 수 있다. 데이터 버스는 데이터들이 이동되는 통로(path)에 해당하며, 데이터 교환을 수행하기 위한 프로토콜을 포함할 수 있다.
본 발명의 저장 장치(100)는 호스트(200)로부터 수신한 데이터의 안정성을 보장하기 위하여 SPOR 동작을 수행할 수 있다. SPOR 동작은 백업(Backup) 또는 동기화(synchronization) 동작을 포함한다.
구체적으로, 저장 장치(100)가 호스트(200)로부터 전달받은 데이터에 대한 쓰기 명령(Write CMD)을 수신한 경우, 저장 장치(100)는 수신한 데이터를 메모리(130)에 기록하는 백업 동작을 수행한다. 이때, 수신된 데이터를 기록하는 도중 예상치 못한 상황(예를 들어, 전력 공급의 중단)에 대비하기 위하여, 데이터의 일부를 고속으로 동작하는 캐시(120) 또는 메모리(130)의 고속 영역(예를 들어, SLC 영역)에 저장하는 백업 동작을 수행할 수 있다.
더욱 구체적으로, 호스트(200)로부터 수신한 데이터는 LSB(Least Significant Bit; 이하 LSB)와 MSB(Most Significant Bit; 이하 MSB)를 포함한다. 컨트롤러(110)는 수신된 데이터를 기록하는 쓰기 명령(Write CMD) 중에 예상치 못한 상황이 발생하는 경우를 대비하기 위하여, LSB를 캐시(120) 또는 메모리(130)의 고속 영역(예를 들어, SLC 영역)에 임시로 저장할 수 있다.
또한, 저장 장치(100)가 호스트(200)로부터 전달받은 데이터에 대한 동기화 명령(Sync CMD)을 수신한 경우, 저장 장치(100)는 캐시(120)에 저장된 데이터를 메모리(130)로 이동시키는 동기화 동작을 수행할 수 있다.
이와 같은 SPOR 동작을 통하여 저장 장치(100) 및 이를 포함하는 데이터 처리 시스템은 데이터의 안정성을 확보할 수는 있다. 다만, 그에 대한 트레이드오프(trade-off)로서, 과도한 캐시(120) 및 메모리(130)의 자원 사용에 따른 성능 저하 및 수명 저하를 야기할 수 있다.
이에 본 발명의 컨트롤러(110)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성에 따라, SPOR 동작의 수행 여부를 결정할 수 있다.
만약, 배터리(300)의 탈착 가능 속성이 고정형(Fixed)인 경우, 데이터 처리 시스템은 SPOR 동작을 수행하지 않을 수 있다. 이 경우, SPOR 동작을 수행하는데 필요한 시스템의 자원을 절약할 수 있으므로, 전체적인 시스템 성능의 향상 및 저장 장치의 수명의 증가의 효과를 발생시킬 수 있다.
이하에서는, 배터리(300)의 탈착 가능 속성에 따른, 본 발명의 저장 장치(100) 및 이를 포함하는 데이터 처리 시스템에 대한 구체적인 동작에 대해 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 배터리(300)의 탈착 가능 속성이 고정형(Fixed)인 경우, 본 발명의 데이터 처리 시스템은 데이터 보호 기능을 비활성화 시킨다. 반대로, 배터리(300)의 탈착 가능 속성이 탈착형(removable)인 경우, 본 발명의 데이터 처리 시스템은 데이터 보호 기능을 활성화 시킨다.
구체적으로, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 전달한다(S110). 이때, 배터리(300)의 탈착 가능 속성은 고정형(Fixed)이다. 호스트(200)는 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 전달할 수 있다.
이어서, 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 수신한 뒤, 데이터 보호 기능 즉, SPOR 동작을 비활성화 시킨다(Protection Disable)(S115).
이어서, 호스트(200)는 저장 장치(100)에 데이터의 쓰기 명령(Write CMD)을 전달한다(S120).
이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 백업 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S125).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S130).
이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S135). 이 경우, 저장 장치(100)는 캐시(120)에 저장된 데이터가 일정 양만큼 모이는 경우에 동기화 동작을 수행하고, 그 전까지는 동기화 명령(Sync CMD)에도 불구하고 동기화 동작을 수행하지 않는다.
본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 전달한다(S150). 이때, 배터리(300)의 탈착 가능 속성은 탈착형(removable)이다. 호스트(200)는 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 전달할 수 있다.
이어서, 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 수신한 뒤, 데이터 보호 기능 즉, SPOR 동작을 활성화 시킨다(Protection enable)(S155).
이어서, 호스트(200)는 저장 장치(100)에 데이터의 쓰기 명령(Write CMD)을 전달한다(S160).
이에, 저장 장치(100)는 SPOR 동작이 활성화 되어있는 상태이므로, 백업 동작을 수행한다. 구체적으로, 저장 장치(100)는 수신된 데이터에 포함된 LSB와 MSB 중에서, LSB를 캐시(120) 또는 메모리(130)의 고속 영역(예를 들어, SLC)에 저장하는 LSB 백업 동작을 수행할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다. 백업 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S165).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S170).
이에, 저장 장치(100)는 SPOR 동작이 활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행한다. 동기화 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S175).
즉, 본 발명의 일 실시예에 따른 데이터 처리 시스템은 배터리(300)의 탈착 가능 속성이 고정형(Fixed)인 경우, SPOR 동작을 수행하지 않음으로써, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
도 4는 본 발명의 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 4를 참조하면, 본 발명의 다른 실시예에 따른 데이터 처리 시스템에서 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성 및 배터리(300)의 충전율(Charge Rate)을 포함하는 배터리 정보를 수신할 수 있다. 앞서 설명한 바와 같이, 배터리(300)의 충전율은 배터리(300)가 몇 퍼센트의 비율로 충전이 되어 있는지를 나타낸다.
배터리(300)의 탈착 가능 속성이 고정형(Fixed)이고, 배터리(300)의 충전율이 10%보다 큰 경우, 본 발명의 데이터 처리 시스템은 데이터 보호 기능을 비활성화 시킨다. 반대로, 배터리(300)의 탈착 가능 속성이 탈착형(removable)이거나, 배터리(300)의 충전율이 10%보다 작은 경우, 본 발명의 데이터 처리 시스템은 데이터 보호 기능을 활성화 시킨다.
본 발명의 다른 실시예에 따른 데이터 처리 시스템에서 배터리(300)의 탈착 가능 속성이 고정형(Fixed)이고, 배터리(300)의 충전율이 10%보다 큰 경우를 예를 들어 설명하면, 호스트(200)는 저장 장치(100)에 배터리(300)의 탈착 가능 속성과 배터리(300)의 충전율을 포함하는 배터리 정보를 전달한다(S210).
이어서, 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성 및 충전율을 포함하는 배터리 정보를 수신한 뒤, 데이터 보호 기능 즉, SPOR 동작의 활성화 여부를 결정한다(S215). 이 경우, 배터리(300)의 탈착 가능 속성이 고정형(Fixed)이고, 배터리(300)의 충전율이 10%보다 크므로, SPOR 동작은 비활성화된다 (Protection Disable).
이어서, 호스트(200)는 저장 장치(100)에 데이터의 쓰기 명령(Write CMD)을 전달한다(S220).
이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 백업 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S225).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S230).
이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S235).
본 발명의 다른 실시예에 따른 데이터 처리 시스템에서 배터리(300)의 탈착 가능 속성이 탈착형(removable)이거나, 배터리(300)의 충전율이 10%보다 작은 경우를 예를 들어 설명하면, 호스트(200)는 저장 장치(100)에 배터리(300)의 탈착 가능 속성 및 충전율을 포함하는 배터리 정보를 전달한다(S250).
이어서, 저장 장치(100)는 수신된 배터리(300)의 탈착 가능 속성 및 충전율을 기초로, SPOR 동작의 활성화 여부를 결정한다(S255). 이 경우, 배터리(300)의 탈착 가능 속성이 탈착형(removable)이거나, 배터리(300)의 충전율이 10%보다 작으므로, SPOR 동작은 활성화 된다(Protection enable).
이어서, 호스트(200)는 저장 장치(100)에 데이터의 쓰기 명령(Write CMD)을 전달한다(S260).
이에, 저장 장치(100)는 SPOR 동작이 활성화 되어있는 상태이므로, 백업 동작을 수행한다. 구체적으로, 저장 장치(100)는 수신된 데이터에 포함된 LSB와 MSB 중에서, LSB를 캐시(120) 또는 메모리(130)의 고속 영역(예를 들어, SLC)에 저장하는 LSB 백업 동작을 수행한다. 백업 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S265).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S270).
이에, 저장 장치(100)는 SPOR 동작이 활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행한다. 동기화 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S275).
즉, 본 발명의 다른 실시예에 따른 데이터 처리 시스템은, 배터리(300)의 탈착 가능 속성 및 배터리(300)의 충전율까지 고려하여 SPOR 동작의 수행여부를 판단함으로써, 시스템의 안정성은 높은 상태로 유지한 채, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 5를 참조하면, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템에서 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성 및 데이터의 보호 속성(Protection Attribute)을 수신할 수 있다. 도 1과 관련하여 앞서 설명한 바와 같이, 구현 방식에 따라, 호스트(200)가 저장 장치(100)에 전달하는 데이터의 보호 속성은, 배터리(300)의 탈착 가능 속성과 함께 배터리 정보에 포함되도록 구현될 수도 있고, 배터리 정보와는 별개로 전달되도록 구현될 수도 있다. 한편, 호스트(200)로부터 저장 장치(100)로 수신된 데이터는 복수의 논리적 유닛(Logical Unit; 이하 LU) 단위를 포함할 수 있다.
호스트(200)는 각각의 논리적 유닛(LU) 마다 보호 속성을 설정할 수 있다. 저장 장치(100)는 수신된 논리적 유닛(LU)의 보호 속성을 기초로, SPOR 동작 여부를 결정할 수 있다.
다만, 본 발명의 실시예에서, 배터리(300)의 탈착 가능 속성이 탈착형(removable)인 경우에는, 무조건 SPOR 동작이 수행되므로, 논리적 유닛(LU)의 보호 속성은 배터리(300)의 탈착 가능 속성이 고정형(Fixed)인 경우에만 고려될 수 있다.
예를 들어, 배터리(300)의 탈착 가능 속성이 고정형(Fixed)이고, 수신된 제1 논리적 유닛(LU1)의 보호 속성이 활성화된 경우(예를 들어, 보호 속성에 포함된 Protection 값이 '1'인 경우), 본 발명의 데이터 처리 시스템은 데이터 보호 기능을 활성화 시킨다(S310, S315).
이어서, 호스트(200)는 저장 장치(100)에 데이터의 쓰기 명령(Write CMD)을 전달한다(S320). 이에, 저장 장치(100)는 SPOR 동작이 활성화 되어있는 상태이므로, 백업 동작을 수행한다. 구체적으로, 저장 장치(100)는 수신된 데이터에 포함된 LSB와 MSB 중에서, LSB를 캐시(120) 또는 메모리(130)의 고속 영역(예를 들어, SLC)에 저장하는 LSB 백업 동작을 수행한다. 백업 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S325).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S330). 이에, 저장 장치(100)는 SPOR 동작이 활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행한다. 동기화 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S335).
다른 예로, 배터리(300)의 탈착 가능 속성이 고정형(Fixed)이고, 수신된 제2 논리적 유닛(LU0)의 보호 속성이 비활성화된 경우(예를 들어, 보호 속성에 포함된 Protection 값이 '0'인 경우), 본 발명의 데이터 처리 시스템은 데이터 보호 기능을 비활성화 시킨다(S350, S355).
이어서, 호스트(200)는 저장 장치(100)에 데이터의 쓰기 명령(Write CMD)을 전달한다(S360). 이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 백업 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S365).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S370). 이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S375).
즉, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템은, 배터리(300)의 탈착 가능 속성 및 데이터에 포함된 복수의 논리적 유닛(LU)의 보호 속성까지 고려하여, 논리적 유닛(LU) 단위별로 SPOR 동작의 수행여부를 판단한다. 이를 통해, 본 발명의 데이터 처리 시스템은 안정성은 높은 상태로 유지한 채, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 6을 참조하면, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 전달한다(S410). 이때, 배터리(300)의 탈착 가능 속성은 고정형(Fixed)이다.
이어서, 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 수신한 뒤, SPOR 동작의 활성화 여부를 결정한다(S415). 이 경우, 배터리(300)의 탈착 가능 속성이 고정형(Fixed)이므로, SPOR 동작을 비활성화 시킨다(Protection Disable).
이어서, 호스트(200)는 저장 장치(100)에 캐시 쓰기 명령(Cache Write CMD)을 전달한다(S420). 이에, 저장 장치(100)는 SPOR 동작이 활성화 여부와는 관계없이, 호스트(200)로부터 수신한 데이터를 캐시(120)의 버퍼에 저장한다. 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S425).
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S430). 이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S435).
이어서, S440 내지 S465 단계에서는, 앞에서 설명한 S420 내지 S435 단계를 반복한다. 이때, 각각의 단계는 순차적으로 수행되는 것에 한정되지 않는다.
이어서, 저장 장치(100)가 호스트(200)로부터 캐시 쓰기 명령(Cache Write CMD)을 수신하였으나, 캐시(120)의 버퍼의 저장 공간이 가득찬 경우(Cache Buffer = Full), 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행한 뒤, 캐시(120)를 초기화 시킨다(S470, S475).
즉, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템은, 실제 동기화 명령(Sync CMD)은 수행하지 않으면서, 캐시(120)의 버퍼의 저장용량이 가득 찬 경우에만 동기화 동작을 수행함으로써, 시스템의 리소스를 절약할 수 있다. 이를 통해, 본 발명의 데이터 처리 시스템은 안정성은 높은 상태로 유지한 채, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 전달한다(S510). 이때, 배터리(300)의 탈착 가능 속성은 고정형(Fixed)이다.
이어서, 저장 장치(100)는 호스트(200)로부터 배터리(300)의 탈착 가능 속성을 포함하는 배터리 정보를 수신한 뒤, SPOR 동작의 활성화 여부를 결정한다(S515). 이 경우, 배터리(300)의 탈착 가능 속성이 고정형(Fixed)이므로, SPOR 동작을 비활성화 시킨다(Protection Disable).
이어서, 호스트(200)는 저장 장치(100)에 캐시 쓰기 명령(Cache Write CMD)을 전달한다(S520). 이에, 저장 장치(100)는 SPOR 동작이 활성화 여부와는 관계없이, 호스트(200)로부터 수신한 데이터를 캐시(120)의 버퍼에 저장한다. 동작을 완료한 후, 저장 장치(100)는 작업 완료에 대한 응답 신호(response)를 호스트(200)에 전달한다(S525).
이어서, S530 내지 S535 단계에서는, 앞에서 설명한 S520 내지 S525 단계를 반복한다.
이어서, 호스트(200)는 저장 장치(100)에 동기화 명령(Sync CMD)을 전달한다(S540). 이에, 저장 장치(100)는 SPOR 동작이 비활성화 되어있는 상태이므로, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작을 수행하지 않고, 단순히 작업 완료에 대한 응답 신호(response)만을 호스트(200)에 전달한다(S545).
이어서, 호스트(200)는 저장 장치(100)에 하드웨어 리셋 명령(HW reset)을 전달한다(S550). 이에, 저장 장치(100)는 캐시(120)를 제외한 다른 구성요소(예를 들어, 컨트롤러(110), 메모리(130), 및 인터페이스(140)를 모두 리셋(reset) 시킨다. 이때, 호스트(200)도 자체적으로 리셋 동작을 수행할 수 있다(S555).
이어서, 호스트(200)는 저장 장치(100)에 초기화 명령(initialize)을 전달한다(S560). 이에, 저장 장치(100)는 캐시(120)를 제외한 다른 구성요소(예를 들어, 컨트롤러(110), 메모리(130), 및 인터페이스(140)를 모두 초기화(initialize) 시킨 뒤, 캐시(120)에 저장된 데이터를 메모리(130)에 이동시키는 동기화 동작 수행 후 캐시(120)를 초기화 시킨다(S565).
즉, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템은, 실제 동기화 명령(Sync CMD)은 수행하지 않고, 데이터를 캐시(120)에 저장한다. 다만, 하드웨어 리셋 명령(HW reset)이 있는 경우, 캐시(120)를 제외한 나머지 구성요소를 모두 리셋 및 초기화 시킨 뒤, 캐시(120)를 동기화 시킴으로써, 캐시(120)에 저장된 데이터를 안전하게 보전할 수 있다. 이를 통해, 본 발명의 데이터 처리 시스템은 안정성은 높은 상태로 유지한 채, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
이하에서는, 배터리(300)의 충전 동작 상태 속성에 따른, 본 발명의 저장 장치(100) 및 이를 포함하는 데이터 처리 시스템에 대한 구체적인 동작에 대해 설명하도록 한다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 8을 참조하면, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템에서 배터리(300)가 충전 중에 해당하는 경우, 본 발명의 데이터 처리 시스템은 하이버네이션을 수행하지 않는다. 반대로, 배터리(300)가 충전 중에 해당하지 않는 경우, 본 발명의 데이터 처리 시스템은 하이버네이션을 수행할 수 있다.
구체적으로, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)을 포함하는 배터리 정보를 전달한다(S610). 이때, 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)은 당시 배터리(300)가 충전 중임을 나타내는 제1 값(예컨대 1)을 갖는다. 호스트(200)는 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 배터리(300)의 충전 동작 상태 속성을 포함하는 배터리 정보를 전달할 수 있다.
이어서, 호스트(200)는 저장 장치(100)에 하이버네이션 진입 요청(Hibernation Enter Request, HEN Request)을 전송한다(S620).
이에 저장 장치(100)는 충전 동작 상태 속성이 당시 배터리(300)가 충전 중임을 나타내고 있으므로, 하이버네이션을 수행하지 않는다(S625).
이후 호스트(200)가 저장 장치(100)에 하이버네이션 종료 요청(Hibernation Exit Request, HEX Request)를 전송한다(S630). 저장 장치(100)에서 하이버네이션은 수행되지 않았으므로 하이버네이션 종료 요청(HEX Request)을 수신한 저장 장치(100)는 하이버네이션 종료 요청(HEX Request)에 대한 별다른 작업을 수행하지 않는다.
한편, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)을 포함하는 배터리 정보를 전달한다(S640). 이때, 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)은 당시 배터리(300)가 충전 중이 아님을 나타내는 제2 값(예컨대 0)을 갖는다. 호스트(200)는 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 배터리(300)의 충전 동작 상태 속성을 포함하는 배터리 정보를 전달할 수 있다.
이어서, 호스트(200)는 저장 장치(100)에 하이버네이션 진입 요청(HEN Request)을 전송한다(S650).
이에 저장 장치(100)는 충전 동작 상태 속성이 당시 배터리(300)가 충전 중이 아님을 나타내고 있으므로, 하이버네이션을 수행하여, 저장 장치(100)를 하이버네이션에 진입시킨다(S655).
이후 호스트(200)가 저장 장치(100)에 하이버네이션 종료 요청(HEX Request)를 전송한다(S660). 저장 장치(100)는 하이버네이션 종료 요청(HEX Request)에 따라 하이버네이션을 종료한다.
이와 같은 본 발명의 다른 실시예에 따른 데이터 처리 시스템은 배터리(300)의 충전 동작 상태 속성에 따라 하이버네이션을 선택적으로 수행할 수 있다. 하이버네이션을 선택적으로 수행하면서, 도 9와 관련하여 후술하는 바와 같이 백그라운드 동작의 수행 시간을 조절함으로써, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
도 9는 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템의 동작을 설명하기 위한 흐름도이다.
도 9를 참조하면, 본 발명의 또 다른 실시예에 따른 데이터 처리 시스템에서 배터리(300)가 충전 중에 해당하는 경우, 본 발명의 데이터 처리 시스템은 하이버네이션을 수행하지 않고 백그라운드 동작(Background Operation, BO)을 무제한적으로 수행한다. 반대로, 배터리(300)가 충전 중에 해당하지 않는 경우, 본 발명의 데이터 처리 시스템은 하이버네이션을 수행하고 백그라운드 동작(BO)을 제한적으로 수행한다.
여기서, 백그라운드 동작(BO)은, 예컨대 도 2와 관련하여 설명한 메모리(130)가 낸드 플래시 메모리를 포함하는 경우, 낸드 플래시 메모리를 운용하기 위해 필요한 가비지 컬렉션(garbage collection) 동작, 웨어 레벨링(wear leveling) 동작 등을 포함한다.
구체적으로, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)을 포함하는 배터리 정보를 전달한다(S710). 이때, 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)은 당시 배터리(300)가 충전 중임을 나타내는 제1 값(예컨대 1)을 갖는다. 호스트(200)는 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 배터리(300)의 충전 동작 상태 속성을 포함하는 배터리 정보를 전달할 수 있다.
이어서, 호스트(200)는 저장 장치(100)에 하이버네이션 진입 요청(HEN Request)을 전송한다(S720).
이에 저장 장치(100)는 충전 동작 상태 속성이 당시 배터리(300)가 충전 중임을 나타내고 있으므로, 하이버네이션을 수행하지 않는다(S725).
그리고 저장 장치(100)는 백그라운드 동작을 무제한적으로 수행한다(S727). 여기서 무제한적이라는 의미는 시간 제한이 없다는 것을 의미한다. 즉, 저장 장치(100)는 배터리(300)가 충전 중이어서 전원이 안정적으로 공급되는 동안 백그라운드 동작을 충분한 시간 동안 수행할 수 있다.
이후 호스트(200)가 저장 장치(100)에 하이버네이션 종료 요청(HEX Request)를 전송한다(S730). 저장 장치(100)에서 하이버네이션은 수행되지 않았으므로 하이버네이션 종료 요청(HEX Request)을 수신한 저장 장치(100)는 하이버네이션 종료 요청(HEX Request)에 대한 별다른 작업을 수행하지 않는다.
다만, 유의할 점은, 본 발명의 몇몇의 실시예에서, 단계(S727)에서 수행되는 백그라운드 동작이 완료가 되어 더 이상 처리되어야 할 작업이 없는 경우에는 저장 장치(100)에서 하이버네이션이 수행될 수 있다는 것이다. 이 경우 단계(S730)에서 호스트(200)가 저장 장치(100)에 하이버네이션 종료 요청(HEX Request)를 전송하면, 저장 장치(100)는 수신된 하이버네이션 종료 요청(HEX Request)에 따라 하이버네이션을 종료할 수 있다.
한편, 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트(200)는 저장 장치(100)에 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)을 포함하는 배터리 정보를 전달한다(S740). 이때, 배터리(300)의 충전 동작 상태 속성(BatteryChargingState)은 당시 배터리(300)가 충전 중이 아님을 나타내는 제2 값(예컨대 0)을 갖는다. 호스트(200)는 쿼리 요청 프로토콜(Query Request Protocol)을 이용하여 배터리(300)의 충전 동작 상태 속성을 포함하는 배터리 정보를 전달할 수 있다.
이어서, 호스트(200)는 저장 장치(100)에 하이버네이션 진입 요청(HEN Request)을 전송한다(S750).
이에 저장 장치(100)는 충전 동작 상태 속성이 당시 배터리(300)가 충전 중이 아님을 나타내고 있으므로, 하이버네이션을 수행하여, 저장 장치(100)를 하이버네이션에 진입시킨다(S755).
그리고 저장 장치(100)는 백그라운드 동작을 제한적으로 수행한다(S757). 여기서 제한적이라는 의미는 백그라운드 동작 시간이 미리 정해진 시간으로 제한된다는 것을 의미한다. 즉, 저장 장치(100)는 배터리(300)가 충전 중이 아니어서 전원이 충분히 안정적이지 못한 상황에서는 일정 시간 동안만 백그라운드 동작을 수행할 수 있다.
이후 호스트(200)가 저장 장치(100)에 하이버네이션 종료 요청(HEX Request)를 전송한다(S760). 저장 장치(100)는 하이버네이션 종료 요청(HEX Request)에 따라 하이버네이션을 종료한다.
이와 같은 본 발명의 다른 실시예에 따른 데이터 처리 시스템은 배터리(300)의 충전 동작 상태 속성에 따라 하이버네이션을 선택적으로 수행하고 백그라운드 동작의 수행 시간을 조절함으로써, 시스템의 성능 및 저장장치의 수명을 향상시킬 수 있다.
도 10은 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템을 포함하는 메모리 시스템을 설명하기 위한 블럭도이다.
도 10을 참고하면, 본 발명의 몇몇 실시예들에 따른 메모리 시스템(1000)은, 데이터 처리 시스템(1100), 배터리(1150), 모뎀(1200), CPU(1300), RAM(1400), 유저 인터페이스(1500), 시스템 버스(1600)를 포함할 수 있다. 이때, 메모리 시스템(1000)의 데이터 처리 시스템(1100)은 앞에서 설명한 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템과 동일하게 동작할 수 있다.
데이터 처리 시스템(1100)은 메모리 컨트롤러(1110)와 메모리(1120)를 포함할 수 있으며, 도 1에 도시된 호스트(200)는 메모리 컨트롤러(1110)와 실질적으로 동일하고, 저장 장치(100)는 메모리(1120)와 실질적으로 동일한 구성을 가질 수 있다.
배터리(1150)는 메모리 시스템(1000)의 모든 구성요소에 전력을 공급할 수 있다. 도면에 명확하게 도시하지는 않았으나, 배터리(1150)는 메모리 시스템(1000)에서 탈착이 가능하도록 구성된 탈착형(removable) 배터리와, 데이터 처리 시스템에서 탈착이 불가능하도록 구성된 고정형(Fixed) 배터리를 포함할 수 있다. 이때, 메모리 컨트롤러(1110)는 메모리(1120)에 배터리(1150)의 탈착 가능 속성을 전달할 수 있다. 추가적으로, 메모리 컨트롤러(1110)는 메모리(1120)에 배터리(1150)의 충전율, 또는 논리적 유닛(LU)의 보호 속성을 전달할 수 있다.
모뎀(1200)은 외부 장치와 유선 또는 무선으로 데이터를 교환하여, 데이터 처리 시스템(1100)에 전달할 수 있다. 중앙처리장치(1300)는 메모리 시스템(1000)의 구동에 필요한 연산을 수행할 수 있다. RAM(1400)은 메모리 시스템(1000)의 구동에 필요한 리소스를 제공한다. 유저 인터페이스(1500)는 사용자로부터 데이터를 입력받을 수 있다.
본 발명의 몇몇 실시예에 따른 메모리 시스템(1000)은 SSD가 채용되도록 구성될 수 있으며, 이 경우, 데이터 처리 시스템(1100)은 대용량의 데이터를 안정적이고 신뢰성있게 처리할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
비록 도면에는 도시되지 않았지만, 본 발명에 따른 데이터 처리 시스템(1100)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 메모리 컨트롤러(1110) 및/또는 메모리(1120)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
도 11은 본 발명의 몇몇 실시예에 따른 데이터 처리 시스템을 포함하는 메모리 시스템이 탑재되는 다양한 전자 제품의 응용 예를 나타내는 도면이다.
도 11을 참조하면, 본 발명에 몇몇 실시예에 따른 메모리 시스템(2000)은 다양한 전자 제품에 채용될 수 있다. 휴대폰(2100)에 채용될 수 있음을 물론이고, TV(2200), 은행의 현금 입출납을 자동적으로 대행하는 ATM기(2300), 엘리베이터(2400), 자동차 등에서 사용되는 블랙 박스(2500), MP3(2600), e-book(2700), 네비게이션(2800) 등에 폭넓게 사용될 수 있다.
본 발명에 몇몇 실시예에 따른 메모리 시스템(2000)는 시스템의 프로세서와 비동기적으로 동작할 수 있다. 따라서, 프로세서의 구동 부담을 줄여 프로세서가 저전력 고속으로 동작할 수 있도록 함으로써 전자 제품의 기능을 향상 시킬 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 저장 장치 110: 컨트롤러
120: 캐시 130: 메모리
140: 인터페이스 200: 호스트
300: 배터리

Claims (25)

  1. 데이터 처리 시스템으로서,
    호스트;
    상기 호스트로부터 수신한 데이터를 저장하는 메모리와, 상기 데이터를 임시로 저장하는 캐시(cache)와, 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치; 및
    상기 호스트 및 상기 저장 장치에 전원을 공급하는 배터리를 포함하되,
    상기 컨트롤러는,
    상기 호스트로부터 상기 배터리의 착탈 가능 속성을 수신하되, 상기 배터리의 착탈 가능 속성은 상기 배터리가 상기 데이터 처리 시스템으로부터 물리적으로 탈착이 가능한지를 나타내는 속성이고,
    상기 착탈 가능 속성을 기초로, 상기 호스트의 쓰기 명령(Write CMD)에 대하여 상기 데이터의 백업 동작(backup)의 수행 여부를 결정하되,
    상기 데이터는, 제1 논리적 유닛(Logical Unit; LU)과 제2 논리적 유닛을 포함하되,
    상기 컨트롤러는, 상기 호스트로부터 상기 제1 또는 제2 논리적 유닛의 보호 속성을 수신하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 제1 논리적 유닛의 상기 보호 속성이 활성화(enable)된 경우, 상기 호스트의 쓰기 명령에 대하여 상기 제1 논리적 유닛의 백업 동작을 수행하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 제1 논리적 유닛의 상기 보호 속성이 비활성화(disable)된 경우, 상기 호스트의 쓰기 명령에 대하여 상기 제1 논리적 유닛의 백업 동작을 미수행하는 데이터 처리 시스템.
  2. 삭제
  3. 제1 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 탈착형(removable)인 경우, 상기 호스트의 쓰기 명령에 대하여 상기 데이터의 백업 동작을 수행하는 데이터 처리 시스템.
  4. 제1 항에 있어서,
    상기 컨트롤러는,
    상기 착탈 가능 속성이 고정형(Fixed)인 경우, 상기 호스트의 동기화 명령에 대하여 상기 데이터의 동기화 동작을 미수행하되,
    상기 데이터의 동기화 동작은, 상기 캐시에 저장된 데이터를 상기 메모리로 이동시키는 것을 포함하는 데이터 처리 시스템.
  5. 삭제
  6. 삭제
  7. 제1 항에 있어서,
    상기 컨트롤러는, 상기 호스트로부터 상기 배터리의 충전율(Charge Rate)을 수신하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 충전율이 임계값 보다 큰 경우, 상기 호스트의 쓰기 명령에 대하여 상기 데이터의 백업 동작을 미수행하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 충전율이 임계값 보다 작은 경우, 상기 호스트의 쓰기 명령에 대하여 상기 데이터의 백업 동작을 수행하는 데이터 처리 시스템.
  8. 제1 항에 있어서,
    상기 데이터는, LSB와 MSB를 포함하고,
    상기 컨트롤러의 백업 동작은, 상기 LSB를 상기 메모리 또는 상기 캐시에 저장하는 것을 포함하는 데이터 처리 시스템.
  9. 삭제
  10. 삭제
  11. 제1 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 고정형(Fixed)인 경우,
    상기 호스트의 캐시 쓰기 명령(Cache Write CMD)에 대하여, 수신된 상기 데이터를 상기 캐시에 기록하고,
    상기 호스트의 동기화 명령(Sync CMD)에 대하여, 상기 캐시에 저장된 상기 데이터를 상기 메모리로 이동시키는 동기화 동작을 미수행하는 데이터 처리 시스템.
  12. 삭제
  13. 삭제
  14. 데이터 처리 시스템의 저장 장치로서,
    호스트로부터 커맨드(CMD)과 데이터를 수신하는 인터페이스;
    수신한 상기 데이터를 저장하는 메모리;
    상기 데이터를 임시로 저장하는 캐시(cache); 및
    상기 호스트의 상기 커맨드를 기초로 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치로서,
    상기 커맨드는, 상기 저장 장치에 전원을 공급하는 배터리의 착탈 가능 속성을 포함하되, 상기 배터리의 착탈 가능 속성은 상기 배터리가 상기 데이터 처리 시스템으로부터 물리적으로 탈착이 가능한지를 나타내는 속성이고,
    상기 컨트롤러는, 상기 착탈 가능 속성을 기초로, 상기 호스트의 쓰기 명령(Write CMD)에 대하여 상기 데이터의 LSB를 상기 메모리 또는 상기 캐시에 저장하는 백업 동작의 수행 여부를 결정하되,
    상기 데이터는, 제1 논리적 유닛(Logical Unit; LU)과 제2 논리적 유닛을 포함하되,
    상기 컨트롤러는, 상기 호스트로부터 상기 제1 또는 제2 논리적 유닛의 보호 속성을 수신하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 제1 논리적 유닛의 상기 보호 속성이 활성화(enable)된 경우, 상기 호스트의 쓰기 명령에 대하여 상기 제1 논리적 유닛의 백업 동작을 수행하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 제1 논리적 유닛의 상기 보호 속성이 비활성화(disable)된 경우, 상기 호스트의 쓰기 명령에 대하여 상기 제1 논리적 유닛의 백업 동작을 미수행하는 데이터 처리 시스템의 저장 장치.
  15. 제14 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 고정형(Fixed)인 경우, 상기 호스트의 동기화 명령(Sync CMD)에 대하여, 상기 데이터의 동기화 동작을 미수행하는 데이터 처리 시스템의 저장 장치.
  16. 제14 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 탈착형인 경우, 상기 호스트의 동기화 명령에 대하여 상기 데이터의 동기화 동작을 수행하는 데이터 처리 시스템의 저장 장치.
  17. 제14 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 탈착형(removable)인 경우, 상기 호스트의 쓰기 명령에 대하여 상기 데이터의 백업 동작을 수행하는 데이터 처리 시스템의 저장 장치.
  18. 제14 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 고정형(Fixed)인 경우, 상기 호스트의 동기화 명령에 대하여 상기 데이터의 동기화 동작 없이, 응답 신호(response)만을 상기 호스트에 전달하는 데이터 처리 시스템의 저장 장치
  19. 제14 항에 있어서,
    상기 컨트롤러는, 상기 착탈 가능 속성이 고정형(Fixed)인 경우,
    상기 호스트의 캐시 쓰기 명령(Cache Write CMD)에 대하여, 수신된 상기 데이터를 상기 캐시에 기록하고,
    상기 컨트롤러는, 상기 캐시의 저장 공간이 가득찬 경우, 상기 데이터의 동기화 동작을 수행하고, 상기 캐시의 상기 저장 공간을 초기화시키는 데이터 처리 시스템의 저장 장치.
  20. 삭제
  21. 데이터 처리 시스템으로서,
    호스트;
    상기 호스트로부터 수신한 데이터를 저장하는 메모리와, 상기 데이터를 임시로 저장하는 캐시(cache)와, 상기 메모리 및 상기 캐시를 제어하는 컨트롤러를 포함하는 저장 장치; 및
    상기 호스트 및 상기 저장 장치에 전원을 공급하는 배터리를 포함하되,
    상기 컨트롤러는,
    상기 호스트로부터 상기 배터리의 착탈 가능 속성을 수신하되, 상기 배터리의 착탈 가능 속성은 상기 배터리가 상기 데이터 처리 시스템으로부터 물리적으로 탈착이 가능한지를 나타내는 속성이고,
    상기 호스트로부터 상기 배터리의 충전 동작 상태를 나타내는 충전 동작 상태 속성을 수신하고,상기 배터리의 착탈 가능 속성 및 상기 충전 동작 상태 속성 속성을 기초로, 상기 호스트의 하이버네이션 진입 요청(Hibernation Enter Request, HEN Request)에 대하여 하이버네이션 수행 여부를 결정하고,
    상기 데이터는, 제1 논리적 유닛(Logical Unit; LU)과 제2 논리적 유닛을 포함하되,
    상기 컨트롤러는, 상기 호스트로부터 상기 제1 또는 제2 논리적 유닛의 보호 속성을 수신하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 제1 논리적 유닛의 상기 보호 속성이 활성화(enable)된 경우, 상기 호스트의 쓰기 명령에 대하여 상기 제1 논리적 유닛의 백업 동작을 수행하고,
    상기 착탈 가능 속성이 고정형(Fixed)이고, 상기 제1 논리적 유닛의 상기 보호 속성이 비활성화(disable)된 경우, 상기 호스트의 쓰기 명령에 대하여 상기 제1 논리적 유닛의 백업 동작을 미수행하는 데이터 처리 시스템.
  22. 제21 항에 있어서,
    상기 컨트롤러는, 상기 충전 동작 상태 속성이 상기 배터리가 충전 중임을 나타내는 경우, 상기 호스트의 하이버네이션 진입 요청에 대하여 상기 하이버네이션을 미수행하는 데이터 처리 시스템.
  23. 제22 항에 있어서,
    상기 메모리는 낸드 플래시 메모리를 포함하고,
    상기 컨트롤러는, 상기 충전 동작 상태 속성이 상기 배터리가 충전 중임을 나타내는 경우, 상기 하이버네이션이 미수행된 상태에서 상기 낸드 플래시 메모리를 운용하기 위한 백그라운드 동작을 시간 제한 없이 수행하는 데이터 처리 시스템.
  24. 제21 항에 있어서,
    상기 컨트롤러는, 상기 충전 동작 상태 속성이 상기 배터리가 충전 중이 아님을 나타내는 경우, 상기 호스트의 하이버네이션 진입 요청에 대하여 상기 하이버네이션을 수행하는 데이터 처리 시스템.
  25. 제24 항에 있어서,
    상기 메모리는 낸드 플래시 메모리를 포함하고,
    상기 컨트롤러는, 상기 충전 동작 상태 속성이 상기 배터리가 충전 중이 아님을 나타내는 경우, 상기 낸드 플래시 메모리를 운용하기 위한 백그라운드 동작을 미리 정해진 제한 시간 동안만 수행하는 데이터 처리 시스템.
KR1020170041512A 2016-11-04 2017-03-31 저장 장치 및 이를 포함하는 데이터 처리 시스템 KR102208058B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102017115333.0A DE102017115333A1 (de) 2016-11-04 2017-07-10 Speichervorrichtung und Datenverarbeitungssystem mit derselben
CN201711068193.4A CN108021471A (zh) 2016-11-04 2017-11-03 数据存储装置、数据处理系统及制造数据存储装置的方法
TW106122970A TWI718317B (zh) 2016-11-04 2017-11-03 資料儲存裝置及資料處理系統

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160146838 2016-11-04
KR20160146838 2016-11-04

Publications (2)

Publication Number Publication Date
KR20180050195A KR20180050195A (ko) 2018-05-14
KR102208058B1 true KR102208058B1 (ko) 2021-01-27

Family

ID=62064521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170041512A KR102208058B1 (ko) 2016-11-04 2017-03-31 저장 장치 및 이를 포함하는 데이터 처리 시스템

Country Status (2)

Country Link
US (1) US10528264B2 (ko)
KR (1) KR102208058B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436087B2 (en) * 2017-05-31 2022-09-06 Everspin Technologies, Inc. Systems and methods for implementing and managing persistent memory
KR20200029810A (ko) 2018-09-11 2020-03-19 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그의 동작방법
KR20200142219A (ko) * 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
US11892956B2 (en) * 2019-12-31 2024-02-06 Micron Technology, Inc. Performance of memory system background operations
US11899577B2 (en) * 2020-11-24 2024-02-13 Micron Technology, Inc. Selective garbage collection
US20240061602A1 (en) * 2022-08-22 2024-02-22 Micron Technology, Inc. Power safety configurations for logical address space partitions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016260A1 (en) 2009-07-15 2011-01-20 Lsi Corporation Managing backup device metadata in a high availability disk subsystem
US20110302352A1 (en) 2008-06-13 2011-12-08 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798961A (en) * 1994-08-23 1998-08-25 Emc Corporation Non-volatile memory module
US5737744A (en) * 1995-10-13 1998-04-07 Compaq Computer Corporation Disk array controller for performing exclusive or operations
US20040128448A1 (en) 2002-12-31 2004-07-01 Intel Corporation Apparatus for memory communication during runahead execution
US20050075768A1 (en) * 2003-10-02 2005-04-07 Snap-On Technologies, Inc. Autologic, L.L.C. Multipurpose multifunction interface device for automotive diagnostics
CA2547204C (en) * 2003-12-02 2010-05-04 Research In Motion Limited Inter-processor parameter management in a multiple-processor wireless mobile communication device operating on a processor specific communication network
JP4881856B2 (ja) * 2005-03-28 2012-02-22 パナソニック株式会社 記憶装置
KR100777443B1 (ko) 2006-02-02 2007-11-21 삼성전자주식회사 배터리 종류판별이 가능한 휴대용 복합장치 및 그 방법
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP5398551B2 (ja) * 2008-02-08 2014-01-29 富士通株式会社 バックアップ方法、コントローラ、及びディスクアレイシステム
CN102017356A (zh) 2008-02-22 2011-04-13 捷通国际有限公司 具有电池类型检测的电感式电力供应系统
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
WO2010020992A1 (en) * 2008-08-21 2010-02-25 Xsignnet Ltd. Storage system and method of operating thereof
EP2374054A1 (en) * 2008-12-04 2011-10-12 Hitachi, Ltd. Storage system having volatile memory and non-volatile memory
KR101506675B1 (ko) 2008-12-09 2015-03-30 삼성전자주식회사 보조 전원 장치를 갖는 사용자 장치
US8806271B2 (en) 2008-12-09 2014-08-12 Samsung Electronics Co., Ltd. Auxiliary power supply and user device including the same
JP5338905B2 (ja) 2009-05-29 2013-11-13 富士通株式会社 キャッシュ制御装置およびキャッシュ制御方法
US8327069B2 (en) * 2009-12-08 2012-12-04 Hitachi, Ltd. Storage system and storage control apparatus provided with cache memory group including volatile memory and nonvolatile memory
WO2012049705A1 (en) * 2010-10-12 2012-04-19 Hitachi, Ltd. Memory data backup system and memory data backup control method
US20120166731A1 (en) 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
US8954798B2 (en) * 2011-02-11 2015-02-10 Taejin Info Tech Co., Ltd. Alarm-based backup and restoration for a semiconductor storage device
US8707096B2 (en) * 2011-10-12 2014-04-22 Hitachi, Ltd. Storage system, data backup method, and system restarting method of a storage system incorporating volatile and nonvolatile memory devices
GB2514023B (en) 2011-12-21 2019-07-03 Intel Corp System and method for intelligently flushing data from a processor into a memory subsystem
JP5906966B2 (ja) * 2012-06-29 2016-04-20 富士通株式会社 制御装置、電力供給装置及び電力制御方法
JP6115116B2 (ja) * 2012-12-19 2017-04-19 富士通株式会社 情報処理装置、格納処理方法及びプログラム
KR20150020843A (ko) * 2013-08-19 2015-02-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템
WO2015106162A1 (en) * 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US9665153B2 (en) 2014-03-21 2017-05-30 Intel Corporation Selecting a low power state based on cache flush latency determination
US9836108B2 (en) * 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
US9483402B2 (en) 2014-09-24 2016-11-01 Netapp, Inc. Methods and systems for dynamically controlled caching
KR20160133283A (ko) * 2015-05-12 2016-11-22 삼성전자주식회사 비휘발성 메모리 저장장치를 운영하는 방법 및 이를 구현한 전자장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302352A1 (en) 2008-06-13 2011-12-08 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US20110016260A1 (en) 2009-07-15 2011-01-20 Lsi Corporation Managing backup device metadata in a high availability disk subsystem

Also Published As

Publication number Publication date
US20180129416A1 (en) 2018-05-10
KR20180050195A (ko) 2018-05-14
US10528264B2 (en) 2020-01-07

Similar Documents

Publication Publication Date Title
KR102208058B1 (ko) 저장 장치 및 이를 포함하는 데이터 처리 시스템
KR102580820B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US10649896B2 (en) Storage device and data processing system including the same
US8843697B2 (en) Operating method of data storage device
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US9164833B2 (en) Data storage device, operating method thereof and data processing system including the same
KR102419036B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR101678911B1 (ko) 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템
US20150019794A1 (en) Data storage device and operating method thereof
US20160350025A1 (en) Data storage device
KR102225313B1 (ko) 데이터 저장 장치의 동작 방법
US20150109859A1 (en) Electronic device with solid state drive and associated control method
US9372741B2 (en) Data storage device and operating method thereof
KR20100065999A (ko) 보조 전원 장치를 갖는 사용자 장치
US20150019796A1 (en) Data storage device and operating method thereof
KR20120120795A (ko) 데이터 저장 시스템 및 그의 데이터 리텐션 방법
JP2021125248A (ja) コントローラ、コントローラの動作方法及びそれを含む保存装置
KR102100707B1 (ko) 데이터 저장 장치
KR20170110810A (ko) 데이터 처리 시스템 및 그것의 동작 방법
CN108021471A (zh) 数据存储装置、数据处理系统及制造数据存储装置的方法
KR20200114086A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20200089939A (ko) 메모리 시스템 및 그 동작 방법
KR102530587B1 (ko) 데이터 저장 장치 및 이의 제조 방법
TWI718317B (zh) 資料儲存裝置及資料處理系統
US20190361608A1 (en) Data storage device and operation method for recovery, and storage system having the same

Legal Events

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