1 |
1
비휘발성 메모리 파일 시스템으로서,복수의 CPU들, 그리고 물리 주소가 논리 주소로 가상화된 가상 주소 공간이 할당되어 있는 비휘발성 메모리를 각각 포함하며, 상기 비휘발성 메모리에 데이터가 저장되는 복수의 NUMA(Non-Uniform Memory Access) 노드들, 그리고상기 복수의 NUMA 노드들에 각각 포함된 상기 비휘발성 메모리의 물리 주소를 저장하는 수퍼 블록을 포함하고,상기 적어도 하나의 CPU는, 스레드가 실행되면 상기 비휘발성 메모리의 물리 주소가 매핑된 공간에 우선적으로 데이터를 데이터 쓰기를 수행하는, 비휘발성 메모리 파일 시스템
|
2 |
2
제1항에 있어서,상기 비휘발성 메모리의 크기에 따라 상기 비휘발성 메모리의 전체 논리 주소 공간을 분할하여 복수의 노드 파티션들이 생성되어 있는, 비휘발성 메모리 파일 시스템
|
3 |
3
제2항에 있어서,상기 적어도 하나의 CPU는 상기 노드 파티션들의 수만큼 상기 NUMA 노드에 포함되는, 비휘발성 메모리 파일 시스템
|
4 |
4
제1항에 있어서,상기 복수의 NUMA 노드들 중 제1 NUMA 노드의 가상 주소와, 상기 복수의 NUMA 노드들 중 제2 NUMA 노드의 가상 주소는 가상 주소 공간은, 연속되지 않은 비휘발성 메모리 주소를 단일 연속 가상 주소로 가상화된 주소인, 비휘발성 메모리 파일 시스템
|
5 |
5
제4항에 있어서,상기 복수의 CPU들 중 제1 CPU와 제2 CPU가 각각 스레드를 실행하여 상기 비휘발성 메모리에 상기 데이터를 쓰면, 각 스레드가 비휘발성 메모리의 로컬 우선 할당 정책을 기초로 CPU 코어의 메모리 할당자를 사용하여 데이터 페이지 또는 로그 페이지를 할당하는, 비휘발성 메모리 파일 시스템
|
6 |
6
비휘발성 메모리 파일 시스템으로서,데이터 페이지에 사용자 데이터를 저장하는 복수의 CPU들,각 CPU별로 로그의 시작인 헤드 포인터와 끝인 테일 포인터로 구성된 각 CPU별 데이터 구조인 로컬 로그, 그리고상기 각 CPU와 해당 로컬 로그 포인터를 인덱싱하는 포인터 배열인 글로벌 로그를 포함하는, 비휘발성 메모리 파일 시스템
|
7 |
7
제6항에 있어서,상기 글로벌 로그는 비휘발성 메모리에 저장된 아이노드에 포함되는, 비휘발성 메모리 파일 시스템
|
8 |
8
제7항에 있어서,상기 각 CPU가 실행한 스레드가 상기 글로벌 로그를 참조하여 로컬 로그의 테일 포인터를 갱신한 후, 로그 페이지에 로그 항목을 추가하는, 비휘발성 메모리 파일 시스템
|