KR20230089052A - 스토리지 시스템 및 그 동작 방법 - Google Patents

스토리지 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR20230089052A
KR20230089052A KR1020210177392A KR20210177392A KR20230089052A KR 20230089052 A KR20230089052 A KR 20230089052A KR 1020210177392 A KR1020210177392 A KR 1020210177392A KR 20210177392 A KR20210177392 A KR 20210177392A KR 20230089052 A KR20230089052 A KR 20230089052A
Authority
KR
South Korea
Prior art keywords
power
storage device
fault
host
storage
Prior art date
Application number
KR1020210177392A
Other languages
English (en)
Inventor
김세호
노혜리
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210177392A priority Critical patent/KR20230089052A/ko
Priority to US17/879,974 priority patent/US20230185686A1/en
Priority to CN202211440496.5A priority patent/CN116264101A/zh
Publication of KR20230089052A publication Critical patent/KR20230089052A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2252Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using fault dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

스토리지 시스템 및 그 동작 방법이 제공된다. 몇몇 실시예들에 따른 스토리지 시스템은 호스트, 호스트와 통신하는 스토리지 장치, 및 스토리지 장치의 동작에 따른 테스트를 수행하는 테스트 펌웨어를 포함하되, 호스트는, 스토리지 장치에 파워 결함(power fault)을 주입시키는 파워 결함 주입기를 포함하며, 파워 결합 주입기는 파워 결함 주입과 관련된 설정 정보들을 저장하는 설정값 테이블을 포함하고, 파워 결함 주입기는 설정 정보들을 바탕으로 스토리지 장치에 파워 결함을 주입한다.

Description

스토리지 시스템 및 그 동작 방법{Storage system and operating method of the same}
본 발명은 스토리지 시스템 및 그 동작 방법에 관한 것이다.
스토리지 시스템 내의 스토리지 장치에 파워 결함이 발생될 수 있다. 파워 결함은 예를 들어, SPO(Sudden Power Off), NPO(Normal Power Off), LVDF(Low Voltage Defect F), 또는 LVDH(Low Voltage Defect H)일 수 있다.
스토리지 장치를 구동하는 펌웨어는 스토리지 장치에 발생되는 파워 결함에 대비한 동작이 수행될 수 있다. 하지만, 스토리지 장치에 파워 결함이 발생된 경우, 펌웨어가 정상적으로 수행되는지 테스트가 수행될 필요가 있다. 따라서, 스토리지 장치에 고의적으로 파워 결함을 주입하고, 이에 따른 펌웨어의 기대 동작 수행 능력에 대한 테스트의 필요성이 대두된다.
본 발명이 해결하고자 하는 기술적 과제는 파워 결함이 발생된 경우에 대한 시뮬레이션 과정에서, 파워 결함 발생에 따른 펌웨어의 동작 검증 정확성이 향상된 스토리지 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 파워 결함이 발생된 경우에 대한 시뮬레이션 과정에서, 파워 결함 발생에 따른 펌웨어의 동작 검증 정확성이 향상된 스토리지 시스템의 동작 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스토리지 시스템은, 호스트, 호스트와 통신하는 스토리지 장치, 및 스토리지 장치의 동작에 따른 테스트를 수행하는 테스트 펌웨어를 포함하되, 호스트는, 스토리지 장치에 파워 결함(power fault)을 주입시키는 파워 결함 주입기를 포함하며, 파워 결합 주입기는 파워 결함 주입과 관련된 설정 정보들을 저장하는 설정값 테이블을 포함하고, 파워 결함 주입기는 설정 정보들을 바탕으로 스토리지 장치에 파워 결함을 주입한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스토리지 시스템은, 파워 결함이 발생하는 경우, 테스트 동작을 수행하는 테스트 펌웨어를 포함하는 스토리지 시스템으로서, 파워 결함은, 파워 결함 주입기를 통해 스토리지 장치에 파워 결함이 주입되는 설정 정보들이 저장된 호스트 내의 설정값 테이블에 따라, 스토리지 장치에 파워 결함이 주입된다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스토리지 시스템의 동작 방법은, 호스트 내의 설정값 테이블에 파워 결함 주입과 관련된 정보를 셋팅하고, 설정값 테이블에 따라 파워 결함을 스토리지 장치에 주입하고, 스토리지 장치는 파워 결함이 발생한 경우, 트리거를 발생시키고, 파워 결함의 발생에 따른 테스트 펌웨어의 동작을 검사하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 몇몇 실시예들에 따른 스토리지 시스템을 도시한 블록도이다.
도 2는 몇몇 실시예들에 따른 스토리지 시스템의 일부를 도시한 블록도이다.
도 3은 몇몇 실시예들에 따른 스토리지 시스템의 일부 동작을 설명하기 위한 예시적인 그래프이다.
도 4는 몇몇 실시예들에 따른 스토리지 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 5는 몇몇 실시예들에 따른 스토리지 시스템의 동작이 적용되는 전자 시스템을 설명하기 위한 예시적인 블록도이다.
도 1은 몇몇 실시예들에 따른 스토리지 시스템을 도시한 블록도이다.
도 1을 참조하면, 몇몇 실시예들에 따른 스토리지 시스템(1)은 호스트(10), 스토리지 장치(20), 및 테스트 펌웨어(30)를 포함한다.
호스트(10)는 파워 결함 주입기(100)를 통해, 스토리지 장치(20)에 파워 결함을 주입할 수 있다. 이때, 테스트 펌웨어(30)가 파워 결함 주입기(100)를 통해 발생되는 파워 결함을 스토리지 장치(20)에 주입할 수 있다.
스토리지 장치(20)는 스토리지 컨트롤러(200)와 비휘발성 메모리(210)를 포함한다.
스토리지 장치(20)는 호스트(10)로부터의 요청에 따라 데이터를 저장하기 위한 저장 매체들을 포함할 수 있다. 일 예로서, 스토리지 장치(20)는 SSD(Solid State Drive), 임베디드(embedded) 메모리 및 착탈 가능한 외장(external) 메모리 중 적어도 하나를 포함할 수 있다. 스토리지 장치(20)가 SSD인 경우, 스토리지 장치(20)는 NVMe(non-volatile memory express) 표준을 따르는 장치일 수 있다. 스토리지 장치(20)가 임베디드 메모리 혹은 외장(external) 메모리인 경우, 스토리지 장치(20)는 UFS(universal flash storage) 혹은 eMMC(embedded multi-media card) 표준을 따르는 장치일 수 있다. 호스트(10)와 스토리지 장치(20)는 각각 채용된 표준 프로토콜에 따른 패킷을 생성하고 이를 전송할 수 있다.
스토리지 장치(20)의 비휘발성 메모리(210)가 플래시 메모리를 포함할 때, 상기 플래시 메모리는 2D NAND 메모리 어레이나 3D(또는 수직형, Vertical) NAND(VNAND) 메모리 어레이를 포함할 수 있다. 다른 예로서, 스토리지 장치(20)는 다른 다양한 종류의 비휘발성 메모리들을 포함할 수도 있다. 예를 들어, 스토리지 장치(20)는 MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torgue MRAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase RAM), 저항 메모리(Resistive RAM) 및 다른 다양한 종류의 메모리가 적용될 수 있다.
스토리지 컨트롤러(200)는 스토리지 장치(20)의 전반적인 동작을 제어할 수 있다.
파워 결함 주입기(100)는 스토리지 시스템(1)의 사용자가 호스트(10)를 통해 설정한 파워 결함 주입과 관련된 설정 정보들을 기록할 수 있다. 파워 결함 주입기(100)는 사용자를 통해 기록된 파워 결함 주입과 관련된 설정 정보들에 따라, 스토리지 장치(20)에 파워 결함을 주입할 수 있다.
즉, 구체화된 설정값들을 바탕으로 파워 결합이 스토리지 장치(20)에 주입되고, 이에 따른 테스트 펌웨어(30)의 동작을 모니터링 함으로써, 실제로 스토리지 장치(20)에 파워 결함이 발생했을 때 기대되는 펌웨어(30)의 동작 성능 검증의 신뢰성을 향상시킬 수 있다.
도 2는 몇몇 실시예들에 따른 스토리지 시스템의 일부를 도시한 블록도이다.
도 1 및 도 2를 참조하면, 스토리지 시스템(1)의 사용자는 호스트(10)의 설정값 테이블(110)에 파워 결함 주입기가 스토리지 장치(20)에 주입하는 파워 결함과 관련된 설정 정보들(110a 내지 110e)을 기록해 놓을 수 있다.
설정 정보들(110a 내지 110e)은 예를 들어, 파워 결함의 종류(110a), 파워 결함을 발생시킬 시점(110b), 파워 결함이 발생되는 지점(110c), 파워 결함이 발생되는 횟수(110d), 및 파워 결함이 발생되는 확률(110e) 정보를 포함할 수 있다.
설정값 테이블(110)에 저장된 설정 정보들에 대해서 구체적으로 살펴본다.
파워 결함의 종류(110a)는 예를 들어, SPO(Sudden Power off), NPO(Normal Power Off), LVDF(Low Voltage Defect F), 또는 LVDH(Low Voltage Defect H)일 수 있다.
SPO는 스토리지 장치(20)에 제공되는 파워가, 사용자의 의도와는 상관 없이 줄어들거나 혹은 꺼지는 경우일 수 있다.
NPO는 사용자 혹은 스토리지 장치(20)의 파워를 관리하는 파워 관리 유닛(예를 들어, PMU: Power Management Unit)에 의해 의도적으로 파워가 꺼지는 경우일 수 있다.
LVDF는 스토리지 장치(20) 내의 비휘발성 메모리(210)로 인가되는 파워가 사용자가 설정한 기준 값보다 낮아지고, 이를 파워 관리 유닛(예를 들어, PMU)가 감지한 상황일 수 있다.
LVDH는 스토리지 컨트롤러(200) 내의 중앙 처리 장치(CPU: Central Processing Unit)로 인가되는 파워가 사용자가 설정한 기준 값보다 낮아지고, 이를 파워 관리 유닛(예를 들어, PMU)가 감지한 상황일 수 있다.
파워 결함이 발생되는 시점(110b)은 예를 들어, 스토리지 장치(20)가 동작한 후, 파워 결함이, 사용자가 지정한 일정 시점에 발생되도록 정해 놓은 설정값일 수 있다.
파워 결함이 발생되는 지점(110c)은 예를 들어, 파워 결함 주입기(100)가 주입하는 파워 결합이 주입될 구체적인 위치를 지정할 수 있다. 예를 들어, 파워 결함이 발생되는 지점(110c)은 스토리지 컨트롤러(200) 내부의 ECC 엔진, CPU, 또는 버퍼 등의 지점일 수 있다. 또는, 파워 결함이 발생되는 지점(110c)은 비휘발성 메모리(210)일 수 있다.
파워 결함이 발생되는 횟수(110d)는 예를 들어, 파워 결함 주입기(100)가 스토리지 장치(20)에 파워 결함을 주입하는 횟수일 수 있다.
파워 결함이 발생되는 확률(110e)은 예를 들어, 스토리지 장치(20)를 구동하는 펌웨어(예를 들어, 테스트 펌웨어(30))가 동작하는 횟수에 대한 사용자가 지정한 확률로 파워 결함이 발생되게끔 만들어줄 수 있다.
파워 결함 주입기(100)는 결함 트리거 검사기(120)를 포함할 수 있다. 결함 트리거 검사기(120)는 스토리지 장치(20) 내에서 스토리지 컨트롤러(200)가 트리거를 발생시킨 경우를 감지할 수 있다. 스토리지 컨트롤러(200)는 사용자가 지정한 파워 레벨까지 파워가 감소한 경우, 파워 결함이 발생한 것으로 인지하여 트리거를 발생시킬 수 있다. 스토리지 컨트롤러(200)가 트리거를 발생한 것을 결함 트리거 검사기(120)가 감지하면, 테스트 펌웨어(30)는 파워 결함 발생에 따른 동작을 수행할 수 있다. 사용자는, 파워 결함 발생 상황에서의 테스트 펌웨어(30)의 동작 성능이 원활히 작동되는지 모니터링할 수 있다.
도 3은 몇몇 실시예들에 따른 스토리지 시스템의 일부 동작을 설명하기 위한 예시적인 그래프이다.
도 1 내지 도 3을 참조하면, 테스트 펌웨어(30)가 구동되는 시간(t)이 가로축으로 나타나며, 스토리지 장치(20)에 공급되는 파워는 세로축으로 나타날 수 있다.
파워 결함의 종류(110a)가 SPO인 경우, 제1 케이스(Case 1)의 그래프와 같이, 파워가 바로 오프될 수 있다.
다른 예로, 테스트 펌웨어(30)가 제1 시간(t1), 제2 시간(t2), 제3 시간(t3), 및 제4 시간(t4)까지 구동되는 각각의 제2 케이스(Case 2), 제3 케이스(Case 3), 제4 케이스(Case 4), 및 제5 케이스(Case 5)가 발생될 수 있다.
각각의 케이스에서 사용자가 설정한 감지 지점까지 파워가 감소했을 때, 테스트 펌웨어(30)의 파워 결함에서의 동작을 검증할 수 있다.
도 4는 몇몇 실시예들에 따른 스토리지 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 4를 참조하면, 사용자가 호스트(10) 내에 포함된 설정값 테이블(110)에 파워 결함 주입과 관련된 정보들을 셋팅한다(S100). 파워 결함 주입과 관련된 정보들은 상술된 설정값들(110a 내지 110e)일 수 있다.
파워 결함 주입기(100)는 설정값 테이블(110)에 기록된 설정값들(110a 내지 110e)에 따라 파워 결함을 스토리지 장치(20)에 주입한다(S110).
이때, 스토리지 컨트롤러(200)는 사용자가 지정한 파워 값까지 파워가 감소한 경우 트리거를 발생할 수 있다(S120). 호스트(10) 내의 결함 트리거 검사기(120)는 스토리지 컨트롤러(200)가 발생시킨 트리거를 감지하고, 테스트 펌웨어(30)는 파워 결함 발생에 따른 동작을 수행할 수 있다.
사용자는 파워 결함 발생에 따른 테스트 펌웨어(30)의 동작을 검사하여, 파워 결함 시 펌웨어가 파워 결함에 대비한 동작을 정상적으로 수행하는지 모니터링할 수 있다(S130).
도 5는 몇몇 실시예들에 따른 스토리지 시스템의 동작이 적용되는 전자 시스템을 설명하기 위한 예시적인 블록도이다.
도 5는 본 발명의 일 실시예에 따른 스토리지(storage) 시스템의 동작이 적용된 시스템(1000)을 도시한 도면이다. 도 5의 시스템(1000)은 기본적으로 휴대용 통신 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기 또는 IOT(internet of things) 기기와 같은 모바일(mobile) 시스템일 수 있다. 하지만 도 5의 시스템(1000)은 반드시 모바일 시스템에 한정되는 것은 아니고, 개인용 컴퓨터(personal computer), 랩탑(laptop) 컴퓨터, 서버(server), 미디어 재생기(media player) 또는 내비게이션(navigation)과 같은 차량용 장비(automotive device) 등이 될 수도 있다.
도 5를 참조하면, 시스템(1000)은 메인 프로세서(main processor)(1100), 메모리(1200a, 1200b) 및 스토리지 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(1410), 사용자 입력 장치(user input device)(1420), 센서(1430), 통신 장치(1440), 디스플레이(1450), 스피커(1460), 전력 공급 장치(power supplying device)(1470) 및 연결 인터페이스(connecting interface)(1480) 중 하나 이상을 포함할 수 있다.
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다.
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 및/또는 스토리지 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시예에 따라서는, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator)(1130)를 더 포함할 수 있다. 이와 같은 가속기(1130)는 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 및/또는 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM, MRAM 및/또는 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.
스토리지 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 스토리지 장치(1300a, 1300b)는 스토리지 컨트롤러(1310a, 1310b)와, 스토리지 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성 메모리(non-volatile memory, NVM)(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 2D(2-dimensional) 구조 혹은 3D(3-dimensional) V-NAND(Vertical NAND) 구조의 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다.
스토리지 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 스토리지 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(1480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 스토리지 장치(1300a, 1300b)는 UFS(Universal Flash Storage), eMMC(embedded multi-media card) 혹은 NVMe(non-volatile memory express)와 같은 표준 규약이 적용되는 장치일 수 있으나, 반드시 이에 한정되는 건 아니다.
촬영 장치(1410)는 정지 영상 또는 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 및/또는 웹캠(webcam) 등일 수 있다.
사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keyboard), 키보드(keyboard), 마우스(mouse) 및/또는 마이크(microphone) 등일 수 있다.
센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 및/또는 자이로스코프(gyroscope) 센서 등일 수 있다.
통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(1440)는 안테나, 트랜시버(transceiver) 및/또는 모뎀(MODEM) 등을 포함하여 구현될 수 있다.
디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다.
전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리(도시 안함) 및/또는외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다.
연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(1000과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(1480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe, IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC, UFS, eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1: 스토리지 시스템 10: 호스트 100: 파워 결함 주입기 110: 설정값 테이블 120: 결함 트리거 검사기 20: 스토리지 장치 200: 스토리지 컨트롤러 210: 비휘발성 메모리

Claims (10)

  1. 호스트;
    상기 호스트와 통신하는 스토리지 장치; 및
    상기 스토리지 장치의 동작에 따른 테스트를 수행하는 테스트 펌웨어를 포함하되,
    상기 호스트는,
    상기 스토리지 장치에 파워 결함(power fault)을 주입시키는 파워 결함 주입기를 포함하며,
    상기 파워 결합 주입기는 상기 파워 결함 주입과 관련된 설정 정보들을 저장하는 설정값 테이블을 포함하고,
    상기 파워 결함 주입기는 상기 설정 정보들을 바탕으로 상기 스토리지 장치에 상기 파워 결함을 주입하는 스토리지 시스템.
  2. 제 1항에 있어서,
    상기 호스트는 결함 트리거 검사기를 더 포함하되,
    상기 결함 트리거 검사기는 상기 스토리지 장치에서 발생된 트리거를 감지하는 스토리지 시스템.
  3. 제 1항에 있어서,
    상기 설정 정보들 중 적어도 하나는 상기 파워 결함의 종류인 스토리지 시스템.
  4. 제 1항에 있어서,
    상기 설정 정보들 중 적어도 하나는 상기 파워 결함이 발생되는 시점인 스토리지 시스템.
  5. 제 1항에 있어서,
    상기 설정 정보들 중 적어도 하나는 상기 파워 결함이 발생되는 지점인 스토리지 시스템.
  6. 제 1항에 있어서,
    상기 설정 정보들 중 적어도 하나는 상기 파워 결함이 발생되는 횟수인 스토리지 시스템.
  7. 제 1항에 있어서,
    상기 설정 정보들 중 적어도 하나는 상기 파워 결함이 발생되는 확률인 스토리지 시스템.
  8. 파워 결함이 발생하는 경우, 테스트 동작을 수행하는 테스트 펌웨어를 포함하는 스토리지 시스템으로서,
    상기 파워 결함은, 파워 결함 주입기를 통해 스토리지 장치에 상기 파워 결함이 주입되는 설정 정보들이 저장된 호스트 내의 설정값 테이블에 따라, 상기 스토리지 장치에 파워 결함이 주입되는 스토리지 시스템.
  9. 제 8항에 있어서,
    상기 호스트는 결함 트리거 검사기를 더 포함하되,
    상기 결함 트리거 검사기는 상기 스토리지 장치에서 발생된 트리거를 감지하는 스토리지 시스템.
  10. 호스트 내의 설정값 테이블에 파워 결함 주입과 관련된 정보를 셋팅하고,
    상기 설정값 테이블에 따라 상기 파워 결함을 스토리지 장치에 주입하고,
    상기 스토리지 장치는 상기 파워 결함이 발생한 경우, 트리거를 발생시키고,
    상기 파워 결함의 발생에 따른 테스트 펌웨어의 동작을 검사하는 것을 포함하는 스토리지 시스템의 동작 방법.
KR1020210177392A 2021-12-13 2021-12-13 스토리지 시스템 및 그 동작 방법 KR20230089052A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210177392A KR20230089052A (ko) 2021-12-13 2021-12-13 스토리지 시스템 및 그 동작 방법
US17/879,974 US20230185686A1 (en) 2021-12-13 2022-08-03 Storage system and operating method of the same
CN202211440496.5A CN116264101A (zh) 2021-12-13 2022-11-17 存储系统及操作其的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210177392A KR20230089052A (ko) 2021-12-13 2021-12-13 스토리지 시스템 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20230089052A true KR20230089052A (ko) 2023-06-20

Family

ID=86695668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210177392A KR20230089052A (ko) 2021-12-13 2021-12-13 스토리지 시스템 및 그 동작 방법

Country Status (3)

Country Link
US (1) US20230185686A1 (ko)
KR (1) KR20230089052A (ko)
CN (1) CN116264101A (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012147162A1 (ja) * 2011-04-26 2012-11-01 日立オートモティブシステムズ株式会社 インバータ駆動回転電機、絶縁検査方法および絶縁検査装置
KR20160000758A (ko) * 2014-06-25 2016-01-05 주식회사 알티베이스 품질테스트장치 및 방법
US9727432B1 (en) * 2014-10-09 2017-08-08 Seagate Technology Llc Accelerated testing using simulated failures in a multi-device storage system

Also Published As

Publication number Publication date
US20230185686A1 (en) 2023-06-15
CN116264101A (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
US9804794B2 (en) Techniques for providing data redundancy after reducing memory writes
CN109933280B (zh) 数据存储装置及其操作方法
US10929251B2 (en) Data loss prevention for integrated memory buffer of a self encrypting drive
US10698819B2 (en) Memory system and operating method thereof
CN110286847B (zh) 数据存储装置及其操作方法
KR20190032104A (ko) 비휘발성 메모리 장치, 비휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
CN111459527A (zh) 存储器系统及其操作方法
US10719382B2 (en) Collecting state records of cores in a data storage device
KR20150072469A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 데이터 저장 장치
US20230393959A1 (en) Out-of-band management method for storage apparatus, baseboard management controller and storage apparatus
US11074006B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
KR20230089052A (ko) 스토리지 시스템 및 그 동작 방법
US11688453B2 (en) Memory device, memory system and operating method
KR20230067486A (ko) 스토리지 장치의 고장 예측 방법 및 장치
US20150169235A1 (en) Data storage device and operating method thereof
US20240134745A1 (en) Storage device for providing event data and operation method of storage device
US10514866B2 (en) Data storage device, operating method thereof and method for operating nonvolatile memory device
KR20230030795A (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 장치
KR20180078426A (ko) 데이터 저장 장치의 에러 정정 코드 처리 방법
KR20240054781A (ko) 이벤트 데이터를 제공하는 스토리지 장치 및 스토리지 장치의 동작 방법
KR20180060121A (ko) 데이터 저장 장치 및 데이터 처리 시스템
US11994934B2 (en) Failure prediction method and device for a storage device
EP4180965A1 (en) Storage devices configured to obtain data of external devices for debugging
US20240071449A1 (en) Storage device, non-volatile memory device, and method of operating the non-volatile memory device