WO2023035113A1 - Procédé et appareil de commande destinés à un appareil de stockage - Google Patents
Procédé et appareil de commande destinés à un appareil de stockage Download PDFInfo
- Publication number
- WO2023035113A1 WO2023035113A1 PCT/CN2021/116983 CN2021116983W WO2023035113A1 WO 2023035113 A1 WO2023035113 A1 WO 2023035113A1 CN 2021116983 W CN2021116983 W CN 2021116983W WO 2023035113 A1 WO2023035113 A1 WO 2023035113A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- burst traffic
- time period
- storage space
- traffic
- data processing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012545 processing Methods 0.000 claims abstract description 120
- 239000007787 solid Substances 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 abstract description 25
- 238000013461 design Methods 0.000 description 46
- 230000015654 memory Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 17
- 238000011217 control strategy Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 238000013468 resource allocation Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Definitions
- the present application relates to the field of storage technology, and in particular, to a method and device for controlling a storage device.
- Solid state disk (SSD) is now widely used in various storage scenarios, such as servers, data centers, embedded devices, and so on.
- SSD is equipped with garbage collection GC (garbage collection, GC) algorithm.
- GC garbage collection, GC
- the GC algorithm is used to perform garbage collection on the storage space of stored data when the available space (that is, empty space) in the SSD storage space is less than a threshold (called GC waterline), thereby releasing some storage space.
- the SSD After a user request (IO) is sent to the SSD, the SSD needs a certain amount of time to respond to the IO. When the response time exceeds the user tolerance threshold (such as 1s), the user experience will be affected.
- the response time of the IO is the total time from when the IO is issued to when the IO is processed, and the response time includes not only the time for flash memory processing, but also the time for waiting for the IO to be processed.
- the number of IOs processed by the SSD per second (IOPS) is called the disk capacity. Generally, due to the resources occupied by GC, the disk capacity of SSD will be less than its maximum capacity.
- the resources used by GC vary with the resources used by IO responses. When more resources are used by IO responses, more resources are allocated to GC. When fewer resources are used by IO responses, There are also fewer resources allocated for GC use. Among them, when the amount of IO access is small, the resources and storage space required by SSD to respond to IO, and the storage space occupied by the resulting garbage are all small, and the storage space occupied by IO response can be maintained by using less resources for GC The relative stability of storage space released by GC. Therefore, when the IO access volume is less than the capacity of the disk (called regular traffic), the SSD can complete the IO on time and at the same time perform GC normally to maintain a stable available storage space.
- regular traffic the capacity of the disk
- the GC may not be able to reclaim enough storage space in a short period of time, which will break the relative stability between the storage space occupied by the IO response and the storage space released by the GC, and may even cause the storage space to be consumed by the IO response process, affecting Stability of the storage system.
- GC also needs to use more resources to speed up the release of storage space, so as to release as much storage space as possible for IO response, which will lead to resource contention between GC and IO response process, affecting the IO response speed, which may lead to IO response timeout problems.
- the present application provides a storage device control method and device, which are used to improve the stability and IO response speed of the storage device by controlling resource allocation and execution of garbage collection GC operations in the storage device.
- the present application provides a method for controlling a storage device, the storage device includes a controller and a storage array, the method is applied to the controller, and the method includes: when it is predicted that the memory During burst traffic, before the first time period, increase the bandwidth resources allocated to garbage collection GC operations; wherein, the burst traffic includes a first number of data processing requests, and the first number is greater than the The number of data processing requests that the storage device can respond to per second; use the first bandwidth resource to execute the GC operation to obtain the first available storage space in the storage array, wherein the first bandwidth resource is allocated to the Bandwidth resources for GC operations.
- this method when the controller of the storage device predicts the burst traffic, by increasing the bandwidth resources allocated to the GC operation before the burst traffic arrives, the execution speed of the GC operation can be accelerated, so that the GC operation can be performed in a short time Fast reclamation within the system will result in more available storage space. Therefore, this method can be used to prepare storage space in advance for responding to burst traffic when burst traffic is predicted. In this way, when the burst traffic comes, it can ensure that there is more storage space in the storage device to respond to the burst traffic, thereby ensuring a high response speed while avoiding excessive consumption of available storage space and improving the stability of the storage device .
- the method further includes: when it is determined that the burst traffic exists, allocating the first available storage space to an IO operation corresponding to the burst traffic.
- the first available storage space obtained through advance processing of the GC operation is allocated to the IO operation corresponding to the burst traffic, which can ensure more storage space for the IO operation.
- the execution speed of the IO operation can be improved; on the other hand, the excessive consumption of the available storage space can be avoided, and the stability of the storage device can be improved.
- the method when it is predicted that there is a burst traffic within the first time period, the method further includes: increasing the start threshold of the GC operation; wherein, when the available storage in the storage array When the space is smaller than the start threshold, start the GC operation.
- the controller can obtain a larger available storage space by executing the GC operation, and it can also ensure that the controller obtains a large storage space by executing the GC operation. After a larger available storage space, the available storage space can be maintained by performing GC operations.
- the method when it is predicted that there is a burst traffic within the first time period, the method further includes: based on the storage space required for the IO operation corresponding to the burst traffic and the first bandwidth Resources determine a first target time; when the first target time arrives, increase the startup threshold of the GC operation; wherein, when the available storage space in the storage array is less than the startup threshold, start the GC operate.
- the time required for the GC operation to process and obtain the storage space can be determined. Further, this time can be used as a reference to further Accurately determining the time to increase the start threshold of the GC operation can avoid raising the start threshold of the GC operation too early or too late, thereby reducing unnecessary GC operations and reducing the impact on the life of the storage device, and can be obtained through the GC operation. Large enough available storage space for burst traffic.
- the method further includes: when it is determined that the burst traffic exists, lowering the start threshold of the GC operation; or, if the predicted burst traffic does not exist at the second target moment When the GC operation arrives, lower the start threshold of the GC operation; wherein, the second target time is any time within the first time period.
- the GC operation when it is determined that the burst traffic exists, the GC operation can be stopped by lowering the start threshold of the GC operation, so that more bandwidth resources can be released for use by the IO operation, and the IO operation can be timely and quickly Respond to burst traffic, thereby reducing or avoiding the problem of IO response timeout.
- the start threshold of the GC operation when it is determined that the predicted burst traffic does not come, can reduce the impact on the life of the storage device.
- the method further includes: before it is determined that the burst traffic exists, when the first available storage space reaches a target value, allocating the second bandwidth resource to the storage space corresponding to the current data processing request IO operation, and assigning a third bandwidth resource to the GC operation; wherein, the target value is greater than or equal to the storage space required for the IO operation corresponding to the burst traffic; the size of the second bandwidth resource is the same as the The size of the available storage space in the storage array has a positive correlation, and the size of the third bandwidth resource has a negative correlation with the size of the available storage space in the storage array.
- the available storage space in the storage array reaches the target value, it indicates that the first available storage space obtained through the GC operation is sufficient for the IO operation corresponding to the burst traffic. If it is not confirmed that there is a burst traffic at this time, by allocating bandwidth resources that have a positive correlation with the available storage space for IO operations, and allocating bandwidth resources that have a negative correlation with the available storage space for GC operations, you can allocate bandwidth resources in the available storage space When it is too large, it will speed up the consumption of storage space and slow down the recovery of available storage space. When the available storage space is too small, it will slow down the consumption of storage space and speed up the recovery of storage space, so that the size of available storage space remains relatively Stable to wait for the arrival of burst traffic.
- the second bandwidth resource complies with the following formula:
- BW 1 BW 2 ⁇ S 1 /S th
- the BW 1 is the second bandwidth resource
- the BW 2 is the total bandwidth resource that the controller can use
- the S 1 is the available storage space in the storage array
- the S th is The start threshold for the GC operation.
- the target value is the sum of the first parameter and the second parameter
- the first parameter is the storage space required for the IO operation corresponding to the burst traffic
- the second parameter is The available storage space in the storage array when it is predicted that there is a burst traffic within the first time period.
- the value setting of the target value can ensure that after the storage space required for the IO operation corresponding to the burst traffic is provided to the burst traffic, a certain margin of available storage space can still be maintained, so it can avoid Burst traffic will consume the available storage space, improving the stability of the storage system.
- the storage space required for the IO operation corresponding to the burst traffic conforms to the following formula:
- the S 2 is the storage space required for the IO operation corresponding to the burst traffic
- the BW 3 is the bandwidth resource required for transmitting the burst traffic
- the T is the duration of the burst traffic duration.
- the storage space required for the IO operation corresponding to the burst traffic can be accurately calculated, and then the storage device is controlled accordingly according to the storage space .
- determining that the burst traffic exists includes: after the end of the second time period, determining that the burst traffic exists according to a data processing request within the second time period; wherein, the The duration of the second time period is less than the set threshold, and the end time of the second time period is before the end time of the first time period.
- determining that there is the burst traffic according to the data processing requests in the second time period includes at least one of the following: determining the total number of data processing requests in the second time period greater than the set threshold; determine that the total bandwidth of the data processing requests within the second time period is greater than the set bandwidth threshold; determine that the increment of the number of data processing requests within the second time period is greater than the set Increment threshold: determining that the growth rate of the number of data processing requests within the second time period is greater than a set growth rate threshold.
- the burst traffic is characterized by a large number of data processing requests, and the number of data processing requests increases rapidly in a short period of time. Therefore, based on the multi-faceted information that can reflect the characteristics of the burst traffic, analyzing the data processing requests in the second time period can identify the burst traffic more accurately, so that the burst traffic can be more accurately identified. control.
- predicting that there is a burst traffic in the first time period includes: using the set traffic forecasting model, according to the data processing request in the target historical time period, predicting that the burst traffic in the first time period There is a burst traffic in the segment; wherein, the traffic prediction model is obtained through machine learning and/or model training; or, according to the burst traffic prediction information from the upper layer application, it is predicted that there is a burst traffic in the first time period Burst traffic; wherein, the burst traffic prediction information is used to indicate: it is predicted that there is burst traffic within the first time period.
- using the set traffic prediction model to predict the burst traffic can improve the accuracy of burst traffic prediction, and at the same time, it can adapt to the prediction of burst traffic in many different scenarios, and has good versatility.
- the controller determines that the burst traffic is predicted according to the instruction from the upper-layer application, the prediction process of the burst traffic can be transferred to the upper-layer application, thereby simplifying the processing flow of the controller and increasing the processing rate.
- the storage device is a solid state disk.
- the present application provides a control device for a storage device, the control device is applied to a controller in the storage device, wherein the storage device further includes a storage array; the control device includes: a prediction module, It is used to predict that there is a burst traffic within the first time period; the processing module is used to increase the bandwidth resource allocated to the GC operation before the first time period, and use the first bandwidth resource to perform the GC operation, obtaining a first available storage space in the storage array; wherein, the burst flow includes a first number of data processing requests, and the first number is greater than the number of data processing requests that the storage device can respond to per second ; The first bandwidth resource is a bandwidth resource allocated to the GC operation.
- the processing module is further configured to: when it is determined that the burst traffic exists, allocate the first available storage space to an input/output IO operation corresponding to the burst traffic.
- the processing module when the prediction module predicts that there is a burst traffic within the first time period, is further configured to: increase the startup threshold of the GC operation; wherein, when the When the available storage space in the storage array is less than the startup threshold, the GC operation is started.
- the processing module when the prediction module predicts that there is a burst traffic within the first time period, is further configured to: based on the storage space required for the IO operation corresponding to the burst traffic Determine a first target time with the first bandwidth resource; when the first target time arrives, increase the start threshold of the GC operation; wherein, when the available storage space in the storage array is less than the start threshold , start the GC operation.
- the processing module is further configured to: when it is determined that the burst traffic exists, lower the start threshold of the GC operation; or, if the predicted burst traffic is within the second target If the time has not arrived, lower the start threshold of the GC operation; wherein, the second target time is any time within the first time period.
- the processing module is further configured to: allocate a second bandwidth resource to the current data processing request when the first available storage space reaches a target value before determining that the burst traffic exists The corresponding IO operation, and assigning the third bandwidth resource to the GC operation; wherein, the target value is greater than or equal to the storage space required for the IO operation corresponding to the burst traffic; the size of the second bandwidth resource There is a positive correlation with the size of the available storage space in the storage array, and the size of the third bandwidth resource has a negative correlation with the size of the available storage space in the storage array.
- the second bandwidth resource complies with the following formula:
- BW 1 BW 2 ⁇ S 1 /S th
- the BW 1 is the second bandwidth resource
- the BW 2 is the total bandwidth resource that the controller can use
- the S 1 is the available storage space in the storage array
- the S th is The start threshold for the GC operation.
- the target value is the sum of the first parameter and the second parameter
- the first parameter is the storage space required for the IO operation corresponding to the burst traffic
- the second parameter is The available storage space in the storage array when it is predicted that there is a burst traffic within the first time period.
- the storage space required for the IO operation corresponding to the burst traffic conforms to the following formula:
- the S 2 is the storage space required for the IO operation corresponding to the burst traffic
- the BW 3 is the bandwidth resource required for transmitting the burst traffic
- the T is the duration of the burst traffic duration.
- the processing module determines that the burst traffic exists, it is specifically configured to: after the end of the second time period, according to the data processing request in the second time period, determine that the burst traffic exists.
- the burst traffic wherein, the duration of the second time period is less than a set threshold, and the end moment of the second time period is before the end moment of the first time period.
- the processing module determines that the burst traffic exists according to the data processing request within the second time period, it is specifically configured to perform at least one of the following: determine the second time The total number of data processing requests in the segment is greater than the set threshold; determine that the total bandwidth of the data processing requests in the second time period is greater than the set bandwidth threshold; determine the data processing requests in the second time period The increment of the quantity is greater than the set increment threshold; it is determined that the increase of the quantity of data processing requests within the second time period is greater than the set increase threshold.
- the prediction module when the prediction module predicts that there is a burst traffic in the first time period, it is specifically configured to: use the set traffic prediction model to process the request according to the data in the target historical time period, It is predicted that there is a burst traffic within the first time period; wherein, the traffic prediction model is obtained through machine learning and/or model training; or, according to the burst traffic prediction information from the upper layer application, it is predicted that the There is a burst traffic in the first time period; wherein, the burst traffic prediction information is used to indicate: it is predicted that there is a burst traffic in the first time period.
- the storage device is a solid state disk.
- the present application provides a storage device, which includes a controller and a storage array; the storage array is used to store data; and the controller is used to perform the above-mentioned first aspect or the first Aspects of any possible design of the described method.
- the storage device is a solid state disk.
- the present application provides a computing device, which includes the storage device described in the above-mentioned second aspect or any possible design of the second aspect, or, the computing device includes the above-mentioned third aspect or the storage device described in any possible design of the second aspect. Any possible design of the storage device described in the three aspects.
- the storage device is a solid state disk.
- the present application provides a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and when the computer instructions are run on a computer or a processor, the computer or the processor Execute the method described in the first aspect or any possible design of the first aspect.
- the present application provides a computer program product.
- the computer program product runs on a computer or a processor
- the computer or the processor executes any of the above-mentioned first aspect or any possibility of the first aspect The design of the described method.
- FIG. 1 is a schematic structural diagram of a possible application system of the solution provided by the embodiment of the present application;
- FIG. 2 is a schematic diagram of a method for controlling a storage device provided in an embodiment of the present application
- FIG. 3 is a schematic flowchart of a method for controlling a storage device provided in an embodiment of the present application
- FIG. 4a is a schematic diagram of an SSD control method provided by an embodiment of the present application.
- Fig. 4b is a schematic diagram of another SSD control mode provided by the embodiment of the present application.
- Fig. 4c is a schematic diagram of another SSD control mode provided by the embodiment of the present application.
- FIG. 5 is a schematic diagram of bandwidth resources corresponding to IO operations at different stages provided by an embodiment of the present application
- FIG. 6 is a schematic diagram of a storage device provided by an embodiment of the present application.
- Solid-state hard disk is a hard disk made of solid-state electronic memory chip array, also known as solid-state drive.
- a solid state disk generally includes at least two parts, a controller and a storage array, and the controller can be used to control the solid state disk.
- the storage array is used to provide the storage area of the solid-state disk, which can store data.
- Flash memory When flash memory is used as the storage medium for solid-state drives, the storage array usually includes dozens, hundreds or even thousands of flash memories, and each flash memory may include hundreds to thousands of flash memory blocks, and each flash memory block may include thousands of flash memory blocks. Page. Flash memory has three basic operations: read, write, and erase. Among them, the operation granularity of read operation and write operation is a flash memory page, and the operation granularity of erase operation is a flash memory block. Therefore, flash memory has remote update and asymmetric read/write erase. Latency characteristics.
- flash translation layer flash translation layer
- FTL flash translation layer
- the FTL mapping table is an address translation table, which is used to indicate a mapping relationship between a logical address of data and a physical address.
- the logical address is the address generated by the system for the data before writing to the flash memory
- the physical address is the address after writing to the flash memory.
- the data processing request is a read request (for requesting a read operation), the data at the corresponding physical address in the flash memory is read out; if the data processing request is a write request (for requesting to perform a write operation), and the write If the operation is to write a certain data for the first time, write the data to a blank physical address in the flash memory; if the data processing request is a request to perform a write operation, and the write operation is used to update a stored data, then Mark the corresponding physical address of the data in the flash memory as invalid, and write the updated data corresponding to the data into the blank physical address in the flash memory, and then update the corresponding address mapping relationship in the FTL mapping table to complete the operation. If the data processing request is an erasing request (for requesting to perform an erasing operation), the data of the corresponding physical address in the flash memory is deleted, and the corresponding address mapping relationship in the FTL mapping table is deleted.
- the data processing request may be referred to as an input/output (input/output, IO) or an IO request for short.
- the GC operation is to select a flash memory block to reclaim when the available storage space (blank storage space or free storage space) in the storage array is less than the startup threshold (called the GC watermark), and the specific operation is to read the data in the selected flash block.
- Valid data is migrated into the flash page in the available storage space, and then the content in the flash block is erased, so that the storage space corresponding to the flash block is reclaimed through GC operation.
- the GC operation stops execution.
- IO refers to a data processing request sent to the storage device by other devices (such as a host device).
- the IO may include at least one of a read request, a write request, and an erase request.
- the IO that occurs within a period of time can be defined as two situations: regular traffic and burst traffic.
- regular traffic is smaller than the disk capacity of the solid-state hard disk, which is a scenario with few data processing requests.
- the solid-state hard disk can process all the requests of the host in a timely manner.
- burst traffic is greater than the disk capacity of the solid-state hard disk, which is a scenario where there are many data processing requests.
- the solid-state hard disk can only respond to the data processing requests in the burst traffic in batches, which may cause request response timeouts.
- the IO operation refers to the process in which the solid state disk performs corresponding operations according to the received IO, and is the operation performed by the solid state disk when responding to the IO.
- the IO operation may include at least one of a read operation, a write operation, and an erase operation.
- Bandwidth refers to the amount of data that can be transmitted per unit time. Bandwidth can be used to identify the data transmission capabilities of devices, devices or communication lines, usually expressed in bits or bits per second (bps) that can be transmitted.
- the bandwidth of a storage device is fixed.
- the controller can control the frequency of using the bandwidth to realize the effect of executing the IO operation or the GC operation under different bandwidth capabilities. Therefore, in the implementation of this application, the bandwidth resource refers to the bandwidth capability (or data transmission capability) realized by changing the frequency of using the bandwidth.
- Allocating bandwidth resources to IO operations or GC operations means: by configuring IO operations or GC operations to use bandwidth frequencies during operation execution, to configure corresponding bandwidth capabilities for IO operations or GC operations, so that IO operations or GC operations Execute under the corresponding bandwidth capability.
- the bandwidth resources of the storage device and the IOPS of the storage device (that is, the number of data processing requests that the storage device can respond to per second) can be converted to each other.
- At least one in the embodiments of the present application refers to one or more, and “multiple” refers to two or more.
- “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural.
- the character “/” generally indicates that the contextual objects are an “or” relationship.
- At least one (item) of the following” or similar expressions refer to any combination of these items, including any combination of single item(s) or plural item(s).
- At least one item (unit) of a, b or c can represent: a, b, c, a and b, a and c, b and c, or a, b and c, wherein a, b, c Can be single or multiple.
- the solid state drive can complete the corresponding IO operations on time. Moreover, based on the current resource allocation methods for IO operations and GC operations, the bandwidth resources allocated in the SSD can also maintain a stable available storage space. However, if the IO access volume exceeds the capacity of the disk (that is, the burst traffic scenario), the solid state disk will need a long waiting time when performing the corresponding IO operation, which may cause a response timeout.
- the bandwidth resources allocated in SSDs cannot maintain the relative stability between the storage space occupied by IO operations and the storage space released by GC, so it is impossible to maintain a stable available storage space , and there may even be a situation where the available storage space is consumed by IO operations, which will affect the storage performance and stability of the SSD.
- a method for controlling the resource of GC operation is to start and stop GC operation according to the requirement of IO operation, so as to achieve the effect of responding to IO first. Specifically, when the burst traffic comes, the GC operation can be stopped, so that all resources can be used for IO operations, and when the burst traffic ends, the GC operation can be started to reclaim the storage space.
- this solution only considers IO requirements without considering the actual situation of storage space, and cannot maintain a relatively stable available storage space. Moreover, when the available storage space is small and the burst traffic lasts for a long time, the available storage space may be exhausted and the system may crash. Therefore, the implementability of this scheme is very poor.
- an embodiment of the present application provides a method for controlling a storage device, wherein the storage device is capable of performing GC operations and IO operations.
- the storage device may be a solid state disk.
- the storage device can adjust the startup threshold of the GC operation, so that the storage device can always maintain a larger available storage space in the storage device by performing the GC operation after the startup threshold is increased, and at the same time, the storage device The GC operation can be started and stopped according to the requirements of the IO operation. In this way, before the burst traffic comes, the storage device can maintain a larger available storage space by increasing the start threshold of the GC operation.
- the available storage space can be used for IO operations, thereby avoiding The IO operation will consume the available storage space, and at the same time, it can avoid the GC operation and the IO operation from competing for resources, and improve the execution efficiency of the IO operation.
- the storage device after increasing the startup threshold of the GC operation, the storage device can always maintain a large available storage space in the normal traffic scenario, and in the burst traffic scenario, the storage device can use the available storage space when responding to the burst traffic , so as to prevent the storage system of the storage device from collapsing and improve its stability.
- increasing the startup threshold of GC operation will cause frequent execution of GC operation, and valid flash memory pages need to be moved during the execution of GC operation, which will increase the burden of erasing and writing of the storage device, and will cause the life of the storage device to be lost. The problem.
- the embodiment of the present application also provides another storage device control method, which is used to control the resource allocation and execution process of IO operations and GC operations of the storage device, so that the storage device can respond to a large number of IOs in a timely manner. To maintain a certain available storage space, thereby ensuring the normal working performance of the storage device, and further improving the operation stability and storage performance of the storage device.
- FIG. 1 is a schematic structural diagram of a possible application system of the solution provided by the embodiment of the present application.
- the system includes at least a storage device, the storage device includes a controller and a storage array, the controller is used to control the storage device, and the storage array is used to provide storage space for the storage device.
- the storage device may be a solid state disk.
- the system may also include a host (host) device.
- the host device can communicate with the storage device and can perform some control over the storage device, and the storage device can also respond to data processing requests (IO/IOs) from the host device.
- the storage device may be deployed in the host device.
- the controller may further include a statistics module, a modulation module and a GC module.
- the statistical module can be used to count current traffic information, available storage space, etc., and send the counted information to the control module.
- the regulation module can be used to implement the control method provided by the embodiment of the present application, mainly including calculating the start threshold of GC operation under specific conditions according to current and future traffic information and information of available storage space, and allocating bandwidth resources for IO operation and GC operation , Control the execution of IO operations and GC operations, etc.
- the GC module is used to perform GC operations under the control of the modulation module.
- the controller may further include a prediction module.
- the prediction module can be used to predict future traffic information according to the historical traffic information of the storage device, and send the predicted future traffic information to the control module, so that the control module can obtain the future traffic information.
- the upper layer application in the host device can predict its future traffic information after obtaining the historical traffic information of the storage device, and send the predicted future traffic information to the controller of the storage device . Then the control module in the controller can also obtain the future traffic information from the upper layer application.
- the upper layer application or prediction module may convert the IOPS of the storage device into a bandwidth requirement and send it to the controller of the storage device.
- the storage array is the physical carrier for the final storage of data.
- the storage array may use NAND flash memory, and may include multiple flash memory arrays (flash array).
- flash array can be used as a NAND flash memory particle (flash memory medium particle), so the storage array is equivalent to a NAND flash memory particle group.
- system architecture is only an exemplary description of the system architecture applicable to the solution of this application, and does not limit the system architecture applicable to the solution of this application.
- Other devices or modules may also be added to the above system architecture, or some devices or modules may be reduced or modified.
- FIG. 2 is a schematic diagram of a method for controlling a storage device provided by an embodiment of the present application. As shown in Figure 2, the method includes:
- the controller of the storage device increases the bandwidth resources allocated to the garbage collection GC operation before the first time period; wherein the burst traffic includes A first number of data processing requests, the first number being greater than the number of data processing requests that the storage device can respond to per second.
- the storage device includes a controller and a storage array, and the storage device is capable of performing GC operations and IO operations.
- the storage device is a solid state disk.
- the number of data processing requests included in the regular traffic is less than or equal to the number of data processing requests that the storage device can respond to per second, and the number of data processing requests included in the burst traffic is greater than the number of data processing requests that the storage device can respond to per second. The number of data processing requests that can be responded to.
- the way the controller allocates bandwidth resources for IO operations and GC operations can be: allocate corresponding bandwidth resources for IO operations and GC operations, so that the storage device can maintain the storage required for IO operations during the running process.
- a relative balance is maintained between the space and the storage space reclaimed by the GC operation, for example, the size difference between the two storage spaces is within the set range. In this way, it can not only ensure that the storage device has sufficient storage space for performing IO operations, but also avoid the impact of frequent execution of GC operations on the life of the storage device as much as possible.
- the controller performs control according to the above method, and at the same time, judges whether there is a burst flow in the future time period, so as to adjust the control method accordingly.
- the controller may predict whether there is a burst traffic in a future time period according to data processing requests received in a historical time period.
- the controller can use the set traffic forecasting model to predict that there is a burst traffic in the first time period according to the data processing request in the target historical time period; wherein, the traffic forecasting model is based on machine learning and /or obtained by model training, the first time period is a certain time period in the future.
- the traffic prediction model may be a model based on a long short-term memory network (long short-term memory, LSTM).
- the controller may predict that there is a burst traffic within the first time period through the prediction module.
- the controller may predict that there is a burst traffic within the first time period according to the burst traffic prediction information from the upper-layer application; wherein the burst traffic prediction information is used for Indication: It is predicted that there is a burst traffic within the first time period.
- the upper-layer application may use the above-mentioned traffic prediction model to predict that there is a burst traffic within the first time period, and indicate it to the controller.
- the prediction of future traffic can be completed by the host device, and the controller can directly determine that there is a burst in the first time period according to the instruction of the upper layer application in the host device. flow.
- the information of the predicted burst traffic within the first time period may include: the expected arrival time of the burst traffic (that is, the starting moment of the first time period) , the bandwidth resources required for transmitting the burst traffic, and the duration of the burst traffic (that is, the duration of the first time period).
- the controller may increase the bandwidth resource allocated to the GC operation on the basis of the bandwidth resource allocation in the above-mentioned normal traffic scenario. For example, the controller may increase the allocation of surplus bandwidth resources in the storage device to GC operations, thereby speeding up the reclaiming rate of the storage space.
- the controller uses a first bandwidth resource to execute the GC operation to obtain a first available storage space in the storage array, where the first bandwidth resource is a bandwidth resource allocated to the GC operation.
- the controller may use the first bandwidth resource allocated to the GC operation to execute the GC operation to obtain the first available storage space.
- the first available storage space is greater than the size of the available storage space that can be maintained in the storage device in a normal traffic scenario.
- the controller only needs a part of the bandwidth resources of the storage device to complete the IO operation and GC operation, therefore, the bandwidth resources of the storage device will have surplus. Based on this, when the controller predicts that there is a burst traffic within the first time period, it can further store the Some or all of the excess bandwidth resources are increased and allocated to GC operations.
- the controller uses all the increased bandwidth resources allocated to the GC operation to execute the GC operation, which can speed up the execution rate of the GC operation, thereby speeding up the recovery rate of the storage space, so that the GC operation can be recovered before the arrival of the first time period. Lots of storage space.
- the controller may increase the bandwidth resource allocated to the garbage collection GC operation before the first time period, and may also Before the first time period, the start and stop of the GC operation are controlled by increasing the start threshold of the GC operation.
- the controller may increase the start threshold of the GC operation when it is predicted that there is a burst traffic within the first time period. Wherein, when the available storage space in the storage array is less than the startup threshold, the GC operation is started.
- the controller can obtain a larger available storage space by executing the GC operation, and it can also ensure that after the execution of the GC operation obtains a larger available storage space, the controller will The available storage space obtained can also be maintained by performing GC operations.
- the controller predicts that there is a burst traffic within the first time period, based on the storage space required for the IO operation corresponding to the burst traffic and the first bandwidth resource determining a first target time; and when the first target time arrives, increasing the start threshold of the GC operation; wherein, when the available storage space in the storage array is less than the start threshold, start the GC operate.
- the controller may first calculate the storage space required for the IO operation corresponding to the burst traffic according to the predicted bandwidth resources required for transmitting the burst traffic and the duration of the burst traffic. Exemplarily, it can be calculated according to the following formula:
- S 2 is the storage space required for the IO operation corresponding to the burst traffic
- BW 3 is the bandwidth resource required for transmitting the burst traffic
- T is the duration of the burst traffic.
- the controller may calculate the time required to obtain the storage space through the GC operation according to the storage space required by the IO operation corresponding to the burst traffic and the increased bandwidth resource allocated to the GC operation. Exemplarily, it can be calculated according to the following formula:
- T 1 S 2 /BW 4
- t 1 is the time required for obtaining the storage space through GC operation
- S 2 is the storage space required for the IO operation corresponding to the burst traffic
- BW 4 is the additional allocation of the first resource to the Bandwidth resources for GC operations.
- the controller may calculate and determine the first target moment. Specifically, the controller may calculate the time length between the first target moment and the moment when it is predicted that there is a burst traffic within the first time period according to the following formula:
- T 2 T 3 -T 1 - ⁇
- T2 is the time length between the first target moment and the moment when the burst traffic is predicted in the first time period
- T3 is the start moment of the first time period and the time when the first time period is predicted
- T 1 is the time required to obtain the storage space required for the IO operation corresponding to the burst traffic through GC operations
- ⁇ can be the set duration, and ⁇ is greater than or equal to 0 And less than or equal to T 3 -T 1 .
- the controller After calculating T 2 , the controller delays by T 2 the time when the burst traffic is predicted to exist in the first time period, and the corresponding time is the first target time. Then, when the first target time arrives, the start threshold of the GC operation can be increased.
- the controller can determine the time T 1 required to obtain the storage space that can be used to handle the burst traffic through the GC operation according to the additional bandwidth resources allocated to the GC operation and the bandwidth resources required to transmit the burst traffic, and then Adjusting the GC threshold from the time when the estimated arrival time of the burst traffic is ahead of T 1 can not only minimize unnecessary GC operations, reduce the impact on the life of the storage device, but also obtain a greater Storage space for use when burst traffic arrives. Furthermore, adding a certain time margin ⁇ on the basis of advancing T 1 can further ensure that the storage space obtained through the GC operation is sufficient for the arrival of burst traffic.
- the start threshold of the GC operation may be adjusted to the first threshold.
- the first threshold is greater than or equal to a target value
- the target value is greater than or equal to the storage space required by the IO operation corresponding to the burst traffic.
- the target value may be the sum of the first parameter and the second parameter, the first parameter is the storage space required for the IO operation corresponding to the burst traffic, and the second parameter is the predicted The available storage space in the storage array when there is a burst of traffic in the first time period.
- the first threshold may satisfy the following formula: N 1 ⁇ S, where N 1 is the first threshold.
- the controller allocates bandwidth resources for GC operation based on the above method and increases the start threshold of GC operation, in the process of executing GC operation according to step S202, it can judge whether there is burst traffic according to real-time traffic information (that is, Whether the burst traffic is coming), so as to carry out further control.
- the controller judges whether there is a burst traffic according to the real-time traffic information
- the following method may be adopted: after the second time period ends, according to the data processing request in the second time period, it is determined that the burst traffic exists;
- the duration of the second time period is less than a set threshold, and the end time of the second time period is before the end time of the first time period.
- the set threshold may be, for example, a short duration of millisecond level or second level.
- the controller when the controller determines that the data processing request within the second time period satisfies at least one of the following conditions 1 to 4, it may determine that there is a burst traffic.
- the total number of data processing requests within the second time period is greater than a set number threshold.
- Condition 4 The growth rate of the number of data processing requests within the second time period is greater than a set growth rate threshold.
- the second time period in each of the above conditions is a relatively short time period, and when the data processing requests in the second time period satisfy condition 1, it means that there are a large number of data processing requests in a short period of time, and it can be considered that there is a burst send traffic.
- condition 2 When the data processing request in the second time period satisfies condition 2, it means that the data volume of the data processing request in a short period of time is large, and it can be considered that there is a burst traffic.
- condition 3 or condition 4 it means that the data processing requests in a short period of time increase rapidly, and it can be considered that there is a burst traffic.
- the embodiments of the present application include but are not limited to the above method for judging whether there is burst traffic, and the controller may also use other methods for judging, which will not be listed here.
- the controller when the controller judges in real time whether there is a burst traffic, the judgment results may be obtained in various situations, and the corresponding control methods adopted are also different.
- the control mode adopted by the controller when the size of the available storage space in the storage array changes, the control mode adopted by the controller also changes accordingly. Therefore, the controller needs to flexibly adjust the control mode of GC operation and IO operation according to the change of the actual situation, so as to obtain a better control effect.
- the controller determines that there is a burst traffic according to the above manner, it indicates that the burst traffic is coming.
- the target value is greater than or equal to the storage space required by the IO operation corresponding to the burst traffic. Therefore, when the available storage space in the storage array reaches the target value, it indicates that the first available storage space obtained through the GC operation is sufficient for the IO operation corresponding to the burst traffic. If it is not determined that there is a burst of traffic at this time, that is, the burst of traffic has not yet arrived, the execution speed of the IO operation can be appropriately reduced so that it can maintain the first available storage space currently obtained, thereby avoiding excessive GC operations. Effects on storage device lifetime.
- the controller may allocate the second bandwidth resource to the IO operation corresponding to the current data processing request when determining that the first available storage space reaches the target value before determining that the burst traffic exists, and allocate the third bandwidth resource to Assigned to GC operations.
- the size of the second bandwidth resource has a positive correlation with the size of the available storage space in the storage array
- the size of the third bandwidth resource has a negative correlation with the size of the available storage space in the storage array.
- the controller can allocate more bandwidth resources for IO operations and less bandwidth resources for GC operations, which can speed up the consumption of available storage space and slow down the consumption of available storage space. Recycling, so as to properly consume the available storage space, avoid excessive storage space, and improve the speed of IO operations.
- the controller can allocate less bandwidth resources for IO operations and more bandwidth resources for GC operations, which can speed up the recovery of available storage space and slow down the consumption of available storage space, thereby avoiding unavailable The storage space is too small. By flexibly allocating bandwidth resources for IO operations and GC operations in this way, the size of the available storage space can be kept stable until burst traffic arrives.
- the above-mentioned second bandwidth resource conforms to the following formula:
- BW 1 BW 2 ⁇ S 1 /S th
- BW 1 is the second bandwidth resource
- BW 2 is the total bandwidth resource that the controller can use
- S 1 is the available storage space in the storage array
- S th is the start threshold of GC operation.
- the above-mentioned third bandwidth resource may be a part or all of the bandwidth resource obtained by subtracting the second bandwidth resource from the total bandwidth resource available to the controller.
- the controller lowers the start threshold of the GC operation when it is determined that there is a burst flow.
- the controller can allocate the first available storage space obtained by executing the GC operation to the IO operation corresponding to the burst traffic, so as to ensure a timely response to the burst traffic.
- the controller lowers the start threshold of the GC operation, the GC operation stops, and more bandwidth resources can be used for the IO operation, and the IO operation can respond to the burst traffic in a timely and rapid manner, thereby reducing or avoiding the IO response timeout The problem.
- the GC operation start threshold may be adjusted to the second threshold.
- the second threshold may be the start threshold (N 0 ) of the GC operation when a burst traffic is predicted, or the second threshold is less than or equal to the target value (S).
- the controller can determine that the prediction is wrong and there is no burst traffic in fact, and lower the GC The start threshold for the action.
- the controller determines that the predicted burst flow does not arrive at the second target moment, it determines that the burst flow does not exist, and may lower the start threshold of the GC operation.
- the second target moment may be the start moment of the first time period.
- the start threshold of the GC operation may be adjusted to the second threshold described in the above case 2.
- the controller in the storage device predicts the arrival of burst traffic in advance, and at the same time, considering that the bandwidth resources required by the conventional traffic are small and there are surplus bandwidth resources available in the storage device, when the burst traffic is predicted When , increase the bandwidth resources allocated to GC operations, thereby speeding up the recovery rate of storage space, and preparing available storage space for burst traffic in advance. Then when the burst traffic comes, the controller can provide the available storage space prepared in advance to the IO operation corresponding to the burst traffic, so as to ensure the speed of IO response, improve the user experience, and avoid excessive consumption of the available storage space , improving the stability of the operation of the storage device.
- FIG. 3 is a schematic flowchart of a method for controlling a storage device provided by an embodiment of the present application.
- the process includes:
- S301 In a normal traffic scenario, the controller controls the SSD according to a normal policy, and obtains prediction information of burst traffic.
- the conventional strategy is to allocate corresponding bandwidth resources to the GC operation according to the executed IO operations, so that the storage space reclaimed by the GC operation is relatively balanced with the storage space required by the IO operations corresponding to the conventional traffic.
- the controller of the SSD may adopt flow control policy 0 for regulation, and receive prediction information of burst traffic.
- flow control strategy 0 is to control the startup threshold of GC operation as an initial value N 0 .
- the bandwidth resources for IO operations are similar to those for GC operations, and both are smaller. There are many idle bandwidth resources in SSDs that are not being used.
- the prediction information of the burst traffic includes the expected arrival time of the burst traffic, the duration, the bandwidth resource required for transmitting the burst traffic, and the like.
- the prediction information of the burst traffic can be obtained by the controller itself, or determined according to the instruction of the upper layer application.
- the controller adjusts the adopted flow control policy 0 to the flow control policy 1 after determining that the burst traffic is predicted according to the prediction information of the burst traffic.
- flow control strategy 1 is to adjust the start threshold of GC operation to the first threshold N 1 , and at the same time, increase and allocate idle bandwidth resources in SSD to GC operation until the available storage space reaches the target value S.
- the target value S bandwidth resources required for transmitting burst traffic ⁇ burst traffic duration+available storage space in the storage array when burst traffic is predicted, and N 1 is a value slightly larger than S.
- the controller adopts flow control strategy 1, and the bandwidth resource used by the IO operation is based on the size of the actual IO traffic.
- the space required for IO operations is small and the speed of GC operations is accelerating, the size of the available storage space is gradually increasing.
- flow control strategy 2 is to allocate bandwidth resources proportional to the available storage space to IO operations, and the remaining bandwidth resources can be allocated to GC operations.
- the bandwidth resource corresponding to the IO operation total bandwidth resource ⁇ available storage space/N 1 .
- the maximum available storage space is N 1 , and all bandwidth resources are used for IO operations at this time.
- the bandwidth resources used by IO operations are proportional to the available storage space. During this process, it can be maintained as much as possible
- the available storage space is at the level of S or so.
- step S304 The controller judges whether the burst traffic is coming according to the actual IO situation, and if so, executes step S305; otherwise, executes step S306.
- the controller determines that within 3 consecutive seconds, the number of IOs per second increases by more than 50% compared with the previous second, it may determine that the burst traffic is coming.
- the controller adjusts the adopted flow control strategy 2 to flow control strategy 3 when determining that a burst traffic is coming.
- the flow control strategy 3 is to adjust the start threshold of the GC operation to the initial value N 0 , so as to stop the GC operation and use the bandwidth resource for the IO operation.
- S306 The controller maintains the current control mode, or switches to control the SSD according to a conventional strategy when determining the expected end time of the arrival of the burst traffic.
- the controller when it does not determine that the burst traffic is coming, it may maintain the flow control policy 2, or, when determining the expected end time of the arrival of the burst traffic, adjust the adopted traffic control policy 2 to the traffic control policy 3.
- the expected end time of the burst traffic is the corresponding time after the expected arrival time of the burst traffic is delayed by the duration of the burst traffic.
- the controller can quickly free up the storage space required for the IO operation corresponding to the burst traffic, and lower the startup threshold of the GC operation when the burst traffic comes, so as to maximize the IO response Ability to absorb burst traffic, improve IO response speed and SSD stability.
- the allocation of bandwidth resources is increased for the GC operation to quickly reclaim the storage space will have an impact on the life of the SSD, but the duration is short, so the impact on the life can be reduced.
- an embodiment of the present application further provides a control device for a storage device, the control device is applied to a controller in the storage device, and the storage device further includes a storage array.
- the control device 600 includes: a predicting module 601, configured to predict that there is a burst traffic within the first time period; a processing module 602, used to increase the allocation to Bandwidth resources for GC operations, and using the first bandwidth resources to execute the GC operations to obtain a first available storage space in the storage array; wherein, the burst traffic includes a first number of data processing requests, and the second A number is greater than the number of data processing requests that the storage device can respond to per second; the first bandwidth resource is a bandwidth resource allocated to the GC operation.
- the processing module 602 is further configured to: when it is determined that the burst traffic exists, allocate the first available storage space to an input/output IO operation corresponding to the burst traffic.
- the processing module 602 is further configured to: increase the startup threshold of the GC operation; wherein, when When the available storage space in the storage array is less than the start threshold, start the GC operation.
- the processing module 602 is further configured to: based on the IO operation required by the burst traffic storage space and the first bandwidth resource determine a first target time; when the first target time arrives, increase the start threshold of the GC operation; wherein, when the available storage space in the storage array is less than the When the threshold is started, the GC operation is started.
- the processing module 602 is further configured to: when it is determined that the burst traffic exists, lower the start threshold of the GC operation; or, if the predicted burst traffic is in the second If the target time has not arrived, lower the start threshold of the GC operation; wherein, the second target time is any time within the first time period.
- the processing module 602 is further configured to: before it is determined that the burst traffic exists, when the first available storage space reaches a target value, allocate the second bandwidth resource to the current data processing Requesting a corresponding IO operation, and allocating a third bandwidth resource to the GC operation; wherein, the target value is greater than or equal to the storage space required for the IO operation corresponding to the burst traffic; the second bandwidth resource
- the size has a positive correlation with the size of the available storage space in the storage array, and the size of the third bandwidth resource has a negative correlation with the size of the available storage space in the storage array.
- the second bandwidth resource complies with the following formula:
- BW 1 BW 2 ⁇ S 1 /S th
- the BW 1 is the second bandwidth resource
- the BW 2 is the total bandwidth resource that the controller can use
- the S 1 is the available storage space in the storage array
- the S th is The start threshold for the GC operation.
- the target value is the sum of the first parameter and the second parameter
- the first parameter is the storage space required for the IO operation corresponding to the burst traffic
- the second parameter is The available storage space in the storage array when it is predicted that there is a burst traffic within the first time period.
- the storage space required for the IO operation corresponding to the burst traffic conforms to the following formula:
- the S 2 is the storage space required for the IO operation corresponding to the burst traffic
- the BW 3 is the bandwidth resource required for transmitting the burst traffic
- the T is the duration of the burst traffic duration.
- the processing module 602 determines that the burst traffic exists, it is specifically configured to: after the end of the second time period, according to the data processing request in the second time period, determine that there is The burst traffic; wherein, the duration of the second time period is less than a set threshold, and the end moment of the second time period is before the end moment of the first time period.
- the processing module 602 determines that the burst traffic exists according to the data processing request within the second time period, it is specifically configured to perform at least one of the following: determine the second The total number of data processing requests in the time period is greater than the set number threshold; determine that the total bandwidth of the data processing requests in the second time period is greater than the set bandwidth threshold; determine the data processing in the second time period The increment of the quantity of requests is greater than a set increment threshold; it is determined that the increment of the quantity of data processing requests within the second time period is greater than the set increment threshold.
- the prediction module 601 when the prediction module 601 predicts that there is a burst traffic in the first time period, it is specifically configured to: use the set traffic prediction model to process the request according to the data in the target historical time period , it is predicted that there is a burst traffic within the first time period; wherein, the traffic prediction model is obtained through machine learning and/or model training; or, according to the burst traffic prediction information from the upper-layer application, it is predicted that There is a burst traffic within the first time period; wherein, the burst traffic prediction information is used to indicate: it is predicted that there is a burst traffic within the first time period.
- the storage device is a solid state disk.
- each functional module in each embodiment of the present application can be integrated into a processing In the controller, it can also be physically present separately, or two or more modules can be integrated into one module.
- the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
- the software or firmware includes but is not limited to computer program instructions or codes, and can be executed by a hardware processor.
- the hardware includes but not limited to various integrated circuits, such as central processing unit (CPU), digital signal processor (DSP), field programmable gate array (FPGA) or application specific integrated circuit (ASIC).
- the embodiment of the present application also provides a storage device, the storage device includes a controller and a storage array; the storage array is used to store data; the controller is used to control the storage device The method for controlling the storage device provided in the foregoing embodiments is executed.
- the storage device is a solid state disk.
- the embodiment of the present application further provides a computing device, the computing device includes the storage device provided in the above embodiment.
- the storage device is a solid state disk.
- the embodiment of the present application also provides a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and when the computer instructions are run on a computer or a processor, the The computer or the processor executes the method for controlling a storage device provided in the foregoing embodiments.
- the embodiment of the present application also provides a computer program product, when the computer program product runs on a computer or a processor, the computer or the processor executes the computer program provided in the above embodiment.
- a control method for a storage device is also provided.
- the methods provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
- software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
- the computer program product includes one or more computer instructions.
- the computer program instructions When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present invention will be generated in whole or in part.
- the computer may be a general purpose computer, a special purpose computer, a computer network, network equipment, user equipment or other programmable devices.
- the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server, or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL) or wireless (such as infrared, wireless, microwave, etc.) means.
- the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media.
- the available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), optical media (for example, digital video disc (digital video disc, DVD for short), or semiconductor media (for example, SSD), etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
La présente demande divulgue un procédé et un appareil de commande destiné à un appareil de stockage. L'appareil de stockage comprend un dispositif de commande et un réseau de stockage. Le procédé est appliqué au dispositif de commande. Le procédé consiste : lorsqu'il est prédit qu'il y a un trafic en rafale dans une première période de temps, à augmenter, avant la première période de temps, des ressources de bande passante qui sont attribuées à une opération de collecte d'ordures (GC), le trafic en rafale comprenant un premier nombre de requêtes de traitement de données, le premier nombre étant supérieur au nombre de requêtes de traitement de données auxquelles un appareil de stockage peut répondre par seconde ; et à exécuter l'opération GC à l'aide d'une première ressource de bande passante, de manière à obtenir un premier espace de stockage disponible dans un réseau de stockage, la première ressource de bande passante étant une ressource de bande passante qui est attribuée à l'opération GC. Dans la solution, l'exécution d'une opération GC est favorisée avant l'arrivée du trafic en rafale, de sorte qu'un espace de stockage disponible relativement grand puisse être obtenu, et lorsque le trafic en rafale arrive, il peut être garanti qu'il existe un espace de stockage disponible relativement grand dans un appareil de stockage permettant de répondre au trafic en rafale, ce qui améliore la stabilité et la vitesse de réponse d'entrée/sortie (ES) de l'appareil de stockage.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/116983 WO2023035113A1 (fr) | 2021-09-07 | 2021-09-07 | Procédé et appareil de commande destinés à un appareil de stockage |
CN202180100197.4A CN117769699A (zh) | 2021-09-07 | 2021-09-07 | 一种存储装置的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/116983 WO2023035113A1 (fr) | 2021-09-07 | 2021-09-07 | Procédé et appareil de commande destinés à un appareil de stockage |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023035113A1 true WO2023035113A1 (fr) | 2023-03-16 |
Family
ID=85506148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/116983 WO2023035113A1 (fr) | 2021-09-07 | 2021-09-07 | Procédé et appareil de commande destinés à un appareil de stockage |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117769699A (fr) |
WO (1) | WO2023035113A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785619A (zh) * | 2024-02-27 | 2024-03-29 | 深圳超盈智能科技有限公司 | 一种芯片存储状态的监控方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170206006A1 (en) * | 2016-01-20 | 2017-07-20 | EpoStar Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
CN108984116A (zh) * | 2018-06-14 | 2018-12-11 | 浙江大华技术股份有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
CN109977032A (zh) * | 2017-12-28 | 2019-07-05 | 北京忆恒创源科技有限公司 | 垃圾数据回收控制方法及其装置 |
-
2021
- 2021-09-07 WO PCT/CN2021/116983 patent/WO2023035113A1/fr active Application Filing
- 2021-09-07 CN CN202180100197.4A patent/CN117769699A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170206006A1 (en) * | 2016-01-20 | 2017-07-20 | EpoStar Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
CN109977032A (zh) * | 2017-12-28 | 2019-07-05 | 北京忆恒创源科技有限公司 | 垃圾数据回收控制方法及其装置 |
CN108984116A (zh) * | 2018-06-14 | 2018-12-11 | 浙江大华技术股份有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785619A (zh) * | 2024-02-27 | 2024-03-29 | 深圳超盈智能科技有限公司 | 一种芯片存储状态的监控方法和*** |
CN117785619B (zh) * | 2024-02-27 | 2024-05-10 | 深圳超盈智能科技有限公司 | 一种芯片存储状态的监控方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN117769699A (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9405563B2 (en) | Resource management method and apparatus for virtual machine system, and virtual machine system | |
CN107885456B (zh) | 减少io命令访问nvm的冲突 | |
US10430347B2 (en) | Power savings via dynamic page type selection | |
EP2269132B1 (fr) | Système de stockage, procédé de commande de celui-ci et programme | |
WO2017050028A1 (fr) | Procédé et dispositif d'effacement de données de disque statique à semi-conducteurs | |
CN108170369B (zh) | 主机装置与数据传输速率控制方法 | |
US20130138912A1 (en) | Scheduling requests in a solid state memory device | |
CN108170370B (zh) | 数据储存装置与数据传输速率控制方法 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
WO2012103231A1 (fr) | Plateforme de calcul avec négociation de la contrainte de ressource | |
US11983444B2 (en) | Memory system and method of controlling nonvolatile memory | |
US10671141B2 (en) | Storage device and method of controlling link state thereof | |
WO2023035113A1 (fr) | Procédé et appareil de commande destinés à un appareil de stockage | |
CN110162396A (zh) | 内存回收方法、装置、***和存储介质 | |
EP1970815A1 (fr) | Appareil de transfert de données et système de traitement d'informations | |
CN107870877B (zh) | 用于在存储***中管理数据访问的方法和*** | |
KR20150050085A (ko) | 무선 환경에서 usb 통신을 위한 버퍼 관리 방법 및 장치 | |
JP6193189B2 (ja) | Nandバックグラウンド処理制御装置 | |
CN109167740B (zh) | 一种数据传输的方法和装置 | |
CN110908595B (zh) | 存储装置及信息处理*** | |
CN115033370B (zh) | 存储设备中闪存任务调度方法、装置、存储介质及设备 | |
CN112463028B (zh) | 一种i/o处理方法、***、设备及计算机可读存储介质 | |
CN112463027B (zh) | 一种i/o处理方法、***、设备及计算机可读存储介质 | |
CN114401072A (zh) | 一种基于hinoc协议的拆帧重排序队列的动态缓存控制方法及*** | |
CN108829520B (zh) | 一种云环境下服务器资源分配方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21956302 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180100197.4 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |