CN110032521A - 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统 - Google Patents

用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统 Download PDF

Info

Publication number
CN110032521A
CN110032521A CN201811339993.XA CN201811339993A CN110032521A CN 110032521 A CN110032521 A CN 110032521A CN 201811339993 A CN201811339993 A CN 201811339993A CN 110032521 A CN110032521 A CN 110032521A
Authority
CN
China
Prior art keywords
data
page
written
block
block address
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
CN201811339993.XA
Other languages
English (en)
Other versions
CN110032521B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN110032521A publication Critical patent/CN110032521A/zh
Application granted granted Critical
Publication of CN110032521B publication Critical patent/CN110032521B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7205Cleaning, compaction, garbage collection, erase control

Abstract

一个实施例促进减少的写入放大。在操作期间,所述系统由计算装置接收要将数据写入到非易失性存储器的请求。所述系统基于所述非易失性存储器的块的目的页的第一物理块地址将所述数据的第一页写入到所述块,其中,所述目的页是所述块的第一可用页。所述系统通过所述计算装置的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。

Description

用于增强闪存转换层映射灵活性以得到性能和寿命改进的方 法和系统
本申请要求于2017年11月16日提交美国专利商标局、申请号为15815510、申请名称为“METHOD AND SYSTEM FOR ENHANCING FLASH TRANSLATION LAYER MAPPING FLEXIBILITYFOR PERFORMANCE AND LIFESPAN IMPROVEMENTS”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开一般地涉及数据存储的领域。更具体地,本公开涉及用于增强通过闪存转换层映射的灵活性的方法和系统。
背景技术
因特网和云计算的激增继续创建大量的数字内容。已经创建各种存储系统和服务器来访问并存储此类数字内容。存储系统或服务器可包括多个驱动器(例如,固态驱动器(SSD)),并且驱动器可包括非易失性存储器,诸如用于持久存储的NAND闪存。NAND闪存由裸片构成,所述裸片可包括多个平面,其中一平面可包括多个块并且一块可包括多个页。可在页级别从NAND闪存读取数据,或者将数据编程在NAND闪存上(例如,写入到NAND闪存),并且可以在块级别从NAND闪存擦除数据。
为了为存储的数据提供故障弹性,存储系统可以使用日志文件系统,所述日志文件系统使用日志来在将变化提交给文件系统之前记录变化。用于日志的一种策略是使用完整日志模式,在所述完整日志模式下数据被写入两次:首先,系统通过块将数据(即,元数据和所对应的数据)写入到日志中;其次,系统移动数据并将数据写入到驱动器上的固定位置。虽然完整日志模式可提供高级别的保护免于文件系统损毁和数据丢失,但是完整日志模式还可以导致基于写入放大的性能降低(由于写入数据两次──首先写入到日志并且其次写入到固定位置而导致)。
此外,数据被在页级别并以固定顺序编程在NAND闪存上(例如,写入到NAND闪存),并且以块或k的倍数页存储(例如,与RAID条带类似)。然而,因为传入数据的大小可能不总是等于完整块大小或k个页的倍数,所以块的一些页可能保持开放或未编程。开放块(例如,具有一些未编程页的块)的原始误码率高于完整块(例如,其页被全部编程的块)的原始误码率。常规存储系统通过用虚设数据填充开放页来解决此问题,这可导致系统中不必要的低效率。此外,系统的效率可能受到常规垃圾收集程序的限制。
发明内容
一个实施例促进减少的写入放大。在操作期间,所述系统由计算装置接收要将数据写入到非易失性存储器的请求。所述系统基于所述非易失性存储器的块的目的页的第一物理块地址将所述数据的第一页写入到所述块,其中,所述目的页是所述块的第一可用页。所述系统通过所述计算装置的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
另一实施例促进计算装置中的主动垃圾收集。在操作期间,响应于完成要将数据写入到非易失性存储器的请求,所述系统:由所述计算装置识别被标记为有资格回收并且包括有效页的块;将来自所识别的块的所述有效页复制到写入有所述数据的所述非易失性存储器的一个或更多个块,其中,相应的有效页被写入到相应的块的第一可用页;将所述相应的有效页的原始物理块地址标记为无效的;并且,通过所述计算装置的闪存转换层模块将所述相应的有效页的逻辑块地址映射到所述相应的块的第一可用页的物理块地址,从而促进主动垃圾收集。
在一些实施例中,响应于完成所述请求,并且响应于确定所识别的块的第一有效页将由所述计算装置读取,所述系统在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
在一些实施例中,数据基于日志文件系统被存储在所述非易失性存储器中。
在一些实施例中,识别被标记为有资格回收的所述块是基于所述块是否包括少于预定阈值的多个有效页。
在一些实施例中,完成所述请求涉及通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:基于所述一个或更多个块的目的页的第一物理块地址将所述数据的第一页写入到所述非易失性存储器,其中,所述目的页是相应的块的第一可用页;以及通过所述闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
在一些实施例中,响应于确定在所述数据结构中针对所述数据的第一页的第一逻辑块地址的搜索返回所述第一物理块地址,所述系统:用新的物理块地址替换所述第一物理块地址;将所述第一物理块地址标记为无效的;并且基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
在一些实施例中,完成所述要将所述数据写入到所述非易失性存储器的请求包括将所述数据写入到所述非易失性存储器的一个或更多个块。以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块进一步包括:经由所述非易失性存储器的多个通道分发所述数据;基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应的块,其中,所述固定的页数的倍数被用于内部数据恢复。
附图说明
图1图示依照本申请的实施例的促进主动垃圾收集的示例性环境。
图2A图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信。
图2B图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信。
图3A图示依照现有技术的在日志文件系统中将数据写入到非易失性存储器时的示例性通信和数据结构。
图3B图示依照本申请的实施例的在日志文件系统中将数据写入到非易失性存储器时的示例性通信和数据结构。
图4A图示依照现有技术的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信。
图4B图示依照本申请的实施例的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信。
图5图示依照本申请的实施例的用于在非易失性存储器中经由多个通道顺序地写入数据的示例性架构。
图6A图示依照本申请的实施例的在主机触发的垃圾收集中的示例性通信。
图6B图示依照本申请的实施例的在主机触发的垃圾收集中的示例性通信,包括处理具有较高优先级的主机读取以进行回收。
图7A呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图。
图7B呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图。
图8图示依照本申请的实施例的促进主动垃圾收集的示例性计算机系统。
图9图示依照本申请的实施例的促进主动垃圾收集的示例性设备。
在图中,相似的附图标记指代相同的图元素。
具体实施方式
以下描述被呈现来使得本领域的任何技术人员能够做出并使用实施例,并且是在特定应用及其要求的背景下提供的。对所公开的实施例的各种修改对于本领域的技术人员而言将是容易地显而易见的,并且在不脱离本公开的精神和范围的情况下,可以将本文所限定的一般原理应用于其他实施例和应用。因此,本文所描述的实施例不限于所示出的实施例,而是将符合与本文所公开的原理和特征一致的最宽范围。
概要
本文所描述的实施例提供通过使用增强闪存转换层(FTL)映射来解决促进减少的写入放大和高效的垃圾收集的问题的系统。如上所述,使用完整日志模式可提供高级别的保护免于文件系统损毁和数据丢失,但是也可以导致基于写入放大的性能降低(即,由于写入数据两次—首先写入到日志并且其次写入到固定位置而导致)。此外,用虚设数据填充NAND闪存中的开放页可导致系统中不必要的低效率。另外,控制器或FTL模块可能受到用于垃圾收集的当前方法限制,这也可降低系统的效率。
本文所描述的实施例通过使用减少写入放大的增强FTL映射并且还通过使用主机触发的垃圾收集方法(其使用增强FTL映射)来解决这些低效率。在完整日志模式下发生的写入放大由系统写入数据(和元数据)两次产生:首先,写入到日志区域,并且其次,写入到在非易失性存储器(例如,持久储存器)中具有固定位置的数据区域,如在下面关于图2A、图2B和图3A所描述的。本文所描述的实施例通过使用消除了对“校验指示”数据(即,首先将数据写入到日志区域)的需要的FTL映射表来解决此问题,并且因此仅记录如一次写入到数据区域的数据的物理块地址,如在下面关于图3B所描述的。
此外,数据在页级别并以固定顺序被编程在NAND闪存上,并且以块或k的倍数页存储。当块的页保持开放或未编程时(例如,当传入数据的大小不确切地等于块大小或k的倍数时),这可以导致较高的原始误码率。常规系统通过用虚设数据填充开放页来解决此问题。然而,这可以导致低效率。本文所描述的实施例通过使用主机触发的垃圾收集来解决此问题。也就是说,紧接在主机写入请求已完成之后(并且在一些实施例中,在向主机通知数据已被提交之前),系统主动地识别有资格回收的块,并且将所识别的块中的任何有效页复制到具有开放页的块中的第一可用开放页(例如,写入指针在刚刚写入有数据的块中的位置)。在下面关于图5、图6A和图6B描述主动垃圾收集。
因此,本文所描述的实施例提供提高存储系统的效率的系统。提高的效率可包括减少的写入放大,以及改进的垃圾收集。通过增强逻辑块地址到物理块地址的FTL映射,系统消除写入数据两次的需要,并且进一步提供通过主机写入触发的主动垃圾收集。结果,本文所描述的实施例可提供性能和寿命两者方面的改进,从而产生更高效的存储系统。
术语“存储服务器”或“存储系统”指代可具有多个存储驱动器或存储装置的服务器,其中数据可以被写入到驱动器或装置以用于持久存储。
术语“存储控制模块”、“存储控制器”和“控制器”指代位于驱动器内的模块或组件,并且可以可互换地使用。在本公开中,存储控制器可在表或数据结构中执行查找。
术语“主机触发的垃圾收集”指代本文所描述的实施例,其中在完成处理要写入数据的请求时触发垃圾收集过程,如在下面关于图6A、图6B、图7A和图7B所描述的。
示例性环境
图1图示依照本申请的实施例的促进主动垃圾收集的示例性环境100。环境100可包括与用户104相关联的计算装置102。计算装置102可包括例如平板、移动电话、电子阅读器、膝上型计算机、台式计算机或任何其他计算装置。计算装置102可经由网络110与存储服务器112、114和116(其可以是分布式存储系统的一部分)进行通信。存储服务器可包括多个存储驱动器,并且每个驱动器可包括控制器和用于数据存储的多个物理介质。
例如,存储服务器116可包括:网络接口卡(NIC)122;中央处理单元(CPU)124;DRAMDIMM 126;以及许多具有控制器的SSD(例如,具有控制器134的SSD 132、具有控制器138的SSD 136、具有控制器142的SSD 140以及具有控制器146的SSD 144)。SSD 140可包括:SSD控制器142;闪存转换层(FTL)模块154;NAND控制器156;以及各自包括多个页的多个块(例如,具有页162.1-162.n的块160和具有页166.1-166.n的块164)。注意,NAND控制器156可经由多个通道与裸片上的多个平面进行通信,其中平面可包括多个块。在下面关于图3B、图4B和图5描述经由通道的示例性通信。
在现有技术中用于在完整日志模式下写入数据的示例性通信
图2A图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信200。在操作期间,可经由顺序写入功能212将数据(例如,元数据和数据)写入到日志202。随后(如通过实线213所描绘的),可经由提交主机功能214将数据提交给日志204。稍后(或者与主机写命令异步地,如通过虚线215所描绘的),可以经由随机写入功能216将数据写入到固定位置206(例如,非易失性存储器或其他持久储存器)。
图2B图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信230。在操作期间,可(经由通信252)将数据从DRAM DIMM 250写入到日志区域242。随后(并且与图2A的异步操作215类似),可以从DRAM DIMM 250(经由通信256)或者从日志区域242(经由通信254)将数据写入到经映射的物理位置(即,数据区域244)中,即,作为解耦操作。
因此,在常规系统中在完整日志模式下,要存储的数据被写入两次。主机存储器(例如,DRAM DIMM 250)在数据被写入到数据区域中之前仍然是脏的,这导致大写入放大并且可导致低效系统。
图3A图示依照现有技术的在日志文件系统中将数据写入到非易失性存储器时的示例性通信300和数据结构340。在操作期间,常规系统可接收数据312/314/316(例如,作为将数据写入到系统的持久储存器的请求的一部分)。数据312/314/316中的每一个均可以是具有逻辑块地址的块,其中相应的块基于连续的物理块地址(PBA)(诸如PBA 313(“PBA_i”)、PBA 315(“PBA_j”)和PBA 317(“PBA_k”))被顺序地写入到日志区域302。随后,常规系统可将数据312/314/316复制到数据区域322,其中相应的块基于用于常规系统的持久储存器的配置被以非顺序方式写入到数据区域322。
例如,可经由通信304将数据312写入到数据区域322,在PBA 333(“PBA_x”)处作为数据332(其LBA等于“LBA_1”)。类似地,可经由通信306将数据314写入到数据区域322,在PBA 335(“PBA_z”)处作为数据334(其LBA等于“LBA_2”)。另外,可经由通信308将数据316写入到数据区域322,在PBA 337(“PBA_y”)处作为数据336(其LBA等于“LBA_3”)。常规系统可维护FTL映射表340,并且,响应于通信304、306和308,更新表340以分别包括条目346、347和348。条目346可包括数据区域322中的LBA至PBA的映射:{LBA_1;PBA_x}。类似地,条目347和348可分别包括:{LBA_2;PBA_z};以及{LBA_3;PBA_y}。因此,图3A所示的常规系统需要两个单独的写入操作,其中FTL映射包括数据区域中的LBA至PBA映射,即,来自第二写入操作。如上面所讨论的,写入数据两次可导致大写入放大,这可降低系统的效率。
用于在完整日志模式下写入数据的示例性通信
图3B图示依照本申请的实施例的在日志文件系统中将数据写入到非易失性存储器时的示例性通信350和数据结构370。在操作期间,系统可接收数据362/364/366(例如,作为将数据写入到系统的持久储存器的请求的一部分)。数据362/364/366中的每一个均可以是具有逻辑块地址的块。可基于连续的PBA(诸如PBA 363(“PBA_i”)、PBA 365(“PBA_j”)和PBA 367(“PBA_k”))将每个块顺序地写入到数据区域352。接下来,不是将数据写入到第二区域,而是系统可简单地更新FTL映射表370以分别包括条目376、377和378。条目376可包括数据区域352中的LBA至PBA的映射:{LBA_1;PBA_i}。类似地,条目377和378可分别包括:{LBA_2;PBA_j};以及{LBA_3;PBA_k}。因此,通过增强FTL模块以仅在第一数据区域中将LBA映射到PBA,图3B所示的系统消除了对两个单独的写入操作的需要。通过使用FTL映射来消除附加写入操作,本文所描述的实施例减少写入放大,这可导致改进的且更更效的系统。
此外,如果要写入的数据包括对已经被写入到持久储存器的数据的更新,则系统还可通过简单地写入到数据区域并且通过更新FTL映射表(例如,通过用新PBA替换旧PBA,并且通过将旧PBA标记为对垃圾收集无效)来在完整日志模式下写入经更新的版本,如在下面关于图4B(更新数据)以及图6A和图6B(主机触发的垃圾收集)所描述的。
在现有技术中相对于在示例性实施例中的在完整日志模式下更新数据
图4A图示依照现有技术的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信400。与图2B的通信230和图3A的通信300类似,图4A中的常规系统写入数据两次:首先写入到日志区域402,然后写入到数据区域422。当要写入的数据包括对已经被写入到持久储存器的数据的更新时,常规系统仍然写入数据两次,再次导致大写入放大。例如,在接收到数据412(“A0”)时,常规系统可首先将数据412写入到日志区域402,其次将数据412写入到数据区域422作为数据432(经由通信442)。常规系统可在其FTL映射表中创建一个条目,所述条目将A0的LBA映射到存储有数据432的PBA(如上面关于图3A所描述的)。在接收到数据414(“A1”)并确定A1是对A0的更新时,系统可首先将A1写入到日志区域402,其次将A1写入到数据区域422作为数据434(经由通信444)。常规系统可将A1的LBA映射到存储有数据434的PBA。在接收到数据416(“A2”)并确定A2也是对A0的更新时,常规系统可首先将A2写入到日志区域402,其次将A2写入到数据区域422作为数据436(经由通信446)。常规系统可将A2的LBA映射到存储有数据436的PBA。因此,在常规系统中,此更新系列需要六次将数据写入到六个不同的位置。
图4B图示依照本申请的实施例的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信450。与图3B的通信350类似,图4B中的系统仅一次将数据(包括更新)写入到数据区域452。在接收到数据462时,系统可将数据462写入到数据区域452,并且创建(或者更新)FTL映射表470中的条目。表470可包括将LBA 472映射到PBA 474的条目。例如,在时间490(t1),系统可创建(或者更新)将数据462的LBA(“LBA_a”)映射到存储有数据462的PBA 463(“PBA_q”)的条目482。在接收到数据464并确定数据464是对数据462的更新时,系统可将数据464写入到数据区域452,并且通过将数据464的LBA(“LBA_a”)映射到存储有数据464的PBA 465(“PBA_r”)来更新表470中的条目482(在时间492(t2)的条目484)。最后,在接收数据466并确定数据466是对数据462(或464)的更新时,系统可将数据466写入到数据区域452,并且通过将数据466的LBA(“LBA_a”)映射到存储有数据466的PBA 467(“PBA_s”)来更新表470中的条目484(在时间494(t3)的条目486)。因此,同图4A的常规系统对比,在图4B的系统中,此更新系列仅需要三次将数据写入到三个不同的位置,这减少写入放大并且可改进系统的效率和性能。
用于经由多个通道顺序地写入数据的示例性架构
在本文所描述的系统的实施例中,数据被顺序地写入到非易失性存储器(“顺序写入”)。系统可提取多个通道以并行工作。为了增加吞吐量,系统可经由非易失性存储器的多个通道分发要写入的数据的页。
在NAND闪速存储器中,内部数据恢复被类似于RAID的存储。基于固定的页数作为用户数据,RAID组可生成RAID奇偶校验。用户数据和奇偶校验数据两者被写入到NAND介质。RAID组可以一次使用固定的页数(k)。然而,传入数据可能不总是具有为k的倍数的大小,这导致块的一些页保持开放或未编程。开放块(例如,具有一些未编程页的块)的原始误码率高于完整块(例如,其页被全部编程的块)的原始误码率。如果块的特定数量的页保持开放或未编程,则这可以触发处于开放状态并且正在等待更多页完成k页数据的某些RAID组。在常规系统中,控制器可生成虚设数据以填充开放恢复组。但是,这可以导致系统效率低。
本文所描述的实施例通过继顺序写入之后复制(设置为要回收的块的)有效页以填充任何开放页来解决此问题。图5图示依照本申请的实施例的用于在非易失性存储器中经由多个通道顺序地写入数据的示例性架构500。架构500可指示包括NAND控制器502的非易失性存储器,所述NAND控制器502经由多个通道540-554分别与多个NAND LUN 512-526进行通信。NAND LUN可包括多个块,所述多个块可各自包括多个页。例如,NAND LUN 512可包括具有页513.1-513.n的块513。
主机触发的垃圾收集中的示例性通信;针对主机读数据的示例性优化
图6A图示依照本申请的实施例的主机触发的垃圾收集中的示例性通信600。通信600可发生在非易失性存储器(诸如如图5所描绘的NAND闪速储存器)中。在操作期间,系统可执行数据的顺序写入(即,像上面关于图3B所描述的那样写入到数据区域)。可分别经由通道644和通道646将数据顺序地写入到例如块608和块610(如通过垂直条纹框所示)。同时,在与开放或无效页(通过白色框来指示)相比较时,非易失性存储器可包括具有变化数量或百分比的有效页(通过对角条纹框来指示)的块。可以基于各种条件(例如,块是否包括小于预定阈值的数量或百分比的有效页、块中的特定百分比的有效页是否设置为过期)或者基于预定时间段或间隔将这些块标记为有资格回收。例如,块602可包括开放页611、613、615、617、618和619以及有效页612、614和616,并且可被标记为有资格回收,因为块602包括少于例如50%的有效页。类似地,块606可包括四个有效页622、624、626和628,并且还可被标记为有资格回收,因为块606包括少于50%的有效页。
在完成顺序写入之后,系统可以确定块608和610包括需要被填充的开放页。不是用虚设数据填充这些开放页,而是系统可识别被标记为有资格或准备好回收(“标记块”)并且包括有效页的块,例如块602和606。系统可从写入指针位置开始将来自标记块602和606的有效页复制到块608和610,所述写入指针位置指示最后数据被顺序地写入到非易失性存储器的位置。例如,系统可在写入指针位置632处将来自块602的有效页616复制到块608(功能631),并且可针对已复制的有效页简单地修改LBA至PBA映射(如上面关于图3B和图4B所描述的)。系统还可将原始PBA标记为无效(或开放)。类似地,系统可在写入指针位置634处将来自块606的有效页624复制到块610(功能633),并且可针对已复制的有效页修改LBA至PBA映射。
因此,通过使用顺序写入(其是主机触发的操作)来触发从标记块复制有效页以填充开放块,系统可节省来自标记块的附加NAND读取操作。系统可进一步减轻由于通过垃圾收集引起的主机I/O操作而导致的任何潜在影响,这也可节省NAND带宽。
图6B图示依照本申请的实施例的主机触发的垃圾收集中的示例性通信650,包括处理具有较高优先级的主机读取以进行回收。通信650与通信600类似,并且进一步包括主机读取的优先化,也就是说,主机何时读取要回收的(标记)块的有效页。当当前写入NAND(即,块608、610和660)具有开放块或条带时,并且当主机或计算装置从标记块读取有效页时,系统可通过在回收(即,复制)标记块的其他有效页之前回收要读取的页来优先考虑它。
例如,在完成顺序写入时,系统可确定块608、610和660包括需要被填充的开放页。系统可从标记块(例如,识别为有资格或准备好回收的块)(诸如块602和606)复制有效页。系统可确定标记块606的有效页626将由主机或计算装置读取,并且为此页指派较高优先级以进行回收,例如,在从块606复制其他有效页之前(即,在将有效页624复制到块610之前,如上面关于图6A所描述的)在写入指针位置672处将来自块606的有效页626复制到块660(功能671)。系统还可针对有效页624更新LBA至PBA映射信息。以这种方式,FTL映射表的灵活性允许主动垃圾收集更高效地发生,包括回收要由主机读取的页的优先化。
此外,主机触发的垃圾收集(上面关于图6A和图6B所描述的)不限于主机写入操作。只要系统执行对要回收的块的有效页的主机读取,系统就可以日志方式写入该有效页(例如,在写入页的末尾处附加有效页)并且FTL模块或控制器可相应地更新LBA至PBA映射。
本文所描述的实施例提供通过映射日志区域而不是复制数据来增强NAND储存器中的闪存转换层的灵活性并且进一步支持主机触发的垃圾收集的系统。增强FTL映射可消除双重写入行为,减少NAND的磨损,并且提高系统的容量利用的效率。主机触发的垃圾收集可节省附加读取,减轻通过读取操作引起的噪声的影响,并且使I/O性能稳定。
用于促进计算装置中的主动垃圾收集的方法
图7A呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图700。在操作期间,系统接收要将数据写入到非易失性存储器的请求(操作702)。系统通过经由多个通道分发数据来以顺序方式将数据写入到非易失性存储器的一个或更多个块(操作704)。系统完成要写入数据的请求(例如,通过到达到非易失性存储器的数据区域的写入的结束)(操作706)。如果在完成顺序写入之后没有开放RAID条带或开放块(判定708),则系统将顺序写入提交给主机(操作716),并且操作返回。
如果在完成顺序写入之后存在开放RAID条带或开放块(判定708),则系统在第一数据结构(例如,块图)中执行搜索以识别被标记为有资格回收的开放块(或开放RAID条带所属于的块)(操作710)。
如果开放块被标记用于回收(判定712),则操作像图7B的标签A处所描述的那样继续。如果开放块未被标记用于回收(判定712),则系统用虚设数据填充开放块或开放条带(操作714)并且将顺序写入提交给主机(操作716)。注意,操作714仅在系统在块的开头时发生。
图7B呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图730。在操作期间,如果存在要从标记块读取的有效页(判定732),则系统首先回收要读取的页以避免附加读取成本(操作734)。如果没有要从标记块读取的有效页(判定732),则系统开始从标记块中回收有效页。系统将有效页标记为无效的,并且将来自标记块的有效页复制到开放块(或条带)(操作736)。如果标记块中的所有有效页都未被回收(判定738)(即,如果在标记块中还有尚未回收的任何剩余的页),则操作返回到标签A以处理任何剩余的有效页。如果标记块中的所有有效页都被回收(判定738),则系统通过闪存转换层(FTL)模块来更新第一数据结构(例如,块图)和第二数据结构(例如,FTL映射)以指示标记块已被回收(操作740)。系统然后在图7A的操作708处继续。
示例性计算机系统和设备
图8图示依照本申请的实施例的促进主动垃圾收集的示例性计算机系统800。计算机系统800包括处理器802、存储器804和存储装置808。计算机系统800可以是计算装置或存储装置。存储器804可包括用作受管理存储器的易失性存储器(例如,RAM),并且可用于存储一个或更多个存储器池。此外,计算机系统800可联接到显示装置810、键盘812和指点装置814。存储装置808可存储操作系统816、内容处理系统818和数据834。
内容处理系统818可包括指令,所述指令当由计算机系统800执行时,可使计算机系统800执行本公开中描述的方法和/或过程。例如,内容处理系统818可包括用于接收和发送数据分组的指令,所述数据分组包括写入或者读取数据的请求、要编码并存储的数据或者数据块或页。内容处理系统818可进一步包括用于完成要将数据写入到非易失性存储器的请求的指令(数据写入模块830)。内容处理系统818可包括用于由所述计算装置识别被标记为有资格回收并且包括有效页的块的指令(块识别模块826)。内容处理系统818可包括用于将来自所识别的块的有效页复制到写入有数据的非易失性存储器的一个或更多个块的指令(有效页复制模块824)。内容处理系统818可包括用于将相应的有效页的原始物理块地址标记为无效的指令(PBA管理模块822)。内容处理系统818可包括用于由计算装置的闪存转换层模块将相应的有效页的逻辑块地址映射到相应块的第一可用页的物理块地址的指令(FTL映射模块828)。
内容处理系统818可进一步包括用于响应于确定所识别的块的第一有效页将由计算装置读取(主机读取确定模块832)而在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块(有效页复制模块824)的指令。
数据834可包括由本公开中描述的方法和/或过程需要作为输入的或者作为输出生成的任何数据。具体地,数据834可至少存储:要存储、写入、检索或复制的数据;数据块;块被标记为有资格回收的指示器;有效页或编程页;开放或未编程页;要回收的页或块;逻辑块地址(LBA);物理块地址(PBA);第一数据结构;块图;表中的条目;LBA至PBA的映射;顺序写入的结束;块的第一可用页;写入指针位置;日志文件系统;页数;有效页数;预定阈值;通道;固定的页数;以及固定的页数的倍数。
图9图示依照本申请的实施例的促进主动垃圾收集的示例性设备900。设备900可包括可以经由有线、无线、量子光或电通信通道彼此通信的多个单元或设备。设备900可以使用一个或更多个集成电路来实现,并且可以包括比图9所示的那些更少或更多的单元或设备。进一步地,设备900可以被集成在计算机系统中,或者作为能够与其他计算机系统和/或装置进行通信的单独的装置被实现。具体地,设备900可包括执行与图8的计算机系统800的模块820-832类似的功能或操作的单元902-914,包括:通信单元902;PBA管理单元904;有效页复制单元906;块识别单元908;闪存转换层(FTL)映射单元910;数据写入单元912;以及主机读取确定单元914。
在此具体实施方式中描述的数据结构和代码通常被存储在计算机可读存储介质上,所述计算机可读存储介质可以是可存储供由计算机系统使用的代码和/或数据的任何装置或介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、诸如磁盘驱动器、磁带、CD(紧致盘)、DVD(数字通用盘或数字视频盘)的磁和光学存储装置,或能够存储现在已知或稍后开发的计算机可读介质的其他介质。
可将在具体实施方式部分中描述的方法和过程具体实现为代码和/或数据,所述代码和/或数据可被存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行作为数据结构和代码具体实现的并且存储在计算机可读存储介质内的方法和过程。
此外,上述的方法和过程可被包括在硬件模块中。例如,硬件模块可包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及现在已知或稍后开发的其他可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块内的方法和过程。
已经出于图示和描述的目的呈现了本文所描述的上述实施例。它们不旨在为详尽的或者将本文所描述的实施例限于所公开的形式。因此,许多修改和变化对于本领域的技术人员而言将是显而易见的。附加地,以上公开内容不旨在限制本文所描述的实施例。本文所描述的实施例的范围由所附权利要求限定。

Claims (20)

1.一种用于促进减少的写入放大的计算机实现的方法,所述方法包括以下步骤:
由计算装置接收要将数据写入到非易失性存储器的请求;
基于所述非易失性存储器的块的目的页的第一物理块地址将所述数据的第一页写入到所述块,其中,所述目的页是所述块的第一可用页;以及
通过所述计算装置的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
2.根据权利要求1所述的方法,其中,所述方法进一步包括以下步骤,响应于确定在所述数据结构中针对所述数据的第一页的第一逻辑块地址的搜索返回所述第一物理块地址:
用新的物理块地址替换所述第一物理块地址;
将所述第一物理块地址标记为无效的;以及
基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
3.根据权利要求1所述的方法,其中,完成要将所述数据写入到所述非易失性存储器的所述请求包括通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:
经由所述非易失性存储器的多个通道分发所述数据;以及
基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应的块,其中,所述固定的页数的倍数被用于内部数据恢复。
4.根据权利要求1所述的方法,其中,将数据基于日志文件系统存储在所述非易失性存储器中。
5.根据权利要求1所述的方法,其中,所述方法进一步包括以下步骤,响应于完成要将所述数据写入到所述非易失性存储器的请求:
由所述计算装置识别被标记为有资格回收并且包括有效页的块;
将来自所识别的块的所述有效页复制到写入有所述数据的所述非易失性存储器的一个或更多个块,其中,相应的有效页被写入到相应的块的第一可用页;
将所述相应的有效页的原始物理块地址标记为无效的;以及
通过所述闪存转换层模块将所述相应的有效页的逻辑块地址映射到所述相应的块的第一可用页的物理块地址,
从而促进主动垃圾收集。
6.根据权利要求5所述的方法,其中,响应于完成所述请求,所述方法进一步包括以下步骤:
响应于确定将由所述计算装置读取所识别的块的第一有效页,在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
7.根据权利要求5所述的方法,其中,识别被标记为有资格回收的所述块的步骤是基于所述块是否包括少于预定阈值的多个有效页。
8.一种用于促进减少的写入放大的计算机系统,所述系统包括:
处理器;以及
存储器,所述存储器联接到所述处理器并且存储指令,当由所述处理器执行所述指令时使所述处理器执行方法,所述方法包括以下步骤:
由所述计算机系统接收要将数据写入到非易失性存储器的请求;
基于所述非易失性存储器的块的目的页的第一物理块地址将所述数据的第一页写入到所述块,其中,所述目的页是所述块的第一可用页;以及
通过所述计算机系统的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
9.根据权利要求8所述的计算机系统,其中,所述方法进一步包括以下步骤,响应于确定在所述数据结构中针对所述数据的第一页的第一逻辑块地址的搜索返回所述第一物理块地址:
用新的物理块地址替换所述第一物理块地址;
将所述第一物理块地址标记为无效的;以及
基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
10.根据权利要求8所述的计算机系统,其中,完成要将所述数据写入到所述非易失性存储器的所述请求包括通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:
经由所述非易失性存储器的多个通道分发所述数据;以及
基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应的块,其中,所述固定的页数的倍数被用于内部数据恢复。
11.根据权利要求8所述的计算机系统,其中,数据基于日志文件系统被存储在所述非易失性存储器中。
12.根据权利要求8所述的计算机系统,其中,所述方法进一步包括以下步骤,响应于完成要将所述数据写入到所述非易失性存储器的请求:
由所述计算机系统识别被标记为有资格回收并且包括有效页的块;
将来自所识别的块的所述有效页复制到写入有所述数据的所述非易失性存储器的一个或更多个块,其中,相应的有效页被写入到相应的块的第一可用页;
将所述相应的有效页的原始物理块地址标记为无效的;以及
通过所述闪存转换层模块将所述相应的有效页的逻辑块地址映射到所述相应的块的第一可用页的物理块地址,
从而促进主动垃圾收集。
13.根据权利要求12所述的计算机系统,其中,响应于完成所述请求,所述方法进一步包括以下步骤:
响应于确定将由所述计算机系统读取所识别的块的第一有效页,在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
14.根据权利要求12所述的计算机系统,其中,识别被标记为有资格回收的所述块的步骤是基于所述块是否包括少于预定阈值的多个有效页。
15.一种用于促进计算装置中的主动垃圾收集的计算机实现的方法,所述方法包括以下步骤:
响应于完成要将数据写入到非易失性存储器的请求:
由所述计算装置识别被标记为有资格回收并且包括有效页的块;
将来自所识别的块的所述有效页复制到写入有所述数据的所述非易失性存储器的一个或更多个块,其中,相应的有效页被写入到相应的块的第一可用页;
将所述相应的有效页的原始物理块地址标记为无效的;以及
通过所述计算装置的闪存转换层模块将所述相应的有效页的逻辑块地址映射到所述相应的块的第一可用页的物理块地址,
从而促进主动垃圾收集。
16.根据权利要求15所述的方法,其中,响应于完成所述请求,所述方法进一步包括以下步骤:
响应于确定将由所述计算装置读取所识别的块的第一有效页,在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
17.根据权利要求15所述的方法,其中,将数据基于日志文件系统存储在所述非易失性存储器中。
18.根据权利要求15所述的方法,其中,完成所述请求的步骤涉及通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:
基于所述一个或更多个块的目的页的第一物理块地址将所述数据的第一页写入到所述非易失性存储器,
其中,所述目的页是相应的块的第一可用页;以及
通过所述闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
19.根据权利要求18所述的方法,其中,所述方法进一步包括以下步骤,响应于确定在所述数据结构中针对所述数据的第一页的所述第一逻辑块地址的搜索返回所述第一物理块地址:
用新的物理块地址替换所述第一物理块地址;
将所述第一物理块地址标记为无效的;以及
基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
20.根据权利要求18所述的方法,其中,以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块的步骤进一步包括:
经由所述非易失性存储器的多个通道分发所述数据;以及
基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应的块,其中,所述固定的页数的倍数被用于内部数据恢复。
CN201811339993.XA 2017-11-16 2018-11-12 增强闪存转换层映射灵活性的方法和系统 Active CN110032521B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/815,510 US10877898B2 (en) 2017-11-16 2017-11-16 Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US15/815,510 2017-11-16

Publications (2)

Publication Number Publication Date
CN110032521A true CN110032521A (zh) 2019-07-19
CN110032521B CN110032521B (zh) 2023-09-26

Family

ID=66432162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811339993.XA Active CN110032521B (zh) 2017-11-16 2018-11-12 增强闪存转换层映射灵活性的方法和系统

Country Status (2)

Country Link
US (1) US10877898B2 (zh)
CN (1) CN110032521B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635654B2 (en) * 2017-06-12 2020-04-28 Samsung Electronics Co., Ltd. Data journaling for large solid state storage devices with low DRAM/SRAM
EP3707883B1 (en) * 2017-11-10 2023-08-30 Zscaler, Inc. Automated load balancer discovery
KR20190102790A (ko) * 2018-02-27 2019-09-04 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법과, 이를 포함하는 메모리 시스템
US20200004448A1 (en) * 2018-06-28 2020-01-02 Seagate Technology Llc Data storage system die set mapping
CN111007990B (zh) * 2019-12-24 2023-09-19 曙光信息产业(北京)有限公司 一种对快照系统中数据块引用进行快速定位的定位方法
JP2021179672A (ja) * 2020-05-11 2021-11-18 ソニーセミコンダクタソリューションズ株式会社 メモリモジュール
US11720253B2 (en) * 2020-12-31 2023-08-08 Micron Technology, Inc. Access of a memory system based on fragmentation
US11733895B2 (en) * 2021-03-31 2023-08-22 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
US11748011B2 (en) * 2021-03-31 2023-09-05 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
US20220318157A1 (en) * 2021-04-01 2022-10-06 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163632A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald Open architecture flash driver
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US20080034154A1 (en) * 1999-08-04 2008-02-07 Super Talent Electronics Inc. Multi-Channel Flash Module with Plane-Interleaved Sequential ECC Writes and Background Recycling to Restricted-Write Flash Chips
CN102054533A (zh) * 2009-10-27 2011-05-11 西部数据技术公司 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器
US20120284587A1 (en) * 2008-06-18 2012-11-08 Super Talent Electronics, Inc. Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear
US20130019057A1 (en) * 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US20140059279A1 (en) * 2012-08-27 2014-02-27 Virginia Commonwealth University SSD Lifetime Via Exploiting Content Locality
US20140325117A1 (en) * 2013-04-30 2014-10-30 Lsi Corporation Flash translation layer with lower write amplification
CN104641356A (zh) * 2012-09-14 2015-05-20 美光科技公司 地址映射
US20150193339A1 (en) * 2014-01-09 2015-07-09 Electronics And Telecommunications Research Institute System and method for efficient address translation of flash memory device
CN104794070A (zh) * 2015-04-23 2015-07-22 南京道熵信息技术有限公司 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
CN105027090A (zh) * 2012-10-05 2015-11-04 西部数据技术公司 用于固态驱动器中的物理到逻辑映射的方法、设备和系统
CN105468998A (zh) * 2014-09-03 2016-04-06 腾讯科技(深圳)有限公司 数据保护方法、数据保护装置以及固态硬盘存储系统
US20160179386A1 (en) * 2014-12-17 2016-06-23 Violin Memory, Inc. Adaptive garbage collection
US9489296B1 (en) * 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
CN106326133A (zh) * 2015-06-29 2017-01-11 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法

Family Cites Families (230)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893071A (en) 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory
US4775932A (en) 1984-07-31 1988-10-04 Texas Instruments Incorporated Computer memory system with parallel garbage collection independent from an associated user processor
NL8402411A (nl) 1984-08-02 1986-03-03 Philips Nv Inrichting voor het korrigeren en maskeren van fouten in een informatiestroom, en weergeeftoestel voor het weergeven van beeld en/of geluid voorzien van zo een inrichting.
WO1994018634A1 (en) 1993-02-01 1994-08-18 Lsc, Inc. Archiving file system for data servers in a distributed network environment
US5394382A (en) 1993-02-11 1995-02-28 International Business Machines Corporation Method for the organization of data on a CD-ROM
JP3215237B2 (ja) 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5732093A (en) 1996-02-08 1998-03-24 United Microelectronics Corporation Error correction method and apparatus on optical disc system
US6148377A (en) 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6098185A (en) 1997-10-31 2000-08-01 Stmicroelectronics, N.V. Header-formatted defective sector management system
US7200623B2 (en) 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US6421787B1 (en) 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6226650B1 (en) 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US20020010783A1 (en) 1999-12-06 2002-01-24 Leonard Primak System and method for enhancing operation of a web server cluster
US6457104B1 (en) 2000-03-20 2002-09-24 International Business Machines Corporation System and method for recycling stale memory content in compressed memory systems
US6658478B1 (en) 2000-08-04 2003-12-02 3Pardata, Inc. Data storage system
US6981005B1 (en) 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
US7228441B2 (en) 2000-09-27 2007-06-05 Huron Ip Llc Multi-server and multi-CPU power management system and method
US6694451B2 (en) 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
WO2002052381A2 (en) 2000-12-22 2002-07-04 Warp Solutions, Inc. System and method for intelligently distributing content over a communications network
KR100856399B1 (ko) 2002-01-23 2008-09-04 삼성전자주식회사 디코딩 방법 및 그 장치
US6988165B2 (en) 2002-05-20 2006-01-17 Pervasive Software, Inc. System and method for intelligent write management of disk pages in cache checkpoint operations
WO2003104943A2 (en) 2002-06-11 2003-12-18 Ashish A Pandya High performance ip processor for tcp/ip, rdma and ip storage applications
US7953899B1 (en) 2002-08-21 2011-05-31 3Par Inc. Universal diagnostic hardware space access system for firmware
US7239605B2 (en) 2002-09-23 2007-07-03 Sun Microsystems, Inc. Item and method for performing a cluster topology self-healing process in a distributed data system cluster
US7003620B2 (en) 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
KR101189346B1 (ko) 2003-05-07 2012-10-09 모사이드 테크놀로지스, 인코포레이티드 파워 아일랜드를 사용한 집적 회로의 파워 관리
US20050038954A1 (en) 2003-06-04 2005-02-17 Quantum Corporation Storage drive having universal format across media types
US7051215B2 (en) 2003-06-13 2006-05-23 Intel Corporation Power management for clustered computing platforms
US7565454B2 (en) 2003-07-18 2009-07-21 Microsoft Corporation State migration in multiple NIC RDMA enabled devices
JP4371739B2 (ja) 2003-09-02 2009-11-25 株式会社東芝 シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法
US7173863B2 (en) 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US7130957B2 (en) 2004-02-10 2006-10-31 Sun Microsystems, Inc. Storage system structure for storing relational cache metadata
US7676603B2 (en) 2004-04-20 2010-03-09 Intel Corporation Write combining protocol between processors and chipsets
JP4401895B2 (ja) 2004-08-09 2010-01-20 株式会社日立製作所 計算機システム、計算機及びそのプログラム。
US7490239B2 (en) 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
DE102005032061B4 (de) 2005-07-08 2009-07-30 Qimonda Ag Speichermodul, und Speichermodul-System
US7480766B2 (en) 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US8260924B2 (en) 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
WO2007138600A2 (en) 2006-05-31 2007-12-06 Storwize Ltd. Method and system for transformation of logical data objects for storage
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
WO2008007273A2 (en) 2006-06-27 2008-01-17 Koninklijke Philips Electronics N.V. A device and a method for managing power consumption of a plurality of data processing units
US20080065805A1 (en) 2006-09-11 2008-03-13 Cameo Communications, Inc. PCI-Express multimode expansion card and communication device having the same
JP2008077810A (ja) 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
US7761623B2 (en) 2006-09-28 2010-07-20 Virident Systems, Inc. Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies
KR100858241B1 (ko) 2006-10-25 2008-09-12 삼성전자주식회사 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
US8344475B2 (en) 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
US7958433B1 (en) 2006-11-30 2011-06-07 Marvell International Ltd. Methods and systems for storing data in memory using zoning
US7852654B2 (en) 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
US7599139B1 (en) 2007-06-22 2009-10-06 Western Digital Technologies, Inc. Disk drive having a high performance access mode and a lower performance archive mode
US7917574B2 (en) 2007-10-01 2011-03-29 Accenture Global Services Limited Infrastructure for parallel programming of clusters of machines
IL187041A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Optimized hierarchical integrity protection for stored data
US8281061B2 (en) 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
KR20110050404A (ko) 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
KR101497074B1 (ko) 2008-06-17 2015-03-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
US9547589B2 (en) 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8954654B2 (en) 2008-06-18 2015-02-10 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
US9123422B2 (en) 2012-07-02 2015-09-01 Super Talent Technology, Corp. Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells
JP2010152704A (ja) 2008-12-25 2010-07-08 Hitachi Ltd 計算機システムの運用管理システム及び管理方法
JP5834303B2 (ja) 2008-12-30 2015-12-16 ラウンド ロック リサーチ リミテッド ライアビリティー カンパニー 作動温度範囲を拡張した不揮発性メモリ
US8838976B2 (en) 2009-02-10 2014-09-16 Uniloc Luxembourg S.A. Web content access using a client device identifier
US20100217952A1 (en) 2009-02-26 2010-08-26 Iyer Rahul N Remapping of Data Addresses for a Large Capacity Victim Cache
US8166233B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
US8996812B2 (en) 2009-06-19 2015-03-31 International Business Machines Corporation Write-back coherency data cache for resolving read/write conflicts
US8918365B2 (en) 2009-06-19 2014-12-23 Blekko, Inc. Dedicating disks to reading or writing
US20100332922A1 (en) 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US20110055471A1 (en) 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US8688894B2 (en) 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US8214700B2 (en) 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US9390035B2 (en) 2009-12-21 2016-07-12 Sanmina-Sci Corporation Method and apparatus for supporting storage modules in standard memory and/or hybrid memory bus architectures
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
WO2011092532A1 (en) 2010-01-28 2011-08-04 Sandisk Il Ltd. Sliding-window error correction
TWI409633B (zh) 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
US8370297B2 (en) 2010-03-08 2013-02-05 International Business Machines Corporation Approach for optimizing restores of deduplicated data
JP2011198133A (ja) 2010-03-19 2011-10-06 Toshiba Corp メモリシステムおよびコントローラ
US8688897B2 (en) 2010-05-28 2014-04-01 International Business Machines Corporation Cache memory management in a flash cache architecture
JP4886877B2 (ja) 2010-05-31 2012-02-29 株式会社東芝 記録媒体制御装置、及びその方法
US9401967B2 (en) 2010-06-09 2016-07-26 Brocade Communications Systems, Inc. Inline wire speed deduplication system
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US8938624B2 (en) 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US20120089774A1 (en) 2010-10-12 2012-04-12 International Business Machines Corporation Method and system for mitigating adjacent track erasure in hard disk drives
US8429495B2 (en) 2010-10-19 2013-04-23 Mosaid Technologies Incorporated Error detection and correction codes for channels and memories with incomplete error characteristics
US8516284B2 (en) 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9176794B2 (en) 2010-12-13 2015-11-03 Advanced Micro Devices, Inc. Graphics compute process scheduling
US8793328B2 (en) 2010-12-17 2014-07-29 Facebook, Inc. Distributed storage system
US8826098B2 (en) 2010-12-20 2014-09-02 Lsi Corporation Data signatures to determine successful completion of memory backup
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US9612978B2 (en) 2010-12-31 2017-04-04 International Business Machines Corporation Encrypted flash-based data storage system with confidentiality mode
WO2012109679A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for application direct virtual memory management
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8452819B1 (en) 2011-03-22 2013-05-28 Amazon Technologies, Inc. Methods and apparatus for optimizing resource utilization in distributed storage systems
CN102693168B (zh) 2011-03-22 2014-12-31 中兴通讯股份有限公司 一种数据备份恢复的方法、系统和服务节点
KR101717081B1 (ko) 2011-03-23 2017-03-28 삼성전자주식회사 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치
US20180107591A1 (en) 2011-04-06 2018-04-19 P4tents1, LLC System, method and computer program product for fetching data between an execution of a plurality of threads
US8832402B2 (en) 2011-04-29 2014-09-09 Seagate Technology Llc Self-initiated secure erasure responsive to an unauthorized power down event
US8949568B2 (en) 2011-05-24 2015-02-03 Agency For Science, Technology And Research Memory storage device, and a related zone-based block management and mapping method
US9344494B2 (en) 2011-08-30 2016-05-17 Oracle International Corporation Failover data replication with colocation of session state data
US8904158B2 (en) 2011-09-02 2014-12-02 Lsi Corporation Storage system with boot appliance for improving reliability/availability/serviceability in high density server environments
KR20130031046A (ko) 2011-09-20 2013-03-28 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법
US8843451B2 (en) 2011-09-23 2014-09-23 International Business Machines Corporation Block level backup and restore
KR20130064518A (ko) 2011-12-08 2013-06-18 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US9088300B1 (en) 2011-12-15 2015-07-21 Marvell International Ltd. Cyclic redundancy check for out-of-order codewords
US9213645B2 (en) 2011-12-29 2015-12-15 Sandisk Technologies Inc. Command aware partial page programming
US8904061B1 (en) 2011-12-30 2014-12-02 Emc Corporation Managing storage operations in a server cache
US9043545B2 (en) 2012-01-06 2015-05-26 Netapp, Inc. Distributing capacity slices across storage system nodes
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8880815B2 (en) 2012-02-20 2014-11-04 Avago Technologies General Ip (Singapore) Pte. Ltd. Low access time indirect memory accesses
US9362003B2 (en) 2012-03-09 2016-06-07 Sandisk Technologies Inc. System and method to decode data subject to a disturb condition
US9336340B1 (en) 2012-03-30 2016-05-10 Emc Corporation Evaluating management operations
US9645917B2 (en) 2012-05-22 2017-05-09 Netapp, Inc. Specializing I/O access patterns for flash storage
US9092223B1 (en) 2012-05-31 2015-07-28 Google Inc. Systems and methods to save power in data-center networks
US9208820B2 (en) 2012-06-29 2015-12-08 International Business Machines Corporation Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems
US20140019650A1 (en) 2012-07-10 2014-01-16 Zhi Bin Li Multi-Write Bit-Fill FIFO
US9009402B2 (en) 2012-09-20 2015-04-14 Emc Corporation Content addressable storage in legacy systems
US8756237B2 (en) 2012-10-12 2014-06-17 Architecture Technology Corporation Scalable distributed processing of RDF data
US9405621B2 (en) 2012-12-28 2016-08-02 Super Talent Technology, Corp. Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
US9141554B1 (en) 2013-01-18 2015-09-22 Cisco Technology, Inc. Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques
US9432755B2 (en) 2013-02-15 2016-08-30 Futurewei Technologies, Inc. Downstream burst transmission in passive optical networks
US8984171B2 (en) 2013-03-01 2015-03-17 Silicon Motion, Inc. Data storage device and flash memory control method
US9280472B1 (en) 2013-03-13 2016-03-08 Western Digital Technologies, Inc. Caching data in a high performance zone of a data storage system
US8751763B1 (en) 2013-03-13 2014-06-10 Nimbus Data Systems, Inc. Low-overhead deduplication within a block-based data storage
US9747202B1 (en) 2013-03-14 2017-08-29 Sandisk Technologies Llc Storage module and method for identifying hot and cold data
US9195673B2 (en) 2013-03-15 2015-11-24 International Business Machines Corporation Scalable graph modeling of metadata for deduplicated storage systems
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
KR102039537B1 (ko) 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US9436595B1 (en) 2013-03-15 2016-09-06 Google Inc. Use of application data and garbage-collected data to improve write efficiency of a data storage device
US20140304452A1 (en) 2013-04-03 2014-10-09 Violin Memory Inc. Method for increasing storage media performance
KR101478168B1 (ko) 2013-04-17 2014-12-31 주식회사 디에이아이오 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법
US9183103B2 (en) 2013-05-31 2015-11-10 Vmware, Inc. Lightweight remote replication of a local write-back cache
US9785545B2 (en) 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
DE112013007263T5 (de) 2013-09-19 2016-04-07 Intel Corporation Techniken zur Zuweisung von Task-Anteilen bei verteilter Verarbeitung
US20160232103A1 (en) 2013-09-26 2016-08-11 Mark A. Schmisseur Block storage apertures to persistent memory
US9405467B2 (en) 2013-10-25 2016-08-02 Seagate Technology Llc Adaptive guard band for improved data storage capacity
US9251154B2 (en) 2013-11-15 2016-02-02 International Business Machines Corporation Priority based reliability mechanism for archived data
CA2881206A1 (en) 2014-02-07 2015-08-07 Andrew WARFIELD Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices
US9542404B2 (en) 2014-02-17 2017-01-10 Netapp, Inc. Subpartitioning of a namespace region
US20150301964A1 (en) 2014-02-18 2015-10-22 Alistair Mark Brinicombe Methods and systems of multi-memory, control and data plane architecture
US9263088B2 (en) 2014-03-21 2016-02-16 Western Digital Technologies, Inc. Data management for a data storage device using a last resort zone
US9880859B2 (en) 2014-03-26 2018-01-30 Intel Corporation Boot image discovery and delivery
US9383926B2 (en) 2014-05-27 2016-07-05 Kabushiki Kaisha Toshiba Host-controlled garbage collection
US9015561B1 (en) 2014-06-11 2015-04-21 Sandisk Technologies Inc. Adaptive redundancy in three dimensional memory
GB2527296A (en) 2014-06-16 2015-12-23 Ibm A method for restoring data in a HSM system
US9240722B2 (en) 2014-06-19 2016-01-19 Dell Products Lp Methods and systems for improving light load efficiency for power stages of multi-phase voltage regulator circuits
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US10044795B2 (en) 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9542327B2 (en) 2014-07-22 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Selective mirroring in caches for logical volumes
US20160041760A1 (en) 2014-08-08 2016-02-11 International Business Machines Corporation Multi-Level Cell Flash Memory Control Mechanisms
US10430328B2 (en) 2014-09-16 2019-10-01 Sandisk Technologies Llc Non-volatile cache and non-volatile storage medium using single bit and multi bit flash memory cells or different programming parameters
US9588977B1 (en) 2014-09-30 2017-03-07 EMC IP Holding Company LLC Data and metadata structures for use in tiering data to cloud storage
US9626286B2 (en) 2014-10-03 2017-04-18 Sandisk Technologies Llc Hardware and firmware paths for performing memory read processes
US10127157B2 (en) 2014-10-06 2018-11-13 SK Hynix Inc. Sizing a cache while taking into account a total bytes written requirement
US9710330B2 (en) 2014-10-15 2017-07-18 Empire Technology Development Llc Partial cloud data storage
US9129628B1 (en) 2014-10-23 2015-09-08 Western Digital Technologies, Inc. Data management for data storage device with different track density regions
CN105701028B (zh) 2014-11-28 2018-10-09 国际商业机器公司 分布式存储系统中的磁盘管理方法和设备
US10013169B2 (en) 2014-12-19 2018-07-03 International Business Machines Corporation Cooperative data deduplication in a solid state storage array
US20160179399A1 (en) 2014-12-23 2016-06-23 Sandisk Technologies Inc. System and Method for Selecting Blocks for Garbage Collection Based on Block Health
US10282211B2 (en) 2015-01-09 2019-05-07 Avago Technologies International Sales Pte. Limited Operating system software install and boot up from a storage area network device
US10234930B2 (en) 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9734051B2 (en) 2015-02-16 2017-08-15 Quantum Corporation Garbage collection and defragmentation for solid state drives (SSD) and shingled magnetic recording (SMR) drives
US9916275B2 (en) 2015-03-09 2018-03-13 International Business Machines Corporation Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
KR101927233B1 (ko) 2015-03-16 2018-12-12 한국전자통신연구원 이기종 멀티-코어 시스템의 gpu 전력 측정 방법
US9911487B2 (en) 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US10069916B2 (en) 2015-05-26 2018-09-04 Gluent, Inc. System and method for transparent context aware filtering of data requests
US20160350002A1 (en) 2015-05-29 2016-12-01 Intel Corporation Memory device specific self refresh entry and exit
US9875053B2 (en) 2015-06-05 2018-01-23 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US9696931B2 (en) 2015-06-12 2017-07-04 International Business Machines Corporation Region-based storage for volume data and metadata
US9588571B2 (en) 2015-07-08 2017-03-07 Quanta Computer Inc. Dynamic power supply management
US10656838B2 (en) 2015-07-13 2020-05-19 Samsung Electronics Co., Ltd. Automatic stream detection and assignment algorithm
US10324832B2 (en) 2016-05-25 2019-06-18 Samsung Electronics Co., Ltd. Address based multi-stream storage device access
US9529601B1 (en) 2015-07-15 2016-12-27 Dell Products L.P. Multi-processor startup system
WO2017039702A1 (en) 2015-09-04 2017-03-09 Hewlett Packard Enterprise Development Lp Secure login information
US9952769B2 (en) 2015-09-14 2018-04-24 Microsoft Technology Licensing, Llc. Data storage system with data storage devices operative to manage storage device functions specific to a particular data storage device
US10120811B2 (en) 2015-09-29 2018-11-06 International Business Machines Corporation Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage
US10031774B2 (en) 2015-10-15 2018-07-24 Red Hat, Inc. Scheduling multi-phase computing jobs
KR20170045806A (ko) 2015-10-20 2017-04-28 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US20170147499A1 (en) 2015-11-25 2017-05-25 Sandisk Technologies Llc Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device
US20170162235A1 (en) 2015-12-02 2017-06-08 Qualcomm Incorporated System and method for memory management using dynamic partial channel interleaving
US20170161202A1 (en) 2015-12-02 2017-06-08 Samsung Electronics Co., Ltd. Flash memory device including address mapping for deduplication, and related methods
US9965441B2 (en) 2015-12-10 2018-05-08 Cisco Technology, Inc. Adaptive coalescing of remote direct memory access acknowledgements based on I/O characteristics
US20170177259A1 (en) 2015-12-18 2017-06-22 Intel Corporation Techniques to Use Open Bit Line Information for a Memory System
JP6517684B2 (ja) 2015-12-22 2019-05-22 東芝メモリ株式会社 メモリシステムおよび制御方法
US10649681B2 (en) 2016-01-25 2020-05-12 Samsung Electronics Co., Ltd. Dynamic garbage collection P/E policies for redundant storage blocks and distributed software stacks
CN107037976B (zh) 2016-02-03 2020-03-20 株式会社东芝 存储装置及其工作方法
US10235198B2 (en) 2016-02-24 2019-03-19 Samsung Electronics Co., Ltd. VM-aware FTL design for SR-IOV NVME SSD
US20170249162A1 (en) 2016-02-25 2017-08-31 Red Hat Israel, Ltd. Safe transmit packet processing for network function virtualization applications
US10303557B2 (en) 2016-03-09 2019-05-28 Commvault Systems, Inc. Data transfer to a distributed storage environment
US10101939B2 (en) 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US20170286311A1 (en) * 2016-04-01 2017-10-05 Dale J. Juenemann Repetitive address indirection in a memory
US10585809B2 (en) 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US10866905B2 (en) 2016-05-25 2020-12-15 Samsung Electronics Co., Ltd. Access parameter based multi-stream storage device access
US10389839B2 (en) 2016-06-01 2019-08-20 Intel Corporation Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node
US10514862B2 (en) 2016-07-21 2019-12-24 Micron Technology, Inc. Memory device including concurrent suspend states for different operations
US10684795B2 (en) 2016-07-25 2020-06-16 Toshiba Memory Corporation Storage device and storage control method
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
JP6274589B1 (ja) 2016-09-28 2018-02-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
US11644992B2 (en) 2016-11-23 2023-05-09 Samsung Electronics Co., Ltd. Storage system performing data deduplication, method of operating storage system, and method of operating data processing system
US10374885B2 (en) 2016-12-13 2019-08-06 Amazon Technologies, Inc. Reconfigurable server including a reconfigurable adapter device
US10496544B2 (en) 2016-12-29 2019-12-03 Intel Corporation Aggregated write back in a direct mapped two level memory
US10516760B2 (en) 2017-03-17 2019-12-24 Verizon Patent And Licensing Inc. Automatic bootstrapping and dynamic configuration of data center nodes
US10275170B2 (en) 2017-04-10 2019-04-30 Sandisk Technologies Llc Folding operations in memory systems with single address updates
US10613944B2 (en) 2017-04-18 2020-04-07 Netapp, Inc. Systems and methods for backup and restore of distributed master-slave database clusters
TWI625620B (zh) 2017-05-12 2018-06-01 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
US10474397B2 (en) 2017-06-13 2019-11-12 Western Digital Technologies, Inc Unified indirection in a multi-device hybrid storage unit
US10521375B2 (en) 2017-06-22 2019-12-31 Macronix International Co., Ltd. Controller for a memory system
US10275162B2 (en) 2017-06-23 2019-04-30 Dell Products L.P. Methods and systems for managing data migration in solid state non-volatile memory
US10838902B2 (en) 2017-06-23 2020-11-17 Facebook, Inc. Apparatus, system, and method for performing hardware acceleration via expansion cards
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10579288B2 (en) * 2017-08-31 2020-03-03 Micron Technology, Inc. Prioritized security
TWI631570B (zh) 2017-09-04 2018-08-01 威盛電子股份有限公司 錯誤檢查糾正解碼方法與裝置
US10956279B2 (en) 2017-12-04 2021-03-23 International Business Machines Corporation Managing big data on document based NoSQL databases
US10229735B1 (en) 2017-12-22 2019-03-12 Intel Corporation Block management for dynamic single-level cell buffers in storage devices
US10606693B2 (en) 2017-12-28 2020-03-31 Micron Technology, Inc. Memory controller implemented error correction code memory
CN110058794B (zh) 2018-01-19 2022-11-01 上海宝存信息科技有限公司 用于动态执行垃圾回收数据储存装置与操作方法
US10199066B1 (en) 2018-03-01 2019-02-05 Seagate Technology Llc Write management of physically coupled storage areas
US11138026B2 (en) 2018-05-04 2021-10-05 Citrix Systems, Inc. Systems and methods for remote computing session display based upon user input event prioritization
US10437670B1 (en) 2018-05-24 2019-10-08 International Business Machines Corporation Metadata hardening and parity accumulation for log-structured arrays
KR20190139082A (ko) 2018-06-07 2019-12-17 삼성전자주식회사 메모리 장치의 비트 에러율 균등화 방법
US11599557B2 (en) 2018-06-12 2023-03-07 Open Text Corporation System and method for persistence and replication of changes to a data store
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10776263B2 (en) 2018-06-27 2020-09-15 Seagate Technology Llc Non-deterministic window scheduling for data storage systems
US11150836B2 (en) 2018-06-28 2021-10-19 Seagate Technology Llc Deterministic optimization via performance tracking in a data storage system
US11086529B2 (en) 2018-09-26 2021-08-10 Western Digital Technologies, Inc. Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034154A1 (en) * 1999-08-04 2008-02-07 Super Talent Electronics Inc. Multi-Channel Flash Module with Plane-Interleaved Sequential ECC Writes and Background Recycling to Restricted-Write Flash Chips
US20030163632A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald Open architecture flash driver
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US20120284587A1 (en) * 2008-06-18 2012-11-08 Super Talent Electronics, Inc. Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear
CN102054533A (zh) * 2009-10-27 2011-05-11 西部数据技术公司 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器
US20130019057A1 (en) * 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US20140059279A1 (en) * 2012-08-27 2014-02-27 Virginia Commonwealth University SSD Lifetime Via Exploiting Content Locality
CN104641356A (zh) * 2012-09-14 2015-05-20 美光科技公司 地址映射
CN105027090A (zh) * 2012-10-05 2015-11-04 西部数据技术公司 用于固态驱动器中的物理到逻辑映射的方法、设备和系统
US9489296B1 (en) * 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US20140325117A1 (en) * 2013-04-30 2014-10-30 Lsi Corporation Flash translation layer with lower write amplification
US20150193339A1 (en) * 2014-01-09 2015-07-09 Electronics And Telecommunications Research Institute System and method for efficient address translation of flash memory device
CN105468998A (zh) * 2014-09-03 2016-04-06 腾讯科技(深圳)有限公司 数据保护方法、数据保护装置以及固态硬盘存储系统
US20160179386A1 (en) * 2014-12-17 2016-06-23 Violin Memory, Inc. Adaptive garbage collection
CN104794070A (zh) * 2015-04-23 2015-07-22 南京道熵信息技术有限公司 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
CN106326133A (zh) * 2015-06-29 2017-01-11 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
方才华;刘景宁;童薇;高阳;雷霞;蒋瑜;: "全程优化的固态硬盘垃圾回收方法", 计算机应用, no. 05 *
白石;赵鹏;: "GFTL:一种基于页组映射的低能耗闪存转换层", 中国科技论文在线, no. 10 *

Also Published As

Publication number Publication date
US20190146925A1 (en) 2019-05-16
US10877898B2 (en) 2020-12-29
CN110032521B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
CN110032521A (zh) 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
CN104461391B (zh) 一种存储设备元数据管理处理方法及系统
CN102498522B (zh) 用于减小固态器件中的写入放大的容器标记方案
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
CN106255953B (zh) 持久性数据存储体中的前向参考记录的方法和系统
CN109416666A (zh) 具有压缩数据和标签的缓存
US10489313B2 (en) Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
CN107346290A (zh) 使用并行化日志列表重放分区逻辑到物理数据地址转换表
CN105683897B (zh) 具有陈旧数据机制的数据贮存系统及其操作方法
CN107003942A (zh) 对用于增强存储设备的性能和持久性的解除映射命令的处理
CN106708425A (zh) 分布式多模存储管理
CN107077427A (zh) 跨电源周期来跟踪对写入命令和解除映射命令的混合
KR101678868B1 (ko) 플래시 주소 변환 장치 및 그 방법
US9507705B2 (en) Write cache sorting
CN109799950A (zh) 中间存储的适应性管理
TWI646535B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
CN102667739A (zh) 存储装置管理装置及用于管理存储装置的方法
CN110597455B (zh) 通过改进的元数据管理增加闪存耐用性的方法
CN106201335B (zh) 存储系统
CN112596667A (zh) 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统
US10789170B2 (en) Storage management method, electronic device and computer readable medium
CN110895513A (zh) 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法
US11449386B2 (en) Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory

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