KR20210053865A - Cloud drive of usb type and data managing system using the same - Google Patents

Cloud drive of usb type and data managing system using the same Download PDF

Info

Publication number
KR20210053865A
KR20210053865A KR1020210058448A KR20210058448A KR20210053865A KR 20210053865 A KR20210053865 A KR 20210053865A KR 1020210058448 A KR1020210058448 A KR 1020210058448A KR 20210058448 A KR20210058448 A KR 20210058448A KR 20210053865 A KR20210053865 A KR 20210053865A
Authority
KR
South Korea
Prior art keywords
data
block
remote
usb
storage device
Prior art date
Application number
KR1020210058448A
Other languages
Korean (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 KR1020210058448A priority Critical patent/KR20210053865A/en
Publication of KR20210053865A publication Critical patent/KR20210053865A/en
Priority to KR1020230020883A priority patent/KR20230025852A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • 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
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed is a USB storage device having a function as a cloud drive. According to an embodiment of the present invention, a processor provided in the USB storage device performs the following operations of: receiving data and write requests from a host of the USB storage device; allocating at least one block of a remote storage space to store the data in response to the write request (hereinafter, a 'remote space block'); and transmitting, by the communication unit, the data and the ID of at least one remote space block allocated in the allocating step to the remote storage space through a wireless communication terminal.

Description

USB 형태의 클라우드 드라이브 및 이를 이용한 데이터 관리 시스템{CLOUD DRIVE OF USB TYPE AND DATA MANAGING SYSTEM USING THE SAME}USB type cloud drive and data management system using it {CLOUD DRIVE OF USB TYPE AND DATA MANAGING SYSTEM USING THE SAME}

본 발명은 USB 형태의 클라우드 드라이브에 관한 것으로, USB 형태의 클라우드 드라이브 및 USB 저장장치와 데이터 관리시스템에 관한 것이다. The present invention relates to a USB-type cloud drive, and to a USB-type cloud drive, a USB storage device, and a data management system.

네트워크 기술이 발전함에 따라 사용자가 이용하는 디바이스(예컨대, 데스크탑, 노트북, 휴대용 기기 등)에 저장되던 데이터는 인터넷 상의 원격 저장소(클라우드 스토리지)에 저장되고 사용자는 필요할 때마다 자신의 계정을 이용하여 언제 어디서든 클라우드 스토리지에 저장된 데이터를 이용할 수 있다.As network technology advances, data that was stored on devices (e.g., desktops, laptops, portable devices, etc.) used by users is stored in remote storage (cloud storage) on the Internet, and users use their account whenever and wherever necessary. Data stored in Southern cloud storage can be used.

일례로, 한국공개특허 제10-2015-0067643호(공개일 2015년 06월 18일)에는 클라우드 스토리지 서비스에서 파일을 공유하는 방법 및 그 장치가 개시되어 있다.For example, Korean Patent Publication No. 10-2015-0067643 (published on June 18, 2015) discloses a method and an apparatus for sharing files in a cloud storage service.

본 발명의 일 실시예에 따르면, 원격 저장소에 저장된 데이터의 보안성이 강화되고 USB 저장장치를 USB 호스트와 연결하는 것만으로 원격 저장소에 데이터를 관리(저장, 삭제, 읽기, 수정)할 수 있는 클라우드 드라이브로서의 기능을 구비한 USB 저장장치가 제공된다.According to an embodiment of the present invention, the security of the data stored in the remote storage is enhanced, and a cloud capable of managing (storing, deleting, reading, modifying) data in the remote storage simply by connecting the USB storage device to the USB host. A USB storage device having a function as a drive is provided.

본 발명의 다른 실시예에 따르면, 원격 저장소에 저장된 데이터의 보안성이 강화되고 USB 저장장치를 USB 호스트와 연결하는 것만으로 원격 저장소에 데이터를 관리(저장, 삭제, 읽기, 수정)할 수 있는 데이터 관리 시스템과 방법이 제공된다. According to another embodiment of the present invention, the security of the data stored in the remote storage is enhanced, and data that can manage (save, delete, read, modify) data in the remote storage simply by connecting the USB storage device with the USB host. Management systems and methods are provided.

본 발명의 일 실시예에 따르면 According to an embodiment of the present invention

USB 저장장치에 있어서, In the USB storage device,

적어도 하나의 프로세서;At least one processor;

상기 적어도 하나의 프로세서와 동작적으로(operatively) 연결된 메모리; 및A memory operatively connected with the at least one processor; And

상기 적어도 하나의 프로세서와 동작적으로(operatively) 연결된 통신부;를 포함하며,Includes; a communication unit operatively connected to the at least one processor,

상기 메모리는 The memory is

상기 프로세서가The processor

상기 USB 저장장치의 호스트로부터, 데이터 및 쓰기 요청을 전송받는 단계;Receiving a data and a write request from the host of the USB storage device;

상기 쓰기 요청에 대응하여 상기 데이터를 저장할 원격 저장공간의 블록(이하, '원격공간 블록')을 적어도 1개 이상 할당하는 단계; 및Allocating at least one block of a remote storage space (hereinafter, referred to as'remote space block') to store the data in response to the write request; And

상기 데이터와, 상기 할당하는 단계에서 할당된 적어도 하나의 원격공간 블록의 ID를 상기 통신부가 무선통신단말을 통해서 상기 원격 저장공간으로 전송하는 단계; 를 포함하는 방법을 수행하도록 하는 프로그램을 저장하는 것인, 클라우드 드라이브로서의 기능을 구비한 USB 저장장치가 제공될 수 있다. Transmitting the data and the ID of at least one remote space block allocated in the allocating step, by the communication unit, to the remote storage space through a wireless communication terminal; A USB storage device having a function as a cloud drive may be provided to store a program for performing a method including a method.

본 발명의 다른 실시예에 따르면, According to another embodiment of the present invention,

USB 형태의 클라우드 드라이브를 이용한 데이터 관리 시스템에 있어서, In a data management system using a USB-type cloud drive,

USB 호스트; 및USB host; And

USB 저장장치;를 포함하며,Includes; USB storage device,

상기 USB 저장장치는The USB storage device is

적어도 하나의 프로세서와 상기 적어도 하나의 프로세서와 동작적으로(operatively) 연결된 메모리를 포함하며,At least one processor and a memory operatively connected to the at least one processor,

상기 메모리는 The memory is

상기 프로세서가The processor

상기 USB 호스트로부터, 데이터 및 쓰기 요청을 전송받는 단계;Receiving a data and a write request from the USB host;

상기 쓰기 요청에 대응하여 상기 데이터를 저장할 원격 저장공간의 블록(이하, '원격공간 블록')을 적어도 1개 이상 할당하는 단계; 및Allocating at least one block of a remote storage space (hereinafter, referred to as'remote space block') to store the data in response to the write request; And

상기 데이터와, 상기 할당하는 단계에서 할당된 적어도 하나의 원격공간 블록의 ID를 상기 통신부가 무선통신단말을 통해서 상기 원격 저장공간으로 전송하는 단계 를 포함하는 방법을 수행하도록 하는 프로그램을 저장하는 것인, USB 형태의 클라우드 드라이브를 이용한 데이터 관리 시스템이 제공될 수 있다.To store a program for performing a method comprising transmitting the data and the ID of at least one remote space block allocated in the allocating step to the remote storage space through a wireless communication terminal by the communication unit , A data management system using a USB-type cloud drive may be provided.

본 발명의 하나 이상의 실시예에 따르면, USB 저장장치에서 블록 단위로 데이터를 잘라서 원격 저장소에 저장이 가능하기 때문에, 이렇게 원격 저장소에 저장된 데이터가 해킹이 되더라도 해커는 그러한 데이터를 해독할 수 없다. According to one or more embodiments of the present invention, since data stored in the USB storage device can be cut in block units and stored in a remote storage device, even if the data stored in the remote storage device is hacked, the hacker cannot decrypt the data.

본 발명의 하나 이상의 실시예에 따르면, USB 호스트에 원격 저장소의 드라이브를 설치하지 않고서도, 원격 저장소에 저장할 수 있고 원격 저장소에 저장된 데이터를 읽을 수 있다. According to one or more embodiments of the present invention, data stored in the remote storage and stored in the remote storage can be read without installing a drive of the remote storage on the USB host.

도 1 내지 도 4는 본 발명의 일 실시예에 따른 USB 형태의 클라우드 드라이브를 이용한 데이터 관리 시스템을 설명하기 위한 도면들이다. 1 to 4 are diagrams for explaining a data management system using a USB-type cloud drive according to an embodiment of the present invention.

이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.The above objects, other objects, features, and advantages of the present invention will be easily understood through the following preferred embodiments related to the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. Rather, the embodiments introduced herein are provided so that the disclosed content may be thorough and complete, and the spirit of the present invention may be sufficiently conveyed to those skilled in the art.

본 명세서의 다양한 실시예들에서 제1, 제2 등의 용어가 다양한 구성요소들을 기술하기 위해서 사용되었지만, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다. In various embodiments of the present specification, terms such as first and second are used to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. The embodiments described and illustrated herein also include complementary embodiments thereof.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification, "comprises" and/or "comprising" does not exclude the presence or addition of one or more other components.

용어의 정의Definition of Terms

본원 명세서에서, 용어 '소프트웨어'는 컴퓨터에서 하드웨어를 움직이는 기술을 의미하고, 용어 '하드웨어'는 컴퓨터를 구성하는 유형의 장치나 기기(CPU, 메모리, 입력 장치, 출력 장치, 주변 장치 등)를 의미하고, 용어 '단계'는 소정의 목을 달성하기 위해 시계열으로 연결된 일련의 처리 또는 조작을 의미하고, 용어 '프로그램은 컴퓨터로 처리하기에 합한 명령의 집합을 의미하고, 용어 '프로그램 기록 매체'는 프로그램을 설치하고 실행하거나 유통하기 위해 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 의미한다. In this specification, the term'software' refers to a technology that moves hardware in a computer, and the term'hardware' refers to a type of device or device (CPU, memory, input device, output device, peripheral device, etc.) constituting a computer. And, the term'step' means a series of processes or manipulations connected in a time series to achieve a predetermined order, the term'program means a set of instructions for processing by a computer, and the term'program recording medium' means It refers to a recording medium that can be read by a computer that records programs used to install, execute, or distribute programs.

본원 명세서에서, 용어 '파일 시스템'은 '컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제' 또는 '컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 프로그램'을 의미한다. 예를 들면, '파일 시스템'은 '저장장치, 입출력 제어, 기본 파일시스템, 파일조직 모듈, 가상 파일시스템'과 같이 여러 개의 계층을 포함하도록 구성되며, 여기서 가상 파일시스템은 컴퓨터의 OS(운영체체)에 따라서 파일 시스템에 포함되거나(예를 들면, 리눅스와 같은 OS) 또는 포함되지 않을 수 있다(예를 들면, 윈도우와 같은 OS). 이하, 설명의 목적을 위해서, 본원 명세서에서 '파일 시스템'은 가상 파일 시스템이 포함되지 않은 파일 시스템, 가상 파일 시스템을 포함한 파일 시스템, 가상 파일 시스템 중 어느 하나를 의미하는 것으로 사용하기로 한다. In this specification, the term'file system' refers to'a system that stores or organizes files or materials so that they can be easily found and accessed on a computer' or'a program that stores or organizes files or materials so that they can be easily found and accessed on a computer. Means'. For example,'file system' is configured to include several layers such as'storage device, input/output control, basic file system, file organization module, and virtual file system', where the virtual file system is the computer's OS (operating system Depending on ), it may or may not be included in the file system (eg, OS such as Linux) or not (eg, OS such as Windows). Hereinafter, for the purpose of explanation, in the present specification, the term'file system' will be used to mean any one of a file system including a virtual file system, a file system including a virtual file system, and a virtual file system.

본원 명세서에서, 용어 'USB'(Universal Serial Bus)는 컴퓨터 등의 정보기기에 주변 장치를 연결하기 위한 직렬 버스 규격을 의미하거나 또는 'USB 저장장치'를 의미하는 것으로 사용하기로 한다.In the present specification, the term'USB' (Universal Serial Bus) is used to mean a serial bus standard for connecting a peripheral device to an information device such as a computer or a'USB storage device'.

본원 명세서에서, 용어 'USB 저장장치'는 USB 규격에 의해 데이터를 송수신 할 수 있는 기능을 가진 휴대용 저장장치를 의미한다. 'USB 저장장치'는, 데이터를 저장하면 삭제나 수정이 불가능한 롬(ROM)이나 삭제, 수정은 가능하지만 전원이 차단되면 모든 데이터가 사라지는 램(RAM)과 달리, 자유롭게 데이터를 저장하거나 삭제할 수 있으면서 전원이 꺼져도 데이터를 그대로 보존하는 기능을 하지고 있다. 한편, 'USB 저장장치'는 예를 들면 ‘USB 플래시 드라이브(USB flash drive) 또는 ‘USB 메모리’일 수 있다. In the present specification, the term'USB storage device' refers to a portable storage device having a function of transmitting and receiving data according to the USB standard. Unlike ROM, which cannot be deleted or modified when data is saved, or RAM, which can be deleted or modified, all data disappears when the power is turned off, it is possible to freely store or delete data. Even when the power is turned off, the data is preserved as it is. Meanwhile, the'USB storage device' may be, for example, a'USB flash drive or a'USB memory'.

본원 명세서에서, 용어 '데이터 관리 시스템'은 데이터를 관리하기 위한 시스템을 의미하며, 여기서 용어 '관리'는 데이터의 '수신', '송신', '저장', '수정', 및 '삭제'를 포함하는 의미이고, 용어 '부'는 어떤 기능을 수행하기 위한 프로그램을 의미한다. In the present specification, the term'data management system' refers to a system for managing data, and the term'management' refers to'receiving','sending','storing','modifying', and'deleting' of data. It is meant to include, and the term'unit' means a program for performing a certain function.

이하, 도면들을 참조하여, 본 발명의 실시예들에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1 내지 도 4는 본 발명의 일 실시예에 따른 USB 형태의 클라우드 드라이브를 이용한 데이터 관리 시스템을 설명하기 위한 도면들이다1 to 4 are diagrams for explaining a data management system using a USB-type cloud drive according to an embodiment of the present invention

본 발명의 일 실시예에 따른 USB 형태의 클라우드 드라이브를 이용한 데이터 관리 시스템(이하, '데이터 관리 시스템')은 본 발명의 일 실시예에 따른 USB 호스트(100), USB 저장장치(200), 원격 저장소(300), 및 무선통신단말(400)을 포함할 수 있다. A data management system using a USB-type cloud drive (hereinafter,'data management system') according to an embodiment of the present invention includes a USB host 100, a USB storage device 200, and a remote device according to an embodiment of the present invention. It may include a storage 300, and a wireless communication terminal 400.

본 발명의 일 실시예에 따른 USB 호스트(100)는 컴퓨터 프로세서, 기억장치(예를 들면, 메모리나 HDD, RAM, 또는 ROM과 같이 데이터를 일시적 및/또는 영구적으로 저장할수 있는 장치), 운영체제, 주변기기, 파일 시스템과 같은 리소스(하드웨어와 프로그램)를 구비한 컴퓨터이며, USB 저장장치(200)와 USB 규격에 의한 통신을 할 수 있다. 여기서, USB 호스트(100)에 구비된 컴퓨터 프로세서와 기억장치, 운영체제, 주변기기, 파일 시스템은 서로 동작적으로(operatively) 연결되어 있다. The USB host 100 according to an embodiment of the present invention includes a computer processor, a storage device (for example, a device capable of temporarily and/or permanently storing data such as memory, HDD, RAM, or ROM), an operating system, and A computer equipped with resources (hardware and programs) such as peripheral devices and file systems, and can communicate with the USB storage device 200 according to the USB standard. Here, a computer processor, a storage device, an operating system, a peripheral device, and a file system provided in the USB host 100 are operatively connected to each other.

USB 호스트(100)는 USB 커넥터를 통해서 USB 저장장치(200)와 데이터나 요청(명령)을 서로 송수신할 수 있다. The USB host 100 may transmit and receive data or requests (commands) to and from the USB storage device 200 through a USB connector.

USB 저장장치(200)는 적어도 하나의 프로세서, 기억장치(예를 들면, RAM, ROM, 메모리), USB 커넥터, 및 통신부를 포함할 수 있다. USB 저장장치(200)는, 또한, 저장공간 구성 관리부, 블록 데이터 연결부, USB 드라이버와 같은 프로그램과, 속성/블록 정보와 가상공간 구성정보를 포함할 수 있다. The USB storage device 200 may include at least one processor, a memory device (eg, RAM, ROM, memory), a USB connector, and a communication unit. The USB storage device 200 may also include a storage space configuration management unit, a block data connection unit, a program such as a USB driver, attribute/block information, and virtual space configuration information.

저장공간 구성 관리부, 블록 데이터 연결부, USB 드라이버와 같은 프로그램과 속성/블록 정보는 메모리에 저장되어 있으며, 그 동작을 위해서 프로세서에 의해 램(RAM)으로 로딩되어 실행될 수 있다. 여기서, USB 저장장치(200)의 프로세서와 메모리는 동작적으로(operatively) 연결되어 있고, 또한 통신부와도 동작적으로(operatively) 연결되어 있다. Programs such as a storage space configuration management unit, a block data connection unit, and a USB driver, and attribute/block information are stored in a memory, and may be loaded and executed by a processor by a processor for operation. Here, the processor and the memory of the USB storage device 200 are operatively connected, and also operatively connected to the communication unit.

속성/블록 정보는 가상공간 구성정보와 원격공간 구성정보를 포함한다. 이러한 속성/블록 정보는 저장공간 구성 관리부에 의해 관리(생성, 삭제, 변경)될 수 있다. The attribute/block information includes virtual space configuration information and remote space configuration information. Such attribute/block information can be managed (created, deleted, changed) by the storage space configuration management unit.

가상공간 구성정보는 원격 저장소의 주소(예를 들면, 인터넷상의 주소), 원격 저장소에 로그인을 할 수 있는 계정(사용자 아이디와 패스워드)이나 토큰, 가상공간의 전체 사이즈(용량)과, 가상공간 블록의 사이즈와 갯수를 포함할 수 있다. 한편, 가상공간 구성정보는 실시예에 따라서 '파일-가상공간 블록 매핑 데이터'를 추가적으로 포함할 수 있다. The virtual space configuration information includes the address of the remote storage (for example, an address on the Internet), an account (user ID and password) or token that can log in to the remote storage, the total size (capacity) of the virtual space, and the virtual space block. You can include the size and number of. Meanwhile, the virtual space configuration information may additionally include'file-virtual space block mapping data' according to an embodiment.

원격공간 구성정보는 '가상공간 블록-원격공간 블록 매핑 데이터'를 포함하며, '가상공간 블록-원격공간 블록 매핑 데이터'는 가상공간 블록 ID와 원격공간 블록 ID가 매핑된 데이터이다. 예를 들면, 도 4에는 예시적인 '가상공간 블록-원격공간 블록 매핑 데이터'가 도시되어 있다.The remote space configuration information includes'virtual space block-remote space block mapping data', and'virtual space block-remote space block mapping data' is data to which virtual space block ID and remote space block ID are mapped. For example, an exemplary'virtual space block-remote space block mapping data' is shown in FIG. 4.

통신부는 USB 저장장치(200)와 무선통신단말(400)과의 무선통신을 지원한다. 예를 들면, 통신부는 와이파이나 블루투스 통신을 지원하는 하드웨어일 수 있고, 이를 위한 프로그램은 메모리에 저장되어 있거나 또는 통신부에 펌웨어의 형태로 저장되어 있을 수 있다. The communication unit supports wireless communication between the USB storage device 200 and the wireless communication terminal 400. For example, the communication unit may be hardware supporting Wi-Fi or Bluetooth communication, and a program for this may be stored in a memory or stored in the communication unit in the form of firmware.

여기서, '와이 파이'(Wireless Fidelity)는 전자기기들이 무선랜(WLAN)에 연결할 수 있게 하는 기술로서, 무선접속장치(AP: Access Point)가 설치된 곳에서 전파를 이용하여 일정 거리 안에서 무선인터넷을 할 수 있는 근거리 통신 기술을 의미한다. IEEE 802.11 표준에는 와이 파이 통신을 위한 규격들이 정의되어 관리되고 있다.Here,'Wireless Fidelity' is a technology that enables electronic devices to connect to a wireless LAN (WLAN). It refers to a short-range communication technology that can be used. In the IEEE 802.11 standard, standards for Wi-Fi communication are defined and managed.

또한, '블루투스'는 디지털 통신 기기를 위한 개인 근거리 무선통신 산업 표준이며, ISM 대역에 포함되는 2.4~2.485GHz의 단파 UHF 전파를 이용하여 전자 장비 간의 짧은 거리의 데이터 통신 기술이며, 개인용 컴퓨터에 이용되는 마우스, 키보드를 비롯해, 휴대전화 및 스마트폰, 태블릿, 스피커 등에서 문자 정보 및 음성 정보를 비교적 낮은 속도로 디지털 정보를 무선통신을 통해 주고 받는 용도로 채용되고 있는 기술이다. 블루투스는 IEEE에서는 규격명 IEEE 802.15.1으로 등재되어 있고, Bluetooth Special Interest Group (SIG)을 통해 관리되고 있는 기술이다. In addition,'Bluetooth' is a personal short-range wireless communication industry standard for digital communication devices, and is a data communication technology for a short distance between electronic devices using a short-wave UHF radio wave of 2.4 to 2.485 GHz included in the ISM band, and is used for personal computers. It is a technology that is used for the purpose of sending and receiving digital information through wireless communication at a relatively low speed for text information and voice information from mobile phones, smartphones, tablets, speakers, etc., as well as mouse and keyboard. Bluetooth is registered under the standard name IEEE 802.15.1 in IEEE and is managed through the Bluetooth Special Interest Group (SIG).

USB 저장장치(200)의 저장공간 구성관리부는, 가상의 저장공간(이하, '가상 저장공간')을 블록(이하, '가상공간 블록') 단위로 구획하여 관리한다. USB 저장장치(200)의 저장공간 구성관리부는 각각의 가상공간 블록을 식별하기 위해서 각 가상공간 블록에 ID(이하, '가상공간 블록 ID')를 부여하여 관리한다. The storage space configuration management unit of the USB storage device 200 divides and manages the virtual storage space (hereinafter, referred to as'virtual storage space') in units of blocks (hereinafter, referred to as'virtual space blocks'). The storage space configuration management unit of the USB storage device 200 assigns and manages each virtual space block with an ID (hereinafter, “virtual space block ID”) in order to identify each virtual space block.

본 실시예에서, 저장공간 구성관리부가 관리하는 가상 저장공간은 USB 저장장치(200) 내에 물리적으로 존재하는 공간은 아니며, 가상 저장공간에 대응된 실제적인 물리적인 저장공간은 원격 저장소(300)에 존재한다. 저장공간 구성관리부는 가상 저장공간을 구성하는 가상공간 블록 ID, 가상공간 블록의 사이즈, 가상공간 블록 ID의 갯수를 관리한다.In this embodiment, the virtual storage space managed by the storage space configuration management unit is not a space physically existing in the USB storage device 200, and the actual physical storage space corresponding to the virtual storage space is in the remote storage 300. exist. The storage space configuration management unit manages the virtual space block ID, the size of the virtual space block, and the number of virtual space block IDs constituting the virtual storage space.

USB 저장장치(200)가 관리하는 가상 저장공간의 전체 크기(용량)는 사용자에 의해 설정되고, 나아가, 가상공간 블록의 크기도 사용자에 의해 정해질 수 있다. 사용자는 USB 호스트(100)에 설치된 앱이나 브라우저를 통해서 가상 저장공간의 용량과 가상공간 블록의 크기를 설정할 수 있고, 저장공간 구성관리부는 상기 앱이나 브라우저와 동작적으로 연결되어 있으며, 저장공간 구성관리부는 사용자가 설정한 가상 저장공간의 용량과 가상공간 블록의 크기를 속성/블록 정보에 포함시켜서 관리한다. The total size (capacity) of the virtual storage space managed by the USB storage device 200 is set by the user, and further, the size of the virtual space block may be determined by the user. The user can set the capacity of the virtual storage space and the size of the virtual space block through an app or browser installed on the USB host 100, and the storage space configuration management unit is operatively connected to the app or browser, and the storage space is configured. The management unit manages by including the capacity of the virtual storage space set by the user and the size of the virtual space block in attribute/block information.

일 실시예에 따르면, 가상 저장공간의 전체 크기(용량)과 가상공간 블록의 크기가 사용자에 의해 정해지면, 원격 저장소(300)는, 가상 저장공간의 용량과 동일한 용량의 원격 저장공간을 생성하여 관리하고, 원격공간 블록의 갯수와 사이즈도 가상블록 공간의 갯수와 사이즈와 동일하게 생성하여 관리할 수 있다. According to an embodiment, when the total size (capacity) of the virtual storage space and the size of the virtual space block are determined by the user, the remote storage 300 creates a remote storage space having the same capacity as the virtual storage space. It can be managed, and the number and size of remote space blocks can be created and managed equal to the number and size of virtual block spaces.

블록 데이터 연결부는 원격 공간 구성정보를 참조하여 가상공간 블록 ID를 원격공간 블록 ID로 변환(할당)할 수 있고, 가상공간 구성정보를 참조하여 파일의 사이즈에 따라 가상공간 블록 ID를 할당하거나 데이터에 할당된 가상공간 블록 ID를 찾을 수 있다. 또한 블록 데이터 연결부는 USB 드라이버와 데이터, 요청, 각종 ID 등과 같은 정보들을 송수신 할 수 있는 인터페이스와 원격 저장소와 데이터, 요청, 각종 ID 등과 같은 정보들을 송수신 할 수 있는 인터페이스를 제공한다. The block data connection unit can convert (assign) a virtual space block ID to a remote space block ID by referring to the remote space configuration information, and allocate a virtual space block ID according to the size of the file or data by referring to the virtual space configuration information. You can find the allocated virtual space block ID. In addition, the block data connection unit provides an interface for transmitting and receiving information such as data, request, and various IDs with the USB driver, and an interface for transmitting and receiving information such as remote storage and data, requests, and various IDs.

무선통신단말(400)은 엑세스 포인트(AP)로서의 기능을 수행하고, USB 저장장치(200)로부터 데이터를 수신하여 원격 저장소(300)에게 전송하고, 원격 저장소(300)로부터 데이터를 수신하여 USB 저장장치(200)에게 전송한다.The wireless communication terminal 400 performs a function as an access point (AP), receives data from the USB storage device 200 and transmits it to the remote storage device 300, and receives data from the remote storage device 300 and stores it in USB. It transmits to the device 200.

무선통신단말(400)은 USB 저장장치(200)와의 근거리 통신을 위한 기능을 구비하며, 예를 들면 와이파이나 블루투스와 같은 통신 기능을 구비할 수 있다. The wireless communication terminal 400 has a function for short-range communication with the USB storage device 200, and may have a communication function such as Wi-Fi or Bluetooth.

무선통신단말(400)은 스마트폰(Smartphone) 또는 PDA(Personal Digital Assistant, 개인용 정보 단말기)와 같이 데이터 통신 기능을 구비한 장치일 수 있다. The wireless communication terminal 400 may be a device having a data communication function, such as a smartphone or a personal digital assistant (PDA).

원격 저장소(300)는 인터넷과 같은 통신망을 통해서 연결될 수 있는 저장장치로서, 예를 들면 마이크로소프트의 원드라이브, 네이버 클라우드, 구글 클라우드, 드롭박스, 또는 바이두(이들은 모두 서비스표 또는 상표 명칭임)와 같은 저장장치일 수 있다. The remote storage 300 is a storage device that can be connected through a communication network such as the Internet, for example, Microsoft's OneDrive, Naver Cloud, Google Cloud, Dropbox, or Baidu (all of which are service marks or trademarks). It can be a storage device.

원격 저장소(300)는 자신의 저장공간(이하, '원격 저장공간')을 블록 단위로 구획하여 관리하며, 데이터를 블록 단위로 저장, 수정, 또는 삭제할 수 있다. 블록 단위의 사이즈는 예를 들면 4KB일 수 있으나 이는 예시적인 것이다.The remote storage 300 divides and manages its own storage space (hereinafter, referred to as'remote storage space') in block units, and may store, modify, or delete data in block units. The size of the block unit may be, for example, 4KB, but this is exemplary.

또한, 원격 저장소(300)는 예를 들면 각각의 블록을 식별하기 위해서 각 블록에 원격공간 블록 ID를 부여하여 관리한다. In addition, the remote storage 300 is managed by assigning a remote space block ID to each block in order to identify each block, for example.

본 데이터 관리 시스템의 일 실시예에 따르면, 데이터 저장은 다음과 같이 이루어질 수 있다. According to an embodiment of the present data management system, data storage may be performed as follows.

USB 호스트(100)가 USB 저장장치(200)에게 데이터를 전송하면, USB 저장장치(200)는 원격 저장소(300)에서의 데이터를 저장할 위치(예를 들면 원격공간 블록 ID)를 할당하고, 그러한 원격공간 블록 ID와 USB 호스트(100)로부터 전송받은 데이터를 무선통신단말(400)을 통해서 원격 저장소(300)에게 전송한다. 원격 저장소(300)는 원격공간 블록 ID를 가진 블록에 USB 저장장치(200)로부터 전송받은 데이터를 파일로서 저장한다. When the USB host 100 transmits data to the USB storage device 200, the USB storage device 200 allocates a location (for example, a remote space block ID) to store data in the remote storage device 300, and The remote space block ID and data transmitted from the USB host 100 are transmitted to the remote storage 300 through the wireless communication terminal 400. The remote storage 300 stores data transmitted from the USB storage device 200 as a file in a block having a remote space block ID.

본 데이터 관리 시스템의 일 실시예에 따르면, 데이터 읽기는 다음과 같이 이루어질 수 있다. According to an embodiment of the present data management system, data reading may be performed as follows.

USB 호스트(100)가 USB 저장장치(200)에게 데이터 읽기를 요청하면, USB 저장장치(200)는 원격 저장소(300)에서 읽을 데이터의 위치(예를 들면, 원격공간 블록 ID)를 찾고, 그러한 원격공간 블록 ID와 읽기 요청을 무선통신단말(400)을 통해서 원격 저장소(300)에게 전송한다. 원격 저장소(300)는 그러한 원격공간 블록 ID를 가진 블록에 저장된 데이터를 읽어서 무선통신단말(400)을 통해서 USB 저장장치(200)에게 전송한다. USB 저장장치(200)는 원격 저장소(300)로부터 수신한 데이터를 USB 호스트(100)에게 전송한다. When the USB host 100 requests the USB storage device 200 to read data, the USB storage device 200 finds the location of the data to be read from the remote storage 300 (eg, remote space block ID), and The remote space block ID and the read request are transmitted to the remote storage 300 through the wireless communication terminal 400. The remote storage 300 reads data stored in a block having such a remote space block ID and transmits it to the USB storage device 200 through the wireless communication terminal 400. The USB storage device 200 transmits data received from the remote storage 300 to the USB host 100.

또한, 본 발명의 일 실시예에 따르면 USB 형태의 클라우드 드라이브를 이용한 데이터 관리 방법(이하, '데이터 관리 방법')이 제공되며, 본 데이터 관리 방법은, USB 저장장치의 호스트로부터, 데이터와 쓰기 요청을 전송받는 단계(S2), 쓰기 요청에 대응하여 데이터를 저장할 원격 저장공간의 블록을 적어도 1개 이상 할당하는 단계(S4), 저장할 데이터와 할당하는 단계(S4)에서 할당된 적어도 하나의 블록의 ID(원격공간 블록 ID)를 무선통신단말을 통해서 원격 저장공간으로 전송하는 단계(S6)를 포함할 수 있다. 여기서, 쓰기 요청은 데이터를 저장하라는 요청이다. In addition, according to an embodiment of the present invention, a data management method using a USB-type cloud drive (hereinafter,'data management method') is provided, and the data management method includes a data and write request from the host of the USB storage device. (S2), in response to a write request, allocating at least one block of a remote storage space to store data (S4), data to be stored and at least one block allocated in the allocating step (S4). It may include transmitting an ID (remote space block ID) to a remote storage space through a wireless communication terminal (S6). Here, the write request is a request to save data.

상술한 할당하는 단계(S4)는, USB 가상공간 블록 ID와 원격공간 블록 ID를 매핑 시킨 원격공간 구성정보를 이용하여 원격 저장공간의 블록을 할당하는 것일 수 있다. The above-described allocation step (S4) may be to allocate a block of the remote storage space using remote space configuration information obtained by mapping the USB virtual space block ID and the remote space block ID.

본 데이터 관리 방법은, 또한, 사용자로부터 원격 저장공간에 접속할 수 있는 접속정보를 수신하는 단계(S1), 사용자로부터 USB 저장장치의 전체용량과 가상블록의 용량을 수신하는 단계(S3), 접속정보, 전체용량, 및 가상블록의 용량을 포함한 가상공간 구성정보를 저장하는 단계(S5)를 더 포함할 수 있다. The data management method further includes the step of receiving access information for accessing the remote storage space from the user (S1), receiving the total capacity of the USB storage device and the capacity of the virtual block from the user (S3), and access information. , Storing the virtual space configuration information including the total capacity, and the capacity of the virtual block (S5).

상술한 전송하는 단계(S6)는 가상공간 구성정보에 포함된 접속정보를 이용하여 원격 저장공간으로 전송하는 것일 수 있다. The above-described transmitting step (S6) may be transmitting to a remote storage space by using access information included in the virtual space configuration information.

본 데이터 관리 방법은, 또한, USB 저장장치의 호스트로부터, 읽기 요청과 가상공간 블록 ID를 적어도 1개 이상 전송받는 단계(SA), 읽기 요청과 함께 수신한 가상공간 블록 ID에게 원격공간 블록 ID를 할당하는 단계(SB), 읽기 요청에 대응하여 할당하는 단계에서 할당된 적어도 하나의 블록의 ID를 원격 저장공간으로 전송하는 단계(SC)를 더 포함할 수 있다. In the data management method, the step of receiving at least one read request and at least one virtual space block ID from the host of the USB storage device (SA), and the remote space block ID to the virtual space block ID received together with the read request. The step of allocating (SB), the step of transmitting the ID of at least one block allocated in the step of allocating in response to the read request (SC) to the remote storage space may further include.

상술한 데이터 관리 방법은, 상술한 데이터 관리 시스템에 의해서 구현이 가능하며, 이하에서는, 본 데이터 관리 방법이 상술한 데이터 관리 시스템에 적용된 예를 설명하기로 한다. The above-described data management method can be implemented by the above-described data management system. Hereinafter, an example in which the present data management method is applied to the above-described data management system will be described.

USB 저장장치(200)에 포함된 메모리에는, USB 저장장치(200)의 프로세서가 본 데이터 관리 방법을 수행하도록 하는 프로그램이 저장되어 있다. 한편, 본 데이터 관리 방법을 수행하도록 하는 프로그램은, 저장공간 구성관리부와 블록 데이터 연결부를 포함한다.In the memory included in the USB storage device 200, a program that causes the processor of the USB storage device 200 to perform the present data management method is stored. Meanwhile, a program for performing the data management method includes a storage space configuration management unit and a block data connection unit.

본 데이터 관리 방법은, USB 저장장치(200)의 호스트로부터, 블록 데이터 연결부가 데이터와 쓰기 요청을 전송받는 단계(S2), 쓰기 요청에 대응하여 데이터를 저장할 원격 저장공간의 블록을 블록 데이터 연결부가 적어도 1개 이상 할당하는 단계(S4), 저장할 데이터와 할당하는 단계(S4)에서 할당된 적어도 하나의 블록의 ID(원격공간 블록 ID)를 통신부가 무선통신단말을 통해서 원격 저장공간으로 전송하는 단계(S6)를 포함할 수 있다. 여기서, 쓰기 요청은 데이터를 저장하라는 요청이다. 할당하는 단계(S4)는, USB 가상공간 블록 ID와 원격공간 블록 ID를 매핑 시킨 원격공간 구성정보를 이용하여 원격 저장공간의 블록을 할당하는 것일 수 있다. In this data management method, a block data connection unit receives a data and a write request from the host of the USB storage device 200 (S2), and a block data connection unit stores a block in a remote storage space to store data in response to the write request. Step of allocating at least one (S4), data to be stored and the step of transmitting the ID (remote space block ID) of at least one block allocated in the allocating step (S4) to a remote storage space through a wireless communication terminal by the communication unit (S6) may be included. Here, the write request is a request to save data. The allocating step (S4) may be to allocate a block of the remote storage space using remote space configuration information in which the USB virtual space block ID and the remote space block ID are mapped.

본 데이터 관리 방법은, 또한, 저장공간 구성관리부가 USB 호스트(100)에 설치된 앱(프로그램)이나 웹 브라우저로부터 원격 저장공간에 접속할 수 있는 접속정보를 수신하는 단계(S1), 저장공간 구성관리부가 상기 앱 또는 웹 브라우저로부터 USB 저장장치(200)의 전체용량과 가상블록의 용량을 수신하는 단계(S3), 저장공간 구성관리부가 접속정보, 전체용량, 및 가상블록의 용량을 포함한 가상공간 구성정보를 저장하는 단계(S5)를 더 포함할 수 있다. In this data management method, the storage space configuration management unit receives access information for accessing the remote storage space from an app (program) installed on the USB host 100 or a web browser (S1), and the storage space configuration management unit Receiving the total capacity of the USB storage device 200 and the capacity of the virtual block from the app or web browser (S3), the storage space configuration management unit access information, the total capacity, and virtual space configuration information including the capacity of the virtual block It may further include a step (S5) of storing.

상술한 전송하는 단계(S6)는 가상공간 구성정보에 포함된 접속정보를 이용하여 원격 저장공간으로 전송하는 것일 수 있다. The above-described transmitting step (S6) may be transmitting to a remote storage space by using access information included in the virtual space configuration information.

본 데이터 관리 방법은, 또한, USB 저장장치의 호스트로부터, 블록 데이터 연결부가 읽기 요청과 가상공간 블록 ID를 적어도 1개 이상 전송받는 단계(SA), 블록 데이터 연결부가 읽기 요청과 함께 수신한 가상공간 블록 ID에게 원격공간 블록 ID를 할당하는 단계(SB), 통신부가 읽기 요청에 대응하여 할당하는 단계에서 할당된 적어도 하나의 블록의 ID를 원격 저장공간으로 전송하는 단계(SC)를 더 포함할 수 있다. In the data management method, the block data connection unit receives at least one read request and at least one virtual space block ID from the host of the USB storage device (SA), and the block data connection unit receives the virtual space along with the read request. Allocating a remote space block ID to the block ID (SB), and transmitting the ID of at least one block allocated in the allocating step in response to a read request by the communication unit to the remote storage space (SC). have.

한편, 본 데이터 관리 방법에서, USB 호스트(100)는 USB 저장장치(200)에게 쓰기 요청(저장 요청) 또는 읽기 요청을 할 때, 예를 들면 2가지 실시예(제1실시예와 제2실시예) 중 어느 하나로 구현될 수 있다. 이하에서는, 특히 도 3 내지 도5를 참조하여 제1실시예와 제2실시예를 설명하기로 한다. On the other hand, in the present data management method, when the USB host 100 makes a write request (storage request) or a read request to the USB storage device 200, for example, two embodiments (first and second embodiments). Example) can be implemented in any one of. Hereinafter, a first embodiment and a second embodiment will be described with reference to FIGS. 3 to 5 in particular.

제1실시예Embodiment 1

제1실시예에 따르면, 쓰기 요청을 할 경우, USB 호스트 장치(100)는 저장할 데이터와 이 데이터에 매핑된 가상공간 블록 ID를 USB 저장장치(200)에게 제공한다. 제1실시예는 읽기 요청의 경우에도 읽을 데이터에 대하여 매핑된 가상공간 블록 ID를 USB 저장장치(200)에게 제공한다. 한편, 제1실시예와 같이 구현되기 위해서는, 도 4에 예시적으로 도시된 바와 같이, 데이터(파일 시스템에 의해 관리되는 파일)과 가상공간 블록 ID가 매핑된 정보를 USB 호스트(100)가 알고 있어야 한다. 제1실시예에 따르면, USB 호스트(100)는 저장할 데이터(파일 시스템에 의해 관리되는 파일)의 사이즈를 파악하고, 데이터의 사이즈에 맞도록 가상공간 블록의 갯수를 매핑하고, USB 호스트(100)는 그 매핑 결과를 '파일-가상공간 블록 매핑 데이터'에 포함시켜 관리한다. According to the first embodiment, when a write request is made, the USB host device 100 provides data to be stored and a virtual space block ID mapped to the data to the USB storage device 200. In the first embodiment, even in the case of a read request, the mapped virtual space block ID for data to be read is provided to the USB storage device 200. On the other hand, in order to be implemented as in the first embodiment, the USB host 100 knows the data (file managed by the file system) and the information on which the virtual space block ID is mapped, as exemplarily shown in FIG. 4. It should be. According to the first embodiment, the USB host 100 determines the size of data to be stored (a file managed by the file system), maps the number of virtual space blocks to fit the size of the data, and the USB host 100 Manages the mapping result by including it in the'file-virtual space block mapping data'.

예를 들면, 가상공간 블록의 사이즈가 4KB(가상공간 블록의 갯수와 블록의 사이즈는 USB 저장장치로부터 제공받음)이고, 파일의 크기가 38KB일 경우 USB 호스트(100)는 가상공간 블록의 갯수를 10개 할당한다. 즉, 저장할 데이터에 가상공간 블록의 ID를 10개 할당하고, 데이터의 식별정보(예를 들면, 파일이름이나 파일 ID)와 10개의 가상공간 블록 ID를 서로 매핑하여 저장한다. 이처럼, 데이터의 식별정보와 가상공간 블록 ID를 서로 매핑시킨 데이터는 '파일-가상공간 블록 매핑 데이터'에 포함되어 관리된다.For example, if the size of the virtual space block is 4 KB (the number of virtual space blocks and the size of the blocks are provided from the USB storage device), and the size of the file is 38 KB, the USB host 100 determines the number of virtual space blocks. Allocate 10. That is, 10 virtual space block IDs are allocated to data to be stored, and data identification information (eg, file name or file ID) and 10 virtual space block IDs are mapped and stored. In this way, data obtained by mapping identification information of data and virtual space block ID to each other is included in the'file-virtual space block mapping data' and managed.

다른 예를 들면, 가상공간 블록의 사이즈가 4KB(가상공간 블록의 갯수와 블록의 사이즈는 USB 저장장치로부터 제공받음)이고, 파일의 크기가 2KB일 경우 USB 호스트는 가상공간 블록의 갯수를 1개 할당한다. For another example, if the size of the virtual space block is 4KB (the number of virtual space blocks and the size of the blocks are provided from the USB storage device), and the size of the file is 2KB, the USB host will set the number of virtual space blocks to one. To allocate.

USB 저장장치(200)가 USB 호스트(100)로부터 저장할 데이터와 함께 가상공간 블록 ID를 수신하면, 블록 데이터 연결부는 '가상공간 블록-원격공간 블록 매핑 데이터'를 참조하여, USB 호스트(100)로부터 수신한 가상공간 블록 ID에 원격공간 블록 ID를 할당한다. 예를 들면, 블록 데이터 연결부는 데이터가 아직 저장되지 않은 원격공간 블록에 가상공간 블록을 할당하며, 그 할당 내용은 기 저장되어 있는 '가상공간 - 블록 원격공간 블록 매핑 데이터'에 반영된다.When the USB storage device 200 receives the virtual space block ID along with the data to be stored from the USB host 100, the block data connection unit refers to the'virtual space block-remote space block mapping data', and Allocates a remote space block ID to the received virtual space block ID. For example, the block data connection unit allocates a virtual space block to a remote space block in which data is not yet stored, and the allocation details are reflected in the previously stored'virtual space-block remote space block mapping data'.

이후, USB 저장장치(200)의 프로세서는, 통신부를 제어하여 블록 데이터 연결부에 의해 할당된 원격공간 블록 ID와 저장할 데이터를 무선통신단말(400)을 통해서 원격 저장소(300)에게 전송한다. 원격 저장소(300)는 원격공간 블록 ID가 부여된 원격공간 블록에 데이터를 저장한다.Thereafter, the processor of the USB storage device 200 controls the communication unit to transmit the remote space block ID allocated by the block data connection unit and data to be stored to the remote storage 300 through the wireless communication terminal 400. The remote storage 300 stores data in a remote space block to which a remote space block ID is assigned.

제1실시예에 따르면, 읽기 요청을 할 경우, USB 호스트 장치(100)는 읽기 요청과 함께 읽을 데이터에 매핑된 가상공간 블록 ID를 같이 USB 저장장치(200)에게 제공한다. USB 호스트 장치(100)는 '파일-가상공간 블록 매핑 데이터'를 참조하여 읽고자 하는 데이터(파일)에 매핑된 가상공간 블록 ID를 알아낸다. USB 호스트 장치(100)는 읽기 요청과 함께 가상공간 블록 ID를 USB 저장장치(200)에게 전송하면, USB 저장장치(200)의 블록 데이터 연결부는 도 4에 예시적으로 도시된 원격공간 구성 정보를 참조하여 가상공간 블록 ID에 매핑된 원격공간 블록 ID를 알아낸다(즉, 가상공간 블록 ID를 원격공간 블록 ID로 전환한다). 이후, USB 저장장치(200)는 원격공간 블록 ID를 무선통신단말(400)을 통해서 원격 저장소(300)에게 제공하면, 원격 저장소(300)는 원격공간 블록 ID가 할당된 블록에 저장된 데이터 전부를 무선통신단말(400)을 통해서 USB 저장장치(200)에게 전송하고, USB 저장장치(200)는 원격 저장소(300)로부터 전송받은 데이터를 USB 호스트(100)에게 전송한다. According to the first embodiment, when a read request is made, the USB host device 100 provides the USB storage device 200 with the virtual space block ID mapped to the data to be read together with the read request. The USB host device 100 finds out a virtual space block ID mapped to data (file) to be read by referring to'file-virtual space block mapping data'. When the USB host device 100 transmits the virtual space block ID to the USB storage device 200 together with the read request, the block data connection unit of the USB storage device 200 provides the remote space configuration information exemplarily shown in FIG. 4. With reference, find out the remote space block ID mapped to the virtual space block ID (that is, convert the virtual space block ID to the remote space block ID). Thereafter, when the USB storage device 200 provides the remote space block ID to the remote storage 300 through the wireless communication terminal 400, the remote storage 300 stores all of the data stored in the block to which the remote space block ID is assigned. The data is transmitted to the USB storage device 200 through the wireless communication terminal 400, and the USB storage device 200 transmits the data received from the remote storage 300 to the USB host 100.

제2실시예Embodiment 2

제2실시예에 따르면, 쓰기 요청을 할 경우, USB 호스트 장치(100)는 쓰기 요청과 함께 저장할 데이터와, 그 데이터의 식별정보를 USB 저장장치(200)에게 제공한다. 한편, 읽기 요청의 경우는 읽고자 하는 데이터의 식별정보를 USB 저장장치(200)에게 제공한다. According to the second embodiment, when a write request is made, the USB host device 100 provides data to be stored together with the write request and identification information of the data to the USB storage device 200. Meanwhile, in the case of a read request, identification information of data to be read is provided to the USB storage device 200.

이처럼, 제2실시예와 같이 구현될 경우에는, 도 4에 예시적으로 도시된 바와 같이, '파일-가상공간 블록 매핑 데이터'를 USB 저장장치(200)가 알아야 한다. 제2실시예에 따르면, USB 저장장치(200)의 저장공간 구성 관리부는, 원격 저장소(300)에 데이터를 저장할 때마다, 그 데이터(파일 시스템에 의해 관리되는 파일)의 사이즈를 파악하고, 데이터의 사이즈에 맞도록 가상공간 블록의 갯수를 할당하고, 데이터의 식별정보와 그 데이터에 할당한 가상공간 블록 ID를 매핑시킨 데이터(즉, '파일-가상공간 블록 매핑 데이터')를 생성하여 속성/블록 정보에 포함시켜서 관리한다.As described above, when implemented as in the second embodiment, the USB storage device 200 needs to know the'file-virtual space block mapping data', as exemplarily shown in FIG. 4. According to the second embodiment, the storage space configuration management unit of the USB storage device 200 determines the size of the data (a file managed by the file system) whenever data is stored in the remote storage 300, and Attribute/ It is managed by including it in the block information.

예를 들면, 가상공간 블록의 사이즈가 4KB(가상공간 블록의 갯수와 블록의 사이즈는 USB 저장장치로부터 제공받음)이고, 파일의 크기가 38KB일 경우 저장공간 구성 관리부는 가상공간 블록의 갯수를 10개 할당한다. 즉, 저장할 데이터에 가상공간 블록의 ID를 10개 할당하고, 상기 데이터의 식별정보(예를 들면, 파일이름이나 파일 ID)와 10개의 가상공간 블록 ID를 서로 매핑하여 기 저장되어 있던 '파일-가상공간 블록 매핑 데이터'에 반영한다. 다른 예를 들면, 가상공간 블록의 사이즈가 4KB이고, 파일의 크기가 2KB일 경우 USB 저장장치(200)의 저장공간 구성 관리부는 가상공간 블록의 갯수를 1개 할당한다. For example, if the size of the virtual space block is 4 KB (the number of virtual space blocks and the size of the blocks are provided from the USB storage device), and the size of the file is 38 KB, the storage space configuration management unit sets the number of virtual space blocks to 10. Allocate dogs. That is, 10 virtual space block IDs are allocated to the data to be stored, and the previously stored'file- It is reflected in'virtual space block mapping data'. For another example, when the size of the virtual space block is 4 KB and the size of the file is 2 KB, the storage space configuration management unit of the USB storage device 200 allocates one number of virtual space blocks.

USB 저장장치(200)가 USB 커넥터를 통해서 USB 호스트(100)로부터 저장할 데이터를 수신하면, 저장공간 구성 관리부는 그 데이터의 사이즈를 파악하고, 그 사이즈에 맞도록 가상공간 블록의 갯수를 결정하고 그 갯수에 따른 가상공간 블록 ID를 할당한다. 이렇게 할당된 내용은 기 저장된 '파일-가상공간 블록 매핑 데이터'에 반영되어 저장공간 구성 관리부에 의해 관리된다. When the USB storage device 200 receives data to be stored from the USB host 100 through the USB connector, the storage space configuration management unit determines the size of the data, determines the number of virtual space blocks to fit the size, and Allocates virtual space block IDs according to the number. The allocated contents are reflected in the previously stored'file-virtual space block mapping data' and managed by the storage space configuration management unit.

블록 데이터 연결부는 '가상공간 블록-원격공간 블록 매핑 데이터'를 참조하여, 저장공간 구성 관리부가 USB 저장장치(200)로부터 수신한 데이터에 할당한 가상공간 블록 ID를 원격공간 블록 ID로 전환(할당)한다. 예를 들면, 블록 데이터 연결부는 기 저장되어 있는 '가상공간 블록 원격공간 블록 매핑 데이터'를 참조하여 데이터가 아직 저장되지 않은 원격공간 블록에 가상공간 블록을 할당하고, 이 할당 내용은 기 저장되어 있는 '가상공간 블록 원격공간 블록 매핑 데이터'에 반영된다.The block data connection unit refers to the'virtual space block-remote space block mapping data', and converts the virtual space block ID allocated to the data received from the USB storage device 200 by the storage space configuration management unit into a remote space block ID (assignment). )do. For example, the block data connection unit allocates a virtual space block to a remote space block in which data is not yet stored by referring to the previously stored'virtual space block remote space block mapping data'. It is reflected in'Virtual Space Block Remote Space Block Mapping Data'.

이후, USB 저장장치(200)의 프로세서는, 통신부를 제어하여 블록 데이터 연결부에 의해 할당된 원격공간 블록 ID와 저장할 데이터를 무선통신단말(400)을 통해서 원격 저장소(300)에게 전송한다. 원격 저장소(300)는 원격공간 블록 ID가 부여된 원격공간 블록에 데이터를 저장한다. Thereafter, the processor of the USB storage device 200 controls the communication unit to transmit the remote space block ID allocated by the block data connection unit and data to be stored to the remote storage 300 through the wireless communication terminal 400. The remote storage 300 stores data in a remote space block to which a remote space block ID is assigned.

제2실시예에 따르면, 읽기 요청을 할 경우, USB 호스트 장치(100)는 읽기 요청과 함께 읽을 데이터에 대한 식별정보를 USB 저장장치(200)에게 제공한다. According to the second embodiment, when a read request is made, the USB host device 100 provides the USB storage device 200 with identification information on data to be read together with the read request.

블록 데이터 연결부는, '파일-가상공간 블록 매핑 데이터'를 참조하여 읽고자 하는 읽을 데이터에 매핑된 가상공간 블록 ID를 알아내고, '가상공간 블록-원격공간 블록 매핑 데이터'를 참조하여 상기 가상공간 블록 ID에 매핑된 원격공간 블록 ID를 알아낸다. The block data connection unit finds the virtual space block ID mapped to the data to be read by referring to'file-virtual space block mapping data', and refers to'virtual space block-remote space block mapping data' to determine the virtual space. Find out the remote space block ID mapped to the block ID.

이후, USB 저장장치(200)는 원격공간 블록 ID를 무선통신단말(400)을 통해서 원격 저장소(300)에게 제공하면, 원격 저장소(300)는 원격공간 블록 ID가 할당된 블록에 저장된 데이터 전부를 무선통신단말(400)을 통해서 USB 저장장치(200)에게 전송하고, USB 저장장치(200)는 원격 저장소(300)로부터 전송받은 데이터를 USB 호스트(100)에게 전송한다. Thereafter, when the USB storage device 200 provides the remote space block ID to the remote storage 300 through the wireless communication terminal 400, the remote storage 300 stores all of the data stored in the block to which the remote space block ID is assigned. The data is transmitted to the USB storage device 200 through the wireless communication terminal 400, and the USB storage device 200 transmits the data received from the remote storage 300 to the USB host 100.

이상 상술한 바와 같이 원격 저장소의 이용을 위한 드라이브(즉, 클라우드 드라이브')를 USB에 설치함으로써, USB 호스트에는 클라우드 드라이브를 설치하지 않고서도, USB 호스트가 원격 저장소에 데이터를 저장하여 관리할 수 있다. 즉, USB 타입의 클라우드를 이용하여, USB 호스트가 원격 저장소의 데이터를 저장하여 관리할 수 있게 된다. As described above, by installing a drive (i.e., a cloud drive) for the use of remote storage on USB, the USB host can store and manage data in the remote storage without installing the cloud drive on the USB host. . That is, using a USB type of cloud, a USB host can store and manage data in a remote storage.

이와 같이 본 발명은 기재된 실시예에 한정되는 것이 아니고, 본 발명의 사상 및 범위를 벗어나지 않고 다양하게 수정 및 변형할 수 있음은 이 기술의 분야에서 통상의 지식을 가진 자에게 자명하다. 따라서 그러한 수정예 또는 변형예들은 본 발명의 특허청구범위에 속한다 하여야 할 것이다.As described above, the present invention is not limited to the described embodiments, and it is apparent to those of ordinary skill in the art that various modifications and variations can be made without departing from the spirit and scope of the present invention. Therefore, it should be said that such modifications or variations belong to the scope of the claims of the present invention.

USB 호스트: 100
USB 저장장치: 200
원격 저장소: 300
무선단말장치: 400
USB host: 100
USB storage device: 200
Remote storage: 300
Wireless terminal device: 400

Claims (1)

USB 저장장치에 있어서,
적어도 하나의 프로세서;
상기 적어도 하나의 프로세서와 동작적으로(operatively) 연결된 메모리; 및
상기 적어도 하나의 프로세서와 동작적으로(operatively) 연결된 통신부;를 포함하며,
상기 메모리는
상기 프로세서가
상기 USB 저장장치의 호스트로부터, 데이터 및 쓰기 요청을 전송받는 단계;
상기 쓰기 요청에 대응하여 상기 데이터를 저장할 원격 저장공간의 블록(이하, '원격공간 블록')을 적어도 1개 이상 할당하는 단계; 및
상기 데이터와, 상기 할당하는 단계에서 할당된 적어도 하나의 원격공간 블록의 ID를 상기 통신부가 무선통신단말을 통해서 상기 원격 저장공간으로 전송하는 단계; 를 포함하는 방법을 수행하도록 하는 프로그램을 저장하는 것인, 클라우드 드라이브로서의 기능을 구비한 USB 저장장치.
In the USB storage device,
At least one processor;
A memory operatively connected with the at least one processor; And
Includes; a communication unit operatively connected to the at least one processor,
The memory is
The processor
Receiving a data and a write request from the host of the USB storage device;
Allocating at least one block of remote storage space (hereinafter referred to as'remote space block') to store the data in response to the write request; And
Transmitting the data and the ID of at least one remote space block allocated in the allocating step to the remote storage space through a wireless communication terminal by the communication unit; To store a program to perform a method comprising a, USB storage device having a function as a cloud drive.
KR1020210058448A 2021-05-06 2021-05-06 Cloud drive of usb type and data managing system using the same KR20210053865A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210058448A KR20210053865A (en) 2021-05-06 2021-05-06 Cloud drive of usb type and data managing system using the same
KR1020230020883A KR20230025852A (en) 2021-05-06 2023-02-16 Cloud storage of usb type and data managing system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210058448A KR20210053865A (en) 2021-05-06 2021-05-06 Cloud drive of usb type and data managing system using the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127235A Division KR20200052405A (en) 2018-10-24 2018-10-24 Cloud drive of usb type and data managing system using the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230020883A Division KR20230025852A (en) 2021-05-06 2023-02-16 Cloud storage of usb type and data managing system using the same

Publications (1)

Publication Number Publication Date
KR20210053865A true KR20210053865A (en) 2021-05-12

Family

ID=75918943

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210058448A KR20210053865A (en) 2021-05-06 2021-05-06 Cloud drive of usb type and data managing system using the same
KR1020230020883A KR20230025852A (en) 2021-05-06 2023-02-16 Cloud storage of usb type and data managing system using the same

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230020883A KR20230025852A (en) 2021-05-06 2023-02-16 Cloud storage of usb type and data managing system using the same

Country Status (1)

Country Link
KR (2) KR20210053865A (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735093B1 (en) 2013-12-10 2017-05-12 한국전자통신연구원 Method and apparatus for sharing file in cloud storage service
KR101533427B1 (en) 2013-12-19 2015-07-03 주식회사 퓨쳐텍 Mobile storage device providing mass virtual storage space and providing method thereof

Also Published As

Publication number Publication date
KR20230025852A (en) 2023-02-23

Similar Documents

Publication Publication Date Title
KR102363526B1 (en) System comprising non-volatile memory supporting multiple access modes and accessing method therof
US10901636B2 (en) Target optimized auto provisioning of storage in a discoverable storage network
EP3214553B1 (en) Storage resource access method supporting sr-iov, storage controller and storage device
CN107092439B (en) Data storage method and equipment
JP6074514B2 (en) Feature information acquisition method, apparatus, network apparatus, program, and recording medium
CN111679921B (en) Memory sharing method, memory sharing device and terminal equipment
WO2017107414A1 (en) File operation method and device
US10324775B2 (en) Method for bidirectional calling between open system and mainframe system performed by computing device
US20060253673A1 (en) Apparatus and method for permitting access to storage means
CN112468482B (en) Data transmission method, device, server, storage medium and system
CN110383254B (en) Optimizing memory mapping associated with network nodes
CN104216834A (en) Internal storage assess method, buffering scheduler and internal storage module
KR20200052405A (en) Cloud drive of usb type and data managing system using the same
KR20210053865A (en) Cloud drive of usb type and data managing system using the same
US9319350B2 (en) Virtual address for virtual port
KR20200052407A (en) Cloud drive of usb type and data managing system using the same
KR20130063399A (en) Mobile terminal and cloud server for mobile cloud computing environment and method of mobile cloud computing using the same
CN111666579B (en) Computer device, access control method thereof and computer readable medium
KR102650146B1 (en) USB based cloud disk and disk segment management system
KR20220146043A (en) USB based cloud disk and disk segment management system
TW202027477A (en) Isolating a redirected biometric device to a remote session
KR100504089B1 (en) Portable appliances providing for mass storage function and contents protection function of mass storage class interface specification, mass storage class interface system having it, and method thereof
WO2023077519A1 (en) Storage device supporting multiple operation systems, and configuration method and computer system
CN110659216A (en) NID allocation method and storage device thereof
KR102381185B1 (en) Method to set up a core for low-latency services in Kubernetes

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
N231 Notification of change of applicant
E90F Notification of reason for final refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment
E601 Decision to refuse application
E801 Decision on dismissal of amendment
A107 Divisional application of patent