KR100820263B1 - 메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법 - Google Patents

메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100820263B1
KR100820263B1 KR1020060014513A KR20060014513A KR100820263B1 KR 100820263 B1 KR100820263 B1 KR 100820263B1 KR 1020060014513 A KR1020060014513 A KR 1020060014513A KR 20060014513 A KR20060014513 A KR 20060014513A KR 100820263 B1 KR100820263 B1 KR 100820263B1
Authority
KR
South Korea
Prior art keywords
data
memory device
allocation table
file allocation
solid state
Prior art date
Application number
KR1020060014513A
Other languages
English (en)
Other versions
KR20070046693A (ko
Inventor
리차드 샌더스
Original Assignee
시그마텔, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시그마텔, 인크. filed Critical 시그마텔, 인크.
Publication of KR20070046693A publication Critical patent/KR20070046693A/ko
Application granted granted Critical
Publication of KR100820263B1 publication Critical patent/KR100820263B1/ko

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K1/00Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces
    • F16K1/16Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces with pivoted closure-members
    • F16K1/18Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces with pivoted closure-members with pivoted discs or flaps
    • F16K1/22Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces with pivoted closure-members with pivoted discs or flaps with axis of rotation crossing the valve member, e.g. butterfly valves
    • F16K1/221Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces with pivoted closure-members with pivoted discs or flaps with axis of rotation crossing the valve member, e.g. butterfly valves specially adapted operating means therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K1/00Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces
    • F16K1/32Details
    • F16K1/52Means for additional adjustment of the rate of flow
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K37/00Special means in or on valves or other cut-off apparatus for indicating or recording operation thereof, or for enabling an alarm to be given
    • F16K37/0008Mechanical means
    • F16K37/0016Mechanical means having a graduated scale
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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]

Abstract

이 개시내용은 고체상태 메모리기기 및 프로세서를 구비한 휴대형 장치를 지향한다. 고체상태 메모리기기는 저장된 데이터 및 객체기반 편성데이터를 가지는 데이터객체를 구비한다. 고체상태 메모리기기는 프로세서에 응답한다. 프로세서는 고체상태 메모리기기에 액세스하여 저장된 데이터를 데이터객체로부터 검색하도록 구성되고 저장된 데이터를 대용량 저장급(MSC) 통신프로토콜을 이용하여 통신하도록 구성된다.
휴대형 장치, 메모리기기, 데이터객체, 액세스, 대용량 저장급(MSC) 통신프로토콜

Description

메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법{System and method for accessing data from a memory device}
도 1과 2는 데이터저장시스템의 예시적인 실시예의 도면들이다.
도 3은 도 1 및 2에 도시된 예시적인 데이터저장시스템들과 같은 데이터저장시스템에 의한 저장을 위한 예시적인 데이터객체의 도면이다.
도 4, 5 및 6은 도 1 및 2에 도시된 예시적인 데이터저장시스템들과 같은 데이터저장시스템에 의한 사용을 위한 예시적인 방법들의 도면들이다.
본 발명은 대체로 메모리기기로부터 데이터를 액세스하고 그 메모리기기에 데이터를 저장하기 위한 시스템들 및 방법들에 관한 것이다.
고객들은 개인휴대정보단말(PD), MP3플레이어, 휴대형 저장시스템, 첨단 무선전화기, 카메라, 및 다른 핸드헬드기기들과 같은 휴대형 전자기기들을 점점 더 요구하고 있다. 하드드라이브, 플로피드라이브, 및 다른 저장기기들과 같은 전통적인 불휘발성 저장매체들은 일반적으로 휴대형 기기에 부적합하다. 이러한 전형적인 기기들은 일반적으로 가동부품들을 가지고, 그런고로, 기계적 불량을 겪게 된다. 더구나, 이러한 기기들은 벌크형이고 많은 량의 에너지를 소비한다. 그 결과, 개발자들은 휴대형 제품들에서의 사용을 위해, 전기적 소거가능 프로그램가능 읽기전용메모리(EEPROM) 및 플래시메모리와 같은 고체상태 불휘발성 메모리기기들로 전환하고 있다.
전형적인 휴대형 시스템들에서, 불휘발성의 고체상태 메모리기기에 저장된 데이터는 전통적인 자기매체를 위해 원래 디자인된 파일할당테이블(FAT) 파일시스템으로 편성된다. 전형적으로, 이 파일시스템은 예를 들면 부트섹터를 가지며, 부트섹터는 기본 파일시스템 정보를 구비하며 일부 예들에서는 다른 섹터들의 논리위치들에 대한 포인터들과 운영체제 부트 로더 코드를 구비한다. 이 파일시스템은 파일할당테이블(FAT)을 구비하는 FAT영역을 구비할 수도 있다. 더구나, 파일시스템은 루트디렉터리 내의 파일들 및 디렉터리들에 관한 정보를 가지는 디렉터리테이블을 저장하는 루트디렉터리영역을 구비할 수 있다. 더구나, 파일시스템은 실제 파일 및 디렉터리 데이터가 저장되는 데이터영역을 참조한다. 일반적으로, FAT파일시스템들은 클러스터들 및 섹터들로 편성된다. 데이터영역에 저장된 데이터는 클러스터들에 저장된다. 파일은 하나를 넘는 클러스터들에 저장된 데이터를 구비하고, 클러스터는 전형적으로 단일 파일로부터의 데이터를 구비한다.
일반적으로, 파일은 파일할당테이블로부터 파일의 위치를 결정하고 그 위치로부터 데이터를 요구함으로써 액세스된다. 예를 들면, 파일할당테이블은 파일에 관련된 클러스터들의 연결리스트(linked list)를 구비할 수 있다. 이 파일은 연결리스트의 순서로 클러스터들을 액세스함으로써 모아질 수 있다. 사용자에 대해 편 성된 데이터의 프레젠테이션을 용이하게 하기 위해, 디렉터리테이블은 파일들을 통상 폴더들이라고 하는 디렉터리들의 집합으로 편성하는 정보를 구비한다.
고체상태 메모리기기들의 경우, 파일시스템의 논리적 편성은 고체상태 메모리기기의 물리적 편성과 일치하지 않을 수 있다. 고체상태 메모리기기들, 이를테면 플래시메모리 기기들은, 메모리의 물리적 블록들의 사용에 균형을 잡도록 데이터를 편성하여 기기가 써서 닳아지는 것을 방지한다. 이처럼, 액세싱 시스템들은 전형적으로는 고체상태 메모리기기에 의한 사용시에 파일시스템의 논리주소로부터 물리주소로의 번역을 수행하여, 파일 및 데이터 액세스가 느려진다.
이와 같이, 고체상태 메모리기기들의 데이터에 액세스하기 위한 시스템들 및 방법들이 소망될 것이다.
따라서, 본 발명의 목적은 고체상태 메모리기기들에서의 데이터에 액세스하기 위한 시스템들 및 방법들을 제공하고자 하는 것이다.
특정 실시예에서, 개시내용은 고체상태 메모리기기 및 프로세서를 구비한 휴대형 장치를 지향한다. 프로세서는 예를 들면 제어기이고 고체상태 메모리기기는 제어기에 응답할 수 있다. 예시적인 실시예에서, 고체상태 메모리기기는 객체기반 편성체계를 이용하여 편성된 데이터를 구비한다. 프로세서는 고체상태 메모리기기에 액세스하여 데이터를 검색하도록 구성되고 파일할당테이블(FAT) 호환가능한 형식을 이용하여, 이를테면 대용량 저장급(mass storage class; MSC) 통신프로토콜을 통해 데이터를 제공하도록 구성된다. 예시적인 실시예에서, 객체기반 편성은 매체전송프로토콜(MTP)과 호환가능하다. 휴대형 미디어 장치의 특정 실시예들은 엄지드라이브(thumb-drive) 기기 또는 휴대형 디지털오디오플레이어처럼 유용할 수 있다.
특정 실시예에서, 개시내용은 고체상태 메모리기기 및 프로세서를 구비한 휴대형 장치를 지향한다. 고체상태 메모리기기는 저장된 데이터 및 관련된 객체기반 편성데이터를 가지는 데이터객체를 구비한다. 고체상태 메모리기기는 프로세서에 응답한다. 프로세서는 고체상태 메모리기기에 액세스하여 데이터객체로부터 저장된 데이터를 검색하도록 구성되고 저장된 데이터를 대용량 저장급(MSC) 통신프로토콜을 이용하여 전달하도록 구성된다.
다른 예시적인 실시예에서, 개시내용은 고체상태 메모리기기에 저장된 데이터에 액세스하는 방법을 지향한다. 이 방법은 데이터파일을 위한 대용량 저장급(MSC) 요구를 수신하는 단계, 데이터파일에 관련된 데이터객체를 결정하는 단계, 및 저장된 데이터객체에 관련된 데이터에 액세스하는 단계를 구비한다. 데이터는 고체상태 메모리기기에 저장된다.
추가의 예시적인 실시예에서, 개시내용은 고체상태 메모리기기에서 데이터에 액세스하는 방법을 지향한다. 이 방법은 데이터객체를 고체상태 메모리기기에 저장하는 단계를 구비한다. 데이터객체는 메타데이터 및 데이터를 구비한다. 메타데이터는 가상 파일할당테이블 데이터를 구비한다. 이 방법은 가상 파일할당테이블 데이터를 데이터객체로부터 읽는 단계와 가상 파일할당테이블 데이터에 적어도 부분적으로 기초하여 가상 파일할당테이블을 생성하는 단계를 더 구비한다.
이 개시내용은 또한 예를 들면 고체상태 메모리기기에 데이터를 저장하는 방법을 지향한다. 이 방법은 저장을 위한 데이터를 포함한 대용량 저장급(MSC) 통신을 수신하고 데이터객체를 생성하는 단계를 구비한다. 데이터객체는 메타데이터 및 저장을 위한 데이터를 구비한다. 메타데이터는 가상 파일할당테이블 데이터를 구비한다. 이 방법은 고체상태 메모리기기에 데이터객체를 저장하는 단계를 더 구비한다.
더구나, 개시내용은 데이터객체를 저장하도록 구성된 고체상태 메모리기기를 위한 것이다. 데이터객체는 메타데이터 및 데이터를 구비한다. 메타데이터는 가상 파일할당테이블 데이터를 구비한다.
도 1은 제어기(104) 및 메모리기기(106)를 구비한 예시적인 시스템(100)의 도면이다. 메모리기기(106)는 제어기(104)에 응답한다. 더구나, 이 시스템(100)은 제어기(104)와 통신하는 호스트장치(102)를 구비할 수 있다. 예시적인 실시예에서, 호스트장치(102)는 범용직렬버스(USB) 인터페이스와 같은 직렬인터페이스를 통해 제어기(104)와 통신하는 원격 장치이다. 다른 예시적인 실시예에서, 호스트장치(102)와 제어기(104)는 소프트웨어 및 하드웨어의 결합으로 구현될 수 있는 시스템-온-어-칩(system-on-a-chip)의 일부를 형성할 수 있다. 추가 예에서, 제어기(104)는 프로세서일 수 있다. 호스트장치(102), 제어기(104) 및 메모리기기(106)는 함께 또는 제각기 하우징되거나, 또는 원격 하우징될 수 있다.
예시적인 실시예에서, 시스템(100)은 제어기(104) 및 메모리기기(106)를 구비하는 휴대형 장치이다. 이 휴대형 장치는 예를 들면 플래시메모리를 구비한 엄지 드라이브와 같은 휴대형 메모리기기, 또는 USB인터페이스를 통해 액세스 가능한 휴대형 하드드라이브일 수 있다. 다른 예에서, 휴대형 장치는 휴대형 미디어플레이어, 이를테면 MP3플레이어 또는 휴대형 비디오플레이어일 수 있다. 이러한 휴대형 장치들은 데이터를 저장하도록 구성될 수 있고, 특히, 오디오 또는 비디오 데이터와 같은 미디어데이터를 저장하도록 구성될 수 있다.
실시예에서, 메모리기기(106)는 고체상태 메모리기기이고, 특히, 불휘발성 고체상태 메모리기기이다. 예를 들면, 메모리기기(106)는 NAND 플래시메모리기기와 같은 플래시 메모리 기기일 수 있다.
제어기(104)는 메모리기기(106)에 저장하기 위한 데이터를 객체기반 편성체계로 편성하도록 구성될 수 있다. 예를 들면, 제어기(104)는 라이저(Reiser) FS 또는 라이저 4 시스템들과 같은 편성체계들에 기초하여 데이터를 객체들로 편성하도록 구성될 수 있다. 예시적인 실시예에서, 제어기(104)는 데이터를 매체전송프로토콜(MTP)과 같은 객체기반 통신프로토콜들과 호환 가능한 객체들로 편성하도록 구성된다. 매체전송프로토콜(MTP)은 객체 상호교환을 허용하는 휴대형 미디어기기들과 같은 기기들의 통신 및 제어를 위한 프로토콜이다. 이처럼, 메모리기기(106)는 객체들의 집합으로서 편성된 데이터를 구비할 수 있다. 특정 실시예에서, 편성 객체는 각종 유형들의 데이터객체들을 참조하는 컨테이너객체들을 구비할 수 있다. 데이터객체 유형으로는 오디오객체 유형, 비디오객체 유형 또는 파일객체 유형을 예를 들 수 있다.
호스트장치(102)가 제어기(104)에 MTP통신과 같은 객체기반 통신 요구를 이 용하여 액세스할 때, 제어기는 요구된 객체를 쉽사리 결정할 수 있고 메모리기기(106)에서 그 객체에 액세스할 수 있다. 예를 들면, 호스트장치(102)는 MTP통신을 이용하여 저장을 위한 데이터를 송신할 수 있고 제어기(104)는 메모리기기(106)에서 데이터가 저장되는 객체를 생성할 수 있다. 다른 예에서, 제어기(104)는 객체를 위한 MTP요구를 수신할 수 있고 제어기(104)는 메모리기기(106)에서 그 객체에 액세스할 수 있다.
예시적인 실시예에서, 제어기(104)는 가상 FAT파일시스템을 구비한다. 가상 FAT파일시스템은 객체기반 편성에 기초하여 생성될 수 있고 디렉터리테이블은 컨테이너객체들 및 이 컨테이너객체들에 관련된 데이터객체들에 기초하여 생성될 수 있다. 호스트장치(102)가 대용량 저장급(MSC) 통신과 같은 파일기반 통신을 이용하여 제어기(104)에 액세스할 때, 제어기(104)는 요구된 데이터에 관련된 객체를 결정할 수 있고 그 객체에 메모리기기(106)로부터 액세스할 수 있다. 제어기(104)는 객체를 MSC호환가능한 응답으로 번역하고 그 데이터를 파일기반 형식으로 제공할 수 있다. 게다가, 제어기(104)는 호스트장치(102)에 의한 요구에 응답하여 가상 파일할당테이블 및 가상 디렉터리테이블을 호스트장치(102)에 제공할 수 있다.
특정 실시예에서, 제어기(104)와 메모리기기(106)는 휴대형 메모리장치, 이를테면 엄지드라이브에 구비된다. 휴대형 메모리장치는 범용직렬버스(USB) 포트를 구비할 수 있다. 이처럼, 휴대형 메모리장치는 호환가능한 USB인터페이스를 가지는 호스트장치(102)와 결합될 수 있다. 호스트장치(102)에 의해 사용된 통신프로토콜에 의존하여, 호스트장치(102)는 파일기반요구 또는 객체기반요구를 이용하여 제어 기(104)에 액세스할 수 있다. 예를 들면, 호스트장치(102)는 USB MSC 통신과 같은 파일기반요구를 이용할 수 있다. 다른 예에서, 호스트장치(102)는 USB MTP 통신과 같은 객체통신을 이용하여 제어기(104)와 통신할 수 있다. 호스트장치(102)에 의해 사용된 통신형식에 기초하여, 제어기(104)는 객체기반 통신프로토콜 또는 파일기반 통신프로토콜을 이용하여 응답할 수 있다. 요구 형식이 객체기반 형식인 경우, 제어기(104)는 통신에 관련된 객체를 결정하고 그 객체를 메모리기기(106)에서 액세스할 수 있다. 통신이 파일기반 형식을 이용하는 경우, 제어기(104)는 통신을 인터셉트하며, 이 통신에 관련된 객체를 결정하며, 객체에 액세스하고, 호스트장치(102)로부터의 통신에 응답하여 파일기반 통신을 준비한다. 이런 식으로, 제어기(104)에 의해 MTP와 같은 객체기반형식으로 수신되는 통신은 메모리기기에 저장된 본래의 편성을 이용하여 다루어질 수 있다. 반면에, MSC와 같은 파일기반형식을 이용하는 통신은, 객체와 파일기반 응답으로 번역되는 객체데이터를 결정하도록 번역되고 인터프리트된다.
예시적인 실시예에서, 도 2는 예시적인 저장시스템(200)의 도면을 포함하며, 이 저장시스템은 제어기(202) 및 메모리기기(204)를 구비한다. 제어기(202)는 USB인터페이스와 같은 인터페이스(214)를 구비한다. 더구나, 제어기(202)는 메모리기기(204)에 대한 인터페이스(212)를 구비한다. 제어기(202)는 객체기반 시스템(206)을 구비하며, 이 객체기반 시스템은 메모리기기(204)와 상호작용하여 객체(208)와 같은 객체들을 메모리기기(204)에 저장한다. 특정 실시예에서, 객체기반 시스템(206)은 라이저 FS 시스템 또는 라이저 4 시스템과 같은 시스템이다. 더구나, 제어 기(202)는 가상 FAT파일시스템(210)을 구비할 수 있다. 하나의 예시적인 실시예에서, 가상 FAT파일시스템(210)은 가상 파일할당테이블과 가상 디렉터리테이블을 구비한다. 더구나, 가상 FAT파일시스템은 논리주소를 객체에 관련시키는 테이블을 구비할 수 있다.
제어기(202)가 인터페이스(214)를 통해 USB MTP 요구와 같은 객체 호환가능한 형식으로 요구를 수신하는 경우, 객체기반 시스템(206)은 통신에 관련된 객체를 결정하고 메모리기기(204)에서 그 객체에 액세스한다. 예를 들면, 통신은 객체를 위한 요구를 구비할 수 있다. 객체기반 시스템(206)은 요구에 응답하여 전송하기 위해 메모리기기(204)로부터 객체에 액세스한다. 다른 예시적인 실시예에서, 통신은 메모리기기(204)에 저장하기 위한 객체를 구비한다. 객체기반 시스템(206)은 객체를 저장하도록 메모리기기(204)에 지시한다. 객체를 저장할 때, 제어기(202)는 객체와 함께 저장하기 위한 가상 파일할당테이블 데이터를 생성할 수도 있다. 예를 들면, 시스템(206)은 가상 파일할당테이블 데이터를 객체(208)의 메타데이터에 저장할 수 있다. 특정 실시예에서, 객체기반 시스템(206)은 가상 FAT파일시스템(210)과 상호작용하여 객체(208)의 메타데이터에 저장하려는 가상 파일할당테이블 데이터를 결정한다.
요구가 제어기(202)에 의해 인터페이스(214)를 통해 USB MSC 형식과 같은 파일기반 형식으로 수신되는 경우, 이 요구는 가상 FAT시스템(210)에 의해 인터프리트될 수 있다. 예를 들면, 파일기반 통신은 파일할당테이블 또는 디렉터리테이블을 요구할 수 있다. 가상 파일할당테이블 시스템(210)은 이 요구에 응답하여 가상 파 일할당테이블 또는 디렉터리테이블을 제공할 수 있다. 파일기반 통신이 저장용 데이터를 메모리기기(204)에 구비하는 경우, 제어기(202)는 파일기반 통신으로 구비된 데이터를 저장하기 위한 객체를 생성할 수 있다. 객체는 메타데이터에 가상 파일할당테이블 데이터를 구비할 수 있고 가상 파일할당테이블 및 디렉터리테이블은 갱신될 수 있다. 특정 실시예에서, 가상 파일할당테이블은 객체에 관련된 논리위치들을 구비한다. 파일에 관한 요구가 수신되는 경우, 가상 파일할당테이블 시스템(210)은 데이터용 요구를 객체정체(object identity)로 번역한다. 객체정체에 관련된 객체는 객체기반 시스템(206)에 의해 메모리기기(204)로부터 검색될 수 있다.
예시적인 실시예에서, 데이터는 도 3에 도시된 바와 같이 객체들로서 저장된다. 예를 들면 객체(300)는 메타데이터(302)와 데이터(304)를 구비할 수 있다. 전형적으로, 메타데이터(302)는 객체유형과 같은 정보와 데이터에 관한 정보를 구비한다. 특정 실시예에서, 미디어 객체는 아티스트, 앨범, 및 저작권 데이터에 관한 정보를 구비할 수 있다. 더구나, 메타데이터(302)는 가상 FAT데이터(306)를 구비한다. 특정 실시예에서, 가상 FAT데이터(306)는 논리주소정보 이를테면 논리클러스터 데이터를 구비한다. 논리주소정보는 논리주소위치에 관련된 요구가 수신될 때 객체(300)를 식별하는데 유용할 수 있다.
장치의 초기화 하에 또는 기입동작 후, 시스템은 데이터객체(300)로부터 가상 FAT데이터(306)에 액세스하여 가상 파일할당테이블 및 가상 디렉터리테이블을 생성할 수 있다. 요구가 파일에 관해 수신될 때, 가상 파일할당테이블 시스템은 어떤 객체가 그 파일에 관련되는지를 결정할 수 있고 제어기는 데이터객체(300)로부 터 데이터(304)를 검색할 수 있다. 예를 들면, 호스트시스템은 파일할당테이블을 요구할 수 있고 제어기에 의해 제공된 가상 파일할당테이블에 기초하여 논리적 파일위치를 결정할 수 있다. 호스트시스템은 논리적 파일위치로부터 데이터를 요구할 수 있다. 제어기는 요구를 인터셉트하고 논리적 파일위치를 객체(300)에 번역할 수 있다. 이처럼, 객체(300)의 데이터(304)는 요구의 응답으로 전송되는 파일기반 통신에 통합될 수 있다.
예를 들면, 도 4는 메모리기기에 저장된 데이터에 액세스하기 위한 예시적인 방법의 예를 포함한다. 이 방법(400)은 402에 도시된 것처럼 가상 파일할당테이블 데이터를 데이터객체로부터 읽는 단계를 포함한다. 예를 들면, 컨테이너객체들 및 미디어객체들을 구비하는 각 데이터객체는 가상 파일할당테이블 데이터를 가지는 메타데이터를 구비할 수 있다. 예시적인 실시예에서, 가상 파일할당테이블 데이터는 논리주소가 호스트시스템에 의해 요구될 때 객체를 식별하는 정보를 구비한다. 가상 파일할당테이블 데이터는 가상 디렉터리테이블을 생성하는데 유용한 파일명, 확장명, 속성, 만든 날짜, 및 제1논리클러스터의 주소와 같은 정보를 구비할 수도 있다.
적어도 부분적으로는 가상 파일할당테이블 데이터에 기초하여, 404에 도시된 바와 같이, 시스템은 가상 파일할당테이블 및 가상 디렉터리테이블을 생성할 수 있다. 시스템은 컨테이너객체들 및 데이터객체들로부터 모아진 가상 파일할당테이블 데이터에 적어도 부분적으로 기초하여 디렉터리테이블을 생성할 수 있다. 예를 들면, 가상 파일할당테이블은 논리클러스터들을 위한 엔트리들을 구비할 수 있고 루 트디렉터리테이블은 제1논리클러스터에 관한 주소를 포함하여 객체들에 관련된 가상 파일들에 관한 정보를 구비할 수 있다.
요구에 응답하여, 시스템은 가상 파일할당테이블을 406에 도시된 것처럼 전송할 수 있다. 더구나, 이 시스템은 가상 디렉터리테이블을 전송할 수 있다. 예를 들면, 이 시스템은 메모리기기의 FAT영역 및 디렉터리영역으로부터 데이터를 위한 파일기반 형식으로 요구를 수신할 수 있다. 특정 실시예에서, 시스템은 메모리기기의 제1논리클러스터를 위한 요구를 수신할 수 있다. 이 시스템은 이 요구를 인터셉트하고 요구에 응답하여 가상 파일할당테이블 및 가상 디렉터리테이블을 제공할 수 있다.
가상 파일할당테이블 및 가상 디렉터리테이블을 이용하여, 호스트장치는 메모리기기의 논리위치로부터 데이터를 요구할 수 있다. 예시적인 실시예에서, 도 5는 메모리기기로부터 데이터에 액세스하기 위한 예시적인 방법(500)의 도면을 포함한다. 예를 들면, 이 시스템은 502에 도시된 바와 같이 파일할당테이블 및 루트디렉터리테이블에 관한 요구를 수신할 수 있다. 특정 실시예에서, 호스트장치는 메모리기기의 FAT영역 및 디렉터리영역에 관련된 논리주소로부터 데이터를 요구할 수 있다. 응답하여, 시스템은 504에 도시된 것처럼 가상 파일할당테이블을 제공할 수 있다. 이 시스템은 가상 디렉터리테이블을 제공할 수도 있다.
가상 파일할당테이블 및 가상 디렉터리테이블을 이용하여, 호스트장치는 어떤 파일데이터가 요구되는지와 파일데이터의 위치를 결정할 수 있다. 호스트장치는 그 위치로부터 데이터를 요구할 수 있다. 이처럼, 시스템은 506에 도시된 바와 같 이 호스트장치로부터 파일데이터에 관한 요구를 수신할 수 있다. 특정 실시예에서, 요구는 논리주소를 포함한 MSC요구이고, 객체에 관련된 가상 파일과 관련된 섹터 및 오프셋 위치를 구비할 수 있다.
파일요구에 기초하여, 시스템은 508에 도시된 바와 같이 파일에 관련된 객체를 결정할 수 있다. 예를 들면, 파일요구는 액세스하려는 데이터의 위치를 구비할 수 있다. 이 시스템은 객체를 논리위치와 관련시키는 테이블에 적어도 부분적으로 기초하여 위치가 객체와 관련된다고 결정할 수 있다. 이처럼, 시스템은 510에 도시된 바와 같이 객체에 액세스하여 요구된 데이터를 획득할 수 있다.
일단 요구된 데이터가 획득되었다면, 시스템은 호스트장치에 전송하기 위한 데이터를 구비한 파일기반 통신을 준비할 수 있다. 예를 들면, 시스템은 512에 도시된 바와 같이 파일데이터를 구비한 호스트 호환가능한 통신을 준비할 수 있고, 514에 도시된 바와 같이 파일데이터를 호스트 호환가능한 통신을 호스트장치에 전송할 수 있다.
호스트장치가 저장을 위한 데이터를 제공하는 경우, 시스템은 데이터를 저장하는 객체를 생성하고 그 객체를 메모리기기에 저장할 수 있다. 예를 들면, 도 6은 파일기반통신 형식으로 수신되는 데이터를 저장하기 위한 예시적인 방법(600)의 도면을 포함한다. 예시적인 실시예에서, 시스템은 602에 도시된 바와 같이 저장을 위한 데이터를 구비한 대용량 저장급(MSC) 통신을 수신한다. 예를 들면, 이 대용량 저장급 통신은 저장을 위한 데이터와 이 데이터가 저장되는 논리위치를 포함할 수 있다. 응답하여, 시스템은 604에 도시된 바와 같이 데이터를 구비한 객체로서 이 객체에 관련된 메타데이터를 구비한 객체를 생성할 수 있다. 실시예에서, 메타데이터는 가상 FAT데이터를 구비한다. 특정 실시예에서, 가상 FAT데이터는 논리위치에 관한 정보를 구비한다.
예에서, 시스템은 606에 도시된 바와 같이 데이터를 메모리기기에 저장할 수 있다. 더구나, 시스템은 608에 도시된 바와 같이 가상 파일할당테이블을 갱신할 수 있고, 디렉터리테이블을 갱신할 수 있다.
다양한 실시예들에 따라, 여기에 기재된 방법들은 컴퓨터 프로세서상에서 실행되는 하나 이상의 소프트웨어 프로그램으로서 구현될 수 있다. 마찬가지로, 특용 집적회로, 프로그램가능 로직 어레이들 및 다른 하드웨어 기기들을 포함하나 그것들에 한정되지는 않는 전용 하드웨어 구현물들은 여기에 기재된 방법들을 구현하도록 구성될 수 있다. 게다가, 분산처리 또는 컴포넌트/객체 분산처리, 병렬처리, 또는 가상 기계처리를 포함하나 그것들에 한정되지는 않는 대체 소프트웨어 구현물들이 여기에 기재된 방법들을 구현하도록 구성될 수도 있다.
개시된 방법들을 구현하는 소프트웨어는 선택 사항적으로는 유형의 저장매체, 이를테면, 디스크 또는 테이프와 같은 자기매체, 디스크와 같은 자기-광 또는 광 매체, 또는 하나 이상의 읽기전용(불휘발성) 메모리들, 임의접근메모리들, 또는 다른 재기록가능(휘발성) 메모리들을 수용하는 메모리카드 또는 다른 패키지와 같은 고체상태매체에 저장될 수 있다. 소프트웨어는 컴퓨터명령어들을 담고 있는 신호를 이용할 수도 있다. 이메일의 디지털파일첨부물 또는 다른 자급식 정보 아카이브 또는 아카이브들의 집합이 유형의 저장매체에 등가인 배포매체(distribution medium)로 간주된다. 따라서, 개시내용은 여기서의 소프트웨어 구현물들이 저장될 수 있는 여기에 열거된 유형의 저장매체 또는 배포매체과, 다른 등가물들 및 후속 매체들을 포함한다고 간주된다.
본 명세서가 특정 표준들 및 프로토콜들을 참조하여 특정 실시예들로 구현될 수 있는 구성요소들 및 기능들을 설명하고 있지만, 본 발명은 그러한 표준들 및 프로토콜들에 한정되지는 않는다. 예를 들면, 라이저 FS 및 라이저 4와 같은 객체기반 편성시스템들은 이 기술분야의 상태의 예들이다. 이러한 표준들은 본질적으로 동일한 기능들을 갖는 더 고속이거나 더 효율적인 등가물들에 의해 주기적으로 대체된다. 따라서, 여기에 개시된 그러한 것들과 동일하거나 유사한 기능들을 가지는 대체 표준들 및 프로토콜들이 그 등가물(동등물)들이라고 간주된다.
개시내용의 하나 이상의 실시예들은 여기서, 단지 편의성을 위해 "발명"이라는 용어에 의해 그리고 이 출원의 범위를 임의의 특정 발명 또는 발명적 개념으로 자발적으로 제한하는 의도 없이 개별적으로 및/또는 총괄적으로 말하여질 수 있다. 더욱이, 특정 실시예들이 여기에 도시되고 설명되었지만, 동일하거나 유사한 제안을 달성하도록 디자인된 임의의 후속 구성이 도시된 특정 실시예들 대신 사용될 수 있다는 것이 이해될 것이다. 이 개시내용은 각종 실시예들의 임의의 및 모든 후속 개조물들 또는 변형물들을 커버하도록 의도된다. 위의 실시예들 및 여기에 구체적으로 기재되지 않은 다른 실시예들의 조합들은, 설명을 재고하면 이 기술의 당업자에게는 명확하게 될 것이다.
이 개시내용의 요약은 37 C.F.R §1.72(b)에 부합하도록 제공되고 청구범위 의 범위나 의미를 해석하거나 제한하는데 사용되지 않을 것이라는 믿음으로 제출된다. 더구나, 앞서의 상술한 설명에서, 각종 특징들은 개시내용을 합리화할 목적으로 단일 실시예에서 설명되거나 함께 그룹지어질 수 있다. 이 개시내용은 청구된 실시예들이 각 청구항에서 확실히 언급된 것 이상의 특징들을 요구한다는 의도를 반영하는 것으로는 해석되지 않는다. 차라리, 다음의 청구범위 반영될 때, 발명적인 요지는 개시된 실시예들 중의 어느 것의 특징들 모두보다 적은 것이 될 수 있다. 따라서, 다음의 청구범위는 상세한 설명에 통합되어, 각 청구항은 자신 소유의 것에 의존하여 청구된 요지를 정의하는 것이 된다.
위에 개시된 요지는 예시적인 것으로 간주되나 제한적인 것으로 간주되지 않고, 첨부의 청구범위는 본 발명의 진정한 범위 내에 드는 모든 그러한 변형들, 개량들, 및 다른 실시예들을 커버하도록 의도된다. 따라서, 법에 의해 허용되는 최대한도로, 본 발명의 범위는 다음의 청구항들과 그것들의 동등물들의 가장 넓게 허용가능한 해석에 의해 결정될 것이고, 앞서의 상세한 설명에 의해 제한되거나 한정되지 않을 것이다.
이상 설명한 바와 같이 본 발명에 의하면, 고체상태 메모리기기들로부터 데이터에 액세스할 수 있는 시스템들 및 방법들이 제공된다.

Claims (32)

  1. 저장된 데이터 및 관련된 객체기반 편성데이터를 가지는 데이터객체를 구비하는 고체상태 메모리기기로서, 객체기반 편성데이터는 메타데이터를 구비하며, 메타데이터는 가상 파일할당테이블 데이터를 구비하는 고체상태 메모리기기; 및
    고체상태 메모리기기가 응답하는 프로세서로서, 고체상태 메모리기기에 액세스하여 저장된 데이터를 데이터객체로부터 검색하도록 구성된 그리고 저장된 데이터를 대용량 저장급(mass storage class; MSC) 통신프로토콜을 이용하여 통신하도록 구성된 프로세서를 포함하는 휴대형 장치.
  2. 제1항에 있어서, 데이터객체는 매체전송프로토콜(MTP)과 호환가능한 휴대형 장치.
  3. 제1항에 있어서, 상기 프로세서에 응답하는 범용직렬버스(USB)를 더 포함하며, 상기 프로세서는 대용량 저장급(MSC) 통신프로토콜을 이용하여 범용직렬버스(USB)를 통해 데이터를 제공하도록 구성된 휴대형 장치.
  4. 제1항에 있어서, 고체상태 메모리기기는 불휘발성 메모리소자를 구비한 휴대형 장치.
  5. 제4항에 있어서, 불휘발성 메모리소자는 플래시메모리소자인 휴대형 장치.
  6. 제5항에 있어서, 플래시메모리소자는 NAND 플래시메모리소자인 휴대형 장치.
  7. 삭제
  8. 제1항에 있어서, 상기 프로세서는 복수 개의 객체들에 액세스하도록 그리고 가상 파일할당테이블 데이터에 기초하여 가상 파일할당테이블을 생성하도록 구성된 휴대형 장치.
  9. 제1항에 있어서, 상기 프로세서는 복수 개의 객체들에 액세스하도록 그리고 가상 파일할당테이블 데이터에 기초하여 가상 디렉터리테이블을 생성하도록 구성된 휴대형 장치.
  10. 저장된 데이터 및 관련된 객체기반 편성데이터를 가지는 복수 개의 데이터객체들을 구비하는 고체상태 메모리기기로서, 객체기반 편성데이터는 메타데이터를 구비하며, 메타데이터는 가상 파일할당테이블 데이터를 구비하고, 가상 파일할당테이블 데이터는 논리클러스터 데이터를 구비하는 고체상태 메모리기기; 및
    고체상태 메모리기기가 응답하는 프로세서로서, 고체상태 메모리기기에 액세스하여 저장된 데이터를 데이터객체로부터 검색하도록 구성된 그리고 저장된 데이터를 대용량 저장급(mass storage class; MSC) 통신프로토콜을 이용하여 통신하도록 구성된 프로세서를 포함하는 휴대형 장치.
  11. 저장된 데이터 및 관련된 객체기반 편성데이터를 가지는 데이터객체를 구비하는 고체상태 메모리기기; 및
    고체상태 메모리기기가 응답하는 프로세서로서, 고체상태 메모리기기에 액세스하여 저장된 데이터를 데이터객체로부터 검색하도록 구성된 그리고 저장된 데이터를 대용량 저장급(mass storage class; MSC) 통신프로토콜을 이용하여 통신하도록 구성된 프로세서를 포함하며,
    상기 프로세서는 파일할당테이블을 요구하는 대용량 저장급 통신을 수신하도록 구성되고, 상기 프로세서는 파일할당테이블을 요구하는 대용량 저장급(MSC) 통신의 수신에 응답하여 가상 파일할당테이블을 제공하도록 구성된 휴대형 장치.
  12. 제11항에 있어서, 상기 프로세서는 데이터에 관한 대용량 저장급(MSC) 요구를 수신하도록 그리고 상기 데이터를 구비한 데이터객체를 결정하도록 구성된 휴대형 장치.
  13. 고체상태 메모리기기에 저장된 데이터에 액세스하는 제어기에 의해 수행되는 방법에 있어서,
    데이터파일에 관한 대용량 저장급(MSC) 요구를 수신하는 단계;
    상기 데이터파일에 관련된 데이터객체를 결정하는 단계; 및
    데이터 파일의 데이터에 액세스하는 단계로서, 데이터 파일의 데이터는 데이터 객체에 포함되고, 데이터 객체는 고체상태 메모리기기에 저장된 단계를 포함하며,
    고체상태 메모리기기에 저장된 데이터 객체는 가상 파일할당테이블 데이터를 갖는 메타데이터를 구비하는 방법.
  14. 제13항에 있어서, 고체상태 메모리기기는 불휘발성 메모리소자인 방법.
  15. 제13항에 있어서, 대용량 저장급(MSC) 요구는 데이터파일의 섹터 및 오프셋 위치를 구비하는 방법.
  16. 삭제
  17. 제13항에 있어서, 가상 파일할당테이블 데이터에 기초하여 가상 파일할당테이블을 생성하는 단계를 더 포함하는 방법.
  18. 제17항에 있어서, 파일할당테이블에 관한 요구에 응답하여 가상 파일할당테이블을 제공하는 단계를 더 포함하는 방법.
  19. 제13항에 있어서,
    저장용 데이터파일을 구비한 대용량 저장급(MSC) 통신을 수신하는 단계;
    데이터파일의 데이터 및 메타데이터를 구비한 데이터객체를 생성하는 단계로서, 메타데이터는 가상 파일할당테이블 데이터를 구비한 단계; 및
    데이터객체를 고체상태 메모리기기에 저장하는 단계를 더 포함하는 방법.
  20. 고체상태 메모리기기에 액세스하는 제어기에 의해 수행되는 방법에 있어서,
    데이터객체를 고체상태 메모리기기에 저장하는 단계로서, 데이터객체는 메타데이터 및 데이터를 구비하며, 메타데이터는 가상 파일할당테이블 데이터를 구비하는 단계;
    가상 파일할당테이블 데이터를 데이터객체로부터 읽는 단계; 및
    가상 파일할당테이블 데이터에 기초하여 가상 파일할당테이블 데이터를 생성하는 단계를 포함하는 방법.
  21. 제20항에 있어서, 가상 파일할당테이블 데이터는 논리클러스터 데이터를 구비하는 방법.
  22. 제20항에 있어서, 가상 파일할당테이블 데이터에 기초하여 디렉터리테이블을 생성하는 단계를 더 포함하는 방법.
  23. 제20항에 있어서, 파일할당테이블에 관한 요구를 호스트장치로부터 수신하는 단계; 및
    가상 파일할당테이블을 호스트장치에 제공하는 단계를 더 포함하는 방법.
  24. 제23항에 있어서, 디렉터리테이블을 상기 요구의 수신에 응답하여 제공하는 단계를 더 포함하는 방법.
  25. 데이터를 고체상태 메모리기기에 저장하기 제어기에 의해 수행되는 방법에 있어서,
    저장용 데이터를 구비한 대용량 저장급(MSC) 통신을 수신하는 단계;
    데이터객체를 생성하는 단계로서, 상기 데이터객체는 메타데이터 및 저장용 데이터를 구비하며, 메타데이터는 가상 파일할당테이블 데이터를 구비하는 단계; 및
    데이터객체를 고체상태 메모리기기에 저장하는 단계를 포함하는 방법.
  26. 제25항에 있어서, 가상 파일할당테이블 데이터는 논리클러스터 데이터를 구비하는 방법.
  27. 제25항에 있어서, 가상 파일할당테이블 및 디렉터리테이블을 가상 파일할당테이블 데이터에 기초하여 생성하는 단계를 더 포함하는 방법.
  28. 제27항에 있어서, 파일할당테이블에 관한 요구를 호스트장치로부터 수신하는 단계; 및
    상기 요구에 응답하여 가상 파일할당테이블을 호스트장치에 제공하는 단계를 더 포함하는 방법.
  29. 제28항에 있어서, 상기 요구의 수신에 응답하여 디렉터리테이블을 제공하는 단계를 더 포함하는 방법.
  30. 데이터객체를 저장하고 있도록 구성된 고체상태 메모리기기로서, 데이터객체는 메타데이터 및 데이터를 구비하며, 메타데이터는 가상 파일할당 데이터를 구비한 고체상태 메모리기기.
  31. 제30항에 있어서, 데이터객체는 매체전송프로토콜(MTP)과 호환가능한 고체상 태 메모리기기.
  32. 제30항에 있어서, 가상 파일할당 데이터는 논리주소 위치정보를 구비하는 고체상태 메모리기기.
KR1020060014513A 2005-10-31 2006-02-15 메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법 KR100820263B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/262,903 US20070100893A1 (en) 2005-10-31 2005-10-31 System and method for accessing data from a memory device
US11/262,903 2005-10-31

Publications (2)

Publication Number Publication Date
KR20070046693A KR20070046693A (ko) 2007-05-03
KR100820263B1 true KR100820263B1 (ko) 2008-04-07

Family

ID=36119828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060014513A KR100820263B1 (ko) 2005-10-31 2006-02-15 메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법

Country Status (5)

Country Link
US (1) US20070100893A1 (ko)
KR (1) KR100820263B1 (ko)
GB (1) GB2431750A (ko)
TW (1) TWI335507B (ko)
WO (1) WO2007055708A2 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US20080288099A1 (en) * 2007-05-18 2008-11-20 William Thanos Digital media player with improved user experience
US20080288097A1 (en) * 2007-05-18 2008-11-20 William Thanos Method for improving a digital media player experience
US8655463B2 (en) * 2007-05-18 2014-02-18 Sandisk Technologies Inc. Method for avoiding refreshing a database of metadata associated with digital media content
US20080288096A1 (en) * 2007-05-18 2008-11-20 William Thanos Digital media player with circuitry for avoiding refreshing a database of metadata associated with digital media content
EP2149096A2 (en) * 2007-05-18 2010-02-03 Sandisk Corporation Digital media player and method for avoiding refreshing a database of metadata associated with digital media content and for providing an improved user experience
US8539233B2 (en) * 2007-05-24 2013-09-17 Microsoft Corporation Binding content licenses to portable storage devices
US20090083765A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Accessing device-hosted services from scripting and other programming environments
US8201188B2 (en) 2007-09-20 2012-06-12 Microsoft Corporation Device-hosted services over media transfer protocol
US20090132676A1 (en) * 2007-11-20 2009-05-21 Mediatek, Inc. Communication device for wireless virtual storage and method thereof
US20090193153A1 (en) * 2007-12-26 2009-07-30 Thanos William N MTP-capable USB device and methods for use therewith
US20090222588A1 (en) * 2008-02-28 2009-09-03 Broadcom Corporation Portable device and remote computer synchronization
US8788634B2 (en) 2008-02-28 2014-07-22 Broadcom Corporation Portable device upgrade via a content transfer protocol
US8671215B2 (en) * 2008-02-28 2014-03-11 Broadcom Corporation Portable communications framework
US20090222602A1 (en) * 2008-02-28 2009-09-03 Broadcom Corporation Optimized data transfer between a portable device and a remote computer
CN102047237B (zh) * 2008-05-28 2014-12-10 惠普开发有限公司 在虚拟机之间提供对象级输入/输出请求以存取存储子系统
US9208118B2 (en) * 2008-06-10 2015-12-08 Lg Electronics Inc. Communication device, a method of processing signal in the communication device and a system having the communication device
US20100042580A1 (en) * 2008-08-14 2010-02-18 Chih-Hung Cheng Method of for a Host to Access an Object Stored in a Multimedia Device Supported by MTP
US20100070544A1 (en) * 2008-09-12 2010-03-18 Microsoft Corporation Virtual block-level storage over a file system
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US20100153474A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Discardable files
US8375192B2 (en) * 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US8205060B2 (en) * 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US20100235329A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
IT1398897B1 (it) * 2010-03-02 2013-03-21 Brondani Interfaccia usb multifunzionale semplificata
US20110302224A1 (en) * 2010-06-08 2011-12-08 Rahav Yairi Data storage device with preloaded content
US8468007B1 (en) * 2010-08-13 2013-06-18 Google Inc. Emulating a peripheral mass storage device with a portable device
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US8849880B2 (en) 2011-05-18 2014-09-30 Hewlett-Packard Development Company, L.P. Providing a shadow directory and virtual files to store metadata
WO2012170004A1 (en) 2011-06-06 2012-12-13 Hewlett-Packard Development Company, L.P. Cross-protocol locking with a file system
CN104077378A (zh) * 2014-06-23 2014-10-01 广东新支点技术服务有限公司 Mtp文件系统优化方法和装置
CN108255758A (zh) * 2018-01-15 2018-07-06 播思通讯技术(北京)有限公司 一种保护智能设备通用接口方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000032881A (ko) * 1998-11-18 2000-06-15 윤종용 휴대용 단말기의 데이터 저장 장치 및 방법
KR20030095438A (ko) * 2002-06-10 2003-12-24 삼성전자주식회사 플래쉬 메모리용 파일 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032614T2 (de) * 1989-11-03 1999-04-15 Compaq Computer Corp Verfahren zur Datenverteilung in einer Speicherplattenanordnung
US5508821A (en) * 1992-04-09 1996-04-16 Matsushita Electric Industrial Co., Ltd. Image scanner and image forming apparatus with an interface for connection with an external computer
US5471604A (en) * 1992-10-30 1995-11-28 Intel Corporation Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
EP0834812A1 (en) * 1996-09-30 1998-04-08 Cummins Engine Company, Inc. A method for accessing flash memory and an automotive electronic control system
JP4141581B2 (ja) * 1999-04-05 2008-08-27 株式会社ルネサステクノロジ フラッシュメモリを搭載する記憶装置
EP1206741A1 (en) * 1999-08-11 2002-05-22 Spinware, Inc. System and method for controlling access to data stored in a portable storage medium
AU2001271782A1 (en) * 2000-07-06 2002-01-21 Wyeth Use of substituted insole compounds for treating excessive intraocular pressure
US6871245B2 (en) * 2000-11-29 2005-03-22 Radiant Data Corporation File system translators and methods for implementing the same
CN1674587A (zh) * 2004-03-23 2005-09-28 株式会社东芝 信息终端机及其数据传送方法
US7536486B2 (en) * 2004-07-30 2009-05-19 Microsoft Corporation Automatic protocol determination for portable devices supporting multiple protocols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000032881A (ko) * 1998-11-18 2000-06-15 윤종용 휴대용 단말기의 데이터 저장 장치 및 방법
KR20030095438A (ko) * 2002-06-10 2003-12-24 삼성전자주식회사 플래쉬 메모리용 파일 시스템

Also Published As

Publication number Publication date
GB0602660D0 (en) 2006-03-22
GB2431750A (en) 2007-05-02
KR20070046693A (ko) 2007-05-03
US20070100893A1 (en) 2007-05-03
TWI335507B (en) 2011-01-01
WO2007055708A2 (en) 2007-05-18
TW200717237A (en) 2007-05-01
WO2007055708A3 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
KR100820263B1 (ko) 메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법
US20220129374A1 (en) Memory system, data storage device, user device and data management method thereof
US8972426B2 (en) Storage device presenting to hosts only files compatible with a defined host capability
US7069380B2 (en) File access method in storage-device system, and programs for the file access
US8539174B2 (en) Use by a host device having a first file system of a portable storage device having a second file system and supporting file segmentation
US7783854B2 (en) System and method for expandable non-volatile storage devices
US7546307B2 (en) Virtual block storage to filesystem translator
US8990228B2 (en) Systems and methods for arbitrary data transformations
US9235583B2 (en) Virtual media with folder-mount function
US20090019223A1 (en) Method and systems for providing remote strage via a removable memory device
TW201109956A (en) Data storage access device
WO2008048388A2 (en) Virtual memory card controller
KR101055324B1 (ko) 강화된 호스트 인터페이스
US20170068686A1 (en) Accessing a block based volume as a file based volume
CN102236609B (zh) 存储设备及其访问方法
JP4401863B2 (ja) ストレージシステム
US7689807B2 (en) Mass storage device, mass storage controller and methods for use therewith
WO2018089876A1 (en) Systems and methods for storing large files using file allocation table based file systems
US20050138011A1 (en) Meta-data storage and access techniques
US20110078391A1 (en) Information recording apparatus, information recording method, and computer-readable medium
CN100444166C (zh) Fat文件系统中基于位置的接口访问方法及其装置
KR100400546B1 (ko) 디지탈 파일 기록 및 액세스 방법
CN103106049A (zh) 一种移动存储设备及其访问方法

Legal Events

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

Payment date: 20120326

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130322

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee