WO2021215867A1 - Usb-based cloud disk and disk segment management system - Google Patents

Usb-based cloud disk and disk segment management system Download PDF

Info

Publication number
WO2021215867A1
WO2021215867A1 PCT/KR2021/005145 KR2021005145W WO2021215867A1 WO 2021215867 A1 WO2021215867 A1 WO 2021215867A1 KR 2021005145 W KR2021005145 W KR 2021005145W WO 2021215867 A1 WO2021215867 A1 WO 2021215867A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sector
configuration information
usb
remote
Prior art date
Application number
PCT/KR2021/005145
Other languages
French (fr)
Korean (ko)
Inventor
김종호
Original Assignee
Kim Chong Ho
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 Kim Chong Ho filed Critical Kim Chong Ho
Publication of WO2021215867A1 publication Critical patent/WO2021215867A1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Definitions

  • the present invention relates to a USB-based cloud disk and disk segment management system.
  • 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.
  • 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 to the USB host.
  • a data management system and method are provided.
  • a storage space configuration management unit for managing remote space configuration information; block data connection;
  • 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 storage space configuration management unit When the USB-based cloud disk receives the write command, the storage space configuration management unit generates configuration information of the sector S1,
  • 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
  • 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, , receive data stored in the data path of the sector S3 from the remote storage through the communication unit,
  • 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.
  • 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.
  • FIG. 5 is a diagram for explaining a USB-based virtual cloud disk according to an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining RSC information and F/S information.
  • FIG. 7 is a diagram for explaining an operation of formatting the VCD 200 according to an embodiment of the present invention.
  • FIG. 10 is a diagram for explaining a cloud disk in the form of a program.
  • the term 'software' refers to a technology that moves hardware in a computer
  • 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 combined for processing by a computer
  • the term 'recording medium' refers to It means a computer-readable recording medium on which a program used for installing, executing, or distributing a program is recorded.
  • '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.
  • 'USB' Universal Serial Bus
  • 'USB' Universal Serial Bus
  • 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.
  • the term 'disk segment management system' is used to collectively refer to the storage space management unit and the block data connection unit.
  • FIG. 5 is a diagram for explaining a USB-based virtual cloud disk according to an embodiment of the present invention.
  • a USB-based Virtual Cloud Disk (VCD) 200 is operatively connected to a USB port (not shown) provided in the computer 100 .
  • the USB-based virtual cloud disk according to an embodiment of the present invention is often referred to as 'VCD' or 'USB storage device'.
  • the operating system (not shown) includes a file system 103 and a disk layer 105 , and the disk layer 105 may recognize a storage device such as a hard disk.
  • the disk layer 105 may also receive a read command and a write command for a sector, which is a structural unit of the hard disk, from the file system 103 and transmit it to the hard disk.
  • the disk layer 105 may also transfer sector data received from the hard disk to the file system 103 .
  • data and commands transmitted and received between them pass through the disk layer 105 .
  • the VCD 200 includes a communication unit (not shown) capable of communicating with the remote storage 300 via the Internet, a computer processor (not shown), and a storage unit (eg, operatively connected to the computer processor (not shown)). , including volatile memory and non-volatile memory) (not shown), a disk segment management system, hardware for performing various operations, and a program (not shown). These components are operatively connected to each other.
  • the SCM (not shown) is loaded into a storage unit (not shown) under the control of a computer processor (not shown) when the VCD 200 is connected to the computer 100 and includes basic data (meaning virtual space configuration information) and Executes an operation to manage remote space configuration information.
  • the remote space configuration information will be abbreviated as 'RSC information'.
  • the BDC (not shown) is loaded into a storage unit (not shown) under the control of a computer processor (not shown) when the VCD 200 is connected to the computer 100 and receives a read command and a write command from the computer 100 .
  • a receiving operation may be performed.
  • the BDC may also request sector data from the remote storage 300 or perform an operation to store sector data.
  • the computer 100 When the VCD 200 is connected to a USB port provided in the computer 100 , the computer 100 recognizes the VCD 200 as a storage device such as a hard disk or a USB memory.
  • the expression that the VCD 200 is connected to the computer 100 means that the VCD 200 is connected to the USB port.
  • a user When a user wants to store a file stored in the computer 100 (or a file stored in an arbitrary storage location) (hereinafter, also referred to as a 'target file') in the VCD 200 , the user transfers the VCD 200 to the computer 100 . ) and give a command to save the target file to the VCD (200).
  • a 'target file' a file stored in an arbitrary storage location
  • the computer 100 Upon receiving the storage command, the computer 100 divides the target file into one or more data, allocates them to sectors, and sequentially transmits the data allocated to the sectors (hereinafter, 'sector data') to the VCD 200 .
  • the file system 103 may know how many sector data to divide the target file into by referring to the basic data provided by the VCD 200 .
  • the file system 103 can also know which sectors to allocate by referring to the F/S information for the VCD 200 .
  • the VCD 200 stores and manages basic data and RSC information.
  • the SCM (not shown) manages basic data and RSC information.
  • Table 2 is shown as an example of RSC information
  • Table 1 is shown as an example of F/S information.
  • Table 2 includes configuration information for each sector.
  • the data path of the sector whose sector ID is S0 is ' https://drive.google.com/disk1/sector0 '.
  • 'sector0' may be a remote space block ID of S0 data.
  • the data path of the sector whose sector ID is S3 is 'disk1, sector3', where 'sector3' may be a remote space block ID.
  • the sector ID included in the sector configuration information is given by the file system 103 and may correspond to a 'virtual space block ID' in the embodiments of FIGS. 1 to 4 .
  • the data path includes the remote space block ID, for example, 'sector0' and 'sector3' may correspond to the remote space block ID.
  • the virtual space block ID and the remote space block ID refer to the embodiments of FIGS. 1 to 4 .
  • Store type defines a remote store that can store sector data.
  • 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).
  • the store type defines a type of remote storage 300 such as cloud storage, database, or network attached storage (NAS).
  • remote storage 300 such as cloud storage, database, or network attached storage (NAS).
  • 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.
  • 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 remote storage 300 , the VCD 200 transmits the data path of S4 and the S4 data to the cloud storage which is the remote storage 300 .
  • 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.
  • the VCD 200 when the VCD 200 requests S10 data stored in the database that is the remote storage 300 , the VCD 200 requests the data of S10 while transmitting the data path of S10 to the database.
  • Cloud storage searches for S10 data using “disk1, sector10” included in the data path of S10 as a keyword and transmits it to the VCD 200 .
  • F/S information includes a file and a sector ID, and one or more sector IDs are mapped (ie, mapped) to the file.
  • the sector ID included in the F/S information is a virtual space block ID.
  • FIG. 7 is a diagram for explaining an operation of formatting the VCD 200 according to an embodiment of the present invention.
  • the file system 103 may know the sector in which the F/S information is stored by referring to the format type included in the basic data. This is because the sector in which the F/S information is stored is predetermined according to the format type. In this embodiment, it is assumed that F/S information is stored in sector 0 (hereinafter, 'S0').
  • the file system 103 transmits a read command (READ (S0)) for reading sector data stored in S0 to the VCD 200 in order to know the F/S information of the VCD 200 .
  • 'S0' is a sector ID.
  • the VCD 200 transmits data 0 and data paths of S0 to the remote storage 300 using the configuration information of SO.
  • the BDC (not shown) transmits data O to Google Drive with 'https: //drive.google.com/disk1/sector0' Google Drive stores data 0 as 'sector0' in the location indicated by https://drive.google.com/disk1 according to the above request.
  • the basic operation is performed whenever the VCD 200 is connected to the USB port of the computer 100 .
  • the basic operation starts with an operation in which the VCD 200 transmits basic data to the file system 103 , and the file system 103 receives S0 data from the VCD 200 to receive F/S information. It includes a series of operations up to the operation to check whether or not is included.
  • FIG. 8 is a diagram for explaining an operation of writing data to the VCD 200 according to an embodiment of the present invention.
  • the VCD 200 has completed the format operation described with reference to FIG. 7 . Therefore, it is assumed that the RSC information is Table 2-2 and the F/S information is Table 1-1 in FIG. 7 , and an operation of writing the file jwk.jpg to the VCD 200 will be described.
  • the file system 103 transmits a read command READ (S0) to the VCD 200 .
  • READ READ
  • the SCM receives the read command (READ (S0)
  • it refers to Table 2-2 stored in the storage unit (not shown).
  • the VCD 200 provides the remote storage 300 with the data path of S0 (eg, https://drive.google.com/disk1/sector0). ) to request data.
  • the remote storage 300 searches for data stored in the data path of S0 and transmits it to the VCD 200 , and the VCD 200 provides the data to the computer 100 .
  • the computer 100 may check F/O information from the S0 data.
  • F/O information includes node information (folders and files).
  • the explorer 101 receives such node information from the file system 103 , and provides information on a virtual disk (eg, D) corresponding to the VCD 200 and folders and files located under the virtual disk. can be displayed so that the user can visually see it.
  • a virtual disk eg, D
  • the computer 100 When the computer 100 receives a command from the user to copy the target file (eg, jwk.jpg) to the VCD 200, the computer 100 converts one or more data of jwk.jpg. partitioned and allocated to each sector. For example, assuming that the capacity of jwk.jpg is 6 KB and the sector capacity is 4 KB, two sectors to be allocated to jwk.jpg are required. That is, the file system 103 divides jwk.jpg into two pieces of data, and allocates the two pieces of data to, for example, a sector S3 (hereinafter, 'S3') and a sector S10 (hereinafter, 'S10'), respectively. do. For convenience, the data allocated to S3 is called data 3, and the data allocated to S10 is called data 10.
  • the target file eg, jwk.jpg
  • the file system 103 transmits the command WRITE(data 3, S3) to the VCD 200 .
  • the SCM (not shown) checks whether there is configuration information of S3 with reference to Table 2-2. Since the configuration information of S3 is not included in Table 2-2, the SCM (not shown) creates the configuration information of S3 and adds it to Table 2-2. In FIG. 8, Table 2-3 is shown in which configuration information for S3 is added.
  • the data path of S3 is 'disk1, sector3'.
  • sector 3 is a remote space block ID for data of S3.
  • S3 which is the sector ID (ie, 'virtual space block ID') given by the file system 103
  • 'sector' which is the remote space block ID It can be seen that it has been converted to 3'.
  • the virtual space block ID and the remote space block ID may be used identically, and when the VCD 200 in this case creates a data path, the sector ID received from the file system 103 is remotely It will be used as it is as a space block ID. The same is the case with the PCD 2200, which will be described later.
  • 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.
  • Data 10 allocated to sector S10 (hereinafter, 'S10') is also performed in the same manner as described above. That is, when the VCD 200 receives WRITE ((data 10, S10), the SCM (not shown) first checks whether there is configuration information of S10 in Table 2-3. If there is no configuration information of S10, The configuration information is created and added to Table 2-3 Table 2-4 is the updated Table 2-3, and the configuration information of S10 is added The VCD 200 uses the configuration information of S10 to store the remote storage Data 10 is stored in (300).
  • the computer 100 sequentially transmits read commands for S3 and S10 to the VCD 200 .
  • the computer 100 transmits a read command (READ (S3)) to the VCD 200
  • the SCM (not shown) checks whether there is configuration information of S3 with reference to Table 2-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 description of the embodiments described with reference to and the embodiments described with reference to FIGS. 1 to 4 .
  • FIG. 10 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.
  • the file system 103 may know the sector in which the F/S information is to be stored by referring to the format type included in the basic data.
  • the file system 103 transmits a read command READ (S0) to the PCD 2200 in order to know F/S information.
  • the PCD 2200 updates Table 2-1 to Table 2-2 and generates S0 temporary data.
  • the PCD 2200 When the PCD 2200 is executed in the computer 100 , the PCD 2200 provides a virtual connection signal to the file system 103 , and also provides basic data to the file system 103 . Thereafter, the PCD 2200 reads the RSC information (eg, Table 2-2 of FIG. 7 ) and temporarily stores it in a storage unit (not shown) provided in the computer 100 .
  • the RSC information eg, Table 2-2 of FIG. 7
  • the file system 103 may know the sector in which the F/S information is stored by referring to the format type included in the basic data.
  • the file system 103 transmits a read command READ (S0) to the PCD 2200 in order to know F/S information.
  • READ read command
  • the PCD 2200 receives the read command READ (S0), it refers to Table 2-2 stored in the storage unit (not shown).
  • the PCD 2200 requests data while sending the data path of S0 to the remote storage 300 using the configuration information of S0 present in Table 2-2.
  • the file system 103 transmits the command WRITE(data 3, S3) to the PCD 2200 .
  • the PCD 2200 checks whether there is configuration information of S3 with reference to Table 2-2. Since the configuration information of S3 is not included in Table 2-2, the PCD 2200 generates the configuration information of S3 and adds it to Table 2-2. In FIG. 8 , it is exemplarily shown as Table 2-3 to which configuration information for S3 is added.
  • the file system 103 refers to the F/S information to find out the sectors allocated to jwk.jpg.
  • an operation of converting the virtual space block ID into the remote space block ID is performed when a data path is created.
  • the USB storage device 200 creates a data path to be transmitted to the remote storage 300 , the virtual space block You will be able to use the ID as it is.
  • the USB storage device 200 includes at least one computer processor 204 , a storage unit (eg, RAM 206 , ROM 208 , memory 202 ), a USB connector 210 , and a communication unit 212 . may include.
  • the USB storage device 200 also includes a storage space configuration management unit ('SCM') 214 , a block data connection unit ('BDC') 218 , a USB driver 220 , and attribute/block information 216 .
  • 'SCM' storage space configuration management unit
  • 'BDC' block data connection unit
  • USB driver 220 may include
  • the storage unit (not shown) of the USB storage device 200 may temporarily or permanently store programs and data.
  • the SCM 214 and the BDC 218 may be stored and operated in a storage unit (not shown) of the USB storage device 200 .
  • the storage unit (not shown) of the USB storage device 200 may temporarily or permanently store basic data and RSC information.
  • the attribute/block information 216 may be managed (created, deleted, changed) by the SCM 214 .
  • the virtual space configuration information may be stored in the memory 202 , and the RSC information may be stored in the memory 202 or any remote storage (remote storage other than the remote storage 300 ).
  • the RSC information may be moved or copied to the USB storage device 200 whenever the USB storage device 200 is connected to the computer 100 .
  • RSC information moved or copied to the USB storage device 200 may be loaded into the RAM 206 and used.
  • the RSC information includes configuration information of a block (ie, a sector).
  • the type of remote storage ie, store type
  • data path are defined for each block.
  • the virtual block ID, the type of remote storage, and the data face correspond to each other.
  • the communication unit 212 supports communication with the remote storage 300 .
  • the communication unit 212 may be hardware supporting wireless communication such as Wi-Fi or Bluetooth communication, and a program for this may be stored in the storage unit or in the form of firmware in the communication unit.
  • Wi-Fi Wireless Fidelity
  • WLAN wireless LAN
  • short-distance communication technology capable of In the IEEE 802.11 standard, standards for Wi-Fi communication are defined and managed.
  • '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).
  • the SCM 214 may generate RSC information for the block. For example, the SCM 214 may generate a data path for block data to be transmitted to the remote storage 300 . When generating a data path, the SCM 214 converts the virtual space block ID given by the file system 103 into a remote space block ID, and the converted remote space block ID is included in the data path.
  • the SCM 214 may update the RSC information.
  • the USB storage device 200 receives the WRITE (S4, data 4)
  • the SCM 214 checks whether the configuration information of S4 is included in the RSC information. add to
  • the SCM 214 may generate the configuration information of S4 with reference to the virtual space configuration information. For example, the SCM 214 selects an available 'remote storage' included in the virtual space configuration information, allocates a remote space block ID to correspond to the virtual space block ID, and selects a data path to store the block data of S4. create
  • the SCM 214 checks whether the configuration information of S3 is present in the RSC information, and if present, provides the configuration information of S3 to the BDC 218 .
  • the BDC 218 requests block data from the remote storage 300 using the configuration information of S3.
  • the virtual storage space managed by the SCM 214 is not a space physically present in the USB storage device 200 , and the actual physical storage space corresponding to the virtual storage space is located in the remote storage 300 . exist.
  • the total size (capacity) of the virtual storage space managed by the USB storage device 200 may be set or fixed by a user. Meanwhile, the size of the virtual space block may also be determined by the user.
  • the SCM 214 may set and manage the size of the virtual space block.
  • the user can set the virtual storage space capacity and virtual space block size through an app or browser installed on the USB host 100, and the SCM 214 is operatively connected to the app or browser, and the SCM 214 ) is managed by including the capacity of the virtual storage space set by the user and the size of the virtual space block in the attribute/block information 216 .
  • the BDC 218 When the BDC 218 receives a read command for a block (eg, S4) from the file system 103, it sends the block data to the remote storage 300 using the RSC information for the block S4. Request and receive from remote storage 300 .
  • a read command for a block eg, S4
  • the BDC 218 sends the block data to the remote storage 300 using the RSC information for the block S4. Request and receive from remote storage 300 .
  • the BDC 218 provides an interface capable of transmitting and receiving information such as data, request, and various IDs to and from the USB driver 220 and an interface capable of transmitting and receiving information such as data, request, and various IDs to and from the remote storage 300 do.
  • 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 300 , and receives data from the remote storage 300 and stores the USB. to the device 200 .
  • AP access point
  • the wireless communication terminal 400 has a function for short-distance communication with the USB storage device 200 and may include, for example, a communication function such as Wi-Fi or Bluetooth.
  • the remote storage 300 is a storage device that can be connected through a communication network such as the Internet. It may be a storage device.
  • the remote storage 300 stores block data received from the USB storage device 200 in a location indicated by a data path. Meanwhile, the remote storage 300 may use the 'remote space block ID' included in the data path as the ID of the block data. For example, when the remote storage 300 receives a data path of 'https://drive.google.com/disk1/sector2', 'sector2' may be used as an ID of block data.
  • data storage may be performed as follows.
  • the USB storage device 200 When the USB host 100 transmits block data to be stored in a block (eg, S7) to the USB storage device 200 , the USB storage device 200 generates RSC information to store the block data.
  • the USB storage device 200 transmits block data and a data path to the remote storage 300 through the wireless communication terminal 400 .
  • the remote storage 300 stores data received from the USB storage device 200 in a location indicated by a data path.
  • the USB storage device 200 When the USB host 100 requests the USB storage device 200 to read data stored in a block (eg, S8), the USB storage device 200 refers to the space configuration information of the block S8. . Thereafter, the USB storage device 200 requests the data stored in the block S8 while transmitting the data path included in the space configuration information of the block S8 to the remote storage 300 . The remote storage 300 reads data stored in the data path and transmits it to the USB storage device 200 . The USB storage device 200 transmits data received from the remote storage 300 to the file system 103 of the computer 100 .
  • a block eg, S8
  • the data management method comprises: 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 the location indicated by the data path and providing the data to the USB storage device.
  • a sector eg, S14
  • the data management method comprises: 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 the location indicated by the data path and providing the data to the USB storage device.

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-based cloud disk according to an embodiment, wherein when the USB-based cloud disk is connected to a computer and has received a write command for a sector from the computer, the USB-based cloud disk transmits data for the sector and a data path for the sector data to a remote storage.

Description

USB 기반의 클라우드 디스크 및 디스크 세그먼트 매니지먼트 시스템USB-based cloud disk and disk segment management system
본 발명은 USB 기반의 클라우드 디스크와 디스크 세그먼트 매니지먼트 시스템에 관한 것이다. The present invention relates to a USB-based cloud disk and disk segment management system.
네트워크 기술이 발전함에 따라 사용자가 이용하는 디바이스(예컨대, 데스크탑, 노트북, 휴대용 기기 등)에 저장되던 데이터는 인터넷 상의 원격 저장소(클라우드 스토리지)에 저장되고 사용자는 필요할 때마다 자신의 계정을 이용하여 언제 어디서든 클라우드 스토리지에 저장된 데이터를 이용할 수 있다.As network technology develops, data 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일)에는 클라우드 스토리지 서비스에서 파일을 공유하는 방법 및 그 장치가 개시되어 있다.As an 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 on 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 to 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 sector data data 1 and a data path to store the sector data data 1,
상기 블록 데이터 연결부는 상기 섹터 데이터(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, and if there is no configuration information 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 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, , receive 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 an ID (S0) of a 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)의 구성정보를 생성하여 상기 업데이트 되기 전의 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행하며, If 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 it 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 sector data data 0 to be stored in the sector S0 and a data path for storing the sector data data 0 .
본 발명의 하나 이상의 실시예에 따르면, 섹터 단위로 데이터를 분할하여 원격 저장소에 저장이 가능하기 때문에, 원격 저장소에 저장된 데이터가 해킹이 되더라도 그러한 데이터는 해독되기가 어렵다. 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 기반의 클라우드 디스크를 이용한 데이터 관리 시스템을 설명하기 위한 도면들이다. 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는 본 발명의 일 실시예에 따른 USB 기반의 가상 클라우드 디스크를 설명하기 위한 도면이다. 5 is a diagram for explaining a USB-based virtual cloud disk according to an embodiment of the present invention.
도 6은 RSC 정보와 F/S 정보를 설명하기 위한 도면이다. 6 is a diagram for explaining RSC information and F/S information.
도 7은, 본 발명의 일 실시예에 따른 VCD(200)를 포맷하는 동작을 설명하기 위한 도면이다. 7 is a diagram for explaining an operation of formatting the VCD 200 according to an embodiment of the present invention.
도 8은, 본 발명의 일 실시예에 따른 VCD(200)에 데이터를 쓰는 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an operation of writing data to the VCD 200 according to an embodiment of the present invention.
도 9는, 본 발명의 일 실시예에 따른 VCD(200)로부터 데이터를 읽는 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an operation of reading data from the VCD 200 according to an embodiment of the present invention.
도 10은 프로그램 형태의 클라우드 디스크를 설명하기 위한 도면이다.10 is a diagram for explaining a cloud disk in the form of a program.
[부호의 설명][Explanation of code]
USB 호스트: 100 탐색기: 101USB Host: 100 Explorer: 101
파일 시스템: 103 디스크 레이어: 105File system: 103 Disc layer: 105
통신부: 109 USB 저장장치: 200Communication department: 109 USB storage device: 200
프로그램 형태의 클라우드 디스크: 2200Cloud disk in program form: 2200
원격 저장소: 300 무선단말장치: 400Remote Storage: 300 Wireless Terminal: 400
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.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. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, the terms 'comprises' and/or 'comprising' do not exclude the presence or addition of one or more other components.
용어의 정의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 combined for processing by a computer, and the term 'recording medium' refers to It means a computer-readable recording medium on which a program used for installing, executing, or distributing 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' means '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, an OS such as Linux) or not (eg, an 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 preserve data as it is 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 'receiving', 'sending', 'storing', 'modification', and 'deletion' 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 computer 100 . . In this specification, the USB-based virtual cloud disk according to an embodiment of the present invention is often referred to as 'VCD' or 'USB storage device'.
컴퓨터(100)는 탐색기(101), 파일 시스템(103), 디스크 레이어(105), 저장부(미 도시), 운영 체제(미 도시), 및 이들 구성요소의 동작을 위한 하드웨어와 프로그램들(미 도시)을 포함할 수 있다.The computer 100 includes an explorer 101, a file system 103, a disk layer 105, a storage unit (not shown), an operating system (not shown), and hardware and programs (not shown) for the operation of these components. city) may be included.
운영체제(미 도시)는 파일 시스템(103)과 디스크 레이어(105)를 포함하며, 디스크 레이어(105)는 하드 디스크(hard disk)와 같은 저장장치를 인식할 수 있다.The operating system (not shown) includes a file system 103 and a disk layer 105 , and the disk layer 105 may recognize a storage device such as a hard disk.
디스크 레이어(105)는, 또한, 하드 디스크의 구성 단위인 섹터에 대한 읽기 명령어와 쓰기 명령어를 파일 시스템(103) 으로부터 수신하여 하드 디스크에게 전달할 수 있다. 디스크 레이어(105)는, 또한, 하드 디스크로부터 받은 섹터 데이터를 파일 시스템(103)으로 전달할 수 있다. 도 5 내지 도 9를 참조하여 설명하는 실시예와, 도 1 내지 도 4를 참조하여 설명하는 실시예에서, 디스크 레이어(105)에 대한 명시적인 언급이 없더라도, 파일 시스템(103)과 VCD(200) 사이에 송수신 되는 데이터와 명령어는 디스크 레이어(105)를 경유한다.The disk layer 105 may also receive a read command and a write command for a sector, which is a structural unit of the hard disk, from the file system 103 and transmit it to the hard disk. The disk layer 105 may also transfer sector data received from the hard disk to the file system 103 . In the embodiment described with reference to FIGS. 5 to 9 and the embodiment described with reference to FIGS. 1 to 4 , even if there is no explicit reference to the disc layer 105 , the file system 103 and the VCD 200 ), data and commands transmitted and received between them pass through the disk layer 105 .
VCD(200)는, 인터넷을 통해서 원격 저장소(300)와 통신할 수 있는 통신부(미 도시), 컴퓨터 프로세서(미 도시), 및 컴퓨터 프로세서(미 도시)와 동작적으로 연결된 저장부(예를 들면, 휘발성 메모리 및 비휘발성 메모리를 포함)(미 도시), 디스크 세그먼트 매니지먼트 시스템, 및 다양한 동작을 수행하기 위한 하드웨어들, 및 프로그램(미 도시)을 포함할 수 있다. 이들 구성요소는 서로 동작적으로 연결되어 있다. The VCD 200 includes a communication unit (not shown) capable of communicating with the remote storage 300 via the Internet, a computer processor (not shown), and a storage unit (eg, operatively connected to the computer processor (not shown)). , including volatile memory and non-volatile memory) (not shown), a disk segment management system, hardware for performing various operations, and a program (not shown). These components are operatively connected to each other.
디스크 세그먼트 매니지먼트 시스템은, 원격공간 구성정보를 관리할 수 있는 저장공간 구성관리부(미 도시)(이하, '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. In addition, basic data and RSC information may also 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 VCD 200 is connected to the computer 100 and includes basic data (meaning virtual space configuration information) and Executes an operation to manage remote space configuration information. In the present specification, the remote space configuration information will be abbreviated as 'RSC information'.
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 VCD 200 is connected to the computer 100 and receives a read command and a write command from the computer 100 . A receiving operation may be performed.
BDC(미 도시)는, 또한, 원격 저장소(300)에게 섹터 데이터를 요청하거나 또는 섹터 데이터를 저장하라는 동작을 수행할 수 있다. The BDC (not shown) may also request sector data from the remote storage 300 or perform an operation to store sector data.
VCD(200)가 컴퓨터(100)에 구비된 USB 포트에 연결되면, 컴퓨터(100)는 VCD(200)를 하드 디스크(Hard Disk) 또는 USB 메모리와 같은 저장장치로 인식한다. When the VCD 200 is connected to a USB port provided in the computer 100 , the computer 100 recognizes the VCD 200 as a storage device such as a hard disk or a USB memory.
이하의 설명에서 VCD(200)가 컴퓨터(100)에 연결된다는 표현은, VCD(200)가 USB 포트에 연결되는 것을 의미한다. In the following description, the expression that the VCD 200 is connected to the computer 100 means that the VCD 200 is connected to the USB port.
유저가 컴퓨터(100)에 저장된 파일(또는 임의의 저장장소에 저장된 파일)(이하, '대상 파일'이라고도 함)을 VCD(200)에 저장하고자 할 경우, 유저는 VCD(200)를 컴퓨터(100)에 연결하고 대상 파일을 VCD(200)로 저장하는 명령을 한다.When a user wants to store a file stored in the computer 100 (or a file stored in an arbitrary storage location) (hereinafter, also referred to as a 'target file') in the VCD 200 , the user transfers the VCD 200 to the computer 100 . ) and give a command to save the target file to the VCD (200).
저장 명령을 받은 컴퓨터(100)는, 대상 파일을 하나 이상의 데이터로 분할하여 섹터들에 각각 할당하고, 섹터에 할당된 데이터(이하, '섹터 데이터')들을 VCD(200)에게 순차적으로 전송한다. Upon receiving the storage command, the computer 100 divides the target file into one or more data, allocates them to sectors, and sequentially transmits the data allocated to the sectors (hereinafter, 'sector data') to the VCD 200 .
파일 시스템(103)은, VCD(200)에서 제공하는 기본 데이터를 참조함으로써, 대상 파일을 몇 개의 섹터 데이터들로 분할할지를 알 수 있다. 파일 시스템(103)은, 또한, VCD(200)에 대한 F/S 정보를 참조함으로써, 어떠한 섹터들을 할당할지를 알 수 있다.The file system 103 may know how many sector data to divide the target file into by referring to the basic data provided by the VCD 200 . The file system 103 can also know which sectors to allocate by referring to the F/S information for the VCD 200 .
VCD(200)는 컴퓨터(100)로부터 수신한 섹터 데이터들을 순차적으로 원격 저장소(300)에게 전송할 수 있다. 섹터 데이터들이 저장되는 실제 장소는 원격 저장소(300)이지만, 컴퓨터(100)는 섹터 데이터들을 VCD(200)가 저장하는 것으로 이해하고 취급한다. The VCD 200 may sequentially transmit sector data received from the computer 100 to the remote storage 300 . The actual location where sector data is stored is remote storage 300 , but computer 100 understands and treats sector data as stored by VCD 200 .
VCD(200)는 기본 데이터와 RSC 정보를 저장하여 관리한다. 예를 들면, SCM(미 도시)이 기본 데이터와 RSC 정보를 관리한다. The VCD 200 stores and manages basic data and RSC information. For example, the SCM (not shown) manages basic data and RSC information.
기본 데이터는 원격 저장소(이하, '스토어 서버'라고도 언급되기도 함)의 타입, 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 VCD 200 , and a format type. The VCD 200 may also generate configuration information for a sector using basic data and add it to the RSC information.
포맷 타입은, 예를 들면, 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)(미 도시)에 저장되어 관리될 수 있다. RSC information and basic data may be stored and managed in a storage unit (not shown) provided in the VCD 200 or a remote storage 300 (not shown) other than the remote storage 300 .
도 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 file system 103 and may correspond to a 'virtual space block ID' in the embodiments of FIGS. 1 to 4 .
한편, Data path에는 원격공간 블록 ID가 포함되어 있고, 예를 들면, 'sector0', 'sector3'가 원격공간 블록 ID에 해당될 수 있다. 가상공간 블록 ID와 원격공간 블록 ID에 대한 보다 상세한 설명은 도 1 내지 도 4의 실시예를 참조하기 바란다. On the other hand, the data path includes the remote space block ID, 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 remote storage 300 such as cloud storage, database, or network attached storage (NAS).
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 remote storage 300 , the VCD 200 transmits the data path of S4 and the S4 data to the cloud storage which is the remote storage 300 .
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)에게 전송한다. For another example, when the VCD 200 requests S10 data stored in the database that is the remote storage 300 , the VCD 200 requests the data of S10 while transmitting the data path of S10 to the database. Cloud storage searches for S10 data using “disk1, sector10” included in the data path of S10 as a keyword and transmits it to the VCD 200 .
도 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 the 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 instruction is merely an exemplary representation for the description of the present invention, and the present invention is not limited only to such representations.
포맷format
도 7은, 본 발명의 일 실시예에 따른 VCD(200)를 포맷하는 동작을 설명하기 위한 도면이다. 7 is a diagram for explaining an operation of formatting the VCD 200 according to an embodiment of the present invention.
도 7을 참조하면, VCD(200)가 컴퓨터(100)에 연결되면, VCD(200)는 기본 데이터를 컴퓨터(100)에게 제공한다. VCD(200)는, RSC 정보(예를 들면, Table 2-1)를 읽어서 VCD(200)에 구비된 저장부(미 도시)(예를 들면, RAM과 같은 비휘발성 메모리)에 저장한다.Referring to FIG. 7 , when the VCD 200 is connected to the computer 100 , the VCD 200 provides basic data to the computer 100 . The VCD 200 reads RSC information (eg, Table 2-1) and stores it in a storage unit (not shown) provided in the VCD 200 (eg, a non-volatile memory such as RAM).
기본 데이터와 RSC 정보는 상술한 바와 같이 VCD(200)에 구비된 저장부(미 도시), 또는 원격 저장소(300)가 아닌 다른 임의의 원격 저장소(300)(미 도시)에 저장되어 VCD(200) 의해 관리될 수 있다. Basic data and RSC information are stored in a storage unit (not shown) provided in the VCD 200 or any remote storage 300 (not shown) other than the remote storage 300 as described above, and are stored in the VCD 200 ) can be managed by
기본 데이터는 파일 시스템(103)에게 제공된다. 디스크 레이어(105)는 VCD(200)가 USB 포트가 연결되는 것을 인식하며, VCD(200)와 파일 시스템(103)의 사이에서 섹터 데이터의 전달, 읽기, 및 쓰기 동작을 수행한다.The basic data is provided to the file system 103 . The disk layer 105 recognizes that the VCD 200 is connected to a USB port, and performs sector data transfer, read, and write operations between the VCD 200 and the file system 103 .
파일 시스템(103)은 기본 데이터에 포함된 포맷 타입을 참조하여, F/S 정보가 저장되는 섹터를 알 수 있다. 포맷 타입에 따라서 F/S 정보가 저장되는 섹터가 미리 정해져 있기 때문이다. 본 실시예에서는, F/S 정보가 섹터 0(이하, 'S0')에 저장된다고 가정한다. The file system 103 may know the sector in which the F/S information is stored by referring to the format type included in the basic data. This is because the sector in which the F/S information is stored is predetermined according to the format type. In this embodiment, it is assumed that F/S information is stored in sector 0 (hereinafter, 'S0').
파일 시스템(103)은, VCD(200)의 F/S 정보를 알기 위해서, S0에 저장된 섹터 데이터를 읽으라는 읽기 명령어(READ (S0))를 VCD(200)에게 송신한다. 여기서, 'S0'는 섹터 ID이다.The file system 103 transmits a read command (READ (S0)) for reading sector data stored in S0 to the VCD 200 in order to know the F/S information of the VCD 200 . Here, 'S0' is a sector ID.
VCD(200)가 읽기 명령어(READ (S0))를 수신하면, SCM(미 도시)는 RSC 정보(Table 2-1)를 참조하고, RSC 정보(Table 2-1)에 S0의 구성정보가 있는지를 확인한다. When the VCD 200 receives the read command (READ (S0)), the SCM (not shown) refers to the RSC information (Table 2-1), and whether there is the configuration information of S0 in the RSC information (Table 2-1). check
본 VCD(200)는 아직 포맷 전이므로, RSC 정보(Table 2-1)에는 S0의 구성정보가 존재하지 않는다. S0의 구성정보가 존재하지 않으면, SCM(미 도시)는 S0의 구성정보를 생성하고, 생성한 SO의 구성정보를 Table 2-1에 추가하는 업데이트 동작을 수행한다. 도 7에는, 업데이트된 Table 2-2가 예시적으로 표시되어 있다. Since this VCD 200 is not yet formatted, there is no configuration information of S0 in the RSC information (Table 2-1). If the configuration information of S0 does not exist, the SCM (not shown) generates the configuration information of S0 and performs an update operation of adding the generated configuration information of the SO to Table 2-1. 7 , the updated Table 2-2 is exemplarily displayed.
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 VCD 200 transmits the temporary SO data to the file system 103 . The file system 103 checks whether F/S information exists in the temporary SO data. In this case, since there is no F/S information in the temporary SO data, the file system 103 generates the F/S information. The file system 103 transmits a write command (Write (data 0, S0)) to store the generated F/S information in S0 to the VCD 200 . Here, data 0 is data constituting F/S information.
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 configuration information of S0 exists in Table 2-2, the VCD 200 transmits data 0 and data paths of S0 to the remote storage 300 using the configuration information of SO. For example, in Table 2-2, since the data path for S0 is 'https://drive.google.com/disk1/sector0', the BDC (not shown) transmits data O to Google Drive with 'https: //drive.google.com/disk1/sector0' Google Drive stores data 0 as 'sector0' in the location indicated by https://drive.google.com/disk1 according to the above request.
도 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 VCD 200 is connected to the USB port of the computer 100 . Referring to FIG. 7 , the basic operation starts with an operation in which the VCD 200 transmits basic data to the file system 103 , and the file system 103 receives S0 data from the VCD 200 to receive F/S information. It includes a series of operations up to the operation to check whether or not is included.
데이터 쓰기write data
도 8은, 본 발명의 일 실시예에 따른 VCD(200)에 데이터를 쓰는 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an operation of writing data to the VCD 200 according to an embodiment of the present invention.
도 8에서 VCD(200)는 도 7을 참조하여 설명한 포맷 동작이 완료된 상태이다. 따라서, RSC 정보가 Table 2-2 이고, F/S 정보는 도 7에서의 Table 1-1 이라고 가정하고, VCD(200)에 파일 jwk.jpg를 쓰는 동작을 설명하기로 한다.In FIG. 8 , the VCD 200 has completed the format operation described with reference to FIG. 7 . Therefore, it is assumed that the RSC information is Table 2-2 and the F/S information is Table 1-1 in FIG. 7 , and an operation of writing the file jwk.jpg to the VCD 200 will be described.
VCD(200)가 컴퓨터(100)에 연결되면, VCD(200)와 컴퓨터(100) 사이에는 상술한 기본 동작이 수행된다. 예를 들면, SCM(미 도시)은 기본 데이터를 컴퓨터(100)에게 제공하고, Table 2-2를 읽어 와서 VCD(200)에 구비된 저장부(미 도시)에 저장한다. 파일 시스템(103)은 기본 데이터를 참조하여 F/S 정보에 할당된 섹터를 찾는다. When the VCD 200 is connected to the computer 100 , the above-described basic operation is performed between the VCD 200 and the computer 100 . For example, the SCM (not shown) provides basic data to the computer 100, reads Table 2-2, and stores it in a storage unit (not shown) provided in the VCD 200 . The file system 103 finds the sector allocated to the F/S information with reference to the basic data.
본 실시예에서, 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 file system 103 transmits a read command READ (S0) to the VCD 200 . When the SCM (not shown) receives the read command (READ (S0)), it refers to Table 2-2 stored in the storage unit (not shown). In this example, since configuration information of S0 exists in Table 2-2, the VCD 200 provides the remote storage 300 with the data path of S0 (eg, https://drive.google.com/disk1/sector0). ) to request data.
원격 저장소(300)는 S0의 Data path에 저장된 데이터를 찾아서 VCD(200) 에게 전송하고, VCD(200)는 그 데이터를 컴퓨터(100)에게 제공한다. 컴퓨터(100)는 S0 데이터에서 F/O 정보를 확인할 수 있다. F/O 정보에는 노드 정보(폴더와 파일들)가 포함되어 있다. 탐색기(101)는 그러한 노드 정보를 파일 시스템(103)으로부터 받아서, VCD(200)에 대응되는 가상 디스크(예를 들면, D)와, 이러한 가상 디스크의 하부에 위치된 폴더와 파일들에 대한 정보를 유저가 시각으로 볼 수 있도록 표시할 수 있다. The remote storage 300 searches for data stored in the data path of S0 and transmits it to the VCD 200 , and the VCD 200 provides the data to the computer 100 . The computer 100 may check F/O information from the S0 data. F/O information includes node information (folders and files). The explorer 101 receives such node information from the file system 103 , and provides information on a virtual disk (eg, D) corresponding to the VCD 200 and folders and files located under the virtual disk. can be displayed so that the user can visually see it.
컴퓨터(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 computer 100 receives a command from the user to copy the target file (eg, jwk.jpg) to the VCD 200, the computer 100 converts one or more data of jwk.jpg. partitioned and allocated to each sector. For example, assuming that the capacity of jwk.jpg is 6 KB and the sector capacity is 4 KB, two sectors to be allocated to jwk.jpg are required. That is, the file system 103 divides jwk.jpg into two pieces of data, and allocates the two pieces of data to, for example, a sector S3 (hereinafter, 'S3') and a sector S10 (hereinafter, 'S10'), respectively. do. For convenience, the data allocated to S3 is called data 3, and the data allocated to S10 is called data 10.
파일 시스템(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 file system 103 transmits the command WRITE(data 3, S3) to the VCD 200 . When the VCD 200 receives the command WRITE (data 3, S3), the SCM (not shown) checks whether there is configuration information of S3 with reference to Table 2-2. Since the configuration information of S3 is not included in Table 2-2, the SCM (not shown) creates the configuration information of S3 and adds it to Table 2-2. In FIG. 8, Table 2-3 is shown in which configuration information for S3 is added.
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, sector 3 is a remote space block ID for data of S3.
본 실시예에서, VCD(200)는 data 3의 Data path를 생성할 때, 파일 시스템(103)이 부여한 섹터 ID(즉, '가상공간 블록 ID')인 S3를, 원격공간 블록 ID인 'sector 3'로 변환한 것을 알 수 있다. In this embodiment, when the VCD 200 creates the data path of data 3, S3 which is the sector ID (ie, 'virtual space block ID') given by the file system 103, and 'sector' which is the remote space block ID It can be seen that it has been converted to 3'.
대안적으로(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 VCD 200 in this case creates a data path, the sector ID received from the file system 103 is remotely It will be used as it is as a space block ID. The same is the case with the PCD 2200, which will be described later.
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을 저장한다. Data 10 allocated to sector S10 (hereinafter, 'S10') is also performed in the same manner as described above. That is, when the VCD 200 receives WRITE ((data 10, S10), the SCM (not shown) first checks whether there is configuration information of S10 in Table 2-3. If there is no configuration information of S10, The configuration information is created and added to Table 2-3 Table 2-4 is the updated Table 2-3, and the configuration information of S10 is added The VCD 200 uses the configuration information of S10 to store the remote storage Data 10 is stored in (300).
Table 2-3을 참조하면, S3 데이터가 저장되는 원격 저장소(300)는 데이터베이스이다. S3의 Data path는 'disk1, sector 3' 이다. 데이터베이스 타입의 원격 저장소(300)는 'disk1, sector 3' 라는 키워드를 이용해서, 특정 테이블의 특정 레코드의 특정 칼럼에 저장된 S3 데이터를 찾을 수 있다. Referring to Table 2-3, the remote storage 300 in which S3 data is stored is a database. The data path of S3 is 'disk1, sector 3'. The database type remote storage 300 can find S3 data stored in a specific column of a specific record of a specific table by using the keyword 'disk1, sector 3'.
데이터 읽기read data
도 9는, 본 발명의 일 실시예에 따른 VCD(200)로부터 데이터를 읽는 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an operation of reading data from the VCD 200 according to an embodiment of the present invention.
도 9에서 VCD(200)는 도 8을 참조하여 설명한 상태의 VCD(200)이다. 따라서, RSC 정보는 Table 2-4 이고, F/S 정보에는 파일과 S0, S3, S10가 대응되어 있다. In FIG. 9 , the VCD 200 is the VCD 200 in the state described with reference to FIG. 8 . Therefore, the RSC information is Table 2-4, and the F/S information corresponds to a file and S0, S3, and S10.
이하에서는, 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 VCD 200 is connected to the computer 100 , the above-described basic operation is performed between the VCD 200 and the computer 100 . That is, the SCM (not shown) provides basic data to the computer 100, reads Table 2-4, and stores it in a storage unit (not shown) provided in the VCD 200 . The file system 103 of the computer 100 refers to the basic data to find the sector allocated to the F/S information.
본 실시예에서, F/S 정보에 할당된 섹터는 S0이므로, 컴퓨터(100)는 읽기 명령어(READ (S0))를 VCD(200)에게 전송한다. VCD(200)가 읽기 명령어(READ (S0))를 수신하면, SCM(미 도시)는 저장부(미 도시)에 저장되어 있는 Table 2-4를 참조한다. In the present embodiment, since the sector allocated to the F/S information is S0, the computer 100 transmits a read command (READ (S0)) to the VCD 200 . When the VCD 200 receives the read command READ (S0), the SCM (not shown) refers to Table 2-4 stored in the storage unit (not shown).
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 remote storage 300 using the configuration information of S0 in Table 2-4. while requesting data.
원격 저장소(300)는 S0의 Data path에 저장된 데이터(즉, S0 데이터)를 찾아서 VCD(200) 에게 전송하고, VCD(200)는 S0 데이터를 컴퓨터(100)에게 제공한다.The remote storage 300 searches for data stored in the data path of S0 (ie, S0 data) and transmits it to the VCD 200 , and the VCD 200 provides the S0 data to the computer 100 .
컴퓨터(100)는 S0 데이터에서 F/O 정보를 확인할 수 있다. F/O 정보에는 노드 정보(폴더와 파일들)가 포함되어 있으며, 탐색기(101)는 그러한 노드 정보를 파일 시스템(103)으로부터 받아서, VCD(200)에 대응되는 가상 디스크(예를 들면, D)와, 이러한 가상 디스크의 하부에 위치된 폴더와 파일들에 대한 정보를 유저가 시각으로 볼 수 있도록 표시할 수 있다. The computer 100 may check F/O information from the S0 data. The F/O information includes node information (folders and files), and the explorer 101 receives such node information from the file system 103, and a virtual disk corresponding to the VCD 200 (eg, D ) and information about the folders and files located under the virtual disk can be displayed so that the user can visually see them.
이제, 사용자가 jwk.jpg를 읽으라고 선택하면, 컴퓨터(100)는 F/S 정보를 참조하여 jwk.jpg에 할당된 섹터들을 알 수 있다. Now, when the user selects to read jwk.jpg, the computer 100 can know the sectors allocated to jwk.jpg by referring to the F/S information.
컴퓨터(100)는 S3와 S10에 대한 읽기 명령어를 순차적으로 VCD(200)에게 전송한다. 예들 들면, 컴퓨터(100)가 읽기 명령어(READ (S3))를 VCD(200)에게 전송하면, SCM(미 도시)는 Table 2-4를 참조하여 S3의 구성정보가 있는지 확인한다.The computer 100 sequentially transmits read commands for S3 and S10 to the VCD 200 . For example, when the computer 100 transmits a read command (READ (S3)) to the VCD 200, the SCM (not shown) checks whether there is configuration information of S3 with reference to Table 2-4.
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 remote storage 300 . In this example, the database, remote storage 300 , receives the above request. The remote storage 300 searches for data stored in the location indicated by the data path of S3 and transmits it to the VCD 200 , and the VCD 200 provides the data to the computer 100 . S10 data can also be read in the same way as S3.
이상에서, 도 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 computer 100 program. That is, according to the present invention, the USB-based cloud disk described above can be configured as a computer program rather than a device.
도 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 computer 100 . The cloud disk 2200 in the form of a program is operatively connected to the file system 103 and the remote storage 300 . In FIGS. 5 and 10 , the same reference numerals are assigned to components having the same or similar operations.
도 10을 참조하면, 컴퓨터(100)는 통신부(109)를 포함하며, 본 발명의 일 실시예에 따른 프로그램 형태의 클라우드 디스크(이하, 'PCD')(2200)는, 통신부(100)를 통해서, 원격 저장소(300)에게 섹터 데이터를 저장하라고 요청하거나, 또는 원격 저장소(300)에게 섹터 데이터를 요청한다. Referring to FIG. 10 , the computer 100 includes a communication unit 109 , and a cloud disk (hereinafter, 'PCD') 2200 in the form of a program according to an embodiment of the present invention is provided through the communication unit 100 . , request the remote storage 300 to store sector data, or request the remote storage 300 to store sector data.
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 description of 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 VCD 200 will be mainly described. The PCD 2200 is operatively connected to the file system 103 rather than the disk layer 105 . When the PCD 2200 is executed by the user in the computer 100 , the file system 103 recognizes that a physical USB storage device is connected to a USB port provided in the computer 100 . When the PCD 2200 is executed by the user, the PCD 2200 generates a virtual signal indicating that it is connected to the USB port provided in the computer 100 (hereinafter, 'virtual connection signal') and sends it to the file system 103 . send The file system 103 receiving the virtual connection signal recognizes that the PCD 2200 is connected to a USB port provided in the computer.
PCD(2200)는 기본 데이터를 파일 시스템(103)에게 전송한다. The PCD 2200 transmits basic data to the file system 103 .
도 10을 참조하면, 컴퓨터(100)의 유저가 대상 파일을 PCD(2200)에 저장하고자 할 경우, 유저는 대상 파일을 PCD(2200)로 저장하는 명령을 한다. 저장 명령을 받은 컴퓨터(100)는 대상 파일을 하나 이상의 데이터로 분할하여 섹터들에 각각 할당하고, 섹터에 할당된 데이터(이하, '섹터 데이터')들을 PCD(2200)에게 전송한다. Referring to FIG. 10 , when the user of the computer 100 wants to save the target file to the PCD 2200 , the user gives a command to save the target file to the PCD 2200 . Upon receiving the save command, the computer 100 divides the target file into one or more data, allocates them to sectors, and transmits the data allocated to the sectors (hereinafter, 'sector data') to the PCD 2200 .
PCD(2200)는 컴퓨터(100)로부터 수신한 섹터 데이터들을 순차적으로 원격 저장소(300)에게 전송한다. 대상 파일이 실제 저장되는 장소는 원격 저장소(300)이지만, 컴퓨터(100)는 대상 파일을 PCD(2200)가 저장하는 것으로 이해하고 취급한다. The PCD 2200 sequentially transmits sector data received from the computer 100 to the remote storage 300 . The location where the target file is actually stored is the remote storage 300 , but the computer 100 understands and treats the target file as being stored by the PCD 2200 .
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 VCD 200 described with reference to FIGS. 5 to 9 . For example, the PCD 2200 may generate sector configuration information using basic data.
RSC 정보와 기본 데이터는 컴퓨터(100)에 구비된 저장부(미도시), 또는 원격 저장소(300)가 아닌 다른 원격 저장소(300)(미 도시)에 저장되어 관리될 수 있다. RSC information and basic data may be stored and managed in a storage unit (not shown) provided in the computer 100 or a remote storage 300 (not shown) other than the remote storage 300 .
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 those of the VCD 200 .
본 발명의 일 실시예에 따른 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 computer 100 , the PCD 2200 provides a virtual connection signal to the file system 103 , and also provides basic data to the file system 103 . Thereafter, the PCD 2200 reads the RSC information (eg, Table 2-1 of FIG. 7 ) and temporarily stores it in a storage unit (not shown) provided in the computer 100 .
파일 시스템(103)은 기본 데이터에 포함된 포맷 타입을 참조하여, F/S 정보가 저장될 섹터를 알 수 있다. 파일 시스템(103)은 F/S 정보를 알기 위해서 읽기 명령어(READ (S0))를 PCD(2200)에게 송신한다. The file system 103 may know the sector in which the F/S information is to be stored by referring to the format type included in the basic data. The file system 103 transmits a read command READ (S0) to the PCD 2200 in order to know F/S information.
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 file system 103 . Since there is no F/S information in the temporary SO data, the file system 103 generates F/S information. The file system 103 also converts the generated F/S information into data to be stored in S0 (hereinafter, 'data 0') and transmits a write command (Write (data 0, S0)) to the PCD 2200 . .
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 the write command (Write(data 0, S0)), it refers to Table 2-2, which is remote configuration information. Since configuration information of S0 exists in Table 2-2, the PCD 2200 transmits data 0, which is S0 data, to the remote storage 300 using the configuration information. The remote storage 300 stores data 0 according to the above request.
본 발명의 일 실시예에 따른 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 computer 100 , the PCD 2200 provides a virtual connection signal to the file system 103 , and also provides basic data to the file system 103 . Thereafter, the PCD 2200 reads the RSC information (eg, Table 2-2 of FIG. 7 ) and temporarily stores it in a storage unit (not shown) provided in the computer 100 .
파일 시스템(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 file system 103 may know the sector in which the F/S information is stored by referring to the format type included in the basic data. The file system 103 transmits a read command READ (S0) to the PCD 2200 in order to know F/S information. When the PCD 2200 receives the read command READ (S0), it refers to Table 2-2 stored in the storage unit (not shown). The PCD 2200 requests data while sending the data path of S0 to the remote storage 300 using the configuration information of S0 present in Table 2-2.
원격 저장소(300)는 S0의 Data path에 저장된 데이터를 찾아서 PCD(2200) 에게 전송하고, PCD(2200)는 그 데이터를 파일 시스템(103)에게 제공한다. The remote storage 300 searches for data stored in the data path of S0 and transmits it to the PCD 2200 , and the PCD 2200 provides the data to the file system 103 .
이제, 사용자가 대상 파일 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 file system 103 divides jwk.jpg into two pieces of data and assigns them to S3 and S10, respectively.
파일 시스템(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 file system 103 transmits the command WRITE(data 3, S3) to the PCD 2200 . The PCD 2200 checks whether there is configuration information of S3 with reference to Table 2-2. Since the configuration information of S3 is not included in Table 2-2, the PCD 2200 generates the configuration information of S3 and adds it to Table 2-2. In FIG. 8 , it is exemplarily shown as Table 2-3 to which configuration information for S3 is added.
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을 저장한다. Data 10 allocated to S10 is also performed in the same manner as described above. That is, upon receiving the WRITE ((data 10, S10), the PCD 2200 first checks whether there is configuration information for S10 with reference to Table 2-3. If there is no configuration information for S10, the configuration for S10 Information is created and added to Table 2-3 Table 2-4 is an updated Table 2-3, and configuration information of S10 is added PCD 2200 uses the configuration information of S10 to store remote storage Data 10 is stored in (300).
본 발명의 일 실시예에 따른 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 a portion of the description will be referred to with FIGS. 5 to 9 as well.
도 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 computer 100 , the PCD 2200 provides a virtual connection signal to the file system 103 , and also provides basic data to the file system 103 . Thereafter, the PCD 2200 reads the RSC information (Table 2-4) and temporarily stores it in a storage unit (not shown) (eg, RAM) provided in the computer 100 .
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 file system 103 . The file system 103 may know the sector in which the F/S information is to be stored by referring to the format type included in the basic data. The file system 103 transmits a read command (READ (S0)) for reading data stored in S0 to the PCD 2200 in order to know F/S information. When the PCD 2200 receives the read command READ (S0), it refers to Table 2-4 stored in the storage unit (not shown). The PCD 2200 requests S0 data from the remote storage 300 using the configuration information of S0 present in Table 2-4.
원격 저장소(300)는 S0의 Data path에 저장된 데이터를 찾아서 PCD(2200) 에게 전송하고, PCD(2200)는 그 데이터를 파일 시스템(103)에게 제공한다. The remote storage 300 searches for data stored in the data path of S0 and transmits it to the PCD 2200 , and the PCD 2200 provides the data to the file system 103 .
이제, 컴퓨터(100)에서 사용자가 대상 파일인 jwk.jpg를 읽으라고 선택하면, 파일 시스템(103)은 F/S 정보를 참조하여, jwk.jpg에 할당된 섹터들을 알아낸다. Now, when the user selects to read the target file jwk.jpg in the computer 100, the file system 103 refers to the F/S information to find out the sectors allocated to jwk.jpg.
파일 시스템(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 file system 103 sequentially transmits read commands for S3 and S10 to the PCD 2200 . For example, when the computer 100 transmits a read command (READ (S3)) to the PCD 2200, the PCD 2200 checks whether there is configuration information of S3 with reference to Table 2-4. The PCD 2200 requests S3 data from the remote storage 300 indicated by the data path of S3. The remote storage 300 searches for S3 data stored in the location indicated by the data path of S3 and transmits it to the PCD 2200 , and the PCD 2200 provides the S3 data received from the remote storage 300 to the file system 103 . . The computer 100 may also receive S10 data from the PCD 2200 in the same manner as S3.
도 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 VCD 200 and PCD 2200 described with reference to FIGS. 5 to 10 , the sector number (ie, virtual space block ID) managed in the F/S information and the sector transmitted to the remote storage 300 are This is an embodiment in which numbers (ie, remote space block IDs) are implemented differently. Therefore, the VCD 200 and the PCD 2200 convert the virtual space block ID into the remote space block ID when creating a data path to be transmitted to the remote storage 300 . Meanwhile, alternatively, if the virtual space block ID and the remote space block ID are implemented identically to each other, the VCD 200 and the PCD 2200 generate a data path to be transmitted to the remote storage 300 , You will be able to use the spatial block ID as it is.
이하에서, 도 1 내지 도 4를 참조하여 설명될 USB 저장장치(200)에서도, Data path를 생성할 때, 가상공간 블록 ID를 원격공간 블록 ID로 변환하는 동작을 수행한다. 한편, 대안적으로(alternatively), 가상공간 블록 ID와 원격공간 블록 ID가 서로 동일하게 구현한다면, USB 저장장치(200)는 원격저장소(300)로 전송하는 Data path를 생성할 때, 가상공간 블록 ID를 그대로 사용할 수 있을 것이다. Hereinafter, even in the USB storage device 200 to be described with reference to FIGS. 1 to 4 , an operation of converting the virtual space block ID into the remote space block ID is performed when a data path is created. Meanwhile, alternatively, if the virtual space block ID and the remote space block ID are implemented identically to each other, the USB storage device 200 creates a data path to be transmitted to the remote storage 300 , the virtual space block You will be able to use the ID as it is.
도 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 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 . Here, the USB storage device 200 may be the VCD 200 described with reference to FIGS. 5 to 9 .
USB 호스트(100)는 컴퓨터 프로세서(미 도시), 기억부(예를 들면, 메모리나 HDD, RAM, 또는 ROM과 같이 데이터를 일시적 및/또는 영구적으로 저장할 수 있는 장치)(미 도시), 운영체제(미 도시), 주변기기(미 도시), 파일 시스템(103)과 같은 리소스(하드웨어와 프로그램)를 구비한 컴퓨터이다. USB 호스트(100)는 USB 저장장치(200)와 USB 규격에 의한 통신을 할 수 있다. The USB host 100 includes a computer processor (not shown), a storage unit (eg, a device capable of temporarily and/or permanently storing data, such as memory or HDD, RAM, or ROM) (not shown), an operating system ( It is a computer equipped with resources (hardware and programs), such as a file system 103, a peripheral device (not shown), and a peripheral device (not shown). The USB host 100 may communicate with the USB storage device 200 according to the USB standard.
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 file system 103 provided in the USB host 100 are operatively connected to each other. have.
파일 시스템(103)의 동작은 도 5 내지 도 10을 참조하여 설명한 파일 시스템(103)에서의 동작과 동일 또는 유사할 수 있다. The operation of the file system 103 may be the same as or similar to the operation of the file system 103 described with reference to FIGS. 5 to 10 .
USB 호스트(100)는 USB 커넥터(210)를 통해서 USB 저장장치(200)와 데이터 및/또는 요청(명령)을 서로 송수신할 수 있다. The USB host 100 may transmit/receive data and/or a request (command) to and from the USB storage device 200 through the USB connector 210 .
USB 저장장치(200)는 적어도 하나의 컴퓨터 프로세서(204), 기억부(예를 들면, RAM(206), ROM(208), 메모리(202)), USB 커넥터(210), 및 통신부(212)를 포함할 수 있다. USB 저장장치(200)는, 또한, 저장공간 구성관리부('SCM')(214), 블록 데이터 연결부('BDC')(218), USB 드라이버(220), 및 속성/블록 정보(216)를 포함할 수 있다. The USB storage device 200 includes at least one computer processor 204 , a storage unit (eg, RAM 206 , ROM 208 , memory 202 ), a USB connector 210 , and a communication unit 212 . may include. The USB storage device 200 also includes a storage space configuration management unit ('SCM') 214 , a block data connection unit ('BDC') 218 , a USB driver 220 , and attribute/block information 216 . may include
USB 저장장치(200)의 저장부(미 도시)는 프로그램들과 데이터들을 일시적 또는 영구적으로 저장할 수 있다. 예를 들면, USB 저장장치(200)의 저장부(미 도시)에 SCM(214)와 BDC(218)이 저장되어 동작될 수 있다. 또한, USB 저장장치(200)의 저장부(미 도시)는 기본 데이터와 RSC 정보를 일시적 또는 영구적으로 저장할 수 있다.The storage unit (not shown) of the USB storage device 200 may temporarily or permanently store programs and data. For example, the SCM 214 and the BDC 218 may be stored and operated in a storage unit (not shown) of the USB storage device 200 . Also, the storage unit (not shown) of the USB storage device 200 may temporarily or permanently store basic data and RSC information.
SCM(214), BDC(218), 및 USB 드라이버(220)와 같은 프로그램은 메모리(202)에 저장되어 있으며, 그 동작을 위해서 프로세서(204)의 제어하에 램(RAM)(206)에 로딩되어 실행될 수 있다. Programs such as the SCM 214 , the BDC 218 , and the USB driver 220 are stored in the memory 202 , and are loaded into the RAM 206 under the control of the processor 204 for their operation. can be executed
USB 저장장치(200)의 컴퓨터 프로세서(204)와 메모리(202)는 동작적으로(operatively) 연결되어 있고, 또한 통신부(212)와도 동작적으로(operatively) 연결되어 있다. The computer processor 204 and the memory 202 of the USB storage device 200 are operatively connected and also operatively connected to the communication unit 212 .
속성/블록 정보(216)는 가상공간 구성정보와 RSC 정보를 포함할 수 있다. The attribute/block information 216 may include virtual space configuration information and RSC information.
속성/블록 정보(216)는 SCM(214)에 의해 관리(생성, 삭제, 변경)될 수 있다. The attribute/block information 216 may be managed (created, deleted, changed) by the SCM 214 .
가상공간 구성정보는 메모리(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 memory 202 , and the RSC information may be stored in the memory 202 or any remote storage (remote storage other than the remote storage 300 ). When the RSC information is stored in any remote storage, the RSC information may be moved or copied to the USB storage device 200 whenever the USB storage device 200 is connected to the computer 100 . RSC information moved or copied to the USB storage device 200 may be loaded into the RAM 206 and used.
가상공간 구성정보는 원격 저장소(300)의 주소(예를 들면, URL), 원격 저장소(300)의 타입, 원격 저장소(300)에 로그인을 할 수 있는 정보(사용자 아이디, 패스워드, 토큰), 포맷의 타입, 및 가상공간의 전체 사이즈(USB 저장장치(200)에서 제공하는 저장 용량)를 포함할 수 있다. 한편, 가상공간 구성정보는 블록의 저장 용량과 블록의 개수를 더 포함할 수 있다. 여기서, '블록'은 도 5 내지 도 10을 참조하여 설명한 '섹터'에 해당한다. The virtual space configuration information includes an address (eg, URL) of the remote storage 300 , a type of the remote storage 300 , information (user ID, password, token) that can log in to the remote storage 300 , and a format may include the type of , and the total size of the virtual space (storage capacity provided by the USB storage device 200 ). Meanwhile, the virtual space configuration information may further include a storage capacity of a block and the number of blocks. Here, the 'block' corresponds to the 'sector' described with reference to FIGS. 5 to 10 .
가상공간 구성정보는, 도 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 the SCM 214 generates a data path for a certain block, referring to 'virtual space block-remote space block mapping data', the SCM 214 finds out the remote space block ID corresponding to the virtual space block ID, included in the data path of
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 communication unit 212 supports communication with the remote storage 300 . For example, the communication unit 212 may be hardware supporting wireless communication such as Wi-Fi or Bluetooth communication, and a program for this may be stored in the storage unit or in the form of firmware in the communication unit.
여기서, '와이 파이'(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 may generate RSC information for the block. For example, the SCM 214 may generate a data path for block data to be transmitted to the remote storage 300 . When generating a data path, the SCM 214 converts the virtual space block ID given by the file system 103 into a remote space block ID, and the converted remote space block ID is included in the data path.
SCM(214)는 RSC 정보를 업데이트할 수 있다. USB 저장장치(200)가 WRITE (S4, data 4)를 수신하면, SCM(214)는 RSC 정보에 S4의 구성정보가 있는지 확인하고 만약 S4의 구성정보가 없다면 S4의 구성정보를 생성하여 RSC 정보에 추가한다. The SCM 214 may update the RSC information. When the USB storage device 200 receives the WRITE (S4, data 4), the SCM 214 checks whether the configuration information of S4 is included in the RSC information. add to
SCM(214)는, 가상공간 구성정보를 참조하여 S4의 구성정보를 생성할 수 있다. 예를 들면, SCM(214)는 가상공간 구성정보에 포함된 사용 가능한 '원격 저장소'를 선택하고, 가상공간 블록 ID에 대응시킬 원격공간 블록 ID를 할당하고, S4의 블록 데이터를 저장할 Data path를 생성한다. The SCM 214 may generate the configuration information of S4 with reference to the virtual space configuration information. For example, the SCM 214 selects an available 'remote storage' included in the virtual space configuration information, allocates a remote space block ID to correspond to the virtual space block ID, and selects a data path to store the block data of S4. create
한편, USB 저장장치(200)가 READ(S3)를 수신하면, SCM(214)는 RSC 정보에 S3의 구성정보가 존재하는지 확인하고, 만약 존재하면 S3의 구성정보를 BDC(218)에게 제공한다. BDC(218)는 S3의 구성정보를 이용하여 원격 저장소(300)에게 블록 데이터를 요청한다. On the other hand, when the USB storage device 200 receives the READ (S3), the SCM 214 checks whether the configuration information of S3 is present in the RSC information, and if present, provides the configuration information of S3 to the BDC 218 . The BDC 218 requests block data from the remote storage 300 using the configuration information of S3.
본 실시예에서, SCM(214)가 관리하는 가상 저장공간은 USB 저장장치(200) 내에 물리적으로 존재하는 공간은 아니며, 가상 저장공간에 대응된 실제적인 물리적인 저장공간은 원격 저장소(300)에 존재한다. In this embodiment, the virtual storage space managed by the SCM 214 is not a space physically present in the USB storage device 200 , and the actual physical storage space corresponding to the virtual storage space is located in the remote storage 300 . exist.
USB 저장장치(200)가 관리하는 가상 저장공간의 전체 크기(용량)는 사용자에 의해 설정되거나 또는 고정된 것일 수 있다. 한편, 가상공간 블록의 크기도 사용자에 의해 정해질 수 있다. SCM(214)는 가상공간 블록의 크기를 설정하고 관리할 수 있다. The total size (capacity) of the virtual storage space managed by the USB storage device 200 may be set or fixed by a user. Meanwhile, the size of the virtual space block may also be determined by the user. The SCM 214 may set and manage the size of the virtual space block.
사용자는 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 USB host 100, and the SCM 214 is operatively connected to the app or browser, and the SCM 214 ) is managed by including the capacity of the virtual storage space set by the user and the size of the virtual space block in the attribute/block information 216 .
BDC(218)는, 파일 시스템(103)으로부터 어떤 블록(예를 들면, S4)에 대한 읽기 명령을 수신할 경우, 블록(S4)에 대한 RSC 정보를 사용하여 원격 저장소(300)에게 블록 데이터를 요청하고, 원격 저장소(300)로부터 수신할 수 있다.When the BDC 218 receives a read command for a block (eg, S4) from the file system 103, it sends the block data to the remote storage 300 using the RSC information for the block S4. Request and receive from remote storage 300 .
또한, 파일 시스템(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 file system 103, the SCM 214 generates RSC information for the block S5, and the BDC 218 generates the generated data in the block S5. The RSC information may be used to request the remote storage 300 to store block data.
BDC(218)는 USB 드라이버(220)와 데이터, 요청, 각종 ID 등과 같은 정보들을 송수신 할 수 있는 인터페이스와 원격 저장소(300)와 데이터, 요청, 각종 ID 등과 같은 정보들을 송수신 할 수 있는 인터페이스를 제공한다. The BDC 218 provides an interface capable of transmitting and receiving information such as data, request, and various IDs to and from the USB driver 220 and an interface capable of transmitting and receiving information such as data, request, and various IDs to and from the remote storage 300 do.
무선통신단말(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 300 , and receives data from the remote storage 300 and stores the USB. to the device 200 .
무선통신단말(400)은 USB 저장장치(200)와의 근거리 통신을 위한 기능을 구비하며, 예를 들면 와이파이나 블루투스와 같은 통신 기능을 구비할 수 있다. The wireless communication terminal 400 has a function for short-distance communication with the USB storage device 200 and may include, for example, 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 smart phone 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. It may be a storage device.
원격 저장소(300)는 USB 저장장치(200)로부터 수신한 블록 데이터를 Data path가 나타내는 장소에 저장한다. 한편, 원격 저장소(300)는 Data path에 포함된 '원격공간 블록ID'를 상기 블록 데이터의 ID로 사용할 수 있다. 예를 들면, 원격 저장소(300)가, 'https://drive.google.com/disk1/sector2'라는 Data path를 수신하였을 때, 'sector2'를 블록 데이터의 ID로 사용할 수 있다. The remote storage 300 stores block data received from the USB storage device 200 in a location indicated by a data path. Meanwhile, the remote storage 300 may use the 'remote space block ID' included in the data path as the ID of the block data. For example, when the remote storage 300 receives a data path of 'https://drive.google.com/disk1/sector2', 'sector2' may be used as an ID of block data.
대안적으로(Alternatively), 원격 저장소(300)는 블록 데이터의 ID를 Data path에 포함된 원격공간 블록 ID가 아닌 다른 것으로 사용할 수 있다. 이러한 경우, 원격 저장소(300)는 원격공간 블록 ID와 원격 저장소(300)가 사용하는 블록 데이터의 ID를 서로 대응시킨 데이터를 자신(300)이 관리할 것이다. Alternatively, the remote storage 300 may use the ID of the block data other than the remote space block ID included in the data path. In this case, the remote storage 300 will manage the data in which the remote space block ID and the ID of the block data used by the remote storage 300 correspond to each other.
본 데이터 관리 시스템의 일 실시예에 따르면, 데이터 저장은 다음과 같이 이루어질 수 있다. 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 USB host 100 transmits block data to be stored in a block (eg, S7) to the USB storage device 200 , the USB storage device 200 generates RSC information to store the block data. The USB storage device 200 transmits block data and a data path to the remote storage 300 through the wireless communication terminal 400 . The remote storage 300 stores data received from the USB storage device 200 in a location indicated by a data path.
본 데이터 관리 시스템의 일 실시예에 따르면, 데이터 읽기는 다음과 같이 이루어질 수 있다. 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 host 100 requests the USB storage device 200 to read data stored in a block (eg, S8), the USB storage device 200 refers to the space configuration information of the block S8. . Thereafter, the USB storage device 200 requests the data stored in the block S8 while transmitting the data path included in the space configuration information of the block S8 to the remote storage 300 . The remote storage 300 reads data stored in the data path and transmits it to the USB storage device 200 . The USB storage device 200 transmits data received from the remote storage 300 to the file system 103 of the computer 100 .
본 발명의 일 실시예에 따르면 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, a data management method according to an embodiment of the present invention includes: receiving, by a USB storage device, a read request of data stored in a sector (eg, S14) from a host of the USB storage device; referring to 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 the 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 storage device 200 , a program for causing the processor of the USB storage device 200 to perform the present data management method is stored. A program for performing the present data management method includes the SCM 214 and the BDC 218 .
본 발명의 일 실시예에 따른 데이터 관리 방법이 제공되며, 본 데이터 관리 방법은, 디스크 세그먼트 매니지먼트 시스템이 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. ) 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, the data management method according to an embodiment of the present invention comprises: 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 the 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.

Claims (6)

  1. 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,
    상기 원격공간 구성정보는, 섹터 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는 상기 원격 저장소에서 상기 섹터 데이터가 저장되는 장소를 나타내고, The Data path indicates a location where the sector data is stored in the remote storage,
    상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 쓰기 명령을 수신할 수 있고,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 sector data data 1 and a data path to store the sector data data 1,
    상기 블록 데이터 연결부는 상기 섹터 데이터(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.
  2. 제1항에 있어서,According to claim 1,
    상기 저장공간 구성관리부는, 상기 섹터(S1)의 구성정보를 생성하기에 앞서, 상기 원격공간 구성정보에 상기 섹터(S1)의 구성정보가 있는지 여부를 확인하고 없을 경우에 상기 섹터(S1)의 구성정보를 생성하고, 생성한 상기 섹터(S1)의 구성정보를 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행하는 것인, USB 기반의 클라우드 디스크.The storage space configuration management unit, prior to generating the configuration information of the sector S1, checks whether the configuration information of the sector S1 is present in the remote space configuration information, 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.
  3. 제2항에 있어서,3. The method of claim 2,
    상기 블록 데이터 연결부가 상기 원격 저장소로 전송하는 상기 섹터 데이터(data 1)와 상기 섹터 데이터(data 1)의 Data path는, 상기 블록 데이터 연결부가 업데이트된 상기 원격공간 구성정보로부터 얻은 것인, USB 기반의 클라우드 디스크.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 obtained from the updated remote space configuration information by the block data connection unit. of cloud disk.
  4. 제1항에 있어서,According to claim 1,
    상기 섹터 데이터(data 1)을 저장할 Data path는, 상기 섹터 데이터(data 1)을 저장할 장소와, 상기 섹터 데이터(data 1)에 대한 원격공간 블록 ID를 포함하며,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),
    상기 쓰기 명령에 포함된 섹터의 ID(S1)는 가상공간 블록 ID이고, The sector ID (S1) included in the write command is a virtual space block ID,
    상기 가상공간 블록 ID와 상기 원격공간 블록 ID는 서로 매핑되어 있는 것인, USB 기반의 클라우드 디스크.The virtual space block ID and the remote space block ID are mapped to each other, USB-based cloud disk.
  5. 제2항에 있어서,3. The method of claim 2,
    상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 읽기 명령을 수신할 수 있고,From a computer connected to the USB-based cloud disk, the USB-based cloud disk may receive a read command,
    상기 읽기 명령은 읽고자 하는 섹터의 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, , receive data stored in the data path of the sector S3 from the remote storage through the communication unit,
    상기 USB 기반의 클라우드 디스크는 상기 읽기 명령을 송신한 상기 컴퓨터에게 상기 통신부를 통해서 수신한 상기 데이터를 전송하는 것인, USB 기반의 클라우드 디스크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
  6. 제2항에 있어서,3. The method of claim 2,
    상기 USB 기반의 클라우드 디스크와 연결된 컴퓨터로부터, 상기 USB 기반의 클라우드 디스크는 읽기 명령을 수신할 수 있고,From a computer connected to the USB-based cloud disk, the USB-based cloud disk may receive a read command,
    상기 읽기 명령은 읽고자 하는 섹터의 ID(S0)를 포함하며The read command includes the ID (S0) of the sector to be read,
    상기 읽기 명령이 상기 업데이트 동작이 완료되기 전에 수신된 경우에는, 상기 저장공간 구성관리부는 업데이트 되기 전의 상기 원격공간 구성정보에 상기 섹터(S0)의 구성정보가 존재하는지 여부를 확인하며,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,
    상기 섹터(S0)의 구성정보가 존재하지 않을 경우, 상기 저장공간 구성관리부는 상기 섹터(S0)의 구성정보를 생성하여 상기 업데이트 되기 전의 상기 원격공간 구성정보에 추가하는 업데이트 동작을 수행하며, If 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 it to the remote space configuration information before being updated,
    상기 섹터(S0)의 구성정보는, 상기 섹터(S0)에 저장할 섹터 데이터(data 0)를 전송할 원격 저장소와, 상기 섹터 데이터(data 0)을 저장할 Data path를 포함하는 것인, USB 기반의 클라우드 디스크.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.
PCT/KR2021/005145 2020-04-23 2021-04-23 Usb-based cloud disk and disk segment management system WO2021215867A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200049499 2020-04-23
KR10-2020-0049499 2020-04-23

Publications (1)

Publication Number Publication Date
WO2021215867A1 true WO2021215867A1 (en) 2021-10-28

Family

ID=78269499

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/005145 WO2021215867A1 (en) 2020-04-23 2021-04-23 Usb-based cloud disk and disk segment management system

Country Status (2)

Country Link
KR (1) KR102650146B1 (en)
WO (1) WO2021215867A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120113106A (en) * 2011-04-04 2012-10-12 (주) 휴니트네트웍스 Terminal unit for cloud service, system and method for cloud serving using the same and computer-readable recording medium with program therefor
KR20140066919A (en) * 2012-11-23 2014-06-03 주식회사 이너스텍 Method and system for transferring data between cloud and external device
KR20150067643A (en) * 2013-12-10 2015-06-18 한국전자통신연구원 Method and apparatus for sharing file in cloud storage service
KR20150071898A (en) * 2013-12-19 2015-06-29 주식회사 퓨쳐텍 Mobile storage device providing mass virtual storage space and providing method thereof
KR20190078198A (en) * 2017-12-26 2019-07-04 국민대학교산학협력단 Secure memory device based on cloud storage and Method for controlling verifying the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102480414B1 (en) * 2015-03-20 2022-12-23 삼성전자주식회사 Method for storing a file by using a plurality of cloud storage and apparatus thereof
KR20190087217A (en) * 2018-01-16 2019-07-24 에스케이하이닉스 주식회사 Data storage device and operating method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120113106A (en) * 2011-04-04 2012-10-12 (주) 휴니트네트웍스 Terminal unit for cloud service, system and method for cloud serving using the same and computer-readable recording medium with program therefor
KR20140066919A (en) * 2012-11-23 2014-06-03 주식회사 이너스텍 Method and system for transferring data between cloud and external device
KR20150067643A (en) * 2013-12-10 2015-06-18 한국전자통신연구원 Method and apparatus for sharing file in cloud storage service
KR20150071898A (en) * 2013-12-19 2015-06-29 주식회사 퓨쳐텍 Mobile storage device providing mass virtual storage space and providing method thereof
KR20190078198A (en) * 2017-12-26 2019-07-04 국민대학교산학협력단 Secure memory device based on cloud storage and Method for controlling verifying the same

Also Published As

Publication number Publication date
KR20210131256A (en) 2021-11-02
KR102650146B1 (en) 2024-03-22

Similar Documents

Publication Publication Date Title
WO2019190277A1 (en) Method for processing data and electronic device supporting same
WO2020246822A1 (en) Electronic device and method for switching electronic device between dual standby mode and single standby mode
WO2015041438A1 (en) Method for screen mirroring and source device thereof
WO2016068622A1 (en) Terminal device and method of controlling same
WO2015016627A1 (en) Method and device for connecting single ap device among multiple ap devices on same network to terminal
CN104247376A (en) File uploading method in cloud storage, client, application server, and cloud storage system
WO2018090823A1 (en) Method and system for protecting system partition key data, and terminal
WO2018076868A1 (en) Data synchronization method, device and system, storage medium and server
WO2018076889A1 (en) Data backup method, device, system, storage medium and server
WO2015026058A1 (en) Method, terminal, and system for reproducing content
WO2015102220A1 (en) Storage system having security storage device and management method therefor
EP3935578A1 (en) Neural network model apparatus and compressing method of neural network model
WO2018139857A1 (en) Electronic device and method for managing data in electronic device
WO2017034136A1 (en) Mobile apparatus, image scan apparatus and method for processing a job
WO2020256301A1 (en) Electronic device including storage and method for using the storage
WO2015157942A1 (en) Device and method for accessing wireless network
WO2017155207A1 (en) Management server and file managing method
WO2018076829A1 (en) Terminal data processing method, apparatus, system, storage medium and server
WO2018076811A1 (en) Data sharing method, device, system, storage medium and electronic device
WO2021215867A1 (en) Usb-based cloud disk and disk segment management system
WO2020180045A1 (en) Electronic device and method for utilizing memory space thereof
WO2010147410A2 (en) Method and device for upgrading rights object that was stored in memory card
WO2020075960A1 (en) Electronic device, external electronic device, and method for controlling external electronic device by using electronic device
WO2011020360A1 (en) Document storage method
WO2019019341A1 (en) File storage method, terminal and computer readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21792256

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21792256

Country of ref document: EP

Kind code of ref document: A1