KR20220146043A - USB based cloud disk and disk segment management system - Google Patents
USB based cloud disk and disk segment management system Download PDFInfo
- Publication number
- KR20220146043A KR20220146043A KR1020210052838A KR20210052838A KR20220146043A KR 20220146043 A KR20220146043 A KR 20220146043A KR 1020210052838 A KR1020210052838 A KR 1020210052838A KR 20210052838 A KR20210052838 A KR 20210052838A KR 20220146043 A KR20220146043 A KR 20220146043A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- sector
- configuration information
- usb
- remote
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 16
- 238000007726 management method Methods 0.000 description 22
- 238000013523 data management Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/077—Constructional details, e.g. mounting of circuits in the carrier
- G06K19/0772—Physical layout of the record carrier
- G06K19/07732—Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 USB 기반의 클라우드 디스크와 디스크 세그먼트 매니지먼트 시스템에 관한 것이다. The present invention relates to a USB-based cloud disk and disk segment management system.
네트워크 기술이 발전함에 따라 사용자가 이용하는 디바이스(예컨대, 데스크탑, 노트북, 휴대용 기기 등)에 저장되던 데이터는 인터넷 상의 원격 저장소(클라우드 스토리지)에 저장되고 사용자는 필요할 때마다 자신의 계정을 이용하여 언제 어디서든 클라우드 스토리지에 저장된 데이터를 이용할 수 있다.As network technology develops, data that was stored in the user's device (eg, desktop, laptop, portable device, etc.) You can use the data stored in the sudden cloud storage.
일례로, 한국공개특허 제10-2015-0067643호(공개일 2015년 06월 18일)에는 클라우드 스토리지 서비스에서 파일을 공유하는 방법 및 그 장치가 개시되어 있다.For example, Korean Patent Application Laid-Open No. 10-2015-0067643 (published on June 18, 2015) discloses a method and an apparatus for sharing a file in a cloud storage service.
본 발명의 일 실시예에 따르면, 원격 저장소에 저장된 데이터의 보안성이 강화되고 USB 저장장치를 USB 호스트와 연결하는 것만으로 원격 저장소에 데이터를 관리(저장, 삭제, 읽기, 수정)할 수 있는 USB 기반의 클라우드 디스크가 제공된다.According to an embodiment of the present invention, the security of data stored in the remote storage is enhanced, and the USB storage device can manage (store, delete, read, modify) data in the remote storage simply by connecting the USB storage device to the USB host. A cloud-based disk is provided.
본 발명의 다른 실시예에 따르면, 컴퓨터에 설치되어 원격 저장소에 데이터를 저장하여 관리할 수 있는 프로그램 형태의 클라우드 디스크가 제공된다. According to another embodiment of the present invention, there is provided a cloud disk in the form of a program installed in a computer to store and manage data in a remote storage.
본 발명의 다른 실시예에 따르면, 원격 저장소에 저장된 데이터의 보안성이 강화되고 USB 기반의 클라우드 디스크를 USB 호스트와 연결하는 것만으로 원격 저장소에 데이터를 관리(저장, 삭제, 읽기, 수정)할 수 있는 데이터 관리 시스템과 방법이 제공된다. According to another embodiment of the present invention, the security of data stored in the remote storage is enhanced, and data can be managed (stored, deleted, read, modified) in the remote storage simply by connecting the USB-based cloud disk with the USB host. A data management system and method are provided.
본 발명의 하나 이상의 실시예에 따른 USB 기반의 클라우드 디스크에 있어서,In the USB-based cloud disk according to one or more embodiments of the present invention,
컴퓨터 프로세서; 상기 컴퓨터 프로세서와 동작적으로 연결된 저장부;computer processor; a storage unit operatively coupled to the computer processor;
원격공간 구성정보를 관리하는 저장공간 구성관리부; 블록 데이터 연결부; 및a storage space configuration management unit for managing remote space configuration information; block data connection; and
상기 컴퓨터 프로세서와 동작적으로 연결된 통신부;를 포함하며,and a communication unit operatively connected to the computer processor;
상기 저장공간 구성관리부와 상기 블록 데이터 연결부는 상기 컴퓨터 프로세서의 제어 하에 상기 저장부에 로딩되어 동작될 수 있고,The storage space configuration management unit and the block data connection unit may be loaded and operated in the storage unit under the control of the computer processor,
상기 원격공간 구성정보는, 섹터 ID, 섹터 데이터가 저장될 원격 저장소, 및 섹터 데이터의 Data path를 포함하며, 상기 섹터 ID, 상기 원격 저장소, 및 상기 Data path는 서로 연관되어 있고, The remote space configuration information includes a sector ID, a remote storage in which sector data is to be stored, and a data path of the sector data, wherein the sector ID, the remote storage, and the data path are associated with each other;
상기 Data path는 상기 원격 저장소에서 상기 섹터 데이터가 저장되는 장소를 나타내고, 상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 쓰기 명령을 수신할 수 있고,The data path indicates a location where the sector data is stored in the remote storage, and from a computer connected to the USB-based cloud disk, the USB-based cloud disk may receive a write command;
상기 쓰기 명령은 섹터 데이터(data 1)와, 섹터 데이터(data 1)를 저장할 섹터의 ID(S1)를 포함하며, The write command includes sector data (data 1) and an ID (S1) of a sector to store sector data (data 1),
상기 USB 기반의 클라우드 디스크가 상기 쓰기 명령을 수신하면, 상기 저장공간 구성관리부는 상기 섹터(S1)의 구성정보를 생성하며, When the USB-based cloud disk receives the write command, the storage space configuration management unit generates configuration information of the sector S1,
상기 섹터(S1)의 구성정보는, 상기 섹터 데이터(data 1)를 전송할 원격 저장소와, 상기 섹터 데이터(data 1)을 저장할 Data path를 포함하며,The configuration information of the sector S1 includes a remote storage to transmit the
상기 블록 데이터 연결부는 상기 섹터 데이터(data 1)와 상기 섹터 데이터(data 1)의 Data path를, 상기 섹터(S1)의 구성정보에 포함된 원격 저장소에게 상기 통신부를 통해서 전송하는 것인, USB 기반의 클라우드 디스크가 개시된다.The block data connection unit transmits the sector data (data 1) and the data path of the sector data (data 1) to the remote storage included in the configuration information of the sector (S1) through the communication unit. of cloud disk is disclosed.
상술한 실시예에서, 상기 저장공간 구성관리부는, 상기 섹터(S1)의 구성정보를 생성하기에 앞서, 상기 원격공간 구성정보에 상기 섹터(S1)의 구성정보가 있는지 여부를 확인하고 없을 경우에 상기 섹터(S1)의 구성정보를 생성하고, 생성한 상기 섹터(S1)의 구성정보를 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행할 수 있다. In the above-described embodiment, the storage space configuration management unit checks whether the configuration information of the sector S1 is present in the remote space configuration information before generating the configuration information of the sector S1. An update operation of generating the configuration information of the sector S1 and adding the generated configuration information of the sector S1 to the remote space configuration information may be performed.
상술한 실시예에서, 상기 블록 데이터 연결부가 상기 원격 저장소로 전송하는 상기 섹터 데이터(data 1)와 상기 섹터 데이터(data 1)의 Data path는, 상기 블록 데이터 연결부가 업데이트된 상기 원격공간 구성정보로부터 얻은 것일 수 있다. In the above-described embodiment, the data path of the sector data (data 1) and the sector data (data 1) transmitted by the block data connection unit to the remote storage is determined from the remote space configuration information updated by the block data connection unit. may have been obtained
상술한 실시예에서, 상기 섹터 데이터(data 1)을 저장할 Data path는, 상기 섹터 데이터(data 1)을 저장할 장소와, 상기 섹터 데이터(data 1)에 대한 원격공간 블록 ID를 포함하며, 상기 쓰기 명령에 포함된 섹터의 ID(S1)는 가상공간 블록 ID이고, 상기 가상공간 블록 ID와 상기 원격공간 블록 ID는 서로 매핑되어 있는 것일 수 있다. In the above-described embodiment, the data path to store the sector data (data 1) includes a place to store the sector data (data 1) and a remote space block ID for the sector data (data 1), and the write The sector ID (S1) included in the command may be a virtual space block ID, and the virtual space block ID and the remote space block ID may be mapped to each other.
상술한 실시예에서, 상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 읽기 명령을 수신할 수 있고,In the above-described embodiment, the USB-based cloud disk may receive a read command from a computer connected to the USB-based cloud disk,
상기 읽기 명령은 읽고자 하는 섹터의 ID(S3)를 포함하며The read command includes the ID (S3) of the sector to be read,
상기 읽기 명령이 상기 업데이트 동작이 완료된 후에 수신된 경우에는, 상기 저장공간 구성관리부는 업데이트된 상기 원격공간 구성정보에 상기 섹터(S3)의 구성정보가 존재하는지 여부를 확인하며,When the read command is received after the update operation is completed, the storage space configuration management unit checks whether the configuration information of the sector S3 exists in the updated remote space configuration information,
상기 섹터(S3)의 구성정보가 존재할 경우, 상기 블록 데이터 연결부는 상기 섹터(S3)의 구성정보에 포함된 원격 저장소에게 상기 섹터(S3)의 Data path를 상기 통신부를 통해서 상기 원격 저장소로 전송하고, 상기 원격 저장소로부터 상기 섹터(S3)의 Data path에 저장된 데이터를 상기 통신부를 통해서 수신하며, When the configuration information of the sector S3 exists, the block data connection unit transmits the data path of the sector S3 to the remote storage included in the configuration information of the sector S3 to the remote storage through the communication unit, , receives data stored in the data path of the sector S3 from the remote storage through the communication unit,
상기 USB 기반의 클라우드 디스크는 상기 읽기 명령을 송신한 상기 컴퓨터에게 상기 통신부를 통해서 수신한 상기 데이터를 전송하는 것일 수 있다. The USB-based cloud disk may transmit the data received through the communication unit to the computer that has transmitted the read command.
상술한 실시예에서, 상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 읽기 명령을 수신할 수 있고,In the above-described embodiment, the USB-based cloud disk may receive a read command from a computer connected to the USB-based cloud disk,
상기 읽기 명령은 읽고자 하는 섹터의 ID(S0)를 포함하며, 상기 읽기 명령이 상기 업데이트 동작이 완료되기 전에 수신된 경우에는, 상기 저장공간 구성관리부는 업데이트 되기 전의 상기 원격공간 구성정보에 상기 섹터(S0)의 구성정보가 존재하는지 여부를 확인하며,The read command includes the ID (S0) of the sector to be read, and when the read command is received before the update operation is completed, the storage space configuration management unit adds the sector to the remote space configuration information before being updated. Check whether the configuration information of (S0) exists,
상기 섹터(S0)의 구성정보가 존재하지 않을 경우, 상기 저장공간 구성관리부는 상기 섹터(S0)의 구성정보를 생성하여 상기 업데이트 되기 전의 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행하며, When the configuration information of the sector S0 does not exist, the storage space configuration management unit generates the configuration information of the sector S0 and performs an update operation to add the configuration information to the remote space configuration information before being updated,
상기 섹터(S0)의 구성정보는, 상기 섹터(S0)에 저장할 섹터 데이터(data 0)를 전송할 원격 저장소와, 상기 섹터 데이터(data 0)을 저장할 Data path를 포함할 수 있다. The configuration information of the sector S0 may include a remote storage for transmitting
본 발명의 하나 이상의 실시예에 따르면, 섹터 단위로 데이터를 분할하여 원격 저장소에 저장이 가능하기 때문에, 원격 저장소에 저장된 데이터가 해킹이 되더라도 그러한 데이터는 해독되기가 어렵다. According to one or more embodiments of the present invention, since the data stored in the remote storage can be stored in the remote storage by dividing the data in sector units, even if the data stored in the remote storage is hacked, it is difficult to decrypt the data.
본 발명의 하나 이상의 실시예에 따르면, USB 호스트에 원격 저장소의 드라이브를 설치하지 않고서도, 원격 저장소에 데이터를 저장할 수 있고 원격 저장소에 저장된 데이터를 읽을 수 있다. In accordance with one or more embodiments of the present invention, data stored in the remote storage can be stored and data stored in the remote storage can be read without installing a drive of the remote storage on the USB host.
도 1 내지 도 4는 본 발명의 일 실시예에 따른 USB 기반의 클라우드 디스크를 이용한 데이터 관리 시스템을 설명하기 위한 도면들이다.
도 5는 본 발명의 일 실시예에 따른 USB 기반의 가상 클라우드 디스크를 설명하기 위한 도면이다.
도 6은 RSC 정보와 F/S 정보를 설명하기 위한 도면이다.
도 7은, 본 발명의 일 실시예에 따른 VCD(200)를 포맷하는 동작을 설명하기 위한 도면이다.
도 8은, 본 발명의 일 실시예에 따른 VCD(200)에 데이터를 쓰는 동작을 설명하기 위한 도면이다.
도 9는, 본 발명의 일 실시예에 따른 VCD(200)로부터 데이터를 읽는 동작을 설명하기 위한 도면이다.
도 10은 프로그램 형태의 클라우드 디스크를 설명하기 위한 도면이다.1 to 4 are diagrams for explaining a data management system using a USB-based cloud disk according to an embodiment of the present invention.
5 is a diagram for explaining a USB-based virtual cloud disk according to an embodiment of the present invention.
6 is a diagram for explaining RSC information and F/S information.
7 is a diagram for explaining an operation of formatting the
8 is a diagram for explaining an operation of writing data to the
9 is a diagram for explaining an operation of reading data from the
10 is a diagram for explaining a cloud disk in the form of a program.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.The above objects, other objects, features and advantages of the present invention will be easily understood through the following preferred embodiments in conjunction with 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 subject matter may be thorough and complete, and that 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, second, etc. are used to describe various components, but these components should not be limited by these terms. These terms are only used to distinguish one component from another. The embodiments described and illustrated herein also include complementary embodiments thereof.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase. As used herein, 'comprises' and/or 'comprising' does not exclude the presence or addition of one or more other elements.
용어의 정의Definition of Terms
본원 명세서에서, 용어 '소프트웨어'는 컴퓨터에서 하드웨어를 움직이는 기술을 의미하고, 용어 '하드웨어'는 컴퓨터를 구성하는 유형의 장치나 기기(CPU, 메모리, 입력 장치, 출력 장치, 주변 장치 등)를 의미하고, 용어 '단계'는 소정의 목을 달성하기 위해 시계열으로 연결된 일련의 처리 또는 조작을 의미하고, 용어 '프로그램'은 컴퓨터로 처리하기에 합한 명령의 집합을 의미하고, 용어 '기록 매체'는 프로그램을 설치하고 실행하거나 유통하기 위해 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 의미한다. As used herein, the term 'software' refers to a technology that moves hardware in a computer, and the term 'hardware' refers to a tangible device or device (CPU, memory, input device, output device, peripheral device, etc.) constituting the computer. The term 'step' refers to a series of processing or operations connected in time series to achieve a predetermined goal, the term 'program' refers to a set of instructions that are combined to be processed by a computer, and the term 'recording medium' refers to It means a computer-readable recording medium on which a program used to install, execute, or distribute a program is recorded.
본원 명세서에서, 용어 '실행'은 명시적인 언급이 없더라도, 프로그램이 컴퓨터 프로세서의 제어 하에 저장부에 로딩되어 동작하는 것을 의미한다. In the present specification, the term 'execution' means that a program is loaded into a storage unit and operated under the control of a computer processor, even if not explicitly mentioned.
본원 명세서에서, 용어 '파일 시스템'은 '컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제' 또는 '컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 프로그램'을 의미한다. 예를 들면, '파일 시스템'은 '저장장치, 입출력 제어, 기본 파일시스템, 파일조직 모듈, 가상 파일시스템'과 같이 여러 개의 계층을 포함하도록 구성되며, 여기서 가상 파일시스템은 컴퓨터의 OS(운영 체제)에 따라서 파일 시스템에 포함되거나(예를 들면, 리눅스와 같은 OS) 또는 포함되지 않을 수 있다(예를 들면, 윈도우와 같은 OS). 이하, 설명의 목적을 위해서, 본원 명세서에서 '파일 시스템'은 가상 파일 시스템이 포함되지 않은 파일 시스템, 가상 파일 시스템을 포함한 파일 시스템, 가상 파일 시스템 중 어느 하나를 의미하는 것으로 사용하기로 한다. As used herein, the term 'file system' refers to 'a system that stores or organizes files or data so that they can be easily found and accessed on a computer' or 'a program that stores or organizes files or data 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, virtual file system', where the virtual file system is the computer's operating system (OS). ), 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 description, in the present specification, a 'file system' will be used to mean any one of a file system not including a virtual file system, a file system including a virtual file system, and a virtual file system.
본원 명세서에서, 용어 'USB'(Universal Serial Bus)는 컴퓨터 등의 정보기기에 주변 장치를 연결하기 위한 직렬 버스 규격을 의미하거나 또는 'USB 저장장치'를 의미하는 것으로 사용하기로 한다.In this specification, the term 'USB' (Universal Serial Bus) is used to mean a serial bus standard for connecting peripheral devices to information devices such as computers or to mean 'USB storage device'.
본원 명세서에서, 용어 'USB 저장장치'는 USB 규격에 의해 데이터를 송수신 할 수 있는 기능을 가진 휴대용 저장장치를 의미한다. 'USB 저장장치'는, 데이터를 저장하면 삭제나 수정이 불가능한 롬(ROM)이나 삭제, 수정은 가능하지만 전원이 차단되면 모든 데이터가 사라지는 램(RAM)과 달리, 자유롭게 데이터를 저장하거나 삭제할 수 있으면서 전원이 꺼져도 데이터를 그대로 보존하는 기능을 가지고 있다. 한편, 'USB 저장장치'는 예를 들면 'USB 플래시 드라이브(USB flash drive) 또는 'USB 메모리'일 수 있다. In this 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 but loses all data when the power is turned off, a 'USB storage device' can store or delete data freely. It has a function to retain data even when the power is turned off. Meanwhile, the 'USB storage device' may be, for example, a 'USB flash drive or a 'USB memory'.
본원 명세서에서, 용어 '저장부'는 데이터를 일시적 또는 영구적으로 정할 수 있는 컴퓨터가 읽을 수 있는 구성 요소를 의미한다. '저장부'는, 예를 들면, 휘발성 메모리, 휘발성 메모리, 하드 디스크(Hard Disk) 및 솔리드 스테이트 디스크(solid state disk) 중 적어도 어느 하나를 지칭할 수 있다. As used herein, the term 'storage unit' refers to a computer-readable component that can temporarily or permanently set data. The 'storage unit' may refer to, for example, at least one of a volatile memory, a volatile memory, a hard disk, and a solid state disk.
본원 명세서에서, 용어 '데이터 관리 시스템'은 데이터를 관리하기 위한 시스템을 의미하며, 여기서 용어 '관리'는 데이터의 '수신', '송신', '저장', '수정', 및 '삭제'를 포함하는 의미이고, 용어 '부'는 어떤 기능을 수행하기 위한 프로그램을 의미한다. As used herein, the term 'data management system' means a system for managing data, where the term 'management' refers to 'receive', 'send', 'store', 'modify', and 'delete' of data. It is meant to include, and the term 'unit' means a program for performing a certain function.
본원 명세서에서, 용어 '디스크 세그먼트 매니지먼트 시스템'은 저장공간 관리부와 블록 데이터 연결부를 통칭하는 의미로 사용한다. In this specification, the term 'disk segment management system' is used to collectively refer to the storage space management unit and the block data connection unit.
이하, 도면들을 참조하여, 본 발명의 실시예들에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
도 5는 본 발명의 일 실시예에 따른 USB 기반의 가상 클라우드 디스크를 설명하기 위한 도면이다.5 is a diagram for explaining a USB-based virtual cloud disk according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일 실시예에 따른 USB 기반의 가상 클라우드 디스크(Virtual Cloud Disk: VCD)(200)는 컴퓨터(100)에 구비된 USB 포트(미 도시)에 동작적으로 연결된다. 본 명세서에서, 본 발명의 일 실시예에 따른 USB 기반의 가상 클라우드 디스크는 'VCD' 또는 'USB 저장장치'로서 종종 언급된다. Referring to FIG. 5 , a USB-based virtual cloud disk (VCD) 200 according to an embodiment of the present invention is operatively connected to a USB port (not shown) provided in the
컴퓨터(100)는 탐색기(101), 파일 시스템(103), 디스크 레이어(105), 저장부(미 도시), 운영 체제(미 도시), 및 이들 구성요소의 동작을 위한 하드웨어와 프로그램들(미 도시)을 포함할 수 있다.The
운영체제(미 도시)는 파일 시스템(103)과 디스크 레이어(105)를 포함하며, 디스크 레이어(105)는 하드 디스크(hard disk)와 같은 저장장치를 인식할 수 있다.The operating system (not shown) includes a
디스크 레이어(105)는, 또한, 하드 디스크의 구성 단위인 섹터에 대한 읽기 명령어와 쓰기 명령어를 파일 시스템(103) 으로부터 수신하여 하드 디스크에게 전달할 수 있다. 디스크 레이어(105)는, 또한, 하드 디스크로부터 받은 섹터 데이터를 파일 시스템(103)으로 전달할 수 있다. 도 5 내지 도 9를 참조하여 설명하는 실시예와, 도 1 내지 도 4를 참조하여 설명하는 실시예에서, 디스크 레이어(105)에 대한 명시적인 언급이 없더라도, 파일 시스템(103)과 VCD(200) 사이에 송수신 되는 데이터와 명령어는 디스크 레이어(105)를 경유한다.The
VCD(200)는, 인터넷을 통해서 원격 저장소(300)와 통신할 수 있는 통신부(미 도시), 컴퓨터 프로세서(미 도시), 및 컴퓨터 프로세서(미 도시)와 동작적으로 연결된 저장부(예를 들면, 휘발성 메모리 및 비휘발성 메모리를 포함)(미 도시), 디스크 세그먼트 매니지먼트 시스템, 및 다양한 동작을 수행하기 위한 하드웨어들, 및 프로그램(미 도시)을 포함할 수 있다. 이들 구성요소는 서로 동작적으로 연결되어 있다. The
디스크 세그먼트 매니지먼트 시스템은, 원격공간 구성정보를 관리할 수 있는 저장공간 구성관리부(미 도시)(이하, 'SCM')와 블록 데이터 연결부(미 도시)(이하, 'BDC')를 포함한다. The disk segment management system includes a storage space configuration management unit (not shown) (hereinafter, 'SCM') (hereinafter, 'SCM') capable of managing remote space configuration information and a block data connection unit (not shown) (hereinafter, 'BDC').
저장부(미 도시)는 프로그램들과 데이터들을 일시적 또는 영구적으로 저장할 수 있다. 예를 들면, SCM(미 도시)와 BDC(미 도시)는 저장부(미 도시)에 로딩되어 동작할 수 있다. 또한, 기본 데이터와 RSC 정보도 저장부(미 도시)에 일시적 또는 영구적으로 저장되어 SCM(미도시)와 BDC(미 도시)에 의해 사용될 수 있다.The storage unit (not shown) may temporarily or permanently store programs and data. For example, the SCM (not shown) and the BDC (not shown) may be loaded into a storage unit (not shown) to operate. Also, basic data and RSC information may be temporarily or permanently stored in a storage unit (not shown) and used by the SCM (not shown) and the BDC (not shown).
SCM(미 도시)은, VCD(200)가 컴퓨터(100)에 연결되었을 때, 컴퓨터 프로세서(미 도시)의 제어하에 저장부(미 도시)에 로딩되어 기본 데이터(가상공간 구성정보를 의미)와 원격공간 구성정보를 관리하는 동작을 수행한다. 본원 명세서에서, 원격공간 구성정보는 'RSC 정보' 라고 약칭하기로 한다.The SCM (not shown) is loaded into a storage unit (not shown) under the control of a computer processor (not shown) when the
SCM(미 도시), BDC(미 도시), 가상공간 구성정보, 및 원격공간 구성정보에 대한 보다 구체적인 예에 대하여는 도 1 내지 도 4를 참조하여 설명하는 실시예들을 참조하기 바란다. For more specific examples of SCM (not shown), BDC (not shown), virtual space configuration information, and remote space configuration information, refer to the embodiments described with reference to FIGS. 1 to 4 .
BDC(미 도시)는, VCD(200)가 컴퓨터(100)에 연결되었을 때, 컴퓨터 프로세서(미 도시)의 제어하에 저장부(미 도시)에 로딩되어 컴퓨터(100)로부터 읽기 명령과 쓰기 명령을 수신하는 동작을 수행할 수 있다. The BDC (not shown) is loaded into a storage unit (not shown) under the control of a computer processor (not shown) when the
BDC(미 도시)는, 또한, 원격 저장소(300)에게 섹터 데이터를 요청하거나 또는 섹터 데이터를 저장하라는 동작을 수행할 수 있다. The BDC (not shown) may also request sector data from the
VCD(200)가 컴퓨터(100)에 구비된 USB 포트에 연결되면, 컴퓨터(100)는 VCD(200)를 하드 디스크(Hard Disk) 또는 USB 메모리와 같은 저장장치로 인식한다. When the
이하의 설명에서 VCD(200)가 컴퓨터(100)에 연결된다는 표현은, VCD(200)가 USB 포트에 연결되는 것을 의미한다. In the following description, the expression that the
유저가 컴퓨터(100)에 저장된 파일(또는 임의의 저장장소에 저장된 파일)(이하, '대상 파일'이라고도 함)을 VCD(200)에 저장하고자 할 경우, 유저는 VCD(200)를 컴퓨터(100)에 연결하고 대상 파일을 VCD(200)로 저장하는 명령을 한다.When a user wants to store a file (or a file stored in an arbitrary storage location) (hereinafter, also referred to as a 'target file') stored in the
저장 명령을 받은 컴퓨터(100)는, 대상 파일을 하나 이상의 데이터로 분할하여 섹터들에 각각 할당하고, 섹터에 할당된 데이터(이하, '섹터 데이터')들을 VCD(200)에게 순차적으로 전송한다. Upon receiving the save command, the
파일 시스템(103)은, VCD(200)에서 제공하는 기본 데이터를 참조함으로써, 대상 파일을 몇 개의 섹터 데이터들로 분할할지를 알 수 있다. 파일 시스템(103)은, 또한, VCD(200)에 대한 F/S 정보를 참조함으로써, 어떠한 섹터들을 할당할지를 알 수 있다.The
VCD(200)는 컴퓨터(100)로부터 수신한 섹터 데이터들을 순차적으로 원격 저장소(300)에게 전송할 수 있다. 섹터 데이터들이 저장되는 실제 장소는 원격 저장소(300)이지만, 컴퓨터(100)는 섹터 데이터들을 VCD(200)가 저장하는 것으로 이해하고 취급한다. The
VCD(200)는 기본 데이터와 RSC 정보를 저장하여 관리한다. 예를 들면, SCM(미 도시)이 기본 데이터와 RSC 정보를 관리한다. The
기본 데이터는 원격 저장소(이하, '스토어 서버'라고도 언급되기도 함)의 타입, VCD(200)의 저장용량, 및 포맷 타입을 포함할 수 있다. VCD(200)는, 또한, 기본 데이터를 사용하여 섹터에 대한 구성정보를 생성하여 RSC 정보에 추가할 수 있다. The basic data may include a type of remote storage (hereinafter also referred to as a 'store server'), a storage capacity of the
포맷 타입은, 예를 들면, FAT(File Allocation Table), FAT32(File Allocation Table 32), NTFS(New Technology File system), 또는 exFAT(Extended FAT)와 같은 것일 수 있으나, 본원 발명이 그러한 것들 에만 한정되는 것은 아니다.The format type may be, for example, File Allocation Table (FAT), File Allocation Table 32 (FAT32), New Technology File system (NTFS), or Extended FAT (exFAT), but the present invention is limited thereto it's not going to be
RSC 정보는 섹터 ID, 섹터 데이터를 저장할 원격 저장소, 및 Data path를 포함한다. 여기서, Data path는 원격 저장소에서 섹터 데이터를 저장할 경로를 나타내며, 섹터 ID, 섹터 데이터를 저장할 원격 저장소, 및 Data path는 서로 연관되어 있다. The RSC information includes a sector ID, a remote storage to store sector data, and a data path. Here, the data path indicates a path to store sector data in the remote storage, and the sector ID, the remote storage to store the sector data, and the data path are related to each other.
RSC 정보와 기본 데이터는 VCD(200)에 구비된 저장부(미 도시), 또는 원격 저장소(300)가 아닌 다른 원격 저장소(300)(미 도시)에 저장되어 관리될 수 있다. The RSC information and basic data may be stored and managed in a storage unit (not shown) provided in the
도 6은 RSC 정보와 F/S 정보를 설명하기 위한 도면이다. 6 is a diagram for explaining RSC information and F/S information.
도 6을 참조하면, RSC 정보의 예로서 Table 2이 도시되어 있고, F/S 정보의 예로서 Table 1이 도시되어 있다.Referring to FIG. 6 , Table 2 is shown as an example of RSC information, and Table 1 is shown as an example of F/S information.
도 6을 참조하면, Table 2는 섹터들에 대한 각각의 구성정보를 포함한다.Referring to FIG. 6 , Table 2 includes configuration information for each sector.
구체적인 예를 들면, 섹터의 구성정보는 섹터 ID, Store type, 및 Data path를 포함하며, 섹터 ID, Store type, 및 Data path는 서로 연관되어 있다. As a specific example, the sector configuration information includes a sector ID, a store type, and a data path, and the sector ID, the store type, and the data path are related to each other.
Table 2를 참조하면, 섹터 ID가 S0인 섹터의 Data path는 'https://drive.google.com/disk1/sector0'이다. 여기서, 'sector0'는 S0 데이터의 원격공간 블록 ID일 수 있다. 또한 섹터 ID가 S3인 섹터의 Data path는, 'disk1, sector3' 인데, 여기서, 'sector3'가 원격공간 블록 ID일 수 있다. Referring to Table 2, the data path of the sector whose sector ID is S0 is ' https://drive.google.com/disk1/sector0 '. Here, 'sector0' may be a remote space block ID of S0 data. In addition, the data path of the sector whose sector ID is S3 is 'disk1, sector3', where 'sector3' may be a remote space block ID.
섹터의 구성정보에 포함된 섹터 ID는, 파일 시스템(103)이 부여한 것으로서, 도 1 내지 도 4의 실시예에서의 '가상공간 블록 ID'에 해당할 수 있다. The sector ID included in the sector configuration information is given by the
한편, Data path에는 원격공간 블록 ID가 포함되어 있고, 예를 들면, 'sector0', 'sector3'가 원격공간 블록 ID에 해당될 수 있다. 가상공간 블록 ID와 원격공간 블록 ID에 대한 보다 상세한 설명은 도 1 내지 도 4의 실시예를 참조하기 바란다. Meanwhile, the data path includes the remote space block ID, and for example, 'sector0' and 'sector3' may correspond to the remote space block ID. For a more detailed description of the virtual space block ID and the remote space block ID, refer to the embodiments of FIGS. 1 to 4 .
Store type는 섹터 데이터를 저장할 수 있는 원격 저장소를 정의한다. Store type의 예를 들면, 클라우드 스토리지, 데이터베이스, 또는 NAS(Network Attached Storage)와 같은 것일 수 있다. 클라우드 스토리지의 상업적 제품의 예를 들면, Google Drive(상표 명칭), OneDrive(상표 명칭), Dropbox(상표 명칭), MYBOX(상표 명칭), Baidu Cloud(상표 명칭)와 같은 것이 있을 수 있고, 데이터베이스의 상업적 제품의 예를 들면 MySQL(상표 명칭) 또는 Oracle(상표 명칭)이 있을 수 있다. Store type defines a remote store that can store sector data. For example, the store type may be cloud storage, database, or NAS (Network Attached Storage). Examples of commercial products of cloud storage, such as Google Drive (trade name), OneDrive (trade name), Dropbox (trade name), MYBOX (trade name), Baidu Cloud (trade name), Examples of commercial products may be MySQL (trade name) or Oracle (trade name).
Store type은 클라우드 스토리지, 데이터베이스, 또는 NAS(Network Attached Storage)와 같이 어떠한 종류의 원격 저장소(300)인지를 정의한 것이다. The store type defines a type of
Data path의 형식은 Store type 마다 다르다. 따라서, SCM(미도시)는 섹터의 구성정보를 생성할 때, 먼저 Store type을 결정하고, 결정한 Store type에서 지원하는 형식의 Data path를 생성한다. The format of the data path is different for each store type. Therefore, when generating sector configuration information, the SCM (not shown) first determines a store type and creates a data path of a format supported by the determined store type.
Data path는 섹터 데이터가 저장될 장소(place)를 나타내는 정보와 원격공간 블록 ID를 포함할 수 있다. 예를 들면, S4 데이터를 원격 저장소(300)에 저장하고자 할 경우, VCD(200)는 원격 저장소(300)인 Cloud storage에게 S4의 Data path와 S4 데이터를 전송한다. The data path may include information indicating a place where sector data is to be stored and a remote space block ID. For example, when S4 data is to be stored in the
S4의 Data path와 S4 데이터를 수신한 Cloud storage는, S4 데이터를 S4의 Data path에 저장한다. The data path of S4 and the cloud storage that has received the S4 data stores the S4 data in the data path of S4.
다른 예를 들면, VCD(200)가 원격 저장소(300)인 Database에 저장된 S10 데이터를 요청할 경우, VCD(200)는 Database에게 S10의 Data path를 전송하면서 S10의 데이터를 요청한다. Cloud storage는 S10의 Data path에 포함된 “disk1, sector10”를 키워드로 하여 S10 데이터를 찾아서 VCD(200)에게 전송한다. As another example, when the
도 6를 참조하면, F/S 정보는 파일과 섹터 ID를 포함하며, 파일에는 하나 이상의 섹터 ID가 대응(즉, 매핑)되어 있다. F/S 정보에 포함된 섹터 ID는 가상공간 블록 ID이다.Referring to FIG. 6 , F/S information includes a file and a sector ID, and one or more sector IDs are mapped (ie, mapped) to a file. The sector ID included in the F/S information is a virtual space block ID.
이제, 도 7 내지 도 9를 주로 참조하여, 포맷, 섹터 데이터 쓰기, 및 섹터 데이터 읽기 동작을 순차적으로 설명하기로 한다. 본원 명세서에서 RSC 정보, F/S 정보, 또는 명령어의 형태는 본 발명의 설명을 위한 예시적인 표현일 뿐, 본원 발명이 그러한 표현들에만 한정되는 것은 아니다.Now, the format, sector data write, and sector data read operations will be sequentially described with reference mainly to FIGS. 7 to 9 . In the present specification, the form of RSC information, F/S information, or instructions is only an exemplary representation for the description of the present invention, and the present invention is not limited to such representations.
포맷format
도 7은, 본 발명의 일 실시예에 따른 VCD(200)를 포맷하는 동작을 설명하기 위한 도면이다. 7 is a diagram for explaining an operation of formatting the
도 7을 참조하면, VCD(200)가 컴퓨터(100)에 연결되면, VCD(200)는 기본 데이터를 컴퓨터(100)에게 제공한다. VCD(200)는, RSC 정보(예를 들면, Table 2-1)를 읽어서 VCD(200)에 구비된 저장부(미 도시)(예를 들면, RAM과 같은 비휘발성 메모리)에 저장한다.Referring to FIG. 7 , when the
기본 데이터와 RSC 정보는 상술한 바와 같이 VCD(200)에 구비된 저장부(미 도시), 또는 원격 저장소(300)가 아닌 다른 임의의 원격 저장소(300)(미 도시)에 저장되어 VCD(200) 의해 관리될 수 있다. Basic data and RSC information are stored in a storage unit (not shown) provided in the
기본 데이터는 파일 시스템(103)에게 제공된다. 디스크 레이어(105)는 VCD(200)가 USB 포트가 연결되는 것을 인식하며, VCD(200)와 파일 시스템(103)의 사이에서 섹터 데이터의 전달, 읽기, 및 쓰기 동작을 수행한다.The basic data is provided to the
파일 시스템(103)은 기본 데이터에 포함된 포맷 타입을 참조하여, F/S 정보가 저장되는 섹터를 알 수 있다. 포맷 타입에 따라서 F/S 정보가 저장되는 섹터가 미리 정해져 있기 때문이다. 본 실시예에서는, F/S 정보가 섹터 0(이하, 'S0')에 저장된다고 가정한다. The
파일 시스템(103)은, VCD(200)의 F/S 정보를 알기 위해서, S0에 저장된 섹터 데이터를 읽으라는 읽기 명령어(READ (S0))를 VCD(200)에게 송신한다. 여기서, 'S0'는 섹터 ID이다.The
VCD(200)가 읽기 명령어(READ (S0))를 수신하면, SCM(미 도시)는 RSC 정보(Table 2-1)를 참조하고, RSC 정보(Table 2-1)에 S0의 구성정보가 있는지를 확인한다. When the
본 VCD(200)는 아직 포맷 전이므로, RSC 정보(Table 2-1)에는 S0의 구성정보가 존재하지 않는다. S0의 구성정보가 존재하지 않으면, SCM(미 도시)는 S0의 구성정보를 생성하고, 생성한 SO의 구성정보를 Table 2-1에 추가하는 업데이트 동작을 수행한다. 도 7에는, 업데이트된 Table 2-2가 예시적으로 표시되어 있다. Since this
SCM(미 도시)은 Table 2-1을 Table 2-2로 업데이트 하고, S0 데이터를 임시적으로 생성한다. 임시적으로 생성된 S0 데이터(이하, '임시 S0 데이터')는, 예를 들면, '0'으로만 이루어지거나 또는 '1'로만 이루어진 데이터일 수 있다. The SCM (not shown) updates Table 2-1 to Table 2-2 and temporarily creates S0 data. Temporarily generated S0 data (hereinafter, 'temporary S0 data') may be, for example, data composed of only '0' or only '1'.
VCD(200)는 임시 S0 데이터를 파일 시스템(103)에게 송신한다. 파일 시스템(103)은 임시 S0 데이터에 F/S 정보가 있는지 확인한다. 본 경우, 임시 S0 데이터에는 F/S 정보가 없으므로, 파일 시스템(103)은 F/S 정보를 생성한다. 파일 시스템(103)은, 생성한 F/S 정보를 S0에 저장하라는 쓰기 명령어(Write (data 0, S0))를 VCD(200)에게 전송한다. 여기서, data 0는 F/S 정보를 구성하는 데이터이다. The
Table 2-2에는 S0의 구성정보가 존재하므로, VCD(200)는 SO의 구성정보를 이용하여 원격 저장소(300)에게 data 0와 S0의 Data path를 전송한다. 예를 들면, Table 2-2에서, S0에 대한 Data path가 'https://drive.google.com/disk1/sector0' 이므로, BDC(미 도시)는 Google Drive에게 data O를 전송하면서 'https://drive.google.com/disk1/sector0'에 저장하라고 요청한다. Google Drive는 위 요청에 따라서 data 0를 'sector0'이라는 ID로 https://drive.google.com/disk1가 나타내는 장소에 저장한다. Since the configuration information of S0 exists in Table 2-2, the
도 7을 참조하여 상술한 포맷 동작에서의 일부의 동작들은 읽기 동작과 쓰기 동작에도 반복되는 동작들이다. 반복되는 동작들을 본원 명세서에서는 기본 동작이라고 지칭하기로 한다. 기본 동작은 VCD(200)가 컴퓨터(100)의 USB 포트에 연결될 때 마다 수행된다. 도 7을 참조하면, 기본 동작은 VCD(200)가 기본 데이터를 파일 시스템(103)으로 전송하는 동작부터 시작하여, VCD(200)로부터 S0 데이터를 파일 시스템(103)이 수신하여 F/S 정보가 포함되어 있는지 여부를 확인하는 동작까지의 일련의 동작들을 포함한다.Some of the operations in the format operation described above with reference to FIG. 7 are operations that are repeated even in the read operation and the write operation. Repeated operations will be referred to as basic operations in this specification. The basic operation is performed whenever the
데이터 쓰기write data
도 8은, 본 발명의 일 실시예에 따른 VCD(200)에 데이터를 쓰는 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an operation of writing data to the
도 8에서 VCD(200)는 도 7을 참조하여 설명한 포맷 동작이 완료된 상태이다. 따라서, RSC 정보가 Table 2-2 이고, F/S 정보는 도 7에서의 Table 1-1 이라고 가정하고, VCD(200)에 파일 jwk.jpg를 쓰는 동작을 설명하기로 한다.In FIG. 8 , the
VCD(200)가 컴퓨터(100)에 연결되면, VCD(200)와 컴퓨터(100) 사이에는 상술한 기본 동작이 수행된다. 예를 들면, SCM(미 도시)은 기본 데이터를 컴퓨터(100)에게 제공하고, Table 2-2를 읽어 와서 VCD(200)에 구비된 저장부(미 도시)에 저장한다. 파일 시스템(103)은 기본 데이터를 참조하여 F/S 정보에 할당된 섹터를 찾는다. When the
본 실시예에서, F/S 정보에 할당된 섹터는 S0이므로, 파일 시스템(103)은 읽기 명령어(READ (S0))를 VCD(200)에게 전송한다. SCM(미 도시)는 읽기 명령어(READ (S0))를 수신하면, 저장부(미 도시)에 저장되어 있는 Table 2-2를 참조한다. 본 예에서, Table 2-2에 S0의 구성정보가 존재하므로, VCD(200)는 원격 저장소(300)에게 S0의 Data path(예를 들면, https://drive.google.com/disk1/sector0)를 송신하면서 데이터를 요청한다.In the present embodiment, since the sector allocated to the F/S information is S0 , the
원격 저장소(300)는 S0의 Data path에 저장된 데이터를 찾아서 VCD(200) 에게 전송하고, VCD(200)는 그 데이터를 컴퓨터(100)에게 제공한다. 컴퓨터(100)는 S0 데이터에서 F/O 정보를 확인할 수 있다. F/O 정보에는 노드 정보(폴더와 파일들)가 포함되어 있다. 탐색기(101)는 그러한 노드 정보를 파일 시스템(103)으로부터 받아서, VCD(200)에 대응되는 가상 디스크(예를 들면, D)와, 이러한 가상 디스크의 하부에 위치된 폴더와 파일들에 대한 정보를 유저가 시각으로 볼 수 있도록 표시할 수 있다. The
컴퓨터(100)가, 대상 파일(예를 들면, jwk.jpg)를 VCD(200)로 복사(COPY)하라는 명령을 사용자로부터 수신한 경우, 컴퓨터(100)는 jwk.jpg의 데이터를 1개 이상으로 분할하여 섹터별로 할당한다. 예를 들면, jwk.jpg의 용량이 6KB이고, 섹터 용량이 4KB라고 가정하면, jwk.jpg 에 할당할 섹터는 2개가 필요하다. 즉, 파일 시스템(103)은 jwk.jpg 를 2개의 데이터로 분할하고, 분할한 2개의 데이터를 예를 들면 섹터 S3(이하, 'S3')와 섹터 S10(이하, 'S10')에 각각 할당한다. 편의상 S3에 할당된 데이터를 data 3, S10에 할당된 데이터를 data 10 라고 한다.When the
파일 시스템(103)은 명령어 WRITE(data 3, S3)를 VCD(200)에게 전송한다. VCD(200)가 명령어 WRITE(data 3, S3)를 수신하면, SCM(미 도시)는 Table 2-2를 참조하여 S3의 구성정보가 있는지 확인한다. S3의 구성정보는 Table 2-2에 포함되어 있지 않으므로, SCM(미 도시)는 S3의 구성정보를 생성하여 Table 2-2에 추가한다. 도 8에, S3에 대한 구성정보가 추가된 Table 2-3이 도시되어 있다. The
Table 2-3에서 S3의 Data path는 'disk1, sector3'로 되어 있다. 여기서, sector 3는 S3의 데이터에 대한 원격공간 블록 ID이다. In Table 2-3, the data path of S3 is 'disk1, sector3'. Here,
본 실시예에서, VCD(200)는 data 3의 Data path를 생성할 때, 파일 시스템(103)이 부여한 섹터 ID(즉, '가상공간 블록 ID')인 S3를, 원격공간 블록 ID인 'sector 3'로 변환한 것을 알 수 있다. In the present embodiment, when the
대안적으로(Alternatively), 가상공간 블록 ID와 원격공간 블록 ID를 동일하게 사용할 수 있고, 이러한 경우의 VCD(200)는 Data path를 생성할 때, 파일 시스템(103) 으로부터 수신한 섹터 ID를 원격공간 블록 ID로서 그대로 사용할 것이다. 후술할 PCD(2200)의 경우도 동일하다. Alternatively, the virtual space block ID and the remote space block ID may be used identically, and when the
Table 2-3은 Table 2-2가 업데이트된 것으로서, SCM(미 도시)는 항상 가장 최근에 업데이트된 원격 구성정보를 참조한다. Table 2-3 is an updated version of Table 2-2, and the SCM (not shown) always refers to the most recently updated remote configuration information.
섹터 S10(이하, 'S10')에 할당된 Data 10에 대하여도 위와 같이 설명한 것과 같은 방식으로 수행된다. 즉, WRITE((data 10, S10)를 VCD(200)가 수신하면, SCM(미 도시)는 먼저 Table 2-3에 S10의 구성정보가 있는지를 확인한다. S10의 구성정보가 없으면, S10의 구성정보를 생성하여 Table 2-3에 추가한다. Table 2-4는 Table 2-3이 업데이트된 것으로서, S10의 구성정보가 추가된 것이다. VCD(200)는 S10의 구성정보를 이용해서 원격 저장소(300)에 Data 10을 저장한다.
Table 2-3을 참조하면, S3 데이터가 저장되는 원격 저장소(300)는 데이터베이스이다. S3의 Data path는 'disk1, sector 3' 이다. 데이터베이스 타입의 원격 저장소(300)는 'disk1, sector 3' 라는 키워드를 이용해서, 특정 테이블의 특정 레코드의 특정 칼럼에 저장된 S3 데이터를 찾을 수 있다. Referring to Table 2-3, the
데이터 읽기read data
도 9는, 본 발명의 일 실시예에 따른 VCD(200)로부터 데이터를 읽는 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an operation of reading data from the
도 9에서 VCD(200)는 도 8을 참조하여 설명한 상태의 VCD(200)이다. 따라서, RSC 정보는 Table 2-4 이고, F/S 정보에는 파일과 S0, S3, S10가 대응되어 있다. In FIG. 9 , the
이하에서는, jwk.jpg를 읽는 동작을 설명한다.Hereinafter, the operation of reading jwk.jpg will be described.
VCD(200)가 컴퓨터(100)에 연결되면, VCD(200)와 컴퓨터(100) 사이에는 상술한 기본 동작이 수행된다. 즉, SCM(미 도시)는 기본 데이터를 컴퓨터(100)에게 제공하고, Table 2-4를 읽어 와서 VCD(200)에 구비된 저장부(미 도시)에 저장한다. 컴퓨터(100)의 파일 시스템(103)은 기본 데이터를 참조하여 F/S 정보에 할당된 섹터를 찾는다. When the
본 실시예에서, F/S 정보에 할당된 섹터는 S0이므로, 컴퓨터(100)는 읽기 명령어(READ (S0))를 VCD(200)에게 전송한다. VCD(200)가 읽기 명령어(READ (S0))를 수신하면, SCM(미 도시)는 저장부(미 도시)에 저장되어 있는 Table 2-4를 참조한다. In this embodiment, since the sector allocated to the F/S information is S0, the
BDC(미 도시)는 Table 2-4에 S0의 구성정보를 이용하여, 원격 저장소(300)에게 S0의 Data path(예를 들면, https://drive.google.com/disk1/sector0)를 전송하면서 데이터를 요청한다. The BDC (not shown) transmits the data path of S0 (eg, https://drive.google.com/disk1/sector0 ) to the
원격 저장소(300)는 S0의 Data path에 저장된 데이터(즉, S0 데이터)를 찾아서 VCD(200) 에게 전송하고, VCD(200)는 S0 데이터를 컴퓨터(100)에게 제공한다.The
컴퓨터(100)는 S0 데이터에서 F/O 정보를 확인할 수 있다. F/O 정보에는 노드 정보(폴더와 파일들)가 포함되어 있으며, 탐색기(101)는 그러한 노드 정보를 파일 시스템(103)으로부터 받아서, VCD(200)에 대응되는 가상 디스크(예를 들면, D)와, 이러한 가상 디스크의 하부에 위치된 폴더와 파일들에 대한 정보를 유저가 시각으로 볼 수 있도록 표시할 수 있다. The
이제, 사용자가 jwk.jpg를 읽으라고 선택하면, 컴퓨터(100)는 F/S 정보를 참조하여 jwk.jpg에 할당된 섹터들을 알 수 있다. Now, when the user selects to read jwk.jpg, the
컴퓨터(100)는 S3와 S10에 대한 읽기 명령어를 순차적으로 VCD(200)에게 전송한다. 예들 들면, 컴퓨터(100)가 읽기 명령어(READ (S3))를 VCD(200)에게 전송하면, SCM(미 도시)는 Table 2-4를 참조하여 S3의 구성정보가 있는지 확인한다.The
S3의 구성정보가 있으면, BDC(미 도시)는 S3의 구성정보에 포함된 Data path를 원격 저장소(300)에게 전송하면서 S3 데이터를 요청한다. 본 예에서, 데이터베이스인 원격 저장소(300)가 위 요청을 수신한다. 원격 저장소(300)는 S3의 Data path가 나타내는 곳에 저장된 데이터를 찾아서 VCD(200)에게 전송하고, VCD(200)는 그 데이터를 컴퓨터(100)에게 제공한다. S10 데이터도 S3와 같은 방식으로 읽힐 수 있다. If there is configuration information of S3, the BDC (not shown) requests S3 data while transmitting the data path included in the configuration information of S3 to the
이상에서, 도 5 내지 도 9를 참조하여, 본 발명에 따른 USB 기반의 클라우드 디스크의 다양한 실시예들에 대하여 설명하였다. 한편, 본원 발명은, 컴퓨터(100) 프로그램으로 구성된 클라우드 디스크(이하, '프로그램 형태의 클라우드 디스크' 라고 함)로도 구현이 가능하다. 즉, 본원 발명은 상술한 USB 기반의 클라우드 디스크를 장치가 아닌 컴퓨터 프로그램으로도 구성이 가능한다. In the above, various embodiments of the USB-based cloud disk according to the present invention have been described with reference to FIGS. 5 to 9 . Meanwhile, the present invention can also be implemented as a cloud disk (hereinafter, referred to as a 'program-type cloud disk') composed of a
도 10은 프로그램 형태의 클라우드 디스크를 설명하기 위한 도면이다. 10 is a diagram for explaining a cloud disk in the form of a program.
도 10을 참조하면, 본 발명의 일 실시예에 따른 프로그램 형태의 클라우드 디스크(2200)는 컴퓨터(100)에 설치되어 실행될 수 있다. 프로그램 형태의 클라우드 디스크(2200)는 파일 시스템(103) 및 원격 저장소(300)와 동작적으로 연결되어 있다. 도 5와 도 10에서 동작이 서로 동일하거나 유사한 구성요소들에 대하여는 동일한 도면부호를 부여하였다. Referring to FIG. 10 , the cloud disk 2200 in the form of a program according to an embodiment of the present invention may be installed and executed in the
도 10을 참조하면, 컴퓨터(100)는 통신부(109)를 포함하며, 본 발명의 일 실시예에 따른 프로그램 형태의 클라우드 디스크(이하, 'PCD')(2200)는, 통신부(100)를 통해서, 원격 저장소(300)에게 섹터 데이터를 저장하라고 요청하거나, 또는 원격 저장소(300)에게 섹터 데이터를 요청한다. Referring to FIG. 10 , the
PCD(2200)는 저장공간 구성관리부(미 도시)와 블록 데이터 연결부(미 도시)를 포함하며, 저장공간 구성관리부(미 도시)와 블록 데이터 연결부(미 도시)의 동작은, 도 5 내지 도 9를 참조하여 설명한 실시예들과, 도 1 내지 도 4를 참조하여 설명한 실시예들에서의 설명을 참조하기 바란다. The PCD 2200 includes a storage space configuration management unit (not shown) and a block data connection unit (not shown), and the operations of the storage space configuration management unit (not shown) and the block data connection unit (not shown) are shown in FIGS. 5 to 9 . Please refer to the descriptions in the embodiments described with reference to and the embodiments described with reference to FIGS. 1 to 4 .
이하에서, PCD(2200)의 동작을 상세히 설명하되, VCD(200)와의 차이점을 위주로 설명하기로 한다. PCD(2200)는 디스크 레이어(105)가 아닌 파일 시스템(103)과 동작적으로 연결된다. PCD(2200)가 사용자에 의해 컴퓨터(100)에서 실행되면, 파일 시스템(103)은 컴퓨터(100)에 구비된 USB 포트에 물리적인 USB 저장장치가 연결된 것으로 인식한다. PCD(2200)가 사용자에 의해 실행되면, PCD(2200)는 컴퓨터(100)에 구비된 USB 포트에 연결되었다는 가상의 신호(이하, '가상 연결 신호')를 생성하여, 파일 시스템(103)에게 송신한다. 가상 연결 신호를 수신한 파일 시스템(103)은 컴퓨터에 구비된 USB 포트에 PCD(2200)이 연결된 것처럼 인식한다. Hereinafter, the operation of the PCD 2200 will be described in detail, but differences from the
PCD(2200)는 기본 데이터를 파일 시스템(103)에게 전송한다. The PCD 2200 transmits basic data to the
도 10을 참조하면, 컴퓨터(100)의 유저가 대상 파일을 PCD(2200)에 저장하고자 할 경우, 유저는 대상 파일을 PCD(2200)로 저장하는 명령을 한다. 저장 명령을 받은 컴퓨터(100)는 대상 파일을 하나 이상의 데이터로 분할하여 섹터들에 각각 할당하고, 섹터에 할당된 데이터(이하, '섹터 데이터')들을 PCD(2200)에게 전송한다. Referring to FIG. 10 , when the user of the
PCD(2200)는 컴퓨터(100)로부터 수신한 섹터 데이터들을 순차적으로 원격 저장소(300)에게 전송한다. 대상 파일이 실제 저장되는 장소는 원격 저장소(300)이지만, 컴퓨터(100)는 대상 파일을 PCD(2200)가 저장하는 것으로 이해하고 취급한다. The PCD 2200 sequentially transmits sector data received from the
PCD(2200)는 도 5 내지 도 9를 참조하여 설명한 VCD(200)와 동일한 방식으로 기본 데이터와 RSC 정보를 저장하여 관리한다. 예를 들면, PCD(2200)는 기본 데이터를 사용하여 섹터의 구성정보를 생성할 수 있다. The PCD 2200 stores and manages basic data and RSC information in the same manner as the
RSC 정보와 기본 데이터는 컴퓨터(100)에 구비된 저장부(미도시), 또는 원격 저장소(300)가 아닌 다른 원격 저장소(300)(미 도시)에 저장되어 관리될 수 있다. The RSC information and basic data may be stored and managed in a storage unit (not shown) provided in the
PCD(2200)의 포맷 동작, 쓰기 동작, 및 읽기 동작도 VCD(200)에서의 동작들과 동일 또는 유사하다. A format operation, a write operation, and a read operation of the PCD 2200 are the same as or similar to the operations of the
본 발명의 일 실시예에 따른 PCD(2200)에서 포맷하는 동작을 도 10을 참조하여 설명하되, 도 5 내지 도 9와 설명의 일부를 같이 참조하기로 하기로 한다. An operation of formatting in the PCD 2200 according to an embodiment of the present invention will be described with reference to FIG. 10, but a part of the description will be referred to with FIGS. 5 to 9 as well.
PCD(2200)가 컴퓨터(100)에서 실행되면, PCD(2200)는 가상 연결 신호를 파일 시스템(103)에게 제공하고, 기본 데이터도 파일 시스템(103)에게 제공한다. 이후, PCD(2200)는, RSC 정보(예를 들면, 도 7의 테이블 2-1)를 읽어서 컴퓨터(100)에 구비된 저장부(미 도시)에 임시 저장한다.When the PCD 2200 is executed in the
파일 시스템(103)은 기본 데이터에 포함된 포맷 타입을 참조하여, F/S 정보가 저장될 섹터를 알 수 있다. 파일 시스템(103)은 F/S 정보를 알기 위해서 읽기 명령어(READ (S0))를 PCD(2200)에게 송신한다. The
PCD(2200)는 읽기 명령어(READ (S0))를 받으면, RSC 정보(Table 2-1)를 참조하고, RSC 정보(Table 2-1)에 S0의 구성정보가 있는지를 확인한다. RSC 정보(Table 2-1)에는 S0의 구성정보는 아직 존재하지 않으므로, PCD(2200)는 S0의 구성정보를 생성하여 Table 2-1에 추가하는 업데이트 동작을 한다. 도 7에서, Table 2-2는 Table 2-1이 업데이트 된 것이다. Upon receiving the read command (READ (S0)), the PCD 2200 refers to the RSC information (Table 2-1) and checks whether the configuration information of S0 is included in the RSC information (Table 2-1). Since the configuration information of S0 does not yet exist in the RSC information (Table 2-1), the PCD 2200 generates the configuration information of S0 and performs an update operation to add it to Table 2-1. 7, Table 2-2 is an updated version of Table 2-1.
PCD(2200)는 Table 2-1을 Table 2-2로 업데이트 하고, S0 임시 데이터를 생성한다. The PCD 2200 updates Table 2-1 to Table 2-2 and generates S0 temporary data.
PCD(2200)는 임시 S0 데이터를 파일 시스템(103)으로 제공한다. 파일 시스템(103)은 임시 S0 데이터에 F/S 정보가 없으므로, F/S 정보를 생성한다. 파일 시스템(103)은, 또한, 생성한 F/S 정보를 S0에 저장할 데이터(이하, 'data 0')로 만들고, 쓰기 명령어(Write (data 0, S0))를 PCD(2200)에게 전송한다. The PCD 2200 provides temporary SO data to the
PCD(2200)는 쓰기 명령어(Write(data 0, S0))를 수신하면, 원격 구성정보인 Table 2-2를 참조한다. Table 2-2에 S0의 구성정보가 존재하므로, PCD(2200)는 그 구성정보를 이용하여 원격 저장소(300)에게 S0 데이터인 data 0를 전송한다. 원격 저장소(300)는 위 요청에 따라서 data 0를 저장한다. When the PCD 2200 receives a write command (Write(
본 발명의 일 실시예에 따른 PCD(2200)에서 도 10을 참조하여 쓰기 동작을 설명하되, 도 5 내지 도 9와 설명의 일부를 같이 참조하기로 하기로 한다. A write operation in the PCD 2200 according to an embodiment of the present invention will be described with reference to FIG. 10 , but FIGS. 5 to 9 and a part of the description will be referred to together.
PCD(2200)가 상술한 바와 같이 포맷 동작이 완료된 상태라고 가정하고, 따라서, RSC 정보가 Table 2-2 이고, F/S 정보는 도 7의 Table 1-1 이라고 가정하고, 이러한 가정에서 PCD(2200)에 파일 jwk.jpg를 쓰는 동작을 설명하기로 한다.It is assumed that the PCD 2200 is in a state in which the format operation is completed as described above, therefore, it is assumed that the RSC information is Table 2-2 and the F/S information is Table 1-1 of FIG. 7 , and in this assumption, the PCD ( 2200), the operation of writing the file jwk.jpg will be described.
PCD(2200)가 컴퓨터(100)에서 실행되면, PCD(2200)는 가상 연결 신호를 파일 시스템(103)에게 제공하고, 기본 데이터도 파일 시스템(103)에게 제공한다. 이후, PCD(2200)는, RSC 정보(예를 들면, 도 7의 Table 2-2)를 읽어서 컴퓨터(100)에 구비된 저장부(미 도시)에 임시 저장한다.When the PCD 2200 is executed in the
파일 시스템(103)은 기본 데이터에 포함된 포맷 타입을 참조하여, F/S 정보가 저장된 섹터를 알 수 있다. 파일 시스템(103)은 F/S 정보를 알기 위해서 읽기 명령어(READ (S0))를 PCD(2200)에게 송신한다. PCD(2200)는 읽기 명령어(READ (S0))를 수신하면, 저장부(미 도시)에 저장되어 있는 Table 2-2를 참조한다. PCD(2200)는 Table 2-2에 존재하는 S0의 구성정보를 이용하여, 원격 저장소(300)에게 S0의 Data path를 보내면서 데이터를 요청한다.The
원격 저장소(300)는 S0의 Data path에 저장된 데이터를 찾아서 PCD(2200) 에게 전송하고, PCD(2200)는 그 데이터를 파일 시스템(103)에게 제공한다. The
이제, 사용자가 대상 파일 jwk.jpg를 PCD(2200)로 복사(COPY)한다고 가정하면, 파일 시스템(103)은 jwk.jpg 를 2개의 데이터로 분할하고, S3와 S10에 각각 할당한다. Now, assuming that the user copies the target file jwk.jpg to the PCD 2200, the
파일 시스템(103)은 명령어 WRITE(data 3, S3)를 PCD(2200)에게 전송한다. PCD(2200)는 Table 2-2를 참조하여 S3의 구성정보가 있는지 확인한다. S3의 구성정보는 Table 2-2에 포함되어 있지 않으므로, PCD(2200)는 S3의 구성정보를 생성하여 Table 2-2에 추가한다. 도 8에는, S3에 대한 구성정보가 추가된 테이블 Table 2-3으로 예시적으로 도시되어 있다. The
S10에 할당된 Data 10에 대하여도 위와 같이 설명한 것과 같은 방식으로 수행된다. 즉, WRITE((data 10, S10)를 수신한 PCD(2200)는, 먼저 Table 2-3을 참조하여 S10에 대한 구성정보가 있는지를 확인한다. S10에 대한 구성정보가 없으면, S10에 대한 구성정보를 생성하여 Table 2-3에 추가한다. Table 2-4는 Table 2-3이 업데이트된 것으로서, S10의 구성정보가 추가된 것이다. PCD(2200)는 S10에 대한 구성정보를 이용해서 원격 저장소(300)에 Data 10을 저장한다.
본 발명의 일 실시예에 따른 PCD(2200)에서 도 10을 참조하여 읽기 동작을 설명하되, 도 5 내지 도 9와 설명의 일부를 같이 참조하기로 하기로 한다. A read operation in the PCD 2200 according to an embodiment of the present invention will be described with reference to FIG. 10 , but FIGS. 5 to 9 and a part of the description will be referred to together.
도 10에서의 PCD(2200)는 포맷이 완료되고, 상술한 바와 같이 jwk.jpg가 PCD(2200)에 저장되었다고 가정한다. 한편, RSC 정보가 Table 2-4 (도 9를 참조)이고, F/S 정보에는 S0, S3, S10에 할당된 파일 정보가 포함되어 있다고 가정한다. It is assumed that the format of the PCD 2200 in FIG. 10 is completed, and jwk.jpg is stored in the PCD 2200 as described above. Meanwhile, it is assumed that RSC information is Table 2-4 (refer to FIG. 9), and F/S information includes file information allocated to S0, S3, and S10.
PCD(2200)가 컴퓨터(100)에서 실행되면, PCD(2200)는 가상 연결 신호를 파일 시스템(103)에게 제공하고, 기본 데이터도 파일 시스템(103)에게 제공한다. 이후, PCD(2200)는, RSC 정보(Table 2-4)를 읽어서 컴퓨터(100)에 구비된 저장부(미 도시)(예를 들면, RAM)에 임시 저장한다.When the PCD 2200 is executed in the
PCD(2200)는 기본 데이터를 파일 시스템(103)으로 제공한다. 파일 시스템(103)은 기본 데이터에 포함된 포맷 타입을 참조하여, F/S 정보가 저장될 섹터를 알 수 있다. 파일 시스템(103)은 F/S 정보를 알기 위해서 S0에 저장된 데이터를 읽으라는 읽기 명령어(READ (S0))를 PCD(2200)에게 송신한다. PCD(2200)는 읽기 명령어(READ (S0))를 수신하면, 저장부(미 도시)에 저장되어 있는 Table 2-4를 참조한다. PCD(2200)는 Table 2-4에 존재하는 S0의 구성정보를 이용하여, 원격 저장소(300)에게 S0 데이터를 요청한다The PCD 2200 provides basic data to the
원격 저장소(300)는 S0의 Data path에 저장된 데이터를 찾아서 PCD(2200) 에게 전송하고, PCD(2200)는 그 데이터를 파일 시스템(103)에게 제공한다. The
이제, 컴퓨터(100)에서 사용자가 대상 파일인 jwk.jpg를 읽으라고 선택하면, 파일 시스템(103)은 F/S 정보를 참조하여, jwk.jpg에 할당된 섹터들을 알아낸다. Now, when the user selects to read the target file jwk.jpg in the
파일 시스템(103)은 S3와 S10에 대한 읽기 명령어를 순차적으로 PCD(2200)에게 전송한다. 예들 들면, 컴퓨터(100)가 읽기 명령어(READ (S3))를 PCD(2200)에게 전송하면, PCD(2200)는 Table 2-4를 참조하여 S3의 구성정보가 있는지 확인한다. PCD(2200)는 S3의 Data path가 나타내는 원격 저장소(300)에게 S3 데이터를 요청한다. 원격 저장소(300)는 S3의 Data path가 나타내는 곳에 저장된 S3 데이터를 찾아서 PCD(2200)에게 전송하고, PCD(2200)는 원격 저장소(300)로부터 수신한 S3 데이터를 파일 시스템(103)에게 제공한다. 컴퓨터(100)는 S10 데이터도 S3와 같은 방식으로 PCD(2200)로부터 수신할 수 있다. The
도 5 내지 도 10을 참조하여 설명한 VCD(200)와 PCD(2200)에서는, F/S 정보에서 관리되는 섹터의 번호(즉, 가상공간 블록 ID)와, 원격 저장소(300)로 전송되는 섹터의 번호(즉, 원격공간 블록 ID)가 서로 다르게 구현된 실시예이다. 따라서, VCD(200)와 PCD(2200)는 원격저장소(300)로 전송하는 Data path를 생성할 때, 가상공간 블록 ID를 원격공간 블록 ID로 변환하였다. 한편, 대안적으로(alternatively), 가상공간 블록 ID와 원격공간 블록 ID를 서로 동일하게 구현한다면, VCD(200)와 PCD(2200)는 원격저장소(300)로 전송할 Data path를 생성할 때, 가상공간 블록 ID를 그대로 사용할 수 있을 것이다. In the
이하에서, 도 1 내지 도 4를 참조하여 설명될 USB 저장장치(200)에서도, Data path를 생성할 때, 가상공간 블록 ID를 원격공간 블록 ID로 변환하는 동작을 수행한다. 한편, 대안적으로(alternatively), 가상공간 블록 ID와 원격공간 블록 ID가 서로 동일하게 구현한다면, USB 저장장치(200)는 원격저장소(300)로 전송하는 Data path를 생성할 때, 가상공간 블록 ID를 그대로 사용할 수 있을 것이다. Hereinafter, even in the
도 1 내지 도 4는 본 발명의 일 실시예에 따른 USB 기반의 클라우드 디스크를 이용한 데이터 관리 시스템을 설명하기 위한 도면들이다. 한편, 도 1 내지 도 4에 도시된 구성요소들과, 도 5 내지 도 10에 도시된 구성요소들에 대하여 서로 동작이 동일 또는 유사한 것에 대하여는 동일한 도면부호를 부여하였다. 1 to 4 are diagrams for explaining a data management system using a USB-based cloud disk according to an embodiment of the present invention. Meanwhile, the same reference numerals are assigned to the components shown in FIGS. 1 to 4 and the components shown in FIGS. 5 to 10 that have the same or similar operations.
본 발명의 일 실시예에 따른 USB 기반의 클라우드 디스크를 이용한 데이터 관리 시스템(이하, '데이터 관리 시스템')은 본 발명의 일 실시예에 따른 USB 호스트(100), USB 저장장치(200), 원격 저장소(300), 및 무선통신단말(400)을 포함할 수 있다. 여기서, USB 저장장치(200)는 도 5 내지 도 9를 참조하여 설명한 VCD(200)일 수 있다.A data management system (hereinafter, 'data management system') using a USB-based cloud disk according to an embodiment of the present invention includes a
USB 호스트(100)는 컴퓨터 프로세서(미 도시), 기억부(예를 들면, 메모리나 HDD, RAM, 또는 ROM과 같이 데이터를 일시적 및/또는 영구적으로 저장할 수 있는 장치)(미 도시), 운영체제(미 도시), 주변기기(미 도시), 파일 시스템(103)과 같은 리소스(하드웨어와 프로그램)를 구비한 컴퓨터이다. USB 호스트(100)는 USB 저장장치(200)와 USB 규격에 의한 통신을 할 수 있다. The
USB 호스트(100)에 구비된 컴퓨터 프로세서(미 도시)와 기억부(미 도시), 운영체제(미 도시), 주변기기(미 도시), 및 파일 시스템(103)은 서로 동작적으로(operatively) 연결되어 있다. A computer processor (not shown), a storage unit (not shown), an operating system (not shown), a peripheral device (not shown), and a
파일 시스템(103)의 동작은 도 5 내지 도 10을 참조하여 설명한 파일 시스템(103)에서의 동작과 동일 또는 유사할 수 있다. The operation of the
USB 호스트(100)는 USB 커넥터(210)를 통해서 USB 저장장치(200)와 데이터 및/또는 요청(명령)을 서로 송수신할 수 있다. The
USB 저장장치(200)는 적어도 하나의 컴퓨터 프로세서(204), 기억부(예를 들면, RAM(206), ROM(208), 메모리(202)), USB 커넥터(210), 및 통신부(212)를 포함할 수 있다. USB 저장장치(200)는, 또한, 저장공간 구성관리부('SCM')(214), 블록 데이터 연결부('BDC')(218), USB 드라이버(220), 및 속성/블록 정보(216)를 포함할 수 있다. The
USB 저장장치(200)의 저장부(미 도시)는 프로그램들과 데이터들을 일시적 또는 영구적으로 저장할 수 있다. 예를 들면, USB 저장장치(200)의 저장부(미 도시)에 SCM(214)와 BDC(218)이 저장되어 동작될 수 있다. 또한, USB 저장장치(200)의 저장부(미 도시)는 기본 데이터와 RSC 정보를 일시적 또는 영구적으로 저장할 수 있다.The storage unit (not shown) of the
SCM(214), BDC(218), 및 USB 드라이버(220)와 같은 프로그램은 메모리(202)에 저장되어 있으며, 그 동작을 위해서 프로세서(204)의 제어하에 램(RAM)(206)에 로딩되어 실행될 수 있다. Programs such as the
USB 저장장치(200)의 컴퓨터 프로세서(204)와 메모리(202)는 동작적으로(operatively) 연결되어 있고, 또한 통신부(212)와도 동작적으로(operatively) 연결되어 있다. The
속성/블록 정보(216)는 가상공간 구성정보와 RSC 정보를 포함할 수 있다. The attribute/
속성/블록 정보(216)는 SCM(214)에 의해 관리(생성, 삭제, 변경)될 수 있다. The attribute/
가상공간 구성정보는 메모리(202)에 저장되어 있을 수 있고, RSC 정보는 메모리(202), 또는 임의 원격 저장소(원격 저장소(300)가 아닌 다른 원격 저장소)에 저장되어 있을 수 있다. RSC 정보가 임의 원격 저장소에 저장된 경우, USB 저장장치(200)가 컴퓨터(100)에 연결될 때 마다 RSC 정보는 USB 저장장치(200)로 이동 또는 복사될 수 있다. USB 저장장치(200)로 이동 또는 복사된 RSC 정보는 램(RAM)(206)으로 로딩되어 사용될 수 있다. The virtual space configuration information may be stored in the
가상공간 구성정보는 원격 저장소(300)의 주소(예를 들면, URL), 원격 저장소(300)의 타입, 원격 저장소(300)에 로그인을 할 수 있는 정보(사용자 아이디, 패스워드, 토큰), 포맷의 타입, 및 가상공간의 전체 사이즈(USB 저장장치(200)에서 제공하는 저장 용량)를 포함할 수 있다. 한편, 가상공간 구성정보는 블록의 저장 용량과 블록의 개수를 더 포함할 수 있다. 여기서, '블록'은 도 5 내지 도 10을 참조하여 설명한 '섹터'에 해당한다. The virtual space configuration information includes an address (eg, URL) of the
가상공간 구성정보는, 도 5 내지 도 10을 참조하여 설명한 '기본 데이터'에 해당될 수 있다. The virtual space configuration information may correspond to 'basic data' described with reference to FIGS. 5 to 10 .
F/S 정보는 '파일-가상공간 블록 매핑 데이터'를 포함한다. '파일-가상공간 블록 매핑 데이터'는 파일과 섹터들을 서로 대응시킨 것이다. 구체적으로, '파일-가상공간 블록 매핑 데이터'는 파일과 하나 이상의 가상공간 블록 ID를 대응시킨 것일 수 있다. 파일의 용량이 가상공간 블록의 크기보다 클 경우에는, 파일이 2개 이상의 데이터로 분할되고, 분할된 데이터들에 가상공간 블록ID가 각각 대응된다. The F/S information includes 'file-virtual space block mapping data'. 'File-virtual space block mapping data' is a correspondence between files and sectors. Specifically, the 'file-virtual space block mapping data' may correspond to a file and one or more virtual space block IDs. When the capacity of the file is larger than the size of the virtual space block, the file is divided into two or more pieces of data, and virtual space block IDs correspond to the divided data, respectively.
RSC 정보는 블록(즉, 섹터)의 구성정보를 포함한다. 블록의 구성정보는 각각의 블록에 대하여 원격 저장소의 타입(즉, Store type)과 데이터 패스(Data path)가 정의된 것이다. 예를 들면, 가상블록 ID, 원격 저장소의 타입, 및 데이터 페이스가 서로 대응되어 있다. The RSC information includes configuration information of a block (ie, a sector). In the block configuration information, the type of remote storage (ie, store type) and data path are defined for each block. For example, the virtual block ID, the type of remote storage, and the data face correspond to each other.
가상공간 구성정보는, '가상공간 블록-원격공간 블록 매핑 데이터'를 더 포함할 수 있다. '가상공간 블록-원격공간 블록 매핑 데이터'는 가상공간 블록 ID와 원격공간 블록 ID를 서로 대응시킨 데이터이다. The virtual space configuration information may further include 'virtual space block-remote space block mapping data'. The 'virtual space block-remote space block mapping data' is data in which a virtual space block ID and a remote space block ID are mapped to each other.
RSC 정보에 포함된 데이터 패스(Data path)는, 블록 데이터를 저장할 장소와, 원격공간 블록 ID를 포함한다. 즉, SCM(214)는, 어떤 블록에 대한 Data path를 생성할 때, '가상공간 블록-원격공간 블록 매핑 데이터'를 참조하여, 가상공간 블록 ID에 대응된 원격공간 블록 ID를 알아내서 상기 블록의 Data path에 포함시킨다. A data path included in the RSC information includes a place to store block data and a remote space block ID. That is, when generating a data path for a certain block, the
RSC 정보와 F/S 정보에 대하여는 도 5 내지 도 10을 참조하여 상세히 설명한 바가 있으므로, 여기서는 생략하기로 한다. Since the RSC information and the F/S information have been described in detail with reference to FIGS. 5 to 10, they will be omitted here.
통신부(212)는 원격 저장소(300)와의 통신을 지원한다. 예를 들면, 통신부(212)는 와이파이나 블루투스 통신과 같이 무선 통신을 지원하는 하드웨어일 수 있고, 이를 위한 프로그램은 저장부에 저장되어 있거나 또는 통신부에 펌웨어의 형태로 저장되어 있을 수 있다. The
여기서, '와이 파이'(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). short-distance communication technology capable of 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. It is a short-distance data communication technology between electronic devices using short-wave UHF radio waves of 2.4-2.485 GHz included in the ISM band, and is used for personal computers. It is a technology employed for the purpose of exchanging 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 mice and keyboards. Bluetooth is registered as IEEE 802.15.1 in the IEEE, and is a technology managed through the Bluetooth Special Interest Group (SIG).
SCM(214)는, 블록에 대한 RSC 정보를 생성할 수 있다. 예를 들면, SCM(214)는, 원격 저장소(300)에게 전송할 블록 데이터에 대한 Data path를 생성할 수 있다. SCM(214)는, Data path를 생성할 경우, 파일 시스템(103)이 부여한 가상공간 블록 ID를 원격공간 블록 ID로 변환하고, 변환된 원격공간 블록 ID가 Data path에 포함되도록 한다.The
SCM(214)는 RSC 정보를 업데이트할 수 있다. USB 저장장치(200)가 WRITE (S4, data 4)를 수신하면, SCM(214)는 RSC 정보에 S4의 구성정보가 있는지 확인하고 만약 S4의 구성정보가 없다면 S4의 구성정보를 생성하여 RSC 정보에 추가한다. The
SCM(214)는, 가상공간 구성정보를 참조하여 S4의 구성정보를 생성할 수 있다. 예를 들면, SCM(214)는 가상공간 구성정보에 포함된 사용 가능한 '원격 저장소'를 선택하고, 가상공간 블록 ID에 대응시킬 원격공간 블록 ID를 할당하고, S4의 블록 데이터를 저장할 Data path를 생성한다. The
한편, USB 저장장치(200)가 READ(S3)를 수신하면, SCM(214)는 RSC 정보에 S3의 구성정보가 존재하는지 확인하고, 만약 존재하면 S3의 구성정보를 BDC(218)에게 제공한다. BDC(218)는 S3의 구성정보를 이용하여 원격 저장소(300)에게 블록 데이터를 요청한다. On the other hand, when the
본 실시예에서, SCM(214)가 관리하는 가상 저장공간은 USB 저장장치(200) 내에 물리적으로 존재하는 공간은 아니며, 가상 저장공간에 대응된 실제적인 물리적인 저장공간은 원격 저장소(300)에 존재한다. In this embodiment, the virtual storage space managed by the
USB 저장장치(200)가 관리하는 가상 저장공간의 전체 크기(용량)는 사용자에 의해 설정되거나 또는 고정된 것일 수 있다. 한편, 가상공간 블록의 크기도 사용자에 의해 정해질 수 있다. SCM(214)는 가상공간 블록의 크기를 설정하고 관리할 수 있다. The total size (capacity) of the virtual storage space managed by the
사용자는 USB 호스트(100)에 설치된 앱이나 브라우저를 통해서 가상 저장공간의 용량과 가상공간 블록의 크기를 설정할 수 있고, SCM(214)는 상기 앱이나 브라우저와 동작적으로 연결되어 있으며, SCM(214)는 사용자가 설정한 가상 저장공간의 용량과 가상공간 블록의 크기를 속성/블록 정보(216)에 포함시켜서 관리한다. The user can set the virtual storage space capacity and virtual space block size through an app or browser installed on the
BDC(218)는, 파일 시스템(103)으로부터 어떤 블록(예를 들면, S4)에 대한 읽기 명령을 수신할 경우, 블록(S4)에 대한 RSC 정보를 사용하여 원격 저장소(300)에게 블록 데이터를 요청하고, 원격 저장소(300)로부터 수신할 수 있다.When the
또한, 파일 시스템(103)으로부터 어떤 블록(S5)에 데이터를 저장하라는 쓰기 명령을 수신할 경우, SCM(214)는 블록(S5)에 대한 RSC 정보를 생성하고, BDC(218)는 생성된 상기 RSC 정보를 사용하여 원격 저장소(300)에게 블록 데이터를 저장하라고 요청할 수 있다. In addition, when receiving a write command to store data in a certain block S5 from the
BDC(218)는 USB 드라이버(220)와 데이터, 요청, 각종 ID 등과 같은 정보들을 송수신 할 수 있는 인터페이스와 원격 저장소(300)와 데이터, 요청, 각종 ID 등과 같은 정보들을 송수신 할 수 있는 인터페이스를 제공한다. The
무선통신단말(400)은 엑세스 포인트(AP)로서의 기능을 수행하고, USB 저장장치(200)로부터 데이터를 수신하여 원격 저장소(300)에게 전송하고, 원격 저장소(300)로부터 데이터를 수신하여 USB 저장장치(200)에게 전송한다.The
무선통신단말(400)은 USB 저장장치(200)와의 근거리 통신을 위한 기능을 구비하며, 예를 들면 와이파이나 블루투스와 같은 통신 기능을 구비할 수 있다. The
무선통신단말(400)은 스마트폰(Smartphone) 또는 PDA(Personal Digital Assistant, 개인용 정보 단말기)와 같이 데이터 통신 기능을 구비한 장치일 수 있다. The
원격 저장소(300)는 인터넷과 같은 통신망을 통해서 연결될 수 있는 저장장치로서, 예를 들면 마이크로소프트의 원드라이브, 네이버 클라우드, 구글 클라우드, 드롭박스, 또는 바이두(이들은 모두 서비스표 또는 상표 명칭임)와 같은 저장장치일 수 있다. The
원격 저장소(300)는 USB 저장장치(200)로부터 수신한 블록 데이터를 Data path가 나타내는 장소에 저장한다. 한편, 원격 저장소(300)는 Data path에 포함된 '원격공간 블록ID'를 상기 블록 데이터의 ID로 사용할 수 있다. 예를 들면, 원격 저장소(300)가, 'https://drive.google.com/disk1/sector2'라는 Data path를 수신하였을 때, 'sector2'를 블록 데이터의 ID로 사용할 수 있다. The
대안적으로(Alternatively), 원격 저장소(300)는 블록 데이터의 ID를 Data path에 포함된 원격공간 블록 ID가 아닌 다른 것으로 사용할 수 있다. 이러한 경우, 원격 저장소(300)는 원격공간 블록 ID와 원격 저장소(300)가 사용하는 블록 데이터의 ID를 서로 대응시킨 데이터를 자신(300)이 관리할 것이다. Alternatively, the
본 데이터 관리 시스템의 일 실시예에 따르면, 데이터 저장은 다음과 같이 이루어질 수 있다. According to an embodiment of the present data management system, data storage may be performed as follows.
USB 호스트(100)가 USB 저장장치(200)에게 블록(예를 들면, S7)에 저장될 블록 데이터를 전송하면, USB 저장장치(200)는 상기 블록 데이터를 저장할 RSC 정보를 생성한다. USB 저장장치(200)는 무선통신단말(400)을 통해서 원격 저장소(300)에게 블록 데이터와 Data path를 전송한다. 원격 저장소(300)는 USB 저장장치(200)로부터 전송받은 데이터를 Data path가 나타내는 장소에 저장한다. When the
본 데이터 관리 시스템의 일 실시예에 따르면, 데이터 읽기는 다음과 같이 이루어질 수 있다. According to an embodiment of the present data management system, data reading may be performed as follows.
USB 호스트(100)가 USB 저장장치(200)에게 어떤 블록(예를 들면, S8)에 저장된 데이터의 읽기를 요청하면, USB 저장장치(200)는 상기 블록(S8)의 공간 구성정보를 참조한다. 이후, USB 저장장치(200)는, 원격 저장소(300)에게 상기 블록(S8)의 공간 구성정보에 포함된 Data path를 전송하면서 상기 블록(S8)에 저장된 데이터를 요청한다. 원격 저장소(300)는 Data path에 저장된 데이터를 읽어와서 USB 저장장치(200)에게 전송한다. USB 저장장치(200)는 원격 저장소(300)로부터 수신한 데이터를 컴퓨터(100)의 파일 시스템(103)에게 전송한다. When the
본 발명의 일 실시예에 따르면 USB 기반의 클라우드 디스크를 이용한 데이터 관리 방법(이하, '데이터 관리 방법')이 제공되며, 본 데이터 관리 방법은, USB 저장장치가, USB 저장장치의 호스트로부터, 섹터(예를 들면, S13)에 데이터(예를 들면, data 13)의 쓰기 요청을 수신하는 단계; 쓰기 요청에 대응하여 상기 섹터(S13)에 대한 RSC 정보를 생성하는 단계; 상기 RSC 정보에 포함된 상기 섹터(S13)의 Data path와, 상기 데이터(data 13)를 원격 저장소에게 전송하는 단계; 및 상기 원격 저장소가 상기 데이터(data 13)를 상기 Data path가 나타내는 장소에 저장하는 단계;를 포함할 수 있다.According to an embodiment of the present invention, there is provided a data management method (hereinafter, 'data management method') using a USB-based cloud disk, wherein the data management method includes a USB storage device, a host of the USB storage device, a sector receiving a write request of data (eg, data 13) to (eg, S13); generating RSC information for the sector (S13) in response to a write request; transmitting the data path of the sector (S13) and the data (data 13) included in the RSC information to a remote storage; and storing, by the remote storage, the data (data 13) in a location indicated by the data path.
또한, 본 발명의 일 실시예에 따른 데이터 관리 방법은, USB 저장장치가 USB 저장장치의 호스트로부터, 섹터(예를 들면, S14)에 저장된 데이터의 읽기 요청을 수신하는 단계; 읽기 요청에 대응하여 상기 섹터(S14)에 대한 RSC 정보를 참조하는 단계; 상기 RSC 정보에 포함된 상기 섹터(S14)의 Data path를 원격 저장소에게 전송하는 단계; 및 상기 원격 저장소가 상기 Data path가 나타내는 장소에 저장된 데이터를 찾아서 상기 USB 저장장치에게 제공하는 단계;를 포함할 수 있다. In addition, the data management method according to an embodiment of the present invention, the USB storage device receiving, from a host of the USB storage device, a read request of data stored in a sector (eg, S14); referencing RSC information for the sector (S14) in response to a read request; transmitting the data path of the sector (S14) included in the RSC information to a remote storage; and finding, by the remote storage, data stored in a location indicated by the data path and providing the data to the USB storage device.
상술한 방법 들에서, RSC 정보에 대한 설명은 도 1 내지 도 10의 설명을 참조하기 바란다. In the above-described methods, for a description of the RSC information, refer to the description of FIGS. 1 to 10 .
상술한 데이터 관리 방법은, 상술한 데이터 관리 시스템에 의해서 구현이 가능하며, 이하에서는 본 데이터 관리 방법이 상술한 데이터 관리 시스템에 적용된 예를 설명하기로 한다. 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)의 프로세서가 본 데이터 관리 방법을 수행하도록 하는 프로그램이 저장되어 있다. 본 데이터 관리 방법을 수행하도록 하는 프로그램은, SCM(214)와 BDC(218)를 포함한다.In the memory included in the
본 발명의 일 실시예에 따른 데이터 관리 방법이 제공되며, 본 데이터 관리 방법은, 디스크 세그먼트 매니지먼트 시스템이 USB 저장장치의 호스트로부터, 섹터(예를 들면, S13)에 데이터(예를 들면, data 13)의 쓰기 요청을 수신하는 단계; 쓰기 요청에 대응하여 디스크 세그먼트 매니지먼트 시스템이 상기 섹터(S13)에 대한 RSC 정보를 생성하는 단계; 디스크 세그먼트 매니지먼트 시스템이 상기 RSC 정보에 포함된 상기 섹터(S13)의 Data path와, 상기 데이터(data 13)를 원격 저장소에게 전송하는 단계; 및 상기 원격 저장소가 상기 데이터(data 13)를 상기 Data path가 나타내는 장소에 저장하는 단계;를 포함할 수 있다.A data management method according to an embodiment of the present invention is provided, in which a disk segment management system stores data (eg, data 13) in a sector (eg, S13) from a host of a USB storage device. ) of receiving a write request; generating, by the disk segment management system, RSC information for the sector (S13) in response to a write request; transmitting, by a disk segment management system, a data path of the sector (S13) included in the RSC information and the data (data 13) to a remote storage; and storing, by the remote storage, the data (data 13) in a location indicated by the data path.
또한, 본 발명의 일 실시예에 따른 데이터 관리 방법은, 디스크 세그먼트 매니지먼트 시스템이 USB 저장장치의 호스트로부터, 섹터(예를 들면, S14)에 저장된 데이터의 읽기 요청을 수신하는 단계; 읽기 요청에 대응하여 디스크 세그먼트 매니지먼트 시스템이 상기 RSC 정보에 포함된 상기 섹터(S14)의 Data path를 원격 저장소에게 전송하는 단계; 및 상기 원격 저장소가 상기 Data path가 나타내는 장소에 저장된 데이터를 찾아서 상기 USB 저장장치에게 제공하는 단계;를 포함할 수 있다. In addition, a data management method according to an embodiment of the present invention includes: receiving, by a disk segment management system, a read request for data stored in a sector (eg, S14) from a host of a USB storage device; transmitting, by the disk segment management system, the data path of the sector (S14) included in the RSC information to a remote storage in response to a read request; and finding, by the remote storage, data stored in a location indicated by the data path and providing the data to the USB storage device.
이와 같이 본 발명은 기재된 실시예에 한정되는 것이 아니고, 본 발명의 사상 및 범위를 벗어나지 않고 다양하게 수정 및 변형할 수 있음은 이 기술의 분야에서 통상의 지식을 가진 자에게 자명하다. 따라서 그러한 수정예 또는 변형예들은 본 발명의 특허청구범위에 속한다 하여야 할 것이다.As such, the present invention is not limited to the described embodiments, and it is apparent to those skilled 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 claims of the present invention.
[부호의 설명]
USB 호스트: 100
탐색기: 101
파일 시스템: 103
디스크 레이어: 105
통신부: 109
USB 저장장치: 200
프로그램 형태의 클라우드 디스크: 2200
원격 저장소: 300
무선단말장치: 400[Explanation of code]
USB Host: 100 Explorer: 101
File system: 103 Disc layer: 105
Communication department: 109 USB storage device: 200
Cloud disk in program form: 2200
Remote Storage: 300 Wireless Terminal: 400
Claims (6)
컴퓨터 프로세서;
상기 컴퓨터 프로세서와 동작적으로 연결된 저장부;
원격공간 구성정보를 관리하는 저장공간 구성관리부;
블록 데이터 연결부; 및
상기 컴퓨터 프로세서와 동작적으로 연결된 통신부;를 포함하며,
상기 저장공간 구성관리부와 상기 블록 데이터 연결부는 상기 컴퓨터 프로세서의 제어 하에 상기 저장부에 로딩되어 동작될 수 있고,
상기 원격공간 구성정보는, 섹터 ID, 섹터 데이터가 저장될 원격 저장소, 및 섹터 데이터의 Data path를 포함하며, 상기 섹터 ID, 상기 원격 저장소, 및 상기 Data path는 서로 연관되어 있고,
상기 Data path는 상기 원격 저장소에서 상기 섹터 데이터가 저장되는 장소를 나타내고,
상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 쓰기 명령을 수신할 수 있고,
상기 쓰기 명령은 섹터 데이터(data 1)와, 섹터 데이터(data 1)를 저장할 섹터의 ID(S1)를 포함하며,
상기 USB 기반의 클라우드 디스크가 상기 쓰기 명령을 수신하면, 상기 저장공간 구성관리부는 상기 섹터(S1)의 구성정보를 생성하며,
상기 섹터(S1)의 구성정보는, 상기 섹터 데이터(data 1)를 전송할 원격 저장소와, 상기 섹터 데이터(data 1)을 저장할 Data path를 포함하며,
상기 블록 데이터 연결부는 상기 섹터 데이터(data 1)와 상기 섹터 데이터(data 1)의 Data path를, 상기 섹터(S1)의 구성정보에 포함된 원격 저장소에게 상기 통신부를 통해서 전송하는 것인, USB 기반의 클라우드 디스크.In the USB-based cloud disk,
computer processor;
a storage unit operatively coupled to the computer processor;
a storage space configuration management unit for managing remote space configuration information;
block data connection; and
and a communication unit operatively connected to the computer processor;
The storage space configuration management unit and the block data connection unit may be loaded and operated in the storage unit under the control of the computer processor,
The remote space configuration information includes a sector ID, a remote storage in which sector data is to be stored, and a data path of the sector data, wherein the sector ID, the remote storage, and the data path are associated with each other;
The Data path indicates a place in the remote storage where the sector data is stored,
From a computer connected to the USB-based cloud disk, the USB-based cloud disk may receive a write command,
The write command includes sector data (data 1) and an ID (S1) of a sector to store sector data (data 1),
When the USB-based cloud disk receives the write command, the storage space configuration management unit generates configuration information of the sector S1,
The configuration information of the sector S1 includes a remote storage to transmit the sector data data 1 and a data path to store the sector data data 1,
The block data connection unit transmits the sector data (data 1) and the data path of the sector data (data 1) to the remote storage included in the configuration information of the sector (S1) through the communication unit. of cloud disk.
상기 저장공간 구성관리부는, 상기 섹터(S1)의 구성정보를 생성하기에 앞서, 상기 원격공간 구성정보에 상기 섹터(S1)의 구성정보가 있는지 여부를 확인하고 없을 경우에 상기 섹터(S1)의 구성정보를 생성하고, 생성한 상기 섹터(S1)의 구성정보를 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행하는 것인, USB 기반의 클라우드 디스크.According to claim 1,
The storage space configuration management unit checks whether the configuration information of the sector S1 is present in the remote space configuration information before generating the configuration information of the sector S1, and if there is no configuration information of the sector S1, A USB-based cloud disk that generates configuration information and performs an update operation of adding the generated configuration information of the sector S1 to the remote space configuration information.
상기 블록 데이터 연결부가 상기 원격 저장소로 전송하는 상기 섹터 데이터(data 1)와 상기 섹터 데이터(data 1)의 Data path는, 상기 블록 데이터 연결부가 업데이트된 상기 원격공간 구성정보로부터 얻은 것인, USB 기반의 클라우드 디스크.3. The method of claim 2,
The data path of the sector data (data 1) and the sector data (data 1) that the block data connection unit transmits to the remote storage is obtained from the updated remote space configuration information by the block data connection unit, USB-based of cloud disk.
상기 섹터 데이터(data 1)을 저장할 Data path는, 상기 섹터 데이터(data 1)을 저장할 장소와, 상기 섹터 데이터(data 1)에 대한 원격공간 블록 ID를 포함하며,
상기 쓰기 명령에 포함된 섹터의 ID(S1)는 가상공간 블록 ID이고,
상기 가상공간 블록 ID와 상기 원격공간 블록 ID는 서로 매핑되어 있는 것인, USB 기반의 클라우드 디스크.According to claim 1,
The data path to store the sector data (data 1) includes a place to store the sector data (data 1) and a remote space block ID for the sector data (data 1),
The sector ID (S1) included in the write command is a virtual space block ID,
The virtual space block ID and the remote space block ID are mapped to each other, USB-based cloud disk.
상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 읽기 명령을 수신할 수 있고,
상기 읽기 명령은 읽고자 하는 섹터의 ID(S3)를 포함하며
상기 읽기 명령이 상기 업데이트 동작이 완료된 후에 수신된 경우에는, 상기 저장공간 구성관리부는 업데이트된 상기 원격공간 구성정보에 상기 섹터(S3)의 구성정보가 존재하는지 여부를 확인하며,
상기 섹터(S3)의 구성정보가 존재할 경우, 상기 블록 데이터 연결부는 상기 섹터(S3)의 구성정보에 포함된 원격 저장소에게 상기 섹터(S3)의 Data path를 상기 통신부를 통해서 상기 원격 저장소로 전송하고, 상기 원격 저장소로부터 상기 섹터(S3)의 Data path에 저장된 데이터를 상기 통신부를 통해서 수신하며,
상기 USB 기반의 클라우드 디스크는 상기 읽기 명령을 송신한 상기 컴퓨터에게 상기 통신부를 통해서 수신한 상기 데이터를 전송하는 것인, USB 기반의 클라우드 디스크3. The method of claim 2,
From a computer connected to the USB-based cloud disk, the USB-based cloud disk may receive a read command,
The read command includes the ID (S3) of the sector to be read,
When the read command is received after the update operation is completed, the storage space configuration management unit checks whether the configuration information of the sector S3 exists in the updated remote space configuration information,
When the configuration information of the sector S3 exists, the block data connection unit transmits the data path of the sector S3 to the remote storage included in the configuration information of the sector S3 to the remote storage through the communication unit, , receives data stored in the data path of the sector S3 from the remote storage through the communication unit,
The USB-based cloud disk transmits the data received through the communication unit to the computer that has transmitted the read command, the USB-based cloud disk
상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 읽기 명령을 수신할 수 있고,
상기 읽기 명령은 읽고자 하는 섹터의 ID(S0)를 포함하며
상기 읽기 명령이 상기 업데이트 동작이 완료되기 전에 수신된 경우에는, 상기 저장공간 구성관리부는 업데이트 되기 전의 상기 원격공간 구성정보에 상기 섹터(S0)의 구성정보가 존재하는지 여부를 확인하며,
상기 섹터(S0)의 구성정보가 존재하지 않을 경우, 상기 저장공간 구성관리부는 상기 섹터(S0)의 구성정보를 생성하여 상기 업데이트 되기 전의 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행하며,
상기 섹터(S0)의 구성정보는, 상기 섹터(S0)에 저장할 섹터 데이터(data 0)를 전송할 원격 저장소와, 상기 섹터 데이터(data 0)을 저장할 Data path를 포함하는 것인, USB 기반의 클라우드 디스크.3. The method of claim 2,
From a computer connected to the USB-based cloud disk, the USB-based cloud disk may receive a read command,
The read command includes the ID (S0) of the sector to be read,
If the read command is received before the update operation is completed, the storage space configuration management unit checks whether the configuration information of the sector S0 exists in the remote space configuration information before being updated,
When the configuration information of the sector S0 does not exist, the storage space configuration management unit generates the configuration information of the sector S0 and performs an update operation to add the configuration information to the remote space configuration information before being updated,
The configuration information of the sector S0 includes a remote storage to transmit sector data (data 0) to be stored in the sector S0 and a data path to store the sector data (data 0), a USB-based cloud disk.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210052838A KR20220146043A (en) | 2021-04-23 | 2021-04-23 | USB based cloud disk and disk segment management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210052838A KR20220146043A (en) | 2021-04-23 | 2021-04-23 | USB based cloud disk and disk segment management system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220146043A true KR20220146043A (en) | 2022-11-01 |
Family
ID=84042149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210052838A KR20220146043A (en) | 2021-04-23 | 2021-04-23 | USB based cloud disk and disk segment management system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220146043A (en) |
-
2021
- 2021-04-23 KR KR1020210052838A patent/KR20220146043A/en active Search and Examination
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5955870B2 (en) | Method, computer readable storage medium and system for optimal compression of a virtual disk | |
US9846642B2 (en) | Efficient key collision handling | |
US20180349030A1 (en) | Storage control device, storage control program, and storage system | |
US8966188B1 (en) | RAM utilization in a virtual environment | |
US10891074B2 (en) | Key-value storage device supporting snapshot function and operating method thereof | |
US20190332491A1 (en) | Systems and Processes for Data Backup and Recovery | |
US9430492B1 (en) | Efficient scavenging of data and metadata file system blocks | |
KR20120093608A (en) | Method for managing file system in host and devices using the method | |
US10324775B2 (en) | Method for bidirectional calling between open system and mainframe system performed by computing device | |
US20220236901A1 (en) | Data Storage Method and Apparatus | |
US10761760B2 (en) | Duplication between disparate deduplication systems | |
US20170068686A1 (en) | Accessing a block based volume as a file based volume | |
US11507320B2 (en) | USB based cloud disk and disk segment management system | |
CN108255434B (en) | Label management method, management device and computer readable storage medium | |
US7634600B2 (en) | Emulation system and emulation method for multiple recording media tupes | |
KR102650146B1 (en) | USB based cloud disk and disk segment management system | |
US11907586B2 (en) | Storage device configured to support multi-streams and operation method thereof | |
JP2016515258A (en) | File aggregation for optimized file operation | |
KR20220146043A (en) | USB based cloud disk and disk segment management system | |
JP6418419B2 (en) | Method and apparatus for hard disk to execute application code | |
KR20160082229A (en) | Computing system with processing and method of operation thereof | |
KR102623061B1 (en) | Apparatus for performing iterator operation in database | |
KR20210053865A (en) | Cloud drive of usb type and data managing system using the same | |
US11853610B2 (en) | Pass-through command queues for unmodified storage drivers | |
JP6374180B2 (en) | Data storage apparatus and system, and data storage method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |