CN108701099A - 用于存储器***的功率节省技术 - Google Patents

用于存储器***的功率节省技术 Download PDF

Info

Publication number
CN108701099A
CN108701099A CN201780013577.8A CN201780013577A CN108701099A CN 108701099 A CN108701099 A CN 108701099A CN 201780013577 A CN201780013577 A CN 201780013577A CN 108701099 A CN108701099 A CN 108701099A
Authority
CN
China
Prior art keywords
data
storage system
processor
channel
host
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.)
Granted
Application number
CN201780013577.8A
Other languages
English (en)
Other versions
CN108701099B (zh
Inventor
J·徐
D·T·全
M·H·洛
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN108701099A publication Critical patent/CN108701099A/zh
Application granted granted Critical
Publication of CN108701099B publication Critical patent/CN108701099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • 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/0608Saving storage space on storage systems
    • 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/0625Power saving in storage systems
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/102Compression or decompression of data before storage
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)
  • Bus Control (AREA)

Abstract

公开了用于存储器***的功率节省技术具体而言,本公开的示例性方面构想了利用可能存在于存储器元件内的模式以及消除重复数据传输。具体地,如果数据是重复的,则取代重复地发送相同数据,可以用指令来仅单次发送数据,这些指令使得数据在接收端处被复制以将数据恢复到其原始重复状态。通过减小主机与存储器元件之间所传输的数据量,功耗被降低。

Description

用于存储器***的功率节省技术
优先权要求
本申请要求于2016年3月3日提交的题为“POWER SAVING TECHNIQUES FOR MEMORYSYSTEMS(用于存储器***的功率节省技术)”的美国临时专利申请S/N.62/302,891的优先权,该临时专利申请的内容通过援引被全部纳入于此。
本申请还要求于2017年3月2日提交的题为“POWER SAVING TECHNIQUES FORMEMORY SYSTEMS(用于存储器***的功率节省技术)”的美国专利申请S/N.15/448,327的优先权,该专利申请的内容通过援引被全部纳入于此。
背景
I.公开领域
本公开的技术一般涉及计算设备中的存储器***,并且尤其涉及用于存储器***的功率节省技术。
II.背景技术
计算设备在当前社会中已变得普遍。特别是移动计算设备已经遍布日常生活的许多方面。这种移动计算设备由周期性重新充电的电池供电。虽然电池技术上的进步已经增加了电池需要重新充电之前可能流逝的时间,但是这些进步已经被移动计算设备的日益增多的功能性抵消。也就是说,附加功能性增加了电池使用,这进而要求更加频繁地充电。相应地,仍然存在降低整个移动计算设备的功耗的压力。
应当领会,实际上所有计算设备都需要某个类型的存储器元件来操作。尽管通过低功率双倍数据率(LPDDR)存储器标准(例如,LPDDR1设置为1.8伏;LPDDR2和LPDDR3设置为1.2伏;以及LPDDR4设置为1.1伏)的连续迭代,存储器功耗已经通过电压缩放被减小,但是在给定当前技术约束的情况下,电压缩放看起来已经遭遇瓶颈。具体而言,刷新限制和其他电路性能问题需要1.1伏的LPDDR4。下一代低功耗存储器(即LPDDR5)当前正在争论中,并且LPDDR5构想使电压降低到1.05伏,但是这种降低仅提供边际功率节省。
虽然功率节省可能对于移动计算设备而言特别感兴趣,但是非移动设备也可受益于减小的功耗以减少废热生成。因此,各种类型的计算设备可受益于具有降低的功耗的存储器***。
公开概述
详细描述中公开的诸方面包括用于存储器***的功率节省技术。具体而言,本公开的示例性方面构想了利用可能存在于存储器元件内的模式以及消除重复数据传输。具体地,如果数据是重复的,则取代重复地发送相同数据,可以用指令来仅单次发送数据,这些指令使得数据在接收端处被复制以将数据恢复到其原始重复状态。通过减小主机与存储器元件之间所传输的数据量,功耗被降低。
就此而言,在一个方面,公开了一种主机处理器。该主机处理器包括物理层(PHY)接口,该PHY接口被配置成耦合到存储器总线的多个数据通道。该主机处理器还包括耦合至该PHY接口的存储器控制器。该存储器控制器包括数据模式检查器逻辑电路。该存储器控制器被配置成使用该数据模式检查器逻辑电路来确定在要在该存储器总线上写入存储器元件的数据中是否存在可重复数据的模式。该存储器控制器还被配置成将数据合并到较少的通道中,并且仅跨该存储器总线的多个数据通道中的某些数据通道来发送数据。
在另一方面,公开了一种存储器***。该存储器***包括输入/输出(IO)块,该IO块被配置成耦合到存储器总线。该存储器***还包括包含存储器元件的存储器组。该存储器组通信地耦合到该IO块。该存储器***还包括写寄存器,该写寄存器可操作用于通过该IO块来从该存储器总线接收数据,以及根据来自主机处理器的命令来多次复制数据。
在另一方面,公开了一种主机处理器。该主机处理器包括PHY接口,该PHY接口被配置成耦合到存储器总线的多个数据通道。该应用处理器还包括读寄存器。该主机处理器还包括耦合至该PHY接口的存储器控制器。该存储器控制器被配置成通过PHY接口来从存储器***接收数据。该存储器控制器还被配置成基于从该存储器***接收到的信息来使得该读寄存器内的数据被复制。
在另一方面,公开了一种存储器***。该存储器***包括IO块,该IO块被配置成耦合到存储器总线。该存储器***还包括包含存储器元件的存储器组。该存储器组通信地耦合到该IO块。该存储器组被配置成通过在该存储器总线上将合并数据发送到主机处理器来响应读命令。
在另一方面,公开了一种装置。该装置包括主机处理器,该主机处理器包括存储器控制器和PHY接口。该装置还包括存储器***。该装置还包括存储器总线。该主机处理器经由该PHY接口和该存储器总线来发送要写入该存储器***的数据。该存储器控制器包括数据模式检查器逻辑电路。该存储器控制器可操作用于使用该数据模式检查器逻辑电路来确定在要在该存储器总线上写入存储器***的数据中是否存在可重复数据的模式。该存储器控制器还可操作用于合并数据,以减少在该存储器总线上发送的数据。
在另一方面,公开了一种装置。该装置包括主机处理器,该主机处理器包括存储器控制器和PHY接口。该装置还包括存储器***。该装置还包括存储器总线。该主机处理器经由该PHY接口和该存储器总线来从存储器***接收数据。该存储器***可操作用于确定在正从该存储器***读取的数据中是否存在可重复数据的模式,并且合并数据以减少响应于来自该主机处理器的读命令而在该存储器总线上发送的数据。
附图简述
图1是具有主机处理器和存储器***的示例性常规计算设备的简化框图;
图2A是存储在存储器元件内的代码的示例性图像;
图2B是存储在存储器元件内的未经压缩的数据的示例性图像;
图3A是在没有本公开的益处的情况下跨主机处理器与存储器***之间的八个数据通道的示例性数据流;
图3B-3D是根据本公开的示例性方面的主机处理器与存储器***之间的示例性数据流;
图4是根据本公开的示例性方面的具有主机处理器与存储器***的示例性计算设备的简化框图;
图5是根据本公开的第二示例性方面的具有主机处理器与存储器***的示例性计算设备的简化框图;
图6是根据本公开的第三示例性方面的具有主机处理器与存储器***的示例性计算设备的简化框图;
图7是解说根据本公开的示例性方面的写过程的流程图;
图8是解说根据本公开的示例性方面的读过程的流程图;
图9解说了存储器***中的写路径电路的简化框图;
图10解说了存储器控制器中的数据模式检查器逻辑电路的简化框图;
图11解说了具有相对于总线上的时钟的定时的读和写命令;
图12解说了示例性写和读命令真值表;
图13是示出了用于合并数据通道之间的数据的替换方法的数据流;以及
图14是可包括图4-6的主机处理器和存储器***的示例性的基于处理器的***的框图。
详细描述
现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
详细描述中公开的诸方面包括用于存储器***的功率节省技术。具体而言,本公开的示例性方面构想了利用可能存在于存储器元件内的模式以及消除重复数据传输。具体地,如果数据是重复的,则取代重复地发送相同数据,可以用指令来仅单次发送数据,这些指令使得数据在接收端处被复制以将数据恢复到其原始重复状态。通过减小主机与存储器元件之间所传输的数据量,功耗被降低。
在解决本公开的特定方面之前,讨论了具有主机处理器和存储器***的常规计算设备的概述,并且讨论了图1-3A所解说的重复数据及其功耗影响。本公开的诸示例性方面的讨论在以下参照图3B开始。
就此而言,图1是具有主机处理器12和存储器***14的常规计算设备10的简化框图。主机处理器12可以是片上***(SoC)或集成电路(IC)的组合,以达成相同的功能性。具体而言,主机处理器12可包括数字信号处理器(DSP)16、图形处理单元(GPU)和多媒体引擎18、多核中央处理单元(CPU)20、以及存储器控制器22。DSP 16、GPU和多媒体引擎18、多核CPU 20、以及存储器控制器22可以在***总线24上彼此通信。存储器控制器22可以与存储器接口物理层(PHY)一起工作,以耦合到存储器总线28。存储器总线28还耦合到存储器***14。在示例性方面,存储器总线28包括第一8个数据通道(有时称为DQ0-DQ7)、时钟(在附图中标记为CLK)、命令、和地址通道(有时命令和地址通道被表示为CA)、以及第二8个数据通道(有时称为DQ8-DQ15)。注意,根据需要或期望,时钟、命令、和地址通道可以是三个分开的通道、两个通道(例如,时钟在一个通道上,而命令和地址在另一通道上)、或者单个通道。如本文所使用的,通道是物理导体(例如,导线迹线)。通常,每个通道具有其自己的与主机处理器12上的存储器接口PHY 26相关联的引脚以及用于存储器***14的相应引脚。
继续参照图1,存储器***14可包括一个或多个数据通道输入/输出(IO)框(诸如数据通道IO块30(1)-30(2))以及命令/地址/时钟(在附图中标记为CA和CLK)块32。此外,存储器***14可包括用于存储器组36(1)-36(N)(示出了四个)中的每个存储器组的解码器和数据锁存器34。虽然使用术语“块”,但应当领会,如众所周知的,该上下文中的块是逻辑电路或其他硬件元件。
还如众所周知的,主机处理器12从存储器***14读取并且写入存储器***14。在许多实例中,读/写活动涉及数据,但是在某些实例中,读/写活动涉及代码。在任一情形中,存储在存储器组36(1)-36(N)内的内容频繁地重复。虽然代码一般仅占存储器组36(1)-36(N)的大约百分之十,但是代码频繁地重复。在图2A中解说了示例性代码片段200。显而易见,代码片段200包括重复的内容,在该示例中,重复的内容是“00”(一般地参见代码片段200内的区域202和204)。同样,数据可消耗存储器组36(1)-36(N)的其余部分,但数据同样频繁地重复。在图2B中解说了示例性数据块210。显而易见,数据块210包括重复的“00”(参见例如区域212)和重复的“FF”(参见例如区域214)。虽然数据和代码在概念上不同,但是如本文所使用的,“数据”将指代驻留在存储器组36(1)-36(N)内、正被写入存储器组36(1)-36(N)、以及正从存储器组36(1)-36(N)读取的内容。同样,应当领会,虽然示例性重复内容是“00”或“FF”,但是实际数据可包括其他重复内容和/或改变重复频率。
在常规***(诸如图1的计算设备10)中,当执行读或写命令时,该读或写命令的数据跨数据通道(即,DO-D15)分布并且被发送到接收方实体(即,如果是读命令则发送到主机处理器12,或者如果是写命令则发送到存储器***14)。该布置在图3A中解说,其中解说了数据突发300。数据突发300对应于图2A的内容,并且第一8个数据通道DQ0-DQ7中的时隙(D0-D127)中的每一者被填充有对应数据(仅解说到D39)。显而易见,在许多实例中,时隙D0-D127内的许多数据是重复的。应当领会,跨存储器总线28的功耗是数据速度和数据量的函数。因此,跨存储器总线28发送重复数据消耗功率。
本公开的示例性方面利用读和写命令中的数据的复制,并且在仅跨存储器总线28发送重复数据的单个副本之前将重复数据合并到单个数据通道上,而不是跨多个数据通道发送多个副本。通过减小跨存储器总线28发送的数据量,本公开的示例性方面甚至在不能够执行进一步电压缩放的情况下也提供功率节省。虽然这种功率节省可以转化为用于移动计算设备的较长电池寿命,但是它也可以在非移动设备中生成较少废热,并且任何计算设备都可以从本公开受益。
就此而言,图3B解说了第一方面,其中数据块310内的数据跨8时隙编群相同。例如,将进入时隙D0-D7(一般地参见312)中的数据全部是“00”;将进入时隙D16-D23(一般地参见314)中的数据全部是“01”;并且将进入时隙D24-D31(一般地参见316)中的数据全部是“FF”。然而,并非发送相同的数据八次(跨每个数据通道DQ0-DQ7一次),数据仅在数据通道DQ0上被发送并且数据通道DQ1-DQ7被关闭。即,取代在时隙D8-D15中在数据通道DQ0-DQ7上发送例如“00”,在用于数据通道DQ1-DQ7的数据与时隙D8相同的指令下,仅数据通道DQ0发送时隙D8。在接收端处,接收机从数据通道DQ0接收各时隙并且复制其中的数据以重建重复数据。
应当领会,并非每个数据集合将具有8个其中带有相同数据的时隙。相应地,图3C解说了其中数据块320具有4个相同时隙的情况。例如,对应于时隙D0-D3的编群322内的数据相同,并且对应于时隙D4-D7的编群324内的数据相同、但是与编群322内的数据不同。因此,数据在数据通道DQ0和DQ4上发送,并且重复数据通道DQ1-DQ3和DQ5-DQ7被关闭。虽然具有两个活跃通道比具有一个活跃通道消耗更多功率,但是具有两个活跃通道仍然比具有八个活跃通道消耗更少功率。
同样,图3D解说了其中数据块330具有2个相同时隙的情况。例如,对应于时隙D0-D1的编群332内的数据相同;对应于时隙D2-D3的编群334内的数据相同;对应于时隙D4-D5的编群336内的数据相同;对应于时隙D6-D7的编群338内的数据相同。因此,数据在数据通道DQ0、DQ2、DQ4、以及DQ6上发送,并且数据通道DQ1、DQ3、DQ5、以及DQ7被关闭。再次,虽然具有四个活跃通道比具有一个或两个活跃通道消耗更多功率,但是具有四个活跃通道仍然比具有八个活跃通道消耗更少功率。分开的模式检查可用于在数据通道DQ8-DQ15上发送的数据。
为了传达正在使用本公开的复制数据技术,可以使用经修改的读和写命令。例如,如果仅一个数据通道与七个重复数据通道一起使用,则命令可以是RD_X1和WR_X1。如果两个数据通道与关于每个数据通道的三个重复数据通道一起使用,则命令可以是RD_X2和WR_X2。同样,如果四个数据通道与每通道一个重复数据通道一起使用,则命令可以是RD_X4和WR_X4。应当领会,该命名法是任意的并且出于解说性目的。实际上,可以通过列地址选择(CAS)命令来修改读和写命令。CAS命令内的数据可以编码如何修改读或写命令(例如,将读命令修改为RD_X1、RD_X2、或RD_X4)。以下参照图11更详细地探索关于读或写命令的CAS命令。虽然使用CAS命令是用于发信号通知经修改的读和写命令的一种方式,但是可以在不脱离本公开的范围的情况下使用其他技术。
为了实现重复数据通道的合并,必须对图1的计算设备10作出某些修改,以允许检测重复数据以及将重复数据复制到原本已经由非活跃数据通道填充的时隙中。图4-6解说了其中可以实现这些修改的示例性替换方式。就此而言,图4解说了具有主机处理器402和存储器***404的示例性计算设备400。主机处理器402可以是稳健的SoC或各IC的组合以达成相同功能性。具体而言,主机处理器402可包括DSP 406、GPU和多媒体引擎408、多核CPU410、以及存储器控制器412。DSP 406、GPU和多媒体引擎408、多核CPU 410、以及存储器控制器412可以在***总线414上彼此通信。存储器控制器412可以与存储器接口PHY 416一起工作,以耦合到存储器总线418,该存储器总线418还耦合到存储器***404。在示例性方面,存储器总线418包括第一8个数据通道(有时称为DQ0-DQ7)、时钟(有时称为CLK)、命令、和地址通道(有时称为CA)、以及第二8个数据通道(有时称为DQ8-DQ15)。注意,根据需要或期望,时钟、命令、和地址通道可以是三个分开的通道、两个通道(时钟在一个通道上,而命令和地址在另一通道上)、或者单个通道。附加地,可能存在其他反向信道通道(未具体地解说)。如上所提及的,每个通道通常与其自己的物理引脚相关联,并且是物理导体。
继续参照图4,存储器***404可包括一个或多个数据通道IO块(诸如数据通道IO块420(1)-420(2))以及命令/地址/时钟块422。此外,存储器***404可包括用于存储器组426(1)-426(N)(示出了四个)中的每个存储器组的解码器和数据锁存器424。
继续参照图4,存储器控制器412可包括数据模式检查器逻辑电路430和存储器地址查找表432。同样,存储器接口PHY 416可包括一个或多个读数据复制寄存器434。一个或多个读数据复制寄存器434之一可以与每个数据通道束(DQ0-DQ7或DQ8-DQ15)相关联。存储器***404包括与相应的数据通道IO块420(1)-420(2)相关联的写数据复制寄存器436(1)-436(2)。来自命令/地址/时钟块422的输出被提供给写数据复制寄存器436(1)-436(2)中的每一者。基于所接收到的命令(例如,WR_X1、WR_X2、或WR_X4),将该命令传递到写数据复制寄存器436(1)-436(2),并且使它们在将整个数据集合传递到每个解码器和数据锁存器424之前复制数据以用于写入存储器组426(1)-426(N)中。
当数据被写入存储器***404时,数据模式检查器逻辑电路430检查以查看数据是否以特定模式重复,若是,则可以用恰适的写命令(例如,WR_X1、WR_X2、或WR_X4)来使得数据折叠到较少的通道上,而不是在全部八个数据通道上发送重复数据。同时,对重复数据的指示存储在存储器地址查找表432中。在存储器***404处,写数据复制寄存器436(1)-436(2)获得所接收到的数据并将所接收到的数据进行复制,以重建原始的八个数据时隙,从而使得经重建的数据基于从命令/地址/时钟块422接收到的命令来消耗恰适数目的存储器时隙。经扩展的数据被写入存储器组426(1)-426(N)。
在生成读命令时,主机处理器402可以参照存储器地址查找表432来查看是否存在重复数据。如果存在重复数据,则将恰适的读命令(例如,RD_X1、RD_X2、或RD_X4)发送到存储器***404。随后,存储器***404跨存储器总线418上的活跃通道仅发送经折叠的数据。一个或多个读数据复制寄存器434随后获得经折叠的数据并且将经折叠的数据复制恰适次数以重建原始数据。
作为边注,在不使用本公开的各方面的情况下,图1的存储器控制器22可以生成2×n位数据。每一个数据通道束(DQ0-DQ7和DQ8-DQ15)接收n位数据,并且在数据通道上顺序地扩展该n位数据,直至完成拍长(BL)。因此,8DQ×BL=n。数据通道IO块30(1)-30(2)中的每一者将该n位数据发送到解码器和数据锁存器34,以供存储在存储器组36(1)-36(N)中。相反,在图4的计算设备400中,相同的2×n个数据可以被传递到存储器接口PHY 416,但是仅在数据通道的特定编群上发送n/8、n/4、或n/2位数据(取决于WR_X1、WR_X2、还是WR_X4被用作写命令)。写数据复制寄存器436(1)-436(2)在将该n位传递到解码器和数据锁存器424之前,基于来自命令/地址/时钟块422的命令(数据_复制_k(data_copy_k),其中k是合并的逆(即,对于WR_X1而言k是八(8),对于WR_X2而言k是四(4),并且对于WR_X4而言k是二(2)))来将合并数据扩展回n位数据。注意,如果计算设备400中不发生数据合并(例如,因为数据不重复),则计算设备400仍然可以通过在全部八个通道上发送2×n个数据来以类似于计算设备10的方式运行。
替代将写数据复制寄存器436(1)-436(2)与数据通道IO块420(1)-420(2)一起放置,写数据复制寄存器可被放置在计算设备的存储器***的每个解码器和数据锁存器中。在图5中解说了该示例性方面。具体地,解说了示例性计算设备500,其具有与图4的主机处理器402相同的主机处理器502。同样,主机处理器502耦合到存储器总线418。在放置存储器***404时,计算设备500包括存储器***504。
继续参照图5,存储器***504可包括一个或多个数据通道IO块(诸如数据通道IO块520(1)-520(2))以及命令/地址/时钟块522。此外,存储器***504可包括用于存储器组526(1)-526(N)(示出了四个)中的每个存储器组的解码器和数据锁存器524。
命令/地址/时钟块522向写数据复制寄存器528提供命令。注意,由于在数据通道IO块520(1)-520(2)与每个解码器和数据锁存器524之间传达较少的数据(n/k位数据),因此该方面可以提供进一步的功率节省。由于在这些内部总线上传达的数据较少,因此消耗较少的功率。因此,与图4的存储器***404相反,存储器***504仅将n/k位数据传达到存储器组526(1)-526(N),并且每个内部写数据复制寄存器528接收数据_复制_k命令以及将数据扩展回原始的2×n位数据。
应当领会,考虑到真实的硅实现,存储器地址查找表432是相对昂贵的硬件部分并且具有有限的地址空间。因此,作为进一步示例性方面,图6中所解说的示例性计算设备600消除了存储器地址查找表,并且将每个解码器和数据锁存器中的读数据模式检查器逻辑电路与写数据复制寄存器一起放置在存储器***中。就此而言,图6解说了具有主机处理器602和存储器***604的计算设备600。主机处理器602可以是稳健的SoC或各IC的组合以达成相同功能性。具体而言,主机处理器602可包括DSP 606、GPU和多媒体引擎608、多核CPU610、以及存储器控制器612。DSP 606、GPU和多媒体引擎608、多核CPU 610、以及存储器控制器612可以在***总线614上彼此通信。存储器控制器612可以与存储器接口PHY 616一起工作,以耦合到存储器总线618,该存储器总线618还耦合到存储器***604。在示例性方面,存储器总线618包括第一8个数据通道(有时称为DQ0-DQ7)、时钟(有时称为CLK)、命令、和地址通道(有时称为CA)、以及第二8个数据通道(有时称为DQ8-DQ15)。注意,根据需要或期望,时钟、命令、和地址通道可以是三个分开的通道、两个通道(时钟在一个通道上,而命令和地址在另一通道上)、或者单个通道。附加地,可能存在(一个或多个)其他反向信道通道634。如上所提及的,每个通道通常与其自己的物理引脚相关联,并且是物理导体。
继续参照图6,存储器***604可包括一个或多个数据通道IO块(诸如数据通道IO块620(1)-620(2))以及命令/地址/时钟块622。此外,存储器***604可包括用于存储器组626(1)-626(N)(示出了四个)中的每个存储器组的解码器和数据锁存器624。
当数据被写入存储器***604时,存储器控制器612内的数据模式检查器逻辑电路630检查以查看数据是否以特定模式重复,若是,则可以用恰适的写命令(例如,WR_X1、WR_X2、或WR_X4)来使得数据折叠到较少的通道上,而不是在全部八个数据通道上发送重复数据。写数据复制寄存器628接收数据_复制_k命令并且将数据扩展回原始的2×n位数据。
在该示例性方面,因为不存在存储器地址查找表,所以主机处理器602不将各模式存储在存储器地址查找表中。然而,写命令(WR_X1、WR_X2、WR_X4)如前所讨论的那样发出。读命令往往作为普通读命令开始,而没有对折叠或合并重复数据的任何请求。然而,存储器***604在接收到读命令时,使用读数据模式检查器逻辑电路632来查看是否存在可如上所述那样合并的重复数据的实例。如果存在,则读数据模式检查器逻辑电路632通知命令/地址/时钟块622,命令/地址/时钟块622通过存储器总线618上的反向信道通道634来指示对读命令的响应将以合并数据的形式进行。因此,存储器***604包括反向信道输出(未标记),其允许关于待发送到主机处理器602的合并数据的信息。主机处理器602(具体地,一个或多个读数据复制寄存器636)随后复制所接收到的数据以重建原始数据。
针对以上参照图4-6描述的硬件的背景,图7和8提供了实现本公开的示例性方面的示例性过程的流程图。就此而言,图7是根据本公开的示例性方面的写操作过程700的流程图。写操作过程700开始于存储器控制器412或612生成待写入存储器***404、504、或604的2×n位写数据(框702)。数据模式检查器逻辑电路430或630检查数据模式可重复性(框704)。如果对框704的答案为否,即不存在数据模式可重复性,则存储器控制器412或612发出正常写命令(框706)。
继续参照图7,如果对框704的答案为是,即存在数据模式可重复性,则数据模式检查器逻辑电路430或630在给出所检测到的模式的情况下确定哪个写命令(例如,WR_X1、WR_X2、或WR_X4)是恰适的(框708)。如果存在存储器地址查找表432,则存储器控制器412更新存储器地址查找表432(框710)。随后,主机处理器402、502、或602通过存储器总线418或618发出n/k位写数据和恰适的写命令(WR_X1、WR_X2、或WR_X4,在该情形中,k分别为八(8)、四(4)、或二(2))(框712)。因此,本公开的示例性方面允许仅跨存储器总线418或618的某些数据通道发送数据。应当领会,如本文所使用的,“某些数据通道”包括仅使用一个数据通道。注意,如果使用正常写命令,则k等于一(1)(即,发送n位写数据)。存储器***404、504、或604接收n/k位写数据和写命令(框714)。命令/地址/时钟块422、522、或622确定写命令是否为正常写命令(框716)。如果对框716的答案为否,则写数据复制寄存器436(1)-436(2)、528、或628复制该写数据,直至原始数据被恢复(框718)。然而,如果在框716处(或在框718的复制之后)确定正常写命令,则存储器***404、504、或604执行到存储器组426(1)-426(N)、526(1)-526(N)、或626(1)-626(N)中的写入操作。
类似地,图8解说了读操作过程800的流程图。读操作过程800开始于存储器控制器412(或612)确定需要来自存储器***404或504的数据。存储器控制器412将存储器读地址与存储器地址查找表432进行比较(框802)以查看是否存在存储器地址命中(框804)。如果在框804处没有命中,则发送正常读命令(框806)。注意,在其中没有存储器地址查找表432的计算设备600中,在框806中发送正常读命令。然而,如果在框804处存在存储器地址命中(即,存储器地址查找表432中存在对应于存储器读地址的条目),则随后基于存储器地址查找表432中的条目,存储器控制器412确定恰适的读命令(即,RD_X1、RD_X2、或RD_X4)(框808)。随后,主机处理器402通过存储器总线418发出恰适的读命令(框810)。存储器***404、504、或604从主机处理器402、502、或602接收读命令(框812)。
继续参照图8,一旦接收到读命令,则命令/地址/时钟块422、522、或622确定该读命令是否为正常读命令(框814)。如果对框814的答案为否,即它不是正常读命令(即,RD_X1、RD_X2、或RD_X4),则解码器和数据锁存器424或524从存储器组426(1)-426(N)或526(1)-526(N)中检索n/k位(框816)。注意,对于计算设备600而言,即使对框814的答案为是,读数据模式检查器逻辑电路632也检查模式(框818)并且确定有可能的合并量。存储器***604在反向信道通道634上发送反向信道命令(框820),该反向信道命令指示合并的读数据集合正被发送到主机处理器602。否则,如果该读命令是正常读命令,则解码器和数据锁存器424、524、或624执行正常的n位读操作(框822)。在框816、820、或822之后,存储器***404、504、或604通过存储器总线418或618将n/k位读数据发出到主机处理器402、502、或602(框824)。随后,由存储器接口PHY 416或616中的一个或多个读数据复制寄存器434或636按需复制n/k位读数据(框826)并且按需使用。
图9解说了图4的存储器***404、图5的存储器***504、或图6的存储器***604内的示例性写数据路径900。然而,出于解说目的,假定了写数据路径900在存储器***404中。因此,数据通道DQ0-DQ7和CA通道通过存储器总线418到达。虽然未解说,但是数据通道DQ8-DQ15也可以存在于存储器总线418中。CA通道传递到命令/地址/时钟块422,而数据通道DQ0-DQ7耦合到数据通道IO块420(1)。CA通道中的指令和命令被传递到命令解码器902,该命令解码器902确定主机处理器402已经发出正常写命令还是WR_X1、WR_X2、或WR_X4。基于所接收到的命令,命令解码器902指令数据复制控制块电路904。数据复制控制块电路904控制与写数据复制寄存器436(1)内的寄存器908(1)-908(M)相关联的门控逻辑电路906(1)-906(M)。并发地,写数据先进先出(FIFO)缓冲器910提供n位数据作为写数据复制寄存器436(1)的数据输入。
如图9中所解说的,n位数据将正常地进入为寄存器908(1)-908(M)的M个寄存器。在数据复制控制块电路904断言没有_数据_复制(no_data_copy)时,发生一个数据位写入寄存器908(1)-908(M)之一的操作。然而,如果数据复制控制块电路904断言数据_复制_8(data_copy_8)、数据_复制_4(data_copy_4)或数据_复制_2(data_copy_2)行之一,则门控逻辑电路906(1)-906(M)操作以使得数据被复制到相应数目的寄存器908(1)-908(M)中。应当领会,在不脱离本公开的范围的情况下,其他结构可被用于写数据路径900。
图10解说了数据模式检查器逻辑电路1000的示例性框图,其对应于图4或6的数据模式检查器逻辑电路430或630。数据模式检查器逻辑电路1000包括例如其上承载64位数据的数据总线1002。这64位数据被提供给字节检查器1004(1)-1004(8)。如所解说的,对应于数据通道DQ0-DQ7中的每一者的一个位的8个位被提供给字节检查器1004(1)-1004(8)中的每一者。字节检查器1004(1)-1004(8)输出例如两位代码,其指示分别对应于正常写、WR_X4、WR_X2、或WR_X1的零位、二位、四位、或八位的匹配。这些两位代码被提供给分组检查器1006。分组检查器1006比较整个分组的全部输出,以确定要传播的数据的最小值。如果没有作出最小匹配,则返回错误结果,这意味着数据不合并。如果返回了肯定结果,则事务开始地址将被存储在图4的存储器地址查找表432中(若存在)。控制逻辑1008跟踪事务的开始和结束。分组检查器1006将命中信号和数据_复制(1:0)(data_copy(1:0))输出到存储器接口PHY416或616。这些信号将进入存储器接口PHY 416或616中的命令和地址编码块(未示出)。地址总线(35:0)也被发送到命令和地址编码块。命令和地址编码块使用信号来构造具有恰适地址的恰适命令,以在存储器总线418或618上发送到存储器***404、504、或604。数据总线63:0是在发送到存储器***404、504、或604之前被发送到存储器接口PHY 416或616并且恰适地合并(或不合并)的数据。
图11解说了示例性写和读命令地址总线定时。显而易见,正常写命令1102和正常读命令1104花费两个时钟滴答。本公开的经修改的命令用CAS命令来修改读和写命令。为了获得两位CAS命令和两位读或写命令,总共花费四个滴答。因此,如所解说的,经修改的写命令1106表示为WR,WR,CAS,CAS,而经修改的读命令1108表示为RD,RD,CAS,CAS。然而,在存储器总线418上发送的数据中的净减少仍然减小了功率,即使这些命令使用稍微较多的位亦是如此。应当领会,经修改的写命令1106和经修改的读命令1108是解说性的,并且可以使用替换命令。同样,CAS命令可以位于写或读命令之前,而不脱离本公开的范围。进一步注意,取代使用经修改的读命令,主机处理器602可以发送正常读命令,并且存储器***604使用反向信道通道634来向主机处理器602指示合并数据正被发送到主机处理器602。虽然反向信道通道634被解说为从命令/地址/时钟块622扩展,但是应当领会,可以使用其他反向信道。例如,反向信道可以是来自数据通道IO块(例如,数据通道IO块620(1)或620(2))的附加DQ通道。
图12是示例性写和读命令真值表。命令总线由芯片选择(CS)和命令地址总线的6个通道(CA0-CA5)组成。正常写和读命令协议(命令代码、组地址(BA)、列地址(C4-C9))在两个时钟滴答上传输。在减少的IO通道写和读的情形中,可以通过CAS命令来修改写和读命令以通知减少的IO通道命令的类型(关于写命令的WR_X1、或WR_X2、或WR_X4,关于读命令的RD_X1、或RD_X2、或RD_X4),与图11中所解说的经修改的命令1106和1108类似。CAS命令包括每DQ字节的命令代码和减少的IO(用于较低DQ字节(DQ0-DQ7)的LB-D0、LB-D1,用于较高DQ字节(DQ8-DQ15)的UB-D0、UB-D1)。例如,当关于写和CAS命令(LB-D0,LB-D1)=00且(UB-D0,UB-D1)=10时,存储器***解读用于较低DQ字节的正常写和用于较高DQ字节的减少的IO通道写(例如,WR_X1)。仍然可以构建其他真值表以实现本公开的示例性方面。
进一步注意,取代指示不同写命令之间的差异(或除了指示不同写命令之间的差异之外),CAS命令可被用于指示数据合并在较大写命令中发生多长时间。例如,数据合并可以针对16个BL的第一或第二8个节拍或者32个BL的第一、第二、第三、或第四8个节拍发生。
同样,应当领会,使用反向信道通道634可允许消除经修改的读命令1108。在示例性方面,反向信道通道634可以是数据掩码(DM)通道。DM通道可以与数据通道IO块620(1)和620(2)相关联。通常,如果DM节拍为“H”,则对应的DQ字节不被写入存储器阵列,但是常规上,DM通道仅在写命令期间使用。因此,DM通道在对读命令的响应期间打开以供使用。在这种实例中,当断言了特定DM通道时,这指示响应于读命令正发生数据合并。
注意,虽然上述讨论已经构想了基于正被传输的数据内的垂直重复的数据合并,但是本公开并不限于此。就此而言,图13解说了其中每八位重复的情况。在这种实例中仍然可发生数据合并,其中第一个重复位被映射到D0、D8、D16、D24等,第二个重复位被映射到D1、D9、D17、D25等,依此类推。然而,重复位仅在数据通道DQ0上发送,从而导致如上所述的功率节省。
根据本文所公开的各方面的用于存储器***的功率节省技术可在任何基于处理器的设备中提供或集成到任何基于处理器的设备中。不作为限定的示例包括:机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、全球定位***(GPS)设备、移动电话、蜂窝电话、智能电话、会话发起协议(SIP)电话、平板设备、平板手机、服务器、计算机、便携式计算机、移动计算设备、可穿戴计算设备(例如,智能手表、保健或健康***、眼镜,等等)、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器,便携式数字视频播放器、汽车、车载组件、航空电子***、无人机以及多旋翼直升机。
就此而言,图14解说了可采用图4-6中所解说的主机处理器402、502、和602、以及存储器***404、504、和604的基于处理器的***1400的示例。在该示例中,基于处理器的***1400包括一个或多个CPU 1402,其各自包括一个或多个处理器1404(其可以是主机处理器402、502、或602)。(诸)CPU 1402可具有耦合至(诸)处理器1404以用于对临时存储的数据进行快速访问的高速缓存存储器1406。(诸)CPU 1402耦合到***总线1408并且可以将被包括在基于处理器的***1400中的各设备相互耦合。***总线1408可以是***总线414或614。如众所周知的,(诸)CPU 1402通过在***总线1408上交换地址、控制、以及数据信息来与这些其他设备通信。例如,(诸)CPU 1402可将总线事务请求传达给存储器控制器1410,该存储器控制器1410可以是存储器控制器412或612。尽管在图14中未解说,但是可以提供多个***总线1408。
其它设备可连接到***总线1408。如图14中所解说的,作为示例,这些设备可包括可以是存储器***404、504、或604的存储器***1412、一个或多个输入设备1414、一个或多个输出设备1416、一个或多个网络接口设备1418、以及一个或多个显示器控制器1420。(诸)输入设备1414可以包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备1416可以包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备1418可以是配置成允许往来于网络1422的数据交换的任何设备。网络1422可以是任何类型的网络,包括但不限于有线或无线网络、私有或公共网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、蓝牙TM网络、以及因特网。(诸)网络接口设备1418可以被配置成支持所期望的任何类型的通信协议。
(诸)CPU 1402还可被配置成在***总线1408上访问(诸)显示器控制器1420以控制发送给一个或多个显示器1424的信息。(诸)显示器控制器1420经由一个或多个视频处理器1426向(诸)显示器1424发送要显示的信息,该视频处理器1426将要显示的信息处理成适于(诸)显示器1424的格式。(诸)显示器1424可包括任何类型的显示器,包括但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、发光二极管(LED)显示器等。
本领域技术人员将进一步领会,结合本文所公开的各方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文中描述的设备可被用在任何电路、硬件组件、IC、或IC芯片中。本文中所公开的存储器可以是任何类型和大小的存储器,且可配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,各种解说性组件、框、模块、电路和步骤在上文已经以其功能性的形式一般性地作了描述。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体***上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文中所公开的各方面描述的各种解说性逻辑块、模块以及电路可用被设计成执行本文中所描述的功能的处理器、DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如DSP与微处理器的组合、多个微处理器、与DSP核协作的一个或多个微处理器、或任何其他此类配置)。
本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取信息和写入信息。替换地,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在数个不同步骤中执行。另外,示例性方面中讨论的一个或多个操作步骤可被组合。应理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术和技艺中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。

Claims (33)

1.一种主机处理器,包括:
物理层(PHY)接口,所述PHY接口被配置成耦合到存储器总线的多个数据通道;以及
耦合到所述PHY接口的存储器控制器,所述存储器控制器包括数据模式检查器逻辑电路,其中所述存储器控制器被配置成:
使用所述数据模式检查器逻辑电路来确定在要在所述存储器总线上写入存储器元件的数据中是否存在可重复数据的模式;以及
将所述数据合并到较少的通道中,并且仅跨所述存储器总线的所述多个数据通道中的某些数据通道来发送所述数据。
2.如权利要求1所述的主机处理器,其特征在于,所述存储器控制器进一步包括查找表,并且所述存储器控制器向所述查找表写入关于被写入所述存储器元件的数据的地址信息。
3.如权利要求2所述的主机处理器,其特征在于,所述存储器控制器被配置成使用所述查找表来确定正从所述存储器元件读取的数据是否具有所述可重复数据的模式,以使得可以使用合并的读命令。
4.如权利要求1所述的主机处理器,其特征在于,进一步包括与所述PHY接口相关联的读数据复制寄存器,其中所述读数据复制寄存器被配置成复制读数据。
5.如权利要求1所述的主机处理器,其特征在于,所述存储器控制器被配置成将来自八个通道的重复数据合并到一个数据通道上。
6.如权利要求1所述的主机处理器,其特征在于,所述存储器控制器被配置成将来自八个通道的重复数据合并到两个或四个数据通道上。
7.如权利要求1所述的主机处理器,其特征在于,所述PHY接口包括反向信道通道。
8.如权利要求7所述的主机处理器,其特征在于,所述存储器控制器被配置成接收来自所述存储器控制器的数据将是合并数据的指示。
9.如权利要求1所述的主机处理器,其特征在于,所述主机处理器集成到集成电路(IC)中。
10.一种存储器***,包括:
输入/输出(IO)块,所述I/O块被配置成耦合到存储器总线;
包括存储器元件的存储器组,所述存储器组通信地耦合到所述IO块;以及
写寄存器,所述写寄存器可操作用于通过所述IO块从所述存储器总线接收数据,以及根据来自主机处理器的命令来多次复制所述数据。
11.如权利要求10所述的存储器***,其特征在于,所述存储器组被配置成将来自所述写寄存器的所述重复数据存储在所述存储器元件中。
12.如权利要求10所述的存储器***,其特征在于,进一步包括与所述存储器组相关联的数据模式检查器逻辑电路。
13.如权利要求12所述的存储器***,其特征在于,所述数据模式检查器逻辑电路被配置成:确定在从所述存储器元件读取的数据中是否存在可重复数据的模式,以及将所述数据合并到较少的通道中并且仅在所述存储器总线的多个数据通道中的某些数据通道中发送所述数据。
14.如权利要求10所述的存储器***,其特征在于,进一步包括反向信道通道输出。
15.如权利要求14所述的存储器***,其特征在于,所述存储器***被配置成在反向信道通道上通过所述反向信道通道输出来向所述主机处理器发送对重复数据的指示。
16.一种主机处理器,包括:
物理层(PHY)接口,所述PHY接口被配置成耦合到存储器总线的多个数据通道;
读寄存器;以及
耦合到所述PHY接口的存储器控制器,其中所述存储器控制器被配置成:
通过所述PHY接口从存储器***接收数据;以及
基于从所述存储器***接收到的信息来使得所述读寄存器内的数据被复制。
17.如权利要求16所述的主机处理器,其特征在于,所述存储器控制器被配置成接收响应于读命令而从所述存储器***接收的数据将是合并数据的指示。
18.如权利要求16所述的主机处理器,其特征在于,所述存储器控制器基于通过所述存储器总线的反向信道通道接收到的信息来使得所述读取寄存器内的所述数据被复制。
19.一种存储器***,包括:
输入/输出(IO)块,所述I/O块被配置成耦合到存储器总线;以及
包括存储器元件的存储器组,所述存储器组通信地耦合到所述IO块,所述存储器组被配置成通过在所述存储器总线上将合并数据发送到主机处理器来响应读命令。
20.如权利要求19所述的存储器***,其特征在于,进一步包括反向信道输出,所述反向信道输出被配置成向所述主机处理器提供指示响应于所述读命令而正在发送所述合并数据的信息。
21.如权利要求19所述的存储器***,其特征在于,进一步包括与所述存储器组相关联的数据模式检查器逻辑电路。
22.如权利要求21所述的存储器***,其特征在于,所述数据模式检查器逻辑电路被配置成针对被合并到所述合并数据中的重复,检查正被发送到所述主机处理器的数据。
23.如权利要求19所述的存储器***,其特征在于,所述存储器***被配置成向所述主机处理器发送对合并数据正被发送的指示。
24.一种装置,包括:
主机处理器,所述主机处理器包括存储器控制器和物理层(PHY)接口;
存储器***;以及
存储器总线,其中所述主机处理器经由所述PHY接口和所述存储器总线来发送要写入所述存储器***的数据,并且
其中所述存储器控制器包括数据模式检查器逻辑电路,并且所述数据模式检查器逻辑电路可操作用于:
使用所述数据模式检查器逻辑电路来确定在要在所述存储器总线上写入所述存储器***的所述数据中是否存在可重复数据的模式;以及
合并所述数据以减少在所述存储器总线上发送的数据。
25.如权利要求24所述的装置,其特征在于,所述存储器控制器进一步包括查找表,并且所述存储器控制器向所述查找表写入关于被写入所述存储器***中的数据的地址信息。
26.如权利要求24所述的装置,其特征在于,所述存储器控制器被配置成将来自八个通道的重复数据合并到一个数据通道、两个数据通道、或四个数据通道上。
27.如权利要求24所述的装置,其特征在于,所述存储器控制器进一步可操作用于向所述存储器***提供对在所述存储器总线上发送的所述数据将是合并数据的指示。
28.如权利要求24所述的装置,其特征在于,所述装置被集成到从由以下各项构成的组中选择的设备中:机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、全球定位***(GPS)设备、移动电话、蜂窝电话、智能电话、会话发起协议(SIP)电话、平板设备、平板手机、服务器、计算机、便携式计算机、移动计算设备、可穿戴计算设备、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器,便携式数字视频播放器、汽车、车载组件、航空电子***、无人机以及多旋翼直升机。
29.一种装置,包括:
主机处理器,所述主机处理器包括存储器控制器和物理层(PHY)接口;
存储器***;以及
存储器总线,其中所述主机处理器经由所述PHY接口和所述存储器总线来接收从所述存储器***读取的数据,并且
其中所述存储器***可操作用于确定在正从所述存储器***读取的所述数据中是否存在可重复数据的模式,并且合并所述数据以减少响应于来自所述主机处理器的读命令而在所述存储器总线上发送的数据。
30.如权利要求29所述的装置,其特征在于,进一步包括反向信道通道,通过所述反向信道信道,所述存储器***向所述主机处理器发送指示响应于所述读命令而正在发送所述合并数据的信息。
31.如权利要求29所述的装置,其特征在于,所述存储器***进一步包括数据模式检查器逻辑电路。
32.如权利要求31所述的装置,其特征在于,所述数据模式检查器逻辑电路针对被合并到所述合并数据中的重复来检查正被发送到所述主机处理器的数据。
33.如权利要求29所述的装置,其特征在于,所述存储器***向所述主机处理器发送对合并数据正被发送的指示。
CN201780013577.8A 2016-03-03 2017-03-03 用于存储器***的功率节省技术 Active CN108701099B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662302891P 2016-03-03 2016-03-03
US62/302,891 2016-03-03
US15/448,327 2017-03-02
US15/448,327 US10222853B2 (en) 2016-03-03 2017-03-02 Power saving techniques for memory systems by consolidating data in data lanes of a memory bus
PCT/US2017/020582 WO2017152005A1 (en) 2016-03-03 2017-03-03 Power saving techniques for memory systems

Publications (2)

Publication Number Publication Date
CN108701099A true CN108701099A (zh) 2018-10-23
CN108701099B CN108701099B (zh) 2022-05-03

Family

ID=59722700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780013577.8A Active CN108701099B (zh) 2016-03-03 2017-03-03 用于存储器***的功率节省技术

Country Status (10)

Country Link
US (2) US10222853B2 (zh)
EP (1) EP3423947B1 (zh)
JP (2) JP6999565B2 (zh)
KR (1) KR102420909B1 (zh)
CN (1) CN108701099B (zh)
BR (1) BR112018067531A2 (zh)
CA (1) CA3013090A1 (zh)
ES (1) ES2804604T3 (zh)
HU (1) HUE049615T2 (zh)
WO (1) WO2017152005A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111312308A (zh) * 2018-12-11 2020-06-19 爱思开海力士有限公司 半导体器件和包括其的半导体***

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10222853B2 (en) 2016-03-03 2019-03-05 Qualcomm Incorporated Power saving techniques for memory systems by consolidating data in data lanes of a memory bus
US10394724B2 (en) * 2016-08-22 2019-08-27 Qualcomm Incorporated Low power data transfer for memory subsystem using data pattern checker to determine when to suppress transfers based on specific patterns
KR20190035392A (ko) * 2017-09-26 2019-04-03 삼성전자주식회사 데이터 다중 기록을 수행하는 메모리 장치, 메모리 장치의 동작방법 및 메모리 컨트롤러의 동작방법
KR20200034499A (ko) * 2018-09-21 2020-03-31 삼성전자주식회사 메모리 장치와 통신하는 데이터 처리 장치 및 방법
US11785424B1 (en) 2021-06-28 2023-10-10 Wm Intellectual Property Holdings, L.L.C. System and method for asset tracking for waste and recycling containers
CN116264083A (zh) * 2021-12-14 2023-06-16 长鑫存储技术有限公司 存储***以及存储***的数据读取方法
CN116264085A (zh) * 2021-12-14 2023-06-16 长鑫存储技术有限公司 存储***以及存储***的数据写入方法
US20230197123A1 (en) * 2021-12-20 2023-06-22 Advanced Micro Devices, Inc. Method and apparatus for performing a simulated write operation
US11899598B2 (en) * 2022-05-31 2024-02-13 Western Digital Technologies, Inc. Data storage device and method for lane selection based on thermal conditions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009026A (en) * 1997-07-28 1999-12-28 International Business Machines Corporation Compressed input/output test mode
CN103714026A (zh) * 2014-01-14 2014-04-09 中国人民解放军国防科学技术大学 一种支持原址数据交换的存储器访问方法及装置
WO2014209399A1 (en) * 2013-06-28 2014-12-31 Hewlett-Packard Development Company, L.P. Memory component capable to communicate at multiple data widths
US20150186282A1 (en) * 2013-12-28 2015-07-02 Saher Abu Rahme Representing a cache line bit pattern via meta signaling

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190284B1 (en) * 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
JPH1011360A (ja) * 1996-06-24 1998-01-16 Toshiba Corp キャッシュメモリ
JP2921505B2 (ja) * 1996-08-09 1999-07-19 日本電気株式会社 半導体記憶装置
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6785793B2 (en) 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US7383399B2 (en) * 2004-06-30 2008-06-03 Intel Corporation Method and apparatus for memory compression
US7631207B1 (en) * 2006-04-21 2009-12-08 Sun Microsystems, Inc. Reducing power consumption for processing of common values in microprocessor registers and execution units
GB2457667B (en) 2008-02-19 2012-01-11 Advanced Risc Mach Ltd Data transfer between devices within an integrated circuit
US8694703B2 (en) * 2010-06-09 2014-04-08 Brocade Communications Systems, Inc. Hardware-accelerated lossless data compression
MX2013002773A (es) 2010-09-16 2013-04-05 Apple Inc Controlador de memoria con multiples puertos con puertos asociados con las clases de trafico.
KR101854251B1 (ko) 2010-11-30 2018-05-03 삼성전자주식회사 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치
US9189394B2 (en) * 2012-08-08 2015-11-17 Wisconsin Alumni Research Foundation Memory-link compression for graphic processor unit
JP2014053058A (ja) * 2012-09-06 2014-03-20 Toshiba Corp 半導体記憶装置
US9430434B2 (en) * 2013-09-20 2016-08-30 Qualcomm Incorporated System and method for conserving memory power using dynamic memory I/O resizing
US9568542B2 (en) * 2013-09-25 2017-02-14 Cavium, Inc. Memory interface with integrated tester
US20150121111A1 (en) * 2013-10-24 2015-04-30 Qualcomm Incorporated System and method for providing multi-user power saving codebook optmization
US9864536B2 (en) * 2013-10-24 2018-01-09 Qualcomm Incorporated System and method for conserving power consumption in a memory system
KR102017808B1 (ko) 2013-12-31 2019-09-03 에스케이하이닉스 주식회사 데이터 처리 장치 및 데이터 처리 방법
KR102616804B1 (ko) * 2015-05-21 2023-12-26 제로포인트 테크놀로지 에이비 시맨틱 값 데이터 압축 및 압축해제를 위한 방법, 장치 및 시스템
US20170115900A1 (en) * 2015-10-23 2017-04-27 International Business Machines Corporation Dummy page insertion for flexible page retirement in flash memory storing multiple bits per memory cell
US10222853B2 (en) 2016-03-03 2019-03-05 Qualcomm Incorporated Power saving techniques for memory systems by consolidating data in data lanes of a memory bus
US10394724B2 (en) * 2016-08-22 2019-08-27 Qualcomm Incorporated Low power data transfer for memory subsystem using data pattern checker to determine when to suppress transfers based on specific patterns

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009026A (en) * 1997-07-28 1999-12-28 International Business Machines Corporation Compressed input/output test mode
WO2014209399A1 (en) * 2013-06-28 2014-12-31 Hewlett-Packard Development Company, L.P. Memory component capable to communicate at multiple data widths
US20150186282A1 (en) * 2013-12-28 2015-07-02 Saher Abu Rahme Representing a cache line bit pattern via meta signaling
CN103714026A (zh) * 2014-01-14 2014-04-09 中国人民解放军国防科学技术大学 一种支持原址数据交换的存储器访问方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111312308A (zh) * 2018-12-11 2020-06-19 爱思开海力士有限公司 半导体器件和包括其的半导体***
CN111312308B (zh) * 2018-12-11 2023-09-22 爱思开海力士有限公司 半导体器件和包括其的半导体***

Also Published As

Publication number Publication date
US10222853B2 (en) 2019-03-05
CN108701099B (zh) 2022-05-03
ES2804604T3 (es) 2021-02-08
BR112018067531A2 (pt) 2019-01-02
JP6999565B2 (ja) 2022-01-18
US10852809B2 (en) 2020-12-01
EP3423947A1 (en) 2019-01-09
US20190179399A1 (en) 2019-06-13
KR102420909B1 (ko) 2022-07-13
US20170255394A1 (en) 2017-09-07
CA3013090A1 (en) 2017-09-08
KR20180119584A (ko) 2018-11-02
HUE049615T2 (hu) 2020-09-28
JP2022040150A (ja) 2022-03-10
JP2019507436A (ja) 2019-03-14
WO2017152005A1 (en) 2017-09-08
JP7417576B2 (ja) 2024-01-18
EP3423947B1 (en) 2020-04-22

Similar Documents

Publication Publication Date Title
CN108701099A (zh) 用于存储器***的功率节省技术
US7636272B2 (en) Multi-port memory device
KR20130119545A (ko) 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
US11372717B2 (en) Memory with system ECC
US11728003B2 (en) System and memory with configurable error-correction code (ECC) data protection and related methods
CN103988192B (zh) 统一数据屏蔽、数据中毒和数据总线反转信令
US20100174936A1 (en) Communicating Via An In-Die Interconnect
CN109964213A (zh) 在基于处理器的***中提供经扩展动态随机存取存储器突发长度
KR20160026386A (ko) 어드레스 정렬기 및 이를 포함하는 메모리 장치
US7979666B2 (en) System and method for context-independent codes for off-chip interconnects
US11373725B2 (en) Error correction code circuits having one-to-one relationships with input/output pads and related apparatuses and methods
US9652418B2 (en) High throughput register file memory with pipeline of combinational logic
US20230267992A1 (en) Keeper-free volatile memory system
WO2022155798A1 (en) Memory priming and initialization systems and methods
US20230388241A1 (en) Data Encoding and Packet Sharing in a Parallel Communication Interface
US20240004583A1 (en) Protocol for data poisoning
US11804262B2 (en) Area efficient memory cell read disturb mitigation
Irwin et al. Energy issues in multimedia systems
CN116263645A (zh) 针对自适应双设备数据纠正备用的地址生成
CN109144430A (zh) Raid5快速同步方法
KR20120088848A (ko) 고정된 레지스터 어드레스 공간에서 제어 및 상태 신호 밀도를 증가시키기 위한 기술

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