KR101695336B1 - 로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스를 제공하는 메모리 관리 시스템 - Google Patents

로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스를 제공하는 메모리 관리 시스템 Download PDF

Info

Publication number
KR101695336B1
KR101695336B1 KR1020127019424A KR20127019424A KR101695336B1 KR 101695336 B1 KR101695336 B1 KR 101695336B1 KR 1020127019424 A KR1020127019424 A KR 1020127019424A KR 20127019424 A KR20127019424 A KR 20127019424A KR 101695336 B1 KR101695336 B1 KR 101695336B1
Authority
KR
South Korea
Prior art keywords
asc
data communication
port
communication bus
ape
Prior art date
Application number
KR1020127019424A
Other languages
English (en)
Other versions
KR20120131155A (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 KR20120131155A publication Critical patent/KR20120131155A/ko
Application granted granted Critical
Publication of KR101695336B1 publication Critical patent/KR101695336B1/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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

전기 디바이스(10) 내 가속 저장 제어기(ASC)(18)는 메모리 인터페이스들(14)에 대해 일반적(보다 느린) 애플리케이션 프로세서(12)가 기존 소프트웨어에 대해 투명하게 활용될 수 있게 하면서, 소프트웨어 설정 역시 필요 시 가속 저장 구조를 구현할 수 있게 한다. 전자 디바이스(10)의 일부 사용 예들은 가속 저장을 요하지 않으며, 바이패스 모드는 기존 소프트웨어에 대한 어떠한 변경도 요하지 않는다. 다른 사용 예들(여러 기가바이트 매체의 고속 다운로드와 같은 예)은 전자 디바이스 애플리케이션 프로세서(12)로부터 가속 저장 구조 오프로딩 전송의 혜택을 누리기도 하지만, 또한 보다 느린 다운로드의 비용으로 메모리 인터페이스(14)에 대해 전통적 프로세서(12)와 함께 작업할 수도 있다. 본 발명의 실시예들은 소프트웨어 설정 가능 구조로 이러한 두 가능성을 모두 제공한다. 또한, 각종 사용 예의 시나리오에 대한 성능 및 연결성을 최적화하기 위해 소프트웨어 제어 하에 많은 다른 연결 옵션들이 제공된다.

Description

로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스를 제공하는 메모리 관리 시스템{MEMORY MANAGEMENT SYSTEM OFFERING DIRECT AS WELL AS MANAGED ACCESS TO LOCAL STORAGE MEMORY}
본 출원은 2009년 12월 24일자에 출원된 "로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스 둘 모두를 지원하는 메모리 관리 시스템(Memory Management System Supporting Both Direct and Managed Access to Local Storage Memory)"이라는 발명의 명칭을 가진 미국 가특허출원 제61/290,151호, 및 2010년 12월 23일에 출원된 "로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스 둘 모두를 지원하는 메모리 관리 시스템(Memory Management System Supporting Both Direct and Managed Access to Local Storage Memory)"이라는 발명의 명칭을 가진 미국 특허출원 제12/977,902에 대한 우선권을 주장한다.
유니버설 시리얼 버스(USB)는 장치들 및 호스트 제어기 사이에 통신을 설정하기 위한 사양이다. 원래 퍼스널 컴퓨터를 위해 설계되었기 때문에, USB는 많은 다양한 직병렬 포트들을 대체하도록 의도되어 있다. 예를 들어 USB는 마우스, 키보드, 디지털 카메라, 프린터, 퍼스널 미디어 플레이어, 플래시 드라이버, 외장 하드 드라이브 등과 같은 많은 컴퓨터 주변기기들을 연결한다. 퍼스널 컴퓨터를 위해 설계되었지만, USB는 광범위한 다른 데이터 통신 상황들에 적용되고 있다.
USB는 세 가지 주요 개정과 여러 사소한 개정들을 통해 진화하고 있다. 1996년에 소개된 USB 1.0 사양은 현재 "저속"이라 불리는 1.5Mbit/s의 데이터 전송율을 지원하였다. USB 1.1은 12Mbit/s의 "풀 스피드" 데이터 전송율을 도입하였다. 2001년에 소개된 USB 3.0은 480 Mbit/s의 "고속"을 특징으로 한다. USB 3.0 사양은 2008년 후반에 출시되었으며, 컨트롤러 칩은 2009년 초에 사용 가능하게 되었다. USB 3.0은 4.8Gbit/s의 초고속 데이터율을 정의한다.
플래시 메모리는 비휘발성 고체 상태의 디지털 데이터 저장 매체이다. 기술적으로 EEPROM, NAND 타입 플래시의 유형(상용적으로 가장 전형적인 형태의 플래시 메모리)은 보통 바이트 프로그래머블(byte-programmable)이 아니며, 블록 단위로 판독되고, 기록되며, 제거되어야 한다. 또한 NAND 플래시 메모리에 고유한 마모 평준화(wear laveling)(물리적 메모리를 고르게 퍼진 물리적 기록/지우기 사이클 스트레스로 동적 재매핑), 나쁜(bad) 블록 매핑, 및 기타 기능들은 보통 NAND 플래시를 저장 매체로서 사용하는 대량 저장 장치들을 위한 전용 제어기를 필요로 한다.
멀티미디어 카드(MMC)는 NAND 플래시 메모리를 이용하는 소형의 착탈형 대량 저장 장치의 물리적 치수 및 동작 특성들을 규정하는 플래시 메모리 카드 표준이다. 임베디드 MMC(eMMC)는 임베디드 NAND 플래시 메모리 및 고속 MMC 제어기를 표준 패키지(가령, 집적 회로) 안에서 결합한 메모리 구조를 기술한다. eMMC는 저 수준 플래시 메모리 관리 작업들로부터 시스템 프로세서를 배제함으로써 시스템 설계를 단순화한다. SD/MMC(Secure Digital)는 MMC 폼 팩터(form factor)에 기반하는 착탈형 메모리의 또 다른 표준으로, 이것 역시 플래시 메모리를 메모리 제어기와 결합시킨다. SD 제어기는 디지털 저작권 관리(DRM(Digital Rights Management)) 지원을 제공하며, e-MCC 메모리 및 SD/MMC 카드 슬롯들이 디지털 카메라 및 모바일 전화기 같은 소비 가전 기기 안에 데이터 저장 및 전송 수단으로서 일반적으로 설계된다.
모바일 셀룰러 전화, 음악 재생기, 디지털 카메라, 위성 네비게이션 수신기 등과 같은 분야에 사용되는 전자 기기들이 음악, 사진 및 영화와 같은 많은 양의 디지털 콘텐츠를 보유하고 실행시키기 위해 점점 더 많이 사용되고 있다. eMMC 메모리 및 SD/MMC 카드들의 점점 많아지는 데이터 저장 용량이 이러한 사실을 반영한다. 이러한 카드들의 계속 증가하는 용량으로 인해, 외부 소스들과 저장 메모리 사이의 데이터 전송을 가속화할 필요가 있다. 전자 기기 외부로부터의 이러한 빠른 전송의 필요성은 모바일 플랫폼의 내장(embedded) 시스템 제어기나 애플리케이션 프로세서가 고속 외부 호스트 및 저장 매체(가령, eMMC 메모리 및 SD/MMC 플래시 메모리 카드들) 사이의 중개자로서 동작할 필요가 없을 때 가장 잘 충족된다. 가속(accelerated) 저장 제어기가 애플리케이션 프로세서로부터 고속 전송 활동을 오프로드(offload) 할 수 있을 때 최적의 속도가 달성된다. 이러한 개념은 보통 사이드로딩(side-loading)이라 알려져 있다. 그러나, 이 기능은 보통 전자 장치의 애플리케이션 프로세서가 자신의 내장 혹은 착탈형 메모리를 더 이상 직접 액세스할 수 없으며, 대신 메모리가 바로 연결된 가속 저장 핸들러를 통해 저장된 데이터에 대한 액세스를 요청해야 한다는 것을 의미한다.
일반적인 전자 장치들은 직접 메모리 액세스를 위해 설계된 전통적 하드웨어 및 소프트웨어 구조로 인해, 매개 장치를 통해 저장 메모리를 액세스하는 기능을 가지지 않는다. 그러나, 외부 호스트 컴퓨터로부터 가속 데이터 및 파일 전송의 혜택을 받을 수 있는 하드웨어 구조는 바람직할 것이다.
전기 장치(10)의 가속 저장 제어기(ASC)는 메모리 인터페이스들에 대해 일반적인 (저속의) 애플리케이션 프로세서가 기존 소프트웨어에 대해 투명하게 활용될 수 있게 하면서, 소프트웨어 구성 역시 필요 시 가속 저장 구조를 구현할 수 있게 한다. 전자 장치의 일부 사용 예들은 가속 저장을 요하지 않으며, 바이패스 모드는 기존 소프트웨어에 대한 어떠한 변경도 요하지 않는다. 다른 사용 예들(여러 기가바이트 매체의 고속 다운로드와 같은 예)은 전자 장치 애플리케이션 프로세서로부터의 가속 저장 구조 오프로딩 전송의 혜택을 누리기도 하지만, 또한 보다 느린 다운로드의 비용으로 메모리 인터페이스에 대해 전통적 프로세서와 함께 작업할 수도 있다. 본 발명의 실시예들은 소프트웨어 설정 가능 구조로 이러한 두 가능성을 모두 제공한다. 또한, 각종 사용 예의 시나리오에 대한 성능 및 연결성을 최적화하기 위해 소프트웨어 제어 하에 많은 다른 연결 옵션들이 제공된다.
일 실시예는 전자 장치에 관한 것이다. 이것은 모바일 전화기와 같은 휴대형 장치일 수 있다. 이 장치는 메모리 매체에 대해 기계 및 전기적 연결을 제공하도록 동작하는 메모리 인터페이스를 포함한다. 장치는 또한 메모리 인터페이스에 연결된 데이터 통신 버스, 및 데이터 통신 버스에 연결된 애플리케이션 프로세싱 엔진(APE)을 포함한다. APE는 애플리케이션 프로그램들을 실행하도록 동작하며, 데이터 통신 버스를 통해 메모리 인터페이스에 연결되는 메모리 매체로/로부터 데이터를 기록 및 판독하도록 더 동작한다. 이 장치는 가속 저장 제어기(ASC(Accelerated Storage Controller))를 더 포함한다. ASC는 데이터 통신 버스에 설정 가능하게 연결된 호스트 포트, 및 ASC를 외부 호스트에 데이터 통신 관계로서 연결시키도록 동작하는 통신 포트를 포함한다. 여기 사용된 것과 같은 "외부 호스트"라는 용어는 다르게 특정되지 않는다면 ASC에 의해 구비된 다른 요소들에 대해 상대적인 특정한 물리적 위치를 내포하지만, ASC를 외부 호스트에 데이터 통신 관계로 연결시키도록 동작되는 상기 기술된 구성을 의미한다. ASC는 호스트 포트 및 데이터 통신 버스를 통해, 메모리 인터페이스에 연결된 메모리 매체 및 외부 호스트 사이에 데이터를 전송하도록 설정 가능하게 동작된다. ASC는 또한, APE가 데이터 통신 버스를 통해 메모리 인터페이스에 연결된 메모리 매체를 판독 및 기록할 수 있도록 데이터 통신 버스로부터 호스트 포트를 분리하도록 설정 가능하게 동작된다.
또 다른 실시예는 호스트 포트 및 통신 포트를 포함하는 ASC 및 APE를 포함하는 전자 장치에서 데이터 전송을 관리하는 방법에 관한 것으로, APE, 및 ASC의 호스트 포트 둘 모두는 데이터 통신 버스를 통해 메모리 인터페이스에 연결된다. 데이터는 데이터 통신 버스를 통해 메모리 인터페이스에 연결되는 메모리 매체 및 APE 사이에서 전송된다. 데이터는 또한, ASC의 호스트 포트 및 데이터 통신 버스를 통해 메모리 인터페이스에 연결된 메모리 매체 및 ASC의 통신 포트에 연결된 외부 호스트 사이에서 전송된다.
도 1은 가속 저장 제어기(ASC)에 연결된, 애플리케이션 프로세서 엔진(APE) 및 메모리 인터페이스 사이에 있는 통신 버스의 대표적 데이터 라인의 기능 블록도이다.
도 2는 ASC의 패스 스루(pass-thru) 회로를 통해 라우팅되는 APE 및 메모리 사이에 있는 통신 버스의 대표적 데이터 라인을 도시한 기능 블록도이다.
도 3은 아날로그 스위치들로서 구현된 도 2의 패스 스루 회로의 기능 블록도이다.
도 4는 출력 인에이블(Enable) 입력을 가진 디지털 회로들로서 구현된 도 2의 패스 스루 회로의 기능 블록도이다.
도 5는 드라이버들을 제어하기 위한 프로토콜 분석기를 가진 디지털 회로들로서 구현된 도 2의 패스 스루 회로의 기능 블록도이다.
도 6은 전자 장치에서 데이터 전송을 관리하는 방법의 흐름도이다.
도 1은 개체들 사이에서 데이터가 효율적인 방식으로 전송되는 네 개의 개체들 또는 기능 블록들 가운데 세 개를 포함하는 전자 장치(10) 안의 데이터 경로를 도시한다. 개체들 가운데 3상 상태(tri-stage) 버스 드라이버들만이 도시되며(각각 EN으로 표시된 개별 인에이블 신호들을 가짐); 나머지 각각의 회로들은 명료성을 위해 생략된다. 전자 장치(10)는 데이터 통신 버스(16)를 통해 메모리 인터페이스(14)에 연결되는 애플리케이션 프로세싱 엔진(APE)(12)을 포함한다. 데이터 통신 버스(16) 중 한 개의 라인만이 도시되고 있으나, 당업자는 데이터 통신 버스(16)가 데이터 및 어드레스 라인들뿐 아니라, 클록, 판독/기록 방향 지시자, 요청/허가 조정 신호 등과 같은 다양한 제어 라인들을 포함할 수 있다는 것을 인식할 것이다. 특정 제어 라인들은 구현된 버스 프로토콜에 따라 달라질 것이다.
APE(12)는 마이크로프로세서, 마이크로컨트롤러, 디지털 시그널 프로세서(DSP), 적절한 펌웨어를 가진 프로그래머블 로직, 상태(state) 머신 등을 포함할 수 있는 프로세서이다. APE(12)는 전자 기기(10)(가령, 모바일 셀룰라 전화기, 디지털 카메라 등)에 기능을 부여하는 운영체계 및/또는 내장된(임베디드) 애플리케이션 프로그램들을 실행하도록 동작한다. 메모리 인터페이스(14)는 eMMC와 같은 임베디드 메모리 매체에 대한 인터페이스를 포함하거나, SD/MMC와 같은 착탈형 메모리 매체를 수용하고 연결하도록 동작하는 메모리 카드 슬롯을 포함할 수 있다. APE(12)는 일반적으로, 이 기술분야에 알려진 바와 같이 데이터 통신 버스(16)를 통해, 메모리 인터페이스(14)에 연결된 메모리 매체에 데이터를 기록하고 메모리 매체로부터 데이터를 판독한다.
도 1은 가속 저장 제어기(ASC(Accelerated Storage Controller))(18)를 또한 도시한다. ASC(18)는 최소한, 데이터 통신 버스(16)에 연결된 호스트 포트(22)를 포함하며, 역시 데이터 통신 버스(16)에 연결되는 장치 포트(20)를 추가로 포함한다. ASC(18)는 버퍼링 데이터 트랜잭션을 위한 메모리(24)를 포함할 수 있으며, 예컨대 퍼스널 컴퓨터(PC)와 같은 외부 호스트에 데이터 통신 관계로 연결하도록 동작되는 통신 포트(26)를 포함한다. 일부 실시예에서, 통신 포트(26)는 USB 포트이며, 외부 호스트 연결은 USB 버스를 통해 외부 호스트 상의 USB 포트로 이루어진다. 프로세서, 상태 머신 등을 포함할 수 있는 제어기(28)가 소프트웨어 제어 하에서 다양한 포트들(20, 22, 26)을 제어하도록 동작된다. 일 실시예에서 제어기(28)는 출력들이 다양한 드라이버들, 스위치들 등으로 유선 연결되고 예컨대 APE(12) 상에서 실행되는 소프트웨어에 의해 세팅된 상태 비트들에 따라 ASC(18)의 동작을 제어하는 상태 레지스터를 포함한다.
일 실시예에서, 호스트 포트(22) 및 장치 포트(20)가 각기 USB 호스트 및 USB 장치 기능을 구현한다. 그러나 본 발명은 이러한 기능에 국한되지 않는다. 장치 포트(20)는 데이터 통신 버스(16)와 관련하여 "슬레이브(slave)" 포트이며 APE(12)로부터 데이터 전송 요청을 수용하고 구현하도록 동작할 수 있다. 예를 들어 APE(12)가 ASC(18)에 설정 데이터를 기록할 수 있고/있거나 장치 포트(20)를 통해 USB 인터페이스(26)를 경유하여 외부 호스트와의 핸드셰이킹 또는 다른 프로토콜 시그날링에 개입할 수 있다. 마찬가지로, 호스트 포트(22)는 데이터 통신 버스(16)와 관련하여 "마스터(master)" 포트이며 메모리 인터페이스(14)에 연결된 메모리 매체로/로부터 데이터 전송을 개시 및 제어하도록 동작할 수 있다. 예를 들어 외부 호스트는 APE(12) 개입 없이 호스트 포트(22) 및 통신 포트(26)를 거쳐 메모리 인터페이스(14)로/로부터 많은 양의 데이터를 전송할 수 있다.
도 1에 도시된 실시예에서, APE(12), 메모리 인터페이스(14), 장치 포트(20), 및 호스트 포트(22)는 모두 3상 상태 드라이버들을 이용하여 데이터 통신 버스(16)로 연결된다. 이 기술 분야에 잘 알려진 바와 같이, 어떤 주어진 버스 트랜잭션에 참여하지 않는 개체는 자신의 3상 상태 드라이버들을 고 임피던스 상태로 놓음으로써 버스로부터 기능적으로 제거될 수 있다.
도 2는 ASC(18)의 패스 스루(pass-thru) 회로(30)가 APE(12) 및 메모리 인터페이스(14) 사이의 데이터 통신 버스(16) 상에 개재되는 전자 장치(10)의 또 다른 실시예를 도시한다. 여기에 보다 상세히 설명되는 패스 스루 회로(30)는 패스 스루 또는 바이패스(bypass) 모드로 APE(12) 및 메모리 인터페이스(14) 사이의 연결을 제공하며, 비 패스 스루(non-pass-thru) 또는 비 바이패스(non-bypass) 모드로 APE(12)를 장치 포트(20) 및 호스트 포트(22)를 지나 메모리 인터페이스(14)로 연결한다.
본 발명의 실시예들에 의한 여러 사용 예들과 그들의 지원 및 실행에 대해 이하에서 논의한다. 본 발명의 실시예들의 회로 및 구성의 이점을 밝히고 개시 사항의 이행을 지원하기 위하여 이러한 특정 사용 예들이 설명된다. 그러나 본 발명이 여기 논의된 특정 도시 및 서술된 사용 예들 중 어느 하나 또는 심지어 전부의 총합에 국한되는 것은 아니며, 그보다 첨부된 청구범위에 의해 포함되는 모든 실시예들 및 적용예들을 포괄한다.
이하에 논의된 사용 예들을 구현함에 있어, APE(12)나 ASC(18)의 호스트 포트(22)(또는 시간 다중화 방식에 있어서 둘 모두)는 데이터 통신 버스(16) 프로토콜에 따라 버스 트랜잭션들을 수행하기 위해 데이터 통신 버스(16) 상의 제어 신호들을 구동한다. 즉, APE(12)나 ASC(18)의 호스트 포트(22)가 데이터 통신 버스(16)의 액티브 마스터이다. 이것은 수많은 방식으로 구현될 수 있다. 일 실시예에서 소프트웨어는 제어 레지스터들에 특정 비트들을 기록하는 등의 일을 통해 현재의 버스 마스터를 설정한다. 또 다른 실시예에서, 버스 중재자(도 1 또는 2에 도시되지 않음)가 버스 마스터를 동적으로 결정할 수 있으며, 설정 소프트웨어가 APE(12) 및 ASC(18)의 호스트 포트(22) 중 상대적인 중재 우선 순위를 변경한다. 어느 경우든, 본 발명은 특정 구현예들에 필요로 되거나 요망되는 대로 추가적 데이터 통신 버스(16) 마스터 및/또는 슬레이브 인터페이스들을 포함하도록 확장될 수 있다.
하나의 중요한 사용 예가 APE(12)에 의한 메모리 인터페이스(14)로의 액세스이다. 이것은 도 1에 도시된 실시예에서 용이하다; ASC(18)의 장치 포트(20) 및 호스트 포트(22)는 단순히 3상 상태로 되어 데이터 통신 버스(16)를 통한 트랜잭션들에 있어서 아무 것도 담당하지 않는다. 도 2에 도시된 실시예에서, ASC(18)의 패스 스루 회로(30)는 모든 데이터 통신 버스(16) 신호들이 그 패스 스루 회로(30)를 통해 라우팅되지만 어떤 능동적 개입도 일어나지 않는 패스 스루 모드나 바이패스 모드 상태에 있다. 어느 실시예에서도, APE(12) 상에서 실행되는 애플리케이션 소프트웨어는 ASC(18)를 알고 있을 필요가 없으며 일반적인 방식으로 메모리 인터페이스(14)를 액세스할 수 있다.
제2사용 예가 ASC(18)에 의한 메모리 인터페이스(14)로의 액세스이다. 예를 들어, 외부 개체(가령, USB 3.0 호스트 인터페이스를 가진 PC)가 영화와 같은 용량이 많은 데이터를 임베디드 메모리(가령, eMMC)나 착탈형 플래시 메모리 카드(가령, SD/MMC)로 업로드하는 일이 요구될 수 있다. 일반적으로 APE(12)는 외부 호스트와 인터페이스하여 소량의 데이터를 받고 그들을 메모리 인터페이스(14)에 기록해야 할 것이다. 일 실시예에 따르면, APE(12)는 데이터 통신 버스(16)로부터 기능적으로 연결 해제되고, 호스트 포트(22)가 메모리 인터페이스(14)로/로부터 데이터 전송을 운용한다. ASC(18)는 통신 포트(26)를 통해 USB 3.0 초고속 데이터율로 외부 호스트로부터 데이터를 받을 수 있고, 데이터를 메모리 인터페이스(14)에 연결된 메모리 매체 안에 직접 로드할 수 있다. 일 실시예에서 버퍼 메모리(24)는 통신 포트(26)에 의해 수신된 트랜잭션들로부터 데이터 통신 버스(16) 상의 버스 트랜잭션들을 분리함으로써 그러한 데이터 전송을 촉진한다. 당연히, 데이터는 동일한 경로를 따라 메모리 인터페이스(14)로부터 외부 호스트로 전송될 수도 있다. 이러한 사용 예로서 도 1의 실시예에서, APE(12) 및 ASC(18)의 장치 포트(20) 둘 모두 3 상태로 되어 있고 데이터 통신 버스(16)로부터 기능적으로 제거된다. 도 2의 실시예에서, ASC(18)의 패스 스루 회로(30)는 호스트 포트(22)가 메모리 인터페이스(14)에 연결되는 비 패스 스루 또는 비 바이패스 모드에 있게 된다(APE(12) 역시 그러한 모드에서 장치 포트(20)에 연결될 수 있다).
대안적으로, 전자 장치(10)에 의해 그러한 두 사용 예들을 구현하는 방법(100)이 도 6에 도시된다. APE(12)나 외부 호스트에 의해(블록 112) 메모리 인터페이스(14)로/로부터 데이터 전송이 요구되는 경우(블록 100), 데이터 전송의 두 유형들 중 하나가 데이터 통신 버스(16) 상에서 일어난다. 특히, APE가 메모리 인터페이스(14)에 대한 액세스를 요청하면(블록 112), 데이터 통신 버스(16)를 통해 APE(12) 및 메모리 인터페이스(14)에 연결된 메모리 매체 사이에 데이터가 전송된다(블록 114). 이것이 상술한 제1사용 예이다. 외부 호스트가 메모리 인터페이스(14)에 대한 액세스를 요청하면(블록 112), ASC(18)의 통신 포트(26)에 연결된 외부 호스트, 및 호스트 포트(22) 및 데이터 통신 버스(16)를 통해 메모리 인터페이스(14)에 연결된 메모리 매체 사이에 데이터가 전송된다(블록 116). 이것이 상술한 제2사용 예이다. 어느 경우나, 메모리 인터페이스(14)에 연결된 메모리 매체는 전자 기기(10) 내 임베디드 메모리(가령, eMMC), 또는 메모리 인터페이스(14)와 연관된 슬롯 안에 착탈 가능하게 삽입되는 착탈형 매체(가령, SD/MMC)를 포함할 수 있다.
제3의 사용 예가 APE(12)에 의한 ASC(18)로의 액세스이다. 예를 들어 APE(12)는 제어 레지스터들을 기록함으로써 ASC(18)를 설정할 수 있다. 또 다른 예로서, APE(12)는 USB 3.0 초고속 데이터율 등을 사용함으로써 통신 포트(26)를 통해 외부 호스트와 통신할 수 있다. 모바일 셀룰라 전화 기능을 구현하는 전자 장치의 APE(12)가 디지털 저작권 관리(DRM) 기능, 달력 및 주소록 동기화를 제어하고 PC에 셀룰라 모뎀 서비스를 제공하는 외부 PC 상에서 실행되는 소프트웨어 프로그램들과 통신할 필요가 있을 수 있다. 이 경우, APE(12)는 버스 마스터이고, ASC(18)의 장치 포트(20)는 버스 슬레이브이며, 호스트 포트(22)는 데이터 통신 버스(16)로부터 기능적으로 연결 해제된다. 메모리 인터페이스(14)는 예를 들어 버스로부터 논리적으로 연결 해제되거나, 어드레스 가능한 버스의 경우 APE(12)에서 ASC(18)로의 트랜잭션들을 위해 단순히, 어드레싱되지 않는다. 이러한 사용 예로서 도 1의 실시예에서, 적어도 ASC(18)의 호스트 포트(22) 및 가능하게는 메모리 인터페이스(14) 역시 3 상태로 되어 있고 데이터 통신 버스(16)로부터 기능적으로 제거된다. 도 2의 실시예에서, ASC(18)의 패스 스루 회로(30)는 APE(12)가 장치 포트(20)에 연결되는 비 패스 스루 또는 비 바이패스 모드에 있게 된다(호스트 포트(22) 역시 그러한 모드에서 메모리 인터페이스(14)에 연결될 수 있다).
제4사용 예가 APE(12)에 의한 ASC(18) 및 ASC(18)에 의한 메모리 인터페이스(14)로의 "동시적" 액세스이다. 액세스는 준 동시적(quasi-simultaneous)인데-예를 들어 시간 분할 다중화 방식으로 구현됨-이는 데이터 통신 버스(16) 상의 데이터 라인들이 공유되기 때문이다. 준 동시적 액세스는 여러가지 방식에 따라 구현될 수 있다. 예를 들어 일 실시예에서, 설정 소프트웨어는 단순히 대안적으로서 APE(12) 및 호스트 포트(22)가 액티브 버스 마스터들이 되도록 재설정한다. 버스 중재기를 이용하는 또 다른 실시예에서, APE(12) 및 호스트 포트(22)로는 동일한 우선 순위 액세스 권리가 부여될 수 있으며, 버스 중재기는 라운드 로빈(round-robin)(또는 핑퐁) 중재 방식을 구현한다. 또 다른 실시예들에서, 최소 빈도로 마스터를 사용함에 따른 액세스는 인터럽트 작동방식일 수 있다. 예를 들어 ASC(18)는 메모리 인터페이스(14)로/로부터 데이터를 전송할 수 있고, APE(12)는 예컨대 외부 호스트와의 DRM 핸드셰이크를 지원하거나 외부 호스트로 어떤 전송 등급들에 대해 USB 열거(enumeration) 응답을 제공한다. 이 경우, APE(12)에 의한 액세스 시도는 ASC(18)가 에러 응답을 제공하게 할 수 있고, 데이터 통신 버스(16)를 통해 메모리 인터페이스(14)로 또 다른 데이터 전송을 개시하기 전에, 어떤 소정 지속 기간의 "백 오프(back off)"를 구현할 수 있다.
도 3은 ASC(18)의 패스 스루 회로(30)의 일 실시예를 도시한다. 이 실시예에서, 메모리 인터페이스(14)로의 액세스는 설정 신호들(CFG(configuration signals))의 상태에 따라 버스 신호들을 라우팅하는 아날로그 스위치들(32)에 의해 APE(12) 또는 다른 대안으로서 ASC(18)의 호스트 포트(22)로 주어진다. 설정 신호들은 예컨대 제어기(28)에 의해 운영될 수 있다. 이 실시예는 설계의 단순성 및 최소한의 하드웨어 개수라는 장점들을 제공하지만, APE(12), 메모리 인터페이스(14), 및 ASC(18)가 같은 전압으로 운영되어야 한다는 한계를 부과한다.
도 4는 역시 설정 신호들(CFG)의 제어 하에서, 버스 신호들을 라우팅하는 멀티플렉서(34) 및 디지털 드라이버들을 이용하여 구현되는 ASC(18)의 패스 스루 회로(30)의 또 다른 실시예를 도시한다. 이 실시예에서, 출력 인에이블(nOE) 신호가 가령 APE(12)에 의해 제공되며 패스 스루 또는 바이패스 모드 하에서의 데이터 전송 방향을 가리킨다(즉, APE 에서 메모리, 또는 메모리에서 APE로의 방향). 이 정보는 적절한 드라이버들이 패스 스루 회로(30)를 구현하게 하는 데 사용된다. 메모리 인터페이스(14)로의 액세스는 설정 신호들(CFG(configuration signals))의 상태에 따라, nOE 신호의 제어 하에서의 드라이버들의 상태 및 멀티플렉서(34)에 의해 APE(12) 또는 다른 대안으로서 ASC(18)의 호스트 포트(22)로 주어진다. 이 실시예의 한 가지 이점은 레벨 쉬프터들(36)이 버스 신호들의 전압 레벨을 변경하는데 사용될 수 있어, ASC(18)가 APE(12) 및/또는 메모리 인터페이스(14)와 다른 전압 레벨로 동작될 수 있게 한다는 것이다.
도 5는 nOE 신호가 사용될 수 있는 ASC(18)의 패스 스루 회로(30)의 디지털 실시예를 도시한다. 오히려, 프로토콜 분석기가 데이터 통신 버스(16) 상의 제어 신호들을 모니터링하여 데이터 전송 방향을 찾아 내고, 그에 따라 드라이버들을 제어한다. 그렇지 않다면 이 실시예는 도 4의 실시예와 유사하다.
본 발명의 실시예들에 따라, PC와 같은 외부 고속 장치는 전자 장치 애플리케이션 프로세서가 그러한 고속 데이터 전송을 원래 지원하지 못할 때, 전자 장치 상의 고용량 데이터 저장 메모리에 대한 고속 액세스를 유지한다. 본 발명의 실시예들은 셀룰라 전화기, 디지털 카메라, 휴대형 미디어 플레이어, 디지털 비디오 카메라, 위성 네비게이션 수신기 등을 포함하는 광범위한 전자 장치들에 적용될 수 있다.
eMMC가 이 설명에 있어서 메모리 인터페이스(16)를 통해 액세스되는 임베디드 메모리 매체의 한 예로서 주어진다. 마찬가지로, SD/MMC가 여기에서 메모리 인터페이스(16)에 착탈 가능하게 연결된 착탈형 메모리 매체의 한 예로서 기술된다. 그러나 본 발명은 이러한 특정 산업 규격 제품들에 국한되지 않는다. 예를 들어, 임베디드 메모리 매체는 APE(12) 및 호스트 제어기(22)와 같은 데이터 통신 버스(16) 상의 마스터 장치들에 표준 메모리 인터페이스(14)를 제공하는 제어기/인터페이스를 가진 어떤 디지털 저장 매체를 포함할 수 있다. 마찬가지로, 착탈형 메모리 매체는 MMC, RS- MMC(Reduced-Size MMC), DV-MMC(Dual-Voltage MMC), MMCplus, MMCmobile, MMCmicro, SecureMMC, SD, SDIO, miniSD, microSD, CompactFlash, USB 플래시 메모리 드라이브, 메모리 스틱, SDHC(SD High Capacity), SDXC(SD Extended Capacity) 등 뿐 아니라 이러한 표준의 어떤 개정이나 확장과 같은 어떤 착탈형 비휘발성 메모리 매체를 포함할 수 있다.
USB가 통신 호스트(26) 프로토콜의 한 예로서 이 내용 안에 주어진다. 그러나 본 발명은 USB 버스 프로토콜이나 그것의 특정 버전 또는 개정안 중 어느 하나에 국한되지 않는다. 일반적으로 ASC(18)의 통신 호스트(26)는 RS-232, RS-488, USB 표준의 어떤 버전 또는 개정안, 어떤 광 프로토콜, 주문형 또는 사적 프로토콜, 또는 ASC(18) 및 외부 호스트 사이에서 데이터를 교환하도록 운용되는 어떤 다른 데이터 통신 프로토콜을 포함하여, 이 기술 분야에 알려진 어떤 직렬 또는 병렬 데이터 통신 프로토콜을 구현할 수 있다.
본 발명은 물론 본 발명의 필수적 특징에서 벗어나지 않고 여기에 특별하게 언급된 것과 다른 방식으로 수행될 수 있다. 본 발명의 실시예들은 모든 면에서 예시적이고 비한정적인 것으로 간주되며, 첨부된 청구범위의 의미 및 등가 범위 안에 들어오는 모든 변경사항들이 그 안에 포함되도록 의도된다.

Claims (21)

  1. 메모리 매체에 대해 기계적 연결 및 전기적 연결을 제공하도록 동작하는 메모리 인터페이스(14)와,
    상기 메모리 인터페이스(14)에 연결된 데이터 통신 버스(16)와,
    상기 데이터 통신 버스(16)에 연결되고 애플리케이션 프로그램을 실행하도록 동작하며, 또한 상기 데이터 통신 버스(16)를 통해 상기 메모리 인터페이스(14)에 연결되는 경우 상기 메모리 매체에 데이터를 기록하고 상기 메모리 매체로부터 데이터를 판독하도록 동작하는 애플리케이션 프로세서 엔진(APE; Application Processor Engine)(12)과,
    가속 저장 제어기(ASC; Accelerated Storage Controller)(18)를 포함하되,
    상기 ASC는
    상기 데이터 통신 버스(16)에 설정 가능하게 연결된 호스트 포트(22)와,
    상기 ASC를 외부 호스트에 데이터 통신 관계로 연결하도록 동작하는 통신 포트(26)를 포함하고,
    상기 ASC(18)는, 상기 통신 포트(26)를 통해 연결되는 경우의 외부 호스트와 상기 메모리 인터페이스(14)에 연결되는 경우의 메모리 매체 사이에서 상기 호스트 포트(22) 및 상기 데이터 통신 버스(16)를 통해 데이터를 전송하도록 설정 가능하게 동작하며,
    상기 ASC(18)는 또한, 상기 메모리 인터페이스(14)에 연결되는 경우에 상기 APE(12)가 상기 데이터 통신 버스(16)를 통해 메모리 매체에 데이터를 기록하고 메모리 매체로부터 데이터를 판독할 수 있도록 상기 데이터 통신 버스(16)로부터 상기 호스트 포트(22)를 기능적으로 연결해제(disconnect)하도록 설정 가능하게 동작하고,
    상기 ASC(18)는 상기 데이터 통신 버스(16)에 설정 가능하게 연결된 디바이스 포트(20)를 더 포함하며, 상기 APE(12)는 상기 데이터 통신 버스(16) 및 상기 디바이스 포트(20)를 통해 상기 ASC(18)로 및 상기 ASC(18)로부터 데이터를 전송하도록 설정 가능하게 동작하는
    전자 디바이스(10).
  2. 제 1 항에 있어서,
    상기 통신 포트(26)는 USB(Universal Serial Bus) 포트를 포함하는
    전자 디바이스(10).
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 메모리 매체는 상기 전자 디바이스(10) 안에 내장되며 상기 메모리 인터페이스(14)를 통해 연결되는
    전자 디바이스(10).
  4. 제 3 항에 있어서,
    상기 메모리 매체는 eMMC 메모리(embedded MultiMedia Card memory)를 포함하는
    전자 디바이스(10).
  5. 제 1 항에 있어서,
    상기 메모리 인터페이스(14)는 메모리 카드를 착탈 가능하게 연결하기 위한 메모리 카드 슬롯을 포함하는
    전자 디바이스(10).
  6. 제 5 항에 있어서,
    착탈가능한 상기 메모리 카드는 SD/MMC(Secure Digital MultiMedia Card)를 포함하는
    전자 디바이스(10).
  7. 삭제
  8. 제 1 항에 있어서,
    상기 APE(12)는 또한 상기 데이터 통신 버스(16)와, 상기 ASC(18)의 상기 디바이스 포트(20) 및 상기 통신 포트(26)를 통해 외부 호스트로 및 외부 호스트로부터 데이터를 전송하도록 동작하는
    전자 디바이스(10).
  9. 제 1 항에 있어서,
    상기 APE(12)는 상기 데이터 통신 버스(16) 및 상기 디바이스 포트(20)를 통해 상기 ASC(18)로 및 상기 ASC(18)로부터 데이터를 전송하도록 동작하며, 상기 ASC(18)는 상기 메모리 인터페이스(14)에 연결될 때 상기 호스트 포트(22) 및 상기 데이터 통신 버스(16)를 통해 메모리 매체로 및 메모리 매체로부터 데이터를 전송하도록 동작하는
    전자 디바이스(10).
  10. 제 9 항에 있어서,
    상기 APE(12) 및 상기 호스트 포트(22)는 시간 분할 다중화 방식으로 상기 데이터 통신 버스(16)를 제어하는
    전자 디바이스(10).
  11. 제 1 항에 있어서,
    상기 ASC(18)는 상기 APE(12)와 상기 메모리 인터페이스(14) 사이의 상기 데이터 통신 버스(16) 상에 개재되며(interposed),
    상기 ASC(18)는
    패스 스루 모드(pass-through mode)에서 상기 APE(12)에 연결된 상기 데이터 통신 버스를 상기 메모리 인터페이스(14)에 연결된 상기 데이터 통신 버스로 설정 가능하게 연결하도록 동작하며, 또한 비 패스 스루 모드(non-pass-through mode)에서 상기 APE(12)에 연결된 상기 데이터 통신 버스를 상기 디바이스 포트(20)로 연결하고 상기 메모리 인터페이스(14)에 연결된 상기 데이터 통신 버스를 상기 호스트 포트(22)로 연결하도록 동작하는 패스 스루(pass-through) 회로(30)를 더 포함하는
    전자 디바이스(10).
  12. 제 1 항에 있어서,
    상기 ASC(18)는 상기 APE(12)와 상기 메모리 인터페이스(14) 사이의 상기 데이터 통신 버스(16) 상에 개재되며,
    상기 ASC(18)는
    설정 가능하게 기능적으로 상기 APE(12)를 상기 메모리 인터페이스(14)로부터 연결해제하고 상기 호스트 포트(22)를 상기 데이터 통신 버스(16)에 연결함으로써, 상기 호스트 포트(22)가 상기 메모리 인터페이스(14)로 및 상기 메모리 인터페이스(14)로부터의 데이터 전송을 구동할 수 있게 동작하며, 또한 설정 가능하게 상기 APE(12)를 상기 메모리 인터페이스(14)에 기능적으로 연결하고 상기 호스트 포트(22) 및 디바이스 포트(20)를 상기 메모리 인터페이스(14)로부터 기능적으로 연결해제함으로써, 상기 APE(12)에 상기 메모리 인터페이스(14)로의 액세스를 제공하도록 동작하는 패스 스루 회로(30)를 더 포함하는
    전자 디바이스(10).
  13. 제 12 항에 있어서,
    상기 패스 스루 회로(30)는 버스 신호를 설정 가능하게 연결하도록 동작하는 아날로그 스위치(32)를 포함하는
    전자 디바이스(10).
  14. 제 12 항에 있어서,
    상기 패스 스루 회로(30)는 버스 신호를 설정 가능하게 연결하도록 동작하는 3상(tri-state) 드라이버 및 디지털 멀티플렉서(34)를 포함하는
    전자 디바이스(10).
  15. 제 14 항에 있어서,
    상기 패스 스루 회로(30)는 출력 인에이블(Output Enable) 제어 신호 입력을 더 포함하는
    전자 디바이스(10).
  16. 제 14 항에 있어서,
    상기 패스 스루 회로(30)는 버스 트래픽을 모니터링하고 상기 3상 드라이버를 제어하도록 동작하는 프로토콜 분석기(38)를 더 포함하는
    전자 디바이스(10).
  17. 제 14 항에 있어서,
    상기 ASC(18)는 상기 APE(12) 및 상기 메모리 인터페이스(14) 중 적어도 하나와 다른 전압 레벨에서 동작하며, 상기 패스 스루 회로(30)는 버스 신호의 전압 레벨을 변경하도록 동작하는 레벨 쉬프터(36)를 더 포함하는
    전자 디바이스(10).
  18. 제 1 항에 있어서,
    상기 전자 디바이스(10)는 무선 모뎀을 더 포함하며, 상기 전자 디바이스(10)는 무선 통신 기능을 제공하도록 동작하는
    전자 디바이스(10).
  19. 전자 디바이스(10)에서 데이터 전송을 관리하는 방법 - 상기 전자 디바이스(10)는 애플리케이션 프로세서 엔진(APE), 및 호스트 포트(22)와 통신 포트(26)를 포함하는 가속 저장 제어기(ASC)(18)를 포함하고, 상기 APE(12) 및 상기 ASC(18)의 호스트 포트(22)는 모두 데이터 통신 버스(16)를 통해 메모리 인터페이스(14)에 연결됨 - 으로서,
    상기 데이터 통신 버스(16)를 통해 상기 메모리 인터페이스(14)에 연결된 메모리 매체와 상기 APE(12) 사이에서 데이터를 전송하는 단계(114)와,
    상기 ASC(18)의 통신 포트(26)에 연결된 외부 호스트와 상기 메모리 인터페이스(14)에 연결된 메모리 매체 사이에서 상기 ASC(18)의 호스트 포트(22) 및 상기 데이터 통신 버스(16)를 통해 데이터를 전송하는 단계(116)를 포함하되,
    상기 ASC(18)는 또한 디바이스 포트(20)를 더 포함하며,
    상기 방법은, 상기 ASC(18)의 상기 디바이스 포트(20) 및 상기 데이터 통신 버스(16)를 통해 상기 APE(12)와 상기 ASC(18) 사이에서 데이터를 전송하는 단계를 더 포함하는
    데이터 전송 관리 방법.
  20. 삭제
  21. 제 19 항에 있어서,
    상기 ASC(18)의 상기 통신 포트(26)에 연결된 외부 호스트와 상기 메모리 인터페이스(14)에 연결된 메모리 매체 사이에서 상기 ASC(18)의 호스트 포트(22) 및 상기 데이터 통신 버스(16)를 통해 데이터를 전송하는 단계를 더 포함하되,
    상기 ASC(18)의 상기 호스트 포트(22) 및 상기 APE(12)는 시간 분할 다중화 방식으로 상기 데이터 통신 버스(16) 상에서 각각의 데이터 전송을 구동하는
    데이터 전송 관리 방법.
KR1020127019424A 2009-12-24 2010-12-24 로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스를 제공하는 메모리 관리 시스템 KR101695336B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29015109P 2009-12-24 2009-12-24
US61/290,151 2009-12-24
US12/977,902 US8615621B2 (en) 2009-12-24 2010-12-23 Memory management
US12/977,902 2010-12-23
PCT/IB2010/056072 WO2011077413A1 (en) 2009-12-24 2010-12-24 Memory management system offering direct as well as managed access to local storage memory

Publications (2)

Publication Number Publication Date
KR20120131155A KR20120131155A (ko) 2012-12-04
KR101695336B1 true KR101695336B1 (ko) 2017-01-11

Family

ID=44188832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127019424A KR101695336B1 (ko) 2009-12-24 2010-12-24 로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스를 제공하는 메모리 관리 시스템

Country Status (4)

Country Link
US (1) US8615621B2 (ko)
EP (1) EP2517113B1 (ko)
KR (1) KR101695336B1 (ko)
WO (1) WO2011077413A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507639B2 (en) 2012-05-06 2016-11-29 Sandisk Technologies Llc Parallel computation with multiple storage devices
US9645738B2 (en) 2012-08-09 2017-05-09 Spectra Logic Corporation Direct memory access of remote data
US9218133B2 (en) 2012-08-17 2015-12-22 Spectra Logic, Corp Data deduplication in a removable storage device
US9519440B2 (en) * 2013-09-10 2016-12-13 Qualcomm Incorporated Providing command queuing in embedded memories
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
KR101466665B1 (ko) * 2013-11-01 2014-12-01 주식회사 디텍프론티어 멀티플렉서를 이용한 eMMC 멀티 다운로더 설계 방법
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
US9959203B2 (en) 2014-06-23 2018-05-01 Google Llc Managing storage devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136528A1 (en) * 2005-12-09 2007-06-14 Maxim Integrated Products, Inc. Methods and apparatus for adding an autonomous controller to an existing architecture
US20090131036A1 (en) * 2007-11-16 2009-05-21 Wayne Liang Providing a High-Speed Connection Between a Memory Medium of a Mobile Device and an External Device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107383B1 (en) * 2000-05-03 2006-09-12 Broadcom Corporation Method and system for multi-channel transfer of data and control information
WO2005086583A2 (en) 2004-03-18 2005-09-22 M-Systems Flash Disk Pioneers Ltd. System, apparatus and method for sharing media
US7640379B2 (en) 2005-02-12 2009-12-29 Broadcom Corporation System method for I/O pads in mobile multimedia processor (MMP) that has bypass mode wherein data is passed through without being processed by MMP
US20080222365A1 (en) 2007-03-08 2008-09-11 Staktek Group L.P. Managed Memory System
US8315269B1 (en) * 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
US8010768B2 (en) * 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
US7631126B2 (en) * 2007-05-24 2009-12-08 Research In Motion Limited System and method for interfacing an electronic device with a host system
US8090894B1 (en) * 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
US7895387B1 (en) * 2007-09-27 2011-02-22 Cypress Semiconductor Corporation Devices and methods for sharing common target device with two different hosts according to common communication protocol
US8150452B2 (en) * 2007-11-16 2012-04-03 Standard Microsystems Corporation Providing a connection between a memory medium of a mobile device and an external device
US8281169B2 (en) * 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8266361B1 (en) * 2009-01-28 2012-09-11 Cypress Semiconductor Corporation Access methods and circuits for devices having multiple buffers
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8112571B1 (en) * 2009-07-23 2012-02-07 Cypress Semiconductor Corporation Signal connection device and method
TWI408551B (zh) * 2009-10-28 2013-09-11 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與資料處理方法
US8352644B2 (en) * 2009-11-23 2013-01-08 Qualcomm Incorporated Apparatus and methods for USB connection in a multi-processor device
US8510494B2 (en) * 2009-12-24 2013-08-13 St-Ericsson Sa USB 3.0 support in mobile platform with USB 2.0 interface
US8601203B2 (en) * 2010-03-12 2013-12-03 Standard Microsystems Corporation Firmware flashing of a portable device using a serial bus hub
US8631185B2 (en) * 2010-09-15 2014-01-14 Standard Microsystems Corporation Method and system for transferring high-speed data within a portable device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136528A1 (en) * 2005-12-09 2007-06-14 Maxim Integrated Products, Inc. Methods and apparatus for adding an autonomous controller to an existing architecture
US20090131036A1 (en) * 2007-11-16 2009-05-21 Wayne Liang Providing a High-Speed Connection Between a Memory Medium of a Mobile Device and an External Device

Also Published As

Publication number Publication date
WO2011077413A1 (en) 2011-06-30
US8615621B2 (en) 2013-12-24
US20110161543A1 (en) 2011-06-30
EP2517113A1 (en) 2012-10-31
EP2517113B1 (en) 2014-11-12
KR20120131155A (ko) 2012-12-04

Similar Documents

Publication Publication Date Title
KR101695336B1 (ko) 로컬 저장 메모리에 대해 직접 액세스 및 관리형 액세스를 제공하는 메모리 관리 시스템
CN110781117B (zh) 一种基于fpga的spi扩展总线接口以及片上系统
US7523235B2 (en) Serial Advanced Technology Attachment (SATA) switch
TW200305808A (en) ATA/SATA combined controller
US20040252672A1 (en) Route aware serial advanced technology attachment (SATA) switch
JP2013515992A (ja) Usb2.0インターフェイスを有するモバイルプラットフォームにおけるusb3.0のサポート
US8631185B2 (en) Method and system for transferring high-speed data within a portable device
JPH09179812A (ja) 情報処理システム及びその制御方法
CN102388357B (zh) 访问存储设备的方法及系统
US10372652B2 (en) USB hub
KR20080074221A (ko) 기존의 아키텍처에 독립 컨트롤러를 추가하는 방법 및 장치
CN110806997B (zh) 一种片上系统以及存储器
JP2503183B2 (ja) バス・アダプタ・システム
JP3516431B2 (ja) プロセッサ・バスによるi/oトラフィック伝送
KR100513398B1 (ko) 듀얼프로세서의 아이피 공유장치 및 그방법
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
US7010632B2 (en) Operating memory components
US20070005847A1 (en) Data transfer control device and electronic instrument
US8315269B1 (en) Device, method, and protocol for data transfer between host device and device having storage interface
US11216401B2 (en) USB host-to-USB host chip
WO2024017073A1 (zh) 一种存储器件共享的方法、装置及系统
US7730233B2 (en) Data transfer control device and electronic instrument
KR100496652B1 (ko) 고성능 병렬신호처리 시스템을 위한 hpi-emif 브릿지
US7702859B2 (en) Detachable direct memory access arrangement
CN112131166A (zh) 轻量桥接器电路及其操作方法

Legal Events

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