CN114217736A - Data writing method and device for reducing pre-reading and storage medium - Google Patents

Data writing method and device for reducing pre-reading and storage medium Download PDF

Info

Publication number
CN114217736A
CN114217736A CN202111372696.7A CN202111372696A CN114217736A CN 114217736 A CN114217736 A CN 114217736A CN 202111372696 A CN202111372696 A CN 202111372696A CN 114217736 A CN114217736 A CN 114217736A
Authority
CN
China
Prior art keywords
data block
data
written
old
stripe
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
CN202111372696.7A
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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202111372696.7A priority Critical patent/CN114217736A/en
Publication of CN114217736A publication Critical patent/CN114217736A/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/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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

The invention provides a data writing method, a data writing device and a storage medium for reducing pre-reading, which are used for improving the stripe writing performance of a storage system. Aiming at a target write stripe, an old check data block and an old storage data block related to data to be written are pre-read, an intermediate check data block is calculated by using the old check data block and the old storage data block related to the data to be written, and a new check data block is calculated by using the intermediate check data block and the data block to be written. The invention achieves the purpose of improving the performance of the distributed storage system by reducing the read-ahead requests generated by write IO, thereby meeting part of scenes with higher requirements on IOPS.

Description

Data writing method and device for reducing pre-reading and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a data writing method and apparatus for reducing pre-reading, and a storage medium.
Background
In a distributed storage system, in order to ensure data persistence, data is mostly stored by adopting a multi-copy or erasure code technology. Compared with a copy storage mode, the erasure code can obtain higher space utilization rate. For example, for 10TB original disk capacity, if 3 copies are configured, the available capacity is only about one third of the original disk capacity, about 3.3TB, and if (8,2) erasure codes are configured, under the condition that the data persistence is the same as that of 3 copies, the available capacity can reach about three quarters of the original disk capacity, about 8TB, and the available capacity is improved by 142.4% compared with the copy mode. Although the erasure code storage mode can improve the space utilization rate, it is replaced by the performance degradation of the distributed system, and the main reasons for the performance degradation of the system are the following two reasons:
one reason is that more CPU resources of the system need to be consumed when the erasure code calculates the check data;
the other reason is that the erasure codes are calculated by taking the stripes as granularity when calculating the check data, if the write request issued by the user is not aligned with the stripes, the non-aligned part needs to be read again, so a large amount of pre-read IO is generated, more disk resources are occupied, and the overall performance of the system is influenced.
The basic principle of erasure code storage is as follows:
assuming the erasure code configuration is (N, M), data is first divided into N fixed-length data blocks by D when being written into the storage system1、D2、…、DNTo indicate. Calculating M check blocks from the N data blocks, using P1、P2、…、PMTo indicate. The data blocks and check blocks are of fixed length, typically 4KB, 8KB, 16KB, etc. A complete set of data blocks plus parity blocks is referred to as a data stripe.
Due to IO write amplification, the Input/Output Per Second (IOPS) performance of the erasure code approach is much lower than that of the replica approach under the same configuration. Therefore, in some scenarios with high requirements on the performance of the IOPS, the system is generally configured in a replica mode.
In a distributed storage system, in order to reduce pre-reading requests generated by writing IO in an erasure code storage mode, the size of a strip in the storage system is dynamically adjusted according to user IO scenes, the generation of reading requests is reduced through the mode, and high IOPS values can be obtained in some IO scene systems, so that the service requirements of most scenes are met. However, the generality of the solution is poor, the use is complex, the IO model of the user needs to be analyzed before the storage service is used, and the stripe of the erasure code is configured according to the IO model, but most of the IO of the user is not a single model, and in the environment of the diversity of the IO model, the stripe of a single structure still has a serious write amplification problem.
Disclosure of Invention
In view of the above, the present invention provides a data writing method, apparatus and storage medium with reduced pre-reading, which are used to improve the stripe writing performance of a storage system.
Based on an aspect of the embodiments of the present invention, the present invention provides a data writing method for reducing pre-reading, including:
for a target write stripe, pre-reading an old check data block and an old storage data block related to data to be written;
calculating an intermediate check data block by using the old check data block and an old storage data block related to the data to be written;
calculating a new check data block by using the intermediate check data block and the data block to be written;
and writing the data block to be written and the new check data block into a target writing stripe.
Further, the data block to be written is composed of data to be written corresponding to the block position, or a part of the old storage data block not related to the data to be written and the data to be written.
Further, the intermediate check data block and the new check data block are calculated by an ISA erasure code algorithm.
Further, the method further comprises:
for a target write stripe, judging whether the sum of the number of old storage data blocks related to the data to be written and the number of old check data blocks needing to be read in advance is more than or equal to the number of old storage data blocks not related to the data to be written in the stripe, if so, calculating a new check data block by adopting the following method:
pre-reading out an old storage data block which is not related to the data to be written aiming at a target writing stripe;
and calculating a new check data block by using the data to be written and the old storage data block which is not related to the data to be written.
Based on another aspect of the embodiments of the present invention, the present invention further provides a data writing apparatus for reducing pre-reading, including:
the pre-reading module is used for pre-reading an old check data block and an old storage data block related to data to be written aiming at a target write stripe;
the intermediate check calculation module is used for calculating an intermediate check data block by using the old check data block and an old storage data block related to the data to be written;
the new check calculation module is used for calculating a new check data block by using the intermediate check data block and the data block to be written;
and the writing module is used for writing the data block to be written and the new check data block into a target writing stripe.
Further, the data block to be written is composed of data to be written corresponding to the block position, or a part of the old storage data block not related to the data to be written and the data to be written.
Further, the intermediate verification calculation module and the new verification calculation module calculate the intermediate verification data block and the new verification data block by adopting an ISA erasure code algorithm.
Further, the apparatus further comprises:
the judging module is used for judging whether the sum of the number of old storage data blocks related to the data to be written and the number of old check data blocks needing to be read in advance is more than or equal to the number of old storage data blocks not related to the data to be written in the stripe or not aiming at a target writing stripe;
the pre-reading module is further used for pre-reading an old storage data block which is not related to the data to be written aiming at the target writing stripe under the condition that the judgment result is greater than or equal to the target writing stripe;
and the new check calculation module is also used for calculating a new check data block by using the data to be written and the old storage data block which is not related to the data to be written under the condition that the new check calculation module is judged to be larger than or equal to the new check calculation module.
Aiming at a target write stripe, an old check data block and an old storage data block related to data to be written are pre-read, an intermediate check data block is calculated by using the old check data block and the old storage data block related to the data to be written, and a new check data block is calculated by using the intermediate check data block and the data block to be written. The invention achieves the purpose of improving the performance of the distributed storage system by reducing the read-ahead requests generated by write IO, thereby meeting part of scenes with higher requirements on IOPS.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments of the present invention or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present invention, and for those skilled in the art, other drawings may be obtained according to the drawings of the embodiments of the present invention.
FIG. 1 is a diagram illustrating a stripe pre-read process during data writing according to an embodiment of the present invention;
fig. 2 is a schematic diagram of pre-reading a data block and calculating a parity data block in an erasure code based data writing method according to an embodiment of the present invention;
FIG. 3 is a diagram illustrating a process of data writing for scenario one or three according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a data writing apparatus with reduced pre-reading according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used in this embodiment of the invention, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term "and/or" as used herein is meant to encompass any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used to describe various information in embodiments of the present invention, the information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information, without departing from the scope of embodiments of the present invention. Depending on the context, moreover, the word "if" as used may be interpreted as "at … …" or "when … …" or "in response to a determination".
In order to make the technical problem to be solved by the present invention clearer, in the following, referring to the accompanying drawings, a process of generating pre-reading when writing data is performed, as shown in fig. 1, assuming that a stripe is configured as (N, M) — (8,2), that is, each 8 stored data blocks corresponds to 2 parity data blocks, a stripe is configured as 4 × 8K by default, that is, each stored data block is 4K, assuming that a data position Offset address to be written by a user is 28K, and a Length is 80K, splitting data to be written onto each stripe of erasure codes according to the Offset address and the data Length of a data position to be written, if the written data is not aligned with the stripe, in order to recalculate a parity data block, it is necessary to pre-read the stored data block which is not overwritten in the stripe, and participate in calculation together with the stored data block to be written to generate a new parity data block. If the written data is aligned with the stripe, then a pre-read is not needed and the new parity data block is calculated directly using the data to be written.
In fig. 1, the stripe 1 and the stripe 2 are the scenario where the written data is aligned with the stripe, and no pre-read IO is generated. The stripe 0 and the stripe 3 are scenes that the data to be written and the stripe are not aligned, and in this case, it is usually performed that an original data block which is not modified needs to be read in advance from the non-aligned stripe, and then a check data block is calculated together with the data to be written, so that a large amount of read-in data is generated, limited disk and system resources are occupied, and performance of the distributed storage system is reduced.
The invention provides a method for reducing pre-read data writing in order to reduce the number of pre-read data in a non-aligned scene.
Fig. 2 is a schematic diagram of pre-reading a data block and calculating a parity data block in a data writing method based on erasure codes according to an embodiment of the present invention, and assuming that the stripe configuration shown in fig. 1 is still adopted, an offset address of data to be written of a user is 28K, a length of the written data is 80K, a position of the data to be written in a stripe is shown in fig. 2, the data to be written relates to 4 stripes, where stripe 0 and stripe 3 are non-aligned stripes, the data to be written on stripe 0 only relates to a last stored data block, and the data to be written on stripe 3 only relates to a first 3 stored data blocks.
The following analysis and explanation are made on the situation of pre-reading data in the common practice in three scenarios:
scene one: the data block to be written in the stripe 0 is a storage data block (the 8 th storage data block, which is a storage data block in the range from 28K to 31K in the example in fig. 2) located at the back end of the stripe in the stripe, and since the stripe is non-stripe aligned, in order to regenerate a new parity data block, according to a common method, all the storage data blocks related to the non-write part in the stripe 1 need to be read (all the storage data blocks except the last storage data block, which is the first 7 storage data blocks, in the stripe 0 in the example in fig. 2), and then participate in the calculation of the parity data block together with the data block to be written (the data to be written, which is located at the last storage data block in the write position in the example in fig. 2), so as to generate two parity data blocks.
Scene two: the data blocks to be written in the stripe 1 and the stripe 2 relate to all the stored data blocks in the stripe, and because the two stripes are aligned, the data do not need to be read in advance, and only the data blocks to be written are used for directly calculating to generate a new check data block.
Scene three: the data to be written in the stripe 3 relates to the first 3 storage data blocks in the stripe, and the stripe is also a non-stripe aligned scenario, and according to the normal practice, the storage data blocks not related to the data to be written in the stripe need to be read out in advance (the last 5 storage data blocks of the stripe illustrated in fig. 2), and then a new parity data block is calculated together with the data to be written.
By combining the analysis of the three scenes, it can be known that data pre-reading is performed when the scene one and the scene three occur, and the performance of the distributed storage system is directly influenced. Because the influence on the performance is directly caused by pre-reading, the overall performance of the storage system can be improved by reducing the pre-reading, and in order to reduce the influence of the first scene and the third scene on the performance of the storage system, the pre-reading process in the storage system is optimized.
The invention provides a data writing method for reducing pre-reading, which comprises the following steps:
step 301, for a target write stripe, pre-reading an old check data block and an old storage data block related to data to be written;
the "old storage data block to which the data to be written relates" means that the data to be written in the target write stripe will overwrite the old storage data block to which the data to be written partially corresponds, for example, taking fig. 2 as an example, the "old storage data block to which the data to be written relates" refers to the 8 th storage data block in stripe 0, all storage data blocks in stripe 1, and the first 3 storage data blocks in stripe 3.
Correspondingly, the meaning of "old storage data block not referred to by data to be written" refers to the old storage data block in the stripe where no data write occurs. Such as the last 5 stored data blocks in stripe 3 in fig. 2.
Step 302, calculating an intermediate check data block by using the old check data block and the old storage data block related to the data to be written;
step 303, calculating a new check data block by using the intermediate check data block and the data block to be written;
the data block to be written is composed of data to be written corresponding to the block position, or a part which does not relate to the data to be written in the old storage data block and the data to be written. For example, when the data to be written covers a complete block of storage data block, the data block to be written is equal to the data to be written at the corresponding position, for example, the data to be written in the stripe 0 completely covers the 8 th old storage data block; when the writing position of the data to be written is not aligned with the old storage data block or the data to be written only relates to a part of the content in one old storage data block, the data block to be written refers to a new storage data block formed by combining a part of the old storage data block which is not covered by the data to be written and a part of the old storage data block which is covered by the data to be written, for example, when the data to be written in the stripe 0 only covers a part of the content in the 8 th old storage data block, the data block to be written is a new storage data block formed by combining the part of the old storage data block which is not covered and the part of the data block to be written.
And 304, writing the data block to be written and the new check data block into the target write stripe.
In this embodiment, the check data block refers to an erasure code check data block, and the intermediate check data block and the new check data block are calculated by an erasure code algorithm in an Intelligent Storage Acceleration Library (ISA) Library.
Fig. 3 is a schematic diagram of a process of writing data in a scenario one or three in an embodiment of the present invention, referring to the example of stripe configuration and stripe splitting in fig. 2, for a scenario one, old storage data blocks that are to be read in advance in a stripe 0 are only 8 th old storage data blocks and 2 old parity data blocks, while a general processing method needs to read in advance 8 old storage data blocks, which significantly reduces the amount of read-in data and greatly improves storage performance. For scenario three, the data blocks of stripe 3 that need to be pre-read are 5 blocks, which are the 1 st to 3 rd old storage data blocks and the two old check data blocks, respectively. In the third scenario, if a common processing method is used, 5 data blocks, namely 4 th to 8 th old storage data blocks, need to be read in advance, but compared with the new method, the calculation step of intermediate verification data can be omitted by adopting the old method.
Based on the analysis of scenario three, in another embodiment of the present invention, a selection step of a check data block calculation method based on the number of pre-read data blocks is added before step 301:
step 300, aiming at a target write stripe, judging whether the sum of the number of old storage data blocks related to the data to be written and the number of old check data blocks needing to be read in advance is more than or equal to the number of old storage data blocks not related to the data to be written in the stripe, if so, calculating a new check data block by adopting the following method:
step 311, for the target write stripe, pre-reading an old storage data block which is not related to the data to be written;
step 312, calculate a new parity data block using the data to be written and the old stored data block not referred to by the data to be written.
Under the condition that the sum of the number of the old storage data blocks related to the data to be written and the number of the old check data blocks needing to be read in advance is more than or equal to the number of the old storage data blocks not related to the data to be written in the stripe, the method for calculating the check data blocks in the steps 311 to 312 can reduce the consumption of the pre-read data amount and CPU (Central processing Unit) calculation resources, thereby further improving the data writing performance.
The method can effectively reduce the pre-reading request generated in the scene one and reduce the preemption of the disk and other system resources, thereby leading the storage system to obtain higher erasure code writing performance. After the scheme is tested and used, the performance of the erasure code in a small file random writing scene can be improved by more than 3 times, and the technical effect is obvious.
Fig. 4 is a schematic structural diagram of a data writing apparatus for reducing pre-reading according to an embodiment of the present invention, and each functional module in the apparatus 400 may be implemented by software, hardware, or a combination of software and hardware.
The apparatus 400 is applied to, the apparatus 400 comprising:
a pre-reading module 401, configured to pre-read, for a target write stripe, an old parity data block and an old storage data block related to data to be written;
an intermediate check calculating module 402, configured to calculate an intermediate check data block by using the old check data block and an old storage data block related to the data to be written;
a new parity calculation module 403, configured to calculate a new parity data block by using the intermediate parity data block and the data block to be written;
a writing module 404, configured to write the data block to be written and the new parity data block to a target write stripe.
Further, the intermediate verification calculation module 402 and the new verification calculation module 403 calculate the intermediate verification data block and the new verification data block by using an ISA erasure code algorithm.
Further, the apparatus 400 may further include: the judging module is used for judging whether the sum of the number of old storage data blocks related to the data to be written and the number of old check data blocks needing to be read in advance is more than or equal to the number of old storage data blocks not related to the data to be written in the band or not aiming at the target written band;
the pre-reading module 401 is further configured to, under the condition that it is determined that the number of the stored data blocks is greater than or equal to the number of the stored data blocks, pre-read an old stored data block that is not involved in the data to be written, for the target written stripe;
the new parity calculation module 403 is further configured to calculate a new parity data block by using the data to be written and the old storage data block not involved by the data to be written, if the new parity is determined to be greater than or equal to the new parity.
Fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, where the electronic device 500 includes: a processor 510 such as a Central Processing Unit (CPU), a communication bus 520, a communication interface 540, and a storage medium 530. Wherein the processor 510 and the storage medium 530 may communicate with each other through a communication bus 520. The storage medium 530 stores therein a computer program that, when executed by the processor 510, performs the functions of the steps of the method provided by the present invention.
The storage medium may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. In addition, the storage medium may be at least one memory device located remotely from the processor. The Processor may be a general-purpose Processor including a Central Processing Unit (CPU), a Network Processor (NP), etc.; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
It should be recognized that embodiments of the present invention can be realized and implemented by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory memory. The method may be implemented in a computer program using standard programming techniques, including a non-transitory storage medium configured with the computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Furthermore, the program can be run on a programmed application specific integrated circuit for this purpose. Further, operations of processes described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The processes described herein (or variations and/or combinations thereof) may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) collectively executed on one or more processors, by hardware, or combinations thereof. The computer program includes a plurality of instructions executable by one or more processors.
Further, the method may be implemented in any type of computing platform operatively connected to a suitable interface, including but not limited to a personal computer, mini computer, mainframe, workstation, networked or distributed computing environment, separate or integrated computer platform, or in communication with a charged particle tool or other imaging device, and the like. Aspects of the invention may be embodied in machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optically read and/or write storage medium, RAM, ROM, or the like, such that it may be read by a programmable computer, which when read by the storage medium or device, is operative to configure and operate the computer to perform the procedures described herein. Further, the machine-readable code, or portions thereof, may be transmitted over a wired or wireless network. The invention described herein includes these and other different types of non-transitory computer-readable storage media when such media include instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor. The invention also includes the computer itself when programmed according to the methods and techniques described herein.
The above description is only an example of the present invention, and is not intended to limit the present invention. Various modifications and alterations to this invention will become apparent to those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method of data writing with reduced pre-reads, the method comprising:
for a target write stripe, pre-reading an old check data block and an old storage data block related to data to be written;
calculating an intermediate check data block by using the old check data block and an old storage data block related to the data to be written;
calculating a new check data block by using the intermediate check data block and the data block to be written;
and writing the data block to be written and the new check data block into a target writing stripe.
2. The method of claim 1,
the data block to be written is composed of data to be written corresponding to the block position, or a part which does not relate to the data to be written in the old storage data block and the data to be written.
3. The method of claim 1,
the intermediate check data block and the new check data block are obtained by calculation through an erasure code algorithm in an intelligent storage accelerated ISA library.
4. The method of claim 1, further comprising:
for a target write stripe, judging whether the sum of the number of old storage data blocks related to the data to be written and the number of old check data blocks needing to be read in advance is more than or equal to the number of old storage data blocks not related to the data to be written in the stripe, if so, calculating a new check data block by adopting the following method:
pre-reading out an old storage data block which is not related to the data to be written aiming at a target writing stripe;
and calculating a new check data block by using the data to be written and the old storage data block which is not related to the data to be written.
5. A data writing apparatus that reduces pre-reading, the apparatus comprising:
the pre-reading module is used for pre-reading an old check data block and an old storage data block related to data to be written aiming at a target write stripe;
the intermediate check calculation module is used for calculating an intermediate check data block by using the old check data block and an old storage data block related to the data to be written;
the new check calculation module is used for calculating a new check data block by using the intermediate check data block and the data block to be written;
and the writing module is used for writing the data block to be written and the new check data block into a target writing stripe.
6. The apparatus of claim 5,
the data block to be written is composed of data to be written corresponding to the block position, or a part which does not relate to the data to be written in the old storage data block and the data to be written.
7. The apparatus of claim 5,
and the intermediate checking calculation module and the new checking calculation module adopt an ISA erasure code algorithm to calculate the intermediate checking data block and the new checking data block.
8. The apparatus of claim 5, further comprising:
the judging module is used for judging whether the sum of the number of old storage data blocks related to the data to be written and the number of old check data blocks needing to be read in advance is more than or equal to the number of old storage data blocks not related to the data to be written in the stripe or not aiming at a target writing stripe;
the pre-reading module is further used for pre-reading an old storage data block which is not related to the data to be written aiming at the target writing stripe under the condition that the judgment result is greater than or equal to the target writing stripe;
and the new check calculation module is also used for calculating a new check data block by using the data to be written and the old storage data block which is not related to the data to be written under the condition that the new check calculation module is judged to be larger than or equal to the new check calculation module.
9. An electronic device is characterized by comprising a processor, a communication interface, a storage medium and a communication bus, wherein the processor, the communication interface and the storage medium are communicated with each other through the communication bus;
a storage medium for storing a computer program;
a processor for performing the method steps of any one of claims 1 to 4 when executing a computer program stored on a storage medium.
10. A storage medium on which a computer program is stored which, when being executed by a processor, carries out the method steps of any one of claims 1 to 4.
CN202111372696.7A 2021-11-18 2021-11-18 Data writing method and device for reducing pre-reading and storage medium Pending CN114217736A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111372696.7A CN114217736A (en) 2021-11-18 2021-11-18 Data writing method and device for reducing pre-reading and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111372696.7A CN114217736A (en) 2021-11-18 2021-11-18 Data writing method and device for reducing pre-reading and storage medium

Publications (1)

Publication Number Publication Date
CN114217736A true CN114217736A (en) 2022-03-22

Family

ID=80697553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111372696.7A Pending CN114217736A (en) 2021-11-18 2021-11-18 Data writing method and device for reducing pre-reading and storage medium

Country Status (1)

Country Link
CN (1) CN114217736A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115469818A (en) * 2022-11-11 2022-12-13 苏州浪潮智能科技有限公司 Disk array writing processing method, device, equipment and medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115469818A (en) * 2022-11-11 2022-12-13 苏州浪潮智能科技有限公司 Disk array writing processing method, device, equipment and medium

Similar Documents

Publication Publication Date Title
US10114578B2 (en) Solid state disk and data moving method
CN107766079B (en) Processor and method for executing instructions on processor
US8037363B2 (en) Generation of trace elements within a data processing apparatus
US10331568B2 (en) Locking a cache line for write operations on a bus
US7788543B2 (en) Methods and systems for generating and storing computer program execution trace data
US7966467B1 (en) Secure memory access system and method
US11263139B2 (en) Hardware accelerators and access methods thereof
US20150143045A1 (en) Cache control apparatus and method
US11599465B2 (en) Configurable burst optimization for a parameterizable buffer
US6606688B1 (en) Cache control method and cache controller
CN115639971B (en) Data writing method, data writing device, electronic device, storage medium, and program product
CN112148218A (en) Method, device and equipment for storing check data of disk array and storage medium
CN114217736A (en) Data writing method and device for reducing pre-reading and storage medium
KR20080014402A (en) Method and apparatus for processing computer graphics data
US10108350B2 (en) Method for providing nonvolatile storage write bandwidth using a caching namespace
CN111273862A (en) Data storage method and device, readable medium and system thereof
CN104598169A (en) High-reliability data reading method used for flash memorizer
US9804968B2 (en) Storage system and data writing method
KR20220033976A (en) Enhanced read-ahead capability for storage devices
JP2017228172A (en) Information processing system
US8447932B2 (en) Recover store data merging
CN112860599A (en) Data caching processing method and device and storage medium
US20130346680A1 (en) Emulated electrically erasable memory having an address ram for data stored in flash memory
US20240037031A1 (en) Dynamic performance adjustment
US9244832B1 (en) Cache learning model

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