CN114153381A - Method for reducing write-in performance fluctuation of solid state disk - Google Patents

Method for reducing write-in performance fluctuation of solid state disk Download PDF

Info

Publication number
CN114153381A
CN114153381A CN202111294634.9A CN202111294634A CN114153381A CN 114153381 A CN114153381 A CN 114153381A CN 202111294634 A CN202111294634 A CN 202111294634A CN 114153381 A CN114153381 A CN 114153381A
Authority
CN
China
Prior art keywords
block
solid state
state disk
time period
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111294634.9A
Other languages
Chinese (zh)
Inventor
杨柱
李帅
唐伟
王腾腾
王剑立
付伟龙
吉镇东
董璊
孙元春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaoyun Technology Xi'an Co ltd
Original Assignee
Yaoyun Technology Xi'an Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaoyun Technology Xi'an Co ltd filed Critical Yaoyun Technology Xi'an Co ltd
Priority to CN202111294634.9A priority Critical patent/CN114153381A/en
Publication of CN114153381A publication Critical patent/CN114153381A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

A method for reducing the writing performance fluctuation of a solid state disk belongs to the field of solid state disk storage and is characterized in that: splitting a solid state disk cache into a plurality of cache resource segments as a minimum management unit; the solid state disk executes a write-in task, the write-in speed in the next time period is calculated according to the write-in speed and the running state of the solid state disk in the current time period, then the number of cache resource segments in the solid state disk is determined to be released, and finally a write-in command issued by a host is received and processed according to the number of the released cache resource segments, so that the influence of internal operations including the NAND Flash resource idle condition, the garbage recovery operation occupation condition, the mapping table updating and the like on the write-in performance in the write-in process is fully considered, the stability of the write-in performance of the solid state disk in different internal working modes and the stability of the write-in performance in different external application scenes are ensured, various conditions in the running process of the solid state disk are fully considered, and the solid state disk write-in-write-in device is suitable for various application scenes.

Description

Method for reducing write-in performance fluctuation of solid state disk
Technical Field
The invention belongs to the field of solid state disk storage, and particularly relates to a method for reducing the writing performance fluctuation of a solid state disk.
Background
Compared with the traditional mechanical hard Disk, the Solid State Disk (SSD for short) mainly comprises a controller and NAND Flash, has the characteristics of good performance, low power consumption, high reliability and the like, and is widely applied to various fields. At present, a write-in process of a solid state disk in an actual use process is as shown in fig. 1, and a problem of serious write-in performance fluctuation in the prior art exists, particularly, after the solid state disk enters a "garbage recovery" state, the inside of the solid state disk needs to process both data written by a host and a garbage recovery task, and in addition, tasks for processing various mapping table updates often occur, a situation that the solid state disk cannot process data written by the host in time and blocks waiting for an idle NAND Flash IO resource when processing data written by the host occurs, so that serious host write-in performance fluctuation is caused. The writing performance fluctuation reflects that the writing speed has poor continuity and serious fluctuation on one hand, and the response time of certain commands is too long on the other hand. The writing performance fluctuation has great influence on relevant application scenes such as radar data recording, video data recording, vehicle-mounted data recording and the like which need continuous data recording, and usually causes that key data at a certain moment is lost or the whole performance and corresponding time are seriously slowed down.
Disclosure of Invention
The invention provides a method for reducing the performance fluctuation of a solid state disk, aiming at the problem of serious performance fluctuation of the solid state disk in the actual use process, so that the solid state disk has stable performance in different data loads and different application scenes.
The method for reducing the writing performance fluctuation of the solid state disk comprises the steps of splitting a solid state disk cache into a plurality of cache resource segments WriteUnit serving as a minimum management unit, wherein the units for applying and releasing cache resources are WriteUnit; the solid state disk executes a write-in task, firstly starting a timer, and enabling each time interval for executing the write-in task to be delta t; counting the writing speed V in the current time period for executing the writing taskCurrentSecondly according to the writing speed VCurrentAnd calculating the writing speed V in the next time period according to the running state of the solid state disk in the current time periodTargetThen according to VTargetThe value of (4) determines the number of the released cache resource segments WriteUnit in the solid state disk, and finally receives and processes the write-in command issued by the host according to the number of the released cache resource segments WriteUnit.
Further, in the method for reducing the fluctuation of the writing performance of the solid state disk, the writing speed V in the next time periodTargetThe calculation process comprises the following steps:
1) calculating a first reference value V of the speed variationREF01
a) Counting the Block change in the current time period, and recording as delta Block,
ΔBlock=BlockUsed-BlockAdded
wherein BlockUsedRepresenting the number of blocks of NAND Flash consumed by executing the write-in command in the current time period; blockAddedRepresenting the number of blocks of NAND Flash released by executing garbage collection operation in the current time period;
b) counting the accurate time delta T in the current time period, wherein each time interval delta T has a certain error due to the situation that the NAND Flash resources are blocked to wait for being idle (including NAND Flash arrays and IO) when executing a background task, and correcting the error by counting the accurate time delta T in the current time period;
Figure BDA0003336083890000021
where Δ Tick represents the number of ticks experienced by the CPU in the current time interval, CLKCPURepresents the frequency of the CPU;
c) calculating a first reference value V of the speed variationREF01
Figure BDA0003336083890000022
Wherein WriteUnitPerBlock represents the number of WriteUnit corresponding to the size of each Block; vREF01Can show the speed variation trend when VREF01>0, indicating that the consumed data block is larger than the increased data block, which means that the speed of the last time interval has a trend of increasing, and the current speed should keep the trend; on the contrary, when VREF01<And 0, indicating that the speed tends to slow down in the last time interval, and the current speed also should keep the trend of slowing down.
2) Calculating a second reference value V of the speed variationREF02
a) Counting the number of available idle blocks in the current time period, and recording as BlockFree
b) Calculating a current idle Block and an idle Block threshold Block for triggering a garbage collection conditionGCThe difference between the values of the two signals,
ΔBlockFree=BlockFree-BlockGC
c) calculating a second reference value V of the speed variationREF02
Figure BDA0003336083890000031
Wherein N1 and N2 are preset parameters;
VREF02the significance of (A) is that when Δ BlockFreeIf the value is greater than 0, the garbage recycling efficiency can meet the current writing speed requirement, and the speed can be increased properly; if Δ BlockFreeA value less than 0 indicates that the GC efficiency has not been able to meet the speed requirement at the time of writing, and the writing speed needs to be reduced.
3) Calculating the writing speed V in the next time periodTarget
VTarget=VCurrent+w1*VREF01+w2*VREF02
Wherein w1 and w2 are preset parameters;
4) calculating the maximum value V of the speed in the next time periodMaxNext1The buffer memory resources are prevented from being released in time due to untimely garbage recovery;
5) calculating the maximum value V of the speed in the next time periodMaxNext2So as to ensure that the data in the current time period can be written into the NAND Flash in time and the corresponding address mapping is completed and the updating is completed synchronously;
6) determining a velocity value V for a next time segmentTargetThe range of values must not exceed VMaxNext1And VMaxNext2The value of (a) is required to satisfy the following equation:
VTarget≤min{VMaxNext1,VMaxNext2};
7) velocity value V according to current time periodCurrentV obtained by calculation in step 3)TargetSmoothing the value;
a) with reference to the velocity value V in the current time periodCurrentVelocity value V in the next time periodTargetComprises the following steps:
VTarget=μ*VCurrent+ν*VTarget
where μ and v are given values and μ + v ═ 1;
b) controlling the speed in the next time period and the speed fluctuation in the previous time period within a limited range to ensure the final speed value V in the next time periodTargetThe following conditions are satisfied:
Figure BDA0003336083890000032
where σ is a given value; determined VTargetThe value is required to meet the conditions defined by 6) and 7), and if the value is not met, a boundary value is required to be selected;
through VTargetDeducing the number WriteUnit of released internal cache resources of the solid state diskFree
WriteUnitFree=VTarget*Δt
And finally, releasing the cache resources to be used by the write-in command of the next time interval according to the number of the released cache resources. The velocity V of the next time interval calculated by the above 7 stepsTargetThe influence of internal operations such as NAND Flash resource idle condition, garbage collection operation occupation condition, mapping table updating and the like on the writing performance in the writing process is fully considered.
Further, in the method for reducing the write performance fluctuation of the solid state disk, the maximum speed value V isMaxNext1The calculating step comprises:
a) the current free Block is larger than the threshold value of triggering the garbage reclamation free Block, namely BlockFree>BlockGCThe method comprises the following steps:
VMaxNext1=VMaxWrite
wherein VMaxWriteThe setting value represents the maximum write speed allowed by the solid state disk;
b) the current free Block is smaller than the threshold value of triggering garbage reclamation free Block, but is larger than the minimum free Block and is recorded as BlockMinFreeI.e. BlockMinFree<BlockFree<BlockGC,The method comprises the following steps:
Figure BDA0003336083890000041
wherein VMaxGCThe garbage collection speed is a set value and represents the maximum garbage collection speed allowed by the solid state disk;
c) when the current free Block is less than the minimum free Block, i.e. BlockFree < BlockMin:
Figure BDA0003336083890000042
further, in the method for reducing the write performance fluctuation of the solid state disk, the maximum speed value V isMaxNext2The calculating step comprises:
Figure BDA0003336083890000043
wherein T isFltAnd the time of the mapping table which needs to be updated due to the writing of data in the current time period is shown.
The method for reducing the writing performance fluctuation of the solid state disk calculates the speed V of the next time interval by the methodTargetThe influence of internal operations such as NAND Flash resource idle condition, garbage collection operation occupation condition, mapping table updating and the like on the writing performance in the writing process is fully considered, the stability of the writing performance of the solid state disk in different internal working modes and the stability of the writing performance in different external application scenes can be ensured, various conditions in the running process of the solid state disk are fully considered, and the method is suitable for various application scenes.
Drawings
FIG. 1 is a schematic diagram illustrating a write process of a solid state disk according to the present invention;
fig. 2 is a schematic flow chart illustrating a method for reducing write performance fluctuation of a solid state disk according to an embodiment of the present invention;
FIG. 3 is a flow chart illustrating the write speed calculation in the next time period according to the embodiment of the present invention;
FIG. 4 is a diagram illustrating a 512K sequential write state according to an embodiment of the present invention;
FIG. 5 is a diagram illustrating a 4K random write state according to an embodiment of the present invention;
fig. 6 is a partially enlarged view of the state diagram of fig. 5.
Detailed Description
The following describes the method for reducing the write performance fluctuation of the solid state disk in detail through the accompanying drawings and embodiments.
In the method for reducing the write performance fluctuation of the solid state disk according to the embodiment of the disclosure, the cache of the solid state disk is split into a plurality of cache resource segments WriteUnit as the minimum management unit, and the units of cache resource application and release are all unitsA WriteUnit; as shown in fig. 2, when the solid state disk executes a write task, a timer is started first, and each time interval for executing the write task is Δ t; counting the writing speed V in the current time period for executing the writing taskCurrentSecondly according to the writing speed VCurrentAnd calculating the writing speed V in the next time period according to the running state of the solid state disk in the current time periodTargetThen according to VTargetThe value of (4) determines the number of the released cache resource segments WriteUnit in the solid state disk, and finally receives and processes the write-in command issued by the host according to the number of the released cache resource segments WriteUnit.
In the embodiment of the present disclosure, as shown in fig. 3, the writing speed V in the next period of timeTargetThe calculation process comprises the following steps:
1) calculating a first reference value V of the speed variationREF01
a) Counting the Block change in the current time period, and recording as delta Block,
ΔBlock=BlockUsed-BlockAdded
wherein BlockUsedRepresenting the number of blocks of NAND Flash consumed by executing the write-in command in the current time period; blockAddedRepresenting the number of blocks of NAND Flash released by executing garbage collection operation in the current time period;
b) counting the accurate time delta T in the current time period, wherein each time interval delta T has a certain error due to the situation that the NAND Flash resources are blocked to wait for being idle (including NAND Flash arrays and IO) when executing a background task, and correcting the error by counting the accurate time delta T in the current time period;
Figure BDA0003336083890000051
where Δ Tick represents the number of ticks experienced by the CPU in the current time interval, CLKCPURepresents the frequency of the CPU; c) calculating a first reference value V of the speed variationREF01
Figure BDA0003336083890000061
Wherein WriteUnitPerBlock represents the number of WriteUnit corresponding to the size of each Block; vREF01Can show the speed variation trend when VREF01>0, indicating that the consumed data block is larger than the increased data block, which means that the speed of the last time interval has a trend of increasing, and the current speed should keep the trend; on the contrary, when VREF01<And 0, indicating that the speed tends to slow down in the last time interval, and the current speed also should keep the trend of slowing down.
2) Calculating a second reference value V of the speed variationREF02
a) Counting the number of available idle blocks in the current time period, and recording as BlockFree
b) Calculating a current idle Block and an idle Block threshold Block for triggering a garbage collection conditionGCThe difference between the values of the two signals,
ΔBlockFree=BlockFree-BlockGC
c) calculating a second reference value V of the speed variationREF02
Figure BDA0003336083890000062
N1 and N2 are preset parameters, can be obtained by debugging according to actual conditions, are assigned with an initial value, and then adjust the size of the parameters according to the fluctuation of the actual speed, and finally enable the fluctuation to be smooth;
VREF02the significance of (A) is that when Δ BlockFreeIf the value is greater than 0, the garbage recycling efficiency can meet the current writing speed requirement, and the speed can be increased properly; if Δ BlockFreeA value less than 0 indicates that the GC efficiency has not been able to meet the speed requirement at the time of writing, and the writing speed needs to be reduced.
3) Calculating the writing speed V in the next time periodTarget
VTarget=VCurrent+w1*VREF01+w2*VREF02
W1 and w2 are preset parameters and can be obtained by debugging according to actual conditions.
4) Calculating the maximum value V of the speed in the next time periodMaxNext1Therefore, the situation that the cache resources are not released in time due to untimely garbage recycling is avoided.
5) Calculating the maximum value V of the speed in the next time periodMaxNext2So as to ensure that the data in the current time period can be written into the NAND Flash in time and the corresponding address mapping is updated and synchronously completed.
6) Determining a velocity value V for a next time segmentTargetThe range of values must not exceed VMaxNext1And VMaxNext2The value of (a) is required to satisfy the following equation:
VTarget≤min{VMaxNext1,VMaxNext2}。
7) velocity value V according to current time periodCurrentV obtained by calculation in step 3)TargetSmoothing the value;
a) with reference to the velocity value V in the current time periodCurrentVelocity value V in the next time periodTargetComprises the following steps:
VTarget=μ*VCurrent+ν*VTarget
where μ and v are given values and μ + v ═ 1;
b) controlling the speed in the next time period and the speed fluctuation in the previous time period within a limited range to ensure the final speed value V in the next time periodTargetThe following conditions are satisfied:
Figure BDA0003336083890000071
where σ is a given value; determined VTargetThe value is required to meet the conditions defined by 6) and 7), and if the value is not met, a boundary value is required to be selected;
through VTargetDeducing the number WriteUnit of released internal cache resources of the solid state diskFree
WriteUnitFree=VTarget*Δt
And finally, releasing the cache resources to be used by the write-in command of the next time interval according to the number of the released cache resources. The velocity V of the next time interval calculated by the above 7 stepsTargetThe influence of internal operations such as NAND Flash resource idle condition, garbage collection operation occupation condition, mapping table updating and the like on the writing performance in the writing process is fully considered.
In the disclosed embodiment, the maximum speed VMaxNext1The calculating step comprises:
a) the current free Block is larger than the threshold value of triggering the garbage reclamation free Block, namely BlockFree>BlockGCThe method comprises the following steps:
VMaxNext1=VMaxWrite
wherein VMaxWriteThe setting value represents the maximum write speed allowed by the solid state disk;
b) the current free Block is smaller than the threshold value of triggering garbage reclamation free Block, but is larger than the minimum free Block and is recorded as BlockMinFreeI.e. BlockMinFree<BlockFree<BlockGC,The method comprises the following steps:
Figure BDA0003336083890000072
wherein VMaxGCThe garbage collection speed is a set value and represents the maximum garbage collection speed allowed by the solid state disk;
c) when the current free Block is less than the minimum free Block, i.e. BlockFree < BlockMin:
Figure BDA0003336083890000081
in the disclosed embodiment, the maximum speed VMaxNext2The calculating step comprises:
Figure BDA0003336083890000082
wherein T isFltAnd the time of the mapping table which needs to be updated due to the writing of data in the current time period is shown.
In the operation process of the solid state disk, the free blocks of the solid state disk may be in different ranges, and the following actual operation results are enumerated in sequence according to different situations.
The current free Block is larger than the threshold value of triggering the garbage reclamation free Block, namely BlockFree>BlockGCIn the test process, the writing speed of the hard disk is always maintained at the maximum speed, for example, the test case is written in the 512K sequence, when the test case is written in the 512K sequence to test the solid state disk, the internal idle block is always maintained at the state, the writing speed is as shown in fig. 4, and in the whole test process, the writing speed of the hard disk is always maintained at the maximum speed, namely, VMaxWrite
When the current free Block is smaller than the threshold of triggering the garbage collection free Block but larger than the minimum free Block, when the solid state disk is in the state, the speed value of the solid state disk is gradually reduced and is finally maintained at a stable level; firstly, 512K sequential writing is performed on the solid state disk, the written data is larger than the capacity of the solid state disk, and then 4K random writing is performed on the solid state disk, as shown in fig. 5 and 6, the performance of the solid state disk is gradually reduced and finally maintained at a stable level.
The method for reducing the writing performance fluctuation of the solid state disk firmware can effectively reduce the writing performance fluctuation, can effectively balance host writing and garbage recovery operations, and can avoid the situation that the current idle Block is smaller than the minimum idle Block in the actual use process.
By adopting the method for reducing the writing performance fluctuation of the solid state disk, the stability of the writing performance of the solid state disk in different internal working modes and the stability of the writing performance in different external application scenes can be ensured, various conditions of the solid state disk in the operation process are fully considered, and the method is suitable for various application scenes.

Claims (4)

1. A method for reducing the writing performance fluctuation of a solid state disk is characterized in that: splitting a solid state disk cache into a plurality of cache resource segments WriteUnit serving as a minimum management unit, wherein the units for applying and releasing cache resources are WriteUnit; the solid state disk executes a write-in task, firstly starting a timer, and enabling each time interval for executing the write-in task to be delta t; counting the writing speed V in the current time period for executing the writing taskCurrentSecondly according to the writing speed VCurrentAnd calculating the writing speed V in the next time period according to the running state of the solid state disk in the current time periodTargetThen according to VTargetThe value of (4) determines the number of the released cache resource segments WriteUnit in the solid state disk, and finally receives and processes the write-in command issued by the host according to the number of the released cache resource segments WriteUnit.
2. The method for reducing the writing performance fluctuation of the solid state disk according to claim 1, wherein: writing speed V in the next time periodTargetThe calculation process comprises the following steps:
1) calculating a first reference value V of the speed variationREF01
a) Counting the Block change in the current time period, and recording as delta Block,
ΔBlock=BlockUsed-BlockAdded
wherein BlockUsedRepresenting the number of blocks of NAND Flash consumed by executing the write-in command in the current time period; blockAddedRepresenting the number of blocks of NAND Flash released by executing garbage collection operation in the current time period;
b) counting the accurate time delta T in the current time period:
Figure FDA0003336083880000011
where Δ Tick represents the number of ticks experienced by the CPU in the current time interval, CLKCPURepresents the frequency of the CPU;
c) calculating speed variationsFirst reference value VREF01
Figure FDA0003336083880000012
Wherein WriteUnitPerBlock represents the number of WriteUnit corresponding to the size of each Block;
2) calculating a second reference value V of the speed variationREF02
a) Counting the number of available idle blocks in the current time period, and recording as BlockFree
b) Calculating a current idle Block and an idle Block threshold Block for triggering a garbage collection conditionGCThe difference between the values of the two signals,
ΔBlockFree=BlockFree-BlockGC
c) calculating a second reference value V of the speed variationREF02
Figure FDA0003336083880000021
Wherein N1 and N2 are preset parameters;
3) calculating the writing speed V in the next time periodTarget
VTarget=VCurrent+w1*VREF01+w2*VREF02
Wherein w1 and w2 are preset parameters;
4) calculating the maximum value V of the speed in the next time periodMaxNext1
5) Calculating the maximum value V of the speed in the next time periodMaxNext2
6) Determining a velocity value V for a next time segmentTargetThe range of values must not exceed VMaxNext1And VMaxNext2The value of (a) is required to satisfy the following equation:
VTarget≤min{VMaxNext1,VMaxNext2};
7) velocity value V according to current time periodCurrentV obtained by calculation in step 3)TargetSmoothing the value;
a) with reference to the velocity value V in the current time periodCurrentVelocity value V in the next time periodTargetComprises the following steps:
VTarget=μ*VCurrent+ν*VTarget
where μ and v are given values and μ + v ═ 1;
b) controlling the speed in the next time period and the speed fluctuation in the previous time period within a limited range to ensure the final speed value V in the next time periodTargetThe following conditions are satisfied:
Figure FDA0003336083880000022
where σ is a given value;
c) through VTargetDeducing the number WriteUnit of released internal cache resources of the solid state diskFree
WriteUnitFree=VTarget*Δt
And finally, releasing the cache resources to be used by the write-in command of the next time interval according to the number of the released cache resources.
3. The method for reducing the writing performance fluctuation of the solid state disk according to claim 2, wherein: maximum value of the velocity VMaxNext1The calculating step comprises:
a) the current free Block is larger than the threshold value of triggering the garbage reclamation free Block, namely BlockFree>BlockGCThe method comprises the following steps:
VMaxNext1=VMaxWrite
wherein VMaxWriteThe setting value represents the maximum write speed allowed by the solid state disk;
b) the current free Block is smaller than the threshold value of triggering garbage reclamation free Block, but is larger than the minimum free Block and is recorded as BlockMinFreeI.e. BlockMinFree<BlockFree<BlockGC,The method comprises the following steps:
Figure FDA0003336083880000031
wherein VMaxGCThe garbage collection speed is a set value and represents the maximum garbage collection speed allowed by the solid state disk;
c) when the current free Block is less than the minimum free Block, i.e. BlockFree < BlockMin:
Figure FDA0003336083880000032
4. the method for reducing the writing performance fluctuation of the solid state disk according to claim 2 or 3, wherein: maximum value of the velocity VMaxNext2The calculating step comprises:
Figure FDA0003336083880000033
wherein T isFltAnd the time of the mapping table which needs to be updated due to the writing of data in the current time period is shown.
CN202111294634.9A 2021-11-03 2021-11-03 Method for reducing write-in performance fluctuation of solid state disk Pending CN114153381A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111294634.9A CN114153381A (en) 2021-11-03 2021-11-03 Method for reducing write-in performance fluctuation of solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111294634.9A CN114153381A (en) 2021-11-03 2021-11-03 Method for reducing write-in performance fluctuation of solid state disk

Publications (1)

Publication Number Publication Date
CN114153381A true CN114153381A (en) 2022-03-08

Family

ID=80458744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111294634.9A Pending CN114153381A (en) 2021-11-03 2021-11-03 Method for reducing write-in performance fluctuation of solid state disk

Country Status (1)

Country Link
CN (1) CN114153381A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347025A1 (en) * 2014-05-27 2015-12-03 Kabushiki Kaisha Toshiba Host-controlled garbage collection
US20170285972A1 (en) * 2016-03-31 2017-10-05 EMC IP Holding Company LLC Managing ssd write quotas in data storage systems
CN108984116A (en) * 2018-06-14 2018-12-11 浙江大华技术股份有限公司 A kind of flow control method and device of solid state hard disk garbage reclamation bandwidth
CN110569201A (en) * 2019-08-23 2019-12-13 苏州浪潮智能科技有限公司 method and device for reducing write latency under solid state disk GC
CN111857584A (en) * 2020-07-10 2020-10-30 苏州浪潮智能科技有限公司 Writing speed control method and device, electronic equipment and storage medium
US20200401513A1 (en) * 2019-06-19 2020-12-24 Micron Technology, Inc. Garbage collection adapted to host write activity
CN112416255A (en) * 2020-11-30 2021-02-26 苏州浪潮智能科技有限公司 User writing speed control method, device, equipment and medium
CN112748878A (en) * 2020-12-30 2021-05-04 华录光存储研究院(大连)有限公司 Data writing speed determination method and device and computer equipment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347025A1 (en) * 2014-05-27 2015-12-03 Kabushiki Kaisha Toshiba Host-controlled garbage collection
US20170285972A1 (en) * 2016-03-31 2017-10-05 EMC IP Holding Company LLC Managing ssd write quotas in data storage systems
CN108984116A (en) * 2018-06-14 2018-12-11 浙江大华技术股份有限公司 A kind of flow control method and device of solid state hard disk garbage reclamation bandwidth
US20200401513A1 (en) * 2019-06-19 2020-12-24 Micron Technology, Inc. Garbage collection adapted to host write activity
CN110569201A (en) * 2019-08-23 2019-12-13 苏州浪潮智能科技有限公司 method and device for reducing write latency under solid state disk GC
CN111857584A (en) * 2020-07-10 2020-10-30 苏州浪潮智能科技有限公司 Writing speed control method and device, electronic equipment and storage medium
CN112416255A (en) * 2020-11-30 2021-02-26 苏州浪潮智能科技有限公司 User writing speed control method, device, equipment and medium
CN112748878A (en) * 2020-12-30 2021-05-04 华录光存储研究院(大连)有限公司 Data writing speed determination method and device and computer equipment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHUAI LI,WEI TONG.ETC: "Accelerating garbage collection for 3D MLC flash memory with SLC blocks", 2019 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), 10 February 2020 (2020-02-10) *
彭程飞;许家麟;李涛;吴琼之;: "宽带嵌入式存储系统中实时数据记录的优化方法", 电子设计工程, no. 17, 5 September 2017 (2017-09-05) *
李帅: "基于双模特性的固态盘性能优化", 《中国优秀硕士学位论文全文数据库·信息科技辑》, 15 March 2020 (2020-03-15) *

Similar Documents

Publication Publication Date Title
US8370857B2 (en) Device controller
US8341374B2 (en) Solid state drive and related method of scheduling operations
WO2022017002A1 (en) Garbage collection method and device
US8086819B2 (en) Solid state drive optimizer
US8397017B2 (en) Controller and data storage device
US20150220278A1 (en) Dynamic io operation timeout assignment for a solid state drive
US20100274933A1 (en) Method and apparatus for reducing memory size and bandwidth
US10353773B2 (en) RAID storage system, storage controller and RAID array patrol method
US7380090B2 (en) Storage device and control method for the same
EP2784683B1 (en) Storage control program, storage control method, storage system and hierarchy control apparatus thereof
US11010094B2 (en) Task management method and host for electronic storage device
TWI773467B (en) Garbage collection operation management
EP2876541A1 (en) Method and apparatus to reclaim free space
US20180052625A1 (en) Storage system, storage control apparatus, and method of controlling a storage device
CN111324303A (en) SSD garbage recycling method and device, computer equipment and storage medium
JP2013196108A (en) Storage control device, storage control method, and storage control program
CN114153381A (en) Method for reducing write-in performance fluctuation of solid state disk
CN115840542B (en) Method and system for processing request of hard disk, storage medium and electronic equipment
JP6721821B2 (en) Storage control device, storage control method, and storage control program
CN111506256B (en) Method for reducing write performance variation and preventing IO blocking
CN114168495A (en) Enhanced read-ahead capability for memory devices
US7024499B2 (en) Cache only queue option for cache controller
CN106776404B (en) SSD (solid State disk) master control Buffer, SSD master control and SSD non-aligned write data transmission control method
JPH06243042A (en) Storage controller
CN107621926B (en) Stack area data access method and device, readable storage medium and computer equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination