KR20170087948A - 메모리 활성화 방법 및 장치 - Google Patents
메모리 활성화 방법 및 장치 Download PDFInfo
- Publication number
- KR20170087948A KR20170087948A KR1020177017450A KR20177017450A KR20170087948A KR 20170087948 A KR20170087948 A KR 20170087948A KR 1020177017450 A KR1020177017450 A KR 1020177017450A KR 20177017450 A KR20177017450 A KR 20177017450A KR 20170087948 A KR20170087948 A KR 20170087948A
- Authority
- KR
- South Korea
- Prior art keywords
- sub
- row
- memory
- storage unit
- activation instruction
- Prior art date
Links
- 238000007726 management method Methods 0.000 title 1
- 230000004913 activation Effects 0.000 claims abstract description 242
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000003213 activating effect Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 25
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
-
- G06F9/3855—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
컴퓨터 분야에 관한 메모리 활성화 방법 및 장치가 제공된다. 본 해결 방안에서, 메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청이 획득되고(100), 메모리의 스케줄링 될 큐가 제2 메모리 액세스 요청을 위해 검색되고, 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 제1 서브-로우 및 제2 서브-로우는 메모리 내에서 동일한 로우 내에 위치되고(110), 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청이 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는 제1 활성화 지시를 생성하기 위해서 결합되고(120), 제1 활성화 지시가 메모리에게 송신된다(130). 이러한 방법으로, 제1 서브-로우 및 제2 서브-로우가 동시에 활성화될 수 있고, 제1 서브-로우의 활성화 이후에 제1 서브-로우가 위치된 로우를 프리차지하고 이후 제2 서브-로우를 활성화할 필요가 없다. 그러므로, 활성의 효율이 향상된다.
Description
본 발명은 컴퓨터 분야에 관련된 것이고, 특히 메모리 활성화 방법 및 장치에 관한 것이다.
현재 메모리의 전력 소모는 데이터 센터의 전력 소모의 25% 내지 40%를 차지한다. 하나의 메모리는 로우(row)-컬럼(column) 구조를 가지며, 임의의 로우와 임의의 컬럼을 교차하여 형성된 셀은 저장 단위이다. 따라서 임의의 저장 단위는 하나의 로우 번호와 하나의 컬럼 번호에 대응한다. 로우 내의 저장 장치가 액세스 될 때, 전체 로우가 먼저 활성화될 필요가 있다. 번호가 "00"인 저장 단위(즉, 로우 0 및 컬럼 0에 위치되는 저장 단위)가 액세스 될 때, 로우 0 내에 위치된 9개의 저장 단위가 먼저 활성화될 필요가 있고, 활성화의 전력 소모는 메모리의 전력 소모의 적어도 85%를 차지한다. 따라서, 현재의 데이터 센터는 비교적 큰 전력 소모를 갖는다.
데이터 센터의 전력 소모를 줄이기 위해, 미세 단위(fine-granularity) 로우를 사용하여 메모리에 액세스하는 방법이 제시된다. 상기 해결 방안의 주된 아이디어는, 액세스 될 저장 단위만이 활성화 동안 매번 활성화될 필요가 있고, 활성화될 저장 단위와 동일한 로우에 위치된 모든 저장 단위는 활성화될 필요가 없다는 것이다. 로우 활성화 지시를 수신하면, 메모리는 로우를 즉시 활성화하지 않는다. 대신, 컬럼 활성화 지시를 수신하면, 메모리는 로우 활성화 지시 내의 로우 주소 및 컬럼 활성화 지시 내의 컬럼 주소에 따라 활성화될 저장 단위를 결정하고, 이후 저장 단위를 활성화한다. 그러므로, 데이터 센터의 전력 소모가 감소된다.
하지만, 앞서 설명한 해결 방안에서, 복수의 저장 단위를 동시에 활성화 될 수 없고, 대신 저장 단위가 매번 활성화될 때, 저장 단위는 프리차지(precharge)될 필요가 있고, 그때 활성화 조작이 다음 저장 단위에 대해 수행될 수 있다. 그러므로, 현재의 메모리 활성화 방법은 상대적으로 낮은 효율성이라는 단점을 갖는다.
본 발명의 실시예는, 메모리 활성화 방법에서의 상대적으로 낮은 효율인 종래 기술의 단점을 극복하기 위한, 메모리 활성화 방법 및 장치를 제공한다.
본 발명의 실시예에서 제공된 구체적인 기술적 해결 방안은 아래와 같다.
제1 측면에 따르면, 메모리 활성화 방법이 제공된다. 상기 메모리 활성화 방법은,
메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하는 단계;
제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐(queue)를 검색하는 단계 - 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 제1 서브-로우 및 제2 서브-로우는 메모리 내의 동일한 로우 내에 위치됨 -;
메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는 제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청을 결합하는 단계; 및
제1 활성화 지시를 메모리에게 송신하는 단계
를 포함한다.
제1 측면을 참조하여, 제1 가능한 구현 방식에서, 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐를 검색하는 단계 이후에 메모리 활성화 방법은,
서브-로우 선택 벡터를 생성하고, 서브-로우 선택 벡터를 메모리에게 송신하는 단계를 더 포함하고,
여기서 서브-로우 선택 벡터는 활성화될 서브-로우들이 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해서 사용된다.
제2 측면에 따르면, 메모리 활성화 방법이 제공된다. 상기 메모리 활성화 방법은,
메모리 내의 제1 서브-로우(sub-row) 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하는 단계; 및
제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하는 단계를 포함하고, 여기서 제1 서브-로우 및 제2 서브-로우는 모두 메모리 내의 동일한 로우 내에 위치된다.
제2 측면을 참조하여, 제1 가능한 구현 방식에서, 제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하는 단계 이전에 메모리 활성화 방법은,
메모리 컨트롤러에 의해 송신되는 서브-로우 선택 벡터를 수신하는 단계를 더 포함하고, 여기서 서브-로우 선택 벡터는 활성화될 서브-로우들이 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해서 사용되고,
제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하는 단계는 구체적으로,
제1 활성화 지시 내의 서브-로우 선택 벡터에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하는 단계를 포함한다.
제3 측면에 따르면, 메모리 컨트롤러가 제공된다. 상기 메모리 컨트롤러는,
메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하도록 구성된 요청 분배 모듈;
제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐(queue)를 검색하도록 구성되고, 또한 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는 제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청을 결합하도록 구성된 메모리 스케줄러 - 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 제1 서브-로우 및 제2 서브-로우는 메모리 내의 동일한 로우 내에 위치됨 -; 및
제1 활성화 지시를 메모리에게 송신하도록 구성된 명령 스케줄러를 포함한다.
제3 측면을 참조하여, 제1 가능한 구현 방식에서, 메모리 스케줄러는 또한,
서브-로우 선택 벡터를 생성하고, 서브-로우 선택 벡터를 메모리에게 송신하도록 구성되고,
여기서 서브-로우 선택 벡터는 활성화될 서브-로우들이 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해서 사용된다.
제4 측면에서, 메모리 모듈이 제공된다. 상기 메모리 모듈은,
메모리 내의 제1 서브-로우(sub-row) 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하도록 구성된 래치(latch); 및
래치로부터 획득된 제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하도록 구성된 서브-로우 선택 디코더를 포함하고,
여기서 제1 서브-로우 및 제2 서브-로우는 모두 메모리 내의 동일한 로우 내에 위치된다.
제4 측면을 참조하여, 제1 가능한 구현 방식에서, 래치는 또한,
메모리 컨트롤러에 의해 송신되는 서브-로우 선택 벡터를 수신하도록 구성되고, 여기서 서브-로우 선택 벡터는 활성화될 서브-로우들이 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해서 사용되고,
서브-로우 선택 디코더는 구체적으로,
제1 활성화 지시 내의 서브-로우 선택 벡터에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하도록 구성된다.
제5 측면에 따르면, 메모리 컨트롤러가 제공된다. 상기 메모리 컨트롤러는,
메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하도록 구성된, 요청 분배 모듈;
요청 분배 모듈에 의해 획득된 제1 메모리 액세스 요청을 획득하고, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하도록 구성된 메모리 스케줄러; 및
메모리 스케줄러로부터 획득된 제1 활성화 지시를 메모리에게 송신하도록 구성된 명령 스케줄러
를 포함하고,
여기서, 요청 분배 모듈은 또한, 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐(queue)를 검색하도록 구성되고, 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치되며,
메모리 스케줄러는 또한, 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하도록 구성되고,
명령 스케줄러는 또한, 메모리 스케줄러로부터 획득된 제2 활성화 지시를 메모리에게 송신하도록 구성되고,
여기서, 제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하며,
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제5 측면을 참조하여, 제1 가능한 구현 방식에서, 요청 분배 모듈은 또한,
메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하도록 구성되고,
여기서 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고, 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
메모리 스케줄러는 구체적으로,
제1 활성화 지시를 생성하기 위해 제1 메모리 액세스 요청 및 제3 메모리 액세스 요청을 결합하도록 구성된다.
제5 측면 및 제5 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 요청 분배 모듈은 또한,
메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하도록 구성되고,
여기서 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고, 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
메모리 스케줄러는 구체적으로,
제2 활성화 지시를 생성하기 위해 제2 메모리 액세스 요청 및 제4 메모리 액세스 요청을 결합하도록 구성된다.
제5 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제6 측면에 따르면, 메모리 모듈이 제공된다. 상기 메모리 모듈은,
메모리 내의 제1 서브-로우(sub-row)를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하도록 구성된 제1 래치(latch);
제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화하도록 구성된 제1 서브-로우 선택 디코더;
메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신하도록 구성된 제2 래치; 및
제2 활성화 지시에 따라 메모리 내에 위치된 제2 서브-로우를 활성화하도록 구성된 제2 서브-로우 선택 디코더를 포함하고,
여기서 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치되고,
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하며,
제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고,
제1 래치 및 제2 래치는 모두 데이터 캐싱(data caching)을 수행하도록 구성된 글로벌 캐시(global cache)에 연결된다.
제6 측면을 참조하여, 제1 가능한 구현 방식에서, 제1 활성화 지시는 또한 메모리 내의 제3 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되며,
제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제6 측면 및 제6 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 제2 활성화 지시는 또한 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고,
제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제7 측면에 따르면, 메모리 활성화 방법이 제공된다. 상기 메모리 활성화 방법은,
메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하는 단계;
제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하고, 제1 활성화 지시를 메모리에게 송신하는 단계;
제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐(queue)를 검색하는 단계 - 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되고, 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되며, 제2 서브-로우는 제2 서브어레이 내에 위치됨 -; 및
제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하고, 제2 활성화 지시를 메모리에게 송신하는 단계
를 포함하고,
여기서 제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하며, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하며,
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제7 측면을 참조하여, 제1 가능한 구현 방식에서, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하기 전에, 메모리 활성화 방법은,
메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하는 단계를 더 포함하고,
여기서 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고, 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하는 것은 구체적으로,
제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제3 메모리 액세스 요청을 결합하는 것을 포함한다.
제7 측면 및 제7 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하기 전에, 메모리 활성화 방법은,
메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하는 단계를 더 포함하고,
여기서 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고, 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하는 것은 구체적으로,
제2 활성화 지시를 생성하기 위해서 제2 메모리 액세스 요청 및 제4 메모리 액세스 요청을 결합하는 것을 포함한다.
제7 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제8 측면에 따르면, 메모리 활성화 방법이 제공된다. 상기 메모리 활성화 방법은,
메모리 내의 제1 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하는 단계;
제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화하는 단계;
메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신하는 단계; 및
제2 활성화 지시에 따라서 메모리 내에 위치된 제2 서브-로우를 활성화하는 단계
를 포함하고,
여기서 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치되고, 제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하고,
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
제1 래치 및 제2 래치는 모두 데이터 캐싱(data caching)을 수행하도록 구성된 글로벌 캐시(global cache)에 연결된다.
제8 측면을 참조하여, 제1 가능한 구현 방식에서, 제1 활성화 지시는 또한, 메모리 내의 제3 서브-로우를 활성화하도록 지시하기 위해 사용되고, 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고,
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고,
제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화하는 단계는 구체적으로,
제1 활성화 지시에 따라 메모리 내의 제1 래치(latch)가, 메모리 내에 위치된 제1 서브-로우 및 제3 서브-로우를 활성화하는 단계를 포함한다.
제8 측면 및 제8 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 제2 활성화 지시는 또한, 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해 사용되고, 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고,
제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고,
제2 활성화 지시에 따라 메모리 내에 위치된 제2 서브-로우를 활성화하는 단계는 구체적으로,
제2 활성화 지시에 따라 메모리 내의 제2 래치가, 메모리 내에 위치된 제2 서브-로우 및 제4 서브-로우를 활성화하는 단계를 포함한다.
본 발명의 이익이 되는 효과는 아래와 같다.
종래 기술에서, 복수의 저장 단위가 동시에 활성화될 수 없지만, 대신에, 저장 단위가 활성화된 이후 매번, 저장 단위는 프리차지될 필요가 있고, 다음 활성화 조작이 다음 저장 단위에 대해 수행될 수 있다. 그러므로, 현재 메모리 활성화 방법은 상대적으로 낮은 효율의 단점을 갖는다. 본 발명의 실시예에서, 메모리의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청이 획득된 후, 제1 서브-로우는 즉시 활성화되지 않는다. 그 대신에, 메모리의 스케줄링 될 큐가 메모리의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되는 제2 메모리 액세스 요청을 위해 검색되고, 여기서 제1 서브-로우 및 제2 서브-로우는 메모리의 동일한 로우에 위치되거나 동일한 로우에 위치된다. 그 다음, 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청은 제1 활성화 지시를 생성하기 위해 결합되며, 여기서 제1 활성화 지시는 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용된다. 제1 활성화 지시는 메모리에게 송신된다. 이러한 방식으로, 제1 서브-로우 및 제2 서브-로우가 동시에 활성화될 수 있고, 제1 서브-로우의 활성화 이후에, 제1 서브-로우이 위치된 로우를 프리차지하는 것과 이후 제2 서브-로우를 활성화하는 것이 불필요하다. 그러므로, 메모리 활성화의 효율이 향상된다.
도 1a는 본 발명의 일 실시예에 따른 메모리 활성화의 흐름도이다;
도 1b는 본 발명의 일 실시예에 따른 서브-로우 선택 벡터의 개략도이다;
도 2는 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다;
도 3은 본 발명의 일 실시예에 따른 메모리 컨트롤러의 개략도이다;
도 4는 본 발명의 일 실시예에 따른 메모리 모듈의 개략도이다;
도 5a는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 또 다른 개략도이다;
도 5b는 본 발명의 일 실시예에 따른 메모리의 개략도이다;
도 6은 본 발명의 일 실시예에 따른 메모리 모듈의 또 다른 개략도이다;
도 7은 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다;
도 8은 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다;
도 9는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 또 다른 개략도이다;
도 10은 본 발명의 일 실시예에 따른 메모리 모듈의 또 다른 개략도이다;
도 11은 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다; 그리고
도 12는 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다.
도 1b는 본 발명의 일 실시예에 따른 서브-로우 선택 벡터의 개략도이다;
도 2는 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다;
도 3은 본 발명의 일 실시예에 따른 메모리 컨트롤러의 개략도이다;
도 4는 본 발명의 일 실시예에 따른 메모리 모듈의 개략도이다;
도 5a는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 또 다른 개략도이다;
도 5b는 본 발명의 일 실시예에 따른 메모리의 개략도이다;
도 6은 본 발명의 일 실시예에 따른 메모리 모듈의 또 다른 개략도이다;
도 7은 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다;
도 8은 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다;
도 9는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 또 다른 개략도이다;
도 10은 본 발명의 일 실시예에 따른 메모리 모듈의 또 다른 개략도이다;
도 11은 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다; 그리고
도 12는 본 발명의 일 실시예에 따른 메모리 활성화의 또 다른 흐름도이다.
본 발명의 실시예들의 목적, 기술적 해결 방안 및 장점들을 보다 명확하게 하기 위해, 본 발명의 실시예에서 첨부된 도면들을 참조하여 본 발명의 실시예의 기술적 해결 방안을 다음과 같이 명확하고 완전하게 설명한다. 명백하게, 설명된 실시예는 본 발명의 일부 실시예에 불과하고, 전부가 아니다. 창의적인 노력 없이 본 발명의 실시예에 기초하여 당업자에 의해 획득된 다른 모든 실시예는 본 발명의 보호 범위 내에 있다.
또한, "시스템" 및 "네트워크"라는 용어는 본 명세서에서 상호교환적으로 사용될 수 있다. 본 명세서에서 "및/또는"은 관련된 객체를 설명하기 위한 연관 관계만을 기술하고 3개의 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 다음 세 가지 경우, A만 존재하는 경우, A와 B가 모두 존재하는 경우, B만 존재하는 경우를 나타낸다. 또한, 본 명세서에서 문자 "/"는 일반적으로 관련 객체들 간의 "또는" 관계를 나타낸다.
아래에서는 첨부된 도면을 참조하여 본 발명의 바람직한 구현 예를 상세하게 설명한다. 여기에 기술된 바람직한 실시예는 단지 본 발명을 설명하기 위해 사용되었으며, 본 발명을 제한하기 위해 의도되지 않았다는 것이 이해되어야 한다. 게다가, 본 출원의 실시예 및 실시예의 특징은, 서로 충돌하지 않는 한, 서로 조합 될 수 있다.
아래에서는 첨부된 도면을 참조하여 본 발명의 바람직한 구현 방식을 상세하게 설명한다.
도 1a에서 보여진 대로, 본 발명의 일 실시예에서, 메모리 활성화의 과정은 아래와 같다.
단계 100: 메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득한다.
단계 110: 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐(to-be-scheduled queue)를 검색한다. 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해서 사용되며, 제1 서브-로우 및 제2 서브-로우는 메모리 내의 동일한 로우 내에 위치된다.
단계 120: 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는 제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청을 결합한다.
단계 130: 제1 활성화 지시를 메모리에게 송신한다.
본 발명의 본 실시예에서, 활성화될 제1 서브-로우 및 제2 서브-로우가 위치되는 로우의 로우 주소(row address)가 동일한지 여부가 활성화될 제1 서브-로우 및 제2 서브-로우가 동일한 로우 내에 위치되는지 여부를 확인하기 위해서 검증될 수 있다.
본 발명의 본 실시예에서, 메모리가 어떤 서브-로우가 활성화될 필요가 있는지 및 어떤 서브-로우가 활성화될 필요가 없는지를 알도록 하기 위해서, 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐를 검색한 이후에, 아래 조작,
서브-로우 선택 벡터를 생성하고, 서브-로우 선택 벡터를 메모리에게 송신하는 것이 더 포함된다.
여기서 서브-로우 선택 벡터는 활성화될 서브-로우가 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해서 사용된다.
예를 들어, N개의 서브-로우는 하나의 로우에 위치되고, 서브-로우 선택 벡터 내의 각 값은 하나의 서브-로우에 대응하고, 상기 값은 대응하는 서브-로우가 활성화될 것인지 아닌지를 나타내기 위해 사용된다. 도 1b에 보여진 대로, 서브-로우 선택 벡터의 값이 0일 때, 그것은 대응하는 서브-로우가 활성화될 것임을 나타낸다. 서브-로우 선택 벡터의 값이 1일 때, 그것은 대응하는 서브-로우가 활성화되지 않을 것임을 나타낸다. 분명히, 대응하는 서브-로우가 활성화될 것인지 여부는 다른 형태로 표시될 수 있으며, 상세한 설명은 여기에 기술되지 않는다.
본 발명의 본 실시예에서, 서브-로우 선택 벡터는 제1 활성화 지시와 동시에 송신될 수 있다. 예를 들어, 서브-로우 선택 벡터는 제1 활성화 지시 내에 부가되고, 이 경우, 구체적인 구현에서, 서브-로우 선택 벡터 및 제1 활성화 지시는 메모리 버스 상에 동시에 쓰여진다. 대안적으로, 서브-로우 선택 벡터는 제1 활성화 지시가 송신되기 전에 송신될 수 있고, 이 경우, 구체적인 구현에서, 제1 활성화 지시가 메모리 버스 상에 쓰여지기 전에, 서브-로우 선택 벡터가 버스를 사용하여 쓰여진다.
본 발명의 본 실시예에서, 제1 서브-로우 및 제2 서브-로우가 활성화된 이후에, 제1 서브-로우 내의 데이터 및 제2 서브-로우 내의 데이터가 대응하는 서브-로우 캐시(cache)에 페치(fetch)된다. 선택되지 않은 서브-로우는 활성화되지 않고, 대응하는 데이터는 대응하는 서브-로우 캐시로 페치되지 않는다.
본 해결 방안에서, 제1 메모리 액세스 요청이 수신되면, 제1 메모리 액세스 요청이 액세스하도록 요청하는 제1 서브-로우는 즉시 활성화되지 않는다. 대신에, 메모리의 스케줄링 될 큐 내의 메모리 액세스 요청들이 제2 메모리 액세스 요청에 대해 검색하도록 스케줄링 된다. 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청은 제1 활성화 지시로 결합되고, 제1 활성화 지시가 메모리에게 송신된다. 이러한 방식으로, 제1 서브-로우 및 제2 서브-로우는 동시에 활성화될 수 있고, 활성화 효율이 향상된다.
도 2에서 보여진 대로, 본 발명의 일실시예에서, 메모리 활성화의 다른 과정은 아래와 같다.
단계 200: 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하고, 여기서 제1 활성화 지시는 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 제1 서브-로우 및 제2 서브-로우는 모두 메모리 내에서 동일한 로우 내에 위치된다.
단계 210: 제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화한다.
본 발명의 본 실시예에서, 제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하는 단계 이전에, 아래 조작,
메모리 컨트롤러에 의해 송신되는 서브-로우 선택 벡터를 수신하는 것이 더 포함된다.
여기서 서브-로우 선택 벡터는 활성화될 서브-로우들이 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해서 사용된다.
제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우가 활성화될 때, 아래 방식,
제1 활성화 지시 내의 서브-로우 선택 벡터에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하는 것이 사용될 수 있다.
앞서 설명한 대응하는 방법의 기술적 해결 방안에 기반하여, 도 3에서 보여진 대로, 본 발명의 일 실시예는 메모리 컨트롤러(3000)를 제공하고, 메모리 컨트롤러(3000)는 요청 분배 모듈(30), 메모리 스케줄러(31), 및 명령 스케줄러(32)를 포함한다.
요청 분배 모듈(30)은 메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하도록 구성된다.
메모리 스케줄러(31)는 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐를 검색하도록 구성되고, 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 제1 서브-로우 및 제2 서브-로우는 메모리 내에서 동일한 로우 내에 위치된다.
메모리 스케줄러(31)는 또한, 제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제2 메모리 액세스 요청을 결합하도록 구성되고, 여기서 제1 활성화 지시는 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용된다.
명령 스케줄러(32)는 제1 활성화 지시를 메모리에게 송신하도록 구성된다.
본 발명의 본 실시예에서, 메모리 스케줄러(31)는 또한,
서브-로우 선택 벡터를 생성하고, 서브-로우 선택 벡터를 메모리에게 송신하도록 구성되며,
여기서 서브-로우 선택 벡터는 활성화될 서브-로우들이 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해 사용된다.
앞서 설명한 대응하는 방법의 기술적 해결 방안에 기반하여, 도 4에 보여진 대로, 본 발명의 일 실시예는 메모리 모듈(4000)을 제공하고, 메모리 모듈(4000)은 래치(latch)(40) 및 서브-로우 선택 디코더(41)를 포함한다.
래치(40)는 메모리 내의 제1 서브-로우 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신된 제1 활성화 지시를 수신하도록 구성되고, 여기서 제1 서브-로우 및 제2 서브-로우는 메모리 내에서 동일한 로우 내에 위치된다.
서브-로우 선택 디코더(41)는 래치(40)에 의해 획득된 제1 활성화 지시에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하도록 구성된다.
래치(40)는 또한,
메모리 컨트롤러에 의해 송신된 서브-로우 선택 벡터를 수신하도록 구성되고, 여기서 서브-로우 선택 벡터는 활성화될 서브-로우가 제1 서브-로우 및 제2 서브-로우인 것을 확인하기 위해 사용된다.
서브-로우 선택 디코더(41)는 구체적으로,
제1 활성화 지시 내의 서브-로우 선택 벡터에 따라, 메모리 내에 위치된 제1 서브-로우 및 제2 서브-로우를 활성화하도록 구성된다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해서, 도 5a에서 보여진 대로, 메모리 컨트롤러(5000)가 제공되고, 메모리 컨트롤러(5000)는 요청 분배 모듈(50), 메모리 스케줄러(51), 및 명령 스케줄러(52)를 포함한다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해, 도 5a에 보여진 대로, 메모리 컨트롤러(5000)가 제공되고, 메모리 컨트롤러(5000)는 요청 분배 모듈(50), 메모리 스케줄러(51), 및 명령 스케줄러(52)를 포함한다.
요청 분배 모듈(50)은 제1 메모리 액세스 요청을 획득하도록 구성되며, 여기서 제1 메모리 액세스 요청은 메모리의 제1 서브-로우에 액세스하도록 요청하기 위해 사용된다.
메모리 스케줄러(51)는 요청 분배 모듈(50)에 의해 획득된 제1 메모리 액세스 요청을 획득하고, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하도록 구성된다.
명령 스케줄러(52)는 메모리 스케줄러(51)로부터 획득된 제1 활성화 지시를 메모리에게 송신하도록 구성된다.
요청 분배 모듈(50)은 또한, 제2 메모리 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐를 검색하도록 구성되고, 여기서 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해서 사용되고, 제1 서브-로우는 제1 서브어레이에 위치되고, 제2 서브-로우는 제2 서브어레이에 위치된다.
메모리 스케줄러(51)는 또한 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하도록 구성된다.
명령 스케줄러(52)는 또한 메모리 스케줄러(51)로부터 획득된 제2 활성화 지시를 메모리에게 송신하도록 구성된다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응한다.
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
본 발명의 본 실시예에서, 서브어레이, 로우, 컬럼, 및 저장 단위 간의 관계는 도 5b에서 보여진다.
더 나아가, 본 발명의 본 실시예에서, 요청 분배 모듈(50)은 또한,
제3 메모리 액세스 요청을 획득하도록 구성되고, 여기서 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고, 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
메모리 스케줄러(51)는 구체적으로,
제1 활성화 지시를 생성하기 위해 제1 메모리 액세스 요청 및 제3 메모리 액세스 요청을 결합하도록 구성된다.
본 발명의 본 실시예에서, 또한, 요청 분배 모듈(50)은 또한,
메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하도록 구성되고, 여기서 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고, 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
메모리 스케줄러(51)는 구체적으로,
제2 활성화 지시를 생성하기 위해 제2 메모리 액세스 요청 및 제4 메모리 액세스 요청을 결합하도록 구성된다.
본 발명의 본 실시예에서, 선택적으로, 제4 서브-로우에 포함된 임의의 저장 유닛에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 유닛에 대응하는 컬럼 번호 식별자와 서로 다르다.
본 해결 방안에서, 제1 서브-로우가 활성화된 이후에, 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자가 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다를 때, 제1 서브-로우와 서로 다른 서브어레이 내에 위치되는 제2 서브-로우가 활성화될 수 있으며, 그에 따라 자원 활용이 향상된다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해, 도 6에서 보여진 대로, 메모리 모듈(6000)이 제공되고, 메모리 모듈(6000)은 제1 래치(60), 제1 서브-로우 선택 디코더(61), 제2 래치(62), 및 제2 서브-로우 선택 디코더(63)를 포함한다.
제1 래치(60)는 메모리 내의 제1 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하도록 구성된다.
제1 서브-로우 선택 디코더(61)는 제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화하도록 구성된다.
제2 래치(62)는 메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신하도록 구성된다.
제2 서브-로우 선택 디코더(63)는 제2 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제2 서브-로우를 활성화하도록 구성된다.
여기서 상기 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치된다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응한다.
제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제1 래치 및 제2 래치는 모두 데이터 캐싱(data caching)을 수행하도록 구성된 글로벌 캐시(global cache)에 연결된다.
본 발명의 본 실시예에서, 또한 제1 활성화 지시는 또한 메모리 내의 제3 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치된다.
제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
본 해결 방안에서, 제1 래치가 제1 서브-로우를 활성화한 이후에, 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자가 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다를 때, 제2 래치는 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우를 활성화할 수 있으며, 이에 따라 자원 활용이 향상된다.
도 7에서 보여진 대로, 본 발명의 일실시예는, 메모리 활성화의 다른 과정은 아래와 같다.
단계 700: 메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득한다.
단계 710: 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하고, 제1 활성화 지시를 메모리에게 송신한다.
단계 720: 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐를 검색하고, 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되고, 제1 서브-로우는 제1 서브어레이 내에 위치되며, 제2 서브-로우는 제2 서브어레이 내에 위치된다.
단계 730: 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하고, 제2 활성화 지시를 메모리에게 송신한다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하며, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응한다.
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
본 발명의 본 실시예에서, 또한, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하기 전에, 아래 조작,
메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하는 것이 더 포함되고, 여기서 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고, 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하는 것은 구체적으로,
제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제3 메모리 액세스 요청을 결합하는 것을 포함한다.
본 발명의 본 실시예에서, 또한, 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하기 전에, 아래 조작,
메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하는 것이 더 포함되고, 여기서 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고, 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하는 것은 구체적으로,
제2 활성화 지시를 생성하기 위해서 제2 메모리 액세스 요청 및 제4 메모리 액세스 요청을 결합하는 것을 포함한다.
본 발명의 본 실시예에서, 선택적으로, 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
본 해결 방안에서, 제1 서브-로우가 활성화된 이후에, 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자가 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다를 때, 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우가 활성화될 수 있으며, 그에 따라 자원 활용이 향상된다.
도 8에서 보여진 대로, 본 발명의 일실시예에서, 메모리 활성화의 다른 과정은 아래와 같다.
단계 800: 메모리 내의 제1 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신한다.
단계 810: 제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화한다.
단계 820: 메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신한다.
단계 830: 제2 활성화 지시에 따라서 메모리 내에 위치된 제2 서브-로우를 활성화하고, 여기서 제1 서브-로우는 제1 서브어레이 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치되고, 제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응하며, 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고, 제1 래치 및 제2 래치는 모두 데이터 캐싱을 수행하도록 구성된 글로벌 캐시에 연결된다.
본 발명의 본 실시예에서, 또한, 제1 활성화 지시는 또한, 메모리 내의 제3 서브-로우를 활성화하도록 지시하기 위해 사용되고, 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치된다.
제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제1 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제1 서브-로우를 활성화하는 단계는 구체적으로,
제1 활성화 지시에 따라 메모리 내의 제1 래치가, 메모리 내에 위치된 상기 제1 서브-로우 및 제3 서브-로우를 활성화하는 단계를 포함한다.
본 발명의 본 실시예에서, 선택적으로, 제2 활성화 지시는 또한, 상기 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해 사용되고, 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치된다.
제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르다.
제2 활성화 지시에 따라 메모리 내에 위치된 제2 서브-로우를 활성화하는 단계는 구체적으로,
제2 활성화 지시에 따라 메모리 내의 제2 래치가, 메모리 내에 위치된 제2 서브-로우 및 제4 서브-로우를 활성화하는 단계를 포함한다.
본 해결 방안에서, 제1 래치가 제1 서브-로우를 활성화한 이후에, 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자가 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 다를 때, 제2 래치는 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우를 활성화할 수 있으며, 그에 따라 자원 활용이 향상된다.
앞서 설명한 도 5a, 도 5b, 도 6, 도 7, 및 도 8은, 제1 서브-로우가 활성화된 이후에, 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자가 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다를 때에만, 제2 서브-로우가 활성화될 수 있다. 또한, 자원 활용을 향상시키기 위해서, 아래 해결 방안이 제안된다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해, 도 9에서 보여진 대로, 메모리 컨트롤러(9000)이 제공되고, 메모리 컨트롤러(9000)는 요청 분배 모듈(90), 메모리 스케줄러(91), 및 명령 스케줄러(92)를 포함한다.
요청 분배 모듈(90)은 메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하도록 구성된다.
메모리 스케줄러(91)는 요청 분배 모듈(90)에 의해 획득된 제1 메모리 액세스 요청을 획득하고, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하도록 구성된다.
명령 스케줄러(92)는 메모리 스케줄러(91)로부터 획득된 제1 활성화 지시를 메모리에게 송신하도록 구성된다.
요청 분배 모듈(90)은 또한, 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐를 검색하도록 구성되고, 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해서 사용되고, 제1 서브-로우는 제1 서브어레이 내에 위치되며, 제2 서브-로우는 제2 서브어레이 내에 위치된다.
메모리 스케줄러(91)는 또한 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하도록 구성된다.
명령 스케줄러(92)는 또한, 메모리 스케줄러(91)로부터 획득된 제2 활성화 지시를 메모리에게 송신하도록 구성된다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응한다.
제2 서브-로우는 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 발명의 본 실시예에서, 또한, 요청 분배 모듈(90)은 또한,
메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하도록 구성되고, 여기서 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고, 제2 서브-로우는 제3 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
메모리 스케줄러(91)는 구체적으로,
제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제3 메모리 액세스 요청을 결합하도록 구성된다.
본 발명의 본 실시예에서, 또한, 요청 분배 모듈(90)은 또한,
메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하도록 구성되고, 여기서 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치되고, 제4 서브-로우는 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
메모리 스케줄러(91)는 구체적으로,
제2 활성화 지시를 생성하기 위해서 제2 메모리 액세스 요청 및 제4 메모리 액세스 요청을 결합하도록 구성된다.
본 발명의 본 실시예에서, 선택적으로, 제4 서브-로우는 제3 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 해결 방안에서, 제1 래치가 제1 서브-로우를 활성화한 이후에, 제2 서브-로우가 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함할 때, 제2 래치가 또한 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우를 활성화할 수 있고, 이에 따라 자원 활용이 향상된다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해서, 도 10에서 보여진 대로, 메모리 모듈(1000)이 제공되고, 메모리 모듈(1000)은 제1 래치(100), 제1 서브-로우 선택 디코더(101), 제2 래치(102), 및 제2 서브-로우 선택 디코더(103)를 포함한다.
제1 래치(100)는 메모리 내의 제1 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하도록 구성된다.
제1 서브-로우 선택 디코더(101)는 제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화하도록 구성된다.
제2 래치(102)는 메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신하도록 구성된다.
제2 서브-로우 선택 디코더(103)는 제2 활성화 지시에 따라 메모리 내에 위치된 제2 서브-로우를 활성화하도록 구성된다.
제1 서브-로우는 제1 서브어레이 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치된다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응한다.
제2 서브-로우는 제1 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
제1 래치(100) 또는 제2 래치(102) 중 어떤 것도 데이터 캐싱을 수행하도록 구성된 글로벌 캐시에 연결되지 않는다.
본 발명의 본 실시예에서, 또한, 제1 활성화 지시는 또한 메모리 내의 제3 서브-로우를 활성화하도록 요청하기 위해서 사용되고, 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치된다.
제2 서브-로우는 제3 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 발명의 본 실시예에서, 또한, 제2 활성화 지시는 또한, 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치된다.
제4 서브-로우는 제1 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
제4 서브-로우는 제3 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 해결 방안에서, 제1 래치가 제1 서브-로우를 활성화한 이후에, 제2 서브-로우가 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함할 때, 제2 래치는 또한 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우를 활성화할 수 있고, 이에 따라 자원 활용이 향상된다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해서, 도 11에서 보여진 대로, 또 다른 메모리 활성화 방법이 제공된다.
단계 1100: 메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득한다.
단계 1110: 제1 메모리 액세스 요청을 획득하고, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성한다.
단계 1120: 제1 활성화 지시를 메모리에게 송신한다.
단계 1130: 제2 메모리 액세스 요청에 대해 메모리의 스케줄링 될 큐(queue)를 검색하고, 여기서 메모리의 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 제2 메모리 액세스 요청은 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 제1 서브-로우는 제1 서브어레이 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치된다.
단계 1140: 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성한다.
단계 1150: 획득된 제2 활성화 지시를 메모리에게 송신한다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응한다.
제2 서브-로우는 제1 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 발명의 본 실시예에서, 또한, 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하기 전에, 다음 조작, 메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하는 것을 더 포함하고, 여기서 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치되고, 제2 서브-로우는 제3 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하는 것은 아래 방식, 제1 활성화 지시를 생성하기 위해서 제1 메모리 액세스 요청 및 제3 메모리 액세스 요청을 결합하는 것으로 구현될 수 있다.
본 발명의 본 실시예에서, 또한, 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하기 전에, 아래 조작,
메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해서 사용되는 제4 메모리 액세스 요청을 획득하는 단계가 더 포함될 수 있고, 여기서 제4 서브-로우 및 제2 서브-로우를 동일한 로우 내에 위치되고, 제4 서브-로우는 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하는 단계는, 제2 활성화 지시를 생성하기 위해서 제2 메모리 액세스 요청 및 제4 메모리 액세스 요청을 결합하는 단계 일 수 있다.
본 발명의 본 실시예에서, 선택적으로, 제4 서브-로우는 제3 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 해결 방안에서, 제1 래치가 제1 서브-로우를 활성화한 이후에, 제2 서브-로우가 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함할 때, 제2 래치는 또한 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우를 활성화할 수 있고, 이에 따라 자원 활용이 향상된다.
본 발명의 일 실시예에서, 저장 단위의 자원 활용을 향상시키기 위해, 도 12에서 보여진 대로, 또 다른 메모리 활성화 방법이 제공된다.
단계 1200: 메모리 내의 제1 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신한다.
단계 1210: 제1 활성화 지시에 따라 메모리 내에 위치된 제1 서브-로우를 활성화한다.
단계 1220: 메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신한다.
단계 1230: 제2 활성화 지시에 따라 메모리 내에 위치된 제2 서브-로우를 활성화한다.
제1 서브-로우는 제1 서브어레이 내에 위치되고, 제2 서브-로우는 제2 서브어레이 내에 위치된다.
제1 서브어레이 및 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자 및 하나의 컬럼 번호 식별자에 대응한다.
제2 서브-로우는 제1 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
제1 래치 또는 제2 래치 중 어떤 것도 데이터 캐싱을 수행하도록 구성된 글로벌 캐시에 연결되지 않는다.
본 발명의 본 실시예에서, 또한, 제1 활성화 지시는 또한 메모리 내의 제3 서브-로우를 활성화하도록 요청하기 위해서 사용되고, 제3 서브-로우 및 제1 서브-로우는 동일한 로우 내에 위치된다.
제2 서브-로우는 제3 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 발명의 본 실시예에서, 또한, 제2 활성화 지시는 또한, 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 제4 서브-로우 및 제2 서브-로우는 동일한 로우 내에 위치된다.
제4 서브-로우는 제1 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
제4 서브-로우는 제3 서브-로우 내에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함한다.
본 해결 방안에서, 제1 래치가 제1 서브-로우를 활성화한 이후에, 제2 서브-로우가 제1 서브-로우에 포함된 저장 단위에 대응하는 컬럼 번호 식별자와 동일한 컬럼 번호 식별자를 갖는 저장 단위를 포함할 때, 제2 래치는 또한 제1 서브-로우와 서로 다른 서브어레이 내에 위치된 제2 서브-로우를 활성화할 수 있고, 이에 따라 자원 활용이 향상된다.
본 발명은 본 발명의 실시예에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 흐름도 및/또는 블록도 내의 각각의 프로세스 및/또는 각각의 블록을 구현하고 흐름도 및/또는 블록도 내의 프로세스 및/또는 블록의 조합을 구현하기 위해 컴퓨터 프로그램 명령어가 사용될 수 있다는 것이 이해되어야 한다. 이들 컴퓨터 프로그램 명령어들은 기계를 생성하기 위한 범용 컴퓨터, 또는 전용 컴퓨터, 또는 임베디드 프로세서, 또는 임의의 다른 프로그램 가능한 데이터 처리 장치의 프로세서에 제공 될 수 있어서, 컴퓨터 또는 임의의 다른 프로그램 가능한 데이터 처리 장치의 프로세서에 의해 실행되는 명령들은, 흐름도의 하나 이상의 프로세스 및/또는 블록도 내의 하나 이상의 블록에서 특정 기능을 구현하기 위한 장치를 생성한다.
이들 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 임의의 다른 프로그램 가능 데이터 처리 장치가 특정 방식으로 동작하도록 지시할 수 있는 컴퓨터 판독 가능 메모리에 저장될 수 있어서, 컴퓨터 판독 가능 메모리에 저장된 명령은 지시 장치를 포함하는 가공품(artifact)을 생성한다. 지시 장치는 흐름도의 하나 이상의 프로세스 및/또는 블록도의 하나 이상의 블록에서 특정 기능을 구현한다.
또한, 이들 컴퓨터 프로그램 명령은 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치 상에 로딩되어, 일련의 조작 및 단계가 컴퓨터 또는 다른 프로그램 가능한 장치상에서 수행되어, 컴퓨터-구현 처리를 생성할 수 있다. 따라서, 컴퓨터 또는 다른 프로그램 가능한 장치에서 실행되는 명령은 흐름도의 하나 이상의 프로세스 및/또는 블록도의 하나 이상의 블록에서 특정 기능을 구현하는 단계를 제공한다.
본 발명의 몇몇 바람직한 실시예가 설명되었지만, 당업자는 일단 기본적인 발명 개념을 학습하면 이들 실시예를 변경하고 수정할 수 있다. 따라서, 아래의 청구 범위는 본 발명의 범위 내에 있는 바람직한 실시예 및 모든 변경 및 수정을 포함하는 것으로 해석되도록 의도된다.
당업자는 본 발명의 실시예들의 사상 및 범위를 벗어나지 않으면서 본 발명의 실시예들에 대해 다양한 변경 및 변형을 할 수 있음은 자명하다. 본 발명은 아래의 청구 범위 및 그와 동등한 기술에 의해 정의된 보호 범위 내에서 제공된 이들의 변경 및 변형을 포함하도록 의도된다.
Claims (22)
- 메모리 활성화 방법으로서,
메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하는 단계;
제2 메모리 액세스 요청에 대해 상기 메모리의 스케줄링 될 큐(queue)를 검색하는 단계 - 여기서 상기 메모리의 상기 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 상기 제2 메모리 액세스 요청은 상기 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 상기 제1 서브-로우 및 상기 제2 서브-로우는 상기 메모리 내의 동일한 로우 내에 위치됨 -;
상기 메모리 내의 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는 제1 활성화 지시를 생성하기 위해서 상기 제1 메모리 액세스 요청 및 상기 제2 메모리 액세스 요청을 결합하는 단계; 및
상기 제1 활성화 지시를 상기 메모리에게 송신하는 단계
를 포함하는 메모리 활성화 방법. - 제1항에 있어서,
제2 메모리 액세스 요청에 대해 상기 메모리의 스케줄링 될 큐를 검색하는 단계 이후에 상기 메모리 활성화 방법은,
서브-로우 선택 벡터를 생성하고, 상기 서브-로우 선택 벡터를 상기 메모리에게 송신하는 단계
를 더 포함하고,
여기서 상기 서브-로우 선택 벡터는 활성화될 서브-로우들이 상기 제1 서브-로우 및 상기 제2 서브-로우인 것을 확인하기 위해서 사용되는, 메모리 활성화 방법. - 메모리 활성화 방법으로서,
메모리 내의 제1 서브-로우(sub-row) 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하는 단계; 및
상기 제1 활성화 지시에 따라, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하는 단계
를 포함하고,
여기서 상기 제1 서브-로우 및 상기 제2 서브-로우는 모두 상기 메모리 내의 동일한 로우 내에 위치된, 메모리 활성화 방법. - 제3항에 있어서,
상기 제1 활성화 지시에 따라, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하는 단계 이전에 상기 메모리 활성화 방법은,
상기 메모리 컨트롤러에 의해 송신되는 서브-로우 선택 벡터를 수신하는 단계
를 더 포함하고,
여기서 상기 서브-로우 선택 벡터는 활성화될 서브-로우들이 상기 제1 서브-로우 및 상기 제2 서브-로우인 것을 확인하기 위해서 사용되고,
상기 제1 활성화 지시에 따라, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하는 단계는 구체적으로,
상기 제1 활성화 지시 내의 상기 서브-로우 선택 벡터에 따라, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하는 단계
를 포함하는, 메모리 활성화 방법. - 메모리 컨트롤러로서,
메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하도록 구성된 요청 분배 모듈;
제2 메모리 액세스 요청에 대해 상기 메모리의 스케줄링 될 큐(queue)를 검색하도록 구성되고, 또한 상기 메모리 내의 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는 제1 활성화 지시를 생성하기 위해서 상기 제1 메모리 액세스 요청 및 상기 제2 메모리 액세스 요청을 결합하도록 구성된 메모리 스케줄러 - 여기서 상기 메모리의 상기 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 상기 제2 메모리 액세스 요청은 상기 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 상기 제1 서브-로우 및 상기 제2 서브-로우는 상기 메모리 내의 동일한 로우 내에 위치됨 -; 및
상기 제1 활성화 지시를 상기 메모리에게 송신하도록 구성된 명령 스케줄러
를 포함하는 메모리 컨트롤러. - 제5항에 있어서,
상기 메모리 스케줄러는 또한,
서브-로우 선택 벡터를 생성하고, 상기 서브-로우 선택 벡터를 상기 메모리에게 송신하도록 구성되고,
여기서 상기 서브-로우 선택 벡터는 활성화될 서브-로우들이 상기 제1 서브-로우 및 상기 제2 서브-로우인 것을 확인하기 위해서 사용되는, 메모리 컨트롤러. - 메모리 모듈로서,
메모리 내의 제1 서브-로우(sub-row) 및 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하도록 구성된 래치(latch); 및
상기 래치로부터 획득된 상기 제1 활성화 지시에 따라, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하도록 구성된 서브-로우 선택 디코더
를 포함하고,
여기서 상기 제1 서브-로우 및 상기 제2 서브-로우는 모두 상기 메모리 내의 동일한 로우 내에 위치된, 메모리 모듈. - 제7항에 있어서,
상기 래치는 또한,
상기 메모리 컨트롤러에 의해 송신되는 서브-로우 선택 벡터를 수신하도록 구성되고, 여기서 상기 서브-로우 선택 벡터는 활성화될 서브-로우들이 상기 제1 서브-로우 및 상기 제2 서브-로우인 것을 확인하기 위해서 사용되고,
상기 서브-로우 선택 디코더는 구체적으로,
상기 제1 활성화 지시 내의 상기 서브-로우 선택 벡터에 따라, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제2 서브-로우를 활성화하도록 구성되는, 메모리 모듈. - 메모리 컨트롤러로서,
메모리 내의 제1 서브-로우(sub-row)에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하도록 구성된, 요청 분배 모듈;
상기 요청 분배 모듈에 의해 획득된 상기 제1 메모리 액세스 요청을 획득하고, 상기 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하도록 구성된 메모리 스케줄러; 및
상기 메모리 스케줄러로부터 획득된 상기 제1 활성화 지시를 상기 메모리에게 송신하도록 구성된 명령 스케줄러
를 포함하고,
여기서, 상기 요청 분배 모듈은 또한, 제2 메모리 액세스 요청에 대해 상기 메모리의 스케줄링 될 큐(queue)를 검색하도록 구성되고, 여기서 상기 메모리의 상기 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 상기 제2 메모리 액세스 요청은 상기 메모리의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되며, 상기 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 상기 제2 서브-로우는 제2 서브어레이 내에 위치되며,
상기 메모리 스케줄러는 또한, 상기 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하도록 구성되고,
상기 명령 스케줄러는 또한, 상기 메모리 스케줄러로부터 획득된 상기 제2 활성화 지시를 상기 메모리에게 송신하도록 구성되고,
여기서, 상기 제1 서브어레이 및 상기 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 상기 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 상기 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하며,
상기 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다른, 메모리 컨트롤러. - 제9항에 있어서,
상기 요청 분배 모듈은 또한,
상기 메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하도록 구성되고,
여기서 상기 제3 서브-로우 및 상기 제1 서브-로우는 동일한 로우 내에 위치되고, 상기 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
상기 메모리 스케줄러는 구체적으로,
상기 제1 활성화 지시를 생성하기 위해 상기 제1 메모리 액세스 요청 및 상기 제3 메모리 액세스 요청을 결합하도록 구성된, 메모리 컨트롤러. - 제9항 또는 제10항에 있어서,
상기 요청 분배 모듈은 또한,
상기 메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하도록 구성되고,
여기서 상기 제4 서브-로우 및 상기 제2 서브-로우는 동일한 로우 내에 위치되고, 상기 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
상기 메모리 스케줄러는 구체적으로,
상기 제2 활성화 지시를 생성하기 위해 상기 제2 메모리 액세스 요청 및 상기 제4 메모리 액세스 요청을 결합하도록 구성된, 메모리 컨트롤러. - 제11항에 있어서,
상기 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다른, 메모리 컨트롤러. - 메모리 모듈로서,
메모리 내의 제1 서브-로우(sub-row)를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하도록 구성된 제1 래치(latch);
상기 제1 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제1 서브-로우를 활성화하도록 구성된 제1 서브-로우 선택 디코더;
상기 메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 상기 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신하도록 구성된 제2 래치; 및
상기 제2 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제2 서브-로우를 활성화하도록 구성된 제2 서브-로우 선택 디코더
를 포함하고,
여기서 상기 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 상기 제2 서브-로우는 제2 서브어레이 내에 위치되고,
상기 제1 서브어레이 및 상기 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 상기 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 상기 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하며,
상기 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고,
상기 제1 래치 및 상기 제2 래치는 모두 데이터 캐싱(data caching)을 수행하도록 구성된 글로벌 캐시(global cache)에 연결되는, 메모리 모듈. - 제13항에 있어서,
상기 제1 활성화 지시는 또한 상기 메모리 내의 제3 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 상기 제3 서브-로우 및 상기 제1 서브-로우는 동일한 로우 내에 위치되며,
상기 제2 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다른, 메모리 모듈. - 제13항 또는 제14항에 있어서,
상기 제2 활성화 지시는 또한 상기 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해서 사용되고, 상기 제4 서브-로우 및 상기 제2 서브-로우는 동일한 로우 내에 위치되고,
상기 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
상기 제4 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우 내에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다른, 메모리 모듈. - 메모리 활성화 방법으로서,
메모리 내의 제1 서브-로우에 액세스하도록 요청하기 위해 사용되는 제1 메모리 액세스 요청을 획득하는 단계;
상기 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하고, 상기 제1 활성화 지시를 상기 메모리에게 송신하는 단계;
제2 메모리 액세스 요청에 대해 상기 메모리의 스케줄링 될 큐(queue)를 검색하는 단계 - 여기서 상기 메모리의 상기 스케줄링 될 큐는 복수의 메모리 액세스 요청을 포함하고, 상기 제2 메모리 액세스 요청은 상기 메모리 내의 제2 서브-로우에 액세스하도록 요청하기 위해 사용되고, 상기 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되며, 상기 제2 서브-로우는 제2 서브어레이 내에 위치됨 -; 및
상기 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하고, 상기 제2 활성화 지시를 상기 메모리에게 송신하는 단계
를 포함하고,
여기서 상기 제1 서브어레이 및 상기 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 상기 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 상기 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하며, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하며,
상기 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다른, 메모리 활성화 방법. - 제16항에 있어서,
상기 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하기 전에, 상기 메모리 활성화 방법은,
상기 메모리 내의 제3 서브-로우에 액세스하도록 요청하기 위해 사용되는 제3 메모리 액세스 요청을 획득하는 단계
를 더 포함하고,
여기서 상기 제3 서브-로우 및 상기 제1 서브-로우는 동일한 로우 내에 위치되고, 상기 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
상기 제1 메모리 액세스 요청에 따라 제1 활성화 지시를 생성하는 것은 구체적으로,
상기 제1 활성화 지시를 생성하기 위해서 상기 제1 메모리 액세스 요청 및 상기 제3 메모리 액세스 요청을 결합하는 것을 포함하는, 메모리 활성화 방법. - 제16항 또는 제17항에 있어서,
상기 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하기 전에, 상기 메모리 활성화 방법은,
상기 메모리 내의 제4 서브-로우에 액세스하도록 요청하기 위해 사용되는 제4 메모리 액세스 요청을 획득하는 단계
를 더 포함하고,
여기서 상기 제4 서브-로우 및 상기 제2 서브-로우는 동일한 로우 내에 위치되고, 상기 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
상기 제2 메모리 액세스 요청에 따라 제2 활성화 지시를 생성하는 것은 구체적으로,
상기 제2 활성화 지시를 생성하기 위해서 상기 제2 메모리 액세스 요청 및 상기 제4 메모리 액세스 요청을 결합하는 것을 포함하는, 메모리 활성화 방법. - 제18항에 있어서,
상기 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다른, 메모리 활성화 방법. - 메모리 활성화 방법으로서,
메모리 내의 제1 서브-로우를 활성화하도록 지시하기 위해 사용되는, 메모리 컨트롤러에 의해 송신되는 제1 활성화 지시를 수신하는 단계;
상기 제1 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제1 서브-로우를 활성화하는 단계;
상기 메모리 내의 제2 서브-로우를 활성화하도록 지시하기 위해 사용되는, 상기 메모리 컨트롤러에 의해 송신되는 제2 활성화 지시를 수신하는 단계; 및
상기 제2 활성화 지시에 따라서 상기 메모리 내에 위치된 상기 제2 서브-로우를 활성화하는 단계
를 포함하고,
여기서 상기 제1 서브-로우는 제1 서브어레이(subarray) 내에 위치되고, 상기 제2 서브-로우는 제2 서브어레이 내에 위치되고, 상기 제1 서브어레이 및 상기 제2 서브어레이는 모두 적어도 하나의 로우를 포함하고, 상기 적어도 하나의 로우 내의 임의의 로우는 적어도 하나의 서브-로우를 포함하고, 상기 적어도 하나의 서브-로우 내의 임의의 서브-로우는 적어도 하나의 저장 단위를 포함하고, 임의의 저장 단위는 하나의 로우 번호 식별자(row number identifier) 및 하나의 컬럼 번호 식별자(column number identifier)에 대응하고,
상기 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제1 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르며,
상기 제1 래치 및 상기 제2 래치는 모두 데이터 캐싱(data caching)을 수행하도록 구성된 글로벌 캐시(global cache)에 연결되는, 메모리 활성화 방법. - 제20항에 있어서,
상기 제1 활성화 지시는 또한, 상기 메모리 내의 제3 서브-로우를 활성화하도록 지시하기 위해 사용되고, 상기 제3 서브-로우 및 상기 제1 서브-로우는 동일한 로우 내에 위치되고,
상기 제2 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고,
상기 제1 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제1 서브-로우를 활성화하는 단계는 구체적으로,
상기 제1 활성화 지시에 따라 상기 메모리 내의 제1 래치(latch)가, 상기 메모리 내에 위치된 상기 제1 서브-로우 및 상기 제3 서브-로우를 활성화하는 단계를 포함하는, 메모리 활성화 방법. - 제20항 또는 제21항에 있어서,
상기 제2 활성화 지시는 또한, 상기 메모리 내의 제4 서브-로우를 활성화하도록 지시하기 위해 사용되고, 상기 제4 서브-로우 및 상기 제2 서브-로우는 동일한 로우 내에 위치되고,
상기 제4 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자는 상기 제3 서브-로우에 포함된 임의의 저장 단위에 대응하는 컬럼 번호 식별자와 서로 다르고,
상기 제2 활성화 지시에 따라 상기 메모리 내에 위치된 상기 제2 서브-로우를 활성화하는 단계는 구체적으로,
상기 제2 활성화 지시에 따라 상기 메모리 내의 제2 래치가, 상기 메모리 내에 위치된 상기 제2 서브-로우 및 상기 제4 서브-로우를 활성화하는 단계를 포함하는, 메모리 활성화 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410707487.7 | 2014-11-28 | ||
CN201410707487.7A CN105701040B (zh) | 2014-11-28 | 2014-11-28 | 一种激活内存的方法及装置 |
PCT/CN2015/095886 WO2016082800A1 (zh) | 2014-11-28 | 2015-11-28 | 一种内存管理方法、装置以及内存控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170087948A true KR20170087948A (ko) | 2017-07-31 |
KR101992729B1 KR101992729B1 (ko) | 2019-06-25 |
Family
ID=56073643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177017450A KR101992729B1 (ko) | 2014-11-28 | 2015-11-28 | 메모리 활성화 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10127955B2 (ko) |
EP (1) | EP3217406B1 (ko) |
JP (1) | JP6395937B2 (ko) |
KR (1) | KR101992729B1 (ko) |
CN (1) | CN105701040B (ko) |
WO (1) | WO2016082800A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394456B2 (en) | 2017-08-23 | 2019-08-27 | Micron Technology, Inc. | On demand memory page size |
US11210019B2 (en) | 2017-08-23 | 2021-12-28 | Micron Technology, Inc. | Memory with virtual page size |
US10522210B2 (en) * | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) * | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US11152039B2 (en) * | 2019-07-11 | 2021-10-19 | Micron Technology, Inc. | Input/output line sharing for memory arrays |
US11119658B2 (en) * | 2019-11-01 | 2021-09-14 | Micron Technology, Inc. | Capacity expansion channels for memory sub-systems |
WO2021107062A1 (ja) | 2019-11-28 | 2021-06-03 | 積水化学工業株式会社 | 合わせガラス用中間膜、合わせガラス、及び画像表示システム |
US11600312B1 (en) * | 2021-08-16 | 2023-03-07 | Micron Technology, Inc. | Activate commands for memory preparation |
WO2023065134A1 (en) * | 2021-10-20 | 2023-04-27 | Paypal, Inc. | Database management using sort keys |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060114361A (ko) * | 2003-12-30 | 2006-11-06 | 인텔 코오퍼레이션 | 매 뱅크마다의 다수 로우 캐시들에 대한 방법 및 장치 |
US20140173170A1 (en) * | 2012-12-14 | 2014-06-19 | Hewlett-Packard Development Company, L.P. | Multiple subarray memory access |
WO2014178846A1 (en) * | 2013-04-30 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Coalescing memory access requests |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161208A (en) * | 1994-05-06 | 2000-12-12 | International Business Machines Corporation | Storage subsystem including an error correcting cache and means for performing memory to memory transfers |
US6226722B1 (en) * | 1994-05-19 | 2001-05-01 | International Business Machines Corporation | Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing |
JP2845187B2 (ja) * | 1995-12-21 | 1999-01-13 | 日本電気株式会社 | 半導体記憶装置 |
US6339822B1 (en) * | 1998-10-02 | 2002-01-15 | Advanced Micro Devices, Inc. | Using padded instructions in a block-oriented cache |
US6618390B1 (en) * | 1999-05-21 | 2003-09-09 | Advanced Micro Devices, Inc. | Method and apparatus for maintaining randomly accessible free buffer information for a network switch |
US6741256B2 (en) * | 2001-08-27 | 2004-05-25 | Sun Microsystems, Inc. | Predictive optimizer for DRAM memory |
US6683816B2 (en) * | 2001-10-05 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | Access control system for multi-banked DRAM memory |
US6865697B2 (en) * | 2002-01-18 | 2005-03-08 | International Business Machines Corporation | Method and apparatus for reduced error checking of data received by a server from a client |
US6877046B2 (en) * | 2002-03-29 | 2005-04-05 | International Business Machines Corporation | Method and apparatus for memory with embedded processor |
US7103730B2 (en) * | 2002-04-09 | 2006-09-05 | Intel Corporation | Method, system, and apparatus for reducing power consumption of a memory |
CN100350401C (zh) * | 2002-05-24 | 2007-11-21 | 皇家飞利浦电子股份有限公司 | 计算机存储器设备和计算机设备 |
US7017005B2 (en) * | 2002-08-28 | 2006-03-21 | Hywire Ltd. | Implementation of a content addressable memory using a RAM-cell structure |
US7272699B2 (en) * | 2004-11-12 | 2007-09-18 | International Business Machines Corporation | Flexible sub-column to sub-row mapping for sub-page activation in XDR™ DRAMs |
KR100725100B1 (ko) * | 2005-12-22 | 2007-06-04 | 삼성전자주식회사 | 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 |
US7724593B2 (en) | 2006-07-07 | 2010-05-25 | Rao G R Mohan | Memories with front end precharge |
CN101542629B (zh) * | 2006-07-07 | 2014-02-26 | S.阿夸半导体有限公司 | 存储器设备和计算系统 |
US8543788B2 (en) * | 2007-06-06 | 2013-09-24 | Aptina Imaging Corporation | Conformal rolling buffer apparatus, systems, and methods |
US8001338B2 (en) * | 2007-08-21 | 2011-08-16 | Microsoft Corporation | Multi-level DRAM controller to manage access to DRAM |
JP2009157887A (ja) | 2007-12-28 | 2009-07-16 | Nec Corp | ロードストアキューの制御方法及びその制御システム |
US8130576B2 (en) * | 2008-06-30 | 2012-03-06 | Intel Corporation | Memory throughput increase via fine granularity of precharge management |
KR101506330B1 (ko) * | 2008-09-23 | 2015-03-27 | 삼성전자 주식회사 | 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법 |
CN101788961A (zh) * | 2009-01-23 | 2010-07-28 | 英业达集团(天津)电子技术有限公司 | 对块设备进行异步请求的数据访问方法 |
US20110093367A1 (en) * | 2009-10-20 | 2011-04-21 | At&T Intellectual Property I, L.P. | Method, apparatus, and computer product for centralized account provisioning |
EP2517420B1 (en) * | 2009-12-22 | 2014-03-19 | Cuneyt F. Bazlamacci | Systolic array architecture for fast ip lookup |
EP2529374A4 (en) | 2010-01-28 | 2014-04-02 | Hewlett Packard Development Co | MEMORY ACCESS METHODS AND APPARATUS |
US9104713B2 (en) * | 2011-10-05 | 2015-08-11 | International Business Machines Corporation | Managing a temporal key property in a database management system |
KR20130065957A (ko) * | 2011-12-12 | 2013-06-20 | 숭실대학교산학협력단 | 메모리 제어장치 및 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
CN102999441B (zh) * | 2012-11-15 | 2015-06-17 | 清华大学 | 一种细粒度内存访问的方法 |
US9367449B2 (en) * | 2013-09-11 | 2016-06-14 | Owtware Holdings Limited, BVI | Hierarchical garbage collection in an object relational database system |
CN103927268B (zh) * | 2014-04-08 | 2017-02-15 | 中国科学院微电子研究所 | 一种存储器的访问方法及装置 |
-
2014
- 2014-11-28 CN CN201410707487.7A patent/CN105701040B/zh active Active
-
2015
- 2015-11-28 EP EP15862610.1A patent/EP3217406B1/en active Active
- 2015-11-28 WO PCT/CN2015/095886 patent/WO2016082800A1/zh active Application Filing
- 2015-11-28 KR KR1020177017450A patent/KR101992729B1/ko active IP Right Grant
- 2015-11-28 JP JP2017528499A patent/JP6395937B2/ja active Active
-
2017
- 2017-05-26 US US15/607,360 patent/US10127955B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060114361A (ko) * | 2003-12-30 | 2006-11-06 | 인텔 코오퍼레이션 | 매 뱅크마다의 다수 로우 캐시들에 대한 방법 및 장치 |
US20140173170A1 (en) * | 2012-12-14 | 2014-06-19 | Hewlett-Packard Development Company, L.P. | Multiple subarray memory access |
WO2014178846A1 (en) * | 2013-04-30 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Coalescing memory access requests |
Also Published As
Publication number | Publication date |
---|---|
EP3217406A4 (en) | 2017-12-06 |
JP2018500667A (ja) | 2018-01-11 |
WO2016082800A1 (zh) | 2016-06-02 |
KR101992729B1 (ko) | 2019-06-25 |
EP3217406A1 (en) | 2017-09-13 |
US10127955B2 (en) | 2018-11-13 |
EP3217406B1 (en) | 2022-04-06 |
CN105701040B (zh) | 2018-12-07 |
CN105701040A (zh) | 2016-06-22 |
JP6395937B2 (ja) | 2018-09-26 |
US20170263295A1 (en) | 2017-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101992729B1 (ko) | 메모리 활성화 방법 및 장치 | |
US9965392B2 (en) | Managing coherent memory between an accelerated processing device and a central processing unit | |
US9032156B2 (en) | Memory access monitor | |
US11138048B2 (en) | Work stealing in heterogeneous computing systems | |
EP2423821A2 (en) | Processor, apparatus, and method for fetching instructions and configurations from a shared cache | |
US20140317333A1 (en) | Direct Memory Access Controller with Hybrid Scatter-Gather Functionality | |
US9830163B2 (en) | Control flow in a heterogeneous computer system | |
CN104572974A (zh) | 业务请求处理方法和装置 | |
WO2015117405A1 (zh) | Xen虚拟化系统的全映射方法及装置 | |
US10503410B2 (en) | Apparatus and method for enforcing timing requirements for a memory device | |
JP2008529181A5 (ko) | ||
US8667157B2 (en) | Hardware bus redirection switching | |
US20140331021A1 (en) | Memory control apparatus and method | |
US10248331B2 (en) | Delayed read indication | |
CN112559403A (zh) | 一种处理器及其中的中断控制器 | |
US9104465B2 (en) | Main processor support of tasks performed in memory | |
US10394574B2 (en) | Apparatuses for enqueuing kernels on a device-side | |
CN105718993B (zh) | 细胞阵列计算系统以及其中的通信方法 | |
CN109635191B (zh) | 相似度确定方法、装置、存储介质和计算机设备 | |
US10620958B1 (en) | Crossbar between clients and a cache | |
US7085887B2 (en) | Processor and processor method of operation | |
CN107301155A (zh) | 一种数据处理方法及处理装置 | |
US8862825B2 (en) | Processor supporting coarse-grained array and VLIW modes | |
CN109445852B (zh) | 一种在多核处理器中提升内存访问效率的方法及系统 | |
CN117311813A (zh) | 用于重排序缓冲的方法及其相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |