在本公开中,持久存储器装置包括持久存储器和存储器控制器,所述持久存储器包括一组持久存储器块。所述持久存储器装置响应于从外部主机装置接收的命令而存储并且取回数据。所述持久存储器装置将数据从连续的数据块存储到在持久存储器中的两组或更多组的逻辑地址块。所述持久存储器装置还从在持久存储器中的两组或更多组的逻辑地址块取回对应于连续的数据块的数据。在这两种情况中,在持久存储器中的两组或更多组的逻辑地址块在总体上是不连续的。
【技术实现步骤摘要】
【国外来华专利技术】
公开的实施例大体涉及存储装置。
技术介绍
众所周知,逻辑上连续的存储比逻辑上不连续的存储提供输入/输出操作的更加有效的执行。但是,随着时间的流逝和进行更多的操作,存储通常变为碎片化的,从而导致较低效的操作。本文所述的实施例提供用于对存储装置的更加有效的读取和写入的机制和方法。
技术实现思路
在本公开中,持久存储器(persistent storage)装置包括持久存储器和存储器控制器,该持久存储器包括一组持久存储器块。该持久存储器装置响应于从外部主机装置接收的命令而存储并取回数据。该持久存储器装置将数据从连续的数据块存储到在持久存储器中的两组或更多组的逻辑地址块。该持久存储器装置还从在持久存储器中的两组或更多组的逻辑地址块取回对应于连续的数据块的数据。在这两种情况中,在持久存储器中的两组或更多组的逻辑地址块在总体上是不连续的。【附图说明】图1是示出根据一些实施例的包括持久存储器装置和外部主机装置的系统的框图。图2A是根据一些实施例的对应于处理将数据从在主机装置上的主机贮存器中的连续块存储到在持久存储器装置中的两组或更多组的逻辑地址块的写入命令的示意图。图2B是根据一些实施例的对应于处理从持久存储器装置中的两组或更多组的逻辑地址块取回数据并且将该数据存储到主机装置上的主机贮存器中的连续块的读取命令的示意图。图3A-3B是示出根据一些实施例的持久存储器装置对主机命令的处理的流程图。图4A-4C示出了根据一些实施例的包括处理主机读取和写入命令的用于管理持久存储器装置的处理的流程图。贯穿附图相似的参考标号指代相应的部分。【具体实施方式】在一些实施例中,由在持久存储器中的主机装置存储的数据随着时间变得碎片化。当这发生时,难以分配连续的存储。在一些实施例中,在主机上的应用使得主机使用存储在持久存储器中的非连续的数据进行输入/输出(I/o)操作。在这样的实施例中,使用非连续的数据进行I/o操作比使用连续的数据块进行I/O操作效率更低。在一些实施例中,一旦数据变为碎片化,主机对数据进行碎片整理(defragment)。例如,在一些情况中,主机暂停所有应用并且运行用于在持久存储器中对数据进行碎片整理的处理。在该情况中,在碎片整理处理完成之前,应用不能进行操作。在另一示例中,主机在应用仍在运行的同时运行碎片整理处理。由于碎片整理处理与应用同时地运行,所以应用的性能减慢。在这两种情况中,应用完成操作的时间增加,从而降低了效率。在本公开中,持久存储器装置包括持久存储器和存储器控制器,该持久存储器包括一组持久存储器块。该存储器控制器被配置为响应于从外部主机装置接收的命令而存储并取回数据。该存储器控制器还被配置为通过将数据从写入数据连续数据块存储到对应于由主机写入命令指定的两组或更多组的逻辑地址块的持久存储器块来响应主机写入命令。由主机写入命令指定的每组逻辑地址块包括一组连续的逻辑地址块,其中由主机写入命令指定的两组或更多组的逻辑地址块在总体上(in a aggregate)是不连续的。存储器控制器还被配置为通过从与由主机读取命令指定的两组或更多组的逻辑地址块对应的持久存储器块取回与读取数据连续数据块对应的数据来响应主机读取命令。由主机读取命令指定的每组逻辑地址块包括一组连续的逻辑地址块,其中由该主机读取命令指定的两组或更多组的逻辑地址块在总体上是不连续的。在一些实施例中,该存储器控制器还被配置为原子地(atomically)执行该主机写入命令或者该主机读取命令。在一些实施例中,该主机写入命令指定将第一块数据存储到与第一逻辑地址块对应的第一持久存储器块并且将第二块数据存储到与第二逻辑地址块对应的第二持久存储器块,其中该第一和第二块数据被连续地存储在写入数据连续数据块中,并且其中该第一和第二逻辑地址块是非连续的。类似地,在一些实施例中,该主机读取命令指定从对应于第一逻辑地址块的第一持久存储器块取回第一块数据并且从对应于第二逻辑地址块的第二持久存储器块取回第二块数据,其中该第一和第二块数据在取回之后被连续地存储在读取数据连续数据块中,并且其中该第一和第二逻辑地址块是非连续的。在一些实施例中,该持久存储器装置被实现为单个、单片集成电路。在一些实施例中,该持久存储器装置还包括用于将该持久存储器装置接口连接到该外部主机装置的贮存器(memory)控制器的主机接口。在一些实施例中,该持久存储器装置包括用于将逻辑块地址与在该持久存储器装置中的持久存储器块相关联的逻辑地址到物理地址映射。在一些实施例中,由主机写入命令指定的两组或更多组的逻辑地址块包括逻辑块地址,该逻辑块地址的每一个与相应的持久存储器块相关联,并且由该存储器控制器使用逻辑块地址到物理块地址映射来识别该相应的持久存储器块。可选地,该写入数据连续数据块或者该读取数据连续数据块对应于在该外部主机装置上的贮存器中的连续的数据块。在本公开的另一方面中,提供了用于管理持久存储器装置的方法。在一些实施例中,在持久存储器装置处进行该方法,该持久存储器装置包括持久存储器和存储器控制器。该持久存储器包括一组持久存储器块。该方法包括通过将来自写入数据连续数据块的数据存储到与由主机写入命令指定的两组或更多组的逻辑地址块对应的持久存储器块,来响应从外部主机装置接收的主机写入命令。由主机写入命令指定的每组逻辑地址块包括一组连续的逻辑地址块,其中由主机写入命令指定的两组或更多组的逻辑地址块在总体上是不连续的。该方法还包括通过从与由主机读取命令指定的两组或更多组的逻辑地址块对应的持久存储器块取回与读取数据连续数据块对应的数据,来响应主机读取命令。由主机读取命令指定的每组逻辑地址块包括一组连续的逻辑地址块,其中由该主机读取命令指定的两组或更多组的逻辑地址块在总体上是不连续的。在本公开的另一方面中,非暂时计算机可读存储介质存储由持久存储器装置的存储器控制器执行的一个或多个程序。由存储器控制器执行一个或多个程序使得存储器控制器进行任何上述的方法。现在将详细参考各种实施例,这些实施例的示例在附图中示出。在下文详细的描述中,阐述了许多具体的细节以便提供对本专利技术和所描述的实施例的透彻理解。但是,可以不需要这些具体细节而实施本专利技术。在其它实例中,没有详细地描述公知的方法、过程、组件和电路以使得不会不必要地混淆实施例的方面。图1是示出根据一些实施例的包括持久存储器装置106和外部主机装置102 (在本文有时被称为主机102)的操作系统100的框图。为了方便,主机102在本文被描述为实现为单个服务器或者其它单个计算机。主机102包括一个或多个处理单元(CPU) 104、一个或多个贮存器接口 107、贮存器108和用于将这些组件相互连接的一条或多条通信总线I10通信总线110可选地包括互相连接系统组件并控制系统组件之间的通信的电路(有时被称为芯片组)。贮存器108包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或者其它随机存取固态存储器装置;并且可选地包括非易失性存储器,诸如一个或多个磁盘存储装置、光盘存储装置、闪存装置、或者其它非易失性固态存储装置。此外,贮存器108可选地包括位于远离CPU 104的一个或多个存储装置。贮存器108或者可替换地在贮存器108中的非易失性存储器装置包括非易失性本文档来自技高网...
【技术保护点】
一种持久存储器装置,包括:持久存储器,包括一组持久存储器块;以及存储器控制器,被配置为响应于从外部主机装置接收的命令而存储并取回数据,所述存储器控制器还被配置为:响应于主机写入命令,将数据从写入数据连续数据块存储到与由所述主机写入命令指定的两组或更多组的逻辑地址块对应的持久存储器块,由所述主机写入命令指定的每组逻辑地址块包括一组连续的逻辑地址块,其中由所述主机写入命令指定的两组或更多组的逻辑地址块在总体上是不连续的;以及响应于主机读取命令,从与由所述主机读取命令指定的两组或更多组的逻辑地址块对应的持久存储器块取回与读取数据连续数据块对应的数据,由所述主机读取命令指定的每组逻辑地址块包括一组连续的逻辑地址块,其中由所述主机读取命令指定的两组或更多组的逻辑地址块在总体上是不连续的。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:J乔治,A奥尔布里克,
申请(专利权)人:桑迪士克企业知识产权有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。