KR20200060758A - 메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트 - Google Patents

메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트 Download PDF

Info

Publication number
KR20200060758A
KR20200060758A KR1020207012536A KR20207012536A KR20200060758A KR 20200060758 A KR20200060758 A KR 20200060758A KR 1020207012536 A KR1020207012536 A KR 1020207012536A KR 20207012536 A KR20207012536 A KR 20207012536A KR 20200060758 A KR20200060758 A KR 20200060758A
Authority
KR
South Korea
Prior art keywords
command
address
card
memory location
cmd22
Prior art date
Application number
KR1020207012536A
Other languages
English (en)
Other versions
KR102372972B1 (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 KR20200060758A publication Critical patent/KR20200060758A/ko
Application granted granted Critical
Publication of KR102372972B1 publication Critical patent/KR102372972B1/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Abstract

본 발명은 호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀, 적어도 하나의 접지 핀, 호스트로부터 클록 신호를 수신하기 위한 클록 핀, 호스트로부터 커맨드를 수신하기 위한 핀, 및 SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하기 위한 4 개의 데이터 핀을 포ㅎ람하는 보안 디지털(SD) 카드에 액세스하기 위한 방법을 제공한다. 이 방법은 상기 커맨드 핀을 통해 상기 호스트로부터 제1 어드레스를 포함하는 어드레스 확장 커맨드를 수신하는 단계; 상기 커맨드 핀을 통해 상기 호스트로부터 제2 어드레스를 포함하는 액세스 커맨드를 수신하는 단계; 데이터 핀을 통해, 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스에 의해 지시된 SD 카드의 적어도 메모리 위치에 액세스하는 단계;를 포함한다. SD 카드의 메모리 위치는 제1 어드레스와 제2 어드레스의 조합 인 제3 어드레스에 의해 지시된다. 액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.

Description

메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트
본 발명은 메모리 장치 및 관련 컨트롤러, 메모리 장치를 위한 방법, 연관 컨트롤러, 메모리 장치 및 호스트에 관한 것으로, 특히 메모리 장치를 위한 메모리 어드레싱 방법, 관련 컨트롤러, 메모리 장치 및 호스트에 관한 것이다.
비디오 데이터 및/또는 음악 데이터를 처리하기 위한 디지털 통신 장치 또는 전자 장치의 광범위한 사용, IA(Internet Appliance) 제품의 보편화와 함께, 디지털 데이터를 저장하기 위한 다양한 유형의 저장 장치가 개발되었다. 소형 및 저전력 소비의 장점으로 인해 메모리 카드는 시장에서 주류 제품이 되었다. 메모리 카드는 디지털 카메라, 디지털 비디오 카메라, MP3 플레이어, 휴대폰, PDA(Personal Digital Assistant) 또는 GPS(Global Positioning System) 장치와 같은 다양한 유형의 호스트(hosts) / 장치(devices) / 시스템에 사용되기 매우 적합하다.
시큐어 디지털(SD) 카드는 마켓에서 인기있는 메모리 카드이다. 그러나 SD 카드의 커맨드의 어드레스 파라미터 또는 인수(argument)는 32 비트뿐이므로 현재 SD 카드의 최대 저장 용량은 2TB(TB)이므로 다양한 애플리케이션의 용량 요건에 불충분하다. 더 큰 용량을 지원할 수 있는 SD 카드가 바람직하며, 그러한 SD 카드를 위한 어드레싱 또는 액세스 방법을 제공할 필요가 있다.
본 발명의 하나의 목적은 2TB보다 큰 용량을 지원하는 SD 카드에 액세스할 수 있는 어드레싱 방법, 관련된 SD 카드, 및 SD 카드의 컨트롤러 및 호스트를 제공 하는데 있다.
본 발명의 실시예는 호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀, 적어도 하나의 접지 핀, 호스트로부터 클록 신호를 수신하기 위한 클록 핀, 호스트로부터 커맨드를 수신하기 위한 커맨드 핀, SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하기 위한 4 개의 데이터 핀을 포함하는 보안 디지털(SD) 카드에 액세스하기 위한 방법을 개시한다. 이 방법은 커맨드 핀을 통해 호스트로부터 제1 어드레스를 포함하는 어드레스 확장 커맨드를 수신하는 단계, 커맨드 핀을 통해 호스트로부터 제2 어드레스를 포함하는 액세스 커맨드를 수신하는 단계, 및 데이터 핀을 통해 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스에 의해 지시되는 SD 카드의 적어도 메모리 위치에 액세스하는 단계를 포함한다. 액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.
본 발명의 다른 실시예는 전술한 방법을 수행하도록 구성된 SD 카드의 컨트롤러를 개시한다.
본 발명의 또 다른 실시예는 호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀; 적어도 하나의 접지 핀; 호스트로부터 클럭 신호를 수신하는 클럭 핀; 호스트로부터 커맨드를 수신하기 위한 커맨드 핀; 및 SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하기 위한 4 개의 데이터 핀을 포함한다. 이 방법은 커맨드 핀을 통해 제1 어드레스를 포함하는 어드레스 확장 커맨드를 SD 카드에 전송하는 단계, 커맨드 핀을 통해, 제2 어드레스를 포함하는 액세스 커맨드를 SD 카드로 전송하는 단계; 및 데이터 핀을 통해, 제1 어드레스와 제2 어드레스의 조합 인 제3 어드레스로 지시된 SD 카드의 적어도 메모리 위치에 액세스하는 단계를 포함한다. 액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.
본 발명의 다른 실시예는 메모리 모듈, 입력/출력(I/O) 인터페이스 및 컨트롤러를 포함하는 SD 카드를 개시한다. 메모리 모듈은 복수의 메모리 위치를 포함한다. I/O 인터페이스는 호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀, 적어도 하나의 접지 핀, 호스트로부터 클록 신호를 수신하기 위한 클록 핀, 호스트로부터 커맨드를 수신하기 위한 커맨드 핀 및 SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하는데 이용되는 4 개의 데이터를 포함한다. 컨트롤러는: I/O 인터페이스로부터 제1 어드레스를 포함하는 어드레스 확장 커맨드를 커맨드 핀을 통해 수신하고, 커맨드 핀을 통해 I/O 인터페이스로부터 제2 어드레스를 포함하는 액세스 커맨드를 수신하고, 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스로 지시되는 복수의 메모리 위치들 중 적어도 하나에 액세스하도록 구성된다. 액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.
본 발명의 또 다른 실시예는 SD 카드에 액세스할 수 있는 전자 장치를 개시한다. SD 카드는 I/O 인터페이스와 프로세서를 포함한다. I/O 인터페이스는 SD 카드에 전압 공급을 제공하기 위한 전압 공급 접점(contact), 적어도 하나의 접지 접점, SD 카드에 클록 신호를 제공하기 위한 클록 접점, SD 카드에 커맨드를 제공하기 위한 커맨드 접점, 및 SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하기 위한 4 개의 데이터 접점을 포함한다. 프로세서는 커맨드 접점을 통해, 제1 어드레스를 포함하는 어드레스 확장 커맨드를 SD 카드에 전송하고; 커맨드 접점을 통해, 제2 어드레스를 포함하는 액세스 커맨드를 SD 카드에 전송하고; 데이터 접점을 통해, 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스로 지시된 SD 카드의 적어도 메모리 위치에 액세스하도록 구성된다. 액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.
본 발명의 목적은 여러 도면에 도시된 바람직한 실시예에 대한 다음의 상세한 설명을 통해 당업자에게 보다 명백해질 것이다.
본 발명에 따르면 전술한 과제를 해결할 수 있다.
도 1은 본 발명의 일부 실시예에 따른 SD 카드에 대한 커맨드를 개략적으로 도시한 도면;
도 2는 본 발명의 일부 실시예에 따른 메모리 커맨드 시퀀스를 개략적으로 나타내는 도면;
도 3은 본 발명의 일부 실시예에 따른 메모리 커맨드 시퀀스를 개략적으로 나타내는 도면;
도 4a는 본 발명의 일부 실시예에 따른 메모리 커맨드 시퀀스를 개략적으로 나타내는 도면;
도 4b는 본 발명의 일부 실시예에 따른 메모리 커맨드 시퀀스를 개략적으로 나타내는 도면;
도 5a는 본 발명의 일부 실시예에 따른 SD 카드를 개략적으로 도시한 도면;
도 5b는 본 발명의 일부 실시예에 따른 SD 카드의 핀의 설명 테이블을 나타낸 도면;
도 6은 본 발명의 일부 실시예에 따른 SD 카드와 호스트의 조합을 나타내는 블록도;
도 7은 본 발명의 일부 실시예에 따른 SD 카드에 액세스하기 위한 호스트의 방법의 흐름도;
도 8은 본 발명의 일부 실시예에 따은 SD 카드에 액세스하기 위한 호스트의 방법의 흐름도;
도 9는 본 발명의 일부 실시예에 따른 SD 카드에 액세스하기 위한 호스트의 방법의 흐름도;
도 10은 본 발명의 일부 실시예에 따른 SD 카드에 액세스하기 위해 SD 카드 또는 SD 카드의 컨트롤러에 의해 수행되는 방법의 흐름도;
도 11은 본 발명의 일부 실시예에 따른 SD 카드에 액세스하기 위해 SD 카드 또는 SD 카드의 컨트롤러에 의해 수행되는 방법의 흐름도;
도 12는 본 발명의 일부 실시예에 따른 SD 카드가 액세스 될 때 SD 카드의 상태 변화를 나타내는 상태도이다.
도 1은 본 발명의 일부 실시예에 따른 SD 카드에 대한 커맨드를 개략적으로 도시한 도면이다.
SD 카드와 호스트 사이의 통신은 커맨드 및 데이터 스트림에 기반한다. 커맨드는 특정 동작을 수행하기 위한 요청으로 간주될 수 있다. 커맨드는 SD 카드의 커맨드(CMD) 핀을 통해 호스트로부터 SD 카드로 전송된다. 도 1에 나타낸 바와 같이 커맨드의 총 길이는 48 비트이다. 커맨드는 시작 비트("0")에 의해 개시되거나 시작되고 정지 비트 또는 종료 비트("1")에 의해 종료되거나 완료된다. 송신기 비트가 "1"이면 커맨드가 호스트에서 SD 카드로 전송됨을 나타낸다. SD 카드로부터 호스트로의 응답도 커맨드 핀을 통해 전송된다. 이 경우 송신기 비트는 "0"으로 설정된다. 인덱스는 6 비트를 포함하며 SD 카드에서 수행할 동작을 결정하는 커맨드 유형을 나타낸다. SD 카드의 다양한 커맨드에 대한 정의는 SD 카드 협회에서 발행한 "1 부 물리 계층 사양(Part 1 Physical Layer Specification)"의 4.7.3 섹션에 자세히 설명되어 있다. 어드레스 인수(또는 어드레스 파라미터)는 32 비트를 포함하며 커맨드의 어드레스 정보를 나타낸다. CRC(Cyclic Redundancy Check) 코드는 7 비트를 포함하며 전송 오류를 감지하고 인덱스의 내용과 커맨드 어드레스를 보호하는데 사용된다.
상이한 유형의 커맨드의 예가 아래에 설명된다.
CMD17 커맨드는 커맨드에서 32 비트 어드레스에 의해 지시되는 SD 카드의 메모리 위치 상에서 단일 판독(또는 단일 블록 판독) 동작을 수행하는 커맨드를 지시한다. 10 진수(decimal number) 17의 이진 코드는 "10001"이므로 CMD 17 커맨드의 인덱스는 "10001"이다. CMD24 커맨드는 인덱스 "11000"을 갖고 커맨드내에서 32 비트 어드레스에 의해 지시된 SD 카드의 메모리 위치에서 단일 기록(또는 단일 블록 기록) 작업을 수행하는 커맨드를 나타낸다. 10 진수 24의 이진 코드는 "11000"이므로 CMD 24 커맨드의 인덱스는 "11000"이다.
CMD18 커맨드는 인덱스 "10010"을 갖고 커맨드 내의 32 비트 어드레스에 의해 표시된 SD 카드내의 메모리 위치로부터 다중 판독(또는 다중 블록 판독) 동작을 수행하는 커맨드를 지시한다. CMD23 커맨드와 CMD18 커맨드(예: CMD23 커맨드 다음에 CMD18 커맨드)의 조합은 CMD18 커맨드 내의 32 비트 어드레스에 의해 지시된 SD 카드의 메모리 위치에서 다중 판독 동작을 지시하고, 여기서 CMD23은 데이터 판독 길이 정보를 가진다.
CMD25 커맨드는 인덱스 "11001"을 갖는 커맨드를 나타내며 커맨드 내의 32 비트 어드레스에 의해 표시된 SD 카드의 메모리 위치로부터 다중 기록(또는 다중 블록 기록) 동작을 수행한다. CMD23 커맨드와 CMD25 커맨드(예: CMD23 커맨드 다음에 CMD25 커맨드)의 조합은 CMD25 커맨드 내의 32 비트 어드레스에 의해 지시된 SD 카드내의 메모리 위치에서 다중 기록 동작을 나타내고, 여기서 CMD23 데이터 기록 길이 정보를 가진다.
CMD38 커맨드는 인덱스 "100110"을 가지며, SD 카드에 대해 소거(erase) 동작을 수행하는 커맨드를 지시한다. 예를 들어, CMD32 커맨드와 CMD38 커맨드(예: CMD32 커맨드 다음에 CMD38 커맨드)의 조합은 CMD32 커맨드의 32 비트 어드레스에 의해 표시되는 SD 카드의 메모리 위치로부터의 소거 동작을 나타낸다. CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드(예: CMD32 커맨드 다음에 CMD33 커맨드 다음에 CMD38 커맨드)의 조합은 CMD32 커맨드 내의 32 비트 어드레스에 의해 표시된 SD 카드 내의 메모리 위치로부터 CMD33 커멘드 내의 32 비트 어드레스에 의해 지시된 SD 카드 내의 메모리 위치까지의 소거 동작을 지시한다.
CMD44 커맨드는 인덱스 "101100"을 가지는 커맨드가며, SD 카드상에서 데이터 전송 동작을 수행하는 커맨드를 지시한다. 예를 들어, CMD44 커맨드와 CMD45 커맨드(예: CMD44 커맨드 다음에 CMD45 커맨드)의 조합은 CMD45 커맨드 내의 32 비트 어드레스에 의해 지시된 SD 카드 내의 메모리 위치에서 시작되는 데이터 전송 동작을 나타낸다.
통상적으로, 수행될 동작의 어드레스 정보는 그 동작에 대응하는 하나의 커맨드 내에서 32 비트 어드레스에 의해 지시되므로, 하나의 커맨드의 어드레싱 또는 액세스 능력은 2TB(232(32 비트 어드레스) * 29(512B 블록) = 241 바이트 = 2TB)로 제한되고, 또한 SD 카드가 지원할 수 있는 최대 용량을 2TB로 제한한다.
본 발명의 일부 실시예에서, 2TB 보다 큰 용량을 지원할 수 있는 메모리 어드레싱 방법이 제공된다. 어드레스 확장 커맨드는 액세스 커맨드에서 32 비트 어드레스를 32 비트 이상으로 확장하기 위해 사용되므로 2TB보다 큰 용량을 제공할 수 있다. 액세스 커맨드는 전술한 커맨드 CMD17, CMD18, CMD24, CMD25, CMD32, CMD33 또는 CMD44를 포함할 수 있으며, 이는 수행될 대응하는 동작에 대한 어드레스 정보를 운반(carry)한다. 일부 실시예에서, 액세스 커맨드는 전술한 커맨드 CMD17, CMD18, CMD24, CMD25, CMD32, CMD33 또는 CMD44의 조합일 수 있다. 어드레스 확장 커맨드는 종래의 SD 카드 애플리케이션에서 예약 커맨드 풀(reserved command pool)로부터 선택된 커맨드일 수 있으며, 즉 어드레스 확장 커맨드는 CMD22, CMD31, CMD39, CMD41 또는 CMD51 일 수 있다. 일부 실시예에서, 어드레스 확장 커맨드는 예약된 커맨드 풀로부터 선택된 커맨드들의 조합일 수 있으며, 예를 들어, 어드레스 확장 커맨드는 2개의 CMD22 커맨드를 포함할 수도 있다
특히, 어드레스 확장 커맨드는 인덱스 "010110"(CMD22)을 가질 수 있고 32 비트 어드레스 인수로 어드레스를 전달할 수도 있으며, 여기서 어드레스는 6 비트(예를 들어, 32 비트 인수의 하위 6 비트), 32 비트 또는 32 비트 어드레스 인수의 다른 비트 수로 간주될 수 있다. 어드레스 확장 커맨드 내의 어드레스는 어드레스 확장 커맨드 뒤에 오는 액세스 커맨드 내의 어드레스와 결합되어 32 비트 이상을 포함할 수 있으며 2TB보다 큰 메모리 용량에 액세스하는 데 사용될 수 있다. 어드레스 확장 커맨드의 어드레스가 6 비트인 경우 결합된 어드레스는 38 비트이며 128TB(26 * 2TB = 128TB) 메모리 공간에 액세스할 수 있다. 어드레스 확장 커맨드에서의 어드레스가 32 비트를 갖는 경우우 결합된 어드레스는 64 비트이며 232 * 2TB 메모리 공간에 액세스할 수 있다. 바람직한 실시예에 따르면, 어드레스 확장 커맨드의 어드레스는 결합된 어드레스의 상위 어드레스일 수 있고, 액세스 커맨드의 어드레스는 결합된 어드레스의 하위 어드레스일 수 있다. 다른 실시예에서, 어드레스 확장 커맨드의 어드레스는 결합된 어드레스의 하위 어드레스일 수 있고, 액세스 커맨드의 어드레스는 결합된 어드레스의 상위 어드레스일 수 있다.
바람직한 실시예에서, 결합된 어드레스는 어드레스 확장 커맨드에 포함된 어드레스 및 액세스 커맨드를 포함하는 어드레스를 일렬로 연결함으로써 생성된다. 예를 들어, 어드레스 확장 커맨드에 포함된 어드레스가 [X31 : X0]이고 액세스 커맨드에 포함된 어드레스가 [Y31 : Y0] 인 경우, 결합된 어드레스는 [X31:X0, Y31:Y0](또는 일부 실시예어서 [Y31:Y0, X31:X0])일 수 있다. 도 2는 본 발명의 일부 실시예에 따른 메모리 판독 커맨드 시퀀스의 예를 나타낸다. 어드레스 확장 커맨드 CMD22는 단일 판독 커맨드 CMD17 또는 다중 판독 커맨드 CMD18에 선행한다. 어드레스 확장 커맨드 CMD22는 단일 판독 커맨드 CMD17 또는 다중 판독 커맨드 CMD18의 어드레스와 결합될 어드레스(32 비트 어드레스 인수)를 운반하고, 32 비트 보다 큰 비트를 포함하는 결합된 어드레스를 형성하고, 단일 판독 동작 또는 다중 판독 동작이 수행되는 메모리 위치를 나타낸다.
다중 판독 동작과 관련하여, CMD23 커맨드는 동작의 데이터 판독 길이를 설정하는데 사용될 수 있다. 선택적으로, CMD12 커맨드는 CMD23 커맨드에 의한 다중 판독 동작의 데이터 판독 길이의 설정함이 없이 다중 판독 동작을 정지시키기 위해 사용될 수 있다.
도 3은 본 발명의 일부 실시예에 따른 메모리 기록 커맨드 시퀀스의 예를 나타낸다. 어드레스 확장 커맨드 CMD22는 단일 기록 커맨드 CMD24 또는 다중 기록 커맨드 CMD25에 선행한다. 어드레스 확장 커맨드 CMD22는 단일 기록 커맨드 CMD24 또는 다중 기록 커맨드 CMD25의 어드레스와 결합될 어드레스(32 비트 어드레스 인수)를 운반하여 32 비트보다 큰 비트를 포함하는 결합된 어드레스를 형성하여, 단일 기록 동작 또는 다중 기록 동작이 수행될 메모리 위치를 나타낸다.
다중 기록 동작과 관련하여, CMD23 커맨드는 동작의 데이터 기록 길이를 설정하는데 사용될 수 있다. 선택적으로, CMD12 커맨드는 CMD23 커맨드에 의한 다중 기록 동작의 데이터 기록 길이를 설정함이 없이 다중 기록 동작을 정지시키기 위해 사용될 수 있다.
도 4a는 본 발명의 일부 실시예에 따른 메모리 소거 커맨드 시퀀스의 예를 나타낸다. 하나의 어드레스 확장 커맨드 CMD22는 CMD32 커맨드에 선행하며 CMD32의 어드레스와 결합될 어드레스(32 비트 어드레스 인수)를 운반하여 32 비트 보다 큰 비트를 포함하는 결합된 어드레스를 형성하여 소거 동작이 시작되는 메모리 위치를 나타낸다. 다른 어드레스 확장 커맨드 CMD22는 CMD33 커맨드에 선행하며 CMD33 커맨드의 어드레스와 결합될 어드레스(32 비트 어드레스 인수)를 운반하여 32 비트 보다 큰 비트를 포함하는 결합된 다른 어드레스를 형성하여 소거 동작이 시작되는 메모리 위치를 나타낸다. CMD38 커맨드는 소거 동작을 시작한다.
도 4b는 본 발명의 일부 실시예에 따른 메모리 데이터 전송 커맨드 시퀀스의 예를 나타낸다. CMD44 커맨드는 SD 카드 상에서 데이터 전송 동작을 지시한다. 어드레스 확장 커맨드 CMD22는 CMD45 커맨드에 선행하며 CMD45 커맨드의 어드레스와 결합될 어드레스(32 비트 어드레스 인수)를 운반하여 32 비트보다 큰 비트를 포함하는 결합된 어드레스를 형성하며 데이터 전송이 시작될 메모리 위치를 지시한다.
도 5a는 SD 카드(A)의 평면도이다. 도 5a에 나타낸 바와 같이, SD 카드(A)는 9 개의 핀을 포함하고, 이들은 A1 내지 A9로 라벨링된다.
도 5b는 도 5a에 도시된 SD 카드(A)의 핀 A1 내지 A9의 설명 또는 정의 표(table)이다. 표에 도시된 바와 같이, 핀 A1 및 A7 내지 A9는 SD 카드(A)에 데이터를 기록하거나 SD 카드(A)로부터 데이터를 판독하기 위한 데이터 핀이다. 핀 A2는 커맨드 핀으로 지칭되며, 이는 호스트로부터 SD 카드(A)로 전송되는 커맨드를 수신하고 SD 카드(A)로부터의 커맨드에 응답하는 응답을 호스트에 전송할 수 있다. 핀 A4는 VDD 핀으로 지칭되며 SD 카드(A)를 위한 전압 공급 핀으로서 동작한다. 핀 A4는 2.7 내지 3.6 볼트(V) 범위의 전압을 수신하도록 구성될 수 있다. 핀 A5는 클록(CLK) 핀으로 지칭되며 클록 신호를 수신하도록 구성된다. 핀 A3 및/또는 핀 A6은 접지 핀이다.
도 6은 본 발명의 일부 실시예에 따른 SD 카드(A)와 호스트(H)의 조합을 나타내는 블록도이다. SD 카드(A)는 플래시 메모리 모듈(120) 및 플래시 메모리 컨트롤러(또는 컨트롤러)(110)를 포함하고, 플래시 메모리 컨트롤러(110)는 플래시 메모리 모듈(120)에 액세스하도록 배열된다. 플래시 메모리 컨트롤러(110)은 호스트(H)로부터의 커맨드(예를 들면, 어드레스 확장 커맨드 또는 액세스 커맨드)를 수신하고, 커맨드의 어드레스에 따라 플래시 메모리 모듈(120)의 메모리 위치에 액세스하도록 구성된다. 플래시 메모리 컨트롤러(110)는 마이크로 프로세서(112), ROM(read-only memory)(112M), 제어 로직(114), 버퍼 메모리(116) 및 인터페이스 로직(118)을 포함한다. ROM(112M)은 프로그램 코드(112C)를 저장하도록 배열되고, 마이크로 프로세서(112)는 플래시 메모리 모듈(120)에 대한 액세스를 제어하기 위해 프로그램 코드(112C)를 실행하도록 구성된다. 제어 로직(114)은 인코더(142) 및 디코더(144)를 포함한다.
일부 실시예에서, 플래시 메모리 모듈(120)은 각각 다수의 블록을 포함하는 복수의 플래시 메모리 칩을 포함하고, 플래시 메모리 컨트롤러(110)는 플래시 메모리 모듈(120) 상에서 동작을 수행하는 소거 유닛으로서 "블록"을 취한다. 메모리 컨트롤러(110)는 마이크로 프로세서(112)를 통해 프로그램 코드(112C)를 실행할 수도 있다. 일부 실시예에서, 블록은 특정 수의 페이지(specific number of pages)를 포함할 수 있고, 플래시 메모리 컨트롤러(110)는 플래시 메모리 모듈(120)에 데이터를 기록하는 유닛으로서 "페이지"를 취한다. 일부 실시예에서, 플래시 메모리 모듈(120)은 3D NAND 형 플래시 메모리를 포함할 수 있다.
실제, 마이크로 프로세서(112)를 통해 프로그램 코드(112C)를 실행하는 플래시 메모리 컨트롤러(110)는 플래시 메모리 모듈(120)의 액세스 동작(특히 적어도 하나의 블록 또는 적어도 하나의 페이지 상에서의 액세스 동작)을 제어하기 위해 제어 로직(114)을 사용하는 것, 요구된 버퍼링 프로세스를 처리하기 위해 버퍼 메모리(116)을 사용하는 것, SD 카드(A)의 데이터 핀을 통해 호스트(H)와 통신하기 위해 인터페이스 로직(118)을 사용하는 것과 같은 다양한 제어 동작을 수행하기 위해 그 내부 요소를 사용할 수 있다. 버퍼 메모리(116)는 예를 들어 SRAM(Static Random Access Memory) 일 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
호스트(H)는 프로세서(132) 및 SD 카드(A)에 연결된 입력/출력(I/O) 인터페이스(134)를 포함할 수 있다. I/O 인터페이스(134)는 SD 카드(A)의 핀들에 각각이 대응하는 접점을 포함할 수 있다(즉, I/O 인터페이스는 9 개의 접점을 포함할 수 있다). I/O 인터페이스(134)는 전압 공급을 제공하기 위한 전압 공급 접점, 하나 이상의 접지 접점, 클록 신호를 제공하기 위한 클록 접점, 및 SD 카드(A)의 커맨드 핀에 전기적으로 접속하기 위한 커맨드 접점을 포함할 수 있다. 호스트(H)의 각각의 접점의 정의는 도 5b에 도시된 표를 참조할 수 있다.
도 7은 본 발명의 일부 실시예에 따른 SD 카드에 액세스하기 위해 호스트(또는 호스트의 프로세서)에 의해 수행되는 방법(700)의 흐름도이다. 상세한 단계는 다음과 같다.
단계 702 : 호스트는 SD 카드상에서 수행 될 액세스 동작을 결정한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택 될 수 있다.
단계 704 : 호스트는 액세스 동작에 따른 SD 카드의 메모리 위치를 결정하며, 여기서 메모리 위치는 64 비트 어드레스에 의해 지시될 수 있다.
단계 706 : 호스트는 64 비트 어드레스를 32 비트 상위 어드레스와 32 비트 하위 어드레스로 분리한다.
단계 708 : 호스트는 호스트의 I/O 인터페이스로부터 SD 카드의 커맨드 핀을 통해 상위 어드레스(어드레스 인수내)를 포함하는 어드레스 확장 커맨드를 SD 카드로 전송한다.
단계 710 : 호스트는 SD 카드의 커맨드 핀을 통해 하위 어드레스(어드레스 인수 내)와 액세스 동작(인덱스 내)을 나타내는 정보를 포함하는 액세스 커맨드를 SD 카드로 전송한다.
단계 712 : 호스트는 SD 카드의 데이터 핀을 통해 상위 어드레스와 하위 어드레스의 조합인 결합된 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스한다.
전술한 실시예에서, 상위 어드레스 및 하위 어드레스는 모두 32 비트이다. 일부 다른 실시예들에서, 단계 704에서 결정된 메모리 위치를 나타내는 어드레스는 38 비트일 수 있고, 상위 어드레스는 6 비트일 수 있고 하위 어드레스는 32 비트일 수 있다. 본 개시에 따르면, 상위 어드레스의 비트 수는 32 이하의 임의의 수일 수 있으며, 따라서 본 발명이 전술한 실시예로 제한되지 않는다. 또한, 일부 실시예에서, 어드레스 확장 커맨드는 하위 어드레스를 포함할 수 있고 액세스 커맨드는 상위 어드레스를 포함할 수 있다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD17 커맨드에 포함된 하위 어드레스에 따라 생성되는 결합 어드레스에 의해 지시된 메모리 위치 상에서 단일 판독 동작을 수행하는 단계를 포함한다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 MD22 커맨드에 포함된 상위 어드레스와 CMD24 커맨드에 포함된 하위 어드레스에 따라 생성되는 결합 어드레스에 의해 지시된 메모리 위치 상에서 단일 기록 동작을 수행하는 단계를 포함한다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우(도 2에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 CMD22 커맨드에 포함된 상위 어드레스 및 CMD18 커맨드에 포함된 하위 어드레스에 따라 생성된 결합 어드레스에 의해 지시되는 메모리 위치로부터 다중 판독 동작을 수행하는 단계를 포함한다. CMD23 커맨드는 다중 판독 동작의 데이터 판독 길이를 설정하기 위해 사용된다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우(도 3에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 CMD22 커맨드에 포함된 상위 어드레스 및 CMD25 커맨드에 포함된 하위 어드레스에 따라 생성된 결합 어드레스에 의해 지시되는 메모리 위치로부터 다중 기록 동작을 수행하는 단계를 포함한다. CMD23 커맨드는 다중 기록 동작의 데이터 기록 길이를 설정하기 위해 사용된다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 CMD38 커맨드에 대한 응답하여 결합된 어드레스에 의해 지시되는 메모리 위치로부터 소거 동작을 수행하는 단계를 포함한다. 결합된 어드레스는 CMD22 커맨드에 포함된 상위 어드레스와 CMD32 커맨드에 포함된 하위 어드레스에 따라 생성된다.
일부 실시예에서, 어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드를 포함하는 경우(도 4a에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 시작 어드레스에 의해 지시된 메모리 위치로부터 종료 어드레스에 의해 지시된 다른 메모리 위치까지 소거 동작을 수행하는 단계를 포함하며, 여기서 시작 어드레스는 제1 CMD22 커맨드에 포함된 상위 어드레스 및 CMD32 커맨드에 포함된 하위 어드레스에 따라 생성되고, 종료 어드레스는 제2 CMD22 커맨드에 포함된 상위 어드레스 및 CMD33 커맨드에 포함된 하위 어드레스에 따라 생성된다. 소거 동작은 CMD38 커맨드에 의해 시작된다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우(도 4b에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 712)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD45 커맨드에 포함된 하위 어드레스에 따라 생성된 결합 어드레스에 의해 지시된 메모리 위치로부터 데이터 전송을 수행하는 단계를 포함한다. CMD44 커맨드는 데이터 방향, 우선 순위 작업 ID(priority task ID) 및 전송할 총 블록 수를 설정하는 데 사용된다.
도 7에 도시된 단계들의 순서는 단지 예시를 위한 것으로, 단계들은 다양한 애플리케이션에 따라 임의의 다른 적절한 순서로 재배열될 수 있음에 유의할 필요가 있다. 예를 들어, 일부 다른 실시예들에서, 단계 704는 단계 702 보다 우선할 수 있거나, 단계 710은 단계 708보다 우선할 수 있다.
도 8은 본 발명의 일부 실시예에 따른 SD 카드에 액세스하기 위해 호스트에 의해 수행되는 방법(800)의 흐름도를 나타낸다. 상세한 단계는 다음과 같다.
단계 802 : 호스트는 SD 카드의 용량 정보를 수신한다. 이 정보는 SD 카드의 카드 특정 데이터(card specific data : CSD) 레지스터에 저장 될 수 있다.
단계 804 : 호스트가 SD 카드의 용량이 미리 결정된 임계값, 예를 들어 32 비트 어드레스에 의해 지시될 수 있는 용량을 초과했는지 여부를 판단한다. 임계값은 2TB이거나 2TB 미만일 수 있다. 그 결과가 긍정적이면 프로세스는 단계 806으로 진행하고, 결과가 부정적이면 프로세스는 단계 820으로 진행한다.
단계 806 : 호스트는 SD 카드상에서 수행 될 액세스 동작을 결정한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택 될 수 있다.
단계 808 : 호스트는 액세스 동작에 따른 SD 카드의 메모리 위치를 결정하며, 여기서 메모리 위치는 64 비트 어드레스에 의해 지시될 수 있다.
단계 810 : 호스트는 64 비트 어드레스를 32 비트 상위 어드레스와 32 비트 하위 어드레스로 분리한다.
단계 812 : 호스트는 호스트의 I/O 인터페이스로부터 SD 카드의 커맨드 핀을 통해 상위 어드레스(어드레스 인수에서)를 포함하는 어드레스 확장 커맨드를 SD 카드로 전송한다.
단계 814 : 호스트는 하위 어드레스(어드레스 인수에서) 및 액세스 동작을 나타내는 정보(인덱스에서)를 포함하는 액세스 커맨드를 SD 카드의 커맨드 핀을 통해 SD 카드에 전송한다.
단계 816 : 호스트는 SD 카드의 데이터 핀을 통해 상위 어드레스와 하위 어드레스의 조합인 결합 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스한다.
단계 820 : 호스트는 SD 카드상에서 수행될 액세스 동작을 결정한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택될 수 있다.
단계 822 : 호스트는 액세스 동작의 대상이 되는 SD 카드의 메모리 위치를 결정하며, 여기서 메모리 위치는 32 비트 어드레스에 의해 지시된다.
단계 824 : 호스트는 32 비트 어드레스(어드레스 인수에서) 및 액세스 동작을 나타내는 정보(인덱스에서)를 포함하는 액세스 커맨드를 SD 카드의 커맨드 핀을 통해 SD 카드로 전송한다.
단계 826 : 호스트는 단계 824의 액세스 동작에 따라 SD 카드의 데이터 핀을 통해 32 비트 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스한다.
본 실시예에서, 호스트(H)는 먼저 SD 카드의 용량을 결정한다. SD 카드의 용량이 2TB와 같은 임계값을 초과하면, 프로세스는 단계 806으로 진행하고; 그렇지 않은 경우에는 단계 820으로 진행한다. 단계 806-816의 동작은 단계 702-712의 동작과 동일하다. 다시 말해, 호스트(H)가 SD 카드의 용량이 2TB를 초과한다고 판단하면, SD 카드에 액세스하기 위해 어드레스 확장 커맨드가 요구되고, 그렇지 않으면 SD 카드에 액세스하기 위해 액세스 커맨드만으로도 충분한다.
도 8에 도시된 단계의 순서는 단지 예시적인 것이며, 단계는 다양한 애플리케이션에 따라 임의의 다른 적절한 순서로 재배열 될 수 있음에 유의할 필요가 잇따. 예를 들어, 일부 다른 실시예들에서, 단계 806 및 단계 820는 결합 될 수 있고 단계 802에 선행되거나 단계 814가 단계 812에 선행될 수 있다.
도 9는 본 발명의 일부 실시예에 따라 SD 카드에 액세스하기 위해 호스트에 의해 수행되는 방법(900)의 흐름도이다. 상세한 단계는 다음과 같다.
단계 901 : 호스트는 SD 카드상에서 수행될 액세스 동작을 결정한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택될 수 있다.
단계 902 : 호스트는 SD 카드의 용량 정보를 수신한다. 정보는 SD 카드의 CSD 레지스터에 저장될 수 있다.
단계 904 : 호스트는 SD 카드의 용량이 미리 결정된 임계값을 초과하는지 여부를 결정한다. 임계값은 2TB이거나 2TB 미만일 수 있다. 결과가 긍정적이면, 프로세스는 단계 906으로 진행한다. 결과가 부정적이면, 프로세스는 단계 922로 진행한다.
단계 906 : 호스트는 단계 901에서 결정된 액세스 동작의 대상이 되는 SD 카드의 메모리 위치를 결정하며, 여기서 메모리 위치는 64 비트 어드레스 또는 32 비트 어드레스에 의해 지시될 수 있다. 메모리 위치가 32 비트보다 큰 어드레스에 의해 지시되면, 프로세스는 단계 908로 진행된다. 메모리 위치가 32 비트 어드레스에 의해 지시되면, 프로세스는 단계 922로 진행된다.
단계 908 : 호스트는 64 비트 어드레스를 32 비트 상위 어드레스와 32 비트 하위 어드레스로 분리한다.
단계 910 : 호스트는 호스트의 I/O 인터페이스로부터 SD 카드의 커맨드 핀을 통해 상위 어드레스(어드레스 인수에서)를 포함하는 어드레스 확장 커맨드를 SD 카드로 전송한다.
단계 912 : 호스트는 하위 어드레스(어드레스 인수에서) 및 액세스 동작을 나타내는 정보(인덱스에서)를 포함하는 액세스 커맨드를 SD 카드의 커맨드 핀을 통해 SD 카드에 전송한다.
단계 914 : 호스트는 SD 카드의 데이터 핀을 통해 상위 어드레스와 하위 어드레스의 조합인 결합 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스한다.
단계 922 : 호스트는 액세스 동작의 대상인 SD 카드의 메모리 위치를 결정하며, 여기서 메모리 위치는 32 비트 어드레스에 의해 지시된다.
단계 924 : 호스트는 32 비트 어드레스(어드레스 인수) 및 액세스 동작을 나타내는 정보(인덱스에서)를 포함하는 액세스 커맨드를 SD 카드의 커맨드 핀을 통해 SD 카드에 전송한다.
단계 926 : 호스트는 단계 824에서의 액세스 동작에 따라 SD 카드의 데이터 핀을 통해 32 비트 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스 한다.
방법 900에서, SD 카드가 예를 들어, 2TB보다 큰 용량을 지원한다는 것을 호스트가 인식하더라도, 호스트는 액세스 동작을 수행하기 위해 어드레스 확장 커맨드를 전송할 필요가 없는 여전히 32 비트 어드레스에 의해 지시될 수 있는 메모리 위치를 선택할 수 있음에 유의할 필요가 있다.
도 10은 본 발명의 일부 실시예에 따라 SD 카드에 액세스하기 위해 SD 카드 또는 SD 카드의 컨트롤러에 의해 수행되는 방법(1000)의 흐름도이다. 상세한 단계는 다음과 같다.
단계 1002 : SD 카드(또는 SD 카드의 컨트롤러)는 호스트의 I/O 인터페이스로부터 SD 카드의 커맨드 핀을 통해 상위 어드레스(어드레스 인수에서)를 포함하는 어드레스 확장 커맨드를 수신한다.
단계 1004 : SD 카드(또는 SD 카드의 컨트롤러)는 하위 어드레스(어드레스 인수) 및 액세스 동작(인덱스에서)을 나타내는 정보를 포함하는 액세스 커맨드를 SD 카드의 커맨드 핀을 통해 수신한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택 될 수 있다.
단계 1006 : SD 카드(또는 SD 카드의 컨트롤러)는 결합된 어드레스, 즉 상위 어드레스와 하위 어드레스의 조합으로 표시되는 SD 카드의 메모리 위치에 액세스한다.
상위 어드레스 및 하위 어드레스는 모두 32 비트일 수 있다. 일부 다른 실시예에서, 상위 어드레스는 6 비트 일 수 있고 하위 어드레스는 32 비트이다. 그렇지 않은 경우, 상위 어드레스는 32 비트 수 있고 6 비트의 의미있는 비트만을 포함할 수 있다. 본 개시에 따르면, 상위 어드레스의 비트 수(예를 들어, 의미있는 비트)는 32 이하의 임의의 수일 수 있으며, 따라서 상기 실시예에 제한되지 않는다. 또한, 일부 실시예에서, 어드레스 확장 커맨드는 하위 어드레스를 포함할 수 있고 액세스 커맨드는 상위 어드레스를 포함할 수 있다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD17 커맨드에 포함된 하위 어드레스에 따라 생성되는 결합 어드레스에 의해 지시되는 메모리 위치 상에서의 단일 판독 동작을 수행하는 단계를 포함한다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD24 커맨드에 포함된 하위 어드레스에 따라 생성되는 결합 어드레스에 의해 지시되는 메모리 위치 상에서의 단일 기록 동작을 수행하는 단계를 포함한다. .
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우(도 2에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD18 커맨드에 포함된 하위 어드레스에 따라 생성된 결합 어드레스에 의해 지시된 메모리 위치로부터 다중 판독 동작을 수행하는 단계를 포함할 수 있다. CMD23 커맨드는 다중 판독 동작의 데이터 판독 길이를 설정하는 데 사용된다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우(도 3에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD25 커맨드에 포함된 하위 어드레스에 따라 생성된 결합 어드레스에 의해 지시된 메모리 위치로부터 다중 기록 동작을 수행하는 단계를 포함할 수 있다. CMD23 커맨드는 다중 기록 동작의 데이터 기록 길이를 설정하는 데 사용된다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 CMD38 커맨드에 대한 응답하여 결합 어드레스에 의해 지시된 메모리 위치로부터 소거 동작을 수행하는 단계를 포함할 수 있다. 결합된 어드레스는 CMD22 커맨드에 포함된 상위 어드레스와 CMD32 커맨드에 포함된 하위 어드레스에 따라 생성된다.
일부 실시예에서, 어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드을 포함하는 경우(도 4a에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 시작 어드레스에 의해 지시된 메모리 위치로부터 종료 어드레스에 의해 지시된 다른 메모리 위치까지의 소거 동작을 수행하는 단계를 포함하며, 여기서 시작 어드레스는 제1 CMD22에 포함된 상위 어드레스와 CMD32 커맨드에 포함된 하위 어드레스에 따라 생성 될 수 있으며, 종료 어드레서는 제2 CMD22 커맨드에 포함된 상위 어드레스 및 CMD33 커맨드에 포함된 하위 어드레스에 따라 생성 될 수 있다. 소거 동작은 CMD38 커맨드으로 시작된다.
일부 실시예에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우(도 4b에 도시된 바와 같이), SD 카드의 메모리 위치에 액세스하는 단계(단계 1006)는 CMD22 커맨드에 포함된 상위 어드레스와 CMD45 커맨드에 포함된 하위 어드레스에 따라 생성된 결합 어드레스에 의해 지시된 메모리 위치로부터의 데이터 전송을 수행하는 단계를 포함한다. CMD44 커맨드는 데이터 방향, 우선 순위 작업 ID 및 전송할 총 블록 수를 설정하는 데 사용된다.
도 10에 도시된 단계의 순서는 단지 예시적인 것이며, 단계는 다양한 애플리케이션에 따라 임의의 다른 적절한 순서로 재배열 될 수 있음에 유의할 필요가 있다. 예를 들어, 일부 다른 실시예들에서, 단계 1004는 단계 1002에 선행될 수도 있다.
도 11은 본 발명의 일부 실시예에 따라 SD 카드에 액세스하기 위해 SD 카드 또는 SD 카드의 컨트롤러에 의해 수행되는 방법(1100)의 흐름도이다. 상세한 단계는 다음과 같다.
단계 1102 : SD 카드(또는 SD 카드의 컨트롤러)는 SD 카드의 용량 정보를 호스트로 전송한다. 정보는 SD 카드의 CSD 레지스터에 저장될 수 있다.
단계 1104 : SD 카드는 상위 어드레스(어드레스 인수에서)를 포함하는 어드레스 확장 커맨드가 수신되는지 여부를 결정한다. 어드레스 확장 커맨드가 수신되면, 프로세스는 단계 1106으로 진행하고; 그렇지 않으면, 단계 1120으로 진행된다.
단계 1106 : SD 카드(또는 SD 카드의 컨트롤러)는 하위 어드레스(어드레스 인수에서) 및 액세스 동작(인덱스에서)을 나타내는 정보를 포함하는 액세스 커맨드를 SD 카드의 커맨드 핀을 통해 수신한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택 될 수 있다.
단계 1108 : SD 카드(또는 SD 카드의 컨트롤러)는 결합된 어드레스, 즉 상위 어드레스와 하위 어드레스의 조합으로 표시된 SD 카드의 메모리 위치에 액세스한다. 액세스 동작은 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택 될 수 있다.
단계 1120 : SD 카드(또는 SD 카드의 컨트롤러)는 32 비트 어드레스(어드레스 인수에서) 및 액세스 동작을 나타내는 정보(인덱스에서)를 포함하는 액세스 커맨드를 호스트의 I/O 인터페이스로부터 SD 카드의 커맨드 핀을 통해 수신한다.
단계 1122 : SD 카드(또는 SD 카드의 컨트롤러)는 단계 1120에서의 액세스 동작에 따라 32 비트 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스한다.
도 11에 도시된 단계들의 순서는 단지 예시를 위한 것으로, 이 단계들은 다양한 애플리케이션에 따라 임의의 다른 적절한 순서로 재배열 될 수 있음에 유의할 필요가 있다. 예를 들어, 액세스 커맨드를 수신하기 위한 단계 1106 및 1120은 결합될 수 있고 단계 1104에 선행될 수 있다.
도 12는 본 발명의 일부 실시예에 따라 SD 카드가 액세스 될 때 SD 카드의 상태 변화를 도시하는 상태도이다.
상태 다이어그램은 전송 상태인 상태 1200으로 시작하며, 여기서 SD 카드는 특정 시간 내에 액세스 커맨드를 아직 수신하지 않았다. 즉, SD 카드가 아직 상위 어드레스 또는 하위 어드레스를 수신하지 못하였다.
상태 1200에서, CMD17, CMD18, CMD24 또는 CMD25 커맨드가 수신되면, CMD17, CMD18, CMD24 또는 CMD25 커맨드에 의해 전달되는 하위 어드레스는 SD 카드에 의해 수신되고, SD 카드는 상태 1204에 진입한다. SD 카드는 이어서 상태 1250로 진입한다.
상태 1200에서, CMD22 커맨드가 수신되면, CMD22 커맨드에 의해 전달되는 상위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1202로 진입한다.
상태 1200에서, CMD23 커맨드가 수신되면, CMD23 커맨드에 의해 운반되는 데이터 길이는 SD 카드에 의해 수신되고, SD 카드는 상태 1222로 들어가고, 여기서 SD 카드는 상위 어드레스 또는 하위 어드레스를 아직 수신하지 않았다.
상태 1200에서, CMD32 커맨드가 수신되면, CMD32 커맨드에 의해 운반되는 하위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1212로 진입한다.
상태 1202에서, 새로운 CMD22 커맨드가 수신되면, 새로운 CMD22 커맨드에 의해 운반되는 상위 어드레스는 SD 카드가 상태 1200에서 상태 1202로 전환될 때 수신된 상위 어드레스를 대체하고, SD 카드는 상태 1202에 머무른다.
상태 1202에서, CMD17, CMD18, CMD24 또는 CMD25 커맨드가 수신되면, CMD17, CMD18, CMD24 또는 CMD25 커맨드에 의해 전달되는 하위 어드레스는 SD 카드에 의해 수신되고, SD 카드는 상태 1204에 진입한다. SD 카드는 그 다음으로 상태 1250으로 진입한다.
상태 1202에서, CMD 32가 수신되면, CMD32 커맨드에 의해 전달되는 하위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1212로 진입한다.
상태 1222에서, 새로운 CMD23 커맨드가 수신되면, 새로운 CMD23 커맨드에 의해 운반되는 데이터 길이는 SD 카드가 상태 1200에서 상태 1222로 전환될 때 수신 된 데이터 길이를 대체하고, SD 카드는 상태 1222에 머무른다.
상태 1222에서, CMD22 커맨드가 수신되면, CMD22 커맨드에 의해 운반되는 상위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1223으로 들어간다.
상태 1222에서, CMD18 또는 CMD25 커맨드가 수신되면, CMD18 또는 CMD25 커맨드에 의해 전달되는 하위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1224로 진입하고, 이어서 SD 카드는 상태 1250에 진입한다.
상태 1223에서, 새로운 CMD 22 커맨드가 수신되면, 새로운 CMD22 커맨드에 의해 운반되는 상위 어드레스는 SD 카드가 상태 1222에서 상태 1223으로 전환될 때 수신된 상위 어드레스를 대체하고, SD 카드는 상태 1223에 머무른다.
상태 1223에서, 새로운 CMD23 커맨드가 수신되면, 새로운 CMD23 커맨드에 의해 전달되는 데이터 길이는 현재 데이터 길이를 대체하고, SD 카드는 상태 1222로 돌아간다.
상태 1223에서, CMD18 또는 CMD25 커맨드가 수신되면, CMD18 또는 CMD25 커맨드에 의해 전달되는 하위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1224에 진입하고, 이후 SD 카드는 상태 1250으로 진입한다.
상태 1212에서, SD 카드는 이후 상태 1214로 진입한다.
상태 1214에서, CMD33 커맨드가 수신되면, CMD33 커맨드에 의해 운반되는 하위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1216으로 진입한다.
상태 1214에서, CMD22 커맨드가 수신되면, CMD22 커맨드에 의해 운반되는 상위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1215로 들어간다.
상태 1215에서, 새로운 CMD22 커맨드가 수신되면, 새로운 CMD22 커맨드에 의해 운반되는 상위 어드레스는 SD 카드가 상태 1214에서 상태 1215로 전환될 때 수신된 상위 어드레스를 대체하고, SD 카드는 상태 1215에 머무른다.
상태 1215에서, CMD33 커맨드가 수신되면, CMD33 커맨드에 의해 전달되는 하위 어드레스가 SD 카드에 의해 수신되고, SD 카드는 상태 1216으로 진입한다.
상태 1216에서, CMD38 커맨드가 수신되면, 대응하는 동작(예를 들어, 소거 동작)이 SD 카드에 지령되고, SD 카드는 상태 1218로 진입하고, 이후 SD 카드는 상태 1250로 진입한다.
상태 1250에서, SD 카드는 하위 어드레스 또는 상위 어드레스와 하위 어드레스의 조합에 의해 결정된 SD 카드의 위치에서 액세스 커맨드(CMD17, CMD18, CMD24, CMD25, CMD32 및 CMD33)의 인덱스 필드에 의해 지시되는 동작에 따라 액세스된다. 결정된 위치가 액세스될 수 없거나(예를 들면, 판독 전용 영역 내에서) SD 카드의 내에 존재하지 않는 경우(예를 들어, SD 카드의 용량을 초과하는 경우) 액세스가 거부되고 SD 카드는 상태 1200으로 복귀한다.
도 12에 도시된 예시적인 실시예에서, 상태 1202, 상태 1222, 상태 1223, 상태 1214, 상태 1215 및 상태 1216에서, 예기치 않은 커맨드(즉, 전술한 커맨드 이외의 커맨드)가 수신되면, SD 카드는 전송 상태 1200로 복귀한다(점선 화살표로 표시된 바와 같이).
전술한 관점에서, 당업자는 도 7-11에 예시된 흐름도는 본 발명의 실시예이며 도12의 상태도에 기반하여 SD 카드 또는 호스트에 의해 수행되는 다른 흐름도를 유도할 수 있음을 이해할 것이다.
본 발명은 다음의 조항들을 사용하여 추가로 설명 될 수 있다.
1. 보안 디지털(SD) 카드에 액세스하기 위한 방법으로서, SD 카드는,
호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀;
적어도 하나의 접지 핀;
상기 호스트로부터 클럭 신호를 수신하는 클럭 핀;
상기 호스트로부터 커맨드를 수신하기 위한 커맨드 핀; 및
SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하는데 사용되는 4 개의 데이터 핀;을 포함하고,
상기 방법은,
커맨드 핀을 통해 호스트로부터 제1 어드레스를 포함하는 어드레스 확장 커맨드를 수신하는 단계;
커맨드 핀을 통해 상기 호스트로부터 제2 어드레스를 포함하는 액세스 커맨드를 수신하는 단계;
데이터 핀을 통해 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스에 의해 지시된 SD 카드의 적어도 메모리 위치에 액세스하는 단계;를 포함하고,
액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.
2. 조항 1의 방법에서, 제3 어드레스는 제1 어드레스와 제2 어드레스를 일렬로 연결함으로써 생성된다.
3. 조항 1의 방법에서, 제1 어드레스 및 제2 어드레스는 모두 32 비트이다.
4. 조항 1의 방법에서, 제1 어드레스는 6 비트이고 제2 어드레스는 32 비트이다.
5. 조항 1의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시된 메모리 위치 상에서 대한 단일 판독 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD17 커맨드에 포함된 제2 어드레스에 따라 생성된다.
6. 조항 1의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, 상기 SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시된 메모리 위치 상에서 단일 기록 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD24 커맨드에 포함된 제2 어드레스에 따라 생성된다.
7. 조항 1의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우, 상기 SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치 상에서 다중 판독 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD18 커맨드에 포함된 제2 어드레스에 따라 생성된다.
8. 조항 1의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치로부터 다중 기록 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD25 커맨드에 포함된 제2 어드레스에 따라 생성된다.
9. 조항 1의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 상기 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 CMD 38 커맨드에 응답하여 제3 어드레스에 의해 지시되는 메모리 위치로부터 소거 동작을 수행하는 단계를 포함하고, 제3 어드레스는 CMD22 커맨드 및 CMD32 커맨드에 따라 생성된다.
10. 조항 1의 방법에서, 어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드를 포함하는 경우, 메모리 위치에 액세스하는 단계는 SD 카드는 CMD38 커맨드에 응답하여 제3 어드레스에 의해 지시된 메모리 위치로부터 제4 어드레스에 의해 지시된 다른 메모리 위치까지 소거 동작을 수행하는 단계를 포함하고, 제3 어드레스는 제1 CMD22 커맨드 및 CMD32 커맨드에 따라 생성되고, 제4 어드레스는 제2 CMD22 커맨드 및 CMD33 커맨드에 따라 생성된다.
11. 조항 1의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치로부터 데이터 전송을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD45 커맨드에 포함된 제2 어드레스에 따라 생성된다.
12. 조항 1의 방법에서, 방법은 SD 카드의 용량 정보를 호스트로 전송하는 단계를 더 포함한다.
13. SD 카드의 컨트롤러는 조항 1-12 중 어느 하나의 방법을 수행하도록 구성된다.
14. SD 카드에 액세스하는 방법으로서, SD 카드는,
호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀;
적어도 하나의 접지 핀;
호스트로부터 클럭 신호를 수신하는 클럭 핀;
호스트로부터 커맨드를 수신하기 위한 커맨드 핀; 및
SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하는데 사용되는 4 개의 데이터 핀을 포함하고,
상기 방법은
커맨드 핀을 통해 제1 어드레스를 포함하는 어드레스 확장 커맨드를 SD 카드로 전송하는 단계;
커맨드 핀을 통해 제2 어드레스를 포함하는 액세스 커맨드를 SD 카드로 전송하는 단계; 및
데이터 핀을 통해 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스에 의해 지시된 SD 카드의 적어도 메모리 위치에 액세스하는 단계;를 포함하고,
액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행 될 액세스 동작을 나타낸다.
15. 조항 14의 방법에서, 제3 어드레스는 제1 어드레스와 제2 어드레스를 일렬로 연결함으로써 생성된다.
16. 조항 14의 방법에서, 상기 방법은 SD 카드의 용량 정보를 수신하는 단계ㄹ를 더 포함하고, 어드레스 확장 커맨드를 전송하는 단계는 상기 SD 카드의 용량이 미리 결정된 임계값을 초과하는 경우에 수행된다.
17. 조항 14의 방법에서, 제1 어드레스 및 제2 어드레스는 모두 32 비트이다.
18. 조항 14의 방법에서, 상기 제1 어드레스는 6 비트이고 제2 어드레스는 32 비트이다.
19. 조항 14의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시된 메모리 위치 상에서 대한 단일 판독 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD17 커맨드에 포함된 제2 어드레스에 따라 생성된다.
20. 조항 14의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, 상기 SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시된 메모리 위치 상에서 단일 기록 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD24 커맨드에 포함된 제2 어드레스에 따라 생성된다.
21. 조항 14의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우, 상기 SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치 상에서 다중 판독 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD18 커맨드에 포함된 제2 어드레스에 따라 생성된다.
22. 조항 14의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치로부터 다중 기록 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD25 커맨드에 포함된 제2 어드레스에 따라 생성된다.
23. 조항 14의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 상기 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 CMD 38 커맨드에 응답하여 제3 어드레스에 의해 지시되는 메모리 위치로부터 소거 동작을 수행하는 단계를 포함하고, 제3 어드레스는 CMD22 커맨드 및 CMD32 커맨드에 따라 생성된다.
24. 조항 14의 방법에서, 어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드를 포함하는 경우, 메모리 위치에 액세스하는 단계는 SD 카드는 CMD38 커맨드에 응답하여 제3 어드레스에 의해 지시된 메모리 위치로부터 제4 어드레스에 의해 지시된 다른 메모리 위치까지 소거 동작을 수행하는 단계를 포함하고, 제3 어드레스는 제1 CMD22 커맨드 및 CMD32 커맨드에 따라 생성되고, 제4 어드레스는 제2 CMD22 커맨드 및 CMD33 커맨드에 따라 생성된다.
25. 조항 14의 방법에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치로부터 데이터 전송을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD45 커맨드에 포함된 제2 어드레스에 따라 생성된다.
26. 조항 14의 방법에서, 방법은,
제4 어드레스에 의해 지시될 수 있는 메모리 위치에 대한 액세스를 결정하는 단계;
커맨드 핀을 통해, 상기 제4 어드레스를 포함하는 다른 액세스 커맨드를 SD 카드로 전송하는 단계; 및
데이터 핀을 통해, 제4 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스하는 단계를 더 포함한다.
27. SD 카드로서, SD 카드는,
복수의 메모리 위치를 포함하는 메모리 모듈;
입력/출력(I/O) 인터페이 - 상기 인터페이스는
호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀;
적어도 하나의 접지 핀;
호스트로부터 클럭 신호를 수신하는 클럭 핀;
호스트로부터 커맨드를 수신하기 위한 커맨드 핀; 및
SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하기 위한 4 개의 데이터 핀;을 포함함 -;
컨트롤러 - 상기 컨트롤러는,
커맨드 핀을 통해, I/O 인터페이스로부터 제1 어드레스를 포함하는 어드레스 확장 커맨드를 수신하고,
커맨드 핀을 통해, I/O 인터페이스로부터 제2 어드레스를 포함하는 액세스 커맨드를 수신하고,
제1 어드레스와 제2 어드레스의 조합인 제3 어드레스에 의해 지시되는 복수의 메모리 위치 중 적어도 하나에 액세스하도록 구성됨 - ;를 포함하고,
상기 액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행 될 액세스 동작을 나타낸다.
28. 조항 27의 SD카드에서, 제3 어드레스는 제1 어드레스와 제2 어드레스를 일렬로 연결함으로써 생성된다.
29. 조항 27의 SD 카드에서, 상위 어드레스 및 하위 어드레스는 모두 32 비트이다.
30. 조항 27의 SD 카드에서, 상위 어드레스는 6 비트이고 하위 어드레스는 32 비트이다.
31. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하는 경우, 컨트롤러는 제3 어드레스에 의해 지시된 메모리 위치 상에서 단일 판독 동작을 수행하고, 제3 어드레스 CMD22 커맨드에 포함된 제1 어드레스 및 CMD17 커맨드에 포함된 제2 어드레스에 따라 생성된다.
32. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 상기 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, 컨트롤러는 제3 어드레스에 의해 지시된 메모리 위치 상에서 단일 기록 동작을 수행하고, 상기 제3 어드레스 CMD22 커맨드에 포함된 제1 어드레스 및 CMD24 커맨드에 포함된 제2 어드레스에 따라 생성된다.
33. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 상기 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우, 컨트롤러는 제3 어드레스에 의해 지시된 메모리 위치로부터 다중 판독 동작을 수행하고, 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD18 커맨드에 포함된 제2 어드레스에 따라 생성된다.
34. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우, 컨트롤러는 제3 어드레스에 의해 지시되는 메모리 위치로부터 다중 기록 동작을 수행하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD25 커맨드에 포함된 제2 어드레스에 따라 생성된다.
35. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 상기 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, 컨트롤러는 제3 어드레스에 의해 지시되는 메모리 위치로부터 소거 동작을 수행하고, 여기서 제3 어드레스는 CMD22 커맨드 및 CMD32 커맨드에 따라 생성된다.
36. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드를 포함하는 경우, 상기 컨트롤러는 CMD38 커맨드에 응답하여 제3 어드레스에 의해 지시된 메모리 위치로부터 제4 어드레스에 의해 지시된 다른 메모리 위치까지 소거 동작을 수행하고, 제3 어드레스는 제1 CMD22 커맨드 및 CMD32 커맨드에 따라 생성되고 제4 어드레스는 제2 CMD22 커맨드 및 CMD33 커맨드에 따라 생성된다.
37. 조항 27의 SD 카드에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우, 컨트롤러는 상기 제3 어드레스에 의해 지시되는 메모리 위치로부터 데이터 전송을 수행하고, 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD45 커맨드에 포함된 제2 어드레스에 따라 생성된다.
38. 조항 27의 SD 카드에서, 컨트롤러는 SD 카드의 용량 정보를 호스트로 전송하도록 추가로 구성된다.
39. SD 카드에 액세스할 수 있는 전자 장치로서,
I/O 인터페이스 - 인터페이스는,
SD 카드에 전압을 공급하기 위한 전압 공급 접점;
적어도 하나의 접지 접점;
SD 신호에 클록 신호를 제공하는 클록 접점;
SD 카드에 커맨드를 제공하기 위한 커맨드 접점; 및
SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하기 위한 4 개의 데이터 접점;을 포함함 - ; 및
프로세서 - 상기 프로세서는,
커맨드 접점을 통해, 제1 어드레스를 포함하는 어드레스 확장 커맨드를 SD 카드로 전송하고;
커맨드 접점을 통해, 제2 어드레스를 포함하는 액세스 커맨드를 상기 SD 카드에 전송하고;
상기 데이터 접점을 통해, 상기 제1 어드레스와 상기 제2 어드레스의 조합인 제3 어드레스에 의해 지시되는 SD 카드의 적어도 메모리 위치에 액세스하도록 구성됨 - ; 를 포함하고,
액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타낸다.
40. 조항 39의 전자 장치에서, 제3 어드레스는 제1 어드레스와 제2 어드레스를 일렬로 연결함으로써 생성된다.
41. 조항 39의 전자 장치에서, 프로세서는 I/O 인터페이스로부터 수신된 정보에 기초하여 SD 카드의 용량을 결정하고; SD 카드의 결정된 용량이 미리 결정된 임계값을 초과하면 어드레스 확장 커맨드가 전송된다.
42. 조항 39의 전자 장치에서, 제1 어드레스 및 제2 어드레스는 모두 32 비트이다.
43. 조항 39의 전자 장치에서, 제1 어드레스는 6 비트이고 제2 어드레스는 32 비트이다.
44. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하면, 프로세서는 제3 어드레스에 의해 지시되는 메모리 위치 상에서 단일 판독 동작을 수행하고, 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD17 커맨드에 포함된 제2 어드레스에 따라 생성된다.
45. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, 프로세서는 제3 어드레스에 의해 지시되는 메모리 위치 상에서 단일 기록 동작을 수행하고, 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD24 커맨드에 포함된 제2 어드레스에 따라 생성된다.
46. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우, 프로세서는 제3 어드레스에 의해 지시된 메모리 위치로부터 다중 판독 동작을 수행하고, 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD18 커맨드에 포함된 제2 어드레스에 따라 생성된다.
47. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우, 프로세서는 제3 어드레스에 의해 지시되는 메모리 위치로부터 다중 기록 동작을 수행하며; 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD25 커맨드에 포함된 제2 어드레스에 따라 생성된다.
48. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, 프로세서는 CMD38 에 응답하여 제3 어드레스에 의해 지시된 메모리 위치로부터 소거 동작을 수행하고, 제3 어드레스는 CMD22 커맨드 및 CMD32 커맨드에 따라 생성된다.
49. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드를 포함하는 경우, 프로세서는 CMD38 커맨드에 응답하여 제3 어드레스에 의해 지시된 메모리 위치로부터 제4 어드레스에 의해 지시된 다른 메모리 위치까지 소거 동작을 수행하고, 제3 어드레스는 제1 CMD22 커맨드 및 CMD32 커맨드에 따라 생성되고, 제4 어드레스는 제2 CMD22 커맨드 및 CMD33 커맨드에 따라 생성된다.
50. 조항 39의 전자 장치에서, 어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우, 프로세서는 상기 제3 어드레스에 의해 지시되는 메모리 위치로부터 데이터 전송을 수행하고, 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD45 커맨드에 포함된 제2 어드레스에 따라 생성된다.
51. 조항 39의 전자 장치에서, 전자 장치가 제4 어드레스에 의해 지시될 수있는 메모리 위치에 대한 액세스를 결정하면, 프로세서는
커맨드 핀을 통해, 제4 어드레스를 포함하는 다른 액세스 커맨드를 SD 카드로 전송하고,
데이터 핀을 통해, 제4 어드레스에 의해 지시된 SD 카드의 메모리 위치에 액세스하도록 더 구성된다.
전술한 본 발명은 설명을 위한 예시적인 것으로 본 발명을 제한하는 것으로 간주되어서는 안된다. 당업자는 본 발명의 요지를 유지하면서 장치 및 방법의 수많은 수정 및 변경이 이루어질 수 있음을 알 수 있을 것이다. 따라서, 본 발명은 첨부된 청구 범위에 의해서만 제한되는 것으로 해석되어야한다.

Claims (13)

  1. 보안 디지털(SD) 카드에 액세스하기 위한 방법으로서,
    SD카드는,
    호스트로부터 전압 공급을 수신하기 위한 전압 공급 핀;
    적어도 하나의 접지 핀;
    상기 호스트로부터 클럭 신호를 수신하는 클럭 핀;
    상기 호스트로부터 커맨드를 수신하기 위한 커맨드 핀; 및
    SD 카드에 데이터를 기록하거나 SD 카드로부터 데이터를 판독하는데 사용되는 4 개의 데이터 핀;을 포함하고,
    상기 방법은,
    커맨드 핀을 통해 호스트로부터 제1 어드레스를 포함하는 어드레스 확장 커맨드를 수신하는 단계;
    커맨드 핀을 통해 상기 호스트로부터 제2 어드레스를 포함하는 액세스 커맨드를 수신하는 단계;
    데이터 핀을 통해 제1 어드레스와 제2 어드레스의 조합인 제3 어드레스에 의해 지시된 SD 카드의 적어도 메모리 위치에 액세스하는 단계;를 포함하고,
    액세스 커맨드는 단일 판독 동작, 단일 기록 동작, 다중 판독 동작, 다중 기록 동작 및 소거 동작 중에서 선택된 SD 카드상에서 수행될 액세스 동작을 나타내는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    제3 어드레스는 제1 어드레스와 제2 어드레스를 일렬로 연결함으로써 생성되는 방법.
  3. 제1항에 있어서,
    제1 어드레스 및 상기 제2 어드레스는 모두 32 비트인 방법.
  4. 제1항에 있어서,
    제1 어드레스는 6 비트이고 제2 어드레스는 32 비트인 방법.
  5. 제1항에 있어서,
    어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD17 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시된 메모리 위치 상에서 대한 단일 판독 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD17 커맨드에 포함된 제2 어드레스에 따라 생성되는 방법.
  6. 제1항에 있어서,
    어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD24 커맨드를 포함하는 경우, 상기 SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시된 메모리 위치 상에서 단일 기록 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD24 커맨드에 포함된 제2 어드레스에 따라 생성되는 방법.
  7. 제1항에 있어서,
    어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD18 커맨드를 포함하는 경우, 상기 SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치 상에서 다중 판독 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD18 커맨드에 포함된 제2 어드레스에 따라 생성되는 방법.
  8. 제1항에 있어서,
    어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD23 커맨드 및 CMD25 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치로부터 다중 기록 동작을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD25 커맨드에 포함된 제2 어드레스에 따라 생성되는 방법.
  9. 제1항에 있어서,
    어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 상기 액세스 커맨드가 CMD32 및 CMD38 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 CMD 38 커맨드에 응답하여 제3 어드레스에 의해 지시되는 메모리 위치로부터 소거 동작을 수행하는 단계를 포함하고, 제3 어드레스는 CMD22 커맨드 및 CMD32 커맨드에 따라 생성되는 방법.
  10. 제1항에 있어서,
    어드레스 확장 커맨드가 제1 CMD22 커맨드 및 제2 CMD22 커맨드를 포함하고, 액세스 커맨드가 CMD32 커맨드, CMD33 커맨드 및 CMD38 커맨드를 포함하는 경우, 메모리 위치에 액세스하는 단계는 SD 카드는 CMD38 커맨드에 응답하여 제3 어드레스에 의해 지시된 메모리 위치로부터 제4 어드레스에 의해 지시된 다른 메모리 위치까지 소거 동작을 수행하는 단계를 포함하고, 제3 어드레스는 제1 CMD22 커맨드 및 CMD32 커맨드에 따라 생성되고, 제4 어드레스는 제2 CMD22 커맨드 및 CMD33 커맨드에 따라 생성되는 방법.
  11. 제1항에 있어서,
    어드레스 확장 커맨드가 CMD22 커맨드를 포함하고 액세스 커맨드가 CMD44 커맨드 및 CMD45 커맨드를 포함하는 경우, SD 카드의 메모리 위치에 액세스하는 단계는 제3 어드레스에 의해 지시되는 메모리 위치로부터 데이터 전송을 수행하는 단계를 포함하고, 여기서 제3 어드레스는 CMD22 커맨드에 포함된 제1 어드레스 및 CMD45 커맨드에 포함된 제2 어드레스에 따라 생성되는 방법.
  12. 제1항에 있어서,
    SD 카드의 용량 정보를 상기 호스트로 전송하는 단계를 더 포함하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항의 방법을 수행하도록 구성된 SD 카드의 컨트롤러.
KR1020207012536A 2017-12-28 2018-12-28 메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트 KR102372972B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762610937P 2017-12-28 2017-12-28
US62/610,937 2017-12-28
PCT/CN2018/125004 WO2019129226A1 (en) 2017-12-28 2018-12-28 Memory addressing methods and associated controller, memory device and host

Publications (2)

Publication Number Publication Date
KR20200060758A true KR20200060758A (ko) 2020-06-01
KR102372972B1 KR102372972B1 (ko) 2022-03-10

Family

ID=67058813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207012536A KR102372972B1 (ko) 2017-12-28 2018-12-28 메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트

Country Status (7)

Country Link
US (3) US10866746B2 (ko)
EP (1) EP3732574A4 (ko)
JP (2) JP6987267B2 (ko)
KR (1) KR102372972B1 (ko)
CN (2) CN115794665A (ko)
TW (2) TWI790456B (ko)
WO (1) WO2019129226A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866746B2 (en) * 2017-12-28 2020-12-15 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host
TW202314512A (zh) * 2017-12-28 2023-04-01 慧榮科技股份有限公司 快閃記憶體控制器、安全數位卡、使用於快閃記憶體控制器的方法以及存取安全數位卡的主機
US11288187B2 (en) * 2018-03-28 2022-03-29 SK Hynix Inc. Addressing switch solution
US11544185B2 (en) * 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11544186B2 (en) * 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327644A1 (en) * 2008-06-26 2009-12-31 Sdc Micro Inc. Cpu and memory connection assembly to extend memory address space
US20110119431A1 (en) * 2009-11-13 2011-05-19 Chowdhury Rafat Memory system with read-disturb suppressed and control method for the same
US20110128809A1 (en) * 2009-11-27 2011-06-02 Macronix International Co., Ltd. Method and Apparatus of Addressing A Memory Integrated Circuit
JP2017157209A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ装置のデータアドレッシング方法及びメモリ装置並びにメモリモジュール
US20190163385A1 (en) * 2017-11-28 2019-05-30 Western Digital Technologies, Inc. Task readiness for queued storage tasks

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3923715B2 (ja) * 2000-09-29 2007-06-06 株式会社東芝 メモリカード
TWM253045U (en) 2003-12-16 2004-12-11 I O Interconnect Inc Removable flash memory portable storage device task
JP4515793B2 (ja) 2004-03-11 2010-08-04 株式会社東芝 メモリカード装置およびメモリカード制御方法
US7814377B2 (en) 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
CN101089830B (zh) * 2006-06-16 2010-06-09 亮发科技股份有限公司 记忆装置及其运作方法
KR100783988B1 (ko) 2006-10-31 2007-12-07 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작방법
JP4956143B2 (ja) * 2006-11-02 2012-06-20 株式会社東芝 半導体メモリカード、ホスト装置、及びデータ転送方法
US7694099B2 (en) 2007-01-16 2010-04-06 Advanced Risc Mach Ltd Memory controller having an interface for providing a connection to a plurality of memory devices
US7916557B2 (en) 2007-04-25 2011-03-29 Micron Technology, Inc. NAND interface
JP2009026296A (ja) * 2007-06-21 2009-02-05 Toshiba Corp 電子デバイス、メモリデバイス、ホスト装置
CN101782870B (zh) 2009-01-16 2011-12-14 旺宏电子股份有限公司 存储器装置与其控制方法
CN101650690B (zh) 2009-09-21 2011-03-02 中兴通讯股份有限公司 大容量存储卡的应用方法及移动终端
CN102214482B (zh) 2010-04-07 2013-05-01 中国科学院电子学研究所 高速大容量固态电子记录器
US8713242B2 (en) 2010-12-30 2014-04-29 Solid State System Co., Ltd. Control method and allocation structure for flash memory device
TWI471862B (zh) 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
KR101988260B1 (ko) 2012-09-14 2019-06-12 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
JP5976608B2 (ja) * 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
CN103268775A (zh) 2013-05-17 2013-08-28 深圳市江波龙电子有限公司 存储芯片、存储设备及存储芯片使用方法
KR102210961B1 (ko) 2013-06-12 2021-02-03 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동적 접근 방법
CN103488436B (zh) 2013-09-25 2017-04-26 华为技术有限公司 内存扩展系统及方法
CN104679592A (zh) 2013-12-02 2015-06-03 北京兆易创新科技股份有限公司 一种微控制单元mcu中资源动态分配的方法和系统
CN103809920B (zh) 2014-02-13 2017-05-17 杭州电子科技大学 一种超大容量固态硬盘的实现方法
US9606738B2 (en) 2014-03-10 2017-03-28 Kabushiki Kaisha Toshiba Memory system with a bridge part provided between a memory and a controller
JP2016029556A (ja) 2014-07-15 2016-03-03 株式会社東芝 ホスト機器および拡張性デバイス
US9418731B1 (en) 2015-11-06 2016-08-16 Phison Electronics Corp. Memory management method, memory storage device and memory control circuit unit
TWI599880B (zh) 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
TWI637264B (zh) 2016-05-20 2018-10-01 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
JP6232109B1 (ja) * 2016-09-27 2017-11-15 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
US10866746B2 (en) 2017-12-28 2020-12-15 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327644A1 (en) * 2008-06-26 2009-12-31 Sdc Micro Inc. Cpu and memory connection assembly to extend memory address space
US20110119431A1 (en) * 2009-11-13 2011-05-19 Chowdhury Rafat Memory system with read-disturb suppressed and control method for the same
US20110128809A1 (en) * 2009-11-27 2011-06-02 Macronix International Co., Ltd. Method and Apparatus of Addressing A Memory Integrated Circuit
JP2017157209A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ装置のデータアドレッシング方法及びメモリ装置並びにメモリモジュール
US20190163385A1 (en) * 2017-11-28 2019-05-30 Western Digital Technologies, Inc. Task readiness for queued storage tasks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"SD Specifications Part 1 Physical Layer Simplified Specification Version 5.0"(http://www.sdcard.org) *

Also Published As

Publication number Publication date
TWI695382B (zh) 2020-06-01
JP6987267B2 (ja) 2021-12-22
US20190205047A1 (en) 2019-07-04
CN115794665A (zh) 2023-03-14
TW202314723A (zh) 2023-04-01
TW202046326A (zh) 2020-12-16
US10866746B2 (en) 2020-12-15
EP3732574A4 (en) 2021-10-27
JP7229326B2 (ja) 2023-02-27
KR102372972B1 (ko) 2022-03-10
TWI790456B (zh) 2023-01-21
JP2021504863A (ja) 2021-02-15
US20220350502A1 (en) 2022-11-03
US11422717B2 (en) 2022-08-23
WO2019129226A1 (en) 2019-07-04
CN110059017B (zh) 2022-11-04
EP3732574A1 (en) 2020-11-04
US20210081118A1 (en) 2021-03-18
TW201939509A (zh) 2019-10-01
JP2022028890A (ja) 2022-02-16
CN110059017A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
KR102372972B1 (ko) 메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트
US10891236B2 (en) Data storage device and operating method thereof
US20190317892A1 (en) Memory system, data processing system, and operating method of memory system
CN111324557B (zh) 数据存储装置、其操作方法以及包括其的存储系统
US8127072B2 (en) Data storage device and method for accessing flash memory
US11487669B2 (en) Memory system for storing data of log-structured merge tree structure and data processing system including the same
WO2015054338A1 (en) System and method of storing data in a data storage device with a selection of two writing orders in order to improve the reading speed of a differential look ahead reading mode.
CN108572798B (zh) 针对快速数据传输执行监听操作的存储装置及其方法
US20180239557A1 (en) Nonvolatile memory device, data storage device including the same, and operating method of data storage device
US20190088293A1 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US10754768B2 (en) Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof
CN110047553B (zh) 数据处理系统及其操作方法
WO2014159396A2 (en) System and method of accessing memory of a data storage device
US20190278703A1 (en) Memory system, operating method thereof and electronic device
US10282328B2 (en) Apparatus having direct memory access controller and method for accessing data in memory
US20190163602A1 (en) Memory system and operating method thereof
KR101175250B1 (ko) 낸드 플래시 메모리 장치와 그의 컨트롤러 및 이들의 라이트 오퍼레이션 방법
US20230244402A1 (en) Storage device and operating method of storage device
US20210089208A1 (en) Memory system and data processing system including the same
EP4220374A1 (en) Storage device and operating method of storage device
KR20210004613A (ko) 데이터 저장 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant