CN112242162B - 基于列数据分割的低功耗可重构sram结构及数据存取方法 - Google Patents

基于列数据分割的低功耗可重构sram结构及数据存取方法 Download PDF

Info

Publication number
CN112242162B
CN112242162B CN201910649227.1A CN201910649227A CN112242162B CN 112242162 B CN112242162 B CN 112242162B CN 201910649227 A CN201910649227 A CN 201910649227A CN 112242162 B CN112242162 B CN 112242162B
Authority
CN
China
Prior art keywords
data
storage array
data segment
segment
column
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
CN201910649227.1A
Other languages
English (en)
Other versions
CN112242162A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201910649227.1A priority Critical patent/CN112242162B/zh
Publication of CN112242162A publication Critical patent/CN112242162A/zh
Application granted granted Critical
Publication of CN112242162B publication Critical patent/CN112242162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

本发明提供一种基于列数据分割的低功耗可重构SRAM结构及数据存取方法,所述数据存取方法包括:提取每一个数据段的数据特征,并根据每一个数据段的数据特征配置对应的标志位,其中,数据存储阵列中的每一列数据被划分为多段形成多个数据段;根据每一个数据段的标志位,配置每一个数据段的工作模式;按照对应的工作模式从数据存储阵列中读取数据。本发明在不改变数据存储阵列每列数据中数据单元数量的条件下,对数据进行更细粒度的特征统计,将一列中的数据划分为多个段,对每一数据段进行数据特征的读取,并且分别配置每个段的工作模式,按照对应的工作模式读取数据,降低了整个数据存储阵列中数据读取的功耗。

Description

基于列数据分割的低功耗可重构SRAM结构及数据存取方法
技术领域
本发明实施例涉及数据读取技术领域,尤其涉及一种基于列数据分割的低功耗可重构SRAM结构及数据存取方法。
背景技术
随着人工智能的发展,机器学习(Machine Learning,ML)相关算法及理论广泛应用到各个领域,并取得了令人惊讶的效果。在众多机器学习算法中,神经网络算法模仿生物神经系统的行为特征对原始信息进行处理,并提取出高维特征,在模式识别领域受到了广泛的关注。其中,卷积神经网络(Convolutional Neural Network,CNN)在分类与识别领域表现出突出的优势。因此,低功耗电路设计变得越来越重要。一些电池供电的应用,如物联网系统,往往需要运行信号处理算法,如视频编码、对象分类和识别,这些算法涉及大量的SRAM(Static Random-Access Memory,静态随机存取存储器)访问,这些访问的功耗占片上功耗的一半。
此外,在许多算法,如运动估计和CNN(Convolutional Neural Networks,卷积神经网络)中,读操作的数量明显大于写操作的数量。为了降低SRAM的读取能耗,在硬件方面,主要涉及几种设计:亚阈值设计、存储器内部计算设计(Process in Memory,PIM)和可重新配置的数据自适应设计。其中,亚阈值设计通过降低SRAM中电源电压获得更高的能效,但是由于降低电源电压会使整个SRAM的性能和稳定性降低。存储器内部PIM设计可以消除一些固定参数的访问,通过在SRAM单元中执行计算来减少读取功耗,但该种方式对读取非固定参数并不能降低读取功耗,因此适用面较窄,且计算在模拟域进行会影响计算的精度。可重新配置的数据自适应SRAM方式为利用数据模式来设计电路结构,但是此种设计方案受限于SRAM阵列结构,若想收到较多的功耗降低,需要一列中的单元数量较少,但是这会降低SRAM的速度和可嵌入性。
发明内容
本发明实施例提供一种基于列数据分割的低功耗可重构SRAM结构及数据存取方法。
根据本发明的一个方面,提供了一种基于列数据分割的低功耗可重构SRAM结构,包括统计模块、标志存储阵列、预测模块、数据存储阵列和灵敏放大器;
所述统计模块,用于在向所述数据存储阵列写入数据时,提取每一个数据段的数据特征,并根据每一个数据段的数据特征配置对应的标志位,其中,数据存储阵列中的每一列数据被划分为多段,形成多个数据段;
所述标志存储阵列,用于以阵列的形式存储每一个所述数据段的标志位;
所述预测模块,用于从所述标志存储阵列读取每一个所述数据段的标志位,并根据所述标志位配置每一个所述数据段的工作模式;
所述灵敏放大器,用于按照对应的工作模式从所述数据存储阵列中读取数据。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,所述数据存储阵列中每一列数据划分的段数和每一个所述数据段包含的数据单元数量是根据所述数据存储阵列的大小和所述标志存储阵列的大小所确定的。
进一步的,所述统计模块具体用于:
在向所述数据存储阵列写入数据时,统计每一个所述数据段的数据单元为“1”的个数x和为“0”的个数y,根据x和y的大小关系来确定所述数据段的标志位。
进一步的,所述低功耗可重构SRAM结构还包括地址译码器,用于产生所述数据存储阵列和标志存储阵列所需的地址。
进一步的,所述数据存储阵列的大小为N*M,所述SRAM的接口数据位宽为W,则所述标志存储阵列的地址宽度为P=log2(N*M)/W;相应地,所述地址译码器具体用于:
当向所述数据存储阵列中写入数据时,所述地址宽度的前log2 M/W位为列地址位,其余为行地址位,其中,所述行地址位中的前log2 H位用于所述标志存储阵列的行选择。
进一步的,所述低功耗可重构SRAM结构还包括锁存器;
所述锁存器,用于存储当前数据段的前一个数据段的标志位;
所述统计模块,用于统计当前数据段的数据单元中为“1”的个数x和为“0”的个数y;还用于当x=y时,将当前数据段的前一个数据段的标志位配置给当前数据段。
根据本发明的第二个方面,提供了一种基于低功耗可重构SRAM结构的数据存取方法,包括:
S1,在向数据存储阵列写入数据时,提取每一个数据段的数据特征,并根据每一个所述数据段的数据特征配置对应的标志位,其中,将所述数据存储阵列中的每一列数据划分为多段,形成多个数据段;
S2,根据每一个所述数据段的标志位,配置每一个所述数据段的工作模式;
S3,按照对应的工作模式从所述数据存储阵列中读取数据。
进一步的,所述步骤S1中提取每一个数据段的数据特征,并根据每一个所述数据段的数据特征配置对应的标志位具体包括:
统计每一个数据段的数据单元中为“1”的个数x和为“0”的个数y,根据x和y的大小关系来确定所述数据段的标志位。
进一步的,所述步骤S1之后还包括:
存储当前数据段的前一个数据段的标志位;
统计当前数据段的数据单元中为“1”的个数x和为“0”的个数y,当x=y时,将当前数据段的前一个数据段的标志位配置给当前数据段。
根据本发明的第三个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种数据存取方法的步骤。
本发明的有益效果为:在不改变数据存储阵列每列中数据单元数两的条件下,对数据进行更细粒度的特征统计,将一列中的数据划分为多个段,对每一数据段进行数据特征的读取,并且分别配置每个段的工作模式,按照对应的工作模式读取数据,降低了整个数据存储阵列中数据读取的功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1现有技术的一种可重新配置的SRAM结构示意图;
图2为本发明一个实施例的基于列数据分割的低功耗可重构SRAM结构的内部连接框图;
图3为本发明一个实施例的地址位分区示意图;
图4为本发明一个实施例的基于低功耗可重构SRAM结构的数据存取方法流程图;
图5为现有技术的SRAM结构与本发明提供的低功耗可重构SRAM结构在数据读取时的功耗对比图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了降低SRAM中数据读取功耗,通常利用数据自适应模式原理来降低读取功耗,即利用数据特征来配置数据读取的工作模式。例如,8T存储单元在读取数据单元为′1′后的预充电阶段不消耗能量,因此,如果数据单元为′1′的数量在所有数据单元中占主导比例,则使用8T存储单元可以节省很多能量。基于这个特性,将数据中为′0′的数据单元转换为′1′的数据单元,并将转换后的数据单元存储在8T存储单元中以减少数据的读取功率。但是,这些工作方式高度依赖于视频处理等特定应用,应用无法广泛推广。
在所有数据自适应SRAM设计中有一种可重新配置的SRAM(称为RSRAM,Reconfigurable SRAM)。参见图1,可重新配置的SRAM包括统计模块、预测模块和数据存储阵列,在数据写入时,统计模块对写入数据的数据特征进行统计分析并生成控制标志,预测模块根据每列数据的控制标志配置低功耗读取的工作模式,然后根据每列数据的工作模式从数据存储阵列中读取数据。该可重新配置的RSRAM主要利用局部数据相关性,它可以适应更广泛的数据读取。然而,利用RSRAM进行数据读取降低功耗的效果受到列大小(一列中的数据单元数)的限制。因为在SRAM固定的存储容量下,减小列大小会导致行大小的增加,这使得SRAM阵列形状非常不规则而无法嵌入,或者会增加单元阵列的数量,单元阵列数量的增加会影响SRAM的速度性能。
本发明实施例提出了一种列数据分割的低功耗RSRAM(CDS-RSRAM,Column DataSegmentation RSRAM)结构,在不减小一列中数据单元数量,保证SRAM可嵌入性以及速度的前提下,进一步利用细粒度的数据特征来最小化数据读取功耗开销。
参见图2,提供了一种基于列数据分割的低功耗可重构SRAM结构,该低功耗可重构SRAM结构统计模块、标志存储阵列、预测模块、数据存储阵列和灵敏放大器。
统计模块,用于在向所述数据存储阵列写入数据时,提取每一个数据段的数据特征,并根据数据特征为每一个数据段配置对应的标志位,其中,数据存储阵列中的每一列数据被划分为多段,形成多个数据段。标志存储阵列,用于以阵列的形式存储每一个所述数据段的标志位;预测模块,用于从所述标志存储阵列读取每一个所述数据段的标志位,并根据所述标志位配置每一个所述数据段的工作模式;灵敏放大器,用于按照对应的工作模式从所述数据存储阵列中读取数据。
具体的,现有技术中实现低功耗数据读取的SRAM结构受限于阵列结构,若想收到较多的功耗降低,需要一列中的单元数量较少,但是这会降低SRAM的速度和可嵌入性。
本发明实施例为了解决单元数量减少带来的速度及嵌入性降低的问题,提供了一种基于列数据分割的低功耗可重构SRAM(Static Random-Access Memory,静态随机存取存储器),以下将基于列数据分割的低功耗可重构SRAM称为CDS-RSRAM(列数据分割的可配置的静态随机存取存储器)。
本发明实施例提供的CDS-RSRAM的统计模块提取每一个数据段的数据特征,其中,将一列数据划分为多段,每一列数据被划分后形成多个数据段。根据每一个数据段的数据特征,为每一个数据段配置对应的标志位,以及根据每一个数据段的标志位配置对应的工作模式。
其中,所说的工作模式具体为,若数据段的标志位为‘1’,则对应数据段在读取时会预测读出值为‘1’,此工作模式下读出数据‘1’不消耗能量,而读取数据‘0’消耗能量;若数据段的标志位为‘0’,则对应数据段在读取时会预测读出值为‘0’,此工作模式下读取数据‘0’不消耗能量,读取数据‘1’消耗能量。当从数据存储阵列中读取数据时,按照对应配置的工作模式读取数据,减小数据存储阵列中整个数据读取的功耗。其中,将每一个数据段配置的对应的标志位存储于标志存储阵列中,图2的Fcell中即存储每一个数据段的标志位,数据存储阵列中存储每一个数据单元,图2的Dcell中存储数据单元。
本发明提供的一种基于列数据分割的低功耗可重构SRAM结构,在不改变数据存储阵列每列中数据单元数量的条件下,对数据进行更细粒度的特征统计,将一列中的数据划分为多个段,对每一数据段进行数据特征的读取,并且分别配置每个段的工作模式,按照对应的工作模式读取数据,降低了整个数据存储阵列中数据读取的功耗。采用本发明提供的方案尽量减小增加电路面积,由于是对一列数据进行分段处理,故对每一列数据的单元数量没有要求,无需改变每列中数据单元的数量,即可实现降低数据读取时的功耗开销。
在本发明的一个实施例中,所述数据存储阵列中每一列数据划分的段数和每一个所述数据段包含的数据单元数量是根据所述数据存储阵列的大小和所述标志存储阵列的大小所确定的。
具体的,数据存储阵列用来以阵列的形式存储数据,标志存储阵列用来以阵列的形式存储每一个数据段的标志位,因此,可根据数据存储阵列的大小和标志存储阵列的大小,来计算每一列数据划分的段数和每一段数据包括的数据单元数。
在本发明实施例中,标志存储阵列以10T存储单元来存储,假设数据存储阵列具有N*M个单元,标志存储阵列具有H*M个单元,即可知将数据存储阵列中的每一列数据划分为H段,每一段数据包含N/H个数据单元。
在本发明的一个实施例中,统计模块具体用于:在向数据存储阵列写入数据时,统计每一个数据段的数据单元中为“1”的个数x和为“0”的个数y,根据x和y的大小关系来确定每一个数据段的标志位。
具体的,当向数据存储阵列中写入数据时,按照每一个数据段包括的数据单元数,统计模块中的计数器统计每一个数据段的数据单元中“1”的个数x和“0”的个数,并根据x和y的大小关系来确定该数据段的标志位。比如,当x>y时,将该数据段的标志位配置为1;当x≤y时,将该数据段的标志位配置为0。
在本发明的一个实施例中,所述数据存储阵列的大小为N*M,所述SRAM的接口数据位宽为W,则所述标志存储阵列的地址宽度为P=log2(N*M)/W;相应地,所述地址译码器具体用于:当向所述数据存储阵列中写入数据时,所述地址宽度的前log2 M/W位为列地址位,其余为行地址位,其中,所述行地址位中的前log2 H位可用于所述标志存储阵列的行选择。具体的,地址译码器用来产生标志存储阵列和数据存储阵列的地址。其中,以一个例子来描述地址译码器产生标志存储阵列和数据存储阵列的地址。假设数据存储阵列具有N=512,M=256个单元,数据宽度为W=16位,其中,数据宽度由数据存储阵列的硬件结构决定。则地址译码器产生的地址宽度为P=log2(N*M)/W=13位,由于数据需要按列写入数据存储阵列,则前4位可用于数据存储时的列选择,称为列地址,其余9位可用于行选择,以下称为行地址。如果上述中H=8,则行地址的前3个可用于标志存储阵列中的行选择。可参见图3,为地址译码器为数据存储阵列和标志存储阵列产生的地址的示意图,A[0]-A[12]为地址译码器产生的地址,其中,A[0]-A[3]用于数据存储阵列列地址,A[4]-A[6]用于标志存储阵列行地址,A[4]-A[12]用于数据存储阵列行地址,A[4]-A[6]为地址复用。
在本发明一个实施例中,还包括锁存器,用于存储当前数据段的前一个数据段的标志位;所述统计模块,用于统计当前数据段的数据单元中为“1”的个数x和为“0”的个数y;还用于当x=y时,将当前数据段的前一个数据段的标志位配置给当前数据段。
具体的,在为每一个数据段配置标志位和配置相应的工作模式时,如果一个数据列中数据单元为′1′的数量等于数据单元为′0′的数量,即x=y,这意味着无论该数据列的标志位设置为1或者0,读取该数据列时的功耗均相等。
根据本发明实施例中将一个数据列划分为多段,形成多个数据段,在进行数据写入时,一种朴素的策略为:统计模块统计每一个数据段中数据单元为“1”的个数x和数据单元为“0”的个数,当x>y时,将该数据段的标志位设置为1;当x≤y时,将该数据段的标志位设置为0。在此种方式下,存在一个问题,假如当前数据段的上一个数据段中的数据单元为“1”的数量超过数据单元为“0”的数量时,该上一个数据段的标志位即设置为1;当前数据段的下一个数据段中的数据单元为“1”的数量超过数据单元为“0”的数量时,该下一个数据段的标志位即设置为1;而当前数据段中的数据单元为“1”的数量等于数据单元为“0”的数量时,则当前数据段的标志位应该设置为0,那么从当前数据段的上一个数据段到当前数据段的下一个数据段的标志位,是从1到0再到1,标志位会切换两次,而标志位与工作模块对应,也就是说,从当前数据段的上一个数据段到当前数据段的下一个数据段,其工作模式需要切换两次,而每切换一次,均需要功率开销。尤其是当数据段变小时,即数据段的数量变多时,则这种切换会越来越频繁出现,耗费的功率开销会越来越大。
为了消除这种不必要的动态功率,本发明实施例提出了一种策略来降低CDS-RSRAM的功率开销。采用一个额外的锁存器,其中,该锁存器可位于统计模块中,也可位于统计模块外,锁存器用来记录当前数据段的上一个数据段的标志位,当统计模块统计到当前数据段中数据单元为“1”的数量与数据单元为“0”的数量相等时,则统计模块将当前数据段的上一个数据段的标志位作为当前数据段的标志位(前述已经说明,当数据段中的数据单元为“1”的数量和数据单元为“0”的数量相等时,标志位为1和标志位为0时的功耗开销相等,因此,在这种情况下,可以将数据段的标志位设置为1或者0均可),这样消除相邻标志位中不必要的切换功率开销。
本发明实施例提供的基于列数据分割的低功耗可重构SRAM结构并未降低SRAM电源电压,因此解决了亚阈值设计中存在的性能和稳定性降低的问题;低功耗可重构SRAM结构既可适用于非固定参数读取,也可适用于固定参数读取,因此解决了存储器内部计算设计方案中的适用面较窄的问题,同时所有的操作均在数字域实现,保证了精度不会有损失;另外,低功耗可重构SRAM结构在不减少一列中单元数量的前提下,实现了对更细粒度的数据特征的应用,降低了更多的功耗,解决了可重新配置的数据自适应SRAM设计中带来的速度和嵌入性降低的问题。
参见图4,提供了本发明一个实施例的基于列数据分割的低功耗可重构SRAM结构的数据存取方法,包括:S1,在向数据存储阵列写入数据时,提取每一个数据段的数据特征,并根据每一个所述数据段的数据特征配置对应的标志位,其中,所述数据存储阵列中的每一列数据被划分为多段,形成多个数据段;S2,根据每一个所述数据段的标志位,配置每一个所述数据段的工作模式;S3,按照对应的工作模式从所述数据存储阵列中读取数据。
其中,所述步骤S1中提取每一个挖掘粒度数据段的数据特征,并根据每一个所述数据段的数据特征配置对应的标志位具体包括:统计每一个数据段的数据单元中为“1”的个数x和为“0”的个数y,根据x和y的大小关系来确定所述数据段的标志位。具体的,当x>y时,数据段的标志位配置为1;当x≤y时,数据段的标志位配置为0。
在本发明的一个实施例中,所述步骤S1之后还包括:存储当前数据段的前一个数据段的标志位;统计当前数据段的数据单元中为“1”的个数x和为“0”的个数y,当x=y时,将当前数据段的前一个数据段的标志位配置给当前数据段。
本发明实施例提供的一种基于列数据分割的低功耗可重构SRAM的数据存取方法为与上述实施例提供的基于列数据分割的低功耗可重构SRAM对应的方法实施例,该方法实施例涉及的相关技术特征可参考上述的基于列数据分割的低功耗可重构SRAM的相关技术特征,在此不再赘述。
参见图5,将现有技术中的8T存储单元的数据读取功耗和本发明提供的低功耗可重构SRAM的数据读取功耗进行了比较,其中,纵坐标为功耗大小。其中,8T存储单元,无论一列数据的数据单元中是1多还是0多,8T存储单元均会预测读出数据是‘1’,此时读取数据‘1’不消耗能量,而读取数据‘0’消耗能量。那么,举例说明,当一列数据的数据单元位100个,其中有70个数据单元为0,30个数据单元为1,则读取30个为1的数据单元不消耗功耗,读取70个0的数据单元需要消耗功耗,则读取100个数据单元的平均功耗为0.7。而使用本发明提供的低功耗可重构SRAM,由于数据列中0的数据单元个数大于1的数据单元个数,因此,配置给这一列数据的标志位为0,即读取70个0的数据单元不消耗功耗,读取30个1的数据单元消耗功耗,那么读取100个数据单元的平均功耗位0.3,很明显,采用本发明提供的低功耗可重构SRAM读取数据时的功耗比现有技术中的8T存储单元读取数据的功耗要低。另外,从图5中可以看出,当一列数据被划分的段数H越大时,读取数据时消耗的功耗越低,即一列数据被划分得越精细,数据读取的功耗就会越低。
本发明的一个实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上的一种基于列数据分割的低功耗可重构SRAM的数据存取方法的步骤。
本发明提供的一种基于列数据分割的低功耗可重构SRAM及数据存取方法,将一个数据列划分为多个段,并分别对每一段数据的数据特征进行提取,根据数据特征对每一段数据进行标志位的配置,其中,不同的标志位对应不同的工作模式,通过不同的工作模式对数据进行读取,在更精细的粒度内利用数据特征,增加可重构SRAM的低功耗数据读取优势。为了消除标志存储阵列中相邻标志位的动态切换功率,使用一个额外的锁存器来记录当前数据段的上一个数据段的标志位,当当前数据段中数据单元为“1”的数量与数据单元为“0”的数量相等时,将选择上一数据段的标志位作为该数据段的标志位,减小标志位的动态切换功耗。
分段配置的低功耗可重构SRAM结构并没有通过减小一列中单元数量来降低功耗,避免了列单元数量减少带来的可嵌入性变差和速度降低的问题。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于列数据分割的低功耗可重构SRAM结构,其特征在于,包括统计模块、标志存储阵列、预测模块、数据存储阵列和灵敏放大器;
所述统计模块,用于在向所述数据存储阵列写入数据时,提取每一个数据段的数据特征,并根据每一个数据段的数据特征配置对应的标志位,其中,数据存储阵列中的每一列数据被划分为多段,形成多个数据段;
所述标志存储阵列,用于以阵列的形式存储每一个所述数据段的标志位;
所述预测模块,用于从所述标志存储阵列读取每一个所述数据段的标志位,并根据所述标志位配置每一个所述数据段的工作模式,所述工作模式至少包括两种;
所述灵敏放大器,用于按照对应的工作模式从所述数据存储阵列中读取数据。
2.根据权利要求1所述的低功耗可重构SRAM结构,其特征在于,所述数据存储阵列中每一列数据划分的段数和每一个所述数据段包含的数据单元数量是根据所述数据存储阵列的大小和所述标志存储阵列的大小所确定的。
3.根据权利要求1所述的低功耗可重构SRAM结构,其特征在于,所述统计模块具体用于:
在向所述数据存储阵列写入数据时,统计每一个所述数据段的数据单元为“1”的个数x和为“0”的个数y,根据x和y的大小关系来确定所述数据段的标志位。
4.根据权利要求1所述的低功耗可重构SRAM结构,其特征在于,所述低功耗可重构SRAM结构还包括地址译码器,用于产生所述数据存储阵列和标志存储阵列所需的地址。
5.根据权利要求4所述的低功耗可重构SRAM结构,其特征在于,所述数据存储阵列的大小为N*M,所述SRAM的接口数据位宽为W,则所述标志存储阵列的地址宽度为P=log2(N*M)/W;相应地,所述地址译码器具体用于:
当向所述数据存储阵列中写入数据时,所述地址宽度的前log2 M/W位为列地址位,其余为行地址位,其中,所述行地址位中的前log2 H位用于所述标志存储阵列的行选择。
6.根据权利要求3所述的低功耗可重构SRAM结构,其特征在于,所述低功耗可重构SRAM结构还包括锁存器;
所述锁存器,用于存储当前数据段的前一个数据段的标志位;
所述统计模块,用于统计当前数据段的数据单元中“1”的个数x和“0”的个数y;还用于当x=y时,将当前数据段的前一个数据段的标志位配置给当前数据段。
7.一种基于权利要求1-6任一项所述的低功耗可重构SRAM结构的数据存取方法,其特征在于,包括:
S1,在向数据存储阵列写入数据时,提取每一个数据段的数据特征,并根据每一个所述数据段的数据特征配置对应的标志位,其中,将所述数据存储阵列中的每一列数据划分为多段,形成多个数据段;
S2,根据每一个所述数据段的标志位,配置每一个所述数据段的工作模式,所述工作模式至少包括两种;
S3,按照对应的工作模式从所述数据存储阵列中读取数据。
8.根据权利要求7所述的数据存取方法,其特征在于,所述步骤S1中提取每一个数据段的数据特征,并根据每一个所述数据段的数据特征配置对应的标志位具体包括:
统计每一个数据段的数据单元中为“1”的个数x和为“0”的个数y,根据x和y的大小关系来确定所述数据段的标志位。
9.根据权利要求8所述的数据存取方法,其特征在于,所述步骤S1之后还包括:
存储当前数据段的前一个数据段的标志位;
统计当前数据段的数据单元中为“1”的个数x和为“0”的个数y,当x=y时,将当前数据段的前一个数据段的标志位配置给当前数据段。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求7-9任一项所述的基于低功耗可重构SRAM结构的数据存取方法。
CN201910649227.1A 2019-07-18 2019-07-18 基于列数据分割的低功耗可重构sram结构及数据存取方法 Active CN112242162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910649227.1A CN112242162B (zh) 2019-07-18 2019-07-18 基于列数据分割的低功耗可重构sram结构及数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910649227.1A CN112242162B (zh) 2019-07-18 2019-07-18 基于列数据分割的低功耗可重构sram结构及数据存取方法

Publications (2)

Publication Number Publication Date
CN112242162A CN112242162A (zh) 2021-01-19
CN112242162B true CN112242162B (zh) 2023-06-20

Family

ID=74167833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910649227.1A Active CN112242162B (zh) 2019-07-18 2019-07-18 基于列数据分割的低功耗可重构sram结构及数据存取方法

Country Status (1)

Country Link
CN (1) CN112242162B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105931660A (zh) * 2016-05-20 2016-09-07 西安紫光国芯半导体有限公司 一种数据拓扑转换器及转换方法及动态存储器
CN106201902A (zh) * 2016-06-24 2016-12-07 中电海康集团有限公司 一种sram位元与非易失性存储位元组成的复合阵列模块及其读写控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105931660A (zh) * 2016-05-20 2016-09-07 西安紫光国芯半导体有限公司 一种数据拓扑转换器及转换方法及动态存储器
CN106201902A (zh) * 2016-06-24 2016-12-07 中电海康集团有限公司 一种sram位元与非易失性存储位元组成的复合阵列模块及其读写控制方法

Also Published As

Publication number Publication date
CN112242162A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
Imani et al. MASC: Ultra-low energy multiple-access single-charge TCAM for approximate computing
CN103246616B (zh) 一种长短周期访问频度的全局共享缓存替换方法
CN111143243B (zh) 一种基于nvm混合内存的缓存预取方法及系统
KR102376650B1 (ko) 메모리 디바이스
CN1945736A (zh) 用于存储装置的与温度相关的自刷新模块
EP3843099A1 (en) Energy efficient memory array with optimized burst read and write data access, and scheme for reading and writing data from/to rearranged memory subarray where unused metadata is stored in a sparsity map
WO2019022837A1 (en) MINIMAL REDUCTION IN PERFORMANCE DEGRADATION DUE TO REFRESH OPERATIONS IN MEMORY SUBSYSTEMS
US11901000B2 (en) Adaptive memory management and control circuitry
Kazimirsky et al. Opportunistic refreshing algorithm for eDRAM memories
US11776623B2 (en) Bitline precharge system for a semiconductor memory device
Sanny et al. Energy-efficient median filter on FPGA
CN112242162B (zh) 基于列数据分割的低功耗可重构sram结构及数据存取方法
Bose et al. A 75kb SRAM in 65nm CMOS for in-memory computing based neuromorphic image denoising
CN214504409U (zh) 片上系统设备、计算系统以及存储器设备
CN109791469A (zh) 设置高速缓冲存储器的时钟速度/电压的装置及方法
CN112905121B (zh) 一种数据下刷方法和系统
CN113378115B (zh) 一种基于磁性随机存储器的近存稀疏向量乘法器
CN110720093A (zh) 用于dram的选择性刷新机制
CN110968180B (zh) 一种通过减少数据传输实现gpu降耗的方法及系统
Tuli et al. AVAC: A machine learning based adaptive RRAM variability-aware controller for edge devices
Yang et al. A priority-based selective bit dropping strategy to reduce DRAM and SRAM power in image processing
Xu et al. Energy-efficient SRAM design with data-aware dual-modes L0T storage cell for CNN processors
CN113722244B (zh) 一种高速缓存结构、访问方法和电子设备
CN115394332B (zh) Cache模拟实现系统、方法、电子设备及计算机存储介质
CN110286851B (zh) 一种基于三维存储器的可重构处理器

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