CN110032521B - 增强闪存转换层映射灵活性的方法和系统 - Google Patents
增强闪存转换层映射灵活性的方法和系统 Download PDFInfo
- Publication number
- CN110032521B CN110032521B CN201811339993.XA CN201811339993A CN110032521B CN 110032521 B CN110032521 B CN 110032521B CN 201811339993 A CN201811339993 A CN 201811339993A CN 110032521 B CN110032521 B CN 110032521B
- Authority
- CN
- China
- Prior art keywords
- data
- page
- block
- volatile memory
- block address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 45
- 238000013507 mapping Methods 0.000 title claims description 39
- 230000002708 enhancing effect Effects 0.000 title description 7
- 238000006243 chemical reaction Methods 0.000 title description 2
- 238000013519 translation Methods 0.000 claims abstract description 17
- 230000003321 amplification Effects 0.000 claims abstract description 15
- 238000003199 nucleic acid amplification method Methods 0.000 claims abstract description 15
- 230000001960 triggered effect Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 19
- 238000011084 recovery Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 38
- 238000012545 processing Methods 0.000 description 13
- 230000002085 persistent effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000007726 management method 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
- 238000012913 prioritisation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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
-
- 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
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一个实施例促进减少的写入放大。在操作期间,所述系统由计算装置接收要将数据写入到非易失性存储器的请求。所述系统基于所述非易失性存储器的块的目的页的第一物理块地址将所述数据的第一页写入到所述块,其中,所述目的页是所述块的第一可用页。所述系统通过所述计算装置的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
Description
本申请要求于2017年11月16日提交美国专利商标局、申请号为15815510、申请名称为“METHOD AND SYSTEM FOR ENHANCING FLASH TRANSLATION LAYER MAPPINGFLEXIBILITYFOR PERFORMANCE AND LIFESPAN IMPROVEMENTS”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开一般地涉及数据存储的领域。更具体地,本公开涉及用于增强通过闪存转换层映射的灵活性的方法和系统。
背景技术
因特网和云计算的激增继续创建大量的数字内容。已经创建各种存储系统和服务器来访问并存储此类数字内容。存储系统或服务器可包括多个驱动器(例如,固态驱动器(SSD)),并且驱动器可包括非易失性存储器,诸如用于持久存储的NAND闪存。NAND闪存由裸片构成,所述裸片可包括多个平面,其中一平面可包括多个块并且一块可包括多个页。可在页级别从NAND闪存读取数据,或者将数据编程在NAND闪存上(例如,写入到NAND闪存),并且可以在块级别从NAND闪存擦除数据。
为了为存储的数据提供故障弹性,存储系统可以使用日志文件系统,所述日志文件系统使用日志来在将变化提交给文件系统之前记录变化。用于日志的一种策略是使用完整日志模式,在所述完整日志模式下数据被写入两次:首先,系统通过块将数据(即,元数据和所对应的数据)写入到日志中;其次,系统移动数据并将数据写入到驱动器上的固定位置。虽然完整日志模式可提供高级别的保护免于文件系统损毁和数据丢失,但是完整日志模式还可以导致基于写入放大的性能降低(由于写入数据两次──首先写入到日志并且其次写入到固定位置而导致)。
此外,数据被在页级别并以固定顺序编程在NAND闪存上(例如,写入到NAND闪存),并且以块或k的倍数页存储(例如,与RAID条带类似)。然而,因为传入数据的大小可能不总是等于完整块大小或k个页的倍数,所以块的一些页可能保持开放或未编程。开放块(例如,具有一些未编程页的块)的原始误码率高于完整块(例如,其页被全部编程的块)的原始误码率。常规存储系统通过用虚设数据填充开放页来解决此问题,这可导致系统中不必要的低效率。此外,系统的效率可能受到常规垃圾收集程序的限制。
发明内容
一个实施例促进减少的写入放大。在操作期间,所述系统由计算装置接收要将数据写入到非易失性存储器的请求。所述系统基于所述非易失性存储器的块的目的页的第一物理块地址将所述数据的第一页写入到所述块,其中,所述目的页是所述块的第一可用页。所述系统通过所述计算装置的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
另一实施例促进计算装置中的主动垃圾收集。在操作期间,响应于完成要将数据写入到非易失性存储器的请求,所述系统:由所述计算装置识别被标记为有资格回收并且包括有效页的块;将来自所识别的块的所述有效页复制到写入有所述数据的所述非易失性存储器的一个或更多个块,其中,相应的有效页被写入到相应的块的第一可用页;将所述相应的有效页的原始物理块地址标记为无效的;并且,通过所述计算装置的闪存转换层模块将所述相应的有效页的逻辑块地址映射到所述相应的块的第一可用页的物理块地址,从而促进主动垃圾收集。
在一些实施例中,响应于完成所述请求,并且响应于确定所识别的块的第一有效页将由所述计算装置读取,所述系统在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
在一些实施例中,数据基于日志文件系统被存储在所述非易失性存储器中。
在一些实施例中,识别被标记为有资格回收的所述块是基于所述块是否包括少于预定阈值的多个有效页。
在一些实施例中,完成所述请求涉及通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:基于所述一个或更多个块的目的页的第一物理块地址将所述数据的第一页写入到所述非易失性存储器,其中,所述目的页是相应的块的第一可用页;以及通过所述闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址。
在一些实施例中,响应于确定在所述数据结构中针对所述数据的第一页的第一逻辑块地址的搜索返回所述第一物理块地址,所述系统:用新的物理块地址替换所述第一物理块地址;将所述第一物理块地址标记为无效的;并且基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
在一些实施例中,完成所述要将所述数据写入到所述非易失性存储器的请求包括将所述数据写入到所述非易失性存储器的一个或更多个块。以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块进一步包括:经由所述非易失性存储器的多个通道分发所述数据;基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应的块,其中,所述固定的页数的倍数被用于内部数据恢复。
附图说明
图1图示依照本申请的实施例的促进主动垃圾收集的示例性环境。
图2A图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信。
图2B图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信。
图3A图示依照现有技术的在日志文件系统中将数据写入到非易失性存储器时的示例性通信和数据结构。
图3B图示依照本申请的实施例的在日志文件系统中将数据写入到非易失性存储器时的示例性通信和数据结构。
图4A图示依照现有技术的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信。
图4B图示依照本申请的实施例的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信。
图5图示依照本申请的实施例的用于在非易失性存储器中经由多个通道顺序地写入数据的示例性架构。
图6A图示依照本申请的实施例的在主机触发的垃圾收集中的示例性通信。
图6B图示依照本申请的实施例的在主机触发的垃圾收集中的示例性通信,包括处理具有较高优先级的主机读取以进行回收。
图7A呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图。
图7B呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图。
图8图示依照本申请的实施例的促进主动垃圾收集的示例性计算机系统。
图9图示依照本申请的实施例的促进主动垃圾收集的示例性设备。
在图中,相似的附图标记指代相同的图元素。
具体实施方式
以下描述被呈现来使得本领域的任何技术人员能够做出并使用实施例,并且是在特定应用及其要求的背景下提供的。对所公开的实施例的各种修改对于本领域的技术人员而言将是容易地显而易见的,并且在不脱离本公开的精神和范围的情况下,可以将本文所限定的一般原理应用于其他实施例和应用。因此,本文所描述的实施例不限于所示出的实施例,而是将符合与本文所公开的原理和特征一致的最宽范围。
概要
本文所描述的实施例提供通过使用增强闪存转换层(FTL)映射来解决促进减少的写入放大和高效的垃圾收集的问题的系统。如上所述,使用完整日志模式可提供高级别的保护免于文件系统损毁和数据丢失,但是也可以导致基于写入放大的性能降低(即,由于写入数据两次—首先写入到日志并且其次写入到固定位置而导致)。此外,用虚设数据填充NAND闪存中的开放页可导致系统中不必要的低效率。另外,控制器或FTL模块可能受到用于垃圾收集的当前方法限制,这也可降低系统的效率。
本文所描述的实施例通过使用减少写入放大的增强FTL映射并且还通过使用主机触发的垃圾收集方法(其使用增强FTL映射)来解决这些低效率。在完整日志模式下发生的写入放大由系统写入数据(和元数据)两次产生:首先,写入到日志区域,并且其次,写入到在非易失性存储器(例如,持久储存器)中具有固定位置的数据区域,如在下面关于图2A、图2B和图3A所描述的。本文所描述的实施例通过使用消除了对“校验指示”数据(即,首先将数据写入到日志区域)的需要的FTL映射表来解决此问题,并且因此仅记录如一次写入到数据区域的数据的物理块地址,如在下面关于图3B所描述的。
此外,数据在页级别并以固定顺序被编程在NAND闪存上,并且以块或k的倍数页存储。当块的页保持开放或未编程时(例如,当传入数据的大小不确切地等于块大小或k的倍数时),这可以导致较高的原始误码率。常规系统通过用虚设数据填充开放页来解决此问题。然而,这可以导致低效率。本文所描述的实施例通过使用主机触发的垃圾收集来解决此问题。也就是说,紧接在主机写入请求已完成之后(并且在一些实施例中,在向主机通知数据已被提交之前),系统主动地识别有资格回收的块,并且将所识别的块中的任何有效页复制到具有开放页的块中的第一可用开放页(例如,写入指针在刚刚写入有数据的块中的位置)。在下面关于图5、图6A和图6B描述主动垃圾收集。
因此,本文所描述的实施例提供提高存储系统的效率的系统。提高的效率可包括减少的写入放大,以及改进的垃圾收集。通过增强逻辑块地址到物理块地址的FTL映射,系统消除写入数据两次的需要,并且进一步提供通过主机写入触发的主动垃圾收集。结果,本文所描述的实施例可提供性能和寿命两者方面的改进,从而产生更高效的存储系统。
术语“存储服务器”或“存储系统”指代可具有多个存储驱动器或存储装置的服务器,其中数据可以被写入到驱动器或装置以用于持久存储。
术语“存储控制模块”、“存储控制器”和“控制器”指代位于驱动器内的模块或组件,并且可以可互换地使用。在本公开中,存储控制器可在表或数据结构中执行查找。
术语“主机触发的垃圾收集”指代本文所描述的实施例,其中在完成处理要写入数据的请求时触发垃圾收集过程,如在下面关于图6A、图6B、图7A和图7B所描述的。
示例性环境
图1图示依照本申请的实施例的促进主动垃圾收集的示例性环境100。环境100可包括与用户104相关联的计算装置102。计算装置102可包括例如平板、移动电话、电子阅读器、膝上型计算机、台式计算机或任何其他计算装置。计算装置102可经由网络110与存储服务器112、114和116(其可以是分布式存储系统的一部分)进行通信。存储服务器可包括多个存储驱动器,并且每个驱动器可包括控制器和用于数据存储的多个物理介质。
例如,存储服务器116可包括:网络接口卡(NIC)122;中央处理单元(CPU)124;DRAMDIMM 126;以及许多具有控制器的SSD(例如,具有控制器134的SSD 132、具有控制器138的SSD 136、具有控制器142的SSD 140以及具有控制器146的SSD 144)。SSD 140可包括:SSD控制器142;闪存转换层(FTL)模块154;NAND控制器156;以及各自包括多个页的多个块(例如,具有页162.1-162.n的块160和具有页166.1-166.n的块164)。注意,NAND控制器156可经由多个通道与裸片上的多个平面进行通信,其中平面可包括多个块。在下面关于图3B、图4B和图5描述经由通道的示例性通信。
在现有技术中用于在完整日志模式下写入数据的示例性通信
图2A图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信200。在操作期间,可经由顺序写入功能212将数据(例如,元数据和数据)写入到日志202。随后(如通过实线213所描绘的),可经由提交主机功能214将数据提交给日志204。稍后(或者与主机写命令异步地,如通过虚线215所描绘的),可以经由随机写入功能216将数据写入到固定位置206(例如,非易失性存储器或其他持久储存器)。
图2B图示依照现有技术的用于在完整日志模式下将数据写入到非易失性存储器的示例性通信230。在操作期间,可(经由通信252)将数据从DRAM DIMM 250写入到日志区域242。随后(并且与图2A的异步操作215类似),可以从DRAM DIMM 250(经由通信256)或者从日志区域242(经由通信254)将数据写入到经映射的物理位置(即,数据区域244)中,即,作为解耦操作。
因此,在常规系统中在完整日志模式下,要存储的数据被写入两次。主机存储器(例如,DRAM DIMM 250)在数据被写入到数据区域中之前仍然是脏的,这导致大写入放大并且可导致低效系统。
图3A图示依照现有技术的在日志文件系统中将数据写入到非易失性存储器时的示例性通信300和数据结构340。在操作期间,常规系统可接收数据312/314/316(例如,作为将数据写入到系统的持久储存器的请求的一部分)。数据312/314/316中的每一个均可以是具有逻辑块地址的块,其中相应的块基于连续的物理块地址(PBA)(诸如PBA 313(“PBA_i”)、PBA 315(“PBA_j”)和PBA 317(“PBA_k”))被顺序地写入到日志区域302。随后,常规系统可将数据312/314/316复制到数据区域322,其中相应的块基于用于常规系统的持久储存器的配置被以非顺序方式写入到数据区域322。
例如,可经由通信304将数据312写入到数据区域322,在PBA 333(“PBA_x”)处作为数据332(其LBA等于“LBA_1”)。类似地,可经由通信306将数据314写入到数据区域322,在PBA 335(“PBA_z”)处作为数据334(其LBA等于“LBA_2”)。另外,可经由通信308将数据316写入到数据区域322,在PBA 337(“PBA_y”)处作为数据336(其LBA等于“LBA_3”)。常规系统可维护FTL映射表340,并且,响应于通信304、306和308,更新表340以分别包括条目346、347和348。条目346可包括数据区域322中的LBA至PBA的映射:{LBA_1;PBA_x}。类似地,条目347和348可分别包括:{LBA_2;PBA_z};以及{LBA_3;PBA_y}。因此,图3A所示的常规系统需要两个单独的写入操作,其中FTL映射包括数据区域中的LBA至PBA映射,即,来自第二写入操作。如上面所讨论的,写入数据两次可导致大写入放大,这可降低系统的效率。
用于在完整日志模式下写入数据的示例性通信
图3B图示依照本申请的实施例的在日志文件系统中将数据写入到非易失性存储器时的示例性通信350和数据结构370。在操作期间,系统可接收数据362/364/366(例如,作为将数据写入到系统的持久储存器的请求的一部分)。数据362/364/366中的每一个均可以是具有逻辑块地址的块。可基于连续的PBA(诸如PBA 363(“PBA_i”)、PBA 365(“PBA_j”)和PBA 367(“PBA_k”))将每个块顺序地写入到数据区域352。接下来,不是将数据写入到第二区域,而是系统可简单地更新FTL映射表370以分别包括条目376、377和378。条目376可包括数据区域352中的LBA至PBA的映射:{LBA_1;PBA_i}。类似地,条目377和378可分别包括:{LBA_2;PBA_j};以及{LBA_3;PBA_k}。因此,通过增强FTL模块以仅在第一数据区域中将LBA映射到PBA,图3B所示的系统消除了对两个单独的写入操作的需要。通过使用FTL映射来消除附加写入操作,本文所描述的实施例减少写入放大,这可导致改进的且更更效的系统。
此外,如果要写入的数据包括对已经被写入到持久储存器的数据的更新,则系统还可通过简单地写入到数据区域并且通过更新FTL映射表(例如,通过用新PBA替换旧PBA,并且通过将旧PBA标记为对垃圾收集无效)来在完整日志模式下写入经更新的版本,如在下面关于图4B(更新数据)以及图6A和图6B(主机触发的垃圾收集)所描述的。
在现有技术中相对于在示例性实施例中的在完整日志模式下更新数据
图4A图示依照现有技术的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信400。与图2B的通信230和图3A的通信300类似,图4A中的常规系统写入数据两次:首先写入到日志区域402,然后写入到数据区域422。当要写入的数据包括对已经被写入到持久储存器的数据的更新时,常规系统仍然写入数据两次,再次导致大写入放大。例如,在接收到数据412(“A0”)时,常规系统可首先将数据412写入到日志区域402,其次将数据412写入到数据区域422作为数据432(经由通信442)。常规系统可在其FTL映射表中创建一个条目,所述条目将A0的LBA映射到存储有数据432的PBA(如上面关于图3A所描述的)。在接收到数据414(“A1”)并确定A1是对A0的更新时,系统可首先将A1写入到日志区域402,其次将A1写入到数据区域422作为数据434(经由通信444)。常规系统可将A1的LBA映射到存储有数据434的PBA。在接收到数据416(“A2”)并确定A2也是对A0的更新时,常规系统可首先将A2写入到日志区域402,其次将A2写入到数据区域422作为数据436(经由通信446)。常规系统可将A2的LBA映射到存储有数据436的PBA。因此,在常规系统中,此更新系列需要六次将数据写入到六个不同的位置。
图4B图示依照本申请的实施例的用于在日志文件系统中更新存储在非易失性存储器中的数据的示例性通信450。与图3B的通信350类似,图4B中的系统仅一次将数据(包括更新)写入到数据区域452。在接收到数据462时,系统可将数据462写入到数据区域452,并且创建(或者更新)FTL映射表470中的条目。表470可包括将LBA 472映射到PBA 474的条目。例如,在时间490(t1),系统可创建(或者更新)将数据462的LBA(“LBA_a”)映射到存储有数据462的PBA 463(“PBA_q”)的条目482。在接收到数据464并确定数据464是对数据462的更新时,系统可将数据464写入到数据区域452,并且通过将数据464的LBA(“LBA_a”)映射到存储有数据464的PBA 465(“PBA_r”)来更新表470中的条目482(在时间492(t2)的条目484)。最后,在接收数据466并确定数据466是对数据462(或464)的更新时,系统可将数据466写入到数据区域452,并且通过将数据466的LBA(“LBA_a”)映射到存储有数据466的PBA 467(“PBA_s”)来更新表470中的条目484(在时间494(t3)的条目486)。因此,同图4A的常规系统对比,在图4B的系统中,此更新系列仅需要三次将数据写入到三个不同的位置,这减少写入放大并且可改进系统的效率和性能。
用于经由多个通道顺序地写入数据的示例性架构
在本文所描述的系统的实施例中,数据被顺序地写入到非易失性存储器(“顺序写入”)。系统可提取多个通道以并行工作。为了增加吞吐量,系统可经由非易失性存储器的多个通道分发要写入的数据的页。
在NAND闪速存储器中,内部数据恢复被类似于RAID的存储。基于固定的页数作为用户数据,RAID组可生成RAID奇偶校验。用户数据和奇偶校验数据两者被写入到NAND介质。RAID组可以一次使用固定的页数(k)。然而,传入数据可能不总是具有为k的倍数的大小,这导致块的一些页保持开放或未编程。开放块(例如,具有一些未编程页的块)的原始误码率高于完整块(例如,其页被全部编程的块)的原始误码率。如果块的特定数量的页保持开放或未编程,则这可以触发处于开放状态并且正在等待更多页完成k页数据的某些RAID组。在常规系统中,控制器可生成虚设数据以填充开放恢复组。但是,这可以导致系统效率低。
本文所描述的实施例通过继顺序写入之后复制(设置为要回收的块的)有效页以填充任何开放页来解决此问题。图5图示依照本申请的实施例的用于在非易失性存储器中经由多个通道顺序地写入数据的示例性架构500。架构500可指示包括NAND控制器502的非易失性存储器,所述NAND控制器502经由多个通道540-554分别与多个NAND LUN 512-526进行通信。NAND LUN可包括多个块,所述多个块可各自包括多个页。例如,NAND LUN 512可包括具有页513.1-513.n的块513。
主机触发的垃圾收集中的示例性通信;针对主机读数据的示例性优化
图6A图示依照本申请的实施例的主机触发的垃圾收集中的示例性通信600。通信600可发生在非易失性存储器(诸如如图5所描绘的NAND闪速储存器)中。在操作期间,系统可执行数据的顺序写入(即,像上面关于图3B所描述的那样写入到数据区域)。可分别经由通道644和通道646将数据顺序地写入到例如块608和块610(如通过垂直条纹框所示)。同时,在与开放或无效页(通过白色框来指示)相比较时,非易失性存储器可包括具有变化数量或百分比的有效页(通过对角条纹框来指示)的块。可以基于各种条件(例如,块是否包括小于预定阈值的数量或百分比的有效页、块中的特定百分比的有效页是否设置为过期)或者基于预定时间段或间隔将这些块标记为有资格回收。例如,块602可包括开放页611、613、615、617、618和619以及有效页612、614和616,并且可被标记为有资格回收,因为块602包括少于例如50%的有效页。类似地,块606可包括四个有效页622、624、626和628,并且还可被标记为有资格回收,因为块606包括少于50%的有效页。
在完成顺序写入之后,系统可以确定块608和610包括需要被填充的开放页。不是用虚设数据填充这些开放页,而是系统可识别被标记为有资格或准备好回收(“标记块”)并且包括有效页的块,例如块602和606。系统可从写入指针位置开始将来自标记块602和606的有效页复制到块608和610,所述写入指针位置指示最后数据被顺序地写入到非易失性存储器的位置。例如,系统可在写入指针位置632处将来自块602的有效页616复制到块608(功能631),并且可针对已复制的有效页简单地修改LBA至PBA映射(如上面关于图3B和图4B所描述的)。系统还可将原始PBA标记为无效(或开放)。类似地,系统可在写入指针位置634处将来自块606的有效页624复制到块610(功能633),并且可针对已复制的有效页修改LBA至PBA映射。
因此,通过使用顺序写入(其是主机触发的操作)来触发从标记块复制有效页以填充开放块,系统可节省来自标记块的附加NAND读取操作。系统可进一步减轻由于通过垃圾收集引起的主机I/O操作而导致的任何潜在影响,这也可节省NAND带宽。
图6B图示依照本申请的实施例的主机触发的垃圾收集中的示例性通信650,包括处理具有较高优先级的主机读取以进行回收。通信650与通信600类似,并且进一步包括主机读取的优先化,也就是说,主机何时读取要回收的(标记)块的有效页。当当前写入NAND(即,块608、610和660)具有开放块或条带时,并且当主机或计算装置从标记块读取有效页时,系统可通过在回收(即,复制)标记块的其他有效页之前回收要读取的页来优先考虑它。
例如,在完成顺序写入时,系统可确定块608、610和660包括需要被填充的开放页。系统可从标记块(例如,识别为有资格或准备好回收的块)(诸如块602和606)复制有效页。系统可确定标记块606的有效页626将由主机或计算装置读取,并且为此页指派较高优先级以进行回收,例如,在从块606复制其他有效页之前(即,在将有效页624复制到块610之前,如上面关于图6A所描述的)在写入指针位置672处将来自块606的有效页626复制到块660(功能671)。系统还可针对有效页624更新LBA至PBA映射信息。以这种方式,FTL映射表的灵活性允许主动垃圾收集更高效地发生,包括回收要由主机读取的页的优先化。
此外,主机触发的垃圾收集(上面关于图6A和图6B所描述的)不限于主机写入操作。只要系统执行对要回收的块的有效页的主机读取,系统就可以日志方式写入该有效页(例如,在写入页的末尾处附加有效页)并且FTL模块或控制器可相应地更新LBA至PBA映射。
本文所描述的实施例提供通过映射日志区域而不是复制数据来增强NAND储存器中的闪存转换层的灵活性并且进一步支持主机触发的垃圾收集的系统。增强FTL映射可消除双重写入行为,减少NAND的磨损,并且提高系统的容量利用的效率。主机触发的垃圾收集可节省附加读取,减轻通过读取操作引起的噪声的影响,并且使I/O性能稳定。
用于促进计算装置中的主动垃圾收集的方法
图7A呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图700。在操作期间,系统接收要将数据写入到非易失性存储器的请求(操作702)。系统通过经由多个通道分发数据来以顺序方式将数据写入到非易失性存储器的一个或更多个块(操作704)。系统完成要写入数据的请求(例如,通过到达到非易失性存储器的数据区域的写入的结束)(操作706)。如果在完成顺序写入之后没有开放RAID条带或开放块(判定708),则系统将顺序写入提交给主机(操作716),并且操作返回。
如果在完成顺序写入之后存在开放RAID条带或开放块(判定708),则系统在第一数据结构(例如,块图)中执行搜索以识别被标记为有资格回收的开放块(或开放RAID条带所属于的块)(操作710)。
如果开放块被标记用于回收(判定712),则操作像图7B的标签A处所描述的那样继续。如果开放块未被标记用于回收(判定712),则系统用虚设数据填充开放块或开放条带(操作714)并且将顺序写入提交给主机(操作716)。注意,操作714仅在系统在块的开头时发生。
图7B呈现依照本申请的实施例的图示用于促进主动垃圾收集的方法的流程图730。在操作期间,如果存在要从标记块读取的有效页(判定732),则系统首先回收要读取的页以避免附加读取成本(操作734)。如果没有要从标记块读取的有效页(判定732),则系统开始从标记块中回收有效页。系统将有效页标记为无效的,并且将来自标记块的有效页复制到开放块(或条带)(操作736)。如果标记块中的所有有效页都未被回收(判定738)(即,如果在标记块中还有尚未回收的任何剩余的页),则操作返回到标签A以处理任何剩余的有效页。如果标记块中的所有有效页都被回收(判定738),则系统通过闪存转换层(FTL)模块来更新第一数据结构(例如,块图)和第二数据结构(例如,FTL映射)以指示标记块已被回收(操作740)。系统然后在图7A的操作708处继续。
示例性计算机系统和设备
图8图示依照本申请的实施例的促进主动垃圾收集的示例性计算机系统800。计算机系统800包括处理器802、存储器804和存储装置808。计算机系统800可以是计算装置或存储装置。存储器804可包括用作受管理存储器的易失性存储器(例如,RAM),并且可用于存储一个或更多个存储器池。此外,计算机系统800可联接到显示装置810、键盘812和指点装置814。存储装置808可存储操作系统816、内容处理系统818和数据834。
内容处理系统818可包括指令,所述指令当由计算机系统800执行时,可使计算机系统800执行本公开中描述的方法和/或过程。例如,内容处理系统818可包括用于接收和发送数据分组的指令,所述数据分组包括写入或者读取数据的请求、要编码并存储的数据或者数据块或页。内容处理系统818可进一步包括用于完成要将数据写入到非易失性存储器的请求的指令(数据写入模块830)。内容处理系统818可包括用于由所述计算装置识别被标记为有资格回收并且包括有效页的块的指令(块识别模块826)。内容处理系统818可包括用于将来自所识别的块的有效页复制到写入有数据的非易失性存储器的一个或更多个块的指令(有效页复制模块824)。内容处理系统818可包括用于将相应的有效页的原始物理块地址标记为无效的指令(PBA管理模块822)。内容处理系统818可包括用于由计算装置的闪存转换层模块将相应的有效页的逻辑块地址映射到相应块的第一可用页的物理块地址的指令(FTL映射模块828)。
内容处理系统818可进一步包括用于响应于确定所识别的块的第一有效页将由计算装置读取(主机读取确定模块832)而在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块(有效页复制模块824)的指令。
数据834可包括由本公开中描述的方法和/或过程需要作为输入的或者作为输出生成的任何数据。具体地,数据834可至少存储:要存储、写入、检索或复制的数据;数据块;块被标记为有资格回收的指示器;有效页或编程页;开放或未编程页;要回收的页或块;逻辑块地址(LBA);物理块地址(PBA);第一数据结构;块图;表中的条目;LBA至PBA的映射;顺序写入的结束;块的第一可用页;写入指针位置;日志文件系统;页数;有效页数;预定阈值;通道;固定的页数;以及固定的页数的倍数。
图9图示依照本申请的实施例的促进主动垃圾收集的示例性设备900。设备900可包括可以经由有线、无线、量子光或电通信通道彼此通信的多个单元或设备。设备900可以使用一个或更多个集成电路来实现,并且可以包括比图9所示的那些更少或更多的单元或设备。进一步地,设备900可以被集成在计算机系统中,或者作为能够与其他计算机系统和/或装置进行通信的单独的装置被实现。具体地,设备900可包括执行与图8的计算机系统800的模块820-832类似的功能或操作的单元902-914,包括:通信单元902;PBA管理单元904;有效页复制单元906;块识别单元908;闪存转换层(FTL)映射单元910;数据写入单元912;以及主机读取确定单元914。
在此具体实施方式中描述的数据结构和代码通常被存储在计算机可读存储介质上,所述计算机可读存储介质可以是可存储供由计算机系统使用的代码和/或数据的任何装置或介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、诸如磁盘驱动器、磁带、CD(紧致盘)、DVD(数字通用盘或数字视频盘)的磁和光学存储装置,或能够存储现在已知或稍后开发的计算机可读介质的其他介质。
可将在具体实施方式部分中描述的方法和过程具体实现为代码和/或数据,所述代码和/或数据可被存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行作为数据结构和代码具体实现的并且存储在计算机可读存储介质内的方法和过程。
此外,上述的方法和过程可被包括在硬件模块中。例如,硬件模块可包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及现在已知或稍后开发的其他可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块内的方法和过程。
已经出于图示和描述的目的呈现了本文所描述的上述实施例。它们不旨在为详尽的或者将本文所描述的实施例限于所公开的形式。因此,许多修改和变化对于本领域的技术人员而言将是显而易见的。附加地,以上公开内容不旨在限制本文所描述的实施例。本文所描述的实施例的范围由所附权利要求限定。
Claims (20)
1.一种用于促进减少的写入放大的计算机实现的方法,所述方法包括以下步骤:
由计算装置接收要将数据写入到非易失性存储器的第一请求;
基于所述非易失性存储器的第一块的目的页的第一物理块地址将所述数据的第一页写入到所述第一块,其中,所述目的页是所述第一块的第一可用页;以及
通过所述计算装置的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址;
接收从被标记为有资格回收条件的第二块的第二页读取数据的第二请求;
向所述第二页分配优先级,其中,所述分配优先级指示在复制所述第二块的其他有效页之前,在下一次主机触发的垃圾收集中复制所述第二页;和
响应于完成将所述数据写入所述非易失性存储器的第一请求,直接触发下一次主机触发的垃圾收集,包括:
由计算设备识别所述第二块以供回收,其中,所述第二块包括有效页,所述有效页包括具有分配的优先级的所述第二页和所述其他有效页;
在将所述其他有效页从所述第二块复制到所述非易失性存储器的一个或多个块之前,从所述第二块复制具有指定优先级的所述第二页,其中,相应的有效页被写入相应块的第一可用页;
将所述相应的有效页的原始物理块地址标记为无效;和
由所述闪存转换层模块将所述相应的有效页的逻辑块地址映射到相应块的所述第一可用页的物理块地址。
2.根据权利要求1所述的方法,其中,所述方法进一步包括以下步骤,响应于确定在所述数据结构中针对所述数据的第一页的第一逻辑块地址的搜索返回所述第一物理块地址:
用新的物理块地址替换所述第一物理块地址;
将所述第一物理块地址标记为无效的;以及
基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
3.根据权利要求1所述的方法,其中,完成要将所述数据写入到所述非易失性存储器的所述第一请求包括通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:
经由所述非易失性存储器的多个通道分发所述数据;以及
基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应块,其中,所述固定的页数的倍数被用于内部数据恢复。
4.根据权利要求1所述的方法,其中,将数据基于日志文件系统存储在所述非易失性存储器中。
5.根据权利要求1所述的方法,其中,所述响应于完成所述第一请求,该方法还包括:
响应于确定将由所述计算装置读取所识别的所述第二块的第一有效页,在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
6.根据权利要求1所述的方法,其中,识别被标记为有资格回收的所述第二块的步骤是基于所述第二块是否包括少于预定阈值的多个有效页。
7.根据权利要求1所述的方法,其中,直接触发所述下一次主机触发的垃圾收集是在通知主机数据已提交之前执行的。
8.根据权利要求1所述的方法,还包括:接收多个向所述非易失性存储器写入数据的请求;和
响应于完成将所述数据写入所述非易失性存储器的每个相应的请求,直接触发所述下一次主机触发的垃圾收集。
9.根据权利要求1所述的方法,其中,所述下一次主机触发的垃圾收集是主动垃圾收集,其响应于接收的将所述数据写入所述非易失性存储器的多个请求。
10.一种用于促进减少的写入放大的计算机系统,所述系统包括:
处理器;以及
存储器,所述存储器联接到所述处理器并且存储指令,当由所述处理器执行所述指令时使所述处理器执行方法,所述方法包括以下步骤:
由所述计算机系统接收要将数据写入到非易失性存储器的第一请求;
基于所述非易失性存储器的第一块的目的页的第一物理块地址将所述数据的第一页写入到所述第一块,其中,所述目的页是所述第一块的第一可用页;
通过所述计算机系统的闪存转换层模块在数据结构中将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址;
接收从被标记为有资格回收条件的第二块的第二页读取数据的第二请求;
向所述第二页分配优先级,其中,所述分配优先级指示在复制所述第二块的其他有效页之前,在下一次主机触发的垃圾收集中复制所述第二页;和
响应于完成将所述数据写入所述非易失性存储器的第一请求,直接触发所述下一次主机触发的垃圾收集,包括:
由计算设备识别所述第二块以供回收,其中,所述第二块包括有效页,所述有效页具有分配的优先级的所述第二页和所述其他有效页;
在将所述其他有效页从所述第二块复制到所述非易失性存储器的一个或多个块之前,从所述第二块复制具有指定优先级的所述第二页,其中,相应的有效页被写入相应块的第一可用页;
将所述相应的有效页的原始物理块地址标记为无效;和
由所述闪存转换层模块将所述相应的有效页的逻辑块地址映射到相应块的所述第一可用页的物理块地址。
11.根据权利要求10所述的计算机系统,其中,所述方法进一步包括以下步骤,响应于确定在所述数据结构中针对所述数据的第一页的第一逻辑块地址的搜索返回所述第一物理块地址:
用新的物理块地址替换所述第一物理块地址;
将所述第一物理块地址标记为无效的;以及
基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
12.根据权利要求10所述的计算机系统,其中,完成要将所述数据写入到所述非易失性存储器的所述第一请求包括通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:
经由所述非易失性存储器的多个通道分发所述数据;以及
基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应块,其中,所述固定的页数的倍数被用于内部数据恢复。
13.根据权利要求10所述的计算机系统,其中,数据基于日志文件系统被存储在所述非易失性存储器中。
14.根据权利要求10所述的计算机系统,其中,响应于完成所述第一请求,所述方法还包括:
响应于确定将由所述计算机系统读取所识别的所述第二块的第一有效页,在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
15.根据权利要求10所述的计算机系统,其中,识别被标记为有资格回收的所述第二块的步骤是基于所述第二块是否包括少于预定阈值的多个有效页。
16.一种用于促进计算装置中的主动垃圾收集的计算机实现的方法,所述方法包括以下步骤:
响应于完成要将第一数据写入到非易失性存储器的第一请求:
基于所述非易失性存储器第一块的目的页的第一物理块地址将所述数据的第一页写入到所述第一块,其中,所述目的页是所述第一块的第一可用页;
通过所述计算装置的闪存转换层模块将所述数据的第一页的第一逻辑块地址映射到所述第一物理块地址;
接收从被标记为有资格回收条件的第二块的第二页读取数据的第二请求;
向所述第二页分配优先级,其中,所述分配优先级指示在复制所述第二块的其他有效页之前,在下一次主机触发的垃圾收集中复制所述第二页;和
响应于完成将数据写入所述非易失性存储器的第一请求,直接触发所述下一次主机触发的垃圾收集,包括:
由计算设备识别所述第二块以供回收,其中,所述第二块包括有效页,所述有效页具有分配的优先级的第二页和其他有效页;
在将与所述其他有效页从所述第二块复制到非易失性存储器的一个或多个块之前,从所述第二块复制具有指定优先级的第二页,其中,相应的有效页被写入相应块的第一可用页;
将所述相应的有效页的原始物理块地址标记为无效;和
通过计算装置的闪存转换层模块,将所述相应的有效页的逻辑块地址映射到相应块的第一可用页的物理块地址,
从而促进主动垃圾收集。
17.根据权利要求16所述的方法,其中,响应于完成所述第一请求,所述方法进一步包括以下步骤:
响应于确定将由所述计算装置读取所识别的第二块的第一有效页,在将所述有效页复制到所述一个或更多个块之前将所述第一有效页复制到所述一个或更多个块。
18.根据权利要求16所述的方法,其中,将数据基于日志文件系统存储在所述非易失性存储器中。
19.根据权利要求16所述的方法,其中,完成所述第一请求的步骤涉及通过以下步骤以顺序方式将所述数据写入到所述非易失性存储器的一个或更多个块:
经由所述非易失性存储器的多个通道分发数据;以及
基于一次固定的页数的倍数,经由相应的通道将所述数据写入到所述非易失性存储器的相应块,其中,所述固定的页数的倍数被用于内部数据恢复。
20.根据权利要求19所述的方法,其中,所述方法进一步包括以下步骤,响应于确定在数据结构中针对所述数据的第一页的所述第一逻辑块地址的搜索返回所述第一物理块地址:
用新的物理块地址替换所述第一物理块地址;
将所述第一物理块地址标记为无效的;以及
基于所述新的物理块地址将所述数据的第一页写入到所述非易失性存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/815,510 | 2017-11-16 | ||
US15/815,510 US10877898B2 (en) | 2017-11-16 | 2017-11-16 | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032521A CN110032521A (zh) | 2019-07-19 |
CN110032521B true CN110032521B (zh) | 2023-09-26 |
Family
ID=66432162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811339993.XA Active CN110032521B (zh) | 2017-11-16 | 2018-11-12 | 增强闪存转换层映射灵活性的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10877898B2 (zh) |
CN (1) | CN110032521B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635654B2 (en) * | 2017-06-12 | 2020-04-28 | Samsung Electronics Co., Ltd. | Data journaling for large solid state storage devices with low DRAM/SRAM |
US10348599B2 (en) * | 2017-11-10 | 2019-07-09 | Edgewise Networks, Inc. | Automated load balancer discovery |
KR20190102790A (ko) * | 2018-02-27 | 2019-09-04 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법과, 이를 포함하는 메모리 시스템 |
KR102624911B1 (ko) * | 2018-06-13 | 2024-01-12 | 삼성전자주식회사 | 개선된 메타 데이터 관리를 통한 플래시 메모리의 내구성 향상 방법 |
US20200004448A1 (en) * | 2018-06-28 | 2020-01-02 | Seagate Technology Llc | Data storage system die set mapping |
US11126561B2 (en) * | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
CN111007990B (zh) * | 2019-12-24 | 2023-09-19 | 曙光信息产业(北京)有限公司 | 一种对快照系统中数据块引用进行快速定位的定位方法 |
JP2021179672A (ja) * | 2020-05-11 | 2021-11-18 | ソニーセミコンダクタソリューションズ株式会社 | メモリモジュール |
US11720253B2 (en) * | 2020-12-31 | 2023-08-08 | Micron Technology, Inc. | Access of a memory system based on fragmentation |
US11733895B2 (en) | 2021-03-31 | 2023-08-22 | Silicon Motion, Inc. | Control method of flash memory controller and associated flash memory controller and storage device |
US11748011B2 (en) * | 2021-03-31 | 2023-09-05 | Silicon Motion, Inc. | Control method of flash memory controller and associated flash memory controller and storage device |
US11809328B2 (en) * | 2021-04-01 | 2023-11-07 | Silicon Motion, Inc. | Control method of flash memory controller and associated flash memory controller and storage device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN104641356A (zh) * | 2012-09-14 | 2015-05-20 | 美光科技公司 | 地址映射 |
CN104794070A (zh) * | 2015-04-23 | 2015-07-22 | 南京道熵信息技术有限公司 | 基于动态非覆盖raid技术的固态闪存写缓存系统及方法 |
CN105027090A (zh) * | 2012-10-05 | 2015-11-04 | 西部数据技术公司 | 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 |
CN105468998A (zh) * | 2014-09-03 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 数据保护方法、数据保护装置以及固态硬盘存储系统 |
US9489296B1 (en) * | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
CN106326133A (zh) * | 2015-06-29 | 2017-01-11 | 华为技术有限公司 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
Family Cites Families (239)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893071A (en) | 1974-08-19 | 1975-07-01 | Ibm | Multi level error correction system for high density memory |
US4775932A (en) | 1984-07-31 | 1988-10-04 | Texas Instruments Incorporated | Computer memory system with parallel garbage collection independent from an associated user processor |
NL8402411A (nl) | 1984-08-02 | 1986-03-03 | Philips Nv | Inrichting voor het korrigeren en maskeren van fouten in een informatiestroom, en weergeeftoestel voor het weergeven van beeld en/of geluid voorzien van zo een inrichting. |
WO1994018634A1 (en) | 1993-02-01 | 1994-08-18 | Lsc, Inc. | Archiving file system for data servers in a distributed network environment |
US5394382A (en) | 1993-02-11 | 1995-02-28 | International Business Machines Corporation | Method for the organization of data on a CD-ROM |
JP3215237B2 (ja) | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5732093A (en) | 1996-02-08 | 1998-03-24 | United Microelectronics Corporation | Error correction method and apparatus on optical disc system |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6098185A (en) | 1997-10-31 | 2000-08-01 | Stmicroelectronics, N.V. | Header-formatted defective sector management system |
US7200623B2 (en) | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US6421787B1 (en) | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6226650B1 (en) | 1998-09-17 | 2001-05-01 | Synchrologic, Inc. | Database synchronization and organization system and method |
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 |
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 |
KR100856399B1 (ko) | 2002-01-23 | 2008-09-04 | 삼성전자주식회사 | 디코딩 방법 및 그 장치 |
US20030163633A1 (en) * | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
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 |
US7487264B2 (en) | 2002-06-11 | 2009-02-03 | Pandya Ashish A | High performance IP processor |
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 |
TWI371674B (en) | 2003-05-07 | 2012-09-01 | Mosaid Technologies Inc | Managing power on integrated circuits using power islands |
US20050038954A1 (en) | 2003-06-04 | 2005-02-17 | Quantum Corporation | Storage drive having universal format across media types |
US7051215B2 (en) | 2003-06-13 | 2006-05-23 | Intel Corporation | Power management for clustered computing platforms |
US7565454B2 (en) | 2003-07-18 | 2009-07-21 | Microsoft Corporation | State migration in multiple NIC RDMA enabled devices |
JP4371739B2 (ja) | 2003-09-02 | 2009-11-25 | 株式会社東芝 | シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法 |
US7173863B2 (en) | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7130957B2 (en) | 2004-02-10 | 2006-10-31 | Sun Microsystems, Inc. | Storage system structure for storing relational cache metadata |
US7676603B2 (en) | 2004-04-20 | 2010-03-09 | Intel Corporation | Write combining protocol between processors and chipsets |
JP4401895B2 (ja) | 2004-08-09 | 2010-01-20 | 株式会社日立製作所 | 計算機システム、計算機及びそのプログラム。 |
US7490239B2 (en) | 2005-01-07 | 2009-02-10 | First Data Corporation | Facilitating digital signature based on ephemeral private key |
DE102005032061B4 (de) | 2005-07-08 | 2009-07-30 | Qimonda Ag | Speichermodul, und Speichermodul-System |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7752382B2 (en) | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US8260924B2 (en) | 2006-05-03 | 2012-09-04 | Bluetie, Inc. | User load balancing systems and methods thereof |
JP2007305210A (ja) | 2006-05-10 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
CA2654395C (en) | 2006-05-31 | 2017-09-19 | Storwize Ltd. | Method and system for transformation of logical data objects for storage |
US7711890B2 (en) | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
EP2038729A2 (en) | 2006-06-27 | 2009-03-25 | Koninklijke Philips Electronics N.V. | A device and a method for managing power consumption of a plurality of data processing units |
US20080065805A1 (en) | 2006-09-11 | 2008-03-13 | Cameo Communications, Inc. | PCI-Express multimode expansion card and communication device having the same |
JP2008077810A (ja) | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7761623B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
KR100858241B1 (ko) | 2006-10-25 | 2008-09-12 | 삼성전자주식회사 | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 |
US8344475B2 (en) | 2006-11-29 | 2013-01-01 | Rambus Inc. | Integrated circuit heating to effect in-situ annealing |
US7958433B1 (en) | 2006-11-30 | 2011-06-07 | Marvell International Ltd. | Methods and systems for storing data in memory using zoning |
US7852654B2 (en) | 2006-12-28 | 2010-12-14 | Hynix Semiconductor Inc. | Semiconductor memory device, and multi-chip package and method of operating the same |
US7599139B1 (en) | 2007-06-22 | 2009-10-06 | Western Digital Technologies, Inc. | Disk drive having a high performance access mode and a lower performance archive mode |
US7917574B2 (en) | 2007-10-01 | 2011-03-29 | Accenture Global Services Limited | Infrastructure for parallel programming of clusters of machines |
IL187041A0 (en) | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Optimized hierarchical integrity protection for stored data |
US8281061B2 (en) | 2008-03-31 | 2012-10-02 | Micron Technology, Inc. | Data conditioning to improve flash memory reliability |
WO2009140700A1 (en) | 2008-05-16 | 2009-11-19 | Fusion Multisystems, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
KR101497074B1 (ko) | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
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 |
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 |
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 |
JP2010152704A (ja) | 2008-12-25 | 2010-07-08 | Hitachi Ltd | 計算機システムの運用管理システム及び管理方法 |
WO2010076828A1 (en) | 2008-12-30 | 2010-07-08 | Emanuele Confalonieri | Non-volatile memory with extended operating temperature range |
US8838976B2 (en) | 2009-02-10 | 2014-09-16 | Uniloc Luxembourg S.A. | Web content access using a client device identifier |
US20100217952A1 (en) | 2009-02-26 | 2010-08-26 | Iyer Rahul N | Remapping of Data Addresses for a Large Capacity Victim Cache |
US8166233B2 (en) | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8918365B2 (en) | 2009-06-19 | 2014-12-23 | Blekko, Inc. | Dedicating disks to reading or writing |
US8996812B2 (en) | 2009-06-19 | 2015-03-31 | International Business Machines Corporation | Write-back coherency data cache for resolving read/write conflicts |
US20100332922A1 (en) | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
US20110055471A1 (en) | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8688894B2 (en) | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8214700B2 (en) | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
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 |
KR20120137354A (ko) | 2010-01-28 | 2012-12-20 | 샌디스크 아이엘 엘티디 | 슬라이딩-윈도우 에러 정정 |
TWI409633B (zh) | 2010-02-04 | 2013-09-21 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與資料寫入方法 |
US8370297B2 (en) | 2010-03-08 | 2013-02-05 | International Business Machines Corporation | Approach for optimizing restores of deduplicated data |
JP2011198133A (ja) | 2010-03-19 | 2011-10-06 | Toshiba Corp | メモリシステムおよびコントローラ |
US8688897B2 (en) | 2010-05-28 | 2014-04-01 | International Business Machines Corporation | Cache memory management in a flash cache architecture |
JP4886877B2 (ja) | 2010-05-31 | 2012-02-29 | 株式会社東芝 | 記録媒体制御装置、及びその方法 |
US9401967B2 (en) | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8938624B2 (en) | 2010-09-15 | 2015-01-20 | Lsi Corporation | Encryption key destruction for secure data erasure |
US9244779B2 (en) | 2010-09-30 | 2016-01-26 | Commvault Systems, Inc. | Data recovery operations, such as recovery from modified network data management protocol data |
US20120089774A1 (en) | 2010-10-12 | 2012-04-12 | International Business Machines Corporation | Method and system for mitigating adjacent track erasure in hard disk drives |
US8429495B2 (en) | 2010-10-19 | 2013-04-23 | Mosaid Technologies Incorporated | Error detection and correction codes for channels and memories with incomplete error characteristics |
US8516284B2 (en) | 2010-11-04 | 2013-08-20 | International Business Machines Corporation | Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
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 |
US8793328B2 (en) | 2010-12-17 | 2014-07-29 | Facebook, Inc. | Distributed storage system |
US8826098B2 (en) | 2010-12-20 | 2014-09-02 | Lsi Corporation | Data signatures to determine successful completion of memory backup |
US8819328B2 (en) | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
US9612978B2 (en) | 2010-12-31 | 2017-04-04 | International Business Machines Corporation | Encrypted flash-based data storage system with confidentiality mode |
WO2012109679A2 (en) | 2011-02-11 | 2012-08-16 | Fusion-Io, Inc. | Apparatus, system, and method for application direct virtual memory management |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
CN102693168B (zh) | 2011-03-22 | 2014-12-31 | 中兴通讯股份有限公司 | 一种数据备份恢复的方法、系统和服务节点 |
US8452819B1 (en) | 2011-03-22 | 2013-05-28 | Amazon Technologies, Inc. | Methods and apparatus for optimizing resource utilization in distributed storage systems |
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 |
US20130019057A1 (en) * | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
US9344494B2 (en) | 2011-08-30 | 2016-05-17 | Oracle International Corporation | Failover data replication with colocation of session state data |
US8904158B2 (en) | 2011-09-02 | 2014-12-02 | Lsi Corporation | Storage system with boot appliance for improving reliability/availability/serviceability in high density server environments |
KR20130031046A (ko) | 2011-09-20 | 2013-03-28 | 삼성전자주식회사 | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 |
US8843451B2 (en) | 2011-09-23 | 2014-09-23 | International Business Machines Corporation | Block level backup and restore |
KR20130064518A (ko) | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US9088300B1 (en) | 2011-12-15 | 2015-07-21 | Marvell International Ltd. | Cyclic redundancy check for out-of-order codewords |
US9213645B2 (en) | 2011-12-29 | 2015-12-15 | Sandisk Technologies Inc. | Command aware partial page programming |
US8904061B1 (en) | 2011-12-30 | 2014-12-02 | Emc Corporation | Managing storage operations in a server cache |
US9043545B2 (en) | 2012-01-06 | 2015-05-26 | Netapp, Inc. | Distributing capacity slices across storage system nodes |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US8880815B2 (en) | 2012-02-20 | 2014-11-04 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low access time indirect memory accesses |
US9362003B2 (en) | 2012-03-09 | 2016-06-07 | Sandisk Technologies Inc. | System and method to decode data subject to a disturb condition |
US9336340B1 (en) | 2012-03-30 | 2016-05-10 | Emc Corporation | Evaluating management operations |
US9645917B2 (en) | 2012-05-22 | 2017-05-09 | Netapp, Inc. | Specializing I/O access patterns for flash storage |
US9092223B1 (en) | 2012-05-31 | 2015-07-28 | Google Inc. | Systems and methods to save power in data-center networks |
US9208820B2 (en) | 2012-06-29 | 2015-12-08 | International Business Machines Corporation | Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems |
US20140019650A1 (en) | 2012-07-10 | 2014-01-16 | Zhi Bin Li | Multi-Write Bit-Fill FIFO |
US20140059279A1 (en) * | 2012-08-27 | 2014-02-27 | Virginia Commonwealth University | SSD Lifetime Via Exploiting Content Locality |
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 |
US8751763B1 (en) | 2013-03-13 | 2014-06-10 | Nimbus Data Systems, Inc. | Low-overhead deduplication within a block-based data storage |
US9280472B1 (en) | 2013-03-13 | 2016-03-08 | Western Digital Technologies, Inc. | Caching data in a high performance zone of a data storage system |
US9747202B1 (en) | 2013-03-14 | 2017-08-29 | Sandisk Technologies Llc | Storage module and method for identifying hot and cold data |
US9195673B2 (en) | 2013-03-15 | 2015-11-24 | International Business Machines Corporation | Scalable graph modeling of metadata for deduplicated storage systems |
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 |
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 | 주식회사 디에이아이오 | 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법 |
US9213633B2 (en) * | 2013-04-30 | 2015-12-15 | Seagate Technology Llc | Flash translation layer with lower write amplification |
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 |
WO2015039320A1 (en) | 2013-09-19 | 2015-03-26 | Intel Corporation | Techniques for distributed processing task portion assignment |
US20160232103A1 (en) | 2013-09-26 | 2016-08-11 | Mark A. Schmisseur | Block storage apertures to persistent memory |
US9093093B2 (en) | 2013-10-25 | 2015-07-28 | Seagate Technology Llc | Adaptive guard band for multiple heads of a data storage device |
US9251154B2 (en) | 2013-11-15 | 2016-02-02 | International Business Machines Corporation | Priority based reliability mechanism for archived data |
KR102252419B1 (ko) * | 2014-01-09 | 2021-05-14 | 한국전자통신연구원 | 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법 |
CA2881206A1 (en) | 2014-02-07 | 2015-08-07 | Andrew WARFIELD | Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices |
US9542404B2 (en) | 2014-02-17 | 2017-01-10 | Netapp, Inc. | Subpartitioning of a namespace region |
US20150301964A1 (en) | 2014-02-18 | 2015-10-22 | Alistair Mark Brinicombe | Methods and systems of multi-memory, control and data plane architecture |
US9263088B2 (en) | 2014-03-21 | 2016-02-16 | Western Digital Technologies, Inc. | Data management for a data storage device using a last resort zone |
US9880859B2 (en) | 2014-03-26 | 2018-01-30 | Intel Corporation | Boot image discovery and delivery |
US9383926B2 (en) | 2014-05-27 | 2016-07-05 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
US9015561B1 (en) | 2014-06-11 | 2015-04-21 | Sandisk Technologies Inc. | Adaptive redundancy in three dimensional memory |
GB2527296A (en) | 2014-06-16 | 2015-12-23 | Ibm | A method for restoring data in a HSM system |
US9240722B2 (en) | 2014-06-19 | 2016-01-19 | Dell Products Lp | Methods and systems for improving light load efficiency for power stages of multi-phase voltage regulator circuits |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US10044795B2 (en) | 2014-07-11 | 2018-08-07 | Vmware Inc. | Methods and apparatus for rack deployments for virtual computing environments |
US9542327B2 (en) | 2014-07-22 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Selective mirroring in caches for logical volumes |
US20160041760A1 (en) | 2014-08-08 | 2016-02-11 | International Business Machines Corporation | Multi-Level Cell Flash Memory Control Mechanisms |
US10430328B2 (en) | 2014-09-16 | 2019-10-01 | Sandisk Technologies Llc | Non-volatile cache and non-volatile storage medium using single bit and multi bit flash memory cells or different programming parameters |
US9588977B1 (en) | 2014-09-30 | 2017-03-07 | EMC IP Holding Company LLC | Data and metadata structures for use in tiering data to cloud storage |
US9626286B2 (en) | 2014-10-03 | 2017-04-18 | Sandisk Technologies Llc | Hardware and firmware paths for performing memory read processes |
US10127157B2 (en) | 2014-10-06 | 2018-11-13 | SK Hynix Inc. | Sizing a cache while taking into account a total bytes written requirement |
US9710330B2 (en) | 2014-10-15 | 2017-07-18 | Empire Technology Development Llc | Partial cloud data storage |
US9129628B1 (en) | 2014-10-23 | 2015-09-08 | Western Digital Technologies, Inc. | Data management for data storage device with different track density regions |
CN105701028B (zh) | 2014-11-28 | 2018-10-09 | 国际商业机器公司 | 分布式存储系统中的磁盘管理方法和设备 |
US10409526B2 (en) * | 2014-12-17 | 2019-09-10 | Violin Systems Llc | Adaptive garbage collection |
US10013169B2 (en) | 2014-12-19 | 2018-07-03 | International Business Machines Corporation | Cooperative data deduplication in a solid state storage array |
US20160179399A1 (en) | 2014-12-23 | 2016-06-23 | Sandisk Technologies Inc. | System and Method for Selecting Blocks for Garbage Collection Based on Block Health |
US10282211B2 (en) | 2015-01-09 | 2019-05-07 | Avago Technologies International Sales Pte. Limited | Operating system software install and boot up from a storage area network device |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9734051B2 (en) | 2015-02-16 | 2017-08-15 | Quantum Corporation | Garbage collection and defragmentation for solid state drives (SSD) and shingled magnetic recording (SMR) drives |
US9916275B2 (en) | 2015-03-09 | 2018-03-13 | International Business Machines Corporation | Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system |
KR101927233B1 (ko) | 2015-03-16 | 2018-12-12 | 한국전자통신연구원 | 이기종 멀티-코어 시스템의 gpu 전력 측정 방법 |
US9911487B2 (en) | 2015-05-19 | 2018-03-06 | EMC IP Holding Company LLC | Method and system for storing and recovering data from flash memory |
US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
US10069916B2 (en) | 2015-05-26 | 2018-09-04 | Gluent, Inc. | System and method for transparent context aware filtering of data requests |
US20160350002A1 (en) | 2015-05-29 | 2016-12-01 | Intel Corporation | Memory device specific self refresh entry and exit |
US9875053B2 (en) | 2015-06-05 | 2018-01-23 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US9696931B2 (en) | 2015-06-12 | 2017-07-04 | International Business Machines Corporation | Region-based storage for volume data and metadata |
US9588571B2 (en) | 2015-07-08 | 2017-03-07 | Quanta Computer Inc. | Dynamic power supply management |
US10324832B2 (en) | 2016-05-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Address based multi-stream storage device access |
US10656838B2 (en) | 2015-07-13 | 2020-05-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US9529601B1 (en) | 2015-07-15 | 2016-12-27 | Dell Products L.P. | Multi-processor startup system |
WO2017039702A1 (en) | 2015-09-04 | 2017-03-09 | Hewlett Packard Enterprise Development Lp | Secure login information |
US9952769B2 (en) | 2015-09-14 | 2018-04-24 | Microsoft Technology Licensing, Llc. | Data storage system with data storage devices operative to manage storage device functions specific to a particular data storage device |
US10120811B2 (en) | 2015-09-29 | 2018-11-06 | International Business Machines Corporation | Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage |
US10031774B2 (en) | 2015-10-15 | 2018-07-24 | Red Hat, Inc. | Scheduling multi-phase computing jobs |
KR20170045806A (ko) | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US20170147499A1 (en) | 2015-11-25 | 2017-05-25 | Sandisk Technologies Llc | Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device |
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 |
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 |
US10452490B2 (en) | 2016-03-09 | 2019-10-22 | Commvault Systems, Inc. | Data management and backup of distributed storage environment |
US10101939B2 (en) | 2016-03-09 | 2018-10-16 | Toshiba Memory Corporation | Storage system having a host that manages physical data locations of a storage device |
US20170286311A1 (en) * | 2016-04-01 | 2017-10-05 | Dale J. Juenemann | Repetitive address indirection in a memory |
US10585809B2 (en) | 2016-04-01 | 2020-03-10 | Intel Corporation | Convolutional memory integrity |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
US10389839B2 (en) | 2016-06-01 | 2019-08-20 | Intel Corporation | Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node |
US10514862B2 (en) | 2016-07-21 | 2019-12-24 | Micron Technology, Inc. | Memory device including concurrent suspend states for different operations |
US10684795B2 (en) | 2016-07-25 | 2020-06-16 | Toshiba Memory Corporation | Storage device and storage control method |
US10157677B2 (en) | 2016-07-28 | 2018-12-18 | Ip Gem Group, Llc | Background reference positioning and local reference positioning using threshold voltage shift read |
JP6274589B1 (ja) | 2016-09-28 | 2018-02-07 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および連続読出し方法 |
US11644992B2 (en) | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
US10374885B2 (en) | 2016-12-13 | 2019-08-06 | Amazon Technologies, Inc. | Reconfigurable server including a reconfigurable adapter device |
US10496544B2 (en) | 2016-12-29 | 2019-12-03 | Intel Corporation | Aggregated write back in a direct mapped two level memory |
US10516760B2 (en) | 2017-03-17 | 2019-12-24 | Verizon Patent And Licensing Inc. | Automatic bootstrapping and dynamic configuration of data center nodes |
US10275170B2 (en) | 2017-04-10 | 2019-04-30 | Sandisk Technologies Llc | Folding operations in memory systems with single address updates |
US10613944B2 (en) | 2017-04-18 | 2020-04-07 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
TWI625620B (zh) | 2017-05-12 | 2018-06-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其讀取方法 |
US10474397B2 (en) | 2017-06-13 | 2019-11-12 | Western Digital Technologies, Inc | Unified indirection in a multi-device hybrid storage unit |
US10521375B2 (en) | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
US10838902B2 (en) | 2017-06-23 | 2020-11-17 | Facebook, Inc. | Apparatus, system, and method for performing hardware acceleration via expansion cards |
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 |
US10564856B2 (en) | 2017-07-06 | 2020-02-18 | Alibaba Group Holding Limited | Method and system for mitigating write amplification in a phase change memory-based storage device |
US10579288B2 (en) * | 2017-08-31 | 2020-03-03 | Micron Technology, Inc. | Prioritized security |
TWI631570B (zh) | 2017-09-04 | 2018-08-01 | 威盛電子股份有限公司 | 錯誤檢查糾正解碼方法與裝置 |
US10956279B2 (en) | 2017-12-04 | 2021-03-23 | International Business Machines Corporation | Managing big data on document based NoSQL databases |
US10229735B1 (en) | 2017-12-22 | 2019-03-12 | Intel Corporation | Block management for dynamic single-level cell buffers in storage devices |
US10606693B2 (en) | 2017-12-28 | 2020-03-31 | Micron Technology, Inc. | Memory controller implemented error correction code memory |
CN110058794B (zh) | 2018-01-19 | 2022-11-01 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
US10199066B1 (en) | 2018-03-01 | 2019-02-05 | Seagate Technology Llc | Write management of physically coupled storage areas |
US11138026B2 (en) | 2018-05-04 | 2021-10-05 | Citrix Systems, Inc. | Systems and methods for remote computing session display based upon user input event prioritization |
US10437670B1 (en) | 2018-05-24 | 2019-10-08 | International Business Machines Corporation | Metadata hardening and parity accumulation for log-structured arrays |
KR102717097B1 (ko) | 2018-06-07 | 2024-10-15 | 삼성전자주식회사 | 메모리 장치의 비트 에러율 균등화 방법 |
US11599557B2 (en) | 2018-06-12 | 2023-03-07 | Open Text Corporation | System and method for persistence and replication of changes to a data store |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US10776263B2 (en) | 2018-06-27 | 2020-09-15 | Seagate Technology Llc | Non-deterministic window scheduling for data storage systems |
US11150836B2 (en) | 2018-06-28 | 2021-10-19 | Seagate Technology Llc | Deterministic optimization via performance tracking in a data storage system |
US11086529B2 (en) | 2018-09-26 | 2021-08-10 | Western Digital Technologies, Inc. | Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery |
-
2017
- 2017-11-16 US US15/815,510 patent/US10877898B2/en active Active
-
2018
- 2018-11-12 CN CN201811339993.XA patent/CN110032521B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN104641356A (zh) * | 2012-09-14 | 2015-05-20 | 美光科技公司 | 地址映射 |
CN105027090A (zh) * | 2012-10-05 | 2015-11-04 | 西部数据技术公司 | 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 |
US9489296B1 (en) * | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
CN105468998A (zh) * | 2014-09-03 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 数据保护方法、数据保护装置以及固态硬盘存储系统 |
CN104794070A (zh) * | 2015-04-23 | 2015-07-22 | 南京道熵信息技术有限公司 | 基于动态非覆盖raid技术的固态闪存写缓存系统及方法 |
CN106326133A (zh) * | 2015-06-29 | 2017-01-11 | 华为技术有限公司 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
Non-Patent Citations (2)
Title |
---|
方才华 ; 刘景宁 ; 童薇 ; 高阳 ; 雷霞 ; 蒋瑜 ; .全程优化的固态硬盘垃圾回收方法.计算机应用.2017,(第05期),全文. * |
白石 ; 赵鹏 ; .GFTL:一种基于页组映射的低能耗闪存转换层.中国科技论文在线.2011,(第10期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
US20190146925A1 (en) | 2019-05-16 |
US10877898B2 (en) | 2020-12-29 |
CN110032521A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032521B (zh) | 增强闪存转换层映射灵活性的方法和系统 | |
US10198215B2 (en) | System and method for multi-stream data write | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US12147333B2 (en) | Memory system changing write mode and method of controlling nonvolatile memory by changing write mode | |
US11928053B2 (en) | System garbage collection method and method for garbage collection in solid state disk | |
CN112596667B (zh) | 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 | |
US20210382828A1 (en) | Method and system for facilitating acceleration of a mapping table reconstruction | |
US20200225882A1 (en) | System and method for compaction-less key-value store for improving storage capacity, write amplification, and i/o performance | |
CN110928807A (zh) | 用于检查存储器系统中的有效数据的设备和方法 | |
US10942848B2 (en) | Apparatus and method for checking valid data in memory system | |
CN113010098A (zh) | 用于提高存储器系统的输入/输出吞吐量的设备和方法 | |
CN118426678A (zh) | 对存储器内版本化的自适应控制的装置及方法 | |
US11042316B1 (en) | Reordered data deduplication in storage devices | |
CN110780806B (zh) | 促进元数据和数据捆绑存储的原子性保证的方法和系统 | |
US10891239B2 (en) | Method and system for operating NAND flash physical space to extend memory capacity | |
US11372774B2 (en) | Method and system for a solid state drive with on-chip memory integration | |
KR20230081505A (ko) | 메모리 컨트롤러 및 그의 동작 방법 | |
CN113050881A (zh) | 提高存储器系统输入/输出吞吐量的设备和方法 | |
CN119317897A (zh) | 数据存储设备中的主机文件系统碎片整理的管理 | |
US11281575B2 (en) | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks | |
US11500720B2 (en) | Apparatus and method for controlling input/output throughput of a memory system | |
CN113687769A (zh) | 用于提高数据处理系统中的操作效率的设备和方法 | |
US11366611B2 (en) | Apparatus for transmitting map information in a memory system | |
US11880603B2 (en) | Storage system and method for preserving overwritten data to allow a future rollback | |
CN119317906A (zh) | 用于数据存储设备中主机文件系统的碎片整理的逻辑到物理映射 |
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 |