1 |
1
다수의 휘발성 메모리 셀을 포함하는 VM 모듈; 다수의 비휘발성 메모리 셀을 포함하는 NVM 모듈; 및 상기 NVM 모듈에 저장된 프로그램을 기지정된 세그먼트 단위로 구분하고, 각 세그먼트에 포함된 라이트 명령의 개수인 세그먼트 카운트를 획득하고 합산하여, 프로그램에 대한 라이트 카운트인 프로그램 카운트를 계산하고, 상기 프로그램 카운트가 기지정된 제1 문턱값 이상인 프로그램의 다수의 세그먼트 중 세그먼트 카운트가 기지정된 제2 문턱값 이상인 세그먼트를 선택하여 상기 VM 모듈에 저장된 데이터와 마이그레이션하고, 마이그레이션된 세그먼트의 데이터 어드레스를 리맵핑하는 메모리 컨트롤 모듈을 포함하는 하이브리드 메모리 장치
|
2 |
2
제1항에 있어서, 상기 메모리 컨트롤 모듈은 상기 VM 모듈에 저장되는 데이터에 대한 액세스를 제어하는 VM 컨트롤러; 상기 NVM 모듈에 저장되는 데이터에 대한 액세스를 제어하는 NVM 컨트롤러; 및 상기 NVM 모듈에 저장된 프로그램의 세그먼트를 선택적으로 상기 VM 모듈에 저장된 데이터와 마이그레이션시키고, 마이그레이션된 데이터에 대한 액세스 명령이 인가되면, 리맵핑된 데이터 어드레스에 대한 액세스 명령으로 수정하는 메모리 매니저를 포함하는 하이브리드 메모리 장치
|
3 |
3
제2항에 있어서, 상기 메모리 매니저는 리드 또는 라이트 명령을 포함하는 액세스 명령이 인가되면, 인가된 액세스 명령을 분석하여, 리드 또는 라이트 명령과 프로그램 정보와 데이터 어드레스를 포함하는 라이트 요청 정보로 구분하는 명령 분석부; 상기 라이트 요청 정보를 인가받아 인가된 프로그램을 다수의 세그먼트로 구분하고, 세그먼트 카운트와 프로그램 카운트를 획득하여 라이트 히스토리 테이블에 저장하며, 저장된 라이트 히스토리 테이블에 기초하여 상기 NVM 모듈에 저장된 프로그램의 세그먼트를 선택적으로 상기 VM 모듈의 대응하는 데이터와 마이그레이션시키고, 마이그레이션되어 변경된 데이터 어드레스를 획득하는 재할당부; 세그먼트의 데이터가 저장된 데이터 어드레스와 변경된 데이터 어드레스를 리맵핑하여 저장하고, 상기 리드 또는 라이트 명령이 인가되면, 인가된 리드 또는 라이트 명령에서 지정되는 데이터 어드레스를 리맵핑된 데이터 어드레스로 수정하여 상기 VM 컨트롤러와 상기 NVM 컨트롤러로 출력하는 리맵핑부; 및 상기 NVM 모듈과 상기 VM 모듈 사이에서 마이그레이션되는 데이터를 인가받아 임시 저장하여 상대 모듈로 전달하는 스왑 버퍼를 포함하는 하이브리드 메모리 장치
|
4 |
4
제3항에 있어서, 상기 재할당부는 상기 라이트 히스토리 테이블을 분석하여, 프로그램 카운트가 상기 제1 문턱값 이상인 프로그램을 스왑 후보 프로그램으로 설정하고, 설정된 스왑 후보 프로그램의 다수의 세그먼트 중 세그먼트 카운트가 상기 제2 문턱값 이상인 세그먼트를 마이그레이션이 수행되는 마이그레이션 대상 세그먼트로 선택하는 하이브리드 메모리 장치
|
5 |
5
제4항에 있어서, 상기 재할당부는 상기 마이그레이션 대상 세그먼트에 대한 데이터 어드레스를 상기 NVM 컨트롤러로 전달하여, 상기 NVM 컨트롤러의 제어에 따라 상기 NVM 모듈에 저장된 상기 마이그레이션 대상 세그먼트가 상기 스왑 버퍼와 상기 VM 컨트롤러를 통해 상기 VM 모듈에 저장되도록 하는 하이브리드 메모리 장치
|
6 |
6
제5항에 있어서, 상기 재할당부는 마이그레이션되는 세그먼트의 데이터 어드레스를 확인하여, 순차적으로 마이그레이션되는 데이터의 데이터 어드레스 차이가 기지정된 기준 어드레스 단위 이하이면, 기지정된 개수의 데이터 스코프 중 동일한 데이터 스코프에 누적카운트하고, 기준 어드레스 단위를 초과하면 다른 데이터 스코프에 다시 누적 카운트하여 순차적으로 전달되는 데이터의 어드레스 변화를 기지정된 다수의 데이터 스코프에 누적 기록하며, 다수의 데이터 스코프에 누적 기록된 크기를 확인하고, 과반수 이상의 데이터 스코프에 누적 기록된 크기가 현재 설정된 마이그레이션 단위를 기준으로 미리 지정된 단위 유지 구간과 단위 감소 구간 및 단위 증가 구간 중 어느 구간에 해당하는지 확인하여 확인된 구간에 따라 마이그레이션되는 데이터의 마이그레이션 단위 크기를 조절하는 하이브리드 메모리 장치
|
7 |
7
제3항에 있어서, 상기 메모리 매니저는 마이그레이션 실행 중 액세스 명령이 인가되면, 마이그레이션되는 세그먼트의 데이터 중 스왑 버퍼로 전송되는 데이터의 전송 완료 후, 마이그레이션을 일시 중지시키고, 액세스 명령에 대응하는 동작을 수행하는 하이브리드 메모리 장치
|
8 |
8
제7항에 있어서, 상기 메모리 매니저는 상기 액세스 명령에 의해 지정되는 데이터가 상기 스왑 버퍼에 저장되어 있는지 판별하고, 상기 스왑 버퍼에 저장된 것으로 판별되면, 상기 스왑 버퍼에 저장된 데이터에 액세스를 수행하며, 상기 스왑 버퍼에 저장되지 않은 것으로 판별되면, 상기 VM 컨트롤러 또는 상기 NVM 컨트롤러를 통해 상기 VM 모듈 또는 상기 NVM 모듈에 저장된 데이터에 액세스를 수행하는 하이브리드 메모리 장치
|
9 |
9
제7항에 있어서, 상기 메모리 매니저는 액세스가 수행되면, 일시 중지된 마이그레이션을 계속 수행하는 하이브리드 메모리 장치
|
10 |
10
다수의 휘발성 메모리 셀을 포함하는 VM 모듈과 다수의 비휘발성 메모리 셀을 포함하는 NVM 모듈 및 스왑 버퍼를 포함하는 하이브리드 메모리 장치의 관리 방법에 있어서, 상기 NVM 모듈에 저장된 프로그램을 기지정된 세그먼트 단위로 구분하고, 각 세그먼트에 포함된 라이트 명령의 개수인 세그먼트 카운트를 획득하고 합산하여, 프로그램에 대한 라이트 카운트인 프로그램 카운트를 계산하는 단계; 상기 프로그램 카운트가 기지정된 제1 문턱값 이상인 프로그램의 다수의 세그먼트 중 세그먼트 카운트가 기지정된 제2 문턱값 이상인 세그먼트를 선택하여 상기 VM 모듈에 저장된 데이터와 마이그레이션시키는 단계; 및 마이그레이션된 세그먼트의 데이터 어드레스를 리맵핑하는 단계를 포함하는 하이브리드 메모리 장치의 관리 방법
|
11 |
11
제10항에 있어서, 상기 프로그램 카운트를 계산하는 단계는 리드 또는 라이트 명령을 포함하는 액세스 명령이 인가되면, 인가된 액세스 명령을 분석하여, 리드 또는 라이트 명령과 프로그램 정보와 데이터 어드레스를 포함하는 라이트 요청 정보로 구분하는 단계; 및 상기 라이트 요청 정보를 인가받아 인가된 프로그램을 다수의 세그먼트로 구분하고, 세그먼트 카운트와 프로그램 카운트를 획득하여 라이트 히스토리 테이블에 저장하는 단계를 포함하는 하이브리드 메모리 장치의 관리 방법
|
12 |
12
제11항에 있어서, 상기 마이그레이션시키는 단계는 상기 라이트 히스토리 테이블을 분석하여, 프로그램 카운트가 상기 제1 문턱값 이상인 프로그램을 스왑 후보 프로그램으로 설정하는 단계; 및 설정된 스왑 후보 프로그램의 다수의 세그먼트 중 세그먼트 카운트가 상기 제2 문턱값 이상인 세그먼트를 마이그레이션이 수행되는 마이그레이션 대상 세그먼트로 선택하여 선택된 세그먼트를 상기 VM 모듈의 대응하는 데이터와 마이그레이션하는 단계를 포함하는 하이브리드 메모리 장치의 관리 방법
|
13 |
13
제12항에 있어서, 상기 리맵핑하는 단계는 마이그레이션되어 변경된 데이터 어드레스를 획득하는 단계; 및 세그먼트의 데이터가 저장된 데이터 어드레스와 변경된 데이터 어드레스를 리맵핑하여 저장하는 단계를 포함하는 하이브리드 메모리 장치의 관리 방법
|
14 |
14
제13항에 있어서, 상기 하이브리드 메모리 장치의 관리 방법은 마이그레이션된 데이터에 대한 액세스 명령이 인가되면, 리맵핑된 데이터 어드레스에 대한 액세스 명령으로 수정하는 단계를 더 포함하는 하이브리드 메모리 장치의 관리 방법
|
15 |
15
제14항에 있어서, 상기 마이그레이션하는 단계는 상기 마이그레이션 대상 세그먼트에 대한 데이터 어드레스에 따라 상기 NVM 모듈에 저장된 상기 마이그레이션 대상 세그먼트에 액세스하고, 액세스된 상기 마이그레이션 대상 세그먼트가 상기 스왑 버퍼를 통해 상기 VM 모듈에 저장되도록 하는 하이브리드 메모리 장치의 관리 방법
|
16 |
16
제15항에 있어서, 상기 마이그레이션하는 단계는 마이그레이션되는 세그먼트의 데이터 어드레스를 확인하여, 순차적으로 마이그레이션되는 데이터의 데이터 어드레스 차이가 기지정된 기준 어드레스 단위 이하이면, 기지정된 개수의 데이터 스코프 중 동일한 데이터 스코프에 누적카운트하고, 기준 어드레스 단위를 초과하면 다른 데이터 스코프에 다시 누적 카운트하여 순차적으로 전달되는 데이터의 어드레스 변화를 기지정된 다수의 데이터 스코프에 누적 기록하는 단계; 및 다수의 데이터 스코프에 누적 기록된 크기를 확인하고, 과반수 이상의 데이터 스코프에 누적 기록된 크기가 현재 설정된 마이그레이션 단위를 기준으로 미리 지정된 단위 유지 구간과 단위 감소 구간 및 단위 증가 구간 중 어느 구간에 해당하는지 확인하여 확인된 구간에 따라 마이그레이션되는 데이터의 마이그레이션 단위 크기를 조절하는 단계를 더 포함하는 하이브리드 메모리 장치의 관리 방법
|
17 |
17
제16항에 있어서, 상기 하이브리드 메모리 장치의 관리 방법은 마이그레이션 실행 중 액세스 명령이 인가되면, 마이그레이션되는 세그먼트의 데이터 중 스왑 버퍼로 전송되는 데이터의 전송 완료 후, 마이그레이션을 일시 중지시키고, 액세스 명령에 대응하는 동작을 수행하는 단계; 상기 액세스 명령에 의해 지정되는 데이터가 상기 스왑 버퍼에 저장되어 있는지 판별하는 단계; 상기 스왑 버퍼에 저장된 것으로 판별되면, 상기 스왑 버퍼에 저장된 데이터에 액세스를 수행하는 단계; 상기 스왑 버퍼에 저장되지 않은 것으로 판별되면, 상기 VM 모듈 또는 상기 NVM 모듈에 저장된 데이터에 액세스를 수행하는 단계; 및 액세스가 수행되면, 일시 중지된 마이그레이션을 계속 수행하는 단계를 더 포함하는 하이브리드 메모리 장치의 관리 방법
|