CN108231109B - 动态随机存取存储器dram的刷新方法、设备以及系统 - Google Patents
动态随机存取存储器dram的刷新方法、设备以及系统 Download PDFInfo
- Publication number
- CN108231109B CN108231109B CN201711433354.5A CN201711433354A CN108231109B CN 108231109 B CN108231109 B CN 108231109B CN 201711433354 A CN201711433354 A CN 201711433354A CN 108231109 B CN108231109 B CN 108231109B
- Authority
- CN
- China
- Prior art keywords
- refresh
- refreshing
- unit
- dram
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008569 process Effects 0.000 claims description 26
- 238000004806 packaging method and process Methods 0.000 abstract description 13
- 238000005265 energy consumption Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000014759 maintenance of location Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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
- 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/40618—Refresh operations over multiple banks or interleaving
-
- 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
-
- 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
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/408—Address circuits
-
- 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
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- 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
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- 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/1016—Performance improvement
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- 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/20—Employing a main memory using a specific memory technology
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Dram (AREA)
- Mobile Radio Communication Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供了动态随机存取存储器DRAM的刷新方法、设备以及系统。获取DRAM的某一刷新单元的地址以及刷新单元的刷新信息,刷新单元为DRAM中进行一次刷新所包括的存储空间,刷新单元的刷新信息包括刷新单元的刷新周期;将刷新单元的地址以及刷新单元的刷新信息封装为DRAM访问请求,并通过DRAM访问请求将刷新单元的地址以及刷新单元的刷新信息写入到刷新数据空间,刷新数据空间为所述DRAM中预设的,用来存储DRAM中至少一个刷新单元的地址以及所述至少一个刷新单元的刷新信息的存储空间。上述方案可根据刷新单元的刷新信息进行针对性的刷新,解决采用统一周期进行刷新所带来的性能开销以及能耗开销比较大的问题。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种动态随机存取存储器DRAM的刷新方法、设备以及系统。
背景技术
现有计算机系统普遍采用廉价的、高密度的DRAM(Dynamic Random AccessMemory,动态随机存取存储器)作为系统主存,又叫做内存。DRAM利用电容里的电荷存储数据,但这些电荷会随着漏电的存在而不断流失。因此,电容里的数据必须被定期读出并重新写入,以补偿流失的电荷,这种操作叫做刷新(Refresh)。
DRAM有多个库(Bank)组成,每个Bank为二维的存储阵列,横向称为行(Row),纵向称为列(Column)。在刷新的过程中,每次DRAM会选定一个行(又成为内存行),把该行的全部数据提取到感应放大器中(又称为行缓冲区,Row Buffer),这个过程叫做激活操作(Active),接着在行缓冲区中完成对应数据的读写,行缓冲区中的数据被重新写入存储阵列,称为预充电操作(Pre-charge),通过激活操作以及预充电操作就实现了整个刷新的过程。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中进行一次刷新所包括的存储空间,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
封装单元,用于将所述刷新单元的地址以及所述刷新单元的刷新信息封装为DRAM访问请求;
写入单元,用于通过所述DRAM访问请求将所述刷新单元的地址以及所述刷新单元的刷新信息写入到刷新数据空间中,所述刷新数据空间为所述DRAM中一块预设的存储空间。
结合第二方面,在第一种可能的实现方式中,所述装置还包括:分配单元,用于在所述DRAM中分配所述预设的存储空间作为所述刷新数据空间。
结合第二方面以及第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取单元获取的所述刷新单元的地址包括所述刷新单元的物理地址;
所述封装单元,具体用于将所述刷新单元的物理地址以及所述刷新单元的刷新信息封装为DRAM访问请求;
所述写入单元,具体用于通过所述DRAM访问请求将所述刷新单元的物理地址以及所述刷新信息写入所述刷新数据空间。
结合第二方面以及第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述获取单元获取的所述刷新单元的地址包括所述刷新单元的虚拟地址;所述装置还包括:
转化处理单元,用于通过查询页表,将所述刷新单元的虚拟地址转化为所述刷新单元的物理地址;
所述封装单元,具体用于将所述刷新单元的物理地址以及所述刷新单元的刷新信息封装为所述DRAM访问请求;
所述写入单元,具体用于通过所述DRAM访问请求将所述刷新单元的物理地址以及所述刷新信息写入所述刷新数据空间。
本发明实施例第三方面提供了一种动态随机存取存储器DRAM刷新信息的处理装置,其特征在于,所述处理装置包括:
处理器,存储器,通信接口,和总线,其中,所述处理器、所述存储器和所述通信接口通过所述总线通信;
所述存储器用于存放程序;
所述通信接口用于与DRAM通信;
当所述处理装置运行时,所述处理器用于执行所述存储器存储的所述程序,以执行第一方面以及第一方面的各个可能实现方式任一所述的方法。
本发明实施例第四方面提供了一种动态随机存取存储器DRAM的刷新方法,该方法包括:
产生针对DRAM中刷新单元的刷新命令,所述刷新命令包括所述刷新单元的物理地址,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间;
根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中读取所述刷新单元的刷新信息,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
根据所述刷新信息执行对所述刷新单元的刷新操作。
结合第四方面,在第一种可能的实现方式中,所述根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中读取对应所述刷新单元的刷新信息,包括:
根据所述刷新单元的物理地址,以及所述刷新数据空间中存储的所述刷新单元的物理地址和所述刷新单元的刷新信息的对应关系,确定所述刷新单元的刷新信息,采用所述DRAM读取命令从所述刷新数据空间读取所述刷新单元的刷新信息。
结合第四方面以及第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述刷新数据空间为所述DRAM中预设的用来存储所述DRAM中多个刷新单元的刷新信息的存储空间,所述方法还包括:
从所述刷新数据空间中获取所述刷新单元之后的多个连续的刷新单元的刷新信息。
结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,在从所述刷新数据空间中读取所述刷新单元之后的多个连续的刷新单元的刷新信息之后,所述方法还包括:
接收对所述刷新单元之后的多个连续的刷新单元的刷新命令;
判断所述多个连续的刷新单元中需要执行刷新操作的刷新单元的个数是否超过阈值;
当确定所述需要执行刷新操作的刷新单元的个数超过所述阈值时,对所述多个连续的刷新单元执行Auto Refresh刷新操作;
当确定所述需要执行刷新操作的刷新单元的个数不超过所述阈值时,对所述多个连续的刷新单元执行RAS-only Refresh刷新操作。
本发明实施例第五方面提供了一种DRAM控制器,该DRAM控制器包括:
刷新命令产生模块,用于产生针对DRAM中刷新单元的刷新命令,所述刷新命令包括所述刷新单元的物理地址,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间;
获取模块,用于根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中获取所述刷新单元的刷新信息,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
执行模块,用于根据所述刷新信息执行对所述刷新单元的刷新操作。
结合第五方面,在第一种可能的实现方式中,上述获取模块包括:
查询单元,用于根据所述刷新单元的物理地址,以及所述刷新数据空间中存储的所述刷新单元的物理地址和所述刷新单元的刷新信息的对应关系,确定所述刷新单元的刷新信息;
读取单元,用于采用所述DRAM读取命令从所述刷新数据空间读取所述刷新单元的刷新信息。
结合第五方面以及第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取模块,还用于从所述刷新数据空间中获取所述刷新单元之后的多个连续的刷新单元的刷新信息。
结合第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述执行模块包括:
接收单元,用于接收对所述刷新单元之后的多个连续的刷新单元的刷新命令;
判断单元,用于判断所述多个连续的刷新单元中需要执行刷新操作的刷新单元的个数是否超过阈值;
执行单元,用于当确定所述需要执行刷新操作的刷新单元的个数超过所述阈值时,对所述多个连续的刷新单元执行Auto Refresh刷新操作;当确定所述需要执行刷新操作的刷新单元的个数不超过所述阈值时,对所述多个连续的刷新单元执行RAS-onlyRefresh刷新操作。
本发明实施例第六方面提供了一种动态随机存取存储器DRAM的刷新系统,该系统包括:包含至少一个刷新单元的动态随机存取存储器DRAM,以及如第五方面及其各种可能的实现方式中任一所述的DRAM控制器。
本发明实施例提供一种动态随机存取存储器DRAM的刷新方法、设备以及系统,通过获取DRAM刷新单元的刷新信息,该刷新信息包括该刷新单元的刷新周期,并将刷新信息写入到DRAM中一块预设的存储空间,即刷新数据空间,在DRAM控制器进行DRAM刷新单元刷新的过程中,通过DRAM读取命令从刷新数据空间中,读取出针对该刷新单元的刷新信息,并利用该刷新信息进行相应刷新单元的刷新操作。采用上述方式,面对DRAM容量不断增大的情况下,一方面,使得能够根据刷新单元的刷新信息进行针对性的刷新,避免了现有技术中采用统一的周期进行刷新所带来的性能开销以及能耗开销比较大的问题,另一方面,通过将刷新单元的刷新信息存储在DRAM空间中,能够满足在DRAM容量不断增大情况下,刷新信息的数据量增多带来的存储空间的要求。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明实施例中所需要使用的附图做简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所依托的系统架构图。
图2A是本发明的方法实施例一的第一实现方式流程图。
图2B是本发明的方法实施例一的第二实现方式流程图。
图2C是本发明的方法实施例一的步骤230的第一实现方式的流程图。
图2D是本发明的方法实施例一的步骤230的第二实现方式的流程图。
图3A是本发明的方法实施例二的流程图。
图3B是本发明的方法实施例二的步骤330的实现方式的流程图。
图3C是本发明的方法实施例二的附加步骤实现方式的流程图。
图4是本发明的设备实施例一的结构图。
图5是本发明的设备实施例二的结构图。
图6A是本发明的设备实施例二的结构图。
图6B是本发明的设备实施例二中的获取模块实现方式的结构图。
图6C是本发明的设备实施例二中的执行模块的实现方式结构图。
图7是本发明的系统实施例的组网连接图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动的前提下所获得其他实施例,都应属于本发明保护的范围。
虽然以下描述集中于DRAM器件,但是本领域的技术人员将会理解,所要求保护的本发明可被实现来支持需要每隔一定时间刷新或者其他方式维护以保留其内容的多个单元的任何存储器器件类型。本领域的技术人员还会理解,虽然以下描述集中于存储单元按二维行列阵列来组织的存储器器件,但是存储单元可以用多种方式来组织,包括被组织成多个库(Bank)并且进行或不进行交织,被组织成二维以上的阵列,被组织成可内容寻址的,等等。另外,虽然以下讨论中至少有一部分集中于计算机系统内的存储器,但是本领域的技术人员将会理解,所要求保护的本发明可以结合具有存储器器件的其他电子设备或系统来实现。
本发明实施例的系统架构
图1描绘了本发明实施例所提供的内存刷新系统的组网示意图。该内存刷新系统包括:处理器100、内存控制器200,以及内存芯片300组成。其中,处理器100通过内存控制器200实现内存芯片300中数据的读写。处理器100和内存控制器200在具体实现时,可以集成在同一个芯片中,也可以通过两个不同的芯片分别实现。
在内存芯片300中预设一块存储空间作为刷新数据空间310,该刷新数据空间可以是一段连续的区域,也可以是多段分散的区域。操作系统在应用程序分配内存时,不能使用这些内存区域。
其中,内存芯片300一般采用DRAM芯片来实现,当内存芯片300采用DRAM芯片来实现时,内存控制器200即可由DRAM控制器来实现。
本发明实施例
随着目前内存的存储容量越做越大,如何能够降低内存刷新的性能和功耗开销成为一个问题。
业界广泛采用的刷新方法是对内存中的所有的行采用统一的周期进行刷新,以保证漏电最严重的单元不会丢失数据。具体的刷新方式有如下两种:
(1)AR(Auto Refresh,自动刷新)方式:在内存芯片中维护一个计数器RAC,指向下一次要刷新的行。内存控制器每隔tREFI时间发送一个刷新命令,内存芯片收到该命令后,所有的Bank里RAC指向的一组行(数量由内存芯片的密度决定)同时执行刷新操作,刷新操作的持续时间为tRFC,在此期间内,内存芯片不能响应正常的访存请求。在tRFC时间后,内存芯片更新计数器的值,使其指向下一组要刷新的行。
(2)ROR(RAS-Only Refresh)方式:内存控制器发送行选通(RAS,Row AddressStrobe)命令,将内存中的一行数据取到行缓冲区中,随后该行数据会被后续的预充电命令重新写回到存储单元,完成对一行数据的刷新。在这种情况下,内存控制器在内部维护计数器RAC,并且周期性的发送RAS命令。这种刷新方式下,每次只刷新一行,并且在该行被刷新时,其他Bank仍然可以被访问。
上述的AR方式,刷新的粒度比较大,每行平均的刷新开销较小,但是当内存中的一些行存储的是无效数据(即该无效数据不需要刷新)或者存储的是非关键性数据(该非关键性数据不需要较高的频率进行刷新),上述AR方式的开销就比较大;ROR方式刷新的粒度较小,并且刷新哪一行由内存控制器指定,允许内存控制器灵活控制,但是其每行平均的刷新开销较大。
上述内存中待刷新的每行数据就构成了一个刷新单元(Refresh Unit),在具体的实现中,刷新单元可以是一个内存行,也可以是多个内存行,还可以是比内存行更小的粒度,对此,本发明的所有实施例均不加以限定。
为了提升内存数据刷新的效率,降低刷新的开销,对于每个刷新单元,可以通过如下三个参数去确定其刷新参数:
(1)数据保持时间:用T0来表示,即某一刷新单元的预设的刷新周期,例如:每64毫秒刷新一次,则该预设的刷新周期T0=64ms。
(2)数据有效性:用μ来表示,衡量某一刷新单元中所存储数据的有效性,如果该刷新单元存储的数据有效数据,则μ=1,如果存储的是无效数据,则μ=0。数据有效性由操作系统来判断。
(3)数据关键性:用λ表示,衡量某一刷新单元中所存储数据的关键性,按照数据关键性的等级,刷新单元所存储数据的数据关键性取值范围为0<λ≤1。数据的关键性可以有操作系统来设定,或者由用户来设定,并通知操作系统。
某一个刷新单元的刷新周期和上述三个参数存在如下的关系:刷新周期=预订的刷新周期*数据有效性/数据关键性,通过符号来表示为:刷新周期T=T0*μ/λ(适用于μ≠0的情形)。需要说明的是,当某刷新单元的刷新数据为无效数据时,此时,该刷新单元的刷新周期为无穷大,即不会对该刷新单元进行刷新。
举例说明:对于存储有数据关键性为1的有效数据的刷新单元,则该刷新单元的刷新周期=T0*1/1=T;对于存储有非关键性的有效数据的刷新单元,可以根据操作系统对数据关键性的设定来确定数据关键性λ(其中,0<λ≤1),由系统选择预定的刷新周期和调整因子的乘积,即T0*(1/λ)进行刷新。
作为举例,对于某一刷新单元,其数据保持时间T0(即预设的刷新周期)为64毫秒,数据有效性μ为1,数据关键性λ为0.5,则根据上述计算公式,确定该刷新单元的刷新周期为64*2(毫秒)。
作为举例,采用一种信息的存储格式,可以将不同数据关键性的刷新单元的刷新信息通过表一来表示。在下表中,一个刷新单元的刷新信息的存储格式可通过4bit来表示。需要说明的是,采用几个bit来表示刷新信息是基于用户的自定义设置,bit数目越多,可表示的刷新周期的选择性就会越多,对于本领域的普通技术人员来说,选择多少个bit来表示刷新信息根据具体的刷新需求,对此,本发明的所有实施例不加以限制。下面的表一仅作为举例来说明。
从下面的表一可以看出,通过4bit所表示该刷新信息其实包含的就是该刷新单元对应的刷新周期。
表一
方法实施例一
参看图2A,本实施例提供了一种动态随机存取存储器DRAM刷新信息的处理方法,其过程为:
210、获取DRAM中刷新单元的地址以及所述刷新单元的刷新信息,该刷新单元为所述DRAM中进行一次刷新所包括的存储空间,上述刷新单元的刷新信息包括该刷新单元的刷新周期;
具体的,该方法实施例的执行主体可以是操作系统。
某一刷新单元的地址可以为该刷新单元的物理地址,或该刷新单元的虚拟地址。
刷新信息的获取在现有技术中存在多种获取方式,譬如:在软件上可以通过数据保持时间的测试,页面分配/释放的监控,或者通过用户的标记来确定;在硬件上,可以通过数据保持时间的测试、数据最近被访问的历史记录等来进行确定。对此,本发明的实施例不加以赘述。
具体的,在获取DRAM的某一刷新单元的刷新信息之前,还包括:将针对某一刷新单元的数据保持时间、数据有效性、数据关键性等参数,转化为该刷新单元的刷新信息的步骤。具体的转化过程可以参考上述表一相关的文字介绍。
上述刷新单元的刷新信息中,所包含的信息是该刷新单元的刷新周期。
230、将所述刷新单元的地址以及所述刷新单元的刷新信息封装为DRAM访问请求,并通过所述DRAM访问请求将所述刷新单元的地址以及所述刷新单元的刷新信息写入到刷新数据空间,所述刷新数据空间为所述DRAM中预设的存储空间。
具体的,操作系统可以通过现有的DRAM访问请求将刷新单元的地址以及刷新信息写入到刷新数据空间中。
进一步的,在步骤230将所述刷新单元的地址以及所述刷新单元的刷新信息通过DRAM访问请求写入到刷新数据空间中之前,参看图2B,所述方法还包括:
220、在上述DRAM中分配前述预设的存储空间作为所述刷新数据空间。
需要说明的是,步骤220和步骤210之间并没有严格意义上的顺序关系,在具体实现过程中,可以先执行步骤210,然后执行步骤220,也可以先执行步骤220,然后执行步骤210,对此,本发明的实施例不加以限定。
上述步骤220中在上述DRAM中分配一块存储空间作为所述刷新数据空间,可以通过如下的方式实现:
(1)操作系统从内存空间中申请一个区域用于存储刷新信息,并把该区域的地址范围通知内存控制器。
(2)BIOS(Basic Input/Output System,即基本输入输出系统)从内存空间中预留一个区域用于存储刷新信息,并把这个区域的地址范围通知操作系统和内存控制器。
(3)内存控制器从内存空间中预留一个区域用于存储刷新信息,并把该区域的地址范围通知操作系统。
该刷新数据空间可以是一段连续的区域,也可以是多段分散的区域。操作系统在应用程序分配内存时,不能使用这些内存区域。
需要说明的是,通过将刷新单元的地址以及刷新单元的刷新信息写入到刷新数据空间中,这样,在刷新数据空间中就建立刷新单元的物理地址和该刷新单元的刷新信息的对应关系。作为举例,该刷新数据空间的结构如表二所示(可以理解,采用表的形式来存储刷新单元的物理地址和该刷新单元的刷新信息的对应关系只是一种实现方式,本发明的实施例不排除其他的实现方式):
表二
进一步的,根据具体实现过程的不同,在执行步骤230的过程中存在两种实现方式:
方式一:包括步骤231-232的实现过程,所述获取的刷新单元的地址包括所述刷新单元的物理地址,参看图2C,步骤230的具体过程是:
231、将所述刷新单元的物理地址以及所述刷新单元的刷新信息封装为DRAM访问请求;
232、通过所述DRAM访问请求将刷新单元的物理地址以及刷新信息写刷新数据空间。
具体的,上述实现过程中,当操作系统获得刷新单元的物理地址以及该刷新单元的刷新信息时,则操作系统可将刷新单元的物理地址以及刷新单元的刷新信息写入到刷新数据空间。
方式二:包括步骤233-235的实现过程,所述获取的刷新单元的地址包括所述刷新单元的虚拟地址,参看图2D,步骤230的具体过程是:
233、通过查询页表,将所述刷新单元的虚拟地址转化为所述刷新单元的物理地址;
234、将所述刷新单元的物理地址以及所述刷新单元的刷新信息封装为DRAM访问请求;
235、通过所述DRAM访问请求将所述刷新单元的物理地址以及所述刷新信息写入所述刷新数据空间。
具体的,上述实现过程中,某一刷新单元的刷新信息以及该刷新单元的虚拟地址是通过用户态程序获取的,此时用户态程序将刷新单元的虚拟地址以及刷新单元的刷新信息发送给操作系统,由操作系统根据刷新单元的虚拟地址通过查询页表(PageTable),获得该刷新单元的物理地址,将该刷新单元的物理地址以及刷新信息写入到刷新数据空间。
上述提供一种动态随机存取存储器DRAM刷新信息的处理方法的实施例,使得能够利用现有的DRAM访问请求将刷新信息写入到DRAM预先分配的刷新数据空间中,使得该方法能够满足DRAM存储容量不算增大从而导致刷新信息存储空间不断扩大的需求,且利用现有的DRAM访问请求实现刷新信息的存储,实现方案简单易行。
方法实施例二
参看图3A,本实施例提供了一种动态随机存取存储器DRAM的刷新方法,该方法实施例是内存控制器作为主体执行的,其过程为:
310、产生针对DRAM中刷新单元的刷新命令,所述刷新命令包括指向所述刷新单元的物理地址,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间;
具体的,内存控制器周期性的产生刷新命令,该刷新命令中包含待刷新单元的物理地址。
330、根据所述刷新单元的物理地址,从刷新数据空间中读取所述刷新单元的刷新信息,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
350、根据所述刷新信息执行对所述刷新单元的刷新操作。
具体的,在内存控制器根据刷新信息执行对刷新单元的刷新操作时,结合表二,针对不同的刷新信息,内存控制器执行不同的刷新操作:
(1)当内存控制器所读取的刷新信息中数据有效性标识为0,则表明该刷新信息所对应的刷新单元存储的数据是无效数据,则内存控制器丢弃该刷新命令。
(2)当内存控制器所读取的刷新信息中数据有效性标识为1,且刷新周期标识为abc时(其中,a、b、c的取值均为1或0),则根据表二、以及表一的内容,确定该刷新单元的刷新周期,并按照刷新周期进行该刷新单元的刷新。
进一步的,上述步骤330中根据所述刷新单元的指针,采用DRAM读取命令从刷新数据空间中读取对应所述刷新单元的刷新信息,参看图3B,包括:
331、根据所述刷新单元的物理地址,查询所述刷新数据空间中存储的所述刷新单元的物理地址和所述刷新单元的刷新信息的对应关系,确定所述刷新单元的刷新信息;
332、采用DRAM读取命令从所述刷新数据空间读取所述刷新单元的刷新信息。
根据刷新单元的物理地址,从刷新单元的物理地址和刷新单元的刷新信息的对应关系中,内存控制器通过DRAM读取命令读取刷新单元的刷新信息。
进一步的,所述刷新数据空间为所述DRAM中预设的用来存储所述DRAM中多个刷新单元的刷新信息的存储空间,所述方法还包括:
340、从所述刷新数据空间中获取所述刷新单元之后的多个连续的刷新单元的刷新信息。
需要说明的是,由于DRAM数据的读写的粒度比较大,一般是64字节,而根据上面的实施例,一个刷新单元的刷新信息的存储采用4个比特表示,因此,DRAM一次性读取128个刷新单元的刷新信息。
进一步的,在从所述刷新数据空间中读取所述刷新单元之后的多个刷新单元的刷新信息之后,参看图3C,所述方法还包括:
341、接收对所述刷新单元之后的多个连续的刷新单元的刷新命令;
342、判断所述多个连续的刷新单元中需要执行刷新操作的刷新单元的个数是否超过阈值;
343、当确定所述需要执行刷新操作的刷新单元的个数超过所述阈值时,对所述多个连续的刷新单元执行Auto Refresh刷新操作;
344、当确定所述需要执行刷新操作的刷新单元的个数不超过所述阈值时,对所述多个连续的刷新单元执行RAS-only Refresh刷新操作。
在具体实现的过程中,当采用Auto Refresh方式对所述多个连续的刷新单元进行刷新操作时,内存控制器还会向DRAM发送Silent refresh(沉默刷新)命令,通过该命令,使得在对多个连续的刷新单元刷新的过程中,能够跳过存储有无效数据的刷新单元,并且对刷新地址的计数器加1,以保证后续指向接下来要刷新的行。
需要说明的是,采用Auto Refresh以及采用RAS-Only Refresh为本领域普通技术人员的公知常识,具体执行过程不再赘述。
上述的实施例,通过访问刷新数据空间中所存储的刷新单元的刷新信息,能够根据刷新信息进行针对性的刷新,避免了现有技术中采用统一的周期进行刷新所带来的性能开销以及能耗开销比较大的问题。同时,通过现有的访存命令直接从刷新数据空间中读取刷新单元的刷新信息,使得刷新过程简单易行。
设备实施例一
参看图4,本实施例提供一种动态随机存取存储器DRAM刷新信息的处理装置,该装置400包括:
获取单元410,用于获取DRAM中刷新单元的地址以及所述刷新单元的刷新信息,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
封装单元420,用于将所述刷新单元的地址以及所述刷新单元的刷新信息封装为DRAM访问请求;
写入单元430,用于通过所述DRAM访问请求将所述刷新单元的地址以及所述刷新单元的刷新信息写入刷新数据空间,所述刷新数据空间为所述DRAM中一块预设的存储空间。
进一步的,所述装置400还包括:
分配单元440,用于在所述DRAM中分配所述预设的存储空间作为所述刷新数据空间。
进一步的,所述获取单元获取的所述刷新单元的地址包括所述刷新单元的物理地址;
所述封装单元420,还用于将所述刷新单元的物理地址以及所述刷新单元的刷新信息封装为DRAM访问请求;
所述写入单元430,用于通过所述DRAM访问请求将所述刷新单元的物理地址以及所述刷新信息写入所述刷新数据空间。
进一步的,所述获取单元获取的所述刷新单元的地址包括所述刷新单元的虚拟地址;所述装置还包括:
转化处理单元450,用于通过查询页表,将所述刷新单元的虚拟地址转化为所述刷新单元的物理地址;
所述封装单元420,具体用于将所述刷新单元的物理地址以及所述刷新单元的刷新信息以及所述刷新单元的物理地址封装为DRAM访问请求;
所述写入单元430,具体用于通过所述DRAM访问请求将所述刷新单元的物理地址以及所述刷新信息写入所述刷新数据空间。
设备实施例二
参看图5,本实施例还提供一种动态随机存取存储器DRAM刷新信息的处理装置,该处理装置500包括:
处理器510,存储器520,通信接口530,和总线540,其中,所述处理器510、所述存储器520和所述通信接口530通过所述总线通信;
所述存储器520用于存放程序;
所述通信接口530用于与DRAM通信;
当所述处理装置500运行时,所述处理器510用于执行所述存储器520存储的所述程序,以执行方法实施例一的任一可能实现方式所述的方法。
设备实施例三
参看图6A,本实施例提供一种DRAM的控制器,该控制器600包括:
刷新命令产生模块610,用于产生针对某一刷新单元的刷新命令,所述刷新命令包括所述刷新单元的物理地址,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间;
获取模块620,用于根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中获取所述刷新单元的刷新信息,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
执行模块630,用于根据所述刷新信息执行对所述刷新单元的刷新操作。
进一步的,参看图6B,所述获取模块620包括:
查询单元621,用于根据所述刷新单元的物理地址,以及所述刷新数据空间中存储的所述刷新单元的物理地址和所述刷新单元的刷新信息的对应关系,确定所述刷新单元的刷新信息;
读取单元622,用于采用DRAM读取命令从所述刷新数据空间读取所述刷新单元的刷新信息。
进一步的,所述获取模块620,还用于从所述刷新数据空间中获取所述刷新单元之后的多个连续的刷新单元的刷新信息。
进一步的,参看图6C,所述执行模块630包括:
接收单元631,用于接收对所述刷新单元之后的多个连续的刷新单元的刷新命令;
判断单元632,用于判断所述多个连续的刷新单元中需要执行刷新操作的刷新单元的个数是否超过阈值;
执行单元633,用于当确定所述需要执行刷新操作的刷新单元的个数超过所述阈值时,对所述多个连续的刷新单元执行Auto Refresh刷新操作;当确定所述需要执行刷新操作的刷新单元的个数不超过所述阈值时,对所述多个连续的刷新单元执行RAS-onlyRefresh刷新操作。
采用上述的实现方式,考虑到Auto Refresh刷新方式在多个连续的刷新单元均需要刷新能够降低刷新开销,效率比较高的特点,以及RAS-Only Refresh刷新方式适应于针对某一刷新单元刷新的特点,根据实际需要执行刷新操作的刷新单元的数目是否超过刷新单元的数量的阈值,分别选择Auto Refresh方式或者RAS-Only Refresh方式进行刷新,从而提升了刷新的效率。
系统实施例
参看图7,本实施例提供一种动态随机存取存储器DRAM的刷新系统,该系统700包括:包含多个刷新单元的动态随机存取存储器DRAM 710,以及设备实施例三的DRAM控制器720。
在本发明所提供的几个实施例中,应该理解的是,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种动态随机存取存储器DRAM的刷新方法,其特征在于,包括:
从刷新数据空间中获取多个连续的刷新单元的刷新信息,其中,所述刷新数据空间为所述DRAM中预设的用来存储所述DRAM中多个刷新单元的刷新信息的存储空间,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间,所述刷新信息包括所述多个连续的刷新单元的刷新周期;
根据所述多个连续的刷新单元的刷新周期生成对所述多个连续的刷新单元的刷新命令;
根据所述刷新命令对所述多个连续的刷新单元执行Auto Refresh刷新操作。
2.根据权利要求1所述的刷新方法,其特征在于,还包括:
向所述DRAM发送沉默刷新命令,所述沉默刷新命令用于指示所述DRAM在执行刷新操作的过程中跳过对所述多个连续的刷新单元中存储有无效数据的刷新单元。
3.根据权利要求1或2所述的方法,其特征在于,所述从刷新数据空间中获取多个连续的刷新单元的刷新信息包括:
采用DRAM读取命令从刷新数据空间中读取所述多个连续的刷新单元的刷新信息。
4.一种动态随机存取存储器DRAM的刷新方法,其特征在于,
产生针对DRAM中刷新单元的刷新命令,所述刷新命令包括所述刷新单元的物理地址,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间;
根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中读取所述刷新单元的刷新信息,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
根据所述刷新信息执行对所述刷新单元的刷新操作;
其中,所述刷新信息还包括所述刷新单元之后的多个连续的刷新单元的刷新信息;
所述方法还包括:
接收对所述刷新单元之后的所述多个连续的刷新单元的刷新命令;
判断所述多个连续的刷新单元中需要执行刷新操作的刷新单元的个数是否超过阈值;
当确定所述需要执行刷新操作的刷新单元的个数超过所述阈值时,对所述多个连续的刷新单元执行Auto Refresh刷新操作。
5.根据权利要求4所述的方法,其特征在于,所述根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中读取所述刷新单元的刷新信息,包括:
根据所述刷新单元的物理地址,以及所述刷新数据空间中存储的所述刷新单元的物理地址和所述刷新单元的刷新信息的对应关系,确定所述刷新单元的刷新信息,采用所述DRAM读取命令从所述刷新数据空间读取所述刷新单元的刷新信息。
6.根据权利要求4或5所述的方法,其特征在于,还包括:
向所述DRAM发送沉默刷新命令,所述沉默刷新命令用于指示所述DRAM在执行刷新操作的过程中跳过对多个连续的刷新单元中存储有无效数据的刷新单元。
7.一种动态随机存取存储器DRAM的刷新系统,其特征在于,所述系统包括:包含至少一个刷新单元的动态随机存取存储器DRAM,以及与所述DRAM连接的DRAM控制器,其中,所述DRAM控制器用于:
从刷新数据空间中获取多个连续的刷新单元的刷新信息,其中,所述刷新数据空间为所述DRAM中预设的用来存储所述DRAM中多个刷新单元的刷新信息的存储空间,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间,所述刷新信息包括所述多个连续的刷新单元的刷新周期;
根据所述多个连续的刷新单元的刷新周期生成对所述多个连续的刷新单元的刷新命令;
根据所述刷新命令对所述多个连续的刷新单元执行Auto Refresh刷新操作。
8.根据权利要求7所述的刷新系统,其特征在于,所述DRAM控制器还用于:
向所述DRAM发送沉默刷新命令,所述沉默刷新命令用于指示所述DRAM在执行刷新操作的过程中跳过对所述多个连续的刷新单元中存储有无效数据的刷新单元。
9.根据权利要求7或8所述的刷新系统,其特征在于,所述DRAM控制器用于:
采用DRAM读取命令从刷新数据空间中读取所述多个连续的刷新单元的刷新信息。
10.一种动态随机存取存储器DRAM的刷新系统,其特征在于,所述系统包括:包含至少一个刷新单元的动态随机存取存储器DRAM以及与所述DRAM连接的DRAM控制器,所述DRAM控制器用于:
产生针对DRAM中刷新单元的刷新命令,所述刷新命令包括所述刷新单元的物理地址,所述刷新单元为所述DRAM中进行一次刷新所包括的存储空间;
根据所述刷新单元的物理地址,采用DRAM读取命令从刷新数据空间中读取所述刷新单元的刷新信息,所述刷新单元的刷新信息包括所述刷新单元的刷新周期;
根据所述刷新信息执行对所述刷新单元的刷新操作;
其中,所述刷新信息还包括所述刷新单元之后的多个连续的刷新单元的刷新信息;
所述DRAM控制器还用于:
接收对所述刷新单元之后的所述多个连续的刷新单元的刷新命令;
判断所述多个连续的刷新单元中需要执行刷新操作的刷新单元的个数是否超过阈值;
当确定所述需要执行刷新操作的刷新单元的个数超过所述阈值时,对所述多个连续的刷新单元执行Auto Refresh刷新操作。
11.根据权利要求10所述的刷新系统,其特征在于,所述DRAM控制器具体用于:
根据所述刷新单元的物理地址,以及所述刷新数据空间中存储的所述刷新单元的物理地址和所述刷新单元的刷新信息的对应关系,确定所述刷新单元的刷新信息,采用所述DRAM读取命令从所述刷新数据空间读取所述刷新单元的刷新信息。
12.根据权利要求10或11所述的刷新系统,其特征在于,所述DRAM控制器还用于:
向所述DRAM发送沉默刷新命令,所述沉默刷新命令用于指示所述DRAM在执行刷新操作的过程中跳过对所述多个连续的刷新单元中存储有无效数据的刷新单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711433354.5A CN108231109B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711433354.5A CN108231109B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
CN201410253514.8A CN105280215B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410253514.8A Division CN105280215B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108231109A CN108231109A (zh) | 2018-06-29 |
CN108231109B true CN108231109B (zh) | 2021-01-29 |
Family
ID=54832906
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711433354.5A Active CN108231109B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
CN201410253514.8A Active CN105280215B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410253514.8A Active CN105280215B (zh) | 2014-06-09 | 2014-06-09 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
Country Status (10)
Country | Link |
---|---|
US (1) | US10007599B2 (zh) |
EP (1) | EP3142120B1 (zh) |
JP (1) | JP6429258B2 (zh) |
KR (2) | KR20160148700A (zh) |
CN (2) | CN108231109B (zh) |
CA (1) | CA2949282C (zh) |
MX (1) | MX357812B (zh) |
RU (1) | RU2665883C2 (zh) |
SG (1) | SG11201609766RA (zh) |
WO (1) | WO2015188732A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105552735A (zh) * | 2016-01-29 | 2016-05-04 | 成都绿迪科技有限公司 | 一种开关柜 |
CN106297890A (zh) * | 2016-07-21 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种内存目标刷新参数的确定方法及装置 |
GB2560968B (en) * | 2017-03-30 | 2020-07-29 | Advanced Risc Mach Ltd | Control of refresh operation for memory regions |
EP3605541A4 (en) | 2017-04-14 | 2020-04-01 | Huawei Technologies Co., Ltd. | MEMORY REFRESHING TECHNOLOGY AND COMPUTER SYSTEM |
CA3058778C (en) * | 2017-04-14 | 2023-02-21 | Huawei Technologies Co., Ltd. | Memory refresh technology and computer system |
TWI639920B (zh) * | 2017-11-17 | 2018-11-01 | 財團法人工業技術研究院 | 記憶體控制器及其控制方法以及記憶體及其控制方法 |
CN108710584B (zh) * | 2018-05-22 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种提高tlb刷新效率的方法 |
US10878880B2 (en) * | 2018-09-20 | 2020-12-29 | Qualcomm Incorporated | Selective volatile memory refresh via memory-side data valid indication |
CN112567351B (zh) * | 2018-11-15 | 2024-04-09 | 华为技术有限公司 | 控制从动态随机存储器中预取数据的方法、装置及系统 |
KR20200079885A (ko) | 2018-12-26 | 2020-07-06 | 한양대학교 산학협력단 | 리플레시 오버헤드를 줄일 수 있는 메모리 장치 및 이의 리플레시 방법 |
CN110187835B (zh) * | 2019-05-24 | 2023-02-03 | 北京百度网讯科技有限公司 | 用于管理访问请求的方法、装置、设备和存储介质 |
CN111880732A (zh) * | 2020-07-18 | 2020-11-03 | Oppo广东移动通信有限公司 | 一种闪存数据刷新方法及装置 |
CN115148248B (zh) * | 2022-09-06 | 2022-11-08 | 北京奎芯集成电路设计有限公司 | 基于深度学习的dram刷新方法和装置 |
CN117806809A (zh) * | 2022-09-26 | 2024-04-02 | 华为技术有限公司 | 内存刷新方法和装置 |
CN117935874A (zh) * | 2022-10-17 | 2024-04-26 | 长鑫存储技术有限公司 | 内存刷新参数确定、内存刷新方法、装置、介质和设备 |
KR102631193B1 (ko) * | 2023-10-23 | 2024-01-31 | 주식회사 뷰웍스 | 방사선 검출기의 리프레시 장치 및 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP3102696B2 (ja) * | 1990-09-10 | 2000-10-23 | 日本エーアールシー株式会社 | 被覆組成物および該組成物を用いる被覆樹脂成形品 |
CN101000798A (zh) * | 2007-01-12 | 2007-07-18 | 威盛电子股份有限公司 | 存储器刷新方法 |
CN103246853A (zh) * | 2012-02-06 | 2013-08-14 | Arm有限公司 | 用于控制dram中的数据刷新的装置和方法 |
CN103440208A (zh) * | 2013-08-12 | 2013-12-11 | 华为技术有限公司 | 一种数据存储的方法及装置 |
CN103811048A (zh) * | 2014-02-26 | 2014-05-21 | 上海新储集成电路有限公司 | 一种混合存储器结构的低功耗刷新方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03102696A (ja) * | 1989-09-16 | 1991-04-30 | Nec Home Electron Ltd | リフレッシュ制御装置 |
US5825706A (en) * | 1997-10-27 | 1998-10-20 | Motorola, Inc. | Circuit and method for retaining data in DRAM in a portable electronic device |
CN1137491C (zh) * | 1998-03-30 | 2004-02-04 | 西门子公司 | 动态随机存取存储器中的译码自动刷新模式 |
JP4056173B2 (ja) * | 1999-04-14 | 2008-03-05 | 富士通株式会社 | 半導体記憶装置および該半導体記憶装置のリフレッシュ方法 |
JP2002373489A (ja) | 2001-06-15 | 2002-12-26 | Mitsubishi Electric Corp | 半導体記憶装置 |
CN1232266C (zh) * | 2001-08-20 | 2005-12-21 | 赵步长 | 一种可用于治疗中风和胸痹的中药制剂及其制法 |
CN1215865C (zh) * | 2003-04-09 | 2005-08-24 | 江西汇仁药业有限公司 | 一种补肾中药 |
JP4478974B2 (ja) * | 2004-01-30 | 2010-06-09 | エルピーダメモリ株式会社 | 半導体記憶装置及びそのリフレッシュ制御方法 |
KR100652380B1 (ko) * | 2004-10-25 | 2006-12-01 | 삼성전자주식회사 | 버퍼를 이용하여 리프레쉬하는 메모리 장치 및 그 방법 |
US7590021B2 (en) | 2007-07-26 | 2009-09-15 | Qualcomm Incorporated | System and method to reduce dynamic RAM power consumption via the use of valid data indicators |
KR20110074285A (ko) * | 2009-12-24 | 2011-06-30 | 삼성전자주식회사 | 부분 셀프 리프레쉬를 수행하는 반도체 메모리 장치 및 이를 구비하는 반도체 메모리 시스템 |
KR101796116B1 (ko) * | 2010-10-20 | 2017-11-10 | 삼성전자 주식회사 | 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법 |
US20120151232A1 (en) * | 2010-12-12 | 2012-06-14 | Fish Iii Russell Hamilton | CPU in Memory Cache Architecture |
KR101879442B1 (ko) * | 2011-05-25 | 2018-07-18 | 삼성전자주식회사 | 휘발성 메모리 장치의 리프레쉬 방법, 리프레쉬 어드레스 생성기 및 휘발성 메모리 장치 |
KR20130117198A (ko) | 2012-04-18 | 2013-10-25 | 삼성전자주식회사 | 메모리 셀의 리프레쉬 방법 및 이를 이용한 반도체 메모리 장치 |
KR101966858B1 (ko) | 2012-04-24 | 2019-04-08 | 삼성전자주식회사 | 휘발성 메모리 장치의 동작 방법, 휘발성 메모리 장치 및 메모리 시스템의 제어 방법 |
JP5928585B2 (ja) * | 2012-06-07 | 2016-06-01 | 富士通株式会社 | 選択的にメモリのリフレッシュを行う制御装置 |
KR101932663B1 (ko) * | 2012-07-12 | 2018-12-26 | 삼성전자 주식회사 | 리프레쉬 주기 정보를 저장하는 반도체 메모리 장치 및 그 동작방법 |
KR102078562B1 (ko) * | 2013-02-25 | 2020-02-18 | 삼성전자 주식회사 | 리프레쉬 어드레스 생성기 및 이를 포함하는 휘발성 메모리 장치 |
CN104143355B (zh) * | 2013-05-09 | 2018-01-23 | 华为技术有限公司 | 一种刷新动态随机存取存储器的方法和装置 |
-
2014
- 2014-06-09 CN CN201711433354.5A patent/CN108231109B/zh active Active
- 2014-06-09 CN CN201410253514.8A patent/CN105280215B/zh active Active
-
2015
- 2015-06-08 KR KR1020167033881A patent/KR20160148700A/ko active Application Filing
- 2015-06-08 RU RU2016151308A patent/RU2665883C2/ru active
- 2015-06-08 SG SG11201609766RA patent/SG11201609766RA/en unknown
- 2015-06-08 KR KR1020187036935A patent/KR102048762B1/ko active IP Right Grant
- 2015-06-08 JP JP2016572231A patent/JP6429258B2/ja active Active
- 2015-06-08 WO PCT/CN2015/080989 patent/WO2015188732A1/zh active Application Filing
- 2015-06-08 EP EP15805953.5A patent/EP3142120B1/en active Active
- 2015-06-08 MX MX2016016024A patent/MX357812B/es active IP Right Grant
- 2015-06-08 CA CA2949282A patent/CA2949282C/en active Active
-
2016
- 2016-12-09 US US15/373,888 patent/US10007599B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3102696B2 (ja) * | 1990-09-10 | 2000-10-23 | 日本エーアールシー株式会社 | 被覆組成物および該組成物を用いる被覆樹脂成形品 |
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 |
CN101000798A (zh) * | 2007-01-12 | 2007-07-18 | 威盛电子股份有限公司 | 存储器刷新方法 |
CN103246853A (zh) * | 2012-02-06 | 2013-08-14 | Arm有限公司 | 用于控制dram中的数据刷新的装置和方法 |
CN103440208A (zh) * | 2013-08-12 | 2013-12-11 | 华为技术有限公司 | 一种数据存储的方法及装置 |
CN103811048A (zh) * | 2014-02-26 | 2014-05-21 | 上海新储集成电路有限公司 | 一种混合存储器结构的低功耗刷新方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170091087A1 (en) | 2017-03-30 |
KR20160148700A (ko) | 2016-12-26 |
JP2017521808A (ja) | 2017-08-03 |
RU2016151308A3 (zh) | 2018-07-17 |
EP3142120A4 (en) | 2017-04-26 |
MX357812B (es) | 2018-07-25 |
CN108231109A (zh) | 2018-06-29 |
WO2015188732A1 (zh) | 2015-12-17 |
CN105280215A (zh) | 2016-01-27 |
MX2016016024A (es) | 2017-03-28 |
SG11201609766RA (en) | 2016-12-29 |
EP3142120A1 (en) | 2017-03-15 |
CN105280215B (zh) | 2018-01-23 |
CA2949282A1 (en) | 2015-12-17 |
KR102048762B1 (ko) | 2019-11-26 |
JP6429258B2 (ja) | 2018-11-28 |
RU2016151308A (ru) | 2018-07-17 |
KR20180137613A (ko) | 2018-12-27 |
EP3142120B1 (en) | 2019-09-11 |
US10007599B2 (en) | 2018-06-26 |
CA2949282C (en) | 2018-10-23 |
RU2665883C2 (ru) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108231109B (zh) | 动态随机存取存储器dram的刷新方法、设备以及系统 | |
US10152501B2 (en) | Rollover strategies in a n-bit dictionary compressed column store | |
CN105808455B (zh) | 访问内存的方法、存储级内存及计算机系统 | |
CN114185818B (zh) | 基于扩展页表的gpu访存自适应优化方法及装置 | |
US11392488B2 (en) | Optimizing storage of application data in memory | |
CN109101185B (zh) | 固态存储设备及其写命令和读命令处理方法 | |
US11256568B2 (en) | Memory management systems and methods | |
US20130132704A1 (en) | Memory controller and method for tuned address mapping | |
US20160062909A1 (en) | Systems and methods for accessing memory | |
CN108874688A (zh) | 一种报文数据缓存方法及装置 | |
CN109086008A (zh) | 固态硬盘的数据处理方法以及固态硬盘 | |
WO2019022837A1 (en) | MINIMAL REDUCTION IN PERFORMANCE DEGRADATION DUE TO REFRESH OPERATIONS IN MEMORY SUBSYSTEMS | |
CN102662866B (zh) | 一种文件cache管理方法及内存管理系统 | |
WO2016126264A1 (en) | Refreshing an identified partial array | |
CN107870736B (zh) | 支持大于4gb非线性闪存的方法及装置 | |
CN110737405A (zh) | 基于固态硬盘的wordline数据存储实现方法和装置 | |
CN115934364B (zh) | 内存管理方法、装置及电子设备 | |
CN115705298A (zh) | 一种存储设备 | |
CN116954919A (zh) | 一种内存分配方法、装置、计算机设备及存储介质 | |
CN117476065A (zh) | 内存刷新周期确定方法及装置、存储介质及电子设备 | |
CN113721839A (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 |