1 |
1
복수의 참조 데이터들을 저장하는 불휘발성 메모리 장치;상기 불휘발성 메모리 장치에 저장된 복수의 참조 데이터들 각각의 복수의 참조 해시 키들을 관리하는 해시 관리 테이블을 저장하는 메모리; 및쓰기 요청된 데이터에 기반하여 복수의 해시 키들을 생성하는 해시 키 생성기;상기 복수의 해시 키들과 상기 복수의 참조 데이터들 각각의 참조 해시 키들을 비교하고, 비교 결과에 응답하여 상기 쓰기 요청된 데이터를 상기 불휘발성 메모리 장치에 저장할 것인지의 여부를 결정하는 메모리 컨트롤러를 포함하되,상기 메모리 컨트롤러는 상기 복수의 해시 키들 및 상기 복수의 참조 데이터들 각각의 상기 복수의 참조 해시 키들 간의 유사도에 따라 상기 복수의 참조 데이터들 중 하나의 참조 데이터를 선택하고, 상기 쓰기 요청된 데이터와 상기 선택된 참조 데이터를 상호 참조하여 상기 불휘발성 메모리 장치에 저장하는 저장 장치
|
2 |
2
제 1 항에 있어서,상기 메모리 컨트롤러는 상기 쓰기 요청된 데이터를 복수의 서브 페이지들로 분할하고, 상기 해시 키 생성기는 상기 복수의 서브 페이지들에 각각 대응하는 상기 복수의 해시 키들을 생성하는 저장 장치
|
3 |
3
제 1 항에 있어서,상기 메모리는 중복 매칭 테이블을 더 저장하고,상기 쓰기 요청된 데이터 및 상기 선택된 참조 데이터의 유사도가 기준치 이상으로 판별 시, 상기 쓰기 요청된 데이터의 참조 정보는 상기 중복 매칭 테이블에 등록되는 저장 장치
|
4 |
4
제 1 항에 있어서,상기 복수의 참조 해시 키들이 상기 선택된 참조 데이터의 복수의 해시 키들과 중복되는 경우,상기 메모리 컨트롤러는 상기 쓰기 요청된 데이터의 어드레스가 상기 선택된 참조 데이터가 저장된 상기 불휘발성 메모리 장치의 어드레스를 참조하도록 매핑하는 저장 장치
|
5 |
5
제 1 항에 있어서,상기 복수의 참조 해시 키들이 상기 선택된 참조 데이터의 복수의 해시 키들과 기준치 이상의 유사도를 갖는 경우,상기 메모리 컨트롤러는 상기 쓰기 요청된 데이터 및 상기 선택된 참조 데이터를 XOR 연산하고, 상기 XOR 연산된 데이터를 압축하여 상기 불휘발성 메모리 장치에 저장하는 저장 장치
|
6 |
6
제 1 항에 있어서, 상기 복수의 해시 키들 및 상기 선택된 참조 데이터의 복수의 해시 키들이 상기 기준치 이상의 유사도를 갖지 않을 시, 상기 복수의 해시 키들이 상기 해시 관리 테이블에 등록되는 저장 장치
|
7 |
7
제 1 항에 있어서,상기 해시 관리 테이블의 크기가 기준 크기 이상에 도달할 경우, 상기 메모리 컨트롤러는 상기 해시 관리 테이블에 포함된 각 참조 데이터의 복수의 참조 해시 키들 중 상기 쓰기 요청된 데이터의 복수의 해시 키 정보들과 상호 참조되지 않은 참조 데이터의 복수의 참조 해시 키들을 소거하는 저장 장치
|
8 |
8
제 1 항에 있어서,상기 해시 관리 테이블의 크기가 기준 크기에 도달할 경우, 상기 메모리 컨트롤러는 상기 해시 관리 테이블에 포함된 복수의 참조 데이터들 중 적어도 두 개의 참조 데이터들을 서로 결합하는 저장 장치
|
9 |
9
제 1 항에 있어서,상기 해시 관리 테이블의 크기가 기준 크기에 도달할 경우,상기 메모리 컨트롤러는 상기 선택된 참조 데이터의 복수의 해시 키들이 상기 쓰기 요청된 데이터의 상기 복수의 해시 키들과 가장 적게 상호 참조된 경우, 상기 선택된 참조 데이터 및 상기 선택된 참조 데이터와 상호 참조된 데이터를 역 XOR 연산하는 저장 장치
|
10 |
10
쓰기 요청된 데이터에 대한 복수의 해시 키들을 생성하는 단계;상기 생성된 복수의 해시 키들과 해시 관리 테이블에서 관리되는 복수의 참조 데이터들 각각의 상기 복수의 참조 해시 키들을 비교하는 단계;상기 쓰기 요청된 데이터의 상기 복수의 해시 키들과 상기 복수의 참조 데이터들 중 하나의 참조 데이터의 복수의 참조 해시 키들이 기준치 이상으로 유사한 경우, 상기 쓰기 요청된 데이터와 상기 참조 데이터를 XOR 연산하는 단계; 및상기 XOR 연산된 데이터를 압축하여 저장하는 단계를 포함하는 저장 장치의 동작 방법
|