1 |
1
중앙 프로세싱 유닛(central processing unit, CPU)과 시스템 메모리를 포함하는 호스트에 연결되도록 구성되어 있으며, 상기 호스트에서 전달되는 커널을 실행하는 플래시 기반 가속기로서,플래시 메모리 및 플래시 컨트롤러를 포함하는 플래시 백본,복수의 커널을 실행하는 복수의 프로세서,각 커널의 데이터 섹션을 상기 플래시 메모리로 매핑하는데 사용되는 제1 메모리를 포함하는 메모리 시스템,상기 복수의 프로세서 중 제1 프로세서에서의 제1 커널의 실행에 따라 전달되는 제1 메시지를 기초로, 상기 제1 커널의 데이터 섹션이 포인트하는 상기 제1 메모리의 영역을 상기 플래시 메모리의 영역으로 매핑하여 상기 제1 메모리의 영역과 상기 플래시 메모리의 영역 사이에서 제1 데이터를 전달시키는 관리 프로세서, 그리고상기 플래시 백본, 상기 메모리 시스템, 상기 복수의 프로세서 및 상기 관리 프로세서를 통합하는 네트워크를 포함하는 플래시 기반 가속기
|
2 |
2
제1항에서,상기 호스트의 운영 체제(operating system, OS)의 도움 없이 상기 제1 메모리와 상기 플래시 메모리 사이에서 상기 제1 데이터가 이동되는 플래시 기반 가속기
|
3 |
3
제1항에서,전형적인 컴퓨팅 장치에서 사용하는 명령어 세트 아키텍처(instruction set architecture)의 변경 없이 상기 제1 메모리와 상기 플래시 메모리 사이에서 상기 제1 데이터가 이동되는 플래시 기반 가속기
|
4 |
4
제1항에서,상기 관리 프로세서는 상기 플래시 메모리의 영역을 지시하는 메모리 요청을 상기 플래시 컨트롤러로 전달하고,상기 플래시 컨트롤러가 상기 메모리 요청에 따라 상기 제1 메모리의 영역과 상기 플래시 메모리의 영역 사이에서 상기 제1 데이터를 전달하는 플래시 기반 가속기
|
5 |
5
제4항에서,상기 제1 프로세서는 전형적인 로드/저장 명령어(load/store instruction)의 변경 없이 상기 메모리 요청을 통해 상기 플래시 백본에 액세스하는 플래시 기반 가속기
|
6 |
6
제1항에서,상기 제1 커널이 상기 플래시 메모리로부터 상기 제1 데이터를 읽는 경우, 상기 제1 메시지는 상기 제1 커널의 데이터 섹션의 포인터와 워드 또는 바이트 기반 어드레스를 포함하며,상기 관리 프로세서는 상기 워드 또는 바이트 기반 어드레스를 상기 플래시 메모리에서의 물리적 어드레스로 변환하며, 상기 메모리 시스템은 상기 워드 또는 바이트 기반 어드레스를 상기 플래시 메모리에서의 물리적 어드레스로 변환하기 위한 매핑 정보를 저장하는 제2 메모리를 더 포함하는 플래시 기반 가속기
|
7 |
7
제6항에서,상기 매핑 정보는 상기 워드 또는 바이트 기반 어드레스에 대응하는 논리적 페이지 그룹 번호와 상기 물리적 어드레스에 대응하는 물리적 페이지 그룹 번호 사이의 매핑 정보를 포함하는 플래시 기반 가속기
|
8 |
8
제6항에서,상기 워드 또는 바이트 기반 어드레스의 범위가 다른 커널에 의해 쓰기 용으로 사용되고 있는 어드레스의 범위와 겹치는 경우, 상기 관리 프로세서는 제1 메시지의 처리를 차단하는 플래시 기반 가속기
|
9 |
9
제6항에서,상기 복수의 프로세서 중 제2 프로세서는 제2 커널의 실행에 따라 상기 플래시 메모리로 제2 데이터를 쓰기 위한 제2 메시지를 상기 관리 프로세서로 전달하고,상기 제2 메시지는 상기 제2 커널의 데이터 섹션의 포인터를 포함하고,상기 관리 프로세서는, 상기 제2 메시지를 위해 상기 플래시 메모리의 새로운 영역을 할당하여 상기 제2 커널의 데이터 섹션이 포인트하는 상기 제1 메모리의 영역에서 상기 플래시 메모리의 새로운 영역으로 상기 제2 데이터를 전달시키는플래시 기반 가속기
|
10 |
10
제9항에서,상기 관리 프로세서는 상기 플래시 메모리의 새로운 영역을 지시하는 메모리 요청을 상기 플래시 컨트롤러로 전달하고,상기 플래시 컨트롤러가 상기 메모리 요청에 따라 상기 제2 커널의 데이터 섹션이 포인트하는 상기 제1 메모리의 영역에서 상기 플래시 메모리의 새로운 영역으로 상기 제2 데이터를 전달하는 플래시 기반 가속기
|
11 |
11
제9항에서,상기 관리 프로세서는 상기 플래시 메모리의 새로운 영역에 대응하는 물리적 어드레스와 상기 제2 메시지에 포함된 워드 또는 바이트 기반 어드레스를 기초로 상기 매핑 정보를 갱신하는 플래시 기반 가속기
|
12 |
12
제9항에서,상기 제2 메시지에 포함된 워드 또는 바이트 기반 어드레스의 범위가 다른 커널에 의해 읽기 용으로 사용되고 있는 어드레스의 범위와 겹치는 경우, 상기 관리 프로세서는 제2 메시지의 처리를 차단하는 플래시 기반 가속기
|
13 |
13
제9항에서,상기 관리 프로세서는 이전 쓰기에 사용된 물리적 페이지 그룹 번호를 증가시켜서 상기 새로운 영역에 대응하는 물리적 페이지 그룹 번호를 할당하는 플래시 기반 가속기
|
14 |
14
제9항에서,저장 프로세서를 더 포함하며,상기 관리 프로세서는, 상기 플래시 메모리에서 사용 가능한 물리적 페이지 그룹 번호가 없는 경우, 상기 새로운 영역에 대응하는 물리적 페이지 그룹 번호를 할당하기 위해 물리 블록을 회수(reclaim)하기 위한 요청을 상기 저장 프로세서로 전달하고,상기 저장 프로세서는 상기 플래시 메모리의 공간에서 희생(victim) 블록을 선택해서 상기 물리 블록을 회수하는 플래시 기반 가속기
|
15 |
15
제14항에서,상기 저장 프로세서는 상기 제2 메모리의 스냅샷을 저널링하는 플래시 기반 가속기
|
16 |
16
제1항 내지 제15항 중 어느 한 항에 기재된 플래시 기반 가속기,상기 호스트, 그리고상기 플래시 기반 가속기를 상기 호스트에 연결하는 인터페이스를 포함하는 컴퓨팅 디바이스
|
17 |
17
중앙 프로세싱 유닛(central processing unit, CPU)과 시스템 메모리를 포함하는 호스트에 연결되도록 구성되어 있으며, 상기 호스트에서 전달되는 커널을 실행하는 플래시 기반 가속기로서,플래시 메모리 및 플래시 컨트롤러를 포함하는 플래시 백본,복수의 커널을 실행하는 복수의 프로세서,각 커널의 데이터 섹션을 상기 플래시 메모리로 매핑하는데 사용되는 제1 메모리 및 상기 데이터 섹션에 의해 포인트되는 상기 제1 메모리의 영역에 매핑되는 워드 또는 바이트 기반 어드레스를 상기 플래시 메모리에서의 물리적 어드레스로 변환하기 위한 매핑 정보를 저장하는 제2 메모리를 포함하는 메모리 시스템,각 커널의 실행에 따라 상기 플래시 메모리에서 읽기 데이터를 읽는 경우, 상기 매핑 정보에 기초해서 상기 워드 또는 바이트 기반 어드레스를 상기 플래시 메모리에서의 물리적 어드레스로 변환하고, 상기 플래시 메모리로부터 상기 읽기 데이터를 상기 제1 메모리의 영역으로 이동시키도록 메모리 요청을 상기 플래시 컨트롤러로 전달하는 관리 프로세서, 그리고상기 플래시 백본, 상기 메모리 시스템, 상기 복수의 프로세서 및 상기 관리 프로세서를 통합하는 네트워크를 포함하는 플래시 기반 가속기
|
18 |
18
제17항에서,상기 호스트의 운영 체제(operating system, OS)의 도움 없이 상기 제1 메모리와 상기 플래시 메모리 사이에서 상기 읽기 데이터가 이동되는 플래시 기반 가속기
|
19 |
19
제17항에서,전형적인 컴퓨팅 장치에서 사용하는 명령어 세트 아키텍처(instruction set architecture)의 변경 없이 상기 제1 메모리와 상기 플래시 메모리 사이에서 상기 읽기 데이터가 이동되는 플래시 기반 가속기
|
20 |
20
제17항에서,각 프로세서는 전형적인 로드/저장 명령어(load/store instruction)의 변경 없이 상기 메모리 요청을 통해 상기 플래시 백본에 액세스하는 플래시 기반 가속기
|