CN112596667A - 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 - Google Patents
在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 239000007787 solid Substances 0.000 title description 5
- 238000013507 mapping Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 14
- 238000013403 standard screening design Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
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块并放置数据以便于随机写入的高吞吐量的方法和系统。
背景技术
互联网和电子商务的激增继续产生大量的数字内容。已经创建了各种分布式存储系统来访问和存储这种数字内容。存储系统可以包括易失性存储器(例如,动态随机存取存储器(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所述的存储介质,其中,所述方法还包括:
识别存储要被擦除的数据的第二物理单元;
确定所述第二物理单元中数据的一个或更多个当前版本;
将当前版本的数据复制到第三物理单元;和
擦除存储在所述第二物理单元中的数据。
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)
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)
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)
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 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치를 액세스하는 방법 |
-
2019
- 2019-10-01 US US16/589,802 patent/US11126561B2/en active Active
-
2020
- 2020-09-25 CN CN202011022830.6A patent/CN112596667B/zh active Active
Patent Citations (6)
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)
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 |