1 |
1
전자 장치에 있어서,휘발성 메모리;상기 휘발성 메모리와 동일한 메모리 버스에 부착되어 바이트 어드레스(byte address)로 접근 가능한 비휘발성 메모리; 및상기 비휘발성 메모리에 사용자 버퍼를 할당하고, 대상 파일에 대한 수정 데이터를 상기 사용자 버퍼에 로그로서 저장하며, 상기 수정 데이터를 대상 파일에 쓰는(write) 프로세서를 포함하는전자 장치
|
2 |
2
제1항에 있어서,상기 프로세서는상기 대상 파일에 대한 쓰는 동작이 완료되지 않은 이벤트가 발생할 경우에 응답하여, 상기 사용자 버퍼에 저장된 상기 수정 데이터에 기반한 리커버리를 수행하는,전자 장치
|
3 |
3
제2항에 있어서,상기 프로세서는상기 사용자 버퍼에 저장된 상기 수정 데이터를 리두 로그(redo log)로 사용하여 상기 리커버리를 수행하는,전자 장치
|
4 |
4
제1항에 있어서,상기 프로세서는넌-템포럴 저장 명령(non-temporal store instruction)에 기반하여 상기 수정 데이터를 상기 사용자 버퍼에 영구적으로 저장하는,전자 장치
|
5 |
5
제1항에 있어서,상기 쓰는 동작은상기 대상 파일에 대한 쓰기 시스템 콜(write system call)을 후킹(hooking)한 후 상기 수정 데이터에 관한 메타 데이터를 로깅하는 동작을 포함하는,전자 장치
|
6 |
6
제5항에 있어서,상기 메타 데이터는상기 수정 데이터에 기반한 리커버리 수행 시, 상기 수정 데이터를 반영할 파일 위치에 대한 정보를 포함하는,전자 장치
|
7 |
7
제5항에 있어서,상기 프로세서는상기 쓰기 시스템 콜을 후킹한 후 메모리 배리어 명령(memory barrier instruction)을 실행하여 상기 수정 데이터가 상기 사용자 버퍼에 영구적으로 저장될 때까지 대기하고, 상기 메모리 배리어 명령이 완료되면 상기 사용자 버퍼를 커밋된(committed) 로그로 기록하는 동작을 포함하는,전자 장치
|
8 |
8
제1항에 있어서,상기 프로세서는상기 사용자 버퍼에 저장되는 데이터를 수정할 필요가 있는 경우 또는 상기 수정 데이터가 반영되지 않은 대상 파일에 대한 읽기가 요청된 경우에 응답하여, 상기 사용자 버퍼에 저장되는 데이터를 수정하거나 상기 대상 파일을 읽기 전 상기 사용자 버퍼에 저장된 상기 수정 데이터를 상기 대상 파일에 쓰는,전자 장치
|
9 |
9
제1항에 있어서,상기 프로세서는상기 대상 파일에 대한 오픈 시스템 콜(open system call)을 후킹한 후 상기 대상 파일을 사용자 레벨에서 처리하기 위한 메모리 매핑을 수행하는,전자 장치
|
10 |
10
제1항에 있어서,상기 대상 파일을 저장하고 상기 비휘발성 메모리와 I/O 인터페이스로 연결되는 스토리지(storage)를 더 포함하는전자 장치
|
11 |
11
전자 장치의 동작 방법에 있어서,비휘발성 메모리에 사용자 버퍼를 할당하는 동작;대상 파일에 대한 수정 데이터를 상기 사용자 버퍼에 로그로서 저장하는 동작; 및상기 수정 데이터를 대상 파일에 쓰는 동작을 포함하는전자 장치의 동작 방법
|
12 |
12
제11항에 있어서,상기 대상 파일에 대한 쓰는 동작이 완료되지 않은 이벤트가 발생할 경우에 응답하여, 상기 사용자 버퍼에 저장된 상기 수정 데이터에 기반한 리커버리를 수행하는 동작을 더 포함하는전자 장치의 동작 방법
|
13 |
13
제12항에 있어서,상기 리커버리를 수행하는 동작은상기 사용자 버퍼에 저장된 상기 수정 데이터를 리두 로그로 사용하여 상기 리커버리를 수행하는,전자 장치의 동작 방법
|
14 |
14
제11항에 있어서,상기 저장하는 동작은넌-템포럴 저장 명령에 기반하여 상기 수정 데이터를 상기 사용자 버퍼에 영구적으로 저장하는,전자 장치의 동작 방법
|
15 |
15
제11항에 있어서,상기 쓰는 동작은상기 대상 파일에 대한 쓰기 시스템 콜을 후킹한 후 상기 수정 데이터에 관한 메타 데이터를 로깅하는 동작을 포함하는,전자 장치의 동작 방법
|
16 |
16
제15항에 있어서,상기 메타 데이터는상기 수정 데이터에 기반한 리커버리 수행 시, 상기 수정 데이터를 반영할 파일 위치에 대한 정보를 포함하는,전자 장치의 동작 방법
|
17 |
17
제15항에 있어서,상기 쓰는 동작은상기 쓰기 시스템 콜을 후킹한 후 메모리 배리어 명령을 실행하여 상기 수정 데이터가 상기 사용자 버퍼에 영구적으로 저장될 때까지 대기하고, 상기 메모리 배리어 명령이 완료되면 상기 사용자 버퍼를 커밋된 로그로 기록하는 동작을 포함하는,전자 장치의 동작 방법
|
18 |
18
제11항에 있어서,상기 쓰는 동작은상기 사용자 버퍼에 저장되는 데이터를 수정할 필요가 있는 경우 또는 상기 수정 데이터가 반영되지 않은 대상 파일에 대한 읽기가 요청된 경우에 응답하여, 상기 사용자 버퍼에 저장되는 데이터를 수정하거나 상기 대상 파일을 읽기 전 상기 사용자 버퍼에 저장된 상기 수정 데이터를 상기 대상 파일에 쓰는,전자 장치의 동작 방법
|
19 |
19
제11항에 있어서,상기 대상 파일에 대한 오픈 시스템 콜을 후킹한 후 상기 대상 파일을 유저 레벨에서 처리하기 위한 메모리 매핑을 수행하는 동작을 더 포함하는전자 장치의 동작 방법
|
20 |
20
제11항에 있어서,상기 휘발성 메모리는 상기 전자 장치에 포함된 휘발성 메모리와 동일한 메모리 버스에 부착되어 바이트 어드레스로 접근 가능한 장치인,전자 장치의 동작 방법
|