CN109086162B - Memory diagnosis method and device - Google Patents

Memory diagnosis method and device Download PDF

Info

Publication number
CN109086162B
CN109086162B CN201810929296.3A CN201810929296A CN109086162B CN 109086162 B CN109086162 B CN 109086162B CN 201810929296 A CN201810929296 A CN 201810929296A CN 109086162 B CN109086162 B CN 109086162B
Authority
CN
China
Prior art keywords
area
memory
memory area
check code
stack
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.)
Active
Application number
CN201810929296.3A
Other languages
Chinese (zh)
Other versions
CN109086162A (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.)
Agricultural Bank Of China Financial Technology Co ltd
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN201810929296.3A priority Critical patent/CN109086162B/en
Publication of CN109086162A publication Critical patent/CN109086162A/en
Application granted granted Critical
Publication of CN109086162B publication Critical patent/CN109086162B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Abstract

The invention provides a memory diagnosis method and a device, which comprises the steps of dividing a memory area into a variable memory area and an invariable memory area in advance, further dividing a first area in the variable memory area as a first stack area, dividing a second area as a second stack area, and alternately using the two stack areas, namely when one stack area executes memory diagnosis, the other stack area is used as a stack area when a system normally runs. For the invariable memory area, the invention calculates the actual check code of the data in the invariable memory area, and compares the actual check code with the source check code to realize the diagnosis of the invariable memory area; for the variable memory area, if the current memory area to be diagnosed is the stack area, calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed after the stack area is successfully switched to another stack area, otherwise, directly calling the preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed. The invention realizes the diagnosis test of all memory areas in the system.

Description

Memory diagnosis method and device
Technical Field
The present invention relates to the field of secure computer system technologies, and in particular, to a memory diagnosis method and apparatus.
Background
The safety key system is a system with high requirements on the safety level of software and hardware forming the system, and the operation of the safety key system is directly related to the safety of human life and property.
The self-diagnosis is a technology that the system carries out self-detection and processing on faults or failure events by setting a diagnosis function, and is an important means for improving the safety and reliability of the system.
A data segment is a block of memory used to store initialized global variables in a program. The data segment belongs to a static memory allocation.
A code segment is a region of memory used to store code for the execution of a program. The size of this part of the area is determined before the program runs, and the memory area is usually read-only.
The stack (stack) is also called stack, and is automatically allocated and released by the operating system, and is used for storing the memory space of the parameter value, the local variable, the return value and other data of the function. Due to the first-in-first-out nature of the stack, the stack is used to save/restore call sites.
The memory is one of the important components in the computer, and the running of all programs in the computer is performed in the memory, which has a crucial influence on the performance and the safety of the computer. The immutable memory refers to a memory area, such as a code segment, in which data content cannot be modified when the system runs. The variable memory refers to a memory area, such as a data segment, a stack, and the like, in which data content can be dynamically modified when the system is running. Therefore, in safety critical systems, a hard-of-check of the memory is essential.
The existing memory diagnosis method comprises two technical means of hardware realization and software realization. In the memory diagnosis method implemented by hardware, a Built-in Self Test (BIST) technology of the system is to establish a Test control structure in a chip circuit and comprehensively detect a computer memory through hardware functions. Although the built-in self-test technology can simplify the test steps, the design complexity of the chip is increased, and the method is mostly a fixed program, can only detect the read-write capability of the memory device and cannot test whether the read-only area is modified according to the actual application. The method is divided into an off-line mode and an on-line mode, usually, off-line tests are more, and the system needs to stop running, so that the application scene is limited. Generally, the memory diagnosis method is applied to the technical field of embedded computers, and is not suitable for PCs (personal computers) and server devices.
The memory diagnosis method implemented by software generally inserts a detection diagnosis module in an application program, and when a system runs, an operating system calls the detection diagnosis module to detect whether errors exist in a detected memory through a preset algorithm, such as March-C, March-TB.
Specifically, the memory diagnosis method implemented by software generally includes the following three methods:
1. in the first method, a module supporting the bypass mode is designed. Under a bypass mode, extracting first data from data to be input into an internal memory according to a preset extraction rule, and calculating the extracted first data through a Cyclic Redundancy Check (CRC) algorithm with a preset number of bits to obtain a first Check code; extracting second data from the data to be output from the memory according to a preset extraction rule, and calculating the extracted data through a CRC (cyclic redundancy check) algorithm with a preset number of bits to obtain a second check code; and comparing the first check code with the second check code, and determining the working condition of the memory according to the comparison result.
In the first method, the memory is detected in real time in the bypass mode, so that the influence on data processing on the trunk line in the memory detection process is avoided. However, the first method can only diagnose the memory area with physical properties, and the invariable memory areas, which are not modifiable once the code area and the configuration data are written, cannot be diagnosed, that is, the first method cannot realize the diagnostic test of all the memory areas, and has a diagnostic blind area.
2. And in the second method, a characteristic analysis method is adopted. For example, the application program performs static analysis to complete memory error characteristic modeling; running the application program, and creating and dynamically maintaining a legal address library of the application program by using a memory error characteristic model; before the application program accesses the memory address each time, the memory address to be accessed is calculated and matched with the records in the legal address library, and if the records cannot be matched or records created by the memory allocation function still exist in the legal address library before the program operation is finished, the memory error of the application program is indicated.
Although the second method can detect errors such as out-of-range access, memory error release and the like in the computer application program, the second method is more specific to software behavior detection and cannot diagnose the failure of a physical device. And the second method still can only realize the diagnosis of the variable memory area, and the invariable memory area can not realize the diagnosis, namely the second method can not realize the diagnosis test of all the memory areas, and a diagnosis blind area exists.
3. The third method is typically implemented as mentioned in "a memory test design for improving the reliability of a secure computer". And the third method adopts a hardware mode (HBIST) to detect the whole memory area on the premise that the system stops executing the safety function. During the operation of the system, the code segment of the invariable memory area and the data segment of the variable memory area are self-diagnosed by adopting a software mode (SBIST). For the HBIST part, a CPLD (Complex Programmable Logic Device) is adopted to realize a March-TB algorithm, the test period is 24h, and when the real-time safety equipment is in an idle state at night, the hardware BIST test is started. During the running period of the computer in the daytime, the software is called by an operating system, specifically, a memory area of a code segment is detected by adopting a value of a computer MD5(Message Digest Algorithm5, information-summary Algorithm 5), and a data memory area is detected by adopting a March-TB Algorithm.
The detection method for the invariable memory area comprises the following steps: (1) after software is compiled, a target executive program file is generated, and the MD5 value of the code segment is analyzed and calculated; (2) respectively storing the target executive program and the MD5 value to a hard disk or a FLASH; (3) after starting, loading the program code to a specified memory address through a loading program, wherein the area is a memory invariable area; (4) and calling a self-diagnosis module by the operating system at proper time, calculating the code segment MD5 value of the designated invariable memory area, and comparing the code segment MD5 value with the MD5 value on the hard disk or FLASH, wherein if the code segment MD5 value is inconsistent with the MD5 value on the hard disk or FLASH, the code segment MD5 value indicates that the code segment MD is maliciously modified. And realizing data memory area detection by using a March-TB algorithm.
However, with regard to the third method, the software detection scheme is limited by the characteristics of the operating system, and the diagnosis of all memory areas cannot be realized, wherein the system stack cannot realize the diagnosis. And the method can only realize the diagnosis of the code segments in the immutable memory, and can not realize the diagnosis of other data areas (such as important configuration information) which cannot be modified during the operation. In addition, the scheme is not suitable for continuously operating the system for 24 hours. Those systems typically need to run on a non-periodic basis and do not allow a significant amount of time to be devoted to diagnosing memory. Therefore, the third method can not realize the diagnosis test of all the memory areas, and has diagnosis blind areas.
Therefore, the existing memory diagnosis methods can not realize the diagnosis test of all memory areas, and diagnosis blind areas exist.
Disclosure of Invention
In view of this, the present invention provides a memory diagnosis method and apparatus, so as to solve the problem that the existing memory diagnosis method cannot implement the diagnosis test on all memory areas, and has a diagnosis blind area. The technical scheme is as follows:
based on one aspect of the present invention, the present invention provides a memory diagnosis method, in which a memory area is divided into a variable memory area and an immutable memory area in advance, a first area in the variable memory area is used as a first stack area, and a second area is used as a second stack area, wherein when one stack area is performing memory diagnosis, the other stack area is used as a stack area when a system normally operates; the method comprises the following steps:
for the invariable memory area, the actual check code of the data in the invariable memory area is calculated, and the actual check code is compared with the source check code to realize the diagnosis of the invariable memory area; after the source check code is initialized in the immutable memory area, calculating a check code obtained when data in the immutable memory area is initialized;
for the variable memory area, judging whether the current memory area to be diagnosed is a stack area, if so, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed after the stack area is successfully switched to the other stack area; if not, a preset memory diagnosis algorithm is directly called to diagnose the current memory area to be diagnosed.
Optionally, the first region and the second region are equal in size.
Optionally, the switching the stack area to another stack area includes:
backing up the stack data stored in the stack area to another stack area;
when the stack area is the first stack area, the other stack area is the second stack area; when the stack area is the second stack area, the other stack area is the first stack area.
Optionally, the method further comprises:
dividing the variable memory area into a first number of first memory blocks according to configurable capacity in advance, and when the variable memory area is diagnosed, sequentially diagnosing each period by taking the first memory blocks as a unit;
dividing the immutable memory into a second number of second memory blocks according to a configurable capacity region in advance, respectively calculating a source check code of each second memory block, and storing the source check code of each second memory block in the immutable memory region; and when the invariable memory area is diagnosed, sequentially diagnosing by taking the second memory block as a unit every period.
Optionally, the method further comprises:
and establishing a full memory management table, wherein the full memory management table is used for storing the corresponding relation between each first memory block in the variable memory area, each second memory block in the non-variable memory area and the source check code thereof and the actual memory allocation area of the system.
Optionally, the calculating an actual check code of the data in the immutable memory area, and comparing the actual check code with a source check code to diagnose the immutable memory area includes:
calculating the actual check code of the data in the invariable memory area;
comparing the actual check code with a source check code;
and when the actual check code is inconsistent with the source check code, determining that the invariable memory area has errors.
Optionally, the calculating an actual check code of the data in the immutable memory area includes: calculating the actual check code of the data in the invariable memory area by adopting a 32-bit cyclic redundancy check algorithm;
the preset memory diagnosis algorithm comprises the following steps: March-C algorithm.
Optionally, the calling the March-C algorithm for diagnosis includes:
selecting a part of variable memory area from the safe variable memory area as a backup variable memory area;
backing up data in a variable memory area to be diagnosed to the backup variable memory area;
and after the diagnosis of the variable memory area to be diagnosed is finished, writing the data in the backup variable memory area into the variable memory area to be diagnosed.
In accordance with another aspect of the present invention, there is provided a memory diagnostic apparatus, including:
the system comprises a first dividing unit, a second dividing unit and a control unit, wherein the first dividing unit is used for dividing a memory into a variable memory area and an invariable memory area, taking a first area in the variable memory area as a first stack area and taking a second area as a second stack area, and when one stack area is used for executing memory diagnosis, the other stack area is used as a stack area when the system normally runs;
the first diagnosis unit is used for diagnosing the immutable memory area by calculating an actual check code of data in the immutable memory area and comparing the actual check code with a source check code; after the source check code is initialized in the immutable memory area, calculating a check code obtained when data in the immutable memory area is initialized;
the second diagnosis unit is used for judging whether the memory area to be diagnosed currently is a stack area or not for the variable memory area, if so, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the memory area to be diagnosed currently after the stack area is successfully switched to the other stack area; if not, a preset memory diagnosis algorithm is directly called to diagnose the current memory area to be diagnosed.
Optionally, the first region and the second region are equal in size.
Optionally, the second diagnostic unit switching the stack area to another stack area includes:
the second diagnostic unit backs up stack data stored in the stack area to another stack area;
when the stack area is the first stack area, the other stack area is the second stack area; when the stack area is the second stack area, the other stack area is the first stack area.
Optionally, the apparatus further comprises:
a second dividing unit, configured to divide the variable memory area into a first number of first memory blocks, and when the variable memory area is diagnosed, sequentially diagnose in units of the first memory blocks every cycle; dividing the invariable memory area into a second number of second memory blocks;
a calculating unit, configured to calculate a source check code of each second memory block respectively;
a storage unit, configured to store the source check code of each second memory block in the immutable memory area; and when the invariable memory area is diagnosed, sequentially diagnosing by taking the second memory block as a unit every period.
Optionally, the apparatus further comprises:
and the table establishing unit is used for establishing a full memory management table, and the full memory management table is used for storing the corresponding relation between each first memory block in the variable memory area, each second memory block in the non-variable memory area and the source check code thereof and the actual memory allocation area of the system.
Optionally, the first diagnostic unit comprises:
the calculation subunit is used for calculating the actual check code of the data in the invariable memory area;
a comparison subunit, configured to compare the actual check code with a source check code;
and the determining subunit is configured to determine that the immutable memory area has an error when the actual check code is inconsistent with the source check code.
Optionally, the calculating an actual check code of the data in the immutable memory area includes: calculating the actual check code of the data in the invariable memory area by adopting a 32-bit cyclic redundancy check algorithm;
the preset memory diagnosis algorithm comprises the following steps: March-C algorithm.
Optionally, the second diagnostic unit comprises:
a selecting subunit, configured to select a part of the variable memory area from the secure variable memory area as a backup variable memory area;
the backup subunit is used for backing up the data in the variable memory area to be diagnosed to the backup variable memory area;
and the data writing subunit is used for writing the data in the backup variable memory area into the variable memory area to be diagnosed after the diagnosis of the variable memory area to be diagnosed is finished.
The memory diagnosis method provided by the invention divides the memory into the variable memory area and the invariable memory area, and further takes the first area in the variable memory area as the first stack area and the second area as the second stack area, wherein when one stack area is executing the memory diagnosis, the other stack area is taken as the stack area when the system normally runs. When all memory areas in the system are diagnosed, aiming at an immutable memory area, the diagnosis of the immutable memory area is realized by calculating an actual check code of data in the immutable memory area and comparing the actual check code with a source check code; for the variable memory area, if the memory area to be diagnosed is a stack area, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the memory area to be diagnosed at present after the stack area is successfully switched to the other stack area; and if the current memory area to be diagnosed is not the stack area, directly calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed. The invention realizes the diagnosis test of all memory areas in the system.
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 or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a flow chart of a memory diagnosis method provided by the present invention;
FIG. 2 is a flow chart of the present invention for diagnosing an immutable memory region;
FIG. 3 is a schematic diagram of the implementation process of the March-C algorithm in the invention;
FIG. 4 is a flow chart of the present invention for diagnosing variable memory regions;
FIG. 5 is another diagnostic flow chart for a variable memory region in the present invention;
fig. 6 is a schematic structural diagram of a memory diagnostic apparatus according to the present invention;
fig. 7 is another schematic structural diagram of the memory diagnostic apparatus provided in the present invention;
FIG. 8 is a schematic diagram of a first diagnostic unit according to the present invention;
fig. 9 is a schematic structural diagram of a second diagnostic unit according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
One of the main ideas of the present invention includes but is not limited to: according to the characteristics of memory usage, a memory area in a system is divided into a variable memory area (also referred to as a readable and writable memory area) and an immutable memory area (also referred to as an immutable memory area) in advance. Further aiming at the diagnosis of the stack memory, two areas are divided in the variable memory area, namely a first area and a second area, the first area is used as a first stack area, the second area is used as a second stack area, and the two stack areas are used alternately. Preferably, the two regions defined in the variable memory area according to the present invention are equal in size, i.e., the first region and the second region are equal in size.
The present invention defines different diagnostic methods for a variable memory area, an immutable memory area, and a stack area in a memory area, specifically, as shown in fig. 1:
step 101, for an immutable memory area, calculating an actual check code of data in the immutable memory area, and comparing the actual check code with a source check code to realize diagnosis of the immutable memory area. The source check code is a check code obtained when data in the immutable memory area is initialized by calculation before diagnosis and after the immutable memory area is initialized.
Specifically, in the embodiment of the present invention, the method for diagnosing the immutable memory region can be implemented by using the following steps 001-:
and 001, calculating the actual check code of the data in the invariable memory area.
The invention can adopt a 32-bit cyclic redundancy check algorithm to calculate the actual check code of the data in the invariable memory area.
And step 002, comparing the actual check code obtained by calculation with the source check code. When the actual check code is not consistent with the source check code, step 003 is executed, and when the actual check code is consistent with the source check code, step 004 is executed.
Step 003, determining that the immutable memory area is in error.
Step 004, determining the safety of the immutable memory area, and ending the diagnosis.
Step 102, for the variable memory area, first determine whether the memory area to be diagnosed is a stack area, if yes, execute step 103, if no, execute step 104.
Step 103, switching the stack area to another stack area, and after successfully switching the stack area to another stack area, calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed.
Specifically, in the embodiment of the present invention, switching the stack area to another stack area specifically includes backing up stack data stored in the stack area to another stack area. Typically, the stack data stored in the stack area includes stack data in normal operation of the system.
Specifically, when the first stack area is a stack area, the other stack area is a second stack area, before memory diagnosis is performed on the first stack area, stack data stored in the first stack area is backed up to the second stack area, the second stack area is continuously used as the stack area when the system normally operates, and a preset memory diagnosis algorithm is called to perform memory diagnosis on the first stack area. Similarly, when the second stack area is the stack area, the other stack area is the first stack area, before the memory diagnosis is performed on the second stack area, the invention firstly backs up the stack data stored in the second stack area to the first stack area, and at this time, the first stack area is continuously used as the stack area when the system normally operates, and the memory diagnosis is performed on the second stack area by calling the preset memory diagnosis algorithm.
And step 104, directly calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed.
In the embodiment of the invention, the preset memory diagnosis algorithm is stored in the invariable memory area, and when the memory area to be diagnosed is determined not to be the stack area, the preset memory diagnosis algorithm is directly acquired from the invariable memory area and called to diagnose the memory area to be diagnosed.
The memory is divided into the variable memory area and the invariable memory area, the first area in the variable memory area is further used as the first stack area, the second area is used as the second stack area, and the two stack areas are alternately used. When one stack area is in memory diagnosis, the other stack area is used as the stack area when the system normally operates. When all the memory areas in the system are diagnosed, the method aims at the immutable memory area, and realizes the diagnosis of the immutable memory area by calculating the actual check code of the data in the immutable memory area and comparing the actual check code with the source check code; for a variable memory area, if the memory area to be diagnosed is a stack area, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the memory area to be diagnosed after the stack area is successfully switched to the other stack area; and if the current memory area to be diagnosed is not the stack area, directly calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed. The invention realizes the diagnosis test of all memory areas in the system.
The following inventor will discuss in detail how to implement specific diagnostic methods for the variable memory area, the immutable memory area, and the stack area in the technical solutions provided by the present invention.
The inventor needs to explain that, in the present invention, after the system is started for the first time, the whole memory area may be detected once by using the March-c algorithm, and when it is determined that the whole memory area is not abnormal, the feasibility code, the system configuration information, and other immutable information are loaded to the designated immutable memory area.
Firstly, the method comprises the following steps: for immutable memory regions.
In the practical application process of the present invention, the immutable memory area is used for storing data that is not allowed to be modified, such as program code segments, important configuration data, other important data, and the like. These data that are not allowed to be modified are usually stored on a nonvolatile memory such as a hard disk or FLASH, and are loaded into a designated immutable memory area when the system is started. Once written into the immutable memory area, the data are not changed, because once changed, the data can seriously harm the system function and affect the safety of the system.
The invention adopts 32-bit Cyclic redundancy check mode for diagnosis of the invariable memory area, therefore, when the system is initialized, the source check code of the invariable memory area, namely CRC (Cyclic redundancy check) 32 check code, is calculated firstly, when the diagnosis is carried out, the actual check code of the invariable memory area is calculated again, the actual check code is compared with the source check code, if the actual check code is consistent with the source check code, the safety of the invariable memory area can be determined, the diagnosis is finished, and if the actual check code is inconsistent, the error of the invariable memory area can be determined.
With regard to the above diagnosis method for the immutable memory area, the inventor of the present invention further finds that, in general, the immutable memory area is very large, and the time for calculating the CRC32 check code by using the 32-bit cyclic redundancy check algorithm with the immutable memory area as a whole is very long, which affects the performance of the system. Therefore, in the embodiment of the present invention, before the diagnosis, the non-variable memory area may be divided into the second number of second memory blocks according to the configurable capacity in advance. Preferably, the second number of second memory blocks are all memory blocks with equal size, that is, the present invention may divide the non-variable memory area into a plurality of second memory blocks with equal size according to a fixed size, where the fixed size is, for example, 4KB, 8KB, and the like, and may be determined according to the actual processor performance. Specifically, for example, the present invention divides the non-variable memory area of the 1M memory into 1024 memory blocks of 1K, or divides the non-variable memory area of the 1G memory into 1024 memory blocks of 1M.
Before diagnosis, the present invention calculates the source CRC32 check code of each second memory chunk, and stores the calculated source CRC32 check code of each second memory chunk in the non-variable memory area.
When the system diagnoses the invariable memory area, the diagnosis is carried out in sequence by taking the second memory block as a unit every period. Assume that the current unchangeable memory area is divided into 5 second memory blocks with equal size, which are memory block 1, memory block 2, memory block 3, memory block 4, and memory block 5, and shown in fig. 2:
step 201, determining a memory block 1 to be diagnosed.
According to the invention, firstly, the memory block 1 is selected from the memory blocks 1, 2, 3, 4 and 5 as the current memory block to be diagnosed.
Step 202, a 32-bit cyclic redundancy check algorithm is used to calculate the actual CRC32 check code of the memory block 1.
Step 203, compare the calculated actual CRC32 check code of the memory chunk 1 with the calculated source CRC32 check code of the memory chunk 1 before diagnosis. If the comparison is consistent, step 204 is performed, and if not, step 205 is performed.
Step 204, continuously selecting the next memory block as the memory block to be diagnosed, and diagnosing the next memory block by using the same processing method as that for diagnosing the memory block 1 until all the memory blocks in the immutable memory area are diagnosed.
The next memory block is any one of the memory blocks 2, 3, 4, and 5 that have not been diagnosed yet.
Step 205, determine that the memory block 1 is faulty, and execute step 204.
In the embodiment of the invention, when the invariable memory area is diagnosed, only one second memory block is diagnosed in one diagnosis period, and the diagnosis is carried out according to the period cycle. For example, for a 1 GB-sized non-variable memory region, 25ms is a diagnostic period, and for a second memory block size of 4KB, it takes only 1.82 hours to perform a full-region diagnosis of the non-variable memory region. Therefore, in the invention, only the second memory block with a certain fixed size is diagnosed in each diagnosis period, the algorithm execution time can be determined, and each second memory block is diagnosed in a periodic cycle, so that the execution time required for each diagnosis period is small, and the real-time performance of the system is effectively improved.
II, secondly: for variable memory regions.
The variable memory area in the invention is composed of a first stack area, a second stack area and other memory areas. When the memory diagnosis is performed on the variable memory area, as can be seen from the foregoing and fig. 1, if the current memory area to be diagnosed is a stack area, the stack area is first switched to another stack area, and after the stack area is successfully switched to another stack area, a preset memory diagnosis algorithm is called to diagnose the current memory area to be diagnosed. And if the current memory area to be diagnosed is not the stack area, directly calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed.
In the practical application process of the present invention, the data stored in the variable memory area can be dynamically modified during the operation of the system. Typically, the alterable memory area is used to store data segments, stacks, etc.
The stack area in the variable memory area is a special memory area, and is a memory space which is automatically allocated and released by an operating system and used for storing data such as parameter values, local variables, return values and the like of functions. When an operating system exists, the stack area is also used by the operating system; the stack area is also occupied by diagnostic routines when called by the operating system. Therefore, when the stack area is subjected to detection and diagnosis, the data in the stack area cannot be randomly modified, otherwise, the system is easily crashed.
Based on this, the invention innovatively proposes that two areas are divided into a first area and a second area in the variable memory area. The first area is used as a first stack area, the second area is used as a second stack area, and the two stack areas are used alternately, namely when one stack area is in memory diagnosis, the other stack area is used as a stack area in normal operation of the system and used for storing stack data in normal operation of the system.
Specifically, if the current first stack area is taken as the stack area during normal operation of the system, when the present invention needs to perform diagnosis on the first stack area, it is detected that the first stack area is taken as the stack area during normal operation of the system, the present invention backs up the stack data stored in the first stack area to the second stack area, and after the stack data stored in the first stack area is successfully backed up to the second stack area, acquires the stack data from the immutable memory area and calls a preset memory diagnosis algorithm to diagnose the first stack area.
Optionally, after the diagnosis of the first stack area is completed, the stack area may be switched back to the first stack area, or may not be switched back to the first stack area, and the second stack area continues to be used as the stack area when the system normally operates.
The diagnosis of the variable memory area mainly aims at the data area in the variable memory area to detect whether the read-write capability of the memory device is good, and specifically, for example, a March-C algorithm is adopted to detect a DC fault model and a coupling fault which may occur in a Random Access Memory (RAM).
The March-C algorithm is a current universal March algorithm, is moderate in algorithm complexity and high in diagnosis effectiveness, and can be specifically realized by referring to a figure 3 and comprises 6 steps.
However, in the practical application process of the present invention, since the March-C algorithm needs to modify the data in the tested variable memory area, in order to prevent the data in the tested variable memory area from being modified and to satisfy the diagnosis of the tested variable memory area, the present invention further proposes, as shown in fig. 4:
step 401, a portion of the variable memory area is selected from the secure variable memory area as a backup variable memory area.
The safe variable memory area refers to a memory area without exception and error.
Taking the RAM area as an example, when the tested RAM area needs to be diagnosed, at least one RAM area is selected from other RAM areas which have already passed the diagnosis and are determined to be safe, and is used as a backup RAM area of the tested RAM area.
Step 402, backing up data in the variable memory area to be diagnosed to the backup variable memory area.
And after the backup RAM area is selected, copying the data in the tested RAM area into the backup RAM area.
Step 403, after the diagnosis of the variable memory area to be diagnosed is finished, writing the data in the backup variable memory area into the variable memory area to be diagnosed.
And after the diagnosis of the tested RAM area is finished, rewriting the data in the backup RAM area into the tested RAM area.
Preferably, the data in the backup RAM area is deleted after the data in the backup RAM area is rewritten into the tested RAM area.
The specific implementation coding process related to the embodiment of the invention is as follows:
int ram_test(const int ram_start[],
const int safe_start[]
const int size)
parameters are as follows:
ram _ start: initial address of RAM area to be tested
safe _ start: safe RAM area initial address (for backup of tested RAM area data)
size: RAM area size under test
And returning a value: err- -RAM failure
good- -RAM Normal
Function name: march-c algorithm performs entry functions
int march_c_test(const int ram_start[],
const int size)
Parameters are as follows:
ram _ start: initial address of RAM area to be tested
size: RAM area size under test
And returning a value: err- -RAM failure
good- -RAM Normal
Function name: march-c algorithm address ascending march function
int march_c_incre(const int ram_start[],
const int size
const int read,
const int write)
Parameters are as follows:
ram _ start: initial address of RAM area to be tested
size: RAM area size under test
reading: march operation read target value
write: mark operation write target value
And returning a value: err- -Address increment march test fails
ok- -Address increment march test pass
The pseudo code implements:
Figure BDA0001766169380000141
in the embodiment of the invention, although some data of the tested RAM area are modified when the March-C algorithm is adopted for diagnosis, the data in the backup RAM area is the data before the diagnosis of the tested RAM area, and the data in the backup RAM area is rewritten into the tested RAM area, so that the stored data of the tested RAM area is ensured to be unchanged after the diagnosis of the tested RAM area is finished.
With regard to the above diagnosis method for the variable memory area, the inventors of the present invention further found that the variable memory area is also very large in general, and the time required for diagnosis using the March-C algorithm for the variable memory area as a whole is very long, which affects the performance of the system. Therefore, in the embodiment of the present invention, before the diagnosis, the variable memory area (including the first stack area, the second stack area, and other memory areas) is divided into the first number of first memory blocks according to the configurable capacity in advance.
Preferably, the first number of first memory blocks are all memory blocks with equal size, that is, the present invention may divide the variable memory area into a plurality of first memory blocks with equal size according to a fixed size, where the fixed size is, for example, 4KB, 8KB, and the like, and may be determined according to the actual processor performance. Specifically, for example, the present invention divides the variable memory area of the 1M memory into 1024 memory blocks of 1K, or divides the variable memory area of the 1G memory into 1024 memory blocks of 1M.
When the system diagnoses the variable memory area, the diagnosis is carried out in sequence by taking the first memory block as a unit every period. Assuming that the current variable memory area is divided into 5 first memory blocks with equal size, which are a memory block a, a memory block B, a memory block C, a memory block D, and a memory block E, respectively, as shown in fig. 5:
step 501, determining a memory block a to be diagnosed.
The method includes the steps that firstly, a memory block A is selected from a memory block A, a memory block B, a memory block C, a memory block D and a memory block E and serves as a current memory block to be diagnosed.
Step 502, diagnosing the memory block A by adopting a March-C algorithm.
In this embodiment, a specific implementation method of step 502, that is, the implementation method of steps 401 to 403, is not described herein again.
Step 503, after the diagnosis of the memory block a is finished, continuously selecting a next memory block as a memory block to be diagnosed, and diagnosing the next memory block by using the same processing method as that for diagnosing the memory block a until all the memory blocks in the variable memory area are diagnosed.
The next memory block is any one of the memory block B, the memory block C, the memory block D, and the memory block E that has not been diagnosed yet.
In the embodiment of the invention, when the variable memory area is diagnosed, only one first memory block is diagnosed in one diagnosis period, and the diagnosis is carried out according to the period cycle. For example, for a variable memory area of 2GB size, with 25ms as a diagnostic period and the first memory block size of 4KB, it takes only 3.64 hours to implement the full-area diagnosis of the variable memory area. Therefore, in the invention, only the first memory block with a certain fixed size is diagnosed in each diagnosis period, the algorithm execution time can be determined, and each first memory block is diagnosed in a periodic cycle, so that the execution time required for each diagnosis period is small, and the real-time performance of the system is effectively improved.
In the above embodiment, the variable memory area is divided into the first number of first memory blocks, and the non-variable memory area is divided into the second number of second memory blocks, and then the whole memory area is divided into the first number of + the second number of memory blocks. In order to facilitate management of all memory blocks in the memory area and which memory allocation area in the system actually corresponds to each memory block, the present invention may establish a full memory management table, which is independent of the operating system, as shown in table 1 below:
Figure BDA0001766169380000161
TABLE 1
The full memory management table is used for storing the corresponding relation between each first memory block in the variable memory area, each second memory block in the non-variable memory area and the source check code thereof and the actual memory allocation area of the system. For example, the code area in the actual operating system corresponds to the code area in the full memory management table, the code area in the full memory management table is the immutable memory area, the stack area in the operating system corresponds to the stack area in the full memory management table, and the stack area in the full memory management table is the alterable memory area.
The memory diagnosis method provided by the invention divides the memory into the variable memory area and the invariable memory area, further uses the first area in the variable memory area as the first stack area, uses the second area as the second stack area, and uses the two stack areas alternately, when one stack area is executing the memory diagnosis, the other stack area is used as the stack area when the system normally runs. When all memory areas in the system are diagnosed, aiming at an immutable memory area, the diagnosis of the immutable memory area is realized by calculating an actual check code of data in the immutable memory area and comparing the actual check code with a source check code; for the variable memory area, if the memory area to be diagnosed is a stack area, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the memory area to be diagnosed at present after the stack area is successfully switched to the other stack area; if the memory area to be diagnosed is not the stack area, the preset memory diagnosis algorithm is directly called to diagnose the memory area to be diagnosed, and the invention realizes the diagnosis test of all the memory areas in the system.
In addition, the variable memory area and the invariable memory area are divided into a plurality of memory blocks in a fixed block dividing mode, and the memory blocks are taken as units to carry out periodic diagnosis, so that the real-time performance of the system is effectively improved. In addition, the invention realizes the association between each memory block in the memory area and the actual memory allocation interval of the system through the whole memory management table.
The invention is realized in a software mode, and effectively avoids the influence of low complexity and reliability of hardware design. The invention is suitable for computer systems with operating systems and without operating systems (bare running), has good portability and can be quickly integrated with other device system software.
Based on the memory diagnosis method provided by the invention of the previous text, the invention further provides a memory diagnosis device, as shown in fig. 6, including:
the first dividing unit 100 is configured to divide a memory into a variable memory area and an immutable memory area, and use a first area in the variable memory area as a first stack area and a second area as a second stack area, where when memory diagnosis is performed in one stack area, the other stack area is used as a stack area in which a system normally operates.
Wherein the first region and the second region in the present invention are preferably equal in size.
A first diagnosis unit 200, configured to calculate an actual check code of data in the immutable memory area, and compare the actual check code with a source check code to diagnose the immutable memory area; and after the source check code is initialized in the immutable memory area, calculating a check code obtained when data in the immutable memory area is initialized.
The method for calculating the actual check code of the data in the immutable memory area by the first diagnostic unit 200 in the present invention may adopt the following method: and calculating the actual check code of the data in the unchangeable memory area by adopting a 32-bit cyclic redundancy check algorithm.
A second diagnosis unit 300, configured to determine, for the variable memory area, whether a current memory area to be diagnosed is a stack area, if so, switch the stack area to another stack area, and call a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed after the stack area is successfully switched to another stack area; if not, a preset memory diagnosis algorithm is directly called to diagnose the current memory area to be diagnosed.
The preset memory diagnosis algorithm can be a March-C algorithm. Specifically, the second diagnostic unit 300 may back up stack data stored in the stack area to another stack area, where the second diagnostic unit 300 switches the stack area to another stack area; when the stack area is a first stack area, the other stack area is a second stack area; when the stack area is the second stack area, the other stack area is the first stack area.
Preferably, as shown in fig. 7, the memory diagnosis device provided by the present invention may further include:
a second dividing unit 400, configured to divide the variable memory area into a first number of first memory blocks according to a configurable capacity, and when the variable memory area is diagnosed, sequentially perform diagnosis by using the first memory blocks as a unit every cycle; dividing the invariable memory area into a second number of second memory blocks according to the configurable capacity;
a calculating unit 500, configured to calculate a source check code of each second memory block respectively;
a storage unit 600, configured to store the source check code of each second memory block in the immutable memory area; and when the invariable memory area is diagnosed, sequentially diagnosing by taking the second memory block as a unit every period.
Further, the memory diagnosis device provided by the present invention may further include:
and the table establishing unit is used for establishing a full memory management table, and the full memory management table is used for storing the corresponding relation between each first memory block in the variable memory area, each second memory block in the non-variable memory area and the source check code thereof and the actual memory allocation area of the system.
Specifically, in the present invention, as shown in fig. 8, the first diagnosis unit 200 may include:
a calculation subunit 201, configured to calculate an actual check code of the data in the immutable memory area;
a comparing subunit 202, configured to compare the actual check code with a source check code;
a determining subunit 202, configured to determine that the immutable memory area is faulty when the actual check code is inconsistent with the source check code.
As shown in fig. 9, the second diagnosis unit 300 may include:
a selecting subunit 301, configured to select a part of the variable memory area from the secure variable memory area as a backup variable memory area;
a backup subunit 302, configured to backup data in a variable memory area to be diagnosed to the backup variable memory area;
and a data writing subunit 303, configured to write the data in the backup variable memory area into the variable memory area to be diagnosed after the diagnosis of the variable memory area to be diagnosed is finished.
It should be noted that, in the present specification, the embodiments are all described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other. For the device-like embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be 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. Also, 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. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The memory diagnosis method and device provided by the invention are described in detail, a specific example is applied in the text to explain the principle and the implementation mode of the invention, and the description of the embodiment is only used for helping to understand the method and the core idea of the invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (16)

1. A memory diagnosis method is characterized in that a memory area is divided into a variable memory area and an invariable memory area in advance, a first area in the variable memory area is used as a first stack area, a second area is used as a second stack area, and when one stack area is used for performing memory diagnosis, the other stack area is used as a stack area when a system normally operates; the method comprises the following steps:
for the invariable memory area, the actual check code of the data in the invariable memory area is calculated, and the actual check code is compared with the source check code to realize the diagnosis of the invariable memory area; after the source check code is initialized in the immutable memory area, calculating a check code obtained when data in the immutable memory area is initialized;
for the variable memory area, judging whether the current memory area to be diagnosed is a stack area, if so, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the current memory area to be diagnosed after the stack area is successfully switched to the other stack area; if not, a preset memory diagnosis algorithm is directly called to diagnose the current memory area to be diagnosed.
2. The method of claim 1, wherein the first region and the second region are equal in size.
3. The method of claim 1, wherein the switching the stack area to another stack area comprises:
backing up the stack data stored in the stack area to another stack area;
when the stack area is the first stack area, the other stack area is the second stack area; when the stack area is the second stack area, the other stack area is the first stack area.
4. The method according to any one of claims 1-3, further comprising:
dividing the variable memory area into a first number of first memory blocks according to configurable capacity in advance, and when the variable memory area is diagnosed, sequentially diagnosing each period by taking the first memory blocks as a unit;
dividing the immutable memory area into a second number of second memory blocks according to configurable capacity in advance, respectively calculating a source check code of each second memory block, and storing the source check code of each second memory block in the immutable memory area; and when the invariable memory area is diagnosed, sequentially diagnosing by taking the second memory block as a unit every period.
5. The method of claim 4, further comprising:
and establishing a full memory management table, wherein the full memory management table is used for storing the corresponding relation between each first memory block in the variable memory area and the actual memory allocation area of the system, and the full memory management table is also used for storing the corresponding relation between each second memory block in the non-variable memory area and the source check code thereof and the actual memory allocation area of the system.
6. The method of claim 1, wherein the diagnosing the immutable memory region by calculating an actual check code for the data in the immutable memory region, comparing the actual check code to a source check code comprises:
calculating the actual check code of the data in the invariable memory area;
comparing the actual check code with a source check code;
and when the actual check code is inconsistent with the source check code, determining that the invariable memory area has errors.
7. The method according to any one of claims 1 to 3,
the calculating the actual check code of the data in the immutable memory area includes: calculating the actual check code of the data in the invariable memory area by adopting a 32-bit cyclic redundancy check algorithm;
the preset memory diagnosis algorithm comprises the following steps: March-C algorithm.
8. The method of claim 7, wherein invoking the March-C algorithm for diagnosis comprises:
selecting a part of variable memory area from the safe variable memory area as a backup variable memory area;
backing up data in a variable memory area to be diagnosed to the backup variable memory area;
and after the diagnosis of the variable memory area to be diagnosed is finished, writing the data in the backup variable memory area into the variable memory area to be diagnosed.
9. A memory diagnostic apparatus, characterized in that the apparatus comprises:
the system comprises a first dividing unit, a second dividing unit and a control unit, wherein the first dividing unit is used for dividing a memory into a variable memory area and an invariable memory area, taking a first area in the variable memory area as a first stack area and taking a second area as a second stack area, and when one stack area is used for executing memory diagnosis, the other stack area is used as a stack area when the system normally runs;
the first diagnosis unit is used for diagnosing the immutable memory area by calculating an actual check code of data in the immutable memory area and comparing the actual check code with a source check code; after the source check code is initialized in the immutable memory area, calculating a check code obtained when data in the immutable memory area is initialized;
the second diagnosis unit is used for judging whether the memory area to be diagnosed currently is a stack area or not for the variable memory area, if so, switching the stack area to another stack area, and calling a preset memory diagnosis algorithm to diagnose the memory area to be diagnosed currently after the stack area is successfully switched to the other stack area; if not, a preset memory diagnosis algorithm is directly called to diagnose the current memory area to be diagnosed.
10. The apparatus of claim 9, wherein the first region and the second region are equal in size.
11. The apparatus of claim 9, wherein the second diagnostic unit to switch the stack area to another stack area comprises:
the second diagnostic unit backs up stack data stored in the stack area to another stack area;
when the stack area is the first stack area, the other stack area is the second stack area; when the stack area is the second stack area, the other stack area is the first stack area.
12. The apparatus according to any one of claims 9-11, further comprising:
the second dividing unit is configured to divide the variable memory area into a first number of first memory blocks according to a configurable capacity, and when the variable memory area is diagnosed, the first memory blocks are sequentially diagnosed every cycle by taking the first memory blocks as a unit; dividing the invariable memory area into a second number of second memory blocks according to the configurable capacity;
a calculating unit, configured to calculate a source check code of each second memory block respectively;
a storage unit, configured to store the source check code of each second memory block in the immutable memory area; and when the invariable memory area is diagnosed, sequentially diagnosing by taking the second memory block as a unit every period.
13. The apparatus of claim 12, further comprising:
a table establishing unit, configured to establish a full memory management table, where the full memory management table is used to store a corresponding relationship between each first memory block and an actual memory allocation area of the system, and the full memory management table is further used to store a corresponding relationship between each second memory block in the immutable memory area and a source check code thereof and an actual memory allocation area of the system.
14. The apparatus of claim 9, wherein the first diagnostic unit comprises:
the calculation subunit is used for calculating the actual check code of the data in the invariable memory area;
a comparison subunit, configured to compare the actual check code with a source check code;
and the determining subunit is configured to determine that the immutable memory area has an error when the actual check code is inconsistent with the source check code.
15. The apparatus according to any one of claims 9 to 11,
the calculating the actual check code of the data in the immutable memory area includes: calculating the actual check code of the data in the invariable memory area by adopting a 32-bit cyclic redundancy check algorithm;
the preset memory diagnosis algorithm comprises the following steps: March-C algorithm.
16. The apparatus of claim 15, wherein the second diagnostic unit comprises:
a selecting subunit, configured to select a part of the variable memory area from the secure variable memory area as a backup variable memory area;
the backup subunit is used for backing up the data in the variable memory area to be diagnosed to the backup variable memory area;
and the data writing subunit is used for writing the data in the backup variable memory area into the variable memory area to be diagnosed after the diagnosis of the variable memory area to be diagnosed is finished.
CN201810929296.3A 2018-08-15 2018-08-15 Memory diagnosis method and device Active CN109086162B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810929296.3A CN109086162B (en) 2018-08-15 2018-08-15 Memory diagnosis method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810929296.3A CN109086162B (en) 2018-08-15 2018-08-15 Memory diagnosis method and device

Publications (2)

Publication Number Publication Date
CN109086162A CN109086162A (en) 2018-12-25
CN109086162B true CN109086162B (en) 2021-12-24

Family

ID=64793562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810929296.3A Active CN109086162B (en) 2018-08-15 2018-08-15 Memory diagnosis method and device

Country Status (1)

Country Link
CN (1) CN109086162B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659150B (en) * 2019-10-10 2023-04-21 深圳芯邦科技股份有限公司 Method for detecting micro-control unit memory and related device
EP3825855A1 (en) 2019-11-20 2021-05-26 Carrier Corporation Variable memory diagnostics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678028A (en) * 2013-12-16 2014-03-26 重庆川仪自动化股份有限公司 RAM internal storage detection method and device
CN104115154A (en) * 2012-02-08 2014-10-22 Arm有限公司 Maintaining secure data isolated from non-secure access when switching between domains
CN108021482A (en) * 2017-12-28 2018-05-11 杭州迪普科技股份有限公司 The method and device of memory is detected under a kind of Boot Loader

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59216255A (en) * 1983-05-25 1984-12-06 Fujitsu Ltd Error detecting system of interruption stack area
US9971641B2 (en) * 2016-05-17 2018-05-15 International Business Machines Corporation Diagnostic stackframe buffer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104115154A (en) * 2012-02-08 2014-10-22 Arm有限公司 Maintaining secure data isolated from non-secure access when switching between domains
CN103678028A (en) * 2013-12-16 2014-03-26 重庆川仪自动化股份有限公司 RAM internal storage detection method and device
CN108021482A (en) * 2017-12-28 2018-05-11 杭州迪普科技股份有限公司 The method and device of memory is detected under a kind of Boot Loader

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Hadoop平台下的内存溢出诊断方法";姬源;《计算机系统应用》;20160831;第25卷(第08期);第125-129页 *

Also Published As

Publication number Publication date
CN109086162A (en) 2018-12-25

Similar Documents

Publication Publication Date Title
KR100873943B1 (en) System and method of reading non-volatile computer memory
US10146604B2 (en) Bad block detection and predictive analytics in NAND flash storage devices
CN103186461B (en) The store method of a kind of field data and restoration methods and relevant apparatus
US7886195B2 (en) Apparatus, system, and method of efficiently utilizing hardware resources for a software test
CN108646982B (en) Automatic data restoration method and device based on UBIFS
US7356744B2 (en) Method and system for optimizing testing of memory stores
CN106682162B (en) Log management method and device
JP2014120179A (en) Salvaging event trace information in power loss interruption scenarios
CN110457907B (en) Firmware program detection method and device
CN109086162B (en) Memory diagnosis method and device
EP2567320A2 (en) Methods and system for verifying memory device integrity
CN110618892A (en) Bug positioning method and device for solid state disk, electronic equipment and medium
US6081892A (en) Initial program load
CN114385418A (en) Protection method, device, equipment and storage medium for communication equipment
CN113468009A (en) Pressure testing method and device, electronic equipment and storage medium
CN113987507A (en) Heap memory vulnerability detection method and device, storage medium and electronic equipment
CN111696618A (en) Method and system for testing power-on and power-off stability of SSD (solid State disk)
CN110826114B (en) User data testing method and device based on SSD after safe erasure
CN111159123B (en) Embedded reliable parameter storage file system and method
CN104572332B (en) The method and apparatus of processing system collapse
CN114116330A (en) Server performance test method, system, terminal and storage medium
CN115114117B (en) Data recording method and data recording device
CN112562774B (en) Storage device mounting method and device, computer device and storage medium
CN113094221B (en) Fault injection method, device, computer equipment and readable storage medium
CN116483641B (en) Method, system and medium for abnormal power failure detection of hard disk

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221116

Address after: 100005 No. 69, inner main street, Dongcheng District, Beijing, Jianguomen

Patentee after: AGRICULTURAL BANK OF CHINA

Patentee after: Agricultural Bank of China Financial Technology Co.,Ltd.

Address before: 100005 No. 69, inner main street, Dongcheng District, Beijing, Jianguomen

Patentee before: AGRICULTURAL BANK OF CHINA

TR01 Transfer of patent right