CN105283856A - 能够在多个数据宽度下通信的存储器组件 - Google Patents
能够在多个数据宽度下通信的存储器组件 Download PDFInfo
- Publication number
- CN105283856A CN105283856A CN201380076239.0A CN201380076239A CN105283856A CN 105283856 A CN105283856 A CN 105283856A CN 201380076239 A CN201380076239 A CN 201380076239A CN 105283856 A CN105283856 A CN 105283856A
- Authority
- CN
- China
- Prior art keywords
- data
- memory assembly
- memory
- value
- data width
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- 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/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
- G06F2212/2515—Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
实例公开了一种方法、存储器组件和用于配置该存储器组件的数据宽度的储存介质。所述实例公开了在能够在多个数据宽度下通信的存储器组件处接收配置事务。附加地,所述实例公开了基于该配置事务配置该存储器组件的数据宽度。
Description
背景技术
存储器系统储存可被用于读和写数据的各种值。在这些系统中的存储器组件一般具有固定数据宽度,以执行读和写数据值的操作。
附图说明
在附图中,相同的数字指代相同的组件或块。下面的详细描述引用这些附图,其中:
图1为实例接口和存储器组件的框图,该存储器组件包括用于接收与数据位的数目相关联的配置事务的控制器、用于设置对应于数据位的数目的内部值的寄存器以及用于提供数据位的数目的值的阵列;
图2A为实例存储器控制器的框图,其包括至多个存储器组件的接口;
图2B为包括多个存储元件的实例存储器组件的框图;
图3为用于接收配置事务和基于该配置事务来配置存储器组件的数据宽度的实例方法的流程图;
图4为用于接收与多个数据位相关联的配置事务并通过将存储器组件的内部寄存器设置为对应于数据位的数目的值来配置存储器组件的数据宽度的实例方法的流程图;
图5为用于接收配置事务、基于该配置事务配置存储器组件的数据宽度、配置第二数据宽度并且收集对应于第二所配置的数据宽度的数据位的值以及传输所收集的值的实例方法的流程图;以及
图6为实例计算设备的框图,所述实例计算设备具有处理器,以执行机器可读储存介质中的指令,用于接收配置事务、通过将寄存器设置为对应于数据宽度的值来配置用于通信的数据宽度。
具体实施方式
存储器系统组件传统上被设计为具有固定数据宽度。固定数据宽度可限制这些存储器组件可被使用在其中的存储器系统的类型。例如,标准化的固定数据宽度由制造商提供,但这限制了该存储器系统的灵活性,因为该数据宽度为静态配置。在另一实例中,为了改变在存储器系统中的组件之间的通信的数据宽度,存储器系统可能需要被重新设计。这对该存储器系统体系架构创建了更加静态的和刚性的途径。进一步,固定数据宽度可能是效率低的,因为所利用的数据宽度可在大小方面小于固定数据宽度。在该实例中,很多带宽可能是未充分利用的。
为了解决这些问题,在本文中公开的实例提供了一种用于配置存储器组件的数据宽度的方法。如在本文中定义的数据宽度为在读或写事务的位的数目中的数据操作数大小,而不是存储器组件的数据总线的宽度。该方法在存储器组件处接收配置事务,所述配置事务可配置该存储器组件在各种数据宽度下对数据进行存取。该配置事务通过提供对应于特定的数据宽度的位的数目而为该存储器组件指示该特定的数据宽度。在另一实施方案中,该配置事务指示多个数据宽度,诸如数据传输宽度和/或数据存取宽度。数据传输宽度指示要被传输至存取该数据的系统的数据宽度,而数据存取宽度指示要从存储器阵列被存取并被处理以产生要被传输至该系统的数据的数据宽度。一接收到该配置事务,该存储器就配置该特定的数据宽度。接收到对应于该特定的数据宽度的配置事务在配置该存储器组件中提供了灵活的途径。这进一步提供了动态途径,因为该存储器组件可被配置为各种数据宽度。
附加地,基于该配置事务来配置该存储器组件的数据宽度可增加数据通信速度,以支持未来数代存储器体系架构。配置该数据宽度导致更高的效率,因为带宽可被动态地调整至该特定的数据宽度,这生成该存储器组件的总体上较低的功耗。例如,指示意图用于所有事务的数据宽度(即,数据存取)而不是分开地指示每个事务中的数据宽度结果是跨越接口的更高的效率,从而导致每条线路(lane)更多的带宽和每个事务更低的功耗。
在另一实施方案中,这些实例进一步提供了一种方法,用于从存储元件收集数据位值并对所收集的值执行校正功能、诸如纠错码(ECC)。在传输之前在该存储器组件处执行校正功能提供了更少的用于传输的数据位值。附加地,在该存储器组件处执行该校正功能确保了所传输的数据位值没有损坏。
总起来说,在本文中公开的实例通过基于配置事务来配置存储器组件的数据宽度而提供了灵活的途径。附加地,通过动态地调整该存储器组件的数据宽度,在本文中公开的实例导致更高的效率。
现参见附图,图1为接口106和存储器组件104的框图。该存储器组件104包括内部控制器110,用于跨越接口106接收配置事务102。配置事务102给存储器组件104提供值114,以设置到内部寄存器112中。值114对应于要被用于随后的存储器存取事务(诸如读或写事务)的数据宽度或数据操作数大小。以这种方式,提供于配置事务102中的值114指示数据存取的宽度。存储器组件106进一步包括阵列116,以读和/或写各种数据位118和120。
接口106将配置事务和其他存储器存取事务、诸如读和写操作传输到存储器组件104。在一个实施方案中,接口106为硬件类型的接口,其将配置事务102从在外部的控制器(未图示)传输至存储器组件104。在另一实施方案中,接口106可包括指令集、过程、操作、逻辑、算法、技术、逻辑功能、固件和/或软件,用于提供在外部控制器和存储器组件104之间的通信。外部控制器与操作系统、管理软件或硬接线模式(hardwiredmode)处于通信,用于配置存储器组件104的数据宽度的大小。接口106接收逻辑信号和协议,用于将逻辑信号和/或事务按顺序排好,以确保信号被路由到给定组件。同样地,接口106的实施方案可包括小型计算机系统接口(SCSI)、因特网小型计算机系统接口(iSCSI)、串行器(serializer)/解串器(deserializer)(SerDes)或能够接收信号和/或事务并且相应地路由的其他类型的接口。在一个实施方案中,管理员可为配置事务预定义数据宽度,这可起源于外部控制器,用于传输至存储器组件104。在另一实施方案中,接口106包括串行器/解串器(SerDes),用于在存储器组件104和连接到接口106的其他组件之间的高速通信。在该实施方案中,接口106包括功能硬件接口模块,以在串行数据和/或并行数据之间转换数据。例如,接口106可串行地和/或并行地接收和/或传输配置事务102和其他数据。在进一步实施方案中,接口106可包括窄接口,该窄接口可占用两倍数目的周期,以在(一个或多个)通道中传输数据,而在又一实施方案中,接口106可包括宽接口。
配置事务102指定数据位的数目,其对应于数据宽度。更确切地说,配置事务102为设置存储器组件104的数据宽度的事务。一旦数据宽度已被配置事务102配置时,指示存取读或写数据值的存储器位置或地址的附加事务或操作可由存储器组件104接收。该数据宽度为存储器组件104和/或接口106指示数据位值的数目,其可在给定的读或写操作中被读或被写。给定的读或写操作可在存储器组件104之内的通信通道上通信。除了存储器组件104的数据宽度之外,这些通信通道也被配置。该实施方案在下一图中被详细讨论。在另一实施方案中,存储器组件104可接收附加的事务(例如,对数据位的匹配来自阵列116的所配置的数据宽度的数目进行存取的读操作和/或包括数据位的对应于要被提供至阵列116的所配置的数据宽度的数目的写操作)。不同于配置事务102,考虑这些附加的事务,因为配置事务102配置存储器组件104的对应于读和/或写操作的数据宽度。例如,配置事务102设置存储器组件104的寄存器112中的数据宽度值114,而附加的操作利用由寄存器112中的值114指定的数据宽度读和写数据值。在另一实例中,配置事务102可包括地址配置,该地址配置指示被提供在读和写事务中的地址应如何被解释来选择组件104中的存储元件进行存取。
存储器组件104为能够在多个数据宽度下通信的储存区域。存储器组件104接收配置事务102并解释该事务102,用于配置数据宽度。存储器组件104能够在多个数据宽度下通信,因此接收配置事务102使存储器组件104能够根据配置事务102中所指示的数据位的数目动态地调整数据宽度。存储器组件的实施例包括非易失性存储器、易失性存储器、双列直插存储器模块、只读存储器(ROM)、闪存、铁电式随机存取存储器(RAM)、软盘、磁带、光盘、硬盘驱动器、磁阻式随机存储器(MRAM)、纳米驱动器(nanodrive)、固态驱动器、存储器映射储存(MMS)或能够在多个大小的数据宽度下通信的其他合适的存储器组件。
控制器110为在存储器组件104内部的电子设备,其管理存储器组件104的操作,以读和/或写数据位值至阵列116。控制器110管理存储器组件104的内部操作,并且同样地,作为在存储器组件104和外部组件之间的接口进行操作。控制器被连接到接口106,以接收配置事务102并根据在配置事务102中所传输的值114配置对阵列116的数据存取的宽度。内部控制器110的实施方案包括专用集成电路(ASIC)、处理器、微处理器、微芯片、芯片组、电子电路、半导体、微控制器、中央处理单元(CPU)或能眵管理存储器组件104的各种操作的其他可配置设备。
寄存器112为一种硬件寄存器,其存储对应于与配置事务102相关联的数据位的数目的值114。在寄存器112处设置的值为存储器组件104指示数据存取的宽度。该数据宽度指定多少个数据位可被读或被写到阵列116中。以这种方式,可被读和/或可被写的数据位的数目配置数据存取的宽度。寄存器112的值114对应于由配置事务102指定的位的数目而被设置。
阵列116为在存储器组件内部的存储元件的收集,其包括各种数据位118和120。同样地,阵列116可包括各种存储器模块和/或存储元件,如在下一图中所看到的那样。如在本文中所使用的术语“存储元件”可包括引用单个数据位的储存。各种数据位118和120表示被读或被写到阵列116中的数据位值的值。读取阵列116中的数据位的各种值可包括观察存储器阵列节点的状态。例如,数据位118可包括“0”,如利用存储在该数据位的那个位置处的低电压所指示的那样,而数据位120可包括“1”,如利用所存储的高电压电平所指示的那样。将数据位的各种值写到阵列116可包括在指定的位置给阵列供能,以写各种数据位值118和120。在忆阻器应用中,存储器组件可基于通过数据位的电流将电阻值编程到每个数据位中,并调整电阻水平,以对应于数据位值。
图2A为实例存储器控制器210的框图,该存储器控制器210包括通过串行器/解串器(SerDes)接口208到多个存储器组件204的接口206。SerDes接口208在控制器210和每个存储器组件204之间的每个方向上被用来在串行和并行格式之间转换数据。在该实施方案中,SerDes接口208为在控制器210和每个存储器组件204之间的一种接口,并且同样地独立于存储器控制器210的接口206、存储元件216和/或存储器阵列。除了配置SERDES接口208的数据宽度之外,每个接口206都可被配置。接口206可在结构和功能性方面类似于如在图1中的接口106。存储器控制器210管理多个存储器组件204的功能和操作。存储器控制器210可在结构和功能性方面类似于如在图1中的存储器控制器110。尽管图2A图解说明了具有多个接口206的存储器控制器210,但是出于说明性目的,这已被完成,因为存储器控制器210可包括如在图1中的单个接口。
存储器控制器210接收配置事务202,该配置事务202指定其中用于读和/或写数据的各种值至存储器组件204的数据宽度(即数据位值的数目)。数据位值的数目可为任意数目的值,并且同样地,在一个实施方案中,数据位值的数目可为非二的次方数(即,奇数值)。例如,这可包括3、5、7等。在另一实施方案中,配置事务202可根据在存储器控制器210之内被生成,以配置每个存储器组件204的数据宽度。
存储器控制器210使用多个SerDes接口208来与每个存储器组件204接口连接。除了配置事务202以外,在存储器控制器210和每个存储器组件204之间的数据交换还可包括读和写事务。在该实施方案中,配置事务202由存储器控制器210接收,以配置每个存储器组件204的数据宽度。因此,存储器组件204之一的数据宽度可被配置为那个所配置的数据宽度,用于写和/或读数据位值。尽管图2A图解说明了存储器控制器210包括至存储器组件204的三个SerDes接口208用于配置、读和写数据值至每个存储器组件204,但是实施方案应不被限制,因为这出于说明性目的已被完成。例如,存储器控制器210可包括至存储器组件204的单个SerDes208接口。
每个存储器组件204都可包括一个或多个存储元件216、诸如忆阻器阵列,其可被编程来存储多个数据位值。例如,数据位值“0”包括存储在存储元件216之一的低电压,数据位值“1”包括存储在存储元件216之一的高电压。在进一步的实例中,每个存储元件216都可利用电阻来编程,以对应于数据位值。在一个实施方案中,如在本文中所使用的每个存储元件216都可包括多个数据位值,而不是单个数据位值。在另一实施方案中,每个存储元件216都可包括单个数据位值,如在前文所引用的实例中那样。
图2B为实例存储器组件204的框图,所述存储器组件204包括多个存储元件216。存储器组件204通过串行器/解串器(SerDes)接口208传送到如在图2A中的控制器210。存储器控制器210接收到配置事务202,并配置作为存储器组件204的部分的在存储元件216之间的数据宽度。以这种方式,存储器组件204被配置为多个数据宽度之一。尽管图2B将存储器组件204图解说明为包括多个存储元件216,但是实施方案应不被限制,因为这出于说明性目的已被完成。例如,存储器组件204可包括单个存储元件216。
SerDes接口208被连接在存储器组件204和存储器控制器210之间。存储器组件204基于由存储器控制器210接收到的配置事务202被配置为特别的数据宽度。一旦将存储器组件204配置为特别的数据宽度,SerDes接口208就可与存储器组件204接口连接,以基于指示是否读和/或写这些数据位值的附加接收到的事务来读和写各种数据位值。配置事务202指示数据宽度的大小,用于在读和写事务中接收和传输数据位值。在一个实施方案中,配置事务202被传输自外部控制器(未图解说明)并且由存储器控制器210接收,而另一实施方案包括根据在存储器控制器210之内生成的配置事务202。
存储器组件204利用与配置事务202相关联的数据宽度来配置。在一个实施方案中,存储器组件204对每个存储元件216配置数据宽度,通过其以读和写数据位值。由存储器控制器210接收配置事务202为存储器组件204提供了将本身在内部配置为各种数据宽度以支持高速通信的灵活性。
图3是用于接收与位的数目相关联的配置事务并且基于来自所接收到的配置事务的位的数目配置存储器组件的数据宽度的实例方法的流程图。基于配置事务来配置存储器组件的数据宽度使系统设计者能够选择存储器配置,以最佳地满足存储器系统要求的需要。在讨论图3时,可参考图1-2B中的组件,以提供上下文实例。进一步地,尽管图3被描述为由如在图1中的存储器组件104实施,但是其可在其他合适的组件上被执行。例如,图3可以在机器可读储存介质(诸如如在图6中的机器可读储存介质604)上的可执行指令的形式被实施。
在操作302,存储器组件接收配置事务。配置事务可通过接口从控制器被递送至存储器组件,用于配置存储器组件的数据宽度。这提供了附加的灵活性,而无需重新设计存储器系统以适应用于通信的各种数据宽度。配置事务与数据位的数目相关联,所述数据位的数目对应于用于配置存储器组件的数据宽度,用于从在存储器组件上的内部储存装置读和写数据位值。基于配置事务调整存储器组件的数据宽度允许公共存储器组件被调谐来恰好提供各种应用所要求的数据位,从而在每个所传输的数据位低的传输延迟和功耗的情况下增加可用带宽。配置事务为通过接口从控制器传输到存储器组件的信号。在一个实施方案中,接收到的配置事务可包括其中用于配置存储器组件的数据宽度。存储器组件可接收附加的事务,所述附加的事务指示是否通过使用如由配置事务所配置的数据宽度读或写数据位值。
在操作304,存储器组件基于在操作302接收到的配置事务来配置用于通信的数据宽度。数据宽度可包括被指定为数据位和/或数据字节的值。在一个实施方案中,数据宽度可被配置为非二的次方的值(例如,非1、2、4、8、16等)。例如,数据宽度可包括奇数值、诸如3、5、7等。在另一实施方案中,在存储器组件内部的寄存器被设置为对应于数据宽度的值,以读和/或写从存储器组件来回传输的数据位的值。附加地,在另一实施方案中,在操作302处的接收到的配置事务可包括地址配置。地址配置指示被提供在读或写操作中的地址应如何被解释为指示被读或写操作针对的存储器位置(或地址)。在进一步实施方案中,配置事务可作为存储器组件的启动序列和/或侧通道选择的部分而被包括。在这个实施方案中,接收到的配置事务可包括初始事务。初始事务命令存储器组件通过设置(一个或多个)寄存器的内部值而将存储器组件自身配置为数据宽度,并且指示该数据宽度,用于接收和传输对应于该数据宽度的数据位的值。在进一步的实施方案中,配置事务可包括配置地址,存储器组件可将该配置地址标识为指定用于设置自身的该数据宽度的配置。在又一实施方案中,存储器组件可通过边带信号被配置。在该实施方案中,附加的端口被包括作为具有较低频率和能力的存储器组件的部分,以传输配置事务直到存储器组件重新开始读和/或写数据位值的正常操作。在进一步实施方案中,存储器组件可被配置为利用附加的配置信息存取给定数据宽度的数据位值。附加的配置信息指示存储器组件对数据位的所存取的值执行校正功能、诸如纠错码。在这些进一步的实施方案中,从存储器组件通过接口传输至控制器的数据位的值可包括比从在存储器组件之内存取的数据位值的数目更少数目的数据位值。除了配置存储器组件之外,接口还可被配置来提供支持接收到的配置事务的数据宽度的能力,通过其,用于经过接口传输对应于该数据宽度的数据位值。在该实施方案中,控制器可建立与接口的通信,以建立多个通道,通过所述通道在每个通道上传输数据和/或周期数目。该实施方案在下一图更详细地被解释。
图4为用于接收与数据位的数目相关联的配置事务并且通过将存储器组件的内部寄存器设置为对应于数据位的数目的值来配置存储器组件的数据宽度的实例方法的流程图。附加地,图4图解说明了接收读或写事务并且跨越由数据宽度配置事务指定的数据宽度处理该事务。基于配置事务对存储器组件设置内部寄存器使多个存储器组件的利用能提升读和/或写数据位的值的更高速度能力。在讨论图4时,可参考图1-2B中的组件,以提供上下文实例。进一步,尽管图4被描述为通过如在图1中的存储器组件104来实施,但是其可在其他合适的组件上被执行。例如,图4可以在机器可读储存介质(诸如如在图6中的机器可读储存介质604)上的可执行指令的形式被实施。
在操作402-404,存储器组件接收与配置数据位的数目相关联的配置事务。数据位的数目对应于数据宽度,其中用于在操作404配置存储器组件,用于通过接口传送数据位的值。例如,配置事务对存储器组件的数据宽度进行配置,用于接收附加的事务。附加的事务可包括读和写操作,如在操作408-416所指示的那样。在操作404处的所配置的数据宽度定义通过读或写事务存取的数据位的宽度或数目。在一个实施方案中,一旦执行操作402-404,该方法就执行操作406,然后执行操作408-412,以读取对应于该数据宽度的数据位的值。在另一实施方案中,一旦执行操作402-404,该方法就执行操作406,然后执行操作414-416,以写对应于该数据宽度的数据位的值。操作402-404可在功能性方面类似于如在图3中的操作302-304。
在操作406,存储器组件通过将内部寄存器设置为对应于该数据宽度的值而配置该数据宽度。存储器组件将信号传输至内部寄存器,以将该值设置为与在操作402接收到的配置事务相关联的数据位的数目。数据宽度对应于用于存储器组件以与其他内部存储器组件进行通信的数据位的数目的值。
在操作408,存储器组件接收指示针对存储器组件的读操作的附加事务。在操作408的读操作使得存储器组件能够如在操作404处那样的在所配置的数据宽度下检索数据位值。在另一实施方案中,该读操作使存储器组件能够在操作410检索数据位值。
在操作410,存储器组件检索对应于所配置的数据宽度的数据位的值。在该操作处,存储器组件可接收如在操作408的读操作,并且在接收到该读操作之后,存储器组件可从在存储器组件内部的存储元件、诸如阵列检索数据位值。该读操作可包括其中用于从在存储器组件内部的存储元件检索数据位值的地址。其中检索数据位值的读操作的数据宽度大小由在操作402接收到的配置事务来配置。
在操作412,存储器组件传输在操作410检索到的数据位的值。在一个实施方案中,对数据位的所检索到的值执行校正功能。这确保检索自特别位置的值没有损坏或错误。该实施方案在下一图中被详细解释。
在操作414-416,存储器组件接收指示写操作的事务。该事务可提供指示存储器组件将数据写到在由所提供的地址指示的存储器组件内部的存储元件的地址和数据。数据位值的写操作在宽度上对应于如在操作404处的存储器组件的所配置的数据宽度。
图5为用于接收配置事务并且基于该配置事务配置存储器组件的数据宽度的实例方法的流程图。该方法进一步配置用于对在存储器组件内部的存储元件进行存取的第二数据宽度,并且收集对应于第二所配置的数据宽度的数据位值。该方法然后可对所收集的值执行纠错码并且传输这些所收集的值。对与该数据宽度相对应的数据位的所收集的值执行误差校正使更少的数据位的值通过接口被传输,因此增加了更高的速度以传输数据位的值。在讨论图5时,可参考图1-2B中的组件,以提供上下文实例。进一步,尽管图4被描述为由如在图1中的存储器组件104实施,但是其可在其他合适的组件上被执行。例如,图5可以在机器可读储存介质(诸如如在图6中的机器可读储存介质604)上的可执行指令的形式被实施。操作502-504可在功能性方面分别类似于如在图3-4中的操作302-304和402-404。
在操作506,存储器组件配置第二数据宽度,用于对在存储器组件内部的存储元件中的至少一个进行存取。在一个实施方案中,在操作504,第二数据宽度被考虑比存储器组件的所配置的数据宽度更宽。该实施方案使得更多的数据位值能眵被收集和被处理,用于在操作508-510执行纠错码。这进一步实现在存储器组件上执行的纠错码并且传输更少的被收集的数据位值,诸如在操作512那样。操作506包括存储器组件配置其中用于从存储器组件上的存储元件检索和/或收集数据位值的内部接口。在操作504的所配置的数据宽度为其中用于收集和/或传输数据位值的宽度。数据位值的收集和/或传输基于指示读和/或写操作的附加事务。在操作502,这些操作在配置事务之后被接收到。第二所配置的数据宽度为其中用于从在存储器组件内部的(一个或多个)存储元件检索和/或收集数据位值的数据宽度。
在操作508,存储器组件从内部存储元件、诸如阵列收集数据位值。该存储器组件收集数据位值是对应于如在操作506的第二所配置的数据宽度的数目。在内部收集的数据位值对应于第二所配置的数据宽度。在一个实施方案中,对应于第二所配置的数据宽度的这些数据位值然后可根据存储器组件的所配置的数据宽度而被传输。从内部储存元件收集的数据位值被考虑为原始数据位,因为这些值直接检索自内部存储元件而无需处理。在一个实施方案中,原始数据位根据如在操作510的纠错码而被处理。
在操作510,存储器组件对在操作508所收集的数据位的值执行纠错码。纠错码为数据位的冗余值组,被考虑为奇偶数据位,用于验证在操作508处的数据位的所收集的值有效。在存储器组件处执行纠错码改进了带宽和延迟,因为控制器请求的数据位的值被传输回,而不是所请求的数据位值和附加的冗余数据位被传输回。在一个实施方案中,控制器接收纠错码和数据位值的值,以执行纠错码,以确保数据位的值没有损坏。在操作510,所收集的数据位值和冗余数据位值可被存储于存储元件、诸如存储阵列中。该存储阵列可包括在存储器组件之内的比从其收集数据位值的内部存储元件增加的存储容量区域,以存储冗余数据位值和数据位值。
在操作512,在操作510提供的数据位的被校正的值通过接口被传输到控制器。在一个实施方案中,数据位的原始值被收集和被传输至控制器,而不执行如在操作510处的纠错码。这使控制器能够执行纠错码。
图6为计算设备600的框图,该计算设备600具有处理器602,以在机器可读储存介质604之内执行指令606-616。更确切地说,具有处理器602的计算设备600是要接收配置事务并且基于配置事务配置对应于数据位的数目的数据宽度。尽管计算设备600包括处理器602和机器可读储存介质604,该计算设备600还可包括会适合于本领域技术人员的其他组件。例如,计算设备600可包括如在图1中的存储器组件104和/或接口106。计算设备600为具有能够执行指令606-616的处理器602的电子设备,并且同样地,计算设备600的实施例包括计算设备、移动设备、客户端设备、个人计算机、桌面计算机、膝上型电脑、平板、视频游戏控制台或能够执行指令606-616的其他类型的电子设备。指令606-616可被实施为方法、功能、操作和其他被实施为机器可读指令的过程,所述机器可读指令被存储在存储介质604上,该存储介质604可为非暂时性的、诸如硬件储存设备(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM、电可擦除ROM、硬盘驱动器和闪存。
处理器602可取出、解码和执行指令606-616,以接收配置事务并因此配置数据宽度。在一个实施方案中,一旦执行指令606-610,那么该处理器就可执行指令612-614。在另一实施方案中,一旦执行指令606-610,那么该处理器602就可执行指令612-616。更确切地说,处理器602执行指令606-610,以:接收指示对应于存储器组件的用于通信的数据宽度的数据位的数目的配置事务;配置存储器组件的数据宽度,用于基于数据位的数目的通信;并且将在存储器组件内部的寄存器设置为对应于数据位的数目的值,用于配置。那么,处理器可执行指令612-616,以:检索对应于与在指令606处的配置事务相关联的多个数据位的值;处理数据位的值用于传输;然后在传输之前对数据位的所检索的值执行纠错码或其他类型的校正码。
机器可读储存介质604包括指令606-616,用于处理器取出、解码和执行。在另一实施方案中,机器可读储存介质604可为电子的、磁的、光的、存储器、储存装置、闪存驱动器或包含或存储可执行指令的其他物理设备。因此,机器可读储存介质604可包括例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、储存驱动器、存储器超高速缓存、网络储存装置、压缩盘只读存储器(CDROM)等。同样地,机器可读储存介质604可包括应用和/或固件,所述应用和/或固件可独立地和/或结合处理器602被用来取出、解码和/或执行机器可读储存介质604的指令。应用和/或固件可被存储在机器可读储存介质604上和/或被存储在计算设备600的另一位置上。
总起来说,在本文中公开的实例通过基于配置事务来配置存储器组件的数据宽度而提供了一种灵活的途径。附加地,在本文中公开的实例通过调整存储器组件的数据宽度而导致更高的效率。
Claims (15)
1.一种可由计算设备执行的方法,用于配置存储器组件的数据宽度,该方法包括:
在能够在多个数据宽度下通信的存储器组件处接收配置事务;并且
基于该配置事务配置该存储器组件的数据宽度。
2.根据权利要求1所述的方法,其中,基于所述配置事务配置所述存储器组件的数据宽度进一步包括:
将在所述存储器组件内部的寄存器设置为与对应于该数据宽度的数据位的数目相关联的值。
3.根据权利要求1所述的方法,进一步包括:
通过所述存储器组件接收第二事务;以及
配置接口,用于在所述存储器组件和控制器之间的通信。
4.根据权利要求3所述的方法,进一步包括;
基于指示读操作的第二事务检索对应于所配置的数据宽度的数据位的值;以及
通过所述接口将数据位的被检索的值传输到所述控制器。
5.根据权利要求1所述的方法,进一步包括:
配置第二数据宽度,用于对在存储器组件内部的存储元件进行存取,其中第二数据宽度为比所配置的数据宽度更宽的数据宽度;以及
从在该存储器组件内部的存储元件收集对应于第二被配置的数据宽度的数据位的值。
6.根据权利要求5所述的方法,进一步包括:
对数据位的所收集的值执行校正功能,以生成数据位的被校正的值;以及
通过接口将数据位的被校正的值传输到控制器。
7.一种存储器组件,其包括:
存储器控制器,以通过接口接收配置事务,其中该配置事务与对应于该存储器组件的数据宽度的数据位的数目相关联,并且其中该存储器组件能够在多个数据宽度下通信;
寄存器,以设置对应于该数据宽度的数据位的数目的内部值;以及
阵列,以提供所述数据位的数目的值,用于跨越该接口来通信。
8.根据权利要求7所述的存储器组件,其中,所述配置事务指示周期的数目和通道的数目,通过所述通道从该存储器组件传输所述数据位的数目的值。
9.根据权利要求7所述的存储器组件,其中,所述接口为串行器和解串器(SerDes)接口,并且该接口的链路宽度对应于该存储器组件的数据宽度。
10.根据权利要求7所述的存储器组件,其中,对应于该存储器组件的数据宽度的数据位的数目为数据位的非二的次方的数目。
11.根据权利要求7所述的存储器组件,其中,所述存储器控制器进一步要:
指示与所述数据宽度的值相关联的地址。
12.一种非暂时性机器可读储存介质,其利用可由计算设备的处理器执行的指令而被编码,该储存介质包括用于以下操作的指令:
由能够在多个数据宽度下通信的存储器组件接收配置事务,其中该配置事务指示对应于该存储器组件的数据宽度的数据位的数目;以及
通过使用与该存储器组件的数据宽度相关联的数据位的数目来配置该存储器组件的用于通信的数据宽度,该数据宽度基于该配置事务。
13.根据权利要求12所述的包括指令的非暂时性机器可读储存介质,进一步包括用于以下操作的指令:
从在存储器组件内部的存储元件的地址检索对应于数据位的数目的值;并且
处理所述值,用于跨越接口传输。
14.根据权利要求12所述的包括指令的非暂时性机器可读储存介质,其中,用于基于所述配置事务将所述存储器组件的数据宽度配置为数据位的数目进一步包括用于以下操作的指令:
将在存储器组件内部的寄存器设置为对应于数据位的数目的值。
15.根据权利要求12所述的包括指令的非暂时性机器可读储存介质,并且进一步包括用于以下操作的指令:
在传输之前利用数据位的数目的值执行纠错码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/048777 WO2014209399A1 (en) | 2013-06-28 | 2013-06-28 | Memory component capable to communicate at multiple data widths |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105283856A true CN105283856A (zh) | 2016-01-27 |
Family
ID=52142520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380076239.0A Pending CN105283856A (zh) | 2013-06-28 | 2013-06-28 | 能够在多个数据宽度下通信的存储器组件 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160103778A1 (zh) |
EP (1) | EP2979188A4 (zh) |
CN (1) | CN105283856A (zh) |
TW (1) | TWI512477B (zh) |
WO (1) | WO2014209399A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697176A (zh) * | 2017-10-20 | 2019-04-30 | 慧荣科技股份有限公司 | 存储装置以及其接口芯片 |
Families Citing this family (6)
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 |
TWI680374B (zh) * | 2017-10-20 | 2019-12-21 | 慧榮科技股份有限公司 | 儲存裝置以及其介面晶片 |
TWI721565B (zh) * | 2017-10-20 | 2021-03-11 | 慧榮科技股份有限公司 | 儲存裝置以及其介面晶片 |
JP7006166B2 (ja) * | 2017-11-17 | 2022-01-24 | 富士通株式会社 | データ転送装置およびデータ転送方法 |
US11650943B2 (en) * | 2018-10-16 | 2023-05-16 | Micron Technology, Inc. | Flexible bus management |
US11449249B2 (en) * | 2018-11-26 | 2022-09-20 | Micron Technology, Inc. | Configuring command/address channel for memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040042284A1 (en) * | 2002-08-30 | 2004-03-04 | Akira Sato | Flash memory for improving write access time |
US20050010710A1 (en) * | 2003-06-21 | 2005-01-13 | Samsung Electronics Co., Ltd. | Portable storage apparatus and method for freely changing data bus width |
CN102083196A (zh) * | 2009-11-26 | 2011-06-01 | 三星电子株式会社 | 带宽同步电路和带宽同步方法 |
US20120198179A1 (en) * | 2011-02-02 | 2012-08-02 | Ware Frederick A | Area-efficient, width-adjustable signaling interface |
US8412906B2 (en) * | 2001-02-28 | 2013-04-02 | Rambus Inc. | Memory apparatus supporting multiple width configurations |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263032A (en) * | 1991-06-27 | 1993-11-16 | Digital Equipment Corporation | Computer system operation with corrected read data function |
US5893927A (en) * | 1996-09-13 | 1999-04-13 | International Business Machines Corporation | Memory device having programmable device width, method of programming, and method of setting device width for memory device |
JP3698125B2 (ja) * | 2002-07-03 | 2005-09-21 | ソニー株式会社 | データ処理システム、データ処理装置及びデータ処理方法 |
US7406579B2 (en) * | 2002-12-17 | 2008-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
KR100518597B1 (ko) * | 2003-10-09 | 2005-10-04 | 삼성전자주식회사 | 입출력 데이터 폭을 선택적으로 변경시키는 저전력 소비형반도체 메모리 장치 및 이에 대한 데이터 입출력 방법 |
US7215591B2 (en) * | 2004-08-03 | 2007-05-08 | Lattice Semiconductor Corporation | Byte enable logic for memory |
US7764614B2 (en) * | 2005-11-15 | 2010-07-27 | Lsi Corporation | Multi-mode management of a serial communication link |
US8359433B2 (en) * | 2010-08-17 | 2013-01-22 | Intel Corporation | Method and system of handling non-aligned memory accesses |
US8898504B2 (en) * | 2011-12-14 | 2014-11-25 | International Business Machines Corporation | Parallel data communications mechanism having reduced power continuously calibrated lines |
-
2013
- 2013-06-28 WO PCT/US2013/048777 patent/WO2014209399A1/en active Application Filing
- 2013-06-28 EP EP13887778.2A patent/EP2979188A4/en not_active Withdrawn
- 2013-06-28 CN CN201380076239.0A patent/CN105283856A/zh active Pending
- 2013-06-28 US US14/786,923 patent/US20160103778A1/en not_active Abandoned
-
2014
- 2014-06-24 TW TW103121738A patent/TWI512477B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412906B2 (en) * | 2001-02-28 | 2013-04-02 | Rambus Inc. | Memory apparatus supporting multiple width configurations |
US20040042284A1 (en) * | 2002-08-30 | 2004-03-04 | Akira Sato | Flash memory for improving write access time |
US20050010710A1 (en) * | 2003-06-21 | 2005-01-13 | Samsung Electronics Co., Ltd. | Portable storage apparatus and method for freely changing data bus width |
CN102083196A (zh) * | 2009-11-26 | 2011-06-01 | 三星电子株式会社 | 带宽同步电路和带宽同步方法 |
US20120198179A1 (en) * | 2011-02-02 | 2012-08-02 | Ware Frederick A | Area-efficient, width-adjustable signaling interface |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697176A (zh) * | 2017-10-20 | 2019-04-30 | 慧荣科技股份有限公司 | 存储装置以及其接口芯片 |
CN109697176B (zh) * | 2017-10-20 | 2022-06-07 | 慧荣科技股份有限公司 | 存储装置以及其接口芯片 |
Also Published As
Publication number | Publication date |
---|---|
TWI512477B (zh) | 2015-12-11 |
TW201512843A (zh) | 2015-04-01 |
EP2979188A4 (en) | 2016-12-07 |
EP2979188A1 (en) | 2016-02-03 |
US20160103778A1 (en) | 2016-04-14 |
WO2014209399A1 (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585602B2 (en) | Smart memory buffers | |
CN105283856A (zh) | 能够在多个数据宽度下通信的存储器组件 | |
US7636813B2 (en) | Systems and methods for providing remote pre-fetch buffers | |
US8930647B1 (en) | Multiple class memory systems | |
JP5142138B2 (ja) | メモリ・システム内の障害メモリ要素を識別する方法及びメモリ・システム | |
US11055251B2 (en) | Storage device performing peer-to-peer communication with external device without intervention of host | |
US7984329B2 (en) | System and method for providing DRAM device-level repair via address remappings external to the device | |
US7895374B2 (en) | Dynamic segment sparing and repair in a memory system | |
US7606988B2 (en) | Systems and methods for providing a dynamic memory bank page policy | |
US7952944B2 (en) | System for providing on-die termination of a control signal bus | |
CN108604456A (zh) | 在存储器插槽中支持多个存储器类型 | |
CN104303166A (zh) | 高性能互连链路层 | |
CN104704563A (zh) | 具有双模式引脚的闪存存储器控制器 | |
US10395750B2 (en) | System and method for post-package repair across DRAM banks and bank groups | |
US20230236934A1 (en) | Instant write scheme with dram submodules | |
US20230007903A1 (en) | Storage device and method of operation thereof | |
US20220261363A1 (en) | Controller for managing multiple types of memory | |
US10831963B1 (en) | Apparatus and method of parallel architecture for NVDIMM | |
US20240071464A1 (en) | Dynamic Address Scramble | |
US20240012709A1 (en) | Dynamically configurable memory error control schemes | |
CN116263643A (zh) | 存储级内存、数据处理方法和处理器系统 | |
CN115129239A (zh) | 具有可扩展元数据的动态随机存取存储器(dram) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170122 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, L.P. |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160127 |
|
WD01 | Invention patent application deemed withdrawn after publication |