CN116500922A - 数字控制器中的性能节制管理 - Google Patents
数字控制器中的性能节制管理 Download PDFInfo
- Publication number
- CN116500922A CN116500922A CN202310049590.6A CN202310049590A CN116500922A CN 116500922 A CN116500922 A CN 116500922A CN 202310049590 A CN202310049590 A CN 202310049590A CN 116500922 A CN116500922 A CN 116500922A
- Authority
- CN
- China
- Prior art keywords
- asic
- performance
- data
- memory circuit
- digital memory
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 8
- 239000000872 buffer Substances 0.000 claims description 40
- 230000010354 integration Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 27
- 230000000694 effects Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002918 waste heat Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/349—Performance evaluation by tracing or monitoring for interfaces, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/0653—Monitoring storage devices or 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24024—Safety, surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及数字控制器中的性能节制管理。提供用于响应于专用集成电路ASIC的物理层和处理层操作条件中的至少一个,经由处理器将一或多个阈值存储于所述ASIC的存储器中的***和方法。还包含监测所述ASIC的物理层操作条件值和处理层性能条件值中的至少一个,所述监测形成经监测值;将所述经监测值与所述所存储的阈值进行比较;和当所述经监测值超过所述所存储的阈值中的至少一个时,节制所述ASIC的处理层性能。
Description
相关申请的交叉引用
本申请要求2022年1月27日申请的标题为“旧北性能节制管理(Old NorthPerformance Throttling Management)”的第63/303,908号美国临时专利申请的权益,其公开内容以全文引用的方式并入本文中。
技术领域
本公开大体上涉及专用集成电路(ASIC)。本公开更特定地涉及防止归因于余热、多余功率消耗或可在物理上使ASIC的性能降级的其它物理条件引起的硬件层级问题。另外涉及调节ASIC中的性能水平以防止或减少由物理ASIC应力源诱发的硬件问题。
背景技术
存储器装置(也被称作“存储器媒体装置”)广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可被编程为通常对应于逻辑1或逻辑0的两个支持状态中的一个。在一些实例中,单个存储器单元可支持多于两个可能的状态,所述状态中的任一个可由存储器单元存储。为了存取由存储器装置存储的信息,组件可以读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可以将存储器装置内的一或多个存储器单元写入或编程到对应状态。
专用集成电路(ASIC)可经设计并用于计算机、蜂窝电话和其它数字***和控制***中的许多不同目的。举例来说,ASIC可调节计算机的中央处理单元(CPU)或蜂窝电话的微处理器对动态随机存取存储器(DRAM)的存取。作为另一实例,计算机高速链路(CXL)ASIC可用作用于调节动态存储器以及根据最近出现的硬件标准集成不同数字存储器电路这两者的控制器。
计算机、蜂窝电话或其它数字/控制***可将多个服务请求发给ASIC,包含例如存储器读取/写入请求、服务中断,或对ASIC的其它形式的服务请求(例如,用于ASIC输入/输出(I/O)活动的中断驱动的请求)。
发明内容
根据本公开的一方面,提供一种方法。所述方法包括:响应于专用集成电路(ASIC)的物理层和处理层操作条件中的至少一个,经由处理器将一或多个阈值存储于所述ASIC的存储器中;监测所述ASIC的物理层操作条件值和处理层性能条件值中的至少一个,所述监测形成经监测值;将所述经监测值与所述所存储的阈值进行比较;和当所述经监测值超过所述所存储的阈值中的至少一个时,节制所述ASIC的处理层性能。
根据本公开的另一方面,提供一种方法。所述方法包括:将(i)专用集成电路(ASIC)的一或多个相应物理层操作条件的一或多个相应物理层上限阈值和(ii)所述ASIC的一或多个处理层性能条件的一或多个相应处理层上限值存储于所述ASIC中以用于控制数字存储器电路;在所述ASIC的实时操作期间监测所述物理层操作条件和所述处理层性能条件两者的实时值;在所述ASIC的所述实时操作期间确定以下各项中的至少一个:(i)物理层操作条件超过所述ASIC的对应上限阈值,以及(ii)处理层性能条件超过所述ASIC的对应上限阈值;和当超过所述上限阈值时,节制所述ASIC的处理层性能。
根据本公开的又一方面,提供一种数字存储器电路。所述数字存储器电路包括:前端,其被配置成从与CPU耦合的主机接收对从存储器读取数据和将数据写入到存储器的多个数据请求;后端,其被配置成从所述存储器读取数字数据和将数字数据写入到所述存储器;和媒体管理层MML,其被配置成控制通过实是多个数据请求置于所述数字存储器电路上的多个数字资源需求。
附图说明
本公开的实施例的有利设计来自于独立权利要求项和附属权利要求项、描述和附图。在下文中,借助于附图详细解释本公开的实施例的优选实例。并入本文中并且形成说明书的一部分的图式说明本公开,并且与描述一起进一步用以解释本公开的原理并且使得相关领域的技术人员能够制作和使用本公开。
图1说明其中可应用实施例的示范性环境,具体地,数字存储器电路,其可为示范性CXL ASIC。
图2说明数字存储器电路的示范性高速缓存子***和示范性媒体管理层。
图3说明用于存储器操作的示范性状态时间线。
图4说明用于存储器操作的示范性状态时间线。
图5说明数字存储器电路的示范性高速缓存子***和示范性媒体管理层。
图6说明用于存储器操作的示范性状态时间线。
图7说明数字存储器电路的示范性高速缓存子***和示范性媒体管理层。
图8说明数字存储器电路中的示范性***信号和寄存器集。
图9说明实践本公开的实施例的示范性方法。
图10说明实践本公开的实施例的示范性方法。
具体实施方式
图1说明其中可应用实施例的示范性环境,包含呈CXL ASIC 100的形式的示范性数字存储器电路。
CXL是用于处理器、存储器和存储器扩展的开放标准高速缓存一致性互连。本质上,CXL技术维持主机装置75存储器空间与所附接的装置上的存储器之间的存储器一致性。(主机装置,在此文件中简单地称为“主机75”,通常具有其自身的处理器且除CXL ASIC之外还有其它存储器。)主机是数据写入命令205和数据读取请求220的来源:ASIC 100经由总线80,例如PCIe八道数据总线80从主机75接收存储器存取请求205、220;ASIC100还经由同一总线80将数据返回给主机75。服务主导总线(SMBus)85传送控制命令和CXL ASIC状态进/出主机75。存储器存取请求205、220可包含主机75的存储器数据读取/写入请求220/205中的任一个或两个。
CXL ASIC 100还响应于来自主机75的数据请求而从存储器90读取数据以及将数据写入到存储器90,所述存储器90可为动态随机存取存储器DRAM 90或其它类别的合适的数据存储装置。
前端105提供用于CXL指令协议(IP)的处置以及介接,包含与PCIe总线80介接,以及CXL.io(输入/输出)协议和CXL mem(存储器)协议的处置。中央控制器110包含媒体管理层(MML)115、高速缓存子***120和错误管理器125。
MML 115接收和处理来自前端105的CXL mem请求并且发送读取/写入请求给高速缓存子***120。MML 115另外监测和调节通过多个数据请求置于数字存储器电路上的多个数字资源需求(例如,缓冲器存取)。高速缓存子***120接收并提供对从主机75接收的数据的内部高速缓存,进而提高模块的性能和功率效率。
错误管理器125提供用于所存储的数据的任选低功率芯片猎杀(LPCK)错误检查。后端140提供数据从存储器90到中央控制器110/从中央控制器110到存储器90的物理中继。管理子***130采用从串行快闪下载的固件132配置各种***设备、性能优化、错误监测、装置维护、温度监测、VPD等。
示范性数字存储器电路100包含数个数据端口,其中的每一数据端口具有与其相关联的一或多个存储器缓冲器。经由合适的CPU端口从主机75接收前端数据/将前端数据发送到主机75。类似地,经由合适的存储器端口从存储器90接收(存储于RAM中的)存储器数据/将(存储于RAM中的)存储器数据发送到存储器90。给定有限数目的端口,其中每一端口具有固定数目的缓冲器,在给定时间段期间经由数字存储器电路100仅可传送有限量的数据。
数字存储器电路100可具有一或多个端口余量(allowance)寄存器,其存储将经由各个端口和缓冲器在任一时间或在给定时间段内处置的最大数据量。数字存储器电路100还可具有存储各种阈值的一或多个阈值寄存器,所述阈值包含例如功率消耗、最大读取/写入和其它性能阈值。(参见下文图8的表850。)
数字存储器电路100包含处于芯片或多个芯片上的中央控制器110和一或多个存储器子***105、140、130。实施例提高芯片存储器的可靠性。中央控制器110和存储器子***105、140、130部分地表征为物理层条件参数,可包含实时操作温度和实时电流使用或功耗。
中央控制器110和存储器子***105、140、130还部分地表征为处理层性能参数,可包含空闲或在使用中的存储器缓冲器的数目,或在最近时间间隔期间正在处理的数据读取/写入命令的数目。
图2说明例如可在上文结合图1所论述的示范性数字存储器电路100中发现的示范性高速缓存子***120和示范性MML 115。示范性MML 115监测和控制置于示范性数字存储器电路100上的资源需求量,以及可能地,其它功能。
高速缓存子***120可具有一或多个高速缓存子***积分寄存器(CC积分寄存器)290。积分寄存器290可用以跟踪目前正在由高速缓存子***120处理的读取或写入请求的数目。
在一个实施例中,MML 115从前端105接收通过主机RwD路径240的用于数据存储的各种数据写入命令205,进而产生发送到高速缓存子***120的写入命令245。主机RwD路径240维持可用端口和缓冲器的WB空闲池270,所述WB空闲池270还可结合CC积分寄存器290工作以跟踪可用于存储器写入命令205的资源量。
类似地,MML 115从前端105接收通过主机Req路径250的用于数据存储的各种数据读取请求220,进而产生发送到高速缓存子***120的读取命令255。主机Req路径250维持可用端口和缓冲器的RB空闲池280,所述RB空闲池280还可结合CC积分寄存器290工作以跟踪可用于存储器读取命令205的资源量。
在另一实施例中,MML 115跟踪每端口处于使用中的缓冲器并且将其与CXL端口缓冲器余量寄存器。主机RwD 240处理MemWr和MemWrPtl请求,而主机Req 250处理MemRd、MemRdData、MemSpecRd、MemInv和MemInvNTrequests。
在各种实施例中,跟踪可针对以下各项中的任一个或全部,经由WB空闲池270、CC积分寄存器290和RB空闲池280中的任一个或全部发生:
(i)正在处理的读取请求总数目,
(ii)正在处理的写入请求总数目,
(iii)正在处理的所有类别的请求总数目,以及
(iv)可用的和允许的端口和缓冲器数目。
也可另外结合积分管理模块260或替代地通过积分管理模块260执行跟踪。
在实施例中,积分管理模块260或某一其它模块确定对特定端口的请求何时超过针对所述特定端口的读取余量或写入余量(指示可用端口缓冲器的数目已经降到阈值以下)。当做出这类确定时,MML 115停止从特定端口接受相应请求类型直到处于使用中的缓冲器降至低于余量为止。
在实施例中,并且在确定允许的阈值超越时,MML 115以及特定来说,积分管理模块260还可不仅考虑读取和写入命令,而且考虑正在中央控制器110中运行的数个其它命令。
在实施例中MML采用一或多个反压模块215发信号通知前端105没有另外的请求可处理。举例来说,主机RwD反压模块215.1可发信号通知在某一数目的时钟循环或指令时隙305(见图3)内,或在发送指示写入命令可被处理的肯定信号之前,不再有数据写入命令205可处理。举例来说,可采用旗标(例如perf_throttling_rwd_backpressure旗标(参见下文的图8))的改变。
类似地,主机Req反压模块215.2可发信号通知在某一数目的时钟循环或指令时隙305内,或在发送指示读取命令220可被处理的肯定信号之前,不再有数据读取命令220可处理。举例来说,可采用旗标(例如perf_throttling_req_backpressure旗标(参见下文的图8))的改变,而非作用中信令。
一般来说,信令可采取寄存器旗标或可在MML 115中设置并且可被前端105连续地读取的其它旗标的形式。根据实施例,还可采用其它形式的MML前端信令。
相关领域的技术人员将了解,通常预期在ASIC 100的实时操作期间,也就是说,当主机75正主动地发起存储器读取请求220和存储器写入请求205时,将采用以上信令或标记以及以下各种实施例的方法。
在实施例中,将反压旗标设置为‘1’可向前端指示可能不再接受请求,而‘0’可指示可接受更多请求。
以伪代码形式,并且在一个实施例中,主机RwD反压215.1(针对写入命令)可设置为‘1’,条件是:
(WB_Free_Pool_is_empty)OR
(#CC_running_cmds==CC_credits_register)
主机Req(读取cmd)反压设置为‘1’,条件是:
(RB_Free_Pool_is_empty)OR
(#CC_running_cmds==CC_credits_register)
这意味着MML 115已向主机75断言不再允许数据读取/写入。
图3说明用于示范性MML 115的读取和写入命令余量的示范性状态时间线300。图展示示范性时隙305(T.1、T.2、...、T.13)。每一时隙305表示处理数据写入205命令(RwD)和/或数据读取220命令(Req)所需的时间。
在时隙T.1到T.7期间,示范性数字存储器电路100接收一系列读取命令(RwD_cmd)205,如由RwD_cmd时间线335所指示。在时隙T.1-T.7中,wb_free_pool_empty旗标320断言‘0’,这意味着WB空闲池270不为空且因此具有可用于接收读取命令205和相关联数据的缓冲器。
cc_credits_full旗标325还断言‘0’,这意味着高速缓存器120不为满且因此自由地接受数据。因此,host_rwd_backpressure旗标330在时隙T.1-T.8内断言‘0’(这意味着MML 115不断言前端105上的任何反压)。因此,在时间T.8-T.13,高速缓存子***120保持能够接受新数据。
然而,在时隙T.8开始时,MML 115的积分管理模块260断言旗标wb_free_pool_empty 320(旗标设置为‘高’或‘1’),指示MML 115不再释放数据缓冲器来接受写入命令RwDcmd 205。因此,在时隙T.9中断言主机RwD反压215.1。在时隙T.9-T.13期间,整个时间块380是期间MML 115不接受数据写入请求205的时段。另外,如果整个计算***正在起作用,那么主机75将不呈递任何数据写入请求205。
大体类似的考虑因素在时隙T.1到T.13期间适用于数据读取请求220。然而,因为在时间间隔T.1到T.13中不断言rb_free_pool_empty旗标340(其保持为‘低’或‘0’值),所以在整个时间中不断言host_req_backpressure旗标345。如由req_cmd时间线350所指示,在整个时间中可接收数据请求命令req_cmd 220。
在一个实施例中,随后,当WB空闲池270为空时,中央控制器110无法再从主机75接收主机RwD命令205。WB_Free_Pool_Empty旗标320设置为‘1’,且Host_RwD_backpressure旗标330也设置为‘1’。主机RwD命令205′随后停止,直到写入缓冲器再次可用为止。
图4说明用于示范性MML 115的读取和写入命令余量的另一示范性状态时间线400。如同上文所论述的状态时间线300一样,图展示示范性时隙T.1、T.2、...、T.13。每一时隙表示处理数据写入205命令(RwD)和/或数据读取220命令(Req)所需的时间。
时间线400的许多元素与上文所论述的时间线300的元素相同,且此处不重复细节。然而,在时间线400中,在时隙T.1-T.13中的任一个期间不断言wb_free_pool_empty旗标320。由于数据写入缓冲器在整个时间间隔中保持可用,因此那些缓冲器可在整个时间间隔中从主机75接收数据。
不过应指出,在时间线400中,在时隙T.8开始时断言cc_credits_full旗标325。这指示CC积分寄存器290指示高速缓存子***120不再具有足够的可用资源来处理来自主机75的数据读取命令220或数据写入命令205中的任一个。因此,在后续时隙T.9-T.13中,断言host_rwd_backpressure旗标330和host_req_backpressure旗标345两者。因此,在时间间隔的持续时间内抑止主机RwD命令205′和主机Req命令220′两者(阻挡被接收或处理)。
当CC积分全部处于使用中时,中央控制器110无法接收主机RwD 205和主机Req220。CC积分满信号325设置为‘1’,因此主机RwD反压330和主机Req反压345信号设置为‘1’。主机命令205、220停止,直到CC积分再次可用为止。
实施例提供用于示范性数字存储器电路100当存储器电路暂时不具有充足的内部资源(例如,存储器缓冲器和/或高速缓存存储器)来处置数据读取/写入请求时阻挡这类请求的方法。即使当内部资源可用时,ASIC层级I/O请求的量和频率可能存在问题,进而产生热量和/或功率层级问题。因此,在一些实施例中,即使当数据缓冲器和高速缓存存储器保持可用时,数字存储器电路100仍可前瞻性地降低或节制性能水平以防止未来问题。
直接监测ASIC热量和功率消耗的技术在所属领域中是已知的。作为实例,可通过监测ASIC汲取的电流量或类似手段来确定功率消耗。因此,关于示范性ASIC 100不详细论述此类技术。
在实施例中,性能节制是基于以下各项的组合:物理层级监测(温度、功率消耗、射频或磁信号泄漏);逻辑错误率监测(例如检测和校正的奇偶校验错误的数目);和资源使用监测(经处理读取/写入请求205、220的数目、使用中的缓冲器数目等)。在一个实例中,实时性能管理节制可基于如经由示范性元件,例如空闲池270、280或高速缓存积分寄存器290跟踪的可用端口的数目或可用高速缓存存储器的量。在此实例中,当超过阈值准则860、865、870、875时,节制数字存储器电路100的性能。
在一个替代实施例中,MML 115利用板上固件(FW)562管理温度和功率消耗感测和基于温度/功率的性能节制配置,而性能监测硬件(HW)管理反压信号215.1、215.2的产生。(在管理子***130(参见图1)内部,存在内部CPU(图中未示出))。在那个CPU上,执行固件132(见图1)。相比之下,性能节制块562仅为硬件,但通过固件132进行配置。)
在第二替代实施例中,固件132管理所有温度/功率消耗感测、性能监测,并且管理反压信号。固件132可在主机75上运行并且可通过动态地调整高速缓存控制器110的CC积分寄存器290来调节MML 115。因此,节制管理动态地适应于ASIC工作负载特性。
图5说明根据一些实施例的示范性CXL媒体管理层115′。示范性MML 115′类似于上文中图2中所说明的示范性MML 115,且此处不重复相同或类似元素的描述。
示范性CXL MML 115′包含基于硬件的性能节制块(PTB)562。性能节制块562以通信方式与主机75耦合并且将旗标或信号输出递送到主机RwD反压模块215.1和主机Req反压模块215.2。
经由合适的温度传感器和/或电流/功率传感器(未示出),主机75读取图1的示范性ASIC 100的温度和功率消耗值。相关领域的技术人员将了解,温度传感器和/或电流/功率传感器中的任一个或两个可以是集成到ASIC 100中或靠近ASIC 100。
如果ASIC温度值超过安全温度阈值,那么主机75发送温度警示信号(perf_throttling_enable)820给示范性性能节制块562。类似地,如果ASIC功率消耗超过安全功率消耗阈值,那么主机75发送功率警示信号820给性能节制块562。
在实施例中,可在其中超过温度阈值且其中超过功率阈值的情况下采用单独信号825。在替代实施例中,可在多余温度或多余功率消耗的任一情况下采用共同信号825。
一旦示范性性能节制块562接收到已经超过功率或热量阈值的信号,性能监测块便传送反压215.1、215.2给数字存储器管理ASIC 100的前端105。
如上文所论述,MML 115采用一或多个反压模块215.1、215.2发信号通知前端105没有另外的服务读取/写入请求可处理或待处理。如本文所定义,反压意味着即使有额外读取或写入请求可处理,仍然不应处理另外的读取或写入请求以减小***热量和/或***功率消耗。
性能节制块562经由反压模块215传送反压给前端105。性能节制反压信号825、830(参见下文的图8)在空闲池空信号和CC积分满信号(未示出)下置于逻辑OR中。
另外,可针对主机RwD路径205、210、215.1并且针对主机Req路径220、222、215.2经由固件132设置的寄存器单独地且以不同方式调制这些信号。这可以整体或部分地通过针对温度阈值、电流阈值和性能节制水平设置存储于***寄存器中的各个阈值855、860、870、875完成。
图6说明用于示范性MML 115的读取和写入命令余量的另一示范性状态时间线600。如同上文所论述的状态时间线300、400一样,图展示示范性时隙T.1、T.2、...、T.13。每一时隙表示处理数据写入205命令(RwD)和/或数据读取220命令(Req)所需的时间。
时间线600的许多元素与上文所论述的时间线300、400的元素相同,且此处不重复细节。然而,在时间线600中,在时隙T.1-T.13中的任一个期间不断言wb_free_pool_empty旗标320。类似地,在时隙T.1-T.13中的任一个期间也不断言cc_credits_full旗标325。由于数据写入缓冲器和数据读取缓冲器在整个时间间隔T.1-T.13中保持可用,因此那些缓冲器原则上可在整个时间间隔中从主机75接收数据/将数据写入到主机75。
在示范性时间线600中,在时隙T.3开始时断言性能节制旗标655。此旗标指示在内部CPU上运行的固件132和性能节制块562中的任一个或两个现在被配置成监测ASIC层级性能并且在超过阈值准则的情况下节制ASIC层级性能。
可在***起动之后即刻或在***起动之后不久或当超过温度/功率阈值时断言性能节制旗标655。其它环境或电因素(例如,环境温度增加或检测到的***层级位错误率升高)可触发性能节制旗标(perf_throttling_enable)655。
一旦设置了性能节制旗标655,MML 115′的性能节制块562便评估示范性数字存储器电路100的性能何时超过性能阈值。
根据示范性时间线600,性能监测块562可确定已经超过特定性能阈值,起因而应在特定数目的时隙T.j、...、T.j+k内暂停***读取或***写入。可例如从存储于合适的寄存器(例如写入(ThrottlingLevel_RwD)节制层级寄存器870和读取(ThrottlingLevel_Req)寄存器875(再次参见图8的表850))中的值获得阈值和/或时隙的数目。
在示范性时间线600中,且可能地在一些实施例中,响应于超越写入阈值,在时隙T.4断言并且在时隙T.9再次断言perf_throttling_rwd_backpressure旗标660。因此,host_rwd_backpressure旗标330防止在时隙T.4-T.6期间并且再次在时隙T.9-T.11期间的另外数据写入。这些是节制数据写入以降低功率消耗和总加热的情况。类似地,在时隙T.4和T.9处断言perf_throttling_req_backpressure旗标665。因此,host_req_backpressure旗标345防止在时隙T.4-T.5和T.9-T.10期间的另外的数据读取。
图7说明根据一些实施例的示范性CXL媒体管理层115″和高速缓存控制器110′。示范性MML 115″类似于上文在图2中所说明的示范性MML 115,且此处不重复相同或类似元素的描述。应注意,不同于上文图5的示范性MML 115′,图7的示范性MML 115″不包含性能节制块562。此方法减少所需的硬件量,同时仍达成性能节制。
如图7中所描绘,主机75直接耦合到高速缓存控制器110′的CC积分寄存器290。主机75因而可调制允许的高速缓存控制器积分的数目。举例来说,主机75可减小允许的高速缓存控制积分的数目以将列出的可用缓冲器的数目设置为小于实际的缓冲器数目。这限制高速缓存控制器110可见的存储器缓冲器的数目,因此限制数字存储器电路100的总输贯量,最终减小热量和功率消耗。
主机75读取温度和功率消耗值。如果这些值超过相应温度和功率阈值860或865,那么主机75设置中央控制器积分寄存器290进行补偿。可读取用于对积分寄存器290进行调整的示范性伪代码:
可调制CC积分的最大数目直到温度/功率消耗返回到低于指定安全阈值为止。积分管理模块260被配置成当CC积分寄存器290中积分数目低于指定最小阈值时断言反压。主机75可通过调整CC积分寄存器290的指定最小阈值来节制数字存储器电路100。
图8说明根据实施例的示范性***信号(表810)和***寄存器(表850)。一般来说,管理子***130或中央控制器110的合适的寄存器(例如,示范性寄存器850)存储物理层和处理层性能条件的各个阈值。阈值860、865、870和875处于上文所论述的示范性阈值当中。
图9展示根据实施例的达成ASIC 100中的性能节制的示范性方法900的流程图。在图9中,耦合的主机75在框905中存储ASIC 100的第一物理层条件的第一上限值。在框910中,主机75存储ASIC 100的第二数字处理活动的第二上限值。
在框915中,主机75实时地监测ASIC 100的第一物理层条件的第一水平和第二数字处理活动的第二水平的ASIC活动。
此处描述的框920和925可大体并发地操作。在框920中,主机75将第一水平对照物理层条件的第一上限值进行比较并且实时地确定第一水平是否超过第一上限值。举例来说,主机75或管理子***130可确定物理层限值(例如温度或功率消耗)是否超过其对应上限值。在框925中,主机75将第二水平对照数字处理活动的第二上限值进行比较并且实时地确定第二水平是否超过第二上限值。举例来说,管理子***130可确定处于使用中的缓冲器的数目超过允许的缓冲器数目,或数据读取/写入请求超过允许的限值。
在框930中,在确定第一水平和第二水平是否分别超过第一上限值和第二上限值之后,方法900即刻节制ASIC100的第三数字活动以降低其水平。
返回到性能节制块562,并且如上文结合图2所述,在实施例中,性能节制块562可实施为呈专用数字逻辑形式的硬件(针对速度和效率),不过可经由固件修改其操作或操作参数。
性能节制块562可依赖于各个输入信号,包含例如:(i)用于时钟循环和/或指令循环的输入时钟305;(ii)性能节制启用信号655,其反映已经超过温度或功率消耗限值;和(iii)工作负荷类型1004:来自主机的关于读取百分比或写入百分比(例如,70%读取)的业务类型。
来自性能节制块562的输出信号可包含:(i)性能节制RwD反压205:将写入命令反压传送到前端105;和(ii)性能节制Req反压220:将读取命令反压传送到前端105。
借助于示范性操作,当启用时,性能节制块562基于工作负荷类型信号对反压信号作出响应。举例来说,如果业务大部分由数据请求数据请求命令构成,那么性能节制块可在某一可配置时段(例如,50Tck,也就是说,50个时钟周期)内停止数据请求。在所述时段之后,再次检查节制条件并且如果所述节制条件持续,那么可调制数据请求命令,也就是说,部分地允许数据请求命令(例如,所述数据请求命令在20Tck内停止并且在30Tck内启用)。随后,再次检查节制条件,且如果所述节制条件持续,那么可进一步减少数据读取命令。
一般来说,根据性能节制块562的可配置参数,可经由此调制来微调数据读取命令或数据写入命令的调制,进而平衡存储器业务负荷与主机***需求。
当超过节制条件时,反压信号可设置回0(零或“关断”),且主机业务返回到正常行为。
图10展示根据实施例经由性能节制块562达成性能节制的示范性方法1000的流程图。示范性方法1000并入有特定节制场景,其仅出于的目的进行解释和说明;相关领域的技术人员将了解,本公开和所附权利要求书的范围内的其它情境是可能的。
方法开始于步骤1010,其中在从主机75接收到perf_throttling_enable信号665,并且还接收到workload_type信号或消息1004之后即刻启用性能节制块562。在示出的实例中,工作负荷类型是70%读取命令负载。在实施例中,性能节制块1010可从主机75(经由前端105),或从CXL 100的其它模块,例如管理子***130还接收其它存储器性能参数1006。
方法继续步骤1015。在步骤1015中,性能节制块562在指定的时钟循环数内停止可为可配置的Rwd命令(写入命令)205。
在通过指定的时钟循环数之后,在步骤1020和1025中,性能节制块562检查是否仍在断言节制条件(perf_throt-tle_enable)(也就是说,perf_throttle_enable=1)。如果不再断言节制条件(节制条件结束,perf_throttle_enable=0),那么方法在步骤1060处结束,其中停用性能节制。这意味着在没有节制的情况下重新开始存储器请求的正常处理。
如果在步骤1020和1025中,确定仍断言节制条件,那么方法继续步骤1030。在步骤1030中,可在某一时间段(在示出的实例中,五十个指令时钟周期)内调制允许的存储器命令数目。在示出的实例中,调制涉及限制允许的存储器读取命令220的数目。并非完全关闭读取或写入命令,而是调制可能需要例如通过限制为了处理读取/写入命令可允许的时钟循环数,允许在指定数目的循环内处理减少的数目的命令。
在步骤1030中指定的时钟循环数完成之后,在步骤1035和1040中,性能节制块562检查是否仍在断言节制条件(perf_throttle_enable)。如果不再断言节制条件(节制条件结束),那么方法在步骤1060处结束,其中停用性能节制。这意味着在没有节制的情况下重新开始存储器请求的正常处理。
如果在步骤1035和1040中,确定仍断言节制条件,那么方法继续步骤1045。在步骤1045中,可在某一指定的时间段内调制或限制允许的存储器命令(存储器请求或存储器读取或这两者)的数目。在实施例中,并且在步骤1045和1050之间来回循环,可以某一指定的或可配置的方式限制读取请求或写入请求,直到在步骤1050中确定节制条件结束为止。
一旦在步骤1050中确定不再断言节制条件(节制条件结束),方法在步骤1060处结束,其中停用性能节制。这意味着在没有节制的情况下重新开始存储器请求的正常处理。
将观察到,一般来说,且在变型实施例中,关于多余读取请求220的节制条件可引起读取请求的节制、写入请求的节制,或节制读取和写入请求的某种组合。以类似方式,关于多余写入请求205的节制条件可引起读取请求的节制、写入请求的节制,或节制读取和写入请求的某种组合。
在给定的指定时钟循环持续时间内,可采用不同的时钟循环子集来完全阻挡存储器读取和存储器写入命令;或允许读取命令但不允许写入命令;或允许写入命令但不允许读取命令。也可设想其它、组合或串行或并行读取/写入节制变化。这类变化可为可经由固件,或经由来自主机75或管理子***130的动态控制进行编程的。
在实施例中,可采用(硬接线或可编程的)查找表或其它逻辑基于例如workload_type和/或基于其它供应的性能参数1006来确定将采用的节制类型和持续时间。在实施例中,可实时更新workload_type 1004或其它性能参数1006,使得性能节制块562可根据硬接线的或基于固件的逻辑或查找表来微调正在进行中的节制条件。也就是说,如果存在对需要存储器请求节制的多种时间连续/依序确定,那么性能节制块562可发出适合于来自主机***75的当前存储器需求的多个时间连续存储器节制命令。
在实施例中,硬件性能节制块562可理解为总存储器管理***100的和特定地中央控制器110的子处理器。性能节制块因而还可被称作性能调节子处理器(PRS)562或性能节制子处理器(PTS)562。性能节制块562包含(或可经由机载在适用ASIC上的合适的总线,链接到)任何硬接线逻辑;可编程逻辑;和任何寄存器或本地存储器;和/或数据队列、指令队列;或执行在此文件中描述的操作所需的算术、计数器或逻辑寄存器。
性能节制块562从主机***75接收呈存储器读取请求220和存储器写入请求205形式的存储器服务请求。主机***75还可响应于存储器请求而发送节制(也就是说,限制)存储器***的响应的请求;主机***还可发送指示当前存储器使用的各个参数1004、1006给存储器***。
响应于节制请求,性能节制块562停止存储器请求的任何接收,或限制(节制)指定数目的时钟/命令循环内存储器请求(读取请求、写入请求或这两者)的数目。性能节制块562还确定当满时,可重新开始不受节制的性能。
一般来说,需要ASIC具有自调节***,所述自调节***可减小ASIC性能的速率或减小ASIC操作的强度。这些减小可降低ASIC性能和使用寿命的物理层降级。
在传统***中,可为已知的是检测内部ASIC功率消耗或ASIC温度;且另外,当超越特定的上限阈值时,使ASIC降低其内部计算处理强度。另外,ASIC速度(例如时钟频率)可根据ASIC自身的设置或CPU的设置发生改变。ASIC速度自身可影响热量和功率消耗两者,但其为ASIC或ASIC的控制器或CPU本身已知的因素。
然而,采用这类调节***的ASIC可仅响应于物理层条件(例如,余热或多余功率消耗);和/或响应于检测到的错误条件(例如,检测到存储器奇偶校验错误的数目增加到超过允许的阈值)而对问题或潜在问题作出响应。
相关领域的技术人员将了解,当超越安全性能阈值时,举例来说,在超过温度阈值、功率消耗阈值或错误率阈值的情况下,普遍使用的安全性响应将使ASIC节制其自身的性能。
实施例提供ASIC自身性能的动态实时ASIC内部调节,其中响应于除超越物理层条件的阈值参数以外的条件或连同超越物理层条件的阈值参数而触发这类调节。也就是说,需要通过除了ASIC温度、ASIC功率消耗和/或ASIC错误率之外还检测和处理其它因素来防止性能阈值超越。实施例可基于在实际检测到物理层问题之前主动预测这类问题的风险来触发调节。
除了热量/功率/错误检测之外还采用替代性感测和阈值准则以提供对ASIC上的温度传感器和功率消耗的预期调节。可在速率、量或强度上暂时降低ASIC性能(即,节制)。此节制可预防热量和功率问题,因此基于除热量、功率或错误率以外的所感测的准则避免装置的临界条件。
如果ASIC太快速地和/或在太长时间内接收太多服务请求,那么结果可为不可接受的结果。举例来说,结果可包含:(i)ASIC功率消耗增加到超过安全限值;(ii)ASIC温度增加到超过安全阈值;(iii)ASIC电路元件之间的非所要串扰的风险增加(可引起处理错误,例如存储器读取错误增加);和(iv)ASIC操作不想要的其它形式的改变。这些改变(例如多余功率消耗、余热、串扰以及类似的物理层级问题)可致使ASIC性能的短期问题。在一些情况下,如果性能需求超越特定阈值,那么这些需求可减小ASIC的工作寿命跨度。
上文已经借助功能构建块描述了本公开,所述功能构建块展示了指定功能的实施方案和其关系。为了便于描述,本文已任意地限定这些功能构建块的边界。只要适当地执行指定功能及其关系,便可限定替代边界。
举例来说,本公开的各个方面可由软件、固件、硬件(或由例如Verilog或硬件描述语言指令的软件表示的硬件)或其组合实施。在阅读本说明书之后,相关领域的技术人员将明了如何使用其它存储器***或架构实施本公开。
应注意,可部分地通过使用计算机可读代码(包含通用编程语言(例如C或C++))、硬件描述语言(HDL)(包含Verilog HDL、VHDL、Altera HDL(AHDL))或其它编程和/或计算机自动化设计(CAD)工具实现本公开的各种实施例的模拟、合成和/或制造。
此计算机可读代码可安置于任何已知的计算机可用媒体(包含半导体、磁盘、光盘(例如CD-ROM、DVD-ROM))中,并且作为计算机数据信号实施于有形计算机可用(例如,可读取)发射媒体(包含基于数字、光学或模拟的有形媒体)中。另外,计算机可读代码可经由有线和无线通信网络(包含互联网和内联网)发射。另外,计算机可读代码可经由调制载波(包含但不限于无线电波、微波和光发射)发射,其中强加于载波上的独特模式的调制对应于计算机可读代码并且传送计算机可读代码。
具体实施方式部分而非发明摘要部分意图用于解释权利要求。摘要可阐述如由发明人预期的本公开的一或多个但非全部示范性实施例,且因此,并不意图以任何方式限制本公开和所附权利要求书。
Claims (20)
1.一种方法,其包括:
响应于专用集成电路ASIC的物理层和处理层操作条件中的至少一个,经由处理器将一或多个阈值存储于所述ASIC的存储器中;
监测所述ASIC的物理层操作条件值和处理层性能条件值中的至少一个,所述监测形成经监测值;
将所述经监测值与所述所存储的阈值进行比较;和
当所述经监测值超过所述所存储的阈值中的至少一个时,节制所述ASIC的处理层性能。
2.根据权利要求1所述的方法,其中所述监测和比较大体实时地发生。
3.根据权利要求2所述的方法,其中所述物理层操作条件包含ASIC温度和ASIC功率消耗中的至少一个。
4.根据权利要求3所述的方法,其中所述处理层性能条件随(i)处于使用中的存储器缓冲器数目、(ii)可用的存储器缓冲器数目和(iii)数据读取/写入操作的数目中的一或多个而变。
5.一种方法,其包括:
将(i)所述ASIC的一或多个相应物理层操作条件的一或多个相应物理层上限阈值和(ii)所述ASIC的一或多个处理层性能条件的一或多个相应处理层上限值存储于专用集成电路ASIC中以用于控制数字存储器电路;
在所述ASIC的实时操作期间监测所述物理层操作条件和所述处理层性能条件两者的实时值;
在所述ASIC的所述实时操作期间确定以下各项中的至少一个:(i)物理层操作条件超过所述ASIC的对应上限阈值,以及(ii)处理层性能条件超过所述ASIC的对应上限阈值;和
当超过所述上限阈值时,节制所述ASIC的处理层性能。
6.根据权利要求5所述的方法,其中所述物理层操作条件包括ASIC温度和ASIC功率消耗中的至少一个,且
其中所述物理层上限阈值的所述存储包括存储温度阈值、存储电流耗用阈值和存储功率消耗阈值中的至少一个。
7.根据权利要求5所述的方法,其中所述处理层性能条件包括处于使用中的存储器缓冲器数目、可用的存储器缓冲器数目、数据读取操作的数目和数据写入操作的数目中的至少一个;且
其中所述一或多个相应处理层上限值的所述存储包括存储所述ASIC的缓冲器最大数目、所述ASIC的空闲缓冲器最小数目以及数据读取请求的数目和数据写入请求的数目中的至少一个。
8.根据权利要求5所述的方法,其中节制所述处理层性能包括将反压传送给所述ASIC的前端和与所述ASIC相关联的主机中的至少一个;
其中所述主机是数据写入命令和数据读取请求的来源,且
其中所述前端从所述主机接收数据写入命令和数据读取请求。
9.根据权利要求8所述的方法,其中所述反压阻止读取请求和写入请求中的至少一个在指定数目的时钟循环或指定数目的指令时隙内被所述ASIC处理。
10.根据权利要求5所述的方法,其中经由所述ASIC的性能节制块确定所述ASIC的所述处理层性能的所述节制。
11.根据权利要求5所述的方法,其中经由与所述ASIC相关联的中央处理单元CPU确定所述ASIC的所述处理层性能的所述节制,其中所述CPU设置所述ASIC的节制阈值的值。
12.根据权利要求7所述的方法,其中经由所述CPU通过设置所述ASIC的存储器高速缓存器的可用高速缓存缓冲器的数目的值来确定所述ASIC的所述处理层性能的所述节制。
13.一种数字存储器电路,其包括:
前端,其被配置成从与CPU耦合的主机接收对从存储器读取数据和将数据写入到存储器的多个数据请求;
后端,其被配置成从所述存储器读取数字数据和将数字数据写入到所述存储器;和
媒体管理层MML,其被配置成控制通过实是多个数据请求置于所述数字存储器电路上的多个数字资源需求。
14.根据权利要求13所述的数字存储器电路,其中所述MML包括:
用于经由所述MML处理的数字数据的一或多个数据缓冲器;
积分管理块,其被配置成跟踪所述多个数据缓冲器;和
性能节制装置,其被配置成(i)确定所述数字存储器电路的处理层性能条件何时超过指定性能阈值,以及(ii)当所述处理层性能条件超过所述性能阈值时,节制所述数字存储器电路的所述性能。
15.根据权利要求13所述的数字存储器电路,其中所述MML另外包括性能节制装置;
其中所述性能节制装置被配置成确定处于使用中的数据缓冲器的数目何时超过允许处于使用中的数据缓冲器阈值数目;且
其中在确定处于使用中的所述数据缓冲器数目超过阈值编号之后,即刻节制所述数字存储器电路的所述性能。
16.根据权利要求15所述的数字存储器电路,其中所述性能节制装置被配置成通过断言所述前端上的反压信号来节制所述数字存储器电路的所述性能,且
其中所述反压信号指示另外的数据读取请求和另外的数据写入请求中的至少一个将不被所述数字存储器电路接受。
17.根据权利要求13所述的数字存储器电路,其中所述数字存储器电路另外包括高速缓存控制器,所述高速缓存控制器包括高速缓存控制器积分寄存器;其中所述性能节制模块确定所述高速缓存控制器寄存器中可用的高速缓存器积分数目是否低于高速缓存器积分的最小阈值数目;且
其中当所述高速缓存器积分数目低于高速缓存器积分的最小数目时,节制所述数字存储器电路的所述性能。
18.根据权利要求13所述的数字存储器电路,其中所述数字存储器电路另外包括高速缓存控制器,所述高速缓存控制器包括高速缓存控制器积分寄存器CC积分寄存器;
其中所述积分管理模块被配置成在检测到所述CC积分寄存器中的积分数目已经降到低于指定最小阈值之后即刻断言反压;且
其中所述CPU被配置成通过调整所述CC积分寄存器的所述指定最小阈值的所述值来节制所述数字存储器电路。
19.根据权利要求13所述的数字存储器电路,其中所述MML被配置成经由(i)断言数据写入命令的反压和(ii)断言数据读取命令的反压中的至少一个节制所述数字存储器电路的所述性能。
20.根据权利要求13所述的数字存储器电路,其中所述MML被配置成从与所述数字存储器电路相关联的传感器接收所述数字存储器电路的物理层条件;
其中所述MML被配置成确定所述物理层条件何时超过物理层条件阈值;且
其中当所述物理层条件超过所述物理层阈值条件时,节制所述数字存储器电路的所述性能。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263303908P | 2022-01-27 | 2022-01-27 | |
US63/303,908 | 2022-01-27 | ||
US17/902,714 US12039172B2 (en) | 2022-09-02 | Managing performance throttling in a digital controller | |
US17/902,714 | 2022-09-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116500922A true CN116500922A (zh) | 2023-07-28 |
Family
ID=87313996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310049590.6A Pending CN116500922A (zh) | 2022-01-27 | 2023-01-18 | 数字控制器中的性能节制管理 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230236729A1 (zh) |
CN (1) | CN116500922A (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892312B1 (en) * | 2001-10-30 | 2005-05-10 | Lsi Logic Corporation | Power monitoring and reduction for embedded IO processors |
US7318130B2 (en) * | 2004-06-29 | 2008-01-08 | Intel Corporation | System and method for thermal throttling of memory modules |
US8195903B2 (en) * | 2006-06-29 | 2012-06-05 | Oracle America, Inc. | System and method for metering requests to memory |
US8984216B2 (en) * | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
KR101962784B1 (ko) * | 2012-10-09 | 2019-03-27 | 삼성전자주식회사 | 온도에 따라 차별화된 리드 동작 및 라이트 동작을 갖는 반도체 메모리 장치 |
US20150261473A1 (en) * | 2014-03-11 | 2015-09-17 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
US9501069B2 (en) * | 2014-03-13 | 2016-11-22 | International Business Machines Corporation | Control of solid state memory device temperature using queue depth management |
US20150324135A1 (en) * | 2014-05-06 | 2015-11-12 | Netapp, Inc. | Automatic storage system configuration based on workload monitoring |
US20180314289A1 (en) * | 2017-04-28 | 2018-11-01 | Intel Corporation | Modifying an operating frequency in a processor |
KR20220063384A (ko) * | 2020-11-10 | 2022-05-17 | 에스케이하이닉스 주식회사 | 메모리 콘트롤러 및 메모리 시스템 |
US20210109587A1 (en) * | 2020-12-21 | 2021-04-15 | Intel Corporation | Power and thermal management in a solid state drive |
US12014064B2 (en) * | 2021-02-26 | 2024-06-18 | EMC IP Holding Company LLC | Mapping storage volumes to storage processing nodes using input/output operation constraints and designated function |
-
2022
- 2022-09-02 US US17/902,716 patent/US20230236729A1/en active Pending
-
2023
- 2023-01-18 CN CN202310049590.6A patent/CN116500922A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230236729A1 (en) | 2023-07-27 |
US20230236949A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9229525B2 (en) | Adaptive latency tolerance for power management of memory bus interfaces | |
KR101485274B1 (ko) | 저장 드라이브 관리 | |
US7447824B2 (en) | Dynamic lane management system and method | |
US7966506B2 (en) | Saving power in a computer system | |
US9405356B1 (en) | Temperature compensation in data storage device | |
US7032117B2 (en) | Dynamic power control in integrated circuits | |
CN106598184B (zh) | 在处理器中执行跨域热控制 | |
JP5427775B2 (ja) | 低パワーキャッシュアクセスモードを備えたデータ処理デバイス | |
US20070043965A1 (en) | Dynamic memory sizing for power reduction | |
US7353414B2 (en) | Credit-based activity regulation within a microprocessor based on an allowable activity level | |
KR20130124575A (ko) | 멀티-코어 프로세서에서의 전력 소모 관리 | |
EP1865403B1 (en) | A single chip 3D and 2D graphics processor with embedded memory and multiple levels of power controls | |
US8281171B2 (en) | Adjustment of power-saving strategy depending on working state of CPU | |
US9377844B2 (en) | Memory refresh rate throttling for saving idle power | |
KR20130048786A (ko) | 플랫폼 전력 절감을 위한 조정 장치 및 브레이크 이벤트 애플리케이션 | |
US8090969B2 (en) | Method and apparatus for managing power consumption relating to a differential serial communication link | |
CN113126892A (zh) | 控制存储***方法、电子设备和计算机程序产品 | |
KR20150145241A (ko) | 일반 호스트 기반 제어기 레이턴시 방법 및 장치 | |
US9128711B2 (en) | Method, computer system and control device for reducing power consumption | |
US9116699B2 (en) | Memory refresh rate throttling for saving idle power | |
CN116500922A (zh) | 数字控制器中的性能节制管理 | |
US12039172B2 (en) | Managing performance throttling in a digital controller | |
WO2023124801A1 (zh) | 应用的冻结管理方法、装置、电子设备及存储介质 | |
US8417985B2 (en) | Adjusting system clock to faster speed upon receiving mass storage command and back to lower speed upon completion of all commands | |
US11880575B2 (en) | Adaptive memory device power saving setting in an information handling system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |