CN103597444A - 按照使用来管理基于闪存的存储上的数据放置 - Google Patents
按照使用来管理基于闪存的存储上的数据放置 Download PDFInfo
- Publication number
- CN103597444A CN103597444A CN201280028028.5A CN201280028028A CN103597444A CN 103597444 A CN103597444 A CN 103597444A CN 201280028028 A CN201280028028 A CN 201280028028A CN 103597444 A CN103597444 A CN 103597444A
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- memory device
- assembly
- placement
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
在此描述了存储放置系统,该存储放置系统使用操作系统的关于数据正在计算设备上被如何使用的知识来更有效地与基于闪存的存储设备进行通信并管理该基于闪存的存储设备。不被频繁使用的冷数据可以同热数据簇相区分并被放置已损耗区域中,而被频繁使用的热数据可以被保持为可容易地访问的。通过将热数据聚簇在一起而将冷数据聚簇在单独的区段中,系统能够更好地执行损耗均衡并延长闪存介质的有用性。数据在云或其他存储中的储存可以在将数据合并以写入块以前智能地将数据短时间地保持在某位置。因此,该系统充分利用操作系统对数据已被及将被如何使用的知识来将数据以有效的方式放置在基于闪存的存储设备中。
Description
背景技术
近年来数据存储硬件发生改变,使得基于闪存的存储常见得多。诸如硬盘驱动器和光盘驱动器之类的旋转介质日益被不具有移动部件的基于闪存的存储替代,比如固态盘(SSD)驱动器。固态盘是稳健得多的,并且更加不易受对以前的介质有害的许多类型的环境条件的影响。例如,旋转介质特别易受震动的影响,其中震动例如发生在包含旋转介质的移动计算设备掉落时。基于闪存的存储通常还具有快得多的访问时间并且该存储的每个区域都可以以标准的等待时间来访问。旋转介质基于数据被存储在与中央心轴(在那里盘旋转得更快)多么接近而展示出不同的速度特性。另一方面,SSD具有固定的时间量来访问给定的存储器位置,并且不具有传统的查找时间(其是指移动旋转介质的读取头的时间)。
遗憾的是,SSD在它们被读取、写入以及尤其是擦除的程度方面引入了限制。典型的基于闪存的存储仅能一次擦除一个块,尽管块内的非重叠的位可以在任何时候被设置。在典型的计算系统中,操作系统将第一组数据写入到SSD页,并且如果用户或系统修改该数据,则操作系统要么将完整的页或一些数据重写到新位置、要么擦除整个块并重写该页的完整内容。SSD寿命是由块在驱动器的该区域不再能够维持数据完整性(或者至少不能被有效地擦除和重写)以前可被擦除的平均次数确定的。操作系统分别对块的重复擦除和重写仅仅加速了SSD的终结。
已经引入若干技术来帮助SSD持续更长时间。例如,许多驱动器现在在内部执行损耗均衡(wear leveling),其中驱动器的固件以保持每个块被擦除大约相同次数的方式来选择存储数据的位置。这意味着,驱动器将不会因为驱动器的一个区域被过度使用而其他区域未被使用(这可能导致驱动器表现为随时间变得更小或者完全故障)而发生故障。另外,TRIM命令曾被引入到高级技术附连(ATA)标准中,以允许操作系统向SSD通知哪个数据块不再处于使用中,使得SSD可以决定何时擦除。讽刺的是,所有类型的盘驱动器都不知道哪些块处于使用中。这是因为操作系统写入数据并且然后常常仅仅标上标记以指示其在文件系统级上被删除。由于驱动器通常不理解文件系统,因此驱动器不能将正被文件系统使用的块与不再处于使用中的块区分开,其中不再处于使用中的块区因数据已被标记为被文件系统删除。TRIM命令将该信息提供给驱动器。
尽管这些技术是有益的,但是它们仍然依靠驱动器在大多数情况下管理自己,而不提供驱动器与操作系统之间的充分通信以允许在驱动器之外作出的延长驱动器寿命的智能判定。
发明内容
在此描述了存储放置系统,该存储放置系统使用操作系统的关于数据正在计算设备上被如何使用的知识来更有效地与基于闪存的存储设备进行通信并管理该基于闪存的存储设备。损耗均衡是SSD中的一个问题,其专注于热和冷数据标识和放置技术以在延长SSD使用的闪存的寿命和改善性能方面扮演重要角色。不被频繁使用的冷数据可以同热数据簇相区分,并且随后被放置在闪存介质的已损耗区域中,而被频繁使用的热数据可以被保持为可容易地访问的。通过将热数据聚簇在一起而将冷数据聚簇在单独的区段中,系统能够更好地执行损耗均衡并延长闪存介质的有用性。数据在云或其他存储中的储存也可以被用于在将数据合并以写入块以前智能地将数据短时间地保持在某位置。热数据也可以存储得更近,而冷数据可以存储得更远。因此,存储放置系统充分利用操作系统对数据已被及将被如何使用的知识来将数据以有效的方式放置在基于闪存的存储设备中。
提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的选择的概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1是示出一个实施例中的存储放置系统的各组件的框图。
图2是示出一个实施例中的存储放置系统将数据写入到基于闪存的存储设备上的所选位置的处理的流程图。
图3是示出一个实施例中的存储放置系统为要在基于闪存的存储设备上写入的数据选择放置位置的处理的流程图。
图4是示出一个实施例中的存储放置系统处理基于闪存的存储驱动器的潜在驱动或位置终结的处理的流程图。
具体实施方式
在此描述了存储放置系统,该存储放置系统使用操作系统的关于数据正在计算设备上被如何使用的知识来更有效地与基于闪存的存储设备进行通信并管理该基于闪存的存储设备。损耗均衡是SSD中的一个问题,其专注于热和冷数据标识和放置技术以在延长SSD使用的闪存的寿命和改善性能方面扮演重要角色。不被频繁使用的冷数据可以同热数据簇相区分,并且随后被放置在闪存介质的已损耗区域中,而被频繁使用的热数据可以被保持为可容易地访问的。通过将热数据聚簇在一起而将冷数据聚簇在单独的区段中,系统能够更好地执行损耗均衡并延长闪存介质的有用性。
固态驱动器(SSD)中的损耗均衡被用于重复利用存储器并延长基于闪存的存储设备的寿命。在没有损耗均衡的情况下,被高度写入的位置可能快速地用坏,而其他位置可能最后极少被使用。通过分析引用的位置,热和冷数据可以被标识出并按照策略被放置在存储器中以最小化损耗。一种方案是使用块聚簇,其利用位图来确定被使用和空闲的存储器。该系统还可以保留块已经被擦除的次数的计数。当擦除计数接近安全阈值时,越来越冷的数据可以被迁移到这些块。已被使用的簇可以被标记,并且如果该簇是可重复利用的,则该簇可以被用一个值标记,并且在其不可使用的情况下被用另一值标记。冷数据然后可以被停放在“温暖”区域。附加地,该系统提供了用于智能地到处移动数据的技术。将热数据聚簇在一起有助于使垃圾收集更容易并且帮助系统标识出存储器的簇以用于重新使用。数据在云或其他存储中的储存也可以被用于在将数据合并以写入块以前智能地将数据短时间地保持在某位置。热数据也可以存储在更短等待时间可访问的位置,而冷数据被存储在更长等待时间可访问的位置(例如不被频繁访问的冷数据可以存储在更远的数据中心中)。因此,存储放置系统充分利用操作系统对数据已被及将被如何使用的知识来将数据以有效的方式放置在基于闪存的存储设备中。
图1是示出一个实施例中的存储放置系统的各组件的框图。系统100包括基于闪存的存储设备110、数据鉴定组件120、数据监视组件130、数据放置组件140、存储通信组件150、辅助存储组件160以及故障管理组件170。这些组件中的每个都在此予以更详细讨论。
基于闪存的存储设备110是包括至少一些基于闪存的非易失性存储器的存储设备。基于闪存的存储器设备可以包括SSD、通用串行总线(USB)驱动器、构建到主板上的存储、构建到移动智能电话中的存储以及其他形式的存储。基于闪存的存储设备通常包括NAND或NOR闪存,但是可以包括其他形式的非易失性随机存取存储器(RAM)。基于闪存的存储设备的特征在于快速访问时间、基于分块的擦除、以及可被每页执行的有限的非重叠写入数量。不再能够被写入的闪存驱动被称为已经终结或发生故障。
数据鉴定组件120鉴定操作系统所接收的数据以表征该数据可能以何种程度被写入,其中被频繁写入的数据被称为热数据而被不频繁写入的数据被称为冷数据。数据还可以按照其被如何使用来鉴定,因为有时所期望的是,把被频繁读取的数据放置到与被不频繁读取的数据不同的位置。被非常不频繁读取的数据甚至可以是供移动到诸如光盘或基于云的存储设备之类的其他外部存储机构的良好候选者,以释放计算设备的本地驱动器上的空间。数据鉴定组件120可以访问由数据监视组件130采集的历史数据访问信息、以及由操作系统隐式或显式地提供的关于特定数据的目的的使用专用知识。例如,在文件分配表(FAT)文件系统中,文件分配表本身被非常频繁地写入(即每当其他数据被触及时),并且因此操作系统知道任何FAT格式的驱动器具有包含被非常频繁更新的数据的存储区域。对于其他文件/位置,数据鉴定组件120可以使用文件修改时间、文件类型、文件元数据、其他数据目的信息等等来确定数据可能是热写入数据还是冷写入数据(或热读取或冷读取),并且相应地通知数据放置组件140。
数据监视组件130监视操作系统的数据读取和写入并且存储数据的历史使用信息。数据监视组件130可以监视在不同条件下以及在不同时间哪些文件被使用、哪些文件常常被一起访问、特定数据文件有多么重要以及可如何恢复等等。数据监视组件130向数据鉴定组件120提供历史使用信息,使得数据鉴定组件120可以基于数据的写入和/或读取特性将数据鉴定为热的或冷的。数据监视组件130和系统100的其他组件可以在操作系统内、比如在文件系统层充当驱动程序或文件系统过滤器。
数据放置组件140从设备110可用的所有位置中确定要被写入到基于闪存的存储设备100的数据将被写入到的一个或多个位置。数据放置组件140使用由数据鉴定组件120确定的数据的鉴定来确定数据将被定位在何处。数据放置组件140还可以使用存储通信组件150来访问驱动器信息,比如损耗均衡或驱动器固件所跟踪的计数。数据放置组件140然后选择对于驱动器的寿命和对要被写入的数据合适的性能水平二者都有利的位置。例如,如果数据被鉴定为冷数据并且驱动器包括若干损耗非常大的块,则组件140可以选择将冷数据放置在损耗的块中,使得其他损耗更小的块可以被保留用于需要更频繁写入的数据。在一些情况下,当驱动器的块接近寿命结束时(即不能处理另外的写入),操作系统能够标识出恒定的只读数据,所述只读数据可以被最后一次写入到该位置并且不能再次移动(例如不频繁更新的操作系统文件)。对于较温暖的数据,组件140可以选择驱动器的损耗更小的区域或者甚至数据在频繁改变时可以驻留在的辅助存储位置,以在数据更加静态时被写入到基于闪存的设备110中。
存储通信组件150提供了系统100的其他组件与基于闪存的存储设备110之间的接口。存储通信组件150可以充分利用一个或多个操作系统应用编程接口(API)以用于访问存储设备,并且可以使用一个或多个协议,比如串行ATA(SATA)、并行ATA(PATA)、USB等等。组件150还可以理解一个或多个由一个或多个设备支持的专有或特定协议或者固件,所述协议或固件允许系统100检索描述可用存储位置和基于闪存的存储设备110的布局的附加信息。
辅助存储组件160提供基于闪存的存储设备110外部的存储。辅助存储可以包括另一基于闪存的存储设备、硬盘驱动器、光盘驱动器、基于云的存储设备或其他用于存储数据的机构。在一些情况下,辅助存储可以具有与基于闪存的存储设备100不同、甚至互补的限制,使得辅助存储对于被低效地存储或者不必要地损耗基于闪存的存储设备110的某些数据而言是良好的选择。例如,操作系统可以选择将文件分配表或其他频繁改变的数据存储在辅助存储设备上,而不是频繁地写入到基于闪存的存储设备。作为另一示例,操作系统可以在不频繁使用的冷数据总是以较慢、但可接受的速率被请求的情况下选择使用基于云的存储设备来存储该冷数据,在那里,该数据可以被访问。
故障管理组件170在基于闪存的存储设备110接近其损耗极限时处理去往和来自该设备的数据的访问和/或移动。组件170可以帮助用户将数据移动到设备110的损耗更小的区域中或者使数据脱离设备110以避免数据丢失。例如,如果文件在七年内还未被访问过,则组件170可以建议用户允许系统100将该文件从损耗更小的位置中删除以允许其他更重要的数据被写入到高位置。类似地,组件170可以帮助用户定位容易被替换的文件(例如可能从光盘中重新安装的操作系统文件),所述文件可以被删除或移动以为处于设备100中的过度损耗的区域中的更难替换的数据文件让出空间。
在其上面实现了存储放置系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和指示设备)、输出设备(例如,显示设备),以及存储设备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以是编码有实现或启用该系统的计算机可执行指令(如软件)的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传输介质传送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码相机、网络PC、小型计算机、大型计算机、包括上述系统或设备等中任一种的分布式计算环境、机顶盒、片上系统(SOC)等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
图2是示出一个实施例中的存储放置系统将数据写入到基于闪存的存储设备上的所选位置的处理的流程图。
在框210中开始,系统接收将数据写入到基于闪存的存储设备的请求。该请求可以源自如下的用户请求:该用户请求被软件应用接收到,并然后被操作系统接收到,其中存储放置系统被实现为文件系统驱动程序或其他组件以管理基于闪存的设备上的数据放置。所接收的请求可以包括关于数据的一些信息(比如在文件系统内的数据将被存储在的位置),并且可以提供关于数据所需要的目的、访问频率和访问类型(读取/写入)的一些信息。例如,如果数据正在被写入到文件系统内的保留用于临时文件的位置,则该系统可以预测该数据将在短时间内被频繁写入并然后被删除。类似地,如果文件是在“关闭时删除”标志被置位的情况下被打开的,则操作系统可以作出结论:该文件将被短暂使用并然后被删除。
在框220中继续,系统鉴定与要被写入到基于闪存的存储设备的数据相关联的访问频率。如果数据被频繁写入,则其被认为是热写入数据,如果数据被频繁读取,则其被认为是热读取数据;如果数据被不频繁地写入,则其被认为是冷写入数据;并且如果数据被不频繁地读取,则其被认为是冷读取数据。该系统将优选地将热数据写入到频繁写入不会导致问题(比如闪存块的终结)的位置、以及将冷数据写入到数据可以合适地驻留的位置(可能是对其他数据不合适的充分损耗的块)。该系统可以基于与数据相关联的文件系统位置的历史访问模式、基于与请求一起接收到的信息、基于公知操作系统实现信息等等来鉴定数据。
在框230中继续,该系统选择基于闪存的存储设备上的数据放置位置以用于要被写入的数据。该位置可以作为存储器地址或者该设备的地址空间内的位置的其他标识来提供。在一些情况下,系统可以向驱动器通知数据是热的、冷的还是中间的某个程度,并且允许驱动器为数据选择位置。无论如何,系统都向驱动器提供与选择数据放置相关的某个线索。数据放置组件可以将损耗的块标识为,如果有过的话,也将在长时间不再被写入的数据的合适位置,并且可以为要频繁写入的数据选择高度未使用的块。可替代或附加地,该系统可以选择单独的辅助存储设备上的位置以用于保持对于基于闪存的存储设备而言较不适合的数据。该系统可以同意将热数据存储在不一定会损耗设备的其他位置并且将冷数据存储在不一定会填充该设备的其他位置。再次将参考图3进一步描述此步骤。
在框240中继续,该系统将放置信息发送给基于闪存的存储设备,从而指示要被写入的数据的所选数据放置位置。该系统可以在数据被写入以前将信息作为用于将数据写入到驱动器的命令的参数、或者作为单独命令提供给设备,以向设备通知用于传入数据的所建议的位置。
在框250中继续,该系统将所请求的数据存储在基于闪存的存储设备上的所选数据放置位置处。另外,该系统还将关于该数据的元数据要么存储在基于闪存的存储设备上、要么存储在辅助存储设备上。随着时间,该系统可以选择移动数据或者在该数据附近写入其他数据。例如,该系统可以将频繁使用的其他数据与之前写入的数据一起写入到相邻位置,或者可以随着时间在初始所选位置由于频繁使用而变得损耗时将热数据移动到损耗较少的位置。在框250之后,这些步骤结束。
图3是示出一个实施例中的存储放置系统为要在基于闪存的存储设备上写入的数据选择放置位置的处理的流程图。
在框310中开始,系统接收如下信息:该信息鉴定要被写入到基于闪存的存储设备的数据的访问频率。例如,该信息可以指示数据是将被频繁还是不频繁地写入。该信息还可以指示数据的目的(例如临时文件、用户数据存储、可执行程序等等),从该目的中,系统可以导出或猜出数据的访问频率。
在判定框320中继续,如果系统确定数据将被频繁写入,则系统在框350处继续,否则系统在框330处继续。被频繁写入的数据被称为热数据并且将被放置在设备的损耗较少的位置,并且被不频繁写入的数据被称为冷数据并且可以放置在设备的损耗较多的位置。
在框330中继续,在确定数据将被不频繁写入以后,系统标识出基于闪存的存储设备的一个或多个损耗位置,其中不频繁写入的数据可以驻留在所述损耗位置以留出对其他数据可用的损耗较少的位置。驱动器和/或操作系统数据可以包括关于基于闪存的存储设备的每个位置已经被擦除多少次的信息,使得该系统可以选择如下位置:该位置接近终结或者以其他方式对其他类型的数据较不适合但对不频繁写入的数据足够适合。
在框340中继续,该系统选择所标识出的损耗更多的位置中的要写入该数据的位置。该系统可以通过将数据排序并且选择损耗最大的位置、或者通过提供要写入数据的位置的可接受的选择的其他试探法或算法来进行选择。在一些实施例中,该系统可以提供配置界面,通过该配置界面,管理员可以将系统在位置选择期间的行为改变为基于由管理员偏好的一些标准来进行选择。在框340之后,执行跳转到框370。
在框350中继续,在确定数据将被频繁写入以后,该系统定位与要被写入的数据相关的任何其他被频繁写入的数据。该系统可以提示一起放置频繁写入的数据,以产生更新数据的效率、允许整个块被一起擦除等等。该系统可以提示避免分割数据使得频繁和不频繁写入的数据被定位为给彼此接近或处于同一基于闪存的块上。这样做允许系统更清楚:当一个数据块准备好被擦除时,其他相邻数据也可将准备好被擦除或马上准备好被擦除,使得该系统可以恢复更多的设备空间。
在框360中继续,该系统选择其他被频繁写入的数据附近的损耗较小的位置来放置要被写入的数据。该驱动器和/或该操作系统数据可以包括关于基于闪存的存储设备的每个位置已经被写入多少次的信息,使得该系统可以选择新的、或者还未被过多地写入并适于频繁写入数据的位置。该系统可以对位置的损耗特性进行排序,并且选择磨损最少的位置或者可以优选地对接近其他被频繁写入的数据的那些位置更重地加权,以选择这些位置中的磨损较小的位置。在一些实施例中,管理员可以修改配置设定以指示系统如何作出选择。
在框370中继续,该系统报告所选择的放置,使得其他组件可以将数据写入到那里。例如,该系统可以输出选择数据放置的结果以作为对图2中概述的那些另外步骤的输入。在一些实施例中,该系统可以用作如下工具的一部分:该工具执行对数据放置的分析,并且在采取任何动作以前报告回用户。在这样的情况下,可以在用户界面中把输出提供给用户,使得用户可以评估数据如何被放置在设备上。在框370之后,这些步骤结束。
图4是示出一个实施例中的存储放置系统处理基于闪存的存储驱动器的潜在驱动或位置终结的处理的流程图。
在框410中开始,该系统检测到基于闪存的存储设备的一个或多个将发生故障的块。例如,该系统可以从驱动器或操作系统读取一个或多个擦除计数器,并且将每个位置的计数与设备的制造商建立的极限相比较。该系统将具有接近极限的计数的那些位置标识为将发生故障或将终结的块,并且可以试图重新定位与这些块相关联的数据。
在判定框420中继续,如果系统找到任何将发生故障的块,则系统在框430处继续,否则系统完成。该系统可以周期性地检查将发生故障的块(比如在操作系统的空闲处理中或者作为例程调度的维护任务)。
在框430中继续,该系统选择存储在基于闪存的存储设备上的一个或多个如下的数据项:所述数据项可以被移除以为存储在删除的将发生故障的块中的数据留出空间。要移除的数据可以包括长时间未被访问的数据、可容易恢复的数据(例如其存储在其他位置或者是不重要的)等等。在框440中继续,该系统任选地提示用户确定该用户是否批准系统删除所选数据项。在一些实施例中,该系统可以建议移除所述数据项并允许该用户将所述项烧录到光盘、将其复制到USB驱动器或基于云的存储设备等等。
在判定框450中继续,如果该系统从用户接收到删除所选数据项的批准,则该系统在框460继续,否则该系统完成。如果用户不批准删除所述项,则该系统仍然能够自动采取其他动作(未示出),比如将数据到处移动以使得更多的磨损更小的块可用。在框460中继续,该系统删除所选数据项,并且给将发生故障的块中的数据作标志以供迁移到由所删除的数据项腾出的一个或多个位置。该系统可以立即移动将发生故障的块中的数据或者可以等到数据下次被写入。对于一些类型的设备,存在已经被成功写入到某位置的数据将丢失的少量风险,并且该风险是在另一次尝试写入到该位置时引起的。在这样的情况下,该系统可以乐观地假定该数据将不被再次写入(并且因此不迁移该数据),但是如果该数据事实上被写入,则该系统在那时移动该数据。
在一些实施例中,存储放置系统为非基于闪存的存储设备选择数据的放置。尽管该系统有益于增加基于闪存的设备的寿命和效率,但是该系统还可用于改善其他介质上的数据存储。例如,光介质常常可以得益于合适的数据放置以及冷和热数据的管理。许多类型的光介质都是可重写固定次数的,并且合适的数据选择和放置可以允许光介质使用更长时期。例如,可以选择光盘驱动器存储不频繁改变的数据,并且需要重写的数据可以随时间在该驱动器上被循环使用以使扇区均匀损耗。
在一些实施例中,存储放置系统实现在基于闪存的存储设备的固件中。尽管在此所描述的技术涉及对数据使用的理解水平,尤其是涉及文件系统,但是设备的固件可以用常用文件系统的理解来编程,使得对于那些文件系统,该固件可以更有效地管理驱动器上的存储。在固件中放置该系统将允许改进:在较少地期望操作系统更新和修改的系统上的数据存储。在一些环境中,比如在一些智能电话中,固件作为操作系统的一部分实现在驱动程序中,因此可以对驱动程序作出改变以实现该系统,而无需更广泛的操作系统修改。
从前面的描述中可以看出,可以理解,此处描述的存储放置系统的特定实施例只是为了说明,但是,在不偏离本发明的精神和范围的情况下,可以进行各种修改。因此,本发明只受所附权利要求限制。
Claims (15)
1.一种用于将数据写入到基于闪存的存储设备上的所选位置的计算机实现的方法,该方法包括:
接收将数据写入到基于闪存的存储设备的请求;
鉴定与要被写入到所述基于闪存的存储设备的数据相关联的访问频率;
基于要被写入的数据的经鉴定的访问频率为所述数据选择所述基于闪存的存储设备上的数据放置位置;
将放置信息发送给所述基于闪存的存储设备,指示所述要被写入的数据的所选数据放置位置;
将所请求的数据存储在所述基于闪存的存储设备上的所选数据放置位置处;
其中前述步骤由至少一个处理器来执行。
2.如权利要求1所述的方法,其特征在于,接收所述请求包括由操作系统接收的请求,其中该方法被实现为文件系统驱动程序、由固件来实现、或者直接以硬件来实现以管理基于闪存的设备上的数据放置。
3.如权利要求1所述的方法,其特征在于,接收所述请求包括:接收关于所述要被写入的数据的描述所述数据的目的的附加信息。
4.如权利要求1所述的方法,其特征在于,接收所述请求包括:接收关于所述要被写入的数据的描述所述数据的目的的附加信息。
5.如权利要求1所述的方法,其特征在于,鉴定所述数据包括:确定所述数据将多频繁地被读取并且所述数据将多频繁地被写入。
6.如权利要求1所述的方法,其特征在于,鉴定所述数据包括:基于与所述数据相关联的文件系统位置的历史访问模式来鉴定所述数据。
7.如权利要求1所述的方法,其特征在于,鉴定所述数据包括:基于与所述请求一起接收的元信息来鉴定所述数据。
8.如权利要求1所述的方法,其特征在于,鉴定所述数据包括:基于公知操作系统实现信息来鉴定所述数据。
9.如权利要求1所述的方法,其特征在于,选择所述放置位置包括:向所述设备通知所述数据的所鉴定的访问频率并且允许所述设备为所述数据选择位置。
10.如权利要求1所述的方法,其特征在于,选择所述放置位置包括:将磨损的块标识为针对将不被再次频繁写入的数据的合适位置。
11.如权利要求1所述的方法,其特征在于,所选所述放置位置包括:选择单独的辅助存储设备上的位置以用于保持对于所述基于闪存的存储设备而言较不适合的数据。
12.如权利要求1所述的方法,其特征在于,发送放置信息包括:将所述信息作为用于将数据写入到所述驱动器的命令的参数提供给所述设备。
13.一种用于按照使用来管理基于闪存的存储上的数据放置的计算机系统,该系统包括:
被配置成执行包含在以下组件内的软件指令的处理器和存储器;
基于闪存的存储设备,所述基于闪存的存储设备包括用于非易失性数据存储的至少一些基于闪存的存储器;
数据鉴定组件,所述数据鉴定组件按照数据可能被写入的频率来鉴定由操作系统接收的数据,其中被经常写入的数据被称为热数据而被不频繁写入的数据被称为冷数据;
数据监视组件,所述数据监视组件监视操作系统的数据读取和写入并且存储数据的历史使用信息;
数据放置组件,所述数据放置组件从所述设备可用的所有位置中确定要被写入到所述基于闪存的存储设备的数据将被写入到的一个或多个位置;以及
存储通信组件,所述存储通信组件提供所述系统的其他组件与所述基于闪存的存储设备之间的接口。
14.如权利要求13所述的系统,其特征在于,所述数据鉴定组件访问由所述数据监视组件采集的历史数据访问信息、以及由所述操作系统隐式或显式地提供的描述特定数据的目的的使用专用知识。
15.如权利要求13所述的系统,其特征在于,所述数据放置组件使用由所述数据鉴定组件确定的数据鉴定来确定数据应当被定位在何处,并且使用所述存储通信组件来访问由所述驱动器固件或硬件跟踪的驱动器信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/156,361 US20120317337A1 (en) | 2011-06-09 | 2011-06-09 | Managing data placement on flash-based storage by use |
US13/156,361 | 2011-06-09 | ||
PCT/US2012/041440 WO2012170751A2 (en) | 2011-06-09 | 2012-06-07 | Managing data placement on flash-based storage by use |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103597444A true CN103597444A (zh) | 2014-02-19 |
Family
ID=47294137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280028028.5A Pending CN103597444A (zh) | 2011-06-09 | 2012-06-07 | 按照使用来管理基于闪存的存储上的数据放置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120317337A1 (zh) |
EP (1) | EP2718806A4 (zh) |
JP (1) | JP2014522537A (zh) |
KR (1) | KR20140033099A (zh) |
CN (1) | CN103597444A (zh) |
AR (1) | AR087232A1 (zh) |
TW (1) | TW201250471A (zh) |
WO (1) | WO2012170751A2 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391652A (zh) * | 2014-10-20 | 2015-03-04 | 北京兆易创新科技股份有限公司 | 一种硬盘的损耗均衡方法及装置 |
CN105959720A (zh) * | 2016-04-28 | 2016-09-21 | 东莞市华睿电子科技有限公司 | 一种视频流数据处理方法 |
CN106354425A (zh) * | 2015-07-13 | 2017-01-25 | 三星电子株式会社 | 基于数据属性的数据布局的方法和系统 |
CN106569962A (zh) * | 2016-10-19 | 2017-04-19 | 暨南大学 | 一种基于增强时间局部性的热点数据识别方法 |
CN106802767A (zh) * | 2015-11-25 | 2017-06-06 | 旺宏电子股份有限公司 | 数据配置方法及应用其的电子系统 |
CN109328342A (zh) * | 2016-07-22 | 2019-02-12 | 英特尔公司 | 增强存储器耗损均衡的技术 |
TWI652571B (zh) | 2017-08-09 | 2019-03-01 | 旺宏電子股份有限公司 | 記憶體裝置之管理系統及管理方法 |
CN109558075A (zh) * | 2018-10-29 | 2019-04-02 | 珠海妙存科技有限公司 | 一种利用数据冷热属性存储数据的方法及装置 |
CN110554999A (zh) * | 2018-05-31 | 2019-12-10 | 华为技术有限公司 | 基于日志式文件系统和闪存设备的冷热属性识别和分离方法、装置以及相关产品 |
CN112771493A (zh) * | 2018-09-28 | 2021-05-07 | 波利伍德股份有限公司 | 将写入流分离到多个分区中 |
CN114115700A (zh) * | 2020-08-31 | 2022-03-01 | 施耐德电气(中国)有限公司 | 闪存数据读写方法和闪存数据读写装置 |
CN114442904A (zh) * | 2020-10-30 | 2022-05-06 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489150B2 (en) | 2003-08-14 | 2016-11-08 | Dell International L.L.C. | System and method for transferring data between different raid data storage types for current data and replay data |
US20120124285A1 (en) * | 2003-08-14 | 2012-05-17 | Soran Philip E | Virtual disk drive system and method with cloud-based storage media |
US7613945B2 (en) | 2003-08-14 | 2009-11-03 | Compellent Technologies | Virtual disk drive system and method |
US8082384B2 (en) | 2008-03-26 | 2011-12-20 | Microsoft Corporation | Booting an electronic device using flash memory and a limited function memory controller |
US8195891B2 (en) * | 2009-03-30 | 2012-06-05 | Intel Corporation | Techniques to perform power fail-safe caching without atomic metadata |
US9542326B1 (en) * | 2011-06-14 | 2017-01-10 | EMC IP Holding Company LLC | Managing tiering in cache-based systems |
US9330009B1 (en) * | 2011-06-14 | 2016-05-03 | Emc Corporation | Managing data storage |
US8775376B2 (en) * | 2011-06-30 | 2014-07-08 | International Business Machines Corporation | Hybrid data backup in a networked computing environment |
US10089017B2 (en) | 2011-07-20 | 2018-10-02 | Futurewei Technologies, Inc. | Method and apparatus for SSD storage access |
US9811288B1 (en) * | 2011-12-30 | 2017-11-07 | EMC IP Holding Company LLC | Managing data placement based on flash drive wear level |
US8825724B2 (en) * | 2012-03-29 | 2014-09-02 | Lsi Corporation | File system hinting |
US20140059279A1 (en) * | 2012-08-27 | 2014-02-27 | Virginia Commonwealth University | SSD Lifetime Via Exploiting Content Locality |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9715445B2 (en) * | 2013-03-14 | 2017-07-25 | Sandisk Technologies Llc | File differentiation based on data block identification |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US9965199B2 (en) | 2013-08-22 | 2018-05-08 | Sandisk Technologies Llc | Smart dynamic wear balancing between memory pools |
US9311252B2 (en) | 2013-08-26 | 2016-04-12 | Globalfoundries Inc. | Hierarchical storage for LSM-based NoSQL stores |
US9471250B2 (en) * | 2013-09-04 | 2016-10-18 | International Business Machines Corporation | Intermittent sampling of storage access frequency |
US9330108B2 (en) | 2013-09-30 | 2016-05-03 | International Business Machines Corporation | Multi-site heat map management |
US9524236B1 (en) * | 2014-01-09 | 2016-12-20 | Marvell International Ltd. | Systems and methods for performing memory management based on data access properties |
US10013344B2 (en) | 2014-01-14 | 2018-07-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Enhanced SSD caching |
KR102289919B1 (ko) * | 2014-04-15 | 2021-08-12 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 장치, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법 |
US9934232B2 (en) * | 2014-06-13 | 2018-04-03 | International Business Machines Corporation | Data restructuring of deduplicated data |
US10331649B2 (en) | 2014-06-29 | 2019-06-25 | Microsoft Technology Licensing, Llc | Transactional access to records on secondary storage in an in-memory database |
US10528461B2 (en) | 2014-08-04 | 2020-01-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling wear among flash memory devices based on remaining warranty |
WO2016032486A1 (en) * | 2014-08-28 | 2016-03-03 | Hewlett-Packard Development Company, L.P. | Moving data chunks |
US9632927B2 (en) | 2014-09-25 | 2017-04-25 | International Business Machines Corporation | Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes |
US9785374B2 (en) | 2014-09-25 | 2017-10-10 | Microsoft Technology Licensing, Llc | Storage device management in computing systems |
CN104461935B (zh) * | 2014-11-27 | 2018-03-13 | 华为技术有限公司 | 一种进行数据存储的方法、装置及系统 |
JP6147933B2 (ja) * | 2014-12-05 | 2017-06-14 | 華為技術有限公司Huawei Technologies Co.,Ltd. | コントローラ、フラッシュメモリ装置、データブロック安定性を識別する方法、及びデータをフラッシュメモリ装置に記憶する方法 |
US10078582B2 (en) | 2014-12-10 | 2018-09-18 | International Business Machines Corporation | Non-volatile memory system having an increased effective number of supported heat levels |
US9779021B2 (en) | 2014-12-19 | 2017-10-03 | International Business Machines Corporation | Non-volatile memory controller cache architecture with support for separation of data streams |
KR102282962B1 (ko) | 2014-12-22 | 2021-07-30 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US10282324B2 (en) | 2015-07-13 | 2019-05-07 | Samsung Electronics Co., Ltd. | Smart I/O stream detection based on multiple attributes |
US10509770B2 (en) * | 2015-07-13 | 2019-12-17 | Samsung Electronics Co., Ltd. | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device |
WO2017028872A1 (en) * | 2015-08-17 | 2017-02-23 | Giesecke & Devrient Gmbh | A cloud-based method and system for enhancing endurance of euicc by organizing non-volatile memory updates |
US9886208B2 (en) | 2015-09-25 | 2018-02-06 | International Business Machines Corporation | Adaptive assignment of open logical erase blocks to data streams |
US9792043B2 (en) * | 2016-01-13 | 2017-10-17 | Netapp, Inc. | Methods and systems for efficiently storing data |
US9959056B2 (en) | 2016-01-13 | 2018-05-01 | Netapp, Inc. | Methods and systems for efficiently storing data at a plurality of storage tiers using a transfer data structure |
CN105739920A (zh) * | 2016-01-22 | 2016-07-06 | 深圳市瑞驰信息技术有限公司 | 一种自动化分层存储方法及服务器 |
US10031689B2 (en) | 2016-09-15 | 2018-07-24 | Western Digital Technologies, Inc. | Stream management for storage devices |
US11514083B2 (en) * | 2016-12-22 | 2022-11-29 | Nippon Telegraph And Telephone Corporation | Data processing system and data processing method |
US10289317B2 (en) * | 2016-12-31 | 2019-05-14 | Western Digital Technologies, Inc. | Memory apparatus and methods thereof for write amplification aware wear leveling |
US9837153B1 (en) | 2017-03-24 | 2017-12-05 | Western Digital Technologies, Inc. | Selecting reversible resistance memory cells based on initial resistance switching |
CN107357740B (zh) * | 2017-07-05 | 2018-08-03 | 腾讯科技(深圳)有限公司 | 一种序列化器自动配置方法、装置及分布式缓存系统 |
FR3070081B1 (fr) * | 2017-08-10 | 2021-04-09 | Safran Identity & Security | Procede d'ecriture d'un programme dans une memoire non-volatile tenant compte de l'usure de ladite memoire |
US10642727B1 (en) * | 2017-09-27 | 2020-05-05 | Amazon Technologies, Inc. | Managing migration events performed by a memory controller |
KR102504368B1 (ko) * | 2017-12-22 | 2023-02-24 | 에스케이하이닉스 주식회사 | 비휘발성 메모리의 웨어 레벨링 동작을 관리하는 반도체 장치 |
JP2020047001A (ja) | 2018-09-19 | 2020-03-26 | キオクシア株式会社 | メモリシステムおよびその制御方法 |
KR20200042780A (ko) * | 2018-10-16 | 2020-04-24 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11321636B2 (en) * | 2019-07-18 | 2022-05-03 | Innogrit Technologies Co., Ltd. | Systems and methods for a data storage system |
KR20210056625A (ko) * | 2019-11-11 | 2021-05-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 이를 이용한 스토리지 시스템 |
KR20210089853A (ko) | 2020-01-09 | 2021-07-19 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US11016880B1 (en) | 2020-04-28 | 2021-05-25 | Seagate Technology Llc | Data storage system with read disturb control strategy whereby disturb condition can be predicted |
US12014077B2 (en) * | 2022-08-08 | 2024-06-18 | Micron Technology, Inc. | Rating-based mapping of data to memory |
CN115793980A (zh) * | 2022-12-08 | 2023-03-14 | 三星(中国)半导体有限公司 | 数据存储方法和数据存储的装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US7356641B2 (en) * | 2001-08-28 | 2008-04-08 | International Business Machines Corporation | Data management in flash memory |
KR100703807B1 (ko) * | 2006-02-17 | 2007-04-09 | 삼성전자주식회사 | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 |
US20070208904A1 (en) * | 2006-03-03 | 2007-09-06 | Wu-Han Hsieh | Wear leveling method and apparatus for nonvolatile memory |
US9052826B2 (en) * | 2006-07-28 | 2015-06-09 | Condusiv Technologies Corporation | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US20090132621A1 (en) * | 2006-07-28 | 2009-05-21 | Craig Jensen | Selecting storage location for file storage based on storage longevity and speed |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
KR100874702B1 (ko) * | 2006-10-02 | 2008-12-18 | 삼성전자주식회사 | 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법 |
US7743203B2 (en) * | 2007-05-11 | 2010-06-22 | Spansion Llc | Managing flash memory based upon usage history |
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8429358B2 (en) * | 2007-08-14 | 2013-04-23 | Samsung Electronics Co., Ltd. | Method and data storage device for processing commands |
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
KR101464338B1 (ko) * | 2007-10-25 | 2014-11-25 | 삼성전자주식회사 | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 |
US7849275B2 (en) * | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
KR101401560B1 (ko) * | 2007-12-13 | 2014-06-03 | 삼성전자주식회사 | 반도체 메모리 시스템 및 그것의 마모도 관리 방법 |
TWI375953B (en) * | 2008-02-21 | 2012-11-01 | Phison Electronics Corp | Data reading method for flash memory, controller and system therof |
JP2011022963A (ja) * | 2009-07-21 | 2011-02-03 | Panasonic Corp | 情報処理装置および情報処理方法 |
US8510497B2 (en) * | 2009-07-29 | 2013-08-13 | Stec, Inc. | Flash storage device with flexible data format |
US9183134B2 (en) * | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US8990538B2 (en) * | 2010-11-05 | 2015-03-24 | Microsoft Corporation | Managing memory with limited write cycles in heterogeneous memory systems |
-
2011
- 2011-06-09 US US13/156,361 patent/US20120317337A1/en not_active Abandoned
-
2012
- 2012-04-12 TW TW101113035A patent/TW201250471A/zh unknown
- 2012-06-07 KR KR1020137032616A patent/KR20140033099A/ko not_active Application Discontinuation
- 2012-06-07 EP EP12797269.3A patent/EP2718806A4/en not_active Withdrawn
- 2012-06-07 JP JP2014514860A patent/JP2014522537A/ja active Pending
- 2012-06-07 WO PCT/US2012/041440 patent/WO2012170751A2/en active Application Filing
- 2012-06-07 CN CN201280028028.5A patent/CN103597444A/zh active Pending
- 2012-06-11 AR ARP120102077A patent/AR087232A1/es unknown
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391652A (zh) * | 2014-10-20 | 2015-03-04 | 北京兆易创新科技股份有限公司 | 一种硬盘的损耗均衡方法及装置 |
US11461010B2 (en) | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
CN106354425A (zh) * | 2015-07-13 | 2017-01-25 | 三星电子株式会社 | 基于数据属性的数据布局的方法和系统 |
CN106354425B (zh) * | 2015-07-13 | 2021-06-29 | 三星电子株式会社 | 基于数据属性的数据布局的方法和系统 |
CN106802767A (zh) * | 2015-11-25 | 2017-06-06 | 旺宏电子股份有限公司 | 数据配置方法及应用其的电子系统 |
CN106802767B (zh) * | 2015-11-25 | 2019-11-05 | 旺宏电子股份有限公司 | 数据配置方法及应用其的电子系统 |
CN105959720A (zh) * | 2016-04-28 | 2016-09-21 | 东莞市华睿电子科技有限公司 | 一种视频流数据处理方法 |
CN105959720B (zh) * | 2016-04-28 | 2018-08-31 | 东莞市华睿电子科技有限公司 | 一种视频流数据处理方法 |
CN109328342A (zh) * | 2016-07-22 | 2019-02-12 | 英特尔公司 | 增强存储器耗损均衡的技术 |
CN106569962A (zh) * | 2016-10-19 | 2017-04-19 | 暨南大学 | 一种基于增强时间局部性的热点数据识别方法 |
TWI652571B (zh) | 2017-08-09 | 2019-03-01 | 旺宏電子股份有限公司 | 記憶體裝置之管理系統及管理方法 |
CN110554999A (zh) * | 2018-05-31 | 2019-12-10 | 华为技术有限公司 | 基于日志式文件系统和闪存设备的冷热属性识别和分离方法、装置以及相关产品 |
CN110554999B (zh) * | 2018-05-31 | 2023-06-20 | 华为技术有限公司 | 基于日志式文件系统和闪存设备的冷热属性识别和分离方法、装置以及相关产品 |
CN112771493A (zh) * | 2018-09-28 | 2021-05-07 | 波利伍德股份有限公司 | 将写入流分离到多个分区中 |
CN109558075A (zh) * | 2018-10-29 | 2019-04-02 | 珠海妙存科技有限公司 | 一种利用数据冷热属性存储数据的方法及装置 |
CN114115700A (zh) * | 2020-08-31 | 2022-03-01 | 施耐德电气(中国)有限公司 | 闪存数据读写方法和闪存数据读写装置 |
CN114442904A (zh) * | 2020-10-30 | 2022-05-06 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN114442904B (zh) * | 2020-10-30 | 2024-06-14 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
EP2718806A2 (en) | 2014-04-16 |
WO2012170751A2 (en) | 2012-12-13 |
JP2014522537A (ja) | 2014-09-04 |
TW201250471A (en) | 2012-12-16 |
AR087232A1 (es) | 2014-03-12 |
US20120317337A1 (en) | 2012-12-13 |
WO2012170751A3 (en) | 2013-04-11 |
KR20140033099A (ko) | 2014-03-17 |
EP2718806A4 (en) | 2015-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103597444A (zh) | 按照使用来管理基于闪存的存储上的数据放置 | |
US10996863B1 (en) | Nonvolatile memory with configurable zone/namespace parameters and host-directed copying of data across zones/namespaces | |
US10275162B2 (en) | Methods and systems for managing data migration in solid state non-volatile memory | |
CN102782683B (zh) | 用于数据库服务器的缓冲池扩展 | |
CN103197899B (zh) | 增强基于闪存的存储的寿命和性能 | |
CN106548789B (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
US11429284B2 (en) | Data categorization based on invalidation velocities | |
US10416932B2 (en) | Dirty data management for hybrid drives | |
KR102663661B1 (ko) | 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치 | |
CN101673243B (zh) | 数据储存装置与方法 | |
US11249652B1 (en) | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller | |
JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
CN104115109A (zh) | 具有多个非易失性半导体存储单元的存储装置及其用于在具有较高残留寿命长度的存储单元中放置热数据而在具有较低残留寿命长度的存储单元中放置冷数据的控制方法 | |
KR20120090965A (ko) | 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
CN105224240A (zh) | 将数据写入存储设备的方法、装置及存储设备 | |
US10585592B2 (en) | Disk area isolation method and device | |
CN114840148B (zh) | 在Kubernetes中基于linux内核bcache技术实现磁盘加速的方法 | |
CN115543859A (zh) | 多分区ssd的磨损均衡优化方法、装置、设备及介质 | |
CN106021124B (zh) | 一种数据的存储方法及存储系统 | |
CN103425586B (zh) | 储存单元管理方法、存储器控制器与存储器储存装置 | |
CN102479156B (zh) | 用来进行区块管理的方法、记忆装置及其控制器 | |
KR20100099888A (ko) | 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법 | |
CN113094004A (zh) | 一种存储设备中针对特定规律数据镜像映射优化处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150728 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150728 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140219 |