存储器系统的回拷优化的制作方法

文档序号:6594130阅读:182来源:国知局
专利名称:存储器系统的回拷优化的制作方法
技术领域
本发明总地涉及存储器系统。
背景技术
闪存是一类电可擦除可编程只读存储器(EEPROM)。因为闪存是非易失性的并且 相对密集,所以它们被用于在手持式计算机、移动电话、数字相机、便携式音乐播放器以及 许多其他不适合用其他存储方案(例如磁盘)的设备中存储文件和其他持久性对象。当闪 存中存储的数据被处理时,数据页被从闪存中读出被存储在寄存器中。寄存器内容被传送 到该非易失性存储器外部的控制器以便处理。经处理的数据页(data page)被放回寄存器 中,以便经处理的数据页可被写回到闪存。

发明内容
在针对非易失性存储器子系统的回拷(copyback)或读取操作中,数据页改变指 示符(indicator)被用于管理数据页在非易失性存储器中的寄存器与非易失性存储器外 部的控制器之间的传送。


图IA是用于实现优化的回拷过程的一种示例性存储器系统的框图。图IB是用于实现优化的回拷过程的另一示例性存储器系统的框图。图2是用于计算和存储被图IA和IB的存储器系统使用的数据改变指示符的示例 性优化回拷过程200的流程图。图3A-3C是由图IA和IB的存储器系统实现的示例性优化回拷过程的流程图。图4是由图IA和IB的存储器系统实现的示例性优化读取操作的流程图。图5示出了图3A-3C的回拷过程所使用的示例性数据结构。
具体实施例方式存储器子系统的示例图IA是用于实现优化的回拷过程的一种示例性存储器系统100的框图。在一些实 现方式中,系统100可包括通过外部总线122(例如,开放式NAND闪存接口(0NFI),ATA)耦 合到主机设备1 的存储器子系统102。主机设备IM可以是任何电子设备,包括但不限于 智能电话、媒体播放器、文本消息传递设备、便携式计算机、固态驱动器、数字相机等等。存 储器子系统102可以是任何非易失性存储器子系统(例如,管理型NAND (managed NAND))。主机设备IM可包括片上系统(SoC) 126和易失性存储器128。SoC126可包括用 于与存储器子系统102交互的硬件和软件,所述交互例如是发送由在主机设备IM上运行 的应用做出的读取和写入请求。存储器子系统102可包括非易失性存储器104(也称为“原始存储器”)和外部控制器116。存储器104可包括存储单元阵列106、内部状态机108、存储器寄存器110以及数 据改变指示符(data change indicator, DCI)130。外部控制器116可包括处理器118、易 失性存储器114以及差错校正码(ECC)引擎120。存储器子系统102的其他配置也是可能 的。例如,在存储单元阵列106与存储器寄存器110之间的数据路径中可包括缓存寄存器, 以使得内部状态机可以在通过内部总线112向控制器116传送当前页的同时从存储单元阵 列106读取下一数据页。图IB是用于实现优化的回拷过程的另一示例性存储器系统130的框图。系统130 只示出了存储器子系统102,其操作已参考图IA描述。回拷操作回拷可以是用于将数据从一页移动到另一页的存储器子系统命令。回拷可用于损 耗均衡(wear leveling)和其他非易失性存储器管理操作中。在典型的回拷操作中,一数 据页被内部状态机从存储单元阵列106中读取并被存储在存储器寄存器110中。外部控制 器116从存储器寄存器110中读取或钟控出该数据页,以使得处理器118可以对该数据页 执行期望的操作(例如,ECC操作)。经处理的数据页可以被控制器116写回到存储器寄存 器110。内部状态机108可以将存储器寄存器110的内容写入到存储单元阵列106中的新 数据页中。通过避免将存储器寄存器110的全部内容传送到外部控制器116,可以减少处理 时间和功率消耗。用于写入新数据页的示例性过程图2是用于计算和存储被图IA和IB的存储器系统使用的数据改变指示符的示例 性优化回拷过程200的流程图。在一些实现方式中,过程200可以在新的数据页被传送到存 储器子系统的存储器寄存器中时(202)开始。可以为该数据页计算DCI并将其存储在存储 器子系统中004)。数据改变指示符的一些示例可包括差错检测码(EDC),包括但不限于 校验和、汉明码、奇偶位、循环冗余校验(CRC)、极性符号反转、Turbo码,等等。EDC也可以 是诸如Reed-Solomon码、Reed-Muller码、二进制Golay码和低密度奇偶校验码之类的ECC 的一部分。在计算和存储DCI之后,可将寄存器内容写入到非易失性存储器006)。DCI可 用于参考图3A-3C描述的优化回拷过程。示例性优化回拷过程图3A-3C是由图IA和IB的存储器系统实现的示例性优化回拷过程的流程图。在 一些实现方式中,过程300可以通过从非易失性存储器(例如,存储单元阵列106)中读取 数据页并将该数据页存储在存储器寄存器(例如,寄存器110)中(302)而开始。可以为存 储器寄存器中的数据页核对DCI (例如DCI 130) (304)。在一些实现方式中,DCI可以预先 在该数据页首次被写入到非易失性存储器(例如,利用过程200)时被计算并存储在存储器 子系统中。在其他实现方式中,DCI可以作为单独的操作或者作为读取操作的一部分“实 时”计算。存储器子系统可以向外部控制器(例如,外部控制器116)报告读取操作已完成 (306)。如果寄存器中的数据页的DCI表明该数据页已改变(308),则可将该数据页传送 到外部控制器(310),可以为该数据页计算ECC (312),并且可以在外部控制器中校正该数 据页的ECC信息(314)。可以将数据页和相关联的ECC传送回存储器寄存器(316)。可以 为存储器寄存器中的数据页计算新的DCI (318)。
如果寄存器中的数据页的DCI表明该数据页没有改变(308),则为与该数据页相 关联的新的元数据计算ECC (320)。可以将新元数据和相关联的ECC传送到存储器寄存器 (322)。可以为存储器寄存器中的元数据计算新的DCI (324)。可以将存储器寄存器内容写 入到非易失性存储器中的新数据页(3 )。优化读取操作图4是由图IA和IB的存储器系统实现的示例性优化读取操作的流程图。在一些 实现方式中,过程400可以通过从非易失性存储器中读取数据页并且将该数据页存储在存 储器寄存器中(40 而开始。与该数据页相关联的预先计算的DCI可以被从存储器子系统 中的一存储位置钟控到存储器寄存器中并被核对004)。也可以“实时”计算DCI。可以读 取DCI的状态以判定该数据页是否已改变006)。如果该数据页已改变(408),则可以计算与该数据页相关联的新元数据的ECC并 将其与该新元数据一起传送到存储器寄存器G12)。可以为存储器寄存器中的元数据计算 新的DCI并且可将寄存器内容写入到非易失性存储器中的新数据页(414)。如果该数据页没有改变008),则可将存储器寄存器内容传送到外部控制器并且 外部控制器可以计算ECC(410)。外部控制器可以计算与该数据页相关联的新元数据的ECC 并将其与新元数据一起传送到存储器寄存器G12)。可以为存储器寄存器中的元数据计算 新的DCI并且可将寄存器内容写入到非易失性存储器中的新数据页014)。示例性数据结构图5示出了图3A-3C的回拷过程所使用的示例性数据结构。在所示出的示例中, 非易失性存储器中的数据页500包括元数据502、元数据ECC504、数据506和数据ECC 508。 如果数据没有改变,则只有元数据502和元数据ECC 504被从寄存器传送到外部控制器510 以便处理。经处理的元数据502和元数据ECC 504被传送回存储器子系统并存储在存储器 寄存器中。该数据页可被写入到非易失性存储器(例如,存储单元阵列)中的新数据页。已经描述了若干实现方式。然而,应理解,可以进行各种修改。例如,一个或多个实 现方式的要素可以被组合、删除、修改或补充以形成其他实现方式。作为另一示例,附图中 示出的逻辑流程并不要求按所示出的特定顺序或者先后顺序才能实现期望的结果。此外, 可以提供其他步骤,或者可以从所描述的流程中去除步骤,并且可以添加其他组件,或从所 描述的系统中去除组件。因此,其他实现方式在权利要求的范围内。
权利要求
1.一种方法,包括从存储器子系统的非易失性存储器获得数据页; 判定所述数据页是否改变了 ;以及 如果所述数据页改变了, 则将所述数据页发送到控制器以便处理; 如果所述数据页未改变,则将与所述数据页相关联的元数据发送到所述控制器以便处理。
2.如权利要求1所述的方法,其中判定所述数据页是否改变了还包括 读取所述数据页的数据改变指示符。
3.如权利要求2所述的方法,其中所述数据改变指示符与差错检测码相关联。
4.如权利要求1所述的方法,其中判定所述数据页是否改变了还包括 为所述数据页计算数据改变指示符;以及基于所述数据改变指示符来判定所述数据页是否改变了。
5.一种系统,包括 适合于耦合到控制器的接口; 非易失性存储器;耦合到所述非易失性存储器和所述接口的处理器,该处理器可操作以用于从所述非易 失性存储器获得数据页;判定所述数据页是否改变了 ;以及 如果所述数据页改变了,则将所述数据页通过所述接口发送到所述控制器以便处理; 如果所述数据页未改变,则将与所述数据页相关联的元数据通过所述接口发送到所述控制器以便处理。
6.如权利要求5所述的系统,其中判定所述数据页是否改变了还包括 读取所述数据页的数据改变指示符。
7.如权利要求6所述的系统,其中所述数据改变指示符与差错检测码相关联。
8.如权利要求5所述的系统,其中判定所述数据页是否改变了还包括 为所述数据页计算数据改变指示符;以及基于所述数据改变指示符来判定所述数据页是否改变了。
9.一种方法,包括从耦合到控制器的存储器子系统的非易失性存储器获得数据页和相关联的元数据;将所述数据页存储在所述存储器子系统的寄存器中;将所述数据页和相关联的元数据从所述寄存器发送到所述控制器以便处理;从所述控制器接收经处理的数据页和相关联的元数据;判定所述经处理的数据页是否改变了;如果所述经处理的数据页改变了,则将所述经处理的数据页和相关联的元数据写入到所述存储器子系统中的所述寄存器;如果所述经处理的数据页未改变,则将所述相关联的元数据写入到所述存储器子系统中的所述寄存器;以及 将所述寄存器的内容写入到所述非易失性存储器。
10.如权利要求9所述的方法,其中判定所述经处理的数据页是否改变了还包括 读取所述经处理的数据页的数据改变指示符。
11.如权利要求10所述的方法,其中所述数据改变指示符与差错检测码相关联。
12.如权利要求9所述的方法,其中判定所述经处理的数据页是否改变了还包括 为所述经处理的数据页计算数据改变指示符;以及基于所述数据改变指示符来判定所述经处理的数据页是否改变了。
13.一种系统,包括 适合于耦合到控制器的接口; 非易失性存储器;耦合到所述非易失性存储器和所述接口的处理器,该处理器可操作以用于从耦合到所 述控制器的存储器子系统的非易失性存储器获得数据页和相关联的元数据; 将所述数据页存储在所述存储器系统的寄存器中;将所述数据页和相关联的元数据从所述寄存器通过所述接口发送到所述控制器以便 处理;通过所述接口从所述控制器接收经处理的数据页和相关联的元数据; 判定所述经处理的数据页是否改变了; 如果所述经处理的数据页改变了,则将所述经处理的数据页和相关联的元数据传送到所述存储器子系统中的所述寄存器;如果所述经处理的数据页未改变,则将经处理的元数据传送到所述存储器子系统中的所述寄存器;以及 将所述寄存器的内容写入到所述非易失性存储器。
14.如权利要求13所述的系统,其中判定所述经处理的数据页是否改变了还包括 读取所述经处理的数据页的数据改变指示符。
15.如权利要求14所述的系统,其中所述数据改变指示符与差错检测码相关联。
16.如权利要求13所述的系统,其中判定所述经处理的数据页是否改变了还包括 为所述经处理的数据页计算数据改变指示符;以及基于所述数据改变指示符来判定所述经处理的数据页是否改变了。
17.一种系统,包括用于从存储器子系统的非易失性存储器获得数据页的装置; 用于判定所述数据页是否改变了的装置;以及 如果所述数据页改变了,用于将所述数据页发送到控制器以便处理的装置; 如果所述数据页未改变,用于将与所述数据页相关联的元数据发送到所述控制器以便处理的装置。
全文摘要
在针对非易失性存储器子系统的回拷或读取操作中,数据页改变指示符被用于管理数据页在非易失性存储器中的寄存器与非易失性存储器外部的控制器之间的传送。
文档编号G06F11/10GK102077176SQ200980125299
公开日2011年5月25日 申请日期2009年4月1日 优先权日2008年4月30日
发明者尼尔·雅各布·瓦卡拉特, 马克·阿兰·赫尔姆 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1