Disclosure of Invention
Accordingly, the present invention is directed to a method, apparatus, device and readable storage medium for determining abnormal blocks, which solve the problem that abnormal blocks on an abnormal stripe cannot be determined in the prior art.
In order to solve the technical problems, the invention provides an abnormal block determination method, which comprises the following steps:
calculating according to data on an abnormal stripe to obtain first check information of each granularity on the abnormal stripe, wherein the granularity is smaller than or equal to the block granularity;
Acquiring second check information of each granularity on the abnormal strip from a check area, wherein the second check information is information obtained by calculation according to written information when writing data;
And determining abnormal blocks according to the first check information and the second check information.
In one aspect, the setting process of the granularity includes:
Taking one storage sector as one granularity, the abnormal stripe comprises a plurality of blocks, and each block comprises a plurality of storage sectors.
In one aspect, determining an abnormal partition according to the first and second parity information includes:
Comparing the check codes of the first check information and the second check information;
And determining the partitions with inconsistent check codes as error partitions.
In one aspect, the check code calculation process of the second check information includes:
and when writing data, calculating to obtain check codes of each granularity on the abnormal stripe according to the writing position and the writing data.
In one aspect, after comparing the check codes of the first check information and the second check information, the method further includes:
If the check codes are consistent, acquiring the total times of writing data of the abnormal stripes, a first bitmap of the first check information, a processing sequence number of the second check information and a second bitmap;
And determining whether write omission blocking occurs according to the total times, the first bitmap, the processing sequence number and the second bitmap.
In one aspect, determining whether write-missing blocking occurs according to the total number of times, the first bitmap, the processing sequence number, and the second bitmap includes:
Determining a target block according to the total times and the processing sequence number;
Obtaining a new bitmap according to the number of the target block and the first bitmap;
And if the new bitmap is inconsistent with the second bitmap in the second check information, determining the write-missing partition according to the difference value of the new bitmap and the second bitmap.
In one aspect, the calculating process of the processing sequence number in the second verification information includes:
When writing data, determining the processing sequence number of each granularity on the strip according to the writing position and the writing times.
The invention also provides an abnormal block determining device, which comprises:
The first check information calculation module is used for calculating and obtaining first check information of each granularity on the abnormal strip according to the data on the abnormal strip, wherein the granularity is smaller than or equal to the block granularity;
The second verification information acquisition module is used for acquiring second verification information of each granularity on the abnormal strip from the verification area, wherein the second verification information is information obtained by calculation according to the written information when writing data;
The abnormal block determining module is used for determining abnormal blocks according to the first check information and the second check information.
The invention also provides an abnormal block determining device, which comprises:
a memory for storing a computer program;
and a processor for implementing the steps of the abnormal block determination method as described above when executing the computer program.
The present invention also provides a computer readable storage medium having stored therein computer executable instructions that, when loaded and executed by a processor, implement the steps of the abnormal partition determination method as described above.
The present invention also provides a computer program product comprising computer programs/instructions which when executed by a processor implement the steps of the abnormal block determination method as described above.
According to the technical scheme, the first check information of each granularity on the abnormal strip is obtained through calculation according to the data on the abnormal strip, the granularity is smaller than or equal to the block granularity, the second check information of each granularity on the abnormal strip is obtained from the check area, the second check information is obtained through calculation according to the writing information when the data is written, and the abnormal partition is determined according to the first check information and the second check information. The invention has the beneficial effects that when writing data, the verification information is calculated according to the written information and recorded in the verification area. When the stripe is abnormal, each piece of granularity check information calculated based on the data on the abnormal stripe is combined with each piece of granularity check information recorded when the data is written to determine which piece of block has a problem. The problem that which partition of the abnormal strip is abnormal cannot be determined is solved, so that accurate repair of the abnormal strip can be realized in a targeted manner, and the accuracy and the high efficiency of the repair of the abnormal strip are improved.
In addition, the invention also provides an abnormal block determining device, equipment and a readable storage medium, which have the same beneficial effects.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
First, several terms involved in the present application are explained:
IO Input/Output, input/Output.
Write IO write data.
Sector: memory Sector.
Bit, binary Bit.
Bitmap, bit, bitmap formed by bit.
Lba: logical Block Address, logical address.
Data striping and parity are two of the main fundamental features of RAID. Data striping is to divide a continuous block of IO (Input/Output) data issued by a host into a plurality of blocks and store them on different disks respectively, as shown in fig. 1, each row is a stripe. The parity check is that the data blocks on the RAID stripe calculate the corresponding parity blocks through the exclusive OR algorithm and write the parity blocks to the appointed disk, and when one disk data of the RAID is damaged, the damaged data can be recovered by using the rest data blocks and the parity blocks. As shown in FIG. 1, P, Q is a check block, and the other is a data block, where it is clear that the data block is data belonging to a user, and the user can read and write, and the check block is only a RAID module, so as to ensure the security of the data block, and is invisible to the user.
Since P, Q check blocks on each stripe are calculated by exclusive or algorithm from the data blocks on the stripe, new P, Q check blocks are recalculated by using the data blocks on the stripe, compared with P, Q check blocks stored on the disk, and the comparison result is completely consistent, if the comparison result is inconsistent, the fact that the data of the blocks on the stripe have errors is indicated, and the detection process is the RAID patrol task. The patrol task detects the whole RAID according to a preset period, and aims to ensure the consistency of data on the RAID. If the stripe has the problem of blocking data, when the disk fails, the failure blocking data reconstructed by using the residual data blocks and P, Q check blocks on the stripe is wrong, which definitely leads to the loss of customer data and influences the reliability of the storage system.
At present, after the data is inconsistent, only the stripe which is inconsistent (namely, the abnormal stripe is prompted) is alarmed, and the fact that the block on the stripe is wrong can not be judged, wherein the block is wrong, and the block is wrong or the block is wrong. To repair stripe consistency to eliminate data errors, it is necessary to confirm which block on the stripe is in error. In theory, the client can confirm whether the data block is normal, if the client determines that the data block is normal, the P, Q check block is wrong, and if the data block is wrong, the client is required to confirm which data block on the stripe is wrong. However, in the mass data, whether a certain block is wrong or not is required to be confirmed, and the needle is clearly fished out by the sea. The current method of repairing the stripe is therefore to calculate the overwrite P, Q check block, with the default data blocks all correct. This repair method has significant drawbacks. If the data blocks on the strip have problems, the error data can not be repaired, the correct P, Q check block is wrong, if the disk faults occur after the repair, the reconstructed data are wrong, the error data are further diffused, the reliability of the storage device is greatly reduced, the safety of the data stored by a client can not be guaranteed, and the use experience of the user is seriously influenced.
The invention provides an abnormal block determining method which can determine which block is wrong on an abnormal strip, and can accurately repair wrong data later, so that the safety of data stored by a client is ensured. Referring specifically to fig. 2, fig. 2 is a flowchart of an abnormal block determination method according to an embodiment of the present invention. The method may include:
s101, calculating according to data on an abnormal strip to obtain first check information of each granularity on the abnormal strip, wherein the granularity is smaller than or equal to the granularity of the block.
The execution body of the embodiment is a terminal. The present embodiment is not limited to the kind of terminal as long as the operation of the abnormal block determination method can be completed. The abnormal stripe in this embodiment is a stripe in which the check blocks are relatively inconsistent. Specifically, a new P, Q check block recalculated based on the data blocks on the stripe is found by the RAID tour inspection task, and the stripe is inconsistent with the comparison result of the P, Q check block stored on the disk. When the stripe is found to be abnormal through the RAID inspection task, the verification information of each granularity on the stripe is obtained through calculation according to the data on the abnormal stripe. The granularity is used to describe the size of the processing unit. For example, the present embodiment may have the chunks as granularity, or may have the storage sectors as granularity. It will be appreciated that this embodiment requires determining which blocks on the exception stripe are abnormal, and therefore the granularity in this embodiment needs to be less than or equal to the blocks. The present embodiment is not limited to the blocks. That is, the method may determine both an abnormal check block and an abnormal data block. The present embodiment does not limit the verification information. The verification information may include, for example, a verification code calculated based on the data on the stripe, or may be other verification information calculated based on the data on the stripe that is capable of verifying the consistency of the data.
Further, the setting process of the granularity may specifically include the following steps:
with one memory sector as one granularity, the exception stripe includes a plurality of partitions, each including a plurality of memory sectors.
Specifically, there are multiple partitions on the stripe, each consisting of memory sectors. For example, there are a maximum of 16 blocks per stripe, each consisting of 512 sectors, each of which can store 512 bytes of data. Since the write IO (write data) is different in size, the space occupied by the data written onto the partition is also different each time, and therefore, in order to improve the accuracy of the check information calculation, the minimum granularity sector is taken as the granularity in this embodiment.
S102, acquiring second check information of each granularity on the abnormal stripe from the check area, wherein the second check information is information calculated according to the written information when writing data.
Specifically, in the IO writing process, verification information of each granularity on the strip can be obtained according to the writing information and recorded in the verification area. In this embodiment, the position of the check area is not limited. For example, each granularity of check information is placed at the same position as a check area. Each parity zone may also follow each granularity. In order to obtain the verification information conveniently and store the verification information accurately, the embodiment adds the verification information with each granularity to the back of each granularity data area. With the granularity of the storage sector, referring specifically to fig. 3, the check area in fig. 3 is used to store the second check information.
S103, determining abnormal blocks according to the first check information and the second check information.
The abnormal blocking in the present embodiment can be understood as problematic blocking. The judging process can be that the blocking is considered abnormal when the verification information is inconsistent, and the blocking is considered normal when the verification information is consistent. The present embodiment does not limit the abnormal partitioning. For example, the exception blocks may include error blocks and write-miss blocks. The determining of the abnormal partition using the check information may include determining whether an erroneous partition exists based on the erroneous partition check information and, if not, further determining whether a write-missing partition exists based on the write-missing partition check information. It can be appreciated that the error block check information and the check information content of the write-missing block check information are inconsistent. The embodiment determines whether each block is abnormal or not through detection of all aspects of each block, and further determines the abnormal type of the abnormal block.
When the second check information is write data, the stored information is recorded. For example, the second check information may include a data CRC check code (abbreviated as check code) for detecting whether an abnormal stripe has an erroneous block and locating the erroneous block, and the second check information may further include a processing sequence number and a Bitmap (Bitmap formed by bit bits) for detecting whether the abnormal stripe has a write-missing block and locating the write-missing block. When writing data, the check codes of each granularity on the abnormal stripe are obtained by calculation according to the writing position and the writing data, and the processing sequence numbers and the bitmaps of each granularity on the abnormal stripe are obtained according to the writing position and the writing times. Thus, when the storage sector is the granularity, the check information of the check area includes a check code of 4 bytes, a processing sequence number of 4 bytes, and a bitmap of 2 bytes. Since there are at most 16 blocks on each stripe, all blocks on the stripe can be represented using 16 bits, so the bitmap occupies two bytes. The check code is a calculation result obtained by exclusive-or of 512 bytes in the storage sector, the processing sequence number indicates that the last time data is written into the storage sector by the stripe, the data is written into the blocks by the write IO for the first time, and the bitmap indicates that the data is written into the blocks by the write IO for the first time.
The data writing process and the recording information (the process sequence number, the check code, the bitmap, and the total number of times the stripe writes data) can be referred to in fig. 4. (1) After creating the RAID, metadata is created for managing the number of times that each stripe of the RAID processes a write IO, and all metadata is initialized to 0 after creation, which means that each stripe of the created RAID does not process a write IO. (2) After the RAID receives a write IO, firstly, according to the lba of the IO, calculating which stripe is on, reading the metadata to obtain the number of times that the stripe processes the write IO, adding one to the number of times of processing, and then updating the metadata information (namely the total number of times of writing data by the stripe). (3) And calculating which blocks on the stripe are written with data by the write IO, generating a bitmap of IO processing blocks according to the block numbers of the blocks which need to be dropped, and recording which block is written with data by the write IO. (4) The method comprises the steps of circularly processing the blocks to be written with data, calculating check information for each storage sector on each block, firstly performing exclusive OR on 512 bytes on the storage sector to obtain a check code, and then updating the check code into the check information along with the times (namely the processing serial numbers) of the write IO obtained in (2) and the bitmap of the IO processing blocks obtained in (3), and writing the check information into a magnetic disk together with the data content to be written. The relation between the processing sequence number and the total number of stripe write data can be referred to as an example, if the processing sequence number of the a storage sector is 50, the write data falls on the a storage sector position of the a block of the a stripe at this time, the total number of times the write data falls on the a stripe at this time is 66, and the processing sequence number of the a storage sector at this time is updated to 66.
Further, the determining the abnormal partition according to the first verification information and the second verification information may specifically include the following steps:
Step 21, comparing the check codes of the first check information and the second check information;
Step 22, determining the block with inconsistent check codes as an error block.
The check information in this embodiment may be a check code, and whether an error block exists in the abnormal stripe is determined according to whether the check codes are consistent. The check code is a calculation result of exclusive-or of data in each granularity. For example, the result of exclusive-or operation is obtained for 512 bytes of data in each memory sector. Referring to fig. 5, fig. 5 is a flowchart illustrating an error block determination method according to an embodiment of the present invention. When RAID inspection detects that stripe data are inconsistent, all the block data on the stripe are read into the memory. Traversing each block on the strip one by one, traversing 512 storage sectors in each block one by one, and performing exclusive or calculation on 512 bytes of data of the storage sectors to obtain the current check code (i.e. the check code of the first check information). And comparing the calculated check code with the check code stored in the check area (namely, the check code of the second check information), if the two check codes are inconsistent, indicating that the data in the storage sector is wrong, thereby confirming whether the wrong partition block on the inconsistent stripe is wrong or not, and confirming which storage sector on the partition block has wrong data, if the two check codes are consistent, indicating that the storage sector has no wrong data, continuing to traverse the next storage sector of the partition block until all the storage sectors of the partition block are traversed, and then continuing to traverse the next partition block on the stripe until all the partition blocks on the stripe are traversed. If all traversals are complete, no erroneous data is found yet, this indicates that the data errors that caused the stripe inconsistencies should not be data errors, but data errors caused by block miss-writes when handling write IOs.
Further, after comparing the check codes of the first check information and the second check information, the method may further include the steps of:
Step 31, if the check codes are consistent, acquiring the total times of writing data of the abnormal stripes, a first bitmap of the first check information, a processing sequence number of the second check information and a second bitmap;
And step 41, determining whether write omission blocking occurs according to the total times, the first bitmap, the processing sequence number and the second bitmap.
It will be appreciated that the total number of writes is cumulatively calculated based on the number of write stripes during the write IO process. The first bitmap of the first check information is a bitmap formed from the current bit of the exception stripe. The processing sequence number and the second bitmap in the second verification information are both data calculated when the data is written. When the check codes are consistent, the abnormal stripe is not provided with error blocks, if the abnormal stripe is provided with write missing blocks, determining which block is provided with write missing according to the total times, the first bitmap, the processing sequence number and the second bitmap.
Further, determining whether write-missing blocking occurs according to the total number of times, the first bitmap, the processing sequence number and the second bitmap may specifically include the following steps:
step 411, determining a target block according to the total times and the processing sequence number;
step 412, obtaining a new bitmap according to the number of the target block and the first bitmap;
and 413, if the new bitmap is inconsistent with the second bitmap in the second check information, determining write-missing blocks according to the difference value of the new bitmap and the second bitmap.
Specifically, the total number of times of writing the IO by the abnormal stripe can be obtained from the metadata, the processing serial numbers of each granularity are obtained from the check area, the partition corresponding to the processing serial number equal to the total number is taken as the target partition, and the target partition is the last write IO coverage position of the abnormal stripe processing. And calculating a new bitmap according to the number of the target block and the first bitmap, comparing whether the new bitmap is consistent with the bitmap of the target block stored in the check area in advance, and judging which block has missed writing according to the difference between the two bitmaps if the new bitmap is inconsistent with the bitmap of the target block. Referring to fig. 6 specifically, fig. 6 is a flowchart illustrating a method for determining a write-missing partition according to an embodiment of the present invention. (1) The number of times the inconsistent stripe is processed to write the IO (i.e., the total number of times) is obtained from the metadata. (2) Traversing each block on the stripe one by one, traversing 512 storage sectors of each block one by one, and acquiring the number of times of processing write IO (namely, processing sequence number) from the verification information of the storage sectors. Comparing the acquired write IO processing times with the write IO processing times in the sector verification information (i.e. comparing the total times with the processing sequence numbers), if the write IO processing times are consistent, indicating that the storage sector is the last write IO coverage position of the stripe processing, then the block where the storage sector is located is the target block, obtaining an IO processing block bitmap (i.e. a pre-recorded target block bitmap) from the verification information of the storage sector, recording the block number of the block, and calculating a new IO processing block bitmap (i.e. a new bitmap), if the write IO processing times are inconsistent, indicating that the storage sector is not the last write IO coverage position of the stripe processing, then continuing to traverse the next storage sector of the block until all storage sectors of the block are traversed, and then continuing to traverse the next block on the stripe until all blocks on the stripe are traversed. (3) And calculating a new IO processing block bitmap according to the recorded block numbers, and comparing the IO processing block bitmap obtained from the verification information of the storage sector. If the two bitmaps are inconsistent, the method can confirm which block is not written, and if the two bitmaps are inconsistent, the method can confirm which block is not written.
Further, in order to improve the detection efficiency of the abnormal block, after determining the block in which the check code is inconsistent as the error block, it may further include:
Performing data recovery on the error blocks to obtain recovery stripes;
Judging whether the recovery strip is abnormal or not;
If yes, the total number of the write data of the recovery band is obtained, a third bitmap of each granularity is calculated according to the data on the recovery band, the processing sequence number and a fourth bitmap of each granularity on the recovery band are calculated according to the write calculation information when the data is written, and the write missing partition block on the recovery band is determined according to the total number of the write data of the recovery band, the third bitmap, the processing sequence number and the fourth bitmap of each granularity on the recovery band.
In this embodiment, when an error partition is detected in an abnormal stripe, data recovery is performed on the error partition in time, and after the data recovery is performed. The RAID tour inspection task can be used for detecting whether the recovery stripe has a problem or not, if so, the abnormal stripe is indicated to have not only error blocking but also write missing blocking. Therefore, the method for determining the write missing block can be used for detecting each block on the recovery strip and determining the write missing block position. Therefore, the abnormal stripe with the error block is recovered in time, and meanwhile, whether other problems such as write missing block exist in the abnormal stripe can be detected rapidly, so that the abnormal stripe with the error block and the write missing block can be recovered in multiple aspects, the data recovery is complete, and the stripe repair is correct.
Further, in this embodiment, an abnormal partition of an abnormal stripe in the RAID is determined according to the verification information. The method can be further expanded to other layers, such as expanding a host write IO data structure and adding verification information, so that end-to-end data protection can be realized, when contents of write IO modules are tampered through each module of a storage stack, problems can be quickly and effectively found, and error data landing is avoided, so that customer data errors are caused.
By applying the abnormal block determination method provided by the embodiment of the invention, the first check information of each granularity on the abnormal strip is obtained through calculation according to the data on the abnormal strip, the granularity is smaller than or equal to the block granularity, the second check information of each granularity on the abnormal strip is obtained from the check area, the second check information is information obtained through calculation according to the writing information when the data is written, and the abnormal block is determined according to the first check information and the second check information. According to the invention, when writing data, the verification information is calculated according to the written information and recorded in the verification area. When the stripe is abnormal, each piece of granularity check information calculated based on the data on the abnormal stripe is combined with each piece of granularity check information recorded when the data is written to determine which piece of block has a problem. The problem that which partition of the abnormal strip is abnormal cannot be determined is solved, so that accurate repair of the abnormal strip can be realized in a targeted manner, and the accuracy and the high efficiency of the repair of the abnormal strip are improved. And, confirm whether the unusual stripe has error block and confirms which block is the error block (namely the position of the error block), confirm whether the unusual stripe has write-missing block and confirm which block is write-missing block (namely the position of the write-missing block) by processing serial number and bitmap, can realize the accurate positioning, can also realize many unusual block detection.
The abnormal block determining apparatus provided in the embodiment of the present invention is described below, and the abnormal block determining apparatus described below and the abnormal block determining method described above may be referred to correspondingly to each other.
Referring to fig. 7 specifically, fig. 7 is a schematic structural diagram of an abnormal block determining apparatus according to an embodiment of the present invention, which may include:
The first check information calculation module 100 is configured to calculate, according to data on an abnormal stripe, first check information of each granularity on the abnormal stripe, where the granularity is smaller than or equal to the block granularity;
The second check information acquisition module 200 is used for acquiring second check information of each granularity on the abnormal stripe from the check area, wherein the second check information is information obtained by calculation according to the written information when writing data;
the abnormal block determination module 300 is configured to determine an abnormal block according to the first verification information and the second verification information.
Based on the above embodiment, the first verification information calculating module 100 may include:
the granularity setting unit is used for taking one storage sector as one granularity, the abnormal stripe comprises a plurality of blocks, and each block comprises a plurality of storage sectors.
Based on the above embodiment, the abnormal block determination module 300 may include:
a check code comparing unit for comparing the check codes of the first check information and the second check information;
and the error block determining unit is used for determining the blocks with inconsistent check codes as error blocks.
Based on the above embodiment, the check code comparing unit may include:
and the check code calculation subunit is used for calculating and obtaining check codes of each granularity on the abnormal strip according to the writing position and the writing data when the data are written.
Based on the above embodiment, the abnormal block determining apparatus may further include:
the information acquisition module is used for acquiring the total times of the abnormal stripe writing data, the first bitmap of the first check information, the processing sequence number of the second check information and the second bitmap if the check codes are consistent;
and the write-missing block determining module is used for determining whether write-missing blocks occur or not according to the total times, the first bitmap, the processing sequence number and the second bitmap.
Based on the above embodiment, the write-missing block determining module may include:
the target block determining unit is used for determining a target block according to the total times and the processing sequence number;
A new bitmap obtaining unit, configured to obtain a new bitmap according to the number of the target block and the first bitmap;
and the bitmap comparison unit is used for determining the write-missing partition according to the difference value of the new bitmap and the second bitmap if the second bitmap in the new bitmap and the second check information is inconsistent.
Based on the above embodiment, the information obtaining module may include:
And the processing sequence number acquisition unit is used for determining the processing sequence number of each granularity on the strip according to the writing position and the writing times when writing data.
The order of the modules and units in the abnormal block determination device may be changed without affecting the logic.
The abnormal block determining device provided by the embodiment of the invention is applied to a first check information calculating module 100 for calculating first check information of each granularity on an abnormal stripe according to data on the abnormal stripe, wherein the granularity is smaller than or equal to the granularity of a block, a second check information obtaining module 200 for obtaining second check information of each granularity on the abnormal stripe from a check area, wherein the second check information is information calculated according to writing information when the data is written, and an abnormal block determining module 300 for determining abnormal blocks according to the first check information and the second check information. When writing data, the device calculates and obtains the verification information according to the writing information and records the verification information in the verification area. When the stripe is abnormal, each piece of granularity check information calculated based on the data on the abnormal stripe is combined with each piece of granularity check information recorded when the data is written to determine which piece of block has a problem. The problem that which partition of the abnormal strip is abnormal cannot be determined is solved, so that accurate repair of the abnormal strip can be realized in a targeted manner, and the accuracy and the high efficiency of the repair of the abnormal strip are improved. And, confirm whether the unusual stripe has error block and confirms which block is the error block (namely the position of the error block), confirm whether the unusual stripe has write-missing block and confirm which block is write-missing block (namely the position of the write-missing block) by processing serial number and bitmap, can realize the accurate positioning, can also realize many unusual block detection.
Fig. 8 is a schematic structural diagram of an abnormal block determining apparatus according to an embodiment of the present invention, where, as shown in fig. 8, the abnormal block determining apparatus includes:
A memory 60 for storing a computer program;
a processor 61 for implementing the steps of the abnormal block determination method according to the above embodiment when executing a computer program.
The abnormal block determination device provided in this embodiment may include, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, or the like.
Processor 61 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 61 may be implemented in at least one hardware form of Digital Signal Processing (DSP), field-Programmable gate array (fieldprogrammable GATE ARRAY, FPGA), programmable logic array (Programmable Logic Array, PLA). The processor 61 may also include a main processor, which is a processor for processing data in a wake-up state, also referred to as a central processor (Central Processing Unit, CPU), and a coprocessor, which is a low-power processor for processing data in a standby state. In some embodiments, the processor 61 may be integrated with an image processor (Graphics Processing Unit, GPU) for rendering and rendering of content to be displayed by the display screen. In some embodiments, the processor 61 may also include an artificial intelligence (ARTIFICIAL INTELLIGENCE, AI) processor for processing computing operations related to machine learning.
Memory 60 may include one or more computer-readable storage media, which may be non-transitory. Memory 60 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In this embodiment, the memory 60 is at least used for storing a computer program 601, which, when loaded and executed by the processor 61, is capable of implementing the relevant steps of the abnormal block determination method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 60 may further include an operating system 602, data 603, and the like, where the storage manner may be transient storage or permanent storage. Operating system 602 may include Windows, unix, linux, among other things. The data 603 may include, but is not limited to, data for abnormal block determination, and the like.
In some embodiments, the abnormal block determination apparatus may further include a display 62, an input-output interface 63, a communication interface 64, a power supply 65, and a communication bus 66.
Those skilled in the art will appreciate that the structure shown in fig. 8 does not constitute a limitation of the abnormal chunk determining apparatus, and may include more or less components than those illustrated.
It will be appreciated that if the abnormal block determination method in the above embodiment is implemented in the form of a software functional unit and sold or used as a separate product, it may be stored in a computer readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in part or in whole or in part in the form of a software product stored in a storage medium for performing all or part of the steps of the method according to the embodiments of the present invention. The storage medium includes a U disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), an electrically erasable programmable ROM, a register, a hard disk, a removable magnetic disk, a CD-ROM, a magnetic disk, or an optical disk, etc. which can store program codes.
Based on this, the embodiment of the present invention further provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor implements the steps of the abnormal block determination method as described above.
A computer program product provided by embodiments of the present application is described below, and the computer program product described below may be referred to with respect to other embodiments described herein.
A computer program product comprising computer programs/instructions which when executed by a processor implement the steps of the previously disclosed abnormal partition determination method.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different point from other embodiments, so that the same or similar parts between the embodiments are referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
Finally, it is further noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The foregoing describes the method, apparatus, device and readable storage medium for determining abnormal blocks according to the present invention, and the specific examples are set forth herein to illustrate the principles and embodiments of the present invention, but the above examples are only for aiding in understanding of the method and core concept of the present invention, and meanwhile, for those skilled in the art, according to the concept of the present invention, there are variations in the specific embodiments and application ranges, so the disclosure should not be construed as limiting the present invention.