首页> 中国专利> 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择

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

摘要

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

著录项

  • 公开/公告号CN104050097A

    专利类型发明专利

  • 公开/公告日2014-09-17

    原文格式PDF

  • 申请/专利权人 希捷科技有限公司;

    申请/专利号CN201410090113.5

  • 申请日2014-03-12

  • 分类号G06F12/08;G06F13/16;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人何焜

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:10:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-06

    授权

    授权

  • 2014-10-22

    实质审查的生效 IPC(主分类):G06F12/08 申请日:20140312

    实质审查的生效

  • 2014-09-17

    公开

    公开

说明书

发明概述 

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

在另一个实施例中,系统包括具有不同的最小可寻址数据单元大小的两个或多个非层次化的非易失性存储器单元。该系统包括用于确定受到主机命令的数据对象的工作量指标的装置。该系统进一步包括用于在所述两个或更多个存储器单元之间选择存储器单元的装置。对应于工作量指标,该控制器响应于对应于所选存储器单元的最小可寻址数据单元大小的数据对象的工作量指标,该选择发生。该系统进一步包括用于响应于此在所选择的存储器单元中存储数据对象的装置。 

鉴于如下详细讨论和附图,可以理解各种实施例的这些和其他特征和各方面。 

附图简述 

在下面的图中,相同的附图标记可以用于识别在多个附图中的类似/相同部件。 

图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码的单个逻辑单元。这也可涉及表征诸如可靠性或保留时间的度量。 

上述各种实施例可使用交互以提供特定结果的电路和/或软件模块实现。计算领域的技术人员可以利用本领域的公知技术容易地实现该所述功能,无论以模块化的水平或作为整体。例如,本文中所示的流程图可用于创建由处理器执行的计算机可读指令/代码。该指令可以存储在计算机可读介质上,并传送到处理器,用于如本领域已知的执行。上面所示的结构和程序仅是可用于如上所述促进在数据存储设备中管理缓存的示例性示例。 

示例性实施例的前述描述已经出于说明和描述的目的。它不旨在穷尽或限制本发明概念所公开的精确形式。根据上述教导,许多修改和变化是可能的。所公开实施例的任何或所有特征都可以单独或以任何组合应用,并不意味着是限制性的,而是纯粹是说明性的。它意在范围不受本详细说明限制,而是由所附权利要求确定。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号