영구 메모리의 영구적 저장 순서를 제공하기 위한 캐시에서의 메모리 관리 장치 및 그 방법
Memory management apparatus in cache for providing a persistent-consistency of persistent memories and method thereof
특허 요약
본 발명은 영구 메모리의 영구적 저장 순서를 제공하기 위한 캐시에서의 메모리 관리 장치 및 그 방법을 개시한다. 즉, 본 발명은 주 메모리로 영구 메모리를 사용하는 컴퓨터 시스템에서 주 메모리의 메모리 쓰기 명령 순서가 프로세서에서의 메모리 쓰기 명령 순서와 일치하도록 캐시 메모리를 관리하는 영구 메모리의 영구적 저장 순서를 제공함으로써 전원을 켜면 이전의 작업 내용으로 바로 복귀가 가능한 즉시 부팅을 실현할 수 있으며, 전원 차단 또는 시스템 충돌에 의한 복구가 필요한 상황에서도 주 메모리로 영구 메모리를 사용함에 있어 주 메모리 차원에서 복구가 가능할 수 있다.
청구항
번호청구항
1

영구 메모리의 영구적 저장 순서를 제공하기 위한 캐시에서의 메모리 관리 방법에 있어서,캐시 컨트롤러를 통해, 캐시 메모리 또는 별도의 저장 공간에 쓰기 명령 순서를 저장하는 단계; 및상기 캐시 컨트롤러를 통해, 상기 쓰기 명령 순서가 저장된 캐시 메모리에서 상기 영구 메모리로 구성된 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 단계를 포함하며,상기 캐시 메모리에 쓰기 명령 순서를 저장하는 단계는,상기 캐시 컨트롤러를 통해, CPU로부터 전달되는 메모리 요청을 수신하는 과정;상기 캐시 컨트롤러를 통해, 상기 수신된 메모리 요청이 쓰기 명령인지 여부를 확인하는 과정;상기 캐시 컨트롤러를 통해, 상기 수신된 메모리 요청이 쓰기 명령일 때, 상기 수신된 메모리 요청에 대해서 모든 쓰기 명령을 요청 순서대로 시간 의존성(time dependency)을 추가하는 과정; 및상기 캐시 컨트롤러를 통해, 상기 캐시 메모리 또는 별도의 저장 공간에 할당된 쓰기 명령의 순서 저장소에 상기 쓰기 명령의 순서를 영구적 저장 순서로 저장하는 과정을 포함하는 것을 특징으로 하는 메모리 관리 방법.

2

삭제

3

삭제

4

제 1 항에 있어서,상기 쓰기 명령 순서가 저장된 캐시 메모리에서 상기 영구 메모리로 구성된 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 단계는,상기 캐시 컨트롤러를 통해, CPU로부터 전달되는 메모리 요청이 쓰기 명령이 아닌 경우 및 상기 쓰기 명령 순서의 저장이 완료된 경우 중 어느 하나의 경우에 해당하는 상태에서, 캐시 적중이고 쓰기 및 더티 적중인 경우, 캐시 적중이 아니고 더티 에빅션인 경우 및 더 이상 쓰기 순서 저장을 수행할 수 없는 경우 중 어느 하나의 경우일 때, 영구적 저장 순서로 쓰기 명령을 하위 메모리로 실행하는 것을 특징으로 하는 메모리 관리 방법.

5

제 1 항에 있어서,상기 쓰기 명령 순서가 저장된 캐시 메모리에서 상기 영구 메모리로 구성된 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 단계는,상기 캐시 컨트롤러를 통해, 캐시 적중(cache hit)의 발생 여부를 판단하는 과정;상기 캐시 컨트롤러를 통해, 상기 캐시 적중이 발생할 때, 상기 캐시 적중이 쓰기 및 더티 적중(write and dirty hit)인지 여부를 확인하는 과정; 및상기 캐시 컨트롤러를 통해, 상기 캐시 적중이 쓰기 및 더티 적중일 때, 순서대로 저장된 쓰기 명령 중에서 가장 기록이 오래된 쓰기 명령의 주소부터 적중(hit)이 된 주소까지 순서대로 하위 메모리로 쓰기 명령을 실행하여 상기 캐시 메모리를 거쳐 상기 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 과정을 포함하는 것을 특징으로 하는 메모리 관리 방법.

6

제 1 항에 있어서,상기 쓰기 명령 순서가 저장된 캐시 메모리에서 상기 영구 메모리로 구성된 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 단계는,상기 캐시 컨트롤러를 통해, 캐시 적중(cache hit)의 발생 여부를 판단하는 과정;상기 캐시 컨트롤러를 통해, 상기 캐시 적중이 발생하지 않은 상태일 때, 더티 에빅션(dirty eviction)의 발생 여부를 확인하는 과정; 및상기 캐시 컨트롤러를 통해, 상기 더티 에빅션이 발생한 상태일 때, 순서대로 저장된 쓰기 명령 중에서 가장 기록이 오래된 쓰기 명령의 주소부터 빅팀(victim) 주소까지 순서대로 하위 메모리로 쓰기 명령을 실행하여 상기 캐시 메모리를 거쳐 상기 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 과정을 포함하는 것을 특징으로 하는 메모리 관리 방법.

7

영구 메모리의 영구적 저장 순서를 제공하기 위한 캐시에서의 메모리 관리 장치에 있어서,쓰기 명령을 포함하는 메모리 요청을 전달하는 CPU(Central Processing Unit);쓰기 명령 순서를 저장하기 위한 저장 공간이 할당된 캐시 메모리;영구 메모리로 구성된 주 메모리; 및상기 캐시 메모리의 저장 공간에 쓰기 명령 순서를 저장하고, 상기 쓰기 명령 순서가 저장된 캐시 메모리에서 상기 영구 메모리로 구성된 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 캐시 컨트롤러를 포함하며,상기 캐시 컨트롤러는,상기 CPU로부터 전달되는 메모리 요청이 쓰기 명령일 때, 상기 수신된 메모리 요청에 대해서 모든 쓰기 명령을 요청 순서대로 시간 의존성을 추가하고, 상기 캐시 메모리 또는 별도의 저장 공간에 할당된 쓰기 명령의 순서 저장소에 상기 쓰기 명령의 순서를 영구적 저장 순서로 저장하는 것을 특징으로 하는 메모리 관리 장치.

8

제 7 항에 있어서,상기 캐시 메모리는,복수의 레벨 또는 복수의 메모리 계층으로 구성되며, 상기 복수의 레벨의 캐시 메모리에 상기 쓰기 명령 순서를 각각 저장하는 것을 특징으로 하는 메모리 관리 장치.

9

삭제

10

제 7 항에 있어서,상기 캐시 컨트롤러는,캐시 적중이 발생할 때, 상기 캐시 적중이 쓰기 및 더티 적중인지 여부를 확인하고, 상기 캐시 적중이 쓰기 및 더티 적중일 때, 순서대로 저장된 쓰기 명령 중에서 가장 기록이 오래된 쓰기 명령의 주소부터 적중(hit)이 된 주소까지 순서대로 하위 메모리로 쓰기 명령을 실행하여 상기 캐시 메모리를 거쳐 상기 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 것을 특징으로 하는 메모리 관리 장치.

11

제 10 항에 있어서,상기 하위 메모리는,복수의 메모리 계층으로 구성된 상기 캐시 메모리에 대해서, 순서대로 복수의 쓰기 명령이 저장된 특정 메모리 계층에서 상기 캐시 메모리 내에서의 복수의 쓰기 명령이 저장된 해당 특정 메모리 계층보다 아래 단의 하나 이상의 메모리 계층과 상기 주 메모리를 포함하는 것을 특징으로 하는 메모리 관리 장치.

12

제 7 항에 있어서,상기 캐시 컨트롤러는,캐시 적중이 발생하지 않은 상태일 때 더티 에빅션(dirty eviction)의 발생 여부를 확인하고, 상기 더티 에빅션이 발생한 상태일 때, 순서대로 저장된 쓰기 명령 중에서 가장 기록이 오래된 쓰기 명령의 주소부터 빅팀(victim) 주소까지 순서대로 하위 메모리로 쓰기 명령을 실행하여 상기 캐시 메모리를 거쳐 상기 주 메모리까지 메모리 쓰기 순서를 순서대로 수행하는 것을 특징으로 하는 메모리 관리 장치.

13

제 7 항에 있어서,상기 캐시 컨트롤러는,멀티 프로세서 시스템에서, 프로세서 간의 영구적 저장 순서로 쓰기 명령을 하위 메모리로 실행하기 위해서 캐시 일관성 프로토콜에서 수정(M) 상태에서 무효(I) 상태로 전이가 일어날 때, 순서대로 저장된 쓰기 명령 중에서 가장 기록이 오래된 쓰기 명령의 주소부터 순차적으로 저장된 쓰기 명령을 하위 메모리로 수행하는 것을 특징으로 하는 메모리 관리 장치.