Movatterモバイル変換


[0]ホーム

URL:


CN119149452A - Cache cleaning method for random small IO - Google Patents

Cache cleaning method for random small IO
Download PDF

Info

Publication number
CN119149452A
CN119149452ACN202411650860.XACN202411650860ACN119149452ACN 119149452 ACN119149452 ACN 119149452ACN 202411650860 ACN202411650860 ACN 202411650860ACN 119149452 ACN119149452 ACN 119149452A
Authority
CN
China
Prior art keywords
blocks
cache
time
dirty data
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202411650860.XA
Other languages
Chinese (zh)
Other versions
CN119149452B (en
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.)
Hangzhou Computer Peripheral Equipment Research Institute 52nd Research Institute Of China Electronics Technology Group Corp
Original Assignee
Hangzhou Computer Peripheral Equipment Research Institute 52nd Research Institute Of China Electronics Technology Group Corp
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 Hangzhou Computer Peripheral Equipment Research Institute 52nd Research Institute Of China Electronics Technology Group CorpfiledCriticalHangzhou Computer Peripheral Equipment Research Institute 52nd Research Institute Of China Electronics Technology Group Corp
Priority to CN202411650860.XApriorityCriticalpatent/CN119149452B/en
Publication of CN119149452ApublicationCriticalpatent/CN119149452A/en
Application grantedgrantedCritical
Publication of CN119149452BpublicationCriticalpatent/CN119149452B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

The specification relates to the technical field of storage, and relates to a cache cleaning method for random small IO. The method comprises the steps of obtaining the dirty data percentages of cache nodes under a plurality of blocks, dividing the blocks by back-end equipment, managing the blocks by a plurality of block groups, moving the blocks to the position under the block group corresponding to the dirty data threshold range based on the dirty data percentages of the blocks, traversing the block group according to the sequence from high to low of the dirty data threshold range, searching cleanable blocks to perform cache cleaning, judging whether the cache nodes under the searched blocks need cavity filling or not during cleaning, and starting the cleaning process after cavity filling if the cache nodes need cavity filling. The cache cleaning method for the random small IO can timely clean dirty data in the cache, reduce seek time during cleaning, is high in cleaning efficiency, can effectively avoid the problem of cache exhaustion in a random small IO scene, and guarantees IO performance of the whole system.

Description

Cache cleaning method for random small IO
Technical Field
The embodiment of the specification relates to the technical field of storage, in particular to a cache cleaning method for random small IO.
Background
The random small IO is a read-write operation which involves small data blocks and is performed in random sequence, and in order to reduce the access times to a storage device when reading and writing data, the system performance is improved, and the system IO performance is generally improved through a caching mechanism capable of temporarily storing the data. In a random small IO scene, the random small IO read-write operation has strong randomness, future IO requests are difficult to effectively predict and buffer, the hit rate of the buffer is low, the buffer pressure is high, meanwhile, the fragmented data enables the number of the IO requests to be increased sharply, and the buffer with relatively small capacity is easy to be exhausted, so that the IO performance of the whole system is influenced. Therefore, an efficient cache cleaning method is needed to timely clean dirty data in cache nodes, avoid cache bursting, and achieve the effect of improving IO performance of a system.
Disclosure of Invention
Embodiments of the present specification provide a cache cleaning method for random small IOs that aims to address one or more of the above problems and other potential problems.
In order to achieve the above object, the following technical scheme is provided:
According to a first aspect of the present disclosure, there is provided a method for cleaning a cache for random small IOs, the method comprising:
Obtaining the dirty data percentage of the cache nodes under a plurality of blocks, wherein the blocks are divided by back-end equipment, the blocks are managed by a plurality of block groups, and the number of the block groups is smaller than that of the blocks;
moving the blocks under the block groups corresponding to the dirty data threshold ranges based on the dirty data percentages of the blocks, wherein the dirty data percentages of the blocks are in the dirty data threshold ranges of the block groups for managing the blocks;
traversing the block group according to the sequence from high to low of the dirty data threshold range, searching cleanable blocks to perform cache cleaning, judging whether the cache nodes below the searched blocks need cavity filling or not during cleaning, and if so, performing cavity filling first and then starting the cleaning process.
According to the cache cleaning method for random small IO in the embodiment of the specification, the blocks are organized and ordered based on the dirty data quantity of the cache nodes under each block, and relatively continuous dirty data to be cleaned with the dirty data quantity from high to low can be efficiently and quickly found during cleaning, so that the addressing distance of the IO in the cleaning process is reduced, the disk seek time is shortened, meanwhile, the cache nodes are filled when holes are needed to be filled, the problem of disk lowercase is avoided when the IO is shortened, the cleaning efficiency of the cache is higher, the cache is not prone to bursting, and the IO performance of the whole system is guaranteed.
In some embodiments, traversing the set of tiles in order of the dirty data threshold from high to low, looking for the cleanable tile for cache cleaning, comprises:
Traversing the block group according to the sequence from high to low of the dirty data threshold range to find cleanable blocks;
Searching for cache nodes to be cleaned in the blocks obtained by searching, and cleaning dirty data of the cache nodes to be cleaned when the number of the cache nodes to be cleaned is larger than the single maximum cleaning number, and continuing to search for other cleanable blocks after cleaning until the cleaning is finished, wherein the cleaned blocks are moved to the positions below the corresponding block groups based on the new dirty data percentages;
And when the number of the cache nodes to be cleaned is smaller than or equal to the single maximum cleaning number, continuing to search for other cleanable blocks, and repeating the cleaning process until the traversal is finished.
In some embodiments, after the traversing is finished, judging whether the cache node to be cleaned exists, if so, cleaning dirty data of the cache node to be cleaned, otherwise, finishing the cleaning process.
In some embodiments, the traversal and cleaning process is timed on.
In some embodiments, judging whether the found cache node under the block needs hole filling includes calculating a hole value and a hole number of the found cache node under the block, calculating IO time consuming time before and after hole filling of the cache node, taking the IO number with shorter IO time consuming time after hole filling as a hole filling threshold, and when the IO number of the cache node is greater than or equal to the hole filling threshold, the cache node needs hole filling.
In some embodiments, in a redundancy-free array structure formed by n disks, the formula of the IO time-consuming time S before hole filling is as follows:
Wherein,The average seek time is indicated as being the average seek time,Representing the n blocks of disk synchronization overhead time,The average delay time is indicated as such,Representing the data transmission time.
In some embodiments, in a RAID5 array structure formed by n+1 disks, the IO time consuming time before hole filling is as follows:
Wherein,Representing the minimum IO time-consuming time before cavity filling, namely the IO time-consuming time under the condition of optimal distribution of m IOs; the maximum IO time consuming time before cavity filling is represented, namely the IO time consuming time under the condition of m IO worst distribution, m represents the IO quantity,Indicating a data transfer time of 4 kbytes,Representing the time consuming exclusive or calculation.
In some embodiments, the formula for IO time consuming time after hole filling is as follows:
Wherein,Represents the time-consuming time of 1M-size IO after void filling,The average seek time is indicated as being the average seek time,Representing the n blocks of disk synchronization overhead time,The average delay time is indicated as such,Representation ofThe time of transmission of the byte data,Representing the time consuming exclusive or calculation.
In some embodiments, the hole filling includes reading data in a hole space of the cache node to a memory.
Drawings
The above, as well as additional purposes, features, and advantages of embodiments of the present specification will become readily apparent from the following detailed description when read in conjunction with the accompanying drawings. In the accompanying drawings, several embodiments of the present description are shown by way of example, and not by way of limitation.
FIG. 1 illustrates a flow chart of a method of cache cleaning for random small IOs in an embodiment of the present disclosure;
FIG. 2 illustrates a schematic diagram of a block and blockchain of an embodiment of the present description;
Fig. 3 is a schematic diagram illustrating a mapping relationship between a cache node and a memory according to an embodiment of the present disclosure.
Detailed Description
Preferred embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present description are shown in the drawings, it should be understood that the present description may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The term "comprising" and variations thereof as used herein means open ended, i.e., "including but not limited to. The term "or" means "and/or" unless specifically stated otherwise. The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment. The term "another embodiment" means "at least one additional embodiment". The terms "upper," "lower," "front," "rear," and the like, as used herein, refer to a position or a positional relationship based on the orientation or positional relationship shown in the drawings, and are merely for convenience in describing the principles of the present specification, and do not indicate or imply that the elements referred to must have a particular orientation, be configured or operated in a particular orientation, and thus should not be construed as limiting the present specification.
Caching is a technique to meet the access requirements of slow storage devices by storing data on devices that are accessed faster than the original data source. When the system needs to read certain data, firstly, checking whether the data exists in a cache, if the data exists, namely, the cache hits, directly reading the data from the cache, wherein the speed of reading the data is faster than that of reading the data from an original data source, and if the data does not exist, namely, the cache misses, the system can read the data from the original data source and store the data in the cache for future use. However, compared with the storage capacity of the original data source at the rear end, the storage capacity of the cache is smaller, particularly, in a random small IO environment, the access operation is carried out on the data on the storage medium in a random sequence, future IO requests are difficult to predict and cache effectively, the cache hit rate is low, the storage capacity is easy to be exhausted, the small IO is that the data blocks in the access process are relatively smaller, frequent addressing and data transmission are required, the quantity of the IO requests is increased rapidly, the cache exhaustion speed is further increased, and the IO performance of the whole system is limited when the cache is exhausted. Therefore, the embodiment of the present disclosure shows an efficient cache cleaning method, and a cache cleaning method for random small IOs in the embodiment of the present disclosure is described in detail below with reference to the accompanying drawings.
The method of the embodiment of the specification comprises the following steps:
S1, acquiring the dirty data percentage of cache nodes under a plurality of blocks;
S3, respectively moving the blocks to the positions below the block groups corresponding to the dirty data threshold range based on the dirty data percentages of the blocks;
s5, traversing the block group according to the sequence from high to low of the dirty data threshold range, and searching the cleanable blocks to perform cache cleaning.
In the embodiment of the present disclosure, the block is used as the storage management unit, the block in step S1 is divided by the back-end device according to a certain size, for example, 64M size is used as a block, each block is composed of 64 cache nodes with 1M size, each block corresponds to a block metadata, and the block metadata is used for recording the dirty data condition of the cache node under the corresponding block. Dirty data in a cache node refers to data stored in the cache node that is inconsistent with the actual data in the original data source or that has expired, erroneous, meaningless, and that needs to be cleaned up first. And the dirty data percentage is the percentage of the dirty data amount in the block to the total data storage amount of the block, and reflects the dirty data storage condition of the block. The blocks are managed by a plurality of block groups, and specifically, the block groups manage the blocks through block chains respectively, so that the blocks mounted on the block chains are arranged according to time sequence. The number of the block groups is smaller than the number of the blocks, that is, the number of the blockchains is smaller than the number of the blocks, each blockchain corresponds to a different dirty data threshold range, for example, as shown in fig. 2, 11 blockgroups are set, the blockchains of the block groups are respectively a dirty data threshold range of [0%,0% ], a dirty data threshold range of [0%,10% ], a dirty data threshold range of [1], a dirty data threshold range of [10%,20% ], and so on, of the following blockchains are all increased by 10%, until the dirty data threshold range reaches [90%,100% ].
In step S3, each block is mounted under a different blockchain based on its dirty data percentage, and along with the use of the cache and the cleaning process, the dirty data percentage in the block changes, and then the block continues to move to the corresponding blockchain based on the respective dirty data percentage, so as to keep the state that all blocks are arranged in groups under different dirty data conditions. For example, a just cleaned block is mounted on blockchain chunk_list [0], the dirty data percentage of the block gradually increases with the use of the cache in the block, when the dirty data percentage increases to a range of 10% -20%, the block is mounted on blockchain chunk_list [1] in a moving way, the dirty data percentage continues to increase, and the block continues to move to the corresponding blockchain mount based on the dirty data threshold range where the dirty data percentage is located.
The blocks are organized according to different dirty data conditions, the blocks with more dirty data can be cleaned preferentially when the cache cleaning is carried out, the addressing distance and the seek time of a magnetic disk in the cleaning process are reduced, and the cache cleaning efficiency is accelerated. The cleaning process of step S5 includes the steps of:
s51, traversing the block group according to the sequence from high to low of the dirty data threshold range to find cleanable blocks;
S53, searching for the cache nodes to be cleaned in the blocks obtained by searching, cleaning dirty data of the cache nodes to be cleaned when the number of the cache nodes to be cleaned is larger than the single maximum cleaning number, continuing to search for other cleanable blocks after cleaning until the cleaning is finished, and continuing to search for other cleanable blocks when the number of the cache nodes to be cleaned is smaller than or equal to the single maximum cleaning number, and repeating the cleaning process until the cleaning is finished.
Dirty data may include dirty data that has been cleaned or that does not need to be cleaned, and a block with a larger percentage of dirty data may also include cache nodes with a smaller portion of dirty data, so the cache nodes to be cleaned need to be searched first in step S53. The number of the cache nodes to be cleaned is larger than the single maximum cleaning number, so that a part of unclean cache nodes are reserved, a certain pressure is provided for the back-end equipment, and all the performances of the back-end equipment are exerted. The cleaned blocks are mounted under the corresponding blockchain based on their new dirty data percentage movements.
After the traversal process in step S55 is finished, it is determined whether the cache node to be cleaned is still present, so as to prevent the missing part of the cache node from being uncleaned, if so, the dirty data of the cache node to be cleaned is cleaned, otherwise, the cleaning process is finished. The above-mentioned traversing and cleaning processes are started at regular time, and the traversing process can also only traverse the block group with larger dirty data threshold range, so as to improve the single cleaning efficiency.
In step S53, when the dirty data of the to-be-cleaned cache node is cleaned, it is determined whether the to-be-cleaned cache node needs cavity filling, and if so, the cleaning process is started after cavity filling is performed. The hole filling refers to reading data in a space corresponding to a hole from the back-end equipment to the memory, so that all data blocks in the whole cache node space have cache data corresponding to the data blocks, a plurality of small IO can be constructed into a large IO after the hole filling, the number of times of IO is reduced, the problem of disk lowercase is avoided, and the problem that when dirty data is cleaned, only a plurality of small IO can be constructed for landing due to the existence of the hole, and the cache cleaning efficiency is influenced. When the number of IO times reaches a certain number, the time consuming time of IO after cavity filling is smaller than the time consuming time of IO before cavity filling, so that the improvement of IO performance is realized.
Specifically, determining whether the cache node to be cleaned needs cavity filling includes the following steps:
S531, calculating the hole value and the hole number of the cache node;
s533, calculating IO time consuming time before and after cavity filling of the cache node, and taking the IO number with shorter IO time consuming time after cavity filling as a cavity filling threshold;
s535, when the IO number of the cache node is greater than or equal to the hole filling threshold, the cache node needs hole filling.
In step S531, as shown in fig. 3, each cache node corresponds to a continuous 1M space of the back-end device, the cache node is divided into 256 data blocks with a size of 4K as a unit, the mapped data blocks are mapped with a size of data blocks as a unit during caching, the mapped data blocks are allocated with memories in one-to-one correspondence, the cache node comprises metadata and a block index, the metadata comprises a status bitmap and a node index which represent a status of the block index, and the block index records a memory page address corresponding to the block. Each data block indicates by a valid status bit whether the data block is valid, i.e. whether there is cached data in the data block space. Based on the valid bit of each data block and the valid bit and dirty bit of each sector in the bitmap, the IO number and the hole condition in each cache node can be calculated.
The time consumption of the disk IO mainly comprises seek time, delay time and transmission time, the transmission time can be ignored under the condition of small IO, and the time consumption of the disk IO mainly calculates the seek time and the delay time. For example, in a redundancy-free array structure formed by n disks, the formula of the IO time-consuming time S before hole filling is as follows:
Wherein,The average seek time is indicated as being the average seek time,Representing the n blocks of disk synchronization overhead time,The average delay time is indicated as such,Representing the data transmission time.
For a RAID5 array formed by n+1 blocks of magnetic disks, m write operations are performed in a lower case, m IO operations are optimally distributed on different stripes, at the moment, a host needs to perform m+1 read operations, m+1 write operations and 2m exclusive-or operations, and at the worst, m IO operations are distributed on the same stripe, at the moment, the host needs to perform 2m read operations, 2m write operations and 2m exclusive-or operations. Therefore, in a RAID5 array structure formed by n+1 blocks of disks, if m IOs are uniformly distributed on the data disks of the array, and the IO size is not greater than the minimum stripe processing unit 4K, the formula of the IO time consuming time before cavity filling is as follows:
Wherein,Representing the minimum IO time-consuming time before cavity filling, namely the IO time-consuming time under the condition of optimal distribution of m IOs; the maximum IO time consuming time before cavity filling is represented, namely the IO time consuming time under the condition of m IO worst distribution, m represents the IO quantity,Indicating a data transfer time of 4 kbytes,Representing the time consuming exclusive or calculation.
The formula of IO time consuming time after cavity filling is as follows:
Wherein,Represents the time-consuming time of 1M-size IO after void filling,The average seek time is indicated as being the average seek time,Representing the n blocks of disk synchronization overhead time,The average delay time is indicated as such,Representation ofThe time of transmission of the byte data,Representing the time consuming exclusive or calculation.
The hole filling threshold calculation in step S533 is as follows:
assuming that the IO after hole filling is less time consuming, namely:
The decomposition formula is obtained:
The M IOs are distributed in the 1M space, so that the M IOs only need to seek once, and the average seek time can be ignored. In the array of the common 4+1 block disk, the IO can be satisfied up to 80AndNamely, the hole filling threshold value is 80 at this time, and when the IO number is 80 or more, the time consumption after hole filling can be ensured to be shorter than that after hole filling.
While several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present description. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims.
The embodiments of the present specification have been described above, and the above description is illustrative, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvements in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (9)

Translated fromChinese
1.一种针对随机小IO的缓存清洁方法,其特征在于,方法包括:1. A cache cleaning method for random small IO, characterized in that the method comprises:获取若干区块下的缓存节点的脏数据百分比;其中,若干所述区块由后端设备划分得到,所述区块由若干区块组分组管理,所述区块组的数量小于所述区块的数量;所述脏数据百分比为所述区块中的脏数据量占该区块总数据存储量的百分比;Obtaining dirty data percentages of cache nodes under a number of blocks; wherein the blocks are divided by backend devices, the blocks are grouped and managed by a number of block groups, and the number of block groups is less than the number of blocks; the dirty data percentage is the percentage of dirty data in the block to the total data storage capacity of the block;基于各个所述区块的脏数据百分比将所述区块分别移动到对应脏数据阈值范围的所述区块组下;其中,所述区块的脏数据百分比处于管理该区块的所述区块组的脏数据阈值范围内;Based on the dirty data percentage of each of the blocks, the blocks are respectively moved to the block group corresponding to the dirty data threshold range; wherein the dirty data percentage of the block is within the dirty data threshold range of the block group managing the block;按照所述脏数据阈值范围从高到低的顺序遍历所述区块组,寻找可清洁的所述区块进行缓存清洁,清洁时先判断寻找到的所述区块下的缓存节点是否需要空洞填充,如果需要则先进行空洞填充后再开始清洁过程。The block group is traversed in order from high to low according to the dirty data threshold range, and the cleanable blocks are found for cache cleaning. When cleaning, it is first determined whether the cache node under the found block needs hole filling. If necessary, the hole filling is performed first and then the cleaning process is started.2.根据权利要求1所述的方法,其特征在于,按照所述脏数据阈值从高到低的顺序遍历所述区块组,寻找可清洁的所述区块进行缓存清洁,包括:2. The method according to claim 1, characterized in that traversing the block group in descending order of the dirty data thresholds to find the cleanable blocks for cache cleaning comprises:按照所述脏数据阈值范围从高到低的顺序遍历所述区块组寻找可清洁的所述区块;Traversing the block group in descending order of the dirty data threshold range to find the cleanable block;在寻找得到的所述区块中寻找待清洁的缓存节点,当所述待清洁的缓存节点的数量大于单次最大清洁数量时,对所述待清洁的缓存节点的脏数据进行清洁,清洁完成后继续遍历寻找其他可清洁的所述区块,直到遍历结束;其中,清洁后的所述区块基于其新的脏数据百分比移动到对应的所述区块组下;Searching for cache nodes to be cleaned in the blocks found, and when the number of cache nodes to be cleaned is greater than the maximum number of single cleanings, cleaning the dirty data of the cache nodes to be cleaned, and continuing to traverse and search for other cleanable blocks after the cleaning is completed, until the traversal is completed; wherein the cleaned blocks are moved to the corresponding block group based on their new dirty data percentage;当所述待清洁的缓存节点的数量小于等于所述单次最大清洁数量时,继续遍历寻找其他可清洁的所述区块,重复上述清洁过程,直到遍历结束。When the number of cache nodes to be cleaned is less than or equal to the maximum number of single cleanings, continue to traverse to find other blocks that can be cleaned, and repeat the above cleaning process until the traversal is completed.3.根据权利要求2所述的方法,其特征在于,遍历结束后判断是否存在所述待清洁的缓存节点,如果存在则对该待清洁的缓存节点的脏数据进行清洁,否则结束该次清洁过程。3. The method according to claim 2 is characterized in that after the traversal is completed, it is determined whether there is the cache node to be cleaned. If so, the dirty data of the cache node to be cleaned is cleaned, otherwise the cleaning process is terminated.4.根据权利要求3所述的方法,其特征在于,所述遍历和清洁过程定时开启。The method according to claim 3 , characterized in that the traversal and cleaning process is started at a fixed time.5.根据权利要求1所述的方法,其特征在于,判断寻找到的所述区块下的缓存节点是否需要空洞填充,包括:计算寻找到的所述区块下的缓存节点的空洞值和空洞数量,计算所述缓存节点空洞填充前后的IO耗时时间,将空洞填充后IO耗时时间更短时的IO数量作为空洞填充阈值,当所述缓存节点的IO数量大于等于所述空洞填充阈值时,该缓存节点需要空洞填充。5. The method according to claim 1 is characterized in that judging whether the cache node under the block found needs hole filling includes: calculating the hole value and the number of holes of the cache node under the block found, calculating the IO time before and after the hole filling of the cache node, and taking the IO number when the IO time after the hole filling is shorter as the hole filling threshold; when the IO number of the cache node is greater than or equal to the hole filling threshold, the cache node needs hole filling.6.根据权利要求5所述的方法,其特征在于,在n块磁盘构成的无冗余阵列结构下,空洞填充前的IO耗时时间S的公式如下:6. The method according to claim 5, characterized in that, in a non-redundant array structure composed of n disks, the formula for the IO time consumption S before the hole is filled is as follows:其中,表示平均寻道时间,表示n块磁盘同步开销时间,表示平均延迟时间,表示数据传输时间。in, represents the average seek time, Indicates the synchronization overhead time of n disks. represents the average delay time, Indicates the data transmission time.7.根据权利要求5所述的方法,其特征在于,在n+1块磁盘构成的RAID5阵列结构下,空洞填充前的IO耗时时间的公式如下:7. The method according to claim 5, characterized in that, in a RAID5 array structure consisting of n+1 disks, the formula for the IO time consumption before hole filling is as follows:其中,表示空洞填充前的最小IO耗时时间,即m个IO最优分布情况下的IO耗时时间;表示空洞填充前的最大IO耗时时间,即m个IO最差分布情况下的IO耗时时间;m表示IO数量,表示4K字节数据传输时间,表示一次异或计算耗时。 in, It represents the minimum IO time before the hole is filled, that is, the IO time under the optimal distribution of m IOs; It indicates the maximum IO time before the hole is filled, that is, the IO time under the worst distribution of m IOs; m indicates the number of IOs. Indicates 4K byte data transfer time, Indicates the time taken for an XOR calculation.8.根据权利要求7所述的方法,其特征在于,空洞填充后的IO耗时时间的公式如下:8. The method according to claim 7, characterized in that the formula for the IO time after hole filling is as follows:其中,表示空洞填充后1M大小IO的耗时时间,表示平均寻道时间,表示n块磁盘同步开销时间,表示平均延迟时间,表示字节数据传输时间,表示一次异或计算耗时。 in, It indicates the time taken for 1M IO after the hole is filled. represents the average seek time, Indicates the synchronization overhead time of n disks. represents the average delay time, express Byte data transfer time, Indicates the time taken for an XOR calculation.9.根据权利要求5所述的方法,其特征在于,所述空洞填充包括:将所述缓存节点的空洞空间内的数据读取到内存。9. The method according to claim 5, characterized in that the hole filling comprises: reading the data in the hole space of the cache node into a memory.
CN202411650860.XA2024-11-192024-11-19Cache cleaning method for random small IOActiveCN119149452B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202411650860.XACN119149452B (en)2024-11-192024-11-19Cache cleaning method for random small IO

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202411650860.XACN119149452B (en)2024-11-192024-11-19Cache cleaning method for random small IO

Publications (2)

Publication NumberPublication Date
CN119149452Atrue CN119149452A (en)2024-12-17
CN119149452B CN119149452B (en)2025-03-14

Family

ID=93814167

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202411650860.XAActiveCN119149452B (en)2024-11-192024-11-19Cache cleaning method for random small IO

Country Status (1)

CountryLink
CN (1)CN119149452B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20130036270A1 (en)*2011-08-042013-02-07The Regents Of The University Of MichiganData processing apparatus and method for powering down a cache
CN109375878A (en)*2018-10-262019-02-22郑州云海信息技术有限公司 A cache resource processing method, device, and computer-readable storage medium
CN109783023A (en)*2019-01-042019-05-21平安科技(深圳)有限公司The method and relevant apparatus brushed under a kind of data
US20190205253A1 (en)*2017-12-292019-07-04Advanced Micro Devices, Inc.Method and apparatus for controlling cache line storage in cache memory
CN112433964A (en)*2020-04-172021-03-02上海哔哩哔哩科技有限公司Method and equipment for cleaning cache dirty data
CN114090568A (en)*2022-01-242022-02-25深圳市慧为智能科技股份有限公司Dirty data clearing method and device, terminal equipment and readable storage medium
CN117992366A (en)*2024-02-022024-05-07深圳忆联信息系统有限公司Cache processing method and device, computer equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20130036270A1 (en)*2011-08-042013-02-07The Regents Of The University Of MichiganData processing apparatus and method for powering down a cache
US20190205253A1 (en)*2017-12-292019-07-04Advanced Micro Devices, Inc.Method and apparatus for controlling cache line storage in cache memory
CN109375878A (en)*2018-10-262019-02-22郑州云海信息技术有限公司 A cache resource processing method, device, and computer-readable storage medium
CN109783023A (en)*2019-01-042019-05-21平安科技(深圳)有限公司The method and relevant apparatus brushed under a kind of data
CN112433964A (en)*2020-04-172021-03-02上海哔哩哔哩科技有限公司Method and equipment for cleaning cache dirty data
CN114090568A (en)*2022-01-242022-02-25深圳市慧为智能科技股份有限公司Dirty data clearing method and device, terminal equipment and readable storage medium
CN117992366A (en)*2024-02-022024-05-07深圳忆联信息系统有限公司Cache processing method and device, computer equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张雪;赵旭宝;: "一种嵌入式Flash文件系统的设计与实现", 计算机与信息技术, no. 04, 20 April 2007 (2007-04-20), pages 75 - 77*

Also Published As

Publication numberPublication date
CN119149452B (en)2025-03-14

Similar Documents

PublicationPublication DateTitle
US12265706B2 (en)Memory system with nonvolatile semiconductor memory
TWI474167B (en)Page based management of flash storage
CN107066393B (en) A method for improving the density of mapping information in the address mapping table
CN103136121B (en)Cache management method for solid-state disc
US8312217B2 (en)Methods and systems for storing data blocks of multi-streams and multi-user applications
US10061704B2 (en)Systems and methods for managing cache of a data storage device
US20130173853A1 (en)Memory-efficient caching methods and systems
CN105930282B (en)A kind of data cache method for NAND FLASH
CN104166634A (en)Management method of mapping table caches in solid-state disk system
WO2012116369A2 (en)Apparatus, system, and method for managing contents of a cache
WO2009033419A1 (en)A data caching processing method, system and data caching device
CN103645859A (en)Disk array caching method for virtual SSD and SSD isomerous mirror image
CN107221351B (en)Optimization processing method of error correcting code in solid-state disk system and application thereof
CN111443874B (en) Content-aware-based solid-state disk memory cache management method, device, and solid-state disk
CN111580754A (en) A Write-Friendly Flash SSD Cache Management Method
CN105975215A (en)STL mapping table management method based on Ondemand algorithm
CN113050894A (en)Agricultural spectrum hybrid storage system cache replacement algorithm based on cuckoo algorithm
WO2012021847A2 (en)Apparatus, system and method for caching data
CN104794066A (en)Storage apparatus and method for selecting storage area where data is written
CN119149452B (en)Cache cleaning method for random small IO
CN115048056B (en)Solid state disk buffer area management method based on page replacement cost
CN111309261A (en)Physical data position mapping method on single node in distributed storage system
CN115391236A (en) Management method and system using HMB as physical mapping table cache
CN119271568A (en) A FTL table entry full hardware acceleration module method based on logical address merge sorting
CN117908781A (en) A method for dynamic address mapping of track groups for shingled magnetic recording hard disks

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp