WO2023115532A1 - Data processing method and data processing apparatus - Google Patents

Data processing method and data processing apparatus Download PDF

Info

Publication number
WO2023115532A1
WO2023115532A1 PCT/CN2021/141179 CN2021141179W WO2023115532A1 WO 2023115532 A1 WO2023115532 A1 WO 2023115532A1 CN 2021141179 W CN2021141179 W CN 2021141179W WO 2023115532 A1 WO2023115532 A1 WO 2023115532A1
Authority
WO
WIPO (PCT)
Prior art keywords
read
write
performance
storage device
performance specification
Prior art date
Application number
PCT/CN2021/141179
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Priority to PCT/CN2021/141179 priority Critical patent/WO2023115532A1/en
Priority to CN202180042327.3A priority patent/CN116830074A/en
Publication of WO2023115532A1 publication Critical patent/WO2023115532A1/en

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

Definitions

  • Embodiments of the present disclosure mainly relate to the chip field, and more specifically, relate to a data processing method and a data processing device.
  • SSD Solid State Disk
  • various models for SSD performance evaluation have been proposed. The usual practice is to treat SSD as a black box, and establish a model for SSD performance evaluation through the performance of multiple test scenarios. However, since the test scenario is different from the actual scenario, the accuracy of the evaluated SSD performance may be low, and there is a large deviation from the actual situation.
  • Embodiments of the present disclosure provide a data processing method and a data processing device, which can determine more accurate performance specifications based on read and write operations in actual scenarios.
  • a data processing method includes: the storage device acquires operating parameters of multiple read and write operations performed within a period of time; the storage device determines performance specifications of the storage device based on the operating parameters; and the storage device sends the performance specifications to a task allocation device outside the storage system.
  • the storage device can determine the performance specification based on the operating parameters of the read and write operations in the actual scene, rather than based on the test environment, so that the obtained performance specification is more accurate.
  • the determining the performance specification by the storage device based on the operating parameters includes that the storage device determines the performance specification based on the operating parameters in response to receiving a request for performance of the storage device from the task allocation device.
  • the performance specification can be determined based on the performance request of the storage device from the task allocation device, and the task allocation device can further allocate read and write operations based on the performance specification from the storage device, so as to make full use of the performance of the storage device and realize data processing. Layout optimization to improve overall performance.
  • the embodiments of the present disclosure can realize the interaction between the storage device and the task distribution device.
  • the determination of the performance specification by the storage device based on the operating parameters includes if the number of multiple read and write operations exceeds the number threshold, or if the current time point is different from the last time the storage device sent the performance specification to the task allocation device The length of time between points exceeds a time threshold, and the storage device determines performance specifications based on operating parameters.
  • the performance specification can be determined based on the preset times threshold or time threshold, and then the performance specification can be dynamically provided to the task management device. Therefore, the task management device can periodically obtain the performance specification based on the number of times threshold or the event threshold, which saves the signaling overhead of the task management device sending a request to obtain the performance specification.
  • the storage device determining the performance specification based on the operating parameters includes that the storage device determines the node performance specifications of each node in the storage device based on the operating parameters, and the nodes include at least one of an interface, a channel, a flash memory particle, and a controller chip. item; and the storage device determines the performance specification based on the node performance specification of each node.
  • the node performance of each node on the data transmission path can be considered. Since the architecture of the storage device includes nodes such as interfaces, channels, flash memory particles, and controller chips, the architecture of the storage device is fully integrated by considering the node performance. Get more accurate storage device performance specifications.
  • the storage device determining the performance specification based on the operating parameters includes the storage device inputting the operating parameters into a trained performance model to obtain the performance specification.
  • the running parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
  • performance specifications are determined from multi-dimensional influencing factors such as read and write characteristic parameters, disk status, and algorithm status.
  • the determined performance specifications are more accurate and close to the real situation; on the other hand, due to consideration Operating parameters in multiple dimensions so that the determined performance specification can indicate the behavioral characteristics of the SSD.
  • the system design can be carried out by the task management device in cooperation with the performance specifications of multiple storage devices, so as to fully utilize the performance of the disk from a global perspective.
  • the characteristic parameters of reading and writing include at least one of the following: the number of reading and writing, the size of reading and writing, the heat of reading and writing, or the randomness of reading and writing;
  • the parameters of the disk status include parameters about at least one of the following : Read and write concurrency, write amplification factor, space utilization, controller gear, or media specifications of flash memory particles;
  • parameters of the algorithm status include indication information of whether the garbage collection GC algorithm is enabled, and/or redundancy of independent disks Array (Redundant Array of Independent Disks, RAID) configuration.
  • the performance specification includes at least one of a steady-state performance specification and a maximum performance specification.
  • the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth
  • the maximum performance specification includes at least one of the following : Maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  • a data processing method includes: the task allocation device receives performance specifications from at least one storage device in the storage system; and the task allocation device allocates read and write operations to the at least one storage device based at least on the performance specification of the at least one storage device.
  • the task allocation device can allocate read and write operations based on performance specifications from the storage device, and can make full use of the performance of the storage device to optimize data layout and improve overall performance.
  • the task allocation device further includes sending a request for performance of the at least one storage device to the at least one storage device.
  • the performance specification includes at least one of a steady-state performance specification and a maximum performance specification.
  • the steady-state performance specification includes at least one of the following: steady-state read input/output times per second (Input/Output per Second, IOPS), steady-state read bandwidth, steady-state write IOPS, or steady-state
  • IOPS steady-state read input/output times per second
  • steady-state read bandwidth steady-state write IOPS
  • maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  • a data processing device which includes: a first determination module configured to obtain operating parameters of multiple read and write operations performed within a period of time; a second determination module configured to configured to determine the performance specification of the storage device based on the operating parameters; and a sending module configured to send the performance specification to a task allocation device outside the storage system.
  • the second determining module is configured to determine the performance specification based on the operating parameter in response to receiving a request for the performance of the storage device from the task allocation device.
  • the second determining module is configured to: if the number of multiple read and write operations exceeds the number threshold, or if the current time point is between the time point when the storage device sent the performance specification to the task allocation device last time A performance specification is determined based on the operating parameters for the length of time between which the time threshold is exceeded.
  • the second determination module is configured to determine the node performance specification of each node in the storage device based on the operating parameters, and the node includes at least one of an interface, a channel, a flash memory particle, and a controller chip; and based on The node performance specification of each node determines the performance specification.
  • the second determination module is configured to input the operating parameters into the trained performance model to obtain the performance specification.
  • the running parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
  • the read and write characteristic parameters include at least one of the following: read and write times, read and write size, read and write heat, or read and write randomness;
  • the parameters of the disk state include parameters about at least one of the following: read and write Concurrency, write amplification factor, space utilization, controller gear, or media specifications of flash memory particles;
  • the parameters of the algorithm state include indication information of whether the garbage collection GC algorithm is enabled, and/or RAID configuration.
  • the performance specification includes at least one of a steady-state performance specification and a maximum performance specification.
  • the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth.
  • the maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  • a data processing apparatus which includes a receiving module configured to receive performance specifications from at least one storage device in a storage system; and an allocation module configured to at least based on at least one storage device A performance specification for a device, distributing read and write operations to at least one storage device.
  • the apparatus further includes a sending module configured to send a request for performance of the at least one storage device to the at least one storage device.
  • the performance specification includes at least one of a steady-state performance specification and a maximum performance specification.
  • the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth.
  • the maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  • an electronic device in a fifth aspect of the present disclosure, includes a processor and a memory, and the memory stores instructions executed by the processor.
  • the electronic device realizes the above-mentioned first aspect or any embodiment thereof, or the above-mentioned second aspect or The method in any of its embodiments.
  • a computer readable storage medium is provided.
  • Computer-executable instructions are stored on the computer-readable storage medium.
  • the above-mentioned first aspect or any embodiment thereof, or the above-mentioned second aspect or any embodiment thereof can be implemented. method.
  • a computer program or computer program product is provided.
  • the computer program or computer program product is tangibly stored on a computer-readable medium and includes computer-executable instructions which, when executed, implement the computer program according to the above-mentioned first aspect or any embodiment thereof, or the above-mentioned second aspect. or the method in any of its embodiments.
  • a chip or chip system in an eighth aspect of the present disclosure, includes a processing circuit configured to perform operations according to the method in the above first aspect or any embodiment thereof, or the above second aspect or any embodiment thereof.
  • FIG. 1 shows a schematic diagram of an example scenario in which some embodiments of the present disclosure can be implemented
  • Fig. 2 shows a schematic interaction diagram of a data processing process according to some embodiments of the present disclosure
  • Fig. 3 shows a schematic block diagram of a data processing device according to some embodiments of the present disclosure
  • FIG. 4 shows a schematic block diagram of a data processing apparatus implemented in a storage device as in FIG. 1 according to some embodiments of the present disclosure
  • Fig. 5 shows a schematic block diagram of a data processing device according to some embodiments of the present disclosure.
  • Fig. 6 shows a schematic block diagram of an example device that may be used to implement embodiments of the present disclosure.
  • the term “comprising” and its similar expressions should be interpreted as an open inclusion, that is, “including but not limited to”.
  • the term “based on” should be understood as “based at least in part on”.
  • the term “one embodiment” or “the embodiment” should be read as “at least one embodiment”.
  • the terms “first”, “second”, etc. may refer to different or the same object.
  • the term “and/or” means at least one of the two items associated with it. For example "A and/or B" means A, B, or A and B. Other definitions, both express and implied, may also be included below.
  • SSD Solid State Disk
  • HDD hard disk drive
  • SSD has been widely used in various storage scenarios, such as servers, Data centers, embedded devices, and more.
  • a storage system includes multiple SSDs (also called SSD disks), and each SSD includes multiple flash memory particles.
  • SSDs also called SSD disks
  • each SSD includes multiple flash memory particles.
  • the speed of processing IO requests is a direct reflection of the overall performance of the storage system.
  • the direct way to improve the overall performance is to allocate read and write operations according to the performance of SSD disks, so as to fully utilize the performance of each SSD disk. In order to achieve this goal, it is generally necessary to accurately evaluate the performance of SSD disks.
  • SSD manufacturers will obtain its steady-state performance in the test environment, and then use it as the SSD disk performance in the SSD product manual. But in fact, the performance of SSD disks is not fixed. On the contrary, it is changeable. Changeable means that there are many factors affecting the performance of SSD disks. From this perspective, the test environment is different from the actual scene. , so the steady-state performance obtained in the test environment cannot be equal to the performance in the actual scene; variable means that the performance of the SSD disk will change due to the change of the algorithm in the SSD. Therefore, a reliable solution capable of accurately determining the performance of SSD disks is needed.
  • the embodiments of the present disclosure provide a solution for determining performance of SSD disks based on actual scenarios.
  • the storage device determines corresponding operating parameters of multiple read and write operations within a period of time, determines performance specifications of the storage device based on these operating parameters, and sends the performance specifications to an external task allocation device.
  • the storage device can determine the performance specification based on the read and write operations in the actual scene, so that the performance of the SSD disk can be obtained in a more accurate manner.
  • FIG. 1 shows a schematic diagram of an example scenario 100 in which some embodiments of the present disclosure may be implemented.
  • a storage system 101 and a task allocation device 102 are shown, where the storage system 101 includes storage devices 110-1 to 110-M, where M is a positive integer.
  • the multiple storage devices 110 - 1 to 110 -M may be collectively referred to as the storage device 110 .
  • the task allocation device 102 may be configured to allocate read and write operations. Specifically, the task allocation device 102 may determine an IO queue based on a user's input/output (IO) request, and then allocate corresponding read and write operations in the IO queue to at least one storage device 110 .
  • the storage device 110 may be configured to process read and write operations allocated by the task allocation device 102 .
  • the storage device 110 may include an interface logic 112, a controller 114, a plurality of channels 118-1 to 118-N, and a -N corresponds to a plurality of flash memory particle groups 116-1 to 116-N, where N is a positive integer.
  • the plurality of flash particle groups 116 - 1 to 116 -N may be collectively referred to as the flash particle group 116
  • the plurality of channels 118 - 1 to 118 -N may be collectively referred to as the channel 118 .
  • the flash memory die group 116 may include one or more flash memory dies (Die). It can be understood that multiple channels 118 can be concurrent, and multiple flash memory particles in the flash memory particle group 116 can also be concurrent.
  • the storage device 110 may be interconnected with the task distribution device 102 via the interface logic 112 .
  • the channel 118 is a bridge between the controller 114 and the flash memory particle 116 , and multiple channels 118 can transmit data concurrently.
  • the storage device 110 may be implemented as an SSD, and the storage device 110 may also be called an SSD disk or other names.
  • the task allocation device 102 may include a processor, but the implementation of the processor is not limited in the present disclosure, for example, it may include a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU), a neural network processing unit (Neural Network Processing Unit, NPU), or Digital Signal Processor (Digital Signal Processor, DSP), etc.
  • the task distribution device 102 is referred to as a host (Host) hereinafter, but it should be understood that this name is only for illustration and should not be construed as a limitation of the present disclosure. Read and write operations may be referred to as IO operations, etc. This disclosure is not limited thereto.
  • Each flash memory particle group 116 can be realized as NAND flash memory (NAND Flash) 117, or for example, the controller 114 can be referred to as a controller chip. Embodiments of the present disclosure are not limited to this.
  • the data processing solution in the embodiment of the present disclosure will be described below in conjunction with the scenario 100 described in FIG. 1 , taking the storage device 110 as an SSD and the task allocation device 102 as a host as an example.
  • the solutions of the embodiments of the present disclosure can determine the disk performance of the SSD, where the disk performance can be characterized by the performance specification of the SSD.
  • FIG. 2 shows a schematic interaction diagram of a data processing process 200 according to some embodiments of the present disclosure.
  • Process 200 involves SSD 210 and host 220.
  • SSD 210 is an example of storage device 110 as shown in FIG. 1
  • host 220 is an example of task allocation device 102 as shown in FIG. 1 .
  • the SSD 210 obtains 201 operating parameters of multiple read and write operations performed within a period of time.
  • the host 220 can allocate read and write operations based on IO requests from users.
  • the read and write operations can be: the host 220 reads data from the SSD 210 or writes data to the SSD 210.
  • the SSD 210 can obtain operating parameters associated with read and write operations.
  • the period of time may be from the last time SSD 210 sent performance specifications to host 220. It can be understood that the read and write operations performed within a period of time may include at least one read operation and/or at least one write operation. Then the SSD 210 can determine corresponding operating parameters for each read and write operation.
  • the running parameter may be determined based on the statistics of multiple read and write operations, for example, to characterize the running state of the SSD 210 .
  • the running parameters may include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
  • the read/write characteristic parameter may include at least one item of read/write times, read/write size (size), read/write heat, and read/write randomness.
  • the number of reads and writes can represent the total number of multiple read and write operations
  • the read and write size can represent the total or average size of multiple read and write operations
  • the read and write heat can represent the total or average heat of multiple read and write operations Heat
  • read and write randomness can represent the total randomness or average randomness of multiple read and write operations.
  • the read and write characteristic parameters may include read parameters and write parameters.
  • the read parameters may include at least one of the following: read times, read size, read heat, read randomness, and the like.
  • the write parameters may include at least one of the following: write times, write size, write heat, write randomness, and the like.
  • the host 220 may send a read and write command to the SSD 210, and the read and write command includes at least one of the following: a read and write type, a start address of a Logic Block Address (Logic Block Address, LBA), a length of the LBA, and the like.
  • the read/write type in the read/write command is "read”, then SSD 210 can determine the read parameters.
  • the read/write type in the read/write command is "write”, then SSD 100 can determine the write parameters.
  • the status of the disc may include at least one of read and write concurrency, write amplification factor (Write Amplification Factor, WAF), space utilization, controller gear, media specifications of flash memory particles, and the like.
  • the read/write concurrency may represent the read/write concurrency of nodes in the disk that can be concurrent, for example, may include the read/write concurrency of channels and/or the read/write concurrency of flash memory particles.
  • the channel read concurrency may indicate the number of concurrent channels during read operations, and the channel write concurrency indicates the number of concurrent channels during write operations.
  • the read concurrency of flash memory particles may indicate the number of concurrent flash memory particles during a read operation
  • the write concurrency of flash memory particles may indicate the number of concurrent flash memory particles during a write operation.
  • the space utilization rate can be expressed as a percentage
  • the controller gear can be expressed as a specific gear value (such as 1, etc.)
  • the medium specification of the flash memory particle can be expressed as the access delay of the flash memory particle in response to read and write operations, etc. .
  • the algorithm state may include whether the garbage collection (Garbage Collection, GC) algorithm is enabled, and correspondingly, the parameter of the algorithm state includes indication information whether the GC algorithm is enabled.
  • the algorithm state may include RAID configuration and the like.
  • the RAID configuration may include the maximum concurrent capability of the flash memory granules, and the like.
  • Embodiments of the present disclosure do not limit the specific manner in which the SSD 210 determines the operating parameters, for example, it may be implemented by means of counting or the like.
  • the operating parameters include WAF
  • SSD 210 may determine the WAF based on garbage collection (Garbage Collection, GC) triggered during the write operation.
  • garbage collection Garbage Collection, GC
  • SSD 210 receives a write command from host 220.
  • GC Garbage Collection
  • Disk resources may include blank block resources in SSD hard disk space, referred to as blank space for short.
  • a GC operation may be triggered when the empty space is lower than a preset resource threshold.
  • the embodiment of the present disclosure also considers the influence of the change (ie whether it is enabled or not) of the internal algorithm (such as the GC algorithm) of the SSD on the operating parameters, so that more various performance specifications can be obtained.
  • the internal algorithm such as the GC algorithm
  • the above-described operating parameters and the like are only illustrative, and in practical applications, the operating parameters may also include other parameters not listed above.
  • the above-mentioned terms are only illustrative, and in practical applications, the above-mentioned terms can be replaced by other names, for example, the number of reads and writes can be called the number of reads and writes, for example, the reading and writing heat can be called the number of reads and writes
  • the temperature, such as reading and writing may be referred to as IO, which is not limited in the embodiments of the present disclosure.
  • SSD 210 determines 202 performance specifications for SSD 210 based on the operating parameters.
  • performance specifications may also be referred to as storage device performance specifications, storage performance specifications, SSD performance specifications, disk performance specifications, etc., or may also be referred to as storage device performance parameters or SSD performance parameters, etc., which are not discussed in this disclosure. limited.
  • performance specifications may include steady-state performance specifications and/or maximum performance specifications.
  • the steady-state performance specification may be a performance specification when GC is enabled
  • the maximum performance specification may be a performance specification when GC is not enabled.
  • SSD 210 may determine performance specifications based on performance requests from host 220. As shown in FIG. 2, the host 220 may send 212 a performance request to the SSD 210. The performance request may be a request for the performance of the SSD 210. Accordingly, in response to receiving a request from host 220 for the performance of SSD 210, SSD 210 may determine performance specifications based on operating parameters.
  • the capability request may be sent through a first specific field.
  • a first specific field may be predefined for the capability request.
  • the first flag field may be used to indicate that the next transmission is a capability request, and the capability request is sent immediately after the first flag field.
  • SSD 210 may determine a steady-state performance specification based on the performance request.
  • SSD 210 may determine the maximum performance specification based on the performance request.
  • SSD 210 may determine a steady-state performance specification and a maximum performance specification based on the performance request.
  • SSD 210 may determine performance metrics based on event triggers.
  • the event trigger may include that the total number of multiple read and write operations performed within a period of time exceeds a number threshold, where the total number of read and write operations may be the sum of the number of reads and the number of writes.
  • SSD 210 may periodically determine performance specifications.
  • the period may include a period of time to reach a time threshold.
  • the period may include that the elapsed time from the last time the performance specification was sent to the host 220 exceeds the time threshold, that is, the time period between the time when the SSD 210 sent the performance specification to the host 220 last time and the current time exceeds the time threshold.
  • the performance specification determined by the SSD 210 may at least include Input/Output per Second (IOPS) and/or bandwidth.
  • the performance specification may include at least one of the following: read IOPS, read bandwidth, write IOPS, and write bandwidth.
  • the steady-state performance specification may include at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, and steady-state write bandwidth.
  • the maximum performance specification may include at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, and maximum write bandwidth.
  • the SSD 210 can determine the node performance specification of each node in the multiple nodes of the SSD 210 based on the operating parameters, and further determine the SSD performance specification based on the node performance specification of each node.
  • Multiple nodes may include interfaces, channels, flash particles, and controller chips through which data flows during the execution of read and write operations. And optionally, the SSD 210 may use the minimum node performance specification as the SSD performance specification.
  • the WAF can be close to 1 by stopping the GC operation on the SSD 210 architecture.
  • SSD 210 can determine interface steady-state write IOPS, channel steady-state write IOPS, and flash particle steady-state write IOPS, and then determine interface steady-state write IOPS, channel steady-state write IOPS, and flash particle steady-state The minimum value in the write IOPS is determined as the steady-state write IOPS of the SSD 210 .
  • the node includes an interface
  • the SSD 210 may determine the performance specification of the interface based on at least one of the following: the transmission rate of the interface, or the RAID configuration.
  • the node includes a channel
  • the SSD 210 can determine the performance specification of the channel based on at least one of the following: channel read-write concurrency, WAF, flash memory particle read-write concurrency, flash memory particle media specification, RAID configuration, transmission rate, etc. .
  • the node includes a flash granule
  • the SSD 210 may determine the performance specification of the flash granule based on at least one of the following: the read/write concurrency of the flash granule, WAF, the medium specification of the flash granule, the RAID configuration, the transmission rate, and the like.
  • the node includes a controller chip, or the node may also include other nodes in the SSD 210, which will not be listed here.
  • the SSD performance specification is determined based on the performance of the node with the smallest performance on the data transmission path. This determination method takes into account the structure of the SSD, so that the obtained SSD performance is more accurate.
  • SSD 210 may determine performance specifications based on operating parameters using a trained performance model. Specifically, some or all of the operating parameters may be input into the trained performance model, so that the output of the trained performance model is the performance specification.
  • the trained performance model may be obtained through training using a training data set, wherein the training data set may include multiple data items, and each data item may include operating parameters and corresponding performance specifications.
  • the operating parameters and actual performance specifications obtained at 201 may also be added to the training data set to update the performance model.
  • Embodiments of the present disclosure do not limit the network structure of the performance model, for example, it may be a neural network model including multiple convolutional layers, for example, it may include a regression tree (regression tree) or a decision tree structure.
  • a regression tree regression tree
  • a decision tree structure for example, it may include a regression tree (regression tree) or a decision tree structure.
  • a first performance model may be used to determine a steady-state performance specification, and a second performance model may be used to determine a maximum performance specification.
  • the third performance model may be used to determine IOPS, and the fourth performance model may be used to determine bandwidth. Embodiments of the present disclosure do not limit this.
  • performance specifications are only illustrative. In actual applications, performance specifications may also include response time, queue depth, and queue per second. Other parameters that characterize SSD performance, such as the number of full times, are not limited in this disclosure.
  • SSD 210 sends 203 performance specifications to host 220.
  • the performance specification may be sent through a second specific field.
  • a second specific field may be predefined for performance specification.
  • the second flag field may be used to indicate that the next transmission is a performance specification, and the performance specification is sent immediately after the second flag field. In this way, the embodiment of the present disclosure can ensure that the performance specification sent by the SSD 210 is correctly recognized by the host 220 by customizing the interface field.
  • host 220 allocates 204 read and write operations based on performance specifications.
  • the host 220 may receive performance specifications from at least one storage device 110 (such as SSD 210) in the storage system 101.
  • the host 220 can receive respective performance specifications from multiple storage devices 110 (such as SSD 210), and then the host 220 can distribute read and write operations based on the respective performance specifications of multiple storage devices 110 (such as SSD 210) . This can optimize the data layout and improve the overall performance.
  • the host 220 can fully consider the disk performance of each SSD, realize the effective utilization of SSD disks, and ensure the overall performance of reading and writing.
  • the SSD in the embodiment of the present disclosure can determine the performance specification based on the read and write operations in the actual scene instead of the test environment, so that the obtained performance specification is more accurate. And in the determination process, the influence of the internal controller algorithm on the performance of the disk is also considered, so as to fully tap the ability of the disk and make the performance of the disk fully utilized.
  • FIG. 3 shows a schematic block diagram of a data processing device 300 according to an embodiment of the present disclosure.
  • the apparatus 300 may be implemented as the storage device 110 or a part of the storage device 110 as shown in FIG. 1 .
  • the apparatus 300 may include an acquiring module 310 , a receiving module 320 , a determining module 330 and a sending module 340 .
  • the obtaining module 310 is configured to obtain operating parameters of multiple read and write operations performed within a period of time.
  • the determining module 330 is configured to determine performance specifications of the storage device based on the operating parameters.
  • the sending module 340 is configured to send the performance specification to a task distribution device outside the storage system.
  • the determining module 330 may be configured to determine the performance specification based on the operating parameters in response to receiving a request for the performance of the storage device from the task allocation device. It can be understood that the receiving module 320 shown in FIG. 3 may be configured to receive the request for the performance of the storage device from the task allocation device.
  • the determining module 330 may be configured to: if the number of multiple read and write operations exceeds the number threshold, or if the time between the current time point and the last time the storage device sends the performance specification to the task allocation device The length exceeds a time threshold, and a performance specification is determined based on the operating parameters.
  • the determination module 330 may be configured to determine the node performance specification of each node in the storage device based on the operating parameters, and the node includes at least one of an interface, a channel, a flash memory particle, and a controller chip; and based on the node performance specification of each node Specifications, to determine performance specifications.
  • the determination module 330 may be configured to input operating parameters into the trained performance model to obtain performance specifications.
  • the running parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
  • the read and write characteristic parameters include at least one of the following: read and write times, read and write size, read and write heat, or read and write randomness;
  • the parameters of the disk state include parameters about at least one of the following: read and write Concurrency, write amplification factor, space utilization, controller gear, or media specifications of flash memory particles;
  • the parameters of the algorithm state include indication information of whether the garbage collection GC algorithm is enabled, and/or RAID configuration.
  • the performance specification includes a steady state performance specification and/or a maximum performance specification.
  • the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth.
  • the maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  • the device 300 in FIG. 3 can be used to implement the processes described above in conjunction with the SSD 210 in FIG. 2 , and for the sake of brevity, details are not repeated here.
  • each module in the device 300 can be implemented in the interface logic 112 and the controller 114 .
  • Fig. 4 shows a schematic diagram of a module distribution 400 in which modules in the apparatus 300 are implemented in the storage device 110 according to some embodiments of the present disclosure.
  • the receiving module 320 and the sending module 340 are implemented in the interface logic 112
  • the obtaining module 310 and the determining module 330 are implemented in the controller 114 .
  • the storage device 110 in FIG. 4 may also include multiple flash memory particles and corresponding multiple channels, which are not shown in FIG. 4 for simplicity.
  • the acquisition module 310 may also be called a statistics module, and the determination module 330 may also be called a performance evaluation module.
  • the receiving module 320 may also be called a host request performance interface module, and the sending module 340 may also be called a performance specification feedback interface module. Embodiments of the present disclosure are not limited to this.
  • Fig. 5 shows a schematic block diagram of an information device 500 according to an embodiment of the present disclosure.
  • the apparatus 500 may be implemented as the task allocation device 102 as shown in FIG. 1 or a part of the task allocation device 102 .
  • the apparatus 500 may include a sending module 510 , a receiving module 520 and an allocating module 530 .
  • the receiving module 520 is configured to receive performance specifications from at least one storage device in the storage system.
  • the allocation module 530 is configured to allocate read and write operations to the at least one storage device based at least on the performance specification of the at least one storage device.
  • the sending module 510 of the apparatus 500 may be configured to send a request for the performance of the at least one storage device to the at least one storage device.
  • the performance specification includes a steady state performance specification and/or a maximum performance specification.
  • the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth.
  • the maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  • the device 500 in FIG. 5 can be used to implement the processes described above in conjunction with the host 220 in FIG. 2 , and for the sake of brevity, details will not be described here.
  • each functional unit can be integrated into one unit, or physically exist separately, or two or more units can be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • Fig. 6 shows a schematic block diagram of an example device 600 that may be used to implement embodiments of the present disclosure.
  • Device 600 may be implemented to include SSD 210 and/or host 220 shown in FIG. 1 .
  • the device 600 includes a central processing unit (Central Processing Unit, CPU) 601, a read-only memory (Read-Only Memory, ROM) 602, and a random access memory (Random Access Memory, RAM) 603.
  • the CPU 601 can perform various appropriate actions and processes according to computer program instructions stored in the RAM 602 and/or RAM 603 or loaded from the storage unit 608 into the ROM 602 and/or RAM 603.
  • various programs and data necessary for the operation of the device 600 can also be stored.
  • the CPU 601 and the ROM 602 and/or RAM 603 are connected to each other via a bus 604.
  • An input/output (I/O) interface 605 is also connected to the bus 604 .
  • the I/O interface 605 includes: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, an optical disk, etc. ; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, and the like.
  • the communication unit 609 allows the device 600 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
  • SSD 210 as shown in FIG. 1 may be implemented as part of storage unit 608.
  • CPU 601 may be various general and/or special purpose processing components having processing and computing capabilities. Some examples that can be implemented as include, but are not limited to, Graphics Processing Unit (Graphics Processing Unit, GPU), various dedicated artificial intelligence (Artificial Intelligence, AI) computing chips, various computing units that run machine learning model algorithms, digital signal A processor (Digital Signal Processor, DSP), and any suitable processor, controller, microcontroller, etc., may accordingly be referred to as a computing unit.
  • Graphics Processing Unit Graphics Processing Unit, GPU
  • various dedicated artificial intelligence (Artificial Intelligence, AI) computing chips various computing units that run machine learning model algorithms
  • digital signal A processor Digital Signal Processor, DSP
  • any suitable processor, controller, microcontroller, etc. may accordingly be referred to as a computing unit.
  • the device 600 in FIG. 6 can be implemented as various electronic devices, such as mobile handsets, desktop computers, laptop computers, notebook computers, tablet computers, personal communication system devices, personal navigation devices, personal digital assistants ( Personal Digital Assistant, PDA), e-book equipment, game equipment, Internet of Things (Internet of Things, IoT) equipment, vehicle equipment, aircraft, virtual reality (Virtual Reality, VR) equipment, augmented reality (Augmented Reality, AR) equipment, Wearable devices, TVs, cloud servers, data centers, etc.
  • PDA Personal Digital Assistant
  • e-book equipment game equipment
  • IoT Internet of Things
  • vehicle equipment vehicle equipment
  • aircraft virtual reality (Virtual Reality, VR) equipment
  • augmented reality (Augmented Reality, AR) equipment Augmented Reality, AR) equipment
  • Wearable devices TVs, cloud servers, data centers, etc.
  • TVs cloud servers, data centers, etc.
  • Embodiments of the present disclosure also provide a chip or a system chip, and the chip may include an input interface, an output interface, and a processing circuit.
  • the interaction of signaling or data may be completed by the input interface and the output interface, and the generation and processing of signaling or data information may be completed by the processing circuit.
  • Embodiments of the present disclosure also provide a computer program product containing instructions, which, when run on a computer, cause the computer to execute the methods and functions involved in any of the above embodiments.
  • Embodiments of the present disclosure also provide a computer-readable storage medium on which computer instructions are stored, and when a processor executes the instructions, the processor is made to execute the methods and functions involved in any of the above embodiments.
  • the various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software, which may be executed by a controller, microprocessor or other computing device. While various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flowcharts, or using some other pictorial representation, it should be understood that the blocks, devices, systems, techniques or methods described herein can be implemented as, without limitation, Exemplary, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.
  • the present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium.
  • the computer program product comprises computer-executable instructions, eg included in program modules, which are executed in a device on a real or virtual processor of a target to perform the process/method as above with reference to the accompanying drawings.
  • program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the functionality of the program modules may be combined or divided as desired among the program modules.
  • Machine-executable instructions for program modules may be executed within local or distributed devices. In a distributed device, program modules may be located in both local and remote storage media.
  • Computer program codes for implementing the methods of the present disclosure may be written in one or more programming languages. These computer program codes can be provided to processors of general-purpose computers, special-purpose computers, or other programmable data processing devices, so that when the program codes are executed by the computer or other programmable data processing devices, The functions/operations specified in are implemented.
  • the program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
  • computer program code or related data may be carried by any suitable carrier to enable a device, apparatus or processor to perform the various processes and operations described above.
  • carriers include signals, computer readable media, and the like.
  • signals may include electrical, optical, radio, sound, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.
  • a computer readable medium may be any tangible medium that contains or stores a program for or related to an instruction execution system, apparatus, or device.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of computer-readable storage media include electrical connections with one or more wires, portable computer diskettes, hard disks, random storage access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash), optical storage, magnetic storage, or any suitable combination thereof.

Abstract

A data processing method and a data processing apparatus. According to the method, a storage device (110) obtains operation parameters of a plurality of read-write operations executed within a period of time, determines a performance specification of the storage device (110) on the basis of these operation parameters, and sends the performance specification to a task allocation device (102) outside a storage system (101). In this way, the storage device (110) can determine the performance specification on the basis of the read-write operations in an actual scene instead of determining on the basis of a test environment, so that a more accurate performance specification can be obtained.

Description

数据处理方法及数据处理装置Data processing method and data processing device 技术领域technical field
本公开的实施例主要涉及芯片领域,更具体地,涉及一种数据处理方法及数据处理装置。Embodiments of the present disclosure mainly relate to the chip field, and more specifically, relate to a data processing method and a data processing device.
背景技术Background technique
近年来,诸如固态硬盘(Solid State Disk,SSD)的存储设备由于具有低访问时延、高随机性、高稳定性等特性,已经被广泛用于各种存储场景,如服务器、数据中心、嵌入式设备等。自SSD发展以来,已经提出了多种SSD性能评估的模型。通常的做法是将SSD当作黑盒,并通过多个测试场景的性能来建立SSD性能评估的模型。但是,由于测试场景不同于实际场景,可能导致所评估的SSD性能准确性低,与实际情况具有较大偏差。In recent years, storage devices such as Solid State Disk (SSD) have been widely used in various storage scenarios, such as servers, data centers, embedded equipment, etc. Since the development of SSD, various models for SSD performance evaluation have been proposed. The usual practice is to treat SSD as a black box, and establish a model for SSD performance evaluation through the performance of multiple test scenarios. However, since the test scenario is different from the actual scenario, the accuracy of the evaluated SSD performance may be low, and there is a large deviation from the actual situation.
发明内容Contents of the invention
本公开的实施例提供了一种数据处理方法及数据处理装置,能够基于实际场景中的读写操作来确定出更为准确的性能规格。Embodiments of the present disclosure provide a data processing method and a data processing device, which can determine more accurate performance specifications based on read and write operations in actual scenarios.
在本公开的第一方面,提供了一种数据处理方法。该方法包括:存储设备获取在一段时间内执行的多次读写操作的运行参数;存储设备基于运行参数确定存储设备的性能规格;以及存储设备将性能规格发送到存储系统外部的任务分配设备。In a first aspect of the present disclosure, a data processing method is provided. The method includes: the storage device acquires operating parameters of multiple read and write operations performed within a period of time; the storage device determines performance specifications of the storage device based on the operating parameters; and the storage device sends the performance specifications to a task allocation device outside the storage system.
如此,存储设备能够基于实际场景中的读写操作的运行参数来确定性能规格,而不是基于测试环境来确定,从而得到的性能规格更加准确。In this way, the storage device can determine the performance specification based on the operating parameters of the read and write operations in the actual scene, rather than based on the test environment, so that the obtained performance specification is more accurate.
在一种可能的实施方式中,存储设备基于运行参数确定性能规格包括存储设备响应于接收到来自任务分配设备的针对存储设备的性能的请求,基于运行参数确定性能规格。In a possible implementation manner, the determining the performance specification by the storage device based on the operating parameters includes that the storage device determines the performance specification based on the operating parameters in response to receiving a request for performance of the storage device from the task allocation device.
如此,能够基于来自任务分配设备的对存储设备的性能的请求来确定性能规格,进一步地任务分配设备能够基于来自存储设备的性能规格分配读写操作,从而充分利用存储设备的性能,实现对于数据布局的优化,提升整体性能。并且,本公开的实施例能够实现存储设备与任务分配设备之间的交互。In this way, the performance specification can be determined based on the performance request of the storage device from the task allocation device, and the task allocation device can further allocate read and write operations based on the performance specification from the storage device, so as to make full use of the performance of the storage device and realize data processing. Layout optimization to improve overall performance. Moreover, the embodiments of the present disclosure can realize the interaction between the storage device and the task distribution device.
在一种可能的实施方式中,存储设备基于运行参数确定性能规格包括如果多次读写操作的次数超过次数阈值,或者,如果当前时间点与存储设备上一次向任务分配设备发送性能规格的时间点之间的时间长度超过时间阈值,存储设备基于运行参数确定性能规格。In a possible implementation manner, the determination of the performance specification by the storage device based on the operating parameters includes if the number of multiple read and write operations exceeds the number threshold, or if the current time point is different from the last time the storage device sent the performance specification to the task allocation device The length of time between points exceeds a time threshold, and the storage device determines performance specifications based on operating parameters.
如此,能够基于预先设定的次数阈值或者时间阈值确定性能规格,进而能够动态地向任务管理设备提供性能规格。从而任务管理设备能够基于次数阈值或事件阈值定期地获取性能规格,省却了任务管理设备为了获取性能规格而发送请求的信令开销。In this way, the performance specification can be determined based on the preset times threshold or time threshold, and then the performance specification can be dynamically provided to the task management device. Therefore, the task management device can periodically obtain the performance specification based on the number of times threshold or the event threshold, which saves the signaling overhead of the task management device sending a request to obtain the performance specification.
在一种可能的实施方式中,存储设备基于运行参数确定性能规格包括存储设备基于运行参数确定存储设备内各个节点的节点性能规格,节点包括接口、通道、闪存颗粒和控制器芯片中的至少一项;以及存储设备基于各个节点的节点性能规格,确定性能规格。In a possible implementation manner, the storage device determining the performance specification based on the operating parameters includes that the storage device determines the node performance specifications of each node in the storage device based on the operating parameters, and the nodes include at least one of an interface, a channel, a flash memory particle, and a controller chip. item; and the storage device determines the performance specification based on the node performance specification of each node.
以此方式,能够考虑数据传输路径上的各个节点的节点性能,由于存储设备的架构包括接口、通道、闪存颗粒和控制器芯片等节点,因而通过考虑节点性能而充分结合了存储设备的架构,得到更加准确的存储设备性能规格。In this way, the node performance of each node on the data transmission path can be considered. Since the architecture of the storage device includes nodes such as interfaces, channels, flash memory particles, and controller chips, the architecture of the storage device is fully integrated by considering the node performance. Get more accurate storage device performance specifications.
在一种可能的实施方式中,存储设备基于运行参数确定性能规格包括存储设备将运行参 数输入到经训练的性能模型,以得到性能规格。In a possible implementation manner, the storage device determining the performance specification based on the operating parameters includes the storage device inputting the operating parameters into a trained performance model to obtain the performance specification.
如此,使用预先训练的性能模型来确定性能规格,能够充分利用已有数据并且能够提升确定性能规格的效率。In this way, using a pre-trained performance model to determine performance specifications can make full use of existing data and improve the efficiency of determining performance specifications.
在一种可能的实施方式中,运行参数包括以下中的至少一项:读写特征参数、盘片状态的参数、或算法状态的参数。In a possible implementation manner, the running parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
如此,本公开的实施例中从读写特征参数、盘片状态、算法状态等多维影响因素出发来确定性能规格,一方面使得所确定的性能规格更准确,贴近真实情况;另一方面由于考虑多个维度的运行参数,从而所确定的性能规格能够指示SSD的行为特征。进一步地可以由任务管理设备配合多个存储设备的性能规格来进行系统设计,从而以全局视角充分利用盘片的性能。In this way, in the embodiments of the present disclosure, performance specifications are determined from multi-dimensional influencing factors such as read and write characteristic parameters, disk status, and algorithm status. On the one hand, the determined performance specifications are more accurate and close to the real situation; on the other hand, due to consideration Operating parameters in multiple dimensions so that the determined performance specification can indicate the behavioral characteristics of the SSD. Furthermore, the system design can be carried out by the task management device in cooperation with the performance specifications of multiple storage devices, so as to fully utilize the performance of the disk from a global perspective.
在一种可能的实施方式中,读写特征参数包括以下至少一项:读写次数、读写大小、读写热度、或读写随机度;盘片状态的参数包括关于以下至少一项的参数:读写并发度、写放大因子、空间利用率、控制器挡位、或闪存颗粒的介质规格;算法状态的参数包括垃圾回收GC算法是否使能的指示信息、和/或独立磁盘的冗余阵列(Redundant Array of Independent Disks,RAID)配置。In a possible implementation manner, the characteristic parameters of reading and writing include at least one of the following: the number of reading and writing, the size of reading and writing, the heat of reading and writing, or the randomness of reading and writing; the parameters of the disk status include parameters about at least one of the following : Read and write concurrency, write amplification factor, space utilization, controller gear, or media specifications of flash memory particles; parameters of the algorithm status include indication information of whether the garbage collection GC algorithm is enabled, and/or redundancy of independent disks Array (Redundant Array of Independent Disks, RAID) configuration.
如此,由于诸如写放大因子等参数的确定考虑了存储设备内部的算法改变的影响,进而能够使得基于该运行参数所确定的性能规格更加准确。In this way, since the determination of parameters such as the write amplification factor takes into account the influence of algorithm changes inside the storage device, the performance specifications determined based on the operating parameters can be made more accurate.
在一种可能的实施方式中,性能规格包括稳态性能规格和最大性能规格中的至少一项。In a possible implementation manner, the performance specification includes at least one of a steady-state performance specification and a maximum performance specification.
在一种可能的实施方式中,稳态性能规格包括以下至少一项:稳态读IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽,并且其中最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。In a possible implementation, the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth, and the maximum performance specification includes at least one of the following : Maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
在本公开的第二方面,提供了一种数据处理方法。该方法包括:任务分配设备接收来自存储系统中至少一个存储设备的性能规格;以及任务分配设备至少基于至少一个存储设备的性能规格,将读写操作分配到至少一个存储设备。In a second aspect of the present disclosure, a data processing method is provided. The method includes: the task allocation device receives performance specifications from at least one storage device in the storage system; and the task allocation device allocates read and write operations to the at least one storage device based at least on the performance specification of the at least one storage device.
如此,任务分配设备可以基于来自存储设备的性能规格分配读写操作,能够充分利用存储设备的性能,实现对于数据布局的优化,提升整体性能。In this way, the task allocation device can allocate read and write operations based on performance specifications from the storage device, and can make full use of the performance of the storage device to optimize data layout and improve overall performance.
在一种可能的实施方式中,还包括任务分配设备向至少一个存储设备发送针对至少一个存储设备的性能的请求。In a possible implementation manner, the task allocation device further includes sending a request for performance of the at least one storage device to the at least one storage device.
在一种可能的实施方式中,性能规格包括稳态性能规格和最大性能规格中的至少一项。In a possible implementation manner, the performance specification includes at least one of a steady-state performance specification and a maximum performance specification.
在一种可能的实施方式中,稳态性能规格包括以下至少一项:稳态读每秒输入输出次数(Input/Output per Second,IOPS)、稳态读带宽、稳态写IOPS、或稳态写带宽,并且其中最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。In a possible implementation manner, the steady-state performance specification includes at least one of the following: steady-state read input/output times per second (Input/Output per Second, IOPS), steady-state read bandwidth, steady-state write IOPS, or steady-state The write bandwidth, and the maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
在本公开的第三方面,提供了一种数据处理装置,该装置包括:第一确定模块,被配置为获取在一段时间内执行的多次读写操作的运行参数;第二确定模块,被配置为基于运行参数确定存储设备的性能规格;以及发送模块,被配置为将性能规格发送到存储系统外部的任务分配设备。In a third aspect of the present disclosure, there is provided a data processing device, which includes: a first determination module configured to obtain operating parameters of multiple read and write operations performed within a period of time; a second determination module configured to configured to determine the performance specification of the storage device based on the operating parameters; and a sending module configured to send the performance specification to a task allocation device outside the storage system.
在一种可能的实施方式中,第二确定模块被配置为响应于接收到来自任务分配设备的针对存储设备的性能的请求,基于运行参数确定性能规格。In a possible implementation manner, the second determining module is configured to determine the performance specification based on the operating parameter in response to receiving a request for the performance of the storage device from the task allocation device.
在一种可能的实施方式中,第二确定模块被配置为如果多次读写操作的次数超过次数阈 值,或者,如果当前时间点与存储设备上一次向任务分配设备发送性能规格的时间点之间的时间长度超过时间阈值,基于运行参数确定性能规格。In a possible implementation manner, the second determining module is configured to: if the number of multiple read and write operations exceeds the number threshold, or if the current time point is between the time point when the storage device sent the performance specification to the task allocation device last time A performance specification is determined based on the operating parameters for the length of time between which the time threshold is exceeded.
在一种可能的实施方式中,第二确定模块被配置为基于运行参数确定存储设备内各个节点的节点性能规格,节点包括接口、通道、闪存颗粒和控制器芯片中的至少一项;以及基于各个节点的节点性能规格,确定性能规格。In a possible implementation manner, the second determination module is configured to determine the node performance specification of each node in the storage device based on the operating parameters, and the node includes at least one of an interface, a channel, a flash memory particle, and a controller chip; and based on The node performance specification of each node determines the performance specification.
在一种可能的实施方式中,第二确定模块被配置为将运行参数输入到经训练的性能模型,以得到性能规格。In a possible implementation manner, the second determination module is configured to input the operating parameters into the trained performance model to obtain the performance specification.
在一种可能的实施方式中,运行参数包括以下中的至少一项:读写特征参数、盘片状态的参数、或算法状态的参数。可选地,读写特征参数包括以下至少一项:读写次数、读写大小、读写热度、或读写随机度;所述盘片状态的参数包括关于以下至少一项的参数:读写并发度、写放大因子、空间利用率、控制器挡位、或闪存颗粒的的介质规格;所述算法状态的参数包括垃圾回收GC算法是否使能的指示信息、和/或RAID配置。In a possible implementation manner, the running parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters. Optionally, the read and write characteristic parameters include at least one of the following: read and write times, read and write size, read and write heat, or read and write randomness; the parameters of the disk state include parameters about at least one of the following: read and write Concurrency, write amplification factor, space utilization, controller gear, or media specifications of flash memory particles; the parameters of the algorithm state include indication information of whether the garbage collection GC algorithm is enabled, and/or RAID configuration.
在一种可能的实施方式中,性能规格包括稳态性能规格和最大性能规格中的至少一项。稳态性能规格包括以下至少一项:稳态读IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽。最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。In a possible implementation manner, the performance specification includes at least one of a steady-state performance specification and a maximum performance specification. The steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth. The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
在本公开的第四方面,提供了一种数据处理装置,该装置包括接收模块,被配置为接收来自存储系统中至少一个存储设备的性能规格;以及分配模块,被配置为至少基于至少一个存储设备的性能规格,将读写操作分配到至少一个存储设备。In a fourth aspect of the present disclosure, there is provided a data processing apparatus, which includes a receiving module configured to receive performance specifications from at least one storage device in a storage system; and an allocation module configured to at least based on at least one storage device A performance specification for a device, distributing read and write operations to at least one storage device.
在一种可能的实施方式中,该装置还包括发送模块,被配置为向至少一个存储设备发送针对至少一个存储设备的性能的请求。In a possible implementation manner, the apparatus further includes a sending module configured to send a request for performance of the at least one storage device to the at least one storage device.
在一种可能的实施方式中,性能规格包括稳态性能规格和最大性能规格中的至少一项。稳态性能规格包括以下至少一项:稳态读IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽。最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。In a possible implementation manner, the performance specification includes at least one of a steady-state performance specification and a maximum performance specification. The steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth. The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
在本公开的第五方面,提供了一种电子设备。该电子设备包括处理器以及存储器,存储器上存储有由处理器执行的指令,当指令被处理器执行时使得该电子设备实现根据上述第一方面或其任一实施例、或者上述第二方面或其任一实施例中的方法。In a fifth aspect of the present disclosure, an electronic device is provided. The electronic device includes a processor and a memory, and the memory stores instructions executed by the processor. When the instructions are executed by the processor, the electronic device realizes the above-mentioned first aspect or any embodiment thereof, or the above-mentioned second aspect or The method in any of its embodiments.
在本公开的第六方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现根据上述第一方面或其任一实施例、或者上述第二方面或其任一实施例中的方法。In a sixth aspect of the present disclosure, a computer readable storage medium is provided. Computer-executable instructions are stored on the computer-readable storage medium. When the computer-executable instructions are executed by a processor, the above-mentioned first aspect or any embodiment thereof, or the above-mentioned second aspect or any embodiment thereof can be implemented. method.
在本公开的第七方面,提供了一种计算机程序或计算机程序产品。该计算机程序或计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时实现根据上述第一方面或其任一实施例、或者上述第二方面或其任一实施例中的方法。In a seventh aspect of the present disclosure, a computer program or computer program product is provided. The computer program or computer program product is tangibly stored on a computer-readable medium and includes computer-executable instructions which, when executed, implement the computer program according to the above-mentioned first aspect or any embodiment thereof, or the above-mentioned second aspect. or the method in any of its embodiments.
在本公开的第八方面,提供了一种芯片或芯片系统。该芯片或芯片系统包括处理电路,被配置为执行根据上述第一方面或其任一实施例、或者上述第二方面或其任一实施例中的方法的操作。In an eighth aspect of the present disclosure, a chip or chip system is provided. The chip or chip system includes a processing circuit configured to perform operations according to the method in the above first aspect or any embodiment thereof, or the above second aspect or any embodiment thereof.
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。It should be understood that what is described in the Summary of the Invention is not intended to limit the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will be readily understood through the following description.
附图说明Description of drawings
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:The above and other features, advantages and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, identical or similar reference numerals denote identical or similar elements, wherein:
图1示出了本公开的一些实施例可以实现于其中的示例场景的示意图;FIG. 1 shows a schematic diagram of an example scenario in which some embodiments of the present disclosure can be implemented;
图2示出了根据本公开的一些实施例的数据处理过程的示意交互图;Fig. 2 shows a schematic interaction diagram of a data processing process according to some embodiments of the present disclosure;
图3示出了根据本公开的一些实施例的数据处理装置的示意框图;Fig. 3 shows a schematic block diagram of a data processing device according to some embodiments of the present disclosure;
图4示出了根据本公开的一些实施例的数据处理装置实现在如图1中的存储设备中的示意框图;FIG. 4 shows a schematic block diagram of a data processing apparatus implemented in a storage device as in FIG. 1 according to some embodiments of the present disclosure;
图5示出了根据本公开的一些实施例的数据处理装置的示意框图;以及Fig. 5 shows a schematic block diagram of a data processing device according to some embodiments of the present disclosure; and
图6示出了可以用来实施本公开的实施例的示例设备的示意框图。Fig. 6 shows a schematic block diagram of an example device that may be used to implement embodiments of the present disclosure.
具体实施方式Detailed ways
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the drawings, it should be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein; A more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only, and are not intended to limit the protection scope of the present disclosure.
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。术语“和/或”表示由其关联的两项的至少一项。例如“A和/或B”表示A、B、或者A和B。下文还可能包括其他明确的和隐含的定义。In the description of the embodiments of the present disclosure, the term "comprising" and its similar expressions should be interpreted as an open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be read as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same object. The term "and/or" means at least one of the two items associated with it. For example "A and/or B" means A, B, or A and B. Other definitions, both express and implied, may also be included below.
由于固态硬盘(Solid State Disk,SSD)相比硬盘(Hard Disk Drive,HDD)具有低访问时延、高随机性能、高稳定性等特性,现SSD已广泛用于各种存储场景,如服务器、数据中心、嵌入式设备等等。一般地,存储系统包括多个SSD(也称SSD盘片),而每个SSD里包含多块闪存颗粒。基于此架构,存储系统在接收到来自用户的IO请求时,会将读写操作分配到多个SSD上执行。对IO请求进行处理的速度是存储系统整体性能的直接体现,提升整体性能的直接方法是可根据SSD盘片性能来分配读写操作,从而达到充分利用各个SSD盘片性能的目的。为了达成此目的,一般需要对SSD盘片性能进行准确评估。Due to the characteristics of solid state disk (Solid State Disk, SSD) compared with hard disk drive (Hard Disk Drive, HDD), such as low access delay, high random performance, and high stability, SSD has been widely used in various storage scenarios, such as servers, Data centers, embedded devices, and more. Generally, a storage system includes multiple SSDs (also called SSD disks), and each SSD includes multiple flash memory particles. Based on this architecture, when the storage system receives IO requests from users, it will distribute read and write operations to multiple SSDs for execution. The speed of processing IO requests is a direct reflection of the overall performance of the storage system. The direct way to improve the overall performance is to allocate read and write operations according to the performance of SSD disks, so as to fully utilize the performance of each SSD disk. In order to achieve this goal, it is generally necessary to accurately evaluate the performance of SSD disks.
通常,SSD的厂商会在测试环境下得到其稳态性能,进而在SSD的产品手册中作为SSD盘片性能。但是实际上,SSD盘片性能并不是固定不变的,相反其是多变可变的,多变是指SSD盘片性能的影响因素有很多,从这个角度来看,测试环境不同于实际场景,因此在测试环境下得到的稳态性能不能等同于实际场景下的性能;可变是指SSD盘片性能会因SSD的盘内算法的改变而发生改变。因此,需要一种能够准确地确定SSD盘片性能的可靠方案。Usually, SSD manufacturers will obtain its steady-state performance in the test environment, and then use it as the SSD disk performance in the SSD product manual. But in fact, the performance of SSD disks is not fixed. On the contrary, it is changeable. Changeable means that there are many factors affecting the performance of SSD disks. From this perspective, the test environment is different from the actual scene. , so the steady-state performance obtained in the test environment cannot be equal to the performance in the actual scene; variable means that the performance of the SSD disk will change due to the change of the algorithm in the SSD. Therefore, a reliable solution capable of accurately determining the performance of SSD disks is needed.
有鉴于此,本公开的实施例提供了一种基于实际场景来确定SSD盘片性能的方案。根据该方案,存储设备确定在一段时间内的多次读写操作的相应运行参数,基于这些运行参数确定存储设备的性能规格,并将性能规格发送到外部任务分配设备。以此方式,存储设备能够基于实际场景中的读写操作来确定性能规格,从而能够以更加准确的方式得到SSD盘片性能。In view of this, the embodiments of the present disclosure provide a solution for determining performance of SSD disks based on actual scenarios. According to the solution, the storage device determines corresponding operating parameters of multiple read and write operations within a period of time, determines performance specifications of the storage device based on these operating parameters, and sends the performance specifications to an external task allocation device. In this way, the storage device can determine the performance specification based on the read and write operations in the actual scene, so that the performance of the SSD disk can be obtained in a more accurate manner.
图1示出了本公开的一些实施例可以实现于其中的示例场景100的示意图。在示例场景100中,示出了存储系统101和任务分配设备102,其中存储系统101包括存储设备110-1至 110-M,M为正整数。为了简化描述,可以将多个存储设备110-1至110-M统称为存储设备110。FIG. 1 shows a schematic diagram of an example scenario 100 in which some embodiments of the present disclosure may be implemented. In an example scenario 100, a storage system 101 and a task allocation device 102 are shown, where the storage system 101 includes storage devices 110-1 to 110-M, where M is a positive integer. To simplify the description, the multiple storage devices 110 - 1 to 110 -M may be collectively referred to as the storage device 110 .
示例性地,任务分配设备102可以被配置为分配读写操作。具体地,任务分配设备102可以基于用户的输入/输出(IO)请求确定IO队列,然后再将IO队列中相应的读写操作分配到至少一个存储设备110。存储设备110可以被配置为处理由任务分配设备102所分配的读写操作。Exemplarily, the task allocation device 102 may be configured to allocate read and write operations. Specifically, the task allocation device 102 may determine an IO queue based on a user's input/output (IO) request, and then allocate corresponding read and write operations in the IO queue to at least one storage device 110 . The storage device 110 may be configured to process read and write operations allocated by the task allocation device 102 .
如图1中以存储设备110-1为例所示的,存储设备110可以包括接口逻辑112、控制器114、多个通道118-1至118-N、以及与多个通道118-1至118-N对应的多个闪存颗粒组116-1至116-N,N为正整数。为了简化描述,可以将多个闪存颗粒组116-1至116-N统称为闪存颗粒组116,将多个通道118-1至118-N统称为通道118。闪存颗粒组116可以包括一个或多个闪存颗粒(Die)。可理解,多个通道118是可并发的,并且闪存颗粒组116中的多个闪存颗粒也是可并发的。As shown in FIG. 1 by taking the storage device 110-1 as an example, the storage device 110 may include an interface logic 112, a controller 114, a plurality of channels 118-1 to 118-N, and a -N corresponds to a plurality of flash memory particle groups 116-1 to 116-N, where N is a positive integer. To simplify the description, the plurality of flash particle groups 116 - 1 to 116 -N may be collectively referred to as the flash particle group 116 , and the plurality of channels 118 - 1 to 118 -N may be collectively referred to as the channel 118 . The flash memory die group 116 may include one or more flash memory dies (Die). It can be understood that multiple channels 118 can be concurrent, and multiple flash memory particles in the flash memory particle group 116 can also be concurrent.
存储设备110可以经由接口逻辑112实现与任务分配设备102的互联。通道118为控制器114与闪存颗粒116之间的桥梁,并且多个通道118可以并发地传输数据。The storage device 110 may be interconnected with the task distribution device 102 via the interface logic 112 . The channel 118 is a bridge between the controller 114 and the flash memory particle 116 , and multiple channels 118 can transmit data concurrently.
在本公开的一些实施例中,存储设备110可以被实现为SSD,存储设备110也可以被称为SSD盘片或其他名称等。任务分配设备102可以包括处理器,但是本公开对处理器的实现方式不作限定,例如可以包括中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)、神经网络处理单元(Neural Network Processing Unit,NPU)、或数字信号处理器(Digital Signal Processor,DSP)等。为了方便描述,下文中将任务分配设备102称为主机(Host),但是应理解,该称呼仅是示意,不应解释为对本公开的限定。读写操作可以被称为IO操作等。本公开对此不限定。In some embodiments of the present disclosure, the storage device 110 may be implemented as an SSD, and the storage device 110 may also be called an SSD disk or other names. The task allocation device 102 may include a processor, but the implementation of the processor is not limited in the present disclosure, for example, it may include a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU), a neural network processing unit (Neural Network Processing Unit, NPU), or Digital Signal Processor (Digital Signal Processor, DSP), etc. For the convenience of description, the task distribution device 102 is referred to as a host (Host) hereinafter, but it should be understood that this name is only for illustration and should not be construed as a limitation of the present disclosure. Read and write operations may be referred to as IO operations, etc. This disclosure is not limited thereto.
应理解,图1中所示出的存储设备110的架构仅是示意性的,例如存储设备110还可以包括与控制器114耦合连接的随机存取存储器(Random Access Memory,RAM),或者例如多个闪存颗粒组116可以被实现为NAND闪存(NAND Flash)117,或者例如控制器114可以被称为控制器芯片。本公开的实施例对此不限定。It should be understood that the architecture of the storage device 110 shown in FIG. Each flash memory particle group 116 can be realized as NAND flash memory (NAND Flash) 117, or for example, the controller 114 can be referred to as a controller chip. Embodiments of the present disclosure are not limited to this.
下面将结合图1所描述的场景100,以存储设备110为SSD且任务分配设备102为主机为例,描述本公开的实施例中的数据处理的方案。本公开实施例的方案能够确定SSD的盘片性能,其中该盘片性能可以用SSD的性能规格进行表征。The data processing solution in the embodiment of the present disclosure will be described below in conjunction with the scenario 100 described in FIG. 1 , taking the storage device 110 as an SSD and the task allocation device 102 as a host as an example. The solutions of the embodiments of the present disclosure can determine the disk performance of the SSD, where the disk performance can be characterized by the performance specification of the SSD.
图2示出了根据本公开的一些实施例的数据处理过程200的示意交互图。过程200涉及SSD 210和主机220,可理解SSD 210为如图1所示的存储设备110的一例,主机220为如图1所示的任务分配设备102的一例。FIG. 2 shows a schematic interaction diagram of a data processing process 200 according to some embodiments of the present disclosure. Process 200 involves SSD 210 and host 220. It can be understood that SSD 210 is an example of storage device 110 as shown in FIG. 1 , and host 220 is an example of task allocation device 102 as shown in FIG. 1 .
在过程200中,SSD 210获取201在一段时间内执行的多次读写操作的运行参数。In the process 200, the SSD 210 obtains 201 operating parameters of multiple read and write operations performed within a period of time.
具体而言,在实际场景中,主机220可以基于来自用户的IO请求来分配读写操作,例如读写操作可以为:主机220从SSD 210读取数据或者向SSD 210写入数据。相应地,SSD 210可以获取与读写操作相关联的运行参数。Specifically, in an actual scenario, the host 220 can allocate read and write operations based on IO requests from users. For example, the read and write operations can be: the host 220 reads data from the SSD 210 or writes data to the SSD 210. Correspondingly, the SSD 210 can obtain operating parameters associated with read and write operations.
一段时间可以是从SSD 210上一次向主机220发送性能规格之后开始的。可理解,在一段时间内执行的读写操作可以包括至少一次读取操作和/或至少一次写入操作。那么SSD 210可以针对每次读写操作确定相应的运行参数。The period of time may be from the last time SSD 210 sent performance specifications to host 220. It can be understood that the read and write operations performed within a period of time may include at least one read operation and/or at least one write operation. Then the SSD 210 can determine corresponding operating parameters for each read and write operation.
示例性地,运行参数可以是基于对多次读写操作的统计来确定的,例如用于表征SSD 210 的运行状态。在本公开的一些实施例中,运行参数可以包括以下中的至少一项:读写特征参数、盘片状态的参数、或算法状态的参数。Exemplarily, the running parameter may be determined based on the statistics of multiple read and write operations, for example, to characterize the running state of the SSD 210 . In some embodiments of the present disclosure, the running parameters may include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
示例性地,读写特征参数可以包括读写次数、读写大小(size)、读写热度、读写随机度等中的至少一项。可选地,读写次数可以表示多个读写操作的总次数,读写大小可以表示多个读写操作的总大小或平均大小,读写热度可以表示多次读写操作的总热度或平均热度,读写随机度可以表示多次读写操作的总随机度或平均随机度。Exemplarily, the read/write characteristic parameter may include at least one item of read/write times, read/write size (size), read/write heat, and read/write randomness. Optionally, the number of reads and writes can represent the total number of multiple read and write operations, the read and write size can represent the total or average size of multiple read and write operations, and the read and write heat can represent the total or average heat of multiple read and write operations Heat, read and write randomness can represent the total randomness or average randomness of multiple read and write operations.
具体而言,读写特征参数可以包括读取参数和写入参数。读取参数可以包括以下至少一项:读取次数、读取大小、读取热度、读取随机度等。写入参数可以包括以下至少一项:写入次数、写入大小、写入热度、写入随机度等。Specifically, the read and write characteristic parameters may include read parameters and write parameters. The read parameters may include at least one of the following: read times, read size, read heat, read randomness, and the like. The write parameters may include at least one of the following: write times, write size, write heat, write randomness, and the like.
示例性地,主机220可以向SSD 210发送读写命令,该读写命令包括以下至少一项:读写类型、逻辑块地址(Logic Block Address,LBA)的起始地址、LBA的长度等。在一些示例中,该读写命令中的读写类型为“读取”,那么SSD 210可以确定读取参数。在一些示例中,该读写命令中的读写类型为“写入”,那么SSD 100可以确定写入参数。Exemplarily, the host 220 may send a read and write command to the SSD 210, and the read and write command includes at least one of the following: a read and write type, a start address of a Logic Block Address (Logic Block Address, LBA), a length of the LBA, and the like. In some examples, the read/write type in the read/write command is "read", then SSD 210 can determine the read parameters. In some examples, the read/write type in the read/write command is "write", then SSD 100 can determine the write parameters.
示例性地,盘片状态可以包括读写并发度、写放大因子(Write Amplification Factor,WAF)、空间利用率、控制器挡位、闪存颗粒的介质规格等中的至少一项。可选地,读写并发度可以表示盘片内可并发的节点的读写并发度,例如可以包括通道读写并发度和/或闪存颗粒读写并发度。在一些示例中,通道读并发度可以表示在读取操作时并发的通道数,通道写并发度表示在写入操作时并发的通道数。在一些示例中,闪存颗粒读并发度可以表示在读取操作时并发的闪存颗粒数,闪存颗粒写并发度表示在写入操作时并发的闪存颗粒数。例如空间利用率可以表示为百分比的形式,例如控制器挡位可以表示为具体的挡位值(如1等),例如闪存颗粒的介质规格可以表示为闪存颗粒响应读写操作的访问时延等。Exemplarily, the status of the disc may include at least one of read and write concurrency, write amplification factor (Write Amplification Factor, WAF), space utilization, controller gear, media specifications of flash memory particles, and the like. Optionally, the read/write concurrency may represent the read/write concurrency of nodes in the disk that can be concurrent, for example, may include the read/write concurrency of channels and/or the read/write concurrency of flash memory particles. In some examples, the channel read concurrency may indicate the number of concurrent channels during read operations, and the channel write concurrency indicates the number of concurrent channels during write operations. In some examples, the read concurrency of flash memory particles may indicate the number of concurrent flash memory particles during a read operation, and the write concurrency of flash memory particles may indicate the number of concurrent flash memory particles during a write operation. For example, the space utilization rate can be expressed as a percentage, for example, the controller gear can be expressed as a specific gear value (such as 1, etc.), for example, the medium specification of the flash memory particle can be expressed as the access delay of the flash memory particle in response to read and write operations, etc. .
示例性地,算法状态可以包括垃圾回收(Garbage Collection,GC)算法是否使能,相应地,算法状态的参数包括GC算法是否使能的指示信息。示例性地,算法状态可以包括RAID配置等。例如,RAID配置可以包括闪存颗粒的最大并发能力等。Exemplarily, the algorithm state may include whether the garbage collection (Garbage Collection, GC) algorithm is enabled, and correspondingly, the parameter of the algorithm state includes indication information whether the GC algorithm is enabled. Exemplarily, the algorithm state may include RAID configuration and the like. For example, the RAID configuration may include the maximum concurrent capability of the flash memory granules, and the like.
本公开的实施例对SSD 210确定运行参数的具体方式不作限定,例如可以通过计数等方式实现。在运行参数包括WAF的实施例中,SSD 210可以基于在写操作过程中所触发的垃圾回收(Garbage Collection,GC)来确定WAF。具体而言,SSD 210接收来自主机220的写入命令,在写入过程中可以基于盘片资源确定是否触发GC操作,并且可以通过统计该写入过程中所触发的GC操作的次数来确定WAF。盘片资源可以包括SSD硬盘空间中的空白块资源,简称为空白空间。可选地,可以在空白空间低于预设的资源阈值时,触发GC操作。Embodiments of the present disclosure do not limit the specific manner in which the SSD 210 determines the operating parameters, for example, it may be implemented by means of counting or the like. In an embodiment where the operating parameters include WAF, SSD 210 may determine the WAF based on garbage collection (Garbage Collection, GC) triggered during the write operation. Specifically, SSD 210 receives a write command from host 220. During the writing process, it can determine whether to trigger a GC operation based on disk resources, and can determine the WAF by counting the number of GC operations triggered during the writing process. . Disk resources may include blank block resources in SSD hard disk space, referred to as blank space for short. Optionally, a GC operation may be triggered when the empty space is lower than a preset resource threshold.
如此,本公开的实施例中还考虑SSD内部的算法(如GC算法)改变(即是否使能)对运行参数的影响,进而能够获取更多样的性能规格。In this way, the embodiment of the present disclosure also considers the influence of the change (ie whether it is enabled or not) of the internal algorithm (such as the GC algorithm) of the SSD on the operating parameters, so that more various performance specifications can be obtained.
可理解的是,上面所描述的运行参数等仅是示意,在实际应用中,运行参数还可以包括在上面未列出的其他参数等。可选地,上述的术语仅是示意,在实际应用中,上述的术语可以被替换为其他的名称,例如读写次数可以被称为读写个数,例如读写热度可以被称为读写冷热度,例如读写可以被称为IO,本公开的实施例对此不限定。It can be understood that the above-described operating parameters and the like are only illustrative, and in practical applications, the operating parameters may also include other parameters not listed above. Optionally, the above-mentioned terms are only illustrative, and in practical applications, the above-mentioned terms can be replaced by other names, for example, the number of reads and writes can be called the number of reads and writes, for example, the reading and writing heat can be called the number of reads and writes The temperature, such as reading and writing, may be referred to as IO, which is not limited in the embodiments of the present disclosure.
在过程200中,SSD 210基于运行参数确定202 SSD 210的性能规格。In process 200, SSD 210 determines 202 performance specifications for SSD 210 based on the operating parameters.
可理解,性能规格也可以被称为存储设备性能规格、存储性能规格、SSD性能规格、盘片性能规格等,或者也可以被称为存储设备性能参数或SSD性能参数等,本公开对此不限定。It can be understood that performance specifications may also be referred to as storage device performance specifications, storage performance specifications, SSD performance specifications, disk performance specifications, etc., or may also be referred to as storage device performance parameters or SSD performance parameters, etc., which are not discussed in this disclosure. limited.
在本公开的实施例中,性能规格可以包括稳态性能规格和/或最大性能规格。可选地,稳态性能规格可以是GC使能情况下的性能规格,最大性能规格可以是GC不使能情况下的性能规格。In embodiments of the present disclosure, performance specifications may include steady-state performance specifications and/or maximum performance specifications. Optionally, the steady-state performance specification may be a performance specification when GC is enabled, and the maximum performance specification may be a performance specification when GC is not enabled.
在一些实施例中,SSD 210可以基于来自主机220的性能请求来确定性能规格。如图2所示,主机220可以向SSD 210发送212性能请求。该性能请求可以为针对SSD 210的性能的请求。相应地,响应于接收到的来自主机220的针对SSD 210的性能的请求,SSD 210可以基于运行参数来确定性能规格。In some embodiments, SSD 210 may determine performance specifications based on performance requests from host 220. As shown in FIG. 2, the host 220 may send 212 a performance request to the SSD 210. The performance request may be a request for the performance of the SSD 210. Accordingly, in response to receiving a request from host 220 for the performance of SSD 210, SSD 210 may determine performance specifications based on operating parameters.
在一些示例中,可以通过第一特定字段来发送该性能请求。例如可以预先定义第一特定字段以用于性能请求。在一些示例中,可以通过第一标记字段指示接下来的传输为性能请求,并在该第一标记字段之后紧接着发送性能请求。如此,本公开的实施例可以通过自定义接口字段以确保主机220所发送的性能请求被SSD 210正确识别,通过定义可识别的语言能够确保性能请求的正确传输。In some examples, the capability request may be sent through a first specific field. For example, a first specific field may be predefined for the capability request. In some examples, the first flag field may be used to indicate that the next transmission is a capability request, and the capability request is sent immediately after the first flag field. In this way, the embodiment of the present disclosure can ensure that the performance request sent by the host 220 is correctly recognized by the SSD 210 by customizing the interface field, and can ensure correct transmission of the performance request by defining a recognizable language.
可选地,如果该性能请求指示对稳态性能规格的请求,则SSD 210可以基于该性能请求确定稳态性能规格。可选地,如果该性能请求指示对最大性能规格的请求,则SSD 210可以基于该性能请求确定最大性能规格。可选地,如果该性能请求指示对稳态性能规格和最大性能规格的请求,则SSD 210可以基于该性能请求确定稳态性能规格和最大性能规格。Optionally, if the performance request indicates a request for a steady-state performance specification, SSD 210 may determine a steady-state performance specification based on the performance request. Optionally, if the performance request indicates a request for a maximum performance specification, SSD 210 may determine the maximum performance specification based on the performance request. Optionally, if the performance request indicates a request for a steady-state performance specification and a maximum performance specification, SSD 210 may determine a steady-state performance specification and a maximum performance specification based on the performance request.
在一些实施例中,SSD 210可以基于事件触发来确定性能规格。举例而言,事件触发可以包括在一段时间内执行的多次读写操作的总次数超过次数阈值,其中读写操作的总次数可以为读取次数与写入次数之和。In some embodiments, SSD 210 may determine performance metrics based on event triggers. For example, the event trigger may include that the total number of multiple read and write operations performed within a period of time exceeds a number threshold, where the total number of read and write operations may be the sum of the number of reads and the number of writes.
在一些实施例中,SSD 210可以周期性地来确定性能规格。举例而言,该周期可以包括一段时间的时长达到时间阈值。或者该周期可以包括从上一次向主机220发送性能规格后经过的时长超过时间阈值,也就是说,SSD 210上一次向主机220发送性能规格的时间点与当前时间点之间的时间长度超过时间阈值。In some embodiments, SSD 210 may periodically determine performance specifications. For example, the period may include a period of time to reach a time threshold. Or the period may include that the elapsed time from the last time the performance specification was sent to the host 220 exceeds the time threshold, that is, the time period between the time when the SSD 210 sent the performance specification to the host 220 last time and the current time exceeds the time threshold.
SSD 210所确定的性能规格可以至少包括每秒输入输出次数(Input/Output per Second,IOPS)和/或带宽。具体而言,性能规格可以包括以下中至少一项:读IOPS、读带宽、写IOPS、和写带宽。相应地,可理解,稳态性能规格可以包括以下至少一项:稳态读IOPS、稳态读带宽、稳态写IOPS、和稳态写带宽。最大性能规格可以包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、和最大写带宽。The performance specification determined by the SSD 210 may at least include Input/Output per Second (IOPS) and/or bandwidth. Specifically, the performance specification may include at least one of the following: read IOPS, read bandwidth, write IOPS, and write bandwidth. Correspondingly, it can be understood that the steady-state performance specification may include at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, and steady-state write bandwidth. The maximum performance specification may include at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, and maximum write bandwidth.
在一些实施例中,SSD 210可以基于运行参数确定SSD 210的多个节点中各个节点的节点性能规格,进一步地可以基于各个节点的节点性能规格来确定SSD性能规格。多个节点可以包括在读写操作的执行过程中数据所流经的接口、通道、闪存颗粒和控制器芯片。并且可选地,SSD 210可以将最小的节点性能规格作为SSD性能规格。In some embodiments, the SSD 210 can determine the node performance specification of each node in the multiple nodes of the SSD 210 based on the operating parameters, and further determine the SSD performance specification based on the node performance specification of each node. Multiple nodes may include interfaces, channels, flash particles, and controller chips through which data flows during the execution of read and write operations. And optionally, the SSD 210 may use the minimum node performance specification as the SSD performance specification.
以最大写IOPS为例,可以通过在SSD 210的架构上停止GC操作,以使WAF接近于1。Taking the maximum write IOPS as an example, the WAF can be close to 1 by stopping the GC operation on the SSD 210 architecture.
以稳态写IOPS为例,SSD 210可以确定接口稳态写IOPS、通道稳态写IOPS和闪存颗粒稳态写IOPS,然后再将接口稳态写IOPS、通道稳态写IOPS和闪存颗粒稳态写IOPS中的最小值确定为SSD 210的稳态写IOPS。Taking steady-state write IOPS as an example, SSD 210 can determine interface steady-state write IOPS, channel steady-state write IOPS, and flash particle steady-state write IOPS, and then determine interface steady-state write IOPS, channel steady-state write IOPS, and flash particle steady-state The minimum value in the write IOPS is determined as the steady-state write IOPS of the SSD 210 .
示例性地,节点包括接口,SSD 210可以基于以下至少一项来确定接口的性能规格:接口的传输速率、或RAID配置。Exemplarily, the node includes an interface, and the SSD 210 may determine the performance specification of the interface based on at least one of the following: the transmission rate of the interface, or the RAID configuration.
示例性地,节点包括通道,SSD 210可以基于以下至少一项来确定通道的性能规格:通 道读写并发度、WAF、闪存颗粒读写并发度、闪存颗粒的介质规格、RAID配置、传输速率等。Exemplarily, the node includes a channel, and the SSD 210 can determine the performance specification of the channel based on at least one of the following: channel read-write concurrency, WAF, flash memory particle read-write concurrency, flash memory particle media specification, RAID configuration, transmission rate, etc. .
示例性地,节点包括闪存颗粒,SSD 210可以基于以下至少一项来确定闪存颗粒的性能规格:闪存颗粒读写并发度、WAF、闪存颗粒的介质规格、RAID配置、传输速率等。Exemplarily, the node includes a flash granule, and the SSD 210 may determine the performance specification of the flash granule based on at least one of the following: the read/write concurrency of the flash granule, WAF, the medium specification of the flash granule, the RAID configuration, the transmission rate, and the like.
示例性地,节点包括控制器芯片,或者节点还可以包括SSD 210中的其他节点,这里不再罗列。Exemplarily, the node includes a controller chip, or the node may also include other nodes in the SSD 210, which will not be listed here.
可见,基于数据的传输路径上的性能最小的节点的性能来确定SSD性能规格,该确定方式考虑了SSD的架构,使所得到的SSD性能更加准确。It can be seen that the SSD performance specification is determined based on the performance of the node with the smallest performance on the data transmission path. This determination method takes into account the structure of the SSD, so that the obtained SSD performance is more accurate.
在一些实施例中,SSD 210可以使用经训练的性能模型,基于运行参数确定性能规格。具体而言,可以将运行参数中的部分或全部输入到经训练的性能模型,从而该经训练的性能模型的输出即为性能规格。In some embodiments, SSD 210 may determine performance specifications based on operating parameters using a trained performance model. Specifically, some or all of the operating parameters may be input into the trained performance model, so that the output of the trained performance model is the performance specification.
可以使用训练数据集,通过训练得到该经训练的性能模型,其中训练数据集可以包括多个数据项,每个数据项可以包括运行参数以及对应的性能规格。可选地,还可以将201处得到的运行参数与实际的性能规格添加到训练数据集中,以更新性能模型。The trained performance model may be obtained through training using a training data set, wherein the training data set may include multiple data items, and each data item may include operating parameters and corresponding performance specifications. Optionally, the operating parameters and actual performance specifications obtained at 201 may also be added to the training data set to update the performance model.
本公开的实施例对性能模型的网络结构不作限定,例如其可以是包括多个卷积层的神经网络模型,例如其可以包括回归树(regression tree)或判决树结构。Embodiments of the present disclosure do not limit the network structure of the performance model, for example, it may be a neural network model including multiple convolutional layers, for example, it may include a regression tree (regression tree) or a decision tree structure.
可选地,可以使用第一性能模型确定稳态性能规格,使用第二性能模型确定最大性能规格。可选地,可以使用第三性能模型确定IOPS,使用第四性能模型确定带宽。本公开实施例对此不限定。Alternatively, a first performance model may be used to determine a steady-state performance specification, and a second performance model may be used to determine a maximum performance specification. Optionally, the third performance model may be used to determine IOPS, and the fourth performance model may be used to determine bandwidth. Embodiments of the present disclosure do not limit this.
可见,使用预先训练的性能模型来确定SSD盘片性能,能够充分利用已有数据并且能够提升确定性能规格的效率。It can be seen that using a pre-trained performance model to determine the performance of SSD disks can make full use of existing data and improve the efficiency of determining performance specifications.
应注意,尽管上面以IOPS和带宽作为性能规格进行阐述,但是可理解,上述列出的性能规格仅是示意性的,在实际应用中,性能规格也可以包括响应时间、队列深度、每秒队列满的次数等表征SSD性能的其他参数,本公开对此不限定。It should be noted that although IOPS and bandwidth are used as performance specifications above, it can be understood that the performance specifications listed above are only illustrative. In actual applications, performance specifications may also include response time, queue depth, and queue per second. Other parameters that characterize SSD performance, such as the number of full times, are not limited in this disclosure.
在过程200中,SSD 210将性能规格发送203至主机220。In process 200, SSD 210 sends 203 performance specifications to host 220.
在一些示例中,可以通过第二特定字段来发送该性能规格。例如可以预先定义第二特定字段以用于性能规格。在一些示例中,可以通过第二标记字段指示接下来的传输为性能规格,并在该第二标记字段之后紧接着发送性能规格。如此,本公开的实施例可以通过自定义接口字段以确保SSD 210所发送的性能规格被主机220正确识别。In some examples, the performance specification may be sent through a second specific field. For example a second specific field may be predefined for performance specification. In some examples, the second flag field may be used to indicate that the next transmission is a performance specification, and the performance specification is sent immediately after the second flag field. In this way, the embodiment of the present disclosure can ensure that the performance specification sent by the SSD 210 is correctly recognized by the host 220 by customizing the interface field.
在过程200中,主机220基于性能规格分配204读写操作。In process 200, host 220 allocates 204 read and write operations based on performance specifications.
基于上述201至203的描述,主机220可以接收来自存储系统101中至少一个存储设备110(如SSD 210)的性能规格。在一些示例中,主机220可以接收来自多个存储设备110(如SSD 210)的各自的性能规格,进而主机220可以基于多个存储设备110(如SSD 210)各自的性能规格来分配读写操作。这样能够实现对于数据布局的优化,提升整体性能。Based on the descriptions in 201 to 203 above, the host 220 may receive performance specifications from at least one storage device 110 (such as SSD 210) in the storage system 101. In some examples, the host 220 can receive respective performance specifications from multiple storage devices 110 (such as SSD 210), and then the host 220 can distribute read and write operations based on the respective performance specifications of multiple storage devices 110 (such as SSD 210) . This can optimize the data layout and improve the overall performance.
如此,主机220可以充分考虑各个SSD的盘片性能,实现了SSD盘片的有效利用,并确保了读写的整体性能。In this way, the host 220 can fully consider the disk performance of each SSD, realize the effective utilization of SSD disks, and ensure the overall performance of reading and writing.
通过结合图2所描述的过程200,本公开实施例中的SSD能够基于实际场景中的读写操作来确定性能规格,而不是基于测试环境来确定,从而得到的性能规格更加准确。并且在确定过程中,还考虑盘片内部的控制器算法对性能的影响,从而充分挖掘了盘片的能力,使盘 片性能能够被充分利用。Through the process 200 described in conjunction with FIG. 2 , the SSD in the embodiment of the present disclosure can determine the performance specification based on the read and write operations in the actual scene instead of the test environment, so that the obtained performance specification is more accurate. And in the determination process, the influence of the internal controller algorithm on the performance of the disk is also considered, so as to fully tap the ability of the disk and make the performance of the disk fully utilized.
应理解,在本公开的实施例中,“第一”,“第二”,“第三”等只是为了表示多个对象可能是不同的,但是同时不排除两个对象之间是相同的。“第一”,“第二”,“第三”等不应当解释为对本公开实施例的任何限制。It should be understood that in the embodiments of the present disclosure, "first", "second", "third" and so on are only used to indicate that multiple objects may be different, but it does not exclude that two objects are the same. "First", "second", "third" and so on should not be construed as any limitations on the embodiments of the present disclosure.
还应理解,本公开的实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在符合逻辑的情况下,可以相互结合。It should also be understood that the divisions of methods, situations, categories and embodiments in the embodiments of the present disclosure are only for the convenience of description, and should not constitute special limitations. Logical cases can be combined with each other.
还应理解,上述内容只是为了帮助本领域技术人员更好地理解本公开的实施例,而不是要限制本公开的实施例的范围。本领域技术人员根据上述内容,可以进行各种修改或变化或组合等。这样的修改、变化或组合后的方案也在本公开的实施例的范围内。It should also be understood that the above content is only for helping those skilled in the art to better understand the embodiments of the present disclosure, rather than limiting the scope of the embodiments of the present disclosure. Those skilled in the art may make various modifications or changes or combinations based on the above contents. Such modifications, changes or combined solutions are also within the scope of the embodiments of the present disclosure.
还应理解,上述内容的描述着重于强调各个实施例之前的不同之处,相同或相似之处可以互相参考或借鉴,为了简洁,这里不再赘述。It should also be understood that the above description focuses on the differences between the various embodiments, and the same or similar points may refer to or learn from each other, and for the sake of brevity, details are not repeated here.
图3示出了根据本公开的实施例的数据处理装置300的示意框图。装置300可以被实现为如图1所示的存储设备110或存储设备110的一部分。FIG. 3 shows a schematic block diagram of a data processing device 300 according to an embodiment of the present disclosure. The apparatus 300 may be implemented as the storage device 110 or a part of the storage device 110 as shown in FIG. 1 .
装置300可以包括获取模块310、接收模块320、确定模块330以及发送模块340。获取模块310被配置为获取在一段时间内执行的多次读写操作的运行参数。确定模块330被配置为基于运行参数确定存储设备的性能规格。发送模块340被配置为将性能规格发送到存储系统外部的任务分配设备。The apparatus 300 may include an acquiring module 310 , a receiving module 320 , a determining module 330 and a sending module 340 . The obtaining module 310 is configured to obtain operating parameters of multiple read and write operations performed within a period of time. The determining module 330 is configured to determine performance specifications of the storage device based on the operating parameters. The sending module 340 is configured to send the performance specification to a task distribution device outside the storage system.
在一些实施例中,确定模块330可以被配置为响应于接收到来自任务分配设备的针对存储设备的性能的请求,基于运行参数确定性能规格。可理解,图3中所示的接收模块320可以被配置为接收来自任务分配设备的针对存储设备的性能的请求。In some embodiments, the determining module 330 may be configured to determine the performance specification based on the operating parameters in response to receiving a request for the performance of the storage device from the task allocation device. It can be understood that the receiving module 320 shown in FIG. 3 may be configured to receive the request for the performance of the storage device from the task allocation device.
在一些实施例中,确定模块330可以被配置为如果多次读写操作的次数超过次数阈值,或者,如果当前时间点与存储设备上一次向任务分配设备发送性能规格的时间点之间的时间长度超过时间阈值,基于运行参数确定性能规格。In some embodiments, the determining module 330 may be configured to: if the number of multiple read and write operations exceeds the number threshold, or if the time between the current time point and the last time the storage device sends the performance specification to the task allocation device The length exceeds a time threshold, and a performance specification is determined based on the operating parameters.
可选地,确定模块330可以被配置为基于运行参数确定存储设备内各个节点的节点性能规格,节点包括接口、通道、闪存颗粒和控制器芯片中的至少一项;以及基于各个节点的节点性能规格,确定性能规格。Optionally, the determination module 330 may be configured to determine the node performance specification of each node in the storage device based on the operating parameters, and the node includes at least one of an interface, a channel, a flash memory particle, and a controller chip; and based on the node performance specification of each node Specifications, to determine performance specifications.
可选地,确定模块330可以被配置为将运行参数输入到经训练的性能模型,以得到性能规格。Optionally, the determination module 330 may be configured to input operating parameters into the trained performance model to obtain performance specifications.
示例性地,运行参数包括以下中的至少一项:读写特征参数、盘片状态的参数、或算法状态的参数。可选地,读写特征参数包括以下至少一项:读写次数、读写大小、读写热度、或读写随机度;所述盘片状态的参数包括关于以下至少一项的参数:读写并发度、写放大因子、空间利用率、控制器挡位、或闪存颗粒的介质规格;所述算法状态的参数包括垃圾回收GC算法是否使能的指示信息、和/或RAID配置。Exemplarily, the running parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters. Optionally, the read and write characteristic parameters include at least one of the following: read and write times, read and write size, read and write heat, or read and write randomness; the parameters of the disk state include parameters about at least one of the following: read and write Concurrency, write amplification factor, space utilization, controller gear, or media specifications of flash memory particles; the parameters of the algorithm state include indication information of whether the garbage collection GC algorithm is enabled, and/or RAID configuration.
示例性地,性能规格包括稳态性能规格和/或最大性能规格。稳态性能规格包括以下至少一项:稳态读IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽。最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。Exemplarily, the performance specification includes a steady state performance specification and/or a maximum performance specification. The steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth. The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
图3中的装置300能够用于实现上述结合图2中由SSD 210所述的各个过程,为了简洁,这里不再赘述。The device 300 in FIG. 3 can be used to implement the processes described above in conjunction with the SSD 210 in FIG. 2 , and for the sake of brevity, details are not repeated here.
结合图1,装置300中的各个模块可以被实现在接口逻辑112和控制器114中。图4示出了根据本公开的一些实施例的装置300中各模块实现在存储设备110内的一种模块分布400示意图。如图4所示,接收模块320和发送模块340被实现在接口逻辑112中,获取模块310和确定模块330被实现在控制器114中。另外,可理解,图4中的存储设备110也可以包括多个闪存颗粒以及对应的多个通道,为了简化,图4中未示出。Referring to FIG. 1 , each module in the device 300 can be implemented in the interface logic 112 and the controller 114 . Fig. 4 shows a schematic diagram of a module distribution 400 in which modules in the apparatus 300 are implemented in the storage device 110 according to some embodiments of the present disclosure. As shown in FIG. 4 , the receiving module 320 and the sending module 340 are implemented in the interface logic 112 , and the obtaining module 310 and the determining module 330 are implemented in the controller 114 . In addition, it can be understood that the storage device 110 in FIG. 4 may also include multiple flash memory particles and corresponding multiple channels, which are not shown in FIG. 4 for simplicity.
可理解的是,在图3或图4中示出的各个模块的名称仅是示意的。例如获取模块310也可以被称为统计模块,确定模块330也可以被称为性能评估模块。例如接收模块320也可以被称为主机请求性能接口模块,发送模块340也可以被称为性能规格反馈接口模块。本公开的实施例对此不限定。It can be understood that the names of the various modules shown in FIG. 3 or FIG. 4 are only for illustration. For example, the acquisition module 310 may also be called a statistics module, and the determination module 330 may also be called a performance evaluation module. For example, the receiving module 320 may also be called a host request performance interface module, and the sending module 340 may also be called a performance specification feedback interface module. Embodiments of the present disclosure are not limited to this.
图5示出了根据本公开的实施例的信息装置500的示意框图。装置500可以被实现为如图1所示的任务分配设备102或者任务分配设备102的一部分。Fig. 5 shows a schematic block diagram of an information device 500 according to an embodiment of the present disclosure. The apparatus 500 may be implemented as the task allocation device 102 as shown in FIG. 1 or a part of the task allocation device 102 .
装置500可以包括发送模块510、接收模块520以及分配模块530。接收模块520被配置为接收来自存储系统中至少一个存储设备的性能规格。分配模块530被配置为至少基于至少一个存储设备的性能规格,将读写操作分配到至少一个存储设备。The apparatus 500 may include a sending module 510 , a receiving module 520 and an allocating module 530 . The receiving module 520 is configured to receive performance specifications from at least one storage device in the storage system. The allocation module 530 is configured to allocate read and write operations to the at least one storage device based at least on the performance specification of the at least one storage device.
装置500的发送模块510可以被配置为向至少一个存储设备发送针对至少一个存储设备的性能的请求。The sending module 510 of the apparatus 500 may be configured to send a request for the performance of the at least one storage device to the at least one storage device.
示例性地,性能规格包括稳态性能规格和/或最大性能规格。稳态性能规格包括以下至少一项:稳态读IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽。最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。Exemplarily, the performance specification includes a steady state performance specification and/or a maximum performance specification. The steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth. The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
图5中的装置500能够用于实现上述结合图2中由主机220所述的各个过程,为了简洁,这里不再赘述。The device 500 in FIG. 5 can be used to implement the processes described above in conjunction with the host 220 in FIG. 2 , and for the sake of brevity, details will not be described here.
另外,可理解,本公开的实施例中对模块或单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在公开的实施例中的各功能单元可以集成在一个单元中,也可以是单独物理存在,也可以两个或两个以上单元集成为一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, it can be understood that the division of modules or units in the embodiments of the present disclosure is schematic, and is only a logical function division, and there may be other division methods in actual implementation. In addition, in the disclosed embodiments Each functional unit can be integrated into one unit, or physically exist separately, or two or more units can be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。设备600可以被实现为包括图1所示的SSD 210和/或主机220。Fig. 6 shows a schematic block diagram of an example device 600 that may be used to implement embodiments of the present disclosure. Device 600 may be implemented to include SSD 210 and/or host 220 shown in FIG. 1 .
如图所示,设备600包括中央处理单元(Central Processing Unit,CPU)601、只读存储器(Read-Only Memory,ROM)602以及随机存取存储器(Random Access Memory,RAM)603。CPU 601可以根据存储在RAM 602和/或RAM 603中的计算机程序指令或者从存储单元608加载到ROM 602和/或RAM 603中的计算机程序指令,来执行各种适当的动作和处理。在ROM 602和/或RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601和ROM 602和/或RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。As shown in the figure, the device 600 includes a central processing unit (Central Processing Unit, CPU) 601, a read-only memory (Read-Only Memory, ROM) 602, and a random access memory (Random Access Memory, RAM) 603. The CPU 601 can perform various appropriate actions and processes according to computer program instructions stored in the RAM 602 and/or RAM 603 or loaded from the storage unit 608 into the ROM 602 and/or RAM 603. In the ROM 602 and/or the RAM 603, various programs and data necessary for the operation of the device 600 can also be stored. The CPU 601 and the ROM 602 and/or RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to the bus 604 .
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。示例性地,如图1所示的SSD 210可以被实现为存储单元608的一部分。Multiple components in the device 600 are connected to the I/O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, an optical disk, etc. ; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 609 allows the device 600 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks. Illustratively, SSD 210 as shown in FIG. 1 may be implemented as part of storage unit 608.
CPU 601可以是各种具有处理和计算能力的通用和/或专用处理组件。可以被实现为的一些示例包括但不限于图形处理单元(Graphics Processing Unit,GPU)、各种专用的人工智能(Artificial Intelligence,AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Processor,DSP)、以及任何适当的处理器、控制器、微控制器等,相应地可以被称为计算单元。 CPU 601 may be various general and/or special purpose processing components having processing and computing capabilities. Some examples that can be implemented as include, but are not limited to, Graphics Processing Unit (Graphics Processing Unit, GPU), various dedicated artificial intelligence (Artificial Intelligence, AI) computing chips, various computing units that run machine learning model algorithms, digital signal A processor (Digital Signal Processor, DSP), and any suitable processor, controller, microcontroller, etc., may accordingly be referred to as a computing unit.
示例性地,图6中的设备600可以被实现为各种电子设备,例如移动手机、台式计算机、膝上型计算机、笔记本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理(Personal Digital Assistant,PDA)、电子书设备、游戏设备、物联网(Internet of Things,IoT)设备、车载设备、飞行器、虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、可穿戴设备、电视机、云端服务器、数据中心等。本公开的实施例对此不限定。Exemplarily, the device 600 in FIG. 6 can be implemented as various electronic devices, such as mobile handsets, desktop computers, laptop computers, notebook computers, tablet computers, personal communication system devices, personal navigation devices, personal digital assistants ( Personal Digital Assistant, PDA), e-book equipment, game equipment, Internet of Things (Internet of Things, IoT) equipment, vehicle equipment, aircraft, virtual reality (Virtual Reality, VR) equipment, augmented reality (Augmented Reality, AR) equipment, Wearable devices, TVs, cloud servers, data centers, etc. Embodiments of the present disclosure are not limited to this.
本公开的实施例还提供了一种芯片或系统芯片,该芯片可以包括输入接口、输出接口和处理电路。在本公开的实施例中,可以由输入接口和输出接口完成信令或数据的交互,由处理电路完成信令或数据信息的生成以及处理。Embodiments of the present disclosure also provide a chip or a system chip, and the chip may include an input interface, an output interface, and a processing circuit. In the embodiments of the present disclosure, the interaction of signaling or data may be completed by the input interface and the output interface, and the generation and processing of signaling or data information may be completed by the processing circuit.
本公开的实施例还提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机执行上述各实施例中任一实施例中涉及的方法和功能。Embodiments of the present disclosure also provide a computer program product containing instructions, which, when run on a computer, cause the computer to execute the methods and functions involved in any of the above embodiments.
本公开的实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,当处理器运行所述指令时,使得处理器执行上述任一实施例中涉及的方法和功能。Embodiments of the present disclosure also provide a computer-readable storage medium on which computer instructions are stored, and when a processor executes the instructions, the processor is made to execute the methods and functions involved in any of the above embodiments.
通常,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。一些方面可以用硬件实现,而其他方面可以用固件或软件实现,其可以由控制器,微处理器或其他计算设备执行。虽然本公开的实施例的各个方面被示出并描述为框图,流程图或使用一些其他图示表示,但是应当理解,本文描述的框,装置、系统、技术或方法可以实现为,如非限制性示例,硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某种组合。In general, the various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software, which may be executed by a controller, microprocessor or other computing device. While various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flowcharts, or using some other pictorial representation, it should be understood that the blocks, devices, systems, techniques or methods described herein can be implemented as, without limitation, Exemplary, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.
本公开还提供有形地存储在非暂时性计算机可读存储介质上的至少一个计算机程序产品。该计算机程序产品包括计算机可执行指令,例如包括在程序模块中的指令,其在目标的真实或虚拟处理器上的设备中执行,以执行如上参考附图的过程/方法。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种实施例中,可以根据需要在程序模块之间组合或分割程序模块的功能。用于程序模块的机器可执行指令可以在本地或分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质中。The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product comprises computer-executable instructions, eg included in program modules, which are executed in a device on a real or virtual processor of a target to perform the process/method as above with reference to the accompanying drawings. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In various embodiments, the functionality of the program modules may be combined or divided as desired among the program modules. Machine-executable instructions for program modules may be executed within local or distributed devices. In a distributed device, program modules may be located in both local and remote storage media.
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。Computer program codes for implementing the methods of the present disclosure may be written in one or more programming languages. These computer program codes can be provided to processors of general-purpose computers, special-purpose computers, or other programmable data processing devices, so that when the program codes are executed by the computer or other programmable data processing devices, The functions/operations specified in are implemented. The program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
在本公开的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质、等等。信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如 载波、红外信号等。In the context of the present disclosure, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus or processor to perform the various processes and operations described above. Examples of carriers include signals, computer readable media, and the like. Examples of signals may include electrical, optical, radio, sound, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.
计算机可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。计算机可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。A computer readable medium may be any tangible medium that contains or stores a program for or related to an instruction execution system, apparatus, or device. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of computer-readable storage media include electrical connections with one or more wires, portable computer diskettes, hard disks, random storage access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash), optical storage, magnetic storage, or any suitable combination thereof.
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。In addition, while operations of methods of the present disclosure are depicted in a particular order in the figures, this does not require or imply that operations must be performed in that particular order, or that all illustrated operations must be performed, to achieve desirable results. Conversely, the steps depicted in the flowcharts may be performed in an altered order. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step for execution, and/or one step may be decomposed into multiple steps for execution. It should also be noted that the features and functions of two or more devices according to the present disclosure may be embodied in one device. Conversely, the features and functions of one device described above may be further divided to be embodied by a plurality of devices.
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在很好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。Having described various implementations of the present disclosure, the foregoing description is exemplary, not exhaustive, and is not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The choice of terminology used herein is intended to well explain the principles of each implementation, practical applications or improvements to technologies in the market, or to enable other ordinary skilled persons in the technical field to understand the various implementations disclosed herein.

Claims (29)

  1. 一种数据处理方法,包括:A data processing method, comprising:
    存储设备获取在一段时间内执行的多次读写操作的运行参数;The storage device acquires operating parameters of multiple read and write operations performed within a period of time;
    所述存储设备基于所述运行参数确定所述存储设备的性能规格;以及the storage device determines performance specifications of the storage device based on the operating parameters; and
    所述存储设备将所述性能规格发送到存储系统外部的任务分配设备。The storage device sends the performance specification to a task distribution device external to the storage system.
  2. 根据权利要求1所述的方法,其中所述存储设备基于所述运行参数确定所述性能规格包括:The method of claim 1, wherein the storage device determining the performance specification based on the operating parameters comprises:
    所述存储设备响应于接收到来自所述任务分配设备的针对所述存储设备的性能的请求,基于所述运行参数确定所述性能规格。The storage device determines the performance specification based on the operating parameters in response to receiving a request from the task assignment device for performance of the storage device.
  3. 根据权利要求1所述的方法,其中所述存储设备基于所述运行参数确定所述性能规格包括:The method of claim 1, wherein the storage device determining the performance specification based on the operating parameters comprises:
    如果所述多次读写操作的次数超过次数阈值,或者,如果当前时间点与所述存储设备上一次向所述任务分配设备发送性能规格的时间点之间的时间长度超过时间阈值,所述存储设备基于所述运行参数确定所述性能规格。If the number of times of the multiple read and write operations exceeds the number threshold, or if the time length between the current time point and the last time point when the storage device sends the performance specification to the task allocation device exceeds the time threshold, the The storage device determines the performance specification based on the operating parameters.
  4. 根据权利要求1至3中任一项所述的方法,其中所述存储设备基于所述运行参数确定所述性能规格包括:The method according to any one of claims 1 to 3, wherein said storage device determining said performance specification based on said operating parameters comprises:
    所述存储设备基于所述运行参数确定所述存储设备内各个节点的节点性能规格,所述节点包括接口、通道、闪存颗粒或控制器芯片中的至少一项;以及The storage device determines node performance specifications of each node in the storage device based on the operating parameters, and the nodes include at least one of an interface, a channel, a flash memory particle, or a controller chip; and
    所述存储设备基于所述各个节点的节点性能规格,确定所述性能规格。The storage device determines the performance specification based on the node performance specification of each node.
  5. 根据权利要求1至3中任一项所述的方法,其中所述存储设备基于所述运行参数确定所述性能规格包括:The method according to any one of claims 1 to 3, wherein said storage device determining said performance specification based on said operating parameters comprises:
    所述存储设备将所述运行参数输入到经训练的性能模型,以得到所述性能规格。The storage device inputs the operating parameters to a trained performance model to obtain the performance specification.
  6. 根据权利要求1至5中任一项所述的方法,其中所述运行参数包括以下中的至少一项:读写特征参数、盘片状态的参数、或算法状态的参数。The method according to any one of claims 1 to 5, wherein the operating parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
  7. 根据权利要求6所述的方法,其中所述读写特征参数包括以下至少一项:读写次数、读写大小、读写热度、或读写随机度;所述盘片状态的参数包括关于以下至少一项的参数:读写并发度、写放大因子、空间利用率、控制器挡位、或闪存颗粒的介质规格;所述算法状态的参数包括以下至少一项:垃圾回收GC算法是否使能的指示信息、或独立磁盘的冗余阵列RAID配置。The method according to claim 6, wherein the read-write characteristic parameters include at least one of the following: read-write times, read-write size, read-write heat, or read-write randomness; the parameters of the disk state include the following At least one parameter: read and write concurrency, write amplification factor, space utilization, controller gear, or media specification of flash memory particles; the parameters of the algorithm state include at least one of the following: whether the garbage collection GC algorithm is enabled , or a redundant array of independent disks RAID configuration.
  8. 根据权利要求1至7中任一项所述的方法,其中所述性能规格包括稳态性能规格和最大性能规格中的至少一项。The method of any one of claims 1 to 7, wherein the performance specification includes at least one of a steady state performance specification and a maximum performance specification.
  9. 根据权利要求8所述的方法,其中所述稳态性能规格包括以下至少一项:稳态读每秒输入输出次数IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽;The method according to claim 8, wherein the steady-state performance specification includes at least one of the following: steady-state read input and output times per second IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth;
    所述最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  10. 一种数据处理方法,包括:A data processing method, comprising:
    任务分配设备接收来自存储系统中至少一个存储设备的性能规格;以及The task allocation device receives performance specifications from at least one storage device in the storage system; and
    所述任务分配设备至少基于所述至少一个存储设备的性能规格,将读写操作分配到所述至少一个存储设备。The task allocation device allocates read and write operations to the at least one storage device based at least on the performance specification of the at least one storage device.
  11. 根据权利要求10所述的方法,还包括:The method of claim 10, further comprising:
    所述任务分配设备向所述至少一个存储设备发送针对所述至少一个存储设备的性能的请求。The task allocating device sends a request for the performance of the at least one storage device to the at least one storage device.
  12. 根据权利要求10或11所述的方法,其中所述性能规格包括稳态性能规格和最大性能规格中的至少一项。The method of claim 10 or 11, wherein the performance specification includes at least one of a steady state performance specification and a maximum performance specification.
  13. 根据权利要求12所述的方法,其中所述稳态性能规格包括以下至少一项:稳态读每秒输入输出次数IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽,并且其中所述最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。The method according to claim 12, wherein the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth, and wherein The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  14. 一种数据处理装置,包括A data processing device comprising
    获取模块,被配置为获取在一段时间内执行的多次读写操作的运行参数;An acquisition module configured to acquire operating parameters of multiple read and write operations performed within a period of time;
    确定模块,被配置为基于所述运行参数确定存储设备的性能规格;以及a determining module configured to determine performance specifications of the storage device based on the operating parameters; and
    发送模块,被配置为将所述性能规格发送到存储系统外部的任务分配设备。A sending module configured to send the performance specification to a task allocation device outside the storage system.
  15. 根据权利要求14所述的装置,其中所述确定模块被配置为:The apparatus of claim 14, wherein the determining module is configured to:
    响应于接收到来自所述任务分配设备的针对所述存储设备的性能的请求,基于所述运行参数确定所述性能规格。The performance specification is determined based on the operating parameters in response to receiving a request from the tasking device for performance of the storage device.
  16. 根据权利要求14所述的装置,其中所述确定模块被配置为:The apparatus of claim 14, wherein the determining module is configured to:
    如果所述多次读写操作的次数超过次数阈值,或者,如果当前时间点与所述存储设备上一次向所述任务分配设备发送性能规格的时间点之间的时间长度超过时间阈值,基于所述运行参数确定所述性能规格。If the number of times of the multiple read and write operations exceeds the number threshold, or if the time length between the current time point and the last time point when the storage device sends the performance specification to the task allocation device exceeds the time threshold, based on the The operating parameters described above determine the performance specifications.
  17. 根据权利要求14至16中任一项所述的装置,其中所述确定模块被配置为:The apparatus according to any one of claims 14 to 16, wherein the determining module is configured to:
    基于所述运行参数确定所述存储设备内各个节点的节点性能规格,所述节点包括接口、通道、闪存颗粒或控制器芯片中的至少一项;以及determining a node performance specification of each node in the storage device based on the operating parameters, the node including at least one of an interface, a channel, a flash memory particle, or a controller chip; and
    基于所述各个节点的节点性能规格,确定所述性能规格。The performance specification is determined based on the node performance specification of the respective nodes.
  18. 根据权利要求14至16中任一项所述的装置,其中所述确定模块被配置为:The apparatus according to any one of claims 14 to 16, wherein the determining module is configured to:
    将所述运行参数输入到经训练的性能模型,以得到所述性能规格。The operating parameters are input to the trained performance model to obtain the performance specification.
  19. 根据权利要求14至18中任一项所述的装置,其中所述运行参数包括以下中的至少一项:读写特征参数、盘片状态的参数、或算法状态的参数。The device according to any one of claims 14 to 18, wherein the operating parameters include at least one of the following: read and write characteristic parameters, disk state parameters, or algorithm state parameters.
  20. 根据权利要求19所述的装置,其中所述读写特征参数包括以下至少一项:读写次数、读写大小、读写热度、或读写随机度;所述盘片状态的参数包括关于以下至少一项的参数:读写并发度、写放大因子、空间利用率、控制器挡位、或闪存颗粒的介质规格;所述算法状态的参数包括以下至少一项:垃圾回收GC算法是否使能的指示信息、或独立磁盘的冗余阵列RAID配置。The device according to claim 19, wherein the read-write characteristic parameters include at least one of the following: read-write times, read-write size, read-write heat, or read-write randomness; the parameters of the disk state include the following At least one parameter: read and write concurrency, write amplification factor, space utilization, controller gear, or media specification of flash memory particles; the parameters of the algorithm state include at least one of the following: whether the garbage collection GC algorithm is enabled , or a redundant array of independent disks RAID configuration.
  21. 根据权利要求14至20中任一项所述的装置,其中所述性能规格包括稳态性能规格和最大性能规格中的至少一项。The apparatus of any one of claims 14 to 20, wherein the performance specification includes at least one of a steady state performance specification and a maximum performance specification.
  22. 根据权利要求21所述的装置,其中所述稳态性能规格包括以下至少一项:稳态读每秒输入输出次数IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽;The device according to claim 21, wherein the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth;
    所述最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  23. 一种数据处理装置,包括:A data processing device, comprising:
    接收模块,被配置为接收来自存储系统中至少一个存储设备的性能规格;以及a receiving module configured to receive performance specifications from at least one storage device in the storage system; and
    分配模块,被配置为至少基于所述至少一个存储设备的性能规格,将读写操作分配到所述至少一个存储设备。An allocation module configured to allocate read and write operations to the at least one storage device based at least on the performance specification of the at least one storage device.
  24. 根据权利要求23所述的装置,还包括发送模块,被配置为向所述至少一个存储设备发送针对所述至少一个存储设备的性能的请求。The apparatus according to claim 23, further comprising a sending module configured to send a request for the performance of the at least one storage device to the at least one storage device.
  25. 根据权利要求23或24所述的装置,其中所述性能规格包括稳态性能规格和最大性能规格中的至少一项。The apparatus of claim 23 or 24, wherein the performance specification comprises at least one of a steady state performance specification and a maximum performance specification.
  26. 根据权利要求25所述的装置,其中所述稳态性能规格包括以下至少一项:稳态读每秒输入输出次数IOPS、稳态读带宽、稳态写IOPS、或稳态写带宽,并且其中所述最大性能规格包括以下至少一项:最大读IOPS、最大读带宽、最大写IOPS、或最大写带宽。The apparatus according to claim 25, wherein the steady-state performance specification includes at least one of the following: steady-state read IOPS, steady-state read bandwidth, steady-state write IOPS, or steady-state write bandwidth, and wherein The maximum performance specification includes at least one of the following: maximum read IOPS, maximum read bandwidth, maximum write IOPS, or maximum write bandwidth.
  27. 一种数据处理装置,包括处理器和存储器,所述存储器上存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述装置执行权利要求1至9中任一项,或权利要求10至13中任一项所述的方法。A data processing device comprising a processor and a memory, the memory having computer instructions stored thereon, which, when executed by the processor, cause the device to perform any one of claims 1 to 9, or A method as claimed in any one of claims 10 to 13.
  28. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1至9中任一项,或权利要求10至13中任一项所述的方法。A computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, the computer-readable instructions according to any one of claims 1 to 9, or claims 10 to 9 are implemented. The method described in any one of 13.
  29. 一种计算机程序产品,所述计算机程序产品上包含计算机可执行指令,所述计算机可执行指令在被执行时实现根据权利要求1至9中任一项,或权利要求10至13中任一项所述的方法。A computer program product having computer-executable instructions embodied thereon which, when executed, implements any one of claims 1 to 9, or any one of claims 10 to 13 the method described.
PCT/CN2021/141179 2021-12-24 2021-12-24 Data processing method and data processing apparatus WO2023115532A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2021/141179 WO2023115532A1 (en) 2021-12-24 2021-12-24 Data processing method and data processing apparatus
CN202180042327.3A CN116830074A (en) 2021-12-24 2021-12-24 Data processing method and data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/141179 WO2023115532A1 (en) 2021-12-24 2021-12-24 Data processing method and data processing apparatus

Publications (1)

Publication Number Publication Date
WO2023115532A1 true WO2023115532A1 (en) 2023-06-29

Family

ID=86901042

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/141179 WO2023115532A1 (en) 2021-12-24 2021-12-24 Data processing method and data processing apparatus

Country Status (2)

Country Link
CN (1) CN116830074A (en)
WO (1) WO2023115532A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616174A (en) * 2009-07-09 2009-12-30 浪潮电子信息产业股份有限公司 A kind of storage system IO handles the method that the path dynamic tracking realizes the optimization system performance
CN102411993A (en) * 2011-11-24 2012-04-11 曙光信息产业股份有限公司 Method and device for testing state solid disk (SSD)
CN103984619A (en) * 2014-06-06 2014-08-13 山东超越数控电子有限公司 Performance monitoring method of network storage system
CN109407984A (en) * 2018-10-11 2019-03-01 郑州云海信息技术有限公司 A kind of performance of storage system monitoring method, device and equipment
US20190108888A1 (en) * 2017-10-06 2019-04-11 Western Digital Technologies, Inc. Method and system for a storage (ssd) drive-level failure and health prediction leveraging machine learning on internal parametric data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616174A (en) * 2009-07-09 2009-12-30 浪潮电子信息产业股份有限公司 A kind of storage system IO handles the method that the path dynamic tracking realizes the optimization system performance
CN102411993A (en) * 2011-11-24 2012-04-11 曙光信息产业股份有限公司 Method and device for testing state solid disk (SSD)
CN103984619A (en) * 2014-06-06 2014-08-13 山东超越数控电子有限公司 Performance monitoring method of network storage system
US20190108888A1 (en) * 2017-10-06 2019-04-11 Western Digital Technologies, Inc. Method and system for a storage (ssd) drive-level failure and health prediction leveraging machine learning on internal parametric data
CN109407984A (en) * 2018-10-11 2019-03-01 郑州云海信息技术有限公司 A kind of performance of storage system monitoring method, device and equipment

Also Published As

Publication number Publication date
CN116830074A (en) 2023-09-29

Similar Documents

Publication Publication Date Title
US20220179560A1 (en) Distributed storage system and data processing method
JP7010598B2 (en) QoS-aware I / O management methods, management systems, and management devices for PCIe storage systems with reconfigurable multiports.
US9760392B1 (en) Adaptive throttling in hybrid storage environments
US11531491B2 (en) Systems and methods for random to sequential storage mapping
TW201820165A (en) Server and cloud computing resource optimization method thereof for cloud big data computing architecture
US11520632B1 (en) Specifying behavior among a group of computing tasks
JP2013509658A (en) Allocation of storage memory based on future usage estimates
US9330199B2 (en) Striping of directed graphs and nodes with improved functionality
US11954528B2 (en) Technologies for dynamically sharing remote resources across remote computing nodes
US11579811B2 (en) Method and apparatus for storage device latency/bandwidth self monitoring
US20190012251A1 (en) Distributed architecture for determining performance parameters
WO2021022852A1 (en) Access request processing method, apparatus, device, and storage medium
CN109710406A (en) Data distribution and its model training method, device and computing cluster
US20200285415A1 (en) Apparatus and Method of Intelligent Dynamic Application Aware Storage Device Optimization
WO2023115532A1 (en) Data processing method and data processing apparatus
US20140281322A1 (en) Temporal Hierarchical Tiered Data Storage
US11416152B2 (en) Information processing device, information processing method, computer-readable storage medium, and information processing system
US11915060B2 (en) Graphics processing management system
US20220019546A1 (en) Systems, methods, and devices for time synchronized storage delivery
US20160110219A1 (en) Managing i/o operations in a shared file system
US11334390B2 (en) Hyper-converged infrastructure (HCI) resource reservation system
US11003378B2 (en) Memory-fabric-based data-mover-enabled memory tiering system
WO2018188416A1 (en) Data search method and apparatus, and related devices
US20230419125A1 (en) System and method for capacity planning for data aggregation using similarity graphs
US20240012686A1 (en) Workload balance and assignment optimization using machine learining

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 202180042327.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21968665

Country of ref document: EP

Kind code of ref document: A1