KR20210019784A - 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 - Google Patents
신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 Download PDFInfo
- Publication number
- KR20210019784A KR20210019784A KR1020190098846A KR20190098846A KR20210019784A KR 20210019784 A KR20210019784 A KR 20210019784A KR 1020190098846 A KR1020190098846 A KR 1020190098846A KR 20190098846 A KR20190098846 A KR 20190098846A KR 20210019784 A KR20210019784 A KR 20210019784A
- Authority
- KR
- South Korea
- Prior art keywords
- storage device
- reference value
- standby current
- temperature
- initial standby
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000005856 abnormality Effects 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000015654 memory Effects 0.000 claims description 116
- 239000000872 buffer Substances 0.000 claims description 36
- 230000002950 deficient Effects 0.000 claims description 21
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims description 2
- NGVDGCNFYWLIFO-UHFFFAOYSA-N pyridoxal 5'-phosphate Chemical compound CC1=NC=C(COP(O)(O)=O)C(C=O)=C1O NGVDGCNFYWLIFO-UHFFFAOYSA-N 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 101001077604 Homo sapiens Insulin receptor substrate 1 Proteins 0.000 description 9
- 102100025087 Insulin receptor substrate 1 Human genes 0.000 description 9
- 101001011393 Homo sapiens Interferon regulatory factor 2 Proteins 0.000 description 7
- 102100029838 Interferon regulatory factor 2 Human genes 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 7
- 101001077600 Homo sapiens Insulin receptor substrate 2 Proteins 0.000 description 6
- 101001011382 Homo sapiens Interferon regulatory factor 3 Proteins 0.000 description 6
- 102100025092 Insulin receptor substrate 2 Human genes 0.000 description 6
- 102100029843 Interferon regulatory factor 3 Human genes 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 101000598002 Homo sapiens Interferon regulatory factor 1 Proteins 0.000 description 4
- 102100036981 Interferon regulatory factor 1 Human genes 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/24—Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5006—Current
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
스토리지 장치의 구동 방법에서, 스토리지 장치를 흐르는 스탠바이(standby) 전류를 센싱한다. 센싱된 스탠바이 전류 및 적어도 하나의 기준 값에 기초하여 스토리지 장치에 제품 이상이 발생하였는지 판단한다. 스토리지 장치에 대한 제품 이상이 감지된 경우에, 스토리지 장치의 동작과 관련된 두 개 이상의 제어 프로세스들이 순차적으로 진행되는 단계별(step-wise) 제어 동작을 수행한다.
Description
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 제품 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 상기 구동 방법을 수행하는 스토리지 장치에 관한 것이다.
최근에는 메모리 장치를 이용하는 SSD(solid state drive)와 같은 스토리지 장치가 널리 사용되고 있다. 상기와 같은 스토리지 장치는 기계적인 구동부가 없어 안정성 및 내구성이 뛰어나며 정보의 액세스 속도가 매우 빠르고 전력 소모가 적다는 장점이 있다. 최근 들어 노트북과 같은 전자 시스템뿐만 아니라, 자동차, 항공기, 드론(drone) 등과 같은 다양한 종류의 시스템에 전자 회로가 적용됨에 따라, 스토리지 장치 역시 다양한 종류의 시스템에서 사용되고 있다.
상기와 같은 스토리지 장치는 스토리지 컨트롤러 및 비휘발성 메모리를 포함하며, 컨트롤러 칩 및 메모리 칩의 형태로 구현될 수 있다. 스토리지 장치의 사용 시간이 증가함에 따라, 또는 외부로부터 서지 전압(surge voltage)이 수신되는 경우에, 컨트롤러 칩 및/또는 메모리 칩에 손상이 발생할 수 있다. 이 경우 제품 이상/오동작/불량 등이 발생하며, 특히 진행성 불량이 발생하는 경우에 이를 검출하기 어렵다는 문제점이 있다.
본 발명의 일 목적은 이상 동작을 효과적으로 감지하여 제품 신뢰성을 향상시킬 수 있는 스토리지 장치의 구동 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 구동 방법을 수행하여 제품 신뢰성이 향상될 수 있는 스토리지 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법에서, 상기 스토리지 장치를 흐르는 스탠바이(standby) 전류를 센싱한다. 센싱된 상기 스탠바이 전류 및 적어도 하나의 기준 값에 기초하여 상기 스토리지 장치에 제품 이상이 발생하였는지 판단한다. 상기 스토리지 장치에 대한 상기 제품 이상이 감지된 경우에, 상기 스토리지 장치의 동작과 관련된 두 개 이상의 제어 프로세스들이 순차적으로 진행되는 단계별(step-wise) 제어 동작을 수행한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 스토리지 장치는 복수의 비휘발성 메모리들, 스토리지 컨트롤러, 및 센싱 및 제어 블록을 포함한다. 상기 복수의 비휘발성 메모리들은 복수의 데이터들을 저장한다. 상기 스토리지 컨트롤러는 상기 복수의 비휘발성 메모리들의 동작을 제어한다. 상기 센싱 및 제어 블록은 상기 스토리지 컨트롤러를 흐르는 전류 및 상기 복수의 비휘발성 메모리들을 흐르는 전류들의 총합을 나타내는 스탠바이(standby) 전류를 센싱하고, 센싱된 상기 스탠바이 전류 및 적어도 하나의 기준 값에 기초하여 스토리지 장치에 제품 이상이 발생하였는지 판단하며, 상기 스토리지 장치에 대한 상기 제품 이상이 감지된 경우에 상기 스토리지 장치의 동작과 관련된 두 개 이상의 제어 프로세스들이 순차적으로 진행되는 단계별(step-wise) 제어 동작을 수행한다.
상기와 같은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법 및 스토리지 장치에서는, 스토리지 장치를 흐르는 스탠바이 전류를 센싱하며, 센싱 결과에 따라 제품 이상이 감지된 경우에 스토리지 장치에 대한 단계별 제어 동작을 수행할 수 있다. 스탠바이 전류를 주기적으로 센싱함으로써 스토리지 장치의 오작동을 방지하고, 스토리지 장치가 완전히 셧다운 되기 이전에 스토리지 장치에 저장되어 있는 사용자 데이터를 다른 저장소로 이동하여 사용자 데이터의 사전 보전이 가능하며, 센싱 결과를 제품 수명과 불량 예측을 위한 지표로서 활용할 수 있다. 상술한 것처럼 스탠바이 전류를 활용함으로써, 스토리지 장치에 대한 전반적인 제품 신뢰성을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 스토리지 장치 및 이를 포함하는 스토리지 시스템을 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 스토리지 장치에 포함되는 스토리지 컨트롤러의 일 예를 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 스토리지 장치에 포함되는 비휘발성 메모리의 일 예를 나타내는 블록도이다.
도 5는 도 1의 스탠바이 전류를 센싱하는 단계의 일 예를 나타내는 순서도이다.
도 6은 도 5의 센싱 동작을 설명하기 위한 도면이다.
도 7은 도 1의 스탠바이 전류를 센싱하는 단계의 다른 예를 나타내는 순서도이다.
도 8은 도 1의 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계 및 스토리지 장치에 제품 이상이 감지된 경우에 단계별 제어 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 9는 도 8의 제1 제어 프로세스를 수행하는 단계의 일 예를 나타내는 순서도이다.
도 10a, 10b, 10c, 10d, 10e, 10f, 10g, 11a, 11b, 11c 및 11d는 도 9의 제1 제어 프로세스를 설명하기 위한 도면들이다.
도 12는 도 8의 제2 제어 프로세스를 수행하는 단계의 일 예를 나타내는 순서도이다.
도 13은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다.
도 14는 도 13의 적어도 하나의 기준 값을 결정하는 단계의 일 예를 나타내는 순서도이다.
도 15는 도 14의 기준 값 결정 동작을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다.
도 17은 도 16의 적어도 하나의 기준 값을 결정하는 단계의 일 예를 나타내는 순서도이다.
도 18은 도 17의 기준 값 결정 동작을 설명하기 위한 도면이다.
도 19는 도 16의 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계 및 스토리지 장치에 제품 이상이 감지된 경우에 단계별 제어 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 20 및 21은 본 발명의 실시예들에 따른 스토리지 장치 및 이를 포함하는 스토리지 시스템을 나타내는 블록도이다.
도 22는 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 스토리지 장치 및 이를 포함하는 스토리지 시스템을 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 스토리지 장치에 포함되는 스토리지 컨트롤러의 일 예를 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 스토리지 장치에 포함되는 비휘발성 메모리의 일 예를 나타내는 블록도이다.
도 5는 도 1의 스탠바이 전류를 센싱하는 단계의 일 예를 나타내는 순서도이다.
도 6은 도 5의 센싱 동작을 설명하기 위한 도면이다.
도 7은 도 1의 스탠바이 전류를 센싱하는 단계의 다른 예를 나타내는 순서도이다.
도 8은 도 1의 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계 및 스토리지 장치에 제품 이상이 감지된 경우에 단계별 제어 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 9는 도 8의 제1 제어 프로세스를 수행하는 단계의 일 예를 나타내는 순서도이다.
도 10a, 10b, 10c, 10d, 10e, 10f, 10g, 11a, 11b, 11c 및 11d는 도 9의 제1 제어 프로세스를 설명하기 위한 도면들이다.
도 12는 도 8의 제2 제어 프로세스를 수행하는 단계의 일 예를 나타내는 순서도이다.
도 13은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다.
도 14는 도 13의 적어도 하나의 기준 값을 결정하는 단계의 일 예를 나타내는 순서도이다.
도 15는 도 14의 기준 값 결정 동작을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다.
도 17은 도 16의 적어도 하나의 기준 값을 결정하는 단계의 일 예를 나타내는 순서도이다.
도 18은 도 17의 기준 값 결정 동작을 설명하기 위한 도면이다.
도 19는 도 16의 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계 및 스토리지 장치에 제품 이상이 감지된 경우에 단계별 제어 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 20 및 21은 본 발명의 실시예들에 따른 스토리지 장치 및 이를 포함하는 스토리지 시스템을 나타내는 블록도이다.
도 22는 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 스토리지 장치는 데이터를 저장하는 복수의 메모리 블록들을 포함하는 복수의 비휘발성 메모리들 및 상기 복수의 비휘발성 메모리들의 동작을 제어하는 스토리지 컨트롤러를 포함한다. 또한, 상기 스토리지 장치는 스탠바이(standby) 전류를 센싱하고 이를 기초로 제어 동작을 수행하기 위한 센싱 및 제어 블록을 포함하여 구현된다. 상기 스토리지 장치 및 이를 포함하는 스토리지 시스템의 구조에 대해서는 도 2 등을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 스토리지 장치의 구동 방법에서, 상기 스토리지 장치를 흐르는 상기 스탠바이 전류를 센싱한다(단계 S100). 상기 스탠바이 전류는 유휴(idle) 전류 또는 누설(leakage) 전류라고 지칭되기도 하며, 상기 스토리지 장치가 일반적인 동작을 수행하지 않는 경우에 상기 스토리지 컨트롤러 및 상기 복수의 비휘발성 메모리들을 흐르는 전류를 나타낼 수 있다. 상기 스탠바이 전류를 센싱하는 구체적인 동작에 대해서는 도 5 내지 7을 참조하여 후술하도록 한다.
센싱된 상기 스탠바이 전류 및 적어도 하나의 기준 값에 기초하여 상기 스토리지 장치에 제품 이상이 발생하였는지 판단하고(단계 S200), 상기 스토리지 장치에 대한 상기 제품 이상이 감지된 경우에, 상기 스토리지 장치의 동작과 관련된 두 개 이상의 제어 프로세스들이 순차적으로 진행되는 단계별(step-wise) 제어 동작을 수행한다(단계 S300). 예를 들어, 센싱된 상기 스탠바이 전류가 하나의 기준 값을 초과하는 경우에, 하나의 제어 프로세스가 수행되며, 이에 따라 상기 기준 값의 개수는 상기 제어 프로세스들의 개수와 실질적으로 동일할 수 있다. 상기 제품 이상을 감지하고 상기 단계별 제어 동작을 수행하는 구체적인 동작에 대해서는 도 8 내지 12를 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 스토리지 장치의 구동 방법에서, 스토리지 장치를 흐르는 스탠바이 전류를 센싱하며, 센싱 결과에 따라 제품 이상이 감지된 경우에 스토리지 장치에 대한 단계별 제어 동작을 수행할 수 있다. 스탠바이 전류를 주기적으로 센싱함으로써 스토리지 장치의 오작동을 방지하고, 스토리지 장치가 완전히 셧다운(shut-down)되기 이전에 스토리지 장치에 저장되어 있는 사용자 데이터를 다른 저장소로 이동하여 사용자 데이터의 사전 보전이 가능하며, 센싱 결과를 제품 수명과 불량 예측을 위한 지표로서 활용할 수 있다. 상술한 것처럼 스탠바이 전류를 활용함으로써, 스토리지 장치에 대한 전반적인 제품 신뢰성을 향상시킬 수 있다.
도 2는 본 발명의 실시예들에 따른 스토리지 장치 및 이를 포함하는 스토리지 시스템을 나타내는 블록도이다.
도 2를 참조하면, 스토리지 시스템(100)은 호스트 장치(200) 및 스토리지 장치(300)를 포함한다.
호스트 장치(200)는 스토리지 시스템(100)의 전반적인 동작을 제어한다. 예를 들어, 상세하게 도시하지는 않았으나, 호스트 장치(200)는 호스트 프로세서 및 호스트 메모리를 포함할 수 있다. 상기 호스트 프로세서는 호스트 장치(200)의 동작을 제어하고, 예를 들어 운영 체제(Operating System; OS)를 실행할 수 있다. 상기 호스트 메모리는 상기 호스트 프로세서에 의해 실행 및 처리되는 명령어(instruction) 및 데이터를 저장할 수 있다. 예를 들어, 상기 호스트 프로세서에 의해 실행되는 상기 운영 체제는 파일 관리를 위한 파일 시스템(file system), 및 스토리지 장치(300)를 포함하는 주변 기기를 상기 운영 체제 레벨에서 제어하기 위한 장치 드라이버(device driver)를 포함할 수 있다.
스토리지 장치(300)는 호스트 장치(200)에 의해 액세스된다. 스토리지 장치(300)는 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c), 버퍼 메모리(330), 전원 관리 집적 회로(Power Management Integrated Circuit; PMIC)(340), 센싱 및 제어 블록(345), 및 온도 센서(360)를 포함한다.
스토리지 컨트롤러(310)는 스토리지 장치(300)의 동작을 제어할 수 있다. 예를 들어, 스토리지 컨트롤러(310)는 호스트 장치(200)로부터 수신된 커맨드 및 데이터에 기초하여 복수의 비휘발성 메모리들(320a, 320b, 320c)의 동작을 제어할 수 있다.
복수의 비휘발성 메모리들(320a, 320b, 320c)은 복수의 데이터들을 저장할 수 있다. 예를 들어, 복수의 비휘발성 메모리들(320a, 320b, 320c)은 메타 데이터들 및 그 밖의 사용자 데이터들을 저장할 수 있다.
일 실시예에서, 복수의 비휘발성 메모리들(320a, 320b, 320c) 각각은 NAND 플래시 메모리(Flash Memory)를 포함할 수 있다. 다른 실시예에서, 복수의 비휘발성 메모리들(320a, 320b, 320c) 각각은 EEPROM(Electrically Erasable Programmable Read-Only Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리를 포함할 수 있다.
버퍼 메모리(330)는 스토리지 컨트롤러(310)에 의해 실행 및 처리되는 명령어 및 데이터를 저장할 수 있고, 복수의 비휘발성 메모리들(320a, 320b, 320c)에 저장되어 있거나 저장하고자 하는 데이터를 임시로 저장할 수 있다. 예를 들어, 버퍼 메모리(330)는 DRAM(Dynamic Random Access Memory) 등과 같은 휘발성 메모리를 포함할 수 있다.
전원 관리 집적 회로(340)는 외부 전원 전압(VEXT)에 기초하여 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c) 및 버퍼 메모리(330)에 공급되는 전원 신호를 발생 및 제어할 수 있다. 다시 말하면, 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c) 및 버퍼 메모리(330)를 구동하기 위한 전원이 전원 관리 집적 회로(340)에 의해 제어 및 조절될 수 있다.
센싱 및 제어 블록(345)은 전원 관리 집적 회로(340)에 포함되며, 도 1을 참조하여 상술한 방법을 수행한다. 예를 들어, 센싱 및 제어 블록(345)은 스토리지 장치(300)를 흐르는 스탠바이 전류(ISTBY)를 센싱하고, 센싱된 스탠바이 전류(ISTBY) 및 적어도 하나의 기준 값에 기초하여 스토리지 장치(300)에 제품 이상이 발생하였는지 판단하며, 상기 제품 이상이 감지된 경우에 단계별 제어 동작을 수행한다. 다시 말하면, 센싱 및 제어 블록(345)은 자체적/내부적으로 센싱되는 스탠바이 전류를 활용함으로써, 스토리지 장치(300)에 대한 전반적인 제품 신뢰성을 향상시킬 수 있다. 또한, 센싱 및 제어 블록(345)은 도 13 및 16을 참조하여 후술하는 방법을 수행할 수도 있다.
실시예에 따라서, 센싱 및 제어 블록(345)의 일부 또는 전부는 하드웨어의 형태로 구현될 수도 있고 소프트웨어(즉, 프로그램)의 형태로 구현될 수도 있다.
일 실시예에서, 도 13 및 16을 참조하여 후술하는 것처럼, 상기 적어도 하나의 기준 값은 스토리지 장치(300)의 제조 시에 결정되어 스토리지 장치(300) 내부적으로 저장되어 있을 수 있다.
일 실시예에서, 스탠바이 전류(ISTBY)는 스토리지 장치(300)가 일반적인 동작을 수행하지 않는 경우에 스토리지 컨트롤러(310)를 흐르는 전류, 복수의 비휘발성 메모리들(320a, 320b, 320c)을 흐르는 전류들 및 버퍼 메모리(330)를 흐르는 전류의 총합을 나타낼 수 있다. 실시예에 따라서, 버퍼 메모리(330)가 생략될 수도 있으며, 이 경우 스탠바이 전류(ISTBY)는 스토리지 컨트롤러(310)를 흐르는 전류 및 복수의 비휘발성 메모리들(320a, 320b, 320c)을 흐르는 전류들의 총합을 나타낼 수 있다.
일 실시예에서, 스토리지 컨트롤러(310)는 적어도 하나의 컨트롤러 칩(chip)의 형태로 구현되고, 복수의 비휘발성 메모리들(320a, 320b, 320c)은 복수의 비휘발성 메모리 칩들의 형태로 구현되며, 버퍼 메모리(330)는 적어도 하나의 버퍼 메모리 칩의 형태로 구현될 수 있다. 이 경우, 스탠바이 전류(ISTBY)는 상기 컨트롤러 칩을 흐르는 전류, 상기 복수의 비휘발성 메모리 칩들을 흐르는 전류들 및 상기 버퍼 메모리 칩을 흐르는 전류의 총합을 나타낼 수 있다. 실시예에 따라서, 버퍼 메모리(330)가 생략되고 이에 따라 상기 버퍼 메모리 칩이 생략될 수도 있으며, 이 경우 스탠바이 전류(ISTBY)는 상기 컨트롤러 칩을 흐르는 전류 및 상기 복수의 비휘발성 메모리 칩들을 흐르는 전류들의 총합을 나타낼 수 있다.
온도 센서(360)는 스토리지 장치(300)의 동작 온도를 센싱할 수 있다. 센싱된 상기 동작 온도는 도 12를 참조하여 후술하는 동적 스로틀링(dynamic throttling) 동작을 수행하기 위해 이용될 수도 있고, 도 16을 참조하여 후술하는 것처럼 제품 이상이 발생하였는지 판단하기 위해 이용될 수도 있다.
예를 들어, 온도 센서(360)는 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c), 버퍼 메모리(330), 전원 관리 집적 회로(340) 및 센싱 및 제어 블록(345)과 별개로 형성되어 인쇄 회로 기판(Printed Circuit Board; PCB) 상에 실장될 수 있다. 다른 예에서, 온도 센서(360)는 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c), 버퍼 메모리(330), 전원 관리 집적 회로(340) 및 센싱 및 제어 블록(345) 중 적어도 하나에 포함되고 온-칩 금속 저항을 포함하는 온-칩 센서(또는 온-다이 센서)의 형태로 구현될 수 있다.
일 실시예에서, 스토리지 장치(300)는 SSD(Solid State Drive)일 수 있다. 다른 실시예에서, 스토리지 장치(300)는 UFS(Universal Flash Storage), MMC(Multi Media Card) 또는 eMMC(embedded MMC)일 수 있다. 또 다른 실시예에서, SD(Secure Digital) 카드, 마이크로 SD 카드, 메모리 스틱(memory stick), 칩 카드(chip card), USB(Universal Serial Bus) 카드, 스마트 카드(smart card), CF(Compact Flash) 카드 또는 이와 유사한 형태로 구현될 수 있다.
일 실시예에서, 스토리지 장치(300)는 SATA(Serial Advanced Technology Attachment) 버스, SCSI(Small Computer Small Interface) 버스, NVMe(Non-Volatile Memory Express) 버스, SAS(Serial Attached SCSI) 버스, UFS, eMMC 등의 버스를 포함하는 블록 액세서블 인터페이스(block accessible interface)를 통해 호스트 장치(200)와 연결되고, 호스트 장치(200)에 의해 상기 블록 액세서블 인터페이스를 통하여 블록 단위로 액세스될 수 있다.
일 실시예에서, 스토리지 시스템(100)은 PC(Personal Computer), 서버 컴퓨터(server computer), 데이터 센터(data center), 워크스테이션(workstation), 디지털 TV(digital television), 셋-탑 박스(set-top box) 등의 임의의 컴퓨팅 시스템일 수 있다. 다른 실시예에서, 스토리지 시스템(100)은 휴대폰(mobile phone), 스마트 폰(smart phone), 태블릿(tablet) PC(Personal Computer), 노트북(laptop computer), PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 디지털 카메라(digital camera), 캠코더(camcorder), 휴대용 게임 콘솔(portable game console), 음악 재생기(music player), 동영상 재생기(video player), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(Internet of Things) 기기, e-북(e-book), VR(Virtual Reality) 기기, AR(Augmented Reality) 기기 등의 임의의 모바일 시스템일 수 있다.
도 3은 본 발명의 실시예들에 따른 스토리지 장치에 포함되는 스토리지 컨트롤러의 일 예를 나타내는 블록도이다.
도 3을 참조하면, 스토리지 컨트롤러(400)는 적어도 하나의 프로세서(410), 메모리(420), 호스트 인터페이스(430), ECC(Error Correction Code) 블록(440) 및 메모리 인터페이스(450)를 포함할 수 있다.
프로세서(410)는 호스트 장치(도 2의 200)로부터 호스트 인터페이스(430)를 통하여 수신된 커맨드에 응답하여 스토리지 컨트롤러(400)의 동작을 제어할 수 있다. 예를 들어, 프로세서(410)는 스토리지 장치(도 2의 300)를 구동하기 위한 펌웨어(Firmware)를 채용하여 각각의 구성들을 제어할 수 있다.
메모리(420)는 프로세서(410)에 의해 실행 및 처리되는 명령어 및 데이터를 저장할 수 있다. 예를 들어, 메모리(420)는 SRAM(Static Random Access Memory), 캐시(cache) 메모리 등과 같은 상대적으로 작은 용량 및 빠른 속도를 가지는 휘발성 메모리로 구현될 수 있다.
에러 정정을 위한 ECC 블록(440)은 BCH(Bose-Chaudhuri-Hocquenghem) 코드, LDPC(Low Density Parity Check) 코드, 터보 코드(Turbo Code), 리드-솔로몬 코드(Reed-Solomon Code), 콘볼루션 코드(Convolution Code), RSC(Recursive Systematic Code), TCM(Trellis-Coded Modulation), BCM(Block Coded Modulation) 등의 부호화된 변조(Coded Modulation), 또는 다른 에러 정정 코드를 이용하여 ECC 인코딩 및 ECC 디코딩을 수행할 수 있다.
호스트 인터페이스(430)는 호스트 장치(200)와 스토리지 장치(300) 사이의 물리적 연결을 제공할 수 있다. 즉, 호스트 인터페이스(430)는 호스트 장치(200)의 버스 포맷(bus format)에 대응하여 스토리지 장치(300)와의 인터페이싱을 제공할 수 있다. 일 실시예에서, 호스트 장치(200)의 버스 포맷은 SCSI 또는 SAS일 수 있다. 다른 실시예에서, 호스트 장치(200)의 버스 포맷은 USB, PCIe(peripheral component interconnect express), ATA, PATA, SATA, NVMe 등일 수 있다.
메모리 인터페이스(450)는 비휘발성 메모리들(도 2의 320a, 320b, 320c)과 데이터를 교환할 수 있다. 메모리 인터페이스(450)는 데이터를 비휘발성 메모리들(320a, 320b, 320c)에 전송할 수 있고, 비휘발성 메모리들(320a, 320b, 320c)로부터 독출된 데이터를 수신할 수 있다. 일 실시예에서, 메모리 인터페이스(450)는 비휘발성 메모리들(320a, 320b, 320c)과 하나의 채널을 통하여 연결될 수 있다. 다른 실시예에서, 메모리 인터페이스(450)는 비휘발성 메모리들(320a, 320b, 320c)과 2 이상의 채널들을 통하여 연결될 수 있다.
도 4는 본 발명의 실시예들에 따른 스토리지 장치에 포함되는 비휘발성 메모리의 일 예를 나타내는 블록도이다.
도 4를 참조하면, 비휘발성 메모리(500)는 메모리 셀 어레이(510), 로우 디코더(520), 페이지 버퍼 회로(530), 데이터 입출력 회로(540), 전압 발생기(550) 및 제어 회로(560)를 포함한다.
메모리 셀 어레이(510)는 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인들(GSL)을 통해 로우 디코더(520)와 연결된다. 또한, 메모리 셀 어레이(510)는 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(530)와 연결된다. 메모리 셀 어레이(510)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)에 연결되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(510)는 각각 메모리 셀들을 포함하는 복수의 메모리 블록들(BLK1, BLK2, ..., BLKz)로 구분될 수 있다. 또한, 복수의 메모리 블록들(BLK1, BLK2, ..., BLKz) 각각은 복수의 페이지들로 구분될 수 있다.
실시예에 따라서, 메모리 셀 어레이(510)는 2차원 어레이(array) 구조 또는 3차원 수직 어레이 구조로 형성될 수 있다. 수직형(또는 3차원) 메모리 셀 어레이에 대한 자세한 설명은 본 명세서에 참고 문헌으로 결합된 미국 등록 번호 7,679,133; 8,553,466; 8,654,587; 8,559,235 및 미국 공개 번호 2011/0233648에 기술되어 있다.
제어 회로(560)는 외부(예를 들어, 도 2의 호스트 장치(200) 및/또는 스토리지 컨트롤러(310))로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신하고, 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 비휘발성 메모리(500)의 소거 루프, 프로그램 루프 및 독출 동작을 제어한다. 여기서 프로그램 루프는 프로그램 동작과 프로그램 검증 동작을 포함하고, 소거 루프는 소거 동작과 소거 검증 동작을 포함할 수 있다. 여기서 독출 동작은 노멀 독출 동작과 데이터 리커버리 독출 동작을 포함할 수 있다.
예를 들어, 제어 회로(560)는 커맨드(CMD)에 기초하여 전압 발생기(550)를 제어하기 위한 제어 신호들(CON) 및 페이지 버퍼 회로(530)를 제어하기 위한 제어 신호들(PBC)을 발생하고, 어드레스(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 발생할 수 있다. 제어 회로(560)는 로우 어드레스(R_ADDR)를 로우 디코더(520)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(540)에 제공할 수 있다.
로우 디코더(520)는 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인들(GSL)을 통해 메모리 셀 어레이(510)와 연결된다.
예를 들어, 소거/프로그램/독출 동작 시에, 로우 디코더(520)는 로우 어드레스(R_ADDR)에 응답하여, 복수의 워드 라인들(WL) 중 적어도 하나를 선택 워드 라인으로 결정하고, 복수의 워드 라인들(WL) 중에서 상기 선택 워드 라인을 제외한 나머지 워드 라인들을 비선택 워드 라인들로 결정할 수 있다.
또한, 소거/프로그램/독출 동작 시에, 로우 디코더(520)는 로우 어드레스(R_ADDR)에 응답하여, 복수의 스트링 선택 라인들(SSL) 중 적어도 하나를 선택 스트링 선택 라인으로 결정하고, 나머지 스트링 선택 라인들을 비선택 스트링 선택 라인들로 결정할 수 있다.
또한, 소거/프로그램/독출 동작 시에, 로우 디코더(520)는 로우 어드레스(R_ADDR)에 응답하여, 복수의 접지 선택 라인들(GSL) 중 적어도 하나를 선택 접지 선택 라인으로 결정하고, 나머지 접지 선택 라인들을 비선택 접지 선택 라인들로 결정할 수 있다.
전압 발생기(550)는 전원 전압(PWR) 및 제어 신호들(CON)에 기초하여 비휘발성 메모리 장치(500)의 동작에 필요한 전압들(VS)을 발생할 수 있다. 전압들(VS)은 로우 디코더(520)를 통해 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인들(GSL)에 인가될 수 있다. 또한, 전압 발생기(550)는 전원 전압(PWR) 및 제어 신호들(CON)에 기초하여 소거 동작에 필요한 소거 전압(VERS)을 발생할 수 있다. 소거 전압(VERS)은 메모리 셀 어레이(510)에 직접 인가되거나 비트 라인(BL)을 통해 인가될 수 있다.
예를 들어, 소거 동작 시에, 전압 발생기(550)는 하나의 메모리 블록의 공통 소스 라인 및/또는 비트 라인(BL)에 소거 전압(VERS)을 인가하고, 로우 디코더(520)를 통해 하나의 메모리 블록의 모든 워드 라인들 또는 일부의 서브 블록에 해당하는 워드 라인들에 소거 허용 전압(예를 들어, 접지 전압)을 인가할 수 있다. 소거 검증 동작 시에, 전압 발생기(550)는 하나의 메모리 블록의 모든 워드 라인들에 소거 검증 전압을 인가하거나 워드 라인 단위로 소거 검증 전압을 인가할 수 있다.
예를 들어, 프로그램 동작 시에, 전압 발생기(550)는 로우 디코더(520)를 통해 상기 선택 워드 라인에 프로그램 전압을 인가하고, 상기 비선택 워드 라인들에는 프로그램 금지 전압을 인가할 수 있다. 프로그램 검증 동작 시에, 전압 발생기(550)는 로우 디코더(520)를 통해 상기 선택 워드 라인에 프로그램 검증 전압을 인가하고, 상기 비선택 워드 라인들에는 검증 패스 전압을 인가할 수 있다.
또한, 노멀 독출 동작 시에, 전압 발생기(550)는 로우 디코더(520)를 통해 상기 선택 워드 라인에 독출 전압을 인가하고, 상기 비선택 워드 라인들에는 독출 패스 전압을 인가할 수 있다. 또한 데이터 리커버리 독출 동작 시에, 전압 발생기(550)는 로우 디코더(520)를 통해 상기 선택 워드 라인에 인접한 워드 라인에 독출 전압을 인가하고, 상기 선택 워드 라인에는 리커버리 독출 전압을 인가할 수 있다.
페이지 버퍼 회로(530)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(510)와 연결될 수 있다. 페이지 버퍼 회로(530)는 복수의 페이지 버퍼들을 포함할 수 있다. 일 실시예에서, 하나의 페이지 버퍼에 하나의 비트 라인이 연결될 수 있다. 다른 실시예에서, 하나의 페이지 버퍼에 두 개 이상의 비트 라인들이 연결될 수 있다.
페이지 버퍼 회로(530)는 메모리 셀 어레이(510)에 프로그램 될 기입 데이터(DAT)를 저장하거나 혹은 메모리 셀 어레이(510)로부터 감지된 독출 데이터(DAT)를 저장할 수 있다. 즉, 페이지 버퍼 회로(530)는 비휘발성 메모리 장치(500)의 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작할 수 있다.
데이터 입출력 회로(540)는 데이터 라인들(DL)을 통해 페이지 버퍼 회로(530)와 연결될 수 있다. 데이터 입출력 회로(540)는 컬럼 어드레스(C_ADDR)에 응답하여, 기입 데이터(DAT)를 페이지 버퍼 회로(530)를 거쳐서 메모리 셀 어레이(510)에 제공하거나 혹은 메모리 셀 어레이(510)로부터 페이지 버퍼 회로(530)를 거쳐서 출력되는 독출 데이터(DAT)를 외부에 제공할 수 있다.
도 5는 도 1의 스탠바이 전류를 센싱하는 단계의 일 예를 나타내는 순서도이다. 도 6은 도 5의 센싱 동작을 설명하기 위한 도면이다.
도 1, 5 및 6을 참조하면, 상기 스탠바이 전류를 센싱하는데 있어서(단계 S100), 상기 스토리지 장치의 구동 중에 상기 스토리지 장치와 외부의 호스트 장치 사이에 신호 입출력이 존재하지 않는 유휴(idle) 구간 동안에 상기 센싱 동작이 수행될 수 있다.
구체적으로, 상기 스토리지 장치의 구동 중에(즉, 실시간(real-time 또는 runtime)으로) 상기 스토리지 장치와 상기 외부의 호스트 장치와의 신호 입출력을 확인하고(단계 S110), 상기 유휴 구간에 진입하였는지 판단할 수 있다(단계 S120). 예를 들어, 도 6에 도시된 것처럼 IOPS(Input/Output Operations Per Second) 및 대역폭(bandwidth, BW) 사용량을 확인하다 보면, 입출력 동작이 전혀 발생하지 않는 유휴 구간(T_IDLE)이 존재할 수 있다. 예를 들어, 유휴 구간(T_IDLE)의 길이는 약 1초 이상일 수 있다.
상기 유휴 구간에 진입하지 않은 경우에(단계 S120: 아니오), 단계 S110의 상기 입출력 확인 동작을 계속 수행할 수 있다.
상기 유휴 구간에 진입한 경우에(단계 S120: 예), 커맨드 페치(fetch)를 중단하고(단계 S130), 내부 백그라운드 동작을 중단할 수 있다(단계 S140). 예를 들어, 커맨드 큐(queue)에 큐잉된 커맨드(예를 들어, 기입 커맨드)의 실행을 중단할 수 있고, 커맨드 실행 이후의 후속 동작(예를 들어, 기입 커맨드 실행 이후에 기입 데이터를 실제로 내부적으로 저장하는 동작) 및/또는 가비지 컬렉션(garbage collection) 등과 같은 백그라운드 동작을 중단할 수 있다.
상기 유휴 구간 동안에 상기 스탠바이 전류를 측정할 수 있다(단계 S150). 예를 들어, 외부 전원 전압(VEXT)에 대한 전체 전류를 측정하고, 복수의 비휘발성 메모리들(320a, 320b, 320c)의 전원 블록을 오프한 이후에 상기 전원 블록이 소모하는 전류를 측정하며, 이에 기초하여 상기 스탠바이 전류를 측정할 수 있다.
일 실시예에서, 상기 유휴 구간은 상기 스토리지 장치의 구동 중에 주기적으로 반복하여 발생될 수 있다. 이에 따라, 상기 스탠바이 전류를 센싱하는 동작은 상기 유휴 구간마다 주기적으로 수행될 수 있고, 상기 센싱 결과에 기초하여 상기 스토리지 장치의 제품 이상 여부를 판단하는 동작 또한 주기적으로 수행될 수 있다.
도 7은 도 1의 스탠바이 전류를 센싱하는 단계의 다른 예를 나타내는 순서도이다.
도 1 및 7을 참조하면, 상기 스탠바이 전류를 센싱하는데 있어서(단계 S100), 상기 스토리지 장치가 파워 온 된 직후에 POR(Power On Reset) 구간 동안에 상기 센싱 동작이 수행될 수 있다.
구체적으로, 상기 스토리지 장치가 파워 온 된 직후에 전원 전압에 대한 파워 온 구간(또는 파워 온 모드)에서 전원 사이클(power cycle)을 확인하고(단계 S160), 상기 스탠바이 전류를 측정할 수 있다(단계 S170). 단계 S170은 도 5의 단계 S150과 실질적으로 동일할 수 있다. 상기 POR 구간 또는 상기 전원 전압에 대한 파워 온 구간에서는 상기 스토리지 장치와 상기 외부의 호스트 장치 사이에 신호 입출력이 존재하지 않으며, 따라서 별도의 입출력 확인 동작 없이 바로 상기 스탠바이 전류를 측정할 수 있다.
한편, 도 5 내지 7을 참조하여 상기 스탠바이 전류를 센싱하는 동작이 상기 유휴 구간 또는 상기 POR 구간 동안에 수행되는 것으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 상기 외부의 호스트 장치와의 신호 입출력이 존재하지 않는 임의의 구간 동안에 수행될 수도 있다.
도 8은 도 1의 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계 및 스토리지 장치에 제품 이상이 감지된 경우에 단계별 제어 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 1 및 8을 참조하면, 센싱된 상기 스탠바이 전류 및 상기 적어도 하나의 기준 값에 기초하여 상기 스토리지 장치에 상기 제품 이상이 발생하였는지 판단하고(단계 S200), 상기 스토리지 장치에 대한 상기 제품 이상이 감지된 경우에 상기 단계별 제어 동작을 수행하는데 있어서(단계 S300), 상기 적어도 하나의 기준 값은 서로 다른 제1 기준 값, 제2 기준 값 및 제3 기준 값을 포함하며, 상기 제1, 제2 및 제3 기준 값들에 기초하여 3단계의 제어 동작을 수행할 수 있다.
구체적으로, 센싱된 상기 스탠바이 전류가 상기 제1 기준 값을 초과하는 경우에(단계 S210: 예), 상기 제품 이상이 발생한 것으로 판단하고, 불량 칩의 위치 확인을 포함하는 제1 제어 프로세스를 수행할 수 있다(단계 S310). 상기 제1 제어 프로세스에 대해서는 도 9 등을 참조하여 후술하도록 한다.
한편, 센싱된 상기 스탠바이 전류가 상기 제1 기준 값보다 작거나 같은 경우에는(단계 S210: 아니오), 별다른 후속 조치를 수행하지 않으며, 이후에 주기적으로 단계 S100 및 S210을 반복할 수 있다.
센싱된 상기 스탠바이 전류가 상기 제1 기준 값보다 큰 제2 기준 값을 초과하는 경우에(단계 S220: 예), 상기 제품 이상이 보다 심해진 것으로 판단하고, 상기 불량 칩에 대한 성능 제어를 포함하는 제2 제어 프로세스를 수행할 수 있다(단계 S320). 상기 제2 제어 프로세스에 대해서는 도 12를 참조하여 후술하도록 한다.
한편, 센싱된 상기 스탠바이 전류가 상기 제1 기준 값을 초과하였으나 상기 제2 기준 값보다 작거나 같은 경우에는(단계 S220: 아니오), 단계 S310을 수행한 이후에 주기적으로 단계 S100 및 S220을 반복할 수 있다.
센싱된 상기 스탠바이 전류가 상기 제2 기준 값보다 큰 제3 기준 값을 초과하는 경우에(단계 S230: 예), 상기 제품 이상이 매우 심해져서 더 이상의 추가 조치가 무의미한 것으로 판단하고, 상기 불량 칩에 대한 동작 중단을 포함하는 제3 제어 프로세스를 수행할 수 있다(단계 S330). 다시 말하면, 상기 불량 칩을 셧다운 시키고 더 이상 사용하지 않을 수 있다.
한편, 센싱된 상기 스탠바이 전류가 상기 제1 기준 값을 초과하였으나 상기 제2 기준 값보다 작거나 같은 경우에는(단계 S220: 아니오), 단계 S320을 수행한 이후에 주기적으로 단계 S100 및 S230을 반복할 수 있다.
한편, 도 8을 참조하여 3단계의 제어 동작을 수행하는 것으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 2단계 또는 4단계 이상의 복수 개의 단계들을 포함하는 단계별 제어 동작을 수행할 수도 있다.
도 9는 도 8의 제1 제어 프로세스를 수행하는 단계의 일 예를 나타내는 순서도이다. 도 10a, 10b, 10c, 10d, 10e, 10f, 10g, 11a, 11b, 11c 및 11d는 도 9의 제1 제어 프로세스를 설명하기 위한 도면들이다.
도 8, 9, 10a, 10b, 10c, 10d, 10e, 10f, 10g, 11a, 11b, 11c 및 11d를 참조하면, 상기 제1 제어 프로세스를 수행하는데 있어서(단계 S310), 먼저 상기 스토리지 장치에 상기 제품 이상이 발생하였음을 상기 외부의 호스트 장치에 통지(notice 또는 alarm)할 수 있다(단계 S312).
일 실시예에서, 상기 제품 이상이 발생하였음을 상기 외부의 호스트 장치에 통지하는 동작은 소프트웨어 방식으로 구현될 수 있으며, 예를 들어 AER(Asynchronous Event Request) 커맨드에 기초하여 수행될 수 있다. 예를 들어, 도 10a는 NVMe 표준에 따른 커맨드들 중 일부를 예시하고 있으며, 점선으로 표시된 것처럼 AER 커맨드를 포함하고 있다.
AER 커맨드는 장치의 오류(device error) 및 건강(health) 관련 이벤트 발생 시 관련 정보를 호스트 장치에 전송하기 위해 이용되는 커맨드이다. 예를 들어, AER 이벤트는 특정 커맨드의 오류가 아닌 일반적인 오류를 포함하는 오류 이벤트, SMART 또는 건강 상태(Health Status) 이벤트, 그 밖에 벤더 특정(Vendor specific) 이벤트 등을 포함할 수 있다. AER 이벤트가 발생하였으나 이에 대한 요청(request) 커맨드가 없는 경우에, 컨트롤러 내부에 해당 이벤트를 저장하였다가 요청 이벤트가 발생(issue)되면 보고할 수 있다.
다른 실시예에서, 상기 제품 이상이 발생하였음을 상기 외부의 호스트 장치에 통지하는 동작은 하드웨어 방식으로 구현될 수 있으며, 예를 들어 GPIO(general purpose input/output) 기능에 기초하여 수행될 수 있다.
구체적으로, 도 10b에 도시된 것처럼, 시스템 LED(light emitting diode)를 제어하여(예를 들어, 턴 온하여) 상기 제품 이상이 발생하였음을 상기 외부의 호스트 장치에 통지할 수 있다. 예를 들어, 스토리지 모듈(301)은 GPIO 신호(GPIOS)를 수신하는 트랜지스터(T1)를 포함하고, 트랜지스터(T1)는 외부의 LED(LED1) 및 저항(R1)을 통해 전원 전압(VCC)과 연결될 수 있다. GPIO 신호(GPIOS)의 레벨에 따라 LED(LED1)가 발광하여 상기 제품 이상이 발생하였음을 통지할 수 있다. 실시예에 따라서, 스토리지 모듈(301)에 포함되어 있는 LED 기능 지원을 위한 GPIO를 사용하거나, 이상 감지용 GPIO를 별도로 구비할 수 있다.
또한, 도 10c, 10d, 10e, 10f 및 10g에 도시된 것처럼, 스토리지 모듈의 N/C(not connector) 핀 또는 CONFIG 핀을 사용하여 상기 제품 이상이 발생하였음을 상기 외부의 호스트 장치에 통지할 수 있다. 예를 들어, 도 10c는 스토리지 모듈의 핀들의 배치 및 기능의 일부를 예시하고 있으며, 숫자는 핀 번호를 나타내고 글자는 핀 기능을 나타낼 수 있다. 도 10c의 N/C 또는 CONFIG_1로 표기된 핀을 사용할 수 있다.
또한, 도 10d에 도시된 회로 구조를 이용하고 상술한 N/C 핀을 이용하여 상기 제품 이상이 발생하였음을 통지할 수 있다. 도 10d의 알림 회로는 GPIO 신호(GPIOS)를 수신하는 트랜지스터(T2)를 포함하고, 트랜지스터(T2)는 저항(R2)을 통해 전원 전압(VCC)과 연결되며, 알림 신호(HOUT)를 출력할 수 있다. GPIO 신호(GPIOS)는 idle 구간에서 하이 레벨을 가지고 urgent 구간에서 로우 레벨을 가지며, 예를 들어 제1 시점(t1)에서 GPIO 신호(GPIOS)가 하이 레벨에서 로우 레벨로 천이되면 알림 신호(HOUT)는 로우 레벨에서 하이 레벨로 천이될 수 있다. 또한, normal 구간에서 하이 레벨 상태에서 펄스 구간의 폭으로 각 단계를 구분할 수 있다. 예를 들어, 도 10e에 도시된 것처럼 제1 시간 간격(TA)으로 토글되면 센싱된 상기 스탠바이 전류가 상기 제1 기준 값을 초과하는 것을 나타내고, 도 10f에 도시된 것처럼 제2 시간 간격(TB)으로 토글되면 센싱된 상기 스탠바이 전류가 상기 제2 기준 값을 초과하는 것을 나타내며, 도 10g에 도시된 것처럼 제3 시간 간격(TC)으로 토글되거나 항상 하이 레벨을 가지면 상기 스탠바이 전류가 상기 제3 기준 값을 초과하는 것을 나타낼 수 있다. 예를 들어, 제2 시간 간격(TB)은 제1 시간 간격(TA)보다 길고 제3 시간 간격(TC)보다 짧을 수 있다. 예를 들어, 도 10e, 10f 및 10g의 신호는 GPIO 신호(GPIOS) 또는 알림 신호(HOUT)일 수 있다.
다음에 상기 스토리지 장치에 상기 제품 이상이 발생하였음을 기록(log)할 수 있다(단계 S314). 실시예에 따라서, 상기 제품 이상의 발생을 상기 스토리지 장치에 내부적으로 기록할 수도 있고, 상기 스토리지 장치 외부의 별도 영역에 기록할 수도 있으며, 상기 스토리지 장치의 내부 및 외부 모두에 기록할 수도 있다.
또한 상기 스토리지 장치에 포함되는 복수의 칩들 중에서 상기 불량 칩의 위치를 확인할 수 있다(단계 S316). 도 2를 참조하여 상술한 것처럼, 스토리지 컨트롤러(310)는 적어도 하나의 컨트롤러 칩의 형태로 구현되고, 복수의 비휘발성 메모리들(320a, 320b, 320c)은 복수의 비휘발성 메모리 칩들의 형태로 구현될 수 있다. 상기 컨트롤러 칩 및 상기 복수의 비휘발성 메모리 칩들을 포함하는 상기 복수의 칩들 중에서 상기 불량 칩을 검출할 수 있다.
일 실시예에서, 상기 복수의 칩들 각각을 순차적으로 턴 온 시키고, 각 칩을 흐르는 전류를 센싱하는 방식으로 상기 불량 칩을 검출할 수 있다.
구체적으로, 도 11a, 11b, 11c 및 11d에 도시된 것처럼 상기 스토리지 장치는 컨트롤러 칩(311) 및 비휘발성 메모리 칩들(321, 322, 323)을 포함할 수 있다. 먼저 도 11a에 도시된 것처럼 컨트롤러 칩(311)만을 턴 온시키고 나머지 칩들(321, 322, 323)을 턴 오프 시킬 수 있다. 도 11a, 11b, 11c 및 11d에서, 턴 오프된 칩들(예를 들어, 도 11a의 비휘발성 메모리 칩들(321, 322, 323))을 점선으로 도시하였다. 상기 스토리지 장치에 포함되는 센싱 및 제어 블록(345)은 컨트롤러 칩(311)을 흐르는 전류(ISEN1)를 센싱할 수 있다.
이후에, 도 11b에 도시된 것처럼 비휘발성 메모리 칩(321)만을 턴 온 시키고 나머지 칩들(311, 322, 323)을 턴 오프 시키며, 센싱 및 제어 블록(345)은 비휘발성 메모리 칩(321)을 흐르는 전류(ISEN2)를 센싱할 수 있다. 도 11c에 도시된 것처럼 비휘발성 메모리 칩(322)만을 턴 온 시키고 나머지 칩들(311, 321, 323)을 턴 오프 시키며, 센싱 및 제어 블록(345)은 비휘발성 메모리 칩(322)을 흐르는 전류(ISEN3)를 센싱할 수 있다. 도 11d에 도시된 것처럼 비휘발성 메모리 칩(323)만을 턴 온 시키고 나머지 칩들(311, 321, 322)을 턴 오프 시키며, 센싱 및 제어 블록(345)은 비휘발성 메모리 칩(323)을 흐르는 전류(ISEN4)를 센싱할 수 있다.
센싱 및 제어 블록(345)은 센싱된 전류들(ISEN1, ISEN2, ISEN3, ISEN4) 중에서 이상 전류를 판단하고 이에 기초하여 상기 불량 칩의 위치를 확인할 수 있다. 예를 들어, 전류(ISEN1)가 이상 전류인 경우에, 센싱 및 제어 블록(345)은 전류(ISEN1)가 센싱된 컨트롤러 칩(311)이 상기 불량 칩인 것으로 판단할 수 있다.
한편 도시하지는 않았으나, 버퍼 메모리(330) 또한 적어도 하나의 버퍼 메모리 칩의 형태로 구현될 수 있으며, 이 경우 상기 컨트롤러 칩, 상기 복수의 비휘발성 메모리 칩들 및 상기 버퍼 메모리 칩을 포함하는 상기 복수의 칩들 중에서 상기 불량 칩을 검출할 수 있다.
도 12는 도 8의 제2 제어 프로세스를 수행하는 단계의 일 예를 나타내는 순서도이다.
도 8 및 12를 참조하면, 상기 제2 제어 프로세스를 수행하는데 있어서(단계 S320), 먼저 상기 불량 칩에 인가되는 구동 전압을 제어하고(단계 S322), 상기 불량 칩에 대한 동적 스로틀링(dynamic throttling) 동작을 활성화시킬 수 있다(단계 S324). 상기 불량 칩을 셧다운 시키기 전까지는 성능이 떨어지더라도 상기 불량 칩이 비정상적인 동작을 하지 않도록 할 필요가 있으므로, 상기 구동 전압의 제어 및 상기 동적 스로틀링 동작의 활성화를 통해 상기 불량 칩의 성능을 의도적으로 감소시킬 수 있다.
일 실시예에서, 상기 동적 스로틀링 동작은 상기 스토리지 장치의 동작 온도 및 센싱된 상기 스탠바이 전류에 기초하여 수행될 수 있다. 다시 말하면, 온도 기반으로 처리량을 감소시키는 DTT(Dynamic Thermal Throttling) 동작을 수행할 뿐만 아니라, 추가적으로 상기 스탠바이 전류에 기초하여 스로틀링 동작을 수행할 수 있다.
도 13은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다. 이하 도 1과 중복되는 설명은 생략한다.
도 13을 참조하면, 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법에서, 상기 스토리지 장치의 제조 시에 측정되는 최초(initial) 스탠바이 전류에 기초하여 상기 적어도 하나의 기준 값을 결정할 수 있다(단계 S500). 단계 S500 이후의 단계 S100, S200 및 S300은 도 1의 단계 S100, S200 및 S300과 각각 실질적으로 동일할 수 있다.
일 실시예에서, 단계 S500의 상기 적어도 하나의 기준 값을 결정하는 과정은 상기 스토리지 장치의 제조 시에만 수행될 수 있다. 예를 들어, 단계 S500은 상기 스토리지 장치의 제조 시에 외부의 제조 장치/테스트 장치 등에 의해 1회 수행되고, 이에 따라 상기 적어도 하나의 기준 값이 설정 및 저장되며, 그 이후에 단계 S500은 상기 스토리지 장치에 이미 저장되어 있는 상기 적어도 하나의 기준 값을 로드하는 동작으로 대체될 수 있다. 이 경우, 이미 저장되어 있는 상기 적어도 하나의 기준 값을 로드하여 단계 S100, S200 및 S300이 수행될 수 있다.
도 14는 도 13의 적어도 하나의 기준 값을 결정하는 단계의 일 예를 나타내는 순서도이다. 도 15는 도 14의 기준 값 결정 동작을 설명하기 위한 도면이다.
도 13, 14 및 15를 참조하면, 상기 최초 스탠바이 전류에 기초하여 상기 적어도 하나의 기준 값을 결정하는데 있어서(단계 S500), 상기 최초 스탠바이 전류는 서로 다른 온도에서 측정되는 두 개 이상의 최초 스탠바이 전류들을 포함하며, 상기 두 개 이상의 최초 스탠바이 전류들을 평균화하여 획득된 평균 최초 스탠바이 전류에 기초하여 상기 적어도 하나의 기준 값이 결정될 수 있다. 도 14 및 15의 실시예는 상기 적어도 하나의 기준 값이 상기 제1, 제2 및 제3 기준 값들을 포함하는 경우를 예시하고 있다.
구체적으로, 제1 온도(HT), 제2 온도(RT) 및 제3 온도(CT)에서 제1 최초 스탠바이 전류(IRS1), 제2 최초 스탠바이 전류(IRS2) 및 제3 최초 스탠바이 전류(IRS3)를 각각 측정할 수 있다(단계 S510). 예를 들어, 제2 온도(RT)는 상온(room temperature)이고, 제1 온도(HT)는 상온보다 높은 고온(high temperature)이며, 제3 온도(CT)는 상온보다 낮은 저온(cold temperature)일 수 있다.
예를 들어, 최초 스탠바이 전류들(IRS1, IRS2, IRS3)을 측정하는데 있어서, 도 5의 단계 S150과 유사하게, 외부 전원 전압(VEXT)에 대한 전체 전류를 온도 별로 측정하고, 복수의 비휘발성 메모리들(320a, 320b, 320c)의 전원 블록을 오프한 이후에 상기 전원 블록이 소모하는 전류를 온도 별로 측정하며, 이에 기초하여 최초 스탠바이 전류들(IRS1, IRS2, IRS3)을 측정할 수 있다.
제1 최초 스탠바이 전류(IRS1), 제2 최초 스탠바이 전류(IRS2) 및 제3 최초 스탠바이 전류(IRS3)를 평균화하여 평균 최초 스탠바이 전류(IRS_AVG)를 획득하고(단계 S520), 평균 최초 스탠바이 전류(IRS_AVG)에 기초하여 제1 기준 값(IREF1), 제2 기준 값(IREF2) 및 제3 기준 값(IREF3)을 결정할 수 있다(단계 S530). 예를 들어, 평균 최초 스탠바이 전류(IRS_AVG)에 X(X는 양의 실수)를 곱하여 제1 기준 값(IREF1)을 획득하고, 평균 최초 스탠바이 전류(IRS_AVG)에 Y(Y는 X보다 큰 양의 실수)를 곱하여 제2 기준 값(IREF2)을 획득하며, 평균 최초 스탠바이 전류(IRS_AVG)에 Z(Z는 Y보다 큰 양의 실수)를 곱하여 제3 기준 값(IREF3)을 획득할 수 있다.
일 실시예에서, 제1 기준 값(IREF1)은 평균 최초 스탠바이 전류(IRS_AVG)의 약 2배이고, 제2 기준 값(IREF2)은 평균 최초 스탠바이 전류(IRS_AVG)의 약 3배이며, 제3 기준 값(IREF3)은 평균 최초 스탠바이 전류(IRS_AVG)의 약 4배일 수 있다. 다시 말하면, X=2이고 Y=3이며 Z=4일 수 있다. 다만 본 발명은 이에 한정되지 않으며, X, Y 및 Z 값은 제품 특성에 따라 다양하게 변경될 수 있다.
한편, 도 14 및 15를 참조하여 서로 다른 3개의 온도 별로 최초 스탠바이 전류를 측정하는 것(즉, 3점 온도 관리를 수행하는 것)으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 2개 또는 4개 이상의 복수 개의 온도 별로 최초 스탠바이 전류를 측정/관리할 수도 있다.
도 16은 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법을 나타내는 순서도이다. 이하 도 1 및 13과 중복되는 설명은 생략한다.
도 16을 참조하면, 본 발명의 실시예들에 따른 스토리지 장치의 구동 방법에서, 상기 스토리지 장치의 제조 시에 측정되는 상기 최초 스탠바이 전류 및 상기 스토리지 장치의 동작 온도에 기초하여 상기 적어도 하나의 기준 값을 결정할 수 있다(단계 S500a). 상기 동작 온도를 추가적으로 고려하는 점을 제외하면, 단계 S500a는 도 13의 단계 S500과 유사할 수 있다.
이후에, 상기 스탠바이 전류를 센싱하고(단계 S100), 상기 동작 온도를 센싱하고(단계 S600), 센싱된 상기 스탠바이 전류, 센싱된 상기 동작 온도 및 상기 적어도 하나의 기준 값에 기초하여 상기 제품 이상이 발생하였는지 판단하며(단계 S200a), 상기 제품 이상이 감지된 경우에 상기 단계별 제어 동작을 수행한다(단계 S300). 단계 S100 및 S300은 도 1의 단계 S100 및 S300과 각각 실질적으로 동일하며, 상기 동작 온도를 추가적으로 고려하는 점을 제외하면 단계 S200a는 도 1의 단계 S200과 유사할 수 있다.
한편, 도 16에서는 단계 S100이 수행된 이후에 단계 S600이 수행되는 것으로 도시하였으나, 본 발명은 이에 한정되지 않으며, 단계 S100과 S600은 실질적으로 동시에 수행될 수도 있다.
도 17은 도 16의 적어도 하나의 기준 값을 결정하는 단계의 일 예를 나타내는 순서도이다. 도 18은 도 17의 기준 값 결정 동작을 설명하기 위한 도면이다. 이하 도 14 및 15와 중복되는 설명은 생략한다.
도 16, 17 및 18을 참조하면, 상기 최초 스탠바이 전류에 기초하여 상기 적어도 하나의 기준 값을 결정하는데 있어서(단계 S500), 상기 최초 스탠바이 전류는 서로 다른 온도에서 측정되는 두 개 이상의 최초 스탠바이 전류들을 포함하며, 상기 두 개 이상의 최초 스탠바이 전류들 및 상기 동작 온도에 기초하여 상기 적어도 하나의 기준 값이 결정될 수 있다. 도 17 및 18의 실시예 또한 상기 적어도 하나의 기준 값이 상기 제1, 제2 및 제3 기준 값들을 포함하는 경우를 예시하고 있다.
구체적으로, 단계 S510은 도 14의 단계 S510과 실질적으로 동일할 수 있다.
제1 최초 스탠바이 전류(IRS1)에 기초하여 제1 온도(HT)에서의 제1 기준 값(IREF1), 제2 기준 값(IREF2) 및 제3 기준 값(IREF3)을 결정할 수 있다(단계 S540). 예를 들어, 제1 최초 스탠바이 전류(IRS1)에 X를 곱하여 제1 온도(HT)에서의 제1 기준 값(IREF1)을 획득하고, 제1 최초 스탠바이 전류(IRS1)에 Y를 곱하여 제1 온도(HT)에서의 제2 기준 값(IREF2)을 획득하며, 제1 최초 스탠바이 전류(IRS1)에 Z를 곱하여 제1 온도(HT)에서의 제3 기준 값(IREF3)을 획득할 수 있다.
이와 유사하게, 제2 최초 스탠바이 전류(IRS2)에 기초하여 제2 온도(RT)에서의 제1 기준 값(IREF1), 제2 기준 값(IREF2) 및 제3 기준 값(IREF3)을 결정하며(단계 S550), 제3 최초 스탠바이 전류(IRS3)에 기초하여 제3 온도(CT)에서의 제1 기준 값(IREF1), 제2 기준 값(IREF2) 및 제3 기준 값(IREF3)을 결정할 수 있다(단계 S560).
도 19는 도 16의 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계 및 스토리지 장치에 제품 이상이 감지된 경우에 단계별 제어 동작을 수행하는 단계의 일 예를 나타내는 순서도이다. 이하 도 8과 중복되는 설명은 생략한다.
도 16, 18 및 19를 참조하면, 상기 동작 온도를 추가적으로 고려하는 점을 제외하면, 단계 S210a, S220a 및 S320a는 도 8의 단계 S210, S220 및 S230과 각각 유사할 수 있다. 단계 S310, S320 및 S330은 도 8의 단계 S310, S320 및 S330과 각각 실질적으로 동일할 수 있다.
구체적으로, 센싱된 상기 스탠바이 전류가 현재 동작 온도에 적합한 상기 제1 기준 값을 초과하는지 판단할 수 있다(단계 S210a). 예를 들어, 상기 현재 동작 온도가 제1 온도(HT)인 경우에는 센싱된 상기 스탠바이 전류가 IRS1*X 값을 초과하는지 판단하고, 상기 현재 동작 온도가 제2 온도(RT)인 경우에는 센싱된 상기 스탠바이 전류가 IRS2*X 값을 초과하는지 판단하며, 상기 현재 동작 온도가 제3 온도(CT)인 경우에는 센싱된 상기 스탠바이 전류가 IRS3*X 값을 초과하는지 판단할 수 있다.
이와 유사하게, 센싱된 상기 스탠바이 전류가 상기 현재 동작 온도에 적합한 상기 제2 기준 값을 초과하는지 판단하고(단계 S220a), 센싱된 상기 스탠바이 전류가 상기 현재 동작 온도에 적합한 상기 제3 기준 값을 초과하는지 판단할 수 있다(단계 S230a).
도 20 및 21은 본 발명의 실시예들에 따른 스토리지 장치 및 이를 포함하는 스토리지 시스템을 나타내는 블록도이다. 이하 도 2와 중복되는 설명은 생략한다.
도 20을 참조하면, 스토리지 시스템(100a)은 호스트 장치(200) 및 스토리지 장치(300a)를 포함한다. 스토리지 장치(300a)는 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c), 버퍼 메모리(330), 전원 관리 집적 회로(340a), 센싱 및 제어 블록(345), 전원 손실 보호 집적 회로(Power-Loss Protection Integrated Circuit; PLP IC)(350a) 및 온도 센서(360)를 포함한다.
전원 손실 보호 집적 회로(350a)를 더 포함하고 센싱 및 제어 블록(345)이 전원 손실 보호 집적 회로(350a)에 포함되는 것을 제외하면, 도 20의 스토리지 시스템(100a)은 도 2의 스토리지 시스템(100)과 실질적으로 동일할 수 있다.
전원 손실 보호 집적 회로(350a)는 외부 전원 전압(VEXT)에 기초하여 내부 전원 전압을 발생하며, 전원 관리 집적 회로(340a)는 상기 내부 전원 전압에 기초하여 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c) 및 버퍼 메모리(330)에 공급되는 전원 신호를 발생 및 제어할 수 있다.
또한, 전원 손실 보호 집적 회로(350a)는 스토리지 장치(300a)에 전원이 갑자기 오프(off)된 경우에(즉, sudden power off의 경우에), 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c) 및 버퍼 메모리(330)에 공급되는 상기 전원 신호를 발생하기 위한 보조 전원 전압을 발생하며, 전원 관리 집적 회로(340a)는 상기 보조 전원 전압에 기초하여 스토리지 장치(300a)에 전원이 오프된 이후에도 상기 전원 신호를 일정 시간 동안 공급할 수 있다. 예를 들어, 전원 손실 보호 집적 회로(350a)는 상기 보조 전원 전압을 발생하기 위한 적어도 하나의 커패시터를 포함할 수 있다.
도 21을 참조하면, 스토리지 시스템(100b)은 호스트 장치(200) 및 스토리지 장치(300b)를 포함한다. 스토리지 장치(300b)는 스토리지 컨트롤러(310), 복수의 비휘발성 메모리들(320a, 320b, 320c), 버퍼 메모리(330), 전원 관리 집적 회로(340b), 센싱 및 제어 블록(345) 및 온도 센서(360)를 포함한다.
센싱 및 제어 블록(345)이 전원 관리 집적 회로(340b)에 포함되지 않는 것을 제외하면, 도 21의 스토리지 시스템(100b)은 도 2의 스토리지 시스템(100)과 실질적으로 동일할 수 있다.
한편 도시하지는 않았으나, 센싱 및 제어 블록(345)의 배치는 스토리지 장치 내에서 다양하게 변경될 수 있다.
본 발명의 실시예들에 따른 스토리지 장치 및 그 구동 방법에서, 스토리지 장치를 흐르는 스탠바이 전류를 센싱하며, 센싱 결과에 따라 제품 이상이 감지된 경우에 스토리지 장치에 대한 단계별 제어 동작을 수행할 수 있다. 스탠바이 전류를 활용함으로써, 스토리지 장치에 대한 전반적인 제품 신뢰성을 향상시킬 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다. 예를 들어, 상기 컴퓨터로 판독 가능한 매체는 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, 비일시적은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
도 22는 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 22를 참조하면, 전자 시스템(4000)은 프로세서(4100), 통신 모듈(4200), 디스플레이/터치 모듈(4300), 스토리지 장치(4400) 및 메모리 장치(4500)를 포함한다. 예를 들어, 전자 시스템(4000)은 임의의 모바일 시스템 또는 컴퓨팅 시스템일 수 있다.
프로세서(4100)는 전자 시스템(4000)의 전반적인 동작을 제어한다. 프로세서(4100)는 운영 체제, 어플리케이션 등을 실행할 수 있다. 통신 모듈(4200)은 외부와의 유선 통신 및/또는 무선 통신을 제어하도록 구현될 수 있다. 디스플레이/터치 모듈(4300)은 프로세서(4100)에서 처리된 데이터를 디스플레이 하거나, 터치 패널로부터 데이터를 입력 받도록 구현될 수 있다. 스토리지 장치(4400)는 사용자의 데이터를 저장하며, 본 발명의 실시예들에 따른 구동 방법에 기초하여 동작할 수 있다. 메모리 장치(4500)는 전자 시스템(4000)의 처리 동작 시 필요한 데이터를 임시로 저장할 수 있다. 프로세서(4100) 및 스토리지 장치(4400)가 도 2의 호스트 장치(200) 및 스토리지 장치(300)에 각각 대응할 수 있다.
한편, 도시하지는 않았으나, 전자 시스템은 서버, 상기 서버를 구동하는데 필요한 데이터를 저장하는 복수의 스토리지 장치들 및 상기 복수의 스토리지 장치들을 제어하기 위한 RAID(Redundant Array of Independent Drives) 컨트롤러를 포함하는 스토리지 서버의 형태로 구현될 수도 있다.
본 발명의 실시예들은 스토리지 장치 및 스토리지 시스템을 포함하는 임의의 전자 장치 및 시스템에 유용하게 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 PC(Personal Computer), 서버 컴퓨터(server computer), 데이터 센터(data center), 워크스테이션(workstation), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(Internet of Things) 기기, IoE(Internet of Everything) 기기, e-북(e-book), VR(Virtual Reality) 기기, AR(Augmented Reality) 기기 등과 같은 전자 시스템에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
Claims (20)
- 스토리지 장치의 구동 방법으로서,
상기 스토리지 장치를 흐르는 스탠바이(standby) 전류를 센싱하는 단계;
센싱된 상기 스탠바이 전류 및 적어도 하나의 기준 값에 기초하여 상기 스토리지 장치에 제품 이상이 발생하였는지 판단하는 단계; 및
상기 스토리지 장치에 대한 상기 제품 이상이 감지된 경우에, 상기 스토리지 장치의 동작과 관련된 두 개 이상의 제어 프로세스들이 순차적으로 진행되는 단계별(step-wise) 제어 동작을 수행하는 단계를 포함하는 스토리지 장치의 구동 방법. - 제 1 항에 있어서, 상기 단계별 제어 동작을 수행하는 단계는,
센싱된 상기 스탠바이 전류가 제1 기준 값을 초과하는 경우에, 불량 칩의 위치 확인을 포함하는 제1 제어 프로세스를 수행하는 단계;
센싱된 상기 스탠바이 전류가 상기 제1 기준 값보다 큰 제2 기준 값을 초과하는 경우에, 상기 불량 칩에 대한 성능 제어를 포함하는 제2 제어 프로세스를 수행하는 단계; 및
센싱된 상기 스탠바이 전류가 상기 제2 기준 값보다 큰 제3 기준 값을 초과하는 경우에, 상기 불량 칩에 대한 동작 중단을 포함하는 제3 제어 프로세스를 수행하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 2 항에 있어서, 상기 제1 제어 프로세스를 수행하는 단계는,
상기 스토리지 장치에 상기 제품 이상이 발생하였음을 외부의 호스트 장치에 통지하는 단계;
상기 스토리지 장치에 상기 제품 이상이 발생하였음을 기록하는 단계; 및
상기 스토리지 장치에 포함되는 복수의 칩들 중에서 상기 불량 칩의 위치를 확인하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 3 항에 있어서, 상기 불량 칩의 위치를 확인하는 단계는,
상기 복수의 칩들 각각을 순차적으로 턴 온 시키고, 각 칩을 흐르는 전류를 센싱하는 방식으로 수행되는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 3 항에 있어서, 상기 스토리지 장치에 상기 제품 이상이 발생하였음을 상기 외부의 호스트 장치에 통지하는 단계는,
AER(Asynchronous Event Request) 커맨드에 기초하여 수행되는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 2 항에 있어서, 상기 제2 제어 프로세스를 수행하는 단계는,
상기 불량 칩에 인가되는 구동 전압을 제어하는 단계; 및
상기 불량 칩에 대한 동적 스로틀링(dynamic throttling) 동작을 활성화시키는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 2 항에 있어서,
상기 스토리지 장치의 제조 시에 측정되는 최초 스탠바이 전류에 기초하여 상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 7 항에 있어서,
상기 최초 스탠바이 전류는 제1 온도에서 측정되는 제1 최초 스탠바이 전류, 상기 제1 온도와 다른 제2 온도에서 측정되는 제2 최초 스탠바이 전류 및 상기 제1 온도 및 상기 제2 온도와 다른 제3 온도에서 측정되는 제3 최초 스탠바이 전류를 포함하고,
상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계는,
상기 제1 최초 스탠바이 전류, 상기 제2 최초 스탠바이 전류 및 상기 제3 최초 스탠바이 전류를 평균화하여 획득된 평균 최초 스탠바이 전류에 기초하여 상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 7 항에 있어서,
상기 최초 스탠바이 전류는 제1 온도에서 측정되는 제1 최초 스탠바이 전류, 상기 제1 온도와 다른 제2 온도에서 측정되는 제2 최초 스탠바이 전류 및 상기 제1 온도 및 상기 제2 온도와 다른 제3 온도에서 측정되는 제3 최초 스탠바이 전류를 포함하고,
상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계는,
상기 제1 최초 스탠바이 전류에 기초하여 상기 제1 온도에서의 상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계;
상기 제2 최초 스탠바이 전류에 기초하여 상기 제2 온도에서의 상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계; 및
상기 제3 최초 스탠바이 전류에 기초하여 상기 제3 온도에서의 상기 제1 기준 값, 상기 제2 기준 값 및 상기 제3 기준 값을 결정하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 1 항에 있어서,
상기 스토리지 장치는 컨트롤러 칩 및 복수의 비휘발성 메모리 칩들을 포함하며,
상기 스탠바이 전류는 상기 컨트롤러 칩을 흐르는 전류 및 상기 복수의 비휘발성 메모리 칩들을 흐르는 전류들의 총합을 나타내는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 1 항에 있어서, 상기 스탠바이 전류를 센싱하는 단계는,
상기 스토리지 장치의 구동 중에 상기 스토리지 장치와 외부의 호스트 장치 사이에 신호 입출력이 존재하지 않는 유휴(idle) 구간 동안에 수행되는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 11 항에 있어서, 상기 스탠바이 전류를 센싱하는 단계는,
상기 유휴 구간마다 주기적으로 수행되는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 제 1 항에 있어서, 상기 스탠바이 전류를 센싱하는 단계는,
상기 스토리지 장치가 파워 온 된 직후에 POR(Power On Reset) 구간 동안에 수행되는 것을 특징으로 하는 스토리지 장치의 구동 방법. - 복수의 데이터들을 저장하는 복수의 비휘발성 메모리들;
상기 복수의 비휘발성 메모리들의 동작을 제어하는 스토리지 컨트롤러; 및
상기 스토리지 컨트롤러를 흐르는 전류 및 상기 복수의 비휘발성 메모리들을 흐르는 전류들의 총합을 나타내는 스탠바이(standby) 전류를 센싱하고, 센싱된 상기 스탠바이 전류 및 적어도 하나의 기준 값에 기초하여 스토리지 장치에 제품 이상이 발생하였는지 판단하며, 상기 스토리지 장치에 대한 상기 제품 이상이 감지된 경우에 상기 스토리지 장치의 동작과 관련된 두 개 이상의 제어 프로세스들이 순차적으로 진행되는 단계별(step-wise) 제어 동작을 수행하는 센싱 및 제어 블록을 포함하는 스토리지 장치. - 제 14 항에 있어서,
상기 스토리지 컨트롤러 및 상기 복수의 비휘발성 메모리들에 공급되는 전원 신호를 발생 및 제어하는 전원 관리 집적 회로(Power Management Integrated Circuit; PMIC)를 더 포함하고,
상기 센싱 및 제어 블록은 상기 전원 관리 집적 회로에 포함되는 것을 특징으로 하는 스토리지 장치. - 제 14 항에 있어서,
상기 스토리지 장치에 전원이 갑자기 오프(off)된 경우에 상기 스토리지 컨트롤러 및 상기 복수의 비휘발성 메모리들에 공급되는 전원 신호를 발생하기 위한 보조 전원 전압을 발생하는 전원 손실 보호 집적 회로(Power-Loss Protection Integrated Circuit; PLP IC)를 더 포함하고,
상기 센싱 및 제어 블록은 상기 전원 손실 보호 집적 회로에 포함되는 것을 특징으로 하는 스토리지 장치. - 제 14 항에 있어서,
상기 스토리지 장치의 제조 시에 측정되는 최초 스탠바이 전류에 기초하여 상기 적어도 하나의 기준 값이 결정되는 것을 특징으로 하는 스토리지 장치. - 제 17 항에 있어서,
상기 최초 스탠바이 전류는 서로 다른 온도에서 측정되는 두 개 이상의 최초 스탠바이 전류들을 포함하며,
상기 두 개 이상의 최초 스탠바이 전류들을 평균화하여 획득된 평균 최초 스탠바이 전류에 기초하여 상기 적어도 하나의 기준 값이 결정되는 것을 특징으로 하는 스토리지 장치. - 제 17 항에 있어서,
상기 스토리지 장치의 동작 온도를 센싱하는 온도 센서를 더 포함하고,
상기 최초 스탠바이 전류는 서로 다른 온도에서 측정되는 두 개 이상의 최초 스탠바이 전류들을 포함하며,
상기 두 개 이상의 최초 스탠바이 전류들 및 센싱된 상기 동작 온도에 기초하여 상기 적어도 하나의 기준 값이 결정되는 것을 특징으로 하는 스토리지 장치. - 제 14 항에 있어서,
상기 복수의 비휘발성 메모리들에 저장되어 있거나 저장하고자 하는 상기 복수의 데이터들을 임시 저장하는 버퍼 메모리를 더 포함하고,
상기 스탠바이 전류는 상기 스토리지 컨트롤러를 흐르는 전류, 상기 복수의 비휘발성 메모리들을 흐르는 전류들 및 상기 버퍼 메모리를 흐르는 전류의 총합을 나타내는 것을 특징으로 하는 스토리지 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190098846A KR102704694B1 (ko) | 2019-08-13 | 2019-08-13 | 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 |
US16/863,531 US11593242B2 (en) | 2019-08-13 | 2020-04-30 | Method of operating storage device for improving reliability, storage device performing the same and method of operating storage using the same |
DE102020113341.3A DE102020113341A1 (de) | 2019-08-13 | 2020-05-18 | Verfahren zum betrieb einer speichervorichtung zur verbesserung der zuverlässigkeit, speichervorrichtung, die dasselbe durchführt, und verfahren zum betrieb eines dieselbe verwendenden speichers |
CN202010812374.9A CN112394879B (zh) | 2019-08-13 | 2020-08-13 | 操作存储设备的方法、存储设备及操作存储系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190098846A KR102704694B1 (ko) | 2019-08-13 | 2019-08-13 | 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210019784A true KR20210019784A (ko) | 2021-02-23 |
KR102704694B1 KR102704694B1 (ko) | 2024-09-10 |
Family
ID=74239815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190098846A KR102704694B1 (ko) | 2019-08-13 | 2019-08-13 | 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11593242B2 (ko) |
KR (1) | KR102704694B1 (ko) |
CN (1) | CN112394879B (ko) |
DE (1) | DE102020113341A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11538545B2 (en) * | 2021-04-22 | 2022-12-27 | Micron Technology, Inc. | Auto-power on mode for biased testing of a power management integrated circuit (PMIC) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010097629A (ja) * | 2008-10-14 | 2010-04-30 | Toshiba Corp | 不揮発性半導体記憶装置 |
US20140359328A1 (en) * | 2013-05-28 | 2014-12-04 | James S. Burns | Method and system for run-time reallocation of leakage current and dynamic power supply current |
KR20180030421A (ko) * | 2016-09-15 | 2018-03-23 | 삼성전자주식회사 | 프로세스, 전압 및 온도 변화를 고려한 트랜지스터 설계 방법 |
KR20180135662A (ko) * | 2017-06-13 | 2018-12-21 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
KR20190062032A (ko) * | 2017-11-28 | 2019-06-05 | 삼성전자주식회사 | 보조 전원 장치의 모니터링 장치와 방법, 및 그 장치를 포함한 메모리 시스템 |
KR20190066466A (ko) * | 2017-12-05 | 2019-06-13 | 삼성전자주식회사 | 기입 레이턴시를 줄일 수 있는 저장 장치의 동작 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0154750B1 (ko) | 1995-07-26 | 1998-12-01 | 김광호 | 반도체 메모리의 누설전류 감지회로 |
US6366108B2 (en) * | 1998-12-01 | 2002-04-02 | Agilent Technologies, Inc. | System and method for detecting defects within an electrical circuit by analyzing quiescent current |
JP3910078B2 (ja) * | 2001-05-11 | 2007-04-25 | 株式会社ルネサステクノロジ | 半導体記憶装置および半導体記憶装置のテスト方法 |
JP2003249100A (ja) | 2002-02-26 | 2003-09-05 | Kawasaki Microelectronics Kk | 半導体集積回路及び半導体集積回路テスト方法 |
KR100735677B1 (ko) | 2005-12-28 | 2007-07-04 | 삼성전자주식회사 | 스탠바이 전류 저감 회로 및 이를 구비한 반도체 메모리장치 |
US8984216B2 (en) * | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
JP2013037733A (ja) | 2011-08-05 | 2013-02-21 | Renesas Electronics Corp | 半導体記憶装置 |
US8817570B2 (en) | 2012-02-13 | 2014-08-26 | GlobalFoundries, Inc. | Devices having bias temperature instability compensation |
US9105357B2 (en) * | 2013-09-09 | 2015-08-11 | Kabushiki Kaisha Toshiba | Semiconductor memory device and defective judging method thereof |
KR102687216B1 (ko) * | 2016-10-12 | 2024-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
KR102611634B1 (ko) * | 2018-01-22 | 2023-12-08 | 삼성전자주식회사 | 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법 |
US10566072B2 (en) * | 2018-03-06 | 2020-02-18 | Winbond Electronics Corp. | Detection methods for NOR flash memory |
-
2019
- 2019-08-13 KR KR1020190098846A patent/KR102704694B1/ko active IP Right Grant
-
2020
- 2020-04-30 US US16/863,531 patent/US11593242B2/en active Active
- 2020-05-18 DE DE102020113341.3A patent/DE102020113341A1/de active Pending
- 2020-08-13 CN CN202010812374.9A patent/CN112394879B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010097629A (ja) * | 2008-10-14 | 2010-04-30 | Toshiba Corp | 不揮発性半導体記憶装置 |
US20140359328A1 (en) * | 2013-05-28 | 2014-12-04 | James S. Burns | Method and system for run-time reallocation of leakage current and dynamic power supply current |
KR20180030421A (ko) * | 2016-09-15 | 2018-03-23 | 삼성전자주식회사 | 프로세스, 전압 및 온도 변화를 고려한 트랜지스터 설계 방법 |
KR20180135662A (ko) * | 2017-06-13 | 2018-12-21 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
KR20190062032A (ko) * | 2017-11-28 | 2019-06-05 | 삼성전자주식회사 | 보조 전원 장치의 모니터링 장치와 방법, 및 그 장치를 포함한 메모리 시스템 |
KR20190066466A (ko) * | 2017-12-05 | 2019-06-13 | 삼성전자주식회사 | 기입 레이턴시를 줄일 수 있는 저장 장치의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20210049086A1 (en) | 2021-02-18 |
CN112394879A (zh) | 2021-02-23 |
DE102020113341A1 (de) | 2021-02-18 |
CN112394879B (zh) | 2024-05-17 |
US11593242B2 (en) | 2023-02-28 |
KR102704694B1 (ko) | 2024-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943639B2 (en) | Data storage device and operating method thereof | |
US11748223B2 (en) | Method of operating storage device, storage device performing the same and storage system including the same | |
CN111400200A (zh) | 控制器及其操作方法 | |
KR102571747B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20190220228A1 (en) | Memory system and operating method thereof | |
US20230004320A1 (en) | Method of managing debugging log in storage device | |
US11704048B2 (en) | Electronic device | |
US11282584B2 (en) | Multi-chip package and method of testing the same | |
KR20200076846A (ko) | 메모리 장치에 저장된 데이터의 에러를 검출하는 장치 및 그 동작 방법 | |
KR20210147696A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20190076296A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11748025B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
CN110083305B (zh) | 存储器系统及其操作方法 | |
KR102469098B1 (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치 | |
US9837166B2 (en) | Data storage device and operating method thereof | |
KR102704694B1 (ko) | 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 | |
KR102695482B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20190037659A (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
US10776008B2 (en) | Memory system and operating method thereof | |
KR102697889B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102716349B1 (ko) | 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 | |
KR20180047808A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
GRNT | Written decision to grant |