KR20200050484A - 저장 장치 - Google Patents

저장 장치 Download PDF

Info

Publication number
KR20200050484A
KR20200050484A KR1020180132681A KR20180132681A KR20200050484A KR 20200050484 A KR20200050484 A KR 20200050484A KR 1020180132681 A KR1020180132681 A KR 1020180132681A KR 20180132681 A KR20180132681 A KR 20180132681A KR 20200050484 A KR20200050484 A KR 20200050484A
Authority
KR
South Korea
Prior art keywords
storage device
controller
storage
output
data
Prior art date
Application number
KR1020180132681A
Other languages
English (en)
Other versions
KR102570271B1 (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 KR1020180132681A priority Critical patent/KR102570271B1/ko
Priority to US16/506,579 priority patent/US11301145B2/en
Priority to DE102019119832.1A priority patent/DE102019119832A1/de
Priority to CN201910801519.2A priority patent/CN111143118A/zh
Publication of KR20200050484A publication Critical patent/KR20200050484A/ko
Application granted granted Critical
Publication of KR102570271B1 publication Critical patent/KR102570271B1/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • 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
    • 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
    • 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/1469Backup restoration techniques
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/325Display of status information by lamps or LED's
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

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)
  • Retry When Errors Occur (AREA)

Abstract

본 발명의 일 실시예에 따른 저장 장치는, 적어도 하나의 LED를 포함하는 출력부, 적어도 하나의 버튼을 갖는 입력부, 데이터를 저장하는 스토리지, 외부 호스트와의 데이터 통신을 제공하는 인터페이스, 및 상기 입력부로부터 입력 커맨드를 수신하면, 처리 중인 데이터를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 출력부를 통해 상기 백업 동작의 진행 상황을 출력하는 컨트롤러를 포함한다.

Description

저장 장치{STORAGE DEVICE}
본 발명은 저장 장치에 관한 것이다.
다양한 서비스를 제공하기 위한 서버는 마운트에 장착되는 복수의 서버 모듈들을 포함할 수 있다. 필요에 따라, 서버 모듈에는 저장 장치가 외장으로 연결될 수 있으며, 저장 장치는 SSD(Solid State Drive) 장치 등으로 구현될 수 있다. 저장 장치는 서버 모듈과 데이터를 주고받으며 동작할 수 있으며, 서버의 유지/보수 목적으로 저장 장치를 서버로부터 분리해야 하는 경우가 발생할 수 있다. 전원을 차단할 수 없는 서버의 특성상, 서버의 정상 동작 중에 저장 장치를 서버로부터 분리하는 상황이 발생할 수 밖에 없다. 따라서, 저장 장치를 서버로부터 분리할 때 발생할 수 있는 데이터 손실을 방지하기 위한 방안이 필요하다.
본 발명의 기술적 사상이 이루고자 하는 과제 중 하나는, 별도의 커패시터 없이 전력 차단 보호(Power Loss Protection) 기능을 제공함으로써, 작은 크기의 하드웨어로 안정적인 동작 성능을 구현할 수 있는 저장 장치를 제공하고자 하는 데에 있다.
본 발명의 일 실시예에 따른 저장 장치는, 적어도 하나의 LED를 포함하는 출력부, 적어도 하나의 버튼을 갖는 입력부, 데이터를 저장하는 스토리지, 외부 호스트와의 데이터 통신을 제공하는 인터페이스, 및 상기 입력부로부터 입력 커맨드를 수신하면, 처리 중인 데이터를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 출력부를 통해 상기 백업 동작의 진행 상황을 출력하는 컨트롤러를 포함한다.
본 발명의 일 실시예에 따른 저장 장치는, 적어도 하나의 버튼을 포함하며, 상기 버튼을 이용한 복수의 입력 패턴에 대응하는 복수의 입력 커맨드들을 생성하는 입력부, 서로 다른 복수의 출력 패턴들로 동작하는 적어도 하나의 LED를 포함하는 출력부, 데이터를 저장하는 스토리지, 및 상기 복수의 입력 커맨드들 중 하나를 수신하면 외부 서버와 통신 중인 데이터, 및 백그라운드 동작에 의해 처리 중인 데이터 중 적어도 하나를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 복수의 출력 패턴들 중 적어도 하나로 상기 백업 동작의 진행 상황을 출력하는 컨트롤러를 포함한다.
본 발명의 일 실시예에 따른 저장 장치는, 적어도 하나의 버튼을 갖는 입력부, 적어도 하나의 LED를 갖는 출력부, 데이터를 저장하는 스토리지, 외부 서버에 연결되어 데이터를 주고받으며, 상기 외부 서버로부터 동작에 필요한 전원을 공급받는 인터페이스, 및 상기 버튼이 생성한 입력 커맨드를 수신하면, 상기 전원을 공급받는 동안 상기 외부 서버와 주고받는 데이터를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 출력부를 통해 상기 백업 동작의 완료 여부를 출력하는 컨트롤러를 포함한다.
본 발명의 일 실시예에 따르면, 서버에 연결되는 저장 장치가 버튼을 갖는 입력부와 LED를 갖는 출력부를 포함할 수 있다. 버튼이 눌림으로써 입력 커맨드가 생성되면 저장 장치는 처리 중이던 데이터를 비휘발성 메모리에 저장하는 백업 동작을 실행함과 동시에, LED로 백업 동작의 진행 상황을 출력할 수 있다. 사용자는 버튼을 누르고 LED를 통해 백업 동작의 진행 상황을 확인함으로써 백업 동작이 완료된 이후 저장 장치를 서버로부터 안전하게 분리할 수 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시 형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 저장 장치를 나타낸 사시도들이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 저장 장치의 동작을 설명하기 위해 제공되는 도면들이다.
도 5는 본 발명의 일 실시예에 따른 저장 장치에 포함되는 스토리지를 간단하게 나타낸 블록도이다.
도 6은 본 발명의 일 실시예에 따른 저장 장치가 연결될 수 있는 서버를 간단하게 나타낸 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 저장 장치와 서버의 연결 구조를 간단하게 나타낸 도면들이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 저장 장치의 동작을 설명하기 위해 제공되는 흐름도들이다.
도 11a 내지 도 13c는 본 발명의 일 실시예에 따른 저장 장치의 동작을 설명하기 위해 제공되는 도면들이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 다음과 같이 설명한다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 저장 장치를 나타낸 사시도들이다.
도 1과 도 2를 참조하면, 본 발명의 일 실시예에 따른 저장 장치(10)는 호스트의 외부 인터페이스에 연결되는 외장 저장 장치로서, 비휘발성 메모리를 포함하는 SSD(Solid State Drive) 장치일 수 있다. 저장 장치(10)는 컨트롤러, 휘발성을 갖는 메인 메모리, 비휘발성 메모리로 구현되는 스토리지 등을 포함하며, 컨트롤러, 메인 메모리, 스토리지 등은 하우징(11) 내부에 탑재될 수 있다.
저장 장치(10)는 호스트와 연결되는 인터페이스(12), 입력부(13), 및 출력부(14) 등을 포함할 수 있다. 입력부(13)는 적어도 하나의 버튼을 포함할 수 있다. 한편, 도 1 및 도 2에 도시한 일 실시예에서는 출력부(14)가 복수의 LED들(15-18)을 포함하는 것으로 도시하였으나, LED들(15-18)의 개수는 실시예들에 따라 다양하게 변형될 수 있다. 인터페이스(12)는 호스트와 연결되는 포트를 제공할 수 있다. 일례로 인터페이스(12)를 통해 저장 장치(10)와 연결되는 호스트는 서버 모듈일 수 있다.
호스트와 저장 장치(10)가 연결된 상태에서 입력부(13)에 포함되는 버튼을 누르는 동작에 의해 소정의 입력 커맨드가 생성될 수 있다. 저장 장치(10)의 컨트롤러는 상기 입력 커맨드에 응답하여, 인터페이스(12)를 통해 호스트와 주고받는 데이터, 및 휘발성을 갖는 메인 메모리에 저장된 데이터 등을 스토리지에 저장할 수 있다.
상기 입력 커맨드에 응답하여 스토리지에 데이터를 저장하는 동안, 컨트롤러는 출력부(14)에 포함된 LED들(15-18) 중 적어도 하나를 이용하여 데이터를 저장하는 동작의 진행 상황을 출력할 수 있다. 예를 들어 컨트롤러는 데이터가 스토리지에 저장되는 동안과, 데이터가 스토리지에 저장된 이후에 복수의 LED들(15-18)을 서로 다른 출력 패턴들로 동작시켜 사용자에게 동작의 진행 상황을 알릴 수 있다.
일례로, 컨트롤러는 데이터가 스토리지에 저장되는 동안 제1 LED(15)를 턴-온하고, 데이터가 스토리지에 저장된 후에는 제1 LED(15)를 턴-오프하고 제2 LED(16)를 턴-온할 수 있다. 사용자는 출력부(14)에 포함된 LED들(15-18)의 상태를 확인함으로써, 스토리지에 데이터를 저장하는 동작의 완료 여부를 판단할 수 있다.
또한 컨트롤러는, 입력 커맨드를 수신한 시점에 저장 장치(10)에서 실행 중인 동작에 따라 복수의 LED들(15-18)을 서로 다르게 동작시킬 수 있다. 일례로, 컨트롤러는 입력 커맨드를 수신한 시점에 저장 장치(10)가 호스트와 데이터를 교환 중이면 복수의 LED들(15-18)을 제1 출력 패턴으로 동작시키고, 저장 장치(10)가 백그라운드 동작을 실행 중이면 복수의 LED들(15-18)을 제2 출력 패턴으로 동작시킬 수 있다. 제1 출력 패턴과 제2 출력 패턴은 복수의 LED들(15-18) 중 하나를 서로 다른 방식으로 동작시키는 출력 패턴들이거나, 또는 복수의 LED들(15-18) 중 둘 이상을 각각 턴-온시키는 출력 패턴들일 수 있다. 백그라운드 동작은, 호스트의 간섭 없이 저장 장치(10) 자체적으로 소정의 소프트웨어 또는 펌웨어를 실행하는 동작일 수 있다.
입력부(13)의 버튼을 눌러서 인터페이스(12)를 통해 호스트와 주고받는 데이터, 및 휘발성을 갖는 메인 메모리에 저장된 데이터 등을 스토리지에 저장하는 동작은, 저장 장치(10)가 서버에 연결된 상태에서 실행될 수 있다. 저장 장치(10)가 서버에 연결된 상태에서 입력부(13)의 버튼을 누르고 출력부(14)의 상태를 확인할 수 있도록, 입력부(13)와 출력부(14)는 인터페이스(12)의 반대편에 배치될 수 있다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 저장 장치의 동작을 설명하기 위해 제공되는 도면들이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 저장 장치(100)는 호스트(200)와 연결되어 동작하는 외장 저장 장치일 수 있다. 저장 장치(100)는 입력부(110), 출력부(120), 스토리지(130), 인터페이스(140), 컨트롤러(150), 메인 메모리(160) 등을 포함할 수 있다. 저장 장치(100)에 포함되는 입력부(110), 출력부(120), 스토리지(130), 인터페이스(140), 컨트롤러(150), 메인 메모리(160) 등은 버스(170)를 통해 서로 데이터와 커맨드 등을 주고받을 수 있다.
저장 장치(100)의 인터페이스(140)는 호스트(200)의 호스트 컨트롤러 인터페이스(HCI, 210)와 연결될 수 있다. 일례로 호스트(200)는 서버일 수 있으며, 전원이 차단되는 셧-다운 시간 없이 동작을 계속할 수 있다. 갑작스러운 정전 등의 상황에도 동작을 계속할 수 있도록, 호스트(200)는 자체 발전 설비와 연결되어 동작 전원을 공급받을 수 있다.
호스트(200)가 셧-다운 되지 않고 계속 동작하므로, 호스트(200)가 동작하는 도중에 저장 장치(100)가 호스트(200)로부터 분리될 수 있다. 저장 장치(100)가 호스트(200)로부터 분리될 때, 인터페이스(140)를 통해 호스트(200)와 주고받는 데이터, 및/또는 휘발성을 갖는 메인 메모리(160)에 저장된 데이터 등이 손실될 수 있다.
본 발명의 일 실시예에서 컨트롤러(150)는, 입력부(110)가 생성하는 입력 커맨드에 응답하여 인터페이스(140)가 호스트(200)와 주고받는 데이터 및/또는 메인 메모리(160)에 저장된 데이터 등을 스토리지(130)에 저장할 수 있다. 사용자는 입력부(110)의 버튼을 누르고, 데이터가 스토리지(130)에 저장되는 동작의 진행 상황을 출력부(120)를 통해 확인할 수 있다. 사용자는 데이터가 스토리지(130)에 저장되는 동작이 완료되었음을 확인한 후 저장 장치(100)를 호스트(200)로부터 분리할 수 있다. 따라서, 호스트(200)가 동작하는 도중에 저장 장치(100)를 호스트(200)로부터 분리하는 과정에서 발생할 수 있는 데이터 손실을 방지할 수 있다.
도 4를 참조하면, 저장 장치(300)는 PLP 회로(310), 커패시터 모듈(320), 스토리지(330), 인터페이스(340), 컨트롤러(350) 및 메인 메모리(360) 등을 포함할 수 있다. 스토리지(330), 인터페이스(340), 컨트롤러(350) 및 메인 메모리(360)의 동작은, 앞서 도 3을 참조하여 설명한 바와 유사할 수 있다.
도 4에 도시한 저장 장치(300)는 본 발명의 실시예들을 설명하기 위한 비교예일 수 있다. 도 4에 도시한 저장 장치(300)는 PLP 회로(310)와 커패시터 모듈(320)을 포함하며, PLP 회로(310)는 저장 장치(300)가 호스트(200)에 연결되어 동작하는 동안 커패시터 모듈(320)에 포함된 적어도 하나의 커패시터들을 충전할 수 있다. 일례로 커패시터 모듈(320)은 전해캡 커패시터, 탄탈캡 커패시터 등을 포함할 수 있다.
호스트(200)의 동작 중에 저장 장치(300)가 호스트(200)로부터 분리되면, PLP 회로(310)에 의해 충전된 커패시터 모듈(320)이 소정의 시간 동안 저장 장치(300)의 동작에 필요한 전원을 공급할 수 있다. 따라서, 저장 장치(300)는 호스트(200)로부터 분리된 후에도 소정의 시간 동안 커패시터 모듈(320)이 공급하는 전원을 이용하여 동작할 수 있다. 일례로 저장 장치(300)는 호스트(200)로부터 분리된 후, 커패시터 모듈(320)이 공급하는 전원을 이용하여 인터페이스(340)의 버퍼 및/또는 메인 메모리(360)에 저장된 데이터를 스토리지(330)에 백업할 수 있다.
호스트(200)로 제공되는 서버에 포함되는 복수의 서버 모듈들에 가능한 많은 저장 장치(300)를 연결하기 위해서는 저장 장치(300)의 크기를 줄이는 것이 중요할 수 있다. 도 4에 도시한 저장 장치(300)의 경우, 큰 부피를 갖는 커패시터 모듈(320)을 포함하므로 하드웨어 크기가 증가할 수 밖에 없으며, 결과적으로 호스트(200)에 연결 가능한 저장 장치(300)의 개수가 감소할 수 밖에 없다.
본 발명의 일 실시예에서 저장 장치(100)는, 상대적으로 작은 하드웨어로 구현 가능한 입력부(110)를 이용하여, 인터페이스(140)의 버퍼와 메인 메모리(160) 등과 같은 휘발성 저장 공간에 저장되어 있던 데이터를 스토리지(130)에 저장하는 백업 동작을 실행할 수 있다. 또한 사용자는 저장 장치(100)의 출력부(120)를 통해 백업 동작의 완료 여부를 확인한 후 저장 장치(100)를 호스트(200)로부터 분리할 수 있다. 따라서, 상대적으로 큰 하드웨어를 차지하는 PLP 회로(310)와 커패시터 모듈(320)을 생략함으로써 저장 장치(100)의 크기를 줄일 수 있으며, 호스트(200)에 더 많은 개수의 저장 장치(100)를 연결하여 호스트(200)의 동작 성능을 개선할 수 있다.
도 5는 본 발명의 일 실시예에 따른 저장 장치에 포함되는 스토리지를 간단하게 나타낸 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 저장 장치에 포함되는 스토리지(330)는 메모리 셀 어레이(331)와 메모리 컨트롤러를 포함할 수 있다. 메모리 컨트롤러는 디코더 회로(332), 읽기/쓰기 회로(333) 및 컨트롤 로직(334) 등을 포함할 수 있다.
메모리 셀 어레이(331)는 복수의 메모리 셀들을 포함할 수 있으며, 복수의 메모리 셀들 중 적어도 일부는 서로 연결되어 메모리 셀 스트링을 제공할 수 있다. 메모리 셀 어레이(331)는 복수의 메모리 셀 스트링들을 포함할 수 있으며, 복수의 메모리 셀 스트링들은 복수의 블록들로 구분될 수 있다.
일 실시예에서, 디코더 회로(332)는 워드라인(WL), 스트링 선택 라인(SSL), 및 접지 선택 라인(GSL) 등을 통해 메모리 셀들(MC)과 연결될 수 있으며, 읽기/쓰기 회로(333)는 비트 라인(BL)을 통해 메모리 셀들(MC)과 연결될 수 있다. 일 실시예에서, 어드레스 디코더 회로(332)는 데이터를 기록하거나 데이터를 읽어올 메모리 셀(MC)을 선택할 수 있으며, 메모리 셀(MC)을 선택하기 위한 주소 정보를 수신할 수 있다.
읽기/쓰기 회로(333)는 메모리 셀(MC)에 데이터를 기록하거나, 메모리 셀(MC)로부터 데이터를 읽어올 수 있으며, 페이지 단위로 데이터를 기록하거나 읽어오기 위한 복수의 페이지 버퍼들을 포함할 수 있다. 복수의 페이지 버퍼들 각각은 적어도 하나의 비트 라인(BL)에 연결될 수 있다. 디코더 회로(332)와 읽기/쓰기 회로(333)의 동작은, 컨트롤 로직(334)에 의해 제어될 수 있다. 컨트롤 로직(334)은 외부에서 전달되는 커맨드(CMD)에 응답하여, 디코더 회로(332)와 읽기/쓰기 회로(333)를 제어할 수 있다.
일례로, 메모리 셀 어레이(331)에 포함되는 메모리 셀들(MC)은 비휘발성 특성을 가질 수 있다. 즉, 메모리 셀들(MC)에 기록된 데이터는, 스토리지(330)에 공급되는 전원이 차단되어도 그대로 유지될 수 있다. 본 발명에서는, 저장 장치의 입력부에 포함된 버튼이 눌리면, 저장 장치의 컨트롤러는 휘발성 특성을 갖는 메인 메모리 및/또는 인터페이스의 버퍼 등에 저장된 데이터를 스토리지(330)에 저장할 수 있다. 따라서, 전원 차단이 불가능한 서버에 연결된 저장 장치를 분리하는 경우에 발생할 수 있는 데이터 손실을 방지할 수 있다.
도 6은 본 발명의 일 실시예에 따른 저장 장치가 연결될 수 있는 서버를 간단하게 나타낸 도면이다.
도 6을 참조하면, 서버(400)는 복수의 단위 서버들(410-440)을 포함할 수 있다. 복수의 단위 서버들(410-440) 각각은, 베이스 프레임(411-441) 및 베이스 프레임(411-441) 내에 장착되는 복수의 서버 모듈들(415-445)을 포함할 수 있다. 일례로 베이스 프레임(411-441)은 서버 모듈들(415-445)을 장착할 수 있는 캐비닛 형태의 랙 마운트일 수 있다.
서버 모듈들(415-445)은 베이스 프레임(411-441) 내에 장착되며, 그 크기는 소정의 표준 규약에 따라 정의될 수 있다. 일례로 서버 모듈들(415-445) 각각의 높이는 1.75 인치의 길이를 갖는 1U를 단위로 하여 정의될 수 있다. 서버 모듈들(415-445) 중 적어도 일부는 서로 다른 높이를 가질 수도 있다. 서버 모듈들(415-445)의 전면과 후면 중 적어도 하나에는 전원, 네트워크 등을 공급하기 위한 배선이 연결될 수 있다.
다양한 필요에 따라 서버 모듈들(415-445)에는 저장 장치가 외장으로 연결될 수 있다. 서버 모듈들(441-445)에 외장으로 연결되는 저장 장치는 SSD 장치일 수 있으며, 소정의 인터페이스를 통해 서버 모듈들(441-445)과 데이터를 주고받을 수 있다. 서버 모듈들(441-445)에 많은 수의 저장 장치를 연결하기 위해, 저장 장치의 인터페이스는 저장 장치의 단축을 갖는 면에 배치될 수 있다.
또한, 서버 모듈들(441-445)에 많은 수의 저장 장치를 연결하기 위해서는 저장 장치의 크기를 가능한 줄일 필요가 있다. 전원 차단이 어려운 서버(400)의 동작 환경에서, 저장 장치를 서버 모듈들(441-445)로부터 분리할 때 발생할 수 있는 데이터 손실을 막기 위해, 저장 장치가 서버 모듈들(441-445)로부터 분리된 후 일정 시간 동안 전원을 공급하기 위한 목적으로 커패시터 모듈이 저장 장치에 포함될 수 있다. 커패시터 모듈은 상대적으로 큰 소자들을 많이 포함하므로, 저장 장치의 크기를 줄이는 데에 한계를 가져올 수 있다.
본 발명에서는 상기와 같은 문제를 해결하고자, 커패시터 모듈을 저장 장치에 포함시키지 않을 수 있다. 대신, 서버(400)의 동작 중에도 저장 장치가 안전하게 분리될 수 있도록, 백업 동작을 실행할 수 있는 버튼을 갖는 입력부, 및 백업 동작의 진행 상황을 출력하기 위한 LED를 갖는 출력부가 저장 장치에 마련될 수 있다. 입력부와 출력부는 커패시터 모듈 및 커패시터 모듈을 충전하기 위한 PLP 회로 등에 비해 상대적으로 작은 크기로 구현이 가능하므로, 저장 장치의 크기를 줄일 수 있다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 저장 장치와 서버의 연결 구조를 간단하게 나타낸 도면들이다.
먼저 도 7에 도시한 일 실시예에서, 단위 서버(410)는 베이스 프레임(411)에 장착되는 복수의 서버 모듈들(415)을 포함할 수 있다. 서버 모듈들(415) 각각의 높이는 1U일 수 있다. 서버 모듈들(415) 각각에 가능한 많은 수의 저장 장치(500)를 연결하기 위해, 저장 장치(500)의 장축(A)이 아닌 단축(B)을 갖는 면에 인터페이스가 형성될 수 있다.
다음으로 도 8을 참조하면, 단위 서버(450)는 베이스 프레임(451)과 서버 모듈들(455)을 포함하며, 서버 모듈들(455) 각각의 높이는 2U 이상일 수 있다. 도 8에 도시한 일 실시예에서는, 도 7에 도시한 일 실시예와 달리 저장 장치들(500)을 세워서 단위 서버(450)에 연결할 수 있다. 다만, 도 7에 도시한 일 실시예와 마찬가지로, 도 8에 도시한 일 실시예에서도 저장 장치들(500) 각각의 인터페이스는, 장축(A)이 아닌 단축(B)을 갖는 면에 형성될 수 있다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 저장 장치의 동작을 설명하기 위해 제공되는 흐름도들이다.
먼저 도 9를 참조하면, 본 발명의 일 실시예에 따른 저장 장치의 동작 방법은 저장 장치가 호스트에 연결되어 동작하는 것으로 시작될 수 있다(S10). 저장 장치는 호스트에 연결되는 인터페이스를 포함할 수 있으며, 호스트는 일례로 서버일 수 있다. 즉, 호스트는 특별한 상황을 제외하면 전원 차단 없이 지속적으로 동작할 수 있다. 호스트에 가능한 많은 저장 장치를 연결할 수 있도록, 저장 장치의 인터페이스는 저장 장치의 단축을 갖는 면에 형성될 수 있다.
저장 장치의 컨트롤러는, 호스트에 연결되어 동작하는 동안 입력 커맨드가 수신되는지 여부를 판단할 수 있다(S11). 상기 입력 커맨드는 저장 장치에 마련된 입력부에 의해 생성되는 커맨드로서, 일례로 입력부가 포함하는 버튼을 누르는 동작에 의해 생성될 수 있다. 사용자 편의성을 위해, 저장 장치에서 상기 버튼은 인터페이스가 형성된 면과 마주보는 면에 마련될 수 있다. S11 단계에서 입력 커맨드가 수신되지 않으면, 저장 장치는 호스트와 데이터를 주고받으며 동작을 계속할 수 있다.
S11 단계에서 입력 커맨드가 수신되면, 저장 장치의 컨트롤러는 백업 동작을 실행하고(S12), 백업 동작의 진행 상황을 출력할 수 있다(S13). 백업 동작은 저장 장치에 포함된 휘발성 저장 공간들, 예를 들어 인터페이스의 버퍼나 메인 메모리 등에 저장된 데이터를 비휘발성 저장 공간인 스토리지에 옮겨 저장하는 작업을 포함할 수 있다. 스토리지는 비휘발성 특성을 갖는 낸드(NAND) 플래시 메모리를 포함할 수 있다.
백업 동작이 진행되는 동안, 컨트롤러는 백업 동작의 진행 상황을 출력할 수 있다. 일례로 컨트롤러는, 저장 장치에 구비된 출력부를 통해 백업 동작의 진행 상황을 사용자에게 알려줄 수 있다. 출력부는 적어도 하나의 LED를 포함할 수 있다. 컨트롤러는 백업 동작이 진행 중일 때 LED를 점멸시키고, 백업 동작이 완료되면 LED를 계속 발광시키는 방식으로 백업 동작의 진행 상황을 알릴 수 있다. 또는 반대로 백업 동작이 진행 중일 때 LED를 계속 발광시키고 백업 동작이 완료되면 LED를 점멸 동작시킬 수도 있다. 다른 실시예에서 출력부가 복수의 LED들을 포함하는 경우, 컨트롤러는 백업 동작이 진행 중일 때와 백업 동작이 완료된 후에 서로 다른 LED들을 턴-온시킴으로써 백업 동작의 진행 상황을 알릴 수 있다. 백업 동작이 진행 중일 때와 백업 동작이 완료된 후에 턴-온되는 LED들은 서로 다른 색상의 빛을 출력할 수 있다. 또는, 같은 색상의 빛을 출력하는 LED들을 서로 다른 위치에 배치하여 백업 동작이 완료되었는지 여부를 알릴 수도 있다.
백업 동작이 완료되면 저장 장치는 호스트로부터 분리될 수 있다(S14). 사용자는 출력부를 통해 백업 동작이 완료되었음을 확인하고 저장 장치를 호스트로부터 분리함으로써, 계속해서 동작하는 호스트로부터 저장 장치를 분리하는 과정에서 발생할 수 있는 데이터 손실을 최소화할 수 있다.
다음으로 도 10을 참조하면, 본 발명의 일 실시예에 따른 저장 장치의 동작 방법은 저장 장치가 호스트에 연결되어 동작하는 것으로 시작될 수 있다(S101). 일 실시예에서 호스트는 특별한 상황을 제외하면 전원 차단 없이 지속적으로 동작하는 서버일 수 있다.
저장 장치의 컨트롤러는, 호스트에 연결되어 동작하는 동안 입력 커맨드가 수신되는지 여부를 판단할 수 있다(S102). 상기 입력 커맨드는 저장 장치에 마련된 버튼을 누르는 동작에 의해 생성될 수 있다. S102 단계에서 입력 커맨드가 수신되지 않으면, 저장 장치는 호스트와 데이터를 주고받으며 동작을 계속할 수 있다.
S102 단계에서 입력 커맨드가 수신되면, 저장 장치의 컨트롤러는 저장 장치가 호스트와 통신 중인지 여부를 판단할 수 있다(S103). S103 단계에서 컨트롤러는 저장 장치가 호스트와 데이터를 주고받는 중인지 여부를 판단할 수 있다. 일례로, 호스트와 저장 장치를 연결하는 인터페이스의 상태를 나타내는 레지스트리 값을 이용하여 인터페이스를 통한 데이터 통신이 진행 중인지 여부를 판단할 수 있다.
일례로 저장 장치의 인터페이스가 PCI Express인 경우, 컨트롤러는 레지스트리 값들 중에서 PCI 리셋 필드(PERST) 값을 이용하여 데이터 통신이 진행 중인지를 판단할 수 있다. 저장 장치의 인터페이스가 SATA인 경우, 컨트롤러는 파워 디스에이블(PWRDIS) 값을 이용하여 데이터 통신이 진행 중인지를 판단할 수 있다.
S103 단계의 판단 결과 저장 장치와 호스트가 데이터 통신 중인 것으로 판단되면, 컨트롤러는 백업 동작을 실행할 수 있다(S107). 백업 동작은 저장 장치의 인터페이스의 버퍼, 메인 메모리 등에 저장된 데이터를 스토리지에 옮겨 저장하는 동작일 수 있다. 컨트롤러가 백업 동작을 실행하는 동안, 적어도 하나의 LED를 포함하는 출력부에 의해 백업 동작의 진행 상황이 출력될 수 있다(S108). 백업 동작의 진행 상황을 출력하는 방법은 앞서 도 9를 참조하여 설명한 바와 유사할 수 있다. 백업 동작이 완료된 후 저장 장치가 호스트로부터 분리될 수 있다(S109).
S103 단계의 판단 결과 저장 장치와 호스트가 데이터 통신 중이지 않은 것으로 판단되면, 컨트롤러는 백그라운드 동작이 실행 중인지를 판단할 수 있다(S104). 일례로 컨트롤러는 펌웨어에 의한 백그라운드 동작이 실행 중인지 여부를 판단할 수 있다. S104 단계의 판단 결과 백그라운드 동작이 실행 중이면, 컨트롤러는 백그라운드 동작의 진행 상황을 출력할 수 있다(S105). 일례로 컨트롤러는 출력부에 포함되는 LED를 이용하여 백그라운드 동작의 진행 상황을 출력할 수 있다.
저장 장치의 컨트롤러는 백그라운드 동작의 진행 상황을 출력함과 동시에, 백그라운드 동작이 완료되는지를 모니터링할 수 있다(S106). S106 단계에서 백그라운드 동작이 완료되지 않은 것으로 판단되면, 백그라운드 동작을 계속 진행할 수 있다. S106 단계에서 백그라운드 동작이 완료된 것으로 판단되면, 컨트롤러는 백업 동작을 실행할 수 있다(S107).
한편 S104 단계의 판단 결과 백그라운드 동작이 진행 중이지 않은 것으로 판단되면, 저장 장치가 호스트와의 데이터 통신도, 백그라운드 동작도 실행 중이지 않은 케이스에 해당할 수 있다. 따라서, 저장 장치의 컨트롤러는 저장 장치가 이상 상태에 진입한 것으로 판단하고 복구 모드로 진입하여 복구 동작을 실행할 수 있다(S110). 컨트롤러는 출력부를 통해 복구 동작의 진행 상황을 출력할 수 있다(S111). 일 실시예에서 컨트롤러는, 복구 동작이 실행되는 동안, 디버깅에 필요한 상태 정보를 로그 파일 등의 형태로 스토리지 또는 컨트롤러 내부의 저장 공간에 저장할 수 있으며, 복구 동작이 완료된 후 저장 장치를 재부팅할 수 있다.
도 11a 내지 도 13c는 본 발명의 일 실시예에 따른 저장 장치의 동작을 설명하기 위해 제공되는 도면들이다.
먼저 도 11a를 참조하면, 저장 장치(700)가 호스트인 서버 모듈(600)에 연결된 상태에서, 사용자가 버튼(703)을 누를 수 있다. 도 11a를 참조하면, 저장 장치(700)는 하우징(701)에 장착된 버튼(703)과 LED(704)를 포함할 수 있다. 사용자가 버튼(703)을 누름으로써 저장 장치(700)의 컨트롤러는 백업 동작을 시작할 수 있다. 앞서 설명한 바와 유사하게, 백업 동작은 저장 장치(700) 내부의 휘발성 저장 공간 등에 존재하는 데이터를, 비휘발성 저장 공간에 옮겨 저장하는 동작을 포함할 수 있다.
일례로, 도 11a와 같이 사용자가 버튼(703)을 눌러 백업 동작이 시작되면, 컨트롤러는 백업 동작이 진행되는 동안 LED(704)를 점멸 동작시킬 수 있다. 또한, 백업 동작이 완료되면, 컨트롤러는 LED(704)를 계속 턴-온시킬 수 있다. 사용자는 LED(704)를 통해 백업 동작이 완료되었는지 여부를 확인하고, 도 11b와 같이 저장 장치(700)를 서버 모듈(600)로부터 분리할 수 있다. 따라서, 서버 모듈(600)의 동작 중에 저장 장치(700)를 서버 모듈(600)로부터 분리하면서 발생할 수 있는 데이터 손실을 없앨 수 있다. 또한, 별도의 커패시터 모듈 없이 데이터를 미리 백업하는 방식으로 전력 차단 보호 기능을 구현함으로써, 저장 장치(700)의 크기를 줄이고 서버 모듈(600)에 연결 가능한 저장 장치(700)의 개수를 증가시킬 수 있다.
다음으로 도 12a를 참조하면, 본 발명의 일 실시예에 따른 저장 장치(710)의 동작은 사용자가 버튼(713)을 누르는 것으로 시작될 수 있다. 저장 장치(710)는 하우징(711)에 마련된 버튼(713)과, 복수의 LED들(715-718)을 갖는 출력부(714)를 포함할 수 있다.
도 12a와 같이 버튼(713)이 눌리면, 저장 장치(710)의 컨트롤러는 저장 장치(710)와 호스트인 서버 모듈(600) 사이에 데이터 통신과 백그라운드 동작 중 적어도 하나가 진행 중인지를 판단할 수 있다. 백그라운드 동작이 진행 중이면, 도 12a에 도시한 바와 같이 저장 장치(710)의 컨트롤러는 출력부(714)에 포함된 제2 LED(716)를 턴-온시켜 백그라운드 동작이 진행 중임을 사용자에게 알릴 수 있다.
백그라운드 동작이 완료되면, 도 12b에 도시한 바와 같이 저장 장치(710)의 컨트롤러는 제2 LED(716)를 턴-오프시키고 제1 LED(715)를 턴-온시켜 백그라운드 동작이 종료되었음을 사용자에게 알릴 수 있다. 사용자는 백그라운드 동작이 종료되었음을 확인하고 다시 버튼(713)을 눌러 백업 동작을 실행시킬 수 있다. 실시예에 따라, 사용자가 다시 버튼(713)을 누르는 동작없이, 백그라운드 동작이 종료되면 바로 백업 동작이 시작될 수도 있다.
백업 동작이 시작되면, 도 12c에 도시한 바와 같이 제1 LED(715)가 턴-오프되고 제3 LED(717)가 턴-온될 수 있다. 제3 LED(717)가 턴-온되어 있는 동안, 사용자는 저장 장치(710)에서 백업 동작이 진행 중임을 확인할 수 있다. 백업 동작이 완료되면 제3 LED(717)가 턴-오프될 수 있으며, 사용자는 도 12d에 도시한 바와 같이 저장 장치(710)를 서버 모듈(600)로부터 분리할 수 있다. 따라서, 전원 차단없이 계속 동작 중인 서버 모듈(600)로부터, 데이터 손실없이 저장 장치(710)를 분리할 수 있다.
다음으로 도 13a를 참조하면, 본 발명의 일 실시예에 따른 저장 장치(710)의 동작은 사용자가 버튼(713)을 누르는 것으로 시작될 수 있다. 도 13a와 같이 사용자가 버튼(713)을 누르면, 저장 장치(710)의 컨트롤러는 저장 장치(710)와 호스트인 서버 모듈(600) 사이에 데이터 통신과 백그라운드 동작 중 적어도 하나가 진행 중인지를 판단할 수 있다. 데이터 통신과 백그라운드 동작 중 어느 것도 진행 중이지 않으면, 저장 장치(710)의 컨트롤러는 저장 장치(710)에 이상 상태가 발생한 것으로 판단할 수 있다. 따라서 저장 장치(710)의 컨트롤러는 복구 모드로 진입하여 복구 동작을 진행함과 동시에 제4 LED(718)를 턴-온시켜 복구 동작의 진행 상황을 알릴 수 있다.
일 실시예에서 복구 동작이 완료되면, 저장 장치(710)의 컨트롤러는 저장 장치(710)를 재부팅할 수 있다. 저장 장치(710)에 대한 복구 동작 및 재부팅이 완료되면, 도 13b에 도시한 바와 같이 제1 내지 제4 LED들(715-718)을 모두 턴-온시켜 복구 동작 및 재부팅이 완료되었음을 사용자에게 알릴 수 있다. 사용자는 도 13c에 도시한 바와 같이 저장 장치(710)를 서버 모듈(600)로터 안전하게 분리할 수 있으며, 로그 파일 등을 참조하여 복구 동작을 실행하게 한 원인을 분석할 수 있다.
도 11a 내지 도 13c를 참조하여 설명한 바와 같이, 본 발명의 실시예들에서는 저장 장치가 출력부를 이용하여 다양한 동작 상황을 사용자에게 알릴 수 있다. 출력부의 제한적인 구성을 이용하여 서로 다른 동작 상황을 출력할 수 있도록, 저장 장치의 컨트롤러는 소정의 출력 패턴들을 이용할 수 있다. 일례로 도 11a와 도 11b를 참조하여 설명한 바와 같이, 백업 동작이 진행 중일 때에는 LED를 반복적으로 점멸시키는 제1 출력 패턴을 선택하고, 백업 동작이 완료되면 LED를 계속 점등시키는 제2 출력 패턴을 선택할 수 있다. 또한, 도 12a 내지 도 13c를 참조하여 설명한 바와 같이 현재 실행 중인 동작이 백그라운드 동작, 백업 동작, 복구 동작 중 어느 동작인지에 따라, 서로 다른 LED를 턴-온함으로써 다양한 출력 패턴들을 선택할 수 있다. 한편, 도 13a 내지 도 13c를 참조하여 설명한 바와 같이, 복수의 LED들 중 적어도 둘 이상을 동시에 턴-온시켜 저장 장치의 동작 상황을 알리는 출력 패턴을 이용할 수도 있다.
또한 실시예들에 따라서, 버튼을 누르는 다양한 방법들에 의해 서로 다른 동작이 저장 장치에서 실행될 수도 있다. 일례로, 버튼을 한 번 누르면 일반적인 백업 동작을 실행하고, 버튼을 길게 누르거나 두 번 빠르게 누르면 복구 동작이 실행되도록 저장 장치가 설정될 수 있다. 또는 저장 장치가 복수의 버튼들을 구비하고, 복수의 버튼들 각각을 누름으로써 서로 다른 동작을 실행시키는 입력 커맨드가 생성될 수도 있다.
본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되는 것이 아니며 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 본 발명의 기본적인 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.
10, 100, 500, 700: 저장 장치
12, 140: 인터페이스
13, 110, 703, 713: 입력부
14, 120, 704, 714: 출력부
200: 호스트
400: 서버
411, 421, 431, 441, 451: 베이스 프레임
415, 425, 435, 445, 455, 600: 서버 모듈

Claims (20)

  1. 적어도 하나의 LED를 포함하는 출력부;
    적어도 하나의 버튼을 갖는 입력부;
    데이터를 저장하는 스토리지;
    외부 호스트와의 데이터 통신을 제공하는 인터페이스; 및
    상기 입력부로부터 입력 커맨드를 수신하면, 처리 중인 데이터를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 출력부를 통해 상기 백업 동작의 진행 상황을 출력하는 컨트롤러; 를 포함하는 저장 장치.
  2. 제1항에 있어서,
    상기 컨트롤러는 상기 백업 동작을 실행하여, 상기 컨트롤러와 상기 스토리지 사이에서 데이터를 전송하는 메인 메모리에 저장된 데이터, 및 상기 인터페이스의 버퍼에 저장된 데이터 중 적어도 일부를 상기 스토리지에 저장하는 저장 장치.
  3. 제1항에 있어서,
    상기 컨트롤러는, 상기 데이터를 상기 백업 동작을 실행하는 제1 시간 동안 상기 적어도 하나의 LED를 점멸시키고, 상기 제1 시간이 경과하면 상기 적어도 하나의 LED를 연속적으로 발광시키는 저장 장치.
  4. 제1항에 있어서,
    상기 컨트롤러는, 상기 데이터를 상기 백업 동작을 실행하는 제1 시간 동안 상기 적어도 하나의 LED를 연속적으로 발광시키고, 상기 제1 시간이 경과하면 상기 적어도 하나의 LED를 점멸시키는 저장 장치.
  5. 제1항에 있어서,
    상기 출력부는 서로 다른 색상의 빛을 출력하는 복수의 LED들을 포함하는 저장 장치.
  6. 제5항에 있어서,
    상기 컨트롤러는, 상기 데이터를 상기 백업 동작을 실행하는 제1 시간 동안 제1 색상의 빛을 출력하는 제1 LED를 동작시키고, 상기 제1 시간이 경과하면 상기 제1 색상과 다른 제2 색상의 빛을 출력하는 제2 LED를 동작시키는 저장 장치.
  7. 제1항에 있어서,
    상기 입력 커맨드를 수신하면, 상기 컨트롤러는 상기 백업 동작을 실행하기 전에 상기 데이터 통신이 실행 중인지 여부를 판단하는 저장 장치.
  8. 제7항에 있어서,
    상기 컨트롤러는, 상기 데이터 통신이 실행 중이지 않으면, 백그라운드 동작이 실행 중인지 여부를 판단하는 저장 장치.
  9. 제8항에 있어서,
    상기 백그라운드 동작이 실행 중이면, 상기 컨트롤러는 상기 출력부를 통해 상기 백그라운드 동작의 진행 상황을 출력하는 저장 장치.
  10. 제9항에 있어서,
    상기 컨트롤러는 상기 백그라운드 동작이 완료된 후에 상기 백업 동작을 실행하는 저장 장치.
  11. 제8항에 있어서,
    상기 백그라운드 동작이 실행 중이지 않으면, 상기 컨트롤러는 복구 동작을 실행하는 저장 장치.
  12. 제11항에 있어서,
    상기 복구 동작이 실행되는 동안, 상기 컨트롤러는 디버깅에 필요한 상태 정보를 상기 스토리지에 저장하고 재부팅을 실행하는 저장 장치.
  13. 제11항에 있어서,
    상기 컨트롤러는 상기 출력부를 통해 상기 복구 동작의 진행 상황을 출력하는 저장 장치.
  14. 제1항에 있어서,
    상기 스토리지는 플래시 메모리를 포함하는 저장 장치.
  15. 적어도 하나의 버튼을 포함하며, 상기 버튼을 이용한 복수의 입력 패턴에 대응하는 복수의 입력 커맨드들을 생성하는 입력부;
    서로 다른 복수의 출력 패턴들로 동작하는 적어도 하나의 LED를 포함하는 출력부;
    데이터를 저장하는 스토리지; 및
    상기 복수의 입력 커맨드들 중 하나를 수신하면 외부 서버와 통신 중인 데이터, 및 백그라운드 동작에 의해 처리 중인 데이터 중 적어도 하나를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 복수의 출력 패턴들 중 적어도 하나로 상기 백업 동작의 진행 상황을 출력하는 컨트롤러; 를 포함하는 저장 장치.
  16. 제15항에 있어서,
    상기 컨트롤러는, 상기 외부 서버와의 통신 중에 상기 복수의 입력 커맨드들 중 하나를 수신하면 제1 출력 패턴이 출력되도록 상기 출력부를 제어하고, 상기 백그라운드 동작 중에 상기 복수의 입력 커맨드들 중 하나를 수신하면 상기 제1 출력 패턴과 다른 제2 출력 패턴이 출력되도록 상기 출력부를 제어하는 저장 장치.
  17. 제16항에 있어서,
    상기 제1 출력 패턴과 상기 제2 출력 패턴은, 상기 출력부에 포함되는 하나의 LED를 서로 다르게 동작시키는 출력 패턴들인 저장 장치.
  18. 제16항에 있어서,
    상기 제1 출력 패턴과 상기 제2 출력 패턴은, 상기 출력부에 포함되는 복수의 LED들 중 서로 다른 LED들을 턴-온시키는 출력 패턴들인 저장 장치.
  19. 제15항에 있어서,
    상기 백그라운드 동작은 상기 외부 서버의 간섭 없이 상기 컨트롤러에 의해 실행되는 동작인 저장 장치.
  20. 적어도 하나의 버튼을 갖는 입력부;
    적어도 하나의 LED를 갖는 출력부;
    데이터를 저장하는 스토리지;
    외부 서버에 연결되어 데이터를 주고받으며, 상기 외부 서버로부터 동작에 필요한 전원을 공급받는 인터페이스; 및
    상기 버튼이 생성한 입력 커맨드를 수신하면, 상기 전원을 공급받는 동안 상기 외부 서버와 주고받는 데이터를 상기 스토리지에 저장하는 백업 동작을 실행하고, 상기 출력부를 통해 상기 백업 동작의 완료 여부를 출력하는 컨트롤러; 를 포함하는 저장 장치.

KR1020180132681A 2018-11-01 2018-11-01 저장 장치 KR102570271B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180132681A KR102570271B1 (ko) 2018-11-01 2018-11-01 저장 장치
US16/506,579 US11301145B2 (en) 2018-11-01 2019-07-09 Storage device providing disconnection from host without loss of data
DE102019119832.1A DE102019119832A1 (de) 2018-11-01 2019-07-23 Verfahren zum betreiben einer speichervorrichtung, die zur verbindung mit einem host ausgelegt ist
CN201910801519.2A CN111143118A (zh) 2018-11-01 2019-08-28 操作存储装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180132681A KR102570271B1 (ko) 2018-11-01 2018-11-01 저장 장치

Publications (2)

Publication Number Publication Date
KR20200050484A true KR20200050484A (ko) 2020-05-12
KR102570271B1 KR102570271B1 (ko) 2023-08-25

Family

ID=70459801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180132681A KR102570271B1 (ko) 2018-11-01 2018-11-01 저장 장치

Country Status (4)

Country Link
US (1) US11301145B2 (ko)
KR (1) KR102570271B1 (ko)
CN (1) CN111143118A (ko)
DE (1) DE102019119832A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697761B (zh) * 2019-05-22 2020-07-01 十銓科技股份有限公司 發光固態硬碟
US20240061750A1 (en) * 2022-08-19 2024-02-22 Alcon Inc. Backup status notifier for closed computer networks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060007576A1 (en) * 2004-07-06 2006-01-12 Protostor, Inc. Removable cartridge storage devices and methods
US20060080515A1 (en) * 2004-10-12 2006-04-13 Lefthand Networks, Inc. Non-Volatile Memory Backup for Network Storage System
JP2009129418A (ja) * 2007-11-28 2009-06-11 Hitachi Ltd ディスク制御装置とストレージシステム
KR20110130284A (ko) * 2010-05-27 2011-12-05 삼성전자주식회사 파이프라인 프로세서 및 이퀄 모델 보존 방법
KR101409175B1 (ko) * 2013-12-16 2014-06-20 주식회사 시큐브 스마트기기의 보안파일 접근 제어 장치 및 방법
KR20160143429A (ko) * 2015-06-05 2016-12-14 엘지전자 주식회사 이동단말기 및 그 제어방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09152918A (ja) 1995-11-29 1997-06-10 Nec Corp フラッシュメモリ保護機構,それを用いたフラッシュメモリ制御装置,及びフラッシュメモリ保護方法
JPH11297083A (ja) 1998-04-07 1999-10-29 Hitachi Ltd 不揮発性メモリを利用したバックアップ記憶装置
EP1476873A4 (en) * 2002-02-22 2006-07-05 Lexar Media Inc MEMORY HOLDER WITH INTEGRATED LAMP LAMP
US7908504B2 (en) 2007-03-23 2011-03-15 Michael Feldman Smart batteryless backup device and method therefor
KR101602939B1 (ko) * 2009-10-16 2016-03-15 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
US9042197B2 (en) 2013-07-23 2015-05-26 Western Digital Technologies, Inc. Power fail protection and recovery using low power states in a data storage device/system
JP6053702B2 (ja) 2014-02-03 2016-12-27 三菱電機株式会社 データバックアップ方法およびデータバックアップ装置
CN107038131A (zh) 2016-02-04 2017-08-11 广明光电股份有限公司 固态硬盘断电保护装置及方法
US10031571B2 (en) 2016-07-06 2018-07-24 Dell Products L.P. Systems and methods for power loss protection of storage resources
US10599503B2 (en) 2016-07-28 2020-03-24 Dell Products L.P. Triggering power loss protection on solid-state storage devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060007576A1 (en) * 2004-07-06 2006-01-12 Protostor, Inc. Removable cartridge storage devices and methods
US20060080515A1 (en) * 2004-10-12 2006-04-13 Lefthand Networks, Inc. Non-Volatile Memory Backup for Network Storage System
JP2009129418A (ja) * 2007-11-28 2009-06-11 Hitachi Ltd ディスク制御装置とストレージシステム
KR20110130284A (ko) * 2010-05-27 2011-12-05 삼성전자주식회사 파이프라인 프로세서 및 이퀄 모델 보존 방법
KR101409175B1 (ko) * 2013-12-16 2014-06-20 주식회사 시큐브 스마트기기의 보안파일 접근 제어 장치 및 방법
KR20160143429A (ko) * 2015-06-05 2016-12-14 엘지전자 주식회사 이동단말기 및 그 제어방법

Also Published As

Publication number Publication date
CN111143118A (zh) 2020-05-12
US11301145B2 (en) 2022-04-12
DE102019119832A1 (de) 2020-05-07
KR102570271B1 (ko) 2023-08-25
US20200142611A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
TWI683610B (zh) 用於計算平台的模組化托架形式因子
US10275356B2 (en) Component carrier with converter board
KR102471713B1 (ko) 다수의 솔리드-스테이트 드라이브들을 지원하기 위한 모듈러 시스템 아키텍처
JP5026102B2 (ja) ストレージ制御装置及びデータ管理方法
US10467163B1 (en) Solid state drive multiplexer
US7990823B2 (en) Storage device and its drive startup method
TW202008105A (zh) 具有偏移插槽對準的週邊儲存卡
WO2012025972A1 (en) Storage control apparatus and operating mode control method of storage control apparatus
KR101587453B1 (ko) 멀티 디바이스 베이 및 디바이스에 따른 pci express 스위치의 인터페이스 변환설정 방법 및 장치
CN101373433A (zh) 更新bios的方法以及使用该方法的电脑与系统
KR102570271B1 (ko) 저장 장치
US11061454B2 (en) Power supply apparatus, backup power module and method for providing backup power in computing systems
US10481664B2 (en) Storage device and method for powering storage device
US20170270044A1 (en) Active Storage Unit and Array
US20130094135A1 (en) Data storage system, an energy module and a method of providing back-up power to a data storage system
CN112667066B (zh) 一种扩展硬盘存储容量的方法、系统及介质
CN213365380U (zh) 一种服务器主板及服务器
CN105354164A (zh) 服务器Multi-Host模块热插拔的方法及系统
KR20080062640A (ko) 시스템의 오작동 방지를 위한 비휘발성 메모리 모듈 및이를 구비한 시스템
CN210837172U (zh) 大容量固态硬盘
CN103049218A (zh) 数据存储方法和控制器
CN214846518U (zh) 一种存储刀片及刀片服务器
KR100612903B1 (ko) Ddr 메모리를 이용한 데이타 저장시스템
US20180062293A1 (en) Backplane controller module using small outline dual in-line memory module (sodimm) connector
CN116189730A (zh) 为存储器提供备电的方法和相关设备

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