KR20030085140A - 디렉토리 구조를 기반으로 한 구성 rom의 판독 - Google Patents

디렉토리 구조를 기반으로 한 구성 rom의 판독 Download PDF

Info

Publication number
KR20030085140A
KR20030085140A KR10-2003-7011757A KR20037011757A KR20030085140A KR 20030085140 A KR20030085140 A KR 20030085140A KR 20037011757 A KR20037011757 A KR 20037011757A KR 20030085140 A KR20030085140 A KR 20030085140A
Authority
KR
South Korea
Prior art keywords
directory
program code
reading
stack
configuration rom
Prior art date
Application number
KR10-2003-7011757A
Other languages
English (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
Application filed by 썬 마이크로시스템즈, 인코포레이티드 filed Critical 썬 마이크로시스템즈, 인코포레이티드
Publication of KR20030085140A publication Critical patent/KR20030085140A/ko

Links

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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

직렬 버스 디바이스의 구성 ROM을 판독하는 방법은 디렉토리 구조로 구성된 ROM의 일부만을 판독한다. 통상, 구성 ROM은 IEEE 1212 및/또는 1394 표준을 따르며 IEEE 1394 버스를 사용한다. 구성 ROM으로부터 판독된 정보에 기초하여, 접속중인 컴퓨터는 디바이스와의 통신에 사용될 적절한 디바이스 드라이버를 결정한다.

Description

디렉토리 구조를 기반으로 한 구성 ROM의 판독{DIRECTORY STRUCTURE-BASED READING OF CONFIGURATION ROM}
개인용 컴퓨터는 보통 직렬 접속 버스를 통해 다른 디바이스에 접속된다. 컴퓨터는 디바이스 드라이버 프로그램을 이용하여 직렬 버스 디바이스와 통신한다. IEEE 1212를 따르는 버스 등의 일부 직렬 버스는 상기 버스에 대해 구성 ROM을 구비하는 디바이스를 사용한다. 새로운 디바이스가 접속될 때, 컴퓨터는 직렬 버스를 사용하여 새로운 디바이스의 구성 ROM을 판독한다. 예를 들어, 이 정보는 새로운 디바이스에 사용될 드라이버 종류를 결정하는데 필요하다. 이는 예를 들어, 리셋 신호가 전송된 후에 발생될 수 있다.
IEEE 1212는 직렬 버스 디바이스에 의해 사용될 수 있는 구성 ROM을 정의하며, 파이어와이어(Firewire)로 알려진 IEEE 1394-1995 또한 상기 ROM을 정의(refine)한다. IEEE 1212 및 1394-1995의 콘텐츠는 본 명세서에서 참고를 위해 포함된다. IEEE 1394-1995을 따르는 디바이스에서, 구성 ROM은 그 크기가 1024 바이트이며, 한번에 4 바이트(소위, 쿼드렛)만을 판독할 수 있다. 따라서, 새롭게 부가된 디바이스의 전체 구성 ROM을 모두(straightforwardly) 판독하기 위해서는 256 버스 트랜잭션이 요구된다.
본 발명은 컴퓨터에 접속된 디바이스를 구성하는 기술, 보다 구체적으로, 직렬 버스 디바이스의 구성 ROM(configuration Read-Only Memory)을 판독하는 기술에 관한 것이다.
용어 설명
본 명세서의 설명 및 첨부된 특허청구범위에서, 문맥이 다른 의미를 나타내는 경우를 제외하고는, 다음의 용어는 기재된 바와 같은 의미를 갖는다.
ROM : 판독 전용 메모리
쿼드렛(quadlet) : 연속된 4 바이트
도 1은 IEEE 1394-1995 직렬 포트 디바이스에 대한 통상적인 구성 ROM의 논리 구조도.
도 2는 본 발명의 일 실시예에 따른 구성 ROM 판독시의 논리 시퀀스도.
도 3은 통상적 실시예에 따른 구성 ROM을 판독한 각종 경우의 구성 스택의 상태도.
본 발명의 실시예는 디렉토리 트리(tree) 구조를 따름으로써, IEEE 1212에 의해 정의된 디렉토리 트리 구조를 갖는 구성 ROM의 판독에 기초한다. 이 방법은 모든 구성 ROM을 판독하는데 필요한 버스 트랜잭션의 수를 감소시키고, 이에 의해 시스템의 속도 및 효율을 증가시킨다. 하나의 특정 실시예에서, 구성 ROM은 IEEE 1212 및/또는 1394 표준을 따르며, IEEE 1394 버스를 이용한다. 이 정보는 예를 들어, 직렬 버스 디바이스에 대응 디바이스 드라이버를 연결(bind)하는데 사용될 수 있다.
일 실시예는 디렉토리 스택의 유지에 기초한다. 제1 단계에서, 구성 ROM의 루트 디렉토리가 현재 디렉토리로서 설정된다. 제2 단계에서, 현재 디렉토리의 모든 쿼드렛이 판독된다. 제3 단계에서, 간접 엔트리(indirect entry)에 대한 현재 디렉토리가 스캔되며, 만일 상기 디렉토리가 발견되는 경우에, 스캔의 현재 위치는디렉토리 스택 상으로 푸쉬(push)되고 간접 엔트리가 현재 디렉토리가 되며; 다음으로, 제2 단계 및 제3 단계가 반복된다. 제3 단계에서, 간접 엔트리가 발견되지 않으면, 제4 단계에서 디렉토리 스택이 체크되고, 만일 디렉토리 스택이 비어있지 않은 경우, 상위 아이템은 팝 오프(pop off)되며, 알고리즘은 팝 오프된 아이템과 관련된 스캔 위치에서 제3 단계로 복귀한다.
본 발명의 전술한 특징은 첨부된 도면을 참고로 기술된 다음의 상세한 설명을 통해 보다 용이하게 이해될 것이다.
종래에는, 직렬 디바이스를 드라이버에 연결할 때, 구성 ROM 디바이스의 모든 비트가 판독되었다. 이것은 구성 ROM의 모든 비트가 필요한 데이터를 나타낸다는 것을 가정한다. 그러나 실제로는, 구성 ROM의 일부분은 전혀 사용되지 않을 수 있다. 따라서, 본 발명의 대표적 실시예는 직렬 버스 디바이스를 드라이버에 연결하는데 필요한 데이터를 포함하는 구성 ROM의 일부만을 판독한다. 구성 ROM의 빈 부분 및 불필요한 부분은 판독되지 않는다.
도 1은 직렬 포트 디바이스용의 통상의 구성 ROM의 논리 구조를 도시한다. 상기 ROM은 IEEE 표준 1212에 의해 지정된 바와 같이, 1024 바이트의 크기를 가지며 4 바이트 시퀀셜 쿼드렛으로 구성된다. 도 1에 도시된 ROM의 좌측 가장자리의 위에서 아래의 쿼드렛 번호는 0-255이다. 도 1에서, 루트 디렉토리는 쿼드렛 5에서 시작하여 쿼드렛 9까지 이어진다(쿼드렛 0-4는 ROM 디렉토리 트리 구성(organization)의 일부가 아닌 정보를 포함한다). 쿼드렛 5-7은 루트 디렉토리의 정보를 포함한다. 쿼드렛 8은 리프(Leaf) 1에 대한 포인터를 포함하며, 이것은 루트 디렉토리에서 리프 1의 "간접 엔트리"로 간주될 수 있다. 마찬가지로, 쿼드렛 9는 쿼드렛 14-18을 연결(span)하는 유닛 디렉토리에 대한 간접 엔트리를 형성하는 포인터를 포함한다. 유닛 디렉토리의 쿼드렛 18은 또한 리프 2에 대한 간접 엔트리 포인터를 포함한다. 리프 1은 쿼드렛 23-31을 포함하며, 리프 2는 쿼드렛 36-48을 포함한다. 도 1에 도시된 ROM 구조는 쿼드렛의 사용되지 않는 블럭; 10-13, 19-22 및 32-35를 포함한다.
본 발명의 대표적 실시예는 트리 구조를 따름으로써 구성 ROM의 디렉토리 트리 구조에서의 정보를 판독한다. 이 명령된(ordered) 판독은 도 1에 도시된 10-13, 19-22 및 32-35의 쿼드렛 갭을 스킵(skip)한다. 이는 구성 ROM을 판독하는데 필요한 버스 트랜잭션의 수와 시간을 감소시킨다.
도 2는 본 발명의 일 실시예에 따른 구성 ROM을 판독하는 경우의 논리 시퀀스를 나타낸다. 우선, 단계 20에서, 루트 디렉토리는 현재 디렉토리로 설정된다. 다음으로, 단계 21에서, 현재 디렉토리에서의 쿼드렛은 모두 판독된다. 다음으로,단계 22에서는, 현재 디렉토리에서의 쿼드렛이 간접 엔트리 포인터인지의 여부가 체크된다. 만일 그렇다면, 단계 23에서, 현재 디렉토리 위치는 디렉토리 스택상으로 푸쉬된다. 다음으로, 단계 24에서, 간접 엔트리는 현재 디렉토리가 되며, 단계 21 및 22가 반복된다. 만일, 단계 22에서, 간접 엔트리 포인터가 없는 경우, 단계 25에서, 디렉토리 스택이 체크되어 상기 스택이 비어있는 지의 여부가 확인된다. 디렉토리 스택이 비어있는 경우, 상위 아이템의 스택이 팝 오프되며, 알고리즘을 이전의 현재 디렉토리에서의 이전 위치로 복귀시키며, 단계 22-25가 반복된다. 단계 25에서, 디렉토리 스택이 비어있는 경우, 알고리즘이 종료되며, 구성 ROM의 모든 디렉토리 트리 구조는 판독되었다.
도 3은 도 2의 논리 시퀀스에 따라 도 1의 구성 ROM을 판독하는 각종 경우의 구성 스택의 상태를 도시한다. 단계 20에서, 루트 디렉토리가 현재 디렉토리로 설정되는 경우, 디렉토리 스택은 도 3(a)에서 도시된 바와 같이 비어있다. 다음으로, 단계 21에서, 쿼드렛 5-9가 판독된다. 단계 22에서, 루트 디렉토리는 임의의 간접 엔트리 포인터에 대해 체크된다. 쿼드렛 8은 쿼드렛 23 및 리프 1에 대한 간접 엔트리 포인터이다. 따라서, 단계 23 및 도 3(b)에서, 현재의 디렉토리 위치는 디렉토리 스택상으로 푸쉬된다. 상기 위치는 다음의 쿼드렛 표시기(indicator)에 의해 도 3(b)에 도시된 바와 같이 표시될 수 있으며, 이 경우에 상기 표시기는 쿼드렛 9를 가리킨다. 다음으로, 단계 24에서는 리프 1이 현재 디렉토리로 되며, 단계 21에서는 리프 1의 쿼드렛 23-31이 판독된다. 리프 1은 간접 엔트리 포인터를 가지고 있지 않기 때문에, 단계 22는 단계 25로 "아니오"를 출력한다. 단계 25에서는 디렉토리 스택이 체크되어 상기 스택이 비어있는 지의 여부가 확인된다. 상기 스택은 도 3(b)에 도시된 바와 같기 때문에 비어있지 않다. 따라서, 단계 26에서는 상위 디렉토리 스택이 팝 오프되며, 알고리즘은 다음의 보다 고위(higher)의 디렉토리, 이 경우에, 루트 디렉토리에서의 다음 위치로 복귀한다.
이 시점에서, 단계 22에서는 루트 디렉토리에서의 이전 위치로부터 계속해서 보다 많은 간접 엔트리 포인터가 발견된다. 쿼드렛 9는 쿼드렛 14 및 유닛 디렉토리에 대한 간접 엔트리 포인터이다. 따라서, 단계 22는 단계 23으로 "예"를 출력한다. 단계 23에서는 도 3(c)에 도시된 바와 같이 현재 디렉토리 위치가 디렉토리 스택상으로 푸쉬된다. 단계 24에서는 유닛 디렉토리가 현재 디렉토리가 된다. 다음으로, 단계 21에서는 유닛 디렉토리의 쿼드렛 14-18이 판독된다. 다음으로, 단계 22에서는 간접 엔트리 포인터에 대한 유닛 디렉토리가 체크된다. 쿼드렛 18은 쿼드렛 36 및 리프 2에 대한 간접 엔트리 포인터를 포함한다. 따라서, 단계 23에서는 현재의 디렉토리 위치가 도 3(d)에 도시된 바와 같이 디렉토리 스택상으로 푸쉬되며, 단계 24에서는 리프 2가 현재 디렉토리가 된다. 다음으로, 단계 21에서는 리프 2의 쿼드렛 36-48이 판독된다. 단계 22에서는 리프 2에서의 간접 엔트리 포인터가 발견되지 않으며, 단계 25에서는 디렉토리 스택이 체크되어 상기 스택이 비어있는 지의 여부가 확인되며, 만일 비어있지 않다면, 도 3(d)를 참조하라. 따라서, 단계 26에서는 상위 스택이 팝 오프되며, 알고리즘은 다음의 보다 고위의 디렉토리, 이 경우에, 유닛 디렉토리에서의 다음 위치로 복귀된다. 이 시점에서, 디렉토리 스택은 도 3(c)에 도시된 바와 같이 다시 한번 이루어진다.
단계 22에서는 유닛 디렉토리에서의 이전 위치로부터 지속되지만 간접 엔트리 포인터가 발견되지 않아, 단계 25로 "아니오"가 출력된다. 디렉토리 스택은 비어있지 않기 때문에(도 3(c) 참조), 단계 26에서 상위 스택이 팝 오프되며, 알고리즘은 단계 22에 대해 다음의 보다 상위의 디렉토리에서의 다음의 위치로 복귀된다. 이로 인해 도 3(a)에 도시된 디렉토리 스택이 빈 상태가 된다. 이제, 루트 디렉토리는 더 이상 간접 엔트리 포인터를 갖지 않기 때문에, 단계 22는 단계 25로 이동(exit)한다. 단계 25에서는 디렉토리 스택이 비어있다는 것이 발견되며, 알고리즘은 종료된다. 모든 유효 구성 ROM 콘텐츠가 판독된 반면, 10-13, 19-22 및 32-35로부터의 쿼드렛 갭은 스킵되었다.
직렬 버스 상의 임의의 디바이스는 버스 상의 새로운 디바이스를 확인하기 위해 이 방법을 수행할 수 있다. 하나의 특정 실시예에서, 버스는 IEEE 1394(파이어와이어) 버스일 수 있다. 이전에 알려진 새로운 디바이스로부터 디렉토리 트리의 검색이 완료될 때, 디바이스 드라이버는 검색된 정보에 기초하여 선택될 수 있다. 디바이스는 구성 ROM으로부터 얻어진 정보에 따라, 알려진 새로운 디바이스를 디바이스 드라이버에 연결시킨다. 디바이스 드라이버는 트리 구조를 통해 루트 디렉토리에 링크된 구성 ROM에서의 정보만을 얻도록 선택되었다.
본 발명의 실시예들은 통상의 임의 컴퓨터 프로그래밍 언어로 실행될 수 있다. 예를 들어, 바람직한 실시예는 절차적 프래그래밍 언어(예를 들어, "C") 또는 객체 지향 프로그래밍 언어(예를 들어, "C++")로 실행될 수 있다. 본 발명의 대안적 실시예는 미리-프로그래밍된(pre-programmed) 하드웨어 엘리먼트, 다른 관련 컴포넌트 또는 하드웨어 및 소프트웨어 컴포넌트의 조합으로서 실행될 수 있다.
실시예들은 컴퓨터 시스템을 사용한 컴퓨터 프로그램 제품으로서 실행될 수 있다. 이러한 실행은 모뎀 또는 매체 상의 네트워크에 접속된 통신 어댑터 등의 다른 인터페이스 디바이스를 통해, 컴퓨터 판독 가능 매체(예를 들어, 디스켓, CD-ROM, ROM 또는 고정된 디스크) 또는 컴퓨터 시스템에 접속 가능한 매체 등의 유형의 매체 상에 고정된 일련의 컴퓨터 명령을 포함할 수 있다. 매체는 유형의 매체(예를 들어, 광학 또는 아날로그 통신선) 또는 무선 기술(예를 들어, 마이크로파, 적외선 또는 다른 전송 기술)로 수행된 매체일 수 있다. 일련의 컴퓨터 명령은 시스템에 대해 본 명세서에서 이전에 기술된 기능 모두 또는 그 일부를 구체화한다. 당업자는 이러한 컴퓨터 명령이 다수의 컴퓨터 아키텍쳐 또는 오퍼레이팅 시스템을 사용하여 다수의 프로그래밍 언어로 기록될 수 있다는 것을 이해하여야 한다. 아울러, 이러한 명령은 반도체, 자기, 광학 또는 다른 메모리 디바이스 등의 임의의 메모리 디바이스에 저장될 수 있으며, 광학, 적외선, 마이크로파 또는 다른 전송 기술 등의 임의의 통신 기술을 이용하여 전송될 수 있다. 이러한 컴퓨터 프로그램 제품이, 첨부되어 인쇄된 문서 또는 전자 문서(예를 들어, 슈링크 래핑된(shrink wrapped) 소프트웨어)로 제거 가능한 매체로서 배포되거나, 컴퓨터 시스템(예를 들어, 시스템 ROM 또는 고정된 디스크에 대해)으로 미리 로딩되거나 또는 서버 또는 네트워크(예를 들어, 인터넷 또는 월드 와이드 웹) 상의 전자 게시판으로부터 배포되는 것이 예상된다. 물론, 본 발명의 일부 실시예는 소프트웨어 및 하드웨어 모두이 조합으로서 수행될 수 있다. 본 발명의 다른 실시예는 전체 하드웨어 또는 전체 소프트웨어(예를 들어, 컴퓨터 프로그램 제품)로서 수행된다.
본 발명의 다양한 실시예가 개시되었지만, 본 발명의 권리 범위를 벗어나지 않고 본 발명이 일부 이점을 달성할 각종 변화와 수정이 이루어질 수 있다는 것이 당업자에게 명확하여야 한다.

Claims (30)

  1. 직렬 버스 디바이스의 구성 ROM(configuration Read-Only Memory) 판독 방법에 있어서,
    디렉토리 구조로 조직(organize)된 구성 ROM의 일부만을 판독하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 구성 ROM은 컴퓨터 버스 아키텍쳐에 대해 공인된 표준을 따르는 방법.
  3. 제2항에 있어서,
    상기 공인된 표준은 IEEE 1212 표준인 방법.
  4. 제2항에 있어서,
    상기 공인된 표준은 IEEE 1394 표준인 방법.
  5. 제4항에 있어서,
    상기 판독 단계는 IEEE 1394 버스를 이용하는 방법.
  6. 제1항에 있어서,
    상기 판독 단계는 디렉토리 스택을 유지하는 단계를 포함하는 방법.
  7. 제6항에 있어서, 상기 판독 단계는,
    (i) 현재 디렉토리로서 상기 구성 ROM에서의 루트 디렉토리를 설정하는 단계;
    (ii) 상기 현재 디렉토리를 판독하는 단계;
    (iii) 간접 엔트리에 대한 상기 현재 디렉토리를 스캐닝하고, 간접 엔트리가 발견된 경우,
    (a) 상기 디렉토리 스택 상으로 상기 스캔의 현재 위치를 푸쉬하고,
    (b) 상기 간접 엔트리가 상기 현재 디렉토리가 되도록 하고,
    (c) 상기 단계 (i) 및 (ii)를 반복하는 단계; 및
    (iv) 상기 디렉토리 스택이 비어있지 않은 경우,
    (a) 상기 디렉토리 스택의 상위 아이템을 팝 오프(pop off)시키고,
    (b) 상기 팝 오프된 아이템과 관련한 상기 스캔 위치에서 상기 단계 (iii)로 복귀하는 단계
    를 포함하는 방법.
  8. 제1항에 있어서,
    대응 디바이스 드라이버를 상기 직렬 버스 디바이스에 연결하는 단계를 더 포함하는 방법.
  9. 직렬 버스 디바이스의 구성 ROM을 판독하기 위해 컴퓨터 시스템 상에서 사용되고, 컴퓨터 판독 가능 프로그램 코드를 갖는 컴퓨터 사용 가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 판독 가능 프로그램 코드는,
    디렉토리 구조로 조직된 구성 ROM의 일부만을 판독하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
  10. 제9항에 있어서,
    상기 구성 ROM은 컴퓨터 버스 아키텍쳐에 대해 공인된 표준을 따르는 컴퓨터 프로그램 제품.
  11. 제10항에 있어서,
    상기 공인된 표준은 IEEE 1212 표준인 컴퓨터 프로그램 제품.
  12. 제10항에 있어서,
    상기 공인된 표준은 IEEE 1394 표준인 컴퓨터 프로그램 제품.
  13. 제12항에 있어서,
    상기 판독용 프로그램 코드는 IEEE 1394 버스를 이용하는 컴퓨터 프로그램 제품.
  14. 제9항에 있어서,
    상기 판독용 프로그램 코드는 디렉토리 스택을 유지하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
  15. 제14항에 있어서, 상기 판독용 프로그램 코드는,
    (i) 현재 디렉토리로서 상기 구성 ROM에서의 루트 디렉토리를 설정하는 프로그램 코드;
    (ii) 상기 현재 디렉토리를 판독하는 프로그램 코드;
    (iii) 간접 엔트리에 대한 상기 현재 디렉토리를 스캐닝하고, 간접 엔트리가 발견된 경우,
    (a) 상기 디렉토리 스택 상으로 상기 스캔의 현재 위치를 푸쉬하고,
    (b) 상기 간접 엔트리가 상기 현재 디렉토리가 되도록 하고,
    (c) 상기 단계 (i) 및 (ii)를 반복하는 프로그램 코드; 및
    (iv) 상기 디렉토리 스택이 비어있지 않은 경우,
    (a) 상기 디렉토리 스택의 상위 아이템을 팝 오프시키고,
    (b) 상기 팝 오프된 아이템과 관련한 상기 스캔 위치에서 상기 단계 (iii)로 복귀하는 프로그램 코드
    를 포함하는 컴퓨터 프로그램 제품.
  16. 제9항에 있어서,
    대응 디바이스 드라이버를 상기 직렬 버스 디바이스에 연결하는 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  17. 디바이스 드라이버를 알려지지 않은 직렬 버스 디바이스에 연결하는 방법에 있어서,
    상기 알려지지 않은 직렬 버스 디바이스의 구성 ROM의 루트 디렉토리를 버스를 통해 판독하는 단계;
    버스를 통해 상기 구성 ROM의 일부분을 판독하도록 상기 루트 디렉토리에 링크된 디렉토리 트리 구조를 따르는 단계; 및
    상기 구성 ROM의 판독 부분에 기초하여 상기 직렬 버스 디바이스에 연결하기 위하여 디바이스 드라이버를 선택하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 구성 ROM은 컴퓨터 버스 아키텍쳐에 대해 공인된 표준을 따르는 방법.
  19. 제18항에 있어서,
    상기 공인된 표준은 IEEE 1212 표준인 방법.
  20. 제18항에 있어서,
    상기 공인된 표준은 IEEE 1394 표준인 방법.
  21. 제20항에 있어서,
    상기 판독 단계는 IEEE 1394 버스를 사용하는 방법.
  22. 제17항에 있어서,
    상기 판독 단계는 디렉토리 스택을 유지하는 단계를 포함하는 방법.
  23. 제22항에 있어서, 상기 판독 단계는,
    (i) 현재 디렉토리로서 상기 루트 디렉토리를 설정하는 단계;
    (ii) 상기 현재 디렉토리를 판독하는 단계;
    (iii) 간접 엔트리에 대한 상기 현재 디렉토리를 스캐닝하고, 간접 엔트리가 발견된 경우,
    (a) 상기 디렉토리 스택 상으로 상기 스캔의 현재 위치를 푸쉬하고,
    (b) 상기 간접 엔트리가 상기 현재 디렉토리가 되도록 하고,
    (c) 상기 단계 (i) 및 (ii)를 반복하는 단계; 및
    (iv) 상기 디렉토리 스택이 비어있지 않은 경우,
    (a) 상기 디렉토리 스택의 상위 아이템을 팝 오프시키고,
    (b) 상기 팝 오프된 아이템과 관련한 상기 스캔 위치에서 상기 단계(iii)로 복귀하는 단계
    를 포함하는 방법.
  24. 디바이스 드라이버를 알려지지 않은 직렬 버스 디바이스에 연결하기 위해 컴퓨터 시스템 상에서 사용되고, 컴퓨터 판독 가능 프로그램 코드를 갖는 컴퓨터 사용 가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 판독 가능 프로그램 코드는,
    상기 알려지지 않은 직렬 버스 디바이스에서의 구성 ROM의 루트 디렉토리를 버스를 통해 판독하는 프로그램 코드;
    버스를 통해 상기 구성 ROM의 일부분을 판독하도록 상기 루트 디렉토리에 링크된 디렉토리 트리 구조를 따르는 프로그램 코드; 및
    상기 구성 ROM의 판독 부분에 기초하여 상기 직렬 버스 디바이스에 연결하기 위하여 디바이스 드라이버를 선택하는 프로그램 코드
    를 포함하는 컴퓨터 프로그램 제품.
  25. 제24항에 있어서,
    상기 구성 ROM은 컴퓨터 버스 아키텍쳐에 대해 공인된 표준을 따르는 컴퓨터 프로그램 제품.
  26. 제25항에 있어서,
    상기 공인된 표준은 IEEE 1212 표준인 컴퓨터 프로그램 제품.
  27. 제25항에 있어서,
    상기 공인된 표준은 IEEE 1394 표준인 컴퓨터 프로그램 제품.
  28. 제27항에 있어서,
    상기 판독용 프로그램 코드는 IEEE 1394 버스를 이용하는 컴퓨터 프로그램 제품.
  29. 제24항에 있어서,
    상기 판독용 프로그램 코드는 디렉토리 스택을 유지하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
  30. 제29항에 있어서, 상기 판독용 프로그램 코드는,
    (i) 현재 디렉토리로서 상기 루트 디렉토리를 설정하는 프로그램 코드;
    (ii) 상기 현재 디렉토리를 판독하는 프로그램 코드;
    (iii) 간접 엔트리에 대한 상기 현재 디렉토리를 스캐닝하고, 간접 엔트리가 발견된 경우,
    (a) 상기 디렉토리 스택 상으로 상기 스캔의 현재 위치를 푸쉬하고,
    (b) 상기 간접 엔트리가 상기 현재 디렉토리가 되도록 하고,
    (c) 상기 단계 (i) 및 (ii)를 반복하는 프로그램 코드; 및
    (iv) 상기 디렉토리 스택이 비어있지 않은 경우,
    (a) 상기 디렉토리 스택의 상위 아이템을 팝 오프시키고,
    (b) 상기 팝 오프된 아이템과 관련한 상기 스캔 위치에서 상기 단계 (iii)로 복귀하는 프로그램 코드
    를 포함하는 컴퓨터 프로그램 제품.
KR10-2003-7011757A 2001-03-09 2002-02-20 디렉토리 구조를 기반으로 한 구성 rom의 판독 KR20030085140A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/803,531 2001-03-09
US09/803,531 US6823449B2 (en) 2001-03-09 2001-03-09 Directory structure-based reading of configuration ROM
PCT/US2002/005031 WO2002073426A2 (en) 2001-03-09 2002-02-20 Directory structure-based reading of configuration rom

Publications (1)

Publication Number Publication Date
KR20030085140A true KR20030085140A (ko) 2003-11-03

Family

ID=25186753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7011757A KR20030085140A (ko) 2001-03-09 2002-02-20 디렉토리 구조를 기반으로 한 구성 rom의 판독

Country Status (6)

Country Link
US (1) US6823449B2 (ko)
EP (1) EP1410187A2 (ko)
JP (1) JP2005506599A (ko)
KR (1) KR20030085140A (ko)
AU (1) AU2002240437A1 (ko)
WO (1) WO2002073426A2 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10335572A1 (de) * 2003-07-31 2005-03-17 Deutsche Thomson-Brandt Gmbh Netzwerkteilnehmerstation für ein Netzwerk verteilter Stationen und Verfahren zum Betreiben einer Netzwerkteilnehmerstation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203869B (en) * 1987-04-17 1991-10-23 Apple Computer Computer resource configuration method and apparatus
US5787445A (en) * 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory
US5809331A (en) * 1996-04-01 1998-09-15 Apple Computer, Inc. System for retrieving configuration information from node configuration memory identified by key field used as search criterion during retrieval

Also Published As

Publication number Publication date
EP1410187A2 (en) 2004-04-21
US6823449B2 (en) 2004-11-23
US20020129231A1 (en) 2002-09-12
JP2005506599A (ja) 2005-03-03
AU2002240437A1 (en) 2002-09-24
WO2002073426A2 (en) 2002-09-19
WO2002073426A3 (en) 2004-01-22

Similar Documents

Publication Publication Date Title
US5434974A (en) Name resolution for a multisystem network
US5978801A (en) Character and/or character-string retrieving method and storage medium for use for this method
US5931935A (en) File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system
US20060074945A1 (en) File management program, data structure, and file management device
US20030233363A1 (en) Combined image views and method of creating images
JP3686564B2 (ja) データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US20070124272A1 (en) System and Method for Collecting and Compiling Data in a Computer Network
US20050234951A1 (en) Method and system for renaming consecutive keys in a B-tree
US20030131014A1 (en) Processing data objects
KR20030085140A (ko) 디렉토리 구조를 기반으로 한 구성 rom의 판독
US20040054971A1 (en) System and method for managing patent documents
US5860006A (en) Processor independent network operating system loadable modules
US20040205591A1 (en) Method and program for XML data conversion
US6829767B2 (en) Method to control alternative application operation based on results of an ordered application execution attempt
JPH0232430A (ja) ファイル管理装置
US7181554B2 (en) Controller device to be connected to an IEEE 1394 serial bus network
JPH113296A (ja) メディア変換システム
JPH11353316A (ja) 省略語補完装置
JPH10232868A (ja) 文書処理装置
JPH07271696A (ja) プロトコルデータの解析表示方法
KR100237879B1 (ko) 고딕 중간 파일을 케이엑스에프 데이터 포맷으로 변환하는 방법
KR20020041330A (ko) 컨텐츠 서버장치
CN118012656A (zh) 损坏pdf文档修复方法、装置、设备及存储介质
JP2005165663A (ja) 情報統合管理システム、情報統合管理装置、情報統合管理方法
CN114519039A (zh) 一种数据在线管理方法、装置、终端设备以及存储介质

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid