KR20110051180A - 저장 디바이스 및 호스트와의 연결을 위한 디바이스 - Google Patents

저장 디바이스 및 호스트와의 연결을 위한 디바이스 Download PDF

Info

Publication number
KR20110051180A
KR20110051180A KR1020117000171A KR20117000171A KR20110051180A KR 20110051180 A KR20110051180 A KR 20110051180A KR 1020117000171 A KR1020117000171 A KR 1020117000171A KR 20117000171 A KR20117000171 A KR 20117000171A KR 20110051180 A KR20110051180 A KR 20110051180A
Authority
KR
South Korea
Prior art keywords
host
storage device
interface connector
interface
dual interface
Prior art date
Application number
KR1020117000171A
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 KR20110051180A publication Critical patent/KR20110051180A/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
    • 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
    • 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

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)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

저장 디바이스에 대한 인터페이스 및 호스트에 대한 인터페이스를 제공함과 아울러 저장 디바이스와 호스트 간을 연결시키기 위한 듀얼 인터페이스 커넥터가 제공되며, 이 듀얼 인터페이스 커넥터는 저장 디바이스와의 연결을 위한 저장 디바이스 인터페이스와, 그리고 호스트와의 연결을 위한 호스트 인터페이스를 포함한다. 제어기가 적어도 두 개의 별개의 동작 모드들에서 동작가능하다. 제 1 동작 모드에서, 저장 디바이스가 저장 디바이스 인터페이스에 연결됨과 아울러 호스트가 호스트 인터페이스에 연결될 때, 제어기는 저장 디바이스와 호스트 간의 세션이 호스트에 의해 개방될 수 있도록 한다. 제 2 동작 모드에서, 제어기는, 만약 저장 디바이스와 호스트 간에 개방 세션이 존재한다면, 저장 디바이스가 저장 디바이스 인터페이스로부터 분리된 이후에도, 저장 디바이스와 호스트 간의 개방 세션을 유지시키도록 동작 가능하다.

Description

저장 디바이스 및 호스트와의 연결을 위한 디바이스{DEVICE FOR CONNECTION WITH A STORAGE DEVICE AND A HOST}
본 발명은 일반적으로 저장 디바이스와 호스트 간의 연결에 관한 것이다. 특히, 본 발명은 호스트 디바이스 및 저장 디바이스, 예를 들어, USB 플래시 드라이브에 대한 인터페이스를 제공하기 위해 사용됨과 아울러 저장 디바이스와 호스트 간을 연결시키기 위해 사용되는 디바이스에 관한 것이다.
USB 플래시 드라이브(USB Flash Drive, UFD)와 같은 휴대용 저장 매체를 공중 컴퓨터(public computer)와 함께 사용하는 것은, 사무실을 떠나 있으면서 업무용으로 컴퓨터를 사용할 필요가 있거나, 집을 떠나 있으면서 개인적 업무를 위해 컴퓨터를 사용할 필요가 있는 사용자들에게 매우 편리하다. 예를 들어, 사용자는, 자신의 USB 플래시 드라이브를 사용하여, 공공 장소(예를 들어, 공항 혹은 쇼핑몰) 내의 키오스크(kiosk)에서 제공되는 공중 컴퓨터와 같은 그러한 공중 컴퓨터에 로그인하고자 할 수 있다.
그러나, 본질적으로, 이러한 상황은 사생활 혹은 정보 보안을 지킴에 있어 좋은 것이 아니다. 이러한 공중 컴퓨터 셋업을 사용함으로써, 인증되지 않은 제3자가 사용자의 정보의 보안을 위태롭게 할 수 있다. 예를 들어, 사용자는 잠시 동안 컴퓨터로부터 떨어져 있거나 어디를 갈 수 있고, 그리고 사용자의 부재 동안 혹은 사용자의 부주의 동안, 제3자가 USB 플래시 드라이브를 훔칠 수 있거나, USB 플래시 드라이브에 저장된 콘텐츠에 액세스할 수 있다. 이것은 또한 공중이 사용할 수 있는 모바일 컴퓨팅 혹은 통신 디바이스에서도 일어날 수 있다. 따라서, 공중 컴퓨터 설비에 있어서 정보 보안을 개선시킬 필요가 있다.
앞서 살펴본 바와 같은 것 및 그 필요성이 현재 존재한다는 점에서 볼 때, 저장 디바이스가 호스트로부터 분리되어 있는 동안 및/또는 그 분리된 이후에, 저장 디바이스와 호스트 간의 개방 세션(open session)을 유지시키기 위해 아울러 저장 디바이스에 대한 인테페이스 및 호스트에 대한 인터페이스를 제공하기 위해 듀얼 인터페이스 커넥터(dual-interface connector)로서의 기능을 하는 디바이스를 갖는 것은 이로운 것이다.
실시예들(이 실시예들의 다양한 예들이 본 명세서에서 설명되고 있음)이 제공되며, 이 실시예들은 저장 디바이스에 대한 인터페이스 및 호스트에 대한 인터페이스를 제공함과 아울러 저장 디바이스와 호스트 간을 연결시키기 위한 디바이스를 포함하며, 이 디바이스는 저장 디바이스(예를 들어, USB 플래시 드라이브)와 동작가능하게 연결되도록 구성된 저장 디바이스 인터페이스와; 호스트와 동작가능하게 연결되도록 구성된 호스트 인터페이스와; 그리고 저장 디바이스 인터페이스에 결합됨과 아울러 호스트 인터페이스에 결합되며 적어도 두 개의 별개의 동작 모드들에서 동작가능한 제어기를 구비한다. 제 1 동작 모드에서, 저장 디바이스가 저장 디바이스 인터페이스에 동작가능하게 연결됨과 아울러 호스트가 호스트 인터페이스에 동작가능하게 연결될 때, 제어기는 호스트로 하여금 저장 디바이스와 호스트 간의 세션을 개방시킬 수 있도록 동작가능하다. 반면에, 제 2 동작 모드에서, 제어기는, 만약 저장 디바이스와 호스트 간에 개방 세션이 존재한다면, 저장 디바이스가 저장 디바이스 인터페이스로부터 분리된 이후에도, 저장 디바이스와 호스트 간의 개방 세션을 유지시키도록 동작 가능하다.
저장 디바이스는 유선 인터페이스를 갖는 USB 플래시 드라이브일 수 있거나, 혹은 무선 인터페이스를 갖는 USB 플래시 드라이브일 수 있다.
제어기는 호스트 상에 상주하는 세션 제어 애플리케이션(session control application)에 응답하여 세션 제어 애플리케이션에 저장 디바이스의 호스트에 대한 연결/분리를 통지할 수 있다. 이 디바이스는 저장 디바이스와 호스트 간에 전송되는 신호들을 수정하도록 구성될 수 있다.
또 다른 실시예에 따르면, 저장 디바이스와, 그리고 앞서 본 명세서에서 설명된 듀얼 인터페이스 커넥터와 유사하게 구성된 디바이스를 포함하는 저장 조립체(storage assembly)가 제공된다.
또 다른 실시예에 따르면, 듀얼 인터페이스 커넥터로서의 기능을 하는 디바이스와 연결되는 호스트가 제공되고, 이 호스트는 사용자 인터페이스와; 듀얼 인터페이스 커넥터로서의 기능을 하는 디바이스와 동작가능하게 연결되도록 구성된 디바이스 인터페이스(예를 들어, USB 포트 연결)와; 그리고 세션 제어 애플리케이션을 포함한다. 이 세션 제어 애플리케이션은, (a) 저장 디바이스가 듀얼 인터페이스 커넥터를 통해 호스트에 연결될 때 사용자 인터페이스를 언락(unlock)시키고, (b) 저장 디바이스가 듀얼 인터페이스 커넥터로부터 분리된 이후에 사용자 인터페이스를 락(lock)시키고, (c) 만약 저장 디바이스가 듀얼 인터페이스 커넥터를 통해 호스트에 다시 연결된다면 사용자 인터페이스를 언락시키도록 동작가능하다.
설명되는 실시예들의 추가적인 특징들 및 장점들이 있을 수 있는바, 이는 다음의 도면 및 설명으로부터 명백하게 될 것이다.
다양한 실시예들이 보다 잘 이해되도록 하기 위해, 도면이 참조로 첨부되는 바, 도면에서 동일한 참조번호는 도면 전체에 걸쳐 대응하는 섹션 혹은 요소를 나타낸다.
도 1은 저장 디바이스와 연결되는 듀얼 인터페이스 커넥터를 도식적으로 나타낸 것이다.
도 2는 일 실시예에 따른, 저장 디바이스와의 연결을 위해 사용되고 아울러 호스트와의 연결을 위해 사용되는 듀얼 인터페이스 커넥터의 블럭도이다.
도 3a는 제 1 동작 모드에서, 저장 디바이스와 연결되고 아울러 호스트와 연결된 듀얼 인터페이스 커넥터를 도식적으로 나타낸 도면이다.
도 3b는 제 2 동작 모드에서, 호스트와 연결된 듀얼 인터페이스 커넥터를 도식적으로 나타낸 도면이다.
도 4는 일 실시예에 따른, 이뉴머레이션 프로세스(enumeration process) 동안, 저장 디바이스와 호스트 간의 신호 흐름을 도식적으로 나타낸 도면이다.
도 5는 또 다른 실시예에 따른, 듀얼 인터페이스 커넥터와 호스트 간의 신호 흐름을 도식적으로 나타낸 도면이다.
도 6a는 호스트 요청에 응답하여, 도 2의 저장 디바이스로부터 전송되는 커맨드의 데이터 구조를 나타낸다.
도 6b는 호스트 요청에 응답하여, 도 2의 저장 디바이스로부터 전송되고 아울러 듀얼 인터페이스 커넥터에 의해 또한 수정된 커맨드의 데이터 구조를 나타낸다.
도 7은 일 실시예에 따른, 도 2의 저장 디바이스를 호스트와 연결시키는 방법을 나타낸 흐름도이다.
도 8은 일 실시예에 따른, 저장 디바이스와 호스트 간에 수행되는 세션에 대한 액세스를 제어하기 위한 호스트 상에 상주하는 세션 제어 애플리케이션으로 도 2의 저장 디바이스를 사용하는 방법을 나타낸 흐름도이다.
본 발명의 실시예들 및 이 실시예들의 다양한 실시형태가 또한 아래에서 더 상세히 설명된다. 이러한 설명이 특허청구범위를 한정시키려는 것이 아니며, 대신에 이러한 실시예들의 예를 제공하려는 것이다. 따라서, 다음의 설명은 예시적 실시예들을 나타내며, 이 실시예들은 저장 디바이스와 호스트 간의 연결을 위한 듀얼 인터페이스 커넥터로서 기능을 하는 디바이스를 포함한다.
본 명세서에서 설명되는 호스트는 개인용 컴퓨터, 노트북 컴퓨터, 핸드헬드 컴퓨팅 디바이스(예를 들어, PDA(Personal Digital Assistant) 또는 모바일 핸드셋), 셀룰러 전화기, 카메라, 오디오 재생 디바이스, 또는 탈착가능 데이터 저장장치와 함께 동작하는 임의의 다른 전자 디바이스일 수 있다. 호스트는 다양한 개인용 정보 관리 애플리케이션을 가질 수 있는바, 몇 가지 예를 들면, 어드레스 북(address book), 데일리 오거나이저(daily organizer), 및 전자 노트패드(electronic notepads)같은 것이 있다.
이러한 저장 디바이스와 함께 사용될 수 있는 저장 디바이스는, 호스트에 직접 연결되도록 동작가능함과 아울러 호스트와 직접 통신하도록 동작가능한 종래 기술에서 공지된 임의의 저장 디바이스일 수 있다. 이러한 저장 디바이스는 메모리 카드 포맷(보안화된 디지털 메모리 카드 포맷 및 멀티미디어 카드 포맷을 포함함)을 따르는 구성을 가질 수 있다. 이 저장 디바이스는, 바이너리 형태로 데이터를 (휘발성으로 혹은 비휘발성으로) 저장하기 위해 일정 용량을 갖는 메모리 셀들(예를 들어, 플래시(FLASH))의 어레이를 포함할 수 있다. 플래시 타입의 메모리 셀들이 한정적 의미를 갖는 것이 아님에 유의해야 하는바, 왜냐하면 임의의 적절한 타입의 메모리 셀을 사용하는 다른 실시예들이 또한 응용될 수 있기 때문이다.
본 명세서에서 설명되는 저장 디바이스는 USB 플래시 드라이브(USB Flash Drive, UFD)(무선 UFD(즉, 무선 인터페이스를 갖는 USB 플래시 드라이브)를 포함함)를 따르는 구성을 가질 수 있는바, 예를 들어 시게이트(Seagate®)에 의해 입수가능한 시케이트(Seagate®) D.A.V.E™(Digital Audio Video Experience) 플랫폼을 참조하기 바란다.
이 저장 디바이스는 또한 임의의 메모리(예를 들어, 플래시 메모리), 메모리 스틱, 및/또는 메모리 카드 포맷(예를 들어, 오디오, 비디오, 혹은 그림 파일들과 같은 디지털 미디어를 저장하기 위해 사용되는 보안화된 디지털(Secured Digital, SD) 메모리 카드 포맷)을 따르는 구성을 가질 수 있다. 이 저장 디바이스는 또한, 멀티 미디어 카드(Multi Media Card, MMC) 메모리 카드 포맷, 콤팩트 플래시(Compact Flash, CF) 메모리 카드 포맷, 플래시 PC(예를 들어, ATA 플래시) 메모리 카드 포맷, 스마트-미디어 메모리 카드 포맷, USB 플래시 드라이브, 혹은 임의의 다른 산업 표준 사양을 따르는 구성을 가질 수 있다. 이러한 메모리 카드들의 공급자들 중 하나는 본 출원의 양수인이기도 한 샌디스크사(SanDisk Corporation)다.
저장 디바이스는 또한, 고용량 SIM(High Capacity SIM, HCS) 메모리 카드 포맷을 따르는 구성을 가질 수 있다. HCS 메모리 카드 포맷은, 호스트의 네트워크 능력 및/또는 다른 리소스들을 사용하도록(그럼으로써 네트워크 통신이 가능하게 됨) 전형적으로 구성된, 멀티미디어 핸드셋의 증가하는 요건들을 위한, 보안화되고, 비용 효율적이며, 고용량의 저장 방법이다.
이 저장 디바이스는, 파워가 제거되는 때에도 메모리 혹은 저장된 상태를 유지하는 비휘발성 메모리를 가질 수 있다. 비휘발성 메모리를 갖는 탈착가능한 대용량 저장 디바이스는, 하드 드라이브 혹은 솔리드 스테이트 드라이브(solid state drive)와 같은 매입된 대용량 저장 디바이스의 대체물 혹은 그 보충물로서 사용될 수 있다. 비휘발성 메모리는 소거가능한 프로그래밍가능 메모리 기술(전기적으로 소거가능하고 프로그래밍가능한 판독 전용 메모리(Electrically-Erasable and Programmable Read-Only Memory, EEPROM)들, EPROM, MRAM, FRAM 강유전성의 자기 메모리들을 포함하지만 이러한 것에만 한정되는 것은 아님)을 포함할 수 있다. 이 저장 디바이스가 플래시 메모리로 구현되건 혹은 다른 타입의 메모리로 구현되건 상관없이 임의 타입의 메모리로 구현될 수 있음에 유의해야 한다. 이 저장 디바이스는 또한 일회 프로그래밍가능(One-Time Programmable, OTP) 메모리 칩으로 구현될 수 있고 그리고/또는 3차원 메모리 칩 기술로 구현될 수도 있다.
도 1은 저장 디바이스(12)와 연결되는 듀얼 인터페이스 커넥터(10)로서 기능을 하는 디바이스를 도식적으로 나타낸 도면이다.
듀얼 인터페이스 커넥터(10)는 임의의 디바이스(예를 들어, 저장 디바이스(12))와의 연결을 위한 USB 소켓(36)과; 그리고 호스트와 동작가능하게 연결되는 호스트 인터페이스(18)를 포함한다. 듀얼 인터페이스 커넥터(10)와 저장 디바이스(12) 간의 통신 그리고 또한 듀얼 인터페이스 커넥터(10)와 호스트 간의 통신은, 종래 기술에서 공지된 임의의 통신 채널을 사용하여, 임의의 인터페이스 포트 연결을 통해 이루어질 수 있음에 유의해야 한다.
이 예에서, 예를 들어, USB 플래시 드라이브(UFD)인 저장 디바이스(12)는, 외부 디바이스(예를 들어, 듀얼 인터페이스 커넥터(10) 혹은 호스트(18))와의 연결을 위한 USB 플러그(32)를 포함한다. 또한, 저장 디바이스(12)와 듀얼 인터페이스 커넥터(10) 간의 연결은 USB 플러그(32)를 통해 이루어질 수 있거나 임의의 포트 연결(예를 들어, PCI 익스프레스 포트 연결(Express port connection), 파이어와이어 포트 연결(FireWire port connection), 등)을 통해 이루어질 수 있다.
저장 디바이스(12)는 선택에 따라서는, 저장 디바이스(12)에 부착된 기계적 락(mechanical lock)(34)을 갖도록 동작가능하게 구성될 수 있음에 유의해야 한다. 기계적 락(34)은, 저장 디바이스(12)가 듀얼 인터페이스 커넥터(10)에 장착될 때, 저장 디바이스(12)를 듀얼 인터페이스 커넥터(10)에 고정시키기 위해 제공될 수 있다.
도 2는 일 실시예에 따른, 저장 디바이스(12)와의 연결을 위한 아울러 호스트(14)와의 연결을 위한 듀얼 인터페이스 커넥터(10)로서 기능을 하는 디바이스의 블럭도이다. 듀얼 인터페이스 커넥터(10)는 저장 디바이스와 동작가능하게 연결될 수 있는 저장 디바이스 인터페이스(16)와; 그리고 호스트(14)와 동작가능하게 연결될 수 있는 호스트 인터페이스(18)를 포함한다.
저장 디바이스 인터페이스(16) 및 호스트 인터페이스(18)는 본 발명의 기술분야에서 숙련된 자들이 알고 있는 임의의 통신 링크를 사용할 수 있는바, 여기에는 무엇보다도, USB 커넥터(여기에 저장 디바이스가 물리적으로 결합됨), 광포트 연결(optical port connection), 전기적 포트 연결, SATA(Serial Advanced Technology Attachment) 포트 연결(이것은 직렬 시그널링 기술에 기반을 두고 있음), PCI 익스프레스 포트 연결, 파이어와이어 포트 연결, MMC 메모리 카드 포맷 포트 연결, SD 메모리 카드 포맷 포트 연결, 및 메모리 스틱 포트 연결이 있을 수 있다. 예시적 실시예들의 듀얼 인터페이스 커넥터(10)가 종래의 유선 혹은 무선 통신 링크를 통해 저장 디바이스와 통신하고 있기 때문에, 저장 디바이스 인터페이스는 유선 포트 혹은 무선 포트일 수 있다.
저장 디바이스(12)는 또한 저장 디바이스 인터페이스(16)에 연결가능함과 아울러 호스트 인터페이스(18)에 연결가능한 제어기(20)를 포함한다. 제어기(20)는, 호스트 인터페이스(18)를 통해 듀얼 인터페이스 커넥터(10)로의 데이터 전달 및 듀얼 인터페이스 커넥터(10)로부터의 데이터 전달을 제어함으로써, 저장 디바이스(12)와 호스트(14) 간의 통신 링크를 제어한다.
호스트(14)는 호스트(14)에서의 물리적 드라이버(28)를 통해 저장 디바이스(12)와의 새로운 세션을 개방시키도록 동작가능하다. 호스트와 저장 디바이스 간의 세션은 듀얼 인터페이스 커넥터(10)의 제어기(20)를 사용하여 확립되고, 활성화되고, 종료된다. 따라서, 저장 디바이스와 호스트 양쪽 모두에 동작가능하게 연결된 듀얼 인터페이스 커넥터(10)가 존재하는 경우, 호스트는 저장 디바이스와 직접 통신할 수 없다. 듀얼 인터페이스 커넥터(10)는, 저장 디바이스가 없는 경우(즉, 저장 디바이스가 듀얼 인터페이스 커넥터(10)에 연결되지 않은 경우)에도, 저장 디바이스와 호스트 간에 수행되는 개방 세션(현재 활성화된 세션)을 유지시킬 수 있다.
본 명세서에 있어서, "세션"(혹은 "개방 세션")은, 듀얼 인터페이스 커넥터(10)와 저장 디바이스(12) 양쪽 모두가 호스트에 동작가능하게 연결될 때 시작하고, 그리고 양쪽 모두가 호스트로부터 분리될 때 종료된다. 달리 말하면, 듀얼 인터페이스 커넥터(10)로부터 (그리고 호스트(14)로부터) 저장 디바이스(12)만을 제거하는 것은 세션을 종료시키지 않는다.
저장 디바이스와의 제1의 세션을 유지시킴과 아울러 호스트와의 제2의 별개의 세션을 유지시킴으로써, 저장 디바이스와 호스트 간의 통신 채널을 제공하는 허브 디바이스를 사용하는 것(그리고 저장 디바이스의 제거/분리가 개방 세션의 종료를 일으키는 것)과는 달리, 예시적 실시예들에서, 듀얼 인터페이스 커넥터(10)는 저장 디바이스와 호스트 간에 단일 세션(즉, 단일 통신 채널)을 유지시킨다. 더욱이, 예시적 실시예들의 듀얼 인터페이스 커넥터(10)는, 저장 디바이스(12)가 호스트로부터 분리되어 있는 동안 그리고/또는 이러한 분리된 이후에도 저장 디바이스와 호스트 간의 개방 세션을 유지시키기 위해 사용될 수 있다.
단지 예시적 목적으로, 듀얼 인터페이스 커넥터(10)는 두 개의 별개의 동작 모드에서 동작가능한바, 제 1 모드에서는 저장 디바이스와 호스트 간의 세션이 활성화되며, 제 2 모드에서는 저장 디바이스와 호스트 간의 세션이 (만약 이러한 세션이 이미 존재한다면) 유지된다.
제 1 동작 모드에서, 듀얼 인터페이스 커넥터(10)는, 듀얼 인터페이스 커넥터(10)의 제어기(20)를 통해, 저장 디바이스(12)와 호스트(14) 간의 완전한 통신을 가능하게 한다. 이 세션은, 저장 디바이스(12) 및 호스트(14)가 각각 저장 디바이스 인터페이스(16) 및 호스트 인터페이스(18)를 통해 듀얼 인터페이스 커넥터(10)에 동작가능하게 연결됨을 제어기(20)가 감지할 때 활성화된다.
제 2 동작 모드에서, 듀얼 인터페이스 커넥터(10)는 저장 디바이스(12)와 호스트(14) 간의 개방 세션을, 만약 이러한 개방 세션이 존재한다면, 유지시키도록 동작가능하다. 듀얼 인터페이스 커넥터(10)는, 저장 디바이스(12)가 저장 디바이스 인터페이스(16)를 통해 듀얼 인터페이스 커넥터(10)로부터 분리된 이후, 전이하여 제 2 동작 모드에서 동작하게 된다. 개방 세션을 유지시키기 위해, 듀얼 인터페이스 커넥터(10)의 제어기(20)는, 현재 호스트의 리소스들을 사용하는 그리고/또는 호스트 상에서 실행되는 기존 애플리케이션들의 동작을 종료시키지 않으며, 이에 따라 세션은 종료되지 않고 계속 유지된다.
달리 말하면, 듀얼 인터페이스 커넥터(10)의 제어기(20)는, 저장 디바이스가 이제 더 이상 맞물려 있지 않을 때(즉, 듀얼 인터페이스 커넥터(10)에 연결되지 않을 때)에도, 저장 디바이스와 호스트 간의 개방 세션(현재 활성화된 세션)을 유지시킬 수 있다. 개방 세션을 유지시키는 결과로서, 사용자는 짧은 작업 휴식기 동안, 로그오프(log off)할 필요없이 단지 저장 디바이스를 듀얼 인터페이스 커넥터(10)로부터 언플러그(unplug)시키기만 하면 된다. 이러한 예시적 예에서, 듀얼 인터페이스 커넥터(10)의 제어기(20)는 저장 디바이스(12)의 분리를 검출하고, 그리고 사용자가 저장 디바이스(12)를 듀얼 인터페이스 커넥터(10)에 다시 연결시킬 때(혹은 듀얼 인터페이스 커넥터(10)가 호스트(14)로부터 분리/언플러그될 때)까지 저장 디바이스(12)와의 개방 세션을 유지시킨다.
본 개시내용에 있어서, "동작가능한 연결"은 물리적이고 동작가능한 연결(예를 들어, 저장 디바이스를 저장 디바이스 인터페이스에 플러그(plug)시키는 것)일 수 있거나, 혹은 단지 동작가능한 연결(예를 들어, 파워를 턴온시키는 것)만을 말하는 것일 수 있음에 유의해야 한다. 따라서, 동작가능한 제거는 물리적이고 동작가능한 제거/분리(예를 들어, 저장 디바이스를 저장 디바이스 인터페이스로부터 뽑아내는 것)일 수 있거나, 혹은 단지 동작가능한 제거/분리(예를 들어, 파워를 턴오프시키는 것)만을 말하는 것일 수 있다.
일 실시예에서, 듀얼 인터페이스 커넥터(10)는 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 저장 디바이스의 연결을 통지하는바, 이러한 통지는, 이뉴머레이션 프로세스(enumeration process) 동안 저장 디바이스(12)와 호스트(14) 간에 전송되는 신호들을 수정함으로써 행해진다. 이것을 위해, 듀얼 인터페이스 커넥터(10)는 디스크립터(descriptor)들과 같은 저장 디바이스의 연결을 검출할 수 있다(도 4 참조).
이뉴머레이션은, 어떤 디바이스가 버스에 연결되었는지의 결정, 그리고 이 디바이스가 어떤 파라미터들(예를 들어, 엔드포인트(endpoint)(들)의 개수 및 타입, 제품의 클래스(class), 등)을 요구하는지의 결정을 행하는 프로세스이다. 버스에 연결가능한 호스트는 이후 디바이스에 어드레스를 할당하고 구성을 활성화시켜 디바이스가 버스틀 통해 데이터를 전송할 수 있게 할 수 있다.
USB 2.0 사양, 섹션 9.1.2에 있어서, 저장 디바이스에 의해 생성된 디스크립터는 특정 저장 디바이스의 정체(identification) 및 타입(특성)을 나타내는 고정된 정보를 포함한다. 이 디스크립터는, 디스크립터 획득 요청(Get Descriptor request)(요청 코드 0x06)과 같은 대응하는 호스트 요청에 응답하여, 저장 디바이스로부터 호스트로 제공되는 정보이다.
수정된 디스크립터들은, 이뉴머레이션 프로세스 동안, 즉 저장 디바이스와의 연결의 호스트 검출 동안, 세션 제어 애플리케이션(22)에 의해 검출된다. 세션 제어 애플리케이션(22)은, 저장 디바이스(12)가 (듀얼 인터페이스 커넥터(10)를 통해) 호스트(14)에 연결될 때 호스트(14)의 사용자 인터페이스를 언락시킴으로써 저장 디바이스(12)와 호스트(14) 간에 수행되는 세션에 대한 액세스를 제어하도록 구성되고; 그리고 저장 디바이스(12)가 호스트(14)부터 (그리고 듀얼 인터페이스 커넥터(10)로부터) 뽑힌 이후(동작가능하게 제거/분리된 이후) 사용자 인터페이스를 락시키도록 구성되며; 그리고 만약 저장 디바이스가 한번 더 듀얼 인터페이스를 통해 호스트(14)에 다시 연결된다면 이 사용자 인터페이스를 언락시키도록 구성된다. 본 개시 내용에 있어서, "락" 동작은 저장 디바이스를 사용하는 사용자로 하여금, 듀얼 인터페이스 커넥터(10)에 연결된 호스트와 상호작용하지 못하게 한다. 따라서, "언락" 동작은 이러한 락 동작의 반대 동작이다.
사용자 인터페이스(즉, 호스트를 갖는 워킹 스테이션)의 락 및 언락에 대한 완전한 프로세스는, 예시적 실시예들의 듀얼 인터페이스 커넥터(10)와 함께 실행될 수 있는바, 이는 워크스테이션 디스플레이를 락시켜 사용자가 자기 자신의 패스워드를 키보드에 입력할 때까지 이 워크스테이션 디스플레이를 비인증 사용으로부터 보호하는, 리눅스용 워크스테이션 락 커맨드(workstation lock command)(xlock)에 따라 실행될 수 있다. 이 워크스테이션 락 커맨드가 호스트 상에서 실행되는 동안, 모든 새로운 서버 연결은 거절된다. 만약 키 혹은 마우스 버튼이 눌려진다면, 사용자는, 사용자 인터페이스의 락이 개시되기 이전에, 이 호스트 상에서 작업하는 사용자의 패스워드를 입력하도록 요구받게 된다. 만약 올바른 패스워드가 입력되면, 스크린은 언락되고 워크스테이션은 복원된다.
그럼으로써, 정보 보안 및/또는 사생활이 저장 디바이스와의 작업중 중간 휴식기 동안에, 리눅스의 워크스테이션 락 커맨드에 의해 또한 유지됨에 유의해야 한다.
듀얼 인터페이스 커넥터(10)는 또한, 특수 감지 코드(specialized sense code)(도 5 참조)를 사용하여 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 저장 디바이스의 분리를 통지하도록 동작가능하다.
본 개시내용에 있어서, "특수 감지 코드"는, 연결가능한 저장 디바이스가 없음을 호스트에 표시하는 에러 혹은 예외적 상황을 기술하는 데이터를 포함한다. 듀얼 인터페이스 커넥터(10)는, 호스트에 의해 개시된 모든 감지요청 커맨드(RequestSense command)에 응답하여, 특수 감지 코드를 통해, 이 데이터를 호스트에 콘디션 점검 상태(CHECK CONDITION status)로서 혹은 파라미터 데이터(parameter data)로서 전달한다. 정보 기술(Information Technology)-SCSI 프라이버리 커맨드(Primary Command)들과 관련된 T10 SPC-2 표준에 있어서, 감지요청 커맨드는, 실행된 이전 커맨드들의 상태를 포함하는 에러 코드 정보를 획득하기 위해 애플리케이션 클라이언트에 의해 사용될 수 있다.
세션 제어 애플리케이션(22)은 세션 제어 관리자(26) 및 세션 제어 드라이버(24)를 포함한다. 세션 제어 관리자(26)의 에이전트로서 기능을 하는 세션 제어 드라이버(24)는, (호스트(14)에 흘러들어가고 호스트(14)로부터 흘러나오는 신호들에서의 디스크립터들을 검출함으로써) 호스트(14)로부터의 듀얼 인터페이스 커넥터(10)의 연결/분리를 검출하고, 이에 따라 세션 제어 관리자(26)에게 통지하도록 동작가능하다.
세션 제어 드라이버(24)와 통신하는 세션 제어 관리자(26)는 세션 제어 드라이버(24)로부터 수신된 대응하는 신호를 수신하고, 그리고 앞서 설명된 방식과 유사한 방식으로 호스트(14)의 사용자 인터페이스를 락/언락시킨다.
세션 제어 애플리케이션(22)은 호스트의 운영 체계 상에서 개시될 수 있거나 호스트 상에 사전에 설치될 수 있다. 예를 들어, 세션 제어 애플리케이션(22)은 설치 CD를 통해, 윈도우 업데이트 매커니즘을 통해, 네트워크로부터 호스트(14) 상으로 다운로드될 수 있고, 그리고/또는 듀얼 인터페이스 커넥터(10)를 사용하여 저장 디바이스(12)에 상주하는 애플리케이션을 개시시킴으로서 호스트 상에 다운로드될 수 있다.
호스트(14)가 트레이스 제거 애플리케이션(trace removal application)을 지원하는 경우에, 세션 제어 관리자(26)는, 듀얼 인터페이스 커넥터(10)가 저장 디바이스(12)와 연결되어 있는 동안 호스트(14)의 비휘발성 메모리에 저장된 데이터에서 일어나는 변화를 추적(즉, 검출 및 기록)함과 아울러, 듀얼 인터페이스 커넥터(10)가 이제 더 이상 호스트(14)와 연결되지 않게 된 이후에 호스트(14)의 비휘발성 메모리로부터 이 추적된 변화의 흔적들을 순차적으로 제거하도록, 또한 실행될 수 있다. 트레이스 제거 애플리케이션은 미국 특허 번호 제7,296,144호(발명자: 브라이언트-리치(Bryant- Rich) 외.)에 기재된 바와 같이 변화를 추적하고 흔적을 제거하도록 동작가능하며, 이 특허 문헌은 그 전체가 참조로 본 명세서에 통합된다.
예시적 실시예들의 호스트는 본 명세서에서 앞서 설명된 다양한 기능들로 사전에 구성된 특수 호스트 디바이스일 수 있거나 또는 이러한 기능을 포함하도록 구성된 호스트 디바이스일 수 있다.
도 3a는 제 1 동작 모드에서, 저장 디바이스(12)와 연결됨과 아울러 호스트(14)와 연결된 듀얼 인터페이스 커넥터(10)를 도식적으로 나타낸 도면이다. 앞에서 언급된 바와 같이, 제 1 동작 모드(듀얼 인터페이스 커넥터(10)가 저장 디바이스(12)와 동작가능하게 연결되고, 또한 호스트(14)에 장착된 경우)에서, 듀얼 인터페이스 커넥터(10)는 저장 디바이스(12)와 호스트(14) 간의 완전한 통신을 가능하게 한다.
도 3b는 제 2 동작 모드에서, 호스트(14)와 연결된 듀얼 인터페이스 커넥터(10)를 도식적으로 나타낸 것이다. 위에서도 언급된 바와 같이, 제 2 동작 모드(듀얼 인터페이스 커넥터(10)가 저장 디바이스(12)로부터 분리되어 있지만, 호스트(14)에는 여전히 장착된 경우)에서, 듀얼 인터페이스 커넥터(10)는 저장 디바이스(12)와 호스트(14)간의 개방 세션을, 만약 이러한 개방 세션이 존재한다면, 유지시킨다.
도 4는 일 실시예에 따른 이뉴머레이션 프로세스 동안 저장 디바이스와 호스트 간의 신호 흐름을 도시적으로 나타낸 것이다.
앞서 언급된 바와 같이, 저장 디바이스(12)가 듀얼 인터페이스 커넥터(10)를 통해 호스트(14)에 연결되는 경우, 듀얼 인터페이스 커넥터(10)는 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 저장 디바이스의 연결을 통지하는 바, 이러한 통지는 이뉴머레이션 프로세스 동안 디스크립터들을 사용하여 저장 디바이스(12)와 호스트(14) 간에 전송되는 신호들을 수정함으로써 행해진다.
듀얼 인터페이스 커넥터(10)는 호스트(14)로부터 (제어 신호(42)를 통해) 디스크립터 획득 요청을 수신하고 그리고 이 요청을 (제어 신호(44)를 통해) 저장 디바이스(12)에 전한다. 저장 디바이스(12)는 그 다음에, 저장 디바이스의 제품 ID를 정의하는 공지되고 사전에 결정된 값과 같은 스트링 디스크립터(string descriptor)를 (데이터 신호(46)를 통해) 전송함으로써 듀얼 인터페이스 커넥터(10)에 다시 응답한다. 이 예에서, 저장 디바이스(12)의 제품 ID는 "크루저(Cruzer)"이다. 제 1 디바이스의 제품 ID는 제 1 디바이스가 연결된 제 2 디바이스(제품)의 구성을 정의하는 디스크립터들 중 하나에서의 하나의 필드를 말한다.
이러한 프로세스의 부분으로서, 듀얼 인터페이스 커넥터(10)는 스트링 디스크립터의 말단에 사전에 결정된 값(예를 들어, 프린트가능하지 않은 캐릭터들)을 부가함으로써 저장 디바이스(12)로부터 수신된 스트링 디스크립터를 수정하고, 그리고 이 수정된 디스크립터를 (데이터 신호(48)를 통해) 호스트에 반환한다. 이 예에서, 듀얼 인터페이스 커넥터(10)는 스트링 디스크립터를 "크루저 \xFDEF\x0032\xFFFF"가 되도록 수정한다. 듀얼 인터페이스 커넥터(10)에 의해 이 스트링 디스크립터에 행해진 수정(예를 들어, \xFDEF 및 \FFFF에 의해 정의되는 유니코드 캐릭터 시퀀스들)은 세션 제어 드라이버에 의해 자동으로 제거되고, 따라서 호스트 상의 사용자 애플리케이션들은 이러한 수정들을 수신하지 않는다.
그 다음으로, 앞서 설명된 바와 같이, 수정된 디스크립터(이것은 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 의해 검출됨)는 저장 디바이스(12)가 이제 호스트(14)에 이제 연결되었음을 세션 제어 애플리케이션(22)에 표시한다.
도 5는 또 다른 실시예에 따른 듀얼 인터페이스 커넥터(10)와 호스트(14) 간의 신호 흐름을 도식적으로 나타낸 도면(50)이다.
앞서 언급된 바와 같이, 듀얼 인터페이스 커넥터(10)는, 저장 디바이스(12)가 호스트(14)로부터 분리될 때 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 예를 들어 콘디션 점검 상태 신호의 형태로 특수 감지 코드를 사용하여 통지한다.
듀얼 인터페이스 커넥터(10)는 호스트(14)로부터 (제어 신호(52)를 통해) 호스트 요청을 수신하고, 그리고 콘디션 점검 상태를 (제어 신호(54)를 통해) 전송함으로써 응답한다. 콘디션 점검 상태 신호는, 저장 디바이스(12)가 듀얼 인터페이스 커넥터(10)로부터 분리될 때 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 표시한다.
그 다음에, (호스트(14)로부터 제어 신호(56)를 통해 전송되는) 호스트(14)로부터의 감지요청 커맨드에 응답하여, 듀얼 인터페이스 커넥터(10)는 (제어 신호(58)을 통해) 호스트(14)에 특수 감지 코드를 전한다.
도 6a는, 예를 들어, 디스크립터 획득 요청과 같은 호스트 요청에 응답하여, 이뉴머레이션 동안, 도 2의 저장 디바이스(12)로부터 전송된 커맨드(예를 들어, 스트링 디스크립터)의 데이터 구조(60)를 나타낸다.
디스크립터 획득 커맨드는 스트링 디스크립터 타입이다. 스트링 디스크립터들은 사람이 판독할 수 있는 정보를 제공하고, 이것은 선택적인 것이다. 만약 이들이 사용되지 않는다면, 디스크립터들의 임의의 스트링 인덱스 필드들은 제로로 설정돼야만 하고, 이는 이용가능한 스트링 디스크립터가 없음을 표시한다.
예시적인 요청 커맨드에 이르게 하는 표준 흐름을 따르면, 데이터 구조(60)는 다음의 예시적 포맷으로 구성되는바, 제 1 필드가 커맨드의 길이를 바이트 단위로 특정하고, 제 2 필드가 커맨드 타입을 표시하고, 그리고 제 3 필드가 데이터 비트들을 표시한다.
앞서 본 명세서에서 제공된 예에 대해, 예를 들어, 바이트 단위의 커맨드의 길이(필드 1)는 125 바이트로 설정되었고, 커맨드 타입(필드 2)은 디스크립터 획득 커맨드이고, 그리고 데이터 바이트들은 스트링 디스크립터 "크루저"를 포함한다.
도 6b는 디스크립터 획득 요청과 같은 호스트 요청에 응답하여, 예를 들어 이뉴머레이션 동안, 저장 디바이스(12)로부터 전송됨과 아울러 듀얼 인터페이스 커넥터(10)에 의해 수정된 커맨드(예를 들어, 스트링 디스크립터)의 데이터 구조(62)를 나타낸다.
다시, 예시적인 요청 커맨드에 이르게 하는 표준 흐름을 따르면, 제 1 필드가 커맨드의 길이를 바이트 단위로 125 바이트로서 특정하고, 그리고 제 2 필드가 커맨드 타입을 디스크립터 획득 커맨드로서 표시한다. 이 예에서, 제 3 필드가 데이터 비트를, 수정된 스트링 디스크립터 "크루저 \xFDEF\x0032\xFFFF"로서 표시한다.
도 7은 일 실시예에 따른, 저장 디바이스를 호스트와 연결시키는 방법(70)의 흐름도이다. 본 명세서에서 설명되는 방법은, 저장 디바이스와 호스트 간의 이동하는 신호들에서 게이트웨이로서 기능을 하는 예시적 실시예들의 듀얼 인터페이스 커넥터(10)에 의해 수행될 수 있다. 듀얼 인터페이스 커넥터(10)가 제어 회로 및 이 제어 회로의 부분인 제어기를 포함하는 경우에, 다음의 단계들이 제어 회로에 의해 수행될 수 있다.
듀얼 인터페이스 커넥터(10)가 호스트(예를 들어, 호스트(14))와의 동작가능한 연결을 검출하고, 아울러 저장 디바이스(예를 들어, 저장 디바이스(12))와의 동작가능한 연결을 검출하는 경우(S71), 듀얼 인터페이스 커넥터(10)는 세션 제어 애플리케이션(22)을 저장 디바이스(12)로부터 호스트(14) 상으로 선택적으로 다운로드한다(S72). 그 다음에 S73에서, 듀얼 인터페이스 커넥터(10)는 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)과 통신함에 있어서 게이트웨이로서 기능을 한다. 앞서 언급된 바와 같이, 세션 제어 애플리케이션(22)은, 저장 디바이스(12)가 호스트(14)로부터 분리된 이후 호스트(14)의 사용자 인터페이스를 락시키도록 구성되고, 아울러 저장 디바이스(12)가 호스트(14)에 (듀얼 인터페이스 커넥터(10)와) 다시 연결된 이후 사용자 인터페이스를 언락시키도록 구성된다.
이 예에서, 저장 디바이스(12)는 호스트(14)로의 연결시, 그리고 듀얼 인터페이스 커넥터(10)의 리소스들을 사용하여, 호스트(14) 상에서의 세션 제어 애플리케이션(22)을 개시시킨다. 그러나, 또한 앞서 언급된 바와 같이, 세션 제어 애플리케이션(22)은 선택에 따라서는, 호스트(14) 상에 사전에 설치될 수 있고 그리고/또는 듀얼 인터페이스 커넥터(10)가 아닌 임의의 다른 소스로부터 호스트(14) 상으로 다운로드될 수 있다.
다음으로, S74에서, 듀얼 인터페이스 커넥터(10)는, 호스트(14)로 하여금 저장 디바이스(12)와 새로운 세션을 개방할 수 있도록 하는 제 1 동작 모드에서 동작한다.
사용자가 자신의 USB 플래시 드라이브를 예시적 실시예들의 듀얼 인터페이스 커넥터(10)에 연결시키고 그리고 (이 USB 플래시 드라이브를 포함하는) 듀얼 인터페이스 커넥터(10)를 호스트(14)에 연결시킴으로써, 또는 듀얼 인터페이스 커넥터(10)를 호스트에 연결시키고, 그 다음에 단지 (현재 호스트에 연결되어 있는) 듀얼 인터페이스 커넥터(10)를 자신의 USB 플래시 드라이브에 연결시킴으로써, 검출이 유발될 수 있다. 달리 말하면, 호스트와의 동작가능한 접속이 듀얼 인터페이스 커넥터(10)에 의해 검출될 수 있는바, 이러한 검출은, 저장 디바이스(12)가 호스트(14)에 연결되기 전에, 혹은 저장 디바이스(12)가 호스트(14)에 연결된 후에, 혹은 저장 디바이스(12)가 호스트(14)에 연결되어 있는 동안 수행될 수 있다. 듀얼 인터페이스 커넥터(10)의 어떠한 파워 증가도 (호스트(14)로의 연결 전이나 호스트(14)로의 연결 후에도) 요구되지 않음에 유의해야 한다.
듀얼 인터페이스 커넥터(10)는, 호스트(14) 및 저장 디바이스(12)와의 동작가능한 연결을, 호스트 인터페이스 및 저장 디바이스 인터페이스를 통해 각각, 호스트(14)로부터 그리고 저장 디바이스(12)부터 신호들을 수신함으로써, 검출할 수 있다. 이러한 인터페이스들은 연결가능한 호스트 및 저장 디바이스를 듀얼 인터페이스 커넥터(10) 내의 제어기에 연결시키는 제어 회로들에 의해 활성화될 수 있다. 또한, 동작가능한 연결은 물리적이고 동작가능한 연결(예를 들어, 저장 디바이스를 저장 디바이스 인터페이스에 플러그시키는 것)일 수 있거나, 또는 단지 동작가능한 연결만을 나타낼 수 있다.
S75에서, 듀얼 인터페이스 커넥터(10)는 저장 디바이스(12)가 듀얼 인터페이스 커넥터(10)로부터 분리되었음을 결정한다.
S76에서는, 듀얼 인터페이스 커넥터(10)로부터 저장 디바이스(12)의 동작가능한 분리가 검출되는 경우(예를 들어, 사용자가 듀얼 인터페이스 커넥터(10)로부터 자신의 USB 플래시 드라이브를 분리/언플러그/제거하는 경우), 듀얼 인터페이스 커넥터(10)는 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)에 신호를 보내어 호스트(14)의 사용자 인터페이스를 락시키도록 한다. 이 단계(S46)에서, 듀얼 인터페이스 커넥터(10)는 제 2 동작 모드에서 동작가능하다. 앞서 언급된 바와 같이, 락 동작으로 사용자는 호스트(14)와 상호작용하지 못한다.
S77에서, 듀얼 인터페이스 커넥터(10)는 저장 디바이스(12)가 다시 연결되었음을 결정한다. 단계 S77은, 듀얼 인터페이스 커넥터(10)가 저장 디바이스와의 이러한 재연결을 검출할 때까지, 혹은 듀얼 인터페이스 커넥터(10)가 호스트로부터 플러그아웃될 때(이 경우에 세션은 종료되고 호스트는 사용자를 로그오프시킴)까지 적용된다.
저장 디바이스(12)가 실제로 다시 연결되는 경우에, 듀얼 인터페이스 커넥터(10)는 세션 제어 애플리케이션(22)에 신호를 보내어 호스트(14)의 사용자 인터페이스를 언락시키도록 한다(S78). 이러한 언락 프로세스는, 단계 S76에서 수행된 락 동작에 반대되는 동작이고, 그리고 사용자는 호스트(14)와 연결되어 있는 저장 디바이스(12)를 계속 사용할 수 있다.
도 8은 일 실시예에 따른, 저장 디바이스(예를 들어, 저장 디바이스(12))와 호스트(14) 간에 수행되는 세션에 대한 액세스를 제어하기 위한, 호스트(14) 상에 상주하는 세션 제어 애플리케이션(22)을 갖는 예시적 실시예들의 듀얼 인터페이스 커넥터(10)를 사용하는 방법(80)의 흐름도이다. 본 명세서에서 예시되는 방법은 세션 제어 애플리케이션(22)의 세션 제어 드라이버(24)에 의해 수행된다. 다시, 세션 제어 애플리케이션(22)은 전형적으로 세션 제어 드라이버(24)와 여기에 연결된 세션 제어 관리자(26)를 포함한다.
S81에서, 호스트(14)가 (듀얼 인터페이스 커넥터(10)를 통해) 저장 디바이스(12)와의 통신을 확립하는 경우, 세션 제어 드라이버(24)는 저장 디바이스(12)로부터 디스크립터를 수신한다. 이 디스크립터는, 호스트 요청에 응답하여, 듀얼 인터페이스 커넥터(10)의 제어기(20)를 통해 저장 디바이스(12)로부터 전송된다.
S82에서, 세션 제어 드라이버(24)는 저장 디바이스(12)가 호스트(14)에 직접 연결되었는지 혹은 듀얼 인터페이스 커넥터(10)를 통해 호스트(14)에 연결되었는지 여부를 결정한다. 세션 제어 드라이버(24)는, 수신된 디스크립터가 수정된 디스크립터(즉, 저장 디바이스(12)의 연결로 인한 듀얼 인터페이스 커넥터(10)에 의해 이전에 수정된 디스크립터)인지 혹은 저장 디바이스(12)로부터 (듀얼 인터페이스 커넥터(10)를 통해) 호스트(14)로 그대로 전송된 수정되지 않은 디스크립터인지 여부를 점검함으로써 이것을 결정할 수 있다.
만약 디스크립터가 수정되지 않았다면(즉, 저장 디바이스(12)가 듀얼 인터페이스 커넥터(10)에 연결되지 않았다면), 이 방법은 종료된다. 그러나, 만약 이 디스크립터가 수정된 디스크립터라면(즉, 저장 디바이스(12)가 듀얼 인터페이스 커넥터(10)에 연결된 것이라면), 세션 제어 드라이버(24)는 세션 제어 애플리케이션(22)에 이 연결을 통지한다.
다음으로, S84에서, 세션 제어 드라이버(24)는 특정 디바이스의 분리의 표시로서 분리 신호를 수신한다. 예시적 실시예에서, 분리 신호는, 호스트 요청에 응답하여, 감지 코드의 형태로, 듀얼 인터페이스 커넥터(10)에 의해 제공된다.
다음으로, S85에서, 세션 제어 드라이버(24)는 듀얼 인터페이스 커넥터(10)가 이제 호스트(14)로부터 (저장 디바이스 자체와 함께) 분리/제거되었는지 여부를 결정하거나, 혹은 듀얼 인터페이스 커넥터(10)가 여전히 호스트(14)에는 연결되어 있지만 저장 디바이스(12)는 없는 경우인지 여부를 결정한다. 세션 제어 드라이버(24)는, 듀얼 인터페이스 커넥터(10)로부터(혹은 듀얼 인터페이스 커넥터(10)에 동작가능하게 연결된 허브로부터) 호스트(14)에 전송되는 버스 리셋 신호에 근거하여 이러한 분리를 결정할 수 있다.
만약 완전한 분리 상태(즉, 듀얼 인터페이스 커넥터(10)가 이제 저장 디바이스(12)와 함께 호스트(14)로부터 분리된 상태)를 표시하는 인터럽트(interrupt)가 세션 제어 드라이버(24)에 의해 수신된다면, 세션 제어 드라이버(24)는, 듀얼 인터페이스 커넥터(10) 및 저장 디바이스(12)가 호스트(14)로부터 분리되었음을 세션 제어 관리자(26)에게 통지하고(S86), 그리고 이 방법은 종료된다.
그러나, 만약 세션 제어 드라이버(24)가 호스트(14)로부터의 감지요청 커맨드에 응답하여 부분적 분리 상태(즉, 듀얼 인터페이스 커넥터(10)가 호스트(14)에 연결된 상태를 유지하지만 저장 디바이스(12)는 없는 상태)를 표시하는 특수 감지 코드를 수신한다면, 세션 제어 드라이버(24)는 이에 따라 적절히 세션 제어 관리자(26)에게 통지한다(S87). 여기서, 세션 제어 관리자(26)는 호스트(14)의 사용자 인터페이스를 락시키도록 동작가능하다.
다음으로, S88에서, 세션 제어 드라이버(24)는, 저장 디바이스(12)의 듀얼 인터페이스 커넥터(10)와의 재연결에 대한 표시가 검출될 때까지(혹은 듀얼 인터페이스 커넥터(10)의 분리가 검출될 때까지), 대응하는 호스트 요청에 응답하여, 호스트(14)에 전송된 감지 코드들을 모니터링하게 된다. 이와 같은 재연결은 비특수 감지 코드의 수령으로(혹은 재연결에 대한 임의의 다른 표시의 수령이 수신된 경우, 예를 들어, 콘디션 점검 상태와는 다른 호스트 요청 응답의 수령으로) 세션 제어 드라이버(24)에 의해 검출될 수 있다.
이 경우, 만약 수신된 감지 코드가 특수 감지 코드라면(즉, 저장 디바이스가 여전히 호스트로부터 분리되었다면), 이 방법은 단계 S88로 리턴하여 호스트(14)로 전송된 감지 코드들을 계속 모니터링한다. 다시, 특수 감지 코드는, 연결가능한 저장 디바이스의 부존재를 호스트(14)에 표시하기 위해, 호스트 요청에 응답하여, 듀얼 인터페이스 커넥터(10)에 의해 제공된다.
그러나, 만약 임의의 시점에 있어서 특정 감지 코드가 특수 감지 코드가 아니라면(즉, 저장 디바이스(12)가 이제 호스트(14)에 다시 연결된다면), 세션 제어 드라이버(24)는 이에 따라 적절히 세션 제어 관리자(26)에 통지하고(S89), 이 방법은 단계 S84로 리턴한다. 다시, 저장 디바이스(12)의 재연결에 대한 표시를 수신하는 것에 응답하여, 세션 제어 관리자(26)는 호스트(14)의 사용자 인터페이스를 언락시키도록 동작가능하다.
종래 기술 분야에 익숙한 자들이 이해할 수 있는 바와 같이, 현재 디바이스들은 광범위한 서로 다른 아키텍처들을 사용하고 있고, 새로운 아키텍처들이 계속 개발될 것으로 예측되고 있다. 일반적으로, 이러한 예시적 실시예들은, 사용되고 있는 카드 어댑터들이 적절한 인터페이스 연결 및 적절한 프로세싱 파워를 가지고 있는 한, 광범위한 서로 다른 타입 및/또는 개수의 메모리 카드들과 함께 사용될 수 있다.
이러한 실시예들(이들의 다양한 예들이 본 명세서에서 설명되고 있음)은 하드웨어, 소프트웨어, 혹은 이들의 임의의 결합으로 구현될 수 있다. 하드웨어 및 소프트웨어의 전형적인 결합은, 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템일 수 있는데, 이 컴퓨터 프로그램은, 로딩되어 실행될 때 컴퓨터 시스템을 제어하여 본 명세서에서 설명된 방법들을 수행하도록 하는 그러한 컴퓨터 프로그램이다. 앞서 설명된 개념들은 또한 컴퓨터 프로그램물로서 구현될 수도 있는바, 이 컴퓨터 프로그램물은 본 명세서에서 설명되는 실시예들의 구현을 가능하게 하는 모든 특징들을 포함하고, 그리고 컴퓨터 시스템에 로딩될 때 이러한 실시예들을 달성할 수 있다. 본 명세서에서의 컴퓨터 프로그램 혹은 애플리케이션은, 명령들의 세트의 임의 언어로 된 임의의 표현, 코드 또는 기호를 의미하는바, 이는 정보 처리 능력을 가진 시스템으로 하여금 특정 기능을 직접 수행하게 하거나 또는 다음과 같은 것들, 즉 (a) 또 다른 언어, 코드, 혹은 기호로의 변환 및 (b) 다른 물질 형태로 다시 생성 중 어느 하나 혹은 양쪽 모두 이후에 특정 기능을 수행하게 하도록 의도된 것이다.
시스템들 및 방법들의 다양한 실시예들이 설명되었지만, 다른 수정들이 이제 본 발명의 기술분야에서 숙련된 자들에게 자체적으로 제시될 수 있기 때문에, 이러한 설명이 한정적 의미를 갖는 것이 아님을 이해해야만 하며, 본 발명은 첨부되는 특허청구범위 내에 있는 것으로서 이러한 수정들을 포괄하도록 의도되었다.

Claims (8)

  1. 저장 디바이스에 대한 인터페이스 및 호스트에 대한 인터페이스를 제공함과 아울러 저장 디바이스와 호스트 간을 연결시키기 위한 디바이스로서,
    저장 디바이스와 동작가능하게 연결되도록 되어 있는 저장 디바이스 인터페이스와;
    호스트와 동작가능하게 연결되도록 되어 있는 호스트 인터페이스와;
    상기 저장 디바이스 인터페이스에 결합됨과 아울러 상기 호스트 인터페이스에 결합된 제어기를 포함하여 구성되며,
    상기 제어기는 적어도 두 개의 별개의 동작 모드들에서 동작가능하고,
    제 1 동작 모드에서, 상기 저장 디바이스가 상기 저장 디바이스 인터페이스에 동작가능하게 연결됨과 아울러 상기 호스트가 상기 호스트 인터페이스에 동작가능하게 연결될 때, 상기 제어기는 상기 호스트로 하여금 상기 저장 디바이스와 상기 호스트 간의 세션을 개방시킬 수 있게 하고,
    제 2 동작 모드에서, 상기 제어기는, 만약 상기 저장 디바이스와 상기 호스트 간에 개방 세션이 존재한다면, 상기 저장 디바이스가 상기 저장 디바이스 인터페이스로부터 분리된 이후에도, 상기 저장 디바이스와 상기 호스트 간의 개방 세션을 유지시키도록 동작하는 것을 특징으로 하는 디바이스.
  2. 제1항에 있어서,
    상기 저장 디바이스는 USB 플래시 드라이브인 것을 특징으로 하는 디바이스.
  3. 제1항에 있어서,
    상기 저장 디바이스는 무선 인터페이스를 갖는 USB 플래시 드라이브인 것을 특징으로 하는 디바이스.
  4. 제1항에 있어서,
    상기 제어기는 호스트 상에 상주하는 세션 제어 애플리케이션에 응답하여 상기 세션 제어 애플리케이션에 저장 디바이스의 상기 호스트에 대한 연결/분리를 통지하는 것을 특징으로 하는 디바이스.
  5. 제1항에 있어서,
    상기 디바이스는 상기 저장 디바이스와 상기 호스트 간에 전송되는 신호들을 수정하도록 되어 있는 것을 특징으로 하는 디바이스.
  6. 저장 디바이스 및 상기 청구항 제1항에 기재된 디바이스를 포함하여 구성되는 것을 특징으로 하는 저장 조립체(storage assembly).
  7. 듀얼 인터페이스 커넥터로서의 기능을 하는 디바이스와 연결되는 호스트로서,
    사용자 인터페이스와;
    듀얼 인터페이스 커넥터로서의 기능을 하는 디바이스와 동작가능하게 연결되도록 되어 있는 디바이스 인터페이스와; 그리고
    세션 제어 애플리케이션을 포함하여 구성되며,
    상기 세션 제어 애플리케이션은, (a) 저장 디바이스가 상기 듀얼 인터페이스 커넥터를 통해 상기 호스트에 연결될 때 상기 사용자 인터페이스를 언락(unlock)시키고, (b) 상기 저장 디바이스가 상기 듀얼 인터페이스 커넥터로부터 분리된 이후에 상기 사용자 인터페이스를 락(lock)시키고, (c) 만약 상기 저장 디바이스가 상기 듀얼 인터페이스 커넥터를 통해 상기 호스트에 다시 연결된다면 상기 사용자 인터페이스를 언락시키도록 동작가능한 것을 특징으로 하는 호스트.
  8. 제7항에 있어서,
    상기 디바이스 인터페이스는 USB 포트 연결인 것을 특징으로 하는 호스트.
KR1020117000171A 2008-08-04 2009-07-16 저장 디바이스 및 호스트와의 연결을 위한 디바이스 KR20110051180A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/185,760 US8166220B2 (en) 2008-08-04 2008-08-04 Device for connection with a storage device and a host
US12/185,760 2008-08-04

Publications (1)

Publication Number Publication Date
KR20110051180A true KR20110051180A (ko) 2011-05-17

Family

ID=41050369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117000171A KR20110051180A (ko) 2008-08-04 2009-07-16 저장 디바이스 및 호스트와의 연결을 위한 디바이스

Country Status (6)

Country Link
US (1) US8166220B2 (ko)
EP (1) EP2332052A1 (ko)
KR (1) KR20110051180A (ko)
CN (1) CN102084348B (ko)
TW (1) TW201013404A (ko)
WO (1) WO2010017008A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388893B1 (ko) * 2013-03-22 2014-04-23 (주)테크베이스 Usb 호스트 기기와 주변기기 간의 보안 장치
KR20210007468A (ko) 2019-07-11 2021-01-20 김남구 모바일 멀티 연결 디바이스

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096090A (ja) * 2009-10-30 2011-05-12 Sony Corp 無線通信装置、ホスト機器への応答方法、及びプログラム
JP4944213B2 (ja) * 2010-01-04 2012-05-30 株式会社バッファロー 本体機器、外部機器、及び通信システム
US8615544B2 (en) 2011-02-25 2013-12-24 Wyse Technology Inc. System and method for unlocking a device remotely from a server
US8572754B2 (en) 2011-02-25 2013-10-29 Wyse Technology Inc. System and method for facilitating unlocking a device connected locally to a client
CN103797492B (zh) * 2011-07-27 2016-09-21 希捷科技有限公司 用于安全存储劫持保护的方法和装置
KR101894886B1 (ko) 2011-11-11 2018-09-05 지이 비디오 컴프레션, 엘엘씨 깊이-맵 추정 및 업데이트를 사용한 효율적인 멀티-뷰 코딩
JP6083672B2 (ja) * 2013-03-08 2017-02-22 パナソニックIpマネジメント株式会社 メモリカードコントローラとそれを備えたホスト機器
CN104183255B (zh) * 2013-05-22 2017-09-08 群联电子股份有限公司 优盘
US9307317B2 (en) 2014-08-29 2016-04-05 Coban Technologies, Inc. Wireless programmable microphone apparatus and system for integrated surveillance system devices
US9225527B1 (en) * 2014-08-29 2015-12-29 Coban Technologies, Inc. Hidden plug-in storage drive for data integrity
US11057285B2 (en) * 2014-11-24 2021-07-06 ZPE Systems, Inc. Non-intrusive IT device monitoring and performing action based on IT device state
US10165171B2 (en) 2016-01-22 2018-12-25 Coban Technologies, Inc. Systems, apparatuses, and methods for controlling audiovisual apparatuses
US10370102B2 (en) 2016-05-09 2019-08-06 Coban Technologies, Inc. Systems, apparatuses and methods for unmanned aerial vehicle
US10789840B2 (en) 2016-05-09 2020-09-29 Coban Technologies, Inc. Systems, apparatuses and methods for detecting driving behavior and triggering actions based on detected driving behavior
US10152858B2 (en) 2016-05-09 2018-12-11 Coban Technologies, Inc. Systems, apparatuses and methods for triggering actions based on data capture and characterization
TWI594259B (zh) * 2016-05-13 2017-08-01 群聯電子股份有限公司 記憶體儲存裝置及其電源管理方法
US10545678B2 (en) * 2016-12-28 2020-01-28 Sandisk Technologies Llc Shared data storage system with high availability and hot plugging
US10440113B2 (en) * 2017-05-02 2019-10-08 International Business Machines Corporation Storage network tiering
US10582636B2 (en) * 2017-08-07 2020-03-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1122281C (zh) 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
WO2003044732A1 (fr) 2001-11-23 2003-05-30 Netac Technology Co., Ltd. Procede de fabrication de dispositif a memoire a semiconducteurs et dispositif portant des interfaces multiples
CN1302382C (zh) * 2003-06-13 2007-02-28 联想(北京)有限公司 基于usb闪存盘存储介质私有空间的验证方法
CN100383756C (zh) 2003-07-22 2008-04-23 深圳市朗科科技有限公司 利用半导体存储装置实现自动执行的方法
US7454783B2 (en) * 2003-08-08 2008-11-18 Metapass, Inc. System, method, and apparatus for automatic login
US7296144B2 (en) * 2003-11-24 2007-11-13 Sandisk Il Ltd. Method of traceless portable application execution
CN100478919C (zh) 2003-12-16 2009-04-15 深圳市朗科科技股份有限公司 改变移动存储设备功能或状态的方法
JP2006127252A (ja) * 2004-10-29 2006-05-18 Fujitsu Component Ltd 切替機、切替方法及びプログラム
US20060277334A1 (en) 2005-06-01 2006-12-07 Creative Technology Ltd. Portable data storage device
US20070033320A1 (en) * 2005-08-05 2007-02-08 Wu Victor C Crypto pass-through dangle
US20080303631A1 (en) * 2007-06-05 2008-12-11 Beekley John S Mass Storage Device With Locking Mechanism
US8069298B2 (en) * 2007-06-29 2011-11-29 Sandisk Technologies Inc. Method of storing and accessing header data from memory
US20090006796A1 (en) * 2007-06-29 2009-01-01 Sandisk Corporation Media Content Processing System and Non-Volatile Memory That Utilizes A Header Portion of a File
US9075957B2 (en) * 2008-08-04 2015-07-07 Sandisk Il Ltd. Backing up digital content that is stored in a secured storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388893B1 (ko) * 2013-03-22 2014-04-23 (주)테크베이스 Usb 호스트 기기와 주변기기 간의 보안 장치
KR20210007468A (ko) 2019-07-11 2021-01-20 김남구 모바일 멀티 연결 디바이스

Also Published As

Publication number Publication date
US8166220B2 (en) 2012-04-24
US20100030929A1 (en) 2010-02-04
CN102084348A (zh) 2011-06-01
EP2332052A1 (en) 2011-06-15
CN102084348B (zh) 2015-04-22
TW201013404A (en) 2010-04-01
WO2010017008A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
KR20110051180A (ko) 저장 디바이스 및 호스트와의 연결을 위한 디바이스
US8135880B2 (en) USB mass storage locking
CN101751524B (zh) 一种计算机外接设备管理装置、方法及计算机
CN100489823C (zh) 用于禁用通用串行总线端口的方法和设备
US8595321B2 (en) Supporting system for remote control
US20070156850A1 (en) Secure remote access using portable storage device
US11334510B1 (en) Systems and methods for combination write blocking with connection interface control devices
US8122172B2 (en) Portable information security device
JP5873571B2 (ja) アプリケーション・データを処理するための方法及び計算ノード
US9232006B2 (en) Remote access to a data storage device
US11151065B2 (en) Method for performing detection control of write protection function of memory device, associated control chip and associated electronic device
US20120284772A1 (en) Data storage device authentication apparatus and data storage device including authentication apparatus connector
CN104601703A (zh) 一种基于单向安全隔离网闸的文件传输方法和装置
US11221969B2 (en) Method and control chip for performing access control of memory device
US10929520B2 (en) Secure read-only connection to peripheral device
KR100782113B1 (ko) 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
US20130086217A1 (en) System and method for communicating data via a wireless high speed link between mobile computers and archival storage devices
US8549191B2 (en) Method and apparatus for SATA hot unplug
US20060200612A1 (en) Method and protocol for transmitting extended commands to USB devices
CN104796532A (zh) 一种销毁移动终端的方法及装置
WO2014017761A1 (ko) 보안 기능을 갖는 저장 장치 리더기 및 이를 이용한 보안 방법
KR20070015671A (ko) 유에스비 호스트에 보안 콘트롤러를 부가하여 유에스비장치를 통제하는 방법
CN109542812A (zh) 数据通信控制方法、装置及终端设备
CN113688367A (zh) 一种远程数据销毁系统及方法
WO2016031456A1 (ja) リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid