KR20200119633A - 히스토리 기반 메모리 시스템 및 그 제어 방법 - Google Patents

히스토리 기반 메모리 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR20200119633A
KR20200119633A KR1020190042080A KR20190042080A KR20200119633A KR 20200119633 A KR20200119633 A KR 20200119633A KR 1020190042080 A KR1020190042080 A KR 1020190042080A KR 20190042080 A KR20190042080 A KR 20190042080A KR 20200119633 A KR20200119633 A KR 20200119633A
Authority
KR
South Korea
Prior art keywords
row
command queue
access
empty
memory controller
Prior art date
Application number
KR1020190042080A
Other languages
English (en)
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 에스케이하이닉스 주식회사
Priority to KR1020190042080A priority Critical patent/KR20200119633A/ko
Priority to US16/449,172 priority patent/US10768859B1/en
Publication of KR20200119633A publication Critical patent/KR20200119633A/ko

Links

Images

Classifications

    • 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/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/0658Controller construction arrangements
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/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/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/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • 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/4076Timing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

본 발명에서는 command queue가 빈 이후, 다음 접근에 대해 row hit/miss를 예측하여, hit의 경우 row를 open시키고, miss의 경우 row를 close시켜서 activate와 precharge로 인한 지연시간을 줄이고자 한다.
본 발명에 따른 히스토리 기반 메모리 제어 방법은, 커맨드 큐 회로 내에 Command Queue가 비어 있을 때, 메모리 제어기가 open row를 클로징 하는 클로징 단계; 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제1 Command Queue 판단 단계; 상기 메모리 제어기는 직전에 접근한 row에 대하여 접근이 있는지를 판단하는 제1 접근 판단 단계; 상기 제1 접근 판단 단계의 수행 후, 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제2 Command Queue 판단 단계; 상기 메모리 제어기가 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있는지를 판단하는 제2 접근 판단 단계; 및 상기 메모리 제어기가 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있다면, close row를 오픈 하는 오프닝 단계를 포함한다.

Description

히스토리 기반 메모리 시스템 및 그 제어 방법{MEMORY CONTROL SYSTEM BASED ON HISTORY AND ITS CONTROL METHOD}
본 발명은 히스토리 기반의 메모리 제어 시스템 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 히스토리 기반으로 row hit/miss를 예측하는 메모리 제어 시스템 및 그 제어 방법에 관한 것이다.
SDRAM(Synchronous dynamic random access memory) 디바이스들은 시스템 클록 신호와 같은 외부 클록 신호와 동기식으로 동작하는 다양한 타입들의 DRAM(dynamic random access memory)이다. SDRAM의 입력 및 출력 데이터는 시스템 클록 신호의 활성 에지와 동기화된다. DDR(Double data rate) SDRAM들은 종래의 SDRAM의 동작 속도의 2배를 제공하는 더 고속의 메모리 디바이스들이다. DDR SDRAM들은, 데이터가 시스템 클록 신호의 상승에지와 하강 에지 둘 모두에서 전달되게 한다. DDR SDRAM들은 통상적으로 멀티코어 시스템에 사용된다.
SDRAM 또는 DDR SDRAM은 메모리 어레이 뱅크를 포함한다. 각각의 메모리 어레이는 로우들 및 컬럼들로 조직되는 데이터 엘리먼트들을 포함한다. 로우 내 데이터 엘리먼트들 각각은 컬럼 어드레스에 의해 어드레스 가능하고, 통상적으로 데이터 워드이다. 또한 row는 page로도 일컫는다. 현재, SDRAM 또는 DDR SDRAM에서는, 단지 하나의 row만이 한번에 open될 수 있다. 일단 open row의 콘텐츠가 로우 데이터 버퍼에서 래칭되면, open row 내 상이한 컬럼 어드레스들에 대한 후속하는 메모리 요청들이 로우 데이터 버퍼로부터 신속하게 서비스될 수 있다. 이러한 메모리 액세스를 row hit라 일컫는다. 상이한 로우가 요청되고 상이한 로우가 오픈될 필요가 있다면, 메모리 액세스를 row miss라 일컫는다.
한편, SDRAM 또는 DDR SDRAM에서 수행하는 open page policy에서는 메모리 어레이 뱅크에서 row를 활성화(activate)하여 read/write를 수행한 후, precharge를 진행하지 않고 row를 open 상태로 유지한다. 이후 동일 row에 접근(row hit)할 때, row를 활성화(activate)하지 않고 read/write를 수행할 수 있다.
반면, 다른 row에 접근(row miss)할 때에는 open 상태의 row를 precharge하여 close하고, 상기 다른 row를 활성화(activate)한 후 read/write를 수행한다.
Open Page Policy에서 메모리 컨트롤러의 Command Queue가 비어 있을 경우, 종래 메모리 시스템은 해당 row를 항상 precharge 하는 Always Close 방식이나, 해당 row를 항상 precharge 하지 않는 Always Open 방식 중 어느 하나를 취한다.
일본공개특허 2011-197707호 메모리 제어 장치, 메모리 제어 시스템, write 장치 및 메모리 제어 방법 공개특허 2013-0111188호 메모리 장치 및 메모리 장치의 동작방법 공개특허 2013-018905호 페이지 버퍼, 이를 포함하는 메모리 장치, 및 메모리 장치의 구동 방법
위와 같이 always open과 always close 방식은 command queue가 빈 이후 같은 row에 접근하는지에 따라서 장단점이 있다. 따라서, 본 발명에서는 command queue가 빈 이후, 다음 접근에 대해 row hit/miss를 예측하여, hit의 경우 row를 open시키고, miss의 경우 row를 close시켜서 activate와 precharge로 인한 지연시간을 줄이고자 한다.
본 발명에 따른 히스토리 기반 메모리 제어 방법은, 커맨드 큐 회로 내에 Command Queue가 비어 있을 때, 메모리 제어기가 open row를 클로징 하는 클로징 단계; 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제1 Command Queue 판단 단계; 상기 메모리 제어기는 직전에 접근한 row에 대하여 접근이 있는지를 판단하는 제1 접근 판단 단계; 상기 제1 접근 판단 단계의 수행 후, 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제2 Command Queue 판단 단계; 상기 메모리 제어기가 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있는지를 판단하는 제2 접근 판단 단계; 및 상기 메모리 제어기가 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있다면, close row를 오픈 하는 오프닝 단계를 포함한다.
또한, 본 발명에 따른 히스토리 기반 메모리 제어 시스템은, 메모리 디바이스; 및 중앙 처리 시스템으로부터의 액세스 요구에 기반하여 상기 메모리 디바이스에 대한 액세스를 제어하는 메모리 제어기를 포함하고, 상기 메모리 제어기는, 상기 메모리 제어기 내 커맨드 큐 회로 내에 Command Queue가 비어 있을 때, open row를 클로징 하는 클로징 단계; 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제1 Command Queue 판단 단계; 직전에 접근한 row에 대하여 접근이 있는지를 판단하는 제1 접근 판단 단계; 상기 제1 접근 판단 단계의 수행 후, 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제2 Command Queue 판단 단계; 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있는지를 판단하는 제2 접근 판단 단계; 및 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있다면, close row를 오픈 하는 오프닝 단계를 수행한다.
본 발명에서는 command queue가 빈 이후, 다음 접근에 대해 row buffer hit/miss를 예측하여, hit의 경우 row를 open시키고, miss의 경우 row를 close시켜서 activate와 precharge로 인한 지연시간을 줄일 수 있다.
도 1은 종래기술에 따른 메모리 컨트롤러에서의 Command Queue가 빈 이후 다른 row에 접근하는 경우의 버스 타이밍도,
도 2은 종래기술에 따른 메모리 컨트롤러의 Command Queue가 빈 이후 동일한 row에 접근하는 경우의 버스 타이밍도,
도 3은 본 발명의 일 실시형태가 실시될 수 있는 시스템(300)을 도시하는 다이어그램,
도 4는 본 발명의 일 실시예에 따른 메모리 제어기(310)와 메모리 디바이스(320)의 구체 회로도,
도 5는 본 발명의 일실시예에 따른 메모리 제어기(310)의 지연 개선과 관련된 부분의 상세 블록도, 및
도 6은 본 발명의 일실시예에 따른 판정 및 제어 회로에서의 row hit/miss 예측 및 프리차지 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 ‘포함한다(comprises)’ 및/또는 ‘포함하는(comprising)’은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
하나의 소자(elements)가 다른 소자와 ‘접속된(connected to)’ 또는 ‘커플링된(coupled to)’ 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링 된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 ‘직접 접속된(directly connected to)’ 또는 ‘직접 커플링된(directly coupled to)’으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. ‘및/또는’은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
명세서 전문에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 지칭한다. 따라서, 동일한 참조 부호 또는 유사한 참조 부호들은 해당 도면에서 언급 또는 설명되지 않았더라도, 다른 도면을 참조하여 설명될 수 있다. 또한, 참조 부호가 표시되지 않았더라도, 다른 도면들을 참조하여 설명될 수 있다.
Open Page Policy에서 메모리 컨트롤러의 Command Queue가 비어 있을 경우, 종래 메모리 시스템은 해당 row를 항상 precharge 하는 Always Close 방식이나, 해당 row를 항상 precharge 하지 않는 Always Open 방식 중 어느 하나를 취한다.
Always Close 방식과 Always Open 방식의 장단점은 다음과 같다.
도 1은 종래기술에 따른 메모리 컨트롤러에서의 Command Queue가 빈 이후 다른 row에 접근하는 경우의 타이밍도이다.
i) Always Open 방식
Command bus time line에 row X를 활성화시키는 활성화 명령(ACT X)과 read/write 명령(R/W)이 순차로 생성되면, Data bus time line에 Data가 생성된다. 이후 Command Queue가 비어 있다가 다른 row인 row Y를 활성화시키는 활성화 명령(ACT Y)과 read/write 명령(R/W)이 순차로 생성되기 위해서는 row를 precharge 시키기 위한 precharge 명령(PRE)을 생성하고 이를 위한 시간(tRP)이 필요하다.
즉, 소정 address의 row에 read/write를 수행하고나서, 메모리 제어기 내에 Command Queue가 비어 있는 동안 row가 open되어 있다. 이후 새로운 row Y에 접근하면 row miss가 발생하므로 row를 precharge 시킨 후 새로운 row Y를 활성화하고 read/write를 수행해야 하므로 전체적으로 (tRP + tRCD + tCL)만큼의 시간이 요구된다.
여기서, tRCD는 row address로부터 column address까지의 지연 시간, tCL은 CAS(컬럼 어드레스 스트로브) latency 시간, tRP는 row precharge 시간을 의미하며, 이들 용어는 반도체 설계 분야에 종사하는 자들에게 자명하게 이해되는 정도이므로 구체적인 설명은 생략하기로 한다.
ii) Always Close 방식
Command bus time line에 row X를 활성화시키는 활성화 명령(ACT X)과 read/write 명령(R/W)이 순차로 생성되면, Data bus time line에 Data가 생성된다. 이후 메모리 제어기 내에 Command Queue가 비게 되면, row를 precharge 시키기 위한 프리차지 명령(PRE)을 생성한다.
이후 새로운 row인 row Y를 활성화시키는 활성화 명령(ACT Y)과 read/write 명령(R/W)이 순차로 생성되면 프리차지 명령(PRE)으로 인한 row precharge 시간(tRP)으로 인한 지연 없이 새로운 row Y에 접근하여 read/write를 수행할 수 있으므로 전체적으로 (tRCD + tCL)만큼의 시간이 요구된다.
따라서, 메모리 컨트롤러에서의 Command Queue가 빈 이후 다른 row에 접근하는 경우, Always Open 방식은 (tRP + tRCD + tCL)만큼의 시간이 소요되는데 비해 Always Close 방식은 (tRCD + tCL)만큼의 시간이 소요되므로 row precharge 시간(tRP)만큼 절약할 수 있는 잇점이 있다.
도 2은 종래기술에 따른 메모리 컨트롤러의 Command Queue가 빈 이후 동일한 row에 접근하는 경우의 버스 타이밍도이다.
i) Always Open 방식
Command bus time line에 row X를 활성화시키는 활성화 명령(ACT X)과 read/write 명령(R/W)이 순차로 생성되면, Data bus time line에 Data가 생성된다.
이후 동일한 row인 row X에 read/write 명령(R/W)이 생성되면, row X를 활성화시키는 활성화 명령(ACT X)을 수행할 필요가 없으므로 (tCL)만큼의 시간이 요구된다.
ii) Always Close 방식
Command bus time line에 row X를 활성화시키는 활성화 명령(ACT X)과 read/write 명령(R/W)이 순차로 생성되면, Data bus time line에 Data가 생성된다. 이후 메모리 제어기 내에 Command Queue가 비게 되면, row를 프리차지 시키기 위한 프리차지 명령(PRE)을 생성한다.
이후 동일한 row인 row X에 접근하여 data를 read/write 하려면, row X를 활성화시키는 활성화 명령(ACT X)과 read/write 명령(R/W)이 순차로 생성된다. 이를 위하여 전체적으로 (tRCD + tCL)만큼의 시간이 요구된다.
결국, 메모리 컨트롤러의 Command Queue가 빈 이후 동일한 row에 접근하는 경우 Always Open 방식은 (tCL)만큼의 시간만 요구되는데 비해 Always Close 방식은 (tRCD + tCL)만큼의 시간이 소요되므로 row address로부터 column address까지의 지연 시간(tRCD)만큼 더 소요되므로 Always Open 방식이 더 낫다.
위와 같이 Always Open과 Always Close 방식은 메모리 제어기 내에 Command Queue가 빈 이후 접근하는 row의 동일 여부에 따라 따라 장단점이 있다.
따라서 본 발명에서는 메모리 제어기 내에 Command Queue가 빈 이후, 다음 접근에 대해 row hit/miss를 예측하여 row hit이면 row를 open시키고, row miss이면 row를 close시켜서 활성화 명령과 프리차지 명령을 수행하기 위해 발생하는 지연시간을 줄이는 것을 특징으로 한다.
도 3은 본 발명의 일 실시형태가 실시될 수 있는 시스템(300)을 도시하는 다이어그램이다.
시스템(300)은 메모리 제어기(310), 메모리 디바이스(320), 및 복수의 리퀘스터들(330i)(i=1,2, ... ,n)을 포함한다.
메모리 제어기(310)는 버스(340)를 통해, 리퀘스터들(330i)(i=1, 2, ... ,n)과 통신할 수 있다.
리퀘스터들(330i)(i=1, 2, ... , n)은, 버스(340)를 통해 메모리 액세스 요청들을 메모리 제어기(310)로 전송할 수 있는 상이한 프로세서들 또는 다른 디바이스들일 수 있다.
메모리 제어기(310)는 버스(340)를 통해 리퀘스터들(330i)(i=1,2, ... , n)로부터 메모리 액세스 요청들을 수신하고 메모리 버스(315)를 통해 메모리 디바이스(320)에 액세스하도록 구성된다.
메모리 제어기(310)는 상이한 리퀘스터들(330i)(i=1,2, ... ,n) 사이를 중재하고, 상이한 리퀘스터들을 우선순위화하고, 스케줄링된 방식으로 한 번에 하나씩 리퀘스터들 각각에 대한 서비스를 승인한다. 메모리 제어기(310)는 각각의 메모리 액세스 요청을 커맨드들의 시퀀스로 변경하고 커맨드들의 시퀀스를 메모리 디바이스(320)로 전송한다.
메모리 디바이스(320)는 메모리 어레이들의 뱅크를 포함한다. 각각의 메모리 어레이는 로우들 및 컬럼들로 조직되는 데이터 엘리먼트들을 포함한다. 로우들 각각은 row address에 의해 주소화가 가능하다. 로우 내 데이터 엘리먼트들 각각은 column address에 의해 주소화가 가능하다.
메모리 디바이스(320)는 SDRAM(synchronous dynamic random access memory), DDR SDRAM(double data rate synchronous dynamic random access memory) 또는 임의의 다른 타입의 DRAM(dynamic random access memory)일 수 있다.
도 4는 본 발명의 일 실시예에 따른 메모리 제어기(310)와 메모리 디바이스(320)의 구체 회로도이다.
메모리 제어기(310)는 어드레스 버스(AB)와 데이터 버스(DB)를 통해 메모리 디바이스(320)와 접속되어 있다. 메모리 디바이스(320)는 커맨드 디코더(321), 제어 논리 회로(322), 모드 레지스터(323), 로우 어드레스 버퍼(324), 컬럼 어드레스 버퍼(325), 메모리 뱅크 블록 MBank, 데이터 제어 회로(326), 및 입출력 버퍼(327)를 구비한다.
메모리 뱅크 블록 MBank는 개별 메모리 뱅크 Banki(i=0~3)와 로우 디코더(328), 컬럼 디코더(329)와 센스 앰프 회로(331)를 구비한다. 실제의 메모리 칩 상에서는 메모리 디바이스(320)는 서로 물리적으로 독립된 8개 이상의 메모리 뱅크 Banki가 배치된 구성을 가진다.
데이터 제어 회로(326)는 개별 메모리 뱅크 Banki마다 뱅크 어드레스에 의해 제어되는 도시되지 않은 뱅크 스위치를 내장하고, 스위치로 선택된 하나의 메모리 뱅크 Banki를 활성화시킴으로써, 개별 메모리 뱅크 Banki와 데이터 버스 DB 사이의 데이터 전송이 제어된다. 더불어 데이터 버스 DB는 메모리 제어기(310)와 메모리 디바이스(320) 내의 입출력 버퍼(327)와 접속되어 있다.
메모리 디바이스(320)가 구비하는 복수의 메모리 뱅크 Banki는 복수의 메모리 셀(미도시)을 매트릭스 형태로 배열하여 구성된다. 각 메모리 셀은 서로 교차하는 복수의 워드 라인과 복수의 비트 라인의 교차부에 배치된다.
한 개의 워드라인을 따르는 복수의 메모리 셀 집합이 데이터 읽기 및 쓰기 단위인 1 페이지가 된다.
로우 디코더(328)는 워드 라인 드라이버를 포함하고, 메모리 뱅크 Banki의 선택 및 워드 라인의 선택 구동한다. 센스 앰프 회로(331)는 선택 중인 메모리 뱅크 Banki의 비트 라인 데이터를 센싱하는 1 페이지 분의 센스 앰프 소자열을 구비한다.
1 페이지 분의 읽기 데이터는 컬럼 디코더(329)에 의해 선택되고 입출력 버퍼(327)를 통해 데이터 제어 회로(326)에 출력된다. 데이터 제어 회로(326)에서 공급되는 쓰기 데이터는 컬럼 디코더(329)에 의해 선택되어 센스 앰프 회로(331)에 로드된다. 메모리 제어기(310)에서 어드레스 버퍼(AB)를 통해 전송되는 어드레스 신호(Add) 중 row address가 로우 어드레스 버퍼(324)에 보내지고, column address가 컬럼 어드레스 버퍼(325)에 보내진다. 또한 모드가 모드 레지스터(323)에 저장된다. 그리고 로우 어드레스 버퍼(324)에서 로우 어드레스가 로우 디코더(328)로 전송되고, 컬럼 어드레스 버퍼(325)에서 컬럼 어드레스가 컬럼 디코더(329)로 전송된다.
커맨드 디코더(321)에는 메모리 제어기(310)로부터 쓰기 인에이블 신호(WE), 읽기 인에이블 신호(RE), 로우 어드레스 스트로브 신호(RAS), 컬럼 어드레스 스트로브 신호(CAS), 칩 선택 신호(CS)의 제어 신호가 입력된다. 커맨드 디코더(321)는 각 신호 WE, RAS, CAS, CS를 디코딩해 제어 논리 회로(322)로 전송한다. 제어 논리 회로(322)는 모드 레지스터(323)에서 읽혀진 설정 모드에 따라 RAS 신호, CAS 신호, CS 신호 등의 제어 신호에 기초하여 읽기/쓰기 및 소거 동작의 타이밍 신호를 출력한다. 그리고 제어 논리 회로(322)는 이들의 타이밍 신호에 기반하여 순서를 제어하고, 로우 어드레스 버퍼(324)에서 로우 디코더(328)로의 로우 어드레스 공급, 컬럼 어드레스 버퍼(325)에서 컬럼 디코더(329)로의 컬럼 어드레스 공급, 데이터 읽기 동작 및 데이터 쓰기 동작 등의 제어를 수행한다.
메모리 제어기(310)는 Requestor(330)에서 읽기 요구를 받아들였을 경우, 메모리 디바이스(320)에 대해서 읽기 명령을 전송, 메모리 디바이스(320)는 이 명령을 디코딩해 원하는 데이터의 읽기 제어를 수행한다. 또한, 메모리 제어기(310)는 Requestor(330)에서 쓰기 요구를 받아들였을 경우, 메모리 디바이스(320)는 이 명령을 디코딩해 원하는 데이터의 쓰기 제어를 수행한다.
상세하게는 메모리 제어기(310)은 요구된 어드레스에서 동일 뱅크인지의 여부를 판정한다. 그리고 메모리 제어기(310)는 다른 뱅크로의 액세스의 경우 먼저 최초로 뱅크 액티브 명령과 row address를 메모리 디바이스(320)로 보낸다. 이 명령과 row address에 의해 메모리 디바이스(320) 내의 특정 뱅크가 선택되고, 그 선택된 뱅크의 row address에 대응하는 워드라인이 선택되고, 이 워드라인상의 일행분의 데이터가 센스 앰프 회로(331)로 전송되어 증폭된다.
여기서, 동일 뱅크로 액세스 하는 경우 row가 close 상태이면, 뱅크 액티브 명령과 row address를 메모리 디바이스(320)로 보낸다. 이 row address에 의해 선택된 뱅크의 row address에 대응하는 워드라인이 선택되고 이 워드라인상의 일행분의 데이터가 센스 앰프 회로(331)로 전송되어 증폭된다.
한편, 동일 뱅크로 액세스 하는 경우 row가 open 상태이고 액세스하고자 하는 row와 open된 row의 row address가 같을 경우, 접근하고자 하는 워드라인이 이미 센스 앰프 회로에 유지되어있는 상태이므로 뱅크 액티브 명령 및 row address를 메모리 디바이스로 보내지 않는다.
다른 한편, 동일 뱅크로 액세스 하는 경우 row가 open 상태이고 액세스하고자 하는 row와 open된 row의 row address가 다를 경우, precharge 명령을 보내 센스 앰프 회로에 유지되어 있는 데이터를 소거한 후, 뱅크 액티브 명령과 row address를 메모리 디바이스(320)로 보낸다. 이 row address에 의해 선택 중의 뱅크의 row address에 대응하는 워드라인이 선택되고 이 워드라인상의 일행분의 데이터가 센스 앰프 회로(331)로 전송되어 증폭된다.
계속해서 메모리 제어기(310)는 읽기 시에는 리드 명령과 column address를 보내, 이 명령과 column address에 의해 데이터 제어 회로(326) 내의 컬럼 스위치가 선택되고 센스 앰프 회로(331)로 지지되어 있는 페이지 중 column address에 대응하는 데이터가 독출된다. 한편, 쓰기 시에는 메모리 제어기(310)는 라이트 명령과 column address를 보내, 이 명령과 column address에 의해 데이터 제어 회로(326) 내의 컬럼 스위치가 선택되고 센스 앰프 회로(331)로 지지되어 있는 페이지 중 column address에 대응하는 데이터가 기록된다.
그런데 메모리 디바이스(320)에 있어서는 워드라인상의 1행분의 데이터(페이지)를 센스 앰프 회로(331)에 일단 지지해 버리면, 동일 워드라인상의 액세스 즉 동일 페이지의 액세스는 비교적 단시간에 수행할 수 있다. 또한 현재, 선택되어 있는 워드라인과는 다른 워드라인상의 데이터, 즉 이 페이지에 액세스할 경우에는 센스 앰프 회로(331)에 유지되어 있는 데이터를 일단 소거하는 프리차지 동작과 새로운 워드라인상의 1행분의 데이터(다른 페이지)를 센스 앰프 회로(331)로 전송 및 증폭해 지지시키는 페이지 오픈 동작이 필요하게 된다. 이 때문에 다른 페이지에 액세스할 경우에는 데이터의 읽기 또는 쓰기를 시작할 수 있기까지 비교적 긴 대기시간이 발생한다.
리퀘스터(330)에서 메모리 디바이스(320)에 대한 액세스는 랜덤 액세스라도, 예를 들면 동일 Request의 액세스가 연속할 경우에는 현재 액세스한 어드레스나 그 가까이의 어드레스에 가까운 장래에 빈번히 재차 액세스될 가능성이 높은 성질이 있다.
따라서 본 발명의 일실시예에 따른 메모리 제어기(310)는 이번 액세스 중에 다음 번의 액세스가 동일 페이지나 다른 페이지인지를 예측한다.
이러한 메모리 제어를 실현하기 위하여 메모리 제어기(310)는 조정 회로(311) 및 제어 회로(312)를 구비한다. 조정 회로(311)는 복수의 리퀘스터로부터의 액세스 요구를 조정한다. 제어 회로(312)는 조정 회로(311)에 의해 조정된 읽기 요구 또는 쓰기 요구를 수신하고, 그 요구에 따라 메모리 디바이스(320)를 제어한다.
제어 회로(312)는 커맨드 큐 회로(313), 메모리 순서 제어 회로(314), 제어 레지스터 회로(315), 데이터 제어 회로(316) 및 지연 개선 회로(317)를 구비한다.
커맨드 큐 회로(313)는 커맨드 큐(Command Queue)를 예를 들어 FIFO 방식으로 저장하는 회로이다.
메모리 순서 제어 회로(314)는 액세스 요구에 따른 메모리 디바이스(320)에 대한 순서 제어를 수행한다.
제어 레지스터 회로(315)는 메모리 시퀀스를 실행하는 데에 필요한 설정값 등의 각종 데이터를 저장한다.
데이터 제어 회로(316)는 쓰기 요구 시에 리퀘스터로부터의 쓰기 데이터 Dwrite를 데이터 버스(DB)를 통해 메모리 디바이스(320) 내의 입출력 버퍼(327)로 출력하는 전송 제어와 읽기 요구 시에 메모리 디바이스(320) 내의 입출력 버퍼(327)에서 읽기 데이터 Dread를 데이터 버스(DB)를 통해 입력하는 전송 제어를 수행한다.
지연 개선 회로(317)는 다음 번의 액세스가 동일 페이지나 다른 페이지인지를 예측하고, 그 예측 결과에 기초하여 메모리 디바이스(320)에 대한 현재 액세스를 open row로 종료하거나 close row로 종료할지를 결정하고, 그 결정한 open row/close row의 지시 신호를 메모리 순서 제어 회로(314)로 보낸다.
도 5는 본 발명의 일실시예에 따른 메모리 제어기(310)의 지연 개선과 관련된 부분의 상세 블록도이다. 한편, 도 5에서는 메모리 제어기(310)의 구성요소 중 지연 개선 기능에 직접 관계없는 제어 레지스터 회로(315), 및 데이터 제어 회로(316)는 생략한다.
도 5에 도시된 바와 같이, 조정 회로(311)는 리퀘스터(Requestor1, Requestor2, ..., ReuestorN)로부터의 액세스 요구를 수신한다. 조정 회로(311)는 조정한 리퀘스터로부터의 메모리 액세스 정보(모드, 어드레스 포함)는 메모리 순서 제어 회로(314)로 보내진다.
지연 개선 회로(317)는 제1 레지스터(510), 제2 레지스터(520), 제3 레지스터(530), 판정 및 제어 회로(540)를 구비한다.
제1 레지스터(510)는 현재 접근하는 row address를 저장한다. 제2 레지스터(520)는 맨 마지막 접근하는 row address를 저장한다. 제3 레지스터(530)는 condition 1이 발생할 때 해당 row address를 저장한다. 여기서, condition 1이라 함은 커맨드 큐 회로(313) 내에 Command queue가 빈 이후 맨 먼저 접근하는 row가 직전에 접근한 row와 동일한지를 판단하는 것이다.
판정 및 제어 회로(540)의 동작은 도 6에서 설명하기로 한다.
도 6은 본 발명의 일실시예에 따른 판정 및 제어 회로에서의 row hit/miss 예측 및 프리차지 흐름도이다.
메모리 제어기(310) 내 판정 및 제어 회로(540)는 커맨드 큐 회로(313) 내에 Command Queue가 비어 있을 때, open row를 close 하도록 클로징 신호(Sclose)를 메모리 순서 제어 회로(314)에 출력한다(S610).
이후 메모리 제어기(310) 내 판정 및 제어회로(540)는 커맨드 큐 회로(313) 내에 해당 Banki 또는 rank의 Command Queue가 비어 있는지를 판단한다(S620).
Command Queue가 비어 있으면, 메모리 제어기(310) 내 판정 및 제어회로(540)는 커맨드 큐 회로(313) 내에 Command Queue가 빈 이후 맨 처음으로 접근하는 row가 직전에 접근한 row와 동일한지를 판단한다(S630). 커맨드 큐 회로(313) 내에 해당 Banki 또는 rank의 Command Queue가 비어 있지 않으면, 단계 S610으로 복귀한다. 여기서, 도 6의 단계 S630에 도시된 condition 1은 커맨드 큐 회로(313) 내에 Command queue가 빈 이후 맨 먼저 접근하는 row가 직전에 접근한 row와 동일한지를 판단하는 것이다.
커맨드 큐 회로(313) 내에 상기 Banki 또는 rank의 Command queue가 빈 이후 맨 먼저 접근하는 row가 직전에 접근한 row와 동일하면, 메모리 제어기(310) 내 판정 및 제어회로(540)는 커맨드 큐 회로(313) 내에 상기 Banki 또는 rank의 Command Queue가 비어 있는지를 다시 판단한다(S640).
커맨드 큐 회로(313) 내에 상기 Banki 또는 rank의 Command Queue가 비어 있으면, 메모리 제어기(310) 내 판정 및 제어회로(540)는 커맨드 큐 회로(313) 내에 Command queue가 빈 이후 맨 먼저 접근하는 row가 이전에 상태 천이(state transition)에서 접근한 row와 동일한지 판단한다(S650).
커맨드 큐 회로(313) 내에 해당 Banki 또는 rank의 Command Queue가 비어있지 않으면, 단계 S640으로 복귀한다. 여기서, condition 2는 커맨드 큐 회로(313) 내에 Command queue가 빈 이후 맨 처음 접근하는 row가 이전에 상태 천이(state transition)에서 접근한 row와 동일한지를 판단하는 것이다.
커맨드 큐 회로(313) 내에 Command queue가 빈 이후 맨 먼저 접근하는 row가 이전에 상태 천이(state transition)에서 접근한 row와 동일하다면, 이후 커맨드 큐 회로(313) 내에 Command Queue가 비어 있을 때 메모리 제어기(310) 내 판정 및 제어 회로(540)는 해당 row를 open 하도록 오프닝 신호(Sopen)를 메모리 순서 제어 회로(314)에 출력한다(S660). 커맨드 큐 회로(313) 내에 Command queue가 빈 이후 맨 먼저 접근하는 row가 이전에 상태 천이(state transition)에서 접근한 row와 동일하지 않다면, 단계 S610으로 복귀한다.
Open row 상태에서, 메모리 제어기(310) 내 판정 및 제어 회로(540)는 row hit 인지를 판단한다(S670). row hit이면 단계 S660으로 복귀하고, row hit가 아니면 단계 S610으로 복귀한다.
이상, 첨부된 도면을 참조하여 본 발명의 실시 예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예에는 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
310: 메모리 제어기
311: 조정 회로
312: 제어 회로
313: 커맨드 큐 회로
314: 메모리 순서 제어 회로
315: 제어 레지스터 회로
316: 데이터 제어 회로
317: 지연 개선 회로
320: 메모리 디바이스
330i: 복수의 리퀘스터들
S610: open row 클로징 단계
S620: command queue empty 1차 판단 단계
S630: 동일 row 접근 판단 단계
S640: command queue empty 2차 판단 단계
S650: 상태 천이 후, 접근 판단 단계
S660: close row 오픈 단계
S670: row hit 판단 단계

Claims (6)

  1. 커맨드 큐 회로 내에 Command Queue가 비어 있을 때, 메모리 제어기가 open row를 클로징 하는 클로징 단계;
    상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제1 Command Queue 판단 단계;
    상기 메모리 제어기는 직전에 접근한 row에 대하여 접근이 있는지를 판단하는 제1 접근 판단 단계;
    상기 제1 접근 판단 단계의 수행 후, 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제2 Command Queue 판단 단계;
    상기 메모리 제어기가 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있는지를 판단하는 제2 접근 판단 단계; 및
    상기 메모리 제어기가 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있다면, close row를 오픈 하는 오프닝 단계
    를 포함하는 히스토리 기반 메모리 제어 방법.
  2. 제1항에 있어서,
    상기 제2 변경 단계 후, 상기 메모리 제어기는 상기 row에 대하여 row hit인지 판단하는 로우 히트 판단 단계를 더 포함하고,
    상기 로우 히트 판단 단계에서 row hit이면 상기 오프닝 단계로 복귀하고, row hit가 아니면 상기 클로징 단계로 복귀하는
    히스토리 기반 메모리 제어 방법.
  3. 제2항에 있어서,
    상기 제2 Command Queue 판단 단계에서 상기 커맨드 큐 회로 내에 Command Queue가 비어 있지 않으면, 상기 제2 Command Queue 판단 단계로 복귀하는 히스토리 기반 메모리 제어 방법.
  4. 메모리 디바이스; 및
    중앙 처리 시스템으로부터의 액세스 요구에 기반하여 상기 메모리 디바이스에 대한 액세스를 제어하는 메모리 제어기를 포함하고,
    상기 메모리 제어기는,
    상기 메모리 제어기 내 커맨드 큐 회로 내에 Command Queue가 비어 있을 때, open row를 클로징 하는 클로징 단계; 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제1 Command Queue 판단 단계; 직전에 접근한 row에 대하여 접근이 있는지를 판단하는 제1 접근 판단 단계; 상기 제1 접근 판단 단계의 수행 후, 상기 커맨드 큐 회로 내에 Command Queue가 비어 있는지를 판단하는 제2 Command Queue 판단 단계; 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있는지를 판단하는 제2 접근 판단 단계; 및 상태 천이가 발생된 row에 대하여 Command Queue의 접근이 있다면, close row를 오픈 하는 오프닝 단계를 수행하는 것을 특징으로 하는 히스토리 기반 메모리 제어 시스템.
  5. 제4항에 있어서,
    상기 close row를 오픈한 후, 상기 메모리 제어기는 상기 row에 대하여 row hit인지를 판단하고, row hit이면 상기 오프닝 단계로 복귀하고, row hit가 아니면 상기 클로징 단계로 복귀하도록 제어하는 히스토리 기반 메모리 제어 시스템.
  6. 제5항에 있어서,
    상기 제2 Command Queue 판단 단계에서 상기 커맨드 큐 회로 내에 Command Queue가 비어 있지 않으면, 상기 제2 Command Queue 판단 단계로 복귀하는 히스토리 기반 메모리 제어 시스템.


KR1020190042080A 2019-04-10 2019-04-10 히스토리 기반 메모리 시스템 및 그 제어 방법 KR20200119633A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190042080A KR20200119633A (ko) 2019-04-10 2019-04-10 히스토리 기반 메모리 시스템 및 그 제어 방법
US16/449,172 US10768859B1 (en) 2019-04-10 2019-06-21 History-based memory control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190042080A KR20200119633A (ko) 2019-04-10 2019-04-10 히스토리 기반 메모리 시스템 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20200119633A true KR20200119633A (ko) 2020-10-20

Family

ID=72290097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190042080A KR20200119633A (ko) 2019-04-10 2019-04-10 히스토리 기반 메모리 시스템 및 그 제어 방법

Country Status (2)

Country Link
US (1) US10768859B1 (ko)
KR (1) KR20200119633A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197707A (ja) 2010-03-17 2011-10-06 Seiko Epson Corp メモリー制御装置、メモリー制御システム、記録装置及びメモリー制御方法
KR20130018905A (ko) 2010-07-27 2013-02-25 미쯔비시 가스 케미칼 컴파니, 인코포레이티드 폴리아미드 수지
KR20130111188A (ko) 2012-03-29 2013-10-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822772A (en) * 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US6389514B1 (en) * 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
US6785793B2 (en) * 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US7617368B2 (en) * 2006-06-14 2009-11-10 Nvidia Corporation Memory interface with independent arbitration of precharge, activate, and read/write
KR101916161B1 (ko) 2012-03-26 2018-11-08 삼성전자 주식회사 페이지 버퍼, 이를 포함하는 메모리 장치, 및 메모리 장치의 구동 방법
KR20160061704A (ko) * 2014-11-24 2016-06-01 삼성전자주식회사 페이지 상태 알림 기능이 있는 메모리 장치
KR101689458B1 (ko) 2015-03-16 2016-12-23 한양대학교 산학협력단 반도체 메모리 장치 및 반도체 메모리 장치 제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197707A (ja) 2010-03-17 2011-10-06 Seiko Epson Corp メモリー制御装置、メモリー制御システム、記録装置及びメモリー制御方法
KR20130018905A (ko) 2010-07-27 2013-02-25 미쯔비시 가스 케미칼 컴파니, 인코포레이티드 폴리아미드 수지
KR20130111188A (ko) 2012-03-29 2013-10-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작방법

Also Published As

Publication number Publication date
US10768859B1 (en) 2020-09-08

Similar Documents

Publication Publication Date Title
TWI457753B (zh) 記憶體控制器及用於管理記憶體存取之方法
US8127081B2 (en) Memory hub and access method having internal prefetch buffers
KR100375188B1 (ko) 직접 프리페치 및 복원 동작이 가능한 라인 버퍼형 반도체메모리 장치
US20060168407A1 (en) Memory hub system and method having large virtual page size
JP3398583B2 (ja) キャッシュ・シンクロナス・ダイナミック・ランダム・アクセス・メモリ
KR100824487B1 (ko) 버퍼된 기록들 및 메모리 페이지 제어
US8122186B2 (en) Memory device, memory system and dual port memory device with self-copy function
JPH10134572A (ja) キャッシュsdramデバイス
US7050351B2 (en) Method and apparatus for multiple row caches per bank
US20080098176A1 (en) Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching
US6182192B1 (en) Memory interface device and method for accessing memories
US7133995B1 (en) Dynamic page conflict prediction for DRAM
JP4704345B2 (ja) 暗示dramプレチャージ用の方法及びデバイス
GB2570041A (en) DRAM bank activation management
US20040190362A1 (en) Dram and access method
KR20200119633A (ko) 히스토리 기반 메모리 시스템 및 그 제어 방법
US6990036B2 (en) Method and apparatus for multiple row caches per bank
US6392935B1 (en) Maximum bandwidth/minimum latency SDRAM interface
JP4707351B2 (ja) マルチバンクメモリのスケジューリング方法
KR20150020477A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 그 동작 방법
KR20210155270A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
KR100368117B1 (ko) 레이트 선택 동기 파이프라인 타입 반도체 메모리장치에서의 데이터 코히런시 유지방법 및 그에 따른데이터 코히런시 유지회로
KR100438893B1 (ko) 뱅크 인식을 이용한 고속 sdram 제어 장치 및 방법
KR20030041758A (ko) 메모리 서브시스템
KR20010068848A (ko) 동기식 디램을 이용한 고속 메모리 컨트롤러

Legal Events

Date Code Title Description
E902 Notification of reason for refusal