KR20160053942A - 임베디드 메모리들에서의 커맨드 큐잉의 제공 - Google Patents

임베디드 메모리들에서의 커맨드 큐잉의 제공 Download PDF

Info

Publication number
KR20160053942A
KR20160053942A KR1020167007265A KR20167007265A KR20160053942A KR 20160053942 A KR20160053942 A KR 20160053942A KR 1020167007265 A KR1020167007265 A KR 1020167007265A KR 20167007265 A KR20167007265 A KR 20167007265A KR 20160053942 A KR20160053942 A KR 20160053942A
Authority
KR
South Korea
Prior art keywords
command
host
control system
task
queue
Prior art date
Application number
KR1020167007265A
Other languages
English (en)
Other versions
KR101817932B1 (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 KR20160053942A publication Critical patent/KR20160053942A/ko
Application granted granted Critical
Publication of KR101817932B1 publication Critical patent/KR101817932B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/061Improving I/O performance
    • 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
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Communication Control (AREA)

Abstract

임베디드 메모리들에서 커맨드 큐잉을 제공하는 것이 개시된다. 특히, 본원에 개시된 양태들은 큐의 상태가 디바이스로부터 호스트로 통신되는 프로세스에 관한 것이다. 본 개시물의 양태들은 eMMC (embedded Multi-Media Card) 표준의 커맨드 구조를 이용하여, 호스트가 진행중인 데이터 전달의 알려진 종료 근방에서 디바이스에서의 큐의 상태를 결정할 수도 있게 된다. 이 방식으로, 호스트는 현재 데이터 전달이 여전히 진행 중인 상태에서, 현재 데이터 전달의 완료후 시작할 테스크를 선택할 수 있다.

Description

임베디드 메모리들에서의 커맨드 큐잉의 제공{PROVIDING COMMAND QUEUING IN EMBEDDED MEMORIES}
우선권 주장
본 출원은 2013년 9월 10일에 출원되고 발명의 명칭이 "SYSTEMS AND METHODS FOR PROVIDING COMMAND QUEUING IN THE EMBEDDED MULTI-MEDIA CONTROLLER (eMMC) STANDARD"인 미국 특허 가출원 일련번호 제61/875,721호를 우선권으로 주장하며 여기서는 그 전체 내용을 참조로서 포함한다.
본 출원은 또한, 2014년 9월 5일에 출원되고 발명의 명칭이 "PROVIDING COMMAND QUEUING IN EMBEDDED MEMORIES"인 미국 특허 출원 일련번호 제14/478,032호를 우선권으로 주장하며 여기서는 그 전체 내용을 참조로서 포함한다.
I. 기술분야
본 개시물의 기술은 일반적으로 임베디드 메모리에 관한 것이고, 보다 구체적으로는 그에 따른 커맨드 큐잉을 제공하는 것에 관한 것이다.
II. 배경기술
많은 모바일 디바이스들은 모바일 디바이스에 의한 사용을 위한 데이터 및/또는 소프트웨어를 저장하기 위하여 플래시 메모리에 의존한다. 플래시 메모리는 두가지 일반적인 종류들: 고정형 (임베디드) 및 탈착가능형으로 보급된다. 탈착가능 플래시 메모리는 통상적으로 탈착가능 메모리 카드의 형태를 취하며, 통상 디지털 카메라들 또는 오디오 디바이스들에 이용된다. 임베디드 플래시 메모리는 일반적으로 모바일 디바이스 내에서 회로 보드 또는 다른 지원 매체에 납땜 또는 달리 영구적으로 고정된다.
JEDEC (Joint Electron Device Engineering Council) 는 임베디드 플래시 메모리의 한 유형에 관련한 eMMC (embedded Multi-Media Card) 표준들을 만드는 것을 담당한다. eMMC 는 멀티미디어 카드 인터페이스, 플래시 메모리 및 제어기 - 이들 모두 소형 BGA (ball grid array) 패키지에 있음 - 를 갖는 임베디드 스토리지 솔루션으로 이루어지는 아키텍쳐를 기술한다. eMMC 는 현재, 호스트가 디바이스에 기록하거나 또는 디바이스로부터 판독하기 위한 커맨드를 전송하는 동기 프로토콜이다. 디바이스는 응답을 전송하고 그 후 데이터 블록 전달이 발생한다. 데이터 전달의 완료 후, 호스트는 다른 커맨드를 전송하고 다른 응답을 수신하며, 다른 데이터 전달이 발생한다. 이 동기 커맨드 구조는 eMMC 메모리 내부로의 또는 외부로의 매 데이터 전달 마다 발생한다. 정상적으로, 소프트웨어는 매 커맨드 및 응답과 연관되어 있다. 이러한 소프트웨어는 통상적으로 느리게 반응하는 엔티티이고, 매 커맨드 및 응답에서의 관여는 데이터 전달들을 실시하는데 있어 지연을 추가시킨다.
eMMC 의 동기 커맨드 구조와 대조적으로, 다른 메모리 표준인, UFS (universal flash storage) 는 커맨드 큐잉 피쳐들을 갖는 다수의 커맨드들을 지원하고 멀티-스레드 프로그래밍 패라다임을 가능하게 하는, 잘 알려진 SCSI (small computer system interface) 아키텍쳐 모델 및 커맨드 프로토콜들을 채택한다. 실제적으로, 커맨드 큐잉은 호스트가 디바이스에 의한 이들 테스크들의 실행에 앞서 복수의 테스크들을 디바이스에 전송하는 것을 허용한다. 이들 테스크들은 디바이스에서 큐에 저장된다. 그 후, 디바이스는 디바이스가 수신하였던 복수의 테스크들로부터 한 테스트를 고르고 그 고른 테스크를 실행하고 호스트에게 완료를 통지한다.
호스트 및 디바이스에서의 소프트웨어는 서로 기다려야 하기보다는 동시에 작업할 수 있기 때문에, 커맨드 큐잉은 데이터 전달이 발생하는 버스의 보다 효율적인 사용을 허용한다. eMMC 는 데이터 버스의 사용에 있어서 효율성들에서의 개선 및 커맨드 큐잉으로부터 이점을 얻는다. 그러나, eMMC 가 이력적으로 커맨드 큐잉을 고려하지 않았다고 가정하면, 호스트가 디바이스에서 큐에서의 테스크들의 상태를 어떻게 학습할 수 있는지의 방법을 정의하는 것이 필요하다.
상세한 설명에 개시된 양태들은 임베디드된 메모리들에 커맨드 큐잉을 제공하는 것을 포함한다. 특히, 본원에 개시된 양태들은 큐의 상태가 디바이스로부터 호스트로 통신되는 프로세스에 관한 것이다. 본 개시물의 양태들은 eMMC (embedded Multi-Media Card) 표준의 커맨드 구조를 이용하여, 호스트가 진행중인 데이터 전달의 알려진 종료 근방에서 (proximate) 디바이스에서의 큐의 상태를 결정할 수 있게 된다. 이 방식으로, 호스트는 현재 데이터 전달이 여전히 진행 중인 상태에서, 현재 데이터 전달의 완료후 시작할 테스크를 선택할 수 있다.
이러한 점에서, 일 양태에서, 호스트가 개시된다. 호스트는 eMMC 표준에 순응하여 디바이스로부터 신호들을 수신하고 디바이스들에 신호들을 송신하도록 구성된 트랜시버를 포함한다. 호스트는 또한 트랜시버에 동작적으로 커플링된 제어 시스템을 포함한다. 제어 시스템은 디바이스에서의 QSR (queue status register) 의 상태를 결정하기 위한 커맨드를 디바이스에 발행하도록 구성된다. 제어 시스템은 또한, 디바이스의 QSR 에 관한 정보와 함께 디바이스로부터의 응답을 수신하도록 구성된다.
다른 양태에서, 디바이스가 개시된다. 디바이스는 eMMC 표준에 순응하여 호스트로부터 신호들을 수신하고 호스트에 신호들을 송신하도록 구성된 트랜시버를 포함한다. 디바이스는 또한 트랜시버에 동작적으로 커플링된 제어 시스템을 포함한다. 제어 시스템은 디바이스에서의 QSR 의 상태를 결정하기 위한 커맨드를 호스트로부터 수신하도록 구성된다. 제어 시스템은 또한, 디바이스의 QSR 에 관한 정보와 함께 호스트로의 응답을 송신하도록 구성된다.
다른 양태에서, eMMC 호스트를 동작시키는 방법이 개시된다. 방법은 디바이스에서의 QSR 의 상태를 결정하기 위한 커맨드를 포함하는 신호들을 eMMC 호스트로부터 디바이스로 송신하는 단계를 포함한다. 방법은 또한 디바이스의 QSR 에 관한 정보와 함께 디바이스로부터의 응답을 수신하는 단계를 포함한다.
도 1 은 eMMC (embedded Multi-Media Card) 표준을 이용한 호스트와 디바이스 사이의 예시적인 접속의 블록도이다.
도 2 는 인터럽트 핀을 이용한 호스트와 디바이스 사이의 신호들의 타이밍도이다.
도 3 은 본 개시물의 예시적인 양태들에 따른 커맨드 구조를 이용한 호스트와 디바이스 사이의 신호들의 타이밍도이다.
도 4 는 본 개시물의 예시적인 프로세스의 흐름도이다.
도 5 는 본 개시물의 양태들에 따라 동작하는 도 1 의 호스트 및 디바이스를 포함할 수 있는 예시적인 프로세서 기반 시스템의 블록도이다.
이하 도면들을 참조하여, 본 개시물의 수개의 예시적인 양태들이 기술된다. 단어 "예시적인"은 본원에서 "실시형태인, 예시인 또는 예증인" 것을 의미하기 위해 사용된다. "예시적인"으로서 본원에서 설명된 임의의 양태는 다른 양태들에 비해 더 선호되거나 또는 더 유익한 것으로 해석될 필요는 없다.
상세한 설명에 개시된 양태들은 임베디드된 메모리들에 커맨드 큐잉을 제공하는 것을 포함한다. 특히, 본원에 개시된 양태들은 큐의 상태가 디바이스로부터 호스트로 통신되는 프로세스에 관한 것이다. 본 개시물의 양태들은 eMMC (embedded Multi-Media Card) 표준의 커맨드 구조를 이용하여, 호스트가 진행중인 데이터 전달의 알려진 종료 근방에서 디바이스에서의 큐의 상태를 결정할 수도 있게 된다. 이 방식으로, 호스트는 현재 데이터 전달이 여전히 진행 중인 상태에서, 현재 데이터 전달의 완료후 시작할 테스크를 선택할 수 있다.
호스트가 테스크를 생성할 때, 호스트는 얼마나 많은 데이터가 전달될 예정인지를 추론적으로 알고 있다. 호스트가 또한, 언제 데이터 전달을 시작할지를 디바이스에 명령하는 것으로 가정하면, 호스트는 언제 특정 테스크와 연관된 데이터 전달이 곧 종료될지를 결정할 수도 있다. 따라서, 호스트는 데이터 전달의 완료 이전에 특정 시점에서 폴링 조회 (inquiry) 를 스케쥴링할 수도 있다. 예시적인 양태에서, 폴링 조회는 호스트로부터 디바이스로의 SEND_QUEUE_STATUS 커맨드 (CMD13) 신호의 형태로 된다. 디바이스는 큐 상태 정보로 응답한다. 그 후, 호스트는 큐에서 어느 테스크들이 실행할 준비중인지에 관한 충분한 정보를 갖는다. 현재 데이터 전달의 종료시, 호스트는 새로운 테스크를 실행하도록 커맨드를 발행할 수도 있다. 이 배열은 추가적인 핀에 대한 필요성을 방지한다. 추가의 핀들을 방지하는 것은 공간 및 비용을 절약시킨다. 이와 마찬가지로, 이 배열은 주기적 폴링에 의존하기 보다는 데이터 전달의 대략 종료까지 폴링 이벤트를 시도함으로서 폴링 조회들을 수를 감소시킨다. 즉, 폴링이 주기적으로 행해지면, 호스트는 단일의 데이터 전달 동안에 2회 (또는 그 이상) 폴링할 수도 있다. 이와 대조적으로, 본 개시물은 단일의 데이터 전달 동안에 (데이터 전달의 종료 근방에서) 단일의 폴링 이벤트만을 갖는다. 추가의 폴링의 제거는 데이터 버스의 보다 효율적인 사용을 제공한다.
eMMC 시스템에서의 커맨드 큐잉의 추가는 디바이스가 실행 순서를 최적화하는 것을 허용한다. 이러한 최적화는 테스크들의 실행에 있어서 지연을 제거하고/하거나 배터리 수명을 연장시킬 수도 있다. 커맨드 큐잉은 디바이스가 현재 큐 상태를 호스트에게 통지하는 것을 용이하게 하여 에러 핸들링을 개선시킨다. 추가적으로, 커맨드 큐잉은 커맨드들에 대한 타이밍 양태들을 개선시킨다.
이러한 점에서, 도 1 은 컨덕터들 (14) 을 통하여 디바이스 (12) 에 커플링된 호스트 (10) 의 블록도이다. 호스트 (10) 와 디바이스 (12) 사이의 통신들은 2012 년 6 월에 JEDEC (Joint Electron Device Engineering Council) 에 의해 공표된 eMMC 전기 표준 5.0 과 같은 eMMC 표준에 따른다. 개정안 5.01 이 2014 년 7 월에 공표되었다. 2014 년 12 월의 대상 공개와 함께 개정안 5.1 을 완성하기 위한 작업이 현재 행해지고 있다. 이 표준의 사본들은 미국 버지니아 22201-2107, 알링턴 노스 10 스트리트 3103 스위트 240 사우스에 위치한 JEDEC 으로부터 입수가능하다. 호스트 (10) 는 적절한 통신 인터페이스 (18) 를 갖는 하드웨어 기반 시스템인 호스트 제어기 (16) 를 포함한다. 호스트 제어기 (16) 는 호스트 소프트웨어 (20) 와 협업한다. 총괄적으로, 호스트 제어기 (16) 및 호스트 소프트웨어 (20) 는 제어 시스템이다.
도 1 을 계속 참조하여 보면, 디바이스 (12) 는 적절한 통신 인터페이스 (24) 를 갖는 하드웨어 기반 시스템인 제어기 (22) 를 포함한다. 디바이스 (12) 는 메모리 유닛 (26) (예를 들어, 부정 AND 또는 NOT AND (NAND) 플래시 저장 디바이스) 을 더 포함한다. 디바이스 (12) 는 테스크 큐 (28) 를 더 포함한다. 총괄적으로, 제어기 (22) 및 제어기 (22) 의 동작과 연관된 임의의 소프트웨어 및 펌웨어는 제어 시스템이다.
QRDY 핀을 통한 커맨드 큐잉을 포함하기 위해, JEDEC 에 앞서 Samsung, SanDisk 및 Qualcomm 에 의한 연합 제안이 있어 왔다. 이러한 QRDY 핀의 사용은 커맨드 큐잉을 허용할 수도 있지만, 비용들을 증가시키고/시키거나 공간적 불이익을 가할 수도 있다. 그럼에도 불구하고, 본 개시물의 양태들을 대비하는 것을 돕기 위해, QRDY 핀의 양태들이 도 2 에 서술된다. 보다 구체적으로, 도 2 는 QRDY 핀을 위한 시간 플로우 (30) 에 대한 신호 진행을 제공한다.
이러한 점에서, 도 2 는 타이밍도를 예시한다. 보다 구체적으로, 호스트 (10) 는 커맨드 (32)(C) 를 전송하고 응답 (R)(34) 을 수신한다. 커맨드 (32) 는 디바이스 (12) 에서 큐에서의 태스크의 실행을 시작하도록 디바이스 (12) 에 명령한다. 응답 (34) 후에, 데이터 플로우 (36) 가 시작한다. 데이터 플로우 (36) 가 진행중인 동안, 디바이스 (12) 가 테스크 큐 (28) 에서 테스크를 실행할 준비를 마친다. QRDY 핀 (38) 은 하이로부터 로우로 트랜지션된다 (트랜지션 (40) 을 참조). QRDY 핀 (38) 에서의 레벨의 변화는 호스트 (10) 로 하여금 디바이스 (12) 에 커맨드 (42) 를 전송하게 한다. 예시적인 양태에서, 커맨드 (42) 는 CMD13 이다. 디바이스 (12) 는 응답 (44) 을 되전송하며, 응답은 새롭게 준비된 테스크를 포함하는 큐 상태 (QS) 를 포함할 수도 있다. 데이터 플로우 (36) 의 종료시, 호스트는 테스크 큐 (28) 에서 준비된 테스크들 중 하나의 실행을 시작하도록 디바이스 (12) 에 명령하는 새로운 커맨드 (46) 를 전송한다. QRDY 핀 (38) 의 사용은 언제 테스크들이 실행할 준비중인지를 호스트 (10) 가 알게 허용한다. 호스트 (10) 는 데이터 플로우의 종료를 기다리고 데이터 플로우의 종료시 큐의 상태를 조회한 다음, 조회 후에 테스크 실행 커맨드를 발행하기 보다는, 기존의 데이터 플로우의 종료시 적절한 실행 커맨드들을 발행한다.
QRDY 핀 (38) 의 추가는 커맨드 큐잉 및 이것의 상응하는 시간 절약 및 데이터 버스의 효율적인 사용을 용이하게 하는 반면, 핀의 추가는, 추가적인 컨덕터가 새로운 핀에 라우팅되어야 하기 때문에, 제조 비용을 추가시키고 설계 불이익을 가한다. 또한, 핀의 추가는 추가적인 핀이 없는 유사 디바이스 및 호스트에 비해, 핀을 갖는 디바이스 및 호스트에 풋프린트를 추가한다. 따라서, QRDY 핀 (38) 의 추가는 일반적으로 바람직하지 못하다.
본 개시물의 양태들은 디바이스 (12) 에서의 큐의 상태에 관한 적절한 업데이트를 보장하기 위해 호스트 (10) 가 현재 액티브 데이터 전달과 관련하여 CMD13 과 커플링되었다는 정보 (knowledge) 를 이용함으로써, QRDY 핀 (38) 의 이용을 회피한다. 추가적인 레지스터들은 본 개시물의 프로세서들을 용이하게 하는 것을 돕기 위해 벤더 고유 범위의 HCI (host controller interface) 레지스터 맵에 추가될 수도 있다. 추가된 레지스터들을 어드레싱하기 전에, 프로세스의 개요가 제공된다.
이러한 점에서, 도 3 은 타이밍 플로우 (50) 에 대한 신호 진행을 예시한다. 신호들은 호스트 (10) 가 커맨드 (52) 를 디바이스 (12) 에 전송하고 응답 (54) 을 수신하는 것에서 시작한다. 커맨드 (52) 는 준비중인 테스크를 실행하도록 디바이스 (12) 에 명령한다. 디바이스 (12) 는 준비중인 테스크를 실행하고 데이터 전달 (56) 은 시작된다. 호스트 (10) 는 얼마나 많은 데이터가 데이터 전달 (56) 의 부분으로서 전달될 것인지를 추론적으로 알고 있고, 이에 따라, 데이터 전달 (56) 의 종료 (58) 가 발생할 때를 알고 있다 (또는 계산할 수 있다). 따라서, 호스트 (10) 의 제어 시스템이 데이터 전달 (56) 의 종료 (58) 가 발생할 때를 알 수 있다고 가정하면, 호스트 (10) 의 제어 시스템은 종료 (58) 근방이지만 종료 이전의 시간을 선택할 수 있다. 호스트 (10) 의 제어 시스템은 이 선택된 시간에 디바이스 (12) 에 CMD13 를 전송한다. CMD13 (60) 은 테스크 큐 (28) 의 상태에 관한 조회를 포함한다. 디바이스 (12) 가 실행할 준비중인 모든 테스크들에 관한 정보를 포함하는, 테스크 큐 (28) 의 상태에 관한 정보를 갖는 QS 신호 (62) 로 응답한다. 준비중인 테스크들에 기초하여, 그 후, 호스트 (10) 는 테스크를 실행하기 위한 커맨드 (64) 를 발행하고 프로세스를 반복한다.
시간 플로우 (50) 에 대한 신호 진행 뒤의 프로세스 (98) 의 보다 견고한 흐름도는 도 4 를 참조로 제시된다. 프로세스 (98) 는 호스트 (10) 가 디바이스 (12) 에 의해 실행할 하나 이상의 테스크들을 생성하는 것에서 시작한다 (블록 100). 호스트 (10) 는 테스크들을 큐하고 (블록 102), 테스크(들)을 큐하기 위한 커맨드에 의해 디바이스 (12) 에 하나 이상의 테스크들을 패스한다 (블록 104). 디바이스 (12) 는 테스크들을 큐하고 테스크를 실행할 준비를 시작한다 (블록 106). 일부 시점에서, 디바이스 (12) 는 하나 이상의 테스크들을 실행할 준비를 하는 것을 마치고 (블록 108) 디바이스 (12) 는 테스크 큐 (28) 를 업데이트한다.
초기에, 호스트 (10) 는 CMD13 을 디바이스 (12) 에 전송하고 테스크를 실행할 준비중임을 학습한다 (블록 110). 호스트 (10) 는 준비중인 테스크를 실행하도록 디바이스 (12) 에 명령한다 (블록 112). 디바이스 (12) 는 테스크를 실행하고 데이터 전달 (56) 이 발생한다. 한편, 디바이스 (12) 는 큐에서의 테스크들을 실행할 준비중인 것을 계속한다 (블록 114). 하나 이상의 추가적인 테스크들이 이러한 방식으로 준비될 수도 있다.
호스트 (10) 는 언제 데이터 전달 (56) 의 종료 (58) 가 발생하는지의 자신의 추론적 정보에 기초하여, 데이터 전달 (56) 의 종료 (58) 근방이지만 종료 이전에 CMD13 을 전송한다 (블록 116). 디바이스 (12) 는 호스트 (10) 에 제공된 최종 업데이트 이후로, 실행할 준비가 되었던 임의의 테스크들을 포함하는 큐 상태 메시지로 응답한다 (블록 118). 블록 118 에서 실행할 준비중인 테스크가 없다면, 시스템은 블록 108 로 되돌아가고 테스크가 준비될 때까지 주기적 폴링을 실행한다. 그러나, 실행할 준비중인 테스크가 있다면, 데이터 전달 (56) 이 완료하고 (블록 120), 호스트 (10) 가 준비중인 테스크를 실행하기 위한 커맨드 (CMD46 또는 CMD47)(64) 를 디바이스 (12) 에 전송한다 (블록 122). 그 후, 프로세스 (98) 는 주지된 바와 같이, 디바이스 (12) 가 테스크를 실행하는 것을 반복한다.
위에 주지된 바와 같이, 복수의 레지스터들은 커맨드 큐잉 HCI 로서 포함될 수도 있다. 이들 레지스터들은 아래의 표 1 에 요약되어 있다.
Figure pct00001
이들은 모출원인 가출원에서 자세히 설명되어 있지만, 특히 관심 대상은 전송 상태 구성 1 레지스터의 전송 상태 커맨드 아이들 타이머 필드이며, 이는 커맨드 큐 상태를 검증하기 위한 STATUS 커맨드를 이용하여 디바이스 (12) 를 폴링하는 기간을 호스트 제어기 (16) 가 아는 것을 허용한다. 주기적 폴링은 테스크들이 디바이스 (12) 에 펜딩중에 있지만, 어떠한 데이터 전달도 발생하지 않을 때 이용된다. 추가로, 본 개시물의 범위에 벗어남이 없이, 상이한 구현들이 상이한 명칭들 (예를 들어, "커맨드 큐잉 전송 상태 구성 1") 로 상이한 레지스터들을 지칭할 수도 있음을 주지해야 한다.
또한, 특히 관심 대상은 전송 상태 구성 1 레지스터의 전송 상태 커맨드 블록 카운터 필드이며, 이는 어느 블록이 커맨드 큐 상태를 검증하도록 STATUS 커맨드를 전송하는지를 호스트 제어기 (16) 에 나타낸다. 호스트 (10) 는 전달의 종료 전에 상태 커맨드 BLOCK_CNT-1 블록들을 전송할 것이다.
도시되어 있지 않지만, 제어 시스템은 테스크를 폐기하기 위한 커맨드를 포함할 수도 있는 큐 관리 요청을 발행할 수도 있다.
본원에 개시된 양태들에 따라 eMMC 표준에서 커맨드 큐잉을 제공하는 시스템 및 방법들은 임의의 프로세서 기반 디바이스 내에 제공되거나 또는 통합될 수도 있다. 예들은 비제한적으로, 셋톱박스, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 고정된 위치확인 데이터 유닛, 모바일 위치확인 데이터 유닛, 모바일 폰, 셀룰라 폰, 컴퓨터, 포터블 컴퓨터, 데스크톱 컴퓨터, 개인 휴대 정보 단말기 (PDA), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 뮤직 플레이어, 디지털 뮤직 플레이어, 포터블 뮤직 플레이어, 디지털 비디오 플레이어, 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 및 포터블 디지털 비디오 플레이어를 포함한다.
이러한 점에서, 도 5 는 도 1 에 예시된 호스트 (10) 및 디바이스 (12) 를 채택할 수도 있는 프로세서 기반 시스템 (140) 의 일 예를 예시한다. 이 예에서, 프로세서 기반 시스템 (140) 은 각각이 하나 이상의 프로세서들 (144) 을 포함하는 하나 이상의 중앙 프로세싱 유닛들 (CPU들)(142) 을 포함한다. CPU(들)(142) 은 마스터 디바이스일 수도 있고, 소프트웨어 (20) 를 구동시킬 수도 있다. CPU(들)(142) 은 일시적으로 저장된 데이터에 대한 고속 액세스를 위하여 프로세서(들)(144) 에 커플링된 캐시 메모리 (146) 를 가질 수도 있다. CPU(들)(142) 은 시스템 버스 (148) 에 커플링되며, 프로세서 기반 시스템 (140) 내에 포함된 디바이스들을 상호커플링할 수 있다. 잘 알려진 바와 같이, CPU(들)(142) 은 시스템 버스 (148) 상에서 어드레스, 제어, 및 데이터 정보를 교환함으로써 이들 다른 디바이스들과 통신한다. 예를 들어, CPU(들)(142) 은 디바이스 (12) 일 수도 있는 메모리 시스템 (150) 에 버스 트랜잭션 요청들을 통신할 수 있다. 트랜잭션 요청들은 호스트 제어기 (16) 일 수도 있는 메모리 제어기 (149) 를 거칠 수도 있다. 도 5 에 도시되어 있지 않지만, 다수의 시스템 버스들 (148) 이 제공될 수 있고, 여기에서 각각의 시스템 버스 (148) 는 상이한 패브릭을 구성한다.
다른 디바이스들은 시스템 버스 (148) 에 접속될 수 있다. 도 5 에 예시된 바와 같이, 이들 디바이스들은 예들로서, 메모리 시스템 (150), 하나 이상의 입력 디바이스들 (152), 하나 이상의 출력 디바이스들 (154), 하나 이상의 네트워크 인터페이스 디바이스들 (156) 및 하나 이상의 디스플레이 제어기들 (158) 을 포함할 수 있다. 입력 디바이스(들)(152) 은 입력 키들, 스위치들, 음성 프로세서들 등을 포함하지만 이들에 제한되지 않는 임의의 유형의 입력 디바이스를 포함할 수 있다. 출력 디바이스(들)(154) 은 오디오, 비디오, 다른 비쥬얼 표시기들 등을 포함하지만 이들에 제한되지 않는 임의의 유형의 출력 디바이스를 포함할 수 있다. 네트워크 인터페이스 디바이스(들)(156) 은 네트워크 (160) 에 데이터를 그리고 네트워크로부터 데이터를 교환하는 것을 허용하도록 구성된 임의의 디바이스들일 수 있다. 네트워크 (160) 는 유선 또는 무선 네트워크, 사설 또는 공용 네트워크, 근거리 네트워크 (LAN), 광역 LAN, 무선 LAN, 및 인터넷을 포함하지만 이들에 제한되지 않는 임의의 유형의 네트워크일 수 있다. 네트워크 인터페이스 디바이스(들)(156) 은 임의의 유형의 원하는 통신 프로토콜을 지원하도록 구성될 수 있다.
CPU(들)(142) 은 또한, 하나 이상의 디스플레이들 (162) 에 전송된 정보를 제어하도록 시스템 버스 (148) 를 통하여 디스플레이 제어기(들)(158) 에 액세스하도록 구성될 수도 있다. 디스플레이 제어기(들)(158) 은 디스플레이(들)(162) 에 적절한 포맷으로 디스플레이되도록 정보를 프로세싱하는 하나 이상의 비디오 프로세서들 (164) 을 통하여 디스플레이될 디스플레이(들)(162) 에 정보를 전송한다. 디스플레이(들)(162) 은 CRT (cathode ray tube), LED (light emitting diode display), LCD (liquid crystal display), 플라즈마 디스플레이 등을 포함하지만 이들에 제한되지 않는 임의의 유형의 디스플레이를 포함할 수 있다.
당해 기술 분야의 당업자는 또한 본 개시물에 개시된 양태들과 연계하여 설명된 다양한 예증적인 논리 블록들, 모듈들, 회로들, 및 알고리즘들이 전자 하드웨어, 메모리에 또는 다른 컴퓨터 판독가능 매체에 저장되고 프로세서 또는 다른 프로세싱 디바이스에 의해 실행된 명령들, 또는 이들 양자의 조합으로서 구현될 수도 있음을 또한 알 수 있을 것이다. 본원에 설명된 호스트들 또는 디바이스들은 예들로서, 임의의 회로, 하드웨어 컴포넌트, 집적 회로 (IC), 또는 IC 칩에서 채택될 수도 있다. 본원에 개시된 메모리는 임의의 유형 또는 사이즈의 메모리일 수도 있으며, 임의의 유형의 원하는 정보를 저장하도록 구성될 수도 있다. 이러한 상호교환가능성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들을 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 이러한 기능성이 어떻게 구현되는지는 전체 시스템에 부여되는 특정 애플리케이션, 설계 선택들 및/또는 설계 제약들에 의존한다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들은 본 개시물의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
본 개시물에서 개시된 양태들과 연계하여 설명된 여러가지 예증적인 논리 블록들, 모듈들, 및 회로들은 본원에서 개시된 기능들을 수행하도록 설계된, 프로세서, 디지털 신호 프로세서 (DSP), 주문형 반도체 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 통상적인 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
본원에 개시된 양태들은 하드웨어에서, 그리고 하드웨어에 저장된 명령들로 구현될 수도 있고, 예를 들어, RAM(Randdom Access Memory), 플래시 메모리, ROM (Read Only Memory), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), 레지스터, 하드디스크, 탈착가능 디스크, CD-ROM, 또는 당해 기술에 공지된 임의의 다른 형태의 저장 매체 내에 있을 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록하게 할 수 있다. 대안에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 있을 수도 있다. ASIC 는 원격 스테이션 내에 있을 수도 있다. 대안에서, 프로세서 및 저장 매체는 원격 스테이션, 기지국 또는 서버에 개별 컴포넌트들로서 있을 수도 있다.
또한, 본원의 예시적인 양태들의 어느 것에서 설명된 동작 단계들은 예들 및 논의를 제공하기 위해 설명된 것임을 주지해야 한다. 설명된 동작들은 예시된 시퀀스들 이외에 상이한 다수의 시퀀스들로 수행될 수도 있다. 또한, 단일 동작 단계로 설명된 동작들은 복수의 상이한 단계들로 실제 수행될 수도 있다. 추가로, 예시적인 양태들에서 설명된 하나 이상의 동작 단계들은 결합될 수도 있다. 흐름도에서 예시된 동작 단계들은 당해 기술분야의 당업자에 자명한 바와 같이, 다수의 상이한 변경들을 겪을 수도 있음이 이해되어야 한다. 당업자라면, 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수도 있음을 이해할 것이다. 예를 들어, 위의 설명에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들이나 입자들, 광학 필드들이나 입자들, 또는 이들의 임의의 조합으로 표현될 수도 있다.
본 개시의 앞서의 설명은 당업자들이 본 개시를 제조하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시물의 다양한 수정들이 당업자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시물의 사상 또는 범위를 벗어나지 않으면서 다양한 변형들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들 및 설계들로 제한되지 않으며, 본원에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위가 부여되어야 한다.

Claims (26)

  1. eMMC (embedded Multi-Media Card) 표준에 따라 디바이스에 신호들을 송신하고 디바이스로부터 신호들을 수신하도록 구성되는 트랜시버; 및
    상기 트랜시버에 동작적으로 커플링된 제어 시스템을 포함하며,
    상기 제어 시스템은,
    상기 디바이스에서의 QSR (queue status register) 의 상태를 결정하기 위한 커맨드를 상기 디바이스에 발행하고; 그리고
    상기 디바이스의 상기 QSR 에 관한 정보와 함께 상기 디바이스로부터의 응답을 수신하도록 구성되는, 호스트.
  2. 제 1 항에 있어서,
    상기 제어 시스템은 또한, 상기 디바이스로부터 현재 데이터 전달에 대한 다가오는 종료를 결정하도록 구성되는, 호스트.
  3. 제 2 항에 있어서,
    상기 제어 시스템은 또한, 상기 다가오는 종료에 시간적으로 근방에 그리고 상기 다가오는 종료 전에 상기 커맨드를 발행하도록 구성되는, 호스트.
  4. 제 3 항에 있어서,
    상기 제어 시스템은 또한, 상기 다가오는 종료 전에 상기 응답을 수신하도록 구성되는, 호스트.
  5. 제 1 항에 있어서,
    상기 제어 시스템은 또한, 테스크를 큐잉하기 위한 커맨드를 발행하도록 구성되는, 호스트.
  6. 제 1 항에 있어서,
    상기 제어 시스템은 또한, 큐 관리 요청을 발행하도록 구성되는, 호스트.
  7. 제 6 항에 있어서,
    상기 큐 관리 요청은 테스크를 폐기하기 위한 커맨드인, 호스트.
  8. 제 1 항에 있어서,
    상기 제어 시스템은 또한, 실행 판독 테스크 커맨드를 발행하도록 구성되는, 호스트.
  9. 제 1 항에 있어서,
    상기 제어 시스템은 또한, 실행 기록 테스크 커맨드를 발행하도록 구성되는, 호스트.
  10. 제 1 항에 있어서,
    셋톱박스, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 고정된 위치확인 데이터 유닛, 모바일 위치확인 데이터 유닛, 모바일 폰, 셀룰라 폰, 컴퓨터, 포터블 컴퓨터, 데스크톱 컴퓨터, 개인 휴대 정보 단말기 (PDA), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 뮤직 플레이어, 디지털 뮤직 플레이어, 포터블 뮤직 플레이어, 디지털 비디오 플레이어, 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 및 포터블 디지털 비디오 플레이어로 이루어진 그룹으로부터 선택되는 디바이스 내에 통합되는, 호스트.
  11. eMMC (embedded Multi-Media Card) 표준에 따라, 호스트에 신호들을 송신하고 호스트로부터 신호들을 수신하도록 구성되는 트랜시버; 및
    상기 트랜시버에 동작적으로 커플링된 제어 시스템을 포함하며,
    상기 제어 시스템은,
    디바이스에서 QSR (queue status register) 의 상태를 결정하기 위한 커맨드를 상기 호스트로부터 수신하고; 그리고
    상기 디바이스의 상기 QSR 에 관한 정보와 함께 상기 호스트로의 응답을 송신하도록 구성되는, 디바이스.
  12. 제 11 항에 있어서,
    상기 제어 시스템은 또한, 상기 응답을 송신하기 전에 상기 디바이스에서 상기 QSR 의 상태를 결정하도록 구성되는, 디바이스.
  13. 제 11 항에 있어서,
    상기 제어 시스템은 또한, 테스크를 큐잉하기 위한 커맨드를 수신하도록 구성되는, 디바이스.
  14. 제 11 항에 있어서,
    상기 제어 시스템은 또한, 큐 관리 요청을 수신하도록 구성되는, 디바이스.
  15. 제 14 항에 있어서,
    상기 큐 관리 요청은 테스크를 폐기하기 위한 커맨드인, 디바이스.
  16. 제 11 항에 있어서,
    상기 제어 시스템은 또한, 실행 판독 테스크 커맨드를 수신하도록 구성되는, 디바이스.
  17. 제 11 항에 있어서,
    상기 제어 시스템은 또한, 실행 기록 테스크 커맨드를 수신하도록 구성되는, 디바이스.
  18. eMMC (embedded Multi-Media Card) 호스트를 동작시키는 방법으로서,
    상기 eMMC 호스트로부터 디바이스로, 디바이스에서의 QSR (queue status register) 의 상태를 결정하기 위한 커맨드를 포함하는 신호들을 송신하는 단계; 및
    상기 디바이스의 상기 QSR 에 관한 정보와 함께 상기 디바이스로부터의 응답을 수신하는 단계를 포함하는, eMMC 호스트를 동작시키는 방법.
  19. 제 18 항에 있어서,
    상기 디바이스로부터의 현제 데이터 전달에 대한 다가오는 종료를 결정하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
  20. 제 19 항에 있어서,
    상기 다가오는 종료에 대해 시간적으로 근방에 그리고 상기 다가오는 종료 전에 상기 커맨드를 발행하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
  21. 제 20 항에 있어서
    상기 다가오는 종료 전에 상기 응답을 수신하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
  22. 제 18 항에 있어서,
    테스크를 큐잉하기 위한 커맨드를 발행하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
  23. 제 18 항에 있어서,
    큐 관리 요청을 발행하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
  24. 제 23 항에 있어서,
    상기 큐 관리 요청을 발행하는 단계는 테스크를 폐기하도록 상기 디바이스에 커맨드하는 단계를 포함하는, eMMC 호스트를 동작시키는 방법.
  25. 제 18 항에 있어서,
    실행 판독 테스크 커맨드를 발행하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
  26. 제 18 항에 있어서,
    실행 기록 테스크 커맨드를 발행하는 단계를 더 포함하는, eMMC 호스트를 동작시키는 방법.
KR1020167007265A 2013-09-10 2014-09-08 임베디드 메모리들에서의 커맨드 큐잉의 제공 방법 및 그의 장치 KR101817932B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361875721P 2013-09-10 2013-09-10
US61/875,721 2013-09-10
US14/478,032 US9519440B2 (en) 2013-09-10 2014-09-05 Providing command queuing in embedded memories
US14/478,032 2014-09-05
PCT/US2014/054527 WO2015038468A1 (en) 2013-09-10 2014-09-08 Providing command queuing in embedded memories

Publications (2)

Publication Number Publication Date
KR20160053942A true KR20160053942A (ko) 2016-05-13
KR101817932B1 KR101817932B1 (ko) 2018-01-12

Family

ID=52626671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167007265A KR101817932B1 (ko) 2013-09-10 2014-09-08 임베디드 메모리들에서의 커맨드 큐잉의 제공 방법 및 그의 장치

Country Status (22)

Country Link
US (1) US9519440B2 (ko)
EP (1) EP3044688B1 (ko)
JP (1) JP6165342B2 (ko)
KR (1) KR101817932B1 (ko)
CN (1) CN105518640B (ko)
AR (1) AR099265A1 (ko)
AU (1) AU2014318040B2 (ko)
BR (1) BR112016005365B1 (ko)
CA (1) CA2920900C (ko)
CL (1) CL2016000559A1 (ko)
ES (1) ES2650121T3 (ko)
HK (1) HK1222006A1 (ko)
HU (1) HUE037357T2 (ko)
MX (1) MX349240B (ko)
MY (1) MY176801A (ko)
NZ (1) NZ717269A (ko)
PH (1) PH12016500353B1 (ko)
RU (1) RU2640652C2 (ko)
SA (1) SA516370692B1 (ko)
SG (1) SG11201600762WA (ko)
TW (1) TWI588662B (ko)
WO (1) WO2015038468A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9824004B2 (en) * 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
KR102111741B1 (ko) * 2014-01-10 2020-05-15 삼성전자주식회사 임베디드 멀티미디어 카드 및 이의 동작 방법
US10108372B2 (en) * 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
KR102254099B1 (ko) * 2014-05-19 2021-05-20 삼성전자주식회사 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템
US10073714B2 (en) 2015-03-11 2018-09-11 Western Digital Technologies, Inc. Task queues
KR20160111222A (ko) * 2015-03-16 2016-09-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템, 그것을 포함하는 컴퓨팅 시스템
KR20160118836A (ko) * 2015-04-03 2016-10-12 에스케이하이닉스 주식회사 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법
GB2539443B (en) * 2015-06-16 2020-02-12 Advanced Risc Mach Ltd A transmitter, a receiver, a data transfer system and a method of data transfer
US10318193B2 (en) 2015-09-14 2019-06-11 Sandisk Technologies Llc Systems and methods of command authorization
US10379781B2 (en) * 2016-04-20 2019-08-13 Sandisk Technologies Llc Storage system and method for improved command flow
TWI587214B (zh) * 2016-04-21 2017-06-11 慧榮科技股份有限公司 資料儲存裝置、其控制單元及其任務排序方法
KR20190032809A (ko) * 2017-09-20 2019-03-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN107729140B (zh) * 2017-09-22 2020-07-28 华南理工大学 一种并行实现多个eMMC主机接口命令排队功能的装置及方法
US10303384B1 (en) 2017-11-28 2019-05-28 Western Digital Technologies, Inc. Task readiness for queued storage tasks
CN108397046B (zh) * 2018-04-23 2023-08-29 深圳市易联网络技术有限公司 智能钥匙扣联合管理系统与方法
CN108958950A (zh) * 2018-05-29 2018-12-07 联发科技(新加坡)私人有限公司 电子存储设备的任务管理方法、主机和存储装置
KR20220048303A (ko) 2020-10-12 2022-04-19 삼성전자주식회사 크레딧을 이용하는 호스트 장치와 스토리지 장치의 동작 방법
CN114116008B (zh) * 2022-01-26 2022-05-27 深圳佰维存储科技股份有限公司 命令队列管理方法、装置、可读存储介质及电子设备
CN117827704A (zh) * 2022-07-19 2024-04-05 荣耀终端有限公司 命令发送方法及电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751606B1 (en) 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
WO2005050432A1 (ja) * 2003-11-19 2005-06-02 Matsushita Electric Industrial Co., Ltd. 記録媒体アクセス装置及び記録媒体アクセス方法
US20090094678A1 (en) 2007-10-05 2009-04-09 Nokia Corporation Mulimode device
KR101486987B1 (ko) * 2008-05-21 2015-01-30 삼성전자주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법
TWI424435B (zh) * 2009-08-31 2014-01-21 Phison Electronics Corp 對快閃記憶體下達程式化指令的方法、控制器與儲存系統
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
US8356131B2 (en) * 2009-10-25 2013-01-15 Sony Mobile Communications Ab System and method for controlling interruption of a process in electronic equipment based on priority of the process, and program
US8615621B2 (en) * 2009-12-24 2013-12-24 St-Ericsson Sa Memory management
US8966176B2 (en) * 2010-05-27 2015-02-24 Sandisk Il Ltd. Memory management storage to a host device
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
JP5762930B2 (ja) * 2011-11-17 2015-08-12 株式会社東芝 情報処理装置および半導体記憶装置
TWI521343B (zh) * 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
TWI443513B (zh) * 2011-08-05 2014-07-01 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與資料寫入方法
JP5547154B2 (ja) 2011-09-21 2014-07-09 株式会社東芝 メモリ・デバイス
CN103946816B (zh) * 2011-09-30 2018-06-26 英特尔公司 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram)
JP5505456B2 (ja) * 2012-05-08 2014-05-28 ブラザー工業株式会社 デバイス制御システム及びプログラム
RU2486581C1 (ru) * 2012-07-11 2013-06-27 Открытое акционерное общество "Научно-исследовательский институт "Субмикрон" Параллельная вычислительная система с программируемой архитектурой

Also Published As

Publication number Publication date
JP2016529638A (ja) 2016-09-23
BR112016005365B1 (pt) 2022-01-11
JP6165342B2 (ja) 2017-07-19
PH12016500353A1 (en) 2016-07-04
ES2650121T3 (es) 2018-01-17
TW201523271A (zh) 2015-06-16
MY176801A (en) 2020-08-21
HUE037357T2 (hu) 2018-08-28
WO2015038468A1 (en) 2015-03-19
PH12016500353B1 (en) 2016-07-04
EP3044688B1 (en) 2017-10-18
HK1222006A1 (zh) 2017-06-16
KR101817932B1 (ko) 2018-01-12
AU2014318040A1 (en) 2016-03-10
TWI588662B (zh) 2017-06-21
AR099265A1 (es) 2016-07-13
CN105518640A (zh) 2016-04-20
BR112016005365A2 (ko) 2017-08-01
EP3044688A1 (en) 2016-07-20
CA2920900A1 (en) 2015-03-19
MX349240B (es) 2017-07-18
CA2920900C (en) 2018-05-15
CN105518640B (zh) 2018-11-27
AU2014318040B2 (en) 2018-09-13
US9519440B2 (en) 2016-12-13
SG11201600762WA (en) 2016-03-30
MX2016002986A (es) 2016-06-02
NZ717269A (en) 2018-03-23
RU2640652C2 (ru) 2018-01-10
CL2016000559A1 (es) 2016-11-18
RU2016107809A (ru) 2017-10-16
SA516370692B1 (ar) 2018-10-04
US20150074294A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
KR101817932B1 (ko) 임베디드 메모리들에서의 커맨드 큐잉의 제공 방법 및 그의 장치
AU2014318238B2 (en) Ascertaining command completion in flash memories
US20160371222A1 (en) COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
CN108885588B (zh) 基于硬件的转译后备缓冲器(tlb)失效
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
US9880748B2 (en) Bifurcated memory management for memory elements

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