数据存储设备、用户设备以及数据写方法

文档序号:6438429阅读:205来源:国知局
专利名称:数据存储设备、用户设备以及数据写方法
技术领域
本发明构思的实施例涉及半导体存储设备,更特定地,涉及使用能够增加合并 (merge)操作效率的地址映射技术的半导体存储设备。本发明构思的实施例也涉及在使用这种地址映射技术的半导体存储设备中执行的数据写方法。本发明构思的其它实施例涉及并入这种半导体存储设备和/或数据写方法的用户设备。
背景技术
半导体存储设备按照它们的运行特性可以被体现为易失性的和非易失性的。易失性存储设备通常高速地执行读/写操作,但是在失去所施加的电力时会丢失所存储的数据。相反,非易失性存储设备在失去所施加的电力时会保留所存储的数据。因此,非易失性存储设备被用于存储不论电源条件如何都必须被保留的数据。特别地,在广泛类型的非易失性存储设备当中,所谓的快闪存储设备与其它类型的EEPROM相比具有高存储单元集成密度的特征。于是,当快闪存储设备并入需要海量数据存储(例如,用作辅助存储设备)的用户设备和系统时,已经证明是特别有用的。现代快闪存储设备按照所定义的擦除单位(即,在擦除操作期间被擦除的数据块尺寸)和所定义的写单位(即,在写或编程操作期间被写或编程的数据块尺寸)来操作。 在擦除单位和写单位之间的块尺寸的差异通常需要使用一般被称为快闪转换层(Flash Translation Layer)或FTL的专用软件工具。FTL本质上是一种地址映射方案,其将在一个域中定义的给定地址(例如,逻辑地址)转换为在另一域中定义的对应地址(例如,物理地址)。于是,通常使用FTL跨越域边界来转换地址类型。例如,由主机(例如,控制器、处理器、或者高层应用)所定义的逻辑地址(LA)可以与由快闪存储设备中的存储单元的排列所定义的对应物理地址(PA)来回转换。因此,FTL在主机域和快闪存储设备域之间转换各个的、但是对应的地址。可以使用页映射、块映射、或混合映射来实现地址映射。页映射表被用于页映射。 也就是说,页映射表可以被用于在逻辑页地址和对应的物理页地址之间基于页到页执行映射操作。块映射表被用于块映射。也就是说,块映射表可以被用于在逻辑块地址和对应的物理块地址之间基于块到块执行映射操作。混合映射方法本质上使用页映射技术和块映射技术两者。存储块典型地包括多个页。因此,用于页映射的映射表的尺寸是用于块映射的类似映射表的尺寸的几十或几百倍。于是,页映射表将需要比块映射表大更多的存储空间。然而,尽管对页频繁更新,但是存储块相当大,并且在每个块内的组成(constituent)页位置被固定。为此,块映射需要使用许多合并操作以确保存储空间的足够可利用性。

发明内容
认识到上述,本发明构思的某些实施例提供能够增加合并操作效率的地址映射方法。本发明构思的实施例的一个方面旨在提供一种用于使用混合映射的数据存储设备的地址映射方法,所述地址映射方法包括确定写数据是否包括至少一个超级连续块 (super sequential block) (SSB);以及如果写数据包括至少一个SSB,则使用块映射模式将与在至少一个SSB中的写数据相关联的逻辑地址映射到对应的物理地址,而使用页映射模式将与除至少SSB中的写数据的之外的、写数据的残余部分相关联的逻辑地址映射到对应的物理地址。本发明构思的实施例的另一方面旨在提供一种用于包含主机和使用混合映射方案的数据存储设备的系统的地址映射方法,所述地址映射方法包括将写命令从主机传送给数据存储设备,其中,所述写命令包括写数据和关于写数据的逻辑地址;确定写数据是否包含至少一个超级连续块(SSB);选择块映射模式,用于将与在至少一个SSB中的写数据相关联的、逻辑地址的第一部分映射到对应的物理地址;以及选择页映射模式,用于将与除至少SSB中的写数据之外的一部分写数据相关联的、逻辑地址的第二部分映射到对应的物理地址。本发明构思的实施例的另一方面旨在提供一种数据存储设备,其包括缓冲存储器,其被配置为临时存储被外部提供的具有逻辑地址的写数据;非易失性存储设备,其被配置为存储所述写数据;以及存储控制器,其被配置为将写数据的逻辑地址映射到非易失性存储设备的物理地址,其中,所述存储控制器进一步被配置为选择块映射模式,用于将与在至少一个超级连续块(SSB)中的写数据相关联的、逻辑地址的第一部分映射到对应的物理地址;以及选择页映射模式,用于将与除在至少SSB中的写数据之外的一部分写数据相关联的、逻辑地址的第二部分映射到对应的物理地址。本发明构思的实施例的另一方面旨在提供一种用户设备,其包括主机,被配置为生成地址映射模式指示以及被用于在非易失性存储设备中编程写数据的逻辑地址;以及数据存储设备,被配置为根据地址映射模式指示选择多个映射模式中的一个,并且根据所选择的多个映射模式中的一个将所述逻辑地址映射到非易失性存储设备的对应的物理地址。


将结合附图描述本发明构思的某些实施例。图I是示出根据本发明构思的实施例的分级软件结构的概念性图示。图2是根据本发明构思的实施例的数据存储设备的框图。图3是进一步示出图I的软件结构的概念性图示。图4是示出在存储控制器和非易失性存储设备之间的示范性互联的图示。图5是示出根据本发明构思的实施例的数据交织技术的概念性图示。图6是示出在逻辑地址和超级连续块之间的一种可能关系的概念性图示。
图7是示出为确定用于缓冲层的地址映射模式的方法的系统框图。图8是示出在用于连续数据的逻辑地址和超级连续块之间的可能关系的概念性图示。图9和图10是示出根据本发明构思的某些实施例的地址映射方案的图示。图11是总结根据本发明构思的实施例的地址映射方法的流程图。图12是并入根据本发明构思的实施例的数据存储设备的用户设备的框图。图13是示出用于从主机传送给数据存储设备的写请求的一种可能格式的图示。图14是示出用于图12的用户设备的软件层结构的框图。图15是总结根据本发明构思的另一实施例的地址映射方法的流程图。图16是根据本发明构思的实施例的固态驱动(SSD)系统的框图。图17是根据本发明构思的实施例的存储系统的框图。图18是根据本发明构思的实施例的计算系统的框图。
具体实施例方式现在将参照附图以一些额外的细节来描述本发明构思。然而,本发明构思可以以许多不同的形式来具体化,而不应当被理解为仅仅限定于被图示的实施例。相反地,这些实施例被提供以便本公开是彻底完全的,并且将完整地传递本发明构思的范围给本领域技术人员。在所撰写的描述和图中,相似的附图编号和标记被用于指代相似的元件和步骤。将理解,虽然术语第一、第二、第三等等此处可以被用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应当被这些术语所限制。这些术语仅仅被用于区分一个元件、组件、区域、层或部分与另一个区域、层或部分。因此,在不脱离本发明构思的教到的情况下,下面所讨论的第一元件、组件、区域、层和/或部分可以被称为第二元件、组件、区域、层或部分。这里所使用的术语仅仅是为了描述特定实施例的目的,而不意图限定本发明构思。此处使用的单数形式“一”、“一个”、“该”意图也包括复数形式,除非上下文明确给出相反指示。还将理解到,当本说明书使用术语“包括”和/或“包含”时,其表明存在所述的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或附加一个或多个其它特征、整体、 步骤、操作、元件、组件和/或它们的组合。此处使用的术语“和/或”包括一个或多个相关所列项目的任意和全部组合。将理解到,当元件或层被称为在另一元件或层“上”,或者“连接到”、“耦接到”或 “邻近”另一元件或层时,其可以直接在所述另一元件或层上,或者直接连接到、耦接到或邻近所述另一元件或层,或者也可以存在居间的元件或层。相反,当元件被称为“直接”在另一元件或层“上”、或“直接连接到”、“直接耦接到”或“紧邻”另一元件或层时,不存在居间的元件或层。除非另外定义,否则此处使用的所有术语(包括技术术语和科学术语)具有与本发明构思所属技术领域内的普通技术人员所通常理解的含义相同的含义。还将理解,术语, 如通用词典中定义的那些术语,应该被解释为具有与它们在相关领域和/或本说明书的上下文中的含义一致的含义,而不应理想化地或过分形式化地对其进行解释,除非此处明确地如此定义。
此后将描述本发明构思的某些实施例,假定一个或多个快闪存储设备作为所有类型的非易失性存储介质的操作示例。这种非易失性存储介质可以由诸如PRAM、MRAM、ReRAM、 FRAM和NOR快闪存储器的非易失性存储设备、或包含不同类型存储器的存储系统来形成。与海量数据存储(例如,媒体数据)相关联的写性能对于诸如NAND快闪存储器的非易失性存储设备来说是一个重要的需要考虑的事项。对诸如Meta数据的、频繁更新的数据的写性能对于非易失性存储设备来说是另一个重要的需要考虑的事项。可以将这种频繁更新的数据随机地写到非易失性存储设备。在本发明构思的某些实施例中,使用混合映射以便根据被写入存储器和/或从存储器读取的数据的一个或多个属性,选择性地使用块映射和页映射。在本发明构思的某些实施例中,将能够考虑利用其可以在写操作期间确定适当的映射模式的有效性(或其缺乏)来确定使用混合映射的存储设备的写性能。例如,有可能通过根据在写(或编程)操作期间正被传送的“写数据”的标识属性(例如,数据样式、尺寸、和/或序列)来有效地在页映射模式和块映射模式之间选择以增强写性能。因为写性能本质上取决于被使用的合并操作的类型和/或所需的合并操作的数量,所以这是对的。例如,有可能通过适当地选择用于特定写数据的地址映射模式来减少合并操作的数量或页拷贝操作的数量。图I是示出根据本发明构思的实施例的用于在用户设备或系统上运行的软件的分级结构的概念性示图。参照图1,用户设备的软件组件包括(从抽象的最高级到最低级) 应用10、文件系统20、缓冲层30、快闪转换层(FTL) 40、以及某个内部电路级软件,其控制非易失性存储器(NVM) 50中的存储单元的编程和读。操作系统(OS)层在功能上可以被划分为应用10和文件系统20。文件系统20可以被用于定义便于存储、搜索、访问和操纵在数据存储设备中存储的数据的抽象数据结构 (例如,文件系统)的集合。缓冲层30可以被用于根据从文件系统20所接收的请求和/或指令管理在缓冲存储器中所存储的数据。例如,缓冲层30可以管理在用户设备中提供的工作存储器(例如, RAM)中所存储的数据。可替换地,缓冲层30可以管理在数据存储设备中提供的缓冲存储器 (例如,RAM)中所存储的数据。特别地,缓冲层30可以被用于基于在工作存储器和/或缓冲存储器中被存储的写数据的尺寸和类型来确定地址映射模式。也就是说,缓冲层30可以控制用于将被数据存储设备执行的编程/写操作的“映射模式”(AM_mode)(例如,在混合映射方案所能够进行的可用的映射模式之间选择)。利用将被缓冲层30确定的映射模式,有可能减少在页拷贝期间所执行的拷贝/合并操作的数量。快闪转换层(FTL)40可以被用于在文件系统20、缓冲层30和/或非易失性存储设备50之间提供一个或多个功能接口。在功能操作中,FTL 40实质上从更高层软件组件的角度隐藏了由非易失性存储设备50所例行执行的擦除操作。使用FTL 40,有可能克服与像快闪存储设备的某些非易失性存储设备50相关联的许多潜在的缺点,例如,写之前擦除(erase-before-write)操作需求、在擦除单位和写入单位之间的尺寸不匹配、等等。进一步,在针对非易失性存储设备50的写操作期间,FTL 40可以被用于将文件系统20所生成的逻辑地址映射到非易失性存储设备50的物理地址。更特定地,FTL40可以被用于根据由缓冲层30确定的地址映射模式来执行用于写数据的寻址。
利用上述的分级软件结构,缓冲层30和FTL 40可以被用于合作地控制在数据存储设备中的数据的地址映射。例如,所述缓冲层可以被用于检测或确定用于正被存储(或者,将被存储)在用户设备的工作存储器和/或数据存储设备的存储缓冲器中的数据(此后,单个地或总体地被称为“被缓冲数据”)的特定“数据属性”(例如,尺寸、模式、类型、等等)。FTL 40可以被用于根据关于被缓冲数据的所检测数据属性来确定地址映射模式。以这种方式,通过在所定义的混合映射方案的上下文中有效地选择映射模式,有可能减少合并操作所需的操作开销。在本上下文中,缓冲层30可以被用户设备或数据存储设备的接口所“驱动”(即,调用或使其操作)。图2是根据本发明构思的实施例的用户设备100的框图。所述用户设备通常包括主机Iio和数据存储设备120。存储设备120可以包括存储控制器122、非易失性存储设备 124、以及缓冲存储器126。在接收到写请求(即,执行应当指示写操作的命令或指令)后,主机110将写数据和对应的逻辑地址传递给数据存储设备120。如果用户设备100是例如个人计算机(PC)或笔记本电脑,则可以根据扇区编号来提供逻辑地址LA。也就是说,在接收到写请求后,主机 110可以将关于写数据的起始地址和扇区编号(nSC)提供给数据存储设备120。存储设备120的缓冲存储器126可以被请求“缓冲”或临时存储从主机110接收的写数据。然后,可以将存储设备120的被缓冲写数据写或编程到非易失性存储设备124。存储控制器122用作主机110和非易失性存储设备之间的接口。存储控制器122 典型地响应从主机110接收的命令(例如写请求或读请求),并且因此控制非易失性存储设备124的操作,以实现存储和从非易失性存储设备124中检索数据。特别地,当存储控制器122控制存储从主机110提供给缓冲存储器126的写数据时,它将结合写数据确定要使用的映射模式。可以根据用于被缓冲数据的所检测数据属性来做出映射模式的确定。例如,如果写数据具有等于或大于所规定的单位尺寸的尺寸,则它将被顺序地存储在缓冲存储器126中。然后,存储控制器122可以选择块映射模式作为用于在缓冲存储器126中所存储的被缓冲数据的地址映射方案。可替换地,如果写数据具有小于所规定的单位尺寸的尺寸,则它将被整块存储在缓冲存储器126中。然后,存储控制器 122可以选择页映射模式作为用于在缓冲存储器126中所存储的被缓冲数据的地址映射方案。进一步注意,非易失性存储设备124将在存储控制器122的控制下也执行擦除、读和写操作。由非易失性存储设备124提供的数据存储空间可以被分为多个存储块,每个存储块进一步被分为多个页。如果使用经由多个通道被连接到主机110的多个非易失性存储设备来实现非易失性存储器124,则可以根据数据交织方案来控制被写入组成非易失性存储设备的任意一个的数据,以便进一步提高性能。如果将单个通道连接到多个组成存储设备,则可以使用传统上知道的技术经由公共数据总线连接所述存储设备。此后给出示范性描述,其中一个或多个NAND快闪存储设备被用于至少部分地实现数据存储设备120,该数据存储设备120在本发明构思的某些实施例中可以被用作大块媒介存储以取得好的效果。本领域技术人员将认识到,在下面的NAND 快闪存储器示例中所建立的教导和构思可以被扩展到全部或部分利用诸如PRAM、MRAM、 ReRAM, FRAM和NOR快闪存储器的其它形式的非易失性存储器实现的数据保存存储器。在本发明构思范围内的某些数据存储设备将合并一个或多个易失性存储设备(例如,DRAM)。返回图2,缓冲存储器126可以被用于临时地存储从主机110提供的写数据或者从非易失性存储设备124检索的读数据。如果从非易失性存储设备124检索的读数据响应于主机110的读请求而被高速缓存,则缓冲存储器126可以被用于将被高速缓存的数据直接提供给主机100。也就是说,缓冲存储器126可以被用于实现读数据高速缓存功能和/或写数据缓冲功能。然而,对非易失性存储设备124的访问通常按照逐个操作的基础受到限制。 当正在执行一个读/写操作时,另一操作将不会访问非易失性存储设备124。因为主机100 能够以比连接存储控制器122与数据存储设备124的存储通道的速度更高的速度来传递数据,因此可以从非易失性存储设备124访问数据的速度——特别是当使用数据总线结构和协议(例如,SATA或SAS)时——形成一个相当大的数据访问瓶颈。也就是说,假设用于主机110的更快操作速度,存储系统性能受到存储通道(包含相对大的缓冲存储器)能够操作的速度的限制。在本发明构思的某些实施例中,将使用一个或多个同步DRAM(SDRAM)来实现缓冲存储器126,以便在主机110和数据存储设备120之间提供充分大的写数据缓冲功能和/或读数据高速缓存功能。当数据存储设备120被用于存储和提供大量媒体数据时,这是特别正确的。然而,本领域技术人员将理解,缓冲存储器126可以被改变地实现。然而,假定上述描述为工作示例,数据存储设备120将根据在缓冲存储器126中所存储的被缓冲数据的尺寸或样式来确定地址映射模式。此处,被缓冲数据的尺寸或样式是可以被用于确定地址映射模式的宽泛类型的数据属性的简便示例。在与本发明构思的实施例相一致的一个方法中,如果写数据具有等于或大于(即,满足)参考尺寸的连续写样式, 则将(例如)使用块映射表以逐个参考尺寸单位为基础来管理所述写数据。然而,如果写数据不具有至少等于所述参考尺寸的连续写样式,则将使用页映射表来管理所述写数据。术语“连续写样式”表示使用任何任意的地址分配方案而具有连贯安排的(即,连续的)地址位置的数据单元。使用此方法,可以减少与频繁页拷贝相关联的合并操作的数量。因此,在存储系统的总体性能主要由合并操作的效率来限定的情况下,可以提高写性能。进一步,通过减少所需的合并操作的数量,可以延长非易失性存储设备124中的非易失性存储单元的使用寿命O本发明构思的某些实施例可以被用于实现作为固态盘(SSD)而操作的存储系统。 在这样的实施例中,存储控制器122可以被配置为使用诸如USB、MMC, PCI-E、SAS、SATA、 PATA, SCSI、ESDI、IDE等等的一个或多个接口协议,与外部设备(例如,主机110)进行通信。图3是进一步示出在图2的存储系统的上下文中的图I的软件结构的概念图示。 这些软件层可以在被布置在主机110和/或数据存储设备120中的微控制器和/或不同控制逻辑电路(包含存储控制器122)的集合上运行。参照图3,全部或部分地使用图2的存储控制器122,运行软件层200的集合。于是进一步假定,存储控制器122包括能够实现主机接口层211、快闪转换层213、以及快闪接口层214的硬件和/或软件组件。主机接口层(HIL)211可以被用于提供主机110和数据存储设备120之间的接口。 主机接口层211也可以被用于控制数据存储设备120内部的高速缓存功能,和/或解码由主机Iio提供的读请求和写请求。为了实现直接读数据高速缓存,主机接口层211可以被用于将在缓冲存储器126 中存储的被缓冲数据(例如,之前存储在缓冲存储器126中作为写请求或读请求的功能的数据)与“当前”的(例如,刚刚被接收的)读请求相匹配。如果所请求的数据被识别为在缓冲存储器126中存储的被缓冲数据,则主机接口层211可以在不访问非易失性存储设备 124的情况下将所请求的数据直接传递给主机110。该特定功能可以由在主机接口层211 内包括的缓冲器管理模块212来控制。缓冲器管理模块212也可以被用于检测被缓冲数据的数据属性,例如,某个尺寸的连续写样式。因此,缓冲器管理模块212可以响应于被检测数据属性而为被缓冲数据选择适当的地址映射模式。如果检测到某个尺寸(例如,等于或大于参考尺寸)的连续写样式,则缓冲器管理模块212将向FTL 213指示对应的地址映射模式(AMjnode),并且使用块映射表根据特定的数据单元来管理被缓冲数据。可替换地,在小于参考尺寸的连续写样式的情况下,缓冲器管理模块212可以向FTL 213指示不同的地址映射模式(AMjnode),并且使用页映射表或随机数据映射算法来管理被缓冲数据。FTL 213将执行在由主机接口层211接收的逻辑地址LA和被用于实际将被缓冲数据写到非易失性存储设备124的存储单元的对应的物理地址之间的地址映射。地址映射基于所选择的地址映射模式而进行。如果地址映射模式是块映射模式,则FTL 123以逐块为基础将被写请求的被缓冲数据(即,在缓冲存储器126中存储的并且由当前写请求所指示的写数据)的逻辑地址LA转换为对应的物理地址。如果地址映射模式是页映射模式,则 FTL 123以逐页为基础将被写请求的被缓冲数据的逻辑地址LA转换为对应的物理地址PA。另外,FTL 213可以响应于从主机110的文件系统20接收的读请求和/或写请求来执行磨损平均(wear-leveling)和碎片收集(garbage collection)。正如在NAND快闪存储器系统的上下文中通常所理解的,磨损平均可以被用于根据(例如)针对非易失性存储设备124的各个存储块的擦除操作的计数来平均存储单元使用。碎片收集也很好理解, 并且可以被用于合理地将分散在非易失性存储设备的不同存储块的有效数据归组,从而将有效数据精简到更少的存储块,并且可以使得更大块的自由存储空间可用。快闪接口层(FIL) 214通常执行使能存储控制器122和非易失性存储设备124之间的接口的某些较低级别的操作。例如,快闪接口层124可以包括低级别驱动器(LLD),其控制非易失性存储设备124的硬件;某些错误检测和纠正(ECC)功能,用于从非易失性存储设备124中检索的读数据;和/或坏块管理(BBM)功能,其跟踪缺陷存储空间。在FTL 213 的控制下,快闪接口层214基本控制存储控制器122和非易失性存储设备124之间的数据交换。特别地,如果在跨越多个单独存储设备和/或通道的写和读操作期间执行存储交织, 则快闪接口层214可以控制影响数据交织的多个通道的使用。如上所述,基于关于在缓冲存储器126中存储的被缓冲数据的连续写样式的检测尺寸,数据存储设备120可以选择适当的映射模式(例如,块映射模式或者页映射模式)。 可以使用交换/合并操作来实现当选择块映射模式时的被缓冲数据的写操作管理。使用该方法,通过有效减少在合并操作期间执行的页拷贝操作的数量,可以延长非易失性存储设备124的存储单元的使用寿命(例如,避免过分磨损)。所提出的方法也意欲提高所需合并操作的速度。
图4是示出在存储控制器122和多个非易失性存储设备之间利用多个通道的一组可能的互联的框图。参照图4,存储控制器122经由(例如)通道CHO和CHl连接到非易失性存储设备NVM_00、NVM_01、NVM_10和NVM_11。本领域技术人员将认识到,该简单的示例可以被扩展到任意合理数量和排列的通道和非易失性存储设备。第一通道CHO连接到非易失性存储设备NVM_00和NVM_01中的每一个的输入/输出(I/o)端口(例如,8个I/O端口)。第二通道CHl被连接到非易失性存储设备NVM_10 和NVM_11中的每一个的I/O。存储控制器122将来自缓冲存储器126的被缓冲写数据存储到非易失性存储设备NVM_00、NVM_0UNVM_10和NVM_11中。应当认识到,可以跨越非易失性存储设备NVM_00、NVM_01、NVM_10和NVM_11以分布或分散方式存储写数据。数据交织是一种跨越多个存储器写数据的方法,其导致数据——特别是从前连续排列的数据——散乱。例如,使用快闪接口层214可以对写数据执行一个或多个数据交织操作。可以按照通道、按照非易失性存储设备、按照称为“路线(way) ”的存储设备的排列、按照存储器组等等来管理数据交织。为了最大化跨越与一个或多个通道连接的许多非易失性存储设备的写数据的并行分布,存储控制器122可以打破被连续排序的写数据(根据它的逻辑地址),以将其散乱跨越多个通道和存储设备。或者,具有足够尺寸(即,不小于参考尺寸)的连续写样式的写数据在被分解为页尺寸数据之后,可以使用可用通道(例如, 第一和第二通道CHO和CHl)而跨越以特定方式连接的非易失性存储设备(即,NVM_00和 NVM_10)被写入。在对于第一路线124a执行了一个写操作之后,可以经由通道CHO和CHl 将页数据连续地写入第二路线124b的非易失性存储设备NVM_01和NVM_11。例如,如果接收到4个页的连续排序(即,连续写)的写数据,则可以经由第一通道CHO将4页中的第一页写到第一路线124a内的第一非易失性存储设备NVM_00。在第一页的编程完成之前,可以经由第二通道CHl将4页中的第二页写到第一路线124a内的第二非易失性存储设备NVM_10。然后,可以经由在写了第一页之后现在可用的第一通道CH0,将 4页中的第三页写到第二路线124b内的第三非易失性存储设备NVM_01。在第三页的编程完成之前,可以经由第二通道CHl将4页中的第四页写到第二路线124b内的第四非易失性存储设备NVM_11中。前面是使用2个通道交织2个路线的简单和说明性的示例。本领域技术人员将理解,可以跨越多个设备、路线和/或存储体(bank)利用多个通道来执行更加复杂的交织。图5是示出根据本发明构思的实施例的数据交织的一种可能方法的概念性图示。 参照图5,可以定义一种特定类型的数据单位以便于数据交织。那是一种由连续写数据形成的交织单位,其将被称为“超级连续块(super sequential block)”或SSB。SSB可以被定义为一个数据单位,当使用对于写操作的数据交织方法时,它将完全填满存储系统的组成非易失性存储设备内的给定存储块。在本方法的一个示例中,单个SSB包括具有满足参考尺寸的连续写样式的写数据,其中,参考尺寸对应于交织单位、或足以完全填满跨越设定范围的被交织设备、路线或存储体(例如,假定图4的结构的四(4)个存储块)的所定义的数据单位的数据的单位。本领域的技术人员将认识到,这是一个简单的示例,但是它足以教导潜在的构思。参照图5,第一超级连续块(SSB_0)由分别被布置在相应非易失性存储设备 NVM_00、NVM_01、NVM_10和NVM_11的存储块311、312、313和314所组成。如果该数据被存储为在缓冲存储器126中的被缓冲写数据,则它可以以逐页为基础按照定义的交织样式被连续地写入到相应的存储块。例如,可以将逻辑页LPNO分配给存储块311,将逻辑页LPNl 分配给存储块312,将逻辑页LPN2分配给存储块313,将逻辑页LPN3分配给存储块314。假设示例交织方法的4个存储块结构,则可以将逻辑页LPN4分配给存储块311。因此,用于形成SSB的数据的写顺序在图5中被箭头(①一②一③一④一...)表示。在其他方面,SSB数据的N(例如,512)个页被以交织的方式跨越M(例如,4)个存储块而连续地写入,其中,存储块被排列在通过Q个通道连接的P个路线中。N、M、P和Q是正整数。在前面示例中,第一 SSB 310经由第一和第二通道CHO和CHl以逐页为基础完全填满(使用锁定义的连续数据交织)分别被布置在如被安排在第一和第二路线的四(4)个非易失性存储设备(例如,NVM_00、NVM_01、NVM_10和NVM_11)中的四(4)个存储块(311、 312,313 和 314)内。图5示出多个超级连续块SSBJKSSB_1、SSB_2和SSB_3。根据本发明构思的实施例,使用块映射模式和相应的块映射表执行对于被标识为超级连续块(SSB)的被缓冲写数据的地址映射。可替换地,被缓冲写数据被标识为“非SSB”,并且使用页映射模式和相应的页映射表执行地址映射。当被缓冲写数据缺乏SSB的属性时(例如,当它具有小于给定参考尺寸的尺寸的连续写样式时),它被标识为非SSB。图6是示出在用于被缓冲写数据的逻辑地址的范围和超级连续块(SSB)之间的示范性关系的概念性图示。在图6中,主机110提供的逻辑地址序列被划分为超级连续块的
隹A
口 O假定通过使用扇区(例如,512字节)标识方法从主机110提供逻辑地址序列。如果一页等于32扇区,则一块等于128页,并且一超级连续块SSB等于16384扇区。因此,如果用于连续写数据的逻辑地址范围(LBA,nSC)具有至少等于一个超级连续块SSB的尺寸, 则将使用块映射模式来执行用于至少一个SSB内的组成写数据的地址映射。另一方面,如果用于连续写数据的逻辑地址范围(LBA、nSC)具有小于一个SSB的尺寸,则将使用页映射模式来执行用于组成写数据的地址映射。在组成FTL使用混合映射方案的情况下,用于与所接收的逻辑地址相对应的相关存储块的物理地址将是固定的。因此,用于超级连续块的地址范围也将是固定的。图7是进一步示出当被缓冲层所实现时确定适当的地址映射模式的方法的框图。 在图7中,在主机接口层(HIL)410响应于从主机110接收的写请求而运行的上下文中描述映射模式确定的方法。结合写请求,主机110将可以发送逻辑地址(LBA、nSC)和写命令给数据存储设备 120。这里,LBA(逻辑块地址)是写数据将要被写入其中的存储区域的起始地址,并且被表示为基于HDD的逻辑地址。nSC表示写数据被从起始地址开始写入其中的扇区的数量。这样,LBA和nSC的组合可以被用于指示写数据被存储在其中的“地址区域”。主机接口层410接收从主机110提供的逻辑地址(LBA、nSC)。主机接口层410然后将与逻辑地址(LBA、nSC)相对应的写数据存储在缓冲存储器126中。主机接口层410然后确定被缓冲写数据(例如,现在被存储在缓冲存储器126中的写数据)是否构成超级连续块SSB。可以考虑通过逻辑地址(LBA、nSC)指示的地址区域来做此确定。在尺寸上占据至少等于所定义的SSB的地址区域是连续写样式。
如果被缓冲写数据的全部或部分构成一个或多个SSB,则主机接口 410选择块映射作为用于与至少一个SSB相关联的被缓冲数据的适当的地址映射模式。否则,当逻辑地址和相应的地址区域不指示SSB时,主机接口层410选择页映射作为用于被缓冲写数据的适当的地址映射模式。超过所识别的SSB但是不足够大以构成另一个完整SSB的被缓冲写数据(例如,在指定的SSB之外的写数据)的部分可以由用户接口层410指定为使用页映射模式的地址映射。因此,块映射模式可以被有效地用于映射SSB,而页映射被用于映射非连续(即,随机)写数据或具有小于完整SSB尺寸的连续写数据。以这种方式,通过将块分解为使用块映射模式映射的SSB、然后利用页映射模式映射具有小于SSB的尺寸的所述写数据的任意剩余部分,可以有效地映射具有连续写样式的任意数据块。如图7中所示出,主机接口层410可以包括超级连续块(SSB)判决块415,其能够根据所接收的逻辑地址识别出SSB,然后选择适当的地址映射模式。所选择的地址映射模式 (AMjnode)然后可以被传送到快闪转换层(FTL)420。FTL 420根据由主机接口层410选择的地址映射模式AMjnode来执行用于被缓冲写数据的地址映射。如果块映射模式被选择作为用于被缓冲写数据的地址映射模式,则FTL 420使用块映射表422来管理逻辑地址转换。如果页映射模式被选择作为用于被缓冲写数据的地址映射模式,则FTL 420使用页映射表424来管理逻辑地址转换。图8是示出接收用于四⑷个不同的数据单元(数据I、数据2、数据3和数据4) 的逻辑地址、将相应的写数据识别为具有连续写样式、识别超级连续块SSB以及相应选择映射模式的概念图示。在图8中,假定4个连续数据单元数据I、数据2、数据3和数据4被存储在缓冲存储器126中,等待在被写入非易失性存储器124之前分别确定映射模式。逻辑地址(LBA = 0,nSC = 16384)指示数据I。假定有关SSB的定义的前述假设, 则数据I的全部被指定为SSB_0并且使用块映射模式来映射。逻辑地址(LBA = 8192,nSC = 11809)指示数据2。虽然数据2的组成写数据具有连续写样式,但是它不足够大以构成完整SSB。因此,使用页映射模式来映射。逻辑地址(LBA = 8192,nSC = 41809)指示数据3。这里,从存储在缓冲存储器126 中的连续写数据中识别出两(2)个完整的SSB(SSB_1和SSB_2)。然而,根据完整SSB的定义,数据3中剩余的被缓冲写数据不足够大以填满第三SSB。在这些环境下,将使用块映射模式来映射SSB_1和SSB_2,而使用页映射模式来映射剩余的连续被缓冲写数据。逻辑地址(LBA = 10000, nSC = 6001)指示数据4。虽然数据4像数据2 —样具有连续写数据,但是它不足够大以填满整个SSB。因此,使用页映射模式来映射数据4。图9和图10是进一步示出根据本发明构思的某些实施例的地址映射模式确定的概念图示。在图9中,再次假定,块映射模式被用于在连续输入的写数据中构成SSB的数据的地址映射,并且页映射方式被用于在连续输入的写数据中不构成SSB的数据的地址映射。可以在存储到缓冲存储器126中的写数据中表明(note)连续写样式,因为其跨越了连续逻辑地址来延伸未分解范围(unbroken range)( “连续LBA”)。假定与文件系统的所定义的扇区寻址方案有关地做出SSB定义,则图9中示出的被缓冲写数据包括两(2)个 SSB, SSB_n和SSB_n+l。图9的被缓冲写数据也包括部分延伸但是没有填满各自的超级连续块SSB_n-l和SSB_n+2的两个剩余的写数据部分。假定图9的数据配置和假设,块映射模式将被用于SSB_n和SSB_n+l,而页映射模式将被用于映射“部分地填充” SSB_n-l和SSB_ n+2的剩余数据。于是,在潜在SSB的固定排列(即,由例如基于遗留(legacy)扇区的寻址方案所定义的排列)的情况下,各个“被填充的” SSB可以由与被缓冲写数据的单元有关的地址所标识。本构思在图10中被进一步示出。这里,根据逻辑地址的现有分区来定义SSBji^P SSB_m+l。虽然写数据的单元大于与SSB相关联的参考尺寸,但是连续逻辑块地址的范围导致不存在被填满的SSB和两(2)个部分被填满的SSB。因此,选择页寻址模式。例如,假定图10的被缓冲写数据的尺寸大于用于SSB的参考尺寸(例如,8M字节)。但是,由于分配给被缓冲写数据的逻辑地址的范围仅仅部分地覆盖SSBji^P SSB_m+l 两者,因此被缓冲写数据不被识别为完整超级连续块。在这种情况中,页映射模式被选择用于给定被缓冲写数据的地址映射。图11是总结根据本发明构思的实施例的地址映射方法的流程图。参照图11,缓冲层和快闪转换层可以用于基于与被写请求的数据相关联的所接收的逻辑地址来确定适当的地址映射模式。假定从主机110提供具有相应的逻辑地址的写数据,并且存储控制器 122 (图2)执行地址映射操作。在操作S110,存储控制器122响应于来自主机110的所接收的写请求而将写数据临时存储在缓冲存储器126中。在操作S120,存储控制器122检测被缓冲写数据中的连续写样式。例如,存储控制器122可以基于与被缓冲写数据相关联的逻辑地址来确定被缓冲写数据是对应于连续写样式还是对应于随机写样式。在操作S130,如果确定被缓冲写数据是非连续的或随机的,则在S170中选择页映射模式。然而,如果确定被缓冲写数据是连续的,则关于被缓冲写数据是否包括一个或多个超级连续块SSB而做出确定。在操作S140,存储控制器122基于从主机110提供的逻辑地址(LBA、nSC)来识别在被缓冲写数据中是否存在一个或多个SSB。根据某些文件系统和/或存储系统定义,用于被缓冲写数据的逻辑地址可以填满或部分填满具有固定地址值的一个或多个超级连续块 SSB0因此,存储控制器122可以基于其逻辑地址而识别出在被缓冲写数据内的一个或多个超级连续块SSB。在操作S150,存储控制器122确定在被缓冲写数据中是否存在一个或多个SSB。如果不存在,则在S170中选择页映射模式以用于FTL执行对被缓冲写数据的地址转换。否则, 如果被缓冲写数据包括一个或多个被识别的SSB,则在S160中选择块映射模式以用于FTL 对在SSB中识别的那部分被缓冲写数据执行地址映射,而使用页映射模式来映射被缓冲写数据的剩余部分。如从前述可以理解的,可以基于写样式和尺寸来识别被缓冲写数据中的超级连续块。页映射表可以被用于映射由于其样式、尺寸或地址位置而不是SSB的被缓冲写数据。块映射表可以被用于映射在所识别的超级连续块中的被缓冲写数据。可以对使用块映射模式的存储块执行交换/合并操作。因此,可以显著减少否则为合并操作所需的许多页拷贝操作。图12是根据本发明构思的实施例的用户设备的框图。参照图12,用户设备500包括主机510和数据存储设备520。存储设备520可以包括存储控制器522、非易失性存储设备524和缓冲存储器526。应写请求,主机510可以发送写数据和逻辑地址LA给存储设备520。但是,在被发送给存储设备520之前,主机510可以生成对于文件系统的写请求。进一步,在将被写请求的数据传送给存储设备520之前,可以将其存储在主机510的工作存储器512中。主机 520可以基于存储在工作存储器512中的数据来判断存储设备520的地址映射模式。也就是说,主机510可以基于当被写请求的数据被存储在主机510的工作存储器512中时所生成的信息,来判定用于被写请求的数据或一部分被写请求的数据的地址映射模式。例如,主机510的设备驱动器514可以基于与在工作存储器512中缓冲的写输出相关联的逻辑地址来识别超级连续块。(就这一点而言,应当注意到,可以将“被缓冲写数据”不同地(variously)存储在主机510和/或数据存储设备520的存储器中。)为了执行此功能,主机510可以包括超级连续块(SSB)地址表516,其包含与超级连续块相对应的所定义的逻辑地址范围的列表。然后,设备驱动器514通过与SSB地址表516的比较来确定用于被缓冲写数据的适当的映射模式。当传送与被缓冲写数据相关联的写请求时,设备驱动器514也可以向存储设备520指示地址映射模式(AMjnode)。数据存储设备520的存储控制器522提供主机510和非易失性存储设备524之间的接口。存储控制器522将通常基于包含在写请求中的所接收的逻辑地址(LBA、nSC)并且鉴于所指示的映射模式来执行逻辑地址和物理地址之间的地址映射。非易失性存储设备524在存储控制器522的控制下执行擦除、读或写操作。非易失性存储设备可以包括多个存储块,每个存储块包括多个页。在多个非易失性存储器与多个通道耦接的情形下,可以根据存储器交织功能来控制非易失性存储器524以提高性能。存储设备520包括缓冲存储器526。进一步,当数据存储设备520缺乏足够的计算资源时,主机510可以确定适当的映射模式。图13是示出用于从主机传送到数据存储设备的写请求的一种可能格式的概念图示。参照图13,写请求可以包括写命令531、逻辑地址(533、535)、地址映射模式指示537以及写数据539。地址映射模式指示537可以包括,例如,用于具有特定逻辑地址的写数据的各个部分的不同的地址映射模式。也就是说,地址映射模式指示537可以与对应于逻辑地址 (LBA、nSC)的多个数据区域相关联。图14是能够与图12的用户设备结合使用的软件层结构的框图。参照图14,主机层 610包括文件系统612和设备驱动器614。数据存储设备层620可以包括主机接口层622、 快闪转换层624以及快闪接口层626。例如当文件生成和删除时,文件系统612可以生成对数据存储设备520的访问请求。如果做出对于主机510的缓冲存储器中的文件的写请求,则文件系统612可以将对于相应文件的写请求发送给设备驱动器614。设备驱动器614可以基于写数据的逻辑地址和超级连续块SSB的定义,来确定所写数据是否包括一个或多个SSB。然后,设备驱动器614 可以确定用于所有写数据或者写数据的定义部分的地址映射模式。然后,当所述写请求命令被提供时,所确定的地址映射模式被发送给数据存储设备层620。
然后,数据存储设备层620响应于主机510传送的写请求,将写数据的逻辑地址映射到非易失性存储设备中的对应的物理地址。然后,使用例如被应用于物理地址的交织功能,写数据可以被编程到非易失性存储设备中。为了完成此功能,数据存储设备层620可以包括如先前描述所运行的主机接口层622、快闪转换层624以及快闪接口层626。因而,可以取决于相对资源可用性、存储系统结构以及系统操作约束,在主机510 或数据存储设备520中进行SSB的确定和映射模式的相应确定。图15是总结根据本发明构思的实施例的另一地址映射方法的流程图。除了步骤 S260和S270的操作性质之外,在图15中总结的示范性方法的各个步骤类似于参照图12所描述的那些步骤。本领域技术人员将理解,与以数据存储设备为中心的图11的步骤S160 和S170相比,这些步骤是以主机为中心的。也就是说,例如,作为有资格的写请求命令的一部分,图12的主机510将“指令”数据存储设备520使用页映射或者块映射。因此,数据存储设备520然后将映射并存储所接收的写数据。图16是根据本发明构思的实施例的固态驱动(SSD)系统的框图。参照图16,SSD 系统1000可以包括主机1100和SSD 1200。SSD 1200可以包括SSD控制器1210、缓冲存储器1220以及非易失性存储设备1230。SSD控制器1210可以提供主机1100和SSD 1200之间的物理互联。也就是说,SSD 控制器1210可以提供与SSD的接口以便对应于主机1100的总线格式。特别地,SSD控制器 1210可以被配置为解码从主机1100提供的命令。SSD控制器1210可以根据解码结果来访问非易失性存储设备1230。主机1100的总线格式可以包括USB (通用串行总线)、SCSI (小型计算机系统接口 )、PCI express、ΑΤΑ、PATA (并行ΑΤΑ)、SATA (串行ΑΤΑ)、SAS (串行连接 SCSI)等等。这里,SSD控制器1210可以使用混合映射,其使用块映射模式和页映射模式两者来完成地址映射。主机1100可以执行超级连续块的检测和地址映射模式的确定。可替换地,SSD控制器1210可以基于随着写请求传送的逻辑地址LBA和nSC来确定映射模式。缓冲存储器1220可以被用于临时存储从主机1100提供的写数据或者从非易失性存储设备1230中读出的数据。如果在非易失性存储设备1230中存储的数据应主机1100的读请求而被高速缓存,则缓冲存储器1220可以将被高速缓存的数据直接提供给主机1100。 也就是说,缓冲存储器1220可以支持高速缓存功能。由主机1100的总线格式(例如,SATA 或SAS)所确定的数据传送速度可以显著高于SSD 1200的存储通道的速度。也就是说,如果主机1100的接口速度格外快,则可以通过使用较大的缓冲存储器1220来最小化由于总线格式和存储通道之间的速度差所导致的性能降低。缓冲存储器1220可以由同步DRAM(SDRAM)组成,以便向被用作大容量辅助存储设备的SSD 1200提供足够的缓冲。但是很好理解,缓冲存储器1220不限定于此公开。可以提供非易失性存储设备1230可以被提供为SSD 1200的存储介质。例如,非易失性存储设备1230可以由具有大存储容量的NAND类型的快闪存储器形成。非易失性存储设备1230可以由多个存储设备形成。在这种情况下,存储设备可以通过通道与SSD控制器1210耦接。作为存储介质的非易失性存储设备1230不限定于此公开。例如,诸如PRAM、 MRAM、ReRAM、FRAM、NOR快闪存储器等等的非易失性存储设备可以被用作存储介质。包含不同类型存储器的存储系统可以被用于大块(或媒体)数据存储。可替换地,易失性存储设备(例如,DRAM)可以被用作存储介质。图17是根据本发明构思的另一实施例的存储系统的框图。参照图17,存储系统 2000可以包括非易失性存储设备2200和存储控制器2100。存储控制器2100可以被配置为控制非易失性存储控制器2200。非易失性存储设备2200和存储控制器2100可以构成一个存储卡。SRAM 2110可以被用作作为处理单元的 CPU 2120的工作存储器。主机接口 2130可以包括用于与耦接于存储系统2000的主机交换数据的协议。ECC块2140可以被配置为检测和纠正在从非易失性存储设备2200中检索的读数据中的差错。存储器接口 2150可以被配置为与非易失性存储设备2200接口。CPU 2120可以执行用于存储控制器2100的数据交换的全部操作。虽然未示出,但是存储系统 2000可以进一步包括R0M,其存储用于与主机接口的代码数据。这里,存储控制器2100可以根据混合映射方法,将来自主机的逻辑地址映射到非易失性存储设备2200的物理地址。主机(未示出)可以执行超级连续块的检测和地址映射模式的确定。可替换地,存储控制器2100可以基于应写请求而传送的逻辑地址LBA和nSC 来确定映射模式。存储控制器2100可以根据主机的写请求、基于存储在SRAM 2110中的写数据来确定块映射方式或者页映射方式。非易失性存储设备2200可以由包含多个快闪存储芯片的多芯片封装形成。存储系统2000可以被提供为具有高可靠性和低差错概率的存储介质。在这种情况下,存储控制器 2100 可以被配置为通过诸如 USB、MMC, PCI-E、SAS、SATA、PATA, SCSI、ESDI、IDE 等等的各种接口中的一个与外部设备(例如,主机)通信。图18是根据本发明构思的实施例的计算系统的框图。计算系统3000可以包括与系统总线3600耦接的CPU 3200、RAM 3300、用户接口 3400、诸如基带芯片组的调制解调器 3500以及存储系统3100。如果计算系统3000是移动设备,则它可以进一步包括为系统供电的电池(未示出)。虽然在图18中未示出,但是计算系统3000可以进一步包括应用芯片组、摄像图像处理器(CIS)、移动DRAM等等。存储系统3100可以是例如利用非易失性存储器来存储数据的固态驱动/盘(SSD)。可替换地,存储系统3100可以由融合式存储器(fusion memory) (例如,一个NAND快闪存储设备)形成。这里,存储系统3100可以包括存储控制器3110和快闪存储器3120。存储控制器 3110可以根据混合映射方式将来自主机的逻辑地址映射到快闪存储器3120的物理地址。 主机(例如,CPU)可以执行超级连续块的检测和地址映射模式的确定。可替换地,存储控制器3110可以基于应写请求而传送的逻辑地址LBA和nSC来确定映射模式。以上所描述的并且被并入到本发明构思的实施例内的各个非易失性存储设备和/ 或存储控制器可以使用各种封装技术来封装,例如,层叠封装(Package on Package,PoP)、 球栅阵列(Ball grid array, BGA)、芯片尺寸封装(Chip scale package, CSP)、塑料带引线芯片载体(Plastic Leaded Chip Carrier, PLCC)、塑料双列直插封装(Plastic Dual In Line Package, PDIP)、晶片中华夫封装(Die in Waffle Pack)、晶圆中管芯形式(Die in Wafer Form)、板上芯片(Chip On Board, COB)、陶瓷双列直插封装(Ceramic Dual In-Line Package, CERDIP)、塑料四方扁平封装(Metric Quad Flat Pack, MQFP)、薄型四方扁平封装(Thin Quad Flatpack, TQFP)、小外型集成电路(Small Outline IC, S0IC)、收缩型小外型封装(Shrink Small Outline Package,SSOP)、薄型小外型封装(Thin Small Outline, TSOP)、薄型四边扁平封装(Thin Quad Flatpack,TQFP)、系统级封装(System In Package, SIP)、多芯片封装(Multi Chip Package,MCP)、晶圆级制作封装(Wafer-level Fabricated Package,WFP)、晶圆级堆叠封装(Wafer-Level Processed Stack Package, WSP)等等。以上所公开的主题应被看做是说明性的而不是限制性的,并且所附权利要求意图覆盖落在它们范围内的修改、增强以及其他实施例。因而,在法律所允许的最大限度内,本发明的范围由以下权利要求及其等效物的最宽泛可允许解释来确定,而不应受限于或局限于仅仅前述具体描述。
权利要求
1.一种使用混合映射的用于数据存储设备的地址映射方法,所述地址映射方法包括 确定写数据是否包括至少一个超级连续块(SSB);以及如果所述写数据包括至少一个SSB,则使用块映射模式将与在至少一个SSB中的写数据相关联的逻辑地址映射到对应的物理地址,而使用页映射模式将与除在所述至少SSB中的写数据之外的、写数据的剩余部分相关联的逻辑地址映射到对应的物理地址。
2.如权利要求I所述的地址映射方法,其中,在至少一个SSB中的写数据具有连续写样式。
3.如权利要求2所述的地址映射方法,其中,在至少一个SSB中的写数据的尺寸大于或等于定义SSB的参考尺寸。
4.如权利要求I所述的地址映射方法,进一步包括将至少一个SSB写入被分布在多个非易失性存储设备上的多个存储块。
5.如权利要求4所述的地址映射方法,其中,使用交织功能来执行至少一个SSB的写入。
6.如权利要求I所述的地址映射方法,进一步包括确定写数据是否包括非连续数据,并且如果写数据包括非连续数据,则使用页映射模式将与非连续数据相关联的逻辑地址映射到对应的物理地址。
7.如权利要求I所述的地址映射方法,进一步包括在确定写数据是否包括至少一个SSB之前,将写数据存储在缓冲存储器中。
8.一种使用混合映射方案用于包含主机和的数据存储设备的系统的地址映射方法,所述地址映射方法包括将来自主机的写命令传送给数据存储设备,其中,所述写命令包括写数据和用于写数据的逻辑地址;确定写数据是否包含至少一个超级连续块(SSB);选择块映射模式,用于将与在至少一个SSB中的写数据相关联的、逻辑地址的第一部分映射到对应的物理地址;以及选择页映射模式,用于将与除在至少SSB中的写数据之外的一部分写数据相关联的、 逻辑地址的第二部分映射到对应的物理地址。
9.如权利要求8所述的地址映射方法,其中,由主机来执行确定写数据是否包含至少一个SSB、选择块映射模式以及选择页映射模式。
10.如权利要求8所述的地址映射方法,其中,所述写命令进一步包括地址映射模式指示,用于控制数据存储设备的混合映射方案的操作。
11.一种数据存储设备,包括缓冲存储器,被配置为临时存储外部提供的具有逻辑地址的写数据;非易失性存储设备,被配置为存储写数据;以及存储控制器,被配置为将写数据的逻辑地址映射到非易失性存储设备的物理地址, 其中,存储控制器进一步被配置为选择块映射模式,用于将与在至少一个超级连续块 (SSB)中的写数据相关联的、逻辑地址的第一部分映射到对应的物理地址;并且选择页映射模式,用于将与除在所述至少SSB中的写数据之外的一部分写数据相关联的、逻辑地址的第二部分映射到对应的物理地址。
12.如权利要求11所述的数据存储设备,其中,存储控制器进一步被配置为以分布方式、跨越在非易失性存储设备中定义的多个存储块来编程写数据。
13.如权利要求11所述的数据存储设备,其中,存储控制器包含具有分级结构的软件, 其包括主机接口层,提供缓冲存储器和传送写数据的主机之间的接口 ;快闪转换层,将逻辑地址的各个部分映射到非易失性存储设备的物理地址的各个对应部分;以及快闪接口层,以分布方式编程写数据到物理地址。
14.如权利要求13所述的数据存储设备,其中,主机接口层包括缓冲器管理模块,用于选择块映射模式和页映射模式中的至少一个。
15.如权利要求13所述的数据存储设备,其中,主机接口层包括SSB判决模块,基于逻辑地址来检测所述写数据是否包含至少一个SSB。
16.如权利要求15所述的数据存储设备,其中,当写数据包含至少一个SSB时,SSB判决模块控制快闪转换层,以便写数据的地址映射包括使用块映射模式来映射与在至少一个 SSB中的写数据相关联的、逻辑地址的第一部分。
17.如权利要求16所述的数据存储设备,其中,与至少一个SSB相关联的写数据的第一部分被编程到非易失性存储设备,快闪转换层使用交换/合并操作来管理编程。
18.—种用户设备,包括主机,被配置为生成地址映射模式指示以及用于编程写数据到非易失性存储设备中的逻辑地址;以及数据存储设备,被配置为按照地址映射模式指示而选择多个映射模式中的一个,以及根据多个映射模式中所选择的一个映射模式将逻辑地址映射到非易失性存储设备的对应的物理地址。
19.如权利要求18所述的用户设备,其中,多个映射模式包括块映射模式和页映射模式。
20.如权利要求19所述的用户设备,其中,当写数据包括至少一个超级连续块(SSB) 时,主机使用块映射模式将逻辑地址的至少一部分映射到对应的物理地址。
21.如权利要求20所述的用户设备,其中,SSB对应于在非易失性存储设备中包含的多个存储块。
22.如权利要求21所述的用户设备,其中,将逻辑地址映射到对应的物理地址,使得所述写数据以分布方式跨越多个存储块而被编程。
23.如权利要求18所述的用户设备,其中,主机包括工作存储器,被配置为临时存储写数据;以及设备驱动器,被配置为基于写数据的尺寸和逻辑地址中的至少一个,确定用于写数据的地址映射模式。
全文摘要
公开了一种使用混合映射方案用于数据存储设备的地址映射方法、数据存储设备和用户设备。所述地址映射方法确定写数据是否包括所定义的超级连续块(SSB),并且根据是否存在SSB来选择用于所述写数据的地址映射模式。
文档编号G06F3/06GK102591589SQ201110361770
公开日2012年7月18日 申请日期2011年11月15日 优先权日2010年11月15日
发明者安光帅, 崔贤镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1