用于存储器管理的硬件自动化制造技术

技术编号:15529521 阅读:140 留言:0更新日期:2017-06-04 16:51
一种存储模块可以包括控制器,所述控制器具有硬件路径,所述硬件路径包括被配置成用于进行与执行主机请求相关联的多个进程的多个硬件模块。所述存储模块还可以包括固件模块,所述固件模块具有处理器,所述处理器执行固件以便进行由所述硬件模块进行的所述多个进程中的至少一些。当所述硬件模块不能成功进行所述进程时,所述固件模块进行这些进程。

Hardware automation for memory management

A storage module may include a controller having a hardware path comprising a plurality of hardware modules configured to perform multiple processes associated with the execution of a host request. The storage module may also include a firmware module having a processor that executes firmware for at least some of the plurality of processes performed by the hardware module. The firmware module performs these processes when the hardware module fails to successfully carry out the process.

【技术实现步骤摘要】
【国外来华专利技术】用于存储器管理的硬件自动化
技术介绍
存储模块可以响应于从主机接收的主机命令来管理数据存储。当接收到主机读取命令时,所述存储模块可以进行多个进程来确定所述数据被存储在哪里、检索所述数据、并将所述数据发回到所述主机。存储模块可以配置有固件,所述存储模块的处理器可以执行所述固件以便进行执行所述读取命令所需要的所述进程。用固件对所述存储模块进行编程可以是有益的,因为这可以成功地处理读取请求、甚至复杂的读取,同时不消耗太多的空间。然而,许多读取请求可能是相对直接的,并且使用固件可能不是处理这些读取请求的最有效方式。
技术实现思路
本专利技术的实施例由权利要求书限定,并且不能将此部分的任何内容作为对那些权利要求的限制。举例而言,在本文件中描述的以及在附图中展示的所述实施例总体上涉及一种存储模块以及控制器的相关方法,所述控制器在通信总线上根据缓存序列执行上下文命令,而所述存储器模块进行内部存储器操作。在一个示例中,一种存储模块可以包括至少一个存储器;以及控制器,所述控制器与所述至少一个存储器通信。所述控制器可以包括:硬件路径,所述硬件路径包括被配置成用于进行与执行主机读取请求相关联的多个进程的多个硬件模块。所述控制器还可以包括固件模块,所述固件模块包括:固件,所述固件存储在所述至少一个存储器中;以及处理器,所述处理器被配置成用于执行所述固件以便进行与执行主机读取请求相关联的所述多个进程中的至少一些。所述控制器还可以包括前端模块,所述前端模块被配置成用于接收主机命令,并且响应于接收到所述主机命令,判定是否开始沿着所述硬件路径或使用所述固件模块执行所述主机命令。总而言之,在存储模块的控制器中可以包括硬件路径,所述硬件路径包括被配置成用于执行与执行主机请求有关的至少一个进程的至少一个硬件模块。当所述进程至少部分地由所述至少一个硬件模块进行时,可以加速主机请求的执行。从在此的说明书、所附权利要求书、以及下文描述的附图中将更好地理解本专利技术的这些以及其他的实施例、特征、方面和优点。附图说明结合于此并且构成本说明书的一部分的附图展示了本专利技术的多个不同方面、并且与说明部分一起用于解释本方面的原理。在方便时,在所有附图中将使用相同参考数字来指代相同或相似的要素。图1是示例存储系统的框图。图2是图1的执行主机读取请求的控制器的部件的示例配置的框图。图3是图2的前端硬件模块的示例配置的框图。图4是图2的地址转换硬件模块的示例配置的框图。图5是图2的数据检索硬件模块的示例配置的框图。图6是图2的后数据检索硬件模块的示例配置的框图。图7是逻辑组与元块之间的示例映射的示意图。图8是示例的主要和次要地址数据结构安排的示意图。图9是图1的执行主机读取请求的控制器的另一种示例配置的框图。图10A是图1的嵌入主机中的存储模块的框图。图10B是图1的与主机可移除地连接的存储模块的框图。图11是引起通过前端模块来执行主机读取请求的示例方法的流程图。图12是响应于开始在硬件路径中执行主机读取请求而将逻辑地址转换成物理地址的示例方法的流程图。图13是用硬件路径中的数据检索硬件模块、以及固件模块来检索被存储在存储器中的数据的示例方法的流程图。图14是用硬件路径中的后数据检索硬件模块、以及固件模块从存储器中检索了数据之后处理所述数据的示例方法的流程图。具体实施方式对所描述和所示出的所述实施例的不同修改和其等效物是可能的,并且在此定义的不同的一般性原理可以应用于这些以及其他的实施例。因此,将对要求保护的专利技术赋予符合在此公开的原理、特征和传授内容的最宽范围。图1示出了示例系统100的框图,所述系统包括主机系统101和存储模块102。所述主机系统101可以被配置成用于将数据存储到所述存储模块102中以及从中检索数据。所述存储模块102可以被配置成用于进行控制和管理所述数据的存储和检索的存储器管理功能。如图1所示,所述存储模块102可以包括控制器电路110和存储器模块130。取决于所述存储模块102的配置,所述控制器110和所述存储器模块130可以位于相同或不同的基板所。所述控制器110可以包括与存储器模块130相接的存储器接口模块114。所述控制器110还可以包括主机接口模块116,所述主机接口模块配置所述存储模块102与所述主机系统101操作性地通信。如在本文中所使用的,短语“操作性地通信”可以指通过一个或多个部件直接通信或间接通信,这可能在或没有在本文中被示出或描述。所述控制器110通过或者使用所述主机接口模块116可以从主机系统101接收主机请求、例如主机读取和写入请求,并且通过或使用主机接口116可以将对所述主机读取和写入请求的响应发送至所述主机系统101。此外,主机接口116可以采用任何合适的形式,如但不限于eMMC主机接口、UFS接口和USB接口,举几个例子。所述存储器模块130可以包括存储器132,所述存储器被配置成用于将数据或其他信息存储在所述存储模块102中。所述存储器132可以包括多个存储器元件或单元,每个存储器元件或单元被配置成用于存储一个或多个位的数据。此外或者可替代地,所述存储器132可以包括单个类型的存储器(例如单个类型的易失性存储器或单个类型的非易失性存储器)或多种不同类型的存储器(例如多种不同类型的易失性存储器、多种不同类型的非易失性存储器、或其组合)。此外,所述存储器132可以是这样的单个物理控制(例如单个裸片或单个芯片):其中控制器110可以使用相同的总线或信道来访问所述单个物理控制。可替代地,所述存储器132可以包括多个不同的物理空间(例如多个裸片或多个芯片),其中控制器110可以使用不同的总线或不同的信道来访问所述不同的物理空间。存储器132可以具有有组织的安排或层次结构,其中存储器132的存储器元件元件或单元是有组织的。所述控制器110可以被配置成用于根据这种有组织的安排或层次结构来存储数据和/或访问所存储的数据。对于一些示例配置的闪存,存储器元件可以被划分或整理为块,其中每个块包含可以一起被擦除的最小数量的存储器元件。每个块可以进一步被划分为多个页,其中每个页是编程或读取单位。每个单独的页可以进一步被划分为多个区段,其中每个区段包含可以作为基本编程操作一次被写入的最小数量的存储器元件。此外,对于一些示例配置,多个块和页可以跨多个平面分布、并且分别作为元块和元页一起被操作。可替代地,块和页的分别可以被限制于单个平面。进一步,元块可以分布的多个平面可以被分组为存储体。每个存储体可以是一个元块或一个元页宽。此外,每个存储体可以由所述控制器110独立地管理。可以用多种不同的方式将数据存储在块和/或元块中,包括不相连地(随机地)或相连地。如在此使用的,并且除非另外指明,术语“块”和“块”以及术语“页”和“元页”可以互换地使用和/或分别统称为“元块”和“元页”,而不关注这个块/元块以及页/元页是跨单个平面还是多个平面。所述存储器元件可以被配置成其中每个单元存储单个数据位的单层单元(SLC)、其中每个单元存储多个数据位的多层单元(MLC)(例如,每个单元两个数据位)、其中每个单元存储三个数据位的三层单元(TLC)、或者SLC、MLC和TLC的组合。相应地,一块或一页存储器元件可以分别存储单个一块或一页的数据、或多块或多页的数据,取决于所本文档来自技高网...
用于存储器管理的硬件自动化

【技术保护点】
一种存储模块,包括:至少一个存储器;以及控制器,所述控制器与所述至少一个存储器通信,其中,所述控制器包括:硬件路径,所述硬件路径包括被配置成用于进行与执行主机读取请求相关联的多个进程的多个硬件模块;以及固件模块,所述固件模块包括:固件,所述固件存储在所述至少一个存储器中;以及处理器,所述处理器被配置成用于执行所述固件以便进行与执行主机读取请求相关联的所述多个进程中的至少一些;以及前端模块,所述前端模块被配置成用于:接收主机命令;响应于接收到所述主机命令,判定是否开始沿着所述硬件路径或使用所述固件模块执行所述主机命令。

【技术特征摘要】
【国外来华专利技术】2014.10.03 US 14/506,0671.一种存储模块,包括:至少一个存储器;以及控制器,所述控制器与所述至少一个存储器通信,其中,所述控制器包括:硬件路径,所述硬件路径包括被配置成用于进行与执行主机读取请求相关联的多个进程的多个硬件模块;以及固件模块,所述固件模块包括:固件,所述固件存储在所述至少一个存储器中;以及处理器,所述处理器被配置成用于执行所述固件以便进行与执行主机读取请求相关联的所述多个进程中的至少一些;以及前端模块,所述前端模块被配置成用于:接收主机命令;响应于接收到所述主机命令,判定是否开始沿着所述硬件路径或使用所述固件模块执行所述主机命令。2.如权利要求1所述的存储模块,其中,所述前端模块被配置成用于响应于识别出所述主机命令是用于读取被存储在所述至少一个存储器中的数据的主机读取请求而确定开始沿着所述硬件路径执行所述主机命令。3.如权利要求2所述的存储模块,其中,所述前端模块进一步被配置成用于在所述数据的大小没有超过阈值量时开始沿着所述硬件路径执行所述主机读取请求。4.如权利要求3所述的存储模块,其中,所述阈值量与可通过生成单个数据检索命令集而检索的最大数据量相对应。5.如权利要求2所述的存储模块,其中,所述多个硬件模块包括地址转换模块,其中,所述前端模块进一步被配置成用于:识别与所述主机读取请求相关联的逻辑地址信息;并且当所述逻辑地址信息包括没有超过阈值数量的数量的逻辑组号时,将所述逻辑地址信息发送至所述地址转换硬件模块以便识别被映射至所述逻辑地址信息的物理地址。6.如权利要求5所述的存储模块,其中,所述阈值数量是一。7.如权利要求5所述的存储模块,其中,所述地址转换硬件模块被配置成用于查询至少一个地址数据结构,以便识别被映射至所述逻辑地址信息的所述物理地址。8.如权利要求7所述的存储模块,其中,所述至少一个地址数据结构包括次要地址数据结构和主要地址数据结构中的至少一者。9.如权利要求7所述的存储模块,其中,所述地址转换硬件模块被配置成用于仅用与所述主机读取请求相关联的单个逻辑组号来查询所述至少一个地址数据结构。10.如权利要求7所述的存储模块,其中,所述物理地址包括第一物理地址,其中,所述至少一个地址数据结构包括至少一个第一地址数据结构,其中,所述前端模块进一步被配置成用于将所述逻辑地址信息发送至所述固件模块,并且其中,所述固件模块被配置成用于查询至少一个第二地址数据结构,以便识别被映射至所述逻辑地址信息的第二物理地址。11.如权利要求10所述的存储模块,其中,所述多个硬件模块进一步包括被配置成用于检索所述数据的数据检索硬件模块,其中,所述地址转换硬件模块被配置成用于将所述第一物理地址发送至所述数据检索硬件模块,以便检索所述数据的被存储在所述第一物理地址的第一版本;其中,所述固件模块进一步被配置成用于:当对所述至少一个第二地址数据结构的所述查询没有返回所述第二物理地址时,准许所述数据检索硬件模块检索所述数据的所述第一版本;并且当对所述至少一个第二地址数据结构的所述查询返回了所述第二物理地址时,判定是否指示所述数据检索硬件模块检索所述数据的被存储在所述第二物理地址的第二版本、或者禁用所述数据检索硬件模块并检索所述数据的所述第二版本。12.如权利要求11所述的存储模块,其中,所述固件模块被配置成用于:当对所述数据的检索要求发出用于检索所述数据的所述第二版本的单个数据检索命令集时...

【专利技术属性】
技术研发人员:SA戈罗别茨M戴维森GJ林D图尔斯R杰克逊
申请(专利权)人:桑迪士克科技有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1