KR20060060668A - 저장소 디바이스를 제어하는 시스템, 장치 및 방법 - Google Patents

저장소 디바이스를 제어하는 시스템, 장치 및 방법 Download PDF

Info

Publication number
KR20060060668A
KR20060060668A KR1020067002126A KR20067002126A KR20060060668A KR 20060060668 A KR20060060668 A KR 20060060668A KR 1020067002126 A KR1020067002126 A KR 1020067002126A KR 20067002126 A KR20067002126 A KR 20067002126A KR 20060060668 A KR20060060668 A KR 20060060668A
Authority
KR
South Korea
Prior art keywords
storage
host device
data
storage device
control message
Prior art date
Application number
KR1020067002126A
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 KR20060060668A publication Critical patent/KR20060060668A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions

Abstract

다양한 실시예들은 읽기/쓰기 동작들을 통해 저장소 디바이스(102)와 통신하도록 시스템(100), 장치, 및 계산 디바이스(101)를 위한 방법을 포함한다. 기술된 몇몇 실시예들에 있어서, 계산 디바이스(101)는 개인용 컴퓨터일 수 있다. 몇몇 실시예들에 있어서, 저장소 디바이스(102)는 이동식 저장소 디바이스일 수 있다. 몇몇 실시예들에 있어서, 상기 계산 디바이스는 USB 표준을 통해 동작가능한 인터페이스를 사용하여 상기 저장 디바이스에서 통신할 수 있다. 몇몇 실시예들에 있어서, 상기 계산 디바이스는 관리 권한들을 갖지 않는다. 다른 실시예들이 또한 기술되어 있다.

Description

저장소 디바이스를 제어하는 시스템, 장치 및 방법{SYSTEM, APPARATUS AND METHOD FOR CONTROLLING A STORAGE DEVICE}
본 발명은 저장소 디바이스의 디바이스 제어를계산하는 것에 관한 것이며, 특히 읽기 및 쓰기 동작들을 사용하는 제어를 계산하는 것에 관한 것이다.
컴퓨터 저장소는 컴퓨터 프로세서에 의해 액세스하기 위해 전자기 형태로 데이터를 유지한다. 그러한 저장소는 랜덤 액세스 메모리(RAM)과 같은 제 1 저장소와, 벌크 저장소로도 언급되는 하드 디스크들과 같은 제 2 저장소로 나눠질 수 있다. 제 2 저장소는 추가로, 한가지 예에 있어서 PC를 통해 적재되는 하드 드라이브와 같은 내부 저장소와, 범용 직렬 버스(USB) 인터페이스를 통해 PC에 접속하는 이동식 하드 드라이브와 같은 외부 저장소로 나눠질 수 있다. 또한 호스트 PC라 불리는 PC 또는 컴퓨터 프로세서를 갖는 또 다른 호스트 디바이스는 디바이스 드라이버라 불리는 소프트웨어 프로그램에 의해 특정한 저장소 디바이스를 제어한다. 본질적으로, 디바이스 드라이버는 운영 시스템의 보다 많은 일반적 입력/출력 명령어들을 상기 디바이스가 이해할 수 있는 메세지들로 변환한다.
벌크 저장소 디바이스들을 구현하는 공통 표준은 "블록 디바이스" 모델이다. 블록 디바이스들은 예를 들어 512 bytes 의 블록들과 같은 고정된 사이즈의 블록들 단위로 그들의 저장소를 관리한다. 각각의 블록에는 상기 디바이스 드라이버에 의해 어드레스 될 수 있는 로지컬 블록 어드레스(LBA)가 할당된다. 호스트 PC 또는 호스트 디바이스 상에 상주하는 운영 시스템의 일부인 파일 시스템으로 알려진 소프트웨어 레이어는 저장소 블록들을 사용하는 파일들을 관리하는 동작을 수행한다.
블록 디바이스 상의 파일들을 관리하기 위해, 파일 시스템은 상기 저장소 디바이스로부터 데이터의 블록들을 검색하는 단계와 상기 저장소 디바이스로 데이터의 블록들을 쓰는 단계를 본질적으로 인에이블하는 읽기 블록 및 쓰기 블록 명령들을 사용한다. 일반적으로, 이러한 명령들의 파라미터들 중 하나는 관심이 있는 특정한 블록의 LBA 이다. 상기 파일 시스템은 파일 생성, 파일로부터의 데이터 검색, 등등과 같은 파일 단위 동작들을 수행하는데 있어 도움을 주는 하나 또는 그 이상의 저장소 블록들 내 구조화된 관리 데이터를 유지한다. 그러한 구조의 예는 FAT(파일 할당 테이블) 파일 시스템이다. FAT 테이블은 어느 LBA의 것이 사용되었는지 그리고 무슨 목적을 위해 사용되었는지를 상황을 파악한다. 예를 들어, FAT 테이블은 어떠한 파일을 저장하기 위해 사용되는 순서화된 일련의 LBA의 것을 포함할 수 있다. 저장소 디바이스의 동작 동안에, 이러한 데이터가 많은 변화들을 겪을수 있기 때문에, 몇몇 운영 시스템들은 스피드를 얻기 위해 RAM에 상기 데이터를 캐싱하고, 그 후에 적절한 상황들에서 상기 저장소에 상기 변경된 데이터를 되돌려 쓴다.
블록 디바이스들로 보내진 다른 명령들은 상기 명령의 파리미터들에 기초하여 상기 저장소 디바이스 상에서 제어 동작들을 수행하기 위해 상기 호스트 컴퓨터를 인에이블하는 제어 명령들이다. 예로써는 상기 저장소 디바이스를 포맷하는 단 계, 자기 테스트 진단 동작 개시 단계, 내부 디바이스 파라미터들 변경 단계, 및 공급자 특정 명령들이 있다.
부적절하게 사용되는 경우의 제어 동작들이 상기 저장소 디바이스의 무결의 상태에 손해를 줄 수 있기 때문에, 윈도우 및 맥 OS 계열들과 같은 대중적인 운영 시스템들은 제어 명령들의 사용에 대해 어떠한 제한들을 취한다. 예를 들어, 윈도우에서의 제어 명령 "DeviceControl()"은 관리 권한들만을 가지는 사용자들에게 제한된다. 이러한 접근 방식의 기본적인 논리는 일반적인 사용들에 대해서 읽기 및 쓰기 명령들이 충분한 반면에, 제어 명령들이 셋업 및 구성 시나리오들에서만 요구된다는 것이다. IT 관리 팀이 많은 PC들의 구성을 다루는 단체 및 기업에 있어서, 이러한 것은 상기 저장소 디바이스에 피해를 일으키거나 그것들 자체의 구성 및 셋업 동작들을 하려고 시도함으로써 데이터의 손실을 일으키는 미숙한 컴퓨터 사용자들의 위험을 감소시킨다.
과거 몇년에 걸쳐서, USB 플래시 드라이브 또는 키체인(keychain) 저장소로 집합적으로 알려진 저장소 디바이스의 새로운 형태가 출현했다. 이것은 비 휘발성 플래시 테크놀로지에 기초하고, USB 인터페이스를 사용하는 호스트 PC 또는 호스트 디바이스에 접속되는 외부 저장소이다. 예들로는 Sony Micor Vault, Dell, Memory Key, 및 M-Systems DiskOnKey(www.diskonkey.com)이 있다. 이러한 디바이스들은 일반적으로, 얼마간의 계산용 전력을 갖고, 그에 따라 저장소 디바이스만으로 작동하는 것 외에 다른 태스크들을 수행할 수 있다. 예들로는 자동적으로 웹사이트 사용자 ID들 및 암호들을 채우는 MicroVault 자동 로그인과, 상기 저장소 디바이스의 콘텐츠들의 어떠한 일부의 암호 보호를 인에이블하는 암호 잠금이 있다. 또 다른 예에는 DiskOnKey MyKey 가 있다-사용자들이 빠르고 쉬운 전송을 위해 사용빈도가 높은 파일들을 지정하고, 선호도들이 높은 언어를 선택하고, 새로운 데이터에 대해 청각 또는 시각적 표시들을 세팅하는 그래픽 사용자 인터페이스. 계속해서, 또 다른 예에는 CyberKys의 "미래형 테크놀로지"(www.cyberkeycorp.com)에 의해 제시된 바와 같은 것으로, 저장소 디바이스를 작동시키기 위한 소프트웨어를 업그레이드 할 기능이 있다. 다른 보다 많은 복잡한 애플리케이션들이 실행 가능하다.
상술된 애플리케이션들 및 다른 것들의 공통 특성은 그것들이 양자의 호스트 PC 및 저장소 디바이스 자체 상에서 그것 자신의 제어기를 사용하여 실행된다는 것이다. 적절한 역할을 하기 위해, 호스트 PC 상에서 작동하는 프로그램과 저장소 디바이스 상에서 작동하는 프로그램은 서로간의 정보를 전송함으로써 상호작용해야 한다.
이러한 저장소 디바이스들이 블록 디바이스 모델 하에서 동작하기 때문에, 통신 채널을 생성하기 위한 공통 방법은 제어 명령을 사용하는 것이다. 그러나, 이러한 인터페이스는 상기 언급된 저장소 디바이스 애플리케이션들을 작동시키기 위해 사용자들이 관리 권한들을 승인 받아야 된다는 것을 의미하는 관리자들로 구성된 호스트 디바이스들에서만 사용가능하다. 기술적으로 실행 가능한 반면에, 많은 조직들은 사용자들이 그들의 컴퓨터들의 다른 구성요소들에 일어날 수 있는 피해의 위험으로 인해 모든 고용인들 또는 다른 사용자들에게 관리 권한들을 인에이블하지 않을 것이다. 호스트 디바이스에 대한 권한들이 비관리 레벨에 세팅되는 동안 사용 자가 저장소 디바이스 상의 애플리케이션들을 작동시키기 위해 인에이블하기 위한 불만족스러운 필요성이 명백히 존재한다.
상기 언급된 문제는 첨부된 명세서를 통해 이해될 수 있는 본 발명의 다양한 실시예들을 통해 다뤄질 것이다.
본 발명에 따라서, 호스트 컴퓨터를 실행하는 PC 애플리케이션과 저장소 디바이스 내에서 실행하는 저장소 애플리케이션 사이에서 통신하기 위한 수단은 양자의 애플리케이션들이 액세스를 갖는 저장소 디바이스 내에서 하나 또는 그 이상의 파일들의 사용을 통해 달성된다.
PC 애플리케이션은 쓰기 블록 및 읽기 블록 명령들을 사용하는 파일 또는 파일들을 액세스하고, 그 파일 또는 파일들로의 액세스는 관리 권한들을 필요로 하지 않는다. 그러한 파일에 쓰여진 콘텐츠는 실행 또는 프로세스를 위해 저장소 애플리케이션에 어드레스되는 명령들, 데이터, 및 파라미터들을 포함한다. 유사한 방식에 있어서, 호스트가 상기 파일로부터 읽기 명령을 내보낼 때, 상기 저장소 디바이스는 그러한 파일로부터 읽음으로써 상기 저장소 애플리케이션으로부터 응답을 리턴한다.
상술된 내용은 본 발명의 세부적인 기술사항들이 보다 잘 이해되도록 본 발명의 실시예들의 특성들 및 기술적 이점들을 다소 폭넓게 요약하고 있다. 본 발명의 실시예들의 추가적인 특성들 및 이점들은 첨부된 특허청구범위와 관련하여 이하 기술될 것이다. 당업자는 개시된 특정 실시예들 및 그의 개념이 본 발명의 동일한 목적들을 수행하기 위해 다른 구조들 또는 프로세서들을 수정하거나 디자인하는데 기초로 사용될 수 있다는 것을 이해할 것이다. 당업자는 그러한 동일한 구조들이 첨부된 특허청구범위에 설명된 바와 같이 본 발명의 취지 및 범위를 벗어나지 않으며 특허청구범위 내에서 가능하다는 것을 이해할 것이다.
본 발명과 그의 이점들의 보다 완전한 이해를 위해서 이하 첨부된 도면을 참조로 하여 기술될 것이다.
도 1은 클라이언트 채널 애플리케이션 레이어 및 서버 채널 애플리케이션 레이어를 포함하는 시스템을 도시한 개략적인 블록도.
도 2는 통신 채널을 개시하는 단계를 묘사하는 본 발명의 양호한 예의 방법을 도시한 흐름도.
도 3은 호스트 컴퓨터 또는 디바이스에서 실행하는 소프트웨어 애플리케이션으로부터 읽기 블록 및 쓰기 블록 명령들을 사용하는 저장소 디바이스에서 실행하는 저장소 애플리케이션까지 메세지를 보내는 단계를 묘사하는 본 발명의 양호한 예의 방법을 도시한 흐름도.
도 4는 저장소 디바이스에서 실행하는 저장소 애플리케이션으로부터 읽기 블록 및 쓰기 블록 명령들을 사용하는 호스트 컴퓨터 또는 디바이스에서 실행하는 소프트웨어 애플리케이션까지 메세지를 보내는 단계를 묘사하는 본 발명의 양호한 예의 방법을 도시한 흐름도.
서로 다른 도면들에 있어서, 대응하는 번호들 및 부호들은 다른 방식으로 표 시되지 않는 경우 일반적으로 대응하는 부분들로 참조될 것이다. 상기 도면들은 양호한 실시예들의 상대적 측면들을 명확하게 예시하기 위해 도시되었고, 반드시 축적에 따라 도시되지는 않는다.
본 발명의 양호한 실시예들을 제작하고 사용하는 구조는 이하 상세히 논의될 것이다. 그러나, 본 발명이 특정 콘텍스트들의 넓은 변화에서 구체화될 수 있는 많은 적용가능한 발명의 개념들을 제공한다는 것이 이해되어야 한다. 논의되는 특정 실시예들은 단지 본 발명을 제작하고 사용하기 위해 특정 방식들의 예시하는 것이며, 본 발명 또는 특허청구범위를 제한하지는 않는다.
본 발명의 예시적인 실시예들의 다음에 따르는 기술에 있어서, 참조는 본 발명이 행해질 수 있는 특정한 예의 실시예들을 예시하는 도면들에서 이루어진다. 당업자는 다른 실시예들이 본 발명의 취지로부터 벗어나지 않고 이용될 수 있다는 것을 이해할 것이다; 그러므로, 본 발명의 다음에 따르는 세부적인 기술들은 제한적인 의미로 받아들여지지 않아야 한다. 다양한 실시예들에 있어서, 다음에 따르는 기술된 부분들 중 하나 이상, 하나, 또는 아무것도 존재하지 않을 수 있다.
도 1은 클라이언트 애플리케이션 채널 레이어(101) 및 서버 애플리케이션 채널 레이어(102)를 포함하는 시스템(100)의 예의 실시예를 예시하고 있다.
클라이언트 애플리케이션 채널 레이어(101)는 저장소 애플리케이션으로부터 상기 저장소 애플리케이션으로 명령어들, 데이터, 및 파라미터들을 보내고 검색하기 위해 PC 애플리케이션에 의해 사용되고 호스트 PC 또는 디바이스에서 실행하는 소프트웨어이다. 클라이언트 애플리케이션 채널 레이어(101)는: 상기 PC 애플리케이션으로부터 요청들을 수용하는 단계와, 상기 요청들을 하나 또는 그 이상의 읽기 블록 그리고/또는 하나 또는 그 이상의 쓰기 블록 명령어들의 시퀀스로 변환하는 단계와, 상기 PC 애플리케이션에 응답들을 보내는 단계와, 정리 작업하는 단계와, 통신 프로세서의 관리 등등과 같은 동작들을 수행한다.
서버 애플리케이션 채널 레이어(102)는 어떠한 파일 또는 복수의 파일들에 어드레스되는 읽기 블록 및/또는 쓰기 블록 명령들을 식별하기 위해 사용되고 저장소 디바이스에서 실행하는 소프트웨어이다. 그러한 명령이 식별될 때, 서버 애플리케이션 채널 레이어(102)는 상기 저장소 애플리케이션으로 상기 명령을 포워딩하거나, 어떠한 데이터를 검색 또는 저장하거나, 어떠한 값들을 클라이언트 애플리케이션 채널 레이어(101)에 리턴하는 등등의 그와 같은 하나 또는 그 이상의 동작들을 수행함으로써 상기 요청을 프로세싱한다. 몇몇 실시예들에 있어서, 클라이언트 애플리케이션 채널 레이어(101) 또는 클라이언트 애플리케이션 채널 레이어(101)의 일부들은 상기 PC 애플리케이션들로 통합되지만, 본 발명이 그것으로 제한되지는 않는다.
도 2는 본 발명의 예의 실시예에서 통신 채널을 개시하기 위해 실행되는 동작들의 예시적인 시퀀스를 도시하고 있는 흐름도이다. 단계(200)에 있어서, 상기 저장소 디바이스는 전력 상승되어있지만, 상기 저장소 디바이스가 이미 전력 상승된 경우 이러한 단계에서 상기 저장소 디바이스 내 상태에 대해 변화가 발생하지 않고, 시퀀스는 단계(201)로 진행한다. 단계(201)에 있어서, 상기 서버 애플리케이 션 채널 레이어는 이하 통신 파일로 언급되는 특정 파일에 대한 저장소 디바이스의 저장소 매체에 상주하는 파일 시스템의 관리 데이터 시스템을 조사한다. 몇몇 실시예들에 있어서, 이러한 구조는 FAT 파일 시스템의 경우에서 FAT 구조일 수 있고, 다른 실시예들에 있어서는 NTFS 또는 다른 것들과 같은 서로 다른 파일 시스템일 수 있으며, 본 발명은 그에 제한되지 않는다.
단계(202)에 있어서, 통신 파일이 위치될 수 없는 그러한 경우들에 있어서, 상기 서버 애플리케이션 채널 레이어는 그것을 생성한다. 몇몇 실시예들에 있어서, 이것은 FAT 파일 시스템의 루트 디렉토리 또는 서브 디렉토리 내에 새로운 파일을 생성하여 놓음으로써 구현될 수 있다. 몇몇 실시예들에 있어서, 생성 프로세스는 또한 통신 파일에 대한 하나 또는 그 이상의 저장 블록들을 할당할 것이다. 몇몇 실시예들에 있어서, 상기 생성 프로세스는 또한 데이터를 몇몇 저장 블록들에 채울것이다. 단계(203)에 있어서, 서버 애플리케이션 채널 레이어는 통신 파일에 대해 할당된 하나 또는 그 이상의 LBA의 것을 기록한다.
도 3은 상기 PC 애플리케이션으로부터의 메세지가 상기 저장소 애플리케이션으로 보내질 때 양호한 실시예에서 수행되는 동작들의 예시적인 시퀀스를 도시하는 흐름도이다. 단계(300)에 있어서, 상기 PC 애플리케이션은 상기 저장소 애플리케이션에 의해 프로세싱되도록 요청을 내보낸다. 단계(301)에 있어서, 상기 클라이언트 애플리케이션 채널 레이어는 상기 요청을 수용하여, 선택적으로 상기 요청을 포맷하는 단계 및/또는 몇몇 파라미터들을 세팅하는 단계, 그리고/또는 서로 다른 작업 모드 등을 개시하는 단계와 같은 몇몇 프로세싱을 수행한다.
단계(302)에 있어서, 상기 클라이언트 애플리케이션 채널 레이어는 통신 파일로 쓰는 단계에 의해 상기 저장소 디바이스로 상기 요청을 보낸다. 이러한 동작은 통신 파일에 대해 할당되는 LBA의 것 내에 상기 보내진 데이터를 배치하기 위해 상기 저장소 디바이스를 본질적으로 요청하는 일련의 0, 또는 하나 또는 그 이상의 쓰기 블록 명령들 및/또는 0, 또는 하나 또는 그 이상의 읽기 블록 명령들을 생성하도록 호스트 PC에서 작동하는 운영 시스템 및 파일 시스템에 종사한다. 몇몇 실시예들에 있어서, 상기 클라이언트 애플리케이션 채널 레이어는 각각의 요청들에 대해 파일을 개방하고, 상기 요청이 완료되면 그것을 폐쇄한다. 다른 실시예들에 있어서, 상기 클라이언트 애플리케이션 채널 레이어는 세션의 시작에서 그 파일을 한번 개방하고, 완료될 때 그것을 폐쇄한다. 그러나, 다른 실시예들에서는 상기 조합이 구현되고, 본 발명이 그에 제한되지 않는다.
단계(303)에 있어서, 상기 서버 애플리케이션 채널 레이어는 데이터 블록들을 그것들로부터 통신 파일 또는 읽기 블록들의 LBA의 것으로 쓰기 위한 시도를 인터셉트한다. 단계(304)에 있어서, 상기 서버 애플리케이션 채널 레이어는 상기 요청을 선택적으로 프로세스하거나 부분적으로 프로세스하고, 그것을 상기 저장소 애플리케이션에 포워딩한다.
몇몇 실시예들에 있어서, 통신 파일은 그것의 초기 사이즈를 넘는 사이즈에 제한되는 반면, 다른 실시예들에서는 그것이 허용된다. 몇몇 실시예들에 있어서, 상기 파일이 확장되는 경우, 상기 초기 사이즈를 넘는 블록들은 그것들의 획득을 인에이블하기 위해 상기서버 애플리케이션 채널 레이어에 의해 기록되지 않은 반면 에, 다른 실시예들에서는 그것들이 기록된다. 몇몇 실시예들에 있어서, 저장소 블록들에 할당되는 통신 파일은 쓰기 블록 동작의 결과로서 수정될 수 있고, 다른 실시예들에서는 그것들이 수정되지 않는다. 당업자는 다른 실시예들, 또는 그러한 실시예들의 조합들이 본 발명의 취지로부터 벗어나지 않고 존재할 수 있다는 것을 이해할 것이다.
도 4는 상기 저장소 애플리케이션으로부터의 응답이 상기 PC 애플리케이션으로 보내질 때 양호한 실시예에서 수행되는 동작들의 예시적인 시퀀스를 도시하는 흐름도이다. 단계(400)에 있어서, 저장소 애플리케이션은 PC 애플리케이션에 대한 응답 및/또는 몇몇 데이터를 생성한다. 단계(401)에서, 상기 클라이언트 애플리케이션 채널 레이어는 상기 PC 애플리케이션으로부터의 응답 및/또는 몇몇 데이터를 읽기 위해 요청을 수용한다.
단계(402)에 있어서, 상기 클라이언트 애플리케이션 채널 레이어는 통신 파일로부터 읽혀짐으로써 상기 저장소 디바이스로 상기 요청을 보낸다. 이러한 동작은 통신 파일에 대해 할당되는 LBA의 것에 저장되는 상기 데이터를 검색하기 위해 상기 저장소 디바이스를 결과적으로 요청하는 일련의 0, 하나 또는 그 이상의 읽기 블록 명령들을 생성하도록 상기 호스트 PC에서 작동하는 운영 시스템 및 파일 시스템에서 종사한다. 몇몇 실시예들에 있어서, 상기 클라이언트 애플리케이션 채널 레이어는 각각의 요청에 대해 파일을 개방하고, 상기 요청이 완료되면 그것을 폐쇄한다. 다른 실시예들에 있어서, 클라이언트 애플리케이션 채널 레이어는 세션의 시작에서 한번 상기 파일을 개방하고, 완료될 때 그것을 폐쇄한다. 그러나, 다른 실시 예들에 있어서, 상기의 조합이 구현되고, 본 발명이 그에 제한되지 않는다.
단계(403)에 있어서, 상기 서버 애플리케이션 채널 레이어는 통신 파일의 LBA의 것으로부터 데이터 블록들을 읽기 위한 시도를 획득한ㅎ다. 단계(404)에 있어서, 상기 서버 애플리케이션 채널 레이어는 상기 읽기 요청을 선택적으로 프로세싱하거나 부분적으로 프로세싱 하여, 그것을 데이터 또는 응답을 검색하기 위해 상기 저장소 애플리케이션으로 포워딩한다. 단계(405)에 있어서, 상기 검색된 데이터 및/또는 응답은 통신 파일 읽기 동작을 완료하기 위해 상기 클라이언트 애플리케이션 채널 레이어로 되돌려 보내진다.
몇몇 실시예들에 있어서, 상기 클라이언트 애플리케이션 채널 레이어의 일부들은 통합된 PC 애플리케이션에서 구현되도록 초기화하는 단계, 그리고/또는 통신 파일에 쓰는 단계 및/또는 통신 파일로부터 읽는 단계 등등과 같은 동작들을 인에이블하는 PC 애플리케이션과 통합된다.
다른 실시예들에 있어서, 복수의 통신 파일들은 다양한 목적들을 위해 사용된다: 예를 들어 하나의 파일은 쓰기 동작들을 수행하기 위해 상기 클라이언트 애플리케이션 채널 레이어에 의해 사용될 수 있는 반면에, 제 2 파일은 읽기 동작들을 수행하기 위해 사용될 수 있다.
다른 실시예들에 있어서, 상기 저장소 디바이스는 하나의 저장소 애플리케이션 이상을 인에이블 할 수 있고, 통신 파일은 모두에 액세스를 인에이블 하기 위해 사용된다. 또 다른 실시예에 있어서, 복수의 통신 파일들은 각각의 상기 저장소 애플리케이션에 대해 하나 또는 그 이상 사용된다.
추가적인 실시예들에 있어서, 상기 클라이언트 애플리케이션 채널 레이어에 의해 쓰여지는 데이터는 실제로 상기 파일의 LBA의 것으로 쓰여지고, 상기 서버 애플리케이션 채널 레이어는 LBA의 것을 읽기 위해 트리거된다.
추가적인 실시예들에 있어서, 상기 클라이언트 애플리케이션 채널 레이어에 의해 읽혀지는 데이터는 실제로 서버 애플리케이션 채널 레이어 서버에 의해 통신 파일의 LBA의 것으로부터 읽혀진다.
본 발명의 실시예들 및 그의 이점들이 상세히 기술되었을 지라도, 다양한 변경들, 대체들, 및 개조들이 첨부된 특허청구범위에 규정된 바와 같은 본 발명의 취지 및 범위를 벗어나지 않고 이루어질 수 있다는 것을 이해할 것이다. 예를 들어, 당업자들은 본 명세서에 기술된 많은 특성들, 기능들, 프로세스들, 및 재료들이 본 발명의 범위 내에서 변경될 수 있다는 것을 쉽게 이해할 것이다. 더욱이, 본 발명의 애플리케이션의 범위는 본 명세서에 기술된 특정한 실시예들의 프로세스, 머신, 제조, 물체의 조립, 수단, 방법들 및 단계들에 제한되지 않는다. 당업자는 본 발명에 따라 이용될 수 있는 본 명세서에 기술된 대응하는 실시예들에 따른 실질적으로 동일한 결과를 달성하거나 실질적으로 동일한 기능을 수행하는 현재 존재하거나 후에 개발될 수 있는 프로세스들, 머신들, 제조들, 물체의 조립들, 수단, 방법들, 또는 단계들을 본 발명의 기술로부터 쉽게 이해할 것이다. 따라서, 첨부된 특허청구범위는 그러한 프로세스들, 머신들, 제조, 물체의 조립들, 수단, 방법들, 또는 단계들과 같은 그러한 범위 내에 포함되도록 의도된다.

Claims (41)

  1. 호스트 디바이스를 통해 통신하는 장치에 있어서,
    호스트 디바이스에 데이터를 송신하고 수신하는 인터페이스와,
    상기 인터페이스와 연관된 저장소 제어기와,
    상기 저장소 제어기와 연관된 저장소 매체를 포함하고,
    상기 저장소 제어기는,
    상기 저장소 매체 내 지정된 영역에서 상기 호스트 디바이스에 의해 액세스 시도를 검출하고, 상기 액세스 시도는 제어 부분 및 데이터 부분을 가지고,
    상기 데이터 부분 내에서부터 적어도 하나의 데이터를 추출하고,
    상기 저장소 제어기에 대한 적어도 하나의 제어 메세지로 상기 추출된 적어도 하나의 데이터를 해석하고,
    상기 호스트 디바이스로부터 적어도 하나의 제어 메세지에 응답하여 상기 저장소 제어기에서 적어도 하나의 동작을 실행하도록 구성되는, 통신 장치.
  2. 제 1 항에 있어서,
    상기 저장소 제어기는 추가로,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 데이터를 수신하고,
    상기 적어도 하나의 제어 메세지에 응답하여, 상기 저장소 매체 내 어떠한 위치들에 적어도 데이터를 저장하도록 구성되는, 통신 장치.
  3. 제 1 항에 있어서,
    상기 저장소 제어기는 추가로,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 적어도 하나의 동작의 실행에 따라 상기 저장소 매체 내 상기 지정된 영역에 데이터에 대한 읽기 액세스 시도를 수신하고,
    상기 읽기 액세스 시도에 응답하여 상기 저장소 디바이스에서 적어도 하나의 동작을 실행하도록 구성되는, 통신 장치.
  4. 제 3 항에 있어서, 상기 저장소 디바이스에서 실행되는 적어도 하나의 동작은 상기 저장소 매체로부터 상기 호스트 디바이스로의 송신을 위해 적어도 하나의 데이터를 검색하는, 통신 장치.
  5. 제 3 항에 있어서, 상기 저장소 디바이스 관리 권한들 하에서 동작하지 않는 상기 호스트 디바이스를 통해 인터페이싱하는, 통신 장치.
  6. 제 1 항에 있어서, 상기 인터페이스, 저장소 제어기, 및 저장소 매체는 이동식 플래시 저장소 디바이스를 함께 포함하는, 통신 장치.
  7. 제 1 항에 있어서, 상기 인터페이스는 USB 표준을 통해 동작가능한, 통신 장치.
  8. 통신을 위해 호스트 디바이스에 인터페이스를 갖는 이동식 저장소 디바이스와 연관된 컴퓨터 프로그램 제품에 있어서,
    이동식 저장소 디바이스 상의 제어기에서 저장소 애플리케이션을 실행하고, 상기 호스트 디바이스로부터 상기 저장소 디바이스의 상기 저장소 매체 내 지정된 영역으로의 액세스 시도에 의해 상기 저장소 디바이스에서 적어도 하나의 명령에 응답하고, 상기 액세스 시도는 제어 부분 및 데이터 부분을 가지며, 상기 적어도 하나의 명령은 상기 데이터 부분 내에 있는, 컴퓨터 프로그램 제품.
  9. 제 8 항에 있어서, 애플리케이션 프로그램을 실행할 때 상기 저장소 디바이스 상에 위치되도록 인식되는 파일들에 액세스를 시도할 호스트 디바이스 상에서 상기 애플리케이션 프로그램을 실행하는 애플리케이션 컴퓨터 프로그램 코드를 더 포함하는, 컴퓨터 프로그램 제품.
  10. 제 9 항에 있어서, 상기 애플리케이션 프로그램으로부터 메세지들을 수신하고 상기 저장소 디바이스로 메세지들을 전송하기 위해 상기 호스트 디바이스 상에서 클라이언트 채널 애플리케이션 레이어를 실행하는 컴퓨터 프로그램 코드를 더 포함하는, 컴퓨터 프로그램 제품.
  11. 제 9 항에 있어서, 상기 저장소 애플리케이션 프로그램으로부터 메세지들을 수신하고 상기 호스트 디바이스로 메세지들을 송신하기 위해 상기 저장소 디바이스 상에서 서버 채널 애플리케이션 레이어를 실행하는 컴퓨터 프로그램 코드를 더 포함하는, 컴퓨터 프로그램 제품.
  12. 제 10 항에 있어서, 상기 저장소 애플리케이션 프로그램으로부터 메세지들을 수신하고 상기 호스트 디바이스로 메세지들을 송신하기 위해 상기 저장소 디바이스 상에서 서버 채널 애플리케이션 레이어를 실행하는 컴퓨터 프로그램 코드를 더 포함하는, 컴퓨터 프로그램 제품.
  13. 제 12 항에 있어서, 상기 호스트 디바이스 및 상기 저장소 디바이스는 상기 클라이언트 채널 애플리케이션 레이어 및 상기 서버 채널 애플리케이션 레이어로부터 데이터를 송신하고 수신하는 단계에 의해 통신하는, 컴퓨터 프로그램 제품.
  14. 제 9 항에 있어서, 상기 호스트 디바이스 상에서 실행하는 상기 애플리케이션 프로그램은 관리 권한들을 갖지 않는, 컴퓨터 프로그램 제품.
  15. 제 9 항에 있어서, 상기 애플리케이션 프로그램은 USB 포트를 갖는 컴퓨터인 호스트 디바이스 상에서 실행가능하고, 상기 호스트 디바이스로 통신하기 위한 상 기 인터페이스는 USB 표준을 통해 동작가능한, 컴퓨터 프로그램 제품.
  16. 호스트 디바이스 및 저장소 디바이스 사이에서 통신하는 방법에 있어서,
    상기 호스트 디바이스 및 상기 저장소 디바이스 사이에서 데이터를 송신하고 수신하기 위해 인터페이스를 제공하는 단계와,
    상기 인터페이스와 연관된 저장소 제어기와 상기 저장소 제어기와 연관된 저장소 매체를 포함하는 저장소 디바이스를 제공하는 단계와,
    상기 저장소 매체 내 지정된 영역에서 상기 호스트 디바이스의 파일 시스템에 의해 액세스 시도를 검출하는 단계로서, 상기 액세스 시도는 제어 부분 및 데이터 부분을 갖는, 상기 검출 단계와,
    상기 데이터 부분 내에서부터 적어도 하나의 데이터를 추출하는 단계와,
    상기 저장소 제어기에 대해 적어도 하나의 제어 메세지로 상기 추출된 데이터를 해석하는 단계와,
    상기 호스트 디바이스로부터 적어도 하나의 제어 메세지에 응답하여 상기 저장소 제어기에서 적어도 하나의 동작을 실행하는 단계를 포함하는, 통신 방법.
  17. 제 16 항에 있어서,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 데이터를 수신하는 단계와,
    상기 적어도 하나의 제어 메세지에 응답하여, 상기 저장소 매체 내 어떠한 위치들에서 적어도 데이터를 저장하는 단계를 더 포함하는, 통신 방법.
  18. 제 16 항에 있어서,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 적어도 하나의 동작의 실행에 따라 상기 저장소 매체 내 상기 지정된 영역에 데이터에 대한 읽기 액세스 시도를 수신하는 단계와,
    상기 읽기 액세스 시도에 응답하여 상기 저장소 디바이스에서 적어도 하나의 동작을 실행하는 단계를 더 포함하는, 통신 방법.
  19. 제 18 항에 있어서, 상기 적어도 하나의 동작을 실행하는 단계는 상기 저장소 매체로부터 상기 호스트 디바이스로의 송신을 위해 적어도 하나의 데이터를 검색하는 단계를 더 포함하는, 통신 방법.
  20. 호스트 디바이스 및 저장소 디바이스 사이에서 통신하는 방법에 있어서,
    적어도 하나의 통신 파일로 상기 호스트 디바이스에 의한 액세스 시도 및 상기 저장소 디바이스에 의한 액세스를 위해 상기 저장소 디바이스 내 적어도 하나 또는 그 이상의 로지컬 블록 어드레스들을 이용하는 단계와,
    적어도 하나의 통신 파일에서 상기 호스트 디바이스의 파일 시스템에 의해 액세스 시도를 검출하는 단계로서, 상기 액세스 시도는 제어 부분 및 데이터 부분을 갖는, 상기 검출 단계와,
    상기 데이터 부분 내에서부터 적어도 하나의 데이터를 추출하는 단계와,
    상기 호스트 디바이스로부터 상기 저장소 디바이스로 적어도 하나의 제어 메세지로 상기 적어도 하나의 데이터를 해석하는 단계와,
    상기 호스트 디바이스로부터 적어도 하나의 제어 메세지에 응답하여 상기 저장소 디바이스에서 적어도 하나의 동작을 실행하는 단계를 포함하는, 통신 방법.
  21. 제 20 항에 있어서,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 데이터를 수신하는 단계와,
    상기 적어도 하나의 제어 메세지에 응답하여, 상기 저장소 디바이스 내 어떠한 위치들에서 적어도 데이터를 저장하는 단계를 더 포함하는, 통신 방법.
  22. 제 20 항에 있어서,
    상기 호스트 디바이스로부터 상기 제어 메세지와 연관된 데이터에 대해 상기 통신들로의 읽기 액세스 시도를 수신하는 단계와,
    상기 제어 메세지와 연관된 상기 읽기 액세스 시도에 응답하여, 상기 저장소 디바이스에서 적어도 하나의 동작을 실행하는 단계를 더 포함하는, 통신 방법.
  23. 제 22 항에 있어서, 상기 저장소 디바이스에서 적어도 하나의 동작을 실행하는 상기 방법은 상기 저장소 디바이스로부터 상기 호스트 디바이스로의 송신을 위 해 적어도 하나의 데이터를 검색하는 단계를 더 포함하는, 통신 방법.
  24. 호스트 디바이스와 통신하는 장치에 있어서,
    호스트 디바이스에 데이터를 송신하고 수신하는 인터페이스와,
    상기 인터페이스와 연관된 저장소 제어기와,
    상기 저장소 제어기와 연관된 저장소 매체를 포함하고,
    상기 저장소 제어기는,
    적어도 하나의 통신 파일로 상기 호스트 컴퓨터에 의한 액세스 및 상기 저장소 디바이스에 의한 액세스를 위해 상기 저장소 디바이스에서 적어도 하나 또는 그 이상의 로지컬 블록 어드레스들을 이용하고,
    적어도 하나의 통신 파일에서 상기 호스트 디바이스의 파일 시스템에 의해 액세스 시도를 검출하고, 상기 액세스 시도는 제어 부분 및 데이터 부분을 가지고,
    상기 데이터 부분 내에서부터 적어도 하나의 데이터를 추출하고,
    상기 저장소 제어기에 대한 적어도 하나의 제어 메세지로 상기 추출된 적어도 하나의 데이터를 해석하고,
    상기 호스트 디바이스로부터 적어도 하나의 제어 메세지에 응답하여 상기 저장소 제어기에서 적어도 하나의 동작을 실행하도록 구성되는, 통신 장치
  25. 제 24 항에 있어서,
    상기 저장소 제어기는 추가로,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 데이터를 수신하고,
    상기 적어도 하나의 제어 메세지에 응답하여, 상기 저장소 매체 내 어떠한 위치들에 적어도 데이터를 저장하도록 구성되는, 통신 장치.
  26. 제 24 항에 있어서,
    상기 저장소 제어기는 추가로,
    상기 호스트 디바이스로부터 상기 적어도 하나의 제어 메세지와 연관된 적어도 하나의 동작의 실행에 따라 상기 통신 파일에서 데이터에 대한 읽기 액세스 시도를 검출하고,
    상기 읽기 액세스 시도에 응답하여 상기 저장소 디바이스에서 적어도 하나의 동작을 실행하도록 구성되는, 통신 장치
  27. 제 24 항에 있어서, 상기 저장 디바이스에서 실행되는 상기 동작은 상기 저장소 매체로부터 상기 호스트 디바이스로의 송신을 위해 적어도 하나의 데이터를 검색하는, 통신 장치.
  28. 제 24 항에 있어서, 상기 호스트 디바이스는 괸리 권한들을 갖지 않는, 통신 장치.
  29. 제 24 항에 있어서, 상기 인터페이스, 저장소 제어기, 및 저장소 매체는 이동식 플래시 저장소 디바이스를 함께 포함하는, 통신 장치.
  30. 제 24 항에 있어서, 상기 인터페이스는 USB 표준을 통해 동작가능한, 통신 장치.
  31. 애플리케이션 프로그램을 실행하는 호스트 디바이스와,
    저장소 애플리케이션 프로그램을 실행하는 상기 호스트 디바이스와 통신하는 저장소 디바이스와,
    상기 저장소 디바이스 상에 위치되도록 인지되고 상기 호스트 디바이스의 파일 시스템에 액세스 가능한 통신 파일을 포함하는 시스템에 있어서,
    상기 저장소 디바이스는 제어 부분 및 데이터 부분을 포함하는 상기 파일 시스템에 의해 상기 통신 파일에서 액세스 시도를 검출하고, 상기 호스트 디바이스 및 상기 저장소 디바이스로부터의 제어 메세지로 상기 액세스 시도의 상기 데이터 부분으로부터 적어도 하나의 데이터를 해석하고, 상기 데이터 부분으로부터 상기 적어도 하나의 데이터를 추출하고, 상기 호스트 디바이스로부터의 상기 제어 메세지에 응답하여 적어도 하나의 동작을 실행하는, 시스템.
  32. 제 31 항에 있어서, 상기 호스트 디바이스 상에서 실행하는 상기 애플리케이션 프로그램은 관리 권한들을 갖지 않는, 시스템.
  33. 제 31 항에 있어서, 상기 저장소 디바이스는 USB 표준을 통해 동작가능한 통신 인터페이스에 걸쳐 상기 호스트 디바이스와 통신하는, 시스템.
  34. 제 31 항에 있어서,
    상기 저장소 디바이스 상의 저장소 제어기와,
    상기 저장소 제어기에 응답하여 데이터를 저장하고 검색하기 위해 동작가능한 상기 저장소 디바이스 상의 저장소 매체를 더 포함하는, 시스템.
  35. 제 31 항에 있어서,
    상기 호스트 디바이스 상에서 실행하고, 상기 애플리케이션 프로그램 및 상기 파일 시스템과 통신하는 클라이언트 채널 애플리케이션 레이어와,
    상기 저장소 디바이스 상에서 실행하고, 상기 저장소 애플리케이션 프로그램과 통신하며, 상기 파일 시스템에 의해 상기 통신 파일로의 액세스 시도를 적어도 검출하는 단계를 수행하는 서버 채널 애플리케이션 레이어와,
    상기 클라이언트 채널 애플리케이션 레이어 및 상기 서버 채널 애플리케이션 레이어로부터 데이터를 송신하고 수신함으로써 통신하는 상기 호스트 디바이스 및 상기 저장소 디바이스를 더 포함하는, 시스템.
  36. 호스트 디바이스 및 저장소 디바이스 사이에서 통신하는 방법에 있어서,
    상기 저장소 디바이스에서 통신하기 위해 통신 인터페이스를 제공하는 단계와,
    상기 호스트 디바이스 상에서 호스트 애플리케이션 프로그램을 실행하는 단계로서, 상기 호스트 디바이스 애플리케이션 프로그램은 관리적 특권들 없이 실행하는, 상기 실행 단계와,
    상기 저장소 디바이스 상에서 저장소 애플리케이션 프로그램을 실행하는 단계와,
    상기 호스트 애플리케이션 프로그램으로부터 메세지들을 수신하고 상기 저장소 디바이스들로 상기 메세지들을 송신하기 위해 상기 저장소 디바이스 상에서 서버 채널 애플리케이션 레이어를 실행하는 단계와,
    상기 서버 애플리케이션 채널 레이어 내 상기 저장소 디바이스에서 지정된 영역으로의 액세스 시도를 검출하는 단계와,
    상기 액세스 시도의 상기 데이터 부분으로부터 적어도 하나의 데이터를 추출하는 단계와,
    상기 저장소 애플리케이션 프로그램에서 적어도 하나의 메세지로 적어도 하나의 데이터를 해석하는 단계와,
    상기 서버 애플리케이션 채널 레이어로부터 상기 저장소 애플리케이션 프로그램으로 상기 적어도 하나의 제어 메세지를 송신하는 단계와,
    상기 적어도 하나의 제어 메세지에 응답하여 상기 저장소 애플리케이션 프로그램에서 적어도 하나의 동작을 실행하는 단계를 포함하는, 통신 방법.
  37. 데이터를 송신하고 수신하는 인터페이스 수단과,
    상기 인터페이스 수단과 연관된 저장소 제어 수단과,
    상기 인터페이스 수단에 응답하여 데이터를 저장하고 검색하는 저장소 매체 수단을 포함하고,
    상기 저장소 제어 수단은,
    상기 저장소 매체 수단의 지정된 영역에서 액세스 시도를 검출하고, 상기 액세스 시도는 제어 부분 및 데이터 부분을 가지고,
    상기 데이터 부분 내에서부터 적어도 하나의 데이터를 추출하고,
    호스트 디바이스로부터 적어도 하나의 제어 메세지로 상기 적어도 하나의 데이터를 해석하고,
    상기 호스트 디바이스로부터 적어도 하나의 제어 메세지에 응답하여 적어도 하나의 동작을 실행하도록 구성되는, 장치.
  38. 제 37 항에 있어서, 상기 인터페이스 수단은 USB 표즌을 통해 동작가능한 수단을 포함하는, 장치.
  39. 제 37 항에 있어서, 상기 저장소 매체 수단은 비휘발성 저장소 수단을 포함하는, 장치.
  40. 제 37 항에 있어서, 상기 호스트 디바이스는 개인용 컴퓨터인, 장치.
  41. 제 37 항에 있어서,
    상기 저장소 제어 수단은 추가로,
    적어도 하나의 통신 파일로 상기 호스트 디바이스에 의한 액세스 및 상기 저장소 디바이스 수단에 의한 액세스를 위해 상기 저장소 매체 수단 내 적어도 하나 또는 그 이상의 로지컬 블록 어드레스들을 이용하도록 구성되는, 장치
KR1020067002126A 2003-07-28 2004-07-26 저장소 디바이스를 제어하는 시스템, 장치 및 방법 KR20060060668A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49043903P 2003-07-28 2003-07-28
US60/490,439 2003-07-28

Publications (1)

Publication Number Publication Date
KR20060060668A true KR20060060668A (ko) 2006-06-05

Family

ID=34115393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067002126A KR20060060668A (ko) 2003-07-28 2004-07-26 저장소 디바이스를 제어하는 시스템, 장치 및 방법

Country Status (5)

Country Link
US (1) US20050044330A1 (ko)
EP (1) EP1652061A2 (ko)
KR (1) KR20060060668A (ko)
CN (1) CN1864127A (ko)
WO (1) WO2005013133A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039932A1 (en) * 2002-08-23 2004-02-26 Gidon Elazar Apparatus, system and method for securing digital documents in a digital appliance
US7979700B2 (en) 2002-08-23 2011-07-12 Sandisk Corporation Apparatus, system and method for securing digital documents in a digital appliance
EP1609048A4 (en) * 2003-03-27 2009-01-14 Milsys Ltd DATA STORAGE DEVICE HAVING COMPLETE ACCESS FOR ALL USERS
JP4740157B2 (ja) * 2004-02-03 2011-08-03 サンディスク セキュア コンテンツ ソリューションズ インコーポレイテッド デジタルデータコンテンツの保護
US8078788B2 (en) 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
TW200731077A (en) * 2006-02-14 2007-08-16 Harmony Microelectronic Inc USB storage system and control method thereof
EP1818793A1 (en) * 2006-02-14 2007-08-15 Harmony Microelectronic Inc. USB storage system and control method thereof
US8839005B2 (en) * 2006-09-13 2014-09-16 Sandisk Technologies Inc. Apparatus for transferring licensed digital content between users
US7558907B2 (en) * 2006-10-13 2009-07-07 Spansion Llc Virtual memory card controller
WO2008135969A1 (en) * 2007-05-03 2008-11-13 Sandisk Il Ltd. Storage device and method for data-smuggling
US7822935B2 (en) 2007-05-03 2010-10-26 Sandisk Il Ltd. Methods for data-smuggling
US7922988B2 (en) * 2007-08-09 2011-04-12 Michel Deeba Multilayered catalyst compositions
US8296414B1 (en) * 2007-09-28 2012-10-23 Emc Corporation Techniques for automated application discovery
US9032154B2 (en) 2007-12-13 2015-05-12 Sandisk Technologies Inc. Integration of secure data transfer applications for generic IO devices
TWI454912B (zh) * 2012-01-06 2014-10-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
KR102192198B1 (ko) * 2014-02-24 2020-12-17 삼성전자주식회사 전자 장치 및 그것의 통신 방법

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2163577B (en) * 1984-08-23 1988-01-13 Nat Res Dev Software protection device
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5450489A (en) * 1993-10-29 1995-09-12 Time Warner Entertainment Co., L.P. System and method for authenticating software carriers
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US20050149450A1 (en) * 1994-11-23 2005-07-07 Contentguard Holdings, Inc. System, method, and device for controlling distribution and use of digital works based on a usage rights grammar
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
WO1996027155A2 (en) * 1995-02-13 1996-09-06 Electronic Publishing Resources, Inc. Systems and methods for secure transaction management and electronic rights protection
US5530235A (en) * 1995-02-16 1996-06-25 Xerox Corporation Interactive contents revealing storage device
US5887269A (en) * 1995-04-07 1999-03-23 Delco Elecronics Corporation Data product authorization control for GPS navigation system
EP0880840A4 (en) * 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US6055314A (en) * 1996-03-22 2000-04-25 Microsoft Corporation System and method for secure purchase and delivery of video content programs
US5956034A (en) * 1996-08-13 1999-09-21 Softbook Press, Inc. Method and apparatus for viewing electronic reading materials
US5847698A (en) * 1996-09-17 1998-12-08 Dataventures, Inc. Electronic book device
US5897663A (en) * 1996-12-24 1999-04-27 Compaq Computer Corporation Host I2 C controller for selectively executing current address reads to I2 C EEPROMs
US6073226A (en) * 1997-03-19 2000-06-06 Microsoft Corporation System and method for minimizing page tables in virtual memory systems
US6611358B1 (en) * 1997-06-17 2003-08-26 Lucent Technologies Inc. Document transcoding system and method for mobile stations and wireless infrastructure employing the same
US6009525A (en) * 1997-08-29 1999-12-28 Preview Systems, Inc. Multi-tier electronic software distribution
US6490408B1 (en) * 1997-10-28 2002-12-03 Lg Electronics Inc. Apparatus and method for determining ID information recorded on an information-stored medium
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
US6738905B1 (en) * 1998-04-15 2004-05-18 Digital Video Express, L.P. Conditional access via secure logging with simplified key management
DE19820479A1 (de) * 1998-05-07 1999-12-23 Ems Electronic Management Syst Funktionsmodul
US6438235B2 (en) * 1998-08-05 2002-08-20 Hewlett-Packard Company Media content protection utilizing public key cryptography
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6363437B1 (en) * 1999-01-07 2002-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Plug and play I2C slave
US6529949B1 (en) * 2000-02-07 2003-03-04 Interactual Technologies, Inc. System, method and article of manufacture for remote unlocking of local content located on a client device
US6697944B1 (en) * 1999-10-01 2004-02-24 Microsoft Corporation Digital content distribution, transmission and protection system and method, and portable device for use therewith
KR100488746B1 (ko) * 1999-11-01 2005-05-11 세이코 엡슨 가부시키가이샤 데이터 출력 제어장치 및 데이터 출력 서비스 제공방법
US6886036B1 (en) * 1999-11-02 2005-04-26 Nokia Corporation System and method for enhanced data access efficiency using an electronic book over data networks
ES2283095T3 (es) * 1999-11-22 2007-10-16 A-Data Technology Co., Ltd. Tarjeta de memoria de interfaz doble y modulo de adaptacion para la misma.
US6990464B1 (en) * 2000-01-11 2006-01-24 Ncr Corporation Apparatus, system and method for electronic book distribution
US6813725B1 (en) * 2000-01-26 2004-11-02 Hewlett-Packard Development Company, L.P. Method for restoring an operating system utilizing a storage device on a USB bus
US7023572B2 (en) * 2000-02-02 2006-04-04 Raja Singh Tuli Portable high speed internet access device
US7068381B1 (en) * 2000-02-02 2006-06-27 Raja Tuli Portable high speed internet access device
US6974076B1 (en) * 2000-02-14 2005-12-13 Sony Corporation Portable music player with pay per play usage and method for purchase of credits for usage
JP4617533B2 (ja) * 2000-03-14 2011-01-26 ソニー株式会社 情報提供装置および方法、情報処理装置および方法、並びにプログラム格納媒体
US6502146B1 (en) * 2000-03-29 2002-12-31 Intel Corporation Apparatus and method for dedicated interconnection over a shared external bus
US6738614B1 (en) * 2000-06-19 2004-05-18 1477.Com Wireless, Inc. Method and system for communicating data to a wireless device
US7262873B1 (en) * 2000-07-05 2007-08-28 Lexmark International, Inc. Photoprinter access to remote data
US6438638B1 (en) * 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US20020162009A1 (en) * 2000-10-27 2002-10-31 Shimon Shmueli Privacy assurance for portable computing
US7222104B2 (en) * 2001-05-31 2007-05-22 Contentguard Holdings, Inc. Method and apparatus for transferring usage rights and digital work having transferrable usage rights
US6973445B2 (en) * 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
US6876984B2 (en) * 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US20020185533A1 (en) * 2001-06-06 2002-12-12 Ron-Yen Shieh Externally connection type USB2.0 interface flash card reader
EP1323018A4 (en) * 2001-06-07 2004-07-07 Contentguard Holdings Inc PROTECTED CONTENT DELIVERY SYSTEM
US20040205453A1 (en) * 2001-08-29 2004-10-14 Sterling Mortensen Document distribution to mobile computing device
US6922725B2 (en) * 2001-09-07 2005-07-26 Xerox Corporation Method and apparatus for processing document service requests originating from a mobile computing device
US7318112B2 (en) * 2001-10-11 2008-01-08 Texas Instruments Incorporated Universal interface simulating multiple interface protocols
JP3641230B2 (ja) * 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
JP4119152B2 (ja) * 2002-04-17 2008-07-16 株式会社ルネサステクノロジ 半導体集積回路装置
US7092942B2 (en) * 2002-05-31 2006-08-15 Bea Systems, Inc. Managing secure resources in web resources that are accessed by multiple portals
TW587790U (en) * 2002-06-18 2004-05-11 King Byte Information Corp Device for adapting memory card interface to USB interface
TWI287751B (en) * 2002-08-09 2007-10-01 Carry Technology Co Ltd Multi-functional small-form-factor memory card interface for use in a USB interface
US20040035939A1 (en) * 2002-08-21 2004-02-26 Jin-Min Lin Multifunction memory card reading/writing device
US7979700B2 (en) * 2002-08-23 2011-07-12 Sandisk Corporation Apparatus, system and method for securing digital documents in a digital appliance
US20040039932A1 (en) * 2002-08-23 2004-02-26 Gidon Elazar Apparatus, system and method for securing digital documents in a digital appliance
US20040064612A1 (en) * 2002-09-26 2004-04-01 Sandisk Corporation Method and system for using a memory card protocol inside a bus protocol
US20040093509A1 (en) * 2002-11-12 2004-05-13 Gidon Elazar Method and apparatus for connecting a storage device to a television
EP1609048A4 (en) * 2003-03-27 2009-01-14 Milsys Ltd DATA STORAGE DEVICE HAVING COMPLETE ACCESS FOR ALL USERS
US20040210433A1 (en) * 2003-04-21 2004-10-21 Gidon Elazar System, method and apparatus for emulating a web server
DE602004031343D1 (de) * 2003-07-28 2011-03-24 Sandisk Secure Content Solutions Inc Elektrischer verbinder
US7350143B2 (en) * 2003-10-03 2008-03-25 Sandisk Corporation Method for page translation
JP4740157B2 (ja) * 2004-02-03 2011-08-03 サンディスク セキュア コンテンツ ソリューションズ インコーポレイテッド デジタルデータコンテンツの保護
US7487265B2 (en) * 2004-04-16 2009-02-03 Sandisk Corporation Memory card with two standard sets of contacts and a hinged contact covering mechanism
US7152801B2 (en) * 2004-04-16 2006-12-26 Sandisk Corporation Memory cards having two standard sets of contacts
US20080065552A1 (en) * 2006-09-13 2008-03-13 Gidon Elazar Marketplace for Transferring Licensed Digital Content
US8839005B2 (en) * 2006-09-13 2014-09-16 Sandisk Technologies Inc. Apparatus for transferring licensed digital content between users

Also Published As

Publication number Publication date
EP1652061A2 (en) 2006-05-03
WO2005013133A2 (en) 2005-02-10
US20050044330A1 (en) 2005-02-24
WO2005013133A3 (en) 2005-09-29
CN1864127A (zh) 2006-11-15

Similar Documents

Publication Publication Date Title
CN101650660B (zh) 从中央存储装置引导计算机系统
KR101169085B1 (ko) 휴대용 저장 장치 및 방법
TWI480803B (zh) 獨立作業系統間之共享檔案系統管理
RU2432605C1 (ru) Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда
US9235583B2 (en) Virtual media with folder-mount function
KR20060060668A (ko) 저장소 디바이스를 제어하는 시스템, 장치 및 방법
US9075539B2 (en) Virtualizing storage for WPAR clients that share a common operating system of logical partition
US20090019223A1 (en) Method and systems for providing remote strage via a removable memory device
US20070288535A1 (en) Long-term data archiving system and method
US9164919B2 (en) Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
JPWO2009066611A1 (ja) 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
KR20120037381A (ko) 소프트웨어 컴포넌트 상태에 대한 접근 제어
CN105162833A (zh) 应用于无盘工作站的客户机管理系统及方法
US11263183B2 (en) Integrating virtual machine file system into a native file explorer
JP2008152519A (ja) コンピュータ及びその基本ソフトウェア
WO2022068298A1 (zh) U盘访问方法及u盘
CA2482800A1 (en) System and method for managing operating system option values
KR100894060B1 (ko) 외장형 저장 장치 및 외장형 저장 장치 제어 방법
CN106326722A (zh) Bios设置菜单的进入方法
Liang et al. Secure USB Based File System for BMC Applications
US20230116173A1 (en) Console command composition
JP2009064301A (ja) リムーバブルメモリユニット
Both Everything Is a File
TWI554891B (zh) 存儲控制裝置與供其調用其位址的方法
CN116451250A (zh) 应用程序内存文件的隔离处理方法、装置及计算设备

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