KR20040105529A - 최적화 압축관리 메커니즘을 구비한 저장장치 - Google Patents
최적화 압축관리 메커니즘을 구비한 저장장치 Download PDFInfo
- Publication number
- KR20040105529A KR20040105529A KR1020030054767A KR20030054767A KR20040105529A KR 20040105529 A KR20040105529 A KR 20040105529A KR 1020030054767 A KR1020030054767 A KR 1020030054767A KR 20030054767 A KR20030054767 A KR 20030054767A KR 20040105529 A KR20040105529 A KR 20040105529A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- compression
- storage device
- microprocessor
- storage medium
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/08—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Memory System (AREA)
Abstract
본 발명은 일종의 최적화 압축관리 메커니즘을 구비한 저장장치로, 주로 하나의 제어기와 적어도 하나의 고상 저장매체로 구성되는데, 그중 제어기 내에는 적어도 하나의 외부 시스템 단말과 연결되는 시스템 인터페이스, 시스템 명령을 처리하는 마이크로프로세서 및 하나의 고상 저장매체와 상호 교통하는 메모리 인터페이스를 갖추고 있으며, 제어기를 통해 저장하려는 소스 데이타의 유형에 대해 판독을 진행하고, 소스 데이타의 가장 적당한 압축 알고리즘과 부합되는 매개변수 리스트를 선택하여 외부 시스템 단말이 전송한 소스 데이타를 최적화된 비율로써 가장 적은 저장단위의 극소량화된 데이타로 압축하고, 이를 고상 저장매체에 기입하며, 이로써 고상 저장매체의 저장용량을 크게 하지 않는 전제 하에서 대폭적으로 고상 저장매체의 데이타 저장량을 개선시킨다.
Description
본 발명은 최적화 압축관리 메커니즘을 구비한 저장장치에 관한 것으로, 특히 일종의 스스로 최적의 압축 연산법을 선택하여 저장을 기다리는 데이타에 최적화된 압축을 가하는 저장장치에 관한 것이다.
실리콘 칩을 이용한 메모리를 고정매체(예를 들어 플래시 메모리)로 하는 추세가 점차 보편화되고 있는데, 실리콘 칩으로 된 메모리는 전기소모가 적고 신뢰성이 높으며 용량이 크고 저장속도가 빠른 등 많은 장점을 가지고 있어 CF, MS, SD, MMC, SM 등의 소형 마이크로 메모리 카드와 USB 휴대용 드라이버 등 고상 저장매체에 광범위하게 운용되고 있는데, 이 저장장치(A)(도 6에서 예시한 대로)는 내부에 고상 저장매체(A2) 이외에 하나의 제어기(A1)를 갖추고 있으며, 이 제어기(A1)는 하나의 외부 시스템 단말(B)과 결합되는 시스템 인터페이스(A11), 하나의 시스템 명령을 처리하는 마이크로프로세서(A12), 및 하나의 고상 저장매체(A2)와 상호 교통하는 메모리 인터페이스(A13)를 갖추고 있어, 시스템 단말(B)으로 부터의 저장데이타를 이 고상 저장매체(A2)에 기록해 넣거나 또는 이 고상 저장매체(A2)로부터 저장된 데이타 중 필요한 것을 불러낸다.
그러나 메모리 카드 또는 USB 휴대용 드라이버 등 어떤 저장장치에서나 그 생산원가와 판매가격의 관건은 내장된 고상 저장매체의 용량의 크기인데, 현재 시중에 시판되고 있는 고상 저장매체량으로 보아 64MB, 128MB 및 256MB 등급의 고상 저장매체가 원가와 수매가격에서 내장된 고상 저장매체의 저장용량과 정비례하고 있다. 즉, 고상 저장매체의 저장용량이 클수록 저장장치의 판매가격은 높아지고, 그 반대는 낮아진다. 그러나 하드웨어의 제작기술이 일정한 정도에 이르면 고상 저장매체는 동일한 사이즈 규격에서 현재의 CD-R과 동일한 지경에 이르는데, 즉 저장용량이 더 이상 증가되지 않게 된다. 비록 현재 이미 나노 기술을 이용한 저장공간의 극소화로 저장용량을 높일 수 있다는 이론이 나와 있지만 현재까지는 기술이 초기단계에 있어 저장량이 더 이상 증가되지 않는 문제점을 극복하기는 어렵다.
현재 널리 알려진 저장용량의 부족을 개선하는 방법으로는 전술한 저장장치 자체(메모리 카드, USB 휴대용 드라이버)의 적당한 곳에 하나의 삽입홈을 설치하고, 이 삽입홈에 다시 외부 메모리 카드를 삽입하여 메모리 용량을 확충시키는 목적에 도달하는 방법이 사용되고 있다. 그러나 이 경우 비록 저장용량이 부족한 문제를 해결할 수는 있지만 반드시 외부 메모리 카드를 따로 구매해야하는 원가증가의 문제가 발생하는 등 많은 결점을 가지고 있다.
또한 다른 관점에서 보면, 만약 따로 고상 저장매체나 외부 저장장치를 구매하지 않으려면 반드시 외부 데이타에 대해 압축처리를 해야 하는데, 이렇게 되면저장 데이타량을 감소시켜 고상 저장매체의 데이타 저장용량을 증가시킬 수 있다. 그러나 현재 집행이 가능한 데이타압축 작업은 컴퓨터 시스템만이 그 실시능력이 있는데, 이는 저장공간을 확충시켜 비교적 이상적인 전송율을 획득하며 이로써 적당한 압축 소프트웨어(예를 들어, winrar, winzip)를 통해 파일 데이타에 압축을 행하고 다시 내부 저장장치(예를 들어, 하드웨어)나 또는 외부 저장장치(예를 들어, 광 디스크, 플로피 디스켓, 휴대용 드라이버 또는 전자 메모리 카드 등)에 저장한다.
따라서 만약 그 자체에 저장기능 외에 데이타의 압축기술을 구비하고 스스로 외부의 소스 데이타에 대해 압축을 진행하여 다시 저장하고, 심지어 스스로 최적의 압축 메커니즘을 구비하여, 나아가 소스 데이타량을 극소량화할 수 있는 저장장치가 있다면 저장장치의 하드웨어 구매와 부합되는 외부설비의 구매에 따른 원가의 낭비를 줄이는 동시에 저장 데이타량을 배로 증가시킬 수 있을 것이다.
이에 본 발명의 주요목적은 일종의 최적화 압축관리 메커니즘을 구비한 저장장치를 제공하며, 내부의 압축 메커니즘에 의해 소스 데이타의 데이타량을 대폭 축소시켜 고상 저장매체의 데이타저장용량을 증가하며, 나아가 저장용량의 개선이라는 목적에 도달하며, 동시에 제품의 원가를 저하시킴은 물론 저장과 불러오기 속도를 개선시킨다.
본 발명의 또 다른 목적은 일종의 최적화 압축관리 메커니즘을 구비한 저장장치를 제공하는데 있어, 스스로 최적화된 압축기술을 선택하여 소스 데이타를 극소량화된 데이타로 압축하고 나아가 고상 저장매체의 데이타 저장용량을 배로 증가시키는 데 있다.
전술한 목적을 달성하기 위해 본 발명은 일종의 최적화 압축관리 메커니즘을 구비한 저장장치를 제공하는데, 이는 주로 하나의 제어기와 적어도 하나의 고상 저장매체로 구성되는데, 상기 제어기 내에는 적어도 하나의 외부 시스템 단말과 연결되는 시스템 인터페이스, 시스템 명령을 처리하는 마이크로프로세서 및 하나의 고상 저장매체와 상호 교통하는 메모리 인터페이스를 갖추고 있으며, 그중 시스템 인터페이스와 메모리 인터페이스 간에는 하나의 데이타 압축/압축해제 모듈을 배치하여 저장하려고 하는 소스 데이타를 일정한 압축비율로써 압축하고 이를 고상 저장매체에 기록한다.
그중 최적화된 압축기술에 도달하기 위해 이 데이타 압축/압축해제 모듈은 내부에 하나의 데이타압축 회로와 이 데이타압축 회로와 부합하여 사용되는 다수의 알고리즘 정의를 갖추고 있으며, 마이크로프로세서가 시스템 인터페이스에 전송한 소스 데이타에 대해 판독을 진행하고 나아가 스스로 이 데이타 유형에 가장 적당한 알고리즘 정의를 선택하여 데이타 압축회로로 하여금 이 최적의 알고리즘 정의에 의해 소스 데이타를 압축하고, 하나의 최소의 저장단위를 갖춘 소량화된 압축데이타를 구성하며, 메모리 인터페이스의 전송을 통해 압축 후의 소량화 데이타를 고상 저장매체에 기록한다.
이하, 도면을 참고로 본 발명의 상세한 구조와, 응용원리와, 작용 및 기능을 보다 상세히 설명하기로 한다.
도 1은 본 발명의 비교적 구체적 실시예의 개략적인 회로도.
도 2는 도 1에 근거한 미압축 상태하의 고상 저장매체가 구비한 형식 내용 도시도.
도 3은 본 발명인 또 다른 실시예의 개략적인 회로도.
도 4는 도 3에 근거한 압축이 완성된 후의 고상 저장매체가 구비한 형식 내용 도시도.
도 5a는 도 3에 의거한 압축 상태도.
도 5b는 도 3에 의거한 압축해제 상태도.
도 6은 종래의 저장장치의 개략적인 회로도.
〈도면의 주요 부분에 대한 부호의 설명〉
1:저장장치 10:제어기
104:시스템 인터페이스 102:마이크로프로세서
106:메모리 인터페이스 108:데이타 압축/압축해제 모듈
1082:데이타 압축회로 1083a-1083n:알고리즘 정의
1084a-1084n:매개변수 리스트 1085:데이타 압축해제 회로
110:제1 데이타 캐시 120:제2 데이타 캐시
20:고상 저장매체 2:외부 시스템 단말
4:테이타 저장 블럭 44:제어정보 저장영역
441:상태 플래그 442:오류 정정 코드
443:논리 어드레스 레코드 444:보류공간
도 1을 참고하면 이는 본 발명인 일종의 최적화 압축관리 메커니즘을 구비한 저장장치의 개략적인 회로도이다. 그중 저장장치(1)는 현재 광범하게 각종 휴대용 디지털 제품에 응용되고 있는 메모리 카드 형태, 개인용 컴퓨터 영역의 USB 휴대용 드라이버, 또는 아직 개발단계에 있는 고상 저장매체(즉, 플래시 메모리)의 기타 저장장치이다.
상기 저장장치(1)는 주로 하나의 제어기(10)와 적어도 하나의 고상 저장매체(20)로 구성되는데, 상기 제어기(10) 내에는 시스템 단말과 연결되는 시스템 인터페이스(104), 마이크로프로세서(102) 및 메모리 인터페이스(106)를 갖추고 있다. 시스템 인터페이스(104)는 미리 설치된 외부 시스템 단말(2)(즉, 전술한 각종 휴대용 디지털 제품과 컴퓨터 시스템 등의 응용 설비)과의 결합에 쓰이며, 메모리 인터페이스(106)는 상기 고상 저장매체(20)와 상호 결합에 사용되고, 마이크로프로세서(102)는 시스템 인터페이스(104)와 메모리 인터페이스(106)에 결합된다.
도 1에서 예시한 것은 본 발명 중 고상 저장매체(20)의 저장용량을 개선하기 위해 채용한 설계인데, 저장장치(1)내에 하나의 데이타 압축/압축해제 모듈(108)이 설치되는데, 이는 시스템 인터페이스(104)와 메모리 인터페이스(106) 사이에 배치되며 마이크로프로세서(102)와 전기적으로 결합된다. 한편 고, 저속 인터페이스 사이의 전송속도의 불일치에 대응하기 위해 따로 제1 데이타 캐시(110)과 제2 데이타 캐시(120)를 설치하는데, 그중 제1 데이타 캐시(110)는 데이타 압축/압축해제 모듈(108)과 전술한 시스템 인터페이스(104)에 전기적으로 결합되어, 데이타 압축/압축해제 모듈(108)의 전단 캐시가 되고, 제2 데이타 캐시(120)는 데이타 압축/압축해제 모듈(108)과 전술한 메모리 인터페이스(106)에 전기적으로 결합되며, 데이타 압축/압축해제 모듈(108)의 후단 캐시가 된다. 이러한 캐시(110, 120)는 데이타의 일시저장용으로 쓰인다.
소스 데이타를 저장장치(1)의 고상 저장매체(20)에 기록, 저장하려고 할 때 시스템 인터페이스(104)가 외부 시스템 단말(2)에서 전송한 소스 데이타를 접수하며, 마이크로프로세서(102)가 본 발명에서 설계한 데이타 압축/압축해제 모듈(108)중의 압축 메커니즘을 거쳐 이 소스 데이타에 대해 적당한 압축비율로써 먼저 압축작업을 진행하여, 이로써 극소량화의 압축데이타를 형성한다. 그런 후 다시 메모리 인터페이스(106)가 이를 고상 저장매체(20)에 기록 저장한다. 이로써 본 발명은 압축 메커니즘의 설계로 인해 저장장치(20)가 압축전의 소스 데이타 저장용량보다 몇 배의 저장용량을 가지게 된다.
이 실시예에서 채용한 설계 중에서 시스템 인터페이스(104)는 소스 데이타를 전송하여 압축이 진행되기 전에 소스 데이타를 먼저 제1 데이타 캐시(110)에 일시 저장하고 다시 데이타 압축/압축해제 모듈(108)에 의해 일정한 전송비율로써 제1 데이타 캐시(110)으로부터 소스 데이타를 뽑아내어 압축을 진행하며, 동시에 압축된 후의 소량화된 데이타를 제2 데이타 캐시(120)에 일시 저장한다. 그리고 마이크로프로세서(102)의 주도적인 제어에 의해 제2 데이타 캐시(120)에 일시저장된 소량화된 데이타는 메모리 인터페이스(106)를 경유하여 고상 저장매체(20)에 저장된다.
반대로 압축해제 모드에서는 데이타 압축/압축해제 모듈(108)중의 압축해제메커니즘을 이용하여 메모리 인터페이스(106)가 고상 저장매체(20)중에서 뽑아낸 소량화된 압축데이타에 대해 압축해제 처리를 행한다. 이때, 제2 데이타 캐시(120)는 압축해제를 기다리는 데이타의 일시저장에 쓰인다. 그리고 제1 캐시(110)는 이미 압축이 해제되어 원래 형태로 환원된 소스 데이타를 일시 저장하며 시스템 인터페이스(104)를 통해 압축해제가 완성되어 원래 모습대로 환원된 데이타를 외부 시스템 단말(2)으로 전송한다.
도 2를 참고하면 외부 시스템 단말(2)에서 인입되어 고상 저장매체(20)에 기록, 저장된 데이타는 소스 데이타 이외에 반드시 소스 데이타를 저장하는 제어정보를 가지게 된다. 고상 저장매체(20)는 약간의 데이타 저장 블럭(4)으로 구성되는데, 본 실시예 중 매 하나의 데이타 저장 블럭(4)은 저장공간 528개의 단위조합을 차지하게 된다. 그중 매 하나의 데이타 저장 블럭(4)은 또한 데이타 저장 영역(42)(512개의 단위조합을 차지하는데 이는 하나의 섹터 크기와 동일함) 및 제어정보 저장 영역(44)(16개의 단위조합을 차지)을 갖추고 있으며, 제어정보 저장 영역(44)중에 저장된 제어정보는 하나의 막대모양의 상태 플래그(status flag; 441), 오류 정정 코드(error correction code; 442) 및 논리 어드레스 레코드(logical address record; 443) 등 상관 제어용 정보를 포함하는 외에, 일부분은 보류공간으로 미사용 상태(예를 들어, 도 2 중의 보류공간(444))이다. 이에 본 발명의 데이타 압축/압축해제의 최적화 과정중 전술한 보류공간(444)을 이용하여 이를 압축기록의 저장공간으로 활용한다.
도 1 내지 도 3은 본 발명이 도달한 최적화 압축기술을 설명해 주고 있다.
도 1에서 데이타 압축/압축해제 모듈(108) 내에는 도 3에서 예시한 데이타 압축회로(1082)와 데이타 압축회로(1082)에 부합하여 쓰이는 다수의 알고리즘 정의(예를 들어, 1083a-1083n) 및 매개변수 리스트(1084a-1084n)가 배치된다. 상기 알고리즘 정의는 일종의 압축/압축해제 알고리즘을 정의하며 매 한 종류의 압축/압축해제 알고리즘은 여러 종류의 매개변수 리스트와 부합해 쓰이며 부합된 압축 조합은 소스 데이타에 대해 가장 적은 저장단위를 가진 소량화 데이타를 만든다.
상기 마이크로프로세서(102)로부터 시스템 인터페이스(104)가 전송한 소스 데이타의 유형에 대해 최적의 압축조합을 판독하는데, 마이크로프로세서(102)가 데이타 유형을 판독하는 방식은 소스 데이타를 이진법 분포형태로써 판별하는 것이다. 즉, 소스 데이타를 구성하는 "0" 과 "1"의 단위원소가 각각 차지하는 비율과 집중, 또는 분산의 정도, 그리고 특정 분포형태의 중복현상 등의 요소에 따라 최적의 알고리즘 정의를 결정한다. 데이타유형을 판독한 후에 즉시 알고리즘 정의(1083)의 그룹조합과 매개변수 리스트(1084)의 그룹조합의 배열조합 중 이 데이타 유형에 대한 최적의 압축 연산 조합을 선택하고, 마이크로프로세서(102)로부터 데이타 압축회로(1082)에 명령을 내려 최적의 압축조합으로 소스 데이타에 대해 압축처리를 진행하게 한다. 이렇게 하여 최소의 저장단위를 가진 소량화된 데이타가 형성되면 이를 제2 데이타 캐시(120)에 일시보관한다. 메모리 인터페이스(106)가 자극을 받아 소량화된 데이타를 고상 저장매체(20)에 기록, 저장하는 동시에 이 소량화 데이타에 대응하는 최적 알고리즘 정의와 매개변수 리스트의 색인을 고상 저장매체(20)에 기록, 저장한다. 그중 소량화된 데이타는 데이타 저장 블럭(4)의데이타 저장 영역(42)중에 저장되며, 본 발명의 압축을 통해 형성된 색인은 데이타 저장 불럭(4)의 보류공간(444)에 저장된다.
한편, 데이타 압축/압축해제 모듈(1082)내에는 아직 데이타 압축회로(1085)를 구비하지 않았기 때문에 외부 시스템 단말(2)이 저장장치(1)의 데이타를 뽑아내려고 할 때 마이크로프로세서(102)의 자극을 통해 즉시 메모리 인터페이스(106)를 경유해 고상 저장매체(20)의 보류공간(444)중에서 이전에 저장한 색인을 읽어내고 이 색인이 지시하는 알고리즘 정의와 매개변수 리스트에 의거해 저장된 소량화 데이타에 대해 압축을 해제하여 원래의 소스 데이타로 환원하며, 나아가 시스템 인터페이스(104)를 통해 소스 데이타를 외부 시스템 단말(2)으로 전송한다.
도 4 및 도 5를 참고하면, 이는 본 발명의 최적화 압축관리 메커니즘을 집행하는 비교적 구체적인 실시예 과정이다.
외부로부터 소스 데이타가 인입해 제1 데이타 캐시(110)에 기입되면, 마이크로프로세서(102)가 소스 데이타의 이진법 분포형태에 대한 판독을 진행한 후, 즉시 스스로 알고리즘 정의(1083) 그룹조합과 매개변수 리스트(1084) 그룹조합 중 분포형태에 대한 최적의 압축조합을 선택한다. 본 실시예 중 제1 알고리즘 정의(1083a)와 이에 부합되는 제2 매개변수 리스트(1084b)를 이 도면 파일 형식의 압축조합(1,2)으로 선정하였는데, 그런 후 즉시 데이타 압축/압축해제 모듈(108) 내의 데이타 압축회로(1082)를 작동시켜 압축조합(1,2)을 데이타 압축회로(1082)에 보내어 소스 데이타 압축의 근거로 삼는다. 본 실시예 중 상기 압축조합(1,2)은 소스 데이타를 1/2의 비율로써 압축(즉, 원래의 소스 데이타가 512byte 공간을 차지하고 압축 후에는 256byte 공간을 차지함)하여 데이타 기록구역(4)중 원래 하나의 소스 데이타 파일만을 저장하던 데이타 저장영역(42)은 압축후 동일한 데이타 저장영역(42)에 두 개의 압축 후 소량화된 압축데이타를 수용하게 된다. 이로써 본 발명의 최적화 압축 후에 동일한 저장공간이 압축전의 데이타의 저장용량의 두 배를 저장할 수 있음을 보여주고 있다.
압축한 소스 데이타를 저장하는 동시에 제어정보 기록구역(44)은 상태 플래그(441), 오류 정정 코드(442), 논리 어드레스 레코드(443) 외에 따로 보류공간(444) 중에 두 조합의 새로 증가한 색인(1,2)을 보관하는데, 상기 괄호 중의 제1 수치와 제2 수치는 각각 소량화된 데이타에 적용되는 제1 알고리즘 정의와 제2 매개변수 리스트를 표시한다. 이 색인(1,2)으로써 데이타의 압축해제처리에 쓰이는데 코드해독 작업은 아래서 설명하기로 한다.
도 4와 도 5b는 본 발명의 최적화 압축해제관리 메커니즘을 집행하는 비교적 구체적인 실시예 과정이다.
제어기가 시스템 단말로부터 데이타의 읽어내기 요구를 받으면, 이 데이타의 논리 어드레스 레코드(443)에 의거해 이 데이타 파일에 대응되는 논리 어드레스를 찾고, 고상 저장매체 내에 저장된 대응되는 데이타 기록구역(4)을 결정하고, 고상 저장매체 중으로부터 데이타 기록구역(4)에 저장된 내용을 읽어내어 제2 데이타 캐시(120)으로 보내며, 이어 마이크로프로세서를 가동시켜 압축해제회로(1085)를 작동시킨다. 이 때 압축해제회로(1085)는 동일한 데이타 기록구역(4)의 보류공간(444)에 저장된 색인(1,2)을 읽어내고 이 색인의 지시에 의거해 제1 알고리즘 정의와 제2 매개변수 리스트를 읽어내어 정확하게 압축된 데이타를 해제하여 원래의 소스 데이타로 환원한다. 이어 압축해제가 완성된 소스 데이타는 제1 데이타 캐시(110)에 전송되고, 외부 시스템 단말(2)으로의 전송을 기다리게 된다.
전술한 최적화 압축관리 메커니즘을 구비한 저장장치를 제공하며, 내부의 압축 메커니즘에 의해 소스 데이타의 데이타량을 대폭 축소시켜 고상 저장매체의 데이타저장용량을 증가하며, 나아가 저장용량의 개선이라는 목적에 도달하며, 동시에 제품의 원가를 저하시킴은 물론 저장과 불러오기 속도를 개선시킬 수 있다.
또한, 스스로 최적화된 압축기술을 선택하여 소스 데이타를 극소량화된 데이타로 압축하고 나아가 고상 저장매체의 데이타 저장용량을 배로 증가시킬 수 있다.
전술한 설명은 본 발명의 양호한 실시예의 예로서 제공되고, 본 발명의 창작 목적, 특징 및 효과를 설명한 것에 불과하며, 이 분야의 기술에 숙련된 자가 전술한 원리에 의거해 본 발명의 새로운 개념의 정신 및 범위를 벗어나지 않고도 다양한 변경 및 변화를 행할 수 있으므로, 본 발명의 새로운 개념의 정신 및 범위에 속하는 변경 및 변화는 모두 본 발명의 범위에 속하는 것임을 밝혀둔다.
Claims (7)
- 하나의 제어기(10)와 적어도 하나의 고상 저장매체(20)로 구성되며, 상기 제어기(10) 내에는 적어도 하나의 외부 시스템 단말과 연결되는 시스템 인터페이스(104)와, 시스템 명령을 처리하는 마이크로프로세서(102) 및 상기 하나의 고상 저장매체(20)와 상호 교통하는 메모리 인터페이스(106)를 갖추고 있는 최적화 압축관리 메커니즘을 구비한 저장장치에 있어서,상기 시스템 인터페이스(104)와 메모리 인터페이스(106) 간에 전기적 결합으로 상기 마이크로프로세서(102)를 배치하고 또한, 데이타 압축회로(1082)와 이에 부합되어 사용되는 다수의 알고리즘 정의(1083a...1083n)와 매개변수 리스트(1084a...1084n)의 데이타 압축/압축해제 모듈(108)을 배치하여,상기 마이크로프로세서(102)를 통해 시스템 인터페이스(104)에 전송한 소스 데이타에 대해 판독을 진행하고 스스로 상기 알고리즘 정의(1083a...1083n)와 매개변수 리스트(1084a...1084n)의 배열조합 중 소스 데이타의 유형에 대한 최적의 압축조합을 선택하면, 상기 데이타 압축회로(1082)는 이 최적의 압축조합에 의해 소스 데이타를 압축하여, 하나의 최소의 저장단위를 갖춘 소량화된 압축데이타를 구성하여, 상기 메모리 인터페이스(106)의 전송을 통해 최소의 저장단위를 갖는 압축 후의 소량화 데이타가 상기 고상 저장매체(20)에 기록되는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
- 제1항에 있어서, 상기 고상 저장매체(20)는 상기 최적의 알고리즘 정의와 매개변수 리스트에 대응되는 색인을 저장하는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
- 제1항에 있어서, 상기 데이타 압축/압축해제 모듈(108)이 데이타 압축해제회로(1085)를 포함하고 있어, 상기 마이크로프로세서(102)의 자극에 의해 상기 고상 저장매체(20)로부터 색인를 읽어내고 저장된 소량화된 데이타에 대응되는 이 색인 의 알고리즘 정의와 매개변수 리스트에 의거해 압축해제를 실행하여 소스 데이타로 환원시키는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
- 제1항에 있어서, 상기 시스템 인터페이스(104)와, 상기 마이크로프로세서(102) 및 상기 데이타압축/해제 모듈(108)과 전기적으로 결합되는 하나의 제1 데이타 캐시(110)를 더 포함하는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
- 제1항에 있어서, 상기 제어기(10)는 상기 시스템 인터페이스(104)와, 상기 마이크로프로세서(102) 및 상기 데이타압축/해제 모듈(108)과 전기적으로 결합되는 하나의 제2 데이타 캐시(120)를 더 포함하는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
- 제1항에 있어서, 상기 데이타 압축/압축해제 모듈(108)이 상기 제어기(10) 내에 배치되는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
- 제1항에 있어서, 상기 마이크로프로세서(102)는 소스 데이타에 대해 이진법 분포형태로써 판독의 근거로 삼는 것을 특징으로 하는 최적화 압축관리 메커니즘을 구비한 저장장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW092115319 | 2003-06-05 | ||
TW092115319A TWI220959B (en) | 2003-06-05 | 2003-06-05 | Storage device with optimized compression management mechanism |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040105529A true KR20040105529A (ko) | 2004-12-16 |
Family
ID=33488669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030054767A KR20040105529A (ko) | 2003-06-05 | 2003-08-07 | 최적화 압축관리 메커니즘을 구비한 저장장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20040250009A1 (ko) |
JP (1) | JP2004362530A (ko) |
KR (1) | KR20040105529A (ko) |
DE (1) | DE10339225A1 (ko) |
TW (1) | TWI220959B (ko) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3981066B2 (ja) * | 2003-11-07 | 2007-09-26 | 株式会社東芝 | ホスト機器、メモリカード、メモリ容量変更方法及びメモリ容量変更プログラム |
US7162583B2 (en) * | 2003-12-29 | 2007-01-09 | Intel Corporation | Mechanism to store reordered data with compression |
US7783520B2 (en) * | 2004-04-16 | 2010-08-24 | Sap Ag | Methods of accessing information for listing a product on a network based auction service |
US7627500B2 (en) * | 2004-04-16 | 2009-12-01 | Sap Ag | Method and system for verifying quantities for enhanced network-based auctions |
US7877313B2 (en) * | 2004-04-16 | 2011-01-25 | Sap Ag | Method and system for a failure recovery framework for interfacing with network-based auctions |
US7788160B2 (en) * | 2004-04-16 | 2010-08-31 | Sap Ag | Method and system for configurable options in enhanced network-based auctions |
US7860749B2 (en) * | 2004-04-16 | 2010-12-28 | Sap Ag | Method, medium and system for customizable homepages for network-based auctions |
TWI228257B (en) * | 2004-05-06 | 2005-02-21 | Carry Computer Eng Co Ltd | Silicon storage media, controller, and access method thereof |
US7895115B2 (en) | 2005-10-31 | 2011-02-22 | Sap Ag | Method and system for implementing multiple auctions for a product on a seller's E-commerce site |
US8095428B2 (en) | 2005-10-31 | 2012-01-10 | Sap Ag | Method, system, and medium for winning bid evaluation in an auction |
US8095449B2 (en) | 2005-11-03 | 2012-01-10 | Sap Ag | Method and system for generating an auction using a product catalog in an integrated internal auction system |
US7835977B2 (en) * | 2005-11-03 | 2010-11-16 | Sap Ag | Method and system for generating an auction using a template in an integrated internal auction system |
US8155315B2 (en) * | 2006-01-26 | 2012-04-10 | Rovi Solutions Corporation | Apparatus for and a method of downloading media content |
US8560760B2 (en) | 2007-01-31 | 2013-10-15 | Microsoft Corporation | Extending flash drive lifespan |
US7657572B2 (en) | 2007-03-06 | 2010-02-02 | Microsoft Corporation | Selectively utilizing a plurality of disparate solid state storage locations |
US7692975B2 (en) | 2008-05-09 | 2010-04-06 | Micron Technology, Inc. | System and method for mitigating reverse bias leakage |
US9772936B2 (en) * | 2008-07-10 | 2017-09-26 | Micron Technology, Inc. | Data collection and compression in a solid state storage device |
US9135168B2 (en) * | 2010-07-07 | 2015-09-15 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error |
US9141538B2 (en) * | 2010-07-07 | 2015-09-22 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive |
US8868852B2 (en) * | 2010-07-07 | 2014-10-21 | Marvell World Trade Ltd. | Interface management control systems and methods for non-volatile semiconductor memory |
US8725933B2 (en) * | 2011-07-01 | 2014-05-13 | Intel Corporation | Method to detect uncompressible data in mass storage device |
EP2746953A4 (en) * | 2011-08-15 | 2014-08-20 | Spreadtrum Comm Shanghai Co | METHOD FOR ON-DEMAND PAGINATION IN A MOBILE TERMINAL, CONTROLLER AND MOBILE TERMINAL THEREOF |
US9053018B2 (en) * | 2012-06-29 | 2015-06-09 | International Business Machines Corporation | Compressed memory page selection based on a population count of a dataset |
KR101997794B1 (ko) * | 2012-12-11 | 2019-07-09 | 삼성전자주식회사 | 메모리 제어기 및 그것을 포함한 메모리 시스템 |
CN103051341B (zh) * | 2012-12-31 | 2016-01-27 | 华为技术有限公司 | 数据编码装置及方法、数据解码装置及方法 |
KR101992274B1 (ko) * | 2013-01-02 | 2019-09-30 | 삼성전자주식회사 | 데이터 압축 방법과 상기 방법을 수행할 수 있는 장치들 |
TWI493446B (zh) * | 2013-09-23 | 2015-07-21 | Mstar Semiconductor Inc | 記憶體管理方法及記憶體管理裝置 |
KR102078853B1 (ko) * | 2013-11-27 | 2020-02-18 | 삼성전자 주식회사 | 메모리 시스템, 호스트 시스템 및 메모리 시스템에서의 라이트 동작 수행 방법 |
TWI534814B (zh) * | 2014-10-20 | 2016-05-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
CN105630687B (zh) * | 2014-10-27 | 2019-01-08 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
US10152389B2 (en) | 2015-06-19 | 2018-12-11 | Western Digital Technologies, Inc. | Apparatus and method for inline compression and deduplication |
US9552384B2 (en) | 2015-06-19 | 2017-01-24 | HGST Netherlands B.V. | Apparatus and method for single pass entropy detection on data transfer |
CN111984192A (zh) * | 2020-08-10 | 2020-11-24 | 杭州电子科技大学 | 一种带数据压缩解压的sd卡及其数据存储方法 |
US11928346B2 (en) | 2021-10-05 | 2024-03-12 | International Business Machines Corporation | Storage optimization based on references |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357614A (en) * | 1992-09-17 | 1994-10-18 | Rexon/Tecmar, Inc. | Data compression controller |
US5374916A (en) * | 1992-12-18 | 1994-12-20 | Apple Computer, Inc. | Automatic electronic data type identification process |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US7538694B2 (en) * | 1999-01-29 | 2009-05-26 | Mossman Holdings Llc | Network device with improved storage density and access speed using compression techniques |
US6577254B2 (en) * | 2001-11-14 | 2003-06-10 | Hewlett-Packard Development Company, L.P. | Data compression/decompression system |
US6847315B2 (en) * | 2003-04-17 | 2005-01-25 | International Business Machines Corporation | Nonuniform compression span |
-
2003
- 2003-06-05 TW TW092115319A patent/TWI220959B/zh not_active IP Right Cessation
- 2003-07-30 JP JP2003282464A patent/JP2004362530A/ja active Pending
- 2003-08-07 KR KR1020030054767A patent/KR20040105529A/ko not_active Application Discontinuation
- 2003-08-26 DE DE10339225A patent/DE10339225A1/de not_active Withdrawn
- 2003-08-27 US US10/648,201 patent/US20040250009A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW200428269A (en) | 2004-12-16 |
US20040250009A1 (en) | 2004-12-09 |
JP2004362530A (ja) | 2004-12-24 |
TWI220959B (en) | 2004-09-11 |
DE10339225A1 (de) | 2004-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20040105529A (ko) | 최적화 압축관리 메커니즘을 구비한 저장장치 | |
US11907538B2 (en) | Extended utilization area for a memory device | |
US8782018B2 (en) | Storage device and data processing device utilizing determined dictionary compression | |
US5493574A (en) | Power efficient RAM disk and a method of emulating a rotating memory disk | |
US7197189B2 (en) | System and method having removable storage medium with data compression | |
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
KR20040107343A (ko) | 전송속도를 개선시킨 저장장치 | |
CN109800182A (zh) | 一种降低写放大的数据存储处理方法及其系统 | |
CN101373436B (zh) | U盘上数据自动压缩和解压缩的方法 | |
US20080164321A1 (en) | Serial ata card reader control system and controlling method of the same | |
EP3040867B1 (en) | A method for addressing a memory card, a system using a memory card, and a memory card | |
KR200335514Y1 (ko) | 최적화 압축관리 메커니즘을 구비한 저장장치 | |
US6266671B1 (en) | Data storage apparatus, method, and medium with variable data storage structure | |
US20070043887A1 (en) | [adaptor device for ms memory card interface] | |
KR20040105528A (ko) | 저장용량을 증가시킨 저장장치 | |
JP3100146U (ja) | 圧縮管理メカニズムを具えたストレージデバイス | |
CN1435796A (zh) | 兼容多种移动存储卡的存储驱动装置 | |
KR200335382Y1 (ko) | 저장용량을 증가시킨 저장장치 | |
US20050204081A1 (en) | [data compression/decompression device and system applying the same] | |
JP3100145U (ja) | 拡張可能なストレージデバイス | |
CN100378638C (zh) | 外接式ms记忆卡介面转接装置 | |
GB2402766A (en) | Storage Device with Optimal Compression Management Mechanism | |
CN102063936A (zh) | 一种提高闪存可靠性的方法 | |
CN117827079A (zh) | 压缩数据读取方法、写入方法及装置 | |
KR200334540Y1 (ko) | 전송속도를 개선시킨 저장장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |