EP3736683A1 - Solid-state drive and performance optimization method for solid-state drive - Google Patents

Solid-state drive and performance optimization method for solid-state drive Download PDF

Info

Publication number
EP3736683A1
EP3736683A1 EP20170785.8A EP20170785A EP3736683A1 EP 3736683 A1 EP3736683 A1 EP 3736683A1 EP 20170785 A EP20170785 A EP 20170785A EP 3736683 A1 EP3736683 A1 EP 3736683A1
Authority
EP
European Patent Office
Prior art keywords
solid
state drive
performance optimization
proportion
access speed
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.)
Granted
Application number
EP20170785.8A
Other languages
German (de)
French (fr)
Other versions
EP3736683B1 (en
Inventor
Hung-Cheng Chen
Tse-Hsien Liao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giga Byte Technology Co Ltd
Original Assignee
Giga Byte Technology Co Ltd
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 Giga Byte Technology Co Ltd filed Critical Giga Byte Technology Co Ltd
Publication of EP3736683A1 publication Critical patent/EP3736683A1/en
Application granted granted Critical
Publication of EP3736683B1 publication Critical patent/EP3736683B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/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
    • 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

Definitions

  • the disclosure relates to a hard drive and a hard drive optimization method, and particularly relates to a solid-state drive and a performance optimization method for the solid-state drive.
  • SSDs solid-state drives
  • the conventional SSD may only be operated at a fixed access speed which is preset by a manufacturer at the time of manufacture. Namely, when a user purchases an SSD and uses the SSD, the user may only operate the SSD at a fixed access speed. In other words, regardless of a current use state of the SSD, since the access speed and power consumption of the SSD are not changed, the conventional SSD cannot effectively maintain good operating performance under certain specific access situations. Therefore, solutions of a plurality of exemplary embodiments are provided below.
  • the invention is directed to a solid-state drive and a performance optimization method for the solid-state drive, which are adapted to correspondingly adjust an access speed of the solid-state drive according to a current use state of the solid-state drive, so as to automatically optimize an operating performance of the solid-state drive.
  • the invention provides a performance optimization method for a solid-state drive, which includes the following steps.
  • a queue depth of the solid-state drive is detected to determine a use proportion of the queue depth. It is determined whether an access speed of the solid-state drive is raisable when the use proportion of the queue depth is higher than a first threshold proportion, so as to raise the access speed of the solid-state drive. It is determined whether the access speed of the solid-state drive is reduceable when the use proportion of the queue depth is lower than a second threshold proportion, so as to reduce the access speed of the solid-state drive.
  • the invention provides a solid-state drive including a solid-state drive controller and a performance optimization firmware.
  • the performance optimization firmware is coupled to the solid-state drive controller.
  • the performance optimization firmware is configured to detect a queue depth of the solid-state drive to determine a use proportion of the queue depth.
  • the performance optimization firmware determines whether an access speed of the solid-state drive is raisable when the use proportion of the queue depth is higher than a first threshold proportion, so as to raise the access speed of the solid-state drive.
  • the performance optimization firmware determines whether the access speed of the solid-state drive is reduceable when the use proportion of the queue depth is lower than a second threshold proportion, so as to reduce the access speed of the solid-state drive.
  • the solid-state drive and the performance optimization method for the solid-state drive of the invention are adapted to automatically determine a use state of the queue depth of the SSD, so as to correspondingly adjust the access speed of the solid-state drive. Therefore, the solid-state drive and the performance optimization method for the solid-state drive of the invention may effectively optimize the operating performance of the solid-state drive.
  • a term "couple” used in the full text of the disclosure refers to any direct and indirect connections. For example, if a first device is described to be coupled to a second device, it is interpreted as that the first device is directly coupled to the second device, or the first device is indirectly coupled to the second device through other devices or connection means.
  • components/members/steps using the same referential numbers in the drawings and description refer to the same or like parts. Components/members/steps using the same referential numbers or using the same terms in different embodiments may cross-refer related descriptions.
  • FIG. 1 is a functional block diagram of a computer system according to an embodiment of the invention.
  • the computer system 10 includes a solid-state drive (SSD) 100 and a processor 200.
  • the SSD 100 includes an SSD controller 110, a memory 120 and a performance optimization firmware 130.
  • the SSD controller 110 is coupled to the memory 120.
  • the memory 120 may be a flash memory, such as a NAND-type flash memory, but the invention is not limited thereto.
  • the SSD 100 is, for example, installed on a motherboard of a computer, and is coupled to the processor 200. Therefore, when the computer is powered on, the processor 200 may start and access the SSD 100, and the processor 200 may read and execute the performance optimization firmware 130 to automatically optimize an operating performance of the SSD 100.
  • the performance optimization firmware 130 may be, for example, pre-written into the memory 120 of the SSD 100 or pre-stored in other memories of the SSD 100, which is not limited by the invention. Even, in one embodiment, the performance optimization firmware 130 may be an application program (APP), and may be stored in other storage units other than the SSD 100.
  • APP application program
  • FIG. 2 is a flowchart illustrating a performance optimization method for a solid-state drive according to an embodiment of the invention.
  • the performance optimization method of the embodiment is at least adapted to the computer system 10 of the embodiment of FIG. 1 , where the processor 200 reads and executes the performance optimization firmware 130 to optimize the SSD 100.
  • the processor 200 detects a queue depth of the SSD 100, and determines a use proportion of the queue depth.
  • the processor 200 determines whether an access speed of the SSD 100 is raisable, so as to raise the access speed of the SSD 100.
  • processor 200 determines whether the access speed of the SSD 100 is reduceable, so as to reduce the access speed of the SSD 100. Therefore, the computer system 10 of the embodiment may effectively optimize the performance of the SSD 100.
  • the processor 200 of the embodiment may read the SSD controller 110 to obtain a queue depth value, and deduce a current use state of the SSD 100 according to the queue depth value.
  • the queue depth may represent a total number of access operations of the SSD 100 at a current time.
  • the performance optimization method of the embodiment is to dynamically adjust the access speed of the SSD 100 according to a real-time access state of the SSD 100.
  • the use proportion of the queue depth being higher than the first threshold proportion may refer to that a total use number of the queue depth is greater than 50%
  • the use proportion of the queue depth being lower than the second threshold proportion may refer to that the total use number of the queue depth is less than 10%.
  • the processor 200 may automatically raise the access speed of the SSD 100 to accelerate the access speed.
  • the processor 200 may automatically reduce the access speed of the SSD 100 to reduce power consumption.
  • the aforementioned raising or reducing the access speed of the SSD 100 may refer to, for example, raising or reducing an operating frequency of the SSD controller 110 or/and the memory 120 to raise or reduce the access speed of the SSD 100.
  • the processor 200 may determine the access speed of the SSD 100 in advance according to a type of data currently accessed in the SSD 100. For example, when the processor 200 determines that the type of the currently accessed data is file data with a larger data amount, such as an image editing program or a game program, the processor 200 may preset an operating frequency of the SSD 100 to a higher frequency.
  • the processor 200 may preset the operating frequency of the SSD 100 to a lower frequency. Then, the processor 200 detects the queue depth of the SSD 100 to, for example, execute the aforementioned steps S210 to S230.
  • FIG. 3A and FIG. 3B are flowcharts illustrating a performance optimization method for a solid-state drive according to another embodiment of the invention.
  • the performance optimization method of the embodiment is at least adapted to the computer system 10 of the embodiment of FIG. 1 , where the processor 200 reads and executes the performance optimization firmware 130 to optimize the SSD 100.
  • the performance optimization method of the embodiment further adjusts the access speed according to a temperature of the SSD 100.
  • the processor 200 executes automatic performance optimization of the SSD 100.
  • the processor 200 detects a queue depth QE of the SSD 100, and determines a use proportion of the queue depth QE.
  • the processor 200 executes a step S330.
  • the processor 200 detects a current operating temperature T measured by the SSD controller 110, and sets the current operating temperature T as a predetermined temperature T'.
  • the processor 200 determines whether the current access speed of the SSD 100 is reduceable. If not, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 has reached a predetermined minimum frequency.
  • the processor 200 maintains the operating frequency of the SSD controller 110 or/and the memory 120. If yes, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 is higher than the predetermined minimum frequency.
  • the processor 200 reduces the current operating frequency of the SSD controller 110 or/and the memory 120 according to a predetermined reduction proportion (for example, a 10% reduction).
  • a predetermined reduction proportion for example, a 10% reduction.
  • the processor 200 may further reduce the operating frequency of the SSD controller 110 or/and the memory 120 to reduce the access speed of the SSD 100.
  • a purpose of the step S330 is further explained. Since when the SSD 100 is just started, the use proportion of the queue depth QE of the SSD 100 must be low, in the step S330, the processor 200 may pre-record a current operating temperature of the SSD 100 (which may be taken as an initial operating temperature) to serve as a temperature determination reference for subsequent determination.
  • the processor 200 executes a step S350.
  • the processor 200 determines whether the current access speed of the SSD 100 is raisable. If not, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 has reached a predetermined maximum frequency.
  • the processor 200 maintains the operating frequency of the SSD controller 110. If yes, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 is lower than the predetermined maximum frequency.
  • the processor 200 raises the current operating frequency of the SSD controller 110 or/and the memory 120 according to a predetermined raise proportion (for example, a 10% raise). In other words, when the SSD 100 is currently in a high-access state, the processor 200 may further raise the operating frequency of the SSD controller 110 or/and the memory 120 to raise the current access speed of the SSD 100.
  • a predetermined raise proportion for example, a 10% raise
  • the processor 200 determines the current operating temperature T of the SSD 100.
  • the processor 200 executes a step S341.
  • the processor 200 maintains the operating frequency of the SSD controller 110 or/and the memory 120.
  • the processor 200 executes a step S370.
  • the processor 200 determines whether the current access speed of the SSD 100 is raisable.
  • step S371 the processor 200 maintains the operating frequency of the SSD controller 110. If yes, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 is lower than the predetermined maximum frequency.
  • step S372 the processor 200 raises the current operating frequency of the SSD controller 110 or/and the memory 120. In other words, in a normal access state of the SSD 100, if the current operating temperature measured by the SSD controller 110 is lower, the processor 200 maintains the access speed of the SSD 100.
  • the processor 200 may further raise the operating frequency of the SSD controller 110 or/and the memory 120, so as to raise the access speed of the SSD 100.
  • the aforementioned predetermined temperature condition may refer to, for example, a predetermined temperature T' plus a predetermined value t1.
  • the predetermined value t1 may be 20 degrees (°C), but the invention is not limited thereto.
  • the processor 200 may execute the steps S330 and S360 to determine whether to reduce the access speed of the SSD 100.
  • the performance optimization method of the embodiment may dynamically adjust the access speed of the SSD 100 to determine whether to raise the access speed or reduce the power consumption according to the current access condition of the SSD 100.
  • the performance optimization method of the embodiment may further adjust the access speed according to the temperature measured by the SSD controller 110.
  • FIG. 4 illustrates an operation flow of a user interface according to an embodiment of the invention.
  • the operation flow of the user interface of the embodiment is at least adapted to the computer system 10 of the embodiment of FIG. 1 , where when the processor 200 reads and executes the performance optimization firmware 130, the computer system 10 may execute the operation flow of the embodiment.
  • the processor 200 executes the performance optimization firmware 130 to display a user interface through a display.
  • the user interface may display two options, and the two options may be a manual setting option and an automatic performance optimization option.
  • the computer system 10 may receive an external control instruction through an input device, such as a mouse or a keyboard.
  • the processor 200 may determine whether the external control instruction is to select the automatic performance optimization option or the manual setting option.
  • the processor 200 executes a step S440.
  • the processor 200 executes the automatic performance optimization option to perform the performance optimization method as shown in the embodiment of FIG. 2 or FIG. 3A and FIG. 3B .
  • the processor 200 sets a raise setting or a reduction setting of the access speed of the SSD 100 according to the external control instruction (further setting of the user).
  • the raise setting may include the first threshold proportion and the predetermined raise proportion in the aforementioned embodiment
  • the reduction setting may include the second threshold proportion and the predetermined reduction proportion in the aforementioned embodiment. Therefore, the operation flow of the user interface of the embodiment may provide the user with the function of flexibly adjusting the access speed of the SSD 100.
  • the solid-state drive and the performance optimization method for the solid-state drive of the invention are adapted to automatically determine a use state of the queue depth of the SSD and detect an operating temperature of the SSD, so as to correspondingly adjust the access speed of the SSD according to the use state and the operating temperature of the SSD. Therefore, the SSD and the performance optimization method for the SSD of the invention may optimize the operating performance of the SSD to effectively achieve raise the access speed or reduce the power consumption.

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

A solid-state drive and a performance optimization method for the solid-state drive are provided. The performance optimization method for the solid-state drive includes the following steps: detecting a queue depth of the solid-state drive to determine a use proportion of the queue depth (S210); determining whether an access speed of the solid-state drive is raisable when the use proportion of the queue depth is higher than a first threshold proportion, so as to raise the access speed of the solid-state drive (S220); and determining whether the access speed of the solid-state drive is reduceable when the use proportion of the queue depth is lower than a second threshold proportion, so as to reduce the access speed of the solid-state drive (S230).

Description

    BACKGROUND Technical Field
  • The disclosure relates to a hard drive and a hard drive optimization method, and particularly relates to a solid-state drive and a performance optimization method for the solid-state drive.
  • Description of Related Art
  • With the evolution of data storage devices, solid-state drives (SSDs) have currently become the mainstream storage devices, for the reason that the SSDs may provide high data access speeds. However, the conventional SSD may only be operated at a fixed access speed which is preset by a manufacturer at the time of manufacture. Namely, when a user purchases an SSD and uses the SSD, the user may only operate the SSD at a fixed access speed. In other words, regardless of a current use state of the SSD, since the access speed and power consumption of the SSD are not changed, the conventional SSD cannot effectively maintain good operating performance under certain specific access situations. Therefore, solutions of a plurality of exemplary embodiments are provided below.
  • SUMMARY
  • The invention is directed to a solid-state drive and a performance optimization method for the solid-state drive, which are adapted to correspondingly adjust an access speed of the solid-state drive according to a current use state of the solid-state drive, so as to automatically optimize an operating performance of the solid-state drive.
  • The invention provides a performance optimization method for a solid-state drive, which includes the following steps. A queue depth of the solid-state drive is detected to determine a use proportion of the queue depth. It is determined whether an access speed of the solid-state drive is raisable when the use proportion of the queue depth is higher than a first threshold proportion, so as to raise the access speed of the solid-state drive. It is determined whether the access speed of the solid-state drive is reduceable when the use proportion of the queue depth is lower than a second threshold proportion, so as to reduce the access speed of the solid-state drive.
  • The invention provides a solid-state drive including a solid-state drive controller and a performance optimization firmware. The performance optimization firmware is coupled to the solid-state drive controller. The performance optimization firmware is configured to detect a queue depth of the solid-state drive to determine a use proportion of the queue depth. The performance optimization firmware determines whether an access speed of the solid-state drive is raisable when the use proportion of the queue depth is higher than a first threshold proportion, so as to raise the access speed of the solid-state drive. The performance optimization firmware determines whether the access speed of the solid-state drive is reduceable when the use proportion of the queue depth is lower than a second threshold proportion, so as to reduce the access speed of the solid-state drive.
  • Based on the above description, the solid-state drive and the performance optimization method for the solid-state drive of the invention are adapted to automatically determine a use state of the queue depth of the SSD, so as to correspondingly adjust the access speed of the solid-state drive. Therefore, the solid-state drive and the performance optimization method for the solid-state drive of the invention may effectively optimize the operating performance of the solid-state drive.
  • To make the aforementioned more comprehensible, several embodiments accompanied with drawings are described in detail as follows.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
    • FIG. 1 is a functional block diagram of a computer system according to an embodiment of the invention.
    • FIG. 2 is a flowchart illustrating a performance optimization method for a solid-state drive according to an embodiment of the invention.
    • FIG. 3A and FIG. 3B are flowcharts illustrating a performance optimization method for a solid-state drive according to another embodiment of the invention.
    • FIG. 4 illustrates an operation flow of a user interface according to an embodiment of the invention.
    DESCRIPTION OF THE EMBODIMENTS
  • A term "couple" used in the full text of the disclosure (including the claims) refers to any direct and indirect connections. For example, if a first device is described to be coupled to a second device, it is interpreted as that the first device is directly coupled to the second device, or the first device is indirectly coupled to the second device through other devices or connection means. Moreover, wherever possible, components/members/steps using the same referential numbers in the drawings and description refer to the same or like parts. Components/members/steps using the same referential numbers or using the same terms in different embodiments may cross-refer related descriptions.
  • FIG. 1 is a functional block diagram of a computer system according to an embodiment of the invention. Referring to FIG. 1, the computer system 10 includes a solid-state drive (SSD) 100 and a processor 200. The SSD 100 includes an SSD controller 110, a memory 120 and a performance optimization firmware 130. The SSD controller 110 is coupled to the memory 120. The memory 120 may be a flash memory, such as a NAND-type flash memory, but the invention is not limited thereto. In the embodiment, the SSD 100 is, for example, installed on a motherboard of a computer, and is coupled to the processor 200. Therefore, when the computer is powered on, the processor 200 may start and access the SSD 100, and the processor 200 may read and execute the performance optimization firmware 130 to automatically optimize an operating performance of the SSD 100. In the embodiment, the performance optimization firmware 130 may be, for example, pre-written into the memory 120 of the SSD 100 or pre-stored in other memories of the SSD 100, which is not limited by the invention. Even, in one embodiment, the performance optimization firmware 130 may be an application program (APP), and may be stored in other storage units other than the SSD 100.
  • FIG. 2 is a flowchart illustrating a performance optimization method for a solid-state drive according to an embodiment of the invention. Referring to FIG. 1 and FIG. 2, the performance optimization method of the embodiment is at least adapted to the computer system 10 of the embodiment of FIG. 1, where the processor 200 reads and executes the performance optimization firmware 130 to optimize the SSD 100. In a step S210, the processor 200 detects a queue depth of the SSD 100, and determines a use proportion of the queue depth. In a step S220, when the use proportion of the queue depth is higher than a first threshold proportion, the processor 200 determines whether an access speed of the SSD 100 is raisable, so as to raise the access speed of the SSD 100. In a step S230, when the use proportion of the queue depth is lower than a second threshold proportion, processor 200 determines whether the access speed of the SSD 100 is reduceable, so as to reduce the access speed of the SSD 100. Therefore, the computer system 10 of the embodiment may effectively optimize the performance of the SSD 100.
  • To be specific, the processor 200 of the embodiment may read the SSD controller 110 to obtain a queue depth value, and deduce a current use state of the SSD 100 according to the queue depth value. In addition, the queue depth may represent a total number of access operations of the SSD 100 at a current time. In other words, the performance optimization method of the embodiment is to dynamically adjust the access speed of the SSD 100 according to a real-time access state of the SSD 100. In an embodiment, the use proportion of the queue depth being higher than the first threshold proportion may refer to that a total use number of the queue depth is greater than 50%, and the use proportion of the queue depth being lower than the second threshold proportion may refer to that the total use number of the queue depth is less than 10%. Namely, when the processor 200 determines that the SSD 100 is currently operated in a high-access state, the processor 200 may automatically raise the access speed of the SSD 100 to accelerate the access speed. When the processor 200 determines that the SSD 100 is currently operated in a low-access state, the processor 200 may automatically reduce the access speed of the SSD 100 to reduce power consumption.
  • It should be noted that the aforementioned raising or reducing the access speed of the SSD 100 may refer to, for example, raising or reducing an operating frequency of the SSD controller 110 or/and the memory 120 to raise or reduce the access speed of the SSD 100. Moreover, in an embodiment, before the processor 200 determines the access state of the SSD 100, the processor 200 may determine the access speed of the SSD 100 in advance according to a type of data currently accessed in the SSD 100. For example, when the processor 200 determines that the type of the currently accessed data is file data with a larger data amount, such as an image editing program or a game program, the processor 200 may preset an operating frequency of the SSD 100 to a higher frequency. Alternatively, when the processor 200 determines that the type of the currently accessed data is file data with a smaller data amount, such as an image file or a music file, the processor 200 may preset the operating frequency of the SSD 100 to a lower frequency. Then, the processor 200 detects the queue depth of the SSD 100 to, for example, execute the aforementioned steps S210 to S230.
  • FIG. 3A and FIG. 3B are flowcharts illustrating a performance optimization method for a solid-state drive according to another embodiment of the invention. Referring to FIG. 1, FIG. 3A and FIG. 3B, the performance optimization method of the embodiment is at least adapted to the computer system 10 of the embodiment of FIG. 1, where the processor 200 reads and executes the performance optimization firmware 130 to optimize the SSD 100. Moreover, compared to the embodiment of FIG. 2, the performance optimization method of the embodiment further adjusts the access speed according to a temperature of the SSD 100. In a step S310, the processor 200 executes automatic performance optimization of the SSD 100. In a step S320, the processor 200 detects a queue depth QE of the SSD 100, and determines a use proportion of the queue depth QE.
  • When the queue depth QE is lower than a second threshold proportion TR2 (QE<TR2), the processor 200 executes a step S330. In the step S330, the processor 200 detects a current operating temperature T measured by the SSD controller 110, and sets the current operating temperature T as a predetermined temperature T'. Then, in a step S360, the processor 200 determines whether the current access speed of the SSD 100 is reduceable. If not, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 has reached a predetermined minimum frequency. In a step S361, the processor 200 maintains the operating frequency of the SSD controller 110 or/and the memory 120. If yes, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 is higher than the predetermined minimum frequency. In a step S362, the processor 200 reduces the current operating frequency of the SSD controller 110 or/and the memory 120 according to a predetermined reduction proportion (for example, a 10% reduction). In other words, when the SSD 100 is currently in a low-access state, the processor 200 may further reduce the operating frequency of the SSD controller 110 or/and the memory 120 to reduce the access speed of the SSD 100. In addition, a purpose of the step S330 is further explained. Since when the SSD 100 is just started, the use proportion of the queue depth QE of the SSD 100 must be low, in the step S330, the processor 200 may pre-record a current operating temperature of the SSD 100 (which may be taken as an initial operating temperature) to serve as a temperature determination reference for subsequent determination.
  • When the queue depth QE is greater than the first threshold proportion TR1 (QE>TR1), the processor 200 executes a step S350. In the step S350, the processor 200 determines whether the current access speed of the SSD 100 is raisable. If not, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 has reached a predetermined maximum frequency. In a step S351, the processor 200 maintains the operating frequency of the SSD controller 110. If yes, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 is lower than the predetermined maximum frequency. In a step S352, the processor 200 raises the current operating frequency of the SSD controller 110 or/and the memory 120 according to a predetermined raise proportion (for example, a 10% raise). In other words, when the SSD 100 is currently in a high-access state, the processor 200 may further raise the operating frequency of the SSD controller 110 or/and the memory 120 to raise the current access speed of the SSD 100.
  • When the queue depth QE is between the first threshold proportion TR1 and the second threshold proportion TR2 (TR1 ≧ QE ≧ TR2), the processor 200 further determines the current operating temperature T of the SSD 100. When the current operating temperature T is lower than or equal to a predetermined temperature condition (T ≦ T'+t1), the processor 200 executes a step S341. In the step S341, the processor 200 maintains the operating frequency of the SSD controller 110 or/and the memory 120. When the current operating temperature T is higher than the predetermined temperature condition (T>T'+t1), the processor 200 executes a step S370. In the step S370, the processor 200 determines whether the current access speed of the SSD 100 is raisable. If not, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 has reached the predetermined maximum frequency. In a step S371, the processor 200 maintains the operating frequency of the SSD controller 110. If yes, it represents that the current operating frequency of the SSD controller 110 or/and the memory 120 is lower than the predetermined maximum frequency. In a step S372, the processor 200 raises the current operating frequency of the SSD controller 110 or/and the memory 120. In other words, in a normal access state of the SSD 100, if the current operating temperature measured by the SSD controller 110 is lower, the processor 200 maintains the access speed of the SSD 100. Conversely, if the current operating temperature measured by the SSD controller 110 is higher, it represents that the SSD 100 has been operated in a mode of a larger data access amount for a long time, so that the processor 200 may further raise the operating frequency of the SSD controller 110 or/and the memory 120, so as to raise the access speed of the SSD 100.
  • Moreover, the aforementioned predetermined temperature condition may refer to, for example, a predetermined temperature T' plus a predetermined value t1. Moreover, in an embodiment, the predetermined value t1 may be 20 degrees (°C), but the invention is not limited thereto. In addition, according to another aspect, when the use proportion of the queue depth QE of the SSD 100 has become lower, even when the current operating temperature measured by the SSD controller 110 is still high (fully cooling is not yet achieved), the processor 200 may execute the steps S330 and S360 to determine whether to reduce the access speed of the SSD 100. Namely, the performance optimization method of the embodiment may dynamically adjust the access speed of the SSD 100 to determine whether to raise the access speed or reduce the power consumption according to the current access condition of the SSD 100. In addition, the performance optimization method of the embodiment may further adjust the access speed according to the temperature measured by the SSD controller 110.
  • FIG. 4 illustrates an operation flow of a user interface according to an embodiment of the invention. Referring to FIG. 4, the operation flow of the user interface of the embodiment is at least adapted to the computer system 10 of the embodiment of FIG. 1, where when the processor 200 reads and executes the performance optimization firmware 130, the computer system 10 may execute the operation flow of the embodiment. In a step S410, when the computer system 10 is turned on or booted, the processor 200 executes the performance optimization firmware 130 to display a user interface through a display. The user interface may display two options, and the two options may be a manual setting option and an automatic performance optimization option. In a step S420, the computer system 10 may receive an external control instruction through an input device, such as a mouse or a keyboard. In a step S430, the processor 200 may determine whether the external control instruction is to select the automatic performance optimization option or the manual setting option. When the external control instruction is to select the automatic performance optimization option, the processor 200 executes a step S440. In the step S440, the processor 200 executes the automatic performance optimization option to perform the performance optimization method as shown in the embodiment of FIG. 2 or FIG. 3A and FIG. 3B. However, when the external control instruction is to select the manual setting option, the processor 200 sets a raise setting or a reduction setting of the access speed of the SSD 100 according to the external control instruction (further setting of the user). For example, the raise setting may include the first threshold proportion and the predetermined raise proportion in the aforementioned embodiment, and the reduction setting may include the second threshold proportion and the predetermined reduction proportion in the aforementioned embodiment. Therefore, the operation flow of the user interface of the embodiment may provide the user with the function of flexibly adjusting the access speed of the SSD 100.
  • In summary, the solid-state drive and the performance optimization method for the solid-state drive of the invention are adapted to automatically determine a use state of the queue depth of the SSD and detect an operating temperature of the SSD, so as to correspondingly adjust the access speed of the SSD according to the use state and the operating temperature of the SSD. Therefore, the SSD and the performance optimization method for the SSD of the invention may optimize the operating performance of the SSD to effectively achieve raise the access speed or reduce the power consumption.

Claims (20)

  1. A performance optimization method for a solid-state drive (100), comprising:
    detecting a queue depth of the solid-state drive (100) to determine a use proportion of the queue depth;
    determining whether an access speed of the solid-state drive (100) is raisable when the use proportion of the queue depth is higher than a first threshold proportion, so as to raise the access speed of the solid-state drive (100); and
    determining whether the access speed of the solid-state drive (100) is reduceable when the use proportion of the queue depth is lower than a second threshold proportion, so as to reduce the access speed of the solid-state drive (100).
  2. The performance optimization method for the solid-state drive (100) as claimed in claim 1, further comprising:
    detecting an operating temperature of a solid-state drive controller (110);
    maintaining the access speed of the solid-state drive (100) when the use proportion of the queue depth is between the first threshold proportion and the second threshold proportion and the operating temperature is lower than or equal to a predetermined temperature condition, wherein the predetermined temperature condition is a predetermined temperature plus a predetermined value; and
    determining whether the access speed of the solid-state drive (100) is raisable when the use proportion of the queue depth is between the first threshold proportion and the second threshold proportion and the operating temperature is higher than the predetermined temperature condition, so as to raise the access speed of the solid-state drive (100).
  3. The performance optimization method for the solid-state drive (100) as claimed in claim 2, further comprising:
    detecting the operating temperature of the solid-state drive controller (110) when the use proportion of the queue depth is lower than the second threshold proportion, and taking the operating temperature as the predetermined temperature.
  4. The performance optimization method for the solid-state drive (100) as claimed in claim 1, wherein before detecting the queue depth of the solid-state drive (100), the performance optimization method further comprises:
    determining the access speed of the solid-state drive (100) according to a type of data accessed in the solid-state drive (100).
  5. The performance optimization method for the solid-state drive (100) as claimed in claim 1, wherein the step of determining whether the access speed of the solid-state drive (100) is raisable, so as to raise the access speed of the solid-state drive (100) comprises:
    maintaining an operating frequency of a solid-state drive controller (110) when the operating frequency of the solid-state drive controller (110) has reached a predetermined maximum frequency; and
    raising the operating frequency of the solid-state drive controller (110) according to a predetermined raise proportion when the operating frequency of the solid-state drive controller (110) is lower than the predetermined maximum frequency.
  6. The performance optimization method for the solid-state drive (100) as claimed in claim 1, wherein the step of determining whether the access speed of the solid-state drive (100) is reduceable, so as to reduce the access speed of the solid-state drive (100) comprises:
    maintaining an operating frequency of a solid-state drive controller (110) when the operating frequency of the solid-state drive controller (110) has reached a predetermined minimum frequency; and
    reducing the operating frequency of the solid-state drive controller (110) according to a predetermined reduction proportion when the operating frequency of the solid-state drive controller (110) is higher than the predetermined minimum frequency.
  7. The performance optimization method for the solid-state drive (100) as claimed in claim 1, wherein the step of raising the access speed of the solid-state drive (100) further comprises raising a memory frequency of a memory (120) of the solid-state drive (100), and the step of reducing the access speed of the solid-state drive (100) further comprises reducing the memory frequency of the memory (120) of the solid-state drive (100).
  8. The performance optimization method for the solid-state drive (100) as claimed in claim 1, further comprising:
    displaying a user interface, and receiving an external control instruction, wherein the user interface comprises an automatic performance optimization option; and
    executing the step of detecting the queue depth of the solid-state drive (100) to determine the use proportion of the queue depth when the external control instruction is to select the automatic performance optimization option.
  9. The performance optimization method for the solid-state drive (100) as claimed in claim 8, wherein the user interface comprises a manual setting option, and the performance optimization method further comprises:
    setting a raise setting or a reduction setting of the access speed of the solid-state drive (100) according to the external control instruction when the external control instruction is to select the manual setting option.
  10. The performance optimization method for the solid-state drive (100) as claimed in claim 9, wherein the raise setting comprises the first threshold proportion and a predetermined raise proportion, and the reduction setting comprises the second threshold proportion and a predetermined reduction proportion.
  11. A solid-state drive (100) comprising:
    a solid-state drive controller (110); and
    a performance optimization firmware (130) coupled to the solid-state drive controller (110) and configured to detect a queue depth of the solid-state drive (100) to determine a use proportion of the queue depth,
    wherein when the use proportion of the queue depth is higher than a first threshold proportion, the performance optimization firmware (130) determines whether an access speed of the solid-state drive (100) is raisable, so as to raise the access speed of the solid-state drive (100),
    wherein when the use proportion of the queue depth is lower than a second threshold proportion, the performance optimization firmware (130) determines whether the access speed of the solid-state drive (100) is reduceable, so as to reduce the access speed of the solid-state drive (100).
  12. The solid-state drive (100) as claimed in claim 11, wherein the performance optimization firmware (130) detects an operating temperature of the solid-state drive controller (110),
    wherein when the use proportion of the queue depth is between the first threshold proportion and the second threshold proportion and the operating temperature is lower than or equal to a predetermined temperature condition, the performance optimization firmware (130) maintains the access speed of the solid-state drive (100), wherein the predetermined temperature condition is a predetermined temperature plus a predetermined value,
    wherein when the use proportion of the queue depth is between the first threshold proportion and the second threshold proportion and the operating temperature is higher than the predetermined temperature condition, the performance optimization firmware (130) determines whether the access speed of the solid-state drive (100) is raisable, so as to raise the access speed of the solid-state drive (100).
  13. The solid-state drive (100) as claimed in claim 12, wherein when the use proportion of the queue depth is lower than the second threshold proportion, the performance optimization firmware (130) detects the operating temperature of the solid-state drive controller (110), and takes the operating temperature as the predetermined temperature.
  14. The solid-state drive (100) as claimed in claim 11, wherein before detecting the queue depth of the solid-state drive (100), the performance optimization firmware (130) determines the access speed of the solid-state drive (100) according to a type of data accessed in the solid-state drive (100).
  15. The solid-state drive (100) as claimed in claim 11, wherein when an operating frequency of the solid-state drive controller (110) has reached a predetermined maximum frequency, the performance optimization firmware (130) maintains the operating frequency of the solid-state drive controller (110), and
    when the operating frequency of the solid-state drive controller (110) is lower than the predetermined maximum frequency, the performance optimization firmware (130) raises the operating frequency of the solid-state drive controller (110) according to a predetermined raise proportion.
  16. The solid-state drive (100) as claimed in claim 11, wherein when an operating frequency of the solid-state drive controller (110) has reached a predetermined minimum frequency, the performance optimization firmware (130) maintains the operating frequency of the solid-state drive controller (110), and
    when the operating frequency of the solid-state drive controller (110) is higher than the predetermined minimum frequency, the performance optimization firmware (130) reduces the operating frequency of the solid-state drive controller (110) according to a predetermined reduction proportion.
  17. The solid-state drive (100) as claimed in claim 11, further comprising a memory (120), wherein the operation in which the performance optimization firmware (130) raises the access speed of the solid-state drive (100) further comprises raising a memory frequency of the memory (120), and the operation in which the performance optimization firmware (130) reduces the access speed of the solid-state drive (100) further comprises reducing the memory frequency of the memory (120).
  18. The solid-state drive (100) as claimed in claim 11, wherein the performance optimization firmware (130) further comprises a user interface, the user interface comprises an automatic performance optimization option, and the performance optimization firmware (130) receives an external control instruction,
    wherein when the external control instruction is to select the automatic performance optimization option, the performance optimization firmware (130) executes the operation of detecting the queue depth of the solid-state drive (100) to determine the use proportion of the queue depth.
  19. The solid-state drive (100) as claimed in claim 18, wherein the user interface comprises a manual setting option, and when the external control instruction is to select the manual setting option, the performance optimization firmware (130) sets a raise setting or a reduction setting of the access speed of the solid-state drive (100) according to the external control instruction.
  20. The solid-state drive (100) as claimed in claim 19, wherein the raise setting comprises the first threshold proportion and a predetermined raise proportion, and the reduction setting comprises the second threshold proportion and a predetermined reduction proportion.
EP20170785.8A 2019-05-10 2020-04-22 Solid-state drive and performance optimization method for solid-state drive Active EP3736683B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108116125A TWI718532B (en) 2019-05-10 2019-05-10 Solid-state drive and performance optimization method for solid-state drive

Publications (2)

Publication Number Publication Date
EP3736683A1 true EP3736683A1 (en) 2020-11-11
EP3736683B1 EP3736683B1 (en) 2022-08-31

Family

ID=70390968

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20170785.8A Active EP3736683B1 (en) 2019-05-10 2020-04-22 Solid-state drive and performance optimization method for solid-state drive

Country Status (6)

Country Link
US (1) US11262914B2 (en)
EP (1) EP3736683B1 (en)
JP (1) JP6994535B2 (en)
KR (1) KR102314741B1 (en)
ES (1) ES2927387T3 (en)
TW (1) TWI718532B (en)

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 (en) * 2021-07-22 2023-07-04 成都思科瑞微电子股份有限公司 SSD solid state disk testing method

Citations (5)

* 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
US9959209B1 (en) * 2010-03-23 2018-05-01 Western Digital Technologies, Inc. Data storage device adjusting command rate profile based on operating mode
US20180260152A1 (en) * 2017-03-13 2018-09-13 Western Digital Technologies Inc. Storage system and method for thermal throttling via command arbitration
CN108710475A (en) * 2018-06-01 2018-10-26 深圳忆联信息系统有限公司 Enhance the method, apparatus and computer equipment of solid state disk low temperature robustness
US20190094938A1 (en) * 2017-09-27 2019-03-28 Western Digital Technologies, Inc. Reactive power management for non-volatile memory controllers

Family Cites Families (17)

* 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
KR20070032788A (en) * 2004-07-20 2007-03-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 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
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 (en) * 2012-08-14 2017-09-01 緯創資通股份有限公司 Computer system and associated storage apparatus managing method
TWI539368B (en) * 2012-12-11 2016-06-21 宏碁股份有限公司 Data writing method and system
US10037167B2 (en) * 2015-09-11 2018-07-31 Sandisk Technologies Llc Multiple scheduling schemes for handling read requests
TWM528451U (en) 2016-03-14 2016-09-11 Evga Corp Computer performance control device
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 (en) 2017-11-09 2023-05-12 삼성전자 주식회사 Memory controller and storage device comprising the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959209B1 (en) * 2010-03-23 2018-05-01 Western Digital Technologies, Inc. Data storage device adjusting command rate profile based on operating mode
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
CN108710475A (en) * 2018-06-01 2018-10-26 深圳忆联信息系统有限公司 Enhance the method, apparatus and computer equipment of solid state disk low temperature robustness

Also Published As

Publication number Publication date
ES2927387T3 (en) 2022-11-04
US20200356279A1 (en) 2020-11-12
JP6994535B2 (en) 2022-01-14
TW202042073A (en) 2020-11-16
EP3736683B1 (en) 2022-08-31
TWI718532B (en) 2021-02-11
US11262914B2 (en) 2022-03-01
KR102314741B1 (en) 2021-10-20
JP2020187740A (en) 2020-11-19
KR20200130656A (en) 2020-11-19

Similar Documents

Publication Publication Date Title
US7596705B2 (en) Automatically controlling processor mode of multi-core processor
CN1261868C (en) Method of rapid computer start-up
EP3736683A1 (en) Solid-state drive and performance optimization method for solid-state drive
US8799631B2 (en) Dynamically select operating system (OS) to boot based on hardware states
US11461179B2 (en) System recovery method and apparatus
US20050055591A1 (en) Computer system and a control method thereof
CN110888520B (en) Operation frequency adjusting method and device
TWI534707B (en) Computer system, shutdown and boot method thereof
US20120233451A1 (en) Method for fast resuming computer system and computer system
US11531388B2 (en) Electronic apparatus and power management method thereof
CN111913651B (en) Solid state disk and efficiency optimization method thereof
CN112346556A (en) Method, device, computer equipment and medium for improving low power consumption efficiency of chip
CN113961060A (en) Electronic device and electric quantity management method thereof
KR101128251B1 (en) Apparatus and method for controling power saving by devices of executed program
US10042650B2 (en) Computer startup method, startup apparatus, state transition method and state transition apparatus
EP2653965A2 (en) Electronic apparatus, method of controlling the same, and computer-readable recording medium
CN108255277B (en) Storage system and power management method thereof
JP2014174710A (en) Information processing device, information processing method, and program
TWI616888B (en) Electronic apparatus and power management method thereof
JP2007172511A (en) Information processor
JP2007183879A (en) Information processing device
CN210955025U (en) Memory access system
US8078783B2 (en) Information processing apparatus, method for controlling the same, and recording medium including program
US20240184354A1 (en) Activation of integrated graphical processing units
CN114327024A (en) Control method and device and electronic equipment

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20201215

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20220330

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LIAO, TSE-HSIEN

Inventor name: CHEN, HUNG-CHENG

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1515779

Country of ref document: AT

Kind code of ref document: T

Effective date: 20220915

Ref country code: DE

Ref legal event code: R096

Ref document number: 602020004781

Country of ref document: DE

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2927387

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20221104

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20220831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221130

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1515779

Country of ref document: AT

Kind code of ref document: T

Effective date: 20220831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221231

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221201

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230102

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602020004781

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 20230512

Year of fee payment: 4

Ref country code: DE

Payment date: 20230307

Year of fee payment: 4

26N No opposition filed

Effective date: 20230601

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230422

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20230430

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230430

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230430

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230430

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230422

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230422

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20240229

Year of fee payment: 5

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220831

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20240308

Year of fee payment: 5