Loading multi-segmented software image file into memory using nested file structure

By reading external file metadata and data from the nonvolatile storage medium into RAM during the boot loading process of the computing device, the problem of too long boot time caused by multiple access to the storage medium is solved, and a faster boot loading process is achieved.

CN119907964AActive Publication Date: 2025-04-29QUALCOMM INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202380064837.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-23
Filing Date
2023-08-01
Publication Date
2025-04-29
Estimated Expiration
2043-08-01

AI Technical Summary

Technical Problem

In the boot loading process, the prior art requires multiple access to nonvolatile storage media, resulting in a long boot time and affecting the user experience.

Method used

The external file metadata part is read from the storage medium into RAM through the processor, and the external file data part, including internal files, is read based on the metadata part, thereby reducing the number of accesses to the storage medium.

Benefits of technology

Effectively reduces boot loading time, improves user experience, and avoids the disadvantage of multiple access to non-volatile storage media by processing and transmitting data in RAM.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119907964A_ABST
    Figure CN119907964A_ABST
Patent Text Reader

Abstract

Data from a non-volatile storage medium may be loaded in a computing device using a file having a nested structure. The external file metadata portion may be read from the external file on the storage medium into the RAM. The external file may include an external file metadata portion and an external file data portion. The external file data portion may then be read from the external file on the storage medium into the RAM based on the external file metadata portion. The external file data portion may be an internal file. The internal file may include an internal file metadata portion and an internal file data portion. The internal file metadata portion may then be read from the internal file in the RAM. The internal file data portion may be read from the internal file in the RAM based on the internal file metadata portion.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related technical description

[0002] Booting a computing device may include reading one or more files from a disk, flash memory, or other non-volatile storage medium and loading the files into random access memory ("RAM"). As part of the boot process, a software component known as a boot loader may control this reading and loading of files. Fast boot times may enhance the user experience or provide other advantages. For such reasons, it is generally desirable to minimize the amount of time required to load files into RAM during boot.

[0003] An executable file stored on a non-volatile boot medium may be referred to as an image, executable image, software image, binary image, etc. The term "image" is sometimes used to refer to binary information, regardless of its structure or format. For example, copying an image from a source to a destination may refer to making a bit-identical copy of the information. An executable image may have a standardized format, such as the Executable and Linkable Format ("ELF"). An ELF image includes a number of separate ELF fragments, which may include an ELF file header, an ELF program header, and a number of loadable ELF data fragments.

[0004] The boot loader can first read the ELF file header stored on the boot medium. Reading the ELF file header provides the boot loader with the position of the ELF program header in the ELF image. The boot loader can then read the ELF program header from this position in the ELF image. The ELF program header provides the boot loader with the position of various loadable data fragments in the ELF image. The boot loader can then read the ELF data fragments from these positions in the ELF image. The boot loader spends a certain amount of time on each access to the boot medium. The total amount of time is related to the number of accesses to the boot medium. When many accesses are needed, such as when the data fragments are misaligned or discontinuous, this total amount of time can be a large amount. Summary of the invention

[0005] Systems, methods, computer-readable media, and other examples for loading data from a non-volatile storage medium in a computing device are disclosed.

[0006] An exemplary method for loading data from a non-volatile storage medium in a computing device may include reading, by a processor, an external file metadata portion from an external file on the storage medium into a random access memory ("RAM"). The external file may include an external file metadata portion and an external file data portion. The method may further include reading, by the processor, an external file data portion from an external file on the storage medium into the RAM based on the external file metadata portion. The external file data portion may include an internal file. The internal file may include an internal file metadata portion and an internal file data portion. The method may also include reading, by the processor, an internal file metadata portion from an internal file in the RAM. The method may still further include reading, by the processor, an internal file data portion from an internal file in the RAM based on the internal file metadata portion.

[0007] An exemplary system for loading data from a non-volatile storage medium in a computing device may include a non-volatile storage medium, a RAM, and a processor. The processor may be configured to read an external file metadata portion from an external file on the storage medium into the RAM. The external file may include an external file metadata portion and an external file data portion. The processor may also be configured to read an external file data portion from an external file on the storage medium into the RAM based on the external file metadata portion. The external file data portion may include an internal file. The internal file may include an internal file metadata portion and an internal file data portion. The processor may also be configured to read an internal file metadata portion from an internal file in the RAM. The processor may still further be configured to read an internal file data portion from an internal file in the RAM based on the internal file metadata portion.

[0008] Another exemplary system for loading data from a non-volatile storage medium in a computing device may include a component for reading an external file metadata portion from an external file on the storage medium into a RAM. The external file may include an external file metadata portion and an external file data portion. The system may further include a component for reading an external file data portion from an external file on the storage medium into a RAM based on the external file metadata portion. The external file data portion may include an internal file. The internal file may include an internal file metadata portion and an internal file data portion. The system may also include a component for reading an internal file metadata portion from an internal file in the RAM. The system may still further include a component for reading an internal file data portion from an internal file in the RAM based on the internal file metadata portion.

[0009] An exemplary computer-readable medium for loading data from a non-volatile storage medium in a computing device may include a non-transitory computer-readable medium having instructions stored thereon in a computer-executable form. When executed by a processing system of a computing device, the instructions may configure the processing system to read an external file metadata portion from an external file on a storage medium into a RAM. The external file may include an external file metadata portion and an external file data portion. When executed by the processing system, the instructions may further configure the processing system to read an external file data portion from an external file on a storage medium into a RAM based on the external file metadata portion. The external file data portion may include an internal file. The internal file may include an internal file metadata portion and an internal file data portion. When executed, the instructions may also configure the processing system to read an internal file metadata portion from an internal file in RAM. When executed by the processing system, the instructions may still further configure the processing system to read an internal file data portion from an internal file in RAM based on the internal file metadata portion. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In the drawings, like reference numerals refer to like parts throughout the various views unless otherwise indicated. For reference numerals with letter character designations, such as "101A" or "101B", the letter character designation may distinguish between two similar parts or elements in the same figure. The letter character designation of a reference numeral may be omitted when it is intended that the reference numeral encompass all parts having the same reference numeral in all figures.

[0011] Figure 1 is a block diagram of a system having a nonvolatile storage medium and a random access memory ("RAM") according to an exemplary embodiment.

[0012] Figure 2 Similar to Figure 1 , illustrates the system after a file portion has been transferred from a non-volatile storage medium to a RAM, according to an exemplary embodiment.

[0013] Figure 3 Similar to Figure 2 , illustrates the system after a file portion has been transferred from a first area of ​​RAM to a second area of ​​RAM, according to an exemplary embodiment.

[0014] Figure 4 is a block diagram of a computing device with non-volatile storage media and RAM according to an exemplary embodiment.

[0015] Figure 5 is a flow chart illustrating a method for loading data from a non-volatile storage medium in a computing device according to an exemplary embodiment.

[0016] Figure 6 is a block diagram of a portable computing device according to an exemplary embodiment. DETAILED DESCRIPTION

[0017] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." The word "exemplary" may be used herein synonymously with "exemplary." Any aspect described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects.

[0018] like Figure 1 As shown, in an exemplary or exemplary embodiment, for guiding a computing device ( Figure 1 1. System 100 for loading data during a process (not shown) or at other times may include non-volatile storage media ("NVM") 102 and random access memory ("RAM") 104. The "data" loaded may be of any type, including executable images. NVM 102 may be of any type, such as flash memory, disk memory, etc. RAM 104 may be of any type, such as dynamic RAM, static RAM, etc.

[0019] The data stored on NVM 102 may include an external file 106. External file 106 may be of any type, such as an executable file (i.e., a file having one or more executable parts). External file 106 may have any format, such as a standardized format known to those of ordinary skill in the art as executable linkable format ("ELF"). External file 106 may include one or more metadata parts, such as an external file ELF file header 108 and an external file ELF program header 110. According to the features described below, the metadata part (such as the external file ELF program header 110) may include a flag 112. As understood by those of ordinary skill in the art, in addition to the external file ELF file header 108 and the external file ELF program header 110 (metadata part), the ELF file may also include one or more data parts or segments. In the illustrated example, external file 106 may have only one such data segment, which may be referred to as internal file 114. Similar to external file 106, internal file 114 may be an ELF file. Thus, the internal file 114 may include an internal file ELF file header 116 and an internal file ELF program header 118. The external file 106 and the internal file 114 together may be referred to as a nested ELF file or an ELF-in-ELF file.

[0020] In addition to the internal file ELF file header 116 and the internal file ELF program header 118 (metadata portion), the internal file 114 may include any number N of internal file ELF data segments 120. In some examples, the number of internal file ELF data segments 120 may be large, such as about hundreds or thousands, but at least two. It should be noted that in the illustrated example, the external file 106 is an ELF file with only one ELF data segment, which is the internal file 114, and the internal file 114 is an ELF file with at least two (but in some examples, a larger number) ELF data segments 120.

[0021] Various executable software components may be stored or reside in RAM 104 (or other memory for executable software), such as boot loader 122, operating system 124, storage driver 126, etc. Although these software components are different in the illustrated examples for clarity, in other examples, some of these components or parts thereof may be combined with each other or with other software components. In addition, in the examples described below, some actions are performed or controlled by boot loader 122, while other actions are performed or controlled by operating system 124. However, in other examples, different actions may be performed by different combinations of boot loader 122 and operating system 124. In yet other examples, boot loader 122 itself may perform or control all described actions, or alternatively, operating system 124 itself may perform or control all described actions. It should be noted that the terms "stored on..." and "stored in..." may be used synonymously herein.

[0022] like Figure 2As shown, the boot loader 122 may be configured to read the external file ELF file header 108 and the external file ELF program header 110. The boot loader 122 may be configured to read the external file ELF file header 108 and the external file ELF program header 110 together in a single read operation or access of the NVM 102. When reading the external file ELF file header 108 and the external ELF program header 110, the boot loader 122 may use the storage driver 126 to access the NVM 102. This access of the boot loader to the NVM 102 is conceptually indicated by the dotted arrow 128. Alternatively, the boot loader 122 may be configured to first read the external file ELF file header 108 in the first access of the NVM 102, and then read the external file ELF program header 110 in the second access of the NVM 102. This alternative may be useful in examples where the external file ELF file header 108 includes information identifying the location of the external file ELF program header 110 in the external file 106. In such examples, the boot loader 122 may be configured to read the external file ELF program header 110 using this location information.

[0023] The external file ELF program header 110 may include information identifying the location of the external file ELF data segment in the external file 106. In the illustrated example, there is only one external file ELF data segment: the internal file 114. The boot loader 122 may be configured to use this location information to read the internal file 114. When reading the internal file 114, the boot loader 122 may use the storage driver 126 to access the NVM 102. This access of the boot loader 122 to the NVM 102 is conceptually indicated by the dashed arrow 132. The boot loader 122 may be configured to read the internal file 114 from the NVM 102 or transfer it to the RAM 104, as indicated by the arrow 134.

[0024] like Figure 3 As shown, the operating system 124 may then read the internal file ELF file header 116 in the internal file 114 stored in the RAM 104. The internal file ELF file header 116 may include information identifying the location of the internal file ELF program header 118 in the internal file 114 stored in the RAM 104. The operating system 124 may be configured to read the internal file ELF program header 118 using such location information.

[0025] The internal file ELF program header 118 may include information identifying the location of the internal file ELF data segment 120 stored in the RAM 104. The operating system 124 may be configured to use this location information to read the internal file ELF data segment 120 in the internal file 114 stored in the RAM 104. When reading the internal file ELF data segment 120, the operating system 124 may be configured to transfer the internal file ELF data segment 120 from the first area of ​​the RAM 104 to the second area of ​​the RAM 104. This transmission of the internal file ELF data segment 120 is conceptually indicated by arrow 136. The control of the operating system 124 to the transmission is conceptually indicated by the dotted arrow 138. In an alternative example (not shown), the operating system may be configured to transfer the internal file ELF data segment from the RAM to another RAM. The second area of ​​the RAM 104 (or alternatively, the area of ​​another RAM) may be an area where software can be executed. The execution of such software may be a further stage or step in the process of booting a computing device, where loading the software from NVM 102 to the first area of ​​RAM 104 is an earlier stage or step in the boot process. In yet other examples, the transfer of ELF data segments may be controlled by hardware (e.g., a finite state machine, etc.) rather than operating system 124.

[0026] It should be noted that the boot loader 122 or the combination of the boot loader 122 and the storage driver 126 may access the NVM 102 a small number of times (i.e., typically much fewer times than the number of ELF data segments 120) to load the internal file 114 into the RAM 104. Subsequently, the operating system 124 may transfer all of the ELF data segments 120 from the first area of ​​the RAM 104 to the second area of ​​the RAM 104 (or alternatively, to another area of ​​the RAM) without further accessing the NVM 102. Such RAM-based data transfers may be much faster than the transfer of the same number of ELF data segments 120 from the NVM 102 to the RAM 104, because each access of the boot loader 122 to the NVM 102 may take much longer than each access of the operating system 124 to the RAM 104. In the exemplary system 100, this speed efficiency may enable faster booting than in an alternative system (not shown) in which the boot loader accesses the NVM more times.

[0027] like Figure 4As shown, computing device 400 may include flash memory 402 or other NVM, DRAM subsystem 404 or other main memory subsystem, cache memory subsystem 406, and central processing unit ("CPU") 408 or other processor or processing subsystem. Nested ELF files 410 may be stored in flash memory 402. CPU 408 may be configured to be executed by the operation of various software components, which may include a boot loader 412, a storage driver 414 (e.g., a flash drive), and an operating system 416. Flash memory 402, DRAM subsystem 404, cache memory subsystem 406, and CPU 408 may be coupled or interconnected by one or more data buses 418 or other data communication interconnects. Flash memory 402 and DRAM subsystem 404 may be NVM 102 and RAM 104 (described above). Figures 1 to 3 ) example.

[0028] The nested ELF file 410 may be similar to the external file 106 and the internal file 114 described above (in Figure 4 4, 414, and 416 may be similar to the boot loader 122, storage driver 126, and operating system 124 described above, respectively. For clarity, the aforementioned software components are described in Figure 4 408 is conceptually depicted as being configured to execute in the CPU 408 and Figures 1 to 3 104. Regardless of how they may be depicted, such software components may be stored or reside in any storage medium, as will be appreciated by one of ordinary skill in the art, and transferred to be executed among the storage medium and the processor in accordance with well-understood computing principles, e.g., in parts, on an as-needed basis, etc.

[0029] exist Figure 5 , a method 500 for loading data from a non-volatile storage medium or "NVM" in a computing device is illustrated in block diagram form. As indicated by block 502, method 500 may include reading an external file metadata portion from an external file stored on the NVM into RAM. The external file metadata portion may, for example, include an ELF file header and an ELF program header, which may be read together in one access of the NVM or in separate accesses, as indicated by blocks 504 and 506, respectively. As described above, the external file may include an external file metadata portion and an external file data portion.

[0030] The external file metadata portion may include a flag. As indicated at block 508, a determination may be made as to whether the state of the flag is true or false. A true state may indicate that the external file is nested, i.e., contains internal files, while a false state may indicate that the external file is not nested, i.e., does not contain internal files. If it is determined that the external file is not nested, the method 500 may continue at block 510.

[0031] As indicated by block 510, in the case where the external file is not nested, method 500 may include reading the external file data portion from the external file on the storage medium into RAM. The external file metadata portion (e.g., an ELF program header) may be used to determine the location of the external file data portion in the external file. In the case where the external file is not nested, reading the external file data portion may include reading multiple data segments (e.g., ELF data segments).

[0032] As indicated at block 512, in the case where the external file is nested, method 500 may include reading the external file data portion from the external file on the storage medium into the RAM. Although this operation is similar to block 510, in the case where the external file is nested, the external file data portion includes the inner file, which may be the only data segment of the external file. That is, in the case where the external file is nested, reading the external file may include reading only one data segment: the inner file.

[0033] The processor, as configured by executing a boot loader or a combination of a boot loader and other software components (such as a storage driver), may serve as a means for performing the functions described above with respect to blocks 502 through 512 .

[0034] As indicated by block 514, method 500 may include reading an internal file metadata portion from the RAM. The internal file metadata portion may, for example, include an ELF file header and an ELF program header, which may be read together in one access to the RAM or in separate accesses, as indicated by blocks 516 and 518, respectively. As described above, the internal file may include an internal file metadata portion and an internal file data portion.

[0035] As indicated by block 520, method 500 may include reading the internal file data portion from the RAM. The internal file metadata portion may be used to determine the location of the internal file data portion in the RAM. Reading the internal file data portion may include reading a plurality of data segments (e.g., ELF data segments). Reading the internal file data portion may include transferring the plurality of data segments from a first region of the RAM to a second region of the RAM.

[0036] although Figure 5Not shown in the figure, the method may further include executing one or more executable files represented by the data segments in the RAM (e.g., as part of a boot process). A processor configured as by executing a boot loader or a combination of a boot loader and other software components (such as a storage driver) may act as a component for performing the functions described above with respect to blocks 514 to 520.

[0037] Figure 6 An example of a portable computing device ("PCD") 600 is illustrated in which exemplary embodiments of systems, methods, computer-readable media, and other examples of loading data from a non-volatile storage medium in a computing device may be provided. PCD 600 may be, for example, a laptop or palmtop computer, a cellular or smartphone, a personal digital assistant, a navigation device, a smartbook, a portable game console, a satellite phone, etc. For clarity, Figure 6 Some data buses, interconnects, signals, etc. are not shown.

[0038] PCD 600 may include SoC 602. SoC 602 may include a central processing unit ("CPU") 604, a graphics processing unit ("GPU") 606, a digital signal processor ("DSP") 607, an analog signal processor 608, a modem / modem subsystem 654, or other processors. CPU 604 may include one or more CPU cores, such as a first CPU core 604A, a second CPU core 604B, and so on to an Nth CPU core 604N.

[0039] The PCD 600 may include a display controller 610 and a touch screen controller 612 coupled to the CPU 604. A touch screen display 614 external to the SoC 602 may be coupled to the display controller 610 and the touch screen controller 612. The PCD 600 may also include a video decoder 616 coupled to the CPU 604. A video amplifier 618 may be coupled to the video decoder 616 and the touch screen display 614. A video port 620 may be coupled to the video amplifier 618. A universal serial bus (“USB”) controller 622 may also be coupled to the CPU 604, and a USB port 624 may be coupled to the USB controller 622. A subscriber identity module (“SIM”) card 626 may also be coupled to the CPU 604.

[0040] One or more memories may be coupled to CPU 604. The one or more memories may include both volatile memory and non-volatile memory or NVM. Examples of volatile memory include static random access memory ("SRAM") 628 and dynamic random access memory ("DRAM") 630 and 631. Such memory may be located external to SoC 602, such as DRAM 630, or internal to SoC 602, such as DRAM 631. A DRAM controller 632 coupled to CPU 604 may control writing data to and reading data from DRAM 630 and 631.

[0041] Flash memory 629 may be coupled to CPU 604 and may be NVM 102 ( Figures 1 to 3 ) example. Although in the illustrated example the flash memory 629 is inside the SoC 602, in other examples such flash memory may be outside the SoC. DRAM 630 or 631 or SRAM 628 may be the RAM 104 ( Figures 1 to 3 ) example. Similar to cache memory 406 ( Figure 4 )'s cache memory is in Figure 6 Not shown, but could be included.

[0042] A stereo audio CODEC 634 may be coupled to the analog signal processor 608. Further, an audio amplifier 636 may be coupled to the stereo audio CODEC 634. A first stereo speaker 638 and a second stereo speaker 640 may be coupled to the audio amplifier 636, respectively. In addition, a microphone amplifier 642 may be coupled to the stereo audio CODEC 634, and a microphone 644 may be coupled to the microphone amplifier 642. A frequency modulation ("FM") radio tuner 646 may be coupled to the stereo audio CODEC 634. An FM antenna 648 may be coupled to the FM radio tuner 646. Further, a stereo headset 650 may be coupled to the stereo audio CODEC 634. Other devices that may be coupled to the CPU 604 include one or more digital (e.g., CCD or CMOS) cameras 652.

[0043] A modem or RF transceiver 654 may be coupled to the analog signal processor 608 and the CPU 604. An RF switch 656 may be coupled to the RF transceiver 654 and the RF antenna 658. In addition, a keypad 660, a mono headset 662 with a microphone, and a vibrator device 664 may be coupled to the analog signal processor 608.

[0044] SoC 602 may have one or more internal or on-chip thermal sensors 670A and may be coupled to one or more external or off-chip thermal sensors 670B. Analog-to-digital converter controller 672 may convert the voltage drop generated by thermal sensors 670A and 670B into a digital signal. Power source 674 and power management integrated circuit ("PMIC") 676 may provide power to SoC 602.

[0045] The firmware or software may be stored in any of the above memories, such as DRAM 630 or 631, SRAM 628, etc., or may be stored in local memory that is directly accessible by the processor hardware on which the software or firmware is executed. The execution of such firmware or software may control aspects of any of the above methods or configure aspects of any of the above systems. Any such memory or other non-transitory storage medium having firmware or software stored therein in a computer-readable form for execution by processor hardware may be an example of a "computer-readable medium" as that term is understood in the patent dictionary.

[0046] Specific implementation examples are described in the following numbered clauses.

[0047] 1. A method for loading data from a non-volatile storage medium in a computing device, the method comprising:

[0048] reading, by a processor, an external file metadata portion from an external file on the storage medium into a random access memory (RAM), the external file comprising the external file metadata portion and an external file data portion;

[0049] reading, by the processor, the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion;

[0050] reading, by the processor, the internal file metadata portion from the internal file in the RAM; and

[0051] The internal file data portion is read by the processor from the internal file in the RAM based on the internal file metadata portion.

[0052] 2. The method of clause 1, wherein the method is performed during booting of the computing device.

[0053] 3. A method according to clause 1 or 2, wherein reading the external file metadata portion comprises:

[0054] reading a first metadata portion of the external file indicating a location of a second metadata portion of the external file; and

[0055] The external file second metadata portion is read based on the location indicated by the external file first metadata portion, the external file second metadata portion indicating the location of the external file data portion.

[0056] 4. A method according to any one of clauses 1 to 3, wherein the file has a format comprising Executable and Linkable Format (ELF).

[0057] 5. A method according to any one of clauses 1 to 4, wherein reading the internal file data portion comprises reading data from a first area of ​​the RAM and storing the data in a second area of ​​the RAM.

[0058] 6. A method according to any one of clauses 1 to 5, wherein the external file data portion consists only of the internal file.

[0059] 7. A method according to any one of clauses 1 to 6, wherein the internal file data portion comprises a plurality of data fragments.

[0060] 8. The method according to any one of clauses 1 to 7, further comprising:

[0061] Reading a flag in metadata of the external file;

[0062] determining whether the flag has a first state indicating a nested file structure or a second state indicating a non-nested file structure;

[0063] When the flag has the first state indicating the nested file structure, reading the external file data portion includes reading the internal file; and

[0064] When the flag has the second state indicating the non-nested file structure, reading the external file data portion includes reading a plurality of data segments from the external file data portion on the storage medium into the RAM.

[0065] 9. A system for loading data in a computing device, the system comprising:

[0066] Non-volatile storage media;

[0067] Random Access Memory (RAM); and

[0068] A processor, wherein the processor is configured to load the data into the RAM, comprising the processor being configured to:

[0069] The external file metadata portion is read from the external file on the storage medium to

[0070] In the RAM, the external file includes the external file metadata part and the external file data part;

[0071] reading the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion;

[0072] reading the internal file metadata portion from the internal file in the RAM; and

[0073] The internal file data portion is read from the internal file in the RAM based on the internal file metadata portion.

[0074] 10. The system of clause 9, wherein the processor is configured to load the data into the RAM during booting of the computing device.

[0075] 11. The system of clause 9 or 10, wherein the processor being configured to load the data into the RAM comprises the processor being configured to:

[0076] reading a first metadata portion of the external file indicating a location of a second metadata portion of the external file; and

[0077] The external file second metadata portion is read based on the location indicated by the external file first metadata portion, the external file second metadata portion indicating the location of the external file data portion.

[0078] 12. A system according to any of clauses 9 to 11, wherein the file has a format comprising Executable and Linkable Format (ELF).

[0079] 13. A system according to any of clauses 9 to 12, wherein the processor being configured to read the internal file data portion comprises the processor being configured to read data from a first area of ​​the RAM and store the data in a second area of ​​the RAM.

[0080] 14. A system according to any one of clauses 9 to 13, wherein the external file data portion consists only of the internal file.

[0081] 15. The system of any one of clauses 9 to 14, wherein the internal file data portion comprises a plurality of data fragments.

[0082] 16. A system according to any of clauses 9 to 15, wherein the processor is configured to:

[0083] Reading a flag in metadata of the external file;

[0084] determining whether the flag has a first state indicating a nested file structure or a second state indicating a non-nested file structure;

[0085] When the flag has the first state indicating the nested file structure, the processor being configured to read the external file data portion includes the processor being configured to read the internal file; and

[0086] When the flag has the second state indicating the non-nested file structure, the processor is configured to read the external file data portion includes the processor being configured to read a plurality of data segments from the external file data portion on the storage medium into the RAM.

[0087] 17. A system for loading data from a non-volatile storage medium in a computing device, the system comprising:

[0088] means for reading an external file metadata portion from an external file on the storage medium into a random access memory (RAM), the external file comprising the external file metadata portion and an external file data portion;

[0089] means for reading the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion;

[0090] means for reading said internal file metadata portion from said internal file in said RAM; and

[0091] Means for reading the internal file data portion from the internal file in the RAM based on the internal file metadata portion.

[0092] 18. A system according to clause 17, wherein the component for reading the external file metadata portion, the component for reading the external file data portion, the component for reading the internal file metadata portion and the component for reading the internal file data portion are further used to operate during booting of the computing device.

[0093] 19. A system according to clause 17 or 18, wherein the means for reading the external file metadata portion comprises:

[0094] means for reading a first metadata portion of an external file indicating a location of a second metadata portion of the external file; and

[0095] Means for reading said external file second metadata portion based on said location indicated by said external file first metadata portion, said external file second metadata portion indicating a location of said external file data portion.

[0096] 20. A system according to any of clauses 17 to 19, wherein the file has a format comprising Executable and Linkable Format (ELF).

[0097] 21. The system of any of clauses 17 to 20, wherein reading the internal file data portion comprises reading data from a first region of the RAM and storing the data in a second region of the RAM.

[0098] 22. A system according to any one of clauses 17 to 21, wherein the external file data portion consists only of the internal file.

[0099] 23. The system of any one of clauses 17 to 22, wherein the internal file data portion comprises a plurality of data fragments.

[0100] 24. The system according to any one of clauses 17 to 23, further comprising:

[0101] A component for reading a flag in metadata of said external file;

[0102] means for determining whether the flag has a first state indicating a nested file structure or a second state indicating a non-nested file structure;

[0103] wherein said means for reading said external file data portion comprises means for reading said internal file when said flag has said first state indicating said nested file structure; and

[0104] Wherein the means for reading the external file data portion comprises means for reading a plurality of data segments from the external file data portion on the storage medium into the RAM when the flag has the second state indicating the non-nested file structure.

[0105] 25. A computer-readable medium for loading data from a non-volatile storage medium in a computing device, the computer-readable medium comprising a non-transitory computer-readable medium having instructions stored thereon in a computer-executable form, the instructions, when executed by a processing system of the computing device, configuring the processing system to:

[0106] reading an external file metadata portion from an external file on the storage medium into a random access memory (RAM), the external file comprising the external file metadata portion and an external file data portion;

[0107] reading the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion;

[0108] reading the internal file metadata portion from the internal file in the RAM; and

[0109] The internal file data portion is read from the internal file in the RAM based on the internal file metadata portion.

[0110] 26. A computer-readable medium according to clause 25, wherein the processing system is configured to read the external file metadata portion, read the external file data portion, read the internal file metadata portion, and read the internal file metadata portion during booting of the computing device.

[0111] 27. The computer-readable medium of clause 25 or 26, wherein the file has a format comprising Executable and Linkable Format (ELF).

[0112] 28. A computer-readable medium according to any one of clauses 25 to 27, wherein the processing system is configured to read the internal file data portion includes the processing system being configured to read data from a first area of ​​the RAM and store the data in a second area of ​​the RAM.

[0113] 29. A computer-readable medium according to any one of clauses 25 to 28, wherein the external file data portion consists only of the internal file.

[0114] 30. The computer-readable medium of any one of clauses 25 to 29, wherein the internal file data portion comprises a plurality of data fragments.

[0115] Alternative embodiments will become apparent to those of ordinary skill in the art.Thus, while selected aspects have been illustrated and described in detail, it should be understood that various substitutions and changes may be made therein.

Claims

1. A method for loading data from a non-volatile storage medium in a computing device, the method comprising: reading, by a processor, an external file metadata portion from an external file on the storage medium into a random access memory (RAM), the external file comprising the external file metadata portion and an external file data portion; reading, by the processor, the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion; reading, by the processor, the internal file metadata portion from the internal file in the RAM; as well as The internal file data portion is read by the processor from the internal file in the RAM based on the internal file metadata portion. The method of claim 1 , wherein the method is performed during booting of the computing device.

3. The method according to claim 1, wherein reading the external file metadata portion comprises: reading a first metadata portion of the external file indicating a location of a second metadata portion of the external file; as well as The external file second metadata portion is read based on the location indicated by the external file first metadata portion, the external file second metadata portion indicating the location of the external file data portion.

4. The method of claim 1, wherein the file has a format comprising Executable and Linkable Format (ELF).

5. The method of claim 1, wherein reading the internal file data portion comprises reading data from a first area of ​​the RAM and storing the data in a second area of ​​the RAM. The method according to claim 1 , wherein the external file data portion consists only of the internal file. The method of claim 1 , wherein the internal file data portion comprises a plurality of data segments.

8. The method according to claim 1, further comprising: Reading a flag in metadata of the external file; determining whether the flag has a first state indicating a nested file structure or a second state indicating a non-nested file structure; When the flag has the first state indicating the nested file structure, reading the external file data portion includes reading the internal file; as well as When the flag has the second state indicating the non-nested file structure, reading the external file data portion includes reading a plurality of data segments from the external file data portion on the storage medium into the RAM.

9. A system for loading data in a computing device, the system comprising: Non-volatile storage media; Random Access Memory (RAM); as well as A processor, wherein the processor is configured to load the data into the RAM, comprising the processor being configured to: Reading an external file metadata portion from an external file on the storage medium into the RAM, the external file comprising the external file metadata portion and an external file data portion; reading the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion; Read the internal file metadata portion from the internal file in the RAM; as well as The internal file data portion is read from the internal file in the RAM based on the internal file metadata portion.

10. The system of claim 9, wherein the processor is configured to load the data into the RAM during booting of the computing device.

11. The system of claim 9, wherein the processor being configured to load the data into the RAM comprises the processor being configured to: reading a first metadata portion of the external file indicating a location of a second metadata portion of the external file; and The external file second metadata portion is read based on the location indicated by the external file first metadata portion, the external file second metadata portion indicating the location of the external file data portion.

12. The system of claim 9, wherein the file has a format comprising Executable and Linkable Format (ELF).

13. The system of claim 9, wherein the processor being configured to read the internal file data portion comprises the processor being configured to read data from a first region of the RAM and store the data in a second region of the RAM.

14. The system according to claim 9, wherein the external file data portion consists of only the internal file.

15. The system of claim 9, wherein the internal file data portion comprises a plurality of data segments.

16. The system of claim 9, wherein the processor is configured to: Reading a flag in metadata of the external file; determining whether the flag has a first state indicating a nested file structure or a second state indicating a non-nested file structure; When the flag has the first state indicating the nested file structure, the processor being configured to read the external file data portion includes the processor being configured to read the internal file; as well as When the flag has the second state indicating the non-nested file structure, the processor is configured to read the external file data portion includes the processor being configured to read a plurality of data segments from the external file data portion on the storage medium into the RAM.

17. A system for loading data from a non-volatile storage medium in a computing device, the system comprising: means for reading an external file metadata portion from an external file on the storage medium into a random access memory (RAM), the external file comprising the external file metadata portion and an external file data portion; means for reading the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion; means for reading said internal file metadata portion from said internal file in said RAM; as well as Means for reading the internal file data portion from the internal file in the RAM based on the internal file metadata portion.

18. The system of claim 17, wherein the component for reading the external file metadata portion, the component for reading the external file data portion, the component for reading the internal file metadata portion, and the component for reading the internal file data portion are further configured to operate during booting of the computing device.

19. The system of claim 17, wherein the means for reading the external file metadata portion comprises: means for reading a first metadata portion of an external file indicating a location of a second metadata portion of the external file; as well as Means for reading said external file second metadata portion based on said location indicated by said external file first metadata portion, said external file second metadata portion indicating a location of said external file data portion.

20. The system of claim 17, wherein the file has a format comprising Executable and Linkable Format (ELF).

21. The system of claim 17, wherein reading the internal file data portion comprises reading data from a first area of ​​the RAM and storing the data in a second area of ​​the RAM.

22. The system of claim 17, wherein the external file data portion consists only of the internal file.

23. The system of claim 17, wherein the internal file data portion comprises a plurality of data segments.

24. The system of claim 17, further comprising: A component for reading a flag in metadata of said external file; means for determining whether the flag has a first state indicating a nested file structure or a second state indicating a non-nested file structure; wherein said means for reading said external file data portion comprises means for reading said internal file when said flag has said first state indicating said nested file structure; and Wherein the means for reading the external file data portion comprises means for reading a plurality of data segments from the external file data portion on the storage medium into the RAM when the flag has the second state indicating the non-nested file structure.

25. A computer-readable medium for loading data from a non-volatile storage medium in a computing device, the computer-readable medium comprising a non-transitory computer-readable medium having instructions stored thereon in a computer-executable form, the instructions, when executed by a processing system of the computing device, configuring the processing system to: reading an external file metadata portion from an external file on the storage medium into a random access memory (RAM), the external file comprising the external file metadata portion and an external file data portion; reading the external file data portion from the external file on the storage medium into the RAM based on the external file metadata portion, the external file data portion comprising an internal file, the internal file comprising an internal file metadata portion and an internal file data portion; Read the internal file metadata portion from the internal file in the RAM; as well as The internal file data portion is read from the internal file in the RAM based on the internal file metadata portion.

26. The computer-readable medium of claim 25, wherein the processing system is configured to read the external file metadata portion, read the external file data portion, read the internal file metadata portion, and read the internal file metadata portion during booting of the computing device.

27. The computer-readable medium of claim 25, wherein the file has a format comprising Executable and Linkable Format (ELF).

28. The computer-readable medium of claim 25, wherein the processing system being configured to read the internal file data portion comprises the processing system being configured to read data from a first region of the RAM and store the data in a second region of the RAM.

29. The computer-readable medium of claim 25, wherein the external file data portion consists only of the internal file.

30. The computer-readable medium of claim 25, wherein the internal file data portion comprises a plurality of data segments.

Citation Information

Patent Citations

  • Configuration processing method for multi-system file interaction

    CN111522779A

  • Distributed file system storage method and device, equipment and storage medium

    CN112306986A

  • System And Method For Booting Within A Heterogeneous Memory Environment

    US20190065752A1