存储器控制器及包括其的存储系统的制作方法

文档序号:13804472阅读:227来源:国知局
存储器控制器及包括其的存储系统的制作方法

本发明的示例性实施例总体而言涉及一种存储器控制器及包括其的存储系统。



背景技术:

存储器件的存储单元包括用于储存电荷的电容器以及用作开关的晶体管,该开关控制电荷向电容器的流入以及电荷从电容器的流出。电容器中储存的电荷表示数据。例如,当电容器中存在电荷时,电容器的引线两端的电压高,且可以表示“高”(逻辑1)数据。当电容器中不存在数据时,电容器的引线两端的电压低,且可以表示“低”(逻辑0)数据。由于数据的储存以电荷积聚在电容器中这样的方式来实现,因此原则上不存在功耗。然而,由于因pn耦合或诸如mos晶体管等而导致存在泄漏电流,因此储存在电容器中的初始电荷量减少,从而数据可能丢失。为了防止这种情况,在数据丢失之前读取存储单元中的数据,并根据读取的信息来将电荷重新充电至正常电荷量。这种操作被称为刷新操作,且被周期性重复以保持储存的数据。

在采用电容器的存储单元中(诸如在dram存储器件中)需要刷新操作来维持所储存的数据的完整性。然而,刷新操作可能增大存储器件的总电流消耗。存储器件的性能也可能因刷新操作而降低。因此,亟需用于优化刷新操作以减小电流消耗并提升存储器件的性能的改进技术。



技术实现要素:

各种实施例针对一种在不降低存储系统的性能的情况下减小因存储系统的刷新操作而引起的电流消耗的技术。

在一个实施例中,一种存储系统可以包括:存储器件,包括多个存储体;以及存储器控制器,适用于监控存储器件的工作负载,以及根据监控的结果来将第一刷新命令和第二刷新命令中的一种施加给存储器件,其中,在存储器件中,要由第二刷新命令刷新的存储体的数目可以大于要由第一刷新命令刷新的存储体的数目。

在工作负载为高的情况下,存储器控制器可以施加第一刷新命令给存储器件,而在工作负载为低的情况下,存储器控制器可以施加第二刷新命令给存储器件。

在存储器件中,要由第一刷新命令刷新的存储体的数目可以为1。在存储器件中,要由第二刷新命令刷新的存储体可以为存储器件的全部存储体。

存储器控制器可以包括:主机接口,适用于与一个或更多个主机通信;工作负载监控单元,适用于监控存储器件的工作负载;调度器,适用于确定存储器件的操作顺序;命令发生器,适用于产生要施加给存储器件的命令;以及存储器接口,适用于与存储器件通信。

工作负载监控单元可以对来自所述一个或更多个主机的请求的次数计数,以及使用计数的结果来确定存储器件的工作负载。

一个或更多个主机可以被划分成认为存储器性能较重要的第一主机和不认为存储器性能较重要的第二主机。如果在预定时间内[来自第一主机的请求的数目]:[来自第二主机的请求的数目]的比例为第二阈值或更大,则工作负载监控单元可以确定工作负载为高,否则,工作负载监控单元可以确定工作负载为低。

一个或更多个主机可以被划分成认为存储器性能较重要的第一主机和不认为存储器性能较重要的第二主机。如果在预定时间内来自第一主机的请求的数目为第三阈值或更大,则工作负载监控单元可以确定工作负载为高,否则,工作负载监控单元可以确定工作负载为低。

第一主机可以包括cpu(中央处理单元)和gpu(图形处理单元)中的至少一种或更多种,以及第二主机可以包括通信单元、显示控制器和视频编解码器中的至少一种或更多种。

在一个实施例中,一种存储器控制器可以包括:主机接口,适用于与一个或更多个主机通信;工作负载监控单元,适用于监控存储器件的工作负载;调度器,适用于确定存储器件的操作顺序;命令发生器,适用于产生要施加给存储器件的命令,其中,命令发生器根据工作负载监控单元监控的工作负载来产生第一刷新命令和第二刷新命令中的一种;以及存储器接口,适用于与存储器件通信,其中,在存储器件中,要由第二刷新命令刷新的存储体的数目可以大于要由第一刷新命令刷新的存储体的数目。

在工作负载为高的情况下,命令发生器可以产生第一刷新命令,以及在工作负载为低的情况下,命令发生器产生第二刷新命令。

在存储器件中,要由第一刷新命令刷新的存储体的数目为1。在存储器件中,要由第二刷新命令刷新的存储体可以为存储器件的全部存储体。

工作负载监控单元可以对来自所述一个或更多个主机的请求的次数计数,以及使用计数的结果来确定存储器件的工作负载。

如果在预定时间内请求的总数为第一阈值或更大,则工作负载监控单元可以确定工作负载为高,否则,工作负载监控单元可以确定工作负载为低。

一个或更多个主机可以被划分成认为存储器性能较重要的第一主机和不认为存储器性能较重要的第二主机。如果在预定时间内[来自第一主机的请求的数目]:[来自第二主机的请求的数目]的比例为第二阈值或更大,则工作负载监控单元可以确定工作负载为高,否则,工作负载监控单元可以确定工作负载为低。

一个或更多个主机可以被划分成认为存储器性能较重要的第一主机和不认为存储器性能较重要的第二主机,以及

如果在预定时间内来自第一主机的请求的数目为第三阈值或更大,则工作负载监控单元可以确定工作负载为高,否则,工作负载监控单元可以确定工作负载为低。

第一主机可以包括cpu(中央处理单元)和gpu(图形处理单元)中的至少一种或更多种,以及第二主机可以包括通信单元、显示控制器和视频编解码器中的至少一种或更多种。

根据各种实施例,可以在不降低存储系统的性能的情况下使因刷新操作而引起的电流消耗最小化。

附图说明

图1是图示根据本发明的一个实施例的存储系统的配置的示意图。

图2是图示图1的存储器控制器的一个实施例的配置的示意图。

图3是图示根据本发明的一个实施例的预定时间内由工作负载监控单元所计数的请求的数目的示例的示意图。

具体实施方式

下面将参照附图来更详细地描述各种实施例。然而,本公开可以以不同的形式来实施,而不应当被解释成局限于本文中所阐述的实施例。与此相反,这些实施例被提供以使得本公开将是彻底且完整的,且将把本公开的范围充分传达给本领域技术人员。贯穿本公开,相同的附图标记在本公开的各种附图和实施例中指代相同的部分。

将理解的是,虽然在本文中可能使用“第一”、“第二”、“第三”等术语来描述各种元件,但是这些元件不受限于这些术语。这些术语用来将一个元件与另一个元件区分开。因此,在不背离本发明的精神和范围的情况下,下面描述的第一元件也可以被称作第二元件或第三元件。

附图不一定成比例,且在一些情况下,可能已经夸大了比例以清楚地图示实施例的特征。

还将理解的是,当一个元件被称作“连接到”或“耦接到”另一元件时,其可以直接在另一元件上、直接连接到或耦接到另一元件,或者可以存在一个或更多个中间元件。此外,还将理解的是,当一个元件被称作在两个元件“之间”时,其可以为这两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。

本文中所使用的术语仅用于描述特定实施例的目的,而非意图限制本发明。如本文中所使用的,除非上下文清楚地另外指出,否则单数形式意在也包括复数形式。还将理解的是,术语“包括”、“包含”在此说明书中使用时说明存在所述元件,但不排除存在或添加一个或更多个其他元件。如本文中所使用的,术语“和/或”包括相关联的所列项中的一个或更多个的任意组合和全部组合。

除非另外限定,否则本文中所使用的全部术语(包括技术术语和科学术语)具有与本发明所属领域的技术人员通常理解的意思相同的意思。还将理解的是,诸如在通用词典中定义的术语的术语应当被解释成具有与其在本说明书的上下文和相关领域中的意思一致的意思,而不应该以理想化或过于形式的意思来解释,除非本文中清楚地这样定义。

在下面的描述中,阐述了大量具体细节以提供对本发明的透彻理解。可以在无这些具体细节中的一些或全部的情况下实施本发明。另一方面,未详细描述众所周知的工艺结构和/或工艺以免不必要地混淆本发明。

还要注意的是,在一些情况下,对于相关领域技术人员将明显的是,除非另外具体指出,否则关于一个实施例而描述的特征或元件可以单独使用,或者结合另一实施例的其他特征或元件来使用。

将理解的是,虽然在本文中可能使用“第一”、“第二”、“第三”等术语来描述各种元件,但是这些元件不受限于这些术语。这些术语用来将一个元件与另一个元件区分开。因此,在不背离本发明的精神和范围的情况下,下面描述的第一元件也可以被称作第二元件或第三元件。

附图不一定成比例,且在一些情况下,可能已经夸大了比例以清楚地图示实施例的特征。

还将理解的是,当一个元件被称作“连接到”或“耦接到”另一元件时,其可以直接在另一元件上、直接连接到或耦接到另一元件,或者可以存在一个或更多个中间元件。此外,还将理解的是,当一个元件被称作在两个元件“之间”时,其可以为这两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。

本文中所使用的术语仅用于描述特定实施例的目的,而非意图限制本发明。如本文中所使用的,除非上下文清楚地另外指出,否则单数形式意在也包括复数形式。还将理解的是,术语“包括”、“包含”在此说明书中使用时说明存在所述元件,但不排除存在或添加一个或更多个其他元件。如本文中所使用的,术语“和/或”包括相关联的所列项中的一个或更多个的任意组合和全部组合。

除非另外限定,否则本文中所使用的全部术语(包括技术术语和科学术语)具有与本发明所属领域的技术人员通常理解的意思相同的意思。还将理解的是,诸如在通用词典中定义的术语的术语应当被解释成具有与其在本说明书的上下文和相关领域中的意思一致的意思,而不应该以理想化或过于形式的意思来解释,除非本文中清楚地这样定义。

在下面的描述中,阐述了大量具体细节以提供对本发明的透彻理解。可以在无这些具体细节中的一些或全部的情况下实施本发明。另一方面,未详细描述众所周知的工艺结构和/或工艺以免不必要地混淆本发明。

还要注意的是,在一些情况下,对于相关领域技术人员将明显的是,除非另外具体指出,否则关于一个实施例而描述的特征或元件可以单独使用,或者结合另一实施例的其他特征或元件来使用。

在下面的示例中,将描述全部存储体(all-bank)刷新操作和每一存储体(per-bank)刷新操作。

在全部存储体刷新操作期间,存储器件中的全部存储体被刷新,从而存储器件不能执行除刷新操作之外的操作。因此,存储器件的性能可能降低。

在每一存储体刷新操作期间,在任何特定时间存储器件中的仅一个存储体被刷新,从而可以同时访问存储器件中的其他存储体。这样,根据每一存储体刷新操作,防止了因刷新操作所导致的存储器件的性能的降低。为了刷新存储器件中的全部存储体,执行“n”次每一存储体刷新操作,其中,“n”是存储器件中的存储体的数目。这跟全部存储体刷新操作形成对比,在全部存储体刷新操作中,对存储器件的全部存储体同时仅执行一次刷新操作。例如,在存储器件包括16个存储体的情况下,在全部存储体刷新操作期间,一次刷新16个存储体,而对于每一存储体刷新操作,一次刷新一个存储体,且每一存储体刷新操作被执行16次以刷新全部16个存储体。因此,在此示例中,每一存储体刷新操作被执行了全部存储体刷新操作的16倍那么多次。因此,为了刷新存储器件中的全部存储体,每一存储体刷新操作可能导致比多存储体刷新操作(例如,全部存储体刷新操作)更大的电流消耗。

即,全部存储体刷新操作降低了存储器件的性能,但是具有小的电流消耗的优点,而每一存储体刷新操作能够防止存储器件的性能降低,但是具有较大的电流消耗的缺点。

参见图1,提供了根据本发明的一个实施例的存储系统100的配置。

根据图1的实施例,存储系统100可以包括可操作地彼此耦接的存储器控制器110和存储器件120。存储系统100可以为更大的电子设备的部分。电子设备可以为便携式电子设备。电子设备可以为台式电子设备。例如,存储系统100可以包括在诸如计算机、服务器、个人数字助理(pda)、便携式计算机、网络平板、无线电话、移动电话、智能电话、数字音乐播放器、便携式多媒体播放器(pmp)、相机、全球定位系统(gps)、摄像机、录音机、远程信息处理、视听(av)系统、智能电视等的电子设备中。

存储器件120可以包括多个存储体。工作时,存储器件120可以从存储器控制器110接收命令和地址,以及与存储器控制器110交换数据。存储器件120可以根据存储器控制器110的控制而执行读取操作、写入操作和刷新操作中的至少一种。

存储器控制器110可以根据来自主机(诸如例如中央处理单元(cpu)、图形处理单元(gpu)、通信单元、显示控制器、视频编解码器等)的请求来控制存储器件120的操作。通信单元可以设置在计算机、智能电话等中以与外部设备无线地交换数据。显示控制器可以为控制存储器件100中包括的器件的显示的控制器。视频编解码器可以被配置为对视频编码或解码。

存储器控制器110可以监控存储器件120的工作负载并根据工作负载监控的结果来控制刷新操作。例如,当确定存储器件的工作负载重时,存储器控制器110可以施加第一刷新命令给存储器件120。当确定存储器件120的工作负载轻时,存储器控制器110可以施加第二刷新命令给存储器件120。在存储器件120中,要由单个第二刷新命令刷新的存储体的数目可以大于要由单个第一刷新命令刷新的存储体的数目。例如,第一刷新命令可以为指示每一存储体刷新操作的刷新命令,而第二刷新命令可以为指示全部存储体刷新操作的刷新命令。

在第一刷新操作期间,根据第一刷新命令,电流消耗高于根据第二刷新命令的第二刷新操作,然而,大幅地防止了存储器件120的性能降低。在第二刷新操作期间,根据第二刷新命令,电流消耗降低,然而,存储器件的性能也被大幅地降低。在存储器件120的重工作负载的时间段期间,存储器控制器110可以向存储器件120提供第一刷新命令以防止存储器件120的大幅性能降低。在存储器件120的轻工作负载的时间段期间,存储器控制器110可以向存储器件120提供第二刷新命令以实现存储器件120的电流消耗的大幅降低。

现在参见图2,根据本发明的一个实施例提供了图示图1的存储器控制器110的配置的示意图。

根据图2的实施例,存储器控制器110可以包括主机接口210、工作负载监控单元220、调度器230、命令发生器240和存储器接口250,它们全部与内部总线电耦接。

主机接口210可以为用于将存储器控制器110与至少一个主机可操作地耦接的任意合适的接口。

请求可以经由主机接口210来从主机提供,且处理请求的结果可以经由主机接口210传输给至少一个主机。如上所述,主机的示例可以包括cpu、gpu、通信单元、显示控制器和视频编解码器等。

工作负载监控单元220可以为用于监控存储器件120的工作负载的任何合适的单元。工作负载监控单元220可以周期性地监控存储器件120的工作负载。例如,工作负载监控单元220可以周期性地对在预定时间间隔期间从至少一个主机提供的请求的数目计数,并确定存储器件220的工作负载为重还是轻,例如,基于请求的数目是否等于或大于预设值来确定。在本文中之后将描述关于工作负载确定方法的更详细说明。

调度器230可以为给存储器件120的请求确定操作次序以提升存储器件120的性能。调度器230可以为给存储器件120的请求确定操作次序,该操作次序可以不同于来自主机的请求的提供次序。例如,即使在gpu将写入请求提供给存储器件120之前cpu将读取请求提供给存储器件120,调度器230也可以为读取请求和写入请求确定操作次序,使得gpu请求的写入操作在cpu请求的读取操作之前执行。

命令发生器240可以根据调度器230确定的操作次序来产生要施加给存储器件120的命令。为了防止存储器件120的数据丢失,命令发生器240可以周期性地产生刷新命令。命令发生器240可以在工作负载监控单元220将存储器件120的工作负载确定为重时产生第一刷新命令,以及可以在工作负载监控单元220将存储器件120的工作负载确定为轻时产生第二刷新命令。

存储器接口250可以提供存储器控制器110与存储器件120之间的接口。可以采用任何合适的接口。工作时,命令和地址可以经由存储器接口250从存储器控制器110传输给存储器件120。数据也可以经由存储器接口250来在存储器件120与存储器控制器110之间交换。存储器接口250也可以被称作phy(物理)接口。

在下文中,将详细描述工作负载监控单元220的操作。

工作负载监控单元220可以周期地对在预定时间间隔期间从至少一个主机提供的请求的数目计数。由于每个请求包括指示提供该请求的主机的源信息,因此在采用多个主机时可以对从每个主机提供的请求的数目计数。

当采用了多于一个主机时,这多个主机可以划分成请求性能敏感操作的第一主机和请求除性能敏感操作之外的操作的第二主机。例如,由于cpu和gpu经常具有重工作负载且从而请求性能敏感操作,因此它们可以被划分为第一主机。由于通信单元、显示控制器和视频编解码器经常具有轻工作负载且从而它们请求除性能敏感操作之外的操作,因此它们可以被划分为第二主机。

在一个实施例中,工作负载监控单元220可以基于下面的三个示例性标准中的一个来确定存储器件120的工作负载。然而,我们注意到,也可以采用用于确定重工作负载或轻工作负载的其它标准。

工作负载确定第一标准:请求的总数

如果在预定时间段期间来自至少一个主机的请求的总数等于或大于第一阈值,则工作负载监控单元220可以确定存储器件120的工作负载为重。否则,工作负载监控单元220可以确定存储器件120的工作负载为轻。例如,如果在预定时间内来自至少一个主机的请求的总数为10000或更多,则可以确定工作负载为重。否则,可以确定工作负载为轻。在图3的(a)和(c)部分中所示的情况下,由于请求的相应的总数(即,总数14400和11200)大于10000,因此可以确定工作负载为重。在图3的(b)部分中所示的情况下,由于请求的总数(即,总数8200)小于10000,因此可以确定工作负载为轻。因此,在图3的(a)和(c)的情况下,可以将第一刷新命令从存储器控制器110施加给存储器件120。在图3的(b)情况下,可以将第二刷新命令从存储器控制器110施加给存储器件120。

工作负载确定第二标准:来自第一主机的请求对来自第二主机的请求的比例

如果在预定时间期间来自第一主机的请求对来自第二主机的请求的比例等于或大于第二阈值,则工作负载监控单元220可以确定存储器件120的工作负载为重。否则,工作负载监控单元220可以确定存储器件120的工作负载为轻。这是为了在全部请求之中存在很多对性能敏感的请求时确定工作负载为重。例如,如果在预定时间期间来自第一主机的请求对来自第二主机的请求的比例为1.5或更大,则可以确定存储器件120的工作负载为重。否则,可以确定工作负载为轻。在图3的(b)的情况下,由于来自第一主机的请求对来自第二主机的请求的比例为3.1(6200::2000),即,大于1.5,因此,确定存储器件120的工作负载为重。在图3的(a)和(c)的情况下,由于来自第一主机的请求对来自第二主机的请求的比例分别为小于1.5的0.3和0.9,因此可以确定工作负载为轻。因此,在图3的(b)的情况下,可以将第一刷新命令从存储器控制器110施加给存储器件120。在图3的(a)和(c)的情况下,可以将第二刷新命令从存储器控制器110施加给存储器件120。

工作负载确定第三标准:来自第一主机的请求的数目

如果在预定时间内来自第一主机的请求的数目为第三阈值或更大,则工作负载监控单元220可以确定存储器件120的工作负载为重。否则,工作负载监控单元220可以确定存储器件120的工作负载为轻。在这种情况下,假定与来自第一主机的请求相对应的性能敏感操作主要影响工作负载,则主要考虑来自第一主机的请求的数目。例如,如果在预定时间内来自第一主机的请求的数目为5000或更大,则可以确定存储器件120的工作负载为重。否则,可以确定工作负载为轻。根据此标准,在图3的(b)和(c)的情况下,其中来自第一主机的请求分别为8200和5400,可以确定存储器件120的工作负载为重,而在图3的(a)的情况下,其中来自第一主机的请求为3700,可以确定存储器件120的工作负载为轻。

虽然已经出于说明性的目的而描述了各种实施例,但是对于本领域技术人员将明显的是,在不背离所附权利要求书所限定的本公开的精神和范围的情况下,可以作出各种改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1