CN109923514B - 对数据的存储器操作 - Google Patents

对数据的存储器操作 Download PDF

Info

Publication number
CN109923514B
CN109923514B CN201780068786.2A CN201780068786A CN109923514B CN 109923514 B CN109923514 B CN 109923514B CN 201780068786 A CN201780068786 A CN 201780068786A CN 109923514 B CN109923514 B CN 109923514B
Authority
CN
China
Prior art keywords
management unit
data
memory
management
state
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
CN201780068786.2A
Other languages
English (en)
Other versions
CN109923514A (zh
Inventor
P·阿马托
D·巴卢智
D·卡拉乔
E·孔法洛涅里
M·达拉波拉
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 CN109923514A publication Critical patent/CN109923514A/zh
Application granted granted Critical
Publication of CN109923514B publication Critical patent/CN109923514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

本发明包含涉及对数据的存储器操作的设备及方法。实例性方法可包含:通过将数据从第一管理单元写入到第二管理单元而执行操作;及将所述第一管理单元置于自由状态,其中所述第一管理单元位于离所述第二管理单元特定距离处。

Description

对数据的存储器操作
技术领域
本发明一般来说涉及存储器装置,且更特定来说,涉及用于对数据的存储器操作的设备及方法。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要维持其数据的电力且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过当未供电时保留经存储数据而提供永久性数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM)等等。
存储器还用作各种电子应用的易失性及非易失性数据存储装置。非易失性存储器可于例如个人计算机、便携式记忆棒、数码相机、蜂窝电话、便携式音乐播放器中,例如MP3播放器、电影播放器及其它电子装置。存储器单元可经布置成阵列,其中阵列用于存储器装置中。
附图说明
图1是根据本发明的数个实施例的呈包含存储器装置的运算系统的形式的设备的框图。
图2是根据本发明的数个实施例的存储器装置上的控制器的框图。
图3说明根据本发明的数个实施例的存储器装置上的实例管理单元。
图4说明根据本发明的数个实施例的对数个管理单元执行的数个损耗均衡操作。
图5说明根据本发明的数个实施例的对数个管理单元执行的数个损耗均衡操作。
图6说明根据本发明的数个实施例的用于对存储器装置的损耗均衡操作的方法的实例的图。
图7说明根据本发明的数个实施例的逻辑到物理表。
具体实施方式
本发明包含涉及对数据的存储器操作的设备及方法。实例方法可包含:通过将数据从第一管理单元写入到第二管理单元而执行操作;及将所述第一管理单元置于自由状态,其中所述第一管理单元位于离所述第二管理单元特定距离处。
本发明的实施例可包含通过连续将存储在一个位置中的数据写入到位于离原始位置特定距离处的另一位置而执行操作(例如,损耗均衡操作)。例如,本发明的数个实施例可在不分析对每一存储器单元执行的数个写入操作的情况下执行损耗均衡操作。因而,根据本发明的数个实施例的损耗均衡操作无法使用额外组件(例如计数器)来跟踪对每一存储器单元执行的数个损耗均衡操作。在不跟踪数个损耗均衡操作的情况下执行损耗均衡操作提供例如减小与损耗均衡操作相关联的延时的益处。
尽管实施例不限于特定存储器装置,但可对包含第一存储器阵列(可为存储级存储器)及数个第二存储器阵列(可为NAND快闪存储器)的混合存储器装置执行根据本发明的数个实施例的损耗均衡操作。所述操作可对第一存储器阵列及/或数个第二存储器阵列执行且增大混合存储器的性能(例如,增大速度、增大可靠性及/或减小功耗)。
在本发明的下文详细描述中,参考形成本发明的部分的附图,且其中以说明方式展示可如何实践本发明的一或多个实施例。充分详细地描述这些实施例以使所属领域的一般技术人员能够实践本发明的实施例,且应理解可利用其它实施例且可在不违背本发明的范围的情况下做出过程、电及结构改变。
如本文中所使用,例如“X”、“Y”、“N”、“M”等的指定符(尤其是相对于附图中的参考数字)指示可包含如此指定的数个特定特征。还应理解,本文中所使用的术语仅是出于描述特定实施例的目的且并非意图限制。如本文中所使用,除非另有清楚指示,否则单数形式“一”、“一个”及“所述”可包含单数及复数指涉物两者。另外,“数个”、“至少一个”及“一或多个”(例如,数个存储器阵列)可指一或多个存储器阵列,而“复数个”意图指此类物体中的一者以上。此外,贯穿本申请案以宽容意义(即,有潜力、能够)而非强制意义(即,必须)使用术语“可”(can及may)。术语“包含”及其衍生词意指“包含但不限于”。视上下文而定,术语“耦合”(coupled及coupling)意指直接或间接物理地连接或存取及命令及/或数据的移动(传输)。视上下文而定,术语“数据”及“数据值”在本文中可互换地使用且可具有相同含义。
本文中的图遵循其中第一数字或前几个数字对应于图编号且剩余数字识别图中的元件或组件的编号惯例。可通过使用类似数字来识别不同图之间的类似元件或组件。例如,108可为图1中的参考元件“08”,且类似元件可在图2中参考为208。如将明白,可添加、交换及/或消除本文中的各种实施例中展示的元件以提供本发明的数个额外实施例。另外,图中提供的元件的比例及/或相对尺寸意图说明本发明的特定实施例,且不应视作限制。
图1是根据本发明的数个实施例的呈包含存储器装置106的运算系统100的形式的设备的框图。如本文中所使用,“设备”可指但不限于任何各种结构或结构的组合,举例来说例如一或若干电路、一或若干裸片、一或若干模块、一或若干装置或一或若干系统。在数个实施例中,运算系统100可包含数个存储器装置。在图1中说明的实施例中,存储器装置106可包含第一存储器类型(例如,第一存储器阵列110)及第二存储器类型(例如,数个第二存储器阵列112-1、…、112-N)。存储器装置106可为混合存储器装置,其中存储器装置106包含不同于数个第二存储器阵列112-1、…、112-N的存储器类型的第一存储器阵列110。第一存储器阵列110可为存储级存储器(SCM),可为充当存储器装置106的主要存储器的非易失性存储器,因为其具有快于数个第二存储器阵列112-1、…、112-N的存取时间。第一存储器阵列110可为相变存储器(PCM)、自旋力矩转移(SST)存储器、铁电(FRAM)及/或电阻(RRAM)以及其它类型的非易失性存储器。数个第二存储器阵列112-1、…、112-N可充当存储器装置106的数据存储区(例如,存储式存储器)且可为NAND快闪存储器以及其它类型的存储器。例如,数个第二存储器阵列112-1、…、112-N可为RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器等等。
如图1中说明,主机102可经由接口104耦合到存储器装置106。主机102及存储器装置106可在接口104上通信(例如,发送命令及/或数据)。主机102可为膝上型计算机、个人计算机、数码相机、数字录像及播放装置、移动电话、PDA、存储卡读取器、接口集线器以及其它主机系统,且可包含存储器存取装置(例如,处理器)。所属领域的一般技术人员将明白“处理器”可意在为一或多个处理器,例如平行处理系统、数个共处理器等。
存储器装置106包含与主机102及第一存储器阵列110及数个第二存储器阵列112-1、…、112-N通信的控制器108。控制器108可发送对第一存储器阵列110及数个第二存储器阵列112-1、…、112-N执行操作的命令。控制器108可与第一存储器阵列110及数个第二存储器阵列112-1、…、112-N通信以读取、写入、移动及/或擦除数据以及进行其它操作。控制器108可控制存储器装置106上的数个数据流。例如,控制器108可控制:将数据写入到第一存储器阵列110;将数据写入到数个第二存储器阵列112-1、…、112-N;从第一存储器阵列110读取数据;从数个第二存储器阵列112-1、…、112-N读取数据;将数据从第一存储器阵列110移动到数个第二存储器阵列112-1、…、112-N;及将数据从数个第二存储器阵列112-1、…、112-N移动到第一存储器阵列110。在一些实施例中,控制器108可在数个第二存储器阵列112-1、…、112-N当中移动数据。
控制器108可包括包含用于执行数个操作的计数器114的数个组件。例如,计数器114可经配置以响应于正由存储器装置执行特定数目个写入操作而发送起始信号,且控制器108可响应于接收起始信号(从计数器114接收)而起始操作。
主机102包含与存储器装置106通信的主机控制器。主机控制器可经由接口104将命令发送到存储器装置106。主机控制器可与存储器装置106及/或存储器装置106上的控制器108通信以读取、写入及擦除数据以及进行其它操作。
存储器装置106上的控制器108及/或主机102上的主机控制器可包含控制电路(例如,硬件、固件及/或软件)。在一或多个实施例中,存储器装置106上的控制器108及/或主机102上的主机控制器可包含控制电路,所述控制电路可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。而且,存储器装置106及主机102可包含易失性及/或非易失性存储器的缓冲器及数个寄存器。
图2是根据本发明的数个实施例的控制器208的框图。控制器208可与主机(例如,图1中的主机102)及/或存储器阵列(例如,图1中的第一存储器阵列110及/或数个第二存储器阵列112-1、…、112-N)通信以将数据读取、写入、移动及/或擦除到主机或存储器阵列,及/或从主机或存储器阵列读取、写入、移动及/或擦除数据。控制器208包含前端管理器220、数据及媒体管理器230、及后端管理器240。
前端管理器220可从主机接收命令且解译那些命令。前端管理器220可执行与命令相关联的数据的逻辑地址的转译。
数据及媒体管理器230可进一步处理从主机接收的命令。数据及媒体管理器230可包含数据管理器232、媒体转译层(MTL)服务234及媒体转译层(MTL)管理器236。数据管理器232可确定将如何执行从主机接收的命令中的每一者。MTL服务234可包含将功能提供到MTL管理器236的数个应用程序编程接口(API)指令集。MTL服务234可包含执行逻辑地址到物理地址转译、从存储器阵列读取数据及/或将数据写入到存储器阵列以及其它服务的API指令。
MTL管理器236可包含对存储器阵列执行操作的表管理器238-1、读取管理器238-2、负载管理器238-3、写入管理器238-4、清空管理器238-5及清除管理器238-6。
表管理器238-1可提供用于存储在存储器阵列中的数据的逻辑地址到物理地址映射。可将由表管理器238-1管理的信息存储在存储器阵列中。表管理器238-1可生成且存储存储存储器阵列的逻辑到物理表以定位数据。逻辑到物理表可包含逻辑地址到物理地址映射中指示数据是否存储在第一类型的存储器及/或第二类型的存储器阵列中的位。表管理器238-1还可生成且存储将数据定位在存储器阵列中的逻辑到物理指针。
读取管理器238-2可通过将数据定位在存储器阵列中且引起与读取命令相关联的数据传送到主机而执行读取命令。读取管理器238-2还可确定从第二类型的存储器阵列读取的数据是否应保留在适当位置及/或移动到存储器装置中的第一类型的存储器阵列。如果读取管理器238-2确定应将数据从第二类型的存储器阵列移动到第一类型的存储器阵列,那么读取管理器238-2通知负载管理器238-3执行这个操作。
负载管理器238-4可执行将数据从第二类型的存储器阵列(例如,NAND)移动到第一类型的存储器阵列(例如,SCM)。负载管理器238-4可将数据移动到第一类型的存储器阵列且使第二类型的存储器阵列中的数据的原始版本无效。
写入管理器238-4可通过将与写入命令相关联的数据路由到第一类型的存储器阵列及/或第二类型的存储器阵列而执行写入命令。写入管理器238-4可确定是否基于数个准则将数据写入到第一类型的存储器阵列、第二类型的存储器阵列或两者。数个准则可包含正写入的数据的大小、存储器阵列中的可用空间的量及/或数据正写入到存储器阵列的频率以及其它准则。
清空管理器238-5可执行将数据从第一类型的存储器阵列(例如,SCM)移动到第二类型的存储器阵列(例如,NAND)。清空管理器238-5可基于数个准则移动数据。准则可为(例如)第一类型的存储器阵列已达到容量阈值。清空管理器238-5可将数据移动到第二类型的存储器阵列且使第一类型的存储器阵列中的数据的原始版本无效。
清除管理器238-6可执行将数据从第一类型的存储器阵列(例如,SCM)中的第一位置移动到第一类型的存储器阵列中的第二位置。清除管理器238-6可移动数据作为损耗均衡操作,使得写入第一类型的存储器阵列中的特定物理位置不会比其它物理位置更频繁。清除管理器238-6可执行将管理单元的每一位写入到具有无效状态的每一管理单元上的特定逻辑状态。在数个实施例中,清除管理器238-6可包含将管理单元的每一位编程到比另一逻辑状态使用更多功率及/或具有更高延时的逻辑状态。
图3说明根据本发明的数个实施例的存储器装置上的实例管理单元340。如本文中所使用,管理单元是指在操作期间一起管理的阵列中的存储器单元群组。管理单元的大小可基于存储在管理单元中的数据类型及/或对管理单元执行的操作类型而变动。例如,一个管理单元(例如,大型管理单元)可包含4KB数据且存储来自主机的数据,而另一管理单元可包含64B数据且可存储与大型管理单元中的数据相关联的逻辑到物理表。
实例管理单元340可包含包括主机数据342、地址数据344及误差校正(ECC)数据346(例如,奇偶校验位)的数据,如图3中说明。尽管图3中未说明,但数据还可包括其它类型的数据,例如元数据。
实例管理单元340可具有与其相关联的状态。例如,实例管理单元340可具有有效、无效、自由或未使用的状态。有效管理单元包含最新近版本数据。无效管理单元包含并非最新近版本数据的数据。“未使用”管理单元出于特定理由未用来存储数据,例如管理单元不再能够可靠地存储数据。自由管理单元包含处于预定状态(例如,擦除状态或重设状态)且准备编程(例如,写入)的存储器单元。例如,重设状态可为管理单元的所有存储器单元经编程到特定逻辑状态(举例来说,例如逻辑状态0或逻辑状态1)的情况。
图4说明根据本发明的数个实施例的对数个管理单元450-0、450-1、450-2、450-3、450-4、450-5、450-6及450-7执行的数个损耗均衡操作454-1、454-2及454-3。图4中说明的数个管理单元可包含8个管理单元,且数个管理单元中的7个可存储数据集而一个管理单元处于自由状态。
存储在每一管理单元中的数据可包括指派有特定逻辑地址的地址数据(例如,地址数据344),且存储器装置(例如,控制器108)可经配置以基于地址数据的逻辑地址算出存储的数据位于管理单元中的何处。例如,控制器可读取且解码存储在管理单元450-1中的地址数据,且断定数据452-3当前存储在管理单元450-1中。
数个管理单元在第一操作454-1之前包含置于自由状态的管理单元450-0,且管理单元450-1、450-2、450-3、450-4、450-5、450-6及450-7分别存储对应数据452-3、452-0、452-6、452-2、452-5、452-1及452-4。在每一损耗均衡操作中,可将数据从位于离第二管理单元特定距离处的第一管理单元写入到第二管理单元,且在操作之后可将第一管理单元置于自由状态。如本文中所使用,距离(例如,特定距离)是指从管理单元到达位于离管理单元所述距离处的另一管理单元要计数的管理单元的数目。例如,如图4中说明,位于离第一管理单元(450-3)距离3处的第二管理单元(例如,450-0)指示到达第一管理单元(450-3)要计数3个管理单元(例如,450-0、450-1及450-2)。尽管实施例不受限,但特定距离可为相对于管理单元的数目的相对质数。如果特定数目不与管理单元的数目共享除1以外的共同正因数(例如,除数),那么特定数目是相对于管理单元数目的相对质数。例如,当存在8个管理单元(如图4中说明)时,特定距离可为3、5及7,因为那些数字(3、5及7)不与8共享除1以外的共同正因数。可在执行损耗均衡操作之前预先确定特定距离,尽管实施例不限于此。
第一损耗均衡操作454-1开始于位于离置于自由状态的管理单元450-0距离3处的管理单元450-3。第一损耗均衡操作454-1将存储在管理单元450-3中的数据452-6写入到管理单元450-0,如图4中说明。在将数据452-6从管理单元450-3写入到管理单元450-0后,即可将管理单元450-3置于自由状态,且可将管理单元450-0置于有效状态。
将在先前损耗均衡操作中置于自由状态的管理单元从存储器装置中执行的数个非损耗均衡写入操作排除直到下一损耗均衡操作。例如,存储器装置(例如,存储器装置106)可对数个管理单元450-0、450-1、450-2、450-4、450-5、450-6及450-7(除管理单元450-3以外)执行数个非损耗均衡写入操作。因而,数个实施例通过不将数据写入到置于自由状态的管理单元450-3直到下一损耗均衡操作而确保不覆写管理单元450-3。
可基于数个响应或标准触发每一损耗均衡操作。在一些实施例中,计数器(例如,计数器114)可经配置以响应于正由存储器装置执行特定数目个写入操作而发送起始信号,且控制器可经配置以响应于从计数器接收的起始信号而执行损耗均衡操作。在一些实施例中,控制器可经配置以响应于存储器装置中发生的特定数目个功率状态转变(例如,从活动到闲置、备用或掉电)而执行损耗均衡操作。
第二损耗均衡操作454-2可开始于位于离由于第一损耗均衡操作454-1而置于自由状态的管理单元450-3距离3处的管理单元450-6。第二损耗均衡操作454-2将数据452-1从管理单元450-6写入到先前操作中置于自由状态的管理单元450-3。在将数据452-1写入到管理单元450-3后,即可将管理单元450-6置于自由状态,且可将管理单元450-3置于有效状态。
第三损耗均衡操作454-3可开始于管理单元450-1。如图4中说明,实施例可循序搜索数个管理单元(例如,450-0、450-1、450-2、450-3、450-4、450-5、450-6及450-7)中的下一管理单元。例如,由于不存在超过管理单元450-7的更多管理单元,因此第三损耗均衡操作454-3可在为管理单元450-7计数后继续计数离管理单元450-0的距离。因而,实施例可为管理单元450-7、450-0及450-1计数距离3,使得可对管理单元450-1执行操作。因此,正对管理单元450-1执行的第三损耗均衡操作454-3可将数据452-3(存储在管理单元450-1中)写入到先前操作中置于自由状态的管理单元450-6。在将数据452-3写入到管理单元450-6后,即可将管理单元450-1置于自由状态,且可将管理单元450-6置于有效状态。
图5说明根据本发明的数个实施例的对数个管理单元550-0、550-1、550-2、550-3、550-4、550-5、550-6及550-7执行的数个损耗均衡操作556-1、556-2及556-3。数个管理单元550-0、550-1、550-2、550-3、550-4、550-5、550-6及550-7可类似于结合图4说明的那些管理单元。
数个管理单元在第一操作556-1之前包含置于自由状态的管理单元550-0,且其它管理单元550-1、550-2、550-3、550-4、550-5、550-6及550-7分别存储对应数据552-3、552-0、552-6、552-2、552-5、552-1及552-4。在每一操作中,将由写入光标(例如,如图5中说明的虚线)指示的第一管理单元写入到置于自由状态的管理单元,且在完成将数据写入到处于自由状态的管理单元后,即将第一管理单元置于自由状态。在每一操作之后,将写入光标置于位于离第一管理单元特定距离处的第二管理单元处。如图5中说明,由粗线描述操作,且由虚线描述写入光标。
第一损耗均衡操作556-1开始于管理单元550-3。第一损耗均衡操作556-1的写入光标可在执行第一损耗均衡操作556-1(尽管未在图5中展示)之前置于管理单元550-3处,且第一损耗均衡操作556-1将存储在管理单元550-3(先前由写入光标指示)中的数据552-6写入到置于自由状态的管理单元550-0。在完成将数据写入到管理单元550-0后,即可将管理单元550-3置于自由状态,且可将管理单元550-0置于有效状态。
在完成第一损耗均衡操作556-1后即可更新写入光标。例如,写入光标可经更新以置于位于离管理单元550-3特定距离(例如,如结合图5描述的距离3)处的管理单元550-6处。因此,在完成第一损耗均衡操作556-1后,第二损耗均衡操作556-2即可从由写入光标指示的管理单元550-6开始。第二损耗均衡操作556-2将存储在管理单元550-6中的数据552-1写入到在第一损耗均衡操作556-1期间置于自由状态的管理单元550-3。
损耗均衡操作还可采用索引系统。存储器装置(例如,控制器108)可循序为每一管理单元指派特定索引,且在每一操作中更新所述索引以确定从何处开始损耗均衡操作。例如,可将对应索引0、1、2、3、4、5、6及7分别循序指派给每一管理单元550-0、550-1、550-2、550-3、550-4、550-5、550-6、550-7,且控制器可经配置以在大于先前起始索引特定(例如,预定)距离的特定索引处起始每一操作。举例来说,如果特定距离确定为3,那么当在索引0处起始先前损耗均衡操作时,控制器可在索引3处起始另一损耗均衡操作。
在完成第二损耗均衡操作556-2后,写入光标即可经更新以指示在不同管理单元处。当离管理单元的特定距离(具有特定向量)超过管理单元的数目时,损耗均衡操作可搜索数个管理单元的不同侧处的经更新管理单元。例如,在图5中,写入光标已通过沿数个管理单元的向下方向计数特定距离而搜索经更新管理单元。在第二损耗均衡操作556-2期间,当写入光标无法再沿向下方向搜索经更新管理单元(由于管理单元550-6下方仅存在一个管理单元)时,写入光标可继续计数离数个管理单元的其它侧的特定距离。例如,写入光标可计数管理单元550-7,且进一步计数离数个管理单元的其它侧的管理单元550-0及550-1。因此,数个经计数管理单元550-7、550-0及550-1达到特定距离3,且将写入光标置于管理单元550-1处。因此,第三损耗均衡操作556-3可将存储在由写入光标指示的管理单元550-1中的数据552-3写入到在第二损耗均衡操作556-2期间置于自由状态的管理单元550-6,且在完成将数据552-3写入到管理单元550-6后即将管理单元550-1置于自由状态。在完成第三损耗均衡操作556-3后,写入光标即可经更新以指示位于离管理单元550-1特定距离处的下一管理单元(例如,包含数据552-2的管理单元550-4)。
图6说明根据本发明的数个实施例的用于对存储器装置的损耗均衡操作的方法680的实例的图。例如,可通过先前分别结合图1及2描述的控制器108及/或208执行方法。
在框682中,方法680包含将特定索引指派给每一管理单元且在特定索引化管理单元处起始操作。例如,控制器可经配置以将特定索引指派给每一管理单元且在指派有索引0的管理单元处起始操作。
在框684中,方法680包含确定位于离特定索引化管理单元特定距离处的管理单元的状态是否有效。当控制器起始索引0的管理单元中的操作时,例如如果特定距离确定为3,那么控制器可确定索引3的管理单元的状态。
如果确定位于离特定索引化管理单元特定距离处的管理单元的状态有效,那么方法680前进到框686。在框686中,方法680包含读取且解码存储在管理单元中的数据以识别数据的逻辑地址。可基于存储在正经检查(例如,由控制器)的管理单元中的数据的地址数据(例如,先前结合图3描述的地址数据)识别逻辑地址。
在框688中,方法680包含将数据从位于离特定索引化管理单元特定距离处的管理单元写入到特定索引化管理单元。例如,如果控制器对索引0的管理单元起始操作且特定距离预定为3时,那么控制器可将存储在索引3的管理单元(例如,第一管理单元)中的数据写入到索引0的管理单元(例如,第二管理单元)。当写入数据后,方法680即包含根据框690处执行的操作更新逻辑到物理表,如将进一步结合图7描述。此外,方法680包含根据框692处执行的操作更新每一管理单元的状态。例如,当控制器将存储在索引3的管理单元中的数据写入到索引0的管理单元时,控制器可将索引0的管理单元置于有效状态(例如,指示索引0的管理单元现积极参与正对存储器装置执行的数个非损耗均衡写入操作),且将索引3的管理单元置于自由状态(例如,指示索引3的管理单元不再积极地参与正对存储器装置执行的数个非损耗均衡写入操作)。在更新涉及操作的每一管理单元的状态及逻辑到物理表后,方法680即可在框694处在位于离特定索引化管理单元特定距离的管理单元处起始另一操作。例如,控制器可在索引3的管理单元处起始另一操作,且确定位于离索引3的管理单元特定(例如,预定)距离处的索引6的管理单元的状态。
方法680还可包含当位于离特定索引化管理单元(例如,第二管理单元)特定距离处的管理单元(例如,第一管理单元)的状态处于自由或无效状态时跳过操作(例如,框686、688、690中描述的操作),及检查位于离管理单元(例如,第一管理单元)特定距离处的第三管理单元的状态。即,如果在框684处确定位于离特定索引化管理单元特定距离处的管理单元处于自由或无效状态,那么方法680可在框694处对第三管理单元起始另一操作。
如果在框684处确定位于离特定索引化管理单元特定距离处的管理单元处于无效状态,那么方法680可在框696处对无效管理单元执行清除操作以将无效管理单元置于自由状态。例如,如果确定正由控制器检查的索引3的管理单元处于无效状态,那么控制器可对索引3的管理单元执行清除操作,且将索引3的管理单元置于自由状态。然而,实施例不限于此。例如,如果确定管理单元处于无效状态,那么如框694处说明,所述方法可包含在位于离特定索引化管理单元特定距离处的管理单元处起始另一操作,犹如将所述管理单元置于自由状态。即,在一些实施例中,当将管理单元置于无效状态时,方法可不执行清除操作。
图7说明根据本发明的数个实施例的逻辑到物理表770。逻辑到物理表770可包含行及列,其中每一行776-0、776-1、776-2、776-3、776-4、776-5、776-6及776-7可对应于单独表项目。因而,每一行776-0、776-1、776-2、776-3、776-4、776-5、776-6及776-7包含每一数据的逻辑地址772及每一管理单元的物理地址774。尽管逻辑到物理表770包含8行,但实施例不限于此。例如,逻辑到物理表770可包含与存储器装置包含的数个管理单元一样多的行。
存储器装置(例如,控制器108)可经配置以根据对数个管理单元执行的损耗均衡操作更新逻辑到物理表770。例如,图7说明根据正对置于自由状态的管理单元750-0执行的损耗均衡操作更新逻辑到物理表。在这个特定损耗均衡操作中,可将存储在位于离管理单元750-0特定距离处的管理单元750-3中的数据752-6写入到管理单元750-0。在将数据752-6写入到管理单元750-0后,即可分别将管理单元750-0及750-3置于有效及自由状态。在通过将第一行772-1从“自由”更新到“数据752-6”且将第四行从“数据752-6”更新到“自由”而完成实例损耗均衡操作后,即可更新逻辑到物理表770。这个更新展示数据752-6已从管理单元750-3移动到管理单元750-0,且管理单元750-3在损耗均衡操作之后不再存储对应数据。逻辑到物理表770可在每一操作中更新,且用来识别存储在特定管理单元中的数据的逻辑地址。例如,控制器可经配置以使用逻辑到物理表770来识别数据752-2(对应于行776-4及列772)存储在管理单元750-4(对应于行776-4及列774)中。
尽管本文中已说明且描述特定实施例,但所属领域的一般技术人员将明白,经计算以实现相同结果的布置可替换所展示的特定实施例。本发明意图涵盖本发明的各种实施例的调适或变动。应理解,已按说明性方式而非限制性方式进行上文描述。所属领域的技术人员在审查上文描述时将明白本文未具体描述的上述实施例及其它实施例的组合。本发明的各种实施例的范围包含其中使用上述结构及方法的其它应用。因此,应参考所附权利要求书连同此权利要求书所授权的等效物的全范围来确定本发明的各种实施例的范围。
在前述具体实施方式中,各种特征出于提高效率的目的而一起组合在在单个实施例中。这种发明方法不应解译为反应本发明的所揭示实施例必须使用比每一权利要求中明确所述的更多特征的意图。而是,如所附权利要求书所反应,发明标的物在于少于单个所揭示实施例的所有特征。因此,所附权利要求书据此并入到具体实施方式中,其中每一权利要求独自作为单独实施例。

Claims (20)

1.一种用于对数据的存储器操作的方法,其包括:
通过将所述数据从第一管理单元写入到第二管理单元而执行操作,其中:
所述第一管理单元位于离所述第二管理单元特定距离处;及
所述特定距离指示对物理上在两个管理单元之间的数个管理单元的计数;及将所述第一管理单元置于自由状态。
2.根据权利要求1所述的方法,其中所述方法包含通过将处于无效状态的每一管理单元置于自由状态而对处于无效状态的每一管理单元执行清除操作。
3.根据权利要求1所述的方法,其中所述方法包含当所述第一管理单元的状态指示为有效时执行将所述数据写入到所述第二管理单元的所述操作。
4.根据权利要求1到3中任一权利要求所述的方法,其中所述方法包含:当所述第一管理单元的状态是自由或无效时跳过所述操作;及检查第三管理单元的状态,其中所述第三管理单元位于离所述第一管理单元所述特定距离处。
5.根据权利要求1到3中任一权利要求所述的方法,其中所述方法包含在不跟踪对每一管理单元执行的数个写入操作的情况下执行所述操作。
6.一种存储器设备,其包括:
数个存储器阵列,其包含第一管理单元及第二管理单元;及
控制器,其经耦合到所述数个存储器阵列且经配置以通过将数据从所述第一管理单元写入到所述第二管理单元而执行操作,其中所述第一管理单元位于离所述第二管理单元特定距离处,其中所述特定距离指示对物理上在两个管理单元之间的数个管理单元的计数。
7.根据权利要求6所述的存储器设备,其中所述控制器经配置以使用逻辑到物理表来识别存储在每一管理单元中的所述数据的逻辑地址,其中所述逻辑到物理表提供存储在每一管理单元中的所述数据的逻辑地址到物理地址映射。
8.根据权利要求6所述的存储器设备,其中所述控制器经配置以:
当完成所述操作后即将所述第一管理单元置于自由状态;且
当完成所述操作后即将所述第二管理单元置于有效状态。
9.根据权利要求6到8中任一权利要求所述的存储器设备,其中所述控制器包括计数器,其中所述计数器经配置以响应于正由所述存储器设备执行特定数目个写入操作而发送起始信号,其中所述控制器经配置以响应于接收所述起始信号而起始所述操作。
10.根据权利要求6到8中任一权利要求所述的存储器设备,其中所述控制器包括计数器,其中所述计数器经配置以在不跟踪对每一管理单元执行的数个写入操作的情况下发送起始信号,其中所述控制器经配置以响应于接收所述起始信号而起始所述操作。
11.根据权利要求6到8中任一权利要求所述的存储器设备,其中所述控制器经配置以响应于所述存储器设备中发生的特定数目个功率状态转变而执行所述操作。
12.一种用于对数据的存储器操作的方法,其包括:
通过将所述数据从第一管理单元写入到第二管理单元而对数个管理单元执行操作,其中所述第一管理单元位于离所述第二管理单元预定距离处,其中所述预定距离指示对物理上在两个管理单元之间的数个管理单元的计数;及
将所述第二管理单元置于自由状态。
13.根据权利要求12所述的方法,其中所述方法包含将特定逻辑地址指派给正写入到所述数个管理单元的每一数据。
14.根据权利要求12到13中任一权利要求所述的方法,其中所述方法包含不将所述数据写入到置于自由状态的特定管理单元。
15.根据权利要求12到13中任一权利要求所述的方法,其中所述方法包含从置于自由状态的特定管理单元开始执行所述操作。
16.一种用于对数据的存储器操作的方法,其包括:
通过将存储在由写入光标指示的第一管理单元中的所述数据写入到处于自由状态的管理单元而执行操作;及
将所述写入光标的位置更新到位于离所述第一管理单特定距离处的第二管理单元,其中所述特定距离指示对物理上在两个管理单元之间的数个管理单元的计数。
17.根据权利要求16所述的方法,其中所述方法包含当完成将所述数据写入到处于自由状态的所述管理单元后即将所述第一管理单元置于自由状态。
18.根据权利要求16到17中任一权利要求所述的方法,其中所述方法包含:如果所述第一管理单元处于自由或无效状态那么跳过对所述第一管理单元进行所述操作;及将所述写入光标置于位于离所述第一管理单元所述特定距离处的所述第二管理单元处。
19.根据权利要求16到17中任一权利要求所述的方法,其中所述方法包含如果所述第一管理单元处于无效状态那么对所述第一管理单元执行清除操作。
20.根据权利要求16到17中任一权利要求所述的方法,其中所述方法包含在不跟踪对每一管理单元执行的数个写入操作的情况下执行所述操作。
CN201780068786.2A 2016-11-08 2017-08-28 对数据的存储器操作 Active CN109923514B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/345,783 2016-11-08
US15/345,783 US10430085B2 (en) 2016-11-08 2016-11-08 Memory operations on data
PCT/US2017/048806 WO2018089084A1 (en) 2016-11-08 2017-08-28 Memory operations on data

Publications (2)

Publication Number Publication Date
CN109923514A CN109923514A (zh) 2019-06-21
CN109923514B true CN109923514B (zh) 2022-05-17

Family

ID=62064547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780068786.2A Active CN109923514B (zh) 2016-11-08 2017-08-28 对数据的存储器操作

Country Status (6)

Country Link
US (3) US10430085B2 (zh)
EP (1) EP3538983A4 (zh)
KR (1) KR102271117B1 (zh)
CN (1) CN109923514B (zh)
TW (1) TWI669607B (zh)
WO (1) WO2018089084A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
JP6779821B2 (ja) * 2017-03-24 2020-11-04 キオクシア株式会社 メモリシステム及びデータの読み出し方法
US10585795B2 (en) 2018-05-31 2020-03-10 Micron Technology, Inc. Data relocation in memory having two portions of data
US10891224B2 (en) 2018-09-06 2021-01-12 Micron Technology, Inc. Maintaining data consistency in a memory sub system that uses hybrid wear leveling operations
US10916324B2 (en) 2018-09-11 2021-02-09 Micron Technology, Inc. Data state synchronization involving memory cells having an inverted data state written thereto
TWI786288B (zh) * 2019-04-09 2022-12-11 韓商愛思開海力士有限公司 儲存裝置、儲存裝置的控制方法及記錄媒體

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720590A (zh) * 2002-10-28 2006-01-11 桑迪士克股份有限公司 非易失性存储系统中的自动磨损平衡
CN102047230A (zh) * 2008-05-28 2011-05-04 美光科技公司 混合式存储器管理
US9158672B1 (en) * 2011-10-17 2015-10-13 Rambus Inc. Dynamic deterministic address translation for shuffled memory spaces
CN105122218A (zh) * 2013-03-14 2015-12-02 美光科技公司 包含训练、数据组织及/或遮蔽的存储器系统及方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069420A (ja) 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
US6363008B1 (en) 2000-02-17 2002-03-26 Multi Level Memory Technology Multi-bit-cell non-volatile memory with maximized data capacity
US7139866B2 (en) 2002-12-30 2006-11-21 Micron Technology, Inc. CAM with automatic writing to the next free address
US20050055495A1 (en) 2003-09-05 2005-03-10 Nokia Corporation Memory wear leveling
KR100684887B1 (ko) 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US7523381B2 (en) 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
EP1960863A2 (en) 2005-12-13 2008-08-27 SanDisk Corporation Logically-addressed file storage
US20080140918A1 (en) 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US20090013148A1 (en) 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
US8850102B2 (en) 2007-08-23 2014-09-30 Nokia Corporation Flash memory with small data programming capability
US20090259819A1 (en) 2008-04-09 2009-10-15 Skymedi Corporation Method of wear leveling for non-volatile memory
JP5188328B2 (ja) 2008-08-29 2013-04-24 株式会社日立製作所 半導体装置
US20100169708A1 (en) 2008-12-29 2010-07-01 John Rudelic Method and apparatus to profile ram memory objects for displacment with nonvolatile memory
US8255613B2 (en) * 2009-04-30 2012-08-28 International Business Machines Corporation Wear-leveling and bad block management of limited lifetime memory devices
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US20110167197A1 (en) 2010-01-05 2011-07-07 Mark Leinwander Nonvolatile Storage with Disparate Memory Types
WO2011099963A1 (en) 2010-02-10 2011-08-18 Hewlett-Packard Development Company, L.P. Identifying a location containing invalid data in a storage media
CN107093464A (zh) 2010-07-13 2017-08-25 桑迪士克科技有限责任公司 后台存储器系统接口的动态优化
US8949506B2 (en) 2010-07-30 2015-02-03 Apple Inc. Initiating wear leveling for a non-volatile memory
US8356153B2 (en) 2010-11-19 2013-01-15 International Business Machines Corporation Adaptive wear leveling via monitoring the properties of memory reference stream
US8626989B2 (en) 2011-02-02 2014-01-07 Micron Technology, Inc. Control arrangements and methods for accessing block oriented nonvolatile memory
US9164679B2 (en) * 2011-04-06 2015-10-20 Patents1, Llc System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class
US9158546B1 (en) * 2011-04-06 2015-10-13 P4tents1, LLC Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory
TWI587136B (zh) 2011-05-06 2017-06-11 創惟科技股份有限公司 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
US20130028296A1 (en) * 2011-07-27 2013-01-31 Khandekar Aamod D Chip x2 correlation hypotheses using chip x1 samples
US9298606B2 (en) 2011-09-30 2016-03-29 Intel Corporation Statistical wear leveling for non-volatile system memory
CN104115132B (zh) * 2011-12-22 2018-02-06 英特尔公司 借助于存储器通道关闭的功率节约
US20130219105A1 (en) 2012-02-16 2013-08-22 Micron Technology, Inc. Method, device and system for caching for non-volatile memory device
US9021275B1 (en) * 2012-03-30 2015-04-28 Emc Corporation Method and apparatus to exercise and manage a related set of power managed storage devices
US9645177B2 (en) 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
US20140012975A1 (en) * 2012-07-09 2014-01-09 National Applied Research Laboratories Computer cluster, management method and management system for the same
US20140129758A1 (en) 2012-11-06 2014-05-08 Spansion Llc Wear leveling in flash memory devices with trim commands
US8959281B1 (en) * 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
US9081666B2 (en) 2013-02-15 2015-07-14 Seagate Technology Llc Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
US9164832B2 (en) 2013-02-27 2015-10-20 Seagate Technology Llc ECC management for variable resistance memory cells
US10073626B2 (en) * 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
TW201510724A (zh) 2013-09-11 2015-03-16 Skymedi Corp 非揮發性儲存裝置及其資料寫入方法
WO2015145636A1 (ja) 2014-03-26 2015-10-01 株式会社日立製作所 ストレージシステム
US9361182B2 (en) 2014-05-20 2016-06-07 Transcend Information, Inc. Method for read disturbance management in non-volatile memory devices
US9239757B2 (en) 2014-05-30 2016-01-19 Sandisk Technologies Inc. Method and apparatus for relocating data in non-volatile memory
US9471451B2 (en) * 2014-06-18 2016-10-18 International Business Machines Corporation Implementing enhanced wear leveling in 3D flash memories
WO2016088234A1 (ja) 2014-12-04 2016-06-09 株式会社 東芝 異なる特性の不揮発性半導体メモリの寿命を長くするストレージ装置
US9703725B2 (en) * 2014-12-19 2017-07-11 Dell Products, Lp System and method for providing kernel intrusion prevention and notification
US11755202B2 (en) * 2015-01-20 2023-09-12 Ultrata, Llc Managing meta-data in an object memory fabric
US9891825B2 (en) 2015-01-23 2018-02-13 Toshiba Memory Corporation Memory system of increasing and decreasing first user capacity that is smaller than a second physical capacity
US10318475B2 (en) * 2015-06-24 2019-06-11 Oracle International Corporation System and method for persistence of application data using replication over remote direct memory access
US9910791B1 (en) * 2015-06-30 2018-03-06 EMC IP Holding Company LLC Managing system-wide encryption keys for data storage systems
US9842059B2 (en) * 2016-04-14 2017-12-12 Western Digital Technologies, Inc. Wear leveling in storage devices
US10474567B2 (en) * 2016-05-25 2019-11-12 Samsung Electronics Co., Ltd. Multi-bit data representation framework to enable dual program operation on solid-state flash devices
KR102564563B1 (ko) * 2016-06-27 2023-08-11 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
US10096649B2 (en) * 2016-08-04 2018-10-09 Qualcomm Incorporated Reducing or avoiding metal deposition from etching magnetic tunnel junction (MTJ) devices, including magnetic random access memory (MRAM) devices
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10198195B1 (en) * 2017-08-04 2019-02-05 Micron Technology, Inc. Wear leveling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720590A (zh) * 2002-10-28 2006-01-11 桑迪士克股份有限公司 非易失性存储系统中的自动磨损平衡
CN102047230A (zh) * 2008-05-28 2011-05-04 美光科技公司 混合式存储器管理
US9158672B1 (en) * 2011-10-17 2015-10-13 Rambus Inc. Dynamic deterministic address translation for shuffled memory spaces
CN105122218A (zh) * 2013-03-14 2015-12-02 美光科技公司 包含训练、数据组织及/或遮蔽的存储器系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Enhancing lifetime and security of PCM-based Main Memory with start-gap wear leveling;M.K.Qureshi等;《2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture(MICRO)》;20100108;14-23 *

Also Published As

Publication number Publication date
KR20190067921A (ko) 2019-06-17
US20220107735A1 (en) 2022-04-07
KR102271117B1 (ko) 2021-07-01
TW201818252A (zh) 2018-05-16
WO2018089084A1 (en) 2018-05-17
US11886710B2 (en) 2024-01-30
US11209986B2 (en) 2021-12-28
CN109923514A (zh) 2019-06-21
EP3538983A4 (en) 2020-06-24
US20180129423A1 (en) 2018-05-10
EP3538983A1 (en) 2019-09-18
US10430085B2 (en) 2019-10-01
US20190369878A1 (en) 2019-12-05
TWI669607B (zh) 2019-08-21

Similar Documents

Publication Publication Date Title
CN109923514B (zh) 对数据的存储器操作
US20200233585A1 (en) Data relocation in hybrid memory
US10564690B2 (en) Power interrupt management
US11550678B2 (en) Memory management
EP2646919A2 (en) Transaction log recovery
US11334272B2 (en) Memory system and operating method thereof
US11056192B2 (en) Monotonic counters in memories
KR20220119348A (ko) 분할된 저장장치에서의 스냅샷 관리
US10656846B2 (en) Operating method of memory system
US11392321B2 (en) Memory system restoring data based on parity data and operating method thereof
EP3676715B1 (en) Cache buffer

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