KR101412524B1 - 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법 - Google Patents

메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법 Download PDF

Info

Publication number
KR101412524B1
KR101412524B1 KR1020080010253A KR20080010253A KR101412524B1 KR 101412524 B1 KR101412524 B1 KR 101412524B1 KR 1020080010253 A KR1020080010253 A KR 1020080010253A KR 20080010253 A KR20080010253 A KR 20080010253A KR 101412524 B1 KR101412524 B1 KR 101412524B1
Authority
KR
South Korea
Prior art keywords
card
memory card
memory
delete delete
command
Prior art date
Application number
KR1020080010253A
Other languages
English (en)
Other versions
KR20090084209A (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 삼성전자주식회사
Priority to KR1020080010253A priority Critical patent/KR101412524B1/ko
Priority to US12/353,403 priority patent/US8166230B2/en
Priority to TW098102549A priority patent/TWI438629B/zh
Publication of KR20090084209A publication Critical patent/KR20090084209A/ko
Priority to US13/421,964 priority patent/US8539143B2/en
Application granted granted Critical
Publication of KR101412524B1 publication Critical patent/KR101412524B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47KSANITARY EQUIPMENT NOT OTHERWISE PROVIDED FOR; TOILET ACCESSORIES
    • A47K1/00Wash-stands; Appurtenances therefor
    • A47K1/08Accessories for toilet tables, e.g. glass plates, supports therefor
    • A47K1/09Holders for drinking glasses, tooth brushes, hair brushes, or the like
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47KSANITARY EQUIPMENT NOT OTHERWISE PROVIDED FOR; TOILET ACCESSORIES
    • A47K5/00Holders or dispensers for soap, toothpaste, or the like
    • A47K5/18Holders or dispensers for soap, toothpaste, or the like for both soap and toothpaste or the like; in combination with holders for drinking glasses, toothbrushes, or the like ; Toothpaste dispensers; Dental care centers
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B47/00Suction cups for attaching purposes; Equivalent means using adhesives

Abstract

본 발명에 따른 복수의 메모리 카드들을 갖는 메모리 카드 시스템의 카드 인식 방법은: 디폴트 상대 카드 어드레스 값을 변경하도록 하는 명령을 전송받는 단계; 및 상기 전송된 명령이 수용 가능한 지 판별되면, 상기 디폴트 상대 카드 어드레스 값을 변경하는 단계를 포함한다.
Figure R1020080010253
메모리 카드, 인식, 체인, RCA

Description

메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식 방법{MEMORY CARD SYSTEM AND IDENTIFICATION METHOD THEREOF}
본 발명은 메모리 카드 시스템에 관한 것으로, 좀 더 구체적으로 메모리 카드 시스템 및 그것의 카드 인식 방법에 관한 것이다.
디지털 카메라, MP3 플레이어, 휴대전화기, 개인정보단말기(PDA) 등과 같은 휴대용 디지털 기기의 보급이 확산되면서, 멀티미디어 카드(MultiMedia Card, 이하 MMC 카드라 칭함), SD 카드(Secure Digital Card) 등과 같은 메모리 카드의 수요가 부쩍 증가하고 있다. 메모리 카드란 우표 정도 크기의 저장 장치로, 전원 공급이 없어도 내용이 지워지지 않으며, 작은 크기와 풍부한 저장 능력 때문에 점차 정보생활의 필수품이 되고 있다.
일반적인 메모리 카드 시스템은 호스트 및 메모리 카드를 포함하고 있다. MMC 카드의 경우에 있어서, 메모리 카드 인식 방법은 다음과 같다. 먼저 호스트는 명령을 메모리 카드에 전송하여 각 메모리 카드들로부터 카드 고유의 ID 값들을 보내도록 한다. 일반적인 MMC 카드에서는, 하나의 버스에 복수의 메모리 카드들이 연결된다. 복수의 메모리 카드들은 동시에 각 카드의 ID 값을 보내게 되는데, 오픈 드레인 모드(Open Drain Mode)로만 보낸다. 여기서 오프 드레인 모드에서는 '0' 값을 출력할 때 풀-다운(Pull-Down) 방향으로만 구동되고, '1' 값을 출력할 때는 신호를 보내지 않고 버스에 연결된 저항에 의해서 '1' 값이 출력된다. 이는 하나의 버스에 복수의 메모리 카드들이 연결됨으로 인하여 서로 다른 메모리 카드 중 하나는 '로우'(low)로, 다른 하나는 '하이'로 할 경우에 있어서 과다한 전류가 흐르는 것을 방지하기 위함이다.
인식된(Identificated) 메모리 카드는 카드 고유의 ID를 출력한다. 호스트는 카드 ID가 낮은 순서대로 카드 번호를 부여한다. 부여된 메모리 카드는 대기 모드로 전환되고, ID를 보내라는 명령에는 응답하지 않는다. 한편 카드 번호를 부여받지 못한 메모리 카드는 다시 ID를 보내라는 명령에 응답하는 상술된 과정을 반복함으로 카드 인식이 수행된다.
일반적인 SD 카드의 인식방법은 다음과 같다. SD 카드의 경우에 있어서는 하나의 버스에 하나의 메모리 카드만이 할당된다. 메모리 카드는 호스트의 명령에 따라 카드 어드레스를 전송한다. 호스트는 어느 하나의 메모리 카드로부터 전송된 카드 어드레스가 다른 메모리 카드의 그것과 같을 경우 메모리 카드로 명령을 전송하여 메모리 카드 어드레스를 하나 증가시킨다.
메모리 카드를 인식하기 위하여 종래의 MMC 카드에서는 일반적인 데이터 전송 모드와 다른 오픈 드레인 모드를 갖고 있어야 한다. 이 경우 패드의 구성 자체가 특별히 설계되어야 하고, 버스 라인에 풀-업 저항이 구비되어야 하는 문제점이 있다.
또한, 종래 SD 카드에서는 복수의 메모리 카드들이 구비될 경우 각 메모리 카드별로 별도의 데이터 버스 라인들을 구비될 필요가 있다. 이는 시스템의 버스 라인의 개수가 크게 증가되는 문제점을 야기한다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 일반적인 데이터 전송 모드로 메모리 카드를 인식할 수 있는 복수의 메모리 카드를 구비한 메모리 카드 시스템 및 그것의 카드 인식 방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 시스템 버스 라인의 개수를 크게 증가시키지 않는 메모리 카드 시스템을 제공하는데 있다.
본 발명에 따른 메모리 카드 시스템은 복수의 메모리 카드들이 하나의 채널에 체인 구조로 연결된다. 여기서 복수의 메모리 카드들은 카드 인식 동작 전에는 각각 동일한 디폴트 상대 카드 어드레스 값을 저장하고, 카드 인식 동작 후에는 호스트에 가까운 위치의 것부터 차례대로 인식되어 서로 다른 상대 카드 어드레스 값을 저장한다.
본 발명에 따른 복수의 메모리 카드들을 갖는 메모리 카드 시스템의 카드 인식 방법은: 디폴트 상대 카드 어드레스 값을 변경하도록 하는 명령을 전송받는 단계; 상기 전송된 명령이 수용 가능한 지 판별되면, 상기 디폴트 상대 카드 어드레스 값을 변경하는 단계를 포함한다.
실시예에 있어서, 상기 복수의 메모리 카드들은 캐스케이드 구조로 연결되는 적어도 하나의 제 1 및 제 2 메모리 카드들이 포함되는 것을 특징으로 한다.
실시예에 있어서, 상기 전송된 명령이 수용가능하지 않으면, 상기 제 1 메모리 카드는 상기 전송된 명령을 다음 단의 제 2 메모리 카드로 전송하는 것을 특징으로 한다.
실시예에 있어서, 카드 인식 전의 상기 복수의 메모리 카드들에는 각각 동일한 디폴트 상대 카드 어드레스 값이 저장되어 있는 것을 특징으로 한다.
실시예에 있어서, 상기 전송된 명령에는 상대 카드 어드레스 비트가 포함되는 것을 특징으로 한다.
실시예에 있어서, 상기 변경하는 단계는 상기 전송된 명령의 상기 상대 카드 어드레스 비트 값이 상기 디폴트 상대 카드 어드레스 값과 일치하는 지에 따라 결정되는 것을 특징으로 한다.
실시예에 있어서, 상기 변경하는 단계 이후에, 변경이 완료되었다는 응답을 외부로 전송하는 단계를 더 포함한다.
실시예에 있어서, 상기 응답을 전송하는 단계 이후에, 상기 외부로부터 상기 디폴트 상대 카드 어드레스 값을 변경하도록 하는 새로운 명령을 전송받는 단계를 더 포함한다.
실시예에 있어서, 상기 명령 및 상기 새로운 명령에는 각각 변경될 서로 다른 상대 카드 어드레스 값이 포함되는 것을 특징으로 한다.
실시예에 있어서, 상기 외부는 호스트인 것을 특징으로 한다.
실시예에 있어서, 상기 제 2 메모리 카드로 상기 명령이 전송된 후에, 상기 전송된 명령이 상기 제 2 메모리 카드에 수용 가능한 지 판별하는 단계; 및 상기 판별결과로써 수용가능하다면, 상기 제 2 메모리 카드의 디폴트 상대 어드레스 값을 새로운 상대 카드 어드레스로 변경하는 단계를 포함한다.
실시예에 있어서, 상기 명령을 전송받은 후, 소정의 시간이 지나도록 응답이 없으면 카드 인식 과정이 완료되는 것을 특징으로 한다.
실시예에 있어서, 상기 명령을 전송받는 단계이전에, 카드 정보를 요청하는 명령을 전송받는 단계; 및 상기 카드 정보를 요청하는 명령이 수용 가능 수용가능하다면, 상기 1 명령에 따라 카드 정보를 전송하는 단계를 포함한다.
실시예에 있어서, 상기 카드 정보는 카드 인식 번호(Card Identification Number)인 것을 특징으로 한다.
실시예에 있어서, 상기 카드 정보는 파티션 정보(Partition Information)인 것을 특징으로 한다.
실시예에 있어서, 상기 카드 정보는 카드 인식 번호 및 파티션 정보를 모두 포함하는 것을 특징으로 한다.
실시예에 있어서, 상기 전송된 카드 정보를 요청하는 명령이 수용가능하지 않으면, 상기 제 1 메모리 카드는 상기 전송된 상기 카드 정보를 요청하는 명령을 다음 단의 제 2 메모리 카드로 전송하는 것을 특징으로 한다.
실시예에 있어서, 상기 제 2 메모리 카드에 상기 전송된 카드 정보를 요청하는 명령이 수용가능하다면, 상기 제 2 메모리 카드는 상기 카드 정보를 요청하는 명령에 따라 상기 제 2 메모리 카드의 카드 정보를 상기 제 1 메모리 카드를 경유하여 외부로 전송하는 것을 특징으로 한다.
실시예에 있어서, 상기 제 2 메모리 카드의 카드 정보가 전송된 후에, 상기 제 1 메모리 카드는 상기 디폴트 상대 카드 어드레스 값을 변경하도록 하는 새로운 명령을 전송받는 것을 특징으로 한다.
실시예에 있어서, 상기 카드 정보를 요청하는 명령을 전송받은 후, 소정의 시간이 지나도록 응답이 없으면 카드 인식 과정이 완료되는 것을 특징으로 한다.
본 발명에 따른 또 다른 메모리 카드 시스템의 카드 인식 방법은: 제 1 메모리 카드를 인식하는 단계; 및 상기 인식된 제 1 메모리 카드를 경유하여 제 2 메모리 카드를 인식하는 단계를 포함하되, 상기 제 1 및 제 2 메모리 카드들은 서로 캐스케이드로 연결되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 및 제 2 메모리 카드들 각각에는 카드 인식 전에는 동일한 디폴트 상대 카드 어드레스 값이 저장되고, 카드 인식 동작 후에는 서로 다른 상대 카드 어드레스 값이 저장되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 및 제 2 메모리 카드를 인식하는 단계는 각각, 메모리 카드로 카드 정보를 요청하는 단계; 상기 메모리 카드로부터 요청된 카드 정보를 전송받는 단계; 및 상기 전송된 카드 정보로부터 상기 메모리 카드에 새로운 상대 카드 어드레스 값을 저장하는 단계를 포함한다.
실시예에 있어서, 상기 카드 정보를 요청하는 명령 토큰에는 디폴트 상대 카드 어드레스 값이 포함되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 메모리 카드에 저장된 상대 카드 어드레스 값이 상기 디폴트 상대 카드 어드레스 값일 경우에, 상기 제 1 메모리 카드는 상기 명령 토큰에 따라 상기 제 1 메모리 카드의 카드 정보를 외부로 전송하는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 메모리 카드에 저장된 상대 카드 어드레스 값이 상기 디폴트 상대 카드 어드레스 값이 아닐 경우에, 상기 제 1 메모리 카드는 상기 명령 토큰을 상기 제 2 메모리 카드로 전송하는 것을 특징으로 한다.
실시예에 있어서, 상기 제 2 메모리 카드에 저장된 상대 카드 어드레스 값이 상기 디폴트 상대 카드 어드레스 값일 경우에, 상기 제 2 메모리 카드는 상기 명령 토근에 따라 상기 카드 정보를 상기 제 1 메모리 카드를 경유하여 외부로 전송하는 것을 특징으로 한다.
실시예에 있어서, 상기 카드 정보는 카드 인식 번호 및 파티션 정보를 포함한다.
실시예에 있어서, 상기 카드 정보가 요청된 후 소정의 시간이 지난 후에도 응답이 없으면, 상기 카드 인식 과정이 완료되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 2 메모리 카드는 탈부착이 가능한 메모리 카드인 것을 특징으로 한다.
실시예에 있어서, 상기 메모리 카드 시스템은 상기 제 2 메모리 카드의 삽입을 감지한 뒤 메모리 카드 인식 동작을 시작하는 것을 특징으로 한다.
본 발명에 따른 메모리 카드 시스템은: 호스트; 상기 호스트와 직렬 통신하 는 제 1 메모리 카드; 및 상기 제 1 메모리 카드에 캐스케이드 구조로 연결된 복수의 메모리 카드들을 포함하되, 상기 제 1 메모리 카드 및 상기 복수의 메모리 카드들 각각은 카드 인식 전에 동일한 디폴트 상대 카드 어드레스 값을 저장하고 있는 것을 특징으로 한다.
실시예에 있어서, 카드 인식 모드시 상기 제 1 메모리 카드 및 상기 복수의 메모리 카드들 각각은 상기 호스트에 인접한 순서대로 차례로 카드 인식 과정이 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 호스트, 상기 제 1 및 복수의 메모리 카드들 사이에 전송되는 데이터에는 상대 카드 어드레스 비트가 포함되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 및 복수의 메모리 카드들은 상기 데이터의 상대 카드 어드레스 비트 값을 보고 상기 데이터의 수용 여부를 판별하는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 및 복수의 메모리 카드들 각각은, 디폴트 상대 카드 어드레스 값을 변경하도록 하는 명령을 전송받는 단계; 상기 전송된 명령이 수용 가능한 지 판별하는 단계; 및 상기 판별결과로써 수용가능하다면, 상기 디폴트 상대 카드 어드레스 값을 변경하는 단계를 포함하는 카드 인식 방법에 따라 카드 인식 과정이 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 및 복수의 메모리 카드들은 상기 전송된 명령이 수용 가능한 지 판별하기 위한 비교 수단을 포함하는 것을 특징으로 한다.
실시예에 있어서, 상기 호스트 및 상기 제 1 메모리 카드, 그리고 상기 제 1 메모리 카드 및 상기 복수의 메모리 카드들이 각각 서로 직렬 통신을 수행하기 위한 물리 계층들을 포함하되, 상기 제 1 및 복수의 메모리 카드들은 각각, 데이터를 입력받는 제 1 물리 계층; 및 상기 데이터가 수용가능하지 않을 때, 상기 데이터를 다음단의 메모리 카드로 전송하는 제 2 물리 계층을 포함한다.
실시예에 있어서, 상기 물리 계층들 각각은, 데이터를 송신하기 위한 트랜스미터; 및 데이터를 수신하기 위한 리시버를 포함한다.
실시예에 있어서, 상기 직렬 통신은 디퍼련셜 데이터 라인들을 통하여 이루어지는 것을 특징으로 한다.
실시예에 있어서, 상기 메모리 카드 시스템은 탈부착이 가능한 메모리 카드가 삽입될 수 있는 소켓을 포함하되, 상기 탈부착 가능한 메모리는 상기 복수의 메모리 카드들과 상기 소켓을 통하여 캐스케이드 구조로 연결되는 것을 특징으로 한다.
실시예에 있어서, 상기 소켓은 상기 탈부착 가능한 메모리 카드가 삽입되는 것을 감지하여 감지 신호를 생성하는 것을 특징으로 한다.
실시예에 있어서, 상기 생성된 감지 신호는 상기 호스트로 전송되고, 상기 전송된 감지 신호에 따라 카드 인식 동작이 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 제 1 및 복수의 메모리 카드들 각각은, 카드 인식 번호를 저장하는 제 1 레지스터; 상기 상대 카드 어드레스 값을 저장하는 제 2 레지스터; 및 상기 제 2 레지스터에 저장된 상기 상대 카드 어드레스 값에 따라 전송된 데이터의 수용 여부를 결정하는 비교 수단을 포함한다.
실시예에 있어서, 상기 제 1 및 복수의 메모리 카드들은 동일한 낸드 플래시 메모리 카드인 것을 특징으로 한다.
본 발명에 따른 또 다른 메모리 카드 시스템은: 제 1 메모리 카드; 및 상기 제 1 메모리 카드에 캐스케이드 구조로 연결된 복수의 메모리 카드들을 포함하되, 상기 제 1 메모리 카드 및 상기 복수의 메모리 카드들 각각은 카드 인식 전에 동일한 디폴트 상대 카드 어드레스 값을 저장하고 있는 것을 특징으로 한다.
본 발명에 따른 메모리 장치는: 상대 장치 어드레스(Device Ralative Address) 값을 저장하는 레지스터; 및 상기 레지스터에 저장된 상기 상대 장치 어드레스 값과 입력된 데이터에 포함된 상대 장치 어드레스 값을 비교하는 비교수단을 포함하되, 상기 비교수단의 결과에 따라 상기 입력된 데이터의 수용 여부가 결정되는 것을 특징으로 한다.
실시예에 있어서, 상기 메모리 장치가 인식되기 전에는 상기 레지스터에 디폴트 상대 장치 어드레스 값이 저장되고, 상기 메모리 장치가 인식된 후에는 상기 레지스터에 상기 디폴트 상대 장치 어드레스 값과 다른 값이 저장되는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따른 메모리 카드 시스템에서는 복수의 메모리 카드들이 캐스케이드(혹은 체인) 구조로 연결된다. 따라서 메모리 카드를 인식하는데 있어서 일반적인 데이터 전송 모드로 구현 가능하다.
또한, 본 발명에 따른 메모리 카드 시스템에서는 복수의 메모리 카드들이 직 렬 연결됨으로 인하여 하나의 채널만을 필요로 하게 된다. 따라서, 복수의 메모리 카드를 구비하더라도 시스템 버스 라인들의 개수가 늘어나지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조하여 설명한다.
본 발명에 따른 메모리 카드 시스템에서는 하나의 채널에 복수의 메모리 카드들이 캐스케이드(cascade 혹은 chain) 구조로 연결되어 있으며, 각 메모리 카드들은 인식된 카드를 경유하여 호스트에 인접한 순서대로 하나씩 인식된다. 이로써, 본 발명의 메모리 카드 시스템은 복수의 메모리 카드들을 인식하는데 있어서 일반적인 데이터 전송 모드를 사용할 수 있게 된다.
도 1은 본 발명에 따른 메모리 카드 시스템(10)을 보여주는 도면이다. 도 1을 참조하면, 메모리 카드 시스템(10)은 복수의 메모리 카드들(100,200,300,400) 및 호스트(500)를 포함하고 있다. 여기서 복수의 메모리 카드들(100,200,300,400)은 버스 라인들(11,12,13,14)에 체인 구조로 연결되어 있다. 버스 라인들(11,12,13,14)은 하나의 채널이다. 또한, 본 발명의 메모리 카드 시스템(10)에 사용되는 메모리 카드들(100,200,300,400)은 카드 인식 동작 전에는 모두 동일한 디폴트 RCA 값이 저장되도록 구현될 것이다. 또한, 메모리 카드들(100,200,300,400)과 호스트(500) 사이에 통신되는 데이터에는 RCA 정보가 포함될 것이다.
본 발명의 메모리 카드 시스템(10)에서는 카드 인식 번호(Card Indentification Numer:CID) 및 RCA(Relative Card Address)을 이용하여 호스트(500)에 인접한 메모리 카드로부터 시작하여 차례로 카드 인식이 수행된다. 즉, 호스트(500)는 가장 가까이에 인접한 메모리 카드(100)로부터 시작하여 카드 인식 번호(CID)를 송출하도록 명령하고, 다음 명령에 메모리 카드에 RCA을 부여하는 과정을 반복함으로 메모리 카드들을 차례로 인식한다. 자세한 설명은 아래에서 하도록 하겠다.
복수의 메모리 카드들(100,200,300,400)은 크게 임베디드 카드들(100,200,300) 및 이동가능한 카드(400)로 구분된다. 임베디드(embadded) 카드들(100,200,300)은 카드 메모리 시스템(10)에 내장된 것이고, 이동가능한(removable) 카드(400)는 소켓(421)을 통하여 외부로부터 삽입된 메모리 카드이다. 소켓(421)에 대한 자세한 설명은 도 13에서 하도록 하겠다.
복수의 메모리 카드들(100,200,300,400)은 휘발성 메모리(예를 들어, DRAM, SRAM 등) 혹은 비휘발성 메모리(플래시 메모리, MRAM, PRAM 등)를 이용한 다양한 종류의 메모리 카드일 수 있다. 도 1에서는 4개의 메모리 카드들로 구성되어 있지만, 본 발명의 카드 메모리 시스템(10)은 4개의 메모리 카드들로 구성된다고 국한될 필요가 없다는 것은 당업자에게 자명하다.
호스트(500)는 복수의 메모리 카드들(100,200,300,400)에 데이터를 쓰거나 혹은 복수의 메모리 카드들(100,200,300,400)에 저장된 데이터를 읽는다. 호스트(500)는 복수의 메모리 카드들(100,200,300,400)에 쓰기 동작 및 읽기 동작을 수 행하기 위하여 버스 라인(11)을 통하여 데이터(예를 들어, 명령 토큰, 응답 토큰, 데이터 토큰)를 전송한다. 여기서 데이터에는 메모리 카드 어드레스 정보(예를 들어, RCA)가 포함된다. 본 발명의 버스 라인들(11,12,13,14)을 통하여 전송되는 데이터에 대하여는 도 4에서 자세하게 설명하도록 하겠다.
호스트(500)는 버스 라인(11)을 통하여 메모리 카드(100)와 연결하기 위한 물리 계층(520)을 포함한다. 물리 계층(520)에 대한 자세한 설명은 도 2에서 하도록 하겠다. 이러한 호스트(500)의 종류에는 핸드폰(Handphone), MP3 플레이어, PMP(Portable Media Player), 디지털 카메라 등이 있다.
도 1을 다시 참조하면, 복수의 메모리 카드들(100,200,300,400)은 호스트(500)로부터 각각 캐스케이드 구조로 연결되어 있다. 즉, 각 메모리 카드들(100,200,300,400)은 직렬로 연결된다. 다른 말로, 호스트(500)의 하나의 데이터 패스에 복수의 메모리 카드들(100,200,300,400)이 존재한다. 또 다른 말로, 각 메모리 카드들(100,200,300,400)은 직렬 통신 방식으로 연결되어 있다.
제 1 메모리 카드(100)는 물리 계층들(110,120), 제어기(140) 및 메모리(160)를 포함한다. 물리 계층(110)은 버스 라인(11)을 통하여 호스트(500)의 물리 계층(520)과 연결된다. 물리 계층(110)에 전송된 데이터는 제어기(140)의 제어에 따라 물리 계층(120)에 전송 여부가 결정된다. 여기서 제어기(140)는 전송된 데이터에 포함된 RCA(Ralative Card Address) 값이 메모리 카드(100)의 그것과 동일한 지를 판별한다. 메모리 카드(100)의 RCA 값은 RCA 레지스터(144)에 저장되어 있다. 여기서, 메모리 카드(100)의 RCA 레지스터(144)에는 제조업자에 의하여 디폴트 RCA 값이 저장될 것이다.
판별결과로써 전송된 데이터에 포함된 RCA 값이 메모리 카드(100)의 RCA 레지스터(144)에 저장된 것과 일치한다면, 전송된 데이터는 메모리 카드(100)의 동작에 관련된 데이터로 간주된다. 한편, 판별결과로써 일치하지 않다면, 전송된 데이터는 다른 메모리 카드들(200,300,400)에 관련된 데이터로 간주되어 물리 계층(120)으로 전송된다. 물리 계층(120)으로 전송된 데이터는 버스 라인(12)을 통하여 다른 메모리 카드(200)의 물리 계층(210)으로 전송된다.
제어기(140)는 전송된 데이터를 메모리 카드(100)에 관련된 데이터인 지 판별할 뿐 아니라 메모리(160)의 읽기/쓰기 동작을 제어한다. 제어기(140)는 메모리 카드의 카드 인식 번호(Card Indentification Number:CID)를 저장하는 CID 레지스터(142) 및 RCA 레지스터(144)를 포함한다. 여기서 카드 인식 번호(CID)에는 메모리 카드의 용량, 제조원, 제조사, 시리얼 번호 등과 같은 카드에 대한 다양한 정보가 포함된다. 호스트(500)는 이러한 카드 인식 번호를 통하여 메모리 카드(100)를 인식한다.
메모리(160)는 휘발성 메모리 혹은 비휘발성 메모리 등 같은 다양한 종류의 메모리 중 어느 하나이다. 여기서 휘발성 메모리에는 RAM(Random Access Memory), SRAM(Static RAM), DRAM(Dynamic RAM), EDORAM(Enhanced Data Output RAM), 고속 DRAM (High Speed DRAM), SDRAM (Synchronous DRAM), RDRAM 및 DDR-SDRAM 등이 있고, 비휘발성 메모리에는 ROM(Read Only Memory), EEPROM(Electrically EPROM), 플래시 메모리(Flash Memory), MRAM, PRAM, FRAM 등이 있다.
제 2 메모리 카드(200)는 물리 계층들(210,220), 제어기(240) 및 메모리(260)를 포함하고 있다. 물리 계층들(210,220)은 제 1 메모리 카드(100)의 물리 계층들(110,120)과 동일한 기능을 갖는다. 제어기(240)는 제 1 메모리 카드(100)와 동일한 기능을 갖는 CID 레지스터(242) 및 RCA 레지스터(244)를 포함한다. 메모리(260)는 제 1 메모리 카드(100)의 메모리(160)와 동일하거나 혹은 다른 것일 수도 있다. 예를 들어, 제 1 메모리 카드(100)의 메모리(160)가 낸드 플래시 메모리라고 할 때, 제 2 메모리 카드(200)의 메모리(260)는 낸드 플래시 메모리이거나 혹은 디램일 수 있다.
제 3 메모리 카드(300)는 물리 계층들(310,320), 제어기(340) 및 메모리(360)를 포함하고 있다. 물리 계층들(310,320)은 제 1 메모리 카드(100)의 물리 계층들(110,120)과 동일한 기능을 갖는다. 제어기(340)는 제 1 메모리 카드(100)와 동일한 기능을 갖는 CID 레지스터(342) 및 RCA 레지스터(344)를 포함한다. 메모리(360)는 제 1 메모리 카드(100)의 메모리(160)와 동일하거나 혹은 다른 것일 수도 있다.
제 4 메모리 카드(400)는 이동가능한 메모리 카드이다. 제 4 메모리 카드(400)가 삽입될 수 있는 소켓(421)이 구비된다. 제 4 메모리 카드(400)는 물리 계층(410), 제어기(440) 및 메모리(460)를 포함하다. 여기서 물리 계층(410)은 소켓(421)을 통하여 버스 라인(14)에 연결된다. 제어기(440)는 제 1 메모리 카드(100)와 동일한 기능을 갖는 CID 레지스터(442) 및 RCA 레지스터(444)를 포함한다. 메모리(460)는 제 1 메모리 카드(100)의 메모리(160)와 동일하거나 혹은 다른 것일 수도 있다.
본 발명의 메모리 카드 시스템(10)에서는 호스트(500)에 인접한 메모리 카드(100)로부터 시작하여 차례로 카드 인식이 수행된다. 각각의 메모리 카드들(100,200,300,400)은 카드 인식 전에는 디폴트 RCA 값을 갖고, 카드 인식이 차례로 수행된 후에는 각 메모리 카드에 대응되도록 호스트(500)로부터 부여된 RCA 값을 갖는다. 본 발명의 메모리 카드 시스템(10)에서는 각 카드들(100,200,300,400)들이 인식된 카드를 경유하여 차례로 인식된다. 본 발명의 카드 인식 방법에 대한 자세한 설명은 도 6에서 하도록 하겠다.
도 2a는 본 발명의 카드 메모리 시스템(10)의 물리 계층들을 구현한 실시예를 보여주는 도면이다. 아래에서는 설명의 편의를 위하여, 제 1 메모리 카드(100) 및 호스트(500)의 물리 계층들(110,520)의 연결관계에 대하여 한정하여 설명하도록 하겠다.
각 물리 계층들(110,520)에는 트랜스미터들(113,521), 리시버들(111,523) 및 클럭 발생기들(115,525)이 포함된다. 여기서 트랜스미터들(113,521)은 외부로 데이터를 전송하는데 이용되며, 리시버들(11,523)은 외부로부터 데이터를 수신하는데 이용된다. 클럭 발생기들(115,525)은 데이터 전송시 사용되는 클럭을 생성한다.
트랜스미터(522) 및 리시버(111)는 차동 신호 드라이버들(522,112)을 통하여 연결된다. 트랜스미터(113) 및 리시버(523)는 차동 신호 드라이버들(114,524)을 통하여 연결된다. 이러한 차동 신호 드라이버들(112,114,523,524)을 이용함으로, 데이터 전송시 저전력에서 고속 전송이 가능하고, 낮은 전자기 간섭(Electromagnetic Interference:EMI) 특성이 유발된다.
도 2a에 도시된 트랜스미터/리시버 쌍들((521,111),(113,523))의 각각 데이터 라인들(DTI+/DTI-,DTO+/DTO-)은 디퍼련셜(differential) 형태의 쌍으로 구현된다. 여기서 데이터 라인들(DDTI+/DTI-,DTO+/DTO-) 및 클럭 라인(CLK)은 버스 라인(11)이 된다. 그러나 본 발명의 데이터 라인들이 반드시 디퍼련셜 형태의 쌍으로 국한될 필요는 없다. 본 발명의 트랜스미터/리시버 쌍들은 각각 하나의 데이터 라인으로 연결될 수도 있다.
도 2a에 도시된 각 물리 계층들(110,520)은 각각 클럭 발생기들(115,525)을 포함하고 있다. 그러나 본 발명의 메모리 카드 시스템(10)의 물리 계층들(110,520)은 각 리시버들(113,523)로부터 클럭을 추출하여 사용함으로 별도의 클럭 발생기를 구비하지 않도록 구현될 수도 있다.
도 2a에 도시된 클럭 라인(CLK)은 하나의 라인으로 구현되었지만, 본 발명의 클럭 라인이 반드시 하나의 라인으로 구현될 필요는 없다. 본 발명의 클럭 라인은 디퍼련셜 형태의 쌍으로 구현될 수도 있다. 또는 도 2b에 도시된 바와 같이, 클럭 라인(CLK)은 호스트(500)로부터 발생 된 클럭을 병렬로 공유할 수도 있다.
도 3은 본 발명에 따른 메모리 카드 시스템(10)의 카드 인식 모드시 상태 다이어그램이다. 도 1 및 도 3을 참조하면, 메모리 카드 시스템(10)의 초기화 과정을 아래와 같다. 메모리 카드 시스템(10)의 초기화 과정은 전원 공급(Power on) 혹은 리셋 명령(CMD0)에 따라(S105) 시작된다. 여기서 리셋 명령(CMD0)은 소프트웨어적으로 초기화 과정을 수행하고자 할 때 사용되는 명령이다. 메모리 카드 시스템(10) 에 전원이 공급되거나 혹은 리셋 명령에 전송되면, 메모리 카드 시스템(10)은 초기 상태(Initial State)로 진행된다(S110). 여기서 초기 상태(Initial state)는 호스트(500)가 내부적으로 동작 가능한 상태가 되었다는 것을 의미한다. 이후, 카드 인식 과정(Card Indentification Process)이 수행된다(S120). 즉, 메모리 카드 시스템(10)은 카드 인식 모드(Care-Identification mode) 상태에 있게 된다.
카드 인식 과정은 호스트(500)에 가장 인접한 메모리 카드(100)부터 시작된다. 호스트(500)는 카드 인식 번호(Card IDentification Number)을 송출하도록 디폴트(Default) RCA(Relative Card Address) 값이 포함된 명령(CID Command)을 제 1 메모리 카드(100)로 전송한다(S122). 전송된 명령(CID Command)에 따라 제 1 메모리 카드(100)는 카드 인식 번호를 호스트(500)로 전송한다(S124). 호스트(500)는 전송된 카드 인식 번호에 응답하여 인식된 제 1 메모리 카드(100)에 대응하는 새로운 RCA 값을 부여하는 명령을 제 1 메모리 카드(100)로 전송한다(S126). 인식이 완료된 제 1 메모리 카드(100)는 호스트(500)로부터 전송된 RCA 값을 저장하게 된다. 이로써, 제 1 메모리 카드(100)에 대한 카드 인식 과정이 완료된다.
이후, 호스트(500)는 카드 인식 번호를 송출하도록 디폴트 RCA 값이 포함된 명령(CID Command)을 제 1 메모리 카드(100)로 다시 전송한다. 이때 제 1 메모리 카드(100)의 RCA 값이 디폴트 값이 아님으로, 전송된 명령(CID Command)은 제 2 메모리 카드(200)로 전송된다. 제 2 메모리 카드(200)는 전송된 명령(CID Command)에 따라 카드 인식 번호를 호스트(500)로 전송한다(S124). 호스트(500)는 전송된 카드 인식 번호에 응답하여 인식된 제 2 메모리 카드(100)에 대응하는, 제 1 메모 리 카드(100)에 저장된 RCA 값과 다른 새로운 RCA 값을 부여하는 명령을 제 1 메모리 카드(100)로 전송한다. 여기서 이러한 명령에는 디폴트 RCA 값이 포함된다. 따라서 제 1 메모리 카드(100)로 전송된 명령은 제 2 메모리 카드(200)로 전송된다. 인식이 완료된 제 2 메모리 카드(200)는 호스트(500)로부터 전송된 RCA 값을 저장하게 된다. 이로써, 제 2 메모리 카드(200)에 대한 카드 인식 과정이 완료된다.
제 3 및 제 4 메모리 카드들(300,400)도 상술된 카드 인식 과정에 따라 카드 인식 동작이 수행된다. 최후로 제 4 메모리 카드(400)의 인식이 완료된 후에도, 호스트(500)는 디폴트 RCA 값이 포함된 명령(CID Command)을 다시 전송할 것이다. 이때, 소정의 시간이 지나더라도 메모리 카드들(100,200,300,400)로부터 응답이 없으면, 추가의 메모리 카드가 없는 것으로 인식됨으로 전체 카드 인식 과정은 완료된다.
카드 인식 과정이 완료되면, 카드 메모리 시스템(10)은 대기 상태(Stanby)라고 간주된다(S130). 여기서 대기 상태는 메모리 카드들(100,200,300,400)로부터 데이터를 입출력할 수 있게 된 상태이다. 카드 인식 과정이 완료되면, 메모리 카드들(100,200,300,400)에는 서로 다른 RCA 값이 저장될 것이다.
한편, 본 발명의 메모리 카드 시스템(10)의 초기 상태에서 호스트(500)를 동작시키는데 필요한 제어 데이터가 제 1 메모리 카드(100)에 저장될 수 있다. 이때 본 발명의 메모리 카드 시스템(10)에서는 전원이 인가되거나 혹은 리셋 명령이 발생하면, 제 1 메모리 카드(100)를 먼저 인식한 뒤 제어 데이터를 읽어오도록 구현될 수 있거나 혹은 제 1 메모리 카드(100)의 인식에 상관없이 제어 데이터를 먼저 읽어오도록 구현될 수 있다.
도 4은 본 발명에 따른 물리 계층들 사이에 전송되는 데이터에 대한 실시예를 보여주는 도면이다. 도 4a는 명령 토큰(Command token)에 대한 실시예이고, 도 4b는 응답(Reponse token)에 대한 실시예이고, 도 4c는 데이터 토큰(Data Token)에 대한 실시예를 보여주는 도면이다. 명령 토큰은 호스트(500)로부터 명령을 전송하는 데이터이고, 응답 토큰은 호스트(500)로부터 전송된 명령에 대한 각 메모리 카드들(100,200,300,400)의 반응을 전송하는 데이터이고, 데이터 토큰은 읽기 혹은 쓰기 요청시 전송되는 데이터이다. 도 4a, 4b 및 4c을 참조하면, 명령 토큰, 응답 토큰 및 데이터 토큰에는 '3'비트의 RCA 값이 포함된다.
도 4a을 참조하면, 명령 토큰에는 '1'비트의 시작 비트, '1'비트의 전송 비트, '1'비트의 데이터/명령 비트, '3'비트의 RCA 비트, '9'비트의 명령 비트, '32'비트의 아규먼트 비트, '1'비트의 종료 비트가 포함된다. 여기서 전송 비트는 전송방향을 결정하는 비트이다. 예를 들어, 전송 비트가 '1'이면, 호스트(500)로부터 메모리 카드들(100,200,300,400)로 명령이 전송되고, 전송 비트가 '0'이면, 메모리 카드들(100,200,300,400)로부터 호스트(500)로 명령이 전송된다. 명령 중 일부는 아규먼트(예를 들어, 어드레스)를 필요로 한다. 또한 모든 명령은 '7'비트의 CRC 비트로 보호된다.
도 4b을 참조하면, 응답 토큰에는 '1'비트의 시작 비트, '1'의 전송 비트, '3'비트의 RCA 비트, '9'비트의 명령 비트, '1'비트의 비지 비트, '1'비트의 에러 비트, '7'비트의 카드 상태 에러 비트, '7'비트의 CRC 비트 및 '1비트의 종료 비트 가 포함된다.
도 4c을 참조하면, 데이터 토큰은 '1' 비트의 시작 비트(Start bit), '1' 비트의 전송(Transmission) 비트, '1' 비트의 데이터/명령 비트, '3' 비트의 RCA 비트, '22' 비트의 패킷 정보 비트, '512' 바이트의 섹터 데이터 비트, '16' 비트의 CRC(Cyclic Redundancy Codes) 비트, 및 '1' 비트의 종료 비트(End bit)로 구성된다. 전송 비트는 송신되는 지 혹은 수신되는 지에 관련된 것이고, 데이터/명령 비트는 전송된 데이터 토큰이 데이터인 지 혹은 명령인 지에 관련된 것이고, RCA 비트는 데이터 토큰이 어떤 메모리 카드에 관련된 것인 지에 대하여 알려주는 RCA 값이 저장되고, 패킷 정보 비트는 데이터 토큰에 해당하는 정보가 저장되고, 섹터 데이터 비트는 데이터 전송시 전송될 데이터가 저장되고, CRC 비트는 버스 라인들(11,12,13,14)에 전송 에러(transimission error)로부터 명령들(commands), 응답들(responses) 및 데이터 전송(Data transfer)을 보호하기 CRC 값이 저장된다. 각각의 물리 계층들(110,120,210,220,310,320,410,520)로/로부터 전송된/전송될 데이터로부터 CRC 비트를 검출하거나/생성하기 위하여 메모리 카드들(100,200,300,400) 및 호스트(500)에는 CRC 발생기/검출기(도시되지 않음)가 포함될 것이다.
본 발명의 메모리 카드 시스템에서 이용되는 데이터에는 어떤 메모리 카드의 명령/응답/데이터 토큰인 지 알려주는 RCA 값이 포함된다. 각 메모리 카드들(100,200,300,400)은 전송된 토큰의 RCA 값이 그것들에 저장된 RCA 값과 일치하는 지 여부를 통하여 해당 토큰의 수용 여부를 결정하게 된다. 일치하면 수용하고, 그렇지 않으면 해당 토큰은 다른 메모리 카드로 전송된다. 본 발명의 메모리 카드 들(100,200,300,400)은 각각 토큰을 수용 여부가 결정되기까지 임시로 저장해 두는 버퍼들(도시되지 않음)을 구비할 것이다.
도 5는 본 발명에 따른 메모리 카드 시스템의 RCA(Ralative Card Address) 값에 대한 실시예를 보여주는 표이다. 도 5을 참조하면, 각 메모리 카드들(100,200,300,400)은 카드 인식이 수행되기 전에 디폴트 RCA 값으로 '111'을 갖는다. 이러한 디폴트 RCA 값은 각 메모리 카드들(100,200,300,400)의 제조업자에 의하여 RCA 레지스터(142,242,342,442)에 저장될 것이다. 카드 인식 과정에서, 호스트(500)는 디폴트 RCA 값 '111'이 포함된 명령을 메모리 카드들(100,200,300,400)에 전송할 것이다.
본 발명에 따른 메모리 카드 시스템(10)에서는 호스트(500)에 인접한 카드로부터 차례로 카드 인식이 수행된다. 따라서, 각 메모리 카드들(100,200,300,400)이 카드 인식이 완료되면, 제 1 메모리 카드(100)의 RCA 값으로 '000'이 부여되고, 제 2 메모리 카드(200)의 RCA 값으로 '001'이 부여되고, 제 3 메모리 카드(300)의 RCA 값으로 '010'이 부여되고, 및 제 4 메모리 카드(400)의 RCA 값으로 '011'이 부여된다.
도 6은 본 발명에 따른 메모리 카드 시스템(10)의 카드 인식 방법을 보여주는 도면이다. 도 1 내지 6을 참조하면, 메모리 카드 시스템(10)의 카드 인식 방법은 아래와 같다.
메모리 카드 시스템(10)에 전원이 인가되거나 혹은 리셋 명령이 발생하면 호스트(500)는 카드 인식 번호(Card IDentification number)을 요청하는 명 령(CMD_CID)을 제 1 메모리 카드(100)로 전송한다(①). 이때 이러한 명령(CMD_CID)에는 디폴트 RCA 값('111')이 포함된다. 호스트(500)는 버스 라인(11)로 명령(CMD_CID)을 전송시킨 후 메모리 카드들(100,200,300,400)로부터 응답(Response)가 없는 지를 판별한다. 판별결과로써, 응답이 없으면(No response), 카드 인식 과정은 종료된다.
응답(Response)이 있을 경우는 아래와 같이 진행된다. 제 1 메모리 카드(100)의 제어기(140)는 RCA 레지스터(144)에 저장된 RCA 값이 디폴트 RCA 값인 지 판별한다. RCA 레지스터(144)에 저장된 값이 디폴트 값('111')이기 때문에, 제 1 메모리 카드(100)는 전송된 명령(CMD_CID)을 수용한다. 따라서, 제 1 메모리 카드(100)는 수용된 명령(CMD_CID)에 따라 CID 레지스터(142)에 저장된 카드 인식 번호(Card IDentification Number:CID)가 읽고, 이렇게 읽혀진 카드 인식 번호(CID)가 포함된 응답(Response)을 호스트(500)로 전송한다(②). 호스트(500)는 전송된 카드 인식 번호(CID)에 따라 제 1 메모리 카드(100)에 새로운 RCA 값(예를 들어, '000')을 부여하고, 부여된 RCA 값으로 제 1 메모리 카드(100)의 RCA 레지스터(144)의 RCA 값을 변경하도록 하는 명령(CMD_RCA1)을 제 1 메모리 카드(100)로 전송한다(③).
이렇게 전송된 명령(CMD_RCA1)의 RCA 비트에는 디폴트 RCA 값(예를 들어, '111')이 포함된다. 제 1 메모리 카드(100)의 RCA 레지스터(144)는 카드 인식 전이기 때문에 디폴트 값이 저장되어 있다. 따라서, 제 1 메모리 카드(100)는 전송된 명령(CMD_RCA1)을 수용한다. 제 1 메모리 카드(100)는 수용된 명령(CMD_RCA1)에 따 라 RCA 레지스터(144)의 디폴트 RCA 값('111')을 새로운 RCA 값(예를 들어, '000')을 저장하고, 해당 명령(CMD_RCA1)에 따른 동작이 완료되었다는 응답(ACK)을 호스트(500)로 전송하게 된다(④). 이로써, 제 1 메모리 카드(100)의 카드 인식 동작이 완료된다(CARD1 IDENTIFICATION). 이후, 카드 인식이 완료된 제 1 메모리 카드(100)를 경유하여 제 2 메모리 카드(200)에 대한 카드 인식 동작이 수행된다.
제 1 메모리 카드(100)에 대한 카드 인식이 완료되면, 호스트(500)는 카드 인식 번호를 요청하는 명령(CMD_CID)을 버스 라인(11)을 통하여 다시 제 1 메모리 카드(100)로 전송한다(⑤). 여기서 명령(CMD_CID)의 RCA 비트에는 디폴트 RCA 값이 포함된다. 그런데 제 1 메모리 카드(100)의 RCA 레지스터(144)에는 카드 인식이 완료되었기 때문에 디폴트 RCA 값이 아닌 값이 저장되어 있다. 따라서, 제 1 메모리 카드(100)는 명령(CMD_CID)을 수용하지 않고 제 2 메모리 카드(200)로 전송된다(⑥).
제 2 메모리 카드(200)의 제어기(240)는 RCA 레지스터(244)에 저장된 RCA 값이 디폴트 RCA 값인 지 판별한다. 제 2 메모리 카드(200)는 카드 인식 전이기 때문에 RCA 레지스터(244)에는 디폴트 RCA 값이 저장되어 있다. 따라서, 제 2 메모리 카드(200)는 전송된 명령(CMD_CID)을 수용한다. 제 2 메모리 카드(200)는 수용된 명령(CMD_CID)에 따라 CID 레지스터(242)에 저장된 카드 인식 번호(Card IDentification Number:CID)를 읽고, 이렇게 읽혀진 카드 인식 번호(CID)가 포함된 응답(Response)을 제 1 메모리 카드(100)로 전송한다(⑦). 제 1 메모리 카드(100)는 응답(Response)에 포함된 디폴트 RCA 값이 RCA 레지스터(244)에 저장된 RAC 값 과 일치하지 않음으로, 응답(Reponse)을 호스트(500)로 전송한다(⑧). 여기서, 제 1 메모리 카드(100)에 전송된 응답(Response)은 RCA 값을 비교하여 호스트(500)로 전송 여부가 결정되었다. 그러나, 본 발명의 응답의 전송 여부가 반드시 여기에 국한될 필요가 없다는 당업자에게 자명하다.
호스트(500)는 전송된 카드 인식 번호(CID)에 따라 제 2 메모리 카드(200)에 새로운 RCA 값(예를 들어, '001')을 부여하고, 부여된 RCA 값으로 제 2 메모리 카드(200)의 RCA 레지스터(244)의 RCA 값이 변경하도록 하는 명령(CMD_RCA2)을 버스 라인(11)을 통하여 제 1 메모리 카드(100)로 전송한다(⑨). 이렇게 전송된 명령(CMD_RCA1)의 RCA 비트에는 디폴트 RCA 값('111')이 포함된다. 그런데 제 1 메모리 카드(100)의 RCA 레지스터(144)에는 카드 인식이 완료되었기 때문에 새롭게 부여된 RCA 값(예를 들어, '000')이 저장되어 있다. 따라서, 제 1 메모리 카드(100)는 전송된 명령(CMD_RCA1)을 수용하지 않고 제 2 메모리 카드(200)로 전송한다(⑩).
제 2 메모리 카드(200)의 RCA 레지스터(244)에는 카드 인식 전이기 때문에 디폴트 RCA 값이 저장되어 있다. 따라서, 제 2 메모리 카드(200)는 전송된 명령(CMD_RCA2)을 수용한다. 제 2 메모리 카드(200)는 수용된 명령(CMD_RAC2)에 따라 RCA 레지스터(244)의 디폴트 RCA 값을 새로운 RCA 값(예를 들어, '001')으로 변경하고, 해당 명령(CMD_RCA2)에 따른 동작이 완료되었다는 응답(ACK)을 호스트(500)로 전송하게 된다(⑪,⑫). 이로써, 제 2 메모리 카드(200)의 카드 인식 동작이 완료된다(CARD2 IDENTIFICATION).
이후 상술 된 바와 같이 동일한 방식으로 카드 인식 동작이 완료된 제 1 및 제 2 메모리 카드(100,200)를 경유하여 제 3 메모리 카드(300) 및 제 4 메모리 카드(400)에 대한 카드 인식 동작이 수행된다. 그 결과 제 3 메모리 카드(300)의 RCA 레지스터(344)에는 디폴트 RCA 값이 새로운 RCA 값(예를 들어, '010')으로 변경되고, 제 4 메모리 카드(400)의 RCA 레지스터(444)에는 디폴트 RCA 값이 새로운 RCA 값(예를 들어, '011')으로 변경될 것이다. 이로써, 메모리 카드 시스템(10)의 카드 인식 과정이 완료된다.
한편, 제 4 메모리 카드(400)는 탈부착 가능한 카드이다. 따라서, 언제든지 메모리 카드 시스템(10)에 삽입될 수 있다. 따라서 메모리 카드 시스템(10)의 소켓(421)에서는 제 4 메모리 카드(400)가 삽입되는 것을 감지하여 호스트(500)가 리셋 명령을 발생시킨다. 호스트(500)는 이러한 리셋 명령에 응답하여 삽입된 제 4 메모리 카드(400)에 대하여 상술 된 과정을 통하여 카드 인식을 수행한다.
도 1에 도시된 메모리 카드 시스템(10)에서는 각 RCA 레지스터에 물리적인 메모리 카드의 정보만이 입력된다. 그런데 경우에 따라서, 하나의 메모리 카드에 복수의 파티션들이 포함될 수도 있다. 호스트는 각 파티션들을 별개의 메모리 영역으로 인식할 필요가 있다.
도 7는 본 발명에 따른 또 다른 메모리 카드 시스템(20)을 보여주는 도면이다. 도 7을 참조하면, 메모리 카드 시스템(20)의 메모리 카드들(101,201,301,401)은 각각 카드 인식 번호(CID) 및 파티션 정보(Patition Information:PI) 저장한 카드 정보 레지스터들(143,243,343,443)을 포함한다. 아래에서는 카드 인식 번 호(CID) 및 파티션 정보(PI)를 통칭하여 카드 정보(Card Information)이라 하겠다.
도 8은 카드 정보 레지스터들(143,243,343,443)에 대한 실시예를 보여주는 도면이다. 일반적으로 카드 인식 번호 (CID)는 하드웨어적인 정보이며, 메모리 카드의 제조시에 제조자의 결정에 따라 기록된다. 그리고 파티션 정보(PI)는 소프트웨어적인 정보이며, 사용자가 임의로 메모리 카드의 메모리 영역을 구별하도록 사용된다. 본 발명의 메모리 카드의 경우에 있어서는 메모리 영역의 파티션이 어떻게 나뉘어져 있는 지에 대한 정보(Partition Information;PI)가 메모리 카드 내부에 포함된다. 따라서 초기 카드 인식 과정에서 카드 인식 번호(CID)와 함께 파티션 정보(PI)가 함께 전송되면, 호스트(501)는 메모리 카드의 파티션 정보(PI)를 인식하기 위한 별도의 과정을 수행할 필요가 없다.
또한, 메모리 카드 시스템(20)의 RCA는 파티션 정보가 포함되도록 구성된다. 즉, 메모리 카드 시스템(20)의 RCA에는 카드 번호(CN) 및 파티션 번호(PN)가 포함된다. 여기서 카드 번호(CN)는 도 1에 도시된 RCA와 동일한 것으로, 하나의 메모리 카드에 부여되는 카드 어드레스 값이다.
도 9는 도 7에 도시된 메모리 카드 시스템(20)의 RCA 레지스터들(145,245,345,445)에 대한 실시예를 보여주는 도면이다. 도 9을 참조하면, 본 발명의 RCA는 '3' 비트의 카드 번호(CN) 및 '3' 비트의 파티션 번호(PN)로 구성된다. 일례로, 디폴트 RCA 값은 '111_111'로 표현된다.
도 10은 도 7에 도시된 메모리 카드 시스템(20)에서 전송되는 데이터에 대한 실시예를 보여주는 도면이다. 도 10a은 명령 토큰에 대한 실시예이고, 도 10b는 응 답 토큰에 대한 실시예이고, 도 10b는 데이터 토큰에 대한 실시예이다. 도 10a, 10b 및 10c을 참조하면, 명령/응답/데이터 토큰에는 카드 번호(CN) 및 파티션 번호(PN)가 '3'비트씩 포함된 '6' 비트의 RCA 비트가 포함된다.
도 11은 도 7에 도시된 제 1 메모리 카드(101) 및 그것에 대한 카드 인식 방법에 대한 실시예를 보여주는 도면이다. 도 7 내지 도 11을 참조하면, 제 1 메모리 카드(101)에 대한 카드 인식 과정은 아래와 같이 진행된다.
카드 메모리 시스템(20)의 동작 중 필요에 의하여 제 1 메모리 카드(10)의 메모리(161)이 소프트웨어적으로 두 개의 파티션들(162,164)로 나뉜다(S210). 여기서 파티션으로 나뉘기 전의 메모리 카드(101)는 이미 카드 인식이 완료되었으므로 디폴트가 아닌 RCA 값이 저장되어 있다. 이때, 메모리 카드(101)는 파티션 정보에 해당하는 값이 포함되도록 CI 레지스터(143)에 파티션 정보를 업로드한다(S220). 또한 새롭게 카드를 인식하기 위하여 RCA 레지스터(145)에 저장된 RCA 값을 디폴트 RCA 값(예를 들어, '111_111')으로 재설정한다(S230).이후에 호스트(501)는 디폴트 RCA 값이 포함된 카드 인식 명령을 제 1 메모리 카드(101)로 전송하여 카드 인식 동작을 수행한다(S240). 제 1 메모리 카드(101)에 대한 카드 인식 과정은 도 6에 도시된 바와 같이 동일하게 진행될 것이다. 카드 인식이 완료되면, 제 1 메모리 카드(101)의 RCA 레지스터(145)에는 제 1 파티션(162)에 대하여 제 1 RCA 값(예를 들어, '000_000')이 저장되고, 제 2 파티션(164)에 대하여 제 2 RCA 값(예를 들어, '000_001')이 저장된다.
도 12는 도 7에 도시된 메모리 카드 시스템(20)의 RCA 값에 대한 실시예를 보여주는 표이다. 도 12을 참조하면, 각 메모리 카드들(101,201,301,401)은 카드 인식이 수행되기 전에 디폴트 RCA 값으로 '111_111'을 갖는다. 이러한 디폴트 RCA 값은 각 메모리 카드들(101,201,301,401)의 제조업자에 의하여 RCA 레지스터(145,245,345,445)에 저장될 것이다. 카드 인식 과정에서, 호스트(501)는 디폴트 RCA 값 '111_111'이 포함된 명령을 메모리 카드들(101,201,301,401)에 전송할 것이다.
본 발명에 따른 메모리 카드 시스템(20)에서는 호스트(501)에 인접한 카드로부터 차례로 카드 인식이 수행된다. 따라서, 각 메모리 카드들(101,201,301,401)이 카드 인식이 완료되면, 제 1 메모리 카드(101)의 RCA 값으로 '000_000' 및 '000_001'이 부여되고, 제 2 메모리 카드(201)의 RCA 값으로 '001_000'이 부여되고, 제 3 메모리 카드(301)의 RCA 값으로 '010_000'이 부여되고, 및 제 4 메모리 카드(401)의 RCA 값으로 '011_000'이 부여된다. 여기서, 제 1 메모리 카드(101)에는 두개의 RCA 값들('000_000','000_001')을 갖고 있는데, 이는 제 1 메모리 카드(101)가 두 개의 파티션으로 구분되어 있다는 것을 의미한다. 한편, 나머지 메모리 카드들(201,301,401)은 단일 파티션으로 구성되어 있다.
도 13은 도 7에 도시된 메모리 카드 시스템(20)의 카드 인식 방법에 대한 흐름도이다. 도 7 내지 도 13을 참조하면, 본 발명의 메모리 카드 시스템(20)의 카드 인식 방법은 아래와 같다.
호스트(501)는 전원 인가시 혹은 리셋 명령에 따라 카드 정보 명령(Card Information Command)을 제 1 메모리 카드(101)로 전송한다(S310). 여기서 카드 정 보 명령의 RCA 비트에는 디폴트 RCA 값(111_111)을 포함하며, 도 6에 도시된 명령(CMD_CID)에 대응한다. 한편, 호스트(501)는 카드 정보 명령에 대하여 소정의 시간이 지난 뒤에도 응답(Response)이 없는 지를 판별한다(320). 만약, 응답이 없다면, 메모리 카드 시스템(20)의 카드 인식 과정은 종료된다. 반면에, 응답이 있다면, 아래와 같이 진행될 것이다.
제 1 메모리 카드(101)의 RCA 레지스터(145)에 저장된 RCA 값이 디폴트 RCA 값이라면, 전송된 카드 정보 명령은 제 1 메모리 카드(101)에 요청된 명령으로 수용된다(S330). 이후 제 1 메모리 카드(101)는 전송된 카드 정보 명령에 따라 카드 정보를 포함하는 응답(Response)을 호스트(501)로 전송한다(S340). 즉 호스트(501)는 제 1 메모리 카드(101)로부터 카드 정보를 전송받게 된다. 이후 호스트(501)는 제 1 메모리 카드(101)의 디폴트 RCA 값(111_111)이 새로운 RCA 값(예들 들어, '000_000')으로 변경되도록 하는 명령을 전송한다. 이러한 명령의 RCA 비트에는 디폴트 RCA 값(111_111)이 포함될 것이다. 이후 S310 단계 이후가 진행된다.
반면에 제 1 메모리 카드(101)의 RCA 레지스터(145)에 저장된 RCA 값이 디폴트 RCA 값이 아니라면, 전송된 카드 정보 명령은 제 2 메모리 카드(201)로 전송된다(S335). 이후 S310 단계 이후가 진행된다. 상술된 과정에 따라, 제 2, 제 3, 및 제 4 메모리 카드들(201,301,401)에는 각각 서로 다른 RCA 값들이 저장될 것이다. 이후, 호스트(501)는 다시 한번 카드 정보 명령을 전송하고, 이에 대한 응답이 없으면 카드 인식 과정을 종료한다. 이로써, 메모리 카드 시스템(20)의 카드 인식 과정이 종료된다.
도 1 및 도 7에 도시된 본 발명의 메모리 카드 시스템들은 카드 인식 과정에서 카드 인식 번호(CID)를 요청한다. 그러나 본 발명의 메모리 카드 시스템이 반드시 여기에 국한될 필요는 없다. 본 발명의 메모리 카드 시스템은 카드 인식 과정에서 카드 인식 번호(CID)에 대한 요청없이 곧바로 RCA 값 변경을 요청할 수 있다.
도 14는 본 발명에 따른 메모리 카드 시스템에 대한 제 3 실시예를 보여주는 도면이다. 도 14을 참조하면, 메모리 카드 시스템(30)은 도 1에 도시된 메모리 카드 시스템(10)에서 각 CID 레지스터들(142,242,342,442)이 제거된 구조이다. 본 발명의 메모리 카드 시스템(30)에서는 각 메모리 카드들(102,202,302,402)이 카드 인식 과정을 수행하기 위한 CID 레지스터를 구비할 필요가 없다.
도 15는 도 14에 도시된 메모리 카드 시스템(30)의 카드 인식 방법을 보여주는 도면이다. 도 14 및 도 15을 참조하면, 메모리 카드 시스템(30)의 카드 인식 과정은 아래와 같이 진행된다.
호스트(502)는 RCA 값 변경을 요청하는 명령(CMD_RCA1)을 제 1 메모리 카드(102)로 전송한다(①). 이때 명령(CMD_RCA1)의 RCA 비트에는 디폴트 RCA 값(예를 들어, '111')이 포함되고, 아규먼트 비트에는 변경될 RCA 값(예를 들어, '000')이 포함될 것이다. 카드 인식 전이기 때문에, 제 1 메모리 카드(102)의 RCA 레지스터(152)에는 디폴트 RCA 값이 저장되어 있다. 따라서, 제 1 메모리 카드(102)는 호스트(502)로부터 전송된 명령(CMD_RCA1)을 수용한다. 제 1 메모리 카드(102)는 수용된 명령(CMD_RCA1)에 따라 RCA 레지스터(152)의 디폴트 RCA 값(예를 들어, '111')을 새로운 RCA 값(예들 들어, '000')으로 변경한다. 이후, 제 1 메모리 카 드(102)는 수용된 명령(CMD_RCA1)에 따라 RCA 값이 변경이 완료되었다는 응답(ACK)을 호스트(502)로 전송한다(②). 이로써, 제 1 메모리 카드(102)에 대한 카드 인식 과정이 완료된다.
이후, 호스트(502)는 RCA 값 변경을 요청하는 새로운 명령(CMD_RCA2)을 제 1 메모리 카드(102)로 전송한다(③). 이때 명령(CMD_RAC2)에는 RCA 비트에는 디폴트 RCA 값(예를 들어, '111')이 포함되고, 아규먼트 비트에는 변경된 새로운 RCA 값(예를 들어, '001')이 포함될 것이다. 제 1 메모리 카드(102)는 카드 인식 동작이 완료되었기 때문에, 제 1 메모리 카드(102)의 RCA 레지스터(152)에는 디폴트 RCA 값이 아닌 값(예를 들어, '000')이 저장되어 있다. 따라서, 제 1 메모리 카드(102)는 호스트(502)로부터 전송된 명령(CMD_RCA1)을 수용하지 않고, 제 2 메모리 카드(202)로 전송한다(④).
제 2 메모리 카드(202)의 RCA 레지스터(252)에는 카드 인식 전이기 때문에 디폴트 RCA 값이 저장되어 있다. 따라서, 제 2 메모리 카드(202)는 전송된 명령(CMD_RCA2)을 수용한다. 제 2 메모리 카드(202)는 수용된 명령(CMD_RCA2)에 따라 RCA 레지스터(252)의 디폴트 RCA 값(예를 들어, '111')을 새로운 RCA 값(예들 들어, '001')으로 변경한다. 이후, 제 2 메모리 카드(202)는 수용된 명령(CMD_RCA2)에 따라 RCA 값이 변경이 완료되었다는 응답(ACK)을 호스트(502)로 전송한다(⑤,⑥). 이로써, 제 2 메모리 카드(202)에 대한 카드 인식 과정이 완료된다.
상술된 방법으로 제 3 및 제 4 메모리 카드들(302,402)에 대한 카드 인식 과정이 진행될 것이다. 이로써, 본 발명에 따른 메모리 카드 시스템(30)의 카드 인식 과정이 완료된다.
도 16은 본 발명에 따른 메모리 카드 시스템에 대한 제 4 실시예를 보여주는 도면이다. 도 16을 참조하면, 메모리 카드 시스템(40)에서는 도 14에 도시된 메모리 카드 시스템(30)과 비교하여 각 메모리 카드들(103,203,303,403)이 파티션 정보 레지스터들(153,253,353,453)을 더 포함한다. 여기서 파티션 정보 레지스터들(153,253,353,453)에는 각 메모리들의 파티션 정보가 저장될 것이다. 카드 인식 전에는 파티션 정보 레지스터들(153,253,353,453)은 동일한 디폴트 값으로 저장될 것이며, 카드 인식 후에는 사용자에 의해 파티션이 구분될 경우 대응하는 정보가 저장될 것이다.
도 17는 도 16에 도시된 메모리 카드 시스템의 카드 인식 방법을 보여주는 도면이다. 도 16 및 도 17을 참조하면, 메모리 카드 시스템(40)의 카드 인식 과정은 아래와 같이 진행된다.
호스트(503)는 파티션 정보를 요청하는 명령(CMD_PI)을 제 1 메모리 카드(103)으로 전송한다(①). 이때 명령(CMD_PI)의 RCA 비트에는 디폴트 RCA 값(예를 들어, '111_111')이 포함될 것이다. 카드 인식 전이기 때문에, 제 1 메모리 카드(103)의 RCA 레지스터(155)에는 디폴트 RCA 값이 저장되어 있다. 따라서, 제 1 메모리 카드(103)는 호스트(503)로부터 전송된 명령(CMD_PI)을 수용한다. 제 1 메모리 카드(103)는 수용된 명령(CMD_PI)에 따라 파티션 정보 레지스터(153)의 디폴트 값(예를 들어, '111')을 읽고, 그 값을 포함하는 응답(Response)을 호스트(503)로 전송한다(②).
이후, 호스트(503)는 RCA 값 변경을 요청하는 명령(CMD_RCA1)을 제 1 메모리 카드(103)로 전송한다(③). 이때 명령(CMD_RCA1)의 RCA 비트에는 디폴트 RCA 값(예를 들어, '111_111')이 포함되고, 아규먼트 비트에는 변경될 RCA 값(예를 들어, '000_000')이 포함될 것이다. 카드 인식 전이기 때문에, 제 1 메모리 카드(103)의 RCA 레지스터(155)에는 디폴트 RCA 값이 저장되어 있다. 따라서, 제 1 메모리 카드(103)는 호스트(503)로부터 전송된 명령(CMD_RCA1)을 수용한다. 제 1 메모리 카드(103)는 수용된 명령(CMD_RCA1)에 따라 RCA 레지스터(155)의 디폴트 RCA 값(예를 들어, '111_111')을 새로운 RCA 값(예들 들어, '000_000')으로 변경한다. 이후, 제 1 메모리 카드(103)는 수용된 명령(CMD_RCA1)에 따라 RCA 값이 변경이 완료되었다는 응답(ACK)을 호스트(502)로 전송한다(④). 이로써, 제 1 메모리 카드(103)에 대한 카드 인식 과정이 완료된다.
호스트(503)는 파티션 정보를 요청하는 명령(CMD_PI)을 제 1 메모리 카드(103)로 다시 전송한다(⑤). 이때 명령(CMD_PI)의 RCA 비트에는 디폴트 RCA 값(예를 들어, '111_111')이 포함될 것이다. 제 1 메모리 카드(103)의 RCA 레지스터(155)에는 카드 인식 후이기 때문에 디폴트 RCA 값이 아닌 값이 저장되어 있다. 따라서, 제 1 메모리 카드(103)는 호스트(503)로부터 전송된 명령(CMD_PI)을 수용하지 않고 제 2 메모리 카드(203)로 전송한다(⑥).
제 2 메모리 카드(203)의 RCA 레지스터(255)에는 카드 인식 전이기 때문에 디폴트 RCA 값이 저장되어 있다. 따라서, 제 2 메모리 카드(203)는 전송된 명령(CMD_PI)을 수용한다. 제 2 메모리 카드(203)는 수용된 명령(CMD_PI2)에 따라 파 티션 정보 레지스터(253)의 디폴트 값(예를 들어, '111')을 읽고, 그 값을 포함하는 응답(Response)을 호스트(503)로 전송한다(⑦,⑧).
이후, 호스트(503)는 RCA 값 변경을 요청하는 새로운 명령(CMD_RCA2)을 제 1 메모리 카드(103)로 전송한다(⑨). 이때 명령(CMD_RCA2)의 RCA 비트에는 디폴트 RCA 값(예를 들어, '111_111')이 포함되고, 아규먼트 비트에는 변경될 RCA 값(예를 들어, '001_000')이 포함될 것이다. 제 1 메모리 카드(103)의 RCA 레지스터(155)에는 카드 인식 후이기 때문에 디폴트 RCA 값이 아닌 값이 저장되어 있다. 따라서, 제 1 메모리 카드(103)는 호스트(503)로부터 전송된 명령(CMD_RCA2)을 수용하지 않고 제 2 메모리 카드(203)로 전송한다(⑩).
제 2 메모리 카드(203)의 RCA 레지스터(255)에는 카드 인식 전이기 때문에 디폴트 RCA 값이 저장되어 있다. 따라서, 제 2 메모리 카드(203)는 호스트(503)로부터 전송된 명령(CMD_RCA2)을 수용한다. 제 2 메모리 카드(203)는 수용된 명령(CMD_RCA2)에 따라 RCA 레지스터(255)의 디폴트 RCA 값(예를 들어, '111_111')을 새로운 RCA 값(예들 들어, '001_000')으로 변경한다. 이후, 제 2 메모리 카드(203)는 수용된 명령(CMD_RCA2)에 따라 RCA 값이 변경이 완료되었다는 응답(ACK)을 호스트(503)로 전송한다(⑪,⑫). 이로써, 제 2 메모리 카드(203)에 대한 카드 인식 과정이 완료된다.
상술된 방법으로 제 3 및 제 4 메모리 카드들(303,403)에 대한 카드 인식 과정이 진행될 것이다. 이로써, 본 발명에 따른 메모리 카드 시스템(20)의 카드 인식 과정이 완료된다.
도 18은 본 발명에 따른 메모리 카드 시스템의 소켓(421)을 보여주는 실시예이다. 도 18을 참조하면, 본 발명의 메모리 카드 시스템은 메모리 카드(400)의 삽입을 감지하는 감지기(425)가 구비된 소켓(421)을 포함하고 있다. 이 감지기(425)에 의해 검출된 신호는 호스트(500)의 인터럽트 신호와 연결된다. 만일, 메모리 카드(400)이 소켓(421)에 삽입되면, 소켓(421)의 감지기(425)는 이를 감지하고, 감지기(425)에 의해 감지된 신호에 따라 인터럽트 신호가 변경되어 호스트(500)는 메모리 카드(400)가 삽입되었음을 인식하게 된다. 이때 호스트(500)는 도 6에 도시된 바와 같이 카드 인식 동작을 수행하게 된다. 여기서 제 1, 제 2 , 제 3 메모리 카드들(100,200,300)은 이미 카드 인식이 완료되었기 때문에 삽입된 메모리 카드(400)만 카드 인식 동작이 수행될 것이다.
한편, 삽입되었던 메모리 카드(400)가 소켓(421)으로부터 빠질 경우에는, 소켓(421)의 감지기(425)에 의하여 감지되고, 감지기(425)에 의해 감지된 신호에 따라 인터럽트 신호가 변경되어 호스트(500)는 해당 메모리 카드(400)가 빠졌음을 인식하게 된다.
또한, 삽입되었던 메모리 카드(400)가 소켓(421)으로부터 빠질 경우에는, 호스트(500)는 인터럽트 신호에 대한 체크(check)를 하지 않고 해당 메모리 카드(400)에 대응되는 명령에 따라 소정의 시간 동안 응답이 없으면 삽입되었던 메모리 카드(400)가 없는 것으로 인식할 수도 있다.
도 19은 본 발명의 메모리 카드 시스템이 응용된 컴퓨터 시스템을 보여주는 도면이다. 도 19을 참조하면, 컴퓨터 시스템은 호스트(50), 디스플레이장치(60), DMB(70), 카메라(80), 및 메모리 카드들(90)을 포함한다. 여기서, 호스트(50) 및 메모리 카드들(90)은 도 1, 도 7, 도 14, 도 16에 도시된 메모리 카드 시스템들 중 어느 하나일 것이다. 호스트(50)는 디스플레이장치(60), DMB(70), 카메라(80) 및 메모리 카드들(90)과 병렬로 연결된다. 도 19에 도시된 컴퓨터 시스템은 휴대폰(Mobilephone)일 수 있다.
본 발명에 따른 메모리 카드 시스템에서는 복수의 메모리 카드들이 동일한 디폴트 RCA 값을 갖고, 통신되는 데이터에는 RCA 값이 포함된다. 본 발명의 메모리 카드 시스템에서는 호스트에 직렬로 연결된 복수의 메모리 카드들이 호스트의 가장 앞 단부터 차례로 RCA 값이 부여된다. 이로써, 일반 데이터 전송 모드를 이용하더라도 메모리 카드들에 대한 카드 인식이 수행될 수 있다.
상술된 메모리 카드 시스템들의 메모리 카드들은 데이터 수용 여부에 대한 결정을 제어기에서 수행하였다. 그러나, 본 발명의 메모리 카드들이 반드시 여기에 국한될 필요는 없다. 본 발명의 메모리 카드들 각각은 데이터의 수용 여부를 결정하기 위하여 RCA 레지스터에 저장된 값과 데이터에 포함된 RCA 비트를 비교하기 위한 별도의 비교 수단을 구비할 수 있다. 이러한 비교 수단은 물리 계층내에 배치될 수 있고 혹은 그것의 밖에 배치될 수도 있을 것이다.
또한, 본 발명의 메모리 카드 시스템의 카드 인식 방법에서는 RCA 값에 파티션 정보를 추가함으로써 호스트가 파티션 정보를 파악하기 위한 별도의 인식 동작을 수행할 필요가 없다.
한편, 본 발명에서는 논리적인 파티션 정보를 물리적인 카드 정보를 구별하 는 방법을 제시함으로써, RCA 부여시 논리적 대응 및 물리적 대응에 대한 쉬운 접근 방식이 제시된다.
본 발명의 복수의 메모리 카드들은 슬레이브인 것을 특징으로 한다. 이러한 메모리 카드들은 명령을 생성할 수 없다.
상술된 메모리 카드 시스템에서는 호스트가 포함되어 있지만, 본 발명의 메모리 카드 시스템이 반드시 여기에 국한될 필요는 없다. 본 발명의 메모리 카드 시스템은 호스트를 제외한 카드 인식전에 동일한 디폴트 상대 카드 어드레스 값이 저장된 복수의 메모리 카드들이 될 수도 있다.
본 발명은 메모리 카드에 국한될 필요는 없다. 본 발명은 장치 인식 전에 디폴트 상대 장치 어드레스 값을 저장하는 메모리 장치일 수 있다. 이러한 메모리 장치는, 상대 장치 어드레스(Ralative Device Address) 값을 저장하는 레지스터 및 상기 레지스터에 저장된 상대 장치 어드레스 값과 입력된 데이터에 포함된 상대 장치 어드레스 값을 비교하는 비교수단을 포함된다. 여기서 비교수단의 결과에 따라 입력된 데이터의 수용 여부가 결정된다. 이때, 메모리 장치가 인식되기 전에는 레지스터에 디폴트 상대 장치 어드레스 값이 저장되고, 메모리 장치가 인식된 후에는 레지스터에 디폴트 상대 장치 어드레스 값과 다른 값이 저장된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명에 따른 메모리 카드 시스템에 대한 제 1 실시예를 보여주는 도면이다.
도 2a는 본 발명의 카드 메모리 시스템의 물리 계층들을 구현한 실시예를 보여주는 도면이다.
도 2b는 본 발명의 카드 메모리 시스템의 물리 계층들을 구현한 다른 실시예를 보여주는 도면이다.
도 3은 본 발명에 따른 메모리 카드 시스템의 카드 인식 모드시 상태 다이어그램이다.
도 4a, 4b 및 4c는 본 발명에 따른 물리 계층들 사이에 전송되는 명령/응답/데이터 토큰에 대한 실시예를 보여주는 도면이다.
도 5는 본 발명에 따른 메모리 카드 시스템의 상대 카드 어드레스 값에 대한 실시예를 보여주는 표이다.
도 6은 본 발명에 따른 메모리 카드 시스템의 카드 인식 방법을 보여주는 도면이다.
도 7은 본 발명에 따른 메모리 카드 시스템에 대한 제 2 실시예를 보여주는 도면이다.
도 8은 카드 정보 레지스터들에 대한 실시예를 보여주는 도면이다.
도 9는 도 7에 도시된 메모리 카드 시스템의 상대 카드 어드레스 구성을 보여주는 도면이다.
도 10a, 10b 및 10c는 도 7에 도시된 메모리 카드 시스템에서 전송되는 명령/응답/데이터 토큰에 대한 실시예를 보여주는 도면이다.
도 11은 도 7에 도시된 제 1 메모리 카드 및 그것의 파티션 분할시 카드 인식 방법을 보여주는 도면이다.
도 12은 도 7에 도시된 메모리 카드 시스템의 상대 카드 어드레스 값에 대한 실시예를 보여주는 표이다.
도 13은 도 7에 도시된 메모리 카드 시스템의 카드 인식 방법에 대한 흐름도이다.
도 14는 본 발명에 따른 메모리 카드 시스템에 대한 제 3 실시예를 보여주는 도면이다.
도 15는 도 14에 도시된 메모리 카드 시스템의 카드 인식 방법을 보여주는 도면이다.
도 16은 본 발명에 따른 메모리 카드 시스템에 대한 제 4 실시예를 보여주는 도면이다.
도 17는 도 16에 도시된 메모리 카드 시스템의 카드 인식 방법을 보여주는 도면이다.
도 18은 본 발명의 메모리 카드 시스템의 소켓에 대한 실시예를 보여주는 도면이다.
도 19는 본 발명의 메모리 카드 시스템이 응용된 컴퓨터 시스템을 보여주는 도면이다.
*도면의 주요부분에 대한 부호의 설명*
10,20,30,40: 메모리 카드 시스템
100~103: 제 1 메모리 카드 200~203: 제 2 메모리 카드
300~303: 제 3 메모리 카드 400~403: 제 4 메모리 카드
500~503: 호스트
210~213: 제 1 물리 계층 220~223: 제 2 물리 계층
140,141,150,151,240,241,250,251,340,341,350,351,440,441,450,451: 제어기
160~163,260~263,360~353,460~463: 메모리
142,242,342,442: CID 레지스터 143,243,343,443: CI 레지스터
144,244,344,444,145,245,345,445: RCA 레지스터
11~14,21~24,31~34,41~44: 버스 라인
421~424: 소켓 425: 감지기

Claims (48)

  1. 복수의 메모리 카드들을 갖는 메모리 카드 시스템의 카드 인식 방법에 있어서:
    상기 복수의 메모리 카드들 각각에서 디폴트 상대 카드 어드레스 값을 변경하기 위한 명령을 전송받는 단계; 및
    상기 복수의 메모리 카드들 각각에서 상기 명령이 수용 가능한 지 판별하고, 상기 명령이 수용 가능하다면, 상기 디폴트 상대 카드 어드레스 값을 변경하는 단계를 포함하고,
    상기 복수의 메모리 카드들 각각은 카드 인식 전에 동일한 상기 디폴트 상대 카드 어드레스 값을 저장하는 카드 인식 방법.
  2. 제 1 항에 있어서,
    상기 복수의 메모리 카드들은 캐스케이드 구조로 연결되는 적어도 하나의 제 1 및 제 2 메모리 카드들을 포함하고,
    상기 제 1 메모리 카드에서 상기 명령이 수용가능하지 않으면, 상기 제 1 메모리 카드는 상기 전송된 명령을 상기 제 2 메모리 카드로 전송하는 카드 인식 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 명령은 상대 카드 어드레스 비트를 포함하고,
    상기 디폴트 상대 카드 어드레스 값을 변경하는 단계는 상기 명령에 포함된 상기 상대 카드 어드레스 비트의 값이 상기 디폴트 상대 카드 어드레스 값과 동일한 지를 판별하는 단계를 포함하는 카드 인식 방법.
  5. 제 1 항에 있어서,
    상기 디폴트 상대 카드 어드레스 값을 변경하는 단계 이후에,
    상기 디폴트 상대 카드 어드레스 값의 변경이 완료되었다는 응답을 외부로 전송하는 단계; 및
    상기 응답을 전송하는 단계 이후에, 상기 복수의 메모리 카드들 각각은 상기 외부로부터 상기 디폴트 상대 카드 어드레스 값을 변경하기 위한 새로운 명령을 전송받는 단계를 더 포함하는 카드 인식 방법.
  6. 제 5 항에 있어서,
    상기 명령 및 상기 새로운 명령는 각각 변경될 서로 다른 상대 카드 어드레스 값을 포함하는 카드 인식 방법.
  7. 제 2 항에 있어서,
    상기 제 2 메모리 카드로 상기 명령이 전송된 후에, 상기 명령이 상기 제 2 메모리 카드에 수용 가능한 지 판별하는 단계; 및
    상기 명령이 상기 제 2 메모리 카드에 수용 가능하다면, 상기 제 2 메모리 카드의 디폴트 상대 어드레스 값을 새로운 상대 카드 어드레스로 변경하는 단계를 더 포함하는 카드 인식 방법.
  8. 제 2 항에 있어서,
    상기 명령을 전송받는 단계 이전에,
    상기 제 1 및 제 2 메모리 카드들 각각에서 카드 정보를 요청하는 명령을 전송받는 단계; 및
    상기 제 1 및 제 2 메모리 카드들 중 적어도 하나에서 상기 카드 정보의 요청하는 명령이 수용 가능하다면, 상기 카드 정보를 요청하는 명령에 따라 상기 카드 정보를 전송하는 단계를 포함하는 카드 인식 방법.
  9. 제 8 항에 있어서,
    상기 카드 정보를 요청하는 명령이 제 1 메모리 카드에서 수용가능하지 않으면, 상기 제 1 메모리 카드는 상기 전송된 상기 카드 정보를 요청하는 명령을 다음 단의 상기 제 2 메모리 카드로 전송하고,
    상기 제 2 메모리 카드에 상기 카드 정보를 요청하는 명령이 수용가능하다면, 상기 제 2 메모리 카드는 상기 카드 정보를 요청하는 명령에 따라 상기 제 2 메모리 카드의 카드 정보를 상기 제 1 메모리 카드를 경유하여 외부로 전송하는 것을 특징으로 하는 카드 인식 방법.
  10. 호스트;
    상기 호스트와 직렬 통신하는 제 1 메모리 카드; 및
    상기 제 1 메모리 카드에 캐스케이드 구조로 연결된 복수의 메모리 카드들을 포함하되,
    상기 제 1 메모리 카드 및 상기 복수의 메모리 카드들 각각은 카드 인식 전에 동일한 디폴트 상대 카드 어드레스 값을 저장하고, 디폴트 상대 카드 어드레스 값을 변경하도록 하는 명령을 전송받고, 상기 전송된 명령이 수용 가능한 지 판별하고, 상기 판별결과로써 수용가능하다면, 상기 디폴트 상대 카드 어드레스 값을 변경함으로써 카드 인식 과정이 수행되는 메모리 카드 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020080010253A 2008-01-31 2008-01-31 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법 KR101412524B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020080010253A KR101412524B1 (ko) 2008-01-31 2008-01-31 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법
US12/353,403 US8166230B2 (en) 2008-01-31 2009-01-14 Memory systems and methods of initializing the same
TW098102549A TWI438629B (zh) 2008-01-31 2009-01-22 記憶體系統以及其初始化方法
US13/421,964 US8539143B2 (en) 2008-01-31 2012-03-16 Memory systems and methods of initiallizing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080010253A KR101412524B1 (ko) 2008-01-31 2008-01-31 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법

Publications (2)

Publication Number Publication Date
KR20090084209A KR20090084209A (ko) 2009-08-05
KR101412524B1 true KR101412524B1 (ko) 2014-06-25

Family

ID=41204797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080010253A KR101412524B1 (ko) 2008-01-31 2008-01-31 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법

Country Status (3)

Country Link
US (2) US8166230B2 (ko)
KR (1) KR101412524B1 (ko)
TW (1) TWI438629B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101412524B1 (ko) * 2008-01-31 2014-06-25 삼성전자주식회사 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법
TWI423033B (zh) * 2009-12-22 2014-01-11 Ind Tech Res Inst 可串接之序列匯流排卡裝置及其管理方法及串接方法
US8638622B2 (en) * 2011-07-06 2014-01-28 Arm Limited Apparatus and method for receiving a differential data strobe signal
TWI459289B (zh) * 2012-01-03 2014-11-01 Sk Hynix Inc Embedded memory card control system with no power sleep mode and its embedded memory card
CN103197750B (zh) * 2012-01-09 2015-10-28 爱思开海力士有限公司 内嵌式记忆卡控制系统及其内嵌式记忆卡
US9507639B2 (en) 2012-05-06 2016-11-29 Sandisk Technologies Llc Parallel computation with multiple storage devices
KR102528557B1 (ko) * 2016-01-12 2023-05-04 삼성전자주식회사 다중 연결 포트를 갖는 반도체 장치, 메모리 시스템의 동작 방법 및 스토리지 시스템의 통신 방법
KR102656189B1 (ko) 2016-07-19 2024-04-11 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치를 제어하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 스토리지 장치의 컨트롤러의 동작 방법
CN106761267A (zh) * 2016-08-31 2017-05-31 威海北洋光电信息技术股份公司 高频级联图书防盗门
KR20180032728A (ko) 2016-09-22 2018-04-02 삼성전자주식회사 저장 장치, 저장 장치를 포함하는 사용자 장치, 및 사용자 장치의 동작 방법
KR20180033368A (ko) * 2016-09-23 2018-04-03 삼성전자주식회사 케스-케이드 연결 구조로 레퍼런스 클록을 전달하는 스토리지 장치들을 포함하는 전자 장치
KR20180034778A (ko) * 2016-09-27 2018-04-05 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치로의 바이패스 경로를 제공하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 그것을 이용하여 통신하는 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297470A (ja) 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> Icカードのアクセス管理システム
JP2004362585A (ja) * 2003-06-03 2004-12-24 Lexar Media Inc カード識別の互換性
JP2006155129A (ja) 2004-11-29 2006-06-15 Matsushita Electric Ind Co Ltd メモリカードドライブおよびメモリカード

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137011B1 (en) * 1993-09-01 2006-11-14 Sandisk Corporation Removable mother/daughter peripheral card
JPH11272601A (ja) 1998-03-24 1999-10-08 Fuji Electric Co Ltd カスケード接続カード、このカードにより構成されるシステムにおけるid割付け方法、及び共通バスのバス使用権優先判定方法
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US20060075395A1 (en) * 2004-10-01 2006-04-06 Lee Charles C Flash card system
US6820148B1 (en) 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
JP2004192488A (ja) * 2002-12-13 2004-07-08 Renesas Technology Corp データプロセッサ及びメモリカード
US20050086413A1 (en) * 2003-10-15 2005-04-21 Super Talent Electronics Inc. Capacity Expansion of Flash Memory Device with a Daisy-Chainable Structure and an Integrated Hub
US7650459B2 (en) * 2006-12-21 2010-01-19 Intel Corporation High speed interface for non-volatile memory
KR101412524B1 (ko) * 2008-01-31 2014-06-25 삼성전자주식회사 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297470A (ja) 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> Icカードのアクセス管理システム
JP2004362585A (ja) * 2003-06-03 2004-12-24 Lexar Media Inc カード識別の互換性
JP2006155129A (ja) 2004-11-29 2006-06-15 Matsushita Electric Ind Co Ltd メモリカードドライブおよびメモリカード

Also Published As

Publication number Publication date
TWI438629B (zh) 2014-05-21
KR20090084209A (ko) 2009-08-05
TW200939020A (en) 2009-09-16
US20120179871A1 (en) 2012-07-12
US8539143B2 (en) 2013-09-17
US8166230B2 (en) 2012-04-24
US20100011164A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
KR101412524B1 (ko) 메모리 장치, 메모리 카드 시스템 및 그것의 카드 인식방법
US10554617B2 (en) Device identifier selection
US9235546B2 (en) System and method for data read of a synchronous serial interface NAND
EP2474916B1 (en) Device identifier selection
US9052843B2 (en) Card and host device
US20190108156A1 (en) Interface circuit and packet transmission method thereof
KR20110010707A (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
CN103631534B (zh) 数据存储系统以及其管理方法
KR100866625B1 (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
JP5010065B2 (ja) マイクロコンピュータ
JPWO2006006388A1 (ja) ホスト機器、記憶装置、及び記憶装置へのアクセス方法
CN111209221B (zh) 存储系统
JP2013140541A (ja) 半導体記憶装置
CN101354610B (zh) 以虚拟信道进行键盘控制器与电脑系统间的信号传输方法
JP2004046891A (ja) データ処理システム、データ処理装置、外部装置及びデータ伝送方法
CN104636081A (zh) 数据存储系统以及其管理方法

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