CN109416663B - 用于最小化存储系统和其设备内的ssd中的碎片化的方法 - Google Patents
用于最小化存储系统和其设备内的ssd中的碎片化的方法 Download PDFInfo
- Publication number
- CN109416663B CN109416663B CN201780040295.7A CN201780040295A CN109416663B CN 109416663 B CN109416663 B CN 109416663B CN 201780040295 A CN201780040295 A CN 201780040295A CN 109416663 B CN109416663 B CN 109416663B
- Authority
- CN
- China
- Prior art keywords
- cache memory
- computing device
- processor
- data
- allocation region
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
Abstract
一种帮助减少固态设备中的存储器碎片化的方法、非暂时性计算机可读介质和设备,包括标识地址范围内的分配区域以从高速缓存写入数据。接下来,确定标识的分配区域是否包括先前被存储的数据。当确定标识的分配区域包括先前被存储的数据时,先前被存储的数据被从标识的分配区域读取。接下来,来自高速缓存的写入数据和先前被存储的读取数据两者顺序地通过地址范围被写回到标识的分配区域。
Description
技术领域
本申请要求于2016年6月28日提交的美国实用专利申请序列号15/195,093的优先权,并且其全部内容通过引用而被并入本文。
本技术总体上涉及数据存储管理,并且更具体地涉及用于最小化存储系统和其设备内的固态设备(SSD)中的碎片化的方法。
背景技术
将数据集重复写入到数据存储介质以及将数据集从数据存储介质擦除,使得存储空间被低效地使用并且该现象被称为数据存储介质内的碎片化。数据存储介质内的碎片化现象会降低存储容量,并且增加访问和读取时间。当计算设备没有分配足够的连续存储空间来将完整数据集编码为单个序列,而是将数据集分成在其他数据集之间的间隙中被编码的部分时,碎片化发生。通常,这些数据存储介质间隙的出现是因为删除了较早的数据集,或是将多余空间分配给另一被存储的数据集。数据存储介质被碎片化的程度在很大程度上取决于被存储在该数据存储介质上的数据集的大小和数量。
为了解决碎片化问题,现有技术使用碎片整理(defragmentation)技术,其中被写入到数据存储介质的数据集被重新排列,使得每个数据集的分段被连续地写入。遗憾的是,现有技术中使用的技术未能显著减少碎片化并且是耗时的、存储器密集型操作,这种操作在被执行时会显著降低计算机系统的性能。
附图说明
图1是具有最小化存储系统内的SSD中的碎片化的存储管理计算设备的环境的框图;
图2是图1中所示的示例性存储管理计算设备的框图;以及
图3是用于最小化存储系统内的SSD中的碎片化的方法的示例的示例性流程图。
具体实施方式
在图1中图示了具有多个客户端计算设备12(1)-12(n)、示例性存储管理计算设备14、多个存储设备16(1)-16(n)的环境10。在该特定示例中,图1中的环境10包括经由一个或多个通信网络30而被耦合的多个客户端计算设备12(1)-12(n)、存储管理计算设备14以及多个存储设备16(1)-16(n),尽管该环境可以包括其他类型和数量的系统、设备、组件和/或其他元件。用于最小化存储系统内的SSD中的碎片化的方法的示例由存储管理计算设备14执行,尽管本文图示和描述的方法可以由其他类型和/或数量的其他计算系统和设备执行。环境10可以包括其他类型和数量的其他网络元件和设备,这些网络元件和设备是本领域中通常是已知的并且在本文中将不再图示或描述。本技术提供了许多优点,包括提供用于最小化存储系统内的SSD中的碎片化的方法、非暂时性计算机可读介质和设备。
参见图2,在该示例中,存储管理计算设备14包括通过总线26而被耦合在一起的处理器18、存储器20和通信接口24,尽管存储管理计算设备14可以在其他配置中包括的其他类型和数量的元件。
基于在本文的示例中所图示和描述的分类的输入/输出请求,存储管理计算设备14的处理器18可以执行被存储在存储器20中的一个或多个编程指令以用于动态资源预留,尽管其他类型和数量的功能和/或其他操作也可以被执行。存储管理计算设备14的处理器18可以包括一个或多个中央处理器(“CPU”)或具有一个或多个处理核心的通用处理器,诸如(多个)处理器,尽管(多个)其他类型的处理器(例如,/>)也可以被使用。
存储管理计算设备14的存储器20存储用于本文所描述以及图示的本技术的一个或多个方面的编程指令和其他数据,尽管编程指令中的一些或所有编程指令也可以在别处被存储和执行。各种不同类型的存储器存储设备可以被用于存储器20,这些存储器存储设备诸如系统中的非易失性存储器、随机存取存储器(RAM)或只读存储器(ROM)、或软盘、硬盘、CD ROM、DVD ROM或者由被耦合到处理器18的磁、光或其他读取和写入系统读取和写入的其他计算机可读介质。
存储管理计算设备14的通信接口24与多个客户端计算设备12(1)-12(n)和多个存储设备16(1)-16(n)可操作地耦合并且通信,这些接口和设备通过通信网络30而被全部耦合在一起,尽管其他类型和数量的通信网络或系统具有到其他设备和元件的、其他类型和数量的连接和配置。仅以示例的方式,通信网络30可以使用以太网上的TCP/IP以及工业标准协议,包括NFS、CIFS、SOAP、XML、LDAP和SNMP,尽管其他类型和数量的通信网络可以被使用。该示例中的通信网络30可以采用任何合适的接口机制和网络通信技术,包括例如任何局域网、任何广域网(例如,互联网)、处于任何合适形式的电信业务(例如,语音、调制解调器等)、公共交换电话网(PSTN)、基于以太网的分组数据网络(PDN),以及其任何组合等。在该示例中,总线26是通用串行总线,尽管使用其他的总线类型和链路可以被使用,诸如PCI-Express或超传输总线。
多个客户端计算设备12(1)-12(n)中的每个客户端计算设备包括中央处理器(CPU)或处理器、存储器和I/O系统,它们通过总线或其他链路而被耦合在一起,尽管其他数量和类型的网络设备可以被使用。多个客户端计算设备12(1)-12(n)与用于存储管理的存储管理计算设备14通信,尽管客户端计算设备12(1)-12(n)可以与用于其他目的的存储管理计算设备14交互。以示例的方式,多个客户端计算设备12(1)-12(n)可以运行(多个)应用,这些应用可以提供接口以经由通信网络30以做出在存储管理计算设备14或多个存储设备16(1)-16(n)内访问、修改、删除、编辑、读取或写入数据的请求。
多个存储设备16(1)-16(n)中的每个存储设备包括中央处理器(CPU)或处理器、以及I/O系统,它们通过总线或其他链路而被耦合在一起,尽管其他数量和类型的网络设备可以被使用。多个存储设备16(1)-16(n)中的每个存储设备帮助存储数据,尽管多个存储设备16(1)-16(n)可以帮助诸如存储文件或数据的其他类型的操作。响应于来自存储管理计算设备14和多个客户端计算设备12(1)-12(n)的请求,各种网络处理应用(诸如,CIFS应用、NFS应用、HTTP网络数据存储设备应用、和/或FTP应用)可以在多个存储设备16(1)-16(n)上操作并且传输数据(例如,文件或网页),。应当理解,多个存储设备16(1)-16(n)可以是硬件(诸如硬盘驱动器、固态设备(SSD)或磁带)或者软件,或者可以表示可以包括内部或外部网络的、具有多个外部资源服务器的系统。尽管在该示例中图示的是多个存储设备16(1)-16(n)在存储管理计算设备14的外部,但是在其他示例中多个存储设备16(1)-16(n)可以驻留在存储管理计算设备14内。
尽管示例性网络环境10包括本文所描述和图示的多个客户端计算设备12(1)-12(n)、存储管理计算设备14、以及多个存储设备16(1)-16(n),但是其他类型和数量的系统、设备、组件和/或其他拓扑中的其他元件可以被使用。应当理解,本文描述的示例的系统是针对示例性的目的,因为如本领域普通技术人员将理解的,被用于实现该示例的具体硬件和软件的许多变型是可行的。
另外,在任何示例中,两个或多个计算系统或设备可以替代系统或设备中的任何一个。相应地,分布式处理的原理和优点(诸如冗余和复制)也可以根据需要而被实现,以增加示例的设备和系统的鲁棒性和性能。示例也可以被实现在使用任何合适的接口机制和业务技术而跨任何合适的网络扩展的计算机系统上,仅以示例方式,包括处以任何合适的形式的电信业务(例如,语音和调制解调器)、无线业务媒体、无线业务网络、蜂窝业务网络、G3业务网络、公共交换电话网(PSTN)、分组数据网络(PDN)、互联网、内联网以及其组合。
各示例还可以被体现为其上存储有指令的非暂时性计算机可读介质,指令用于如本文以示例的方式描述和说明的本技术的一个或多个方面,如本文所述的,当指令由处理器执行时使得处理器执行实现如本文的示例描述和图示的本技术的方法所必需的步骤。
现在,本文将参考图1-图3来描述用于最小化存储系统内的SSD中的碎片化的方法示例。示例性方法开始于步骤305,其中存储管理计算设备14接收来自多个客户端计算设备12(1)-12中的一个客户端计算设备的数据操作请求,诸如(以示例的方式)读取请求和写入请求,尽管存储管理计算设备14可以接收来自其他设备的其他类型和/或数量的请求。在该特定示例中,接收的数据操作请求包括对对象的写入请求,尽管存储管理计算设备14可以接收来自其他设备的其他类型和/或数量的数据操作请求。
接下来在步骤310中,存储管理计算设备14将接收的写入数据操作高速缓存到存储管理计算设备14的存储器20内的高速缓存中,尽管存储管理计算设备14可以将该操作高速缓存或以其他方式存储在其他存储器位置处。
接下来在步骤315中,在高速缓存接收的写入数据操作时,存储管理计算设备14可以确定存储器20内的高速缓存何时达到阈值大小。在该特定示例中,存储器20内的高速缓存具有存储的或以其他方式设置的阈值大小,在达到该阈值之后高速缓存不能接收进一步的数据。相应地,当存储管理计算设备14确定高速缓存尚未达到阈值大小时,则采用“否”分支回到步骤305,其中存储管理计算设备14继续接收来自多个客户端计算设备12(1)-12(n)的数据操作请求。
然而,如果回到步骤315中、当存储管理计算设备14确定高速缓存已满时,则采用“是”分支到步骤320。在步骤320中,存储管理计算设备14标识多个存储设备16(1)-16(n)中的是固态驱动器(SSD)的一个存储设备中的分配区域,尽管存储管理计算设备14可以标识其他存储器位置处的分配区域,诸如存储器20中的。在该示例中,分配区域涉及SSD中的存储器空间,其中来自高速缓存的内容可以被转移。另外在该示例中,存储管理计算设备14包括被存储在存储器20中的元数据,该元数据包括SSD内的存储器条中的地址范围,SSD可以阶段存储(stage)存储器20内的高速缓存中冲出的数据。存储管理计算设备14可以使用元数据来标识分配区域,尽管存储管理计算设备14可以使用其他类型和/或数量的信息来标识分配区域。此外,在该示例中,由存储管理计算设备14标识的分配区域的大小至少等于高速缓存中的将要被转移的数据的大小,尽管分配区域的大小可以大于被转移的数据的大小。此外,在该示例中,标识的分配区域的地址范围可以包括空闲空间与先前被存储的数据的组合(由于先前存储了碎片数据)。
接下来在步骤325中,存储管理计算设备14确定或标识高速缓存中的数据量,该数据量可以从标识的分配区域的地址范围的开始到标识的分配区域的地址范围的结尾而被顺序地转移到标识的分配区域。
在步骤330中,在遍历期间,存储管理计算设备14确定何时存在被存储在标识的分配区域的地址范围中的数据,尽管存储管理计算设备14也可以使用其他技术来进行该确定。在该示例中,由存储管理计算设备14标识的分配区域可以包括先前从存储器20内的高速缓存转移的数据,尽管标识的分配区域也可以包括其他类型和/或数量的数据。相应地,当存储管理计算设备14确定数据存在在该地址范围中时,则采用“是”分支到步骤335。
在步骤335中,存储管理计算设备14读取分配区域的地址范围中的先前被存储的数据。在该示例中,存储管理计算设备14被要求读取分配区域的地址范围中的先前被存储的数据,因为在将数据写回SSD之前必须首先读取该数据。
接下来在步骤340中,存储管理计算设备14将来自步骤335的读取数据与被要求转移到分配区域的高速缓存数据组合,尽管存储管理计算设备14可以添加其他类型和/或数量的信息。
接下来在步骤345中,存储管理计算设备14将存储器20内的高速缓存中存在的数据和所读取的、先前被存储的数据写入或转移回SSD内的标识的分配区域中。另外,回到步骤330中,当存储管理计算设备14确定在遍历期间没有找到数据时,则采用“否”分支到该步骤345。当示例性流程进行到步骤345、其中标识的分配区域的地址范围中没有数据时,存储管理计算设备14只将来自存储器20内的高速缓存的数据写入或转移到标识的分配区域。在该示例中,存储管理计算设备14开始从标识的分配区域的地址范围的开始写入或转移数据,并且继续在该地址范围中顺序地写入或转移数据。通过顺序地将数据写入分配区域,该技术能够减少多个存储设备16(1)-16(n)内的SSD中的碎片化,并且示例性方法在步骤350处结束。
相应地,如在本文中以示例方式说明和描述的,该技术提供了许多优点,包括提供用于最小化企业存储系统内的SSD中的碎片化的方法、非暂时性计算机可读介质和设备。通过将数据顺序地写入SSD中的分配区域,该技术能够显著减少SSD中的碎片化,从而增加SSD的存储器利用率。
已经如此描述了本技术的基本概念,本领域技术人员可明显看出,前述详细公开内容旨在仅以示例的方式呈现而非限制性的。尽管本文中没有明确说明,但是本领域技术人员会预期将发生各种变化、改进和修改。这些变化、改进和修改旨在由此暗示,并且在本技术的精神和范围内。另外,处理元件或序列的阐述顺序,或者数字、字母或其他名称的使用,并不旨在将要求保护的过程限制为任何顺序,除非可以在权利要求中指定。因此,本发明仅受权利要求及其等同物的限制。
Claims (18)
1.一种用于减少固态设备SSD中的碎片化的方法,所述方法包括:
在确定高速缓存存储器已满时,由计算设备从多个非易失性存储设备的一个存储设备中的地址范围内的、标识的分配区域中读取先前被存储的数据,其中所述先前被存储的数据从所述高速缓存存储器被先前转移,并且所述分配区域的大小至少等于所述高速缓存存储器的另一大小;以及
由所述计算设备将来自所述高速缓存存储器的所高速缓存的数据以及读取的所述先前被存储的数据从所述地址范围的开始起始顺序地写入到标识的所述分配区域中。
2.根据权利要求1所述的方法,还包括:当所述先前被存储的数据被确定为在标识的所述分配区域中不存在时,由所述计算设备只将来自所述高速缓存存储器的写入数据顺序地通过所述地址范围写入到标识的所述分配区域。
3.根据权利要求1或2所述的方法,还包括:由所述计算设备接收来自客户端计算设备的写入数据操作。
4.根据权利要求3所述的方法,还包括:
由所述计算设备将接收的所述写入数据操作高速缓存在所述高速缓存存储器中。
5.根据权利要求3所述的方法,还包括:由所述计算设备确定所述高速缓存存储器何时已达到高速缓存存储器大小的阈值。
6.根据权利要求5所述的方法,还包括:当所述高速缓存存储器被确定为已达到所述高速缓存存储器大小的阈值时,由所述计算设备标识所述分配区域以从所述高速缓存存储器转移其他数据。
7.一种非暂时性计算机可读介质,其上存储有指令,所述指令用于减少固态设备SSD中的碎片化,所述指令包括可执行代码,所述可执行代码在由处理器执行时,使得所述处理器:
在确定高速缓存存储器已满时,由计算设备从多个非易失性存储设备的一个存储设备中的地址范围内的、标识的分配区域中读取先前被存储的数据,其中所述先前被存储的数据从所述高速缓存存储器被先前转移,并且所述分配区域的大小至少等于所述高速缓存存储器的另一大小;以及
将来自所述高速缓存存储器的所高速缓存的数据以及读取的所述先前被存储的数据从所述地址范围的开始起始顺序地写入到标识的所述分配区域中。
8.根据权利要求7所述的非暂时性计算机可读介质,其中所述可执行代码在由处理器执行时,还使得所述处理器:当所述先前被存储的数据被确定为在标识的所述分配区域中不存在时,只将来自所述高速缓存存储器的写入数据顺序地通过所述地址范围写入到标识的所述分配区域。
9.根据权利要求7所述的非暂时性计算机可读介质,其中所述可执行代码在由处理器执行时,还使得所述处理器:接收来自客户端计算设备的写入数据操作。
10.根据权利要求9所述的非暂时性计算机可读介质,其中所述可执行代码在由处理器执行时,还使得所述处理器:将接收的所述写入数据操作高速缓存在所述高速缓存存储器中。
11.根据权利要求9所述的非暂时性计算机可读介质,其中所述可执行代码在由处理器执行时,还使得所述处理器:确定所述高速缓存存储器何时已达到高速缓存存储器大小的阈值。
12.根据权利要求11所述的非暂时性计算机可读介质,其中所述可执行代码在由处理器执行时,还使得所述处理器:当所述高速缓存存储器被确定为已达到所述高速缓存存储器大小的阈值时,标识所述分配区域以从所述高速缓存存储器转移其他数据。
13.一种存储管理计算设备,包括:
处理器;
非易失性存储器,所述非易失性存储器被耦合到所述处理器并且包括被存储在所述非易失性存储器中的编程指令,其中所述处理器被配置为执行所存储的所述编程指令以:
在确定高速缓存存储器已满时,由计算设备从多个非易失性存储设备的一个存储设备中的地址范围内的、标识的分配区域中读取先前被存储的数据,其中所述先前被存储的数据从所述高速缓存存储器被先前转移,并且所述分配区域的大小至少等于所述高速缓存存储器的另一大小;以及
将来自所述高速缓存存储器的所高速缓存的数据以及读取的所述先前被存储的数据从所述地址范围的开始起始顺序地写入到标识的所述分配区域中。
14.根据权利要求13所述的存储管理计算设备,其中所述处理器还被配置为执行所存储的所述编程指令以在所述先前被存储的数据被确定为在标识的所述分配区域中不存在时,只将来自所述高速缓存存储器的写入数据顺序地通过所述地址范围写入到标识的所述分配区域。
15.根据权利要求13所述的存储管理计算设备,其中所述处理器还被配置为执行所存储的所述编程指令以从客户端计算设备接收写入数据操作。
16.根据权利要求15所述的存储管理计算设备,其中所述处理器还被配置为执行所存储的所述编程指令以将接收的所述写入数据操作高速缓存在所述高速缓存存储器中。
17.根据权利要求15所述的存储管理计算设备,其中所述处理器还被配置为执行所存储的所述编程指令以确定所述高速缓存存储器何时已达到高速缓存存储器大小的阈值。
18.根据权利要求17所述的存储管理计算设备,其中所述处理器还被配置为执行所存储的所述编程指令以在所述高速缓存被确定为已达到所述高速缓存存储器大小的阈值时,标识所述分配区域以从所述高速缓存存储器转移其他数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/195,093 | 2016-06-28 | ||
US15/195,093 US10430081B2 (en) | 2016-06-28 | 2016-06-28 | Methods for minimizing fragmentation in SSD within a storage system and devices thereof |
PCT/US2017/036680 WO2018005041A1 (en) | 2016-06-28 | 2017-06-09 | Methods for minimizing fragmentation in ssd within a storage system and devices thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109416663A CN109416663A (zh) | 2019-03-01 |
CN109416663B true CN109416663B (zh) | 2023-07-21 |
Family
ID=59091609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780040295.7A Active CN109416663B (zh) | 2016-06-28 | 2017-06-09 | 用于最小化存储系统和其设备内的ssd中的碎片化的方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10430081B2 (zh) |
CN (1) | CN109416663B (zh) |
DE (1) | DE112017003232T5 (zh) |
WO (1) | WO2018005041A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045732B (zh) * | 2019-12-05 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、芯片、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576333A (zh) * | 2009-10-05 | 2012-07-11 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
CN102648457A (zh) * | 2009-12-07 | 2012-08-22 | 微软公司 | 使用混合存储来延伸ssd生存期 |
CN102968380A (zh) * | 2012-11-02 | 2013-03-13 | 深圳市同洲电子股份有限公司 | 内存文件系统中内存分区的管理方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108590B2 (en) * | 2000-01-06 | 2012-01-31 | Super Talent Electronics, Inc. | Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear |
US6418510B1 (en) * | 2000-09-14 | 2002-07-09 | International Business Machines Corporation | Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD) |
JP4418439B2 (ja) * | 2006-03-07 | 2010-02-17 | パナソニック株式会社 | 不揮発性記憶装置およびそのデータ書込み方法 |
KR101469512B1 (ko) * | 2007-01-10 | 2014-12-05 | 모바일 세미컨덕터 코오포레이션 | 외부 컴퓨팅 디바이스의 성능 향상을 위한 어댑티브 메모리 시스템 |
JP5999645B2 (ja) * | 2009-09-08 | 2016-10-05 | ロンギチュード エンタープライズ フラッシュ エスエイアールエル | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
KR101638061B1 (ko) * | 2009-10-27 | 2016-07-08 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법 |
US20110320733A1 (en) | 2010-06-04 | 2011-12-29 | Steven Ted Sanford | Cache management and acceleration of storage media |
US20130019057A1 (en) * | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
KR101824295B1 (ko) * | 2011-08-12 | 2018-01-31 | 샌디스크 테크놀로지스 엘엘씨 | 솔리드 스테이트 장치 가상화를 포함하는 캐시 관리 |
CN103827970B (zh) | 2012-09-25 | 2016-05-18 | 株式会社东芝 | 对固态驱动器再配置数据的存储装置、存储控制器以及方法 |
US20140173178A1 (en) * | 2012-12-19 | 2014-06-19 | Apple Inc. | Joint Logical and Physical Address Remapping in Non-volatile Memory |
US9535628B2 (en) | 2013-10-10 | 2017-01-03 | Apple Inc. | Memory system with shared file system |
US10203876B2 (en) * | 2013-11-22 | 2019-02-12 | Nec Corporation | Storage medium apparatus, method, and program for storing non-contiguous regions |
US10649691B2 (en) * | 2014-03-27 | 2020-05-12 | Hitachi, Ltd. | Storage system |
US9483402B2 (en) * | 2014-09-24 | 2016-11-01 | Netapp, Inc. | Methods and systems for dynamically controlled caching |
US10235044B2 (en) * | 2015-07-27 | 2019-03-19 | Datrium, Inc. | System and methods for storage data deduplication |
-
2016
- 2016-06-28 US US15/195,093 patent/US10430081B2/en active Active
-
2017
- 2017-06-09 DE DE112017003232.6T patent/DE112017003232T5/de active Pending
- 2017-06-09 CN CN201780040295.7A patent/CN109416663B/zh active Active
- 2017-06-09 WO PCT/US2017/036680 patent/WO2018005041A1/en active Application Filing
-
2019
- 2019-09-26 US US16/584,025 patent/US11132129B2/en active Active
-
2021
- 2021-09-27 US US17/486,160 patent/US11592986B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576333A (zh) * | 2009-10-05 | 2012-07-11 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
CN102648457A (zh) * | 2009-12-07 | 2012-08-22 | 微软公司 | 使用混合存储来延伸ssd生存期 |
CN102968380A (zh) * | 2012-11-02 | 2013-03-13 | 深圳市同洲电子股份有限公司 | 内存文件系统中内存分区的管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018005041A1 (en) | 2018-01-04 |
US20220083232A1 (en) | 2022-03-17 |
CN109416663A (zh) | 2019-03-01 |
DE112017003232T5 (de) | 2019-03-28 |
US10430081B2 (en) | 2019-10-01 |
US20200019321A1 (en) | 2020-01-16 |
US11592986B2 (en) | 2023-02-28 |
US11132129B2 (en) | 2021-09-28 |
US20170371556A1 (en) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110109915B (zh) | 用于管理哈希表的方法、设备和计算机程序产品 | |
CN107526743B (zh) | 用于压缩文件系统元数据的方法和设备 | |
US11003625B2 (en) | Method and apparatus for operating on file | |
US7596659B2 (en) | Method and system for balanced striping of objects | |
US8645335B2 (en) | Partial recall of deduplicated files | |
TWI476676B (zh) | 用於使用不同叢集尺寸的儲存裝置之檔案系統 | |
US11397668B2 (en) | Data read/write method and apparatus, and storage server | |
US9936017B2 (en) | Method for logical mirroring in a memory-based file system | |
US20110219048A1 (en) | Multiple File System and/or Multi-Host Single Instance Store Techniques | |
US11314689B2 (en) | Method, apparatus, and computer program product for indexing a file | |
US9307024B2 (en) | Efficient storage of small random changes to data on disk | |
CN111124270B (zh) | 缓存管理的方法、设备和计算机程序产品 | |
US8473693B1 (en) | Managing ownership of memory buffers (mbufs) | |
US11226778B2 (en) | Method, apparatus and computer program product for managing metadata migration | |
US11592986B2 (en) | Methods for minimizing fragmentation in SSD within a storage system and devices thereof | |
US9984112B1 (en) | Dynamically adjustable transaction log | |
CN110780806B (zh) | 促进元数据和数据捆绑存储的原子性保证的方法和系统 | |
US20220350779A1 (en) | File system cloning method and apparatus | |
JP5494817B2 (ja) | ストレージシステム、データ管理装置、方法及びプログラム | |
US20180246666A1 (en) | Methods for performing data deduplication on data blocks at granularity level and devices thereof | |
US10970221B2 (en) | Optimizing space utilization by retaining metadata in cache | |
US10063256B1 (en) | Writing copies of objects in enterprise object storage systems | |
US10684786B2 (en) | Methods for performing global deduplication on data blocks and devices thereof | |
US10019318B1 (en) | Storage optimization of pre-allocated units of storage | |
US11704280B2 (en) | Methods for replicating data and enabling instantaneous access to data and devices thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |