KR102314741B1 - 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 - Google Patents
고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 Download PDFInfo
- Publication number
- KR102314741B1 KR102314741B1 KR1020200054340A KR20200054340A KR102314741B1 KR 102314741 B1 KR102314741 B1 KR 102314741B1 KR 1020200054340 A KR1020200054340 A KR 1020200054340A KR 20200054340 A KR20200054340 A KR 20200054340A KR 102314741 B1 KR102314741 B1 KR 102314741B1
- Authority
- KR
- South Korea
- Prior art keywords
- solid
- state drive
- performance optimization
- firmware
- queue depth
- Prior art date
Links
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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3221—Monitoring of peripheral devices of disk drive devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- 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
- 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; 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0625—Power saving in 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity 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/0629—Configuration or reconfiguration 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
- Control Of Transmission Device (AREA)
Abstract
고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법이 제공된다. 고체-상태 드라이브에 대한 성능 최적화 방법은 다음의 단계들을 포함한다: 큐 깊이의 사용 비율을 결정하기 위하여 고체-상태 드라이브의 큐 깊이를 검출하는 단계; 큐 깊이의 사용 비율이 제 1 임계 비율보다 더 높을 때 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 고체-상태 드라이브의 액세스 속도가 상승가능한지 여부를 결정하는 단계; 및 큐 깊이의 사용 비율이 제 2 임계 비율보다 더 낮을 때 고체-상태 드라이브의 액세스 속도를 감소시키기 위하여 고체-상태 드라이브의 액세스 속도가 감소가능한지 여부를 결정하는 단계.
Description
관련 출원에 대한 상호 참조
본 출원은 2019년 05월 10일자로 출원된 대만 특허 출원 일련번호 제108116125호의 우선권 이익을 주장한다. 이로써 이상에서 언급된 특허 출원들의 각각의 전체가 참조로서 통합되며 본 명세서의 일 부분을 이룬다.
기술분야
본 개시는 하드 드라이브 및 하드 드라이브 최적화 방법에 관한 것으로서, 구체적으로는 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법에 관한 것이다.
데이터 저장 디바이스들이 발전함에 따라, 고체-상태 드라이브(solid-state drive; SSD)들은, SSD들이 높은 데이터 액세스 속도를 제공할 수 있다는 이유 때문에 현재 주류 저장 디바이스들이 되었다. 그러나, 통상적인 SSD는 오로지, 제조 시점에 제조사에 의해 미리 세팅된 고정된 액세스 속도로만 동작될 수 있다. 즉, 사용자가 SSD를 구매하여 SSD를 사용할 때, 사용자는 오로지 SSD를 고정된 액세스 속도로만 동작시킬 수 있다. 다시 말해서, SSD의 현재 사용 상태와 무관하게, SSD의 액세스 속도 및 전력 소비가 변화되지 않기 때문에, 통상적인 SSD는 특정한 특정 액세스 상황에서 양호한 동작 성능을 효과적으로 유지할 수 없다. 따라서, 복수의 예시적인 실시예들의 해법들이 이하에서 제공된다.
본 발명은, 고체-상태 드라이브의 동작 성능을 자동으로 최적화하기 위하여, 고체-상태 드라이브의 현재 사용 상태에 따라 고체-상태 드라이브의 액세스 속도를 대응하여 조정하도록 적응된 고체-상태 드라이브 및 고체-상태 드라이브의 성능 최적화 방법에 관한 것이다.
본 발명은 고체-상태 드라이브에 대한 성능 최적화 방법을 제공하며, 이러한 방법은 다음의 단계들을 포함한다. 큐 깊이(queue depth)의 사용 비율을 결정하기 위하여 고체-상태 드라이브의 큐 깊이가 검출된다. 큐 깊이의 사용 비율이 제 1 임계 비율보다 더 높을 때 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 고체-상태 드라이브의 액세스 속도가 상승가능(raisable)한지 여부가 결정된다. 큐 깊이의 사용 비율이 제 2 임계 비율보다 더 낮을 때 고체-상태 드라이브의 액세스 속도를 감소시키기 위하여 고체-상태 드라이브의 액세스 속도가 감소가능(reduceable)한지 여부가 결정된다.
본 발명은 고체-상태 드라이브 제어기 및 성능 최적화 펌웨어를 포함하는 고체-상태 드라이브를 제공한다. 성능 최적화 펌웨어는 고체-상태 드라이브 제어기에 결합된다. 성능 최적화 펌웨어는 큐 깊이의 사용 비율을 결정하기 위하여 고체-상태 드라이브의 큐 깊이를 검출하도록 구성된다. 성능 최적화 펌웨어는, 큐 깊이의 사용 비율이 제 1 임계 비율보다 더 높을 때 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 고체-상태 드라이브의 액세스 속도가 상승가능한지 여부를 결정한다. 성능 최적화 펌웨어는, 큐 깊이의 사용 비율이 제 2 임계 비율보다 더 낮을 때 고체-상태 드라이브의 액세스 속도를 감소시키기 위하여 고체-상태 드라이브의 액세스 속도가 감소가능한지 여부를 결정한다.
이상의 설명에 기초하여, 본 발명의 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법은 고체-상태 드라이브의 액세스 속도를 대응적으로 조정하기 위하여 SSD의 큐 깊이의 사용 상태를 자동으로 결정하도록 적응된다. 따라서, 본 발명의 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법은 고체-상태 드라이브의 동작 성능을 효과적으로 최적화할 수 있다.
전술한 내용을 보다 더 이해하기 쉽게 만들기 위하여, 도면들이 수반된 몇몇 실시예들이 이하에서 상세하게 설명된다.
첨부된 도면들은 본 발명의 추가적인 이해를 제공하기 위하여 포함되며, 본 명세서 내에 통합되고 이의 일 부분을 구성한다. 도면들은 본 발명의 실시예들을 예시하며, 설명과 함께 본 발명의 원리들을 설명하는데 기여한다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 기능적 블록도이다.
도 2는 본 발명의 일 실시예에 따른 고체-상태 드라이브의 성능 최적화 방법을 예시하는 순서도이다.
도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 고체-상태 드라이브에 대한 성능 최적화 방법을 예시하는 순서도들이다.
도 4는 본 발명의 일 실시예에 따른 사용자 인터페이스의 동작 흐름을 예시한다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 기능적 블록도이다.
도 2는 본 발명의 일 실시예에 따른 고체-상태 드라이브의 성능 최적화 방법을 예시하는 순서도이다.
도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 고체-상태 드라이브에 대한 성능 최적화 방법을 예시하는 순서도들이다.
도 4는 본 발명의 일 실시예에 따른 사용자 인터페이스의 동작 흐름을 예시한다.
(청구항들을 포함하여) 본 개시의 전체 텍스트에서 사용되는 용어 "결합"은 임의의 직접 및 간접 연결들을 지칭한다. 예를 들어, 제 1 디바이스가 제 2 디바이스에 결합되는 것으로 설명되는 경우, 이는, 제 1 디바이스가 제 2 디바이스에 직접적으로 결합되거나, 또는 제 1 디바이스가 다른 디바이스들 또는 연결 수단을 통해 제 2 디바이스에 간접적으로 연결되는 것으로서 해석된다. 또한, 가능하면 어디에서나, 도면들 및 설명에서 동일한 참조 번호들을 사용하는 컴포넌트들/부재들/단계들은 동일하거나 또는 유사한 부분들을 나타낸다. 상이한 실시예들에서 동일한 참조 번호들을 사용하거나 또는 동일한 용어들을 사용하는 컴포넌트들/부재들/단계들은 관련된 설명들을 상호-참조할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 기능적 블록도이다. 도 1을 참조하면, 컴퓨터 시스템(10)은 고체-상태 드라이브(solid-state drive; SSD)(100) 및 프로세서(200)를 포함한다. SSD(100)는 SSD 제어기(110), 메모리(120) 및 성능 최적화 펌웨어(130)를 포함한다. SSD 제어기(110)는 메모리(120)에 결합된다. 메모리(120)는 NAND-타입 플래시 메모리와 같은 플래시 메모리일 수 있지만, 본 발명이 이에 한정되는 것은 아니다. 본 실시예에 있어서, SSD(100)는, 예를 들어, 컴퓨터의 마더보드 상에 설치되고 프로세서(200)에 결합된다. 따라서, 컴퓨터의 전원이 켜질 때, 프로세서(200)는 SSD(100)를 시작하고 액세스할 수 있으며, 프로세서(200)는 SSD(100)의 동작 성능을 자동으로 최적화하기 위하여 성능 최적화 펌웨어(130)를 판독하고 실행할 수 있다. 본 실시예에 있어서, 성능 최적화 펌웨어(130)는, 예를 들어, SSD(100)의 메모리(120)에 사전-기입될 수 있거나 또는 SSD(100)의 다른 메모리들 내에 사전-저장될 수 있으며, 이는 본 발명에 의해 제한되지 않는다. 심지어, 일 실시예에 있어서, 성능 최적화 펌웨어(130)는 애플리케이션 프로그램(application program; APP)일 수 있으며, SSD(100)가 아닌 다른 저장 유닛들 내에 저장될 수 있다.
도 2는 본 발명의 일 실시예에 따른 고체-상태 드라이브의 성능 최적화 방법을 예시하는 순서도이다. 도 1 및 도 2를 참조하면, 본 실시예의 성능 최적화 방법은 적어도 도 1의 실시예의 컴퓨터 시스템(10)에 맞춰 적응되며, 여기에서 프로세서(200)는 SSD(100)를 최적화하기 위하여 성능 최적화 펌웨어(130)를 판독하고 실행한다. 단계(S210)에서, 프로세서(200)는 SSD(100)의 큐 깊이를 검출하고, 큐 깊이의 사용 비율을 결정한다. 단계(S220)에서, 큐 깊이의 사용 비율이 제 1 임계 비율보다 더 높을 때, 프로세서(200)는 SSD(100)의 액세스 속도를 상승시키기 위하여 SSD(100)의 액세스 속도가 상승가능한지 여부를 결정한다. 단계(S230)에서, 큐 깊이의 사용 비율이 제 2 임계 비율보다 더 낮을 때, 프로세서(200)는 SSD(100)의 액세스 속도를 감소시키기 위하여 SSD(100)의 액세스 속도가 감소가능한지 여부를 결정한다. 따라서, 본 실시예의 컴퓨터 시스템(10)은 SSD(100)의 성능을 효과적으로 최적화할 수 있다.
구체적으로, 본 실시예의 프로세서(200)는 큐 깊이 값을 획득하기 위해 SSD 제어기(110)를 판독하고, 큐 깊이 값에 따라 SSD(100)의 현재 사용 상태를 추론할 수 있다. 이에 더하여, 큐 깊이는 현재 시간에서의 SSD(100)의 액세스 동작들의 총 수를 나타낼 수 있다. 다시 말해서, 본 실시예의 성능 최적화 방법은 SSD(100)의 실시간 액세스 상태에 따라 SSD(100)의 액세스 속도를 동적으로 조정할 것이다. 일 실시예에 있어서, 제 1 임계 비율보다 더 높은 큐 깊이의 사용 비율은 큐 깊이의 총 사용 수가 50%보다 더 크다는 것을 나타낼 수 있으며, 제 2 임계 비율보다 더 낮은 큐 깊이의 사용 비율은 큐 깊이의 총 사용 수가 10%보다 더 작다는 것을 나타낼 수 있다. 즉, 프로세서(200)가, SSD(100)가 현재 고-액세스 상태로 동작되고 있음을 결정할 때, 프로세서(200)는 액세스 속도를 가속하기 위하여 SSD(100)의 액세스 속도를 자동으로 상승시킬 수 있다. 프로세서(200)가, SSD(100)가 현재 저-액세스 상태로 동작되고 있음을 결정할 때, 프로세서(200)는 액세스 속도를 감소시키기 위하여 SSD(100)의 액세스 속도를 자동으로 감소시킬 수 있다.
SSD(100)의 액세스 속도의 전술된 상승 또는 감소는, 예를 들어, SSD(100)의 액세스 속도를 상승시키거나 또는 감소시키기 위하여 SSD 제어기(110) 및/또는 메모리(120)의 동작 주파수를 상승시키는 것 또는 감소시키는 것을 지칭할 수 있다는 것을 주의해야 한다. 또한, 일 실시예에 있어서, 프로세서(200)가 SSD(100)의 액세스 상태를 결정하기 이전에, 프로세서(200)는 SSD(100) 내에서 현재 액세스되고 있는 데이터의 타입에 따라 미리 SSD(100)의 액세스 속도를 결정할 수 있다. 예를 들어, 프로세서(200)가 현재 액세스되고 있는 데이터의 타입이 이미지 편집 프로그램 또는 게임 프로그램과 같은 더 큰 데이터 양을 갖는 파일 데이터임을 결정할 때, 프로세서(200)는 SSD(100)의 동작 주파수를 더 높은 주파수로 미리 세팅할 수 있다. 양자택일적으로, 프로세서(200)가 현재 액세스되고 있는 데이터의 타입이 이미지 파일 또는 음악 파일과 같은 더 작은 데이터 양을 갖는 파일 데이터임을 결정할 때, 프로세서(200)는 SSD(100)의 동작 주파수를 더 낮은 주파수로 미리 세팅할 수 있다. 그런 다음, 프로세서(200)는, 예를 들어, 전술한 단계들(S210 내지 S230)을 실행하기 위하여 SSD(100)의 큐 깊이를 검출한다.
도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 고체-상태 드라이브에 대한 성능 최적화 방법을 예시하는 순서도들이다. 도 1, 도 3a 및 도 3b를 참조하면, 본 실시예의 성능 최적화 방법은 적어도 도 1의 실시예의 컴퓨터 시스템(10)에 맞춰 적응되며, 여기에서 프로세서(200)는 SSD(100)를 최적화하기 위하여 성능 최적화 펌웨어(130)를 판독하고 실행한다. 또한, 도 2의 실시예에 비하여, 본 실시예의 성능 최적화 방법은 추가로 SSD(100)의 온도에 따라 액세스 속도를 조정한다. 단계(S310)에서, 프로세서(200)는 SSD(100)의 자동 성능 최적화를 실행한다. 단계(S320)에서, 프로세서(200)는 SSD(100)의 큐 깊이(QE)를 검출하고, 큐 깊이(QE)의 사용 비율을 결정한다.
큐 깊이(QE)가 제 2 임계 비율(TR2)보다 더 낮을 때(QE<TR2), 프로세서(200)는 단계(S330)를 실행한다. 단계(S330)에서, 프로세서(200)는 SSD 제어기(110)에 의해 측정되는 현재 동작 온도(T)를 검출하며, 현재 동작 온도(T)를 미리 결정된 온도(T')로 세팅한다. 그러면, 단계(S360)에서, 프로세서(200)는, SSD(100)의 현재 액세스 속도가 감소가능한지 여부를 결정한다. 그렇지 않은 경우, 이는, SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수가 미리 결정된 최소 주파수에 도달하였다는 것을 나타낸다. 단계(S361)에서, 프로세서(200)는 SSD 제어기(110) 및/또는 메모리(120)의 동작 주파수를 유지한다. 그러한 경우, 이는, SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수가 미리 결정된 최소 주파수보다 더 높다는 것을 나타낸다. 단계(S362)에서, 프로세서(200)는 미리 결정된 감소 비율(예를 들어, 10% 감소)에 따라 SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수를 감소시킨다. 다시 말해서, SSD(100)가 현재 저-액세스 상태일 때, 프로세서(200)는 SSD(100)의 액세스 속도를 감소시키기 위하여 SSD 제어기(110) 및/또는 메모리(120)의 동작 주파수를 추가로 감소시킬 수 있다. 이에 더하여, 단계(S330)의 목적이 추가로 설명된다. SSD(100)가 막 시작될 때, SSD(100)의 큐 깊이(QE)가 낮아야만 하기 때문에, 단계(S330)에서, 프로세서(200)는 후속 결정을 위한 온도 결정 기준으로서 역할하기 위한 SSD(100)의 현재 동작 온도(이는 초기 동작 온도로서 취해질 수 있음)를 재-기록할 수 있다.
큐 깊이(QE)가 제 1 임계 비율(TR1)보다 더 클 때(QE>TR1), 프로세서(200)는 단계(S350)를 실행한다. 단계(S350)에서, 프로세서(200)는 SSD(100)의 현재 액세스 속도가 상승가능한지 여부를 결정한다. 그렇지 않은 경우, 이는, SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수가 미리 결정된 최대 주파수에 도달하였음을 나타낸다. 단계(S351)에서, 프로세서(200)는 SSD 제어기(110)의 동작 주파수를 유지한다. 그러한 경우, 이는, SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수가 미리 결정된 최대 주파수보다 더 낮다는 것을 나타낸다. 단계(S352)에서, 프로세서(200)는 미리 결정된 상승 비율(예를 들어, 10% 상승)에 따라 SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수를 상승시킨다. 다시 말해서, SSD(100)가 현재 고-액세스 상태일 때, 프로세서(200)는 SSD(100)의 현재 액세스 속도를 상승시키기 위하여 SSD 제어기(110) 및/또는 메모리(120)의 동작 주파수를 추가로 상승시킬 수 있다.
큐 깊이(QE)가 제 1 임계 비율(TR1)과 제 2 임계 비율(TR2) 사이일 때(TR1≥QE≥TR2), 프로세서(200)는 추가로 SSD(100)의 현재 동작 온도(T)를 결정한다. 현재 동작 온도(T)가 미리 결정된 온도 조건보다 더 낮거나 또는 이와 동일할 때(T≤T'+t1), 프로세서(200)는 단계(S341)를 실행한다. 단계(S341)에서, 프로세서(200)는 SSD 제어기(110) 및/또는 메모리(120)의 동작 주파수를 유지한다. 현재 동작 온도(T)가 미리 결정된 온도 조건보다 더 높을 때(T>T'+t1), 프로세서(200)는 단계(S370)를 실행한다. 단계(S370)에서, 프로세서(200)는 SSD(100)의 현재 액세스 속도가 상승가능한지 여부를 결정한다. 그렇지 않은 경우, 이는, SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수가 미리 결정된 최대 주파수에 도달하였다는 것을 나타낸다. 단계(S371)에서, 프로세서(200)는 SSD 제어기(110)의 동작 주파수를 유지한다. 그러한 경우, 이는, SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수가 미리 결정된 최대 주파수보다 더 낮다는 것을 나타낸다. 단계(S372)에서, 프로세서(200)는 SSD 제어기(110) 및/또는 메모리(120)의 현재 동작 주파수를 상승시킨다. 다시 말해서, SSD(100)의 정상 액세스 상태에서, SSD 제어기(110)에 의해 측정되는 현재 동작 온도가 더 낮은 경우, 프로세서(200)는 SSD(100)의 액세스 속도를 유지한다. 반대로, SSD 제어기(110)에 의해 측정되는 현재 동작 온도가 더 높은 경우, 이는, SSD(100)가 오랫동안 더 큰 데이터 액세스 양의 모드로 동작되었음을 나타내며, 그 결과 프로세서(200)는 SSD(100)의 액세스 속도를 상승시키기 위하여 SSD 제어기(110) 및/또는 메모리(120)의 동작 주파수를 추가로 상승시킬 수 있다.
또한, 전술한 미리 결정된 온도 조건은, 예를 들어, 미리 결정된 온도(T') 더하기 미리 결정된 값(t1)을 나타낼 수 있다. 또한, 일 실시예에 있어서, 미리 결정된 값(t1) 20 도(℃)일 수 있지만, 본 발명이 이에 한정되는 것은 아니다. 이에 더하여, 다른 측면에 따르면, SSD(100)의 큐 깊이(QE)의 사용 비율이 더 낮아졌을 때, 심지어 SSD 제어기(110)에 의해 측정되는 현재 동작 온도가 여전히 높을 때(완전한 냉각이 아직 달성되지 않았을 때), 프로세서(200)는 SSD(100)의 액세스 속도를 감소시킬지 여부를 결정하기 위하여 단계들(S330 및 S360)을 실행할 수 있다. 즉, 본 실시예의 성능 최적화 방법은, SSD(100)의 현재 액세스 상태에 따라 액세스 속도를 상승시키거나 또는 전력 소비를 감소시킬지 여부를 결정하기 위해 SSD(100)의 액세스 속도를 동적으로 조정할 수 있다. 이에 더하여, 본 실시예의 성능 최적화 방법은 추가로 SSD의 제어기(110)에 의해 측정되는 온도에 따라 액세스 속도를 더 조정할 수 있다.
도 4는 본 발명의 일 실시예에 따른 사용자 인터페이스의 동작 흐름을 예시한다. 도 4를 참조하면, 본 실시예의 사용자 인터페이스의 동작 흐름은 적어도 도 1의 실시예의 컴퓨터 시스템(10)에 맞춰 적응되며, 여기에서 프로세서(200)는 성능 최적화 펌웨어(130)를 판독하고 실행하고, 컴퓨터 시스템(10)은 본 실시예의 동작 흐름을 실행할 수 있다. 단계(S410)에서, 컴퓨터 시스템(10)이 턴 온되거나 또는 부팅될 때, 프로세서(200)는 디스플레이를 통해 사용자 인터페이스를 디스플레이하기 위해 성능 최적화 펌웨어(130)를 실행한다. 사용자 인터페이스는 2개의 옵션들을 디스플레이할 수 있으며, 2개의 옵션들은 수동 세팅 옵션 및 자동 성능 최적화 옵션일 수 있다. 단계(S420)에서, 컴퓨터 시스템(10)은 마우스 또는 키보드와 같은 입력 디바이스를 통해 외부 제어 명령어를 수신할 수 있다. 단계(S430)에서, 프로세서(200)는, 외부 제어 명령어가 자동 성능 최적화 옵션 또는 수동 세팅 옵션을 선택하기 위한 것인지 여부를 결정할 수 있다. 외부 제어 명령어가 자동 성능 최적화 옵션을 선택하기 위한 것일 때, 프로세서(200)는 단계(S440)를 실행한다. 단계(S440)에서, 프로세서(200)는 도 2 또는 도 3a 및 도 3b의 실시예에 도시된 바와 같은 성능 최적화 방법을 수행하기 위하여 자동 성능 최적화 옵션을 실행한다. 그러나, 외부 제어 명령어가 수동 세팅 옵션을 선택하기 위한 것일 때, 프로세서(200)는 외부 제어 명령어(추가로 사용자의 세팅)에 따라 SSD(100))의 액세스 속도의 상승 세팅 또는 감소 세팅을 세팅한다. 예를 들어, 상승 세팅은 전술한 실시예에서의 제 1 임계 비율 및 미리 결정된 상승 비율을 포함할 수 있으며, 감소 세팅은 전술한 실시예에서의 제 2 임계 비율 및 미리 결정된 감소 비율을 포함할 수 있다. 따라서, 본 실시예의 사용자 인터페이스의 동작 흐름은 사용자에게 SSD(100)의 액세스 속도를 유연하게 조정하는 기능을 제공할 수 있다.
정리하면, 본 발명의 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법은, SSD의 사용 상태 및 동작 온도에 따라서 대응하여 SSD의 액세스 속도를 조정하기 위하여, SSD의 큐 깊이의 사용 상태를 자동으로 결정하고 SSD의 동작 온도를 검출하도록 적응된다. 따라서, 본 발명의 SSD 및 SSD에 대한 성능 최적화 방법은 액세스 속도를 상승시키는 것 또는 전력 소비를 감소시키는 것을 효과적으로 달성하기 위하여 SSD의 동작 성능을 최적화할 수 있다.
본 발명의 사상 또는 범위로부터 벗어나지 않고 개시된 실시예들에 대한 다양한 수정들 및 변형들이 이루어질 수 있다는 것이 당업자들에게 자명할 것이다. 전술한 것을 고려하여, 본 발명은 다음의 청구항들 및 그들의 등가물들의 범위 내에 속하도록 제공된 수정예들 및 변형예들을 커버하도록 의도된다.
Claims (20)
- 고체-상태 드라이브에 대한 성능 최적화 방법으로서, 상기 고체-상태 드라이브는 성능 최적화 펌웨어를 포함하고, 상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
상기 성능 최적화 펌웨어에 의해, 큐 깊이(queue depth)의 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 큐 깊이를 검출하는 단계;
상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 제 1 임계 비율보다 더 높을 때 상기 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능(raisable)한지 여부를 결정하는 단계; 및
상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 제 2 임계 비율보다 더 낮을 때 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 감소가능(reduceable)한지 여부를 결정하는 단계를 포함하며,
상기 고체-상태 드라이브의 상기 큐 깊이를 검출하는 단계 이전에, 상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브 내에서 액세스되는 데이터의 타입에 따라 상기 고체-상태 드라이브의 상기 액세스 속도를 결정하는 단계;
상기 데이터의 타입이 큰 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 상승시킬 것을 결정하는 단계; 및
상기 데이터의 타입이 작은 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 감소시킬 것을 결정하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 1에 있어서,
상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
상기 성능 최적화 펌웨어에 의해, 고체-상태 드라이브 제어기의 동작 온도를 검출하는 단계;
상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 미리 결정된 온도 조건보다 더 낮거나 또는 동일할 때 상기 고체-상태 드라이브의 상기 액세스 속도를 유지하는 단계로서, 상기 미리 결정된 온도 조건은 미리 결정된 온도 더하기 미리 결정된 값인, 단계; 및
상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 상기 미리 결정된 온도 조건보다 더 높을 때 상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 2에 있어서,
상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 상기 제 2 임계 비율보다 더 낮을 때 상기 고체-상태 드라이브의 상기 동작 온도를 검출하고, 상기 동작 온도를 상기 미리 결정된 온도로서 취하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 1에 있어서,
상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하는 단계는,
상기 성능 최적화 펌웨어에 의해, 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최대 주파수에 도달하였을 때 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하는 단계; 및
상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최대 주파수보다 더 낮을 때 미리 결정된 상승 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 상승시키는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 1에 있어서,
상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 감소가능한지 여부를 결정하는 단계는,
상기 성능 최적화 펌웨어에 의해, 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최소 주파수에 도달하였을 때 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하는 단계; 및
상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최소 주파수보다 더 높을 때 미리 결정된 감소 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 감소시키는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 1에 있어서,
상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키는 단계는, 상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브의 메모리의 메모리 주파수를 상승시키는 단계를 더 포함하며, 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키는 단계는, 상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브의 상기 메모리의 상기 메모리 주파수를 감소시키는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 1에 있어서,
상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
상기 성능 최적화 펌웨어에 의해, 사용자 인터페이스를 디스플레이하고, 외부 제어 명령어를 수신하는 단계로서, 상기 사용자 인터페이스는 자동 성능 최적화 옵션을 포함하는, 단계; 및
상기 외부 제어 명령어가 상기 자동 성능 최적화 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 상기 큐 깊이를 검출하는 단계를 실행하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 7에 있어서,
상기 사용자 인터페이스는 수동 세팅 옵션을 포함하며, 상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
상기 외부 제어 명령어가 상기 수동 세팅 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어에 의해, 상기 외부 제어 명령어에 따라 상기 고체-상태 드라이브의 상기 액세스 속도의 상승 세팅 또는 감소 세팅을 맞춤화하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 청구항 8에 있어서,
상기 상승 세팅은 상기 제 1 임계 비율 및 미리 결정된 상승 비율을 포함하며, 상기 감소 세팅은 상기 제 2 임계 비율 및 미리 결정된 감소 비율을 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
- 고체-상태 드라이브로서,
고체-상태 드라이브 제어기; 및
상기 고체-상태 드라이브에 결합되며, 큐 깊이의 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 상기 큐 깊이를 검출하도록 구성되는 성능 최적화 펌웨어를 포함하고,
상기 큐 깊이의 상기 사용 비율이 제 1 임계 비율보다 더 높을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하며,
상기 큐 깊이의 상기 사용 비율이 제 2 임계 비율보다 더 낮을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 감소가능한지 여부를 결정하고,
상기 고체-상태 드라이브의 상기 큐 깊이를 검출하기 이전에, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 내에서 액세스되는 데이터의 타입에 따라 상기 고체-상태 드라이브의 상기 액세스 속도를 결정하며,
상기 성능 최적화 펌웨어는 상기 데이터의 타입이 큰 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 상승시킬 것을 결정하고,
상기 성능 최적화 펌웨어는 상기 데이터의 타입이 작은 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 감소시킬 것을 결정하는, 고체-상태 드라이브.
- 청구항 10에 있어서,
상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 동작 온도를 검출하고,
상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 미리 결정된 온도 조건보다 더 낮거나 또는 동일할 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 상기 액세스 속도를 유지하며, 상기 미리 결정된 온도 조건은 미리 결정된 온도 더하기 미리 결정된 값이고,
상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 상기 미리 결정된 온도 조건보다 더 높을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하는, 고체-상태 드라이브.
- 청구항 11에 있어서,
상기 큐 깊이의 상기 사용 비율이 상기 제 2 임계 비율보다 더 낮을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 상기 동작 온도를 검출하고, 상기 동작 온도를 상기 미리 결정된 온도로서 취하는, 고체-상태 드라이브.
- 청구항 10에 있어서,
상기 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최대 주파수에 도달하였을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하며,
상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최대 주파수보다 더 낮을 때, 상기 성능 최적화 펌웨어는 미리 결정된 상승 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 상승시키는, 고체-상태 드라이브.
- 청구항 10에 있어서,
상기 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최소 주파수에 도달하였을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하며,
상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최소 주파수보다 더 높을 때, 상기 성능 최적화 펌웨어는 미리 결정된 감소 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 감소시키는, 고체-상태 드라이브.
- 청구항 10에 있어서,
상기 고체-상태 드라이브는 메모리를 더 포함하며, 상기 성능 최적화 펌웨어가 상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키는 동작은 상기 메모리의 메모리 주파수를 상승시키는 것을 더 포함하고, 상기 성능 최적화 펌웨어가 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키는 동작은 상기 메모리의 상기 메모리 주파수를 감소시키는 것을 더 포함하는, 고체-상태 드라이브.
- 청구항 10에 있어서,
상기 성능 최적화 펌웨어는 사용자 인터페이스를 더 포함하며, 상기 사용자 인터페이스는 자동 성능 최적화 옵션을 포함하고, 상기 성능 최적화 펌웨어는 외부 제어 명령어를 수신하며,
상기 외부 제어 명령어가 상기 자동 성능 최적화 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어는 상기 큐 깊이의 상기 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 상기 큐 깊이를 검출하는 동작을 실행하는, 고체-상태 드라이브.
- 청구항 16에 있어서,
상기 사용자 인터페이스는 수동 세팅 옵션을 포함하며, 상기 외부 제어 명령어가 수동 세팅 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어는 상기 외부 제어 명령어에 따라 상기 고체-상태 드라이브의 상기 액세스 속도의 상승 세팅 또는 감소 세팅을 맞춤화하는, 고체-상태 드라이브.
- 청구항 17에 있어서,
상기 상승 세팅은 상기 제 1 임계 비율 및 미리 결정된 상승 비율을 포함하며, 상기 감소 세팅은 상기 제 2 임계 비율 및 미리 결정된 감소 비율을 포함하는, 고체-상태 드라이브. - 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108116125 | 2019-05-10 | ||
TW108116125A TWI718532B (zh) | 2019-05-10 | 2019-05-10 | 固態硬碟以及固態硬碟的效能優化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200130656A KR20200130656A (ko) | 2020-11-19 |
KR102314741B1 true KR102314741B1 (ko) | 2021-10-20 |
Family
ID=70390968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200054340A KR102314741B1 (ko) | 2019-05-10 | 2020-05-07 | 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11262914B2 (ko) |
EP (1) | EP3736683B1 (ko) |
JP (1) | JP6994535B2 (ko) |
KR (1) | KR102314741B1 (ko) |
ES (1) | ES2927387T3 (ko) |
TW (1) | TWI718532B (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842061B2 (en) * | 2020-08-19 | 2023-12-12 | Micron Technology, Inc. | Open block family duration limited by temperature variation |
CN113628675B (zh) * | 2021-07-22 | 2023-07-04 | 成都思科瑞微电子股份有限公司 | 一种ssd固态硬盘测试方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160062421A1 (en) * | 2014-09-03 | 2016-03-03 | Lenovo (Singapore) Pte. Ltd. | Device side initiated thermal throttling |
US20180260152A1 (en) * | 2017-03-13 | 2018-09-13 | Western Digital Technologies Inc. | Storage system and method for thermal throttling via command arbitration |
US20190094938A1 (en) * | 2017-09-27 | 2019-03-28 | Western Digital Technologies, Inc. | Reactive power management for non-volatile memory controllers |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6614756B1 (en) * | 1999-08-20 | 2003-09-02 | 3Com Corporation | Method of detecting and recovering from signaling congestion in an asynchronous transfer mode network |
EP1782175B1 (en) * | 2004-07-20 | 2011-03-23 | Koninklijke Philips Electronics N.V. | Time budgeting for non-data transfer operations in drive units |
US20100274933A1 (en) * | 2009-04-24 | 2010-10-28 | Mediatek Inc. | Method and apparatus for reducing memory size and bandwidth |
US8943507B2 (en) * | 2009-04-27 | 2015-01-27 | Deepak Mital | Packet assembly module for multi-core, multi-thread network processors |
US9959209B1 (en) * | 2010-03-23 | 2018-05-01 | Western Digital Technologies, Inc. | Data storage device adjusting command rate profile based on operating mode |
US8595597B2 (en) * | 2011-03-03 | 2013-11-26 | Intel Corporation | Adjustable programming speed for NAND memory devices |
US9772958B2 (en) * | 2011-10-31 | 2017-09-26 | Hewlett Packard Enterprise Development Lp | Methods and apparatus to control generation of memory access requests |
US8996450B1 (en) * | 2011-12-31 | 2015-03-31 | Teradata Us, Inc. | System and method for allocating resources in a mixed SSD and HDD storage environment |
TWI597606B (zh) * | 2012-08-14 | 2017-09-01 | 緯創資通股份有限公司 | 電腦系統與其儲存裝置管理方法 |
TWI539368B (zh) * | 2012-12-11 | 2016-06-21 | 宏碁股份有限公司 | 資料寫入方法與系統 |
US10037167B2 (en) * | 2015-09-11 | 2018-07-31 | Sandisk Technologies Llc | Multiple scheduling schemes for handling read requests |
TWM528451U (zh) | 2016-03-14 | 2016-09-11 | Evga Corp | 電腦效能控制裝置 |
US10175905B2 (en) | 2016-09-13 | 2019-01-08 | Apple Inc. | Systems and methods for dynamically switching memory performance states |
US11054884B2 (en) * | 2016-12-12 | 2021-07-06 | Intel Corporation | Using network interface controller (NIC) queue depth for power state management |
US10140027B1 (en) * | 2017-05-26 | 2018-11-27 | Seagate Technology Llc | Data transfers with adaptively adjusted polling times |
US10534546B2 (en) | 2017-06-13 | 2020-01-14 | Western Digital Technologies, Inc. | Storage system having an adaptive workload-based command processing clock |
US9992659B1 (en) * | 2017-07-29 | 2018-06-05 | Sprint Communications Company L.P. | Stream-processing of telecommunication event records |
KR102532206B1 (ko) | 2017-11-09 | 2023-05-12 | 삼성전자 주식회사 | 메모리 컨트롤러 및 그것을 포함하는 스토리지 장치 |
CN108710475B (zh) * | 2018-06-01 | 2021-09-14 | 深圳忆联信息系统有限公司 | 增强固态硬盘低温鲁棒性的方法、装置及计算机设备 |
-
2019
- 2019-05-10 TW TW108116125A patent/TWI718532B/zh active
-
2020
- 2020-04-22 EP EP20170785.8A patent/EP3736683B1/en active Active
- 2020-04-22 ES ES20170785T patent/ES2927387T3/es active Active
- 2020-04-24 JP JP2020077129A patent/JP6994535B2/ja active Active
- 2020-04-29 US US16/861,241 patent/US11262914B2/en active Active
- 2020-05-07 KR KR1020200054340A patent/KR102314741B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160062421A1 (en) * | 2014-09-03 | 2016-03-03 | Lenovo (Singapore) Pte. Ltd. | Device side initiated thermal throttling |
US20180260152A1 (en) * | 2017-03-13 | 2018-09-13 | Western Digital Technologies Inc. | Storage system and method for thermal throttling via command arbitration |
US20190094938A1 (en) * | 2017-09-27 | 2019-03-28 | Western Digital Technologies, Inc. | Reactive power management for non-volatile memory controllers |
Also Published As
Publication number | Publication date |
---|---|
EP3736683A1 (en) | 2020-11-11 |
ES2927387T3 (es) | 2022-11-04 |
US11262914B2 (en) | 2022-03-01 |
EP3736683B1 (en) | 2022-08-31 |
KR20200130656A (ko) | 2020-11-19 |
JP6994535B2 (ja) | 2022-01-14 |
TWI718532B (zh) | 2021-02-11 |
TW202042073A (zh) | 2020-11-16 |
US20200356279A1 (en) | 2020-11-12 |
JP2020187740A (ja) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102314741B1 (ko) | 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 | |
US20060288243A1 (en) | Automatically controlling processor mode of multi-core processor | |
US9424177B2 (en) | Clock switching method, memory controller and memory storage apparatus | |
CN101872288A (zh) | 固态硬盘驱动器以及操作频率控制方法 | |
US11461179B2 (en) | System recovery method and apparatus | |
US20160124752A1 (en) | Electronic apparatus and temperature control method thereof | |
KR20150009295A (ko) | 불휘발성 메모리 장치 및 그것의 슬리프 상태 제어 방법 | |
US11960738B2 (en) | Volatile memory to non-volatile memory interface for power management | |
CN113220108A (zh) | 计算机可读取存储介质、操作频率调整方法及装置 | |
CN116524968A (zh) | 存储器存取速度调整方法、控制装置以及存储器模块 | |
CN111913651B (zh) | 固态硬盘以及固态硬盘的效能优化方法 | |
KR102091409B1 (ko) | 전자장치 및 그 제어방법 | |
JP2009500771A (ja) | 記録媒体動作時のパワーマネジメント | |
US11894097B2 (en) | Configuring a host interface of a memory device based on mode of operation | |
EP2653965A2 (en) | Electronic apparatus, method of controlling the same, and computer-readable recording medium | |
JP4910391B2 (ja) | 情報処理装置 | |
US7865709B2 (en) | Computer motherboard | |
TWI616888B (zh) | 電子裝置及其電源管理方法 | |
US20020067368A1 (en) | System and method for providing acoustic management in a computer | |
US20170003904A1 (en) | Electronic apparatus and power management method for solid state disk thereof | |
US8078783B2 (en) | Information processing apparatus, method for controlling the same, and recording medium including program | |
JP2007183879A (ja) | 情報処理装置 | |
TW201638765A (zh) | 儲存裝置和功率狀態切換方法 | |
JP2007172047A (ja) | 情報処理装置及びカード電源ディスチャージ回路 | |
CN113535616A (zh) | 计算机可读取存储介质、控制闪存装置存取的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |