1 |
1
키를 저장하는 영역과 값을 저장하는 영역을 포함하는 비휘발성 메모리 장치; 및키-값 명령을 수신하여 상기 값을 저장하는 영역에 값을 저장하고 상기 키를 저장하는 영역에 상기 값에 대응하는 키와 상기 값의 주소를 함께 저장하는 동작을 제어하는 제 1 제어 회로를 포함하는 데이터 저장 장치
|
2 |
2
청구항 1에 있어서, 키를 저장하는 영역을 포함하는 휘발성 메모리 장치를 더 포함하고,상기 키-값 명령이 입력되는 경우 상기 제 1 제어 회로는 상기 휘발성 메모리 장치를 조회하여 대응하는 키가 존재하는지 판단하고 상기 휘발성 메모리 장치에 대응하는 키가 존재하지 않는 경우 상기 비휘발성 메모리 장치를 조회하여 대응하는 키가 존재하는지 판단하는 데이터 저장 장치
|
3 |
3
청구항 2에 있어서, 상기 휘발성 메모리 장치에서 키를 저장하는 영역은 제 1 테이블을 저장하고, 상기 비휘발성 메모리 장치에서 키를 저장하는 영역은 다수의 제 2 테이블을 저장하되,상기 제 1 테이블과 상기 다수의 제 2 테이블은 각각값의 주소를 다수 개 저장하는 데이터 영역; 및상기 데이터 영역에서 값의 주소가 위치하는 주소와 이에 대응하는 키의 쌍을 다수 개 저장하는 인덱스 영역을 포함하는 데이터 저장 장치
|
4 |
4
청구항 3에 있어서, 상기 제 1 테이블 및 상기 다수의 제 2 테이블은 각각 상기 인덱스 영역에 대응하는 키가 존재하는지 확인하는 필터 영역을 더 포함하는 데이터 저장 장치
|
5 |
5
청구항 4에 있어서, 상기 제 1 제어 회로는 상기 제 1 테이블 및 상기 다수의 제 2 테이블은 LSM 트리 구조를 유지하도록 제어하는 데이터 저장 장치
|
6 |
6
청구항 1에 있어서, 상기 비휘발성 메모리 장치에서 값을 저장하는 영역은 다수의 로그 엔트리를 포함하고, 상기 다수의 로그 엔트리 각각은 값과 값의 길이를 저장하는 데이터 저장 장치
|
7 |
7
청구항 6에 있어서, 상기 비휘발성 메모리 장치의 물리 주소에 대응하는 논리 주소의 관계를 저장하는 맵핑 테이블을 더 포함하고,상기 제 1 제어 회로는 상기 맵핑 테이블에서 프리 또는 무효 상태의 논리 주소를 포함하는 분산 로깅 연결 리스트를 관리하며,상기 제 1 제어 회로는 로그 엔트리를 추가하는 경우 상기 분산 로깅 연결 리스트에 포함된 논리 페이지를 사용하는 데이터 저장 장치
|
8 |
8
청구항 7에 있어서, 상기 비휘발성 메모리 장치에 대해서 가비지 콜렉션을 수행하는 제 2 제어 회로를 더 포함하고,상기 가비지 콜렉션이 수행되는 경우 상기 제 1 제어 회로는 상기 분산 로깅 연결 리스트를 갱신하는 데이터 저장 장치
|
9 |
9
청구항 1에 있어서, 실행 코드를 실행하여 결과를 생성하는 근접 데이터 처리 회로를 더 포함하되,상기 키-값 명령이 데이터 처리 명령인 경우 상기 제 1 제어 회로는 상기 키에 대응하는 값으로부터 추출되는 상기 실행 코드를 상기 근접 데이터 처리 회로에 제공하는 데이터 저장 장치
|
10 |
10
청구항 9에 있어서, 상기 데이터 처리 명령은 파라미터를 더 포함하고, 상기 제 1 제어 회로는 상기 파라미터를 상기 근접 데이터 처리 회로에 추가로 제공하는 데이터 저장 장치
|
11 |
11
키-값 명령을 생성하는 호스트;상기 키-값 명령에 따라 읽기 또는 쓰기 동작을 수행하는 데이터 저장 장치; 및상기 호스트와 상기 데이터 저장 장치 사이에서 상기 키-값 명령을 전달하는 인터페이스 회로를 포함하되,상기 데이터 저장 장치는키를 저장하는 영역과 값을 저장하는 영역을 포함하는 비휘발성 메모리 장치; 및상기 키-값 명령을 수신하여 상기 값을 저장하는 영역에 값을 저장하고 상기 키를 저장하는 영역에 상기 값에 대응하는 키와 상기 값의 주소를 함께 저장하는 동작을 제어하는 제 1 제어 회로를 포함하는 시스템
|
12 |
12
청구항 11에 있어서, 키를 저장하는 영역을 포함하는 휘발성 메모리 장치를 더 포함하고,상기 키-값 명령이 입력되는 경우 상기 제 1 제어 회로는 상기 휘발성 메모리 장치를 조회하여 대응하는 키가 존재하는지 판단하고 상기 휘발성 메모리 장치에 대응하는 키가 존재하지 않는 경우 상기 비휘발성 메모리 장치를 조회하여 대응하는 키가 존재하는지 판단하는 시스템
|
13 |
13
청구항 12에 있어서, 상기 휘발성 메모리 장치에서 키를 저장하는 영역은 제 1 테이블을 저장하고, 상기 비휘발성 메모리 장치에서 키를 저장하는 영역은 다수의 제 2 테이블을 저장하되,상기 제 1 테이블과 상기 다수의 제 2 테이블은 각각값의 주소를 다수 개 저장하는 데이터 영역; 및상기 데이터 영역에서 값의 주소가 위치하는 주소와 이에 대응하는 키의 쌍을 다수 개 저장하는 인덱스 영역을 포함하는 시스템
|
14 |
14
청구항 13에 있어서, 상기 제 1 테이블 및 상기 다수의 제 2 테이블은 각각 상기 인덱스 영역에 대응하는 키가 존재하는지 확인하는 필터 영역을 더 포함하는 시스템
|
15 |
15
청구항 14에 있어서, 상기 제 1 제어 회로는 상기 제 1 테이블 및 상기 다수의 제 2 테이블은 LSM 트리 구조를 유지하도록 제어하는 시스템
|
16 |
16
청구항 11에 있어서, 상기 비휘발성 메모리 장치에서 값을 저장하는 영역은 다수의 로그 엔트리를 포함하고, 상기 다수의 로그 엔트리 각각은 값과 값의 길이를 저장하는 시스템
|
17 |
17
청구항 16에 있어서, 상기 비휘발성 메모리 장치의 물리 주소에 대응하는 논리 주소의 관계를 저장하는 맵핑 테이블을 더 포함하고,상기 제 1 제어 회로는 상기 맵핑 테이블에서 프리 또는 무효 상태의 논리 주소를 포함하는 분산 로깅 연결 리스트를 관리하며,상기 제 1 제어 회로는 로그 엔트리를 추가하는 경우 상기 분산 로깅 연결 리스트에 포함된 논리 페이지를 사용하는 시스템
|
18 |
18
청구항 17에 있어서, 상기 비휘발성 메모리 장치에 대해서 가비지 콜렉션을 수행하는 제 2 제어 회로를 더 포함하고,상기 가비지 콜렉션이 수행되는 경우 상기 제 1 제어 회로는 상기 분산 로깅 연결 리스트를 갱신하는 시스템
|
19 |
19
청구항 11에 있어서, 실행 코드를 실행하여 결과를 생성하는 근접 데이터 처리 회로를 더 포함하되,상기 키-값 명령이 데이터 처리 명령인 경우 상기 제 1 제어 회로는 상기 키에 대응하는 값으로부터 추출되는 상기 실행 코드를 상기 근접 데이터 처리 회로에 제공하는 시스템
|
20 |
20
청구항 19에 있어서, 상기 데이터 처리 명령은 파라미터를 더 포함하고, 상기 제 1 제어 회로는 상기 파라미터를 상기 근접 데이터 처리 회로에 추가로 제공하는 시스템
|
21 |
21
청구항 11에 있어서, 상기 호스트는키에 대응하는 값을 읽거나 쓰는 동작을 요청하는 응용 프로그램을 처리하는 응용 프로그램 처리 회로; 및상기 요청을 키-값 명령으로 변환하여 상기 인터페이스 회로를 통해 상기 데이터 저장 장치에 제공하는 키-값 장치 제어 회로를 포함하는 시스템
|