首页> 中国专利> 针对固态存储设备在运行中的性能调整

针对固态存储设备在运行中的性能调整

摘要

描述了与针对固态存储设备在运行中的性能调整技术相关的方法和装置。在一个实施例中,控制器逻辑控制对一个或多个非易失性存储器设备的访问。控制器逻辑引起以下中的一个或多个的操作频率的改变:控制器逻辑、将一个或多个非易失性存储器设备耦合到控制器逻辑的总线、以及一个或多个非易失性存储器设备中的一个或多个。此外,控制器逻辑能够响应于命令而引起操作频率的改变。此外,对功率限度进行改变,使得基于系统能力来缩放固态存储设备的性能成为可能。也公开和声明了其它实施例。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-14

    授权

    授权

  • 2016-01-13

    实质审查的生效 IPC(主分类):G06F9/305 申请日:20140527

    实质审查的生效

  • 2015-12-16

    公开

    公开

说明书

相关申请

本申请涉及并且要求2013年5月31日提交的NO.61/829,983、题目为 “ON-THE-FLYPERFOMANCEADJUSTMENTFORSOLIDSTATE STORAGEDEVICES”的美国临时专利申请和2013年6月27日提交的NO. 13/929,708、题目为“ON-THE-FLYPERFOMANCEADJUSTMENTFOR SOLIDSTATESTORAGEDEVICES”的美国专利申请的优先权。

技术领域

本发明一般涉及电子领域。更加具体地,本发明的一些实施例一般涉 及针对固态存储设备在运行中的性能调整技术。

背景技术

一般地,计算系统中用于存储数据的存储器可以是易失性的(用于存 储易失性信息)或非易失性的(用于存储永久性信息)。存储于易失性存储 器中的易失性数据结构用于被要求在程序的运行时期间支持该程序的功能 的临时的或中间性的信息。另一方面,存储在非易失性存储器中的持久性 数据结构可以超越于程序运行时使用并且可以被再利用。此外,新数据在 用户或程序员决定使该数据成为永久性数据之前通常先被生成为易失性数 据。例如,程序员或用户可以在处理器直接可访问的易失性主存储器中产 生对易失性结构的映射(即实例化)。另一方面,持久性数据结构在如附连 到输入/输出(I/O或IO)总线的旋转盘的非易失性存储器设备或如闪存的 基于非易失性存储器的设备上被实例化。

为了增强性能,一些系统可以使用包括如闪存的非易失性存储器的固 态驱动器(SSD)来提供非易失性存储方案。这种SSD一般比大多数传统 的硬盘驱动器(HDD)占用更少空间、更轻并且更快。此外,硬盘驱动器 提供相对低成本的存储方案,并且在很多计算设备中使用用于提供非易失 性存储。然而,由于硬盘驱动器需要使其旋转盘在相对较高的速度下旋转 并且相对于旋转盘移动磁盘头以进行读/写数据,因此当硬盘驱动器与固态 驱动器相比较时,硬盘驱动器可能使用大量的功率。所有这种物理运动会 产生热量并且增加功率消耗。

为此,一些移动设备正在向固态驱动器迁移。此外,一些固定计算系 统(如桌面型计算机、工作站、服务器等)可以使用这种固态驱动器来提 高性能。然而,在不同类型的计算设备中针对固态启动器使用相同的使用 模型不是总能够在性能和可靠性之间产生最优的平衡。

附图说明

参照附图提供详细的描述。在附图中,附图标记最左侧的数字表示该 附图标记最先出现的附图。在不同附图中使用相同的附图标记表示相似或 相同的项目。

图1、5和6-7示出了计算系统的实施例的框图,所述计算系统可以用 来实现本文中所讨论的各种实施例。

图2、4和4A示出了根据一些实施例的流程图。

图3示出了根据实施例的用于提供对固态存储设备的调制进行控制的 示例用户接口。

图4B示出了根据实施例的SSD各部件的框图。

具体实施方式

在下文的描述中,阐述了大量的具体细节以便提供对各种实施例的透 彻理解。然而,可以在没有所述具体细节的情况下来实现本发明的各种实 施例。在其它实例中,没有对公知的方法、过程、部件、以及电路进行详 细描述,以便不使本发明的特定实施例不清楚。此外,可以使用各种模块 来执行本发明的实施例的各个方面,所述各种模块如集成半导体电路(“硬 件”)、被组织为一个或多个程序的计算机可读指令(“软件”)或硬件和软 件的一些组合。针对本公开的目的,对“逻辑”的引用应意味着硬件、软 件、固件、或它们的一些组合。

一些实施例提供针对固态驱动器在运行中(on-the-fly)的性能调整技 术。正如本文所讨论的,“运行中”或“动态”性能调整通常指不需要计算 系统重启或操作系统(OS)重启的性能调整。此外,这种固态驱动器可以 包括闪存(本文也可互换地称为固态存储设备)、相变存储器(PCM)、自 旋转移矩随机存取存储器(STTRAM)、电阻式随机存取存储器、3D(3维) 交叉点存储器等。因此,一些实施例提供方法和/或装置用于能够实现对SSD 的动态性能控制。实施例使终端用户能够动态控制SSD的性能,在性能、 可靠性、热约束和/或设备寿命之间进行权衡。在一个实施例中,命令接口 (例如通过软件)允许在运行中例如从OS的内部做出这种性能权衡。

在实施例中,终端用户可以使用本文所讨论的技术/特征来调整/调制 SSD的性能,例如,通过使SSD超频(over-clocking)。超频通常指将部件 (如SSD)的操作频率增加超出正常/默认的操作频率,例如来提高性能。 例如,所述调制可以基于OEM(原始设备制造商)和/或终端用户容忍度来 改变热、功率、和/或可靠性条件。这些方法允许在不同类型的计算设备中 针对SSD使用不同的特性或使用模型来提供性能、可靠性、功率消耗、热 条件等中的一个或多个之间的更优平衡。

此外,不在一些实施例中,在具有附加功率传送和冷却能力的更大的 桌面系统中使用的SSD必须与在比它们具有更少的冷却和功率传送能力的 超薄笔记本计算机中所用的SSD在相同约束下操作。而且,相比于游戏系 统,文件服务器可能具有不同的可靠性期望。为此,一些实施例允许系统 设计者(或精通的用户)投入到这些平台权衡中。此外,一些实施例提供 类似于基于平台的SSD“涡轮增压”的能力,例如,针对一个或多个(连 续或非连续)时间段和/或基于多种准则(例如,软件工作量需求、传感器 数据、和/或环境条件),可以实时地或在运行时期间来调整(本文也称为“调 制”)SSD的性能。另外,公司的极限超频单元(XTU)能够使终端 用户超频于中央处理单元(CPU)、图形处理单元(GPU)、和/或系统存储 器以达到更高的系统性能。该单元在一个实施例中可以被扩展以允许终端 用户超频于他们的SSD,如引起针对存储I/O(输入/输出)限定工作量的 性能提高。此外,尽管允许超频于SSD的能力,但一些实施例避免了大量 数据丢失的可能性(例如,当固态存储设备控制器停止运作时)。此外,尽 管本文的一些实施例讨论了应用于SSD的技术,但可以展望的是相同或相 似的技术也可以应用于其它类型的非易失存储设备。

可以在如参照图1-7所讨论的各种计算系统(例如,包括智能电话、平 板计算机、便携式游戏控制台、超便携移动个人计算机(UMPC)等)中提 供本文所讨论的技术。更加特别地,图1示出了根据本发明的实施例的计 算系统100的框图。系统100可以包括一个或多个处理器102-1到102-N(本 文通常称为“多个处理器102”或“处理器102”)。处理器102可以通过互 连或总线104来进行通信。每个处理器可以包括多种部件,为了简单起见 只参照处理器102-1来讨论其中的一些。相应地,其余的处理器102-2到 102-N中的每一个可以包括与本文参照处理器102-1所讨论的相同或相似的 部件。

在实施例中,处理器102-1可以包括一个或多个处理器核心106-1到 106-M(本文称为“多个核心106”或更一般地称为“核心106”)、高速缓 存108(在各实施例中可以是共享的高速缓存或私有的高速缓存)、和/或路 由器110。处理器核心106可以在单个集成电路(IC)芯片上实现。此外, 芯片可以包括一个或多个共享的和/或私有的高速缓存(如高速缓存108)、 总线或互连(如总线或互连112)、逻辑120、存储控制器(如参照图5-7 所讨论的)、或其它部件。

在一个实施例中,路由器110可以用于在处理器102-1和/或系统100 的各个部件之间进行通信。此外,处理器102-1可以包括一个以上的路由器 110。此外,众多的路由器110可以相互通信以实现处理器102-1内部或外 部的各个部件之间的数据路由。

高速缓存108可以存储由处理器102-1的一个或多个部件(如核心106) 所使用的数据(例如包括指令)。例如,高速缓存108可以局部地缓存存储 在存储器114内的数据,以用于处理器102的部件的更快速的访问。如图1 所示,存储器114可以经由互连104与处理器102进行通信。在实施例中, 高速缓存108(可以是共享的)可以具有各种级别,例如,高速缓存108可 以是中级高速缓存和/或最低级高速缓存(LLC)。此外,核心106的每一个 可以包括1级(L1)高速缓存(116-1)(通常本文称为“L1高速缓存116”)。 处理器102-1的各部件可以通过总线(如总线112)、和/或存储控制器或集 线器来直接地与高速缓存108进行通信。

如图1所示,存储器114可以通过存储控制器120耦合到系统100的 其它部件。在一些实施例中,存储器114可以包括非易失性存储器,例如, 闪存(或固态存储设备,包括SSD)、PCM、STTRAM、电阻式随机存取存 储器、3D交叉点存储器等。尽管存储控制器120被示出为耦合于互连104 和存储器114之间,但存储控制器120可以位于系统100中的其它任何位 置。例如,在一些实施例中,可以在多个处理器102中的一个的内部提供 存储控制器120或其一部分。此外,在一些实施例中,系统100可以包括 逻辑(如固态存储控制器逻辑125)用于控制对一个或多个NVM或非易失 性存储器(包括一个或多个固态存储装置)设备(如将参照图2进一步讨 论的一个或多个SSD130)的访问,其中在一些实施例中一个或多个NVM 设备可以被提供在相同的集成电路管芯上)。此外,尽管在图1中逻辑125 被示出为直接耦合到互连104,但逻辑125可以可替换地经由存储总线/互 连(如参照图2所讨论的SATA(串行高级技术附件)总线)与系统100的 一个或多个其它部件进行通信(例如,其中存储总线经由一些其它的逻辑 如总线桥、芯片集(如参照图5-6所讨论的)等耦合到互连104)。此外, 在各实施例中,逻辑125可以被包括于存储控制器(如参照图1和5-6所讨 论的)中或至少在相同的集成电路设备上被提供。

此外,逻辑125可以耦合到一个或多个传感器150用于接收信息(例 如以一个或多个比特或信号的形式)以指出由一个或多个传感器150检测 的状态或值。传感器150可以被提供为接近系统100(或本文讨论的其它计 算系统,例如参照包括图5-7的其它图所讨论的计算系统)的部件,如核心 106、互连104或112、处理器102的外部部件、SSD、SSD总线、SATA总 线、逻辑125等,用于感应影响系统/平台的功率/热行为的各种因素的改变, 如温度、操作频率、操作电压、功率消耗和/或核心间通信活动等。

图2示出了根据实施例的用于调制SSD的高级流程图。尽管图2讨论 了对SSD的调制,但相同或相似的技术也可以应用于任何类型的固态存储 NVM设备。如图所示,性能调制软件202(可以是在OS204内运行的应用) 包括SSD性能调制软件应用程序206,该应用程序206接受和验证来自于 终端用户(如经由图形用户接口(GUI))和/或来自于自动软件应用(如基 于一个或多个预定义的准则)的SSD性能调制请求。

在操作208,传递驱动器命令以初始化对SSD性能的调制/改变(例如 经由如串行高级技术附件(SATA)驱动器的存储设备驱动器)。驱动器命 令经由SATA总线被传递到SATA控制器逻辑210(如包括在外围控制中心 (PCH)或其它硬件中)。在实施例中,SATA控制器210与图1中的逻辑 125相同或相似。继而,SSD130接受命令并且做出应用于SSD的性能改 变(如改变将内部SSD控制器耦合到SSD中的非易失性存储器单元、非易 失性存储器单元和/或SSD的其它部件的总线的操作频率)。

图3示出了根据实施例的用于提供对调制SSD的软件控制的示例GUI。 正如本文所讨论地,调制SSD指调整SSD的性能,例如,通过使SSD超 频。此外,超频通常指将部件(如SSD、其接口/总线、或SSD控制器逻辑 125等)的操作频率提高超出于正常/默认的操作频率,如以增强性能。例 如,调制可以是基于OEM和/或终端用户容忍度来改变热、功率和/或可靠 性条件。尽管图3讨论了用于调制SSD的技术,但相同或相似的技术也可 以应用于其它类型的固态存储设备。图3示出了在一个实施例中利用超频单元(XTU)的示例实现。如图所示,GUI允许设置SSD控制器频率 (1)如图1中逻辑125的操作频率、设置SSD功率限度(2)、观察默认的 和建议的SSD控制器频率和功率模式值(3)、观察在给定的时间段内SSD 控制器频率的直方图(4)和/或观察当前SSD控制器操作频率(5)。

此外,一些实施例通过提供在系统或OS不重启的情况下做出改变的能 力,来提供针对固态存储设备(包括SSD)对对性能特性在运行中的调整。 例如,它经由软件和/或硬件通信和控制机制允许多个实时调制选项来管理 如图2-3所讨论的动态调制。在实施例中,提供了命令接口以用于检测可配 置的选项并且将改变传送给固态存储驱动器。

例如,图3示出了软件应用可以如何用于调整SSD的性能特性。尽管 本文参照图2-3讨论了示例实现,但本发明的实施例可以通过服务、应用和 后台服务的不同组合来进行实例化。

相应地,一些实施例通过调制设备控制器(如图1中的逻辑125)的频 率、通过SCT(智能指令传送)命令(其可以通过SATA总线或另一接口, 例如包括通过图1中的互连104来进行传送)动态地将控制器逻辑频率缩 放为高于存量水平、使功率骤增突发达到存储设备安全功率限度(例如, 其中的“骤增”指在数据传输的突发期间功率消耗的尖峰期)、通过API(应 用程序接口)使(如SOC(片上系统))功率消耗超过OEM指定的阈值、 通过利用SCT命令动态地将闪存频率缩放为高于存量水平来使(如NAND 和/或NOR,或其它类型的NVM)闪存超频、和/或通过利用内部寄存器来 针对最高性能组筛选固态存储设备控制器(例如,经由利用它们预定的/分 配的上限/最大操作频率限度来分割或“组化”固态存储设备控制器)来使 固态存储设备超频。“组”(bin)通常指基于它们预定义/分配的操作频率等 级而被分配有SKU(库存单位)的一组电子部件。

此外,此种技术可以用于实现“SSD涡轮增压”特征,其中的平台逻 辑(如软件和/或固件)可以在特定的形状因子和操作条件下动态地修改SSD 性能来平衡/改变性能与电池寿命。此外,如将在下文进一步讨论地,一些 实施例通过提供恢复方法(如参照图4所讨论的)和用于SSD性能的调制 参数(例如闪存设备和/或控制器逻辑125的阈值频率值)的输入范围固定 边界以提供进一步保护来防止灾难性故障(例如由恶意攻击引起的)。此外, 可以提供一种单元在故障之后来对驱动器重新实例化,例如通过擦除驱动 器及使其再次可用。

图4示出了根据实施例的用于从故障中恢复的方法400的流程图。方 法400可以用于在故障之后恢复稳定性,所述故障例如由于当调制SSD性 能时选择过度侵略性的调制参数所引起。尽管图4讨论了针对SSD的调制 技术,但相同或相似的技术也可以应用于其它类型的NVM设备。在各实施 例中,方法400的一个或多个操作可以通过参照其它附图所讨论的一个或 多个部件(如所述逻辑125)执行。

参照图4,在操作402平台加电之后,在操作404处SSD被加电。在 操作406,执行SSD初始化(例如,通过将调制或超频设置恢复为默认值)。 在操作408处,BIOS(基本输入输出系统)执行开机自检(POST)。在操 作410处,BIOS具有执行SSD测试和/或OC(超频)的机会。操作412 确定SSD操作是否稳定,并且如不稳定,则系统通过返回到操作402来进 行重置。否则,随着在操作414处OS启动(例如从SSD或其它NVM设 备),方法400继续。可选择地,操作408之后可以直接是操作414。在操 作416处,OS已准备就绪并且开始操作(如空闲)。在实施例中,执行操 作418和/或420(一旦在操作416处OS是可操作的)以调制SSD超频/调 制并且确定在当前设置下SSD操作的稳定性。如果在操作420处SSD操作 变得不稳定,那么系统通过返回到操作402来进行重置。

各种实施例使用SCT和/或ATA(高级技术附件)命令来与SSD进行 通信以调用调制或超频。SCT命令可以经由发送到SSD的SATA命令来进 行传送。下面的表1列出了可能在一些实施例中使用的SCT命令(在一些 实施例中可能是供应商专用的命令)。一个实施例针对NAND计时值、最大 化控制器频率值和累积功率值来使用SCT命令。在实施例中,使用SSD超 频时钟命令来防止用户通过软件使驱动器超频,除非显式地解锁(例如帮 助防止恶意代码或一些用户实施破坏)。因此锁定阻止调制或超频,并且解 锁允许改变。锁定命令可以引起在一些存储设备(如存储器(包括参照图1 或5-7所讨论的存储器)、寄存器、控制器逻辑125中、固件中、SSD等中 的存储器)中设置(根据实现或者是清除)锁定状态位。出于另外的保护, 一些实施例限制/限定下面这些项目的可接受的值的范围。

表1

此外,可以使用ATA命令来读取SSD的模式/序列号和其它标识信息 (例如从存储设备、固件等的ATA地址处读取)。也可以经由ATA命令来 监控SSD的温度(例如经由一个或多个图1中的传感器150,该传感器可 以物理地接近于SSD、在SSD内部或热耦合到SSD)。

一些实施例使用现有的SCT和ATA命令协议;然而,针对本文讨论的 (如表1中所示的)唯一的调制特征加入了新的命令。所使用的大部分命 令是基于SCT的命令。例如,参照表1的最后一行,创建驱动器超频锁定 命令(以及在表1中示出的其它六个)用于管理在运行中和实时地调制SSD 性能的能力(而不是例如经由SSD制造商将用于开发/测试他们的方案的 硬件编码的固件)。

此外,一些实施例使用ATA命令如遥测技术作为反馈回路的输入,其 中智能软件动态地改变调制参数。例如,当推进性能的边界时,存储设备 可以加热并且可以使用用于检索温度数据的ATA命令来帮助检测这种情况 并且减少一个或多个调制参数以将驱动器保持在健康的操作条件。

图4A示出了根据实施例的用于确定系统中哪个驱动器或存储设备(如 SSD)能够被调制的方法450的流程图。在实施例中,方法450在经由软件 或单元向用户显示用于调制性能的选项之前执行。在各实施例中,可以通 过参照其它附图(如逻辑125)讨论的一个或多个部件来执行方法400的一 个或多个操作。

参照图4A,在操作452处,确定可寻址存储设备的位置。在操作454 处,利用唯一的命令(例如经由SCT/ATA命令或其它接口)来查询每个存 储设备(在操作452处识别的)。在操作456处,如果设备对操作454的查 询进行正确响应,那么在操作458处将该设备标记为可调制的。在操作460 处,显示可调制驱动器的列表(如通过图形用户界面(GUI))和/或允许将 调制命令发送到所支持的驱动器。如图4A所示,如果设备在操作456处响 应失败,则操作462将设备标记为不可调制的,并且方法450返回到操作 460。

图4B示出了根据实施例的SSD的各部件的框图。如图4B所示,SSD 130包括控制器逻辑482(其继而包括一个或多个处理器核心或处理器484 和存储器控制器逻辑486)、随机存取存储器(RAM)488、固件存储装置 490和一个或多个存储器模块492-1到492-n(其可以包括NAND、NOR或 其它类型的非易失性存储器)。存储器模块492-1到492-n经由一个或多个 存储器通道或总线耦合到存储器控制器逻辑486。此外,SSD130与逻辑125 经由接口(如SATA、PCIe(外围部件互连标准)等接口)进行通信。

此外,调制可以由系统软件(如应用程序、单元等)或系统BIOS进行 初始化。此外,可以手动地(如经由用户GUI)或自动地(如通过智能逻 辑,包括软件和/或固件)来对调制进行初始化。用于初始化所述调制的命 令可以使用SCT或ATA协议,如参照上文的表1所讨论的。例如,当从 OS的内部初始化时,命令通过存储设备驱动器(例如可以存储于图1中的 存储器114中)、系统接口、SATA或PCIe总线到达存储设备(如SSD130)。 存储设备上的控制器逻辑482接下来执行固件代码以解析和执行命令。

在实施例中,控制器逻辑482可以通过改变相对于其现有时钟的比率 (又称乘数(multiplier))来改变其自己的时钟/操作频率。例如,如果控制 器的名义时钟(nominalclock)是33.3MHz,并且对于100MHz有效频率正 常固定比率为3,将比率改变为4将提供更高(如133MHz)的可以加速性 能的时钟频率。类似地,在存储器模块492-1到492-n和存储器控制器逻辑 786之间耦合的一个或多个总线或通道的时钟/操作频率以及一个或多个存 储器模块492-1到492-n的操作/时钟频率在各实施例中可以进行改变。此 外,尽管提供了改变比率的示例,但是直接改变名义时钟频率(或除此之 外)也是可能的。在这些情况中,流程将是相似的并且可以可选择地包括 外部时钟资源的通信/控制。

根据一些实施例,所使用的节点可以包括以下中的一个或多个:(a) 如从系统PLL(锁相回路)定时所衍生的控制器逻辑125频率(例如,约 在400MHz到625MHz之间);(b)可以包括耦合到SSD的SATA总线、耦 合到SSD的非易失性存储器单元的SSD中的内部总线等的SSD总线频率 (例如,约在83MHz和100MHz之间转换);和/或(c)功率模式(如低的、 典型的、无约束的等)。

此外,根据一些实施例,被监控的值可以包括以下中的一个或多个: 温度、控制器逻辑125频率、闪存总线频率(例如可以与控制器逻辑125 频率相同)、固态存储设备操作频率、和/或累积的功率。

此外,一些实施例提供类似于基于平台的固态存储设备“涡旋增压” 的能力,例如,在其中可以提高固态存储设备性能,例如,实时地,针对 一个或多个(连续的或不连续的)时间段和/或基于各种准则如:软件工作 量需求、传感器数据和/或环境条件。SSD涡轮增压特征可以通过将本文所 讨论的SSD调制和超频建立模块放在一起来进行建立。因此,一些实施例 第一次提供框架,其允许对SSD性能的动态改变,所述框架包括监控频率 (多个频率)、功率消耗、和闭合环路参数。通过这种方式,涡轮增压的通 用准则可以应用于SSD,例如,使SSD加速来满足峰值需求以及当需求被 减少时减慢SSD(使用更低的功率级别)。

图5示出了根据本发明的实施例的计算系统500的框图。计算系统500 可以包括一个或多个经由互连网络(或总线)504进行通信的中央处理单元 (CPU)502或处理器。处理器502可以包括通用处理器、网络处理器(其 处理通过计算机网络503传送的数据)、应用处理器(如移动电话、智能电 话中所使用的)、或其它类型的处理器(包括精简指令集计算机(RISC)处 理器或复杂指令集计算机(CISC))。可以使用各种类型的计算机网络503, 包括有线(如以太网、千兆比特、光纤等)或无线网络(如蜂窝、3G(第 三代移动电话技术或第三代无线格式(UWCC))、5G、低功率嵌入(LPE) 等)。此外,处理器502可以具有单核心或多核心设计。具有多核心设计的 处理器502可以在相同的集成电路(IC)管芯上集成不同类型的处理器核 心。此外,具有多核心设计的处理器502可以被实现为对称的或非对称的 多处理器。

在实施例中,一个或多个处理器502可以与图1中的处理器102相同 或相似。例如,一个或多个处理器502可以包括核心106和/或高速缓存108 中的一个或多个。此外,参照图1-4所讨论的操作可以通过系统500的一个 或多个部件来执行。

芯片集506也可以与互连网络504进行通信。芯片集506可以包括图 形与存储器控制中心(GMCH)508。GMCH508可以包括与存储器114进 行通信的存储器控制器510(在实施例中,其可以与图1的存储器控制器 120相同或相似)。存储器114可以存储数据,所述数据包括由CPU502或 包括在计算系统500内的任何其它设备执行的指令序列。此外,系统500 包括逻辑125和SSD130(在各实施例中,其可以如图所示经由总线522、 经由其它互连如504被耦合到系统500,其中逻辑125包括在芯片集506中)。 在本发明的一个实施例中,存储器114可以包括一个或多个易失性存储(或 存储器)设备,如随机存取存储器(RAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、静态RAM(SRAM)、或其它类型的存储设备。也可 以使用非易失性存储器,如硬盘、闪存、PCM、3D交叉点存储器、电阻式 随机存取存储器和STTRAM。附加的设备(如,多个CPU和/或多个系统 存储器)可以经由互连网络504来进行通信。

GMCH508也可以包括与图形加速器516通信的图形接口514。在本发 明的一个实施例中,图形接口514可以经由加速图形端口(AGP)与图形 加速器516进行通信。在本发明的实施例中,显示器517(如平板显示器、 触摸屏等)可以例如通过信号转换器与图形接口514进行通信,该信号转 换器将存储于如视频存储器或系统存储器的存储设备中的图像的数字表示 转换为由显示器解释和显示的显示信号。由显示器设备产生的显示信号可 以在被显示器517解释并且随后显示于其上之前通过各种控制设备。

中心接口518可以允许GMCH508和输入/输出控制中心(ICH)520 进行通信。ICH520可以向I/O设备提供接口,通过该接口与计算系统500 进行通信。ICH520可以通过如外围部件互连(PCI)桥、通用串行总线(USB) 控制器、或其它类型的外围桥或控制器的外围桥(或控制器)524与总线 522进行通信。桥524可以提供CPU502和外围设备之间的数据通路。也 可以使用其它类型的拓扑结构。此外,多个总线可以例如通过多个桥或控 制器与ICH520进行通信。此外,在本发明的各实施例中,与ICH520通 信的其它外围设备可以包括电子集成驱动器(IDE)或小型计算机系统接口 (SCSI)硬驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘 驱动器、数字输出支持(如数字视频接口(DVI))、或其它设备。

总线522可以与音频设备526、一个或多个磁盘驱动器528和网络接口 设备530进行通信(例如经由有线或无线接口与计算机网络503进行通信)。 如图所示,网络接口设备530可以耦合到天线531以用于与网络503进行 无线(例如,经由电气与电子工程师协会(IEEE)802.11接口(包括IEEE 802.11a/b/g/n等)、蜂窝网络接口、3G、5G、LPE等)通信。其它设备可以 经由总线522进行通信。此外,在本发明的一些实施例中,各部件(如网 络接口设备530)可以与GMCH508进行通信。此外,处理器502和GMCH 508可以进行组合以形成单个芯片。此外,在本发明的其它实施例中,图形 加速器516可以包括在GMCH508内。

此外,计算系统500可以包括易失性和/或非易失性存储器(存储设备)。 例如,非易失性存储器可以包括如下内容中的一个或多个:只读存储器 (ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM (EEPROM)、磁盘驱动器(如528)、软盘、压缩盘ROM(CD-ROM)、数 字多用盘(DVD)、闪存、磁光盘、或其它类型的能够存储电子数据(包括 指令)的非易失性机器可读介质。

图6示出了根据本发明的实施例的以点对点(PtP)配置的方式进行布 置的计算系统600。特别地,图6示出了一种系统,在所述系统中,处理器、 存储器和输入/输出设备通过若干点对点接口来进行互连。参照图1-5所讨 论的操作可以通过系统600的一个或多个部件来执行。

如图6所示,系统600可以包括若干处理器,为了清晰起见只显示其 中的两个处理器602和604。处理器602和604中的每一个可以包括局部存 储器控制器中心(MCH)606和608,其用于能够与存储器610和612进行 通信。存储器610和/或612可以存储如参照图1和/或5中的存储器114所 讨论的各种数据。此外,在一些实施例中,MCH606和608可以包括存储 器控制器120。此外,系统600包括逻辑125和SSD130(在各实施例中, 其可以如图所示的经由总线640/644、经由其它到处理器602/604或芯片集 620的点对点连接等耦合到系统600,其中逻辑125被包括在芯片集620中)。

在实施例中,处理器602和604可以是参照图5所讨论的处理器502 中的一个。处理器602和604可以分别使用PtP接口电路616和618经由点 对点(PtP)接口614来交换数据。此外,处理器602和604中的每一个可 以使用点对点接口电路626、628、630和632经由单独的PtP接口622和 624与芯片集620交换数据。芯片集620可以例如使用PtP接口电路637经 由高性能图形接口636进一步与高性能图形电路634交换数据。在一些实 施例中,如参照图5所讨论的,图形接口636可以耦合到显示器(如显示 器517)。

如图6所示,图1中的一个或多个核心106和/或高速缓存108可以位 于处理器602和604内。然而本发明的其它实施例可以存在于图6的系统 600内的其它电路、逻辑单元、或设备中。此外,本发明的其它实施例可以 被分布在图6中示出的若干电路、逻辑单元或设备内。

芯片集620可以使用PtP接口电路641与总线640进行通信。总线640 可以具有一个或多个与它通信的设备,如总线桥642和I/O设备643。经由 总线644,总线桥642可以与其它设备进行通信,所述其它设备如键盘/鼠 标645、通信设备646(如调制解调器、网络接口设备或如参照网络接口设 备530所讨论的可以与计算机网络503进行通信的例如包括经由天线531 的其它通信设备)、音频I/O设备、和/或数据存储设备648。数据存储设备 648可以存储可以由处理器602和/或604执行的代码649。

在一些实施例中,本文讨论的一个或多个部件可以被实施为片上系统 (SOC)设备。图7示出了根据实施例的SOC封装的框图。如图7所示, SOC702包括一个或多个中央处理单元(CPU)核心720、一个或多个图形 处理单元(GPU)核心730、输入/输出(I/O)接口740和存储器控制器742。 SOC封装702的各部件可以耦合到如参照其它附图所讨论的互连或总线。 此外,SOC封装702可以包括更多或更少的部件,如参照其它附图所讨论 的部件。此外,SOC封装720的每个部件可以包括一个或多个其它部件, 如本文参照其它附图所讨论的部件。在一个实施例中,在例如被封装到单 独的半导体设备上的一个或多个集成电路(IC)管芯上提供SOC封装702 (及其部件)。

如图7所示,SOC封装702经由存储器控制器742耦合到存储器760 (存储器760可以与本文参照其它附图所讨论的存储器相似或相同)。在实 施例中,存储器760(或其一部分)可以被集成在SOC封装702上。

I/O接口740可以例如经由如本文参照其它附图所讨论的互连和/或总 线耦合到一个或多个I/O设备770。I/O设备770可以包括以下中的一个或 多个:键盘、鼠标、触摸板、显示器、图像/视频捕获设备(如摄像头或摄 录像机/录像机)、触摸屏、扬声器等。此外,在实施例中SOC封装702可 以包括/集成逻辑125。可选择地,可以在SOC封装702外部提供逻辑125 (即作为分立的逻辑)。

下面的示例属于更多的实施例。示例1包括装置,该装置包括:控制 器逻辑,用于控制对一个或多个非易失性存储器设备的访问;其中,所述 控制器逻辑引起以下的一个或多个中的操作频率的改变:控制器逻辑、将 一个或多个非易失性存储器设备耦合到控制器逻辑的总线、以及一个或多 个非易失性存储器设备中的一个或多个,其中,控制器逻辑响应于命令而 引起操作频率的改变。示例2包括示例1中的装置,其中,所述一个或多 个非易失性存储器设备包括以下中的一个或多个:固态存储设备、相变存 储器、3D(3维)交叉点存储器、电阻式随机存取存储器和自旋转移矩随 机存取存储器。示例3包括示例1中的装置,其中,所述命令包括智能命 令传送命令。示例4包括示例1中的装置,其中,所述命令在运行时期间 被发布以在不需要系统或操作系统重启的情况下引起改变。示例5包括示 例1中的装置,其中,所述控制器逻辑响应于锁定命令来制止引起改变。 示例6包括示例1中的装置,其中,所述控制器逻辑响应于锁定状态位的 值来制止引起改变。示例7包括示例1中的装置,其中,所述控制器逻辑 响应于检测到与一个或多个非易失性存储器设备相关联的不稳定操作条件 而引起系统重置。示例8包括示例1中的装置,其中,命令由用户接口或 自动软件应用进行发布。示例9包括示例1的装置,其中,所述一个或多 个非易失性存储器设备在同一集成电路管芯上。示例10包括示例1中的装 置,其中,控制器逻辑、所述一个或多个非易失性存储器设备和处理器核 心中的一个或多个在同一集成电路管芯上。示例11包括示例1中的装置, 其中,存储控制器包括控制器逻辑。

示例12包括一种方法,该方法包括:经由控制器逻辑来控制对一个或 多个非易失性存储器设备的访问;以及在控制器逻辑处引起以下中的一个 或多个的操作频率的改变:控制器逻辑、将所述一个或多个非易失性存储 器设备耦合到控制器逻辑的总线、以及一个或多个非易失性存储器设备中 的一个或多个,其中,控制器逻辑响应于命令而引起操作频率的改变。示 例13包括示例12中的方法,其中,所述一个或多个非易失性存储器设备 包括以下中的一个或多个:固态存储设备、相变存储器、3D(3维)交叉 点存储器、电阻式随机存取存储器和自旋转移矩随机存取存储器。示例14 包括示例12中的方法,其中,所述命令包括智能命令传送命令。示例15 包括示例12中的方法,进一步包括在运行时期间发布所述命令以在不需要 系统或操作系统重启的情况下引起改变。示例16包括示例12中的方法, 进一步包括所述控制器逻辑响应于锁定命令而制止引起改变。示例17包括 示例12中的方法,进一步包括所述控制器逻辑响应于锁定状态位的值而制 止引起改变。示例18包括示例12中的方法,进一步包括所述控制器逻辑 响应于检测到与一个或多个非易失性存储器设备相关联的不稳定操作条件 而引起系统重置。示例19包括示例12中的方法,进一步包括由用户接口 或自动软件应用发布所述命令。

示例20包括一种系统,该系统包括:一个或多个非易失性存储器设备; 以及用于经由控制器逻辑来访问一个或多个非易失性存储器设备的至少一 个处理器核心,其中,所述控制器逻辑引起以下中的中一个或多个的操作 频率的改变:控制器逻辑、将一个或多个非易失性存储器设备耦合到控制 器逻辑的总线,以及一个或多个非易失性存储器设备中的一个或多个,其 中,所述控制器逻辑响应于命令而引起操作频率的改变。示例21包括示例 20的系统,其中,所述一个或多个非易失性存储器设备包括以下中的一个 或多个:固态存储设备、相变存储器、3D(3维)交叉点存储器、电阻式 随机存取存储器和自旋转移矩随机存取存储器。示例22包括示例20的系 统,其中,所述命令包括智能命令传送命令。示例23包括示例20的系统, 其中,所述命令在运行时期间被发布以在不需要系统或操作系统重启的情 况下而引起改变。示例24包括示例20的系统,其中,一个或多个控制器 逻辑、所述一个或多个非易失性存储器设备以及至少一个处理器核心在同 一集成电路管芯上。示例25包括示例20的系统,进一步包括触摸屏,用 于显示存储在一个或多个非易失性存储器设备中的数据。

示例26包括用于针对固态存储设备在运行中调整性能的装置,该装置 包括:用于控制对一个或多个耦合到控制器逻辑的非易失性存储器设备的 访问的单元;以及用于在控制器逻辑处引起以下中的一个或多个的操作频 率的改变的单元:控制器逻辑、将一个或多个非易失性存储器设备耦合到 控制器逻辑的总线,以及一个或多个非易失性存储器设备中的一个或多个, 其中,所述控制器逻辑响应于所述命令引起操作频率的改变。示例27包括 示例26的装置,包括用于在运行时期间发布所述命令以在不需要系统或操 作系统重启的情况下而引起改变的单元。示例28包括示例26的装置,包 括用于响应于锁定命令而制止引起改变的单元。示例29包括示例26的装 置,包括用于响应于锁定状态位的值而制止引起改变的单元。

示例30包括计算机可读介质,所述计算机可读介质包括一个或多个指 令,当在处理器上执行该指令时将处理器配置为执行示例12-19中的任意一 个示例中的一个或多个操作。

在本发明的各实施例中,本文所讨论的操作(例如,参照图1-7所讨论 的)可以被实现为硬件(如电路)、软件、固件、微代码、或它们的组合, 它们可提供作为计算机程序产品,例如,包括其上存储有用于对计算机进 行编程以执行本文所讨论的过程的指令(软件程序)的有形(如非易失性) 的机器可读或计算机可读介质。此外,“逻辑”一词可以包括,通过示例的 方式,软件、硬件或软件与硬件的组合。机器可读介质可以包括如参照图 1-7所讨论的存储设备。

此外,这种有形的计算机可读介质可以被下载作为计算机程序产品, 其中,所述程序可以作为数据信号(如在载波或其它传播介质中)经由通 信链路(例如,总线、调制解调器或网络连接)从远程计算机(如服务器) 被传送到请求计算机(如客户端)。

说明书中所引用的“一个实施例”或“实施例”意味着与实施例一起 描述的特定的特征、结构或特性可以被包括在至少一种实现中。在说明书 中各处的短语“在一个实施例中”的出现可能或可能不全部参照同一实施 例。

此外,在说明书和权利要求中,可以使用词语“耦合”和“连接”以 及它们的衍生词。在本发明的一些实施例中,“连接”可以用于表示两个或 更多个元件彼此直接物理或电子地接触。“耦合”可以意味着两个或更多个 元件直接物理或电子地接触。然而,“耦合”也可以意味着两个或更多个部 件可能没有彼此直接地接触,但可能仍互相配合或互相作用。

因此,尽管已经用特定于结构特征和/或方法行为的语言描述了本发明 的实施例,但可以理解,所要求保护的主题可以不被限制于所描述的特定 的特征或行为。此外,特定的特征和行为被公开为实现所要求保护的主题 的示例形式。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号