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

Portable multi-platform booting systems and architectures Download PDF

Info

Publication number
KR20090097171A
KR20090097171A KR1020097013739A KR20097013739A KR20090097171A KR 20090097171 A KR20090097171 A KR 20090097171A KR 1020097013739 A KR1020097013739 A KR 1020097013739A KR 20097013739 A KR20097013739 A KR 20097013739A KR 20090097171 A KR20090097171 A KR 20090097171A
Authority
KR
South Korea
Prior art keywords
method
architecture
system
memory
boot
Prior art date
Application number
KR1020097013739A
Other languages
Korean (ko)
Other versions
KR101120956B1 (en
Inventor
폴 맥어보이
Original Assignee
쌘디스크 코포레이션
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
Priority to US11/618,870 priority
Priority to US11/618,872 priority patent/US7925875B2/en
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20090097171A publication Critical patent/KR20090097171A/en
Application granted granted Critical
Publication of KR101120956B1 publication Critical patent/KR101120956B1/en

Links

Images

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

휴대용 멀티-플랫폼 부팅시스템과 아키텍쳐{PORTABLE MULTI-PLATFORM BOOTING SYSTEMS AND ARCHITECTURES} Portable multi-boot system platforms and architectures {PORTABLE MULTI-PLATFORM BOOTING SYSTEMS AND ARCHITECTURES}

본 출원은, 일반적으로 컴퓨터 시스템들 분야에 관한 것이고, 보다 구체적으로는 탈착 가능한 저장 장치로부터 다중 아키텍쳐 부트스트랩핑(bootstrapping)을 위한 시스템과 방법에 관한 것이다. This application is, in general, relates to the field of computer systems, and more particularly to systems and methods for multi-Bootstrapping Architecture (bootstrapping) from a storage device removable.

애플리케이션 프로그램들 및 근원적인 하드웨어 사이를 중재하기 위하여, 소프트웨어 및 펌웨어 구조의 몇몇 층들은 사용된다. In order to mediate between the application program and the underlying hardware, software, firmware, some layers of the structure are used. 첫째 전력이 컴퓨터에 인가될 때, 다양한 하드웨어 엘리먼트들(칩들 및 서브시스템들)은 각각 안정되고 공지된 상태를 회복하기 위하여 내부 프로시저들(리셋 프로시저들)을 가질 것이다. First, when power is applied to the computer, (in chips and subsystems) various hardware elements, will have an internal procedure (the reset procedure) to recover a stable, known states. 그러나 몇몇 포인트에서(만약 하드웨어가 인택트(intact)하면), 이들 리셋 프로시저들은 종료될 것이고, 이런 포인트에서 CPU는 다양한 중요한 오버헤드 임무들을 수행한다. But at some point (if the hardware is intact (intact) you), these are reset procedure will be terminated, at this point the CPU to perform a variety of mission critical overhead. 이들은 예를 들어 시스템 구성을 조사하고, 시스템 하드웨어 상에서 온전함 검사를 수행하고, 소프트웨어 제어 하에서 사용자가 NVRAM 구성 프로그램에 브랜치하게 하는 것을 포함한다. These are, for example investigating the system configuration, performing an integrity check on the system hardware, and comprises the user to branch to the NVRAM configured under software control program. 이런 단계의 작동은 일반적으로 "POST"(전력-인가-자기-검사)라 불린다. This step of operation is usually "POST" (power-Is-self-test) called.

POST 이후, "부트스트랩(또는 "부트") 프로그램은 자동으로 시작되어, CPU가 다른 소프트웨어를 실행하게 한다. 부트 프로그램은 마스터 부트 레코드로부터의 데이터를 사용하고, PC 아키텍쳐에서 상기 데이터는 일반적으로 부트 파일들이 배치된 드라이브의 섹터 1(512-바이트 영역) 내에 저장된다. 실행 동안, 마스터 부트 레코드는 디스크로부터 메모리로 시작 시스템 파일을 로딩한다. 모든 작동 시스템 파일들이 로딩된 후, 부트스트랩 프로그램은 오퍼레이팅 시스템을 시작한다. 부트스트랩 프로그램은 주 오퍼레이팅 시스템 소프트웨어의 실행 시 CPU를 시작한다; 시스템이 어떻게 셋업되느냐에 따라, 부트 소프트웨어는 Vista, OS/X, Unix 또는 다른 오퍼레이팅 시스템에 프로그램 실행을 지시할 수 있다. 이것은 일반적으로 자동이고 미리 결정되지만, 몇몇 Is after POST, "bootstrap (or" boot ") program is automatically started, and the CPU executes other software, the boot program using the data from the master boot record, the data in the PC architecture has generally boot files are stored in the sector 1 (512-byte area) of the drive arrangement. during execution, a master boot record to load the starting system files into memory from disk. after all the operating system files are loaded, the bootstrap program is operating rather it starts the system bootstrap program, the main operating and the system software begins to run when CPU; depending on how the system set-up, the boot software Vista, OS / X, Unix, or to direct the program running on different operating systems there. This is usually automatic and pre-determined, but, in some 스템들에서 수동으로 사용자 선택 가능하다. 이런 포인트에서 부트스트랩 프로그램의 임무는 종료한다. 그 다음 오퍼레이팅 시스템은 초기화 단계들이 무엇을 위해 구성되든, 그리고 궁극적으로 어느 애플리케이션을 목표하든 사용자가 시작하게 하기 위하여 컴퓨터가 이용될 수 있다. It is manually possible to select a user from the system. The mission of the bootstrap program at this point is terminated. Then, the operating system Whether configured as to what are the initialization phase, and to the ultimate user starts Whether the target of any application It can cause the computer to use.

상기 설명은 컴퓨터들의 세계에 관한 것이지만, 많은 저전력 휴대용 전자 시스템들이 유사한 문제들을 제공한다. While the above description is about the world of computers, and provides similar problems are many low-power portable electronic systems. 상기 시스템들이 보다 공통적이고 보다 다기능화될 때, 상기 시스템의 아키텍쳐는 보다 다양한 몇몇 경향을 갖는다. When the systems are common and more versatile than the screen, the architecture of the system has a wider range of several trends. (매우 낮은 전력 소모 및 주문 제작된 I/O의 요구들은 다양성을 형성하는 경향이 있다). (Very low power consumption and order requirements of the fabricated I / O, tend to form a diversity). 많은 이들 장치들은 10년 전 또는 그 정도의 퍼스널 컴퓨터와 호환할 수 있는 처리기 및/또는 메모리 사양들을 가지며, 몇몇은 보다 많은 사양을 갖는다. Many of these devices may have a processor and / or memory requirements that can be compatible with a decade ago or so of the personal computer, some have a more specifications. 많은 이들 휴대용 전자제품 설계들은 다른 피쳐들이 부가된 채로 하나의 주 애플리케이션 주변에 설계된다. Many portable electronics designs are designed around one main application while the other features are added. 예를 들어, PDA(퍼스널 디지털 어시스탄트) 전화 설계들은 제작사(또 는 회사)가 전화들을 바탕으로 하는지 PDA들을 바탕으로 하는지에 따라 설계면에서 몇몇 차이들을 나타낼 수 있다. For example, PDA (Personal Digital Assistants Stan bit) phone design may represent some differences in design, depending on whether, based on the PDA that on the basis of the manufacturer (or company) phone. 값비싼 컴퓨터 전력 및 배터리 에너지의 결합은 기능 수렴을 위한 강력한 힘이 있지만, 많은 휴대용 전자 제품 마켓 세그먼트들은 보다 특정한 기원들의 표시들을 나타낸다. The combination of power and value of an expensive computer, but the battery energy is a powerful force for convergence capabilities, many portable electronic products market segments represent more specific indication of origin. 다양하고 복잡한 휴대용 전자제품 기능들은 게임 머신들, 전화들, 음악 및 영화 플레이어들, 카메라들 및 비디오 레코더들, PDA들, 위치 감지, 심장 모니터들, 이들의 혼합들, 및 이미지 이해 보안 모니터들, 얼굴 인식 소프트웨어, 및 충돌 회피 같은 보다 새로운 기능들을 포함한다. The diverse and complex portable electronic product features gaming machines, the telephone, music and movie players, cameras and video recorders, to the PDA, position sensing, heart monitors, the mixture of these, and image understanding security monitor, It includes more new features, such as facial recognition software, and collision avoidance. 따라서, 하드웨어의 극단의 다양성은 수렴 잠재력이 증가하는 동안에도, 적어도 근 미래 동안 계속될 것이다. Thus, the diversity of the extremes of the hardware is also, it will continue for at least the near future during which the potential converges increased.

휴대용 전자제품들의 많은 개발들은 콘텐트 소유권에 의해 의도되었다. Many development of portable electronic products are intended by the content ownership. 음악, 비디오들, 및 게임들은 빈번하게 표절되고, 양심적인 바이어들에 의해 지불된 단가 및 카피라이트 소유자들에 의해 수신된 평균 단가 사이의 갭은 개발상의 짐이다. The gap between music, videos, and games are frequently plagiarized, the average price received by the unit price and the copyright owner paid by the conscientious buyer is a burden on development. 따라서, 파괴를 불가능하게 하는 비휘발성 메모리 모듈들을 개발하기 위한 극한 노력들이 이루어졌다. Therefore, their extreme efforts to develop non-volatile memory module that disables the destruction took place. 샌디스크에 의해 판매되는 것과 같은 진보된 메모리 모듈들은 공통적으로 호스트 머신에 보여지지 않게 암호화 알고리듬들을 실행할 수 있는 처리기를 포함하여, 보호된 콘텐트는 직접적으로 액세스될 수 없다. Advanced memory module, such as that sold by SanDisk are common to a processor capable of executing the encryption algorithm does not show the host machine, the protected content can not be directly accessed.

심지어 보다 강력한 보안은 호스트의 제어된 소프트웨어 환경에 의해 제공될 수 있다. Even greater security can be provided by software control of the host environment. 이것은 비휘발성 메모리 모듈의 프로그램에 의해 쉽게 달성되는 것이 아니고, 시스템이 비휘발성 메모리 모듈로부터 부팅되는 경우에 달성될 수 있다. This is not to be readily accomplished by a non-volatile memory module, the program can be achieved if the system is booted from a non-volatile memory module. 이 경우 부트 프로그램은 비표준 오퍼레이팅 시스템 구성요소들의 로딩을 제한할 수 있고, 및/또는 그 외에 로드 모니터는 표준 오퍼레이팅 시스템 구성요소들을 처리한다. In this case, the boot program may limit the loading of non-standard operating system components, and / or that in addition to the load monitor processes the standard operating system components.

제 1 퍼스널 컴퓨터들은 탈착 가능한 디스크(플로피 디스크)로부터 부팅되지만, 또한 비휘발성 메모리 모듈로부터 부팅될 수도 있다. The first personal computer, but may boot from the removable disk (floppy disk), or may be booted from a non-volatile memory module. 여기에 참조로써 통합된 US 애플리케이션 07/901,645를 참조하라. Be here refer to the US application 07 / 901,645 incorporated by reference.

멀티 플랫폼 부팅은 보다 어려운 문제이다. Multi-platform boots is a more difficult problem. 부트스트랩 프로그램은 오퍼레이팅 시스템을 시작하기 전에 어떤 파일들이 메모리에 로딩되어야 하는지를 알아야 하고, 일반적으로 파일 시퀀싱 및 메모리 위치들의 제한들을 알아야 한다. Bootstrap program must know them to know which files will be loaded into memory before starting the operating system, usually a file sequencing and limits of memory locations. 이것은 오퍼레이팅 시스템 및 하드웨어 환경에 따라 폭넓게 변화한다. This varies widely depending on the operating system and hardware environment. 예를 들어, 2006년 대에, SD 카드는 다양한 시스템들에 삽입될 수 있지만, 이들 시스템들의 상당 부분은 IA32 명령들을 실행하지 못할 것이다. For example, in 2006, for, SD cards, but can be inserted into a variety of systems, a significant portion of these systems will not be able to run the IA32 instruction. ARM 및 PowerPC 시스템들은 IA32가 호환할 수 없는 넓은 용도에서 단지 두 개의 대안적인 아키텍쳐들이 있다. ARM and PowerPC systems are just two alternative architectures are in wide usage that can not be IA32 compatible. 이들 시스템들 상에서 부트스트랩 타입 작용은 호환 가능한 이진 파일들이 이들 플랫폼들을 위하여 제공되지 않으면 달성될 수 없다. Bootstrap type acts on these systems unless a compatible binaries are not available for these platforms may not be achieved.

여기에 참조로써 통합된 US 특허 5,291,585는 BIOS 확장부들을 가진 퍼스널 컴퓨터를 기술한다. Integrated herein by reference US Patent 5,291,585 describes a personal computer with a BIOS extension portions. 이들 BIOS 확장부들은 BIOS 확장부에 저장된 자체 기술 피쳐 테이블에 의해 인덱스된다. The BIOS extension portions are indexed by a feature table stored in its own technology to BIOS extensions.

본 출원은 휴대용 저장 모듈로부터 멀티 플랫폼 부팅하는 새로운 방법들을 개시한다. The present application discloses a new method for booting a multi-platform from a removable storage module. 휴대용 모듈은 부팅을 위한 적당한 이진 파일들에 액세스하기 위하여 휴대용 모듈 내 여러 위치들에 다양한 아키텍쳐들 및 오퍼레이팅 시스템들을 재지향시키는 테이블(또는 다른 데이터 구조)을 갖는다. Portable module has a table (or other data structure) to redirect a variety of architectures and operating systems in a number of positions in the travel module to access the appropriate binary file for the boot.

완전한 부팅 호환성을 위해, 시스템의 부트 코드는 바람직하게 적당하게 모듈의 테이블, 및 브랜치를 찾는 것을 이해한다. For complete compatibility, boot, boot code, the system will understand that preferably suitably find a table, and a branch of the module. 그러나 비록 완전한 부팅 호환성이 모든 아키텍쳐들에서 달성되지 못하더라도, 개시된 실시예들은 부트 비호환성을 방지하고, 즉 올바르지 않은 부트 파일들로 인한 미결정 또는 다른 바람직하지 않은 결과들을 방지할 수 있다. But even if a full boot compatibility can not be achieved in every architecture, embodiments may avoid incompatibility and the boot, namely preventing microcrystalline or other undesirable results due to incorrect boot file is disclosed.

다양한 실시예들에서 개시된 기술 혁신들은 하나 또는 그 이상의 적어도 다음 장점들을 제공한다: The disclosed innovations, in various embodiments, provide one or more of at least the following advantages:

보다 다양한 애플리케이션은 휴대용 데이터 모듈들에서 기초일 수 있다. Wider range of applications can be based on data from the portable module. 크로스 플랫폼 호환성의 장점은 사용자들에 의해 목표된 임의의 플랫폼에 목표된 기능들을 포팅하기 위한 많은 새로운 마켓들을 개방할 것이다. The advantage of cross-platform compatibility will open many new markets for porting the functions aim at any target platform by users.

보다 큰 보안성은 퍼스널 컴퓨터들로서 구성되지 않은 복합 전자 시스템들을 포함하는, 많은 플랫폼들과 호환할 수 있는 휴대용 데이터 모듈들을 위해 보장될 수 있다. Security is greater than can be guaranteed for mobile data modules that can be compatible with, the number of platforms that include complex electronic systems that are not configured as a personal computer.

SD 카드들을 사용하는 실시예들의 특정 장점은 SD 카드 사양이 디스크형 파일 구조로 정의되는 것이고 - 이에 따라 PC 부팅 가능 모듈은 MBR(마스터 부트 레코드)를 SD카드의 기존 구성에 부가함으로써 쉽게 달성될 수 있다. A particular advantage of the embodiments that use the SD card will be the SD card specification defined by the disk-like file structure - thus PC bootable module can be easily achieved by adding the MBR (Master Boot Record) to the existing configuration of a SD card have.

추가 장점은 새로운 아키텍쳐들에 많은 새로운 애플리케이션을 허용하면서, 기존 PC 아키텍쳐와 역 호환성이다. A further advantage is allowing many new applications to the new architecture, the existing PC architecture with backward compatibility. 이것은 특히 사용자들이 휴대용 장치 및 컴퓨터 사이에서 활동들을 왕복할 것이라 예상하는 애플리케이션들에 유용하다. This is particularly useful in applications that users are expected to be reciprocal activities between mobile devices and computers.

개시된 발명들의 다른 장점은 모바일 시스템들, 또는 실질적으로 영구적 저장소를 갖지 않는 장치(기구와 같은)에서 쉽고 안전한 펌웨어 업데이트이다. Another advantage of the disclosed invention is easy and secure firmware update in the mobile system, or practically does not have devices (such as the Agency) for permanent storage.

개시된 본 발명들은 본 발명의 중요한 샘플 실시예들을 나타내고 참조로써 명세서에 통합된 첨부 도면들을 참조하여 기술될 것이다. The disclosed invention will be described with depict important sample embodiments of the invention with reference to the drawings attached to the integrated herein by reference.

도 1은, 컴퓨터 시스템의 블록도. 1 is a block diagram of a computer system.

도 2는, 다른 타입의 아키텍쳐를 위한 마스터 부트 레코드들의 메모리 위치를 식별하기 위한 테이블의 예를 도시하는 도면. 2 is a diagram showing an example of a table for identifying the memory locations of the master boot record to the architecture of another type.

도 3은, 다른 아키텍쳐를 가진 컴퓨터 시스템들을 부트스트램핑할 수 있는 탈착 가능한 장치로부터 컴퓨터 시스템을 부트스트랩핑하기 위한 처리를 도시하는 흐름도. 3 is a computer system having a different architecture from the detachable device that can be ramped cast boot boot the computer system, a flow chart showing a process for mapping the strap.

도 4는, 샘플 실시예를 포함하는 탈착 가능한 저장 장치의 일반적인 예시적 블록도를 도시하는 도면. Figure 4 is a diagram showing an exemplary general block diagram of removable storage devices including a sample embodiment;

본 출원의 다수의 혁신적인 교시는 현재 바람직한 실시예들에 대한 특정 참조로 기술될 것이다(예를 통해서, 제한적이지 않음). Numerous innovative teachings of the present application will be described with particular reference to the presently preferred embodiment (no, not limited by the examples).

샘플 실시예에 따라, 탈착 가능한 비휘발성 메모리는 탈착 가능한 비휘발성 메모리의 미리 정의된 메모리 위치에 저장된 테이블을 포함하고, 상기 테이블은 비휘발성 메모리 내의 다수의 메모리 위치를 식별하고, 다수의 부트스트랩 코드들은 상기 테이블과 연관된 다수의 메모리 위치들에 저장된다. According to the sample embodiment, the removable non-volatile memory is a removable non-included in the pre-table stored in the defined memory locations in volatile memory, the table identifies the number of memory locations in the nonvolatile memory, and a plurality of bootstrap code It is stored in a plurality of memory locations associated with the table.

미리 정의된 메모리 위치는 탈착 가능한 비휘발성 메모리에 결합된 컴퓨터 시스템의 기본 입력/출력 시스템(BIOS)에 의해 공지되고 테이블은 다수의 컴퓨터 아키텍쳐들 및 연관된 다수의 메모리 위치들에 각각 유일한 다수의 식별자들을 포함한다. Memory location predefined basic input / output system is known by the (BIOS) table were only a number of identifiers to a plurality of computer architecture, and a number of memory locations associated with a computer system coupled to the releasable non-volatile memory It includes. 식별자들은 인덱스할 수 있고 다수의 부트스트랩 코드는 둘 또는 그 이상의 다음 아키텍쳐 타입을 포함할 수 있다: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, 및/또는 Sparc64를 포함할 수 있다. Identifiers to index and a plurality of bootstrap code can include two or more of the following architecture types: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x and it may include a Sh, Sh64, Sparc, and / or Sparc64. 미리 정의된 메모리 위치는 제 1 논리 블록 어드레스(LBA)일 수 있고 미리 정의된 메모리 위치는 마스터 부트 레코드가 탈착 가능한 비휘발성 메모리에 결합된 컴퓨터 시스템 아키텍쳐 타입에 따라 배치된다. Pre-defined memory location will be the first logical block address (LBA) and the pre-defined memory locations are arranged according to the type of computer system architecture coupled to the non-volatile memory is available the master boot record removable. 마스터 부트 레코드는 탈착 가능한 비휘발성 메모리 내 다수의 메모리 위치들 중 하나에 배치될 수 있다. The master boot record may be located in one of a plurality of memory locations in a releasable non-volatile memory.

다른 종류의 실시예들에 따라, 컴퓨터 시스템에서 실행되는 방법은 BIOS에 결합된 탈착 가능한 메모리에 미리 정의된 메모리 위치를 배치하기 위한 기본 입력/출력 시스템(BIOS)을 실행하는 것을 포함하고, 미리 정의된 메모리 위치는 다수의 컴퓨터 아키텍쳐를 위한 다수의 부트스트랩 코드가 저장되는 탈착 가능한 비휘발성 메모리 내의 다수의 메모리 위치를 식별하는 테이블을 갖는다. According to other types of embodiments, the method executed in a computer system comprising the running basic input / output system (BIOS) for placing the memory location predefined in the removable memory coupled to the BIOS, predefined the memory location has a table identifying a plurality of memory locations in the plurality of non-volatile memory removable boot strap code is to be stored for a number of computer architectures. 컴퓨터 시스템의 아키텍쳐 타입과 연관된 식별자와 연관된 부트스트랩 코드의 위치를 테이블로부터 결정하기 위하여 BIOS를 실행하고, 컴퓨터 시스템에 부트스트랩 코드를 로딩하고 부트스트랩 코드를 실행하기 위해 BIOS를 실행. The BIOS to determine the location of an architecture type and bootstrap code associated with the identifier associated with the computer system from the table, and the BIOS for loading the bootstrap code into a computer system and execute the boot strap code.

테이블은 바람직하게 다수의 컴퓨터 아키텍쳐들 및 연관된 다수의 메모리 위치들에 각각 유일한 다수의 식별자들을 포함하고 상기 식별자들은 인덱스할 수 있다. The table preferably each comprise a plurality of unique identifiers to a plurality of the computer architecture and the number of memory locations associated to the identifier may be an index. BIOS 코드는 컴퓨터 시스템에 테이블을 카피하고 테이블을 검색하기 위하여 실행될 수 있고, 탈착 가능한 비휘발성 메모리는 SD 메모리 카드, 컴팩트 플래시, 하드 드라이브, 또는 광학 디스크일 수 있다. BIOS code can be performed to retrieve a copy of the table and the table in the computer system, the removable non-volatile memory may be an SD memory card, compact flash, hard drive, or optical disk. 상기와 같이, 다수의 부트스트랩 코드는 둘 또는 그 이상의 다음 아키텍쳐 타입을 포함할 수 있다: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, 및/또는 Sparc64. As described above, the number of bootstrap code can include two or more of the following architecture types: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh , Sh64, Sparc, and / or Sparc64. 미리 정의된 메모리 위치는 제 1 논리 블록 어드레스(LBA)일 수 있고 미리 정의된 메모리 위치는 마스터 부트 레코드가 컴퓨터 시스템의 아키텍쳐 타입에 따라 배치될 수 있는 장소일 수 있다. Memory locations may be predefined is the first logical block address (LBA) and the pre-defined memory location may be a location with the master boot record can be laid out according to the type of architecture of the computer system. 마스터 부트 레코드는 탈착 가능한 비휘발성 메모리 내의 다수의 메모리 위치들 중 하나에 배치될 수 있다. The master boot record may be located in one of a plurality of memory locations in the removable non-volatile memory.

다른 실시예에 따라, 컴퓨터 시스템은 그 내부에 저장된 기본 입력/출력 시스템(BIOS) 코드를 가진 판독 전용 메모리(ROM)를 포함하고, 여기서 BIOS 코드는 컴퓨터 시스템의 아키텍쳐 타입과 연관된 식별자의 지식 및 다수의 컴퓨터 아키텍쳐를 위한 다수의 부트스트랩 코드가 저장된 탈착 가능한 저장 장치 내 다수의 메모리 위치를 식별하는 테이블을 가진 미리 정의된 메모리 위치의 지식을 갖는다. According to another embodiment, the computer system basic input / output system (BIOS) comprising a read only memory (ROM) with the code, wherein the BIOS code knowledge and multiple architecture type associated with the identifier of the computer system stored therein, the computer has a plurality of boot knowledge of a predefined memory location with a table strap code identifying the removable storage plurality of memory locations in the device is stored for the architecture. 인터페이스는 ROM에 결합되고 처리기는 상기 인터페이스에 결합되고, 처리기는 탈착 가능한 저장 장치를 검출하기 위하여 BIOS 코드를 실행하고 만약 검출되면 미리 정의된 메모리 위치를 배치하고, 식별자와 연관된 부트스트랩 코드의 위치를 테이 블로부터 결정하고, 컴퓨터 시스템에 부트스트랩 코드를 로딩하고 부트스트랩 코드를 실행한다. Interface is coupled to a ROM, and the processor is coupled to the interface, the processor is the location of the bootstrap code that is associated with when the arrangement of memory locations a pre-defined, and the identifier the BIOS code, and if detected to detect the removable storage device, determining from the blow table, and loading the bootstrap code into a computer system and execute the boot strap code.

테이블은 다수의 컴퓨터 아키텍쳐들 및 연관된 다수의 메모리 위치들에 각각 유일한 다수의 식별자들을 포함하고, 상기 식별자들은 인덱스할 수 있다. Each table comprises a plurality of unique identifiers to a plurality of the computer architecture and the number of memory locations associated, and the identifier may be an index. 처리기는 컴퓨터 시스템에 테이블을 카피하고 테이블을 검색하기 위하여 BIOS 코드를 실행할 수 있고 탈착 가능한 저장 장치는 상기와 같이 SD 메모리 카드, 컴팩트 플래시, 하드 드라이브, 또는 광학 디스크일 수 있다. Processor may execute the BIOS code, and removable storage device may be a SD memory card, compact flash, hard drive, or optical disk as described above, in order to copy the table in the computer system to search the table. 다수의 부트스트랩 코드는 둘 또는 그 이상의 다음 아키텍쳐 타입을 포함할 수 있다: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, 및/또는 Sparc64. A plurality of bootstrap code can include two or more of the following architecture types: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc and / or Sparc64. 미리 정의된 메모리 위치는 제 1 논리 블록 어드레스(LBA)일 수 있고 미리 결정된 메모리 위치는 마스터 부트 레코드가 컴퓨터 시스템의 아키텍쳐 타입에 따라 배치되는 장소일 수 있다. Be a pre-defined memory location has a first logical block address (LBA) and the predetermined memory location may be a place for the master boot record to be laid out according to the type of architecture of the computer system. 마스터 부트 레코드는 탈착 가능한 저장 장치 내 다수의 메모리 위치들 중 하나에 배치될 수 있다. The master boot record may be located in one of a plurality of memory locations in a removable storage device.

다른 종류의 실시예들에서, 탈착 가능한 비휘발성 메모리는 탈착 가능한 비휘발성 메모리에서 미리 정의된 메모리 위치내에 저장된 테이블을 포함하고, 상기 테이블은 비휘발성 메모리 내 다수의 메모리 위치를 식별하고, 다수의 컴퓨터 아키텍쳐와 연관된 다수의 애플리케이션은 테이블과 연관된 다수의 메모리 위치들 내에 저장된다. In another type of embodiment, a removable non-volatile memory is a removable non-volatile memory comprises a table stored in a memory location defined in advance in the table and identifies the number of memory locations in the nonvolatile memory, many computer a plurality of applications associated with the architecture is stored in a plurality of memory locations associated with the table.

미리 정의된 메모리 위치는 탈착 가능한 비휘발성 메모리에 결합된 컴퓨터 시스템에 의해 공지되고 테이블은 컴퓨터 아키텍쳐들의 타입과 연관된 다수의 애플 리케이션에 각각 유일한 다수의 식별자들을 포함한다. Predefined memory locations being known by a computer system coupled to the releasable non-volatile memory table comprises a plurality of respective unique identifiers to the plurality of applications associated with the type of computer architecture. 식별자들은 인덱스할 수 있다. Identifier may be an index. 상기와 같이, 다수의 애플리케이션은 둘 또는 그 이상의 다음 아키텍쳐 타입을 포함할 수 있다: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, Sparc64, Palm, 윈도우즈 CE 및/또는 윈도우즈. As such, multiple applications can include two or more of the following architecture types: IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64 , Sparc, Sparc64, Palm, Windows CE, and / or windows. 상기 애플리케이션은 여러 타입의 컴퓨터 아키텍쳐의 음악 애플리케이션을 재생할 수 있고, 상기 아키텍쳐 각각은 탈착 가능한 비휘발성 메모리상에 저장된 데이터 파일들, 예를 들어 음악 파일을 실행할 수 있다. The application may play back the music application on the computer architecture of the various types, the architectures each of which may execute a data file stored on a removable non-volatile memory, such as music files.

본 발명의 실시예에 따라, 시스템과 방법은, 탈착 가능한 저장 장치가 여러 타입의 아키텍쳐를 갖는 여러 컴퓨터 시스템을 부트스트랩하기 위해 적절하거나 호환 가능한 마스터 부트 레코드를 제공할 수 있도록 한다. According to an embodiment of the invention, the system and method may allow a detachable storage device is able to provide appropriate or compatible with the master boot record as possible in order to bootstrap the multiple computer system having the architecture of the various types.

도 1은 본 발명들의 실시예들이 실시될 수 있는 하드웨어 및 오퍼레이팅 환경의 도면이다. 1 is a diagram of the hardware and operating environment in which embodiments of the invention may be practiced. 도 1의 설명은 본 발명이 실행될 수 있는 적당한 컴퓨터 하드웨어 및 적당한 컴퓨팅 환경의 일반적인 설명을 제공하기 위한 것이다. Description of Figure 1 is to provide a suitable computer hardware that may be executed to which the present invention and general description of a suitable computing environment.

컴퓨터 시스템(10) 및 탈착 가능한 저장 장치(35)는 탈착 가능한 저장 장치(35)가 컴퓨터 시스템(10)(예를 들어, IA32, Intel®아키텍쳐) 및 약간을 명명하면 Arm®, Alpha® 및 Sparc® 같은 다양한 다른 타입의 컴퓨터 아키텍쳐들에 적당한 부트스트랩 코드를 제공하는 본 발명의 원리들을 구현한다. Computer system 10 and the removable storage device 35 when the removable storage device 35 is named a computer system 10 (e. G., IA32, Intel® architecture) and some Arm®, Alpha® and Sparc implements the principles of the present invention to provide a proper bootstrap code to various other types of computer architectures, such as ®. 본 발명의 원리들에 따라, 탈착 가능한 저장 장치(35)는 컴퓨터 시스템(10)으로부터 제거될 수 있고 다른 아키텍쳐를 가진 다른 시스템들에 작동 가능하게 결합되고, 여기서 탈착 가능한 저장 장치(35)는 호환 가능한 마스터 부트 레코드들 및 부트스트랩 프로그램들을 여러 타입의 컴퓨터 아키텍쳐들에 제공할 수 있다. In accordance with the principles of the invention, the removable storage device 35 is available can be removed from the computer system 10 is operably coupled to other systems that have different architectures, where the storage device 35 is detachable is compatible available in the master boot record and boot strap programs can provide the various types of computer architecture. 마스터 부트 레코드는 오퍼레이팅 시스템 커널(kernel)을 시작하는 부트 로더 또는 프로그램인 부트스트랩 코드를 포함한다. The master boot record includes a boot loader program or bootstrap code that starts the operating system kernel (kernel). 양쪽은 처리기에 의해 실행될 때 시스템 메모리에 오퍼레이팅 시스템을 로딩하는 프로그램들이다. Both are the program to load the operating system into the system memory when executed by the processor. 예시적인 부트 로더들은 Grand Unified Boot Loader(GRUB) 또는 시스템 커맨더이다. Exemplary boot loader are the Grand Unified Boot Loader (GRUB) or System Commander. 마스터 부트 레코드 및 부트스트랩 프로그램은 부트 코드로 고려된다. The master boot record and the bootstrap program is considered as boot code.

본 발명들을 실행하기 위한 도 1의 예시적인 하드웨어 및 오퍼레이팅 환경은 처리기(15), 시스템 메모리(25), 시스템 메모리(25)를 포함하는 다양한 시스템 구성요소들을 처리기(15)에 작동 가능하게 결합하는 시스템 버스(30) 형태의 프로그램 가능 장치를 포함한다. An exemplary hardware and operating environment of Figure 1 for carrying out the present invention processor 15, system memory 25, which operably coupled to the various system components, including system memory 25 to the processor 15 a system bus (30) in the form of a programmable device. 단지 하나 또는 하나 이상의 처리기(15)가 있을 수 있어서, 컴퓨터 시스템(10)의 처리기는 일반적으로 병렬 처리 환경으로서 참조되는 단일 중앙 처리 유니트(CPU), 또는 다수의 처리 유니트들을 포함한다. In only can have one or more than one processor 15, the processor of the computer system 10 generally comprises a single central processing unit (CPU), or a plurality of processing units which is referred to as a parallel processing environment. 컴퓨터 시스템(10)은 통상적인 컴퓨터이거나, 임의의 다른 타입의 컴퓨터일 수 있다; Computer system 10 includes a conventional computer, or may be any other type of computer; 따라서 본 발명들은 제한되지 않는다. Therefore, the invention is not limited.

시스템 버스(30)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 임의의 다양한 버스 아키텍쳐를 사용하는 로컬 버스를 포함하는 몇몇 타입의 버스 구조들 중 임의의 것일 수 있다. The system bus 30 may be any of several types of bus structures, including a local bus using a memory bus or memory controller, a peripheral bus, and any of a variety of bus architectures. 시스템 메모리(25)는 간단히 메모리라 하고, 판독 전용 메모리(ROM)(40) 및 랜덤 액세스 메모리(RAM)(45)를 포함한다. The system memory 25 are simply called a memory, and a read only memory (ROM) (40) and random access memory (RAM) (45). 기본 입력/출력 시스템(BIOS) 프로그램(50)은 ROM(40)에 저장되고 하기에 논의되는 시작 동안 같은 컴퓨터 시스템(10) 내의 엘리먼트들 사이에서 정보 전달을 돕는 기본 루틴들 또는 프로그램들을 포함하는 코드를 포함한다. Basic input / output system (BIOS) program 50 code, containing the basic routines or programs that help to transfer information between elements within computer system 10, such as during storage in the ROM (40) starts to be discussed below, and It includes. 컴퓨터 시스템(10)은 하드 드라이브(55) 및 CD ROM 또는 다른 광학 매체 같은 광학 드라이브(65)를 더 포함한다. Computer system 10 further includes an optical drive (65), such as hard drive 55 and a CD ROM or other optical media.

하드 드라이브(55) 및 광학 드라이브(65)는 각각 하드 드라이브 인터페이스 및 광학 드라이브 인터페이스에 의해 시스템 버스(30)에 연결된다. Hard drive 55 and the optical drive 65 is connected to the system bus 30 by a hard drive interface, and an optical drive interface. 드라이브들 및 연관된 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들 및 컴퓨터 시스템(10)을 위한 다른 데이터의 비휘발성 저장을 제공한다. Drives and their associated computer-readable media provide non-volatile storage of other data for the computer-readable instructions, data structures, program modules, and the computer system 10. 자기 카세트들, 플래시 메모리 카드들, 디지털 비디오 디스크들, 랜덤 액세스 메모리들(RAM), 판독 전용 메모리들(ROM), 및 등등 같은 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 임의의 타입의 컴퓨터 판독 매체가 예시적인 오퍼레이팅 환경에서 사용될 수 있는 것이 구현되어야 한다. Magnetic cassettes, flash memory cards, digital video disks, random access memories (RAM), read only memories (ROM), and computer-readable media of any type in so can store data accessible by the same computer, it can be used in the exemplary operating environment to be implemented. 다수의 프로그램 모듈들은 하드 드라이브(55), 광학 드라이브(65), ROM(40), 또는 RAM(45)상에 저장되고, 오퍼레이팅 시스템(70), 하나 또는 그 이상의 애플리케이션 프로그램들(75), 다른 프로그램 모듈들(80), 및 프로그램 데이터(85)를 포함한다. A number of program modules are hard-drive 55, the optical drive (65), ROM (40), or a RAM (45) and stored on, the operating system 70, one or more application programs 75, other comprises program modules 80, and program data 85.

본 발명의 예시적인 실시예에서, 탈착 가능한 저장 장치(35)는 PC 컴퓨터들을 위한 논리 블록 어드레싱(LBA) 분할 방법에 일치하는 하드 드라이브이다. In an exemplary embodiment of the invention, the removable storage device 35 is a hard drive that corresponds to a logical block addressing (LBA) division method for the PC computer. 본 발명의 실시예에 따라, 탈착 가능한 저장 장치(35)의 오프셋(0x3E)의 섹터(1)에는 테이블(45)이 저장되고, 다른 블록 위치들에는 마스터 부트 레코드들(60-1 내지 60-y)이 포함되고, 여기서 y는 1보다 큰 수이다. According to an embodiment of the invention, removable storage, and stores the table 45, the sector (1) of the offset (0x3E) of the device 35, the other block position, a master boot record (60-1 to 60- containing a y), where y is a number greater than one. 테이블(45)은 탈착 가능한 저장 장치(35) 내의 다양한 메모리 위치를 식별하고 여기서 여러 타입의 컴퓨터 아키텍쳐들(예를 들어 약간을 명명하면 IA32, Alpha®, Sparc®)과 호환할 수 있는 다양한 마스터 부트 레코드들(60-1 내지 60-y)은 배치된다. Table 45 is a multiple master boot for identifying the various memory locations in the removable storage device 35, and where compatible with the computer architecture of the various types (for example, if a few named IA32, Alpha®, Sparc®) the record (60-1 to 60-y) is disposed. 상기된 바와 같이, 본 발명의 이런 특정 실시예에서, 컴퓨터 시스템(10)의 아키텍쳐 타입은 인텔® 플랫폼 - 윈도우즈® 오퍼레이팅 시스템이다. From, this particular embodiment of the invention, as described above, architecture type of the computer system 10 is the Intel ® platform - a Windows ® operating system. 따라서, 컴퓨터 시스템(10)이 탈착 가능한 저장 장치(35)에 의해 부트스트랩되도록 하기 위하여, 탈착 가능한 저장 장치(35) 내에 저장된 적어도 하나의 마스터 부트 레코드(60-1 내지 60-y)는 인텔® - 윈도우즈® 아키텍쳐와 호환할 수 있다. Thus, the computer system 10 is detachable in order to ensure that the bootstrap according to the available storage devices 35, the removable storage device 35, at least one of the master boot record (60-1 to 60-y) is stored in the Intel ® - it can be compatible with Windows ® architecture. 나머지 마스터 부트 레코드들은 탈착 가능한 저장 장치(35)가 지원하기를 원하는 컴퓨터 아키텍쳐의 타입과 호환할 수 있다. The rest of the master boot record can be compatible with any type of computer architecture to support a removable storage device (35) as possible.

도 2는 여러 타입의 컴퓨터 아키텍쳐와 호환할 수 있는 다양한 마스터 부트 레코드들이 배치되는 탈착 가능한 저장 장치(35) 내의 다양한 메모리 위치를 식별하는 예시적인 테이블(45)을 도시한다. Figure 2 illustrates an exemplary table 45 which identifies a range of memory locations in various types of computer architectures with multiple master boot record to removable storage device 35 disposed that are compatible. 컴퓨터 시스템(10)의 ROM(40)에 저장된 BIOS 프로그램(50), 및 탈착 가능한 저장 장치(35)와 인터페이스하고자 하는 컴퓨터들에 저장된 모든 다른 BIOS 프로그램은 테이블(45)과 호환할 수 있다. All other BIOS program stored in the computer that is stored in the ROM (40) of a computer system (10), the BIOS program 50, and the removable storage device 35 and to the interface can be compatible with the table 45. 본 발명의 본 실시예에서, 예시적인 테이블(45)은 두 개의 컬럼들, 식별자 컬럼(205) 및 아키텍쳐 컬럼(210)을 갖는다. In this embodiment of the invention, an exemplary table 45 has two columns, the identifier column 205 and column architecture 210. 식별자 컬럼(205)은 각각의 타입의 컴퓨터 시스템 아키텍쳐를 위한 각각의 식별자(205-1 내지 205-x로 표시됨)를 열거하고, 여기서 x는 1보다 큰 수이다. Identifier column 205 is the number of enumeration, wherein x is greater than 1, each of the identifier (205-1 through 205-x as shown) for the computer system architecture of each type. 이런 특정 실시예에서, x는 17인데, 그 이유는 탈착 가능한 저장 장치(35)가 지원할 수 있는 17개의 다른 아키텍쳐들이 있기 때문이다. In this particular embodiment, x is the 17, because 17 different architectures that can support the removable storage device 35 are possible. 식별자들은 인덱스들로서 기능하고 식별자 컬럼(205)의 유일한 위치를 나타내는 유일한 8 바이트 엔트리들로 구성된다. Identifiers are serving as an index, and consists of only an 8-byte entry representing a unique position identifier of the column 205.

각각의 타입의 컴퓨터 시스템 아키텍쳐는 컴퓨터 시스템 아키텍쳐 타입을 식 별하는 유일한 식별자가 할당된다. The computer system architecture of the respective type is assigned a unique identifier that identifies the computer system architecture type. 이런 식별자는 본 발명에 따라 설계된 탈착 가능한 저장 장치와 인터페이스하고자 하는 각각의 컴퓨터 시스템의 ROM에 저장, 장착 또는 "버닝(burn)"된다. This identifier is, attached or "burn (burn)" stored in the ROM for each computer system to interface with the removable storage devices designed according to this invention. 식별자들은 잔류하는 컴퓨터 시스템의 BIOS 프로그램과 함께 작동할 수 있다. Identifier can operate with the remaining BIOS program of the computer system. 또한 컴퓨터 시스템의 아키텍쳐 타입을 식별하기 위하여 사용된다. It is also used to identify the type of architecture of the computer system.

본 발명의 이런 실시예에서, 예시적인 식별자 "8686"은 인텔®-윈도우즈® 아키텍쳐에 할당된다. In this embodiment of the invention, an exemplary identifier "8686" it is assigned to Intel architecture ®- Windows ®. 식별자 "8686"은 ROM(40)으로 "버닝"되고, BIOS의 일부로 만들어진다. Identifier "8686" is "burned" into ROM (40), made as part of the BIOS. 인텔®-윈도우즈® 아키텍쳐를 갖는 다른 모든 컴퓨터 시스템은 ROM으로 "버닝된" 동일한 식별자 "8686"를 갖을 것이라는 것을 인지해야 한다. Intel ®- any other computer system with Windows ® architecture should be noted that the ROM will gateul to a "burning" the same identifier "8686". 물론, Alpha®와 같이 서로 다른 타입의 아키텍쳐를 갖는 컴퓨터 시스템은, 예를 들어 ROM으로 "버닝된" "2218"과 같은 다른 식별자를 가질 것이다. Of course, the computer system having the architecture of a different type, such as Alpha®, for example, will have a different identifier, such as the "burning", "2218" to the ROM. 상술한 바와 같이, 식별자는 특정 타입의 컴퓨터 아키텍쳐 또는 플랫폼을 나타낸다. As described above, the identifier indicates a particular type of computer architecture or platform. 따라서, 컴퓨터 시스템의 아키텍쳐 타입은 식별자를 판독하여 결정될 수 있다. Thus, the type of architecture of the computer system may be determined by reading the identifiers. 각각의 식별자는 또한 테이블(45)의 아키텍쳐 컬럼(210) 내 대응 엔트리와 연관된다. Each identifier is also associated with a column architecture 210 within the corresponding entry of the table 45.

테이블(45)은 탈착 가능한 저장 장치(35)가 지원하는 다양한 컴퓨터 아키텍쳐를 위한 마스터 부트 레코드를 위한 메모리 위치들(210-1 내지 210-x로 표시됨)을 열거하는 아키텍쳐 컬럼(210)을 포함한다. The table 45 includes a column architecture 210 to enumerate the memory locations for the master boot record to the various computer architecture that is supported by the removable storage device 35 (shown as 210-1 to 210-x) . 상기된 바와 같이, x는 17이다. As described above, x is 17. 비록 각각 17개의 다른 아키텍쳐를 위한 하나의 식별자가 있지만, 탈착 가능한 저장 장치(35)는 이용 가능하지 않은 17개의 마스터 부트 레코드를 저장하지 않는다. Although each one of the identifier for the 17 different architectures, but the removable storage device 35 does not store the 17 master boot record is not available. 따라서, 테이블(45)은 Arm® 아키텍쳐에 할당된 식별자 "7999"를 나타낼 수 있지만, 탈 착 가능한 저장 장치(35)가 예를 들어 추후에 보다 상세히 논의되는 메모리 공간을 절약하기 위하여 그 내부에 저장된 호환 가능한 마스터 부트 레코드를 갖지 않는 것은 바람직할 수 있다. Thus, the table 45 is stored therein in order to indicate that, but the identifier "7999" is assigned to Arm® architecture, the de-mounting of available storage device 35, for example to conserve memory space it will be discussed in more detail later does not have a compatible master boot record, it may be desirable.

아키텍쳐 컬럼(210-1 내지 210-17)의 메모리 위치 엔트리들은 다양한 아키텍쳐를 위한 마스터 부트 레코드들이 탈착 가능한 저장 장치(35) 내에 배치되는 것을 나타내는 블록 어드레스들이다. Architecture column memory location entries (210-1 to 210-17) are the block address indicating that disposed in the master boot record to the removable storage device 35 for a variety of architectures. 아키텍쳐 컬럼(210)의 모든 엔트리가 6 바이트들이고 여기서 제 1 4개의 바이트들은 논리 블록 어드레스(LBA) 오프셋을 나타낸다. All entries in the columns of the architecture 210 is deulyigo 6 bytes, where the first four bytes represent the logical block address (LBA) offset. LBA 오프셋은 특정 아키텍쳐를 위한 마스터 부트 레코드가 탈착 가능한 저장 장치(35)에 잔류하는 것을 가리킨다. LBA offset indicates that the remaining storable the master boot record for a specific architecture removable device 35. 다른 2 바이트들은 다수의 LBA 섹터들로서 이진 길이를 나타낸다. Another two bytes represent the binary length as a number of sector LBA. 탈착 가능한 저장 장치(35)는 논리 블록 어드레스 방법을 사용하고, 상기 방법은 다른 것 중에서 논리 블록 어드레스 위치를 탈착 가능한 저장 장치상 물리적 블록 어드레스 위치들로 번역하는 것을 포함한다. A removable storage device (35) uses a logical block address method, the method includes translating to the other between the logical block address where the removable storage device a physical block address location.

요약하여, 식별자들(205-1 내지 205-17로 표시됨)은 마스터 부트 레코드들 및 부트스트랩 프로그램들이 저장된 메모리 위치들(210-1 내지 210-17)과 연관된다. In summary, the identifier (shown as 205-1 to 205-17), is associated with the memory location of the master boot record and boot strap programs are stored (210-1 to 210-17). 따라서, 만약 특정 타입의 컴퓨터 아키텍쳐의 식별자가 공지되면, 테이블(45)은 탈착 가능한 저장 장치(35)에 저장된 부트스트랩 프로그램(예를 들어, 부트 로더) 및 호환 가능하거나 대응하는 마스터 부트 레코드를 배치하기 위해 사용될 수 있다. Thus, if a particular type of an identifier of a computer architecture known, table 45 is a removable storage bootstrap program stored in the device 35 (e.g., a boot loader) and compatible or place the corresponding master boot record to It may be used to.

상기된 바와 같이, 비록 테이블(45)에 17개의 다른 아키텍쳐들 각각을 위해 하나의 식별자가 있지만, 탈착 가능한 저장 장치(35)는 이용할 수 없게 된 17개의 마스터 부트 레코드를 저장하지 않는다. , Although in the table 45 for the 17 different architectures, but each one of the identifiers, the removable storage device 35 as described above does not store 17 the master boot record can not be used. 특정 타입의 아키텍쳐에 대한 마스터 부트 레코드를 포함하지 않는 것이 바람직한 상황들에서, 널(NULL) 또는 "0" 값들은 지원되지 않는 아키텍쳐 타입의 식별자에 대응하는 아키텍쳐 컬럼(210) 내 빈 엔트리를 나타내기 위하여 사용된다. Indicate the architecture column 210 within an empty entry corresponding to In it the desired situation does not contain the master boot record, a null (NULL) or a value "0" are in unsupported architecture type identifier for the architecture of the particular type to be used. 예를 들어, 만약 탈착 가능한 저장 장치(35)가 Cris® 아키텍쳐를 지원하지 않는 것이 바람직하면, 식별자 "7853"은 메모리 위치를 가지기 보다 아키텍쳐 컬럼(210)에 널 또는 "0" 값들과 연관된다. For example, if the removable storage device 35 is preferably that does not support Cris® architecture, the identifier "7853" is associated with a null or "0" values ​​in the columns of the architecture 210 gajigi than the memory location. 게다가, 탈착 가능한 저장 장치(35)는 Cris® 아키텍쳐에 대한 호환 가능한 마스터 부트 레코드를 저장하지 않고, 따라서 메모리 공간을 절약한다. In addition, the removable storage device 35 without storing the master boot record is compatible to the Cris® architecture, and thus save memory space. 테이블(45)을 참조하여, Cris® 아키텍쳐 메모리 위치(210-3으로 표시됨)는 "0000" 엔트리를 갖는다. Refer to the table 45 by, Cris® architecture memory locations (indicated by 210-3) has a "0000" entry. 테이블(45)의 제 1 엔트리는 대응하는 값 x86 HLT(0xF4)(215로 표시됨)를 가진 인덱스 "0"(220으로 표시됨)이다. A first entry of table 45 is with the corresponding value x86 HLT (0xF4) (indicated at 215) to the index "0" (shown at 220). x86 HLT(0xF4) 오피코드는 이전 인텔® 아키텍쳐들이 탈착 가능한 저장 장치(35) 내 임의의 마스터 부트 레코드를 잘못되게 실행하는 것을 방지하는 중단 명령이다. x86 HLT (0xF4) opcode is a stop command to prevent erroneously executed the previous Intel ® architecture to a removable storage device (35) in any of the master boot record.

도 3은 예시적인 실시예에 따른 컴퓨터 시스템(10) 및 탈착 가능한 저장 장치(35)에 의해 수행되는 방법의 흐름도를 도시한다. Figure 3 illustrates a flow diagram of a method performed by the computer system 10 and the removable storage device 35 according to an example embodiment. 컴퓨터 시스템(10)이 턴온될 때, 처리기(15)는 ROM(40)의 메모리 위치로 진행하고 BIOS 프로그램(50)을 실행하기 시작한다(블록 305). When computer system 10 is turned on, the processor 15 proceeds to a memory location of the ROM (40) and begins executing the BIOS program 50 (block 305). 임의의 인텔®-윈도우즈® 아키텍쳐에서, BIOS 프로그램(50)은 전력 인가 자체 검사(POST) 및 마스터 부트 레코드 검색을 수행한다. In any Windows ®- Intel ® architecture, BIOS program 50 performs the power applied to the self-test (POST) and the master boot record search. BIOS 프로그램(50)은 예를 들어 광학 드라이브(65), 하드 드라이브(55), 및 인터페이스(90)에 작동 가능하게 결합된 유니버셜 시리얼 버스 같은 컴퓨터 시스템(10)에 결합되고 상기 컴퓨터 시스템의 일부인 장치들을 갖는다. BIOS program 50 is for example coupled to the optical drive 65, hard drive 55, and an interface 90. The computer system 10, such as operably coupled universal serial bus to be a device that is part of the computer system has the. 따라서, BIOS 프로그램(50)은 상기 장치들과 상호작용하고 상기 장치들을 검출할 수 있다. Therefore, it is possible to BIOS program 50 may interact with the device, and detects the device. 예를 들어, 탈착 가능한 저장 장치(35)와 상호작용하고 상기 장치를 검출할 수 있다. For example, it is possible to interact with the removable storage device 35, and detects the device.

종래 기술 시스템들에서, 마스터 부트 레코드가 배치된 드라이브를 식별하면, BIOS 프로그램은 섹터 1(512 바이트 영역), 마스터 부트 레코드가 저장된 장치의 LBA#0 및 부트스트랩 코드가 저장된 오프셋 0x3E(448 바이트 영역)을 찾는다. In prior art systems, when the identifying the drive that the master boot record layout, BIOS program sector 1 (512-byte area), LBA # 0 and the bootstrap code is stored offset 0x3E (448-byte area of ​​the master boot device records are stored ) look for. BIOS 프로그램은 마스터 부트 레코드를 RAM에 카피하고 제어부를 마스터 부트 레코드에 전달한다. The BIOS program is copied and passes the control to the master boot record to a master boot record into RAM. 마스터 부트 레코드는 컴퓨터 시스템을 제어하고 더 이상 필요하지 않을 때까지 코드를 로드한다. The master boot record to load the code until the controlling computer system is no longer needed.

본 발명의 실시예에 따라, 테이블(45)은 마스터 부트 레코드보다 탈착 가능한 저장 장치(35)의 섹터(1)에 저장된다. According to an embodiment of the invention, table 45 is stored in the sector (1) of the storage device 35 is detachable than the master boot record. 마스터 부트 레코드 및 부트스트랩 코드는 테이블(45)에 따라 탈착 가능한 장치(35)의 메모리 위치들(60-1 내지 60-y) 중 하나에 재배치되고, 여기서 y는 탈착 가능한 저장 장치(35) 내에 저장된 마스터 부트 레코드들의 수와 동일하다. In the master boot record and boot strap code table memory locations of the releasable device (35) according to 45 (60-1 to 60-y) is relocated to one, where y is a removable storage device 35 it is equal to the number of saved master boot record. 또한 본 발명의 실시예에 따라, 마스터 부트 레코드 및 부트스트랩 코드는 다른 마스터 부트 레코드들 및 부트스트랩 코드들 사이에 저장되고, 그 각각은 다른 타입의 컴퓨터 시스템 아키텍쳐와 호환할 수 있다. In addition, according to an embodiment of the invention, is stored between the master boot record and boot strap code is different master boot record and boot strap code, each of which can be compatible with other types of computer system architecture. 도 2를 참조하여, 마스터 부트 레코드 및 인텔®-윈도우즈® 아키텍쳐에 대한 부트스트랩 코드의 메모리 위치는 XXX(210-4로 표시됨)이다. Is also a reference to a memory location of the bootstrap code of the master boot record and the Intel ®- Windows ® architecture XXX (shown as 210-4).

따라서, BIOS 프로그램(50)은 섹터 1에 배치된 테이블(45)을 판독하고 컴퓨터 시스템(10)의 아키텍쳐와 호환할 수 있는 마스터 부트 레코드 및 부트스트랩 코 드의 위치를 발견하기 위하여 ROM(40)에 버닝된 식별자를 사용한다. Therefore, BIOS program 50 includes a ROM (40) for reading a table (45) arranged in sectors 1 and find an architecture with a master boot record and boot position of the strap code that can be compatible with the computer system 10 to use the burning identifier. 게다가, BIOS 프로그램(50)은 정보를 선택하고 테이블(45)로부터 옵션들을 실행하기 위하여 구성된다. Moreover, the BIOS program 50 is configured to select the information and executes the options from the table 45. 선택적으로, 테이블(45)의 정보 및 옵션들은 선택되고 BIOS 프로그램(50)과 작동하는 ROM(40)에 저장된 프로그램을 통하여 실행된다. Alternatively, they are selected information and options for the table 45 is executed by a program stored in the ROM (40) to operate the BIOS program 50.

도 3을 다시 참조하여, 처리기(15)는 탈착 가능한 저장 드라이브(35)를 식별하고 미리 정의된 메모리 위치에 배치된 테이블(45)에 액세스하는 BIOS 프로그램(50)을 계속 실행한다(블록 310). Referring to Figure 3 again, processor 15 continues executing the BIOS program 50 to access the table (45) disposed at a memory location identified a removable storage drive 35, and pre-defined (block 310) . 이 예에서, 미리 정의된 메모리 위치는 섹터 1(512 바이트 영역) 및 보다 특정하게 탈착 가능한 저장 장치(35)의 오프셋 0x3E(448 바이트 영역)이다. In this example, the pre-defined memory location is sector 1 (512-byte area) and the specific offset than the removable storage device (35) 0x3E (448-byte area). 컴퓨터 시스템(10)에 대한 식별자를 알고, BIOS 프로그램(50)은 테이블(45)에 식별자 "8686"(205-4로 표시됨)을 배치한다(블록 315). Places the know the identifier of the computer system (10), BIOS program 50 (shown as 205-4), the identifier "8686" in the table 45 (block 315). 상기된 바와 같이, 본 발명의 실시예에 따라, 식별자는 인덱스로서 기능한다. As described above, according to an embodiment of the invention, the identifier acts as an index. 따라서, BIOS 프로그램(50)이 테이블을 통하여 반복하지 않고 테이블(45)에서 특정 위치를 발견하게 한다. Therefore, the BIOS program 50 is found in a location table 45 without repeated through the table. 상기된 바와 같이, 이 실시예에서, 컴퓨터 시스템(10)은 "8686" 식별자가 할당된 인텔®-윈도우즈® 아키텍쳐를 바탕으로 한다. And in this embodiment, the computer system 10 is based on an Intel architecture Windows ® ®- the "8686" is assigned to the identifier, as described above.

순차적으로, BIOS 프로그램(50)은 식별자 "8686"과 연관된 아키텍쳐 컬럼(210)내 메모리 위치 엔트리를 판독한다(블록 320). Subsequently, BIOS program 50 is read out column architecture 210, the memory location associated with the entry identifier "8686" (block 320). 이 실시예에서, 식별자 "8686"과 연관된 아키텍쳐 컬럼(210)의 엔트리는 XXXX(210-4로 표시됨)이고, 이것은 호환 가능한 마스터 부트 레코드가 탈착 가능한 저장 장치(35) 내에 배치되는 메모리 위치를 나타낸다. In this embodiment, the entry of the identifier "8686" architecture, a column 210 represents a memory location associated with the disposed within XXXX (shown as 210-4) and it is compatible with the master boot record removable storage device 35 . LBA 방법 다음, 탈착 가능한 저장 장치(35)는 논리적 블록 어드레스를 매체상에서 호환 가능한 마스터 부트 레코드가 배치된 장소를 나타 내는 물리적 블록 어드레스로 번역한다. LBA method is translated into the following, a removable storage device 35 is a logical block address to a physical block that indicates a compatible master boot records are arranged location on the medium address. BIOS 프로그램(50)은 LBA 오프셋(xxx)에서 메모리 위치에 액세스하고 마스터 부트 레코드를 RAM(45)에 카피한다(블록 325). BIOS program 50 has access to a memory location in the LBA offset (xxx) to copy the master boot record into the RAM (45) (block 325). 컴퓨터 시스템(10)은 마스터 부트 레코드를 실행하고 제어부를 마스터 부트 레코드에 전달한다(블록 330). The computer system 10 includes a pass execution control to the master boot record to a master boot record (block 330). 마스터 부트 레코드는 컴퓨터 시스템(10)을 제어하고 더 이상 필요하지 않을 때까지 코드를 계속 로딩하고, 이것은 하드 드라이브(55)로부터 RAM(45)에 컴퓨터 시스템의 오퍼레이팅 시스템을 로딩하는 것을 포함한다. The master boot record will continue to load the code when it is not required, it controls the computer system 10 and longer, and this involves loading the operating system of the computer system to the RAM (45) from the hard drive (55).

상기된 바와 같이, 본 발명의 실시예에 따라, 탈착 가능한 저장 장치(35)는 다른 아키텍쳐를 가진 제 2 컴퓨터 시스템에 작동 가능하게 연결된 컴퓨터 시스템(10)으로부터 분리될 수 있고 제 2 컴퓨터 시스템을 부트스트랩한다. As described above, according to an embodiment of the invention, the detachable storage device 35 may be separated from the second computer system, the computer system 10 operatively connected to with a different architecture and boot the second computer system The strap.

예를 들어, 도 4는 상기된 방법 및 시스템에 따라 탈착 가능한 저장 장치(35)의 일반적인 예시적 블록도를 도시한다. For example, Figure 4 illustrates a general block diagram of an exemplary removable storage device 35 in accordance with the method and system. 제 1 예시적인 실시예에서, 탈착 가능한 저장 장치(35)는 인텔® 아키텍쳐를 포함하는 컴퓨터 시스템(410)에 작동 가능하게 결합된다. In the first illustrative embodiment, the removable storage device 35 is operably coupled to a computer system 410 that includes an Intel ® Architecture. 컴퓨터 시스템(410)이 턴온될 때, BIOS 프로그램은 테이블(45)의 식별자에 액세스한다. When the computer system 410 is turned on, BIOS program to access the identifier for the table 45. 테이블(45)로부터, BIOS 프로그램은 마스터 부트 레코드(430)의 위치를 결정하고, 마스터 부트 레코드를 카피하고 이를 실행되는 컴퓨터 시스템(410)에 저장한다. From the table 45, the BIOS program stored in the computer system 410 determine the location of the master boot record (430), and copy and execute it the master boot record.

제 2 예시적인 실시예에서, 탈착 가능한 저장 장치(35)는 Alpha® 아키텍쳐를 포함하는 컴퓨터 시스템(420)에 작동 가능하게 결합된다. In the second illustrative embodiment, the removable storage device 35 is operably coupled to a computer system 420 including a Alpha® architecture. 컴퓨터 시스템(420)이 턴온될 때, BIOS 프로그램은 테이블(45)의 식별자에 액세스한다. When the computer system 420 is turned on, BIOS program to access the identifier for the table 45. 테이블(45)로부터, BIOS 프로그램은 마스터 부트 레코드(440)의 위치를 결정하고, 마스터 부트 레 코드를 카피하고 실행되는 컴퓨터 시스템(420)의 RAM에 이를 저장한다. From the table 45, the BIOS program stores it in RAM in the master boot record (440) determining the location and the computer system 420 to be copied to run the master boot record of.

상기는 본 발명의 원리들을 단순하게 도시한다. The above merely illustrates the principles of the invention. 따라서 당업자가 본 발명의 원리들을 구현하고 따라서 본 발명의 사상 및 범위내에 있는 다수의 다른 장치들을 고안할 것이라는 것이 인식될 것이다. Therefore, those skilled in the art will recognize that implementation of the principles of the invention and thus will be designed a number of other devices that fall within the spirit and scope of the invention.

예를 들어, 상기 개시를 바탕으로, 탈착 가능한 저장 장치가 SD 메모리 카드, 컴팩트 플래시 카드, 멀티미디어 카드 또는 다른 탈착 가능한 카드 또는 메모리 장치 같은 메모리이고 본 발명의 원리들을 쉽게 수용할 수 있다는 것은 명백하다. For example, on the basis of the disclosure, but that the removable storage device is an SD memory card, compact flash card, a multimedia card, or a memory such other removable card or memory device can easily accommodate the principles of the present invention it is obvious.

게다가, 개시물을 바탕으로, 본 발명의 원리들이 컴퓨터 시스템(10)의 RAM(45)에 로딩되는 테이블을 쉽게 수용할 수 있다는 것은 명백하다. In addition, based on the disclosure, the principle of the invention it is obvious that it can easily accommodate the tables loaded in the RAM (45) of the computer system 10. 본 발명의 예시적인 실시예에서, ROM(40)의 BIOS 프로그램은 탈착 가능한 저장 장치(35)에 저장된 테이블(45)을 배치하고 테이블(45)을 RAM(45)에 로딩한다. In an exemplary embodiment of the present invention, BIOS program of the ROM (40) is disposed a table (45) stored in the removable storage device 35 and load the table 45 in the RAM 45. BIOS 프로그램은 테이블을 통하여 ROM(40)에 저장된 식별자와 매칭하는 식별자를 검색하는 것을 반복한다. The BIOS program is repeated to retrieve the identifier with an identifier that matches stored in the ROM (40) through the table. 상기 예시적인 실시예들과 같이, 식별자들은 여러 타입의 컴퓨터 아키텍쳐를 나타내지만, 이 실시예에서 식별자들은 인덱스들로서 기능하지 않고 다른 타입의 아키텍쳐를 간단히 식별한다. As with the illustrative embodiment, the identifier may only represent a different type of computer architecture, in this embodiment identifiers identifies a different type of architecture does not simply function as an index. 따라서, BIOS 프로그램은 인덱스로서 기능한 식별자를 가지는 경우처럼, 테이블(45)의 적당한 식별자로 특정하게 진행하기 보다 적당한 식별자를 테이블(45)을 통하여 반복하여 검색하여야 한다. Therefore, BIOS programs are to be repeatedly search through the table 45, the appropriate identifier, rather than specific to proceed to an appropriate identifier, the table 45, as is the case with the identifier as an index function.

식별자가 테이블(45)에 배치된 후, BIOS 프로그램은 식별자와 연관된 메모리 위치를 판독하고 탈착 가능한 저장 장치(35)에 배치된 적당한 마스터 부트 레코드 를 액세스한다. , BIOS program accesses the appropriate master boot records are arranged in the storage device 35 can read out and remove the memory location associated with the identifier and then the identifier is disposed on the table 45. BIOS 프로그램은 탈착 가능한 저장 장치(35)로부터 마스터 부트 레코드를 카피하고 처리기(15)가 마스터 부트 레코드를 실행하는 RAM(45)에 이를 로딩한다. The BIOS program is loaded it to the RAM (45) to copy the master boot record from a removable storage device 35 and the processor 15 executes the master boot record.

본 발명의 이 실시예에서, 이 실시예의 식별자들이 인덱스들로서 기능하지 않기 때문에, 테이블의 아키텍쳐 컬럼에 빈 엔트리들(예를 들어 널 또는 "0" 값들)이 없다. In this embodiment of the present invention, since the present embodiment does not function as an identifier to the index, there is no empty entry (e.g. a null or "0" values) the architecture column of the table. 테이블은 탈착 가능한 장치(35)에 저장된 마스터 부트 레코드를 가진 식별자들만을 저장하여, 테이블 및 보다 작은 테이블에 빈 엔트리들이 없다. The table stores only the identifier with the master boot record is stored on the removable device 35, there are no empty entries in the table, and a smaller table. 예를 들어, 만약 Arm® 아키텍쳐를 가진 컴퓨터 시스템을 구비한 탈착 가능한 저장 장치(35)를 사용하지 않을 경우, 탈착 가능한 저장 장치(35)에 저장된 Arm® 호환 가능 마스터 부트 레코드는 없고, 테이블에 Arm® 식별자 또는 메모리 위치는 없다. For example, if not, if not in use having a computer system with an architecture Arm® removable storage device 35, Arm® compatible with the master boot record stored in the removable storage device 35, the table Arm there is no identifier ® or a memory location. 물론, 식별자가 인덱스로서 작동하지 않기 때문에, BIOS 프로그램은 테이블의 각각의 식별자를 통하여 올바른 아키텍쳐를 위해 식별자를 반복하여 배치한다. Of course, since the identifier is not working as an index, BIOS program is arranged to repeat the identifier for the correct architecture through the respective identifiers in the table.

본 발명의 다른 실시예에서, 컴퓨터 시스템은 운용되고 오퍼레이팅 시스템은 이미 로딩되었다. In a further embodiment of the invention, the computer system is operating, the operating system has been loaded. 본 발명의 이 실시예에서, 다중 애플리케이션은 탈착 가능한 저장 장치(예를 들어 SD 카드)상에 저장된다. In this embodiment of the present invention, the multi-application removable storage device (such as an SD card) is stored on the. 예를 들어, 3 재생 음악 애플리케이션은 탈착 가능한 저장 장치 상에 저장되고, 각각의 상기 저장 장치는 다른 컴퓨터 아키텍쳐와 호환할 수 있다. For example, the three play music applications are stored on a removable storage device, each of the storage devices may be compatible with different computer architectures. 탈착 가능한 저장 장치가 컴퓨터 시스템에 작동 가능하게 결합될 때, 탈착 가능한 저장 장치는 인식된다. When the removable storage device is operably coupled to a computer system, the removable storage device is recognized. 컴퓨터 시스템의 식별자 및 탈착 가능한 저장 장치내 테이블을 아는 자동 운용 프로그램은 식별자와 연관된 재생 음악 애플리케이션이 배치된 메모리 위치를 배치한다. Automatic operation knowing my table an identifier of a computer system and removable storage devices placing the program memory location associated with the identifier Play Music application is deployed. 추후, 자동 운행 프로그 램은 컴퓨터 시스템상 호환 가능한 재생 음악 애플리케이션을 로딩하고, 여기서 애플리케이션은 탈착 가능한 저장 장치에 저장된 콘텐트(데이터 파일들, 음악 파일들)를 플레이할 수 있다. Further, the automatic driving program is loaded onto a computer system, compatible playback music application, wherein the application may play the content (the data files, music files) stored on removable storage devices. 예시적인 컴퓨터 시스템 아키텍쳐들은 Palm®, 윈도우즈 CE® 및 윈도우즈®이다. An exemplary computer system architecture are Palm®, Windows CE® and Windows ®.

게다가, 시스템은 다양한 기능들이 이산 기능 블록들에 의해 수행되는 형태로 개시된다. In addition, the system is started in the form a variety of functions performed by discrete functional blocks. 그러나, 이들 기능들 중 임의의 하나 또는 그 이상은 이들 블록들의 임의의 하나 또는 그 이상의 기능들이 다양한 매체들에 저장된 소프트웨어 프로그램들을 운용하거나 펌웨어에 프로그램된 기능들을 가진 하나 또는 그 이상의 적당하게 프로그램된 처리 장치들에 의해 구현되는 장치에서 똑같이 구현될 수 있다. However, these features one or more of any of the processes of operation of a software program stored in any one or more features to various media of these blocks or one having a function programmed in the firmware or more suitably programmed It can be equally implemented in a device that is implemented by the devices.

게다가, 당업자는 본 발명이 핸드 헬드 장치들, 마이크로처리기 시스템들, 마이크로처리기 바탕 또는 프로그램 가능 고객 전자제품들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 및 등등을 포함하는 다른 컴퓨터 시스템 구성들로 실시될 수 있는 것을 인식할 것이다. Moreover, those skilled in the art other computer system configurations, including the present invention is hand-held devices, microprocessor systems, microprocessor based or programmable consumer electronics products, network PC, the mini-computer, mainframe computer, and so it will be appreciated that it can be carried out in the field.

마지막으로, 본 발명들은 상기 방법들을 수행하기 위한 소프트웨어를 포함하는 구성된 컴퓨터 프로그램 저장 매체(예를 들어, CD-ROM, 하드 디스크, RAM)에서 구현될 수 있다. Finally, the present invention can be implemented in a computer program storage medium (e.g., CD-ROM, hard disk, RAM) configured to include software for performing the method.

다양한 개시된 실시예들에 따라, 전자 시스템이 제공되고; According to various disclosed embodiments, provided by the electronic system, and; 상기 전자 시스템은 적어도 하나의 제어 처리기; The electronic control system includes at least one processor; 및 상기 제어 처리기에 액세스 가능하도록 작동 가능하게 연결된 휴대용 데이터 모듈; And a portable data module operatively connected to be accessible to the control processor; 상기 휴대용 데이터 모듈은 적어도 두 개의 상호 호환할 수 없는 아키텍쳐를 위한 부트 코드를 포함하고; The portable data module comprises a boot code for the architecture that can not be compatible with at least two mutually; 상기 휴대용 데이터 모 듈은 상기 부트 코드들의 어느 것이 상기 비호환성 아키텍쳐들 중 어느 것을 필요로 하는지 나타내는 데이터 구조를 포함하여; That the portable data module is one of the boot code including the data structures shown do not require any of the above incompatibility architecture; 상기 제어 처리기는 부팅시 상기 데이터 구조를 찾을 수 있고, 상기 제어 치리기의 아키텍쳐에 의해 요구되는 상기 부트 코드들 중 어느 것을 사용해서도 부트 처리를 계속한다. The control processor continues the boot process also using the any of the boot code that is required by the architecture of the group when it is possible to find the data structure, wherein the control governing boot.

다양한 개시된 실시예들에 따라, 전자 시스템이 제공되고: 상기 전자 시스템은 적어도 하나의 제어 처리기; In accordance with various embodiments disclosed embodiment, the electronic system being provided: the electronic control system includes at least one processor; 일시적으로 연결되고 이에 따라 상기 제어 처리기에 일시적으로 액세스 가능한 휴대용 데이터 모듈을 포함하고; Depending being temporarily connected thereto and including temporarily accessible portable data module to said control processor; 상기 휴대용 데이터 모듈은 적어도 두 개의 상호 비호환성인 아키텍쳐를 위한 부트 코드들, 및 상기 아키텍쳐들이 상기 부트 코드들 중 어느 것을 필요로 하는지 나타내는 데이터 구조를 포함하고; The portable data module comprises a data structure that indicates that a boot codes, and optionally any of the above architectures are the boot code for the architecture of at least two mutually incompatible; 및 저장된 초기 명령 시퀀스를 포함하고, 상기 제어 처리기는 전력이 인가시 실행하고, 상기 제어 처리기의 아키텍쳐에 의해 요구되는 상기 부트 코드들 중 어느 것을 사용해서도 부트 처리를 계속하도록 상기 데이터 구조를 사용하게 한다. And includes stored initial command sequence, the control processor is configured to use the data structure so as to continue to FIG boot process by using any of said boot code, power is executed upon application and required by the architecture of the control processor do.

다양한 개시된 실시예들에 따라, 컴퓨터 시스템이 제공되고: 상기 컴퓨터 시스템은 그 내부에 저장된 기본 입력/출력 시스템(BIOS) 코드를 가진 판독 전용 메모리(ROM)를 포함하고, 여기서 BIOS 코드는 컴퓨터 시스템의 아키텍쳐 타입과 연관된 식별자를 알고 다수의 컴퓨터 아키텍쳐를 위한 다수의 부트스트랩 코드가 저장된 탈착 가능한 저장 장치내 다수의 메모리 위치를 식별하는 테이블을 가진 미리 정의된 메모리 위치를 알고; In accordance with embodiments various disclosed example, a computer system is provided with: the computer system includes a read only memory (ROM) having a basic input / output system (BIOS) code stored therein, where the BIOS code on the computer system, knows the identifier associated with the known type of architecture for a multiple number of computer architectures of the boot predefined memory location with a table strap code is identified, the number of memory locations in the removable storage device is stored; ROM에 결합된 인터페이스; ROM interface coupled to; 및 상기 인터페이스에 결합된 처리기를 포함하고, 상기 처리기는 탈착 가능한 저장 장치를 검출하기 위하여 BIOS 코드를 실행하고 만약 검출되면 미리 정의된 메모리 위치에 배치하고, 상기 식별자와 연관된 부트스트랩의 위치를 테이블로부터 결정하고, 컴퓨터 시스템에 부트스트랩 코드를 로딩하고 부트스트랩 코드를 실행한다. And the processor, and includes a processor coupled to the interface, from the table, the location of the bootstrap associated Once the BIOS code, and if the detection arrangement in the memory location pre-defined, and with the identifier in order to detect the removable storage device, determination, and loading the bootstrap code into a computer system and execute the boot strap code.

다양한 개시된 실시예들에 따라, 탈착 가능한 비휘발성 메모리가 제공되고, 상기 탈착 가능한 비휘발성 메모리는: 탈착 가능한 비휘발성 메모리의 미리 정의된 메모리 위치에 저장된 테이블을 포함하고, 상기 테이블은 비휘발성 메모리 내의 다수의 메모리 위치를 식별하고; In accordance with embodiments various disclosed example, a removable non-volatile memory is provided, a non-volatile memory is available the releasable comprises: including a table stored in a detachable nonvolatile memory predefined memory locations, and the table is in the non-volatile memory identifying a plurality of memory position; 및 테이블과 연관된 다수의 메모리 위치들에 저장된 다수의 컴퓨터 아키텍쳐와 연관된 다수의 애플리케이션을 포함한다. And a plurality of the plurality of multiple applications associated with the computer architecture, are stored in memory locations associated with the table.

다양한 개시된 실시예들에 따라, 프로그램 가능한 시스템을 작동시키기 위한 방법이 제공되고, 상기 방법은: a) 시작시 시스템의 아키텍쳐 타입에 따라 다른 부트 파일들에 대한 다른 위치를 나타내는 데이터 구조에 의해 지정된 어드레스에서 휴대용 데이터 모듈로부터 실행을 위한 부트 파일을 검색하는 단계; In accordance with embodiments various disclosed example, the program method is provided for operating the available system, the method comprising: a) an address specified by the data structure represents a different position for a different boot file according to the architecture type of system startup retrieving a boot files for execution from the portable data module from; 및 b) 시스템을 작동으로 자동으로 시작하기 위하여 상기 부트 파일을 사용하는 단계를 포함한다. And b) comprises the step of using the boot files to automatically starting the system operation.

다양한 개시된 실시예들에 따라, 프로그램 가능한 시스템을 작동시키기 위한 방법이 제공되고, 상기 방법은: 호스트 시스템에 저장된 초기 명령 시퀀스를 사용하여 시스템에 전력을 인가하는 단계; According to various disclosed embodiments, a method is provided, wherein the method for operating a programmable system, the method comprising: using the initial instruction sequence stored in the host system applying power to the system; 및 상기 초기 명령 시퀀스의 제어하에서 시스템의 아키텍쳐 타입에 따라 다른 부트 파일들에 대해 다른 위치를 지정하는 휴대용 데이터 모듈의 데이터 구조에 의해 지정된 휴대용 데이터 모듈의 위치로부터 다중 부트 파일들 중 몇몇을 로딩하지만 다른 다중 부트 파일은 로딩하지 않는 단계; And the initial instruction sequence loads some of the multi-boot files from the location of the portable data module specified by the architecture type of system by the data structure of the portable data module that specifies a different location for the other boot files under the control of, but other dual-boot file is not the loading phase; 및 상기 시스템을 작동으로 자동으로 시작하기 위하여 상기 부트 파일을 사용하는 단계를 포함한다. And a step of using the boot files to automatically start the system to work.

다양한 개시된 실시예들에 따라, 컴퓨터 시스템상에서 실행되는 방법이 제공되고, 상기 방법은: 탈착 가능한 비휘발성 메모리에 미리 정의된 메모리 위치를 배치하기 위하여 기본 입력/출력 시스템(BIOS)을 실행하는 단계를 포함하고, 상기 미리 정의된 메모리 위치는 다수의 컴퓨터 아키텍쳐들에 대한 다수의 부트스트랩 코드가 저장되는 탈착 가능한 비휘발성 메모리 내 다수의 메모리 위치를 식별하는 테이블을 가지며; In accordance with embodiments various disclosed example, a method executed on a computer system is provided, the method comprising: a step of executing a basic input / output system (BIOS) in order to place the memory location predefined in the removable non-volatile memory and wherein the pre-defined memory location has a table identifying a plurality of bootstrap code is releasable non-volatile memory within the plurality of memory locations to be stored for a number of computer architectures; 컴퓨터 시스템의 아키텍쳐 타입과 연관된 식별자와 연관된 부트스트랩 코드의 위치를 테이블로부터 결정하기 위하여 BIOS를 실행하는 단계; Executing the BIOS to determine the location of an architecture type and bootstrap code associated with the identifier associated with the computer system from the table; 및 컴퓨터 시스템에 부트스트랩 코드를 로딩하고 부트스트랩 코드를 실행하기 위하여 BIOS를 실행하는 단계를 포함한다. And loading the bootstrap code into a computer system and comprising the step of running the BIOS in order to execute the boot strap code.

다양한 개시된 실시예들에 따라, 비휘발성 메모리를 가진 휴대용 모듈로부터 멀티플랫폼 부팅하기 위한 방법들, 시스템들, 및 아키텍쳐들이 제공된다. According to various disclosed embodiments, the method of booting a multi-platform from a portable module having a non-volatile memory, is provided with systems, and architecture. 바람직하게 휴대용 모듈은 전력 인가시 호스트가 적당한 이진수를 로딩하기 위하여 올바른 오프셋을 계산할 수 있는 테이블과 함께 다중 시스템 아키텍쳐를 부팅하기 위한 올바른 이진수들을 갖는다. Preferably the portable module has the correct binary to multi-boot the system architecture with a table to calculate the correct offset to load the host when the appropriate power is a binary number.

수정예와 변형예 Modification and modification

당업자에 의해 인식될 바와 같이, 본 출원에 기술된 혁신적인 개념들은 애플리케이션들의 거대한 범위에 걸쳐 변형 및 변화되고, 따라서 본 특허 주제의 범위는 주어진 특정 예시적인 지침들 중 임의의 것으로 제한되지 않는다. As will be appreciated by those skilled in the art, the innovative concepts described in the present application are modifications and changes over a huge range of applications, and therefore the scope of the patent subject is not limited to any of the given specific example instructions. 첨부된 청구 항들의 사상 및 넓은 범위내에 속하는 모든 상기 대안들, 변형들 및 변화들이 열거된다. All the alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims, wherein are listed.

휴대용 모듈로부터 부팅하는 시스템은 단어의 엄격한 의미에서 컴퓨터뿐 아니라, 게임 머신, PDA, 또는 프로그램들을 실행할 수 있는 다른 복합 시스템일 수 있다. System to boot from a portable module may be another complex system that can execute, game machine, PDA, or computer programs, as well as in the strict sense of the word.

휴대용 모듈은 SD 또는 MS 메모리 유니트가 아니라, 아직 존재하지 않는 사양들을 포함하는 탈착 가능한 메모리에 대한 임의의 넓은 범위의 물리적 및 전자적 사양들을 따를 수 있다. The portable module may conform to the physical and electronic specifications of any of a wide range of the removable memory containing the specification or not the SD memory unit MS, that does not already exist.

상기된 다양한 오퍼레이팅 시스템들 및 하드웨어 아키텍쳐들은 단순히 예들이다 - 개시된 본 발명들은 미래에 나타날 수 있는 매우 넓은 범위의 환경들에 적용할 수 있다. Of the various operating systems and hardware architectures are merely examples - the invention described may be applied to an extremely wide range of environments which may appear in the future.

테이블 포맷 및 코딩은 상기 실시예들에 기술되지 않았지만, 물론 당업자에 의해 잘 이해될 바와 같이 폭넓게 변형될 수 있다. Table format and coding can be widely modified as described, have not been described in the above embodiments, of course, it is understood by those skilled in the art.

테이블 위치는 너무 상기 실시예들에 기술된 위치를 가질 필요가 없다. Table position need not have the location described in the above embodiments so. 하나의 선택적인 대안에서, 테이블의 다른 버젼은 상기된 테이블 위치 외에 또는 상기 위치 대신 다른 위치에 포함된다. In one optional alternative, a different version of the table in place of or in addition to the position of the table position it is included in the other position.

휴대용 모듈로부터의 부팅이 수동으로 도움을 받음을 수 있는 것은 가능하다. Being able to boot from portable module receiving the help manual is available. 예를 들어, 컴팩트 유니트는 비록 정상적인 부트 시퀀스가 휴대용 모듈로 브랜치하지 않지만, 로더 프로그램이 부착된 휴대용 모듈내 데이터 테이블에 지정된 위치로부터 부팅을 허용하게 하는 상태를 셋업하기 위하여 사용자가 상호작용을 허용 할 수 있다. For example, a compact unit to the user and allows the interaction to Though a normal boot sequence, is to set up a state in which it allows the boot from the position specified in the data table does not branch to a portable module, the loader program is attached to the portable module can.

본 출원의 상세한 설명 중 어느 것도 임의의 특정 엘리먼트, 단계, 또는 기능이 청구 범위내에 포함되어야 하는 필수 엘리먼트인 것을 의미하는 것으로 판독되지 않는다: 특허 주제의 범위는 허용된 청구항들에 의해서만 한정된다. It not any of the detailed description of the present application is read to mean that any particular element, step, or function is essential elements that should be included in the claims: the scope of patented subject is defined only by the allowed claims. 게다가, 이들 청구항들 중 어느 것도 만약 정확한 단어들 "수단" 다음에 분사가 뒤따르지 않으면 35 USC 섹션(112)의 그래프 6을 호출하는 것으로 의도되지 않는다. In addition, any of these claims it If the correct word "means" then is injected followed, the are not intended to invoke the graph 6 of 35 USC section 112.

출원된 청구항들은 가능한 한 포괄적이고, 주제는 의도적으로 포기되고, 전용되거나, 철회되지 않는다. Filed claims and comprehensive as possible, the subject is intentionally abandoned, private, or not withdrawn.

상술한 바와 같이, 본 발명은, 탈착 가능한 저장 장치로부터 다중 아키텍쳐 부트스트랩핑(bootstrapping)을 위한 시스템과 방법을 제공하는데 사용된다. As described above, the present invention is used to provide a system and method for multi-Bootstrapping Architecture (bootstrapping) from the removable storage device.

Claims (54)

  1. 전자 시스템으로서, An electronic system,
    적어도 하나의 제어 처리기와, And at least one control processor,
    상기 제어 처리기에 액세스 가능하도록 작동 가능하게 연결된 휴대용 데이터 모듈을 A portable data module operatively connected to be accessible to the control processor
    포함하고, And including,
    상기 휴대용 데이터 모듈은 적어도 두 개의 상호 비호환성인 아키텍쳐를 위한 부트 코드를 포함하고, The portable data module comprises a boot code for the architecture of at least two mutually incompatible,
    상기 휴대용 데이터 모듈은 또한 상기 비호환성 아키텍쳐 중 어느 것이 상기 부트 코드 중 어느 것을 필요로 하는지 나타내는 데이터 구조를 포함하고, The portable data module, and also which of the incompatibility architecture that includes a data structure that indicates that require any of the boot code,
    이에 따라 상기 제어 처리기는 부팅시 상기 데이터 구조를 찾을 수 있고, 상기 제어 처리기의 아키텍쳐에 의해 요구되는 상기 부트 코드 중 어느 것을 사용해서도 부트 처리를 계속하는, 전자 시스템. Accordingly, the control processor is configured to continue the boot process also use any of the boot code that is required by the architecture of the control processor can find the data structure, at boot time, the electronic system.
  2. 제 1항에 있어서, 상기 제어 처리기는 컴퓨터의 CPU인, 전자 시스템. The method of claim 1 wherein the control processor is a CPU of a computer, an electronic system.
  3. 제 1항에 있어서, 상기 휴대용 데이터 모듈은 적어도 4개의 상호 비호환성인 아키텍쳐를 위한 부트 코드를 포함하는, 전자 시스템. The method of claim 1, wherein the portable data module, the electronic system including a boot code for at least four mutually non-compatibility of the architecture.
  4. 제 1항에 있어서, 상기 데이터 구조는 테이블인, 전자 시스템. The method of claim 1, wherein the data structure is a table for the electronic system.
  5. 제 1항에 있어서, 상기 휴대용 데이터 모듈은 또한 암호화 엔진(cryptographic engine)을 포함하고, 상기 암호화 엔진을 통해서만 액세스 가능한 메모리 공간을 또한 포함하는, 전자 시스템. The method of claim 1, wherein the portable data encryption module is further engine (cryptographic engine) include and, through an electronic system also includes a memory space accessible to the encryption engine.
  6. 제 1항에 있어서, 상기 모듈은, 하나 또는 데스크탑 컴퓨터 아키텍쳐 외에, ARM 및 PPC 아키텍쳐를 위한 부트 파일을 포함하는, 전자 시스템. The method of claim 1, wherein the module comprises one or desktop computer architectures in addition to, electronic system comprising a boot file and the PPC for ARM architecture.
  7. 제 1항에 있어서, 상기 데이터 구조는 상기 모듈 내 미리 결정된 위치에 저장되는, 전자 시스템. The method of claim 1, wherein the data structure is an electronic system that is stored in a predetermined position within said module.
  8. 제 1항에 있어서, 상기 시스템은 전화 기능을 포함하는, 전자 시스템. The method of claim 1, wherein the electronic system of the system includes a telephone function.
  9. 전자 시스템으로서, An electronic system,
    적어도 하나의 제어 처리기와, And at least one control processor,
    일시적으로 연결되어, 상기 제어 처리기에 일시적으로 액세스 가능한 휴대용 데이터 모듈로서, 상기 휴대용 데이터 모듈은, Are temporarily connected, as a temporary-accessible portable data module to said control processor, said portable data module,
    적어도 두 개의 상호 비호환성인 아키텍쳐를 위한 부트 코드와, And a boot code for the architecture of at least two mutually incompatible,
    아키텍쳐 중 어느 것이 상기 부트 코드 중 어느 것을 필요로 하는지 나타내는 데이터 구조를 포함하는, 휴대용 데이터 모듈과, None of the architecture is the portable data module containing data structures shown do not require any of the boot code,
    저장된 초기 명령 시퀀스로서, 상기 제어 처리기는 전력 인가시 실행하고, 이는 상기 제어 처리기가 상기 제어 처리기의 아키텍쳐에 의해 요구되는 상기 부트 코드 중 어느 것을 사용해서도 부트 처리를 계속 진행하도록 상기 데이터 구조를 사용하게 하는, 저장된 초기 명령 시퀀스를 As stored in the initial command sequence, the control processor is configured to execute an applied power, which use the data structure so as to continue to the degree boot process by using any of the boot code and the control processor is required by the architecture of the control processor to, the stored initial command sequence
    포함하는, 전자 시스템. And electronic systems included.
  10. 제 9항에 있어서, 상기 제어 처리기는 컴퓨터의 CPU인, 전자 시스템. 10. The method of claim 9, wherein the control processor is a CPU of a computer, an electronic system.
  11. 제 9항에 있어서, 상기 휴대용 데이터 모듈은 적어도 4개의 상호 비호환성인 아키텍쳐를 위한 부트 코드를 포함하는, 전자 시스템. 10. The method of claim 9, wherein the portable data module, the electronic system including a boot code for at least four mutually non-compatibility of the architecture.
  12. 제 9항에 있어서, 상기 데이터 구조는 테이블인, 전자 시스템. 10. The method of claim 9, wherein the data structure is a table for the electronic system.
  13. 제 9항에 있어서, 상기 휴대용 데이터 모듈은 암호화 엔진을 또한 포함하고, 상기 암호화 엔진을 통해서만 액세스 가능한 메모리 공간을 또한 포함하는, 전자 시스템. 10. The method of claim 9, wherein the portable data module further comprises a cryptographic engine, and which also includes a memory space accessible only through the encryption engine, an electronic system.
  14. 제 9항에 있어서, 상기 모듈은 하나 또는 데스트탑 컴퓨터 아키텍쳐 외에, ARM 및 PPC 아키텍쳐를 위한 부트 파일을 포함하는, 전자 시스템. The method of claim 9 wherein the module includes an electronic system that includes one or desktop computer architectures in addition, the boot files for the ARM and PPC architecture.
  15. 제 9항에 있어서, 상기 데이터 구조는 상기 모듈의 미리 결정된 위치에 저장되는, 전자 시스템. 10. The method of claim 9, wherein the data structure, the electronic system is stored in a predetermined location of the module.
  16. 제 9항에 있어서, 상기 제어 처리기는 마이크로제어기인, 전자 시스템. 10. The method of claim 9, wherein the control processor is in electronic system microcontroller.
  17. 제 9항에 있어서, 상기 시스템은 전화 기능을 포함하는, 전자 시스템. 10. The method of claim 9, wherein the electronic system of the system includes a telephone function.
  18. 컴퓨터 시스템으로서, A computer system,
    내부에 저장된 기본 입력/출력 시스템(BIOS) 코드를 갖는 판독 전용 메모리(ROM)로서, 상기 BIOS 코드는 컴퓨터 시스템의 아키텍쳐 타입과 연관된 식별자 및 다수의 컴퓨터 아키텍쳐를 위한 다수의 부트스트랩 코드가 저장된 탈착 가능 저장 장치 내에 다수의 메모리 위치를 식별하는 테이블을 갖는 미리 정의된 메모리 위치에 관한 지식을 갖는, 판독 전용 메모리(ROM)와, A read only memory (ROM) having a basic input / output system (BIOS) code stored therein, the BIOS code is removably a plurality of bootstrap code for the architecture type and associated identifiers and a plurality of computer architecture of a computer system are stored and a plurality of having a knowledge of a predefined memory location with a table for identifying the memory locations, the read-only memory (ROM) in the storage device,
    상기 ROM에 결합된 인터페이스와, And coupled to the ROM interface,
    상기 인터페이스에 결합된 처리기로서, 상기 처리기는, 탈착 가능한 저장 장치를 검출하기 위하여 BIOS 코드를 실행하고, 만약 검출되면, 미리 정의된 메모리의 위치를 찾고, 식별자와 연관된 부트스트랩 코드의 위치를 테이블로부터 결정하고, 컴퓨터 시스템에 부트스트랩 코드를 로딩하고 부트스트랩 코드를 실행하는, 상기 인터페이스에 결합된 처리기를 As a processor coupled to the interface, wherein the processor is running the BIOS code to detect the removable storage device, and, if detected, from the table, the location of the bootstrap code that is associated with the identifier to locate in memory the predefined, determining and loading the bootstrap code into a computer system and execute the boot strap code, and a processor coupled to the interface
    포함하는, 컴퓨터 시스템. The computer system includes.
  19. 제 18항에 있어서, 상기 테이블은 다수의 컴퓨터 아키텍쳐 및 연관된 다수의 메모리 위치에 각각 유일한 다수의 식별자를 포함하는, 컴퓨터 시스템. 19. The method of claim 18, wherein the table includes a plurality of computer architecture and computer systems that each include a plurality of unique identifiers to a plurality of memory locations associated.
  20. 제 18항에 있어서, 상기 식별자는 인덱스인, 컴퓨터 시스템. 19. The method of claim 18, wherein the identifier is an index, the computer system.
  21. 제 18항에 있어서, 상기 처리기는 컴퓨터 시스템에 테이블을 카피하고 테이블을 검색하기 위해 BIOS 코드를 실행하는, 컴퓨터 시스템. 19. The method of claim 18, wherein the processor is a computer system that runs the BIOS code to retrieve a copy of the table and the table in the computer system.
  22. 제 18항에 있어서, 상기 탈착 가능한 저장 장치는, SD 메모리 카드, 컴팩트 플래시, 하드 드라이브, 또는 광학 디스크인, 컴퓨터 시스템. 19. The method of claim 18, wherein the removable storage device, SD memory card, compact flash, hard drive, or optical disk of a computer system.
  23. 제 18항에 있어서, 상기 다수의 부트스트랩 코드는 다음의 아키텍쳐 타입, 즉 IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, 및/또는 Sparc64 중 둘 이상을 포함하는, 컴퓨터 시스템. 19. The method of claim 18, wherein the plurality of the bootstrap code is then architecture type, that is, IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc the computer system comprises at least two of, and / or Sparc64.
  24. 제 18항에 있어서, 상기 미리 정의된 메모리 위치는 제 1 논리 블록 어드레스(LBA)인, 컴퓨터 시스템. 19. The method of claim 18, wherein the pre-defined memory location has a first logical block address (LBA) of a computer system.
  25. 제 18항에 있어서, 상기 미리 결정된 메모리 위치는 마스터 부트 레코드가 상기 컴퓨터 시스템의 아키텍쳐 타입에 따라 배치되는 장소인, 컴퓨터 시스템. 19. The method of claim 18, wherein the predetermined memory location is a computer system places the master boot record to be laid out according to the type of architecture of the computer system.
  26. 제 25항에 있어서, 상기 마스터 부트 레코드는 상기 탈착 가능한 저장 장치 내의 다수의 메모리 위치 중 하나에 배치되는, 컴퓨터 시스템. 26. The method of claim 25, wherein the master boot record, the computer system is placed in one of the plurality of memory locations in the removable storage device.
  27. 탈착 가능한 비휘발성 메모리로서, A releasable non-volatile memory,
    상기 탈착 가능한 비휘발성 메모리에서 미리 정의된 메모리 위치에 저장된 테이블로서, 상기 테이블은 상기 비휘발성 메모리 내의 다수의 메모리 위치를 식별하는, 테이블과, A table stored in a predefined memory location in said removable non-volatile memory, the table identifying a plurality of memory locations in the nonvolatile memory, the table and,
    상기 테이블과 연관된 다수의 메모리 위치에 저장된 다수의 컴퓨터 아키텍쳐와 연관된 다수의 애플리케이션을 A plurality of applications associated with the plurality of computer architecture are stored in a plurality of memory locations associated with the table,
    포함하는, 탈착 가능한 비휘발성 메모리. A removable non-volatile memory, comprising.
  28. 제 27항에 있어서, 상기 미리 정의된 메모리 위치는 상기 탈착 가능한 비휘발성 메모리에 결합된 컴퓨터 시스템에 의해 알려지는, 탈착 가능한 비휘발성 메모리. The method of claim 27, wherein the pre-defined memory location is known by the computer system coupled to the non-volatile memory is available the releasable, removable non-volatile memory.
  29. 제 27항에 있어서, 상기 테이블은 컴퓨터 아키텍쳐의 타입과 연관된 다수의 애플리케이션에 각각 유일한 다수의 식별자를 포함하는, 탈착 가능한 비휘발성 메모리. The method of claim 27, wherein the table includes a plurality of each of which includes a unique identifier to a plurality of applications, the releasable non-volatile memory associated with the type of computer architecture.
  30. 제 29항에 있어서, 상기 식별자는 인덱스인, 탈착 가능한 비휘발성 메모리. 30. The method of claim 29, wherein the identifier is an index, the removable non-volatile memory.
  31. 제 27항에 있어서, 상기 다수의 애플리케이션은 다음의 아키텍쳐 타입, 즉 IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, Sparc64, Palm, 윈도우즈 CE 및/또는 윈도우즈 중 둘 이상을 포함하는, 탈착 가능한 비휘발성 메모리. 28. The method of claim 27, wherein the plurality of applications are: architecture type, i.e. IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, Sparc64 , Palm, Windows CE, and that includes two or more of the / or windows, the releasable non-volatile memory.
  32. 제 27항에 있어서, 상기 애플리케이션은 여러 타입의 컴퓨터 아키텍쳐의 재생 음악 애플리케이션인, 탈착 가능한 비휘발성 메모리. 28. The method of claim 27, wherein the application is a music playback application in the computer architecture of the various types, the releasable non-volatile memory.
  33. 제 27항에 있어서, 각각의 상기 애플리케이션은 상기 탈착 가능한 비휘발성 메모리 상에 저장된 데이터 파일을 실행할 수 있는, 탈착 가능한 비휘발성 메모리. 28. The method of claim 27, wherein each of the applications is a non-volatile memory detachable to execute the data file stored on the removable non-volatile memory.
  34. 제 33항에 있어서, 상기 데이터 파일은 음악 파일인, 탈착 가능한 비휘발성 메모리. The method of claim 33, wherein the data file is a music file, a detachable non-volatile memory.
  35. 프로그램 가능 시스템을 작동시키기 위한 방법으로서, A method for operating a programmable system,
    a) 시작시, 시스템의 아키텍쳐 타입에 따라, 서로 다른 부트 파일에 대해 서로 다른 위치를 나타내는 데이터 구조에 의해 지정된 어드레스에서, 휴대용 데이터 모듈로부터 실행을 위한 부트 파일을 검색하는 단계와, the method comprising: a) at startup, according to the type of system architecture, given from one another by a data structure representing a different position for different boot file address, retrieve the boot files for execution from the portable data modules and,
    b) 시스템이 작동하도록 자동 개시하기 위하여 상기 부트 파일을 사용하는 단계를 b) in order to automatically start the system to operate the step of using the boot file
    포함하는, 프로그램 가능 시스템의 작동 방법. How the operation of the programmable system including.
  36. 제 35항에 있어서, 상기 데이터 구조는 테이블인, 프로그램 가능 시스템의 작동 방법. 36. The method of claim 35, wherein the data structure is a table for the method of the programmable system operation.
  37. 제 35항에 있어서, 상기 데이터 구조는 3개 이상의 상호 비호환성 아키텍쳐 타입을 참조하는, 프로그램 가능 시스템의 작동 방법. 36. The method of claim 35, wherein the data structure, wherein the programmable operating system that refers to three or more mutually incompatible type architecture.
  38. 제 35항에 있어서, 상기 휴대용 데이터 모듈은 암호화 엔진을 또한 포함하고, 상기 암호화 엔진을 통해서만 액세스 가능한 메모리 공간을 또한 포함하는, 프로그램 가능 시스템의 작동 방법. 36. The method of claim 35, wherein the portable data module further comprises a cryptographic engine, and a method of operating a programmable system which also includes a memory space accessible only through the encryption engine.
  39. 제 35항에 있어서, 상기 모듈은 하나 또는 데스크탑 컴퓨터 아키텍쳐 외에, ARM 및 PPC 아키텍쳐를 위한 부트 파일을 포함하는, 프로그램 가능 시스템의 작동 방법. 36. The method of claim 35, wherein the module is a desktop computer or in addition to the architecture, a method of operating a programmable system including a boot file for the ARM and PPC architecture.
  40. 제 35항에 있어서, 상기 데이터 구조는 상기 모듈에서 미리 결정된 위치에 저장되는, 프로그램 가능 시스템의 작동 방법. 36. The method of claim 35, wherein the data structure is a method of, a programmable system is stored at a predetermined position in the module operation.
  41. 제 35항에 있어서, 상기 시스템은 전화 기능을 포함하는, 프로그램 가능 시스템의 작동 방법. 36. The method of claim 35, wherein the system operating method of the programmable system including a telephone function.
  42. 프로그램 가능 시스템을 작동시키기 위한 방법으로서, A method for operating a programmable system,
    호스트 시스템에 저장된 초기 명령 시퀀스를 사용하여 시스템에 전력을 인가하는 단계와, Comprising: using the initial instruction sequence stored in the host system applying power to the system and,
    상기 초기 명령 시퀀스 제어 하에서, 시스템의 아키텍쳐 타입에 따라, 서로 다른 부트 파일에 대해 서로 다른 위치를 지정하는 휴대용 데이터 모듈에서 데이터 구조에 의해 지정된 휴대용 데이터 모듈 위치로부터, 다중 부트 파일 중 일부를 로딩하지만 이와 다른 것은 로딩하지 않는 단계와, Wherein under initial instruction sequence control, but from the portable data module position specified by the data structure on a portable data module that specifies a different location for, different boot file according to the architecture type of system, load a portion of the dual-boot file this and the other is not the loading phase,
    상기 시스템이 작동하도록 자동 개시하기 위해 상기 부트 파일을 사용하는 단계를 The step of using the boot files to automatically start such that the system operation
    포함하는, 프로그램 가능 시스템의 작동 방법. How the operation of the programmable system including.
  43. 제 42항에 있어서, 상기 데이터 구조는 미리 결정된 어드레스에 저장되는, 프로그램 가능 시스템의 작동 방법. The method of claim 42, wherein the data structure, wherein the programmable operating system that is stored in a predetermined address.
  44. 제 42항에 있어서, 상기 데이터 구조는 3개 이상의 상호 비호환성 아키텍쳐 타입을 참조하는, 프로그램 가능 시스템의 작동 방법. The method of claim 42, wherein the data structure, wherein the programmable operating system that refers to three or more mutually incompatible type architecture.
  45. 제 42항에 있어서, 상기 휴대용 데이터 모듈은 암호화 엔진을 또한 포함하고, 상기 암호화 엔진을 통해서만 액세스 가능한 메모리 공간을 또한 포함하는, 프로그램 가능 시스템의 작동 방법. Of claim 42 wherein the portable data module further comprises a cryptographic engine, and a method of operating a programmable system which also includes a memory space accessible only through the encryption engine to.
  46. 제 42항에 있어서, 상기 모듈은 하나 또는 데스크탑 컴퓨터 아키텍쳐 외에, ARM 및 PPC 아키텍쳐를 위한 부트 파일을 포함하는, 프로그램 가능 시스템의 작동 방법. The method of claim 42, wherein the module is a desktop computer or in addition to the architecture, a method of operating a programmable system including a boot file for the ARM and PPC architecture.
  47. 제 42항에 있어서, 상기 모듈은 ARM, PPC 및 IAx 아키텍쳐 중 적어도 두 개를 위한 부트 파일을 포함하는, 프로그램 가능 시스템의 작동 방법. The method of claim 42, wherein the module includes a method of operating a programmable system including a boot file for at least two of the ARM, PPC and IAx architecture.
  48. 컴퓨터 시스템에서 실행되는 방법으로서, A method executed in a computer system,
    탈착 가능한 비휘발성 메모리에서 미리 정의된 메모리 위치를 배치하기 위해 기본 입력/출력 시스템(BIOS)을 실행하는 단계로서, 상기 미리 정의된 메모리 위치는, 다수의 컴퓨터 아키텍쳐에 대한 다수의 부트스트랩 코드가 저장되어 있는 탈착 가능한 비휘발성 메모리 내에서 다수의 메모리 위치를 식별하는 테이블을 갖는, 상 기 단계와, A plurality of bootstrap code is stored on a removable non-volatile as a memory step of executing a basic input / output system (BIOS) in order to place the memory location predefined in the memory position where the pre-defined, the plurality of computer architecture in a releasable non-volatile memory that is having a table identifying a plurality of memory locations, and the step group,
    컴퓨터 시스템의 아키텍쳐 타입과 관련된 식별자와 연관된 부트스트랩 코드의 위치를 테이블로부터 결정하기 위하여 BIOS를 실행하는 단계와, And the step of executing the BIOS to determine the location of the bootstrap code that is associated with an identifier associated with the type of architecture of the computer system from the table,
    컴퓨터 시스템에 부트스트랩 코드를 로딩하고, 부트스트랩 코드를 실행하기 위하여 BIOS를 실행하는 단계를 The step of loading the bootstrap code into the computer system, the BIOS in order to execute the boot strap code
    포함하는, 컴퓨터 시스템에서 실행되는 방법. Method executed in a computer system that includes.
  49. 제 48항에 있어서, 상기 테이블은, 다수의 컴퓨터 아키텍쳐 및 연관된 다수의 메모리 위치에 각각 유일한 다수의 식별자를 포함하는, 컴퓨터 시스템에서 실행되는 방법. The method of claim 48, wherein the table is a method that runs on a number of computer architecture and computer systems that each include a plurality of unique identifiers to a plurality of memory locations associated.
  50. 제 48항에 있어서, 상기 컴퓨터 시스템에 테이블을 카피하고 상기 테이블을 검색하기 위하여 BIOS 코드를 실행하는 단계를 포함하는, 컴퓨터 시스템에서 실행되는 방법. 49. The method of claim 48, wherein the copy table in the computer system and executed in a computer system comprising the step of executing BIOS code for looking up the table.
  51. 제 48항에 있어서, 상기 탈착 가능한 비휘발성 메모리는, SD 메모리 카드, 컴팩트 플래시, 하드 드라이브, 또는 광학 디스크인, 컴퓨터 시스템에서 실행되는 방법. The method of claim 48 wherein the releasable non-volatile memory, SD memory card, compact flash, a method executed in a hard drive, or optical disk of a computer system.
  52. 제 48항에 있어서, 상기 다수의 부트스트랩 코드는, 다음의 아키텍쳐 타입, 즉 IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, Sparc, 및/또는 Sparc64 중 둘 이상을 포함하는, 컴퓨터 시스템에서 실행되는 방법. 49. The method of claim 48, wherein the plurality of the bootstrap code, the following architecture types, i.e. IA32, Alpha, Arm, Cris, IA64, M64k, Mips, Mips64, Parisc, Ppc, Ppc64, S390, S390x, Sh, Sh64, method executed in a computer system including a Sparc, and / or two or more of Sparc64.
  53. 제 48항에 있어서, 상기 미리 정의된 메모리 위치는, 제 1 논리 블록 어드레스(LBA)인, 컴퓨터 시스템에서 실행되는 방법. The method of claim 48, wherein the memory locations of the predefined, the first method executed in a computer system of a logical block address (LBA).
  54. 제 48항에 있어서, 상기 미리 정의된 메모리 위치는, 마스터 부트 레코드가 상기 컴퓨터 시스템의 아키텍쳐 타입에 따라 배치되는 장소인, 컴퓨터 시스템에서 실행되는 방법. 49. The apparatus of claim 48, wherein the memory location is predefined, wherein the master boot record is executed in place of, the computer system is arranged according to the type of architecture of the computer system.
KR1020097013739A 2006-12-31 2007-12-28 Portable multi-platform booting systems and architectures KR101120956B1 (en)

Priority Applications (4)

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 2006-12-31
US11/618,870 2006-12-31
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
KR20090097171A true KR20090097171A (en) 2009-09-15
KR101120956B1 KR101120956B1 (en) 2012-03-05

Family

ID=39588994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097013739A KR101120956B1 (en) 2006-12-31 2007-12-28 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
US9916185B2 (en) 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9582295B2 (en) 2014-03-18 2017-02-28 International Business Machines Corporation Architectural mode configuration
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
DE60210434T2 (en) 2002-06-28 2006-09-28 Hewlett-Packard Development Co., L.P., Houston OS selector and disk space
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
WO2008083277A1 (en) 2008-07-10
KR101120956B1 (en) 2012-03-05
TW200844850A (en) 2008-11-16
WO2008083277A9 (en) 2008-12-31
TWI441077B (en) 2014-06-11

Similar Documents

Publication Publication Date Title
JP5095717B2 (en) Method, system, program and computer readable medium having instructions for performing said method for installing a reduced operating system image on a target medium
CA2020521C (en) Apparatus and method for decreasing the memory requirements for bios in a personal computer system
US5794032A (en) System for the identification and configuration of computer hardware peripherals
AU635551B2 (en) An apparatus and method for preventing unauthorized access to bios in personal computer system
KR930007679B1 (en) Initial bios load for a personal computer system
US10146938B2 (en) Method, apparatus and virtual machine for detecting malicious program
US7337313B2 (en) Information device, storage medium and initial state restoration method
US6725178B2 (en) Use of hidden partitions in a storage device for storing BIOS extension files
JP3539907B2 (en) Computer with bootable program
JP2004038931A (en) Method for implementing backup and recovery of data in computer hard disk
US20060242398A1 (en) Booting from non-volatile memory
US20040255106A1 (en) Recovery of operating system configuration data by firmware of computer system
US8291209B2 (en) Integration model for instant-on environment
US7689817B2 (en) Methods and apparatus for defeating malware
US20060200663A1 (en) Methods for describing processor features
US20020166059A1 (en) Methods and apparatus for protecting against viruses on partitionable media
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
JP3256100B2 (en) Method and apparatus for supplying protected mode device driver
CN101421701B (en) Direct boot arrangement using a nand flash memory
US5822582A (en) Boot drive selection and hibernation file detection
US20030014619A1 (en) Method and system for master boot record recovery
US20030088728A1 (en) Method for flashing ESCD and variables into a ROM
US7293166B2 (en) Method of indicating a format of accessing an operating system contained on a USB memory device
US7136994B2 (en) Recovery images in an operational firmware environment
DE60018807T2 (en) Method and device for recovering the configuration of a computer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee