A high-reliability application method for on-board computer memory
By dividing the onboard computer's memory space into multiple zones and adopting dual software version management, the problems of low on-orbit programming efficiency and poor reliability of software in onboard computers were solved, realizing efficient use of memory resources and online upgrades.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI AEROSPACE COMP TECH INST
- Filing Date
- 2023-01-04
- Publication Date
- 2026-05-01
AI Technical Summary
The software in spaceborne computers is large in scale, and the read and write speed of non-volatile memory is slow and there is a risk of write failure in the harsh space environment, which leads to low efficiency and unreliability of on-orbit programming of software.
The memory space is divided into an operating system running area, an application software running area, a memory file system area, and a system status parameter area. Software updates and management are performed in memory, reducing read and write operations to non-volatile memory. Online upgrades are achieved using dual software version management and remote control commands.
It improves the efficiency and reliability of on-orbit software programming, minimizes the reading and writing of non-volatile memory, and enables online updates and multi-version management of operating systems and application software.
Smart Images

Figure CN115964068B_ABST
Abstract
Description
A method for high-reliability application of spaceborne computer memory Technical Field
[0001] This invention relates to the field of spaceborne computer technology, and in particular to a method for high-reliability application of spaceborne computer memory. Background Technology
[0002] In recent years, with the rapid development of satellite technology, the functions that satellites need to perform have become increasingly complex. Correspondingly, the integration level of the onboard computer hardware configuration has become higher and higher, and the number of running software programs has also increased. Currently, onboard computers are equipped with operating systems to manage and schedule highly integrated hardware resources and multiple running application software programs. For increasingly complex space applications, the scale of operating system software and application software is also growing. Given the current software-defined satellite architecture, continuous on-orbit programming is inevitably required to adjust and upgrade software business functions. For on-orbit programming of large-scale operating systems and application software, the process of writing updated software to non-volatile memory is slow and carries the risk of write failure in harsh space environments.
[0003] In spaceborne computers, memory modules are frequently read and written at high speeds and have EDAC functionality. Therefore, finding a suitable way to use memory so that the operation and updates of the operating system and application software are completed in memory, while minimizing the reading and writing of non-volatile memory, has become an urgent problem to be solved. Summary of the Invention
[0004] To overcome the shortcomings of existing technologies, this invention provides a highly reliable application method for onboard computer memory, which reduces the reading and writing of non-volatile memory, improves the efficiency and reliability of on-orbit software programming, and enhances the utilization efficiency of memory resources.
[0005] To achieve the aforementioned objectives of the invention, the technical solution adopted to solve its technical problems is as follows:
[0006] A method for high-reliability application of onboard computer memory includes the following steps:
[0007] Step S1: Divide the space of the onboard computer memory into four partitions: operating system running area, application software running area, memory file system area, and system status parameter area.
[0008] Step S2: When the system is powered on for the first time and cold boots, the memory devices are initialized in the boot program, the memory space is cleared, and the cold boot flag is set in the system status parameter area;
[0009] Step S3: Load the original version of the operating system image from the non-volatile memory into the original version runtime area of the operating system runtime area and run it;
[0010] Step S4: After the operating system runs, load the updated version of the operating system image and different versions of application software from the non-volatile memory into the primary partition and redundant partition in the memory file system;
[0011] Step S5: Based on the APP loading parameters in the system status parameters, the operating system selects whether to load each application software into the application software runtime area from the primary partition or the redundant partition of the memory file system.
[0012] Step S6: When updating the operating system, first, the new version of the operating system replaces the operating system image in the memory file system, and the operating system loading source parameters are set; then, the new version of the operating system is loaded into the updated version runtime area in the operating system runtime area, and finally, the processor PC pointer is pointed to the entry address of the updated version of the operating system in the operating system runtime area for execution, so as to realize the online update of the operating system;
[0013] Step S7: When updating application software, upload the new application software to the memory file system and set the application software load source parameters; then restart the corresponding application software. The operating system selects the new version of the software in the memory file system according to the application software source and loads it into the corresponding runtime area of the application software.
[0014] Furthermore, the operating system runtime area in step S1 also includes:
[0015] The operating system runtime area is divided into the original version runtime area and the updated version runtime area. The onboard computer system maintains two versions of the operating system, the original version and the updated version. The original version is not changed while in orbit, while the updated version is updated and repaired or upgraded according to the problems exposed during operation or to suit business needs. The original version of the operating system only runs in the original version runtime area of the operating system runtime area, while the updated version runs in the updated version runtime area of the operating system runtime area. When the system is powered on, it runs the original version.
[0016] Furthermore, the memory file system area in step 1 also includes:
[0017] The memory file system is divided into a primary partition and a redundant partition. The two partitions store updated versions of the operating system and different versions of application software. During system operation, updates to the operating system and application software are first stored in the memory file system. Since the memory file system is lost when power is off, it is suitable for spaceborne computer systems that are powered on for extended periods. It is also used in conjunction with non-volatile memory to write back updated versions of the operating system and application software.
[0018] Furthermore, the loading of updated operating system versions and different versions of application software in step S4 also includes:
[0019] The application software is stored in two versions, the original version and the updated version, in the non-volatile memory. At least two versions of the application software are stored. Multiple copies of the original version of the operating system and the application software are stored. When the system is first powered on, the original version of the operating system is loaded from the non-volatile memory into the original version area of the operating system runtime area. After the operating system starts, different versions of the application software are selected into the memory file system according to the system status parameters. Finally, the application software in the memory file system is selected into the application software runtime area according to the system parameters.
[0020] Furthermore, updating the operating system in step S6 also includes:
[0021] The updated operating system and the original operating system run at different addresses in memory. Therefore, the code segment and data segment addresses of the two operating systems need to be specified during the design phase. When updating the operating system, it is necessary to ensure that the original operating system is currently running. Then, the new version of the operating system is written and stored in the memory file system. Afterward, the original operating system boots and loads the new version of the operating system into the updated version area of the operating system runtime area. After confirming that the system is running without problems, the updated operating system version in the memory file system can be written back to the non-volatile memory via remote control commands.
[0022] Furthermore, the application update in step S7 also includes:
[0023] According to the remote control command, the application software is uploaded to the specified partition of the memory file system. Then the operating system loads the new application software from the specified partition into the application software runtime area. If the newly uploaded application software has a problem, the old version of the application software can be loaded from another partition of the memory file system. After the updated application software passes the test, the updated application software in the memory file system can be written back to the non-volatile memory using the remote control command.
[0024] By employing the above technical solutions, this invention has the following advantages and positive effects compared with the prior art:
[0025] 1. The embodiments of the present invention can minimize the reading and writing of non-volatile storage areas, and all on-orbit software updates are implemented in memory, thus improving the efficiency of updating file reading and writing.
[0026] 2. In this embodiment of the invention, an updated version of the operating system can be directly booted from the original operating system, enabling online operating system upgrades;
[0027] 3. The embodiments of the present invention can maintain multiple application software versions in memory at the same time, and can load and run the application software version specified according to the remote control command. Attached Figure Description
[0028] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:
[0029] Figure 1 is a schematic diagram of the memory partitioning of the present invention;
[0030] Figure 2 illustrates the implementation steps of this invention;
[0031] Figure 3 is a schematic diagram of software loading in memory in an embodiment of the present invention. Detailed Implementation
[0032] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0033] As shown in Figures 1-3, this embodiment discloses a method for high-reliability application of spaceborne computer memory, including the following steps:
[0034] Step S1: Divide the space of the onboard computer memory into four partitions: operating system running area, application software running area, memory file system area, and system status parameter area.
[0035] Step S2: When the system is powered on for the first time and cold boots, the memory devices are initialized in the boot program, the memory space is cleared, and the cold boot flag is set in the system status parameter area;
[0036] Step S3: Load the original version of the operating system image from the non-volatile memory into the original version runtime area of the operating system runtime area and run it;
[0037] Step S4: After the operating system runs, load the updated version of the operating system image and different versions of application software from the non-volatile memory into the primary partition and redundant partition in the memory file system;
[0038] Step S5: Based on the APP loading parameters in the system status parameters, the operating system selects whether to load each application software into the application software runtime area from the primary partition or the redundant partition of the memory file system.
[0039] Step S6: When updating the operating system, first, the new version of the operating system replaces the operating system image in the memory file system, and the operating system loading source parameters are set; then, the new version of the operating system is loaded into the updated version runtime area in the operating system runtime area, and finally, the processor PC pointer is pointed to the entry address of the updated version of the operating system in the operating system runtime area for execution, so as to realize the online update of the operating system;
[0040] Step S7: When updating application software, upload the new application software to the memory file system and set the application software load source parameters; then restart the corresponding application software. The operating system selects the new version of the software in the memory file system according to the application software source and loads it into the corresponding runtime area of the application software.
[0041] Furthermore, the operating system runtime area in step S1 also includes:
[0042] The operating system runtime area is divided into the original version runtime area and the updated version runtime area. The onboard computer system maintains two versions of the operating system, the original version and the updated version. The original version is not changed while in orbit, while the updated version is updated and repaired or upgraded according to the problems exposed during operation or to suit business needs. The original version of the operating system only runs in the original version runtime area of the operating system runtime area, while the updated version runs in the updated version runtime area of the operating system runtime area. When the system is powered on, it runs the original version.
[0043] Furthermore, the memory file system area in step 1 also includes:
[0044] The memory file system is divided into a primary partition and a redundant partition. The two partitions store updated versions of the operating system and different versions of application software. During system operation, updates to the operating system and application software are first stored in the memory file system. Since the memory file system is lost when power is off, it is suitable for spaceborne computer systems that are powered on for extended periods. It is also used in conjunction with non-volatile memory to write back updated versions of the operating system and application software.
[0045] Furthermore, the loading of updated operating system versions and different versions of application software in step S4 also includes:
[0046] The application software is stored in two versions, the original version and the updated version, in the non-volatile memory. At least two versions of the application software are stored (original version and updated version, and the updated version can be further divided into multiple versions, all of which are the same initially). Multiple copies of the original version of the operating system and the application software are stored. During the initial power-on, the original version of the operating system is loaded from the non-volatile memory into the original version area of the operating system runtime area. After the operating system starts, it selects different versions of the application software into the memory file system according to the system status parameters, and finally selects the application software from the memory file system into the application software runtime area according to the system parameters.
[0047] Furthermore, updating the operating system in step S6 also includes:
[0048] The updated operating system and the original operating system run at different addresses in memory. Therefore, the code segment and data segment addresses of the two operating systems need to be specified during the design phase. When updating the operating system, it is necessary to ensure that the original operating system is currently running. Then, the new version of the operating system is written and stored in the memory file system. Afterward, the original operating system boots and loads the new version of the operating system into the updated version area of the operating system runtime area. After confirming that the system is running without problems, the updated operating system version in the memory file system can be written back to the non-volatile memory via remote control commands.
[0049] Furthermore, the application update in step S7 also includes:
[0050] According to the remote control command, the application software is uploaded to the specified partition of the memory file system. Then the operating system loads the new application software from the specified partition into the application software runtime area. If the newly uploaded application software has a problem, the old version of the application software can be loaded from another partition of the memory file system. After the updated application software passes the test, the updated application software in the memory file system can be written back to the non-volatile memory using the remote control command.
[0051] Example 1
[0052] In this embodiment, the software involved includes operating system software, management software, integrated electronic software, attitude and orbit control software, and autonomous mission planning software. The hardware resources involved include 16MB of non-volatile memory (NorFlash) and 128MB of SDRAM. The NorFlash stores three copies each of the original version of the operating system and application software in binary data format; and stores one copy of the updated version of the operating system and two copies of each application software in a file system format.
[0053] Please refer to Figures 1-3. An embodiment of the present invention provides a method for high-reliability application of spaceborne computer memory, which includes the following steps:
[0054] Step S1: In this embodiment, the SDRAM memory size is 128MB, which is divided into an operating system running area of 44MB, of which the original version and the updated version each occupy 22MB; an application software running area of 72MB; a memory file system of 10MB, with the primary partition and the redundant partition each occupying 5MB; and a system status parameter area of 2MB.
[0055] Step S2: The system powers on, loads the boot software to initialize the SDRAM, refreshes the entire space to zero, and sets the cold boot flag in the operating system status parameter area.
[0056] Step S3: Load the boot software to load the original version of the operating system from the NorFlash raw memory data area into the original version area of the SDRAM operating system running area, and at the same time set the loading and startup source of the application software in the system status parameter area to the default state.
[0057] Step S4: After the operating system is running, you can select the system status parameters to load the updated version of the operating system and application software from Norflash into the primary partition and redundant partition of the memory file system.
[0058] Step S5: The operating system selects and loads the management software, integrated electronic software, attitude and orbit control software, and autonomous task planning software from the main boot partition into the application software runtime area according to the system status parameters.
[0059] Step S6: When updating the operating system, first, the new version of the operating system replaces the operating system image in the main partition of the memory file system, and sets the operating system loading source to the main partition of the memory file system; then, the new version of the operating system is loaded into the updated version runtime area in the operating system runtime area, and finally, the processor PC pointer is pointed to the entry address of the updated version of the operating system in the operating system runtime area for execution, thereby realizing online operating system update.
[0060] Step S7: When updating application software, upload the new application software to the main partition of the memory file system, and set the application software load source parameter to the main partition of the memory file system; then restart the corresponding application software, and the operating system selects the new version of the software in the memory file system according to the application software source, and loads it into the corresponding runtime area of the application software.
[0061] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for high-reliability application of spaceborne computer memory, characterized in that, Includes the following steps: Step S1: Divide the space of the onboard computer memory into four partitions: operating system running area, application software running area, memory file system area, and system status parameter area; Step S2: When the system is powered on for the first time and cold boots, initialize the memory devices in the boot program, clear the memory space, and set the cold boot flag in the system status parameter area. Step S3: Load the original version of the operating system image from the non-volatile memory into the original version running area of the operating system running area; Step S4: After the operating system runs, load the updated version of the operating system image and different versions of application software from the non-volatile memory into the primary partition and redundant partition in the memory file system area; Step S5: Based on the APP loading parameters in the system status parameter area, the operating system selects whether to load each application software into the application software running area from the primary partition or the redundant partition in the memory file system area; Step S6: When updating the operating system, first, the new version of the operating system replaces the updated version of the operating system image in the memory file system area, and sets the operating system loading source parameters; Then, the new version of the operating system is loaded into the updated version runtime area in the operating system runtime area. Finally, the processor PC pointer is pointed to the entry address of the new version of the operating system in the operating system runtime area and executed to realize online operating system update; Step S7: When updating application software, the new version of the application software is loaded into the memory file system area, and the application software loading source parameters are set; then the corresponding application software is restarted, and the operating system selects the new version of the application software in the memory file system area according to the application software loading source parameters and loads it into the application software runtime area for execution.
2. The method for high-reliability application of spaceborne computer memory according to claim 1, characterized in that, The operating system running area in step S1 further includes: the operating system running area is divided into the original version running area and the updated version running area. The onboard computer system maintains two versions of the operating system, the original version and the updated version. The original version is not changed in orbit, while the updated version is updated and repaired or upgraded according to business needs as problems are exposed during operation. The original version of the operating system only runs in the original version running area of the operating system running area, and the updated version of the operating system runs in the updated version running area of the operating system running area. When the system is powered on and starts, it runs the original version.
3. The method for high-reliability application of spaceborne computer memory according to claim 1, characterized in that, The memory file system area in step 1 further includes: the memory file system area is divided into a primary partition and a redundant partition, and the two partitions store the latest version of the operating system and different versions of application software.
4. The method for high-reliability application of spaceborne computer memory according to claim 1, characterized in that, The loading of the updated version of the operating system image and different versions of application software in step S4 further includes: storing both the original version and the updated version of the application software in the non-volatile memory; upon initial power-on, loading the original version of the operating system from the non-volatile memory into the original version area of the operating system runtime area; after the operating system starts, selecting different versions of application software into the memory file system area according to the system status parameters; and finally selecting the application software in the memory file system area into the application software runtime area according to the APP loading parameters in the system status parameter area.
5. The method for high-reliability application of spaceborne computer memory according to claim 1, characterized in that, The operating system update in step S6 further includes: specifying the code segment and data segment addresses of the original version of the operating system and the updated version of the operating system during the design phase; ensuring that the original version of the operating system is currently running during the operating system update; then storing the new version of the operating system in the memory file system area; and then having the original version of the operating system boot and load the new version of the operating system into the updated version area of the operating system runtime area for execution; and after confirming that the system is running without problems, writing the updated operating system version in the memory file system area back to the non-volatile memory via remote control commands.
6. The method for high-reliability application of spaceborne computer memory according to claim 1, characterized in that, The application update in step S7 further includes: according to the remote control command, uploading the application software to a designated partition of the memory file system area, and then the operating system loading the new application software from the designated partition to the application software running area; if the newly uploaded application software has a problem, loading the old version of the application software from another partition in the memory file system area; after the updated application software passes the running verification, using the remote control command, writing the updated application software in the memory file system area back to the non-volatile memory.
Citation Information
Patent Citations
BootLoader architectural design method
CN101763279A
Dynamic on-orbit hot update method supporting breakpoint resume
CN110474673A