KR20110010707A - 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법 - Google Patents

슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법

Info

Publication number
KR20110010707A
KR20110010707A KR1020107024384A KR20100024384A KR20110010707A KR 20110010707 A KR20110010707 A KR 20110010707A KR 1020107024384 A KR1020107024384 A KR 1020107024384A KR 20100024384 A KR20100024384 A KR 20100024384A KR 20110010707 A KR20110010707 A KR 20110010707A
Authority
KR
South Korea
Prior art keywords
slave device
data
slave
command
communication line
Prior art date
Application number
KR1020107024384A
Other languages
English (en)
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 KR20110010707A publication Critical patent/KR20110010707A/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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F13/1684Details of memory controller using multiple buses
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

하나의 양상에서, 서로 연결되고 하나 이상의 통신 회선을 구비한 마스터 디바이스를 갖는 제 1 디바이스와 제 2 디바이스 사이에서 데이터를 직접 전송하는 방법이 기술된다. 복수의 통신 회선을 통해 데이터를 전송하는 방법이 기술된다. 제 1 명령은 통신 회선과 연결된 마스터 디바이스로부터 통신 회선과 연결된 제 1 목적지 슬레이브 디바이스로 전송되고, 제 1 명령은 제 1 목적지 슬레이브 디바이스에게 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시한다. 제 2 명령은 또한 마스터 디바이스로부터 통신 회선과 연결된 제 2 소스 슬레이브 디바이스로 전송되고, 제 2 명령은 제 2 소스 슬레이브 디바이스에게 제 1 시간 또는 제 1 시간 이후에 시작하는 제 1 데이터를 판독하고 제 1 시간에 또는 통신 회선으로 출력하라고 지시한다. 이 방법으로, 제 1 시간에 시작하는 제 2 소스 슬레이브 디바이스로부터 출력되는 제 1 데이터는 제 1 데이터를 마스터 디바이스 또는 임의의 다른 임시 저장 디바이스로 우선 전송하라고 요청하지 않고도 제 1 시간에 시작하는 제 1 목적지 슬레이브 디바이스에 의해 저장된다.

Description

슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법{DIRECT DATA TRANSFER BETWEEN SLAVE DEVICES}
본 발명은, 통신 회선을 통해 수동 슬레이브 디바이스(passive slave device) 사이에서 데이터를 전송하는 것에 관한 것이다. 보다 구체적으로, 본 발명은, 데이터를 호스트 디바이스(host device) 또는 임의의 다른 중계 저장 디바이스에 데이터를 먼저 전송하지 않고 수동 슬레이브 디바이스 사이에서 호스트 디바이스에 의해 개시된 데이터 전송에 관한 것이다.
전형적으로 공지되어 있는 표준을 따르는 "버스(bus)"로 불리는 복수의 도전성 와이어(wire)를 사용하여 호스트 프로세서를 상이한 디바이스로 접속하는 것은 일상화되었다. 버스에 접속되는 디바이스는 메모리/저장 디바이스, 통신 디바이스, 감지 디바이스 등을 포함할 수 있고 이 디바이스는 고정 또는 제거 가능할 수 있다. 대부분의 상황에서, 버스를 규정하는 일부 또는 모든 와이어들은 버스에 접속되는 임의의 그리고/또는 모든 디바이스 사이에서 공유된다. 버스로 연결된 디바이스는 동일한 도전성 와이어를 공유하므로, 각각의 디바이스는 버스 상에서 전형적으로 유일한 ID 또는 어드레스만을 할당받고 상기 유일한 ID/어드레스에 할당되는 메시지에만 응답하도록 구성된다. 이 방법에서, 다수의 디바이스는 버스를 형성하는 동일한 도전성 와이어를 공유할 수 있고, 상기 버스는 결과적으로 다른 방법에서 필요한 것보다 실질적으로 감소된 버스 크기를 가지게 된다.
전형적으로, 마스터(master)/슬레이브 버스 프로토콜이 버스용으로 채택된다. 마스터/슬레이브는 하나의 디바이스 또는 프로세스가 하나 이상의 디바이스에 대하여 단방향성으로 제어하는 통신 프로토콜용 모델이다. 종래의 시스템에서, 일단 디바이스 또는 프로세스 사이에 마스터/슬레이브 관계가 설정되면, 제어의 방향은 언제나 마스터 디바이스에서 슬레이브 디바이스이므로, 즉 슬레이브 디바이스는 트랜잭션(transaction)을 개시할 수 없다. 일부 시스템에서 마스터는 적합한 디바이스의 그룹으로부터 선택되고, 다른 디바이스는 슬레이브 역할로 동작한다. 종래의 시스템에서, 데이터는 슬레이브 디바이스 사이에서 직접 전송되지 않고; 오히려, 데이터는 전형적으로 공통 버스를 통해 소스(source) 슬레이브 저장 디바이스로부터 호스트 제어기 또는 다른 중계기로 넘어가고, 상기 호스트 제어기 또는 다른 중계기에서 상기 데이터는 임시로 캐싱(cashing)되어 공통 버스를 통해 호스트 제어기에 의해 재출력되고 상기 데이터가 버스로부터 판독되고 저장되는 목적지 슬레이브 저장 디바이스로 지향된다.
종래의 시스템이 양호하게 작동하지만, 디바이스 사이에서 데이터를 전송하는데 필요한 호스트 CPU 자원을 감소시킬 뿐만 아니라, 버스 사용 및 호스트 및/또는 다른 임시 저장 디바이스의 메모리 요건을 감소시키는 것이 바람직하다.
하나의 양상에서, 서로 연결되고 하나 이상의 통신 회선을 구비한 마스터 디바이스를 갖는 제 1 및 제 2 디바이스 사이에서 데이터를 직접 전송하는 방법이 기술된다. 다양한 실시예에 따르면, 상기 마스터 디바이스는 상기 제 1 디바이스에 상기 하나 이상의 통신 회선을 청취하라고 지시한다. 상기 제 2 디바이스는 데이터를 상기 하나 이상의 통신 회선으로 전송한다. 이 방법에서, 상기 제 2 디바이스에 의해 상기 하나 이상의 통신 회선으로 전송되는 데이터는 상기 마스터 디바이스에 의한 추가 간섭 없이 상기 제 1 디바이스에 의해 수신된다.
유사한 양상에서, 복수의 통신 회선을 통해 데이터를 전송하는 방법이 기술된다. 다양한 실시예에 따라, 제 1 명령은 통신 회선과 연결된 마스터 디바이스로부터 상기 통신 회선과 연결된 제 1 목적지 슬레이브 디바이스로 전송된다. 상기 제 1 명령은 상기 제 1 목적지 슬레이브 디바이스에게 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시한다. 제 2 명령은 또한 상기 마스터 디바이스로부터 상기 통신 회선과 연결된 제 2 소스 슬레이브 디바이스로 전송된다. 상기 제 2 명령은 상기 제 2 소스 슬레이브 디바이스에게 상기 제 1 시간 이후에 시작하는 제 1 데이터를 판독하고 상기 제 1 시간에 또는 통신 회선으로 출력하라고 지시한다. 이 방법으로, 상기 제 1 시간에 시작하는 상기 제 2 소스 슬레이브 디바이스로부터 출력되는 제 1 데이터는 상기 제 1 데이터를 상기 마스터 디바이스 또는 임의의 다른 임시저장 디바이스로 우선 전송하라고 요청하지 않고도 상기 제 1 시간에 시작하는 상기 제 1 목적지 슬레이브 디바이스에 의해 저장된다.
다른 양상에서, 복수의 통신 회선을 통해 통신하는 방법이 기술된다. 다양한 실시예에 따르면, 제 1 명령은 상기 통신 회선과 연결된 마스터 디바이스로부터 상기 통신 회선과 연결된 제 1 슬레이브 디바이스로 전송된다. 상기 제 1 통신 명령은 상기 제 1 목적지 슬레이브 디바이스에게 제 1 시간에 시작하는 상기 통신 회선을 청취하라고 지시한다. 제 2 명령은 또한 상기 마스터 디바이스로부터 상기 통신 회선과 연결된 제 2 슬레이브 디바이스로 전송된다. 상기 제 2 명령은 상기 제 2 슬레이브 디바이스에게 제 3 통신을 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 통신 회선으로 출력하라고 지시한다. 이 방법에서, 상기 제 1 시간에 시작하는 상기 제 2 슬레이브 디바이스로부터 출력되는 상기 제 3 통신은 상기 제 3 통신을 상기 마스터 디바이스 또는 임의의 다른 디바이스로 우선 전송하라고 요청하지 않고도 상기 제 1 시간에 시작하는 상기 제 1 슬레이브 디바이스에 의해 판독된다.
또 다른 양상에서, 상술한 방법 각각을 구현하기 위한 시스템이 기술된다. 하나의 실시예에서, 데이터를 저장하도록 구성되는 제 1 어드레스 가능 목적지 슬레이브 디바이스, 데이터를 저장하도록 구성되고 내부에 저장된 제 1 데이터를 포함하는 제 2 어드레스 가능 소스 슬레이브 디바이스, 및 상기 제 1 및 제 2 슬레이브 디바이스를 관리하도록 배열된 마스터 디바이스를 포함하는 시스템이 기술된다. 상기 시스템은 상기 마스터 디바이스와 상기 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스 중 적어도 각각을 연결하는 복수의 통신 회선을 더 포함한다. 실시예에 따르면, 상기 마스터 카드는 상기 제 1 슬레이브 디바이스에게 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하는 제 1 명령을 상기 제 1 슬레이브 디바이스에, 그리고 상기 제 2 슬레이브 디바이스에게 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 상기 제 1 데이터를 판독하고 상기 통신 회선으로 출력하라고 지시하는 제 2 명령을 상기 제 2 슬레이브 디바이스에 전송하도록 추가 배열되어, 상기 제 1 데이터를 상기 마스터 디바이스 또는 임의의 다른 저장 디바이스로 우선 전송하라고 요청하지 않고도 상기 제 1 데이터가 상기 제 2 소스 슬레이브 디바이스로부터 상기 제 1 목적지 슬레이브 디바이스로 전송되도록 한다.
다른 실시예에서, 상기 시스템은 제 1 어드레스 가능 슬레이브 디바이스, 제 2 어드레스 가능 슬레이브 디바이스, 상기 제 1 및 제 2 슬레이브 디바이스를 관리하도록 배열된 마스터 디바이스, 및 상기 마스터 디바이스와 상기 제 1 및 제 2 슬레이브 디바이스 중 적어도 각각을 연결하는 복수의 통신 회선을 포함한다. 실시예에서, 상기 마스터 디바이스는 상기 제 1 슬레이브 디바이스에게 제 1 시간에 시작하는 통신 회선을 청취하라고 지시하는 제 1 명령을 상기 제 1 슬레이브 디바이스에, 그리고 상기 제 2 슬레이브 디바이스에게 제 3 통신을 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 통신 회선으로 출력하라고 지시하는 제 2 명령을 상기 제 2 슬레이브 디바이스에 전송하도록 더 구성되고, 상기 제 1 시간에 시작하는 상기 제 2 슬레이브 디바이스로부터 출력되는 상기 제 3 통신은 상기 제 2 통신을 상기 마스터 디바이스 또는 임의의 다른 디바이스로 우선 전송하라고 요청하지 않고도 상기 제 1 시간에 시작하는 상기 제 1 슬레이브 디바이스에 의해 판독된다.
본 발명은, 디바이스 사이에서 데이터를 전송하는데 필요한 호스트 CPU 자원을 감소시킬 뿐만 아니라, 버스 사용 및 호스트 및/또는 다른 임시 저장 디바이스의 메모리 요건을 감소시키는 효과를 갖는다.
본 발명의 더욱 양호한 이해를 위해, 첨부 도면과 함께, 다음의 상세한 설명이 참조되어야 한다:
도 1은, 본 발명의 실시예에 따른 시스템의 간소화된 블록도를 도시한 도면.
도 2는, 본 발명의 실시예에 따른 예시적인 저장 디바이스의 간소화된 블록도를 도시한 도면.
도 3은, 저장 디바이스 사이에서 직접 데이터를 전송하는 프로세스를 도시한 흐름도를 도시한 도면.
도 4는, 본 발명의 실시예에 따른 데이지(daisy) 체인 구조로 배열된 복수의 저장 디바이스를 포함하는 시스템의 간소화된 블록도를 도시한 도면.
동일한 참조 번호는 도면 전체에서 대응하는 부분을 나타낸다.
이제 본 발명의 특정한 실시예를 상세하게 언급할 것이고, 상기 실시예의 예는 첨부 도면에 도시된다. 본 발명이 다음의 특정한 실시예와 함께 설명될 것이지만, 이들은 본 발명을 기술된 실시예로 제한하도록 의도되지 않음이 이해될 것이다. 반대로, 기술되는 실시예는 첨부된 청구항에 의해 규정되는 바와 같은 본 발명의 정신 및 범위 내에 포함될 수 있는 대체물, 수정물, 및 등가물을 포함하도록 의도된다.
본 발명의 양상은 둘 이상의 슬레이브 디바이스를 마스터 디바이스와, 특정한 실시예에서는 둘 이상의 저장 디바이스를 호스트 디바이스와 연결하는 통신 회선을 통해 데이터를 전송하기 위한 방법, 디바이스, 및 시스템을 기술한다. 본 발명의 특정한 실시예는 도 1 내지 도 4를 참조하여 후술된다. 다음의 설명은 저장 디바이스는 메모리/저장소 관련 버스를 통해 마스터 디바이스 역할을 하는 호스트 디바이스로 상호 접속되고 데이터를 호스트 디바이스 또는 임의의 다른 중개 디바이스로 우선 전송하지 않고도 데이터가 하나의 저장 디바이스로부터 다른 디바이스로 직접 전송되고, 슬레이브 저장 디바이스가 자신 사이에서의 전송을 개시할 수 없는 실시예에 초점을 맞춘다. 그러나, 당업자는 이 도면에 관하여 본원에 제공된 상세한 설명이 예시적인 목적을 위한 것이지만, 본 발명이 이 제한된 실시예를 넘어 확장되는 것이 용이하게 인식할 것이다. 예를 들어, 대안적인 실시예에서, 저장 디바이스는 종래의 버스 아키텍처와 상호 접속되지 않고, 오히려 각각의 디바이스는 단지 자신의 인접 디바이스와 접속된다.
임의의 적절한 저장 디바이스가 사용될 수 있는 것으로 고려되지만, 다음의 특정 실시예의 설명에서, 저장 디바이스는 비휘발성 저장 디바이스로 가정된다. 그러나, 본 발명은 또한 휘발성 저장 디바이스에서 구현될 수 있다. 예를 들어, 비휘발성 저장 디바이스는 FLASH 또는 EEPROM 기반 저장 디바이스일 수 있다. 저장 디바이스는 또한 제거 가능 또는 비 제거 가능(고정) 디바이스 중 하나일 수 있다. 널리 공지되어 있는 바와 같이, 비 제거 가능 디바이스는 일단 버스에 접속되었으면 버스로부터 이후에 제거되지 않도록 하는데 반해 제거 가능 디바이스는 상기 버스에 용이하게 제거하거나 추가하도록 구성된다.
본 발명에 따른 저장 디바이스로서 사용하는데 충분히 적합한 제거 가능 디바이스의 하나의 예는 메모리 카드이다. 메모리 카드는 다양한 전자 제품과 함께 사용하기 위한 디지털 데이터를 저장하는데 흔히 사용된다. 메모리 카드는 흔히 호스트 시스템으로부터 제거 가능하므로 저장된 디지털 데이터는 휴대 가능하다. 메모리 카드는 상대적으로 작은 폼 팩터(form factor)를 갖고 개인용 컴퓨터, 노트북 컴퓨터, 소형 컴퓨팅 디바이스, 카메라, 휴대 전화, 미디어 재생기/녹음기(예를 들어, MP3 디바이스), 개인용 디지털 보조장치(personal digital assistant: PDA), 네트워크 카드, 네트워크 장치, 셋탑 박스, 및 다른 소형 또는 임베디드(enbedded) 디바이스를 포함하는 다양한 전자 제품과 시스템에 디지털 데이터를 저장하는데 사용될 수 있다.
본원에서 기술되는 저장 디바이스는 오디오, 비디오 또는 영상 파일과 같은 디지털 미디어를 관리하는데 사용되는 보안 디지털(secured digital: SD) 프로토콜과 같은, 임의의 메모리 카드 포맷 또는 프로토콜과 호환 가능할 수 있다. 저장 디바이스는 또한 멀티미디어 카드(MMC) 메모리 카드 포맷, 컴팩트 플래시(compact flash: CF) 메모리 카드 포맷, 플래시 PC(예를 들어, ATA 플래시) 메모리 카드 포맷, 스마트 미디어 메모리 카드 포맷, 또는 임의의 다른 산업 표준 사양과 호환 가능할 수 있다. 이 메모리 카드의 한 공급업자는 캘리포니아, 밀피터스의 SnsDisk Corporation이다. 저장 디바이스는 또한 전기적 소거 가능 및 프로그램 가능 메모리(electrically-erasable and programmable read-only memory: EEPROM), EPROM, MRAM, FRAM 강유전성 자기 메모리를 포함하나 이에 제한되지 않는, 다른 소거 가능 프로그램 가능 메모리 기술에 적용할 수 있다. 저장 디바이스 구성은 제거 가능 메모리의 유형에 좌우되지 않고, 플래시 메모리 또는 다른 유형의 메모리이든, 임의의 유형의 메모리와 함께 구현될 수 있다. 저장 디바이스는 또한 일회 프로그램 가능(one-time programmable: OTP) 메모리칩 및/또는 3차원 메모리 칩 기술과 함께 구현될 수 있다.
도 1은 본 발명에 따른 마스터/슬레이브 시스템(100)의 간소화된 블록도를 도시한다. 예를 들어, 본원에 기술된 특정한 실시예에 따르면, 슬레이브 디바이스는 본원에 기술된 상술한 저장 디바이스 중 임의의 저장 디바이스와 같은, 그러한 이에 국한되지 않은 로컬(local) 저장 디바이스의 형태를 취할 수 있지만, 반면에 마스터 디바이스는 기술된 상술한 호스트 디바이스 중 임의의 저장 디바이스와 같은, 그러나 이에 국한되지 않은 호스트 디바이스의 형태를 취한다. 배경기술에서 기술된 바와 같이, 마스터/슬레이브는 하나의 디바이스 또는 프로세스가 하나 이상의 다른 디바이스에 대해 단방향성으로 제어하는 통신 프로토콜에 대한 모델이다. 종래의 시스템에서, 일단 디바이스 및 프로세스 사이에 마스터/슬레이브 관계가 설정되면, 제어의 방향은 항상 마스터 디바이스에서 슬레이브 디바이스로, 즉 슬레이브 디바이스는 트랜잭션을 개시할 수 없다. 일부 시스템에서, 마스터는 적합한 디바이스의 그룹으로부터 선택되고, 다른 디바이스는 슬레이브 역할로 동작한다. 따라서, 마스터/슬레이브 시스템(100)(이후에 또한 단순하게 시스템(100)으로 불림)은 적어도 마스터 디바이스(102)(이후에 또한 호스트 디바이스(102) 또는 호스트 제어기(102)로 불림), 제 1 슬레이브 디바이스(104)(이후에 또한 저장 디바이스(104)로 불림), 및 제 2 슬레이브 디바이스((106)(이후에 도한 저장 디바이스(106)로 불림)를 포함하고, 이들은 적어도 종래의 마스터/슬레이브 패러다임을 통해 서로 관련된다.
시스템(100)은 또한 호스트 디바이스(102)를 주변 저장 디바이스(104 및 106)와 통신하는데 사용되는 다수의 통신 또는 신호 회선(108)(이후 버스(108)로 불림)을 포함한다. 심지어 단 두 개의 주변 디바이스가 도시되지만, 더 많거나 더 적은 저장 디바이스가 버스(108)에 용이하게 연결될 수 있다. 버스(108)를 구성하는 실제 신호 회선의 수는 또한 광범위하게 변화될 수 있다. 예를 들어, 일부 최신 버스는 상대적으로 작은 수의 신호 회선(예를 들어, 8 내지 16 신호 회선)을 갖는데 반해, 다른 최신 버스는 스스로 서브 버스(예를 들어, 어드레스 버스, 제어 버스, 데이터 버스 등)로 효과적으로 동작하는 회선의 서브세트로 국지적으로 분할될 수 있는 100 이상의 회선을 가질 수 있다.
각각의 저장 디바이스는 전형적으로 대응하는 고유의 그리고 영구적인 디바이스 식별자를 포함한다. 일부 버스 프로토콜에서, 영구적인 디바이스 식별자는 버스 통신에서 디바이스를 식별하는데 사용된다. 다른 프로토콜에서, 호스트 제어기는 임시 식별자 및/또는 관련된 어드레스의 세트를 버스로 연결된 디바이스 각각에 할당할 것이다. 전형적으로, 그와 같은 임시 디바이스 식별자 및/또는 어드레스는 각각의 저장 디바이스(104 또는 106)의 버스(108) 및 호스트 제어기(102)와의 접속 및 초기화 시에, 또는 제거 가능 메모리 카드의 경우에 카드의 관련 카드 판독기에 삽입할 때 할당된다. 버스 프로토콜 및 메모리 관리 프로토콜의 세부사항은 사용되는 특정한 버스 및 저장 디바이스의 특성에 따라 변하지만, 호스트 제어기(102)는 전형적으로 각 저장 디바이스의 각각의 디바이스 식별자(들)를 인지한다.
전형적으로, 버스(108)에 접속되는 특정 디바이스는 호스트(102)로부터 전송되는 통신에 기반하여 특정한 통신 또는 명령에 응답할 예정이라는 것을 인지할 것이고, 여기서 호스트(102)는 전형적으로 통신/명령을 특정한 저장 디바이스로 지향하는데 있어서 디바이스 식별자 및/또는 어드레스를 사용한다. 즉, 일부 프로토콜에서, 각각의 통신은 일반적으로 저장 디바이스에게 자신이 통신의 목적이 되는지를 고지하는 디바이스 식별자를 포함할 것이다. 다른 프로토콜에서, 디바이스 식별자는 각각의 메모리 관련 통신의 일부로 명시적으로 전송되지 않는다. 오히려, 통신 명령은 명령(예를 들어, 판독, 기록 또는 소거 명령)이 어드레싱되는 어드레스를 식별할 수 있다. 일반적으로, 통신에 의해 식별되고 어드레싱되지 않는 디바이스는 통신을 아주 무시할 것이다.
예시된 실시예에서, 통신은 공유된 버스(108)를 통해 적절한 버스 프로토콜에 따라 저장 디바이스(104 및 106)에 전송된다. 버스 프로토콜은 버스를 통해 어떤 정보가 통신되는지를 지정한다. 다시, 적절한 버스 프로토콜은 광범위한 다른 버스 프로토콜이 또한 사용될 수 있지만, 보안 디지털 카드(SD) 프로토콜, 멀티미디어 카드(MMC) 프로토콜 및 범용 직렬 버스(USB) 프로토콜을 포함한다. 또한, 당업자에 의해 인식되는 바와 같이, 현재 저장 디바이스는 광범위한 상이한 아키텍처를 사용하고, 새로운 아키텍처가 계속해서 개발될 것이라는 점이 예상된다. 일반적으로, 현재의 발명은 저장 디바이스가 적절한 프로세싱 전력을 가지는 한, 광범위한 상이한 메모리의 유형과 함께 사용될 수 있다.
도 2는 본 발명의 하나의 실시예에 따라 저장 디바이스(104 및 106)의 각각을 나타내는 저장 디바이스(200)를 더욱 상세하게 도시하는 블록도이다. 다양한 실시예에서, 저장 디바이스(200)는 종래의 또는 레거시(legacy) 저장 디바이스일 수 있다. 상술한 바와 같이, 저장 디바이스(200)는 제거 가능 또는 비 제거 가능 디바이스 중 하나일 수 있다. 예시된 실시예에서, 저장 디바이스(200)는 종래의 제거 가능 FLASH 메모리 카드이고 일반적으로 메모리 제어기(214) 및 대용량 저장 영역(216)을 포함한다. 메모리 제어기(214)는 메모리 관리자(218) 및 프로토콜 파서(parser)(220)를 포함한다.
당업자에게 이해되는 바와 같이, 프로토콜 파서(220)는 버스(108)를 통해 전송되는 통신을 분석하도록 구성된다. 특히, 프로토콜 파서(220)는 호스트(102)로부터 전송되는 통신을 분석하고 디바이스 식별자 또는 통신의 일부로 지정된 어드레스에 기반하여 저장 디바이스(200)가 버스 통신의 지향된 목표인지를 결정하도록 구성된다. 버스 통신이 저장 디바이스(200)로 지향된 메모리 동작인 경우, 통신은 메모리 관리자(218)로 넘어가고 메오리 관리자(218)는 차례로 대용량 저장 영역(216)에 액세스하라는 요청된 동작을 수행한다. 저장 디바이스(200)에 지향되는 다른 지시는 적절한 때 프로토콜 파서(220)거나 메모리 관리자(218)에 의해 응답된다. 다른 디바이스에 지향되는 지시 및 통신은 일반적으로 저장 디바이스(200)에 의해 완전히 무시된다.
저장 디바이스 중 적어도 하나가 제거 가능한 실시예에서, 저장 디바이스 식별자는 바람직하게는 목표 저장 디바이스와 관련되는 영구적 디바이스 식별자이다. 당업자에게 알려진 바와 같이, FLASH 메모리 카드와 같은 많은 유형의 저장 디바이스는 이 목적을 위해 사용될 수 있는 관련된 영구적 디바이스 식별자를 갖는다. 그러나, 영구적 디바이스 식별자를 포함하지 않는 저장 디바이스를 사용하는 실시예에서, 호스트(102)에 의해 할당되는 디바이스 식별자가 사용될 수 있다. 여기서 일부 경우, 단일 물리적 디바이스는 물리적 디바이스 내에 둘 이상의 어드레스 가능 저장 영역(또는 디바이스)을 포함할 수 있음이 주목되어야 한다. 이 경우에, 각각의 저장 영역은 대응하는 디바이스 식별자 및/또는 논리 어드레스의 세트를 가질 수 있다. 부가적으로, 특정한 명령이 버스(108) 상의 모든 저장 디바이스에 어드레싱되는 경우, 명령이 버스 상의 모든 디바이스에 어드레싱되었음을 나타내는 브로드캐스트 식별자, 또는 모든 목표 디바이스 식별자의 목록이 사용될 수 있다.
일반적으로, 호스트(102)로부터 전송되는 명령과 같은 통신이 수행될 버스 프로토콜 동작의 유형을 식별하는 동작 식별자를 포함한다. 식별된 명령은 판독, 기록 및 소거 동작과 같은 메모리 동작; 파티션(partition)을 생성하기 위한 목표 저장 디바이스에 대한 지시와 같은 메모리 관리 명령; 초기화 및 인증 요청; 인터럽트(interupt); 확인응답(acknowledgement); 에러 신호 및 임의의 다른 버스 관련 명령 또는 동작과 같은 메모리 동작일 수 있다.
시스템(100)을 다시 참조하면, 호스트(102)는 저장 디바이스(104 및 106)의 다양한 동작을 제어한다. 예를 들어, 호스트는 저장 디바이스에게 데이터를 기록하고, 데이터를 판독하고 다른 하우스키핑(housekeeping) 동작과 함께 삭제하라고 지시하는 명령을 저장 디바이스에 전송한다. 명령은 호스트(102)로부터 버스(108)를 통해 버스와 접속된 하나 이상의 목표 저장 디바이스로 통신된다. 단지 제공되는 명령(예를 들어, 명령 내의 디바이스 식별자 및/또는 어드레스에 의한)에 의해 목표 저장 디바이스(들)만이 명령을 수용하고 명령에 기반하여 동작을 수행한다. 기술된 실시예에서, 호스트(102)만이 버스(108)를 통해 명령을 전송할 수 있다.
본 발명의 특정한 실시예의 기본적인 예를 설명하기 위해, 소스 저장 디바이스(104)로부터 목적지 저장 디바이스(106)로 데이터를 기록하는 프로세스(300)가 도 3의 흐름도 및 도 1의 시스템을 참고하여 기술된다. 프로세스(300)는 302에서 호스트(102)가 저장 디바이스(106)를 목표로 하여 저장 디바이스(106)에게 버스를 청취하고 버스로부터 디바이스의 메모리로 데이터를 기록하라고 지시하는 LISTEN/WRITE 명령을 버스(108)를 통해 전송하면서 시작한다. 하나의 실시예에서, LISTEN/WRITE 명령은 저장 디바이스(106)에게 특정 시간(T1)에 버스(108)를 청취하기 시작하고 시간(T1) 이후의 버스로부터 디바이스의 메모리로의 데이터를 기록하라고 지시한다. 특히, 시분할 멀티플렉싱(multiplexing) 프로토콜이 버스(108)를 통해 데이터의 전송을 조직하는데 사용되는 실시예에서, 호스트(102)는 저장 디바이스(106)에게 특정 타임 슬롯(time slot)(X1)에서 버스(108)를 청취하기 시작하라고 지시할 수 있다. 또 다른 실시예에서, 슬레이브 디바이스(106)는 즉시 청취하기 시작하고 데이터가 버스(108) 상에서 기록에 이용 가능해질 때까지 대기하라고 지시를 받을 수 있다.
호스트(102)는 또한 304에서 버스(108)를 통해, 저장 디바이스(104)를 목표로 하여 저장 디바이스(104)에게 디바이스의 메모리로부터 데이터를 판독하고 버스(108) 상에 데이터를 출력하라고 지시하는 READ 명령을 전송한다. 하나의 실시예에서, READ 명령은 어던 데이터도 분실하지 않도록 저장 디바이스(104)에게 특정 시간, 바람직하게는 T1에 또는 T1 이후에 버스(108) 상에 데이터를 판독하고 출력하기 시작한다. 다시, 시분할 멀티플렉싱 프로토콜이 버스(108)를 통해 데이터의 전송을 조직하는데 사용하는데 사용되는 실시예에서, 호스트(102)는 저장 디바이스(104)에게 특정 타임 슬롯(X1)에서 데이터를 버스(108) 상으로 판독하고 출력하라고 지시할 수 있다. 다른 실시예에서, 슬레이브 디바이스(104)는 버스 상으로 데이터를 즉시 판독하고 출력하라고 지시받을 수 있다.
이 방법으로, 저장 디바이스(106)는 버스(108)로부터 저장 디바이스(104)로부터 직접 출력되는 데이터를 인출하여 상기 데이터를 메모리 내에 기록한다. 특히, 종래의 장치와 다르게, 저장 디바이스(104)로부터 출력되는 데이터는 버스(108)로부터 인출되어 저장 디바이스(106) 내에 기록되기 전에 호스트(102)에 또는 임의의 다른 디바이스에 우선 임시로 캐싱(cashing)되지 않는다. 그러므로, 호스트(102)가 저장 디바이스(104) 및 저장 디바이스(106) 사이에서 데이터의 트랜잭션을 개시하는 동안, 호스트(102)는 데이터를 저장 및/또는 전송하는데 포함되지 않는다.
그러므로, 다양한 마스터/슬레이브 버스 프로토콜(SD 프로토콜과 같은)은 호스트만이 트랜잭션을 개시하고 명령을 전송하도록 지시하지만, 본 발명은 이러한 종래의 패러다임을 피한다. 즉, 본 발명은, 각각의 저장 디바이스가 버스(108)를 통해 전송하거나 수신하는 데이터가 호스트(102)로부터 전송되고 있거나 수신되고 있다고 추정될 때 레거시 디바이스 및 마스터/슬레이브 프로토콜을 사용할 수 있는 동안 저장 디바이스(104 및 106) 사이에서 데이터의 직접 전송이 가능하다. 이 방법에서, 버스(108)를 통해 전송되는 데이터의 총량은 대략 반으로 줄어 수 있음이 또한 인식되어야만 한다; 즉, 데이터가 우선 캐싱되지 않고, 저장 디바이스로부터 다른 저장 디바이스로 직접 기록된 후에, 캐싱 디바이스에 의해 재전송될 수 있기 때문에, 소정의 트랜잭션 동안 버스(108)를 통해 전송되는 데이터의 양은 대략 반으로 줄어 수 있고, 총 필요한 대역폭은 비슷하게 감소할 수 있다. 결과적으로, 저장 디바이스 자체 사이에서 데이터 전송율은 감소하고, 더욱이 호스트(102)의 프로세서 요건이 감소할 것이다.
일 실시예에서, 저장 디바이스(104)는 호스트(102)가 306에서 디바이스(104)를 목표로 하여 저장 디바이스(104)에게 버스(108) 상의로의 데이터를 판독하고 출력하는 것을 중단하라고 지시하는 STOP_READING 명령을 발행하는 시간까지 버스(108) 상으로의 데이터를 계속해서 판독하고 출력한다. 유사하게, 저장 디바이스(106)는 호스트(102)가 디바이스(106)를 목표로 하여 저장 디바이스(106)에게 버스로부터 데이터를 인출하는 것을 중단하라고 지시하는 STOP_LISTENING 명령을 발생하는 시간까지 버스(108)로부터 데이터를 계속해서 인출한다.
다른 대안적인 실시예에서, READ 명령은 또한 저장 디바이스(104)에게 지속기간(D1)이 경과되는 시점까지 버스(108) 상으로의 데이터를 계속해서 출력하라고 지시한다. 유사하게, LISTEN/WRITE 명령은 또한 저장 디바이스(106)에게 지속기간(D2)이 경과할 때까지 버스(108)로부터 데이터를 계속해서 인출하라고 지시할 수 있다. 바람직한 실시예에서, D2는 어떠한 데이터도 분실하지 않도록 적어도 D1 만큼 길다. 예를 들어, 호스트(102)가 전송될 데이터의 양(예를 들어, 비트의 수) 및 버스(108)의 동작 주파수를 인지하는 경우, 호스트는 데이터를 전송하고 이어서 저장 디바이스(104)에게 이 지속기간 동안 데이터를 출력하라고 지시하고 저장 디바이스(106)에게 이 지속기간 동안 데이터를 계속해서 청취하고 기록하라고 지시하는데 필요한 시간의 지속기간을 계산할 수 있다.
다른 대안적인 실시예에서, LISTEN/WRITE 명령은 저장 디바이스(106)에게 연속적일 수 있거나 연속적이지 않을 수 있는 특정한 타임 슬롯(Xn) 동안 버스(108)를 청취하라고 지시한다. 이후에 타임 슬롯(Xn) 동안의 버스(108) 상의 데이터는 디바이스의 메모리 내로 기록된다. 이 대안적인 실시예에서, READ 명령은 유사하게 저장 디바이스(104)에게 특정한 시간 슬롯(Xn) 동안 버스(108) 상의 데이터를 판독하고 출력하는 것을 시작하라고 지시한다. 다시, 타임 슬롯은 연속적이지 않을 수 있음이 주목되어야 한다. 특히, 호스트(102)는 저장 디바이스(104)에게 타임 슬롯(X1, X2, X3, 및 X4)에서의 버스(108) 상의 데이터(A)를 출력하라고 지시할 수 있고, 여기서 타임 슬롯(X1, X2, X3, 및 X4)은 일부 실시예에서 연속적이지 않을 수 있다. 그리고나서 호스트(102)는 저장 디바이스(106)에게 타임 슬롯(X1, X2, X3 및 X4) 동안 버스(108)로부터 데이터를 청취하고 인출하라고 지시할 것이다.
상기 기술은 설명을 위해 특정한 예를 사용하여 본 발명의 철저한 이해를 제공하였다. 그러나, 본 발명을 실행하기 위해 특정 세부사항이 요구되지 않음이 당업자에게 명백할 것이다. 그러므로, 본 발명의 특정한 실시예의 상술한 설명은 설명 및 실례를 목적으로 제공된다. 이들은 철저하다거나 본 발명을 개시된 정확한 형태로 제한하려고 의도되지 않는다. 상기 내용의 관점으로 많은 수정 및 변형이 가능함이 당업자 누구에게나 명백할 것이다.
예를 들어, 프로세스(300)가 단일 저장 디바이스(104)로부터 다른 단일 저장 디바이스(106)로 데이터를 전송하는 것을 참조하여 기술되었지만, 호스트(102)는 복수의 저장 디바이스에게 특정 시간에 버스를 청취하고 관련 데이터를 메모리로 기록하라고 지시하는 멀티캐스트 또는 브로드캐스트 명령을 발행할 수 있다. 이 방법에서, 다수의 데이터의 카피가 복수의 디바이스 상에 동시에 저장될 수 있다.
또한, 상기 설명은 하나의 메모리 디바이스로부터 데이터를 판독하고 데이터를 저장되어야 할 다른 메모리 디바이스로 전송하는 상황으로 기술되었지만, 본 발명의 양상이 특히 저장 디바이스로 구성되는 것과는 다른 디바이스로 응용 가능하다는 것이 또한 인식되어야만 한다. 예를 들어, 본 발명의 양상은 통신 및 데이터를 외부 네트워크로 그리고 외부 네트워크로부터 전송하는데 유용할 수 있다. 특히, 버스와 연결되는 제 1 슬레이브 디바이스는 WiMax, Wi-Fi, 또는 블루투스(Bluetooth)와 같은, 외부 네트워크 또는 프로토콜로의 네트워크 브릿지(bridge)로 동작하는 네트워크 카드일 수 있고, 제 2 슬레이브 디바이스는 버스와 연결되는 저장 디바이스일 수 있다. 예를 들어, 마스터 디바이스는 제 1 슬레이브 디바이스에게 자신이 버스를 통해 외부 네트워크로부터 수신하거나 수신했던 데이터를 제 2 슬레이브 디바이스로 직접 넘겨주라고 지시하거나, 제 2 슬레이브 디바이스에 데이터를 외부 네트워크를 통해 통신되는 제 1 슬레이브 디바이스로 전송하라고 지시할 수 있다. 그와 같은 실시예에서, 네트워크 카드는 SDIO 프로토콜을 사용하는, SD 버스 상의 카드일 수 있다.
또한, 상기 설명이 특정한 버스/디바이스 구성의 측면에서 기술되었지만, 대안적인 실시예에서, 저장 디바이스는 다른 적절한 구성 및 배열로 접속될 수 있다. 예를 들어, 도 4에 예시된 실시예에서, 슬레이브 저장 디바이스(404, 406, 및 508)를 포함하는 각각의 디바이스는 데이지 체인 배열로 직렬로 접속된다. 그러한 배열은 무엇보다도 다양한 고속 고객 전자 애플리케이션에서 바람직할 수 있다. 단 세 개의 저장 디바이스인 도 4에 예시된 실시예에 도시되지만, 더 많거나 더 적은 디바이스가 데이지 체인 배열로 배열될 수 있다. 일반적으로, 2 내지 5개의 디바이스가 그와 같은 배열로 전형적으로 접속된다.
데이지 체인 배열에 의해, 하나의 디바이스의 핀은 인접한 디바이스의 핀에 전기적으로 접속된다. 상기 접속은 하드 솔더링(hard-soldering)에 의한, 또는 인쇄 회로 레이아웃(printed circuit layout)에 의한 또는 소켓(socket) 핀의 접속에 의한 것일 수 있다. 예를 들어, 저장 디바이스(404)로부터의 제 2 핀의 세트는 통신 회선(432)의 세트를 통해 저장 디바이스(406)로부터의 제 1 핀의 세트에 접속될 수 있고, 저장 디바이스(406)의 제 2 핀의 세트는 통신 회선(434)의 세트를 통해 저장 디바이스(408)의 제 1 핀의 세트로 접속될 수 있고, 기타 등등도 그러하다. 이 방법에서, 데이터 체인 배열에서 제 1 및 최종 디바이스 외의 모든 저장 디바이스는 바로 인접한 두 개의 이웃 디바이스에 접속된다. 그러나, 다른 저장 디바이스와 달리, 저장 디바이스(404)의 제 1 핀의 세트는 통신 회선(430)을 통해 마스터 디바이스 역할을 하는 호스트(402)와 접속된다. 하나의 실시예에서, 모든 저장 디바이스는 클럭(clock)을 공유하지만, 각각의 디바이스가 자기 자신의 클럭을 발생시킬 수 있을 때 이는 필수적이니 않다.
예시된 실시예에서, 저장 디바이스(404, 406, 및 408)를 서로 그리고 호스트(402)에 상호 접속시키는 공통 버스는 존재하지 않는다. 오히려, 이 구성에서, 각각의 디바이스는 호스트(402)로부터 자신에게 어드레싱되지 않은 명령을 체인 내에서 다운스트림(downstream)하여 다음 디바이스로 넘겨준다. 즉, 체인 내의 제 1 디바이스(예를 들어, 저장 디바이스(404)) 외의 각각의 저장 디바이스(예를 들어, 저장 디바이스(406 및 408))는 체인 내의 임의의 업스트림(upstream) 디바이스에 의해 호스트(402)에 연결된다. 즉, 호스트(402)로부터 특정한 저장 디바이스로 통과된 통신 및 정보는 체인 내의 모든 다른 업링크 디바이스를 우선 순차적으로 통과될 수 있다. 실제로, 통신 회선(430, 432, 및 434)을 따른 저장 디바이스(404, 406, 및 408)는 호스트로부터 저장 디바이스로 그리고 저장 디바이스로 호스트로 통신 및 정보를 통과시키는데 이바지하는 가상 통신 버스를 형성한다.
저장 디바이스(404, 406, 및 408)가 데이지 체인 구성으로 배열되는 하나의 예시적인 실시예에서, 호스트(402)는 LISTEN/WRITE 명령을 데이지 체인형 디바이스의 스트링 아래로 전송할 것이다. 예를 들어, 호스트(402)는 저장 디바이스(406)를 목표로 LISTEN/WRITE 명령을 통신 회선(430)을 통해 전송하고, 여기서 상기 LISTEN/WRITE 명령은 저장 디바이스(404)에 의해 우선 수신된다. 그리고나서 저장 디바이스(404)는 통신 회선(432)을 통해 상기 LISTEN/WRITE 명령을 넘겨주고, 그리고나서 여기서 명령은 목표 저장 디바이스(406)에서 수신된다. LISTEN/WRITE 명령은 저장 디바이스(406)에게 특정 시간에 통신 라인(434)을 청취하고 상기 특정 시간에 시작하는 통신 라인(434)으로부터 데이터를 기록하라고 지시한다. 호스트(402)는 또한 저장 디바이스(408)를 목표로 READ 명령을 통신 회선(430)을 통해 전송할 수 있다. READ 명령은 목표 저장 디바이스(408)에 도달하기 전에 저장 디바이스(404 및 406)에 의해 그리고 통신 회선(432 및 434)을 따라 넘어갈 수 있고 저장 디바이스(408)에게 특정 시간에 메모리부터 데이터를 판독하고 상기 데이터를 통신 회선(434) 상으로 출력하라고 지시할 수 있다. 이 방법에서, 저장 디바이스(406)는, 데이터가 호스트(402)로 전송되도록 우선 전송되도록 하지 않고도, 직접 저장 디바이스(408)로부터 판독되었고 저장 디바이스(408)에 의해 통신 회선(434) 상에 출력하였던 LISTEN/WRITE 명령에 의해 지시되는 특정 시간에서의 통신 회선(434)을 청취하고 자신이 통신 회선(434)으로부터 인출하는 상기 데이터를 기록할 수 있다.
다른 실시예에서, 저장 디바이스(404, 406, 및 408)는, 개별 공통 버스가 저장 디바이스를 서로 그리고 호스트(402)에 상호 접속시키는 동안 도 4에서의 데이지 체인 구조로 배열될 수 있다. 이 방법에서, 종래의 배열과 달리, 데이터 체인형 디바이스 사이의 신호 또는 통신 경로는, 버스와 별개이며 구별되므로, 다시 종래의 방법과 달리, 다른 방법에서라면 저장 디바이스 및 호스트(402) 사이의 정보 및/또는 데이터를 넘겨 주는데 사용될 수 있는 버스 자원을 소비하지 않는다.
본 발명의 원리와 본 발명의 실제 응용예를 최적으로 설명하기 위해 실시예에 선택되었고 기술되었고, 이에 의해 당업자는 본 발명 및 다양한 실시예를 본 발명 및 고려된 특정 사용예에 적합한 바와 같은 다양한 수정과 함께 최적으로 사용하는 것이 가능하다. 본 발명의 범위는 다음의 청구항 및 이의 등가물에 의해 규정되도록 의도된다.

Claims (32)

  1. 서로 연결되고 하나 이상의 통신 회선을 구비한 마스터 디바이스(master device)를 갖는 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스 사이에서 데이터를 직접 전송하는 방법에 있어서,
    상기 마스터 디바이스에 의해 상기 제 1 슬레이브 디바이스에게 상기 하나 이상의 통신 회선을 청취하라고 지시하는 단계와,
    상기 제 2 슬레이브 디바이스에 의해 데이터를 상기 하나 이상의 통신 회선으로 전송하는 단계로서, 상기 제 2 슬레이브 디바이스에 의해 상기 하나 이상의 통신 회선으로 전송되는 데이터는 상기 마스터 디바이스에 의한 추가 간섭(intervention) 없이 상기 제 1 슬레이브 디바이스에 의해 수신되는, 상기 데이터 전송 단계를
    포함하는, 데이터의 직접 전송 방법.
  2. 제 1항에 있어서, 상기 마스터 디바이스는 호스트 디바이스이고, 상기 제 1 슬레이브 디바이스(slave device)와 상기 제 2 슬레이브 디바이스는 로컬 저장 디바이스인, 데이터의 직접 전송 방법.
  3. 제 1항에 있어서, 상기 마스터 디바이스, 상기 제 1 슬레이브 디바이스 및 상기 제 2 슬레이브 디바이스는 보안 디지털(Secured Digital: SD) 프로토콜에 따라 통신하는, 데이터의 직접 전송 방법.
  4. 복수의 통신 회선을 통해 데이터를 전송하는 방법에 있어서,
    제 1 명령을 상기 통신 회선과 연결된 마스터 디바이스로부터 상기 통신 회선과 연결된 제 1 목적지 슬레이브 디바이스로 전송하는 단계로서, 상기 제 1 명령은 상기 제 1 목적지 슬레이브 디바이스에게 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하는, 제 1 명령을 전송하는 단계와,
    제 2 명령을 상기 마스터 디바이스로부터 상기 통신 회선과 연결된 제 2 소스 슬레이브 디바이스로 전송하는 단계로서, 상기 제 2 명령은 상기 제 2 소스 슬레이브 디바이스에게 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 제 1 데이터를 판독하고 상기 통신 회선으로 출력하라고 지시하는, 제 2 명령을 전송하는 단계를
    포함하고,
    상기 제 1 시간에 시작하는 상기 제 2 소스 슬레이브 디바이스로부터 출력되는 상기 제 1 데이터는 상기 제 1 데이터를 상기 마스터 디바이스 또는 임의의 다른 저장 디바이스로 먼저 전송하라고 요청하지 않고도 상기 제 1 시간에 시작하는 상기 제 1 목적지 슬레이브 디바이스에 의해 저장되는, 데이터 전송 방법.
  5. 제 3항에 있어서, 상기 마스터 디바이스는 호스트 디바이스이고, 상기 제 1 슬레이브 디바이스와 상기 제 2 슬레이브 디바이스는 로컬 저장 디바이스인, 데이터 전송 방법.
  6. 제 3항에 있어서, 상기 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스 중 적어도 하나는 다양한 통신 회선으로부터 신속하게 제거하고 다양한 통신 회선에 신속하게 추가하도록 구성된 제거 가능한 디바이스인, 데이터 전송 방법.
  7. 제 3항에 있어서, 상기 통신 회선은 공유 버스를 형성하는, 데이터 전송 방법.
  8. 제 3항에 있어서, 상기 제 1 슬레이브 디바이스와 상기 제 2 슬레이브 디바이스는 데이지 체인 구성으로 배열된 복수의 어드레스 가능 디바이스 중에서 두 개의 어드레스 가능 디바이스로서, 상기 어드레스 가능 디바이스 각각은 상기 통신 회선 중 하나 이상의 회선을 통해 적어도 하나의 인접한 디바이스와 접속되고, 각각의 디바이스는 두 개 이하의 바로 인접한 디바이스와 접속되고, 상기 데이지 체인에서 최종 디바이스가 아닌 각각의 디바이스는 인접한 디바이스를 서로 접속시키는 통신 회선을 통해 자신에게 지향되지 않은, 명령을 포함하는 통신을 상기 데이지 체인의 다음 디바이스로 통과시키는, 데이터 전송 방법.
  9. 제 3항에 있어서, 상기 마스터 디바이스, 상기 제 1 슬레이브 디바이스 및 상기 제 2 슬레이브 디바이스는 보안 디지털(SD) 프로토콜에 따라 통신하는, 데이터 전송 방법.
  10. 제 3항에 있어서, 상기 제 1 슬레이브 디바이스는 상기 제 1 데이터가 상기 제 2 슬레이브 디바이스로부터 직접 인입하고 상기 마스터 디바이스로부터 직접 인입하지 않음을 인지하지 않는, 데이터 전송 방법.
  11. 제 3항에 있어서, 상기 제 1 명령은 상기 제 1 슬레이브 디바이스에게 상기 제 1 시간에 시작하는 제 1 사전 규정된 지속기간 동안 상기 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하는, 데이터 전송 방법.
  12. 제 3항에 있어서, 상기 제 2 명령은 상기 제 2 슬레이브 디바이스에게 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 제 2 사전 규정된 지속 기간 동안 데이터를 상기 통신 회선으로 출력하라고 지시하는, 데이터 전송 방법.
  13. 제 3항에 있어서, 상기 제 2 슬레이브 디바이스에게 제 2 시간에 데이터를 상기 통신 회선으로 출력하는 것을 중지하라고 지시하는 제 3 명령을 상기 마스터 디바이스로부터 상기 제 2 슬레이브 디바이스로 전송하는 단계를 더 포함하는, 데이터 전송 방법.
  14. 제 13항에 있어서, 상기 제 1 슬레이브 디바이스에게 상기 제 2 시간에 또는 상기 제 2 시간 이후에 상기 통신 회선을 청취하는 것을 중지하라고 지시하는 제 4 명령을 상기 마스터 디바이스로부터 상기 제 1 슬레이브 디바이스로 전송하는 단계를 더 포함하는, 데이터 전송 방법.
  15. 제 3항에 있어서, 상기 제 1 명령은 상기 제 1 슬레이브 디바이스를 실질적으로 동시에 포함하는 다수의 슬레이브 디바이스로 멀티캐스팅 또는 브로드캐스팅되고, 상기 제 1 명령은 상기 다수의 슬레이브 디바이스 중 적어도 복수 개에게 상기 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하여 상기 제 1 데이터가 상기 다수의 슬레이브 디바이스 중 복수 개에 의해 실질적으로 동시에 저장될 수 있는, 데이터 전송 방법.
  16. 복수의 통신 회선을 통해 통신하는 방법에 있어서,
    제 1 명령을 상기 통신 회선과 연결된 마스터 디바이스로부터 상기 통신 회선과 연결된 제 1 슬레이브 디바이스로 전송하는 단계로서, 상기 제 1 통신 명령은 상기 제 1 슬레이브 디바이스에게 제 1 시간에 시작하는 상기 통신 회선을 청취하라고 지시하는, 제 1 명령을 전송하는 단계와,
    제 2 명령을 상기 마스터 디바이스로부터 상기 통신 회선과 연결된 제 2 슬레이브 디바이스로 전송하는 단계로서, 상기 제 2 명령은 상기 제 2 슬레이브 디바이스에게 제 3 통신을 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 통신 회선으로 출력하라고 지시하는, 제 2 명령을 전송하는 단계를
    포함하고,
    상기 제 2 슬레이브 디바이스로부터 출력되는 상기 제 3 통신은 상기 제 3 통신을 상기 마스터 디바이스 또는 임의의 다른 디바이스로 우선 전송하라고 요청하지 않고도 실질적으로 상기 제 1 시간에 시작하는 상기 제 1 슬레이브 디바이스에 의해 판독되는, 통신 방법.
  17. 제 16항에 있어서, 상기 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스 중 적어도 하나는 네트워크 디바이스인, 통신 방법.
  18. 제 17항에 있어서, 상기 네트워크 디바이스는 상기 버스와 원격 네트워크 사이의 네트워크 브릿지 역할을 하는, 통신 방법.
  19. 제 18항에 있어서, 상기 제 1 슬레이브 디바이스는 네트워크 카드이고, 상기 방법은 상기 제 3 통신에 응답하여 제 4 통신을 상기 원격 네트워크 상으로 출력하는 단계를 더 포함하는, 통신 방법.
  20. 제 18항에 있어서, 상기 제 2 슬레이브 디바이스는 네트워크 카드이고 상기 제 3 통신은 상기 제 2 슬레이브 디바이스에 의해 상기 원격 네트워크로부터 수신되는 데이터를 포함하는, 통신 방법.
  21. 시스템에 있어서,
    데이터를 저장하도록 구성되는 제 1 어드레스 가능 목적지 슬레이브 디바이스와,
    데이터를 저장하도록 구성되고 내부에 저장된 제 1 데이터를 포함하는 제 2 어드레스 가능 소스 슬레이브 디바이스와,
    상기 제 1 및 제 2 슬레이브 디바이스를 관리하도록 배열된 마스터 디바이스와,
    상기 마스터 디바이스와 상기 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스 중 적어도 각각을 연결하는 복수의 통신 회선을
    포함하고,
    상기 마스터 카드는 상기 제 1 슬레이브 디바이스에게 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하는 제 1 명령을 상기 제 1 슬레이브 디바이스에 전송하고, 상기 제 2 슬레이브 디바이스에게 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 상기 제 1 데이터를 판독하고 상기 통신 회선으로 출력하라고 지시하는 제 2 명령을 상기 제 2 슬레이브 디바이스에 전송하도록 추가 배열되어, 상기 제 1 데이터를 상기 마스터 디바이스 또는 임의의 다른 저장 디바이스로 우선 전송하라고 요청하지 않고도 상기 제 1 데이터가 상기 제 2 소스 슬레이브 디바이스로부터 상기 제 1 목적지 슬레이브 디바이스로 전송되는, 시스템.
  22. 제 21항에 있어서, 상기 마스터 카드는 호스트 디바이스이고 상기 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스는 로컬 저장 디바이스인, 시스템.
  23. 제 21항에 있어서, 상기 제 1 슬레이브 디바이스와 제 2 슬레이브 디바이스 중 적어도 하나는 다양한 통신 회선으로부터 신속하게 제거하고 다양한 통신 회선에 신속하게 추가하도록 구성된 제거 가능한 디바이스인, 시스템.
  24. 제 21항에 있어서, 상기 통신 회선은 공유 버스를 형성하는, 시스템.
  25. 제 21항에 있어서, 상기 제 1 슬레이브 디바이스와 상기 제 2 슬레이브 디바이스는 데이지 체인 구성으로 배열된 복수의 어드레스 가능 디바이스 중에서 두 개의 어드레스 가능한 디바이스로서, 상기 어드레스 가능 디바이스 각각은 상기 통신 회선 중 하나 이상의 회선을 통해 적어도 하나의 인접한 디바이스와 접속되고, 각각의 디바이스는 두 개 이하의 바로 인접한 디바이스와 접속되며, 상기 데이지 체인에서 최종 디바이스가 아닌 각각의 디바이스는 인접한 디바이스를 서로 접속시키는 통신 회선을 통해 자신에게 지향되지 않은, 명령을 포함하는 통신을 상기 데이지 체인의 다음 디바이스로 통과시키는, 시스템.
  26. 제 21항에 있어서, 상기 마스터 디바이스, 제 1 슬레이브 디바이스 및 제 2 슬레이브 디바이스는 보안 디지털(SD) 프로토콜에 따라 통신하는, 시스템.
  27. 제 21항에 있어서, 상기 제 1 슬레이브 디바이스는 상기 제 1 데이터가 상기 제 2 슬레이브 디바이스로부터 직접 인입하고 상기 마스터 디바이스로부터 직접 인입하지 않음을 인지하지 않는, 시스템.
  28. 제 21항에 있어서, 상기 제 1 명령은 상기 제 1 슬레이브 디바이스에게 상기 제 1 시간에 시작하는 제 1 사전 규정된 지속기간 동안 상기 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하는, 시스템.
  29. 제 21항에 있어서, 상기 제 2 명령은 상기 제 2 슬레이브 디바이스에게 상기 제 1 시간에 또는 상기 제 1 시간 이후에 시작하는 제 2 사전 규정된 지속 기간 동안 데이터를 상기 통신 회선으로 출력하라고 지시하는, 시스템.
  30. 제 21항에 있어서, 상기 마스터 디바이스는 상기 제 2 슬레이브 디바이스에게 제 2 시간에 데이터를 상기 통신 회선으로 출력하는 것을 중지하라고 지시하는 제 3 명령을 상기 제 2 슬레이브 디바이스로 전송하도록 추가 배열되는, 시스템.
  31. 제 30항에 있어서, 상기 마스터 디바이스는 상기 제 1 슬레이브 디바이스에게 상기 제 2 시간에 또는 상기 제 2 시간 이후에 상기 통신 회선을 청취하는 것을 중지하라고 지시하는 제 4 명령을 상기 제 1 슬레이브 디바이스로 전송하도록 추가 배열되는, 시스템.
  32. 제 21항에 있어서, 상기 제 1 명령은 상기 제 1 슬레이브 디바이스를 실질적으로 동시에 포함하는 다수의 슬레이브 디바이스로 멀티캐스팅 또는 브로드캐스팅되고, 상기 제 1 명령은 상기 다수의 슬레이브 디바이스 중 적어도 복수 개에게 상기 제 1 시간에 시작하는 통신 회선으로부터 데이터를 청취하고 기록하라고 지시하여 상기 제 1 데이터가 상기 다수의 슬레이브 디바이스 중 복수 개에 의해 실질적으로 동시에 저장될 수 있는, 시스템.
KR1020107024384A 2008-04-11 2009-04-01 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법 KR20110010707A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/101,821 US7809873B2 (en) 2008-04-11 2008-04-11 Direct data transfer between slave devices
US12/101,821 2008-04-11

Publications (1)

Publication Number Publication Date
KR20110010707A true KR20110010707A (ko) 2011-02-07

Family

ID=40792909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107024384A KR20110010707A (ko) 2008-04-11 2009-04-01 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법

Country Status (7)

Country Link
US (2) US7809873B2 (ko)
EP (1) EP2263155B1 (ko)
JP (1) JP4843747B2 (ko)
KR (1) KR20110010707A (ko)
CN (1) CN102057363B (ko)
TW (1) TWI482022B (ko)
WO (1) WO2009125268A1 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0028353D0 (en) * 2000-11-21 2001-01-03 Aspex Technology Ltd Improvements relating to digital data communications
US8127147B2 (en) * 2005-05-10 2012-02-28 Seagate Technology Llc Method and apparatus for securing data storage while insuring control by logical roles
TWI339797B (en) * 2007-06-23 2011-04-01 Princeton Technology Corp Data storage system
US8713697B2 (en) 2008-07-09 2014-04-29 Lennox Manufacturing, Inc. Apparatus and method for storing event information for an HVAC system
US8527096B2 (en) 2008-10-24 2013-09-03 Lennox Industries Inc. Programmable controller and a user interface for same
US9632490B2 (en) 2008-10-27 2017-04-25 Lennox Industries Inc. System and method for zoning a distributed architecture heating, ventilation and air conditioning network
US8694164B2 (en) 2008-10-27 2014-04-08 Lennox Industries, Inc. Interactive user guidance interface for a heating, ventilation and air conditioning system
US8543243B2 (en) 2008-10-27 2013-09-24 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8463443B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US8994539B2 (en) 2008-10-27 2015-03-31 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8874815B2 (en) 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US8615326B2 (en) 2008-10-27 2013-12-24 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8600558B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8655491B2 (en) 2008-10-27 2014-02-18 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8774210B2 (en) 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8600559B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. Method of controlling equipment in a heating, ventilation and air conditioning network
US8802981B2 (en) 2008-10-27 2014-08-12 Lennox Industries Inc. Flush wall mount thermostat and in-set mounting plate for a heating, ventilation and air conditioning system
US8560125B2 (en) 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452906B2 (en) 2008-10-27 2013-05-28 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452456B2 (en) 2008-10-27 2013-05-28 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8548630B2 (en) 2008-10-27 2013-10-01 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US9651925B2 (en) 2008-10-27 2017-05-16 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8788100B2 (en) 2008-10-27 2014-07-22 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8855825B2 (en) 2008-10-27 2014-10-07 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8661165B2 (en) * 2008-10-27 2014-02-25 Lennox Industries, Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8295981B2 (en) 2008-10-27 2012-10-23 Lennox Industries Inc. Device commissioning in a heating, ventilation and air conditioning network
US8442693B2 (en) 2008-10-27 2013-05-14 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8655490B2 (en) 2008-10-27 2014-02-18 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8725298B2 (en) 2008-10-27 2014-05-13 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and conditioning network
US8463442B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8798796B2 (en) 2008-10-27 2014-08-05 Lennox Industries Inc. General control techniques in a heating, ventilation and air conditioning network
US8564400B2 (en) 2008-10-27 2013-10-22 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8433446B2 (en) 2008-10-27 2013-04-30 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8437877B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US9325517B2 (en) 2008-10-27 2016-04-26 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8892797B2 (en) 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8744629B2 (en) 2008-10-27 2014-06-03 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8977794B2 (en) 2008-10-27 2015-03-10 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8437878B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US9432208B2 (en) 2008-10-27 2016-08-30 Lennox Industries Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8762666B2 (en) 2008-10-27 2014-06-24 Lennox Industries, Inc. Backup and restoration of operation control data in a heating, ventilation and air conditioning network
US9678486B2 (en) 2008-10-27 2017-06-13 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8156274B2 (en) * 2009-02-02 2012-04-10 Standard Microsystems Corporation Direct slave-to-slave data transfer on a master-slave bus
CN101930788A (zh) * 2009-06-24 2010-12-29 鸿富锦精密工业(深圳)有限公司 移动存储设备及具有移动存储设备的存储装置
TWI405086B (zh) * 2009-12-31 2013-08-11 具資訊安全管控之通用匯流排連接裝置
US20120051359A1 (en) * 2010-08-30 2012-03-01 O'brien John Apparatus and method to manage multicast data transfers in a multiple storage element system that contains data storage
JP5805546B2 (ja) * 2012-01-13 2015-11-04 ルネサスエレクトロニクス株式会社 半導体装置
TWI456398B (zh) * 2012-07-03 2014-10-11 Acer Inc 支援雙主控裝置的資料路由系統
US9170750B2 (en) * 2013-04-22 2015-10-27 Hitachi, Ltd. Storage apparatus and data copy control method
US9892077B2 (en) * 2013-10-07 2018-02-13 Qualcomm Incorporated Camera control interface slave device to slave device communication
KR102238650B1 (ko) 2014-04-30 2021-04-09 삼성전자주식회사 저장 장치, 상기 저장 장치를 포함하는 컴퓨팅 시스템 및 상기 저장 장치의 동작 방법
US9405468B2 (en) 2014-05-13 2016-08-02 Globalfoundries Inc. Stacked memory device control
US9389972B2 (en) 2014-05-13 2016-07-12 International Business Machines Corporation Data retrieval from stacked computer memory
WO2015199933A1 (en) * 2014-06-28 2015-12-30 Intel Corporation Sensor bus interface for electronic devices
US9830280B2 (en) * 2015-06-22 2017-11-28 Qualcomm Incorporated Multiple access single SDIO interface with multiple SDIO units
US10229086B2 (en) * 2015-12-26 2019-03-12 Intel Corporation Technologies for automatic timing calibration in an inter-integrated circuit data bus
US10346324B2 (en) * 2017-02-13 2019-07-09 Microchip Technology Incorporated Devices and methods for autonomous hardware management of circular buffers
WO2020068094A1 (en) * 2018-09-28 2020-04-02 Hewlett-Packard Development Company, L.P. Regeneration and propagation of a signal between communication units
US10936234B2 (en) * 2019-05-22 2021-03-02 Macronix International Co., Ltd. Data transfer between memory devices on shared bus
CN117891771B (zh) * 2024-03-14 2024-05-28 艾德克斯电子(南京)有限公司 一种多模组数据交互设备

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740916A (en) * 1985-12-19 1988-04-26 International Business Machines Corporation Reconfigurable contiguous address space memory system including serially connected variable capacity memory modules and a split address bus
JPH03177953A (ja) * 1989-12-07 1991-08-01 Yokogawa Medical Syst Ltd データ転送方式
EP0562251A2 (en) * 1992-03-24 1993-09-29 Universities Research Association, Inc. Parallel data transfer network controlled by a dynamically reconfigurable serial network
US5467295A (en) * 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
US5522050A (en) 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5991835A (en) * 1994-11-22 1999-11-23 Teac Corporation Peripheral data storage device in which time interval used for data transfer from relatively fast buffer memory to relatively slower main memory is selected in view of average of time intervals during which data blocks were recently received from host
US5867733A (en) 1996-06-04 1999-02-02 Micron Electronics, Inc. Mass data storage controller permitting data to be directly transferred between storage devices without transferring data to main memory and without transferring data over input-output bus
US6128711A (en) * 1996-11-12 2000-10-03 Compaq Computer Corporation Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
US5761462A (en) * 1996-12-13 1998-06-02 International Business Machines Corporation Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data-processing system
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6408369B1 (en) * 1998-03-12 2002-06-18 Emc Corporation Internal copy for a storage controller
AU7039398A (en) 1998-03-20 1999-10-18 Raymond Horn Addressing scheme for doubling the transmission capacity of a master-controlled slave-to-slave communication in any kind of bus system
US6640269B1 (en) * 1998-06-19 2003-10-28 Cisco Technology, Inc. Method and apparatus for assisting communication of information between two processes
US6034882A (en) * 1998-11-16 2000-03-07 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
US6425032B1 (en) 1999-04-15 2002-07-23 Lucent Technologies Inc. Bus controller handling a dynamically changing mix of multiple nonpre-emptable periodic and aperiodic devices
US6839393B1 (en) * 1999-07-14 2005-01-04 Rambus Inc. Apparatus and method for controlling a master/slave system via master device synchronization
EP1087293A3 (en) * 1999-09-24 2006-02-01 Hitachi, Ltd. A computer system and a program install method thereof
US20010049726A1 (en) * 2000-06-02 2001-12-06 Guillaume Comeau Data path engine
EP1237090A1 (en) * 2001-02-28 2002-09-04 Alcatel Serial peripheral interface master device, a serial peripheral interface slave device and a serial peripheral interface
US6820152B2 (en) * 2001-04-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Memory control device and LSI
JP2002351825A (ja) * 2001-05-29 2002-12-06 Rohm Co Ltd 通信システム
US20030009586A1 (en) * 2001-07-06 2003-01-09 Intel Corporation Method and apparatus for peer-to-peer services
US7805725B2 (en) * 2002-09-26 2010-09-28 Siemens Industry, Inc. System and method for synchronizing system modules
US20040148450A1 (en) * 2003-01-27 2004-07-29 Shih-Chang Chen Serially connectable USB drive
US7334234B2 (en) * 2003-04-28 2008-02-19 International Business Machines Corporation Method and apparatus for transferring data to virtual devices behind a bus expander
US20050086413A1 (en) * 2003-10-15 2005-04-21 Super Talent Electronics Inc. Capacity Expansion of Flash Memory Device with a Daisy-Chainable Structure and an Integrated Hub
US6993618B2 (en) * 2004-01-15 2006-01-31 Super Talent Electronics, Inc. Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host
JP2005215953A (ja) * 2004-01-29 2005-08-11 Matsushita Electric Ind Co Ltd 情報処理装置
KR100445182B1 (ko) * 2004-03-05 2004-08-21 주식회사 넥스토디아이 데이터 복사장치
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7624216B2 (en) * 2004-09-28 2009-11-24 Zentek Technology Host controller
US20060069888A1 (en) * 2004-09-29 2006-03-30 International Business Machines (Ibm) Corporation Method, system and program for managing asynchronous cache scans
EP2011283B1 (en) * 2006-04-20 2009-11-18 Lifescan Scotland Ltd Method for transmitting data in a blood glucose system and corresponding blood glucose system
DE102006055514A1 (de) * 2006-05-24 2007-11-29 Robert Bosch Gmbh Gateway zum Datentransfer zwischen seriellen Bussen
US7451265B2 (en) * 2006-08-04 2008-11-11 Sandisk Corporation Non-volatile memory storage systems for phased garbage collection
US7930507B2 (en) * 2006-09-18 2011-04-19 Sandisk Il Ltd. Method of providing to a processor an estimated completion time of a storage operation
CN101132328A (zh) 2007-08-15 2008-02-27 北京航空航天大学 实时工业以太网EtherCAT通信控制器
US7752353B2 (en) * 2007-10-22 2010-07-06 Sandisk Il Ltd. Signaling an interrupt request through daisy chained devices
US7565470B2 (en) * 2007-12-04 2009-07-21 Holylite Microelectronics Corp. Serial bus device with address assignment by master device
US7979662B2 (en) * 2007-12-28 2011-07-12 Sandisk Il Ltd. Storage device with transaction indexing capability
US7913030B2 (en) * 2007-12-28 2011-03-22 Sandisk Il Ltd. Storage device with transaction logging capability
US8187936B2 (en) 2010-06-30 2012-05-29 SanDisk Technologies, Inc. Ultrahigh density vertical NAND memory device and method of making thereof

Also Published As

Publication number Publication date
TW200949552A (en) 2009-12-01
EP2263155A1 (en) 2010-12-22
JP4843747B2 (ja) 2011-12-21
WO2009125268A1 (en) 2009-10-15
JP2011518378A (ja) 2011-06-23
EP2263155B1 (en) 2012-10-17
USRE46488E1 (en) 2017-07-25
CN102057363B (zh) 2014-10-22
TWI482022B (zh) 2015-04-21
US20090259785A1 (en) 2009-10-15
CN102057363A (zh) 2011-05-11
US7809873B2 (en) 2010-10-05

Similar Documents

Publication Publication Date Title
KR20110010707A (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
KR102111741B1 (ko) 임베디드 멀티미디어 카드 및 이의 동작 방법
US7069373B2 (en) USB endpoint controller flexible memory management
US20140082268A1 (en) Host for controlling non-volatile memory card, system including the same, and methods operating the host and the system
KR102173089B1 (ko) 인터페이스 회로 및 그것의 패킷 전송 방법
CN103631534B (zh) 数据存储***以及其管理方法
JP4739349B2 (ja) マルチメディア・カード・インターフェース方法、コンピュータ・プログラム及び装置
CN102073611A (zh) 一种i2c总线控制***及方法
JP2008521080A5 (ko)
KR20080078977A (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
US8891523B2 (en) Multi-processor apparatus using dedicated buffers for multicast communications
US20130282971A1 (en) Computing system and data transmission method
US11144305B2 (en) Method for updating IC firmware
CN101261611A (zh) 一种***设备间的数据传输装置和传输方法
US20090138673A1 (en) Internal memory mapped external memory interface
EP2725499A1 (en) Method for assigning dynamically an identifier to a slave device in I2C data bus
KR101192594B1 (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
KR100736902B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 장치
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법
CN111209221A (zh) 存储***
US20080250177A1 (en) Memory device including connector for independently interfacing host and memory devices
US10831676B2 (en) Apparatus and method for interfacing with common memory
JP2006031235A (ja) 情報処理装置、外部装置、ホスト装置、及び通信方法
CN117499511A (zh) 报文处理方法、芯片和计算机设备
JP2011107928A (ja) インターフェース回路、ホスト装置、スレーブ装置、および不揮発性記憶システム