# US 12,117,898 B2 · Three-mode storage method for program blocks based on check

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,117,898 B2
- Document ID: US12117898B2
- Status: Granted
- Kind: B2
- Application number: 18/084,581
- Filed: 2022-12-20
- Published: 2023-06-22
- Granted: 2024-10-15
- Earliest claimed: 2021-12-20
- Assignees: Innovation Academy for Microsatellites of Cas; Shanghai Engineering Center for Microsatellites
- Applicants: Innovation Academy for Microsatellites of Cas; Shanghai Engineering Center for Microsatellites
- Inventors: Baojun Lin; Yongshan Dai; Zhichao Chen; Xiaoli Tian; Qianyi Ren; Xinying Lu; Wenbin Gong; Yuan Shen; Zhiyang Yu; Bin Song; Ruiqiang Shao
- Web page: https://patentgrep.com/patent/US12117898B2

## CPC

- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/167: {Error detection by comparing the memory output}
- G06F 11/3644: {by instrumenting at runtime}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present application provides a three-mode storage method for program blocks based on check, comprising: first dividing the program to be injected into N blocks and checking each block to obtain the first checksum; then injecting the program to be injected and the first checksum twice in the program storage area, and the two injected programs are noted as the main program and the backup program, respectively; dividing the main program into N blocks, and checking each program block to obtain the second checksum during program run; dividing the backup program into N blocks and checking each block to obtain the third checksum; and comparing the checksum, second checksum and third checksum: if the three are consistent, performing no operation; updating the program or checksum and checking again, if the three are inconsistent.

## Claims

### Claim 1

A three-mode storage method for program blocks based on check, comprising:
Dividing, by a processor, a program for injection into N blocks and checking each block to obtain a first checksum;
Injecting, by the processor, the program for injection and the first checksum twice in a program storage area, wherein the two injected programs are recorded as a main program and a backup program, respectively;
Dividing, by the processor, the main program into N blocks and checking each block during a program run to obtain a second checksum;
Dividing, by the processor, the backup program into N blocks and checking each block to obtain a third checksum; and
Comparing, by the processor, the first checksum, second checksum, and third checksum, wherein:
Performing, by the processor, no operation if all three are consistent; and
Updating, by the processor, the program or checksum if the three are inconsistent and checking again,
thereby a single-particle protection design requirement of the program and the program storage area against a single-particle effect is met, wherein the single-particle effect is a radiation effect triggered by a single high-energy protons or heavy ions incident on electronic components.

### Claim 2 (depends on 1)

The three-mode storage method for program blocks according to claim 1, wherein the first checksum and/or second checksum and/or third checksum are obtained by a XOR-check.

### Claim 3 (depends on 2)

The three-mode storage method for program blocks according to claim 2, wherein the XOR-check is performed every 32 bits and the first checksum and/or second checksum and/or third checksum is an array of N*32 bits.

### Claim 4 (depends on 1)

The three-mode storage method for program blocks according to claim 1, wherein the checksum is compared once after check of each block of the main program.

### Claim 5 (depends on 1)

The three-mode storage method for program blocks according to claim 1, wherein the main program and backup program are checked by separate check modules separately.

### Claim 6 (depends on 1)

The three-mode storage method for program blocks according to claim 1, wherein the updating of the program or checksum comprising:
Comparing the main program and the backup program bit by bit and correcting the backup program according to the main program, if the first checksum is equal to the second checksum but not to the third checksum;
Comparing the main program and the backup program bit by bit and correcting the main program according to the backup program, if the first checksum is equal to the third checksum but not to the second checksum;
Correcting the first checksum according to the second checksum or third checksum, if the second checksum is equal to the third checksum but not equal to the first checksum; and
Reloading all the software, and running and checking it again after load, if the first checksum, second checksum and third checksum are not the same.

### Claim 7 (depends on 6)

The three-mode storage method for program blocks according to claim 6, wherein the updating of the program or checksum further comprising:
Reloading check module, and checking again after load, if no difference is found when comparing the main program and the backup program bit by bit.

### Claim 8 (depends on 1)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 1.

### Claim 9 (depends on 2)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 2.

### Claim 10 (depends on 3)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 3.

### Claim 11 (depends on 4)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 4.

### Claim 12 (depends on 5)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 5.

### Claim 13 (depends on 6)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 6.

### Claim 14 (depends on 7)

A satellite, comprising a chip employing the three-mode storage method for program blocks according to claim 7.
