CN104115134B - 用于管理对复合数据存储设备进行访问的方法和系统 - Google Patents

用于管理对复合数据存储设备进行访问的方法和系统 Download PDF

Info

Publication number
CN104115134B
CN104115134B CN201380009551.8A CN201380009551A CN104115134B CN 104115134 B CN104115134 B CN 104115134B CN 201380009551 A CN201380009551 A CN 201380009551A CN 104115134 B CN104115134 B CN 104115134B
Authority
CN
China
Prior art keywords
unit
data structure
data storage
data
volatile
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201380009551.8A
Other languages
English (en)
Other versions
CN104115134A (zh
Inventor
王文广
P·马克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN104115134A publication Critical patent/CN104115134A/zh
Application granted granted Critical
Publication of CN104115134B publication Critical patent/CN104115134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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
    • 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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Abstract

本发明描述了管理复合非易失性数据存数设备的方法。在一个实施例中,用于管理由快速非易失性存储装置诸如固态设备和慢速非易失性存储装置诸如传统磁性硬盘驱动器组成的复合存储设备的方法可包括:维护第一数据结构,所述第一数据结构存储对快速非易失性存储设备诸如SSD设备中的一组单元中的每个单元进行的最近访问的实例;并且还维护第二数据结构,所述第二数据结构指示慢速存储设备诸如HDD中的单元是否已被访问至少预定次数。在一个实施例中,第二数据结构可为概率散列表,其具有较低的所需存储器开销,但是相对于慢速存储设备中的单元或块最近是否已被引用不能保证总是提供正确的回答。

Description

用于管理对复合数据存储设备进行访问的方法和系统
交叉引用
本申请要求提交于2012年2月16日的临时申请序列号61/599,927的权益,并且该临时申请据此以引用方式并入。本申请还涉及同样提交于 2012年2月16日的共同未决的申请序列号61/599,930,并且该申请据此以引用方式并入。
背景技术
本发明涉及用于在复合非易失性存储器中管理数据存储的方法,该复合非易失性存储器是慢速存储器设备和快速存储器设备的复合体。在复合磁盘系统中,可将大的、慢速且廉价的磁性硬盘驱动器与小的、快速但昂贵的存储设备诸如固态驱动器结合以形成逻辑卷。这可通过固态驱动器 (SSD)来提供快速访问的优点,同时提供磁性硬盘驱动器(HDD)的大容量。用于管理此类复合磁盘的现有技术已使用了诸如最近最少使用的(LRU)算法或时钟算法或由Song Jiang所描述的ClockPro算法。这些现有技术可改善复合磁盘的快速部分与慢速部分之间的数据分配,但是它们往往不是空间高效的,因为它们需要大量的主存储器,诸如大量的DRAM,以便实现这些技术中所使用的数据结构来用于在复合磁盘的两个部分之间分配数据。因此,需要改进的空间高效技术,其不需要同样多的存储器来对复合磁盘的两个或更多个组件之间分配或迁移数据中所使用的数据结构进行存储。
发明内容
在一个实施例中,用于管理对快速非易失性存储设备诸如固态设备和慢速非易失性存储设备诸如磁性硬盘驱动器进行访问的方法可包括:维护第一数据结构,该第一数据结构指示对快速非易失性存储设备诸如SSD设备中的一组单元中的每个单元进行访问的近因;并且还维护第二数据结构,该第二数据结构指示慢速存储设备诸如HDD设备中的单元或块最近是否已被引用(诸如最近已被引用过仅一次的单元或块)。在一个实施例中,第二数据结构可为概率散列表,其为空间高效的并减少所需的存储器开销。概率散列表相对于慢速存储设备中的单元或块最近是否已被引用而言大多数时候均是正确的,但是不能保证总是提供正确的回答。
通过附图以及通过以下具体实施方式,本发明的其他特征将显而易见。
以上概述不包括本发明所有方面的详尽列表。预期本发明包括可根据以上概述的各方面以及以下具体实施方式中所公开的那些的所有合适的组合来实践的所有系统和方法。
附图说明
本发明以举例的方式进行说明,并且不仅限于各个附图的图形,在附图中类似的标号指示类似的元件。
图1示出了数据处理系统的例子,该数据处理系统可与本发明的实施例一起使用。
图2示出了根据本发明的一个实施例的复合非易失性存储器的例子。
图3示出了算法的数据结构的例子,该算法可称为时钟算法。
图4示出了根据本发明的一个实施例的数据结构诸如虚影表(ghost table) 的例子,该数据结构可与本文所述的一种或多种方法一起使用。
图5为流程图,其示出了根据本发明的至少一个实施例的方法。
图6为流程图,其示出了根据本发明的至少一个实施例的方法。
图7为流程图,其示出了根据本发明的一个实施例的方法。
图8示出了布隆过滤器数据结构的例子,该数据结构可与本发明的至少一个实施例一起使用。
图9为流程图,其示出了根据本发明的一个实施例的方法。
图10为流程图,其示出了根据本发明的一个实施例的方法。
具体实施方式
本发明描述了改善复合非易失性数据存储设备的管理的方法。将参考以下讨论的细节来描述本发明的多个实施例和方面,并且附图将对所述多个实施例进行说明。以下说明书和附图对于本发明是示例性的,并且不应被理解为限制本发明。描述了众多的具体细节以提供对本发明的各种实施例的彻底理解。然而,在某些实例中,众所周知或常规的细节并未被描述,以便提供对本发明的实施例的简明论述。
在本说明书中对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以被包括在本发明的至少一个实施例中。在本说明书中的各个位置出现的短语“在一个实施例中”不一定都是指同一个实施例。在随后的附图中所描绘的过程由包括硬件(例如,电路系统、专用逻辑等等)、软件(如非暂态机器可读存储介质上的指令)或两者的组合的处理逻辑来执行。虽然下文按照某些顺序操作来描述该过程,但应当理解,所描述的某些操作可以不同的顺序被执行。此外,某些操作可并行地执行而并非按顺序执行。
图1示出了计算系统10的例子,其为数据处理系统的形式,其可与本文所述的一个或多个实施例一起使用。系统10可为台式计算机系统、或膝上型计算机系统、或智能电话、或一些其他电子设备或消费电子设备。如在本领域已知的,系统10可包括耦接到可选的高速缓存14的一个或多个微处理器或其他逻辑单元12;在一个实施例中,该高速缓存14可为SRAM。一个或多个微处理器12通过一条或多条总线18耦接到系统的其余部分,该一条或多条总线18将一个或多个微处理器12耦接到主存储器,该主存储器可为易失性RAM 16。在一个实施例中,易失性RAM可为在计算机系统中所使用的常规的DRAM,其中该DRAM通过总线耦接到系统 10中的其余组件。系统10还可包括一个或多个输入/输出控制器20,其通过一条或多条总线18将一个或多个输入/输出设备22耦接到系统的其余部分。系统10还包括非易失性存储器19,其可为复合磁盘,诸如固态驱动器形式的闪存存储器与常规的磁性硬盘驱动器的组合。
图2示出了根据一个实施例的复合磁盘的例子。非易失性存储器19包括固态驱动器51和磁性硬盘驱动器52,其可被文件系统和操作系统当作单个逻辑卷或块设备,并且由一个或多个控制器控制,诸如包括固态驱动器控制器的控制器53和包括硬盘驱动器控制器的控制器54。一个或多个控制器通过总线18将图2中所示的复合驱动器耦接到系统10中的其余组件。应当理解,闪存存储器是快速非易失性存储设备的一种形式,并且其他快速存储设备可或者与慢速存储设备或其他非易失性存储设备一起使用,慢速存储设备可为常规的磁性硬盘驱动器,其他非易失性存储设备比该快速存储设备慢。应当理解,在本说明书中,对SSD或HDD的引用应被理解为是指快速非易失性存储设备和慢速非易失性存储设备,并且不应被理解为限于或特定于任何存储设备技术。
图3示出了根据本发明的一个实施例的第一数据结构的例子,该第一数据结构与时钟算法一起使用。一个实施例中的时钟算法可类似于现有技术中使用的现有时钟算法。时钟算法可使用数据结构301,该数据结构301 可为包括时钟指针304的循环队列,该指针304基于时钟算法指向队列中的特定位置。循环队列中的每个位置与快速非易失性存储器设备中的特定单元对应,诸如通过闪存存储器系统实现的固态驱动器。在某种意义上,第一数据结构类似于由文件系统维护的块分配位图,该块分配位图指示哪些块是空闲的以及哪些块是分配在硬盘驱动器上的(非空闲的)。
例如,位置302与SSD上的单元0对应,并且在右边的下一个单元与 SSD上的单元1对应,并且位置303与SSD上的另一个单元对应。每个位置存储指示SSD内的相应存储单元的状态的值。在一个实施例中,可使用两位值,使得值0可指示SSD上的特定单元中的一个或多个块或其他组件是空闲的,而位置中的值1可指示SSD上的特定单元最近还未被引用,并且值2可指示SSD中的该单元最近已被引用。值3可指示单元被固定到 SSD,并且不能降级到HDD。作为另外一种选择,在一个实施例中,可使用三位值,其可追踪对单元的具体访问数。在该实施例中,值0还可指示单元是空闲的;值1可指示单元最近还未被引用,并且最大值7可指示单元被固定。其他值可指示单元最近已被引用的次数,诸如值6,其将指示五次最近的引用。
在一个实施例中,第一数据结构301可按如下进行管理。当算法需要查找从SSD降级到HDD的候选时,其将使用时钟指针304。在一个实施例中,时钟指针304将在顺时针方向上从一个单元扫描到下一个单元,直到其找到值为1的单元,这意味着该单元最近还未被引用。在一个实施例中,时钟指针304可在逆时针方向上扫描。如果单元中的值是最大值,则随后该单元被固定到SSD,并且不能降级到HDD。在时钟指针移动到下一个单元之前,如果值大于1但不是最大值,则该值以1递减,下降至最小值1。当SSD中的特定单元被访问时,对应于SSD上的该单元的位置中的计数器将递增。使用该方法,SSD上的被频繁访问的单元将在与SSD上的该单元相对应的数据结构的单元中获得越来越高的计数,直到预设的计数极限。然而,随着每次时钟指针304从单元扫描到单元,则需要用于降级的候选,每个顺序单元(例如302,303)中的计数将在每次时钟指针304 经过该单元时递减,下降至最小值1,这指示该单元最近未被访问。接下来将描述的与使用相对于第二数据结构的时钟算法有关的进一步的细节结合图5、6和7被提供。
图4示出了第二数据结构的例子,该第二数据结构可被称为虚影表,该虚影表针对超过一次以上的最近访问或多于预定次数的最近访问的访问而用于保持对慢速非易失性存储器诸如HDD上的单元的访问进行追踪。在一个实施例中,就数据结构中的位置的数量而言,第二数据结构可与SSD 中的单元数的大小相同,或者其可与SSD中单元数的大小成比例。在一个实施例中,HDD中的特定单元号的签名值可存储在第二数据结构的每个位置中。在一个实施例中,从文件系统的角度来看,该单元可为磁性硬盘驱动器上的逻辑块。第二数据结构401包括三个位置402、403和404以及其他位置,并且这些位置中的每一个可存储HDD中的单元号的签名。位置 404示出了HDD中的单元X的签名值的例子,该签名值指示HDD上的该单元中的数据最近已被访问(通过读或写)至少一次或至少预定次数。
图5示出了根据本发明的一个实施例的方法的例子,该方法用于利用第一数据结构诸如数据结构301和第二数据结构诸如数据结构401来控制快速存储设备诸如SSD与慢速存储设备诸如HDD之间的数据迁移。图5 的方法可开始于操作501,在此操作中系统接收对非易失性存储器进行读写访问的请求。在一个实施例中,文件系统控制复合磁盘并将复合磁盘当作单个逻辑卷。然后文件系统或数据处理系统中的另一个组件继续确定如何使用图5中所示的方法来在复合磁盘的两个或更多个部分之间分配数据。响应于对读写访问的请求的接收,该方法进行到操作503,在此操作中其确定请求数据是否在快速存储设备中。如果其在快速存储设备中,则SSD中存在命中,在这种情况下,处理进行到操作505,在此操作中循环队列诸如数据结构301中的计数对于在SSD上找到的单元以1递增。这在不移动时钟指针304的情况下完成。这样,时钟算法通过第一数据结构保持追踪对 SSD中的单元的访问数。如果操作503确定SSD中存在未命中,则系统进行到操作507,在此操作中其确定数据是否在第二数据结构中,诸如图4中所示的虚影表401,该虚影表401为概率散列表的形式。在第二数据结构中查找数据示于图7中,这将在下文讨论。
如果操作507确定该单元尚未在第二数据结构中,则其进行到操作 509,在此操作中单元号或单元号的表示被添加到第二数据结构,该第二数据结构可为虚影表401。结合图6所提供的关于操作509的进一步的信息将在下文进行描述。如果在操作507中确定包含请求数据的单元已在第二数据结构中,则处理从操作507进行到操作511,在此操作中确定快速存储设备是否已满。如果其未满,则随后进行操作515。各种常规算法可用于确定 SDD是否未满,并且它们不需要依赖于使用时钟算法或第一数据结构 301。
在操作515中,被访问的HDD的单元中的数据使用本领域已知的技术从HDD迁移到SDD。另外,已被迁移或待迁移的数据的单元的单元号从第二数据结构诸如虚影表401被移除。如果在操作511中系统确定SSD已满,则在操作515之前进行操作513。应当理解,文件系统将仍然维护常规的数据结构,该数据结构响应于操作515中的数据迁移来指示各种数据的位置。在操作513中,系统通过在一个实施例中使用时钟算法而在SSD上创建空间。在这种情况下,时钟算法使用时钟指针304以按顺序移动穿过循环队列,从时钟指针的当前位置开始至指示SSD中的单元最近还未被引用的位置;在一个实施例中,这由存储于循环队列中的位置中的值1来指示。随着时钟指针304以循环方式移动穿过循环队列,每个位置中的值以1递减。随着时钟指针304移动穿过在每个位置中将值递减的队列,最终,单元之一将接收指示其为可用单元的值。一旦时钟算法确定SSD中的下一个可用单元位置,则SSD的该单元中的数据可被刷新到HDD,并且在操作 515中,HDD上的访问数据可从HDD迁移至SSD中的所述位置或单元,操作515可在操作513之后进行。结合图7进一步描述单元号从第二数据结构的移除。
图6示出了用于将数据添加到第二数据结构中的方法的例子,其中X 可表示HDD中的单元号,诸如硬盘驱动器上的一个或多个逻辑块。可以理解,图6和7的方法允许创建概率散列表,其可为图4中所示的数据结构 401。由于散列和签名用于创建存储于第二数据结构中的值,并且散列和签名还用于指定该数据结构内的位置,因此概率散列表相对于HDD上的单元的访问数而言可能不总是正确的。当使用散列时,对于散列函数中的一个以上的输入可能返回相同的散列值。这意味着作为不同单元共享相同签名的单元可被升级到SSD代替适当的单元。然而,这发生的可能性很小。因此,虽然散列表相对于HDD上的单元已接收到的访问数而言可能不总是正确的,但是数据结构大多数时候是正确的并且是空间高效的,因为其相对于所消耗的内存的量可存储大量信息。
图6中所示的方法可在图5的操作509中实现。在操作601中,系统为被读请求或写请求访问的HDD中的单元号计算一组散列值。该组散列值可从一组不同的散列函数得出。例如,在一个实施例中,可使用三个不同的散列函数h1、h2和h3,尽管大于或等于1的任意数量的散列函数均可被使用。此外,操作601计算X的签名,其可被表示为S(X),其中S表示X 的值的签名。该签名可由密码算法或其他算法得出,所述密码算法或其他算法尝试为给定输入创建相对唯一的值,但是不保证为X的每个可能值创建唯一的值。这种全局唯一性的缺乏有助于散列表的概率性质。在操作601 中计算出值之后,系统进行到操作603,在此操作中其确定由散列值所指定的任何位置在第二数据结构中是否为空。换句话讲,在一个实施例中,在虚影表中检查由散列值所指定的那些位置中的每一个以确定它们是否为空。如果它们中的任一个为空,则随后进行操作605,其中该签名诸如 HDD的单元号的S(X)存储于由该散列值之一所指定的那些空位置之一中。另一方面,如果操作603确定那些位置中没有一个为空,则执行操作607,其中第二数据结构中的随机位置在操作607中被随机选择,并且在操作609 中,该签名存储于所选择的随机位置中。使用随机位置可引起存储在该位置中的现有签名的覆写。
图7示出了用于从数据结构查找或移除数据的方法的例子。当图7的方法用于查找时,不执行操作707。图7中所示的用于查找的方法可在图5 的操作507中执行。当图7中所示的方法用于将数据从虚影表移除时,则执行操作707,并且该方法被用作图5中所示的操作515的一部分。图7的方法可开始于操作701中,在此操作中计算X的一组散列值。该组散列值应对应于具有先前在操作601中使用的相同组散列函数的同一组散列值。相似地,对X的值计算签名,该签名是与在操作601中计算的签名类似的签名。然后在操作703中,系统在虚影表的位置中查找签名值,所述位置是由在操作701中计算的一组散列值所指定的。如果在操作705中找到签名,则单元号的该签名在操作707中从第二数据结构移除,如图7所示。在一个实施例中,数据结构的大小可基于数据结构的性能和可用内存的量来加倍或减半。
本发明的可供选择的实施例可采用布隆过滤器而不是概率散列表,该概率散列表可实现为虚影表。布隆过滤器的例子示出于图8中。布隆过滤器是可用于测试第二存储设备上的单元最近是否可能已被访问的概率数据结构。布隆过滤器是概率性的,因为有可能返回假阳性结果,意味着当其实际上并非如此时,单元被确定为在数据结构内。然而,假阴性是不可能的,所以第二数据结构的查询将返回该单元最近可能已被访问,或该单元最近肯定还未被访问的结果。布隆过滤器可具有多个位置,该多个位置与 SSD中的每个单元或SSD的成比例数量的单元对应。在一个实施例中,每个位置存储1或0,这指示HDD上的特定单元的访问数的状态。HDD的单元号的散列值用作访问布隆过滤器中的特定位置的地址。如图8所示,布隆过滤器801包括位置802、803和804。位置803由X的散列函数h1所指定,其指定该位置。值1已被设置在位置803中,并且还被设置在由两个其他地址X的h2和X的h3所指定的两个其他位置中。图8中所示的布隆过滤器可通过在操作507中用布隆过滤器替换虚影表以及通过在操作509 中用布隆过滤器替换虚影表来与图5的方法一起使用。然而,在操作515中,当布隆过滤器用于替代虚影表时,单元号未从布隆过滤器移除,因为不可能从布隆过滤器移除单元并且确保布隆过滤器不会产生假阴性结果。因此,在一个实施例中,当第二数据结构中的布隆过滤器填满时,可在循环队列中添加另外的布隆过滤器。
图9示出了用于将HDD中的单元添加到布隆过滤器的方法的例子。当布隆过滤器用于替代虚影表时,图9中所示的操作在操作509中执行。在一个实施例中,可使用布隆过滤器的循环队列,使得多个布隆过滤器保持在循环队列中,其中最新的布隆过滤器用于存储各个值,并且较旧的布隆过滤器通过循环队列进行循环,如从图9中将显而易见。当操作509开始时,就图5的布隆过滤器实现而言,操作901确定最新的布隆过滤器是否已满。在一个实施例中,计数器被用于追踪已对布隆过滤器进行添加的次数,并且过滤器在其超过某一预定阈值后被认为已满。如果布隆过滤器未满,则随后进行操作905,在此操作中将表示HDD上的当前被访问的单元的数据通过将在一组散列值中所指定的每个位置设置为预先确定的值诸如1 来添加到最新的布隆过滤器。在一个实施例中,如在操作1001中时计算一组散列值,并且那些散列值中的每一个指定布隆过滤器内的特定位置或地址,并且值1被写入到在该组散列值中所指定的那些地址或位置中的每一个中。
图10示出了用于查找HDD中的特定单元号是否在第二数据结构中的方法,在这种情况下,该第二数据结构为布隆过滤器。当图5的方法使用布隆过滤器代替虚影表时,图10可作为操作507的一部分而被执行。在操作1001中,系统为HDD中的单元号计算一组散列值。在一个实施例中,三个不同的散列函数可用于计算三个散列值。然后,在操作1003中,在由该组散列值所指定的每个位置中,系统检查位是否已被设置为预先确定的值,诸如队列中的至少一个布隆过滤器中的值1。在操作1005中,确定在由该组散列值中的散列值所指定的位置中的每一个中是否所有位都被设置为1。如果队列中的每个布隆过滤器中的位置中的至少一个未被设置,则系统推断该单元未被找到,并且进行到操作1007,其使得接下来进行图5中的操作509。如果另一方面系统确定所有位已被设置在由该组散列值所确定的合适位置中,则处理进行到操作1009,其使得接下来进行图5中的操作 511。如同图4中的虚影表,本发明的实施例可根据需要来增加或减小第二数据结构的大小。随着循环队列中的布隆过滤器填满,可将另外的布隆过滤器添加到循环队列中。在布隆过滤器的循环队列的大小超过限定值之后,可将最旧的布隆过滤器从列表移除。
在以上说明书中,结合本发明的特定实施例已描述了本发明。但显而易见的是,在不脱离本发明的更广泛的实质和范围的情况下,可对这些实施例进行各种修改和变更。因此,说明书和附图应被视为是示例性的而非限制性的。

Claims (20)

1.一种用于管理对多设备复合数据存储系统进行访问的方法,所述方法包括:
管理第一数据结构,所述第一数据结构存储对于第一非易失性数据存储设备上的第一组单元中的每个单元的数据,其中,对于所述第一组单元中的每个单元,所述第一数据结构包括指示对于该单元的最近访问的计数以及该单元的固定状态的值,其中,所述固定状态指示每个单元是否将保留在第一非易失性数据存储设备上,并且其中,管理所述第一数据结构包括接收访问所述多设备复合数据存储系统上的第一逻辑块的请求,从第一非易失性数据存储设备上的第一组单元中的第一单元访问所述第一逻辑块,并且更新对于所述第一单元的最近访问的计数;以及
管理第二数据结构,所述第二数据结构概率性地指示第二非易失性数据存储设备上的第二单元是否已接收到至少预定次数的最近引用,其中所述第二数据结构为概率散列表、或另一种空间高效的概率数据结构,并且所述第二单元包括多个逻辑块,其中管理所述第二数据结构包括接收访问所述多设备复合数据存储系统上的第二逻辑块的请求,在第二数据结构中搜索第二非易失性数据存储设备上的第二单元的签名,所述第二单元包含所述第二逻辑块,并且将所述第二单元迁移到所述第一非易失性数据存储设备,并且其中,将所述第二单元迁移到所述第一非易失性数据存储设备包括响应于访问所述第二逻辑块的请求将所述第二单元中包含的多个逻辑块作为单个单元移动。
2.根据权利要求1所述的方法,其中管理所述第二数据结构包括:
将表示所述第二非易失性数据存储设备上的第二单元的标识符的数据添加到所述第二数据结构。
3.根据权利要求2所述的方法,其中将表示所述第二非易失性数据存储设备上的第二单元的标识符的数据添加到所述第二数据结构包括:
计算所述第二非易失性数据存储设备上的第二单元的所述标识符的散列值;
计算所述第二单元的签名;以及
将所述第二单元的所述签名存储到所述第二数据结构上的索引中,其中所述索引由所述第二单元的所述散列值限定。
4.根据权利要求1所述的方法,其中将所述第二非易失性数据存储设备上的第二单元从所述第二非易失性数据存储设备迁移到所述第一非易失性数据存储设备包括:
在移动所述第二单元中包含的所述多个逻辑块之后从所述第二数据结构移除所述第二单元的签名。
5.根据权利要求4所述的方法,另外包括将表示所述第二非易失性数据存储设备上的第二单元的标识符的数据添加到所述第二数据结构,其中,将表示第二单元的标识符的数据添加到所述第二数据结构包括:
计算所述第二单元的地址的一组散列值;
计算所述第二单元的地址的签名;以及
通过使用所计算的一组散列值中的散列值作为索引,将所述第二单元的地址的所述签名存储到所述第二数据结构中。
6.一种用于管理对复合数据存储设备进行访问的系统,所述系统包括:
第一非易失性数据存储设备,用于将数据存储在第一组单元中;
第一数据结构,用于指示对所述第一非易失性数据存储设备上的所述第一组单元中的每个单元进行访问的近因,其中,所述第一数据结构使用由算法来进行维护的指针以及循环队列,所述循环队列包括指示对于所述第一组单元中的每个单元的最近访问的计数以及固定状态的值,其中,所述固定状态指示每个单元是否将保留在第一非易失性数据存储设备上;
第二非易失性数据存储设备,耦接到所述第一非易失性数据存储设备以将数据存储在第二组单元中;以及
第二数据结构,用于概率性地指示所述第二组单元中的单元是否已接收到至少预定次数的最近访问,其中所述第二数据结构为指示数据要迁移到第一非易失性数据存储设备的概率散列表,并且每个单元包括多个逻辑块;以及
其中,所述第二数据结构指示所述第二组单元中的第一单元的多个逻辑块将响应于访问所述第一单元内的逻辑块的请求作为单个单元被迁移到所述第一非易失性数据存储设备。
7.根据权利要求6所述的系统,其中所述第一非易失性数据存储设备是固态驱动器。
8.根据权利要求6所述的系统,其中所述第二非易失性数据存储设备是磁性硬盘驱动器。
9.根据权利要求6所述的系统,其中所述第二数据结构包含与所述第一非易失性数据存储设备上的所述单元中的每一个对应的元件。
10.根据权利要求6所述的系统,其中所述第二数据结构包含与所述第一非易失性数据存储设备上的一定比例的所述单元对应的多个元件。
11.根据权利要求6所述的系统,其中所述第二非易失性数据存储设备上的单元的签名存储在所述第二数据结构中。
12.根据权利要求6所述的系统,其中所述第一数据结构是通过使用时钟算法来进行维护的循环队列。
13.根据权利要求12所述的系统,其中所述第一数据结构包含用于所述第一非易失性数据存储设备上的每个单元的元件。
14.根据权利要求13所述的系统,其中所述第一数据结构的元件指示所述第一非易失性数据存储设备上的单元是空闲的。
15.根据权利要求14所述的系统,其中所述第一数据结构存储一个值以指示对所述第一非易失性数据存储设备上的特定单元所进行的最近访问的计数。
16.一种用于管理对复合数据存储设备进行访问的系统,所述系统包括:
用于初始化第一数据结构的装置,所述第一数据结构包括指示第一数据存储设备上的一组单元中的单元是否被访问的值,其中所述第一数据结构通过时钟算法来管理;
用于初始化第二数据结构的装置,所述第二数据结构概率性地指示第二数据存储设备上的单元已接收到至少一次最近访问,其中所述第二数据结构为概率散列表;
用于接收对复合数据存储系统的逻辑块进行访问的请求的装置;
用于如果所述逻辑块被包含在所述第一数据存储设备上,则从所述第一数据存储设备上的单元访问所述逻辑块,并且更新所述第一数据结构以指示所述复合数据存储系统的块最近从所述第一数据存储设备上的单元被访问的装置;
用于如果在所述第一数据存储设备上的单元中未找到所述逻辑块,则在所述第二数据结构中搜索所述逻辑块的装置;
用于如果在所述第二数据结构中未找到所述逻辑块,则将所述逻辑块添加到所述第二数据结构的装置;
用于如果在所述第二数据结构中找到所述逻辑块,则将单元从所述第二数据存储设备迁移到所述第一数据存储设备的装置,其中迁移该单元包括响应于访问所述复合数据存储系统的逻辑块的请求而迁移该单元的多个逻辑块;以及
用于从所述第二数据结构移除所述逻辑块的装置。
17.根据权利要求16所述的系统,还包括:
用于在一段时间内未找到多个签名之后,将所述第二数据结构的大小减半的装置;以及
用于在一段时间内找到多个签名之后,将所述第二数据结构的大小加倍的装置。
18.根据权利要求17所述的系统,还包括:
用于针对所述第二数据存储设备上的所请求单元的地址计算一组散列值的装置;
用于针对所述第二数据存储设备上的所请求单元的所述地址计算签名的装置;以及
用于通过将来自所计算的一组散列值中的散列值用作索引来将所请求单元的所述地址的签名存储在所述第二数据结构中的装置。
19.根据权利要求18所述的系统,其中计算一组散列值使用多个散列函数。
20.根据权利要求18所述的系统,其中用于将所请求单元的所述地址的签名存储在所述第二数据结构中的装置包括:
用于针对每个散列函数,搜索通过由所述散列函数计算的所述散列值进行寻址的所述第二数据结构的索引的装置;
用于将所请求单元的所述地址的签名存储在由所述散列值所索引的空位置中的装置;以及
用于如果在所述一组散列值中没有散列值对空位置进行索引,则将所请求单元的所述地址的签名存储在所述第二数据结构中的随机位置中的装置。
CN201380009551.8A 2012-02-16 2013-02-07 用于管理对复合数据存储设备进行访问的方法和系统 Active CN104115134B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261599930P 2012-02-16 2012-02-16
US201261599927P 2012-02-16 2012-02-16
US61/599,927 2012-02-16
US61/599,930 2012-02-16
US13/605,916 US20130219116A1 (en) 2012-02-16 2012-09-06 Data migration for composite non-volatile storage device
US13/605,916 2012-09-06
PCT/US2013/025224 WO2013122818A1 (en) 2012-02-16 2013-02-07 Data migration for composite non-volatile storage device

Publications (2)

Publication Number Publication Date
CN104115134A CN104115134A (zh) 2014-10-22
CN104115134B true CN104115134B (zh) 2018-02-13

Family

ID=48983237

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380009551.8A Active CN104115134B (zh) 2012-02-16 2013-02-07 用于管理对复合数据存储设备进行访问的方法和系统
CN201380009538.2A Active CN104115133B (zh) 2012-02-16 2013-02-11 用于复合非易失性存储设备的数据迁移的方法、系统和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380009538.2A Active CN104115133B (zh) 2012-02-16 2013-02-11 用于复合非易失性存储设备的数据迁移的方法、系统和设备

Country Status (8)

Country Link
US (2) US20130219116A1 (zh)
EP (2) EP2798501B1 (zh)
JP (2) JP5943095B2 (zh)
KR (2) KR101599177B1 (zh)
CN (2) CN104115134B (zh)
AU (2) AU2013221868B2 (zh)
TW (2) TWI524348B (zh)
WO (2) WO2013122818A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700578B1 (en) * 2012-09-27 2014-04-15 Emc Corporation System and method for determining physical storage space of a deduplicated storage system
US10073851B2 (en) 2013-01-08 2018-09-11 Apple Inc. Fast new file creation cache
WO2014132136A2 (en) * 2013-02-27 2014-09-04 Marvell World Trade Ltd. Efficient longest prefix matching techniques for network devices
US9805188B2 (en) 2013-11-12 2017-10-31 RunSafe Security, Inc. Control flow integrity system and method
CN105701018B (zh) * 2014-11-24 2019-01-11 阿里巴巴集团控股有限公司 一种用于流计算的数据处理方法与设备
JP2016207033A (ja) * 2015-04-24 2016-12-08 株式会社東芝 情報記憶システムおよび情報記憶装置
CA2997922C (en) * 2015-09-09 2022-10-11 Amazon Technologies, Inc. Deletion of elements from a bloom filter
US10263784B2 (en) 2015-09-09 2019-04-16 Amazon Technologies, Inc. Signature verification for data set components using probabilistic data structures
US10262160B2 (en) 2015-09-09 2019-04-16 Amazon Technologies, Inc. Verification of data set components using digitally signed probabilistic data structures
KR101675694B1 (ko) * 2015-09-11 2016-11-23 성균관대학교산학협력단 블록 인기도에 기반한 ssd의 블록 교체방법
KR101704936B1 (ko) * 2015-12-07 2017-02-09 성균관대학교산학협력단 블록의 우선성에 기반한 ssd의 블록 교체방법 및 이를 적용하는 하이브리드 저장 시스템
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
US10019456B2 (en) * 2016-06-29 2018-07-10 Microsoft Technology Licensing, Llc Recovering free space in nonvolatile storage with a computer storage system supporting shared objects
US10275541B2 (en) 2016-08-05 2019-04-30 Micron Technology, Inc. Proactive corrective actions in memory based on a probabilistic data structure
US10228860B2 (en) * 2016-11-14 2019-03-12 Open Drives LLC Storage optimization based I/O pattern modeling
US11010300B2 (en) 2017-05-04 2021-05-18 Hewlett Packard Enterprise Development Lp Optimized record lookups
US10811096B2 (en) * 2017-05-19 2020-10-20 Aspiring Sky Co. Limited Multi-block non-volatile memories with single unified interface
CN107678892B (zh) * 2017-11-07 2021-05-04 黄淮学院 基于跳跃恢复链的连续数据保护方法
US11093140B2 (en) 2018-01-19 2021-08-17 Micron Technology, Inc. Performance allocation among users for accessing non-volatile memory devices
US11243703B2 (en) 2018-04-27 2022-02-08 Hewlett Packard Enterprise Development Lp Expandable index with pages to store object records
US10628063B2 (en) 2018-08-24 2020-04-21 Advanced Micro Devices, Inc. Implementing scalable memory allocation using identifiers that return a succinct pointer representation

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4132989A (en) 1977-10-18 1979-01-02 Nasa Azimuth correlator for real-time synthetic aperture radar image processing
US4292634A (en) 1978-12-15 1981-09-29 Nasa Real-time multiple-look synthetic aperture radar processor for spacecraft applications
US5059318A (en) 1990-05-14 1991-10-22 Benesi Steve C Fluid seal for a traveling sheet filter press
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
GB2318478B (en) 1996-10-21 2001-01-17 Northern Telecom Ltd Network model for alarm correlation
GB2318479B (en) 1996-10-21 2001-04-04 Northern Telecom Ltd Problem model for alarm correlation
US6266771B1 (en) * 1997-02-10 2001-07-24 The Regents Of The University Of California Probabilistic signature scheme
CA2312444A1 (en) * 2000-06-20 2001-12-20 Ibm Canada Limited-Ibm Canada Limitee Memory management of data buffers incorporating hierarchical victim selection
US6631017B2 (en) 2000-10-12 2003-10-07 Jed Khoury Matched amplification and switch joint transform correlator
US6804763B1 (en) 2000-10-17 2004-10-12 Igt High performance battery backed ram interface
US6920533B2 (en) 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
US20030056058A1 (en) * 2001-09-17 2003-03-20 Alistair Veitch Logical volume data migration
US6978259B1 (en) 2001-10-23 2005-12-20 Hewlett-Packard Development Company, L.P. Automated system adaptation technique particularly for data storage systems
US7093004B2 (en) 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US6918020B2 (en) * 2002-08-30 2005-07-12 Intel Corporation Cache management
JP2004102374A (ja) 2002-09-05 2004-04-02 Hitachi Ltd データ移行装置を有する情報処理システム
EP1505506A1 (en) * 2003-08-05 2005-02-09 Sap Ag A method of data caching
US7103740B1 (en) 2003-12-31 2006-09-05 Veritas Operating Corporation Backup mechanism for a multi-class file system
US20110145489A1 (en) * 2004-04-05 2011-06-16 Super Talent Electronics, Inc. Hybrid storage device
US20110179219A1 (en) * 2004-04-05 2011-07-21 Super Talent Electronics, Inc. Hybrid storage device
US20060069876A1 (en) * 2004-09-30 2006-03-30 Sorav Bansal Method and system of clock with adaptive cache replacement and temporal filtering
US20060248391A1 (en) * 2005-05-02 2006-11-02 Glover Jeffrey C State machine-based command line debugger
US7548908B2 (en) * 2005-06-24 2009-06-16 Yahoo! Inc. Dynamic bloom filter for caching query results
US7548928B1 (en) * 2005-08-05 2009-06-16 Google Inc. Data compression of large scale data stored in sparse tables
JP2007072813A (ja) 2005-09-07 2007-03-22 Hitachi Ltd ストレージシステム、ファイル移動方法、及びコンピュータプログラム
WO2007031696A1 (en) 2005-09-13 2007-03-22 Arm Limited Cache miss detection in a data processing apparatus
US7730058B2 (en) * 2005-10-05 2010-06-01 Microsoft Corporation Searching for information utilizing a probabilistic detector
US7386673B2 (en) 2005-11-30 2008-06-10 Red Hat, Inc. Method for tracking of non-resident pages
US20070168398A1 (en) 2005-12-16 2007-07-19 Powerfile, Inc. Permanent Storage Appliance
KR100772863B1 (ko) * 2006-01-13 2007-11-02 삼성전자주식회사 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치
US7500050B2 (en) * 2006-03-20 2009-03-03 International Business Machines Corporation Wise ordering for writes—combining spatial and temporal locality in write caches for multi-rank storage
US7908236B2 (en) 2006-07-20 2011-03-15 International Business Machines Corporation Using multiple data structures to manage data in cache
US7555575B2 (en) 2006-07-27 2009-06-30 Hitachi, Ltd. Method and apparatus for migrating data between storage volumes of different data pattern
US7937428B2 (en) * 2006-12-21 2011-05-03 International Business Machines Corporation System and method for generating and using a dynamic bloom filter
US8032529B2 (en) * 2007-04-12 2011-10-04 Cisco Technology, Inc. Enhanced bloom filters
US8745523B2 (en) 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
US7930547B2 (en) * 2007-06-15 2011-04-19 Alcatel-Lucent Usa Inc. High accuracy bloom filter using partitioned hashing
KR101347285B1 (ko) * 2007-09-28 2014-01-07 삼성전자주식회사 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치
US7788220B1 (en) 2007-12-31 2010-08-31 Emc Corporation Storage of data with composite hashes in backup systems
US8407398B2 (en) * 2008-10-01 2013-03-26 Lenovo (Singapore) Pte. Ltd. Cache mapping for solid state drives
US8301650B1 (en) * 2008-12-19 2012-10-30 Google, Inc. Bloom filter compaction
KR101517767B1 (ko) * 2009-01-07 2015-05-06 시게이트 테크놀로지 엘엘씨 하이브리드 저장 장치 및 그의 자원 공유 방법
JP5025670B2 (ja) * 2009-01-28 2012-09-12 株式会社東芝 情報処理装置およびデータ記憶装置
US8719486B2 (en) * 2009-06-24 2014-05-06 Micron Technology, Inc. Pinning content in nonvolatile memory
US8612666B2 (en) 2009-06-30 2013-12-17 Intel Corporation Method and system for managing a NAND flash memory by paging segments of a logical to physical address map to a non-volatile memory
US8140537B2 (en) 2009-07-21 2012-03-20 International Business Machines Corporation Block level tagging with file level information
US9291712B2 (en) 2009-09-10 2016-03-22 Nextnav, Llc Cell organization and transmission schemes in a wide area positioning system (WAPS)
CN102576333B (zh) 2009-10-05 2016-01-13 马维尔国际贸易有限公司 非易失性存储器中的数据高速缓存
JP5984118B2 (ja) * 2009-12-04 2016-09-06 マーベル ワールド トレード リミテッド 格納デバイスの仮想化
US8438334B2 (en) * 2009-12-22 2013-05-07 International Business Machines Corporation Hybrid storage subsystem with mixed placement of file contents
US20110191522A1 (en) * 2010-02-02 2011-08-04 Condict Michael N Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory
WO2011104741A1 (en) 2010-02-23 2011-09-01 Hitachi, Ltd. Management system for storage system and method for managing storage system
US8732133B2 (en) 2010-03-16 2014-05-20 Commvault Systems, Inc. Extensible data deduplication system and method
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US8935487B2 (en) 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
US20110276744A1 (en) * 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices
US9401967B2 (en) 2010-06-09 2016-07-26 Brocade Communications Systems, Inc. Inline wire speed deduplication system
US8954669B2 (en) 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8478934B2 (en) * 2010-07-19 2013-07-02 Lsi Corporation Managing extended RAID caches using counting bloom filters
TWI467581B (zh) * 2010-09-07 2015-01-01 Phison Electronics Corp 複合式儲存裝置及其複合式儲存媒體控制器與定址方法
US8677004B2 (en) 2010-09-10 2014-03-18 International Business Machines Corporation Migration of logical partitions between two devices
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
WO2012053040A1 (en) 2010-10-22 2012-04-26 Hitachi, Ltd. File server for migration of file and method for migrating file based on file's attributes and storage apparatuses ' attributes
US9032146B2 (en) 2010-11-30 2015-05-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic use of raid levels responsive to workload requirements
US8862845B2 (en) 2010-12-06 2014-10-14 Xiotech Corporation Application profiling in a data storage array
US8583966B2 (en) 2011-04-29 2013-11-12 Lsi Corporation Methods and structure for debugging DDR memory of a storage controller
US9417794B2 (en) 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
US8788788B2 (en) 2011-08-11 2014-07-22 Pure Storage, Inc. Logical sector mapping in a flash storage array
US9081503B2 (en) 2012-02-16 2015-07-14 Apple Inc. Methods and systems for maintaining a storage volume with holes and filling holes
US8914381B2 (en) 2012-02-16 2014-12-16 Apple Inc. Correlation filter

Also Published As

Publication number Publication date
JP2015508924A (ja) 2015-03-23
EP2798502B1 (en) 2020-04-08
US20130219116A1 (en) 2013-08-22
CN104115133A (zh) 2014-10-22
JP5943095B2 (ja) 2016-06-29
KR101620773B1 (ko) 2016-05-12
AU2013221855B2 (en) 2016-03-17
EP2798501A1 (en) 2014-11-05
TW201346932A (zh) 2013-11-16
AU2013221855A1 (en) 2014-08-21
CN104115134A (zh) 2014-10-22
AU2013221868A1 (en) 2014-08-21
CN104115133B (zh) 2017-08-08
WO2013122881A1 (en) 2013-08-22
US20130219117A1 (en) 2013-08-22
KR101599177B1 (ko) 2016-03-02
WO2013122818A1 (en) 2013-08-22
TWI524348B (zh) 2016-03-01
AU2013221868B2 (en) 2016-03-31
EP2798502A1 (en) 2014-11-05
KR20140111346A (ko) 2014-09-18
KR20140116933A (ko) 2014-10-06
EP2798501B1 (en) 2020-12-30
TW201335937A (zh) 2013-09-01
JP2015512098A (ja) 2015-04-23
JP5943096B2 (ja) 2016-06-29
US9710397B2 (en) 2017-07-18

Similar Documents

Publication Publication Date Title
CN104115134B (zh) 用于管理对复合数据存储设备进行访问的方法和系统
JP7046669B2 (ja) 逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション
CN104503703B (zh) 缓存的处理方法和装置
CN110888600B (zh) 一种面向nand闪存的缓冲区管理方法
CN110795363B (zh) 一种存储介质的热页预测方法和页面调度方法
CN110532200B (zh) 一种基于混合内存架构的内存系统
CN105988720B (zh) 数据存储装置和方法
US8732404B2 (en) Method and apparatus for managing buffer cache to perform page replacement by using reference time information regarding time at which page is referred to
CN105045894A (zh) 一种面向分布式顺序表的缓存方法及系统
US9699263B1 (en) Automatic read and write acceleration of data accessed by virtual machines
CN111859038A (zh) 一种分布式存储系统数据热度统计方法、装置
US20170052899A1 (en) Buffer cache device method for managing the same and applying system thereof
US9354820B2 (en) VSAM data set tier management
US9760488B2 (en) Cache controlling method for memory system and cache system thereof
CN110413235A (zh) 一种面向ssd去重的数据分配方法及系统
US11853577B2 (en) Tree structure node compaction prioritization
WO2017091197A1 (en) Cache manager-controlled memory array

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant