CN105474183B - 存储器管理 - Google Patents
存储器管理 Download PDFInfo
- Publication number
- CN105474183B CN105474183B CN201480047324.9A CN201480047324A CN105474183B CN 105474183 B CN105474183 B CN 105474183B CN 201480047324 A CN201480047324 A CN 201480047324A CN 105474183 B CN105474183 B CN 105474183B
- Authority
- CN
- China
- Prior art keywords
- global sequence
- block address
- logical block
- memory
- data
- 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
Links
Classifications
-
- 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
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- 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/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了用来管理存储器操作的设备、系统和方法。在一个实施例中,电子装置包括:处理器和存储器控制逻辑,用以从存储器装置检索全局序列号,接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求,从存储器装置中的逻辑块地址检索介质序列号,以及当介质序列号比全局序列号旧时返回空值响应代替存储在逻辑块地址中的数据。也公开和要求保护其它实施例。
Description
技术领域
本公开内容一般涉及电子设备的领域。更特别地,本发明的一些实施例一般涉及电子装置中的存储器管理。
背景技术
许多电子装置包括存储器系统可以使用本地、快速存取的存储器来实现,所述存储器常常体现为易失性存储器,例如动态随机存取存储器(DRAM)等等。当在电子装置中电力被重置时,它引起装置中的易失性存储器被重置,通常重置至零。因此,在假定本地、快速存取的存储器在电力重置操作期间将被重置至零的情况下,装置操作系统通常被写入。
附图说明
参考附图提供详细描述。在不同图中的相同的参考数字的使用指示类似或同样的项目。
图1是根据本文中讨论的各种实施例的用来实现存储器管理的设备的部件的示意性框图图示。
图2和4是根据本文中讨论的各种实施例图示在用来管理存储器的方法中的操作的流程图。
图3是根据本文中讨论的各种实施例的可以用来实现存储器管理的元数据表的示意图。
图5A和5B是根据本文中讨论的各种实施例的可以用在实现存储器等待时间管理的方法中的操作中的序列号的示意图示。
图6-10是根据本文中讨论的各种实施例的可以适于实现存储器等待时间管理的电子装置的示意性框图图示。
具体实施方式
在下面的描述中,陈述了许多特定细节,以便提供对各种实施例的透彻理解。然而,可以在没有特定细节的情况下实践本发明的各种实施例。在其它实例中,公知的方法、规程、部件和电路还没有被详细描述,以致不使本发明的特别的实施例晦涩难懂。此外,本发明的实施例的各种方面可以使用各种构件(诸如集成半导体电路(“硬件”),组成一个或多个程序的计算机可读指令(“软件”),或硬件和软件的某个组合)来执行。为了该公开的目的,对“逻辑”的提及将意味着硬件、软件或其某个组合。
非易失性存储器系统正被开发以在足够快的速度下操作,以便用作本地存取易失性存储器系统。不像易失性存储器,非易失性存储器将不会在电力重置期间自动重置至零。因此,用来管理本地存取易失性存储器的技术例如在用于电子装置的存储器系统中可以在快速调零方法中找到效用。
图1是根据本文中讨论的各种实施例的用来实现存储器管理的设备的部件的示意性框图图示。参考图1,在一些实施例中,中央处理单元(CPU)封装100可以包括:一个或多个CPU 110,耦合至控制集线器120;和本地存储器130。控制集线器120包括存储器控制器122和存储器接口124。
存储器接口124通过通信总线160耦合至一个或多个远程存储器装置140。存储器装置140可以包括控制器142和一个或多个存储体150。在各种实施例中,存储体150的至少一些可以使用非易失性存储器来实现,所述非易失性存储器例如是相变存储器、NAND(闪速)存储器、铁电随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、包含忆阻器技术的存储器、静态随机存取存储器(SRAM)、三维(3D)交叉点存储器诸如相变存储器(PCM)、自旋转移力矩存储器(STT-RAM)或NAND存储器。作为示例,在一些实施例中,(一个或多个)存储器装置140可以包括耦合至存储器通道144的一个或多个直接列式存储器模块(DIMM),所述存储器通道144提供至控制器142的通信链路。在(一个或多个)存储器装置140中的(一个或多个)存储体150的特定配置不是关键的。
如上所述,在一些实施例中,存储器控制器122中的逻辑管理(一个或多个)存储器装置140中的存储器。更特别地,在一些实施例中,存储器控制器122实现操作,所述操作使得存储器装置150的非易失性存储器能够至少在以下的意义上仿真易失性存储器:在电力重置操作之后,对存储器装置140的非易失性存储器的读取操作将返回零。简单地说,存储器控制器122通过确定经受读取操作的逻辑块中的数据是否在最近电力重置操作之前被写入来完成这个。如果逻辑块中的数据在最近电力重置操作之前写入,则存储器控制器返回对读取操作的响应,所述响应包括代替驻留在逻辑块中的数据的零。相反,如果逻辑块中的数据在最近电力重置操作之后写入,则存储器控制器返回对读取操作的响应,所述响应包括驻留在逻辑块中的数据。因此,存储器控制器122允许非易失性存储器仿真易失性存储器的电力重置属性。
在一些实施例中,存储器控制器122在存储器表146中维持以下参数:
全局序列号(GSN):这是每次系统经历电力重置操作时递增的数字参数。存储器控制器将GSN存储在存储器表146中。在一些实施例中,GSN可以被实现为8位二进制数字,使得GSN在它包缠(wrap)回至零之前可以循环通过256个增量。
全局序列号系列号(GSN.S)。在一些实施例中,GSN可以属于多个系列中的一个。全局序列号系列号指示GSM所属于的系列。在一些实施例中,GSN.S可以被实现为全局序列号的最高位。
介质序列号(MSN):每当写入操作涉及(一个或多个)存储器装置140,当前GSN被写入至用于写入操作所涉及的介质的区段的介质元数据,并且变成用于介质的该区段的MSN。
介质序列号系列号(MSN.S)——在一些实施例中,MSN可以属于多个系列中的一个。介质序列号系列号指示MSN所属于的系列。在一些实施例中,MSN.S可以被实现为当介质的区段被写入时从GSN.S拷贝的MSN的最高位。
在系列内完成刷新的标记:这是指示全部刷新(例如,在存储器装置中读取和写入所有地址的后台进程)是否在系列内开始和完成的标记。它可以存储在(一个或多个)存储器装置140中。
由存储器控制器122实现的操作将参考图2和4进行描述。首先参考图2,当包含图1中描绘的存储器系统的电子装置经受电力重置操作时,存储器控制器122在操作210从存储器表146检索当前全局序列号(GSN)。
在操作215,存储器控制器122从电子装置接收存储器请求,所述电子装置包含图1中描绘的存储器系统。如果,在操作220,控制器122接收写入请求,则控制转到操作225,并且控制器122将全局序列号存储在与所请求的逻辑块地址相关联的元数据中作为用于该逻辑块地址的介质序列号。参考图3,在一些实施例中,MSA可以存储在与逻辑块地址相关联的存储器表中。
返回参考图2,如果在操作220,控制器122接收请求以将零写入至(一个或多个)存储器140中的存储器,则控制转到操作230且控制器122递增全局序列号,并且在操作235,控制器122将全局序列号存储在(一个或多个)存储器装置140中。分开地,控制器122可以实现后台进程以将所有零写入至(一个或多个)存储器装置140中的存储器。
相反,如果在操作220,控制器122接收请求以从(一个或多个)存储器装置140读取数据,则控制转到操作240,并且控制器122从图3中描绘的表格读取与读取操作中识别的逻辑块地址相关联的介质序列号。
在操作245,控制器122确定与读取操作中识别的逻辑块地址相关联的介质序列号是否比全局序列号旧。在大多数实例中,该确定可以通过比较介质序列号与全局序列号来做出。如果介质序列号小于全局序列号,则介质序列号比全局序列号旧。
如果在操作245,介质序列号不比全局序列号旧,则控制转到操作250,并且控制器250返回在读取操作中识别的逻辑块地址中存储的数据。相反,如果在操作245,介质序列号比全局序列号旧,则控制转到操作255,并且控制器122返回空值响应,代替在读取请求中识别的逻辑块地址中存储的数据。例如,空值响应可以包括所有零或预先确定的位模式。控制然后转回到操作210,并且控制器122等待来自电子装置的下一个存储器请求。
因此,图2中描绘的操作使得控制器能够具有在(一个或多个)存储器装置140中的非易失性存储器,所述非易失性存储器至少在以下的意义上仿真易失性存储器的操作:涉及自最近电力重置以来没有被写入的存储器的读取操作将返回零,而不是驻留在逻辑块地址中的实际数据。
存储器限制规定全局序列号具有在大小上的有限限制。在一些实施例中,当全局序列号命中有限限制时,它包缠回至零。这个包缠可以导致以下情况:其中即使逻辑块地址自最近电力重置操作以来还没有接收到写入操作,介质序列号也可能高于全局序列号。在操作245做出的确定必须适应环境,其中全局序列号包缠回至零。例如,在检测到序列号包缠时,介质控制器可以手动地写入所有零。
在一些实施例中,控制器使用全局序列号系列号和介质序列号系列号以适应其中全局序列号包缠的情况。用来管理这种情况的逻辑呈现在图4中。参考图4,在操作410,控制器122接收请求以递增全局序列号。
如果在操作410,该递增没有使全局序列号包缠回至零,则控制转到操作420,并且全局序列号以正常方式递增。相反,如果在操作415,全局序列号递增使全局序列号包缠,则控制转到操作425,其中在系列内完成刷新的标记的状态被检查以确定是否设置了在系列内完成刷新的标记。
在一些实施例中,控制器122实现单独的进程,所述单独的进程监视对(一个或多个)存储器装置140的写入操作且当(一个或多个)存储器装置140中的所有逻辑块地址自最近电力重置操作以来已经被写入有数据时设置刷新标记。因此,设置的刷新标记指示(一个或多个)存储器装置140中的所有逻辑块地址自最近电力重置操作以来已经被写入有新数据。
如果,在操作425,没有设置刷新标记,则(一个或多个)存储器装置140中的数据中的一些自最近电力重置操作以来没被重新写入。在这种情况下,控制转到操作430,并且控制器122将零写入至(一个或多个)存储器装置140的逻辑地址空间中的所有地址,实质上迫使(一个或多个)存储器装置140的非易失性存储器响应于电力重置而仿真易失性存储器的调零功能。这在图5A中图示。
控制然后转到操作435,并且清除刷新标记。在操作440,全局序列号包缠回至零,并且在操作445,系列位反转。
相反,如果在操作425,设置了刷新标记,则不存在将零写入至(一个或多个)存储器装置140中的非易失性存储器的需要,并且控制可以直接转到操作435-445。这在图5B中图示。
因此,图4中描绘的操作确保包缠回至零的全局序列号不导致数据从具有高于全局序列号的介质序列号的(一个或多个)存储器装置140中的逻辑块地址的错误读取。
如上所述,在一些实施例中,电子装置可以体现为计算机系统。图6图示了根据本发明的实施例的计算系统600的框图。计算系统600可以包括经由互连网络(或总线)604通信的一个或多个中央处理单元(CPU)602或处理器。处理器602可以包括通用处理器,网络处理器(其处理通过计算机网络603通信的数据),或者其它类型的处理器(包括简化指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器602可以具有单核或多核设计。具有多核设计的处理器602可以在相同的集成电路(IC)管芯上集成不同类型的处理器内核。而且,具有多核设计的处理器602可以被实现为对称或非对称多处理器。在实施例中,处理器602中的一个或多个可以与图1中的处理器102相同或类似。例如,处理器602中的一个或多个可以包括参考图1-3讨论的控制单元120。而且,参考图3-5讨论的操作可以由系统600的一个或多个部件执行。
芯片组606也可以与互连网络604通信。芯片组606可以包括存储器控制集线器(MCH)608。MCH 608可以包括与存储器612(其可以与图1的存储器130相同或类似)通信的存储器控制器610。存储器412可以存储包括指令的序列的数据,所述数据可以由CPU 602或包括在计算系统600中的任何其它装置执行。在本发明的一个实施例中,存储器612可以包括一个或多个易失性存储(或存储器)装置,诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、或其它类型的存储装置。也可以利用非易失性存储器,诸如硬盘。附加的装置(诸如多个CPU和/或多个系统存储器)可以经由互连网络604通信。
MCH 608也可以包括与显示装置616通信的图形接口614。在本发明的一个实施例中,图形接口614可以经由加速图形端口(AGP)与显示装置616通信。在本发明的实施例中,显示器616(诸如平板显示器)可以通过例如信号转换器来与图形接口614通信,所述信号转换器将存储在存储装置(诸如视频存储器或系统存储器)中的图像的数字表示转化为由显示器616解译且显示的显示信号。由显示装置产生的显示信号可以在由显示器616解译且随后显示在显示器616上之前经过各种控制装置。
集线器接口618可以允许MCH 608和输入/输出控制集线器(ICH)620进行通信。ICH620可以提供到与计算系统600通信的(一个或多个)I/O装置的接口。ICH 620可以通过外围桥(或控制器)624与总线622通信,所述外围桥(或控制器)624诸如是外围部件互连(PCI)桥、通用串行总线(USB)控制器、或其它类型的外围桥或控制器。桥624可以提供在CPU 602与外围装置之间的数据路径。可以利用其它类型的拓扑。而且,多个总线可以例如通过多个桥或控制器与ICH 620通信。此外,在本发明的各种实施例中,与ICH 620通信的其它外围设备可以包括集成驱动电子设备(IDE)或(一个或多个)小计算机系统接口(SCSI)硬驱动、(一个或多个)USB端口、键盘、鼠标、(一个或多个)并行端口、(一个或多个)串行端口、(一个或多个)软盘驱动、数字输出支持(例如,数字视频接口(DVI))、或者其它装置。
总线622可以与音频装置626、一个或多个磁盘驱动628和网络接口装置630(其处于与计算机网络603的通信中)通信。其它装置可以经由总线622进行通信。而且,在本发明的一些实施例中,各种部件(诸如网络接口装置630)可以与MCH 608通信。此外,处理器602和本文中讨论的一个或多个其它部件可以组合以形成单个芯片(例如,以提供片上系统(SOC))。此外,在本发明的其它实施例中,图形加速器616可以被包括在MCH 608内。
此外,计算系统600可以包括易失性和/或非易失性存储器(或存储设备)。例如,非易失性存储器可以包括以下的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动(例如,628)、软盘、光盘ROM(CD-ROM)、数字通用盘(DVD)、闪速存储器、磁光盘、或能够存储电子数据(例如,包括指令)的其它类型的非易失性机器可读介质。
图7图示了根据本发明的实施例的计算系统700的框图。系统700可以包括一个或多个处理器702-1至702-N(本文中一般被称为“多个处理器702”或“一个处理器702”)。处理器702可以经由互连网络或总线704通信。每一个处理器可以包括各种部件,为了清楚起见所述各种部件中的一些仅参考处理器702-1讨论。因此,剩余处理器702-2至702-N中的每一个可以包括参考处理器702-1讨论的相同或类似的部件。
在实施例中,处理器702-1可以包括一个或多个处理器内核706-1至706-M(本文中被称为“多个内核706”,或更一般地被称为“一个内核706”)、共享高速缓存708、路由器710、和/或处理器控制逻辑或单元720。处理器内核706可以被实现在单个集成电路(IC)芯片上。此外,芯片可以包括一个或多个共享和/或私有高速缓存(诸如高速缓存708)、总线或互连(诸如总线或互连网络712)、存储器控制器、或其它部件。
在一个实施例中,路由器710可以用于在处理器702-1和/或系统700的各种部件之间通信。此外,处理器702-1可以包括多于一个路由器710。此外,该许多个路由器710可以进行通信以实现在处理器702-1内部或外部的各种部件之间的数据路由。
共享高速缓存708可以存储数据(例如,包括指令),所述数据由处理器702-1的一个或多个部件(诸如内核706)利用。例如,共享高速缓存708可以对存储在存储器714中的数据进行本地缓存以用于由处理器702的部件进行的更快的存取。在实施例中,高速缓存708可以包括中间级高速缓存(诸如2级(L2)、3级(L3)、4级(L4)、或其它级别的高速缓存)、末级高速缓存(LLC)、和/或其组合。此外,处理器702-1的各种部件可以通过总线(例如,总线712)和/或存储器控制器或集线器直接与共享高速缓存708通信。如图7中所示,在一些实施例中,内核706中的一个或多个可以包括1级(L1)高速缓存716-1(本文中一般被称为“L1高速缓存716”)。在一个实施例中,控制单元720可以包括逻辑以实现上面参考图2中的存储器控制器122描述的操作。
图8图示根据本发明的实施例的处理器内核706的部分和计算系统的其它部件的框图。在一个实施例中,图8中示出的箭头图示指令通过内核706的流动方向。一个或多个处理器内核(诸如处理器内核706)可以被实现在诸如参考图7讨论的单个集成电路芯片(或管芯)上。此外,芯片可以包括一个或多个共享和/或私有高速缓存(例如,图7的高速缓存708)、互连(例如,图7的互连704和/或112)、控制单元、存储器控制器或其它部件。
如图8中图示的,处理器内核706可以包括提取单元802以提取用于由内核706执行的指令(包括具有条件分支的指令)。该指令可以提取自任何存储装置,诸如存储器714。内核706也可以包括解码单元804以对所提取的指令进行解码。例如,解码单元804可以将所提取的指令解码为多个uop(微操作)。
此外,内核706可以包括调度单元806。调度单元806可以执行与存储解码后的指令(例如,接收自解码单元804)相关联的各种操作,直到指令准备好分派为止,例如直到解码后的指令的所有源值变得可用为止。在一个实施例中,调度单元806可以调度和/或发布(或分派)解码后的指令到执行单元808以用于执行。执行单元808在分派的指令被解码(例如,通过解码单元804)和分派(例如,通过调度单元806)之后可以执行分派的指令。在实施例中,执行单元808可以包括多于一个执行单元。执行单元808也可以执行各种算法操作,诸如加、减、乘、和/或除,并且可以包括一个或多个算法逻辑单元(ALU)。在实施例中,协处理器(未示出)可以结合执行单元808执行各种算法操作。
此外,执行单元808可以无序执行指令。因此,在一个实施例中,处理器内核706可以是无序处理器内核。内核706也可以包括引退(retirement)单元810。引退单元810可以使执行的指令在它们被提交之后引退。在实施例中,执行的指令的引退可以导致处理器状态根据指令的执行被提交,由指令使用的物理寄存器被解除分配,等等。
内核706也可以包括总线单元714以经由一个或多个总线(例如,总线804和/或812)实现处理器内核706的部件与其它部件(诸如参考图8讨论的部件)之间的通信。内核706也可以包括一个或多个寄存器816以存储由内核706的各种部件存取的数据(诸如与功率消耗状态设置相关的值)。
此外,即使图7图示了控制单元720经由互连812耦合至内核706,但在各种实施例中,控制单元720也可以被定位在别处(诸如被定位在内核706内部),经由总线704耦合至内核,等等。
在一些实施例中,本文中讨论的部件中的一个或多个可以体现为片上系统(SOC)装置。图9图示了根据实施例的SOC封装的框图。如图9中图示的,SOC 902包括一个或多个中央处理单元(CPU)内核920、一个或多个图形处理器单元(GPU)内核930、输入/输出(I/O)接口940、和存储器控制器942。SOC封装902的各种部件可以耦合至诸如本文中参考其它图讨论的总线或互连。而且,SOC封装902可以包括更多或更少的部件,诸如本文中参考其它图讨论的那些。此外,SOC封装902的每一个部件可以包括例如如本文中参考其它图讨论的一个或多个其它部件。在一个实施例中,SOC封装902(和其部件)被提供在一个或多个集成电路(IC)管芯上,例如,所述一个或多个集成电路(IC)管芯被封装成单个半导体装置。
如图9中图示的,SOC封装902经由存储器控制器942耦合至存储器960(其可以类似于本文中参考其它图讨论的存储器或与本文中参考其它图讨论的存储器相同)。在实施例中,存储器960(或它的部分)可以集成在SOC封装902上。
I/O接口940可以例如经由诸如本文中参考其它图讨论的互连和/或总线耦合至一个或多个I/O装置970。(一个或多个)I/O装置970可以包括键盘、鼠标、触摸板、显示器、图像/视频捕获装置(诸如摄像头或可携式摄像机/视频录像机)、触摸屏、扬声器等中的一个或多个。
图10图示了根据本发明的实施例的布置在点对点(PtP)配置中的计算系统1000。特别是,图10示出了其中处理器、存储器、和输入/输出装置通过许多点对点接口互连的系统。参考图2讨论的操作可以由系统1000的一个或多个部件执行。
如图10中图示的,系统1000可以包括若干处理器,为了清楚起见示出了所述若干处理器中的仅两个处理器1002和1004。处理器1002和1004均可以包括本地存储器控制器集线器(MCH)1006和1008以实现与存储器1010和1012的通信。在一些实施例中,MCH 1006和1008可以包括图1的存储器控制器120和/或逻辑125。
在实施例中,处理器1002和1004可以是参考图7讨论的处理器702中的一个。处理器1002和1004可以分别使用PtP接口电路1016和1018经由点对点(PtP)接口1014交换数据。而且,处理器1002和1004均可以使用点对点接口电路1026、1028、1030和1032经由各个PtP接口1022和1024与芯片组1020交换数据。芯片组1020还可以例如使用PtP接口电路1037经由高性能图形接口1036与高性能图形电路1034交换数据。
如图10中所示,图1的高速缓存108和/或内核106中的一个或多个可以被定位在处理器902和904内。然而,本发明的其它实施例可以存在于图9的系统900内的其它电路、逻辑单元、或装置中。此外,本发明的其它实施例可以遍及图9中图示的若干电路、逻辑单元、或装置分布。
芯片组920可以使用PtP接口电路941与总线940通信。总线940可以具有与它通信的一个或多个装置,诸如总线桥942和I/O装置943。经由总线944,总线桥943可以与其它装置通信,所述其它装置诸如是键盘/鼠标945、通信装置946(诸如调制解调器、网络接口装置、或可以与计算机网络803通信的其它通信装置)、音频I/O装置、和/或数据存储装置948。数据存储装置948(其可以是硬磁盘驱动或基于NAND闪存的固态驱动)可以存储代码949,所述代码949可以由处理器902和/或904执行。
下面的示例关于进一步的实施例。
示例1是存储器控制器,该存储器控制器包括:逻辑,用以从存储器装置检索全局序列号,接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求,从存储器装置中的逻辑块地址检索介质序列号,以及当介质序列号比全局序列号旧时返回空值响应代替存储在逻辑块地址中的数据。
在示例2中,示例1所述的主题可以可选地包括:逻辑,用以当介质序列不比全局序列号旧时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
在示例3中,示例1-2中的任何一个所述的主题可以可选地包括:逻辑,用以接收写入请求以将数据写入至存储器装置中的逻辑块地址并且将全局序列号存储到与所请求的逻辑块地址相关联的元数据中作为介质序列号。
在示例4中,示例1-3中的任何一个所述的主题可以可选地包括:逻辑,用以接收零存储器请求,以及响应于零存储器命令,递增全局序列号,以及将全局序列号存储在存储器装置中。
在示例5中,示例1-4中的任何一个所述的主题可以可选地包括:布置,其中全局序列号包括识别全局序列号所属于的系列的全局序列系列号,并且介质序列号包括识别介质序列号所属于的系列的介质序列系列号。
在示例6中,示例1-5中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号等于全局序列系列号且介质序列号小于全局序列号时,返回空值响应代替存储在逻辑块地址中的数据。
在示例7中,示例1-6中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号等于全局序列系列号且介质序列号小于全局序列号时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
在示例8中,示例1-7中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号不等于全局序列系列号时,返回空值响应代替存储在逻辑块地址中的数据。
示例9是一种电子装置,该电子装置包括:处理器和存储器控制逻辑,用以从存储器装置检索全局序列号,接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求,从存储器装置中的逻辑块地址检索介质序列号,以及当介质序列号比全局序列号旧时返回空值响应代替存储在逻辑块地址中的数据。
在示例10中,示例9所述的主题可以可选地包括:逻辑,用以从装置接收对于数据的请求,以及响应于来自装置的请求,生成对于来自远程存储器装置的数据的请求。
在示例11中,示例9-10中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列不比全局序列号旧时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
在示例12中,示例9-11中的任何一个所述的主题可以可选地包括:逻辑,用以接收写入请求以将数据写入至存储器装置中的逻辑块地址,并且将全局序列号存储到与所请求的逻辑块地址相关联的元数据中作为介质序列号。
在示例13中,示例9-12中的任何一个所述的主题可以可选地包括:逻辑,用以接收零存储器请求,并且响应于零存储器命令,递增全局序列号,并且将全局序列号存储在存储器装置中。
在示例14中,示例9-12中的任何一个所述的主题可以可选地包括:布置,其中全局序列号包括识别全局序列号所属于的系列的全局序列系列号,并且介质序列号包括识别介质序列号所属于的系列的介质序列系列号。
在示例15中,示例9-14中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号等于全局序列系列号且介质序列号小于全局序列号时,返回空值响应代替存储在逻辑块地址中的数据。
在示例16中,示例9-15中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号等于全局序列系列号且介质序列号小于全局序列号时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
在示例17中,示例9-16中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号不等于全局序列系列号时,返回空值响应代替存储在逻辑块地址中的数据。
示例18是一种计算机程序产品,所述计算机程序产品包括存储在非瞬态计算机可读介质中的逻辑指令,所述逻辑指令当由处理器执行时配置处理器以从存储器装置检索全局序列号,接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求,从存储器装置中的逻辑块地址检索介质序列号,以及当介质序列号比全局序列号旧时返回空值响应代替存储在逻辑块地址中的数据。
在示例19中,示例18所述的主题可以可选地包括:逻辑,用以当介质序列不比全局序列号旧时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
在示例20中,示例18-19中的任何一个所述的主题可以可选地包括:逻辑,用以接收写入请求以将数据写入至存储器装置中的逻辑块地址,并且将全局序列号存储到与所请求的逻辑块地址相关联的元数据中作为介质序列号。
在示例21中,示例18-20中的任何一个所述的主题可以可选地包括:逻辑,用以接收零存储器请求,并且响应于零存储器命令,递增全局序列号,并且将全局序列号存储在存储器装置中。
在示例22中,示例18-21中的任何一个所述的主题可以可选地包括:布置,其中全局序列号包括识别全局序列号所属于的系列的全局序列系列号,并且介质序列号包括识别介质序列号所属于的系列的介质序列系列号。
在示例23中,示例18-22中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号等于全局序列系列号且介质序列号小于全局序列号时,返回空值响应代替存储在逻辑块地址中的数据。
在示例24中,示例18-23中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号等于全局序列系列号且介质序列号小于全局序列号时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
在示例25中,示例18-24中的任何一个所述的主题可以可选地包括:逻辑,用以当介质序列系列号不等于全局序列系列号时,返回空值响应代替存储在逻辑块地址中的数据。
在本发明的各种实施例中,在本文中例如参考图1-9讨论的操作可以被实现为硬件(例如,电路)、软件、固件、微代码、或其组合,其可以被提供为例如包括有形(例如,非瞬态)机器可读或计算机可读介质的计算机程序产品,所述有形(例如,非瞬态)机器可读或计算机可读介质具有存储在其上的指令(或软件规程),所述指令用来对计算机编程以执行本文中讨论的进程。而且,术语“逻辑”可以包括作为示例的软件、硬件、或软件和硬件的组合。机器可读介质可以包括存储装置,诸如本文中讨论的那些。
在说明书中对“一个实施例”或“实施例”的提及意味着结合实施例描述的特别的特征、结构、或特性可以被包括在至少实施方式中。短语“在一个实施例中”在说明书中的各种地方中的出现可以或可以不都参考相同的实施例。
而且,在说明书和权利要求中,可以使用术语“耦合”和“连接”连同它们的派生词。在本发明的一些实施例中,“连接”可以用来指示两个或更多的元件处于彼此直接物理接触或电接触。“耦合”可以意味着两个或更多的元件处于直接物理接触或电接触。然而,“耦合”也可以意味着两个或更多的元件彼此可以不处于直接接触,但仍可以彼此合作或相互作用。
因此,尽管本发明的实施例已经以特定于结构特征和/或方法的动作的语言被描述,但将理解的是,所要求保护的主题可以不限于所描述的特定特征或动作。相反,特定特征和动作被公开为实现所要求保护的主题的样本形式。
Claims (25)
1.一种存储器控制器,配置成:
从存储器装置检索全局序列号;
接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求;
从存储器装置中的逻辑块地址检索介质序列号;以及
当介质序列号比全局序列号旧时返回空值响应,代替存储在逻辑块地址中的数据。
2.根据权利要求1所述的存储器控制器,还包括:逻辑,用以:
当介质序列号不比全局序列号旧时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
3.根据权利要求1所述的存储器控制器,还配置成:
接收写入请求以将数据写入至存储器装置中的逻辑块地址;以及
将全局序列号存储到与所请求的逻辑块地址相关联的元数据中作为介质序列号。
4.根据权利要求1所述的存储器控制器,还配置成:
接收调零存储器请求,以及响应于调零存储器请求:
递增全局序列号;以及
将全局序列号存储在存储器装置中。
5.根据权利要求1所述的存储器控制器,其中
全局序列号包括识别全局序列号所属于的系列的全局序列系列号;并且
介质序列号包括识别介质序列号所属于的系列的介质序列系列号。
6.根据权利要求5所述的存储器控制器,还配置成:
当:
介质序列系列号等于全局序列系列号;以及
介质序列号小于全局序列号时,
返回空值响应代替存储在逻辑块地址中的数据。
7.根据权利要求5所述的存储器控制器,还配置成:
当:
介质序列系列号等于全局序列系列号;并且
介质序列号小于全局序列号时,
返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
8.根据权利要求5所述的存储器控制器,还配置成:
当介质序列系列号不等于全局序列系列号时,返回空值响应代替存储在逻辑块地址中的数据。
9.一种电子装置,包括:
处理器;以及
存储器控制器,用以:
从存储器装置检索全局序列号;
接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求;
从存储器装置中的逻辑块地址检索介质序列号,以及
当介质序列号比全局序列号旧时返回空值响应代替存储在逻辑块地址中的数据。
10.根据权利要求9所述的电子装置,其中,存储器控制器还用以:
从另一装置接收对于数据的请求,以及
响应于来自所述另一装置的请求,生成对于来自远程存储器装置的数据的请求。
11.根据权利要求10所述的电子装置,其中,存储器控制器还用以:
当介质序列号不比全局序列号旧时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
12.根据权利要求9所述的电子装置,其中,存储器控制器还用以:
接收写入请求以将数据写入至存储器装置中的逻辑块地址;以及
将全局序列号存储到与所请求的逻辑块地址相关联的元数据中作为介质序列号。
13.根据权利要求9所述的电子装置,其中,存储器控制器还用以:
接收调零存储器请求,以及响应于调零存储器请求:
递增全局序列号;以及
将全局序列号存储在存储器装置中。
14.根据权利要求9所述的电子装置,其中,
全局序列号包括识别全局序列号所属于的系列的全局序列系列号;并且
介质序列号包括识别介质序列号所属于的系列的介质序列系列号。
15.根据权利要求14所述的电子装置,其中,存储器控制器还用以:
当:
介质序列系列号等于全局序列系列号;并且
介质序列号小于全局序列号时,
返回空值响应代替存储在逻辑块地址中的数据。
16.根据权利要求14所述的电子装置,其中,存储器控制器还用以:
当:
介质序列系列号等于全局序列系列号;并且
介质序列号小于全局序列号时,
返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
17.根据权利要求14所述的电子装置,其中,存储器控制器还用以:
当介质序列系列号不等于全局序列系列号时,返回空值响应代替存储在逻辑块地址中的数据。
18.一种计算机可读介质,包括逻辑指令,所述逻辑指令当由处理器执行时配置处理器以:从存储器装置检索全局序列号;
接收对于存储在存储器装置中的逻辑块地址中的数据的读取请求;
从存储器装置中的逻辑块地址检索介质序列号;以及
当介质序列号比全局序列号旧时返回空值响应代替存储在逻辑块地址中的数据。
19.根据权利要求18所述的计算机可读介质,还包括逻辑指令,当由处理器执行时配置处理器以:
当介质序列号不比全局序列号旧时,返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
20.根据权利要求18所述的计算机可读介质,还包括逻辑指令,当由处理器执行时配置处理器以:
接收写入请求以将数据写入至存储器装置中的逻辑块地址;以及
将全局序列号存储到与所请求的逻辑块地址相关联的元数据中作为介质序列号。
21.根据权利要求18所述的计算机可读介质,还包括逻辑指令,当由处理器执行时配置处理器以:
接收调零存储器请求,以及响应于调零存储器请求:
递增全局序列号;并且
将全局序列号存储在存储器装置中。
22.根据权利要求18所述的计算机可读介质,其中:
全局序列号包括识别全局序列号所属于的系列的全局序列系列号;并且
介质序列号包括识别介质序列号所属于的系列的介质序列系列号。
23.根据权利要求22所述的计算机可读介质,还包括逻辑指令,当由处理器执行时配置处理器以:
当:
介质序列系列号等于全局序列系列号;并且
介质序列号小于全局序列号时,
返回空值响应代替存储在逻辑块地址中的数据。
24.根据权利要求22所述的计算机可读介质,还包括逻辑指令,当由处理器执行时配置处理器以:
当:
介质序列系列号等于全局序列系列号;以及
介质序列号小于全局序列号时,
返回包括存储在存储器装置中的逻辑块地址中的数据的响应。
25.根据权利要求22所述的计算机可读介质,还包括逻辑指令,当由处理器执行时配置处理器以:
当介质序列系列号不等于全局序列系列号时,返回空值响应代替存储在逻辑块地址中的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/039,129 US9317421B2 (en) | 2013-09-27 | 2013-09-27 | Memory management |
US14/039129 | 2013-09-27 | ||
PCT/US2014/056218 WO2015047848A1 (en) | 2013-09-27 | 2014-09-18 | Memory management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105474183A CN105474183A (zh) | 2016-04-06 |
CN105474183B true CN105474183B (zh) | 2018-10-23 |
Family
ID=52741300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480047324.9A Active CN105474183B (zh) | 2013-09-27 | 2014-09-18 | 存储器管理 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9317421B2 (zh) |
KR (1) | KR101743409B1 (zh) |
CN (1) | CN105474183B (zh) |
BR (1) | BR112016003873B1 (zh) |
GB (1) | GB2532667B (zh) |
RU (1) | RU2643499C2 (zh) |
WO (1) | WO2015047848A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014178814A2 (en) * | 2013-04-29 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Non-volatile memory to store resettable data |
US10222990B2 (en) * | 2015-07-24 | 2019-03-05 | Sandisk Technologies Llc | Optimistic read operation |
CN109164976B (zh) * | 2016-12-21 | 2021-12-31 | 北京忆恒创源科技股份有限公司 | 利用写缓存优化存储设备性能 |
US9747158B1 (en) * | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10606513B2 (en) * | 2017-12-06 | 2020-03-31 | Western Digital Technologies, Inc. | Volatility management for non-volatile memory device |
US11579770B2 (en) | 2018-03-15 | 2023-02-14 | Western Digital Technologies, Inc. | Volatility management for memory device |
CN113050874A (zh) * | 2019-12-26 | 2021-06-29 | 华为技术有限公司 | 一种内存设置方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101273336A (zh) * | 2005-09-27 | 2008-09-24 | 英特尔公司 | 在掉电的情况下保存系统上下文 |
CN101923499A (zh) * | 2009-03-30 | 2010-12-22 | 英特尔公司 | 执行防电源故障高速缓存而无需原子元数据的技术 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100080B2 (en) * | 2002-05-08 | 2006-08-29 | Xiotech Corporation | Write cache recovery after loss of power |
US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US20070083697A1 (en) * | 2005-10-07 | 2007-04-12 | Microsoft Corporation | Flash memory management |
US20090171650A1 (en) | 2007-12-27 | 2009-07-02 | Unity Semiconductor Corporation | Non-Volatile memories in interactive entertainment systems |
US20090313416A1 (en) | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US9069806B2 (en) * | 2012-03-27 | 2015-06-30 | Google Inc. | Virtual block devices |
-
2013
- 2013-09-27 US US14/039,129 patent/US9317421B2/en active Active
-
2014
- 2014-09-18 KR KR1020167005237A patent/KR101743409B1/ko active IP Right Grant
- 2014-09-18 CN CN201480047324.9A patent/CN105474183B/zh active Active
- 2014-09-18 RU RU2016107014A patent/RU2643499C2/ru active
- 2014-09-18 BR BR112016003873-8A patent/BR112016003873B1/pt active IP Right Grant
- 2014-09-18 WO PCT/US2014/056218 patent/WO2015047848A1/en active Application Filing
- 2014-09-18 GB GB1603375.5A patent/GB2532667B/en active Active
-
2016
- 2016-04-18 US US15/132,154 patent/US20170024138A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101273336A (zh) * | 2005-09-27 | 2008-09-24 | 英特尔公司 | 在掉电的情况下保存系统上下文 |
CN101923499A (zh) * | 2009-03-30 | 2010-12-22 | 英特尔公司 | 执行防电源故障高速缓存而无需原子元数据的技术 |
Also Published As
Publication number | Publication date |
---|---|
US20150095563A1 (en) | 2015-04-02 |
BR112016003873A2 (pt) | 2020-10-27 |
RU2016107014A (ru) | 2017-08-31 |
US20170024138A1 (en) | 2017-01-26 |
WO2015047848A1 (en) | 2015-04-02 |
GB2532667B (en) | 2020-09-23 |
CN105474183A (zh) | 2016-04-06 |
GB2532667A (en) | 2016-05-25 |
US9317421B2 (en) | 2016-04-19 |
GB201603375D0 (en) | 2016-04-13 |
KR101743409B1 (ko) | 2017-06-15 |
KR20160039262A (ko) | 2016-04-08 |
RU2643499C2 (ru) | 2018-02-01 |
BR112016003873B1 (pt) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105474183B (zh) | 存储器管理 | |
CN105474184B (zh) | 用来管理高容量储存器装置的设备和方法 | |
CN104025060B (zh) | 支持近存储器和远存储器访问的存储器通道 | |
CN105917410B (zh) | 自旋转移矩存储器中的写入操作 | |
CN104115129B (zh) | 用于从处理器到存储器子系统智能刷新数据的系统和方法 | |
CN104781885B (zh) | 用于对行敲击事件进行响应的方法、装置和系统 | |
CN106663472A (zh) | 非易失性存储器中的恢复算法 | |
CN104115230B (zh) | 基于高效pcms刷新机制的计算装置、方法和系统 | |
CN108268421A (zh) | 用于在机架规模环境中提供可重新配置的数据层的机制 | |
JP2008515069A5 (zh) | ||
US10503655B2 (en) | Data block sizing for channels in a multi-channel high-bandwidth memory | |
BR112020024353B1 (pt) | Método realizado por aparelho de processamento de dados, sistema e meio de armazenamento de computador não transitório | |
JP2019525277A (ja) | 共有機械学習データ構造 | |
KR20200098710A (ko) | 다수의 메모리 유형 메모리 모듈 시스템 및 방법 | |
CN109978977A (zh) | 使用预取的图形数据执行基于图块的渲染的装置和方法 | |
US20170083443A1 (en) | Method and apparatus for pre-fetching data in a system having a multi-level system memory | |
CN106233258B (zh) | 可变宽度纠错 | |
CN107592927A (zh) | 管理扇区高速缓存 | |
CN108292281A (zh) | 实现带宽服务质量的非一致性存储器访问延迟调整 | |
RU2644529C2 (ru) | Отображение встроенного адреса есс | |
US20230128653A1 (en) | Memory device and method for controlling row hammer | |
US20170062023A1 (en) | Systems and methods to rejuvenate nonvolatile memory using timestamps | |
CN108959105B (zh) | 一种实现地址映射的方法及装置 | |
JP7471230B2 (ja) | 仮想化のためのプロセッサ特徴id応答 | |
US11853758B2 (en) | Techniques for decoupled access-execute near-memory processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |