CN102047341A - 用于混合非易失性固态存储系统的疲劳管理系统和方法 - Google Patents

用于混合非易失性固态存储系统的疲劳管理系统和方法 Download PDF

Info

Publication number
CN102047341A
CN102047341A CN2009801070441A CN200980107044A CN102047341A CN 102047341 A CN102047341 A CN 102047341A CN 2009801070441 A CN2009801070441 A CN 2009801070441A CN 200980107044 A CN200980107044 A CN 200980107044A CN 102047341 A CN102047341 A CN 102047341A
Authority
CN
China
Prior art keywords
memory
solid
write
writing
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.)
Granted
Application number
CN2009801070441A
Other languages
English (en)
Other versions
CN102047341B (zh
Inventor
潘塔斯·苏塔迪嘉
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN102047341A publication Critical patent/CN102047341A/zh
Application granted granted Critical
Publication of CN102047341B publication Critical patent/CN102047341B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • 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

Abstract

一种固态存储系统,其包括具有第一写循环寿命和第一组物理地址的第一非易失性半导体存储器和具有第二写循环寿命和第二组物理地址的第二非易失性半导体存储器。第一写循环寿命大于第二写循环寿命。该系统进一步包括产生多个逻辑地址的写频率等级的疲劳管理模块。该疲劳管理模块基于写频率等级将多个逻辑地址中的每一个映射至第一组物理地址或第二组物理地址中的物理地址。

Description

用于混合非易失性固态存储系统的疲劳管理系统和方法
相关申请的交叉引用
本申请是2007年12月7日提交的第11/952,648号美国申请的部分继续申请,其要求2006年12月11日提交的第60/869,493号美国临时申请的权益。本申请也要求2009年2月4日提交的第12/365,455号美国申请和2008年2月29日提交的第61/032,774号美国临时申请的优先权。上述申请的公开以参考的形式被完整地并入本文。
技术领域
本公开涉及固态存储器,并且更具体地说,其涉及混合非易失性固态存储器。
背景技术
本文提供的背景描述用于一般性地介绍本公开的背景。在背景部分描述的范围内的当前被称作发明者的著作以及在提交时可能不像现有技术那样符合条件的描述的方面不会明显地或隐晦地被认为是本公开的现有技术。
使用电荷存储设备的闪存芯片已经成为基于半导体的大容量存储设备的主要芯片类型。该电荷存储设备特别适合于这样的应用,即:将被存储的数据文件包含音乐文件和图像文件。然而,电荷存储设备可维持有限量的写循环,之后,电荷存储设备不再能可靠地存储数据。
有限量的写循环可用于很多应用,例如:可移动的USB(通用串行总线)驱动、MP3(MPEG层3)播放器和数字相机存储卡。然而,当用作计算机系统中的大容量非易失性存储的一般替换时,有限量的写循环可能是不可接受的。
每个存储单元中存储单个位的较低密度闪存设备通常具有100,000个写循环量级的使用寿命。为了减少成本,闪存设备可在每个存储单元中存储2位。然而,在每个存储单元中存储2位可将设备的使用寿命减少至10,000写循环量级的水平。
闪存设备可能不具有足够长的寿命以用于大容量存储,特别是大容量存储中的一部分被用作虚拟内存分页空间。虚拟内存分页空间通常是由操作系统使用以当RAM(随机存取存储器)中的可用空间低时存储来自于RAM的数据。仅为了举例说明的目的,闪存芯片可具有2GB(千兆字节)的容量、可在每个单元中存储2位并且可具有约4MB/s(每秒兆字节)的写通量。在这样的闪存芯片中,在理论上是可能每隔500秒在芯片中将每位写入一次(即:2E9字节/4E6字节/s)。
然后,在理论上是可能在仅5E6秒(1E4循环*5E2秒)内将每位写10,000次,其小于2个月。然而,实际上,大多数驱动存储将不会在100%的占空比的情况下被写入。更实际的写占空比可为10%,其可在计算机持续活动并且执行虚拟内存分页操作时发生。当10%的写占空比时,闪存设备的使用寿命可在约20个月内耗尽。作为比较,磁性硬盘存储设备的预期寿命通常超过10年。
图1示出了传统固态盘100的功能模块图。该固态盘100包括控制器102和闪存104。控制器102接收来自于主机(未示出)的指令和数据。当请求存储器存取时,控制器102读取来自于闪存104的数据或者将数据写入闪存104,并且将该信息通信至主机。
在闪存104的区域(或存储块)已经被写入或者被删除预定次数之后,该区域可变得不能可靠存储。预定次数被称为闪存104的写循环寿命。一旦闪存104的写循环寿命已经被超出,那么控制器102不再能可靠地在闪存104中存储数据,并且固态盘100不再能使用。
发明内容
在各种实施方式中,本公开涉及固态存储系统。该系统包括具有第一循环寿命和第一组物理地址的第一非易失性半导体存储器和具有第二循环寿命和第二组物理地址的第二非易失性半导体存储器。第一写循环寿命大于第二写循环寿命。该系统还包括产生多个逻辑地址的写频率等级的疲劳管理模块。疲劳管理模块基于写频率等级将多个逻辑地址中的每一个映射至第一组物理地址或第二组物理地址中的物理地址。
在各种实施方式中,本公开涉及用于固态存储系统的疲劳管理方法。该方法包括提供具有第一写循环寿命和第一组物理地址的第一非易失性半导体存储器;和提供具有第二写循环寿命和第二组物理地址的第二非易失性半导体存储器。第一写循环寿命大于第二写循环寿命。该方法进一步包括产生多个逻辑地址的写频率等级,和基于写频率等级将多个逻辑地址中的每一个映射至第一组物理地址或第二组物理地址中的物理地址。
在其它特征中,上述系统和方法是通过由一个或多个处理器执行的计算机程序实现的。该计算机程序可存放在计算机可读介质中,例如但不局限于存储器、非易失性数据储存器和/或其它合适的有形储存介质。
在其它特征中,上述系统和方法是通过由一个或多个处理器执行的计算机程序实现的。该计算机程序可存放在计算机可读介质中,例如但不局限于存储器、非易失性数据储存器和/或其它合适的有形储存介质。
在阅读了此后提供的详细描述后,本公开的适用性的其它方面可变得明显。应该了解到,虽然详细说明和具体实施例说明了本公开的优选实施方式,但是它们仅仅是用于说明的目的,而不期望限制本公开的范围。
附图说明
通过详细说明和附图,本公开将被更充分地理解,其中:
图1是根据现有技术的固态盘驱动器的功能方框图;
图2是根据本公开的固态盘驱动器的功能方框图;
图3是包含损耗均衡模块的固态盘驱动器的功能方框图;
图4A是包含图3的损耗均衡模块和写监控模块的固态盘驱动器的功能方框图;
图4B是包含图3的损耗均衡模块和写映射模块的固态盘驱动器的功能方框图;
图5是包含劣化测试模块和图3的损耗均衡模块的固态盘驱动器的功能方框图;
图6是包含映射模块和图3的损耗均衡模块的固态盘驱动器的功能方框图;
图7A至7E是用于操作图2至图5所示的固态盘驱动器的方法的示例性流程图;
图8是用于操作图6所示的固态盘驱动器的方法的示例性流程图;
图9是包含固态盘驱动器的系统的功能方框图;
图10是根据本公开的包含疲劳管理模块的固态盘驱动器的功能方框图;
图11是根据本公开的包含疲劳管理模块的固态盘驱动器的功能方框图,该疲劳管理模块针对存储器中的每一个具有独立的损耗均衡模块。
图12是根据本公开的示例性映射/写频率等级表;和
图13是用于操作图10的固态盘驱动器的方法的示例性流程图。
具体实施方式
下面的描述在本质上仅仅是示例性的并且绝不期望限制本公开、其应用或者使用。为了清楚的目的,相同的参考号将在这些附图中被使用以指示相似的组件。如本文所用的,短语A、B和C中的至少一个应该被理解为意味着通过使用非排他逻辑或的逻辑(A或B或C)。应该理解到,在不改变本公开的原则的情况下,方法内的步骤可按照不同的顺序被执行。如本文所使用的,术语“基于”或“实质上基于”是指这样的值,其为另一个值的函数、与另一个值成比例、随着另一个值而改变和/或与另一个值有关。该值也可为一个或多个其它值的函数、与一个或多个其它值成比例、随着一个或多个其它值而改变和/或与一个或多个其它值有关。
如本文所使用的,术语模块是指专用集成电路(ASIC)、电子电路、处理器(共享的、专用的或组)和执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能的其它合适的构件。
如氮化物只读存储器(NROM)和NAND闪存等基于电荷存储的闪存设备的成本已经在最近几年不断下降。同时,新的高密度存储器技术一直在发展中。如相变存储器(PCM)等存储器技术中的一些提供了比基于电荷存储的闪存设备明显更高的写承受能力。然而,作为更新的技术,这些存储器的存储容量、存取时间和/或成本可能比闪存设备的存储容量、存取时间和/或成本具有更小的吸引力。
为了将新存储器技术的更长写循环寿命与传统技术的低成本相结合,固态存储系统能够使用两种类型的存储器来构造。大量低成本存储器可与更少量具有更高写循环寿命的存储器相结合。具有更高写循环寿命的存储器可被用于存储频繁变化的数据,例如:操作系统分页数据。
图2描绘了示例性的固态存储系统。该固态存储系统可被用作计算机系统或可需要存储数据的其它设备,例如:手机、机顶盒、汽车部件、无线个人数字助理(PDA)等中的固态盘。仅举例说明,如2GB PCM芯片等PCM芯片可与NAND闪存设备或NROM闪存设备相结合。PCM存储器的写循环寿命可不久为1E13写循环量级。具有超过1E7的写循环的写循环寿命的PCM芯片是可利用的。以1E7的写循环,PCM芯片具有比可经受1E4写循环的2位/单元闪存设备长1000倍的写循环寿命。
PCM芯片可提供比闪存设备更快的数据通量。例如,PCM芯片可提供比闪存设备快100倍的数据通量。即使PCM芯片提供了比闪存设备快100倍的数据通量,但是超出1000倍的写循环寿命产生了比闪存设备长10倍的有效写循环寿命。例如,以10%的写占空比,即使PCM芯片提供了比闪存设备快100倍的数据通量,但是仍将需要15.9年来消耗PCM芯片的寿命。
图2示出了根据本公开的一个执行的示例性固态盘200的功能方框图。该固态盘200包括控制器202以及第一固态非易失性存储器204和第二固态非易失性存储器206。在本公开的剩余部分中,固态非易失性存储器可被实现为集成电路(IC)。控制器202接收来自于主机220的存取请求。控制器202将存取请求导向第一固态非易失性存储器204或第二固态非易失性存储器206,如下面更详细的描述。
仅举例说明,第一固态非易失性存储器204可包括相对便宜的非易失性存储器阵列并且具有大容量。第二固态非易失性存储器206可具有比第一固态非易失性存储器204更大的写循环寿命,但更贵且具有更小的容量。在各种实现中,主机220可给控制器202指定与将相对频繁改变的数据相对应的逻辑地址和与相对不频繁改变的数据相对应的逻辑地址。
控制器202可将与将相对频繁改变的数据相对应的逻辑地址映射至第二固态非易失性存储器206中的物理地址。控制器202可将与将相对不频繁改变的数据相对应的逻辑地址映射至第一固态非易失性存储器204中的物理地址。
第一固态非易失性存储器204可包括单层单元(SLC)闪存或多层单元(MLC)闪存。第二固态非易失性存储器206可包括单层单元(SLC)闪存或多层单元(MLC)闪存。
在详细讨论之前,将提供附图的简要描述。图3描绘了包含损耗均衡模块260的示例性的固态盘250。在一个实现中,损耗均衡模块260控制来自于主机220的逻辑地址与第一固态存储器204和第二固态存储器206中的物理地址之间的映射。损耗均衡模块260可基于来自于主机的信息执行该映射。
可选择地或额外地,损耗均衡模块260可测量或估计固态非易失性存储器204和固态非易失性存储器206的所有区域内的损耗,并且改变该映射以对固态非易失性存储器204和固态非易失性存储器206的所有区域内的损耗进行平衡。在一个实现中,损耗均衡模块260的目的是将固态非易失性存储器204和固态非易失性存储器206的所有区域内的损耗进行均衡,以使没有一个区域先于固态非易失性存储器204和固态非易失性存储器206的其它区域用坏。
在各种非易失性存储器的情况下,将数据写入存储器块可需要删除或写入整个存储器块。在这样的以块为中心的存储器中,损耗均衡模块260可追踪每个存储器块已经被删除或写入的次数。当写请求从主机到达时,损耗均衡模块260可从可利用的存储器块中选择已经被写入最少的存储器的存储器块。然后,损耗均衡模块260将输入逻辑地址映射至该存储器块的物理地址。随着时间的推移,这在存储器块中可产生近似均匀的写操作分布。
图4A和图4B包括额外的模块,其帮助控制损耗均衡。在图4A中,损耗均衡模块260确定数据被写入逻辑地址中的每一个的频繁程度。在一个实现中,作为相对频繁的写或删除的目标的逻辑地址被映射至还未经历过多损耗的物理地址。
在图4B中,写映射模块356接收来自于主机220的写频率信息。写频率信息指示与被期望相对频繁改变的数据相对应的逻辑地址和/或与相对不频繁改变的数据相对应的逻辑地址。此外,写映射模块356可确定数据实际上被写入逻辑地址的频繁程度,如图4A所示。图5示出了固态盘400,其中除了基于写或删除的次数估计剩余寿命以外或者作为其替换,存储器的劣化和因此产生的剩余寿命被经验地确定。
图6示出了固态盘450,其中第一固态非易失性存储器462和第二固态非易失性存储器464的组合被用于缓存数据。在一个实现中,第一固态非易失性存储器462具有高存储容量(例如:2GB或更高)。在一个实现中,第二固态非易失性存储器464具有比第一固态非易失性存储器462更快的存取时间,并且具有比第一固态非易失性存储器462更小的存储容量(例如:2GB或更少)。第一固态非易失性存储器462和第二固态非易失性存储器464可都具有高写循环寿命。
映射模块465可被用于基于存取时间考虑将来自于主机的逻辑地址映射至第一固态非易失性存储器462和第二固态非易失性存储器464。映射模块465可接收来自于主机480的存取时间信息,例如:一列地址,对其快速的存取时间是期望的或不期望的。可选择地或额外地,映射模块465可监控逻辑地址的存取,并且确定对于哪个逻辑地址减少的存取时间将是最有益的。低存取时间很重要的逻辑地址可被映射至第二固态非易失性存储器464,其(在一个实现中)具有减少的存取时间。
如本文所使用的,存取时间可包括如:读取时间、写入时间、删除时间和/或包含读取时间、写入时间或删除时间中的一个或多个的组合存取时间。例如,组合存取时间可为读取时间、写入时间和删除时间的平均值。通过将某些待被映射的逻辑地址导向第二固态非易失性存储器464,主机480可优化如快速的启动时间或应用程序的启动等操作的存储。映射模块465也可与损耗均衡模块260进行通信,该损耗均衡模块调整映射操作,以防止第一固态非易失性存储器462和第二固态非易失性存储器464中的任意一个区域过早被用坏。
图7A至图7E描绘了由图4A至图5所示的控制器执行的示例性步骤。图8描绘了由图6所示的控制器执行的示例性步骤。现在将给出图2至图8所示的系统和方法的详细讨论。
现在参照图3,固态盘250包括控制器252以及第一固态非易失性存储器204和第二固态非易失性存储器206。控制器252与主机220进行通信。控制器252包括损耗均衡模块260以及第一存储器接口262和第二存储器接口264。损耗均衡模块260分别经由第一存储器接口262和第二存储器接口264与第一固态非易失性存储器204和第二固态非易失性存储器206进行通信。
损耗均衡模块260接收来自于主机220的逻辑地址。这些逻辑地址被转换为与第一存储器接口262和/或第二存储器接口264相关联的物理地址。在写操作期间,来自于主机220的数据经由第一存储器接口262被写入第一固态非易失性存储器204或者经由第二存储器接口264被写入第二固态非易失性存储器206。在读操作期间,数据分别经由第一存储器接口262或第二存储器接口264从第一固态非易失性存储器204或第二固态非易失性存储器206被提供至主机220。
仅举例说明,第一固态非易失性存储器204可按每兆字节容量相对便宜并且因此可具有大容量。第二固态非易失性存储器206可具有更长的写循环寿命并且可比第一固态非易失性存储器204更贵,并且因此可具有更小的容量。
第一固态非易失性存储器204和第二固态非易失性存储器206可被写入块中和/或从块中删除。例如,为了删除存储器块中的一个字节,存储器块中的所有字节可能需要被删除。此外,为了写存储器块中的一个字节,存储器块中的所有字节可能需要被写入。损耗均衡模块260可追踪和存储在第一固态非易失性存储器204和第二固态非易失性存储器206的存储器块上执行的写入和/或删除操作的次数。
损耗均衡模块260可使用写入和/或删除循环计数的归一化形式。例如,在第一固态非易失性存储器204中的存储器块上执行的写循环的次数可除以在第一固态非易失性存储器204中的存储器块可承受的写循环的总数。第二固态非易失性存储器206中的存储器块的归一化写循环计数可通过将已经在该存储器块上执行的写循环的次数除以该存储器块可承受的写循环的次数。
损耗均衡模块260可将新的数据写入具有最低归一化写循环计数的存储器块。为了避免分数写循环计数,写循环计数可通过将写循环计数乘以基于各自的存储器204和206的写循环寿命的常量的方式被归一化。例如,在第一固态非易失性存储器204的存储器块上执行的写循环的次数可乘以一比率。该比率可为第二固态非易失性存储器206的写循环寿命除以第一固态非易失性存储器204的写循环寿命。
在各种实现中,写循环计数可仅被部分归一化。例如,第二固态非易失性存储器206的写循环寿命可明显高于第一固态非易失性存储器204的循环寿命。在这种情况下,第一固态非易失性存储器204的写循环计数可通过使用小于实际些循环寿命的写循环寿命来归一化。这可防止损耗均衡模块260严重地偏向于将地址分配给第二固态非易失性存储器206。
该归一化可通过使用预定因子来执行。例如,如果第一固态非易失性存储器204的写循环寿命为1E6,并且对于固态盘250的给定应用,第二固态非易失性存储器206的必要的写循环寿命是1E9,那么归一化可通过使用1,000的因子来执行。该因子可为四舍五入的估计而不是一个确切的计算。例如,当各自的写循环寿命为4.5E6和6.3E9时,因子1000可被使用。
损耗均衡模块260可包括数据转移模块261。在一个实现中,数据转移模块261确定具有在预定时间周期内保持不变的存储数据的第一存储器块。该存储数据可被称作静态数据。静态数据可被移动至存储器中已经经历了比第一存储器块更频繁的写循环的第二存储器块。损耗均衡模块260可将最初被映射至第一存储器块的物理地址的逻辑地址映射至第二存储器块的物理地址。因为静态数据现在被存储在第二存储器块中,因此第二存储器块可经历更少的写循环。
此外,静态数据可从第二固态非易失性存储器206转移至第一固态非易失性存储器204。例如,数据转移模块261可确定第二固态非易失性存储器206的最少使用的存储器块(LUB)。如果在预定时期内在存储器块上执行的写操作的次数小于或等于预定阀值,那么该存储器块被称作LUB。当第二固态非易失性存储器206中的可使用的或可利用的存储器的量减小至预定阀值,那么损耗均衡模块260可将LUB映射至第一固态非易失性存储器204的存储器块。
有时,在第一固态非易失性存储器204的第一存储器块上执行的写操作的次数可超出预定阀值。损耗均衡模块260可将最初被映射至第一存储器块的逻辑地址偏离映射至第二固态非易失性存储器206的第二存储器块,从而减小第一固态非易失性存储器204上的损耗。
现在参照图4A,固态盘300包括与主机220连接的控制器302。控制器302包括损耗均衡模块260、写监控模块306以及第一存储器接口262和第二存储器接口264。写监控模块306监控从主机220处接收到的逻辑地址。写监控模块306也可接收对是读取还是写入操作正在发生进行指示的控制信号。此外,通过测量数据被写入逻辑地址的频率的方式,写监控模块306追踪数据被频繁写入的逻辑地址。该信息被提供至损耗均衡模块260,其将逻辑地址偏向如第二固态非易失性存储器206的物理地址。
现在参照图4B,固态盘350包括与主机220相连的控制器352。控制器352包括损耗均衡模块260、写映射模块356以及第一存储器接口262和第二存储器接口264。写映射模块356接收来自于主机220的、指示将被更频繁地写入的逻辑地址的地址信息。该信息被提供给损耗均衡模块260,其将逻辑地址偏向第二固态非易失性存储器206。
写映射模块356也可包括与图4A的写监控模块306相似的功能。因此,写映射模块356可基于测量的写频率数据更新存储的写频率数据。此外,写映射模块356可确定未由主机220提供的逻辑地址的写频率。在一个实现中,即使逻辑地址还未在预定时期内被存取,写频率数据可被调节。损耗均衡模块260可存储与标记为被频繁写入到第二固态非易失性存储器206中的逻辑地址相应的所有数据。
如果第二固态非易失性存储器206已满,那么写操作可被指定给第一固态非易失性存储器204,反之亦然。数据也可从第二固态非易失性存储器206处被重新映射和移动至第一固态非易失性存储器204,从而在第二固态非易失性存储器206中创建空间,反之亦然。可选择地,当第二固态非易失性存储器206或第一固态非易失性存储器204的损耗水平大于或等于预定阀值时,数据可被单独映射至第一固态非易失性存储器204或第二固态非易失性存储器206。应该注意到,第一固态非易失性存储器204和第二固态非易失性存储器206的损耗水平的预定阀值可为相同的或不同的。此外,预定阀值可在不同的时间点处变化。例如,一旦某些写操作已经在第一固态非易失性存储器204上执行了,那么预定阀值可被调节,以将所执行的写操作考虑在内。
损耗均衡模块260也可实现写监控模块306和写映射模块356。此后,损耗均衡模块260也可包括写监控模块306和写映射模块356。
现在参照图5,固态盘400包括与主机220相连的控制器402。控制器402包括损耗均衡模块260、劣化测试模块406以及第一存储器接口262和第二存储器接口264。劣化测试模块406测试第一固态非易失性存储器204和第二固态非易失性存储器206以确定它们的存储能力是否已经劣化。
在各种实现中,劣化测试模块406可仅测试第一固态非易失性存储器204,因为第一固态非易失性存储器204(在一个实现中)的写循环寿命小于第二固态非易失性存储器206的写循环寿命。劣化测试模块406可周期地测试劣化。劣化测试模块406可等待不活动周期,在该时间点处,劣化测试模块406可给第一存储器接口262和/或第二存储器接口264提供地址和数据。
劣化测试模块406可给第一固态非易失性存储器204和/或第二固态非易失性存储器206的所选区域写数据并且然后读取数据。然后,劣化测试模块406可将读取数据与写入数据进行比较。此外,劣化测试模块406可读取在劣化测试的前一些迭代中被写入的数据。
可选择地,劣化测试模块406可在第一次和第二次时将相同的数据写入相同的物理地址。在两个时间中的每一个时,劣化测试模块406可读回写入的数据。劣化测试模块406可通过将在两个时间时读回的数据进行比较或者通过将第二次时读回的数据与写入的数据进行比较的方式确定物理地址的劣化值。
损耗均衡模块260可基于通过劣化测试模块406测量的劣化值来调整其映射。例如,劣化测试模块406可基于劣化量估计存储器块的最大写循环计数。然后,损耗均衡模块260可将该最大写循环计数用于归一化。
可选择地,损耗均衡模块260可使用存储器块剩余的写循环的次数以作出分配决定。如果固态非易失性存储器204和固态非易失性存储器206中的一个达到其使用寿命(例如:预定阀值)的最后,那么损耗均衡模块260可将所有新的写入分配给固态非易失性存储器204和固态非易失性存储器206中的另一个。
损耗均衡模块260也可实现劣化测试模块406。此后,损耗均衡模块260包括劣化测试模块406。
现在参照图6,具有更快的存取时间的小的固态非易失性存储器可与具有更慢的存取时间的大的固态非易失性存储器相结合。固态盘450可包括控制器460、第一固态非易失性存储器462和第二固态非易失性存储器464。控制器460与主机480连接。控制器460可包括第一存储器接口472和第二存储器接口474。第一固态非易失性存储器462可为便宜的并且可具有高存储容量和高写循环寿命,但具有较低的读取/写入速度(即:存取时间)。第二固态非易失性存储器464可具有更小的存储容量、可更贵,并且可具有比第一固态非易失性存储器462更高的写循环寿命和更快的存取时间。
第二固态非易失性存储器464可具有比第一固态非易失性存储器462更短的写存取时间、读存取时间、删除时间、编程时间或累积存取时间。因此,第二固态非易失性存储器464可被用于缓存数据。控制器460可包括损耗均衡模块260和映射模块465。损耗均衡模块260也可实现映射模块。映射模块465可基于第一固态非易失性存储器462和第二固态非易失性存储器464的存取时间和/或存储容量将逻辑地址映射至第一固态非易失性存储器462和第二固态非易失性存储器464中的一个的物理地址。
更具体地说,映射模块可接收与数据可被写入逻辑地址时的频率和存取时间有关的、来自于主机220的数据。映射模块465可将比其它逻辑地址更频繁和/或快速地被写的逻辑地址映射至第二固态非易失性存储器464的物理地址。所有其它逻辑地址可被映射至第一非易失性存储器462的物理地址。实际的写频率存取时间可通过测量数据被写入时的频率和/或存取时间的方式被更新。通过这种方式,映射模块465可使在读取/写入/删除操作期间对固态盘450进行的所有存取的整个存取时间最小化。
根据由主机220执行的应用,当映射模块465将逻辑地址映射至第一固态非易失性存储器462和第二固态非易失性存储器464中的一个时,它可考虑额外的因素。这些因素可包括但不局限于正在被写的存储器块的长度以及存储器块需要被写入的存取时间。
现在参照图7A至图7E,其示出了通过使用具有不同写循环寿命和存储容量的第一NVS存储器和第二NVS存储器提供混合非易失性固态(nonvolatile solid-state,NVS)存储器系统的方法500。第一NVS存储器具有比第二NVS存储器更低的写循环寿命和更高的容量。
在图7A中,方法500在步骤502处开始。在步骤504中,控制从主机接收数据将被写的逻辑地址的写频率。在步骤506中,控制将具有低写频率(例如:具有小于预定阀值的写频率)的逻辑地址映射至第一NVS存储器。在步骤508中,控制将具有高写频率(例如:具有大于预定阀值的写频率)的逻辑地址映射至第二NVS存储器。
在步骤510中,控制根据步骤506和508中产生的映射将数据写入第一和/或第二NVS存储器。在步骤512中,控制测量数据实际上被写入逻辑地址的实际写频率并对映射进行更新。
在图7B中,在步骤514中,控制判断执行数据移动分析的时间是否已经到达。如果步骤514的结果为否,那么在步骤516中控制判断执行劣化分析的时间已经到达。如果步骤516的结果为否,那么在步骤518中控制判断执行损耗水平分析的时间已经到达。如果步骤514的结果为否,那么控制返回至步骤510。
在图7C中,当步骤514的结果为真时,在步骤520中,控制判断在预定时间内第一NVS存储器的第一存储器块的写操作的次数是否大于或等于预定阀值。如果步骤520的结果为否,那么控制返回至步骤516。如果步骤520的结果为真,那么在步骤522中控制将与第一存储器块对应的逻辑地址映射至第二NVS存储器的第二存储器块。
在步骤524中,控制确定第二NVS存储器中可利用的存储器是否小于预定阀值。如果步骤524的结果为否,那么控制返回至步骤516。如果步骤524的结果为真,那么在步骤526中控制确定第二NVS存储器的存储器块是LUB。在步骤528中,控制将与LUB相应的逻辑地址映射至第一NVS存储器的存储器块,并且控制返回至步骤516。
在图7D中,当步骤516的结果为真时,在步骤530中,控制在第一时间将数据写入物理地址。在步骤532中,控制从该物理地址处读回数据。在步骤534中,控制在第二时间(例如:在第一时间之后的预定时间之后)将数据写入物理地址。在步骤536中,控制从该物理地址处读回数据。控制将在步骤532中读回的数据与在步骤536中读回的数据进行比较,并且在步骤538中产生物理地址的劣化值。在步骤540中,控制更新映射,并且控制返回至步骤518。
在图7E中,当步骤518的结果为真时,在步骤542中,控制分别基于在第一存储器和第二存储器上执行的写操作的次数以及第一存储器和第二存储器的额定写循环寿命产生第一NVS存储器和第二NVS存储器的损耗水平。控制在步骤544中确定第二NVS存储器的损耗水平是否大于预定阀值。如果步骤544的结果为真,那么在步骤546中控制将所有逻辑存储器块映射至第一NVS存储器的物理存储器块,并且控制返回至步骤510。
如果步骤544的结果为否,那么控制在步骤548中确定第一NVS存储器的损耗水平是否大于预定阀值。如果步骤548的结果为真,那么在步骤550中控制将所有逻辑存储器块映射至第二NVS存储器的物理存储器块,并且控制返回至步骤510。如果步骤548的结果为否,那么控制返回至步骤510。
现在参照图8,其示出了用于提供通过使用具有不同的存取时间和存储容量的第一NVS存储器和第二NVS存储器缓存数据的混合非易失性固态(NVS)存储系统的方法600。第一NVS存储器具有比第二NVS存储器更高的存取时间和更高的容量。第一NVS存储器和第二NVS存储器具有高写循环寿命。
方法600在步骤602处开始。在步骤604中,控制接收与用于将数据写入来自于主机的逻辑地址所需的写频率和存取时间有关的数据。在步骤606中,控制将具有低写频率(例如:具有小于预定阀值的写频率)和/或需要更慢的存取时间的逻辑地址映射至第一NVS存储器。在步骤606中,控制将具有高写频率(例如:具有大于预定阀值的写频率)和/或需要更快的存取时间的逻辑地址映射至第二NVS存储器。在步骤608中,控制将具有低写频率(例如:具有小于预定阀值的写频率)和/或需要更低的存取时间的逻辑地址映射至第一NVS存储器。
在步骤610中,控制根据在步骤606和608中产生的映射将数据写入第一和/或第二NVS存储器。在步骤612中,控制测量数据实际上被写入逻辑地址时的实际写频率和/或实际存取时间并且对映射进行更新。在步骤614中,控制执行如图7A至图7E所示的方法500的步骤514处开始的步骤。
根据本公开的原则的损耗均衡模块可确定一个或多个非易失性半导体存储器的每个存储器块的损耗水平。术语存储器块可指必须被一起写和/或删除的存储器单元组。仅为了讨论的目的,术语存储器块将被用于被一起删除的存储器单元组,并且存储器单元的损耗水平将基于已经经受的删除循环的次数。
尽管当删除被发起时单个存储器单元可能还未被编程并且因此可能未经历尽同样多的损耗,但是存储器块中的存储器单元将经历相同次数的删除。然而,损耗均衡模块可假设存储器块的存储器单元的损耗水平可通过存储器块已经经历的删除循环的次数来估计。
损耗均衡模块可追踪第一存储器和第二存储器的每个存储器块经历的删除的次数。例如,这些数字可被存储在第一和/或第二存储器的某一区域中、存储在损耗均衡模块的独立工作存储器中或具有它们各自的存储器块。仅举例说明,未用于用户数据的存储器块的预定区域可被用于对存储器块已经被删除的次数的总数进行存储。当存储器块将被删除时,损耗均衡模块可读取该值、增加该值,并且在存储器块已经被删除之后将递增的值写入存储器块中。
在同质存储器结构的情况下,删除次数可被用作存储器块的损耗水平。然而,第一存储器和第二存储器可具有不同的寿命,这意味着每个存储器单元可承受的删除次数是不同的。在各种实现中,第二存储器具有比第一存储器更长的寿命。因此,在第二存储器中每个存储器块可承受的删除次数比在第一存储器中更大。
因此,在存储器块上执行的删除次数可能不是第一存储器的存储器块与第二存储器的存储器块之间的合适比较。为了实现合适的比较,删除计数可被归一化。一种归一化的方式是用删除计数除以该存储器中的存储器块被期望能够承受的删除计数的总数。仅举例说明,第一存储器具有10,000的写循环寿命,而第二存储器具有100,000的写循环寿命。
然后,在第一存储器中已经被删除1,000次的存储器块将具有1/10的归一化损耗水平,而在第二存储器中已经被删除1,000次的存储器块将具有1/100的归一化损耗水平。一旦损耗水平已经被归一化,那么损耗均衡算法可在第一存储器和第二存储器的所有存储器块中被利用,就好像所有的存储器块形成了具有单个写循环寿命的单个存储器。除非另外注明,本文所用的损耗水平是归一化的损耗水平。
另一种避免分数数值的归一化方式是用第一存储器(具有更低的写循环寿命)中的存储器块的删除计数乘以写循环寿命的比率。在当前的实施例中,比率为10(100,000/10,000)。然后,在第一存储器中的已经被删除1,000次的存储器块将具有10,000的归一化损耗水平,而在第二存储器中的已经被删除1,000次的存储器块将具有1,000的归一化损耗水平。
当逻辑地址的写请求到达损耗均衡模块时,损耗均衡模块可确定逻辑地址是否已经被映射至物理地址。如果是,那么损耗均衡模块可将写导向该物理地址。如果写将要求存储器块的删除,那么损耗均衡模块可确定是否存在具有更低的损耗水平的任何未使用的存储器块。如果有,那么损耗均衡模块可将写导向具有最低损耗水平的未使用的存储器块。
对于还未被映射的逻辑地址的写请求,损耗均衡模块可将逻辑地址映射至具有最低损耗水平的未使用的存储器块。如果损耗均衡模块预期该逻辑地址将相对不频繁被写,那么损耗均衡模块可将逻辑地址映射至具有最高损耗水平的未使用的存储器块。
当损耗均衡模块具有用于估计存取频率的良好数据时,损耗均衡模块可将来自于使用的存储器块的数据进行移动,以释放该存储器块,用于到来的写操作。按照这种方式,被相对频繁存取的存储器块的到来的写操作可被写到具有低损耗水平的存储器块。并且,被相对不频繁存取的存储器块的到来写操作可被写到具有高损耗水平的存储器块。被移动的数据可被放置在未使用的存储器块中,其可基于移动的数据期望被再写的频率被选择。
在不同的时候,例如:周期地,损耗均衡模块可分析存储器块的损耗水平,并且将相对频繁地再写的逻辑地址重新映射至具有低损耗水平的存储器块。此外,损耗均衡模块可将相对不频繁地再写的逻辑地址重新映射至具有高损耗水平的存储器块,其被称作静态数据移动。重新映射可涉及交换两个存储器块中的数据。在交换期间,来自于存储器块中的一个的数据可被存储在未使用的存储器块中,或者在临时存储中。
损耗均衡模块也可维持已经超越了它们的写循环寿命的存储器块的列表。没有新的数据将被写入这些存储器块,并且先前被存储在那些存储器块中的数据被写入其它存储器块。尽管损耗均衡模块的目的是没有存储器块先于其它存储器块被用坏,但是在现实环境中,一些存储器块可被过早地用坏。确定和移除不可靠的存储器块允许在固态盘不可使用之前,剩余存储器块的整个寿命将被使用。
应该了解到,虽然为了举例说明的目的,本发明描述了第一固态非易失性存储器204和第二固态非易失性存储器206,但是本公开的教导也可被应用于其它类型的存储器。此外,这些存储器可以不被限制于单个模块。例如,本公开的教导可被应用于单个存储器芯片或多个存储器芯片中的存储器区域。根据本公开的教导,每个存储器区域可被用于存储数据。
图9示出了系统900。系统900可为存储数据的任意设备,例如:计算机、机顶盒,手机(或其它类型的无线手持设备),等等。如前所述,系统900包括用于存储数据的固态盘200。
图10示出了根据本公开的示例性的固态存储系统。存储系统包括与主机1005进行通信的固态盘1000。固态盘可包括控制器1010、第一固态非易失性存储器1001和第二固态非易失性存储器1002。仅举例说明,第一固态非易失性存储器1001可包括高持久性(即:高写循环寿命)存储器设备,例如:单层单元(SLC)闪存芯片。与第二固态非易失性存储器1002相比,第一固态非易失性存储器1001可更加昂贵并且具有更低的容量(和/或密度),第二固态非易失性存储器1002可包括更低的持久性和/或更高的容量(和/或密度)存储设备,例如:多层单元(MLC)闪存芯片。按照这种方式,固态盘1000可提供对持久性水平、容量和成本进行平衡的存储系统。
控制器1010可包括用于分别连接第一固态非易失性存储器和第二固态非易失性存储器的第一存储器接口1011和第二存储器接口1012。此外,控制器1010可包括映射模块1013和疲劳管理模块1014,用于将从主机1005接收到的逻辑地址映射至第一固态非易失性存储器1001和第二固态非易失性存储器1002中存在的物理地址。在写操作期间,来自于主机1005的数据经由第一存储器接口1011被写入第一固态非易失性存储器1001或者经由第二存储器接口1012被写入第二固态非易失性存储器1002。在读操作期间,数据分别经由第一存储器接口1011或第二存储器接口1012从第一固态非易失性存储器1001或第二固态非易失性存储器1002被提供至主机1005。
映射模块1013和疲劳管理模块1014可确定一具体的逻辑地址将被映射至第一固态非易失性存储器1001或第二固态非易失性存储器1002中的哪一个。疲劳管理模块1014也可包含映射模块,以使它执行映射模块1013和疲劳管理模块1014二者的功能。
通常,疲劳管理模块1014监控从主机1005处接收到的逻辑地址的写操作的次数和/或频率。逻辑地址可标识一个或多个相应的存储器块。疲劳管理模块1014将最频繁写的逻辑地址映射至位于具有更高持久性的存储器中的物理地址。在实现该目的时,疲劳管理模块1014可产生从主机1005处接收到的逻辑地址中的每一个的写频率等级。写频率等级可包括按照每个逻辑地址的写次数的顺序的整组逻辑地址。可选择地,写频率等级可包括在预定时期内每个逻辑地址的写操作的次数。使用预定时期允许具有高数量的总的写操作的、但是不再被频繁地写的逻辑地址以从被指定为高频地址变为低频地址。
为了产生写频率等级,疲劳管理模块1014可保持主机1005请求写操作的每个逻辑地址的写计数。当固态盘1000第一次被使用时,例如:当操作系统第一次被初始化时,或者在存在交换空间再定义的重新格式化之后,疲劳管理模块1014和映射模块1013可首先写入更高持久性的非易失性存储器,其在所示出的实施例中是第一固态非易失性存储器1001。在预定百分比或所有的第一固态非易失性存储器1001的可用物理地址被填充之后,下一个写入的逻辑地址可被映射至更低持久性的非易失性存储器。一旦更高持久性的存储器被填充至某一阀值并且更低持久性的存储器开始被写入时,疲劳管理模块1014将操作来管理对两个存储器的映射。换句话说,最频繁地写入的逻辑地址将被映射至更高持久性的存储器中的物理地址,而最不频繁写入的逻辑地址将被映射至更低持久性的存储器。
在一个实施例中,疲劳管理模块1014根据已经对逻辑地址执行的写操作的总数来对逻辑地址进行排序。等级最高的逻辑地址将被映射至更高持久性的存储器中的物理地址,而剩余的逻辑地址将被映射至更低持久性的存储器中的物理地址。可选择地,逻辑地址的等级可改为基于在预定时期内写操作的次数。在该实施例中,在一时间周期内还未被写入的大量写入的逻辑地址可排在最近被更频繁地写入的逻辑地址之后。因此,与更低持久性的存储器中的逻辑地址相比,被映射至更高持久性的存储器的逻辑地址可具有与它们相关联的更低总数的写操作。在又一个实施例中,可利用总写操作与每周期写等级的组合。
在另一个示例性的实施方式中,逻辑地址的写频率可通过从逻辑地址上一次被写入开始经过的时间周期来确定。按照这种方式,写频率等级可通过将最近写入的逻辑地址放置在等级排列的顶部来确定,而具有从被写入开始最长时间段的逻辑地址将位于底部。可设想到,经过的时间可被存储,使得不会在每次固态盘1000通电时发生逻辑地址的重新等级排列。在又一个实施方式中,特定逻辑地址的写循环之间经过的时间的平均值可被用于产生每个逻辑地址的写频率等级。因此,变得不频繁被写入的先前被频繁写入的逻辑地址将最终转换为更低写频率等级,并且因此将被存储在较低持久性的存储器中。在又一个实施方式中,写循环之间经过的时间的平均值可基于较低持久性的存储器和较高持久性的存储器的写循环寿命(或剩余写循环寿命)来归一化,如前面更完整地讨论的。
为了确定写频率,并且因此确定逻辑地址的写频率等级,每个逻辑地址的写计数的加权时间衰减平均值可根据下面的公式计算:
WCA(n+1)=WCA(n)*(1-a)+WE(n)*a,(1)
其中:WCA(n)是时步n处的时均写计数;WE(n)是时步n处的实际写事件,如果写发生在时步n处时WE(n)等于1,否则等于0;“a”是被选择为具有合适的时间衰减的常量,其中“a”有时被称作“攻击率常量”,而(1-a)有时被称作“衰减率常量”。可选择地,两个参量系统可被使用,以使上面的公式1变为:
WCA(n+1)=WCA(n)*d+WE(n)*a,(2)
其中:d是衰减率常量,而所有其它的变量与上面的相同。
逻辑地址至第一存储器中或第二存储器中的任意一个中的物理地址的实际映射可包括上述损耗均衡功能。因此,特定逻辑地址至第一存储器或第二存储器中的任意一个的分配可通过疲劳管理模块1014来确定,而所选存储器中的具体物理地址可通过损耗均衡模块来确定,如前所述。
现在参照图11,其示出了根据本公开的包括针对存储器中的每一个的独立损耗均衡模块的示例性的固态存储器系统。存储系统包括与主机1205进行通信的固态盘1200。固态盘可包括控制器1210、第一固态非易失性存储器1201和第二固态非易失性存储器1202。仅举例说明,第一固态非易失性存储器1201可包括高持久性(即:高写循环寿命)的存储器设备,例如:单层单元(SLC)闪存芯片。与第二固态非易失性存储器1202相比,第一固态非易失性存储器1201可更加昂贵并且具有更低的容量(和/或密度),第二固态非易失性存储器1202可包括更低持久性和/或更高容量(和/或密度)的存储器设备,例如:多层单元(MLC)闪存芯片。按照这种方式,固态盘1200可提供对持久性水平、容量和成本进行平衡的存储系统。
控制器1210可包括分别用于连接第一固态非易失性存储器和第二固态非易失性存储器的第一存储器接口1211和第二存储器接口1212。此外,控制器1210可包括映射模块1213和疲劳管理模块1214,用于将从主机1205接收到的逻辑地址映射至第一固态非易失性存储器1201和第二固态非易失性存储器1202中存在的物理地址。在写操作期间,来自于主机1205的数据经由第一存储器接口1211写入第一固态非易失性存储器1201或者经由第二存储器接口1212写入第二固态非易失性存储器1202。在读操作期间,数据分别经由第一存储器接口1211或第二存储器接口1212从第一固态非易失性存储器1201或第二固态非易失性存储器1202被提供至主机1205。
映射模块1213和疲劳管理模块1214可确定具体的逻辑地址将被映射至第一固态非易失性存储器1201或第二固态非易失性存储器1202中的哪一个。疲劳管理模块1214也可包含映射模块,以使它执行映射模块1213和疲劳管理模块1214二者的功能。映射模块1213也可包括第一损耗均衡模块1215和第二损耗均衡模块1216。可选择地,第一损耗均衡模块1215和第二损耗均衡模块1216可被包含在疲劳管理模块1214中,或者甚至可与映射模块1213和疲劳管理模块1214分离(未示出)。
第一损耗均衡模块1215和第二损耗均衡模块1216可提供第一固态非易失性存储器1201和第二固态非易失性存储器1202中的每一个内的实际物理地址的独立损耗水平。如前所述,损耗均衡模块的目的可为对其固态非易失性存储器的所有区域内的损耗进行均衡,以使没有一个区域(或物理地址)先于存储器内的其余区域被用坏。第一固态非易失性存储器1201和第二固态非易失性存储器1203中的每一个内的块头区域(overhead area)可被用于对存储器内的物理地址之间的数据进行移动,其有时被称作“垃圾回收”。
现在参照图12,其示出了根据本公开的示例性的映射/写频率等级表800。映射/写频率等级表800包括列802中的一列逻辑地址LA1-LAn。对于每个逻辑地址LA1-LAn,总的写计数被监控并且被保持在列804中。总的写计数WC1-WCn包括分别被执行至逻辑地址LA1-LAn的写的次数。在列806处,逻辑地址LA1-LAn的写频率等级WFR1-WFRn分别被存储。写频率等级WFR1-WFRn可以各种方式被确定,如前所述。逻辑地址LA1-LAn已经被分别映射至的物理地址PA1-PAn被存储在列808中。必要时或者期望时,列804至列808被更新,以使其中包含的信息是精确的和/或最新的。
现在参照图13,其示出了用于管理混合持久性固态存储器设备的疲劳的示例性方法1100。在该实施例中,第一存储器具有比第二NVS存储器更高的持久性水平(或写循环寿命)。方法1100从步骤1102处开始。在步骤1104处,控制接收将被写入的逻辑地址1130。在步骤1106处,控制确定所接收的逻辑地址1130的写频率。基于在步骤1106处确定的写频率,在步骤1108处该逻辑地址1130的写频率等级被确定。
在步骤1110处,将被写入的逻辑地址1130的写频率等级与第一存储器中存在的最低写频率等级进行比较。如果逻辑地址1130的写频率等级低于第一存储器中存在的最低写频率等级,那么在步骤1112处逻辑地址1130被映射至第二存储器。在步骤1114处,数据将根据映射被写,其包括把将被写入逻辑地址1130的数据写入第二存储器阵列。方法1100在步骤1116处结束。
然而,如果逻辑地址1130的写频率等级高于第一存储器中存在的最低写频率等级,那么方法进入步骤1118。在步骤1118处,在第一存储器中存在的具有最低写频率等级的逻辑地址被改为映射至第二存储器。在步骤1120处,在包含第一存储器中的最低写频率等级处的数据被移动至第二存储器。然后,在步骤1122处,逻辑地址1130被映射至第一存储器。然后,方法1100进入步骤1114,根据映射写数据。方法1100在步骤1116处结束。
现在,本领域相关技术人员可根据前面的描述理解到,本公开的广泛教导可以各种形式实现。例如,上述方法的一个或多个步骤可按照不同的顺序(或者同时)执行并且仍然实现期望的结果。因此,虽然本公开包含了具体的实施例,但是对于技术实践者来说,因为根据附图、说明和以下的权利要求的学习将了解其它的修改,因此本公开的真实范围不应该被局限于此。

Claims (14)

1.一种固态存储系统,包括:
第一非易失性半导体存储器,其具有第一写循环寿命和第一组物理地址;
第二非易失性半导体存储器,其具有第二写循环寿命和第二组物理地址,其中所述第一写循环寿命大于所述第二写循环寿命;以及
疲劳管理模块,用以
产生用于多个逻辑地址的写频率等级;以及
基于所述写频率等级,将所述多个逻辑地址中的每一个映射至所述第一组物理地址或所述第二组物理地址中的物理地址。
2.根据权利要求1所述的系统,其中用于所述多个逻辑地址中的一个的所述写频率等级是基于针对所述多个逻辑地址中的所述一个的写操作的次数。
3.根据权利要求1所述的系统,其中用于所述多个逻辑地址中的一个的所述写频率等级是基于在预定时期内针对所述多个逻辑地址中的所述一个的写操作的次数。
4.根据权利要求1所述的系统,其中用于所述多个逻辑地址中的一个的所述写频率等级是基于针对所述多个逻辑地址中的所述一个的时均写计数。
5.根据权利要求4所述的系统,其中所述时均写计数是基于:
WCA(n+1)=WCA(n)*d+WE(n)*a,
其中,WCA(n)是在时步n处的时均写计数;WE(n)是在时步n处的实际写事件,以使如果写事件发生在时步n处时则WE(n)等于1,否则等于0;d是第一常量;以及a是第二常量。
6.根据权利要求1所述的系统,其还包括损耗均衡模块,其中所述损耗均衡模块:
基于所述第一写循环寿命产生针对所述第一非易失性半导体存储器的第一损耗水平;和
基于所述第二写循环寿命产生针对所述第二非易失性半导体存储器的第二损耗水平,
其中,所述多个逻辑地址的映射还基于所述第一损耗水平和所述第二损耗水平。
7.根据权利要求1所述的系统,其中被映射至所述第一非易失性半导体存储器的逻辑地址的最低写额定频率大于被映射至所述第二非易失性半导体存储器的逻辑地址的最高写额定频率。
8.一种用于固态存储系统的疲劳管理方法,包括:
提供具有第一写循环寿命和第一组物理地址的第一非易失性半导体存储器;
提供具有第二写循环寿命和第二组物理地址的第二非易失性半导体存储器,其中所述第一写循环寿命大于所述第二写循环寿命;
产生用于多个逻辑地址的写频率等级;和
基于所述写频率等级将所述多个逻辑地址中的每一个映射至所述第一组物理地址或所述第二组物理地址中的物理地址。
9.根据权利要求8所述的方法,其中所述多个逻辑地址中的一个的所述写频率等级是基于所述多个逻辑地址中的所述一个的写操作的次数。
10.根据权利要求8所述的方法,其中用于所述多个逻辑地址的一个的所述写频率等级是基于在预定时期内针对所述多个逻辑地址的所述一个的写操作的次数。
11.根据权利要求8所述的方法,其中用于所述多个逻辑地址中的一个的所述写频率等级是基于针对所述多个逻辑地址中的所述一个的时均写计数。
12.根据权利要求11所述的方法,其中所述时均写计数是基于:
WCA(n+1)=WCA(n)*d+WE(n)*a,
其中,WCA(n)是在时步n处的时均写计数;WE(n)是在时步n处的实际写事件,以使如果写事件发生在时步n处时则WE(n)等于1,否则等于0;d是第一常量;以及a是第二常量。
13.根据权利要求8所述的方法,还包括:
基于所述第一写循环寿命产生所述第一非易失性半导体存储器的第一损耗水平;以及
基于所述第二写循环寿命产生所述第二非易失性半导体存储器的第二损耗水平,
其中,所述多个逻辑地址的映射还基于所述第一损耗水平和所述第二损耗水平。
14.根据权利要求8所述的方法,其中被映射至所述第一非易失性半导体存储器的逻辑地址的最低写额定频率大于被映射至所述第二非易失性半导体存储器的逻辑地址的最高写额定频率。
CN200980107044.1A 2008-02-29 2009-02-24 用于混合非易失性固态存储系统的疲劳管理系统和方法 Active CN102047341B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3277408P 2008-02-29 2008-02-29
US61/032,774 2008-02-29
US12/365,455 2009-02-04
US12/365,455 US9153337B2 (en) 2006-12-11 2009-02-04 Fatigue management system and method for hybrid nonvolatile solid state memory system
PCT/US2009/034960 WO2009108619A1 (en) 2008-02-29 2009-02-24 Fatigue management system and method for hybrid nonvolatile solid state memory system

Publications (2)

Publication Number Publication Date
CN102047341A true CN102047341A (zh) 2011-05-04
CN102047341B CN102047341B (zh) 2014-11-19

Family

ID=40551048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980107044.1A Active CN102047341B (zh) 2008-02-29 2009-02-24 用于混合非易失性固态存储系统的疲劳管理系统和方法

Country Status (6)

Country Link
US (3) US9153337B2 (zh)
EP (1) EP2248131B1 (zh)
KR (1) KR101576575B1 (zh)
CN (1) CN102047341B (zh)
TW (1) TWI490693B (zh)
WO (1) WO2009108619A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104115130A (zh) * 2011-12-20 2014-10-22 桑迪士克科技股份有限公司 存储器设备的损耗均匀化
CN107767897A (zh) * 2016-08-18 2018-03-06 爱思开海力士有限公司 存储器系统及其操作方法
CN107958690A (zh) * 2016-10-18 2018-04-24 爱思开海力士有限公司 数据存储装置及其操作方法
CN105556485B (zh) * 2013-04-04 2018-12-07 爱思开海力士有限公司 基于相邻体和基于动态热阈值的热数据识别
WO2019090493A1 (zh) * 2017-11-07 2019-05-16 华为技术有限公司 内存块回收方法和装置
CN110140173A (zh) * 2017-01-20 2019-08-16 阿姆有限公司 延长存储器的寿命的装置和方法
CN110663033A (zh) * 2017-04-05 2020-01-07 美光科技公司 混合模块的操作
CN115793987A (zh) * 2023-01-09 2023-03-14 苏州浪潮智能科技有限公司 一种磨损均衡的方法、装置、电子设备和存储介质

Families Citing this family (248)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9153337B2 (en) * 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US8187100B1 (en) * 2007-03-02 2012-05-29 Dp Technologies, Inc. Shared execution of hybrid states
US7913032B1 (en) * 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US8678925B1 (en) 2008-06-11 2014-03-25 Dp Technologies, Inc. Method and apparatus to provide a dice application
US20090319721A1 (en) * 2008-06-19 2009-12-24 Silicon Motion, Inc. Flash memory apparatus and method for operating the same
US8527690B2 (en) * 2008-06-26 2013-09-03 Microsoft Corporation Optimization of non-volatile solid-state memory by moving data based on data generation and memory wear
KR20100013485A (ko) * 2008-07-31 2010-02-10 삼성전자주식회사 메모리 장치 및 웨어 레벨링 방법
US8516203B2 (en) 2008-08-13 2013-08-20 Sandisk Technologies Inc. Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
US8694750B2 (en) * 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US9176859B2 (en) * 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
JP4666080B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4666081B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4844639B2 (ja) * 2009-02-19 2011-12-28 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US10079048B2 (en) * 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US8572443B2 (en) * 2009-04-08 2013-10-29 International Business Machines Corporation System, method, and computer program product for determining a retention behavior for at least one block of a memory device having finite endurance and/or retention
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US20120150527A1 (en) * 2009-08-21 2012-06-14 Tadhg Creedon Storage peripheral device emulation
CN102033756A (zh) * 2009-09-27 2011-04-27 环旭电子股份有限公司 基本输入输出系统支持多种触控屏幕的方法
US8291194B2 (en) * 2009-11-16 2012-10-16 Mediatek Inc. Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof
US9594675B2 (en) 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
US8621141B2 (en) 2010-04-01 2013-12-31 Intel Corporations Method and system for wear leveling in a solid state drive
US8700841B2 (en) 2010-04-19 2014-04-15 International Business Machines Corporation Sub-LUN input/output profiling for SSD devices
US20120023144A1 (en) * 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
JP2012033047A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置、メモリ管理装置、メモリ管理方法、及びプログラム
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
KR20120032253A (ko) * 2010-09-28 2012-04-05 삼성전자주식회사 데이터 저장 장치들을 시험하는 방법 및 이를 위한 젠더
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
US20120278532A1 (en) * 2010-11-24 2012-11-01 Wladyslaw Bolanowski Dynamically configurable embedded flash memory for electronic devices
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US9176864B2 (en) * 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
US9177609B2 (en) 2011-06-30 2015-11-03 Sandisk Technologies Inc. Smart bridge for memory core
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
CN103946813B (zh) * 2011-09-30 2017-08-25 英特尔公司 基于使用统计量追踪的远存储器访问信号的生成
KR101889298B1 (ko) * 2011-11-08 2018-08-20 삼성전자주식회사 불휘발성 메모리를 포함하는 메모리 장치 및 불휘발성 메모리의 제어 방법
US9348741B1 (en) * 2011-12-19 2016-05-24 Western Digital Technologies, Inc. Systems and methods for handling write data access requests in data storage devices
WO2013095644A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Page miss handler including wear leveling logic
KR101625777B1 (ko) 2011-12-28 2016-05-30 인텔 코포레이션 휘발성 메모리 및 비휘발성 메모리 간의 코드 및 데이터 저장소들을 분산하기 위한 방법 및 장치
WO2013100975A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Workload adaptive address mapping
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9128847B2 (en) * 2012-10-18 2015-09-08 Hitachi, Ltd. Cache control apparatus and cache control method
KR101979713B1 (ko) * 2012-11-12 2019-05-17 삼성전자 주식회사 반도체 장치의 테스트 방법 및 반도체 테스트 장비
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9292451B2 (en) 2013-02-19 2016-03-22 Qualcomm Incorporated Methods and apparatus for intra-set wear-leveling for memories with limited write endurance
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9348743B2 (en) 2013-02-21 2016-05-24 Qualcomm Incorporated Inter-set wear-leveling for caches with limited write endurance
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
KR101752583B1 (ko) 2013-03-14 2017-07-11 마이크론 테크놀로지, 인크. 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들
US20140281129A1 (en) * 2013-03-15 2014-09-18 Tal Heller Data tag sharing from host to storage systems
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9330143B2 (en) * 2013-10-24 2016-05-03 Western Digital Technologies, Inc. Data storage device supporting accelerated database operations
US10444998B1 (en) 2013-10-24 2019-10-15 Western Digital Technologies, Inc. Data storage device providing data maintenance services
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
KR102165460B1 (ko) * 2013-11-27 2020-10-14 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법
US9928166B2 (en) 2013-12-24 2018-03-27 International Business Machines Corporation Detecting hot spots through flash memory management table snapshots
US9564212B2 (en) 2014-05-06 2017-02-07 Western Digital Technologies, Inc. Solid-state memory corruption mitigation
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9760481B2 (en) * 2014-06-13 2017-09-12 Sandisk Technologies Llc Multiport memory
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9042160B1 (en) * 2014-07-03 2015-05-26 Sandisk Technologies Inc. Memory device with resistive random access memory (ReRAM)
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US10528461B2 (en) * 2014-08-04 2020-01-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Controlling wear among flash memory devices based on remaining warranty
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
KR102282962B1 (ko) * 2014-12-22 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10599352B2 (en) * 2015-08-14 2020-03-24 Samsung Electronics Co., Ltd. Online flash resource allocation manager based on a TCO model
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
KR102333746B1 (ko) * 2015-09-02 2021-12-01 삼성전자주식회사 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10228990B2 (en) * 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
JP2017107321A (ja) * 2015-12-08 2017-06-15 京セラドキュメントソリューションズ株式会社 電子機器およびデータアクセス制御プログラム
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US9886324B2 (en) 2016-01-13 2018-02-06 International Business Machines Corporation Managing asset placement using a set of wear leveling data
US10078457B2 (en) * 2016-01-13 2018-09-18 International Business Machines Corporation Managing a set of wear-leveling data using a set of bus traffic
US10095597B2 (en) 2016-01-13 2018-10-09 International Business Machines Corporation Managing a set of wear-leveling data using a set of thread events
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10387303B2 (en) 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
US10061524B2 (en) * 2016-09-01 2018-08-28 International Business Machines Corporation Wear-leveling of memory devices
CN107025066A (zh) 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10459644B2 (en) 2016-10-28 2019-10-29 Western Digital Techologies, Inc. Non-volatile storage system with integrated compute engine and optimized use of local fast memory
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
EP3367385B1 (en) 2017-02-28 2020-07-08 ams AG Memory arrangement and method for operating a memory arrangement
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10565123B2 (en) 2017-04-10 2020-02-18 Western Digital Technologies, Inc. Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
FR3070081B1 (fr) * 2017-08-10 2021-04-09 Safran Identity & Security Procede d'ecriture d'un programme dans une memoire non-volatile tenant compte de l'usure de ladite memoire
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
JP7010667B2 (ja) * 2017-11-06 2022-01-26 キオクシア株式会社 メモリシステムおよび制御方法
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
TWI680373B (zh) 2018-03-29 2019-12-21 大陸商合肥沛睿微電子股份有限公司 固態硬碟及其運作方法
TWI705333B (zh) * 2018-03-29 2020-09-21 大陸商合肥沛睿微電子股份有限公司 控制電路及控制方法
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10831378B2 (en) * 2018-09-24 2020-11-10 International Business Machines Corporation Optimizing data access in a DSN memory for wear leveling
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US10877671B2 (en) * 2018-12-03 2020-12-29 Vast Data Ltd. Techniques for prolonging lifespan of storage drives
KR20200095103A (ko) 2019-01-31 2020-08-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
KR20200117256A (ko) 2019-04-03 2020-10-14 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
KR20200139573A (ko) * 2019-06-04 2020-12-14 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11080205B2 (en) * 2019-08-29 2021-08-03 Micron Technology, Inc. Classifying access frequency of a memory sub-system component
US10902929B1 (en) 2019-08-29 2021-01-26 Micron Technology, Inc. Zone swapping for wear leveling memory
US11320987B2 (en) * 2019-08-29 2022-05-03 Micron Technology, Inc. Scanning techniques for a media-management operation of a memory sub-system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11150825B2 (en) * 2019-12-05 2021-10-19 Microsoft Technology Licensing, Llc Adaptive spare block usage in solid state drives
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11200113B2 (en) 2020-01-14 2021-12-14 Intel Corporation Auto-increment write count for nonvolatile memory
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11145376B1 (en) * 2020-03-26 2021-10-12 Macronix International Co., Ltd. Memory system and method capable of performing wear leveling
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11586385B1 (en) 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
TWI775143B (zh) * 2020-09-09 2022-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
WO2023020783A1 (en) * 2021-07-30 2023-02-23 Robert Bosch Gmbh A method to extend lifespan of an electronic control unit (ecu) and the ecu thereof
EP4134826A1 (en) * 2021-08-09 2023-02-15 Giesecke+Devrient Mobile Security GmbH Management of memory of a processing device
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638430A (en) 1983-07-15 1987-01-20 United Technologies Corporation EAROM and EEPROM data storage management
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JPH05151097A (ja) 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
DE19534873A1 (de) * 1995-09-20 1997-03-27 Philips Patentverwaltung Schaltungsanordnung mit einem Differenzverstärker
JP3200012B2 (ja) 1996-04-19 2001-08-20 株式会社東芝 記憶システム
US6163773A (en) 1998-05-05 2000-12-19 International Business Machines Corporation Data storage system with trained predictive cache management engine
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
JP2001067881A (ja) 1999-08-30 2001-03-16 Toshiba Corp 連想記憶装置及び記憶媒体
JP2001266599A (ja) 2000-03-17 2001-09-28 Nec Microsystems Ltd 半導体記憶装置の試験方法および試験装置
US8412879B2 (en) 2002-10-28 2013-04-02 Sandisk Technologies Inc. Hybrid implementation for error correction codes within a non-volatile memory system
US7035967B2 (en) 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US6831865B2 (en) 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
EP1556868B1 (en) * 2002-10-28 2007-09-05 SanDisk Corporation Automated wear leveling in non-volatile storage systems
EP1713085A1 (en) 2002-10-28 2006-10-18 SanDisk Corporation Automated wear leveling in non-volatile storage systems
US7032087B1 (en) 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
JP2006338370A (ja) 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US7596656B2 (en) 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing
US20080140918A1 (en) 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US9153337B2 (en) * 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
JP5006940B2 (ja) * 2006-12-27 2012-08-22 インテル・コーポレーション 不揮発性メモリのイニシアチブウェアレベリング
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104115130A (zh) * 2011-12-20 2014-10-22 桑迪士克科技股份有限公司 存储器设备的损耗均匀化
CN105556485B (zh) * 2013-04-04 2018-12-07 爱思开海力士有限公司 基于相邻体和基于动态热阈值的热数据识别
CN107767897A (zh) * 2016-08-18 2018-03-06 爱思开海力士有限公司 存储器系统及其操作方法
CN107767897B (zh) * 2016-08-18 2021-04-13 爱思开海力士有限公司 存储器系统及其操作方法
CN107958690A (zh) * 2016-10-18 2018-04-24 爱思开海力士有限公司 数据存储装置及其操作方法
CN107958690B (zh) * 2016-10-18 2021-05-25 爱思开海力士有限公司 数据存储装置及其操作方法
US11604727B2 (en) 2017-01-20 2023-03-14 Arm Limited Apparatus and methods to prolong lifetime of memories
CN110140173A (zh) * 2017-01-20 2019-08-16 阿姆有限公司 延长存储器的寿命的装置和方法
CN110140173B (zh) * 2017-01-20 2023-07-25 阿姆有限公司 延长存储器的寿命的装置和方法
CN110663033A (zh) * 2017-04-05 2020-01-07 美光科技公司 混合模块的操作
CN110663033B (zh) * 2017-04-05 2023-09-15 美光科技公司 混合模块的操作
WO2019090493A1 (zh) * 2017-11-07 2019-05-16 华为技术有限公司 内存块回收方法和装置
CN111108488B (zh) * 2017-11-07 2022-05-10 华为技术有限公司 内存块回收方法和装置
KR102517685B1 (ko) 2017-11-07 2023-04-05 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 블록 복구 방법 및 디바이스
KR20200078592A (ko) * 2017-11-07 2020-07-01 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 블록 복구 방법 및 디바이스
CN111108488A (zh) * 2017-11-07 2020-05-05 华为技术有限公司 内存块回收方法和装置
US11886333B2 (en) 2017-11-07 2024-01-30 Huawei Technologies Co., Ltd. Memory block reclamation method and apparatus
CN115793987A (zh) * 2023-01-09 2023-03-14 苏州浪潮智能科技有限公司 一种磨损均衡的方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
US20160019141A1 (en) 2016-01-21
TWI490693B (zh) 2015-07-01
US20090138654A1 (en) 2009-05-28
US9727455B2 (en) 2017-08-08
EP2248131B1 (en) 2015-02-18
CN102047341B (zh) 2014-11-19
WO2009108619A1 (en) 2009-09-03
US20170337127A1 (en) 2017-11-23
EP2248131A1 (en) 2010-11-10
US9153337B2 (en) 2015-10-06
US10067866B2 (en) 2018-09-04
KR20100138896A (ko) 2010-12-31
KR101576575B1 (ko) 2015-12-10
TW200937192A (en) 2009-09-01

Similar Documents

Publication Publication Date Title
CN102047341B (zh) 用于混合非易失性固态存储系统的疲劳管理系统和方法
US11960719B2 (en) Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US9898212B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
EP2396729B1 (en) Memory system and method of controlling memory system
KR101283711B1 (ko) 하이브리드 메모리 관리
US8402242B2 (en) Write-erase endurance lifetime of memory storage devices
US8108593B2 (en) Memory system for flushing and relocating data
US20080140918A1 (en) Hybrid non-volatile solid state memory system
KR101086876B1 (ko) 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
CN101622608A (zh) 存储器系统
KR20090117936A (ko) 메모리 시스템
Wang et al. Retention Leveling: Leverage Retention Refreshing and Wear Leveling Techniques to Enhance Flash Reliability with the Awareness of Temperature
CN116578244A (zh) 损耗平衡方法、存储器存储装置及存储器控制器
CN116610595A (zh) 固态硬盘的管理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200424

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200424

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200424

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Michael

Patentee before: MARVELL WORLD TRADE Ltd.