CN106919514B - 半导体装置、数据处理系统以及半导体装置控制方法 - Google Patents
半导体装置、数据处理系统以及半导体装置控制方法 Download PDFInfo
- Publication number
- CN106919514B CN106919514B CN201611201981.1A CN201611201981A CN106919514B CN 106919514 B CN106919514 B CN 106919514B CN 201611201981 A CN201611201981 A CN 201611201981A CN 106919514 B CN106919514 B CN 106919514B
- Authority
- CN
- China
- Prior art keywords
- auxiliary information
- compressed data
- data
- memory
- stored
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000007906 compression Methods 0.000 claims description 23
- 230000006835 compression Effects 0.000 claims description 23
- 230000000052 comparative effect Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/04—Addressing variable-length words or parts of words
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing 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
-
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/302—In image processor or graphics adapter
-
- 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
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- 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/60—Details 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)
Abstract
公开了半导体装置、数据处理系统及半导体装置控制方法。减少由未包括在压缩数据中的辅助信息的读取导致的总线/存储器带宽消耗。存储器储存压缩数据和用于读取压缩数据的辅助信息。半导体装置包括高速缓存,其中储存在存储器中储存的辅助信息;控制单元,当接收用于读取存储器中储存的压缩数据的读取请求时,如关于压缩数据的辅助信息储存在高速缓存中则从高速缓存读取关于压缩数据的辅助信息,如关于压缩数据的辅助信息未储存在高速缓存中则从存储器读取关于压缩数据的辅助信息并将其储存在高速缓存中,以及控制单元使用关于压缩数据的辅助信息从存储器读取压缩数据;展开单元,展开从存储器读取的压缩数据。
Description
相关申请的交叉引用
包括说明书、附图和摘要的2015年12月24日提交的日本专利申请No.2015-250937的公开的全部内容通过引用并入本文中。
技术领域
本发明涉及例如用来在外部存储器中储存压缩数据的半导体装置、数据处理系统以及半导体装置控制方法。
背景技术
近来,执行包括图像处理的各种算术处理的半导体装置被广泛使用。在这样的半导体装置中,当诸如图像数据的数据被写到存储器或从存储器中读取时,遵循预定的标准对数据编码、解码、压缩和展开。就读取压缩数据而言,已知日本未审查专利申请公开No.Hei 10(1998)-27127和No.2006-099774中公开的技术。
在日本未审查专利申请公开No.Hei 10(1998)-27127中公开的技术中,当压缩数据储存在存储器中时,将表明压缩数据储存在哪里的存储器地址信息经由总线储存在存储器中,作为在读取压缩数据时使用的辅助信息。当要从存储器读取压缩数据时,使用该地址信息。
在日本未审查专利申请公开No.2006-099774中公开的技术中,当压缩数据储存在存储器中时,将关于压缩数据的数据大小信息作为辅助信息经由总线储存在直接存储器存取控制器(DMAC)中。当要从存储器读取压缩数据时,使用数据大小信息。
发明内容
在上述专利文献中公开的技术中,当从存储器读取压缩数据时,必须经由总线读取辅助信息。当读取辅助信息时,消耗了许多总线/存储器带宽。
本发明的其它目的和新颖的特征将根据以下描述和附图而变得明白。
根据本发明的一个实施例,半导体装置设置有用于储存被储存在存储器中的辅助信息的高速缓存。当接收到用于读取储存在存储器中的压缩数据的请求时,如果储存了辅助信息,则半导体装置从高速缓存读取关于压缩数据的辅助信息,并且使用辅助信息从存储器读取压缩数据。
根据以上实施例,能够减少由辅助信息的读取导致的总线/存储器带宽的消耗。
附图说明
图1是示出根据比较示例的数据处理系统的配置的示意图。
图2是描述根据比较示例的半导体装置的操作流程的流程图。
图3是示出根据本发明的第一实施例的数据处理系统的配置的示意图。
图4是描述根据第一实施例的半导体装置的操作流程的流程图。
图5是示出根据本发明的第二和第三实施例的数据处理系统的配置的示意图。
图6是例示根据第二和第三实施例的压缩数据的示图。
图7是描述根据第二实施例的半导体装置的操作流程的流程图。
图8是示出数据长度和存储器存取效率之间的关系的图表。
具体实施方式
在下文中将参考附图描述本发明的实施例。为了描述清楚,在适当的情况下,以下描述和附图包括省略和简化。在附图中表示为功能块的元件,在硬件方面可配置成例如具有中央处理单元(CPU)、存储器和其它电路,或者在软件方面可配置成例如具有加载在存储器中的程序。对本领域的技术人员来说明显的是,这样的功能块能够在硬件方面、软件方面或者通过硬件和软件的结合以各种形式实现,而不受限于任何具体的手段。在附图中,相同的元件由相同的附图标记来指代,以及在下文中,在适当的情况下省略相同元件的重复描述。
(1)第一实施例
<比较示例的配置>
首先,为了使得更容易理解本发明的第一实施例,将描述由本发明的本发明人考虑的比较示例。首先将描述比较示例的数据处理系统9的配置。该配置示出在图1中。如图所示,比较示例的数据处理系统9包括例如大规模集成电路(LSI)的半导体装置100和设置在半导体装置100外部的存储器20。
存储器20储存压缩数据。存储器20还储存在读取压缩数据时使用的辅助信息。辅助信息包括例如数据大小信息和地址信息,其中数据大小信息表明压缩数据的数据长度,地址信息表明储存压缩数据的地址。
半导体装置100包括控制单元11、展开单元12和数据总线13。控制单元11经由数据总线13读取储存在存储器20中的压缩数据和辅助信息。展开单元12展开由控制单元11从存储器20读取的压缩数据。
<比较示例的操作>
接着,将描述比较示例的半导体装置100的操作。图2示出了比较示例的半导体装置100的操作流程。
如图2中所示,当接收到用于读取储存在存储器20中的压缩数据的请求时(步骤S11),控制单元11经由数据总线13从存储器20读取关于压缩数据的辅助信息(步骤S12)。
接着,控制单元11使用辅助信息经由数据总线13从存储器20读取压缩数据(步骤S13)。
随后,展开单元12展开由控制单元11从存储器20读取的压缩数据(步骤S14)。
如上所述,根据比较示例的半导体装置100,为了从存储器20读取压缩数据,必须经由数据总线13从存储器20读取辅助信息。即,根据比较示例的半导体装置100,每次要从存储器20读取压缩数据时,都经由数据总线13从存储器20读取辅助信息。这存在消耗了许多总线/存储器带宽来读取未包括在压缩数据中的辅助信息的问题。
根据本发明的本第一实施例,能够解决以上问题。
<第一实施例的配置>
接着,将描述本第一实施例的数据处理系统1的配置。该配置在图3中示出。如图3中所示,本第一实施例的数据处理系统1和图1中示出的比较示例的数据处理系统9的不同在于,数据处理系统1包括半导体装置10而非包括在数据处理系统9中的半导体装置100。
与图1中示出的比较示例的半导体装置100相比,半导体装置10额外地包括高速缓存14。高速缓存14储存辅助信息,所述辅助信息与压缩数据一起储存在存储器20中。
<第一实施例的操作>
接着,将描述本第一实施例的半导体装置10的操作。图4示出了本第一实施例的半导体装置10的操作流程。
如图4中所示,当接收到用于读取储存在存储器20中的压缩数据的请求时(步骤S21),控制单元11确定关于压缩数据的辅助信息是否储存在高速缓存14中(步骤S22)。
当在步骤S22中确定了辅助信息储存在高速缓存14中时(步骤S22=是),控制单元11从高速缓存14读取辅助信息(步骤S23)。
当确定了辅助信息未被储存在高速缓存14中时(步骤S22=否),控制单元11经由数据总线13从存储器20读取辅助信息并将辅助信息储存在高速缓存14中(步骤S24)。
接着,控制单元11使用辅助信息经由数据总线13从存储器20读取压缩数据(步骤S25)。
随后,展开单元12展开由控制单元11从存储器20读取的压缩数据(步骤S26)。
<第一实施例的效果>
根据本第一实施例,当在关于压缩数据的辅助信息被储存在高速缓存14中的情况下接收到用于读取压缩数据的请求时,从高速缓存14读取辅助信息并通过使用辅助信息从存储器20读取压缩数据。
因此,避免了每次从存储器20读取压缩数据时都经由数据总线13从存储器20读取辅助信息,使得减少了由辅助信息的读取导致的总线/存储器带宽的消耗。
(2)第二实施例
<第二实施例的配置>
本发明的第二实施例等同于第一实施例的配置的更具体的版本。
<第二实施例的数据处理系统的配置>
首先,将描述本第二实施例的数据处理系统2的配置。该配置示出在图5中。如图5中所示,本第二实施例的数据处理系统2包括例如LSI的半导体装置30和设置在半导体装置30外部的双倍数据速率(DDR)存储器40。半导体装置30和DDR存储器40分别地对应于图3中示出的半导体装置10和存储器20。
半导体装置30压缩从包括在半导体装置30中的稍后描述的运算单元31输出的数据并将压缩数据储存在DDR存储器40中。此时,半导体装置30也将在读取压缩数据中使用的辅助信息储存在DDR存储器40中。在本第二实施例中,假定辅助信息是表明压缩数据的数据长度的数据大小信息。
以下将描述本第二实施例中使用的储存压缩数据的方法。图6是概念性地示出压缩数据的储存的示意图。在本第二实施例中,半导体装置30如图6中所示压缩数据并将压缩数据储存在DDR存储器40中。
例如,半导体装置30以256字节为单位压缩从运算单元31输出的数据。每个单位的压缩数据都具有比被压缩之前短的数据长度。因此,按顺序储存在DDR存储器40中的多个单位的压缩数据具有与它们被压缩之前的数据地址相偏移的数据地址。因此,为了使得可以在与压缩之前相偏移的地址处直接地存取压缩数据,必须保持压缩之前和压缩之后的数据地址以相互关联的状态被记忆。
因此,如图6中所示,半导体装置30将每个单位的压缩数据都储存成在对应的256字节未压缩数据(压缩之前的数据)的顶部地址处开始。即,当储存每个单位的压缩数据时,半导体装置30只储存压缩数据而不使得每个单位的压缩数据的顶部地址相对于对应的压缩前的256字节数据的顶部地址变动。
因此,在本第二实施例中,储存的每个单位的压缩数据的顶部地址与对应的256字节单位的未压缩数据的顶部地址相同。这使得不需要记忆每256字节单位的未压缩数据的压缩前的数据地址,例如每个缓冲器的顶部地址。并且,能够以任何顺序存取任意单位的压缩数据(随机存取)。
当从DDR存储器40读取所期望的压缩数据时,半导体装置30读取开始于对应的256字节单位的顶部地址处的压缩数据。此时,因为压缩数据在数据长度上短于被压缩之前,所以不需要读取整个256字节单位。只需要读取对应于压缩之后的数据长度的部分。
在本第二实施例中,当读取所期望的压缩数据时,半导体装置30使用储存所期望的压缩数据的DDR存储器上的地址(与压缩之前的地址相同)和表明所期望的压缩数据的数据长度的数据大小信息。
当在DDR存储器40中储存压缩数据时,半导体装置30还在DDR存储器40中储存了关于压缩数据的数据大小信息作为辅助信息。此时,在DDR存储器40中储存压缩数据的顺序和在DDR存储器40中储存关于压缩数据的数据大小信息的顺序是相同的。因此,根据储存所期望的压缩数据的DDR存储器40上的地址,可以知道储存关于所期望的压缩数据的数据大小信息(后文中,在适合的情况下也可称为“所需的数据大小信息”)的DDR存储器40上的地址。由此,可从DDR存储器40读取所需的数据大小信息。
<第二实施例的半导体装置30的配置>
接着,将描述本第二实施例的半导体装置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中。注意,因为本第二实施例的特征主要在于与储存在DDR存储器40中的压缩数据的读取相关的配置,所以图5中省略了与数据压缩相关的元件。
当从DDR存储器40读取所期望的压缩数据时,运算单元31向运算数据读取控制单元32发送了用于读取所期望的压缩数据的读取请求(读取命令)。读取请求包括所期望的压缩数据的压缩之前的数据地址(与储存所期望的压缩数据的DDR存储器40上的地址相同的地址)和所期望的压缩数据的压缩之前的数据长度。例如,当运算单元31执行图像处理时,因为图像上所期望的数据的位置与DDR存储器40上所期望的数据的位置彼此对应,所以运算单元31可在读取请求中包括与图像上所期望的数据的位置相对应的DDR存储器40上的地址。运算单元31请求压缩之前的数据长度和数据地址,因为运算单元31不知道数据已经被压缩了。
运算数据读取控制单元32执行与储存在DDR存储器40中的压缩数据的读取相关的控制。例如,当从运算单元31接收读取请求时,运算数据读取控制单元32将读取请求传送到数据大小信息高速缓存单元33。
当经由运算数据读取控制单元32从运算单元31接收读取请求时,数据大小信息高速缓存单元33确定关于由所接收的读取请求所请求的压缩数据的数据大小信息是否储存在稍后描述的数据大小信息缓冲器335中。当数据大小信息未储存在数据大小信息缓冲器335中时,数据大小信息高速缓存单元33经由数据总线36读取储存在DDR存储器40中的数据大小信息并将数据大小信息储存在数据大小信息缓冲器335中。基于数据大小信息,数据大小信息高速缓存单元33用压缩数据的压缩之后的数据长度替代包括在从运算单元31接收的读取请求中的数据长度,然后将读取请求经由数据总线36发送到DDR存储器控制单元34。
DDR存储器控制单元34控制DDR存储器40。例如,当从数据大小信息高速缓存单元33接收读取请求时,DDR存储器控制单元34基于读取请求从DDR存储器40读取压缩数据。具体来说,DDR存储器控制单元34从包括在读取请求中的地址读取包括在读取请求中的数据长度的压缩数据。
压缩数据展开单元35经由数据总线36接收由DDR存储器控制单元34读取的压缩数据并且展开压缩数据。将由压缩数据展开单元35展开的数据经由运算数据读取控制单元32发送到运算单元31。
<第二实施例的数据大小信息高速缓存单元33的配置>
接着,将描述本第二实施例的数据大小信息高速缓存单元33的配置。如图5中所示,数据大小信息高速缓存单元33包括运算数据请求分析单元331、读取请求生成单元332、标签(TAG)缓冲器333、标签缓冲器控制单元334、数据大小信息缓冲器335和数据大小信息缓冲器控制单元336。数据大小信息缓冲器335对应于图3中示出的高速缓存14。构成数据大小信息高速缓存单元33的其它元件对应于构成图3中示出的控制单元11的元件。
数据大小信息缓冲器335储存被储存在DDR存储器40中的数据大小信息。
标签缓冲器333储存表明储存在数据大小信息缓冲器335中的数据大小信息的管理信息。在本第二实施例中,管理信息表明储存在数据大小信息缓冲器335中的数据大小信息的DDR存储器40上的地址。
当经由运算读取控制单元32从运算单元31接收用于读取所期望的压缩数据的读取请求时,运算数据请求分析单元331分析读取请求并基于分析的结果执行处理。例如,基于包括在读取请求中的地址,运算数据请求分析单元331获得储存关于所期望的压缩数据的数据大小信息的DDR存储器40上的地址,并将获得的地址传递到标签缓冲器控制单元334。
标签缓冲器控制单元334控制标签缓冲器333。例如,当从运算数据请求分析单元331接收地址时,标签缓冲器控制单元334基于储存在标签缓冲器333中的管理信息来确定储存在该地址处的所需的数据大小信息是否储存在数据大小信息缓冲器335中。当数据大小信息未储存在数据大小信息缓冲器335中时,标签缓冲器控制单元334指示读取请求生成单元332生成用于读取储存在DDR存储器40中的所需的数据大小信息的读取请求。并且,标签缓冲器控制单元334在标签缓冲器333中储存关于所需的数据大小信息的管理信息,标签缓冲器控制单元334已为了该所需的数据大小信息而指示读取请求生成。
数据大小信息缓冲器控制单元336控制数据大小信息缓冲器335。例如,当由DDR存储器控制单元34从DDR存储器40读取所需的数据大小信息时,数据大小信息缓冲器控制单元336经由数据总线36接收数据大小信息并将数据大小信息储存在数据大小信息缓冲器335中。当数据大小信息缓冲器335中没有剩余的可用空间时,例如,数据大小信息缓冲器控制单元336丢弃储存在数据大小信息缓冲器335中的最旧的数据大小信息并将新的数据大小信息储存在由最旧的数据大小信息腾出的缓冲器区域中。
当从数据大小信息缓冲器335或DDR存储器40读取所需的数据大小信息时,运算数据请求分析单元331基于数据大小信息确定所期望的压缩数据的数据长度。然后运算数据请求分析单元331指示读取请求生成单元332用所期望的压缩数据的数据长度来替换包括在从运算单元31接收的读取请求中的数据长度。
读取请求生成单元332依照运算数据请求分析单元331或标签缓冲器控制单元334的指示生成读取请求并将所生成的读取请求经由数据总线36发送到DDR存储器控制单元34。
<第二实施例的操作>
接着,将描述本第二实施例的半导体装置30的操作。图7示出了本第二实施例的半导体装置30的操作流程。
如图7中所示,运算数据请求分析单元331经由运算数据读取控制单元32从运算单元31接收用于读取所期望的压缩数据的读取请求(步骤S31)。读取请求包括所期望的压缩数据的压缩之前的数据地址(与储存所期望的压缩数据的DDR存储器40上的地址相同的地址)和所期望的压缩数据的压缩之前的数据长度。运算数据请求分析单元331基于包括在所接收的读取请求中的地址获得储存关于所期望的压缩数据的数据大小信息的DDR存储器40上的地址,并将获得的地址传递到标签缓冲器控制单元334。随后,标签缓冲器控制单元334基于储存在标签缓冲器333中的管理信息来确定储存在从运算数据请求分析单元331获得的地址处的数据大小信息是否储存在数据大小信息缓冲器335中(步骤S32)。
当在步骤S32中确定数据大小信息储存在数据大小信息缓冲器335中时(步骤S32=是),数据大小信息缓冲器控制单元336从数据大小信息缓冲器335读取数据大小信息(步骤S33)。
另一方面,当在步骤S32中确定数据大小信息未储存在数据大小信息缓冲器335中时(步骤S32=否),在标签缓冲器控制单元334的控制下,读取请求生成单元332生成用于读取所需的数据大小信息的读取请求并将所生成的读取请求经由数据总线36发送到DDR存储器控制单元34。响应于读取请求,DDR存储器控制单元34从DDR存储器40读取所需的数据大小信息。从DDR存储器40读取的数据大小信息由数据大小信息缓冲器控制单元336经由数据总线36接收。数据大小信息缓冲器控制单元336将所接收的数据大小信息储存在数据大小信息缓冲器335中(步骤S34)。并且,标签缓冲器控制单元334将关于数据大小信息的管理信息储存在标签缓冲器333中。
随后,运算数据请求分析单元331基于数据大小信息确定所期望的压缩数据的数据长度。在运算数据请求分析单元331的控制之下,读取请求生成单元332用压缩数据的数据长度替换从运算单元31接收的读取请求中包括的数据长度(步骤S35)。
接着,读取请求生成单元332将包括步骤S35中所替换的数据长度的读取请求经由数据总线36发送到DDR存储器控制单元34。响应于读取请求,DDR存储器控制单元34从DDR存储器40读取所期望的压缩数据(步骤S36)。
随后,压缩数据展开单元35经由数据总线36接收从DDR存储器40读取的压缩数据并展开压缩数据(步骤S37)。将在压缩数据展开单元35中被展开的数据经由运算数据读取控制单元32发送到运算单元31。
<第二实施例的效果>
接着,将描述本第二实施例的效果。根据本第二实施例,当在关于压缩数据的数据大小信息被储存在数据大小信息缓冲器335中的情况下接收用于读取压缩数据的请求时,从数据大小信息缓冲器335读取数据大小信息,并且使用该数据大小信息从DDR存储器40读取压缩数据。
因此,避免了在每次从DDR存储器40读取压缩数据时都经由数据总线36从DDR存储器40读取数据大小信息,使得减少了由读取数据大小信息导致的总线/存储器带宽的消耗。
<第二实施例的具体配置示例>
接着,将描述用于实现本第二实施例的具体配置示例。
假定运算单元31是遵从视频压缩标准H.264的解码器。
使用的压缩方法用于无损压缩,以及在该方法中生成长度可变的压缩数据。具体来说,从运算单元31输出的数据以64×4像素块(水平地64像素乘以垂直地4行)为单位(每个256字节)被压缩,并且在压缩数据被舍入(round)成四个数据长度(即64字节、128字节、192字节和256字节)的单位之后管理压缩数据。数据大小信息对于每个64×4像素块由两比特组成。并且,在DDR存储器40中储存压缩数据的顺序和在DDR存储器40中储存关于压缩数据的数据大小信息的顺序相同。
假定DDR存储器40是LPDDR4(低功率DDR4)。
根据H.264标准,移动图像以图片为单位被压缩并且被压缩成三种类型的图片,I/P/B。
I图片通过使用从图片自身可得的数据压缩图片来生成,并且I图片可通过自身被解码。P/B图片通过基于该图片和早前的图片解码的结果(早前解码的图片)之间的差压缩图片来生成。因此,可以使得P/B图片在压缩之后在数据大小方面小于I图片。在生成要生成P/B图片所需要的差数据时,可选择所参考的解码图像的任何部分上的数据。例如,可选择使得压缩之后的数据量最小化的部分上的数据。
在生成P/B图片时所参考的解码图片也称作“参考平面”。为了生成差数据,需要用于亮度和用于颜色差的参考平面。根据H.264标准,可以使用用于亮度和用于颜色差的各自多达32个的参考平面,总共64个平面。
以下将描述如上所述具体地配置的本第二实施例的具体效果。
在本第二实施例中,当在关于压缩数据的数据大小信息被储存在数据大小信息缓冲器335中的情况下接收用于读取压缩数据的读取请求时,使用储存在数据大小信息缓冲器335中的数据大小信息从DDR存储器40读取压缩数据。以这种方式,避免了在每次从DDR存储器40读取压缩数据时都经由数据总线36从DDR存储器40读取数据大小信息。
如果每次读取压缩数据时都必须经由数据总线36从DDR存储器40读取数据大小信息,则每次读取数据大小信息的两比特时所消耗的总线/存储器带宽将实际上等同于由读取128字节的数据所导致的消耗。这将参考图8来描述。
图8示出了DDR存储器40的根据数据传送长度的传送效率(存取效率)的图表。如图所示,尽管在数据传送长度是128字节或更长时传送效率是接近100%,但传送效率随着数据传送长度逐渐变得短于128字节而逐渐降低。例如,当数据传送长度是64字节时,传送效率是大约50%,即,不能传送数据的时段(period)以每两次传送有一次的比率出现。因此,当数据传送长度短于128字节时,出现期间不能传送数据的时段,使得数据传送实际上等同于128字节的数据传送。因此,读取两比特的数据大小信息实际上等同于读取具有128字节的数据长度的数据。在本第二实施例中,只要所需的数据大小信息储存在数据大小信息缓冲器335中,就不会出现经由数据总线36从DDR存储器40读取数据大小信息,使得减少了总线/存储器带宽的消耗。
并且,根据图8,当读取数据大小信息时,期望的是一起读取预定的读取单位的数据大小信息。例如,期望的是一起读取包括所需的数据大小信息(2比特)的128字节的数据大小信息。在这种情况下,读取请求生成单元332生成了用于一起读取从所需的数据大小信息的地址算起的128字节的数据大小信息的读取请求。与单独地读取多条两比特的数据大小信息相比,如上所述一起读取预定的读取单位的数据大小信息进一步减少了总线/存储器带宽消耗。
并且,在没有储存任何数据大小信息在DDR存储器40中的情况下,如果所有数据大小信息都要被储存在包括在运算单元31中的静态随机存取存储器(SRAM)(未示出)中,则在全HD分辨率的情况下需要96K字节SRAM,但是这还取决于图像大小(因为64个参考平面需要64倍的1.5K字节)。
另一方面,在本第二实施例中,使用每参考平面128字节来管理关于64个参考平面的数据大小信息,并且所需的总存储器空间是大约8K字节,即,数据大小信息缓冲器335可以是8K字节SRAM。
(3)第三实施例
第三实施例的配置和操作
首先,将描述本发明的第三实施例的配置和操作。第三实施例在配置上类似于第二实施例,但在操作上与第二实施例不同。
在第二实施例中,一起读取预定的读取单位(例如128字节的单位)的数据大小信息并将该预定的读取单位的数据大小信息储存在数据大小信息缓冲器335中。
在本第三实施例中,当读取预定的读取单位的数据大小信息时,还读取与第一个读取单位在地址上连续的下一单位的数据大小信息,作为提前读取,并且将该下一单位的数据大小信息也储存在数据大小信息缓冲器335中。在这种情况下,读取请求生成单元332生成读取请求,该读取请求用于从所期望的地址读取128字节的数据大小信息,并且也用于读取与第一个读取的128字节的数据大小信息在地址上连续的下一128字节的数据大小信息作为提前读取。
在本第三实施例中,当数据大小信息缓冲器335中未剩余可用容量时,认为要丢弃最旧的数据大小信息。以这种方式,根据数据大小信息缓冲器335的容量,当如上所述地发生数据大小信息的提前读取时,在同一读取操作中第一个读取的数据大小信息可能会被从数据大小信息缓冲器335丢弃。
因此期望的是,读取请求生成单元332基于数据大小信息缓冲器335的容量确定是否要进行这样的数据大小信息的提前读取。例如,只在数据大小信息缓冲器335具有不小于两倍的用于读取数据大小信息的预定单位的容量时,才优选地进行这样的数据大小信息的提前读取。在数据大小信息读取中,这将防止由于随后的下一单位的数据大小信息的提前读取而从数据大小信息缓冲器335丢弃第一个读取单位的数据大小信息。
<第三实施例的效果>
接着,将描述本发明的本第三实施例的效果。根据本第三实施例,当读取预定的读取单位的数据大小信息时,还读取与在前读取单位在地址上连续的下一读取单位的数据大小信息作为提前读取,并且将该下一读取单位的数据大小信息储存在数据大小信息缓冲器335中。
例如,存在如下的情况,即当运算单元31读取局部地随机地定位的压缩数据时,压缩数据一般地按地址的顺序定位。在这样的情况下,当如同在本第三实施例中一样读取一些数据大小信息作为提前读取时,能够防止当在数据大小信息缓冲器335中未找到所需的数据大小信息时所导致的处理延时(缺失损失(miss penalty))。这防止了运算单元31的处理性能劣化。
本第三实施例的其它效果类似于第二实施例的那些效果。
<第三实施例的具体配置示例>
接着,将描述用于实现本第三实施例的具体配置示例。假定使用类似于第二实施例的具体配置示例的配置来实现本第三实施例。
如上所述,根据H.264标准,可以使用用于亮度和用于颜色差的各自多达32个的参考平面,总共64个平面。然而,实际上,存在很多运算单元31没有使用最大数量的相应的参考平面的情况。根据H.264标准,使用中的参考平面的数量以被编码的形式储存在压缩数据的引导头部分中,使得运算单元31可以在开始编码处理之前知道使用中的参考平面的数量。
根据第三实施例的具体配置示例,数据大小信息缓冲器335具有允许使用每参考平面128字节来储存关于64个参考平面的数据大小信息的容量。
因此,当亮度参考平面和颜色差参考平面的总数量不超过32时(例如,当使用16个亮度参考平面和16个颜色差参考平面时),数据大小信息的提前读取不会导致同一读取操作中早先读取的数据大小信息被从数据大小信息缓冲器335丢弃。
因此,所期望的是,只有在亮度参考平面和颜色差参考平面的总数量是32或更小的状况下,当读取包括所需的数据大小信息的128字节数据大小信息时,也读取与在前的128字节的数据大小信息在地址上连续的下一128字节的数据大小信息作为提前读取。
然而,此时,如果下一128字节的数据大小信息已经储存在数据大小信息缓冲器335中,不进行下一128字节的数据大小信息的提前读取。这避免了数据大小信息的无用读取,使得进一步减少总线/存储器带宽的消耗。
(4)其它实施例
已基于实施例具体地描述了由本发明的本发明人做出的本发明,但是本发明不限于前述实施例并且可以在不偏离本发明的范围的情况下以各种方式被修改。
例如,虽然对于前述第二和第三实施例将在读取压缩数据中使用的辅助信息描述为表明压缩数据的数据长度的数据大小信息,但辅助信息不限于这样的数据大小信息。辅助信息可以可替代地是表明储存压缩数据的存储器上的地址的地址信息。
在这样的情况下,将关于压缩数据的地址信息作为辅助信息储存在存储器中。当发出读取请求时,基于关于压缩数据的地址信息,用储存压缩数据的存储器上的地址替换包括在读取请求中的地址。
此外,辅助信息可包括数据大小信息和地址信息中任一个或两者全部。
Claims (16)
1.一种半导体装置,包括:
(a)高速缓存,用于储存在读取压缩数据时使用的辅助信息,所述辅助信息是与所述压缩数据一起被储存在存储器中的,其中所述辅助信息是表明压缩数据的数据长度的数据大小信息;
(b)控制单元,当控制单元接收用于读取储存在所述存储器中的压缩数据的读取请求时,如果所述辅助信息储存在所述高速缓存中,则所述控制单元从所述高速缓存读取关于所述压缩数据的辅助信息,或者如果所述辅助信息未储存在所述高速缓存中,则所述控制单元从所述存储器读取关于所述压缩数据的所述辅助信息并将关于所述压缩数据的所述辅助信息储存在所述高速缓存中,所述请求包括数据地址和所述压缩数据在压缩之前的数据长度,以及所述控制单元使用关于所述压缩数据的所述辅助信息和所述请求中包括的数据地址从所述存储器读取所述压缩数据;以及
(c)展开单元,用于展开从所述存储器读取的所述压缩数据,
其中,所述控制单元保持表明储存在所述高速缓存中的所述辅助信息的管理信息,并确定关于已接收对其的读取请求的所述压缩数据的辅助信息是否储存在所述高速缓存中。
2.根据权利要求1所述的半导体装置,其中,当从所述存储器读取关于所述压缩数据的所述辅助信息并将关于所述压缩数据的所述辅助信息储存在所述高速缓存中时,所述控制单元读取预定的读取单位的辅助信息并将预定的读取单位的辅助信息储存在所述高速缓存中,预定的读取单位的辅助信息包括关于所述压缩数据的所述辅助信息。
3.根据权利要求2所述的半导体装置,其中,当从所述存储器读取预定的读取单位的辅助信息并将辅助信息储存在所述高速缓存中时,所述控制单元还读取下一个预定的读取单位的辅助信息作为提前读取并将下一个预定的读取单位的辅助信息储存在所述高速缓存中,预定的读取单位的辅助信息与下一个预定的读取单位的辅助信息在地址上连续。
4.根据权利要求3所述的半导体装置,其中,所述控制单元基于所述高速缓存的容量确定是否要读取下一个预定的读取单位的辅助信息。
5.根据权利要求3所述的半导体装置,其中,当下一个预定的读取单位的辅助信息已经储存在所述高速缓存中时,所述控制单元不读取下一个预定的读取单位的辅助信息作为提前读取。
6.根据权利要求1所述的半导体装置,其中,在所述存储器中储存压缩数据的顺序和在所述存储器中储存关于所述压缩数据的辅助信息的顺序是相同的。
7.一种数据处理系统,包括:
(a)存储器,储存压缩数据和在读取所述压缩数据时使用的辅助信息,其中所述辅助信息是表明压缩数据的数据长度的数据大小信息;
(b)高速缓存,在所述高速缓存中储存被储存在所述存储器中的辅助信息;
(c)控制单元,当控制单元接收用于读取储存在所述存储器中的压缩数据的读取请求时,如果所述辅助信息储存在所述高速缓存中,则所述控制单元从所述高速缓存读取关于所述压缩数据的所述辅助信息,或者如果所述辅助信息未储存在所述高速缓存中,则所述控制单元从所述存储器读取关于所述压缩数据的所述辅助信息并将关于所述压缩数据的所述辅助信息储存在所述高速缓存中,所述请求包括数据地址和所述压缩数据在压缩之前的数据长度,以及所述控制单元使用关于所述压缩数据的所述辅助信息和所述请求中包括的数据地址从所述存储器读取所述压缩数据;以及
(d)展开单元,用于展开从所述存储器读取的所述压缩数据,
其中,所述控制单元保持表明储存在所述高速缓存中的所述辅助信息的管理信息,并确定关于已接收对其的读取请求的所述压缩数据的辅助信息是否储存在所述高速缓存中。
8.根据权利要求7所述的数据处理系统,其中,当从所述存储器读取关于所述压缩数据的所述辅助信息并将关于所述压缩数据的所述辅助信息储存在所述高速缓存中时,所述控制单元读取预定的读取单位的辅助信息并将预定的读取单位的辅助信息储存在所述高速缓存中,预定的读取单位的辅助信息包括关于所述压缩数据的所述辅助信息。
9.根据权利要求8所述的数据处理系统,其中,当从所述存储器读取预定的读取单位的辅助信息并将辅助信息储存在所述高速缓存中时,所述控制单元还读取下一个预定的读取单位的辅助信息作为提前读取,并将下一个预定的读取单位的辅助信息储存在所述高速缓存中,预定的读取单位的辅助信息与下一个预定的读取单位的辅助信息在地址上连续。
10.根据权利要求9所述的数据处理系统,其中,所述控制单元基于所述高速缓存的容量确定是否要读取下一个预定的读取单位的辅助信息。
11.根据权利要求9所述的数据处理系统,其中,当下一个预定的读取单位的辅助信息已经储存在所述高速缓存中时,所述控制单元不读取下一个预定的读取单位的辅助信息作为提前读取。
12.一种半导体装置控制方法,包括如下步骤:
(a)当接收用于读取储存在存储器中的压缩数据的读取请求时,确定与所述压缩数据一起储存在所述存储器中的在读取所述压缩数据时使用的辅助信息是否也储存在高速缓存中,其中所述辅助信息是表明压缩数据的数据长度的数据大小信息,并且其中所述读取请求包括数据地址和所述压缩数据在压缩之前的数据长度;
(b)如果关于所述压缩数据的所述辅助信息被储存在所述高速缓存中,则从所述高速缓存读取关于所述压缩数据的所述辅助信息,或者如果关于所述压缩数据的所述辅助信息未被储存在所述高速缓存中,则从所述存储器读取关于所述压缩数据的所述辅助信息并将关于所述压缩数据的所述辅助信息储存在所述高速缓存中,以及使用关于所述压缩数据的所述辅助信息和所述读取请求中包括的数据地址从所述存储器读取所述压缩数据;以及
(c)展开从所述存储器读取的所述压缩数据,
其中,所述方法还包括:读取表明储存在所述高速缓存中的所述辅助信息的管理信息,以确定关于已接收对其的读取请求的所述压缩数据的辅助信息是否储存在所述高速缓存中。
13.根据权利要求12所述的半导体装置控制方法,其中,当要从所述存储器读取关于所述压缩数据的所述辅助信息并要将关于所述压缩数据的所述辅助信息储存在所述高速缓存中时,预定的读取单位的辅助信息被读取并被储存在所述高速缓存中,并且预定的读取单位的辅助信息包括关于所述压缩数据的所述辅助信息。
14.根据权利要求13所述的半导体装置控制方法,其中,当从所述存储器读取预定的读取单位的辅助信息并将预定的读取单位的辅助信息储存在所述高速缓存中时,下一个预定的读取单位的辅助信息也被读取作为提前读取,并被储存在所述高速缓存中,预定的读取单位的辅助信息与下一个预定的读取单位的辅助信息在地址上连续。
15.根据权利要求14所述的半导体装置控制方法,其中,基于所述高速缓存的容量确定是否要读取下一个预定的读取单位的辅助信息。
16.根据权利要求14所述的半导体装置控制方法,其中,当下一个预定的读取单位的辅助信息已经储存在所述高速缓存中时,不读取下一个预定的读取单位的辅助信息作为提前读取。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-250937 | 2015-12-24 | ||
JP2015250937A JP6605323B2 (ja) | 2015-12-24 | 2015-12-24 | 半導体装置、データ処理システム及び半導体装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106919514A CN106919514A (zh) | 2017-07-04 |
CN106919514B true CN106919514B (zh) | 2024-01-02 |
Family
ID=57570806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611201981.1A Active CN106919514B (zh) | 2015-12-24 | 2016-12-23 | 半导体装置、数据处理系统以及半导体装置控制方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10229063B2 (zh) |
EP (1) | EP3185127B1 (zh) |
JP (1) | JP6605323B2 (zh) |
CN (1) | CN106919514B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019061631A (ja) * | 2017-09-28 | 2019-04-18 | ルネサスエレクトロニクス株式会社 | 半導体装置、及びメモリアクセス方法 |
JP7082529B2 (ja) | 2018-06-06 | 2022-06-08 | ルネサスエレクトロニクス株式会社 | 半導体装置及び半導体装置による処理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340569A (zh) * | 2007-07-06 | 2009-01-07 | 扬智科技股份有限公司 | 高速缓存及其数据处理方法 |
US20100077146A1 (en) * | 2008-09-19 | 2010-03-25 | Kabushiki Kaisha Toshiba | Instruction cache system, instruction-cache-system control method, and information processing apparatus |
US20100138614A1 (en) * | 2008-12-03 | 2010-06-03 | Glasco David B | Compression Status Bit Cache And Backing Store |
US20130339406A1 (en) * | 2012-06-19 | 2013-12-19 | Infinidat Ltd. | System and method for managing filesystem objects |
WO2015142341A1 (en) * | 2014-03-20 | 2015-09-24 | Hewleet-Packard Development Company, L. P. | Dynamic memory expansion by data compression |
Family Cites Families (15)
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 | プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 |
US8595437B1 (en) * | 2008-11-21 | 2013-11-26 | Nvidia Corporation | Compression status bit cache with deterministic isochronous latency |
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 |
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 |
-
2015
- 2015-12-24 JP JP2015250937A patent/JP6605323B2/ja active Active
-
2016
- 2016-11-22 US US15/358,133 patent/US10229063B2/en active Active
- 2016-12-20 EP EP16205314.4A patent/EP3185127B1/en active Active
- 2016-12-23 CN CN201611201981.1A patent/CN106919514B/zh active Active
-
2018
- 2018-11-29 US US16/204,222 patent/US20190095338A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340569A (zh) * | 2007-07-06 | 2009-01-07 | 扬智科技股份有限公司 | 高速缓存及其数据处理方法 |
US20100077146A1 (en) * | 2008-09-19 | 2010-03-25 | Kabushiki Kaisha Toshiba | Instruction cache system, instruction-cache-system control method, and information processing apparatus |
US20100138614A1 (en) * | 2008-12-03 | 2010-06-03 | Glasco David B | Compression Status Bit Cache And Backing Store |
US20130339406A1 (en) * | 2012-06-19 | 2013-12-19 | Infinidat Ltd. | System and method for managing filesystem objects |
WO2015142341A1 (en) * | 2014-03-20 | 2015-09-24 | Hewleet-Packard Development Company, L. P. | Dynamic memory expansion by data compression |
Also Published As
Publication number | Publication date |
---|---|
EP3185127A1 (en) | 2017-06-28 |
US10229063B2 (en) | 2019-03-12 |
EP3185127B1 (en) | 2020-03-11 |
CN106919514A (zh) | 2017-07-04 |
JP2017117145A (ja) | 2017-06-29 |
US20170185521A1 (en) | 2017-06-29 |
JP6605323B2 (ja) | 2019-11-13 |
US20190095338A1 (en) | 2019-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8781000B2 (en) | Dynamic video data compression | |
US9894371B2 (en) | Video decoder memory bandwidth compression | |
US10026146B2 (en) | Image processing device including a progress notifier which outputs a progress signal | |
US20060271761A1 (en) | Data processing apparatus that uses compression or data stored in memory | |
JP4755624B2 (ja) | 動き補償装置 | |
JP2008292542A (ja) | 画像処理装置および画像処理方法 | |
EP2747434A1 (en) | Video image compression/decompression device | |
US8456687B2 (en) | Image data processing apparatus, image data processing method, and program | |
US20110055441A1 (en) | Data compression and decompression apparatus and data compression and decompression method | |
KR100806435B1 (ko) | 데이타를 버퍼로/버퍼로부터 추출하고 로딩하는 장치 및방법 | |
JP6679290B2 (ja) | 半導体装置 | |
CN106919514B (zh) | 半导体装置、数据处理系统以及半导体装置控制方法 | |
JP5526641B2 (ja) | メモリコントローラ | |
US20110099340A1 (en) | Memory access control device and method thereof | |
US20110096082A1 (en) | Memory access control device and method thereof | |
US8280177B2 (en) | Encoding device using parallelized encoding, decoding device using parallelized decoding, and image forming device, method, and program storage medium including the same | |
JP5682387B2 (ja) | 画像処理装置及び画像処理方法 | |
JP5731816B2 (ja) | 画像処理装置、画像処理方法 | |
JP2011139175A (ja) | 画像処理装置および画像処理方法 | |
JP2008219848A (ja) | 画像ファイルの復号表示回路及び画像表示方法 | |
JP2004120027A (ja) | 画像処理装置 | |
JP2006019960A (ja) | 画像処理装置及び画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |