CN105164635A - 针对固态存储设备在运行中的性能调整 - Google Patents
针对固态存储设备在运行中的性能调整 Download PDFInfo
- Publication number
- CN105164635A CN105164635A CN201480024473.3A CN201480024473A CN105164635A CN 105164635 A CN105164635 A CN 105164635A CN 201480024473 A CN201480024473 A CN 201480024473A CN 105164635 A CN105164635 A CN 105164635A
- Authority
- CN
- China
- Prior art keywords
- controller logic
- volatile memory
- memory devices
- change
- order
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1008—Graphical user interface [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Abstract
描述了与针对固态存储设备在运行中的性能调整技术相关的方法和装置。在一个实施例中,控制器逻辑控制对一个或多个非易失性存储器设备的访问。控制器逻辑引起以下中的一个或多个的操作频率的改变:控制器逻辑、将一个或多个非易失性存储器设备耦合到控制器逻辑的总线、以及一个或多个非易失性存储器设备中的一个或多个。此外,控制器逻辑能够响应于命令而引起操作频率的改变。此外,对功率限度进行改变,使得基于系统能力来缩放固态存储设备的性能成为可能。也公开和声明了其它实施例。
Description
相关申请
本申请涉及并且要求2013年5月31日提交的NO.61/829,983、题目为“ON-THE-FLYPERFOMANCEADJUSTMENTFORSOLIDSTATESTORAGEDEVICES”的美国临时专利申请和2013年6月27日提交的NO.13/929,708、题目为“ON-THE-FLYPERFOMANCEADJUSTMENTFORSOLIDSTATESTORAGEDEVICES”的美国专利申请的优先权。
技术领域
本发明一般涉及电子领域。更加具体地,本发明的一些实施例一般涉及针对固态存储设备在运行中的性能调整技术。
背景技术
一般地,计算系统中用于存储数据的存储器可以是易失性的(用于存储易失性信息)或非易失性的(用于存储永久性信息)。存储于易失性存储器中的易失性数据结构用于被要求在程序的运行时期间支持该程序的功能的临时的或中间性的信息。另一方面,存储在非易失性存储器中的持久性数据结构可以超越于程序运行时使用并且可以被再利用。此外,新数据在用户或程序员决定使该数据成为永久性数据之前通常先被生成为易失性数据。例如,程序员或用户可以在处理器直接可访问的易失性主存储器中产生对易失性结构的映射(即实例化)。另一方面,持久性数据结构在如附连到输入/输出(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所示,SSD130包括控制器逻辑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接口(包括IEEE802.11a/b/g/n等)、蜂窝网络接口、3G、5G、LPE等)通信。其它设备可以经由总线522进行通信。此外,在本发明的一些实施例中,各部件(如网络接口设备530)可以与GMCH508进行通信。此外,处理器502和GMCH508可以进行组合以形成单个芯片。此外,在本发明的其它实施例中,图形加速器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所讨论的存储设备。
此外,这种有形的计算机可读介质可以被下载作为计算机程序产品,其中,所述程序可以作为数据信号(如在载波或其它传播介质中)经由通信链路(例如,总线、调制解调器或网络连接)从远程计算机(如服务器)被传送到请求计算机(如客户端)。
说明书中所引用的“一个实施例”或“实施例”意味着与实施例一起描述的特定的特征、结构或特性可以被包括在至少一种实现中。在说明书中各处的短语“在一个实施例中”的出现可能或可能不全部参照同一实施例。
此外,在说明书和权利要求中,可以使用词语“耦合”和“连接”以及它们的衍生词。在本发明的一些实施例中,“连接”可以用于表示两个或更多个元件彼此直接物理或电子地接触。“耦合”可以意味着两个或更多个元件直接物理或电子地接触。然而,“耦合”也可以意味着两个或更多个部件可能没有彼此直接地接触,但可能仍互相配合或互相作用。
因此,尽管已经用特定于结构特征和/或方法行为的语言描述了本发明的实施例,但可以理解,所要求保护的主题可以不被限制于所描述的特定的特征或行为。此外,特定的特征和行为被公开为实现所要求保护的主题的示例形式。
Claims (25)
1.一种装置,包括:
控制器逻辑,用于控制对一个或多个非易失性存储器设备的访问;
其中,所述控制器逻辑引起以下中的一个或多个的操作频率的改变:所述控制器逻辑、将所述一个或多个非易失性存储器设备耦合到所述控制器逻辑的总线、以及所述一个或多个非易失性存储器设备中的一个或多个,其中,所述控制器逻辑响应于命令而引起所述操作频率的改变。
2.如权利要求1所述的装置,其中,所述一个或多个非易失性存储器设备包括以下中的一个或多个:固态存储设备、相变存储器、3D(3维)交叉点存储器、电阻式随机存取存储器、以及自旋转移矩随机存取存储器。
3.如权利要求1所述的装置,其中,所述命令包括智能命令传送命令。
4.如权利要求1所述的装置,其中,所述命令在运行时期间被发布以在不需要系统或操作系统重启的情况下引起所述改变。
5.如权利要求1所述的装置,其中,所述控制器逻辑响应于锁定命令而制止引起所述改变。
6.如权利要求1所述的装置,其中,所述控制器逻辑响应于锁定状态位的值而制止引起所述改变。
7.如权利要求1所述的装置,其中,所述控制器逻辑响应于检测到与所述一个或多个非易失性存储器设备相关联的不稳定操作条件而引起系统重置。
8.如权利要求1所述的装置,其中,所述命令由用户接口或自动软件应用来进行发布。
9.如权利要求1所述的装置,其中,所述一个或多个非易失性存储器设备在同一集成电路管芯上。
10.如权利要求1所述的装置,其中,存储器控制器包括所述控制器逻辑。
11.如权利要求1到10中的任一项所述的装置,其中,所述控制器逻辑、所述一个或多个非易失性存储器设备、以及处理器核心中的一个或多个在同一集成电路管芯上。
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.一种装置,包括用于执行权利要求12至19中的任意一项所述的方法的单元。
25.一种包括一个或多个指令的计算机可读介质,当在处理器上执行时,所述一个或多个指令将所述处理器配置为执行权利要求12到19中的任意一项所述的一个或多个操作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361829983P | 2013-05-31 | 2013-05-31 | |
US61/829,983 | 2013-05-31 | ||
US13/929,708 US20140359196A1 (en) | 2013-05-31 | 2013-06-27 | On-the-fly performance adjustment for solid state storage devices |
US13/929,708 | 2013-06-27 | ||
PCT/US2014/039594 WO2014193844A1 (en) | 2013-05-31 | 2014-05-27 | On-the-fly performance adjustment for solid state storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105164635A true CN105164635A (zh) | 2015-12-16 |
CN105164635B CN105164635B (zh) | 2019-06-14 |
Family
ID=51986487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480024473.3A Active CN105164635B (zh) | 2013-05-31 | 2014-05-27 | 针对固态存储设备在运行中的性能调整 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20140359196A1 (zh) |
EP (1) | EP3005079B1 (zh) |
JP (1) | JP6160848B2 (zh) |
KR (1) | KR101764044B1 (zh) |
CN (1) | CN105164635B (zh) |
BR (1) | BR112015027470B1 (zh) |
RU (1) | RU2624563C2 (zh) |
WO (1) | WO2014193844A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791519A (zh) * | 2016-10-28 | 2019-05-21 | 西部数据技术公司 | 具有集成计算引擎的非易失性存储系统和本地快速存储器的优化用途 |
CN110462624A (zh) * | 2017-03-22 | 2019-11-15 | 甲骨文国际公司 | 用于安全地隔离系统特征的系统和方法 |
CN111580639A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd自适应负载时钟的调节方法、装置和计算机设备 |
CN116301662A (zh) * | 2023-05-12 | 2023-06-23 | 合肥联宝信息技术有限公司 | 一种固态硬盘功耗管理方法及固态硬盘 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102267041B1 (ko) | 2015-06-05 | 2021-06-22 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
US10073659B2 (en) | 2015-06-26 | 2018-09-11 | Intel Corporation | Power management circuit with per activity weighting and multiple throttle down thresholds |
US10198061B2 (en) * | 2015-09-01 | 2019-02-05 | Toshiba Memory Corporation | Storage and storage system |
US9804795B2 (en) | 2015-09-09 | 2017-10-31 | Toshiba Memory Corporation | Memory system and controller |
US10599349B2 (en) * | 2015-09-11 | 2020-03-24 | Samsung Electronics Co., Ltd. | Method and apparatus of dynamic parallelism for controlling power consumption of SSDs |
US10585598B2 (en) | 2017-09-29 | 2020-03-10 | Hewlett Packard Enterprise Development Lp | Modifying accessibility based on memory access patterns |
US10402121B2 (en) * | 2017-12-21 | 2019-09-03 | Apple Inc. | Systems and methods for reducing performance state change latency |
JP2020046752A (ja) * | 2018-09-14 | 2020-03-26 | キオクシア株式会社 | 記憶装置及び情報処理システム |
US11079945B2 (en) * | 2018-09-20 | 2021-08-03 | Ati Technologies Ulc | Dynamic configuration of memory timing parameters |
US11422708B2 (en) | 2019-07-05 | 2022-08-23 | SK Hynix Inc. | Memory interface, data storage device including the same and operating method thereof |
CN111833797A (zh) * | 2020-07-28 | 2020-10-27 | 重庆惠科金渝光电科技有限公司 | 时序控制板、驱动装置和显示装置 |
KR20230026877A (ko) * | 2021-08-18 | 2023-02-27 | 에스케이하이닉스 주식회사 | 컴퓨팅 시스템 및 그 동작 방법 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003036202A (ja) * | 2001-07-24 | 2003-02-07 | Matsushita Electric Ind Co Ltd | 記憶装置 |
US20050060594A1 (en) * | 2003-08-22 | 2005-03-17 | Barr Andrew H. | Bus clock frequency management based on device load |
US20050120144A1 (en) * | 2003-07-07 | 2005-06-02 | Fujitsu Limited | Disk control unit, disk drive, disk control method, and disk control program |
CN1728123A (zh) * | 2004-07-28 | 2006-02-01 | 英特尔公司 | 用户选择加入处理器特征控制能力 |
US20060187226A1 (en) * | 2005-02-24 | 2006-08-24 | Ati Technologies Inc. | Dynamic memory clock switching circuit and method for adjusting power consumption |
US20090235108A1 (en) * | 2008-03-11 | 2009-09-17 | Gold Spencer M | Automatic processor overclocking |
CN101872288A (zh) * | 2009-04-24 | 2010-10-27 | 联发科技股份有限公司 | 固态硬盘驱动器以及操作频率控制方法 |
CN102063263A (zh) * | 2009-11-18 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 固态硬盘响应主机读写操作请求的方法、设备及系统 |
CN102736666A (zh) * | 2011-04-12 | 2012-10-17 | 群联电子股份有限公司 | 参考频率设定方法、存储器控制器及闪存储存装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2870328B2 (ja) * | 1992-11-12 | 1999-03-17 | 日本電気株式会社 | 不揮発性半導体記憶装置 |
US6185692B1 (en) * | 1998-05-12 | 2001-02-06 | International Business Machine Corporation | Data processing system and method for dynamically setting bus clock frequency in response to a number of loads |
TW522297B (en) * | 2000-03-17 | 2003-03-01 | Micro Star Int Co Ltd | Automatic over-clock method for CPU |
US7467318B2 (en) * | 2003-09-29 | 2008-12-16 | Ati Technologies Ulc | Adaptive temperature dependent feedback clock control system and method |
US7382366B1 (en) * | 2003-10-21 | 2008-06-03 | Nvidia Corporation | Method, apparatus, system, and graphical user interface for selecting overclocking parameters of a graphics system |
DE10349750A1 (de) * | 2003-10-23 | 2005-05-25 | Commissariat à l'Energie Atomique | Phasenwechselspeicher, Phasenwechselspeicheranordnung, Phasenwechselspeicherzelle, 2D-Phasenwechselspeicherzellen-Array, 3D-Phasenwechselspeicherzellen-Array und Elektronikbaustein |
US7287199B2 (en) * | 2004-03-31 | 2007-10-23 | Giga-Byte Technology Co., Ltd. | Device capable of detecting BIOS status for clock setting and method thereof |
US20060056233A1 (en) * | 2004-09-10 | 2006-03-16 | Parkinson Ward D | Using a phase change memory as a replacement for a buffered flash memory |
US7584006B2 (en) * | 2004-12-20 | 2009-09-01 | Corsair Memory | Managing memory modules |
US7426592B2 (en) * | 2006-03-30 | 2008-09-16 | Inventec Corporation | Management function setting method for intelligent platform management interface |
US7861113B2 (en) * | 2007-03-16 | 2010-12-28 | Dot Hill Systems Corporation | Method and apparatus for operating storage controller system in elevated temperature environment |
CN102203717A (zh) * | 2007-10-05 | 2011-09-28 | 帝斯科匹尔公司 | 固态驱动器优化器 |
TW200951812A (en) * | 2008-06-03 | 2009-12-16 | Dfi Inc | Method and apparatus for changing BIOS parameters via a hot key |
US20090307416A1 (en) * | 2008-06-04 | 2009-12-10 | Intitio Corporation | Ssd with a controller accelerator |
CN101676879A (zh) * | 2008-09-17 | 2010-03-24 | 鸿富锦精密工业(深圳)有限公司 | 超频能力测试系统及方法 |
EP2302519B1 (en) * | 2009-09-09 | 2013-01-16 | ST-Ericsson SA | Dynamic frequency memory control |
US8214580B2 (en) * | 2009-10-23 | 2012-07-03 | International Business Machines Corporation | Solid state drive with adjustable drive life and capacity |
US20120074466A1 (en) * | 2010-09-28 | 2012-03-29 | Seagate Technology Llc | 3d memory array with vertical transistor |
JP5537474B2 (ja) * | 2011-03-24 | 2014-07-02 | 公益財団法人鉄道総合技術研究所 | プログラム及びセンサノードプログラム作成装置 |
TWI468946B (zh) * | 2011-04-27 | 2015-01-11 | Silicon Motion Inc | 用來進行主裝置指揮運作之方法以及記憶裝置及控制器 |
KR101982251B1 (ko) * | 2011-05-24 | 2019-05-24 | 마벨 월드 트레이드 리미티드 | 저장 디바이스들이 낮은 과도 공급으로 낮은 기입 증폭을 달성하기 위한 방법 |
-
2013
- 2013-06-27 US US13/929,708 patent/US20140359196A1/en not_active Abandoned
-
2014
- 2014-05-27 EP EP14803579.3A patent/EP3005079B1/en active Active
- 2014-05-27 RU RU2015146912A patent/RU2624563C2/ru not_active IP Right Cessation
- 2014-05-27 KR KR1020157028207A patent/KR101764044B1/ko active IP Right Grant
- 2014-05-27 WO PCT/US2014/039594 patent/WO2014193844A1/en active Application Filing
- 2014-05-27 BR BR112015027470-6A patent/BR112015027470B1/pt active IP Right Grant
- 2014-05-27 CN CN201480024473.3A patent/CN105164635B/zh active Active
- 2014-05-27 JP JP2016512117A patent/JP6160848B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003036202A (ja) * | 2001-07-24 | 2003-02-07 | Matsushita Electric Ind Co Ltd | 記憶装置 |
US20050120144A1 (en) * | 2003-07-07 | 2005-06-02 | Fujitsu Limited | Disk control unit, disk drive, disk control method, and disk control program |
US20050060594A1 (en) * | 2003-08-22 | 2005-03-17 | Barr Andrew H. | Bus clock frequency management based on device load |
CN1728123A (zh) * | 2004-07-28 | 2006-02-01 | 英特尔公司 | 用户选择加入处理器特征控制能力 |
US20060187226A1 (en) * | 2005-02-24 | 2006-08-24 | Ati Technologies Inc. | Dynamic memory clock switching circuit and method for adjusting power consumption |
US20090235108A1 (en) * | 2008-03-11 | 2009-09-17 | Gold Spencer M | Automatic processor overclocking |
CN101872288A (zh) * | 2009-04-24 | 2010-10-27 | 联发科技股份有限公司 | 固态硬盘驱动器以及操作频率控制方法 |
CN102063263A (zh) * | 2009-11-18 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 固态硬盘响应主机读写操作请求的方法、设备及系统 |
CN102736666A (zh) * | 2011-04-12 | 2012-10-17 | 群联电子股份有限公司 | 参考频率设定方法、存储器控制器及闪存储存装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791519A (zh) * | 2016-10-28 | 2019-05-21 | 西部数据技术公司 | 具有集成计算引擎的非易失性存储系统和本地快速存储器的优化用途 |
CN109791519B (zh) * | 2016-10-28 | 2022-12-23 | 西部数据技术公司 | 具有集成计算引擎的非易失性存储系统和本地快速存储器的优化用途 |
CN110462624A (zh) * | 2017-03-22 | 2019-11-15 | 甲骨文国际公司 | 用于安全地隔离系统特征的系统和方法 |
CN110462624B (zh) * | 2017-03-22 | 2023-08-29 | 甲骨文国际公司 | 用于安全地隔离系统特征的系统和方法 |
CN111580639A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd自适应负载时钟的调节方法、装置和计算机设备 |
CN116301662A (zh) * | 2023-05-12 | 2023-06-23 | 合肥联宝信息技术有限公司 | 一种固态硬盘功耗管理方法及固态硬盘 |
CN116301662B (zh) * | 2023-05-12 | 2023-08-01 | 合肥联宝信息技术有限公司 | 一种固态硬盘功耗管理方法及固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
JP6160848B2 (ja) | 2017-07-12 |
KR20150128907A (ko) | 2015-11-18 |
EP3005079B1 (en) | 2021-11-17 |
RU2015146912A (ru) | 2017-05-10 |
KR101764044B1 (ko) | 2017-08-14 |
WO2014193844A1 (en) | 2014-12-04 |
BR112015027470B1 (pt) | 2022-07-26 |
US20140359196A1 (en) | 2014-12-04 |
BR112015027470A2 (pt) | 2017-07-25 |
JP2016517988A (ja) | 2016-06-20 |
EP3005079A4 (en) | 2016-11-30 |
CN105164635B (zh) | 2019-06-14 |
RU2624563C2 (ru) | 2017-07-04 |
EP3005079A1 (en) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105164635A (zh) | 针对固态存储设备在运行中的性能调整 | |
US9229525B2 (en) | Adaptive latency tolerance for power management of memory bus interfaces | |
CN108351813B (zh) | 用于在非易失性存储器快速(NVMe)控制器的不同网络地址上使能个别的NVMe输入/输出(IO)队列的方法和装置 | |
KR101825005B1 (ko) | 하드웨어 플랫폼에 대한 펌웨어의 인-시스템 프로비저닝 | |
US9588577B2 (en) | Electronic systems including heterogeneous multi-core processors and methods of operating same | |
AU2011285762B2 (en) | Providing fast non-volatile storage in a secure environment | |
US9996398B2 (en) | Application processor and system on chip | |
US9075751B2 (en) | Secure data protection with improved read-only memory locking during system pre-boot | |
US9335813B2 (en) | Method and system for run-time reallocation of leakage current and dynamic power supply current | |
US20130035797A1 (en) | Performance of digital circuits using current management | |
KR101707096B1 (ko) | 일반 호스트 기반 제어기 레이턴시 방법 및 장치 | |
US11693466B2 (en) | Application processor and system on chip | |
CN103842934A (zh) | 用于降低功耗的基于优先级的应用事件控制(paec) | |
EP3353626A1 (en) | Techniques for entry to a lower power state for a memory device | |
WO2014105141A1 (en) | In-place change between transient and persistent state for data structures in non-volatile memory | |
US11922172B2 (en) | Configurable reduced memory startup | |
US11106272B2 (en) | Bios-based user-selectable power control | |
CN105556461A (zh) | 用于预os镜像重写以提供跨架构支持、安全性自省和性能优化的技术 | |
US20240012651A1 (en) | Enhanced service operating system capabilities through embedded controller system health state tracking | |
CN103678955A (zh) | 可信芯片设计 |
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 |