CN104050097A - 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 - Google Patents

在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 Download PDF

Info

Publication number
CN104050097A
CN104050097A CN201410090113.5A CN201410090113A CN104050097A CN 104050097 A CN104050097 A CN 104050097A CN 201410090113 A CN201410090113 A CN 201410090113A CN 104050097 A CN104050097 A CN 104050097A
Authority
CN
China
Prior art keywords
memory cell
memory
data object
data unit
workload index
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.)
Granted
Application number
CN201410090113.5A
Other languages
English (en)
Other versions
CN104050097B (zh
Inventor
R·J·高斯
J·D·珊萨姆
D·S·艾布森
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.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of CN104050097A publication Critical patent/CN104050097A/zh
Application granted granted Critical
Publication of CN104050097B publication Critical patent/CN104050097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0688Non-volatile semiconductor memory arrays
    • 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/7202Allocation control and policies
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择。一种装置包括能耦合到主机接口和存储器设备的控制器。所述存储器设备包括具有不同的最小可寻址数据单元大小的两个或更多非层次的非易失性存储器单元。所述控制器被配置为至少执行确定通过主机接口存储在存储器设备中的数据对象的工作量指标。对应于工作量指标,该控制器响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标而选择存储器单元中的一个。响应于此,该数据对象被存储在所选择的存储器单元中。

Description

在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择
发明概述 
本发明是有关在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择。在一个实施例中,一种装置包括能耦合到主机接口和存储器设备的控制器。所述存储器设备包括具有不同的最小可寻址数据单元大小的两个或更多非层次的非易失性存储器单元。所述控制器被配置为至少执行确定通过主机接口存储在存储器设备中的数据对象的工作量指标。对应于工作量指标,该控制器响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标而选择存储器单元中的一个。响应于此,该数据对象被存储在所选择的存储器单元中。 
在另一个实施例中,系统包括具有不同的最小可寻址数据单元大小的两个或多个非层次化的非易失性存储器单元。该系统包括用于确定受到主机命令的数据对象的工作量指标的装置。该系统进一步包括用于在所述两个或更多个存储器单元之间选择存储器单元的装置。对应于工作量指标,该控制器响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标,该选择发生。该系统进一步包括用于响应于此在所选择的存储器单元中存储数据对象的装置。 
鉴于如下详细讨论和附图,可以理解各种实施例的这些和其他特征和各方面。 
附图简述 
在下面的图中,相同的附图标记可以用于识别在多个附图中的类似/相同部件。 
图1是根据各种方面的数据存储设备的方框图; 
图2示出根据本文所描述的实施例用于将数据存储到存储器单元的方 法; 
图3A示出用于基于时间和空间位置选择存储单元的方法; 
图3B示出包括具有相关时间位置的两个数据对象的示例;以及 
图4示出包括具有存储器不同类型或配置的区域的存储设备。 
发明详述 
在本实施例的以下详细描述中,参考了形成本文一部分并且其中通过具体实施例的图示进行说明的附图。但是应当理解的是:在不脱离本发明的精神和范围的情况下,可以利用和改变其它实施例。 
本发明一般涉及存储器系统,它包括多个不同类型的存储器。每种类型的存储器具有物理特性和存储架构。存储器类型可以包括例如闪存、旋转磁性存储器(例如在硬盘驱动器)等,以及较新的固态存储技术,包括相变存储器(PCM)、电阻式随机存取存储器(RRAM)、自旋力矩RAM(STRAM)、,磁性RAM(MRAM)和/或非易失性SRAM(NVRAM)。虽然这些类型的存储器可以具有不同的特征和优点,有效利用使用不同存储器类型的存储设备可包括响应于介质老化、介质的等待时间、介质的耐久性、介质可用空间,和/或基于介质的工作量有效地管理介质中的物理变化。 
数据对象(例如计算机文件)可以基于对象的所观察使用(例如对象访问模式)关联于某些存储记忆特性。存储特征可以包括因素,诸如存储器大小、写入延迟、读取延迟、功率消耗、保留时间、可靠性、最小可寻址数据单元大小和/或其它特性。数据对象还可以具有包括例如访问频率、写入频率、访问顺序性、可靠性和/或长保留时间的存储特定方面。 
校准具有存储特性的数据对象的存储特定方面可以提高存储器元件和整体数据存储设备的效率。例如,频繁写入的数据可以存储在高持久性的存储器中。当与具有较快访问时间的存储类型(诸如低延迟内存类型)配对时,一些数据对象比其他数据对象更受益。如果要存储在存储器系统中的存储特性匹配其中存储数据的存储器类型,可实现有效地利用。根据多种实施方式,校准存储特定需求和存储特定可涉及确定工作量属性。 
在图1中,框图示出了根据本文描述实施例的数据存储设备100。该设备100可以被配置为利用固态存储器的任意组合的固态驱动器(SSD)(或它们的子部件)。该设备100的特征可以适用于其它类型的数据存储设备,诸如使用固态存储器和磁盘组合的混合硬盘驱动器。该设备100的特征也可以适用于不利用标准硬盘驱动数据接口的特殊用途的固态和/或磁盘数据存储设备(或其子组件)。 
该设备100可以包括一个或多个存储器单元102、103,该一个或多个存储器单元包含设备100的非易失性存储器中的一个或全部。存储器单元102、103可包括一个或多个相应的分立物理单元104、105,例如,存储器芯片或芯片,它们的分区(例如,平面),或它们的聚集(例如多个封装,多芯片封装)等,在该示例中,存储器单元102和103都是非分层单位,以及相应的物理单元104、105各包含来自其他的不同类型的非易失性存储介质。 
在每一个物理单元104、105中,存储器可以被分成更小的块106、107。因为该物理单元104、105的底层介质是不同的,块106、107的存储器容量可有所不同。许多其他的特性,诸如可寻址性和性能可有所不同。而设备100的一些特征也适用于非分层混合介质存储器,大多数后述理念可用于使用单个存储器单元的设备和单个存储介质类型。 
在其中存储器单元104和105是非分级的实施例中,存储器单元可具有可寻址的位特征和至少一种其他不同的特性,其中包括吞吐量度量、延迟度量、度量耐力和可用空间独立的任意组合。响应于对应工作量指标的复合特性选择存储器单元104、105。在一些情况下,当涉及所选特征的存储器单元104、105达到阈值时,至少一个其它特性的选定特性具有更高优先级。所选特征例如包括耐久度量和/或可用空间度量。 
该设备100可以包括一个或多个系统控制器110,有利于向通过主机接口112从主机114接收的请求提供服务。主机接口可以提供对均匀逻辑块大小的逻辑块的访问。在一些情况下,最小可寻址数据单元大小小于主机的均匀逻辑块大小。控制器110通常可以接收读取或写入引用逻辑地址的主机114请求。在其他方面,系统控制器110将逻辑地址转换为物理地 址,并对存储器单元102、103的相应物理地址执行指示相应的读或写操作。 
该设备100可以包括非易失性随机存取存储器115(RAM),其可以被用于非易失性存储器单元102、103的易失性高速缓冲存储器117,等。一般情况下,易失性缓存117是镜像非易失性存储器102、103的部分的分层存储器结构,但可以比所述非易失性存储器102、103更快速地读出和/或写入。对于某些情况,例如,该数据认为在一段短期间内重复读/写活动,易失性缓存117将提高性能。 
系统控制器110耦合到一个或多个存储控制器116,用于确定和改变存储器单元102、103的介质状态。存储控制器116可包括逻辑电路(例如,门阵列,多路转换器,等等),允许选择特定存储单元进行读或写。存储控制器可以包括便于纠错码ECC和/或检错码EDC逻辑的电路。 
存储控制器116还可以包括)提供用于读取和写入单元的信号的模拟信号处理电路(例如,滤波器,放大器等),以及用于在存储器介质上存储的模拟信息和在设备中其它地方所使用的数字信息的数字到模拟转换器(DAC)和模拟到数字转换器(ADC),或这些类型的模拟电路可以存在于存储器设备中,信息可被传回给存储控制器,例如用于实现低密度奇偶校验码ECC功能。存储控制器116可以被配置为响应于数据对象的工作量指标而选择存储器单元102、103。 
编码器/解码器模块118和存储控制器116一起使用,以在存储器单元102、103所用的数字编码格式和用户数据格式之间进行转换。编码器/解码器模块118可以是存储控制器116的一部分或独立单元。如果有多个存储单元102和103被使用时,设备100可以包括多个存储控制器116和编码器/解码器118,其以特定类型的存储器定制的形式至少执行各自的操作。该独立的控制器也可以利用适用于特定存储器架构的自身逻辑到物理映射。在这种情况下,系统/主控制器110可变换逻辑主机地址为存储器单元102、103可以使用的内部逻辑地址。 
主控制部110(以及存储控制器116和编码解码器118)可以响应于来自存储器、逻辑电路、固件或软件的指令,这里表示为存储可由设备装置100如下所述执行操作的计算机可读介质120。例如,当读取或写入到存 储器单元102、103时,自适应编程/读模块122可以改变存储控制器116所使用的的参数。如下文所述,自适应ECC模块124可以与编码器/解码器118一起操作以修改ECC参数。 
所述计算机可读介质120还包括格式化模块126,其可以指示相关数据是如何存储于存储器单元102、103的各个方面。格式化模块126的某些方面可以包括在存储控制器116中,诸如特定存储器结构中的数据交错。格式化模块126的其他方面(诸如,不同的存储器单元102、103之间的选择,用于存储特定的数据)可以在更高层次被实现,例如,逻辑到物理映射。管理模块128也可以运行在更高层次,例如,跟踪主机活动,启动后台进程等。设备100可以包括数据库130,其包括非易失性存储器的保留部分,例如用于诸如使用度量、配置设置等的数据。 
一般地,管理模块128、系统控制器110、主机接口112和数据库130的一个或多个可共同作用于确定受到主机命令的数据对象的工作量指标。类似地,格式化模块126、管理模块128、系统控制器110、存储控制器116和数据库130中的一个和多个可共同作为装置,对应于工作量指标,响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标而选择存储器单元102、103中的一个。格式化模块126、管理模块128、系统控制器110、存储控制器116的一个或多个可共同用于响应于此存储所述数据对象中选定存储单元的装置。 
正如前面提到的,存储器单元102、103可包含不同类型的存储器存储介质。例如,存储器单元102、103每个都可以包括各自不同的介质,诸如闪存、HDD、PCM、RRAM、STRAM、MRAM和/或NVRAM。在某些情况下,可有两个以上的存储单元。 
在一些情况下,不同的存储器集合也可以互相或向中央系统通信他们的整体利用率和/或效力。该通信可用来确定是否某些存储器是否欠使用或过度使用。当选择存储器类型以存储数据对象时,该通信可以被考虑在内。在某些情况下,所传送的数据被赋予高于数据类型的工作量指标的优先级。 
图2示出根据本文所描述的实施例用于将数据存储到存储器单元的方法。确定210被存储在存储装置中的数据对象的工作量指标。工作量指标 可以包括与该数据对象相关的最近活动的等级和/或频率。在该情况下,具有最近活动的相对较高等级和/或频率的对象可以对应于具有相对较小的最小可寻址数据单元大小的存储器单元。工作量指标可以包括数据对象的随机性量度。在该情况下,具有相对较高的随机性的对象对应于具有相对较小的最小可寻址数据单元大小的存储器单元。工作量指标可任选地包括时间位置度量。 
响应于该数据对象的工作量指标,选择220具有不同的最小可寻址数据单元大小的两个或更多的存储器单元中的至少一个存储器单元。存储器单元可以具有至少一种其它不同的特性的非分层单元,其中包括吞吐量度量、延迟度量、耐力度量,并可用空间度量的任意组合。在该情况下,响应于对应工作量指标的合成特性选择所述存储器单元的一个,所述合成特性基于所述不同的最小可寻址数据单元大小以及所述至少一个其它不同特性。此外,在该情况下,当涉及所选特征的存储器单元中的至少一个状态达到一个阈值时,该至少一个其它特征的选择特性控制合成特性。在这种情况下,所选特征可以包括耐久度量和可用空间度量的一个或多个。根据各种实现方式,存储器单元中的至少一个在单个位的水平可以是可寻址的。在所选存储单元存储230该数据对象。 
如前所述,根据数据类型和存储器类型的特征的各种方面,数据对象可以被分配存储器类型。存储器类型的特征至少包括:历史或预测的工作量、存储器的吞吐量或等待时间、存储器的耐力、存储器上的实际或预测磨损、存储器上的可用空间。存储器的可用空间可以是存储器类型或单元中空间百分比和/或存储器设备中可用空间百分比的函数。在某些情况下,考虑一个以上的介质类型特征和/或工作量指标,数据对象被分配给存储类型。例如,根据存储器类型的访问速度和可寻址数据单元大小,数据对象可以被分配。 
存储器类型的工作量指标可以基于各种因素。例如,工作量可以基于数据对象的随机测量,数据对象相关的最近活动的等级和/或频率,数据对象的大小,数据是否是热的或冷的,和/或数据对象的位置。在一些情况下,工作量指标包括涉及数据对象的最近活动的等级和/或频率。具有最近活动 的相对较高的等级和/或频率的数据对象可对应于具有相对较小的最小可寻址数据单元大小的存储器单元。 
具有最近活动的相对较高等级和/或频率的数据对象对应于具有相对较小的最小可寻址数据单元大小的存储器单元。这些工作量属性可然后用来配合数据和兼容的内存类型。在某些情况下,工作量可以通过监测输入的写数据并测量随后的读取进行确定。存储特定属性可以考虑多种因素,诸如,数据写入频率和读取频率。 
根据各种实施例,工作量指标可以通过监测时间和空间位置的时间上相关联的命令来确定。时间位置涉及到将在不久的将来再次引用的时间点引用或访问的信息。空间位置涉及到最近访问的附近信息。在某些情况下,数据对象与至少一个其他数据对象组合。该分组可以基于工作量的属性。在一些情况下,分组基于具有共同时间和/或地点的数据对象。 
根据多种实施方式,具有特定特征的数据对象成对或成组,并存储在具有兼容特性的存储器类型中。图3A示出了根据本文所述实施例基于时间和空间位置选择非分层的非易失性存储器单元的方法。通过主机命令接收310第一数据对象。选择320存储器单元以响应于第一数据对象的工作量指标存储第一数据对象。第一数据对象被存储330在所选存储器单元中。 
通过主机命令接收340第二数据对象。判断342第二数据对象是否在时间上涉及所述第一数据对象。该确定342还可以涉及比较空间位置与所述第一数据对象。如果确定342所述第二数据对象是在时间上(并且可能在空间上)涉及所述第一数据对象,选择354存储所述第一数据对象的存储单元以存储所述第二数据对象。如果确定342所述第二数据对象未在时间上涉及所述第一数据对象,选择352存储器单元以响应于所述第二数据对象的工作量指标而存储第二数据对象。在这种情况下,被选择来存储所述第二数据对象的存储单元可以是存储第一数据对象的相同存储单元和/或不同存储单元。 
图3B示出了包括具有相关时间位置的两个数据对象350、370和两个存储器单元360、365的示例。根据图3B,第一数据对象350被通过主机命令351接收并写入到第一存储器单元360。第二数据对象370通过主机命 令371接收并且被确定为时间上涉及第一数据对象350。该确定可涉及比较主机命令351、371之间的时间、查询最近处理的命令数据库等等。 
随着时间接近的结果,所述第二数据对象370被写入到存储第一数据对象350的同一存储器单元中。在此示例中,第一数据对象350被存储在第一存储单元360,以便将第二数据对象370也存储在所述第一存储器单元360中。存储具有相关时间位置的数据可导致数据还具有相关的空间位置。这可以允许随后连续读回数据并增加存储设备的吞吐量。 
该数据对象350、370的空间位置也可以基于对象350、370的逻辑块地址确定,其可在主机命令351、371中提供。这可以提供指示:该数据对象350、370应该被写入到同一个存储单元360。该确定可以独立于时间位置进行。然而,随机数据可以具有没有强时间接近的空间位置,在这种情况下,物理上存储顺序地读回的数据可能不是大的优势。然而,基于其具有更适合于随机数据的特征的单元之一,随机数据可针对存储器单元360、365的特定一个。 
如前所述,当选择存储单元时,工作量指标比其他的工作量指标具有更高的优先级。空间位置比其他工作量指标可具有更高的优先级,诸如例如功耗。存储器单元的其它特性可以调整该优先次序。举例来说,如果存储器单元比其它更满,则优先级可以被调整以填充不太满地,即使这意味着减少其他一些性能度量。 
正如关于图1如前所述,存储设备可包括具有的存储器不同类型或配置的区域。这方面的一个例子示于图4,存储器单元400、402可以由控制器404(例如,使用图1中所示的格式化模块126)写入和读取。存储器单元400、402可以是不同或相同的存储器类型,但是具有不同存储单元的尺寸,例如,物理块或页大小。在该示例中,存储器单元402具有N个最小页面大小,以及存储器单元400具有2N的最小页面大小。如果最小的逻辑数据块尺寸也对应于2N,则存储器单元400的一个页面可以存储逻辑块,以及存储单元402的两个页面用于存储一个逻辑块。 
控制器404可根据如何使用数据选择单元400和402的一个,用于存储数据。举例来说,如果预计将随机更新数据,则在具有较小的页大小的 单元402中存储数据可是更有效的。因此,如果数据的逻辑块被确定为是随机的,则存储在存储器单元402的块406、407。如果确定(例如,通过在易失性缓存中的现有条目)页面的一部分已由主机命令改变,则可仅需要重写块406、407。该选择可依赖于其它因素,诸如单元400、402的相对延迟和吞吐量,单元402的页是否并行写入,需要编程单元400的页面所需要的相对的功耗,等。 
控制器404还可以利用其他系统数据来支配其中数据被存储在一个或两个存储器单元400、402中的位置。例如,控制器可以能够跟踪两个单元400、402内的磨损以及工作量指标,诸如数据是否是热的或冷的。在这种情况下,存储器单元400、402的最磨损块可以被选择为取得最冷数据。在一些实施例中,控制器404基于所述存储器单元400、402的最小可寻址数据单元大小确定数据存储的位置。例如,如果存储器单元400在单个位的水平是可寻址的,控制器可以选择存储器单元400用于存储特定数据。另外或可选地,该控制器可以基于其他因素选择存储器单元。 
控制器404也可以周期性地重新分配坏的单元(例如字线)和解散坏单元的。例如,如果两个物理页不够可靠以存储所通告的页大小,它们的播发容量可以减少一半,并可以把它们组合成具有大大增加ECC码的单个逻辑单元。这也可涉及表征诸如可靠性或保留时间的度量。 
上述各种实施例可使用交互以提供特定结果的电路和/或软件模块实现。计算领域的技术人员可以利用本领域的公知技术容易地实现该所述功能,无论以模块化的水平或作为整体。例如,本文中所示的流程图可用于创建由处理器执行的计算机可读指令/代码。该指令可以存储在计算机可读介质上,并传送到处理器,用于如本领域已知的执行。上面所示的结构和程序仅是可用于如上所述促进在数据存储设备中管理缓存的示例性示例。 
示例性实施例的前述描述已经出于说明和描述的目的。它不旨在穷尽或限制本发明概念所公开的精确形式。根据上述教导,许多修改和变化是可能的。所公开实施例的任何或所有特征都可以单独或以任何组合应用,并不意味着是限制性的,而是纯粹是说明性的。它意在范围不受本详细说明限制,而是由所附权利要求确定。 

Claims (20)

1.一种装置,包括:
包括能耦合到主机接口和存储器设备的控制器,所述存储器包括具有不同的最小可寻址数据单元大小的两个或更多非层次的非易失性存储器单元,所述控制器被配置为至少执行:
确定通过主机接口存储在存储器设备中的数据对象的工作量指标;
对应于工作量指标,响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标而选择存储器单元中的一个;
响应于此,存储所述数据对象在所选存储器单元中。
2.根据权利要求1所述的装置,其中,至少一个所述存储器单元在单个位水平是可寻址的。
3.根据权利要求1所述的装置,其中,工作量指标可以包括数据对象的随机性量度,其中,具有相对较高的随机性的对象对应于具有相对较小的最小可寻址数据单元大小的存储器单元。
4.根据权利要求1所述的装置,其中,工作量指标可以包括与该数据对象相关的最近活动的等级和/或频率,其中,具有最近活动的相对较高等级和/或频率的对象可以对应于具有相对较小的最小可寻址数据单元大小的存储器单元。
5.根据权利要求1所述的装置,其中,所述主机接口提供对均匀逻辑块大小的逻辑块的访问,其中,不同的最小可寻址数据单元大小中的至少一个小于所述均匀逻辑块大小。
6.根据权利要求1所述的装置,其中,两个或多个存储器单元可具有至少一种其他不同的特性,其中包括吞吐量度量、延迟度量、度量耐力和可用空间独立的任意组合,以及其中响应于对应工作量指标的复合特性选择存储器单元中的一个,其中,所述复合特征基于不同的最小可寻址数据单元大小和至少一个其他不同的特性。
7.根据权利要求6所述的装置,其中,当涉及所选特征的存储器单元中的至少一个状态达到阈值时,所述至少一个其它特征的选择特性控制所述复合特性。
8.根据权利要求7所述的装置,其中,所选择的特征包括耐久性指标。
9.根据权利要求7所述的装置,其中,所选择的特征包括可用空间度量。
10.根据权利要求1所述的装置,其中,至少一个存储器单元包括电阻式存储器单元。
11.一种方法,包括:
确定受到主机命令的数据对象的工作量指标;
对应于所述工作量指标,响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标而选择具有不同最小可寻址数据单元大小的两个或多个非分层非易失性存储器单元中的一个;
响应于此,存储所述数据对象在所选存储器单元中。
12.根据权利要求11所述的方法,其中,至少一个所述存储器单元在单个位水平是可寻址的。
13.根据权利要求11所述的方法,其中,工作量指标可以包括与该数据对象相关的最近活动的等级和/或频率,其中,具有最近活动的相对较高等级和/或频率的对象可以对应于具有相对较小的最小可寻址数据单元大小的存储器单元。
14.根据权利要求11所述的方法,其中,工作量指标可以包括数据对象的随机性量度,其中,具有相对较高的随机性的对象对应于具有相对较小的最小可寻址数据单元大小的存储器单元。
15.根据权利要求11所述的方法,其中,所述工作量指标包括时间位置度量。
16.根据权利要求11所述的方法,其中,两个或多个存储器单元可具有至少一种其他不同的特性,其中包括吞吐量度量、延迟度量、度量耐力和可用空间独立的任意组合,以及其中响应于对应工作量指标的复合特性选择存储器单元中的一个,其中,所述复合特征基于不同的最小可寻址数据单元大小和至少一个其他不同的特性。
17.根据权利要求16所述的方法,其中,当涉及所选特征的存储器单元中的至少一个状态达到阈值时,所述至少一个其它特征的选择特性控制所述复合特性。
18.根据权利要求17所述的方法,其中,所选择的特征包括耐久性指标和可用空间度量。
19.一种存储指令的非临时性计算机可读介质,所述指令可由处理器操作以执行权利要求1的方法。
20.一种系统,包括:
具有不同的最小可寻址数据单元大小的两个或多个非层次的非易失性存储器单元;
装置,确定受到主机命令的数据对象的工作量指标;
装置,对应于所述工作量指标,响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标而选择两个或多个存储器单元中的一个,以及
装置,用于响应于此,存储所述数据对象在所选存储器单元中。
CN201410090113.5A 2013-03-13 2014-03-12 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 Active CN104050097B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/802,192 US9489148B2 (en) 2013-03-13 2013-03-13 Selecting between non-volatile memory units having different minimum addressable data unit sizes
US13/802,192 2013-03-13

Publications (2)

Publication Number Publication Date
CN104050097A true CN104050097A (zh) 2014-09-17
CN104050097B CN104050097B (zh) 2018-04-06

Family

ID=50486729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410090113.5A Active CN104050097B (zh) 2013-03-13 2014-03-12 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择

Country Status (5)

Country Link
US (1) US9489148B2 (zh)
EP (1) EP2778888B1 (zh)
JP (1) JP6113095B2 (zh)
KR (1) KR101580454B1 (zh)
CN (1) CN104050097B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649136A (zh) * 2015-11-03 2017-05-10 西安中兴新软件有限责任公司 一种数据存储方法和存储装置
CN107949842A (zh) * 2015-07-01 2018-04-20 维卡艾欧有限公司 支持多层存储器的虚拟文件系统
CN110750209A (zh) * 2018-07-24 2020-02-04 三星电子株式会社 固态驱动器和用于元数据访问的方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174744A1 (ja) 2015-04-28 2016-11-03 株式会社日立製作所 不揮発性メモリの制御方法、制御装置、および半導体記憶装置
KR20170078307A (ko) * 2015-12-29 2017-07-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US9733834B1 (en) 2016-01-28 2017-08-15 Weka.IO Ltd. Congestion mitigation in a distributed storage system
US10133516B2 (en) 2016-01-28 2018-11-20 Weka.IO Ltd. Quality of service management in a distributed storage system
CN105912476A (zh) * 2016-04-06 2016-08-31 中国科学院计算技术研究所 片上重复寻址的方法及装置
US10359953B2 (en) * 2016-12-16 2019-07-23 Western Digital Technologies, Inc. Method and apparatus for offloading data processing to hybrid storage devices
US10719439B2 (en) * 2017-09-06 2020-07-21 Seagate Technology Llc Garbage collection of a storage device
US11262912B2 (en) 2017-11-13 2022-03-01 Weka.IO Ltd. File operations in a distributed storage system
US11301433B2 (en) 2017-11-13 2022-04-12 Weka.IO Ltd. Metadata journal in a distributed storage system
US11561860B2 (en) 2017-11-13 2023-01-24 Weka.IO Ltd. Methods and systems for power failure resistance for a distributed storage system
US11216210B2 (en) 2017-11-13 2022-01-04 Weka.IO Ltd. Flash registry with on-disk hashing
US11385980B2 (en) 2017-11-13 2022-07-12 Weka.IO Ltd. Methods and systems for rapid failure recovery for a distributed storage system
US11782875B2 (en) 2017-11-13 2023-10-10 Weka.IO Ltd. Directory structure for a distributed storage system
US10936405B2 (en) 2017-11-13 2021-03-02 Weka.IO Ltd. Efficient networking for a distributed storage system
US11061622B2 (en) 2017-11-13 2021-07-13 Weka.IO Ltd. Tiering data strategy for a distributed storage system
US11983067B2 (en) * 2022-08-29 2024-05-14 Micron Technology, Inc. Adjustment of code rate as function of memory endurance state metric

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083685A (ja) * 1996-09-09 1998-03-31 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US20120297121A1 (en) * 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions
US20130021846A1 (en) * 2011-07-19 2013-01-24 Rao G R Mohan Lifetime mixed level non-volatile memory system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5713563A (en) * 1980-06-27 1982-01-23 Mitsubishi Electric Corp Data access system in auxiliary memory device
JPH0652691A (ja) * 1992-07-30 1994-02-25 Toshiba Corp 半導体ディスク装置
US8078794B2 (en) 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
JP2005108304A (ja) 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
SG130988A1 (en) 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
JP4749255B2 (ja) * 2006-07-03 2011-08-17 株式会社日立製作所 複数種類の記憶デバイスを備えたストレージシステムの制御装置
KR100809320B1 (ko) 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
KR100771521B1 (ko) 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR100833188B1 (ko) 2006-11-03 2008-05-28 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
JP4180100B2 (ja) * 2007-12-10 2008-11-12 シャープ株式会社 ファイル管理装置
JP2011515727A (ja) * 2008-02-12 2011-05-19 ネットアップ,インコーポレイテッド ハイブリッド媒体ストレージシステムアーキテクチャ
TWI397912B (zh) 2008-02-13 2013-06-01 Genesys Logic Inc 調整存取效能的快閃記憶體儲存裝置
US8060719B2 (en) 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
JP2010198209A (ja) * 2009-02-24 2010-09-09 Toshiba Corp 半導体記憶装置
JP2011186562A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
US20110107042A1 (en) 2009-11-03 2011-05-05 Andrew Herron Formatting data storage according to data classification
US20110167197A1 (en) 2010-01-05 2011-07-07 Mark Leinwander Nonvolatile Storage with Disparate Memory Types
JP5553309B2 (ja) * 2010-08-11 2014-07-16 国立大学法人 東京大学 データ処理装置
US8886990B2 (en) 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
KR20120119092A (ko) 2011-04-20 2012-10-30 삼성전자주식회사 반도체 메모리 시스템 및 이의 구동 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083685A (ja) * 1996-09-09 1998-03-31 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US20120297121A1 (en) * 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions
US20130021846A1 (en) * 2011-07-19 2013-01-24 Rao G R Mohan Lifetime mixed level non-volatile memory system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107949842A (zh) * 2015-07-01 2018-04-20 维卡艾欧有限公司 支持多层存储器的虚拟文件系统
CN106649136A (zh) * 2015-11-03 2017-05-10 西安中兴新软件有限责任公司 一种数据存储方法和存储装置
CN110750209A (zh) * 2018-07-24 2020-02-04 三星电子株式会社 固态驱动器和用于元数据访问的方法

Also Published As

Publication number Publication date
KR101580454B1 (ko) 2015-12-28
EP2778888A1 (en) 2014-09-17
KR20140112398A (ko) 2014-09-23
JP2014179086A (ja) 2014-09-25
US9489148B2 (en) 2016-11-08
CN104050097B (zh) 2018-04-06
JP6113095B2 (ja) 2017-04-12
US20140281280A1 (en) 2014-09-18
EP2778888B1 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
CN104050097A (zh) 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择
US11016674B2 (en) Method, device, and computer program product for reading data
US10303599B2 (en) Memory system executing garbage collection
US9910748B2 (en) Rebuilding process for storage array
CN110245093A (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
US9298534B2 (en) Memory system and constructing method of logical block
CN105573681B (zh) 一种ssd盘片内部raid组建方法及系统
US20140059277A1 (en) Storage for adaptively determining a processing technique with respect to a host request based on partition data and operating method for the storage device
US10956058B2 (en) Tiered storage system with tier configuration by peer storage devices
US10628074B2 (en) Tiered storage system with data routing by peer storage devices
KR20210057193A (ko) 소계 기입 카운터에 기초한 하이브리드 웨어 레벨링 동작 수행
CN110770691A (zh) 混合数据存储阵列
US20130191591A1 (en) Method for volume management
US11487609B2 (en) Separating parity data from host data in a memory sub-system
US20230019910A1 (en) Limiting hot-cold swap wear leveling
KR20230142795A (ko) Zns 디바이스들에서의 상이한 기입 우선순위화
US11481119B2 (en) Limiting hot-cold swap wear leveling
CN102609224A (zh) 一种独立冗余磁盘阵列系统及其初始化方法
CN115237351B (zh) Nand块动态重映射、读写命令处理方法及存储设备
CN102591816A (zh) 一种多通道Nandflash存储系统
US20210405913A1 (en) Host access tracking in a memory sub-system
US11275680B2 (en) Profile and queue-based wear leveling of memory devices
US10783970B2 (en) Consolidation of copy-back and write in PRAM blocks
CN116917873A (zh) 数据存取方法、存储控制器和存储设备
JP2019121129A (ja) 不揮発性メモリモジュール

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