CN104854554A - 储存转换层 - Google Patents
储存转换层 Download PDFInfo
- Publication number
- CN104854554A CN104854554A CN201380058167.7A CN201380058167A CN104854554A CN 104854554 A CN104854554 A CN 104854554A CN 201380058167 A CN201380058167 A CN 201380058167A CN 104854554 A CN104854554 A CN 104854554A
- Authority
- CN
- China
- Prior art keywords
- storage
- sac
- smw
- block
- controller
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/0626—Reducing size or complexity of 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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文中描述了用于跨各种储存系统组件分布储存介质(诸如NAND闪存或储存类存储装置)系统的转换层的方法和系统。储存系统组件的非限制性实施例包括持久储存装置(PSD)、储存聚合控制器(SAC)以及储存管理写入器(SMW)。SMW可以被配置来维护它经由SAC写到PSD的每个页面的逻辑地址的表。SAC可以通过SMW向SAC通知任一页面何时不再有效来维护前面写入的页面的有效性的状态。PSD可以对装置特定问题进行处理,所述装置特定问题包括错误纠正、用于管理块级故障的块级映射以及内部损耗均衡。SAC可以对它正在管理的PSD内的物理页面的垃圾收集进行处理,而SMW可以维护实际的页面级表。
Description
相关申请的交叉引用:本申请要求2012年9月6日提交的美国临时申请No.61/697,711以及2013年3月15日提交的美国临时申请No.61/799,487的权益,这些申请的全部内容通过引用并入,就好像在本文中进行了充分阐述一样。
背景技术
诸如NAND(与非)闪存和储存类存储器(“介质”或“储存介质”)的储存介质的一个特性是,储存介质通常具有先擦除后编程的架构。另外,常规的储存介质可以以远小于擦除单元大小的单元大小(扇区、页面等)读取和编程(或“写入”)。例如,常见的读取和编程单元大小可以是4千字节、8千字节、16千字节、32千字节和64千字节,而常见的擦除单元大小(或块)通常大约是读取/编程单元大小的200至1000倍。闪存转换层(FTL)软件系统已经被开发来对储存介质的先擦除后编程的架构以及读取/编程单元大小对擦除单元大小的失调(misalignment)进行处理。然而,根据常规方法的FTL的管理通常增加了储存系统的成本和复杂性。因此,有效地且高效地使用FTL和相关联的功能的方法可以有益于数据储存产业。
发明内容
本公开不限于所描述的特定的系统、装置和方法,因为这些可以有所变化。本说明书中所使用的术语仅仅是出于描述特定版本或实施方案的目的,并非意图限制范围。
如本文件中所使用的,单数形式“一(“a”、“an”)”和“所述(“the”)”包括复数指代,除非上下文另有明确指示。除非另有定义,本文中所使用的所有的技术术语和科学术语都具有与本领域的普通技术人员通常理解的意义相同的意义。本公开中的任何内容都不应被解释为承认本公开中所描述的实施方案由于在先发明而无权先于这样的公开内容。如本文件中所使用的,术语“包括”意指“包括,但不限于”。
在实施方案中,被配置来实现储存转换层的数据储存系统可以包括:多个持久储存装置,所述多个持久储存装置中的每个包括储存介质和储存装置控制器,所述储存介质被配置来储存多个数据存取单元和元数据,所述储存装置控制器被配置来在储存块级管理储存介质的多个储存块;与所述多个持久储存装置进行可操作的通信的多个储存聚合控制器,所述多个储存聚合控制器被配置来维护所述多个数据存取单元的有效性;以及与所述多个储存聚合控制器进行可操作的通信的储存管理写入器控制器,所述储存管理写入器控制器被配置来:存取所述多个数据存取单元的逻辑地址以及储存在所述多个持久储存装置中的数据,并且维护所述逻辑地址与储存在所述多个储存聚合控制器中的所述数据之间的映射。
附图说明
图1示出介质擦除块及其在N个页面中的组件以及单个页面内的M个逻辑块地址。
图2描绘根据某些实施方案的地址映射。
图3描绘根据某些实施方案的SAC跟踪PSD内部的有效页面的机制。
图4描绘典型的写入(也被称为“编程”)处理。
图5描绘从SMW通过SAC到PSD的储存转换层的映射。
具体实施方式
FTL可以执行各种功能。例如,FTL可以执行逻辑到物理(LTP)地址映射,LTP地址映射通常可以涉及逻辑系统级地址到物理存储器地址的映射。另一个示例性功能是在断电事件的情况下的掉电恢复以用于所储存的数据的随后可存取性/恢复。另一个示例可以涉及损耗均衡,在损耗均衡中,程序事件可以被放置为使得可用的程序单元池尽可能地均匀地损耗,以使得可以以统计上可预测的分布来使得大多数程序单元到达它们的使用寿命的终点。进一步的示例包括垃圾收集(garbage collection)功能,该功能通常可以涉及从擦除单元内的过期数据(例如,不再具有时间用途的数据)分离出并且恢复良好的数据(例如,具有时间有效性的数据)以及重新将该良好的数据分布回可用程序单元池中。FTL功能通常可以被“包含”在与储存介质相同的功能单元内,该功能单元可以被称为储存装置单元或固态盘(SSD)。
FTL的性能可以涉及各种特性,诸如读取/编程性能、系统操作延迟、经过一段时间的每一操作(读取、编程、擦除)的平均功率、损耗均衡的功效、超额配置(overprovisioning)(例如,可供用户数据使用的存储量与系统中的实体上的原始存储器相对比)以及储存元数据(“状态信息”或“状态”)所需的存储量,所述元数据可以包括LTP映射信息、空闲空间信息和/或关于损耗均衡、垃圾收集等的信息。
通常与给定的闪存转换层实现方式相关联的储存装置单元成本与静态地储存“热(hot)”元数据(通常储存在随机存取存储器(RAM)中)和元数据(通常储存在介质中)所需的存储量成正比。
为了降低储存装置单元成本,许多成本敏感的消费者类装置和入门级企业类装置仅以擦除单元级管理介质,因为这最小化维护状态所需的元数据的大小,结果RAM较小。但是,在性能敏感的企业类装置中,介质通常是以读取/编程单元大小进行管理的。在这样的应用中,元数据项通常是包含介质的储存装置中的大小受到管理的每个组件必需的。
通常可见于企业类储存装置中的相对于消费者类装置的另外的性质是,用于控制介质的电路的复杂性和成本以及所述电路的功耗较大,使得它对于制造和操作都具有数量上显著的成本差异。
此外,当合并企业类储存装置提供比消费者类储存装置更鲁棒的、更可靠的操作的要求时,将错误检测和纠正信息添加到元数据信息的成本进一步增加了它们的制造和操作的成本和复杂性。
所描述的技术总地涉及一种用于跨各种储存系统组件分布NAND闪存或储存类存储器(“介质”)系统的转换层的方法。储存系统组件的非限制性实施例包括持久储存装置(PSD)、储存聚合控制器(SAC)以及储存管理写入器(SMW)。SMW可以被配置来维护它经由SAC写到PSD的每个页面的逻辑地址的表,页面顺序地写到每个块中,直到PSD中的块再也不能接受进一步的写入为止。SAC可以通过SMW向SAC通知任一页面何时不再有效来维护前面写入的页面的有效性的状态。SAC可以确定PSD的块中的数据何时需要进行“垃圾收集”,在这个时刻,SAC可以在PSD内或者跨PSD移动它可以存取的数据,并且通知SMW更新其关于其中物理地储存页面的逻辑地址的记录。PSD可以对装置特定问题进行处理,所述装置特定问题包括错误纠正、用于管理块级故障的块级映射以及内部损耗均衡。SAC可以对它正在管理的PSD内的物理页面的垃圾收集进行处理,而SMW可以维护实际的页面级表。
以这种方式,PSD和SAC可以被配置来具有最小的存储器占用,因此,能够实现成本和功率可以比在低级控制器上利用页面级映射的解决方案更高效的解决方案。
本文中所描述的实施方案可以定义以往整体地包含在储存装置单元内的几个分布单元:持久储存装置(PSD),其储存并且管理擦除单元(而不是读取/编程单元),并且包含介质;储存聚合控制器(SAC),其协调时间有效的物理页面,并且管理一组PSD内的读取/编程单元的垃圾收集;以及储存管理写入器(SMW),其维护每个读取/编程单元的逻辑地址的元数据,经由SAC写到PSD,当数据单元被写入时为这些数据单元分配逻辑地址,并且向SAC通知任一逻辑单元何时不再有效,并且当SAC执行垃圾收集时,更新逻辑地址的任何变化。
本文中所描述的系统、方法和设备可以提供储存转换层(STL)系统软件,除了其他功能之外,该软件还被配置来跨一个或更多个SMW对以单元管理的系统进行读取/编程,其中SAC或PSD都不需要页面级元数据,因此使得PSD可以具有较少的RAM和较少的介质。从而提供数量上显著的制造和操作成本优势。
图1示出介质擦除块及其在N个页面中的组件以及单个页面内的M个逻辑块地址。读取/写入单元通常是介质页面的一个或更多个逻辑块地址。因为SSD通常在内部对于它们的闪存转换层以固定大小的逻辑单元进行操作,所以数据存取单元(DAU)不失一般性地可以是该单元,不管它是512个字节、1千字节、还是4千字节等。
储存转换层使得维护其中储存DAU的物理地址的映射的“热”元数据能够不是在PSD中进行维护,而是在SMW上进行维护,从而不失一般性地,使得能够降低PSD和SAC中的成本构成。每个PSD可以独立地管理它自己的擦除单元级映射(也被称为状态或元数据信息)。PSD可以管理介质上的在物理上处于一个或更多个物理管芯(介质的物理单元)中的块。
如果PSD可以以单个管芯为单位维护块映射,并且SAC维护PSD操作的管芯级可见性,则SAC可以通过维护用于在SAC级上的操作的队列来管理对于每个管芯的存取,在这种情况下,系统级属性可以比孤立地通过每个PSD管理时更好理解。
PSD无需维护子擦除单元级映射结构。为了完整性,它可以维护状态,以便检测对于块的中间的写入,并且在内部执行所有前面的页面从前一擦除单元到对于其将放置新写入的新擦除单元的复制。储存转换层可以执行各种功能和基本操作,包括写入、读取和垃圾收集。
写入
为了将数据写到SMW控制的PSD,SMW首先向SAC请求“储存块”(被编程到介质中的数据储存单元)。未免存疑,一个或更多个“储存块”可以由SAC为任一PSD提供,并且一个或更多个PSD可以具有由SAC提供至给定SMW的“储存块”。
SAC可以将目前未用于任何有效数据的储存块提供给SMW。SAC可以负责执行垃圾收集(下面作更详细的描述)以获得可能不具有有效数据、所以它们可以可供新写入使用的储存块。
在某些实施方案中,PSD可以被编码在由SAC提供给SMW的“储存块”地址中。SAC在将每个储存块提供给SMW时通知用于该储存块的数据存取单元(DAU)的最大数量。DAU可以包括固定数量的逻辑块地址。每个“储存块”的DAU的最大数量对于每个PSD可以是固定的,但是在某些实施方案中可以在它们之间是变化的。
如果SMW在向SAC请求SAC块时提供块标识符(“Blk_ID”),并且SMW在随后存取时引用这个编号,则可以简化每方的各种查找和错误处理问题。例如,双方可以对连接达成一致意见,并且要么给出Blk_ID要么SAC块可以用于保存目前正在进行中的写入的状态。如果Blk_ID不同意分配给该Blk_ID的SAC块,则错误状况可以立即被识别。因为同时被SMW写到SAC的“储存块”的数量通常可能是SAC上的所有PSD内的“储存块”的总数的一小部分,所以尺寸针对同时被写的储存块的数量而定的表将实质上小于尺寸针对SAC中的所有储存块而定的表。
如果“Blk_ID”被从握手除去,则SMW将维持当前写到SAC上的所有“储存块”的状态,并且SAC将保存正在从给定SMW写的所有“储存块”的状态。
PSD-Blk_ID可以用于使用与Blk_ID用于便利SMW与SAC之间的SAC块的识别的方法相同的方法来识别当前在SAC与PSD之间被写的PSD块。
在任何一种情况(使用或不使用Blk_ID/PSD-Blk_ID)下,“储存块”可以按数据存取单元(DAU)的编号的次序从SMW写到SAC并且从SAC写到PSD。
SAC可以不需要向PSD请求“储存块”。PSD内部的“储存块”可以被SAC作为PSD中的可用“储存块”的量进行检测和管理。消费者类储存装置可以包括外部呈现的固定量的储存器,额外的储存块在内部被维持以用于管理跨块的损耗以及在图上标出已知已经发生故障的任何可能的块。
当SMW具有来自SAC的“储存块”时,它可以按顺序写DAU。SAC通常可以按顺序写,在下一次写提供给该储存块之前,当数据被持久储存时,对于每次写有一应答(ACK)。
当写DAU时,DAU的逻辑地址储存在与其中储存该DAU的储存块相关联的介质中(参见,例如,图3)。当SMW执行写时的时间戳记录也可以放置在介质中。这个时间戳可以大约为数秒或者甚至数十分钟,因为其可选的使用便利垃圾收集。
每一个单元闪存装置包括3个位的介质的某些实施方案要求特定的一组数据被写入,在此之前,早先的数据可能不会被读回。为了支持这一点,可以同时对单个PSD进行一组写,这个PSD被应答的次序可以不按它们的提交次序(只要数据可以被正确地读取即可)。
一旦“储存块”全部被写,SMW就可以使用相同的“Blk_ID”来请求新的“储存块”。当储存块完成全部写时,该储存块可以变为可以进行垃圾收集处理的候选者(下面做更详细的描述)。
在某些实施方案中,SMW写到SAC的数据可以使用“储存块”作为“逻辑到物理表”中的高地址位,并且使用DAU偏移作为该“逻辑到物理表”中的低地址位,所述逻辑到物理表是SMW为了它写到SAC的数据而维护的。
当多个SMW同时连接到SAC时,提供给一个SMW的“储存块”可以被提供来供该SMW写,而不被其他SMW。这可以使得已经被提供“储存块”的任何SMW能够写该块,而不考虑任何其他SMW的写行为。
根据某些实施方案,储存块被提供给一个SMW而另一个SMW维护任一关键状态的备份副本的任何机制,在任何时刻仅有一个SMW应对储存块进行写。
SAC对于空闲块的选择
当SMW向SAC请求储存块时,SAC在目前不具有有效数据的块之间进行选择以提供给SMW请求者。如果SAC在请求时不具有可用的储存块,则它可以应答该请求,同时确认它此时不能履行该请求。某些实施方案可以要么使SMW周期性地尝试从SAC获取储存块,要么使SAC向SMW通知它何时具有可供用于写的储存块。
当SAC需要一些可用储存块执行垃圾收集时,可以存在可用储存块阈值,低于该阈值,没有储存块提供给SMW。根据某些实施方案,直到SAC响应于SMW的请求提供储存块的这样的时间,SMW才被阻止对于SAC写DAU。
读取
SWM可以在SAC以前被写的地址处检索写到该SAC的DAU。对于DAU的读取请求从SMW发送到SAC。SAC继而确定在其执行实际的“储存块”的PSD,并且将对于将从PSD读取的数据的请求存入队列。
覆写时释放未使用空间
当SMA具有例如来自系统外部的DAU的新副本(这可以经由写或失效消息(在某些实施方案中,这可以是SCSI UNMAP命令、SATA TRIM命令或者具有类似的行业一般接受的意图的其他命令)或者包括许多DAU的卷的删除)时,SMW可以发送使SAC上的数据失效的消息。
参照图3,当SAC接收到失效消息时,它可以更新DAU有效记录来指示该DAU不再有效。DAU有效记录可以在SAC上进行维护,以使得没有PSD变为瓶颈,这可以降低对于PSD的存储器要求。在某些实施方案中,DAU有效状态可以在PSD上进行维护,这可能要求在SAC与PSD之间发送更新该状态的消息。
SMW可以在它接收到更新的副本之后的任何时刻将DAU的新副本写到相同SAC或不同SAC中的持久储存器。在新DAU被接收到SMW的高速缓存中的情况下,该DAU事实上可以在它在SMW的高速缓存中时,在数据从SMW写到SAC之前被覆写。根据某些实施方案,SMW可以将DAU写到它连接的任何SAC。
垃圾收集
垃圾收集可以包括这样的处理,通过该处理,不再具有有效使用的DAU可以从具有仍然具有有效使用的DAU的储存块压缩得到。考虑到介质的先擦除后写的特性,可以将有效的DAU移至新的位置,以便释放无效的DAU留下的空间。
为了执行垃圾收集处理,SAC可以使用它用于它自己的垃圾收集处理的一个或更多个可用的储存块,这可以被称为“压缩储存块”。
为了执行垃圾收集,SAC可以在已经被充分写(作为前面的垃圾收集处理的一部分,被SMW或SAC充分写)的储存块之间进行选择。如果SAC管理的所有PSD的DAU有效状态在SAC中进行维护,则它可以直接选择储存块。如果DAU有效状态保存在PSD上而不是SAC上,则SAC可以请求每个PSD提供垃圾收集的候选者。垃圾收集(由SAC或PSD进行)的候选者可以包括有效DAU对总DAU的比率,并且可以可选地包括写到每个块中的DAU中的数据的相对年龄(如果时间戳与DAU一起写到介质中)。选择用于垃圾收集的储块存在本文中可以被称为“原储存块”。
一旦原储存块被SAC选择用于垃圾收集,则每个有效DAU的逻辑地址可以被读取并且提供给最初写该DAU的SMW。SMW可以(a)表示该DAU是无效的,(b)代替进行垃圾收集,请求该DAU被读到它,一旦确认被读到了SMW,SMW就可以将该DAU标记为无效,和/或(c)确认该DAU是有效的,并且可以被SAC进行垃圾收集。选项(b)可以通过读取和失效处理或者组合处理来进行处理。
如果SAC执行垃圾收集处理,则SAC从PSD中的原储存块读DAU,并且将该DAU写到压缩储存块(例如,在相同的或不同的PSD中)中的新位置中。当DAU已经被写到压缩储存块时,SAC通知SMW,最初被SMW写的逻辑地址处的、以前在原储存块中的DAU现在被储存在压缩储存块中的这个新位置处。
直到SAC接收到从原储存块到压缩储存块的移动的应答,SMW才可以对于原储存块处的DAU发送读取或失效消息。失效消息应既应用于旧位置,又应用于新位置。读取事实上可以由原位置来服务,直到原储存块被擦除这样的时刻为止。当SAC接收到从原储存块到紧凑储存块的移动的应答时,SAC可以将DAU位置标记为无效。
当原储存块的所有DAU失效(通过SMW失效或者SAC的垃圾收集移动)时,该储存块可以在任何时间被擦除。当该储存块被擦除时,SAC应记录该储存块可用于被SAC提供给任一SMW(或者SAC本身用于内部垃圾收集的目的)。
其中所有DAU都已经被SMW失效的储存块的情况存在。在这种情况下,该储存块被有益地进行“垃圾收集”,并且可以在任何时间被擦除,就好像它已经被SAC进行了垃圾收集一样。
当SAC正在写压缩储存块时,最初被任一SMW写(或者通过SAC的早先的垃圾收集处理被写)的原储存块可以压缩为常见的压缩储存块。
在前面的描述中,如果SMW是出于它自己的目的或者共同将数据保存在高速缓存结构(其可能经由RAID(便宜装置冗余阵列)结构进行保护)的一组节点的目的来协调读、写和失效消息的节点,则储存转换层可以保持为被启用的。
Claims (5)
1.一种被配置来实现储存转换层的数据储存系统,所述系统包括:
多个持久储存装置,所述多个持久储存装置中的每个包括储存介质和储存装置控制器,所述储存介质被配置来储存多个数据存取单元和元数据,所述储存装置控制器被配置来在储存块级管理所述储存介质的多个储存块;
多个储存聚合控制器,所述多个储存聚合控制器与所述多个持久储存装置进行可操作的通信,所述多个储存聚合控制器被配置来维护所述多个数据存取单元的有效性;以及
储存管理写入器控制器,所述储存管理写入器控制器与所述多个储存聚合控制器进行可操作的通信,所述储存管理写入器控制器被配置来:
存取所述多个数据存取单元的逻辑地址以及储存在所述多个持久储存装置中的数据;以及
维护所述逻辑地址与储存在所述多个储存聚合控制器中的所述数据之间的映射。
2.如权利要求1所述的系统,其中所述多个储存聚合控制器被配置来基于从所述储存管理写入器控制器接收的消息来跟踪所述多个数据存取单元的有效性。
3.如权利要求1所述的系统,其中所述多个储存聚合控制器被配置来选择所述多个储存块中的用于垃圾收集的至少一个储存块。
4.如权利要求3所述的系统,其中所述多个储存聚合控制器中的至少一个储存聚合控制器执行垃圾收集。
5.如权利要求4所述的系统,其中执行垃圾收集的步骤包括将要进行垃圾收集的块的逻辑地址和物理地址发送到所述多个储存聚合控制器中的所述至少一个储存聚合控制器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261697711P | 2012-09-06 | 2012-09-06 | |
US61/697,711 | 2012-09-06 | ||
US201361799487P | 2013-03-15 | 2013-03-15 | |
US61/799,487 | 2013-03-15 | ||
PCT/US2013/058644 WO2014039923A1 (en) | 2012-09-06 | 2013-09-06 | Storage translation layer |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104854554A true CN104854554A (zh) | 2015-08-19 |
Family
ID=50237665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380058167.7A Pending CN104854554A (zh) | 2012-09-06 | 2013-09-06 | 储存转换层 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150212937A1 (zh) |
EP (1) | EP2893433A4 (zh) |
JP (1) | JP2015529368A (zh) |
CN (1) | CN104854554A (zh) |
IN (1) | IN2015DN02477A (zh) |
WO (1) | WO2014039923A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102815A (zh) * | 2016-02-22 | 2017-08-29 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108139968A (zh) * | 2015-10-19 | 2018-06-08 | 华为技术有限公司 | 确定垃圾收集器线程数量及活动管理的方法及设备 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6008325B2 (ja) * | 2013-05-17 | 2016-10-19 | 学校法人 中央大学 | データ記憶システムおよびその制御方法 |
JP2016038907A (ja) * | 2014-08-07 | 2016-03-22 | 富士通株式会社 | アクセス制御プログラム、アクセス制御装置及びアクセス制御方法 |
KR102282006B1 (ko) * | 2014-08-19 | 2021-07-28 | 삼성전자주식회사 | 컴퓨터 장치 및 저장 장치 |
JP6444917B2 (ja) * | 2016-03-08 | 2018-12-26 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
US10126962B2 (en) | 2016-04-22 | 2018-11-13 | Microsoft Technology Licensing, Llc | Adapted block translation table (BTT) |
CN106328059B (zh) * | 2016-09-07 | 2017-10-27 | 京东方科技集团股份有限公司 | 用于电学补偿的存储器中数据更新的方法和装置 |
KR20190082513A (ko) * | 2018-01-02 | 2019-07-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
JP7091203B2 (ja) | 2018-09-19 | 2022-06-27 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN111104047B (zh) * | 2018-10-25 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 |
US11615020B2 (en) | 2021-08-12 | 2023-03-28 | Micron Technology, Inc. | Implementing mapping data structures to minimize sequentially written data accesses |
JP2023044824A (ja) | 2021-09-21 | 2023-04-03 | キオクシア株式会社 | メモリシステム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100274952A1 (en) * | 2009-04-22 | 2010-10-28 | Samsung Electronics Co., Ltd. | Controller, data storage device and data storage system having the controller, and data processing method |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102521144A (zh) * | 2011-12-22 | 2012-06-27 | 清华大学 | 一种闪存转换层系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20060101204A1 (en) * | 2004-08-25 | 2006-05-11 | Bao Bill Q | Storage virtualization |
US20070033356A1 (en) * | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
US7945726B2 (en) * | 2006-05-08 | 2011-05-17 | Emc Corporation | Pre-allocation and hierarchical mapping of data blocks distributed from a first processor to a second processor for use in a file system |
WO2012051600A2 (en) * | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
US20120239860A1 (en) * | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
-
2013
- 2013-09-06 EP EP13834544.2A patent/EP2893433A4/en not_active Withdrawn
- 2013-09-06 WO PCT/US2013/058644 patent/WO2014039923A1/en active Application Filing
- 2013-09-06 US US14/426,609 patent/US20150212937A1/en not_active Abandoned
- 2013-09-06 CN CN201380058167.7A patent/CN104854554A/zh active Pending
- 2013-09-06 JP JP2015531271A patent/JP2015529368A/ja active Pending
-
2015
- 2015-03-26 IN IN2477DEN2015 patent/IN2015DN02477A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100274952A1 (en) * | 2009-04-22 | 2010-10-28 | Samsung Electronics Co., Ltd. | Controller, data storage device and data storage system having the controller, and data processing method |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102521144A (zh) * | 2011-12-22 | 2012-06-27 | 清华大学 | 一种闪存转换层系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108139968A (zh) * | 2015-10-19 | 2018-06-08 | 华为技术有限公司 | 确定垃圾收集器线程数量及活动管理的方法及设备 |
US10802718B2 (en) | 2015-10-19 | 2020-10-13 | Huawei Technologies Co., Ltd. | Method and device for determination of garbage collector thread number and activity management in log-structured file systems |
CN108139968B (zh) * | 2015-10-19 | 2020-12-04 | 华为技术有限公司 | 确定垃圾收集器线程数量及活动管理的方法及设备 |
CN107102815A (zh) * | 2016-02-22 | 2017-08-29 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107102815B (zh) * | 2016-02-22 | 2020-07-21 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2893433A1 (en) | 2015-07-15 |
US20150212937A1 (en) | 2015-07-30 |
IN2015DN02477A (zh) | 2015-09-11 |
EP2893433A4 (en) | 2016-06-01 |
WO2014039923A1 (en) | 2014-03-13 |
JP2015529368A (ja) | 2015-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104854554A (zh) | 储存转换层 | |
US9378135B2 (en) | Method and system for data storage | |
US9652386B2 (en) | Management of memory array with magnetic random access memory (MRAM) | |
US8301670B2 (en) | Managing snapshot storage pools | |
US8738846B2 (en) | File system-aware solid-state storage management system | |
US9158700B2 (en) | Storing cached data in over-provisioned memory in response to power loss | |
US10013307B1 (en) | Systems and methods for data storage devices to use external resources | |
KR102252419B1 (ko) | 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법 | |
US10761982B2 (en) | Data storage device and method for operating non-volatile memory | |
CN102667739B (zh) | 存储装置管理装置及用于管理存储装置的方法 | |
KR102663661B1 (ko) | 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치 | |
US9009396B2 (en) | Physically addressed solid state disk employing magnetic random access memory (MRAM) | |
US9830106B2 (en) | Management of memory array with magnetic random access memory (MRAM) | |
KR101077904B1 (ko) | 페이지 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 | |
TW201428758A (zh) | 記憶體片段重新映射以解決碎片 | |
US10459803B2 (en) | Method for management tables recovery | |
JP7392080B2 (ja) | メモリシステム | |
US20170010810A1 (en) | Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer | |
US20140047161A1 (en) | System Employing MRAM and Physically Addressed Solid State Disk | |
CN111984547B (zh) | 一种地址映射表管理装置、方法、系统及计算机存储介质 | |
KR101369408B1 (ko) | 스토리지 시스템 및 이의 데이터 전송 방법 | |
JP6817340B2 (ja) | 計算機 | |
JP5953245B2 (ja) | 情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150819 |
|
WD01 | Invention patent application deemed withdrawn after publication |