KR20190098688A - 정전에 대한 비용 효율적인 솔리드 스테이트 디스크 데이터 보호 방법 - Google Patents

정전에 대한 비용 효율적인 솔리드 스테이트 디스크 데이터 보호 방법 Download PDF

Info

Publication number
KR20190098688A
KR20190098688A KR1020190002499A KR20190002499A KR20190098688A KR 20190098688 A KR20190098688 A KR 20190098688A KR 1020190002499 A KR1020190002499 A KR 1020190002499A KR 20190002499 A KR20190002499 A KR 20190002499A KR 20190098688 A KR20190098688 A KR 20190098688A
Authority
KR
South Korea
Prior art keywords
ssd
volatile memory
connector
power
data
Prior art date
Application number
KR1020190002499A
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 삼성전자주식회사
Publication of KR20190098688A publication Critical patent/KR20190098688A/ko

Links

Images

Classifications

    • 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
    • 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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0626Reducing size or complexity of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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/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
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device

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

Abstract

저장 시스템은 적어도 하나의 솔리드 스테이트 드라이브(SSD) 및 베이스보드 관리 컨트롤러(BMC)를 포함한다. 상기 적어도 하나의 SSD는 통신 링크 정보를 통해 통신하고, 상기 적어도 하나의 SSD는 0을 포함하는 소정 개수의 수퍼 커패시터들을 포함하며, 전력 상태의 손실이 검출되면 소정의 시간동안 걸쳐 있는 비-휘발성 메모리의 데이터를 비-휘발성 메모리로 플러시하도록 동작 모드를 제공할 수 있다. 상기 BMC는 상기 SSD로부터 상기 정보를 수신하고, 그것에 응답하여 상기 동작 모드로 진입하기 위한 메시지를 상기 적어도 하나의 SSD로 전송한다.

Description

정전에 대한 비용 효율적인 솔리드 스테이트 디스크 데이터 보호 방법{COST-EFFECTIVE SOLID STATE DISK DATA-PROTECTION METHOD FOR POWER OUTAGES}
본 발명은 저장 시스템에 관한 것으로, 좀 더 구체적으로는 임박한 전력-손실 이벤트가 검출될 때 중요 정보를 저장하는 저장 시스템에 관한 것이다.
데이터 센터의 주된 과제는 영구적 데이터 손실의 가능성을 방지하거나 또는 최소화하는 것이다. 그러한 방안들은 많은 형태를 취할 수 있다. 예를 들어, SSD(solid-state drive)에 사용될 수 있는 한 가지 방법은 전력 손실이 검출되면 SSD의 휘발성 DRAM 내 상주하는 중요 정보(critical information)가 영구 메모리에 저장되도록 하는데 사용될 수 있는 전기 에너지를 저장하는 SSD의 내부의 수퍼 커패시터들(supercaps, 수퍼캡들)을 포함 하는 것이다. 수퍼캡에 의해 저장된 에너지는 동작 중 또는 보류중인 쓰기 데이터의 보존을 위해 단기간의 전력을 제공하는데 사용된다.
SSD 폼-팩터(form-factor) 제약은 SSD 수퍼캡이 물리적으로 작을 것을 필요로 한다. 따라서, 상대적으로 물리적으로 작은 수퍼캡들은 상대적으로 적은 전력을 저장하기 때문에, 대부분의 SSD들에서 상대적으로 많은 수의 비교적 작은 수퍼캡들이 사용된다. 예를 들어, 슈퍼 캡들을 포함하는 SSD는 30 개 이상의 내부 슈퍼 캡들을 포함할 수 있다. 따라서 완전히 로드된 2U 섀시에 총 24 개의 SSD들이 있을 경우, 700 개 이상의 수퍼캡들이 사용될 수 있다. 그러나 수퍼캡은 상대적으로 비싸고, 고장이 나기 쉽고, 시간이 지남에 따라 성능이 떨어지며, 무엇보다도 값비싼 SSD 보드 공간을 차지한다. 결과적으로, 합리적인 보증 기간을 제공하기 위해, SSD 제조 업체는 일반적으로 시간 경과에 따른 성능 저하를 보완하기 위해 수퍼캡 수를 과다 제공(overprovision)한다.
본 발명은 임박한 전력-손실 이벤트가 검출될 때 중요 정보를 저장할 수 있는 저장 시스템을 제공하는데 있다.
예시적인 실시예는 적어도 하나의 SSD와 베이스보드 관리 컨트롤러 장치를 포함한다. 상기 적어도 하나의 SSD는 통신 링크 정보를 통해 통신하고, 상기 적어도 하나의 SSD는 전력 상태의 손실이 검출되면 소정의 시간동안 휘발성 메모리의 데이터를 비-휘발성 메모리로 플러시하도록 동작 모드를 제공할 수 있다. 상기 베이스보드 관리 컨트롤러 장치는 상기 SSD로부터 상기 정보를 수신하고, 그것에 응답하여 상기 동작 모드로 진입하기 위한 메시지를 상기 적어도 하나의 SSD로 전송한다. 일 실시예에서, 상기 베이스밴드 관리 컨트롤러 장치는 상기 정보에 응답하여 상기 적어도 하나의 SSD의 커넥터 핀으로 제공되는 전압을 더 제어한다.
다른 예시적인 실시예에는 비-휘발성 메모리, 휘발성 메모리 및 SSD 컨트롤러 장치를 포함할 수 있다. 상기 휘발성 메모리는 상기 SSD가 승인한 호스트 데이터-쓰기 요청 데이터 그리고/또는 SSD 컨트롤러 상태 정보를 저장할 수 있다. 상기 SSD 컨트롤러 장치는 통신 링크 정보를 통해 통신하고, 상기 SSD는 소정 개수의 수퍼 커패시터들을 포함하며, 상기 소정 개수는 0을 포함하고, 전력 상태의 손실이 검출되면 소정의 시간동안 휘발성 메모리 내 데이터를 비-휘발성 메모리로 플러시하도록 동작 모드를 제공할 수 있다. 상기 SSD 컨트롤러 장치는 상기 동작 모드에 진입하기 위한 메시지를 더 수신한다.
본 발명의 다른 예시적인 실시예는 적어도 하나의 SSD, 미드-플레인 및 베이스보드 관리 컨트롤러 장치를 포함하는 저장 시스템을 제공한다. 상기 적어도 하나의 SSD는 통신 링크 정보를 통해 통신하고, 상기 적어도 하나의 SSD는 전력 상태의 손실이 검출되면 소정의 시간동안 휘발성 메모리의 데이터를 비-휘발성 메모리로 플러시하도록 동작 모드를 제공할 수 있고, 상기 SSD는 U.2 커넥터를 포함할 수 있다. 상기 미드-플레인은 상기 적어도 하나의 SSD의 상기 U.2 커넥터를 수신하는 커넥터 및 상기 적어도 하나의 SSD의 상기 U.2 커넥터를 수신하는 커넥터와 연결될 수 있는 상기 적어도 하나의 수퍼캡을 포함할 수 있다. 상기 베이스보드 관리 컨트롤러 장치는 상기 SSD로부터의 상기 정보를 수신하고, 그것에 응답하여 상기 동작 모드로 진입하기 위한 메시지를 상기 적어도 하나의 SSD로 전송하고, 그리고 상기 베이스보드 관리 컨트롤러는 상기 정보에 응답해서 상기 적어도 하나의 SSD의 상기 U.2 커넥터의 커넥터 핀으로 전압이 제공되도록 더 제어할 수 있다.
이와 같은 구성을 갖는 저장 시스템은 내부 수퍼캡들을 포함하지 않지만, 전력 손실이 검출되는 경우 휘발성 DRAM에 상주하는 중요한 정보가 영구 메모리로 플러시되는 것을 제공할 수 있다. SSD의 내부에서 수퍼캡들을 제거하는 것은 비용을 절감할 뿐만 아니라 비어 있는 공간을 용도 변경 및 추가 저장 매체를 위해 사용할 수 있게 하므로 SSD의 데이터 저장 용량을 증가시킬 수 있다.
이하의 섹션에서, 본 명세서에 개시된 주제의 양태는 도면들에 도시된 예시적인 실시예들을 참조하여 설명될 것이다:
도 1은 본 명세서에 개시된 과제에 따른 저장 시스템의 예시적인 실시예를 도시한다.
도 2a 및 도 2b는 내부 수퍼캡들을 포함하는 전형적인 SSD의 실시예 및 본 명세서에 개시된 과제에 따른 SSD의 예시적인 실시예를 각각 도시한다.
도 3a는 본 명세서에 개시된 과제에 따른 SSD가 수퍼캡 지원을 제공하는지를 판별하기 위해 노말 파워-온 초기화 프로세스에서 사용될 수 있는 BMC 장치와 SSD 사이의 예시적인 신호 흐름도를 도시한다.
도 3b는 본 명세서에 개시된 과제에 따른 전력 상태를 설정하고, SSD의 쓰기-캐시 기능을 인에이블하는 내부 수퍼캡들을 포함하지 않는(수퍼캡 지원을 제공하지 않는) BMC 장치와 SSD 사이의 예시적인 신호 흐름도를 도시한다.
도 4는 본 명세서에 개시된 과제에 따른 PDB를 통해 SSD로 제공되는 전원 전압들의 예시적인 실시예들을 도시한다.
도 5a는 본 명세서에 개시된 과제에 따른 예시적인 실시예의 미드-플레인을 도시한다.
도 5b는 본 명세서에 개시된 과제에 따른 다른 예시적인 실시예의 중앙집중식 수퍼캡들을 구비한 미드-플레인을 도시한다.
다음의 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 세부 사항이 설명된다. 그러나, 당업자는 개시된 양상들이 이러한 특정 세부 사항들 없이 실시될 수 있음을 이해할 것이다. 다른 예들에서, 공지된 방법들, 절차들, 구성 요소들 및 회로들은 여기에 개시된 주제를 모호하게 하지 않기 위해 상세히 설명되지 않았다.
본 명세서에서 "일 실시예"또는 "실시예"는 본 실시예와 관련하여 기술된 특정 특징, 구조 또는 특성이 본 명세서에 개시된 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 "일 실시예에서"또는 "실시예에서"또는 "일 실시예에 따라"(또는 유사한 의미를 갖는 다른 어구) 구의 출현은 모두 반드시 동일한 실시 예를 지칭하지는 않는다. 또한, 특정 특징들, 구조들 또는 특성들은 하나 이상의 실시예에서 임의의 적합한 방식으로 결합될 수 있다. 이와 관련하여, 본 명세서에 사용 바와 같이, "예시적인" 이라는 단어는 "예시, 실례 또는 사례를 제공함"을 의미한다. "예시적인" 것으로 본 명세서에서 설명된 임의의 실시예는 반드시 다른 실시예보다 반드시 바람직하거나 유리한 것으로 해석되어서는 안된다. 또한, 여기에서 논의의 문맥에 따라, 단수는 대응하는 복수의 형태를 포함할 수 있고, 복수의 용어는 대응하는 단수 형태를 포함할 수 있다. 본 명세서에 도시되고 논의된 다양한 도면들(구성 요소 도형들 포함)은 단지 예시를 목적으로 하는 것이며, 실제 척도로 그려진 것은 아니라는 점에 유의해야 한다. 마찬가지로, 다양한 파형들 및 타이밍도들이 단지 예시를 목적으로 도시된다. 예를 들어, 일부 구성 요소들의 치수들은 명확성을 위해 다른 구성 요소들에 비해 과장될 수 있다. 또한, 적절한 것으로 고려되는 경우, 참조 부호는 대응하는 및/또는 유사한 요소를 나타내기 위해 도면들 사이에서 반복되었다.
본 명세서에서 사용되는 용어는 특정 실시 예들을 설명하기 위한 것일 뿐 본 발명을 제한하려는 것은 아니다. 본 명세서에서 사용된 단수 형태는 문맥 상 다르게 지시하지 않는 한 복수 형태를 포함하는 것으로 의도된다. 본 명세서에서 사용된 "포함하는" 및 "포함하고 있는"의 용어는 명시된 특징들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 구성 요소들의 존재를 특정하며, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 구성 요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음이 잘 이해할 것이다. 본 명세서에서 명사의 레이블로 사용되는 "제1", "제2" 등의 용어는 명사 앞에 놓이나, 명시적으로 정의되지 않는 한 특정 타입의 순서(예를 들면, 공간적, 시간적, 논리적 등)를 암시하지 않는다. 또한 2 개 이상의 도면들에서 동일한 참조 부호들이 동일한 또는 유사한 기능들 갖는 부분들, 구성 요소들, 블록들, 회로들, 유닛들 또는 모듈들을 인용하기 위해 사용될 수 있다. 그러한 사용법은 설명의 간소화 및 논의의 용이함을 위해서만 사용된다. 그러한 구성 요소들 또는 유닛들의 구성 또는 구조적 세부 사항들이 모든 실시예들에 걸쳐 동일하거나 또는 공통으로 참조된 부품들/모듈들이 본 명세서에 개시된 특정 실시예들의 교시를 구현하는 유일한 방법이라는 것을 의미하지는 않는다.
달리 정의되지 않는 한, 본 명세서에서 사용되는 모든 용어들(기술 및 과학 용어 포함)은 이 주제가 속하는 기술 분야의 당업자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 일반적으로 사용되는 사전에서 정의된 용어들과 같은 용어들은 관련 기술 및/또는 본 명세서와 관련하여 그 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 이상적이거나 지나치게 형식적인 의미로 해석되지 않아야 한다.
본 명세서에 사용된 바와 같이, 용어 "모듈"은 모듈과 관련하여 본 명세서에 설명된 기능성을 제공하도록 구성된 소프트웨어, 펌웨어 및/또는 하드웨어의 임의의 조합을 지칭한다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령 세트 또는 명령들로서 구현될 수 있으며, 여기에 기술된 임의의 구현 예에서 사용되는 "하드웨어"라는 용어는 예를 들어, 단독으로 또는 임의의 조합으로, 하드 와이어드 회로, 프로그래머블 회로, 상태 머신 회로, 및/또는 프로그래머블 회로에 의해 실행되는 명령들을 저장하는 펌웨어를 포함할 수 있다. 모듈은 집적 회로(integrated circuit, IC), 시스템 온-칩(system on-chip, SoC) 등과 같은 더 큰 시스템의 일부를 형성하는 회로로서 집합적으로 또는 개별적으로 구현될 수 있다.
본 명세서에 개시된 SSD의 일 실시예는 내부 수퍼캡들을 포함하지 않지만, 전력 손실이 검출되는 경우 휘발성 DRAM에 상주하는 중요한 정보가 영구 메모리(persistent memory)로 플러시(flush)되는 것을 제공할 수 있다. SSD의 내부에서 수퍼캡들을 제거하는 것은 비용을 절감할 뿐만 아니라 비어 있는 공간을 용도 변경 및 추가 저장 매체를 위해 사용할 수 있게 하므로 SSD의 데이터 저장 용량을 증가시킬 수 있다. 다른 실시예에서, 플러싱 동작을 위해 에너지를 제공하는 추가적인 수퍼캡(supercaps)이 저장 시스템의 미드-플레인, 마더보드, 및/또는 전력 분배 보드(power distribution board, PDB)와 같이 SSD의 외부에 위치할 수 있기 때문에 SSD는 전형적인 SSD 장치보다 적은 수의 내부 수퍼캡들을 포함할 수 있고, 전력 손실이 검출되면 휘발성 DRAM에 존재하는 중요한 정보가 영구 메모리로 플러시되는 것을 제공할 수 있다.
도 1은 본 명세서에 개시된 과제에 따른 저장 시스템(storage system)(100)의 예시적인 실시예를 도시한다. 저장 시스템(100)은 이더넷 스위치(101), 베이스보드 관리 컨트롤러(baseboard management controller, BMC) 장치(102), PCIe(Peripheral Component Interconnect Express) 스위치(103), 미드-플레인(104), 전력 공급 유닛(power supply unit, PSU)(105), 전력 분배 보드(power distribution board, PDB)(106), 하나 이상의 SSD들(200a-200n)을 포함한다. 일 실시예에서, 하나 이상의 SSD들은 NVMe(Non-Volatile Memory Express) 장치일 수 있다. SSD들(200)이 NVMe 장치들인 실시예에서, 이더넷 스위치 보드는 X86 마더보드로 대체될 수 있다. 이더넷 스위치 보드는 NVMe 오버 패브릭(NVMe over Fabrics, NVMe-oF) 장치들로 구성된 SSD들(200)에 사용되고, X86 마더보드는 NVMe 장치들에 사용된다. 오직 하나의 이더넷 스위치(101) 및 오직 하나의 PCIe 스위치(103)만이 스토리지 시스템(100)의 일부로서 도시되었지만, 다수의 이더넷 스위치들(101) 및 다수의 PCIe 스위치들(103)이 저장 시스템(100)의 일부일 수 있다는 것을 이해해야 한다. 또한 저장 시스템(100)을 구성하는 다른 구성 요소들은 개별 구성 요소들 또는 개별 모듈들로 구현될 수 있다. 대안적으로, 저장 시스템(100)의 일부인 2 개 이상의 구성 요소들 또는 모듈들은 서로 통합될 수 있다.
저장 시스템(100)은 하나 이상의 SSD들(200)이 저장 시스템(100)에 대해 국지적으로 배치될 수 있는 섀시(chassis) 또는 랙(rack)으로서 물리적으로 구현될 수 있다. 또한 하나 이상의 부가적인 SSD들(200)은 저장 시스템(100)에 대해 원격으로 배치될 수 있다. 일 실시예에서, 저장 시스템(100)은 24 개의 SSD들(200)을 포함할 수 있다. 다른 실시예에서, 저장 시스템(100)은 48 개의 SSD들(200)을 포함할 수 있다. 또다른 실시예에서, 저장 시스템(100)은 임의의 개수의 SSD들(200)을 포함할 수 있다.
이더넷 스위치(101)는 복수의 업링크 이더넷 포트들(108)을 포함할 수 있으며, 그 중 하나의 업링크 포트(108)만이 도 1에 도시되어 있다. 하나 이상의 업 링크 포트들(108)은 이더넷 스위치(101)를 하나 이상의 원격 호스트들(170)에 연결할 수 있으나, 하나의 호스트(170)만 도시되어 있다. 또한 이더넷 스위치(101)는 복수의 다운링크 이더넷 포트들(109)을 포함할 수 있으며, 그 중 2 개의 포트들(109)만이 도 1에 도시되어 있다. 관리 포트(특정해서 도시하지 않음)는 이더넷 스위치(101)를 미드-플레인(104)을 통해 BMC 장치(102) 및/또는 개별적인 SSD들(200)에 연결할 수 있다. 일 실시예에서, 특정해서 나타내지 않았으나, BMC 장치(102) 및 각각의 SSD(200)는 대응하는 이더넷 포트들을 포함할 수 있다.
일 실시예에서, BMC 장치(102)는 저장 시스템(100)의 일부인 메인 스위치 보드에 위치할 수 있다. BMC 장치(102)는 디스커버리(discovery), 컨피규레이션(configuration) 및 동작 상태와 같은, 그러나 이에 제한되지 않는, 관리 기능들 및 각 SSD들의 상태 모니터링(health monitoring)을 제공하도록 구성될 수 있다. 일 실시예에서, BMC 장치(102)는 또한 SSD들(220)의 내부 기능을 제어 및/또는 구성하고, SSD들(200)로 제공되는 전원 전압을 제어하도록 구성되어서 전력의 손실이 검출될 때 휘발성 메모리에 상주하는 중요한 정보가 영구적인 메모리로 플러시될 수 있다. 플러시될 수 있는 그러한 중요한 데이터는 SSD가 확인한 호스트 데이터-쓰기 요청 데이터 및/또는 장치 재시작 후 영구 메모리에서 사용 가능할 때 장치 상태 인스턴스화 및 저장 기능 재개를 급격히 가속화하는 SSD 컨트롤러 상태 정보를 포함할 수 있다.
SSD가 수신했지만 확인하지 않은 호스트 쓰기 요청을 SSD(200)는 보존할 필요가 없을 수 있음에 주의해야 한다. 수신 확인되지 않은 호스트 쓰기 요청의 이러한 상황에서 호스트는 수신 확인되지 않은 쓰기-요청 활동을 복구할 책임이 있다. 따라서, SSD들(200)은 영구 메모리로 플러시될 필요가 있는 제한된 양의 데이터를 암시적으로 가질 것이고, 이는 이용 가능한 수퍼캡 보유 에너지가 동작 가능하게 지원할 수 있는 것보다 더 많은 플러시 해야할 데이터를 개별 SSD가 저장하지 않도록 보장한다.
저장 시스템(100)의 일 실시예에서, BMC 장치(102)와 SSD들(200) 사이에 하나 이상의 통신 경로들이 존재할 수 있으며, 이 경로는 제어 정보를 전달하고 BMC에 의해 제공되는 관리 기능에 관한 정보를 얻는데 사용될 수 있다 제 1 통신 경로는 이더넷 스위치(101)의 관리 포트를 통해 이루어질 수 있다. 제 2 통신 경로는 PCIe 스위치(103) 및 미드 플레인(104)을 통해 PCIe 버스(111)를 통해 이루어질 수 있다. 제 3 경로는 시스템 BMC 장치(102)와 SSD(200) 사이에 접속 된 관리 버스(SMBus)(112)를 포함한다.
또한 BMC 장치(102)는 관리 포트(114)를 포함할 수 있으며, 관리자(사용자)에 의해 동작되는 관리 서버(160)는 관리 포트(114)를 통해 BMC 장치(102)와 통신하고, BMC 장치(102)를 제어할 수 있다. 관리 서버(160)는 저장 시스템(100)으로부터 근접해서 또는 멀리 떨어져서 위치할 수 있다.
미드-플레인(104)은 통신 링크들 및 제어 링크들에 사용되는 신호 라인들, 그리고 저장 시스템(100)의 다양한 구성 요소들에 전력을 공급하는 전력 공급 라인들을 포함할 수 있다. 일 실시예에서, 미드-플레인(104)은 SSD들(200)의 커넥터들과 결합하는 리셉터클(receptacle) 커넥터들을 포함한다.
일 실시예에서, PSU(105)는 저장 시스템(100) 내에 배치될 수 있다. 다른 실시예에서, PSU(105)는 저장 시스템(100)과 별도로 배치될 수 있다. PSU(105)는 하나 이상의 전원 전압들을 저장 시스템(100)에 제공할 수 있다. 일 실시예에서, PSU(105)는 +12V, +5V 및 +3.3V와 같은, 그러나 이에 제한되지 않는, 다수의 전원 전압(115)을 저장 시스템(100)에 공급할 수 있으나, 이에 한정되지 않는다. PSU(105)로부터 출력되는 전원 전압들은 PDB(106)를 통해 저장 시스템(100)을 형성하는 다양한 구성 요소들에 분배될 수 있다. 또한 다른 실시예에서, PSU(105)는 저장 시스템(100)에 백업 에너지 원을 제공하는 능력을 포함할 수 있다.
PDB(106)는 미드-플레인(104)을 포함하여 저장 시스템(100) 전체에 전원 전압들(115)을 분배하기 위한 전력 분배 라인들을 포함할 수 있다. 일 실시예에서, PDB(106)는 BMC 장치(102)가 적어도 선택된 SSD들(200)에 대한 선택된 전원 전압(116)의 인가를 제어하는 것을 허용하는 구성 요소들을 포함할 수 있다.
도 2a 및 도 2b는 내부 수퍼캡들을 포함하는 전형적인(typical) SSD(150)의 실시예 및 본 명세서에 개시된 과제에 따른 SSD(200)의 예시적인 실시예를 각각 도시한다. 도 2a에 도시된 바와 같이, 전형적인 SSD(150)는 SSD 컨트롤러(151), 휘발성 메모리(152), 비-휘발성 메모리(153), 파워-페일(power-fail, PFAIL) 검출기(154), 수퍼캡들(155), 전력 멀티플렉서(156) 및 DC/DC 레귤레이터(157)를 포함한다. 일 실시예에서, 휘발성 메모리(152)는 DRAM(dynamic random access memory)일 수 있고, 비-휘발성 메모리(153)는 복수의 비-휘발성 메모리 다이들(dies) 또는 어레이들(153a-153n)로 형성될 수 있다.
또한 전형적인 SSD(150)는 U.2 또는 M.2 커넥터일 수 있는 커넥터(158)를 포함한다. 제어 신호들 및 데이터 신호들은 커넥터(158)를 통해 양방향으로 통과할 수 있다. 예를 들어, 제어 신호들 및 데이터 신호들은 SAS 핀들, PCIe 버스(111) 및/또는 SMBus(112)를 사용하는 이더넷 네트워크(111)를 거쳐 커넥터(158)를 통해 전형적인 SSD(150)와 양방향으로 전송될 수 있다. 제어 정보는 예를 들어, 내부 SMBus(112) 및/또는 I2C(inter-integrated circuit) 버스(미 도시됨)를 거쳐 전형적인 SSD(150)를 통해 내부적으로 전달될 수 있다. 데이터는 데이터 버스(159)를 통해 휘발성 메모리(152)로 그리고 데이터 버스(160)를 통해 비-휘발성 메모리(153)로 전형적인 SSD(150)전체에 걸쳐 내부적으로 전송될 수 있다.
또한, 전형적인 SSD(150)에 전력을 공급하기 위해 +12V, +5V 및 +3.3V와 같은 전원 전압들(115)이 커넥터(158)에 공급될 수 있다. 전원 전압들은 전력 멀티플렉서(156)의 제1 입력에 연결되고, 수퍼캡들들에 전하를 저장하도록 수퍼캡들들에 연결될 수 있다. DC/DC 레귤레이터(157)는 전력 멀티플렉서(156)로부터 전원을 수신하고, 전형적인 SSD(150) 전체에 걸쳐 필요에 따라 조정된 전압들을 공급한다.
PFAIL 검출기(154)는 전력 손실이 검출되는 경우 휘발성 메모리(152)에 상주하는 중요 정보가 영구 메모리(153)로 플러시될 수 있도록 임박한 외부 전력 손실 이벤트를 검출할 수 있다. 또한 전원 전압(115)과 관련된 전력 페일 검출 신호(미 도시됨)는 외부 전원 공급 전력 손실이 임박했음을 표시할 수 있다. 임박한 전력 손실 이벤트가 감지되지 않은 노말 동작에서, SSD(150)에 대한 전력은 전력 멀티플렉서(156)를 통해 DC/DC 레귤레이터(157)로 공급되고, DC/DC 레귤레이터(157)는 전형적인 SSD(150)로 조정된 전력을 공급한다. 예를 들어, 임박한 전력 손실 이벤트가 감지되면, 감지된 상태는 전력 멀티플렉서(156) 및 SSD 컨트롤러(151)로 전달된다. 이것에 응답하여, 전력 멀티플렉서(156)는 외부(즉, 커넥터(158)를 통해 제공되는)로부터 내부 수퍼캡들(155)로 전력의 공급이 스위치되고, SSD 컨트롤러(151)는 휘발성 메모리(152)에 상주하는 중요 정보(즉, SSD가 확인한 호스트 데이터-쓰기 요청 및/또는 SSD 컨트롤러 상태 정보)를 영구 메모리(153)로 플러시한다.
도 2b는 도 2a의 전형적인 SSD(150)와는 대조적인 본 발명의 예시적인 실시예의 SSD(200)를 도시한다. 도 2b에 도시된 예시적인 실시예의 SSD(200)가 수퍼캡을 포함하지 않는 것을 제외하고는 SSD(200) 전형적인 SSD(150)와 동일한 많은 구성 요소들을 포함할 수 있다. 좀 더 구체적으로, SSD(200)는 SSD 컨트롤러(201), 휘발성 메모리(202), 비-휘발성 메모리(203), PFAIL 검출기(204), 전력 멀티플렉서(206), DC/DC 레귤레이터(207) 및 커넥터(113)를 포함한다. 일 실시예에서 휘발성 메모리(203)는 DRAM일 수 있고, 비-휘발성 메모리(203)는 복수의 비-휘발성 메모리 어레이들(203a-203n)로부터 형성될 수 있다.
커넥터(113)는 U.2 또는 M.2 커넥터일 수 있다. 제어 신호들 및 데이터 신호들은 커넥터(113)를 통해 양방향으로 통과할 수 있다. 예를 들어, 제어 신호들 및 데이터 신호들은 이더넷 네트워크(110), PCIe 버스(111) 및/또는 SMBus(112)를 거쳐 커넥터(113)를 통해 SSD(200)로 양방향으로 통과할 수 있다. 제어 정보는 예를 들어, 내부 SMBus(112) 및/또는 I2C 버스(미 도시됨)를 통해 SSD(200) 내부 전반에 전송될 수 있다. 데이터는 데이터 버스(209)를 통해 휘발성 메모리(202)로 그리고 데이터 버스(210)를 통해 비-휘발성 메모리(203)로 SSD(200) 전체에 걸쳐 내부적으로 전송될 수 있다.
또한 전형적인 SSD(150)와 유사하게, SSD(200)에 전력을 공급하기 위해 +12V, +5V 및 +3.3V와 같은 전원 전압들(115)이 커넥터(113)에 공급될 수 있다. 전원 전압들은 전력 멀티플렉서(206)의 제1 입력과 연결될 수 있다. DC/DC 레귤레이터(207)는 전력 멀티플렉서(206)로부터 전력을 수신하고 SSD(200) 전체에 걸쳐 필요에 따라 조정된 전압을 공급한다. 전형적인 SSD(150)와의 다른 차이점은 SSD(200)가 U2 커넥터(113)의 3.3V_AUX 핀(E3)을 통해 +12V와 같은 전원 전압(116)을 수신하도록 구성될 수 있다는 것이다. U.2 커넥터(113)의 3.3V_AUX 핀(E3)을 통해 공급되는 +12V는 전력 멀티플렉서(206)의 제2 입력에 공급된다.
일 실시예에서, 전력 손실이 검출될 때, SSD(200)가 휘발성 DRAM의 중요한 정보를 영구 메모리에 저장하는데 3.3V_AUX 핀(E3)으로 제공되는 +12V를 사용할 수 있는지에 근거해서 BMC 장치(102)는 3.3V_AUX 핀(E3)에 공급되는 +12V를 제어할 수 있다. 이 기능에 관한 추가적인 세부 사항은 도 3 및 도 4를 참조하여 설명된다.
전형적인 SSD(150)와의 또 다른 차이점은 SSD(200)가 BMC 장치(102)에 의해 질의되어 SSD(200)가 내부 수퍼캡들을 포함하는 지를 판별할 수 있다는 것이다. 만일 SSD(200)가 내부 수퍼캡들을 포함하지 않고 SSD(200)가 3.3V_AUX 핀(E3)에서 + 12V를 이용할 수 있는 경우, SSD(200)는 PFAIL 검출기(204)에 의해 전력 손실이 검출되는 경우 SSD(200)가 휘발성 메모리(202)에 상주하는 중요 정보를 영구 메모리(203)로 플러시할 수 있도록 BMC 장치(102)에 의해 쓰기-캐시 기능을 가능하게 하도록 구성될 수 있다. 또한 전원 전압(115)과 관련된 전력 페일 검출 신호(미 도시됨)는 외부 전원 전력 손실이 임박했음을 알릴 수 있다.
임박한 전력 손실 이벤트가 감지되지 않는 노말 동작에서, SSD(200)에 대한 전력은 전력 멀티플렉서(206)를 통해 DC/DC 레귤레이터(207)에 공급될 수 있으며, DC/DC 컨트롤러(207)는 SSD(200)에 조절된 전력을 공급한다. 예를 들어 임박한 전력 손실 상태가 검출되면, 검출된 상태는 전력 멀티플렉서(206) 및 SSD 컨트롤러(201)로 전달된다. 이에 응답하여, 전력의 손실이 검출될 때, 전력 멀티플렉서(206)는 외부로부터(즉, 커넥터(113)를 통하여 제공되는)의 전원을 커넥터(113)의 3.3V_AUX 핀(E3)으로 스위칭하고, SSD 컨트롤러(201)는 휘발성 메모리(202)에 상주하는 중요 정보(즉, SSD가 확인 응답한 호스트 데이터-쓰기 요청 및/또는 SSD 컨트롤러 상태 정보)를 영구 메모리(203)에 플러시 한다.
BMC 장치(102)는 SSD(200)의 내부 구성에 기초하여 저장 시스템(100)의 각 SSD(200)와 통신하고 SSD(200)의 내부 동작을 구성할 수 있다. 예를 들어, BMC 장치(102)는 파워-온 초기화 프로세스 동안, SSDD(200)에 문의하여 SSD(200)가 내부 수퍼캡들을 포함하는 지의 여부 및 포함하는 경우 수퍼캡들의 능력을 판별한다. SSD(200)가 내부 수퍼캡들을 포함한다는 것을 나타내는 경우, BMC 장치(102)는 수퍼캡들이 시간이 지남에 따라 열화되므로 허용 가능한 미해결 전력 요구를 설정하기 위해 내부 수퍼캡들의 상태를 모니터링 할 수 있으며, 이는 BMC 장치(102)에서 각 개별 SSD(200)에 대한 전원 차단 이벤트들에서 플러시(flush) 될 필요가 있을 수 있는 미해결 승인된 호스트 쓰기들의 허용 가능한 개수가 유동적으로 변화하는 결과를 초래할 수 있다.
SSD(200)의 다른 예시적인 실시예는 전형적인 SSD(150)보다 더 적은 내부 수퍼캡들을 포함할 수 있고, 플러싱 동작을 위한 에너지를 제공하는 부가적인 수퍼캡들이 저장 시스템(100)의 미드-플레인(104), 마더 보드 및/또는 전력 분배 보드(PDB)(106)과 같이, SSD(200)의 외부에 배치될 수 있기 때문에 전력의 손실이 검출될 때 휘발성 DRAM(202)에 상주하는 중요 정보가 비-휘발성 메모리(203)로 플러시될 수 있다. 이러한 예시적인 실시예에서, +3.3V가 커넥터(113)의 3.3V_AUX 핀(E3)에 공급될 수 있고, 이 경우 + 12V는 커넥터(113)의 3.3V_AUX 핀(E3)에 공급되지 않을 것이다.
도 3a는 본 명세서에 개시된 과제에 따른 SSD가 수퍼캡 지원을 제공하는지를 판별하기 위해 노말 파워-온 초기화 프로세스에서 사용될 수 있는 BMC 장치와 SSD 사이의 예시적인 신호 흐름도를 도시한다. 도 3a의 301에서, BMC 장치(102)는 SSD가 수퍼캡 지원을 제공하는지 여부를 판별하기 위해 SSD로 GetFeature 메시지를 전송한다. SSD가 수퍼캡 지원을 제공하면 WCE(Write Cache Enable)은 "true"이고, 그렇지 않으면 WCE는 "false"다. 302에서, SSD는 WCE가 "true"인지 "false"인지를 나타내는 FeatureInfo 메시지로 BMC 장치(102)에 응답한다. 303에서, SSD는 BMC 장치(102)에 GetFeatureCmpl 메시지를 전송하여 메시지 트랜잭션(messaging transaction)을 완료한다.
만일 SSD(200)가 SSD가 내부에 비상-동작 수퍼캡 용량을 포함하지 않지만, 3.3V_AUX 핀(E3)을 통해 12V의 외부 백-업 전원 전압을 지원할 수 있다는 것을 BMC 장치(102)에게 전달하는 경우, BMC는 3.3V_AUX 핀(E3)에 +12V를 공급하고 3.3V_AUX 핀(E3)에 +12V가 공급된다는 것을 SSD에게 전달할 수 있다. 따라서, SSD는 노말 동작을 위해 전원 전압들(115)을 이용할 수 있고, 3.3V_AUX 핀(E3)에 공급되는 전원 전압(116)(즉, +12V)를 이용하여 휘발성 메모리에서 비-휘발성 메모리로 중요 데이터를 플러 시한다. BMC 장치(102)는 SSD의 내부 기능을 구성하여 전력 손실이 검출되는 경우에 중요 정보를 영구 메모리로 플러시하기 위한 쓰기-캐시 기능을 가능하게 할 수 있다.
도 3b는 본 명세서에 개시된 과제에 따른 전력 상태를 설정하고, SSD의 쓰기-캐시 기능을 인에이블하는 내부 수퍼캡들을 포함하지 않는(수퍼캡 지원을 제공하지 않는) BMC 장치와 SSD 사이의 예시적인 신호 흐름도를 도시한다. 304에서, BMC 장치(102)는 SetFeature 메시지를 SSD로 전송한다. 305에서, BMC 장치(102)는 WCE를 "true"로 설정하기 위해 FeatureInfo 메시지를 전송한다. 306에서, SSD는 SetFeatureCmpl 메시지를 BMC 장치(102)로 전송하여 트랜잭션을 완료한다. 데이터가 플러시되도록 PDB(106)를 통해 저장 시스템(100)에 의해 전력이 공급되기 때문에 전력의 손실이 검출되면 내부 수퍼캡들을 포함하지 않는 SSD(200)는 WCE를 인에이블함으로써, 휘발성 메모리(202)에 상주하는 중요 정보(즉, SSD가 확인한 호스트 데이터-쓰기 요청 및/또는 SSD 컨트롤러 상태 정보)를 영구 메모리(203)로 플러시할 수 있다.
표 1은 본 개시의 과제에 따른 SSD에서 통신 및 설정될 수 있는 전력 상태들을 예시적으로 보여준다.
Power State MP AP ENTLAT EXTLAT RRT RRL RWL
0 35W 33W 5㎲ 5㎲ 0 0 0
1 25W 21W 5㎲ 7㎲ 0 0 1
2 25W 21W 5㎲ 8㎲ 1 0 0
3 20W 19W 20㎲ 15㎲ 2 0 2
4 20W 17W 20㎲ 30㎲ 1 1 3
5 15W 15W 50㎲ 50㎲ 2 2 4
6 15W 13W 50㎲ 5000㎲ 4 3 5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31 5W 5W 100㎲ 5000㎲ 5 4 6
표 1에서 MP는 Maximum Power, ENTLAT는 Entry Latency, EXTLAT는 Exit Latency, RRT는 Relative Read Throughput, RRL은 Relative Read Latency, RWT "는 Relative Write Throughput을 나타내며 RWL은 Relative Write Latency를 나타낸다.
따라서, 본 명세서에 개시된 과제는 BMC가 그러한 드라이브들을 인식하고 통상적인 SSD들에 비상 +12V 전력을 공급하지 않기 때문에 3.3V_AUX 라인에서 +3.3V만을 예상하는 전형적인 SSD와 호환 가능하다. 또한, 전력-페일 이벤트에서, 전원 전압(115)과 관련된 전력페일 검출(powerfail_detected) 신호가 이용 가능할 수 있다. 전력페일 검출(powerfail_detected) 신호는 3.3V_AUX 핀(E3) 상의 +12V로 지원되는 SSD(200)에게 전력 손실이 임박함과, 전원 전압들(115) 및 3.3V_AUX 핀(E3)으로 제공되는 +12V로부터 이용가능한 잔여 전력을 사용하여 비상 플러시 동작들이 수행될 수 있음을 알려준다.
도 4는 본 명세서에 개시된 과제에 따른 PDB(106)를 통해 SSD로 인가되는 전원 전압들의 예시적인 실시예들을 도시한다. 일 실시예에서, PDB(106)는 2-입력 전력 멀티플렉서(401), 12V 레귤레이터(402) 및 하나 이상의 전력 스위치들(403)을 포함하며, 이들 전력 스위치들(403)중 하나의 전력 스위치(403n)만이 도시된다. PSU(105)(도 1에 도시됨)는 전력 멀티플렉서(401)의 제1 입력에 +12V를 공급할 수 있다. 백업 전원은 백업 +12V를 제1 멀티플렉서(401)의 제2 입력에 공급할 수 있다. 12V 레귤레이터(402) 는 레귤레이터(402)로부터 공급되는 12V가 양호함을 나타내는 12V PWRGOOD 신호 출력을 포함한다. 12V PWRGOOD 신호는 멀티플렉서(401)의 제어 입력으로 제공된다. 12V PWRGOOD 신호가 "true"이면 전력 멀티플렉서(401)는 PSU(105)로부터 공급되는 전력을 사용한다. 12V PWRGOOD 신호가 "false"이면, 파워 멀티플렉서(401)는 백업 전원으로부터 공급되는 전력을 사용한다.
BMC 장치(102)는 전원 스위치(403n)가 +12V를 SSD(200)에 공급할 수있게 하는 제어 신호(3.3VAUX Power_EN_SlotN)를 전원 스위치(403n)에 제공할 수 있다. 만일 BMC 장치(102)가 특정 SSD(200n)가 내부 수퍼캡들을 포함하지 않고, 3.3V_AUX 핀(E3)에 공급된 + 12V를 이용할 수 있는 것으로 판별하는 경우, BMC 장치(102)는 전력의 손실이 검출될 때 휘발성 메모리에 상주하는 중요 정보(202)를 특정 SSD(202n)의 영구 메모리(203)로 플러시하기에 충분한 에너지가 있게 하기 위해 파워 스위치(403n)가 +12V를 공급할 수 있게 한다.
전력은 PDB(106)로부터 SSD(200n)의 커넥터(113)를 통해 SSD(200n)로 공급될 수 있다. 일 실시예에서, 커넥터(113)는 +12V 전압이 이를 통해 핀들(P13, P14, P15)로 공급되고, +12V 전압이 이를 통해 3.3V_AUX 핀(E3)으로 공급되는 U.2 커넥터일 수 있다. 본 명세서에 개시된 과제에 따르면, U.2 커넥터의 3.3V_AUX 핀(E3)은 전형적인 SSD 내부의 수퍼캡 저장 전력 자원의 대용품으로서 제2의 보조 전원을 공급하기 위해 사용될 수 있다.
도 5a는 본 명세서에 개시된 과제에 따른 미드-플레인(500)의 예시적인 실시예를 도시한다. 미드-플레인(500)은 복수의 커넥터들(501) 및 복수의 수퍼캡들(502)을 포함한다. 각 커넥터(501)는 SSD(200)의 커넥터(113)와 짝을 이룬다. 각 수퍼캡(502)은 커넥터(501)에 대응한다. PDB(106)(도 1 및 도 4에 도시됨)는 하나 이상의 조정된 전압들(115) 및 전압(116)을 미드-플레인(500)에 공급한다. 각각의 수퍼캡(502)은 미드-플레인(500)에 공급되는 전압(116)에 연결될 수 있다.
처리 중 또는 보류중인 쓰기-데이터 요청들의 수는 섀시 내 SSD에 따라 다를 수 있으므로, 중앙 집중형 수퍼캡 풀 또는 수퍼캡들의 그룹은 상대적으로 적은 처리 중 또는 보류중인 쓰기 데이터 요청들을 포함하는 SSD들보다 상대적으로 많은 처리 중 또는 보류중인 쓰기-데이터 요청들을 포함하는 SSD들이 저장된 에너지를 소비하는 것을 가능하게 할 수 있다. 중앙집중적으로 배치될 수 있는 수퍼캡들은 섀시 내 모든 SSD들로 비상용 전력을 총괄적으로 제공할 수 있다. 대안적으로 상호 배타적이며 총괄적으로 철저한 수퍼캡 저장소 서브그룹들은 섀시에 배치되어서 섀시 내의 대응하는 상호 배타적이며 총괄적으로 철저한 SSD 서브그룹들을 지원할 수 있다. 또다른 대안으로, 새시 내 각 SSD는 SSD에 비상 전력을 제공하는 다수 개의 전용 수퍼캡들을 포함할 수 있다. 또한 중앙집중형 수퍼캡들은 병렬로 연결되어서 잔존 수퍼캡들 및 대기 전력이 정전 중에 충분한 전력을 계속해서 제공할 수 있기 때문에 하나 이상의 수퍼캡 장애가 동작에 영향을 미치지 않도록 할 수 있다.
도 5b는 본 명세서에 개시된 주제에 따라 중앙집중형 수퍼캡을 갖는 미드-플레인(550)의 또 다른 실시예를 도시한다. 미드-플레인(550)은 복수의 커넥터들(551) 및 복수의 수퍼캡들(552)을 포함한다. 각각의 커넥터(551)는 SSD(200)의 커넥터(113)와 짝을 이룬다. 각각의 수퍼캡(552)은 예시적인 수퍼캡(502)(도 5a)보다 물리적 및 용량적으로 상대적으로 커서 하나의 수퍼캡(552)은 2개의 커넥터들(552)에 대응한다. 즉, 수퍼캡들(552)은 이 경우, 2개의 SSD들(200)(도 5b에 미 도시됨)에 대해 중앙집중화된 수퍼캡을 제공한다. PDB(106)(도 1 및 도 4)는 하나 이상의 조정된 전압들(115) 및 전압(116)을 미드-플레인(550)에 공급한다. 각각의 수퍼캡(552)은 미드-플레인(550)에 공급되는 전압(116)에 연결될 수 있다. 도 5b는 2 개의 SSD들(200)에 대한 중앙집중형 수퍼캡을 도시하나, 중앙집중형 수퍼캡은 2 개 이상의 SSD들(200)과 연관될 수 있음을 알아야 한다.
당업자가 인식할 수 있는 바와 같이, 본 명세서에서 설명된 혁신적인 개념은 광범위한 응용 분야들에 걸쳐 수정되고 변경될 수 있다. 따라서, 청구된 주제의 범위는 상술한 특정 예시적인 교시 중 어느 하나에 한정되어서는 안되며, 다음의 청구 범위에 의해 정의된다.
100: 저장 시스템
101: 이더넷 스위치
102: 베이스보드 관리 컨트롤러(BMC) 장치
103: PCIe 스위치
104: 미드-플레인
105: 전력 공급 유닛
106: 전력 분배 보드
200a-200n: SSD

Claims (10)

  1. 통신 링크 정보를 통해 통신하고, 전력 상태의 손실이 검출되면 소정의 시간동안 휘발성 메모리의 데이터를 비-휘발성 메모리로 플러시하는 동작 모드를 제공할 수 있는 적어도 하나의 솔리드 스테이트 드라이브(SSD); 및
    상기 SSD로부터 상기 정보를 수신하고, 그것에 응답하여 상기 동작 모드로 진입하기 위한 메시지를 상기 적어도 하나의 SSD로 전송하는 베이스보드 관리 컨트롤러(BMC) 장치를 포함하는 저장 시스템.
  2. 제 1 항에 있어서,
    상기 베이스보드 관리 컨트롤러 장치는 상기 정보에 응답하여 상기 적어도 하나의 SSD의 커넥터 핀으로 인가될 전압을 더 제어하는 저장 시스템.
  3. 제 2 항에 있어서,
    상기 커넥터 핀은 3.3V_AUX 연결 핀인 저장 시스템.
  4. 제 3 항에 있어서,
    상기 전압은 약 +12V를 포함하는 저장 시스템.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 SSD는 소정 개수의 수퍼 커패시터들을 포함하며, 상기 소정 개수는 0을 포함하는 저장 시스템.
  6. 제 1 항에 있어서,
    상기 휘발성 메모리로부터 상기 비-휘발성 메모리로 플러시된 데이터는 상기 SSD가 승인한 호스트 데이터-쓰기 요청 데이터 그리고/또는 SSD 컨트롤러 상태 정보를 포함하는 저장 시스템.
  7. 솔리드 스테이트 드라이브(SSD)에 있어서:
    비-휘발성 메모리;
    상기 SSD가 승인한 호스트 데이터-쓰기 요청 데이터 그리고/또는 SSD 컨트롤러 상태 정보를 저장하는 휘발성 메모리; 및
    통신 링크 정보를 통해 통신하는 SSD 컨트롤러 장치를 포함하고,
    상기 SSD는 소정 개수의 수퍼 커패시터들을 포함하며, 상기 소정 개수는 0을 포함하고, 전력 상태의 손실이 검출되면 소정의 시간동안 상기 휘발성 메모리의 데이터를 상기 비-휘발성 메모리로 플러시하는 동작 모드를 제공할 수 있고, 상기 SSD 컨트롤러 장치는 상기 동작 모드에 진입하기 위한 메시지를 더 수신하는 솔리드 스테이트 드라이브.
  8. 제 7 항에 있어서,
    상기 메시지는 저장 시스템의 베이스보드 관리 컨트롤러(BMC) 장치로부터 수신되는 솔리드 스테이트 드라이브.
  9. 통신 링크 정보를 통해 통신하고, 전력 상태의 손실이 검출되면 소정의 시간동안 휘발성 메모리의 데이터를 비-휘발성 메모리로 플러시하는 동작 모드를 제공할 수 있고, U.2 커넥터를 포함하는 적어도 하나의 솔리드 스테이트 드라이브(SSD);
    상기 적어도 하나의 SSD의 상기 U.2 커넥터를 수신하는 커넥터 및 상기 적어도 하나의 SSD의 상기 U.2 커넥터를 수신하는 상기 커넥터와 연결되는 적어도 하나의 수퍼캡을 포함하는 미드-플레인; 및
    상기 SSD로부터 상기 정보를 수신하고, 그것에 응답하여 상기 동작 모드로 진입하기 위한 메시지를 상기 적어도 하나의 SSD로 전송하는 베이스보드 관리 컨트롤러(BMC) 장치를 포함하고, 상기 BMC 장치는 상기 정보에 응답해서 상기 적어도 하나의 SSD의 상기 U.2 커넥터의 커넥터 핀으로 인가될 전압을 더 제어하는 저장 시스템.
  10. 제 9 항에 있어서,
    상기 휘발성 메모리로부터 상기 비-휘발성 메모리로 플러시된 상기 데이터는 상기 SSD가 승인한 호스트 데이터-쓰기 요청 데이터 그리고/또는 SSD 컨트롤러 상태 정보를 포함하는 저장 시스템.
KR1020190002499A 2018-02-14 2019-01-08 정전에 대한 비용 효율적인 솔리드 스테이트 디스크 데이터 보호 방법 KR20190098688A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862630809P 2018-02-14 2018-02-14
US62/630,809 2018-02-14
US15/950,114 2018-04-10
US15/950,114 US10901898B2 (en) 2018-02-14 2018-04-10 Cost-effective solid state disk data-protection method for power outages

Publications (1)

Publication Number Publication Date
KR20190098688A true KR20190098688A (ko) 2019-08-22

Family

ID=67541649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002499A KR20190098688A (ko) 2018-02-14 2019-01-08 정전에 대한 비용 효율적인 솔리드 스테이트 디스크 데이터 보호 방법

Country Status (3)

Country Link
US (2) US10901898B2 (ko)
KR (1) KR20190098688A (ko)
CN (1) CN110162269B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11340802B2 (en) 2020-03-19 2022-05-24 SK Hynix Inc. Semiconductor memory device, controller, memory system and method thereof

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI670601B (zh) * 2018-07-30 2019-09-01 慧榮科技股份有限公司 斷電保護方法及系統
CN110716833B (zh) * 2019-09-29 2023-03-21 东莞记忆存储科技有限公司 用于测量ssd单次进入ps4状态时所造成的nand flash写入量的方法
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11847331B2 (en) * 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
CN113131613B (zh) * 2021-04-07 2023-04-07 山东英信计算机技术有限公司 一种电源管理装置
CN113254030B (zh) * 2021-04-09 2024-04-16 联合汽车电子有限公司 车载微处理器软件应急刷新方法、装置、存储介质及系统
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus
US20230333619A1 (en) * 2022-04-18 2023-10-19 Dell Products L.P. System and method for power supply input power management
US20230400988A1 (en) * 2022-06-14 2023-12-14 Western Digital Technologies, Inc. Preservation of volatile data in distress mode

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806271B2 (en) 2008-12-09 2014-08-12 Samsung Electronics Co., Ltd. Auxiliary power supply and user device including the same
US8934255B2 (en) 2009-03-10 2015-01-13 Samsung Electronics Co., Ltd. Super capacitor casing and supercapacitor embedded device
US8230257B2 (en) 2009-06-26 2012-07-24 Seagate Technology Llc Systems, methods and devices for controlling backup power provided to memory devices and used for storing of sensitive data
JP5414656B2 (ja) * 2010-12-01 2014-02-12 株式会社東芝 データ記憶装置、メモリ制御装置及びメモリ制御方法
CN103500131B (zh) * 2013-09-18 2015-09-09 华为技术有限公司 一种存储系统掉电数据备份方法及存储系统控制器
CN104122977B (zh) * 2014-07-11 2018-02-23 华为技术有限公司 一种存储数据的方法及存储系统
US9721660B2 (en) 2014-10-24 2017-08-01 Microsoft Technology Licensing, Llc Configurable volatile memory without a dedicated power source for detecting a data save trigger condition
US9568971B2 (en) * 2015-02-05 2017-02-14 Apple Inc. Solid state drive with self-refresh power saving mode
US20160378344A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Processor and platform assisted nvdimm solution using standard dram and consolidated storage
TW201742063A (zh) * 2016-05-30 2017-12-01 慧榮科技股份有限公司 資料儲存方法及發生電源中斷事件後之系統初始化之方法
US9966143B2 (en) 2016-06-06 2018-05-08 Toshiba Memory Corporation Solid state drive with improved power efficiency
US10599503B2 (en) * 2016-07-28 2020-03-24 Dell Products L.P. Triggering power loss protection on solid-state storage devices
US10482014B2 (en) * 2017-08-08 2019-11-19 Dell Products L.P. System and method of managing a memory medium
US10726879B2 (en) * 2017-12-08 2020-07-28 Samsung Electronics Co., Ltd. Low-power data transfer from buffer to flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11340802B2 (en) 2020-03-19 2022-05-24 SK Hynix Inc. Semiconductor memory device, controller, memory system and method thereof

Also Published As

Publication number Publication date
US20210124681A1 (en) 2021-04-29
US10901898B2 (en) 2021-01-26
CN110162269B (zh) 2021-08-10
US20190251027A1 (en) 2019-08-15
CN110162269A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
KR20190098688A (ko) 정전에 대한 비용 효율적인 솔리드 스테이트 디스크 데이터 보호 방법
US20230010660A1 (en) Non-volatile memory storage for multi-channel memory system
US8154258B2 (en) Backup energy storage module with voltage leveling
TWI683610B (zh) 用於計算平台的模組化托架形式因子
US10275356B2 (en) Component carrier with converter board
US8325554B2 (en) Battery-less cache memory module with integrated backup
US8117376B2 (en) Storage system and control method thereof
US20100095048A1 (en) Self-contained densely packed solid-state storage subsystem
US7954006B1 (en) Method and apparatus for archiving data during unexpected power loss
US11061454B2 (en) Power supply apparatus, backup power module and method for providing backup power in computing systems
US20120236489A1 (en) Solid state storage device with removable power backup
US20040133819A1 (en) System and method for providing a persistent power mask
WO2008073219A1 (en) Data redundancy in a plurality of storage devices
US11099961B2 (en) Systems and methods for prevention of data loss in a power-compromised persistent memory equipped host information handling system during a power loss event
KR20120030311A (ko) 멀티 pci 버스 스위칭을 갖는 하이브리드 raid 컨트롤러
TWI773152B (zh) 伺服器與應用於伺服器的控制方法
US7878861B2 (en) Energy storage module including a connector having unique pin configuration
KR20170124952A (ko) 전력이 공급되는 영구 저장 장치를 통한 호스트 메모리 보호
EP2065892A1 (en) Magnetic disk array device
CN115273922A (zh) 一种国产双控磁盘阵列异常掉电保护装置
US20130232377A1 (en) Method for reusing resource and storage sub-system using the same
US7127621B2 (en) Peer power control
CN208224988U (zh) 一种服务器输入输出io板卡
US7293198B2 (en) Techniques for maintaining operation of data storage system during a failure
US20200249738A1 (en) Systems and methods for isolation of a power-compromised host information handling system to prevent impact to other host information handling systems during a persistent memory save operation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal