TW200844850A - Portable multi-platform booting systems and architectures - Google Patents

Portable multi-platform booting systems and architectures Download PDF

Info

Publication number
TW200844850A
TW200844850A TW96151677A TW96151677A TW200844850A TW 200844850 A TW200844850 A TW 200844850A TW 96151677 A TW96151677 A TW 96151677A TW 96151677 A TW96151677 A TW 96151677A TW 200844850 A TW200844850 A TW 200844850A
Authority
TW
Taiwan
Prior art keywords
system
memory
architecture
table
plurality
Prior art date
Application number
TW96151677A
Other languages
Chinese (zh)
Other versions
TWI441077B (en
Inventor
Paul Mcavoy
Original Assignee
Sandisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US11/618,870 priority Critical patent/US20080162916A1/en
Priority to US11/618,872 priority patent/US7925875B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200844850A publication Critical patent/TW200844850A/en
Application granted granted Critical
Publication of TWI441077B publication Critical patent/TWI441077B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable

Abstract

Methods, systems, and architectures for multiplatform booting from a portable module with nonvolatile memory. Preferably the portable module carries the correct binaries for booting multiple system architectures, together with a table from which the host, at power-up, can calculate the correct offset to load the appropriate binary.

Description

200844850 IX. Description of the Invention: [Technical Field of the Invention] The present application relates generally to the field of computer systems and, more particularly, to systems and methods for multi-architecture self-starting of self-removable storage devices. [Prior Art] In order to serve as a medium between the application and the underlying hardware, several layers of the software and the early blade structure are used. When electrical energy is initially applied to the computer, the various hardware components (the cymbals and subsystems) will each return their own internal program (reset procedure) to a stable and known state. However, at some point (if the hard system is complete), these resets will have ended, and at this point, the CPU performs various important management tasks. These management overhead tasks include, for example, investigating system groups, performing sanity checks on system hardware, and allowing users to branch to the NVRAM configuration program under software control. This phase of operation is often referred to as n P 0 S T". After POST, 'automatically start' self-start, (or, start. Program to allow the CPU to start executing other software. The startup program uses the data from the master boot record in the Pc build, the master boot record is usually stored in the drive In section 1 (5 12-bit group area), the boot file is located in the drive. When executed, the master boot record loads the initial system file from the disc into the memory. All operating system broadcasts are loaded. After that, the self-starter starts the operating system. The self-starting program causes the cpu to start executing the main operating system software. Depending on how the system is set, the booting software can direct the program execution to ViSta, 〇S/X, Unix or another. In the operating system. This is usually automatic 128138.doc 200844850 and is pre-existing, but in some systems, this user can manually select it. At this point, the self-starting program ends. The operating system then executes it. Any initialization steps of the configuration, and finally the user can use the computer to launch any application desired. The above description is about the computer field, But many low-power portable electronic systems present similar problems. As systems become more prevalent and more versatile, their wood structures have a tendency to know more. (For very low power consumption and custom I/O Demand is prone to discrepancies.) Many of these devices have processor and/or memory specifications comparable to personal computers about a decade ago. And more devices. These portable electronic products are designed. Many of them are designed around a major application, while adding other features. For example, 'depending on the product (or company) is based on the phone or PDA (personal, assistant), PDA phone design can be Show - some design differences. The combination of ten-month-old power and battery energy is the same function (f job ^〇nai

Ο II nVerg: nee) is a powerful force, but many portable electronics market segments still show signs of a more specific origin. Various complex portable electronic product functions include game consoles, telephones, loggers, PDAs, playback stations, camera and position sensing, heart monitors, mixing of such devices: and (iv) security monitoring such as image understanding At the same time, face recognition is soft, so even if the possibility of convergence increases, C-likeness will continue at least in the near future. ^ Many developments in the intersection of electronic products. Music, video and games are frequently pirated, and the difference between the unit price paid by the copyright holder and the second-place 彳Bai Li is the weight of development. 128138.doc 200844850 Negative. Therefore, every effort has been made to study non-volatile memory modules that cannot be destroyed. Advanced memory modules, such as those sold by SanDisk, typically contain a processor that performs an encryption algorithm that is not perceptible to the host, so that protected content is not directly accessible. - More advanced security can be provided by the controlled software environment in the host. This is not easily achieved by a program in a non-volatile memory module, but this can be achieved when the system is booted from a non-volatile memory module. In this case, the launcher can limit the loading of non-standard operating system components and/or load monitoring processes other than the standard operating system components. An original personal computer was booted from a removable disk (floppy), but it has also been tried to allow booting from a non-volatile memory module. See U.S. Application Serial No. 7/901,645, incorporated herein by reference. Multi-platform startup is even more difficult. The self-starter must know which files must be loaded into the memory before starting the operating system, and usually must also understand the file ordering and memory location constraints. This varies widely depending on the operating system and the hardware environment. For example, since 2 years, SD cards have been plugged into many systems, but a significant portion of their systems will not execute IA32 instructions. The ARM system and the pQ gift (10) system are only widely used = alternative architecture, which is incompatible with IA32. Unless the phase is provided for their platform: it is a 7-digit file, otherwise it cannot be self-started on these systems. It is incorporated in this article by reference. The description of Wu Guo patent brother 5,291,585 A personal computer with a gossip (10) extension. These & -, +, 14 This temple BIOS extension is based on a self-description

The feature table is given to the emperor, and the main I' and ^ tables are also stored in the BIOS extension. 128138.doc 200844850 SUMMARY OF THE INVENTION The present application discloses a new method for multi-platform booting of a heart-shaped storage module. The portable module carries a table r# or /, his data structure), which redirects various architectures and operating systems to different locations within the pushable t-module to access the appropriate binary file for booting . In order to achieve full boot compatibility, the system's boot code is better known to look at the module's table and properly enter the field. However, even if not in all architectures

Achieved = full start compatibility, the disclosed embodiments may also help prevent startup non-phases, i.e., due to mis-starting files or other undesirable outcomes. In various embodiments, the innovations disclosed provide at least one or more of the following advantages: • Multi-applications can be based on portable data modules. The cross-platform relationship will open up many new markets for porting the desired functionality to any platform the user wants. • Γ Ensure that the higher-level amps of portable data modules that are compatible with many platforms include complex electronic systems that are not configured as personal computers. A particular advantage of the embodiment using the SD card is that the sd card specification is defined by the slot structure of the disk, so that the pc can be easily reached by adding the mbr (master boot record) element to the existing organization of the SD card. Bootable module. The other point is the backward compatibility with the existing pc architecture, while allowing many new applications for the new wood. This is especially useful for users who expect their activities to be shuttled between the portable and the computer. Storage: Another advantage of the invention of τ is that the action system or the essence of the storage device, such as Lei Cry, Shih, ..., + people [embodiment] (4), is easy and safe to update. The invention will be described with particular reference to the presently preferred embodiment. (By way, by way of example, and not limitation, the example embodiment, the removable non-volatile memory includes:

^ η stored in the extractable non-volatile memory, one of the predefined L-positions, such that the table identifies a plurality of memory locations in the non-volatile memory; and a plurality of self-starting codes, the plurality of self The boot code is stored in a complex brain architecture of the complex (four) memory location towel associated with the table. The predefined memory location is known as a basic input/output system (Bi〇s) connected to the computer system of the removable non-volatile memory, and the table includes a plurality of identifiers, each identification The token is unique to the plurality of computer architectures and the associated plurality of memory locations. The identifiers may be indexed and the number of self-starting codes may include two or more of the following architectural types: IA32, Alpha, Ann, CHs, IAM, M64k, Mips, Mips64, parisc, Ppc, Ppc64 , S39〇, S390x, Sh, Sh64, Sparc, and/or Sparc64. The predefined memory location can be a first logical block address (LBA), and the predefined memory location can be a master boot record according to a computer system coupled to the removable non-volatile memory The location where the schema type should be. The master boot record can be located in one of the plurality of memory locations 128138.doc 200844850 in the removable non-volatile memory. According to another embodiment, a method performed on a computer system includes performing a basic input/output system (BI0S) to locate a non-volatile memory coupled to the =-deleted-predefined memory The pre-defined memory location has a table identifying a plurality of memory locations in the removable non-volatile memory, and a plurality of self-starting code systems for the plurality of computer architectures are stored in the removable In non-volatile memory. Executing the BIOS to determine from the table a location of the self-boot code associated with an identifier associated with the architecture type of the computer system, and executing the 8 to load the self-boot code to the computer The self-start code is executed in the system. The table preferably includes a plurality of identifiers each unique to the plurality of computer architectures and associated plurality of memory locations, and the identifiers are indexable. This can be executed (4) to copy the table to the computer, "first and search m" at the same time # removable non-volatile memory can be a memory card, - compact flash card, a hard disk drive or a CD As mentioned above, the plurality of self-starting codes may include two or more of the following architectural types: IA32, Alpha, Arm, Cris, IA64, M64k, Mips,

Mips64, Parisc, Ppe, ppc64, S39〇, s39()x, office,

Sh64, Sp (four) and / or Spare64. The predefined memory location can be a first logical block address (LBA), and the predefined memory location can be the location at which the primary boot record should be based on the architecture type of the computer system. The master boot record can be located in one of the plurality of memory locations in the removable non-volatile memory. 128138.doc 200844850 According to another embodiment, the computer system comprises: (ROM) having a US-only item 丨 丨 体 body code stored in i, which makes the 玛 知晓 know an ECG; ^ input / output system (_) The identifier of the joint and know the computer year in the removable storage device with a plurality of memory locations associated with one of the architectural types of the system...^ The memory location is used for a plurality of wood structures: hard A number of self-starting code systems are stored in the set. The interface is connected to the one and the processor is lightly stored: the processor executes the bi〇s code to (4) the removable storage device, and if: the body J is set to 1::: the device is located, the processor locates the The predefined memory table determines a location of the self-start code associated with the identifier, loads the self-start code into the computer system, and executes the self-start code. The table includes a plurality of identifiers each unique to the plurality of computer architectures and associated plurality of memory locations, wherein the ambiguous characters can be indices. The processor can execute a fine (10) code to make the money: the computer system and search for the watch' and the removable storage device can be a memory card, a compact flash card, a hard disk drive or a compact disc. As mentioned above, the plurality of self-starting codes may include two or more of the following architectural types: ΙΑ32, Alpha, Arm, Cris, IA64, M64k, Mips

Mips64, Parisc, Ppc, Ppc64, S39〇, 839〇χ,

Sh64, Sparc and/or Sparc64. The predefined memory location can be a first logical block address (LBA) and the predetermined memory location can be a primary boot. It has been recorded according to the type of s-type architecture of the system. The master activation record can be located in one of the plurality of memory locations 128138.doc • 11 - 200844850 in the removable storage device. In a further embodiment, a removable non-volatile memory includes: a table stored in one of the pre-defined memory locations in the removable non-volatile memory cartridge, the table identifying the non-volatile A plurality of memory locations in the memory; and a plurality of applications associated with a plurality of computer architectures stored in a plurality of memory locations associated with the table.

The predefined memory location is (iv) known to the computer system of the removable non-volatile memory, and the table includes a plurality of identifiers, each of which is associated with the complex number associated with the a isoelectric μ architecture type Applications are only -. The material identifier can be an index. As described above, the plurality of applications may include two or more of the following architectural types: ια32, •a, Arm, (5), ΙΑ64, M64k, Mips, Mips64, Padsc, Ppc, Ppc64, S39〇, S39〇 x, place, place 64, sp(10),

Sparc64, Palm, Wind〇ws CE and/or (d) Jane. These applications are: music playback applications for various types of computer architectures, where the mother of the cop is sufficient to execute the data files stored on the removable non-volatile memory. For example, the data files are music files in accordance with the present invention - the system and method enable the removable storage table to provide an appropriate or compatible master boot record and self-start program, self-starting Various computer systems of various architectural types. Circle 1 is a diagram of the hardware and operating environment, and the embodiment of the invention can be practiced in conjunction with the S-hard hardware and operating environment. The description of ® 1 is used to provide a general description of a suitable computer hardware and a suitable computing environment, and the present invention can be implemented in conjunction with the brain and hardware environment of the computer 128138.doc -12-200844850. The computer system 10 and the removable storage device 35 embody the principles of the present invention, wherein the removable storage device 35 provides a particular architecture type for the computer system 10 (eg, IA32, Int_Architecture) and for various other types of computers The appropriate self-starting code for the architecture (such as Am®, Field 8 and Sp (4) 8, to name a few). In accordance with the principles of the present invention, the removable storage device 35 can be removed from the computer system 1 操作 and operatively coupled to other systems having different architectures. The removable storage device 35 can be provided for different types. Compatible master boot record and self-starter for computer architecture. A master start δ record includes a self-start code, which is one of the start-operating system cores to launch the loader or a program. And than the inflammation - 丄. Fly "white" is a program that loads a working system into the system memory when executed by a processor. The instance startup loader is

Grand Unified Boot Loader (GRUB) , 3⁄4 ^ ^ H (System

Commander). The master boot record and the self-starter are treated as boot codes. The exemplary hardware and operating environment of FIG. 1 for implementing the present invention includes a programmable device in the form of a computer system, including a processor 15, a system, a first ZL body 25, and a system bus 3Q. The system bus 3g operatively couples the various system components including the first cadence 25 to the processor 15. There may be only one processor 15 or possibly more than one processor 15' such that the processor of computer system 10 includes a single central processing unit (U) or a plurality of processing units (commonly referred to as parallel processing environments). Computer system 10 can be a conventional computer or any other type of computer; the invention is not so limited. 128138.doc -13- 200844850 The system bus 30 can be any of a number of bus structure types including a memory bus or memory controller, a peripheral bus, and a plurality of confluences. A regional bus for any of the architectures. The system memory 25 can also be referred to simply as a memory, and includes a read-only memory (RAM) 45 random access memory (RAM) 45. - The Basic Input/Output System (BIOS) program 5 is stored in R〇M 4() and contains code containing basic programs or programs that help such as in the computer system during startup. Information is transferred between the components within, as discussed in detail below. The computer system 1 further includes a hard disk drive and a drive 65 such as a CD R〇M or other optical medium. The hard disk drive 55 and the optical disk drive 65 are respectively connected to the system bus 3G by means of a hard disk drive interface and an optical disk drive interface. The drive devices and their associated media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for computer system 1(). It should be recognized that ^ any type of computer readable medium (such as a magnetic tape cartridge, a flash memory card, a digital video disc, a random access memory (RAM), a serial memory) that stores data accessible by a computer ( R〇M) and the like) can be used in an exemplary operating environment. A plurality of program modules can be stored on the hard disk drive 55, the optical drive 65, the job 40 or the RAM 45, including the operating system 7q, or a plurality of application programs 75, other program modules 80, and program data 85. In an exemplary implementation of the present invention, the removable storage device 35 is a hard disk that conforms to a logical block addressing (LBA) partitioning scheme for a PC computer. In accordance with an embodiment of the present invention, a table 45 is included in the section at offset (0x3E) of the removable storage device 35, and 128138.doc • 14 - 200844850 -y of the master boot record is included in other blocks. In the position, where y is a large number. The table μ identifies various memory locations within the removable storage device 35, and is associated with various types of computer architectures (eg, IA32, Alpha8, external (10) 8, to name a few). The various master boot records 6n6〇_y are located at these locations. As mentioned above, in this particular embodiment of the invention, the architecture type of the computer system is the Intel® Platform_Wind〇ws8 operating system. In order to self-start the computer system 1 by the removable storage device 35, at least one master boot record stored in the removable storage device 35 is "compatible with the Wlnd〇ws® architecture. The remaining master boot records are compatible with the type of computer architecture that the removable storage device 35 is intended to support. Set I2 exhibition ^ - Receipt extraction type financial device 35 (four) various memory levels 歹 1 not • • Health Table 45, records compatible with various computer architecture types are located at these locations. All other BIQS programs stored in the computer system are compatible with Table 45 and are stored in the interface that is intended to be interfaced with the removable storage device 35. In the present invention, the 'exemplary table 45' has a two-block' identifier column plus a _ =. :: Symbol _ number. :=1~2°5·χ)' where x is - more than 1 of the wheat set 35 can be two, X is equal to 17 'because there are 17 kinds of different structures that can be extracted and stored, and the identifier column 205 in the representation of only Tian: cited and by Cheng. The 8-bit group entry entry group architecture is assigned an identification computer system architecture class. This identifier is stored, equipped or "burned" to the ROM of each computer system that is intended to establish an interface with a removable storage device designed in accordance with the present invention. The identifier can be used in the presence of the identifier. The BIOS operation of the computer system. This identifier is also used to identify the type of architecture of its computer system.

C Ο In this embodiment of the present description, an exemplary identifier "8686," is assigned to the Intel®-Windows8 architecture. Identifier, 8686, jing,, burn" to r〇m 4〇 Become part of BI0S. It should be recognized that all other computer systems with imei@_ Windows positive architecture will have, burn, and the same identifier "8686" in the ROM of the fine system. Of course, one has a different architectural type. A computer system (such as Alpha®) will have a "burning" to a different identifier in the ROM of the computer system, such as "2218". As mentioned above, the identifier represents a particular type of computer architecture or platform. Therefore, the type of architecture of the computer system can be determined by reading the identifier. Each identifier is also associated with the corresponding input item in the column of the table in Table 45. The table (45) includes a framework block 21 which lists the memory locations of the master boot records of the various computer architectures supported by the removable storage device 35 (abbreviated as -. As mentioned above, χ is equal to 17. It will be appreciated that although there is one identifier for each of the n different architectures, the removable storage device 35 does not have to store or make 17 master boot records available. Table 45 is private—identification assigned to the Arm® architecture Symbol "7999", but may wish to extract or develop strong _ ', the storage device 35 will not discuss the compatibility of the main boot record.) Named 5 own honest space, which will be more detailed later 128138. Doc -16- 200844850 The memory location entries 210_1 through 21〇_17 in the architecture column are block addresses indicating the locations of the master boot records of various architecture types recorded in the removable storage device. Each of the _ input items is 6 bytes, and the first four bytes specify a logical block address (lba) offset. The LBA offset indicates that the main startup record of the specific architecture resides in the extractable Where is the storage device 35. The remaining 2 bits The group specifies the length of the binary data as the number of LBA segments. The removable storage device uses this logic.

A block address scheme, wherein the scheme includes translating a logical block address location into a physical block address location on the removable storage device. In summary, the identifier (table * is win n17) is associated with the memory location (represented as 2ι〇_丨 to H7) in which the master boot record and the self-start program are stored. Therefore, if an identifier of a particular type of computer architecture is known, then table 45 can be used to store the removable storage device as it is compatible or the corresponding master boot record and self-starter (eg, the initiator). As mentioned herein, although there is an identifier for each of the 17 different architectures in Table 45, the removable storage device 35 does not have to store or make 17 master boot records available. In the case where it is not desired to include the master start record of the m(d) architecture, the line or τ value is used to specify the -empty entry in the architecture shed 2' which corresponds to the identifier of the unsupported architecture type. For example, if it is desired that the removable storage device 35 does not support (5) the organization, its identifier, 7853" should be associated with the null value or %, value of the structure column 21, instead of - (4) In addition to the location correlation, the removable storage device 35 will be stored in a compatible master boot record for the Cris8 architecture, thus saving 128138.doc 200844850 province Z. thinking space. See Table 45, criS(g) Jia Shirong The ms® architecture memory location (denoted 210-3) may have a "0000" input. The first entry in the table 45 is an index ff 〇" (denoted as 220) having a corresponding value X86 HLT (0xF4) (represented as

215). The x86 HLT (0xF4) is the IU; the code is a shutdown command that prevents the old Intel® architecture from erroneously executing any of the active start records in the removable storage 35.

3 shows a flow chart of a method performed by the computer system removable storage device 35 in accordance with an exemplary embodiment. When the computer system is turned on, the processor 15 turns to one of the memory locations in the R〇M 40 and begins executing the BIOS right 50 (block 305). As with any Intei8_Wind〇ws8 architecture, the BIOS program 50 performs a boot self test (p〇sT) and searches for a master boot. The BIOS program 50 is aware of devices that are connected to the computer system 1 and are part of the computer system 10, such as the optical disk drive 65, the hard disk drive 55, and the universal serial bus bar that is operatively coupled to the interface 90. Therefore, the 'BI〇s program 5' can interact with and detect such devices. For example, the BI〇s program 5〇 interacts with the removable storage device 35 and detects the removable storage device 35. In the prior art system, the driver BIOS program in which the master boot record is identified is located in a section ι (a 512-bit region), lba#o (the master boot record is stored therein), and an offset of a device. 〇χ3Ε (448 byte area) (self-starting code is stored here). The BIOS program copies the master boot record to RAM and passes control to the master boot record. The master boot record controls its computer system and loads the code until it is no longer needed. In accordance with an embodiment of the present invention, Table 45, rather than the master boot record, is stored in section 1 of removable storage device 35. The master boot record and self-start code 128138.doc -18- 200844850 are relocated according to Table 45 to one of the memory locations 60-1 to 60-y in the extractable u35, where y is equal to stored in extractable The number of master boot records in the storage device 35. Moreover, according to an embodiment of the present invention, the master boot record and the self-start code are stored in the middle of the other master boot record and the self-start code, and each of the master boot record and the self-start code can be associated with a different computer system architecture. Type compatible. See Figure 2 for 匕(6)8―

The memory location of the Windows® architecture master boot record and self-start code is XXX (expressed as 210-4). Therefore, the BIOS program 50 reads the table 45 located in the segment 1 and uses the identifier in the ROM 40 to find the location of the master boot record and the self-start code compatible with the architecture of the computer system. The BI〇s program 5 is configured to select information and implementation options from Table 45. Alternatively, the information and options in Table 45 can be selected and implemented via a program stored in ROM 40 that operates in conjunction with BIOS 50. Referring again to Figure 3, processor 15 continues with BIOS program 50, which identifies removable storage device 35 and accesses table 45 located at a predefined memory location (block 310). In this example, the predefined memory The body position is section 1 (a 512-bit area) of the removable storage device 35 and, more specifically, offset 0x3E (- 448 byte area). Know the identifier of the computer system 1 'BIOS The program 50 locates the identifier "8686, (denoted as 205-4) in the table 45 (block 3 15). As mentioned above, according to the present embodiment of the invention, the identifier acts as an index. The BIOS program 50 looks for its specific location in Table 45' without having to Repeatedly through the table. As mentioned above, in this example the 'computer system 10 is based on the assigned "8686," the identifier of Intel®-128138.doc -19- 200844850

Windows® architecture. The 'BIOS program 50 then reads the memory location entry associated with the identifier "8686, in the architecture column 210" (block 32A). In this example, the architecture barrier 21 is associated with the identifier "8686". The entry is χχχχ (expressed as 210-4) 'which specifies the memory location at which the compatible master boot record is located in the removable storage device. After the LBA scheme, the removable storage device 35 places the logical block The address is translated into a physical block address, and the physical block address is displayed on the media. The Biqs program 5 accesses the memory location of the LB A offset xxx and Copy the master boot record to RAM 45 (block 325). The computer system 1 executes the master boot record and passes control to the master boot record (block 33〇). The master boot record controls the computer system W and loads the code. Until it is no longer needed, the process includes loading the operating system of the computer system from the hard disk drive 55 into the RAM 45. As mentioned above, the removable storage device 35 can be coupled to the computer system 1 in accordance with an embodiment of the present invention. 〇 disconnected, operatively connected A second computer system having a different architecture and self-initiating the second computer system. For example, FIG. 4 shows a general illustrative block diagram of the removable storage device 35 in accordance with the above method and system. In a first exemplary embodiment The removable storage device 35 is operatively coupled to the computer system 41G including the 匕8 architecture. When the computer system 41G is turned on, the 纟BIOS program accesses its identifier in Table 45. According to Table 45 The BIOS program determines the location of its master boot record 430, copies the master boot record and stores it in RAM in computer system 410, which is executed in RAM. In a second exemplary embodiment, extractable The storage device is operated 128138.doc -20 - 200844850 to the computer system 42 including the Alpha8 architecture. When the computer system 420 is turned on, its BIOS program accesses its identifier in Table 45. 45' The BIOS program determines the location of its master boot record 440, copies the master boot record, and stores it in RAM in computer system 420, which is executed in RAM. The principles of the invention, it will be appreciated that those skilled in the art will be able to devise various embodiments of the present invention, and thus are within the spirit and scope of the invention. For example, based on the above disclosure, it is apparent that The removable storage I can be a memory (such as an SD memory card, a compact flash card, a multimedia card or other removable card or memory device) and can easily adapt to the principles of the present invention. The principles of the present invention can be readily adapted to a table loaded into the computer system 1〇2 RAM 45. In this exemplary embodiment of the invention, the BIOS program location in the ROM 40 is stored in the removable storage device 35. Table 45 in and load Table 45 into RAM 45. The BIOS program repeatedly uses the table to search for an identifier that matches the identifier stored in r〇m 4〇. As in the above exemplary embodiment, the identifiers represent various types of computer architectures. However, in this example, the identifiers only recognize different types of architectures and do not serve as indexes. For this reason, the 8 program must repeatedly search through Table 45 for the appropriate identifier, rather than the appropriate identifier in the specific steering table (as in the case where the identifier acts as an index). The identifier is located in Table 45. Thereafter, the b TOS 、 、 ^ mus mus mn% reads the memory location associated with the identifier and accesses the appropriate master boot record located in the removable storage device h 128138.doc -21 - 200844850. The 〇s program copies the master boot record from the removable storage device 35 and loads the record into the RAM 45, and the processor ^ executes the master boot record in the read 45. πΓΛAtoms In this embodiment, the table column is not There is an empty input value or a value) because the identifier in this embodiment does not act as an index. The table is only stored in the extractable dreams.

Kt ^ U set 35 has the knowledge of the main start record :: and causes no empty input in the 4 table and produces - a smaller table. For example, if you do not want to use the removable storage device 35 for an A-architecture, there is not only an Arm6 compatible master boot record stored in the removable storage, and the Memory location. Of course, because the identifier is not charged: two: identification identifier. The system of paying for the correct structure is another example: in the embodiment, a computer system is being executed and - in the embodiment, a plurality of applications are removable storage devices ( For example, a 8 〇 card music playing application, for example, a 3 Λ m flying system is stored in the removable storage device, and a different wavelet is placed, and the female device is operatively connected to the computer system. The second removable memory device, which is aware of the identifier of the removable storage & system and the automatic execution program positioning of the computer and the memory of the program in the identification storage device _ music playback should be Α | 退, the automatic 刼 a < , the music player application manned to the computer system will be compatible with the computer system to play in the removable storage; program The content of the clothes can be placed 128138.doc -22- 200844850 (capital: standard file, music file). The example computer system architecture is p-8,

Windows CE® and Wind〇w_. Furthermore, the system is disclosed in terms of various functions being performed by discrete functional blocks. However, any one or more of these functions may equally be embodied in a configuration in which the functionality of any of the plurality of blocks is handled by - or a plurality of appropriately programmed Installed in a software program stored in various media or has a function in the knife. In addition to the knowledge of the skilled person, it should be understood that the present invention can be practiced in conjunction with the configuration of the system, including palm-sized devices, multi-processing island systems, microprocessor-based or programmable consumer models. Electronic products, road PCs, mini computers, mainframe computers and the like. Finally, the present invention can also be included in the computer program storage medium (e.g., CD-ROM, hard disk, orchestration), which contains (4) (four) line methods. machine

In accordance with various embodiments disclosed, the present invention includes: at least one control processor' and a portable data module operatively coupled for access by the control processor; the portable The data module contains activation codes for at least two mutually incompatible architectures; the portable data module also contains - indicating which of the incompatible architectures are required for which of the startup codes The structure; whereby the control processor can view the data structure at startup and continue the boot process using any of the boot code required for the architecture of the control processor. According to various embodiments disclosed, an electronic system is provided, which includes: 128138.doc -23- 200844850 at least one control processor; a portable data module, which can be temporarily accessed by the control processor; The portable data module is used for the activation code of at least two mutually incompatible architectures, and also includes a data structure of which of the activation codes are required by the architecture; and the phase of the control The sequence is executed at power-on, where the == processor uses the data structure to use the start-up process. t continue any activation code and continue the activation

C. The various embodiments disclosed are provided as a computer system comprising: only 5 megabytes of memory (ROM), a basin and a right continuation/..., with a basic input/output stored therein 糸a code that is associated with one of the computer systems and that knows that one has a recognition and a removable type, and uses V: to set a table of a number of δ hexamed positions. Defining a memory location for a plurality of self-removable storage devices of a plurality of computer architectures; - transferring to the interface of the ROM; and - lightly connecting to: a processor of the interface, the processor executing the code To detect the extractable 1/device' and if the removable storage is detected, the processing determines the location of the memory, and determines the self associated with the identifier from the table. One location of the boot code, the self-start code is loaded into the computer system and the self-start code is executed. According to various embodiments disclosed, a removable non-volatile memory is provided which includes a table stored in an I-memory memory location in the removable non-volatile memory. The table identifies a plurality of memory locations in the non-volatile memory; and a plurality of applications that are associated with the plurality of memory locations in the plurality of memory locations associated with storing 128138.doc -24-200844850 == Various embodiments of the disclosure are provided - for operation - to program the architecture class: and m: ra) at startup, 'depending on the system's self-portable data module in a data structure At 2 addresses, the startup file is retrieved for execution. The data structure indicates the use of the (4) start and the different locations of the case; Ab) use the startup files to automatically start the operation. / In accordance with various embodiments disclosed, a method for operating a programmable two S/ir # includes the following actions: powering up the system, using - an initial sequence of instructions stored in the host system; and at the initial Under the control of the instruction sequence, depending on the type of architecture of the system, some of the multiple startup files are loaded from one of the data modules in the portable data module. Start the file without loading other files. The data structure specifies different locations for different startup files. And use the startup files to automatically start the system for the job. In accordance with various embodiments disclosed, a method of performing - performing on a system - includes: performing - a basic input/output system (bi〇s) to locate - a pre-defined memory in a removable non-volatile memory a physical location, the predefined memory location has a table identifying a plurality of memory locations in the removable non-volatile note, and a plurality of self-starting code sequences for the plurality of computer architectures are stored in the extractable In the non-volatile memory; executing the BIOS to determine a location of the self-start code from the table associated with an identifier associated with the architecture type of the computer system 128138.doc -25- 200844850 The 8 then carries the self-start code to the computer system and self-starts the code. In accordance with various embodiments disclosed, methods, systems, and architectures for multi-platform booting of portable modules with non-volatile memory are provided. Comparison: The portable module carries the correct binary number for starting multiple system architectures, and the table, the host can calculate the correct offset according to the table to load the appropriate binary number when the power is turned on. Modifications and changes

As will be appreciated by those skilled in the art, the innovative concepts described in this application can be modified and varied within a wide range of applications and, therefore, the scope of patents is not specifically illustrated. Any of the teachings is limited. It is intended to cover all such alternatives, modifications and variations in the scope of the appended claims. The system that boots from the portable module does not have to be a computer in a strict sense, but can be a game console, a PDA, or other complex system capable of executing programs. The portable module does not have to be an Ms memory unit, but can conform to a large number of physical and electronic device specifications for removable memory: "the person" includes specifications that do not yet exist. _ The various methods mentioned above (4) and the hardware architecture are only examples - the inventions disclosed may be applied to a wide range of situations, including situations that may arise in the future. As is well known to those skilled in the art, the format and coding of the tables need not be as described in the prior embodiments, but of course there may be major variations. The location also does not have to be the table location as described in the previous embodiment. In an alternative embodiment of 128138.doc -26-200844850, in addition to or in lieu of the above-described table position, a different version of the table is included in a different location. At the office. It is also possible to manually assist in the activation of the self-portable module. For example. A compact 7L allows a user interaction to set a state that forces the loader program to allow launching from a location specified in the data sheet in an attached portable module, although the normal boot sequence will not Branch to the portable module. The description of this application is not intended to imply that any particular element, step, or function is required to be included in the scope of the patent application. The scope of the patent is defined only by the scope of the patent application. Moreover, unless the exact word '' is used for the means for, the following is the participle', otherwise none of the requests are intended to invoke 35 use paragraph 112. The scope of the patent application filed is intended to be as detailed as possible, and the unmarked is intentionally sold, donated or abandoned. [Simple diagram of the diagram] Figure 1 is a block diagram of the computer system. Figure 2 shows an example of a table for identifying the location of a memory for a master boot record of a different type of architecture. Figure 3 is a flow diagram illustrating the process for self-starting a computer system from a removable device capable of self-starting a computer system having a different architecture. Figure 4 shows a general exemplary block diagram of a removable storage device including a sample embodiment. 128138.doc -27- 200844850 [Explanation of main component symbols] 10 15 25 30 35 40 45 50 55

Computer system processor system memory system bus memory removable memory device read only memory (ROM) random access memory (RAM) / table basic input / output system (BIOS) program hard disk drive

65 CD player 70 Operating system 75 Application program 80 Program module 85 Program data 90 Interface 205 Identification field 210 Architecture bar 410 Computer system 420 Computer system 430 Master startup record 440 Master startup record 128138.doc -28-

Claims (1)

  1. 200844850 X. Patent application scope: An electronic system, comprising: at least one control processor; and - a portable data module, the processor access; /,,,, and the second connection can be controlled by the control The portable data module startup code; the group contains σHH portable data modules for at least two mutually incompatible architectures also includes one-required such startup...: some compatible _ hunting this control processing The sigma can be used to view the data structure at startup and use the beta #startup code for the control _ to continue the boot process. < Build the required ones to follow 2. 3. 4. 5. As in the second system of claim 1, where the control processor is a computer coffee. The system of the monthly long item 1 wherein the portable data module has four startup codes of mutually incompatible architectures. There is a system for requesting item 1, wherein the data structure is a table. The system of claim 1, wherein the portable data module also includes a hunting engine, and also includes a system for accessing only the memory space of the encryption engine via the encryption engine, wherein The module contains startup files for the ARM architecture and the ppc architecture for use in addition to one of the desktop architectures. 7. A system as claimed, wherein the data structure is stored at a predetermined location in the module. 8. The system of claim 1, wherein the system comprises telephone functionality. 128138.doc 200844850 9. An electronic system, comprising: at least one control processor, a portable data module, wherein the control processor accesses a temporary connection and thus can be temporarily taken by the portable data The module includes two start codes of at least two mutually incompatible architectures, and also includes a structure; wherein no architecture needs which of the start codes to execute an initial instruction sequence, and the control processor when the power is turned on The second instruction sequence 'allows the control processor to use the architecture: the startup process is continued by using any of the boot code for the control processor. The system of item 9, wherein the control processor is a computer cpu. • The system of the female unfinished 9 system, which is less than @^5 /, and the A-Hao portable-carrying module contains the activation code for the four mutually incompatible architectures. For example, the system of claim 9, wherein the data structure is a table. C 2;;: System of item 9 'The portable data module also contains one plus two. And also includes a memory space that can only be accessed via the encryption engine. 14. If the request is jg^, the system includes an ARM architecture and a PPC architecture for one of the desktop computers. Start file. The system of Yuedong 9 wherein the material structure is stored at a predetermined position in the module. The system 'where the control processor is a - microcontroller. The system of claim 9, wherein the system includes telephone functionality. 128138.doc 200844850 18. A computer system comprising: - a read only memory (ROM) having a basic input/output system (S) code in which _ is stored, wherein the BI 〇 s code knows The electrical touch, the identifier associated with the architectural type, is known to have a predefined memory location identifying a table of memory locations within the removable storage device for a plurality of computer architectures The self-starting code is stored in the removable storage device; a light is connected to the interface of the ROM; and a processor coupled to the interface, the processor executes the m〇s code to p, 4 a removable storage device, and if the removable storage device is detected, the processor locates the predefined memory location, and determines a location of the self-activation code associated with the identifier from the table, The self-starting code is loaded into the computer system and the self-starting code is executed. The system of π, 求, 18, wherein the table includes a plurality of identifiers, each identifier being unique to the plurality of computer architectures and associated plurality of memory locations. 20. The system of claim 18, wherein the identifiers are indices. 21. The system of claim 18, wherein the processor executes the BIOS code to copy the table to the computer system and search for the table. 22. The system of claim 18, wherein the removable storage device is an SD record, a snap φ flash memory card, a hard disk drive or a compact disc. 23. The system of claim 18, wherein the plurality of self-starting codes comprise two or more of the following four types: Aipha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, 128138.doc
    200844850 Ppc64, S390, S390x, Sh, Sh64, Sparc, and/or Sparc64 〇 24. The system of claim 18, wherein the predefined memory location is a first logical block address (LBA). 25. The system of claim 18, wherein the predetermined memory location is a master boot. The location that should be based on the type of architecture of the computer system has been recorded. The system of claim 25, wherein the master boot record is located in one of the plurality of memory locations within the removable storage device. 2 7. An extractable non-volatile memory comprising: a table stored in one of the extractable non-volatile memories in a pre-existing Z fe position, the table identifying the non-volatile a plurality of memory locations in the memory; and a plurality of applications associated with a plurality of computer architectures stored in the plurality of memory locations associated with the table. The removable non-volatile memory of claim 27, wherein the predefined ^ It body position is - (iv) known to the computer system of the removable non-volatile memory. 2 9 · If you want to solve the problem, you can use the non-volatile memory, where the table contains a plurality of identifiers, each of which increases your #4* & I: M ° The plurality of applications associated with the type of computer architecture are unique. 3. If the extractable non-symbol of claim 29 is an index. The identification of the non-volatile application of claim 27 includes the following types of architecture, wherein the two or more of the plural: 128138.doc 200844850 IA32, Alpha , Arm, Cds, IA64, M64k, Mips, Mips64, Parisc, Ppc, PpC64, S390, S390x, Sh, Sh64, Sparc, Sparc64, Palm, Windows CE and/or Windows 〇32·Removable as requested Non-volatile memory, where these applications are music playback applications for various types of computer architectures. 33. The removable non-volatile memory of claim 27, wherein the applications
    Each of the private entities is capable of executing a data file stored on the removable non-volatile memory. 34. The removable storage device of claim 33, wherein the data file is a music file. It includes the following methods: a method for operating a programmable system: ~) at startup, depending on the type of architecture of the system, from a portable type; At the address specified by the structure, the boot slot file is selected = for execution. The data structure indicates different locations for different boot files; and = the boot file is used to automatically start the system for the job. =:=The method of 5' where the data structure is a table. The method of Phase 1,35, wherein the f-material structure refers to three or more types of architectures that are mutually exclusive. In contrast, in the case of the confidential engine of claim 35, 'the portable data module also contains one plus. Also included is a memory space that can only be accessed via the encryption engine. 128138.doc 200844850 39. The method of claim 35, wherein the module contains one of the 木 ++, 杲 杲 杲 电脑The startup file of the ARM architecture and PPC architecture. The method of claim 35, wherein the data structure is stored in a predetermined location of the mold. The method of female claim 35 wherein the system includes telephone functionality. 42: A method for operating a programmable system, comprising: driving the system power on, using - an initial sequence of instructions stored in the host system; and under the control of the initial sequence of instructions, depending on the system Depending on the type of architecture, one of the self-portable data modules loads some of the startup files in the startup file without loading other files. The location is in the portable data module - According to the data structure, the data structure is specified for different locations of different startup files; and the startup files are used to automatically start the system for the job. The method of claim 42, wherein the data structure is stored at a predetermined address. The marginal structure refers to three or more types of architectures that are not compatible with each other. The method of claim 42, wherein the portable data module also includes an encryption engine and also includes memory space accessible only through the encryption engine. 46. The method of claim 42, wherein the module includes a boot file for an ARM architecture and a PPc architecture in addition to one of the desktop architectures. 128138.doc 200844850 7. The method of claim 42 wherein the module contains a boot file for at least two of the ARM architecture m: architecture and architecture. 48. A method performed on a computer system, comprising: an execution-basic input/output system_s) to locate a pre-defined memory location in a removable non-volatile body, the predefined memory The location has a table identifying the plurality of memory locations in the removable non-volatile memory. A plurality of self-starting code sequences for the plurality of computer architectures are stored in the removable non-volatile memory; The BIOS determines, from the table, a location of the self-activation code associated with an identifier associated with an architectural type of the computer system;
    The BIOS is executed to load the self-start code into the computer system and execute the self-start code. 49. The method of claim 48, wherein the table comprises a plurality of identifiers, each identifier being unique to the plurality of computer architectures and associated plurality of memory locations. The method of claim 48, comprising performing the BI〇s code to copy the table to the computer system and searching for the table. The method of claim 48, wherein the removable non-volatile memory is an SD$replay card, a compact flash memory card, a hard disk drive or a compact disc. 52. The method of claim 48, wherein the plurality of self-starting codes comprise two or more of the following architectural types: IA32, Alpha, Ann, Cris, IA64, M64k, Mips, Mips64, parisc, ppc, Ppc64 [0039] The method of claim 48, wherein the predefined memory location is a logical block address (LBA), as in the method of claim 48. 54. The method of claim 48, wherein the predefined memory location is a record of a location according to the type of architecture of the computer system.
    128138.doc
TW96151677A 2006-12-31 2007-12-31 Portable multi-platform booting systems and architectures TWI441077B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/618,870 US20080162916A1 (en) 2006-12-31 2006-12-31 Portable Multi-Platform Booting
US11/618,872 US7925875B2 (en) 2006-12-31 2006-12-31 Systems and methods for identifying and booting a computer architecture

Publications (2)

Publication Number Publication Date
TW200844850A true TW200844850A (en) 2008-11-16
TWI441077B TWI441077B (en) 2014-06-11

Family

ID=39588994

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96151677A TWI441077B (en) 2006-12-31 2007-12-31 Portable multi-platform booting systems and architectures

Country Status (3)

Country Link
KR (1) KR101120956B1 (en)
TW (1) TWI441077B (en)
WO (1) WO2008083277A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582295B2 (en) 2014-03-18 2017-02-28 International Business Machines Corporation Architectural mode configuration
US9916185B2 (en) 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9588774B2 (en) 2014-03-18 2017-03-07 International Business Machines Corporation Common boot sequence for control utility able to be initialized in multiple architectures

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100247952B1 (en) * 1997-04-11 2000-03-15 윤종용 Booting control apparatus and method of pda
AT322717T (en) 2002-06-28 2006-04-15 Hewlett Packard Co Operating system deck and data plate memory
SG138439A1 (en) * 2003-04-02 2008-01-28 Trek 2000 Int Ltd Portable operating system and method to load the same
US7664836B2 (en) * 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
KR100677327B1 (en) * 2004-06-16 2007-02-02 엘지전자 주식회사 Mobile communication terminal with dual operating system
US7490318B2 (en) * 2005-02-25 2009-02-10 Inventec Corporation Computer platform operating system compatibility management method and system

Also Published As

Publication number Publication date
KR101120956B1 (en) 2012-03-05
WO2008083277A1 (en) 2008-07-10
WO2008083277A9 (en) 2008-12-31
TWI441077B (en) 2014-06-11
KR20090097171A (en) 2009-09-15

Similar Documents

Publication Publication Date Title
CA2020520C (en) Apparatus and method for preventing unauthorized modification to bios in a personal computer system
TWI221580B (en) Pre-boot authentication system
US5867730A (en) Method for configuration of peripherals by interpreting response from peripherals to enable selection of driver file and altering configuration file to enable loading of selected driver file
US10146938B2 (en) Method, apparatus and virtual machine for detecting malicious program
US7424601B2 (en) Methods and systems for running multiple operating systems in a single mobile device
US6601139B1 (en) Information processing method and apparatus using a storage medium storing all necessary software and content to configure and operate the apparatus
CA2044522C (en) Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5787491A (en) Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US20010039612A1 (en) Apparatus and method for fast booting
US7134007B2 (en) Method for sharing firmware across heterogeneous processor architectures
EP2353081B1 (en) Managing cache data and metadata
US7293166B2 (en) Method of indicating a format of accessing an operating system contained on a USB memory device
CN101320314B (en) Method and apparatus for quickly changing the power state of a data processing system
US7934209B2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
CA2020521C (en) Apparatus and method for decreasing the memory requirements for bios in a personal computer system
EP0100140B1 (en) Data processing system and method of starting up system
EP3299958A1 (en) Direct boot arrangement using a nand flash memory
US7234050B2 (en) Techniques for initializing a device on an expansion card
US20040015941A1 (en) Information-processing apparatus equipped with nonvolatile memory device and firmware-updating method for use in the apparatus
CA2020523C (en) Inital bios load for a personal computer system
US9032151B2 (en) Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7073013B2 (en) Mass storage device with boot code
US20070011445A1 (en) System and method for loading programs from HDD independent of operating system
US8291209B2 (en) Integration model for instant-on environment
US7322029B2 (en) Method and system for recovering program code in a computer system