CN106782642A - Dram控制器及其控制方法和计算机程序产品 - Google Patents
Dram控制器及其控制方法和计算机程序产品 Download PDFInfo
- Publication number
- CN106782642A CN106782642A CN201710018716.8A CN201710018716A CN106782642A CN 106782642 A CN106782642 A CN 106782642A CN 201710018716 A CN201710018716 A CN 201710018716A CN 106782642 A CN106782642 A CN 106782642A
- Authority
- CN
- China
- Prior art keywords
- dram
- write
- block
- described piece
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- 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/14—Protection against unauthorised use of memory or access to 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/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- 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/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- 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/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Dram (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及DRAM控制器及其控制方法和计算机程序产品。一种用于控制包括多个块的动态随机存取存储器即DRAM的控制器。块是DRAM中的一个或多个存储单元,针对该一个或多个存储单元,DRAM控制器可以选择性地启用或禁用刷新。DRAM控制器包括多个标志,该多个标志各自用于与DRAM的多个块中的块相关联。净化控制器确定要净化块,并且作为响应,设置与该块相关联的标志,并且针对该块禁用刷新。响应于后续接收到从该块中的位置读取数据的请求,在清除了该标志的情况下,DRAM控制器读取该位置并返回从该位置读取到的数据;以及在设置了该标志的情况下,DRAM控制器抑制读取DRAM并且返回零值。
Description
相关申请的交叉引用
本申请要求2016年4月15日提交的标题为“SANITIZE-AWARE DRAM CONTROLLER”的第62/323,177号美国临时申请的优先权,其全部内容通过引用包含于此。
背景技术
动态随机存取存储器(DRAM)在现代计算机系统中无处不在。DRAM由于其相对较低的成本、高容量/密度和高速度而无处不在。密度的益处很大程度上是由于用于存储数据位的各单元仅需要电容器和单个晶体管的事实而得到的。这与例如静态随机存取存储器(SRAM)的每单元所需要的硬件相比,明显是更少的硬件。然而,数据位在单元的电容器上的存储暗示了电力消耗成本。这是因为电容器电荷可能随时间经过而泄漏,从而使得单元失去其值。结果,电容器必须周期性地“刷新”以保持其值。这涉及从单元读取当前值并将该值写回至单元,从而“刷新”单元的值。刷新操作与不需要刷新的其它存储器技术相比消耗额外的电力。刷新根据系统对DRAM访问的需求可能带来DRAM的能量消耗中显著的百分比(例如,约20%),并且可能劣化系统性能(例如,约30%)。
本发明的共同发明人之一获得授权的第5,469,559号美国专利说明了用于抑制刷新不包含有效数据的DRAM的所选部分的存储器控制器和方法。这可以减少对于无效数据而言不必要的刷新所消耗的电量。
本发明的发明人提供了提供更多益处的DRAM控制器的实施例。额外的益处主要是通过发明人认识到如下事实而得到的:许多操作系统通过向解除分配的存储器写入零来“净化(sanitize)”该存储器,从而例如通过防止黑客和/或该存储器被分配至的下一用户看到第一个用户的数据来提高系统安全性。
发明内容
本发明提供一种用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述DRAM控制器包括:多个标志,其各自用于与所述DRAM的所述多个块中的块相关联;以及净化控制器,用于确定为要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;其中,响应于后续接收到要从所述块中的位置读取数据的请求:在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,所述DRAM控制器返回零值并且抑制读取所述DRAM。
本发明还提供一种用于控制动态随机存取存储器即DRAM的方法,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述方法包括以下步骤:确定为要净化所述多个块中的块,并且作为响应,设置与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;所述标志是各自用于与所述DRAM的所述多个块中的块相关联的多个标志中的标志;以及响应于后续接收到从所述块中的位置读取数据的请求:在清除了所述标志的情况下,读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,返回零值并且抑制读取所述DRAM。
本发明还提供一种计算机程序产品,其编码在与计算装置一起使用的至少一个非暂态计算机可用介质中,所述计算机程序产品包括:在所述介质中包括的计算机可用程序代码,用于指定用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述计算机可用程序代码包括:第一程序代码,用于指定多个标志,所述多个标志各自用于与所述DRAM的所述多个块中的块相关联;以及第二程序代码,用于指定净化控制器,所述净化控制器确定要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;其中,响应于后续接收到要从所述块中的位置读取数据的请求:在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,所述DRAM控制器抑制读取所述DRAM并且返回零值。
附图说明
图1是示出计算系统的框图。
图2是示出根据替代例的计算系统的框图。
图3~5是示出系统的操作的流程图。
图6是示出根据一个实施例的用以进行针对净化后的DRAM块的选择性刷新的系统的操作的流程图。
图7是示出净化检测硬件(SDH)实例的框图。
图8是示出通过采用图7的SDH实例检测为要对DRAM块进行净化的DRAM控制器的操作的流程图。
具体实施方式
术语表
DRAM的块是DRAM中的一个或多个存储单元,其中,针对该一个或多个存储单元,DRAM控制器可以选择性地启用或禁用刷新。例如,数据RAM的(通常被称为)“行”是可刷新的。对于一些DRAM,作为示例,行是512字节的存储。
净化DRAM的块是指将块中的所有位置清除为零值。
现在参考图1,示出用于例示计算系统100的框图。计算系统100包括处理器102、DRAM 104、将处理器102连接至DRAM 104的DRAM控制器103、以及经由DRAM控制器103访问DRAM 104的其它总线主装置(例如,总线主控I/O装置)。处理器102可以是多核处理器。处理器102执行包括系统软件(诸如操作系统和/或系统固件(诸如基本输入/输出系统(BIOS)或可扩展固件等)等)、实用工具和应用程序的程序。DRAM 104被配置为多个DRAM块142。除其它事项外,系统软件还对包括DRAM块142整体的DRAM 104的一部分进行净化。许多操作系统以根据处理器102支持的虚拟存储器系统确定大小的页为粒度来净化存储器。例如,常见页大小为4KB、64KB、1MB、16MB、256MB、1GB和2GB。
DRAM控制器103将DRAM 104中的一个或多个存储单元(例如DRAM 104的行)视为DRAM块142,其中,针对该一个或多个存储单元,DRAM控制器可以选择性地启用或禁用刷新。在一些实施例中,DRAM块142的大小与处理器102的虚拟存储器系统所支持的最小页的大小相对应。例如,如果DRAM控制器可以选择性地启用或禁用刷新所针对的存储单元是512字节的行,并且处理器102所支持的最小页的大小为4KB,则DRAM控制器103将DRAM 104的8个邻接行视为DRAM块142。
DRAM控制器103包括多个净化标志132(还被称为净化位132)以及净化控制器134。在一个实施例中,DRAM控制器103包括针对DRAM 104的各相应DRAM块142的净化位132。
在替代例(这里被称为净化范围实施例)中,各净化位132具有相应的范围寄存器,其中净化位132和范围寄存器一起构成净化对。范围寄存器保持用以指定邻接DRAM块142的范围的地址和计数。该地址指定该范围内的第一个或起始DRAM块142,并且该计数指定该范围内的邻接DRAM块142的数量。如以下更详细所述,如果设置了净化位132,则在相应的范围寄存器中所指定的DRAM块142的范围被视为经过净化。净化控制器134将多个净化对视为如下的池,其中,(例如在图3的块304中)净化控制器134针对邻接DRAM块142的范围可以从该池中进行分配,并且(例如,在图5的块508中)净化控制器134可以解除分配到该池中。如果设置了净化位132,则这表示该净化对已被分配,并且如果清除了净化位132,则这表示该净化对可以自由分配。
现在参考图2,示出用于例示根据替代例的计算系统100的框图。图2的计算系统100与图1的计算系统100类似,并且包括类似的要素。然而,在图2的计算系统100中,DRAM控制器103一体化到处理器102中。更具体地,处理器102包括环形总线226,其中DRAM控制器103连接至该环形总线226。处理器102还包括连接至环形总线226的多个处理器核222。处理器102还包括核222所共用的、连接至环形总线226的末级高速缓存(LLC)224。优选地,DRAM控制器103、LLC 224和各核222具有使它们连接至环形总线226的关联环站点。最后,处理器102包括将I/O装置106连接至环形总线226的I/O环站点228。
现在参考图3,示出用于例示系统100的操作的流程图。流程从块302开始。
在块302中,DRAM控制器103确定为要净化DRAM块142。在一个实施例中,例如,如以下参考图6所述,系统软件向DRAM控制器103告知要净化DRAM块142。在另一实施例中,例如,如以下参考图7和8所述,DRAM控制器103包括通过监视向DRAM块142的零值写入来进行确定的硬件。也考虑到用于确定要净化DRAM块142的其它实施例。流程进入块304。
在块304中,DRAM控制器103设置与块302中所确定的DRAM块142相关联的净化位132。另外,DRAM控制器103禁用DRAM块142的刷新。在净化范围实施例中,DRAM控制器103分配净化对、设置净化位132并且利用范围内的第一个DRAM块142的地址以及具有该范围内的DRAM块142的数量的计数来填充范围寄存器。另外,DRAM控制器103禁用该范围内的所有DRAM块142的刷新。流程在块304处结束。
现在参考图4,示出用于例示系统100的操作的流程图。流程从块402开始。
在块402中,DRAM控制器103接收要从DRAM 104的位置进行读取的请求。基于该位置的地址,该位置关联DRAM块142,即,处于DRAM块142内。流程进入决定块404。
在决定块404中,DRAM控制器103判断是否设置了与所关联的DRAM块142相对应的净化位132。如果是,则流程进入块408;否则,流程进入块406。在净化范围实施例中,净化控制器134判断为读取请求的地址落入设置了净化位132的净化对的范围寄存器中所指定的范围。
在块406中,DRAM控制器103从DRAM 104中读取所指定的位置并且返回所读取到的数据,即,根据DRAM控制器103的正常操作来进行工作。流程在块406处结束。
在块408中,DRAM控制器103不读取DRAM 104,而是针对读取请求返回零值。这是因为在决定块404中判断为要净化读取请求所关联的DRAM块142。流程在块408处结束。
(例如,在块408中)在块被净化的情况下不读取DRAM的优点是:(1)由于不需要为了维持零值而刷新DRAM块,因此可以消耗更少的电力;(2)即使软件请求读取数据,也由于没有为了读取数据而访问DRAM,因此可以消耗更少的电力;以及(3)由于不必为了读取所请求的数据而访问DRAM,因此性能因读取请求的延迟缩短而可以得到改善,由于已知数据的期望值为零,因此所有这些都是可能的。
现在参考图5,示出系统100的操作的流程图。流程从块502开始。
在块502中,DRAM控制器103接收要向DRAM 104的位置写入数据的请求。更具体地,DRAM控制器103判断为要写入的数据具有非零值。基于该位置的地址,该位置关联DRAM块142,即,处于DRAM块142内,或者在净化范围实施例中该位置关联DRAM块142的范围。在替代例中,DRAM控制器103不检查要写入的数据是否非零,而是与数据值无关地进行图5的操作。如果DRAM控制器103接收到将具有零值的数据写入DRAM 104的位置的请求,则在设置了净化位132的情况下,DRAM控制器103不进行向DRAM 104的写入,而在清除了净化位132的情况下,DRAM控制器103将零值写入DRAM 104的指定位置。流程进入决定块504。
在决定块504中,DRAM控制器103判断是否设置了与所关联的DRAM块142或者DRAM块142的范围相对应的净化位132。如果是,则流程进入块508;否则,流程进入块506。在净化范围实施例中,净化控制器134判断为写入请求的地址落入设置了净化位132的净化对的范围寄存器中所指定的范围。
在块506中,DRAM控制器103将所指定的数据写入DRAM 104中的指定位置,即,根据DRAM控制器103的正常操作来进行工作。流程在块506处结束。
在块508中,DRAM控制器103清除与所关联的DRAM块142相对应的净化位132。另外,DRAM控制器103针对所关联的DRAM块142或净化范围实施例中的范围寄存器所关联的DRAM块142的范围重新启用刷新。更进一步地,DRAM控制器103将所指定的数据写入DRAM 104的指定位置。最后,DRAM控制器103将零写入除写入请求所指定的位置以外的、DRAM块142的所有位置或所关联的DRAM块142的范围。流程在块508处结束。
在向净化后的块进行首次非零的写入之前等待向块的其它位置写入零值的优点是:(1)由于与(例如,如美国专利5,469,559中所述的)操作系统指示块已被分配之后立即开始刷新那样相比,针对附加的时间量(并且在一些情况下,在软件对块进行分配之后到对块进行写入之前可能是大量时间)没有对DRAM块进行刷新,因此可以消耗更少电力;(2)操作系统不必进行针对块的所有零的写入,其中为了将这些零写入块、涉及处理器102执行数量级可能为数十到数百的指令。后者的考虑具有如此得到的以下益处:(a)由于处理器102不必执行许多写入指令,因此可以消耗更少电力;(b)由于处理器102不必执行许多写入指令且因而有空执行其它指令,因此可以改善系统性能;以及(c)由于DRAM控制器103在没有额外延迟的情况下向块进行零的写入,因此可以改善系统性能,其中,在处理器102必须执行写入指令然后向DRAM控制器103进行写入请求的情况下将会涉及该额外延迟。应理解,第二个益处(2)可以不通过图7和8的净化检测硬件(SDH)实施例来实现。
现在参考图6,示出用于例示根据一个实施例的用以进行针对净化后的DRAM块142的选择性刷新的系统100的操作的流程图。流程从块602开始。
在块602中,系统软件(例如,操作系统或其它执行程序)决定对DRAM块142进行净化。例如,一些操作系统提供UNIX操作系统和诸如Mac OS X及较新版本的微软视窗(Microsoft Windows)等的相关操作系统中找到的诸如bzero()和memset()等的系统调用,其中,可以调用这些系统调用来净化存储器位置的序列,即,从指定存储器地址开始的指定数量的邻接存储器位置。传统上,实现这些系统调用的例程向指定序列中的所有存储器位置进行一系列的零值的写入。在一个实施例中,利用DRAM控制器103的能力来修改用于实现系统调用的例程。更具体地,该例程检查存储器位置的序列是否包括一个或多个整体DRAM块142。如果是,则代替传统地进行向所包括的块142的一系列零值写入,如参考块604所述,例程向DRAM控制器103进行写入以请求DRAM控制器103净化所包括的块142。流程进入块604。
在块604中,系统软件向DRAM控制器103写入要净化的块142的地址。优选地,DRAM控制器103包括接收地址的控制寄存器。也就是说,通过在包括DRAM 104和DRAM控制器103的系统100上(例如,处理器102上)运行系统软件,可以对控制寄存器进行写入。在净化范围实施例中,系统软件写入该范围的地址和该范围内的DRAM块142的计数两者。流程进入块606。
在块606中,DRAM控制器103针对指定的块142或块142的范围进行图3的操作,即,设置与块142或块142的范围相关联的净化位132并且针对块142或块142的范围禁用刷新。流程在块606处结束。
现在参考图7,示出用于例示净化检测硬件(SDH)实例700的框图。在一个实施例中,DRAM控制器103包括多个SDH实例700,其中,DRAM控制器103(例如,在图8的块806中)从该多个SDH实例700中进行分配,并且(例如,在图8的块818中)解除分配到该多个SDH实例700中。SDH实例700包括有效位702、位图704、地址寄存器708和控制逻辑706。有效位702在为真的情况下表示SDH实例700已被分配,并且在为假的情况下表示SDH实例700可自由分配。位图704包括针对地址保持在地址寄存器708中的DRAM块142的各个位置的位。在各种实施例中,DRAM块142中的位置与对齐字节、16位的半字、32位的字、64位的双字、128位的四倍长字或256位的八倍长字相对应。在一个实施例中,位置与对齐高速缓存线(例如,处理器102的末级高速缓存)相对应。控制逻辑706进行诸如以下参考图8所述的操作等的与读取并更新有效位702、位图704和地址寄存器708相关联的操作。
现在参考图8,示出用于例示通过采用图7的SDH实例700检测为要净化DRAM块142的DRAM控制器103的操作的流程图。流程从块802开始。
在块802中,DRAM控制器103接收向DRAM 104的位置写入数据的请求。基于该位置的地址,该位置关联DRAM块142,即该位置处于DRAM块142内,或者该位置关联净化范围实施例中的DRAM块142的范围。流程进入决定块804。
在决定块804中,DRAM控制器103判断是否已经针对写入请求所关联的DRAM块142或DRAM块142的范围分配了SDH实例700。更具体地,DRAM控制器103判断读取请求的地址的相关部分是否与有效702的SDH实例700的地址708匹配。如果是,则流程进入决定块808;否则,流程进入块806。
在块806中,净化控制器134分配自由的SDH实例700。优选地,分配SDH实例700包括找出自由的SDH实例700(即,有效位702为假的SDH实例700)、将有效位初始化为真、将位图704的所有位清除为零以及将写入请求地址的相关部分写入地址寄存器708。优选地,如果不存在可分配的自由SDH 700,则DRAM控制器103仅继续正常工作,即,不尝试进行对正在净化块142的检测。流程在块806处结束。
在决定块808中,净化控制器134判断要写入的值是否为零。如果是,则流程进入块814;否则,流程进入块812。
在块812中,净化控制器134对先前(在块806中)针对DRAM块142所分配的SDH实例700进行解除分配。优选地,对SDH实例700进行解除分配包括清除有效位702,这样释放了SDH实例700以供后续的分配。流程在块812处结束。
在块814中,净化控制器134设置与块802中通过所接收到的请求而写入的DRAM块142中的位置相关联的位图704的位。流程进入决定块816。
在决定块816中,净化控制器134判断位图704是否已满,即,是否设置了位图704的所有位。如果是,则流程进入块818;否则,流程结束。
在块818中,由于净化控制器134已判断为系统软件已净化了DRAM块142,因此净化控制器134对先前针对DRAM块142所分配的SDH实例700进行解除分配,并且开始如针对图3所述那样进行针对DRAM块142的操作。
已考虑到SDH实例的其它实施例。在一个实施例中,DRAM控制器103假定为了净化块142而进行的一系列零值写入是以固定大小的字来进行的并且从块142中的第一个位置开始。该实施例并不需要位图704,而是需要如下的寄存器,其中该寄存器用于保持在块142内的最近以零值写入的块142的字之后的固定大小的字的索引。在操作期间,DRAM控制器103检测向块142中的第一个位置的数据值的写入。如果针对块142尚未分配SDH实例并且写入的是固定大小的零值的字,则DRAM控制器103分配SDH实例。分配SDF实例包括将寄存器的值初始化为一。如果针对块142已经分配了SDH实例,则DRAM控制器103判断数据值是否为零以及寄存器的索引是否与当前为零值的写入的索引匹配。如果为否,则DRAM控制器103对SDH实例进行解除分配。否则,DRAM控制器103判断寄存器的索引是否是块142中的最高索引。如果是,则DRAM控制器103对SDH实例进行解除分配并且针对该块进行图3的操作;否则,DRAM控制器103使寄存器递增。
尽管这里已经说明了本发明的各种实施例,但应理解,这些实施例仅是以示例而非限制性的方式所呈现的。对于计算机相关领域的技术人员应显而易见,在没有背离本发明的范围的情况下,可以对本发明进行形式和细节方面的各种修改。例如,软件可以启用这里所述的设备和方法的例如功能、制造、建模、模拟、说明和/或测试。这可以经由一般编程语言(例如,C、C++)、包括Verilog HDL、VHDL等的硬件描述语言(HDL)或其它可用程序的使用来实现。这些软件可以放置在诸如磁带、半导体、磁盘或光盘(例如,CD-ROM、DVD-ROM等)等的任何已知的计算机可用介质、网络、配线或其它通信介质中。这里所述的设备和方法的实施例可以包括在诸如(例如,以HDL实现或指定的)处理器核等的半导体知识产权核中并且在生产集成电路时转换成硬件。此外,这里所述的设备和方法可以作为硬件和软件的组合来实现。因而,本发明不应局限于这里所述的任何典型实施例,而应仅根据所附权利要求书及其等同物来限定。具体地,本发明可以在通用计算机中能够使用的处理器装置中实现。最后,本领域技术人员应理解,在没有背离由所附权利要求书限定的本发明的范围的情况下,他们可以容易地使用所公开的概念和特定实施例作为用于设计或修改其它结构的基础,以实施本发明的相同的目的。
Claims (20)
1.一种用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述DRAM控制器包括:
多个标志,其各自用于与所述DRAM的所述多个块中的块相关联;以及
净化控制器,用于确定为要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;
其中,响应于后续接收到要从所述块中的位置读取数据的请求:
在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及
在设置了所述标志的情况下,所述DRAM控制器返回零值并且抑制读取所述DRAM。
2.根据权利要求1所述的DRAM控制器,其中,还包括:
响应于后续接收到要向所述块中的位置写入数据的请求:
(a)在清除了所述标志的情况下,所述DRAM控制器向所述位置写入所述数据;以及
(b)在设置了所述标志的情况下,所述DRAM控制器:
针对所述块启用刷新;以及
将所述数据写入所述位置。
3.根据权利要求2所述的DRAM控制器,其中,还包括:
响应于后续接收到要向所述块中的所述位置写入数据的请求:
(b)在设置了所述标志的情况下,所述DRAM控制器还:
清除所述标志;以及
向所述块中的所有其它位置写入零值。
4.根据权利要求2所述的DRAM控制器,其中,还包括:
响应于后续接收到要向所述块中的所述位置写入数据的请求:
在设置了所述标志的情况下,所述DRAM控制器仅在要写入的所述数据非零的情况下进行操作(a)和(b)。
5.根据权利要求1所述的DRAM,其中,还包括:
控制寄存器;以及
所述净化控制器通过利用包括所述DRAM和所述DRAM控制器的系统的系统软件来检测向所述控制寄存器的写入,确定为要净化所述块。
6.根据权利要求1所述的DRAM控制器,其中,还包括:
所述净化控制器包括以下硬件,所述硬件通过检测向所述块的所有位置的一系列零值写入,确定为要净化所述块,其中所述一系列零值写入不具有介于其中的向所述块的任何位置进行的非零值写入。
7.根据权利要求6所述的DRAM控制器,其中,所述硬件还包括:
多个净化检测硬件实例,其中所述净化控制器针对所述DRAM的所述多个块中的不同块能够单独分配所述多个净化检测硬件实例。
8.根据权利要求7所述的DRAM控制器,各净化检测硬件实例包括:
位图,所述DRAM控制器使用所述位图来记录所述块内的哪些位置已被写入零值;以及
逻辑,其检测所述位图的位何时全部为真。
9.根据权利要求7所述的DRAM,其中,各净化检测硬件实例包括:
寄存器,其保持所述块中最近以零值写入的固定大小的字之后的下一固定大小的字的索引,所述寄存器在所述索引与当前为零值的固定大小的字的写入的索引匹配时递增;以及
逻辑,其检测所述当前为零值的固定大小的字的写入的索引何时是所述块中的最高索引。
10.一种用于控制动态随机存取存储器即DRAM的方法,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述方法包括以下步骤:
确定为要净化所述多个块中的块,并且作为响应,设置与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;
所述标志是各自用于与所述DRAM的所述多个块中的块相关联的多个标志中的标志;以及
响应于后续接收到从所述块中的位置读取数据的请求:
在清除了所述标志的情况下,读取所述位置并返回从所述位置读取到的数据;以及
在设置了所述标志的情况下,返回零值并且抑制读取所述DRAM。
11.根据权利要求10所述的方法,其中,还包括以下步骤:
响应于后续接收到要向所述块中的位置写入数据的请求:
(a)在清除了所述标志的情况下,向所述位置写入所述数据;以及
(b)在设置了所述标志的情况下:
针对所述块启用刷新;以及
将所述数据写入所述位置。
12.根据权利要求11所述的方法,其中,还包括以下步骤:
响应于后续接收到要向所述块中的所述位置写入数据的请求:
(b)在设置了所述标志的情况下,进一步:
清除所述标志;以及
向所述块中的所有其它位置写入零值。
13.根据权利要求11所述的方法,其中,还包括以下步骤:
响应于后续接收到要向所述块中的所述位置写入数据的请求:
在设置了所述标志的情况下,仅在要写入的所述数据非零的情况下进行操作(a)和(b)。
14.根据权利要求10所述的方法,其中,还包括:
确定为要净化所述块的步骤包括:利用包括所述DRAM以及DRAM控制器的系统的系统软件来检测向控制寄存器的写入,其中所述DRAM控制器包括所述控制寄存器。
15.根据权利要求10所述的方法,其中,还包括:
确定为要净化所述块的步骤包括:检测向所述块的所有位置的一系列零值写入,其中所述一系列零值写入不具有介于其中的向所述块的任何位置进行的非零值写入。
16.根据权利要求15所述的方法,其中,还包括:
所述方法通过包括多个净化检测硬件实例的DRAM控制器来进行,其中所述多个净化检测硬件实例能够单独分配给所述DRAM的所述多个块中的不同块。
17.根据权利要求16所述的方法,其中,还包括以下步骤:
响应于检测到向所述块内的位置的零值写入而将位图中的位设置为真,其中所述位图中的各个位与所述块内的不同位置相关联;以及
确定为要净化所述块的步骤包括:检测所述位图的位全部为真。
18.根据权利要求16所述的方法,其中,还包括以下步骤:
通过以下方式维持寄存器以保持所述块中最近以零值写入的固定大小的字之后的下一固定大小的字的索引,该方式为在所述索引与当前为零值的固定大小的字的写入的索引相匹配时递增所述寄存器;以及
确定为要净化所述块的步骤包括:检测所述当前为零值的固定大小的字的写入的索引何时为所述块中的最高索引。
19.一种计算机程序产品,其编码在与计算装置一起使用的至少一个非暂态计算机可用介质中,所述计算机程序产品包括:
在所述介质中包括的计算机可用程序代码,用于指定用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述计算机可用程序代码包括:
第一程序代码,用于指定多个标志,所述多个标志各自用于与所述DRAM的所述多个块中的块相关联;以及
第二程序代码,用于指定净化控制器,所述净化控制器确定要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;
其中,响应于后续接收到要从所述块中的位置读取数据的请求:
在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及
在设置了所述标志的情况下,所述DRAM控制器抑制读取所述DRAM并且返回零值。
20.根据权利要求19所述的计算机程序产品,其中,所述至少一个非暂态计算机可用介质选自盘、磁带或者其它磁、光或电子存储介质的集合。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662323177P | 2016-04-15 | 2016-04-15 | |
US62/323,177 | 2016-04-15 | ||
US15/335,141 US9972375B2 (en) | 2016-04-15 | 2016-10-26 | Sanitize-aware DRAM controller |
US15/335,141 | 2016-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106782642A true CN106782642A (zh) | 2017-05-31 |
CN106782642B CN106782642B (zh) | 2020-02-07 |
Family
ID=57838118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710018716.8A Active CN106782642B (zh) | 2016-04-15 | 2017-01-10 | Dram控制器及其控制方法和计算机程序产品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9972375B2 (zh) |
EP (1) | EP3232330B1 (zh) |
JP (1) | JP6373336B2 (zh) |
KR (1) | KR101902650B1 (zh) |
CN (1) | CN106782642B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US11977484B2 (en) | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
US10698732B2 (en) * | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US10185509B1 (en) | 2017-06-01 | 2019-01-22 | Amazon Technologies, Inc. | Secure storage device sanitization |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
US11182106B2 (en) * | 2018-03-21 | 2021-11-23 | Arm Limited | Refresh circuit for use with integrated circuits |
US11143684B2 (en) | 2019-03-25 | 2021-10-12 | Lg Energy Solution, Ltd. | Diagnostic system for a vehicle electrical system |
US10996279B2 (en) | 2019-04-08 | 2021-05-04 | Lg Chem, Ltd. | Diagnostic system for a battery management system |
US11221949B2 (en) * | 2020-02-10 | 2022-01-11 | Micron Technology, Inc. | Multi state purgatory for media management for a memory subsystem |
US11442654B2 (en) * | 2020-10-15 | 2022-09-13 | Microsoft Technology Licensing, Llc | Managing and ranking memory resources |
KR20230000690A (ko) | 2021-06-25 | 2023-01-03 | 삼성전자주식회사 | 적응적인 기록/독출 제어를 수행하는 스토리지 장치 및 스토리지 장치의 동작방법 |
US20230236985A1 (en) * | 2022-01-21 | 2023-07-27 | Centaur Technology, Inc. | Memory controller zero cache |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1689113A (zh) * | 2003-04-24 | 2005-10-26 | 富士通株式会社 | 半导体存储器 |
US20090268537A1 (en) * | 2006-08-09 | 2009-10-29 | Elpida Memory, Inc. | Semiconductor memory device |
CN101765887A (zh) * | 2007-07-26 | 2010-06-30 | 高通股份有限公司 | 经由使用有效数据指示符减少动态ram功率消耗的系统和方法 |
CN102915759A (zh) * | 2011-08-05 | 2013-02-06 | 株式会社日立制作所 | 净化存储装置的方法和设备 |
CN104025195A (zh) * | 2011-08-31 | 2014-09-03 | 泰塞拉公司 | Dram安全擦除 |
CN105229743A (zh) * | 2013-05-14 | 2016-01-06 | 高通股份有限公司 | 用于智能刷新动态随机存取存储器的方法和系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524248A (en) | 1993-07-06 | 1996-06-04 | Dell Usa, L.P. | Random access memory power management system |
US5469559A (en) | 1993-07-06 | 1995-11-21 | Dell Usa, L.P. | Method and apparatus for refreshing a selected portion of a dynamic random access memory |
US20060181949A1 (en) | 2004-12-31 | 2006-08-17 | Kini M V | Operating system-independent memory power management |
US7292490B1 (en) | 2005-09-08 | 2007-11-06 | Gsi Technology, Inc. | System and method for refreshing a DRAM device |
US20070180187A1 (en) | 2006-02-01 | 2007-08-02 | Keith Olson | Reducing power consumption by disabling refresh of unused portions of DRAM during periods of device inactivity |
US7492656B2 (en) * | 2006-04-28 | 2009-02-17 | Mosaid Technologies Incorporated | Dynamic random access memory with fully independent partial array refresh function |
US7613061B2 (en) | 2007-11-30 | 2009-11-03 | Agere Systems Inc. | Method and apparatus for idle cycle refresh request in DRAM |
US20090172251A1 (en) | 2007-12-26 | 2009-07-02 | Unity Semiconductor Corporation | Memory Sanitization |
US9501705B2 (en) | 2009-12-15 | 2016-11-22 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
KR20150006467A (ko) * | 2012-06-07 | 2015-01-16 | 후지쯔 가부시끼가이샤 | 선택적으로 메모리의 리프레시를 행하는 제어 장치 |
WO2014018038A1 (en) * | 2012-07-26 | 2014-01-30 | Empire Technology Development Llc | Energy conservation in a multicore chip |
US10157657B2 (en) | 2012-08-28 | 2018-12-18 | Rambus Inc. | Selective refresh with software components |
US9990293B2 (en) * | 2014-08-12 | 2018-06-05 | Empire Technology Development Llc | Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram |
-
2016
- 2016-10-26 US US15/335,141 patent/US9972375B2/en active Active
- 2016-12-13 EP EP16203900.2A patent/EP3232330B1/en active Active
- 2016-12-14 KR KR1020160170134A patent/KR101902650B1/ko active IP Right Grant
- 2016-12-22 JP JP2016249420A patent/JP6373336B2/ja active Active
-
2017
- 2017-01-10 CN CN201710018716.8A patent/CN106782642B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1689113A (zh) * | 2003-04-24 | 2005-10-26 | 富士通株式会社 | 半导体存储器 |
US20090268537A1 (en) * | 2006-08-09 | 2009-10-29 | Elpida Memory, Inc. | Semiconductor memory device |
CN101765887A (zh) * | 2007-07-26 | 2010-06-30 | 高通股份有限公司 | 经由使用有效数据指示符减少动态ram功率消耗的系统和方法 |
CN102915759A (zh) * | 2011-08-05 | 2013-02-06 | 株式会社日立制作所 | 净化存储装置的方法和设备 |
CN104025195A (zh) * | 2011-08-31 | 2014-09-03 | 泰塞拉公司 | Dram安全擦除 |
CN105229743A (zh) * | 2013-05-14 | 2016-01-06 | 高通股份有限公司 | 用于智能刷新动态随机存取存储器的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US9972375B2 (en) | 2018-05-15 |
CN106782642B (zh) | 2020-02-07 |
US20170301386A1 (en) | 2017-10-19 |
JP2017191594A (ja) | 2017-10-19 |
KR101902650B1 (ko) | 2018-09-28 |
EP3232330B1 (en) | 2018-11-07 |
KR20170118583A (ko) | 2017-10-25 |
EP3232330A1 (en) | 2017-10-18 |
JP6373336B2 (ja) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106782642A (zh) | Dram控制器及其控制方法和计算机程序产品 | |
CN102473113B (zh) | 多核处理器和将线程分配至异构处理器核的方法 | |
CN100354796C (zh) | 使用多存储体存储器设备中的标记寄存器的方法 | |
US7506134B1 (en) | Hardware resource based mapping of cooperative thread arrays (CTA) to result matrix tiles for efficient matrix multiplication in computing system comprising plurality of multiprocessors | |
CN104123171B (zh) | 基于numa架构的虚拟机迁移方法及系统 | |
US8397100B2 (en) | Managing memory refreshes | |
CN103197916A (zh) | 用于源操作数收集器高速缓存的方法和装置 | |
CN103455129A (zh) | 计算机可读介质和计算处理装置 | |
CN101071403B (zh) | 动态更新自适应的空闲计时器 | |
CN103207774A (zh) | 用于解决线程发散的方法和系统 | |
US7836118B1 (en) | Hardware/software-based mapping of CTAs to matrix tiles for efficient matrix multiplication | |
EP2936317A1 (en) | In-place change between transient and persistent state for data structures in non-volatile memory | |
TW202211034A (zh) | 處理資料集的方法及系統、以及記憶體模組 | |
US9063667B2 (en) | Dynamic memory relocation | |
EP2548129A1 (en) | Masked register write method and apparatus | |
US10296074B2 (en) | Fine-grained power optimization for heterogeneous parallel constructs | |
CN103902419B (zh) | 一种缓存测试方法及装置 | |
CN103294449A (zh) | 发散操作的预调度重演 | |
CN103218259A (zh) | 计算任务的调度和执行 | |
CN110618872B (zh) | 混合内存动态调度方法及系统 | |
JP6332756B2 (ja) | データ処理方法、装置、およびシステム | |
US10366007B2 (en) | Apparatuses and methods for determining efficient memory partitioning | |
JP2007528082A (ja) | キャッシュ機構 | |
CN106155923B (zh) | 内存共享的方法和装置 | |
CN103914413A (zh) | 用于粗粒度可重构系统的外存访问接口及其访问方法 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |