WO2014209234A1 - Method and apparatus for hot data region optimized dynamic management - Google Patents

Method and apparatus for hot data region optimized dynamic management Download PDF

Info

Publication number
WO2014209234A1
WO2014209234A1 PCT/SG2014/000307 SG2014000307W WO2014209234A1 WO 2014209234 A1 WO2014209234 A1 WO 2014209234A1 SG 2014000307 W SG2014000307 W SG 2014000307W WO 2014209234 A1 WO2014209234 A1 WO 2014209234A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
interval
volatile memory
lba
hotness
Prior art date
Application number
PCT/SG2014/000307
Other languages
French (fr)
Inventor
Yong Hong WANG
Rajesh VELLORE ARUMUGAM
Kyawt Kyawt KHAING
Original Assignee
Agency For Science, Technology And Research
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 Agency For Science, Technology And Research filed Critical Agency For Science, Technology And Research
Publication of WO2014209234A1 publication Critical patent/WO2014209234A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/217Hybrid disk, e.g. using both magnetic and solid state storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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

Definitions

  • the field of the present invention relates generally to cache management within storage systems having an array of hybrid drives and more particularly relates to methods and apparati for dynamic estimation, monitoring and detection of hot data regions on the hybrid drives.
  • Hybrid disk drives are a kind of storage device that places a small amount of flash memory (non-volatile memory (NVM)) inside hard disk drives. It was originally developed for consumer electronic devices. With the proliferation of solid state disk (SSD) storage incorporated into conventional storage systems, advantages can be further achieved in terms of performance improvement, reliability enhancement, and power consumption reduction. Hybrid drives are now being applied in data center enterprise storage systems, offering hybrid storage solution advantages with optimized economic benefits.
  • SSD solid state disk
  • a cache manager In hybrid storage systems with separate solid-state cache, or flash memory, a cache manager must maintain address mapping between the flash memory and the disk. With the use of hybrid disks, such complexity is reduced as the essential cache management functionalities have been pushed into the hybrid drive. However, conventional cache management methods used in a system level cache manager still preserve the complexity which becomes the bottleneck in terms of operation performance and efficiency as data workloads increase.
  • a method in a non-volatile memory manager of reconfiguring a non-volatile memory in a hybrid storage device used in conjunction with a host computer is provided.
  • the hybrid storage device also includes the non-volatile memory unit and a storage disk medium, wherein the nonvolatile memory manager is coupled between the host computer, the non-volatile memory unit and the disk storage medium.
  • the method interpreting a plurality of data hotness values to record a plurality of logical locations associated with hot data and estimating the plurality of data hotness values of a plurality of block regions on the disk storage medium.
  • the method further includes dynamically adjusting logical block addressing (LBA) intervals of data on the storage disk medium for storing the hot data based on the plurality of data hotness values in the non- volatile memory unit.
  • LBA logical block addressing
  • a hybrid storage device manager is provided.
  • the hybrid storage device manager is coupled between a host computer, a non- volatile memory unit and a disk storage medium.
  • the hybrid storage device manger includes a data hotness interpretation module, a data hotness estimator and a dynamic LBA range adjuster.
  • the data hotness interpretation module that interprets data hotness value to record a plurality of logical locations associated with hot data.
  • the data hotness estimator that estimates data hotness values of block regions on the disk storage medium.
  • the dynamic LBA range adjuster that adjusts the dynamic LBA range or interval of the data on the storage disk medium for storing hot data on the nonvolatile memory unit based on data hotness value from the data hotness estimator.
  • a method in a storage controller in a storage system having an array of hybrid drives is provided.
  • the storage controller is coupled between a host computer and the array of hybrid drives and each hybrid drive in the array of hybrid drives includes a non- volatile memory unit and a disk storage medium.
  • the method includes interpreting a plurality of data hotness values to record a plurality of logical locations associated with hot data and estimating the plurality of data hotness values of a plurality of block regions on the disk storage medium of the array of hybrid drives.
  • the method further includes dynamically adjusting LBA intervals of data on the storage disk medium of the array of hybrid drives for storing the hot data based on the plurality of data hotness values in the storage controller.
  • FIG. 1 illustrates a hybrid storage system in accordance with a present embodiment.
  • FIG. 2 comprising FIGs. 2A and 2B, illustrates a hybrid drive cache management module with a non- volatile memory (NVM) cache manager in accordance with the present embodiment, wherein FIG. 2A is a block diagram of the hybrid drive cache management module and FIG. 2B is a block diagram of hybrid storage device NVM cache manager.
  • NVM non- volatile memory
  • FIG. 3 illustrates a mechanism for dynamic hot logical block addressing (LBA) range or hot LBA interval monitoring and detection in accordance with the present embodiment.
  • LBA dynamic hot logical block addressing
  • FIG. 4 depicts a flowchart of dynamic range/interval based cache mapping in accordance with the present embodiment.
  • FIG. 5 illustrates interval overlap handling in accordance with the present embodiment when there is no existing node in the range of the incoming interval.
  • FIG. 6 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval is within an existing node on an interval tree.
  • FIG. 7 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval overlaps the minimum range of the existing node on the interval tree.
  • FIG. 8 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval overlaps the maximum range of the existing node on the interval tree.
  • FIG. 9 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval overlaps the minimum and maximum range of the existing node on the interval tree.
  • FIG. 10 depicts a flowchart of NVM Cache cold data fast eviction in accordance with the present embodiment.
  • FIG. 11 illustrates a component of a LBA address range node in accordance with the present embodiment.
  • FIG. 12 illustrates an interval tree with seven address range entries in accordance with the present embodiment.
  • Embodiments also seek to provide a method for dynamic LBA range or interval adjustments for caching hot data on the hybrid drive NVM cache based on hotness value, by categorizing interval overlap handling and data hotness value update. Further embodiments seek to provide a method for fast identification and eviction of cold block regions (LBA range or interval) from the hybrid drive NVM cache.
  • an illustration 100 depicts a storage system in accordance with a present embodiment which includes a redundant array of independent disks (RAID) controller with a non-volatile (NV) hybrid drive management module 110 acting as an interface between application servers 120 and a hybrid disk array 130.
  • FIG. 2 including FIGs. 2A and 2B, illustrates the NV hybrid drive management module 205 of the RAID controller 1 10 in accordance with the present embodiment.
  • the hybrid drive management module 205 acts as a storage controller inside the storage system of FIG. 1 which includes the array of hybrid drives 130.
  • a block diagram 200 of the hybrid drive management module 205 includes a NV cache manager 210 bilaterally coupled to an input/output (I/O) collector 220, a hybrid drive configuration module 222, an in-memory storage 224, NV cache algorithms 226 and an analog telephone adapter (ATA) NV cache commands module 228.
  • the in-memory storage 224 is preferably a dynamic random access memory (DRAM) and includes a NV cache data address mapping portion 232, a LBA usage metrics storage portion 234, a RAID disk mapping and logical unit number (LUN) configuration portion 236, and a hybrid drive information storage portion 238.
  • the NV cache algorithms 226 includes normal data algorithms 240, RAID reconstruct algorithms 242, Diff utilities service algorithms 244, snapshot data algorithms 246 and other types of algorithms 248.
  • the hybrid drive management module 205 also includes an application programming interfaces (APIs) and communications module 250.
  • the APIs and communications module 250 is bilaterally coupled to the ATA NV cache commands module 228 for exchanging ATA NV cache commands for small computer system interface (SCSI) pass-through.
  • the APIs and communications module 250 is also bilaterally coupled to the I/O collector 220 I/O monitoring and collecting a history of LBA, length, time and type of input and output communications. Further, the APIs and communications module 250 is coupled to the NV cache manager 210 to provide RAID disk mapping and LUN configuration information thereto and to provide RAID reconstructing and stripes information (e.g., range) thereto.
  • a block diagram 260 of the NV cache manager 210 depicts six functional modules.
  • the six functional modules includes a data hotness interpretation module 262 to interpret a data hotness value to record a plurality of logical locations associated with hot data, a data hotness estimator 264 that estimates data hotness values of block regions on the disk storage medium, a LBA range adjuster 266 that adjusts the dynamic LB A range or interval of the data on the storage disk medium for storing hot data based on data hotness value from the data hotness estimator 264, a hot data monitoring and detection module 268 for dynamically monitoring and detecting hot data regions on the storage medium, and a cold block eviction module 270 that identifies and evicts cold block regions from the non-volatile memory unit.
  • the present embodiment seeks to provide methods and apparati for estimation of hotness values of block regions (LB A range or interval) on the magnetic media of the hybrid drive.
  • the data hotness value (dhv) is estimated on the following basis:
  • Randomness (r) (Running average of LBA displacement from previous access to the same interval)/(IO size)
  • data hotness value considers data recentness (afv), frequency (n) and randomness (r) cost in accessing a LBA interval or range.
  • FIG. 3 is an illustration 300 of a typical interval tree node of a hybrid drive storage medium which is used for dynamic hot LBA range or hot LBA interval monitoring and detection in accordance with the present embodiment.
  • a hard disk drive 310 includes a storage medium 320 arranged into blocks and/or sectors. Within the medium 320, there are regions 322 within a cold range or interval (i.e., not frequently accessed). The regions 322 are unpinned to the NV cache memory 210 (i.e., their LBA is evicted from the NV cache memory 210). Within the medium 320, there are also regions 324 within a hot range or interval (i.e., f equently accessed).
  • the regions 324 are pinned to the NV cache memory 210 (i.e., their LBA is cached in the NV cache memory 210).
  • LBA regions 326 where the hybrid drive LBA within a LBA range are stored. Operation in accordance with the present embodiment dynamically classifies and detects the data cold regions 322 and the data hot block regions 324, identifying them by LBA range or interval, on the hybrid drive magnetic media 320 based on access patterns by utilizing the hot data monitoring and detection module 268 and the data hotness interpretation module 262.
  • Operation in accordance with the present embodiment also adapts the data hot block regions 324 (LBA range or interval) cache mapping structure in the NV cache manager 210 based on the workload's I/O request profile as determined from information obtained from the I/O collector 220 and the APIs and communication module 250.
  • LBA range or interval data hot block regions 324
  • the NV cache manager 210 therefore caches LBA interval/range with hot values to the non-volatile cache and evicts LBA interval/range with cold values from the non-volatile cache.
  • This operation for maintaining hot data in the hybrid drive module 110 in accordance with the present embodiment is shown in a flowchart 400 of FIG. 4. Processing begins when an I/O request is received 402 by the hybrid drive module 110 from a server 120 (FIG. 1). The request for stored information identifies the information by LBA of the start of the information and a size of the information requested. Processing then performs data pattern reorganization and classification 404 by determining 406 whether the identified information requested is hot data or a random I/O request.
  • processing determines 408 whether it is a write I/O request or a read I/O request. If the I/O request is a write I/O request 408, it needs to be identified in the hot data in the NV cache. So, the interval overlap handler determines overlap and/or releases any overlapped cache 410 as described in FIGs. 5 to 9 below in order to update the interval tree and hotness value of the data within the interval 412 before directing the data within the interval 414 to the hybrid disk drive 130 for writing therein. If the I/O request is a read I/O request 408, no update 412 needs to be done 412, so the request is directed 414 to the hybrid disk drive 130 for reading the data within the interval therefrom.
  • the data hotness value is calculated 416 and it is determined whether the identified information is already stored in the NV cache 418. If the identified information is not stored in the NV cache 418, the interval overlap handler determines overlap and creates a new node 420 for the hot data in order to update the interval tree and hotness value of the data within the interval 412 before directing the data within the interval 414 to the hybrid disk drive 130. If the interval is not in the NV cache 418, the interval tree and hotness value of the data within the interval is updated 412 and the data within the interval is directed 414 to the hybrid disk drive 130.
  • FIGs. 5 to 9 the relationship between an incoming request interval from a server 120 and an existing interval node in the mapping tree of the non-volatile memory is illustrated.
  • an illustration 500 depicts interval overlap handling in accordance with the present embodiment when there is no existing node in the range of the incoming interval.
  • a new interval node 540 may be created and inserted into the interval tree 530 with a data hotness value 550.
  • the data hotness value 550 of the new interval node 540 is estimated as
  • an illustration 600 depicts interval overlap handling in accordance with the present embodiment when the incoming interval is within an existing node on an interval tree.
  • the incoming request interval 610 from the host computer 120 is equal to the existing interval node 620 on the interval tree 530 or within the existing interval node 630 on the interval tree 530, there is no need to create a new interval node.
  • the data hotness value 650 of the existing region or LBA interval 620 is updated in accordance with the present embodiment to indicate increase frequency of use.
  • the data hotness value 650 of the interval node 620 is estimated as
  • FIG. 7 depicts an illustration 700 of interval overlap handling in accordance with the present embodiment when the incoming interval 710 overlaps the minimum range of the existing node 720, 730 on the interval tree 530.
  • the existing tree node interval 720 may shrink the tree node interval to eliminate overlap portion and create a new interval node 725 on the interval tree 530.
  • the data hotness values 750, 752 of the interval nodes are estimated as
  • the two intervals 710, 730 may be merged into a merged interval 740 if the merging condition is met.
  • FIG. 8 depicts an illustration 800 of interval overlap handling in accordance with the present embodiment when the incoming interval 710 overlaps the maximum range of the existing node 820, 830 on the interval tree 530.
  • the existing tree node interval 820 may shrink the tree node interval to eliminate overlap portion and create a new interval node 825 on the interval tree 530.
  • the data hotness values 850, 852 of the interval nodes are estimated as
  • the two intervals 810, 830 may be merged into a merged interval 840 if the merging condition is met.
  • the data hotness value 854 may be determined by finding the predecessor node of the interval tree 530 and repeating overlap handling. Thus, the data hotness value is estimated as
  • FIG. 9 depicts an illustration 900 of interval overlap handling in accordance with the present embodiment when the incoming interval 910 overlaps the minimum and maximum range of existing nodes 920, 930 on the interval tree 530.
  • the existing tree node interval 930 may shrink the tree node interval to eliminate overlap portion and create a new interval node 935 on the interval tree 530. Then the existing interval node 920 on the interval tree 530 is within the incoming interval 910 and there is no need to create a new interval node. However, the data hotness value of the existing interval 920 is updated in accordance with the present embodiment to indicate increase frequency of use.
  • the data hotness value in this case is set with input value.
  • a process flowchart 1000 depicts the eviction of cold data from the interval tree 530, where cold data is data with minimum data hotness values.
  • the process 1002 scans the interval tree 530 for minimum data hotness values by checking a current node for its data hotness value 1004. If it is not the minimum data hotness value 1006, processing locates the branch of the interval tree 530 that contains minimum hotness 1008. The current node is then updated to a node in the branch that contains the minimum 1010. The updated current node is then checked 1004 to determine if it has the minimum data hotness 1006. When a node is checked that has the minimum data hotness 1006, this node is removed from the interval tree and the tree is rebalanced 1012. The interval tree data hotness value minimum value is then updated 1014 and the hybrid drive 130 is instructed to unpin the LB A range of this cold data from the hot data cache pinned set 1016.
  • FIG. 11 is an illustration 1100 of the interval tree node structure.
  • Each interval tree node structure 1102 is made up of a LB A Address Range Node which includes a LB A address range record (LRR) 1104, a minimum hotness value (MHV) 1106, a LB A address range node color 1108, a parent pointer 1110, a left child pointer 1112 and a right child pointer 11 14.
  • the MHV 1106 is the minimum hotness value of an address range entry among all nodes in its sub-tree including itself.
  • the LRR 1104 contains LB A address range entry (LRE) 1 120, a timestamp 1122, a hotness value 1124 and a flag value 1126.
  • the LRE includes a LAB value and the range length.
  • Each node contains the minimum data hotness value 1106 among all the nodes in its sub-tree including itself.
  • minimum data hotness value update 1014 the smaller value is propagated upwards with the root node always containing the smallest minimum hotness value.
  • FIG. 12 an illustration 1200 depicts an example of an interval tree with seven LB A address range records 1102.
  • LRR information 1202 is alongside each LRR 1102 in the form (LB A address, range length)/ (start node, end node).
  • the present embodiment achieves advantages in terms of metadata saving in cache and processing time by making full use of provided cache management capability inside a hybrid hard disk and applying an address interval tree structure to integrate hybrid drive cache management within the hybrid disk array controller.
  • the hybrid drive module need only maintain an in-memory interval tree for monitoring, management, and analysis of caching intervals in flash media inside a hybrid disk, thereby reducing the complexity of the storage system controller while significantly improving the operation efficiency and performance of the overall system.
  • the present embodiment provides a novel design of cache management algorithms to improve operation performance and efficiency for hybrid drive management by offloading the basic cache management to the underlying hybrid disk drive.
  • address interval tree based cache management is convenient for representing I/O requests that occupy a continuous set of data blocks. The granularity of interval tree node is based on the input workload.
  • the present embodiment provides a novel, robust, efficient, optimal disk array controller to manage flash cache outside of the hybrid disk. While exemplary embodiments have been presented i the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A hybrid storage device manager and a method for reconfiguring a non-volatile memory in a hybrid storage device used in conjunction with a host computer are provided. The hybrid storage device manager is coupled between a host computer, a non-volatile memory unit and a disk storage medium. The hybrid storage device manger includes a data hotness interpretation module, a data hotness estimator and a dynamic LBA range adjuster. The data hotness interpretation module that interprets data hotness value to record a plurality of logical locations associated with hot data. The data hotness estimator that estimates data hotness values of block regions on the disk storage medium. And the dynamic LBA range adjuster that adjusts the dynamic LBA range or interval of the data on the storage disk medium for storing hot data on the nonvolatile memory unit based on data hotness value from the data hotness estimator.

Description

METHOD AND APPARATUS FOR
HOT DATA REGION OPTIMIZED DYNAMIC MANAGEMENT
PRIORITY CLAIM
[0001] The present application claims priority to Singapore Patent Application No. 201304978-8, filed 26 June, 2013.
FIELD OF THE INVENTION
[0002] The field of the present invention relates generally to cache management within storage systems having an array of hybrid drives and more particularly relates to methods and apparati for dynamic estimation, monitoring and detection of hot data regions on the hybrid drives.
BACKGROUND OF THE DISCLOSURE
[0003] Hybrid disk drives are a kind of storage device that places a small amount of flash memory (non-volatile memory (NVM)) inside hard disk drives. It was originally developed for consumer electronic devices. With the proliferation of solid state disk (SSD) storage incorporated into conventional storage systems, advantages can be further achieved in terms of performance improvement, reliability enhancement, and power consumption reduction. Hybrid drives are now being applied in data center enterprise storage systems, offering hybrid storage solution advantages with optimized economic benefits.
[0004] In hybrid storage systems with separate solid-state cache, or flash memory, a cache manager must maintain address mapping between the flash memory and the disk. With the use of hybrid disks, such complexity is reduced as the essential cache management functionalities have been pushed into the hybrid drive. However, conventional cache management methods used in a system level cache manager still preserve the complexity which becomes the bottleneck in terms of operation performance and efficiency as data workloads increase.
[0005] Based on conventional practice, there is no standard method for determining monitoring granularity (or I/O size/regions on disk) of the workload. Conventional systems used fixed sizes (e.g., 4KB, 64MB, 1MB, 1.2GB) and cold data regions might be cached along with hot data in the NVM cache. Hybrid drive NVM cache is limited and should be used only for non-sequential or random I/O, while conventional methods do not consider seek times for I/O on disk to make decisions on NVM caching. Also, when granularity of the data is small (e.g., 4KB blocks), the amount of monitoring metadata of a system level cache manager is huge. Thus, more time must be spent updating I/O statistics for each block (due to larger search space) and the size of metadata required to be held in memory is increased.
[0006] Thus, what is needed is a method and apparatus for optimized hybrid drive management which overcomes the drawbacks described above and provides dynamic estimation, monitoring and detection of hot data regions on hybrid drives for optimized hybrid drive data management. Furthermore, other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background of the disclosure.
SUMMARY
[0007] According to the Detailed Description, a method in a non-volatile memory manager of reconfiguring a non-volatile memory in a hybrid storage device used in conjunction with a host computer is provided. The hybrid storage device also includes the non-volatile memory unit and a storage disk medium, wherein the nonvolatile memory manager is coupled between the host computer, the non-volatile memory unit and the disk storage medium. The method interpreting a plurality of data hotness values to record a plurality of logical locations associated with hot data and estimating the plurality of data hotness values of a plurality of block regions on the disk storage medium. The method further includes dynamically adjusting logical block addressing (LBA) intervals of data on the storage disk medium for storing the hot data based on the plurality of data hotness values in the non- volatile memory unit.
[0008] In accordance with another aspect, a hybrid storage device manager is provided. The hybrid storage device manager is coupled between a host computer, a non- volatile memory unit and a disk storage medium. The hybrid storage device manger includes a data hotness interpretation module, a data hotness estimator and a dynamic LBA range adjuster. The data hotness interpretation module that interprets data hotness value to record a plurality of logical locations associated with hot data. The data hotness estimator that estimates data hotness values of block regions on the disk storage medium. And the dynamic LBA range adjuster that adjusts the dynamic LBA range or interval of the data on the storage disk medium for storing hot data on the nonvolatile memory unit based on data hotness value from the data hotness estimator.
[0009] In accordance with a further aspect, a method in a storage controller in a storage system having an array of hybrid drives is provided. The storage controller is coupled between a host computer and the array of hybrid drives and each hybrid drive in the array of hybrid drives includes a non- volatile memory unit and a disk storage medium. The method includes interpreting a plurality of data hotness values to record a plurality of logical locations associated with hot data and estimating the plurality of data hotness values of a plurality of block regions on the disk storage medium of the array of hybrid drives. The method further includes dynamically adjusting LBA intervals of data on the storage disk medium of the array of hybrid drives for storing the hot data based on the plurality of data hotness values in the storage controller.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to illustrate various embodiments and to explain various principles and advantages in accordance with a present embodiment.
[0011] FIG. 1 illustrates a hybrid storage system in accordance with a present embodiment.
[0012] FIG. 2, comprising FIGs. 2A and 2B, illustrates a hybrid drive cache management module with a non- volatile memory (NVM) cache manager in accordance with the present embodiment, wherein FIG. 2A is a block diagram of the hybrid drive cache management module and FIG. 2B is a block diagram of hybrid storage device NVM cache manager.
[0013] FIG. 3 illustrates a mechanism for dynamic hot logical block addressing (LBA) range or hot LBA interval monitoring and detection in accordance with the present embodiment.
[0014] FIG. 4 depicts a flowchart of dynamic range/interval based cache mapping in accordance with the present embodiment.
[0015] FIG. 5 illustrates interval overlap handling in accordance with the present embodiment when there is no existing node in the range of the incoming interval. [0016] FIG. 6 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval is within an existing node on an interval tree.
[0017] FIG. 7 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval overlaps the minimum range of the existing node on the interval tree.
[0018] FIG. 8 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval overlaps the maximum range of the existing node on the interval tree.
[0019] FIG. 9 illustrates interval overlap handling in accordance with the present embodiment when the incoming interval overlaps the minimum and maximum range of the existing node on the interval tree.
[0020] FIG. 10 depicts a flowchart of NVM Cache cold data fast eviction in accordance with the present embodiment.
[0021] FIG. 11 illustrates a component of a LBA address range node in accordance with the present embodiment.
[0022] And FIG. 12 illustrates an interval tree with seven address range entries in accordance with the present embodiment.
[0023] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been depicted to scale. For example, the dimensions of some of the elements in the illustrations, block diagrams or flowcharts may be exaggerated in respect to other elements to help to improve understanding of the present embodiments.
DETAILED DESCRIPTION
[0024] The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the invention or the following detailed description. It is the intent of present embodiments to present a method for estimation of hotness values of block regions (logical block addressing (LBA) range or interval) on the magnetic media of a hybrid drive. In accordance with a present embodiment data hotness value is computed with factors of data recentness, frequency, and randomness and is assigned to block region or LBA intervals before it is moved into a flash memory hybrid drive non- volatile memory (NVM) cache.
[0025] Embodiments also seek to provide a method for dynamic LBA range or interval adjustments for caching hot data on the hybrid drive NVM cache based on hotness value, by categorizing interval overlap handling and data hotness value update. Further embodiments seek to provide a method for fast identification and eviction of cold block regions (LBA range or interval) from the hybrid drive NVM cache.
[0026] Referring to FIG. 1, an illustration 100 depicts a storage system in accordance with a present embodiment which includes a redundant array of independent disks (RAID) controller with a non-volatile (NV) hybrid drive management module 110 acting as an interface between application servers 120 and a hybrid disk array 130. FIG. 2, including FIGs. 2A and 2B, illustrates the NV hybrid drive management module 205 of the RAID controller 1 10 in accordance with the present embodiment. The hybrid drive management module 205 acts as a storage controller inside the storage system of FIG. 1 which includes the array of hybrid drives 130.
[0027] Referring to FIG. 2A, a block diagram 200 of the hybrid drive management module 205 includes a NV cache manager 210 bilaterally coupled to an input/output (I/O) collector 220, a hybrid drive configuration module 222, an in-memory storage 224, NV cache algorithms 226 and an analog telephone adapter (ATA) NV cache commands module 228. The in-memory storage 224 is preferably a dynamic random access memory (DRAM) and includes a NV cache data address mapping portion 232, a LBA usage metrics storage portion 234, a RAID disk mapping and logical unit number (LUN) configuration portion 236, and a hybrid drive information storage portion 238. The NV cache algorithms 226 includes normal data algorithms 240, RAID reconstruct algorithms 242, Diff utilities service algorithms 244, snapshot data algorithms 246 and other types of algorithms 248.
[0028] The hybrid drive management module 205 also includes an application programming interfaces (APIs) and communications module 250. The APIs and communications module 250 is bilaterally coupled to the ATA NV cache commands module 228 for exchanging ATA NV cache commands for small computer system interface (SCSI) pass-through. The APIs and communications module 250 is also bilaterally coupled to the I/O collector 220 I/O monitoring and collecting a history of LBA, length, time and type of input and output communications. Further, the APIs and communications module 250 is coupled to the NV cache manager 210 to provide RAID disk mapping and LUN configuration information thereto and to provide RAID reconstructing and stripes information (e.g., range) thereto.
[0029] Referring to FIG. 2B, a block diagram 260 of the NV cache manager 210 depicts six functional modules. The six functional modules includes a data hotness interpretation module 262 to interpret a data hotness value to record a plurality of logical locations associated with hot data, a data hotness estimator 264 that estimates data hotness values of block regions on the disk storage medium, a LBA range adjuster 266 that adjusts the dynamic LB A range or interval of the data on the storage disk medium for storing hot data based on data hotness value from the data hotness estimator 264, a hot data monitoring and detection module 268 for dynamically monitoring and detecting hot data regions on the storage medium, and a cold block eviction module 270 that identifies and evicts cold block regions from the non-volatile memory unit.
[0030] The present embodiment seeks to provide methods and apparati for estimation of hotness values of block regions (LB A range or interval) on the magnetic media of the hybrid drive. The data hotness value (dhv) is estimated on the following basis:
Randomness (r) = (Running average of LBA displacement from previous access to the same interval)/(IO size)
- LBA displacement = (Previous LBA access - Current LBA access)
- Running average = Average of last thirty-two LBA displacements
Frequency (n) = repeating number of the same interval in mapping table Aging factor value (afv) is used to compensate the latest request
Therefore,
dhv = n*r + afv; (when a new request arrives) 0) afv ++; (when one old node is evicted) (2)
Accordingly, data hotness value considers data recentness (afv), frequency (n) and randomness (r) cost in accessing a LBA interval or range.
[0031] FIG. 3 is an illustration 300 of a typical interval tree node of a hybrid drive storage medium which is used for dynamic hot LBA range or hot LBA interval monitoring and detection in accordance with the present embodiment. A hard disk drive 310 includes a storage medium 320 arranged into blocks and/or sectors. Within the medium 320, there are regions 322 within a cold range or interval (i.e., not frequently accessed). The regions 322 are unpinned to the NV cache memory 210 (i.e., their LBA is evicted from the NV cache memory 210). Within the medium 320, there are also regions 324 within a hot range or interval (i.e., f equently accessed). The regions 324 are pinned to the NV cache memory 210 (i.e., their LBA is cached in the NV cache memory 210). Finally, within the storage medium 320, there are LBA regions 326 where the hybrid drive LBA within a LBA range are stored. Operation in accordance with the present embodiment dynamically classifies and detects the data cold regions 322 and the data hot block regions 324, identifying them by LBA range or interval, on the hybrid drive magnetic media 320 based on access patterns by utilizing the hot data monitoring and detection module 268 and the data hotness interpretation module 262. Operation in accordance with the present embodiment also adapts the data hot block regions 324 (LBA range or interval) cache mapping structure in the NV cache manager 210 based on the workload's I/O request profile as determined from information obtained from the I/O collector 220 and the APIs and communication module 250.
[0032] The NV cache manager 210 therefore caches LBA interval/range with hot values to the non-volatile cache and evicts LBA interval/range with cold values from the non-volatile cache. This operation for maintaining hot data in the hybrid drive module 110 in accordance with the present embodiment is shown in a flowchart 400 of FIG. 4. Processing begins when an I/O request is received 402 by the hybrid drive module 110 from a server 120 (FIG. 1). The request for stored information identifies the information by LBA of the start of the information and a size of the information requested. Processing then performs data pattern reorganization and classification 404 by determining 406 whether the identified information requested is hot data or a random I/O request. [0033] If the I/O request is a random I/O request 406, processing determines 408 whether it is a write I/O request or a read I/O request. If the I/O request is a write I/O request 408, it needs to be identified in the hot data in the NV cache. So, the interval overlap handler determines overlap and/or releases any overlapped cache 410 as described in FIGs. 5 to 9 below in order to update the interval tree and hotness value of the data within the interval 412 before directing the data within the interval 414 to the hybrid disk drive 130 for writing therein. If the I/O request is a read I/O request 408, no update 412 needs to be done 412, so the request is directed 414 to the hybrid disk drive 130 for reading the data within the interval therefrom.
[0034] When the identified information is determined to be hot data 406, the data hotness value is calculated 416 and it is determined whether the identified information is already stored in the NV cache 418. If the identified information is not stored in the NV cache 418, the interval overlap handler determines overlap and creates a new node 420 for the hot data in order to update the interval tree and hotness value of the data within the interval 412 before directing the data within the interval 414 to the hybrid disk drive 130. If the interval is not in the NV cache 418, the interval tree and hotness value of the data within the interval is updated 412 and the data within the interval is directed 414 to the hybrid disk drive 130.
[0035] Referring to FIGs. 5 to 9, the relationship between an incoming request interval from a server 120 and an existing interval node in the mapping tree of the non-volatile memory is illustrated. Referring to FIG. 5, an illustration 500 depicts interval overlap handling in accordance with the present embodiment when there is no existing node in the range of the incoming interval. When the incoming request interval 510 from the host computer or server 120 does not overlap the existing interval node 520 on the interval tree 530, a new interval node 540 may be created and inserted into the interval tree 530 with a data hotness value 550. The data hotness value 550 of the new interval node 540 is estimated as
dhv(Intvll) = r + afv (3)
[0036] Referring to FIG. 6, an illustration 600 depicts interval overlap handling in accordance with the present embodiment when the incoming interval is within an existing node on an interval tree. When the incoming request interval 610 from the host computer 120 is equal to the existing interval node 620 on the interval tree 530 or within the existing interval node 630 on the interval tree 530, there is no need to create a new interval node. However, the data hotness value 650 of the existing region or LBA interval 620 is updated in accordance with the present embodiment to indicate increase frequency of use. The data hotness value 650 of the interval node 620 is estimated as
dhv(Intvll) = n*r + afV (4)
[0037] FIG. 7 depicts an illustration 700 of interval overlap handling in accordance with the present embodiment when the incoming interval 710 overlaps the minimum range of the existing node 720, 730 on the interval tree 530. The existing tree node interval 720 may shrink the tree node interval to eliminate overlap portion and create a new interval node 725 on the interval tree 530. The data hotness values 750, 752 of the interval nodes are estimated as
dhv(Inrvll) = r + afv (5) dhv(Intvl2) no change (6)
[0038] Alternatively, the two intervals 710, 730 may be merged into a merged interval 740 if the merging condition is met. The data hotness value 754 may be determined by finding the predecessor node of the interval tree 530 and repeating overlap handling. Thus, the data hotness value is estimated as dhv(new) = avg(dhv(intvll), dhv(intvl2)) (7)
[0039] FIG. 8 depicts an illustration 800 of interval overlap handling in accordance with the present embodiment when the incoming interval 710 overlaps the maximum range of the existing node 820, 830 on the interval tree 530. The existing tree node interval 820 may shrink the tree node interval to eliminate overlap portion and create a new interval node 825 on the interval tree 530. The data hotness values 850, 852 of the interval nodes are estimated as
dhv(Intvll) = r + afv (8) dhv(Intvl2) no change (9)
[0040] Alternatively, the two intervals 810, 830 may be merged into a merged interval 840 if the merging condition is met. The data hotness value 854 may be determined by finding the predecessor node of the interval tree 530 and repeating overlap handling. Thus, the data hotness value is estimated as
dhv(new) = avg(dhv(intvll), dhv(intvl2)) (10)
[0041] FIG. 9 depicts an illustration 900 of interval overlap handling in accordance with the present embodiment when the incoming interval 910 overlaps the minimum and maximum range of existing nodes 920, 930 on the interval tree 530. The existing tree node interval 930 may shrink the tree node interval to eliminate overlap portion and create a new interval node 935 on the interval tree 530. Then the existing interval node 920 on the interval tree 530 is within the incoming interval 910 and there is no need to create a new interval node. However, the data hotness value of the existing interval 920 is updated in accordance with the present embodiment to indicate increase frequency of use.
[0042] Conditions for data hotness value update are as follows: 1. Data hotness value update is based on the size of input interval, wherein a new interval node is inserted into the interval tree. The data hotness value in this case is estimated as [dhv(new) = n*r + afv].
2. If an input interval is equal or within an existing interval node, the data hotness value in this case is estimated as [dhv (new) = dhv(input) +
. dhv(old)].
3. If an input interval is not fully covered by existing node(s), the data hotness value in this case is set with input value.
4. If an input interval is fully covered by existing node(s), the data hotness value in this case is estimated as [dhv (new) = dhv(input) + average [dhv(old 1 ), dhv(old2) ... ]
[0043] Referring to FIG. 10, a process flowchart 1000 depicts the eviction of cold data from the interval tree 530, where cold data is data with minimum data hotness values. The process 1002 scans the interval tree 530 for minimum data hotness values by checking a current node for its data hotness value 1004. If it is not the minimum data hotness value 1006, processing locates the branch of the interval tree 530 that contains minimum hotness 1008. The current node is then updated to a node in the branch that contains the minimum 1010. The updated current node is then checked 1004 to determine if it has the minimum data hotness 1006. When a node is checked that has the minimum data hotness 1006, this node is removed from the interval tree and the tree is rebalanced 1012. The interval tree data hotness value minimum value is then updated 1014 and the hybrid drive 130 is instructed to unpin the LB A range of this cold data from the hot data cache pinned set 1016.
[0044] FIG. 11 is an illustration 1100 of the interval tree node structure. Each interval tree node structure 1102 is made up of a LB A Address Range Node which includes a LB A address range record (LRR) 1104, a minimum hotness value (MHV) 1106, a LB A address range node color 1108, a parent pointer 1110, a left child pointer 1112 and a right child pointer 11 14. The MHV 1106 is the minimum hotness value of an address range entry among all nodes in its sub-tree including itself. The LRR 1104 contains LB A address range entry (LRE) 1 120, a timestamp 1122, a hotness value 1124 and a flag value 1126. The LRE includes a LAB value and the range length.
[0045] Each node contains the minimum data hotness value 1106 among all the nodes in its sub-tree including itself. During minimum data hotness value update 1014, the smaller value is propagated upwards with the root node always containing the smallest minimum hotness value. Referring to FIG. 12 an illustration 1200 depicts an example of an interval tree with seven LB A address range records 1102. Alongside each LRR 1102 is LRR information 1202 in the form (LB A address, range length)/ (start node, end node).
[0046] The present embodiment achieves advantages in terms of metadata saving in cache and processing time by making full use of provided cache management capability inside a hybrid hard disk and applying an address interval tree structure to integrate hybrid drive cache management within the hybrid disk array controller. The hybrid drive module need only maintain an in-memory interval tree for monitoring, management, and analysis of caching intervals in flash media inside a hybrid disk, thereby reducing the complexity of the storage system controller while significantly improving the operation efficiency and performance of the overall system.
[0047] Thus, it can be seen that a method and apparatus for optimized hybrid drive management which overcomes the drawbacks described above and provides dynamic estimation, monitoring and detection of hot data regions on hybrid drives for optimized hybrid drive data management. Further, the present embodiment provides a novel design of cache management algorithms to improve operation performance and efficiency for hybrid drive management by offloading the basic cache management to the underlying hybrid disk drive. Compared with conventional per- block based cache management, address interval tree based cache management is convenient for representing I/O requests that occupy a continuous set of data blocks. The granularity of interval tree node is based on the input workload. As hybrid drive product development is still in its nascent stage, the present embodiment provides a novel, robust, efficient, optimal disk array controller to manage flash cache outside of the hybrid disk. While exemplary embodiments have been presented i the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist.
[0048] It should further be appreciated that the exemplary embodiments are only examples, and are not intended to limit the scope, applicability, operation, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention, it being understood that various changes may be made in the function and arrangement of elements and method of operation described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.

Claims

CLAIMS What is claimed is:
1. A method in a non- volatile memory manager of reconfiguring a nonvolatile memory in a hybrid storage device used in conjunction with a host computer, the hybrid storage device also including the non-volatile memory unit and a storage disk medium, wherein the non- volatile memory manager is coupled between the host computer, the non- volatile memory unit and the disk storage medium, the method comprising:
interpreting a plurality of data hotness values to record a plurality of logical locations associated with hot data;
estimating the plurality of data hotness values of a plurality of block regions on the disk storage medium; and
dynamically adjusting logical block addressing (LBA) intervals of data on the storage disk medium for storing the hot data based on the plurality of data hotness values in the non- volatile memory unit.
2. The method in accordance with Claim 1 further comprising computing the data hotness values with factors of data recentness, access frequency and randomness.
3. The method in accordance with Claim 1 further comprising assigning the plurality of data hotness values to a block region or LBA interval of data in the non-volatile memory.
4. The method in accordance with Claim 1 further comprising assigning a data hotness value to a new region or LBA interval in the non- volatile memory if an incoming region or LBA interval is not an overlap of an existing region or LBA interval in the non- volatile memory.
5. The method in accordance with Claim 1 further comprising updating a data hotness value of an existing region or LBA interval in the non- volatile memory to indicate increase frequency of use when an incoming region or LBA interval is equal to or within the existing region or LBA interval in the non-volatile memory.
6. The method in accordance with Claim 1 further comprising updating a data hotness value of an existing region or LBA interval in the non-volatile memory to indicate a new data hotness value of the existing region or LBA interval immediately prior to a minimum range or immediately after a maximum range of the existing region or LBA interval in the non-volatile memory, when the incoming region or LBA interval overlaps the minimum or maximum range of the existing region or LBA interval in the non-volatile memory.
7. The method in accordance with Claim 1 further comprising scanning the non- volatile memory to detect a minimum data hotness value.
8. The method in accordance with Claim 7 wherein when a region or LBA interval in the non-volatile memory with the minimum data hotness value is detected, the region or LBA interval with the minimum data hotness value is removed from the non-volatile memory.
9. _ The method in accordance with Claim 1 further comprising identifying cold block regions and evicting them from the non-volatile memory unit.
10. The method in accordance with Claim 1 further comprising
dynamically monitoring and detecting hot data regions in the non-volatile memory.
11. A hybrid storage device manager which is coupled between a host computer, a non-volatile memory unit and a disk storage medium, the hybrid storage device manger comprising:
a data hotness interpretation module that interprets data hotness value to record a plurality of logical locations associated with hot data;
a data hotness estimator that estimates data hotness values of block regions on the disk storage medium; and
a dynamic logical block addressing (LB A) range adjuster that adjusts the dynamic LB A range or interval of the data on the storage disk medium for storing hot data on the nonvolatile memory unit based on data hotness value from the data hotness estimator.
12. The hybrid storage device manager in accordance with claim 11 wherein the LBA range adjuster assigns a plurality of data hotness values to block regions or LBA intervals of data in the non-volatile memory.
13. The hybrid storage device manager in accordance with claim 11 wherein the LBA range adjuster assigns the data hotness value to a new region or LBA interval in the non- volatile memory if an incoming region or LBA interval is not an overlap of an existing region or LBA interval in the non-volatile memory.
14. The hybrid storage device manager in accordance with claim 11 wherein the LBA range adjuster updates the data hotness value of an existing region or LBA interval in the non-volatile memory to indicate increased frequency of use when the incoming region or LBA interval is equal to or within the existing region or LBA interval in the non- volatile memory.
15. The hybrid storage device manager in accordance with claim 11 wherein the LBA range adjuster updates the data hotness value of an existing region or LBA interval in the non-volatile memory to indicate a new data hotness value of a region or LBA interval immediately prior to a minimum range or immediately after a maximum range of the existing region or LBA interval in the non-volatile memory when an incoming region or LBA interval overlaps the minimum or maximum range of the existing region or LBA interval in the non-volatile memory.
16. The hybrid storage device manager in accordance with claim 11 wherein the LBA range adjuster updates the data hotness value of an existing region or LBA interval in the non- volatile memory to indicate a new data hotness value of a region or LBA interval immediately prior to a minimum range or immediately after a maximum range of the existing region or LBA interval in the non-volatile memory when an incoming region or LBA interval overlaps the minimum or maximum range of the existing region or LBA interval in the non- volatile memory.
17. The hybrid storage device manager in accordance with claim 11 further comprising a hot data monitoring and detection module that dynamically monitors and detects hot data regions on the storage medium.
18. The hybrid storage device manager in accordance with claim 18 wherein the hot data monitoring and detection module scans the non-volatile memory to detect a minimum data hotness value.
19. The hybrid storage device manager in accordance with claim 11 further comprising a cold block eviction module that identifies and evicts cold block regions from the non-volatile memory unit.
20. The hybrid storage device manager in accordance with claim 19 wherein the cold block eviction module removes a region or LB A interval with a minimum data hotness value from the non-volatile memory when the region or LBA interval in the non-volatile memory with the minimum data hotness value is detected.
21. A method in a storage controller in a storage system having an array of hybrid drives, wherein the storage controller is coupled between a host computer and the array of hybrid drives, each hybrid drive in the array of hybrid drives including a non- volatile memory unit and a disk storage medium, the method comprising:
interpreting a plurality of data hotness values to record a plurality of logical locations associated with hot data;
estimating the plurality of data hotness values of a plurality of block regions on the disk storage medium of the array of hybrid drives; and dynamically adjusting logical block addressing (LBA) intervals of data on the storage disk medium of the array of hybrid drives for storing the hot data based on the plurality of data hotness values in the storage controller.
PCT/SG2014/000307 2013-06-26 2014-06-26 Method and apparatus for hot data region optimized dynamic management WO2014209234A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG201304978 2013-06-26
SG2013049788 2013-06-26

Publications (1)

Publication Number Publication Date
WO2014209234A1 true WO2014209234A1 (en) 2014-12-31

Family

ID=52142400

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2014/000307 WO2014209234A1 (en) 2013-06-26 2014-06-26 Method and apparatus for hot data region optimized dynamic management

Country Status (1)

Country Link
WO (1) WO2014209234A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699422A (en) * 2015-03-11 2015-06-10 华为技术有限公司 Determination method and determination device of cache data
US10175896B2 (en) 2016-06-29 2019-01-08 Western Digital Technologies, Inc. Incremental snapshot based technique on paged translation systems
US10229048B2 (en) 2016-06-29 2019-03-12 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10235287B2 (en) 2016-06-29 2019-03-19 Western Digital Technologies, Inc. Efficient management of paged translation maps in memory and flash
US10353813B2 (en) 2016-06-29 2019-07-16 Western Digital Technologies, Inc. Checkpoint based technique for bootstrapping forward map under constrained memory for flash devices
US10365854B1 (en) 2018-03-19 2019-07-30 Micron Technology, Inc. Tracking data temperatures of logical block addresses
US10446197B2 (en) 2017-08-31 2019-10-15 Micron Technology, Inc. Optimized scan interval
US10599576B2 (en) 2018-07-23 2020-03-24 International Business Machines Corporation Hybrid memory access frequency
CN111209414A (en) * 2020-01-03 2020-05-29 四川新网银行股份有限公司 Method for realizing cold-hot separated storage of data based on image data calling service scene
US10754580B2 (en) 2017-10-23 2020-08-25 Micron Technology, Inc. Virtual partition management in a memory device
US11216361B2 (en) 2016-06-29 2022-01-04 Western Digital Technologies, Inc. Translation lookup and garbage collection optimizations on storage system with paged translation table
US11455245B2 (en) 2017-12-11 2022-09-27 Micron Technology, Inc. Scheme to improve efficiency of garbage collection in cached flash translation layer
CN115114476A (en) * 2022-07-26 2022-09-27 汶上义桥煤矿有限责任公司 Image processing-based monitoring video storage method for coal washing transmission equipment
WO2023115935A1 (en) * 2021-12-22 2023-06-29 华为云计算技术有限公司 Data processing method, and related apparatus and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049234A1 (en) * 2007-08-14 2009-02-19 Samsung Electronics Co., Ltd. Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US20110010489A1 (en) * 2009-07-09 2011-01-13 Phison Electronics Corp. Logical block management method for a flash memory and control circuit storage system using the same
US8307163B2 (en) * 2007-03-19 2012-11-06 A-Data Technology Co., Ltd. Hybrid density memory storage device
US20120290768A1 (en) * 2011-05-15 2012-11-15 Anobit Technologies Ltd. Selective data storage in lsb and msb pages

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307163B2 (en) * 2007-03-19 2012-11-06 A-Data Technology Co., Ltd. Hybrid density memory storage device
US20090049234A1 (en) * 2007-08-14 2009-02-19 Samsung Electronics Co., Ltd. Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US20110010489A1 (en) * 2009-07-09 2011-01-13 Phison Electronics Corp. Logical block management method for a flash memory and control circuit storage system using the same
US20120290768A1 (en) * 2011-05-15 2012-11-15 Anobit Technologies Ltd. Selective data storage in lsb and msb pages

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699422A (en) * 2015-03-11 2015-06-10 华为技术有限公司 Determination method and determination device of cache data
US10175896B2 (en) 2016-06-29 2019-01-08 Western Digital Technologies, Inc. Incremental snapshot based technique on paged translation systems
US10229048B2 (en) 2016-06-29 2019-03-12 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10235287B2 (en) 2016-06-29 2019-03-19 Western Digital Technologies, Inc. Efficient management of paged translation maps in memory and flash
US10353813B2 (en) 2016-06-29 2019-07-16 Western Digital Technologies, Inc. Checkpoint based technique for bootstrapping forward map under constrained memory for flash devices
US11816027B2 (en) 2016-06-29 2023-11-14 Western Digital Technologies, Inc. Translation lookup and garbage collection optimizations on storage system with paged translation table
US11216361B2 (en) 2016-06-29 2022-01-04 Western Digital Technologies, Inc. Translation lookup and garbage collection optimizations on storage system with paged translation table
US10725903B2 (en) 2016-06-29 2020-07-28 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10725669B2 (en) 2016-06-29 2020-07-28 Western Digital Technologies, Inc. Incremental snapshot based technique on paged translation systems
US10446197B2 (en) 2017-08-31 2019-10-15 Micron Technology, Inc. Optimized scan interval
US10573357B2 (en) 2017-08-31 2020-02-25 Micron Technology, Inc. Optimized scan interval
US11056156B2 (en) 2017-08-31 2021-07-06 Micron Technology, Inc. Optimized scan interval
US10754580B2 (en) 2017-10-23 2020-08-25 Micron Technology, Inc. Virtual partition management in a memory device
US11789661B2 (en) 2017-10-23 2023-10-17 Micron Technology, Inc. Virtual partition management
US11340836B2 (en) 2017-10-23 2022-05-24 Micron Technology, Inc. Virtual partition management in a memory device
US11720489B2 (en) 2017-12-11 2023-08-08 Micron Technology, Inc. Scheme to improve efficiency of device garbage collection in memory devices
US11455245B2 (en) 2017-12-11 2022-09-27 Micron Technology, Inc. Scheme to improve efficiency of garbage collection in cached flash translation layer
US11068197B2 (en) 2018-03-19 2021-07-20 Micron Technology, Inc. Tracking data temperatures of logical block addresses
US10365854B1 (en) 2018-03-19 2019-07-30 Micron Technology, Inc. Tracking data temperatures of logical block addresses
US10599576B2 (en) 2018-07-23 2020-03-24 International Business Machines Corporation Hybrid memory access frequency
US11080201B2 (en) 2018-07-23 2021-08-03 International Business Machines Corporation Hybrid memory access frequency
CN111209414B (en) * 2020-01-03 2023-08-11 四川新网银行股份有限公司 Method for realizing cold-hot separation storage of data based on image data calling business scene
CN111209414A (en) * 2020-01-03 2020-05-29 四川新网银行股份有限公司 Method for realizing cold-hot separated storage of data based on image data calling service scene
WO2023115935A1 (en) * 2021-12-22 2023-06-29 华为云计算技术有限公司 Data processing method, and related apparatus and device
CN115114476B (en) * 2022-07-26 2022-11-15 汶上义桥煤矿有限责任公司 Image processing-based monitoring video storage method for coal washing transmission equipment
CN115114476A (en) * 2022-07-26 2022-09-27 汶上义桥煤矿有限责任公司 Image processing-based monitoring video storage method for coal washing transmission equipment

Similar Documents

Publication Publication Date Title
WO2014209234A1 (en) Method and apparatus for hot data region optimized dynamic management
US9798472B1 (en) Extent level cache destaging
US11347443B2 (en) Multi-tier storage using multiple file sets
US8112603B2 (en) Methods, systems, and computer program products for file relocation on a data storage device
US8627035B2 (en) Dynamic storage tiering
EP2778889B1 (en) Dynamic storage device provisioning
CN102841854A (en) Method and system for executing data reading based on dynamic hierarchical memory cache (hmc) awareness
US8214596B2 (en) Apparatus and method for segmented cache utilization
US20150363134A1 (en) Storage apparatus and data management
Niu et al. Hybrid storage systems: A survey of architectures and algorithms
JP6323445B2 (en) Storage apparatus, method and program
US9183127B2 (en) Sequential block allocation in a memory
US10853252B2 (en) Performance of read operations by coordinating read cache management and auto-tiering
US11144224B2 (en) Locality-aware, memory-efficient, time-efficient hot data identification using count-min-sketch for flash or streaming applications
US10620844B2 (en) System and method to read cache data on hybrid aggregates based on physical context of the data
US20170220476A1 (en) Systems and Methods for Data Caching in Storage Array Systems
US9396128B2 (en) System and method for dynamic allocation of unified cache to one or more logical units
KR101686346B1 (en) Cold data eviction method using node congestion probability for hdfs based on hybrid ssd
CN108664415B (en) Shared replacement policy computer cache system and method
CN108664217B (en) Caching method and system for reducing jitter of writing performance of solid-state disk storage system
US10585592B2 (en) Disk area isolation method and device
US9606909B1 (en) Deallocating portions of provisioned data storage based on defined bit patterns indicative of invalid data
US20180039449A1 (en) Deallocating portions of data storage based on notifications of invalid data
US11315028B2 (en) Method and apparatus for increasing the accuracy of predicting future IO operations on a storage system
CN113867641A (en) Host memory buffer management method and device and solid state disk

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: 14817059

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: 14817059

Country of ref document: EP

Kind code of ref document: A1