KR102048762B1 - 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템 - Google Patents

다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR102048762B1
KR102048762B1 KR1020187036935A KR20187036935A KR102048762B1 KR 102048762 B1 KR102048762 B1 KR 102048762B1 KR 1020187036935 A KR1020187036935 A KR 1020187036935A KR 20187036935 A KR20187036935 A KR 20187036935A KR 102048762 B1 KR102048762 B1 KR 102048762B1
Authority
KR
South Korea
Prior art keywords
refresh
unit
dram
information
units
Prior art date
Application number
KR1020187036935A
Other languages
English (en)
Other versions
KR20180137613A (ko
Inventor
쩌한 추이
밍위 천
융빙 황
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20180137613A publication Critical patent/KR20180137613A/ko
Application granted granted Critical
Publication of KR102048762B1 publication Critical patent/KR102048762B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual 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 내에서 1회의 리프레시가 수행되는 스토리지 공간이며, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함하고, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보는 DRAM 액세스 요청으로서 캡슐화되고, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보는 DRAM 액세스 요청을 사용하여 리프레시 데이터 공간에 기입되며, 여기서 리프레시 데이터 공간은 DRAM 내에서 미리 설정되고, 적어도 하나의 리프레시 단위의 어드레스 및 적어도 하나의 리프레시 단위의 리프레시 정보를 저장하는 데 사용된다. 전술한 해결책에 따르면, 리프레시 단위의 리프레시 정보에 따라 적절한 리프레시가 수행되어, 동일한 사이클에 따라 수행되는 리프레시에 의해 초래되는 비교적 큰 성능 오버헤드 및 에너지 소비 오버헤드의 문제를 해결할 수 있다.

Description

다이나믹 랜덤 액세스 메모리(DRAM)를 리프레시하기 위한 방법, 장치 및 시스템{METHOD, DEVICE AND SYSTEM FOR REFRESHING DYNAMIC RANDOM ACCESS MEMORY(DRAM)}
본 발명은 컴퓨터 분야에 관한 것으로, 특히, 다이나믹 랜덤 액세스 메모리(DRAM), 및 장치를 리프레시하는 방법 및 시스템에 관한 것이다.
본 출원은 2014년 6월 9일자로 중국 특허청에 제출된 "다이나믹 랜덤 액세스 메모리(DRAM) 및 장치를 리프레시하는 방법 및 시스템"이라는 명칭의 중국 특허 출원 제201410253514.8호의 우선권을 주장하며, 출원의 전체 내용은 본 출원에 참조로서 합체된다.
기존의 컴퓨터 시스템에서, 저렴하고 고밀도인 DRAM(Dynamic Random Access Memory)이 일반적으로 시스템 메인 메모리로서 사용되고, 이는 메모리라고도 지칭된다. DRAM은 커패시터에서 전하를 사용하여 데이터를 저장한다. 그러나, 이러한 전하는 누전의 존재로 인해 계속 누설된다. 따라서, 누설되는 전하를 보상하기 위해, DRAM의 데이터를 정기적으로 판독하고 다시 기입해야 하며, 이러한 동작은 리프레시(Refresh)로 지칭된다.
DRAM은 다수의 뱅크(Bank)를 포함하고, 각 뱅크는 2차원 스토리지 어레이이며, 여기서 수평 라인은 로우(Row)라고 지칭되고, 수직 라인은 컬럼(Column)이라고 지칭된다. 리프레시 프로세스에서, DRAM은 매번 하나의 로우(메모리 로우라고도 함)를 선택하고, 그 로우의 모든 데이터를 감지 증폭기(Row Buffer, 로우 버퍼라고도 함)에 추출한다. 이러한 프로세스를 액티브(Activation)이라고 한다. 그 다음, DRAM은 로우 버퍼 내에, 대응하는 데이터의 판독 및 기입을 완료하고, 로우 버퍼 내의 데이터는 스토리지 어레이로 다시 기입되며, 이는 프리-차지(Pre-charge) 동작으로 지칭된다. 액티브 동작 및 프리-차지 동작에 의해, 전체 리프레시 프로세스가 구현된다. DRAM 리프레시는 컴퓨터 시스템에 비교적 큰 오버헤드를 유발한다. DRAM은 리프레시 프로세스에서 정상적인 메모리 액세스 요청에 응답할 수 없으므로, 성능 오버헤드가 발생한다. 게다가, 리프레시 동작은 전력-소비 동작이므로 에너지 소비 오버헤드가 발생한다.
기존의 리프레시 방법은 동일한 사이클을 사용하여 DRAM의 모든 로우를 리프레시하여, 가장 심각한 누전을 겪는 단위 내의 데이터가 손실되지 않도록 한다
본 발명의 완성 과정에서, 종래 기술은 다음의 문제점을 가지는 것으로 밝혀졌다. DRAM의 용량이 지속적으로 증가함에 따라, 동일한 사이클을 사용하여 모든 메모리 로우를 리프레시하는 방식은 점점 커지는 성능 오버헤드 및 에너지 소비 오버헤드를 가지고, 이는 시스템의 에너지 효율성에 중대한 영향을 미친다.
이를 토대로, 본 발명의 실시예들은 리프레시 프로세스에서 오버헤드를 효과적으로 감소시키기 위해, 다이나믹 랜덤 액세스 메모리(DRAM), 및 장치를 리프레시하는 방법 및 시스템을 제공한다.
본 발명의 실시예의 제1 측면은 다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 방법을 제공하고, 방법은 DRAM 내의 리프레시 단위(unit)의 어드레스 및 리프레시 단위의 리프레시 정보를 획득하는 단계, 그리고 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하고, DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하는 단계를 포함하고, 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이고, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함하며, 리프레시 데이터 공간은 DRAM 내의 미리 설정된 스토리지 공간이다.
제1 측면을 참조하여, 제1 가능한 구현 방식으로, DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하는 단계 이전에, DRAM 내에서, 미리 설정된 스토리지 공간을 리프레시 데이터 공간으로서 할당하는 단계를 더 포함한다.
제1 측면 또는 제1 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식으로, 획득된 리프레시 단위의 어드레스는 리프레시 단위의 물리적 어드레스를 포함하고, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하고, DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간으로 기입하는 단계는, 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하고, DRAM 액세스 요청을 사용하여 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간으로 기입하는 단계를 포함한다.
제1 측면 또는 제1 측면의 제1 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식으로, 획득된 리프레시 단위의 어드레스는 리프레시 단위의 가상 어드레스를 포함하고, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하기 이전에, 페이지 테이블을 조회하여 리프레시 단위의 가상 어드레스를 리프레시 단위의 물리적 어드레스로 변환하는 단계를 포함하고, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하고, DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간으로 기입하는 단계는, 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하고, DRAM 액세스 요청을 사용하여 리프레시 정보를 리프레시 데이터 공간으로 기입하는 단계를 포함한다.
본 발명의 실시예의 제2 측면은 다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 장치를 제공하고, 장치는 DRAM 내의 리프레시 단위(unit)의 어드레스 및 리프레시 단위의 리프레시 정보를 획득하도록 구성된 획득 유닛, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하도록 구성된 캡슐화 유닛, 그리고 DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하도록 구성된 기입 유닛을 포함하고, 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이고, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함하며, 리프레시 데이터 공간은 DRAM 내의 미리 설정된 스토리지 공간이다.
제2 측면을 참조하여, 제1 가능한 구현 방식으로, DRAM 내에서, 미리 설정된 스토리지 공간을 리프레시 데이터 공간으로서 할당하도록 구성된 할당 유닛을 더 포함한다.
제2 측면 또는 제2 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식으로, 획득 유닛에 의해 획득된 리프레시 단위의 어드레스는 리프레시 단위의 물리적 어드레스를 포함하고, 캡슐화 유닛은 구체적으로 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하도록 구성되고, 기입 유닛은 구체적으로 DRAM 액세스 요청을 사용하여 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하도록 구성된다.
제2 측면 또는 제2 측면의 제1 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식으로, 획득 유닛에 의해 획득된 리프레시 단위의 어드레스는 리프레시 단위의 가상 어드레스를 포함하고, 처리 장치는, 페이지 테이블을 조회하여 리프레시 단위의 가상 어드레스를 리프레시 단위의 물리적 어드레스로 변환하도록 구성된 변환 처리 유닛을 더 포함하고, 캡슐화 유닛은 구체적으로 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하도록 구성되고, 기입 유닛은 구체적으로 DRAM 액세스 요청을 사용하여 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하도록 구성된다.
본 발명의 실시예의 제3 측면은 다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 장치를 제공하고, 처리 장치는 프로세서, 메모리, 통신 인터페이스, 및 버스를 포함하고, 프로세서, 메모리, 및 통신 인터페이스는 버스를 사용하여 통신을 수행하며, 메모리는 프로그램을 저장하도록 구성되고, 통신 인터페이스는 DRAM과 통신하도록 구성되며, 처리 장치가 동작 중일 때, 프로세서는 메모리에 저장된 프로그램을 실행하여, 제1 측면 또는 제1 측면의 가능한 구현 방식들 중 어느 하나에 따른 방법을 수행하도록 구성된다.
본 발명의 실시예의 제4 측면은 다이나믹 랜덤 액세스 메모리(DRAM)를 리프레시하기 위한 방법을 제공하고, 방법은 DRAM 내의 리프레시 단위(unit)에 대한 리프레시 커맨드를 생성하는 단계, 리프레시 데이터 공간으로부터, 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 판독하는 단계, 그리고 리프레시 정보에 따라 리프레시 단위에 대해 리프레시 동작을 수행하는 단계를 포함하고, 리프레시 커맨드는 리프레시 단위의 물리적 주소를 포함하고, 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이며, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함한다.
제4 측면을 참조하여, 제1 가능한 구현 방식으로, 리프레시 데이터 공간으로부터, 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 판독하는 단계는, 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 사이의 대응 관계로서 리프레시 데이터 공간 내에 저장되는 대응 관계 및 리프레시 단위의 물리적 어드레스에 따라 리프레시 단위의 리프레시 정보를 결정하고, 리프레시 데이터 공간으로부터, DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 판독하는 단계를 포함한다.
제4 측면 또는 제4 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식으로, 리프레시 데이터 공간은 DRAM 내에 미리 설정되고, DRAM 내의 다수의 리프레시 단위의 리프레시 정보를 저장하는 데 사용되는 스토리지 공간이고, 리프레시 데이터 공간으로부터, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하는 단계를 더 포함한다.
제4 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식으로, 리프레시 데이터 공간으로부터, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하는 단계 이후에, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위에 대한 리프레시 커맨드를 수신하는 단계, 다수의 연속하는 리프레시 단위 내에서 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는지 여부를 결정하는 단계, 및 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는 것으로 결정되는 때, 다수의 연속하는 리프레시 단위에 대해 오토 리프레시(Auto Refresh)의 리프레시 동작을 수행하거나, 또는 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하지 않는 것으로 결정되는 때, 다수의 연속하는 리프레시 단위에 대해 RAS-Only 리프레시(RAS-Only Refresh)의 리프레시 동작을 수행하는 단계를 더 포함한다.
본 발명의 실시예의 제5 측면은 다이나믹 랜덤 액세스 메모리(DRAM) 내의 리프레시 단위(unit)에 대한 리프레시 커맨드를 생성하도록 구성된 리프레시 커맨드 생성 모듈, 리프레시 데이터 공간으로부터, 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 획득하도록 구성된 획득 모듈, 그리고 리프레시 정보에 따라 리프레시 단위에 대해 리프레시 동작을 수행하도록 구성된 실행 모듈을 포함하고, 리프레시 커맨드는 리프레시 단위의 물리적 어드레스를 포함하고, 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이며, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함하는, DRAM 컨트롤러를 제공한다.
제5 측면을 참조하여, 제1 가능한 구현 방식으로, 획득 모듈은, 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 사이의 대응 관계로서 리프레시 데이터 공간 내에 저장되는 대응 관계 및 리프레시 단위의 물리적 어드레스에 따라 리프레시 단위의 리프레시 정보를 결정하도록 구성된 조회 유닛, 그리고 리프레시 데이터 공간으로부터, DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 판독하도록 구성된 판독 유닛을 포함한다.
제5 측면 또는 제5 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식으로, 획득 모듈은 리프레시 데이터 공간으로부터, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하도록 더 구성된다.
제5 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식으로, 실행 모듈은, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위에 대한 리프레시 커맨드를 수신하도록 구성된 수신 유닛, 다수의 연속하는 리프레시 단위 내에서 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는지 여부를 결정하도록 구성된 결정 유닛, 그리고 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는 것으로 결정되는 때, 다수의 연속하는 리프레시 단위에 대해 오토 리프레시(Auto Refresh)의 리프레시 동작을 수행하거나, 또는 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하지 않는 것으로 결정되는 때, 다수의 연속하는 리프레시 단위에 대해 RAS-Only 리프레시(RAS-Only Refresh)의 리프레시 동작을 수행하도록 구성된 실행 유닛을 포함한다.
본 발명의 실시예의 제6 측면은 적어도 하나의 리프레시 단위(unit)를 포함하는 다이나믹 랜덤 액세스 메모리(DRAM), 그리고 제5 측면 또는 제5 측면의 가능한 구현 방식들 중 어느 하나에 따른 DRAM 컨트롤러를 포함하는 DRAM을 리프레시하기 위한 시스템을 제공한다.
본 발명의 실시예들에서 제공된 DRAM 및 장치를 리프레시하기 위한 방법 및 시스템에 따르면, DRAM 내의 리프레시 단위의 리프레시 정보가 획득되고, 여기서 리프레시정보는 리프레시 단위의 리프레시 사이클을 포함하고, 리프레시 정보는 DRAM 내의 미리 설정된 스토리지 공간의 일부분, 즉, 리프레시 데이터 공간에 기입되며, DRAM 내의 리프레시 단위를 리프레싱하는 과정에서, DRAM 컨트롤러는, 리프레시 데이터 공간으로부터, DRAM 판독 커맨드를 사용하여 리프레시 단위에 대응하는 리프레시 정보를 판독하고, 리프레시 정보를 사용하여 대응하는 리프레시 단위에 대해 리프레시 동작을 수행한다. 전술한 방식에 의해, DRAM 용량이 계속적으로 증가하는 경우에서, 한편으로, 리프레시 단위의 리프레시 정보에 따라 적절한 리프레시가 수행될 수 있고, 종래 기술에서의 동일한 사이클에 따라 수행된 리프레시에 의해 초래되는 비교적 높은 성능 오버헤드 및 에너지 소모 오버헤드의 문제점을 방지하고, 다른 한편으로, 리프레시 단위의 리프레시 정보가 DRAM 공간 내에 저장되어, DRAM의 저장 용량이 계속적으로 증가하는 경우, 리프레시 정보의 데이터량의 증가에 기인한 저장 공간에 대한 요구 사항이 충족될 수 있다.
본 발명의 실시예에서의 기술적 해결책을 보다 명확하게 설명하기 위해, 이하에서는 실시예를 설명하기 위해 요구되는 첨부 도면을 간단히 소개한다. 명백하게, 다음의 설명에서의 첨부된 도면은 본 발명의 단지 일부 실시예를 도시하고, 당업자는 창조적인 노력 없이도 이들 도면으로부터 다른 도면을 유도할 수 있다.
도 1은 본 발명의 일 실시예가 기초하는 시스템 아키텍처의 도면이다.
도 2a는 본 발명에 따른 제1 방법 실시예의 제1 구현 방식의 순서도이다.
도 2b는 본 발명에 따른 제1 방법 실시예의 제2 구현 방식의 순서도이다.
도 2c는 본 발명에 따른 제1 방법 실시예의 단계(230)의 제1 구현 방식의 순서도이다.
도 2d는 본 발명에 따른 제1 방법 실시예의 단계(230)의 제2 구현 방식의 순서도이다.
도 3a는 본 발명에 따른 제2 방법 실시예의 순서도이다.
도 3b는 본 발명에 따른 제2 방법 실시예의 단계(330)의 구현 방식의 순서도이다.
도 3c는 본 발명에 따른 제2 방법 실시예의 추가적인 단계의 구현 방법의 순서도이다.
도 4는 본 발명의 제1 장치 실시예의 구조도이다.
도 5는 본 발명에 따른 제2 장치 실시예의 구조도이다.
도 6a는 본 발명에 따른 제2 장치 실시예의 구조도이다.
도 6b는 본 발명에 따른 제2 장치 실시예의 취득 모듈의 구현 방법의 구조도이다.
도 6c는 본 발명에 따른 제2 장치 실시예의 실행 모듈의 구현 방식의 구조도이다.
도 7은 본 발명의 시스템 실시예의 네트워킹 연결도이다.
다음은 본 발명의 실시예들에서 첨부된 도면을 참조하여 본 발명의 실시예들의 기술적 해결책을 명확하고 완전하게 설명한다. 명백하게, 설명된 실시예는 본 발명의 실시예의 전부가 아닌 일부이다. 창의적인 노력없이 본 발명의 실시예에 기초하여 당업자에 의해 획득된 다른 모든 실시예는 본 발명의 보호 범위 내에 있다.
다음의 설명은 DRAM 장치에 초점을 맞추지만, 당업자는 본 발명이 다수의 유닛을 포함하고 그것의 내용을 보유하기 위해 일정한 간격으로 리프레시되거나 또는 다른 방식으로 관리될 필요가 있는 임의의 유형의 저장 장치에 적용될 수 있음을 이해한다. 당업자라면, 비록 저장 장치가 2차원 로우-컬럼 어레이로 조직된 기억 장치에 다음의 설명이 초점을 맞추더라도, 저장 장치가 다수의 뱅크(Bank)로 조직되는 것과 인터리브되거나 인터리브되지 않는 것, 2차원 이상의 배열로 구성되는 것, 주소 지정이 가능한 콘텐츠로 구성되는 것 등을 포함하는 여러 방식으로 조직될 수 있음을 이해한다. 또한, 다음의 논의의 적어도 일부가 컴퓨터 시스템의 메모리에 초점을 맞추었지만, 당업자는 청구된 본 발명이 메모리 장치를 갖는 다른 전자 장치 또는 시스템과 조합하여 구현될 수 있다는 것을 이해한다.
본 발명의 실시예들의 시스템 아키텍쳐
도 1은 본 발명의 일 실시예에 따른 메모리 리프레시 시스템의 개략적인 네트워킹 도면을 도시한다. 리프레시 시스템은 프로세서(100), 메모리 컨트롤러(200), 및 메모리 칩(300)을 포함한다. 프로세서(100)는 메모리 컨트롤러(200)를 사용하여 메모리 칩(300)으로부터 데이터를 판독하고 메모리 칩(300)에 데이터를 기록한다. 특정 구현 동안, 프로세서(100) 및 메모리 컨트롤러(200)는 동일한 칩에 통합될 수 있거나, 또는 두 개의 상이한 칩에 의해 개별적으로 구현될 수도 있다.
메모리 칩(300)에서, 스토리지 공간의 일부는 리프레시 데이터 공간(310)으로서 미리 설정되고, 리프레시 데이터 공간은 연속적인 영역일 수 있거나, 또는 다수의 분산된 영역일 수 있다. 응용 프로그램에 메모리를 할당할 때, 운영 체제는 전술한 영역을 할당할 수 없다.
메모리 칩(300)은 일반적으로 DRAM 칩에 의해 구현되고, 메모리 칩(300)이 DRAM 칩에 의해 구현되는 경우, 메모리 컨트롤러(200)는 DRAM 컨트롤러에 의해 구현될 수 있다.
본 발명의 실시예들
현재 메모리의 저장 용량이 지속적으로 증가함에 따라, 메모리 리프레시의 성능 오버헤드 및 전력 소비 오버헤드를 줄이는 방법이 문제가 되고 있다.
업계에서 일반적으로 사용되는 리프레시 방법은 동일한 사이클을 사용하여 메모리의 모든 로우를 리프레시하여, 가장 심각한 누전을 겪는 단위 내의 데이터가 손실되지 않도록 한다 특히, 다음과 같이 두 가지 리프레시 방법이 있다.
(1) AR(오토 리프레시, Auto Refresh) 방식: 카운터(RAC)가 메모리 칩 내에 유지되고, 다음 리프레시 대상 로우를 지시한다. 메모리 컨트롤러는 tREFI 시간 간격으로 리프레시 커맨드를 전송하고, 메모리 칩이 커맨드를 수신한 후, 리프레시 동작은 모든 뱅크 내에서, RAC에 의해 지시된 로우 그룹(로우들의 수량은 메모리 칩의 밀도에 의해 결정됨)에 대해 수행된다. 리프레시 동작의 지속 시간은 tRFC이고, 이 기간 동안, 메모리 칩은 정상적인 메모리 액세스 요청에 응답할 수 없다. tRFC 시간 이후에, 메모리 칩은 카운터의 값을 업데이트하고 카운터가 리프레시 대상 로우의 다음 그룹을 지시하도록 한다.
(2) ROR (RAS-Only Refresh) 방식: 메모리 컨트롤러가 로우 어드레스 스트로브(RAS: Row Address Strobe) 커맨드를 전송하고, 메모리로부터 하나의 로우 내의 데이터를 로우 버퍼에 추출하며, 로우의 데이터의 리프레시를 완료하기 위해, 로우의 데이터는 후속하는 프리-차지 커맨드에 의해 저장 유닛에 다시 기입된다. 이 경우, 메모리 컨트롤러는 내부에 카운터(RAC)를 유지하고 주기적으로 RAS 커맨드를 전송한다. 이러한 리프레시 방식에서는, 매번 단 하나의 로우가 리프레시되고, 그 로우가 리프레시되는 때, 다른 뱅크에 계속 액세스할 수 있다
전술한 AR 방식에서, 리프레시 주기(granularity)는 비교적 크고, 각 로우의 평균 리프레시 오버헤드는 비교적 작다. 그러나, 메모리의 일부 로우가 유효하지 않은 데이터를 저장하는 경우(즉, 유효하지 않은 데이터는 리프레시될 필요가 없음) 또는 중요하지 않은 데이터를 저장하는 경우(중요하지 않은 데이터는 상대적으로 높은 빈도로 리프레시될 필요가 없음), 전술한 AR 방식의 오버헤드는 비교적 크다. ROR 방식에서, 리프레시 주기(granularity)는 비교적 작고, 리프레시 대상 로우는 메모리 컨트롤러에 의해 특정되어, 메모리 컨트롤러가 유연한 제어를 수행할 수 있게 한다. 그러나, ROR 방식에서의 각 로우의 평균 리프레시 오버헤드는 비교적 크다.
전술한 메모리에서, 리프레시 대상 데이터의 각 로우는 리프레시 단위(Refresh Unit)를 구성한다. 특정 구현에서, 리프레시 단위는 하나의 메모리 로우일 수 있거나, 다수의 메모리 로우일 수 있거나, 메모리 로우보다 작은 단위(granularity)일 수 있으며, 이는 본 발명의 임의의 실시예에서 제한되지 않는다.
리프레시 오버헤드를 감소시키고 메모리 데이터를 리프레시하는 효율을 개선하기 위해, 다음의 3 개의 파라미터를 사용하여 각 리프레시 단위의 리프레시 파라미터가 결정될 수 있다.
(1) 데이터 유지 시간: 데이터 유지 시간은 T0으로 나타내고, 리프레시 단위의 미리 설정된 리프레시 사이클이다 예를 들어, 리프레시 단위가 64 밀리초 간격으로 리프레시되면, 미리 설정된 리프레시 사이클 T0 = 64 밀리초이다.
(2) 데이터 유효도: 데이터 유효도는 μ로 표시되며 리프레시 단위에 저장된 데이터의 유효도를 측정하는 데 사용된다. 리프레시 단위에 저장된 데이터가 유효한 데이터이면, μ = 1이고, 리프레시 단위에 저장된 데이터가 유효하지 않은 데이터이면, μ = 0이다. 데이터 유효도는 운영 체제에 의해 결정된다.
(3) 데이터 임계도: 데이터 임계도는 λ로 표시되고 리프레시 단위에 저장된 데이터의 임계도를 측정하는 데 사용된다. 데이터 유효도의 레벨에 따르면, 리프레시 단위에 저장된 데이터의 데이터 유효도의 값 범위는 0 <λ ≤1이다. 데이터 유효도는 운영 체제에 의해 설정될 수 있거나, 또는 데이터 유효도는 사용자에 의해 설정되어 운영 체제에 통지될 수 있다.
리프레시 단위의 리프레시 사이클과 전술한 3개의 파라미터 사이에는 다음의 관계가 존재한다: 리프레시 사이클 = 미리 설정된 리프레시 사이클 * 데이터 유효도 / 데이터 임계도이고, 심볼을 사용하여 다음과 같이 표현된다: 리프레시 사이클 T = T0 * μ / λ (μ ≠ 0 인 경우에도 적용 가능)이다. 리프레시 단위의 리프레시 데이터가 유효하지 않은 데이터인 경우, 이 경우, 리프레시 단위의 리프레시 사이클은 무한대, 즉, 리프레시 단위가 리프레시되지 않는다는 것을 유의해야 한다.
예를 사용하여 설명한다. 데이터 임계도가 1인 유효 데이터를 저장하는 리프레시 단위의 경우, 리프레시 단위의 리프레시 사이클 = T0 * 1 / 1 = T이다. 비 임계적인 유효 데이터를 저장하는 리프레시 단위의 경우, 운영 체제에 의해 설정된 데이터 임계도에 따라 데이터 임계도 λ (여기서, 0 <λ≤1)가 결정될 수 있고, 리프레시는 시스템에 의해 선택되는 미리 설정된 리프레시 사이클과 조정 인자의 곱을 사용하여 수행될 수 있으며, 즉, T0*(1 / λ)이다.
예를 들면, 리프레시 단위에 대해, 리프레시 단위의 데이터 유지 시간 T0 (즉, 미리 설정된 리프레시 사이클)는 64 밀리초이고, 데이터 유효도 μ는 1, 데이터 유효도 λ는 0.5이므로, 전술한 계산 수식에 따라, 리프레시 단위의 리프레시 사이클이 64 * 2 (밀리 초)인 것으로 결정된다.
예를 들어, 하나의 정보 저장 포맷을 사용하여, 상이한 데이터 임계도를 갖는 리프레시 단위의 리프레시 정보가 표 1을 사용하여 표현될 수 있다. 다음의 표에서, 하나의 리프레시 단위의 리프레시 정보는 4 비트를 사용하여 표현될 수 있다. 리프레시 정보를 나타내는 데 사용되는 비트 수는 사용자 정의 설정을 기반으로 하는 것을 유의해야 한다. 비트 수가 많아지면, 리프레시 사이클의 더 많은 옵션이 표시될 수 있다. 당업자의 경우, 리프레시 정보를 표현하기 위한 비트의 수량은 특정 리프레시 요구 사항에 따라 선택되고, 이는 본 발명의 임의의 실시예에서 제한되지 않는다. 하기의 표 1은 단지 설명을 위한 예로서 사용된다.
다음의 표 1로부터, 4 비트를 사용하여 표현된 리프레시 정보는 실제로 리프레시 단위에 대응하는 리프레시 사이클을 포함한다는 것을 알 수 있다.
Figure 112018127931444-pat00001
제1 방법 실시예
도 2a를 참조하면, 본 실시예는 다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 방법을 제공한다. 이 방법의 프로세스는 다음과 같다.
단계(210): DRAM 내의 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 획득하고, 여기서 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이고, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함한다.
특히, 이 방법 실시예는 운영 체제에 의해 실행될 수 있다.
리프레시 단위의 어드레스는 리프레시 단위의 물리적 어드레스 또는 리프레시 단위의 가상 어드레스일 수 있다.
종래 기술에서, 리프레시 정보는 많은 획득 방식으로 획득될 수 있다. 예를 들어, 소프트웨어 상에서, 리프레시 정보는 데이터 보유 시간에 대한 테스트, 페이지 할당/해제에 대한 모니터링, 또는 사용자의 마크에 의해 결정될 수 있다. 그리고 하드웨어 상에서, 리프레시 정보는 데이터 보유 시간에 대한 테스트, 최근 데이터 액세스 이력 등에 의해 결정될 수 있다. 이는 본 발명의 실시예에서 상세히 설명되지 않는다.
구체적으로, DRAM 내의 리프레시 단위의 리프레시 정보를 획득하기 전에, 방법은 데이터 유지 시간, 데이터 유효도, 및 데이터 임계도 등과 같은 리프레시 단위의 파라미터를 리프레시 단위의 리프레시 정보로 변환하는 단계를 더 포함한다. 특정 변환 프로세스에 대해서, 표 1의 관련 설명을 참조할 수 있다.
전술한 리프레시 단위의 리프레시 정보에 포함되는 정보는 리프레시 단위의 리프레시 사이클이다.
단계(230): 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하고, DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하며, 여기서 리프레시 데이터 공간은 DRAM 내의 미리 설정된 스토리지 공간이다.
구체적으로, 운영 체제는 기존의 DRAM 액세스 요청을 사용하여 리프레시 데이터 공간에 리프레시 단위의 어드레스와 리프레시 정보를 기입할 수 있다.
또한, DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하는 단계(230) 이전에, 도 2b를 참조하면, 방법은 다음을 더 포함한다.
단계(220): DRAM 내에서, 미리 설정된 스토리지 공간을 리프레시 데이터 공간으로서 할당한다.
단계(220)와 단계(210) 사이에는 엄격한 순차적인 관계가 없다는 것을 알아야 한다 특정 구현 프로세스에서, 단계(210)가 먼저 수행될 수 있고, 그 다음에 단계(220)가 수행된다. 또는 단계(220)가 먼저 수행될 수 있고, 그 다음에 단계(210)가 수행되며, 이는 본 발명의 실시예에 제한되지 않는다.
DRAM에서, 리프레시 데이터 공간으로서 스토리지 공간의 일부를 할당하는 전술한 단계(220)는 다음의 방식을 사용하여 구현될 수 있다.
(1) 운영 체제는 리프레시 정보를 저장하는 영역의 메모리 공간에 적용되고, 해당 영역의 주소 범위를 메모리 컨트롤러에 통지한다.
(2) BIOS(Basic Input/Output System, 즉, 기본 입출력 시스템)는 리프레시 정보를 저장하기 위한 메모리 공간 내의 영역을 보유하고, 그 영역의 어드레스 범위를 운영 체제 및 메모리 컨트롤러에 통지한다.
(3) 메모리 컨트롤러는 리프레시 정보를 저장하기 위한 메모리 공간 내의 영역을 보유하고, 해당 영역의 주소 범위를 운영 체제에 통지한다.
리프레시 데이터 공간은 연속적인 영역일 수 있거나, 분산된 다수의 영역일 수 있다. 메모리가 응용 프로그램에 할당되는 경우, 운영 체제는 전술한 영역을 할당할 수 없다.
또한, 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보는 리프레시 데이터 공간에 기입되고, 이 방식으로, 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 간의 대응 관계가 리프레시 데이터 공간 내에서 확립된다. 일례로서, 리프레시 데이터 공간의 구조가 표 2에 도시된다(여기서, 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 간의 대응 관계를 테이블의 형태로 저장하는 것은 단지 하나의 구현 방식이며, 본 발명의 실시예는 다른 구현 방식을 배제하지 않는다).
Figure 112018127931444-pat00002
또한, 상이한 특정 구현 프로세스에 따라, 단계(230)를 수행하는 프로세스에 두 가지 구현 방식이 있다.
방식 1: 이 방식은 단계(231) 내지 단계(232)의 구현 프로세스를 포함한다. 획득된 리프레시 단위의 어드레스는 리프레시 단위의 물리 어드레스를 포함한다. 도 2c를 참조하면, 단계(230)의 구체적인 프로세스는 다음과 같다.
단계(231): 리프레시 단위의 물리 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화한다.
단계(232): DRAM 액세스 요청을 사용하여 리프레시 데이터 공간에 리프레시 장치의 물리적 주소와 리프레시 정보를 기록한다.
구체적으로, 전술한 구현 프로세서에서, 운영 체제가 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 획득하는 때, 운영 체제는 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기록할 수 있다.
방식 2: 이 방식은 단계(233) 내지 단계(235)의 구현 프로세스를 포함한다. 획득된 리프레시 단위의 어드레스는 리프레시 단위의 가상 어드레스를 포함한다 도 2d를 참조하면, 단계(230)의 구체적인 프로세스는 다음과 같다.
단계(233): 페이지 테이블을 조회하여 리프레시 단위의 가상 주소를 리프레시 단위의 물리적 주소로 변환한다.
단계(234): 리프레시 단위의 물리 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화한다.
단계(235): DRAM 액세스 요청을 사용하여 리프레시 데이터 공간에 리프레시 단위의 물리 어드레스 및 리프레시 정보를 기록한다.
구체적으로, 전술한 구현 프로세스에서, 리프레시 단위의 리프레시 정보 및 리프레시 단위의 가상 어드레스는 사용자 모드 애플리케이션을 사용하여 획득된다. 이 경우, 사용자 모드 어플리케이션은 리프레시 단위의 가상 어드레스 및 리프레시 단위의 리프레시 정보를 운영 체제에 전송하고, 운영 체제는 리프레시 단위의 가상 어드레스에 따라 페이지 테이블(페이지 테이블)을 조회하여 리프레시 단위의 물리적 어드레스를 획득하고, 리프레시 단위의 물리적 어드레스 및 리프레시 정보를 리프레시 데이터 공간에 기록한다
다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 방법의 전술한 실시예에 따르면, 리프레시 정보가, 기존의 DRAM 액세스 요청을 사용하여, DRAM 내에 미리 할당된 리프레시 데이터 공간에 기입될 수 있어, 방법은 DRAM의 저장 용량의 지속적인 증가로 인한, 리프레시 정보에 대한 저장 공간을 지속적으로 확장하는 요구 조건을 만족시킬 수 있다. 게다가, 리프레시 정보의 저장은 기존의 DRAM 액세스 요청을 사용하여 구현되며, 이는 간단하고 실용적인 구현 해결책이다.
제2 방법 실시예
도 3a를 참조하면, 본 실시예는 다이나믹 랜덤 액세스 메모리(DRAM)를 리프레시하기 위한 방법을 제공한다. 이 방법 실시예는 메모리 컨트롤러에 의해 실행되며, 그 처리는 다음과 같다.
단계(310): DRAM 내의 리프레시 단위에 대한 리프레시 커맨드를 생성하고, 여기서 리프레시 커맨드는 리프레시 단위를 지시하는 물리적 어드레스를 포함하고, 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이다.
특히, 메모리 컨트롤러는 주기적으로 리프레시 커맨드를 생성하고, 리프레시 커맨드는 리프레시 대상 단위의 물리적 어드레스를 포함한다.
단계(330): 리프레시 데이터 공간으로부터, 리프레시 단위의 물리적 어드레스에 따라 리프레시 단위의 리프레시 정보를 판독하고, 여기서 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함한다.
단계(350): 리프레시 정보에 따라 리프레시 단위에 대해 리프레시 동작을 수행한다.
특히, 메모리 컨트롤러가 표 2를 참조하여, 리프레시 정보에 따라 리프레시 단위에 대해 리프레시 동작을 수행하는 경우, 상이한 리프레시 정보에 대해, 메모리 컨트롤러는 상이한 리프레시 동작을 수행한다.
(1) 메모리 컨트롤러에 의해 판독된 리프레시 정보의 데이터 유효 식별자가 0이면, 이는 리프레시 정보에 대응하는 리프레시 단위에 저장된 데이터가 유효하지 않은 데이터임을 지시하고, 메모리 컨트롤러는 리프레시 커맨드를 파기한다.
(2) 메모리 컨트롤러에 의해 판독된 리프레시 정보의 데이터 유효 식별자가 1이고 리프레시 사이클 식별자가 abc(a, b, c의 값이 모두 1 또는 0)이면, 표 2 및 표 1의 내용에 따라, 리프레시 단위의 리프레시 사이클이 결정되고, 리프레시 단위는 리프레시 사이클에 따라 리프레시된다.
또한, 도 3b를 참조하면, 리프레시 단위의 물리적 어드레스에 따라 리프레시 데이터 공간으로부터, 리프레시 단위에 대응하는 리프레시 정보를 판독하는 단계(330)는 다음을 포함한다.
단계(331): 리프레시 단위의 물리적 어드레스에 따라, 리프레시 데이터 공간에 저장되는 대응관계로서, 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 사이의 대응 관계를 조회한다.
단계(332): DRAM 판독 커맨드를 사용하여 리프레시 데이터 공간으로부터, 리프레시 단위의 리프레시 정보를 판독한다.
리프레시 단위의 물리적 어드레스에 따라, 메모리 컨트롤러는, DRAM 판독 커맨드를 사용하여 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 사이의 대응 관계로부터, 리프레시 단위의 리프레시 정보를 판독한다.
또한, 리프레시 데이터 공간은 DRAM에 미리 설정되어 있고, 다수의 리프레시 단위의 리프레시 정보를 DRAM 내에 저장하는 데 사용되는 스토리지 공간이며, 방법은 다음을 더 포함한다.
단계(340): 리프레시 데이터 공간으로부터, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득한다.
DRAM 데이터의 판독/기록 단위는 상대적으로 크고, 일반적으로 64 바이트이며, 전술한 실시예에 따라, 하나의 리프레시 단위의 리프레시 정보의 저장은 4 비트를 사용하여 표현되므로, DRAM은 한번에 128 리프레시 단위의 리프레시 정보를 판독함을 유의해야 한다.
또한, 리프레시 데이터 공간으로부터, 리프레시 단위 이후의 다수의 리프레시 단위의 리프레시 정보 판독한 후에, 도 3c를 참조하면, 방법은 다음을 더 포함한다.
단계(341): 리프레시 단위 이후의 다수의 연속적인 리프레시 단위에 대한 리프레시 커맨드를 수신한다.
단계(342): 다수의 연속적인 리프레시 단위 내에서, 리프레시 동작이 수행되어야 하는 리프레시 단위의 수량이 임계치를 초과하는지를 결정한다.
단계(343): 리프레시 동작이 수행되어야 하는 리프레시 단위의 수량이 임계치를 초과하는 것으로 결정되는 때 다수의 연속적인 리프레시 단위에 대해 오토 리프레시의 리프레시 동작을 수행한다.
단계(344): 리프레시 동작이 수행되어야 하는 리프레시 단위의 수량이 임계치를 초과하지 않는다고 결정되는 때, 다수의 연속적인 리프레시 단위에 대해 RAS-Only 리프레시의 리프레시 동작을 수행한다.
특정 구현 프로세스에서, 리프레시 동작이 오토 리프레시 방식을 사용하여 다수의 연속적인 리프레시 단위들에 수행되는 때, 메모리 컨트롤러는 또한 사일런트 리프레시(silent refresh) 커맨드를 DRAM에 전송한다. 이 커맨드에 의해, 다수의 연속적인 리프레시 단위를 리프레시하는 프로세스에 있어서, 유효하지 않은 데이터를 저장하는 리프레시 단위가 스킵될 수 있고, 또한 리프레시가 수행되는 어드레스에 대해, 카운터가 계속해서 다음 리프레시 대상 로우를 지시하는 것을 보장하기 위해, 카운터가 1씩 증가한다.
오토 리프레시를 사용하는 것과 RAS-Only 리프레시를 사용하는 것은 당업자에게 일반적인 지식이며, 특정 실행 프로세스는 여기에서 다시 상세히 설명되지 않는다는 것을 알아야 한다.
전술한 실시예에서, 리프레시 데이터 공간에 저장된, 리프레시 단위의 리프레시 정보를 액세스하여, 리프레시 정보에 따라 적절한 리프레시가 수행될 수 있으므로, 종래 기술에서 동일한 사이클을 사용하여 수행된 리프레시에 의해 야기되는 비교적 큰 성능 오버헤드 및 에너지 소비 오버헤드의 문제를 방지할 수 있다. 게다가, 리프레시 단위의 리프레시 정보는 기존의 메모리 액세스 커맨드를 사용하여 리프레시 데이터 공간으로부터 직접 판독되어, 리프레시 처리가 단순하고 실용적이다.
제1 장치 실시예
도 4를 참조하면, 본 실시예는 다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 장치를 제공하고, 장치(400)는, DRAM 내의 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 획득하도록 구성된 획득 유닛(410), 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하도록 구성된 캡슐화 유닛(420), 그리고 DRAM 액세스 요청을 사용하여 리프레시 단위의 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하도록 구성된 기입 유닛(430)을 포함하고, 여기서 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이고, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함하며, 리프레시 데이터 공간은 DRAM 내의 미리 설정된 스토리지 공간이다.
또한, 장치(400)는, DRAM 내에서, 미리 설정된 스토리지 공간을 리프레시 데이터 공간으로서 할당하도록 구성된 할당 유닛(440)을 더 포함한다.
또한, 획득 유닛에 의해 획득된 리프레시 단위의 어드레스는 리프레시 단위의 물리적 어드레스를 포함하고, 캡슐화 유닛(420)은 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하도록 더 구성되고, 기입 유닛(430)은 DRAM 액세스 요청을 사용하여 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하도록 구성된다.
또한, 획득 유닛에 의해 획득된 리프레시 단위의 어드레스는 리프레시 단위의 가상 어드레스를 포함하고, 장치는 페이지 테이블을 조회하여 리프레시 단위의 가상 어드레스를 리프레시 단위의 물리적 어드레스로 변환하도록 구성된 변환 처리 유닛(450)을 더 포함하고, 캡슐화 유닛(420)은 구체적으로 리프레시 단위의 물리적 어드레스 및 리프레시 단위의 리프레시 정보를 DRAM 액세스 요청으로서 캡슐화하도록 구성되고, 기입 유닛(430)은 구체적으로 DRAM 액세스 요청을 사용하여 리프레시 단위의 리프레시 정보를 리프레시 데이터 공간에 기입하도록 구성된다.
제2 장치 실시예
도 5를 참조하면, 본 실시예는 또한 다이나믹 랜덤 액세스 메모리(DRAM)의 정보를 리프레시하기 위한 처리 장치를 제공하며, 처리 장치(500)는, 프로세서(510), 메모리(520), 통신 인터페이스(530) 및 버스(540)를 포함하며, 프로세서(510), 메모리(520) 및 통신 인터페이스(530)는 버스를 사용하여 통신을 수행한다.
메모리(520)는 프로그램을 저장하도록 구성된다.
통신 인터페이스(530)는 DRAM과 통신하도록 구성된다.
처리 장치(500)가 동작 중일 때, 프로세서(510)는 제1 방법 실시예의 임의의 가능한 구현 방식에 따라 방법을 수행하도록, 메모리(520)에 저장된 프로그램을 실행하도록 구성된다.
제3 장치 실시예
도 6a에 참조하면, 본 실시예는 DRAM 컨트롤러를 제공하고, 컨트롤러(600)는, 다이나믹 랜덤 액세스 메모리(DRAM) 내의 리프레시 단위(unit)에 대한 리프레시 커맨드를 생성하도록 구성된 리프레시 커맨드 생성 모듈(610), 리프레시 데이터 공간으로부터, 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 획득하도록 구성된 획득 모듈(620), 그리고 리프레시 정보에 따라 리프레시 단위에 대해 리프레시 동작을 수행하도록 구성된 실행 모듈(630)을 포함하고, 리프레시 커맨드는 리프레시 단위의 물리적 어드레스를 포함하고, 리프레시 단위는 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이며, 리프레시 단위의 리프레시 정보는 리프레시 단위의 리프레시 사이클을 포함한다.
또한, 도 6b를 참조하면, 획득 모듈(620)은 리프레시 단위의 물리적 어드레스와 리프레시 단위의 리프레시 정보 사이의 대응 관계로서 리프레시 데이터 공간 내에 저장되는 대응 관계 및 리프레시 단위의 물리적 어드레스에 따라 리프레시 단위의 리프레시 정보를 결정하도록 구성된 조회 유닛(621), 그리고 리프레시 데이터 공간으로부터, DRAM 판독 커맨드를 사용하여 리프레시 단위의 리프레시 정보를 판독하도록 구성된 판독 유닛(622)을 포함한다.
또한, 획득 모듈(620)은 리프레시 데이터 공간으로부터, 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하도록 더 구성된다.
또한, 도 6c를 참조하면, 실행 모듈(630)은 리프레시 단위 이후의 다수의 연속하는 리프레시 단위에 대한 리프레시 커맨드를 수신하도록 구성된 수신 유닛(631), 다수의 연속하는 리프레시 단위 내에서, 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는지 여부를 결정하도록 구성된 결정 유닛(632), 그리고 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는 것으로 결정되는 때, 다수의 연속하는 리프레시 단위에 대해 오토 리프레시의 리프레시 동작을 수행하거나, 또는 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하지 않는 것으로 결정되는 때, 다수의 연속하는 리프레시 단위에 대해 RAS-Only 리프레시의 리프레시 동작을 수행하도록 구성된 실행 유닛(633)을 포함한다.
전술한 구현 방식에서, 리프레시 동작이 실제로 수행될 필요가 있는 리프레시 단위의 수량이 리프레시 단위의 수량에 대한 임계치를 초과하는지 여부에 따라, 다수의 연속적인 리프레시 단위 모두가 리프레시될 필요가 있는 경우 오토 리프레쉬의 리프레시 방식이 리프레시 오버 헤드를 감소시킬 수 있고 상대적으로 높은 효율을 갖는다는 특징, 및 RAS-Only 리프레시의 리프레시 방식이 하나의 리프레시 단위의 리프레시에 적용 가능하다는 특징을 고려하여, 오토 리프레시 방식 또는 RAS-Only 리프레시 방식이 리프레시를 수행하는 데 선택되므노, 리프레시의 효율을 개선한다.
시스템 실시예
도 7을 참조하면, 본 실시예는 다이나믹 랜덤 액세스 메모리(DRAM)을 리프레시하기 위한 시스템을 제공한다. 시스템(700)은 다수의 리프레시 단위를 포함하는 DRAM(710), 및 제3 장치 실시예에서 설명된 DRAM 컨트롤러(720)를 포함한다.
본 발명에서 제공된 몇몇 실시예에서, 개시된 시스템, 장치, 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다.
예를 들어, 설명된 장치 실시예는 단지 예시적인 것이다. 예를 들어, 단위 구분은 논리적인 기능 구분일 뿐이고 실제 구현에서는 다른 구분일 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 결합되거나 다른 시스템에 통합되거나, 일부 특징이 무시되거나 또는 수행되지 않을 수 있다. 또한, 디스플레이되거나 논의된 상호 커플링 또는 직접 커플링 또는 통신 연결은 일부 인터페이스를 통해 구현될 수 있다. 장치 또는 유닛 간의 간접적 커플링 또는 통신 연결은 전자적, 기계적 또는 다른 형태로 구현될 수 있다.
분리된 부분들로 기술된 유닛들은 물리적으로 분리될 수도 있고, 그렇지 않을 수도 있으며, 유닛들로서 디스플레이된 부품들은 물리적 유닛일 수도 있고 아닐 수도 있으며, 하나의 위치에 위치되거나, 또는 복수의 네트워크 유닛 상에 분포될 수 있다. 유닛의 일부 또는 전부는 본 발명의 실시예의 해결책의 목적을 달성하기 위해 실제 요구에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 처리 유닛에 통합되거나, 각각의 유닛이 물리적으로 단독으로 존재할 수도 있고, 또는 2 이상의 유닛이 하나의 유닛으로 통합될 수도 있다. 통합 유닛은 하드웨어의 형태로 구현될 수 있거나, 또는 소프트웨어 기능 유닛의 형태로 구현 될 수 있다.
통합 유닛이 소프트웨어 기능 유닛의 형태로 구현되고 독립적인 제품으로서 판매되거나 사용되는 경우, 통합 유닛은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 이러한 이해에 기초하여, 본질적으로 본 발명의 기술 해결책 또는 종래 기술에 기여하는 부분, 또는 기술적 해결책의 전부 또는 일부는 소프트웨어 제품의 형태로 구현될 수있다. 소프트웨어 제품은 저장 매체에 저장되며, 본 발명의 실시예들에서 설명된 방법들의 단계들의 전부 또는 일부를 수행하기 위해 컴퓨터 장치(개인용 컴퓨터, 서버, 또는 네트워크 장치 일 수 있음)를 지시하기 위한 여러 명령들을 포함한다. 저장 매체는 USB 플래시 드라이브, 탈착식 하드 디스크, ROM(Read-Only Memory), RAM(Random Access Memory), 자기 디스크 또는 광 디스크와 같은 프로그램 코드를 저장할 수 있는 모든 매체를 포함한다.
전술한 설명은 단지 본 발명의 특정 실시예일 뿐이며, 본 발명의 보호 범위를 제한하려는 것은 아니다. 본 발명에 개시된 기술적 범위 내에서 당업자에 의해 용이하게 이해될 수 있는 모든 수정 또는 대체는 본 발명의 보호 범위 내에 속한다. 따라서, 본 발명의 보호 범위는 청구 범위의 보호 범위에 속해야 한다.

Claims (15)

  1. 다이나믹 랜덤 액세스 메모리(DRAM)를 리프레시하기 위한 방법으로서,
    리프레시 커맨드 생성 모듈이, DRAM 내의 리프레시 단위(unit)에 대한 리프레시 커맨드를 생성하는 단계,
    획득 모듈이, 리프레시 데이터 공간으로부터, 상기 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 상기 리프레시 단위의 리프레시 정보를 판독하는 단계,
    실행 모듈이, 상기 리프레시 정보에 따라 상기 리프레시 단위에 대해 리프레시 동작을 수행하는 단계,
    상기 획득 모듈이, 상기 DRAM 내의 다수의 리프레시 단위의 리프레시 정보를 저장하는 상기 리프레시 데이터 공간으로부터, 상기 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하는 단계,
    상기 실행 모듈이, 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는 때, 상기 다수의 연속하는 리프레시 단위에 대해 오토 리프레시의 리프레시 동작을 수행하는 단계, 그리고
    상기 실행 모듈이, 상기 다수의 연속하는 리프레시 단위에 대해 오토 리프레시의 리프레시 동작을 수행하는 프로세스 내에서 무효 데이터를 저장하는 리프레시 단위를 스킵하고 다음 리프레시 대상 단위에 대해 리프레시 동작을 수행하도록 상기 DRAM에 명령하는 사일런트 리프레시(silent refresh) 커맨드를 상기 DRAM에 전송하는 단계
    를 포함하고, 상기 리프레시 커맨드는 상기 리프레시 단위의 물리적 주소를 포함하고, 상기 리프레시 단위는 상기 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이며, 상기 리프레시 단위의 리프레시 정보는 상기 리프레시 단위의 리프레시 사이클을 포함하고, 상기 리프레시 데이터 공간은 상기 DRAM의 일부 스토리지 공간인,
    방법.
  2. 제1항에 있어서,
    상기 리프레시 데이터 공간으로부터, 상기 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 상기 리프레시 단위의 리프레시 정보를 판독하는 단계는,
    상기 획득 모듈이, 상기 리프레시 단위의 물리적 어드레스와 상기 리프레시 단위의 리프레시 정보 사이의 대응 관계로서 상기 리프레시 데이터 공간 내에 저장되는 대응 관계 및 상기 리프레시 단위의 물리적 어드레스에 따라 상기 리프레시 단위의 리프레시 정보를 결정하는 단계, 그리고
    상기 획득 모듈이, 상기 리프레시 데이터 공간으로부터, 상기 DRAM 판독 커맨드를 사용하여 상기 리프레시 단위의 리프레시 정보를 판독하는 단계를 포함하는,
    방법.
  3. 제1항에 있어서,
    상기 리프레시 데이터 공간으로부터, 상기 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하는 단계 이후에,
    상기 실행 모듈이, 상기 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 상기 임계치를 초과하지 않는 때, 상기 다수의 연속하는 리프레시 단위에 대해 RAS-Only 리프레시(RAS-Only Refresh)의 리프레시 동작을 수행하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 DRAM은 적어도 두 개의 리프레시 단위를 포함하고, 상기 적어도 두 개의 리프레시 단위 각각은 컴퓨팅된 리프레시 사이클을 포함하는,
    방법.
  5. 제4항에 있어서,
    상기 리프레시 단위의 컴퓨팅된 리프레시 사이클 각각은 각 리프레시 단위의 데이터 유지 시간 정보, 데이터 유효도 정보, 및 데이터 임계도 정보에 따라 획득되는,
    방법.
  6. 다이나믹 랜덤 액세스 메모리(DRAM) 내의 리프레시 단위(unit)에 대한 리프레시 커맨드를 생성하도록 구성된 리프레시 커맨드 생성 모듈,
    리프레시 데이터 공간으로부터, 상기 리프레시 단위의 물리적 어드레스에 따라 DRAM 판독 커맨드를 사용하여 상기 리프레시 단위의 리프레시 정보를 획득하도록 구성된 획득 모듈, 그리고
    상기 리프레시 정보에 따라 상기 리프레시 단위에 대해 리프레시 동작을 수행하도록 구성된 실행 모듈
    을 포함하고,
    상기 리프레시 커맨드는 상기 리프레시 단위의 물리적 어드레스를 포함하고, 상기 리프레시 단위는 상기 DRAM 내에서 1회의 리프레시가 수행되는 스토리지 공간이며, 상기 리프레시 단위의 리프레시 정보는 상기 리프레시 단위의 리프레시 사이클을 포함하고, 상기 리프레시 데이터 공간은 상기 DRAM의 일부 스토리지 공간이며,
    상기 획득 모듈은 상기 리프레시 데이터 공간으로부터, 상기 리프레시 단위 이후의 다수의 연속하는 리프레시 단위의 리프레시 정보를 획득하도록 더 구성되고,
    상기 실행 모듈은 상기 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 임계치를 초과하는 때, 상기 다수의 연속하는 리프레시 단위에 대해 오토 리프레시(Auto Refresh)의 리프레시 동작을 수행하며, 상기 다수의 연속적인 리프레시 단위를 리프레시하는 프로세스에서 무효 데이터를 저장하는 리프레시 단위를 상기 DRAM이 스킵함을 지시하도록 상기 DRAM에 사일런트 리프레시(silent refresh) 커맨드를 전송하도록 더 구성된,
    DRAM 컨트롤러.
  7. 제6항에 있어서,
    상기 획득 모듈은,
    상기 리프레시 단위의 물리적 어드레스와 상기 리프레시 단위의 리프레시 정보 사이의 대응 관계로서 상기 리프레시 데이터 공간 내에 저장되는 대응 관계 및 상기 리프레시 단위의 물리적 어드레스에 따라 상기 리프레시 단위의 리프레시 정보를 결정하도록 구성된 조회 유닛, 그리고
    상기 리프레시 데이터 공간으로부터, 상기 DRAM 판독 커맨드를 사용하여 상기 리프레시 단위의 리프레시 정보를 판독하도록 구성된 판독 유닛을 포함하는,
    DRAM 컨트롤러.
  8. 제6항에 있어서,
    상기 실행 모듈은,
    상기 리프레시 단위 이후의 다수의 연속하는 리프레시 단위에 대한 리프레시 커맨드를 수신하고,
    상기 리프레시 동작이 수행되어야 하는 리프레시 단위들의 수량이 상기 임계치를 초과하지 않는 때, 상기 다수의 연속하는 리프레시 단위에 대해 RAS-Only 리프레시(RAS-Only Refresh)의 리프레시 동작을 수행하도록 더 구성된,
    DRAM 컨트롤러.
  9. 제6항에 있어서,
    상기 DRAM은 적어도 두 개의 리프레시 단위를 포함하고, 상기 적어도 두 개의 리프레시 단위 각각은 컴퓨팅된 리프레시 사이클을 포함하는,
    DRAM 컨트롤러.
  10. 제9항에 있어서,
    상기 리프레시 단위의 컴퓨팅된 리프레시 사이클 각각은 각 리프레시 단위의 데이터 유지 시간 정보, 데이터 유효도 정보, 및 데이터 임계도 정보에 따라 획득되는,
    DRAM 컨트롤러.
  11. 적어도 하나의 리프레시 단위(unit)를 포함하는 다이나믹 랜덤 액세스 메모리(DRAM), 그리고
    제6항 내지 제10항 중 어느 한 항에 따른 DRAM 컨트롤러
    를 포함하는 DRAM을 리프레시하기 위한 시스템.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020187036935A 2014-06-09 2015-06-08 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템 KR102048762B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410253514.8 2014-06-09
CN201410253514.8A CN105280215B (zh) 2014-06-09 2014-06-09 动态随机存取存储器dram的刷新方法、设备以及系统
PCT/CN2015/080989 WO2015188732A1 (zh) 2014-06-09 2015-06-08 动态随机存取存储器dram的刷新方法、设备以及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167033881A Division KR20160148700A (ko) 2014-06-09 2015-06-08 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템

Publications (2)

Publication Number Publication Date
KR20180137613A KR20180137613A (ko) 2018-12-27
KR102048762B1 true KR102048762B1 (ko) 2019-11-26

Family

ID=54832906

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167033881A KR20160148700A (ko) 2014-06-09 2015-06-08 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템
KR1020187036935A KR102048762B1 (ko) 2014-06-09 2015-06-08 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167033881A KR20160148700A (ko) 2014-06-09 2015-06-08 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템

Country Status (10)

Country Link
US (1) US10007599B2 (ko)
EP (1) EP3142120B1 (ko)
JP (1) JP6429258B2 (ko)
KR (2) KR20160148700A (ko)
CN (2) CN105280215B (ko)
CA (1) CA2949282C (ko)
MX (1) MX357812B (ko)
RU (1) RU2665883C2 (ko)
SG (1) SG11201609766RA (ko)
WO (1) WO2015188732A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
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
BR112019021554B1 (pt) * 2017-04-14 2024-02-27 Huawei Technologies Co., Ltd Método de renovação de memória, controlador de memória, aparelho de renovação de memória, sistema de computador e meio de armazenamento legível por computador
JP6780897B2 (ja) 2017-04-14 2020-11-04 ホアウェイ・テクノロジーズ・カンパニー・リミテッド メモリリフレッシュ技術及びコンピュータシステム
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013183155A1 (ja) * 2012-06-07 2013-12-12 富士通株式会社 選択的にメモリのリフレッシュを行う制御装置
US20140016421A1 (en) * 2012-07-12 2014-01-16 Samsung Electronics Co., Ltd. Semiconductor memory device storing refresh period information and operating method thereof

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03102696A (ja) * 1989-09-16 1991-04-30 Nec Home Electron Ltd リフレッシュ制御装置
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
US5825706A (en) 1997-10-27 1998-10-20 Motorola, Inc. Circuit and method for retaining data in DRAM in a portable electronic device
EP0955640A3 (en) 1998-03-30 2000-01-19 Siemens Aktiengesellschaft Decoded autorefresh mode in a DRAM
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 삼성전자주식회사 버퍼를 이용하여 리프레쉬하는 메모리 장치 및 그 방법
CN101000798B (zh) * 2007-01-12 2010-05-19 威盛电子股份有限公司 存储器刷新方法及存储器刷新系统
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 삼성전자주식회사 휘발성 메모리 장치의 리프레쉬 방법, 리프레쉬 어드레스 생성기 및 휘발성 메모리 장치
US9269418B2 (en) * 2012-02-06 2016-02-23 Arm Limited Apparatus and method for controlling refreshing of data in a DRAM
KR20130117198A (ko) 2012-04-18 2013-10-25 삼성전자주식회사 메모리 셀의 리프레쉬 방법 및 이를 이용한 반도체 메모리 장치
KR101966858B1 (ko) * 2012-04-24 2019-04-08 삼성전자주식회사 휘발성 메모리 장치의 동작 방법, 휘발성 메모리 장치 및 메모리 시스템의 제어 방법
KR102078562B1 (ko) * 2013-02-25 2020-02-18 삼성전자 주식회사 리프레쉬 어드레스 생성기 및 이를 포함하는 휘발성 메모리 장치
CN104143355B (zh) * 2013-05-09 2018-01-23 华为技术有限公司 一种刷新动态随机存取存储器的方法和装置
CN103440208B (zh) * 2013-08-12 2016-02-03 华为技术有限公司 一种数据存储的方法及装置
CN103811048B (zh) * 2014-02-26 2017-01-11 上海新储集成电路有限公司 一种混合存储器结构的低功耗刷新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013183155A1 (ja) * 2012-06-07 2013-12-12 富士通株式会社 選択的にメモリのリフレッシュを行う制御装置
US20140016421A1 (en) * 2012-07-12 2014-01-16 Samsung Electronics Co., Ltd. Semiconductor memory device storing refresh period information and operating method thereof

Also Published As

Publication number Publication date
MX357812B (es) 2018-07-25
KR20180137613A (ko) 2018-12-27
EP3142120A4 (en) 2017-04-26
CN108231109A (zh) 2018-06-29
JP6429258B2 (ja) 2018-11-28
CA2949282A1 (en) 2015-12-17
EP3142120B1 (en) 2019-09-11
MX2016016024A (es) 2017-03-28
CA2949282C (en) 2018-10-23
US10007599B2 (en) 2018-06-26
WO2015188732A1 (zh) 2015-12-17
JP2017521808A (ja) 2017-08-03
US20170091087A1 (en) 2017-03-30
RU2016151308A3 (ko) 2018-07-17
KR20160148700A (ko) 2016-12-26
RU2665883C2 (ru) 2018-09-04
CN108231109B (zh) 2021-01-29
CN105280215B (zh) 2018-01-23
CN105280215A (zh) 2016-01-27
RU2016151308A (ru) 2018-07-17
EP3142120A1 (en) 2017-03-15
SG11201609766RA (en) 2016-12-29

Similar Documents

Publication Publication Date Title
KR102048762B1 (ko) 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템
US10152501B2 (en) Rollover strategies in a n-bit dictionary compressed column store
TWI646533B (zh) 處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術
CN109101185B (zh) 固态存储设备及其写命令和读命令处理方法
CN110851383B (zh) 一种管理存储系统的方法及设备
KR102369402B1 (ko) 스토리지 장치, 이의 동작 방법 및 스토리지 장치를 포함하는 스토리지 시스템
US9183057B2 (en) Systems and methods for accessing memory
KR20210003946A (ko) 논리적-물리적 데이터 구조
KR20160122440A (ko) 반도체 장치의 동작 방법 및 반도체 시스템
JP6674460B2 (ja) 不均一メモリアーキテクチャにおける改善されたレイテンシのためのシステムおよび方法
JP6159478B2 (ja) データ書き込み方法及びメモリシステム
CN111899774A (zh) 存储器件和包括其的系统
CN105468400A (zh) 一种基于linux用户态调用定时器的方法及系统
US10185501B2 (en) Method and apparatus for pinning memory pages in a multi-level system memory
CN110168644B (zh) 用于在存储体存储器单元阵列中提供行篡改保护的系统、方法和计算机程序
CN110168643B (zh) 经由交叉连接的共享存储体资源的同时的存储器存储体访问
JP6676052B2 (ja) 不均一メモリアーキテクチャにおける改善されたレイテンシを可能にするためのシステムおよび方法
CN113849311B (zh) 内存空间管理方法、装置、计算机设备和存储介质
US11755235B2 (en) Increasing random access bandwidth of a DDR memory in a counter application
CN110489061B (zh) 一种低资源消耗的trim实现方法
KR101863590B1 (ko) 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치 및 그 방법
KR101744401B1 (ko) 컴퓨팅 장치의 시스템 상태 저장, 복원방법 및 이를 위한 컴퓨팅 장치
CN116954919A (zh) 一种内存分配方法、装置、计算机设备及存储介质
CN115240743A (zh) 利用数据不同特征延长ssd寿命的方法、装置、设备及介质
JP2012221534A (ja) 半導体記憶装置および半導体記憶装置のリフレッシュ方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant