1 |
1
중앙 프로세싱 유닛(central processing unit, CPU)과 시스템 메모리를 포함하는 호스트에 연결되도록 구성된 저항 변화 메모리 기반 가속기로서,상기 호스트에서 오프로드되는 커널을 저장하는 저항 변화 메모리(resistance switching memory) 모듈,복수의 프로세싱 엘리먼트를 포함하며, 상기 복수의 프로세싱 엘리먼트 중 타깃 프로세싱 엘리먼트에서 상기 커널을 실행하는 가속기 코어,상기 타깃 프로세싱 엘리먼트에서 상기 커널의 실행에 따라 생성된 메모리 요청을 관리하는 메모리 컨트롤러 유닛(memory controller unit, MCU),상기 저항 변화 메모리 모듈에 연결되어 있으며, 상기 MCU로부터 전달되는 상기 메모리 요청에 따라 상기 저항 변화 메모리 모듈과 상기 타깃 프로세싱 엘리먼트 사이에서 상기 메모리 요청에 따른 데이터를 이동시키는 메모리 컨트롤러, 그리고상기 가속기 코어, 상기 복수의 프로세싱 엘리먼트 및 상기 메모리 컨트롤러를 통합하는 네트워크를 포함하는 저항 변화 메모리 기반 가속기
|
2 |
2
제1항에서,상기 호스트의 운영 체제(operation system, OS)의 도움 없이 상기 저항 변화 메모리 모듈과 상기 타깃 프로세싱 엘리먼트 사이에서 상기 메모리 요청에 따른 데이터가 이동되는 저항 변화 메모리 기반 가속기
|
3 |
3
제1항에서,상기 타깃 프로세싱 엘리먼트는 전형적인 로드/저장 명령어(load/store instruction)의 변경 없이 상기 메모리 요청을 통해 상기 저항 변화 메모리 모듈에 액세스하는 저항 변화 메모리 기반 가속기
|
4 |
4
제1항에서,상기 MCU는 상기 복수의 프로세싱 엘리먼트 이외의 프로세싱 엘리먼트에 포함되는 저항 변화 메모리 기반 가속기
|
5 |
5
제1항에서,상기 MCU는 상기 타깃 프로세싱 엘리먼트에 포함되어 있는 저항 변화 메모리 기반 가속기
|
6 |
6
제1항에서,상기 저항 변화 메모리 모듈은, 복수의 파티션으로 분할되어 있는 복수의 저항 변화 메모리 셀을 포함하는 메모리 셀 어레이, 그리고 복수의 행 데이터 버퍼를 포함하며,상기 복수의 파티션은 제1 파티션 및 제2 파티션을 포함하고,상기 복수의 행 데이터 버퍼는 제1 행 데이터 버퍼 및 제2 행 데이터 버퍼를 포함하며,상기 메모리 컨트롤러는, 제1 메모리 요청에 따라 상기 제1 파티션으로부터 상기 제1 행 데이터 버퍼로 데이터를 가지고 오는 동작과, 제2 메모리 요청에 따라 상기 제2 파티션으로부터 상기 제2 행 데이터 버퍼로 이동되어 있는 데이터를 상기 제2 메모리 요청의 타깃 프로세싱 엘리먼트로 이동하는 동작을 병렬로 처리하는 저항 변화 메모리 기반 가속기
|
7 |
7
제1항에서,상기 저항 변화 메모리 모듈은,복수의 파티션으로 분할되어 있는 복수의 저항 변화 메모리 셀을 포함하는 메모리 셀 어레이,복수의 행 어드레스 버퍼, 그리고복수의 행 데이터 버퍼를 포함하고,상기 메모리 컨트롤러는 3단계 어드레싱을 수행하며,상기 3단계 어드레싱은,상기 메모리 요청에 따라 상기 저항 변화 메모리 모듈에 액세스하기 위한 행 어드레스 중 상위 어드레스를 상기 복수의 행 어드레스 버퍼 중 타깃 행 어드레스 버퍼에 저장하는 프리액티브 단계,읽기 명령의 경우, 상기 행 어드레스 중 하위 어드레스와 상기 타깃 행 어드레스 버퍼에 저장된 상기 상위 어드레스를 결합한 행 어드레스에 기초하여 상기 메모리 셀 어레이로부터 상기 복수의 행 데이터 버퍼 중 타깃 행 데이터 버퍼로 상기 데이터를 가지고 오는 액티브 단계, 그리고상기 타깃 행 데이터 버퍼로부터 상기 데이터를 상기 타깃 프로세싱 엘리먼트로 전달하는 읽기/쓰기 단계를 포함하는저항 변화 메모리 기반 가속기
|
8 |
8
제7항에서,상기 저항 변화 메모리 모듈은, 일련의 제어 레지스터와 프로그램 버퍼를 포함하는 오버레이 윈도우를 더 포함하며,쓰기 명령의 경우, 상기 액티브 단계에서 상기 행 어드레스가 상기 오버레이 윈도우의 어드레스 범위 내에 있는 경우 타깃 데이터가 상기 프로그램 버퍼에 저장되고, 상기 읽기/쓰기 단계에서 상기 프로그램 버퍼에 저장된 상기 타깃 데이터가 상기 메모리 셀 어레이로 프로그램되는저항 변화 메모리 기반 가속기
|
9 |
9
제8항에서,상기 복수의 파티션은 제1 파티션 및 제2 파티션을 포함하고,상기 메모리 컨트롤러는, 제1 메모리 요청에 따라 상기 제1 파티션을 위한 상기 프리액티브 단계 및 상기 액티브 단계를 수행하는 동안, 제2 메모리 요청에 따라 상기 제2 파티션을 위한 상기 읽기/쓰기 단계가 수행하는 저항 변화 메모리 기반 가속기
|
10 |
10
제1항에서,상기 저항 변화 메모리 모듈은 복수의 저항 변화 메모리 셀을 포함하는 메모리 셀 어레이를 포함하며,상기 메모리 컨트롤러는 상기 커널의 실행에 의해 오버라이트될 상기 메모리 셀 어레이의 어드레스를 리셋 상태로 설정하는 선택적 소거를 수행하는 저항 변화 메모리 기반 가속기,
|
11 |
11
제10항에서,상기 메모리 컨트롤러는 상기 커널의 실행 전에 상기 선택적 소거를 수행하는 저항 변화 메모리 기반 가속기
|
12 |
12
제1항에서,상기 MCU는, 상기 커널의 실행을 위해 상기 저항 변화 메모리 모듈에 저장된 상기 커널의 메모리 어드레스를 상기 타깃 프로세싱 엘리먼트의 캐시에 부트 어드레스로 저장하는 저항 변화 메모리 기반 가속기
|
13 |
13
제12항에서,상기 프로세싱 엘리먼트의 슬립 모드를 제어하는 파워 슬립 컨트롤러를 더 포함하며,상기 MCU는 상기 커널의 메모리 어드레스를 상기 타깃 프로세싱 엘리먼트에 저장하기 전에 상기 파워 슬립 컨트롤러를 통해 상기 타깃 프로세싱 엘리먼트를 슬립 모드로 전환하고, 상기 커널의 메모리 어드레스를 상기 타깃 프로세싱 엘리먼트에 저장한 후에 상기 파워 슬립 컨트롤러를 통해 상기 프로세싱 엘리먼트를 깨우는저항 변화 메모리 기반 가속기
|
14 |
14
제1항에서,상기 타깃 프로세싱 엘리먼트는L2 캐시,상기 MCU에 연결되어 있으며, 상기 메모리 요청을 생성하여 상기 MCU로 전달하는 제1 온칩 메모리 컨트롤러, 그리고상기 L2 캐시에 연결되어 있으며, 상기 L2 캐시와 상기 저항 변화 메모리 모듈 사이에서 상기 데이터를 이동시키는 제2 온칩 메모리 컨트롤러를 포함하는 저항 변화 메모리 기반 가속기
|
15 |
15
제1항에서,상기 저항 변화 메모리 모듈은 상변화 메모리(phase-change memory) 모듈, 저항성 메모리(resistive memory) 모듈 또는 자기저항 메모리(magnetoresistive memory) 모듈을 포함하는 저항 변화 메모리 기반 가속기
|
16 |
16
중앙 프로세싱 유닛(central processing unit, CPU)과 시스템 메모리를 포함하는 호스트에 연결되도록 구성된 저항 변화 메모리 기반 가속기로서,상기 호스트에서 오프로드되는 커널을 저장하며, 복수의 파티션으로 분할되어 있는 복수의 저항 변화 메모리 셀 및 복수의 행 데이터 버퍼를 포함하는 저항 변화 메모리(resistance switching memory) 모듈,복수의 프로세싱 엘리먼트를 포함하며, 상기 복수의 프로세싱 엘리먼트 중 타깃 프로세싱 엘리먼트에서 상기 커널을 실행하는 가속기 코어,상기 타깃 프로세싱 엘리먼트에서 상기 커널의 실행에 따라 생성된 메모리 요청을 관리하는 메모리 컨트롤러 유닛(memory controller unit, MCU),상기 저항 변화 메모리 모듈에 연결되어 있으며, 상기 MCU로부터 전달되는 상기 메모리 요청에 따라 상기 저항 변화 메모리 모듈과 상기 타깃 프로세싱 엘리먼트 사이에서 상기 메모리 요청에 따른 데이터 이동을 관리하며, 상기 복수의 파티션 중 제1 파티션에서 상기 복수의 행 데이터 버퍼 중 제1 행 데이터 버퍼로 제1 데이터를 가지고 오는 동작과, 상기 복수의 행 데이터 버퍼 중 제2 행 데이터 버퍼에서 상기 타깃 프로세싱 엘리먼트로 제2 데이터를 이동하는 동작을 병렬로 처리하는 메모리 컨트롤러, 그리고상기 가속기 코어, 상기 복수의 프로세싱 엘리먼트 및 상기 메모리 컨트롤러를 통합하는 네트워크를 포함하는 저항 변화 메모리 기반 가속기
|
17 |
17
제16항에서,상기 제1 데이터는 상기 제1 파티션에서 상기 제2 행 데이터 버퍼로 상기 제2 데이터를 가지고 오기 전에 상기 복수의 파티션 중 제2 파티션에서 상기 제1 행 데이터 버퍼로 이동되어 있는 저항 변화 메모리 기반 가속기
|
18 |
18
제16항에서,상기 메모리 컨트롤러는 프리액티브 단계, 액티브 단계 및 읽기/쓰기 단계를 포함하는 3단계 어드레싱을 수행하며,상기 제1 데이터를 위한 상기 프리액티브 단계와 상기 액티브 단계가 수행되는 동안, 상기 제2 데이터를 위한 상기 읽기/쓰기 단계가 수행되는저항 변화 메모리 기반 가속기
|
19 |
19
중앙 프로세싱 유닛(central processing unit, CPU)과 시스템 메모리를 포함하는 호스트에 연결되도록 구성된 저항 변화 메모리 기반 가속기로서,상기 호스트에서 오프로드되는 커널을 저장하며, 복수의 저항 변화 메모리 셀을 포함하는 메모리 셀 어레이를 포함하는 저항 변화 메모리(resistance switching memory) 모듈,복수의 프로세싱 엘리먼트를 포함하며, 상기 복수의 프로세싱 엘리먼트 중 타깃 프로세싱 엘리먼트에서 상기 커널을 실행하는 가속기 코어,상기 타깃 프로세싱 엘리먼트에서 상기 커널의 실행에 따라 생성된 메모리 요청을 관리하는 메모리 컨트롤러 유닛(memory controller unit, MCU),상기 저항 변화 메모리 모듈에 연결되어 있으며, 상기 MCU로부터 전달되는 상기 메모리 요청에 따라 상기 저항 변화 메모리 모듈과 상기 타깃 프로세싱 엘리먼트 사이에서 상기 메모리 요청에 따른 데이터 이동을 관리하며, 상기 타깃 프로세싱 엘리먼트에서 상기 커널을 실행하기 전에 상기 커널의 실행에 의해 오버라이트될 상기 메모리 셀 어레이의 어드레스를 소정의 데이터로 프로그램하는 메모리 컨트롤러, 그리고상기 가속기 코어, 상기 복수의 프로세싱 엘리먼트 및 상기 메모리 컨트롤러를 통합하는 네트워크를 포함하는 저항 변화 메모리 기반 가속기
|
20 |
20
제19항에서,상기 소정의 데이터는 상기 어드레스에 대응하는 저항 변화 메모리 셀을 리셋 상태로 설정하는 데이터인 저항 변화 메모리 기반 가속기
|