KR100990188B1 - Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법 - Google Patents

Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법 Download PDF

Info

Publication number
KR100990188B1
KR100990188B1 KR1020087019884A KR20087019884A KR100990188B1 KR 100990188 B1 KR100990188 B1 KR 100990188B1 KR 1020087019884 A KR1020087019884 A KR 1020087019884A KR 20087019884 A KR20087019884 A KR 20087019884A KR 100990188 B1 KR100990188 B1 KR 100990188B1
Authority
KR
South Korea
Prior art keywords
mmc
interface
host device
boot
data
Prior art date
Application number
KR1020087019884A
Other languages
English (en)
Other versions
KR20080085914A (ko
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38264637&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100990188(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20080085914A publication Critical patent/KR20080085914A/ko
Application granted granted Critical
Publication of KR100990188B1 publication Critical patent/KR100990188B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비한 MMC/SD 인터페이스를 경유하여 주변 기기(들)로부터 호스트 기기(들)를 부팅시키는 시스템 및 방법이 제공된다. 전력 단자들에게 전력이 공급되며, 파워-업 (power-up) 동안에 상기 MMC/SD 인터페이스의 명령 단자 또는 유사한 인터페이스를 로우 (low)로 설정된다. 데이터 버스는 데이터 전송의 시작 비트를 찾기 위해 모니터된다.

Description

MMC/SD 기기로부터 호스트 기기를 부팅시키는 방법, MMC/SD 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 MMC/SD 기기 방법{A method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may be booted from}
본 발명은 메모리 기기에 관련되며, 특히 메모리 카드들의 인터페이스에 관련된다. 더 특수하게는, 본 발명은 멀티 미디어 카드들 (MMC) 또는 보안 디지털 (SD) 카드들에 관련된다. 내장된 대용량 메모리들이 이전에 알려진 메모리 카드 전기 인터페이스에 도입되기 시작하는 경향이 있다. 즉, 대용량 메모리들과 유사하게 메모리 카드를 사용할 수 있을 것이 필요하다. 지금까지 그런 인터페이스들의 발전과 개선은 탈부착 가능한 메모리 카드들에 집중되어 왔다. 관심을 가져야 할 필요가 있는 해결되지 않은 문제점들이 있으며 그래서 인터페이스는 내장된 메모리들에도 마찬가지로 더 적합하다.
본 발명은 부팅 매카니즘을 이전에 알려진 시리얼 프로토콜 메모리 카드 인터페이스 (MMC IF)에 도입한다. 본 발명의 방법은 (종래 기술에서와 같은) 신호 상태를 기반으로 할 수 있으며 또는 메모리 카드 인터페이스에 이미 존재하는 시리얼 프로토콜을 이용할 수 있다.
MMC 규격의 간략한 규격은 인터넷 사이트 "http://www.mmca.org/ compliance/buv spec/MMCA Svstem SummarvV41.pdf"으로부터 다운로드 받을 수 있을 것이다.
상이한 전기 인터페이스를 구비한 현존하는 내장 대용량 메모리 컴포넌트들에 대한 부트 (boot) 정의는 이미 알려져 있다. 이런 알려진 컴포넌트들은 예를 들면 NAND, OneNAND 및 MDOC 이다. 이것들 모두에 대한 공통점은 메모리 컴포넌트가 데이터의 첫 번째 섹터 (전형적으로는 512B)를 IO 버퍼로 페치 (fettch)해야 한다는 것을 그 메모리 컴포넌트에게 표시하기 위해 파워 업 (power up)의 어떤 스테이지 동안에 이것들은 특정 신호 상태 (예를 들면, 부팅을 위해 예약된 별도의 핀)를 이용하고 있다는 것이다. 종래 기술의 상태로서 거론되는 M 시스템 디스크온칩 (DiskOnChip) (DOC)은 주소 http://www.m-svstems.com/NR/rdonlyres/ 85A96312- 0130-47AD-A22C- CB533E28EE7A/0/DOC G3 512Mb IGb Rev20.pdf.의 인터넷으로부터 검색될 수 있을 것이다.
다른 전기적 인터페이스를 가진 현존하는 내장된 다른 대용량 메모리 컴포넌트들에 대한 알려진 부트 정의들이 있다. 그런 종류의 컴포넌트들은, 예를 들면, NAND (http://www.samsungxom/Products/Semiconductor/NANDFlash/index.htm 참조), OneNAND (http://www.samsungxom/Products/Serαiconductor/OneNAND/index.htm' 참조) 및 MDOC (http://www.m-systems.com/site/en-US/Products/DiskOnChip /DiskOnChip/ 참조) 대용량 메모리이다. 이것들 모두에 대한 공통점은 메모리 컴포 넌트가 데이터의 첫 번째 섹터 (전형적으로는 512B)를 IO 버퍼로 페치 (fettch)해야 한다는 것을 그 메모리 컴포넌트에게 표시하기 위해 파워 업 (power up)의 어떤 스테이지 동안에 이것들은 특정 신호 상태 (예를 들면, 부팅을 위해 예약된 별도의 핀)를 이용하고 있다는 것이다.
현재의 MMC- 및 SD-메모리 카드들은 예를 들면 핫 스왑 (hot-swap) 동작을 실행할 수 있는 기능들을 제공할 수 있지만, 이런 메모리 카드들의 기능이 더 넓은 기능성을 제공할 수 있도록 확대될 것이 또한 필요하다.
메모리 카드들의 유용성을 개선하기 위해 사용자가 메모리 카드들을 부트 가능한 매체로서 사용할 수 있게 할 것이 필요할 것이다. 이런 특징은 이동 전화기들이나 카메라들과 같은 자체 부팅 기기들에서만이 아니라 예를 들면 랩탑 컴퓨터 및 팜탑 컴퓨터를 위한 부팅 가능한 저장 매체와 같은 예를 들면 MMC (Multi-Media Card) 및 SD (Secure Digital) 카드들이 더 넓게 사용되는 것을 가능하게 할 것이다.
현재, MMC 카드들 및 SD 카드들의 분야에서, 호스트 기기의 부트 업 (boot up) 동안에 첫 번째 (섹터) 데이터에 액세스하는 유일한 방법은 카드 초기화, 레지스터 읽기/쓰기 및 알려진 주소로의 보통의 읽기 액세스의 전체 절차를 따르는 것이다.
현존하는 MMC 및 SD 메모리 카드 인터페이스 프로토콜들과 연관된 문제는 효율적인 정의된 부팅 매카니즘이 없다는 것이다. 호스트 기기의 부트 업 (boot up) 동안에 첫 번째 (섹터) 데이터에 액세스하는 유일한 방법은 카드 초기화, 레지스터 읽기/쓰기 및 알려진 주소로의 보통의 읽기 액세스의 전체 절차를 따르는 것이다. 그것은 (예를 들면, 읽혀질 부트 데이터의 주소가 알려지지 않은 것과 같은) 부트 주소로 자동적으로 보통의 읽기 액세스를 실행하도록 구성되지 않은 기기로 부트 절차를 실행하는 것이 실제로 불가능하다는 것을 의미한다.
메모리 컴포넌트에게 데이터의 특정 섹터를 I/O 버퍼들로 페치해야 한다는 것을 표시하기 위해 파워 업의 특정 단계 동안에 부팅을 위해 예약된 별도의 개별 핀의 신호 상태를 사용하지 않고 전기적인 인터페이스 또는 폼 팩터 (form factor)를 변경할 필요없이 더 넓은 가용성을 얻을 필요가 또한 있다.
그러므로, 본 발명에 의해 다루어지는 문제는 현존하는 MMC 카드들 및 SD 카드들의 기능들을 그 메모리 카드들의 많은 성질들을 바꾸지 않으면서 그리고 완벽한 하향 호환성을 보장할 수 있으면서 확장하는 것을 포함한다.
본 발명의 한 모습에 따르면, 부팅 메카니즘이 MMC 카드들/기기들 및 SD 카드들/기기에서 사용되는 MMC IF의 이전에 알려진 시리얼 프로토콜 메모리 카드 인터페이스로 도입된다. 그 방법은 (종래 기술에서와 같이) 동일한 신호 상태를 기반으로 할 수 있으며 또는 메모리 카드 인터페이스의 이미 현존하는 시리얼 프로토콜을 이용할 수 있다.
본 발명의 첫 번째 모습에 따르면, MMC/SD 인터페이스를 경유하여 주변 기기로부터 호스트 기기를 부팅시키는 방법이 제공된다. MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 (CLK) 단자를 가진 클록 (CLK) 라인 및 명령 (CMD) 단자를 가진 명령 (CMD) 라인을 구비한다. 본 발명에 따라, 상기 방법은 상기 전력 단자들에게 전력을 (그리고 그라운드를) 공급하는 단계, 파워-업 (power-up) 동안에 상기 MMC/SD 인터페이스의 명령 단자를 로우 (low)로 설정하는 단계 및 데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하는 단계를 포함한다.
MMC/SD 카드 또는 기기의 표준 파워-업 절차에서, 그 호스트 기기는 파워-업 동안에 상기 MMC/SD 인터페이스의 CMD 단자를 하이 (high)로 설정한다. 즉, 이 실시예는 파워 업 동안에 부트를 표시하기 위해 현존하는 신호를 이용한다. 그러나 부트 절차를 실행하려는 것은 호스트 기기에 의해 사용되는 인터페이스 내의 "기대하지 않은" 신호이다. SD/MMC 카드 또는 기기의 파워 업 절차 동안에 CMD 라인이 로우로 설정된다면 어떤 일이 발생하는가에 대해서 MMC/SD 규격에는 현재 정의되어 있지 않다.
호스트 기기의 상기 MMC/SD 인터페이스의 CMD 단자가, 통상적으로 "CMD0" 명령이 CMD 라인을 경유하여 송신되는, 그 기간 동안에 "로우" 신호 상태로 설정될 수 있을 것이다. "CMD0" 명령은 파워 업 절차의 명령 GO_IDLE_STATE (CMDO)이다. 초기화 동안에 사용되는 다음의 명령은 MMD/SD 인터페이스를 구비한 주변 기기의 동작 전압 범위를 식별하기 위한 CMD1 명령 SEND_OP_COND (동작 상태 전송)이다. 초기화 절차의 다른 명령들은 CMD 2 및 CMD 3 명령이며, 이때에 CMD2 (ALLJSEND_CID)는 고유 카드 식별 번호 (card identification number, CID)이며, 명령 CMD3 (SET_RELATIVE_ADDR)은 상대적인 카드 주소 (relative card address, RCA)이며, 이는 데이터 교환을 빠르게 하기 위해 CID보다 더 짧다.
본 발명의 일 예의 실시예에서, 상기 방법은 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 클록 단자에게 클록 신호를 송신하는 단계를 더 포함하며, 이때에, 상기 MMC/SD 인터페이스의 상기 명령 단자는 24개 내지 148개의, 바람직하게는 60개와 100개 사이의 그리고 가장 바람직하게는 74개의 초기화 클록 주기들을 전송하는 동안에 파워-업 프로세스 전에 또는 파워-업 프로세스 동안에 로우 (low)로 설정된다.
본 발명의 다른 예의 실시예에서, 상기 방법은 상기 호스트 기기가 상기 데이터 버스를 경유하여 데이터를 전송하는 한, 예를 들면 상기 카드가 송신해야 하는 모든 데이터가 전송될 때까지 상기 호스트 기기가 클록 발생을 유지하는 한, 상기 호스트 기기로부터 상기 클록 단자로 클록 신호를 송신하는 단계를 포함한다.
본 발명의 방법의 또 다른 예의 실시예에서, 상기 호스트 기기는 상기 데이터 전송에 사용될 상기 데이터 버스의 폭(width)을 표시하기 위해 상기 데이터 버스 단자들을 로우로 설정한다. 이 실시예에서, 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기에 MMC/SD 카드와 같은 MMC/SD 기기에 의해 부트 데이터의 데이터 전송을 위해 사용될 데이터 라인들의 개수/단자를 신호로 알릴 수 있다. 본 발명의 명세서에서, MMC/SD 기기의 표현은 MMC/SD 인터페이스를 구비한 내장 메모리 기기와 같은 내장 기기는 물론이고 MMC/SD 메모리 카드들도 언급하기 위해 선택된다.
예를 들면 첫 번째 데이터 버스 단자 (Dat0)를 로우로 설정하여 이 단자 (단일 채널 멀티플렉스)만이 호스트 기기로의 부트 데이터를 전송하기 위해 사용된다는 것을 표시하는 것이 예견된다.
즉, 호스트 기기로의 부트 데이터 전송을 위해 사용될 데이터 라인들의 개수 각각은 CMD 라인의 로우와 함께 하는 부트 요청 표시와 함께 로우로 된다.
이런 구현들과 함께라면, 컴포넌트를 완전하게 초기화하고, 첫 번째 데이터 액세스 이전에, 예를 들면, 부트 데이터 요청을 위해 레지스터들을 설정할 필요가 더 이상 없다.
본 발명의 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅하는 방법이 제공된다. 기본적으로 이런 모습은 부팅 절차의 주변 기기 측에 관련된다. 상기 주변 기기는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인을 구비한 MMC/SD 인터페이스를 포함한다. 본 발명의 이런 모습의 방법은 상기 MMC/SD 인터페이스의 상기 전력 단자들에서 전력을 (그리고 그라운드를) 수신하는 단계, 파워 업 이전에 또는 파워 업 동안에 상기 명령 단자에서 로우 신호 (상태)를 수신하는 단계 및 데이터 버스를 경유하여 미리 정의된 저장 영역의 첫 번째 데이터를 송신하는 단계를 포함하며, 상기 송신은 상기 첫 번째 데이터 프레임의 첫 번째 비트와 함께 시작하다.
파워 업 동안에 MMC/SD 인터페이스를 포함하는 상기 주변 기기는 명령 라인에서 "기대하지 않은" 신호 상태를 검출하고 미리 정해진 데이터 파일, 미리 정해진 저장소/메모리 영역 또는 MMC/SD 인터페이스를 구비한 주변 기기의 메모리 모듈/코어의 정의된 "부트 데이터 섹터"로부터 부트 데이터 전송을 시작한다. 상기에 설명된 것과 같이 호스트 기기를 부팅하기 위한 방법과 MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅하는 방법을 결합한 것은 서로가 부트 절차를 완료하도록 한다. 예를 들면 둘 모두의 단계들이 포함된 기기를 포함하는 시스템 청구항 (예를 들면, MMC/SD 인터페이스를 구비한 호스트 및 주변 기기)의 밑그림을 그리는 것도 예측된다.
본 발명의 일 예의 실시예에서, 데이터 버스를 경유한 미리 정의된 저장 영역의 상기 첫 번째 데이터는 24개 내지 148개의, 바람직하게는 60개와 100개 사이의 그리고 가장 바람직하게는 74개의 초기화 클록 주기들 동안의 파워-업 프로세스 동안에 상기 MMC/SD 인터페이스의 상기 명령 단자에서 로우 신호를 수신하면 그리고 수신할 때에만 송신된다. 부트 데이터 전송을 위해 미리 정의된 저장 영역 대신에 미리 정의된 파일을 선택하는 것이 예측된다.
본 발명의 방법의 일 예의 실시예에서, 상기 방법은 상기 데이터 버스 단자들에서, 전송에 사용될 상기 데이터 버스의 폭을 표시하는, 로우 신호를 수신하는 단계 및 상기 표시된 데이터 버스 폭을 사용하여 상기 데이터를 송신하는 단계를 더 포함한다.
예를 들면, 첫 번째의 두 데이터 버스 데이터 버스 단자들 (Dat0와 Dat1)이 "로우" (신호 상태)로 설정되도록 결정되면, MMC/SD 인터페이스를 구비한 주변 기기는 부트 데이터를 호스트 기기로 전송하기 위해 이런 두 단자들 (두 채널 멀티플렉스)만을 사용한다.
즉, 호스트 기기로 부트 데이터를 전송하기 위해 사용되는 데이터 버스 라인들의 개수 각각은 CMD 라인이 로우로 되는 것과 함께 (부트 요청을 표시하면서) "로우로 된다"
본 발명의 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시키는 방법이 제공된다. 상기 주변 기기는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인을 가지는 MMC/SD 인터페이스를 구비한다. 상기 방법은 초기화 절차 동안에 부트 요청을 위한 인수 (argument)를 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기에서 상기 주변 기기로 송신하는 단계, 클록 (CLK) 신호를 상기 클록 (CLK) 라인으로 송신하는 단계 및 데이터 전송의 시작 비트 (그리고 또한 데이터 그 자체)를 찾기 위해 상기 데이터 버스를 모니터하는 단계를 포함한다.
이 구현은 존재하는 시리얼 프로토콜 명령을 이용하는 것을 기반으로 한다. 즉, "기대하지 않은" 신호 프로토콜 명령이 인터페이스로 송신되어 (MMC/SD 인터페이스를 구비한 주변 기기로부터의 데이터를 가지고) 상기 호스트 기기가 부트 절차를 실행하려는 의도인 것을 표시한다. 이는 예를 들면 리셋 명령을 포함하는 부트 요청을 위한 인수 (argument)를 상기 호스트로부터 MMC/SD 인터페이스를 경유하여 상기 주변 기기로 송신하고, 데이터 전송/데이타 프레임의 시작 비트를 찾기 위해 데이터 버스 단자들을 모니터링 함으로써 구현될 수 있을 것이다. 부트 요청을 위한 상기 인수는 초기화 절차, 예를 들면, CMD0 단계 (phase) (예를 들면, 카드의 파워 업 이후에 MMC/SD 인터페이스를 구비한 주변 기기를 초기화) 동안에 또는 CMD0 단계 이후에 바로 송신된다. 내부 부트 요청을 명령 프레임 내부에서 (예를 들면, MMC/SD 규격에서 정의된 것과 같이 CMD0 명령 내에서) 송신하는 것이 예측된다.
이는, 예를 들면, 현재 0X00000000 인 CMD0에 대한 인수를 수정함으로써 구현될 수 있을 것이다. 0X00000001의 값이 MMC/SD 인터페이스로 송신되는 첫 번째 인수로서 사용되면 이는 부트 요청을 표시할 수 있을 것이다.
본 발명의 실시예에서, 상기 방법은, 부트 섹터 읽기를 위해 사용되는 데이터 라인들의 개수 및 사용될 클록 주파수/타이밍 모드 등의 그룹으로부터 선택된 상기 부트 시퀀스에 관련된 파라미터들을 표시하는 추가적인 인수들을 상기 부트 요청을 위한 인수와 함께 상기 호스트 기기에서 상기 MMC/SD 인터페이스로 송신하는 단계를 더 포함한다. 데이터 버스 폭에 대한 인수는, 예를 들면 상기 부트 요청에 추가되어 명령어 프레임 내부에서 (예를 들면, CMD0의 명령 프레임 내부에서) 전송될 수 있을 것이다.
이 실시예는 상기 호스트 기기가 부트 요청 또는 부트 데이터 전송 절차 내에서 (또는 그와 관련하여) 부트 시퀀스/부팅 절차에 관련된 다른 인수들에 대한 추가적인 파라미터들을 정의하는 것을 가능하게 한다.
본 발명의 다른 모습들에서 이미 설명된 것과 같이, 부트 데이터 전송을 위해 사용될 버스 폭은 (부트 요청 인수를 전송하기 전에, 그 전송 동안에 또는 그 전송 이후에) 로우로 설정되었을 데이터 버스 단자들의 개수에 의해서 또한 표시될 수 있을 것이다. 전송을 위해 사용되는 데이터 버스 단자들의 개수의 표시로서 "로우" 신호 상태로 설정된 데이터 버스 단자들의 개수를 이용하는 것도 또한 가능하다.
Dat0부터 Dat7 까지의 단자들에 대해 이진 부호화된 카운팅 알고리즘을 사용할 때에, 부트 시퀀스를 전송하기 위해 사용될 단자들의 모든 가능한 수를 결정하려고 단자들을 정의하기 위해 단지 4개, 예를 들면 Dat0 내지 Dat3 만을 사용하는 것으로 충분할 수 있을 것이다. 이진 카운팅 알고리즘을 사용할 때에, 전송을 위해 사용될 2N 개의 데이터 단말들을 정의하기 위해, 8 (그리고 (N이, 예를 들면 (이진 부호화된 수 - 1) 로서 정의될 때에, 아직 정의되지 않은 Dat 단자들인) 64 까지)을 정의하기 위해서 오직 3개의 Dat 단자들을 사용하는 것으로 충분하며, 그렇지 않다면 단일 라인 전송에 대한 Dat 단자들은 모든 단자들이 "하이"로 설정되도록 코드화될 수 있을 것이며, 이는 (부트 절차 동안의 표준 신호는 모든 데이터 단자들이 "하이"로 설정되는 것이므로) 버스 폭으로서 절대로 번역될 수 없을 것이다. (다른 것들이 버스 폭 주파수 또는 다른 파라미터들을 부호화하거나 하지 않는 동안에) 초기화 절차 동안에 Dat 라인들/단자들의 하나만이 부트 요청을 위한 표시로서 "로우"로 설정되도록 이용하는 것도 역시 예측될 수 있을 것이다.
(당업자는 양의 또는 음의 카운팅 방법에 따라서 본 발명의 구현에서 로우 신호 조건이 각각 이진 "0" 또는 이진 "1"로서 번역될 수 있다는 것을 인식하고 있어야 하며, 상기 이진 수가 Dat0부터 Dat3으로 계산되거나 또는 짝수만의 혹은 홀수만의 단자들에서 또는 위에서 밑으로 (Dat7부터 Dat4로) 등으로 부호화 되는가의 여부는 문제되지 않는다는 것을 명시적으로 표시할 필요는 없다는 것을 인식하여야 한다.)
본 구현은 4개 내지 5개의 Dat 단자들을 사용하지 않고 남겨두며, 이들은 번갈아 부트 섹터 읽기, 사용될 클록 주파수/타이밍 모드 등을 위해 사용되는 데이터 라인들의 개수와 같은 추가적인 부트 기간 파라미터들을 부호화하기 위해 사용될 수 있을 것이다.
스타트 업 동안의 데이터 버스 신호를 구현하는 것은 모든 상기의 그리고 이어지는 본 발명의 방법 또는 기기를 구현들 내에서 구현될 수 있을 것이다.
본 발명의 또 다른 모습에 따르면, MMD/SD 인터페이스를 구비한 주변 기기를 위한 부트 데이터 제공 절차가 제공된다. 상기 방법은
전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인을 구비한 MMC/SD 인터페이스를 가지는 주변 기기로부터 호스트 기기를 부팅시키는 방법을 위한 것이다. 상기 방법은 상기 주변 기기의 초기화 절차 동안에 부트 요청을 위한 인수 (argument)를 상기 주변 기기의 상기 MMC/SD 인터페이스에서 상기 호스트 기기로부터 수신하는 단계, 상기 데이터 버스에서 클록 신호를 수신하는 단계 및 상기 주변 기기 내에 부트 데이터가 저장되면 그리고 저장될 때에 데이터 전송의 시작 비트를 가지고 시작하여 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로 데이터를 송신하는 단계를 포함한다.
이 구현은 예를 들면 존재하는 시리얼 프로토콜을 (그리고 아마도 리셋 명령 또한), 부트 데이터 전송을 위한 요청으로서 주변 기기 (제어기)에 의해서 해석되어 인터페이스에서 수신되는, (보통 기대되는 CMD0 명령 대신에 수신된) "기대하지 않은" 신호 프로토콜 명령으로서 이용하는 것을 의미한다. 호스트 측의 절차에서 이미 개시된 것과 같이, 부트 요청에 대한 상기 인수는 예를 들면 상기 MMC/SD 인터페이스에서 (부트 요청을 표시하는 수정된 CMD0 명령 내에 포함될 수 있는) 리셋 명령을 포함할 수 있다. 카드가, 예를 들면 상기 인수와 함께 리셋 명령 CMD0를 수신한 후에, 첫 번째 데이터를 I/O 버퍼들로 페치할 것이며, (적어도 클록 신호가 클록 단자에서 수신되는 한은) 저장된 또는 인출된 부트 데이터를 데이터 버스로 송신하는 것을 시작할 것이다.
본 발명의 예의 실시예에서, 상기 방법은 부트 섹터 읽기를 위해 사용되는 데이터 라인들의 개수 및 데이터 전송을 위해 사용될 클록 주파수/타이밍 모드의 그룹으로부터 선택된 상기 부트 시퀀스에 관련된 파라미터들을 표시하는 추가적인 인수들을 상기 부트 요청을 위한 상기 인수와 함께 상기 호스트 기기로부터 수신하는 단계 및 상기 데이터 버스를 경유하여 상기 호스트 기기로 데이터를 전송하기 위해 상기 표시된 파라미터들을 사용하는 단계를 더 포함한다. 이는 부트 요청 내에서 직접적으로 구현될 수 있을 것이며 또는 Dat0에서 Dat7 단자들에서 검출된 각 신호 입력/상태에 의해 표시될 수 있을 것이다.
본 발명의 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅하기 위한 방법이 제공된다. 상기 방법은 MMC/SD 인터페이스를 구비하는 주변 기기의 데이터 교환의 표준 초기화를 MMD/SD 인터페이스를 구비하는 상기 주변 기기의 대기 상태 (stand-by-state)가 도달될 때까지 시작하고 그리고 버스 내의 컴포넌트들 내에서 올바른 부트 코드를 찾기 위해 상기 대기 상태로부터 상기 호스트 기기와 상기 주변 기기 사이의 데이터 교환을 실행하는 것을 포함한다.
부트 요청에서 인수는 (카드가 대기 상태에 진입할 때까지 보통의 초기화의) CMD0, CMD1, CMD2, CMD3 명령들과 함께 또는 그 이후에 초기화 시퀀스의 더 늦은 단계(phase)에서 또한 주어질 수 있다. MMC/SD 인터페이스를 구비한 주변 기기가 대기 상태에 도달한 후에 상기 호스트는 정당한 부트 코드를 찾기 위해 버스 내에 컴포넌트들을 하나씩 찾아야 할 것이다.
이런 모습은 호스트 기기가 부트 데이터를 능동적으로 찾기 위해 애플리케이션을 시작하기 전에 MMC/SD 인터페이스를 구비한 주변 기기를 초기화하는 전통적인 프로세스를 이용한다. 이런 구현은 상기 호스트 기기가 전체 초기화 프로세스와 부팅되지 않는 조건에서조차 MMC/SD 인터페이스를 구비한 주변 기기 상에 저장된 부트 데이터를 위한 검색/로드 과정을 실행할 수 있을 것을 필요로 한다. 그것은 MMC/SD 인터페이스를 구비한 주변 기기의 초기화를 위한 하드코드 (hard-coded) 알고리즘과 부트 데이터 검색/로드를 위한 알고리즘이 적어도 필요한 기기이다.
이런 구현은 각각의 변형된 호스트 기기와 MMC/SD 인터페이스를 구비한 완전히 전통적인 주변 기기를 구비하여 실행될 수 있다는 가장 커다란 이점을 가진다.
본 발명의 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅하는 방법이 제공된다. 상기 호스트 기기는 데이터 버스와 CMD 단자를 구비한 MMC/SD 인터페이스를 경유하여 주변 기기에 접속된다. 추가적으로, 상기 주변 기기는
상기 주변 기기는 부트 시퀀스를 위한 추가적인 인수와 함께 MMC/SD 인터페이스를 구비한 상기 주변 기기의 동작 조건 레지스터 (Operation Condition Register) 내의 부트 요청을 위한 추가적인 인수를 구비하여 제공된다. 본 발명의 이런 모습에서, 상기 방법은 MMC/SD 인터페이스를 구비한 주변 기기의 표준 초기화 프로세스를 실행하는 단계, 상기 초기화 프로세스를 종결한 후에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스에게 송신하며, 그리고 상기 MMC/SD 인터페이스를 경유하여 주변 기기로부터 수신된 부트 데이터를 찾기 위해 데이터 버스를 모니터하는 단계를 포함한다.
본 발명의 이런 실시예는 MMC/SD 인터페이스를 구비한 주변 기기의 초기화 프로세스의 "CMD1" (또는 더 상위의 이어지는 CMD 번호들) 과정 동안에 실행될 수 있을 것이다. 즉, 부팅 데이터를 전송하는 것은 주변 기기 초기화의 최초 단계(들)에 이어져서 시작될 수 있을 것이다. 상기의 경우에서와 같이, 이 방법은 동작 조건 레지스터 (Operation Condition Register)에서의 변경을 필요로 하고, 그러므로, MMC/SD 인터페이스를 구비한 주변 기기 자체에서의 변경을 필요로 한다. 이는 부트 데이터를 이렇게 전송하는 것을 가능하게 하도록 MMC/SD 인터페이스를 구비한 존재하는 (호스트 기기들 또는) 주변 기기들을 업데이트 하는 것이 가능하지 않을 수 있다는 것을 포함한다.
본 발명의 상기의 경우들에서와 같이, 상기 방법은 주변 기기 상에서 다른 한쪽을 포함한다. 본 발명의 이 실시예에서, MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅하는 방법이 제공된다. 상기의 경우에서와 같이, 상기 주변 기기는 데이터 버스와 CMD 단자를 구비한 MMC/SD 인터페이스와 함께 제공된다. MMC/SD 인터페이스를 구비한 주변 기기에는 또한 상기 주변 기기의 동작 조건 레지스터 내의 부트 요청을 위한 추가적인 인수와 함께 제공된다. 본 발명의 이 실시예는 MMC/SD 인터페이스를 구비한 주변 기기의 초기화 프로세스를 실행하고, 부트 요청을 위한 인수를 주변 기기에서 수신하고, 메모리 모듈로부터 부트 데이터를 인출하여 상기 MMC/SD 인터페이스를 경유하여 상기 주변 기기로부터 상기 호스트 기기로 송신하는 것을 포함한다.
본 발명의 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅하는 이전의 설명의 방법을 실행하기 위해 서버로부터 다운로드 가능한 컴퓨터 프로그램 생성물이 제공된다. 상기 컴퓨터 프로그램은 상기 프로그램이 호스트 기기 상에서 실행될 때에 전술한 방법들의 모든 단계들을 실행하는 프로그램 코드 수단, MMC/SD 인터페이스를 구비한 주변 기기 또는 MMC/SD 인터페이스를 구비한 주변 기기가 내장된 호스트 기기의 시스템을 포함한다.
본 발명의 또 다른 모습에 따르면, 컴퓨터로 읽을 수 있는 매체 상에 저장된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 생성물이 제공되어 상기 프로그램 생성물이 호스트 기기 상에서 실행되고 주변 기기는 MMC/SD 인터페이스를 구비하거나 또는 MMC/SD 인터페이스를 구비한 주변 기기가 삽입된 호스트 기기의 시스템일 때에, MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 전술한 설명의 방법을 실행한다.
본 발명의 다른 모습에 따르면, 컴퓨터 데이터 신호가 제공된다. 컴퓨터 데이터 신호는 반송파 내에서 구체화되며, 상기 컴퓨터 프로그램이 호스트 기기 상에서 실행되고 주변 기기는 MMC/SD 인터페이스를 구비하거나 또는 MMC/SD 인터페이스를 구비한 주변 기기가 삽입된 호스트 기기의 시스템일 때에, 컴퓨터가 전술한 설명의 MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 방법의 단계들을 실행하게 만드는 프로그램을 기술한다.
컴퓨터 프로그램/컴퓨터 프로그램 생성물은 호스트 기기의 시스템과 MMC/SD 인터페이스를 구비한 주변 기기의 서로 다른 부분들 내에 분포되는 것이, 예를 들면 컴퓨터 프로그램의 일 부분은 호스트 기기 내에서 실행되는 곳에 위치하고 한 컴퓨터 프로그램은 MMC/SD 인터페이스를 구비한 주변 기기 내에서 실행되는 부분에 있는 것이 바람직하다. 그러므로, 컴퓨터 프로그램 및 컴퓨터 프로그램 기기는 기능과 소스 코드에 있어서 서로 달라야 한다.
본 발며의 또 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기가 제공된다. 상기 호스트 기기는 내부 또는 외부 파워 서플라이, 상기 파워 서플라이에 연결된 프로세서 및 상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스를 포함한다. 상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인을 구비한다. 상기 호스트 기기는 상기 MMC/SD 인터페이스의 단자들에 전력을 제공하며, 파워-업 동안에 상기 MMC/SD 인터페이스를 로우 (신호 상태)로 설정하고, 데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하도록 구성된다.
기본적으로 본 발명의 이런 모습은 본 명세서의 이전의 부분에서 개시된 부트 절차를 실행할 수 있는 호스트 기기에 관한 것이다. 상기 프로세서는 메인 메모리와 함께 제공되며 부트 절차를 실행할 필요를 가질 수 있다.
기본적으로, 상기 기기는 MMC/SD 인터페이스의 명령 단자에서 기대하지 않은 신호 상태를 제시한다. MMC/SD 인터페이스의 공통 라인/단자는 초기화 동안의 부트 요청을 표시하기 위해 (현재 풀 업되는 (pulled-up) 것 대신에) 로우로 설정될 수 있다. 즉, 본 발명의 원칙은 초기화 과정 동안에 호스트 기기가 실제로 부트 데이터를 요청한다는 것을 신호로 알리기 위해 어떤 (알려진 또는 새로운) 신호가 "기대하지 않은" 입력으로서 사용된다는 것에 있다.
부팅 가능한 호스트 기기의 실시예에서, 상기 프로세서는 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 데이터 버스 단자들로 클록 신호를 송신하고 파워-업 프로세스 동안에 24개 내지 148개의, 바람직하게는 60개와 100개 사이의 그리고 가장 바람직하게는 74개의 초기화 클록 주기들 동안에 전송하면서 상기 MMC/SD 인터페이스의 명령 단자를 로우로 설정하도록 구성된다. 이 실시예에서, 호스트 기기는 데이터 요청을 표시하기 위해 상이한 "기대되지 않은 신호"를 사용한다. 이 실시예는 MMC/SD 인터페이스를 구비한 주변 기기 각각이 파워-업/초기화 프로세스 동안에 클록 단자에서 클록 신호를 식별할 수 있다는 것을 필요로 한다. MMC/SD 인터페이스로 송신되는 클록 신호들의 개수가 부트 데이터 전송에 사용되는 주파수를 코딩(예를 들면 사용될 데이터 버스의 폭을 코딩하기 위해서)하기 위한 파라미터로서 사용된다는 것 또한 예측된다.
본 발명의 호스트 기기의 다른 실시예에서, 상기 프로세서는 MMC/SD 기기가 상기 데이터 버스를 경유하여 첫 번째 데이터를 송신하는 것을 시작하는 한 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 데이터 버스 단자들로 클록 신호를 송신하도록 또한 구성된다. 즉, 상기 호스트는 데이터 전송의 시작이 첫 번째 데이터 프레임의 시작 비트를 수신한 것으로부터 상기 호스트에 의해 탐지될 수 있거나 또는 모든 부트 데이터가 호스트 기기로 전달될 때까지 클록 단자에 클록을 공급하는 것을 계속하도록 구성된다.
본 발명의 또 다른 실시예에서, 상기 프로세서는, 상기 MMC/SD 인터페이스 내에 삽입되어 MMC/SD 인터페이스를 구비한 주변 기기에 의한 전송을 위하여 사용되는 데이터 버스의 폭을 표시하기 위해, 상기 데이터 버스 단자들을 로우로 설정하도록 구성된다. 이는, 부트 데이터를 전송하기 위해 사용되어야 하는, 단자들 Dat0 내지 Dat7을 로우로 설정하도록 구성된 프로세서에 의해 구현될 수 있을 것이다. 이는 부트 데이터 전송에 사용되는 Dat7 내지 Dat0 의 모든 단자들을 하이로 설정하여 8비트 버스 폭을 사용자에게 표시하는 반전된 접근 방법을 구현하는 것 또한 예측될 수 있을 것이다. (이런 경우에 MMC/SD 인터페이스가 8비트 디폴트 부트 데이터 전송으로 설정될 수 있을 것이다.) (본 명세서의 방법 섹션에서 표시된 부호화 방법들 중의 하나를 사용하도록 구성된 호스트 기기 또는 MMC/SD 인터페이스를 구비한 주변 기기를 사용하는 것도 예측된다.)
본 발명의 다른 모습에 따라서, (MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 차례로 구성된) 부팅 가능한 호스트 기기를 부팅하도록 구성된, MMC/SD 인터페이스를 구비한 주변 기기가 제공된다. 본 발명에 따르면, 상기 주변 기기는, MMC/SD 인터페이스, 상기 MMC/SD 인터페이스에 연결된 주변 기기 제어기 및 상기 주변 기기 제어기에 연결된 메모리 모듈을 포함한다. MMC/SD 규격에서 정의된 것과 같이, 상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인과 같이 제공된다. MMC/SD 인터페이스를 구비한 상기 주변 기기는 상기 주변 기기의 상기 MMC/SD 인터페이스의 단자들에서 전력을 수신할 때에 상기 주변 기기 제어기는 데이터 버스를 경유하여 미리 정의된 저장 영역의 첫 번째 데이터를 송신하도록 구성되고, 상기 첫 번째 데이터 프레임의 첫 번째 비트와 함께 시작하도록 구성되며, 그리고 파워-업 동안에 상기 MMC/SD 인터페이스의 명령 단자를 로우로 설정하도록 구성된다. MMC/SD 인터페이스를 구비한 주변 기기 내에서 상기 주변 기기 제어기는 상기 MMC/SD 인터페이스 및 상기 메모리 모듈과 연결된다.
기기 (제어기)는 부트 데이터 전송을 위해 상기 메모리 모듈 내의 미리 정의된 파일을 자동적으로 선택하도록 구성된다는 것 또한 예측된다. 파워-업 프로세스는 (MMC/SD 인터페이스의 파워 서플라이 단자들의 일부로서) 그라운드 단자들에 그라운드를 공급하는 것은 물론이며 전력 단자들에서 전력을 공급/탐지하는 것을 또한 포함한다
본 발명의 실시예의 예에서, MMC/SD 인터페이스를 구비한 상기 주변 기기 (제어기)는, 24개 내지 148개의, 바람직하게는 60개와 100개 사이의 그리고 가장 바람직하게는 74개의 초기화 클록 주기들 동안에 전송 동안의 파워-업 프로세스 이전에 또는 파워-업 프로세스 동안에 상기 MMC/SD 인터페이스의 명령 단자에서 로우 신호를 수신할 때에만, 데이터 버스를 경유하여 미리 정의된 저장 영역의 상기 첫 번째 데이터를 송신하도록 또한 구성된다.
이 실시예에서, 상기 MCC/SD 카드는 (MMC/SD 인터페이스를 구비한 주변 기기의 설계가 그에 따라서 수정되기를 요청하는) 호스트 기기로부터 수신한/표시된 부트 요청을 식별하기 위해 초기화 과정 동안에 수신된 클록 주기들의 개수를 카운트할 수 있어야 한다.
본 발명의 다른 실시예에서, 상기 주변 기기 제어기는, 상기 MMC/SD 인터페이스의 데이터 버스 단자들에서, 전송을 위해 사용되는 데이터 버스의 폭을 표시하는, 로우 신호를 수신하도록 또한 구성되며, 상기 표시된 데이터 버스 폭을 사용하여 상기 데이터를 송신한다. 이 실시예는 스타트 업 절차 동안에 Dat 단자들 (0-2, 0-3 또는 0-7)에서 신호 상태들을 인지할 수 있어서 BOOT 신호들을 전송하기 위해 사용되는 버스 폭을 유도하는 MMC 카드를 지시하는 것으로 간주된다. MMC/SD 인터페이스를 구비한 주변 기기가 예를 들면 이진 부호화된 버스 폭을 인식할 수 있도록 그 주변 기기를 구성하는 것이 또한 예측된다.
즉, 본 발명의 이 실시예 모습의 MMC/SD 인터페이스를 구비한 주변 기기는 파워-업 절차 동안에 부트 요청을 인식하기 위해 CMD 신호 라인의 신호 상태를 검사하여 인식할 수 있으며 더 복잡한 실시예들에서 결국은 CLK와 버스 라인들의 상태 (또는 펄스들의 개수)를 또한 검사하여 인식할 수 있다 (예를 들면, 본 발명의 방법과 관련된 규격의 해당 부분 참조).
본 발명의 다른 실시예에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기가 제공된다. 상기 주변 기기는 (열거된 다른 모든 호스트 기기와 같이) 파워 서플라이, 상기 파워 서플라이에 연결된 프로세서 및 상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스를 포함하며, 상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인을 구비한다.
이 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기의 초기화 프로세스 동안에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로부터 상기 주변 기기로 송신하며, 그리고 데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하도록 구성된다.
부트 요청을 위한 상기 인수는 예를 들면 CMD0 (즉, 상기 카드의 전력 단자에 권고되는 전압을 제공한 직후의 MMC/SD 인터페이스를 구비한 주변 기기 초기화) 단계 동안에 송신된 예를 들면 리셋 명령을 상기 MMC/SD 인터페이스에서 포함할 수 있을 것이다.
본 발명의 실시예에서, 상기 호스트 기기는 상기 MMC/SD 인터페이스를 경유하여 추가적인 인수들을 송신하도록 구성되며, 상기 추가적인 인수들은, 상기 부트 섹터 읽기를 위해 사용될 데이터 라인들의 개수 및 사용될 클록 주파수/타이밍 모드 등과 같은 부트 시퀀스에 연관된 파라미터들을 표시한다. 이런 추가적인 인수들/파라미터들은 상기 호스트 기기로부터 상기 MMC/SD 인터페이스로의 부트 요청을 위한 상기 인수와 함께 송신된다.
본 발명의 다른 실시예에서, 상기 호스트 기기는, 전송에 사용될 데이터 버스의 폭을 표시하기 위해, 상기 MMC/SD 인터페이스의 데이터 버스 단자들을 로우로 설정한다. 이는, 부트 데이터 전송을 구성하기 위해 버스 정보를 데이터 버스의 데이터 단자들을 경유하여 MMC/SD 인터페이스를 구비한 주변 기기로 송신하는 것을 할 수 있는 호스트 기기를 구체화시킨다. 이런 파라미터들을 표시하고/신호화하기 위한 수많은 가능성들의 예들이 본 발명의 방법에 대한 설명에 제공된다. 상기 호스트 기기는 MMC/SD 인터페이스를 구비한 통상적인 주변 기기로부터는 부팅되지 않을 것이 기대된다.
본 발명의 또 다른 모습에 따르면, 주변 기기로부터 부팅되도록 구성된 부트 가능한 호스트 기기 (이 기기는 MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되는 것으로 차례로 구성됨)를 부팅시키기 위해 구성된 주변 기기가 제공된다. 본 발명에 따르면, 상기 주변 기기는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하는 MMC/SD 인터페이스, 상기 MMC/SD 인터페이스에 연결된 주변 기기 제어기 및 상기 주변 기기 제어기에 연결된 메모리 모듈을 포함한다. 본 발명에 따르면, 부트 데이터가 상기 저장 기기 내에 저장되는 경우에, 상기 주변 기기의 MMC/SD 인터페이스에서 상기 호스트 기기로부터 부트 요청을 위한 인수를 수신하면 그리고 수신할 때에 그리고 상기 클록 라인에서 클록 신호를 수신할 때에, 상기 주변 기기는 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로 데이터 전송의 시작 비트와 함께 시작하여 데이터를 송신하도록 구성된다.
예를 들면 MMC/SD 인터페이스를 구비한 상기 주변 기기는 부트 요청이 예를 들면 (MMC/SD 인터페이스 규격 내에 정의된 것과 같은) 리셋 명령을 포함하면 그 부트 요청에 대한 인수를 인식하는 것이 예측된다.
본 발명의 일 실시예에서, 상기 주변 기기 제어기는 전송에 사용될 데이터 버스의 폭을 표시하는 로우 신호를 상기 MMC/SD 인터페이스의 데이터 버스 단자들에서 수신하도록 또한 구성되며, 그때에 상기 주변 기기 제어기는 상기 표시된 데이터 버스 폭을 상기 전송을 위해 사용될 데이터 버스를 위해 사용하도록 또한 구성된다. 버스 폭이 어떻게 MMC/SD 인터페이스의 데이터 단자들/라인들 Dat0 내지 Dat7의 8비트 인수로 부호화될 수 있는 가에 대한 예들은 본 발명의 방법의 상기의 설명에서 개시되어 있다.
본 발명의 다른 실시예에서, 상기 주변 기기 제어기는 상기 호스트 기기로부터 부트 요청에 대한 인수들과 함께 - 부트 섹터 읽기를 위해 사용되는 데이터 라인들의 개수 및 사용될 클록 주파수/타이밍 모드 및/또는 다른 클록 파라미터들과 같은 부트 시퀀스에 관련된 파라미터들을 표시하는 추가적인 인수들을 수신하도록 또한 구성된다. 본 발명의 MMC/SD 인터페이스를 구비한 상기 주변 기기 (제어기)는 상기 수신한 파라미터들에 따라서 상기 (요청된 부트) 데이터를 상기 데이터 버스를 경유하여 상기 호스트 기기로 송신하도록 또한 구성된다.
부트 기기들의 상기의 모든 구현들은 MMC/SD 인터페이스를 완전하게 초기화하고 그후에 MMC/SD 인터페이스를 구비한 상기 주변 기기 상에 저장된 부트 데이터를 찾는 다소 전통적인 접근 방법에 비해 부트 데이터에 액세스하는 시간을 줄이려는 주된 설계 목적을 가진다는 것에 또한 유의한다.
("MMC/SD 인터페이스"의 용어는, MMC 인터페이스들 모두가 SD 폼 팩터를 지원하는 것은 아니기 때문에, MMC 인터페이스 단독으로 있거나 또는 SD 인터페이스가 단독인 경우에도 결합된 MMC/SD 인터페이스가 있는 것의 어느 하나를 나타내기 위해 사용된 것에 유의해야 한다.)
차량의 대시보드의 경우에서와 같이, 아마도 단자들의 하나가 고장나거나 불완전한가를 검사하는 것을 가능하게 하기 위해, MMC 설계자들은 MMC/SD 인터페이스의 초기화 절차에서 "모두 하이" 입력을 구현한 것 같다. 로우 신호 상태들은 전기적인 결함에 의해 발생되는 경우에, 이는 본 발명의 방법이 그릇된 결과를 발생시키는 유일한 경우이다.
본 발명의 또 다른 모습에 따라서, MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기가 제공된다. 상기 호스트 기기는 파워 서플라이, 상기 파워 서플라이에 연결된 프로세서 및 상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스를 포함하며, 상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 명령 라인을 구비한다. 본 발명의 이와 같은 모습의 상기 호스트 기기는, MMC/SD 인터페이스를 구비하는 주변 기기의 데이터 교환의 표준 초기화를 상기 주변 기기의 대기 상태 (stand-by-state)가 도달될 때까지 상기 MMC/SD 인터페이스를 경유하여 시작하고 그리고 버스 내의 컴포넌트들 내에서 올바른 부트 코드를 찾기 위해 상기 대기 상태로부터 상기 호스트 기기와 상기 주변 기기 사이의 데이터 교환을 실행하도록 구성된다.
상기 프로세서는 (부팅 가능한) 메인 메모리와 함께 제공될 수 있을 것이다. (이 호스트 기기는 "부트 요청 인수"를 전송하기 위해 구성된 것이 아니며, 상기 호스트 기기는 부트 파일/데이터로서 인식될 수 있을 데이터 파일들을 자동적으로 검색할 수 있을 것이다.) 즉, 부트 요청은 (카드들이 대기 상태로 진입할 때까지의 보통의 초기화에서의) CMD0, CMD1, CMD2, CMD3 명령들과 함께 또는 그 이후에 초기화 시퀀스의 더 나중의 단계에서 주어진다. MMC/SD 인터페이스를 구비한 주변 기기가 대기 상태에 도달한 후에, 상기 호스트는 올바른 부트 코드를 찾기 위해 상기 호스트는 정당한 부트 코드를 찾기 위해 버스 내에 컴포넌트들을 하나씩 찾아야 할 것이다.
이런 모습은 호스트 기기가 부트 데이터를 능동적으로 찾기 위해 애플리케이션을 시작하기 전에 MMC/SD 인터페이스를 구비한 주변 기기를 초기화하는 전통적인 프로세스를 이용할 수 있을 것이다. MMC/SD 인터페이스를 구비한 주변 기기의 이런 구현은 상기 호스트 기기가 전체 초기화 프로세스와 부팅되지 않는 조건에서조차 상기 주변 기기 상에 저장된 부트 데이터를 위한 검색/로드 과정을 실행할 수 있을 것을 필요로 한다. 이는, 상기 기기가 주변 기기를 초기화시키고 그 후에 부트 데이터를 찾기 위해 동작하도록 하는, BIOS 기능의 종류로서 해석될 수 있을 것이다. 그것은, 예를 들면, MMC/SD 인터페이스를 구비한 주변 기기의 초기화를 위한 하드코드 (hard-coded) 알고리즘과 부트 데이터 검색/로드를 위한 알고리즘에 의해 구현될 수 있을 것이다.
이런 구현은 각각의 변형된 호스트 기기와 MMC/SD 인터페이스를 구비한 완전히 전통적인 주변 기기를 구비하여 실행될 수 있다는 가장 커다란 이점을 가진다. 그러나, 사용자가 액세스해야만 한다는 사실은 그 사용자가 그 슬롯 (즉, 인터페이스) 내에 MMC/SD 인터페이스를 구비한 잘못된 주변 기기를 무심코 사용할 수 있다는 것을 포함할 수 있을 것이다. 그러므로, 이런 구현은 그 기기가 예를 들면 (N-게이지 획득 콘솔과 같은) 게임 기기들과 같은 MMC/SD 인터페이스를 구비한 주변 기기 없이는 동작하지 않을 것이 명백하거나, 또는 MMC/SD 카드가 내부 펌웨어 저장부로서 사용되는 것이 명백할 때의 (즉, 사용자는 카드로 액세스할 수 없으며 어떤 부트 데이터도 가지지 않아서 MMC/SD 인터페이스를 구비한 주변 기기와 함께 기기를 동작시키려고 하는 좌절된 시도를 가질 필요가 없다) 애플리케이션들에게 특히 유용하다.
본 발명의 또 다른 모습에 따르면, MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기가 제공되며, 상기 주변 기기는 부트 시퀀스를 위한 추가적인 인수와 함께 동작 조건 레지스터 (Operation Condition Register, OCR)를 구비하여 제공된다. 호스트 기기의 상기의 다른 실시예에서와 같이, 상기 호스트 기기는, 파워 서플라이, 상기 파워 서플라이에 연결된 프로세서 및 상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스를 포함하며, 상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 CMD 단자를 가진 CMD 라인을 구비한다. 본 발명에 따라서, 상기 호스트 기기는, MMC/SD 인터페이스를 구비한 주변 기기의 초기화 이후에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스로 송신하며, 그리고 상기 MMC/SD 인터페이스를 경유하여 상기 주변 기기로부터 수신될 부트 데이터를 찾기 위해 상기 데이터 버스를 모니터하도록 구성된다.
즉, 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기를 초기화한 후에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스로 송신하며, 상기 MMC/SD 인터페이스를 경유하여 상기 주변 기기로부터 수신될 부트 데이터를 찾기 위해 상기 데이터 버스를 모니터한다. 이는 예를 들면 "CMD1" 데이터 교환 단계/주기 동안에 또는 그 이후에 발생할 수 있을 것이다. 호스트 기기의 상기 버전과 대조하여, 부트 데이터를 전송하기 위해 주변 기기에 대해/주변 기기 내에 제공된 전용의 요청이 있다. 즉, 이 실시예에서, 호스트 기기를 위한 절차는 초기화 프로세스, 부타 데이터 요청 전송 및 부트 데이터 수신만을 포함한다. 이런 구현에서, MMC/SD 인터페이스를 구비한 주변 기기는 부트 데이터가 존재하는가의 여부 그리고 어느 곳에 그들이 저장되는가를 인식한다. 당업자는 이런 사실을 쉽게 인식할 수 있지만, 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기의 동작 조건 레지스터의 부트 요청을 위한 인수를 실제로 인식한다는 것이 (즉, 저장하고 있다) 명백하게 선언되었다.
본 발명의 이런 구현은 CMD1 레벨에서 정의된 새로운 레지스터 정의와, 컴포넌트에 부트 코드가 삽입되었는지/ 컴포넌트가 부트 코드를 포함하는지를 표시하기 위한 OCR 레지스터 내의 추가적인 인수를 필요로 한다. 그럼으로써 호스트는 CMD1 (CMD1 명령을 위해 할당된 인수)을 송신하면서도 부트 데이터를 요청할 수 있다.
본 발명의 추가적인 모습에 따라, MMC/SD 인터페이스를 구비한 주변 기기가 제공된다. 이 주변 기기는 MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기를 부팅하도록 구성된다. MMC/SD 인터페이스를 구비한 이 주변 기기는 부트 요청을 위한 추가적인 인수와 함께 동작 조건 레지스터 (Operation Condition Register) 내에서 제공된다. 상기 주변 기기는, 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하는 MMC/SD 인터페이스, 상기 MMC/SD 인터페이스에 연결되며, 동작 조건 레지스터를 구비한 주변 기기 제어기 및 상기 주변 기기 제어기에 연결된 메모리 모듈을 포함한다.
MMC/SD 인터페이스를 구비한 이 주변 기기 기기는 부트 요청을 위한 추가적인 인수와 함께 상기 동작 상태 레지스트 내에서 제공된다. MMC/SD 인터페이스를 구비한 이 주변 기기는 (또는 그것의 제어기는), MMC/SD 인터페이스를 구비한 주변 기기 초기화 절차 이후에 부트 요청을 위한 인수를 상기 주변 기기에서 수신하고 그리고 (상기 주변 기기 메모리 모듈로부터 부트 데이터를) 인출하여 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로 송신하도록 구성된다. 그럼으로써 상기 주변 기기는 상기 호스트 기기가 단일의 부트 데이터 전송 요청을 송신함으로써 부트 데이터를 요청하는 것을 가능하게 한다. 그러나, 상기 MMC/SD의 동작 조건 레지스터가 변경되어야 하며, 이는 시장에 실제로 나와 있는 MMC/SD 인터페이스를 구비한 전통적인 주변 기기는 이런 추가적인 특성을 유지하면서 업그레이드되지 않을 것이라는 사실을 본질적으로 포함한다.
본 발명의 실시예에서, 부트 요청에 대한 상기 인수를 가진 상기 동작 조건 레지스터는 MMC/SD 인터페이스를 구비한 상기 주변 기기 내에서 상기 주변 기기 제어기로 연결되거나 상기 주변 기기 내에서 구현된 하드코드 (hard coded) 하드웨어 컴포넌트로서 구현된다.
이런 하드웨어 해결책에서, 부트 능력을 포함할 수 있는 컴포넌트는 자신의 OCR을 가지고 응답만을 할 것이며, CMD1 이후에 마무리될 것이며 (준비 상태) 상기 호스트는 데이터 라인 내에서 첫 번째 데이터를 다시 수신하기 위해 버스에 클록 공급을 계속할 수 있을 것이다. 그러나, 이런 구현은 부트/비-부트 컴포넌트들 사이의 상이한 하드웨어를 필요로 한다. 어쨌든, 부트 요청을 수신하지 않으면, MMC/SD 인터페이스를 구비한 부트 프로세스가 가능했던 주변 기기조차도 MMC/SD 인터페이스를 구비한 비-부트 주변 기기로서 사용될 수 있을 것이다.
본 발명의 다른 실시예에서, 부트 요청에 대한 상기 인수를 가진 동작 조건 레지스터는 주변 기기 제어기 내에서 실행되는 소프트웨어로서 구현된다. 이런 구현은 버스 내의 모든 컴포넌트들이 자신들이 준비가 되고 마지막 응답만이 부트 능력에 관한 올바른 표시를 포함할 때까지 자신들의 OCR과 함께 응답하는 펌웨어 (소프트웨어)를 의미한다. 동일한 버스 내에 하나 이상의 컴포넌트가 있고 부트 가능한 컴포넌트가 부트가 가능하지 않은 것보다 더 빨리 준비가 되면 부트 능력은 초기화 시퀀스 내에서 (예를 들면, OCR 레지스터를 별도로 다시 읽음으로써) 나중에 다시 확인되어야 할 필요가 있다는 사실 때문에 이런 구현은 더 복잡하다.
메모리 카드 제어기의 메모리 카드는 파워-온 검출 모듈, 메모리 코어, 메모리 인터페이스, 인터페이스 메모리 카드, 인터페이스 제어기 및 다른 컴포넌트들 과 같은 MMC/SD 인터페이스 규격으로부터 알려진 추가적인 서브-엘리먼트들과 함께 또한 제공받을 수 있을 것이라는 것에 유의한다.
다음에서, 본 발명은 첨부된 도면들을 참조하여 상세하게 설명될 것이다.
도 1은 본 발명의 한 모습에 따른 방법의 양 쪽 부분들을 시각화한 흐름도이다.
도 2는 도 1의 방법의 대안의 실시예를 도시한 것이다.
도 3은 본 발명에 따른 부팅 절차의 다른 실시예를 도시한 것이다.
도 4는 MMC/SD 인터페이스를 구비한 주변 기기와 완전하게 초기화된 이후에 부트 요청이 전송되는, 본 발명의 다른 구현예를 도시한 것이다.
도 5는 호스트 기기와 MMC/SD 인터페이스를 경유하여 연결된 MMC/SD 인터페이스를 구비한 주변 기기를 도시한 것이다.
도 6은 호스트 기기와 MMC/SD 인터페이스를 구비한 주변 기기로, 각각은 MMC/SD 인터페이스를 경유하여 연결된 전용 부트 유닛과 함께 제공되는 것을 도시한 것이다.
이어지는 상세한 설명에서 동일한 컴포넌트들에는 그것들이 본 발명의 다른 실시예에서 도시되는 것의 여부와 관계없이 동일한 참조 기호들이 부여된다. 본 발명을 명백하고 간략하게 도시하기 위하여, 도면들은 꼭 크기를 맞춰서 그려진 것은 아닐 수 있으며 특정한 특성들은 다소 개략적인 모습으로 도시될 수 있다.
도 1 및 이어지는 도 2, 3, 4에서, 흐름도의 호스트 기기 부분은 왼쪽 편에 도시되었으며 우측 편에 도시된 흐름도 부분은 MMC/SD 인터페이스를 구비한 주변 기기에 의해서 또는 그 내부에서 실행되는 동작 또는 프로세스들에 관한 것이다.
본 발명의 방법들을 더 설명하기 위해 전력 (PWR), 때로는 단일 데이터 신호들 (Dat0, Dat1, ....)로 분리되기도 하는 데이터 (DAT), 클록 (CLK) 신호 및 명령 신호와 같은 일부 선택된 신호들은 전통적인 왼쪽에서 오른쪽의 방식으로 표시된다. 로우 신호 상태들을 더 잘 표시하기 위해, 로우 신호들은 하이에서 로우로 전이하는 것으로서 설명된다.
전통적인 신호화는 (가능하다면) 파선으로 표시된다.
도 1은 본 발명의 한 모습에 따른 방법의 양 쪽 부분들을 시각화한 흐름도이다. 흐름도에서, 호스트 기기는 주변 기기와 분리되며, MMC/SD 카드에서 MMC/SD 카드를 경유하여 연결된다. 흐를도는 제일 위의 왼쪽에서 시작하며, 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기에게 그 MMC/SD 카드 인터페이스의 전력 단자로 전력을 제공하여 전력을 공급한다. 그러므로, 주변 기기는 전력 신호를 수신한다 (제일 위의 오른쪽).
동시에 (또는 연속하여) 호스트 기기는 명령어 라인 (CMD)에 "로우" 신호를 놓는다. MMC/SD 인터페이스를 구비한 주변 기기는 (현재의 MMC/SD 인터페이스 규격에 따른 신호를 기대하면서도) 이 신호를 하이 신호 상태로 (그리고 나중의 CMD0 명령으로) 수신하여 (현재의 MMC/SD 인터페이스 초기화 규격에 따라서) "기대하지 않은" 신호를 검출한다. (본 발명에 따른) MMC/SD 카드는 이런 로우 신호 상태를 인식하고 그것을 부트 요청으로서 번역한다. 검출된 부트 요청에 이어서, MMC/SD 인터페이스를 구비한 주변 기기는 간단하게 부트 데이터를 (예를 들면, 전용의 파일 또는 메모리 영역으로부터) 인출하여 인터페이스를 경유하여 (DAT 신호에 의해 표시된 것과 같이) 호스트 기기로 송신한다.
따라서 호스트 기기는 부트 신호들을 수신하기 위해 인터페이스의 데이터 단자들을 모니터한다. 데이터를 수신할 때에, 호스트 기기는 부트 요청을 실질적으로 종료하기 위해 그 데이터를 호스트 기기의 메인 메모리에 로드할 수 있을 것이다.
명령 라인에서 전통적인 신호 상태 (전통적인 초기화 프로세스의 CMD0, CMD1, CMD2, ...신호들의 전송 때까지 항상 하이임)를 표시하기 위해 파선이 도 1에서 도시되었다.
도 2는 도 1의 방법의 대안의 실시예를 도시한 것이다. 도 1에서 개시된 것에 추가된다. 도 2는 도 1과 동일한 단계들로 시작한다. CMD 단자에서 제공된 로우 신호에 추가적으로, 호스트 기기는 (적어도 74개 주기동안 또는 모든 부트 데이터가 전송될 때까지) 클록 단자에서 클록 신호를 제공한다.
이런 추가적인 신호를 제공함으로써, MMC/SD 인터페이스를 구비한 주변 기기는 예를 들면 명령 단자 실패와 두 개의 서로 다른 신호 컴포넌트들로 구성된 부트 요청 사이를 명백하게 구분할 수 있을 것이다.
추가적인 단계에서, 호스트 기기는 데이터 버스의 Dat0 및 Dat1 단자를 로우러 설정하며, 그럼으로써 이어지는 데이터 전송을 위해 사용될 데이터 버스의 폭을 표시한다. (전통적으로 버스 단자들은 파선으로 표시된 것과 같이 "하이"로 설정된다.) "로우 신호들"은 카드에서 수신되며 그에 따라 번역되며, 그러므로 Dat0 및 Dat1 단자들만이 마지막 단계에서 송신 신호로 도시되며, 반면에 Dat2 및 Dat.... 단자들은 부트 데이터 전송을 위해서는 사용되니 않는다.
이런 구현과 함께 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기와의 연결이 되면 첫 번째 단계들과 함께 부트 데이터를 다운로드하기 시작할 것이며, 그럼으로써 부트 프로세스를 크게 속도 증가시킨다.
도 3은 유사한 부팅 절차를 도시한다. 도 2의 구현과 대조적으로, 수정된 CMD0이 MMC/SD 인터페이스를 구비한 주변 기기로의 부트 요청을 표시하기 위해 사용된다. 전통적으로, 초기화 절차는 인수 00H를 가진 CMD 명령을 포함할 것이다. 본 발명에 따른 방법의 도시되어 있는 구현은 인수 01H를 구비한 "기대하지 않은" CMD0 신호를 (전통적인 규격에 따라서) 이용한다. 수정된 CMD0 신호를 수신함으로써, MMC 카드는 MMC/SD 인터페이스를 구비한 주변 기기가 초기화된 상태에 도달하기 전이라도 입력되고 있는 부트 요청을 인식할 수 있다.
수정된 CMD0는 단독으로 또는 (도 2에 도시된 것과 같이) 클록 신호와 연결하여 송신될 수 있을 것이다.
다른 파라미터들 역시 부트 요청과 함께 명령 인수 내에서 전송될 수 있을 것이다. 이런 유형의 추가적인 파라미터들은 예를 들면 사용된 버스 폭 및 (할당되기 위해서는 별도의 비트/값이 필요할 것인) 사용된 타이밍 모드일 수 있을 것이다.
도 4는 본 발명의 다른 구현을 도시한 것으로, 그 때에, MMC/SD 인터페이스를 구비한 주변 기기가 완전하게 초기화된 즉, "대기 상태 (stand-by-state)"가 된 후에 부트 요청이 전송된다. 대기 상태에서 호스트 기기는 MMC/SD 인터페이스를 구비한 주변 기기에서 명령 라인을 경유하여 부트 요청 명령을 송신한다 (그리고 MMC/SD 인터페이스의 클록 단자에 클록 공급을 시작한다). 이런 구현은 각 부트 요청 명령이 MMC/SD 인터페이스의 프로토콜 내에서 (즉, MMC/SD 인터페이스를 구비한 주변 기기의 동작 조건 레지스터 내에서) 정의될 것을 필요로 한다. (호스트 기기가, 예를 들면, "**.bot"와 같은 파일 이름으로 표시된 부트 데이터로서 인식될 수 있는 특정 데이터 구조를 찾아서 MMC/SD 인터페이스를 구비한 주변 기기의 메모리 모듈을 자율적으로 검색한다는 것도 또한 예측된다.) 부트 요청을 수신할 때에, MMC/SD 인터페이스를 구비한 주변 기기는 자동적으로 원하는 부트 데이터를 정의할 수 있을 것이며 데이터 전송을 시작할 수 있을 것이다.
도 5는 호스트 기기와 MMC/SD 인터페이스를 경유하여 연결되는 MMC/SD 인터페이스를 구비한 주변 기기를 도시한다. 호스트 기기는 프로세싱 유닛 (CPU) 및 MMC/SD 인터페이스 제어기를 포함한다. 불명료함을 피하기 위해 MMC/SD 인터페이스의 CMD, CLK 및 DAT 단자들 상의 형상이 도시되었다. MMC/SD 메모리 카드는 인터페이스와 메모리 모듈 사이의 중재자로서 기능하는 주변 기기 제어기를 포함하며 MMC/SD 인터페이스와 메모리 모듈 사이에 실행되는 모든 절차들을 제어하는 기능을 한다.
본 발명의 구현에서 호스트 인터페이스 제어기는 본 발명의 방법을 실행하도 록 (예를 들면, 실행하는데 필요한 신호들을 송신하도록) 구성된다.
그러므로, 호스트 기기 (또는 호스트 인터페이스 제어기)는 호스트 기기 내에서 소프트웨어로서 구현된 전용의 부트 모듈을 제공받을 수 있을 것이다.
본 발명의 구현에서, MMC/SD 인터페이스를 구비한 주변 기기의 인터페이스 제어기는 본 발명의 방법을 실행하도록 (예를 들면, 실행하는데 필요한 신호들을 송신하도록) 구성된다.
유사하게 MMC/SD 인터페이스 제어기는 소프트웨어로서 구현된 전용 부트 모듈을 제공받는다. 그 소프트웨어 부트 모듈은 주변 기기 제어기가 부트 요청을 표시하는 신호가 수신되었는가의 여부 그리고 부트 데이터가 호스트 기기로 송신되었는가의 여부를 결정할 수 있도록 한다.
도 6은 호스트 기기와 도 5의 MMC/SD 인터페이스를 구비한 주변 기기를 도시한 것이며, 각각에는 전용의 부트 모듈 또는 부트 유닛이 제공된다
본 발명의 구현에서, 호스트 인터페이스 제어기에 연겨된 부트 유닛/부트 모듈은 본 발명의 방법을 실행하도록 (예를 들면, 실행하는데 필요한 신호들을 송신하도록) 구성된다. 호스트 기기 (또는 호스트 인터페이스 구현)는 호스트 기기 내의 하드웨어 구현으로서 구현된 전용의 부트 모듈을 제공받는다. 그런 부트 모듈은 부트 절차가 실행되었는지 아닌지의 여부를 결정할 수 있도록 CPU에 연결되어야 한다. 추가적으로, 부트 모듈 또는 부트 유닛은 부트 절차를 유도하기 위해 (또는 실행하기 위해) 필요한 모든 단계들을 가질 수 있도록 (예를 들면, 모든 필요한 신호들을 송신하기 위해) (MMC/SD) 인터페이스에 (또는 제어기에) 또한 연결되어야 한 다. 상기 부트 유닛은 인터페이스 자체와 CPU 사이의 인터페이스 제어기에 병행하여 연결되는 회로로서 구현될 수 있을 것이다.
상기 부트 모듈은 상기 MMC/SD 인터페이스의 명령 단자를 파워-업 동안에 로우로 설정하고, 카드가 상기 데이터 버스를 경유하여 데이터를 송신하는 한 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 클록 단자로 클록 신호를 송신하며, 데이터 전송에 사용될 데이터 버스의 폭을 표시하기 위해 데이터 버스 단자들을 로우로 설정하기 위한 컴포넌트들을 포함할 수 있을 것이며, 그리고/또는 초기화 절차 동안에 부트 요청을 위한 인스를 MMC/SD 인터페이스로 송신하고, 클록 라인으로 클록 신호를 송신하도록 구성된 컴포넌트들을 더 포함할 수 있을 것이며, 그리고/또는 MMC/SD 인터페이스를 구비한 주변 기기를 초기화한 후에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스로 송신하며, 상기 MMC/SD 인터페이스를 경유하여 주변 기기로부터 수신되는 부트 데이터의 시작 비트를 찾기 위해 데이터 버스를 모니터하도록 구성된 컴포넌트들을 더 포함할 수 있을 것이다.
상기 주변 기기의 다른 실시예에서, 부트 요청을 위한 인수 (argument)를 가지는 동작 조건 레지스터가 주변 기기 제어기 내에서 실행되는 소프트웨어로서 구현된다.
본 발명의 구현에서, MMC/SD 인터페이스 제어기는 전용의 부트 모듈 또는 부트 유닛을 사용하여 본 발명의 방법을 실행하도록 (예를 들면, 실행하는데 필요한 신호들을 송신하도록) 구성된다.
유사하게 MMC/SD (메모리 카드 또는) 인터페이스 제어기에는 MMC/SD 메모리 기기 내의 소프트웨어 또는 하드웨어로서 구현으로서 구현된 전용의 부트 모듈이 제공된다. 그런 부트 모듈은 부트 요청을 표시하는 신호가 수신되는가의 여부 그리고 부트 데이터가 호스트 기기로 전송될 것인가의 여부를 결정할 수 있도록 주변 기기 제어기에 (또는 적어도 인터페이스에) 연결되어야 한다. 상기 부트 모듈은 부트 프로세스를 간단하게 하기 위해 주변 기기의 메모리 모듈 상에 정의된 전용의 부트 섹터에 또한 연결될 수 있을 것이다.
상기 부트 모듈은, 파워 업 이전에 또는 파워 업 동안에 명령 단자에서 로우 신호를 수신한 후에 첫 번째 데이터 프레임의 시작 비트와 함께 시작하여, 데이터 버스를 경유하여 미리 정의된 저장 영역의 첫 번째 데이터를 송신하는 컴포넌트들을 포함할 수 있을 것이다.
부트 유닛 또는 부트 모듈은 부트 요청을 표시하는 추가적인 파라미터로서 클록 신호들을 수신하는 전용의 컴포넌트들을 포함하며 그리고 데이터 버스 단자들에서 수신된 로우 신호에 의해서 표시된 버스 폭을 사용하여 상기 데이터를 송신하기 위한 컴포넌트와 함께 더 제공될 수 있을 것이라는 것이 또한 예측된다.
부트 유닛은 MMC/SD 인터페이스를 구비한 상기 주변 기기 내에서 제공된 부트 요청을 위한 추가적인 인수를 가지는 전용의 동작 환경 레지스터를 또한 제공받을 수 있을 것이다.
본 발명의 또 다른 실시예에서, 부트 요청을 위한 상기 인수를 가진 상기 동작 조건 레지스터는 주변 기기 제어기 내에서 실행되는 소프트웨어로서 구현된다.
본 발명을 사용하면, HW/FW 변경을 최소화하기 위해 현존하는 핀들/프로토콜 을 이용하면서, 메모리 카드 인터페이스가 내장된 메모리들과 함께 훨씬 더 효율적인 부트를 가능하게 한다.
본 출원은 예들의 도움을 받아 구현에 대한 설명과 본 발명의 실시예들을 포함한다. 상기에서 제시된 실시예들의 상세한 부분으로 본 발명이 제한되는 것이 아니며, 본 발명은 본 발명의 특징들로부터 벗어나지 않으면서 다른 모습으로 또한 구현될 수 있다는 것이 본 발명이 속한 기술 분야의 통상의 지식을 가진 자에게 인식될 것이다. 상기에서 제시된 실시예들은 예시적인 것이며, 한정하려는 것이 아닌 것으로 간주되어야 한다. 그러므로 구현의 기능 및 본 발명의 이용은 첨부된 청구항들에 의해서만 제한된다. 결과적으로, 등가의 구현을 포함하며, 청구항들에 의해 결정된 본 발명을 구현하는 다양한 옵션들 또한 본 발명의 범위에 또한 포함된다.

Claims (69)

  1. 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비한 MMC/SD 인터페이스를 경유하여 주변 기기로부터 호스트 기기를 부팅시키는 방법으로서,
    상기 전력 단자들에게 전력을 공급하는 단계;
    파워-업 (power-up) 동안에 상기 MMC/SD 인터페이스의 명령 단자를 로우 (low)로 설정하는 단계; 및
    데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하는 단계;를 포함하는, 호스트 기기 부팅 방법.
  2. 제1항에 있어서, 상기 방법은,
    상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 클록 단자에게 클록 신호를 송신하는 단계;를 더 포함하며,
    이때에, 상기 MMC/SD 인터페이스의 상기 명령 단자는 24개 내지 148개의 초기화 클록 주기들을 전송하는 중, 파워-업 프로세스 이전에 또는 파워-업 프로세스 동안에 로우 (low)로 설정되는, 호스트 기기 부팅 방법.
  3. 제1항에 있어서,
    상기 방법은 상기 호스트 기기가 상기 데이터 버스를 경유하여 데이터를 전송하는 동안 상기 호스트 기기로부터 상기 클록 단자로 클록 신호를 송신하는 단계;를 더 포함하는, 호스트 기기 부팅 방법.
  4. 제1항에 있어서,
    상기 방법은 상기 데이터 전송에 사용될 상기 데이터 버스의 폭(width)을 표시하기 위해 상기 데이터 버스 단자들을 로우로 설정하는 단계;를 더 포함하는, 호스트 기기 부팅 방법.
  5. MMC/SD 인터페이스를 구비하는 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 컴퓨터 프로그램 생성물로서,
    제1항의 단계들을 실행하기 위한 프로그램 코드 섹션들을 포함하며,
    상기 프로그램은 호스트 기기에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  6. MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 방법을 실행하기 위한 컴퓨터 프로그램 생성물로서,
    제1항의 단계들을 실행하기 위한, 컴퓨터로 읽을 수 있는 매체 상에 저장된 프로그램 코드 섹션들을 포함하며,
    상기 프로그램 생성물은 호스트 기기 상에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  7. 반송파 내에서 구체화된 컴퓨터 데이터 신호로서,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하며,
    상기 컴퓨터 데이터 신호는 호스트 기기에 의해 실행될 때에 MMC/SD 인터페이스가 제1항의 단계들을 실행되도록 하는 명령어들을 표시하는, 컴퓨터 데이터 신호.
  8. 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 가진 MMC/SD 인터페이스를 경유하여 상기 MMC/SD 인터페이스를 구비하는 주변 기기로부터 부팅하는 방법으로서,
    상기 MMC/SD 인터페이스의 상기 전력 단자들에서 전력을 수신하는 단계;
    파워 업 이전에 또는 파워 업 동안에 상기 명령 단자에서 로우 신호를 수신하는 단계; 및
    데이터 버스를 경유하여 미리 정의된 저장 영역의 첫 번째 데이터를 송신하는 단계;를 포함하며, 상기 송신은 상기 첫 번째 데이터 프레임의 첫 번째 비트와 함께 시작하는, 주변 기기로부터 부팅하는 방법.
  9. 제8항에 있어서,
    데이터 버스를 경유한 미리 정의된 저장 영역의 상기 첫 번째 데이터는 24개 내지 148개의 초기화 클록 주기들 동안 파워-업 프로세스 중에 상기 MMC/SD 인터페이스의 상기 명령 단자에서 로우 신호를 수신하면 그리고 수신할 때에만 송신되는, 주변 기기로부터 부팅하는 방법.
  10. 제8항에 있어서, 상기 방법은,
    상기 데이터 버스 단자들에서, 전송에 사용될 상기 데이터 버스의 폭을 표시하는, 로우 신호를 수신하는 단계; 및
    상기 표시된 데이터 버스 폭을 사용하여 상기 데이터를 송신하는 단계;를 더 포함하는, 주변 기기로부터 부팅하는 방법.
  11. MMC/SD 인터페이스를 구비하는 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 컴퓨터 프로그램 생성물로서,
    제8항의 단계들을 실행하기 위한 프로그램 코드 섹션들을 포함하며,
    상기 프로그램은 호스트 기기에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  12. MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 방법을 실행하기 위한 컴퓨터 프로그램 생성물로서,
    제8항의 단계들을 실행하기 위한, 컴퓨터로 읽을 수 있는 매체 상에 저장된 프로그램 코드 섹션들을 포함하며,
    상기 프로그램 생성물은 호스트 기기 상에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  13. 반송파 내에서 구체화된 컴퓨터 데이터 신호로서,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하며,
    상기 컴퓨터 데이터 신호는 호스트 기기에 의해 실행될 때에 MMC/SD 인터페이스가 제8항의 단계들을 실행되도록 하는 명령어들을 표시하는, 컴퓨터 데이터 신호.
  14. 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비한 MMC/SD 인터페이스를 가진 주변 기기로부터 호스트 기기를 부팅시키는 방법으로서,
    초기화 절차 동안에 부트 요청을 위한 인수 (argument)를 상기 MMC/SD 인터 페이스를 경유하여 상기 호스트 기기에서 상기 주변 기기로 송신하는 단계;
    클록 신호를 상기 클록 라인으로 송신하는 단계; 및
    데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하는 단계;를 포함하는, 호스트 기기를 부팅시키는 방법.
  15. 제14항에 있어서,
    부트 요청을 위한 상기 인수는 명령을 포함하는, 호스트 기기를 부팅시키는 방법.
  16. 제14항에 있어서,
    부트 요청을 위한 상기 인수는 CMD0 단계 동안에 송신되거나 또는 CMD0 단계 이후에 바로 송신되는, 호스트 기기를 부팅시키는 방법.
  17. 제16항에 있어서,
    부트 요청을 위한 상기 인수는 상기 CMD0 단계 동안의 리셋 명령을 포함하는, 호스트 기기를 부팅시키는 방법.
  18. 제14항에 있어서,
    부트 요청을 위한 상기 인수는 CMD0 명령을 위한 인수를 포함하는, 호스트 기기를 부팅시키는 방법.
  19. 제14항에 있어서,
    부트 요청을 위한 상기 인수는 수정된 CMD0 명령을 위한 인수를 포함하는, 호스트 기기를 부팅시키는 방법.
  20. MMC/SD 인터페이스를 구비하는 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 컴퓨터 프로그램 생성물로서,
    제14항의 단계들을 실행하기 위한 프로그램 코드 섹션들을 포함하며,
    상기 프로그램은 호스트 기기에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  21. MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 방법을 실행하기 위한 컴퓨터 프로그램 생성물로서,
    제14항의 단계들을 실행하기 위한, 컴퓨터로 읽을 수 있는 매체 상에 저장된 프로그램 코드 섹션들을 포함하며,
    상기 프로그램 생성물은 호스트 기기 상에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  22. 반송파 내에서 구체화된 컴퓨터 데이터 신호로서,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하며,
    상기 컴퓨터 데이터 신호는 호스트 기기에 의해 실행될 때에 MMC/SD 인터페이스가 제14항의 단계들을 실행되도록 하는 명령어들을 표시하는, 컴퓨터 데이터 신호.
  23. 제14항에 있어서,
    - 부트 섹터 읽기를 위해 사용되는 데이터 라인들의 개수 및
    - 사용될 클록 주파수/타이밍 모드
    의 그룹으로부터 선택된 상기 부트 시퀀스에 관련된 파라미터들을 표시하는 추가적인 인수들을 상기 부트 요청을 위한 인수와 함께 상기 호스트 기기에서 상기 MMC/SD 인터페이스로 송신하는 단계;를 더 포함하는, 호스트 기기를 부팅시키는 방법.
  24. 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비한 MMC/SD 인터페이스를 가지는 주변 기기로부터 호스트 기기를 부팅시키는 방법으로서,
    상기 주변 기기의 초기화 절차 동안에 부트 요청을 위한 인수 (argument)를 상기 주변 기기의 상기 MMC/SD 인터페이스에서 상기 호스트 기기로부터 수신하는 단계;
    상기 클록 단자에서 클록 신호를 수신하는 단계; 및
    상기 주변 기기 내에 부트 데이터가 저장되거나 또는 저장될 때에 데이터 전송의 시작 비트를 가지고 시작하여 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로 데이터를 송신하는 단계;를 포함하는, 호스트 기기를 부팅시키는 방법.
  25. 제24항에 있어서,
    부트 요청을 위한 상기 인수는 명령을 포함하는, 호스트 기기를 부팅시키는 방법.
  26. 제24항에 있어서,
    부트 요청을 위한 상기 인수는 CMD0 단계 동안에 송신되거나 또는 CMD0 단계 이후에 바로 송신되는, 호스트 기기를 부팅시키는 방법.
  27. 제26항에 있어서,
    부트 요청을 위한 상기 인수는 상기 CMD0 단계 동안의 리셋 명령을 포함하는, 호스트 기기를 부팅시키는 방법.
  28. 제24항에 있어서,
    부트 요청을 위한 상기 인수는 CMD0 명령을 위한 인수를 포함하는, 호스트 기기를 부팅시키는 방법.
  29. 제24항에 있어서,
    부트 요청을 위한 상기 인수는 수정된 CMD0 명령을 위한 인수를 포함하는, 호스트 기기를 부팅시키는 방법.
  30. 제24항에 있어서,
    - 부트 섹터 읽기를 위해 사용되는 데이터 라인들의 개수 및
    - 데이터 전송을 위해 사용될 클록 주파수/타이밍 모드
    의 그룹으로부터 선택된 상기 부트 시퀀스에 관련된 파라미터들을 표시하는 추가적인 인수들을 상기 부트 요청을 위한 상기 인수와 함께 상기 호스트 기기로부터 수신하는 단계; 및
    상기 데이터 버스를 경유하여 상기 호스트 기기로 데이터를 전송하기 위해 상기 표시된 파라미터들을 사용하는 단계;를 더 포함하는, 호스트 기기를 부팅시키는 방법.
  31. MMC/SD 인터페이스를 구비하는 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 컴퓨터 프로그램 생성물로서,
    제24항의 단계들을 실행하기 위한 프로그램 코드 섹션들을 포함하며,
    상기 프로그램은 호스트 기기에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  32. MMC/SD 인터페이스를 구비한 주변 기기로부터 호스트 기기를 부팅시킬 수 있는 방법을 실행하기 위한 컴퓨터 프로그램 생성물로서,
    제24항의 단계들을 실행하기 위한, 컴퓨터로 읽을 수 있는 매체 상에 저장된 프로그램 코드 섹션들을 포함하며,
    상기 프로그램 생성물은 호스트 기기 상에서 동작하며,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하는, 컴퓨터 프로그램 생성물.
  33. 반송파 내에서 구체화된 컴퓨터 데이터 신호로서,
    주변 기기는 MMC/SD 인터페이스 또는 MMC/SD 인터페이스를 가지는 주변 기기가 삽입된 호스트 기기의 시스템을 구비하며,
    상기 컴퓨터 데이터 신호는 호스트 기기에 의해 실행될 때에 MMC/SD 인터페이스가 제24항의 단계들을 실행되도록 하는 명령어들을 표시하는, 컴퓨터 데이터 신호.
  34. MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기로서,
    파워 서플라이;
    상기 파워 서플라이에 연결된 프로세서; 및
    상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스;를 포함하며,
    상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하며,
    상기 호스트 기기는 상기 MMC/SD 인터페이스의 단자들에 전력을 제공하며, 파워-업 동안에 상기 MMC/SD 인터페이스를 로우로 설정하고, 데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하도록 구성되는, 부팅 가능한 호스트 기기.
  35. 제34항에 있어서,
    상기 프로세서는 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 데이터 버스 단자들로 클록 신호를 송신하고 파워-업 프로세스 동안에 24개와 148개의 초기화 클록 주기들 사이에서 전송하면서 상기 MMC/SD 인터페이스의 명령 단자를 로우로 설정하도록 구성된, 부팅 가능한 호스트 기기.
  36. 제34항에 있어서,
    상기 프로세서는 MMC/SD 기기가 상기 데이터 버스를 경유하여 첫 번째 데이터를 송신하는 것을 시작할 때에 한 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 데이터 버스 단자들로 클록 신호를 송신하도록 또한 구성된, 부팅 가능한 호스트 기기.
  37. 제34항에 있어서,
    상기 프로세서는, 상기 MMC/SD 인터페이스 내에 삽입되어 MMC/SD 인터페이스를 구비한 주변 기기에 의한 전송을 위하여 사용되는 데이터 버스의 폭을 표시하기 위해, 상기 데이터 버스 단자들을 로우로 설정하도록 구성된, 부팅 가능한 호스트 기기.
  38. MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기를 부팅하도록 구성된, MMC/SD 인터페이스를 구비한 주변 기기로서,
    전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인과 같이 제공되는 MMC/SD 인터페이스;
    상기 MMC/SD 인터페이스에 연결된 주변 기기 제어기; 및
    상기 주변 기기 제어기에 연결된 메모리 모듈;을 포함하며,
    상기 주변 기기의 상기 MMC/SD 인터페이스의 단자들에서 전력을 수신할 때에, 상기 주변 기기 제어기는 데이터 버스를 경유하여 미리 정의된 저장 영역의 첫 번째 데이터를 송신하도록 구성되고, 상기 첫 번째 데이터 프레임의 첫 번째 비트와 함께 시작하도록 구성되며, 그리고, 파워-업 동안에 상기 MMC/SD 인터페이스의 명령 단자를 로우로 설정하도록 구성되는, 주변 기기.
  39. 제38항에 있어서,
    상기 주변 기기 제어기는, 24개 내지 148개의 초기화 클록 주기들 사이에서의 전송 중의 파워-업 프로세스 이전에 또는 파워-업 프로세스 동안에 상기 MMC/SD 인터페이스의 명령 단자에서 로우 신호를 수신할 때에만, 데이터 버스를 경유하여 미리 정의된 저장 영역의 상기 첫 번째 데이터를 송신하도록 또한 구성된, 주변 기기.
  40. 제38항에 있어서,
    상기 주변 기기 제어기는,
    상기 MMC/SD 인터페이스의 데이터 버스 단자들에서, 전송을 위해 사용되는 데이터 버스의 폭을 표시하는, 로우 신호를 수신하도록 또한 구성되며,
    상기 표시된 데이터 버스 폭을 사용하여 상기 데이터를 송신하는, 주변 기기.
  41. MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기로서,
    파워 서플라이;
    상기 파워 서플라이에 연결된 프로세서; 및
    상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스;를 포함하며,
    상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하며,
    상기 호스트 기기는,
    상기 주변 기기의 초기화 프로세스 동안에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로부터 상기 주변 기기로 송신하며, 그리고
    데이터 전송의 시작 비트를 찾기 위해 상기 데이터 버스를 모니터하도록 구성된, 부팅 가능한 호스트 기기.
  42. 제41항에 있어서,
    상기 호스트 기기는 명령을 포함하는 부트 요청을 위한 인수를 사용하도록 구성된, 부팅 가능한 호스트 기기.
  43. 제41항에 있어서,
    상기 호스트 기기는 CMD0 단계 동안에 송신되거나 또는 CMD0 단계 이후에 바로 송신되는 인수를 사용하도록 구성된, 부팅 가능한 호스트 기기.
  44. 제43항에 있어서,
    상기 호스트 기기는 상기 CMD0 단계 동안에 송신되는 리셋 명령을 포함하는 부트 요청을 위한 인수를 사용하도록 구성된, 부팅 가능한 호스트 기기.
  45. 제41항에 있어서,
    상기 호스트 기기는 CMD0 명령을 위한 인수를 포함하는 부트 요청을 위한 인수를 사용하도록 구성된, 부팅 가능한 호스트 기기.
  46. 제41항에 있어서,
    상기 호스트 기기는 수정된 CMD0 명령을 위한 인수를 포함하는 상기 부트 요청을 위한 인수를 사용하도록 구성된, 부팅 가능한 호스트 기기.
  47. 제41항에 있어서,
    상기 호스트 기기는 상기 MMC/SD 인터페이스를 경유하여 추가적인 인수들을 송신하도록 구성되며,
    상기 추가적인 인수들은, 상기 호스트 기기로부터 상기 MMC/SD 인터페이스로의 부트 요청을 위한 상기 인수와 함께,
    - 상기 부트 섹터 읽기를 위해 사용될 데이터 라인들의 개수 및
    - 사용될 클록 주파수/타이밍 모드
    의 그룹으로부터 선택된 부트 시퀀스에 연관된 파라미터들을 표시하는, 부트 가능한 호스트 기기.
  48. 제41항에 있어서,
    상기 호스트 기기는, 전송에 사용될 데이터 버스의 폭을 표시하기 위해, 상기 MMC/SD 인터페이스의 데이터 버스 단자들을 로우로 설정하는, 부트 가능한 호스트 기기.
  49. 주변 기기로부터 부팅되도록 구성된 부트 가능한 호스트 기기를 부팅시키기 위해 구성된 주변 기기로서,
    전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하는 MMC/SD 인터페이스;
    상기 MMC/SD 인터페이스에 연결된 주변 기기 제어기; 및
    상기 주변 기기 제어기에 연결된 메모리 모듈;을 포함하며,
    부트 데이터가 상기 저장 기기 내에 저장되는 경우에, 상기 주변 기기의 MMC/SD 인터페이스에서 상기 호스트 기기로부터 부트 요청을 위한 인수를 수신하거나 또는 수신할 때에 그리고 상기 클록 라인에서 클록 신호를 수신할 때에, 상기 주변 기기는 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로 데이터 전송의 시작 비트와 함께 시작하여 데이터를 송신하도록 구성된, 주변 기기.
  50. 제49항에 있어서,
    상기 주변 기기 제어기는 명령을 포함하는 부트 요청을 위한 인수를 수신하도록 또한 구성된, 주변 기기.
  51. 제49항에 있어서,
    상기 주변 기기 제어기는 CMD0 단계 동안에 송신되거나 또는 CMD0 단계 이후에 바로 송신되는 인수를 수신하도록 또한 구성된, 주변 기기.
  52. 제51항에 있어서,
    상기 주변 기기 제어기는 상기 CMD0 단계 동안에 송신되는 리셋 명령을 포함하는 부트 요청을 위한 인수를 수신하도록 또한 구성된, 주변 기기.
  53. 제49항에 있어서,
    상기 주변 기기 제어기는 CMD0 명령을 위한 인수를 포함하는 부트 요청을 위한 인수를 수신하도록 또한 구성된, 주변 기기.
  54. 제49항에 있어서,
    상기 주변 기기 제어기는 수정된 CMD0 명령을 위한 인수를 포함하는 상기 부트 요청을 위한 인수를 수신하도록 또한 구성된, 주변 기기.
  55. 제49항에 있어서,
    상기 주변 기기 제어기는 전송에 사용될 데이터 버스의 폭을 표시하는 로우 신호를 상기 MMC/SD 인터페이스의 데이터 버스 단자들에서 수신하도록 또한 구성되며, 그때에 상기 주변 기기 제어기는 상기 표시된 데이터 버스 폭을 상기 전송을 위해 사용될 데이터 버스를 위해 사용하도록 또한 구성된, 주변 기기.
  56. 제49항에 있어서,
    상기 주변 기기 제어기는 상기 호스트 기기로부터 부트 요청에 대한 인수들과 함께
    - 부트 섹터 읽기를 위해 사용되는 데이터 라인들의 개수 및
    - 사용될 클록 주파수/타이밍 모드
    의 그룹으로부터 선택된 상기 부트 시퀀스에 관련된 파라미터들을 표시하는 추가적인 인수들을 수신하도록 또한 구성되며,
    상기 표시된 파라미터들에 따라서 상기 데이터를 상기 데이터 버스를 경유하여 상기 호스트 기기로 송신하도록 또한 구성된, 주변 기기.
  57. MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기로서,
    파워 서플라이;
    상기 파워 서플라이에 연결된 프로세서; 및
    상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스;를 포함하며,
    상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하며,
    상기 호스트 기기는,
    MMC/SD 인터페이스를 구비하는 주변 기기의 데이터 교환의 표준 초기화를 상기 주변 기기의 대기 상태 (stand-by-state)가 도달될 때까지 상기 MMC/SD 인터페이스를 경유하여 시작하고; 그리고
    버스 내의 컴포넌트들 내에서 올바른 부트 코드를 찾기 위해 상기 대기 상태로부터 상기 호스트 기기와 상기 주변 기기 사이의 데이터 교환을 실행하도록; 구성된, 부팅 가능한 호스트 기기.
  58. MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기로서, 상기 주변 기기는 부트 시퀀스를 위한 추가적인 인수와 함께 동작 상태 레지스터 (Operation Condition Register)를 구비하여 제공될 때에,
    상기 호스트 기기는,
    파워 서플라이;
    상기 파워 서플라이에 연결된 프로세서; 및
    상기 프로세서 및 상기 파워 서플라이에 연결된 MMC/SD 인터페이스;를 포함하며,
    상기 MMC/SD 인터페이스는 전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하며,
    상기 호스트 기기는,
    MMC/SD 인터페이스를 구비한 주변 기기의 초기화 이후에 부트 요청을 위한 인수를 상기 MMC/SD 인터페이스로 송신하며; 그리고
    상기 MMC/SD 인터페이스를 경유하여 상기 주변 기기로부터 수신될 부트 데이터를 찾기 위해 상기 데이터 버스를 모니터;하도록 구성된, 부팅 가능한 호스트 기기.
  59. MMC/SD 인터페이스를 구비한 주변 기기로부터 부팅되도록 구성된 부팅 가능한 호스트 기기를 부팅하도록 구성된 MMC/SD 인터페이스를 구비한 주변 기기로서, 상기 주변 기기는 부트 요청을 위한 추가적인 인수와 함께 동작 상태 레지스터 (Operation Condition Register) 내에서 제공될 때에,
    상기 주변 기기는,
    전력 단자들, 데이터 버스 단자들을 가진 데이터 버스, 클록 단자를 가진 클록 라인 및 명령 단자를 가진 명령 라인을 구비하는 MMC/SD 인터페이스;
    상기 MMC/SD 인터페이스에 연결되며, 동작 상태 레지스터를 구비한 주변 기기 제어기; 및
    상기 주변 기기 제어기에 연결된 메모리 모듈;을 포함하며,
    상기 주변 기기 기기는 부트 요청을 위한 추가적인 인수와 함께 상기 동작 상태 레지스트 내에서 제공되며,
    상기 주변 기기는,
    주변 기기 초기화 절차 이후에 부트 요청을 위한 인수를 상기 주변 기기에서 수신하고; 그리고
    상기 주변 기기 메모리 모듈로부터 부트 데이터를 인출하여 상기 MMC/SD 인터페이스를 경유하여 상기 호스트 기기로 송신하도록; 구성된, MMC/SD 인터페이스를 구비한 주변 기기.
  60. 제59항에 있어서,
    부트 요청을 위한 상기 인수를 가진 상기 동작 상태 레지스터는 상기 주변 기기 제어기로 연결되거나 상기 주변 기기 내에서 구현된 하드코드 (hard coded) 하드웨어 컴포넌트로서 구현되는, MMC/SD 인터페이스를 구비한 주변 기기.
  61. 제59항에 있어서,
    부트 요청을 위한 상기 인수를 가진 상기 동작 상태 레지스터는 주변 기기 제어기 내에서 동작하는 소프트웨어로서 구현되는, MMC/SD 인터페이스를 구비한 주변 기기.
  62. 제2항에 있어서,
    상기 MMC/SD 인터페이스의 상기 명령 단자는 60개와 100개 사이의 초기화 클록 주기들을 전송하는 중, 파워-업 프로세스 전에 또는 파워-업 프로세스 동안에 로우 (low)로 설정되는, 호스트 기기 부팅 방법.
  63. 제2항 또는 제62항에 있어서,
    상기 MMC/SD 인터페이스의 상기 명령 단자는 74개의 초기화 클록 주기들을 전송하는 중, 파워-업 프로세스 전에 또는 파워-업 프로세스 동안에 로우 (low)로 설정되는, 호스트 기기 부팅 방법.
  64. 제9항에 있어서,
    데이터 버스를 경유한 미리 정의된 저장 영역의 상기 첫 번째 데이터는 60개와 100개 사이의 초기화 클록 주기들 동안 파워-업 프로세스 중에 상기 MMC/SD 인터페이스의 상기 명령 단자에서 로우 신호를 수신하면 그리고 수신할 때에만 송신되는, 주변 기기로부터 부팅하는 방법.
  65. 제9항 또는 제64항에 있어서,
    데이터 버스를 경유한 미리 정의된 저장 영역의 상기 첫 번째 데이터는 74개의 초기화 클록 주기들 동안 파워-업 프로세스 중에 상기 MMC/SD 인터페이스의 상기 명령 단자에서 로우 신호를 수신하면 그리고 수신할 때에만 송신되는, 주변 기기로부터 부팅하는 방법.
  66. 제35항에 있어서,
    상기 프로세서는 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 데이터 버스 단자들로 클록 신호를 송신하고 파워-업 프로세스 동안에 60개와 100개의 초기화 클록 주기들 사이에서 전송하면서 상기 MMC/SD 인터페이스의 명령 단자를 로우로 설정하도록 구성된, 부팅 가능한 호스트 기기.
  67. 제35항 또는 제66항에 있어서,
    상기 프로세서는 상기 호스트 기기로부터 상기 MMC/SD 인터페이스의 상기 데이터 버스 단자들로 클록 신호를 송신하고 파워-업 프로세스 동안에 74개의 초기화 클록 주기들 중에 전송하면서 상기 MMC/SD 인터페이스의 명령 단자를 로우로 설정하도록 구성된, 부팅 가능한 호스트 기기.
  68. 제39항에 있어서,
    상기 주변 기기 제어기는, 60개와 100개의 초기화 클록 주기들 사이에서의 전송 중의 파워-업 프로세스 이전에 또는 파워-업 프로세스 동안에 상기 MMC/SD 인터페이스의 명령 단자에서 로우 신호를 수신할 때에만, 데이터 버스를 경유하여 미리 정의된 저장 영역의 상기 첫 번째 데이터를 송신하도록 또한 구성된, 주변 기기.
  69. 제39항 또는 제68항에 있어서,
    상기 주변 기기 제어기는, 74개의 초기화 클록 주기들 사이에서의 전송 중의 파워-업 프로세스 이전에 또는 파워-업 프로세스 동안에 상기 MMC/SD 인터페이스의 명령 단자에서 로우 신호를 수신할 때에만, 데이터 버스를 경유하여 미리 정의된 저장 영역의 상기 첫 번째 데이터를 송신하도록 또한 구성된, 주변 기기.
KR1020087019884A 2006-01-17 2006-11-27 Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법 KR100990188B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/333,799 2006-01-17
US11/333,799 US7739487B2 (en) 2006-01-17 2006-01-17 Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from

Publications (2)

Publication Number Publication Date
KR20080085914A KR20080085914A (ko) 2008-09-24
KR100990188B1 true KR100990188B1 (ko) 2010-10-29

Family

ID=38264637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019884A KR100990188B1 (ko) 2006-01-17 2006-11-27 Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법

Country Status (14)

Country Link
US (1) US7739487B2 (ko)
EP (1) EP1979809B1 (ko)
JP (4) JP5065297B2 (ko)
KR (1) KR100990188B1 (ko)
CN (2) CN102200923B (ko)
AT (1) ATE529805T1 (ko)
AU (1) AU2006335964B2 (ko)
BR (1) BRPI0621301A2 (ko)
CA (1) CA2636648C (ko)
IL (1) IL192731A0 (ko)
RU (1) RU2402804C2 (ko)
TW (1) TWI416409B (ko)
WO (1) WO2007083179A2 (ko)
ZA (1) ZA200806133B (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138643A1 (en) * 2006-02-21 2009-05-28 France Te;Ecp, Method and device for securely configuring a terminal
KR100880379B1 (ko) * 2006-05-25 2009-01-23 삼성전자주식회사 외부로부터 제공받는 부트 코드로 부팅되는 정보기기시스템
KR20090045214A (ko) 2006-06-29 2009-05-07 우미코레 아게 운트 코 카게 삼원 촉매
FR2908195B1 (fr) * 2006-11-06 2009-02-06 Oberthur Card Syst Sa Procede de passation d'instructions entre une station hote et un dispositif electronique portable, et dispositif de mise en oeuvre
US8391921B2 (en) 2007-02-13 2013-03-05 Google Inc. Modular wireless communicator
US10027789B2 (en) 2007-02-13 2018-07-17 Google Llc Modular wireless communicator
US7970433B2 (en) 2007-06-08 2011-06-28 Modu Ltd. SD switch box in a cellular handset
US8082435B2 (en) * 2008-05-07 2011-12-20 Micron Technology, Inc. Memory device initiate and terminate boot commands
US8412226B2 (en) 2008-06-24 2013-04-02 Google Inc. Mobile phone locator
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US9565207B1 (en) 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US8887144B1 (en) * 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US10177934B1 (en) 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US8102881B1 (en) 2009-09-08 2012-01-24 Amazon Technologies, Inc. Streamlined guest networking in a virtualized environment
US8601170B1 (en) 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8640220B1 (en) 2009-09-09 2014-01-28 Amazon Technologies, Inc. Co-operative secure packet management
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
US8464020B2 (en) 2009-12-07 2013-06-11 Panasonic Corporation Non-volatile storage device, host device, storage system, data communication method and program
CN102082798B (zh) * 2011-01-21 2013-04-17 华南理工大学 基于sdio接口的多媒体信息协处理设备及其通信方法
EP2691396B1 (en) 2011-03-30 2016-08-10 Brown University Enopeptins, uses thereof, and methods of synthesis thereto
JP5919729B2 (ja) * 2011-10-27 2016-05-18 セイコーエプソン株式会社 周辺機器のステータス監視方法、デバイスドライバーおよびネットワークシステム
KR101977663B1 (ko) 2012-09-14 2019-05-13 삼성전자주식회사 임베디드 멀티미디어 카드 디바이스 및 그 동작방법
US9557802B2 (en) * 2013-08-01 2017-01-31 Mediatek Inc. Method of controlling SDIO device and related SDIO system and SDIO device
US10680816B2 (en) * 2014-03-26 2020-06-09 Continental Teves Ag & Co. Ohg Method and system for improving the data security during a communication process
JP6548636B2 (ja) * 2014-05-16 2019-07-24 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、および電子機器
WO2016033539A1 (en) 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
EP3433751A4 (en) * 2016-08-22 2019-12-11 Hewlett-Packard Development Company, L.P. INFORMATION OF CONNECTED DEVICES
CN108287671A (zh) * 2018-04-10 2018-07-17 南京扬贺扬微电子科技有限公司 一种具有boot功能的SD卡及其制卡方法
CN111428841A (zh) * 2018-12-24 2020-07-17 华为技术有限公司 一种存储卡的识别方法以及移动设备
CN111428842B (zh) * 2018-12-24 2022-10-18 华为技术有限公司 一种存储卡的识别方法以及移动设备
DE102019214835A1 (de) * 2019-09-27 2021-04-01 Continental Automotive Gmbh Verfahren zum Inbetriebnehmen einer Vorrichtung mit einer eingebetteten Multimediakarte (eMMC)
JP2021136666A (ja) 2020-02-28 2021-09-13 キヤノン株式会社 撮像装置、デバイス、制御方法、およびプログラム
JP7482649B2 (ja) * 2020-02-28 2024-05-14 キヤノン株式会社 撮像装置、デバイス、制御方法、及びプログラム
JP2021136664A (ja) 2020-02-28 2021-09-13 キヤノン株式会社 デバイス、制御方法、およびプログラム
US11782726B1 (en) * 2020-09-29 2023-10-10 Amazon Technologies, Inc. Serial bootstrap
EP4254211A4 (en) * 2020-11-24 2024-05-01 Panasonic Ip Man Co Ltd HOST DEVICE, SLAVE DEVICE AND DATA TRANSFER SYSTEM
CN115226405A (zh) 2021-02-16 2022-10-21 松下知识产权经营株式会社 主机装置、从机装置以及数据传送***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396308B1 (ko) 2001-03-26 2003-09-03 주식회사데이콤 접근통제기능을 개선한 리눅스 시스템 및 리눅스 시스템의운영방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100543667C (zh) * 1996-04-11 2009-09-23 株式会社日立制作所 盘驱动器
US6901457B1 (en) * 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
JP2001067303A (ja) * 1999-08-24 2001-03-16 Toshiba Corp カード利用装置及び同装置におけるカード利用方法
JP4649009B2 (ja) * 2000-03-08 2011-03-09 株式会社東芝 カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
JP3795725B2 (ja) * 2000-04-21 2006-07-12 株式会社東芝 電子機器
JP4547771B2 (ja) 2000-04-28 2010-09-22 ソニー株式会社 情報処理システム、情報処理方法、情報処理装置
US20020069308A1 (en) * 2000-07-10 2002-06-06 Songpro.Com, Inc. Method and apparatus for delivering digital multimedia content
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
JP2002342256A (ja) * 2001-05-14 2002-11-29 Hitachi Ltd データプロセッサ及びデータテーブルの更新方法
CN2496063Y (zh) * 2001-09-20 2002-06-19 闽祥实业有限公司 非易失性固态存储器驱动器
JP3655597B2 (ja) * 2002-03-25 2005-06-02 株式会社東芝 電子機器、電子カード、及びカード識別方法
JP2004133881A (ja) * 2002-08-14 2004-04-30 Ricoh Co Ltd カード型メモリのインターフェイス回路、その回路を搭載したasic、およびそのasicを搭載した画像形成装置
KR100481511B1 (ko) * 2002-08-26 2005-04-07 삼성전자주식회사 방송수신장치 및 그 제어방법
JP4094394B2 (ja) * 2002-09-30 2008-06-04 株式会社ルネサステクノロジ Icカードおよびその製造方法
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
JP4073301B2 (ja) * 2002-10-15 2008-04-09 株式会社リコー 情報処理装置
JP4152178B2 (ja) * 2002-12-03 2008-09-17 株式会社ルネサステクノロジ メモリカード及び電子デバイス
JP2004192051A (ja) * 2002-12-06 2004-07-08 Ricoh Co Ltd 共用端子制御装置
JP2004220575A (ja) * 2002-12-27 2004-08-05 Ricoh Co Ltd カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
SG138439A1 (en) * 2003-04-02 2008-01-28 Trek 2000 Int Ltd Portable operating system and method to load the same
US7370168B2 (en) * 2003-04-25 2008-05-06 Renesas Technology Corp. Memory card conforming to a multiple operation standards
JP2004334593A (ja) * 2003-05-08 2004-11-25 Ricoh Co Ltd メモリブリッジ装置
US20040230789A1 (en) * 2003-05-16 2004-11-18 Pu-Yun Lee Multi memory card accessing system and implementation method thereof
CN100390818C (zh) * 2003-07-03 2008-05-28 株式会社瑞萨科技 多功能卡装置
US7188235B2 (en) * 2003-07-22 2007-03-06 Winbond Electronics Corp. Method for booting computer system with memory card
KR20060033926A (ko) 2003-08-15 2006-04-20 요크 인터내셔널 코포레이션 냉각시스템용 제어패널에 소프트웨어를 로딩하기 위한시스템 및 방법
US7342611B2 (en) * 2003-12-10 2008-03-11 Hewlett-Packard Development Company, L.P. Method for rapid power-on to first picture in a digital camera
US7159064B2 (en) * 2003-12-11 2007-01-02 Nokia Corporation Method and device for increasing data transfer in multi-media card
KR101083366B1 (ko) * 2003-12-11 2011-11-15 삼성전자주식회사 메모리 시스템 및 호스트와 메모리 카드 사이의 데이터전송 속도 설정 방법
JP4567966B2 (ja) * 2003-12-22 2010-10-27 株式会社東芝 エミュレーションシステムおよびエミュレーション方法
JP2005260374A (ja) * 2004-03-09 2005-09-22 Toshiba Corp メモリカード、データ暗号化方法及びデータ復号化方法
GB0405795D0 (en) 2004-03-15 2004-04-21 Tom Tom B V Navigation device displaying travel information
JP4508687B2 (ja) * 2004-03-15 2010-07-21 株式会社リコー カード型メモリのインターフェース回路
JP2005275501A (ja) * 2004-03-23 2005-10-06 Renesas Technology Corp デバイスシステム
TWI271659B (en) * 2004-05-05 2007-01-21 Prolific Technology Inc Memory card equipped with a multi-interface function and method for choosing a compatible transmission mode
JP4695348B2 (ja) * 2004-05-27 2011-06-08 株式会社リコー カード型メモリ、画像形成装置、画像形成装置起動方法
JP4664011B2 (ja) * 2004-06-21 2011-04-06 株式会社リコー 情報処理装置及び情報処理方法
JP2006072989A (ja) * 2004-08-02 2006-03-16 Ricoh Co Ltd 電子機器
JP2007086920A (ja) * 2005-09-20 2007-04-05 Nec Saitama Ltd 携帯型電子機器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396308B1 (ko) 2001-03-26 2003-09-03 주식회사데이콤 접근통제기능을 개선한 리눅스 시스템 및 리눅스 시스템의운영방법

Also Published As

Publication number Publication date
EP1979809A2 (en) 2008-10-15
BRPI0621301A2 (pt) 2011-12-06
ATE529805T1 (de) 2011-11-15
CA2636648A1 (en) 2007-07-26
KR20080085914A (ko) 2008-09-24
AU2006335964B2 (en) 2011-10-06
CN102200923A (zh) 2011-09-28
US20070168652A1 (en) 2007-07-19
RU2008129125A (ru) 2010-02-27
JP5065297B2 (ja) 2012-10-31
IL192731A0 (en) 2009-02-11
TW200745949A (en) 2007-12-16
JP2009524139A (ja) 2009-06-25
JP2014220011A (ja) 2014-11-20
JP2015062131A (ja) 2015-04-02
RU2402804C2 (ru) 2010-10-27
EP1979809B1 (en) 2011-10-19
CA2636648C (en) 2015-07-21
JP2012212454A (ja) 2012-11-01
US7739487B2 (en) 2010-06-15
CN102200923B (zh) 2013-08-07
AU2006335964A1 (en) 2007-07-26
WO2007083179A2 (en) 2007-07-26
WO2007083179A3 (en) 2007-10-04
TWI416409B (zh) 2013-11-21
CN101361043B (zh) 2012-04-04
ZA200806133B (en) 2009-05-27
CN101361043A (zh) 2009-02-04

Similar Documents

Publication Publication Date Title
KR100990188B1 (ko) Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법
US9778844B2 (en) Installation of operating system on host computer using virtual storage of BMC
US9411990B2 (en) Working method of a multi-slot card reader based on the standard CCID protocol
US9542201B2 (en) Network bios management
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
WO2016074127A1 (zh) 计算机设备及计算机设备内存启动的方法
US6601165B2 (en) Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
US20140149732A1 (en) System and method for initializing processor cores in a multiprocessor system
US20120060023A1 (en) Methods for booting an operating system using non-volatile memory
US8527667B2 (en) Apparatuses and methods for transferring data
CN116627472A (zh) 高速***组件设备的固件程序升级方法及服务器
CN108958837B (zh) 一种动态配置me固件的方法、***及介质
EP1394682A2 (en) Data transfer control device, program and method of fabricating electronic instrument
CN115291951A (zh) Uefi启动方法、装置、电子设备以及存储介质
CN115129384A (zh) 一种电子设备的启动程序的运行方法和电子设备
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、***及介质
CN118034722A (zh) 操作***安装方法、设备、存储介质及程序产品
CN115729629A (zh) Usb设备的识别方法、终端设备及***
KR20080016304A (ko) 메모리 제어장치 및 방법

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: 20131010

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141009

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151008

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161007

Year of fee payment: 7