CN111382088B - 半导体器件及用于控制数据访问的方法 - Google Patents

半导体器件及用于控制数据访问的方法 Download PDF

Info

Publication number
CN111382088B
CN111382088B CN201911282355.3A CN201911282355A CN111382088B CN 111382088 B CN111382088 B CN 111382088B CN 201911282355 A CN201911282355 A CN 201911282355A CN 111382088 B CN111382088 B CN 111382088B
Authority
CN
China
Prior art keywords
data
compression
compressed
memory
expansion module
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
CN201911282355.3A
Other languages
English (en)
Other versions
CN111382088A (zh
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
Publication of CN111382088A publication Critical patent/CN111382088A/zh
Application granted granted Critical
Publication of CN111382088B publication Critical patent/CN111382088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6029Pipelining

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)

Abstract

本申请涉及半导体器件及用于控制数据访问的方法。提供了一种用于实现数据一致性的半导体器件。半导体器件执行的处理包括压缩数据以生成表示压缩数据和信息量的压缩信息的步骤、访问用于控制对存储器区域的访问的管理数据的步骤、基于管理数据指示所访问的区域未被独占地分配给另一压缩/扩展模块的事实来允许以预定数据大小单位对存储器区域的写入的步骤、写入数据以更新管理数据的步骤、基于管理数据指示所访问的区域没有被另一压缩/扩展模块独占拥有的事实来允许以数据大小单位从该区域的读取的步骤以及以数据大小为单位从该区域读取压缩数据和压缩信息的步骤。

Description

半导体器件及用于控制数据访问的方法
相关申请的交叉引用
2018年12月25日提交的第2018-241052号日本专利申请的公开,包括说明书、附图和摘要,全部通过引用并入本文。
技术领域
本公开涉及半导体器件,并且举例来说,涉及对半导体器件中的数据访问的独占控制。
背景技术
对于半导体器件中的数据处理,随着各模块处理的发展,所需的存储器带宽增加。为了解决这一问题,例如日本未经审查的专利申请公开号10-27127(专利文献1)公开了一种“压缩数据并将其存储在存储设备中,在操作时对其进行扩展并使用”的技术,以及“减少存储设备和算术单元之间传输的数据量并提高计算机处理速度”的技术。其技术如下:“在算术单元1和总线控制电路4之间设置数据压缩电路5和扩展电路6,用于将运算结果写入存储设备,并对运算结果进行压缩以及对来自存储设备的输入数据进行解压缩。压缩数据存储在物理地址8中,物理地址8是通过由分页控制电路3转换通过地址生成器2获得的逻辑地址7而获得的。在分页转换过程中,压缩方法的信息被存储在页面表中。当参考来自存储设备的压缩数据时,基于页面表中的信息执行扩展处理,并且算术单元1执行算术运算”。
日本未经审查的专利申请公开号2017-102524(专利文献2)公开了“能够更适当地执行压缩和扩展的半导体器件”。半导体器件包括:“半导体器件100包括算术模块110和存储器控制模块120;算术模块110包括执行算术处理的算术单元111;压缩电路11压缩由算术处理产生的数据;存储器控制模块120包括将压缩数据写入存储器并从存储器中读取写入数据的访问电路121;以及扩展电路21,扩展从存储器中读取的数据并将扩展的数据输出到算术模块110”(参见[摘要])。
发明内容
根据专利文献2公开的技术,为了有效地压缩数据,算术模块包括缓冲器。缓冲器保存数据,直到累积了压缩所需的数据为止。当算术模块完成处理时,在缓冲器中的数据小于压缩所需的数据时,终端数据继续留在缓冲器中。例如,当一个信号处理模块的处理结果被另一个信号处理模块使用时,另一个信号处理模块不能使用具有正确结束的数据,并且因而无法实现数据的一致性。
此外,当使用无损压缩方法时,由于压缩后的数据量是可变的,因此针对压缩所需的每个数据量单位存在指示压缩后的数据量的信息(以下也称为“压缩信息”)。由于存储压缩信息的缓冲器还存在于用于执行压缩/扩展的处理模块中,对应于结束处的数据的压缩信息继续保留在缓冲器中。
因此,需要一种即使在执行无损压缩和扩展时也能确保数据一致性的技术。还需要一种技术,其确保数据一致性,而不改变信号处理模块或执行压缩/扩展的模块的配置,或合并用于检查模块间数据输入/输出定时的控制。在另一方面,需要一种技术,即使在信号处理模块的处理单位不清楚的处理的情况下,也就是说,即使在从缓冲器挤出数据的定时处的处理的结束不清楚的情况下,也能够实现缓冲器的挤出。
本公开是针对上述背景进行的,并且在一些方面中,公开了一种即使在执行无损压缩处理时也确保数据一致性的技术。
解决问题的手段
根据实施例的半导体器件,包括:第一压缩/扩展模块,用于压缩或扩展数据;第二压缩/扩展模块,用于压缩或扩展数据;存储器,用于存储由所述第一压缩/扩展模块生成的压缩数据或由所述第二压缩/扩展模块生成的压缩数据;以及管理模块,用于独占地控制由所述第一压缩/扩展模块和所述第二压缩/扩展模块以预定数据大小单位对存储器的访问。所述第一压缩/扩展模块包括:无损压缩处理单元,用于压缩数据并输出压缩数据和指示所述压缩数据的数据量的压缩信息;无损扩展处理单元,用于扩展所述压缩数据并输出压缩前的数据;以及压缩信息管理单元,用于基于用于管理访问的数据、以预定义的数据大小为单位控制所述存储器中的压缩数据的写入或读取。当对所述存储器进行写入访问时,当所述管理模块指示由写入访问所访问的区域没有被另一压缩/扩展模块占用时,所述压缩信息管理单元允许以预定数据大小单位写入所述区域,并且当执行对所述存储器的读取访问时,当所述管理模块指示由读取访问所访问的区域没有被另一压缩/扩展模块占用时,所述压缩信息管理单元允许以预定数据大小单位从所述区域进行读取。
在一些方面中,即使在执行无损压缩处理时也确保数据一致性。
其它目的和新颖特征将从本说明书和附图的描述中显而易见。
附图说明
图1示出了其中两个信号处理模块共享存储器区域的示例性半导体器件100。
图2示出了描述用于实现两个信号处理模块中的一致性所实施的控制的定时的流程图。
图3示出了描述半导体器件300的硬件结构的框图。
图4示出了描述在其它方面中的用于实现两个信号处理模块中的一致性所实施的控制的定时的流程图。
图5示出了半导体器件300的其它控制结构。
图6示出了描述何时执行半导体器件300的其它操作的定时图。
图7示出了描述根据实施例的半导体器件700的硬件结构的图。
图8示出了描述在某些情况下存储在存储器150中的数据的示例的图。
图9示出了描述根据第二实施例的半导体器件900的硬件结构的图。
图10示出了描述根据实施例的半导体器件1000的硬件结构的图。
图11示出了描述半导体器件1100的硬件结构的图。
图12示出了描述根据实施例的半导体器件700中执行的部分处理的流程图。
具体实施方式
下面将参考附图描述根据本说明书中公开的技术构思的实施例。在下面的描述中,相同的组件由相同的标号表示。它们的名字和功能也一样。因此,将不再重复对它们的详细描述。
参考图1和图2,将描述根据一个方面的存储器架构。图1示出了其中两个信号处理模块共享存储器区域的示例性半导体器件100。图2示出了描述用于实现两个信号处理模块中的一致性所实施的控制的定时的流程图。
如图1所示,半导体器件100包括CPU(中央处理单元)110、信号处理模块120和130、存储器控制器140以及存储器150。CPU110、信号处理模块120和130以及存储器控制器140分别连接到总线160。存储器150连接到存储器控制器140。存储器150例如是DDR(双数据速率)-SDRAM(同步动态随机存取存储器),但不限于此。
如图2所示,在时间t(1),CPU 110向信号处理模块120发送执行处理的指令。响应于执行指令,信号处理模块120在时间t(2)开始执行处理。当信号处理模块120确认某个处理单元已经完成并且所有数据已经存储在存储器150中时,它在时间t(3)通知CPU 110处理已经完成作为终止中断。此后,在时间t(4),CPU 110向信号处理模块130发送执行处理的指令。响应于执行指令,信号处理模块130在时间t(5)开始执行处理。当信号处理模块130在时间t(6)确认某个处理单元已经完成并且所有数据已经存储在存储器150中时,它通知CPU110处理已经完成作为终止中断。
在一些方面中,每个信号处理模块所需的存储器的频带总和可以超过存储器150的带宽。因此,压缩数据是可以想象的。作为数据压缩,可以在每个信号处理模块的数据输入/输出单元中提供压缩/扩展模块(CEM:压缩/扩展模块)。为了有效地压缩数据,需要以一定数量的数据为单位对数据进行处理,并且CEM具有缓冲器。
现在参考图3和图4,将描述根据一个方面的半导体器件300的配置。图3示出了描述半导体器件300的硬件结构的框图。图4示出了描述在其它方面中用于实现两个信号处理模块中的一致性所实施的控制的定时的流程图。
如图3所示,半导体器件300包括CPU 110、信号处理模块120和130、CEM 320和330、存储器控制器140以及存储器150。CEM 320包括缓冲器321。CEM 330包括缓冲器331。CPU110、CEM 320和330以及存储器控制器140连接到总线160。存储器150连接到存储器控制器140。CEM 320连接到信号处理模块120。CEM 330连接到信号处理模块130。
如图4所示,在时间t(1),CPU 110向信号处理模块120发送执行处理的指令。响应于执行指令,信号处理模块120在时间t(2)开始执行处理。从时间t(3)开始,处理后的数据被存储在CEM 320的缓冲器321中。一旦某个处理单元完成,信号处理模块120在时间t(4)向CEM 320发送指令,以输出存储在缓冲器中的数据(以下也称为“缓冲器刷新请求”)。响应于缓冲器刷新请求,CEM 320将存储在缓冲器321中的数据输出到外部存储器150。在时间t(5),CEM 320向信号处理模块120发送指示存储在缓冲器321中的所有数据已存储在存储器150中的通知(缓冲器刷新确认)。当信号处理模块120在时间t(6)接收到通知时,它将结束中断输出到CPU 110。
此后,在时间t(7),CPU 110向信号处理模块130发送执行处理的指令。响应于执行指令,信号处理模块130在时间t(8)开始执行处理。从时间t(9)开始,处理后的数据被存储到CEM 330中的缓冲器331。一旦处理单元完成,信号处理模块130就在时间t(10)向CEM330发送缓冲器刷新请求。响应于缓冲器刷新请求,CEM 330将存储在缓冲器331中的数据输出到外部存储器150。在时间t(11),CEM 330向信号处理模块130发送指示存储在缓冲器331中的所有数据已经存储在存储器150中的通知(缓冲器刷新确认)。当信号处理模块130在时刻t(12)接收到通知时,它将结束中断输出到CPU 110。
参考图5和图6,描述了根据某些方面的半导体器件300的其它控制结构。图5示出了半导体器件300的其它控制结构。图6示出了描述何时执行半导体器件300的其它操作的定时图。
如图5所示,在半导体器件300中,当来自信号处理模块120或130的模块终止中断被输出到CPU 110时,信号处理模块120或130输出缓冲器刷新请求,作为用于从CEM 320或330中的缓冲器321或331推送存储器150的指令。当存储在缓冲器321和331中的所有数据存储在存储器150中时,CEM 320、330向CPU 110输出压缩/扩展处理终止中断。
参照图6,在时间t(1),CPU 110向信号处理模块120发送执行处理的指令。响应于执行指令,信号处理模块120在时间t(2)开始执行处理。从时间t(3)开始,处理后的数据被存储到CEM 320中的缓冲器321。一旦某一处理单元完成,信号处理模块120就在时间t(4)向CPU 110输出模块终止中断,并且还向CEM 320发送缓冲器刷新请求。响应于缓冲器刷新请求,CEM 320将存储在缓冲器321中的数据输出到外部存储器150。在时间t(5),CEM 320向CPU 110发送压缩/扩展处理终止中断,作为指示存储在缓冲器321中的所有数据已存储在存储器150中的通知(缓冲器刷新确认)。
此后,在时间t(6),CPU 110向信号处理模块130发送执行处理的指令。响应于执行指令,信号处理模块130在时间t(7)开始执行处理。从时间t(8),处理后的数据被存储到CEM330中的缓冲器331。一旦某一处理单元完成,信号处理模块130在时间t(9)向CPU 110输出模块终止中断,并且还向CEM 330发送缓冲器刷新请求。响应于缓冲器刷新请求,CEM 330将存储在缓冲器331中的数据输出到外部存储器150。在时间t(10),CEM 330向CPU 110发送压缩/扩展处理终止中断,作为指示存储在缓冲器331中的所有数据已存储在存储器150中的通知(缓冲器刷新确认)。
将参照图7描述即使在处理的结束不清楚时也能实现数据一致性的技术。在该技术中,即使将压缩/扩展处理应用于共享存储器,也可以通过自动且独占地控制对共享存储器的访问来实现数据一致性,而无需改变信号处理模块的配置或添加通过CPU 110等的软件控制。
图7示出了描述根据实施例的半导体器件700的硬件结构的图。半导体器件700包括信号处理模块120和130、存储器控制器140、存储器150、独占控制标志管理模块710和压缩/扩展模块(CEM)720和730。信号处理模块120和信号处理模块130被配置成相互通信,并且在一些方面中,任一信号处理模块被配置成使用由其他信号处理模块处理的数据。存储器150例如是DDR SDRAM(双数据速率同步动态随机存取存储器),但可以是其它存储器。
压缩/扩展模块720和730以及存储器控制器140分别连接到总线160。独占控制标志管理模块710连接到压缩/扩展模块720和730。压缩/扩展模块720进一步连接到信号处理模块120。压缩/扩展模块730进一步连接到信号处理模块130。
在一个方面中,信号处理模块120、130指导事务数据的无损压缩。信号处理模块120和130通过软件和硬件的组合来实现,作为用于执行指令的诸如CPU的算术处理设备。在其它方面中,信号处理模块120和130也可以被配置为ASIC(专用集成电路)或其它硬件。
在一个方面中,独占控制标志管理模块710可以被实现为被配置成执行算术处理的多个电路元件的组合,用于管理将压缩数据和压缩信息写入存储器150和从存储器150读取压缩数据和压缩信息。在另一方面中,独占控制标志管理模块710可以由执行算术处理的处理器配置。
在一个方面中,压缩/扩展模块720被实现为被配置成执行以下处理的电路:无损压缩由信号处理模块120输出的数据以生成压缩数据的处理和无损扩展压缩数据以解压缩出未压缩数据的处理。在另一方面中,压缩/扩展模块720可以被实现为用于实现这些处理的指令和用于执行指令的算术设备的组合。这同样适用于压缩/扩展模块730。此外,尽管图7示出了使用两个缩减和扩展模块的模式,但在另一个阶段中,可以使用三个以上的缩减和扩展模块。
压缩/扩展模块720包括无损压缩处理单元721、无损扩展处理单元722和压缩信息管理单元723。压缩/扩展模块730包括无损压缩处理单元731、无损扩展处理单元732和压缩信息管理单元733。
无损压缩处理单元721对信号处理模块120的事务执行数据压缩处理,并生成压缩数据和压缩信息。压缩信息指示压缩数据的数据量。压缩数据和压缩信息由存储器控制器140存储在存储器150中。例如,当确认数据可以写入存储器150时,无损压缩处理单元721将写入命令(wcmd)和要写入的压缩数据(wdata)发送到存储器控制器140。
另一方面,当压缩/扩展模块720从信号处理模块120接收到读取命令时,无损扩展模块722向存储器控制器140发送读取命令(rcmd)。存储器控制器140响应于读取命令从存储器150读取压缩数据,并将读取的压缩数据(读取数据)发送到压缩/扩展模块720。无损扩展处理单元722对压缩数据执行扩展处理,并将解压缩的数据发送到信号处理模块120。信号处理模块120使用解压缩数据执行预定处理。
压缩信息管理单元723被配置成能够与无损压缩处理单元721、无损扩展处理单元722和存储器控制器140通信。此外,压缩信息管理单元723被配置成能够与独占控制标志管理模块710通信。在一个方面中,压缩信息管理单元723与存储器控制器140通信压缩信息。在另一方面,压缩信息管理单元723基于对地址空间的第一访问来请求对该地址空间的锁定。
无损压缩处理单元731执行与无损压缩处理单元721相同的处理。更具体地,无损压缩处理单元731对信号处理模块130的事务数据执行无损压缩处理。如果独占控制的检查结果指示可以将数据写入存储器150,则压缩/扩展模块730将写入命令(wcmd)和要写入的压缩数据发送到存储器控制器140,并且压缩数据由存储器控制器140存储在存储器150中。
另一方面,当压缩/扩展模块730从信号处理模块130接收到指令时,压缩/扩展模块730确认存储器150是可访问的。当存储器控制器140将压缩数据从存储器150读取到压缩/扩展模块730时,无损扩展处理单元732对数据执行扩展处理。压缩信息管理单元733被配置成能够与独占控制标志管理模块710通信。压缩信息管理单元733与存储器控制器140通信压缩信息。
在一个实施例中,基于用于生成压缩数据的压缩处理的单位和压缩信息来定义受独占控制的地址空间的大小。例如,在一个方面中,对存储器150中共享的存储器区域的访问的独占控制可以通过由压缩/扩展模块720和730管理的数据大小的单位来管理。例如,当压缩处理的单位为256字节且压缩信息的管理单位为64时,以16k(=256×64=16384)字节的单位执行独占控制。利用这样的配置,即使在从缓冲器中推出数据的定时处的处理的结束不清楚时,缓冲器也可以被推出数据。在压缩信息管理单元723和独占控制标志管理模块710之间执行独占控制。
独占控制标志管理模块710管理用于独占控制的标志。在一个方面中,独占控制标志管理模块710包括标志711和712。在一个方面中,提供的标志与压缩/扩展模块的数量一样多。在图7所示的示例中,由于示出了两个压缩/扩展模块,因此在独占控制标志管理模块710中提供了两个标志,但是在另一方面中,可以使用三个或更多压缩/扩展模块和标志。作为示例,标志711和712分别指示是否将用于存储压缩数据的存储器空间分配给多个信号处理模块中的任何一个信号处理模块。更具体地说,在一个方面中,在存储器150中要锁定的区域的顶部地址被用作标志711和712。头地址由压缩信息管理单元723和733发送到独占控制标志管理模块710,并且存储在独占控制标志管理模块710中安全的区域中。
在一个方面中,当由无损压缩处理单元721执行对存储器150中16kbyte空间的第一访问时,指示该访问的信息被发送到压缩信息管理单元723。响应于信息的接收,压缩信息管理单元723请求独占控制标志管理模块710锁定该空间。独占控制标志管理模块710尝试锁定该空间,并将指示该空间是否被锁定的信息返回给压缩信息管理单元723。当独占控制标志管理模块710不能锁定该空间时,执行用于请求独占控制标志管理模块710再次锁定该空间的重试。重试的频率可以由半导体器件700的制造商适当地设定。
在一个方面中,当压缩/扩展模块720尝试对存储器150的写入访问时,当压缩/扩展模块720所具有的16kbyte空间的所有压缩数据和压缩信息都被存储在存储器150中时,压缩/扩展模块720释放对16kbyte空间的锁定。当压缩/扩展模块720释放空间的锁定时,独占控制标志管理模块710的标志的内容被更新为该效果。
在另一方面中,当执行读取访问时,当通过从压缩信息管理单元723读取的压缩信息重写由压缩/扩展模块720暂时保持的16kbyte空间的压缩信息时,压缩/扩展模块720释放对16kbyte空间的锁定。
当在预定时间内无法从信号处理模块120访问锁定的16kbyte空间时,压缩/扩展模块720将对应的16kbyte空间的所有数据和压缩信息推送到存储器150,并在写入访问时释放对该空间的锁定。
另一方面,在读取访问时,压缩/扩展模块720使对应的16kbyte空间的压缩信息失效,并释放对空间的锁定。
接下来,参照图8,将描述根据本实施例的在存储器150中存储数据的一种模式。图8示出了描述在特定情况下存储在存储器150中的数据的示例的图。
在特定时间,存储器150包括区域811到814和821到824,每个区域的大小是预定的。压缩数据810和压缩信息820被存储。压缩数据810包括压缩数据(A)、压缩数据(B)、压缩数据(C)、压缩数据(D)等。压缩信息820包括压缩信息(A)、压缩信息(B)、压缩信息(C)和压缩信息(D)。
压缩数据810是由无损压缩处理单元721或无损压缩处理单元731通过压缩处理生成的数据。压缩信息820包括压缩数据810的数据量。例如,压缩信息(A)指示压缩数据(A)的数据量。这同样适用于压缩信息(B)、压缩信息(C)和压缩信息(D)。
例如,当无损压缩处理单元721压缩由信号处理模块120的处理生成的数据并将该数据作为压缩数据(A)写入区域811时,首先,压缩/扩展模块720经由压缩信息管理单元723访问独占控制标志管理模块710。
作为示例,无损压缩处理单元721经由压缩信息管理单元723访问独占控制标志管理模块710,并检查独占控制管理标志的内容。由于在第一方面的写入压缩数据中,存储器150中的存储器空间不专用于任何信号处理模块,因此独占控制管理标志(例如,标志711)指示存储器空间(例如,区域811)不专用于任何信号处理模块。
因此,压缩信息管理单元723将标志711的内容重写到要保护的区域811的顶部地址,并将标志的内容(区域811的顶部地址)发送到无损压缩处理单元721。在接收到内容时,无损压缩处理器721向存储器控制器140发送用于在区域811中写入压缩数据(A)和用于在区域821中写入压缩信息(A)的指令(例如wcmd)、压缩数据(A)和压缩信息(A)。
存储器控制器140基于该指令在区域811中写入压缩数据(A)并在区域821中写入压缩信息(A)。当压缩数据(A)和压缩信息(A)的写入完成时,存储器控制器140向无损压缩处理单元721发送指示写入完成的信号。
当无损压缩处理单元721接收到该信号时,通知压缩信息管理单元723区域811已从信号处理模块120的独占拥有中释放。压缩信息管理单元723清除标志711的内容,以指示区域811没有被独占地分配给任何信号处理模块。因此,在此之后,其他信号处理模块,例如,信号处理模块130,可以访问区域811,并且例如,可以读取存储在区域811中的压缩数据。
接下来,在读取访问的情况下,当由压缩/扩展模块730暂时保持的16kbyte空间的压缩信息被新读取的压缩信息重写时,压缩信息管理单元723释放对16kbyte空间的锁定。
更具体地,作为示例,当信号处理模块130尝试使用存储在存储器150中的数据执行操作时,它指示压缩/扩展模块730从存储器150读取压缩数据。在压缩/扩展模块730中,压缩信息管理单元733访问独占控制标志管理模块710,并检查是否可以访问要读取的压缩数据。例如,当信号处理模块130尝试使用存储在区域811中的压缩数据(A)时,压缩信息管理单元733检查包括在独占控制标志管理模块710中的所有标志的内容。在图7的配置示例中,压缩信息管理单元733验证标志711和712的内容。当标志711和712的内容指示区域811不专用于任何信号处理模块时(例如,区域811的顶部地址没有写入在标志711和712中的任何一个标志中),压缩信息管理单元733向独占控制标志管理模块710发送用于将区域811的内容改变为指示区域811由信号处理模块130专用的内容的指令。独占控制标志管理模块710根据指令改变标志711或标志712的内容。例如,独占控制标志管理模块710将区域811的顶部地址写入标志712中。
当标志712的内容的改变完成时,独占控制标志管理模块710向压缩/扩展模块730发送指示改变完成的通知。响应于接收到通知,无损扩展处理单元732经由存储器控制器140访问存储器150。存储器控制器140读取存储在区域811中的压缩数据(A)和存储在区域821中的压缩信息(A),并将压缩数据(A)和压缩信息(A)发送到压缩/扩展模块730。无损扩展处理单元732使用读取的压缩信息(A)扩展压缩数据(A),并将原始数据发送到信号处理模块130。信号处理模块130使用数据执行处理。
如上所述,即使数据被压缩,根据第一实施例的半导体器件700也可以在不改变诸如信号处理模块的信号处理模块的功能的情况下或不增加由控制信号处理模块的处理器执行的软件的控制的情况下,实现数据的一致性。此外,即使在信号处理模块中没有明确的数据处理的开始或结束,也可以实现数据一致性。例如,即使在信号处理模块的处理单位不清楚的情况下执行处理,也就是说,即使在从缓冲器中推出数据的定时处的处理的结束不清楚时,因为处理单位由预定的数据大小定义,所以也可以执行从缓冲器中推出数据。
将参考图9描述第二实施例。图9示出了描述根据第二实施例的半导体器件900的硬件结构的图。根据本实施例的半导体器件900与上述半导体器件700的不同之处在于,其具有为独占拥有地址空间的压缩/扩展模块强制释放地址空间的功能。
半导体器件900包括独占控制标志管理模块910,而不是半导体器件700中包括的独占控制标志管理模块710。独占控制标志管理模块910除了由半导体器件700保持的标志(例如,标志711和712)之外,还包括强制释放指令单元911。其余配置与半导体器件700的配置相同。相同的组件用相同的标号表示。因此,相同配置的描述将不会重复。
强制释放指令单元911连接到每个压缩/扩展模块720和730,并指示占用存储器150的特定地址空间的压缩/扩展模块释放地址空间。
在一个方面中,当信号处理模块锁定地址空间的尝试失败设定次数时,独占控制标志管理模块910向锁定地址空间的压缩/扩展模块输出用于强制释放地址空间的指令。半导体器件900的制造商可以为每个信号处理模块适当地设置设定次数。接收到释放地址空间指令的压缩/扩展模块立即释放地址空间。
例如,当执行写入访问时,接收到释放指令的压缩/扩展模块将与地址空间相对应的16kbyte空间的所有压缩数据和压缩信息写入存储器150,并且当写入完成时,释放对16kbyte空间的锁定。
另一方面,当执行读取访问时,接收到释放指令的压缩/扩展模块使与地址空间相对应的16kbyte空间的压缩信息无效,并释放对该空间的锁定。
如上所述,根据本实施例的半导体器件900可以针对每个信号处理模块对于地址空间的独占使用进行优先级排序。这使得例如可以单独设置需要立即响应的信号处理模块具有高优先级,并且具有高鲁棒性的信号处理模块具有低优先级。作为结果,可以根据应用提供具有操作特性的半导体器件900。
下面将描述第三实施例。根据本实施例的半导体器件1000与根据上述实施例的半导体器件700和半导体器件900的不同之处在于,无损压缩单元、无损扩展单元和独占控制标志管理模块被安装在存储器控制器上。注意,与根据上述实施例的半导体器件中包括的组件相同的标号被分配给相同的组件。这些功能是相同的。因此,相同配置的描述将不会重复。
参照图10,将描述半导体器件1000的配置。图10示出了描述根据实施例的半导体器件1000的硬件结构的图。半导体器件1000包括信号处理模块120和130、压缩/扩展模块1020和1030、存储器控制器1040和存储器150。压缩/扩展模块1020包括写入访问分析单元1021、读取访问分析单元1022和压缩信息管理单元723。压缩/扩展模块1030包括写入访问分析单元1031、读取访问分析单元1032和压缩信息管理单元733。存储器控制器1040包括无损压缩处理单元721、无损扩展处理单元722和独占控制标志管理模块710。同样在本实施例中,基于用于生成压缩数据和压缩信息的压缩处理的单位来定义要进行独占控制的地址空间的大小。因此,即使采用无损压缩方法并且压缩数据量是可变的,也可以保证数据一致性。
写入访问分析单元1021分析信号处理模块120的事务,并且基于分析的结果和来自压缩信息管理单元723的数据,确定是否可以执行用于写入存储器150的压缩处理。当写入访问分析单元1021的结果指示可以执行压缩处理时,压缩/扩展模块1020将要压缩的数据和执行压缩处理的指令发送到存储器控制器1040。响应于该指令,无损压缩处理单元721对数据执行压缩处理,并将压缩数据和压缩信息存储在预定区域中。
另一方面,读取访问分析单元1022分析信号处理模块120的事务,并且基于分析的结果和来自压缩信息管理单元723的数据,确定是否可以执行存储在存储器150中的压缩数据的扩展处理。当读取访问分析单元1022的结果指示可以执行扩展处理时,压缩/扩展模块1020指定要扩展的压缩数据被存储在其中的区域,并将用于从存储器150读取压缩数据的指令发送到无损扩展处理单元722。响应于该指令,无损扩展处理单元722访问指定区域,对压缩数据执行扩展处理,并将扩展数据发送到读取访问分析单元1022。读取访问分析单元1022将扩展数据发送到信号处理模块120。
尽管已经示出了由信号处理模块120执行的压缩/扩展处理的一个实施例,但这同样适用于信号处理模块130执行压缩/扩展处理的情况。
如上所述,根据本实施例的半导体器件1000,在存储器控制器1040上安装独占控制标志管理模块710、无损压缩单元721和无损扩展单元722。利用这样的配置,将大规模(占用面积大)的无损压缩单元721和无损扩展单元722组合在一个位置,以便可以抑制半导体器件1000的整个规模(大小)。此外,由于存储器控制器1040包括独占控制标志管理模块710,因此存储器控制器1040可以管理所有信号处理模块的事务,从而可以实现所有信号处理模块之间的数据一致性。
下面将描述第四实施例。根据本实施例的半导体器件1100与根据第三实施例的半导体器件1000的不同之处在于,其具有强制释放地址空间的功能。
参照图11,将描述根据第四实施例的半导体器件1100的配置。图11示出了描述半导体器件1100的硬件结构的图。与上述组件相同的组件由相同的标号表示。这个配置的功能也是一样的。因此,相同配置的描述将不会重复。
在图10所示的半导体器件1000的配置中,半导体器件1100包括存储器控制器1140而不是存储器控制器1040。存储器控制器1040包括无损压缩单元721、无损扩展单元722和独占控制标志管理模块910。独占控制标志管理模块910除了由半导体器件700保持的标志(例如,标志711、712、713和714)之外,还包括强制释放指令单元911。
根据图11所示的半导体器件1100,类似于根据第二实施例的半导体器件900,当在存储器150中锁定地址空间的尝试失败预定次数时,可以指示占用地址空间的压缩/扩展模块释放该地址空间。当响应于指令释放地址空间时,请求锁定地址空间的压缩/扩展模块可以执行锁定。这样,针对地址空间的独占使用,可以将优先级顺序分配给每个信号处理模块。
参照图12,将描述上面详细描述的半导体器件的控制结构的概要。图12示出了描述根据实施例的半导体器件700中执行的部分处理的流程图。这同样适用于其他半导体器件900、1000、1100。
在步骤S1210中,压缩/扩展模块720的无损压缩处理单元721压缩从信号处理模块120接收的数据,并生成压缩数据和表示压缩数据的数据量的压缩信息。
在步骤S1220中,无损压缩处理器721经由压缩数据管理单元723访问管理信息(例如,标志711和712),用于控制以预定数据大小单位将压缩数据写入存储器150。
在步骤S1230中,当对存储器150执行写入访问时,压缩数据管理单元723基于管理数据(任何标志)指示由写入访问所访问的区域不是由另一压缩/扩展模块(例如,压缩/扩展模块730)独占拥有的事实,允许以预定数据大小单位对存储器区域的写入。例如,当独占控制标志管理模块710的标志指示请求访问的区域的顶部地址不被另一信号处理模块130使用时,压缩信息管理单元723允许无损压缩处理单元721进行写入。另一方面,当独占控制标志管理模块710的标志指示顶部地址正被另一信号处理模块130使用时,压缩信息管理单元723禁止通过无损压缩处理单元721的写入。
在步骤S1240中,无损压缩处理单元721在从压缩信息管理单元723接收到允许时,将压缩数据写入允许的存储器区域。当检测到写入完成时,压缩信息管理单元723将标志711的内容改变为不再独占的压缩/扩展模块720的内容,以释放存储器区域。
此后,在另一方面,可以由信号处理模块130执行使用存储在存储器150中的压缩数据的事务。因此,信号处理模块130向压缩/扩展模块730发送对压缩数据的请求。
在步骤S1250中,当响应于请求执行对存储器150的读取访问时,基于指示读取访问要访问的区域没有由其他压缩/扩展模块(例如,压缩/扩展模块720)独占拥有的管理数据(上述标志),允许以指定的数据大小单位读取该区域。
在步骤S1260中,无损扩展处理单元732基于读取的允许从区域读取压缩数据和压缩信息。无损扩展处理单元732使用压缩信息对压缩数据进行扩展处理,并扩展到压缩前的数据。扩展数据被发送到信号处理模块130。
尽管本发明人所做的发明已经基于该实施例进行了具体描述,但是本发明不限于上述实施例,并且不用说,可以在不偏离其要点的情况下进行各种修改。

Claims (20)

1.一种半导体器件,包括:
第一压缩/扩展模块,用于压缩或扩展第一数据;
第二压缩/扩展模块,用于压缩或扩展第二数据;
存储器,用于存储由所述第一压缩/扩展模块生成的经压缩的所述第一数据或由所述第二压缩/扩展模块生成的经压缩的所述第二数据;以及
管理模块,用于独占地控制由所述第一压缩/扩展模块和所述第二压缩/扩展模块以预定数据大小单位对所述存储器的访问,
其中,所述第一压缩/扩展模块包括:
无损压缩处理单元,用于压缩所述第一数据,并且输出经压缩的所述第一数据和指示经压缩的所述第一数据的数据量的压缩信息;
无损扩展处理单元,用于扩展经压缩的所述第一数据,并且输出在经压缩的所述第一数据之前的经扩展的所述第一数据;以及
压缩信息管理单元,用于基于用于管理所述访问的数据,控制以定义的数据大小为单位对所述存储器中的经压缩的所述第一数据的写入或读取,以及
其中,当执行对所述存储器的写入访问时,当所述管理模块指示由所述写入访问访问的区域没有被另一压缩/扩展模块独占拥有时,所述压缩信息管理单元允许以所述定义的数据大小为单位对所述区域的写入;并且当执行对所述存储器的读取访问时,当所述管理模块指示由所述读取访问访问的区域没有被另一压缩/扩展模块独占拥有时,所述压缩信息管理单元允许以所述定义的数据大小为单位对所述区域的读取。
2.根据权利要求1所述的半导体器件,其中,基于用于生成所述压缩数据的压缩处理的单位和所述压缩信息来定义用于独占控制的地址空间的大小。
3.根据权利要求2所述的半导体器件,其中,所述压缩信息管理单元基于对所述地址空间的第一访问来请求对所述地址空间的锁定。
4.根据权利要求3所述的半导体器件,其中,请求所述锁定包括再次请求所述锁定,直到所述地址空间被锁定为止。
5.根据权利要求1所述的半导体器件,还包括强制释放指令单元,用于指示占用所述存储器中的地址空间的所述压缩/扩展模块释放所述地址空间。
6.根据权利要求5所述的半导体器件,其中,所述第一压缩/扩展模块被连接到第一信号处理模块,所述第二压缩/扩展模块被连接到第二信号处理模块,并且所述强制释放指令单元基于由所述第一压缩/扩展模块锁定所述地址空间的失败尝试的设定次数,将释放所述地址空间的指令输出到锁定所述地址空间的另一压缩/扩展模块。
7.一种半导体器件,包括:
第一压缩/扩展模块,用于压缩或扩展第一数据;
第二压缩/扩展模块,用于压缩或扩展第二数据;
存储器,用于存储由所述第一压缩/扩展模块生成的经压缩的所述第一数据或由所述第二压缩/扩展模块生成的经压缩的所述第二数据;以及
存储器控制器,用于控制所述存储器中的数据的存储,
其中,所述第一压缩/扩展模块包括压缩信息管理单元,用于基于用于管理对所述存储器的访问的数据,来控制以预定的数据大小为单位对所述存储器中的经压缩的所述第一数据的写入或读取,
其中,所述存储器控制器包括无损压缩单元、无损扩展处理单元和管理模块,所述无损压缩单元用于压缩数据并且输出压缩数据和压缩信息,所述无损扩展处理单元用于扩展所述压缩数据并且输出压缩之前的数据,所述管理模块用于独占地控制由所述第一压缩/扩展模块和所述第二压缩/扩展模块以定义的数据大小单位对所述存储器的访问,以及
其中,当执行对所述存储器的写入访问时,当所述管理模块指示由所述写入访问访问的区域没有被另一压缩/扩展模块独占拥有时,所述压缩信息管理单元允许以所述定义的数据大小单位对所述区域的写入,并且当执行对所述存储器的读取访问时,当所述管理模块指示由所述读取访问访问的区域没有被另一压缩/扩展模块独占拥有时,所述压缩信息管理单元允许以所述定义的数据大小单位对所述区域的读取。
8.根据权利要求7所述的半导体器件,其中,基于用于生成经压缩的数据的压缩处理的单位和指示经压缩的数据的数据量的所述压缩数据来定义用于独占控制的地址空间的大小。
9.根据权利要求8所述的半导体器件,其中,所述压缩信息管理单元基于对所述地址空间的第一访问来请求对所述地址空间的锁定。
10.根据权利要求9所述的半导体器件,其中请求锁定包括再次请求所述锁定,直到所述地址空间被锁定为止。
11.根据权利要求7所述的半导体器件,还包括强制释放指令单元,用于指示占用所述存储器中的地址空间的所述压缩/扩展模块释放所述地址空间。
12.根据权利要求11所述的半导体器件,其中,所述第一压缩/扩展模块被连接到第一信号处理模块,所述第二压缩/扩展模块被连接到第二信号处理模块,并且所述强制释放指令单元基于由所述第一压缩/扩展模块锁定所述地址空间的失败尝试的设定次数,将释放所述地址空间的指令输出到锁定所述地址空间的另一压缩/扩展模块。
13.一种用于独占地控制对半导体器件中的存储器的访问的方法,所述半导体器件具有至少两个压缩/扩展模块,所述方法包括:
执行无损压缩处理,用于压缩数据以生成压缩数据和表示所述压缩数据的信息量的压缩信息;
访问管理数据,用于独占地控制以预定数据大小单位对所述存储器的访问;
当执行对所述存储器的写入访问时,基于所述管理数据指示由所述写入访问所访问的区域没有被另一压缩/扩展模块独占拥有的事实,允许以所述预定数据大小单位对区域的写入;
基于所述允许,以所述预定数据大小单位将所述压缩数据写入所述区域;
当执行对所述存储器的读取访问时,基于所述管理数据指示由所述读取访问所访问的区域没有被另一压缩/扩展模块独占拥有的事实,允许以所述预定数据大小单位对所述区域的读取;以及
基于所述读取的允许,从所述区域读取所述压缩数据。
14.根据权利要求13所述的方法,其中,基于用于生成所述压缩数据的压缩处理的单位和所述压缩信息来定义用于独占控制的地址空间的大小。
15.根据权利要求14所述的方法,进一步包括基于对所述地址空间的初始访问来请求对所述地址空间的锁定。
16.根据权利要求15所述的方法,其中,请求所述锁定包括再次请求所述锁定,直到所述地址空间被锁定为止。
17.根据权利要求13所述的方法,进一步包括指示占用所述存储器中的地址空间的压缩/扩展模块释放所述地址空间。
18.根据权利要求17所述的方法,其中,指示释放包括基于由多个压缩/扩展模块中的一个压缩/扩展模块锁定所述地址空间的失败尝试的设定次数来将释放所述地址空间的指令输出到锁定所述地址空间的另一压缩/扩展模块。
19.根据权利要求17所述的方法,其中,指示释放包括所述存储器控制器指示所述压缩/扩展模块释放所述地址空间。
20.根据权利要求13所述的方法,其中,生成所述压缩数据和所述压缩信息包括所述存储器控制器生成所述压缩数据和所述压缩信息。
CN201911282355.3A 2018-12-25 2019-12-13 半导体器件及用于控制数据访问的方法 Active CN111382088B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018241052A JP7142562B2 (ja) 2018-12-25 2018-12-25 半導体装置、および、データのアクセスを制御するための方法
JP2018-241052 2018-12-25

Publications (2)

Publication Number Publication Date
CN111382088A CN111382088A (zh) 2020-07-07
CN111382088B true CN111382088B (zh) 2023-11-21

Family

ID=71096840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911282355.3A Active CN111382088B (zh) 2018-12-25 2019-12-13 半导体器件及用于控制数据访问的方法

Country Status (3)

Country Link
US (2) US11194491B2 (zh)
JP (1) JP7142562B2 (zh)
CN (1) CN111382088B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853593B2 (en) * 2022-04-18 2023-12-26 Dell Products L.P. Shared memory protection method for securing MMIO commands

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034370A (ja) * 2009-08-03 2011-02-17 Fujitsu Ltd メモリコントローラ
CN102012794A (zh) * 2010-11-19 2011-04-13 北京兆易创新科技有限公司 一种固态硬盘及其访问控制方法、一种固态硬盘控制器
CN103136109A (zh) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 一种具有压缩功能的固态存储系统ftl写入及读取方法
CN103201725A (zh) * 2010-11-25 2013-07-10 国际商业机器公司 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法
CN105229592A (zh) * 2013-03-15 2016-01-06 马维尔国际贸易有限公司 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法
CN106911907A (zh) * 2017-02-09 2017-06-30 聊城大学 一种伴飞光电跟踪测量吊舱高清压缩与存储装置
JP2018147143A (ja) * 2017-03-03 2018-09-20 富士通株式会社 情報処理装置,情報処理プログラムおよび情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3037144B2 (ja) 1996-07-09 2000-04-24 神戸日本電気ソフトウェア株式会社 データ圧縮記憶演算装置
JPH10136299A (ja) * 1996-10-30 1998-05-22 Sony Corp 画像データ書込装置および方法、画像データ読出装置および方法、画像データ書込読出装置および方法、メモリカードシステム、データ処理システム、並びにメモリカード
US6243081B1 (en) * 1998-07-31 2001-06-05 Hewlett-Packard Company Data structure for efficient retrieval of compressed texture data from a memory system
EP1627310A2 (en) * 2003-04-16 2006-02-22 Koninklijke Philips Electronics N.V. Selectable compression/decompression for data stored in memory
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
US9063663B2 (en) * 2010-09-21 2015-06-23 Hitachi, Ltd. Semiconductor storage device and data control method thereof
US9235590B1 (en) * 2011-12-30 2016-01-12 Teradata Us, Inc. Selective data compression in a database system
US9092320B2 (en) * 2012-10-15 2015-07-28 Hitachi, Ltd. Storage system which includes non-volatile semiconductor storage medium, and storage control method of storage system
JP6471012B2 (ja) 2015-03-25 2019-02-13 株式会社メガチップス 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法
US9921986B2 (en) * 2015-10-27 2018-03-20 International Business Machines Corporation Suspend and resume in a time shared coprocessor
JP6679290B2 (ja) 2015-11-30 2020-04-15 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034370A (ja) * 2009-08-03 2011-02-17 Fujitsu Ltd メモリコントローラ
CN102012794A (zh) * 2010-11-19 2011-04-13 北京兆易创新科技有限公司 一种固态硬盘及其访问控制方法、一种固态硬盘控制器
CN103201725A (zh) * 2010-11-25 2013-07-10 国际商业机器公司 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法
CN103136109A (zh) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 一种具有压缩功能的固态存储系统ftl写入及读取方法
CN105229592A (zh) * 2013-03-15 2016-01-06 马维尔国际贸易有限公司 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法
CN106911907A (zh) * 2017-02-09 2017-06-30 聊城大学 一种伴飞光电跟踪测量吊舱高清压缩与存储装置
JP2018147143A (ja) * 2017-03-03 2018-09-20 富士通株式会社 情報処理装置,情報処理プログラムおよび情報処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
星载图像压缩系统中实时二维小波变换的FPGA设计与实现;王鸣哲等;《微电子学与计算机》;第34卷(第07期);第33-36、41页 *

Also Published As

Publication number Publication date
JP7142562B2 (ja) 2022-09-27
US20220057950A1 (en) 2022-02-24
US11194491B2 (en) 2021-12-07
US11687261B2 (en) 2023-06-27
JP2020102102A (ja) 2020-07-02
US20200201552A1 (en) 2020-06-25
CN111382088A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
US6341318B1 (en) DMA data streaming
JP3127853B2 (ja) メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム
JP6046216B2 (ja) ホストシステム及びホストコントローラ
WO2014188528A1 (ja) メモリ装置、計算機システム及びメモリ装置の制御方法
KR20160031973A (ko) 데이터 아이템들을 캐시하기 위한 방법들, 장치들, 및 시스템들
CN108604211B (zh) 用于片上系统中的多区块数据事务的系统和方法
CN111723057A (zh) 一种文件预读方法、装置、设备及存储介质
CN111382088B (zh) 半导体器件及用于控制数据访问的方法
CN114051611A (zh) 用于非连续存储器的dma分散和聚集操作
US11231868B2 (en) System and method for performing computational storage utilizing a hardware accelerator
US10795825B2 (en) Compressing data for storage in cache memories in a hierarchy of cache memories
EP0969384B1 (en) Method and apparatus for processing information, and providing medium
JP3412342B2 (ja) イメージ描画装置及びデータ伸長方法
EP3462322B1 (en) Semiconductor device and memory access method
US20130290654A1 (en) Data writing control device, data writing control method, and information processing device
JP7363344B2 (ja) メモリ制御装置、および制御方法
JPH11328008A (ja) データ処理機能付メモリlsi
JP7493001B2 (ja) 圧縮伸長装置、ストレージシステム、および圧縮伸長方法
WO2022074858A1 (ja) メモリ制御装置および制御方法
JP3146197B2 (ja) データ転送装置及び記憶装置
JP2005196426A (ja) 制御装置
JP2008083772A (ja) データ処理装置
JP2019200592A (ja) メモリ制御回路、出力回路、メモリ制御回路の制御方法および出力回路の制御方法
JP2001195569A (ja) 画像データ圧縮制御方式
JP2018010464A (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