固态存储装置中的数据收集及压缩的制作方法

文档序号:6768195阅读:274来源:国知局
专利名称:固态存储装置中的数据收集及压缩的制作方法
技术领域
本发明一般来说涉及存储器装置,且在特定实施例中本发明涉及非易失性存储器
直O
背景技术
在计算机或其它电子装置中存储器装置可包括内部半导体集成电路。存在许多不 同类型的存储器,其包括随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器 (DRAM)、静态RAM(SRAM)、同步动态随机存取存储器(SDRAM)及快闪存储器。快闪存储器装置已发展为用于宽广范围的电子应用的非易失性存储器的普遍源。 快闪存储器装置通常使用允许高存储器密度、高可靠性及低功率消耗的单一晶体管存储器 单元。快闪存储器的常见用途包括个人计算机、个人数字助理(PDA)、数码相机及蜂窝式电 话。例如基本输入/输出系统(BIOS)等程序码及系统数据通常存储于快闪存储器装置中 以供在个人计算机系统中使用。快闪存储器装置的一个缺点是,由于用于编程的物理过程,其通常仅正确操作有 限数量的擦除/编程循环。大多数快闪存储器装置可操作IOOk擦除/编程循环。另一缺点是与其它存储器技术相比存储每一位的成本相对高。因此,需要改善对 快闪存储器阵列中的存储器单元的管理以有效率地尽可能多的使用存储器阵列以使得存 储器区域不会空着。出于上文陈述的原因,且出于下文陈述的所属领域的技术人员在阅读及理解本说 明书之后将明了的其它原因,所属技术领域中需要一种改善非易失性存储器管理的方法。


图1显示存储器系统的一个实施例的框图,其并入有数据收集及数据压缩方法的 一个实施例。图2显示根据图1的存储器阵列的非易失性存储器阵列的一部分的一个实施例的 示意图。图3显示用于执行数据收集及数据收缩的方法的一个实施例的流程图。图4显示用于读取经压缩数据的方法的一个实施例的流程图。
具体实施例方式
在本发明的以下详细描述中,参照形成本发明的一部分且其中以图解说明的方式 显示可实施本发明的具体实施例的附图。在所述图式中,在全部若干视图中相同编号描述 大致类似的组件。充分详细地描述这些实施例以使所属领域的技术人员能够实施本发明。 可利用其它实施例并可在不背离本发明范围的情形下做出结构、逻辑及电方面的改变。因 此,不应以限制意义考虑以下详细描述,且本发明的范围仅由所附权利要求书及其等效物 界定。
图1图解说明包括固态存储装置100的存储器系统120的功能性框图。固态存储 装置100可以是非易失性存储器100,例如快闪存储器。固态存储装置100已被简化以着 重于存储器的有助于理解本编程实施例的特征。固态存储装置100耦合到外部系统控制器 110。控制器110可以是微处理器或某其它类型的控制电路。固态存储装置100包括非易失性存储器单元阵列130,例如在图2中所图解说明且 随后论述的浮动栅极存储器单元。存储器阵列130布置成成排的存取线(例如,字线行) 及数据线(例如位线列)。在一个实施例中,存储器阵列130的列由存储器单元的串联串组 成。如所属技术领域中所众所周知,单元到位线的连接确定阵列是NAND架构、AND架构还 是NOR架构。可将存储器阵列130组织成存储器块。存储器块的数量通常由存储器装置的大小 (即,512MB、Kffi)确定。在一个实施例中,每一存储器块由64个存储器单元页形成。每一 页通常由2048个数据字节组成。存储器控制电路170可包括压缩/解压缩块190/与其协作以便可压缩正被写入 到阵列130的未被压缩数据及可解压缩从阵列130读取的经压缩数据。压缩/解压缩190 可通过执行这些任务的硬件电路来实现。替代实施例通过固件例行程序执行压缩/解压缩 190。提供易失性存储器区域(例如,DRAM) 191以暂时存储数据。控制器110使用易 失性存储器来暂时存储待写入到存储器阵列130的数据,暂时存储从存储器阵列读取的数 据,及存储由存储器控制电路170使用的其它数据。举例来说,如随后所描述,压缩/解压 缩块190可使用易失性存储器191来存储数据。提供地址缓冲器电路140以锁存经由I/O电路160提供的地址信号。由行解码器 144及列解码器146接收并解码地址信号以存取存储器阵列130。得益于本描述,所属领域 的技术人员将了解,地址输入连接的数目取决于存储器阵列130的密度及架构。也就是说, 所述地址的数目随着存储器单元计数的增加及库与块计数的增加而增加。固态存储装置100通过使用感测放大器电路150感测存储器阵列列中的电压或电 流改变来读取存储器阵列130中的数据。在一个实施例中,感测放大器电路150经耦合以 读取且锁存来自存储器阵列130的行数据。包含数据输入及输出缓冲器电路160以用于经 由多个数据连接162与控制器110进行双向数据通信以及地址通信。提供写入电路155以 将数据写入到存储器阵列。存储器控制电路170解码从控制器110提供的控制连接172上的信号。这些信号 用于控制对存储器阵列130的操作,包括数据读取、数据写入(编程)及擦除操作。存储器 控制电路170可以是产生存储器控制信号的状态机、定序器或某其它类型的控制器。控制 电路170经配置以执行随后论述的数据收集操作。另外,如果压缩/解压缩操作190是固 件例行程序,那么存储器控制电路170经配置以执行压缩/解压缩以及图3的方法的实施 例。图2图解说明NAND架构存储器阵列130的一部分的示意图,其包含可对其操作随 后论述的数据收集及压缩/解压缩的实施例的非易失性存储器单元的串联串。尽管随后论 述参照NAND存储器装置,但本实施例并不限于此种架构,而是也可用于其它存储器装置架 构中。
存储器阵列由配置成列(例如,串联串204、205)的非易失性存储器单元130(例 如,浮动栅极)阵列组成。在每一串联串204、205中,以漏极到源极的方式耦合单元130的 每一者。横跨多个串联串204、205的字线Wi)到WL31连接到行中的每一存储器单元的控 制栅极以给所述行中的存储器单元的控制栅极加偏压。位线BL1、BL2最终连接到感测放大 器(未显示),所述感测放大器通过感测特定位线上的电流来检测每一单元的状态。每一存储器单元串联串204、205通过源极选择栅极216、217耦合到源极线206且 通过漏极选择栅极212、213耦合到个别位线BL1、BL2。所述源极选择栅极216、217由耦合 到其等控制栅极的源极选择栅极控制线SG(S)218来控制。漏极选择栅极212、213由漏极 选择栅极控制线SG(D)214来控制。每一存储器单元可作为单电平单元(SLC)或多电平单元(MLC)进行编程。每一单 元的阈值电压(Vt)指示存储于所述单元中的数据。举例来说,在SLC中,0.5V的Vt可指示 经编程单元而-0. 5V的Vt可指示经擦除单元。MLC可具有多个Vt范围,每一范围指示不同 状态。多电平单元可通过将位图案指派给存储于单元上的特定电压范围来利用传统快闪单 元的模拟性质。取决于被指派给单元的电压范围的数量,此技术准许每单元存储两个或更 多个位。数据压缩(在所属技术领域中也称为源译码)是将原始数据串转变成新数据串的 过程,所述新数据串包含与所述原始串相同或大致相同的信息,但其长度是减小的。数据压 缩可以是有损的或者无损的。无损数据压缩在使用较少位的同时保留相同原始信息。此类型的数据压缩通常不 能实现与有损压缩等量的压缩,但用于如在程序源码中那样不能容忍数据损耗的情形中。 典型无损数据压缩算法的实例包括Lempel-Ziv (LZ)压缩、DEFLATE、PKZIP及GZIP。本发明 的实施例不受限于任一类型的压缩/解压缩。图3图解说明用于数据收集及压缩的方法的一个实施例的流程图。数据收集操作 确定哪些存储器页及/或存储器块仅部分编程301有有效数据(有效数据可以是实际上应 编程于所述特定页中且还未移动到另一位置的经编程信息)。此可通过读取页/块以确定 哪些仅部分地被编程来实现。在另一实施例中,所述经部分编程的页/块可在来自所述页 /块的数据的部分被移动时被识别(例如,被用旗标标记)。在此实施例中,可在页或块状 态寄存器中设定位,其指示所述页/块的仅一部分保留有效数据。稍后,读取操作仅必须读 取所述状态位以找到经部分编程的页/块。通常三种情况可导致存储器页及存储器块部分地被编程。导致经部分编程的存储 器页的一个原因是未发生足够写入业务来填充存储器页且控制器写入其具有的数据以使 得存储装置可向系统发信号通知操作完成。导致经部分编程的存储器页的另一原因是将一 片数据写入到装置上的逻辑块,而相同逻辑块已包含于先前经写入页中。尽管先前经写入 块现在是标记为“无效”,但由于所述页现在在其内具有可利用的空点且因此仍为数据收集 候选者。最后,较不常见情况是系统将命令发送到装置,指令所述装置使逻辑块无效。如果 所述逻辑块是先前填充页的一部分,那么此页现在是数据收集候选者。这些操作可留下仅用未被移动的有效数据部分编程的页或块。数据收集提供读取 存储器内容的机会且使压缩成为后台任务。读出这些经部分编程的存储器页/块中的有效数据302。将所读取数据302输入到压缩块且同时输入到固态存储装置的DRAM。压缩数据所述303且将其暂时存储于DRAM 的不同区中。可使用上文所描述的压缩例行程序的一者或可使用某其它压缩例行程序。可 在硬件或者软件中实现所述压缩。在传送完成时,评估所述压缩以确定数据是否可压缩304。如果数据是不可压缩的 305,那么将未经压缩数据写入到存储器页306。如果数据是可压缩的305,那么将经压缩数据与其它经压缩数据组合以填充存储 器页307。在一个实施例中,一个存储器页可包含相当于两页的数据。将经压缩数据用旗标标记为经压缩308以便当对其进行读取时,可将其识别为经 压缩数据以进行解压缩。此种旗标可包括存储器阵列的单独存储器位置(例如,DRAM翻译 表)或是存储器控制电路的部分的寄存器中的位指示。与经压缩数据相关联的压缩类型也 可由在存储器位置/寄存器中的类似位或多位指示来指示。在另一实施例中,压缩写入到 存储器阵列的所有数据以使得读取操作解压缩所有所读取数据。图4图解说明用于从固态存储装置读取数据的方法的一个实施例。首先从存储器 单元读取数据401。此可通过在以数字方式操作的存储器阵列中从每一单元读取数字图案 或在以模拟方式操作的存储器阵列中确定每一被读取存储器单元的阈值电压来实现。接着确定所读取数据在写入时已被压缩403还是所述数据已经处于未经压缩格 式。如先前所论述,可假设所有所读取数据处于压缩格式,因此要求针对所有所读取数据解 压缩,或需要针对相关联数据读取压缩指示位。在一个实施例中,也可确定所使用的压缩算 法的类型,以便在解压缩期间可使用相同解压缩算法。如果数据已被压缩405,那么接着根据用于压缩其的压缩算法解压缩407,且将经 解压缩数据传送到请求例行程序411。如果所述数据以未经压缩状态存储405,那么以与读 取相同的形式传送所读取数据411。结论总的来说,一个或一个以上实施例通过读取残留于经部分编程的存储器块中的有 效数据且将所述有效数据分组在一起来执行数据收集,压缩所述有效数据,且将其存储于 新存储器块中以使得所述新存储器块被填充。接着擦除所述经部分编程块且将其返回以供 将来使用。此有效数据的覆写通常称为写入放大,因为与写入到存储器装置中的原始数据 的量相比实际发生的写入量被放大。所得增加的存储器容量通过扩展由存储器控制电路执 行的耗损均衡来减小写入放大。尽管本文已图解说明及描述具体实施例,但所属领域的技术人员将了解,任何经 计算以达成相同目的的配置均可替代所示具体实施例。所属领域的技术人员将明了本发明 的许多修改。因此,此申请案打算涵盖本发明的任何修改或变化形式。本发明明确地打算 仅由以上权利要求书及其等效物限定。
权利要求
1.一种用于固态存储装置中的数据收集及压缩的方法,所述方法包含从用有效数据部分编程的存储器页收集数据;压缩所述所收集的数据;及将所述经压缩数据编程到所述固态存储装置。
2.根据权利要求1所述的方法,其中收集数据包含从经部分编程的存储器块收集数据。
3.根据权利要求1所述的方法,其中编程所述经压缩数据包含将所述经压缩数据编程 到所述固态存储装置的不同页。
4.根据权利要求1所述的方法,且其进一步包含通过在存储器位置中设定与所述经压 缩数据相关联的位来识别所述经压缩数据。
5.根据权利要求1所述的方法,且其进一步包括从所述固态存储装置读取数据;及解压缩所述数据。
6.根据权利要求1所述的方法,其中编程所述经压缩数据包含进行编程以使得不发生 对存储器页的部分编程。
7.根据权利要求6所述的方法,其中压缩所述所收集的数据包含使用GZIP算法来压缩 所述所读取数据。
8.根据权利要求7所述的方法,且其进一步包括从所述固态存储装置读取所述经压缩 数据且使用Lempel-Ziv(LZ)压缩、DEFLATE、PKZIP及GZIP中的一者来解压缩所述经压缩 数据。
9.根据权利要求1所述的方法,且其进一步包括识别在压缩所述所收集的数据中使用 的压缩算法的类型。
10.根据权利要求1所述的方法,且其进一步包括在从所述经部分编程的存储器页读 取所述数据之后擦除所述经部分编程的存储器页。
11.根据权利要求1所述的方法,且其进一步包括当从第一存储器页移动数据时产生 仅用有效数据部分编程所述第一存储器页的指示。
12.根据权利要求1所述的方法,且其进一步包括在编程回到所述固态存储装置之前 将所述经压缩数据与其它经压缩数据组合。
13.一种存储器装置,其包含存储器阵列,其组织成多个存储器页及块;及存储器控制电路,其耦合到所述存储器阵列,所述存储器控制电路用于控制所述存储 器装置的操作,所述存储器控制电路经配置以读取所述存储器阵列以找到经部分编程的页 或块、从所述经部分编程的页或块读取数据、压缩所述所读取数据且将所述经压缩数据编 程到所述存储器阵列的替代位置。
14.根据权利要求13所述的存储器装置,其中所述存储器阵列为NAND架构快闪存储器 阵列。
15.根据权利要求13所述的存储器装置,其中每一存储器块由多个存储器页组成。
16.根据权利要求13所述的存储器装置,其中所述存储器控制电路进一步经配置以产 生所述所读取数据已被压缩的指示且将所述指示编程于存储器中。
17.根据权利要求13所述的存储器系统,其中所述存储器控制电路进一步经配置以通 过响应于对一个逻辑地址的写入操作而将所述经压缩数据写入到多个物理地址来执行耗 损均衡。
18.根据权利要求13所述的存储器系统,其中所述存储器控制电路进一步经配置以擦 除所述经部分编程的存储器块。
19.根据权利要求13所述的存储器系统,其中所述存储器控制电路进一步经配置以读 取压缩类型的指示且响应于所述压缩类型的所述指示而解压缩所述经压缩数据。
全文摘要
本发明揭示用于将经压缩数据编程到存储器阵列、存储器装置及存储器系统的方法。在一个此种方法中,找到用有效数据部分编程的存储器页或块。从这些经部分编程的页或块收集所述数据且对所述数据进行压缩。接着将所述经压缩数据编程回到所述存储器装置的所述存储器阵列中的不同位置。
文档编号G11C16/34GK102089828SQ200980126981
公开日2011年6月8日 申请日期2009年6月25日 优先权日2008年7月10日
发明者迪安·克莱因 申请人:美光科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1