KR100987205B1 - 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템 - Google Patents

외부 접속 기기, 호스트 기기 및 데이터 통신 시스템 Download PDF

Info

Publication number
KR100987205B1
KR100987205B1 KR1020037013463A KR20037013463A KR100987205B1 KR 100987205 B1 KR100987205 B1 KR 100987205B1 KR 1020037013463 A KR1020037013463 A KR 1020037013463A KR 20037013463 A KR20037013463 A KR 20037013463A KR 100987205 B1 KR100987205 B1 KR 100987205B1
Authority
KR
South Korea
Prior art keywords
bit
data
host device
control command
state
Prior art date
Application number
KR1020037013463A
Other languages
English (en)
Other versions
KR20040086502A (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
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20040086502A publication Critical patent/KR20040086502A/ko
Application granted granted Critical
Publication of KR100987205B1 publication Critical patent/KR100987205B1/ko

Links

Images

Classifications

    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Table Equipment (AREA)

Abstract

본 발명은 호스트 기기가 되는 컴퓨터 등의 정보 처리 장치와 상기 장치에 접속되는 외부 접속 기기로서의 메모리 카드이고, 메모리 카드(1)와 호스트 기기(2)는 4비트 병렬 신호, 버스 스테이트 신호 및 클록을 이용한 6선식 반2중 프로토콜로 접속된다. 메모리 카드(1)는 버스 스테이트 신호의 스테이트가 인터럽트를 접수하는 스테이트로 되어 있는 때에, 4비트 병렬 버스에 인터럽트 신호(INT)를 송신한다. 4비트 병렬 신호는 각 비트에 다른 인터럽트의 요인이 할당되어 있다. 즉, 인터럽트의 내용에 의해 INT 신호가 송신되는 비트가 다르다.
Figure R1020037013463
데이터 통신 시스템

Description

외부 접속 기기, 호스트 기기 및 데이터 통신 시스템{EXTERNAL CONNECTION DEVICE, HOST DEVICE, AND DATA COMMUNICATION SYSTEM}
본 발명은 컴퓨터 등의 정보 처리 장치에 접속되는 IC 메모리 장치 등 외부 접속 기기 및 상기 외부 접속 기기가 접속되는 호스트 기기에 관한 것으로, 또한, 이들 외부 접속 기기 및 호스트 기기를 이용한 데이터 통신 시스템에 관한 것이다.
본 출원은 일본에 있어서 2002년 2월 21일에 출원된 일본 특허출원 번호2002-045252를 기초로 하여 우선권을 주장하는 것이고, 상기 출원은 참조함에 의해 본 출원에 원용된다.
종래, 정보 휴대 단말, 데스크톱형 컴퓨터, 노트형 컴퓨터, 휴대 전화기, 오디오 장치, 가전 장치 등의 호스트 기기의 외부 기억 매체로서, 이들 기기에 대해 장탈 가능하게 되고, 반도체 메모리를 내장한 카드형의 리무벌하는 소형 IC 메모리 장치가 이용되고 있다.
이런 종류의 메모리 장치는 일반적으로 플래시 메모리 등의 불휘발성의 반도체 메모리(IC 메모리)를 내장하고, 상기 반도체 메모리에 정지 화상 데이터, 동화상 데이터, 음성 데이터, 음악 데이터 등의 각종 디지털 데이터를 격납한다. 상기 IC 메모리 장치는 예를 들면, 정보 휴대 단말, 데스크톱형 컴퓨터, 노트형 컴퓨터, 휴대 전화기, 오디오 장치, 가전 장치 등등의 호스트 기기의 외부 기억 미디어로서 기능한다.
이와 같은 IC 메모리 장치에서는 소정의 인터페이스를 통하여, 호스트 기기측으로부터 동작이 제어되고 있다. 일반적으로는 호스트 기기측으로부터 IC 메모리 장치에 대해 처리 커맨드를 전송하고, 동작 제어가 행하여지고 있다.
IC 메모리 장치에 이용되는 플래시 메모리는 액세스 속도가 느리다. 그 때문에, 호스트 기기와 IC 메모리 장치 사이의 데이터 전송 시퀀스를 단축하는데는 IC 메모리 장치측으로부터 처리의 종료 등을 통지하는 인터럽트 요구를 규정하는 것이 유효하게 된다.
본 발명의 목적은 종래의 IC 메모리 장치가 갖는 문제점을 해소할 수 있는 외부 접속 기기 및 상기 외부 접속 기기가 접속되는 호스트 기기, 또는 이들 외부 접속 기기 및 호스트 기기를 이용한 데이터 통신 시스템을 제공하는데 있다.
본 발명의 다른 목적은 외부 접속 기기로부터 호스트 기기에 대해 효율적으로 인터럽트 신호를 주고, 호스트 기기와 외부 접속 기기와의 데이터 전송 처리 시간을 단축할 수 있는 외부 접속 기기 및 호스트 기기, 또는 이들 외부 접속 기기 및 호스트 기기를 이용한 데이터 통신 시스템을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위해 제안되는 본 발명에 관한 외부 접속 기기는 호스트 기기에 접속되는 외부 접속 기기이고, 호스트 기기와의 사이에서 데이터 버스를 통하여 전송 데이터의 쌍방향 통신을 행하는 데이터 통신 수단과, 데 이터 버스의 스테이트를 나타내는 버스 스테이트 신호를 상기 호스트 기기로부터 수신하는 버스 스테이트 신호 수신 수단과, 전송 데이터에 포함되는 동작 제어 커맨드에 응하여 본 기기의 동작 제어를 하는 컨트롤러를 구비하고, 데이터 통신 수단은 버스 스테이트 신호의 스테이트가 본 기기로부터 호스트 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 호스트 기기로부터 컨트롤러에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 데이터 버스를 통하여 상기 호스트 기기에 송신한다.
본 발명에 관한 외부 접속 기기에서는 버스 스테이트 신호의 스테이트가 본 기기로부터 호스트 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 호스트 기기로부터 컨트롤러에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 인터럽트 신호로서, 데이터 버스를 통하여 호스트 기기에 송신한다.
본 발명에 관한 호스트 기기는 외부 접속 기기가 접속되는 호스트 기기이고, 외부 접속 기기와의 사이에서 데이터 버스를 통하여 전송 데이터의 쌍방향 통신을 행하는 데이터 통신 수단과, 데이터 버스의 스테이트를 나타내는 버스 스테이트 신호를 외부 접속 기기에 송신하는 버스 스테이트 신호 송신 수단과, 외부 접속 기기의 동작 제어를 하는 제어 커맨드를 전송 데이터에 포함하여 발행하는 컨트롤러를 구비하고, 데이터 통신 수단은 버스 스테이트 신호의 스테이트가 외부 접속 기기로부터 본 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 본 기기로부터 상기 외부 접속 기기에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요 인의 내용을 나타내는 정보를 데이터 버스를 통하여 외부 접속 기기로부터 수신한다.
본 발명에 관한 호스트 기기에서는 버스 스테이트 신호의 스테이트가 외부 접속 기기로부터 본 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 본 기기로부터 외부 접속 기기에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 인터럽트 신호로서, 데이터 버스를 통하여 외부 접속 기기로부터 수신한다.
본 발명의 또다른 목적, 본 발명에 의해 얻어지는 구체적인 이점은 이하에 있어서 도면을 참조하여 설명되는 실시의 형태의 설명으로부터 한층 분명하게 될 것이다.
도 1은 본 발명이 적용된 메모리 카드 및 상기 메모리 카드를 이용하는 호스트 기기를 도시한 사시도.
도 2는 메모리 카드를 표면측에서 본 사시도.
도 3은 메모리 카드를 이면측에서 본 사시도.
도 4는 메모리 카드의 내부 블록 구성을 도시한 블록도.
도 5는 메모리 카드와 호스트 기기 사이의 데이터 전송을 하기 위한 인터페이스 기능의 구성도.
도 6은 메모리 카드와 호스트 기기와의 사이에 전송되는 신호에 관해 설명을 하기 위한 도면.
도 7은 각 스테이트에서의 통신 내용을 설명하기 위한 도면.
도 8은 라이트계 패킷의 전송시의 병렬 데이터, 버스 스테이트 및 클록의 타이밍 차트.
도 9는 리드계 패킷의 전송시의 병렬 데이터, 버스 스테이트 및 클록의 타이밍 차트.
도 10은 라이트계 패킷 및 리드계 패킷의 전송시의 비지 신호 및 레디 신호의 타이밍 차트.
도 11은 스테터스 레지스터군을 구성하는 내부 레지스터를 도시한 도면.
도 12는 INT 레지스터 내의 비트 내용을 도시한 도면.
도 13은 INT 레지스터 내의 각 비트 값에 대응하는 메모리 카드의 동작 상태를 도시한 도면.
도 14는 파라미터 레지스터군을 구성하는 내부 레지스터를 도시한 도면.
도 15는 SET_CMD_TPC시의 전송 데이터를 도시한 도면.
도 16은 EX_SET_CMD_TPC시의 전송 데이터를 도시한 도면.
도 17은 컨트롤 커맨드의 한 예를 도시한 도면.
이하, 본 발명을 리무벌하는 소형 IC 메모리 장치 및, 상기 소형 IC 메모리 장치를 외부 기억 미디어로서 이용하는 데이터 처리 장치에 적용한 예를 들어 설명한다.
또한, 이하의 설명에서, 소형 IC 메모리 장치를 메모리 카드라고 칭하고, 상 기 메모리 카드가 접속되는 데이터 처리 장치를 호스트 기기라고 칭한다.
우선, 본 발명을 적용한 호스트 기기 및 상기 호스트 기기에 접속되는 메모리 카드의 개략을 도 1을 참조하여 설명한다.
본 발명에 관한 메모리 카드(1)는 내부에 불휘발성의 반도체 메모리(IC 메모리)를 갖고 있고, 정지 화상 데이터, 동화상 데이터, 음성 데이터, 음악 데이터 등의 각종 디지털 데이터를 격납할 수 있다. 상기 메모리 카드(1)는 예를 들면, 정보 휴대 단말, 데스크톱형 컴퓨터, 노트형 컴퓨터, 휴대 전화기, 오디오 장치, 가전 장치 등등의 호스트 기기(2)의 외부 기억 미디어로서 기능한다.
메모리 카드(1)는 도 1에 도시한 바와 같이, 호스트 기기(2)에 마련되어 있는 삽탈구(3)에 삽입된 상태에서 사용된다. 메모리 카드(1)의 삽탈구(3)에 대한 삽입 및 발취는 유저가 자유롭게 행할 수 있다. 그 때문에, 어느 호스트 기기에 삽입되어 있던 메모리 카드(1)를 뽑아내고, 다른 호스트 기기에 삽입할 수도 있다. 즉, 본 메모리 카드(1)는 다른 호스트 기기 사이의 데이터의 교환에 이용하는 것이 가능하다.
메모리 카드(1) 및 호스트 기기(2)는 4비트 병렬 데이터, 클록 신호, 버스 스테이트 신호의 6개의 신호를 전송하는 6선식 반2중 병렬 프로토콜을 이용한 병렬 인터페이스로 데이터의 전송을 행한다.
본 발명에 관한 메모리 카드(1)는 도 2에 도시한 바와 같이, 개략 직사각형 형상의 박판 형상으로 형성되고, 긴변 방향의 길이(L1)를 50㎜로 하고, 폭(W1)을 21.45㎜로 하고, 두께(D1)를 2.8㎜로 하여 형성되어 있다. 메모리 카드(1)는 한쪽 의 면을 표면(1a)으로 하고, 다른쪽의 면을 이면(1b)으로 하고 있다. 메모리 카드(1) 긴변 방향의 일단측의 이면(1b)측에는 도 3에 도시한 바와 같이, 10개의 평면 전극인 접속 단자군(4)이 마련되어 있다. 접속 단자군(4)을 구성하는 각 전극은 메모리 카드(1)의 폭방향으로 병렬하여 마련되어 있다. 전극과 전극과의 각 사이에는 이면(1b)으로부터 수직으로 세워진 구획편(5)이 마련되어 있다. 각 구획편(5)은 각 전극에 접속되는 접속 단자가 다른 전극에 접촉하는 것을 방지하도록 한 것이다. 메모리 카드(1)의 이면(1b)의 일단부측의 중앙부에는 도 3에 도시한 바와 같이, 오소거 금지용의 슬라이드 스위치(6)가 마련되어 있다.
상술한 메모리 카드(1)가 장착되는 호스트 기기(2)에는 메모리 카드(1)를 삽탈하기 위한 삽탈구(3)가 마련되어 있다. 삽탈구(3)는 도 1에 도시한 바와 같이, 호스트 기기(2)의 전면측에 메모리 카드(1)의 폭(W1) 및 두께(D1)에 대응하는 개구로서 형성되어 있다. 삽탈구(3)를 통하여 호스트 기기(2)에 삽입된 메모리 카드(1)는 접속 단자군(4)을 구성하는 각 전극에 호스트 기기(2)측의 접속 단자가 접속됨으로써, 호스트 기기(2)에의 지지가 도모되고 탈락이 방지된다. 또한, 호스트 기기(2)측의 접속 단자는 장착되는 메모리 카드(1)에 마련되는 접속 단자군(4)을 구성하는 전극에 대응하여 10개의 접점을 갖는다.
본 발명에 관한 메모리 카드(1)는 접속 단자군(4)이 마련된 일단측을 삽입단으로 하고, 도 2 중 화살표(X1) 방향을 삽입 방향으로 하여 삽탈구(3)를 통하여 호스트 기기(2)에 장착된다. 호스트 기기(2)에 장착된 메모리 카드(1)는 접속 단자군(4)을 구성하는 각 전극과 호스트 기기(2)측의 접속 단자의 각 접점이 접속 되고, 신호의 수수가 가능한 상태로 된다.
다음에, 본 발명에 관한 메모리 카드(1)의 내부 구성을 도 4를 참조하여 설명한다.
본 발명에 관한 메모리 카드(1)는 도 4에 도시한 바와 같이, 병렬 인터페이스 회로(I/F)(12)와, 레지스터 회로(13)와, 데이터 버퍼 회로(14)와, ECC 회로(15)와, 메모리 I/F 컨트롤러(16)와, 불휘발성 반도체 메모리(17)와, 발진 제어 회로(18)를 구비하고 있다.
병렬 I/F 회로(12)는 6선식 반2중 병렬 방식의 데이터 전송 프로토콜을 이용하여, 호스트 기기(2)와의 사이에서 데이터의 전송을 행하는 회로이다.
레지스터 회로(13)는 예를 들면, 호스트 기기로부터 전송되는 메모리 I/F 컨트롤러(16)에 대한 동작 제어 커맨드(이하, 상기 동작 제어 커맨드에 관한 것을 컨트롤 커맨드라고 칭한다), 메모리 카드(1) 내의 내부 상태, 컨트롤 커맨드를 실행하는 때에 필요한 여러곳의 파라미터, 불휘발성 반도체 메모리(17) 내의 파일 관리 정보 등을 기억하는 회로이다. 상기 레지스터 회로(13)는 호스트 기기(2) 및 메모리 I/F 컨트롤러(16)의 양자로부터 액세스된다. 또한, 호스트 기기(2)는 본 메모리 카드의 데이터 전송 프로토콜상에서 규정되는 전송 프로토콜 커맨드(이하, TPC(Transfer Protocol Co㎜and)라 한다)를 이용하여, 레지스터 회로(13)에 대해 액세스를 행한다. 즉, 레지스터 회로(13)에 격납되는 컨트롤 커맨드나 각종 파라미터에 대해 호스트 기기(2)가 기록이나 판독을 하는 경우에는 TPC를 이용하여 행한다.
데이터 버퍼 회로(14)는 불휘발성 반도체 메모리(17)에 기록되는 데이터 및, 불휘발성 반도체 메모리(17)로부터 판독된 데이터를 일시적으로 보존하는 메모리 회로이다. 즉, 호스트 기기(2)로부터 불휘발성 반도체 메모리(17)에 데이터가 기록되는 경우에는 기록 대상 데이터가 호스트 기기(2)로부터 데이터 버퍼 회로(14)에 데이터 전송 프로토콜에 따라 전송되고, 그 후, 데이터 버퍼 회로(14)에 격납되어 있는 기록 대상 데이터를 메모리 I/F 컨트롤러(16)가 불휘발성 반도체 메모리(17)에 기록한다. 불휘발성 반도체 메모리(17)로부터 호스트 기기(2)에 데타가 판독되는 경우에는 메모리 I/F 컨트롤러(16)가 불휘발성 반도체 메모리(17)로부터 판독 대상 데이터를 판독하여 일단 데이터 버퍼 회로(14)에 격납하고, 그 후, 그 판독 대상 데이터가 데이터 전송 프로토콜에 따라 데이터 버퍼 회로(14)로부터 호스트 기기(2)에 전송된다.
또한, 데이터 버퍼 회로(14)는 소정의 데이터 기록 단위(예를 들면, 플래시 메모리의 페이지 사이즈와 동일한 512바이트)분의 데이터 용량을 갖고 있다. 또한, 호스트 기기(2)는 TPC를 이용하여, 데이터 버퍼 회로(14)에 대해 액세스를 행한다. 즉, 데이터 버퍼 회로(14)에 격납되는 데이터에 대해, 호스트 기기(2)가 기록이나 판독을 하는 경우에는 TPC를 이용하여 행한다.
ECC 회로(15)는 불휘발성 반도체 메모리(17)에 기록되는 데이터에 대해 오류 정정 코드(ECC)를 부가한다. 또한, ECC 회로(15)는 불휘발성 반도체 메모리(17)로부터 판독 데이터에 부가되어 있는 오류 정정 코드에 의거하여, 상기 판독 데이터에 대한 오류 정정 처리를 행한다. 예를 들면, 오류 정정 코드는 512바이트의 데이 터 단위에 대해 3바이트분 부가된다.
메모리 I/F 컨트롤러(16)는 레지스터 회로(13) 내에 격납되어 있는 컨트롤 커맨드에 따라, 데이터 버퍼 회로(14)와 불휘발성 반도체 메모리(17) 사이의 데이터의 교환의 제어, 불휘발성 반도체 메모리(17)의 데이터의 시큐러티 관리의 제어, 메모리 카드(1)의 그 밖의 펑션의 제어 및, 레지스터 회로(13) 내에 격납되어 있는 데이터의 갱신 처리 등을 행한다.
불휘발성 반도체 메모리(17)는 예를 들면, NAND형의 플래시 메모리 등의 불휘발성의 반도체 메모리이다. 불휘발성 반도체 메모리(17)의 용량은 예를 들면 16M바이트, 32M바이트, 64M바이트, 128M바이트이다. 불휘발성 반도체 메모리(17)는 소거 블록 단위가 예를 들면 16K바이트이다. 판독 기록 단위는 페이지라고 칭하여지고, 데이터 버퍼 회로(14)와 동일한 512바이트이다. 발진 제어 회로(18)는 본 메모리 카드(1) 내의 동작 클록을 발생한다.
메모리 카드(1)의 접속 단자에는 VSS 단자, VCC 단자, DATA0 단자, DATA1 단자, DATA2 단자, DATA3 단자, BS 단자, CLK 단자, INS 단자가 마련되어 있다. 또한, VSS 단자는 2개 마련되어 있기 때문에, 메모리 카드(1)에는 합계 10개의 접속 단자가 마련되어 있는 것으로 된다. 호스트 기기(2)측에도 같은 접속 단자가 마련되어 있다.
VSS 단자는 VSS(기준 0볼트 전압)가 접속된다. 상기 VSS 단자는 호스트 기기측의 그라운드와 메모리 카드측의 그라운드를 접속하고, 호스트 기기와 메모리 카드와의 0볼트 기준 전위를 일치시킨다. VCC 단자는 전원 전압(VCC)이 호스트 기기 로부터 공급된다.
DATA0 단자는 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4비트 병렬 데이터중의 최하위 비트의 데이터 신호(DATA0)가 입출력된다. DATA1 단자는 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4비트 병렬 데이터중의 하위로부터 2비트째의 데이터 신호(DATA1)가 입출력된다. DATA2 단자는 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4비트 병렬 데이터중의 하위로부터 3비트째의 데이터 신호(DATA2)가 입출력된다. DATA3 단자는 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4비트 병렬 데이터중의 하위로부터 4비트째의 데이터 신호(DATA3)가 입출력된다.
BS 단자는 버스 스테이트 신호가 호스트 기기로부터 메모리 카드에 입력된다. CLK 단자는 클록 신호가 호스트 기기(2)로부터 입력된다. INS 단자는 메모리 카드가 슬롯에 삽입되어 있는지, 또는 삽입되지 않았는지를 호스트 기기(2)가 판단하기 위한 삽입/뽑아냄 검출에 이용된다. 메모리 카드(1)의 INS 단자는 그라운드에 접속되어 있고, 호스트 기기(2)의 INS 단자는 저항을 이용하여 풀업되어 있다.
다음에, 메모리 카드(1)와 호스트 기기(2) 사이의 데이터 전송을 하기 위한 인터페이스의 기능 구성을 도 5를 참조하여 설명한다.
호스트 기기(2)의 인터페이스 기능은 도 5에 도시한 바와 같이, 파일 매니저(31)와, TPC 인터페이스(32)와, 병렬 인터페이스(33)로 구성된다. 또한, 메모리 카드(1)의 인터페이스 기능은 병렬 인터페이스(34)와, 레지스터(35)와, 데이터 버퍼(36)와, 메모리 컨트롤러(37)와, 메모리(38)로 구성된다.
파일 매니저(31)는 호스트 기기의 오퍼레이션 시스템상에서, 메모리 카드(1) 내에 격납되어 있는 파일 및, 호스트 기기의 다른 미디어에 격납되어 있는 파일의 관리를 행한다. 파일 매니저(31)는 호스트 기기(2) 내의 컨트롤러 등에 의해 실현되는 기능이다.
TPC 인터페이스(32)는 파일 매니저(31)의 하위 레이어로 된다. TPC 인터페이스(32)는 본 인터페이스의 특유의 커맨드(TPC : Transfer Protocol Co㎜and)가 규정된 데이터 전송 프로토콜에 의해, 메모리 카드(1) 내의 레지스터(35) 및 데이터 버퍼(36)에 액세스를 행한다. 상기 TPC 인터페이스(32)는 호스트 기기(2) 내의 컨트롤러 등에 의해 실현되는 기능이다.
병렬 인터페이스(33, 34)는 TPC 인터페이스(32)의 하위 레이어로 되고, 본 인터페이스 시스템의 물리 계층이다. 병렬 인터페이스(33, 34)는 4비트 병렬 데이터, 클록, 버스 스테이트 신호의 6개의 신호를 전송하는 데이터 전송 프로토콜인 6선식 반2중 병렬 프로토콜에 따라서, 데이터 전송을 행한다. 병렬 인터페이스(33, 34)는 병렬 인터페이스 회로(12)에 의해 실현되는 기능이다.
레지스터(35)는 호스트로부터 전송된 컨트롤 커맨드, 메모리 카드의 내부 상태, 메모리(38)에 액세스하는 데이터의 어드레스, 컨트롤 커맨드를 실행하는 때에 필요한 여러곳의 파라미터, 메모리 내의 파일 관리 정보 등을 격납한다. 레지스터(35)는 메모리 카드(1)의 레지스터 회로(13)상에 실현되는 기능이다.
데이터 버퍼(36)는 메모리(38)에 기록되는 데이터 및, 메모리(38)로부터 판독된 데이터를 일시적으로 보존하는 버퍼 영역이다. 데이터 버퍼(36)는 메모리 카 드(1)의 데이터 버퍼 회로(14)상에 실현되는 기능이다.
메모리 컨트롤러(37)는 레지스터(35) 내에 격납되어 있는 커맨드 및 각종 정보에 따라서, 데이터 버퍼(36)와 메모리(38)와의 사이의 데이터의 판독, 기록, 소거 및, 레지스터(35) 내의 각종 정보의 갱신 등의 제어를 행한다. 메모리 컨트롤러(37)는 메모리 카드(1)상의 메모리 I/F 컨트롤러(16)에 의해 실현되는 기능이다.
메모리(38)는 데이터의 메모리 영역이고, 메모리 컨트롤러(37)를 통하여 독자적인 모델으로서 가상화 되어 있다. 메모리(38)는 메모리 카드(1)상의 불휘발성 반도체 메모리(17)에 의해 실현되는 기능이다.
이상과 같은 구성의 호스트 기기 및 메모리 카드에서는 파일 매니저(31)에 관리되어 있는 다른 미디어에 격납되어 있는 데이터를 상기 병렬 인터페이스(33, 34)를 통하여 메모리(38)에 전송할 수 있다. 또한, 메모리(38)에 격납되어 있는 데이터를 상기 병렬 인터페이스(33, 34)를 통하여 파일 매니저에게 관리되어 있는 다른 미디어에 전송할 수 있다.
다음에, 본 발명에 관한 메모리 카드(1)와 호스트 기기(2) 사이의 데이터 전송 프로토콜에 관해 설명한다.
메모리 카드(1) 및 호스트 기기(2)의 데이터 전송 프로토콜의 특징으로서는 4개 버스 스테이트를 정의하여 전송 데이터의 전송 방향 및 속성을 식별하는 것, 호스트 기기(2)로부터 메모리 카드(1)의 레지스터 회로(13) 및 데이터 버퍼 회로(14) 에 대해 TPC를 이용하여 액세스를 행하는 것, 컨트롤 커맨드를 이용하여 호스트 기기(2)가 메모리 카드(1)의 동작 제어를 하는 것, CRC(Cyclic Redundancy Check codes)를 이용하여 메모리 카드(1)와 호스트 기기(2) 사이의 전송 데이터의 에러 검출을 행하는 것, 메모리 카드(1)로부터 호스트 기기(2)에의 인터럽트 신호(INT 신호)를 규정하고 있는 것 등이 있다.
메모리 카드(1)와 호스트 기기(2)는 도 6에 도시한 바와 같이, 버스 스테이트 신호(BS), 4개의 병렬 데이터 신호, 클록 신호(SCLK)의 6개의 신호로 접속되어 있다.
병렬 데이터 신호는 메모리 카드(1)와 호스트 기기(2) 사이를 전송되는 데이터 신호이다. 병렬 데이터 신호는 4비트 폭의 병렬 데이터(DATA[3 : 0])를 전송하고, 버스 스테이트 신호에 의해 규정되는 스테이트에 따라서, 그 병렬 데이터(DATA[3 : 0])의 전송 방향 및 속성이 변화한다.
버스 스테이트 신호는 병렬 데이터 신호의 스테이트 및, 각 스테이트에 있어서의 병렬 데이터 신호의 전송 시작 타이밍을 규정하는 신호이다. 상기 버스 스테이트 신호는 호스트 기기(2)로부터 메모리 카드(1)에 전송된다. 스테이트는 패킷 통신이 행하여지지 않는 1개의 스테이트(BS0)와, 패킷 통신중의 3개의 스테이트(BS1 내지 BS3)의 합계 4개의 스테이트로 구분된다. 버스 스테이트 신호는 High와 Low의 전환 타이밍에서, BS0부터 BS3까지로 순번대로 스테이트를 전환하여 간다.
클록 신호는 병렬 데이터 신호 및 버스 스테이트 신호의 클록이다. 클록 신호는 호스트 기기로부터 메모리 카드에 전송된다. 클록 신호는 패킷 통신중의 3개 의 스테이트(BS1 내지 BS3)시에는 반드시 출력된다.
각 스테이트에서의 통신 내용은 도 7에 도시한 바와 같이 된다.
BS0은 병렬 데이터 신호의 라인에, 메모리 카드(1)로부터 호스트 기기(2)에의 인터럽트 신호(INT 신호)가 전송 가능한 스테이트이다. INT 신호는 클록에 대해 비동기로 전송된다. BS0에서는 패킷 통신은 행하여지지 않는다. BS0을 나타내는 버스 스테이트 신호의 신호 레벨은 Low로 표시된다. 또한, 상기 INT 신호에는 메모리 카드(1)의 동작 상태가 반영되는데, 그 내용에 관해서는 후술한다.
BS1은 병렬 데이터 신호의 라인에, TPC가 전송되는 스테이트이다. BS1을 나타내는 버스 스테이트의 신호 레벨은 High로 표시된다. TPC는 호스트 기기(2)로부터 메모리 카드(1)에 전송된다. TPC는 호스트 기기(2)가 메모리 카드(1)의 레지스터 회로(13) 및 데이터 버퍼 회로(14)에 액세스하기 위하는 커맨드이다. TPC에는 데이터 버퍼 회로(14)에 대한 데이터의 기록 처리 또는 판독 처리를 행하는 커맨드, 레지스터 회로(13)에 대한 데이터의 기록 처리 또는 판독 처리를 행하는 커맨드, 메모리 I/F 컨트롤러(16)에 주는 컨트롤 커맨드를 레지스터 회로(13)에 기록하는 처리를 행하는 커맨드 등이 있다. TPC 및 컨트롤 커맨드의 구체적인 내용에 관해서는 후술한다.
BS2 및 BS3에서는 호스트 기기(2)로부터 메모리 카드(1)에 데이터를 전송하는 라이트계 패킷과, 메모리 카드(1)로부터 호스트 기기(2)에 데이터를 전송하는 리드계 패킷에서, 병렬 데이터 신호에 전송되는 병렬 데이터(DATA[3 : 0])의 전송 방향 및 속성이 다르다. 그 패킷의 종류가 라이트계 패킷인지 리드계 패킷인지는 BS1에서 전송되는 TPC의 내용에 의해 결정된다.
도 8에 라이트계 패킷의 타이밍 차트를 도시하고, 라이트계 패킷시의 BS2, BS3의 내용에 관해 설명을 한다.
라이트계 패킷시의 BS2에서는 병렬 데이터 신호상의 전송 데이터가 레지스터 회로(13)나 데이터 버퍼 회로(14)에의 기록 대상 데이터 및 상기 기록 대상 데이터의 CRC로 된다. BS2에서는 병렬 데이터 신호상의 전송 데이터가 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
라이트계 패킷시의 BS3에서는 병렬 데이터 신호상의 전송 데이터가 메모리 카드(1)로부터 발생되는 비지(BSY)신호 및 레디(RDY)신호로 된다. 라이트계 패킷시의 BS3에서는 병렬 데이터 신호상의 비지 신호 및 레디 신호가 메모리 카드(1)로부터 호스트 기기(2)에 전송된다. 라이트계 패킷시의 BS3에서는 BS1 및 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송되고 TPC 및 전송 데이터에 대한 처리가 행하여진다. 메모리 카드(1)는 그 TPC 및 전송 데이터에 대한 처리를 행하고 있는 중에(즉, 아직 처리가 완료되지 않은 경우에)는 호스트 기기(2)에 대해 비지 신호를 송출한다. 그리고, 메모리 카드(1)는 그 처리가 완료되면 호스트 기기(2)에 대해 레디 신호를 송출한다. 비지 신호 및 레디 신호는 4개의 병렬 데이터 신호중, 최하위 비트(DATA0)의 신호 라인만으로 전송된다. 비지 신호는 최하위 비트(DATA0)의 신호 라인을 high 레벨의 상태로 하는 신호이다. 레디 신호는 최하위 비트(DATA0)의 신호 라인을 high 레벨과 low 레벨을 1클록마다 교대로 반복하는 상태로 하는 신호이다. 이와 같이, 비지 신호 및 레디 신호를 전송함으로써, 데이터 가 전송되지 않는 라이트계 패킷시의 BS3의 타이밍에서의 메모리 카드(1)와 호스트 기기(2)와의 핸드 쉐이크를 확립할 수 있다.
도 9에 리드계 패킷의 타이밍 차트를 도시하고, 리드계 패킷시의 BS2, BS3의 내용에 관해 설명을 한다.
리드계 패킷시의 BS2에서는 병렬 데이터 신호상의 전송 데이터가 메모리 카드(1)로부터 발생되는 비지 신호 및 레디 신호로 된다. 리드계 패킷시의 BS2에서는 BS1에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된 TPC에 응하여, 메모리 카드(1)가 데이터의 전송 준비를 행한다. 메모리 카드(1)는 TPC에 대한 데이터의 전송 준비중(즉, 아직 전송 준비가 완료되지 않은 경우)에는 호스트 기기(2)에 대해 비지 신호를 송출한다. 그리고, 메모리 카드(1)는 그 전송 준비가 완료되면, 호스트 기기(2)에 대해 레디 신호를 송출한다. 이와 같이, 비지 신호와 레디 신호를 전송함으로써, 데이터가 전송되지 않는 리드계 패킷의 BS2에 있어서의 메모리 카드(1)와 호스트 기기(2)와의 핸드 쉐이크를 확립할 수 있다.
리드계 패킷시의 BS3에서는 병렬 데이터 신호상의 전송 데이터가 레지스터 회로(13)나 데이터 버퍼 회로(14)로부터의 판독 대상 데이터 및 상기 판독 대상 데이터의 CRC로 된다. BS3은 병렬 데이터 신호상의 전송 데이터가 메모리 카드(1)로부터 호스트 기기(2)에 전송된다.
도 10에 BS2, BS3에서 발생되는 비지 신호 및 레디 신호의 상세한 타이밍 차트를 도시한다. 상기 도 10에 도시한 바와 같이, 비지 신호 및 레디 신호는 4개의 병렬 데이터 신호중, 최하위 비트(DATA0)의 신호 라인만으로 전송된다. 다른 비트(DATA1 내지 3)는 low 레벨로 되어 있다. 호스트 기기(2)는 DATA0에 전송된 신호만을 수신하고, 다른 비트의 신호는 무시한다. 최하위 비트(DATA0)는 종래의 3선식 반2중 프로토콜을 이용한 메모리 카드의 직렬 데이터의 전송 라인에 대응하고 있다. 따라서, 본 메모리 카드(1)는 종래의 메모리 카드와 호환성을 갖고 있다.
다음에, 버스 스테이트가 BS0인 때에 메모리 카드(1)로부터 호스트 기기(2)에 전송되는 INT 신호에 관해 설명을 한다.
메모리 카드(1)에는 불휘발성 반도체 메모리(17)로서 플래시 메모리가 이용되고 있다. 플래시 메모리에 대한 액세스 시간은 메모리 카드(1)와 호스트 기기(2) 사이의 데이터의 전송 시간과 비교하여 상당히 길어진다. 그 때문에, 호스트 기기(2)측의 데이터 처리 시퀀스를 단축하는데는 데이터 전송 프로토콜상, 메모리 카드(1)측으로부터 처리의 종료 등을 통지하는 인터럽트 요구를 규정하는 것이 유효하게 된다. 즉, 메모리 카드(1)로부터의 인터럽트 요구를 규정함으로써, 플래시 메모리에 대한 액세스 중, 호스트 기기(2)측의 CPU의 처리를 다른 처리에 개방할 수 있다.
BS0에서는 메모리 카드(1)에 어떠한 인터럽트 요구가 발생하면, 메모리 카드(1)가 인터럽트 신호(INT 신호)를 호스트 기기(2)에 전송한다. INT 신호는 클록 신호에는 동기하지 않고, 메모리 카드(1)로부터 출력된다. BS0시에, 병렬 데이터(DATA[3 : 0])의 신호 라인의 어느 하나의 비트가 high 레벨로 된 때에는 메모리 카드(1)측으로부터 인터럽트 요구가 발생하는 것을 나타낸다. 또한, 병렬 데이터(DATA[3 : 0])의 어느 비트도 low 레벨일 때에는 메모리 카드(1)는 처리의 실행중으로, 인터럽트 요구가 없는 것을 나타낸다.
여기서, 메모리 카드(1)로부터 발생하는 인터럽트의 요인에는 복수의 것이 존재한다. 예를 들면, 메모리 카드(1)에 주어진 컨트롤 커맨드에 대한 동작 제어가 종료된 것을 호스트 기기(2)에 전달하기 위한 인터럽트, 메모리 카드(1)에 주어진 컨트롤 커맨드에 대해 동작 제어를 행한 때에 에러가 발생한 것을 호스트 기기(2)에 전달하기 위한 인터럽트, 호스트 기기(2)에 대해 액세스를 요구하는 인터럽트, 메모리 카드(1)로부터 주어진 컨트롤 커맨드가 실행 불가능한 것을 호스트 기기(2)에 대해 전달하기 위한 인터럽트, 등등이 있다.
메모리 카드(1)에서는 이상과 같은 각 인터럽트의 각 요인을 병렬 데이터(DATA[3 : 0])의 각 비트에 대해 배당하고, 발생한 인터럽트의 요인에 응하여 high 레벨로 하는 라인을 변화시키고 있다. 즉, 메모리 카드(1)에서 발생한 인터럽트의 내용에 응하여, BS0시에 high 레벨로 되는 비트 위치가 다른 INT 신호가 메모리 카드(1)로부터 발생된다.
호스트 기기(2)는 BS0시에는 병렬 데이터(DATA[3 : 0])의 각 비트의 레벨을 감시함으로써, 메모리 카드(1)로부터 인터럽트 요구가 있은 것을 검출함과 함께, 어느 비트 위치의 레벨이 high로 되어 있는지를 검출하고, 메모리 카드(1)의 인터럽트의 요인도 동시에 검출한다.
이에 대해, 종래의 메모리 카드 시스템에서는 메모리 카드측으로부터 호스트측에, 단지 인터럽트 요구가 있는지 없는지만을 통지하고 있다. 그 때문에, 메모리 카드로부터 인터럽트 요구가 있었다고 하더라도, 호스트측이 그 요구와 동시에 인 터럽트 요인을 확인할 수 없고, 반드시, 패킷 통신을 확립하여 메모리 카드측에 인터럽트 요인을 판독하여야 하였다. 이에 대해, 본 발명의 실시의 형태의 메모리 카드(1) 및 호스트 기기(2)에서는 데이터 라인이 4비트인 것을 이용하여, 각 비트에 대해 인터럽트의 각 요인을 할당하고 있기 때문에, 인터럽트 요구와 동시에 그 요인도 호스트 기기(2)가 확인할 수 있다.
따라서 본 발명에서는 메모리 카드(1)로부터의 인터럽트 요구가 발생한 경우, 호스트 기기(2)가 그 요구 내용을 확인하기 위한 패킷 통신을 행하지 않아도 좋게 된다. 즉, 메모리 카드(1)와 호스트 기기(2) 사이의 데이터 전송 시퀀스의 실행 시간을 단축할 수 있다.
또한, 본 예에서는 메모리 카드(1)의 INT 신호는 컨트롤 커맨드에 의거한 동작 상태가 반영하는 INT 레지스터에 격납되어 있는 각 비트 값으로 되어 있다. INT 레지스터는 레지스터 회로(13) 내의 스테터스 레지스터군 내에 마련되어 있다. 메모리 카드(1)의 병렬 인터페이스 회로(12)는 버스 스테이트 신호가 BS0을 나타내고 있는 때에, 상기 INT 레지스터의 각 비트 값을 참조하여, 그 비트 값이 유효(1)로 되어 있으면, 그 비트에 대응하는 데이터 라인을 high 레벨로 드라이브하고, 그 비트 값이 무효(0)로 되어 있으면, 그 비트 값에 대응하는 데이터 라인을 low 레벨로 드라이브한다. 상기 INT 레지스터의 구체적인 내용 및, INT 레지스터의 각 값과 병렬 데이터(DATA[3 : 0])와의 관계에 관해서는 다음 레지스터 회로의 항에서 설명을 한다.
다음에, 레지스터 회로(13)에 관해 설명을 한다.
레지스터 회로(13)는 복수의 내부 레지스터에 의해 구성되어 있다. 레지스터 회로(13) 내의 내부 레지스터는 그 용도에 응하여, 이하의 1 내지 5로 분류된다.
1. 메모리 카드(1)의 상황 등이 격납되는 스테터스 레지스터군
2. 커맨드의 실행 등을 위해 이용되는 파라미터가 격납되는 파라미터 레지스터군
3. 플래시 메모리의 각 페이지마다 마련되고, 각 페이지의 관리 데이터 등이 가능하게 되는 엑스트라 데이터 레지스터군
4. 상기 1, 2, 3의 각 레지스터에 대한 액세스 위치를 특정하기 위한 어드레스가 격납되는 레지스터 어드레스 레지스터
5. 호스트 기기(2)로부터 주어진 컨트롤 커맨드가 격납되는 커맨드 레지스터
스테터스 레지스터군에는 도 11에 도시한 바와 같이, INT 레지스터, 스테터스 레지스터, 타입 레지스터, 카테고리 레지스터, 클래스 레지스터의 5개의 내부 레지스터가 있다. 스테터스 레지스터군 내의 각 내부 레지스터는 메모리 I/F 컨트롤러(16)에 의해 격납하고 있는 값이 갱신된다. 스테터스 레지스터군 내의 각 내부 레지스터는 호스트 기기(2)로부터는 READ_REG_TPC(READ_REG_TPC는 TPC의 중의 하나의 커맨드이고, 그 상세는 후술한다)로 액세스가 가능하고, 호스트 기기(2)로부터는 판독 전용으로 되어 있다. 또한, 스테터스 레지스터군 내의 각 내부 레지스터는 8비트분의 비트 값이 격납 가능하고, 각각에 어드레스가 설정되어 있다.
·INT 레지스터
INT 레지스터는 메모리 카드(1)의 동작 상태가 설정되는 레지스터이다. 상기 INT 레지스터 내의 값은 호스트 기기(2)로부터 메모리 카드(1)에 주어진 컨트롤 커맨드에 대한 동작 결과에 응하여, 메모리 I/F 컨트롤러(16)에 의해 갱신된다. INT 레지스터는 도 12에 도시한 바와 같이, 8비트의 레지스터이다. INT 레지스터에는 8비트중, 최하위 비트(DO)와 상위 3비트(D5 내지 D7)에, 동작 상태가 설정되어 있다. 또한, 나머지 비트는 리저브로 되어 있다.
INT 레지스터의 비트(D7)는 CED(Co㎜and End)비트이다. CED 비트는 EX_SET_CMD_TPC 또는 SET_CMD_TPC(TPC의 중의 하나의 커맨드이다. 상세는 후술한다)에 의해 세트된 컨트롤 커맨드의 실행이 종료된 것을 나타내는 비트이다. 또한, 여기서 말하는 실행의 종료란, 그 실행이 정상적으로 종료하였든지 에러 종료하였든지에 관계 없이, 실행이 종료된 것을 나타내는 것이다. CED 비트는 EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의한 컨트롤 커맨드의 세트시 및 초기 상태시에, 메모리 I/F 컨트롤러(16)에 의해 비트 값이 무효(0)로 되고, EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의한 컨트롤 커맨드의 실행이 종료된 때에 메모리 I/F 컨트롤러(16)에 의해 비트 값이 유효(1)로 된다.
INT 레지스터의 비트(D6)는 ERR(Error) 비트이다. ERR 비트는 EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의해 세트된 메모리 액세스 커맨드(컨트롤 커맨드) 및 시큐러티 커맨드(컨트롤 커맨드)를 실행한 결과, 그 실행에 에러가 발생하는 것을 나타내는 비트이다. ERR 비트는 에러가 발생하면 메모리 I/F 컨트롤러(16)에 의해 비트 값이 유효(1)로 되고, 새로운 EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의해 컨트롤 커맨드가 세트되든지 또는 에러 상태가 해제되면 메모 리 I/F 컨트롤러(16)에 의해 비트 값이 무효(0)로 된다.
INT 레지스터의 비트(D5)는 BREQ/PRG(Buffer Request/Progress) 비트이다. BREQ/PRG 비트는 EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의해 세트된 메모리 액세스 커맨드(컨트롤 커맨드) 및 시큐러티 커맨드(컨트롤 커맨드)를 실행한 결과, 그 실행에 의해 발생하는 호스트 기기(2)에 대한 데이터 버퍼 회로(14)에의 액세스 요구 및, 불휘발성 반도체 메모리(17)의 내부 소거 처리나 포맷 처리를 실행한 경우에 있어서의 그 진행 상황을 나타내는 비트이다. 예를 들면, 불휘발성 반도체 메모리(17)에 대한 기록 명령이 있은 경우에 있어서의 데이터 버퍼 회로(14)에 대한 데이터의 기록 요구, 불휘발성 반도체 메모리(17)로부터의 데타의 판독 명령이 있은 경우에 있어서의 데이터 버퍼 회로(14)로부터의 데이터의 판독 요구, 시큐러티 데이터의 수신 요구 등이 있는 것을 나타내는 비트이다. BREQ/PRG 비트는 각 요구가 발생한 때 메모리 I/F 컨트롤러(16)에 의해 비트 값이 유효(1)로 되고, 호스트 기기(2)에 의해 그 요구에 대하는 TPC에 의한 액세스가 발생한 경우에 메모리 I/F 컨트롤러(16)에 의해 비트 값이 무효(O)로 된다. 또한, BREQ/PRG 비트는 포맷이나 소거의 진행 상황에 응하여, 메모리 I/F 컨트롤러(16)에 의해 비트 값이 갱신된다.
INT 레지스터의 비트(D0)는 CMDNK(co㎜and Nack) 비트이다. CMDNK 비트는 EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의해 세트된 커맨드가 실행할 수 없는 것을 나타내는 비트이다. EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의해 세트된 컨트롤 커맨드가 실행할 수 없는 때에 메모리 1/F 컨트롤러(16)에 의해 비트 값이 유효(1)로 되 고, EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의해 세트된 컨트롤 커맨드가 실행할 수 있는 때에 비트 값이 무효(0)로 된다.
INT 레지스터에는 이상과 같은 비트가 설정되어 있다. 이로써, INT 레지스터 내의 각 비트의 값의 조합에 의해, 직전의 컨트롤 커맨드에 대한 메모리 카드(1)의 동작 상태로서, 도 13에 도시한 바와 같은 동작 상태를 나타낼 수 있다.
즉, CED = 1, ERR = 0, BREQ/PRG = 0, CMDNK = 0인 경우에는 주어진 컨트롤 커맨드의 실행이 정상 종료하였다는 동작 상태를 나타내는 것으로 된다. CED = 1, ERR = 1, BREQ/PRG = 0, CMDNK = 0인 경우에는 주어진 컨트롤 커맨드의 실행이 에러 종료하였다는 동작 상태를 나타내는 것으로 된다. CED = 0, ERR = 0, BREQ/PRG = 1, CMDNK = 0인 경우에는 주어진 컨트롤 커맨드의 실행이 정상적으로 행하여지고 있고, 호스트 기기(2)에 대해 액세스 요구를 하고 있다는 동작 상태를 나타내는 것으로 된다. CED = 0, ERR = 1, BREQ/PRG = 1, CMDNK = 0인 경우에는 주어진 컨트롤 커맨드의 실행에 에러가 발생하고 있고, 호스트 기기(2)에 대해 액세스 요구를 하고 있다는 동작 상태를 나타내는 것으로 된다. CED = 0, ERR = 0, BREQ/PRG = 0, CMDNK = 0인 경우에는 주어진 컨트롤 커맨드의 실행중이라는 동작 상태를 나타내는 것으로 된다. CED = 0, ERR = 1, BREQ/PRG = 0, CMDNK = 0인 경우에는 불휘발성 반도체 메모리(17)의 소거 실행중 또는 포맷중이라는 동작 상태를 나타내는 것으로 된다. CED = 1, ERR = 0, BREQ/PRG = 0, CMDNK = 1인 경우에는 주어진 컨트롤 커맨드의 실행이 불가능하다는 동작 상태를 나타내는 것으로 된다.
또한, INT 레지스터 내의 각 비트는 EX_SET_CMD_TPC 또는 SET_CMD_TPC에 의 해 새로운 컨트롤 커맨드가 세트된 때에는 그 값은 메모리 I/F 컨트롤러(16)에 의해 초기 상태(모든 비트 값이 0인 상태)로 된다.
·INT 레지스터와 INT 신호와의 관계
여기서, 상술한 바와 같이 상기 INT 레지스터 내의 각 비트(CED, ERR, BREQ/PRG, CMDNK)는 그 값이 INT 신호에 반영된다. 메모리 카드(1)의 병렬 인터페이스 회로(12)는 스테이트가 BS0인 때에, 상기 INT 레지스터의 각 비트의 값(CED, ERR, BREQ/PRG, CMDNK)에 응하여, 병렬 데이터(DATA[3 : 0])의 각 데이터 라인을 high 레벨 또는 low 레벨로 드라이브한다. INT 레지스터의 각 비트와, 병렬 데이터의 각 라인의 관계는 이하와 같다.
DATA0 : CED
DATA1 : ERR
DATA2 : BREQ/PRG
DATA3 : CMDNK
병렬 인터페이스 회로(12)는 스테이트가 BS0인 기간중에 항상 INT 레지스터 내의 값을 참조하고 있고, INT 레지스터 내의 비트의 값이 유효(1)이면 대응하는 데이터 라인이 high 레벨(1)로 드라이브하고, 무효이면 대응하는 데이터 라인을 low(0)로 드라이브한다. 호스트 기기(2)에서는 스테이트가 BS0인 기간 중에는 병렬 데이터(DATA[3 : O])의 각 데이터 라인의 레벨을 감시하고, 메모리 카드(1)로부터의 인터럽트 요구가 있는지의 여부를 판단한다. 호스트 기기(2)는 메모리 카드(1)로부터 인터럽트 요구가 있은 경우에는 즉, 어는 하나의 데이터 라인이 low 레벨로 부터 high 레벨로 변화하였다고 판단한 경우에는 어느 데이터 라인의 레벨이 high로 되어 있는지를 검출하고, 상술한 도 13에 도시한 동작 상태를 검출한다. 그리고, 호스트 기기(2)는 검출한 동작 상태에 응하여, 대응하는 처리를 행한다.
파라미터 레지스터군 내에는 도 14에 도시한 바와 같이, 시스템 파라미터 레지스터, 데이터 카운트/시큐러티 파라미터 레지스터, 데이터 어드레스/리비전 넘버 레지스터, TPC 파라미터 레지스터, 커맨드 파라미터 레지스터의 각 내부 레지스터가 마련되어 있다. 파라미터 레지스터군 내의 각 내부 레지스터는 호스트 기기(2)에 의해 격납하고 있는 값이 갱신되고, 메모리 I/F 컨트롤러(16)가 컨트롤 커맨드를 실행하는 때에, 그 값이 참조된다. 파라미터 레지스터군 내의 각 내부 레지스터는 호스트 기기(2)로부터는 WRITE_REG_TPC, EX_SET_CMD_TPC(TPC의 하나. 상세에 대하여는 후술한다)로 액세스가 가능하다. 또한, 파라미터 레지스터군 내의 각 내부 레지스터는 8비트분마다 어드레스가 설정되어 있다.
·데이터 카운트/시큐러티 파라미터 레지스터
데이터 카운트/시큐러티 파라미터 레지스터는 호스트 기기(2)로부터 메모리 카드(1)에 주어진 메모리 액세스 커맨드(컨트롤 커맨드)를 실행하는 때에 필요하게 되는 데이터 수가 격납된다. 예를 들면, 불휘발성 반도체 메모리(17)로부터 데이터를 판독할 때에 있어서의 판독 데이터의 데이터 사이즈, 불휘발성 반도체 메모리(17)에 대해 데이터를 기록할 때에 있어서의 기록 데이터의 데이터 사이즈 등이 설정된다. 또한, 데이터 어드레스/ 리비전 넘버 레지스터는 시큐러티 커맨드(컨트롤 커맨드)를 실행하는 때에 필요하게 되는 각종 설정치가 격납된다. 상기 데이터 어드레스/ 리비전 넘버 레지스터의 사이즈는 16비트이고, 8비트 단위로 2개의 어드레스가 설정되어 있다.
·데이터 어드레스/리비전 넘버 레지스터
데이터 어드레스/리비전 넘버 레지스터는 호스트 기기(2)로부터 메모리 카드(1)에 주어진 메모리 액세스 커맨드(컨트롤 커맨드)를 실행하는 때에 필요하게 되는 불휘발성 반도체 메모리(17)상의 어드레스가 격납된다. 예를 들면, 불휘발성 반도체 메모리(17)로부터 데이터를 판독하는 때에 있어서의 판독 위치의 선두 어드레스, 불휘발성 반도체 메모리(17)에 대해 데이터를 기록하는 때에 있어서의 기록 위치의 선두 어드레스 등이 설정된다. 또한, 데이터 카운트/시큐러티 파라미터 레지스터는 시큐러티 커맨드(컨트롤 커맨드)를 실행하는 때에 필요하게 되는 리비전 넘버가 격납된다. 상기 데이터 카운트/시큐러티 파라미터 레지스터의 사이즈는 32비트이고, 8비트 단위로 4개의 어드레스가 설정되어 있다.
또한, 데이터 카운트/시큐러티 파라미터 레지스터 및 데이터 어드레스/리비전 넘버 레지스터는 메모리 액세스 커맨드(컨트롤 커맨드)중의, READ_DATA, READ_INF0, WRITE_DATA, WRITE_INF0 등의 실행시에 참조되는 것으로 된다. 또한, 상기 데이터 카운트/시큐러티 파라미터 레지스터 및 데이터 어드레스/리비전 넘버 레지스터는 TPC의 중의 WRITE_REG_TPC, EX_SET_CMD_TPC에 의해 데이터가 기록되는 것으로 된다. 또한, 이들의 컨트롤 커맨드의 내용에 관해서는 상세를 후술한다.
레지스터 어드레스 레지스터는 호스트 기기(2)가 상기한 스테터스 레지스터군 및 파라미터 레지스터군에 대해 TPC를 이용하여 액세스하는 때에, 액세스하는 레지스터의 선두 어드레스 및 데이터 길이를 미리 설정을 하여 두는 레지스터이다.
상술한 스테터스 레지스터군 및 파라미터 레지스터군에 대해서는 WRITE_REG_TPC(TPC의 중의 하나, 상세는 후술한다)로 데이터의 기록이 가능하고, READ_REG_TPC(TPC 중의 하나. 상세는 후술한다)로 데이터의 판독이 가능하다. 그러나, 이들 WRITE_REG_TPC, READ_REG_TPC에는 레지스터 위치를 특정하는 정보가 인수(引數)로서 포함되지 않는다. 따라서, 호스트 기기(2)는 이들의 WRITE_REG_TPC, READ_REG_TPC를 이용하여 레지스터에 대해 액세스를 행하는 경우에는 미리, 상기 레지스터 어드레스 레지스터에 대해, 스테터스 레지스터군 및 파라미터 레지스터군의 어드레스 및 데이터 길이를 설정한다. 그리고, WRITE_REG_TPC, READ_REG_TPC가 주어진 경우, 메모리 I/F 컨트롤러(16)는 상기 레지스터 어드레스 레지스터에 격납되어 있는 정보를 참조하여, 각 커맨드에 대응하는 처리를 행하다. 또한, 상기 레지스터 어드레스 레지스터에 대해 레지스터 어드레스 및 데이터 길이를 격납하는 TPC는 SET_R_W_REG_ADRS_TPC(상세 후술)이다.
커맨드 레지스터는 호스트 기기(2)로부터 주어지는 컨트롤 커맨드를 격납하는 레지스터이다. 메모리 I/F 컨트롤러(16)는 상기 커맨드 레지스터에 격납된 컨트롤 커맨드에 응하여, 각종의 동작 제어를 행한다. 상기 커맨드 레지스터에 대해 컨트롤 커맨드를 격납하는 TPC는 SET_CMD_TPC, EX_SET_CMD_TPC(상세는 후술함)이다.
다음에, TPC(Transfer Protocol Co㎜and)에 관해 설명을 한다.
TPC는 본 메모리 카드(1) 및 호스트 기기(2)의 데이터 전송 프로토콜상에서 규정되어 있는 커맨드이다. TPC는 호스트 기기(2)가 메모리 카드(1) 내의 레지스터 회로(13) 및 데이터 버퍼 회로(14)에 대해 액세스를 하는 때에 이용된다. TPC는 버스 스테이트 신호가 BS1인 타이밍에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다. 이하, 상기 TPC의 코드 내용과, 그 구체적인 동작 내용에 관해 설명한다.
이하에, TPC의 한 예를 나타낸다.
READ_LONG_DATA_TPC
READ_SHORT_DATA_TPC
READ_REG_TPC
GET_INT_TPC
WRITE_LONG_DATA_TPC
WRlTE_SHORT_DATA_TPC
WRITE_REG_TPC
SET_R_W_REG_ADRS_TPC
SET_CMD_TPC
EX_SET_CMD_TPC
READ_LONG_DATA_TPC는 데이터 버퍼 회로(14)로부터 512바이트의 데이터를 판독하는 명령이다. 즉, 데이터 버퍼 회로(14) 내에 격납되어 있는 전 데이터를 호스트 기기(2)에 전송하는 명령이다. READ_LONG_DATA_TPC는 리드계의 명령이다. 즉, BS1에서 READ_LONG_DATA_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, BS3에서 데이터 버퍼 회로(14) 내의 512바이트분 데이터가 메모리 카드(1)로부터 호스트 기기(2)에 전송된다.
READ_SHORT_DATA_TPC는 TPC 파라미터 레지스터로 설정되어 있는 데이터 길이의 데이터를 데이터 버퍼 회로(14)로부터 판독하는 명령이다. 즉, 데이터 버퍼 회로(14) 내에 격납되어 있는 소정량의 데이터를 호스트 기기(2)에 전송하는 명령이다. READ_SHORT_DATA_TPC는 리드계의 명령이다. 즉, BS1에서 READ_SHORT_DATA_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, BS3에서 데이터 버퍼 회로(14) 내의 소정 바이트분 데이터가 메모리 카드(1)로부터 호스트 기기(2)에 전송된다.
READ_REG_TPC는 어드레스가 설정되어 있는 레지스터의 값을 판독하는 명령이다. 어드레스가 설정되어 있는 레지스터는 스테터스 레지스터군, 파라미터 레지스터군 및 엑스트라 레지스터군의 각 내부 레지스터이다. 판독되는 레지스터의 어드레스 위치(선두 어드레스 및 데이터 길이)는 레지스터 어드레스 레지스터에 격납되어 있는 값이다. 즉, 레지스터 내의 값을 참조하는 경우에는 미리 레지스터 어드레스 레지스터에 대해 목적하는 어드레스 위치를 기록하여 둘 필요가 있다. 상기 레지스터 어드레스 레지스터에 어드레스 위치를 기록하는 TPC는 SET_R_W_REG_ADRS_TPC이다. READ_REG_TPC는 리드계의 명령이다. 즉, BS1에서 READ_REG_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, 목적하는 레지스터 내의 소정 비트분 데이터가 BS3에서 메모리 카드(1)로부터 호스트 기기(2)에 전송된다.
GET_INT_TPC는 스테터스 레지스터선의 내부 레지스터인 INT 레지스터의 값(8비트분의 값)을 판독하는 명령이다. 상기 GET_INT_TPC는 상기한 READ_ REG_TPC와 같이 레지스터 어드레스 레지스터에 대해 어드레스 위치를 격납하는 일 없이 INT 레지스터의 값을 판독한다. GET_INT_TPC는 리드계의 명령이다. 즉, BS1에서 GET_INT_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, BS3에서 INT 레지스터 내의 8비트분 데이터가 메모리 카드(1)로부터 호스트 기기(2)에 전송된다.
WRITE_LONG_DATA_TPC는 데이터 버퍼 회로(14)에 대해 512바이트의 데이터를 기록하는 명령이다. 즉, 데이터 버퍼 회로(14)의 전 데이터를 호스트 기기(2)로부터 데이터 버퍼 회로(14)에 전송하는 명령이다. WRITE_LONG_DATA_TPC는 라이트계의 명령이다. 즉, BS1에서 WRITE_LONG_DATA_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, 데이터 버퍼 회로(14)에 기록한 512바이트분 데이터가 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
WRITE_SHORT_DATA_TPC는 TPC 파라미터 레지스터로 설정되어 있는 데이터 길이의 데이터를 데이터 버퍼 회로(14)에 대해 기록하는 명령이다. 즉, 소정량의 데이터를 호스트 기기(2)로부터 데이터 버퍼 회로(14) 내에 전송하는 명령이다. WRITE_SHORT_DATA_TPC는 라이트계의 명령이다. 즉, BS1에서 WRITE_SHORT_DATA_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, 데이터 버퍼 회로(14)에 기록하는 소정 바이트분 데이터가 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
WRITE_REG_TPC는 어드레스가 설정되어 있는 레지스터의 값을 기록하는 명령이다. 어드레스가 설정되어 있는 레지스터는 스테터스 레지스터군, 파라미터 레지스터군 및 엑스트라 레지스터군의 각 내부 레지스터인데, 호스트 기기(2)에 의해 기록 가능한 것은 파라미터 레지스터군 및 엑스트라 레지스터군이다. 기록하는 레지스터의 어드레스 위치(선두 어드레스 및 데이터 길이)는 레지스터 어드레스 레지스터에 격납되어 있는 값이다. 즉, 레지스터 내에 대해 값을 기록하는 경우에는 미리 레지스터 어드레스 레지스터에 대해 목적하는 어드레스 위치를 기록하여 둘 필요가 있다. 상기 레지스터 어드레스 레지스터에 어드레스 위치를 기록하는 TPC는 SET_R_W_REG_ADRS_TPC이다. WRITE_REG_TPC는 라이트계의 명령이다. 즉, BS1에서 WRITE_REG_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, 목적하는 레지스터 내에 기록하는 데이터가 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
SET_R_W_REG_ADRS_TPC는 READ_REG_TPC, WRITE_REG_TPC로 액세스하는 레지스터의 어드레스 위치를 레지스터 어드레스 레지스터에 격납하는 명령이다. SET_R_W_REG_ADRS_TPC는 라이트계의 명령이다. 즉, BS1에서 SET_R_W_REG_ADRS_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, 레지스터 어드레스 레지스터에 기록하는 데이터가 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
SET_CMD_TPC는 메모리 I/F 컨트롤러(16)에 대한 동작 명령인 컨트롤 커맨드를 커맨드 레지스터에 격납하는 명령이다. SET_CMD_TPC에 의해 커맨드 레지스터 내에 컨트롤 커맨드가 격납되면, 메모리 I/F 컨트롤러(16)는 상기 컨트롤 커맨드에 따른 동작 제어를 행한다. 동작 내용으로서는 예를 들면, 메모리에 대한 동작 제어, 메모리 이외의 각 기능에 대한 동작 또는 데이터의 시큐러티에 관한 동작 등이다. 또한, 컨트롤 커맨드의 동작 내용에 따라서는 파라미터 레지스터 내에 격납되어 있는 값을 참조하여, 동작이 행하여지는 경우가 있다. 상기 경우에는 SET_CMD_TPC를 발행하기 전의 패킷으로 미리 상기한 WRITE_REG_TPC를 이용하여, 파라미터 레지스터군내의 소정의 내부 레지스터에 대해 값을 기록하여 둘 필요가 있다. SET_CMD_TPC는 라이트계의 명령이다. 즉, BS1에서 SET_CMD_TPC가 호스트 기기(2)로부터 메모리 카드(1)에 발행되면, 커맨드 레지스터에 기록되는 컨트롤 커맨드의 코드가 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
EX_SET_CMD_TPC는 데이터 카운트/시큐러티 파라미터 레지스터 및 데이터 어드레스/리비전 넘버 레지스터에 대해 데이터를 격납하는 동시에, 커맨드 레지스터에 대해 컨트롤 커맨드를 격납하는 명령이다. EX_SET_CMD_TPC에 의해 컨트롤 커맨드로서 메모리 액세스 커맨드가 전송된 경우에는 데이터 카운트/시큐러티 파라미터 레지스터에는 불휘발성 반도체 메모리(17)에 대해 액세스하는 데이터의 데이터량이 격납되고, 데이터 어드레스/리비전 넘버 레지스터에는 불휘발성 반도체 메모리(17)의 데이터 어드레스가 격납되는 것으로 된다. 또한, EX_SET_CMD_TPC에 의해 컨트롤 커맨드로서 시큐러티 커맨드가 전송되는 경우에는 데이터 카운트/시큐러티 파라미터 레지스터에는 시큐러티 관리용의 파라미터가 격납되고, 데이터 어드레스/리비전 넘버 레지스터에는 시큐러티 관리용의 리비전 넘버가 격납되는 것으로 된다. 상기 EX_SET_CMD_TPC에 의해 컨트롤 커맨드를 전송한 경우에는 메모리 I/F 컨트롤러(16)가 그 컨트롤 커맨드를 실행하기 전에, 데이터 카운트/시큐러티 파라미터 레지스터 및 데이터 어드레스/리비전 넘버 레지스터에 대해 전송 데이터가 격납된다.
EX_SET_CMD_TPC는 라이트계의 명령이다. 즉, BS1에서 EX_SET_CMD_TPC가 호스 트 기기(2)로부터 메모리 카드(1)에 발행되면, 컨트롤 커맨드의 코드 등이 BS2에서 호스트 기기(2)로부터 메모리 카드(1)에 전송된다.
여기서, EX_SET_CMD_TPC와 동일한 데이터 전송 동작은 SET_CMD_TPC를 이용해서도 실현할 수 있다. 그러나, 파라미터 레지스터군 내의 내부 레지스터에 격납되어 있는 값을 참조하여 동작 제어를 하는 컨트롤 커맨드를 전송하는 경우, 예를 들면, READ_DATA, READ_INF0, WRITE_DATA, WRITE_INF0 등의 컨트롤 커맨드를 전송하는 경우, 그 참조되는 데이터를 미리 파라미터 레지스터에 전송하여 두어야 한다. 즉, SET_CMD_TPC를 실행하기 전에, SET_R_W_REG_ADRS_TPC 및 WRITE_REG_TPC를 전송하여 두어야 한다.
이에 대해, EX_SETCMD_TPC를 이용한 경우에는 미리 WRITE_REG_TPC를 이용하여 데이터 카운트/시큐러티 파라미터 레지스터 및 데이터 어드레스/리비전 넘버 레지스터에 데이터를 격납하지 않아도 좋다. 즉, SET_CMD_TPC를 이용하면 3패킷 필요하게 되는 데이터 전송 동작을 EX_SET_CMD_TPC라면 1패킷만으로 실현할 수 있다.
따라서, EX_SET_CMD_TPC를 이용하여 컨트롤 커맨드를 전송하면, SET_R_W_REG_ADRS_PTC 및 WRITE_REG_TPC를 전송하는 패킷 시퀀스를 실행하지 않아도 좋고, 처리의 고속화를 도모할 수 있다.
도 15에, SET_CMD_TPC를 실행한 경우의 호스트 기기(2)로부터 메모리 카드(1)에 전송하는 구체적인 전송 데이터 예를 도시한다. 도 16에, EX_SET_CMD_TPC를 실행한 경우의 호스트 기기(2)로부터 메모리 카드(1)에 전송하는 구체적인 전송 데이터 예를 도시한다. 상기 도 15 및 도 16에 도시한 전송 데이터 는 BS2시에 전송된 것으로 된다.
SET_CMD_TPC를 실행한 경우의 전송 데이터는 1바이트의 커맨드 코드와, 2바이트의 CRC로 된다. 1바이트의 커맨드 코드는 메모리 I/F 컨트롤러(16)에 대해 실행시키는 컨트롤 커맨드를 특정하는 코드이다. 커맨드 코드는 커맨드 레지스터에 격납된다.
EX_SET_CMD_TPC를 실행한 경우의 전송 데이터는 1바이트의 커맨드 코드와, 2바이트의 카운트/시큐러티 파라미터 데이터와, 2바이트의 어드레스/리비전 넘버 데이터와, 2바이트의 CRC로 된다. 카운트/시큐러티 파라미터 데이터는 데이터 카운트/시큐러티 파라미터 레지스터에 격납되는 데이터이다. 어드레스/리비전 넘버 데이터는 데이터 어드레스/리비전 넘버 레지스터에 격납되는 데이터이다.
도 15 및 도 16에 도시한 바와 같이, SET_CMD_TPC의 전송 데이터는 EX_SET_CMD_TPC의 전송 데이터의 쪽이 데이터 길이가 길어진다. 따라서, 호스트 기기(2)는 데이터 카운트/시큐러티 파라미터 레지스터 및 데이터 어드레스/리비전 넘버 레지스터를 참조하지 않고 실행할 수 있는 커맨드 코드를 전송하는 경우에는 EX_SET_CMD_TPC가 아니라, SET_CMD_TPC를 이용한 쪽이 보다 짧은 패킷으로 된다. 따라서, TPC의 커맨드 세트로서, SET_CMD_TPC와 EX_SET_CMD_TPC를 설정하여 두고, 전송하는 컨트롤 커맨드에 응하여 적응적으로 선택함으로써, 보다 처리를 고속화할 수 있다.
다음에, 컨트롤 커맨드에 관해 설명을 한다.
컨트롤 커맨드는 호스트 기기(2)로부터, 메모리 카드(1)의 메모리 I/F 컨트 롤러(16)에 대해 주어지는 동작 제어 명령이다. 컨트롤 커맨드는 호스트 기기(2)로부터 TPC의 SET_CMD_TPC 또는 EX_SET_CMD_TPC에 의해 메모리 카드(1) 내의 커맨드 레지스터에 격납된다. 메모리 I/F 컨트롤러(16)는 커맨드 레지스터 내에 컨트롤 커맨드가 격납되면, 그 컨트롤 커맨드에 대응한 동작 제어를 실행한다. 그리고, 그 동작 제어의 실행과 함께 INT 레지스터 내의 각 값을 적절히 갱신한다.
컨트롤 커맨드는 메모리 액세스 커맨드, 펑션 커맨드 및 시큐러티 커맨드의 3가지 종류로 분류된다. 메모리 액세스 커맨드는 메모리 카드(1)상의 불휘발성 반도체 메모리(17)에 대해 액세스를 행하는 커맨드이다. 펑션 커맨드는 메모리 카드(1)상의 각 펑션에 대해 액세스를 행하는 커맨드이다. 시큐러티 커맨드는 저작권 보호에 필요한 시큐러티 기능을 실현하기 위하는 커맨드이다.
메모리 액세스 커맨드에는 예를 들면, 불휘발성 반도체 메모리(17)로부터 데이터 버퍼 회로(14)에 데이터를 판독하는 커맨드, 데이터 버퍼 회로(14)로부터 불휘발성 반도체 메모리(17)에 데이터를 기록하는 커맨드, 불휘발성 반도체 메모리(17)상의 데이터를 소거하는 커맨드 등이 있다.
펑션 커맨드에는 예를 들면, 본 메모리 카드(1)를 공장 출하 상태로 되돌리는 포맷 커맨드나 메모리 카드(1)의 발진기(18)의 동작을 정지시키는 슬리프 커맨드 등이 있다.
시큐러티 커맨드에는 예를 들면, 본 메모리 카드(1)의 고유의 ID를 판독하는 커맨드, 컨텐츠 키에 관련되어 있는 키에 대한 조작을 행하는 커맨드, 난수를 발생하는 커맨드 등이 있다.
여기서는 메모리 액세스 커맨드의 한 예를 도 17에 도시한다.
메모리 액세스 커맨드에는 도 17에 도시한 바와 같이, READ_DATA, WRITE_DATA, READ_INF0, WRITE_INFO, READ_ATRB, STOP, ERASE 등이 있다.
READ_DATA는 불휘발성 반도체 메모리(17)의 유저 에어리어의 지정 어드레스로부터 데이터를 연속적으로 판독하여 가는 명령이다. 메모리 I/F 컨트롤러(16)는 상기 READ_DATA가 주어지면, 데이터 어드레스/리비전 넘버 레지스터에 격납되어 있는 어드레스를 참조하여, 불휘발성 반도체 메모리(17)상의 상기 어드레스에 대해 액세스를 행하고, 상기 어드레스로부터 데이터를 판독하여 간다. 판독한 데이터는 일단 데이터 버퍼 회로(14)에 전송한다. 메모리 I/F 컨트롤러(16)는 데이터 버퍼 회로(14)의 한도가 차면, 즉, 512바이트분 데이터를 판독하면, INT 레지스터의 BREQ/PRG 비트를 유효(1)로 하고, 호스트 기기(2)에 대해 전송 요구의 인터럽트를 발행한다. 그리고, 호스트 기기(2)에 의해 데이터 버퍼 회로(14) 내의 데이터가 판독되면, 계속해서 데이터를 불휘발성 반도체 메모리(17)로부터 데이터 버퍼 회로(14)에 전송하여 간다. 메모리 I/F 컨트롤러(16)는 데이터 카운트/시큐러티 파라미터 레지스터에 격납되어 있는 데이터 수만큼 데이터를 판독할 때까지, 이상의 처리를 반복한다. 그리고, 에러가 발생하지 않고 최후까지 데이터를 판독하면, INT 레지스터의 CMD 비트를 유효(1)로 하고, 처리를 종료한다. 또한, 처리의 도중에 에러가 발생한 경우에는 INT 레지스터의 CMD 비트를 유효(1)로 함과 함께, ERR 비트를 유효(1)로 하고 처리를 종료한다.
WRITE_DATA는 데이터 버퍼 회로(14)에 격납되어 있는 데이터를 불휘발성 반 도체 메모리(17)의 유저 에어리어의 지정 어드레스로부터 데이터를 연속적으로 기록하여 가는 명령이다. 메모리 I/F 컨트롤러(16)는 WRITE_DATA가 주어지면, 데이터 어드레스/리비전 넘버 레지스터에 격납되어 있는 어드레스를 참조하여, 불휘발성 반도체 메모리(17)상의 상기 어드레스에 대해 액세스를 행하고, 상기 어드레스로부터 데이터를 기록하여 간다. 기록하는 데이터는 데이터 버퍼 회로(14)에 격납되어 있는 데이터이다. 메모리 I/F 컨트롤러(16)는 데이터 버퍼 회로(14) 속이 비어있게 되면, 즉, 512바이트분 데이터를 기록하면, INT 레지스터의 BREQ/PRG 비트를 유효(1)로 하고, 호스트 기기(2)에 대해 전송 요구의 인터럽트를 발행한다. 그리고, 호스트 기기(2)에 의해 데이터 버퍼 회로(14) 내에 데이터가 기록되면, 계속해서 데이터를 데이터 버퍼 회로(14)로부터 불휘발성 반도체 메모리(17)에 기록하여 간다. 메모리 l/F 컨트롤러(16)는 데이터 카운트/시큐러티 파라미터 레지스터에 격납되어 있는 데이터 수만큼 데이터를 기록할 때까지, 이상의 처리를 반복한다. 그리고, 에러가 발생하지 않고 데이터를 최후까지 기록하면, INT 레지스터의 CMD 비트를 유효(1)로 하고, 처리를 종료한다. 또한, 처리의 도중에 에러가 발생한 경우에는 INT 레지스터의 CMD 비트를 유효(1)로 함과 함께, ERR 비트를 유효(1)로 하고 처리를 종료한다.
READ_INF0은 불휘발성 반도체 메모리(17)의 시스템 에어리어의 인포메이션 북 에리어의 지정 어드레스로부터 데이터를 연속적으로 판독하여 가는 명령이다. 메모리 I/F 컨트롤러(16)의 처리 순서는 READ_DATA와 동일하다.
WRITE_INF0는 불휘발성 반도체 메모리(17)의 시스템 에어리어의 인포메이션 북 에리어의 지정 어드레스에 대해 데이터를 연속적으로 기록하여 가는 명령이다. 메모리 I/F 컨트롤러(16)의 처리 순서는 WRITE_DATA와 동일하다.
READ_ATRB는 불휘발성 반도체 메모리(17)로부터 애트리뷰트 정보를 판독하는 명령이다. 메모리 I/F 컨트롤러(16)는 상기 READ_ATRB가 주어지면, 불휘발성 반도체 메모리(17) 내의 애트리뷰트 정보를 판독하고, 데이터 버퍼 회로(14)에 전송한다.
STOP은 READ_DATA, WRITE_DATA, READ_INF0, WRTTE_INF0, READ_ATRB의 처리의 실행을 도중에 종료하는 명령이다. 메모리 I/F 컨트롤러(16)는 STOP이 주어지면, READ_DATA, WRITE_DATA, READ_INF0, WRJTE_INF0, READ_ATRB의 실행 처리를 정지한다.
ERASE는 유저 에어리어의 지정 어드레스로부터 데이터를 소거하는 명령이다. 메모리 I/F 컨트롤러(16)는 ERASE가 주어지면, 데이터 어드레스/리비전 넘버 레지스터에 격납되어 있는 어드레스를 참조하여, 상기 어드레스에 나타내여진 격납 위치로부터, 데이터 카운트/시큐러티 파라미터 레지스터에 격납되어 있는 데이터 수만큼, 불휘발성 반도체 메모리(17)상의 데이터를 소거한다.
이상 본 발명을 적용한 리무벌하는 메모리 카드 및, 상기 메모리 카드를 외부 기억 미디어로서 이용하는 호스트 기기에 관해 설명을 하였다. 본 발명은 이와 같은 메모리 카드에 적용하는 것에 한정되는 것이 아니다. 예를 들면, 본 발명을 호스트 기기의 외부 접속 장치로서, 카메라 장치를 적용하여도 좋다. 상기 경우, 메모리 I/F 컨트롤러(16)는 카메라 장치의 동작 제어를 행하는 것으로 되고, 또한, 컨트롤 커맨드에도, 카메라 제어용의 커맨드가 세트되는 것으로 된다.
또한, 본 발명은 도면을 참조하여 설명한 상술한 실시예에 한정되는 것이 아니고, 첨부한 청구의 범위 및 그 주지를 일탈하는 일 없이, 다양한 변경, 치환 또는 그 동등하는 것을 행할 수가 있음은 당업자에 있어서 분명하다.
본 발명에 관한 외부 접속 기기 및 호스트 기기에서는 버스 스테이트 신호의 스테이트가 외부 접속 기기로부터 호스트 기기의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 호스트 기기로부터 외부 접속 기기의 컨트롤러에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 외부 접속 기기로부터 호스트 기기에 주는 인터럽트 신호로서, 데이터 버스를 통하여 전송하기 때문에, 인터럽트 신호를 참조함으로써, 외해 접속 기기의 발생하고 있는 인터럽트 요인을 호스트 기기가 판단할 수 있다. 그 때문에, 호스트 기기는 인터럽트 신호를 수신한 후에 외부 접속 기기와 통신하여 인터럽트 요인을 확인하는 일 없이, 곧바로 그 인터럽트 요인에 응한 대응을 행하는 것이 가능하게 된다. 따라서 본 발명에 관한 외부 접속 기기 및 호스트 기기에서는 외부 접속 기기측에 인터럽트 요구가 있은 경우에 데이터 전송 시퀀스를 단축할 수 있다.

Claims (28)

  1. 호스트 기기에 접속되는 외부 접속 기기에 있어서,
    상기 호스트 기기와의 사이에서 데이터 버스를 통하여 전송 데이터의 쌍방향 통신을 행하는 데이터 통신 수단과,
    상기 데이터 버스의 스테이트를 나타내는 버스 스테이트 신호를 상기 호스트 기기로부터 수신하는 버스 스테이트 신호 수신 수단과,
    상기 전송 데이터에 포함되는 동작 제어 커맨드에 응하여 상기 외부 접속 기기의 동작 제어를 하는 컨트롤러를 구비하고,
    상기 데이터 통신 수단은 상기 버스 스테이트 신호의 스테이트가 상기 외부 접속 기기로부터 상기 호스트 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 상기 호스트 기기로부터 상기 컨트롤러에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 상기 데이터 버스를 통하여 상기 호스트 기기에 송신하고,
    상기 데이터 통신 수단은 인터럽트 요인의 내용을 나타내는 정보로서, 상기 호스트 기기로부터 상기 컨트롤러에 주어진 동작 제어 커맨드에 의거하여 동작 제어한 때의 상기 외부 접속 기기의 동작 상태를 나타내는 동작 상태 정보를 상기 데이터 버스를 통하여 상기 호스트 기기에 송신하는 것을 특징으로 하는 외부 접속 기기.
  2. 삭제
  3. 제 1항에 있어서,
    상기 동작 상태 정보가 격납된 레지스터를 구비하고,
    상기 컨트롤러는 상기 호스트 기기로부터 주어진 상기 동작 제어 커맨드를 실행하고, 상기 실행에 의한 상기 외부 접속 기기의 동작 상태에 의거하여 상기 레지스터 내의 동작 상태 정보를 갱신하고,
    상기 데이터 통신 수단은 상기 버스 스테이트 신호의 스테이트가 상기 외부 접속 기기로부터 상기 호스트 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 상기 레지스터에 격납되어 있는 상기 동작 상태 정보를 상기 데이터 버스를 통하여 상기 호스트 기기에 송신하는 것을 특징으로 하는 외부 접속 기기.
  4. 제 3항에 있어서,
    상기 동작 상태 정보에는 상기 동작 제어 커맨드의 실행이 종료된 동작 상태를 나타내는 1비트의 정보(CED 비트)와, 상기 동작 제어 커맨드의 실행이 에러로 된 동작 상태를 나타내는 1비트의 정보(ERR 비트)와, 상기 동작 제어 커맨드를 실행한 결과 상기 호스트 기기로부터 상기 외부 접속 기기로의 액세스를 접수하는 동작 상태를 나타내는 1비트의 정보(BREQ/PRG 비트)와, 상기 동작 제어 커맨드의 실행이 불가능한 동작 상태를 나타내는 1비트의 정보(CM DNK 비트)를 포함하고 있는 것을 특징으로 하는 외부 접속 기기.
  5. 제 4항에 있어서,
    상기 데이터 버스는 적어도 4비트의 병렬 데이터를 전송하고,
    상기 데이터 통신 수단은 상기 CED 비트, 상기 ERR 비트, 상기 BREQ/PRG 비트 및 상기 CMDNK 비트를 4비트의 병렬 데이터로서 상기 데이터 버스를 통하여 상기 호스트 기기에 송신하는 것을 특징으로 하는 외부 접속 기기.
  6. 제 5항에 있어서,
    상기 데이터 통신 수단은 상기 호스트 기기로부터 주어지는 상기 데이터 버스의 전송 클록과 비동기로, 상기 CED 비트, 상기 ERR 비트, 상기 BREQ/PRG 비트 및 상기 CMDNK 비트를 전송하는 것을 특징으로 하는 외부 접속 기기.
  7. 제 5항에 있어서,
    상기 컨트롤러는 상기 동작 제어 커맨드의 실행이 정상적으로 종료한 때에는 CED 비트를 유효, ERR 비트를 무효, BREQ/PRG 비트를 무효, CMDNK 비트를 무효로 하는 것을 특징으로 하는 외부 접속 기기.
  8. 제 5항에 있어서,
    상기 컨트롤러는 상기 동작 제어 커맨드의 실행에 에러가 발생한 때에는 CED 비트를 유효, ERR 비트를 유효, BREQ/PRG 비트를 무효, CMDNK 비트를 무효로 하는 것을 특징으로 하는 외부 접속 기기.
  9. 제 5항에 있어서,
    상기 컨트롤러는 상기 동작 제어 커맨드의 실행이 정상적으로 행하여지고, 또한, 상기 호스트 기기로부터 상기 외부 접속 기기로의 액세스를 접수하는 때에는 CED 비트를 무효, ERR 비트를 무효, BREQ/PRG 비트를 유효, CMDNK 비트를 무효로 하는 것을 특징으로 하는 외부 접속 기기.
  10. 제 5항에 있어서,
    상기 컨트롤러는 상기 동작 제어 커맨드의 실행에 에러가 생기고 있고, 또한, 상기 호스트 기기로부터 상기 외부 접속 기기로의 액세스를 접수하는 때에는 CED 비트를 무효, ERR 비트를 유효, BREQ/PRG 비트를 유효, CMDNK 비트를 무효로 하는 것을 특징으로 하는 외부 접속 기기.
  11. 제 5항에 있어서,
    상기 컨트롤러는 상기 동작 제어 커맨드의 실행중인 때에는 CED 비트를 무효, ERR 비트를 무효, BREQ/PRG 비트를 무효, CMDNK 비트를 무효로 하는 것을 특징으로 하는 외부 접속 기기.
  12. 제 5항에 있어서,
    상기 컨트롤러는 상기 동작 제어 커맨드의 실행이 불가능한 때에는 CED 비트 를 유효, ERR 비트를 무효, BREQ/PRG 비트를 무효, CMDNK 비트를 유효로 하는 것을 특징으로 하는 외부 접속 기기.
  13. 제 1항에 있어서,
    외관 형상이 카드형인 것을 특징으로 하는 외부 접속 기기.
  14. 외부 접속 기기가 접속되는 호스트 기기에 있어서,
    상기 외부 접속 기기와의 사이에서 데이터 버스를 통하여 전송 데이터의 쌍방향 통신을 행하는 데이터 통신 수단과,
    상기 데이터 버스의 스테이트를 나타내는 버스 스테이트 신호를 상기 외부 접속 기기에 송신하는 버스 스테이트 신호 송신 수단과,
    상기 외부 접속 기기의 동작 제어를 하는 제어 커맨드를 상기 전송 데이터에 포함하여 발행하는 컨트롤러를 구비하고,
    상기 데이터 통신 수단은 상기 버스 스테이트 신호의 스테이트가 상기 외부 접속 기기로부터 상기 호스트 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 상기 호스트 기기로부터 상기 외부 접속 기기에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 상기 데이터 버스를 통하여 상기 외부 접속 기기로부터 수신하고,
    상기 데이터 통신 수단은 인터럽트 요인의 내용을 나타내는 정보로서, 상기 호스트 기기로부터 상기 컨트롤러에 주어진 동작 제어 커맨드에 의거하여 동작 제어한 때의 상기 호스트 기기의 동작 상태를 나타내는 동작 상태 정보를 상기 데이터 버스를 통하여 상기 외부 접속 기기로부터 수신하는 것을 특징으로 하는 호스트 기기.
  15. 삭제
  16. 제 14항에 있어서,
    상기 동작 상태 정보에는 상기 동작 제어 커맨드의 실행이 종료된 동작 상태를 나타내는 1비트의 정보(CED 비트)와, 상기 동작 제어 커맨드의 실행이 에러로 된 동작 상태를 나타내는 1비트의 정보(ERR 비트)와, 상기 동작 제어 커맨드를 실행한 결과 상기 호스트 기기로부터 상기 외부 접속 기기로의 액세스를 액세스를 접수하는 동작 상태를 나타내는 1비트의 정보(BREQ/PRG 비트)와, 상기 동작 제어 커맨드의 실행이 불가능한 동작 상태를 나타내는 1비트의 정보(CMDNK 비트)가 포함되어 있는 것을 특징으로 하는 호스트 기기.
  17. 제 16항에 있어서,
    상기 데이터 버스는 적어도 4비트의 병렬 데이터를 전송하고,
    상기 데이터 통신 수단은 상기 CED 비트, 상기 ERR 비트, 상기 BREQ/PRG 비트 및 상기 CMDNK 비트를 4비트의 병렬 데이터로서 상기 데이터 버스를 통하여 상기 외부 접속 기기로부터 수신하는 것을 특징으로 하는 호스트 기기.
  18. 제 17항에 있어서,
    상기 데이터 통신 수단은 상기 호스트 기기로부터 상기 외부 접속 기기에 주는 상기 데이터 버스의 전송 클록과 비동기로, 상기 CED 비트, 상기 ERR 비트, 상기 BREQ/PRG 비트 및 상기 CMDNK 비트를 수신하는 것을 특징으로 하는 호스트 기기.
  19. 제 17항에 있어서,
    상기 컨트롤러는 CED 비트가 유효, ERR 비트가 무효, BREQ/PRG 비트가 무효, CMDNK 비트가 무효인 때에는 상기 동작 제어 커맨드의 실행이 정상적으로 종료하였다고 판단하는 것을 특징으로 하는 호스트 기기.
  20. 제 17항에 있어서,
    상기 컨트롤러는 CED 비트가 유효, ERR 비트가 유효, BREQ/PRG 비트가 무효, CMDNK 비트가 무효인 때에는 상기 동작 제어 커맨드의 실행에 에러가 발생하였다고 판단하는 것을 특징으로 하는 호스트 기기.
  21. 제 17항에 있어서,
    상기 컨트롤러는 CED 비트가 무효, ERR 비트가 무효, BREQ/PRG 비트가 유효, CMDNK 비트가 무효인 때에는 상기 동작 제어 커맨드의 실행이 정상적으로 행하여지고, 또한, 상기 호스트 기기로부터 상기 외부 접속 기기로의 액세스를 접수하고 있다고 판단하는 것을 특징으로 하는 호스트 기기.
  22. 제 17항에 있어서,
    상기 컨트롤러는 CED 비트가 무효, ERR 비트가 유효, BREQ/PRG 비트가 유효, CMDNK 비트가 무효인 때에는 상기 동작 제어 커맨드의 실행에 에러가 생기고 있고, 또한, 상기 호스트 기기로부터 외부 접속 기기로의 액세스를 접수하고 있다고 판단하는 것을 특징으로 하는 호스트 기기.
  23. 제 17항에 있어서,
    상기 컨트롤러는 CED 비트가 무효, ERR 비트가 무효, BREQ/PRG 비트가 무효, CMDNK 비트가 무효인 때에는 상기 동작 제어 커맨드의 실행중인 때라고 판단하는 것을 특징으로 하는 호스트 기기.
  24. 제 17항에 있어서,
    상기 컨트롤러는 CED 비트가 유효, ERR 비트가 무효, BREQ/PRG 비트가 무효, CMDNK 비트가 유효한 때에는 상기 동작 제어 커맨드의 실행이 불가능하다고 판단 하는 것을 특징으로 하는 호스트 기기.
  25. 제 14항에 있어서,
    상기 외부 접속 기기는 외관 형상이 카드형인 것을 특징으로 하는 호스트 기기.
  26. 호스트 기기와, 상기 호스트 기기에 접속되는 외부 접속 기기를 구비한 데이터 통신 시스템에 있어서,
    상기 호스트 기기는 상기 외부 접속 기기와의 사이에서 데이터 버스를 통하여 전송 데이터의 쌍방향 통신을 행하는 데이터 통신 수단과, 상기 데이터 버스의 스테이트를 나타내는 버스 스테이트 신호를 상기 외부 접속 기기에 송신하는 버스 스테이트 신호 송신 수단과, 상기 외부 접속 기기의 동작 제어를 하는 제어 커맨드를 상기 전송 데이터에 포함하여 발행하는 컨트롤러를 가지며,
    상기 외부 접속 기기는 상기 호스트 기기와의 사이에서 상기 데이터 버스를 통하여 전송 데이터의 쌍방향 통신을 행하는 데이터 통신 수단과, 상기 데이터 버스의 스테이트를 나타내는 상기 버스 스테이트 신호를 상기 호스트 기기로부터 수신하는 버스 스테이트 신호 수신 수단과, 상기 전송 데이터에 포함되는 동작 제어 커맨드에 응하여 상기 외부 접속 기기의 동작 제어를 하는 컨트롤러를 구비하고,
    상기 호스트 기기 및 상기 외부 접속 기기의 데이터 통신 수단은 상기 버스 스테이트 신호의 스테이트가 상기 외부 접속 기기로부터 상기 호스트 기기로의 인터럽트를 접수하는 스테이트로 되어 있는 때에, 상기 호스트 기기로부터 상기 외부 접속 기기에 주어진 동작 제어 커맨드에 의거하여 발생하는 인터럽트 요인의 내용을 나타내는 정보를 상기 데이터 버스를 통하여 상기 외부 접속 기기로부터 상기 호스트 기기에 송신하고,
    상기 호스트 기기 및 상기 외부 접속 기기의 데이터 통신 수단은 인터럽트 요인의 내용을 나타내는 정보로서, 호스트 기기로부터 외부 접속 기기에 주어진 동작 제어 커맨드에 의거하여 동작 제어한 때의 상기 외부 접속 기기의 동작 상태를 나타내는 동작 상태 정보를 상기 데이터 버스를 통하여 상기 외부 접속 기기로부터 상기 호스트 기기에 송신하는 것을 특징으로 하는 데이터 통신 시스템.
  27. 삭제
  28. 제 26항에 있어서,
    상기 외부 접속 기기는 외관 형상이 카드형인 것을 특징으로 하는 데이터 통신 시스템.
KR1020037013463A 2002-02-21 2003-02-19 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템 KR100987205B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002045252A JP4178809B2 (ja) 2002-02-21 2002-02-21 外部接続機器及びホスト機器
JPJP-P-2002-00045252 2002-02-21
PCT/JP2003/001800 WO2003071437A1 (fr) 2002-02-21 2003-02-19 Dispositif de connexion externe, dispositif hote et systeme de communication de donnees

Publications (2)

Publication Number Publication Date
KR20040086502A KR20040086502A (ko) 2004-10-11
KR100987205B1 true KR100987205B1 (ko) 2010-10-12

Family

ID=27750574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037013463A KR100987205B1 (ko) 2002-02-21 2003-02-19 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템

Country Status (7)

Country Link
US (2) US7051128B2 (ko)
EP (1) EP1477902B1 (ko)
JP (1) JP4178809B2 (ko)
KR (1) KR100987205B1 (ko)
CN (1) CN1297915C (ko)
DE (1) DE60317771T2 (ko)
WO (1) WO2003071437A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
EP1733555A4 (en) * 2004-02-23 2009-09-30 Lexar Media Inc SAFE COMPACT FLASH
US7664902B1 (en) * 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
KR100909364B1 (ko) 2007-02-06 2009-07-24 삼성전자주식회사 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
US7870305B2 (en) * 2007-03-09 2011-01-11 Microsoft Corporation Proxy association for devices
US8064205B2 (en) * 2008-05-19 2011-11-22 Dell Products, Lp Storage devices including different sets of contacts
US20100030962A1 (en) * 2008-08-04 2010-02-04 Sherif Sirageldin Storage facility for data handling devices
TW201145034A (en) * 2010-06-01 2011-12-16 Etron Technology Inc System of realizing multi-port storages based on a UASP protocol of a USB specification version 3.0 and method thereof
JP5673949B2 (ja) * 2011-03-18 2015-02-18 大日本印刷株式会社 内部状態に応じたフォーマット処理を実行できる半導体記憶装置及び半導体記憶装置のフォーマット処理方法
JP5694101B2 (ja) * 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
USD729808S1 (en) 2013-03-13 2015-05-19 Nagrastar Llc Smart card interface
USD759022S1 (en) 2013-03-13 2016-06-14 Nagrastar Llc Smart card interface
US9888283B2 (en) 2013-03-13 2018-02-06 Nagrastar Llc Systems and methods for performing transport I/O
US9647997B2 (en) 2013-03-13 2017-05-09 Nagrastar, Llc USB interface for performing transport I/O
USD758372S1 (en) 2013-03-13 2016-06-07 Nagrastar Llc Smart card interface
USD780763S1 (en) 2015-03-20 2017-03-07 Nagrastar Llc Smart card interface
USD864968S1 (en) 2015-04-30 2019-10-29 Echostar Technologies L.L.C. Smart card interface

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5614329A (en) 1979-07-16 1981-02-12 Nec Corp Data processing system
JP2001202254A (ja) * 2000-01-21 2001-07-27 Yaskawa Electric Corp マイクロプロセッサシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5416945A (en) * 1977-07-08 1979-02-07 Nippon Telegr & Teleph Corp <Ntt> Signal transmission system
US5805844A (en) * 1996-10-07 1998-09-08 Gustin; Jay W. Control circuit for an interface between a PCI bus and a module bus
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
IT1308343B1 (it) * 1999-02-03 2001-12-11 St Microelectronics Srl Procedimento per arbitrare priorita' di interruzione tra periferichein un sistema basato su microprocessore
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
JP2001265714A (ja) * 2000-01-13 2001-09-28 Sony Computer Entertainment Inc インターフェイス装置及びそれを備えた情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5614329A (en) 1979-07-16 1981-02-12 Nec Corp Data processing system
JP2001202254A (ja) * 2000-01-21 2001-07-27 Yaskawa Electric Corp マイクロプロセッサシステム

Also Published As

Publication number Publication date
DE60317771T2 (de) 2008-12-04
WO2003071437A1 (fr) 2003-08-28
JP4178809B2 (ja) 2008-11-12
US7318113B2 (en) 2008-01-08
US20040172488A1 (en) 2004-09-02
CN1297915C (zh) 2007-01-31
EP1477902B1 (en) 2007-11-28
US20060143312A1 (en) 2006-06-29
CN1507590A (zh) 2004-06-23
JP2003241908A (ja) 2003-08-29
EP1477902A1 (en) 2004-11-17
US7051128B2 (en) 2006-05-23
KR20040086502A (ko) 2004-10-11
EP1477902A4 (en) 2006-09-06
DE60317771D1 (de) 2008-01-10

Similar Documents

Publication Publication Date Title
KR100986884B1 (ko) 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템
US7318113B2 (en) System and method communication system for reading or writing data to register between external card connection device and host device
USRE50067E1 (en) Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US5812814A (en) Alternative flash EEPROM semiconductor memory system
US7177975B2 (en) Card system with erase tagging hierarchy and group based write protection
US7277973B2 (en) Interface apparatus
US6507881B1 (en) Method and system for programming a peripheral flash memory via an IDE bus
TWI735918B (zh) 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置
US5930818A (en) Information communication system which transmits main data and data for restoring the main data
US20060224821A1 (en) System for parallel updating flash memory and method for the same
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
CN101443739B (zh) 数据存储装置及其初始化方法
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
JPH03194644A (ja) 携帯可能電子装置
JP2005100446A (ja) 情報伝送システム及び情報伝送方法

Legal Events

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

Payment date: 20130927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee