CN110008149B - 融合式存储器件及其操作方法 - Google Patents
融合式存储器件及其操作方法 Download PDFInfo
- Publication number
- CN110008149B CN110008149B CN201811275551.3A CN201811275551A CN110008149B CN 110008149 B CN110008149 B CN 110008149B CN 201811275551 A CN201811275551 A CN 201811275551A CN 110008149 B CN110008149 B CN 110008149B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- group
- bank
- controller
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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
-
- 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/1673—Details of memory controller using buffers
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0625—Power saving in 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D23/00—Control of temperature
- G05D23/19—Control of temperature characterised by the use of electric means
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Automation & Control Theory (AREA)
- Memory System (AREA)
Abstract
本发明提供一种融合式存储器件及其操作方法。所述融合式存储器件包括:第一存储器组,具有第一特性;第二存储器组,具有与第一特性不同的第二特性;以及控制器,被配置用于将第二存储器组的预定数据迁移到第一存储器组的高速缓存区域中,其中控制器还被配置为:当对第二存储器组执行能量限流操作时,通过使用高速缓存区域作为缓冲器来将第二存储器组的数据迁移到高速缓存区域中。
Description
相关申请的交叉引用
本申请要求于2017年10月30日提交的韩国专利申请第10-2017-0142584号的优先权,该申请通过引用整体并入本文。
技术领域
本公开的示例性实施例涉及融合式存储器件(converged memory device)及用于操作融合式存储器件的方法。
背景技术
数据正在成为第四次工业革命中最重要的资产,并且对支持以高数据速率传输和分析大规模数据的新技术的需求正在增加。例如,随着人工智能、自动驾驶、机器人、医疗保健、虚拟现实(VR)、增强现实(AR)和智能家居技术的普及,对服务器或数据中心的需求不断增加。
旧有数据中心包括用于在同一设备中计算、联网和储存数据的资源。然而,未来大规模数据中心可以单独构建资源,然后在逻辑上重构资源。例如,在大规模数据中心中,资源可以以机架(rack)级别进行模块化,并且模块化的资源可以根据其用途来重构和提供。因此,需要一种可用于未来大规模数据中心的融合式储存设备或存储器件。
发明内容
本公开的实施例针对一种融合式存储器件及其操作方法,其可以改善安装在服务器系统或数据处理系统上的存储器叶片(memory blade)中所包括的多个存储器的耐久性和性能。
根据本发明的一个实施例,一种融合式存储器件(converged memory device)包括:第一存储器组,具有第一特性;第二存储器组,具有与所述第一特性不同的第二特性;以及控制器,被配置为将所述第二存储器组的预定数据迁移到所述第一存储器组中的高速缓存区域中,其中所述控制器还被配置为:当对所述第二存储器组执行能量限流操作(energythrottling opertion)时,通过使用所述高速缓存区域作为缓冲器来将所述第二存储器组的数据迁移到所述高速缓存区域中。
所述能量限流操作可以包括对所述第一存储器组和所述第二存储器组中的每一个的温度和功率中的至少一者进行限流的操作。
所述融合式存储器件还可以包括:热传感器,其被包括在所述第一存储器组和所述第二存储器组中的每一个中,以及所述控制器通过利用所述热传感器监控所述第一存储器组和所述第二存储器组中的每一个的温度来产生温度监控结果,并且基于所述温度监控结果来执行所述能量限流操作。
当所述监控结果显示所述第一存储器组中的所述高速缓存区域的温度等于或高于阈值时,所述控制器禁止所述高速缓存区域的使用。
当所述监控结果显示所述第一存储器组中的第一存储器的温度等于或高于阈值时,所述控制器使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
当所述监控结果显示所述第二存储器组中的第二存储器的温度等于或高于阈值时,所述控制器将所述第二存储器的写入数据储存在所述高速缓存区域中。
所述控制器可以监控所述第一存储器组和所述第二存储器组中的每一个的功率,并且基于功率监控结果来执行所述能量限流操作。
所述控制器可以通过监控所述第一存储器组和所述第二存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组和所述第二存储器中的每一个的功率。
当所述监控结果显示所述第一存储器组中的所述高速缓存区域的功率等于或高于阈值时,所述控制器禁止所述高速缓存区域的使用。
当所述监控结果显示所述第一存储器组中的第一存储器的功率等于或高于阈值时,所述控制器使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
当所述监控结果显示所述第二存储器组中的第二存储器的功率等于或高于阈值时,所述控制器将所述第二存储器的写入数据储存在所述高速缓存区域中。
所述高速缓存区域可以包括选自所述第一存储器组中的存储器之中的一个物理存储器。
所述高速缓存区域可以包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器。
所述第一特性和所述第二特性可以包括储存容量和潜伏时间中的一者或两者。
所述第一存储器组和所述第二存储器组可以分别包括动态随机存取存储器(DRAM)和相变随机存取存储器(PCRAM)。
所述第一存储器组和所述第二存储器组可以分别包括相变随机存取存储器(PCRAM)和快闪存储器。
当对所述第二存储器组中的第二存储器执行所述能量限流操作时,所述控制器还可以执行控制对所述第二存储器的数据事务的操作。
所述预定数据可以包括热数据(hot data)。
根据本发明的另一个实施例,一种融合式存储器件包括:第一存储器组,具有第一特性;第二存储器组,具有与所述第一特性不同的第二特性;第三存储器组,具有与所述第一特性和所述第二特性不同的第三特性;以及控制器,被配置为将所述第二存储器组的第一预定数据迁移到所述第一存储器组中的第一高速缓存区域中,以及将所述第三存储器组的第二预定数据迁移到所述第二存储器组中的第二高速缓存区域中,其中,所述控制器还被配置为:当对所述第二存储器组执行能量限流操作时,通过使用所述第一高速缓存区域作为缓冲器来将所述第二存储器组的第一数据迁移到所述第一高速缓存区域中,以及当对所述第三存储器组执行所述能量限流操作时,通过使用所述第二高速缓存区域作为缓冲器来将所述第三存储器组的第二数据迁移到所述第二高速缓存区域中。
所述能量限流操作可以包括对温度和功率中的至少一者进行限流的操作。
所述融合式存储器件还可以包括:热传感器,其被包括在所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个中,其中所述控制器通过利用所述热传感器监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的温度来产生温度监控结果,并且基于所述温度监控结果来执行所述能量限流操作。
当所述温度监控结果显示所述第一存储器组中的所述第一高速缓存区域的温度等于或高于阈值时,所述控制器可以将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于阈值时,所述控制器可以使用所述第一高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述第一高速缓存区域中。
当所述温度监控结果显示所述第二存储器组中的所述第二高速缓存区域的温度等于或高于阈值时,所述控制器可以禁止所述第二高速缓存区域的使用。
当所述温度监控结果显示所述第二存储器组中的第二存储器的温度等于或高于阈值时,所述控制器可以将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
当所述温度监控结果显示所述第三存储器组中的第三存储器的温度等于或高于阈值时,所述控制器可以将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
所述控制器监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率,并且基于功率监控结果来执行所述能量限流操作。
所述控制器可以通过监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率。
当所述功率监控结果显示所述第一存储器组中的所述第一高速缓存区域的功率等于或高于阈值时,所述控制器可以将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
当所述功率监控结果显示所述第一存储器组中的第一存储器的功率等于或高于阈值时,所述控制器可以使用所述第一高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述第一高速缓存区域中。
当所述功率监控结果显示所述第二存储器组中的所述第二高速缓存区域的功率等于或高于阈值时,所述控制器可以禁止所述第二高速缓存区域的使用。
当所述功率监控结果显示所述第二存储器组中的第二存储器的功率等于或高于阈值时,所述控制器可以将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
当所述功率监控结果显示所述第三存储器组中的第三存储器的功率等于或高于阈值时,所述控制器可以将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
所述第一高速缓存区域可以包括选自所述第一存储器组中的存储器之中的一个物理存储器,以及所述第二高速缓存区域可以包括选自所述第二存储器组中的存储器之中的一个物理存储器。所述第一高速缓存区域可以包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器,以及所述第二高速缓存区域可以包括由所述第二存储器组中的存储器的特定对应区域形成的逻辑存储器。
所述第一特性至所述第三特性中的每一个可以包括储存容量和潜伏时间中的至少一者。
所述第一存储器组可以包括动态随机存取存储器(DRAM),所述第二存储器组包括相变随机存取存储器(PCRAM),以及所述第三存储器组包括快闪存储器。
当对所述第二存储器组中的存储器或所述第三存储器组中的存储器执行所述能量限流操作时,所述控制器还可以执行控制所述能量限流操作被执行的存储器中的数据事务的操作。
所述第一预定数据和所述第二预定数据中的每一个可以包括热数据。
根据本发明的又一个实施例,一种用于操作融合式存储器件的方法,所述融合式存储器件包括具有第一特性的第一存储器组和具有与所述第一特性不同的第二特性的第二存储器组,所述方法包括:将所述第二存储器组的预定数据迁移到所述第一存储器组中的高速缓存区域中;以及通过使用所述高速缓存区域作为缓冲器来对所述第二存储器组中的存储器的能量进行限流,并且当对所述第二存储器组中的所述存储器执行能量限流操作时,将所述第二存储器组中的所述存储器的数据迁移到所述高速缓存区域中。
对所述第二存储器组中的所述存储器的能量进行限流可以包括:对所述第二存储器组中的所述存储器的温度和所述第二存储器组中的所述存储器的功率中的一者或两者进行限流。
对所述第二存储器组中的所述存储器的能量进行限流可以包括:通过使用所述第一存储器组和所述第二存储器组中的每一个中包括的热传感器监控所述第一存储器组和所述第二存储器组中的每一个的温度来产生温度监控结果,并且基于所述温度监控结果来对所述第一存储器组和所述第二存储器组中的每一个的温度进行限流。
对所述第二存储器组中的所述存储器的能量进行限流还可以包括:当所述温度监控结果显示所述第一存储器组中的所述高速缓存区域的温度等于或高于阈值时,禁止所述高速缓存区域的使用。
对所述第二存储器组中的所述存储器的能量进行限流还可以包括:当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于阈值时,使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
对所述第二存储器组中的所述存储器的能量进行限流可以包括:当所述温度监控结果显示所述第二存储器组中的所述存储器的温度等于或高于阈值时,将所述存储器的写入数据储存在所述高速缓存区域中。
对所述第二存储器组中的所述存储器的能量进行限流可以包括:通过监控所述第一存储器组和所述第二存储器组中的每一个的功率来产生功率监控结果,并且基于所述功率监控结果来对所述第一存储器组和所述第二存储器组中的每一个的能量进行限流。
对所述第二存储器组中的所述存储器的能量进行限流可以包括:通过监控所述第一存储器组和所述第二存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组和所述第二存储器组中的每一个的功率。
对所述第二存储器组中的所述存储器的能量进行限流还可以包括:当所述功率监控结果显示所述第一存储器组中的所述高速缓存区域的功率等于或高于阈值时,禁止所述高速缓存区域的使用。
对所述第二存储器组中的所述存储器的能量进行限流还可以包括:当所述功率监控结果显示所述第一存储器组中的第一存储器的功率等于或高于阈值时,使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
对所述第二存储器组中的所述存储器的能量进行限流可以包括:当所述功率监控结果显示所述第二存储器组中的所述存储器的功率等于或高于阈值时,将所述存储器的写入数据储存在所述高速缓存区域中。
所述高速缓存区域可以包括选自所述第一存储器组中的存储器之中的一个物理存储器。
所述高速缓存区域可以包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器。
所述第一特性和所述第二特性中的每一个可以包括储存容量和潜伏时间中的至少一者。
所述第一存储器组和所述第二存储器组可以分别包括动态随机存取存储器(DRAM)和相变随机存取存储器(PCRAM)。
所述第一存储器组和所述第二存储器组可以分别包括相变随机存取存储器(PCRAM)和快闪存储器。
对所述第二存储器组中的所述存储器的能量进行限流还可以包括:当对所述第二存储器组中的所述存储器执行所述能量限流操作时,执行控制对所述存储器的数据事务的操作。
所述预定数据可以包括热数据。
根据本发明的又一个实施例,一种用于操作融合式存储器件的方法,所述融合式存储器件包括具有第一特性的第一存储器组、具有与所述第一特性不同的第二特性的第二存储器组、以及具有与所述第一特性和所述第二特性不同的第三特性的第三存储器组,所述方法包括:将所述第二存储器组的第一预定数据迁移到所述第一存储器组中的第一高速缓存区域中;将所述第三存储器组的第二预定数据迁移到所述第二存储器组中的第二高速缓存区域中;通过使用所述第一高速缓存区域作为缓冲器来对所述第二存储器组中的第二存储器的能量进行限流,以及当对所述第二存储器执行能量限流操作时,将所述第二存储器的数据迁移到所述第一高速缓存区域中;以及通过使用所述第二高速缓存区域作为缓冲器来对所述第三存储器组中的第三存储器的能量进行限流,以及当对所述第三存储器执行所述能量限流操作时,将所述第三存储器的数据迁移到所述第二高速缓存区域中。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流中的每一个可以包括:对温度和功率中的至少一者进行限流。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:通过利用所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个中包括的热传感器监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的温度来产生温度监控结果,并且基于所述温度监控结果来对所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的能量进行限流。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当所述温度监控结果显示所述第一存储器组中的所述第一高速缓存区域的温度等于或高于阈值时,将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于阈值时,使用所述第一高速缓存区域作为数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述第一高速缓存区域中。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当所述温度监控结果显示所述第二高速缓存区域的温度等于或高于阈值时,禁止所述第二高速缓存区域的使用。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:当所述温度监控结果显示所述第二存储器的温度等于或高于阈值时,将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:当所述温度监控结果显示所述第三存储器的温度等于或高于阈值时,将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率,并且基于功率监控结果来对所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的能量进行限流。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:通过监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当所述功率监控结果显示所述第一存储器组中的所述第一高速缓存区域的功率等于或高于阈值时,将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当所述功率监控结果显示所述第一存储器组中的第一存储器的功率等于或高于阈值时,使用所述第一高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述第一高速缓存区域中。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当所述功率监控结果显示所述第二存储器组中的所述第二高速缓存区域的功率等于或高于阈值时,禁止所述第二高速缓存区域的使用。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:当所述功率监控结果显示所述第二存储器组中的所述第二存储器的功率等于或高于阈值时,将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流可以包括:当所述功率监控结果显示所述第三存储器组中的所述第三存储器的功率等于或高于阈值时,将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
所述第一高速缓存区域可以包括选自所述第一存储器组中的存储器之中的一个物理存储器,以及所述第二高速缓存区域可以包括选自所述第二存储器组中的存储器之中的一个物理存储器。
所述第一高速缓存区域可以包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器,以及所述第二高速缓存区域可以包括由所述第二存储器组中的存储器的特定对应区域形成的逻辑存储器。
所述第一特性至所述第三特性中的每一个可以包括储存容量和潜伏时间中的一者或两者。
所述第一存储器组包括动态随机存取存储器(DRAM),所述第二存储器组包括相变随机存取存储器(PCRAM),以及所述第三存储器组可以包括快闪存储器。
对所述第二存储器的能量进行限流和对所述第三存储器的能量进行限流还可以包括:当对所述第二存储器或所述第三存储器执行所述能量限流操作时,执行对所述能量限流操作被执行的存储器的数据事务特性进行限流的操作。
所述第一预定数据和所述第二预定数据中的每一个包括热数据。
附图说明
图1是示出数据处理系统的框图。
图2和图3示出了根据本公开的一个实施例的计算设备。
图4是示出根据本公开的一个实施例的计算叶片(compute blade)的框图。
图5A和图5B是示出根据本公开的实施例的存储器叶片(memory blade)的框图。
图6是示出根据本公开的一个实施例的包括数据控制器的存储器叶片的框图。
图7A至图7C示出了根据本公开的实施例的存储器叶片的存储器的示例。
图8是根据本公开的一个实施例的包括数据控制器的存储器叶片的框图。
图9是示出根据本公开的一个实施例的包括数据控制器的控制器的框图。
图10A示出了根据本公开的一个实施例的热页(hot page)表的示例。
图10B示出了根据本公开的一个实施例的储存高速缓存数据的示例。
图11是示出根据本公开的一个实施例的包括数据控制器的存储器叶片的框图。
图12是简要地示出根据本公开的一个实施例的存储器叶片的操作的流程图。
图13是详细地示出根据本公开的一个实施例的存储器叶片的操作的流程图。
图14A至图14E示出了根据本公开的一个实施例的、存储器叶片的用于对温度进行限流的限流操作的示例。
图15示出了根据本公开的一个实施例的在存储器叶片的温度限流操作期间使用热页表作为用于写入缓冲器的表的示例。
图16是示出根据本公开的一个实施例的包括数据控制器的存储器叶片的框图。
图17是简要地示出根据本公开的一个实施例的存储器叶片的操作的流程图。
图18是详细地示出根据本公开的一个实施例的存储器叶片的操作的流程图。
图19A至图19F是示出根据本公开的一个实施例的存储器叶片的框图。
具体实施方式
将参考附图更详细地描述本公开的示例性实施例。然而,本公开可以以不同的形式实施,并且不应该被解释为限于本文阐述的实施例。确切地,提供这些实施例使得本公开是完全的和完整的,并且将向本领域技术人员充分传达本发明的范围。在本公开中,在各个附图和实施例中,相同的附图标记指代相同的部件。
图1是示出数据处理系统10的框图。参考图1,数据处理系统10可以包括:多个计算机架(computing rack)20、管理接口30、以及用于计算机架20与管理接口30之间的通信的网络40。具有这种机架规模架构的数据处理系统10可以由用于处理大规模数据的数据中心来使用。
每个计算机架20可以单独实现一个计算设备。可替选地,每个计算机架20可以与其他计算机架组合以实现一个计算设备。稍后将描述计算机架20的具体结构和操作。
管理接口30可以为用户提供交互式接口,以控制、支配或管理数据处理系统10。管理接口30可以使用任意类型的计算设备来实现,所述计算设备包括计算机、多处理器系统、服务器、机架安装式服务器(rack-mount server)、刀片式服务器(blade server)、膝上型计算机、笔记本计算机、平板计算机、可穿戴计算设备、网络设备、上网设备、分布式计算系统、基于处理器的系统、消费电子设备等之中的任何。
根据本公开的一些实施例,管理接口30可以由如下的分布式系统来实现,所述分布式系统具有可以由计算机架20执行的操作功能、或者具有可以由管理接口30执行的用户接口功能。根据本公开的其他实施例,管理接口30可以由虚拟云服务器来实现,所述虚拟云服务器包括通过网络40来分布的多计算设备。管理接口30可以包括处理器、输入/输出子系统、存储器、数据储存设备和通信电路。
网络40可以在计算机架20与管理接口30之间和/或在计算机架20之间传送/接收数据。网络40可以通过适当数量的各种有线和/或无线网络来实现。例如,网络40可以包括公共可访问的全球网络,例如有线或无线的局域网(LAN)、广域网(WAN)、蜂窝网络和/或因特网。此外,网络40可以包括适当数量的辅助网络设备,例如辅助计算机、路由器和交换机。
图2示出了根据本公开的一个实施例的具有机架结构的计算设备。
参考图2,计算机架20可以包括各种形式的组成元件,并且组成元件的结构、形状和名称不受限制。例如,计算机架20可以包括多个抽屉21至29。抽屉21至29中的每一个可以包括多个模块,每个模块可以包括多个叶片(blade)。
在本公开的各种实施例中,计算机架20可以通过适当数量的计算叶片、存储器叶片和/或互联叶片的组合来实现。本文中,定义计算机架20通过多个叶片的组合来实现,但是计算机架20也可以通过不同命名的元件例如抽屉、模块、托盘、板、框格(sash)或单元来实现。为了便于实现,计算机架20可以具有计算机架20的组成元件根据其功能被分解和分类的结构。虽然不受限制,但是计算机架20可以具有从顶部起分类顺序为互联叶片、计算叶片和存储器叶片的结构。计算机架20和包括计算机架20的计算设备可以称作“机架规模系统”或“分解系统”。
在本公开的一个实施例中,计算设备可以由一个计算机架20实现。在其他实施例中,计算设备可以由两个或更多个计算机架20的所有组成元件实现,由两个或更多个计算机架20的一些组成元件实现,或者由一个计算机架20的一些组成元件实现。
在本公开的各种实施例中,计算设备可以通过适当数量的、被包括在计算机架20中的计算叶片、存储器叶片和互联叶片的组合来实现。如图2所示,计算机架20A可以包括两个计算叶片、三个存储器叶片和一个互联叶片。计算机架20B可以包括三个计算叶片、两个存储器叶片和一个互联叶片。计算机架20C可以包括一个计算叶片、四个存储器叶片和一个互联叶片。
尽管图2示出了计算机架20通过适当数量的计算叶片、存储器叶片和互联叶片实现的情况,但计算机架20可以包括可在典型的服务器中包括的附加组成元件,诸如功率系统、冷却系统、输入/输出设备等。
图3示出了根据本公开的一个实施例的计算设备100。
参考图3,计算设备100可以包括多个计算叶片200、多个存储器叶片400和互联叶片300。计算叶片200可以被称为合并式计算叶片或合并式计算系统。类似地,存储器叶片可以被称为合并式存储器叶片或合并式存储系统。本文中,定义计算设备100由多个叶片的组合来实现,但计算设备100还可以通过不同命名的元件诸如抽屉、模块、托盘、板、框格或单元来实现。
每个计算叶片200可以包括一个或更多个处理元件,诸如处理器、处理/控制电路、中央处理单元(CPU)等。
每个存储器叶片400可以包括一个或更多个存储器,诸如易失性存储器、非易失性存储器或其组合。例如,每个存储器叶片400可以包括动态随机存取存储器(DRAM)、快闪存储器、存储卡、硬盘驱动器(HDD)、固态硬盘(SSD)或它们的组合。
每个存储器叶片400可以由每个计算叶片200中包括的一个或更多个处理元件划分、分配或指定,并且使用。此外,每个存储器叶片400可以储存可由计算叶片200初始化和/或执行的一个或更多个操作系统(OS)。
互联叶片300可以包括通信电路、通信设备或其组合,其可以由每个计算叶片200中包括的一个或更多个处理元件划分、分配或指定,并且使用。例如,互联叶片300可以由任意数量的网络接口端口、接口卡或接口开关实现。互联叶片300可以使用与一种或更多种有线通信技术相关的协议用于通信。例如,互联叶片300可以基于一种或更多种协议、诸如PCIe(外围组件互联Express)、QPI(快速路径互联)、以太网等来支持计算叶片200与存储器叶片400之间的通信。
图4是示出根据本公开的一个实施例的计算叶片200的框图。
参考图4,计算叶片200可以包括一个或更多个中央处理单元(CPU)210、一个或更多个本地存储器220、以及输入/输出(I/O)接口230。
CPU 210可以划分、分配或指定图3所示的存储器叶片400之中的要使用的一个或更多个存储器叶片。此外,CPU 210可以初始化所述一个或更多个存储器叶片,并且对所述一个或更多个存储器叶片执行数据读取操作和/或数据写入(即,编程)操作。
本地存储器220可以储存数据以执行CPU 210的操作。在本公开的各种实施例中,本地存储器220可以一对一地对应于CPU 210。
输入/输出接口230可以通过图3的互联叶片300来支持CPU 210与存储器叶片400之间的接口。输入/输出接口230可以使用与一种或更多种有线通信技术有关的协议,将数据从CPU 210输出和传送到互联叶片300,以及接收从互联叶片300输入到CPU 210的数据。例如,输入/输出接口230可以使用一种或更多种协议、诸如PCIe(外围组件互联Express)、QPI(快速路径互联)、以太网等来支持CPU 210与互联叶片300之间的通信。
图5A和图5B是示出根据本公开的一个实施例的存储器叶片400的框图。
参考图5A,存储器叶片400可以包括控制器410和多个存储器420。存储器420可以在控制器410的控制下将数据储存(或写入)在其中或输出(或读出)储存的数据。存储器420可以包括第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器组420A、第二存储器组420B和第三存储器组420C中的每一个可以包括多个存储器。第一存储器组420A、第二存储器组420B和第三存储器组420C可以具有相同的特性或不同的特性。在本公开的各种实施例中,第一存储器组420A、第二存储器组420B和第三存储器组420C可以包括在容量或潜伏时间方面具有不同特性的存储器。
参考图5B,第一存储器组420A可以包括动态随机存取存储器(DRAM)。第二存储器组420B可以包括相变随机存取存储器(PCRAM)。第三存储器组420C可以包括快闪存储器。
容量特性可以是第一存储器组420A<第二存储器组420B<第三存储器组420C的关系。潜伏时间特性可以是第一存储器组420A<第二存储器组420B<第三存储器组420C的关系。换言之,第三存储器组420C的容量可以是最大的、而第一存储器组420A的容量可以是最小的,同时第一存储器组420A的潜伏时间是最短的、而第三存储器组420C的潜伏时间可以是最长的。
图5B示出了第一存储器组420A包括DRAM、第二存储器组420B包括PCRAM和第三存储器组420C包括快闪存储器的情况,但是实施例不限于此。在其他实施例中,具有不同特性的各种形式的存储器被用于第一存储器组420A、第二存储器组420B和第三存储器组420C是可能的。
在一些实施例中,当第三存储器组420C包括快闪存储器时,第一存储器组420A可以包括静态随机存取存储器(SRAM),第二存储器组420B可以包括磁随机存取存储器(MRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
返回参考图5A,控制器410可以包括数据控制器510、存储器控制器MC 520A至520C、以及输入/输出(I/O)接口530。
数据控制器510可以控制在存储器420与图3中示出的计算叶片200之间传送/接收的数据。例如,响应于写入请求或命令,数据控制器510可以从计算叶片200接收写入数据,并且控制用于将写入数据编程到存储器420之中的对应存储器中的写入操作。在读取操作中,响应于读取请求或命令,数据控制器510可以读出储存在存储器420之中的特定存储器中的数据,并且控制用于将读取数据输出到计算叶片200之中的对应叶片中的读取操作。
存储器控制器520A至520C可以置于数据控制器510与存储器420之间,并且支持数据控制器510与存储器420之间的接口。存储器控制器520A到520C可以包括分别与存储器420中包括的第一存储器组420A、第二存储器组420B和第三存储器组420C相对应的第一存储器控制器iMC0 520A、第二存储器控制器iMC1 520B和第三存储器控制器iMC2 520C。第一存储器控制器iMC0 520A可以被布置在数据控制器510与第一存储器组420A之间,并且支持数据控制器510与第一存储器组420A之间的数据传送/接收。第二存储器控制器iMC1 520B可以被布置在数据控制器510与第二存储器组420B之间,并且支持数据控制器510与第二存储器组420B之间的数据传送/接收。第三存储器控制器iMC2 520C可以被布置在数据控制器510与第三存储器组420C之间,并且支持数据控制器510与第三存储器组420C之间的数据传送/接收。在图5B所示的实施例中,当第三存储器组420C包括快闪存储器时,第三存储器控制器iMC2 520C可以是快闪存储器控制器。
输入/输出接口530可以支持通过图3的互联叶片300在数据控制器510与计算叶片200之间的接口。输入/输出接口530可以使用与有线通信技术有关的一种或更多种协议,将读取数据从数据控制器510传送到互联叶片300,以及将写入数据从互联叶片300传送到数据控制器510。例如,输入/输出接口530可以基于一种或更多种协议、诸如外围组件互联Express(PCIe)、快速路径互联(QPI)、以太网等来支持数据控制器510与互联叶片300之间的通信。
如上所述,数据处理系统或服务器系统可以具有多个叶片例如计算叶片和存储器或储存器叶片被区别地安装在单元机架中的结构。本文中,一个存储器叶片可以包括具有不同特性的多个存储器以满足各种用户工作负荷。换言之,一个存储器叶片可以是融合式存储器件,其中多个存储器、诸如DRAM、SRAM、PCRAM、MRAM、STT-RAM和/或快闪存储器(例如,NAND型快闪存储器)被融合。因为融合式存储器件中包括的存储器可以具有不同的特性,所以融合式存储器件可以应用于各种使用模型。
与DRAM不同,可被包括在存储器叶片中的PCRAM和快闪存储器可能具有有限的耐久性,并且可能由于写入操作中的高能量消耗而在温度和功率方面是脆弱的。简言之,融合式存储器件在以高带宽传送数据时可能消耗高功率,并且在融合式存储器件由于高功率使用而发展成高温时数据错误率可能增大。结果,融合式存储器件可能因高温和/或高功率而被损坏。
将在下面描述的本公开的实施例可以改善包括多个存储器的融合式存储器件中的、需要或消耗相对高能量的某存储器的耐久性,并且可以通过减少所述某存储器被使用或操作的次数来改善所述某存储器的性能。为此,在本公开的实施例中,多个存储器中的一些存储器或多个存储器中的一些区域可以被用作用于所述某存储器的高速缓存(cache)区域。具体地,可以通过将用于所述某存储器的预定数据、例如一页热数据(hot data)储存在高速缓存区域中来最小化数据迁移的开销。此外,根据本公开的实施例,可以监控多个存储器中的每一个的能量消耗,如果需要,可以执行能量限流操作(energy throttlingoperation)。
例如,根据本公开的实施例,可以监控多个存储器中的每一个的温度和/或功率,并且可以执行用于对多个存储器中的每一个的温度和/或功率进行限流的限流操作。根据本公开的实施例,可以通过在对存储器执行的限流操作期间可变地使用被指定为高速缓存区域的、多个存储器中的一些存储器或多个存储器中的一些区域作为写入缓冲器或临时数据缓冲器,来改善存储器对高温和功耗的易损性。
用于第一存储器(例如,PCRAM、快闪存储器等)的限流操作可以通过将储存在消耗相对高能量的第一存储器中的数据迁移到消耗相对低能量的第二存储器(例如,DRAM、SRAM等)中的预设高速缓存区域中、并将迁移的数据储存在所述高速缓存区域中,来降低用于第一存储器的温度或平均功耗。通过将数据迁移到高速缓存区域中的操作,对第一存储器执行事务的次数、第一存储器被使用的次数、以及第一存储器操作的次数可以减少。此外,第一存储器的操作频率可以减小。另外,用以操作第一存储器的命令的周期可以更长。限流操作的结果是,第一存储器的能量消耗可以减少或最小化。因此,根据本公开的实施例的用于存储器的限流操作可以被理解为是最小化或减少消耗相对高能量的存储器的能量消耗的操作。
图6是示出根据本公开的一个实施例的包括控制器410的存储器叶片400的框图。
参考图6,存储器叶片400可以包括控制器410和存储器420。存储器420可以包括在例如储存容量和潜伏时间方面具有不同特性的第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器组420A可以包括具有第一特性的DRAM;第二存储器组420B可以包括具有第二特性的PCRAM,第二特性与第一特性不同;以及第三存储器组420C可以包括具有第三特性的快闪存储器,第三特性与第一特性和第二特性不同。
控制器410可以包括数据控制器510、存储器控制器MC 520A至520C、以及输入/输出(I/O)接口530。由于图6中的存储器叶片400包括与以上在图5B中示出的存储器叶片400的组成元件相同的组成元件,因此在此可以省略对图6中的存储器叶片400中的所述相同组成元件的详细描述,下面将描述数据控制器510的具体结构。
数据控制器510可以包括数据代理610和高速缓存代理620。数据代理610可以在控制器410与存储器420之间传送/接收用于写入操作和/或读取操作的数据。高速缓存代理620可以使用存储器420中的预定区域作为高速缓存区域。
在本公开的各种实施例中,高速缓存代理620可以使用第一存储器组420A中的预定区域作为用于第二存储器组420B的第一高速缓存区域。此外,高速缓存代理620可以使用第二存储器组420B中的预定区域作为用于第三存储器组420C的第二高速缓存区域。此外,高速缓存代理620可以在使用高速缓存区域的同时执行用于管理最近最少使用数据(leastrecently used data)的高速缓存控制操作。
图7A至图7C示出了根据本公开的一个实施例的存储器叶片的存储器的示例。
参考图7A,存储器叶片、例如图6中的存储器叶片400,可以使用存储器420来形成主存储器710、持久性存储器720和储存器730。在其他实施例中,存储器叶片400可以使用存储器420仅作为主存储器,或者作为主存储器和储存器的融合。
参考图7B,主存储器710可以包括第一存储器组,第一存储器组包括存储器420之中的k个DRAM。持久性存储器720可以包括第二存储器组,第二存储器组包括存储器420之中的m个PCRAM。储存器730可以包括第三存储器组,第三存储器组包括存储器420之中的n个快闪存储器。k、m和n中的每一个是正整数。
在本公开的各种实施例中,主存储器710中的k个DRAM之中的第k个DRAM可以被选择并用作用于持久性存储器720中的PCRAM的第一高速缓存区域740,以及持久性存储器720中的m个PCRAM之中的第m个PCRAM可以被选择并用作用于储存器730中的快闪存储器的第二高速缓存区域750。简言之,主存储器710和持久性存储器720中的每一个中的存储器之中的一个物理存储器可以被用作高速缓存区域。上述使用高速缓存区域的方法可以有助于改善PCRAM和快闪存储器(例如,NAND快闪存储器)的耐久性和性能。
参考图7C,主存储器710中的k个DRAM的特定对应区域可以被选择并用作用于持久性存储器720中的PCRAM的第一高速缓存区域745,以及持久性存储器720中的m个PCRAM的特定对应区域可以被选择并用作用于储存器730中的快闪存储器的第二高速缓存区域755。简言之,由主存储器710和持久性存储器720中的每一个中的存储器的特定对应区域形成的逻辑存储器可以被用作高速缓冲存区域。
图8是示出根据本公开的一个实施例的包括数据控制器510的存储器叶片400的框图。
参考图8,存储器叶片400可以包括控制器410和存储器420。存储器420可以包括在例如储存容量和潜伏时间方面具有不同特性的第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器组420A可以包括具有第一特性的DRAM;第二存储器组420B可以包括具有第二特性的PCRAM,第二特性与第一特性不同;以及第三存储器组420C可以包括具有第三特性的快闪存储器,第三特性与第一特性和第二特性不同。控制器410可以包括数据控制器510、存储器控制器MC 520A至520C、以及输入/输出(I/O)接口530。由于图8中的存储器叶片400包括与图5B中所示的存储器叶片400的组成元件相同的组成元件,因此在此可以省略对图8中的存储器叶片400中的所述相同组成元件的详细描述,下面将描述数据控制器510的具体结构。
数据控制器510可以包括高速缓存代理620和超级电容器630。高速缓存代理620可以使用存储器420中的预定区域作为高速缓存区域。此外,高速缓存代理620可以在使用高速缓存区域的同时执行用于管理数据、例如最近最少使用数据的高速缓存控制操作。
在本公开的各种实施例中,如图6、图7B和图7C中所示,高速缓存代理620可以使用第一存储器组420A中的预定区域作为用于第二存储器组420B的第一高速缓存区域。此外,高速缓存代理620可以使用第二存储器组420B中的预定区域作为用于第三存储器组420C的第二高速缓存区域。
可以使用超级电容器630以通过对储存在例如DRAM 420A中的高速缓存区域中的数据执行冲刷操作(flush operation)来防止数据丢失和恢复数据,即使当电源被切断、诸如突然掉电(SPO)时。在本公开的各种实施例中,超级电容器630使得即使在电源被切断时冲刷储存在DRAM 420A的高速缓存区域中的数据是可能的。超级电容器630用作即使在电源被切断时也向包括高速缓存区域的特定组的存储器充分地提供电源的备用电源单元。
尽管未在图8中示出,但是数据控制器510包括数据代理,其对应于图6中的数据代理610。数据代理可以在控制器410与存储器420之间传送/接收用于写入操作和/或读取操作的数据。
图9是示出根据本公开的一个实施例的包括数据控制器510的控制器410的框图。
参考图9,控制器410可以包括数据控制器510、存储器控制器MC 520A至520C、以及输入/输出(I/O)接口530。
数据控制器510可以包括高速缓存代理620和热页表640。高速缓存代理620可以使用可与以上参考图6至图8所描述的存储器420相对应的存储器(未示出)中的预定区域作为高速缓存区域。此外,高速缓存代理620可以在使用高速缓存区域的同时执行用于管理例如最近最少使用数据的高速缓存控制操作。
在本公开的各种实施例中,如图6、图7B和图7C中所示,高速缓存代理620可以使用第一存储器组420A中的预定区域作为用于第二存储器组420B的第一高速缓存区域。此外,高速缓存代理620可以使用第二存储器组420B中的预定区域作为用于第三存储器组420C的第二高速缓存区域。
尽管未在图9中示出,但是数据控制器510包括数据代理,其对应于图6中的数据代理610,并且数据代理可以在控制器410与存储器420之间传送/接收用于写入操作和/或读取操作的数据。
由于写入操作倾向于通过会聚到存储器420的特定地址上来执行,因此高速缓存代理620可以管理预定数据、例如热数据(hot data),并将热数据迁移并储存到高速缓存区域中。换言之,高速缓存代理620可以能够利用热页表640以页单位(例如,大约4K比特位的数据)来管理数据。本文中,尽管描述了被迁移到高速缓存区域中的数据是热数据的情况作为示例,但是高速缓存代理620可以能够将以不同的预定适当形式的数据迁移并储存到高速缓存区域中。
图10A示出了根据本公开的一个实施例的热页表(hot page table)的示例。热页表的储存和管理可以由高速缓存代理、例如上述的高速缓存代理620来执行。
参考图10A,热页表1010可以包括HA字段、PA字段、FREQ字段和VALID字段。HA可以表示请求写入操作的主机地址。例如,HA可以是请求写入操作的、图3中所示的计算叶片200的地址。PA可以是请求写入操作的存储器的物理地址。
FREQ可以表示用于地址的写入请求频率计数。例如,当发生用于地址的写入请求时,FREQ字段的值可以增加。FREQ字段的值可以在预定的时间间隔处减小。当FREQ字段的值等于或小于预定计数值时,可以从高速缓存区域逐出对应页的数据。
VALID可以表示对应页的数据是被高速缓存到高速缓存区域中还是从高速缓存区域被冲刷。例如,当VALID字段的值为“1”时,它可以表示对应页的数据被高速缓存到高速缓存区域中。另一方面,当VALID字段的值为“0”时,它可以表示从高速缓存区域冲刷对应页的数据。
例如,参考图10A,在存储器的PA是“0”、用于该存储器的写入请求已经发生了100次、并且根据写入请求的数据已被高速缓存到该存储器的高速缓存区域中的情况下,VALID字段的值是“1”。在存储器的PA是“2”、用于该存储器的写入请求已经发生了200次、并且根据写入请求的数据已被高速缓存到该存储器的高速缓存区域中的情况下,VALID字段的值是“1”。另一方面,在存储器的PA是“1”、用于该存储器的写入请求已经发生了50次、并且根据写入请求的数据已经从该存储器的高速缓存区域逐出(即,根据写入请求的数据尚未被高速缓存到高速缓存区域中)的情况下,VALID字段的值是“0”。
图10B示出了根据本公开的一个实施例的储存高速缓存数据的组1020的示例。高速缓存数据组1020的储存和管理可以由高速缓存代理、例如上述的高速缓存代理620来执行。
参考图10B,高速缓存数据可以被分组为对应于地址的预定大小,并以组为单位来储存。例如,高速缓存数据PA[0]、PA[1]、...、PA[11]可以基于页单位来储存,所述页单位是包括数据、例如4K比特位的数据的页。换言之,高速缓存数据PA[0]、PA[1]、...、PA[11]可以基于页单位来对准。包括高速缓存数据PA[0]、PA[1]、...、PA[11]的页1020可以储存在如图7B所示的高速缓存区域740和750中,或者储存在如图7C所示的高速缓存区域745和755中。
图11是示出根据本公开的一个实施例的包括数据控制器510的存储器叶片400的框图。
参考图11,存储器叶片400可以包括控制器410和存储器420。存储器420可以包括具有不同的储存特性、例如不同的储存容量和潜伏时间的第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器组420A可以包括具有第一特性的DRAM;第二存储器组420B可以包括具有第二特性的PCRAM,第二特性与第一特性不同;以及第三存储器组420C可以包括具有第三特性的快闪存储器,第三特性不同于第一特性和第二特性。第一存储器组420A、第二存储器组420B和第三存储器组420C中的每一个设置有热传感器(TS)1100。热传感器1100可以能够测量与其对应的存储器的温度。
控制器410可以包括数据控制器510、存储器控制器MC 520A至520C、以及输入/输出(I/O)接口530。由于存储器叶片400包括与以上在图5B中示出的存储器叶片400的组成元件相同的组成元件,因此在此可以省略对上述相同组成元件的详细描述,下面将描述数据控制器510的具体结构。
数据控制器510可以包括高速缓存代理620、热页表640、和热限流代理650。高速缓存代理620可以使用存储器420中的预定区域作为高速缓存区域。
在本公开的各种实施例中,高速缓存代理620可以使用第一存储器组420A中的预定区域作为用于第二存储器组420B的第一高速缓存区域。此外,高速缓存代理620可以使用第二存储器组420B中的预定区域作为用于第三存储器组420C的第二高速缓存区域。此外,高速缓存代理620可以在使用高速缓存区域的同时执行用于管理例如最近最少使用数据的高速缓存控制操作。
数据控制器510可以包括数据代理(未示出),其对应于图6的数据代理610。数据代理可以在控制器410与存储器420之间传送/接收用于写入操作和/或读取操作的数据。高速缓存代理620可以使用存储器420中包括的储存区域的一部分之中的预定区域作为高速缓存区域。此外,高速缓存代理620可以在使用高速缓存区域的同时执行高速缓存限流操作(例如,最近最少使用数据管理)。
在本发明的各种实施例中,如图6、图7B和图7C所示,高速缓存代理620可以使用第一存储器组420A的储存区域之中的预定区域作为用于第二存储器组420B的高速缓存区域。此外,高速缓存代理620可以使用第二存储器组420B的储存区域之中的预定区域作为用于第三存储器组420C的高速缓存区域。
由于写入操作倾向于通过会聚到存储器420的特定地址上来执行,因此高速缓存代理620可以管理预定数据、例如热数据,并将热数据迁移并储存到高速缓存区域中。换言之,高速缓存代理620可以能够利用热页表640以页单位来管理数据。页可以包括4K比特位的数据。
热限流代理650可以通过收集由安装在第一存储器组420A、第二存储器组420B和第三存储器组420C上的热传感器1100测量的每个存储器420的温度信息来监控每个存储器420的温度。此外,当热限流代理650基于收集到的温度信息而决定控制特定存储器的温度时,热限流代理650可以执行用于特定存储器的温度限流操作。
在本公开的各种实施例中,热限流代理650可以执行控制使用用于温度要被限流的存储器的高速缓存区域的操作。热限流代理650与高速缓存代理620互锁以执行控制使用高速缓存区域的操作。例如,热限流代理650可以执行改变使用用于温度要被限流的存储器的高速缓存区域的操作,使得所述高速缓存区域被用作用于存储器的写入缓冲器或临时数据缓冲器。稍后将参考图14A至图14E描述由热限流代理650执行的控制使用高速缓存区域的操作的具体实例。
此外,热限流代理650可以执行对温度要被限流的存储器的数据事务(datatransaction)特性进行限流的操作。例如,热限流代理650可以控制输入/输出接口530以减小温度要被限流的存储器的数据吞吐量、传输速率或带宽。
此外,热限流代理650可以调节安装在温度要被限流的存储器上的冷却风扇(未示出)的操作速度。例如,热限流代理650可以能够通过提高安装在高温的存储器上的冷却风扇的操作速度来降低高温的存储器的温度。
当决定出特定存储器的温度应当被限流时,由数据控制器510的热限流代理650执行的上述操作可以以适当的顺序依次执行。例如,热限流代理650可以以调整风扇速度→控制高速缓存区域的使用→控制数据事务的顺序来执行温度限流操作。通过对存储器执行温度限流操作可以减少由于高温而导致能量消耗高的存储器的能量消耗。
图12是示出根据本公开的一个实施例的存储器叶片的操作1200的流程图。操作1200可以由图11中所示的数据控制器510控制。
参考图12,数据控制器510可以在步骤1210中执行正常操作,以及在步骤1220中监控存储器的温度。本文中,正常操作可以对应于数据控制器510利用高速缓存区域来管理热页数据、同时数据控制器510对第一存储器组420A、第二存储器组420B和第三存储器组420C执行写入操作和读取操作的情况。上面已经参考图6至图10B描述了正常操作。
在本公开的各种实施例中,数据控制器510的热限流代理650可以能够通过收集每个存储器420的温度信息来监控每个存储器420的温度。例如,存储器420的温度由安装在第一存储器组420A、第二存储器组420B和第三存储器组420C上的热传感器1100测量。以对应于预定时段的预定频率多次地测量温度。
热限流代理650可以在步骤1230中基于收集到的温度信息来决定是否应当对特定存储器的温度进行限流。当热限流代理650决定特定存储器的温度应当被限流时,热限流代理650可以对所述特定存储器执行温度限流操作。
在本公开的各种实施例中,热限流代理650可以通过与高速缓存代理620互锁来执行控制使用用于温度要被限流的特定存储器的高速缓存区域的操作。例如,热限流代理650可以使用高速缓存区域作为用于温度要被限流的特定存储器的写入缓冲器或临时数据缓冲器。热限流代理650与高速缓存代理620互锁以执行控制使用高速缓存区域的操作。
另外,热限流代理650可以执行对用于温度要被限流的特定存储器的数据事务特性进行限流的操作。例如,热限流代理650可以能够控制输入/输出接口530以减小温度要被限流的特定存储器的数据吞吐量、传输速率或带宽。
此外,热限流代理650可以调节安装在温度要被限流的特定存储器上的冷却风扇(未示出)的操作速度。例如,热限流代理650可以能够通过提高安装在高温的存储器上的冷却风扇的操作速度来降低高温的存储器的温度。
当决定出特定存储器的温度应当被限流时,由数据控制器510的热限流代理650执行的上述操作以适当的顺序依次执行。例如,热限流代理650可以以调整风扇速度→控制高速缓存区域的使用→控制数据事务的顺序来执行温度限流操作。
如上所述,当消耗高能量的特定存储器的温度应当被限流时,数据控制器510可以执行通过将用于具有相对高能量消耗的特定存储器(例如PCRAM、快闪存储器等)的数据迁移并储存到具有相对低能量消耗的另一存储器(例如DRAM、SRAM等)的预定高速缓存区域中来降低特定存储器的温度的操作。通过迁移和储存数据的操作,对特定存储器执行事务的次数、特定存储器被使用的次数、特定存储器操作的次数或其组合可以减少。另外,特定存储器的操作频率可以减小。此外,用于操作特定存储器的操作命令的周期可以增加。结果,可以减少或最小化特定存储器的能量消耗。
图13是详细地示出根据本公开的一个实施例的存储器叶片的操作1300的流程图。操作1300可以由图11中所示的数据控制器510来控制。
参考图13,数据控制器510可以在步骤1310中执行正常操作。本文中,正常操作可以对应于如上参考图6至图10B所述的、数据控制器510在对第一存储器组420A、第二存储器组420B和第三存储器组420C执行写入操作和读取操作的同时利用高速缓存区域来执行管理热页数据的操作的情况。
数据控制器510的热限流代理650可以在步骤1320中监控每个存储器420的温度,并且确定每个存储器420的温度是否等于或高于第一阈值THRESHOLD1。在本公开的各种实施例中,数据控制器510的热限流代理650可以能够通过收集由安装在第一存储器组420A、第二存储器组420B和第三存储器组420C上的热传感器1100测量的每个存储器420的温度信息来监控存储器420的温度。
当判定出特定存储器的温度等于或高于第一阈值THRESHOLD1时,所述特定存储器的温度应当被限流,因为这意味着所述特定存储器的能量消耗高。因此,当判定出特定存储器的温度等于或高于第一阈值THRESHOLD1时,热限流代理650可以在步骤1330中检测所述特定存储器的标识(ID)信息,以及在步骤1340、1350和1360中通过控制使用用于所述特定存储器的高速缓存区域来执行热限流操作。
温度被确定为等于或高于第一阈值THRESHOLD1的存储器可以是被指定为第一存储器组420A中的高速缓存区域的高速缓存DRAM、未被指定为第一存储器组420A中的高速缓存区域的正常DRAM、被指定为第二存储器组420B中的高速缓存区域的高速缓存PCRAM、未被指定为第二存储器组420B中的高速缓存区域的正常PCRAM、或第三存储器组420C中的存储器(即快闪存储器)。
为了便于说明,可以通过以下情况来描述本公开的实施例:温度被确定为等于或高于第一阈值THRESHOLD1的存储器是被指定为第一存储器组420A中的高速缓存区域的高速缓存DRAM的情况、温度被确定为等于或高于第一阈值THRESHOLD1的存储器是未被指定为第一存储器组420A中的高速缓存区域的正常DRAM的情况、以及温度被确定为等于或高于第一阈值THRESHOLD1的存储器是未被指定为第二存储器组420B中的高速缓存区域的正常PCRAM的情况。热限流代理650控制使用高速缓存区域的操作的具体示例将参考图14A至图14E来描述。
当温度被确定为等于或高于第一阈值THRESHOLD1的特定存储器是第一存储器组420A中的高速缓存DRAM时(图13中的步骤1340的情况(1)),热限流代理650可以通过与高速缓存代理620互锁来冲刷储存在高速缓存DRAM中的数据,并禁止将高速缓存DRAM用作高速缓存区域。在本公开的各种实施例中,储存在高速缓存DRAM中的数据可以被冲刷到第二存储器组420B中的高速缓存区域中,例如,图7B的750或图7C中的755中。
当特定存储器是第一存储器组420A中的正常DRAM时(图13中的步骤1340的情况(2)),热限流代理650可以通过与高速缓存代理620互锁来使用高速缓存DRAM作为用于所述正常DRAM的数据缓冲器(图13中的步骤1350的情况(2))。
当特定存储器是第二存储器组420B中的正常PCRAM时,热限流代理650可以在步骤1360中通过与高速缓存代理620互锁来使用第一存储器组420A中的高速缓存DRAM作为用于所述正常PCRAM的写入缓冲器。
随后,热限流代理650可以在步骤1370确定高速缓存使用已被控制的特定存储器的温度是否等于或高于第二阈值THRESHOLD2。当所述特定存储器的温度等于或高于第二阈值THRESHOLD2时,热限流代理650可以在步骤1380中执行对用于所述特定存储器的数据事务特性进行限流的操作。例如,热限流代理650可以控制输入/输出接口530以减小温度要被限流的所述特定存储器的数据吞吐量、传输速率或带宽。
另外,尽管本文中未示出和描述,但是热限流代理650可以调节安装在温度要被限流的特定存储器上的冷却风扇(未示出)的操作速度。例如,热限流代理650可以能够通过提高安装在高温存储器上的、冷却高温存储器的冷却风扇的操作速度来降低高温存储器的温度。
在本公开的各种实施例中,热限流代理650可以设置参考值,使得第一阈值THRESHOLD1小于第二阈值THRESHOLD2。该关系的设置是考虑到即使热限流代理650控制高速缓存区域的使用,但热限流操作也失败的情况。例如,即使当图7C中所示的用于PCRAM的高速缓存区域745在控制使用高速缓存区域的操作中被禁用时,主存储器710中的DRAM的温度也可能随着对DRAM的访问的增加而升高。在这种情况下,热限流代理650可以在步骤1380中通过控制用于主存储器710中的DRAM的数据事务来执行热限流操作。
图14A至图14E示出了根据本公开的一个实施例的、存储器叶片的用于对温度进行限流的限流操作的示例。参考图13描述的操作1300可以由图11中所示的数据控制器510的热限流代理650和高速缓存代理620执行。
数据控制器510的热限流代理650可以监控存储器420的温度,并且确定特定存储器的温度是否等于或高于阈值THRESHOLD。当确定出特定存储器的温度等于或高于阈值THRESHOLD时,可以是特定存储器的能量消耗太高以至于需要热限流操作的情况。温度被确定为等于或高于阈值THRESHOLD的特定存储器可以是被指定为第一存储器组420A中的高速缓存区域的高速缓存DRAM、未被指定为第一存储器组420A中的高速缓存区域的正常DRAM、被指定为第二存储器组420B中的高速缓存区域的高速缓存PCRAM、未被指定为第二存储器组420B中的高速缓存区域的正常PCRAM、或第三存储器组420C中的存储器(即,快闪存储器)。
参考图14A,当被指定为第一存储器组420A中的第一高速缓存区域的高速缓存DRAM、例如DRAM k的温度等于或高于阈值THRESHOLD时(例如,DRAM k高),数据控制器510可以在步骤1410中将储存在DRAM k中的数据冲刷到被指定为第二存储器组420B中的第二高速缓存区域的PCRAM中,并且禁止使用DRAM k作为第一高速缓存区域。
参考图14B,当未被指定为第一存储器组420A中的高速缓存区域的正常DRAM、例如DRAM 3的温度等于或高于阈值THRESHOLD时(例如,DRAM 3高),数据控制器510可以在步骤1420中使用第一高速缓存区域、例如DRAM k作为用于DRAM 3的数据缓冲器,并且将储存在DRAM 3中的数据储存在DRAM k中。
参考图14C,当被指定为第二存储器组420B中的第二高速缓存区域的高速缓存PCRAM、例如PCRAM m的温度等于或高于阈值THRESHOLD时(例如,PCRAM m高),数据控制器510可以在步骤1430中禁止使用PCRAM m作为第二高速缓存区域。
参考图14D,当未被指定为第二存储器组420B中的高速缓存区域的正常PCRAM、例如PCRAM 3的温度等于或高于阈值THRESHOLD时(例如,PCRAM3高),数据控制器510可以在步骤1440中将用于PCRAM 3的写入数据储存在被指定为第一存储器组420A中的第一高速缓存区域的高速缓存DRAM中。简言之,数据控制器510可以使用被指定为第一高速缓存区域的高速缓存DRAM作为用于第二存储器组420B中的高温的PCRAM 3的写入缓冲器。
参考图14E,当第三存储器组420C中的快闪存储器、例如快闪存储器3的温度等于或高于阈值THRESHOLD时(例如,快闪存储器3高),数据控制器510可以在步骤1450中将用于快闪存储器3的写入数据储存在被指定为第二存储器组420B中的第二高速缓存区域的高速缓存PCRAM(PCRAM m)中。简言之,数据控制器510可以使用被指定为第二高速缓存区域的高速缓存PCRAM作为用于第三存储器组420C中的高温的快闪存储器3的写入缓冲器。
图15示出了在根据本公开的一个实施例的存储器叶片的温度限流操作期间利用热页表作为用于写入缓冲器的表的示例1500。示例1500可以由图11中所示的数据控制器510的高速缓存代理620和热限流代理650控制。
参考图15,对应于图11中的热页表640的热页表可以在热限流操作期间被用作用于写入缓冲器的表,而不是被用作在正常操作中如图10A所示用于管理高速缓存区域中的热页数据的缓冲器的表。例如,用于物理地址(PA)10的写入数据可以储存在高速缓存区域中,用于物理地址11的写入数据可以储存在高速缓存区域中,以及用于物理地址12的写入数据可以储存在高速缓存区域中,无论用于物理地址10、11和12中的每一个的写入请求频率计数如何,即,无论写入数据是否是热数据。在图15中,用于每个物理地址的写入请求频率计数是“0”。
图16是示出根据本公开的一个实施例的包括数据控制器510的存储器叶片400的框图。
参考图16,存储器叶片400可以包括控制器410和存储器420。存储器420可以包括具有不同特性、例如不同的储存容量和潜伏时间的第一存储器组420A、第二存储器组420B和第三存储器组420C。第一存储器组420A可以包括具有第一特性的DRAM;第二存储器组420B可以包括具有第二特性的PCRAM,第二特性与第一特性不同;以及第三存储器组420C可以包括具有第三特性的快闪存储器,第三特性不同于第一特性和第二特性。
控制器410可以包括数据控制器510、存储器控制器MC 520A至520C、以及输入/输出(I/O)接口530。由于存储器叶片400包括与以上在图5B中所示的存储器叶片400的组成元件相同的组成元件,因此在此可以省略对上述相同组成元件的详细描述,下面将描述数据控制器510的具体结构。
数据控制器510可以包括高速缓存代理620,热页表640和功率限流代理660。高速缓存代理620可以使用存储器420中的预定区域作为高速缓存区域。此外,高速缓存代理620可以在使用高速缓存区域的同时执行用于管理例如最近最少使用数据的高速缓存控制操作。
在本公开的各种实施例中,如图6、图7B和图7C中所示,高速缓存代理620可以使用第一存储器组420A中的预定区域作为用于第二存储器组420B的第一高速缓存区域。此外,高速缓存代理620可以使用第二存储器组420B中的预定区域作为用于第三存储器组420C的第二高速缓存区域。
由于写入操作倾向于通过会聚到存储器420的特定地址上来执行,因此高速缓存代理420可以管理预定数据、例如热数据,并且将热数据迁移并储存到高速缓存区域中。换言之,高速缓存代理620可以能够利用热页表640以页单位(例如,大约4K比特位的数据)来管理数据。
功率限流代理660可以通过收集第一存储器组420A、第二存储器组420B和第三存储器组420C中包括的每个存储器的功率信息来监控每个存储器420的功率。
在本公开的各种实施例中,功率限流代理660可以通过收集第一存储器组420A和第二存储器组420B中包括的每个存储器的数据事务信息(例如,被处理的写入数据的量)来监控用于每个存储器420的功率。可替选地,功率限流代理660可以通过监控第一存储器组420A和第二存储器组420B中包括的每个存储器的峰值电流来监控用于每个存储器420的功率。每个存储器420的峰值电流可以由电源管理集成电路(PMIC)测量。
此外,当基于收集到的功率信息决定出特定存储器的功率应当被限流时,功率限流代理660可以对特定存储器执行功率限流操作。
在本公开的各种实施例中,功率限流代理660可以通过与高速缓存代理620互锁来执行控制使用用于功率要被限流的特定存储器的高速缓存区域的操作。例如,功率限流代理660可以通过与高速缓存代理620互锁来执行将用于功率被决定为要被限流的特定存储器的高速缓存区域改变成写入缓冲器的操作。由功率限流代理660执行的、控制使用高速缓存区域的操作的具体示例与上面已经参考图14A至图14E描述的操作类似。
此外,功率限流代理660可以执行控制用于功率要被限流的特定存储器的数据事务的操作。例如,功率限流代理660可以能够控制输入/输出接口530,以减小功率要被限流的特定存储器的数据吞吐量、传输速率或带宽。
当决定出特定存储器的功率应当被限流时,由数据控制器510的功率限流代理660执行的上述操作可以以适当的顺序依次执行,或者被同时执行。例如,功率限流代理660可以以控制高速缓存区域使用→控制数据事务的顺序执行功率限流操作。通过对存储器执行功率限流操作,可以减少由于过多的数据事务而造成的能量消耗增加的存储器的能量消耗。
尽管未在图16中示出,但是数据控制器510可以包括对应于图6中的数据代理610的数据代理,并且数据代理可以在控制器410与存储器420之间传送/接收用于写入操作和/或读取操作的数据。
图17是简要地示出根据本公开的一个实施例的存储器叶片的操作1700的流程图。操作1700可以由图16中所示的数据控制器510控制。
参考图17,数据控制器510可以在步骤1710中执行正常操作,以及在步骤1720中监控存储器的功率。本文中,正常操作可以对应于数据控制器510管理高速缓存区域中的热页数据、同时数据控制器510对第一存储器组420A、第二存储器组420B和第三存储器组420C执行写入操作和读取操作的情况。上面已经参考图6至图10B描述了正常操作。
在本公开的各种实施例中,数据控制器510的功率限流代理660可以能够通过以对应于预定时段的预定频率来收集第一存储器组420A、第二存储器组420B和第三存储器组420C中包括的每个存储器的功率信息而监测每个存储器420的功率。
在本公开的各种实施例中,功率限流代理660可以通过收集第一存储器组420A和第二存储器组420B中包括的每个存储器的数据事务信息(例如,被处理的写入数据的量)来监控用于存储器420的功率。此外,功率限流代理660可以通过监控第一存储器组420A和第二存储器组420B中包括的每个存储器的峰值电流来监控用于存储器420的功率。例如,每个存储器420的峰值电流可以由电源管理集成电路(PMIC)测量。功率限流代理660可以通过使用PMIC或可替代其的装置来测量每个存储器420的峰值电流或者测量所有的存储器420的峰值电流。
功率限流代理660可以在步骤1730中基于收集到的功率信息来决定是否对特定存储器执行功率限流操作。当决定应当对特定存储器执行功率限流操作时,功率限流代理660可以对特定存储器执行功率限流操作。
在本公开的各种实施例中,功率限流代理660可以在步骤1740中通过与高速缓存代理620互锁来执行控制使用用于功率要被限流的特定存储器的高速缓存区域的操作。例如,功率限流代理660可以通过与高速缓存代理620互锁来执行将用于功率被决定为要被限流的特定存储器的高速缓存区域改变成写入缓冲器的操作。
另外,功率限流代理660可以执行控制用于功率要被限流的特定存储器的数据事务的操作。例如,功率限流代理660可以能够控制输入/输出接口530,以减小功率要被限流的特定存储器的数据吞吐量、传输速率或带宽。
当决定出特定存储器的功率应当被限流时,由数据控制器510的功率限流代理660执行的上述操作可以以适当的顺序被依次执行或被同时执行。例如,功率限流代理660可以以控制高速缓存区域使用→控制数据事务的顺序来执行功率限流操作。
如上所述,当决定出消耗高能量的特定存储器的功率应当被限流时,数据控制器510可以通过将用于具有相对高能量消耗的特定存储器(例如,PCRAM或快闪存储器)的数据迁移并储存到具有相对低能量消耗的存储器(例如,DRAM或SRAM)的预定高速缓存区域中,来执行减小特定存储器的平均功率的操作。通过迁移和储存数据的操作,对特定存储器执行事务的次数、特定存储器被使用的次数、或者特定存储器操作的次数可以减少,特定存储器的操作频率可以减小,或者用于操作特定存储器的操作命令的周期可以增加。结果,特定存储器的能量消耗可以减少或最小化。图18是详细示出根据本公开的一个实施例的存储器叶片的操作1800的流程图。操作1800可以由图16中所示的数据控制器510控制。
参考图18,数据控制器510可以在步骤1810中执行正常操作。本文中,正常操作可以对应于数据控制器510管理高速缓存区域中的热页数据、同时数据控制器510对第一存储器组420A、第二存储器组420B和第三存储器组420C执行写入操作和读取操作的情况。上面已经参考图6至图10B描述了正常操作。
数据控制器510的功率限流代理660可以在步骤1820中监控每个存储器420的功率,并且确定每个存储器420的功率是否等于或高于第一阈值THRESHOLD1。
在本公开的各种实施例中,数据控制器510的功率限流代理660可以能够通过以对应于预定时段的预定频率来收集第一存储器组420A、第二存储器组420B和第三存储器组420C中包括的每个存储器的功率信息而监控每个存储器420的功率。
在本公开的各种实施例中,功率限流代理660可以通过收集第一存储器组420A和第二存储器组420B中包括的每个存储器的数据事务信息(例如,被处理的写入数据的量)来监控用于每个存储器420的功率。可替选地,功率限流代理660可以通过监控第一存储器组420A和第二存储器组420B中包括的每个存储器的峰值电流来监控用于每个存储器420的功率。每个存储器420的峰值电流可以由电源管理集成电路(PMIC)测量。
功率限流代理660可以通过使用PMIC或可替代其的装置来测量每个存储器420的峰值电流,或者测量所有存储器420的峰值电流。
当确定出用于特定存储器的功率等于或高于第一阈值THRESHOLD1时,所述特定存储器的能量消耗太高以至于应当对所述特定存储器执行功率限流操作。当确定出用于特定存储器的功率等于或高于第一阈值THRESHOLD1时,功率限流代理660可以在步骤1830中检测所述特定存储器的标识(ID)信息,并且在步骤1840、1850和1860中通过控制用于所述特定存储器的高速缓存区域的使用来执行功率限流操作。
功率被确定为等于或高于第一阈值THRESHOLD1的特定存储器可以是被指定为第一存储器组420A中的高速缓存区域的高速缓存DRAM、未被指定为第一存储器组420A中的高速缓存区域的正常DRAM、被指定为第二存储器组420B中的高速缓存区域的高速缓存PCRAM、未被指定为第二存储器组420B中的高速缓存区域的正常PCRAM、或第三存储器组420C中的存储器、即快闪存储器。
为了便于说明,在此描述了功率被确定为等于或高于第一阈值THRESHOLD1的特定存储器是被指定为第一存储器组420A中的第一高速缓存区域的高速缓存DRAM的情况、特定存储器是未被指定为第一存储器组420A中的第一高速缓存区域的正常DRAM的情况、以及特定存储器是未被指定为第二存储器组420B中的第二高速缓存区域的正常PCRAM的情况,以描述本公开的实施例。由热限流代理650执行的、用于控制使用高速缓存区域的操作的具体示例,与上面参考图14A至图14E描述的操作相似。
在功率被确定为等于或高于第一阈值THRESHOLD1的特定存储器是被指定为第一存储器组420A中的第一高速缓存区域的高速缓存DRAM的情况下(图18中的步骤1840的情况(1)),功率限流代理660可以通过与高速缓存代理620互锁来冲刷储存在高速缓存DRAM中的数据,并且禁止使用高速缓存DRAM(图18中的步骤1850情况(1))作为第一高速缓存区域。在本公开的各种实施例中,储存在高速缓存DRAM中的数据可以被冲刷到第二存储器组420B中的高速缓存区域、例如图7B的750或图7C的755中。
在特定存储器是第一存储器组420A中的正常DRAM的情况下(图18中的步骤1840的情况(2)),功率限流代理660可以通过与高速缓存代理620互锁来使用高速缓存DRAM作为用于正常DRAM的数据缓冲器(图18中的步骤1850的情况(2))。
在特定存储器是第二存储器组420B中的正常PCRAM的情况下,功率限流代理660可以在步骤1860中通过与高速缓存代理620互锁来使用高速缓存DRAM作为用于正常PCRAM的写入缓冲器。
随后,功率限流代理660可以在步骤1870中确定高速缓存使用已被控制的特定存储器的功率是否等于或高于第二阈值THRESHOLD2。当所述特定存储器的功率等于或高于第二阈值THRESHOLD2时,功率限流代理660可以在步骤1880中执行控制用于所述特定存储器的数据事务的操作。例如,功率限流代理660可以能够控制输入/输出接口530,以减小特定存储器的数据吞吐量、传输速率或带宽。
在本公开的各种实施例中,功率限流代理660可以设置参考值,使得第一阈值THRESHOLD1小于第二阈值THRESHOLD2。该关系的设置是考虑到即使功率限流代理660控制高速缓存区域的使用,功率限流操作也失败的情况。例如,即使当图7C中所示的用于PCRAM的高速缓存区域745在控制使用高速缓存区域的操作中被禁用时,主存储器710中的DRAM的功率也可能随着对DRAM的访问的增加而增大。在这种情况下,功率限流代理660可以在步骤1880中通过控制用于主存储器710中的DRAM的数据事务来执行功率限流操作。
同时,上述本公开的实施例可以被修改并不同地使用。例如,上述本公开的实施例示出了它们可以应用于融合式存储器件的情况,所述融合式存储器件包括具有第一特性的第一存储器组、具有与第一特性不同的第二特性的第二存储器组、以及具有与第一特性和第二特性不同的第三特性的第三存储器组。
本公开的修改实施例可以应用于如图19A至图19F中所示的融合式存储器件。参考图19A,融合式存储器件400-1可以包括控制器410-1和存储器420-1。存储器420-1可以包括具有第一特性的第一存储器组420A以及具有与第一特性不同的第二特性的第二存储器组420B。控制器410-1可以包括用于第一存储器组420A的存储器控制器520A和用于第二存储器组420B的存储器控制器520B。
参考图19B,融合式存储器件400-1A可以包括控制器410-1A和存储器420-1A。存储器420-1A可以包括具有第一特性的第一存储器组420A以及具有与第一特性不同的第二特性的第二存储器组420B。第一存储器组420A可以包括DRAM,第二存储器组420B可以包括PCRAM。
参考图19C,融合式存储器件400-1B可以包括控制器410-1B和存储器420-1B。存储器420-1B可以包括具有第一特性的第一存储器组420A以及具有与第一特性不同的第二特性的第二存储器组420C。控制器410-1B可以包括用于第一存储器组420A的存储器控制器520A和用于第二存储器组420C的存储器控制器520C。第一存储器组420A可以包括DRAM,第二存储器组420C可以包括快闪存储器。
参考图19D,融合式存储器件400-1C可以包括控制器410-1C和存储器420-1C。存储器420-1C可以包括具有第一特性的第一存储器组420B以及具有与第一特性不同的第二特性的第二存储器组420C。控制器410-1C可以包括用于第一存储器组420B的存储器控制器520B和用于第二存储器组420C的存储器控制器520C。第一存储器组420B可以包括PCRAM,第二存储器组420C可以包括快闪存储器。
参考图19E,融合式存储器件400-1D可以包括控制器410-1D和存储器420-1D。存储器420-1D可以包括具有第一特性的第一存储器组420D以及具有与第一特性不同的第二特性的第二存储器组420B。控制器410-1D可以包括用于第一存储器组420D的存储器控制器520D和用于第二存储器组420B的存储器控制器520B。第一存储器组420D可以包括SRAM,第二存储器组420B可以包括PCRAM。
参考图19F,融合式存储器件400-1E可以包括控制器410-1E和存储器420-1E。存储器420-1E可以包括具有第一特性的第一存储器组420D以及具有与第一特性不同的第二特性的第二存储器组420C。控制器410-1E可以包括用于第一存储器组420D的存储器控制器520D和用于第二存储器组420C的存储器控制器520C。第一存储器组420D可以包括SRAM,第二存储器组420C可以包括快闪存储器。
根据本公开的改进实施例,控制器可以将用于第二存储器组的预定数据、例如热数据储存在第一存储器组中的预定高速缓存区域中,以及当要对第二存储器组中的特定存储器执行能量限流操作时,控制器可以使用第一存储器组中的高速缓存区域作为缓冲器并将用于特定存储器的数据储存在高速缓存区域中。
根据本公开的改进实施例,能量限流操作可以包括对温度和功率中的至少一者进行限流的操作。
根据本公开的改进实施例,控制器可以利用第一存储器组和第二存储器组中的每一个所包括的热传感器来监控第一存储器组和第二存储器组中包括的每个存储器的温度,并且基于温度监控结果来执行能量限流操作。
根据本公开的改进实施例,当温度监控结果显示第一存储器组中的高速缓存区域的温度等于或高于阈值时,控制器可以禁止高速缓存区域的使用。
根据本公开的改进实施例,当温度监控结果显示第一存储器组中的正常存储器的温度等于或高于阈值时,控制器可以使用第一存储器组中的高速缓存区域作为用于正常存储器的数据缓冲器,并且将储存在正常存储器中的数据储存在高速缓存区域中。
根据本公开的改进实施例,当温度监控结果显示第二存储器组中的特定存储器的温度等于或高于阈值时,控制器可以将用于第二存储器组中的特定存储器的写入数据储存在第一存储器组中的高速缓存区域中。
根据本公开的改进实施例,控制器可以监控第一存储器组和第二存储器组中包括的每个存储器的功率,并且基于功率监控结果来执行能量限流操作。
根据本公开的改进实施例,控制器可以通过监控第一存储器组和第二存储器组中包括的每个存储器的数据事务和峰值电流中的至少一者来监控第一存储器组和第二存储器组中包括的每个存储器的功率。
根据本公开的改进实施例,当功率监控结果显示第一存储器组中的高速缓存区域的功率等于或高于阈值时,控制器可以禁止高速缓存区域的使用。
根据本公开的改进实施例,当功率监控结果显示第一存储器组中的正常存储器的功率等于或高于阈值时,控制器可以使用第一存储器组中的高速缓存区域作为用于正常存储器的数据缓冲器,并且将储存在正常存储器中的数据储存在高速缓存区域中。
根据本公开的改进实施例,当功率监控结果显示第二存储器组中的特定存储器的功率等于或高于阈值时,控制器可以将用于特定存储器的写入数据储存在第一存储器组的高速缓存区域中。
根据本公开的改进实施例,高速缓存区域可以包括选自第一存储器组中的存储器之中的一个物理存储器。
根据本公开的改进实施例,高速缓存区域可以包括由第一存储器组中的存储器的特定对应区域形成的逻辑存储器。
根据本公开的改进实施例,存储器的第一特性和第二特性可以包括储存容量和潜伏时间中的至少一者。
根据本公开的改进实施例,第一存储器组和第二存储器组可以分别包括DRAM和PCRAM。
根据本公开的改进实施例,第一存储器组和第二存储器组可以分别包括PCRAM和快闪存储器。
根据本公开的改进实施例,当一个存储器需要能量限流操作时,控制器还可以执行控制该存储器中的数据事务的操作。
根据本公开的实施例,数据中心或数据处理系统的存储器叶片中包括的多个存储器之中的、需要或消耗相对高能量的存储器的耐久性和性能可以通过减少需要或消耗相对高能量的存储器被使用或操作的次数来改善。为此,根据本公开的实施例,除了需要或消耗相对高能量的存储器之外的存储器中的一些存储器或一些对应区域可以用作用于存储器的高速缓存区域。此外,数据迁移的开销可以通过将用于存储器的预定数据(例如,热页)储存在高速缓存区域中来最小化。此外,根据本公开的实施例,可以监控存储器叶片中的每个存储器的能量消耗,如果需要,可以对每个存储器执行能量限流操作。例如,根据本公开的实施例,可以监控每个存储器的温度和/或功率,并且可以执行用于对每个存储器的温度和/或功率进行限流的限流操作。根据本公开的实施例,可以通过在限流操作期间可变地使用存储器中的被指定为高速缓存区域的一些存储器或一些对应区域作为写入缓冲器或临时数据缓冲器,来改善温度和功率方面的弱点。
虽然已经关于特定实施例描述了本发明,但是对于本领域技术人员来说明显的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (65)
1.一种融合式存储器件,包括:
第一存储器组,其具有第一特性;
第二存储器组,其具有与所述第一特性不同的第二特性;以及
控制器,其包括用于与第一存储器组相连接的第一接口、用于与第二存储器组相连接的第二接口,
其中,所述控制器将所述第二存储器组的预定数据迁移到所述第一存储器组中的高速缓存区域中,以及监控所述第一存储器组和所述第二存储器组中的每一个的功率,以及
其中,当功率监控结果显示与所述第一存储器组物理上分离的所述第二存储器组中的第二存储器的功率等于或高于第一阈值且对所述第二存储器执行能量限流操作时,所述控制器通过使用所述高速缓存区域作为缓冲器经由所述第二接口以及所述第一接口来将所述第二存储器组的数据迁移到所述高速缓存区域中。
2.根据权利要求1所述的融合式存储器件,还包括:
热传感器,其被包括在所述第一存储器组和所述第二存储器组中的每一个中,
其中,所述控制器还包括数据控制器、第一存储器控制器和第二存储器控制器,以及
其中,所述第一接口被包括在所述第一存储器控制器中,用于控制一个或多个易失性存储器,所述第二接口被包括在所述第二存储器控制器中,用于控制一个或多个非易失性存储器,以及
其中,所述数据控制器通过利用所述热传感器监控所述第一存储器组和所述第二存储器组中的每一个的温度来产生温度监控结果,并且基于所述温度监控结果来执行能量限流操作。
3.根据权利要求2所述的融合式存储器件,其中,当所述温度监控结果显示所述第一存储器组中的所述高速缓存区域的温度等于或高于第二阈值时,所述数据控制器禁止所述高速缓存区域的使用。
4.根据权利要求2所述的融合式存储器件,其中,当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于第二阈值时,所述数据控制器使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
5.根据权利要求2所述的融合式存储器件,其中,当所述温度监控结果显示所述第二存储器组中的所述第二存储器的温度等于或高于第二阈值时,所述数据控制器将所述第二存储器的写入数据储存在所述高速缓存区域中。
6.根据权利要求1所述的融合式存储器件,其中,所述控制器通过收集数据事务信息或监控峰值电流来监控所述第一存储器组和所述第二存储器组中的每一个的功率。
7.根据权利要求6所述的融合式存储器件,其中,所述控制器通过监控所述第一存储器组和所述第二存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组和所述第二存储器中的每一个的功率。
8.根据权利要求6所述的融合式存储器件,其中,当所述功率监控结果显示所述第一存储器组中的所述高速缓存区域的功率等于或高于第一阈值时,所述控制器禁止所述高速缓存区域的使用。
9.根据权利要求7所述的融合式存储器件,其中,当所述功率监控结果显示所述第一存储器组中的第一存储器的功率等于或高于所述第一阈值时,所述控制器使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
10.根据权利要求1所述的融合式存储器件,其中,所述高速缓存区域包括选自所述第一存储器组中的存储器之中的一个物理存储器。
11.根据权利要求1所述的融合式存储器件,其中,所述高速缓存区域包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器。
12.根据权利要求1所述的融合式存储器件,其中,所述第一特性和所述第二特性中的每一个包括储存容量和潜伏时间中的一者或两者。
13.根据权利要求12所述的融合式存储器件,其中,所述第一存储器组和所述第二存储器组分别包括动态随机存取存储器DRAM和相变随机存取存储器PCRAM。
14.根据权利要求12所述的融合式存储器件,其中,所述第一存储器组和所述第二存储器组分别包括相变随机存取存储器PCRAM和快闪存储器。
15.根据权利要求1所述的融合式存储器件,其中,当对所述第二存储器组中的所述第二存储器执行所述能量限流操作时,所述控制器还执行控制对所述第二存储器的数据事务的操作。
16.根据权利要求1所述的融合式存储器件,其中,所述预定数据包括热数据。
17.一种融合式存储器件,包括:
第一存储器组,其具有第一特性;
第二存储器组,其具有与所述第一特性不同的第二特性;
第三存储器组,其具有与所述第一特性和所述第二特性不同的第三特性;以及
控制器,其包括用于与第一存储器组相连接的第一接口、用于与第二存储器组相连接的第二接口、和用于与第三存储器组相连接的第三接口,
其中,所述控制器被配置为:将所述第二存储器组的第一预定数据迁移到所述第一存储器组中的第一高速缓存区域中,以及将所述第三存储器组的第二预定数据迁移到所述第二存储器组中的第二高速缓存区域中,以及监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率,
其中,当功率监控结果显示与所述第一存储器组物理上分离的所述第二存储器组中的第二存储器的功率等于或高于阈值且对所述第二存储器组执行能量限流操作时,所述控制器通过使用所述第一高速缓存区域作为缓冲器经由所述第二接口以及所述第一接口来将所述第二存储器组的第一数据迁移到所述第一高速缓存区域中,以及
当功率监控结果显示与所述第二存储器组物理上分离的所述第三存储器组中的第三存储器的功率等于或高于阈值且对所述第三存储器组执行所述能量限流操作时,所述控制器通过使用所述第二高速缓存区域作为缓冲器经由所述第三接口以及所述第二接口来将所述第三存储器组的第二数据迁移到所述第二高速缓存区域中。
18.根据权利要求17所述的融合式存储器件,还包括:
热传感器,其被包括在所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个中,
其中,所述控制器通过利用所述热传感器监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的温度来产生温度监控结果,并且基于所述温度监控结果来执行所述能量限流操作。
19.根据权利要求18所述的融合式存储器件,其中,当所述温度监控结果显示所述第一存储器组中的所述第一高速缓存区域的温度等于或高于阈值时,所述控制器将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
20.根据权利要求18所述的融合式存储器件,其中,当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于阈值时,所述控制器使用所述第一高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述第一高速缓存区域中。
21.根据权利要求18所述的融合式存储器件,其中,当所述温度监控结果显示所述第二存储器组中的所述第二高速缓存区域的温度等于或高于阈值时,所述控制器禁止所述第二高速缓存区域的使用。
22.根据权利要求18所述的融合式存储器件,其中,当所述温度监控结果显示所述第二存储器组中的第二存储器的温度等于或高于阈值时,所述控制器将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
23.根据权利要求18所述的融合式存储器件,其中,当所述温度监控结果显示所述第三存储器组中的第三存储器的温度等于或高于阈值时,所述控制器将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
24.根据权利要求17所述的融合式存储器件,其中,所述控制器通过监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率。
25.根据权利要求17所述的融合式存储器件,其中,当所述功率监控结果显示所述第一存储器组中的所述第一高速缓存区域的功率等于或高于阈值时,所述控制器将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
26.根据权利要求17所述的融合式存储器件,其中,当所述功率监控结果显示所述第二存储器组中的第二存储器的功率等于或高于阈值时,所述控制器将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
27. 根据权利要求17所述的融合式存储器件,其中,当所述功率监控结果显示所述第三存储器组中的第三存储器的功率等于或高于阈值时,所述控制器将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
28.根据权利要求17所述的融合式存储器件,其中,所述第一高速缓存区域包括选自所述第一存储器组中的存储器之中的一个物理存储器,以及
所述第二高速缓存区域包括选自所述第二存储器组中的存储器之中的一个物理存储器。
29.根据权利要求17所述的融合式存储器件,其中,所述第一高速缓存区域包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器,以及
所述第二高速缓存区域包括由所述第二存储器组中的存储器的特定对应区域形成的逻辑存储器。
30. 根据权利要求17所述的融合式存储器件,其中,所述第一特性至所述第三特性中的每一个包括储存容量和潜伏时间中的至少一者。
31. 根据权利要求30所述的融合式存储器件,其中,所述第一存储器组包括动态随机存取存储器DRAM,以及
所述第二存储器组包括相变随机存取存储器PCRAM,以及
所述第三存储器组包括快闪存储器。
32.根据权利要求17所述的融合式存储器件,其中,当对所述第二存储器组中的存储器或所述第三存储器组中的存储器执行所述能量限流操作时,所述控制器还执行控制所述能量限流操作被执行的存储器中的数据事务的操作。
33.根据权利要求17所述的融合式存储器件,其中,所述第一预定数据和所述第二预定数据中的每一个包括热数据。
34.一种用于操作融合式存储系统的方法,所述融合式存储系统包括具有第一特性的第一存储器组和具有与所述第一特性不同的第二特性的第二存储器组、以及包括具有用于与第一存储器组相连接的第一接口和用于与第二存储器组相连接的第二接口的控制器,所述方法包括:
将所述第二存储器组的预定数据迁移到所述第一存储器组中的高速缓存区域中;
监控所述第一存储器组和所述第二存储器组中的每一个的功率;以及
当功率监控结果显示与所述第一存储器组物理上分离的所述第二存储器组中的第二存储器的功率等于或高于第一阈值且对所述第二存储器执行能量限流操作时,经由所述第二接口以及所述第一接口将所述第二存储器组中的所述第二存储器的数据迁移到所述高速缓存区域中。
35. 根据权利要求34所述的方法,其中,所述控制器还包括数据控制器、第一存储器控制器和第二存储器控制器,以及
其中,所述第一接口被包括在所述第一存储器控制器中,用于控制一个或多个易失性存储器,所述第二接口被包括在所述第二存储器控制器中,用于控制一个或多个非易失性存储器,以及
其中,该方法还包括:
通过使用被包括在所述第一存储器组和所述第二存储器组中的每一个中的热传感器监控所述第一存储器组和所述第二存储器组中的每一个的温度来产生温度监控结果,以及
基于所述温度监控结果来对所述第一存储器组和所述第二存储器组中的每一个的温度进行限流。
36.根据权利要求35所述的方法,其中,还包括:
当所述温度监控结果显示所述第一存储器组中的所述高速缓存区域的温度等于或高于第二阈值时,禁止所述高速缓存区域的使用。
37.根据权利要求35所述的方法,还包括:
当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于第二阈值时,使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
38.根据权利要求35所述的方法,还包括:
当所述温度监控结果显示所述第二存储器组中的所述第二存储器的温度等于或高于第二阈值时,将所述第二存储器的写入数据储存在所述高速缓存区域中。
39.根据权利要求34所述的方法,还包括:
通过收集数据事务信息或监控峰值电流来监控所述第一存储器组和所述第二存储器组中的每一个的功率。
40.根据权利要求39所述的方法,其中,对所述第一存储器组和所述第二存储器组中的每一个的功率进行监控包括:
通过监控所述第一存储器组和所述第二存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组和所述第二存储器组中的每一个的功率。
41.根据权利要求39所述的方法,还包括:
当所述功率监控结果显示所述第一存储器组中的所述高速缓存区域的功率等于或高于第一阈值时,禁止所述高速缓存区域的使用。
42.根据权利要求39所述的方法,还包括:
当所述功率监控结果显示所述第一存储器组中的第一存储器的功率等于或高于第一阈值时,使用所述高速缓存区域作为所述第一存储器的数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述高速缓存区域中。
43.根据权利要求34所述的方法,其中,所述高速缓存区域包括选自所述第一存储器组中的存储器之中的一个物理存储器。
44.根据权利要求34所述的方法,其中,所述高速缓存区域包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器。
45.根据权利要求34所述的方法,其中,所述第一特性和所述第二特性中的每一个包括储存容量和潜伏时间中的至少一者。
46.根据权利要求45所述的方法,其中,所述第一存储器组和所述第二存储器组分别包括动态随机存取存储器DRAM和相变随机存取存储器PCRAM。
47.根据权利要求45所述的方法,其中,所述第一存储器组和所述第二存储器组分别包括相变随机存取存储器PCRAM和快闪存储器。
48.根据权利要求34所述的方法,还包括:
当对所述第二存储器组中的所述第二存储器执行所述能量限流操作时,执行控制对所述第二存储器的数据事务的操作。
49.根据权利要求34所述的方法,其中,所述预定数据包括热数据。
50.一种用于操作融合式存储系统的方法,所述融合式存储系统包括具有第一特性的第一存储器组、具有与所述第一特性不同的第二特性的第二存储器组、具有与所述第一特性和所述第二特性不同的第三特性的第三存储器组、以及包括具有用于与第一存储器组相连接的第一接口、用于与第二存储器组相连接的第二接口、和用于与第三存储器组相连接的第三接口的控制器,所述方法包括:
将所述第二存储器组的第一预定数据迁移到所述第一存储器组中的第一高速缓存区域中;
将所述第三存储器组的第二预定数据迁移到所述第二存储器组中的第二高速缓存区域中;
监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率;
当功率监控结果显示与所述第一存储器组物理上分离的所述第二存储器组中的第二存储器的功率等于或高于阈值且对所述第二存储器执行能量限流操作时,通过使用所述第一高速缓存区域作为缓冲器经由所述第二接口以及所述第一接口来将所述第二存储器的数据迁移到所述第一高速缓存区域中,以及
当功率监控结果显示与所述第二存储器组物理上分离的所述第三存储器组中的第三存储器的功率等于或高于阈值且对所述第三存储器执行所述能量限流操作时,通过使用所述第二高速缓存区域作为缓冲器经由所述第三接口以及所述第二接口来将所述第三存储器组的数据迁移到所述第二高速缓存区域中。
51. 根据权利要求50所述的方法,还包括:
通过使用被包括在所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个中的热传感器监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的温度来产生温度监控结果,以及
基于所述温度监控结果来对所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的能量进行限流。
52.根据权利要求51所述的方法,还包括:
当所述温度监控结果显示所述第一存储器组中的所述第一高速缓存区域的温度等于或高于阈值时,将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
53.根据权利要求51所述的方法,还包括:
当所述温度监控结果显示所述第一存储器组中的第一存储器的温度等于或高于阈值时,使用所述第一高速缓存区域作为数据缓冲器,并且将储存在所述第一存储器中的数据储存在所述第一高速缓存区域中。
54.根据权利要求51所述的方法,还包括:
当所述温度监控结果显示所述第二高速缓存区域的温度等于或高于阈值时,禁止所述第二高速缓存区域的使用。
55.根据权利要求51所述的方法,其中,所述方法包括:
当所述温度监控结果显示所述第二存储器的温度等于或高于阈值时,将所述第二存储器的写入数据储存在所述第一高速缓存区域中。
56.根据权利要求51所述的方法,其中,所述方法包括:
当所述温度监控结果显示所述第三存储器的温度等于或高于阈值时,将所述第三存储器的写入数据储存在所述第二高速缓存区域中。
57.根据权利要求50所述的方法,其中,对所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率进行监控包括:
监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率,并且基于功率监控结果来对所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的能量进行限流。
58.根据权利要求57所述的方法,其中,对所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率进行监控包括:
通过监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的数据事务和峰值电流中的至少一者来监控所述第一存储器组、所述第二存储器组和所述第三存储器组中的每一个的功率。
59.根据权利要求50所述的方法,其中,所述方法包括:
当所述功率监控结果显示所述第一存储器组中的所述第一高速缓存区域的功率等于或高于阈值时,将储存在所述第一高速缓存区域中的数据冲刷到所述第二高速缓存区域中,并且禁止所述第一高速缓存区域的使用。
60.根据权利要求50所述的方法,其中,所述第一高速缓存区域包括选自所述第一存储器组中的存储器之中的一个物理存储器,以及
所述第二高速缓存区域包括选自所述第二存储器组中的存储器之中的一个物理存储器。
61.根据权利要求50所述的方法,其中,所述第一高速缓存区域包括由所述第一存储器组中的存储器的特定对应区域形成的逻辑存储器,以及
所述第二高速缓存区域包括由所述第二存储器组中的存储器的特定对应区域形成的逻辑存储器。
62. 根据权利要求50所述的方法,其中,所述第一特性至所述第三特性中的每一个包括储存容量和潜伏时间中的一者或两者。
63. 根据权利要求62所述的方法,其中,所述第一存储器组包括动态随机存取存储器DRAM,以及
所述第二存储器组包括相变随机存取存储器PCRAM,以及
所述第三存储器组包括快闪存储器。
64.根据权利要求50所述的方法,还包括:
当对所述第二存储器或所述第三存储器执行所述能量限流操作时,执行对所述能量限流操作被执行的存储器的数据事务特性进行限流的操作。
65.根据权利要求50所述的方法,其中,所述第一预定数据和所述第二预定数据中的每一个包括热数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170142584A KR102414047B1 (ko) | 2017-10-30 | 2017-10-30 | 통합 메모리 디바이스 및 그의 동작 방법 |
KR10-2017-0142584 | 2017-10-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008149A CN110008149A (zh) | 2019-07-12 |
CN110008149B true CN110008149B (zh) | 2023-06-06 |
Family
ID=66243016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811275551.3A Active CN110008149B (zh) | 2017-10-30 | 2018-10-30 | 融合式存储器件及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11016887B2 (zh) |
KR (1) | KR102414047B1 (zh) |
CN (1) | CN110008149B (zh) |
TW (1) | TW201931142A (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
CN109298833B (zh) * | 2017-07-24 | 2021-05-04 | 三星电子株式会社 | 存储设备及对包括其的电子设备的温度控制 |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration in multi-tier memory systems |
US11416395B2 (en) | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
US10880401B2 (en) * | 2018-02-12 | 2020-12-29 | Micron Technology, Inc. | Optimization of data access and communication in memory systems |
US10877892B2 (en) | 2018-07-11 | 2020-12-29 | Micron Technology, Inc. | Predictive paging to accelerate memory access |
DE112020001258T5 (de) | 2019-03-15 | 2021-12-23 | Intel Corporation | Grafikprozessoren und Grafikverarbeitungseinheiten mit Skalarproduktakkumulationsanweisungen für ein Hybrid-Gleitkommaformat |
US11934342B2 (en) | 2019-03-15 | 2024-03-19 | Intel Corporation | Assistance for hardware prefetch in cache access |
CN112905240A (zh) | 2019-03-15 | 2021-06-04 | 英特尔公司 | 用于脉动阵列上的块稀疏操作的架构 |
US20220114108A1 (en) * | 2019-03-15 | 2022-04-14 | Intel Corporation | Systems and methods for cache optimization |
US10852949B2 (en) | 2019-04-15 | 2020-12-01 | Micron Technology, Inc. | Predictive data pre-fetching in a data storage device |
US11861761B2 (en) | 2019-11-15 | 2024-01-02 | Intel Corporation | Graphics processing unit processing and caching improvements |
TWI739227B (zh) * | 2019-12-03 | 2021-09-11 | 智成電子股份有限公司 | 避免多餘記憶體存取的系統單晶片模組 |
US11977772B2 (en) | 2020-09-28 | 2024-05-07 | Micron Technology, Inc. | Temperature monitoring for memory devices |
KR20220072153A (ko) | 2020-11-25 | 2022-06-02 | 에스케이하이닉스 주식회사 | 저장 시스템 및 저장 시스템의 동작 방법 |
JP2023000031A (ja) * | 2021-06-17 | 2023-01-04 | 富士通株式会社 | データ配置プログラム、プロセッサ、及びデータ配置方法 |
US12055988B1 (en) | 2022-06-06 | 2024-08-06 | Apple Inc. | Memory thermal protection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689145A (zh) * | 2007-03-30 | 2010-03-31 | 拉姆伯斯公司 | 包括具有不同类型集成电路存储器设备的分层存储器模块的系统 |
JP2013050818A (ja) * | 2011-08-30 | 2013-03-14 | Toshiba Corp | メモリシステム |
CN105122226A (zh) * | 2013-03-15 | 2015-12-02 | 美光科技公司 | 基于存储器系统的热信息的存储器系统管理的系统及方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI530791B (zh) | 2007-01-10 | 2016-04-21 | 木比爾半導體股份有限公司 | 用於改善外部計算裝置效能的調適性記憶體系統 |
WO2009011052A1 (ja) | 2007-07-18 | 2009-01-22 | Fujitsu Limited | メモリリフレッシュ装置およびメモリリフレッシュ方法 |
US8688926B2 (en) | 2010-10-10 | 2014-04-01 | Liqid Inc. | Systems and methods for optimizing data storage among a plurality of solid state memory subsystems |
US8918576B2 (en) | 2012-04-24 | 2014-12-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Selectively placing data in thermally constrained memory systems to dynamically adapt to changing environmental conditions |
US9508607B2 (en) | 2012-07-20 | 2016-11-29 | Qualcomm Incorporated | Thermal management of tightly integrated semiconductor device, system and/or package |
US9032141B2 (en) | 2012-11-30 | 2015-05-12 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US9384821B2 (en) | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US9183917B1 (en) | 2012-12-21 | 2015-11-10 | Samsung Electronics Co., Ltd. | Memory device, operating method thereof, and system having the memory device |
US9286964B2 (en) | 2012-12-21 | 2016-03-15 | Intel Corporation | Method, apparatus and system for responding to a row hammer event |
US9524771B2 (en) | 2013-07-12 | 2016-12-20 | Qualcomm Incorporated | DRAM sub-array level autonomic refresh memory controller optimization |
US9851923B2 (en) | 2013-12-30 | 2017-12-26 | Teradata Us, Inc. | Management of data in multi-storage systems that can include non-volatile and volatile storages |
CN103870400B (zh) | 2014-03-06 | 2018-11-30 | 华为技术有限公司 | 一种超级电容的电压调节方法、装置及系统 |
US9760136B2 (en) | 2014-08-15 | 2017-09-12 | Intel Corporation | Controlling temperature of a system memory |
US9489146B2 (en) | 2014-12-09 | 2016-11-08 | Sandisk Technologies Llc | Memory system and method for selecting memory dies to perform memory access operations in based on memory die temperatures |
KR20170057704A (ko) | 2015-11-17 | 2017-05-25 | 삼성전자주식회사 | 액세스 동작과 리프레쉬 동작의 충돌을 제어하는 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR20170059658A (ko) * | 2015-11-23 | 2017-05-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
JP6517684B2 (ja) | 2015-12-22 | 2019-05-22 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
KR20180075761A (ko) | 2016-12-26 | 2018-07-05 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템, 및, 그의 리프레시 동작방법 |
-
2017
- 2017-10-30 KR KR1020170142584A patent/KR102414047B1/ko active IP Right Grant
-
2018
- 2018-10-08 TW TW107135376A patent/TW201931142A/zh unknown
- 2018-10-18 US US16/164,411 patent/US11016887B2/en active Active
- 2018-10-30 CN CN201811275551.3A patent/CN110008149B/zh active Active
-
2020
- 2020-09-15 US US17/021,718 patent/US11487661B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689145A (zh) * | 2007-03-30 | 2010-03-31 | 拉姆伯斯公司 | 包括具有不同类型集成电路存储器设备的分层存储器模块的系统 |
JP2013050818A (ja) * | 2011-08-30 | 2013-03-14 | Toshiba Corp | メモリシステム |
CN105122226A (zh) * | 2013-03-15 | 2015-12-02 | 美光科技公司 | 基于存储器系统的热信息的存储器系统管理的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102414047B1 (ko) | 2022-06-29 |
KR20190048078A (ko) | 2019-05-09 |
US20190129847A1 (en) | 2019-05-02 |
US20200409842A1 (en) | 2020-12-31 |
CN110008149A (zh) | 2019-07-12 |
US11016887B2 (en) | 2021-05-25 |
TW201931142A (zh) | 2019-08-01 |
US11487661B2 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008149B (zh) | 融合式存储器件及其操作方法 | |
KR20190099591A (ko) | 통합 메모리 디바이스 및 그의 동작 방법 | |
US10735500B2 (en) | Application server to NVRAM path | |
CN111352857B (zh) | 存储器系统及其操作方法 | |
US9747040B1 (en) | Method and system for machine learning for write command selection based on technology feedback | |
US20200348871A1 (en) | Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices | |
CN110308865B (zh) | 存储器系统、计算系统及其操作方法 | |
CN112214161B (zh) | 存储器系统及其操作方法 | |
US20230094144A1 (en) | Memory system | |
US10936534B2 (en) | Converged memory device and method thereof | |
KR102692942B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US11221931B2 (en) | Memory system and data processing system | |
US10691625B2 (en) | Converged memory device and operation method thereof | |
US11016666B2 (en) | Memory system and operating method thereof | |
KR20200059493A (ko) | 데이터 처리 시스템 | |
KR20190123038A (ko) | 메모리 시스템 및 그것의 동작방법 | |
EP4283457A2 (en) | Computing system for managing distributed storage devices, and method of operating the same | |
US20230376238A1 (en) | Computing system for managing distributed storage devices, and method of operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |