KR102321947B1 - 데이터 저장 시스템 및 데이터 저장 시스템 성능, 용량 및/또는 동작 요건을 자율적으로 적응시키기 위한 방법 - Google Patents
데이터 저장 시스템 및 데이터 저장 시스템 성능, 용량 및/또는 동작 요건을 자율적으로 적응시키기 위한 방법 Download PDFInfo
- Publication number
- KR102321947B1 KR102321947B1 KR1020190108997A KR20190108997A KR102321947B1 KR 102321947 B1 KR102321947 B1 KR 102321947B1 KR 1020190108997 A KR1020190108997 A KR 1020190108997A KR 20190108997 A KR20190108997 A KR 20190108997A KR 102321947 B1 KR102321947 B1 KR 102321947B1
- Authority
- KR
- South Korea
- Prior art keywords
- data storage
- host system
- physical storage
- amount
- storage system
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3409—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 for performance assessment
- G06F11/3433—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 for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 2는 예시적인 구현예들에 따른, 동일한 지속기간의 고 및 저 엔트로피 작업부하들을 경험한 후에 존속 및 실패한 데이터 저장 시스템들의 집단의 다수의 데이터 저장 시스템들을 예시하는 예시적인 그래프 다이어그램을 도시한다.
도 3은 예시적인 구현예들에 따른 데이터 저장 시스템의 컴포넌트들을 예시하는 블록 다이어그램이다.
도 4는 예시적인 구현예들에 따른, 작업부하의 카테고리를 분류하기 위해 데이터 저장 시스템들을 트레이닝시키는 예시적인 방법의 흐름도이다.
도 5는 예시적인 구현예들에 따른, 호스트 시스템에 대해 이용가능한 물리적 저장 공간을 조정하는 예시적인 방법의 흐름도이다.
하나 이상의 구현예들에서, 각각의 도면에서의 도시된 컴포넌트들 모두가 요구될 수 있는 것은 아니며, 하나 이상의 구현예들은 도면에 도시되지 않은 추가적인 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 유형의 변동들이 본 발명의 범주로부터 벗어남이 없이 이루어질 수 있다. 추가적인 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 본 발명의 범주 내에서 이용될 수 있다.
Claims (20)
- 데이터 저장 시스템으로서,
제어기; 및
하나 이상의 비휘발성 메모리 디바이스들을 포함하고,
상기 제어기는,
기계 학습 모델(machine-learned model)을 사용하여, 상기 기계 학습 모델에 대한 복수의 입력 파라미터들과 연관된 데이터에 기초하여, 상기 데이터 저장 시스템에 의해 프로세싱되고 있는 하나 이상의 동작들의 작업부하에 대한 카테고리를 결정하도록;
상기 결정된 카테고리에 기초하여, 상기 하나 이상의 비휘발성 메모리 디바이스들의 예상된 열화를 결정하도록; 그리고
상기 예상된 열화 및 호스트 시스템에 의한 상기 데이터 저장 시스템의 물리적 저장의 실제 사용량에 기초하여, 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 양을 조정하도록 구성되는, 데이터 저장 시스템. - 제1항에 있어서, 상기 제어기는,
상기 작업부하에 대한 상기 카테고리 및 상기 예상된 열화에 기초하여, 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 양을 조정할지 여부를 결정하도록;
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양이 조정되는 것으로 결정될 때, 상기 호스트 시스템에 의한 사용량 이력에 기초하여, 상기 호스트 시스템에 의한 물리적 저장의 실제 사용량을 계산하도록;
상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 임계 사용량을 만족하는지 여부를 결정하도록; 그리고
상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 상기 임계 사용량을 만족할 때, 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하도록 구성되는, 데이터 저장 시스템. - 제2항에 있어서, 상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 상기 임계 사용량을 만족할 때, 상기 제어기는,
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 감소시키고 최대 논리적 블록 어드레스(logical block address, LBA)를 감소시키도록 구성되는, 데이터 저장 시스템. - 제1항에 있어서, 상기 제어기는,
최대 논리적 블록 어드레스(LBA)를 조정함으로써 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하도록 구성되는, 데이터 저장 시스템. - 제1항에 있어서, 상기 제어기는,
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 오버프로비저닝된(over provisioned) 물리적 저장의 양을 감소시키도록; 그리고
최대 논리적 블록 어드레스를 이전에 이용가능한 최대 논리적 블록 어드레스로 증가시키도록 구성되는, 데이터 저장 시스템. - 제1항에 있어서, 상기 제어기는,
상기 호스트 시스템으로 경보를 전송하도록 구성되고, 상기 경보는 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양이 조정가능함을 나타내는, 데이터 저장 시스템. - 제6항에 있어서, 상기 제어기는,
상기 경보에 응답하여 상기 호스트 시스템으로부터 메시지를 수신하도록; 그리고
상기 메시지에 기초하여, 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하도록 구성되는, 데이터 저장 시스템. - 데이터 저장 시스템을 위한 컴퓨터 구현 방법으로서,
기계 학습 모델을 사용하여, 상기 기계 학습 모델에 대한 복수의 입력 파라미터들과 연관된 데이터에 기초하여, 상기 데이터 저장 시스템에 의해 프로세싱되고 있는 하나 이상의 동작들의 작업부하에 대한 카테고리를 결정하는 단계;
상기 결정된 카테고리에 기초하여, 상기 데이터 저장 시스템의 하나 이상의 비휘발성 메모리 디바이스들의 예상된 열화를 결정하는 단계; 및
상기 예상된 열화 및 호스트 시스템에 의한 상기 데이터 저장 시스템의 물리적 저장의 실제 사용량에 기초하여, 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 양을 조정하는 단계를 포함하는, 컴퓨터 구현 방법. - 제8항에 있어서,
상기 작업부하에 대한 상기 카테고리 및 상기 예상된 열화에 기초하여, 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 양을 조정할지 여부를 결정하는 단계;
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양이 조정되는 것으로 결정하는 것에 응답하여:
상기 호스트 시스템에 의한 사용량 이력에 기초하여, 상기 호스트 시스템에 의한 물리적 저장의 실제 사용량을 계산하는 단계;
상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 임계 사용량을 만족하는지 여부를 결정하는 단계; 및
상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 상기 임계 사용량을 만족한다고 결정하는 것에 응답하여:
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법. - 제8항에 있어서,
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 감소시킴으로써 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법. - 제10항에 있어서,
최대 논리적 블록 어드레스(LBA)를 감소시킴으로써 상기 최대 LBA를 조정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법. - 제8항에 있어서,
상기 호스트 시스템에 대해 이용가능한 물리적 저장의 상기 양을 증가시킴으로써 상기 호스트 시스템에 대해 이용가능한 물리적 저장의 상기 양을 조정하는 단계; 및
최대 논리적 블록 어드레스(LBA)를 이전에 이용가능한 최대 LBA로 증가시키는 단계를 추가로 포함하는, 컴퓨터 구현 방법. - 제8항에 있어서,
상기 호스트 시스템으로 경보를 전송하는 단계를 추가로 포함하고, 상기 경보는 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양이 조정가능함을 나타내는, 컴퓨터 구현 방법. - 제13항에 있어서,
상기 전송된 경보에 응답하여 상기 호스트 시스템으로부터 메시지를 수신하는 단계; 및
상기 메시지에 기초하여, 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법. - 데이터 저장 시스템으로서,
복수의 비휘발성 메모리 디바이스들;
기계 학습 모델을 사용하여, 상기 기계 학습 모델에 대한 복수의 입력 파라미터들과 연관된 데이터에 기초하여, 상기 데이터 저장 시스템에 의해 프로세싱되고 있는 하나 이상의 동작들의 작업부하에 대한 카테고리를 결정하기 위한 수단;
상기 결정된 카테고리에 기초하여, 상기 데이터 저장 시스템의 하나 이상의 비휘발성 메모리 디바이스들의 예상된 열화를 결정하기 위한 수단; 및
상기 예상된 열화 및 호스트 시스템에 의한 데이터 저장 시스템의 물리적 저장의 실제 사용량에 기초하여, 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 양을 조정하기 위한 수단을 포함하는, 데이터 저장 시스템. - 제15항에 있어서,
상기 작업부하에 대한 상기 카테고리 및 상기 예상된 열화에 기초하여, 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 양을 조정할지 여부를 결정하기 위한 수단;
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양이 조정되는 것으로 결정하는 것에 응답하여:
상기 호스트 시스템에 의한 사용량 이력에 기초하여, 상기 호스트 시스템에 의한 물리적 저장의 실제 사용량을 계산하기 위한 수단;
상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 임계 사용량을 만족하는지 여부를 결정하기 위한 수단; 및
상기 호스트 시스템에 의한 물리적 저장의 상기 실제 사용량이 상기 임계 사용량을 만족한다고 결정하는 것에 응답하여:
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하기 위한 수단을 포함하는, 데이터 저장 시스템. - 제15항에 있어서,
상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 감소시킴으로써 상기 호스트 시스템에 대해 이용가능한 상기 데이터 저장 시스템의 물리적 저장의 상기 양을 조정하기 위한 수단을 포함하는, 데이터 저장 시스템. - 제15항에 있어서,
상기 호스트 시스템에 대해 이용가능한 물리적 저장의 상기 양을 증가시킴으로써 상기 호스트 시스템에 대해 이용가능한 물리적 저장의 상기 양을 조정하기 위한 수단; 및
최대 논리적 블록 어드레스(LBA)를 이전에 이용가능한 최대 LBA로 증가시키기 위한 수단을 포함하는, 데이터 저장 시스템. - 제1항에 있어서, 상기 작업부하에 대한 카테고리는 상기 작업부하에 대한 엔트로피 유형을 포함하는, 데이터 저장 시스템.
- 제19항에 있어서,
상기 엔트로피 유형은,
랜덤하게 어드레싱된 메모리 블록들을 이용하는 판독 또는 기록과 연관된 랜덤 작업부하 유형;
인접하여 어드레싱된 메모리 블록들을 이용하는 판독 또는 기록과 연관된 순차 작업부하 유형; 및
랜덤하게 어드레싱된 메모리 블록들 및 인접하여 어드레싱된 메모리 블록들을 이용하는 판독 또는 기록과 연관된 혼합 작업부하 유형
중 적어도 하나를 포함하는, 데이터 저장 시스템.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/223,041 | 2018-12-17 | ||
| US16/223,041 US10963332B2 (en) | 2018-12-17 | 2018-12-17 | Data storage systems and methods for autonomously adapting data storage system performance, capacity and/or operational requirements |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200074844A KR20200074844A (ko) | 2020-06-25 |
| KR102321947B1 true KR102321947B1 (ko) | 2021-11-03 |
Family
ID=70859387
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190108997A Active KR102321947B1 (ko) | 2018-12-17 | 2019-09-03 | 데이터 저장 시스템 및 데이터 저장 시스템 성능, 용량 및/또는 동작 요건을 자율적으로 적응시키기 위한 방법 |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US10963332B2 (ko) |
| KR (1) | KR102321947B1 (ko) |
| CN (1) | CN111324298B (ko) |
| DE (1) | DE102019125060A1 (ko) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10963332B2 (en) * | 2018-12-17 | 2021-03-30 | Western Digital Technologies, Inc. | Data storage systems and methods for autonomously adapting data storage system performance, capacity and/or operational requirements |
| US11537326B2 (en) * | 2020-09-10 | 2022-12-27 | Western Digital Technologies, Inc. | Relocation flow using CbA technology |
| US11436138B2 (en) * | 2020-10-21 | 2022-09-06 | EMC IP Holding Company LLC | Adaptive endurance tuning of solid-state storage system |
| US11880595B2 (en) * | 2020-11-06 | 2024-01-23 | Micron Technology, Inc. | Memory cell access techniques for memory systems |
| US20220342601A1 (en) * | 2021-04-27 | 2022-10-27 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for adaptive near storage computation |
| CN115620793B (zh) | 2021-07-12 | 2024-10-22 | 长鑫存储技术有限公司 | 一种半导体存储器及其上存储块的容量配置方法 |
| KR20230058230A (ko) | 2021-10-22 | 2023-05-03 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
| US11954341B2 (en) * | 2022-05-05 | 2024-04-09 | Seagate Technology Llc | External storage of internal drive management data |
| US12007830B2 (en) * | 2022-07-22 | 2024-06-11 | VMware LLC | Methods and systems for resolving performance problems with objects of a data center |
| CN117931416A (zh) * | 2022-10-14 | 2024-04-26 | 成都华为技术有限公司 | 资源分配方法、装置、存储介质及程序产品 |
| US12423016B2 (en) * | 2022-12-27 | 2025-09-23 | Netapp, Inc. | Reducing provisioned storage capacity of an aggregate of a storage appliance |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170285943A1 (en) * | 2016-03-30 | 2017-10-05 | EMC IP Holding Company LLC | Balancing ssd wear in data storage systems |
| WO2018167890A1 (ja) | 2017-03-15 | 2018-09-20 | 株式会社日立製作所 | 計算機システム及び管理方法 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8904082B1 (en) * | 2008-03-25 | 2014-12-02 | Cadence Design Systems, Inc. | Operation based polling in a memory system |
| TWI584120B (zh) * | 2012-03-23 | 2017-05-21 | Lsi公司 | 用於動態調適快取的方法及系統 |
| CN105224240B (zh) * | 2014-05-30 | 2019-04-30 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法、装置及存储设备 |
| US9158681B1 (en) | 2014-09-02 | 2015-10-13 | Sandisk Technologies Inc. | Process and apparatus to reduce declared capacity of a storage device by conditionally trimming |
| US9678677B2 (en) * | 2014-12-09 | 2017-06-13 | Intel Corporation | Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device |
| US10234930B2 (en) * | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
| US10402733B1 (en) * | 2015-06-17 | 2019-09-03 | EMC IP Holding Company LLC | Adaptive ensemble workload prediction model based on machine learning algorithms |
| US9703664B1 (en) * | 2015-06-24 | 2017-07-11 | EMC IP Holding Company LLC | Self adaptive workload classification and forecasting in multi-tiered storage system using ARIMA time series modeling |
| KR102519663B1 (ko) | 2015-07-31 | 2023-04-07 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 포함하는 시스템 및 그것의 동작 방법 |
| US10235057B2 (en) * | 2015-09-04 | 2019-03-19 | Western Digital Technologies, Inc. | Operating parameters for flash memory devices |
| US10592110B2 (en) * | 2016-02-19 | 2020-03-17 | International Business Machines Corporation | Techniques for dynamically adjusting over-provisioning space of a flash controller based on workload characteristics |
| US11468359B2 (en) * | 2016-04-29 | 2022-10-11 | Hewlett Packard Enterprise Development Lp | Storage device failure policies |
| CN108287660B (zh) * | 2017-01-09 | 2021-07-09 | 中国移动通信集团河北有限公司 | 数据存储方法和设备 |
| KR102526650B1 (ko) * | 2017-05-25 | 2023-04-27 | 삼성전자주식회사 | 뉴럴 네트워크에서 데이터를 양자화하는 방법 및 장치 |
| US10884636B1 (en) * | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
| US20200117642A1 (en) * | 2017-06-30 | 2020-04-16 | Intel Corporation | Determining optimal data size for data deduplication operation |
| US11609810B2 (en) * | 2017-12-07 | 2023-03-21 | Intel Corporation | Technologies for predicting computer hardware performance with machine learning |
| US10635324B1 (en) * | 2018-02-28 | 2020-04-28 | Toshiba Memory Corporation | System and method for reduced SSD failure via analysis and machine learning |
| US20190334786A1 (en) * | 2018-04-30 | 2019-10-31 | Hewlett Packard Enterprise Development Lp | Predicting Workload Patterns in a Data Storage Network |
| CN108804039B (zh) * | 2018-06-04 | 2021-01-29 | 平安科技(深圳)有限公司 | 自适应的数据恢复流控方法、装置、电子设备及存储介质 |
| US10963332B2 (en) * | 2018-12-17 | 2021-03-30 | Western Digital Technologies, Inc. | Data storage systems and methods for autonomously adapting data storage system performance, capacity and/or operational requirements |
| US10809936B1 (en) * | 2019-07-30 | 2020-10-20 | EMC IP Holding Company LLC | Utilizing machine learning to detect events impacting performance of workloads running on storage systems |
| US11175829B2 (en) * | 2019-10-22 | 2021-11-16 | EMC IP Holding Company LLC | Automatic identification of workloads contributing to behavioral changes in storage systems using machine learning techniques |
| US20230177345A1 (en) * | 2021-12-08 | 2023-06-08 | Vmware, Inc. | Methods and systems that use machine-learning to determine workloads and to evaluate deployment/configuration policies |
| US20230281470A1 (en) * | 2022-03-04 | 2023-09-07 | Netapp, Inc. | Machine learning classification of object store workloads |
-
2018
- 2018-12-17 US US16/223,041 patent/US10963332B2/en active Active
-
2019
- 2019-09-03 KR KR1020190108997A patent/KR102321947B1/ko active Active
- 2019-09-18 DE DE102019125060.9A patent/DE102019125060A1/de active Pending
- 2019-09-18 CN CN201910881788.4A patent/CN111324298B/zh active Active
-
2021
- 2021-02-22 US US17/182,177 patent/US11500714B2/en active Active
-
2022
- 2022-10-04 US US17/959,899 patent/US12181961B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170285943A1 (en) * | 2016-03-30 | 2017-10-05 | EMC IP Holding Company LLC | Balancing ssd wear in data storage systems |
| WO2018167890A1 (ja) | 2017-03-15 | 2018-09-20 | 株式会社日立製作所 | 計算機システム及び管理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102019125060A1 (de) | 2020-06-18 |
| US20230024176A1 (en) | 2023-01-26 |
| US20200192738A1 (en) | 2020-06-18 |
| CN111324298A (zh) | 2020-06-23 |
| US12181961B2 (en) | 2024-12-31 |
| CN111324298B (zh) | 2023-10-24 |
| KR20200074844A (ko) | 2020-06-25 |
| US20210173731A1 (en) | 2021-06-10 |
| US10963332B2 (en) | 2021-03-30 |
| US11500714B2 (en) | 2022-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102321947B1 (ko) | 데이터 저장 시스템 및 데이터 저장 시스템 성능, 용량 및/또는 동작 요건을 자율적으로 적응시키기 위한 방법 | |
| CN110955385B (zh) | 用于改进的数据重定位的数据存储系统和方法 | |
| US10726930B2 (en) | Method and system for a storage (SSD) drive-level failure and health prediction leveraging machine learning on internal parametric data | |
| US10388385B2 (en) | Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory | |
| US9135112B2 (en) | Policy for read operations addressing on-the-fly decoding failure in non-volatile memory | |
| CN111445942B (zh) | 基于保留漂移历史的非易失性存储器读取阈值最优化 | |
| KR102411329B1 (ko) | 디코딩 성공 추세에 기초한 조정가능한 판독 재시도 순서 | |
| US8738994B2 (en) | Memory controller, memory system, and operating method | |
| CN107179962A (zh) | 用于自适应读取电平调节的系统和方法 | |
| WO2016069194A1 (en) | Method and system for throttling bandwidth based on temperature | |
| CN106158040B (zh) | 读取电压准位估测方法、存储器存储装置及控制电路单元 | |
| CN105005450B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
| TW201415468A (zh) | 在一非揮發性記憶體中測量平均抹除之記憶體胞損壞 | |
| CN111427510B (zh) | 用于后台管理操作的优化调度的数据存储系统和方法 | |
| US12118229B2 (en) | Memory sub-system event log management | |
| TWI545581B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
| KR20220085804A (ko) | 용도 블록을 위한 동적 오버 프로비저닝 할당 | |
| US12333164B2 (en) | Data storage systems and methods for self adaptive chip-enable setup time | |
| US20240231708A1 (en) | Dynamic rain for zoned storage systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |