KR102407783B1 - 3d 적층 메모리에서의 스위즐링 - Google Patents
3d 적층 메모리에서의 스위즐링 Download PDFInfo
- Publication number
- KR102407783B1 KR102407783B1 KR1020207013986A KR20207013986A KR102407783B1 KR 102407783 B1 KR102407783 B1 KR 102407783B1 KR 1020207013986 A KR1020207013986 A KR 1020207013986A KR 20207013986 A KR20207013986 A KR 20207013986A KR 102407783 B1 KR102407783 B1 KR 102407783B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- die
- stacked
- address
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/253—Centralized memory
- G06F2212/2532—Centralized memory comprising a plurality of modules
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)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
처리 시스템[100]은 컴퓨팅 다이[102]와, 컴퓨팅 다이와 함께 적층된 적층 메모리[104]를 포함한다. 적층 메모리는 제 1 메모리 다이[104B]와, 제 1 메모리 다이의 상부에 적층된 제 2 메모리 다이[104A]를 포함한다. 단일 메모리 어드레스를 이용한 병렬 액세스는 제 1 메모리 다이와 제 2 메모리 다이의 상이한 메모리 뱅크[206, 208]를 향한다. 병렬 액세스의 단일 메모리 어드레스는 상이한 물리적 위치에서 제 1 메모리 다이와 제 2 메모리 다이에 액세스하도록 스위즐링된다.
Description
3차원(3D) 회로 집적은 수평 및/또는 수직 적층 디바이스를 포함하여, 종종 적층 다이들 간에 개선된 통신을 제공하고 또한 적층 디바이스에 의해 점유되는 영역을 감소시킨다. 예를 들어, 층들이 결합된 메모리 소자(3D 적층 메모리 또는 적층 메모리로 지칭됨)가 메모리 디바이스에 이용될 수 있다. 프로세서와 메모리 사이의 다수의 상호 연결이 3D 집적을 이용한 오프-칩 핀 카운트에 의해 더 이상 제약을 받지 않으면서, 다수의 스레드는 적층 메모리에 병렬로 액세스하여 다양한 컴퓨팅 동작에 더 높은 대역폭을 제공할 수 있다.
첨부된 도면을 참조하면 본 발명을 더 잘 이해할 수 있고 그리고 다수의 특징들 및 장점들은 당업자에게 명백해질 것이다. 서로 다른 도면에서 동일한 참조 부호의 사용은 유사 또는 동일한 항목을 나타낸다.
도 1은 일부 실시형태에 따른 적층 메모리에서 인덱스 스위즐링(index swizzling)을 이용하는 처리 시스템(또는 프로세싱 시스템)의 블록도이다.
도 2는 일부 실시형태에 따른 언밸런스의 열 발생을 갖는 예시적인 적층 메모리 구성의 블록도이다.
도 3은 일부 실시형태에 따른 열 밸런스를 위해 어드레스 스위즐링을 사용하는 예시적인 적층 메모리 구성의 블록도이다.
도 4는 일부 실시형태에 따른 열 밸런스를 위해 어드레스 스위즐링을 사용하는 다른 예시적인 적층 메모리 구성을 도시하는 블록도이다.
도 5는 일부 실시형태에 따른 적층 메모리에서의 어드레스 스위즐링 방법의 흐름도이다.
도 1은 일부 실시형태에 따른 적층 메모리에서 인덱스 스위즐링(index swizzling)을 이용하는 처리 시스템(또는 프로세싱 시스템)의 블록도이다.
도 2는 일부 실시형태에 따른 언밸런스의 열 발생을 갖는 예시적인 적층 메모리 구성의 블록도이다.
도 3은 일부 실시형태에 따른 열 밸런스를 위해 어드레스 스위즐링을 사용하는 예시적인 적층 메모리 구성의 블록도이다.
도 4는 일부 실시형태에 따른 열 밸런스를 위해 어드레스 스위즐링을 사용하는 다른 예시적인 적층 메모리 구성을 도시하는 블록도이다.
도 5는 일부 실시형태에 따른 적층 메모리에서의 어드레스 스위즐링 방법의 흐름도이다.
메모리 대역폭 및 레이턴시는 종종 처리 시스템에서 성능 병목(performance bottlenecks)이다. 이들 성능 인자는 적층 메모리를 사용함으로써 향상될 수 있으며, 적층 메모리는 예를 들어, 관통 실리콘 비아(TSV : Through-Silicon Via)를 사용하여 적층 메모리의 여러 층을 상호 연결함으로써 증가된 대역폭을 제공한다. 그러나, 적층 메모리와 관련된 열 문제는 종종 3D 메모리 적층의 최대 허용 높이에서 제한 인자가 되어, 처리 유닛에 사용 가능한 메모리 용량을 제한할 뿐만 아니라, 제공된 메모리 칩의 올바른 동작에 악영향을 준다. 예를 들어, 집적 회로 내의 프로세서 코어는 정상 동작 중에 전력을 소비하고 열을 발생시키며, 이는 인접 메모리 디바이스의 성능에 악영향을 준다. 온도가 높을수록 리프레쉬 사이클이 더 자주 발생하여 메모리 성능이 저하되어, 전력 소비를 증가시킨다. 다수의 열 발생 다이는 서로 근접해 있고 히트 싱크를 공유해야 하기 때문에, 적층 메모리의 적층 배열은 방열(heat dissipation) 문제를 더욱 악화시킨다. 메모리, 특히 3D 적층 메모리는 신뢰할 수 있고 예측 가능한 동작을 위해 온도 조정으로부터 도움이 되는 온도 범위 내에서 동작한다. 회로 부품/메모리의 밀도를 높이기 위해 칩 크기를 줄이고 메모리 다이를 적층하면, 프로세서의 안전하고 효율적인 동작을 위해 온도를 유지해야 하는 어려움이 더 증가한다. 따라서, 3D 적층 메모리로부터의 향상된 방열은 온도를 감소시킴으로써 메모리의 신뢰성을 향상시킨다.
도 1 내지 도 5는 적층 메모리에서 어드레스 스위즐링을 사용하는 기술을 예시한다. 다양한 실시형태에서, 처리 시스템은 컴퓨팅 다이의 상부에 적층된 3D 메모리를 포함한다. 일부 실시형태에서, 컴퓨팅 다이는 CPU, GPU 등과 같은 다양한 컴퓨팅 유닛을 포함한다. 적층 메모리는 제 1 메모리 다이와, 제 1 메모리 다이의 상부에 적층된 제 2 메모리 다이를 포함한다. (예를 들어, 컴퓨팅 다이로부터의) 단일 메모리 어드레스를 사용하는 병렬 메모리 액세스 요구에 기초하여, 제 1 메모리 다이와 제 2 메모리 다이가 상이한 물리적 위치에서 액세스되도록 단일 메모리 어드레스가 스위즐링된다. 이러한 방식으로, 메모리 다이가 동일한 메모리 어드레스로 어드레싱되지만, 액세스되는 각각의 메모리 다이 내에서의 물리적 위치는 서로 물리적으로 오프셋된다. 그러므로 메모리 액세스 동작으로부터의 열 생성은 분산되어, 메모리 다이의 로컬 부분에 대한 반복된 액세스로부터의 핫스팟을 감소시킨다.
도 1은 일부 실시형태에 따른 적층 메모리에서 인덱스 스위즐링을 이용하는 처리 시스템(100)의 블록도를 예시한다. 처리 시스템(100)은 일반적으로 컴퓨터 프로그램으로서 구성된 명령 세트를 실행하여 전자 디바이스에 대한 동작을 수행하도록 구성된다. 따라서, 처리 시스템(100)은 데스크탑 또는 랩탑형 컴퓨터, 서버, 태블릿, 스마트 폰, 게임 콘솔 등을 포함하는 다양한 전자 디바이스 중 임의의 디바이스에 내장될 수 있다. 컴퓨터 프로그램의 실행을 지원하기 위해, 처리 시스템(100)은 하나 이상의 컴퓨팅 다이(102) 및 메모리(104)를 포함한다. 도 1의 도시된 예에서, 메모리(104)는 일반적으로 컴퓨팅 다이(102)의 프로세서로부터의 요청에 응답하여 데이터를 저장하고 검색하도록 일반적으로 구성된 스태틱 랜덤 액세스 메모리(SRAM: static random-access memory)이다. 도 1에 예시된 바와 같이, 컴퓨팅 다이(102)와 메모리(104)는, 수직 적층 다이 배열에 배열되고 또한 TSV(Through-Silicon Via)(106) 또는 다른 유사한 인터-다이 상호 연결을 통해 컴퓨팅 다이에 연결되는 하나 이상의 개별 메모리 다이(예를 들어, 메모리 다이(104A 및 104B))에 메모리(104)가 위치되는 적층 다이 구성으로 배열된다.
따라서, 메모리 다이(104A 및 104B)는 하나 이상의 결합된 메모리 다이 층, 메모리 패키지, 또는 다른 메모리 소자를 포함하는 3D 적층 메모리(104)를 형성한다. 일부 실시형태에서, 적층 메모리(104)는 수직으로 적층되는 반면에, 다른 실시형태에서 적층 메모리(104)는 수평으로 (예를 들어 나란히) 적층되거나, 그렇지 않으면 함께 결합된 메모리 소자를 포함한다. SRAM과 관련하여 본 명세서에서 설명되었지만, 다른 실시형태에서, 적층 메모리 디바이스 또는 시스템은 복수의 다이내믹 랜덤 액세스 메모리(DRAM: dynamic random-access memory) 또는 다른 메모리 기술 다이 층을 갖는 메모리 디바이스를 포함한다.
하나의 실시형태에서, 컴퓨팅 다이(102)는 다양한 워크로드(workload)에 대한 명령의 실행을 지원하는 다중 실행 코어(108)를 갖는 멀티-코어 프로세서이다. 일부 실시형태에서, 컴퓨팅 다이(102)는 하나 이상의 중앙 처리 장치(CPU), GPU, 하나 이상의 디지털 신호 프로세서 등과 같은 하나 이상의 추가 처리 유닛을 포함하는, 명령의 실행을 용이하게 하는, 도 1에 예시되지 않은 추가 모듈을 포함한다. 추가로, 다양한 실시형태에서, 컴퓨팅 다이(102)는 노스브리지(northbridge) 및 사우스브리지(southbridge), 처리 유닛에 대한 캐시 및 다른 지원 메모리 구조를 제공하는 추가 메모리 등과 같은 메모리 및 입력/출력 인터페이스 모듈을 포함한다.
도 1은 컴퓨팅 다이(102)가 하나 이상의 메모리 다이 층(104A 및 104B)의 적층 메모리(104) 아래에 결합되는 구현을 예시하지만, 실시형태는 이 배열로 제한되지 않는다. 예를 들어, 일부 실시형태에서, 컴퓨팅 다이(102)는 적층 메모리(104)에 인접하게 위치되어 나란한 배열로 결합된다. 이 예시에서, 메모리 다이 층은 2개의 메모리 다이 층을 포함하고, 이들 층은 제 1 메모리 다이 층(104A) 및 제 2 메모리 다이 층(104B)이다. 그러나, 실시형태는 적층 메모리(104) 내에서 임의의 특정 개수의 메모리 다이 층으로 제한되지 않으며, 다른 실시형태는 더 많거나 더 적은 수의 메모리 다이 층을 포함한다.
적층 메모리(104)는 다수의 메모리 다이 층에 대한 병렬 액세스를 허용하여 다양한 메모리 액세스 및/또는 컴퓨팅 동작을 위한 증가된 대역폭을 달성한다. 예를 들어, 도 1의 실시형태에서, 메모리 다이(104A 및 104B) 둘 다는 동일한 메모리 어드레스에 대한 액세스를 어드레싱함으로써 동시에 액세스 가능하고, 각각의 메모리 다이는 인터페이스의 절반을 제공한다. 각각의 메모리 액세스에 대해, 메모리 다이(104A 및 104B) 내의 모든 단일 메모리 뱅크가 액세스되는 것은 아님을 인식해야 한다. 오히려, 메모리 액세스는 특정 메모리 뱅크(또는 액세스 세분도(access granularity)에 따른 메모리 다이의 다른 매크로 영역)에 어드레싱된다. 이러한 유형의 메모리 액세스 방식 하에서, 메모리 다이(104A 및 104B)의 특정 뱅크가 반복적으로 액세스되는 경우 액세스 패턴이 발생하여 언밸런스의 열 발생으로 이어진다.
예를 들어, 도 2는 일부 실시형태에 따른 언밸런스의 열 발생을 갖는 예시적인 적층 메모리 구성의 블록도이다. 적층 메모리(204)는 동일한 구성을 갖는 2개의 메모리 다이(204A 및 204B)를 포함한다. 특히, 각각의 메모리 다이는 메모리 다이를 절반으로 분할하는 제 1 뱅크(206)와 제 2 뱅크(208)를 포함한다. 이 실시형태에서, 단일 비트 값은 메모리 다이의 좌측에 있는 제 1 뱅크(206)가 액세스되는지 또는 메모리 다이의 우측에 있는 제 2 뱅크(208)에 액세스되는지를 결정한다. 예를 들어, 0의 비트 값은 제 1 뱅크(206)에 액세스하고 1의 비트 값은 제 2 뱅크(208)에 액세스한다. 1의 비트 값을 이용한 반복 액세스는 메모리 다이(204A 및 204B)의 제 2 뱅크(208)에만 액세스하게 한다. 그러므로, 메모리 액세스 동작으로부터의 열 발생은 액세스되는 로컬 영역(즉, 메모리 다이(204A 및 204B)의 우측)로 제한되어, 메모리 다이에 의해 발생된 열이 적층 메모리(예를 들어, 도 1의 적층 메모리(104))를 통과하여 방출될 필요가 있기 때문에 언밸런스의 열 발생 및 방열 문제를 야기할 것이다.
이제 도 3을 참조하면, 일부 실시형태에 따른 열 밸런스를 위해 어드레스 스위즐링을 사용하는 예시적인 적층 메모리 구성의 블록도가 예시되어 있다. 적층 메모리(304)는 2개의 메모리 다이(304A 및 304B)를 포함한다. 각각의 메모리 다이는 메모리 다이를 절반으로 분할하는 제 1 뱅크(306)와 제 2 뱅크(308)를 포함한다. 메모리 다이(304A 및 304B)에 대한 병렬 액세스를 위한 어드레스를 스위즐링함으로써, 메모리 어레이가 메모리 다이(304A 및 304B)에서 액세스되는 물리적 위치가 서로 오프셋되도록 변경된다. 본 명세서에서 사용된 바와 같이, "스위즐링(swizzling)"은 상이한 물리적 위치에 액세스하기 위해 메모리 어드레스의 개별 비트를 상이한 배열로 치환, 전위 또는 다른 방식으로 재배열하는 것을 지칭한다.
하나의 실시형태에서, 단일 비트 값은 메모리 다이의 좌측에 있는 제 1 뱅크(306)가 액세스되는지 또는 메모리 다이의 우측에 있는 제 2 뱅크(308)에 액세스되는지를 결정한다. 예를 들어, 메모리 어드레스의 마지막 (최하위) 비트에서의 0의 비트 값은 제 1 뱅크(306)에 대한 액세스를 야기하고 메모리 어드레스의 마지막 비트에서의 1의 비트 값은 제 2 뱅크(308)에 액세스한다. 도 3에 도시된 바와 같이, 1의 비트 값을 이용한 메모리 다이(304A 및 304B)에 대한 병렬 액세스 동안, 메모리 다이(304A)는 1의 비트 값을 수신하여 제 2 뱅크(308)에 액세스한다. 그러나, 비트 값은 메모리 다이(304B)에 대해 스위즐링되어 0의 비트 값이 수신되고 메모리(304B)의 제 1 뱅크(306)에 액세스된다. 메모리 다이(304A 및 304B) 둘 다가 동일한 1의 비트 값으로 어드레싱되었지만, 액세스되는 뱅크의 물리적 위치는 서로 오프셋되어 있다. 따라서, 메모리 액세스 동작으로부터의 열 발생이 적층 메모리의 우측에 국한되는 도 2의 예와 달리, 도 3의 실시형태는 메모리 다이(304A 및 304B)의 좌측과 우측 사이의 열 밸런스를 가능하게 한다.
다양한 실시형태는 어드레스 변환 데이터 구조 및 로직을 이용하여 적층 메모리의 다양한 메모리 다이 간의 어드레스를 스위즐링한다. 하나의 실시형태에서, 어드레스 스위즐링은 비트 값을 메모리 다이에 송신하기 전에 수행된다. 예를 들어, 일부 실시형태에서 스위즐링은 컴퓨팅 다이(예를 들어, 도 1의 컴퓨팅 다이(102))의 메모리 제어기(도시되지 않음)에서 수행된다. 다른 실시형태에서, 동일한 비트 값 어드레스가 메모리 다이(304A 및 304B) 둘 다에 송신되고 어드레스 스위즐링은 각각의 메모리 다이 내의 대응하는 위치에 액세스하기 전에 국부적으로 수행된다. 예를 들어, 일부 실시형태에서, 메모리 다이(304A 및 304B)에서의 로컬 룩업 테이블(도시되지 않음)이 스위즐링을 위해 이용된다. 일부 실시형태에서, 로컬 룩업 테이블은 수신된 비트 값을 비트 플립(bit flip)하여 어드레스 스위즐링을 수행하는데 사용된다.
다른 실시형태에서, 어드레스 스위즐링을 수행하는 대신, 교번 구성의 메모리 다이가 적층 메모리에 이용된다. 예를 들어, 도 2를 참조하면, 동일한 구성을 갖기 보다는, 동일한 비트 값 어드레스로 메모리 다이(204A 및 204B)를 어드레싱하면 상이한 뱅크에 액세스할 수 있다. 예를 들어, 0의 비트 값은 메모리 다이(204A)의 제 1 뱅크(206)에 액세스하고 1의 비트 값은 메모리 다이(204A)의 제 2 뱅크(208)에 액세스한다. 대조적으로, 수신된 0의 비트 값이 메모리 다이(204B)의 제 2 뱅크(208)에 액세스하고 1의 비트 값이 메모리 다이(204B)의 제 1 뱅크(206)에 액세스하도록 메모리 다이(204B)의 구성이 플립된다.
도 2 및 도 3의 예는 논의의 용이성을 위해 (메모리 다이의 어느 절반이 액세스되어야 하는지를 결정하는) 단일 비트 값과 관련된 스위즐링을 도시하지만, 다른 실시형태에서 본 발명의 범위를 벗어나지 않고 다양한 액세스 세분도에 어드레스 스위즐링이 적용된다는 것을 당업자는 인식할 것이다. 예를 들어, 일부 실시형태에서, 본 명세서에서 논의된 캐시 블록 세분도보다는 다수의 메모리 다이에 대한 병렬 액세스 동안에 상이한 물리적 위치에서 매크로 페이지(즉, 전형적으로 전형적인 메모리 페이지보다 더 큼)에 액세스하기 위해 스위즐링이 수행된다. 다른 실시형태에서, 단일 어드레스가 메모리 다이에 수신될 때 다수의 메모리 다이에 대한 병렬 액세스 동안에 상이한 물리적 위치에서 개별 캐시 라인에 액세스하기 위해 스위즐링이 수행된다.
다른 실시형태에서, 비트 값은 메모리 다이의 어느 사분면에 액세스되는지를 나타낸다. 예를 들어, 도 4는 일부 실시형태에 따른 열 밸런스를 위해 어드레스 스위즐링을 사용하는 다른 예시적인 적층 메모리 구성을 예시하는 블록도이다. 적층 메모리(404)는 동일한 구성을 갖는 2개의 메모리 다이(404A 및 404B)를 포함한다. 특히, 각각의 메모리 다이는 메모리 다이를 사분면으로 분할하는 제 1 뱅크(406), 제 2 뱅크(408), 제 3 뱅크(410) 및 제 4 뱅크(412)를 포함한다. 이 실시형태에서, 2 디지트 비트 값은 액세스되는 메모리 다이의 사분면을 결정한다. 예를 들어, 00의 비트 값은 제 1 뱅크(406)에 액세스하고, 01의 비트 값은 제 2 뱅크(408)에 액세스하고, 10의 비트 값은 제 3 뱅크(410)에 액세스하고, 11의 비트 값은 제 4 뱅크(412)에 액세스한다.
도 4에 도시된 바와 같이, 01의 비트 값을 이용한 메모리 다이(404A 및 404B)에 대한 병렬 액세스 동안, 메모리 다이(404A)는 01의 비트 값을 수신하여 제 2 뱅크(408)에 액세스한다. 그러나, 비트 값은 메모리 다이(404B)에 대해 스위즐링되어 10의 비트 값이 수신되고 메모리(404B)의 제 3 뱅크(410)가 액세스된다. 메모리 다이(404A 및 404B) 둘 다가 동일한 01의 비트 값으로 어드레싱되었지만, 액세스되는 뱅크의 물리적 위치는 서로 물리적으로 오프셋된다. 따라서, 도 4의 실시형태는 메모리 다이(404A 및 404B)의 좌측과 우측 사이의 열 밸런스를 가능하게 하고, 또한 열 밸런스를 위한 개선된 세분도 레벨을 제공한다.
도 5는 일부 실시형태에 따른 적층 메모리에서의 어드레스 스위즐링의 방법(500)의 흐름도이다. 방법(500)은 도 1의 처리 시스템(100)에서의 예시적인 구현과 관련하여 설명된다. 블록(502)에서, 컴퓨팅 다이(102)는 단일 메모리 어드레스에 기초하여 적층 메모리(104)의 2 이상의 메모리 다이에 대한 병렬 액세스를 개시한다. 블록(504)에서, 단일 메모리 어드레스는 2 이상의 메모리 다이에 액세스하기 전에 스위즐링된다. 위에서 설명된 바와 같이, 일부 실시형태에서, 메모리 어드레스 스위즐링은 비트 값을 메모리 다이에 송신하기 전에 컴퓨팅 다이(102)의 메모리 제어기(도시되지 않음)에서 수행된다. 다른 실시형태에서, 동일한 비트 값 어드레스가 메모리 다이에 송신되고 어드레스 스위즐링은 각각의 메모리 다이 내의 대응하는 위치에 액세스하기 전에 국부적으로 수행된다.
블록(506)에서, 적층 메모리(104)의 2개 이상의 메모리 다이 각각은 스위즐링된 어드레스에 기초하여 서로에 상대적인 상이한 물리적 위치에서 액세스된다. 위에서 설명된 바와 같이, 스위즐링된 어드레스는 메모리 다이의 어느 부분에 액세스되는지를 나타낸다. 일부 실시형태에서, 상이한 물리적 위치, 상이한 메모리 블록, 캐시 라인 로우(row)/컬럼(column) 등에서 매크로 페이지(즉, 전형적으로 전형적인 메모리 페이지보다 더 큼)에 액세스하기 위해 스위즐링이 수행된다. 이러한 방식으로, 단일 메모리 어드레스를 이용한 다수의 메모리 다이에 대한 병렬 액세스는 각각의 다이 상의 상이한 물리적 위치에 액세스하도록 향할 수 있다. 메모리 액세스 동작 동안에 발생된 열의 열 밸런스를 개선함으로써, 적층 메모리 내의 국부적 핫스팟은 감소될 수 있다. 따라서, 적층 메모리는 열 에너지를 예를 들어 방출을 위한 히트 싱크에 보다 효율적으로 전도할 수 있어, 적층 메모리를 구현하는 처리 시스템의 전체 처리 및 전력 효율성을 향상시킨다.
제 1 양태에서, 처리 시스템은 컴퓨팅 다이, 및 컴퓨팅 다이와 함께 적층된 적층 메모리를 포함하고, 여기서 적층 메모리는 제 1 메모리 다이와, 제 1 메모리 다이의 상부에 적층된 제 2 메모리 다이를 포함하고, 추가로, 단일 메모리 어드레스를 이용한 병렬 액세스는 상이한 물리적 위치에서 제 1 메모리 다이와 제 2 메모리 다이에 액세스하기 위해 스위즐링된다.
제 1 양태의 하나의 실시형태에서, 제 1 메모리 다이와 제 2 메모리 다이는 동일한 회로 구성을 포함한다. 특정 실시형태에서, 단일 메모리 어드레스를 이용한 병렬 액세스는 제 1 메모리 다이와 제 2 메모리 다이의 상이한 메모리 뱅크를 향한다. 다른 실시형태에서, 처리 시스템은 컴퓨팅 다이에서의 메모리 제어기를 포함하고, 여기서 메모리 제어기는 적층 메모리를 어드레싱하기 전에 복수의 비트 값을 생성하기 위해 단일 메모리 어드레스를 스위즐링한다.
제 1 양태의 추가 실시형태에서, 제 1 메모리 다이와 제 2 메모리 다이 둘 다는 단일 메모리 어드레스를 수신하고, 여기서 제 2 메모리 다이는 로컬 룩업 테이블에 기초하여 단일 메모리 어드레스를 스위즐링한다. 특정 실시형태에서, 제 2 메모리 다이는 수신된 단일 메모리 어드레스를 로컬 룩업 테이블에 기초하여 비트 플립한다. 또 다른 실시형태에서, 적층 메모리는 복수 층의 스태틱 랜덤 액세스 메모리(SRAM)를 포함한다.
제 2 양태에서, 집적 회로(IC) 패키지는 복수의 적층 메모리 다이를 포함하는 다이 적층 메모리 디바이스를 포함하고, 여기서 단일 메모리 어드레스를 이용한 병렬 액세스는 상이한 물리적 위치에서 복수의 적층 메모리 다이에 액세스하기 위해 스위즐링된다.
제 2 양태의 하나의 실시형태에서, 복수의 적층 메모리 다이 중 적층 메모리 다이 각각은 동일한 회로 구성을 포함한다. 특정 실시형태에서, 단일 메모리 어드레스를 이용한 병렬 액세스는 복수의 적층 메모리 다이의 상이한 메모리 뱅크를 향한다. 다른 실시형태에서, IC 패키지는 다이 적층 메모리 디바이스에 연결된 컴퓨팅 다이에서의 메모리 제어기를 포함하고, 여기서 메모리 제어기는 다이 적층 메모리 디바이스를 어드레싱하기 전에 복수의 비트 값을 생성하기 위해 단일 메모리 어드레스를 스위즐링한다.
제 2 양태의 추가 실시형태에서, 복수의 적층 메모리 다이 각각은 로컬 룩업 테이블을 포함한다. 특정 실시형태에서, 단일 메모리 어드레스는 복수의 적층 메모리 다이 각각에서의 로컬 룩업 테이블에 기초하여 비트 플립된다. 다른 실시형태에서, 다이 적층 메모리 디바이스는 복수의 SRAM 층을 포함한다.
제 3 양태에서, 본 방법은 단일 메모리 어드레스를 이용한 병렬 액세스 요구를 수신하는 것에 응답하여, 상이한 물리적 위치에서 다이 적층 메모리의 제 1 메모리 다이와 제 2 메모리 다이에 액세스하기 위해 단일 메모리 어드레스를 스위즐링하는 단계를 포함한다.
제 3 양태의 하나의 실시형태에서, 단일 메모리 어드레스를 스위즐링하는 단계는 메모리 제어기에서 제 1 메모리 다이와 제 2 메모리 다이를 어드레싱하기 전에 복수의 비트 값을 생성하는 단계를 포함한다. 다른 실시형태에서, 본 방법은 단일 메모리 어드레스로 제 1 메모리 다이와 제 2 메모리 다이 둘 다를 어드레싱하는 단계를 포함한다. 특정 실시형태에서, 단일 메모리 어드레스를 스위즐링하는 단계는 제 2 메모리 다이의 로컬 룩업 테이블에서 단일 메모리 어드레스를 비트 플립하는 단계를 포함한다. 또 다른 실시형태에서, 본 방법은 제 2 메모리 다이에서의 로컬 룩업 테이블에 기초하여 단일 메모리 어드레스를 스위즐링하는 단계를 포함한다. 또 다른 실시형태에서, 병렬 액세스 요구는 제 1 메모리 다이와 제 2 메모리 다이의 상이한 메모리 뱅크를 향한다.
일부 실시형태에서, 전술한 기술의 특정 양태는 소프트웨어를 실행하는 처리 시스템의 하나 이상의 프로세서에 의해 구현될 수 있다. 소프트웨어는 비일시적 컴퓨터 판독 가능 저장 매체에 저장되거나 그렇지 않으면 유형으로 구현된 하나 이상의 실행 가능 명령 세트를 포함한다. 소프트웨어는 하나 이상의 프로세서에 의해 실행될 때 전술한 기술의 하나 이상의 양태를 수행하도록 하나 이상의 프로세서를 조작하는 명령 및 특정 데이터를 포함할 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체는 예를 들어 자기 또는 광 디스크 저장 디바이스, 플래시 메모리, 캐시, 랜덤 액세스 메모리(RAM) 또는 다른 비휘발성 메모리 디바이스와 같은 고체 저장 디바이스 등을 포함할 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체에 저장된 실행 가능 명령은 소스 코드, 어셈블리 언어 코드, 객체 코드, 또는 하나 이상의 프로세서에 의해 해석되거나 달리 실행 가능한 다른 명령 포맷일 수 있다.
일반적인 설명에서 상술한 모든 활동 또는 요소가 요구되는 것은 아니며, 특정 활동 또는 디바이스의 일부가 요구되지 않을 수 있으며, 하나 이상의 추가 활동이 수행될 수 있거나, 또는 설명된 것들에 더하여, 요소가 추가될 수 있다는 점을 주지해야 한다. 또한, 활동을 나열하는 순서는 반드시 그들의 수행되는 순서일 필요는 없다. 또한, 개념은 특정 실시형태를 참조하여 설명되었다. 그러나, 당업자는 이하의 청구 범위에 기재된 본 발명의 범위를 벗어나지 않고 다양한 변형 및 변경이 이루어질 수 있음을 이해한다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 간주되어야 하고, 이러한 모든 변형은 본 발명의 범위 내에 포함되는 것으로 의도된다.
특정 실시형태와 관련하여 이점, 다른 장점 및 문제에 대한 해결책이 위에서 설명되었다. 그러나, 이점, 장점, 문제에 대한 해결책 및 이익, 장점 또는 해결책을 발생시키거나 더 두드러지게 할 수 있는 특징(들)은 임의의 또는 모든 청구항의 중요, 필요 또는 필수 특징으로서 해석되어서는 안된다. 또한, 개시된 주제는 본 명세서의 교시의 이점을 갖는, 당업자에게 자명한 상이하지만 상이한 방식으로 수정 및 실시될 수 있기 때문에, 위에 개시된 특정 실시형태는 단지 예시일 뿐이다. 이하의 청구 범위에 기재된 것 이외의 본 명세서에 나타낸 구성 또는 설계의 세부 사항에 대한 제한은 없다. 따라서, 위에 개시된 특정 실시형태는 변경되거나 변형될 수 있으며, 이러한 모든 변형은 개시된 주제의 범위 내에서 고려된다는 것이 자명하다. 따라서, 본 명세서에서 보호받고자 하는 범위는 아래의 청구 범위에 기술된 바와 같다.
Claims (20)
- 프로세싱 시스템으로서,
컴퓨팅 다이; 및
상기 컴퓨팅 다이와 함께 적층된 적층 메모리를 포함하고,
상기 적층 메모리는 제 1 메모리 다이와, 상기 제 1 메모리 다이의 상부에 적층된 제 2 메모리 다이를 포함하고, 또한 단일 메모리 어드레스를 이용하는 병렬 액세스는 제 2 메모리 다이의 제 2 부분에 대한 액세스와 병렬로 제 1 메모리 다이의 제 1 부분에 액세스하도록 스위즐링(swizzling)되며, 상기 제 2 부분은 동일한 메모리 다이 상의 제 1 부분으로부터 오프셋되는 것을 특징으로 하는 프로세싱 시스템. - 제1항에 있어서,
상기 제 1 메모리 다이와 상기 제 2 메모리 다이는 동일한 회로 구성을 포함하는 것을 특징으로 하는 프로세싱 시스템. - 제2항에 있어서,
상기 단일 메모리 어드레스를 이용한 병렬 액세스는 상기 제 1 메모리 다이와 상기 제 2 메모리 다이의 상이한 메모리 뱅크들을 향하는 것을 특징으로 하는 프로세싱 시스템. - 제1항에 있어서,
상기 컴퓨팅 다이에서의 메모리 제어기를 더 포함하고, 상기 메모리 제어기는 상기 적층 메모리를 어드레싱하기 전에 복수의 비트 값들을 생성하기 위해 상기 단일 메모리 어드레스를 스위즐링하는 것을 특징으로 하는 프로세싱 시스템. - 제1항에 있어서,
상기 제 1 메모리 다이와 상기 제 2 메모리 다이 둘다는 상기 단일 메모리 어드레스를 수신하고, 또한 상기 제 2 메모리 다이는 로컬 룩업 테이블에 기초하여 상기 단일 메모리 어드레스를 스위즐링하는 것을 특징으로 하는 프로세싱 시스템. - 제5항에 있어서,
상기 제 2 메모리 다이는 상기 수신된 단일 메모리 어드레스를 상기 로컬 룩업 테이블에 기초하여 비트 플립(bit flip)하는 것을 특징으로 하는 프로세싱 시스템. - 제1항에 있어서,
상기 적층 메모리는 복수 층의 스태틱 랜덤 액세스 메모리(SRAM)를 포함하는 것을 특징으로 하는 프로세싱 시스템. - 집적 회로(IC) 패키지로서,
다이 적층 메모리 디바이스를 포함하고,
상기 다이 적층 메모리 디바이스는:
복수의 적층 메모리 다이들을 포함하며, 단일 메모리 어드레스를 이용한 병렬 액세스는 상이한 물리적 위치들에서 상기 복수의 적층 메모리 다이들에 액세스하기 위해 스위즐링되며, 상기 상이한 물리적 위치들은 동일한 메모리 다이 상에서 서로에 대해 오프셋되는 것을 특징으로 하는 집적 회로(IC) 패키지. - 제8항에 있어서,
상기 복수의 적층 메모리 다이들의 각각의 적층 메모리 다이는 동일한 회로 구성을 포함하는 것을 특징으로 하는 집적 회로(IC) 패키지. - 제9항에 있어서,
상기 단일 메모리 어드레스를 이용한 병렬 액세스는 상기 복수의 적층 메모리 다이들의 상이한 메모리 뱅크들을 향하는 것을 특징으로 하는 집적 회로(IC) 패키지. - 제8항에 있어서,
상기 다이 적층 메모리 디바이스에 연결된 컴퓨팅 다이에서의 메모리 제어기를 더 포함하고,
상기 메모리 제어기는 상기 다이 적층 메모리 디바이스를 어드레싱하기 전에 복수의 비트 값들을 생성하기 위해 단일 메모리 어드레스를 스위즐링하는 것을 특징으로 하는 집적 회로(IC) 패키지. - 제8항에 있어서,
상기 복수의 적층 메모리 다이들 각각은 로컬 룩업 테이블을 포함하는 것을 특징으로 하는 집적 회로(IC) 패키지. - 제12항에 있어서,
상기 단일 메모리 어드레스는 상기 복수의 적층 메모리 다이들 각각에서의 로컬 룩업 테이블에 기초하여 비트 플립되는 것을 특징으로 하는 집적 회로(IC) 패키지. - 제8항에 있어서,
상기 다이 적층 메모리 디바이스는 복수 층의 스태틱 랜덤 액세스 메모리(SRAM)를 포함하는 것을 특징으로 하는 집적 회로(IC) 패키지. - 방법으로서,
단일 메모리 어드레스를 이용한 병렬 액세스 요구를 수신하는 것에 응답하여, 적층 메모리의 제 2 메모리 다이의 제 2 부분에 대한 액세스와 병렬로 제 1 메모리 다이의 제 1 부분에 액세스하도록 상기 단일 메모리 어드레스를 스위즐링하는 단계를 포함하며, 상기 제 2 부분은 동일한 메모리 다이 상의 제 1 부분으로부터 오프셋되는 것을 특징으로 하는 방법. - 제15항에 있어서,
상기 단일 메모리 어드레스를 스위즐링하는 단계는,
상기 제 1 메모리 다이와 상기 제 2 메모리 다이를 어드레싱하기 전에 메모리 제어기에서 복수의 비트 값들을 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 제15항에 있어서,
상기 단일 메모리 어드레스로 상기 제 1 메모리 다이와 상기 제 2 메모리 다이 둘다를 어드레싱하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 단일 메모리 어드레스를 스위즐링하는 단계는,
상기 제 2 메모리 다이의 로컬 룩업 테이블에서 상기 단일 메모리 어드레스를 비트 플립하는 단계를 포함하는 것을 특징으로 하는 방법. - 제15항에 있어서,
상기 제 2 메모리 다이에서의 로컬 룩업 테이블에 기초하여 상기 단일 메모리 어드레스를 스위즐링하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제15항에 있어서,
상기 병렬 액세스 요구는 상기 제 1 메모리 다이와 상기 제 2 메모리 다이의 상이한 메모리 뱅크들을 향하는 것을 특징으로 하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/794,457 | 2017-10-26 | ||
US15/794,457 US10303398B2 (en) | 2017-10-26 | 2017-10-26 | Swizzling in 3D stacked memory |
PCT/US2018/051592 WO2019083642A1 (en) | 2017-10-26 | 2018-09-18 | TILTING IN A STACKED 3D MEMORY |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200063237A KR20200063237A (ko) | 2020-06-04 |
KR102407783B1 true KR102407783B1 (ko) | 2022-06-10 |
Family
ID=66243845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207013986A KR102407783B1 (ko) | 2017-10-26 | 2018-09-18 | 3d 적층 메모리에서의 스위즐링 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10303398B2 (ko) |
EP (1) | EP3701379A4 (ko) |
JP (1) | JP6980912B2 (ko) |
KR (1) | KR102407783B1 (ko) |
CN (1) | CN111279322B (ko) |
WO (1) | WO2019083642A1 (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10490251B2 (en) | 2017-01-30 | 2019-11-26 | Micron Technology, Inc. | Apparatuses and methods for distributing row hammer refresh events across a memory device |
WO2019222960A1 (en) | 2018-05-24 | 2019-11-28 | Micron Technology, Inc. | Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling |
US10573370B2 (en) | 2018-07-02 | 2020-02-25 | Micron Technology, Inc. | Apparatus and methods for triggering row hammer address sampling |
US10685696B2 (en) | 2018-10-31 | 2020-06-16 | Micron Technology, Inc. | Apparatuses and methods for access based refresh timing |
CN113168861B (zh) | 2018-12-03 | 2024-05-14 | 美光科技公司 | 执行行锤刷新操作的半导体装置 |
CN111354393B (zh) * | 2018-12-21 | 2023-10-20 | 美光科技公司 | 用于目标刷新操作的时序交错的设备和方法 |
US10957377B2 (en) | 2018-12-26 | 2021-03-23 | Micron Technology, Inc. | Apparatuses and methods for distributed targeted refresh operations |
EP3675125A1 (en) * | 2018-12-27 | 2020-07-01 | Secure-IC SAS | Device and method for protecting a memory |
US11615831B2 (en) | 2019-02-26 | 2023-03-28 | Micron Technology, Inc. | Apparatuses and methods for memory mat refresh sequencing |
US11227649B2 (en) | 2019-04-04 | 2022-01-18 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of targeted refresh operations |
US11069393B2 (en) | 2019-06-04 | 2021-07-20 | Micron Technology, Inc. | Apparatuses and methods for controlling steal rates |
US10978132B2 (en) | 2019-06-05 | 2021-04-13 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of skipped refresh operations |
US11302374B2 (en) | 2019-08-23 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic refresh allocation |
US11302377B2 (en) | 2019-10-16 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic targeted refresh steals |
US11309010B2 (en) | 2020-08-14 | 2022-04-19 | Micron Technology, Inc. | Apparatuses, systems, and methods for memory directed access pause |
US11348631B2 (en) | 2020-08-19 | 2022-05-31 | Micron Technology, Inc. | Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed |
US11380382B2 (en) | 2020-08-19 | 2022-07-05 | Micron Technology, Inc. | Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit |
US11557331B2 (en) | 2020-09-23 | 2023-01-17 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh operations |
US11222686B1 (en) | 2020-11-12 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh timing |
US11264079B1 (en) | 2020-12-18 | 2022-03-01 | Micron Technology, Inc. | Apparatuses and methods for row hammer based cache lockdown |
US12112787B2 (en) | 2022-04-28 | 2024-10-08 | Micron Technology, Inc. | Apparatuses and methods for access based targeted refresh operations |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020040429A1 (en) * | 1997-08-01 | 2002-04-04 | Dowling Eric M. | Embedded-DRAM-DSP architecture |
US20080101104A1 (en) | 2006-10-30 | 2008-05-01 | Elpida Memory, Inc. | Stacked memory |
US20120173841A1 (en) | 2010-12-31 | 2012-07-05 | Stephan Meier | Explicitly Regioned Memory Organization in a Network Element |
US20130336039A1 (en) | 2012-06-05 | 2013-12-19 | Rambus Inc. | Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die |
US20150348613A1 (en) | 2010-12-14 | 2015-12-03 | Rambus Inc. | Multi-Die DRAM Banks Arrangement and Wiring |
US20160041856A1 (en) * | 2014-08-07 | 2016-02-11 | Wisconsin Alumni Research Foundation | Memory Processing Core Architecture |
US20160148910A1 (en) | 2010-11-30 | 2016-05-26 | Ps4 Luxco S.A.R.L. | Semiconductor Device Having Plural Memory Chip |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0823843B2 (ja) * | 1991-10-11 | 1996-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メモリ・コントローラ、及びデータ処理システム |
US5924111A (en) * | 1995-10-17 | 1999-07-13 | Huang; Chu-Kai | Method and system for interleaving data in multiple memory bank partitions |
US7898551B2 (en) * | 2006-06-20 | 2011-03-01 | Via Technologies, Inc. | Systems and methods for performing a bank swizzle operation to reduce bank collisions |
US20080120514A1 (en) * | 2006-11-10 | 2008-05-22 | Yehea Ismail | Thermal management of on-chip caches through power density minimization |
TWI470762B (zh) * | 2007-07-27 | 2015-01-21 | 尼康股份有限公司 | Laminated semiconductor device |
KR101639574B1 (ko) * | 2009-12-30 | 2016-07-14 | 삼성전자주식회사 | 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법 |
KR101796116B1 (ko) * | 2010-10-20 | 2017-11-10 | 삼성전자 주식회사 | 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법 |
JP2014044527A (ja) * | 2012-08-24 | 2014-03-13 | Canon Inc | 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 |
KR102133573B1 (ko) * | 2013-02-26 | 2020-07-21 | 삼성전자주식회사 | 반도체 메모리 및 반도체 메모리를 포함하는 메모리 시스템 |
JP2017123208A (ja) * | 2016-01-06 | 2017-07-13 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置 |
-
2017
- 2017-10-26 US US15/794,457 patent/US10303398B2/en active Active
-
2018
- 2018-09-18 WO PCT/US2018/051592 patent/WO2019083642A1/en unknown
- 2018-09-18 JP JP2020522320A patent/JP6980912B2/ja active Active
- 2018-09-18 KR KR1020207013986A patent/KR102407783B1/ko active IP Right Grant
- 2018-09-18 CN CN201880069807.7A patent/CN111279322B/zh active Active
- 2018-09-18 EP EP18871285.5A patent/EP3701379A4/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020040429A1 (en) * | 1997-08-01 | 2002-04-04 | Dowling Eric M. | Embedded-DRAM-DSP architecture |
US20080101104A1 (en) | 2006-10-30 | 2008-05-01 | Elpida Memory, Inc. | Stacked memory |
US20160148910A1 (en) | 2010-11-30 | 2016-05-26 | Ps4 Luxco S.A.R.L. | Semiconductor Device Having Plural Memory Chip |
US20150348613A1 (en) | 2010-12-14 | 2015-12-03 | Rambus Inc. | Multi-Die DRAM Banks Arrangement and Wiring |
US20120173841A1 (en) | 2010-12-31 | 2012-07-05 | Stephan Meier | Explicitly Regioned Memory Organization in a Network Element |
US20130336039A1 (en) | 2012-06-05 | 2013-12-19 | Rambus Inc. | Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die |
US20160041856A1 (en) * | 2014-08-07 | 2016-02-11 | Wisconsin Alumni Research Foundation | Memory Processing Core Architecture |
Non-Patent Citations (1)
Title |
---|
Lin Shu-Yen et al., "Thermal- and Performance-Aware Address Mapping for the Multi-Channel Three-Dimensional DRAM Systems", IEEE ACCESS, vol. 5, pages 5566-5577, 2017.05.12. |
Also Published As
Publication number | Publication date |
---|---|
US10303398B2 (en) | 2019-05-28 |
CN111279322B (zh) | 2021-09-24 |
US20190129651A1 (en) | 2019-05-02 |
WO2019083642A1 (en) | 2019-05-02 |
CN111279322A (zh) | 2020-06-12 |
KR20200063237A (ko) | 2020-06-04 |
JP6980912B2 (ja) | 2021-12-15 |
EP3701379A1 (en) | 2020-09-02 |
EP3701379A4 (en) | 2021-08-11 |
JP2021501435A (ja) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102407783B1 (ko) | 3d 적층 메모리에서의 스위즐링 | |
US11658159B2 (en) | Methods and apparatus for managing thermal behavior in multichip packages | |
US9767028B2 (en) | In-memory interconnect protocol configuration registers | |
TWI703440B (zh) | 記憶體系統、其處理系統以及操作記憶體堆疊的方法 | |
Farmahini-Farahani et al. | DRAMA: An architecture for accelerated processing near memory | |
US20180115496A1 (en) | Mechanisms to improve data locality for distributed gpus | |
JP7108141B2 (ja) | データ領域を記憶するためのキャッシュ | |
Zhao et al. | Optimizing GPU energy efficiency with 3D die-stacking graphics memory and reconfigurable memory interface | |
Shafiee et al. | Secure DIMM: Moving ORAM primitives closer to memory | |
KR20220066122A (ko) | 집적 캐시를 갖는 능동 브릿지 칩렛 | |
US11966330B2 (en) | Link affinitization to reduce transfer latency | |
Hsieh et al. | Thermal-aware memory mapping in 3D designs | |
US9190118B2 (en) | Memory architectures having wiring structures that enable different access patterns in multiple dimensions | |
WO2023113927A1 (en) | Method to reduce register access latency in split-die soc designs | |
KR102605205B1 (ko) | 메모리 장치 및 프로세싱 시스템 | |
US9195630B2 (en) | Three-dimensional computer processor systems having multiple local power and cooling layers and a global interconnection structure | |
TW202312372A (zh) | 用於半導體晶片平面網格陣列封裝體及冷卻總成維持之圖形化承板及複合式背板 | |
Akbarzadeh et al. | H3DM: A High-bandwidth High-capacity Hybrid 3D Memory Design for GPUs | |
JP2021099891A (ja) | ワイドプリフェッチを行う高帯域幅dramメモリ | |
Lefter et al. | A shared polyhedral cache for 3d wide-i/o multi-core computing platforms | |
Franzon et al. | Thermal requirements in future 3d processors | |
Lin et al. | Thermal-and performance-aware address mapping for the multi-channel three-dimensional DRAM systems | |
US20220350525A1 (en) | Two-dimensional data access for volatile memory | |
US20230315334A1 (en) | Providing fine grain access to package memory | |
Lin et al. | Thermal-aware architecture and mapping for multi-channel three-dimensional DRAM systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |