JP6605323B2 - 半導体装置、データ処理システム及び半導体装置の制御方法 - Google Patents

半導体装置、データ処理システム及び半導体装置の制御方法 Download PDF

Info

Publication number
JP6605323B2
JP6605323B2 JP2015250937A JP2015250937A JP6605323B2 JP 6605323 B2 JP6605323 B2 JP 6605323B2 JP 2015250937 A JP2015250937 A JP 2015250937A JP 2015250937 A JP2015250937 A JP 2015250937A JP 6605323 B2 JP6605323 B2 JP 6605323B2
Authority
JP
Japan
Prior art keywords
data
compressed data
auxiliary information
read
cache
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
Application number
JP2015250937A
Other languages
English (en)
Other versions
JP2017117145A (ja
Inventor
勝重 松原
圭介 松本
誠二 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2015250937A priority Critical patent/JP6605323B2/ja
Priority to US15/358,133 priority patent/US10229063B2/en
Priority to EP16205314.4A priority patent/EP3185127B1/en
Priority to CN201611201981.1A priority patent/CN106919514B/zh
Publication of JP2017117145A publication Critical patent/JP2017117145A/ja
Priority to US16/204,222 priority patent/US20190095338A1/en
Application granted granted Critical
Publication of JP6605323B2 publication Critical patent/JP6605323B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/302In image processor or graphics adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory

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)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、半導体装置、データ処理システム及び半導体装置の制御方法に関し、例えば、圧縮データを外部のメモリに格納する半導体装置、データ処理システム及び半導体装置の制御方法に関する。
近年、画像処理等の様々な演算処理を行う半導体装置が広く利用されている。このような半導体装置は、画像等のデータのメモリへの書き込み及びメモリからの読み出しを行う際に、所定の標準規格による符号化及び復号化や、圧縮及び伸張等を行っている。圧縮データの読み出しに関連する技術として、例えば、特許文献1,2が知られている。
特許文献1では、圧縮データをメモリに格納する際には、その圧縮データの読み出しに用いる補助情報として、その圧縮データが格納されているメモリのアドレス情報を、バス経由でメモリに格納する。メモリから圧縮データを読み出す際には、アドレス情報を用いて、圧縮データを読み出す。
特許文献2では、圧縮データをメモリに格納する際には、補助情報として、その圧縮データのデータサイズ情報を、バス経由でDMAC(Direct Memory Access Controller)に格納する。メモリから圧縮データを読み出す際には、データサイズ情報を用いて、圧縮データを読み出す。
特開平10−27127号公報 特開2006−099774号公報
特許文献1,2では、メモリから圧縮データを読み出す際には、バス経由で補助情報を読み出す必要がある。そのため、補助情報の読み出しに起因して、多くのバス/メモリ帯域が消費されてしまうという問題があった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、メモリに格納された補助情報を格納するキャッシュを備える。半導体装置は、メモリに格納された圧縮データの読み出し指令を受信した場合、その圧縮データの補助情報がキャッシュに格納されていれば、その補助情報をキャッシュから読み出し、その補助情報を用いて、メモリから圧縮データを読み出す。
前記一実施の形態によれば、補助情報の読み出しに起因するバス/メモリ帯域の消費を抑制することができる。
比較例に係るデータ処理システムの構成を示す構成図である。 比較例に係る半導体装置の動作フローを説明するフローチャートである。 実施の形態1に係るデータ処理システムの構成を示す構成図である。 実施の形態1に係る半導体装置の動作フローを説明するフローチャートである。 実施の形態2,3に係るデータ処理システムの構成を示す構成図である。 実施の形態2,3に係る圧縮データを説明するための図である。 実施の形態2に係る半導体装置の動作フローを説明するフローチャートである。 データ長とメモリアクセス効率との関係を示すグラフである。
以下に図面を参照しながら、実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラム等によって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
(1)実施の形態1
<比較例の構成>
本実施の形態1の理解を容易とするために、最初に、本発明者が検討した比較例について説明する。そこで、まず、比較例に係るデータ処理システム9の構成について説明する。図1は、比較例に係るデータ処理システム9の構成を示している。図1に示すように、比較例に係るデータ処理システム9は、LSI(Large Scale Integration)等である半導体装置100と、半導体装置100の外部に設けられたメモリ20と、を備えている。
メモリ20は、圧縮データを格納する。また、メモリ20は、その圧縮データの読み出しに用いる補助情報も格納する。補助情報は、例えば、圧縮データのデータ長を示すデータサイズ情報や、圧縮データが格納されているメモリ20上のアドレスを示すアドレス情報等である。
半導体装置100は、制御部11、伸張部12、及びデータバス13を備えている。制御部11は、メモリ20に格納されている圧縮データ及び補助情報をデータバス13経由で読み出す。伸張部12は、制御部11がメモリ40から読み出した圧縮データを伸張する。
<比較例の動作>
次に、比較例に係る半導体装置100の動作について説明する。図2は、比較例に係る半導体装置100の動作フローを示している。
図2に示すように、制御部11は、メモリ20に格納された圧縮データの読み出し指令を受信した場合(ステップS11)、その圧縮データの補助情報を、メモリ20からデータバス13経由で読み出す(ステップS12)。
続いて、制御部11は、補助情報を用いて、メモリ20からデータバス13経由で圧縮データを読み出す(ステップS13)。
その後、伸張部12は、制御部11がメモリ20から読み出した圧縮データを伸張する(ステップS14)。
上述のように、比較例に係る半導体装置100は、メモリ20から圧縮データを読み出す際には、メモリ20からデータバス13経由で補助情報を読み出す必要がある。つまり、比較例に係る半導体装置100は、メモリ20からの圧縮データの読み出し毎に、メモリ20からのデータバス13経由での補助情報の読み出しが発生してしまう。そのため、圧縮データ以外の補助情報の読み出しに起因して多くのバス/メモリ帯域が消費されてしまうという問題があった。
本実施の形態1によれば、上述のような課題を解決することができる。
<実施の形態1の構成>
次に、本実施の形態1に係るデータ処理システム1の構成について説明する。図3は、本実施の形態1に係るデータ処理システム1の構成を示している。図3に示すように、本実施の形態1に係るデータ処理システム1は、図1に示される比較例に係るデータ処理システム9と比較して、半導体装置100を、半導体装置10に置き換えた点が異なる。
半導体装置10は、図1に示される比較例に係る半導体装置100と比較して、キャッシュ14が追加された点が異なる。キャッシュ14は、メモリ20に圧縮データと共に格納された補助情報を格納するものである。
<実施の形態1の動作>
次に、本実施の形態1に係る半導体装置10の動作について説明する。図4は、本実施の形態1に係る半導体装置10の動作フローを示している。
図4に示すように、制御部11は、メモリ20に格納された圧縮データの読み出し指令を受信した場合(ステップS21)、その圧縮データの補助情報がキャッシュ14に格納されているか否かを判断する(ステップS22)。
ステップS22において、補助情報がキャッシュ14に格納されている場合(ステップS22のYes)、制御部11は、キャッシュ14から補助情報を読み出す(ステップS23)。
一方、補助情報がキャッシュ14に格納されていない場合(ステップS22のNo)、制御部11は、メモリ20からデータバス13経由で補助情報を読み出し、読み出した補助情報をキャッシュ14に格納する(ステップS24)。
続いて、制御部11は、補助情報を用いて、メモリ20からデータバス13経由で圧縮データを読み出す(ステップS25)。
その後、伸張部12は、制御部11がメモリ20から読み出した圧縮データを伸張する(ステップS26)。
<実施の形態1の効果>
本実施の形態1によれば、圧縮データの読み出し指令を受信した場合、その圧縮データの補助情報がキャッシュ14に格納されていれば、その補助情報をキャッシュ14から読み出し、その補助情報を用いて、メモリ20から圧縮データを読み出す。
したがって、メモリ20からの圧縮データの読み出し毎に、メモリ20からのデータバス13経由での補助情報の読み出しが発生することが回避されるため、補助情報の読み出しに起因してバス/メモリ帯域が消費されてしまうことが抑制される。
(2)実施の形態2
<実施の形態2の構成>
本実施の形態2は、実施の形態1の構成をより具体化した一実施の形態に相当するものである。
<実施の形態2に係るデータ処理システム2の構成>
まず、本実施の形態2に係るデータ処理システム2の構成について説明する。図5は、本実施の形態2に係るデータ処理システム2の構成を示している。図5に示すように、本実施の形態に係るデータ処理システム2は、LSI等である半導体装置30と、半導体装置30の外部に設けられたDDR(Double Data Rate)メモリ40と、を備えている。半導体装置30は、図3に示される半導体装置10に対応し、DDRメモリ40は、図3に示されるメモリ20に対応する。
半導体装置30は、半導体装置30内の後述の演算部31から出力されたデータを圧縮し、圧縮後の圧縮データを、DDRメモリ40に格納する。その際、半導体装置30は、圧縮データの読み出しに用いる補助情報も、DDRメモリ40に格納する。本実施の形態2では、上記の補助情報が、圧縮データのデータ長を示すデータサイズ情報であるものとする。
ここで、本実施の形態2が前提としている圧縮データの格納方法について説明する。図6は、本実施の形態2における圧縮データの格納イメージを示している。本実施の形態2では、半導体装置30は、図6に示すように、データを圧縮し、圧縮後の圧縮データをDDRメモリ40に格納する。
例えば、半導体装置30は、演算部31から出力されたデータを、256バイト単位に圧縮する。圧縮後の圧縮データは、データ長が短くなるため、圧縮データを連続してDDRメモリ40に格納すると、圧縮データのアドレスがずれることになる。この場合、アドレスがずれた圧縮データに直接アクセスするためには、変更前と変更後のアドレスを関連付けて記憶しておく必要がある。
そこで、半導体装置30は、図6に示すように、圧縮データを、非圧縮(圧縮前)と同じ256バイトの先頭アドレスから格納する。つまり、半導体装置30は、圧縮データをDDRメモリ40に格納するとき、圧縮単位である256バイト単位の先頭アドレスは変更せずに、圧縮データ分のみ格納する。
このように、本実施の形態2では、圧縮データの格納されるアドレスが、非圧縮時のアドレスと256バイト単位では同一となる。これにより、圧縮前のアドレス、例えば、バッファの先頭アドレス等を保持する必要がなくなる。また、任意の圧縮データに順不同でアクセス(ランダムアクセス)することも可能になる。
また、半導体装置30は、DDRメモリ40から所望の圧縮データを読み出す際には、256バイト単位の先頭アドレスから読み出しを行う。ただし、圧縮データは、データ長が短くなっているため、256バイト分全て読み出す必要はなく、圧縮後のデータ長分のみを読み出せばよい。
そこで、本実施の形態2では、半導体装置30は、所望の圧縮データが格納されているDDRメモリ40上のアドレス(圧縮前と同じアドレス)と、所望の圧縮データのデータ長を示すデータサイズ情報と、を用いて、DDRメモリ40からの所望の圧縮データの読み出しを行う。
そのため、半導体装置30は、圧縮データをDDRメモリ40に格納する際に、圧縮データのデータサイズ情報を、補助情報としてDDRメモリ40に格納する。この際、圧縮データをDDRメモリ40に格納する格納順番と、その圧縮データのデータサイズ情報をDDRメモリ40に格納する格納順番と、は一致するものとする。したがって、所望の圧縮データが格納されているDDRメモリ40上のアドレスを基に、所望の圧縮データのデータサイズ情報(以下、所望のデータサイズ情報と適宜称する)が格納されているDDRメモリ40上のアドレスを導出可能であるため、所望のデータサイズ情報をDDRメモリ40から読み出すことが可能となる。
<実施の形態2に係る半導体装置30の構成>
次に、本実施の形態2に係る半導体装置30の構成について説明する。図5に示すように、半導体装置30は、演算部31、演算データリード制御部32、データサイズ情報キャッシュ部33、DDRメモリ制御部34、圧縮データ伸張部35、及びデータバス36を備えている。演算データリード制御部32、データサイズ情報キャッシュ部33(ただし、後述のデータサイズ情報バッファ335を除く)、及びDDRメモリ制御部34を組み合わせた構成要素は、図3に示される制御部11に対応し、圧縮データ伸張部35は、図3に示される伸張部12に対応する。
演算部31は、例えば、画像処理等の演算処理を行う。演算部31から出力されたデータは、図6のように、圧縮され、DDRメモリ40に格納される。なお、本実施の形態2は、DDRメモリ40に格納された圧縮データの読み出しに係る構成を主な特徴としているため、データの圧縮に係る構成要素は、図5からは省略されている。
また、演算部31は、DDRメモリ40から所望の圧縮データを読み出す際は、所望の圧縮データの読み出しを行うためのリードリクエスト(読み出し指令)を演算データリード制御部32に送る。このリードリクエストには、所望の圧縮データの圧縮前のデータのアドレス(所望の圧縮データが格納されているDDRメモリ40上のアドレスと同じアドレス)と、圧縮前のデータのデータ長と、を含める。例えば、演算部31が画像処理を行う場合、画像上の所望のデータの位置と、DDRメモリ40上の所望のデータのアドレスと、は対応関係にあるため、演算部31は、画像上の所望のデータの位置に対応するDDRメモリ40上のアドレスをリードリクエストに含めれば良い。なお、演算部31が圧縮前のデータのアドレス及びデータ長をリクエストするのは、そのデータが圧縮されて格納されていることを、演算部31が知らないためである。
演算データリード制御部32は、DDRメモリ40に格納された圧縮データの読み出しに係る制御を行う。例えば、演算データリード制御部32は、演算部31からリードリクエストを受信すると、そのリードリクエストをデータサイズ情報キャッシュ部33に転送する。
データサイズ情報キャッシュ部33は、演算部31から演算データリード制御部32経由でリードリクエストを受信すると、受信したリードリクエストでリクエストされた所望の圧縮データのデータサイズ情報が、後述のデータサイズ情報バッファ335に格納されているか否かを判断する。データサイズ情報バッファ335に格納されていない場合、データサイズ情報キャッシュ部33は、DDRメモリ40に格納されている所望のデータサイズ情報を、データバス36経由で読み出し、データサイズ情報バッファ335に格納する。そして、データサイズ情報キャッシュ部33は、所望のデータサイズ情報を基に、演算部31から受信したリードリクエストに含まれるデータ長を、圧縮後の圧縮データのデータ長に置き換え、そのリードリクエストを、データバス36経由でDDRメモリ制御部34に送る。
DDRメモリ制御部34は、DDRメモリ40の制御を行う。例えば、DDRメモリ制御部34は、データサイズ情報キャッシュ部33からリードリクエストを受信すると、そのリードリクエストを基に、DDRメモリ40から圧縮データを読み出す。具体的には、DDRメモリ制御部34は、リードリクエストに含まれるアドレスから、リードリクエストに含まれるデータ長分の圧縮データを読み出す。
圧縮データ伸張部35は、DDRメモリ制御部34が読み出した圧縮データを、データバス36経由で受信し、伸張する。圧縮データ伸張部35で伸張されたデータは、演算データリード制御部32経由で演算部31に送られる。
<実施の形態2に係るデータサイズ情報キャッシュ部33の構成>
次に、本実施の形態2に係るデータサイズ情報キャッシュ部33の構成について説明する。図5に示すように、データサイズ情報キャッシュ部33は、演算データリクエスト解析部331、リードリクエスト生成部332、TAG(タグ)バッファ333、TAGバッファ制御部334、データサイズ情報バッファ335、及びデータサイズ情報バッファ制御部336を備えている。データサイズ情報バッファ335は、図3に示されるキャッシュ14に対応する。データサイズ情報キャッシュ部33内の他の構成要素は、図3に示される制御部11を構成する構成要素に対応する。
データサイズ情報バッファ335は、DDRメモリ40に格納されているデータサイズ情報を格納するバッファである。
TAGバッファ333は、データサイズ情報バッファ335に格納されているデータサイズ情報を示す管理情報を格納するバッファである。本実施の形態2では、管理情報は、DDRメモリ40上のどのアドレスのデータサイズ情報がデータサイズ情報バッファ335に格納されているかを示す情報であるとする。
演算データリクエスト解析部331は、演算部31から演算データリード制御部32経由で、所望の圧縮データの読み出しを行うためのリードリクエストを受信すると、そのリードリクエストを解析し、解析結果に基づく処理を行う。例えば、演算データリクエスト解析部331は、リードリクエストに含まれるアドレスを基に、所望の圧縮データのデータサイズ情報が格納されているDDRメモリ40上のアドレスを導出し、導出したアドレスをTAGバッファ制御部334に渡す。
TAGバッファ制御部334は、TAGバッファ333の制御を行う。例えば、TAGバッファ制御部334は、演算データリクエスト解析部331からアドレスが渡されると、そのアドレスに格納されている所望のデータサイズ情報が、データサイズ情報バッファ335に格納されているか否かを、TAGバッファ333に格納されている管理情報を基に、判断する。所望のデータサイズ情報がデータサイズ情報バッファ335に格納されていない場合、TAGバッファ制御部334は、DDRメモリ40に格納されている所望のデータサイズ情報の読み出しを行うためのリードリクエストを生成するよう、リードリクエスト生成部332に指示する。また、TAGバッファ制御部334は、リードリクエストの生成を指示した所望のデータサイズ情報の管理情報をTAGバッファ333に格納する。
データサイズ情報バッファ制御部336は、データサイズ情報バッファ335の制御を行う。例えば、データサイズ情報バッファ制御部336は、DDRメモリ制御部34がDDRメモリ40から所望のデータサイズ情報を読み出すと、所望のデータサイズ情報を、データバス36経由で受信し、データサイズ情報バッファ335に格納する。データサイズ情報バッファ335に空き容量が無い場合は、データサイズ情報バッファ制御部336は、例えば、最も古いデータサイズ情報を破棄し、最も古いデータサイズ情報が格納されていた領域に新しいデータサイズ情報を格納する。
演算データリクエスト解析部331は、所望のデータサイズ情報がデータサイズ情報バッファ335又はDDRメモリ40から読み出された場合、所望のデータサイズ情報を基に、所望の圧縮データのデータ長を判断する。そして、演算データリクエスト解析部331は、演算部31から受信したリードリクエストに含まれるデータ長を、所望の圧縮データのデータ長に置き換えるよう、リードリクエスト生成部332に指示する。
リードリクエスト生成部332は、演算データリクエスト解析部331やTAGバッファ制御部334から指示されたリードリクエストを生成し、生成したリードリクエストをデータバス36経由でDDRメモリ制御部34に送る。
<実施の形態2の動作>
次に、本実施の形態2に係る半導体装置30の動作について説明する。図7は、本実施の形態2に係る半導体装置30の動作フローを示している。
図7に示すように、演算データリクエスト解析部331は、演算部31から演算データリード制御部32経由で、所望の圧縮データの読み出しを行うためのリードリクエストを受信する(ステップS31)。このリードリクエストには、所望の圧縮データの圧縮前のデータのアドレス(所望の圧縮データが格納されているDDRメモリ40上のアドレスと同じアドレス)と、圧縮前のデータのデータ長と、が含まれる。演算データリクエスト解析部331は、受信したリードリクエストに含まれるアドレスを基に、所望の圧縮データのデータサイズ情報が格納されているDDRメモリ40上のアドレスを導出し、導出したアドレスをTAGバッファ制御部334に渡す。続いて、TAGバッファ制御部334は、TAGバッファ333に格納されている管理情報を基に、演算データリクエスト解析部331から渡されたアドレスに格納されている所望のデータサイズ情報が、データサイズ情報バッファ335に格納されているか否かを判断する(ステップS32)。
ステップS32において、所望のデータサイズ情報がデータサイズ情報バッファ335に格納されている場合(ステップS32のYes)、データサイズ情報バッファ制御部336は、データサイズ情報バッファ335から所望のデータサイズ情報を読み出す(ステップS33)。
一方、ステップS32において、所望のデータサイズ情報がデータサイズ情報バッファ335に格納されていない場合(ステップS32のNo)、リードリクエスト生成部332は、TAGバッファ制御部334の制御の下で、所望のデータサイズ情報の読み出しを行うためのリードリクエストを生成し、生成したリードリクエストをデータバス36経由でDDRメモリ制御部34に送る。このリードリクエストに応じて、DDRメモリ制御部34は、DDRメモリ40から所望のデータサイズ情報を読み出す。DDRメモリ40から読み出された所望のデータサイズ情報は、データバス36経由でデータサイズ情報バッファ制御部336で受信される。データサイズ情報バッファ制御部336は、受信した所望のデータサイズ情報を、データサイズ情報バッファ335に格納する(ステップS34)。また、TAGバッファ制御部334は、所望のデータサイズ情報の管理情報をTAGバッファ333に格納する。
続いて、演算データリクエスト解析部331は、所望のデータサイズ情報を基に、所望の圧縮データのデータ長を判断する。そして、リードリクエスト生成部332は、演算データリクエスト解析部331の制御の下で、演算部31から受信したリードリクエストに含まれるデータ長を、所望の圧縮データのデータ長に置き換える(ステップS35)。
続いて、リードリクエスト生成部332は、ステップS35でデータ長を置き換えたリードリクエストを、データバス36経由でDDRメモリ制御部34に送る。続いて、このリードリクエストに応じて、DDRメモリ制御部34は、DDRメモリ40から所望の圧縮データを読み出す(ステップS36)。
その後、圧縮データ伸張部35は、DDRメモリ40から読み出された所望の圧縮データを、データバス36経由で受信し、受信した所望の圧縮データを伸張する(ステップS37)。圧縮データ伸張部35で伸張されたデータは、演算データリード制御部32経由で演算部31に送られる。
<実施の形態2の効果>
次に、本実施の形態2の効果について説明する。本実施の形態2によれば、圧縮データのリードリクエストを受信した場合、その圧縮データのデータサイズ情報がデータサイズ情報バッファ335に格納されていれば、そのデータサイズ情報をデータサイズ情報バッファ335から読み出し、そのデータサイズ情報を用いて、DDRメモリ40から圧縮データを読み出す。
したがって、DDRメモリ40からの圧縮データの読み出し毎に、DDRメモリ40からのデータバス36経由でのデータサイズ情報の読み出しが発生することが回避されるため、データサイズ情報の読み出しに起因してバス/メモリ帯域が消費されてしまうことが抑制される。
<実施の形態2の具体的構成例>
次に、本実施の形態2を実現する具体的な構成例を説明する。
演算部31は、動画圧縮規格であるH.264規格のデコーダであるとする。
圧縮手法は、圧縮後の圧縮データが可変長となる可逆圧縮とする。具体的には、演算部31から出力されたデータを、64×4(水平64画素×垂直4ライン)画素ブロック単位(256バイト)で圧縮し、圧縮後の圧縮データのデータ長を64,128,192,256バイトの4通りのデータ長に丸めて管理するとする。また、データサイズ情報は、64×4画素ブロックの1つにつき2ビットであるとする。また、圧縮データをDDRメモリ40に格納する格納順番と、その圧縮データのデータサイズ情報をDDRメモリ40に格納する格納順番と、は一致するものとする。
DDRメモリ40は、LPDDR4(Low Power DDR4)であるとする。
H.264規格では、動画像は各画像(ピクチャ)単位に圧縮される。圧縮されたピクチャには、大別してI/P/Bの3種類が規定されている。
Iピクチャは、そのピクチャ自身のデータのみで圧縮されており、そのピクチャ単体で復号(デコード)できる。P/Bピクチャは、そのピクチャと、それ以前にデコードした結果(デコード画像)の差分を取って、そのピクチャを圧縮する。そのため、P/Bピクチャは、Iピクチャに比べて圧縮後のデータサイズを小さくすることができる。P/Bピクチャにおいて差分データを生成するとき、参照するデコード画像から任意の位置のデータを選択することができる。例えば、圧縮後のデータ量が最小になるような位置のデータが選択される。
P/Bピクチャにおいて、参照するデコード画像は参照面とも称され、差分データの生成には、輝度用の参照面及び色差用の参照面が必要となる。H.264規格では、輝度用の参照面及び色差用の参照面としてそれぞれで最大32面の合計64面を持つことができることが規定されている。
次に、本実施の形態2を上記の具体的な構成例で実現した場合の具体的な効果について説明する。
本実施の形態2では、圧縮データのリードリクエストを受信した場合、その圧縮データのデータサイズ情報がデータサイズ情報バッファ335に格納されていれば、データサイズ情報バッファ335に格納されているデータサイズ情報を用いて、DDRメモリ40から圧縮データを読み出す。そのため、DDRメモリ40からの圧縮データの読み出し毎に、DDRメモリ40からのデータバス36経由でのデータサイズ情報の読み出しが発生することが回避される。
もし、圧縮データの読み出し毎に、DDRメモリ40からデータバス36経由でデータサイズ情報の読み出しを行うこととすると、2ビットのデータサイズ情報を読み出すにも、毎回、実質的に128バイト長のデータを読み出した場合と同等のバス/メモリ帯域を消費してしまうことになる。これについて図8を用いて説明する。
図8のグラフは、一回のデータ転送長に対するDDRメモリ40の転送効率(アクセス効率)を示している。データ転送長が128バイト以上である場合は100%近い転送効率であるが、データ転送長が128バイトよりも短くなるにしたがって、転送効率が下がる。例えば、64バイトのときは約50%の効率となり、2回に1回は転送できない期間が発生する。このように、データ転送長が128バイトよりも短いときは、転送ができない期間が発生し、実質的に128バイトのデータを転送していることになる。そのため、2ビットのデータサイズ情報を読み出すことは、実質的に128バイト長のデータを読み出すことと等価となる。本実施の形態2では、所望のデータサイズ情報がデータサイズ情報バッファ335に格納されている限りは、DDRメモリ40からのデータバス36経由でのデータサイズ情報の読み出しが発生しないため、バス/メモリ帯域の消費が抑制される。
また、図8のグラフによれば、データサイズ情報を読み出す場合、所定の読み出し単位分のデータサイズ情報をまとめて読み出すことが望ましい。例えば、所望のデータサイズ情報(2ビット)を含む、128バイト分のデータサイズ情報をまとめて読み出すことが好ましい。この場合、リードリクエスト生成部332は、例えば、所望のデータサイズ情報のアドレスから128バイト分のデータサイズ情報をまとめて読み出すリードリクエストを生成する。このように、所定の読み出し単位分のデータサイズ情報をまとめて読み出すにより、2ビットのデータサイズ情報を個々に読み出す場合と比較して、バス/メモリ帯域の消費がさらに抑制される。
また、データサイズ情報をDDRメモリ40に格納するのではなく、全て演算部31内の不図示のSRAM(Static Random Access Memory)に格納することとすると、画像サイズにも依存するが、FullHDの場合、96KバイトのSRAMが必要になってしまう(参照面1面あたり1.5Kバイトが64面分必要となるため)。
これに対して本実施の形態2では、参照面1面当たり128バイト単位で、参照面64面分のデータサイズ情報を管理すると、約8Kバイトが必要になるだけであるため、データサイズ情報バッファ335は8KバイトのSRAMで済む。
(3)実施の形態3
<実施の形態3の構成及び動作>
まず、実施の形態3の構成及び動作について説明する。本実施の形態3は、実施の形態2と構成自体は同様であるが、実施の形態2とは動作が異なる。
実施の形態2では、所定の読み出し単位分(例えば、128バイト分)のデータサイズ情報をまとめて読み出してデータサイズ情報バッファ335に格納することとしていた。
本実施の形態3は、所定の読み出し単位分のデータサイズ情報を読み出す際に、アドレス領域が連続する、次の所定の読み出し単位分のデータサイズ情報も先行して読み出してデータサイズ情報バッファ335に格納する。この場合、リードリクエスト生成部332は、例えば、所望のデータサイズ情報のアドレスから128バイト分のデータサイズ情報を読み出すと共に、アドレス領域が連続する、次の128バイト分のデータサイズ情報も先行して読み出すリードリクエストを生成する。
しかし、本実施の形態3では、データサイズ情報バッファ335は、空き容量が無い場合は、最も古いデータサイズ情報を破棄することを想定している。そのため、データサイズ情報バッファ335の容量によっては、先行読み出しを行った結果、同時に読み出した前のデータサイズ情報が、データサイズ情報バッファ335から破棄されてしまう可能性がある。
そこで、リードリクエスト生成部332は、データサイズ情報バッファ335の容量に応じて、先行読み出しをするか否かを切り替えることが望ましい。例えば、データサイズ情報バッファ335が、データサイズ情報の所定の読み出し単位の2倍以上の容量を持つ場合に限り、先行読み出しを行うことが好ましい。これにより、先行読み出しを行った結果、同時に読み出した前のデータサイズ情報が、データサイズ情報バッファ335から破棄されてしまうことが回避される。
<実施の形態3の効果>
次に、本実施の形態3の効果について説明する。本実施の形態3によれば、所定の読み出し単位分のデータサイズ情報を読み出す際に、アドレス領域が連続する、次の所定の読み出し単位分のデータサイズ情報も先行して読み出してデータサイズ情報バッファ335に格納する。
例えば、演算部31による圧縮データの読み出しが、局所的にはランダムな読み出しであっても、大域的に見ると、読み出す箇所がアドレス順に遷移する場合がある。その場合、本実施の形態2のように、データサイズ情報を先行して読み出しておくことで、所望のデータサイズ情報がデータサイズ情報バッファ335に格納されていなかったときの処理遅延(ミスペナルティ)を防ぐことができ、その結果、演算部31の処理性能の低下を抑制することができる。
その他の効果は、実施の形態2と同様である。
<実施の形態3の具体的構成例>
次に、本実施の形態3を実現する具体的な構成例を説明する。本実施の形態3は、実施の形態2と同様の具体的な構成例で実現するものとする。
H.264規格では、上述の通り、輝度用の参照面及び色差用の参照面としてそれぞれで最大32面の合計64面を持つことができる。しかし、実際には、演算部31が、参照面を上限まで使用しない場合も多い。また、参照面数は、H.264規格では、圧縮データの冒頭のヘッダ部に符号化されて格納されており、演算部31は、符号化処理を開始する前に、参照面数を知ることができる。
実施の形態2の具体的な構成例によれば、データサイズ情報バッファ335は、参照面1面当たり128バイト単位で、参照面64面分のデータサイズ情報を格納することが可能な容量を持つ。
したがって、輝度用の参照面及び色差用の参照面が合計で32面以下である場合には(例えば、輝度用の参照面及び色差用の参照面がそれぞれ16面である場合)、先行読み出しを行ったとしても、同時に読み出した前のデータサイズ情報が、データサイズ情報バッファ335から破棄されることが回避される。
そこで、輝度用の参照面及び色差用の参照面が合計32面以下である場合に限り、所望のデータサイズ情報を含む128バイト分のデータサイズ情報を読み出す際に、アドレス領域が連続する、次の128バイト分のデータサイズ情報も先行して読み出すことが望ましい。
なお、先行読み出しを行う分のデータサイズ情報が、既にデータサイズ情報バッファ335に格納されている場合は、先行読み出しは行わない。これにより、データサイズ情報の無駄な読み出しが回避されるため、バス/メモリ帯域の消費がさらに抑制される。
(4)他の実施の形態
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
例えば、上記実施の形態2,3では、圧縮データの読み出しに用いる補助情報が、圧縮データのデータ長を示すデータサイズ情報であるものとして説明したが、これには限定されない。補助情報は、圧縮データが格納されているメモリ上のアドレスを示すアドレス情報でも良い。
この場合、メモリには、圧縮データのアドレス情報を補助情報として格納する。そして、圧縮データのアドレス情報を基に、リードリクエストに含まれるアドレスを、圧縮データが格納されているメモリ上のアドレスに置き換える。
なお、補助情報は、データサイズ情報又はアドレス情報のいずれかを単独で使用しても良いし、データサイズ情報及びアドレス情報の双方を使用しても良い。
1 データ処理システム
10 半導体装置
11 制御部
12 伸張部
13 データバス
14 キャッシュ
20 メモリ
2 データ処理システム
30 半導体装置
31 演算部
32 演算データリード制御部
33 データサイズ情報キャッシュ部
331 演算データリクエスト解析部
332 リードリクエスト生成部
333 TAGバッファ
334 TAGバッファ制御部
335 データサイズ情報バッファ
336 データサイズ情報バッファ制御部
34 DDRメモリ制御部
35 圧縮データ伸張部
36 データバス
40 DDRメモリ

Claims (11)

  1. (a)圧縮データの圧縮前のデータアドレスと同じにしたメモリ上のデータアドレスに該圧縮データが格納されており、前記メモリに圧縮データと共に格納された、該圧縮データの読み出しに用いる、該圧縮データのデータ長を示すデータサイズ情報である補助情報が格納されるキャッシュ;及び
    (b)前記メモリに格納された圧縮データの読み出し指令であって該圧縮データの圧縮前のデータアドレス及びデータ長を含む読み出し指令を受信した場合、該圧縮データの補助情報が前記キャッシュに格納されていれば、前記キャッシュから該圧縮データの補助情報を読み出し、該圧縮データの補助情報が前記キャッシュに格納されていなければ、前記メモリから該圧縮データの補助情報を読み出して前記キャッシュに格納し、該圧縮データの補助情報及び前記読み出し指令に含まれる前記データアドレスを用いて、前記メモリから該圧縮データを読み出す制御部;
    を備え、
    前記制御部は、前記メモリから圧縮データの補助情報を読み出して前記キャッシュに格納する場合、該圧縮データの補助情報を含む、所定の読み出し単位分の補助情報を読み出して前記キャッシュに格納し、
    前記制御部は、前記メモリから前記所定の読み出し単位分の補助情報を読み出して前記キャッシュに格納する場合、アドレス領域が連続する、次の前記所定の読み出し単位分の補助情報も先行して読み出して前記キャッシュに格納する、
    半導体装置。
  2. 前記制御部は、前記キャッシュの容量に応じて、次の前記所定の読み出し単位分の補助情報を先行して読み出すか否かを切り替える、
    請求項1に記載の半導体装置。
  3. 前記制御部は、次の前記所定の読み出し単位分の補助情報が前記キャッシュに格納されている場合、次の前記所定の読み出し単位分の補助情報を先行して読み出さない、
    請求項1に記載の半導体装置。
  4. 前記制御部は、前記キャッシュに格納されている補助情報を示す管理情報を保持し、該管理情報に基づいて、読み出し指令を受信した圧縮データの補助情報が前記キャッシュに格納されているか否かを判断する、
    請求項1に記載の半導体装置。
  5. 圧縮データを前記メモリに格納する格納順番と、該圧縮データの補助情報を前記メモリに格納する格納順番と、が一致している、
    請求項1に記載の半導体装置。
  6. (a)圧縮データ及び該圧縮データの読み出しに用いる補助情報が格納されたメモリ;及び
    (b)請求項1に記載の半導体装置;
    を備えるデータ処理システム。
  7. 前記制御部は、前記キャッシュの容量に応じて、次の前記所定の読み出し単位分の補助情報を先行して読み出すか否かを切り替える、
    請求項6に記載のデータ処理システム。
  8. 前記制御部は、次の前記所定の読み出し単位分の補助情報が前記キャッシュに格納されている場合、次の前記所定の読み出し単位分の補助情報を先行して読み出さない、
    請求項6に記載のデータ処理システム。
  9. 半導体装置の制御方法であって、
    (a)圧縮データの圧縮前のデータアドレスと同じにしたメモリ上のデータアドレスに該圧縮データが格納されており、前記メモリに格納された圧縮データの読み出し指令であって該圧縮データの圧縮前のデータアドレス及びデータ長を含む読み出し指令を受信した場合、前記メモリに該圧縮データと共に格納された、該圧縮データの読み出しに用いる、該圧縮データのデータ長を示すデータサイズ情報である補助情報が、キャッシュに格納されているか否かを判断するステップ;及び
    (b)圧縮データの補助情報が前記キャッシュに格納されていれば、前記キャッシュから該圧縮データの補助情報を読み出し、該圧縮データの補助情報が前記キャッシュに格納されていなければ、前記メモリから該圧縮データの補助情報を読み出して前記キャッシュに格納し、該圧縮データの補助情報及び前記読み出し指令に含まれる前記データアドレスを用いて、前記メモリから該圧縮データを読み出すステップ;
    を備え、
    前記メモリから圧縮データの補助情報を読み出して前記キャッシュに格納する場合、該圧縮データの補助情報を含む、所定の読み出し単位分の補助情報を読み出して前記キャッシュに格納し、
    前記メモリから前記所定の読み出し単位分の補助情報を読み出して前記キャッシュに格納する場合、アドレス領域が連続する、次の前記所定の読み出し単位分の補助情報も先行して読み出して前記キャッシュに格納する、
    半導体装置の制御方法。
  10. 前記キャッシュの容量に応じて、次の前記所定の読み出し単位分の補助情報を先行して読み出すか否かを切り替える、
    請求項9に記載の半導体装置の制御方法。
  11. 次の前記所定の読み出し単位分の補助情報が前記キャッシュに格納されている場合、次の前記所定の読み出し単位分の補助情報を先行して読み出さない、
    請求項9に記載の半導体装置の制御方法。
JP2015250937A 2015-12-24 2015-12-24 半導体装置、データ処理システム及び半導体装置の制御方法 Active JP6605323B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015250937A JP6605323B2 (ja) 2015-12-24 2015-12-24 半導体装置、データ処理システム及び半導体装置の制御方法
US15/358,133 US10229063B2 (en) 2015-12-24 2016-11-22 Semiconductor device, data processing system, and semiconductor device control method
EP16205314.4A EP3185127B1 (en) 2015-12-24 2016-12-20 Semiconductor device, data processing system, and semiconductor device control method
CN201611201981.1A CN106919514B (zh) 2015-12-24 2016-12-23 半导体装置、数据处理系统以及半导体装置控制方法
US16/204,222 US20190095338A1 (en) 2015-12-24 2018-11-29 Semiconductor device, data processing system, and semiconductor device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015250937A JP6605323B2 (ja) 2015-12-24 2015-12-24 半導体装置、データ処理システム及び半導体装置の制御方法

Publications (2)

Publication Number Publication Date
JP2017117145A JP2017117145A (ja) 2017-06-29
JP6605323B2 true JP6605323B2 (ja) 2019-11-13

Family

ID=57570806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015250937A Active JP6605323B2 (ja) 2015-12-24 2015-12-24 半導体装置、データ処理システム及び半導体装置の制御方法

Country Status (4)

Country Link
US (2) US10229063B2 (ja)
EP (1) EP3185127B1 (ja)
JP (1) JP6605323B2 (ja)
CN (1) CN106919514B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019061631A (ja) * 2017-09-28 2019-04-18 ルネサスエレクトロニクス株式会社 半導体装置、及びメモリアクセス方法
JP7082529B2 (ja) * 2018-06-06 2022-06-08 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置による処理方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628108A (ja) * 1992-07-09 1994-02-04 Hitachi Ltd データ記憶システム
JP3516963B2 (ja) * 1993-03-12 2004-04-05 株式会社東芝 メモリアクセス制御装置
JP3037144B2 (ja) 1996-07-09 2000-04-24 神戸日本電気ソフトウェア株式会社 データ圧縮記憶演算装置
US6973542B1 (en) * 2000-07-18 2005-12-06 International Business Machines Corporation Detecting when to prefetch inodes and then prefetching inodes in parallel
JP2003330797A (ja) * 2002-05-16 2003-11-21 Sony Corp 記憶装置、記録及び/又は再生装置、情報記憶システム、記憶方法、プログラム、記録媒体
US8001294B2 (en) 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
US8093485B2 (en) * 2004-12-17 2012-01-10 Lsi Corporation Method and system for prefetching sound data in a sound processing system
US7506010B2 (en) * 2005-02-08 2009-03-17 Pro Softnet Corporation Storing and retrieving computer data files using an encrypted network drive file system
US7493451B2 (en) 2006-06-15 2009-02-17 P.A. Semi, Inc. Prefetch unit
JP2008225914A (ja) * 2007-03-13 2008-09-25 Fujitsu Ltd プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
CN101340569A (zh) * 2007-07-06 2009-01-07 扬智科技股份有限公司 高速缓存及其数据处理方法
JP4653830B2 (ja) * 2008-09-19 2011-03-16 株式会社東芝 命令キャッシュシステム
US8595437B1 (en) * 2008-11-21 2013-11-26 Nvidia Corporation Compression status bit cache with deterministic isochronous latency
US8700862B2 (en) * 2008-12-03 2014-04-15 Nvidia Corporation Compression status bit cache and backing store
US8862823B1 (en) * 2008-12-19 2014-10-14 Nvidia Corporation Compression status caching
US8627041B2 (en) * 2009-10-09 2014-01-07 Nvidia Corporation Efficient line and page organization for compression status bit caching
US9317511B2 (en) * 2012-06-19 2016-04-19 Infinidat Ltd. System and method for managing filesystem objects
US10572378B2 (en) * 2014-03-20 2020-02-25 Hewlett Packard Enterprise Development Lp Dynamic memory expansion by data compression
US10838862B2 (en) * 2014-05-21 2020-11-17 Qualcomm Incorporated Memory controllers employing memory capacity compression, and related processor-based systems and methods
US9740621B2 (en) * 2014-05-21 2017-08-22 Qualcomm Incorporated Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods

Also Published As

Publication number Publication date
CN106919514A (zh) 2017-07-04
US20170185521A1 (en) 2017-06-29
EP3185127A1 (en) 2017-06-28
US10229063B2 (en) 2019-03-12
CN106919514B (zh) 2024-01-02
US20190095338A1 (en) 2019-03-28
EP3185127B1 (en) 2020-03-11
JP2017117145A (ja) 2017-06-29

Similar Documents

Publication Publication Date Title
US8781000B2 (en) Dynamic video data compression
JP5969914B2 (ja) 動画像圧縮伸張装置
JP4991816B2 (ja) 画像処理装置
TWI487380B (zh) A data processing device, a video coding / decoding device and a data processing system
JP2008292542A (ja) 画像処理装置および画像処理方法
JP2006524858A (ja) メモリに記憶されたデータに圧縮を使用するデータ処理装置
JP6679290B2 (ja) 半導体装置
TW201923585A (zh) 資料處理裝置及資料處理方法
JP6605323B2 (ja) 半導体装置、データ処理システム及び半導体装置の制御方法
JP5526641B2 (ja) メモリコントローラ
US10349072B2 (en) Image processing apparatus and control method for the same
JP5100561B2 (ja) 画像処理装置および画像処理方法
JP2009130599A (ja) 動画像復号装置
JP5653328B2 (ja) 画像処理装置及び画像処理システム
JP4748807B2 (ja) 復号回路
US10904578B2 (en) Video processing apparatus and video processing circuits thereof
JP6411250B2 (ja) 画像処理装置、及び画像処理方法
JP5131150B2 (ja) 符号化装置、復号装置、及び画像処理システム
JP5222803B2 (ja) 画像処理装置
US10719440B2 (en) Semiconductor device and memory access method
JPWO2010095181A1 (ja) 可変長復号化装置
JP2005223538A (ja) 画像処理回路
JP2019092075A (ja) 画像符号化装置及びその制御方法並びにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190828

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: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191016

R150 Certificate of patent or registration of utility model

Ref document number: 6605323

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150