KR101874748B1 - Hybrid storage and method for storing data in hybrid storage - Google Patents

Hybrid storage and method for storing data in hybrid storage Download PDF

Info

Publication number
KR101874748B1
KR101874748B1 KR1020170054098A KR20170054098A KR101874748B1 KR 101874748 B1 KR101874748 B1 KR 101874748B1 KR 1020170054098 A KR1020170054098 A KR 1020170054098A KR 20170054098 A KR20170054098 A KR 20170054098A KR 101874748 B1 KR101874748 B1 KR 101874748B1
Authority
KR
South Korea
Prior art keywords
target block
block
storage
target
priority
Prior art date
Application number
KR1020170054098A
Other languages
Korean (ko)
Inventor
노재춘
최훈하
김태훈
김영우
송광혁
박정민
박성순
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020170054098A priority Critical patent/KR101874748B1/en
Application granted granted Critical
Publication of KR101874748B1 publication Critical patent/KR101874748B1/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention discloses a hybrid storage capable of providing excellent input/output performance with a lower cost than a storage composed of only a flash memory, and a method for storing data in a hybrid storage. The method for storing data in a hybrid storage comprises the following steps of: registering a write-requested data block as a target block of priority determination; relatively determining priority of the target block according to the number of read requests with respect to the target block; and changing a storing position of the target block according to the priority.

Description

HYBRID STORAGE AND METHOD FOR STORING DATA IN HYBRID STORAGE FIELD OF THE INVENTION [0001]

The present invention relates to a method of storing data in a hybrid storage and a hybrid storage, and more particularly, to a method of storing data in a hybrid storage and hybrid storage capable of providing excellent input / output performance at a low cost compared to a storage composed of only a flash memory.

Various computing technologies have been developed and used to enhance the performance of storage devices. Redundant Array of Independent Disks (RAIDs) can consolidate multiple storage devices rather than using a single storage device to further increase I / O performance or guarantee higher reliability. Because of this, HDD (Hard Disk Drive) has a problem of seek time and overhead due to mechanical problems, which causes low input / output performance and frequent failures.

With the emergence of high performance storage devices such as flash-SSD, DRAM-SSD and PCM-SSD, various storage platforms based on SSD (Solid State Drive) have been attracting attention. Although SSD-based storage has the advantage of providing higher input / output performance, the cost per unit capacity of the SSD is significantly higher than that of the HDD.

Hybrid storage, which utilizes the advantages of each device, has been introduced by using HDD and SSD together.

A related prior art document is Korean Patent Publication No. 2016-0090298.

The present invention provides a method of storing data in a hybrid storage and hybrid storage capable of providing excellent input / output performance at a low cost compared to a storage composed of only a flash memory.

According to an aspect of the present invention, there is provided a method for determining a priority of a data block, the method comprising: registering a write-requested data block as a target block for priority determination; Determining a priority of the target block relatively according to the number of read requests to the target block; And changing a storage location of the target block in accordance with the priority order.

According to another aspect of the present invention, there is provided a priority determination target registering unit for registering a write-requested data block as a target block for priority determination. A priority determining unit that relatively determines a priority of the target block according to the number of read requests for the target block; Different types of storage in which the target block is stored at a storage location determined according to the priority; And a table generator for generating a replacement table in which the target block whose storage position is changed is stored in the registered target block.

According to the present invention, it is possible to improve the input / output performance experienced by a user using a hybrid storage including a HDD having a relatively slow input / output speed as well as an SSD having a high input / output speed.

According to the present invention, resources and time required for priority determination can be reduced by registering a plurality of data blocks as one target block and determining a priority.

1 is a view for explaining a hybrid storage according to an embodiment of the present invention.
2 is a flowchart illustrating a method of storing data in a hybrid storage according to an embodiment of the present invention.
FIG. 3 illustrates a method of registering a block to be prioritized according to an embodiment of the present invention. Referring to FIG.
4 and 5 are views for explaining a method of registering a block to be prioritized according to another embodiment of the present invention.
6 is a view for explaining a data storing method according to another embodiment of the present invention.
FIG. 7 is a diagram illustrating a Linux-based RAID system structure according to a specific embodiment of the present invention.

While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

The present invention proposes a data storage method in hybrid storage and hybrid storage capable of providing excellent input / output performance at a low cost compared to a storage composed of only a flash memory such as an SSD. The hybrid storage according to the present invention includes different types of storage, and may include an SSD and an HDD as one embodiment.

The hybrid storage according to the present invention determines the priority according to the number of accesses to the stored data blocks and adjusts the storage location of the data blocks according to the priority. Since the input / output performance of the SSD is superior to that of the HDD, the present invention can be controlled to store data having a high access count in the SSD and data having a low access count in the HDD.

Therefore, according to the present invention, since the input / output speed of a file frequently used by a user can be fast even if a storage is not constituted only by an SSD, a speed of a user's input / output can be increased. Lt; / RTI >

Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

1 is a view for explaining a hybrid storage according to an embodiment of the present invention.

Referring to FIG. 1, a hybrid storage according to the present invention includes a storage device 110 and a controller 120.

The storage unit 110 stores data in units of data blocks, and includes different types of storage. As an example, the storage unit 110 may include an SSD and a HDD 113. And the SSD may include a first SSD 111 using a PCI-E interface and a second SSD 112 using a SATA interface, depending on the embodiment.

The controller 120 determines the priority of the data block according to the number of accesses to the data block stored in the storage unit 110. [ At this time, the data block requested to be written is registered as a target block for priority determination, and the storage location of the target block is changed according to the priority of the target block.

The priority is relatively determined, and the priority of the data block having a higher access frequency is higher. A data block having a relatively high priority is stored in the SSD, and a data block having a relatively low priority is stored in the HDD 113. [ If the priority of the data block stored in the HDD 113 increases according to the number of accesses, the controller 120 moves the data block stored in the HDD 113 to the SSD, and if the priority of the data block stored in the SSD is low The data block stored in the SSD is moved to the HDD 113. [

The controller 120 stores data blocks having higher priority in the first SSD 111 having a higher I / O rate among the data blocks stored in the SSD, and stores data blocks having a relatively lower priority in the second SSD 112 ). That is, the data block with the highest priority is stored in the first SSD 111, the second highest data block is stored in the second SSD 112, and the data block having the lowest priority is stored in the HDD 113.

More specifically, the controller 120 includes a priority determination target registration unit 121 and a priority determination unit 123, and may further include a table generation unit 125 and a tree generation unit according to an embodiment.

The priority determination target registration unit 121 registers the data block requested to be written as a target block for priority determination, for example, registers the address of the data block requested to be written in the priority list.

The priority determination unit 123 relatively determines the priority of the target block according to the number of read requests for the target block. The higher the number of read requests, the higher the priority.

The table generation unit 125 generates a replacement table in which the target block whose storage position is changed is stored among the registered target blocks. The tree generating unit generates a block tree including a first tree representing the number of consecutively writable blocks and a second tree representing an address of consecutively writable blocks in the target storage in which the target block is to be stored.

The hybrid storage according to the present invention may be, for example, a RAID system.

According to the present invention, it is possible to improve the input / output performance experienced by a user using a hybrid storage including a HDD having a relatively slow input / output speed as well as an SSD having a high input / output speed.

2 is a flowchart illustrating a method of storing data in a hybrid storage according to an embodiment of the present invention.

The hybrid storage according to the present invention registers the write-requested data block as a target block for priority determination (S210). Then, the priority of the target block is relatively determined according to the number of read requests for the target block (S220), and the storage location of the target block is changed according to the priority (S230).

In step S230, the hybrid storage preferentially stores a target block having a relatively high priority in the SSD and preferentially stores a target block having a relatively high priority among the data blocks to be preferentially stored in the SSD in the first SSD. The previously stored data block can move between the HDD, the first SSD, and the second SSD according to the priority.

Hybrid storage according to the present invention is characterized in that when at least one available storage space of different types of storage is at a threshold value because the resources are consumed and the lifetime of the SSD may be reduced if the data blocks are moved in real- , The storage position of the target block can be changed.

For example, if the threshold value is set to 5%, among the total storage capacity of at least one of the HDD, the first SSD, and the second SSD, if there is storage in which the available storage space for storing data falls below 5% The storage location of the target block may be changed according to the rank.

The priority of the target block can be determined according to the number of read requests occurring between the time when the storage location of the target block is changed. That is, the priority of the target block is reset at the time when the storage location of the target block is changed, and can be determined according to the number of read requests after reset. Alternatively, according to the embodiment, the priority of the target block can be determined according to the accumulated number of read requests irrespective of the change point of the storage position of the target block.

According to an embodiment of the present invention, a data storage method according to the present invention may further include storing a target block whose storage location has been changed in a replacement table among the registered target blocks. When an existing file system is used in hybrid storage, according to the present invention, a data block whose storage location has been changed can be read by confirming the current storage location of the target block by using the replacement table without changing the structure of the file system .

FIG. 3 illustrates a method of registering a block to be prioritized according to an embodiment of the present invention. Referring to FIG.

The data block registered in step S210 of FIG. 2 is subject to priority determination. When a priority is determined for each data block, a large amount of resources and throughput are required. Therefore, For example, when a plurality of data blocks simultaneously requested to be written are present and addresses are continuous, a plurality of data blocks can be registered as one target block.

Generally, data included in one file is stored in the adjacent storage. In view of this, the present invention proposes a method of determining a priority by setting a plurality of data blocks as one target block.

In other words, as shown in FIG. 3, when a write request is generated for four data blocks of a given data block 310 having consecutive addresses, each data block is not registered as a target block, (A) of the target block A.

As a result, according to the present invention, a plurality of data blocks are registered as one target block to determine a priority, thereby reducing resources and time required for priority determination.

4 and 5 are views for explaining a method of registering a block to be prioritized according to another embodiment of the present invention.

In Figs. 4 and 5, a straight line represents a given data block, and A represents a block registered as a target block in a given data block. A new write request (WR) occurs for a given data block, and in Figures 4 and 5, the address where the new write request (WR) occurred is designated by two straight lines perpendicular to the data block.

4A, if a new write request WR is generated for a data block at an address different from the target block A after the target block A is registered, data corresponding to the new write request WR The block is registered as a new target block.

As shown in FIG. 4B, when all of the data blocks in which the new write request WR is generated are included in the target block A, the data block corresponding to the new write request WR is not registered as a new target block.

5 is a diagram showing a case where all or a part of the first target block A registered by the first write request is included in a second write request (WR) data block, in which case the first target block A) are expanded and registered in the priority list.

5A, when all of the first target block A is included in the data block in which the second write request WR has occurred, the first target block A performs the second write request WR) is changed to the expanded form (A ') by the size of the generated data block and is registered in the priority list. That is, in the extended form A ', the block excluding the first object block A is not registered as a new object block but the first object block A is registered in the priority list in an expanded form.

The second target block B and the first target block B contiguous with the address of the first target block A are connected to the second write request WR data block as shown in FIG. If included, the first object block A is updated in such a manner that the second object block B is included. That is, the first object block A is registered in the priority list with the form A 'expanded by the length of the sum of the lengths of the first and second object blocks A and B.

5C, when a part of the first target block A is included in the data block in which the second write request WR is generated, the first target block receives the second write request WR And is registered in the priority list in the expanded form (A ') by the length of the generated data block.

6 is a view for explaining a data storing method according to another embodiment of the present invention.

The hybrid storage according to the present invention checks the address of a writable block of a target storage in which a target block is to be stored and determines whether the address of the target storage is consecutive according to the number of consecutive writable addresses and the number of data blocks constituting the target block A part or all of the target block is preferentially moved and stored.

The hybrid storage according to the present invention may generate a block tree to identify writeable addresses in the target storage.

6B, among the blocks 620 of the target storage to which the target block 610 is to be moved and stored, the address of a block that can be written, that is, the block in which data is not stored is 0, 1, 4 -7, 10, and 12-16, the hybrid storage can generate the block tree 600 as shown in FIG. 6A.

The first tree represents the number of consecutively writable blocks in the target storage, and the second tree represents the addresses of consecutively writable blocks. The blocks corresponding to addresses 12-16 are five consecutively writable blocks, and the blocks corresponding to addresses 4-7 are consecutively writable four blocks. A block corresponding to address 0-1 is two consecutively writable blocks, and a block corresponding to address 10 is one consecutively writable block.

The hybrid storage uses the block tree 600 to move and store some or all of the target blocks 610 in blocks of the target storage in which the writable addresses are maximally continuous.

As shown in FIG. 6B, the block of the target storage in which the writable addresses are continuous at the maximum is five blocks corresponding to the addresses 12-16, and the target block 610 is composed of six data blocks in total , Five data blocks in the target block 610 are preferentially stored in five blocks corresponding to the addresses 12-16. And the remaining one data block in the target block 610 may be stored in a block corresponding to the address 10. [

That is, five data blocks that are a part of the target block 610 are preferentially stored in a block of the target storage corresponding to the address 12-16 where the number of consecutive writable addresses is the maximum.

If the target block is composed of a total of five data blocks, five data blocks, which are all of the target block 610, may be stored in a block of target storage corresponding to addresses 12-16 first.

Alternatively, if the target block is composed of a total of four data blocks, it is stored in a block corresponding to addresses 4-7. That is, the target block is stored in a block of the target storage having the same number of consecutive writable addresses as the number of data blocks constituting the target block.

FIG. 7 is a diagram illustrating a Linux-based RAID system structure according to a specific embodiment of the present invention.

7, a RAID system according to the present invention includes a k-HyRAID 710, a u-HyRAID 720, a dm HyRAID 730, a device mapper 740, a first and a second SSD 750 , 760, and an HDD 770.

The k-HyRAID 710 registers the target block for priority determination, determines the priority of the target block, and operates in the Linux kernel area.

The dm-HyRAID 730 is formed by converting the storage space of the physical storages 750, 760, and 770 into virtual logical storage space blocks, and is composed of three groups corresponding to the SSD and the HDD. As an example, the first group may correspond to the first SSD 750, the second group to the second SSD 760, and the third group to the HDD 770.

The device mapper 740 maps physical storage 750, 760, 770 to a virtual block device and is a framework provided in the Linux kernel.

The target block whose priority is determined in the k-HyRAID 710 is mapped to the logical storage space block of the dm-HyRAID 730 by the device mapper 740. The target block having a high priority is mapped to the first group of the dm-HyRAID 730, and the target block having the next highest priority is mapped to the second group of the dm-HyRAID 730. And the object block having the lowest priority is mapped to the third group of the dm-HyRAID 730. The target blocks mapped to the respective groups of the dm-HyRAID 730 are stored in the physical storages 750, 760, and 770 corresponding to the respective groups.

The u-HyRAID 720 performs a user interface function. HyRAID 710 to the user or transmits the setting information input from the user to the k-HyRAID 710.

The above-described technical features may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (12)

Registering a data block requested to be written as a target block for priority determination;
Determining a priority of the target block relatively according to the number of read requests to the target block; And
And changing a storage location of the target block according to the priority,
The step of registering as a target block of priority determination
When a plurality of data blocks simultaneously requested to be written are simultaneously addressed, the plurality of data blocks are registered as one target block
How to store data in hybrid storage.
delete The method according to claim 1,
The step of registering as a target block of priority determination
When all or a part of the first object block registered by the first write request is included in the second write-requested data block, the first object block is expanded and registered
How to store data in hybrid storage.
The method of claim 3,
The step of registering as a target block of priority determination
When the second target block and the first target block consecutive to the address of the first target block are included in the second write requested data block, the first target block includes the second target block, Renew
How to store data in hybrid storage.
The method according to claim 1,
Further comprising the step of storing, in the replacement table, a target block whose storage location has been changed from among the registered target blocks,
The step of changing the storage location of the target block
The current storage position of the target block is confirmed using the replacement table
How to store data in hybrid storage.
The method according to claim 1,
The hybrid storage
SSD and HDD,
The step of changing the storage location of the target block
And stores the target block having a relatively high priority in the SSD
How to store data in hybrid storage.
The method according to claim 6,
The SSD
A first SSD using a PCI-E interface and a second SSD using a SATA interface,
The step of changing the storage location of the target block
And stores the target block having a relatively high priority in the first SSD
How to store data in hybrid storage.
The method according to claim 1,
The step of changing the storage location of the target block
When the available storage space of at least one of the different types of storage is equal to or smaller than a threshold value,
How to store data in hybrid storage.
The method according to claim 1,
The step of changing the storage location of the target block
Identifying an address of a writable block of the target storage in which the target block is to be stored; And
And prioritizing part or all of the target block to a block of the target storage in which the number of consecutive writable addresses is at a maximum
Lt; RTI ID = 0.0 > a < / RTI > hybrid storage.
The method according to claim 1,
The hybrid storage
RAID system
How to store data in hybrid storage.
A priority determination target registering unit for registering a data block requested to be written as a target block for priority determination;
A priority determining unit that relatively determines a priority of the target block according to the number of read requests for the target block;
Different types of storage in which the target block is stored at a storage location determined according to the priority; And
And a table generation unit for generating a replacement table in which the target block whose storage position is changed is stored among the registered target blocks,
The priority determination target registration unit
When a plurality of data blocks simultaneously requested to be written are simultaneously addressed, the plurality of data blocks are registered as one target block
Hybrid storage.
12. The method of claim 11,
Further comprising a tree generating unit generating a block tree including a first tree representing a number of consecutively writable blocks in a target storage in which the target block is to be stored and a second tree representing an address of the consecutively writable block,
The target block is stored in a block of the target storage having the same number of consecutive writable addresses as the number constituting the target block
Hybrid storage.
KR1020170054098A 2017-04-27 2017-04-27 Hybrid storage and method for storing data in hybrid storage KR101874748B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170054098A KR101874748B1 (en) 2017-04-27 2017-04-27 Hybrid storage and method for storing data in hybrid storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170054098A KR101874748B1 (en) 2017-04-27 2017-04-27 Hybrid storage and method for storing data in hybrid storage

Publications (1)

Publication Number Publication Date
KR101874748B1 true KR101874748B1 (en) 2018-07-04

Family

ID=62912888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170054098A KR101874748B1 (en) 2017-04-27 2017-04-27 Hybrid storage and method for storing data in hybrid storage

Country Status (1)

Country Link
KR (1) KR101874748B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210078740A (en) * 2019-12-19 2021-06-29 (주)큐니온 Multi channel hybrid storage in unmanned aerial vehicle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675694B1 (en) * 2015-09-11 2016-11-23 성균관대학교산학협력단 Block replacement method of ssd based on block popularity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675694B1 (en) * 2015-09-11 2016-11-23 성균관대학교산학협력단 Block replacement method of ssd based on block popularity

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210078740A (en) * 2019-12-19 2021-06-29 (주)큐니온 Multi channel hybrid storage in unmanned aerial vehicle
KR102358531B1 (en) * 2019-12-19 2022-02-07 (주)큐니온 Multi channel hybrid storage in unmanned aerial vehicle

Similar Documents

Publication Publication Date Title
US20220137849A1 (en) Fragment Management Method and Fragment Management Apparatus
KR101086857B1 (en) Control Method of Solid State Storage System for Data Merging
JP5943096B2 (en) Data migration for composite non-volatile storage
US20050216665A1 (en) Storage system and method for controlling block rearrangement
CN111679795B (en) Lock-free concurrent IO processing method and device
US10503424B2 (en) Storage system
US10606503B2 (en) Apparatus to reduce a data-migration time for rearranging data between storage hierarchical layers
US10089234B2 (en) Disk cache allocation
US20140095772A1 (en) Computing system and method of managing data in the computing system
US8862819B2 (en) Log structure array
KR102347841B1 (en) Memory management apparatus and control method thereof
CN111857552A (en) Storage management method, electronic device and computer program product
JP2021529406A (en) System controller and system garbage collection method
JP5730446B1 (en) Hierarchical storage system with trial area, storage controller and program
KR101874748B1 (en) Hybrid storage and method for storing data in hybrid storage
US9547450B2 (en) Method and apparatus to change tiers
JP2021135538A (en) Storage control apparatus and storage control program
CN108334457B (en) IO processing method and device
EP2381354A2 (en) Data recording device
US20130246842A1 (en) Information processing apparatus, program, and data allocation method
US9552292B2 (en) Apparatus and method for allocating virtual memory addresses to continuous physical addresses
US11429519B2 (en) System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
US8478938B2 (en) Performing data writes in parity protected redundant storage arrays
CN107132996B (en) Intelligent thin provisioning-based storage method, module and system
KR100859989B1 (en) Apparatus for managing space information of flash memory and method of the same

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant