KR102748984B1 - 메모리 장치 및 그 동작 방법 - Google Patents
메모리 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- KR102748984B1 KR102748984B1 KR1020230068327A KR20230068327A KR102748984B1 KR 102748984 B1 KR102748984 B1 KR 102748984B1 KR 1020230068327 A KR1020230068327 A KR 1020230068327A KR 20230068327 A KR20230068327 A KR 20230068327A KR 102748984 B1 KR102748984 B1 KR 102748984B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory device
- pim
- memory
- operand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 26
- 230000015654 memory Effects 0.000 claims abstract description 123
- 239000000872 buffer Substances 0.000 claims abstract description 37
- 238000011017 operating method Methods 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 239000003990 capacitor Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000001328 optic nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
Description
도 2a는 몇몇 비교되는 메모리 시스템의 동작을 설명하기 위한 도면이다.
도 2b는 일 실시예에 따른 PIM 블록과 연결된 메모리 뱅크의 개략적인 블록도이다.
도 2c는 본 발명의 일 실시예에 따른 DRAM 셀의 예를 나타내는 회로도이다.
도 3은 일 실시예에 따른 피연산자 쌍을 연산기에 동시에 입력하기 위한 열 주소의 구조를 설명하기 위한 도면이다.
도 4a는 일 실시예에 따른 메모리 장치가 PIM 명령어를 수신할 경우의 동작을 설명하기 위한 도면이다.
도 4b는 일 실시예에 따른 메모리 장치치가 정규 명령어를 수신할 경우의 동작을 설명하기 위한 도면이다.
도 5a는 일 실시예에 따른 PIM 블록을 포함하는 메모리 장치의 예를 도시한 도면이다.
도 5b는 일 실시예에 따른 복수의 메모리 뱅크들과 PIM 블록이 연결된 메모리 장치의 예를 도시한 도면이다.
도 6은 일 실시예에 따른 메모리 장치의 동작 방법을 설명하기 위한 순서도이다.
Claims (26)
- 복수의 메모리 뱅크들을 포함하는 메모리 뱅크부; 및
복수의 PIM 블록들을 포함하는 연산부;
를 포함하고,
상기 메모리 뱅크는
복수의 행과 복수의 열로 배열된 메모리 셀들의 어레이;
상기 복수의 행들 중 행 주소에 대응하는 행의 데이터를 저장하는 행 버퍼(row buffer); 및
상기 행 버퍼에 저장된 데이터 중에서, 열 주소에 대응하는 제1 데이터 및 제2 데이터를 선택하는 선택부
를 포함하고,
상기 선택부와 상기 PIM 블록 사이에 연결된 제1 데이터 경로(data path)를 통해 상기 제1 데이터가 상기 PIM 블록으로 전달되고, 상기 선택부와 상기 PIM 블록 사이에 연결된 제2 데이터 경로를 통해 상기 제2 데이터가 상기 PIM 블록으로 전달되는, 메모리 장치.
- 제1항에 있어서,
상기 열 주소는
제1 서브 열 주소 및 제2 서브 열 주소를 포함하고,
상기 제1 서브 열 주소에는 제1 열 그룹 비트(column group bit)가 할당되고, 상기 제2 서브 열 주소에는 제2 열 그룹 비트가 할당되는, 메모리 장치.
- 제2항에 있어서,
상기 선택부는
상기 제1 서브 열 주소에 기초하여, 상기 제1 데이터를 선택하는 제1 선택기; 및
상기 제2 서브 열 주소에 기초하여, 상기 제2 데이터를 선택하는 제2 선택기
를 포함하는, 메모리 장치.
- 제3항에 있어서,
상기 제1 선택기와 상기 PIM 블록은 상기 제1 데이터 경로로 연결되고, 상기 제2 선택기와 상기 PIM 블록은 상기 제2 데이터 경로로 연결되는, 메모리 장치.
- 제3항에 있어서,
상기 PIM 블록은
상기 제1 선택기로부터 상기 제1 데이터를 제1 피연산자로 수신하고, 상기 제2 선택기로부터 상기 제2 데이터를 제2 피연산자로 수신하고, 상기 제1 피연산자 및 상기 제2 피연산자 사이의 연산을 수행하는, 메모리 장치.
- 제5항에 있어서,
상기 행 주소에 대응하는 행의 데이터에는
상기 제1 피연산자와 상기 제2 피연산자가 쌍(pair)으로 배치되는, 메모리 장치.
- 제5항에 있어서,
상기 PIM 블록은
상기 제1 피연산자와 상기 제2 피연산자를 동시에 수신하는, 메모리 장치.
- 제2항에 있어서,
상기 제1 열 그룹 비트 또는 제2 열 그룹 비트를 제어 신호로 수신하여, 상기 제1 데이터 또는 상기 제2 데이터를 상기 메모리 장치 외부로 출력하는 제3 멀티플렉서(multiplexer)
를 더 포함하는, 메모리 장치.
- 제1항에 있어서,
상기 PIM 블록은
레지스터; 및
상기 레지스터에 저장된 데이터 및 상기 선택부에서 출력되는 제1 데이터 중 어느 하나를 제1 피연산자로 선택하는 제4 멀티플렉서
를 포함하는 메모리 장치.
- 제9항에 있어서,
상기 PIM 블록은
상기 레지스터에 저장된 데이터 및 상기 선택부에서 출력되는 제2 데이터 중 어느 하나를 제2 피연산자로 선택하는 제5 멀티플렉서; 및
상기 제1 피연산자 및 상기 제2 피연산자 사이의 연산을 수행하는 연산기
를 포함하는, 메모리 장치.
- 제1항에 있어서,
상기 메모리 뱅크부는
복수의 동적 랜덤 액세스 메모리(DRAM) 뱅크들을 포함하는, 메모리 장치.
- 제1항에 있어서,
상기 복수의 메모리 뱅크들로부터 상기 복수의 메모리 뱅크들 각각에 대응하는 제1 데이터들을 수신하여, 제1 피연산자를 상기 PIM 블록으로 전달하는 제6 멀티플렉서; 및
상기 복수의 메모리 뱅크들로부터 상기 복수의 메모리 뱅크들 각각에 대응하는 제2 데이터들을 수신하여, 제2 피연산지를 상기 PIM 블록으로 전달하는 제7 멀티플렉서
를 더 포함하는, 메모리 장치.
- 메모리 뱅크 및 PIM 블록을 포함하는 메모리 장치의 동작 방법에 있어서,
행 주소(row address) 및 열 주소(column address)를 수신하는 단계;
상기 행 주소에 대응하는 행의 데이터를 상기 메모리 뱅크의 행 버퍼에 저장하는 단계;
상기 행 버퍼에 저장된 데이터 중에서, 상기 열 주소에 대응하는 제1 데이터 및 제2 데이터를 선택하는 단계;
상기 메모리 뱅크와 상기 PIM 블록 사이에 연결된 제1 데이터 경로(data path)를 통해 상기 제1 데이터가 상기 PIM 블록으로 전달하는 단계; 및
상기 메모리 뱅크와 상기 PIM 블록 사이에 연결된 제2 데이터 경로를 통해 상기 제2 데이터가 상기 PIM 블록으로 전달하는 단계
를 포함하는 메모리 장치의 동작 방법.
- 제13항에 있어서,
상기 열 주소는
제1 서브 열 주소 및 제2 서브 열 주소를 포함하고,
상기 제1 서브 열 주소에는 제1 열 그룹 비트(column group bit)가 할당되고, 상기 제2 서브 열 주소에는 제2 열 그룹 비트가 할당되는, 메모리 장치의 동작 방법.
- 제14항에 있어서,
상기 선택하는 단계는
상기 제1 서브 열 주소에 기초하여, 상기 제1 데이터를 선택하는 단계; 및
상기 제2 서브 열 주소에 기초하여, 상기 제2 데이터를 선택하는 단계
를 포함하는, 메모리 장치의 동작 방법.
- 제15항에 있어서,
상기 PIM 블록에서, 상기 제1 데이터를 제1 피연산자로 수신하는 단계;
상기 PIM 블록에서, 상기 제2 데이터를 제2 피연산자로 수신하는 단계; 및
상기 PIM 블록에서, 상기 제1 피연산자 및 상기 제2 피연산자 사이의 연산을 수행하는 단계
를 더 포함하는, 메모리 장치의 동작 방법.
- 제16항에 있어서,
상기 행 주소에 대응하는 행의 데이터에는
상기 제1 피연산자와 상기 제2 피연산자가 쌍(pair)으로 배치되는, 메모리 장치의 동작 방법.
- 제16항에 있어서,
상기 PIM 블록은
상기 제1 피연산자와 상기 제2 피연산자를 동시에 수신하는, 메모리 장치의 동작 방법.
- 제14항에 있어서,
상기 제1 열 그룹 비트 또는 제2 열 그룹 비트를 제어 신호로 수신하여, 상기 제1 데이터 또는 상기 제2 데이터를 상기 메모리 장치 외부로 출력하는 단계
를 더 포함하는, 메모리 장치의 동작 방법.
- 제13항에 있어서,
상기 메모리 뱅크는
복수의 동적 랜덤 액세스 메모리(DRAM) 뱅크들을 포함하는, 메모리 장치의 동작 방법.
- 하드웨어와 결합되어 제13항 내지 제20항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
- 데이터 연산을 수행하는 로직 회로를 포함하는 연산기;
복수의 행과 복수의 열로 배열된 메모리 셀들;
상기 메모리 셀의 행 데이터를 저장하는 행 버퍼;
상기 행 버퍼와 상기 연산기를 연결하는 제1 경로;
상기 행 버퍼와 상기 연산기를 연결하는, 상기 제1 경로와 독립된 제2 경로; 및
상기 행 버퍼에 저장된 제1 데이터를 선택하여 상기 제1 경로로 전달하고, 상기 행 버퍼에 저장된 상기 제1 데이터와 다른 제2 데이터를 선택하여 상기 제2 경로로 전달하는 선택부
를 포함하는 메모리 장치.
- 제22항에 있어서,
상기 제1 경로에 연결된 제1 멀티플렉서;
상기 제2 경로에 연결된 제2 멀티플렉서; 및
상기 제1 멀티플렉서 및 상기 제2 멀티플렉서와 연결된 레지스터
를 더 포함하는 메모리 장치
- 제23항에 있어서,
상기 레지스터는 상기 제1 경로에 연결되고, 상기 제2 경로에는 연결되지 않는, 메모리 장치.
- 제22항에 있어서,
상기 제1 경로 및 상기 제2 경로와 연결되고 상기 제1 데이터 또는 상기 제2 데이터를 상기 메모리 장치 외부로 출력하는 멀티플렉서를 더 포함하는, 메모리 장치.
- 제22항에 있어서,
상기 선택부는 상기 제1 데이터를 선택하는 제1열 디코더 및 상기 제2 데이터를 선택하는 제2열 디코더를 포함하는, 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/499,551 US20240257851A1 (en) | 2023-01-27 | 2023-11-01 | Memory device and method of operating the same |
EP24152862.9A EP4407620A1 (en) | 2023-01-27 | 2024-01-19 | Memory device and method of operating the same |
CN202410097342.3A CN118412029A (zh) | 2023-01-27 | 2024-01-23 | 存储器装置以及操作存储器装置的方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20230010611 | 2023-01-27 | ||
KR1020230010611 | 2023-01-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20240118633A KR20240118633A (ko) | 2024-08-05 |
KR102748984B1 true KR102748984B1 (ko) | 2025-01-03 |
Family
ID=92378837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230068327A Active KR102748984B1 (ko) | 2023-01-27 | 2023-05-26 | 메모리 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102748984B1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102671079B1 (ko) * | 2019-10-30 | 2024-05-30 | 에스케이하이닉스 주식회사 | Aim 장치 및 aim 장치의 테스트 방법 |
KR20220066662A (ko) * | 2020-11-16 | 2022-05-24 | 에스케이하이닉스 주식회사 | 인메모리 연산을 수행하는 반도체 장치 |
-
2023
- 2023-05-26 KR KR1020230068327A patent/KR102748984B1/ko active Active
Also Published As
Publication number | Publication date |
---|---|
KR20240118633A (ko) | 2024-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12019895B2 (en) | Apparatuses and methods for data movement | |
KR102780371B1 (ko) | 직렬 할당 데이터에 대해 pim(processing-in-memory) 연산을 수행하기 위한 방법, 및 관련 메모리 디바이스 및 시스템 | |
US10153042B2 (en) | In-memory computational device with bit line processors | |
US10210935B2 (en) | Associative row decoder | |
KR102653014B1 (ko) | 인-메모리-컴퓨팅에 대한 데이터 배치를 위한 방법 및 상기 방법이 적용된 메모리 모듈 | |
US10185674B2 (en) | Apparatus and methods for in data path compute operations | |
KR102780370B1 (ko) | Pim(processing-in-memory) 연산 수행 방법, 및 관련 메모리 디바이스 및 시스템 | |
CN111656339B (zh) | 存储器装置及其控制方法 | |
US11605420B2 (en) | Memory with artificial intelligence mode | |
US11573705B2 (en) | Artificial intelligence accelerator | |
KR102748984B1 (ko) | 메모리 장치 및 그 동작 방법 | |
US20240257851A1 (en) | Memory device and method of operating the same | |
CN118412029A (zh) | 存储器装置以及操作存储器装置的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20230526 |
|
PA0201 | Request for examination |
Patent event code: PA02011R01I Patent event date: 20230526 Comment text: Patent Application |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20240827 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20241007 |
|
PG1601 | Publication of registration |