KR101375797B1 - 저장 용량이 큰 멀티 미디어 카드 - Google Patents

저장 용량이 큰 멀티 미디어 카드 Download PDF

Info

Publication number
KR101375797B1
KR101375797B1 KR1020087027539A KR20087027539A KR101375797B1 KR 101375797 B1 KR101375797 B1 KR 101375797B1 KR 1020087027539 A KR1020087027539 A KR 1020087027539A KR 20087027539 A KR20087027539 A KR 20087027539A KR 101375797 B1 KR101375797 B1 KR 101375797B1
Authority
KR
South Korea
Prior art keywords
command
predetermined
memory module
bits
selected memory
Prior art date
Application number
KR1020087027539A
Other languages
English (en)
Other versions
KR20090007412A (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 KR20090007412A publication Critical patent/KR20090007412A/ko
Application granted granted Critical
Publication of KR101375797B1 publication Critical patent/KR101375797B1/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/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Static Random-Access Memory (AREA)

Abstract

멀티 미디어 카드(204)가 복수의 메모리 모듈들(206, 208) 및 외부 커맨드 디코더(238)를 포함한다. 외부 커맨드 디코더는, 소정의 커맨드의 소정의 비트가 소정의 로직 레벨로 설정될 때, 액세스될 선택된 메모리 모듈을 복수의 메모리 모듈들로부터 결정하기 위해 상기 소정의 커맨드를 디코딩한다.

Description

저장 용량이 큰 멀티 미디어 카드{MULTI MEDIA CARD WITH HIGH STORAGE CAPACITY}
본 발명은 일반적으로 멀티 미디어 카드에 관한 것으로, 특히 멀티 미디어 카드의 저장 용량을 증가시키는 효율적인 매커니즘에 관한 것이다.
도 1을 참조하면, 전자 디바이스(electronic device)(102)는, 웹사이트 http://www.mmca.org에서 설명된 바와 같이, 많은 양의 오디오 및 비디오 데이터를 저장하는 멀티 미디어 카드(Multi Media Card, MMC)(104)를 사용한다. 전자 디바이스(102)는 MMC(104)를 수용하기 위한 슬롯(106)을 포함한다. 전자 디바이스(102)는 셀 폰, PDA(Personal Digital Assistant), 디지털 카메라 등일 수 있다. MMC(104)는 전형적으로 4GB(기가바이트)의 메모리 용량을 가진다.
그러나, 전자 디바이스는, 전자 디바이스(102)가 복수의 애플리케이션을 실행시킬 때 처럼, 4GB보다 더 큰 메모리 용량을 요구할 수 있다. 도 2는 상대적으로 많은 양의 데이터에 액세스하는 제 1 애플리케이션(108) 및 제 2 애플리케이션(110)을 구비한 전자 디바이스(102)의 블럭도를 나타낸다. 두 개의 애플리케이션(108 및 110)은 전자 디바이스(102)의 호스트 시스템(112)에 상주한다. 호스트 시스템(112)은 또한 제 1 MMC(Multi Media Card) 호스트 제어기(116) 및 제 2 MMC 호스트 제어기(118)를 구비한 CPU(Central Processing Unit)(114)를 포함한다.
제 1 및 제 2 애플리케이션(108 및 110)이 4GB보다 큰 데이터를 사용하기 때문에, 전자 디바이스(102)는 제 1 MMC(Multi Media Card)(120) 및 제 2 MMC(Multi Media Card)(122)를 포함한다. 제 1 MMC(120)는 4GB의 메모리 용량을 가진 제 1 메모리 모듈(126) 상에서 메모리 동작을 수행하는 제 1 MMC 슬레이브 제어기(slave controller)(124)를 포함한다. 제 2 MMC(122)는 4GB의 메모리 용량을 가진 제 2 메모리 모듈(130) 상에서 메모리 동작을 수행하는 제 2 MMC 슬레이브 제어기(128)를 포함한다.
전자 디바이스(102)는 또한 제 1 MMC 호스트 제어기(116)와 제 1 MMC(120) 간의 신호 교환을 위한 제 1 인터페이스 핀(132)과, 그리고 제 2 MMC 호스트 제어기(118)와 제 2 MMC(122) 간의 신호 교환을 위한 제 2 인터페이스 핀(134)을 포함한다.
도 3은 4GB보다 큰 메모리 용량을 요구하는 단지 하나의 애플리케이션(108)을 구비한 전자 디바이스(140)의 블럭도를 나타낸다. 따라서, 전자 디바이스(140)는 복수의 MMC(120 및 122)를 사용한다. 도 1, 도 2, 및 도 3에서 동일한 참조 번호를 갖는 요소들은 유사한 구조 및/또는 기능을 가진 요소를 나타낸다.
도 2 및 도 3 중 어느 한 경우에, 호스트 제어기(116 및 118)는, 웹 사이트 http://www.mmca.org에서 특정된 바와 같이, 멀티 미디어 카드에 대한 커맨드를 발생시키기 위한 현재의 표준에 따른, 어드레싱을 위한 32 비트를 갖는 48 비트 커맨드를 발생시킨다. 따라서, 각각의 MMC(120 또는 122)는 대략 4GB(즉, 232)의 데이터를 가진 각각의 메모리 모듈(126 혹은 130)을 가진다.
그러나, 도 2 및 도 3에서와 같은 복수의 MMC(120 및 122)를 사용하는 것은 비효율적인데, 왜냐하면 전자 디바이스에 복수의 슬롯 및 복수의 인터페이스 핀(132 및 134)을 형성하기 위해서는 비용이 들고, 그리고 복수의 MMC(120 및 122)에 대해서도 비용이 들기 때문이다. 추가로, MMC를 사용하는 전자 디바이스는 전형적으로 휴대가능한 디바이스이고, 그래서 복수의 MMC는 휴대용 전자 디바이스의 크기를 바람직하지 않게 증가시킨다.
따라서, MMC의 메모리 용량을 증가시킬 수 있는 효율적인 매커니즘이 필요하다. 어드레싱을 위해 32 비트보다 더 많은 비트를 갖는 커맨드를 갖는 새로운 커맨드 표준이 하나의 해법일 수 있다. 그러나, 새로운 커맨드 표준의 승인 및 채택에는 시간이 걸린다. 추가로, 새로운 커맨드 표준의 구현은 호스트 제어기(116 및 118)에 하드웨어 변경을 필요로 하는데, 이것은 일반적으로 많은 노력을 필요로 한다.
따라서, 본 발명은 기존 커맨드 표준을 사용하여 MMC(Multi Media Card)의 메모리 용량을 효율적으로 증가시키는 것에 관한 것이다.
본 발명의 일 실시형태에서, 멀티 미디어 카드(multi media card)는 복수의 메모리 모듈(memory module)들 및 외부 커맨드 디코더(extraneous command decoder)를 포함한다. 외부 커맨드 디코더는, 소정의(predetermined) 커맨드(command)의 소정의 비트(bit)가 소정의 로직 레벨(logic level)로 설정될 때, 액세스(access)될 선택된 메모리 모듈(selected memory module)을 복수의 메모리 모듈들로부터 결정하기 위해 상기 소정의 커맨드를 디코딩(decoding)한다.
본 발명의 또 다른 실시예에서, 멀티 미디어 카드는, 소정의 커맨드의 소정의 비트가 소정의 로직 레벨로 설정되지 않을 때, 복수의 메모리 모듈들 중 소정의 메모리 모듈 상에서 수행될 동작을 특정하는 상기 소정의 커맨드를 디코딩하는 일반적인 커맨드 디코더(usual command decoder)를 더 포함한다. 본 발명의 예시적 실시예에서, 상기 메모리 모듈들 중 상기 소정의 메모리 모듈 상에서 수행될 동작은 블럭 판독/기입 동작(block read/write operation)이고, 그리고 상기 소정의 커맨드는 상기 블럭 판독/기입 동작에 대한 블럭 길이를 특정한다.
본 발명의 또 다른 실시예에서, 상기 일반적인 커맨드 디코더는 상기 선택된 메모리 모듈 상에서의 적어도 하나의 메모리 동작에 대한 적어도 하나의 후속 커맨드를 디코딩한다.
본 발명의 예시적 실시예에서, 상기 소정의 커맨드의 비트들의 세트의 핫 비트(hot bit)는 상기 선택된 메모리 모듈을 표시한다. 본 발명의 또 다른 실시예에서, 상기 소정의 커맨드의 비트들의 세트의 비트 패턴(bit pattern)은 상기 선택된 메모리 모듈을 표시한다.
이와 같은 방식으로, 기존의 커맨드는 상기 선택된 메모리 모듈을 표시하기 위해 사용될 수 있고, 그래서 복수의 메모리 모듈들이 멀티 미디어 카드 상에 형성될 수 있고 액세스될 수 있다. 기존의 커맨드는 두 가지 목적, 즉 소정의 메모리 모듈에 대한 일반적인 커맨드를 특정하기 위한 목적(그래서 초기의 MMC 모델과 하위 호환성(backward compatibility)을 제공함) 혹은 멀티 미디어 카드 상에서의 복수의 메모리 모듈들 중 선택된 메모리 모듈을 특정하기 위한 목적(그래서 메모리 용량을 증가시킬 수 있음)을 위해 사용된다. 본 발명의 이러한 매커니즘은 전자 디바이스의 호스트 시스템에서의 소프트웨어 변경으로 그리고 멀티 미디어 카드의 슬레이브 제어기(slave controller)에서의 하드웨어 변경으로 효율적으로 구현된다.
본 발명의 이러한 특징 및 장점 그리고 기타의 것은 본 발명에 관한 다음의 상세한 설명을 고려함으로써 더 잘 이해될 수 있고, 이것은 첨부되는 도면과 함께 제공된다.
도 1은 종래 기술에서 알려진 멀티 미디어 카드를 사용하는 전자 디바이스를 나타낸다.
도 2는 종래 기술에 따른 복수의 애플리케이션을 실행시키기 위해 복수의 멀티 미디어 카드를 사용하는 전자 디바이스의 블럭도를 나타낸다.
도 3은 종래 기술에 따른 많은 양의 데이터를 요구하는 애플리케이션을 실행시키기 위해 복수의 미디어 카드를 사용하는 전자 디바이스의 블럭도를 나타낸다.
도 4는 본 발명의 실시예에 따른 복수의 애플리케이션을 실행시키기 위해 큰 데이터 용량을 갖는 단일의 멀티 미디어 카드를 사용하는 전자 디바이스의 블럭도를 나타낸다.
도 5는 본 발명의 실시예에 따른, 많은 데이터 양을 요구하는 단일의 애플리 케이션을 실행시키기 위해 더 큰 데이터 용량을 갖는 단일의 멀티 미디어 카드를 사용하는 전자 디바이스의 블럭도를 나타낸다.
도 6은 본 발명의 실시예에 따른, 도 4 또는 도 5에서의 강화된 멀티 미디어 카드 슬레이브 제어기의 블럭도이다.
도 7 및 도 8은 본 발명의 실시예에 따른, 도 4 또는 도 5에서의 강화된 소프트웨어 드라이버에 의해 수행되는 단계들의 흐름도를 나타낸다.
도 9는 본 발명의 실시예에 따른, 도 6의 강화된 멀티 미디어 카드 슬레이브 제어기에 의해 수행되는 단계들의 흐름도를 나타낸다.
도 10은 본 발명의 실시예에 따른, 도 4 또는 도 5의 멀티 미디어 카드에서의 메모리 모듈들 중 소정의 메모리 모듈에서의 블럭 판독/기입 동작에 대한 신호들의 타이밍도를 나타낸다.
도 11은 본 발명의 실시예에 따른, 도 4 또는 도 5의 멀티 미디어 카드에서의 도 10의 소정의 메모리 모듈과는 별도의 선택된 메모리 모듈에서의 블럭 판독/기입 동작에 대한 신호들의 타이밍도를 나타낸다.
도 12는 본 발명의 실시예에 따른, 서로 다른 선택된 메모리 모듈들 간의 스위칭을 나타내는 커맨드 신호들의 타이밍도를 나타낸다.
본 명세서에서의 도면들은 명확한 설명을 위해 도시되었고 그리고 반드시 일정 비율로 도시된 것이 아니다. 도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 및 12에서의 동일한 참조 번호를 갖는 요소들은 유사한 구조 및/또는 기능을 갖는 요소를 나 타낸다.
도 4는 본 발명의 실시예에 따른 호스트 시스템(202) 및 멀티 미디어 카드(204)를 구비한 전자 디바이스(200)의 블럭도를 나타낸다. 전자 디바이스(200)는 셀 폰, PDA(Personal Digital Assistant), 디지털 카메라, 혹은 멀티 미디어 카드를 사용하는 임의의 다른 타입의 전자 디바이스일 수 있다.
멀티 미디어 카드(MMC)(204)는 복수의 메모리 모듈(206 내지 208)을 구비한 증가된 메모리 용량을 가진다. 일반적으로, 멀티 미디어 카드(204)는 N 개의 메모리 모듈을 가지고 있으며, 그 각각은 예를 들어 약 4GB의 메모리 용량을 가지고 있다. 멀티 미디어 카드는 또한 복수의 메모리 모듈(206 내지 208)에 액세스하기 위한 강화된 MMC 슬레이브 제어기(210)를 포함한다.
호스트 시스템(202)은 메모리 모듈(206 내지 208)에 저장된 데이터를 사용하여 복수의 애플리케이션(212 내지 214)을 실행시킨다. 애프리케이션들(212 내지 214) 각각은 각각의 강화된 소프트웨어 드라이버(213 내지 215)를 갖는다. 호스트 시스템(202)은 또한, MMC 호스트 제어기(218)를 갖는 호스트 CPU(Central Processing Unit, 즉 데이터 프로세서)(216)를 포함한다. 호스트 시스템(202)은 호스트 메모리 디바이스(220)를 또한 포함하며, 호스트 메모리 디바이스(220) 상에는 일련의 명령들이 저장된다. 강화된 소프트웨어 드라이버들(213 내지 215) 중 어느 하나에 의한 이러한 일련의 명령들의 실행은 이러한 소프트웨어 드라이버가 도 7 및 도 8의 흐름도의 단계들을 수행하도록 한다.
전자 디바이스(200)는 또한 호스트 시스템(202)의 MMC 호스트 제어기(218)와 MMC(204)의 MMC 슬레이브 제어기(210) 간의 신호 교환을 위한 인터페이스 핀(222)을 더 포함한다. 열세 개의 핀(222)은, 웹 사이트 http://www.mmca.org에서 특정된 바와 같이, MMC를 구현하기 위한 현재의 물리적 표준에 따라 사용된다.
도 5는 본 발명의 또 다른 실시예에 따른 전자 디바이스(230)의 블럭도를 나타낸다. 도 5의 전자 디바이스(230)는 도 4의 전자 디바이스(200)와 유사하고, 도 4 및 도 5에서의 동일한 참조 번호를 갖는 요소는 유사한 구조 및/또는 기능을 갖는 요소를 나타낸다. 그러나, 도 5에서의 호스트 시스템(202)은 복수의 메모리 모듈들(206 내지 208)로부터 상대적으로 많은 양의 데이터를 요구하는 단일의 애플리케이션(232)을 실행시킨다. 단일의 애플리케이션(232)은 강화된 소프트웨어 드라이버(233)를 가지고 있으며, 그리고 강화된 소프트웨어 드라이버(233)에 의한 메모리 디바이스(220)에 저장된 일련의 명령들의 실행은 소프트웨어 드라이버(233)로 하여금 도 7 및 도 8의 흐름도의 단계들을 수행하도록 한다.
도 6은 본 발명의 실시예에 따른 도 4 또는 도 5의 강화된 MMC 슬레이브 제어기(210)의 블럭도를 나타낸다. 슬레이브 제어기(210)는 인터페이스 핀들(222) 중 여덟 개의 핀들(DATA) 사이에 연결된 데이터 멀티플렉서(232)를 포함한다. 슬레이브 제어기(210)는 또한 인터페이스 핀(222)의 커맨드 핀(CMD)에 연결된 커맨드 비직렬화기(command deserializer)(234)를 포함한다.
커맨드 비직렬화기(234)는 일반적인 커맨드 디코더(236) 및 외부 커맨드 디코더(238)에 연결된다. 일반적인 커맨드 디코더(236)는 메모리 인터페이스(242)를 통해 복수의 메모리 모듈들(206 내지 208)에 액세스하는 메모리 제어기 상태 머신(240)에 연결된다.
데이터 멀티플렉서(232)는 데이터 핀들(DATA)과 메모리 제어기 상태 머신(240) 간의 데이터를 교환한다. 커맨드 비직렬화기(234)는 커맨드 핀(CMD)을 통해 호스트 제어기(218)로부터의 커맨드의 전체 비트(예를 들어 48 비트)를 직렬로 수신한다. 그 다음에, 커맨드 비직렬화기(234)는 이러한 커맨드를 비직렬화하여, 일반적인 커맨드 디코더(236) 및 외부 커맨드 디코더(238)에 커맨드의 비트를 제공한다.
일반적인 커맨드 디코더(236)는, 메모리 모듈들(206 내지 208) 중 어느 하나의 메모리 모듈 상에서의 메모리 동작을 수행하는 메모리 제어기 상태 머신을 제어하기 위해 이러한 커맨드를 디코딩한다. 외부 커맨드 디코더(238)는, 액세스를 위해 메모리 모듈들(206 내지 208) 중 어느 것이 선택되어야 하는지(즉, 선택된 메모리 모듈(Selected Memory Module, SMM))를 표시하기 위해 소정의 커맨드를 디코딩한다.
슬레이브 제어기(210)의 컴포넌트들(232, 234, 236, 240, 및 242)은 개별적으로 멀티 미디어 카드에 관한 종래 기술 분야에서 통상의 기술을 가진 자에게 알려져 있다. 슬레이브 제어기(210)는 본 발명의 실시예에 따른 외부 커맨드 디코더(238)를 포함함으로써 강화된다. 도 9는 본 발명의 실시예에 따른 외부 커맨드 디코더(238)에 의해 수행되는 단계들의 흐름도를 나타낸다.
도 4의 멀티 미디어 카드(200) 및 도 5의 멀티 미디어 카드(230)의 동작이 이제 도 7, 도 8, 및 도 9의 흐름도를 참조하여 설명된다. 도 4, 도 5, 및 도 7를 참조하면, 강화된 소프트웨어 드라이버들(213 내지 215(또는 233))은, 애플리케이션들(212 내지 214(또는 232)) 중 각각의 애플리케이션으로부터, 복수의 메모리 모듈들(206 내지 208) 중 선택된 메모리 모듈(SMM)에 액세스하려는 요청을 수신한다(도 7의 단계(252)). 그 다음에, 이러한 강화된 소프트웨어 드라이버는 SMM이 메모리 모듈들(206 내지 208) 중 소정의 메모리 모듈인지 여부를 결정한다(도 7의 단계(254)). 예를 들어, 강화된 소프트웨어 드라이버는 SMM이 제 1 메모리 모듈(206)인지 여부를 결정한다. 이러한 특징으로, 단지 하나의 메모리 모듈(206)을 사용하는 이전의 멀티 미디어 카드 모델과의 하위 호환이 가능하다.
만약 SMM이 제 1 메모리 모듈(206)이라면, 강화된 소프트웨어 드라이버는 커맨드가 블럭 판독/기입에 대한 것인지 여부를 결정한다(도 7의 단계(256)). 각각의 커맨드는 그 커맨드에 대한 식별자를 가진다. 예를 들어, 커맨드에 대한 전체 48 비트 중 6 비트가 가능하게는 64 개의 서로 다른 커맨드들에 대한 식별을 위해 사용될 수 있다. 웹 사이트 http://www.mmca.org에서 특정된 바와 같이 커맨드에 대한 현재의 표준에 있어, 블럭 판독/기입 동작에 대한 블럭 길이를 표시하는 커맨드는 커맨드 16(CMD16)으로서 식별된다.
만약 커맨드가 CMD16에 대한 것이 아니라면, 강화된 소프트웨어 드라이버는 특정 타입의 커맨드를 식별하기 위한 비트들의 세트를 포함하는 48 비트의 커맨드를 발생시킨다(도 7의 단계(258)). 추가적으로, 그 커맨드에 대한 전체 48 비트에서 비트들의 또 다른 세트(예를 들어 32 비트)가 커맨드에 대응하는 동작에 대해 액세스되는 제 1 메모리 모듈(206)에서의 어드레스를 표시한다. 48 비트의 이러한 커맨드는 MMC 호스트 제어기(218) 및 커맨드 핀(CMD)를 통해 멀티 미디어 카드의 슬레이브 제어기(210)에 전해진다(도 7의 단계(260)). 그 다음에, 강화된 소프트웨어 드라이버는, 또 다른 커맨드가 애플리케이션들(212 내지 214(또는 232)) 중 하나로부터 수신될 때 까지, 아이들 상태(idle state)(262)에 들어간다.
도 7의 단계(256)를 다시 참조하면, 만약 커맨드가 CMD16이라면, 강화된 소프트웨어 드라이버는, 제 1 메모리 모듈(206)이 액세스되어야 함을 표시하기 위해, 로직(logic) 로우 레벨(low level) "0"(도 7의 단계(264))으로의 어드레싱을 위해 할당된 32 비트 중 MSB(Most Significant Bit)를 설정함으로써 이러한 커맨드를 발생시킨다. 추가로, 강화된 소프트웨어 드라이버는 6 비트 커맨드 식별자를 포함하는 CMD16의 전체 48 비트 중 나머지를 발생시킨다. 더욱이, 강화된 소프트웨어 드라이버는 블럭 판독/기입 동작에 대한 블럭 길이를 표시하도록 (MSB를 제외하고) 어드레싱을 위한 32 비트의 나머지를 설정한다(도 7의 단계(266)).
도 7에서의 단계(266) 이후에, 이러한 CMD16의 전체 48 비트는 MMC 호스트 제어기(218) 및 커맨드 핀 CMD을 통해 멀티 미디어 카드의 슬레이브 제어기(210)에 전해진다(도 7의 단계(260)). 그 다음에, 강화된 소프트웨어 드라이버는, 또 다른 커맨드가 애플리케이션들(212 내지 214(혹은 232)) 중 하나로부터 수신될 때까지 아이들 상태(262)에 진입한다.
도 7의 단계(254)를 다시 참조하면, 만약 SMM이 제 1 모듈이 아니라면, 강화된 소프트웨어 드라이버는 커맨드가 블럭 판독/기입에 대한 것인지 여부를 결정한다(도 8의 단계 268). 만약 커맨드가 블럭 판독/기입에 대한 것이 아니라면, 강화된 소프트웨어 드라이버는 먼저, 어드레싱을 위한 32비트 중 MSB(Most Significant Bit)가 로직(logic) 하이 레벨(high level) "1"로 설정된 CMD16을 발생시킨다(도 8의 단계(270)).
추가로, 어드레싱을 위한 (MSB를 제외하고) 32 비트의 나머지는 선택된 메모리 모듈을 표시하기 위해 강화된 소프트웨어 드라이버에 의해 사용된다(도 8의 단계(270)). 예를 들어, 어드레싱을 위한 나머지 31 비트 중 하나는 핫 비트(hot bit)로서 로직 하이 레벨로 설정되어(여기서, 나머지 31 비트의 나머지는 로직 로우 레벨로 설정됨), 메모리 모듈들 중 어느 것이 선택된 메모리 모듈인지가 표시된다. 이러한 예는 32개의 메모리 모듈 전체가 멀티 미디어 카드(204)에서 사용될 수 있게 한다.
대안적으로, 강화된 소프트웨어 드라이버는, 선택된 메모리 모듈을 표시하기 위해 CMD16에서 어드레싱용으로 사용된 나머지 31 비트의 비트 패턴을 설정한다. 그러한 경우에, 제 1 메모리 모듈(206) 외에 231개의 추가적인 메모리 모듈들 모두가 멀티 미디어 카드(204) 상에서 사용될 수 있다. 어느 경우이건 간에, 이렇게 발생된 CMD16은 멀티 미디어 카드(204)로 전송된다(도 8의 단계(270)).
추가로, 강화된 소프트웨어 드라이버는 적어도 하나의 후속 커맨드를 발생시켜, 단계(252)에서의 액세스를 위한 요청에 대응하는 선택된 메모리 모듈 상에서 수행될 메모리 기능이 표시된다(도 8의 단계(272)). 이러한 후속 커맨드는 멀티 미디어 카드(204)로 전송된다(도 8의 단계(272)). 선택된 메모리 모듈이 단계(270)에서 표시된다면, 단계(272)에서의 후속 커맨드가 일반적으로 발생된다. 그 다음에, 강화된 소프트웨어 드라이버는, 또 다른 커맨드가 애플리케이션들(212 내지 214(또는 232)) 중 하나로부터 수신될 때 까지, 도 8에서의 아이들 상태(274)에 들어간다.
도 8의 단계(268)를 다시 참조하면, 만약 현재 커맨드가 블럭 판독/기입에 대한 것이고, 그리고 선택된 메모리 모듈이 제 1 메모리 모듈(206)에 대한 것이 아니라면, 강화된 소프트웨어 드라이버는 먼저 단계(270)와 유사하게 CMD16을 발생시킨다(도 8의 단계(276)). 따라서, CMD16에서 어드레싱을 위한 32 비트 중 MSB(Most Significant Bit)는 로직 하이 레벨 "1"로 설정되고(도 8의 단계(276)), 그리고 어드레싱을 위한 (MSB를 제외하고) 32 비트의 나머지는 선택된 메모리 모듈을 표시한다(도 8의 단계(276)). 이러한 CMD16은 멀티 미디어 카드(204)로 전송된다(도 8의 단계(276)).
선택된 메모리 모듈이 CMD16으로 표시된 이후에, 강화된 소프트웨어 드라이버는 선택된 메모리 모듈에 대한 블럭 판독/기입을 수행하기 위해 몇 개의 후속 커맨드를 발생시킨다. CMD18/CMD25가 강화된 소프트웨어 드라이버에 의해 발생되고, 그리고 멀티 미디어 카드(204)로 전송되어 블럭 판독/기입 동작에 대한 선택된 메모리 모듈에서의 시작 어드레스가 표시된다(도 8의 단계(278)).
따라서, 멀티 미디어 카드(204)는 선택된 메모리 모듈의 이러한 시작 어드레스로부터 블럭 판독/기입 동작을 시작한다. 강화된 소프트웨어 드라이버가 요구된 양의 데이터를 수신할 때, 강화된 소프트웨어 드라이버는 판독/기입 동작에 대한 정지(STOP)를 표시하기 위해 CMD12 커맨드를 발생시켜 멀티 미디어 카드(204)로 전송한다(도 8의 단계(280)). 강화된 소프트웨어 드라이버는, 또 다른 커맨드가 애플리케이션들(212 내지 214(또는 232)) 중 하나로부터 수신될 때까지, 도 8에서의 아이들 상태(274)에 들어간다.
도 9는 본 발명의 실시예에 따른 MMC 슬레이브 제어기(210)에 의해 수행된 단계들의 흐름도를 나타낸다. 슬레이브 제어기(210)는 CMD 핀을 통해 호스트 제어기(218)로부터 커맨드를 수신한다(도 9의 단계(282)). 커맨드 비직렬화기(234)는 총 48 비트의 커맨드를 직렬로 수신하고, 이러한 비트들을 비직렬화하여 커맨드 디코더(236 및 238)에 48 비트의 커맨드를 제공하게 된다.
커맨드 디코더(236 및 238)는 커맨드가 CMD16에 대한 것인지 여부를 결정한다(도 9의 단계(284)). 만약 커맨드가 CMD16에 대한 것이 아니라면, 일반적인 코맨드 디코더(236)는 코맨드를 디코딩하고, 그리고 메모리 제어기 상태 머신(240)을 제어하여 최근의 선택된 메모리 모듈 상에서 커맨드에 의해 특정된 메모리 동작을 수행한다(도 9의 단계(286)). 그 다음에, 슬레이브 제어기(210)는 또 다른 커맨드가 단계(282)에서 수신될 때까지 도 9에서의 아이들 상태(288)에 들어간다.
단계(284)를 다시 참조하면, 만약 커맨드가 CMD16에 대한 것이라면, 커맨드 디코더(236 및 238)는 커맨드에서 어드레싱을 위한 32 비트 중 MSB(Most Significant Bit)가 소정의 하이 로직 레벨 "1"로 설정되었는지 여부를 결정한다(도 9의 단계(290)). 만약 이러한 MSB가 "1"로 설정되지 않았다면, 외부 커맨드 디코더(238)가 비활성화되고, 그리고 일반적인 커맨드 디코더(236)가 CMD16을 디코딩하여 제 1 메모리 모듈(206) 상에서 일반적인 블럭 판독/기입이 수행된다(도 9의 단계(292)). 그 다음으로, 슬레이브 제어기(210)는 또 다른 커맨드가 단계(282)에서 수신될 때까지 도 9에서의 아이들 상태(288)에 들어간다.
반면에, 만약 이러한 MSB가 "1"로 설정되었다면, 외부 커맨드 디코더(238)는 CMD16에서 어드레싱을 위한 32 비트 중 나머지를 디코딩하여 제 1 메모리 모듈(206) 외에 멀티 미디어 카드(204) 상의 선택된 메모리 모듈을 결정하게 된다(도 9의 단계(294)). 외부 커맨드 디코더(238)는 선택된 메모리 모듈을, MSB 외에 어드레싱을 위한 나머지 31 비트에서 로직 하이 레벨 "1"로 설정된 하나의 핫 비트로부터 결정할 수 있다. 대안적으로, 외부 커맨드 디코더(238)는 선택된 메모리 모듈을, MSB 외에 어드레싱을 위한 나머지 31 비트의 비트 패턴으로부터 결정할 수 있다.
선택된 메모리 모듈을 결정할 때, 외부 커맨드 디코더(238)는 메모리 모듈을 제어할 수 있고, 그래서 단지 선택된 메모리 모듈만이 액세스를 위해 인에이블된다. 슬레이브 제어기(210)는 또 다른 커맨드가 단계(282)에서 수신될 때 까지 도 9에서의 아이들 상태(288)에 들어간다.
도 10, 도 11, 및 도 12는 도 4 또는 도 5의 컴포넌트들의 예시적 동작 동안 신호의 타이밍도를 나타낸다. 도 10은 제 1 메모리 모듈(206)이 블럭 판독 동작을 위해 액세스될 때의 신호의 타이밍도를 나타낸다. 그러한 경우에, 커맨드 CMD7이 발생되고 강화된 소프트웨어 드라이버(213, 215, 또는 233)에 의해 슬레이브 제어기(210)로 전송되어 멀티 미디어 카드(204)의 선택이 표시되게 된다(도 10에서의 시간 T1 동안). 그 다음에, 커맨드 CMD16이 발생되어, 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송되며, 여기서 어드레싱을 위한 32 비트 중 MSB는 로직 로우 레벨 "0"으로 설정된다(도 10에서의 시간 주기 T2 동안). 어드레싱을 위한 나머지 31 비트는 블럭 판독 동안 블럭 길이를 표시하기 위해 사용될 수 있다.
이후에, 도 10에서, 커맨드 CMD17이 발생되고, 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송되어 블럭 판독을 위한 시작 어드레스가 표시되게 된다(도 10에서의 시간 주기 T3 동안). 후속적으로, 슬레이브 제어기는 제 1 메모리 모듈(206)에서의 이러한 시작 어드레스로부터 이전의 CMD16에서 특정된 바와 같은 블럭 길이의 끝까지 데이터를 전달한다(도 10의 시간 주기 T4 동안 "응답(RESPONSE)"으로 나타난 바와 같음). 제 1 메모리 모듈(206)에서의 블럭 기입 동작은 블럭 판독 동작과 유사하지만, 여기서 도 10의 CMD17은 도 10의 CMD24로 대체된다. 도 10에 예시된 바와 같은 동작은 단지 하나의 메모리 모듈(206)을 사용하는 멀티 미디어 카드의 구모델과의 하위 호환성을 보장한다.
도 11은 선택된 메모리 모듈이 제 1 메모리 모듈(206)이 아닐 때 블럭 판독 동작을 나타낸다. 커맨드 CMD7이 발생되고, 그리고 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송되어 멀티 미디어 카드(204)의 선택이 표시된다(도 11의 시간 T1 동안). 그 다음에, 커맨드 CMD16이 발생되고, 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송되며, 여기서 어드레싱을 위한 32 비트 중 MSB는 로직 하이 레벨 "1"로 설정된다(도 11의 시간 주기 T2 동안). 어드레싱을 위한 나머지 31 비트는 제 1 메모리 모듈(206)이 아닌 선택된 메모리 모듈을 표시하기 위해 사용된다.
이후에, 도 11에서, 커맨드 CMD18이 발생되고, 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송되어 복수의 블럭들로부터의 판독을 위한 시작 어드레스가 표시된다(도 11의 시간 주기 T3 동안). 슬레이브 제어기(210)는 이러한 시작 어드레스로부터 디폴트(default)된 양(amount)의 블럭 길이에 대한 판독을 시작함으로써 응답한다(도 11에서의 시간 주기 T4 동안).
강화된 소프트웨어 드라이버가 요구된 개수의 데이터 블럭을 수신하면, 커맨드 CMD12가 발생되고, 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송되어 블럭 판독에 대한 정지가 표시된다(도 11에서의 시간 주기 T4 이후). 선택된 메모리 모듈에서의 블럭 기입 동작은 블럭 판독 동작과 유사하지만, 여기서 도 11에서의 CMD18은 도 11에서의 CMD25로 대체된다.
도 12는 서로 다른 선택된 메모리 모듈들 간의 스위칭을 표시한다. 또 다른 선택된 메모리 모듈이 요구될 때 마다, 커맨드 CMD16이 발생되고, 그리고 강화된 소프트웨어 드라이버에 의해 슬레이브 제어기(210)로 전송된다(예를 들어, 도 12에서의 시간 주기 T3 및 T6 동안). 제 1 메모리 모듈(206) 외에 다른 메모리 모듈을 선택하기 위해, CMD16에서 어드레싱을 위한 32 비트 중 MSB는 로직 하이 레벨 "1"로 설정된다. 그 다음에, 남아있는 31 비트가 선택된 메모리 모듈을 표시하기 위해 사용된다. 도 12에서의 각각의 CMD16 이후의 임의의 후속 커맨드(예를 들어, 도 12에서의 시간 주기 T4, T5, 및 T7 동안)는 CMD16 바로 이전으로 표시된 그 대응하는 선택된 메모리 모듈에 대해 수행될 전형적인 메모리 동작을 표시한다.
이러한 방식으로, 기존 커맨드(예를 들어, CMD16)는, 복수의 메모리 모듈들이 멀티 미디어 카드(204) 상에 형성 및 액세스될 수 있도록, 선택된 메모리 모듈을 표시하기 위해 사용된다. 기존의 커맨드는 두 가지 목적으로 사용되는데, 그 하나는 제 1 메모리 모듈(206)에 대한 일반적인 커맨드를 특정하려는 것이고(따라서 초기 MMC 모델과의 하위 호환성을 제공할 수 있다), 다른 하나는 멀티 미디어 카드(204) 상에서 추가적인 메모리 모듈들 중 선택된 메모리 모듈을 특정하려는 것이다(따라서 메모리 용량을 증가시킬 수 있다). 본 발명에서의 메모리 용량을 증가시키는 이러한 매커니즘은 효율적으로, 호스트 시스템(202)에서의 소프트웨어 변경 및 멀티 미디어 카드(204)의 슬레이브 제어기(210)에서의 하드웨어 변경을 요구한다.
블럭 길이를 표시하기 위한 CMD16에서 사용된 32 비트 중 MSB(Most Significant Bit)는 선택된 메모리 모듈을 특정하기 위해 CMD16이 사용되는지 그렇지 않는 지의 여부를 표시하기 위해 본 발명에서 사용된다. 이러한 MSB는 이러한 목적을 위해 사용될 수 있는데, 왜냐하면 일반적인 블럭 길이는 전체 32 비트로 특정될 수 있는 것보다 작기 때문이다. 전형적으로, 32 비트보다 작은 비트는 판독/기입 동작에서의 최대 가능 블럭 길이를 특정하기에 충분하다. 본 발명은 또한 일반적인 커맨드 동작에 대해 사용되지 않는 비트를 갖는 또 다른 소정의 커맨드(예시적인 CMD16 제외)로 구현될 수 있다.
앞서의 설명은 단지 예시적인 것이며 한정적 의미로 해석되어서는 안된다. 예를 들어, 본 명세서에서 도시되거나 설명된 요소들의 개수 또는 커맨드는 단지 예시적인 것이다. CMD7, CMD12, CMD16, CMDl7, CMDl8, CMD24, 및 CMD25와 같은 커맨드는 웹 사이트 http://www.mmca.org에서 종래 기술에서 사용된 바와 같이 개별적으로 설명된다. 추가로, 용어 "메모리 모듈"은 임의의 개별적 메모리 양을 의미한다. 따라서, 메모리 모듈들(206 내지 208)은 각각 개별적 IC(Integrated Circuit) 다이 상에 형성될 수 있거나, 또는 동일한 IC 다이 상에 형성되는 메모리 세그먼트일 수 있다.
본 발명은 단지 다음의 특허청구범위에서 정의된 것 및 그 등가물에 의해서만 한정된다.

Claims (10)

  1. 멀티 미디어 카드(multi media card)(204)로서,
    복수의 메모리 모듈들(memory modules)(206, 208)과; 그리고
    소정의 커맨드(predetermined command)의 소정의 비트(predetermined bit)가 소정의 로직 레벨(predetermined logic level)로 설정될 때, 액세스(access)될 새롭게 선택된 메모리 모듈(newly selected memory module)을 상기 복수의 메모리 모듈들로부터 결정하기 위해, 소정의 커맨드 식별자 비트 패턴(predetermined command identifier bit pattern)에 의해 표시된 대로, 상기 소정의 커맨드를 디코딩(decoding)하는 외부 커맨드 디코더(extraneous command decoder)(238)와; 그리고
    상기 소정의 커맨드의 상기 소정의 비트가 상기 소정의 로직 레벨로 설정되지 않을 때, 상기 복수의 메모리 모듈들 중 소정의 메모리 모듈 상에서 수행될 동작을 결정하기 위해 상기 소정의 커맨드를 디코딩하는 일반적인 커맨드 디코더(usual command decoder)(236)를 포함하여 구성되며,
    상기 복수의 메모리 모듈들 중 상기 소정의 메모리 모듈은 임의의 새롭게 선택된 메모리 모듈과는 다른 것을 특징으로 하는 멀티 미디어 카드.
  2. 제1항에 있어서,
    상기 일반적인 커맨드 디코더는 최근에 선택된 메모리 모듈 상에서 대응하는 동작을 수행하기 위해 상기 소정의 커맨드가 아닌 임의의 커맨드를 디코딩하는 것을 특징으로 하는 멀티 미디어 카드.
  3. 제1항에 있어서,
    상기 복수의 메모리 모듈들 중 상기 소정의 메모리 모듈 상에서 수행될 동작은, 블럭 판독 동작(block read operation) 또는 블럭 기입 동작(block write operation)이고, 그리고 상기 소정의 커맨드는 상기 블럭 판독 동작 또는 상기 블럭 기입 동작에 대한 블럭 길이를 특정하는 것을 특징으로 하는 멀티 미디어 카드.
  4. 제1항에 있어서,
    상기 일반적인 커맨드 디코더는 상기 새롭게 선택된 메모리 모듈 상에서의 적어도 하나의 메모리 동작에 대한 적어도 하나의 후속 커맨드를 디코딩하는 것을 특징으로 하는 멀티 미디어 카드.
  5. 제1항에 있어서,
    상기 소정의 커맨드의 비트들의 세트의 비트 패턴(bit pattern)이 상기 새롭게 선택된 메모리 모듈을 표시하는 것을 특징으로 하는 멀티 미디어 카드.
  6. 전자 디바이스(electronic device)(200)에서 복수의 메모리 모듈들(206, 208)에 액세스하는 방법으로,
    상기 전자 디바이스의 호스트 시스템(host system)(202)에서, 멀티 미디어 카드(204)의 복수의 메모리 모듈들(206, 208) 중 새롭게 선택된 메모리 모듈에 대한 액세스를 표시하기 위해 소정의 커맨드의 소정의 비트를 소정의 로직 레벨로 설정하는 단계와, 여기서 상기 소정의 커맨드는 소정의 커맨드 식별자 비트 패턴에 의해 표시되고;
    상기 멀티 미디어 카드에서, 상기 소정의 커맨드의 상기 소정의 비트가 상기 소정의 로직 레벨로 설정될 때, 액세스될 상기 새롭게 선택된 메모리 모듈을 결정하기 위해 상기 소정의 커맨드를 디코딩하는 단계와; 그리고
    상기 멀티 미디어 카드에서, 상기 소정의 커맨드의 상기 소정의 비트가 상기 소정의 로직 레벨로 설정되지 않을 때, 상기 복수의 메모리 모듈들 중 소정의 메모리 모듈 상에서 수행될 동작을 특정하는 상기 소정의 커맨드를 디코딩하는 단계를 포함하여 구성되며,
    상기 소정의 메모리 모듈은 임의의 새롭게 선택된 메모리 모듈과는 다른 것을 특징으로 하는 복수의 메모리 모듈들에 액세스하는 방법.
  7. 제6항에 있어서,
    상기 멀티 미디어 카드에서, 최근에 선택된 메모리 모듈 상에서 대응하는 동작을 수행하기 위해 상기 소정의 커맨드가 아닌 임의의 커맨드를 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 복수의 메모리 모듈들에 액세스하는 방법.
  8. 제6항에 있어서,
    상기 복수의 메모리 모듈들 중 상기 소정의 메모리 모듈 상에서 수행될 동작은 블럭 판독 동작 또는 블럭 기입 동작이고, 그리고 상기 소정의 커맨드는 상기 블럭 판독 동작 또는 상기 블럭 기입 동작에 대한 블럭 길이를 특정하는 것을 특징으로 하는 복수의 메모리 모듈들에 액세스하는 방법.
  9. 제6항에 있어서,
    상기 새롭게 선택된 메모리 모듈을 표시하기 위해 상기 소정의 커맨드의 비트들의 세트의 하나의 비트를 제 1 로직 레벨로 설정하는 단계를 더 포함하며, 여기서 상기 소정의 커맨드의 비트들의 세트의 나머지 비트들은 제 2 로직 레벨로 설정되는 것을 특징으로 하는 복수의 메모리 모듈들에 액세스하는 방법.
  10. 제6항에 있어서,
    상기 새롭게 선택된 메모리 모듈을 표시하기 위해 상기 소정의 커맨드의 비트들의 세트의 비트 패턴을 설정하는 단계를 더 포함하는 것을 특징으로 하는 복수의 메모리 모듈들에 액세스하는 방법.
KR1020087027539A 2006-04-10 2007-04-05 저장 용량이 큰 멀티 미디어 카드 KR101375797B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/400,902 US7404026B2 (en) 2006-04-10 2006-04-10 Multi media card with high storage capacity
US11/400,902 2006-04-10
PCT/US2007/008533 WO2007120569A1 (en) 2006-04-10 2007-04-05 Multi media card with high storage capacity

Publications (2)

Publication Number Publication Date
KR20090007412A KR20090007412A (ko) 2009-01-16
KR101375797B1 true KR101375797B1 (ko) 2014-03-19

Family

ID=38456538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087027539A KR101375797B1 (ko) 2006-04-10 2007-04-05 저장 용량이 큰 멀티 미디어 카드

Country Status (7)

Country Link
US (1) US7404026B2 (ko)
EP (1) EP2008187A1 (ko)
JP (1) JP2009533763A (ko)
KR (1) KR101375797B1 (ko)
CN (1) CN101421705B (ko)
TW (1) TWI375172B (ko)
WO (1) WO2007120569A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100823166B1 (ko) * 2006-12-04 2008-04-18 삼성전자주식회사 통신 속도가 향상된 메모리 카드 및 메모리 카드를포함하는 메모리 카드 시스템
US8006044B2 (en) * 2006-12-21 2011-08-23 Intel Corporation Flexible selection command for non-volatile memory
US8131912B2 (en) * 2007-09-27 2012-03-06 Kabushiki Kaisha Toshiba Memory system
US9223726B2 (en) 2010-09-10 2015-12-29 Cypress Semiconductor Corporation Apparatus and method for programmable read preamble with training pattern
US9355051B2 (en) 2010-09-10 2016-05-31 Cypress Semiconductor Corporation Apparatus, method, and manufacture for using a read preamble to optimize data capture
US8140778B1 (en) * 2010-09-10 2012-03-20 Spansion Llc Apparatus and method for data capture using a read preamble
US8990605B2 (en) 2010-09-10 2015-03-24 Spansion Llc Apparatus and method for read preamble disable

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050286284A1 (en) * 2004-06-29 2005-12-29 Sun-Teck See Method and system for expanding flash storage device capacity

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4368514A (en) * 1980-04-25 1983-01-11 Timeplex, Inc. Multi-processor system
CA1330596C (en) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Memory cartridge and data processing apparatus
US5749088A (en) * 1994-09-15 1998-05-05 Intel Corporation Memory card with erasure blocks and circuitry for selectively protecting the blocks from memory operations
US7103684B2 (en) * 2003-12-02 2006-09-05 Super Talent Electronics, Inc. Single-chip USB controller reading power-on boot code from integrated flash memory for user storage
JP4294894B2 (ja) * 2001-09-13 2009-07-15 株式会社ルネサステクノロジ メモリカード
US7290109B2 (en) * 2002-01-09 2007-10-30 Renesas Technology Corp. Memory system and memory card
TW200604810A (en) 2004-02-20 2006-02-01 Renesas Tech Corp Nonvolatile memory and data processing system
TWI257583B (en) 2004-07-28 2006-07-01 C One Technology Corp Expandable reduced-size memory card and corresponding extended memory card

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050286284A1 (en) * 2004-06-29 2005-12-29 Sun-Teck See Method and system for expanding flash storage device capacity

Also Published As

Publication number Publication date
TWI375172B (en) 2012-10-21
US20070239918A1 (en) 2007-10-11
CN101421705A (zh) 2009-04-29
EP2008187A1 (en) 2008-12-31
JP2009533763A (ja) 2009-09-17
WO2007120569A1 (en) 2007-10-25
US7404026B2 (en) 2008-07-22
TW200745961A (en) 2007-12-16
KR20090007412A (ko) 2009-01-16
CN101421705B (zh) 2012-02-01

Similar Documents

Publication Publication Date Title
KR101375797B1 (ko) 저장 용량이 큰 멀티 미디어 카드
KR100630827B1 (ko) 동기형 반도체 기억장치 모듈 및 그 제어방법, 정보기기
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US7843758B2 (en) Multi-chip package flash memory device and method for reading status data therefrom
US10552047B2 (en) Memory system
US8429337B2 (en) Apparatus for controlling NAND flash memory
US8423701B2 (en) Flash memory device with a low pin count (LPC) communication interface
US20110093647A1 (en) System And Method For Controlling Flash Memory
KR20080073544A (ko) 메모리 카드 및 그것을 포함한 메모리 시스템
US7197590B2 (en) Method and apparatus for connecting LPC bus and serial flash memory
JP2000105725A (ja) チップイネーブル信号生成回路及びメモリ装置
US20090049267A1 (en) Buffer circuit for a memory module
JP2008009817A (ja) 半導体装置及びデータ転送方法
US8732415B2 (en) Write data mask method and system
US20080235428A1 (en) Method and system for dynamic switching between multiplexed interfaces
US11237954B2 (en) Controller and data storage system having the same
KR100746364B1 (ko) 메모리 공유 방법 및 장치
CN109086231B (zh) 输入输出设备的访问方法及装置
CN107783917B (zh) 生成nvm芯片接口命令的方法与装置
CN115048041A (zh) 存储器设备的操作方法及包括其的电子设备的操作方法
CN106371773A (zh) Ssd单元、ssd设备以及基于ssd设备的数据处理方法
JP2000339229A (ja) メモリテスト回路
US8166228B2 (en) Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods
US7447899B2 (en) Method for conserving system resources
US20110238883A1 (en) Information processing device

Legal Events

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

Payment date: 20170224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180302

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 6