CN112596667A - 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 - Google Patents

在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 Download PDF

Info

Publication number
CN112596667A
CN112596667A CN202011022830.6A CN202011022830A CN112596667A CN 112596667 A CN112596667 A CN 112596667A CN 202011022830 A CN202011022830 A CN 202011022830A CN 112596667 A CN112596667 A CN 112596667A
Authority
CN
China
Prior art keywords
data
physical
block address
physical unit
entry
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
CN202011022830.6A
Other languages
English (en)
Other versions
CN112596667B (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 CN112596667A publication Critical patent/CN112596667A/zh
Application granted granted Critical
Publication of CN112596667B publication Critical patent/CN112596667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一个实施例提供了一种用于便于数据放置的系统。所述系统通过计算设备接收要写入非易失性存储器的数据,其中该数据与第一逻辑块地址相关联。所述系统基于第一逻辑块地址在映射表中搜索指示与第一物理单元相关联的第一物理块地址的条目。各个物理单元可以包括跨非易失性存储器的多个通道的多个数据块。所述系统将数据写入第一物理单元中的第二物理块地址。所述系统通过将第一物理块地址替换为第二物理块地址来更新所述条目。

Description

在固态驱动器中组织NAND块并放置数据以便于随机写入的高 吞吐量的方法和系统
技术领域
本公开总体上涉及数据存储领域。更具体地,本公开涉及一种用于固态驱动器中组织NAND块并放置数据以便于随机写入的高吞吐量的方法和系统。
背景技术
互联网和电子商务的激增继续产生大量的数字内容。已经创建了各种分布式存储系统来访问和存储这种数字内容。存储系统可以包括易失性存储器(例如,动态随机存取存储器(DRAM))和多驱动器(例如,具有非与(NAND)闪存的固态驱动器(SSD)或硬盘驱动器(HDD))。常规系统可以基于顺序写入为高吞吐量优化SSD中的NAND闪存。然而,在随机写入中,基于NAND的SSD的吞吐量可以显着低于顺序写入的吞吐量(例如,低一个量级)。此外,随着以太网带宽的增加(例如,增加到大于100GB),随机写入吞吐量可能成为存储系统性能的瓶颈。
例如,配备有100GB网络接口卡(NIC)的服务器将需要数十个SSD以匹配以太网吞吐量。同时,SSD已发展为包括高容量四级单元(QLC)NAND,因此单个服务器的存储容量可能超过数百TB。如果单个服务器发生故障,则在不可忽略的恢复时间内,大量数据可能变得不可用。这可能会导致系统效率低下、行为不一致以及整个存储系统的性能下降。
发明内容
一个实施例提供了一种用于便于数据放置的系统。所述系统通过计算设备接收要写入非易失性存储器的数据,其中所述数据与第一逻辑块地址相关联。所述系统基于所述第一逻辑块地址在映射表中搜索条目,所述条目指示与第一物理单元相关联的第一物理块地址。各个物理单元可以包括跨所述非易失性存储器的多个通道的多个数据块。所述系统将所述数据写入所述第一物理单元中的第二物理块地址。所述系统通过将所述第一物理块地址替换为所述第二物理块地址来更新所述条目。
在一些实施例中,系统通过在所述第一物理地址所在的同一第一物理单元中选择可用块来确定第二物理块地址,其中与第一逻辑块地址相对应的数据的先前版本被存储在所述第一物理地址。
在一些实施例中,响应于确定所述条目存在于所述映射表中,将数据写入所述第二物理块地址并更新所述条目。所述系统通知主机成功将数据写入所述非易失性存储器。
在一些实施例中,响应于确定所述条目在所述映射表中不存在:所述系统基于顺序写入将数据写入第三物理块地址;然后所述系统在映射表中创建新条目,该新条目将所述第一逻辑块地址映射到第三物理块地址。
在一些实施例中,第三物理块地址由闪存转换层模块基于最近用于将数据放入所述非易失性存储器中的通道的历史来选择。
在一些实施例中,系统识别存储要被擦除的数据的第二物理单元。系统确定所述第二物理单元中数据的一个或更多个当前版本。系统将所述当前数据版本复制到第三物理单元。系统擦除存储在所述第二物理单元中的数据。
在一些实施例中,确定所述第二物理单元中的一个或更多个当前数据版本包括在所述映射表中搜索所述第二物理单元中一个或更多个物理块地址,所述地址对应于给定逻辑块地址的最新数据版本。
在一些实施例中,要写入的数据与多个逻辑块地址相关联。所述系统确定与多个逻辑块地址相关联的数据已成功写入非易失性存储器的第一物理单元和一个或更多个其他物理单元。响应于检测到预定时间段已经过去:系统用哑数据填充第一物理单元;系统会将第一个物理单元标记为已密封。
附图说明
图1A示出了根据现有技术的用于便于数据放置的示例性环境,包括常规量的超额配置(overprovisioning,OP)和频繁的垃圾收集。
图1B示出了根据现有技术的用于便于数据放置的示例性环境,包括增加的超额配置和减少的垃圾收集。
图2示出了根据本申请的实施例的用于便于数据放置的示例性环境,包括跨多个通道存储在物理单元的数据。
图3A示出了根据现有技术的示例性数据放置和先前版本的更新。
图3B示出了根据本申请的实施例的示例性数据放置和先前版本的更新。
图4A呈现了示出根据本申请的实施例的便于数据放置的方法的流程图。
图4B呈现了示出根据本申请的实施例的便于数据放置的方法的流程图。
图5呈现了示出根据本申请的实施例的用于便于垃圾收集过程的方法的流程图。
图6示出了根据本申请的实施例的便于数据放置的示例性计算机系统和存储设备。
图7示出了根据本申请的实施例的便于数据放置的示例性装置。
在附图中,相同的附图标记指代相同的附图元素。
具体实施方式
提供以下描述以使本领域的任何技术人员能够制造和使用实施例,并且在特定应用及其要求的上下文中提供以下描述。对于所公开的实施例的各种修改对于本领域技术人员而言将是显而易见的,并且在不脱离本公开的精神和范围的情况下,本文中定义的一般原理可以应用于其他实施例和应用。因此,本文描述的实施例不限于所示的实施例,而是应被赋予与本文公开的原理和特征一致的最宽范围。
概述
本文所述的实施例通过将NAND位置划分到多个物理单元并将对先前存储的数据更新存储在同一物理单元中,这使SSD可以在执行垃圾回收时花费更少的资源,从而解决了基于NAND的SSD中的随机写入的吞吐量而产生的瓶颈。
如上所述,基于NAND的SSD中的随机写入吞吐量可能成为存储系统中性能的瓶颈。在随机写入中,与某些逻辑块地址(LBA)相关联的某些数据可能被频繁地更新(例如,“热数据”)。通常,闪存转换层(FTL)模块可以基于SSD接收到具有特定LBA数据的时间的时序来将数据放置在非易失性存储器中。但是,如果所放置的数据对应于先前已存储在非易失性存储器中的数据的更新时,则可能会导致写入放大,因为在非易失性存储器的各个物理位置中可能存储有许多旧的或过期的数据版本。这可能导致SSD花费大量资源来执行垃圾回收(例如,因为各种过期版本可能驻留在标记为在不同时间进行回收和复制的不同区域中,如下文有关图3A所述)。
此外,以太网带宽的增加与存储容量的增加之间的不匹配会导致随机写入操作的吞吐量的性能瓶颈。例如,配备100GB NIC的服务器将需要数十个SSD以匹配以太网吞吐量。同时,例如QLC NAND的高存储容量可能导致单个服务器的存储容量超过数百TB。当单个服务器发生故障时,大量的数据可能会在不可忽略的恢复时间内变得不可用。这可能会导致系统效率低下、行为不一致以及整个存储系统的性能下降。
解决具有随机写入吞吐量的这些问题的当前解决方案涉及增加SSD的超额配置(OP),这可能导致更多的空闲块来容纳传入的数据并减少垃圾收集的触发。减少垃圾收集的触发可以提高SSD的写入性能。但是,在随机写入的情况下,可以在回收相应的物理位置之前多次更新单个数据扇区。例如,在不同NAND块中具有多个过期版本的NAND闪存中,在所述多个过期版本可被回收之前,可以存在小尺寸数据扇区,并且随着时间的推移,任何空闲块都可能被占用。触发垃圾收集过程时,可能需要先复制各种有效数据,然后才能回收物理位置。这会导致效率低下和性能提升受限。下面结合图1描述现有技术中超额配置的示例。
本文描述的实施例通过将NAND位置划分为物理单元并将对先前存储的数据的更新放置在同一物理单元中来解决这些挑战和约束,这允许SSD在执行垃圾收集时花费较少的资源。物理单元可以包括跨NAND闪存的多个通道的多个数据块,如以下关于图2所描述的。通过将对现有数据的更新放在与数据的先前版本相同的物理单元中,系统可以减少垃圾收集的触发,这可以提高随机写入吞吐量的性能,如下关于图3B所述。该系统可以在分布式存储系统中提供更一致的行为和性能,并且可以提高基于NAND的SSD中随机写入操作的吞吐量,这也可以提高分布式存储系统的整体效率和性能。
“存储服务器”或“存储节点”是指可以包括多个存储驱动器的计算设备。分布式存储系统可以包括多个存储服务器。“存储驱动器”是指具有可以提供持久性数据存储的非易失性存储器的设备或驱动器,例如,固态驱动器(SSD)或硬盘驱动器(HDD)。
“物理单元”是指包括跨多个NAND通道的数据块的单元。物理单元可以包括多组数据块,物理单元中的一组数据块可以形成“异或(Exclusive OR)”组或“异或(XOR)”组。XOR组是指一组数据块,这些数据块在XOR组的给定数据块发生故障或无法访问(例如,由于XOR组的给定数据块所在的NAND管芯的故障)的情况下提供一致性和所存储数据的保护。
“超额配置”是指在SSD中包括额外的存储容量,这可能导致随着时间的推移,跨多个NAND闪存块分配写入和擦除总数。例如,制造商可以将驱动器总容量的额外百分比保留用于超额配置,这既可以提高性能,又可以提高SSD的耐用性。
现有技术中用于数据放置的示例性环境
图1A示出了根据现有技术的用于便于数据放置的示例性环境,包括常规量的超额配置和频繁的垃圾收集。图1A描绘了要存储在非易失性存储器(NVM)101中(在时间t0)的新数据(例如新数据A 141到新数据F 146)作为“传入数据”,所述非易失性存储器101包括已使用的块121-128和空闲的块129-132。NVM 101(在时间t0)指示常规量的超额配置块(即,“超额配置”或OP)。在将传入数据(141-146)写入非易失性存储器时,系统必须(通过功能152)对块执行垃圾回收,以释放足够的空间来存储传入数据,从而导致非易失性存储器101(在时间t1)。即,系统可以对已使用的块127和128执行垃圾回收处理,从而导致新数据A141和新数据B 142存储在先前使用的块127和128的新擦除位置中。
NVM 101描绘了常规量的OP,其可以导致频繁触发的垃圾收集。触发垃圾回收时,系统可以将存储有效数据的页面复制到其他物理位置。此复制操作会消耗SSD的内部带宽,从而减少可用于处理传入主机写入的资源量。因此,降低触发垃圾收集的频率可以在高吞吐量和高可靠性方面提高SSD的写入性能。
减少垃圾收集频率的一种当前解决方案是增加OP量。图1B示出了根据现有技术的用于便于数据放置的示例性环境,包括增加量的超额配置和减少的垃圾收集。在图1B中,非易失性存储器(NVM)181(在时间t0)包括已使用的块121-126以及空闲块161、162和129-132。NVM 181(在时间t0)指示增加量的OP(与NVM 101(在时间t0相比))。在将输入数据(141-146)写入非易失性存储器中时,如图1B所示,系统不需要在块上执行垃圾收集。相反,由于通过增加的OP可以使用额外的空间,因此系统可以(通过功能172)直接写入输入数据(141-146),从而生成NVM 181(在时间t1)。
因此,图1B中的增加的OP提供了足够的空闲块来容纳传入的写操作,而不会触发垃圾回收和回收块,这使得主机数据可以利用SSD的全部资源直接写到NAND闪存,而不会受到频繁触发的垃圾回收引起的内部数据移动的干扰。反过来,这可以导致随机写入吞吐量的性能提高。
然而,在随机写入操作的情况下,可能会出现挑战,因为单个数据扇区可能会在擦除多个过期版本的相应物理位置之前被更新多次(导致多个过期版本)。例如,给定小尺寸I/O数据(例如4千字节),常规系统可能会将小尺寸数据均匀地放置到活动通道上,其中单个小尺寸数据可能会在最近写入到非易失性存储器后立即被更新。因此,在垃圾回收过程可以回收每个不同的NAND块之前,由于跨不同NAND块存储的多个过期版本,NAND闪存中可能存在一小部分数据。结果,空闲或OP块可能会逐渐被占用。通过增加OP,系统可以提高性能,但是仍然存在优化效率的挑战。也就是说,系统可以通过增加到更高的OP百分比来进行调整,但是由于许多小型扇区随机位于非易失性存储器中并且无法及时回收,因此系统的性能仍然受到限制。
使用跨多个通道的物理单元便于数据放置的示例性环境
本文中所描述的实施例通过提供一种系统来解决上述挑战,该系统在SSD中使用有限量的OP来减轻与随机写入操作相关的写入放大,从而提高了随机写入吞吐量。该系统使用用户管理的闪存转换层,通过将每个物理单元分布在多个NAND闪存通道上,将对现有数据的更新放入存储数据的先前版本的同一物理单元中。每个物理单元还可以包括多个XOR组,以保护和保持数据的一致性。
在操作期间,当系统接收到输入的写入请求时,系统可以评估输入的数据的逻辑块地址(LBA),以确定该写入是否与更新相关联,例如,通过执行搜索相应的闪存转换层(FTL)模块管理的映射表中的有效条目。如果存在有效条目,则系统可以将输入的写入放置在与对应于相同LBA的数据的先前版本相同的物理单元中,如以下关于3B和4A所述。通过将更新放置在与先前过期版本相同的物理单元中,系统可以消除由于随机写入操作而在不同NAND块之间创建的多个“孔洞”的混乱情况。这允许将与单个LBA相对应的所有过期版本的数据作为一个整体物理单元擦除或回收,从而可以改善整个存储系统。
图2示出了根据本申请的实施例的用于便于数据放置的示例性环境200,包括跨多个通道存储于物理单元的数据。环境200描绘非易失性存储器,其包括多个物理单元,例如物理单元291、294和297。每个物理单元可以包括多个XOR组,并且每个XOR组可以包括跨非易失性存储器的多个通道的数据块。例如,物理单元291可以包括XOR组292和293。XOR组292可以包括块211、221、231、241、251、261、271和281,它们分别在多个通道210、220、230、240、250、260、270和280上分布或通过多个通道210、220、230、240、250、260、270和280访问。
将常规方法与图2中描绘的物理单元和环境进行比较的示例在下面结合3A和3B描述。
现有技术中的示例性数据放置和先前版本的更新与将更新的版本写入相同的物理单
图3A示出了根据现有技术的示例性数据放置和先前版本的更新。请参考图3,描绘了跨多个物理单元的小尺寸扇区的多个过期版本的挑战,例如,不同物理NAND块中的过期版本形成的“孔洞”不能被有效地回收。为了回收图3A中描绘的块,由于许多随机孔散布在整个NAND块中,因此系统必须复制大量有效数据,这会消耗SSD的整体带宽,增加写入放大率,从而降低SSD的性能和使用寿命。
图3A描绘了几个物理单元301、302和303,每个物理单元包括与多个数据的多个版本相对应的数据扇区或块。分布在所有物理单元上的这些多个版本可以包括以前的过期版本以及最新的或当前的版本。给定LBA的最新版本或当前版本以对角右斜线阴影表示。例如,给定数据的LBA为“x”:版本1(LBA_x,V1 312)可以存储在物理单元301上的第一组,而版本2(LBA_x,V2 316)可以存储在物理单元301上的第二组。版本3(LBA_x,V3 332)可以存储在物理单元302上的第一组中,版本n+1(LBA_x,Vn+1 334;对角右斜线表示的最新版本)可以是存储在物理单元302上的第二组;并且版本n(LBA_x,Vn 344)可以存储在物理单元303上。类似地,对于具有“w”、“y”和“z”的LBA的数据(例如,LBA_w,LBA_y和LBA_z),那些LBA相对应的数据的多个版本跨如图3A中的多个物理单元存储。当执行垃圾收集时,图3A的系统回收多个NAND块时可能会遇到困难,因为跨多个物理单元存储的过期版本可能会消耗SSD的带宽和资源,如前所述,尤其是在系统继续寻找可用的NAND块执行随机写入时。
相反,图3B示出了根据本申请的实施例的示例性数据放置和先前版本的更新。如图3B所示,系统在同一物理单元中放置与同一LBA相对应的多个数据版本。通过以这种方式将过期版本收集在一起,系统可以降低垃圾收集的成本,即降低垃圾收集的触发频率,这可以提高随机写入操作的吞吐量的性能。
如图3B所示,物理单元351包括与LBA“x”和“y”相对应的数据,并且还包括与那些各个LBA相对应的多个先前过期的版本和最新版本或当前的版本。对于LBA x,物理单元351分别包括版本1、2、3,n和n+1,分别为:LBA_x,V1 362;LBA_x,V2 366;LBA_x,V3 368;LBA_x,Vn 370;LBA_x,Vn+1 372。类似地,对于LBA y,物理单元351分别包括版本n,n+1和n+j,分别为:LBA_y,Vn 364;LBA_y,Vn+i 374;以及LBA_y,Vn+j 376。当系统确定要在物理单元351上执行垃圾收集过程时(例如,该物理单元351将被回收),仅对应于LBA x和y的最新版本的数据需要复制出来(即:LBA_x,Vn+1 372;和LBA_y,Vn+j 376)。这允许系统随后通过仅复制最小数量的有效块来擦除并回收物理单元351的整体,这与保留多个过期版本的数据并分布在多个NAND块中等待回收和占用关键空间(如上面关于图3A所述)相反。
因此,如本文所述,通过基于减少的垃圾收集触发来减少内部写入操作的数量,系统可以为随机写入操作提供改进的吞吐量,这可以使得更有效的整体存储系统。
促进数据放置的示例性方法
图4A呈现了示出根据本申请的实施例的用于便于数据放置的方法的流程图400。在操作期间,系统通过计算设备接收要写入非易失性存储器的数据,其中,该数据与第一逻辑块地址(LBA)相关联(操作402)。该系统基于第一逻辑块地址,在映射表中搜索条目,该条目指示与第一物理单元相关联的第一物理块地址(操作404)。在一些实施例中,各个物理单元包括跨非易失性存储器的多个通道的多个数据块。映射表可以由计算设备的闪存转换层(FTL)模块维护和/或搜索。如果该条目在映射表中不存在(判定406)(即,指示要写入的数据是先前尚未为其创建条目的新数据),则操作在图4A的标签A处继续。
如果该条目存在于映射表中(判定406)(即,指示要写入的数据是对已经存储在非易失性存储器中的数据的更新),所述系统确定在第一物理单元中的第一物理块地址(操作408)。例如,系统选择与从映射表搜索返回的表示的第一物理块地址相同的物理单元中的可用块。系统将数据写入第一物理单元中的第二物理地址(操作410)。系统通过将第一物理块地址替换为第二物理块地址来更新条目(操作412)(例如,FTL模块更新映射表)。系统通知主机成功将数据写入非易失性存储器(操作414),并且该操作在图4B的标签B处继续。
图4B呈现了示出根据本申请的实施例的用于便于数据放置的方法420的流程图。系统通过闪存转换层模块基于最近用于将数据放置在非易失性存储器中的通道的历史选择第三物理块地址(操作422)。系统基于顺序写入将数据写入第三物理块地址(操作424)。系统在映射表中创建将第一逻辑块地址映射到第三物理块地址的新条目(操作426),并且该操作在图4A的操作414处继续。
图5呈现了示出根据本申请的实施例的用于便于垃圾收集过程的方法500的流程图。在操作期间,系统识别存储要被擦除的数据的第二物理单元(操作502)。系统通过在映射表中搜索第二物理单元中一个或更多个物理块地址来确定第二物理单元中一个或更多个当前数据版本,该地址对应于给定逻辑块地址的最新数据版本(操作504)。系统将数据的当前版本复制到第三物理单元(操作506)。系统擦除存储在第二物理单元中的数据(操作508),并且该操作返回。
示例性计算机系统和设备
图6示出了根据本申请的实施例的便于数据放置的示例性计算机系统。
计算机系统600包括处理器602、控制器604、易失性存储器606和存储设备608。易失性存储器606可包括例如随机存取存储器(RAM),该随机存取存储器用作管理存储器,并可用于存储一个或更多个内存池。存储设备608可以包括可以通过控制器604管理或访问的持久性存储器。此外,计算机系统600可以连接到外围输入/输出(I/O)用户设备610,例如显示设备611、键盘612和指示设备614。存储设备608可以存储操作系统616、内容处理系统618和数据632。
内容处理系统618可以包括指令,该指令在由计算机系统600执行时可以使计算机系统600执行本公开中描述的方法和/或过程。具体地,内容处理系统618可以包括用于接收和发送数据包组的指令,该数据包包括要被读取或写入的数据,输入/输出(I/O)请求(例如,读取请求或写入请求)以及与I/O请求相关联的数据(通信模块620)。
内容处理系统618可以包括用于由计算设备接收要被写入非易失性存储器的数据的指令,其中,该数据与第一逻辑块地址相关联(通信模块620)。内容处理系统618可以包括用于基于第一逻辑块地址在映射表中搜索条目的指令,该条目指示与第一物理单元相关联的第一物理块地址(表搜索模块622)。内容处理系统618可以包括用于将数据写入第一物理单元中的第二物理块地址的指令(数据写入模块624)。内容处理系统618可以包括用于通过用第二物理块地址替换第一物理块地址来更新条目的指令(表更新模块626)。
内容处理系统618可以包括用于确定条目是否存在于映射表中的指令(表搜索模块622)。内容处理系统618可以包括用于标识存储要擦除的数据的第二物理单元的指令(垃圾收集模块628)。内容处理系统618可以包括用于确定第二物理单位表中的数据的一个或更多个当前版本的指令(表搜索模块622)。内容处理系统618可以包括用于将数据的当前版本复制到第三物理单元的指令(数据写入模块624)。内容处理系统618可以包括用于擦除存储在第二物理单元中的数据的指令(数据处理模块630)。
数据632可以包括本公开中描述的方法和/或过程作为输入所需或作为输出生成的任何数据。具体而言,数据632可以至少存储:数据;请求;读取请求;写入请求;输入/输出(I/O)请求;与读取请求、写入请求或I/O请求关联的数据;逻辑块地址(LBA);物理块地址(PBA);物理单位或通道指示符;XOR组;映射表;映射表中的条目;对应于第一LBA的数据的先前、先前或过期版本;对应于第一LBA的数据的最新或当前版本;可用块;指示写操作成功的通知;新条目;顺序写入;随机写入;闪存转换层模块的指示符;存储要擦除数据的物理单元;哑数据指示符;数据将被回收的指示符或标记;以及物理单元将要被或被密封的指示符或标记。
图7示出了根据本申请的实施例的促进数据放置的示例性装置。装置700可以包括可以经由有线、无线、量子光或电通信信道彼此通信的多个单元或装置。装置700可以使用一个或更多个集成电路来实现,并且可以包括比图7所示的单元或装置更少或更多的单元或装置。另外,装置700可以被集成在计算机系统中,或者被实现为能够与其他计算机系统和/或设备通信的单独的设备。具体地,设备700可以包括执行与图6的计算机系统600的模块620-630相似的功能或操作的单元702-712,包括:通信单元702;表搜索单元704;数据写入单元706;表更新单元708;垃圾收集单元710;数据处理单元712。
在该详细描述中描述的数据结构和代码通常存储在计算机可读存储介质上,该计算机可读存储介质可以是可以存储由计算机系统使用的代码和/或数据的任何设备或介质。计算机可读存储介质包括但不限于易失性存储器,非易失性存储器,磁和光存储设备,例如磁盘驱动器,磁带,CD(光盘),DVD(数字通用光盘或数字视频光盘)或其他能够存储的现在已知或以后开发的计算机可读介质。
在详细描述部分中描述的方法和过程可以被体现为代码和/或数据,其可以被存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行体现为数据结构和代码并存储在计算机可读存储介质内的方法和过程。
此外,上述方法和过程可以被包括在硬件模块中。例如,硬件模块可以包括但不限于专用集成电路(ASIC)芯片,现场可编程门阵列(FPGA)以及现在已知或以后开发的其他可编程逻辑设备。激活硬件模块后,硬件模块将执行硬件模块中包含的方法和过程。
仅出于说明和描述的目的给出了本文描述的前述实施例。它们并不旨在穷举或将本文描述的实施例限制为所公开的形式。因此,许多修改和变化对于本领域技术人员将是显而易见的。另外,以上公开内容并非旨在限制本文描述的实施例。本文描述的实施例的范围由所附权利要求书限定。

Claims (20)

1.一种用于便于数据放置的计算机实现的方法,包括:
由计算设备接收要写入非易失性存储器的数据,其中,所述数据与第一逻辑块地址相关联;
基于所述第一逻辑块地址,在映射表中搜索用于指示与第一物理单元相关联的第一物理块地址的条目;
将所述数据写入所述第一物理单元中的第二物理块地址;和
通过将所述第一物理块地址替换为所述第二物理块地址来更新所述条目。
2.根据权利要求1所述的方法,还包括:
通过选择所述第一物理地址所在的同一第一物理单元中的可用块来确定所述第二物理块地址,其中,与所述第一逻辑块地址相对应的数据的先前版本存储在所述第一物理地址。
3.根据权利要求1所述的方法,其中,响应于确定所述条目存在于所述映射表中,将所述数据写入所述第二物理块地址并更新所述条目,并且其中,所述方法还包括:
通知主机成功将数据写入所述非易失性存储器。
4.根据权利要求1所述的方法,其中,响应于确定在所述映射表中不存在所述条目,所述方法还包括:
基于顺序写入将数据写入第三物理块地址;和
在所述映射表中创建新条目,该新条目将所述第一逻辑块地址映射到第三物理块地址。
5.根据权利要求4所述的方法,其中所述第三物理块地址由闪存转换层模块基于最近用于将数据放入所述非易失性存储器中的通道的历史来选择。
6.根据权利要求1所述的方法,还包括:
识别存储要被擦除的数据的第二物理单元;
确定所述第二物理单元中数据的一个或更多个当前版本;
将所述当前版本的数据复制到第三物理单元;和
擦除存储在所述第二物理单元中的数据。
7.根据权利要求6所述的方法,其中确定所述第二物理单元中的数据的一个或更多个当前版本包括:
在映射表中搜索所述第二物理单元中一个或更多个物理块地址,所述地址对应于给定逻辑块地址的最新数据版本。
8.根据权利要求1所述的方法,其中,要写入的所述数据与多个逻辑块地址相关联,并且其中,所述方法还包括:
确定与所述多个逻辑块地址关联的数据被成功写入非易失性存储器的所述第一物理单元和一个或更多个其他物理单元;并且响应于检测到预定时间段已经过去:
用哑数据填充所述第一物理单元;并
将第一个物理单元标记为密封。
9.一种用于便于数据放置的计算机系统,该系统包括:
处理器;和
存储器,连接到所述处理器并存储指令,所述指令在由所述处理器执行时使所述处理器执行一种方法,其中,所述计算机系统是存储设备,该方法包括:
由计算机系统接收要写入非易失性存储器的数据,其中,所述数据与第一逻辑块地址相关联;
基于所述第一逻辑块地址,在映射表中搜索用于指示与第一物理单元相关联的第一物理块地址的条目;
将所述数据写入所述第一物理单元中的第二物理块地址;和
通过将所述第一物理块地址替换为所述第二物理块地址来更新所述条目。
10.根据权利要求9所述的计算机系统,其中,所述方法还包括:
通过选择所述第一物理地址所在的同一第一物理单元中的可用块来确定所述第二物理块地址,其中,与所述第一逻辑块地址相对应的数据的先前版本存储在所述第一物理地址。
11.根据权利要求9所述的计算机系统,其中,响应于确定所述条目存在于所述映射表中,将所述数据写入所述第二物理块地址并更新所述条目,并且其中,所述方法还包括:
通知主机成功将数据写入所述非易失性存储器。
12.根据权利要求9所述的计算机系统,其中,响应于确定在所述映射表中不存在所述条目,所述方法还包括:
基于顺序写入将数据写入第三物理块地址;和
在所述映射表中创建新条目,该新条目将所述第一逻辑块地址映射到第三物理块地址。
13.根据权利要求12所述的计算机系统,其中所述第三物理块地址由闪存转换层模块基于最近将数据放入所述非易失性存储器中的通道的历史来选择。
14.根据权利要求9所述的计算机系统,其中,所述方法还包括:
识别存储要擦除的数据的第二物理单元;
确定所述第二物理单元中数据的一个或更多个当前版本;
将所述当前版本的数据复制到第三物理单元;和
擦除存储在所述第二物理单元中的数据。
15.根据权利要求14所述的计算机系统,其中确定所述第二物理单元中的数据的一个或更多个当前版本包括:
在映射表中搜索所述第二物理单元中一个或更多个物理块地址,所述地址对应于给定逻辑块地址的最新数据版本。
16.根据权利要求9所述的计算机系统,其中,要写入的所述数据与多个逻辑块地址相关联,并且其中,所述方法还包括:
确定与所述多个逻辑块地址相关联的数据被成功写入所述非易失性存储器的所述第一物理单元和一个或更多个其他物理单元;和
响应于检测到预定时间段已过去:
用哑数据填充所述第一物理单元;以及
将所述第一个物理单元标记为密封。
17.一种非暂时性计算机可读存储介质,其存储指令,该指令在由所述计算机执行时使所述计算机执行一种方法,该方法包括:
由所述计算机接收要写入非易失性存储器的数据,其中,所述数据与第一逻辑块地址相关联;
基于所述第一逻辑块地址,在映射表中搜索用于指示与第一物理单元相关联的第一物理块地址的条目;
将所述数据写入所述第一物理单元中的第二物理块地址;和
通过将所述第一物理块地址替换为所述第二物理块地址来更新所述条目。
18.根据权利要求17所述的存储介质,其中,所述方法还包括:
通过选择所述第一物理地址所在的同一第一物理单元中的可用块来确定所述第二物理块地址,其中,与所述第一逻辑块地址相对应的数据的先前版本存储在所述第一物理地址处。
19.根据权利要求17所述的存储介质,其中,响应于确定所述条目存在于所述映射表中,将所述数据写入所述第二物理块地址并更新所述条目,并且其中,所述方法还包括:
通知主机成功将数据写入所述非易失性存储器。
20.根据权利要求17所述的存储介质,其中,所述方法还包括:
识别存储要被擦除的数据的第二物理单元;
确定所述第二物理单元中数据的一个或更多个当前版本;
将当前版本的数据复制到第三物理单元;和
擦除存储在所述第二物理单元中的数据。
CN202011022830.6A 2019-10-01 2020-09-25 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 Active CN112596667B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/589,802 US11126561B2 (en) 2019-10-01 2019-10-01 Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US16/589,802 2019-10-01

Publications (2)

Publication Number Publication Date
CN112596667A true CN112596667A (zh) 2021-04-02
CN112596667B CN112596667B (zh) 2024-06-11

Family

ID=75163407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011022830.6A Active CN112596667B (zh) 2019-10-01 2020-09-25 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统

Country Status (2)

Country Link
US (1) US11126561B2 (zh)
CN (1) CN112596667B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) * 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
CN114415963B (zh) * 2021-12-03 2023-09-19 武汉深之度科技有限公司 一种硬盘数据清理方法、装置及计算设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US20110022778A1 (en) * 2009-07-24 2011-01-27 Lsi Corporation Garbage Collection for Solid State Disks
CN103729204A (zh) * 2012-10-16 2014-04-16 阿里巴巴集团控股有限公司 一种网络平台中应用更新的数据在线迁移方法和装置
CN105912279A (zh) * 2016-05-19 2016-08-31 河南中天亿科电子科技有限公司 固态存储回收系统及固态存储回收方法
CN106649129A (zh) * 2016-09-28 2017-05-10 深圳市金泰克半导体有限公司 一种基于ftl的具有版本管理功能的固态硬盘及其实现方法
US20190146925A1 (en) * 2017-11-16 2019-05-16 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements

Family Cites Families (311)

* 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
US4562494A (en) 1983-04-07 1985-12-31 Verbatim Corporation Disk drive alignment analyzer
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.
US4858040A (en) 1987-08-25 1989-08-15 Ampex Corporation Bimorph actuator for a disk drive
EP0681721B1 (en) 1993-02-01 2005-03-23 Sun Microsystems, 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 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5602693A (en) 1994-12-14 1997-02-11 Micropolis (S) Pte Ltd. Method and apparatus for sensing position in a disk drive
WO1997020310A1 (en) 1995-11-28 1997-06-05 Micropolis Corporation Twin coil positioning device for use in a family of hard disk drives having interchangeable magnet components
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
US6243795B1 (en) 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
US6226650B1 (en) 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US7966462B2 (en) 1999-08-04 2011-06-21 Super Talent Electronics, Inc. Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips
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
US6795894B1 (en) 2000-08-08 2004-09-21 Hewlett-Packard Development Company, L.P. Fast disk cache writing 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
US20020161890A1 (en) 2000-12-22 2002-10-31 Kailai Chen System and method for intelligently distributing content over a communicatons network
JP2003022209A (ja) 2001-07-05 2003-01-24 Nri & Ncc Co Ltd 分散サーバーシステム
US7865440B2 (en) 2001-10-11 2011-01-04 International Business Machines Corporation Method, system, and program for securely providing keys to encode and decode data in a storage cartridge
KR100856399B1 (ko) 2002-01-23 2008-09-04 삼성전자주식회사 디코딩 방법 및 그 장치
WO2003063164A2 (en) 2002-01-24 2003-07-31 Koninklijke Philips Electronics N.V. Data storage apparatus and method for handling a data storage apparatus
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation 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
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
US20040010612A1 (en) 2002-06-11 2004-01-15 Pandya Ashish A. High performance IP processor using RDMA
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
US7043623B2 (en) 2003-01-22 2006-05-09 Intelitrac, Inc. Distributed memory computing environment and implementation thereof
KR100915258B1 (ko) 2003-05-07 2009-09-03 모사이드 테크놀로지스 코포레이션 전원 아일랜드를 사용한 집적 회로의 전원 관리
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
US6927930B1 (en) 2004-02-10 2005-08-09 Hitachi Global Storage Technologies Netherlands B.V. Adaptive data format method integrating spare sectors
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
EP1966700A2 (en) * 2005-12-21 2008-09-10 Nxp B.V. Non-volatile memory with block erasable locations
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 半導体記憶装置
US8782436B2 (en) 2006-05-31 2014-07-15 International Business Machines Corporation 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
JP2009543172A (ja) 2006-06-27 2009-12-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数のデータ処理ユニットの電力消費を管理する装置および方法
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
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
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
US7861046B2 (en) 2007-06-29 2010-12-28 Sandisk Corporation Secure digital host sector application flag compression
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
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
CN102124527A (zh) 2008-05-16 2011-07-13 弗森-艾奥公司 用于检测和替代失效的数据存储器的装置、系统和方法
KR101497074B1 (ko) 2008-06-17 2015-03-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
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
US8959280B2 (en) 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
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
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
WO2010002411A1 (en) 2008-07-03 2010-01-07 Hewlett-Packard Development Company, L.P. Memory server
JP2010152704A (ja) 2008-12-25 2010-07-08 Hitachi Ltd 計算機システムの運用管理システム及び管理方法
US8572333B2 (en) 2008-12-30 2013-10-29 Micron Technology, Inc. Non-volatile memory with extended operating temperature range
EP2396742A2 (en) 2009-02-10 2011-12-21 Uniloc Usa, Inc. 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
EP2401835A4 (en) 2009-02-27 2014-04-23 Certicom Corp SYSTEM AND METHOD FOR SECURE COMMUNICATION WITH ELECTRONIC COUNTERS
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
KR101530997B1 (ko) 2009-06-23 2015-06-25 삼성전자주식회사 셀간 간섭을 집중시키는 불휘발성 메모리 장치의 프로그램 방법
US20100332922A1 (en) 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
JP5121792B2 (ja) 2009-08-06 2013-01-16 株式会社東芝 半導体装置の製造方法
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
WO2011087820A2 (en) 2009-12-21 2011-07-21 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 快閃記憶體儲存裝置、其控制器與資料寫入方法
JP5598017B2 (ja) 2010-02-24 2014-10-01 富士通株式会社 判定プログラム、方法及び装置
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 メモリシステムおよびコントローラ
JP5017407B2 (ja) 2010-03-24 2012-09-05 株式会社東芝 半導体記憶装置
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
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
US20120039117A1 (en) 2010-08-16 2012-02-16 Gary Edward Webb Destruction of data stored in phase change memory
US8938624B2 (en) 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
CN103098070B (zh) 2010-09-23 2016-03-30 惠普发展公司,有限责任合伙企业 用于监视网络服务中数据位置的方法、装置和系统
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
US9176794B2 (en) 2010-12-13 2015-11-03 Advanced Micro Devices, Inc. Graphics compute process scheduling
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
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
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
WO2012109679A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for application direct virtual memory management
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8732538B2 (en) 2011-03-10 2014-05-20 Icform, Inc. Programmable data storage management
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
WO2012161659A1 (en) 2011-05-24 2012-11-29 Agency For Science, Technology And Research A memory storage device, and a related zone-based block management and mapping method
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
WO2013008264A1 (en) 2011-07-08 2013-01-17 Hitachi, Ltd. Storage system and its data processing method
US9318166B2 (en) 2011-07-22 2016-04-19 SanDisk Technologies, Inc. Systems and methods of storing data
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
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
US8949208B1 (en) 2011-09-30 2015-02-03 Emc Corporation System and method for bulk data movement between storage tiers
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
US8819367B1 (en) * 2011-12-19 2014-08-26 Western Digital Technologies, Inc. Accelerated translation power recovery
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
US9043681B2 (en) 2012-03-28 2015-05-26 Intel Corporation Reconstructing codewords using a side channel
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
KR102039537B1 (ko) 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US9195673B2 (en) 2013-03-15 2015-11-24 International Business Machines Corporation Scalable graph modeling of metadata for deduplicated storage systems
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
US9141176B1 (en) 2013-07-29 2015-09-22 Western Digital Technologies, Inc. Power management for data storage device
WO2015039320A1 (en) 2013-09-19 2015-03-26 Intel Corporation Techniques for distributed processing task portion assignment
KR101842621B1 (ko) 2013-09-26 2018-03-27 인텔 코포레이션 지속 메모리에 대한 블록 저장 애퍼처들
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
KR20150084244A (ko) 2014-01-13 2015-07-22 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
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
US9640201B2 (en) 2014-04-10 2017-05-02 Seagate Technology Llc Band rewrite optimization
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
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
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
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
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
TWI537816B (zh) 2014-10-13 2016-06-11 慧榮科技股份有限公司 非揮發性儲存裝置與控制器進行的控制方法
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
US9728206B2 (en) 2014-11-24 2017-08-08 Seagate Technology Llc Interlaced magnetic recording
US20160155750A1 (en) 2014-11-28 2016-06-02 Kabushiki Kaisha Toshiba Semiconductor memory device and method for manufacturing the same
CN105701028B (zh) 2014-11-28 2018-10-09 国际商业机器公司 分布式存储系统中的磁盘管理方法和设备
US9852076B1 (en) 2014-12-18 2017-12-26 Violin Systems Llc Caching of metadata for deduplicated LUNs
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
US9311939B1 (en) 2014-12-23 2016-04-12 Western Digital Technologies, Inc. Write-through media caching
US20160188890A1 (en) 2014-12-26 2016-06-30 Intel Corporation Security mode data protection
US9569118B2 (en) 2014-12-30 2017-02-14 International Business Machines Corporation Promoting consistent response times in a data storage system having multiple data retrieval mechanisms
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
US9208817B1 (en) 2015-03-10 2015-12-08 Alibaba Group Holding Limited System and method for determination and reallocation of pending sectors caused by media fatigue
KR101927233B1 (ko) 2015-03-16 2018-12-12 한국전자통신연구원 이기종 멀티-코어 시스템의 gpu 전력 측정 방법
US9671971B2 (en) * 2015-03-27 2017-06-06 Intel Corporation Managing prior versions of data for logical addresses in a storage device
KR102298661B1 (ko) 2015-04-30 2021-09-07 삼성전자주식회사 저장 장치 및 그것의 초기화 방법
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
SG10201505822UA (en) 2015-07-27 2017-02-27 Huawei Internat Pte Ltd A policy aware unified file system
US10749858B2 (en) 2015-09-04 2020-08-18 Hewlett Packard Enterprise Development Lp Secure login information
US10120573B2 (en) 2015-09-14 2018-11-06 Microsoft Technology Licensing, Llc. Modular sequential writing of data to data storage devices
CN105278876B (zh) 2015-09-23 2018-12-14 华为技术有限公司 一种固态硬盘的数据擦除方法及装置
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
DE102015116688B4 (de) 2015-10-01 2022-11-24 Infineon Technologies Ag Speichereinheit und Verfahren zum Betrieb eines Speichereinheitssektors
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
US20170161202A1 (en) 2015-12-02 2017-06-08 Samsung Electronics Co., Ltd. Flash memory device including address mapping for deduplication, and related methods
US20170162235A1 (en) 2015-12-02 2017-06-08 Qualcomm Incorporated System and method for memory management using dynamic partial channel interleaving
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
US9946596B2 (en) 2016-01-29 2018-04-17 Toshiba Memory Corporation Global error recovery system
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
JP6448570B2 (ja) 2016-03-08 2019-01-09 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
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
US10303557B2 (en) 2016-03-09 2019-05-28 Commvault Systems, Inc. Data transfer to a distributed storage environment
KR102511459B1 (ko) 2016-03-17 2023-03-17 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US10585809B2 (en) 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US20170286311A1 (en) 2016-04-01 2017-10-05 Dale J. Juenemann Repetitive address indirection in a memory
US9940261B2 (en) 2016-05-05 2018-04-10 Western Digital Technology, Inc. Zoning of logical to physical data address translation tables with parallelized log list replay
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
CN107799155B (zh) 2016-09-06 2022-11-01 三星电子株式会社 包括列冗余的存储装置
JP6606039B2 (ja) 2016-09-09 2019-11-13 東芝メモリ株式会社 メモリシステムおよび制御方法
US10275165B2 (en) 2016-09-12 2019-04-30 Toshiba Memory Corporation Memory controller
JP6274589B1 (ja) 2016-09-28 2018-02-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
US10620846B2 (en) * 2016-10-26 2020-04-14 ScaleFlux, Inc. Enhancing flash translation layer to improve performance of databases and filesystems
KR102648774B1 (ko) 2016-11-10 2024-03-19 에스케이하이닉스 주식회사 랜더마이즈 동작을 수행하는 반도체 메모리 장치
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
US10445016B2 (en) 2016-12-13 2019-10-15 International Business Machines Corporation Techniques for storage command processing
US10496544B2 (en) 2016-12-29 2019-12-03 Intel Corporation Aggregated write back in a direct mapped two level memory
US10255179B2 (en) * 2016-12-30 2019-04-09 Western Digital Technologies, Inc. Garbage collection read throttling
US10740042B2 (en) 2016-12-30 2020-08-11 Western Digital Technologies, Inc. Scheduling access commands for data storage devices
US10516760B2 (en) 2017-03-17 2019-12-24 Verizon Patent And Licensing Inc. Automatic bootstrapping and dynamic configuration of data center nodes
US10331514B2 (en) 2017-03-17 2019-06-25 Micron Technology, Inc. Tiered error correction code (ECC) operations in memory
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 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
US10319397B2 (en) 2017-05-19 2019-06-11 Seagate Technology Llc Narrow band dwell monitoring
US10540323B2 (en) 2017-05-30 2020-01-21 Western Digital Technologies, Inc. Managing I/O operations in a storage network
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
US10303601B2 (en) * 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10579288B2 (en) 2017-08-31 2020-03-03 Micron Technology, Inc. Prioritized security
TWI631570B (zh) 2017-09-04 2018-08-01 威盛電子股份有限公司 錯誤檢查糾正解碼方法與裝置
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
JP2019057172A (ja) 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステムおよび制御方法
JP6785205B2 (ja) * 2017-09-21 2020-11-18 キオクシア株式会社 メモリシステムおよび制御方法
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
CN110462577B (zh) * 2017-12-28 2022-03-29 华为技术有限公司 一种数据写入的方法及固态硬盘阵列
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
US10585819B2 (en) 2018-03-05 2020-03-10 Samsung Electronics Co., Ltd. SSD architecture for FPGA based acceleration
US10649657B2 (en) 2018-03-22 2020-05-12 Western Digital Technologies, Inc. Log-based storage for different data types in non-volatile memory
AU2019262610B2 (en) 2018-05-04 2022-03-03 Citrix Systems, Inc. Computer system providing hierarchical display remoting optimized with user and system hints and related methods
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
US10832768B2 (en) 2018-07-03 2020-11-10 Micron Technology, Inc. Data storage based on data polarity
US20200042223A1 (en) 2018-08-02 2020-02-06 Alibaba Group Holding Limited System and method for facilitating a high-density storage device with improved performance and endurance
JP7091203B2 (ja) * 2018-09-19 2022-06-27 キオクシア株式会社 メモリシステムおよび制御方法
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
KR20200053018A (ko) * 2018-11-07 2020-05-18 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치를 액세스하는 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US20110022778A1 (en) * 2009-07-24 2011-01-27 Lsi Corporation Garbage Collection for Solid State Disks
CN103729204A (zh) * 2012-10-16 2014-04-16 阿里巴巴集团控股有限公司 一种网络平台中应用更新的数据在线迁移方法和装置
CN105912279A (zh) * 2016-05-19 2016-08-31 河南中天亿科电子科技有限公司 固态存储回收系统及固态存储回收方法
CN106649129A (zh) * 2016-09-28 2017-05-10 深圳市金泰克半导体有限公司 一种基于ftl的具有版本管理功能的固态硬盘及其实现方法
US20190146925A1 (en) * 2017-11-16 2019-05-16 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
白石;赵鹏;: "GFTL:一种基于页组映射的低能耗闪存转换层", 中国科技论文在线, no. 10, 15 October 2011 (2011-10-15) *

Also Published As

Publication number Publication date
US20210097003A1 (en) 2021-04-01
US11126561B2 (en) 2021-09-21
CN112596667B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
CN112596667B (zh) 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统
US11144250B2 (en) Method and system for facilitating a persistent memory-centric system
CN110032521B (zh) 增强闪存转换层映射灵活性的方法和系统
JP3708047B2 (ja) フラッシュメモリの管理方法
CN105843551B (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
US20130145076A1 (en) System and method for memory storage
US9213634B2 (en) Efficient reuse of segments in nonoverwrite storage systems
US10922234B2 (en) Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US20200225882A1 (en) System and method for compaction-less key-value store for improving storage capacity, write amplification, and i/o performance
CN111274061B (zh) 处理大容量存储器中的不可纠正的数据错误的系统和方法
US10789011B2 (en) Performance enhancement of a storage device using an integrated controller-buffer
US20230244382A1 (en) Deallocated Block Determination
US20210294695A1 (en) Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11042307B1 (en) System and method for facilitating improved utilization of NAND flash based on page-wise operation
CN116134519A (zh) 存储器装置中的平衡的三层级读取干扰管理
US11204869B2 (en) System and method for facilitating data storage with low-latency input/output and persistent data
US11372774B2 (en) Method and system for a solid state drive with on-chip memory integration
CN113722131A (zh) 用于促进存储设备中的快速崩溃恢复的方法和系统
US11301171B2 (en) Memory system with controller to write data to memory based on lifetime information in write command
CN109408416A (zh) 一种地址映射表项页管理方法及装置
US11429519B2 (en) System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
US11263132B2 (en) Method and system for facilitating log-structure data organization
US11281575B2 (en) Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US12039193B2 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
US11354200B2 (en) Method and system for facilitating data recovery and version rollback in a storage device

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