KR100450080B1 - 유에스비기반의 이동형 저장장치 및 그 제어방법 - Google Patents

유에스비기반의 이동형 저장장치 및 그 제어방법 Download PDF

Info

Publication number
KR100450080B1
KR100450080B1 KR10-2001-0070564A KR20010070564A KR100450080B1 KR 100450080 B1 KR100450080 B1 KR 100450080B1 KR 20010070564 A KR20010070564 A KR 20010070564A KR 100450080 B1 KR100450080 B1 KR 100450080B1
Authority
KR
South Korea
Prior art keywords
host computer
usb
ufi
information
flash memory
Prior art date
Application number
KR10-2001-0070564A
Other languages
English (en)
Other versions
KR20030039598A (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 (주)지에스텔레텍
Priority to KR10-2001-0070564A priority Critical patent/KR100450080B1/ko
Priority to US09/996,219 priority patent/US6757783B2/en
Priority to EP01309994A priority patent/EP1310908A3/en
Priority to CA002364089A priority patent/CA2364089A1/en
Priority to MXPA01012276A priority patent/MXPA01012276A/es
Priority to PCT/KR2001/002183 priority patent/WO2003042847A1/en
Publication of KR20030039598A publication Critical patent/KR20030039598A/ko
Application granted granted Critical
Publication of KR100450080B1 publication Critical patent/KR100450080B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • 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
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 호스트컴퓨터에 USB 및 UFI 방식으로 간단히 인식 및 구동되고, 플래쉬 메모리의 용량확장이 용이함과 더불어 데이터 쓰기속도를 향상시킴으로써 이용자의 편의성을 향상시킬 수 있도록 된 USB 기반의 이동형 저장장치 및 그 제어방법에 대한 것으로서, 이는 UFI 프로토콜을 지원하는 호스트컴퓨터의 USB 포트에 접속되고 USB 표준을 지원하는 이동형 저장장치에 있어서, 상기 이동형 저장장치는 상기 호스트컴퓨터의 USB 포트에 물리적으로 접속하기 위한 USB 콘넥터; 상기 호스트컴퓨터로부터 전송되는 데이터를 비휘발적으로 저장하기 위한 적어도 하나의 플래쉬 메모리; USB 및 UFI 방식에 따른 소정 동작프로그램이 저장된 프로그램저장부 및; 상기 프로그램저장부의 동작프로그램을 근거로 장치의 전반적인 동작을 제어하는 제어부를 구비하여 구성되며, 상기 프로그램저장부의 동작프로그램은 상기 플래쉬 메모리의 헤더블록정보를 검사/갱신하기 위한 메모리 처리블록, 상기 호스트컴퓨터로 UFI 드라이버 로딩을 위한 장치 및 인터페이스 디스크립터정보를 전송하기 위한 장치인식 처리블록, 상기 호스트컴퓨터로부터 전송되는 UFI 명령별로 소정 UFI 응답패킷을 생성하여 호스트컴퓨터로 전송하기 위한 UFI 처리블록을 포함하여 구성된 것을 특징으로 한다.

Description

유에스비기반의 이동형 저장장치 및 그 제어방법{Portable storage medium based on Universal Serial Bus standard and Control Method therefor}
본 발명은 플래쉬 메모리를 이용한 이동형 저장장치에 대한 것으로서, 특히 호스트컴퓨터에 USB(Universal Serial Bus)와 UFI(USB Floppy Interface) 방식으로 간단히 인식 및 구동되고, 플래쉬 메모리의 용량확장이 용이함과 더불어 데이터 쓰기속도를 향상시킴으로써 이용자의 편의성을 향상시킬 수 있도록 된 USB 기반의 이동형 저장장치 및 그 제어방법에 대한 것이다.
종래 하드디스크와 같은 고정형 저장장치를 보조하는 이동형 저장장치로는 플로피디스크, CD 롬, 집드라이브(ZIP DRIVE) 디스켓등을 들 수 있다. 그러나 상기한 이동형 저장장치의 경우 각각 이용되는 호스트컴퓨터에 별도의 드라이브(Drive)를 구비해야 하는 불편함이 있다. 플로피디스크의 경우 저장용량이 작기 때문에 그 이용이 저조하며, CD 롬의 경우 대용량을 지원하나 디스크 표면이 쉽게 손상되는등 보관의 어려움이 있다.
따라서 최근에는 휴대가 간편하면서도 대용량의 저장용량을 지원하는 플래쉬 드라이브(Flash Drive)등 플래쉬 메모리를 이용한 이동형 저장장치가 개발되어 급속도로 보급되고 있으며, 이는 호스트컴퓨터와의 접속이 용이하고, 빠른 데이터 전송속도를 보장하도록 주지된 USB 방식을 채용하고 있다.
USB 표준은 인텔, 마이크로소프트, 컴팩 등이 플러그 앤 플레이(Plug and Play)를 발전시키고자 제안한 컴퓨터장치의 포트규격으로 주변장치 접속시 호스트컴퓨터의 재부팅을 요구하지 않으며, 예컨대 12Mb/s 이상의 빠른 전송속도를 지원하는 것을 특징으로 한다.
한편 미국특허 제6,148,354호[Architecture for a univeral serial bus-based PC flash disk]와 제6,012,103호[Bus interface system and method] 및 대한민국 특허공개 제2001-35042호[USB 인터페이스와 플래쉬 메모리를 사용한 이동식 저장장치]에는 USB 기반의 이동형 저장장치의 구성과 버스인터페이싱 방법이 기재되어 있다.
도 1은 종래 USB 기반의 이동형 저장장치의 구성을 간략히 나타낸 블록구성도이다.
도 1에서 참조번호 10은 USB 표준 프로토콜을 지원하는 운영체제가 구비된 호스트컴퓨터로서, 도 1에서 참조번호 11은 USB 기반의 주변장치와 물리적으로 접속하기 위한 USB 포트이고, 12는 USB 포트(12)에 접속되는 주변장치를 감지하고 USB 표준에 따라 호스트컴퓨터(10)와 주변장치간의 데이터 송수신을 제어하는 USB호스트 콘트롤러이다.
도 1에서 참조번호 13은 호스트컴퓨터(10)의 하드디스크등 내부 저장수단이고, 상기 저장수단(13)에는 호스트컴퓨터(10)의 운영체제(OS)와 소정 클라이언트 드라이버가 설치된다. 상기 클라이언트 드라이버는 후술할 USB 플래쉬 드라이브의 제조사로부터 제공된다. 그리고 호스트컴퓨터(10)의 마이크로 프로세서(도시되지 않음)는 상기 운영체제와 클라이언트 드라이버의 동작루틴에 따라 장치 전반을 제어하게 된다.
도 1의 호스트컴퓨터(10)는 개인용컴퓨터, 서버장치, 이동통신단말기등 내부 저장수단에 운영체제가 탑재된 각종 컴퓨터장치를 이용하는 것이 가능하다. 상기 운영체제는 예컨대 윈도우 95, 98, ME, XP, MAC OS 등 USB 표준 프로토콜이 구비되는 범용 운영체제를 이용하게 된다.
상기 운영체제는 호스트컴퓨터(10)에 접속된 주변장치를 인식하여 해당 드라이버를 로딩하고, 주변장치에 USB 버스주소와 시스템자원을 할당하며, USB 표준에 따라 USB 호스트 콘트롤러(12)를 동작시키게 된다.
그리고 도 1의 상기 클라이언트 드라이버는 상기 운영체제에 의해 로딩되어 USB 포트(11)에 접속된 후술하는 USB 플래쉬 드라이브를 구동준비 시키고, USB 플래쉬 드라이브의 내부 저장수단에 구비되는 펌웨어(Firmware)와 호환되어 그 동작을 위한 각종 구동명령을 실행시키게 된다.
도 1에서 참조번호 20은 호스트컴퓨터(10)의 USB 포트(11)에 접속되어 호스트컴퓨터(10)로부터 전송되는 데이터를 저장하고, 호스트컴퓨터(10)를 통해 임의적으로 데이터를 기입, 독취, 삭제할 수 있는 비휘발성 메모리가 구비된 USB 플래쉬 드라이브이다.
도 1에서 참조번호 21은 호스트컴퓨터(10)의 USB 포트(11)에 물리적으로 접속되는 USB 콘넥터이고, 22는 호스트컴퓨터(10)로부터 전송되는 데이터를 저장하는 메모리부로서, 이는 비휘발성 메모리소자인 적어도 하나의 플래쉬 메모리(221~22n)를 구비한다. 상기 플래쉬 메모리(221~22n)는 NOR 타입과 NAND 타입의 두 가지 종류가 있으며, USB 플래쉬 드라이브(20)의 경우 대용량, 저가격의 NAND 타입 플래쉬 메모리를 사용한다.
도 1에서 참조번호 23은 후술하는 프로세서로부터 입력되는 소정 메모리 주소정보를 디코딩(Decoding)하여 플래쉬 메모리(221~22n)를 선택적으로 구동시키는 칩선택신호를 출력하는 디코더이고, 24는 USB 플래쉬 드라이브(20)의 구동프로그램, 즉 펌웨어가 저장된 프로그램저장부이며, 25는 상기 프로그램저장부(24)의 구동프로그램에 따라 USB 플래쉬 드라이브(20)의 동작을 전반적으로 제어하는 프로세서이다.
이하 상기한 구성으로 된 종래 USB 기반의 이동형 저장장치의 동작을 설명하기로 한다.
먼저 호스트컴퓨터(10)의 USB 포트(11)에 USB 플래쉬 드라이브(20)가 접속되어 USB 플래쉬 드라이브(20)로 동작전원이 공급되면, 도 1의 프로세서(25)는 프로그램저장부(24)의 동작프로그램에 따라 메모리부(22)의 플래쉬 메모리(221~22n)를초기화한다.
그리고 도 1의 프로세서(25)는 호스트컴퓨터(10)로부터의 장치식별정보 요구에 따라 제조사ID 및 제품ID가 포함된 소정 장치 디스크립터(Device Descriptor)정보를 호스트컴퓨터(10)로 전송하여 USB 플래쉬 드라이브(20)의 동작시작을 알리게 된다. 상기 장치 디스크립터정보는 호스트컴퓨터(10)가 USB 플래쉬 드라이브(20)를 인식하기 위한 기본정보로서 USB 표준에 따른 정보이다.
그리고 호스트컴퓨터(10)는 USB 호스트 콘트롤러(12)를 통해 상기 장치 디스크립터정보를 수신한 후, 운영체제에 구비/설치된 주변장치 드라이버정보를 조회하여 해당 제조사ID와 제품ID에 대응되는 드라이버가 등록되어 있는지 확인하게 된다.
이때 USB 플래쉬 드라이브(20)의 드라이버가 등록되어 있는 것으로 판정된 경우 도 1의 호스트컴퓨터(10)는 운영체제의 동작루틴에 따라 클라이언트 드라이버를 로딩(Loading)함과 아울러 USB 버스주소와 시스템자원을 할당하여 USB 플래쉬 드라이브(20)의 구동을 준비하게 된다.
한편 USB 플래쉬 드라이브(20)의 드라이버가 등록되어 있지 않은 것으로 판정된 경우 호스트컴퓨터(10)는 모니터(도시되지 않음)등 표시수단을 통해 클라이언트 드라이버의 설치요구를 표시하게 된다. 이에 따라 이용자가 제조사로부터 제공된 클라이언트 드라이버를 설치하게 되면, 호스트컴퓨터(10)는 상기한 과정에 따라 USB 버스주소와 시스템자원을 할당하여 USB 플래쉬 드라이브(20)를 구동준비시키게 된다.
이후 이용자는 호스트컴퓨터(10)를 조작하여 USB 플래쉬 드라이브(20)에 데이터를 저장하거나, 기저장된 데이터를 독취, 삭제 또는 호스트컴퓨터(10)로 복사하는 동작을 실행하게 된다. 이때 호스트컴퓨터(10)의 운영체제 및 클라이언트 드라이버와 USB 플래쉬 드라이브(20)의 동작프로그램은 상호 연동되어 플래쉬 메모리(221~22n)의 데이터 기입/독취/삭제 동작시 그 동작루틴을 제공하게 된다.
따라서 종래 USB 플래쉬 드라이브(20)의 경우 최초 구동을 위해서는 일반적으로 호스트컴퓨터(10)에 제조사의 클라이언트 드라이버를 설치해야 하며, 이동형 저장장치의 특성상 이용자가 사용하는 호스트컴퓨터(10)가 여러대인 경우 일일히 클라이언트 드라이버를 설치해야 하는 불편함이 있게 된다.
또한 USB 플래쉬 드라이브(20)에 사용되는 NAND 플래쉬 메모리(221~22n)의 경우 데이터 "쓰기", "읽기" 명령 수행시 플래쉬 메모리(221~22n)의 페이지 단위로 데이터를 읽거나 써야하며, 임의 페이지에 데이터를 쓰기 전에는 미리 해당 페이지가 속하는 블록의 전체 페이지를 삭제한 후, 데이터를 써야하는 구조로 되어 있다.
따라서 도 2에 도시된 것처럼 블록0 부터 블록3 까지 검은색으로 도시된 N 개의 페이지에 데이터를 쓰고자 하는 경우 블록1과 블록2의 모든 페이지는 이전 데이터에 덥어 쓰기가 되므로 단순히 블록 전체를 삭제한 후, 데이터를 쓰면 되지만 블록0과 블록3의 경우 보존되어야 할 페이지들(P1)이 각각 존재하게 된다.
결국 도 3에 도시된 것처럼 블록0과 블록3의 경우 데이터 삭제 전에 원본블록내 모든 페이지를 소정 임시영역에 복사한 후(ST301), 원본블록내 모든 페이지를삭제하게 된다(ST302). 그리고 임시영역에 저장된 보존대상 페이지들을 다시 원본블록의 해당 메모리 주소에 복원한 후(ST303), 페이지 단위로 기입대상 데이터를 써야하며(ST304), 상기한 과정(ST301~ST304)은 각각 블록0과 블록3의 기입대상 페이지수 만큼 이루어지게 된다.(ST305)
따라서 종래 NAND 타입 플래쉬 메모리(221~22n)의 데이터 쓰기방법에 의하면 데이터 쓰기속도가 현저히 느려지는 문제점이 있게 된다.
또한 플래쉬 메모리(221~22n)의 데이터 "쓰기", "읽기" 등 동작수행시 호스트컴퓨터(10) 또는 USB 플래쉬 드라이브(20)의 오동작에 의해 플래쉬 메모리(221~22n)의 FAT(File Allocation Table)가 손상되는 경우가 있다.
이 경우 이용자는 호스트컴퓨터(10)의 치료프로그램(예컨대, 윈도우의 스캔디스크)이나 제조사로부터 제공된 소정 치료프로그램을 이용하여 손상된 FAT을 다시 포맷해야 하는 바, 프로그램 조작이 어려운 컴퓨터 초보자의 경우 그 문제상황에 적절히 대처하지 못하는 불편함이 있게 된다.
또한 종래 USB 플래쉬 드라이브(20)는 플래쉬 메모리(221~22n)로 칩선택신호를 출력하는 디코더(23)가 하드웨어로 고정되어 있는 바, 플래쉬 메모리(221~22n)의 추가설치가 용이하지 못하며, 생산비가 증가되는 문제점이 있었다.
이에 본 발명은 상기한 사정을 감안하여 창출된 것으로서, 별도의 클라이언트 드라이버 없이도 호스트컴퓨터에 USB와 UFI 방식으로 간단히 인식 및 구동되고, 플래쉬 메모리로의 데이터 쓰기속도를 향상시키며, 플래쉬 메모리의 용량확장을 용이하게 함으로써 이용자의 편의성을 향상시킬 수 있도록 된 USB 기반의 이동형 저장장치 및 그 제어방법을 제공함에 그 목적이 있다.
도 1은 종래 USB 기반의 이동형 저장장치의 구성을 간략히 나타낸 블록구성도.
도 2 및 도 3은 종래 NAND 타입 플래쉬 메모리의 데이터 쓰기방법을 설명하기 위한 도면.
도 4는 본 발명의 일실시예에 따른 USB 플래쉬 드라이브의 외관 구성을 나타낸 사시도.
도 5은 본 발명의 일실시예에 따른 USB 플래쉬 드라이브의 내부 구성을 나타낸 블록구성도.
도 6 내지 도 10은 UFI 응답패킷의 패킷구조를 나타낸 데이터 구성도.
도 11은 본 발명의 일실시예에 따른 호스트컴퓨터와 USB 플래쉬 드라이브간의 인터페이스 연결구조와 프로그램 계층구조를 설명하기 위한 개념도.
도 12 내지 도 14는 본 발명의 일실시예에 따른 USB 플래쉬 드라이브의 동작 및 제어방법을 설명하기 위한 플로우챠트/흐름도.
*** 도면의 주요 부분에 대한 부호의 설명 ***
10 : 호스트컴퓨터, 11 : USB 포트,
12 : USB 호스트 콘트롤러, 21 : USB 콘넥터,
221~22n: 플래쉬 메모리, 23 : 디코더,
24, 110 : 프로그램저장부, 25 : 프로세서,
120 : 제어부, 121 : USB 콘트롤러,
122 : SMC 콘트롤러, 123 : 마이크로 프로세서,
130 : 토글스위치, 140 : LED.
상기 목적을 달성하기 위한 본 발명에 따른 USB 기반의 이동형 저장장치는 UFI 프로토콜을 지원하는 호스트컴퓨터의 USB 포트에 접속되고 USB 표준을 지원하는 이동형 저장장치에 있어서, 상기 이동형 저장장치는 상기 호스트컴퓨터의 USB 포트에 물리적으로 접속하기 위한 USB 콘넥터; 상기 호스트컴퓨터로부터 전송되는 데이터를 비휘발적으로 저장하기 위한 적어도 하나의 플래쉬 메모리; USB 및 UFI 방식에 따른 소정 동작프로그램이 저장된 프로그램저장부 및; 상기 프로그램저장부의 동작프로그램을 근거로 장치의 전반적인 동작을 제어하는 제어부를 구비하여 구성되며, 상기 프로그램저장부의 동작프로그램은 상기 플래쉬 메모리의 헤더블록정보를 검사/갱신하기 위한 메모리 처리블록, 상기 호스트컴퓨터로 UFI 드라이버 로딩을 위한 장치 및 인터페이스 디스크립터정보를 전송하기 위한 장치인식 처리블록, 상기 호스트컴퓨터로부터 전송되는 UFI 명령별로 소정 UFI 응답패킷을 생성하여 호스트컴퓨터로 전송하기 위한 UFI 처리블록을 포함하여 구성된 것을 특징으로 한다.
또한 본 발명에서 상기 플래쉬 메모리는 NAND 타입 플래쉬 메모리이며, 상기 호스트컴퓨터와 USB 표준에 따라 데이터 송수신을 수행하기 위한 USB 콘트롤러와,SMC 인터페이스 신호를 이용하여 상기 플래쉬 메모리의 동작을 제어하기 위한 SMC 인터페이스와, 상기 USB 콘트롤러 및 SMC 콘트롤러에 접속되어 상기 프로그램저장부의 동작프로그램과 호스트컴퓨터로부터 전송되는 UFI 명령을 근거로 상기 USB 콘트롤러와 SMC 콘트롤러의 동작을 제어하는 마이크로 프로세서를 포함하여 구성된 것을 특징으로 한다.
또한 본 발명은 상기 플래쉬 메모리의 FAT 정보 손실시 로우레벨포맷 동작을 키조작하기 위한 토클스위치를 추가로 구비하며, 상기 프로그램저장부는 상기 토클스위치의 스위칭조작 횟수가 소정 횟수 이상인 경우 상기 플래쉬 메모리의 0번 블록을 삭제하기 위한 포맷처리블록을 추가로 구비하여 구성된 것을 특징으로 한다.
또한 본 발명에서 상기 SMC 콘트롤러는 데이터/어드레스를 통해 상기 플래쉬 메모리에 접속되어 기입 또는 독취되는 데이터와 그 주소정보를 전송하고, 상기 프로그램저장부는 상기 호스트컴퓨터로부터 전송되는 "쓰기", "읽기" 명령에 포함된 메모리 주소정보를 근거로 상기 플래쉬 메모리를 선택적으로 구동하기 위한 메모리구동블록을 구비하며, 상기 마이크로 프로세서는 시스템버스를 통해 상기 플래쉬 메모리에 접속되어 상기 메모리구동블록의 동작루틴에 따라 상기 플래쉬 메모리의 구동을 위한 칩선택신호를 인가하도록 구성된 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명에 따른 USB 기반의 이동형 저장장치의 장치인식 제어방법은 UFI 프로토콜을 지원하는 호스트컴퓨터의 USB 포트에 접속되고 USB 표준을 지원하는 이동형 저장장치의 장치인식 제어방법에 있어서, 호스트컴퓨터의 장치 디스크립터 요구에 반응하여 제조사ID, 제품ID 및 UFI 방식 선택을 위한 제1 클래스정보가 포함된 장치 디스크립터정보를 전송하는 단계와, 호스트컴퓨터의 인터페이스 디스크립터 요구에 반응하여 UFI 프로토콜 선택을 위한 제2 클래스정보가 포함된 인터페이스 디스크립터정보를 전송하는 단계와, 선택된 UFI 프로토콜에 따라 호스트컴퓨터의 UFI 드라이버가 로딩되는 단계와, 호스트컴퓨터의 장치확인, 용량확인 요구에 반응하여 소정 장치정보와 용량정보가 포함된 UFI 응답패킷을 전송하는 단계 및, 호스트컴퓨터의 FAT 정보 요구에 반응하여 플래쉬 메모리에 저장된 FAT 정보를 독출하여 전송하는 단계를 포함하여 이루어진 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명에 따른 USB 기반의 이동형 저장장치의 데이터쓰기 제어방법은 USB 표준을 지원하는 이동형 저장장치의 NAND 타입 플래쉬 메모리의 쓰기제어방법에 있어서, 접속된 호스트컴퓨터로부터 쓰기 명령이 전송되었는지 확인하는 제1 단계와, 전송된 쓰기 명령이 첫 번째 명령인지 확인하는 제2 단계와, 전송된 쓰기 명령이 두 번째 이후의 쓰기 명령인 경우 현재 쓰기 명령의 메모리 주소와 직전 쓰기 명령의 메모리 주소가 이어지는지 확인하는 제3 단계 및, 현재 및 직전 쓰기 명령에 따른 메모리 주소가 이어지는 경우 새로운 기입대상 페이지를 직전 페이지에 연이어 기입하는 제4 단계를 포함하여 이루어지며, 상기 제1 단계 내지 제4 단계의 동작은 기입대상 페이지와 기저장된 페이지가 혼재하는 메모리 블록에서 수행되는 것을 특징으로 한다.
따라서 상기한 구성에 의하면, USB와 UFI 방식으로 외부 호스트컴퓨터에 간단히 인식 및 구동되고, 플래쉬 메모리의 추가설치가 용이함과 더불어 데이터 쓰기속도를 향상시킬 수 있는 USB 기반의 이동형 저장장치 및 그 제어방법을 제공할 수 있게 된다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하기로 한다.
도 4는 본 발명의 일실시예에 따른 USB 기반의 이동형 저장장치(100)(이하, "USB 플래쉬 드라이브"라 칭함)의 외관 구성을 나타낸 것으로서, 이는 호스트컴퓨터의 USB 단자에 물리적으로 접속되는 USB 콘넥터(A3), 쓰기방지와 후술하는 로우레벨포맷(Low Level Format)기능을 선택하기 위한 토클스위치(A4), 및 장치의 동작상태를 시각적으로 표시하기 위한 LED(A5)가 구비된 드라이브 몸체(A1)와, 비사용시 드라이브 몸체(A1)의 USB 콘넥터(A3)를 이물질이나 외부 충격으로부터 보호하기 위한 보호캡(A2)를 구비하여 구성된다. 즉 이용자는 USB 포트가 구비된 호스트컴퓨터에 도 4의 USB 플래쉬 드라이브(100)를 간단히 접속하여 사용하게 된다.
한편 본 발명에 따른 USB 플래쉬 드라이브(100)는 USB 인터페이스로 UFI(USB Floppy Interface) 프로토콜을 이용하도록 구성된다. UFI 프로토콜은 호스트컴퓨터에 접속된 USB 방식의 주변장치를 별도의 클라이언트 드라이버 없이도 인식 및 구동시킬 수 있도록 제안된 프로토콜이다. 본 발명은 USB 플래쉬 드라이브(100)에 이를 적용 및 구현한 것이다.
또한 UFI 프로토콜을 USB 플래쉬 드라이브(100)에 구현하기 위해서는 USB 플래쉬 드라이브 내부에 별도의 펌웨어를 구비하여야 한다. 그리고 호스트컴퓨터의 운영체제는 UFI 프로토콜을 지원하도록 UFI 드라이버가 구비된 예컨대 윈도우 ME, XP 등이 요구된다.
이하에서는 상기 UFI 프로토콜을 지원하는 본 발명에 따른 USB 플래쉬 드라이브(100)를 상세하게 설명하기로 한다.
도 5은 본 발명의 일실시예에 따른 USB 플래쉬 드라이브(100)의 내부 구성을 나타낸 블록구성도로서, 도 5에서 도 1에 도시된 구성과 동일한 구성에 대하여는 동일한 참조번호를 붙이고 그 상세한 설명은 생략하기로 한다.
그리고 USB 플래쉬 드라이브(100)가 접속되는 호스트컴퓨터는 도 1의 호스트컴퓨터(10)에 UFI 프로토콜이 구현된 것으로서, 이하에서는 설명의 편의상 도 1의 호스트컴퓨터(10)와 동일한 참조번호를 붙이기로 한다.
도 5에서 참조번호 110은 플래쉬 메모리(221~22n)의 헤더블록정보를 검사/갱신하는 메모리 처리블록과, 호스트컴퓨터(10)로 UFI 드라이버 로딩을 위한 장치 디스크립터정보와 인터페이스 디스크립터정보를 전송하는 장치인식 처리블록과, 그리고 호스트컴퓨터(10)로부터 전송되는 UFI 명령별로 소정 UFI 응답패킷을 생성하여 호스트컴퓨터(10)로 전송하기 위한 UFI 처리블록으로 구성된 동작프로그램을 구비하는 프로그램저장부이다.
상기 UFI 명령은 USB 클래스중 Mass Storage Class를 사용하며, USB 표준을 이용하여 주변장치를 구동제어하기 위한 각종 구동명령으로 구성된다. 상기 구동명령을 통해 USB 플래쉬 드라이브(100)는 장치의 식별정보, 용량정보 등을 호스트컴퓨터(10)로 전송하고, 데이터의 "읽기", "쓰기" 동작을 수행하게 된다. 상기 UFI 명령과 UFI 응답패킷에 대한 상세한 설명은 후술하기로 한다.
또한 도 5의 프로그램저장부(110)는 호스트컴퓨터(10)로부터 동일한 메모리 블록에 대하여 적어도 2번 이상의 "쓰기" 명령이 연속되게 전송된 경우 해당 메모리 블록의 2 번째 이후 "쓰기" 명령에 대하여 도 3에서 설명한 데이터 보존과정을 생략하고 바로 데이터를 기입하도록 프로그램된 쓰기처리블록을 구비한다.
이는 "쓰기" 명령 수행시 플래쉬 메모리(221~22n)로의 데이터 기입속도 향상을 위한 것으로서, 선택적으로 구비하는 것이 가능하다.
또한 도 5의 프로그램저장부(110)는 후술할 토클스위치(130 : 도 4의 A4)의 스위칭조작 횟수에 반응하여 플래쉬 메모리(221~22n)로의 데이터 기입을 저지시키거나, 플래쉬 메모리(221~22n)를 로우레벨포맷(Low level format)시키도록 프로그램된 포맷처리블록을 구비한다.
이는 도 5의 플래쉬 메모리(221~22n)에 저장된 데이터의 보존과, 플래쉬 메모리(221~22n)의 FAT(File Allocation Table) 정보가 손실된 경우 이를 하드웨어적으로 치료하기 위한 것으로서, 선택적으로 구비하는 것이 가능하다.
도 5에서 참조번호 120은 상기 프로그램저장부(110)의 동작프로그램에 따라 본 USB 플래쉬 드라이브(100)의 동작을 전반적으로 제어하는 제어부이다. 상기 제어부(120)는 도 5에 도시된 것처럼 USB 콘트롤러(121), SMC 콘트롤러(122) 및 마이크로 프로세서(123)를 구비하여 구성된다.
상기 USB 콘트롤러(121)는 USB 표준에 따라 호스트컴퓨터(10)와 데이터 송수신을 수행하기 위한 것으로서, 이는 USB Spec Rev 1.1을 지원하도록 구성된다. 상기 USB Spec Rev 1.1에 대한 상세한 설명은 일반적인 내용이므로 그 상세한 설명은 생략하기로 한다.
상기 SMC 콘트롤러(122)는 SMC(Smart Media Card) 인터페이스 신호를 이용하여 NAND 타입 플래쉬 메모리(221~22n)의 동작을 제어하기 위한 것이다. 상기 SMC 콘트롤러(122)는 후술할 마이크로 프로세서(123)로부터 인가되는 제어신호를 근거로 플래쉬 메모리(221~22n)의 데이터 "읽기", "쓰기" 동작을 제어하게 된다.
도 5에 도시된 것처럼 상기 SMC 콘트롤러(122)는 데이터/어드레스버스(1)를 통해 플래쉬 메모리(221~22n)에 접속된다. 데이터/어드레스버스(1)를 통해서는 기입 또는 독취되는 데이터와 그 주소정보가 전송된다.
그리고 후술하는 마이크로 프로세서(123)는 시스템버스(2)를 통해 각 플래쉬 메모리(221~22n)에 접속되어 메모리 구동을 위한 칩선택신호를 인가하게 된다. 시스템버스(2)를 SMC 콘트롤러(122)에 연결하지 않고, 마이크로 프로세서(123)에 직접 연결한 것은 플래쉬 메모리(221~22n)의 설치 갯수를 용이하게 확장하기 위함이다.
따라서 도 5의 프로그램저장부(110)는 호스트컴퓨터(10)로부터 전송되는 "쓰기", "읽기" 명령에 포함된 메모리 주소정보를 근거로 플래쉬 메모리(221~22n)를 선택적으로 구동하기 위한 메모리구동블록을 구비하게 된다.
상기 마이크로 프로세서(123)는 프로그램저장부(110), USB 콘트롤러(121) 및SMC 콘트롤러(122)에 각각 접속되어 상기 프로그램저장부(110)의 동작프로그램과 호스트컴퓨터(10)로부터의 UFI 명령을 근거로 상기 USB 콘트롤러(121)와 SMC 콘트롤러(122)의 동작을 제어하게 된다.
또한 상기 마이크로 프로세서(123)는 호스트컴퓨터(10)로부터 전송되는 UFI 명령을 해독하여 응답요구가 있는 명령인 경우 소정 UFI 응답패킷을 생성하여 호스트컴퓨터(10)로 전송하게 된다.
다음 표 1은 호스트컴퓨터(10)로부터 USB 플래쉬 드라이브(100)로 전송되는 주요 UFI 명령을 나타낸 것이고, 도 6 내지 도 10은 표 1의 UFI 명령중 응답요구가 있는 UFI 명령에 따라 USB 플래쉬 드라이브(100)로부터 호스트컴퓨터(10)로 전송되는 주요 UFI 응답패킷을 나타낸 것이다.
UFI 명령 내용 OP코드
Inquiry 장치의 제조사,제품,버전 정보 요구 12h
Mode Sense 미디어 타입과 쓰기방지 정보 요구 5Ah
Prevent/Allow MediumRemoval 미디어 제거를 허가/금지함 1Eh
Read(10) 메모리 블록의 읽기 요구 28h
Read Capacity 미디어 용량정보 요구 25h
Read Format Capacity 미디어 용량과 포맷상태 정보 요구 23h
Request Sense UFI 명령 수행시 발생된 오류정보 요구 03h
Test Unit Ready 장치의 구동준비 확인 00h
Verify 미디어에 저장된 데이터 확인 2Fh
Write(10) 메모리 블록의 쓰기 요구 2Ah
상기 표 1에서 "장치"는 USB 플래쉬 드라이브(100)를 의미하고, "미디어"는 플래쉬 메모리(221~22n)를 의미한다.
한편 도 5에서 참조번호 130은 플래쉬 메모리(221~22n)로의 데이터 기입을 저지시키거나, 플래쉬 메모리(221~22n)의 FAT 정보 손실시 플래쉬 메모리(221~22n)의 로우레벨포맷 동작을 키조작하기 위한 토글스위치이다.
도 5의 마이크로 프로세서(123)는 예컨대 토클스위치(130 : 도 4의 A4)의 조작신호가 한 번 감지되면, 플래쉬 메모리(221~22n)를 쓰기금지 상태로 전환시키게 된다. 그리고 토클스위치(130)의 연속된 조작신호가 4번 이상 감지되면, 플래쉬 메모리(221~22n)의 FAT 정보가 저장된 메모리 블록을 강제적으로 삭제시켜 플래쉬 메모리(221~22n)를 로우레벨포맷하게 된다.
도 5에서 참조번호 140은 USB 플래쉬 드라이브(100)의 동작상태를 시각적으로 표시하기 위한 LED로서, 플래쉬 메모리(221~22n)의 "읽기", "쓰기" 동작시 도 5의 마이크로 프로세서(123)는 LED(140 : 도 4의 A5)를 점멸구동시키게 된다.
이하에서는 도 11을 참조하여 호스트컴퓨터(10)와 USB 플래쉬 드라이브(100)간의 USB 및 UFI 방식에 따른 인터페이스 연결구조와 프로그램 계층구조를 설명하기로 한다.
도 11의 호스트컴퓨터(10)는 내림차순으로 응용프로그램, UFI 드라이버, USB 드라이버, USB 버스의 계층구조를 가지고, USB 플래쉬 드라이브(100)는 UFI 동작프로그램, USB 논리처리 및 메모리콘트롤, USB 인터페이스의 계층구조를 가지게 된다.
즉 도 11과 같이 호스트컴퓨터(10)의 USB 버스와 USB 플래쉬 드라이브(100)의 USB 인터페이스가 물리적으로 연결되면, USB 플래쉬 드라이브(100)는 USB 논리처리를 통해 플래쉬 메모리(221~22n)를 초기화하게 되고, 호스트컴퓨터(10)는 USB 드라이버의 동작루틴에 따라 USB 플래쉬 드라이브(100) 인식을 위한 장치 디스크립터정보를 전송받게 된다.
그리고 도 11의 호스트컴퓨터(10)는 장치 디스크립터정보를 근거로 UFI 드라이버를 로딩하여 마이크로소프트사의 파일매니저 같은 응용프로그램이 USB 플래쉬 드라이브(100)를 인식하게 한다. 또한 도 11의 USB 플래쉬 드라이브(100)는 펌웨어의 UFI 동작프로그램(UFI 처리블록)에 따라 호스트컴퓨터(10)로부터 전송되는 UFI 명령을 해독하여 플래쉬 메모리(221~22n)의 구동을 제어하게 된다.
이하 도 12 내지 도 14를 참조하여 본 발명의 일실시예에 따른 USB 플래쉬 드라이브(100)의 동작 및 제어방법을 설명하기로 한다.
도 12는 본 발명의 일실시예에 따른 USB 플래쉬 드라이브(100)의 동작과정을 설명하기 위한 플로우챠트이다.
먼저 호스트컴퓨터(10)의 USB 포트(11)에 도 5의 USB 플래쉬 드라이브(20)를 접속하게 되면, 호스트컴퓨터(10)로부터 인가되는 동작전원이 USB 콘넥터(21 : 도 4의 A3)를 경유하여 장치내 레귤레이터(Regulator)(도시되지 않음)에 공급된다. 그리고 레귤레이터는 플래쉬 메모리(221~22n), 프로그램저장부(110), 제어부(120)로 예컨대, 3.3V의 동작전원을 제공하게 된다.(ST1201 단계)
이후 USB 플래쉬 드라이브(100)의 제어부(110)는 메모리부(22)를 초기화하여플래쉬 메모리(221~22n)에 저장된 헤더블록정보의 일치여부를 검사하게 된다. 상기 헤더블록정보는 플래쉬 메모리(221~22n)의 전체용량과 배드(Bad)블록 정보로 구성되며, 첫 번째 플래쉬 메모리(221~22n)의 첫 번째 메모리 블록에 위치한다.
이때 초기화 검사결과와 헤더블록정보가 일치되지 않는 경우 제어부(110)는 초기화 검사결과를 근거로 헤더블록정보를 업데이트하게 된다.(ST1202 단계)
이후 USB 플래쉬 드라이브(100)의 제어부(110)는 호스트컴퓨터(10)로 자신의 장치 디스크립터정보를 전송하는 USB 초기화 동작을 수행하게 된다. 모든 USB 주변장치에는 자신의 제조사ID 및 제품ID 정보가 부여되어 있으며, 상기 장치 디스크립터정보는 USB 플래쉬 드라이브(100)의 제조사ID, 제품ID 및 USB 주변장치의 종류를 나타내는 각종 클래스(Class) 정보를 포함하여 구성된다.(ST1203 단계)
그리고 호스트컴퓨터(10)는 수신된 장치 디스크립터정보를 확인하여 접속된 USB 주변장치가 UFI 주변장치인지 확인하게 된다. 이때 상기 장치 디스크립트정보의 클래스정보가 예컨대, OOh의 코드값을 갖는 경우는 UFI 프로토콜을 사용하는 주변장치를 의미하고, 이외의 코드값을 갖는 경우는 클라이언트 프로그램이 요구되는 주변장치를 의미한다.(ST1204 단계)
그리고 USB 플래쉬 드라이브(100)가 UFI 표준에 따른 장치인 것으로 확인된 경우 호스트컴퓨터(10)는 USB 플래쉬 드라이브(100)의 장치 종류를 확인하여 해당 UFI 드라이버를 로딩하고, USB 플래쉬 드라이브(100)의 USB 버스주소와 시스템자원을 할당하여 USB 플래쉬 드라이브(20)를 구동준비시키게 된다.(ST1205 단계)
이후 USB 플래쉬 드라이브(100)는 호스트컴퓨터(10)로부터 전송되는 표 1의 UFI 명령을 해석 및 실행하고, UFI 명령이 응답정보를 요구하는 경우 도 6 내지 도 10에 도시된 바와 같이 해당되는 UFI 응답패킷을 작성하여 호스트컴퓨터(10)로 전송하게 된다.(ST1206 단계)
그리고 상기 ST1204 단계에서 상기 장치 디스크립트정보의 클래스정보가 예컨대, OOh의 이외의 코드값을 갖는 것으로 판정된 경우 호스트컴퓨터(10)와 그 USB 주변장치는 일반적인 USB 주변장치의 장치인식 및 구동준비 과정을 거치게 된다.(ST1207 단계)
이하 도 6 내지 도 10의 UFI 응답패킷 구조를 간략히 설명하기로 한다. 그리고 도 6 내지 도 10에서 OP코드는 각각 표 1의 대응되는 UFI 명령의 OP코드값과 동일한 값을 갖는다.
도 6의 Inquiry 응답패킷은 표 1의 Inquiry 명령에 대한 응답으로 이는 OP코드, 장치인식정보, 제조사정보, 제품정보 및 제품버전정보를 포함한다. 상기 장치인식정보는 장치 디스크립트정보와 동일한 코드값을 갖는다.
도 7의 Mode Sense 응답패킷은 표 1의 Mode Sense 명령에 대한 응답으로 이는 OP코드, 미디어타입정보, 쓰기방지(제한)정보를 포함한다. 상기 미디어타입정보는 플래쉬메모리(221~22n)의 용량등에 따른 메모리 종류정보를 나타낸다.
도 8의 Read Capacity 응답패킷은 표 1의 Read Capacity 명령에 대한 응답으로 이는 OP코드, 전체블록크기정보, 1블록크기정보를 포함하며,플래쉬메모리(221~22n)의 전체 메모리 용량을 나타낸다.
도 9의 Read Format Capacity 응답패킷은 표 1의 Read Format Capacity 명령에 대한 응답으로 이는 OP코드, 현재블록크기정보, 포맷상태정보를 포함하며, 플래쉬메모리(221~22n)의 현재 메모리 용량과 포맷여부를 나타낸다.
도 10의 Request Sense 응답패킷은 표 1의 Read Sense 명령에 대한 응답패킷으로 이는 OP코드, 에러코드를 포함하며, 이를 USB 플래쉬 드라이브(100)의 각종 동작이상상태를 호스트컴퓨터(10)에 알리게 된다.
그리고 표 1의 UFI 명령중 가장 중요한 명령은 "읽기" 명령인 Read(10) 명령과 "쓰기" 명령인 Write(10)이며, 이는 각각 읽거나 써야할 메모리 블록의 시작주소와 블록크기 정보를 포함하며, 그 응답패킷은 요구되지 않는다.
도 13은 본 발명의 일실시예에 따른 USB 플래쉬 드라이브(100)의 장치인식 및 구동준비 과정을 설명하기 위한 흐름도로서, 이는 도 12의 ST1203 단계 내지 ST1205 단계를 보다 상세하게 나타낸 것이다.
먼저 호스트컴퓨터(10)가 USB 주변장치를 인식하기 위해서는 다음 표 2에 도시된 디스크립터가 요구된다.
구분 내용
장치 디스크립터정보 장치의 제조사ID, 제품ID, UFI 프로토콜 사용여부 확인
구성 디스크립터정보 장치의 동작시 필요한 환경을 설정함
인터페이스 디스크립터정보 장치가 사용할 프로토콜을 결정함(UFI 드라이버 결정)
엔드포인트 디스크립터정보 장치가 사용할 엔드포인트를 결정함
스트링 디스크립터정보 장치의 시리얼번호를 스트링으로 전달함
그리고 표 2의 디스크립터정보중 호스트컴퓨터(10)의 주변장치 인식과 관련된 주요 프로토콜은 장치 디스크립터정보와 인터페이스 디스크립터정보이다.
즉 호스트컴퓨터(10)가 USB 플래쉬 드라이브(100)로 장치 디스크립터를 요구하게 되면(ST1301 단계), USB 플래쉬 드라이브(100)는 장치클래스정보, 장치서브클래스정보, 제조사ID, 제품ID로 구성된 장치 디스크립터정보를 호스트컴퓨터(10)로 전송하게 된다. 이때 장치클래스정보와 장치서브클래스정보는 모두 UFI 프로토콜을 이용하기 위한 OOh의 코드값을 가지게 된다. 코드값의 규정은 USB 표준 및 UFI 프로토콜을 따른 것이다.(ST1302 단계)
이후 장치 디스크립터정보를 수신한 호스트컴퓨터(10)는 USB 주변장치의 UFI 드라이버 로딩을 위해 USB 플래쉬 드라이브(100)로 인터페이스 디스크립터를 요구하게 된다.(ST1303 단계) USB 플래쉬 드라이브(100)는 이에 반응하여 예컨대, 08h의 코드값을 갖는 인터페이스 클래스정보와 04h의 코드값을 갖는 인터페이스 서브클래스정보로 구성된 인터페이스 디스크립터정보를 호스트컴퓨터(10)로 전송하게 된다. 상기 O8h와 O4h의 코드값은 USB 주변장치를 저장수단으로 이용할 경우 사용되는 코드값이다.(ST1304 단계)
상기 인터페이스 디스크립터정보를 수신한 호스트컴퓨터(10)는 이를 근거로 USB 플래쉬 드라이브(100)의 구동을 위한 UFI 드라이버를 운영체제에 로딩하게 된다.(ST1305 단계) 그리고 UFI 방식으로 접속된 USB 플래쉬 드라이브(100)의 장치정보를 확인하고자 표 1의 Inquiry 명령을 USB 플래쉬 드라이브(10)로 전송하게 된다.(ST1306 단계) 이에 USB 플래쉬 드라이브(100)는 도 6의 Inquiry 응답패킷을 생성하여 호스트컴퓨터(10)로 전송하게 된다.(ST1307 단계)
또한 호스트컴퓨터(10)는 플래쉬 메모리(221~22n)의 메모리용량과 포맷여부를 확인하고자 표 1의 Read Capacity 명령과 Read Format Capacity 명령(도시되지 않음)을 USB 플래쉬 드라이브(100)로 전송하게 된다.(ST1308 단계)
그리고 USB 플래쉬 드라이브(100)는 도 8의 Read Capacity 응답패킷과 도 9의 Read Format Capacity 응답패킷을 각각 생성하여 호스트컴퓨터(10)로 전송하게 된다.(ST1309 단계)
또한 상기한 과정에 따라 USB 플래쉬 드라이브(100)의 장치정보와 용량정보 및 포맷정보를 확인한 호스트컴퓨터(10)는 플래쉬 메모리(221~22n)의 FAT 정보를 전달받고자, 0번 블록의 Read(10) 명령을 USB 플래쉬 드라이브(100)로 전송하게 된다.(ST1310 단계)
그리고 USB 플래쉬 드라이브(100)는 플래쉬 메모리(221~22n)의 0번 블록에 저장된 FAT 정보를 독취하여 호스트컴퓨터(10)로 전송하게 되고, 호스트컴퓨터(10)는 도 11의 응용프로그램 계층에서 USB 플래쉬 드라이브(100)를 인식하여 윈도우의 파일매니저등을 통해 USB 플래쉬 드라이브(100)의 드라이브 아이콘(ICON)과 메모리 용량정보를 표시하며, 저장된 데이터 파일의 목록을 표시하게 된다.(ST1311 단계)
따라서 상기한 과정에 의하면, 별도의 클라이언트 드라이버 설치 없이도 호스컴퓨터(10)에 접속된 USB 플래쉬 드라이브(100)를 간단히 인식 및 구동준비시킬 수 있게 된다.
도 14는 본 발명의 일실시예에 따른 USB 플래쉬 드라이브(100)의 쓰기제어방법을 설명하기 플로우챠트로서, 이는 보존대상 페이지가 존재하는 메모리 블록의 데이터 쓰기속도를 향상시키기 위한 것이다.
먼저 호스트컴퓨터(10)로부터 USB 플래쉬 드라이브(100)로 보존대상 페이지가 존재하는 메모리 블록의 "쓰기" 명령이 전송된 경우 USB 플래쉬 드라이브(100)의 제어부(120)는 연속된 쓰기명령의 횟수를 계수하게 되다.(ST1401, ST1402 단계)
이때 USB 플래쉬 드라이브(100)의 제어부(120)는 호스트컴퓨터(10)로부터 전송된 "쓰기" 명령이 적어도 2 번째 이후의 "쓰기" 명령으로 확인된 경우 현재 "쓰기" 명령에 따른 메모리 주소와, 직전 "쓰기" 명령에 따른 메모리 주소가 이어지는지 여부를 확인하게 된다.(ST1403 단계)
상기 ST1403 단계에서 메모리 주소가 이어지는 것으로 확인된 경우 USB 플래쉬 드라이브(100)의 제어부(120)는 현재 "쓰기" 명령으로 기입되는 새로운 페이지를 해당 메모리 블록의 이전 페이지에 연이어 기입하게 된다.(ST1404 단계)
그리고 상기 ST1401 단계 내지 ST1405 단계는 해당 블록내 모든 페이지의 기입이 완료될 때 까지 반복수행된다.(ST1405 단계)
한편 상기 ST1402 단계에서 현재 "쓰기" 명령이 첫 번째 "쓰기" 명령이거나, 상기 ST1403 단계에서 현재 "쓰기" 명령의 메모리 주소와 직전 "쓰기" 명령의 메모리 주소가 이어지지 않는 것으로 판정된 경우 USB 플래쉬 드라이브(100)는 도 3에서 설명한 일반적인 데이터 "쓰기" 과정을 수행하게 된다.(ST1406 단계)
따라서 상기한 실시예에 의하면, USB 플래쉬 드라이브의 장치 및 인터페이스 디스크립터정보를 USB 표준 및 UFI 프로토콜에 따라 호스트컴퓨터로 자동으로 전송하고, 호스트컴퓨터는 전송된 디스크립터정보룰 근거로 UFI 드라이버를 로딩하여 USB 플래쉬 드라이브의 장치인식 및 구동준비를 용이하게 수행할 수 있는 바, 이용자는 USB 플래쉬 드라이브의 제조사로부터 제공되는 별도의 클라이언트 프로그램 설치 없이도 간편히 USB 플래쉬 드라이브를 이용할 수 있게 된다.
또한 상기한 실시예에 의하면, 플래쉬 메모리의 동일한 메모리 블록에 대하여 2번 이상의 "쓰기" 명령이 연속되게 전송된 경우 해당 메모리 블록의 2번째 이후 "쓰기" 명령에 대하여 반복적으로 행해지는 데이터 보존과정을 생략하도록 함으로써 플래쉬 메모리로의 데이터 쓰기속도를 향상시킬 수 있게 된다.
또한 USB 플래쉬 드라이브에 플래쉬 메모리의 칩선택신호 출력을 위한 디코도를 요하지 않는 바, 플래쉬 메모리의 설치갯수를 용이하게 확장함은 물론 USB 플래쉬 드라이브의 제작시 생산비를 절감할 수 있게 된다. 그리고 플래쉬 메모리의 FAT 정보 손실시 간단한 스위칭 조작으로 플래쉬 메모리를 로우레벨포맷할 수 있는 바, 컴퓨터 조작이 어려운 초보자도 용이하게 문제상황에 대처할 수 있게 된다.
이상 설명한 바와 같이 본 발명에 의하면, 별도의 제조사 드라이버를 설치하지 않고도 호스트컴퓨터에 USB 및 UFI 방식으로 간단히 인식 및 구동되고, 내부 플래쉬 메모리로의 데이터 "쓰기" 속도를 향상시키며, 플래쉬 메모리의 설치 갯수를 용이하게 확장할 수 있는 USB 기반의 이동형 저장장치 및 그 제어방법을 제공할 수 있다.

Claims (10)

  1. UFI 프로토콜을 지원하는 호스트컴퓨터의 USB 포트에 접속되고 USB 표준을 지원하는 이동형 저장장치에 있어서,
    상기 이동형 저장장치는 상기 호스트컴퓨터의 USB 포트에 물리적으로 접속하기 위한 USB 콘넥터; 상기 호스트컴퓨터로부터 전송되는 데이터를 비휘발적으로 저장하기 위한 적어도 하나의 플래쉬 메모리; USB 및 UFI 방식에 따른 소정 동작프로그램이 저장된 프로그램저장부 및; 상기 프로그램저장부의 동작프로그램을 근거로 장치의 전반적인 동작을 제어하는 제어부를 구비하여 구성되며,
    상기 프로그램저장부의 동작프로그램은 상기 플래쉬 메모리의 헤더블록정보를 검사/갱신하기 위한 메모리 처리블록, 상기 호스트컴퓨터로 UFI 드라이버 로딩을 위한 장치 및 인터페이스 디스크립터정보를 전송하기 위한 장치인식 처리블록, 상기 호스트컴퓨터로부터 전송되는 UFI 명령별로 소정 UFI 응답패킷을 생성하여 호스트컴퓨터로 전송하기 위한 UFI 처리블록을 포함하여 구성된 것을 특징으로 하는 USB 기반의 이동형 저장장치.
  2. 제 1 항에 있어서,
    상기 플래쉬 메모리는 NAND 타입 플래쉬 메모리이며,
    상기 호스트컴퓨터와 USB 표준에 따라 데이터 송수신을 수행하기 위한 USB 콘트롤러,
    SMC 인터페이스 신호를 이용하여 상기 플래쉬 메모리의 동작을 제어하기 위한 SMC 인터페이스,
    상기 USB 콘트롤러 및 SMC 콘트롤러에 접속되어 상기 프로그램저장부의 동작프로그램과 호스트컴퓨터로부터 전송되는 UFI 명령을 근거로 상기 USB 콘트롤러와 SMC 콘트롤러의 동작을 제어하는 마이크로 프로세서를 포함하여 구성된 것을 특징으로 하는 USB 기반의 이동형 저장장치.
  3. 제 1 항에 있어서,
    상기 프로그램저장부는 상기 호스트컴퓨터로부터 상기 플래쉬 메모리의 동일 메모리 블록에 대하여 적어도 2번 이상의 "쓰기" 명령이 연속되게 전송되고, 해당 메모리 블록의 2번째 이후 "쓰기" 명령의 메모리 주소가 직전 "쓰기" 명령의 메모리 주소에 연이어 지는 경우 현재 메모리 주소에 바로 페이지 단위의 데이터를 기입처리하기 위한 쓰기처리블록을 추가로 구비하여 구성된 것을 특징으로 하는 USB 기반의 이동형 저장장치.
  4. 제 1 항에 있어서,
    상기 플래쉬 메모리의 FAT 정보 손실시 로우레벨포맷 동작을 키조작하기 위한 토클스위치를 추가로 구비하며,
    상기 프로그램저장부는 상기 토클스위치의 스위칭조작 횟수가 소정 횟수 이상인 경우 상기 플래쉬 메모리의 0번 블록을 삭제하기 위한 포맷처리블록을 추가로구비하여 구성된 것을 특징으로 하는 USB 기반의 이동형 저장장치.
  5. 제 2 항에 있어서,
    상기 SMC 콘트롤러는 데이터/어드레스버스를 통해 상기 플래쉬 메모리에 접속되어 기입 또는 독취되는 데이터와 그 주소정보를 전송하고,
    상기 프로그램저장부는 상기 호스트컴퓨터로부터 전송되는 "쓰기", "읽기" 명령에 포함된 메모리 주소정보를 근거로 상기 플래쉬 메모리를 선택적으로 구동하기 위한 메모리구동블록을 구비하며,
    상기 마이크로 프로세서는 시스템버스를 통해 상기 플래쉬 메모리에 접속되어 상기 메모리구동블록의 동작루틴에 따라 상기 플래쉬 메모리의 구동을 위한 칩선택신호를 인가하도록 구성된 것을 특징으로 하는 USB 기반의 이동형 저장장치.
  6. UFI 프로토콜을 지원하는 호스트컴퓨터의 USB 포트에 접속되고 USB 표준을 지원하는 이동형 저장장치의 장치인식 제어방법에 있어서,
    호스트컴퓨터의 장치 디스크립터 요구에 반응하여 제조사ID, 제품ID 및 UFI 방식 선택을 위한 제1 클래스정보가 포함된 장치 디스크립터정보를 전송하는 단계,
    호스트컴퓨터의 인터페이스 디스크립터 요구에 반응하여 UFI 프로토콜 선택을 위한 제2 클래스정보가 포함된 인터페이스 디스크립터정보를 전송하는 단계,
    선택된 UFI 프로토콜에 따라 호스트컴퓨터의 UFI 드라이버가 로딩되는 단계,
    호스트컴퓨터의 장치확인, 용량확인 요구에 반응하여 소정 장치정보와 용량정보가 포함된 UFI 응답패킷을 전송하는 단계 및,
    호스트컴퓨터의 FAT 정보 요구에 반응하여 플래쉬 메모리에 저장된 FAT 정보를 독출하여 전송하는 단계를 포함하여 이루어진 것을 특징으로 하는 USB 기반의 이동형 저장장치의 장치인식 제어방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR10-2001-0070564A 2001-11-13 2001-11-13 유에스비기반의 이동형 저장장치 및 그 제어방법 KR100450080B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR10-2001-0070564A KR100450080B1 (ko) 2001-11-13 2001-11-13 유에스비기반의 이동형 저장장치 및 그 제어방법
US09/996,219 US6757783B2 (en) 2001-11-13 2001-11-28 Portable storage medium based on universal serial bus standard and UFI standard
EP01309994A EP1310908A3 (en) 2001-11-13 2001-11-29 Portable storage medium based on universal serial bus standard
CA002364089A CA2364089A1 (en) 2001-11-13 2001-11-29 Portable storage medium based on universal serial bus standard and control method therefor
MXPA01012276A MXPA01012276A (es) 2001-11-13 2001-11-29 Medio de almacenamiento portatil basado en enlace comun serial universal estandard y metodo de control para el mismo.
PCT/KR2001/002183 WO2003042847A1 (en) 2001-11-13 2001-12-17 Portable storage medium based on universal serial bus standard and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0070564A KR100450080B1 (ko) 2001-11-13 2001-11-13 유에스비기반의 이동형 저장장치 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20030039598A KR20030039598A (ko) 2003-05-22
KR100450080B1 true KR100450080B1 (ko) 2004-10-06

Family

ID=19715944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0070564A KR100450080B1 (ko) 2001-11-13 2001-11-13 유에스비기반의 이동형 저장장치 및 그 제어방법

Country Status (6)

Country Link
US (1) US6757783B2 (ko)
EP (1) EP1310908A3 (ko)
KR (1) KR100450080B1 (ko)
CA (1) CA2364089A1 (ko)
MX (1) MXPA01012276A (ko)
WO (1) WO2003042847A1 (ko)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US7535719B2 (en) * 1999-08-04 2009-05-19 Super Talent Electronics, Inc. Single chip USB packages with contact-pins cover
US8141240B2 (en) 1999-08-04 2012-03-27 Super Talent Electronics, Inc. Manufacturing method for micro-SD flash memory card
US7466556B2 (en) * 1999-08-04 2008-12-16 Super Talent Electronics, Inc. Single chip USB packages with swivel cover
US7447037B2 (en) * 1999-08-04 2008-11-04 Super Talent Electronics, Inc. Single chip USB packages by various assembly methods
US7872871B2 (en) * 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Molding methods to manufacture single-chip chip-on-board USB device
US7830666B2 (en) * 2000-01-06 2010-11-09 Super Talent Electronics, Inc. Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board
US8102662B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US20080286990A1 (en) * 2003-12-02 2008-11-20 Super Talent Electronics, Inc. Direct Package Mold Process For Single Chip SD Flash Cards
US7297024B2 (en) * 2003-09-11 2007-11-20 Super Talent Electronics, Inc. Universal-serial-bus (USB) flash-memory device with metal wrap formed over plastic housing
US7295443B2 (en) 2000-07-06 2007-11-13 Onspec Electronic, Inc. Smartconnect universal flash media card adapters
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
US7155559B1 (en) * 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US11467856B2 (en) 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
CN1122281C (zh) * 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
US6792501B2 (en) * 2002-01-31 2004-09-14 Phision Electronic Corp Universal serial bus flash memory integrated circuit device
AU2003211154A1 (en) * 2002-02-22 2003-09-09 Lexar Media, Inc. Removable memory media with integral indicator light
TWI267742B (en) * 2002-03-01 2006-12-01 Acer Labs Inc Portable peripheral device having an embedded storage module
JP3513147B2 (ja) * 2002-05-29 2004-03-31 株式会社ハギワラシスコム Usbストレージデバイス及びその制御装置
US20030229796A1 (en) * 2002-06-07 2003-12-11 Hsuan-Ming Shih System guide device based on flash memory and the implement of guide method
US7162628B2 (en) * 2002-07-23 2007-01-09 Cisco Technology, Inc. Method, system, apparatus and program product for temporary personalization of a computer terminal
KR100499686B1 (ko) * 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
KR100499685B1 (ko) * 2002-07-23 2005-07-07 주식회사 스톰블루 휴대용 플래쉬 메모리 장치
US7035949B2 (en) * 2002-07-29 2006-04-25 M-System Flash Dist Pioneers Ltd. Multipurpose processor, system and method
JP3955512B2 (ja) * 2002-08-27 2007-08-08 富士通株式会社 データ処理装置及びパケット判別方法
KR100476929B1 (ko) * 2002-09-03 2005-03-16 삼성전자주식회사 카드형 유에스비 인터페이스 컨넥터를 갖는 유에스비 시스템
KR20040041733A (ko) * 2002-11-11 2004-05-20 주식회사 디오그라피 호스트 플랫폼과 통신하는 usb/ieee1394 플래시메모리 장치
US7441108B2 (en) * 2002-11-19 2008-10-21 Ken Scott Fisher Portable memory drive with portable applications and cross-computer system management application
KR20020097113A (ko) * 2002-11-20 2002-12-31 주식회사 아이오셀 드라이버리스 저장장치
US7908401B2 (en) 2002-12-12 2011-03-15 Flexiworld Technology, Inc. Method and device for wireless communication between computing devices
KR100560645B1 (ko) 2002-12-17 2006-03-16 삼성전자주식회사 메모리 사용 정보를 표시하는 유에스비 플래시 메모리 장치
US7808685B2 (en) * 2003-01-28 2010-10-05 Hewlett-Packard Development Company, L.P. Method and system for printing a print job using a memory device
US7069370B2 (en) * 2003-01-31 2006-06-27 Toshiba Corporation USB memory storage apparatus with integrated circuit in a connector
TW200421172A (en) * 2003-04-04 2004-10-16 Incomm Technologies Co Ltd Drive codes upgrading method of portable memory device and device thereof
EP1618598A4 (en) 2003-04-11 2008-07-16 Flexiworld Technologies Inc AUTORUN FOR AN INTEGRATED MEMORY COMPONENT
TW200424862A (en) * 2003-05-13 2004-11-16 Ours Technology Inc Usage of USB transmission line
US6842794B2 (en) * 2003-05-27 2005-01-11 Inventec Corporation Method for starting a data processing system via a flash memory device
WO2004111828A1 (en) * 2003-06-16 2004-12-23 Iocell Corp. Information processing device and method for controlling the same
US8205072B1 (en) 2003-07-22 2012-06-19 Cisco Technology, Inc. Method and apparatus for electronically configuring a secured user desktop
US20050181645A1 (en) * 2003-09-11 2005-08-18 Super Talent Electronics Inc. Tube-Shaped Universal-Serial-Bus (USB) Flash-Memory Device with End Clips that Hold an internal Printed-Circuit-Board (PCB)
US20050066129A1 (en) * 2003-09-22 2005-03-24 Chi-Tung Chang Portable data storage device allowing dynamic setting of disk type and the method of dynamically setting disk type thereof
US7489417B2 (en) * 2003-09-30 2009-02-10 Toshiba Corporation USB print
US8102657B2 (en) * 2003-12-02 2012-01-24 Super Talent Electronics, Inc. Single shot molding method for COB USB/EUSB devices with contact pad ribs
US7440286B2 (en) * 2005-04-21 2008-10-21 Super Talent Electronics, Inc. Extended USB dual-personality card reader
US7872873B2 (en) * 2003-12-02 2011-01-18 Super Talent Electronics, Inc. Extended COB-USB with dual-personality contacts
US8998620B2 (en) * 2003-12-02 2015-04-07 Super Talent Technology, Corp. Molding method for COB-EUSB devices and metal housing package
TWM246729U (en) * 2003-12-09 2004-10-11 Winbond Electronics Corp Device for indicating access of flash memory card
US8281114B2 (en) * 2003-12-23 2012-10-02 Check Point Software Technologies, Inc. Security system with methodology for defending against security breaches of peripheral devices
KR100588361B1 (ko) * 2003-12-29 2006-06-09 주식회사 코리아 아피스 모바일 디바이스의 데이터 저장장치
US20050149732A1 (en) 2004-01-07 2005-07-07 Microsoft Corporation Use of static Diffie-Hellman key with IPSec for authentication
US7234014B2 (en) * 2004-01-14 2007-06-19 International Business Machines Corporation Seamless user interactions for portable storage devices
JP2008524759A (ja) * 2004-01-15 2008-07-10 サンディスク アイエル リミテッド ブックマーク付き着脱式メディア
CN100495369C (zh) * 2004-01-20 2009-06-03 特科2000国际有限公司 使用多个存储器设备的便携数据存储设备
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7644362B2 (en) * 2004-02-02 2010-01-05 Central Coast Patent Agency, Inc. Alternative user-interface
US20060041484A1 (en) 2004-04-01 2006-02-23 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US8799303B2 (en) 2004-02-15 2014-08-05 Google Inc. Establishing an interactive environment for rendered documents
TWM253155U (en) * 2004-02-17 2004-12-11 Fine Appliance Corp Integrated storage and network function interface card
US7237103B2 (en) 2004-02-18 2007-06-26 Wyse Technology, Inc. Computing device deployment using mass storage device
CN1674587A (zh) * 2004-03-23 2005-09-28 株式会社东芝 信息终端机及其数据传送方法
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US8146156B2 (en) * 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US8621349B2 (en) 2004-04-01 2013-12-31 Google Inc. Publishing techniques for adding value to a rendered document
US20070300142A1 (en) 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US8793162B2 (en) 2004-04-01 2014-07-29 Google Inc. Adding information or functionality to a rendered document via association with an electronic counterpart
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20080313172A1 (en) 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US9460346B2 (en) 2004-04-19 2016-10-04 Google Inc. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US7383386B1 (en) * 2004-05-21 2008-06-03 Mcm Portfolio Llc Multi partitioned storage device emulating dissimilar storage media
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US20090024757A1 (en) * 2004-07-30 2009-01-22 Proctor David W Automatic Protocol Determination For Portable Devices Supporting Multiple Protocols
US7536486B2 (en) 2004-07-30 2009-05-19 Microsoft Corporation Automatic protocol determination for portable devices supporting multiple protocols
US7747797B2 (en) * 2004-09-28 2010-06-29 Microsoft Corporation Mass storage device with near field communications
US20060069819A1 (en) 2004-09-28 2006-03-30 Microsoft Corporation Universal serial bus device
US20080150679A1 (en) * 2005-01-21 2008-06-26 Bloomfield Richard M Remote Keyless Entry Device with Integrated Accessible Memory Storage
US8793795B1 (en) 2005-01-28 2014-07-29 Intelligent Computer Solutions, Inc. Computer forensic tool
US20060285559A1 (en) * 2005-06-16 2006-12-21 Chih-Hung Cheng Method for controlling host from device coupled thereto using universal serial bus and system thereof
US8855714B2 (en) * 2005-09-14 2014-10-07 Sandisk Il Ltd. Removable media player for mobile phones
US20070118334A1 (en) * 2005-10-05 2007-05-24 Klaus Guenter Data logger for a measuring device
US9286308B2 (en) 2005-12-22 2016-03-15 Alan Joshua Shapiro System and method for metadata modification
US8286159B2 (en) * 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
WO2007072310A1 (en) 2005-12-22 2007-06-28 Shapiro Alan J System and method for software delivery
KR101143716B1 (ko) * 2006-01-11 2012-06-21 엘지전자 주식회사 휴대용 디바이스 및 그의 사용자명령 방법
US20070294430A1 (en) * 2006-06-20 2007-12-20 Microsoft Corporation Generating a device address persistent across different instantiations of an electronic device
US7904610B2 (en) * 2006-06-21 2011-03-08 Microsoft Corporation Controlling a device connected to first and second communication path wherein device is also connected to third communication path via a bypass link
US7752029B2 (en) * 2006-06-23 2010-07-06 Kyocera Mita Corporation Method to change USB device descriptors from host to emulate a new device
US20080022034A1 (en) * 2006-07-20 2008-01-24 Ddtic Corporation, Ltd. Segmentation for a flash memory of a flash disc
US20080052446A1 (en) * 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
EP2067119A2 (en) 2006-09-08 2009-06-10 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
SG141267A1 (en) * 2006-09-12 2008-04-28 Flapp Technologies Pte Ltd I A method for executing applications from a portable storage device
KR100818797B1 (ko) * 2006-10-19 2008-04-01 삼성전자주식회사 메모리 용량 조절 방법과 메모리 용량 조절 장치
US9202087B2 (en) * 2006-10-31 2015-12-01 Verizon Patent And Licensing Inc. Method and apparatus for controlling access to local storage devices
US7797396B2 (en) * 2007-01-30 2010-09-14 Hewlett-Packard Development Company, L.P. Network attached storage (NAS) server having a plurality of automated media portals
US8254134B2 (en) 2007-05-03 2012-08-28 Super Talent Electronics, Inc. Molded memory card with write protection switch assembly
US8102658B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. Micro-SD to secure digital adaptor card and manufacturing method
US7789680B2 (en) * 2007-07-05 2010-09-07 Super Talent Electronics, Inc. USB device with connected cap
US20090125645A1 (en) * 2007-11-12 2009-05-14 Gemalto Inc System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device
US8307131B2 (en) * 2007-11-12 2012-11-06 Gemalto Sa System and method for drive resizing and partition size exchange between a flash memory controller and a smart card
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US8001304B2 (en) * 2008-02-15 2011-08-16 Sandisk Technologies Inc. Portable memory device with multiple I/O interfaces wherein each I/O interface has respective protocol and device parameters are requested from one I/O interface using only respective protocol
TWI355582B (en) * 2008-03-05 2012-01-01 Inventec Corp Method for analyzing program with error, and metho
JP5215242B2 (ja) * 2008-06-16 2013-06-19 パナソニック株式会社 ドライブアイコン表示装置、方法、システム、プログラム、及び媒体
KR20100011740A (ko) * 2008-07-25 2010-02-03 엘지전자 주식회사 호스트 및 클라이언트 디바이스와 이를 이용한 클래스 변경방법
US20100082869A1 (en) * 2008-09-26 2010-04-01 Rockwell Automation Technologies, Inc. Stackable i/o modules appearing as standard usb mass storage devices
US20100115116A1 (en) * 2008-11-03 2010-05-06 Micron Technology, Inc. System and method for switching communication protocols in electronic interface devices
US8140837B2 (en) 2008-11-05 2012-03-20 International Business Machines Corporation Automatically making selective changes to firmware or configuration settings
US20100185843A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
WO2010096193A2 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Identifying a document by performing spectral analysis on the contents of the document
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US8990235B2 (en) 2009-03-12 2015-03-24 Google Inc. Automatically providing content associated with captured information, such as information captured in real-time
US20100293309A1 (en) * 2009-05-13 2010-11-18 Yun-Ching Lin Production Tool For Low-Level Format Of A Storage Device
US9330282B2 (en) * 2009-06-10 2016-05-03 Microsoft Technology Licensing, Llc Instruction cards for storage devices
US8321956B2 (en) * 2009-06-17 2012-11-27 Microsoft Corporation Remote access control of storage devices
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
KR20110093296A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 휴대단말기의 외장메모리 인식 방법 및 장치
US20110270814A1 (en) * 2010-04-29 2011-11-03 International Business Machines Corporation Expanding Functionality Of One Or More Hard Drive Bays In A Computing System
CN102709970B (zh) * 2012-05-23 2015-09-16 中兴通讯股份有限公司 充电电路及其控制方法与装置
KR101919903B1 (ko) * 2012-09-14 2018-11-19 삼성전자 주식회사 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법
USD705782S1 (en) * 2012-09-28 2014-05-27 Seagate Technology Llc Storage cartridge
US20150153766A1 (en) * 2013-11-29 2015-06-04 Avigilon Corporation Camera supporting removable storage divided into multiple partitions
US20170351592A1 (en) * 2016-06-03 2017-12-07 Tzu Ping CHU Universal serial bus device and a method thereof
US20200151119A1 (en) * 2018-11-08 2020-05-14 Silicon Motion, Inc. Method and apparatus for performing access control between host device and memory device
US10608819B1 (en) 2019-09-24 2020-03-31 Apricorn Portable storage device with internal secure controller that performs self-verification and self-generates encryption key(s) without using host or memory controller and that securely sends encryption key(s) via side channel
US10656854B1 (en) 2019-10-22 2020-05-19 Apricorn Method and portable storage device with internal controller that can self-verify the device and self-convert the device from current mode to renewed mode without communicating with host
CN112328305B (zh) * 2020-10-30 2022-10-18 歌尔光学科技有限公司 一种眼图测试方法、装置、电子设备及可读存储介质
CN113515415B (zh) * 2021-04-12 2024-03-08 山东英信计算机技术有限公司 一种测试介质生成方法、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001023987A1 (en) * 1999-09-30 2001-04-05 M-Systems Flash Disk Pioneers Ltd. Removable, active, personal storage device, system and method
KR20010035042A (ko) * 2000-11-24 2001-05-07 김병광 유에스비 인터페이스와 플래시 메모리를 사용한 이동식저장장치
JP2001216099A (ja) * 1999-11-14 2001-08-10 國順 ▲でん▼ 全電子フッラシュ・メモリ式外部記憶方法及びその装置
KR20010095472A (ko) * 2000-03-30 2001-11-07 백정현 휴대용 데이터 저장 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4420123B4 (de) * 1994-06-09 2007-06-06 Robert Bosch Gmbh Speicherbankumschalteinrichtung
JPH08328752A (ja) * 1994-06-10 1996-12-13 Canon Inc 情報記録装置及び方法
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JP3104646B2 (ja) 1997-06-04 2000-10-30 ソニー株式会社 外部記憶装置
US6012103A (en) 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
JPH11161524A (ja) * 1997-11-28 1999-06-18 Nec Corp バス制御方式
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
JP4135220B2 (ja) * 1998-07-01 2008-08-20 株式会社デンソー 車両用電子制御装置
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
KR100505103B1 (ko) 1999-10-11 2005-07-29 삼성전자주식회사 범용 직렬 버스용 메모리 스틱
KR100676194B1 (ko) 2000-03-30 2007-01-30 삼성전자주식회사 씨모스(cmos) 트랜지스터 제조방법
KR20020041221A (ko) 2000-11-27 2002-06-01 이진혁 외부저장장치를 이용한 컴퓨터의 환경을 설정하고복구하는 방법 및 컴퓨터 환경 설정/복구 장치
US7617352B2 (en) * 2000-12-27 2009-11-10 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001023987A1 (en) * 1999-09-30 2001-04-05 M-Systems Flash Disk Pioneers Ltd. Removable, active, personal storage device, system and method
JP2001216099A (ja) * 1999-11-14 2001-08-10 國順 ▲でん▼ 全電子フッラシュ・メモリ式外部記憶方法及びその装置
KR20010095472A (ko) * 2000-03-30 2001-11-07 백정현 휴대용 데이터 저장 장치
KR20010035042A (ko) * 2000-11-24 2001-05-07 김병광 유에스비 인터페이스와 플래시 메모리를 사용한 이동식저장장치

Also Published As

Publication number Publication date
KR20030039598A (ko) 2003-05-22
MXPA01012276A (es) 2003-05-22
WO2003042847A1 (en) 2003-05-22
US20030167376A1 (en) 2003-09-04
CA2364089A1 (en) 2003-05-13
EP1310908A3 (en) 2005-01-19
US6757783B2 (en) 2004-06-29
EP1310908A2 (en) 2003-05-14

Similar Documents

Publication Publication Date Title
KR100450080B1 (ko) 유에스비기반의 이동형 저장장치 및 그 제어방법
US7136951B2 (en) Multifunction semiconductor storage device and a method for booting-up computer host
US7412558B2 (en) Semiconductor storage device
US9026683B1 (en) Command portal for executing non-standard storage subsystem commands
US8745277B2 (en) Command portal for securely communicating and executing non-standard storage subsystem commands
US7606946B2 (en) Removable device and program startup method
US7200698B1 (en) Disk drive and method for data transfer initiated by optional disk-drive commands on a serial interface that only supports standard disk-drive commands
US7007127B2 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
US5909592A (en) Method in a basic input-output system (BIOS) of detecting and configuring integrated device electronics (IDE) devices
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
JP2005122725A (ja) スマートメモリパススルー通信のための方法及び装置
US8904094B2 (en) Memory system in which extended function can easily be set
US7774560B2 (en) Storage emulator and method thereof
US7437503B2 (en) Method and apparatus for handling data transfers
US20080301358A1 (en) Electronic device that Downloads Operational Firmware from an External Host
US20140297932A1 (en) Memory system in which extension function can easily be set
CN101443739B (zh) 数据存储装置及其初始化方法
US8930613B2 (en) Memory system in which extended function can easily be set
US20050265266A1 (en) Optical disc drive that downloads operational firmware from an external host
KR100692958B1 (ko) 에물레이터를 갖는 휴대용 반도체 메모리 저장 장치
US20050268029A1 (en) Optical Disc Drive that Downloads Operational Firmware from an External Host
US20140013049A1 (en) Memory system in which extended function can easily be set
LIABILITY et al. Revision History
JPH08137588A (ja) コンピュータシステム

Legal Events

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

Payment date: 20120917

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130913

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170913

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee