연산 정확도가 보장된 인메모리 연산 장치 및 동작 방법
AN IN-MEMORY PROCESSING DEVICE CAPABLE OF GUARANTEEING THE CORRECTNESS OF COMPUTATIONS ON AND METHOD THEREOF
특허 요약
본 발명은 인메모리 연산 아키텍처에서 메모리 뱅크 간 명령어의 순서가 바뀌는 경우에도 연산기에 입력되는 피연산자를 정확하게 지정함으로써 연산 결과의 정확도를 보장하는 인메모리 연산 장치 및 방법에 관한 것이다. 본 출원의 실시 예에 따른 메모리 장치는, 인메모리 연산을 수행하는 메모리 장치로서, 상기 입력신호를 수신하는 PIM IU(Processing In Memory Interface Unit); 및 상기 입력신호를 수신하고, 복수의 제1 단위 데이터를 포함하는 제1 피연산 데이터 및 복수의 제2 단위 데이터를 포함하는 제2 피연산 데이터에 기초하여 상기 인메모리 연산을 수행하는 복수의 메모리 뱅크를 포함하며, 상기 PIM IU는 상기 어드레스 신호 중 상기 제1 피연산 데이터의 인덱스 정보를 지시하는 일부 비트를 상기 복수의 메모리 뱅크 각각으로 전달하고, 상기 복수의 메모리 뱅크 각각은 상기 제1 피연산 데이터에 포함된 복수의 제1 단위 데이터를 순차적으로 읽어와서 상기 제2 피연산 데이터와 연산하되, 상기 제2 피연산 데이터의 인덱스를 상기 일부 비트를 참조하여 결정한다.
청구항
번호청구항
1

인메모리 연산을 수행하는 메모리 장치로서,메모리 컨트롤러에서 출력하는 데이터(Data), 커맨드(Command) 및 어드레스(Address) 신호를 포함하는 입력신호를 입력 받는 입출력단;상기 입력신호를 수신하는 PIM IU(Processing In Memory Interface Unit); 및상기 입력신호를 수신하고, 복수의 제1 단위 데이터를 포함하는 제1 피연산 데이터 및 복수의 제2 단위 데이터를 포함하는 제2 피연산 데이터에 기초하여 상기 인메모리 연산을 수행하는 복수의 메모리 뱅크를 포함하며,상기 PIM IU는 상기 어드레스 신호 중 상기 제1 피연산 데이터의 인덱스 정보를 지시하는 일부 비트를 상기 복수의 메모리 뱅크 각각으로 전달하고,상기 복수의 메모리 뱅크 각각은 상기 제1 피연산 데이터에 포함된 복수의 제1 단위 데이터를 순차적으로 읽어와서 상기 제2 피연산 데이터와 연산하되, 상기 제2 피연산 데이터의 인덱스를 상기 일부 비트를 참조하여 결정하는 메모리 장치.

2

제1 항에 있어서, 상기 복수의 메모리 뱅크 각각은 PIM 연산 유닛을 포함하고,상기 PIM 연산 유닛은:상기 복수의 제1 단위 데이터를 저장하는 제1 레지스터 및 상기 복수의 제2 단위 데이터 중 하나를 저장하는 제2 레지스터;상기 제1 레지스터 및 상기 제2 레지스터로부터 상기 복수의 제1 단위 데이터 및 상기 복수의 제2 단위 데이터 중 하나를 전달받아 연산하고 연산 결과를 생성하는 연산기; 및상기 연산기로부터 상기 연산 결과를 전달받아 저장하는 제3 레지스터를 포함하는 메모리 장치.

3

제2 항에 있어서,상기 복수의 제1 단위 데이터 각각은 복수의 제1 요소 데이터를 포함하고,상기 복수의 제2 단위 데이터 각각은 복수의 제2 요소 데이터를 포함하며,상기 복수의 메모리 뱅크 각각은 순차적인 복수의 시간 구간 마다 상기 복수의 제2 요소 데이터 중 하나를 상기 복수의 제1 요소 데이터와 순차적으로 연산하는 메모리 장치.

4

제3 항에 있어서,상기 복수의 시간 구간 각각에 해당하는 제1 단위 데이터의 순서가 상기 복수의 시간 구간 각각의 순서와 불일치할 때,상기 PIM IU는 상기 복수의 시간 구간 중 임의의 n번째(n은 0 이상의 정수) 시간 구간에 해당하는 메모리 어드레스 신호의 일부 비트를 상기 PIM 연산 유닛으로 전달하고,상기 PIM 연산 유닛은 상기 일부 비트를 참조하여 상기 제2 레지스터의 데이터 중 상기 연산기에 입력할 제2 요소 데이터를 결정하는 메모리 장치.

5

제1 항에 있어서,상기 복수의 메모리 뱅크 각각은 복수의 메모리 셀 어레이를 포함하고,상기 어드레스 신호는 상기 복수의 메모리 셀 어레이 각각에 대한 주소 정보, 상기 복수의 메모리 뱅크 각각에 대한 주소 정보 및 오프셋 정보를 포함하고,상기 일부 비트는 상기 오프셋 정보에 대응되는 비트로부터 k번째(여기서, k는 자연수임) 비트까지의 비트 구간을 포함하는 메모리 장치.

6

인메모리 연산을 수행하는 메모리 장치의 동작 방법으로서,메모리 컨트롤러에서 출력하는 데이터, 커맨드 및 어드레스 신호를 포함하는 입력신호를 입력 받는 단계;상기 어드레스 신호 중 제1 피연산 데이터의 인덱스 정보를 지시하는 일부 비트를 복수의 메모리 뱅크 각각으로 전달하는 단계; 및상기 제1 피연산 데이터에 포함된 복수의 제1 단위 데이터를 순차적으로 읽어와서 제2 피연산 데이터와 연산하되, 상기 제2 피연산 데이터의 인덱스를 상기 일부 비트를 참조하여 결정하는 단계; 및상기 복수의 제1 단위 데이터를 포함하는 상기 제1 피연산 데이터 및 복수의 제2 단위 데이터를 포함하는 상기 제2 피연산 데이터에 기초하여 상기 인메모리 연산을 수행하는 단계를 포함하는 메모리 장치 동작 방법.

7

제6 항에 있어서,제1 레지스터 및 제2 레지스터로부터 복수의 제1 단위 데이터 및 복수의 제2 단위 데이터 중 하나를 전달받아 연산하고,제3 레지스터가 연산 결과를 전달받아 저장하는 단계를 포함하는 메모리 장치 동작 방법.

8

제7 항에 있어서,상기 복수의 제1 단위 데이터 각각은 복수의 제1 요소 데이터를 포함하고,상기 복수의 제2 단위 데이터 각각은 복수의 제2 요소 데이터를 포함하며,복수의 메모리 뱅크 각각에서 순차적인 복수의 시간 구간 마다 상기 복수의 제2 요소 데이터 중 하나를 상기 복수의 제1 요소 데이터와 순차적으로 연산하는 단계를 포함하는 메모리 장치 동작 방법.

9

제8 항에 있어서,상기 복수의 시간 구간 각각에 해당하는 제1 단위 데이터의 순서가 상기 복수의 시간 구간 각각의 순서와 불일치할 때,임의의 n번째(n은 0 이상의 정수) 시간 구간에 해당하는 메모리 어드레스 신호의 일부 비트를 PIM 연산 유닛으로 전달하고,상기 PIM 연산 유닛이 상기 일부 비트를 참조하여 상기 PIM 연산 유닛의 제2 레지스터의 데이터 중 연산기에 입력할 제2 요소 데이터를 결정하는 단계를 포함하는 메모리 장치 동작 방법.

10

제6 항에 있어서,상기 어드레스 신호는 상기 복수의 메모리 뱅크 각각에 포함되는 복수의 메모리 셀 어레이 각각에 대한 주소 정보, 상기 복수의 메모리 뱅크 각각에 대한 주소 정보 및 오프셋 정보를 포함하고,상기 일부 비트는 상기 오프셋 정보에 대응되는 비트로부터 k번째(여기서, k는 자연수임) 비트까지의 비트 구간을 포함하는 메모리 장치 동작 방법.