1 |
1
비휘발성 메모리를 포함하는 메모리 모듈 및 프로세서를 포함하는 컴퓨팅 장치의 지속성 지원 방법으로서,파워 오류 시에 정지 절차를 수행하는 단계를 포함하며,상기 정지 절차를 수행하는 단계는,실행 중인 프로세스 태스크를 스케줄링에서 제외하는 단계,상기 프로세스 태스크의 상태를 상기 메모리 모듈의 프로세스 제어 블록에 저장하는 단계,상기 프로세서의 캐시를 플러시하는 단계, 그리고계류 중인 메모리 요청을 플러시하는 단계를 포함하는 지속성 지원 방법
|
2 |
2
제1항에서,파워 복구 시에 계속 절차를 수행하는 단계를 더 포함하며,상기 계속 절차를 수행하는 단계는 상기 프로세스 제어 블록에 기초해서 프로세스 태스크를 스케줄링하는 단계를 포함하는 지속성 지원 방법
|
3 |
3
제2항에서,상기 정지 절차를 수행하는 단계는, 상기 정지 절차와 상기 계속 절차를 수행하기 위한 프로그램과 관련된 레지스터를 상기 메모리 모듈에 저장하는 단계를 더 포함하는 지속성 지원 방법
|
4 |
4
제3항에서,상기 계속 절차를 수행하는 단계는 상기 레지스터를 상기 메모리 모듈로부터 복원하는 단계를 더 포함하는 지속성 지원 방법
|
5 |
5
제1항에서,상기 정지 절차를 수행하는 단계는주변 장치 관련 메모리 영역으로부터 주변 장치 정보를 읽는 단계, 그리고상기 주변 장치 정보를 상기 메모리 모듈의 장치 컨텍스트에 기록하는 단계를 더 포함하는 지속성 지원 방법
|
6 |
6
제5항에서,파워 복구 시에 계속 절차를 수행하는 단계를 더 포함하며,상기 계속 절차를 수행하는 단계는 상기 장치 컨텍스트를 읽어서 상기 주변 장치 정보를 복원하는 단계를 포함하는지속성 지원 방법
|
7 |
7
제1항에서,상기 프로세서는 복수의 코어 타일을 포함하고, 상기 복수의 코어 타일은 마스터 타일과 워커 타일을 포함하며,상기 실행 중인 프로세스 태스크를 스케줄링에서 제외하는 단계는상기 마스터 타일에서 상기 정지 절차를 구현하는 커널 프로세서를 제외한 실행 중인 프로세스 태스크를 제외하는 단계, 그리고상기 워커 타일에서 실행 중인 프로세스 태스크를 제외하는 단계를 포함하는지속성 지원 방법
|
8 |
8
제7항에서,상기 정지 절차를 수행하는 단계는, 상기 메모리 요청을 플러시하는 단계 이후에,상기 워커 타일에서 상기 마스터 타일로 오프라인을 보고하고 전원을 끄는 단계, 그리고상기 워커 타일로부터 상기 오프라인을 보고받으면 상기 마스터 타일에서 컨텍스트를 전환하는 단계를 더 포함하는지속성 지원 방법
|
9 |
9
제8항에서,상기 컨텍스트를 전환하는 단계는 시스템 레벨 예외를 발생시켜서 상기 컨텍스트를 커널에서 보호 모드의 부트로더로 전환하는 단계를 포함하는 지속성 지원 방법
|
10 |
10
제9항에서,상기 정지 절차를 수행하는 단계는, 상기 보호 모드에서, 시스템을 재실행할 리턴 주소를 상기 메모리 모듈에 저장하는 단계를 더 포함하는 지속성 지원 방법
|
11 |
11
제1항에서,상기 정지 절차를 수행하는 단계는시스템 레벨 예외를 발생시켜 컨텍스트를 커널에서 보호 모드의 부트로더로 전환하는 단계, 그리고상기 보호 모드에서 상기 캐시를 플러시하는 제1 플러시 명령 및 상기 메모리 요청을 플러시하는 제2 플러시 명령을 실행하는 단계를 더 포함하는지속성 지원 방법
|
12 |
12
제1항에서,상기 실행 중인 프로세스 태스크를 스케줄링에서 제외하는 단계는 상기 실행 중인 프로세스 태스크를 유휴 태스크로 대체하는 단계를 포함하는 지속성 지원 방법
|
13 |
13
제12항에서,상기 정지 절차를 수행하는 단계는 상기 유휴 태스크를 참조하는 커널 포인터를 지우는 단계를 더 포함하는 지속성 지원 방법
|
14 |
14
제13항에서,파워 복구 시에 계속 절차를 수행하는 단계를 더 포함하며,상기 계속 절차를 수행하는 단계는 커널 포인터를 유휴 태스크로 돌린 후에, 상기 프로세스 제어 블록에 기초해서 프로세스 태스크를 스케줄링하는 단계를 포함하는지속성 지원 방법
|
15 |
15
제1항에서,상기 프로세서의 캐시를 플러시하는 단계는 상기 메모리 모듈의 메모리 영역의 확인 없이 사용자 레벨에서 상기 캐시를 플러시하는 단계를 더 포함하는 지속성 지원 방법
|
16 |
16
비휘발성 메모리를 포함하는 메모리 모듈, 그리고상기 메모리 모듈에 저장된 명령어를 실행함으로써, 파워 오류 시에 정지 절차를 수행하는 프로세서를 포함하며,상기 프로세서는, 상기 정지 절차에서,실행 중인 프로세스 태스크를 스케줄링에서 제외하고,상기 프로세스 태스크의 상태를 상기 메모리 모듈의 프로세스 제어 블록에 저장하고,상기 프로세서의 캐시를 플러시하고,계류 중인 메모리 요청을 플러시하는컴퓨팅 장치
|
17 |
17
컴퓨팅 장치의 프로세서로부터의 메모리 요청을 스케줄링하는 스케줄러, 그리고상기 컴퓨팅 장치의 시스템 메모리로 사용되는 비휘발성 메모리 모듈의 메모리 공간을 관리하며, 상기 프로세서로부터 제1 플러시 명령이 있는 경우 데이터 및 계류 중인 메모리 요청을 상기 메모리 모듈로 플러시하여 상기 프로세서와 상기 비휘발성 메모리 사이에서 지속성을 지원하는 메모리 컨트롤러를 포함하는 지속성 지원 장치
|
18 |
18
제17항에서,상기 프로세서는 RISC-V(reduced instruction set computer five) 코어 타일을 포함하는 지속성 지원 장치
|
19 |
19
제17항에서,상기 메모리 컨트롤러는 상기 프로세서로부터의 제2 플러시 명령에 응답하여서 상기 프로세서의 캐시 라인의 데이터가 플러시되는 버퍼를 더 포함하는 지속성 지원 장치
|
20 |
20
제17항에서,상기 제1 플러시 명령을 유지하는 레지스터를 더 포함하며,상기 메모리 컨트롤러는 상기 레지스터를 참조하여서 상기 제1 플러시 명령이 있는지 확인하는지속성 지원 장치
|
21 |
21
제17항에서,상기 메모리 컨트롤러는,버퍼,상기 메모리 모듈과의 인터페이스를 위한 메모리 인터페이스 로직, 그리고상기 메모리 요청 중 쓰기 요청을 수신하면, 상기 메모리 인터페이스 로직을 통해 상태 읽기 요청을 상기 메모리 모듈로 발행하고, 상기 메모리 모듈에서 상기 쓰기 요청이 대상 영역이 사용 가능하지 않은 경우 상기 쓰기 요청을 상기 버퍼에 저장하는 버퍼 관리자를 포함하는 지속성 지원 장치
|
22 |
22
제21항에서,상기 버퍼 관리자는 상기 대상 영역이 사용 가능한 경우 상기 쓰기 요청을 상기 메모리 인터페이스 로직을 통해 상기 메모리 모듈로 발행하는, 지속성 지원 장치
|
23 |
23
제17항에서,상기 메모리 모듈은 복수의 메모리 모듈을 포함하며,상기 메모리 컨트롤러는 상기 복수의 메모리 모듈에 각각 대응하는 복수의 메모리 컨트롤러를 포함하고,상기 스케줄러는 메모리 요청을 상기 복수의 메모리 컨트롤러에 걸쳐 스트라이핑 및/또는 인터리빙하는지속성 지원 장치
|
24 |
24
컴퓨팅 장치에 의해 실행되며, 기록 매체에 저장되어 있는 컴퓨터 프로그램으로서,상기 컴퓨터 프로그램은, 상기 컴퓨팅 장치가,파워 오류 시에,실행 중인 프로세스 태스크를 스케줄링에서 제외하는 처리,상기 프로세스 태스크의 상태를 비휘발성 메모리를 포함하는 메모리 모듈의 프로세스 제어 블록에 저장하는 처리,상기 프로세서의 캐시를 플러시하는 처리, 그리고계류 중인 메모리 요청을 플러시하는 처리를 실행하도록 하는 컴퓨터 프로그램
|