主机辅助的存储块的压缩的制作方法_4

文档序号:8269379阅读:来源:国知局
器控制器访问设备28的给定模拟存储器单元组。例如,该命令可请求对某个数据项的存储或读出。在操作执行步骤82处,响应于该命令,存储器控制器32使用从DRAM 52检索的信息来执行访问存储器设备28的操作。通常,存储器控制器识别设备28中待访问的模拟存储器单元组,从DRAM 52检索与该存储器单元组有关的(一个或多个)信息项,并且使用所检索的信息来访问该组中的存储器单元。
[0059]主机系统与存储器控制器之间的接口
[0060]在执行上文所述的技术时,存储器控制器32可使用任何合适的接口来将信息存储在DRAM 52中以及读取DRAM 52中的信息。在上文图1的示例中,存储器控制器使用专用接口 60(即,使用与用于在存储器控制器与主机处理器之间通信的物理接口分离的物理接口)来与DRAM 52直接通信。在这些实施例中,从DRAM 52检索信息不涉及主机处理器的任何操作,因为存储器控制器与DRAM直接通信。存储器控制器和/或主机系统包括合适的仲裁逻辑器以用于控制处理器44和处理器48对DRAM 52的访问。
[0061]在另选的实施例中,存储器控制器32使用主机总线56(S卩,通过用于在存储器控制器与主机处理器之间通信的同一物理接口)来将信息存储在DRAM 52中以及读取DRAM 52中的信息。主机总线56可根据任何合适的标准或协议来操作,诸如NAND接口、微SD (μ SD)接口、嵌入式多媒体卡(eMMC)接口、通用闪存(UFS)接口、串行高级技术附件(SATA)接口、通用串行总线(USB)、快速外围组件互连(PCIe)或任何其他合适的接口。
[0062]ySD 接口在例如“SD Specificat1ns,,(2009 年 11 月 9 日第 3.01 版草案 1.00 的第一部分物理层规范)中指定,该文献以引用方式并入本文。eMMC接口在例如“EmbeddedMultiMediaCard(eMMC)Mechanical Standard with Opt1nal Reset Signal,,(2009 年 7月JEDEC标准JESD84-C44)中指定,该文献以引用方式并入本文。UFS接口在例如“UFSSpecificat1n”(2009年11月11日第0.1版)中指定,该文献以引用方式并入本文。SATA接口在例如“Serial ATA Revis1n 3.0”(2009年6月2日)中指定,该文献以引用方式并入本文。USB 接口在例如 “Universal Serial Bus Specificat1n”(2000 年 4 月 27 日修订版2.0)中指定,该文献以引用方式并入本文。
[0063]在上文列出的通信协议中,将主机处理器定义为主设备,并且将存储器控制器定义为从设备。因此,存储器控制器不能向主机处理器发起和发送用于请求存储或检索信息的命令。在一些实施例中,存储器控制器32通过经由存储器控制器与主机处理器之间的硬件线路发送信号来请求主机处理器48与DRAM 52交换信息。在一些实施例中,专用硬件线路可出于该目的而连接在存储器控制器与主机处理器之间。作为另外一种选择,存储器控制器可使用现有硬件线路,诸如就绪线路/占用线路来向主机处理器指示请求数据交换。一旦主机处理器接收该指示,其便发起信息交换过程。
[0064]图3为根据本发明实施例的示意性地示出用于在主机处理器与存储器控制器之间交换信息的方法的流程图。该方法开始于在指示步骤90处存储器控制器32向主机处理器48指示请求与DRAM 52的信息交换。存储器控制器通过连接在存储器控制器与主机处理器之间的硬件信号(例如,分立的硬件线路或引脚)来用信号发送该指示。
[0065]在接收到该指示时,在查询步骤94处,主机处理器48将用于查询所请求的信息交换的类型的消息发送至存储器控制器32。该查询消息请求存储器控制器指示其请求是从DRAM读取信息还是将信息存储在DRAM中。
[0066]在发送该查询消息之后,在读出步骤98处,主机处理器48从存储器控制器32读取用于指示所请求的信息交换的类型的数据。例如,该数据指示所请求的操作是从DRAM读取信息还是将信息写入到DRAM。该数据还指示DRAM 52中的用于读取或写入信息的地址范围。当该请求是用于将信息存储在DRAM中时,该数据还包括待存储的信息。
[0067]在执行步骤102处,基于在步骤98处从存储器控制器读取的数据,主机处理器执行所请求的信息交换。如果存储器控制器请求将信息存储在DRAM中,则主机处理器将信息存储在DRAM中所指示的地址处,然后将确认消息发送至存储器控制器。如果存储器控制器请求从DRAM读取信息,则主机处理器从所指示的地址读取信息并且将该信息发送至存储器控制器。
[0068]在另选的实施例中,存储器控制器可使用被包括在主机命令和对应响应中的元数据来经由主机处理器与DRAM交换信息。存储器控制器可通过将元数据添加至被发送至主机系统的响应(例如,读取命令或确认或写入命令的结果)来从DRAM请求信息,或发送用于存储在DRAM中的信息。主机处理器可将所请求的信息作为元数据从DRAM发送至存储器控制器,该元数据被包括在主机系统发送至存储器控制器的读取命令或写入命令中。
[0069]在一些实施例中,存储器控制器和主机处理器交换包括适用的DRAM信息的命令和响应。例如,在存储器控制器读取某个存储页面时,其可将用于读取操作的读取阈值连同读取结果一起发送至主机处理器。作为响应,主机处理器将读取阈值存储在DRAM中。在主机处理器将读取命令发送至存储器控制器时,其可将(从DRAM读取的)适用的读取阈值作为读取命令的一部分发送至存储器控制器。
[0070]尽管本文所描述的实施例主要解决了主机DRAM的使用,但本文所描述的方法和系统可利用任何其他类型的主机存储器,诸如静态RAM(SRAM)。除分配和使用主机存储器之外或者作为另外一种选择,存储器控制器可使用主机的各种其他资源以便访问非易失性存储器。例如,存储器控制器可使用主机中的硬件逻辑电路来执行作为访问非易失性存储器的一部分的各种逻辑操作(例如,XOR操作或比较)。又如,存储器控制器可从主机接收其供电电压。在此类实施例中,主机可将经稳定的、已调节的和/或经滤波的供电电压提供至存储器控制器,使得存储器控制器可使其芯片上的调节、稳定和/或滤波电路最小化。因此,可提高存储器控制器的功率效率,并可降低其热耗散。例如,存储器控制器可从主机接收经调节的1.2V供电电压,而不是接收1.8V或3.3V供电电压并在内部降低该供电电压。
[0071]再如,存储器控制器可调用主机来对从非易失性存储器读取的数据执行干扰消除计算。在此类实施例中,可向主机提供从非易失性存储器读取的一个或多个页面的读取结果以及相邻页面的读取结果。主机然后可基于相邻页面的读取结果来消除读取结果中的干扰,以便产生无干扰的数据。
[0072]再如,可调用主机来执行ECC解码。在一些实施例中,可使用主机的较高的固有计算复杂度和/或使用专用硬件来在主机中实施高性能ECC解码器(例如,软解码器)。在这些实施例中,存储器控制器向主机提供从非易失性存储器读取的码字。然后,主机解码ECC以便重组数据。在示例性实施例中,存储器控制器包括某个ECC解码器,并且主机包括另一个ECC解码器。主机中的解码器比存储器控制器中的解码器更复杂且具有更高的纠错能力。例如,存储器控制器中的解码器可应用硬解码,而主机中的解码器可应用软解码。在这些实施例中,存储器控制器最初尝试使用其本地ECC解码器来对给定码字进行解码。如果初始尝试失败,则存储器控制器调用主机中的更高性能的ECC解码器来对码字进行解码。
[0073]主机辅助的块压缩
[0074]在典型的闪存存储器中,以页面为单位将数据写入到存储器设备28,但向整个存储块应用擦除。由于仅将数据写入到已擦除的页面,因此不可能就地更新数据。更新数据涉及:将已更新的数据写入到闪存存储器中的另一物理存储位置,将数据的先前版本标记为无效,以及动态地更新用于将数据的逻辑地址转换为存储有数据的物理存储位置的逻辑到物理地址映射。
[0075]由于上述特征,存储器设备28的存储块逐渐累积无效数据页面,所述无效数据页面的更新版本已存储在其他物理存储位置中。为了减少无效页面的数目,存储器控制器32的处理器44执行压缩或“垃圾收集”过程。该后台进程选择用于压缩的一个或多个存储块(称为源块),将有效数据从所选择的源块复制到一个或多个其他块(称为目的块)中的其他存储位置,然后擦除源块。所擦除的块然后准备用于后续编程。
[0076]图4为根据本发明实施例的示意性地示出用
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1