KR100954933B1 - 유니버설 시리얼 버스 스토리지장치 및 그 제어장치 - Google Patents

유니버설 시리얼 버스 스토리지장치 및 그 제어장치 Download PDF

Info

Publication number
KR100954933B1
KR100954933B1 KR1020060039435A KR20060039435A KR100954933B1 KR 100954933 B1 KR100954933 B1 KR 100954933B1 KR 1020060039435 A KR1020060039435 A KR 1020060039435A KR 20060039435 A KR20060039435 A KR 20060039435A KR 100954933 B1 KR100954933 B1 KR 100954933B1
Authority
KR
South Korea
Prior art keywords
area
usb
storage device
host
information
Prior art date
Application number
KR1020060039435A
Other languages
English (en)
Other versions
KR20060056927A (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
Priority claimed from JP2003125464A external-priority patent/JP3513147B2/ja
Application filed by 가부시끼가이샤 하기와라 시스콤 filed Critical 가부시끼가이샤 하기와라 시스콤
Publication of KR20060056927A publication Critical patent/KR20060056927A/ko
Application granted granted Critical
Publication of KR100954933B1 publication Critical patent/KR100954933B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/0623Securing storage systems in relation to content
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • 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/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 기억을 마친 소프트웨어가 잘못하여 삭제되는 것을 방지하는 기능을 가능한 한 단순한 구성으로 실현한 USB 스토리지장치를 제공하는 것이다.
데이터의 판독, 기입 및 삭제가 가능한 영역과 판독만이 가능한 영역으로 기억영역을 구분하고, 이들 영역을, 호스트에 구비된 USB 대용량 스토리지 클래스 드라이버의 SCSI 명령 셋으로 정의된 논리유닛번호에 대응하는 영역으로서 USB 대용량 스토리지 클래스 드라이버에 인식시키기 위한 정보를 보유한다. 상기 정보는, 논리유닛번호(31)와 포맷(33)과 기입/삭제 가능여부 플래그(35)와 논리블록번호(37)와 물리블록번호(39)로 구성된다. 그 결과, USB 대용량 스토리지 클래스 드라이버는 2개의 논리유닛을 갖는 하나의 SCSI 디바이스로서 USB 스토리지장치를 인식한다.

Description

유니버설 시리얼 버스 스토리지장치 및 그 제어장치{USB STORAGE DEVICE AND CONTROL DEVICE}
도 1은 실시예의 USB 스토리지장치의 구성을 나타내는 블록도.
도 2는 메모리정보기억부에 기억되어 있는 데이터예.
도 3은 기동처리를 설명하기 위한 플로우차트.
도 4는 액세스처리를 설명하기 위한 플로우차트.
도 5는 초기화 소프트웨어의 조작화면을 설명하기 위한 화면예.
도 6은 초기화 처리를 설명하기 위한 플로우차트.
도 7은 실시예의 잉크젯 프린터의 구성을 나타내는 블록도.
도 8은 실시예의 스캐너의 구성을 나타내는 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
11 : 호스트 12 : 오퍼레이션 시스템
13 : 디스크 드라이브 드라이버 14 : USB 대용량 스토리지 클래스 드라이버
15 : USB 호스트 컨트롤러 16 : USB 버스
17 : USB 스토리지장치 19a : USB 인터페이스
19b : 직렬 병렬 변환부 19c : 패킷 생성분해부
19d : USB 버스파워 제어부 21 : 컨트롤러
21a : 메모리 제어부 21b : USB 인터페이스 제어부
21c : 메모리정보 기억부 21d : LED 제어부
23 : LED 25 : 플래시메모리
71 : 잉크젯 프린터 73 : MPU
75 : 인자(印字)헤드 77 : 액추에이터
81 : 스캐너 83 : MPU
85 : CCD 87 : 액추에이터
본 발명은 반도체 메모리를 이용하여 정보를 기억하는 USB 스토리지장치에 관한 것이다.
최근, 플래시메모리 등을 내장하고 USB(Universal Serial Bus)규격에 기초한 인터페이스를 구비하며, USB 커넥터 부분을 본체에 일체화함으로써 컴팩트한 형상을 실현한 탈·부착식 USB 스토리지장치가 널리 알려져 있다(예컨대, 특허문헌 1). 이러한 USB 스토리지장치는 컴팩트한 형상때문에 염가에 제조할 수 있으며, 내부에 광고 등의 소프트웨어가 저장되어 기업의 판촉품으로서 이용되고 있다.
이러한 USB 스토리지장치의 대부분은, 소프트웨어가 잘못하여 삭제되지 않도록 하기 위해 기록보호 스위치(write protect switch)와 같은 물리적인 스위치를 설치하여, 상기 스위치를 전환함에 따라 판독, 기입 및 삭제가 가능한 상태와 판독만 가능한 상태로 전환되도록 되어 있다. 또한, ROM과 같이 원래 재기입(변경)이 불가능한 메모리를 사용하여 기입 및 삭제가 전혀 불가능하게 하는 경우도 있다.
그러나, 이와 같이 ROM 등을 이용하여 사용자가 정보를 기입할 수 없도록 하면, 사용 목적이 제한되므로 사용이 불편하다. 또한, 소프트웨어를 실행할 때 임시 파일이나 데이터 등을 기입할 수 없어, 소프트웨어 자체의 기능이 제한되는 경우도 있었다. 한편, 상술한 기록보호 스위치를 이용할 경우에는, 사용자가 의식하지 못한 물리적 요인으로 인해 기록보호 스위치가 해제되어 버려, 의도하지 않게 기입 또는 삭제되는 경우도 있을 수 있었다.
따라서, 이러한 문제점을 해결하기 위해 특허문헌 2에 기재된 것과 같은 기술이 고려되고 있다. 이것은, 재기입이 가능한 휴대형 미디어에 대하여 가상적으로 재기입 금지영역이나 판독 금지영역을 만들어 하이브리드 구성으로 한 것이다.
[특허문헌 1]
일본 특허 공개 공보 2000-259275호
[특허문헌 2]
일본 특허 공개 공보 평10(1998)-289159호
그런데, 특허문헌 2에 기재된 기술을 USB 스토리지장치에 적용하는 경우를 고려할 때, 그 구체적인 실현방법으로는 다음과 같은 방법을 생각할 수가 있다.
그 중 하나는, USB 스토리지장치에 내부적으로 2개의 USB 스토리지장치(중 하나의 USB 스토리지장치는 삭제 및 기입을 제한함)와 이들을 접속한 허브를 구비함으로써 실현하는 방법이다. 그러나, 이러한 USB 스토리지장치는 내부에 실질적으로 2개의 USB 스토리지장치를 구비하기 때문에 구성이 복잡해진다는 문제점이 있었다. 또한, 호스트에서는 USB 스토리지장치가 접속되었을 때, 우선 HUB 디바이스로서 인식하고, 그 후 내장된 USB 스토리지장치의 수만큼 대용량 스토리지 클래스 드라이버(mass storage class driver)의 초기화가 필요하므로, 접속시의 처리에 시간이 소요된다는 문제점도 있었다.
또 하나는, USB 규격에서의 엔드포인트의 수를 늘림으로써 실현하는 방법도 생각할 수 있다. 그러나, 이 방법을 이용했을 경우에는, USB 스토리지장치에 구비되는 컨트롤러에 엔드포인트의 수만큼 FIFO 버퍼가 필요해진다. 또한, 최근에는 다수의 FIFO 버퍼를 장착하지 않는 가상의 엔드포인트 기법을 이용한 컨트롤러도 있지만, 어느 경우든 컨트롤러가 복잡해지고 비용 증가를 초래하는 요인이었다.
본 발명은 이러한 문제점을 감안하여 이루어진 것으로서, 기억을 마친 소프트웨어가 잘못하여 삭제되는 것을 방지하는 기능을 가능한 한 단순한 구성으로 실현한 USB 스토리지장치를 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위해 이루어진 본 발명의 USB 스토리지장치는, 소정의 오퍼레이션 시스템에 의해 제어되는 동시에 적어도 디스크 드라이브 드라이버, USB 대용량 스토리지 클래스 드라이버 및 USB 호스트 컨트롤러를 구비하는 외부장치에 대해 탈·부착이 가능한 USB 스토리지장치로서, 플래시메모리로 이루어지며, 사용 자가 사용할 수 있는 하나 이상의 영역을 갖는 기억수단과, 외부장치와 USB 프로토콜에 기초하여 통신하는 통신수단과, 통신수단을 통해 기억수단에 대하여 정보를 판독, 기입 및 삭제하는 제어수단을 구비한다.
제어수단은, 외부장치에 구비되는 USB 대용량 스토리지 클래스 드라이버의 SCSI 명령 셋으로 정의된 논리 유닛 번호에 대응하는, 사용자가 사용할 수 있는 하나 이상의 영역을, 정보의 판독만이 가능한 논리유닛으로서 USB 대용량 스토리지 클래스 드라이버에 인식시키기 위한 당해 영역의 포맷정보를 기억하고, 디스크 드라이브 드라이버로부터의 지령에 따라 포맷 정보를 USB 대용량 스토리지 클래스 드라이버에 공급하여, 본 USB 스토리지장치를 정보의 판독만이 가능한 논리유닛을 갖는 하나의 SCSI 디바이스로서 상기 USB 대용량 스토리지 클래스 드라이버에 인식시키는 동시에, 외부장치로부터 받은 지령과 포맷정보에 기초하여 논리 유닛에 대해 정보의 판독만을 실행한다.
따라서, 본 발명의 USB 스토리지장치를 가령 판촉품으로서 이용할 경우, 잘못하여 삭제되면 문제가 있는 소프트웨어를 플래시메모리로 이루어지는 기억수단에 기억시켜 두면, 외부장치(예컨대, 개인용 컴퓨터)로부터 삭제 지령을 받았을 경우에도 제어수단은 그 지령을 실행하지 않기 때문에, 소프트웨어가 삭제되거나 변경되는 것을 방지할 수 있다.
상기 기억수단은 플래시메모리의 기억영역을 제 1 영역과 제 2 영역으로 나누어 정의한 것일 수도 있다. 이러한 경우, 제어수단은, 외부장치에 구비되는 USB 대용량 스토리지 클래스 드라이버의 SCSI 명령 셋으로 정의된 논리유닛번호에 대응하는 제 1 영역과 제 2 영역을, 제 1 영역에 대해서는 정보의 판독, 기입 및 삭제가 가능한 디스크 유닛으로서 USB 대용량 스토리지 클래스 드라이버에 인식시키고, 제 2 영역에 대해서는 정보의 판독만이 가능한 유닛으로서 USB 대용량 스토리지 클래스 드라이버에 인식시키기 위한 당해 영역의 포맷정보를 기억하고, 디스크 드라이브 드라이버로부터의 지령에 따라 포맷정보를 USB 대용량 스토리지 클래스 드라이버에 공급하여, 상기 정보의 판독, 기입 및 삭제가 가능한 디스크 유닛과, 정보의 판독만이 가능한 유닛이라는 2가지 논리유닛을 갖는 하나의 SCSI 디바이스로서 본 USB 스토리지장치를 상기 USB 대용량 스토리지 클래스 드라이버에 인식시키는 동시에, 외부장치로부터 받은 지령과 포맷정보에 기초하여, 제 1 영역에 대해서는 정보를 판독, 기입 또는 삭제하고, 제 2 영역에 대해서는 정보의 판독만 실행한다.
이에 따라, 본 발명의 USB 스토리지장치를 가령 판촉품으로서 이용할 경우, 잘못하여 삭제되면 문제가 있는 소프트웨어를 제 2 영역에 기억시켜 두면, 외부장치(예컨대, 개인용 컴퓨터)로부터 삭제 지령을 받았을 경우에도 제어수단은 그 지령을 실행하지 않기 때문에, 소프트웨어가 삭제되거나 변경되는 것을 방지할 수 있다.
한편, 제 1 영역에 대해서는 보호 스위치 등을 전환하지 않고 이용자 등이 임의로 정보를 기입할 수 있기 때문에 사용이 편리하다.
또, 제 1 영역을 가령 FAT(File Allocation Table)포맷으로, 제 2 영역을 가령 ISO9660 포맷으로 구성해 두면 된다. 이와 같이 구성해 두면, 외부장치의 오퍼 레이션 시스템이 그 포맷을 인식하여 제 1 영역에 대한 판독, 기입 및 삭제 지령을 발행하지만, 제 2 영역에 대한 기입지령이나 삭제지령의 발행은 제한한다. 게다가, 어떠한 이유로 인해 외부장치가 제 2 영역에 대한 기입지령이나 삭제지령을 발행했다 하더라도, 본 발명의 USB 스토리지장치에서는 제어수단이 그 지령을 실행하지 않기 때문에, 제 2 영역에 기억된 소프트웨어를 확실히 보호할 수가 있다.
또한, 본 발명의 USB 스토리지장치는, USB 대용량 스토리지 클래스 드라이버의 SCSI 명령 세트(command set)로 정의된 논리 유닛 번호에 대응하는 영역으로서 제 1 및 제 2 영역을 USB 대용량 스토리지 클래스 드라이버에 인식시키기 위한 포맷정보를 보유한다. 이 때문에, USB 대용량 스토리지 클래스 드라이버는 본 USB 스토리지장치를, 정보의 판독, 기입 및 삭제가 가능한 디스크 유닛과, 정보의 판독만이 가능한 유닛이라는 2가지 논리유닛을 갖는 하나의 SCSI 디바이스로서 인식한다.
따라서, 이러한 영역을 USB 규격의 엔드포인트의 수를 늘림으로써 관리하는 경우에 비해, USB 스토리지장치의 컨트롤러를 단순화할 수 있다. 왜냐하면, 엔드포인트 수만큼 컨트롤러는 FIFO 버퍼를 구비할 필요가 있기 때문이다.
또한, USB 스토리지장치에 내부적으로 2종류의 USB 스토리지장치와 이들을 접속한 허브를 구비함으로써 실현하는 방법과 비교해도 본 발명의 USB 스토리지장치는 구성이 단순하다. 또한, 본 발명의 USB 스토리지장치에 따르면, 외부장치의 오퍼레이션 시스템이 실행하는 USB 대용량 스토리지 클래스 드라이버의 초기화 처리도 한번에 끝나기 때문에, 외부장치의 오퍼레이션 시스템이 USB 스토리지장치를 인식하기까지의 시간도 짧다.
또한, 호스트의 오퍼레이션 시스템은 정보의 판독, 기입 및 삭제가 가능한 디스크 유닛과, 정보의 판독만이 가능한 유닛이라는 2가지 논리유닛을 갖는 하나의 SCSI 디바이스로서 USB 스토리지장치를 관리할 수 있기 때문에, 복수의 디바이스를 관리하는 경우에 비해 다양한 처리를 단순화하여 실행할 수 있으며 동작도 안정된다.
본 발명의 제어장치는, 디스크 포맷으로 구성된 제1 영역과, CD-ROM 포맷으로 구성된 제2 영역을 포함하는 USB 스토리지 장치에 탑재되는 컨트롤러로서,
(i) 상기 컨트롤러는, USB 대용량 스토리지 클래스 드라이버에 대하여, 데이터의 판독, 기입 및 삭제가 실행될 수 있는 디스크 장치로서 상기 제1 영역을 인식시키고, 데이터의 판독만이 실행가능한 CD-ROM 장치로서 상기 제2 영역을 인식시키기 위하여, USB 스토리지 장치의 플래시 메모리에 형성된 상기 제1 영역 및 제2 영역의 포맷 타입 정보를 저장하고,
(ii) 상기 컨트롤러는, 디스크 드라이브 드라이버로부터의 명령에 응답하여 USB 대용량 스토리지 클래스 드라이버로 상기 제1 영역 및 제2 영역의 포맷 타입 정보를 보내어, 상기 USB 스토리지 장치를 상기 디스크 장치와 CD-ROM 장치를 포함하는 2가지 종류의 장치로서 상기 USB 대용량 스토리지 클래스 드라이버에 인식시키고, 오퍼레이션 시스템은 상기 제1 영역 및 제2 영역의 포맷을 인식하여, 상기 제2 영역에 대한 기입이나 삭제 명령의 발행을 제한하며,
(iii) 상기 컨트롤러가 상기 제2 영역에 대하여 기입이나 삭제의 명령을 수신하더라도, 상기 컨트롤러는 외부장치로부터 받은 명령과 상기 제1 영역 및 제2 영역의 포맷 타입 정보에 따라, 상기 제1 영역에 대하여 데이터의 판독, 기입 및 삭제를 실행하고, 상기 제2 영역으로부터는 데이터의 판독만을 실행한다.
이하, 본 발명이 적용된 실시예에 대해 도면을 이용하여 설명한다. 또한, 본 발명의 실시형태는 하기의 실시예로 한정되는 것은 결코 아니며, 본 발명의 기술적 범위에 속하는 한 다양한 형태를 취할 수 있다.
[실시예 1]
도 1은 실시예 1의 USB 스토리지장치(17;특허청구의 범위에 기재된 USB 스토리지장치에 상당함)와 호스트(11;특허청구의 범위에 기재된 외부장치에 상당함)의 개략구성을 나타내는 블록도이다.
(1) 호스트(11)
호스트(11)는 일반적으로 널리 알려진 개인용 컴퓨터이며, 소프트웨어로서 오퍼레이션 시스템(12), 디스크 드라이브 드라이버(13) 및 USB 대용량 스토리지 클래스 드라이버(14)를 구비하고, 하드웨어로서 USB 호스트 컨트롤러(15)를 적어도 구비한다.
오퍼레이션 시스템(12)은, 호스트(11)를 통괄적으로 제어하는 소프트웨어이며, 가령 Windows(등록상표)나 Mac OS X(등록상표) 등이다. 디스크 드라이브 드라 이버(13)는, 오퍼레이션 시스템(12)으로부터 받은 스토리지장치에 대한 액세스 지령 등을 SCSI 명령 변환하여 USB 대용량 스토리지 클래스 드라이버(14)로 넘기는 동시에, USB 대용량 스토리지 클래스 드라이버(14)로부터 지령 등을 받아서 오퍼레이션 시스템(12)으로 보낸다. USB 대용량 스토리지 클래스 드라이버(14)는 USB 호스트 컨트롤러(15)를 제어한다. USB 호스트 컨트롤러(15)는, 도시하지 않은 USB 커넥터를 구비하며, 다른 장치의 USB 커넥터와 케이블에 의해 접속됨으로써, USB 규격에 기초하여 통신할 수 있도록 되어 있다. 한편, 호스트(11)는, USB 규격에 기초하여 통신할 수 있는 기기라면 개인용 컴퓨터에 한하지 않고 PDA나 휴대전화 등이어도 된다.
(2) USB 스토리지장치(17)
USB 스토리지장치(17)는, USB 인터페이스(19)와 컨트롤러(21)와 LED(23)와 플래시메모리(25)를 구비한다.
(2-1) USB 인터페이스(19)
USB 인터페이스(19)는 특허청구의 범위에 기재된 통신수단에 상당하며, USB 버스(16)를 통해 호스트(11)와 통신하는 기능을 담당한다. USB 인터페이스(19)는, 패킷 송/수신부(19a)와 직렬 병렬 변환부(19b)와 패킷 생성분해부(19c)와 USB 버스파워 제어부(19d)를 구비한다. 패킷 송/수신부(19a)는, 도시하지 않은 USB 커넥터와 접속되어 USB 규격에 기초한 패킷을 송/수신한다. 직렬 병렬 변환부(19b)는, 직렬 데이터와 병렬 데이터를 상호 변환한다. 패킷 생성분해부(19c)는, 호스트(11)와 통신하기 위한 패킷을 생성 및 분해하여 데이터를 추출한다. USB 버스파워 제어부(19d)는, 호스트(11)로부터 공급되는 전력을 관리하며 USB 스토리지장치(17)의 각 부위로 전력을 배분한다.
(2-2) 컨트롤러(21)
컨트롤러(21)는, 특허청구의 범위에 기재된 제어수단에 상당하며, 메모리 제어부(21a)와 USB 인터페이스 제어부(21b)와 메모리 정보 기억부(21c)와 LED 제어부(21d)를 구비한다. 메모리 제어부(21a)는, 플래시메모리(25)에 대하여 데이터를 판독, 기입 및 삭제한다. USB 인터페이스 제어부(21b)는, 상술한 USB 인터페이스(19)의 각 부를 제어한다. 메모리 정보 기억부(21c)는, 플래시메모리(25)의 영역에 관한 정보를 기억한다. 상기 정보는, 특허청구의 범위에 기재된 「USB 대용량 스토리지 클래스 드라이버의 SCSI 명령 셋으로 정의된 논리유닛번호에 대응하는 영역으로서 상기 제 1 및 제 2 영역을 상기 USB 대용량 스토리지 클래스 드라이버에 인식시키기 위한 정보」에 상당한다. 도 2의 데이터예를 이용하여 상기 정보에 대해 설명한다.
도 2에 나타내는 바와 같이 메모리 정보 기억부(21c)는, 논리유닛번호(31)와 포맷(33)과 기입/삭제 가능여부 플래그(35)와 논리블록번호(37)와 물리블록번호(39)를 구비한다. 논리유닛번호(31)는 논리유닛을 식별하기 위한 번호이며 「0」과 「1」이 존재한다. 포맷(33)은 논리유닛번호(31)에 대응하며, 그 논리유닛의 포맷을 나타낸다. 데이터예에서는 논리유닛번호 「0」은 「FAT」포맷이고 논리유닛번호「1」은 「ISO9660」포맷이다. 기입/삭제 가능여부 플래그(35)는 논리유닛번호(31)에 대응하며, 그 논리유닛에 대해 정보의 기입 및 삭제의 실행가능 여부를 나타내는 플래그이다. 데이터예에서는 논리유닛번호 「0」은 「가능」이고, 논리유닛번호 「1」은 「불가능」이다. 논리블록번호(37)는 호스트(11)에 의해 지정되는 블록번호로서 논리유닛마다 정의되어 있다.
이와 같이, 플래시메모리(25)의 실제 블록번호인 물리블록번호(39)와 논리블록번호(37)의 대응관계는 메모리 제어부(21a)에 의해 관리된다. 이에 따라, 물리블록번호(39)와 논리블록번호(37)는 자유롭게 대응시킬 수 있다. 또한, 논리유닛번호 「0」의 포맷을 ISO9660으로 하고, 논리유닛번호 「1」의 포맷을 FAT로 해도 무방하다. 또, 논리유닛을 더욱 늘려 사용자나 애플리케이션에 따라 선택 사용하도록 할 수도 있다.
(2-3) LED(23)
도 1로 되돌아가서, LED(23)는 플래시메모리(25)에 대하여 정보가 판독, 기입 및 삭제될 때 점등하는 발광체이다. 플래시메모리(25)에 대해 정보가 판독, 기입 및 삭제 실행중임을 사용자에게 나타내고, 이러한 실행중에 호스트(11)로부터 USB 스토리지장치(17)가 빠지지 않도록 하기 위한 것이다.
(2-4) 플래시메모리(25)
플래시메모리(25)는 기억유지동작이 불필요한 반도체 메모리이며 데이터를 기억할 수 있다. 기억된 데이터는 메모리 제어부(21a)에 의해 판독할 수 있다. 또한, 메모리 제어부(21a)에 의해 기입 및 삭제할 수도 있다. 플래시메모리(25)는 특허청구의 범위에 기재된 기억수단에 상당한다.
(a) 기동처리
USB 스토리지장치(17)가 호스트(11)에 접속되었을 때, USB 스토리지장치(17)의 컨트롤러(21)에 의해 프로그램에 기초하여 실행되는 기동처리에 관해 도 3의 플로우차트를 이용하여 설명한다. 상기 기동처리는, USB 스토리지장치(17)가 호스트(11)에 접속됨으로써, USB 버스파워 제어부(19d)에 전력이 공급되고, 또한 호스트(11)측에서 열거(enumeration) 처리가 실행되면 개시된다.
기동처리를 개시하면, 호스트(11)로부터의 지령에 따라 디스크립터(descri ptor)라 불리는 디바이스 정보(디폴트 파이프의 최대 패킷 사이즈 등)를 호스트(11)에 송신한다(S110).
다음으로, 호스트(11)로부터 지령에 따라 USB 스토리지장치(17)의 어드레스를 설정한다(S115). 이후, 상기 USB 스토리지장치(17)는 그 어드레스에 대한 프레임만을 취득한다.
다음으로, 보다 상세한 디바이스 정보를 호스트(11)에 송신한다(S120). 이러한 디바이스 정보는 엔드포인트에 관한 정보, 클래스, 하위 클래스(sub-class), 프로토콜 등이다.
그 결과, 호스트(11)에서는 USB 대용량 스토리지 클래스 드라이버(14)가 기동되어, 도시하지 않은 애플리케이션 소프트웨어로부터 디스크 드라이브 드라이버(13)와 USB 대용량 스토리지 클래스 드라이버(14)를 통해 USB 호스트 컨트롤러(15)를 제어하는 접근 경로(access path)가 생긴다. 또, 상기 디스크 드라이브 드라이버(13)는 MS-DOS(등록상표) 시대부터 계승되고 있는 드라이버이기 때문에, 오랫동안 기술이 축적되어 안정적인 동작을 얻을 수 있는 드라이버이다.
이어서, USB 대용량 스토리지 클래스 드라이버(14)가 Get Max Logical Unit Number 명령에 따라 논리유닛번호 수를 요구하기 때문에, USB 스토리지장치(17)는 메모리 정보 기억부(21c)로부터 논리유닛번호 수가 2라는 정보를 판독하여 호스트(11)에 송신한다. 또한 디스크 드라이브 드라이버(13)가 INQUIRY 명령을 발행하기 때문에, USB 스토리지장치(17)는 메모리 정보 기억부(21c)로부터 논리유닛의 포맷에 관한 정보를 판독하여 호스트(11)에 송신한다. 그 결과, 호스트(11)는 USB 스토리지장치(17)를, FAT 포맷으로 구성되는 논리유닛번호 「0」의 영역과 ISO9660 포맷으로 구성되는 논리유닛번호 「1」의 영역을 갖는 디바이스로서 인식한다.
호스트(11)와의 통신이 확립되면, 플래시메모리(25)를 동작할 수 있도록 하고(S125) 기동처리를 종료한다.
한편, Windows(등록상표)에는, 기억매체의 삽입 또는 접속시에 그 기억매체의 루트 디렉토리에 기억된 autorun.inf 라는 이름의 파일 내에서 지정된 애플리케이션 소프트웨어를 실행하는 기능이 구비되어 있기 때문에, 플래시메모리(25)의 논리유닛번호 「1」의 영역에 그 파일을 기억시켜 두면, 본 USB 스토리지장치(17)가 호스트(11)에 장착되었을 때 특정 소프트웨어를 자동적으로 실행시킬 수 있다.
이와 같이 구성하면, 이용자가 호스트(11)의 조작에 익숙하지 않아도 본 USB 스토리지장치(17)를 장착하기만 하면 특정한 애플리케이션 소프트웨어가 자동으로 실행되기 때문에, 가령, 판촉품으로서 일반에게 널리 배포했을 경우에 판촉을 담당하는 애플리케이션 소프트웨어를 확실히 실행시킬 수 있어 판촉효과가 높아진다.
(b) 액세스처리
호스트(11)에서 동작하는 각종 소프트웨어가 USB 스토리지장치(17)에 대하여 데이터의 기입, 판독, 삭제의 실행 지령을 보냈을 때, USB 스토리지장치의 컨트롤러(21)에 의해 프로그램에 기초하여 실행되는 액세스처리에 관해 도 4의 플로우차트를 이용하여 설명한다.
먼저, S210에서는 호스트(11)로부터 수신한 지령의 종류에 따라 분기된다. 기입 또는 삭제 지령이었을 경우에는 S215로 진행하고, 그렇지 않을 경우, 즉 판독의 지령이었을 경우에는 S250으로 진행한다.
S215에서는, 기입 또는 삭제 지령이 논리유닛번호「1」에 대한 지령인지의 여부에 따라 분기된다. 즉, 기입 및 삭제가 가능한 논리유닛에 대한 것인지의 여부에 따라 분기된다. 논리유닛번호 「1」에 대한 것이면 S245로 진행하고, 그렇지 않을 경우, 즉 논리유닛번호 「0」에 대한 지령이면 S220으로 진행한다.
S220에서는 LED(23)를 점등시킨다. 이어지는 S225에서는, 호스트(11)로부터 지정된 플래시메모리(25)의 블록에 데이터를 기입한다. 또는 호스트(11)로부터 지정된 플래시메모리(25)의 블록의 데이터를 삭제한다. 또한, 기입 또는 삭제를 실행할 때에는, 메모리 정보 기억부(21c)에 기억되어 있는 플래시메모리(25)의 영역에 관한 정보(도 2 참조)를 이용하여, 호스트(11)로부터 지정된 블록번호를 논리블록번호(37)로 하고 그 논리블록번호(37)에 해당하는 물리블록번호(39)에 의해 특정된 플래시메모리(25)의 블록에 대하여 데이터를 기입 및 삭제한다.
이어서 S230에서는 LED(23)를 소등한다. 그리고, S235에서는 S225의 처리가 정상적으로 완료되었는지 여부에 따라 분기된다. 정상적으로 완료되었으면 액세스 처리를 종료하고, 정상적으로 완료되지 않았으면 S240으로 진행한다.
S240에서는, S225의 처리가 정상적으로 완료되지 않았음을 호스트(11)에 통지하고 액세스처리를 종료한다.
한편, S215에서 기입 또는 삭제의 지령이 논리유닛번호 「1」에 대한 지령이라고 판정되었을 때 진행하는 S245에서는, 허가되지 않은 지령으로 하고 에러가 발생했음을 호스트(11)에 통지한다.
또한, S210에서 판독지령이었다고 판정되어 진행하는 S250에서는 LED(23)를 점등시키고, 이어지는 S255에서는 호스트(11)로부터 지정된 플래시메모리(25)의 블록의 데이터를 판독하여 판독한 데이터를 호스트(11)에 보낸다. 또, 데이터를 판독할 때에는, 메모리 정보 기억부(21c)에 기억되어 있는 플래시메모리(25)의 영역에 관한 정보(도 2 참조)를 이용하여, 호스트(11)로부터 지정된 블록번호를 논리블록번호(37)로 하고 그 논리블록번호(37)에 해당하는 물리블록번호(39)에 의해 특정된 플래시메모리(25)의 블록으로부터 데이터를 판독한다.
이어서 S260에서는 LED(23)를 소등한다. 그리고, S265에서는 S255의 처리가 정상적으로 완료되었는지의 여부에 따라 분기된다. 정상적으로 완료되었으면 액세스처리를 종료하고, 정상적으로 완료되지 않았으면 S270으로 진행한다.
S270에서는, S255의 처리가 정상적으로 완료되지 않았음을 호스트(11)에 통지하고 액세스처리를 종료한다.
이와 같이 액세스처리가 실행되기 때문에, 가령 판촉품으로서 USB 스토리지장치(17)를 이용했을 경우, 잘못하여 삭제되면 문제가 있는 소프트웨어를 논리유닛 번호 「1」의 영역에 기억시켜 두면, 그 소프트웨어가 삭제되는 것을 방지할 수 있다.
또한, USB 스토리지장치(17)는, USB 대용량 스토리지 클래스 드라이버(14)의 SCSI 명령 셋으로 정의된 논리유닛번호에 대응하는 영역으로서, 논리유닛번호 「0」의 영역과 논리유닛번호 「1」의 영역을 USB 대용량 스토리지 클래스 드라이버에 인식시키기 위한 정보를 메모리 정보 기억부(21c)에 보유한다. 이에 따라, USB 대용량 스토리지 클래스 드라이버(14)는 USB 스토리지장치(17)를 2개의 논리유닛을 갖는 하나의 SCSI 디바이스로서 인식한다.
따라서, 이러한 영역의 관리를 USB 규격에서의 엔드포인트의 수를 늘림으로써 실현하는 경우에 비해 컨트롤러(21)를 단순화할 수가 있다. 왜냐하면, 엔드포인트의 수만큼 컨트롤러(21)는 FIFO 버퍼를 구비할 필요가 있기 때문이다. 또한, USB 스토리지장치(17)에, 2종류의 USB 스토리지장치와 이들을 접속한 허브를 내장하여 실현하는 방법과 비교해도, USB 스토리지장치(17)는 구성이 단순하다. 또한, USB 스토리지장치(17)에서는, 호스트(11)가 실행하는 USB 대용량 스토리지 클래스 드라이버(14)의 초기화 처리도 한 번에 끝나기 때문에, 호스트(11)가 USB 스토리지장치(17)를 인식할 때까지의 시간도 짧다. 또한, 호스트(11)의 오퍼레이션 시스템은, 2영역을 갖는 하나의 SCSI 디바이스로서 USB 스토리지장치(17)를 관리할 수 있기 때문에, 복수의 디바이스를 관리하는 경우에 비해 다양한 처리를 단순화하여 실행할 수 있으며 동작도 안정된다.
(c) 초기화 처리
초기화 처리는, USB 스토리지장치(17)의 제조자나 판매자 등(이하, 「특정 사용자」라고 함)이 초기화하기 위하여 호스트(11) 상에서 초기화 소프트웨어를 실행하여 후술하는 기입 버튼(66)을 눌렀을 때, USB 스토리지장치(17)의 컨트롤러(21)에 의해 프로그램에 기초하여 실행된다.
초기화 처리를 설명하기에 앞서, 호스트(11)에서 실행되는 초기화 소프트웨어에 대해 도 5의 조작화면(51)을 이용하여 설명한다. 조작화면(51)에서는, 특정 사용자가 USB 스토리지장치(17)에 관한 다양한 파라미터를 설정할 수 있다.
텍스트상자(53)는 논리유닛번호 「0」에 대응하는 것으로서, 정보를 판독, 기입 및 삭제할 수 있는 영역(디스크 영역)의 용량을 입력하기 위한 텍스트상자이다. 텍스트상자(55)는 논리유닛번호 「1」에 대응하는 것으로서, 정보의 판독만이 가능한 영역(CD-ROM 영역)의 용량을 입력하기 위한 텍스트상자이다. 특정 사용자가 상기 텍스트상자(53) 및 텍스트상자(55)에 입력된 값의 합계가 전체 용량인 16이하가 되도록 입력해야만 한다.
텍스트상자(57)는 USB 규격으로 정의된 시리얼번호를 입력하기 위한 텍스트상자이다. 호스트(11)는 상기 시리얼번호에 따라 디바이스를 구별할 수 있다.
텍스트상자(59)는 고유 ID를 입력하기 위한 텍스트상자이다. 고유 ID는, USB 규격으로 정의된 것이 아니라 본 실시예의 USB 스토리지장치(17)에 독자적인 것으로서, 상기 고유 ID를 라이센스 키로 함으로써 부정 복제 등으로 인해 컨텐츠가 부정하게 기동되는 것을 방지하는 데 이용할 수도 있고, 고유 ID를 인증 키나 회원용 서비스에 이용할 수도 있다. 고유 ID는 16바이트 이상 612 바이트 이하의 16진 데이터이다. 또, 텍스트상자(59) 우측단의 상하 버튼을 누르면, 완전히 표시가 불가능한 데이터를 차례로 표시하도록 조작화면(51)이 구성되어 있다.
텍스트상자(61)는 CD-ROM 영역에 기입할 파일명을 입력하기 위한 텍스트상자이다. 복수 파일의 파일명을 입력할 수 있도록 되어 있어도 무방하다.
참조버튼(63)은 텍스트상자(61)에 대한 파일명의 입력을 지원하는 대화상자를 표시하기 위한 버튼이다. 표시된 대화상자 중에서 특정 사용자가 파일명을 선택하면, 그 선택된 파일이 텍스트상자(61)에 표시되도록 되어 있다.
포맷 선택 버튼(64)은 CD 이미지 데이터의 포맷을 선택하기 위한 대화상자를 표시하기 위한 버튼이다. 표시된 대화상자 중에서 ISO9660 또는 HFS 중 어느 하나의 형식을 선택할 수 있도록 되어 있다.
기입버튼(66)은 특정 사용자가 조작화면(51)에서 설정한 설정정보를 USB 스토리지장치(17)에 기입하는 처리를 개시하기 위한 버튼이다.
취소버튼(67)은 특정 사용자가 조작화면(51)에서 설정한 설정정보를 USB 스토리지장치(17)에 기입하지 않고 조작화면(51)을 닫기 위한 버튼이다.
다음으로, USB 스토리지장치(17)의 컨트롤러(21)에 의해 실행되는 초기화처리에 대해 도 6의 플로우차트를 이용하여 설명한다. 실행이 개시되면 먼저 호스트(11)로부터 보내진 설정정보를 수신한다(S310). 상기 설정정보는 상술한 조작화면(51)에서 설정된 설정정보이다. 그리고, 수신된 설정정보에 기초하여 메모리 정보 기억부(21c)의 데이터를 갱신한다(S315).
이어서, 수신된 설정정보에 기초하여 플래시메모리(25)의 논리유닛번호 「1 」의 영역에 데이터를 기입하고(S320) 초기화 처리를 종료한다. 본래, 논리유닛번호 「1」의 영역에는 데이터를 기입할 수 없지만, 초기화 처리시에만 기입할 수 있도록 구성되어 있다. 또, 기입되는 데이터는 상술한 텍스트상자(61)에서 설정한 파일이다(도 5 참조).
이러한 초기화 처리에 의해 특정 사용자의 사정에 맞추어 영역의 용량을 변경하거나 시리얼 번호를 설정하거나 고유 ID를 설정하거나 CD-ROM 영역에 미리 파일을 기억시켜 둘 수 있다.
[실시예 2]
도 7은 실시예 2의 잉크젯 프린터(71;특허청구의 범위에 기재된 USB 스토리지장치에 상당함)와 호스트(11;특허청구의 범위에 기재된 외부장치에 상당함)의 개략 구성을 나타내는 블록도이다. 또, 실시예 1와 동일한 부분에 대해서는 실시예 1을 설명할 때 사용한 부호와 동일한 부호를 부여하고 설명을 생략한다.
잉크젯 프린터(71)는, USB 인터페이스(19)와 컨트롤러(21)와 플래시메모리 (25)와 MPU(73)와 인자(印字)헤드(75)와 액추에이터(77)를 구비한다. 이 중 USB 인터페이스(19)는 특허청구의 범위에 기재된 통신수단에 상당하고, 컨트롤러(21)는 제어수단에 상당하며, 플래시메모리(25)는 기억수단에 상당한다.
MPU(73)는 USB 인터페이스(19) 및 컨트롤러(21)를 통해 호스트(11)와 통신하는 동시에, 도시하지 않은 각종 센서로부터의 정보에 기초하여 인자헤드(75) 및 액추에이터(77)의 동작을 제어한다. 또, 실시예 2에서는 컨트롤러(21)와 MPU(73)가 별도로 구성되어 있지만, 이들의 기능 중 일부 및 전부를 MPU(73)에 이행시킬 수도 있다.
인자헤드(75)는 잉크노즐을 가지며, 잉크노즐로부터 소정 색상의 잉크를 토출시켜 인쇄용지에 잉크를 정착시킬 수 있다.
액추에이터(77)는 도시하지 않은 피드롤러모터, 종이 공급 롤러모터, 인자헤드 구동모터 등으로 구성되며, 이들을 적절히 동작시킴으로써 인쇄용지의 위치 및 인자헤드(75)의 위치 관계를 조정하여 원하는 인쇄결과를 얻을 수 있도록 되어 있다.
플래시메모리(25)의 논리유닛번호 「1」의 영역(CD-ROM 영역)에는, 인쇄할 데이터를 호스트(11)에서 취급하기 위한 애플리케이션 소프트웨어가 미리 저장되어 있고, 호스트(11)는 그러한 애플리케이션 소프트웨어를 가지고 있지 않아도 플래시메모리(25)의 CD-ROM 영역으로부터 판독하여 사용할 수가 있다.
이에 대하여, 종래에는 인쇄기능을 제공하는 드라이버 프로그램, 인쇄관리 소프트웨어 등이 호스트(11)에 구비되어 있지 않을 경우에는, CD-ROM이나 플랙시블 디스크 등의 매체로부터 별도로 취득하거나, 인터넷 등에서 다운로드하여 인스톨해야 했다. 이로 인해, 통상적으로 CD-ROM이나 플랙시블 디스크의 드라이브를 가지지 않는 PDA 등은 상기와 같은 매체로부터 취득하기가 어려웠다. 이러한 점에서, 실시예 2의 잉크젯 프린터(71)는 종래에 비해 우수한 효과를 갖는다.
또한, 애플리케이션 소프트웨어는 플래시메모리(25)의 CD-ROM 영역에 저장되기 때문에, 최종 사용자에 의해 잘못하여 삭제되어 버릴 염려가 없다. 또한, 디스크영역(논리유닛번호 「0」의 영역)에는, 인쇄하기 위한 인쇄데이터를 저장함으로 써 디스크영역을 통해 복수의 호스트(11)에서 인쇄데이터를 공유할 수도 있게 된다. 이러한 점에서도 실시예 2의 잉크젯 프린터(71)는 종래에 비해 우수한 효과를 갖는다.
또한, 실시예 1에서 설명한 것과 같은 고유 ID를 실장하여 그 고유 ID를 인증 키로서 이용하도록 하면, 특정 사용자만 잉크젯 프린터(71)를 이용하거나 CD-ROM 영역에 저장된 애플리케이션 소프트웨어를 이용하도록 할 수가 있다.
[실시예 3]
도 8은 실시예 3의 스캐너(81;특허청구의 범위에 기재된 USB 스토리지장치에 상당함)와 호스트(11;특허청구의 범위에 기재된 외부장치에 상당함)의 개략 구성을 나타내는 블록도이다. 또, 실시예 1와 동일한 부분에 대해서는 실시예 1을 설명할 때 사용한 부호와 동일한 부호를 부여하고 설명을 생략한다.
스캐너(81)는, USB 인터페이스(19)와 컨트롤러(21)와 플래시메모리(25)와 MPU(83)와 CCD(85)와 액추에이터(97)를 구비한다. 이 중 USB 인터페이스(19)는 특허청구의 범위에 기재된 통신수단에 상당하고, 컨트롤러(21)는 제어수단에 상당하며, 플래시메모리(25)는 기억수단에 상당한다.
MPU(83)는 USB 인터페이스(19) 및 컨트롤러(21)를 통해 호스트(11)와 통신하는 동시에, CCD(85) 및 액추에이터(87)의 동작을 제어한다. 또, 실시예 3에서는 컨트롤러(21)와 MPU(83)가 별도로 구성되어 있지만, 이들의 기능 중 일부 및 전부를 MPU(83)가 분담할 수도 있다.
CCD(85)는 광 정보를 전기신호로 변환하는 반도체 소자이며, 임의의 대상물 을 화상데이터로서 판독하여 출력할 수 있다.
액추에이터(87)는 도시하지 않는 광원 구동모터나 CCD 구동모터 등으로 구성되며, 이들이 적절히 동작함으로써 임의의 대상물의 원하는 범위의 화상데이터를 얻을 수 있다.
플래시메모리(25)의 논리유닛번호 「1」의 영역(CD-ROM 영역)에는, 스캔할 데이터를 호스트(11)에서 취급하기 위한 애플리케이션 소프트웨어가 미리 저장되어 있고, 호스트(11)는 그러한 애플리케이션 소프트웨어를 가지고 있지 않아도 플래시메모리(25)의 CD-ROM 영역으로부터 판독하여 사용할 수가 있다.
이에 대하여, 종래에는 스캐너(81)의 제어기능을 제공하는 드라이브 프로그램, 화상데이터의 가공 소프트웨어 등이 호스트(11)에 구비되어 있지 않을 경우에는, CD-ROM이나 플랙시블 디스크 등의 매체로부터 별도로 취득하거나, 인터넷 등에서 다운로드하여 인스톨해야 했다. 이로 인해, 통상적으로 CD-ROM이나 플렉시블 디스크의 드라이브를 가지지 않는 PDA 등은 상기와 같은 매체로부터 취득하기가 어려웠다. 이러한 점에서, 실시예 3의 스캐너(81)는 종래에 비해 우수한 효과를 갖는다.
또한, 애플리케이션 소프트웨어는 플래시메모리(25)의 CD-ROM 영역에 저장되기 때문에, 최종 사용자에 의해 잘못하여 삭제되어 버릴 염려가 없으며, 아울러 디스크영역(논리유닛번호 「0」의 영역)에는 화상데이터를 저장함으로써, 디스크영역을 통해 복수의 호스트(11)에서 화상데이터를 공유할 수도 있게 된다. 이러한 점에서도 실시예 3의 스캐너(81)는 종래에 비해 우수한 효과를 갖는다.
이상에서는 세 가지 실시예에 대해 설명하였는데 또다른 실시예에 관해 설명하도록 한다.
실시예 2의 잉크젯 프린터(71)나 실시예 3의 스캐너(81)의 기술 사상을 USB 인터페이스를 갖는 다른 장치에 적용할 수도 있다. 구체적으로는 디지털 카메라, 휴대단말, 스피커, 키보드, 마우스, 모뎀장치, 핸드셋, 카드 어댑터 등에 적용할 수도 있다. 이들에 적용하여도 상기 실시예와 동일한 효과를 얻을 수 있다.
또한, 실시예 1의 조작화면(51, 도 5 참조)은 CD 이미지 데이터의 포맷으로서 ISO9660 또는 HFS 중 어느 형식을 선택할 수 있도록 되어 있지만, 나아가 Audio CD, CD TEXT, Mixed CD, Enhanced CD, 비디오 CD, 부팅 CD(bootable CD) 등 포맷을 선택할 수 있도록 되어 있어도 무방하다. 또한, 기록 방식도 디스크앳원스, 트랙앳원스, 세션앳원스, 패킷 기록(packet write)과 같은 방식을 지정할 수 있도록 되어 있어도 무방하다.
본 발명의 USB 스토리지장치를 가령 판촉품으로서 이용할 경우, 잘못하여 삭제되면 문제가 있는 소프트웨어를 제 2 영역에 기억시켜 두면, 외부장치(예컨대, 개인용 컴퓨터)로부터 삭제 지령을 받았을 경우에도 제어수단은 그 지령을 실행하지 않기 때문에, 소프트웨어가 삭제되거나 변경되는 것을 방지할 수 있다.
한편, 제 1 영역에 대해서는 보호 스위치 등을 전환하지 않고 이용자 등이 임의로 정보를 기입할 수 있기 때문에 사용이 편리하다.

Claims (1)

  1. 디스크 포맷으로 구성된 제1 영역과, CD-ROM 포맷으로 구성된 제2 영역을 포함하는 USB 스토리지 장치에 탑재되는 컨트롤러로서,
    (i) 상기 컨트롤러는, USB 대용량 스토리지 클래스 드라이버에 대하여, 데이터의 판독, 기입 및 삭제가 실행될 수 있는 디스크 장치로서 상기 제1 영역을 인식시키고, 데이터의 판독만이 실행가능한 CD-ROM 장치로서 상기 제2 영역을 인식시키기 위하여, USB 스토리지 장치의 플래시 메모리에 형성된 상기 제1 영역 및 제2 영역의 포맷 타입 정보를 저장하고,
    (ii) 상기 컨트롤러는, 디스크 드라이브 드라이버로부터의 명령에 응답하여 USB 대용량 스토리지 클래스 드라이버로 상기 제1 영역 및 제2 영역의 포맷 타입 정보를 보내어, 상기 USB 스토리지 장치를 상기 디스크 장치와 CD-ROM 장치를 포함하는 2가지 종류의 장치로서 상기 USB 대용량 스토리지 클래스 드라이버에 인식시키고, 오퍼레이션 시스템은 상기 제1 영역 및 제2 영역의 포맷을 인식하여, 상기 제2 영역에 대한 기입이나 삭제 명령의 발행을 제한하며,
    (iii) 상기 컨트롤러가 상기 제2 영역에 대하여 기입이나 삭제의 명령을 수신하더라도, 상기 컨트롤러는 외부장치로부터 받은 명령과 상기 제1 영역 및 제2 영역의 포맷 타입 정보에 따라, 상기 제1 영역에 대하여 데이터의 판독, 기입 및 삭제를 실행하고, 상기 제2 영역으로부터는 데이터의 판독만을 실행하는 컨트롤러.
KR1020060039435A 2003-04-30 2006-05-02 유니버설 시리얼 버스 스토리지장치 및 그 제어장치 KR100954933B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003125464A JP3513147B2 (ja) 2002-05-29 2003-04-30 Usbストレージデバイス及びその制御装置
JPJP-P-2003-00125464 2003-04-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040029482A Division KR100589521B1 (ko) 2003-04-30 2004-04-28 유니버설 시리얼 버스 스토리지장치 및 그 제어장치

Publications (2)

Publication Number Publication Date
KR20060056927A KR20060056927A (ko) 2006-05-25
KR100954933B1 true KR100954933B1 (ko) 2010-04-27

Family

ID=33410226

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020040029482A KR100589521B1 (ko) 2003-04-30 2004-04-28 유니버설 시리얼 버스 스토리지장치 및 그 제어장치
KR1020060039435A KR100954933B1 (ko) 2003-04-30 2006-05-02 유니버설 시리얼 버스 스토리지장치 및 그 제어장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020040029482A KR100589521B1 (ko) 2003-04-30 2004-04-28 유니버설 시리얼 버스 스토리지장치 및 그 제어장치

Country Status (6)

Country Link
EP (2) EP1491982B1 (ko)
KR (2) KR100589521B1 (ko)
CN (1) CN1300711C (ko)
DE (2) DE602004001094T2 (ko)
HK (1) HK1068990A1 (ko)
TW (2) TWI261757B (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209371A (ja) * 2005-01-27 2006-08-10 Toshiba Corp 制御装置
JP2006235994A (ja) 2005-02-24 2006-09-07 Nec Electronics Corp ブリッジシステム、ブリッジシステム制御方法、情報処理機器、周辺機器及びプログラム
CN100401280C (zh) * 2005-06-08 2008-07-09 北京飞天诚信科技有限公司 通用串行总线数据传输方法
CN1987843B (zh) * 2005-12-23 2010-08-11 深圳市朗科科技股份有限公司 Usb协议自适应方法
FR2912857A1 (fr) * 2007-02-15 2008-08-22 Gregory Rudy Vincent Dispositif informatique de communication permettant de diffuser automatiquement un message ou une application a l'aide d'une cle usb
JP2008245046A (ja) * 2007-03-28 2008-10-09 Brother Ind Ltd 複合機、およびデバイス制御システム
JP4333765B2 (ja) 2007-03-28 2009-09-16 ブラザー工業株式会社 デバイス制御システム
CN101276310B (zh) * 2007-03-30 2011-03-16 中华电信股份有限公司 可携式数据存取装置
WO2009103182A1 (zh) * 2008-02-18 2009-08-27 中兴通讯股份有限公司 在移动终端的非线性闪存上实现u盘功能的装置
JP5513018B2 (ja) 2008-06-27 2014-06-04 キヤノン電子株式会社 周辺装置及び画像読取装置
FI20080534A0 (fi) * 2008-09-22 2008-09-22 Envault Corp Oy Turvallinen ja valikoidusti kiistettävissä oleva tiedostovarasto
JP5235768B2 (ja) * 2009-04-23 2013-07-10 キヤノン株式会社 制御装置、その制御方法、及びプログラム
CN103955434B (zh) * 2010-10-08 2017-04-19 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
CN102487395B (zh) * 2010-12-01 2014-11-05 北京闪联云视信息技术有限公司 一种实现数据访问的方法、装置和系统
EP2503466B1 (en) 2011-03-23 2017-08-23 Canon Denshi Kabushiki Kaisha Peripheral device used while being connected to information processing apparatus
CN102789430B (zh) * 2011-05-18 2015-11-18 群联电子股份有限公司 存储器储存装置、其存储器控制器与存取方法
JP2013046968A (ja) * 2011-08-29 2013-03-07 Brother Industries Ltd プリンタ及び印刷処理プログラム並びに印刷処理方法
CN102968391A (zh) * 2012-03-20 2013-03-13 广州市国迈科技有限公司 一种可保护所存储软件版权的u盘
KR101255204B1 (ko) * 2012-07-23 2013-04-23 주식회사 베프스 보안 기능을 갖는 저장 장치 리더기 및 이를 이용한 보안 방법
CN104102515A (zh) * 2014-07-18 2014-10-15 浪潮(北京)电子信息产业有限公司 一种处理外挂存储设备的逻辑单元号的方法及服务器
CN104992129B (zh) * 2015-05-28 2017-12-22 山东华芯半导体有限公司 一种osx系统用加密u盘及其实现方法
WO2017038839A1 (ja) * 2015-09-03 2017-03-09 コニカミノルタ株式会社 測色計、情報処理システム、およびデータ制御方法
CN113535624A (zh) * 2021-07-12 2021-10-22 南方科技大学 Usb强制格式化免驱动插口及其控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073340A1 (en) * 2000-12-12 2002-06-13 Sreenath Mambakkam Secure mass storage device with embedded biometri record that blocks access by disabling plug-and-play configuration

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2320715A1 (en) * 1998-02-18 1999-08-26 Lior Netzer Information security method and apparatus
US6813682B2 (en) * 2000-09-29 2004-11-02 Steven Bress Write protection for computer long-term memory devices
CN1165003C (zh) * 2001-01-21 2004-09-01 北京飞天诚信科技有限公司 带通用串行总线插头的微型存储器及其读写方法
EP1412879B1 (en) * 2001-06-29 2012-05-30 Secure Systems Limited Security system and method for computers
JP3513147B2 (ja) * 2002-05-29 2004-03-31 株式会社ハギワラシスコム Usbストレージデバイス及びその制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073340A1 (en) * 2000-12-12 2002-06-13 Sreenath Mambakkam Secure mass storage device with embedded biometri record that blocks access by disabling plug-and-play configuration

Also Published As

Publication number Publication date
EP1491982B1 (en) 2006-06-07
CN1300711C (zh) 2007-02-14
EP1491982A1 (en) 2004-12-29
TWI301280B (ko) 2008-09-21
EP1659476B1 (en) 2009-03-04
KR20040094334A (ko) 2004-11-09
CN1542630A (zh) 2004-11-03
DE602004001094D1 (de) 2006-07-20
TW200506627A (en) 2005-02-16
DE602004001094T2 (de) 2006-12-07
KR20060056927A (ko) 2006-05-25
EP1659476A3 (en) 2007-05-02
HK1068990A1 (en) 2005-05-06
TW200636750A (en) 2006-10-16
TWI261757B (en) 2006-09-11
KR100589521B1 (ko) 2006-06-19
EP1659476A2 (en) 2006-05-24
DE602004019792D1 (de) 2009-04-16

Similar Documents

Publication Publication Date Title
KR100954933B1 (ko) 유니버설 시리얼 버스 스토리지장치 및 그 제어장치
JP3513147B2 (ja) Usbストレージデバイス及びその制御装置
US7068386B2 (en) Image processing system, image data processing method, and storage medium
JP4217458B2 (ja) 印刷システム、外部操作装置、情報処理装置、データ処理方法、記憶媒体
US8312179B2 (en) Method and apparatus for enabling enhanced USB interaction
JP3740454B2 (ja) 印刷システムおよび情報処理装置およびプリンタおよび表示制御方法および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US6378033B1 (en) Electronic device, control method thereof and storage medium
JP3914949B2 (ja) Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム
JP2008139916A (ja) 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
JP2006079634A5 (ko)
JP3699717B2 (ja) Usbストレージデバイス及びその制御装置
JP2004139385A (ja) 印刷システムの制御方法
JP2006024199A (ja) インストール方法、装置、制御プログラム、及び該プログラムを記憶した媒体
JP2004171536A5 (ko)
JP4551643B2 (ja) Usbプリンタ及びusbスキャナ
JP4242798B2 (ja) Usbストレージデバイス及びその制御装置
JP2006293638A (ja) 情報処理装置及び周辺装置
JP2005243046A (ja) Usbストレージデバイス及びプログラム
JP2001096868A (ja) 複合印刷機、コンピュータ、印刷システム、及び、記録媒体
JP2005243046A5 (ko)
JP2004094493A (ja) 記憶媒体処理装置およびその制御方法
JP3814461B2 (ja) プリンタ、プリンタの制御方法、記憶媒体
JP2004304322A (ja) 通信システム、通信装置、端末装置およびプログラム
JP2007048073A (ja) Usbストレージデバイスの内部状態設定方法、usbストレージデバイス及びそのコントローラ
JP2006048369A (ja) カード型メモリのインターフェイス回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置

Legal Events

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

Payment date: 20130409

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140415

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170405

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180330

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 10