Upgrading method, computer system and remote upgrading device

Through the collaborative work between the remote upgrade device and the computer system, only the file blocks that need to be updated are transferred and erased and written. This solves the problems of repeated data transmission and long time consumption in the traditional upgrade method, and achieves a more efficient The upgrade process improves user experience.

CN113672270BActive Publication Date: 2025-01-21XUNMU INFORMATION TECH (SHANGHAI) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110954171.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-19
Publication Date
2025-01-21
Estimated Expiration
2041-08-19

AI Technical Summary

Technical Problem

Traditional flash memory upgrade methods cause huge time-consuming to transfer duplicate data in low-speed bus environments, and the erasing and writing processes are time-consuming, resulting in busy system work, slow response speed and poor user experience.

Method used

The update notification is transmitted through the remote upgrade device. The computer system responds to the check code of each storage block. The remote upgrade device compares the check code and only transmits the file blocks that need to be updated. The computer system erases and writes the corresponding storage block.

Benefits of technology

It saves repeated data transmission time, reduces the number of erased and written storage blocks, shortens the overall upgrade time, reduces system load and energy consumption, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113672270B_ABST
    Figure CN113672270B_ABST
Patent Text Reader

Abstract

The present application proposes an upgrade method, as well as a remote upgrade device and a computer system for implementing the upgrade method. First, the remote upgrade device transmits an update notification to the computer system, including the block number involved in the new file. The new file includes multiple file blocks, each of which corresponds to a block number. Then, the computer system responds with a check code for the data in the storage block corresponding to the block number. The remote upgrade device compares the check code with the check code of the file block corresponding to the same block number in the new file one by one. Based on the comparison result of the check code, it is decided whether to transmit the file block to the computer system; wherein the memory includes multiple storage blocks with a predetermined block size, each corresponding to a block number. This upgrade method can make it possible for file blocks with duplicate data to no longer waste time resources for transmission and writing, thereby significantly improving the efficiency of remote upgrades.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to an upgrade method, and more particularly to a method for performing upgrades on a computer system through a remote upgrade device. Background Art

[0002] At present, memory is widely used in computer systems, such as servers, switches and other embedded systems. The most common memory is flash memory, which is used to store boot code (BIOS or BOOT), operating system, application software, etc. Many times, the files stored in the flash memory need to be updated due to version updates, fault repairs, function additions, etc. Figure 1 A conventional embedded system 120 is shown. The embedded system 120 can be remotely connected to perform firmware upgrades via a remote upgrade device 110. The remote upgrade device 110 can be a host computer located at a service station, a central control terminal, or a user-controlled host computer. The embedded system 120 refers to a system where the flash memory 128 is located, which is usually a simple device with poor computing power. The firmware 132 in the flash memory 128 is a code file, which is usually also an object to be upgraded, so the block address corresponding to the firmware 132 in the flash memory 128 is also referred to as the area to be upgraded 130. The embedded system 120 usually includes a processor 122, which is connected to a memory 124 and can load the firmware 132 in the flash memory 128 to perform various functions. The interface 126 in the embedded system 120 can be connected to the remote upgrade device 110. The embedded system 120 is controlled by the remote upgrade device 110 to upgrade the firmware 132. For the flash memory 128, the upgrade of the firmware 132 means the erasure and writing of the area to be upgraded 130. A feature of conventional flash memory 128 is that a block must be erased before it can be written. Both the erase and write operations are performed in units of blocks. Therefore, conventional upgrade methods such as Figure 2 shown.

[0003] Figure 2It is a flowchart of the upgrade of the traditional embedded system 120. In step 201, the remote upgrade device 110 transmits the new file 404 to the embedded system 120 through the interface 126. In step 203, the embedded system 120 erases the area to be upgraded 130 in the flash memory 128 under the control of the processor 122. In step 205, the embedded system 120 writes the new file 404 into the erased area to be upgraded 130 in the flash memory 128. The disadvantage of this implementation method is that the remote upgrade device 110 must transmit the entire new file 404 to the embedded system 120, and even if there are repeated identical parts between the new file 404 and the original file 402, the transmission step cannot be omitted. Therefore, in the environment of a low-speed bus (only a few hundred K bits of data can be transmitted per second), the transmission of repeated data is time-consuming and is an invisible waste. On the other hand, in the process of erasing and writing, the area to be upgraded 130 of the embedded system 120 must be erased first before the entire new file 404 can be written, which is time-consuming and increases the workload of the processor. In the process, the overall time consumption is long, resulting in the system being busy, so that the embedded system 120 cannot respond to other tasks in time, energy consumption increases, response speed slows down, and user experience is poor.

[0004] Therefore, an embedded system update method that can save repeated data transmission, erasing and writing needs to be developed. Summary of the invention

[0005] In order to solve the above technical problems, the present application proposes an upgrade method for updating an original file in a predetermined update block of a memory into a new file. The predetermined update block includes a plurality of storage blocks with a predetermined block size, each corresponding to a block number. The new file is also divided into a plurality of file blocks, each of which corresponds to a block number. First, a remote upgrade device transmits an update notification to the memory. The update notification may include the block number corresponding to each file block. Then, a response from the memory is received, including a check code of the data in the storage block corresponding to each block number. In the remote upgrade device, the check code is compared with the check code of the corresponding file block one by one. If the comparison result of the check code is consistent, the file block is not transmitted to save upgrade time. Conversely, if the comparison result of the check code is inconsistent, the remote upgrade device transmits the file block for writing into the corresponding storage block.

[0006] The checksum is calculated using a cyclic checksum CRC32, a secure hash function SHA, or a message digest algorithm MD5.

[0007] In a further embodiment, before the remote upgrade device transmits the update notification, the remote upgrade device may divide the new file into a plurality of the file blocks according to the predetermined block size.

[0008] In a further embodiment, a verification code of the file segment is required for further verification. The verification code can be transmitted by the remote upgrade device simultaneously when transmitting the file segment, or can be calculated by the computer system itself when receiving the file segment.

[0009] In a further embodiment, when the remote upgrade device transmits the file blocks for writing into the corresponding storage blocks, the storage blocks corresponding to the block numbers may also be erased.

[0010] The present application further proposes an embodiment of a remote upgrade device. The remote upgrade device is used to remotely upgrade the memory data of a computer system, and includes at least the following components. The memory may include code and files to be upgraded. The memory may be connected to the memory for loading code. An interface may be used to connect to the computer system. A processor may be connected to the memory. The processor may execute the code to execute the aforementioned upgrade method embodiment.

[0011] In a further embodiment, the interface of the remote upgrade device can be one of a network port, a serial port, an integrated circuit bus I2C, a system management bus SMBus, a peripheral component interconnect express interface PCIe, or an external serial advanced technology connection eSATA.

[0012] The present application also proposes an embodiment of an upgrade method, which describes a method for remotely updating memory data by a remote upgrade device from the perspective of a computer system, and is used to update an original file in a predetermined update block of the memory into a new file. The predetermined update block includes a plurality of storage blocks with a predetermined block size, each of the plurality of storage blocks corresponds to a block number, and the new file includes a plurality of file blocks, each of the file blocks corresponds to a block number. First, the computer system receives an update notification. The update notification includes the block number corresponding to each of the file blocks. Then the computer system responds with a check code of the data in the storage block corresponding to each of the block numbers. The check code can be used by the remote upgrade device to compare the check codes of the corresponding file blocks one by one. If the check code of the storage block corresponding to the block number matches the check code of the file block corresponding to the same block number, the corresponding file block will not be transmitted to the memory, so that the memory retains the data of the storage block. If the check code of the storage block corresponding to the block number does not match the check code of the file block corresponding to the same block number, the remote upgrade device will execute the transmission, so that the computer system receives the file block and writes the file block into the corresponding storage block.

[0013] In a further embodiment, the check code of the data in the storage block corresponding to the block number may be calculated by the computer system after receiving the update notification transmitted by the remote upgrade device. On the other hand, the check code of the data in the storage block corresponding to the block number may also be pre-stored in the memory before receiving the update notification, so that the computer system can directly read the check code from the memory after receiving the update notification.

[0014] In a further embodiment, the check code of the file block may be provided by the remote upgrade device at the same time when the file block transmitted by the remote upgrade device is received. On the other hand, the check code of the file block may also be calculated by the computer system after receiving the file block from the remote upgrade device. The check code of the file block may be used to verify whether the file block is correctly received. If the verification is wrong, the file block is not written into the corresponding storage block.

[0015] In a further embodiment, upon receiving the file blocks transmitted by the remote upgrade device and verifying the correctness, the computer system may erase the storage block corresponding to the block number. The step of erasing the storage block corresponding to the block number and the step of receiving the file blocks transmitted by the remote upgrade device may be started simultaneously.

[0016] In a further embodiment, after receiving the file block and erasing the storage block corresponding to the block number, the computer system may write to the storage block corresponding to the block number. After writing the file block to the storage block corresponding to the block number, the computer system may store the check code of the file block.

[0017] The present application further proposes an embodiment of a computer system for cooperating with the remote upgrade device to perform the above upgrade method. The computer system includes at least the following components. An interface is connected to the remote upgrade device. A memory, connected to the interface, includes a code and file storage area, wherein the file storage area includes the original file. A memory, connected to the memory and the interface, is used to load code. A processor, connected to the memory, the memory and the interface. The processor executes the code, an embodiment of the above upgrade method.

[0018] In a further embodiment, the interface of the computer system may be one of a network port, a serial port, an integrated circuit bus I2C, a system management bus SMBus, a peripheral component interconnect express interface PCIe, or an external serial advanced technology connection eSATA. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0020] Figure 1 Displays a traditional embedded system.

[0021] Figure 2 It is a flowchart of traditional embedded system upgrade.

[0022] Figure 3 The remote upgrade device and computer system involved in the embodiments of the present application are shown.

[0023] Figure 4 The block structure of the original file and the new file is shown.

[0024] Figure 5 A flow chart of the upgrade method according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0025] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0026] Figure 3 The remote upgrade device 300 and the computer system 320 involved in the embodiment of the present application are shown. The two are connected by an interface 310 and an interface 326. In some embodiments, the computer system 320 is an embedded system; in some embodiments, the computer system 320 can also be a general-purpose computer system, such as a server, a personal computer or a laptop. The remote upgrade device 300 includes a new file 404 to be upgraded, which is stored in a memory 306. The memory 306 also includes a code 308, which is loaded into the memory 304 and executed by the processor 302 to implement the upgrade method described in the present application, so that the original file 402 stored in the memory 328 in the computer system 320 is updated to the new file 404. In some embodiments, the memory 328 is, for example but not limited to, a flash memory. In the computer system 320, the original file 402 is stored in the area 130 to be upgraded of the memory 328. The memory 328 also includes code 330, which is loaded into the memory 324 and executed by the processor 322, so that the computer system 320 communicates with the remote upgrade device 300 through the interface 326, and works together to complete the upgrade method described in this application. In this embodiment, the new file 404 will eventually be written into the area to be upgraded 130 to replace the original file 402. However, during the update process, it is not necessary to transmit all the data of the new file 404, but only the blocks with non-repeated data. The interfaces 310 and 326 used by the computer system and the remote upgrade device of the embodiment of the present application can be a network port, a serial port, an integrated circuit bus I2C, a system management bus SMBus, a quick peripheral component interconnect interface PCIe, or an external serial advanced technology connection eSATA, etc. When using a low-speed interface, the advantages of the upgrade method of the embodiment of the present application can be particularly highlighted.

[0027] The present invention improves the existing memory update process, and the memory is, for example, but not limited to, flash memory. The update of files (e.g., firmware) in flash memory has become one of the daily online services of general computer system products. Many product service providers will release updated files regularly or frequently. Every time an updated file is written to the flash memory, a common situation is that the data in most of the storage blocks in the file is the same, but the data in a small number of storage blocks has changed. For example, a fault is repaired or a new function is added through an updated file. Therefore, the iterative update of the file version usually affects a small proportion of storage blocks. The present application proposes a method for finding the storage blocks corresponding to the data change before updating the new file. The file update can be completed by writing the storage blocks. For the remote upgrade device, only the file blocks that need to be updated need to be transmitted, rather than the data of the entire file. This can save a lot of transmission time. For the computer system, it is only necessary to erase the storage blocks to be updated and write the file blocks into these storage blocks. Since the method does not need to process all the storage blocks, the time consumption can also be greatly reduced.

[0028] Figure 4 The block structure of the original file and the new file in the embodiment of the present application is shown. Taking the memory as a flash memory as an example, the general characteristic of flash memory is that the erasing and writing actions are performed in units of blocks. The block size may be 32 kilobytes (KB), 64KB, or 128KB of flash memory, etc., depending on the manufacturer, specification, and model of the flash memory. Relatively speaking, the remote upgrade device can cut the new file into multiple file blocks of the same size as the storage block, and each file block has an independent block number. It can be clearly understood that each file block can form a corresponding relationship with the storage block number of the target storage address. The area 130 to be upgraded in the memory 328 for storing the original file 402 can be divided into multiple storage blocks in units of a specific block size. With Figure 4 For example, the block numbers corresponding to multiple storage blocks can be represented as B1 to B6. The original file 402 stored in the memory 328 is also divided into multiple file blocks according to the storage block where it is stored. The file blocks divided into multiple file blocks and stored in the storage blocks with block numbers B1 to B6 respectively, each file block in the storage block has a unique check code, and the check code is, for example but not limited to, a hash value calculated by a hash operation, and the hash operation is, for example but not limited to, CRC32, SHA or MD5 and other operation methods. Figure 4For example, a, b, c, d, e and f of the original file 402 represent file blocks with different checksums, corresponding to the block numbers B1 to B6. For example, the checksum of the file block stored in the storage block with block number B2 is represented by b. When generating a new file 404 in the remote upgrade device 300, the new file 404 can also be cut into multiple file blocks according to the same specific block size as the original file, each corresponding to the block number. The checksums of these new file blocks can be calculated in advance when they are generated. Figure 4 For example, the checksums of the file blocks in the new file 404 can be represented as a, b', c, d', e and f, which correspond to the block numbers B1 to B6. The remote upgrade device 300 can transmit these block numbers to the computer system, so that the computer system returns the checksums a to f of the original files corresponding to the block numbers B1 to B6. Figure 4 As shown in the original file 402. Thus, the remote upgrade device 300 can compare the check codes corresponding to the original file 402 and the new file 404, and generate a block number table 406 to be updated according to the differences between the two. Figure 4 For example, the check code a of the file segment of the original file 402 stored in the storage block with block number B1 is the same as the check code a of the file segment of the new file 404 corresponding to block number B1, indicating that the data of the file segments of the two are the same and have not changed. Therefore, the file segment of the original file 402 stored in the storage block with block number B1 does not need to be updated; the check code b of the file segment of the original file 402 stored in the storage block with block number B2 is different from the check code b' of the file segment of the new file 404 corresponding to block number B2, indicating that the data of the file segments of the two are different and have changed. Therefore, the file segment of the original file 402 stored in the storage block with block number B2 needs to be updated, and so on. For example, the block number table 406 to be updated indicates that the block numbers to be updated are B2 and B4. Next, when the remote upgrade device 300 can use this block number table 406 to be updated to transmit the corresponding file segments one by one to upgrade the computer system.

[0029] In some embodiments, the verification code may be pre-calculated and stored in the memory 328. When the remote upgrade device 300 transmits an update notification and the block number involved in this update, the computer system 320 directly reads and returns the verification code of the block number involved in the memory 328. In some implementations, the verification code may not be pre-calculated. When the remote upgrade device 300 transmits an update notification and the block number involved in this update, the computer system 320 calculates the corresponding verification code of the block number involved and returns the verification code.

[0030] Generally speaking, in the memory of a computer system, there is a corresponding relationship between the storage address and the file byte position. However, the remote upgrade system does not necessarily know the correspondence between the memory block number and the address of the computer system. Therefore, in another embodiment, when the remote upgrade device communicates with the computer system, in addition to using the block number in the memory to represent it, it can also directly use the block number of the file to represent it. In further cases, when the remote upgrade system generates a new file, it may have already saved the original file. Therefore, the remote upgrade system can compare the new file and the original file by itself and determine the file block number that needs to be upgraded. Figure 4 For example, the remote upgrade system determines that the file block numbers that need to be upgraded are B2 and B4, and transmits these file block numbers to the computer system, so that the computer system responds with the verification code corresponding to the file block number in the original file for the remote upgrade system to compare and decide the file blocks to be transmitted.

[0031] Figure 5 The flowchart of the upgrade method of the embodiment of the present application is shown. The process of the above embodiment can be summarized into the following steps.

[0032] In step 501, the remote upgrade device transmits an update notification to the computer system. For example, when the remote upgrade device provides a new file to update the computer system, the remote upgrade device can provide the block number involved in the new file, that is, the block number corresponding to the file block, through the update notification.

[0033] In step 503, the computer system transmits the checksum of the data in the storage block corresponding to the block number back to the remote upgrade device. When the computer system receives the block number involved in the new file, it can respond with the checksum of the data in the storage block corresponding to the block number. These checksums can be obtained by using cyclic redundancy check code (CRC32), secure hash function (SHA), or message digest algorithm (MD5). The computer system can store the checksum of all block data in the memory in advance, or calculate and obtain it on the spot when receiving the block number.

[0034] In step 505, the checksum of the data in the storage block is compared with the checksum of the corresponding file block in the new file one by one. When the remote upgrade device receives the response from the computer system, a recursive comparison step is started. In this embodiment, the remote upgrade device can cut the new file into multiple file blocks according to the same size as the storage block in advance, and configure the block number of the storage block corresponding to each file block. Therefore, the remote upgrade device can compare the file blocks involved in the block number one by one according to the checksum responded by the computer system to see if they match the data of the corresponding storage block in the computer system.

[0035] In step 507, if the check codes are the same, it means that the storage block corresponding to the block number does not need to be updated, and the process directly proceeds to step 517. In contrast, if the check codes are different, the remote upgrade device notifies the storage block corresponding to the block number that it needs to be updated.

[0036] In step 509, the remote upgrade device then sends the file blocks corresponding to the block number to the computer system. The remote upgrade device and the computer system can choose to use compression to transmit data. Whether to use compression to transmit depends on the speed of the processors and transmission channels at both ends. If the processor speed is fast and the transmission channel speed is slow, it is recommended to use compression to transmit. That is, the remote upgrade device first compresses the data block to be transmitted and then transmits it. In this way, the computer system receives the data and can decompress it accordingly. If the transmission channel speed is fast, it is not recommended to use compression to transmit.

[0037] In step 511, when the computer system confirms that the storage block corresponding to the block number needs to be updated, the storage block to be updated is erased.

[0038] In this embodiment, the action of erasing the storage block in step 511 and the data transmission of the file blocks in step 509 can be performed simultaneously, so that the update time is further shortened.

[0039] In step 513, when the erasing action of step 511 is completed and the transmission of the file blocks is completed, the computer system then writes the file blocks into the storage block.

[0040] In step 515, the computer system updates the corresponding check code according to the updated storage block data. The check code may be calculated by the processor during the update process, or may be a value provided in advance. For example, when processing the check code, the remote upgrade device and the computer system may plan locations in advance in their respective memories to store the check codes of each storage block data. In the remote upgrade device, the header data structure of the new file or each new file block may be customized to store the check code of each file block corresponding to the block number.

[0041] In step 517, it is determined whether the update of the storage blocks of all block numbers is completed. If not, step 505 is repeated. If all are completed, the update procedure is terminated in step 519.

[0042] Compared with the existing flash memory data upgrade method, the embodiment of the present application highlights several obvious advantages. The amount of data transmitted between the two systems is reduced, thereby shortening the transmission time. In addition, since the processing of duplicate data is omitted, the number of storage blocks that need to be erased and written is reduced, shortening the operation time. Experimental data shows that the overall flash memory update time can be shortened by more than 80% on average, thereby reducing the system load and energy consumption, making the system respond faster, and improving user satisfaction.

[0043] In a supplementary embodiment, the check code of the file block in the new file may be provided by the remote upgrade device at the same time when the computer system receives the file block transmitted by the remote upgrade device. On the other hand, the check code of the file block of the new file may also be calculated by the computer system after receiving the file block from the remote upgrade device. For example, in step 509, the check code of the file block may be used to verify whether the file block is correctly received. If the verification is incorrect, step 511 is not performed. In addition, the computer system may also request the remote upgrade device to retransmit the file block with incorrect verification. On the other hand, when the correctness has been verified, the computer system performs step 511 to subsequently erase and update the storage block corresponding to the block number.

[0044] The updating method of the present application can be applied to a wide range of applications. The computer system can be a common smart device, portable device, wearable device in daily life, or a network device, monitoring device, smart home appliance, Internet of Things device, etc.

[0045] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0046] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. An upgrade method for updating an original file in a predetermined update block of a memory into a new file, wherein the predetermined update block includes a plurality of storage blocks with a predetermined block size, each of the storage blocks corresponds to a block number, and the new file includes a plurality of file blocks, each of the file blocks corresponds to a block number; characterized in that: The upgrading method comprises: The remote upgrade device transmits an update notification to the computer system, wherein the update notification includes the block number corresponding to each of the file blocks; The remote upgrade device receives a check code of the data in the storage block corresponding to each block number in the computer system; The remote upgrade device compares the check codes of the storage blocks corresponding to the same block number with the check codes of the file blocks one by one; If the comparison result of the verification code matches, the remote upgrade device does not transmit the file block to the computer system; and If the comparison result of the verification code does not match, the remote upgrade device transmits the file blocks for writing into the corresponding storage blocks to the computer system, so that the computer system is upgraded.

2. The upgrading method according to claim 1, characterized in that: Also includes: Before sending the update notification, the new file is divided into a plurality of the file blocks using the predetermined block size as a unit.

3. The upgrading method according to claim 1, characterized in that: Also includes: When transmitting the file blocks for writing into the corresponding storage blocks, the checksums of the file blocks are transmitted simultaneously.

4. The upgrading method according to claim 1, characterized in that: The step of transmitting the file blocks for writing into the corresponding storage blocks further includes: erasing the storage blocks corresponding to the block numbers.

5. A remote upgrade device for remotely upgrading memory data of a computer system, comprising: Storage, including code and new files; A memory, connected to the storage device, for loading codes; and An interface for connecting to the computer system; a processor, connected to the memory; It is characterized in that: the processor executes the code to perform the upgrading method according to any one of claims 1 to 4.

6. An upgrade method for updating an original file in a predetermined update block of a memory into a new file, wherein the predetermined update block includes a plurality of storage blocks with a predetermined block size, each of the storage blocks corresponds to a block number, and the new file includes a plurality of file blocks, each of the file blocks corresponds to a block number, characterized in that: The upgrading method comprises: The computer system receives an update notification transmitted by a remote upgrade device, wherein the update notification includes the block number corresponding to each of the file blocks; The computer system responds to the remote upgrade device with a check code of the data in the storage block corresponding to each block number; wherein the check code of the storage block is used to compare the check codes of the file blocks corresponding to the same block number one by one, and when the check codes are matched, the file blocks corresponding to the same block number will not be transmitted to the memory; and The computer system writes any received file block into the corresponding storage block.

7. The upgrading method according to claim 6, characterized in that: Also includes: After receiving the update notification, the check code of the data in the storage block corresponding to the block number is calculated or read.

8. The upgrading method according to claim 6, characterized in that: Also includes: When receiving the file blocks, the check codes of the file blocks are also received simultaneously.

9. The upgrading method according to claim 6, characterized in that: The step of receiving the file blocks and writing the file blocks into the corresponding storage blocks also includes: Calculate the checksum of the file block.

10. The upgrading method according to claim 6, characterized in that: Also includes; Verifying whether the file block is correctly received according to the check code of the file block; and If the verification is incorrect, the file block is not written into the corresponding storage block.

11. The upgrading method according to claim 6, characterized in that: The step of writing the file blocks into corresponding storage blocks also includes: After erasing the storage block corresponding to the block number, writing is performed on the storage block corresponding to the block number.

12. The upgrading method according to claim 11, characterized in that: Also includes: The step of erasing the storage block corresponding to the block number and the step of receiving the file blocks are started simultaneously.

13. The upgrading method according to claim 6, characterized in that: Also includes: After writing the file block to the storage block corresponding to the block number, the check code of the file block is stored.

14. A computer system comprising: Interface, connect to remote upgrade equipment, A memory, connected to the interface, including a code and a file storage area, wherein the file storage area includes an original file; A memory, connected to the storage and the interface, for loading codes; and A processor, connected to the memory, the storage and the interface; It is characterized in that: the processor executes the code to perform the upgrading method according to any one of claims 6 to 13.

Citation Information

Patent Citations

  • Remote upgrading method and system based on NBIOT network

    CN110618830A