KR102314741B1 - 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 - Google Patents

고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 Download PDF

Info

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
Application number
KR1020200054340A
Other languages
English (en)
Other versions
KR20200130656A (ko
Inventor
첸 헝-쳉
랴오 체-시엔
Original Assignee
기가 바이트 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 기가 바이트 테크놀러지 컴퍼니 리미티드 filed Critical 기가 바이트 테크놀러지 컴퍼니 리미티드
Publication of KR20200130656A publication Critical patent/KR20200130656A/ko
Application granted granted Critical
Publication of KR102314741B1 publication Critical patent/KR102314741B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance 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

고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법{SOLID-STATE DRIVE AND PERFORMANCE OPTIMIZATION METHOD FOR SOLID-STATE DRIVE}
관련 출원에 대한 상호 참조
본 출원은 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 디바이스에 결합되는 것으로 설명되는 경우, 이는, 제 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)

  1. 고체-상태 드라이브에 대한 성능 최적화 방법으로서, 상기 고체-상태 드라이브는 성능 최적화 펌웨어를 포함하고, 상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
    상기 성능 최적화 펌웨어에 의해, 큐 깊이(queue depth)의 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 큐 깊이를 검출하는 단계;
    상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 제 1 임계 비율보다 더 높을 때 상기 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능(raisable)한지 여부를 결정하는 단계; 및
    상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 제 2 임계 비율보다 더 낮을 때 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 감소가능(reduceable)한지 여부를 결정하는 단계를 포함하며,
    상기 고체-상태 드라이브의 상기 큐 깊이를 검출하는 단계 이전에, 상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
    상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브 내에서 액세스되는 데이터의 타입에 따라 상기 고체-상태 드라이브의 상기 액세스 속도를 결정하는 단계;
    상기 데이터의 타입이 큰 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 상승시킬 것을 결정하는 단계; 및
    상기 데이터의 타입이 작은 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 감소시킬 것을 결정하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  2. 청구항 1에 있어서,
    상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
    상기 성능 최적화 펌웨어에 의해, 고체-상태 드라이브 제어기의 동작 온도를 검출하는 단계;
    상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 미리 결정된 온도 조건보다 더 낮거나 또는 동일할 때 상기 고체-상태 드라이브의 상기 액세스 속도를 유지하는 단계로서, 상기 미리 결정된 온도 조건은 미리 결정된 온도 더하기 미리 결정된 값인, 단계; 및
    상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 상기 미리 결정된 온도 조건보다 더 높을 때 상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  3. 청구항 2에 있어서,
    상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
    상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율이 상기 제 2 임계 비율보다 더 낮을 때 상기 고체-상태 드라이브의 상기 동작 온도를 검출하고, 상기 동작 온도를 상기 미리 결정된 온도로서 취하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  4. 청구항 1에 있어서,
    상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하는 단계는,
    상기 성능 최적화 펌웨어에 의해, 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최대 주파수에 도달하였을 때 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하는 단계; 및
    상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최대 주파수보다 더 낮을 때 미리 결정된 상승 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 상승시키는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  5. 청구항 1에 있어서,
    상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 감소가능한지 여부를 결정하는 단계는,
    상기 성능 최적화 펌웨어에 의해, 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최소 주파수에 도달하였을 때 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하는 단계; 및
    상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최소 주파수보다 더 높을 때 미리 결정된 감소 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 감소시키는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  6. 청구항 1에 있어서,
    상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키는 단계는, 상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브의 메모리의 메모리 주파수를 상승시키는 단계를 더 포함하며, 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키는 단계는, 상기 성능 최적화 펌웨어에 의해, 상기 고체-상태 드라이브의 상기 메모리의 상기 메모리 주파수를 감소시키는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  7. 청구항 1에 있어서,
    상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
    상기 성능 최적화 펌웨어에 의해, 사용자 인터페이스를 디스플레이하고, 외부 제어 명령어를 수신하는 단계로서, 상기 사용자 인터페이스는 자동 성능 최적화 옵션을 포함하는, 단계; 및
    상기 외부 제어 명령어가 상기 자동 성능 최적화 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어에 의해, 상기 큐 깊이의 상기 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 상기 큐 깊이를 검출하는 단계를 실행하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  8. 청구항 7에 있어서,
    상기 사용자 인터페이스는 수동 세팅 옵션을 포함하며, 상기 고체-상태 드라이브에 대한 성능 최적화 방법은,
    상기 외부 제어 명령어가 상기 수동 세팅 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어에 의해, 상기 외부 제어 명령어에 따라 상기 고체-상태 드라이브의 상기 액세스 속도의 상승 세팅 또는 감소 세팅을 맞춤화하는 단계를 더 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  9. 청구항 8에 있어서,
    상기 상승 세팅은 상기 제 1 임계 비율 및 미리 결정된 상승 비율을 포함하며, 상기 감소 세팅은 상기 제 2 임계 비율 및 미리 결정된 감소 비율을 포함하는, 고체-상태 드라이브에 대한 성능 최적화 방법.
  10. 고체-상태 드라이브로서,
    고체-상태 드라이브 제어기; 및
    상기 고체-상태 드라이브에 결합되며, 큐 깊이의 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 상기 큐 깊이를 검출하도록 구성되는 성능 최적화 펌웨어를 포함하고,
    상기 큐 깊이의 상기 사용 비율이 제 1 임계 비율보다 더 높을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하며,
    상기 큐 깊이의 상기 사용 비율이 제 2 임계 비율보다 더 낮을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 감소가능한지 여부를 결정하고,
    상기 고체-상태 드라이브의 상기 큐 깊이를 검출하기 이전에, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 내에서 액세스되는 데이터의 타입에 따라 상기 고체-상태 드라이브의 상기 액세스 속도를 결정하며,
    상기 성능 최적화 펌웨어는 상기 데이터의 타입이 큰 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 상승시킬 것을 결정하고,
    상기 성능 최적화 펌웨어는 상기 데이터의 타입이 작은 데이터 양을 갖는 데이터일 때 상기 액세스 속도를 감소시킬 것을 결정하는, 고체-상태 드라이브.
  11. 청구항 10에 있어서,
    상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 동작 온도를 검출하고,
    상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 미리 결정된 온도 조건보다 더 낮거나 또는 동일할 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 상기 액세스 속도를 유지하며, 상기 미리 결정된 온도 조건은 미리 결정된 온도 더하기 미리 결정된 값이고,
    상기 큐 깊이의 상기 사용 비율이 상기 제 1 임계 비율과 상기 제 2 임계 비율 사이이며 상기 동작 온도가 상기 미리 결정된 온도 조건보다 더 높을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키기 위하여 상기 고체-상태 드라이브의 상기 액세스 속도가 상승가능한지 여부를 결정하는, 고체-상태 드라이브.
  12. 청구항 11에 있어서,
    상기 큐 깊이의 상기 사용 비율이 상기 제 2 임계 비율보다 더 낮을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 상기 동작 온도를 검출하고, 상기 동작 온도를 상기 미리 결정된 온도로서 취하는, 고체-상태 드라이브.
  13. 청구항 10에 있어서,
    상기 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최대 주파수에 도달하였을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하며,
    상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최대 주파수보다 더 낮을 때, 상기 성능 최적화 펌웨어는 미리 결정된 상승 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 상승시키는, 고체-상태 드라이브.
  14. 청구항 10에 있어서,
    상기 고체-상태 드라이브 제어기의 동작 주파수가 미리 결정된 최소 주파수에 도달하였을 때, 상기 성능 최적화 펌웨어는 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 유지하며,
    상기 고체-상태 드라이브 제어기의 상기 동작 주파수가 상기 미리 결정된 최소 주파수보다 더 높을 때, 상기 성능 최적화 펌웨어는 미리 결정된 감소 비율에 따라 상기 고체-상태 드라이브 제어기의 상기 동작 주파수를 감소시키는, 고체-상태 드라이브.
  15. 청구항 10에 있어서,
    상기 고체-상태 드라이브는 메모리를 더 포함하며, 상기 성능 최적화 펌웨어가 상기 고체-상태 드라이브의 상기 액세스 속도를 상승시키는 동작은 상기 메모리의 메모리 주파수를 상승시키는 것을 더 포함하고, 상기 성능 최적화 펌웨어가 상기 고체-상태 드라이브의 상기 액세스 속도를 감소시키는 동작은 상기 메모리의 상기 메모리 주파수를 감소시키는 것을 더 포함하는, 고체-상태 드라이브.
  16. 청구항 10에 있어서,
    상기 성능 최적화 펌웨어는 사용자 인터페이스를 더 포함하며, 상기 사용자 인터페이스는 자동 성능 최적화 옵션을 포함하고, 상기 성능 최적화 펌웨어는 외부 제어 명령어를 수신하며,
    상기 외부 제어 명령어가 상기 자동 성능 최적화 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어는 상기 큐 깊이의 상기 사용 비율을 결정하기 위하여 상기 고체-상태 드라이브의 상기 큐 깊이를 검출하는 동작을 실행하는, 고체-상태 드라이브.
  17. 청구항 16에 있어서,
    상기 사용자 인터페이스는 수동 세팅 옵션을 포함하며, 상기 외부 제어 명령어가 수동 세팅 옵션을 선택하기 위한 것일 때, 상기 성능 최적화 펌웨어는 상기 외부 제어 명령어에 따라 상기 고체-상태 드라이브의 상기 액세스 속도의 상승 세팅 또는 감소 세팅을 맞춤화하는, 고체-상태 드라이브.
  18. 청구항 17에 있어서,
    상기 상승 세팅은 상기 제 1 임계 비율 및 미리 결정된 상승 비율을 포함하며, 상기 감소 세팅은 상기 제 2 임계 비율 및 미리 결정된 감소 비율을 포함하는, 고체-상태 드라이브.
  19. 삭제
  20. 삭제
KR1020200054340A 2019-05-10 2020-05-07 고체-상태 드라이브 및 고체-상태 드라이브에 대한 성능 최적화 방법 KR102314741B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 深圳忆联信息系统有限公司 增强固态硬盘低温鲁棒性的方法、装置及计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
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