JP7010683B2 - データ処理装置、メモリシステム及びデータ処理方法 - Google Patents
データ処理装置、メモリシステム及びデータ処理方法 Download PDFInfo
- Publication number
- JP7010683B2 JP7010683B2 JP2017235923A JP2017235923A JP7010683B2 JP 7010683 B2 JP7010683 B2 JP 7010683B2 JP 2017235923 A JP2017235923 A JP 2017235923A JP 2017235923 A JP2017235923 A JP 2017235923A JP 7010683 B2 JP7010683 B2 JP 7010683B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- unit
- adr
- predicted value
- 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
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 151
- 230000006835 compression Effects 0.000 claims description 91
- 238000007906 compression Methods 0.000 claims description 91
- 238000004458 analytical method Methods 0.000 claims description 70
- 230000006837 decompression Effects 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 description 29
- 238000004364 calculation method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 238000007616 round robin method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- 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/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3071—Prediction
- H03M7/3075—Space
-
- 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/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
- H03M7/607—Selection between different types of compressors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Memory System (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
まず、第1の実施形態について、図面を参照して詳細に説明する。図1は、第1の実施形態に係るデータ処理装置の概略構成例を示すブロック図である。図1に示すように、第1の実施形態に係るデータ処理装置100は、予測部101、決定部102及び圧縮部103を備える。予測部101、決定部102及び圧縮部103は、例えばSoC(System-on-a-Chip)等のハードウェアで実現されてもよい。
次に、第2の実施形態について、図面を参照して詳細に説明する。以下では、第1の実施形態と同様の説明についてはそれを引用することで重複する説明を省略し、第1の実施形態と異なる箇所に注目して説明する。
次に、第3の実施形態について、図面を参照して詳細に説明する。以下では、第1又は第2の実施形態と同様の説明についてはそれを引用することで重複する説明を省略し、第1又は第2の実施形態と異なる箇所に注目して説明する。
次に、第4の実施形態について、図面を参照して詳細に説明する。第4の実施形態では、第1~第3の実施形態で例示したデータ処理装置100によって得られた圧縮データを伸張する構成を備えたデータ処理装置について、例を挙げて説明する。なお、以下では、第1~第3の実施形態のいずれかと同様の説明についてはそれを引用することで重複する説明を省略し、第1~第3の実施形態と異なる箇所に注目して説明する。
次に、第5の実施形態について、図面を参照して詳細に説明する。第5の実施形態では、第4の実施形態で例示したデータ処理装置400を記憶装置(以下、メモリシステムという)に適用した場合について、図面を用いて詳細に説明する。なお、以下では、第1~第4の実施形態のいずれかと同様の説明についてはそれを引用することで、重複する説明を省略する。
Claims (18)
- 複数の第1データそれぞれと複数の第2データそれぞれとの対応関係に関するデータを圧縮するデータ処理装置であって、
複数の符号化処理のうちのいずれかを用いて前記第2データそれぞれを符号化することで、前記第2データそれぞれの符号化データを生成する圧縮部と、
前記複数の第2データのうちの1つを選択し、前記選択中の第2データに対して第1予測値を求める第1の予測部と、
前記選択中の第2データと、当該選択中の第2データに対して前記第1の予測部が算出した前記第1予測値との差分値に基づいて、前記圧縮部が前記選択中の第2データに対して実行する符号化処理を前記複数の符号化処理のなかから決定する決定部と、
を備え、
前記圧縮部は、前記決定部で決定された符号化処理に従って前記第2データそれぞれを符号化することで、前記対応関係に関するデータの圧縮データを生成し、
前記第1の予測部は、前記複数の第2データのうち、前記選択中の第2データとは異なる第2データに基づいて前記第1予測値を求める、
データ処理装置。 - 前記圧縮部は、前記差分値を前記符号化データとして出力する第1の符号化処理と、前記選択中の第2データを前記符号化データとして出力する第2の符号化処理とを選択的に実行し、
前記決定部は、前記差分値の絶対値が所定の閾値以下の場合、前記圧縮部が前記選択中の第2データに対して実行する前記符号化処理を前記第1の符号化処理に決定し、前記差分値の絶対値が所定の閾値より大きい場合、前記圧縮部が前記選択中の第2データに対して実行する前記符号化処理を前記第2の符号化処理に決定する
請求項1に記載のデータ処理装置。 - 前記決定部は、前記選択中の第2データに対して前記圧縮部が実行する符号化処理として決定した符号化処理を特定するためのフラグを設定し、
前記符号化データは、前記フラグを更に含む
請求項2に記載のデータ処理装置。 - 前記圧縮部は、前記フラグを前記符号化データとして出力する第3の符号化処理をさらに選択的に実行し、
前記決定部は、前記差分値が0である場合、前記圧縮部が前記選択中の第2データに対して実行する前記符号化処理を前記第3の符号化処理に決定する
請求項3に記載のデータ処理装置。 - 前記第1の予測部は、前記複数の第2データのうち最初に選択された第2データに関しては、所定の値を前記第1予測値として選択するか、若しくは、前記第1予測値を求めないこととし、2番目以降に選択された第2データに関しては、前記複数の第2データのうちの他の第2データに基づいて前記第1予測値を算出する請求項1に記載のデータ処理装置。
- 前記第1の予測部は、前記他の第2データが有効データである場合、第1のパラメータを用いて前記第1予測値を算出し、前記他の第2データが無効データである場合、前記第1のパラメータとは異なる第2のパラメータを用いて前記第1予測値を算出する請求項5に記載のデータ処理装置。
- 前記第1の予測部は、前記他の第2データが無効データである場合であって且つ前記選択中の第2データが有効データである場合、前記複数の第2データのうちの有効データである更に他の第2データに基づいて前記第1予測値を算出する請求項5に記載のデータ処理装置。
- 前記第1の予測部は、前記更に他の第2データに基づいて前記第1予測値を算出したことを示す付加情報を生成し、
前記圧縮部は、前記付加情報が生成された前記第2データの前記符号化データに前記付加情報を含める
請求項7に記載のデータ処理装置。 - 前記対応関係に関するデータは、ルックアップテーブルである請求項1に記載のデータ処理装置。
- 複数の復号処理のうちのいずれかを用いて複数の前記符号化データそれぞれを復号することで、前記圧縮データを伸張して前記対応関係に関するデータを復元する伸張部と、
前記複数の符号化データのうちの1つを選択し、前記選択中の符号化データを解析し、当該解析の結果に基づいて、前記選択中の符号化データに対して前記伸張部が実行する復号処理を前記複数の復号処理のなかから決定する解析部と、
前記選択中の符号化データの第2予測値を求める第2の予測部と、
を備え、
前記伸張部は、前記解析部で決定された復号処理に従って前記選択中の符号化データを復号するとともに、前記解析部による前記解析の結果に基づき、前記第2データが含まれていない前記選択中の符号化データに対しては前記第2の予測部で算出された前記第2予測値を用いて復号する
請求項1に記載のデータ処理装置。 - 各符号化データは、各第2データに対して前記圧縮部が実行した符号化処理を特定するためのフラグが含まれ、
前記解析部は、前記選択中の符号化データを解析することで、当該選択中の符号化データに含まれる前記フラグを特定し、前記特定したフラグに基づいて、前記選択中の符号化データに対して前記伸張部が実行する前記復号処理を前記複数の復号処理のなかから決定する
請求項10に記載のデータ処理装置。 - 前記第2の予測部は、前記複数の符号化データのうち最初に選択された符号化データに関しては、所定の値を前記第2予測値として選択するか、若しくは、前記第2予測値を求めないこととし、2番目以降に選択された符号化データに関しては、前記複数の符号化データのうちの他の符号化データに基づいて前記第2予測値を算出する請求項10に記載のデータ処理装置。
- 前記第2の予測部は、前記他の符号化データが有効データである場合、第3のパラメータを用いて前記第2予測値を算出し、前記他の符号化データが無効データである場合、前記第3のパラメータとは異なる第4のパラメータを用いて前記第2予測値を算出する請求項12に記載のデータ処理装置。
- 前記第2の予測部は、前記他の符号化データが無効データである場合であって且つ前記選択中の符号化データが有効データである場合、前記複数の符号化データのうちの有効データである更に他の符号化データに基づいて前記第2予測値を算出する請求項12に記載のデータ処理装置。
- 前記第1の予測部は、前記複数の第2データのうち最初に選択された第2データに関しては、所定の値を前記第1予測値として選択するか、若しくは、前記第1予測値を求めないこととし、2番目以降に選択された第2データに関しては、前記複数の第2データのうちの他の第2データに基づいて前記第1予測値を算出し、
前記第1の予測部は、前記他の第2データが無効データである場合であって且つ前記選択中の第2データが有効データである場合、前記複数の第2データのうちの有効データである更に他の第2データに基づいて前記第1予測値を算出するとともに、前記更に他の第2データに基づいて前記第1予測値を算出したことを示す付加情報を生成し、
前記圧縮部は、前記付加情報が生成された前記第2データの前記符号化データに前記付加情報を含め、
前記第2の予測部は、前記解析部による解析の結果、前記選択中の符号化データに前記付加情報が含まれている場合、前記複数の符号化データのうちの前記有効データである前記他の符号化データに基づいて前記第2予測値を算出する
請求項10に記載のデータ処理装置。 - 前記第1データは、メモリに関する論理アドレス空間上の論理アドレスであり、
前記第2データは、前記メモリに関する物理アドレス空間上の物理アドレスであり、
前記対応関係に関するデータは、前記物理アドレスと前記論理アドレスとの対応関係を保持するデータである
請求項1に記載のデータ処理装置。 - 請求項1に記載のデータ処理装置と、
前記データ処理装置から出力された前記圧縮データを格納する不揮発性メモリと、
を備えるメモリシステム。 - 複数の第1データそれぞれと複数の第2データそれぞれとの対応関係に関するデータを圧縮するデータ処理装置のデータ処理方法であって、
前記複数の第2データのうちの1つを選択し、前記選択中の第2データに対して第1予測値を求める第1ステップと、
前記選択中の第2データと、当該選択中の第2データに対して前記第1ステップで算出した前記第1予測値との差分値に基づいて、前記選択中の第2データに対して実行する符号化処理を複数の符号化処理のなかから決定する第2ステップと、
前記複数の符号化処理のうち前記第2ステップで決定した符号化処理を用いて前記第2データそれぞれを符号化することで、前記第2データそれぞれの符号化データを生成して、前記対応関係に関するデータの圧縮データを生成する第3ステップと、
を備え、
前記第1ステップでは、前記複数の第2データのうち、前記選択中の第2データとは異なる第2データに基づいて前記第1予測値を求める、
データ処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017235923A JP7010683B2 (ja) | 2017-12-08 | 2017-12-08 | データ処理装置、メモリシステム及びデータ処理方法 |
US16/115,237 US10686468B2 (en) | 2017-12-08 | 2018-08-28 | Data processing apparatus, memory system, and method of processing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017235923A JP7010683B2 (ja) | 2017-12-08 | 2017-12-08 | データ処理装置、メモリシステム及びデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019102027A JP2019102027A (ja) | 2019-06-24 |
JP7010683B2 true JP7010683B2 (ja) | 2022-01-26 |
Family
ID=66697436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017235923A Active JP7010683B2 (ja) | 2017-12-08 | 2017-12-08 | データ処理装置、メモリシステム及びデータ処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10686468B2 (ja) |
JP (1) | JP7010683B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347432B (zh) * | 2019-06-17 | 2021-09-14 | 海光信息技术股份有限公司 | 处理器、分支预测器及其数据处理方法、分支预测方法 |
US11791938B2 (en) * | 2019-09-26 | 2023-10-17 | Nvidia Corporation | Parity check decoding |
CN110765031B (zh) * | 2019-09-27 | 2022-08-12 | Oppo广东移动通信有限公司 | 数据存储方法、装置、移动终端及存储介质 |
JP2022043907A (ja) * | 2020-09-04 | 2022-03-16 | 日新電機株式会社 | 監視装置および制御方法 |
JP2023070797A (ja) | 2021-11-10 | 2023-05-22 | キオクシア株式会社 | メモリシステムおよび方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265728A (ja) | 2008-04-22 | 2009-11-12 | Sony Corp | 情報処理装置および方法、プログラムおよび記録媒体 |
US20130246689A1 (en) | 2012-03-16 | 2013-09-19 | Kabushiki Kaisha Toshiba | Memory system, data management method, and computer |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005301885A (ja) | 2004-04-15 | 2005-10-27 | Kobe Steel Ltd | データ記憶媒体へのアクセス方法,情報処理装置,データ記憶媒体へのアクセスプログラム |
KR101353304B1 (ko) * | 2008-10-24 | 2014-01-21 | 에스케이 텔레콤주식회사 | 적응적 보간 필터 계수를 이용한 영상 부호화/복호화 방법 및 장치 |
JP2010146326A (ja) | 2008-12-19 | 2010-07-01 | Toshiba Storage Device Corp | 記憶装置、その制御方法及びその記憶装置を用いた電子装置 |
US9996461B1 (en) * | 2014-09-24 | 2018-06-12 | Marvell International Ltd. | Dynamic differential compression for storage device look-up table |
US10592248B2 (en) * | 2016-08-30 | 2020-03-17 | Advanced Micro Devices, Inc. | Branch target buffer compression |
-
2017
- 2017-12-08 JP JP2017235923A patent/JP7010683B2/ja active Active
-
2018
- 2018-08-28 US US16/115,237 patent/US10686468B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265728A (ja) | 2008-04-22 | 2009-11-12 | Sony Corp | 情報処理装置および方法、プログラムおよび記録媒体 |
US20130246689A1 (en) | 2012-03-16 | 2013-09-19 | Kabushiki Kaisha Toshiba | Memory system, data management method, and computer |
JP2013196115A (ja) | 2012-03-16 | 2013-09-30 | Toshiba Corp | メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US10686468B2 (en) | 2020-06-16 |
JP2019102027A (ja) | 2019-06-24 |
US20190181881A1 (en) | 2019-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7010683B2 (ja) | データ処理装置、メモリシステム及びデータ処理方法 | |
TWI648622B (zh) | 快閃記憶體之壓縮、讀取方法及應用其方法的裝置 | |
US20180276114A1 (en) | Memory controller | |
JP2008065834A (ja) | フュージョンメモリ装置及び方法 | |
US20150256201A1 (en) | Memory controller, storage device, and memory control method | |
US8674858B2 (en) | Method for compression and real-time decompression of executable code | |
TW201011774A (en) | Data collection and compression in a solid state storage device | |
US10396827B2 (en) | Data storage device | |
JPWO2009022531A1 (ja) | データ圧縮伸張方法 | |
US10193579B2 (en) | Storage control device, storage system, and storage control method | |
JP2014132750A (ja) | データ圧縮方法と、該方法を行う装置 | |
KR20190052366A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
JP2020149195A (ja) | メモリシステム | |
US20160078051A1 (en) | Data pattern detecting device, semiconductor device including the same, and operating method thereof | |
US20170077958A1 (en) | Memory system and memory control method | |
US9444490B2 (en) | Method of operating data compression circuit and devices to perform the same | |
US11424761B2 (en) | Multiple symbol decoder | |
US11899934B2 (en) | Compression device, compression and decompression device, and memory system | |
WO2014030189A1 (ja) | 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム | |
US20220076122A1 (en) | Arithmetic apparatus and arithmetic method | |
JP2022121983A (ja) | 文字列検索装置及びメモリシステム | |
JP6471012B2 (ja) | 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 | |
JP2021174472A (ja) | ストレージシステム | |
JP6437428B2 (ja) | 不揮発性半導体メモリのコントローラ | |
JP2021149389A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180905 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211203 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7010683 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |