KR100989692B1 - Partition View Control Method for USS Storage Devices Supporting Multiple Partitions - Google Patents
Partition View Control Method for USS Storage Devices Supporting Multiple Partitions Download PDFInfo
- Publication number
- KR100989692B1 KR100989692B1 KR1020080097491A KR20080097491A KR100989692B1 KR 100989692 B1 KR100989692 B1 KR 100989692B1 KR 1020080097491 A KR1020080097491 A KR 1020080097491A KR 20080097491 A KR20080097491 A KR 20080097491A KR 100989692 B1 KR100989692 B1 KR 100989692B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage device
- usb
- usb storage
- partitions
- partition
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
Abstract
본 발명은 멀티 파티션을 제공하는 유에스비(USB) 저장장치에서 특정 파티션을 숨기거나 보여주는 것을 제어하는 방법에 관한 것이다.The present invention relates to a method of controlling the hiding or showing of a specific partition in a USB storage device providing multiple partitions.
본 발명은, 멀티 파티션을 지원하는 USB 저장 장치의 파티션 뷰우 제어 방법에 있어서,The present invention relates to a partition view control method of a USB storage device supporting multiple partitions,
USB 호스트 장치가 멀티 파티션된 USB 저장 장치에게 상기 특정 파티션들을 감추기 또는 보이기라는 명령을 전송하는 단계;Sending, by the USB host device, a command to hide or show the specific partitions to the multi-partitioned USB storage device;
이 감추기 또는 보이기 명령을 수신한 USB 저장 장치가 상기 특정 파티션들에 대하여 감추기 또는 보이기 설정을 하는 단계;The USB storage device receiving the hide or show command to hide or show the specific partitions;
상기 USB 저장 장치가 상기 설정 내용을 반영하여 실제 보이는 파티션 갯수에 대응하도록 로직 유닛 개수를 초기화하는 단계;Initializing the number of logic units to correspond to the number of partitions actually displayed by reflecting the setting contents by the USB storage device;
상기 USB 호스트 장치가 상기 USB 저장 장치로부터 상기 초기화된 로직 유닛 개수를 수신하여, 상기 초기화된 로직 유닛 개수에 대응하는 파티션들을 인식하는 단계를 포함하는 것을 특징으로 한다.And receiving, by the USB host device, the number of initialized logic units from the USB storage device and recognizing partitions corresponding to the number of initialized logic units.
이상과 같은 본 발명을 이용하면, USB 호스트 장치를 통해 USB 저장 장치의 특정 파티션을 감추거나 보여주는 것을, 추가적인 하드웨어가 없이 기존의 USB 채널을 통해 구현 가능하게 되어, 기존의 USB 저장 장치에 보안 파티션(Secure Partition)을 부가한 이동식 디스크를 제공하게 된다.By using the present invention as described above, it is possible to implement to hide or show a specific partition of the USB storage device through the USB host device through the existing USB channel without additional hardware, secure partition ( A removable disk with a Secure Partition will be provided.
USB, 파티션, LUN, 감추기, 비공개, 호스트, PC USB, Partition, LUN, Hide, Private, Host, PC
Description
본 발명은 멀티 파티션을 제공하는 유에스비(USB) 저장장치에서 특정 파티션을 숨기거나 보여주는 것을 제어하는 방법에 관한 것이다.The present invention relates to a method of controlling the hiding or showing of a specific partition in a USB storage device providing multiple partitions.
USB 저장장치(소위 USB 메모리)는 데이터를 이동 가능하게 하는 영구적인 이동식 디스크 드라이브로서, PC를 비롯한 다양한 장치의 USB포트에 끼워서 PC를 비롯한 다양한 장치의 데이터를 독출하여 USB 저장장치에 저장하거나, USB 저장장치에서 데이터를 독출하여 PC를 비롯한 다양한 장치에 저장하기 위하여 널리 사용되고, 현재 시판되는 USB 저장장치는 32G 정도의 대용량 데이터 저장이 가능하고 향후에는 그 이상의 대용량 데이터 저장이 가능하게 될 것이다.A USB storage device (so-called USB memory) is a permanent removable disk drive that allows data to be moved.It can be inserted into the USB port of various devices including the PC to read data from various devices including the PC and stored in the USB storage device. It is widely used to read data from a storage device and store it in various devices including a PC, and the commercially available USB storage device can store a large amount of data of about 32G and in the future, it will be possible to store more data in the future.
그런데, 이러한 USB 저장장치는 내부에 플래시 메모리 뿐만 아니라, 도1에서와 같이 USB 관련 드라이버(USB MS Class Driver, USB Device Driver)와 콘트롤러를 탑재하고 있다. 그리고 통신 콘트롤러가 제공하는 EndPoint(EP)로 USB 호스트 장치(PC 등의 다양한 USB 메모리 장치를 연결 가능한 장치)와 USB 저장장치 사이에 벌크(Bulk)통신을 하게 된다. However, the USB storage device includes not only a flash memory but also a USB related driver (USB MS Class Driver, USB Device Driver) and a controller as shown in FIG. 1. In addition, the EndPoint (EP) provided by the communication controller enables bulk communication between a USB host device (a device capable of connecting various USB memory devices such as a PC) and a USB storage device.
그래서 USB 저장장치를 USB 호스트 장치에 연결하면, 호스트 장치와 USB 저장장치의 EndPoint0(EP0)를 통해 Enumeration과정을 거치게 되고, USB 호스트 장치의 메모리에 USB 저장장치를 위한 클라이언트(Client) 드라이버가 로딩되면 USB 저장장치와 호스트 장치와의 벌크 전송을 위한 준비가 완료된다.So, when USB storage device is connected to USB host device, enumeration process is performed through EndPoint0 (EP0) of host device and USB storage device, and when client driver for USB storage device is loaded into memory of USB host device, The USB storage device and the host device are ready for bulk transfer.
호스트 장치와 USB 저장장치 사이에서의 벌크 전송은 EndPoint1, 2(EP1, EP2)를 이용하게 되고, 따라서 호스트 장치와 USB 저장장치의 콘트롤러가 갖추어야 하는 최소한의 EP는 Control EP(EP0), EP1, EP2의 3개이다. Bulk transfer between the host device and the USB storage device uses EndPoint 1 and 2 (EP1, EP2), so the minimum EP that the host device and the controller of the USB storage device should have is Control EP (EP0), EP1, EP2. It's three.
결국, 종래의 USB 저장장치는 생성한 파티션이 모두 USB 호스트 장치로 마운트(Mount)되어 보여지게 되고, 사용자가 일부 파일을 감추려면 파일 삭제를 하는 수 밖에 없다. As a result, in the conventional USB storage device, all the created partitions are mounted with the USB host device, and the user has no choice but to delete some files to hide some files.
다른 방법으로써, 파일시스템 또는 특별한 윈도우 어플리케이션을 사용하여 파일에 락(Lock)을 걸 수는 있지만 파일 자체를 감출 수는 없다. 특히 파일명이 파일의 내용을 파악할 수 있는 정도라면 타인이 이 파일명만 보더라도 이 파일에 어떤 내용이 들어있는지를 용이하게 파악할 수 있게 된다.Alternatively, you can lock the file using the filesystem or a special Windows application, but not the file itself. In particular, if the file name can grasp the contents of the file, it is easy for others to see what is contained in the file even by looking at the file name.
따라서, 사용자가 USB 저장장치를 타인에게 양도하더라도 사용자의 중요한 파일(예를 들면, 중요 문서나 이미지, 인증서 등)의 존재 여부를 타인이 파악할 수 없도록 하는 것이 필요하다.Therefore, even if the user transfers the USB storage device to others, it is necessary for the other person not to know whether the user's important files (for example, important documents, images, certificates, etc.) exist.
본 발명은 이상과 같은 종래기술의 문제점을 감안하여, 사용자가 USB 저장장치를 타인에게 양도하더라도 사용자가 공개하고 싶지 않은 파일은 타인이 존재 여부 조차 인지할 수 없도록, USB 저장 장치의 저장 영역을 파티션하고 이 파티션된 각 영역을 공개영역과 비공개 영역으로 나누어 사용할 수 있도록 하는 방법을 제공한다.SUMMARY OF THE INVENTION In view of the above problems of the prior art, the present invention partitions the storage area of the USB storage device so that even if the user transfers the USB storage device to another person, the file that the user does not want to disclose cannot be recognized even by the other person. It provides a way to divide each partitioned area into a public area and a private area so that it can be used.
이상과 같은 기술적 과제를 달성하기 위하여, 본 발명은,In order to achieve the above technical problem, this invention,
멀티 파티션을 지원하는 USB 저장 장치의 파티션 뷰우 제어 방법에 있어서,In the partition view control method of a USB storage device supporting multiple partitions,
USB 호스트 장치가 멀티 파티션된 USB 저장 장치에게 상기 특정 파티션들을 감추기 또는 보이기라는 명령을 전송하는 단계;Sending, by the USB host device, a command to hide or show the specific partitions to the multi-partitioned USB storage device;
이 감추기 또는 보이기 명령을 수신한 USB 저장 장치가 상기 특정 파티션들에 대하여 감추기 또는 보이기 설정을 하는 단계;The USB storage device receiving the hide or show command to hide or show the specific partitions;
상기 USB 저장 장치가 상기 설정 내용을 반영하여 실제 보이는 파티션 갯수에 대응하도록 로직 유닛 개수를 초기화하는 단계;Initializing the number of logic units to correspond to the number of partitions actually displayed by reflecting the setting contents by the USB storage device;
상기 USB 호스트 장치가 상기 USB 저장 장치로부터 상기 초기화된 로직 유닛 개수를 수신하여, 상기 초기화된 로직 유닛 개수에 대응하는 파티션들을 인식하는 단계를 포함하는 것을 특징으로 한다.And receiving, by the USB host device, the number of initialized logic units from the USB storage device and recognizing partitions corresponding to the number of initialized logic units.
이상과 같은 본 발명을 이용하면, USB 호스트 장치를 통해 USB 저장 장치의 특정 파티션을 감추거나 보여주는 것을, 추가적인 하드웨어가 없이 기존의 USB 채널을 통해 구현 가능하게 되어, 기존의 USB 저장 장치에 보안 파티션(Secure Partition)을 부가한 이동식 디스크를 제공하게 된다.By using the present invention as described above, it is possible to implement to hide or show a specific partition of the USB storage device through the USB host device through the existing USB channel without additional hardware, secure partition ( A removable disk with a Secure Partition will be provided.
먼저, 이후의 추가적인 설명에 도움에 도움을 주기 위해 USB 저장 장치의 일반적인 하드웨어 구성을 도2를 참고로 하여 간략히 설명한다.First, a general hardware configuration of a USB storage device will be briefly described with reference to FIG. 2 to help with further explanation later.
USB 저장장치에 존재하는 콘트롤러(1)는 CPU와 주변장치들(Peripherals)을 원칩(One-chip)화 한 모듈로서 USB 저장 장치의 모든 동작을 제어하는 부분이다. USB 대용량 저장 장치 본연의 동작을 위한 콘트롤러(1)용 프로그램 코드를 프로그램 메모리(2)에 탑재하고 있고, FTL(Flash Translation Layer, 플래쉬 변환계층)의 섹터 매핑 테이블(Sector Mapping Table)을 위한 데이터 메모리(3)를 가지고 있다. FTL과 섹터 등에 관한 개념은 본 발명과는 관련이 적은 일반적인 사항이므로 추가 설명을 생략한다. The
외부 인터페이스로는 USB 호스트 장치와 접속하기 위한 USB 인터페이스(4)를 가지고 있으며, 실제 데이터 저장 장소인 NAND 플래시 메모리(5)와 인터페이스 하기 위한 플래시 인터페이스 버스(Flash Interface Bus)(6)를 가지고 있다. The external interface has a USB interface 4 for connecting to a USB host device, and has a flash interface bus 6 for interfacing with a NAND flash memory 5, which is an actual data storage location.
프로그램 메모리(2)는 콘트롤러(1)를 어떤 제조사의 제품을 사용했느냐에 따라 재프로그램 불가능한 OTP(One Time Programmable)형태의 메모리일 수도 있고, 재프로그래밍 가능한 플래시 타입의 메모리일 수도 있다. 프로그램 메모리(2)가 재프로그래밍 가능한 플래시 타입의 메모리일 경우에는 이하에서 설명하는 파티션 공개/비공개(Show/Hide) 관련된 설정 사항을 여기에 저장할 수 있다. 재프로그래밍이 불가능한 OTP 형태의 프로그램 메모리(2)를 사용한 경우는 파티션 공개/비공개 관련된 설정 사항을 NAND 플래시 메모리(5)에 저장한다.The
이제, 본 발명에서 어떻게 하여 파티션된 USB 저장장치에서 일부 파티션을 비공개로 할수 있는지에 대해 본격적으로 설명하기로 한다.Now, in the present invention, how to make some partitions private in the partitioned USB storage device will be described in earnest.
일반적인 USB 저장 장치는 LUN(Logical Unit Number)를 0으로 하여 단일(Single)파티션으로 사용하여 오다가 윈도우 2000 SP3 이후에서는 멀티 파티션을 지원하는 USB Mass Storage Driver(usbstor.sys)가 지원되고 있어서, USB 저장 장치를 여러 파티션으로 나누어 사용할 수 있게 되었다.A general USB storage device is used as a single partition with a logical unit number (LUN) of 0. However, since Windows 2000 SP3, a USB mass storage driver (usbstor.sys) that supports multiple partitions is supported. The storage device can be divided into several partitions.
그래서, 가령 USB 저장 장치를 2개의 파티션으로 나누어 포멧하면 윈도우를 탑재한 PC에서 2개의 이동식 디스크 드라이브를 발견할 수 있다.So if you format a USB storage device into two partitions, for example, you'll find two removable disk drives on a Windows-based PC.
그런데, USB용 제어신호 EP0는 USB Enumeration과정에서 주로 이용하고, 호스트 장치로부터 특별한 제어 커멘드 전송 이외에는 활용빈도가 적다. By the way, the USB control signal EP0 is mainly used in the USB enumeration process, and has a low frequency of use except for transmitting special control commands from the host device.
본 발명에서는 도3에 도시된 바와 같이, 이 EP0를 활용하여 USB 저장 장치의 LUN 개수를 조정하는 명령(Command)을 전송하여 USB 저장장치의 특정 파티션을 숨 기거나(비공개) 다시 보여줄(공개) 수 있다. EP0를 통하여 User-Specific Command(Partition Show/Hide 명령)를 전송하기 위해서는 USB Host 장치(예를 들어 PC)에 ICCD(IC Card Device) Driver를 설치하고 ICCD Application을 설치해야 한다. 이 프로그램들은 Windows 설치시 기본 설치되는 패키지가 아니므로 사용자가 직접 USB 호스트 장치에 설치한다. 여기서 ICCD는 스마트 카드(Smart Card) 에서 사용하는 용어로서 편의상 인용하여 사용하였다. USB 저장 장치에는 ICCD 드라이버를 통한 User-command Processing Code가 탑재되어 있어야 한다. In the present invention, as shown in Figure 3, by using the EP0 to transmit a command (Control) to adjust the number of LUNs of the USB storage device to hide (private) or re-display a specific partition of the USB storage device (public) Can be. In order to transmit User-Specific Command (Partition Show / Hide Command) through EP0, ICCD (IC Card Device) Driver must be installed in USB Host device (eg PC) and ICCD Application must be installed. These programs are not installed by default when installing Windows, so you install them directly to a USB host device. ICCD is a term used in a smart card and is used for convenience. The USB storage device must contain User-command Processing Code via ICCD driver.
먼저, USB 호스트 장치는 USB EndPoint0(EP0)를 통해서 USB 저장 장치에게 파티션 관련 셋업을 바꾸라는 명령을 보낸다. 그런데 EP0는 원래 USB 제어용 채널이어서 어플리케이션 (Application)에서 EP0를 직접 제어하기는 어렵다. 그래서, USB 호스트 장치 측에서는 EP0와 어플리케이션 사이에 ICCD Driver를 두어 USB 프로토콜을 사용자(User)가 사용하기 쉬운 Serial 프로토콜로 전환한다. 어플리케이션은 이 ICCD Driver의 API(Application Programming Interface)를 호출해서 프로그램을 구성하면 된다. 결국, 어플리케이션은 ICCD Driver와 가상의 Serial 인터페이스로 연결되며, 파티션 공개/비공개(Show/Hide) 명령을 이 ICCD Driver를 통해 USB 저장 장치로 전송한다. First, the USB host device sends a command to the USB storage device to change the partition related setup via USB EndPoint0 (EP0). However, since EP0 is a channel for USB control, it is difficult to control EP0 directly from an application. Therefore, on the USB host device side, an ICCD driver is placed between EP0 and the application to convert the USB protocol into a serial protocol that is easy for a user to use. An application can call the ICCD Driver's API (Application Programming Interface) to construct a program. Eventually, the application connects to the ICCD driver via a virtual serial interface and sends a show / hide partition command to the USB storage device through this ICCD driver.
다음으로, USB 저장장치를 다수개로 분리하고 일부를 비공개로 하는 방법 관련 프로토콜을 여러 실시예를 통해 자세히 설명한다.Next, a method related to separating a plurality of USB storage devices and making a portion private will be described in detail through various embodiments.
첫 번째 실시예로서, USB 대용량 저장소 장치를 2개의 파티션으로 분리하는 경우를 도4를 참고로 하여 설명한다. As a first embodiment, the case where the USB mass storage device is divided into two partitions will be described with reference to FIG.
이 경우 어플리케이션에서 도4와 같은 파티션 공개/비공개(Show/Hide) 프로토콜을 정의한다. 이와 같은 프로토콜은 임의로 정의할 수 있으며 USB 호스트 장치와 USB 저장 장치 사이에 서로 인식할 수 있는 데이터 포멧(Format)이면 된다. USB 저장 장치를 2개의 파티션으로 분리하는 경우 USB 호스트 장치에 연결했을 때 기본적으로 2개의 파티션이 모두 보이게 된다. 결국, 보여지게(공개) 되어 있던 파티션을 감추는(비공개) 것은 파티션을 나눈 후 모든 파티션이 보여질 수 있게 USB 저장 장치가 설정된 상태에서 사용자의 설정을 비공개로 변경함으로써 달성된다.In this case, the application defines a partition show / hide protocol as shown in FIG. Such a protocol may be arbitrarily defined and may be a data format that can be recognized between the USB host device and the USB storage device. If you separate a USB storage device into two partitions, you will see both partitions by default when you connect them to a USB host device. Eventually, hiding (private) a partition that has been shown (public) is accomplished by changing the user's settings to private with the USB storage device set so that all partitions are visible after the partition.
편의상 나누어진 파티션이 PC상에서 보여지는 드라이브 문자인 F, G 드라이브라고 하자. 사용자는 F 드라이브는 모든 사람들에게 공개되는 영역으로 사용하고, G 드라이브는 자신만이 사용하고 다른 사람에게는 비공개되는 영역으로 사용하려고 한다. For simplicity, let's say the partition is the F and G drives, which are the drive letters you see on your PC. You want to use the F drive as an area that is open to everyone, and the G drive as an area that is used only by you and private to others.
사용자가 다른 사람에게 USB 저장 장치를 인계하기 전에, USB Host장치(PC)는 도4의 프로토콜에 따라 파티션 감추기(비공개)(Hide) 명령을 USB 저장 장치에게 전송한다. 그러면, 도2에 도시된 바와 같이, 이 명령은 물리적으로 USB EP0를 통해서 USB 저장 장치의 USB 인터페이스(4)로 전송되어 USB 저장 장치 내의 콘트롤 러(1)가 이 명령을 수신하게 된다.Before the user hands over the USB storage device to another person, the USB Host device (PC) sends a Hide Partition (Private) command to the USB storage device according to the protocol of FIG. Then, as shown in Fig. 2, this command is physically transmitted to the USB interface 4 of the USB storage device through the USB EP0 so that the
이제 콘트롤러(1)은 수신된 명령을 해석하고, 명령이 파티션 감추기 명령으로 해석되면, 프로그램 메모리(2)가 플래시 타입의 메모리이면 프로그램 메모리(2)의 특정위치에 파티션 감추기 설정을 하게 된다. 파티션 감추기 설정은 TRUE 또는 FALSE를 나타내는 1비트가 필요하므로 간단히 1바이트 메모리를 사용하여 표현하면 된다.The
파티션 감추기가 적용되기 위해서는 USB 저장 장치를 다시 재부팅(Rebooting) 해야 하므로 USB 호스트 장치로부터 USB 저장 장치를 제거했다가 다시 연결한다. 그러면, USB 저장 장치는 다시 부팅을 시작하는데, USB 호스트 장치와 USB Enumeration 과정을 진행하기 전에 상기 특정 위치 있는 파티션 감추기/보이기에 관한 설정사항을 먼저 읽어 LUN(Logical Unit Number) 값을 초기화 해 놓는다. 이전에 파티션 감추기를 설정해 두었으므로 LUN=0 으로 초기화된다. 여기서 LUN=0 이면 USB 대용량 저장 장치의 1개의 파티션에 대해서만 USB 호스트 장치와 통신하게 된다. You will need to reboot the USB storage device in order for Partition Hide to take effect, so remove the USB storage device from the USB host device and reconnect it. Then, the USB storage device starts to reboot again. Before proceeding with the USB enumeration process with the USB host device, the settings for hiding / showing the partition in the specific location are first read and the LUN (Logical Unit Number) value is initialized. Since you previously set up partition hiding, LUN = 0 is initialized. If LUN = 0, then only one partition of the USB mass storage device will communicate with the USB host device.
통상적으로 USB 저장 장치를 USB 호스트 장치에 연결하면 USB Enumeration의 종료 시점에 USB 호스트 장치가 GerMaxLun 이라는 LUN 개수를 문의하는 명령을 전송하게 된다. 이에 응하여 USB 저장 장치는 LUN=0로 응답하게 되고, USB 호스트 장치는 이후부터는 USB 대용량 저장소 장치에 파티션이 1개 존재하는 것으로 인식하 게 된다. 실제로 PC의 윈도우 탐색기에서 이동식 디스크를 확인해 보면 F 드라이브 하나만 보이게 된다.Typically, when a USB storage device is connected to a USB host device, the USB host device sends a command to query the number of LUNs called GerMaxLun at the end of the USB enumeration. In response, the USB storage device responds with LUN = 0 and the USB host device recognizes that there is only one partition on the USB mass storage device. In fact, if you check the removable disk in Windows Explorer on your PC, you will see only one drive.
이제, 사용자가 파티션을 다시 2개 모두 보이게 하기 위해서는 도4에 나타난 파티션 보이기 명령을 USB 호스트 장치가 USB 저장 장치에게 전송한다. USB 저장 장치에 이미 USB 호스트 장치에 연결되어 있다면 그 상태에서 바로 전송하면 된다. 즉, 이러한 전송을 위해 USB 저장 장치를 USB 호스트 장치에서 제거했다가 다시 연결할 필요는 없다. 왜냐하면 USB 저장 장치가 USB 호스트 장치에 마운트 되어 이동식 디스크로 잡혀 있어도 USB EP0를 통하여 파티션 보이기 명령을 전송할 수 있기 때문이다. 이 보이기 명령을 전송한 다음에는 파티션 보이기가 적용되기 위하여 USB 저장 장치를 USB 호스트 장치에서 제거한 후 다시 연결하면 2개의 파티션을 다시 볼 수 있다.Now, in order for the user to see both partitions again, the USB host device transmits the show partition command shown in FIG. 4 to the USB storage device. If the USB storage device is already connected to a USB host device, you can transfer it in that state. In other words, you do not need to remove and reconnect the USB storage device to the USB host device for this transfer. Because the USB storage device is mounted on the USB host device and held as a removable disk, the show partition command can be transmitted via USB EP0. After sending the show command, remove the USB storage device from the USB host device and reconnect it to see the partitions.
두 번째 실시예로서, USB 저장 장치를 4개의 파티션으로 나누는 경우를 생각해 보자. 파티션을 4개로 나누게 되면 USB 저장 장치는 내부적으로 LUN=3으로 설정된다. 파티션을 4개로 나눈 후 다시 USB 호스트 장치에 연결했을 때 USB 저장 장치는 LUN=3을 USB 호스트 장치로 알리게 되고, 윈도우 탐색기에는 이동식 디스크가 4개가 추가된다. As a second embodiment, consider a case where a USB storage device is divided into four partitions. If you divide the partition into four partitions, the USB storage device is internally set to LUN = 3. When the partition is divided into four and plugged back into the USB host device, the USB storage device will advertise LUN = 3 to the USB host device, and four removable disks will be added to Windows Explorer.
편의상 USB 호스트 장치를 PC라고 하고, 이동식 디스크로 추가된 드라이브 문자를 순서대로 F, G, H, I 라고 하며, 사용자는 F, G 드라이브는 공개영역으로 사용하고, H, I 드라이브는 비공개 영역으로 사용하고자 한다고 가정한다. 그러면 도5에서와 같은 프로토콜로 USB 호스트 장치(PC)가 파티션 감추기 명령을 전송하면 USB 저장 장치는 내부에서 LUN=1로 설정을 바꾼다. 이제, 다시 PC에 USB 호스트 장치를 연결하면 F, G 드라이브만 보이고 H, I 드라이브는 감추어 진다. 당연히 파티션 보이기 명령을 전송한 후에는 H, I 드라이브가 다시 보일 것이다.For convenience, the USB host device is called a PC, and the drive letters added as removable disks are called F, G, H, and I in order, the user uses the F and G drives as a public area, and the H and I drives as a private area. Suppose you want to use Then, when the USB host device (PC) sends a hide partition command using the same protocol as in FIG. 5, the USB storage device changes the setting to LUN = 1 internally. Now, when you plug the USB host device back into your PC, you see only the F and G drives, and the H and I drives are hidden. Naturally, after sending the show partition command, drive H and I will be visible again.
그런데, 사용자가 공개영역으로 G, I 드라이브를 선택하고, 비공개 영역으로 F, H 드라이브를 선택했다고 하자. 이런 선택이 가능하게 하려면 도4에서의 프로토콜로는 정보가 부족하므로 도5와 같이 프로토콜로 수정할 필요가 있다.However, let's say that the user selects G and I drives as the public area and F and H drives as the private area. In order to enable such a selection, since the information in the protocol of FIG. 4 is insufficient, it is necessary to modify the protocol as shown in FIG.
도5에서의 프로토콜에서 도4의 프로토콜과 상이한 부분을 간단히 설명하면, HIDE PARTITION 개수=0x02는 감추고자 하는 파티션 개수가 2개라는 것을 나타낸다. 즉, F, H 드라이브 2개를 말한다. HIDE PARTITION 번호 0, 1은 감추고자 하는 파티션 위치를 나타내는데 F, G, H, I를 순서대로 0, 1, 2, 3 으로 설정하고 감추고자 하는 파티션 F, H에 해당하는 0, 2값을 표시한 것이다. 이렇게 하면 사용자는 F, H 의 2개 드라이브를 감출 것이라는 정보를 USB 저장 장치에 알려 줄 수 있다.A brief description of the portion of the protocol in FIG. 5 that differs from that of FIG. 4 indicates that the number of partitions = 0x02 is two partitions to be hidden. That is, two F and H drives.
한편, USB 저장 장치의 입장에서는 USB 호스트 장치로 LUN 개수만을 알려줄 수 있기 때문에, 이와 같이 불연속적인 드라이브 위치를 숨기기 위해서는 도6과 같은 자신만의 드라이브 매핑 테이블을 가지고 있어야 한다. On the other hand, since the USB storage device can tell only the number of LUNs to the USB host device, it is necessary to have its own drive mapping table as shown in FIG.
사용자로부터 F,H 파티션 감추기 명령을 받은 USB 저장 장치는 도6에서와 같이 가상 플래시 물리 계층을 만들어 실제 드라이브 영역과 매핑해 놓는다. 이후, USB 저장 장치를 PC에 다시 연결하면 윈도우 탐색기에서 2개의 이동식 디스크가 잡히게 되는데, 가령 표시되는 드라이브 문자가 F, G 라고 하자. 윈도우 탐색기에서의 F 드라이브는 도6의 플래시 물리계층에서 G드라이브 영역을 가리키고, 윈도우 탐색기에서의 G드라이브는 플래시 물리계층에서 I드라이브 영역을 가리킨다. 결국, 도6에서와 같이 가상 플래시 물리계층에는 보여지는 드라이브 영역(G, I 드라이브 영역)이 먼저 순서대로 위치하고, 그 이후에 감추어지는 드라이브 영역(F, H 드라이브 영역)이 나중에 차례로 위치하게 된다. 이제, USB 저장 장치가 파티션 보이기 명령을 다시 수신하면 도6의 매핑은 해제되고 F, G, H, I 드라이브가 순서대로 PC에서 보이게 된다.The USB storage device that receives the command to hide the F and H partitions from the user creates a virtual flash physical layer as shown in FIG. Then, when you reconnect the USB storage device to your PC, you will see two removable disks in Windows Explorer. For example, the drive letters displayed are F and G. The F drive in the Windows Explorer points to the G drive area in the flash physical layer of FIG. 6, and the G drive in the Windows Explorer points to the I drive area in the flash physical layer. As a result, as shown in FIG. 6, the drive regions (G and I drive regions) shown are sequentially located in the virtual flash physical layer first, and the drive regions (F and H drive regions) hidden thereafter are sequentially located later. Now, when the USB storage device receives the show partition command again, the mapping of FIG. 6 is released and the F, G, H, and I drives are shown in the PC in order.
마지막으로 상기 두 번째 실시예를 일반화한 세 번째 실시예를 도7을 참고로 하여 간단히 설명하기로 한다. 사용자가 USB 저장 장치에 파티션 N개를 만들고, 그 중에 M개를 비공개 영역, N-M(여기서 N>M)개를 공개 영역으로 사용하려 한다. Finally, a third embodiment in which the second embodiment is generalized will be briefly described with reference to FIG. A user wants to create N partitions on a USB storage device, of which M will be private and N-M (where N> M) as the public.
USB 저장 장치를 N개의 파티션으로 나누고 나서, 도7에 도시된 프로토콜에 따라 USB 호스트 장치가 USB 저장 장치로, M개를 감추고, N-M개를 보이는 명령을 전송하면, 도6과 동일한 방식으로 USB 저장 장치의 가상 플래시 물리계층의 앞부분 에는 보여지는 N-M개의 디스크 드라이브 영역이 존재하고, 구 이후에 감추어지는 M개의 디스크 드라이브 영역이 존재하게 된다.After dividing the USB storage device into N partitions, and in accordance with the protocol shown in Fig. 7, the USB host device sends a command to the USB storage device by hiding M and showing NM commands. In front of the virtual flash physical layer of the device, there are NM disk drive areas shown and M disk drive areas hidden after the old one.
이제, 파티션 보이기 명령이 전송되면 윈도우 탐색기에 N개의 파티션된 디스크 드라이브 모두가 보여진다.Now, when the Show Partition command is sent, you will see all N partitioned disk drives in Windows Explorer.
도1은 종래기술에서 USB 호스트와 USB 저장 장치 사이의 통신 방식을 도시함.1 illustrates a communication scheme between a USB host and a USB storage device in the prior art.
도2는 일반적인 USB 저장 장치의 내부 구조를 도시함.Figure 2 shows the internal structure of a typical USB storage device.
도3은 본 발명에서 USB 호스트와 USB 저장 장치 사이의 통신 방식을 도시함.Figure 3 illustrates a communication scheme between a USB host and a USB storage device in the present invention.
도4는 본 발명에서 USB 저장 장치를 2개의 파티션으로 분리하고 1개의 파티션을 비공개하는 경우의 프로토콜을 나타냄.Figure 4 shows the protocol when the USB storage device is divided into two partitions and one partition is private in the present invention.
도5는 본 발명에서 USB 저장 장치를 4개의 파티션으로 분리하고 2개의 파티션을 비공개하는 경우의 프로토콜을 나타냄.FIG. 5 shows a protocol in which the USB storage device is divided into four partitions and the two partitions are private in the present invention. FIG.
도6은 도4의 본 발명을 위한 USB 저장 장치에서의 드라이브 순서 매핑 방법을 도시함.FIG. 6 illustrates a drive order mapping method in the USB storage device of the present invention of FIG.
도7은 본 발명을 일반화하여, USB 저장 장치를 N개의 파티션으로 분리하고 M개의 파티션을 비공개하는 경우의 프로토콜을 나타냄.7 is a generalization of the present invention, and shows a protocol when a USB storage device is divided into N partitions and M partitions are private.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020080097491A KR100989692B1 (en) | 2008-10-06 | 2008-10-06 | Partition View Control Method for USS Storage Devices Supporting Multiple Partitions |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020080097491A KR100989692B1 (en) | 2008-10-06 | 2008-10-06 | Partition View Control Method for USS Storage Devices Supporting Multiple Partitions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20080094762A KR20080094762A (en) | 2008-10-24 |
| KR100989692B1 true KR100989692B1 (en) | 2010-10-26 |
Family
ID=40154754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020080097491A Active KR100989692B1 (en) | 2008-10-06 | 2008-10-06 | Partition View Control Method for USS Storage Devices Supporting Multiple Partitions |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100989692B1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100714709B1 (en) * | 2006-01-11 | 2007-05-04 | 삼성전자주식회사 | Hidden Zone Management Devices and Methods |
| US20070180167A1 (en) * | 2006-02-02 | 2007-08-02 | Seagate Technology Llc | Dynamic partition mapping in a hot-pluggable data storage apparatus |
-
2008
- 2008-10-06 KR KR1020080097491A patent/KR100989692B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100714709B1 (en) * | 2006-01-11 | 2007-05-04 | 삼성전자주식회사 | Hidden Zone Management Devices and Methods |
| US20070180167A1 (en) * | 2006-02-02 | 2007-08-02 | Seagate Technology Llc | Dynamic partition mapping in a hot-pluggable data storage apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20080094762A (en) | 2008-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2396728B1 (en) | System and method of host request mapping | |
| US7921244B2 (en) | Data sharing and transfer systems and methods | |
| US8296467B2 (en) | Single-chip flash device with boot code transfer capability | |
| CN113316761B (en) | Self-formatting data storage device | |
| JP4544188B2 (en) | Drive configuration program | |
| JP4527348B2 (en) | Interface device, method of updating firmware in interface device, and program thereof | |
| US20030163628A1 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
| US20110197055A1 (en) | Firmware storage medium with customized image | |
| BRPI0712109A2 (en) | method for communicating with a multifunction memory card | |
| JP2004206660A (en) | Detachable device, control circuit, firmware program of control circuit, information processing method in control circuit and circuit design pattern | |
| JP2006286008A (en) | Data storage device allowing full access by all users | |
| WO2018076792A1 (en) | Method and device for disk management in arm device and arm device | |
| CN102646025B (en) | Can to the storage card of the data additional temporal information obtained from network | |
| US20040221130A1 (en) | Method and device for a accessing non-volatile memory by PC and X-BOX | |
| CN107111568B (en) | System and method for presenting drive installation files when USB device is enabled | |
| US20050034125A1 (en) | Multiple virtual devices | |
| US20100325326A1 (en) | Device information management system and device information management method | |
| US20200363971A1 (en) | Portable storage device that is self-convertible from being a removable disk to a fixed disk and from being a fixed disk to a removable disk | |
| US20070233727A1 (en) | Multiple Virtual Devices | |
| KR100989692B1 (en) | Partition View Control Method for USS Storage Devices Supporting Multiple Partitions | |
| US20050198425A1 (en) | Combined optical storage and flash card reader using single ide or sata port and method thereof | |
| CN110795373B (en) | I2C bus-to-parallel bus conversion method, terminal and storage medium | |
| US7424580B2 (en) | Data transfer control device, electronic instrument, program and method of fabricating electronic instrument | |
| CN101655822B (en) | Computer system, device information management system of computer system and method thereof | |
| JP2014123295A (en) | Setting method, program, and information processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20081006 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20100429 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20101012 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20101018 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20101018 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20131011 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20131011 Start annual number: 4 End annual number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20160921 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20160921 Start annual number: 7 End annual number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20190926 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
Payment date: 20190926 Start annual number: 10 End annual number: 12 |