KR101191813B1 - 데이터 압축 예측 장치 및 예측 방법 - Google Patents

데이터 압축 예측 장치 및 예측 방법 Download PDF

Info

Publication number
KR101191813B1
KR101191813B1 KR1020100103352A KR20100103352A KR101191813B1 KR 101191813 B1 KR101191813 B1 KR 101191813B1 KR 1020100103352 A KR1020100103352 A KR 1020100103352A KR 20100103352 A KR20100103352 A KR 20100103352A KR 101191813 B1 KR101191813 B1 KR 101191813B1
Authority
KR
South Korea
Prior art keywords
data block
characters
different characters
data
interval
Prior art date
Application number
KR1020100103352A
Other languages
English (en)
Other versions
KR20120041930A (ko
Inventor
김진수
박영조
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020100103352A priority Critical patent/KR101191813B1/ko
Publication of KR20120041930A publication Critical patent/KR20120041930A/ko
Application granted granted Critical
Publication of KR101191813B1 publication Critical patent/KR101191813B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects

Abstract

개시된 기술은 데이터 압축 예측방법에 관한 것으로서, 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 측정부 및; 상기 측정된 서로 다른 문자의 개수를 기초로 하여 상기 데이터블록의 압축여부를 예측하는 예측부를 포함하는 데이터 압축 예측 장치를 제공한다.
또한, 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 측정단계 및; 상기 측정된 서로 다른 문자의 개수를 기초로 하여 상기 데이터블록의 압축여부를 예측하는 예측단계를 포함하는 데이터 압축 예측 방법을 제공한다

Description

데이터 압축 예측 장치 및 예측 방법{DATA COMPRESSION SUPPORT SYSTEM AND METHOD OF THEREOF}
개시된 기술은 데이터 압축 예측방법에 관한 것으로서, 보다 상세하게는 압축 알고리즘 적용 전에 입력된 데이터 블록이 압축 가능한지를 미리 확인하여 미리 압축된 데이터 블록의 재압축을 방지하는 방법에 관한 것이다.
데이터를 압축하는 알고리즘 중에서 X-match방법은 무손실 압축 알고리즘으로 구현을 위한 하드웨어 비용이 적게 드는 장점이 있다. 이러한 특징으로 인하여, 높은 압축 성능을 하드웨어로 구현하는 곳에서 많이 사용되고 있다. X-match는 입력된 데이터를 고정된 크기의 데이터블록으로 나누어, 각 블록 단위로 압축을 진행한다. 입력된 데이터 블록은 데이터의 속성에 관한 정보는 가지고 있지 않기 때문에, X-math방법은 어떤 종류의 데이터가 입력되더라도 동일한 알고리즘에 의해 압축을 진행한다. 그러나, 이미 압축된 데이터는 추가적인 압축 효과를 기대하기 어렵기 때문에 오히려 압축 수행에 따라 압축된 데이터가 원본 데이터보다 커지는 경우가 발생한다.
개시된 기술이 해결하고자 하는 기술적 과제는 입력된 데이터 블록이 압축 가능한지를 미리 확인하여 미리 압축된 데이터 블록의 재압축을 방지하는 방법을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제1 측면은, 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 측정부 및; 상기 측정된 서로 다른 문자의 개수를 기초로 하여 상기 데이터블록의 압축여부를 예측하는 예측부를 포함하는 데이터 압축 예측 장치를 제공한다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제2측면은, 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 측정단계 및; 상기 측정된 서로 다른 문자의 개수를 기초로 하여 상기 데이터블록의 압축여부를 예측하는 예측단계를 포함하는 데이터 압축 예측 방법을 제공한다.
개시된 기술의 실시예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
개시된 기술의 일 실시예에 따르면, 입력된 데이터 블록이 압축 가능한지를 미리 확인하여 이미 압축된 데이터 블록의 재압축을 방지할 수 있다. 따라서, 압축에 들어가는 시간과 전력소모를 줄일 수 있는 장점이 있다.
도 1은 압축 예측 장치가 데이터블록에서 문자들의 개수를 파악하는 것을 개략적으로 보여주는 도면이다.
도 2는 일 실시예에 따른 압축 예측 장치의 블록도이다.
도 3은 개시된 기술의 일 실시예에 따른 데이터 압축 예측 방법을 설명하기 위한 순서도이다.
도 4는 일 실시예에 따라 MS-OFFICE의 설치된 파일을 대상으로 압축 예측을 수행하여 압축 가능한 데이터블록 및 압축이 되지 않은 데이터블록의 분포를 보여주는 그래프이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
'제1', '제2' 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
일 실시예에 따르면 압축 예측 장치는 압축하고자 하는 데이터를 4KB 크기의 데이터블록단위별로 압축 여부를 예측한다. 일반적으로 NAND 플래시 메모리의 데이터 압축 유닛은 압축하고자 하는 데이터를 4KB씩 처리한다. 따라서 압축 예측 장치 또한 4KB 크기의 데이터블록단위로 압축 여부를 예측하는 것이 이후의 데이터 프로세스 진행에 있어서 유리하다. 데이터블록의 압축 여부를 예측하기 위하여, 일 실시예에 의해 데이터블록을 소정의 컬럼(Culumn)들로 배열한다. 이때 컬럼의 배열은, 별도의 배열장치 또는 소정의 배열 알고리즘에 의해 수행되는 것은 아니며 데이터블록의 문자열을 4바이트씩 읽어옴에 따라 자연스럽게 수행된다.
NAND 플래시 메모리의 데이터 압축 유닛은 일반적으로 X-match 방법의 무손실 압축을 수행한다. 이때 X-match는 데이터블록을 4 바이트씩 읽어들여 2 바이트 이상의 같은 문자가 같은 위치에 존재할 경우 데이터를 코드화하여 압축블록에 기록하는 방법을 취한다. 일 실시예에 의한 압축 예측 장치는 X-match에 의한 압축 방법이 데이터블록내의 같은 문자의 개수에 의해 압축률이 정해지것에 착안하여 데이터블록내의 같은 문자의 개수를 측정하여 데이터블록의 압축 여부를 예측한다.
도 1은 압축 예측 장치가 데이터블록에서 문자들의 개수를 파악하는 것을 개략적으로 보여주는 도면이다. 도 1에 의하면 데이터블록은 4개의 컬럼(101,102,103,104)들로 배열되어 있다. 상술한 바와 같이 데이터블록을 컬럼들로 배열하는 것은 별도의 배열장치 또는 소정의 배열 알고리즘을 필요로 하는 것은 아니며 압축 예측 장치가 데이터블록의 문자열을 4바이트씩 읽음 따라 수행된다.
압축 예측 장치는 각 컬럼에 포함된 문자들 중에서 서로 다른 문자들의 개수를 측정한다. 일 실시예에 의하면, 첫 번째 컬럼(101)은 문자 a,e,a,k를 포함하고 a가 2개가 있으므로 서로 다른 문자의 개수는 3개이다. 두 번째 컬럼(102)는 문자 b,f,i,l을 포함하고 모두 다른 문자이므로 서로 다른 문자의 개수는 4개이다. 세 번째 컬럼(103)은 문자 c,g,c,c를 포함하고 c가 3개 이므로 서로 다른 문자의 개수는 2개이다. 네 번째 컬럼(104)은 문자 d,h,j,n을 포함하고 모두 다른 문자이므로 서로 다른 문자의 개수는 4개이다. 살펴본 바와 같이 압축 예측 장치는 데이터블록을 컬럼으로 배열하여 각 컬럼에 포함된 문자들 중에서 서로 다른 문자의 개수를 측정하여 해당 데이터 블록의 압축 여부를 예측한다.
도 2는 일 실시예에 따른 압축 예측 장치의 블록도이다. 일 실시예에 따른 압축 예측 장치(200)는 측정부(201) 및 예측부(202)를 포함한다. 측정부(201)는 데이터블록을 컬럼들로 배열하여 데이터블록의 서로 다른 문자의 개수를 측정한다. 여기서 '배열한다'의 뜻은 데이터블록의 문자들을 선행된 특정 프로세스 수행에 의하여 데이터블록의 구조를 변환한다는 뜻이 아니라, 측정부(201)가 데이터블록을 미리 설정된 간격으로 읽음에 따라 데이터블록을 컬럼들로 배열한 것과 같은 효과가 있다는 것을 말한다. 보다 상세하게, 측정부(201) 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정한다. 이때, 일 실시예에 따라 N 간격은 4바이트 간격이다.
한편, 데이터블록의 크기는 NAND 플래시 메모리에서의 데이터 처리가 4KB 단위로 수행되는 것을 고려하여 4KB의 크기인 것이 바람직하다. 그러나, 데이터블록의 크기는 4KB에 한정되는 것은 아니며, NAND 플래시 메모리에서의 데이터 처리 단위의 변화, 혹은 NAND 플래시 메모리에서 데이터를 압축할 때 사용되는 알고리즘의 변화에 따라 데이터블록의 크기는 가변 될 수 있다. 측정부(201)는 4KB 크기의 데이터블록을 컬럼들로 배열한다. 측정부(201)는 데이터 블록으로부터 4바이트씩 문자들을 읽고, 서로 다른 문자들의 개수를 측정한다. 측정부(201)가 데이터블록으로부터 4바이트식 문자열을 읽는 것은 X-match 압축알고리즘이 데이터블록으로부터 4바이트씩 문자열을 처리하기 때문이므로, NAND 플레시 메모리에서 어떤 압축알고리즘을 사용하느냐에 따라서, 측정부(201)가 데이터블록으로부터 읽는 문자열의 크기는 가변 될 수 있고, 배열되는 컬럼의 개수 또한 가변 될 수 있다.
압축 예측 장치(200)는 해당 데이터블록이 X-match 압축알고리즘에 의해 압축 가능한지 여부를 예측하여 데이터 블록의 재압축을 방지할 수 있게 한다. 따라서, 불필요한 압축으로 인해 소요되는 시간을 줄일 수 있어 NAND 플래시 메모리 성능 향상에 기여할 수 있다. 데이터블록 전체에서 서로 다른 문자들의 개수를 측정하는 데에는 많은 시간이 소요된다. 따라서, 데이터블록에서 소정의 샘플을 선택하여 전체 데이터블록의 압축 여부를 예측하는 것이 바람직하다.
예측부(202)는 측정부(201)에 의해 측정된 서로 다른 문자들의 개수를 미리 정해진 임계값과 비교하여 전체 데이터블록의 압축 여부를 예측한다. 이때, 임계값이 작게 정해진 경우 압축 가능한 데이터블록을 압축이 안 되는 블록으로 예측할 수 있다. 또한, 임계값은 데이터의 속성, 샘플의 크기 등에 따라 각각 달라지므로 선행된 실험을 통해 적절한 값을 설정하는 것이 바람직하다. 리눅스 커널을 데이터로 하여 압축 여부를 예측한 일 실시예에 의해, 데이터블록의 중반부 이후에서 32 ~ 256 바이트크기의 샘플을 선택하여 압축 여부를 예측하였다. 예측 결과 데이터블록 전체 4KB 가운데 32 바이트의 크기만으로도 전체 데이터블록의 압축 여부를 95% 예측할 수 있었다.
상술한 실시예에 따르면, 데이터블록이 압축 가능한지를 미리 확인하여 이미 압축된 데이터 블록의 재압축을 방지할 수 있다. 따라서, 압축에 들어가는 시간과 전력소모를 줄일 수 있는 장점이 있다.
도 3은 개시된 기술의 일 실시예에 따른 데이터 압축 예측 방법을 설명하기 위한 순서도이다. 데이터 압축 예측 방법을 설명하면 다음과 같다. 또한, 도 2의 압축 예측 장치를 시계열적으로 구현한 경우에도 본 실시예에 해당하므로 측정부(201) 및 예측부(202)에 대하여 설명된 부분은 본 실시예에서도 그대로 적용된다.
일 실시예에 따른 데이터 압축 예측 방법은 측정단계(S310) 및 예측단계(S320) 순으로 수행된다.
S310 단계에서, 측정부(201)는 데이터블록을 컬럼들로 배열하여 데이터블록의 서로 다른 문자의 개수를 측정한다. 여기서 '배열한다'의 뜻은 데이터블록의 문자들을 선행된 특정 프로세스 수행에 의하여 데이터블록의 구조를 변환한다는 뜻이 아니라, 측정부(201)가 데이터블록을 미리 설정된 간격으로 읽음에 따라 데이터블록을 컬럼들로 배열한 것과 같은 효과가 있다는 것을 말한다. 보다 상세하게, 측정부(201) 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정한다. 이때, 일 실시예에 따라 N 간격은 4바이트 간격이다.
한편, 데이터블록의 크기는 NAND 플래시 메모리에서의 데이터 처리가 4KB 단위로 수행되는 것을 고려하여 4KB의 크기인 것이 바람직하다. 그러나, 데이터블록의 크기는 4KB에 한정되는 것은 아니며, NAND 플래시 메모리에서의 데이터 처리 단위의 변화, 혹은 NAND 플래시 메모리에서 데이터를 압축할 때 사용되는 알고리즘의 변화에 따라 데이터블록의 크기는 가변 될 수 있다. 측정부(201)는 4KB 크기의 데이터블록을 컬럼들로 배열한다. 측정부(201)는 데이터 블록으로부터 4바이트씩 문자들을 읽고, 서로 다른 문자들의 개수를 측정한다. 측정부(201)가 데이터블록으로부터 4바이트식 문자열을 읽는 것은 X-match 압축알고리즘이 데이터블록으로부터 4바이트씩 문자열을 처리하기 때문이므로, NAND 플레시 메모리에서 어떤 압축알고리즘을 사용하느냐에 따라서, 측정부(201)가 데이터블록으로부터 읽는 문자열의 크기는 가변 될 수 있고, 배열되는 컬럼의 개수 또한 가변 될 수 있다.
압축 예측 장치(200)는 해당 데이터블록이 X-match 압축알고리즘에 의해 압축 가능한지 여부를 예측하여 데이터 블록의 재압축을 방지할 수 있게 한다. 따라서, 불필요한 압축으로 인해 소요되는 시간을 줄일 수 있어 NAND 플래시 메모리 성능 향상에 기여할 수 있다. 데이터블록 전체에서 서로 다른 문자들의 개수를 측정하는 데에는 많은 시간이 소요된다. 따라서, 데이터블록에서 소정의 샘플을 선택하여 전체 데이터블록의 압축 여부를 예측하는 것이 바람직하다.
S320 단계에서, 예측부(202)는 측정부(201)에 의해 측정된 서로 다른 문자들의 개수를 미리 정해진 임계값과 비교하여 전체 데이터블록의 압축 여부를 예측한다. 이때, 임계값이 작게 정해진 경우 압축 가능한 데이터블록을 압축이 안 되는 블록으로 예측할 수 있다. 또한, 임계값은 데이터의 속성, 샘플의 크기 등에 따라 각각 달라지므로 선행된 실험을 통해 적절한 값을 설정하는 것이 바람직하다. 리눅스 커널을 데이터로 하여 압축 여부를 예측한 일 실시예에 의해, 데이터블록의 중반부 이후에서 32 ~ 256 바이트크기의 샘플을 선택하여 압축 여부를 예측하였다. 예측 결과 데이터블록 전체 4KB 가운데 32 바이트의 크기만으로도 전체 데이터블록의 압축 여부를 95% 예측할 수 있었다.
상술한 실시예에 따르면, 데이터블록이 압축 가능한지를 미리 확인하여 이미 압축된 데이터 블록의 재압축을 방지할 수 있다. 따라서, 압축에 들어가는 시간과 전력소모를 줄일 수 있는 장점이 있다.
도 4는 일 실시예에 따라 MS-OFFICE의 설치된 파일을 대상으로 압축 예측을 수행하여 압축 가능한 데이터블록 및 압축이 되지 않은 데이터블록의 분포를 보여주는 그래프이다. 도 4에서 X축은 데이터블록내에서 측정된 서로 다른 문자의 개수를 나타내며 Y축은 예측에 사용된 데이터블록의 총 합을 1로 하여 도시한다. 압축 예측 수행에 사용된 파일의 크기는 900M이며, 4KB 데이터블록의 개수는 2,304개로 예측을 수행하였다. 실선으로 표시된 그래프는 압축 가능한 데이터블록으로 예상된 데이터블록의 누적값을 보여준다. 굵은 실선으로 표시된 그래프는 압축이 가능하지 않은 데이터블록으로 예상된 데이터 블록의 누적값을 보여준다. 데이터블록 내의 서로 다른 문자의 개수가 1 ~ 990개일 경우 압축 예측기는 해당 데이터블록을 압축 가능한 데이터블록으로 예상하였다. 데이터블록 내의 서로 다른 문자의 개수가 990개를 넘는 경우 압축 예측기는 해당 데이터블록을 압축이 가능하지 않은 데이터블록으로 예상하였다. 예측 수행에 사용된 총 2,304개의 데이터블록 가운데 73%에 해당하는 1,612개 데이터블록이 데이터블록 내의 서로 다른 문자의 개수가 990개 이하로서 압축 가능한 데이터블록인 것으로 예상되었다.
상술한 실시예에 따르면, 데이터블록이 압축 가능한지를 미리 확인하여 이미 압축된 데이터 블록의 재압축을 방지할 수 있다. 따라서, 압축에 들어가는 시간과 전력소모를 줄일 수 있는 장점이 있다.
이러한 개시된 기술인 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
201 : 측정부
202 : 예측부

Claims (16)

  1. 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 측정부 및;
    상기 측정된 서로 다른 문자의 개수를 기초로 하여 상기 데이터블록의 압축여부를 예측하는 예측부를 포함하는 데이터 압축 예측 장치.
  2. 제 1항에 있어서, 상기 측정부는
    상기 데이터블록으로부터 소정의 샘플을 선택하여 상기 샘플을 미리 설정된 N 간격으로 읽고, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 데이터 압축 예측 장치.
  3. 제 1항에 있어서, 상기 예측부는
    미리 설정된 임계값과 상기 서로 다른 문자의 개수를 비교하여, 상기 서로 다른 문자의 개수가 상기 임계값보다 작으면 상기 데이터블록을 압축가능한 데이터블록으로 예측하는 데이터 압축 예측 장치.
  4. 제 1항에 있어서,
    상기 미리 설정된 N 간격은 4바이트 간격인 데이터 압축 예측 장치.
  5. 제 1항에 있어서,
    상기 데이터블록의 크기는 4KB인 데이터 압축 예측 장치.
  6. 제 1항에 있어서,
    상기 데이터 압축예측 장치는 상기 데이터블록이 x-match 방법에 의해 압축되는지 여부를 예측하는 데이터 압축 예측 장치.
  7. 삭제
  8. 제 2항에 있어서,
    상기 소정의 샘플 크기는 32바이트 내지 256바이트인 데이터 압축 예측 장치.
  9. 데이터블록을 미리 설정된 N 간격으로 읽되, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 측정단계 및;
    상기 측정된 서로 다른 문자의 개수를 기초로 하여 상기 데이터블록의 압축여부를 예측하는 예측단계를 포함하는 데이터 압축 예측 방법.
  10. 제 9항에 있어서, 상기 측정단계는
    상기 데이터블록으로부터 소정의 샘플을 선택하여 상기 샘플을 미리 설정된 N 간격으로 읽고, 상기 간격의 n번째(1≤n≤N) 위치들에 있는 문자들 중 서로 다른 문자의 개수를 각각 측정하고 상기 측정된 값들을 합하여 상기 데이터블록의 서로 다른 문자의 개수를 측정하는 데이터 압축 예측 방법.
  11. 제 9항에 있어서, 상기 예측단계는
    미리 설정된 임계값과 상기 서로 다른 문자의 개수를 비교하여, 상기 서로 다른 문자의 개수가 상기 임계값보다 작으면 상기 데이터블록을 압축가능한 데이터블록으로 예측하는 데이터 압축 예측 방법.
  12. 제 9항에 있어서,
    상기 미리 설정된 N 간격은 4바이트 간격인 데이터 압축 예측 방법.
  13. 제 9항에 있어서,
    상기 데이터블록의 크기는 4KB인 데이터 압축 예측 방법.
  14. 제 9항에 있어서,
    상기 데이터 압축예측 장치는 상기 데이터블록이 x-match 방법에 의해 압축되는지 여부를 예측하는 데이터 압축 예측 방법.
  15. 삭제
  16. 제 10항에 있어서,
    상기 소정의 샘플 크기는 32바이트 내지 256바이트인 데이터 압축 예측 방법.
KR1020100103352A 2010-10-22 2010-10-22 데이터 압축 예측 장치 및 예측 방법 KR101191813B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100103352A KR101191813B1 (ko) 2010-10-22 2010-10-22 데이터 압축 예측 장치 및 예측 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100103352A KR101191813B1 (ko) 2010-10-22 2010-10-22 데이터 압축 예측 장치 및 예측 방법

Publications (2)

Publication Number Publication Date
KR20120041930A KR20120041930A (ko) 2012-05-03
KR101191813B1 true KR101191813B1 (ko) 2012-10-16

Family

ID=46262820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100103352A KR101191813B1 (ko) 2010-10-22 2010-10-22 데이터 압축 예측 장치 및 예측 방법

Country Status (1)

Country Link
KR (1) KR101191813B1 (ko)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:정보과학회논문지

Also Published As

Publication number Publication date
KR20120041930A (ko) 2012-05-03

Similar Documents

Publication Publication Date Title
US8659452B2 (en) Data compression devices, operating methods thereof, and data processing apparatuses including the same
Zhao et al. Significantly improving lossy compression for HPC datasets with second-order prediction and parameter optimization
US8244992B2 (en) Policy based data retrieval performance for deduplicated data
JP6106637B2 (ja) フレーム型データの可変分解能処理
US8407378B2 (en) High-speed inline data compression inline with an eight byte data path
US20120131266A1 (en) Memory controller, data storage system including the same, method of processing data
US9710166B2 (en) Systems and methods for predicting compressibility of data
CN106844166B (zh) 一种数据处理方法及装置
JP6544253B2 (ja) 未知のバイナリモジュールのための有効な入力を決定する方法及び非一時的なコンピュータ可読媒体
JP6345346B2 (ja) 分析装置及び分析方法及び分析プログラム
US9791911B2 (en) Determining whether a change in power usage is abnormal when power usage exceeds a threshold based on additional metrics of components in an electronic device
KR101191813B1 (ko) 데이터 압축 예측 장치 및 예측 방법
EP3537303B1 (en) Trace data compression method selection device. method, and program
CN113360902B (zh) shellcode的检测方法、装置、计算机设备及计算机存储介质
US9348535B1 (en) Compression format designed for a very fast decompressor
CN113590021A (zh) 存储系统
US11936404B2 (en) Data aware compression in a storage system
CN115510450B (zh) 一种面向计算机二进制程序的比对依赖识别方法与系统
US10255166B2 (en) Determination of valid input sequences for an unknown binary program
TWI541818B (zh) 於記憶體陣列編碼資料之技術
CN117375627B (zh) 适用于字符串的纯文本格式数据的无损压缩方法和系统
US20230376203A1 (en) Data recording apparatus, data recording method, and non-transitory computer readable medium
KR20170065845A (ko) 프로세서 및 제어 방법
CN113780302A (zh) 一种评估特征有效性的方法及相关装置
US9558109B2 (en) Method and apparatus for flash memory arithmetic encoding and decoding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151109

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee