1 |
1
비휘발성 메모리 장치가 데이터 스크램블링을 수행하는 방법에 있어서,상기 비휘발성 메모리 장치에 저장할 코드인 플레인코드(plain code) 및 상기 플레인코드를 기록할 주소인 저장주소를 입력받는 단계;개별 플레인코드에 대응되는 출현 빈도 순위 정보를 포함하는 ET테이블 및 상기 저장주소에 기반하는 랜덤넘버를 이용하여, 상기 플레인코드에 대응되는 조정순위를 산출하는 단계;개별 플레인코드의 출현 빈도 순위에 대응되는 사이퍼코드(cipher code)의 정보를 포함하는 ECC테이블 및 상기 조정순위를 이용하여, 상기 플레인코드의 출현 빈도 순위에 대응되는 사이퍼코드를 결정하는 단계; 및상기 저장주소에 상기 사이퍼코드를 저장하는 단계;를 포함하는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
2 |
2
제1항에 있어서,상기 플레인코드에 대응되는 조정순위를 산출하는 단계는상기 ET테이블을 이용하여 상기 플레인코드에 대응되는 출현 빈도 순위를 결정하는 단계; 및상기 결정된 출현 빈도 순위에 상기 랜덤넘버를 더하여 상기 조정순위를 산출하는 단계를 포함하는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
3 |
3
제1항에 있어서, 상기 플레인코드의 출현 빈도 순위에 대응되는 사이퍼코드를 결정하는 단계는상기 조정순위가 상기 ECC테이블의 인덱스 범위를 벗어나면, 상기 ECC테이블의 인덱스 개수에 기반하여 상기 조정순위를 변경하고,상기 ECC테이블은상기 ECC테이블의 인덱스가 증가함에 따라, 출현 빈도 순위가 높아지다가 다시 낮아지도록 재구성되는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
4 |
4
제3항에 있어서,상기 랜덤넘버는0을 반환할 확률이 가장 크고, 0과 차이가 큰 값일수록 반환할 확률이 작아지는 확률밀도함수를 이용하여 결정되는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
5 |
5
제3항에 있어서,상기 ECC테이블이 개별 플레인코드의 출현 빈도 순위에 따라 복수의 클래스로 분류되었을 때,상기 플레인코드에 대응되는 사이퍼코드를 결정하는 단계는상기 복수의 클래스 중 상기 플레인코드에 대응되는 출현 빈도 순위가 포함된 클래스 내에서 상기 플레인코드에 대응되는 상기 사이퍼코드를 결정하는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
6 |
6
제1항에 있어서,상기 플레인코드에 대응되는 조정순위를 산출하는 단계의 이전 또는 이후에,상기 ET테이블의 출현 빈도 순위를 소정의 기준에 따라 인접한 인덱스 간에 맞변경하여 재구성하는 단계를 더 포함하는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
7 |
7
제1항에 있어서,상기 랜덤넘버는상기 비휘발성 메모리 장치에 최근 저장된 소정 개수의 플레인코드를 포함하는 히스토리큐를 이용하여, 상기 소정 개수의 플레인코드에 대응되는 소정 개수의 사이퍼코드를 획득하였을 때,상기 소정 개수의 사이퍼코드에 대응되는 셀의 상태값에 따라 복수의 확률밀도함수 중 하나를 이용하여 결정되는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
8 |
8
제1항에 있어서,상기 ECC테이블은사이퍼코드 각각에 대하여 상기 비휘발성 메모리 장치의 성능 목표를 소정 기준에 따라 수치화한 목적함수의 값으로 프로그래밍 디스턴스(Programming Distance, PD)를 정의하였을 때,개별 플레인코드의 출현 빈도 순위가 높아질수록, 낮은 PD값을 가지는 사이퍼코드와 매칭되는 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
9 |
9
제8항에 있어서,상기 목적함수는상기 비휘발성 메모리 장치에 대하여, 프로그래밍 시 셀의 상태, 프로그래밍 속도, 에러율 및 에너지 소비량 중 적어도 하나에 관한 성능 목표를 수치화한 함수인 것을 특징으로 하는 코드 밀도를 조절하는 데이터 스크램블링 방법
|
10 |
10
제1항의 데이터 스크램블링 방법에 따라 스크램블링된 데이터에 대하여 비휘발성 메모리 장치가 디스크램블링을 수행하는 방법에 있어서,플레인코드를 독출할 독출주소를 입력받는 단계;상기 독출주소에서 사이퍼코드를 독출하는 단계;개별 사이퍼코드에 대응되는 플레인코드의 출현 빈도 순위 정보를 포함하는 DT테이블 및 상기 독출주소에 기반하는 랜덤넘버를 이용하여, 상기 사이퍼코드에 대응되는 출현 빈도 순위를 산출하는 단계; 및상기 산출된 출현 빈도 순위를 이용하여, 개별 플레인코드의 출현 빈도 순위에 대응되는 플레인코드의 정보를 포함하는 DCC테이블에서 플레인코드를 획득하는 단계;를 포함하는 것을 특징으로 하는 데이터 디스크램블링 방법
|