KR102072412B1 - 데이터 압축 회로의 동작 방법과 상기 방법을 수행할 수 있는 장치들 - Google Patents
데이터 압축 회로의 동작 방법과 상기 방법을 수행할 수 있는 장치들 Download PDFInfo
- Publication number
- KR102072412B1 KR102072412B1 KR1020130001407A KR20130001407A KR102072412B1 KR 102072412 B1 KR102072412 B1 KR 102072412B1 KR 1020130001407 A KR1020130001407 A KR 1020130001407A KR 20130001407 A KR20130001407 A KR 20130001407A KR 102072412 B1 KR102072412 B1 KR 102072412B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- data blocks
- cache
- blocks
- buffer memory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47J—KITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
- A47J17/00—Household peeling, stringing, or paring implements or machines
- A47J17/02—Hand devices for scraping or peeling vegetables or the like
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B26—HAND CUTTING TOOLS; CUTTING; SEVERING
- B26D—CUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
- B26D3/00—Cutting work characterised by the nature of the cut made; Apparatus therefor
- B26D3/24—Cutting work characterised by the nature of the cut made; Apparatus therefor to obtain segments other than slices, e.g. cutting pies
- B26D3/26—Cutting work characterised by the nature of the cut made; Apparatus therefor to obtain segments other than slices, e.g. cutting pies specially adapted for cutting fruit or vegetables, e.g. for onions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Food Science & Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Forests & Forestry (AREA)
- Mechanical Engineering (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
도 1은 본 발명의 실시 예에 따른 데이터 처리 장치의 블록도를 나타낸다.
도 2는 도 1에 도시된 데이터 압축 회로의 일 실시 예를 나타내는 블록도이다.
도 3은 도 1에 도시된 데이터 압축 회로에서 수행되는 인코딩 방법의 일 실시 예를 설명하기 위한 개념도이다.
도 4는 도 1에 도시된 데이터 압축 회로에서 수행되는 인코딩 방법의 일 실시 예를 설명하기 위한 플로우차트이다.
도 5는 도 1에 도시된 데이터 압축 회로의 다른 실시 예를 나타내는 블록도이다.
도 6은 도 1에 도시된 데이터 압축 회로에서 수행되는 인코딩 방법의 다른 실시 예를 설명하기 위한 개념도이다.
도 7은 도 1에 도시된 데이터 압축 회로에서 수행되는 인코딩 방법의 다른 실시 예를 설명하기 위한 플로우차트이다.
110; 호스트
130; 제1데이터 저장 장치
150; 제2데이터 저장 장치
200; 메모리 컨트롤러
210; 호스트 인터페이스
230, 230A, 및 230B; 데이터 압축 회로
231; 입력 데이터 레지스터
232; 캐시 컨트롤러
233; 라이트 캐시
234; 버퍼 메모리 컨트롤러
235; 버퍼 메모리
236; 비교 회로
237; 압축 데이터 생성 회로
Claims (10)
- 캐시가 가득 찰 때까지 입력 데이터 레지스터로부터 출력된 복수의 데이터 블록들을 수신하여 저장하는 단계; 및
상기 캐시가 가득 찼을 때, 상기 캐시에 저장된 상기 복수의 데이터 블록들을 버퍼 메모리에 라이트하는 단계를 포함하되,
상기 입력 데이터 레지스터는 상기 복수의 데이터 블록들을 포함하는 입력 데이터 스트림을 수신하고, 지연 회로들을 이용하여 상기 복수의 데이터 블록들 각각의 지연을 조절하고, 그리고 복수의 지연 조절된 데이터 블록들을 생성하는 데이터 압축 회로의 동작 방법. - 제1항에 있어서,
상기 캐시가 가득 찼을 때, 상기 복수의 데이터 블록들 각각에 대한 반복 여부와 무관하게 상기 복수의 데이터 블록들 각각을 강제로 인코딩하는 단계를 더 포함하는 데이터 압축 회로의 동작 방법. - 제1항에 있어서,
상기 캐시의 크기는 한 사이클 동안 상기 버퍼 메모리에 라이트 가능한 데이터의 크기로 결정되는 데이터 압축 회로의 동작 방법. - 제1항에 있어서, 상기 버퍼 메모리에 라이트하는 단계는,
상기 복수의 데이터 블록들 각각을 인터리빙(interleaving) 방식으로 할당된 어드레스를 갖는 복수의 메모리들 각각에 라이트하고,
상기 복수의 메모리들 각각은 상기 버퍼 메모리에 포함되는 데이터 압축 회로의 동작 방법. - 제4항에 있어서,
상기 복수의 메모리들 각각은 싱글-포트 SRAM(single port static random access memory)인 데이터 압축 회로의 동작 방법. - 복수의 데이터 블록들을 수신하여 저장하는 캐시; 및
상기 캐시가 가득 찼을 때, 상기 캐시로부터 출력된 상기 복수의 데이터 블록들을 수신하여 저장하는 버퍼 메모리;
상기 복수의 데이터 블록들을 포함하는 입력 데이터 스트림을 수신하고, 지연 회로들을 이용하여 상기 복수의 데이터 블록들의 지연을 조절하고, 그리고 복수의 지연 조절된 데이터 블록들을 생성하는 입력 데이터 레지스터;
상기 복수의 지연 조절된 데이터 블록들 각각의 반복 여부와 무관하게, 상기 복수의 지연 조절된 데이터 블록들을 강제로 인코딩하는 압축 데이터 생성 회로; 및
상기 입력 데이터 스트림을 수신하고 그리고 라이트 동작 및 리드 동작을 수행하는 캐시 컨트롤러를 포함하되,
상기 입력 데이터 레지스터는 상기 복수의 데이터 블록들을 상기 캐시 컨트롤러에 전송하고 그리고 상기 복수의 지연 조절된 데이터 블록들을 상기 압축 데이터 생성 회로에 전송하고, 그리고
상기 지연 회로들은 상기 캐시 및 상기 압축 데이터 생성 회로 사이에 연결되는 데이터 압축 회로. - 제6항의 데이터 압축 회로;
상기 복수의 데이터 블록들을 포함하는 데이터 스트림을 출력하는 호스트; 및
인코드된 복수의 데이터 블록들을 저장하는 데이터 저장 장치를 포함하는 데이터 처리 장치. - 제7항에 있어서,
상기 데이터 저장 장치는 플래시 메모리-기반 데이터 저장 장치이고,
상기 데이터 처리 장치는 스마트폰 또는 태블릿 PC인 데이터 처리 장치. - 어드레스에 기초하여 버퍼 메모리로부터 서로 인접하는 복수의 참조 데이터 블록들을 동시에 리드하는 단계;
지연 회로들에 의해, 제 1 지연 데이터 블록 및 제 2 지연 데이터 블록을 생성하기 위해 입력 데이터 스트림의 데이터 블록들을 지연시키는 단계;
비교기에 의해 상기 복수의 참조 데이터 블록들 중 하나와 상기 제 1 지연 데이터 블록을 비교하는 단계;
상기 제 1 지연 데이터 블록이 상기 복수의 참조 데이터 블록들 중 상기 하나와 동일한지 여부를 지시하는 지시 신호를 출력하는 단계; 및
상기 지시 신호에 기초하여 상기 입력 데이터 스트림으로부터 출력된 상기 제 2 지연 데이터 블록을 인코딩하는 단계를 포함하는 데이터 압축 회로의 동작 방법. - 제9항에 있어서,
리드된 복수의 참조 데이터 블록들 중의 다른 하나와 상기 데이터 블록의 다음 데이터 블록을 비교하는 단계; 및
비교의 결과에 따라 상기 다음 데이터 블록을 인코딩하는 단계를 더 포함하는 데이터 압축 회로의 동작 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130001407A KR102072412B1 (ko) | 2013-01-07 | 2013-01-07 | 데이터 압축 회로의 동작 방법과 상기 방법을 수행할 수 있는 장치들 |
US14/146,846 US9444490B2 (en) | 2013-01-07 | 2014-01-03 | Method of operating data compression circuit and devices to perform the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130001407A KR102072412B1 (ko) | 2013-01-07 | 2013-01-07 | 데이터 압축 회로의 동작 방법과 상기 방법을 수행할 수 있는 장치들 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140090316A KR20140090316A (ko) | 2014-07-17 |
KR102072412B1 true KR102072412B1 (ko) | 2020-02-04 |
Family
ID=51061891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130001407A Active KR102072412B1 (ko) | 2013-01-07 | 2013-01-07 | 데이터 압축 회로의 동작 방법과 상기 방법을 수행할 수 있는 장치들 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9444490B2 (ko) |
KR (1) | KR102072412B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI525996B (zh) * | 2013-04-22 | 2016-03-11 | 國立交通大學 | 基於多通道獨立成分分析之訊號即時處理系統及方法 |
KR101558172B1 (ko) * | 2014-10-14 | 2015-10-08 | 숭실대학교산학협력단 | 오류 분산을 위한 인터리빙 방법 및 장치, 이를 수행하기 위한 기록매체 |
US10387305B2 (en) * | 2016-12-23 | 2019-08-20 | Intel Corporation | Techniques for compression memory coloring |
US10972569B2 (en) * | 2017-04-24 | 2021-04-06 | International Business Machines Corporation | Apparatus, method, and computer program product for heterogenous compression of data streams |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047359A1 (en) * | 2000-04-17 | 2001-11-29 | Peter Videcrantz | Method and apparatus for data compression |
US20090006510A1 (en) * | 2007-06-29 | 2009-01-01 | Raza Microelectronics, Inc. | System and method for deflate processing within a compression engine |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5771010A (en) * | 1995-03-22 | 1998-06-23 | Ibm Corporation | Apparatus for compressing data using a Lempel-Ziv-type algorithm |
US6128094A (en) | 1998-07-08 | 2000-10-03 | Hewlett-Packard Company | Printer having processor with instruction cache and compressed program store |
JP3327869B2 (ja) * | 1998-07-28 | 2002-09-24 | ゼロックス・コーポレーション | 最小マッチ長が3のプリマッチストリングマッチアレイ |
US6624762B1 (en) | 2002-04-11 | 2003-09-23 | Unisys Corporation | Hardware-based, LZW data compression co-processor |
JP5309015B2 (ja) | 2006-04-07 | 2013-10-09 | データ ストレージ グループ | データ圧縮技術およびデータ格納技術 |
US7872598B2 (en) | 2008-12-10 | 2011-01-18 | Intel Corporation | Accelerated decompression |
US8044829B2 (en) | 2009-03-05 | 2011-10-25 | Marvell World Trade Ltd. | Multi-mode encoding for data compression |
US7944375B2 (en) | 2009-06-02 | 2011-05-17 | International Business Machines Corporation | Wear reduction methods by using compression/decompression techniques with fast random access |
US8325069B2 (en) | 2009-12-22 | 2012-12-04 | Intel Corporation | System, method, and apparatus for a scalable processor architecture for a variety of string processing applications |
US8350732B2 (en) * | 2011-05-11 | 2013-01-08 | Cavium, Inc. | Compression with adjustable quality/bandwidth capability |
-
2013
- 2013-01-07 KR KR1020130001407A patent/KR102072412B1/ko active Active
-
2014
- 2014-01-03 US US14/146,846 patent/US9444490B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047359A1 (en) * | 2000-04-17 | 2001-11-29 | Peter Videcrantz | Method and apparatus for data compression |
US20090006510A1 (en) * | 2007-06-29 | 2009-01-01 | Raza Microelectronics, Inc. | System and method for deflate processing within a compression engine |
Also Published As
Publication number | Publication date |
---|---|
US20140195702A1 (en) | 2014-07-10 |
US9444490B2 (en) | 2016-09-13 |
KR20140090316A (ko) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6512733B2 (ja) | データ圧縮方法と、該方法を行う装置 | |
CN103729307B (zh) | 数据压缩装置和方法以及包括数据压缩装置的存储系统 | |
KR101759658B1 (ko) | 메모리 장치 및 메모리 시스템 | |
US10877668B2 (en) | Storage node offload of residual part of a portion of compressed and distributed data to a second storage node for decompression | |
US11704254B2 (en) | Host side caching security for flash memory | |
US11687469B2 (en) | Host-resident translation layer validity check techniques | |
US9946464B2 (en) | Systems and methods for predicting compressibility of data | |
US10396827B2 (en) | Data storage device | |
CN113841128B (zh) | 大型数据读取方法、装置及可读介质 | |
JP2018527681A (ja) | ソリッドステートドライブコントローラを使用するデータ重複排除 | |
KR20210035908A (ko) | 호스트 상주 변환 계층 유효성 검사 기술 | |
KR102072412B1 (ko) | 데이터 압축 회로의 동작 방법과 상기 방법을 수행할 수 있는 장치들 | |
US20200201752A1 (en) | Host-based flash memory maintenance techniques | |
KR20120054699A (ko) | 메모리 컨트롤러, 이를 포함하는 데이터 저장 시스템 및 그 방법 | |
CN104881240B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
US10445012B2 (en) | System and methods for in-storage on-demand data decompression | |
US10496317B2 (en) | Memory system including memories having different characteristics and operation method thereof | |
KR20210043709A (ko) | 컨트롤러와 분리된 인 패키지 시퀀서를 포함하는 메모리 서브 시스템 | |
US20240393945A1 (en) | In-situ memory compression | |
CN118020057A (zh) | 使用内联元数据对压缩状态的早期检测 | |
US11494263B2 (en) | Controller and method of operating the same | |
KR20210052059A (ko) | 반도체장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20130107 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20171121 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20130107 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20190418 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20191029 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200128 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20200129 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20221221 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20231226 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20241226 Start annual number: 6 End annual number: 6 |