CN111198658B - 用于数据迁移的系统、装置、技术及方法 - Google Patents

用于数据迁移的系统、装置、技术及方法 Download PDF

Info

Publication number
CN111198658B
CN111198658B CN201911136571.7A CN201911136571A CN111198658B CN 111198658 B CN111198658 B CN 111198658B CN 201911136571 A CN201911136571 A CN 201911136571A CN 111198658 B CN111198658 B CN 111198658B
Authority
CN
China
Prior art keywords
memory
data
command
controller
commands
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
CN201911136571.7A
Other languages
English (en)
Other versions
CN111198658A (zh
Inventor
R·M·沃克
P·罗森菲尔德
P·A·拉弗拉塔
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111198658A publication Critical patent/CN111198658A/zh
Application granted granted Critical
Publication of CN111198658B publication Critical patent/CN111198658B/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/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/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/0658Controller construction 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

本申请涉及用于数据迁移的系统、装置、技术及方法。存储器系统可包含用于促进第一存储器装置与第二存储器装置之间的数据传送的数据迁移组件,例如驱动器,所述第一存储器装置可实施第一存储器技术(例如,具有相对快速的存取速度),所述第二存储器装置可实施第二存储器技术(例如,具有相对较大容量)。所述组件可向所述存储器系统的第二组件(例如,控制器)指示所述数据迁移操作。所述第二组件可基于接收到所述数据迁移操作的指示起始所述第一存储器装置与所述第二存储器装置之间的数据传送。在一些情况下,所述第一存储器装置与所述第二存储器装置之间的数据传送可在不通过主机装置进行传送的情况下在所述存储器系统内发生。

Description

用于数据迁移的系统、装置、技术及方法
交叉参考
本申请案要求2018年11月19日由Walker等人提交的标题为“用于数据迁移的系统、装置、技术及方法(SYSTEMS,DEVICES,TECHNIQUES,AND METHODS FOR DATAMIGRATION)”的第16/195,018号美国专利申请案的优先权,所述美国专利申请案让渡给本受让人且明确地以全文引用的方式并入本文中。
技术领域
技术领域涉及数据迁移。
背景技术
以下内容大体上涉及操作存储器装置,且更确切地说,涉及数据迁移动态随机存取存储器。
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过编程存储器装置的不同状态来存储信息。举例来说,二进制装置最常存储通常由逻辑1或逻辑0表示的两个状态中的一个。在其它装置中,可存储多于两个状态。为了存取所存储信息,电子装置的组件可以读取或感测存储器装置中的至少一个所存储状态。为了存储信息,电子装置的组件可以在存储器装置中写入状态或对状态进行编程。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)等。存储器装置可为易失性或非易失性的。易失性存储器装置(例如,DRAM)除非被外部电源定期刷新,否则可能随时间推移而丢失其存储的状态。即使在没有外部电源的情况下,例如FeRAM的非易失性存储器也可以长时间保持其所存储逻辑状态。
一般来说,改进存储器装置可包含增加存储器单元密度、增加读取/写入速度、增加可靠性、增加数据保持、降低功率消耗或降低制造成本以及其它度量。一些存储器单元可经配置以存储多个状态。还可能需要改进存储器装置的带宽(例如,在给定持续时间所存取的数据量)。
发明内容
描述一种方法。所述方法可包含:接收存储于存储器系统的第一存储器装置中的数据待传送到第二存储器装置作为数据迁移操作的部分的第一指示;基于所述数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求;将含有用于待迁移的数据的所述部分的所述请求的第一命令发射到所述存储器系统;及从所述存储器系统接收所述第一命令的完成的第二指示。
描述一种方法。所述方法可包含:通过存储器系统发射指示数据传送的一或多个命令;在从发射所述一或多个命令以来的持续时间之后,确定至少一个命令未完成;及基于确定所述至少一个命令未完成而发射存取命令以使得所述至少一个命令在存取周期期间与所述存取命令的执行同时完成。
描述一种设备。所述设备可包含:第一接口,其经配置以接收存储于存储器系统中的数据待传送作为数据迁移操作的部分的指示;控制器,其与所述第一接口耦合且经配置以基于所述数据迁移操作产生第一数量的命令,所述命令各自含有用于待迁移的数据的一部分请求;及第二接口,其与经配置以将所述第一数量的命令载送到所述存储器系统的第二数量的信道耦合。
描述一种设备。所述设备可包含第一接口、与存储器系统耦合的第二接口、耦合到所述第一接口及所述第二接口的控制器,所述控制器可用于经由所述第一接口接收存储于所述存储器系统的第一存储器装置中的数据待传送作为数据迁移操作的部分的指示,基于所述数据迁移操作产生一或多个命令,所述一或多个命令各自含有用于所述数据的一部分的请求,经由所述第二接口将含有所述请求的至少一个命令传输到所述存储器系统,基于从发射所述至少一个命令以来的持续时间确定所述至少一个命令未完成,及基于确定所述至少一个命令未完成而将虚拟存取命令发射到所述存储器系统,所述存储器系统经配置以使得所述至少一个命令在存取周期期间与所述虚拟存取命令的执行同时完成。
附图说明
图1说明如本文中所公开的支持数据迁移的系统的实例。
图2说明如本文中所公开的支持数据迁移的存储器裸片的实例。
图3和4说明如本文中所公开的支持数据迁移的系统的实例。
图5和6说明如本文中所公开的支持数据迁移的时序图的实例。
图7A、7B和8说明如本文中所公开的支持数据迁移的状态寄存器的实例。
图9展示如本文中所公开的支持数据迁移的设备的框图。
图10和11展示说明如本文中所公开的支持数据迁移的一或多个方法的流程图。
具体实施方式
一些存储器装置可包含与主机装置耦合的接口,且所述接口可经配置以在存储器装置与主机装置(或主机装置的存储器控制器)之间传达命令及数据。接口可为双数据速率(DDR)接口,且可符合行业标准或规范,例如低功率DDR(LPDDR)规范、另一DRAM规范(例如,DDR4、DDR5,等),或针对于图形或高带宽存储器的不同存储器规范;或其可符合例如永久性存储器或存储级存储器规范。此类存储器系统与主机装置之间的信令的性能可基于存储器系统的状态而变化。举例来说,存储器系统的性能可基于存储器系统是否包含主机装置请求的数据(例如,在读取操作期间)或存储器系统是否并不包含主机装置想要节省的用以存储数据的足够量的空间(例如,在写入操作期间)作为存取操作的部分。如果存储器系统的存储器装置并不包含数据或并不包含足够量的空间来支持存取操作,那么作为数据迁移操作的部分,主机装置(或经由存储器装置的主机装置)可将存储器装置上的一些数据传送到与主机装置相关联的存储装置(例如,固态驱动器(SSD))。在一些情况下,主机装置可使用文件系统传送数据。在使用文件系统时,数据可经由存储器系统(例如,存储器装置、存储装置)与主机装置之间的信道进行传送。经由这些信道传送数据可使得存储器装置的性能(例如,带宽或延时)在这些数据迁移操作期间降低。
在一些情况下,存储器装置可为包含至少两种类型的存储器装置的存储器系统的部分。所述存储器系统可包含具有相对较快存取速度的第一存储器装置及具有相对较大容量的第二存储器装置(例如,存储装置)。在一些情况下,第一存储器装置可包含实施易失性存储器技术的存储器单元,且第二存储器装置可包含实施非易失性存储器技术的存储器单元。在一些情况下,第一存储器装置可包含DRAM单元,且第二存储器装置可包含3维(3D)Not-AND(NAND)或3D XPointTM存储器单元。第一存储器装置(例如,DRAM)可在第一存储器装置(例如,DRAM)与第二存储器装置(例如,3D NAND或3D XPointTM存储器装置)之间提供快速数据交换路径,可促进可用于主机装置的存储容量的增大。
当与可支持文件系统的存储装置相比时,双层存储器系统可以提供改进的性能(例如,带宽),因为作为数据迁移操作的部分传送的数据一般可不经由链接主机装置与存储器系统的信道传达。通过将第二存储器装置并入到存储器系统中(而非与主机装置相关联),可减少在数据迁移操作期间经由主机装置与存储器系统之间的信道发射的数据量。因此,可以改进与存储器系统相关联的带宽和其它性能参数。
本文中描述用于使用双层存储器系统执行数据迁移操作的技术。存储器系统可包含用于促进实施第一存储器技术的第一存储器装置(例如,DRAM)与实施第二存储器技术的第二存储器装置(例如,NAND或3D XPointTM)之间的数据传送的数据迁移驱动器。驱动器可向存储器系统的控制器指示数据迁移操作。控制器可基于从驱动器接收到数据迁移操作指示而起始第一存储器装置与第二存储器装置之间的数据传送。在一些情况下,可在第一存储器装置的存储体集群处机会性地执行数据迁移操作。在这种情况下,控制器可能直到已经存取特定存储体集群作为存取操作的部分(例如,在与数据迁移操作不同的存取操作中)才执行数据迁移命令。驱动器可指示针对于特定存储体集群的虚拟存取命令(例如,针对可能并非用于存储器系统的操作的存取操作)以便在特定时间内促进数据迁移操作的执行。
驱动器可将数据迁移请求分裂成一或多个子命令、请求或子请求,且将那些子命令、请求或子请求发射到与正确存储器存储体的第一及第二存储器装置相关联的正确控制器以便促进信道交错。信道交错可增加存取操作的速度。举例来说,存取操作可经配置以并行地使用多个存储器存储体,从而通过减少等待给定存储器组上的其它存取操作完成所花费的时间得到较高存储器吞吐量。驱动器可确定交错的大小(例如,与一或多个子命令、请求或子请求相关联的数据的每一部分的大小)且相应地发射一或多个子命令、请求或子请求中的每一个。在一些情况下,驱动器可根据数据到第一存储器装置的映射(例如,与数据相关联的地址到第一存储器装置处的位置的映射)来确定交错图案。在一些情况下,驱动器可在执行数据迁移操作之前(例如,在初始化程序期间,在配置期间)为控制器(例如,存储器系统的控制器)指示映射。
在一些情况下,在已用以执行由主机装置请求的存取操作的存取周期期间,机会性数据迁移操作可发生。存储器系统可以包含额外接口以支持数据迁移操作,在所述数据迁移操作期间,数据的子集(例如,页面)可以在已用以存取由主机装置请求的数据的存取周期期间迁移。在这些实例中,数据迁移操作可与主机装置致使存取存储器装置(作为存取操作的部分)同时发生。在一些情况下,存储器系统可在存储器装置可执行针对主机装置的存取操作以作为前台操作的部分的同时执行数据迁移操作以作为后台操作的部分。
存储器装置的额外接口可与关联于存储器装置且在一些情况下关联于存储器系统的其它存储器装置的控制器耦合,所述控制器装置可经配置以结合所述存储器装置(和在一些实例中,主机装置)而控制数据迁移操作的各种方面。所述额外接口可经配置以与控制器通信,例如交换数据、接收命令或发射状态更新。另外,存储器装置可包含一或多个用以支持数据迁移操作的缓冲器。举例来说,作为数据迁移操作的部分,一或多个缓冲器可经配置以存储从存储器装置读取或待写入到存储器装置的数据(例如,数据页)。在一些情况下,一或多个缓冲器可以被称为数据传送缓冲器。
为了促进机会性数据迁移操作,存储器装置可包含可与缓冲器(例如数据传送缓冲器)耦合的存储体集群。存储体集群可以包含存储器单元的两个或更多个存储体。主机装置可经配置以作为存取操作的部分使用符合DDR规范(例如LPDDR)规范或其它规范的接口对存储体集群中的存储体进行寻址。主机装置可经配置以作为存取操作的部分例如根据DDR规范对存储体集群中的单个存储体进行寻址。当主机装置通过使用DDR接口发射一或多个命令及/或数据而致使存取存储体集群中的存储体(例如前台操作)时,在一些情况下,作为数据迁移操作的部分,与存储器装置结合的控制器可在缓冲器与存储体集群中的替代存储体之间传送数据(例如读出数据、写入数据)(例如后台操作)。
以这种方式,存储器装置可经配置以执行由主机装置发布的命令且同时执行数据迁移命令。在一些情况下,存储器装置可以减轻由数据迁移操作引起的性能(例如,带宽和/或延时)的降低。存储器装置可经配置以在执行由主机装置请求的前台操作(例如存取操作)的同时执行作为后台操作的部分的数据迁移操作。换句话说,主机装置可继续使用接口(例如,DDR4接口)操作存储器装置,而与存储器系统相关联的控制器可使用额外接口(其可隐瞒主机装置)来执行数据迁移操作且支持提高存储器装置与主机装置之间的总带宽。
首先在图1中的存储器系统的上下文中描述本公开的方面。随后,在图2中的存储器裸片(例如存储器装置)的上下文中描述本公开的特征。在图3至8中的支持数据迁移的各种系统及状态寄存器的上下文中进一步描述本公开的特征。进一步通过涉及数据迁移的包含设备图及流程图的图9到11来说明并参考图9到11来描述本公开的这些和其它特征。
图1说明根据本文中所公开的方面的利用一或多个存储器装置的系统100的实例。系统100可包含外部存储器控制器105、存储器装置110和耦合外部存储器控制器105与存储器装置110的多个信道115。系统100可包含一或多个存储器装置,但为易于描述,一或多个存储器装置可被描述为单个存储器装置110。
系统100可包含电子装置的各方面,例如计算装置、移动计算装置、无线装置或图形处理装置。系统100可以是便携式电子装置的实例。系统100可为计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、因特网连接装置等等的实例。存储器装置110可为经配置以存储用于系统100的一或多个其它组件的数据的组件。在一些实例中,系统100经配置以用于使用基站或存取点与其它系统或装置进行双向无线通信。在一些实例中,系统100能够进行机器类型通信(machine-type communication,MTC)、机器对机器(machine-to-machine,M2M)通信或装置对装置(device-to-device,D2D)通信。
系统100的至少一些部分可为主机装置的实例。这类主机装置可为使用存储器来执行过程的装置的实例,所述装置例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、因特网连接装置、一些其它固定或便携式电子装置等等。在一些情况下,主机装置可以指代实施外部存储器控制器105的功能的硬件、固件、软件或其组合。在一些情况下,外部存储器控制器105可称为主机装置、主机或主机装置的存储器控制器。
在一些情况下,存储器装置110可以是独立的装置或组件,其经配置以与系统100的其它组件进行通信,并提供系统100可能使用或引用的物理存储器地址/空间。在一些实例中,存储器装置110可为可配置的以对至少一种或多种不同类型的系统100起作用。系统100的组件与存储器装置110之间的信令可为可操作的以支持用以调制信号的调制方案、用于传达信号的不同引脚设计、系统100和存储器装置110的不同封装、系统100与存储器装置110之间的时钟信令和同步、时序惯例及/或其它因素。
存储器装置110可经配置以存储用于系统100的组件的数据。在一些情况下,存储器装置110可充当系统100的从属类装置(例如,对系统100通过外部存储器控制器105提供的命令作出响应和执行所述命令)。此类命令可包含用于存取操作的存取命令,例如用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令。存储器装置110可包含两个或更多个支持用于数据存储的所需或指定容量的存储器裸片160(例如存储器芯片)。包含两个或更多个存储器裸片的存储器装置110可被称作多裸片存储器或封装(也被称作多芯片存储器或封装)。
在一些情况下,存储器装置110可支持多层存储器系统(例如,双层存储器系统)或如本文中所描述的存储器系统。举例来说,多层存储器系统可包含:第一存储器裸片160-a,其可实施配置有至少两个接口(例如,如本文中所描述的接口和数据端口接口)的第一类型的存储器技术(例如,DRAM或FeRAM);以及第二存储器裸片160-b,其可实施与第一类型不同的第二类型的存储器技术(例如,NAND或NAND或3D XPointTM)。第一存储器裸片160-a的接口可经配置以与支持工业标准规范(例如,LPDDR规范)的主机装置(例如,外部存储器控制器105)耦合。另外,第一存储器管芯160-a的数据端口接口可经配置以与控制器(例如,装置存储器控制器155)耦合。
主机装置可包含用于促进存储器装置110内的数据传送的数据迁移驱动器。举例来说,数据传送可在第一存储器裸片160-a(例如,DRAM)与实施第二存储器技术的第二存储器裸片160-b(例如,NAND或3D XPointTM)之间进行。驱动器可向存储器系统的控制器(例如,装置存储器控制器155、本地存储器控制器165)指示数据迁移操作。控制器可基于从驱动器接收到数据迁移操作指示而起始第一存储器裸片与第二存储器裸片之间的数据传送。控制器可经配置以结合第一存储器裸片160-a控制作为后台操作的部分的数据迁移操作的各种方面。此外,第二存储器裸片160-b可包含3D XPointTM存储器单元且经配置以与装置存储器控制器155耦合。第二存储器裸片160-b可提供非易失性存储器容量,所述容量可提供可用于第一存储器裸片160-a(例如DRAM)以交换数据(例如存储数据页、检索数据页)的相对快速的存储器空间以支持改进的带宽。
驱动器可将数据迁移请求分裂成一或多个子命令、请求或子请求,且将那些子命令、请求或子请求发射到与正确存储器存储体的第一及第二存储器装置相关联的正确控制器以便促进信道交错。信道交错可增加存取操作的速度。举例来说,存取操作可经配置以并行地使用多个存储器存储体,从而通过减少等待给定存储器组上的其它存取操作完成所花费的时间得到较高存储器吞吐量。驱动器可确定交错的大小(例如,与一或多个子命令、请求或子请求相关联的数据的每一部分的大小)且相应地发射一或多个子命令、请求或子请求中的每一个。在一些情况下,驱动器可根据到第一存储器裸片的映射(例如,与数据相关联的地址到存储器阵列170内的位置的映射)来确定交错图案。在一些情况下,驱动器可在执行数据迁移操作之前(例如,在初始化程序期间,在配置期间)为控制器(例如,装置存储器控制器155或本地存储器控制器165)指示映射。
系统100可进一步包含处理器120、基本I/O系统(basic I/O system,BIOS)组件125、一或多个外围组件130和I/O控制器135。系统100的组件可使用总线140彼此电子通信。
处理器120可经配置以控制系统100的至少部分。处理器120可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其可以是这些类型的组件的组合。在此类情况下,处理器120可以是中央处理单元(CPU)、图形处理单元(GPU)或片上系统(SoC)的实例,以及其它实例。
BIOS组件125可以是包含操作为固件的BIOS的软件组件,其可初始化且运行系统100的各种硬件组件。BIOS组件125还可管理处理器120与系统100的各种组件(例如外围组件130、I/O控制器135)之间的数据流动。BIOS组件125可包含存储在只读存储器(ROM)、快闪存储器或任何其它非易失性存储器中的程序或软件。
外围组件130可为任何输入装置或输出装置,或用于这类装置的接口,其可集成到系统100中或与系统100集成在一起。实例可以包含磁盘控制器、声音控制器、图形控制器、以太网控制器、调制解调器、通用串行总线(USB)控制器、串行或并行端口,或外围卡插槽,例如外围组件互连(peripheral component interconnect,PCI)或加速图形端口(accelerated graphics port,AGP)插槽。外围组件130可为所属领域的技术人员理解为外围装置的其它组件。
I/O控制器135可管理处理器120与外围组件130、输入装置145或输出装置150之间的数据通信。I/O控制器135可以管理未集成到系统100中或未与系统100集成的外围装置。在一些情况下,I/O控制器135可表示与外部外围组件的物理连接或端口。
输入145可表示系统100外部的装置或信号,其将信息、信号或数据提供到系统100或其组件。此可包含用户接口或与其它装置的接口或在其它装置之间的接口。在一些情况下,输入145可为经由一或多个外围组件130与系统100介接的外围装置,或可由I/O控制器135管理。
输出150可以表示在系统100外部的装置或信号,其经配置以从系统100或其任何组件接收输出。输出150的实例可包含显示器、音频扬声器、打印装置或印刷电路板上的另一处理器等。在一些情况下,输出150可以是经由一或多个外围组件130与系统100介接的外围装置,或可以由I/O控制器135管理。
系统100的组件可由经设计以执行其功能的通用或专用电路构成。这可包含经配置以执行本文中所描述的功能的各种电路元件,例如,导线、晶体管、电容器、电感器、电阻器、放大器或其它有源或无源元件。
存储器装置110可包含装置存储器控制器155和一或多个存储器裸片160。每一存储器裸片160可以包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b和/或本地存储器控制器165-N)和存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b和/或存储器阵列170-N)。存储器阵列170可为存储器单元的集合(例如,网格),其中每一存储器单元经配置以存储至少一位数字数据。参考图2更详细地描述存储器阵列170和/或存储器单元的特征。
在一些情况下,一或多个存储器裸片160可经配置以包含缓冲器(例如,如本文中所描述的数据传送缓冲器)。在一些情况下,缓冲器可经配置为一组较小尺寸的缓冲器,且所述组中的较小尺寸的缓冲器可分布在存储器阵列(例如存储器阵列170-a)内。这类分布式缓冲器配置可有助于将所述组中的每一较小尺寸的缓冲器定位在存储器阵列的可与所述一组较小尺寸的缓冲器相关联的部分(例如存储器阵列170-a的存储体集群)附近。在其它情况下,缓冲器可经配置成存储器阵列(例如,存储器阵列170-a)共同的,且可位于存储器裸片(例如,存储器裸片160-a)内。
在一些情况下,存储器阵列170可经配置以包含可以与缓冲器(例如,如本文中所描述的数据传送缓冲器)耦合的一或多个存储体集群。每一存储体集群可经配置以包含两个或更多个存储体。在一些情况下,主机装置(例如外部存储器控制器105)可在存取操作(例如读取操作、写入操作)的存取周期期间存取存储体集群中的第一存储体。另外,存储体集群中的第二存储体可经配置以在存取周期期间在第一存储体由主机装置存取(例如,前台操作)的同时作为数据迁移操作(例如,后台操作)的部分与缓冲器传送数据。在一些情况下,主机装置(例如外部存储器控制器105)可经配置以在存取周期期间作为存取操作的部分存取存储体集群中的单个存储体。
在一些情况下,可机会性地执行数据迁移操作。也就是说,控制器可能直到已响应于来自主机装置(例如,外部存储器控制器105)的存取指令而存取第一存储器阵列(例如,存储器阵列170-a)的存储体集群才执行数据迁移命令。在一些情况下,存取指令可不同于数据迁移操作,或为由主机装置起始的前台操作的部分。在一些其它情况下,驱动器(例如,外部存储器控制器105所包含)可指示针对于特定存储体集群的虚拟存取命令以便在特定时间内促进数据迁移操作的执行。虚拟存取命令可用于与存储器系统的前台操作不相关联的存取操作。
在一些情况下,一或多个存储器裸片160可经配置以包含接口(例如,如本文中所描述的页面端口接口),所述接口经配置以作为数据迁移操作的部分与控制器(例如,装置存储器控制器155)通信。在一些情况下,存储器裸片(例如存储器裸片160-a)的缓冲器可以与接口耦合且经配置以作为数据迁移操作的部分存储数据。在一些情况下,接口可以包含:数据信道,其经配置以在缓冲器与控制器之间发射和接收数据;命令信道,其经配置以从控制器接收存取命令;响应信道,其经配置以将响应发射到控制器;或数据总线,或其任何组合。
在一些情况下,一或多个存储器裸片160可经配置以包含可与存储体集群(例如存储器裸片160-a的存储器阵列170-a的存储体集群)耦合的第二接口(例如,如本文中所描述的DDR接口)。第二接口可经配置以作为数据迁移操作的部分或在存取操作期间与主机装置(例如,外部存储器控制器105)传达命令或数据。在一些情况下,一或多个存储器裸片160(例如,一或多个存储器裸片160的本地存储器控制器165)可以使用第二接口从主机装置(例如,外部存储器控制器105)接收数据迁移命令。在一些情况下,一或多个存储器裸片160(例如一或多个存储器裸片160的本地存储器控制器165)可以使用第二接口支持来自主机装置的存取命令。
存储器装置110可为二维(2D)存储器单元阵列的实例或可为三维(3D)存储器单元阵列的实例。举例来说,2D存储器装置可包含单个存储器裸片160。3D存储器装置可包含两个或更多个存储器裸片160(例如,存储器裸片160-a、存储器裸片160-b和/或任何数量的存储器裸片160-N)。在3D存储器装置中,多个存储器裸片160-N可堆叠在彼此之上。在一些情况下,3D存储器装置中的存储器裸片160-N可称为叠组、层级、层或裸片。3D存储器装置可包含任何数量的堆叠存储器裸片160-N(例如,二连、三连、四连、五连、六连、七连、八连)。与单个2D存储器装置相比,这可以增加可以定位在衬底上的存储器单元的数量,这继而可以降低生产成本或提高存储器阵列的性能,或这两者。
装置存储器控制器155可包含经配置以控制存储器装置110的操作的电路或组件。因而,装置存储器控制器155可包含使存储器装置110能够执行命令且可经配置以接收、发射或执行命令、数据或与存储器装置110有关的控制信息的硬件、固件和软件。装置存储器控制器155可经配置以与外部存储器控制器105、一或多个存储器裸片160或处理器120通信。
在一些实例中,装置存储器控制器155可经配置以结合一或多个存储器裸片160控制数据迁移操作的各种方面。在一些情况下,装置存储器控制器155可被称为页面控制器。在一些情况下,装置存储器控制器155可接收在存储体集群中的第一存储体(例如存储器阵列170-a中的存储体集群中的第一存储体)与不同存储体(例如存储器阵列170-b中的存储体集群中的存储体)之间传送数据的命令。装置存储器控制器155可确定主机装置(例如外部存储器控制器105)在存取周期期间对存储体集群中的第二存储体(例如存储器阵列170-a中的存储体集群中的第二存储体)进行寻址。另外,装置存储器控制器155(或装置存储器控制器155结合与存储器阵列170-a耦合的本地存储器控制器165-a)可基于命令在主机装置(例如外部存储器控制器105)对存储体群集中的第二存储体(例如存储器阵列170-a中的存储体群集中的第二存储体)进行寻址的存取周期期间在存储体群集中的第一存储体(例如存储器阵列170-a中的存储体群集中的第一存储体)与缓冲器(例如存储器裸片160-a中的缓冲器之间传送数据,其中所述缓冲器可经配置以作为数据迁移操作的部分存储与第一存储体相关联的数据。
存储器控制器可进一步向主机装置(例如,外部存储器控制器105)指示数据迁移操作的状态。所述状态可向主机装置指示数据迁移命令是否可被停止(例如,由于与数据迁移操作相关联的存储体群集未响应于来自主机装置的存取命令而被存取)或完成。在一些情况下,存储器控制器可指示状态更新寄存器内的对应数据传送缓冲器的状态(例如,存储器裸片160-a的数据传送缓冲区是否含有有效数据)。
在一些情况下,存储器装置110可从外部存储器控制器105接收数据及/或命令。举例来说,存储器装置110可以接收指示存储器装置110将代表系统100的组件(例如,处理器120)存储某些数据的写入命令,或接收指示存储器装置110将把存储于存储器裸片160中的某些数据提供到系统100的组件(例如,处理器120)的读取命令。在一些情况下,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165控制本文中所描述的存储器装置110的操作。包含在装置存储器控制器155及/或本地存储器控制器165中的组件的实例可包含用于解调从外部存储器控制器105接收的信号的接收器、用于调制信号和将信号发射到外部存储器控制器105的解码器、逻辑、解码器、放大器、滤波器等等。
本地存储器控制器165(例如,在存储器裸片160的本地)可经配置以控制存储器裸片160的操作。而且,本地存储器控制器165可经配置以与装置存储器控制器155通信(例如,接收和发射数据和/或命令)。本地存储器控制器165可以支持装置存储器控制器155以控制本文中所描述的存储器装置110的操作。在一些情况下,存储器装置110不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器105可执行本文中所描述的各种功能。因而,本地存储器控制器165可经配置以与装置存储器控制器155通信,与其它本地存储器控制器165通信,或直接与外部存储器控制器105或处理器120通信。
外部存储器控制器105可经配置以实现系统100的组件(例如,处理器120)与存储器装置110之间的信息、数据和/或命令的通信。外部存储器控制器105可以充当系统100的组件与存储器装置110之间的联络,使得系统100的组件可能不需要知道存储器装置的操作细节。系统100的组件可以向外部存储器控制器105呈现外部存储器控制器105满足的请求(例如,读取命令或写入命令)。外部存储器控制器105可以转换或转化在系统100的组件与存储器装置110之间交换的通信。在一些情况下,外部存储器控制器105可以包含产生公共(源)系统时钟信号的系统时钟。在一些情况下,外部存储器控制器105可以包含产生公共(源)数据时钟信号的公共数据时钟。
在一些状况下,外部存储器控制器105或系统100的其它组件或本文中所描述的其功能可由处理器120实施。举例来说,外部存储器控制器105可以是由处理器120或系统100的其它组件实施的硬件、固件或软件或其某一组合。虽然外部存储器控制器105经描绘为在存储器装置110外部,但在一些情况下,外部存储器控制器105或如本文中所描述的其功能可由存储器装置110实施。举例来说,外部存储器控制器105可以是由装置存储器控制器155或一或多个本地存储器控制器165实施的硬件、固件或软件或其某一组合。在一些情况下,外部存储器控制器105可以跨越处理器120和存储器装置110分布,使得外部存储器控制器105的部分由处理器120实施,且其它部分由装置存储器控制器155或本地存储器控制器165实施。同样,在一些情况下,本文中归属于装置存储器控制器155或本地存储器控制器165的一或多个功能可以在一些情况下由外部存储器控制器105(与处理器120分离或包含于处理器120中)执行。
系统100的组件可使用多个信道115与存储器装置110交换信息。在一些实例中,信道115可使得能够在外部存储器控制器105与存储器装置110之间进行通信。每一信道115可包含在与系统100的组件相关联的端子之间的一或多个信号路径或发射媒体(例如,导体)。举例来说,信道115可包含第一端子,其包含外部存储器控制器105处的一或多个引脚或衬垫及存储器装置110处的一或多个引脚或衬垫。引脚可以是系统100的装置的导电输入或输出点的实例,且引脚可经配置以充当信道的部分。在一些情况下,端子的引脚或衬垫可为信道115的信号路径的部分。
额外信号路径可与信道的端子耦合以在系统100的组件内路由信号。举例来说,存储器装置110可以包含将信号从信道115的端子路由到存储器装置110的各种组件(例如,装置存储器控制器155、存储器裸片160、本地存储器控制器165、存储器阵列170)的信号路径(例如,在存储器装置110或其组件内部的信号路径,例如在存储器裸片160内部的信号路径)。
信道115(和相关联的信号路径和端子)可专用于传达特定类型的信息。在一些情况下,信道115可为聚合信道(aggregated channel),且因此可包含多个个别信道。举例来说,数据(DQ)信道190可为x4(例如,包含四个信号路径)、x8(例如,包含八个信号路径)、x16(包含十六个信号路径)等。
在一些情况下,信道115可包含一或多个命令和地址(CA)信道186。CA信道186可经配置以在外部存储器控制器105与存储器装置110之间传达命令,包含与命令相关联的控制信息(例如,地址信息)。举例来说,CA信道186可以包含具有所需数据的地址的读取命令。在一些状况下,CA信道186可寄存在上升时钟信号沿和/或下降时钟信号沿上。在一些情况下,CA通道186可包含八个或九个信号路径。
在一些情况下,信道115可包含一或多个时钟信号(CK)信道188。CK信道188可经配置以在外部存储器控制器105与存储器装置110之间传达一或多个共同时钟信号。每一时钟信号可经配置以在高状态与低状态之间振荡且协调外部存储器控制器105与存储器装置110的动作。在一些情况下,时钟信号可为差分输出(例如,CK_t信号和CK_c信号),并且CK信道188的信号路径可相应地予以配置。在一些情况下,时钟信号可以是单端的。
在一些情况下,时钟信号可以是1.5GHz信号。CK信道188可包含任何数量的信号路径。在一些情况下,时钟信号CK(例如,CK_t信号和CK_c信号)可提供用于存储器装置110的命令和寻址操作或用于存储器装置110的其它全系统操作的定时参考。时钟信号CK可因此不同地称为控制时钟信号CK、命令时钟信号CK或系统时钟信号CK。系统时钟信号CK可由系统时钟产生,所述系统时钟可包含一或多个硬件组件(例如,振荡器、晶体、逻辑门、晶体管等等)。
在一些情况下,信道115可包含一或多个数据(DQ)信道190。数据信道190可经配置以在外部存储器控制器105与存储器装置110之间传达数据及/或控制信息。举例来说,数据信道190可以传达(例如,双向)待写入到存储器装置110的信息或从存储器装置110读取的信息。数据信道190可传达使用多种不同调制方案(例如,NRZ、PAM4)来调制的信号。
在一些情况下,信道115可包含可专用于其它目的的一或多个其它信道192。这些其它信道192可包含任何数量的信号路径。
在一些情况下,其它信道192可包含一或多个写入时钟信号(WCK)信道。虽然WCK中的‘W’在名义上可代表“写入”,但写入时钟信号WCK(例如,WCK_t信号和WCK_c信号)可提供通常用于存储器装置110的存取操作的定时参考(例如,用于读取和写入操作两者的定时参考。因此,写入时钟信号WCK也可被称作数据时钟信号WCK。WCK信道可经配置以在外部存储器控制器105与存储器装置110之间传达公共数据时钟信号。数据时钟信号可经配置以协调外部存储器控制器105及存储器装置110的存取操作(例如,写入操作或读取操作)。在一些情况下,写入时钟信号可为差分输出(例如,WCK_t信号和WCK_c信号),并且WCK信道的信号路径可相应地予以配置。WCK信道可包含任何数量的信号路径。数据时钟信号WCK可由数据时钟产生,所述数据时钟可包含一或多个硬件组件(例如,振荡器、晶体、逻辑门、晶体管或类似物)。
在一些情况下,其它信道192可以可选地包含一或多个错误检测码(errordetection code,EDC)信道。EDC信道可经配置以传达错误检测信号,例如校验和,以提高系统可靠性。EDC信道可包含任何数量的信号路径。
信道115可以使用各种不同架构将外部存储器控制器105与存储器装置110耦合。各种架构的实例可包含总线、点对点连接、纵横开关、例如硅内插件的高密度内插件,或形成于有机衬底中的信道,或其某一组合。举例来说,在一些情况下,信号路径可以至少部分地包含高密度内插件,例如硅内插件或玻璃内插件。
经由信道115传达的信号可使用多种不同调制方案进行调制。在一些情况下,可以使用二进制符号(或二进制级)调制方案来调制在外部存储器控制器105与存储器装置110之间传达的信号。二进制符号调制方案可为M进制调制方案的实例,其中M等于二。二进制符号调制方案的每一符号可经配置以表示一位数字数据(例如,符号可表示逻辑1或逻辑0)。二进制符号调制方案的实例包含但不限于非归零(NRZ)、单极编码、双极编码、曼彻斯特编码、具有两个符号(例如,PAM2)的脉冲幅度调制(PAM),等。
在一些情况下,多符号(或多层级)调制方案可用于调制在外部存储器控制器105与存储器装置110之间传达的信号。多符号调制方案可以是M进制调制方案的实例,其中M大于或等于三。多符号调制方案的每一符号可经配置以表示多于一位数字数据(例如符号可表示逻辑00、逻辑01、逻辑10或逻辑11)。多符号调制方案的实例包含但不限于PAM4、PAM8等、正交幅度调制(QAM)、正交相移键控(QPSK)等。多符号信号或PAM4信号可以是使用包含用以对多于一个位的信息进行编码的至少三个层级的调制方案来调制的信号。多符号调制方案及符号可替代地称为非二进制、多位或高阶调制方案及符号。
图2说明根据本公开的各种实例的存储器裸片200的实例。存储器裸片200可为参考图1所描述的存储器裸片160的实例。在一些情况下,存储器裸片200可以被称为存储器芯片、存储器装置或电子存储器设备。存储器裸片200可以包含一或多个可编程以存储不同逻辑状态的存储器单元205。每一存储器单元205可为可编程的以存储两个或更多个状态。举例来说,存储器单元205可经配置以每次存储一位数字逻辑(例如,逻辑0和逻辑1)。在一些情况下,单个存储器单元205(例如,多级存储器单元)可经配置以每次存储多于一位数字逻辑(例如,逻辑00、逻辑01、逻辑10或逻辑11)。
存储器单元205可存储表示电容器中的可编程状态的电荷。如本文中所使用,电荷指代存在于组件或导体中或上的电荷的量,且不限于由单个质子或电子所携载的特定值。DRAM架构可包含电容器(例如电容器230),所述电容器包含介电材料以存储表示可编程状态的电荷。在一些实例中,存储器单元205可以经由数字线215与感测组件245耦合。
可以通过激活或选择例如字线210及/或数字线215的存取线来对存储器单元205执行例如读取和写入的操作。在一些情况下,数字线215也可称为位线。对存取线、字线和数字线或其类似物的引用可以互换,但不影响理解或操作。激活或选择字线210或数字线215可包含将电压施加到相应线。
存储器裸片200可包含布置成网格状图案的存取线(例如,字线210和数字线215)。存储器单元205可以定位在字线210与数字线215的相交处。通过偏置字线210及数字线215(例如,将电压施加到字线210或数字线215),可在其相交点处存取单个存储器单元205。
可以通过行解码器220和列解码器225控制存取存储器单元205。举例来说,行解码器220可从本地存储器控制器260接收行地址且基于所接收的行地址而激活字线210。列解码器225可从本地存储器控制器260接收列地址且可基于接收的列地址而激活数字线215。举例来说,存储器裸片200可包含标记为WL_1至WL_M的多个字线210以及标记为DL_1至DL_N的多个数字线215,其中M和N取决于存储器阵列的大小。因此,通过激活字线210和数字线215,例如WL_1和DL_3,可存取其相交点处的存储器单元205。在二维或三维配置中的字线210和数字线215的相交点可称为存储器单元205的地址。
存储器单元205可包含逻辑存储组件,例如电容器230和单元开关组件235。电容器230可以是介电电容器或铁电电容器的实例。电容器230的第一节点可与单元开关组件235耦合,且电容器230的第二节点可与电压源240耦合。在一些情况下,电压源240可为单元板参考电压,例如Vpl。在一些情况下,电压源240可以是与板线驱动器耦合的板线的实例。单元开关组件235可以是在两个组件之间选择性地建立或取消建立电子通信的晶体管或任何其它类型的开关装置的实例。
在一些情况下,一组存储器单元205可经配置以包含至少一个存储体集群,所述至少一个存储体集群可包含存储器单元205的两个或更多个存储体。在一些情况下,所述一组存储体群集各自可包含一组存储体和一组感测组件(例如,感测组件245)。在一些情况下,主机装置(例如,主机装置的存储器控制器)可在存取操作期间使用可符合DDR规范(例如,LPDDR规范、DDR4、DDR5等)的接口存取存储体群集的存储体。主机装置可经配置以例如根据DDR规范存取存储体集群中的单个存储体。当主机装置(例如,主机装置的存储器控制器)使用DDR接口存取存储体群集的存储体时,在一些情况下,控制器(例如,如本文中所描述的页面控制器)结合存储器裸片200(例如,存储器裸片200的本地存储器控制器260)可使用另一接口(例如,如本文中所描述的页面端口接口)作为数据迁移操作的一部分在缓冲器(例如,如本文中所描述的数据传送缓冲器)与存储器群集的替代存储体之间传送数据(例如,读取数据、写入数据)。
在一些情况下,存储器裸片200可经配置以包含可经配置以与存储器裸片200的存储体集群耦合的缓冲器(例如,如本文中所描述的数据传送缓冲器)在一些情况下,缓冲器可经配置以包含一组较小尺寸的缓冲器,且所述一组较小尺寸的缓冲器可以分布在包含存储器单元205的存储器阵列内。这类分布式缓冲器配置可有助于将所述组中的每一较小尺寸的缓冲器定位在存储器阵列的可与所述一组较小尺寸的缓冲器相关联的部分(例如存储体集群)附近。在其它情况下,缓冲器可经配置成存储器裸片200的存储器阵列共同的,且可位于存储器裸片(例如,存储器裸片200)内。在一些实例中,缓冲器可用以在数据迁移操作期间在存储器裸片200与第二存储器裸片之间传送数据。
选择或取消选择存储器单元205可以通过激活或去激活单元开关组件235来实现。电容器230可使用单元开关组件235与数字线215电子通信。举例来说,当去激活单元开关组件235时,电容器230可以与数字线215隔离,且当激活单元开关组件235时,电容器230可以与数字线215耦合。在一些情况下,单元开关组件235是晶体管,且其操作可以通过将电压施加到晶体管栅极来控制,其中晶体管栅极与晶体管源极之间的电压差可以大于或小于晶体管的阈值电压。在一些情况下,单元开关组件235可为p型晶体管或n型晶体管。字线210可以与单元开关组件235的栅极电子通信,且可基于施加到字线210的电压而激活/去激活单元开关组件235。
字线210可为与用于对存储器单元205执行存取操作的存储器单元205电子通信的导线。在一些架构中,字线210可与存储器单元205的单元开关组件235的栅极电子通信,且可经配置以控制存储器单元的单元开关组件235。在一些架构中,字线210可与存储器单元205的电容器的节点电子通信,且存储器单元205可不包含开关组件。
数字线215可为将存储器单元205与感测组件245连接的导线。在一些架构中,存储器单元205可在存取操作的部分期间选择性地与数字线215耦合。举例来说,字线210和存储器单元205的单元开关组件235可经配置以耦合及/或隔离存储器单元205的电容器230和数字线215。在一些架构中,存储器单元205可与数字线215进行(例如,持续的)电子通信。
感测组件245可经配置以检测存储在存储器单元205的电容器230上的电荷,且基于所存储电荷确定存储器单元205的逻辑状态。在一些情况下,由存储器单元205存储的电荷可能极小。因而,感测组件245可包含一或多个感测放大器以放大由存储器单元205输出的信号。感测放大器可以在读取操作期间检测数字线215的电荷的小变化,且可以基于检测到的电荷产生对应于逻辑状态0或逻辑状态1的信号。在读取操作期间,存储器单元205的电容器230可将信号(例如,对电荷进行放电)输出到其对应的数字线215。信号可使得数字线215的电压发生改变。
感测组件245可经配置以将跨越数字线215从存储器单元205接收的信号与参考信号250(例如,参考电压)进行比较。感测组件245可以基于所述比较确定存储器单元205的所存储状态。举例来说,在二进制信令中,如果数字线215具有比参考信号250高的电压,那么感测组件245可以确定存储器单元205的所存储状态为逻辑1,且如果数字线215具有比参考信号250低的电压,那么感测组件245可以确定存储器单元205的所存储状态为逻辑0。感测组件245可包含各种晶体管或放大器,以检测和放大信号中的差异。
检测到的存储器单元205的逻辑状态可通过列解码器225输出作为输出255。在一些情况下,感测组件245可为另一组件(例如,列解码器225、行解码器220)的部分。在一些情况下,感测组件245可与行解码器220或列解码器225电子通信。
本地存储器控制器260可以通过各种组件(例如,行解码器220、列解码器225和感测组件245)控制存储器单元205的操作。本地存储器控制器260可为参考图1所描述的本地存储器控制器165的实例。在一些情况下,行解码器220、列解码器225和感测组件245中的一或多者可与本地存储器控制器260处于相同位置。本地存储器控制器260可经配置以从外部存储器控制器105(或参考图1所描述的装置存储器控制器155)接收命令及/或数据,将命令及/或数据转化成存储器裸片200可使用的信息,对存储器裸片200执行一或多个操作,且响应于执行一或多个操作将数据从存储器裸片200传达到外部存储器控制器105(或装置存储器控制器155)。在一些情况下,本地存储器控制器260可通过更新对应于数据迁移操作对状态更新寄存器来向主机装置指示数据迁移操作的状态。所述状态可向主机装置指示数据迁移命令是否可被停止(例如,由于与数据迁移操作相关联的存储体群集未响应于来自主机装置的存取命令而被存取)或完成。在一些情况下,本地存储器控制器260可指示状态更新寄存器内的对应数据传送缓冲器的状态(例如,存储器裸片200的数据传送缓冲器是否含有有效数据)。
本地存储器控制器260可以生成行和列地址信号以激活目标字线210和目标数字线215。本地存储器控制器260还可以产生并控制在存储器裸片200的操作期间使用的各种电压或电流。一般来说,本文中论述的所施加电压或电流的振幅、形状或持续时间可经调整或变化,并可针对操作存储器裸片200的过程中论述的各种操作而不同。
在一些情况下,本地存储器控制器260可经配置以对存储器裸片200的一或多个存储器单元205执行写入操作(例如编程操作)。在写入操作期间,存储器裸片200的存储器单元205可经编程以存储所需逻辑状态。在一些情况下,可以在单个写入操作期间对多个存储器单元205进行编程。本地存储器控制器260可以识别将执行写入操作的目标存储器单元205。本地存储器控制器260可以识别与目标存储器单元205电子通信的目标字线210和目标数字线215(例如,目标存储器单元205的地址)。本地存储器控制器260可以激活目标字线210和目标数字线215(例如,将电压施加到字线210或数字线215)以存取目标存储器单元205。本地存储器控制器260可以在写入操作期间将特定信号(例如电压)施加到数字线215以在存储器单元205的电容器230中存储特定状态(例如电荷),所述特定状态(例如电荷)可以指示所需逻辑状态。
在一些情况下,本地存储器控制器260可经配置以对存储器裸片200的一或多个存储器单元205执行读取操作(例如,感测操作)。在读取操作期间,可以确定存储在存储器裸片200的存储器单元205中的逻辑状态。在一些情况下,可在单个读取操作期间感测多个存储器单元205。本地存储器控制器260可以识别将执行读取操作的目标存储器单元205。本地存储器控制器260可以识别与目标存储器单元205电子通信的目标字线210和目标数字线215(例如,目标存储器单元205的地址)。
本地存储器控制器260可以激活目标字线210和目标数字线215(例如,将电压施加到字线210或数字线215)以存取目标存储器单元205。目标存储器单元205可以响应于对存取线施加偏压而将信号传送到感测组件245。感测组件245可放大所述信号。本地存储器控制器260可起动感测组件245(例如,锁存感测组件)且由此比较从存储器单元205接收到的信号与参考信号250。基于所述比较,感测组件245可确定存储于存储器单元205上的逻辑状态。本地存储器控制器260可将存储于存储器单元205上的逻辑状态传达到外部存储器控制器105(或装置存储器控制器155)作为读取操作的部分。
在一些存储器架构中,存取存储器单元205可使存储在存储器单元205中的逻辑状态降级或毁坏。举例来说,在DRAM架构中执行的读取操作可以使目标存储器单元的电容器部分或完全放电。本地存储器控制器260可以执行重写操作或刷新操作以将存储器单元恢复到其原始逻辑状态。本地存储器控制器260可以在读取操作之后将逻辑状态重写到目标存储器单元。在一些情况下,重写操作可视为读取操作的部分。另外,激活单个存取线(例如,字线210)可干扰存储在与所述存取线电子通信的一些存储器单元中的状态。因此,可对可能尚未被存取的一或多个存储器单元执行重写操作或刷新操作。
图3说明如本文中所公开的支持数据迁移的系统300的实例。所述系统可包含如参考图1和2所描述的一或多个组件。举例来说,主机装置305可为如参考图1所描述的外部存储器控制器105的实例;存储器340和高密度存储器370可为如参考图1所描述的存储器裸片160中的一或多者的实例;存储器子系统控制器365和页面控制器315可为如参考图1所描述的装置存储器控制器155的实例;且媒体控制器320可为如参考图1所描述的本地存储器控制器165的实例,其可为如参考图2所描述的本地存储器控制器260的实例。
存储器装置310可包含如参考图1所论述的多于一个存储器裸片。举例来说,存储器装置310可包含对应于存储器340-a及存储器340-b的多于一个存储器裸片以及对应于高密度存储器370-a及370-b的多于一个存储器裸片。在一些情况下,存储器裸片可分裂成单独的双列直插式存储器模块(dual inline memory module,DIMM)。在这种情况下,存储器340-a及高密度存储器370-a可对应于DIMM或第一DIMM的第一直插式存储器模块,而存储器340-b及高密度存储器370-b可对应于DIMM或第二DIMM的第二直插式存储器模块。此外,对应于每一DIMM的路径(由路径335、355及375构成)可对应于不同信道,使得用于高密度存储器370-a与高密度存储器370-b之间的通信的路径可通过存储器装置310移动到主机装置305(例如,分别经由路径375-a、355-a及335-a)且通过存储器装置310返回(例如,分别经由路径335-b、355-b及375-b)。
存储器装置310还可包含存储器子系统控制器365,所述存储器子系统控制器365进一步包含页面控制器315及媒体控制器320。在一些情况下,页面控制器315可耦合到存储器340(例如,经由路径355及页面端口接口350)及媒体控制器320。媒体控制器320随后可经由路径375耦合到高密度存储器370。
存储器装置310可支持双层存储器系统,所述双层存储器系统可包含具有相对快速的存取速度的存储器340(例如,DRAM、FeRAM、PCM)。在一些情况下,存储器340可为页面迁移DRAM的实例,其经配置以使用相对快速存取存储数据且使用高密度存储器(例如,高密度存储器370)在存储器装置310处传送数据。存储器装置310可进一步包含具有相对较大容量的高密度存储器370(例如,3D NAND、3D XPointTM,或固态存储器装置)。存储器装置310可包含路径335以经由接口345(例如,符合LPDDR、DDR3、DDR4、DDR5、GDDR3、GDDR4、GDDR5、GDDR6等等的DDR接口)与主机装置305(或主机装置305的存储器控制器330)通信。路径335可支持可基于存储器340的状态急剧变化的带宽,所述状态为存储器340包含主机装置305请求的数据(例如,在读取操作期间)抑或在存取操作期间存储器340包含主机装置305想要节省(例如,在写入操作期间)的用以存储数据的充足空间。如果存储器340不包含用以支持存取操作的数据或充足空间,那么主机装置305(通过路径335耦合到接口345的主机装置305)可能需要经由相同路径335存取高密度存储器370。随后,在到存储器装置310的路径335处的可用带宽针对一些后续存取操作可明显减小。
为了达成较小可变带宽(例如,在数据迁移操作期间防止带宽明显减小),可对存储器装置310实施额外接口以支持数据迁移操作,在数据迁移操作期间,数据的子集(例如,数据页)可迁移以作为后台操作的部分(例如,数据迁移操作),而主机装置305可存取存储器装置310作为前台操作的部分。存储器装置310的额外接口可将存储器子系统控制器365耦合到接口345(例如,经由页面端口接口350)。另外或替代地,存储器子系统控制器365可经由旁信道360耦合到主机装置305。存储器子系统控制器365可经配置以控制数据迁移操作的各种方面。另外,存储器装置310可包含在存储器340中的每一个处的缓冲器以支持数据迁移操作。举例来说,缓冲器可经配置以作为数据迁移操作的部分存储从存储器340读取或待写入存储器340的数据(例如,作为数据迁移操作的部分正传送的数据的至少一部分)。在一些情况下,缓冲器可以被称为数据传送缓冲器。因此,系统300可使得主机装置305能够使用接口345-b存取存储器340-b(例如,作为前台操作的部分),同时存储器子系统控制器365在存储器340-b与高密度存储器370-b之间传送数据(例如,读取数据、写入数据)(例如,作为后台数据迁移操作的部分)。在一些情况下,主机装置305可经配置以通过向存储器340发布存取命令来存取存储器340,所述存储器340使用所述存取命令来寻址或存取由主机装置305请求的位置。
在存取操作期间发生故障的情况下,主机装置305可指示数据迁移操作。故障可能在存储器340不包含主机装置305请求的数据时(例如,在读取操作期间)发生。在这一实例中主机装置305可指示对应于数据提交的数据迁移。数据提交可包含正从高密度存储器370传送到存储器340的数据。在一些情况下,数据可能对应于数据页,使得页面错误可导致页面提交的页面迁移。
另外或替代地,在存取操作期间,故障可能在存储器340不包含用以存储数据的主机装置305想要节省(例如,在写入操作期间)的充足空间时发生。在这一实例中,主机装置305可指示对应于数据收回的数据迁移。数据收回可包含数据从存储器340传送到高密度存储器370。在一些情况下,数据可能对应于数据页,使得页面错误可导致页面收回的页面迁移。
在数据迁移操作期间,主机装置305可继续将存取命令发射到存储器装置310,且存储器装置310可继续执行存取命令中的一或多者。
主机装置305可包含驱动器325及主机装置305的存储器控制器330。驱动器325可为页面迁移驱动器的实例且可通过将数据迁移请求传达数据迁移请求存储器子系统控制器365来起始数据迁移。驱动器325可经由路径335、旁信道360或寄存器空间将请求发射到存储器子系统控制器365。举例来说,驱动器325可经由路径335-a及接口345-a通过存储器控制器330将数据迁移请求发射到存储器340-a。存储器340-a可经由页面端口接口350-a及路径355-a向存储器子系统控制器365指示数据迁移请求。在另一个实例中,驱动器325可在寄存器空间中指示数据迁移请求。在这一实例中,存储器子系统控制器365可对寄存器空间进行轮询以确定是否已请求数据迁移。
数据迁移请求可分裂成一或多个请求(例如,多于一个子请求)。也就是说,驱动器325可确定起始数据迁移(例如,基于故障)且将数据(例如,基于故障的数据)分裂成数据的一或多个子区段。举例来说,驱动器325可将数据页(例如,如由页面错误指示)分裂成四个部分且将用于数据迁移的指示分裂四个对应不同的子请求。可经由路径335-a或路径335-b发射四个子请求中的每一者(例如,四个子请求中的一或多者可发射到不同存储器存储体)。举例来说,两个子请求可经由路径335-a发送,而两个子请求可经由路径335-b发送。这可被称为交错,其中驱动器325将数据分裂成数据的多于一个部分。驱动器325可基于数据到存储器340的映射(例如,与数据相关联的地址到存储器340处的位置的映射)来确定交错图案。在一些情况下,驱动器325可在指示请求以执行数据迁移操作之前(例如,在初始化程序期间,在配置期间)为页面控制器315指示映射。
在接收请求以在存储器340与高密度存储器370之间执行数据迁移操作(或接收子请求以执行数据迁移的一部分)之后,存储器子系统控制器365可促进数据(例如,通过子请求指示为数据迁移操作的部分的数据)的传送。在一些情况下,由子请求指示用于传送的数据可存储于存储器340-a或340-b内的多于一个存储体中。本文中,存储器子系统控制器365可在多个交易中将数据传送到存储器340或从所述存储器340传送数据(例如,单个交易对应于存储器340的单个存储体与页面控制器315处的数据缓冲器之间的数据传送)。页面控制器315处的数据缓冲器可存储待在页面控制器315与媒体控制器320之间传送的数据(例如,对应于一或多个交易)。媒体控制器320可转而经由路径375将数据传送传达到高密度存储器370。
在由子请求指示的数据已在存储器340与高密度存储器370之间传送之后,存储器子系统控制器365可更新对应于子请求的状态寄存器。主机装置305可对状态寄存器进行轮询以确定数据迁移已完成的时间(例如,对应于数据迁移的子请求中的每一者已完成的时间)。
图4说明如本文中所公开的支持数据迁移的系统400。系统400说明驱动器425可如何支持用于根据本公开的数据迁移的信道交错。系统400可包含本文中参照图1、2和3所描述的一或多个组件。举例来说,主机装置405可以是参考图1所描述的外部存储器控制器105的实例,其可以是参考图3所描述的主机装置305的实例;驱动器425可以是参考图3所描述的驱动器325的实例,其可以是页面迁移驱动器的实例;存储器装置410可以是参考图3所描述的存储器装置310的实例,其可以是参考图1所描述的存储器装置110的实例。
系统400可利用两层存储器系统,其中每一DIMM 475-a包含存储器440(例如,具有相对快速存取的存储器)和高密度存储器470(例如,具有相对高容量的存储器)。系统400可进一步经配置以在主机装置405存取存储器440(例如,作为前台操作)的同时将数据迁移操作执行为后台操作。
操作系统(operating system;OS)435可向驱动器425指示故障(例如,页面错误)。驱动器可将数据迁移请求发射到主机装置芯片组450处的CPU集群455。这一数据迁移请求可随后发射到主机装置芯片组450上的直接存储器存取(direct memory access;DMA)控制器,其可有助于信道交错。DMA控制器可基于互连网络(interconnect network;ICN)460的固线式连接而将数据迁移请求分裂为子请求。ICN 460可将命令、请求和/或子请求发射到存储器装置410的对应DIMM 475。由子请求中的每一个指示的数据可从存储器装置410传送到主机装置405。随后数据传送回到存储器装置410。
一些存储器系统使用信道交错作为增大存取操作速度的方式。举例来说,存储器装置可通过在不同存储器存储体上扩散存储器地址来增大存取操作速度。在这些情况下,存取操作可经配置以并行地使用多个存储器存储体,从而通过减少等待给定存储器存储体上的其它存取操作完成所花费的时间得到较高存储器吞吐量。ICN 460可经配置以通过包含多个信道来支持存储器交错,所述多个信道将数据路由到多个不同存储器存储体,因此存储器存储体可与执行单个存取操作并行地工作。举例来说,主机装置可请求数据,但由于交错,所述数据可在多个存储器存储体上扩散。因为多个存储器存储体可与执行单个存取操作并行地工作,因此在此类系统中存储或检索数据更快。
在使用交错的系统中,主机装置可发出期望交错发生的命令(例如,数据迁移命令)。此外,主机装置可发出期望从存储器装置外部定位高密度存储器的数据迁移命令。通过将高密度存储器470整合到存储器装置410中,由主机装置405发出的现有数据迁移命令可由现有ICN 460不当地路由。为解决这一问题和其它问题,主机装置405可包含驱动器425以将数据迁移命令分裂为子命令、请求或子请求,且使用现有ICN 460将那些子命令、请求或子请求发射到正确位置。驱动器425可基于数据到存储器440的映射(例如,与数据相关联的地址到存储器440处的位置的映射)来确定交错图案。在一些情况下,驱动器425可在执行数据迁移操作之前(例如,在初始化程序期间,在配置期间),为页面控制器415指示映射。
系统400可支持数据迁移作为后台进程,其中页面控制器415有助于存储器440与高密度存储器470之间的数据传送。在此类情况下,数据可在DIMM 475内传送而非通过主机装置405(且可能在DIMM 475之间)传送。驱动器425通过将数据迁移请求分裂为一或多个子请求且将子请求发射到页面控制器415-a而有助于信道交错。举例来说,驱动器425可将数据迁移分裂为八个相异子请求(例如,每一子请求对应于页数据的相异八分之一)。驱动器425可将八个子请求中的每一个发射到存储器装置410(例如,根据子请求路径480)。页面控制器415(例如,页面控制器415-a或415-b)可随后在存储器装置410内在存储器440与高密度存储器470之间内部地执行那些所接收子请求,而非发送要迁移到主机装置405的数据。在一些实例中,驱动器425可经由子请求路径480-a将四个子请求发射到DIMM 475-a且经由子请求路径480-b将四个子请求发射到DIMM 475-b。在一些情况下,DIMM 475可对应于相异信道,使得在DIMM之间划分子请求对应于信道交错。
子请求中的每一个可从驱动器425发射到页面控制器415。在一些情况下,子请求可在主机装置芯片组450处通过CPU集群455且通过ICN 460传达到存储器440。存储器440可将子请求传播到页面控制器415。在接收到在存储器440与高密度存储器470之间执行数据迁移的一部分的子请求后,页面控制器415可有助于数据(例如,由子请求表示为数据迁移操作的部分的数据)传送。在一些情况下,由子请求指示用于传送的数据可存储于存储器440-a或440-b内的超过一个位置(例如,存储体、存储体组、级、行)中。此处,页面控制器415可在多个交易中将数据传送到存储器440或从所述存储器传送数据(例如,单个交易对应于存储器440内的单个位置与页面控制器415处的数据缓冲器之间的数据传送)。页面控制器415处的数据缓冲器可存储待在页面控制器415与媒体控制器420之间传送的数据(例如,对应于一或多个交易)。媒体控制器420可转而将数据传送传达到高密度存储器470。
图5说明对应于如本文中所公开的数据迁移的时序图500。时序图500可对应于由用于数据迁移的提交命令引起的进程。提交命令可包含将数据从高密度存储装置移动到存储器510的一或多个命令。时序图500可包含本文中参照图1、2、3和4所描述的一或多个组件。举例来说,驱动器505可以是参考图3和4所描述的驱动器325和425的实例,其可以是页面迁移驱动器的实例;存储器510可以是参考图1所描述的存储器裸片160的实例,其可以是参考图3和4所描述的存储器340和440的实例;页面控制器515可以是参考图1所描述的装置存储器控制器155的实例,其可以是参考图3和4所描述的页面控制器315和415的实例;且媒体控制器520可以是参考图1所描述的本地存储器控制器165的实例,其可以是参考图3和4所描述的媒体控制器320和420的实例。
在525处,驱动器505可从操作系统接收故障指示。在一些情况下,当存储器510并不包含操作系统请求(例如,在读取操作期间)的数据时,故障可出现。在一些情况下,故障可以是页面错误的实例,其中故障指示不包含在存储器510中的数据页。
响应于接收到故障指示,驱动器505可在530处将提交命令发射到存储器510。提交命令可指示提交到存储器510的数据(例如,基于由故障指示的数据),其中提交命令可对应于将数据从高密度媒体(例如,3D NAND或3D XPointTM存储器装置)传送到存储器510的数据迁移请求。数据迁移请求可包含页面迁移请求(例如,指示对应于由故障指示的数据页的数据传送的请求)或页面迁移子请求(例如,指示作为信道交错结果的数据迁移的一部分的请求)。在一些情况下,所述指示可指示状态命令寄存器,其中状态命令寄存器指示待通过提交命令传送进的数据(例如,页面或数据页的一部分)。
存储器510可在535处发射提交命令。页面控制器515可接收由提交命令指示的请求(或子请求)且确定由提交命令指示的数据(例如,由故障指示的数据,由故障指示的数据的一部分)。
在540处,页面控制器515可随后将指示发射到媒体控制器520以读取数据或数据的部分(例如,如由530或535处所发射的提交命令所指示)。读取数据的指示可包含数据的地址。页面控制器515可基于提交命令来确定数据的地址(例如,对应于用于在高密度存储器处存取数据的地址的地址)。
媒体控制器520可在545处通过读取从高密度存储器裸片到页面控制器515处的数据缓冲器的数据或数据的部分来响应于读取响应中的指示。
在550处,页面控制器515可确定数据缓冲器中的数据可存储于存储器510内的超过一个位置(例如,超过一个存储体、存储体组、级、行)中。页面控制器515可基于数据的地址到存储器510的映射来确定超过一个位置。在525(例如,作为配置进程的部分)之前的一定时间可从驱动器505接收到映射。页面控制器515可根据超过一个所确定的位置来分裂所述数据。举例来说,页面控制器515可将数据分裂为数据的一或多个部分,其中数据的每一部分对应于存储器510处的相异位置。
在555处,页面控制器515可将一些数据(例如,对应于在550处确定的数据的一或多个部分中的一部分)从其数据缓冲器传送到存储器510处的传送数据缓冲器。在一些情况下,通过页面控制器515将一些数据传送到传送数据缓冲器可对应于单个交易。存储器510可将数据保持在其传送数据缓冲器中直到将数据从传送数据缓冲器传送到存储器510的机会出现为止。在一些情况下,传送数据的机会可对应于存取存储器510的特定位置(例如,存储体、存储体组、级、行)的驱动器505。当驱动器505存取不同于特定位置的第二位置处的存储器510时,将数据从传送数据缓冲器传送到特定位置的机会可出现。在一些情况下,存取所述第二位置可向存储器510指示特定位置可不由驱动器505存取(例如,特定位置可能不作为第二位置被同时存取)。
在560处,驱动器505可发射存取存储器510的存取命令。560处的存取命令可创造从传送数据缓冲器传送数据的机会。存取命令可存取存储器510的第二位置,所述存取命令可向存储器510指示数据可从传送数据缓冲器传送到特定位置而不扰乱存储器510的由主机装置请求的操作。也就是说,在存储器510响应于由主机装置提供的存取命令时,存储器510可同时将数据从传送数据缓冲器传送到存储器510的特定位置。在一些情况下,存储器510可等到在560处接收到存取命令,才将数据从传送数据缓冲器传送到特定位置。
在565处,存储器510可更新传送数据缓冲器状态。所述状态可指示传送数据缓冲器可用于新的数据(例如,页面控制器515可将新的数据写入到传送数据缓冲器)。在一些情况下,页面控制器515可将数据的第二部分传送到数据传送寄存器(例如,如在555处)。也就是说,数据的第二部分(例如,如在550处所确定)可从页面控制器515处的数据缓冲器传送到存储器510处的传送数据缓冲器。在这种情况下,数据的第二部分可传送到存储器510(例如,如参照560和565所论述)。这可继续(例如,555处的数据传送、560处的存取命令和565处的更新)直到页面控制器515处的数据缓冲器中的数据的部分中的每一个已传送到存储器510为止。
在570处,页面控制器可将更新命令状态发射到存储器510。命令状态可指示在530和535处由提交命令指示的数据已从高密度存储器传送到存储器510(例如,由提交命令指示的子请求已完成)。
在575处,在一些情况下,驱动器505可轮询与存储器510相关联的寄存器(例如,状态就绪寄存器)。寄存器可指示更新命令状态。在580处,存储器510可指示寄存器处的更新命令状态(例如,在570处从页面控制器515接收到),因此向驱动器505传达子请求已完成。在一些其它情况下,驱动器505可使用边带信道来直接向页面控制器515传达所述更新命令状态585,且轮询可不进行。
在590处,驱动器505可将指示子请求完成的通知发射到操作系统。
525处的故障与590处的通知之间的时间可对应于执行提交命令所花费的时间。在这一时间期间,在一或多个存取命令可在前台中在存储器510处执行时,存储器510可在后台中将数据(例如,数据页或数据页的一部分)从高密度存储器迁移到存储器510。
图6说明对应于如本文中所公开的数据迁移的时序图600。时序图600可对应于由用于数据迁移的收回命令引起的进程。收回命令可包含将数据从存储器610移动到高密度存储器的一或多个命令。时序图600可包含本文中参照图1、2、3、4和5所描述的一或多个组件。举例来说,驱动器605可以是参考图3、4和5所描述的驱动器325、425和505的实例,其可以是页面迁移驱动器的实例;存储器610可以是参考图1所描述的存储器裸片160的实例,其可以是参考图3、4和5所描述的存储器340、440和510的实例;页面控制器615可以是参考图1所描述的装置存储器控制器155的实例,其可以是参考图3、4和5所描述的页面控制器315、415和515的实例;且媒体控制器620可以是参考图1所描述的本地存储器控制器165的实例,其可以是参考图3、4和5所描述的媒体控制器320、420和520的实例。
在625处,驱动器605可从操作系统接收故障指示。在一些情况下,当存储器610并不包含操作系统在存取操作期间想要为存储器610节省(例如,在写入操作期间)的足够用以存储数据的空间时,故障可出现。在一些情况下,故障可以是页面错误的实例,其中故障指示不包含在存储器610中的数据页。
响应于接收到故障指示,驱动器605可在630处将收回命令发射到存储器610。收回命令可指示从存储器610收回的数据(例如,基于由故障指示的数据),其中收回命令可对应于将数据从存储器610传送到高密度媒体(例如,3D NAND或3D XPointTM存储器装置)的数据迁移请求。数据迁移请求可包含页面迁移请求(例如,指示对应于由故障指示的所有数据的数据传送的请求)或页面迁移子请求(例如,指示作为信道交错结果的数据迁移的一部分的请求)。在一些情况下,所述指示可指示状态命令寄存器,其中状态命令寄存器指示待通过提交命令传送进的数据(例如,页面或页面的一部分)。
存储器610可在635处发射收回命令。页面控制器615可接收由收回命令指示的请求(或子请求)且确定由收回命令指示的数据(例如,由故障指示的数据,由故障指示的数据的一部分。在一些情况下,数据可由与数据相关联的地址(例如,对应于用于在高密度存储器处存储数据的地址的地址)指示。
在640处,页面控制器615可确定由收回命令指示的数据可存储于存储器610内的超过一个位置(例如,超过一个存储体、存储体组、级、行)中。页面控制器615可基于数据的地址到存储器610的映射来确定超过一个位置。在625(例如,作为配置进程的部分)之前可从驱动器605接收到映射。页面控制器615可根据超过一个所确定的位置来分裂所述数据。举例来说,页面控制器615可将数据分裂为数据的一或多个部分,其中数据的每一部分对应于存储器610处的相异位置。因此,页面控制器615可将请求(或子请求)分裂为一或多个交易,其中每一交易对应于数据的部分中的一个。
在645处,页面控制器615可对存储器610处的数据传送寄存器进行编程。也就是说,页面控制器615可经由数据传送寄存器来指示待从存储器610读取且随后写入到数据传送寄存器的待传送到高密度存储器的数据的一部分。存储器610可等到将数据从存储器610传送到传送数据的机会出现,才将数据写入到其传送数据缓冲器。在一些情况下,传送数据的机会可对应于存取存储器610的特定位置(例如,存储体、存储体组、级、行)的驱动器605。当驱动器605存取不同于特定位置的第二位置处的存储器610时,将数据从特定位置传送到传送数据缓冲器的机会可出现。在一些情况下,存取所述第二位置可向存储器610指示特定位置可不由驱动器605存取(例如,特定位置可能不作为第二位置被同时存取)。
在650处,驱动器605可发射存取存储器610的存取命令。650处的存取命令可创造从数据缓冲器传送数据的机会。存取命令可存取存储器610的第二位置,所述存取命令可向存储器610指示数据可从特定位置传送到传送数据缓冲器而不扰乱存储器610的由主机装置请求的操作。也就是说,在存储器610响应于由主机装置提供的存取命令时,存储器610可同时将数据从存储器610的特定位置传送到传送数据缓冲器。在一些情况下,存储器610可等到在650处接收到存取命令,才将数据从特定位置传送到传送数据缓冲器。
在655处,存储器610可利用读取响应来更新传送缓冲器。传送数据缓冲器可含有从存储器610读取的数据的所指示部分。如此,页面控制器615可将数据从传送数据缓冲器传送到其自身的数据缓冲器。如此,传送数据缓冲器可用于新的交易(例如,页面控制器615可指示待从存储器610读取到传送数据缓冲器的数据的新部分)。在一些情况下,页面控制器615可指示待读取到数据传送寄存器(例如,如在645处)的数据的第二部分。在这种情况下,数据的第二部分可从存储器610(例如,如参照650和655所论述)传送到页面控制器615处的数据缓冲器。这可继续(例如,645处的数据传送寄存器编程、650处的存取命令和655处的读取响应)直到存储器610中的由收回命令的请求(或子请求)指示的数据的部分中的每一个已从存储器610传送到页面控制器615处的数据缓冲器为止。
在660处,页面控制器615可将其数据缓冲器内的数据写入到媒体控制器620。媒体控制器620可在665处利用写入响应来响应于所述指示。写入响应可向页面控制器指示数据已传送到高密度存储器(例如,如由630或635处发射的收回命令所指示)。
在670处,页面控制器可将更新命令状态发射到存储器610。命令状态可指示在630和635处由收回命令指示的数据已从存储器610传送到高密度存储器(例如,由收回命令指示的子请求已完成)。
在675处,在一些情况下,驱动器605可轮询与存储器610相关联的寄存器(例如,状态就绪寄存器)。寄存器可指示收回命令的状态。在680处,存储器610可指示寄存器处的更新命令状态(例如,在670处从页面控制器615接收到),因此向驱动器605传达子请求已完成。在一些其它情况下,驱动器605可使用边带信道来直接向页面控制器615传达所述更新命令状态685,且轮询可不进行。
在690处,驱动器605可将指示子请求完成的通知发射到操作系统。
故障625与690处的通知之间的时间可对应于执行收回命令所花费的时间。在这一时间期间,在一或多个存取命令可在前台中在存储器610处执行时,存储器610可在后台中将数据(例如,数据页,数据页的一部分)从高密度存储器迁移到存储器610。
图7A说明用于执行如本文中所公开的数据迁移的状态命令寄存器700-a。状态命令寄存器700-a可与图1、3和4中描述的系统以及图5和6中描述的时序图结合使用。举例来说,状态命令寄存器可(例如,由主机装置,由驱动器,如页面迁移驱动器)用来指示对存储器装置(例如,页面控制器)的数据迁移操作。
状态命令寄存器700-a可对应于数据的子集(例如,数据页或4096个数据位)。数据页可分裂为一定数量的分区。每一分区可以是状态命令寄存器700-a内的数据的单个位,所述数据指示用于数据的子集的数据迁移操作是否完成。此处,状态命令寄存器700-a可表示数据的64个分区(例如,每一位可对应于4096位页面的64个位)。每一位可存储指示是否执行数据的对应分区的数据迁移的逻辑‘0’或逻辑‘1’。举例来说,状态命令寄存器700-a的位8中的逻辑‘0’可指示传送页面的数据的第八分区(例如,4096位页面的64个位的第八分区)(例如,传送到页面控制器)。
在一些情况下,状态命令寄存器可组织成一或多个子请求705。子请求可对应于用于数据迁移的指示,使得每一子请求可与相异数据迁移指示(例如,状态命令寄存器700-a内的位)相关联。在一些情况下,子请求705中的每一个可经由相异信道发射。然而,在一些情况下,可存在有限数量的可用信道(例如,8个信道)。在这种情况下,可在可用信道上发出子请求705(例如,经由八个信道中的每一个来发送十六个子请求中的两个)。子请求的数量可对应于一种信道交错类型。也就是说,单个子请求可包含用于单个存储器装置的一或多个数据迁移命令,所述单个存储器装置包含存储器和高密度存储器。在一些情况下,单个子请求可对应于4096位交错(例如,单个子请求对应于4096位数据迁移)。类似地,使用两个子请求可对应于2048位交错(例如,两个子请求各自对应于2048位)。此处,可在单个子请求705-a内发射整个状态命令寄存器700-a。在一些情况下,可利用子请求粒度来发射指示。举例来说,单个位可用于指示用于由子请求705-a中所包含的状态命令寄存器700-a的位指示的所有数据的页面迁移操作。也就是说,指示‘1’逻辑值的单个位可指示页面控制器传送由状态命令寄存器700-a指示的整个数据页(和数据的对应一或多个分区)。
图7B说明用于执行如本文中所公开的数据迁移的状态命令寄存器700-b。状态命令寄存器700-b可与图1、3和4中描述的系统以及图5和6中描述的时序图结合使用。举例来说,状态命令寄存器可(例如,由主机装置,由驱动器,如页面迁移驱动器)用来指示对存储器装置(例如,页面控制器)的页面迁移操作。
状态命令寄存器700-b可对应于数据的子集(例如,数据页或4096个数据位)。数据页可分裂为一定数量的分区。每一分区可以是状态命令寄存器700-b内的数据的单个位,所述数据指示用于数据的子集的数据迁移操作是否完成。此处,状态命令寄存器700-a可表示数据的64个分区(例如,每一位可对应于4096位页面的64个位)。每一位可存储指示是否执行数据的对应分区的数据迁移的逻辑‘0’或逻辑‘1’。举例来说,状态命令寄存器700-b的位8中的逻辑‘0’可指示传送页面的数据的第八分区(例如,4096位页面的64个位的第八分区)(例如,传送到页面控制器)。状态命令寄存器700-a的数据的每一分区可表示待由单个存储器装置执行的单个数据迁移命令。意味着,分区7可表示第一存储器装置将执行将数据从第一存储器装置的高密度存储器移动到第一存储器装置的存储器的提交命令。
在一些情况下,状态命令寄存器可组织成一或多个子请求705。子请求可对应于用于数据迁移的指示,使得每一子请求可与相异数据迁移指示(例如,状态命令寄存器700-b内的位)相关联。在一些情况下,子请求705中的每一个可经由相异信道发射。然而,在一些情况下,可存在有限数量的可用信道(例如,8个信道)。在这种情况下,可在可用信道上发出子请求705(例如,经由八个信道中的每一个来发送十六个子请求中的两个)。子请求的数量可对应于一种信道交错类型。也就是说,使用单个子请求可对应于4096位交错(例如,单个子请求对应于4096位数据迁移)。类似地,使用两个子请求可对应于2048位交错(例如,两个子请求各自对应于2048位)。此处,状态命令寄存器700-b可划分为对应于256位信道交错的16个子请求。
在一些情况下,可利用子请求粒度来发射用于数据迁移的指示。举例来说,单个位可用于指示用于由每一子请求705中所包含的位中的每一个指示的所有数据的页面迁移操作(例如,单个位可指示用于由子请求705-b的位0、1、2和3指示的数据的数据传送迁移)。
图8说明与如本文中所公开的数据迁移操作相关联的状态命令流800。状态命令流800可包含本文中参照图1到7所描述的一或多个方面。举例来说,状态命令寄存器805可以是如参照图7A和7B所论述的状态命令寄存器700的实例。
状态命令寄存器805可用于存储关于待由主机装置(例如,由驱动器,如页面迁移驱动器)和/或存储器装置(例如,页面控制器)使用的数据迁移操作的指示。此处,状态命令寄存器805可包含对应于四个子请求的四个位。在一些情况下,1024位交错可用于根据4096位页面来产生四个子请求。逻辑‘1’可对应于待处理的子请求的指示。逻辑‘0’可指示子请求已完成。
状态更新寄存器810可用于(例如,通过存储器装置或通过页面控制器向主机装置)指示数据迁移操作的完成。状态更新寄存器810可具有对应于状态命令寄存器805的一定数量的位。状态更新寄存器的每一位可指示对应于由状态命令寄存器805的每一位指示的子请求的完成状态。在一些实例中,在逻辑‘1’可指示当前数据迁移操作(例如,在用于由子请求指示的数据迁移的数据传送缓冲器中可存在数据)时,逻辑‘0’可指示无待决数据迁移操作(例如,在用于由子请求指示的数据迁移的数据传送缓冲器中可不存在数据)。
时间t0处可对应于在数据迁移操作开始之前的时间。此处,状态命令寄存器805可不指示用于数据迁移操作的任何子请求(例如,状态命令寄存器805的位中的每一个可含有逻辑‘0’)。此外,状态更新寄存器810可不指示任何当前数据迁移操作(例如,状态更新寄存器810的位中的每一个可含有逻辑‘0’)。
在时间t1处,状态命令寄存器805可通过存储逻辑‘1’来指示第一子请求[0],第一子请求[0]对应于第一数据迁移。在时间t2处,状态命令寄存器可指示用于第二数据迁移的第二子请求(例如,子请求[1])。此外,状态更新寄存器810可经由逻辑‘1’来指示由子请求[0]指示的数据(例如,数据的一部分)可在传送数据缓冲器中。
在时间t3处,状态命令寄存器805可进一步指示对应于第三数据迁移操作的第三子请求(例如,子请求[2])。在时间t3处,状态更新寄存器810可正执行对应于第一子请求[0]的第一数据迁移操作。
在时间t4处,状态命令寄存器805可指示第四子请求,子请求[3]和状态更新寄存器810可指示对应于传送数据缓冲器中的子请求[2]的有效数据。此外,状态更新寄存器810可指示对应于传送数据缓冲器中的子请求[0]的有效数据不再存在,且状态命令寄存器805可指示子请求[0]已完成。在一些情况下,在时间t3与时间t4之间,主机装置可将存取命令发射到对应于由子请求[0]指示的数据的存储体集群。这可允许从传送数据缓冲器(例如,对应于提交命令且对应于高密度存储器)传送数据。在一些情况下,存取命令可以是由主机装置发射的虚拟存取命令,以便允许从传送数据缓冲器传送数据。也就是说,主机装置可确定T=2与T=3之间的时间已超出某一阈值(例如,如由OS所确定)。因此,主机装置可确定发射虚拟存取命令。
在时间t5处,状态命令寄存器805可指示三个待决子请求(例如,子请求[1]、子请求[2]和子请求[3])。状态更新寄存器810可指示对应于子请求[3]和子请求[2]的有效数据在传送数据缓冲器中。
在时间t6处,状态更新寄存器810可指示传送数据缓冲器中当前没有任何数据待决,而状态命令寄存器805可指示可能仍在处理子请求[1]。
在时间t7处,状态更新寄存器810可指示对应于传送数据缓冲器中的子请求[1]的有效数据。在一些情况下,在时间t6与时间t7之间,主机装置可将存取命令发射到对应于由子请求[1]指示的数据的存储体集群。这可允许将数据传送到传送数据缓冲器(例如,对应于收回命令且来自页面迁移DRAM)。
在一些情况下,数据迁移命令可不以及时方式执行(例如,子请求[1])。这可发生是因为当主机装置使得出于其它原因而存取相同存储体集群时,在存储体集群中机会性地执行数据迁移命令。如果主机装置并不存取与子请求相关联的特定存储体集群,那么可不执行子请求。在一些情况下,主机装置在正常操作期间可不存取相同存储体集群(例如,与正常操作相关联的存取命令可不导向相同存储体集群)。在这种情况下,数据迁移命令可停止。停止的数据迁移命令可对应于例如从传送数据缓冲器传送到存储器(例如,页面迁移DRAM)的数据或从存储器传送到传送数据缓冲器的数据。
主机装置或页面控制器可发出虚拟存取命令以允许利用传送数据缓冲器来传送数据。主机装置或页面控制器可确定已通过确定从存储器装置已接收到子请求(例如,t2处的子请求[1])以来的持续时间已满足对应于所停止传送的阈值(例如,时间t2与时间t6之间)来停止用于数据迁移命令的命令。另外或替代地,存储器控制器(例如,页面控制器)可确定从存储器装置已接收到子请求以来的持续时间已满足所述阈值,且可向主机装置指示停止的数据迁移操作。因此,主机装置可确定发射虚拟存取命令。
在时间t8处,状态命令寄存器805可指示可不存在待决子请求(例如,状态命令寄存器805的每一位可以是逻辑‘0’)。此外,在传送数据缓冲器中可存在由状态更新寄存器810指示的有效数据。
图9展示支持如本文中所公开的数据迁移的装置905的框图900。装置905可以是控制器的实例(例如,装置存储器控制器155、本地存储器控制器165、存储器控制器330、存储器子系统控制器365、页面控制器315)。装置905可包含迁移指示符管理器910、命令产生器915、命令发射器920、命令完成管理器925、交错管理器930、存取命令发射器935、存储体集群识别器940和持续时间管理器945。这些模块中的每一个可直接或间接地彼此通信(例如,经由一或多个总线)。
迁移指示符管理器910可接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示。在一些情况下,第一存储器装置包含第一类型的存储器单元,且第二存储器装置包含第二类型的存储器单元。
命令产生器915可基于数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求。在一些实例中,命令产生器915可将地址映射发射到存储器系统控制器,所述地址映射指示主机装置地址到第二存储器装置内的位置的映射,其中基于地址映射产生一或多个命令。在一些情况下,数据的部分存储于第二存储器装置的超过一个存储体中,且基于存储于第二存储器装置的超过一个存储体中的数据的部分来产生一或多个命令。
命令发射器920可将第一命令发射到存储器系统,所述第一命令含有用于待迁移的数据的部分的请求。在一些实例中,命令发射器920可将第二命令发射到存储器系统,所述第二命令含有用于基于其产生一或多个命令的数据的第二部分的第二请求。在一些实例中,命令发射器920可通过存储器系统来发射指示数据传送的一或多个命令。
命令完成管理器925可从存储器系统接收第一命令的完成的第二指示。在一些实例中,命令完成管理器925可基于接收到第一命令的完成的第二指示来确定寄存器指示第一命令的完成。在一些情况下,命令完成管理器925可在从发射一或多个命令以来的持续时间后确定至少一个命令未完成。在一些实例中,命令完成管理器925可从存储器系统接收指示至少一个命令未完成的指示。在一些实例中,命令完成管理器925可从存储器系统接收已基于发射存取命令完成了至少一个命令的指示。
交错管理器930可从数据大小集合中选择用于信道交错的数据大小。在一些实例中,交错管理器930可基于用于信道交错的数据大小来识别数据的每一部分的大小,其中基于识别出的数据的每一部分的大小来产生一或多个命令。
存取命令发射器935可基于确定至少一个命令未完成来发射存取命令,以使得所述至少一个命令在存取周期期间与存取命令的执行同时完成。在一些实例中,存取命令发射器935可基于识别出存储体集群中包含的存储体来确定将存取命令导向不同于所识别存储体集群内的所识别存储体的存储体,其中基于确定将存取命令导向不同于所识别存储体集群中的所识别存储体的存储体来发射存取命令。在一些情况下,存取命令是响应于确定至少一个命令未完成而存取与至少一个命令相关联的存储体集群的虚拟存取命令。
存储体集群识别器940可基于从存储器系统接收到指示来识别对应于未完成的至少一个命令的存储体集群内包含的存储体。
持续时间管理器945可将持续时间与阈值进行比较。在一些情况下,阈值是基于用于对寄存器进行轮询从而指示一或多个命令的完成状态的周期性。持续时间管理器945可基于所述比较来确定持续时间满足所述阈值,其中基于确定持续时间满足所述阈值来确定至少一个命令未完成。
图10展示说明支持如本文中所公开的数据迁移的一或多种方法1000的流程图。方法1000的操作可由如本文中所描述的控制器(例如,如本文中所描述的页面控制器,如参考图1、2和3所描述的装置存储器控制器155、本地存储器控制器165、本地存储器控制器260、存储器控制器330、存储器子系统控制器365、媒体控制器320)或其组件实施。在一些实例中,控制器可执行指令集以控制存储器阵列的功能元件,从而执行本文中所描述的功能。另外或替代地,控制器可使用专用硬件来执行本文中所描述的功能的方面。
在1005处,控制器可接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示。1005的操作可根据本文中所描述的方法来执行。在一些实例中,1005的操作的方面可由如参考图9所描述的迁移指示符管理器执行。
在1010处,控制器可基于数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求。1010的操作可根据本文中所描述的方法来执行。在一些实例中,1010的操作的方面可由如参考图9所描述的命令产生器执行。
在1015处,控制器可将第一命令发射到存储器系统,所述第一命令含有用于待迁移的数据的部分的请求。1015的操作可根据本文中所描述的方法来执行。在一些实例中,1015的操作的方面可由如参考图9所描述的命令发射器执行。
在1020处,控制器可从存储器系统接收第一命令的完成的第二指示。1020的操作可根据本文中所描述的方法来执行。在一些实例中,1020的操作的方面可由如参考图9所描述的命令完成管理器执行。
描述用于执行一或多种方法(如方法1000)的设备。设备可包含用于以下操作的装置:接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示;基于数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求;将第一命令发射到存储器系统,所述第一命令含有用于待迁移的数据的部分的请求;以及从存储器系统接收第一命令的完成的第二指示。
图11展示说明支持用于如本文中所公开的数据迁移的系统、装置和方法的一或多种方法1100的流程图。方法1100的操作可由如本文中所描述的控制器(例如,如本文中所描述的页面控制器,如参考图1、2和3所描述的装置存储器控制器155、本地存储器控制器165、本地存储器控制器260、存储器控制器330、存储器子系统控制器365、媒体控制器320)或其组件实施。在一些实例中,控制器可执行指令集以控制存储器阵列的功能元件,从而执行本文中所描述的功能。另外或替代地,控制器可使用专用硬件来执行本文中所描述的功能的方面。
在1105处,控制器可通过存储器系统来发射指示数据传送的一或多个命令。1105的操作可根据本文中所描述的方法来执行。在一些实例中,1105的操作的方面可由如参考图9所描述的数据传送管理器执行。
在1110处,控制器可在从发射一或多个命令以来的持续时间后确定至少一个命令未完成。1110的操作可根据本文中所描述的方法来执行。在一些实例中,1110的操作的方面可由如参考图9所描述的未完成命令管理器执行。
在1115处,控制器可基于确定至少一个命令未完成来发射存取命令,以使得所述至少一个命令在存取周期期间与存取命令的执行同时完成。1115的操作可根据本文中所描述的方法来执行。在一些实例中,1115的操作的方面可由如参考图9所描述的存取命令发射器执行。
描述用于执行一或多种方法(如方法1100)的设备。设备可包含用于以下操作的装置:通过存储器系统来发射指示数据传送的一或多个命令;基于从发射一或多个命令以来的持续时间来确定至少一个命令未完成;以及基于确定至少一个命令未完成来发射存取命令,以使得所述至少一个命令在存取周期期间与存取命令的执行同时完成。
描述一种方法。方法可包含:接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示;基于数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求;将第一命令发射到存储器系统,所述第一命令含有用于待迁移的数据的部分的请求;以及从存储器系统接收第一命令的完成的第二指示。
描述一种设备。设备可包含处理器、与处理器电子通信的存储器以及存储在存储器中的指令。指令可可由处理器执行以使得设备进行以下操作:接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示;基于数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求;将第一命令发射到存储器系统,所述第一命令含有用于待迁移的数据的部分的请求;以及从存储器系统接收第一命令的完成的第二指示。
描述另一设备。设备可包含:用于接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示的装置;用于基于数据迁移操作来产生一或多个命令的装置,所述一或多个命令各自包含用于待迁移的数据的一部分的请求;用于将第一命令发射到存储器系统的装置,所述第一命令含有用于待迁移的数据的部分的请求;以及用于从存储器系统接收第一命令的完成的第二指示的装置。
描述一种存储代码的非暂时性计算机可读媒体。代码可包含可由处理器执行以进行以下操作的指令:接收存储于存储器系统的第一存储器装置中的数据将传送到第二存储器装置作为数据迁移操作的部分的第一指示;基于数据迁移操作来产生一或多个命令,所述一或多个命令各自包含用于待迁移的数据的一部分的请求;将第一命令发射到存储器系统,所述第一命令含有用于待迁移的数据的部分的请求;以及从存储器系统接收第一命令的完成的第二指示。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于从数据大小集合中选择用于信道交错的数据大小且基于用于信道交错的数据大小识别出数据的每一部分的大小的操作、特征、装置或指令,其中可基于识别出数据的每一部分的大小来产生一或多个命令。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于将第二命令发射到存储器系统的操作、特征、装置或指令,所述第二命令含有用于基于其产生一或多个命令的数据的第二部分的第二请求。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于将地址映射发射到存储器系统控制器的操作、特征、装置或指令,所述地址映射指示主机装置地址到第二存储器装置内的位置的映射,其中可基于地址映射来产生一或多个命令。
在本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例中,第一存储器装置包含第一类型的存储器单元,且第二存储器装置包含第二类型的存储器单元。
在本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例中,数据的部分可存储于第二存储器装置的超过一个存储体中,且产生一或多个命令可基于存储于第二存储器装置的超过一个存储体中的数据的部分。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于基于接收到第一命令的完成的第二指示来确定寄存器指示第一命令的完成的操作、特征、装置或指令。
描述一种方法。方法可包含:通过存储器系统发射指示数据传送的一或多个命令;在从发射一或多个命令以来的持续时间之后,确定至少一个命令未完成;以及基于确定至少一个命令未完成来发射存取命令,以使得至少一个命令在存取周期期间与存取命令的执行同时完成。
描述一种设备。设备可包含处理器、与处理器电子通信的存储器以及存储在存储器中的指令。指令可由处理器执行以使得设备:通过存储器系统发射指示数据传送的一或多个命令;在从发射一或多个命令以来的持续时间之后,确定至少一个命令未完成;以及基于确定至少一个命令未完成来发射存取命令,以使得至少一个命令在存取周期期间与存取命令的执行同时完成。
描述另一设备。设备可包含:用于通过存储器系统来发射指示数据传送的一或多个命令的装置;用于在从发射一或多个命令以来的持续时间后确定至少一个命令未完成的装置;以及用于基于确定至少一个命令未完成来发射存取命令以使得至少一个命令在存取周期期间与存取命令的执行同时完成的装置。
描述一种存储代码的非暂时性计算机可读媒体。代码可包含可由处理器执行以进行以下操作的指令:通过存储器系统来发射指示数据传送的一或多个命令;在从发射一或多个命令以来的持续时间之后,确定至少一个命令未完成;以及基于确定至少一个命令未完成来发射存取命令,以使得至少一个命令在存取周期期间与存取命令的执行同时完成。
在本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例中,存取命令可以是响应于确定至少一个命令可未完成而存取与至少一个命令相关联的存储体集群的虚拟存取命令。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于进行以下操作的操作、特征、装置或指令:从存储器系统接收指示至少一个命令可未完成的指示;基于从存储器系统接收到指示来识别对应于可未完成的至少一个命令的存储体集群内包含的存储体;以及基于识别出存储体集群中包含的存储体来确定将存取命令导向不同于所识别存储体集群内的所识别存储体的存储体,其中可基于确定将存取命令导向不同于所识别存储体集群内的所识别存储体的存储体来发射存取命令。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于以下操作的操作、特征、装置或指令:将持续时间与阈值进行比较;以及基于所述比较来确定持续时间满足所述阈值,其中可基于确定持续时间满足所述阈值来确定至少一个命令可未完成。
在本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例中,阈值可基于用于对寄存器进行轮询从而指示一或多个命令的完成状态的周期性。
本文中所描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含用于从存储器系统接收可已基于发射存取命令来完成至少一个命令的指示的操作、特征、装置或指令。
描述一种设备。设备可包含:第一接口,其经配置以接收存储于存储器系统中的数据将传送作为数据迁移操作的部分的指示;控制器,其与第一接口耦合且经配置以基于数据迁移操作来产生第一数量的命令,所述一或多个命令各自含有用于待迁移的数据的一部分的请求;以及第二接口,其与经配置以将第一数量的命令载送到存储器系统的第二数量的信道耦合。
一些实例可进一步包含发射存取命令以在与第一数量的命令中的一或多个的执行同时发生的存取周期期间存取所述存储器系统。
设备的一些实例可包含经配置以基于存取命令来指示第一数量的命令中的一或多个的完成的寄存器。
设备的一些实例可包含经配置以对寄存器进行轮询的迁移组件,所述寄存器经配置以指示第一数量的命令中的一或多个的完成。
设备的一些实例可包含与经配置以与存储器系统控制器通信的边带信道耦合的至少一个引脚,其中可使用边带信道来接收指示。
在一些实例中,边带信道可经配置以将第一数量的命令发射到存储器系统控制器。
一些实例可进一步包含:确定第一数量的命令与第二数量的信道之间的关系;以及基于第一数量与第二数量之间的关系而经由第二数量的信道中的一个来发射第一数量的命令中的一或多个。
在一些实例中,存储器系统包含第一存储器装置和第二存储器装置,所述第一存储器装置包含第一类型的存储器单元,所述第二存储器装置包含第二类型的存储器单元。
描述一种设备。设备可包含第一接口、与存储器系统耦合的第二接口、耦合到第一接口和第二接口的控制器,控制器可用于:经由第一接口来接收存储于存储器系统的第一存储器装置中的数据将传送作为数据迁移操作的部分的指示;基于数据迁移操作来产生一或多个命令,所述一或多个命令各自含有用于数据的一部分的请求;经由第二接口将含有请求的至少一个命令发射到存储器系统;基于从发射至少一个命令以来的持续时间来确定至少一个命令未完成;以及基于确定至少一个命令未完成来将虚拟存取命令发射到存储器系统,所述存储器系统经配置以使得至少一个命令在存取周期期间与虚拟存取命令的执行同时完成。
一些实例可进一步包含从存储器系统接收可已基于发射虚拟存取命令完成了至少一个命令的第二指示。
一些实例可进一步包含识别对应于可未完成的至少一个命令的存储体集群;识别对应于可未完成的至少一个命令的存储体集群内包含的存储体;以及确定将虚拟存取命令导向不同于所识别存储体集群内的所识别存储体的存储体。
应注意,本文中所描述的方法描述可能的实施方案,且操作和步骤可重新布置或以其它方式加以修改,且其它实施方案是可能的。此外,可组合来自方法中的两种或更多种的方面。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中总线可具有多种位宽度。
如本文中所使用,术语“虚拟接地”指代保持在大约零伏(0V)的电压下而不直接与接地耦合的电路节点。因此,虚拟接地的电压可在时间上波动且在稳定状态下返回到大约0V。可使用如由运算放大器和电阻器组成的分压器的各种电子电路元件来实施虚拟接地。其它实施方案也是可能的。“虚拟接地”或“虚拟地接地”意味着连接到大约0V。
术语“电子通信”、“导电接触”、“连接”和“耦合”可指代组件之间支持信号在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些情况下,可例如使用如开关或晶体管的一或多个中间组件将所连接组件之间的信号流动中断一段时间。
术语“耦合”指代从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。当如控制器的组件将其它组件耦合在一起时,组件引发允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”指代信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在断路,那么它们彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。当控制器隔离两个组件时,控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
本文中所使用的术语“层”指代几何结构的分层或薄片。每一层可具有三个维度(例如,高度、宽度和深度)且可覆盖表面的至少一部分。举例来说,层可以是三维结构,其中两个维度大于第三维度,例如薄膜。层可包含不同元件、组件和/或材料。在一些情况下,一个层可由两个或更多个子层构成。在一些附图中,出于说明的目的而描绘三维层的两个维度。然而,所属领域的技术人员将认识到,层在本质上是三维的。
如本文中所使用,术语“大体上”意指修饰的特征(例如由术语大体上修饰的动词或形容词)不必是绝对的但要足够接近以便获得特征的优点。
本文中所论述的包含存储器阵列的装置可形成于半导体衬底(如硅、锗、硅锗合金、砷化镓、氮化镓等)上。在一些情况下,衬底是半导体晶片。在其它情况下,衬底可以是绝缘体上硅(SOI)衬底,如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含(但不限于)磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法来执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可以是导电的,且可包括重掺杂(例如简并)的半导体区。源极与漏极可由轻掺杂半导体区或沟道分离。如果沟道是n型(即,大部分载体是电子),则FET可称作n型FET。如果沟道是p型(即,大部分载体是空穴),那么FET可称作p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。举例来说,将正电压或负电压分别施加到n型FET或p型FET可导致沟道变得导电。当将大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“接通”或“激活”。当将小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“解除激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”意指“充当实例、例子或说明”,且不比其它实例“优选”或“有利”。详细描述包含具体细节,以便提供对所描述技术的理解。然而,可在没有这些具特定细节的情况下实践这些技术。在一些情况下,以框图形式展示熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可具有相同参考标记。此外,可通过在参考标签之后跟着长划线和在类似组件之间进行区分的第二标记来区分相同类型的各种组件。如果在说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任一个。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
可使用设计成执行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中的公开内容所描述的各种说明性块和模块。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器或任何其它此类配置)。
本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体发射。其它实例和实施方案在本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,本文中所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合来实施。实施功能的特征也可物理上位于各个位置处,包含分布为使得功能的各部分在不同物理位置处实施。同样,如本文中所使用,包含在权利要求书中,项目的列表(例如,以如“中的至少一个”或“中的一或多个”的短语开始的项目的列表)中所使用的“或”指示包含性列表,使得(例如)A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本发明的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。本公开的各种修改将对所属领域的技术人员显而易见,且本文中所定义的一般原理可在脱离本公开的精神或范围的情况下应用于其它变化形式。因此,本公开不限于本文中所描述的实例和设计,而是赋予与本文中所公开的原理和新颖特征一致的最宽范围。

Claims (15)

1.一种用于数据迁移的方法,其包括:
接收存储于存储器系统的第一存储器装置的第一位置中的数据待传送到第二存储器装置作为数据迁移操作的部分的第一指示;
至少部分地基于所述数据迁移操作产生一或多个命令,所述一或多个命令各自包括用于待迁移的所述数据的一部分的请求;
将第一命令发射到所述存储器系统,所述第一命令含有用于待迁移的数据的所述部分的所述请求;
向所述存储器系统发射对存储在所述第一存储器装置的第二位置中的数据的存取命令;
从所述存储器系统接收所述第一命令的完成的第二指示,其中所述第一命令的所述完成在所述存取命令的所述发射之后。
2.根据权利要求1所述的方法,其进一步包括:
从多个数据大小选择用于信道交错的数据大小;以及
至少部分地基于用于所述信道交错的所述数据大小识别所述数据的每一部分的大小,其中所述一或多个命令至少部分地基于识别所述数据的每一部分的所述大小而产生。
3.根据权利要求1所述的方法,其进一步包括:
至少部分地基于产生所述一或多个命令将第二命令发射到所述存储器系统,所述第二命令含有用于数据的第二部分的第二请求。
4.根据权利要求1所述的方法,其进一步包括:
将地址映射发射到存储器系统控制器,所述地址映射指示主机装置地址到所述第二存储器装置内的位置的映射,其中至少部分地基于所述地址映射来产生所述一或多个命令。
5.根据权利要求1所述的方法,其中所述第一存储器装置包括第一类型的存储器单元,且所述第二存储器装置包括第二类型的存储器单元。
6.根据权利要求1所述的方法,其中所述数据的所述部分存储于所述第二存储器装置的多于一个存储体中,且至少部分地基于存储于所述第二存储器装置的多于一个存储体中的所述数据的所述部分来产生所述一或多个命令。
7.根据权利要求1所述的方法,其进一步包括:
至少部分地基于接收到所述第一命令的所述完成的所述第二指示确定寄存器指示所述第一命令的所述完成。
8.一种用于数据迁移的设备,其包括:
第一接口,其经配置以接收存储于存储器系统中的数据待传送作为数据迁移操作的部分的指示;
控制器,其与所述第一接口耦合且经配置以至少部分地基于所述数据迁移操作产生第一数量的命令,所述命令各自含有用于待迁移的所述数据的一部分的请求;以及
第二接口,其与经配置以将所述第一数量的命令载送到所述存储器系统的第二数量的信道耦合,且经配置以发射存取命令以存取所述存储器系统,其中所述第一数量的命令的执行在发射所述存取命令之后。
9.根据权利要求8所述的设备,其中所述第二接口经配置以:
发射第二存取命令以在与所述第一数量的命令中的一或多者的执行同时发生的存取周期期间存取所述存储器系统。
10.根据权利要求9所述的设备,其进一步包括:
寄存器,其经配置以至少部分地基于所述第二存取命令指示所述第一数量的命令中的所述一或多者的完成。
11.根据权利要求8所述的设备,其进一步包括:
迁移组件,其经配置以对寄存器进行轮询,所述寄存器经配置以指示所述第一数量的命令中的一或多者的完成。
12.根据权利要求8所述的设备,其进一步包括:
至少一个引脚,其与经配置以与存储器系统控制器通信的边带信道耦合,其中使用所述边带信道接收所述指示。
13.根据权利要求12所述的设备,其中所述边带信道经配置以将所述第一数量的命令发射到所述存储器系统控制器。
14.根据权利要求8所述的设备,其中所述控制器经配置以:
确定所述第一数量的命令与所述第二数量的信道之间的关系;以及
至少部分地基于所述第一数量与所述第二数量之间的所述关系经由所述第二数量的信道中的一者发射所述第一数量的命令中的一或多者。
15.根据权利要求8所述的设备,其中所述存储器系统包括第一存储器装置和第二存储器装置,所述第一存储器装置包括第一类型的存储器单元,所述第二存储器装置包括第二类型的存储器单元。
CN201911136571.7A 2018-11-19 2019-11-19 用于数据迁移的系统、装置、技术及方法 Active CN111198658B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/195,018 US11163473B2 (en) 2018-11-19 2018-11-19 Systems, devices, techniques, and methods for data migration
US16/195,018 2018-11-19

Publications (2)

Publication Number Publication Date
CN111198658A CN111198658A (zh) 2020-05-26
CN111198658B true CN111198658B (zh) 2023-11-10

Family

ID=70727595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911136571.7A Active CN111198658B (zh) 2018-11-19 2019-11-19 用于数据迁移的系统、装置、技术及方法

Country Status (2)

Country Link
US (2) US11163473B2 (zh)
CN (1) CN111198658B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11163473B2 (en) 2018-11-19 2021-11-02 Micron Technology, Inc. Systems, devices, techniques, and methods for data migration
US10782911B2 (en) 2018-11-19 2020-09-22 Micron Technology, Inc. Data migration dynamic random access memory
US11182090B2 (en) * 2018-11-19 2021-11-23 Micron Technology, Inc. Systems, devices, and methods for data migration
US11256437B2 (en) 2018-11-19 2022-02-22 Micron Technology, Inc. Data migration for memory operation
TWI736155B (zh) * 2020-02-27 2021-08-11 瑞昱半導體股份有限公司 用於多個記憶裝置的控制方法及相關的記憶體系統
US11194643B1 (en) * 2020-06-03 2021-12-07 Micron Technology, Inc. Access operation status signaling for memory systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
CN101369451A (zh) * 2007-08-14 2009-02-18 三星电子株式会社 固态存储器、包含其的计算机系统和操作其的方法
CN104508638A (zh) * 2012-08-02 2015-04-08 高通股份有限公司 多核心处理系统中的高速缓冲存储器数据迁移
CN108780404A (zh) * 2016-03-16 2018-11-09 谷歌有限责任公司 远程访问数据的有效实时迁移

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996051A (en) 1997-04-14 1999-11-30 Advanced Micro Devices, Inc. Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array
GB2381622B (en) 1997-12-17 2003-06-25 Fujitsu Ltd Synchronous dynamic random access memory apparatus
US7500075B1 (en) 2001-04-17 2009-03-03 Rambus Inc. Mechanism for enabling full data bus utilization without increasing data granularity
US6880056B2 (en) 2002-03-28 2005-04-12 Hewlett-Packard Development, L.P. Memory array and method with simultaneous read/write capability
US20060294295A1 (en) 2005-06-24 2006-12-28 Yukio Fukuzo DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device
JP2007047892A (ja) * 2005-08-08 2007-02-22 Hitachi Ltd 計算機システム及び計算機システムの状態管理方法
US9081669B2 (en) 2006-04-27 2015-07-14 Avalanche Technology, Inc. Hybrid non-volatile memory device
US7941624B2 (en) * 2006-09-28 2011-05-10 Intel Corporation Parallel memory migration
US9355119B2 (en) * 2011-09-22 2016-05-31 Netapp, Inc. Allocation of absent data within filesystems
KR20130127274A (ko) * 2012-05-14 2013-11-22 삼성전자주식회사 메모리 오퍼레이션 타이밍 제어 방법 및 이를 이용한 메모리 시스템
US20130329491A1 (en) 2012-06-12 2013-12-12 Jichuan Chang Hybrid Memory Module
US9076530B2 (en) 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
CN104216837A (zh) 2013-05-31 2014-12-17 华为技术有限公司 一种内存系统、内存访问请求的处理方法和计算机系统
US9691452B2 (en) 2014-08-15 2017-06-27 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
US9477551B1 (en) 2014-12-01 2016-10-25 Datadirect Networks, Inc. Method and system for data migration between high performance computing architectures and file system using distributed parity group information structures with non-deterministic data addressing
US20180107552A1 (en) * 2015-03-31 2018-04-19 International Business Machines Corporation Storage pool migration employing proxy slice requests
US10002072B2 (en) 2015-05-18 2018-06-19 Mediatek Inc. Method and apparatus for controlling data migration in multi-channel memory device
EP3361385A4 (en) * 2015-12-03 2018-11-21 Huawei Technologies Co., Ltd. Data migration method applicable to computer system, and device and computer system utilizing same
US10423568B2 (en) 2015-12-21 2019-09-24 Microsemi Solutions (U.S.), Inc. Apparatus and method for transferring data and commands in a memory management environment
US10255955B2 (en) 2016-02-09 2019-04-09 Samsung Electronics Co., Ltd. Multi-port memory device and a method of using the same
US10268405B2 (en) 2016-03-17 2019-04-23 Mediatek, Inc. Dynamic rank switching for low power volatile memory
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US9940980B2 (en) 2016-06-30 2018-04-10 Futurewei Technologies, Inc. Hybrid LPDDR4-DRAM with cached NVM and flash-nand in multi-chip packages for mobile devices
US10929059B2 (en) * 2016-07-26 2021-02-23 MemRay Corporation Resistance switching memory-based accelerator
US10567006B2 (en) * 2016-08-05 2020-02-18 Sandisk Technologies Llc Data relocation
CN108089814B (zh) 2016-11-23 2021-04-06 中移(苏州)软件技术有限公司 一种数据存储方法及装置
JP6955142B2 (ja) * 2017-03-17 2021-10-27 富士通株式会社 情報処理装置、ストレージ制御方法およびストレージ制御プログラム
JP6905195B2 (ja) 2017-11-16 2021-07-21 富士通株式会社 データ転送装置、演算処理装置及びデータ転送方法
US10678718B2 (en) 2018-01-16 2020-06-09 Marvell Israel (M.I.S.L) Ltd. Network device and method of operation
US11048645B2 (en) 2018-02-01 2021-06-29 Samsung Electronics Co., Ltd. Memory module, operation method therof, and operation method of host
US10360155B1 (en) * 2018-04-05 2019-07-23 Western Digital Technologies, Inc. Multi-tier memory management
US11163473B2 (en) 2018-11-19 2021-11-02 Micron Technology, Inc. Systems, devices, techniques, and methods for data migration
US10782911B2 (en) 2018-11-19 2020-09-22 Micron Technology, Inc. Data migration dynamic random access memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
CN101369451A (zh) * 2007-08-14 2009-02-18 三星电子株式会社 固态存储器、包含其的计算机系统和操作其的方法
CN104508638A (zh) * 2012-08-02 2015-04-08 高通股份有限公司 多核心处理系统中的高速缓冲存储器数据迁移
CN108780404A (zh) * 2016-03-16 2018-11-09 谷歌有限责任公司 远程访问数据的有效实时迁移

Also Published As

Publication number Publication date
US11782626B2 (en) 2023-10-10
CN111198658A (zh) 2020-05-26
US11163473B2 (en) 2021-11-02
US20220113887A1 (en) 2022-04-14
US20200159434A1 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
CN111198658B (zh) 用于数据迁移的系统、装置、技术及方法
US11853578B2 (en) Systems, devices, and methods for data migration
CN112352217A (zh) 基于数据极性的数据存储
CN114514492B (zh) 用于存储器装置的基于架构的电源管理
CN111199761B (zh) 数据迁移动态随机存取存储器
US11709613B2 (en) Data migration for memory operation
CN111312310B (zh) 相位电荷共享
EP4022611A1 (en) Bank configurable power modes
US20220391114A1 (en) Configuring command/address channel for memory
CN115427925A (zh) 用于堆叠存储器系统的主机技术
KR20220110295A (ko) 적층 메모리 시스템을 위한 진리표 확장
CN113056789B (zh) 存储器命令验证
EP3912162B1 (en) Memory system and operations of the same
US10908823B2 (en) Data transfer for wear leveling with bank clusters

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