存储系统及其操作方法_2

文档序号:9929474阅读:来源:国知局
示)。
[0049]主机接口单元132处理主机102的命令和数据,以及可以通过各种接口协议诸如通用串行总线(USB)、多媒体卡(MMC)、外围部件互连-快速(PC1-E)、串行SCSI (SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型盘接口(ESDI)以及集成驱动电路(IDE)中的至少一种来与主机102通信。
[0050]在读取存储器件150中所储存的数据时,ECC单元138检测并校正从存储器件150中读取的数据中包含的错误。也即,在执行用于从存储器件150读取的数据的错误校正解码之后,ECC单元138可以确定错误校正解码是否已经成功、根据确定结果输出指示信号以及通过使用在ECC编码过程中产生的奇偶校验位来校正读出数据的错误位。如果出现错误位的数目等于或大于可校正错误位的阈值,则ECC单元138不能校正错误位,并可以输出表示不能够校正错误位的错误校正失败信号。
[0051]ECC单元138可以通过低密度奇偶校验检查(LDPC)码、Bose-Chaudhur1-Hocquenghem(BCH)码、turbo 码、Reed-Solomon 码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)来执行错误校正。ECC单元138可以包括用于错误校正的所有电路、系统或器件。
[0052]当存储器件150是闪速存储器(例如,NAND (与非)闪速存储器)时,作为控制器130和存储器件150之间的存储接口的NFC 142允许控制器130响应于来自主机102的请求以控制存储器件150、产生用于存储器件150的控制信号以及根据处理器134的控制来处理数据。
[0053]作为存储系统110和控制器130的工作存储器的存储器144储存用于驱动存储系统110和控制器130的数据。具体地,其时控制器130响应于来自主机102的请求来控制存储器件150。例如,其时控制器130将从存储器件150读取的数据提供给主机102,并将由主机102提供的数据储存在存储器件150中,而出于此目的,当控制器130控制存储器件150的诸如读取、写入、编程以及擦除操作的操作时,存储器144储存以允许此种操作在控制器130和存储器件150之间执行所需要的数据。
[0054]存储器144可以由诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器形成。如上所述,存储器144储存以执行主机102和存储器件150之间的数据读取和写入操作所需的数据以及执行数据读取和写入操作所用的数据。对于数据的此种储存,存储器144可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
[0055]处理器134控制存储系统110的常规操作,以及响应于来自主机102的写入请求或读取请求来控制对存储器件150的写入操作或读取操作。处理器134驱动称作闪存转换层(FTL)的固件以控制存储系统110的常规操作。处理器134可以由微处理器或中央处理单元(CPU)形成。
[0056]协议单元储存并管理用于控制器130响应于来自主机102的请求以控制存储器件150的协议。PMU 140提供并管理用于控制器130的电源。
[0057]图2是图1中所示的存储器件150的细节图。
[0058]参见图2,存储器件150包括多个存储块,例如第零块(BLOCKO) 210、第一块(BLOCKl) 220、第二块(BL0CK2) 230 以及第 N-1 块(BL0CKN-1) 2400 块 210、220、230 和 240的每个包括多个页,例如2M个页(2 mPAGES)。虽然出于方便的目的描述了每个存储块可以包括2M个页,但要注意,每个存储块可以包括M个页。每个页包括多个存储单元,多个字线电耦接到所述多个存储单元。
[0059]存储块210、220、230和240中的每个储存通过写入操作而由主机设备102提供的数据,以及通过读取操作来将储存的数据提供给主机102。
[0060]图3是包括图2中所示的存储块的存储器件300的细节图。图3示出存储器件300的存储单元阵列电路。
[0061]参见图3,在存储系统110中,存储器件300的存储块330可以包括分别电耦接到位线BLO到BLm-1的多个单元串340。每个列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。在选择晶体管DST和SST之间可以串联地电耦接多个存储单元晶体管MCO到MCn-1。各存储单元MCO到MCn-1可以包括多电平单元(MLC),每个多电平单元储存多位的数据信息。串340可以分别电耦接到对应的位线BLO到BLm-1。
[0062]作为参考,可以在存储单元MCO到MCn-1中的每个中储存单位数据,或者可以储存两位或更多位的多位数据。储存单位数据的单电平单元(SLC)型非易失性存储器件根据阈值电压分布而具有擦除状态和编程状态。储存多位数据的多电平单元(MLC)型非易失性存储器件根据阈值电压分布而具有擦除状态和编程状态。在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,而“CSL”表示公共源线。
[0063]虽然图3示出由NAND (与非)闪速存储单元形成的存储块330作为例子,但需要注意的是存储器件300的存储块330可以由NOR(或非)闪速存储器、包括组合的至少两种存储单元的杂合闪速存储器或包括内置于存储芯片中的控制器的One-NAND闪速存储器形成。半导体器件的操作特性不仅可以应用到其中电荷储存层由导电浮栅组成的闪速存储器件,还可以应用到其中电荷储存层由介电层组成的电荷撷取闪速存储器(CTF)。
[0064]存储器件300的电压供应块310可以提供根据操作模式要供应给相应的字线的字线电压(例如编程电压、读取电压和通过电压)以及提供要供应给块体(例如,形成存储单元的阱区)的电压。可以通过控制电路(未示出)的控制而执行电压供应块310的电压产生操作。电压供应块310可以产生多个可变读取电压以产生多个读取数据,在控制电路的控制下选择存储单元阵列的存储块(或扇区)中的一个,选择选中的存储块的字线中的一个,以及将字线电压提供给选中的字线和未选中的字线。
[0065]存储器件300的读取/写入电路320由控制电路控制,且可以根据操作模式而作为感测放大器或写入驱动器来操作。例如,在验证/正常读取操作中,读取/写入电路320可以作为用于从存储单元阵列读取数据的感测放大器来操作。同样,在编程操作中,读取/写入电路320可以作为写入驱动器而操作,所述写入驱动器根据要储存在存储单元阵列中的数据来驱动位线。在编程操作中读取/写入电路320可以从缓冲器(未示出)接收要写入到存储单元阵列中的数据,以及可以根据输入的数据来驱动位线。出于此目的,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页缓冲器(PB) 322、324和326,以及在页缓冲器322、324和326中的每个中可以包括多个锁存器(未示出)。
[0066]图4是用于描述存储系统的顺序读取操作的图。
[0067]总体而言,当由主机请求顺序读取操作时,存储系统基于物理地址来执行预期读取操作。
[0068]详细地,顺序读取操作是控制存储系统以将数据页连续地输出预设次数的操作。
[0069]参见图4,当根据顺序读取操作要连续执行12次读取操作时,根据一个顺序读取命令来执行12个读取操作以顺序地输出数据,而并非通过各读取操作的独立控制来输出数据。
[0070]如此的顺序读取操作使得能够实现预期读取操作,因而相比于单独地控制各读取操作,可以快速地输出数据。
[0071]由于在顺序读取操作中要执行读取操作预设次数,故可以执行预期读取操作。在预期读取操作中,有高可能性被读取的数据(即,预期要在随后的读取操作中输出的数据)被预先读取并储存在页缓冲器中,然后以数据输出时序输出储存的数据而不延迟。
[0072]由于在预定条件下顺序读取操作具有连续地顺序读取数据的高可能性,故如果恰当地满足预定条件时,预期可以是可能的。相反地,因为每当执行读取操作时用于期望数据的预定条件可以完全改变,故即使执行预期读取操作,常规读取操作也可能是无效的。
[0073]同时,一般以如此方式执行预期读取操作,其中,预先读取基于“物理地址”而与当前读取的数据相邻的数据。这是因为在顺序读取操作中,在连续的读取操作期间很有可能从物理相邻页读取数据。此外,等待用于将从外部应用的逻辑地址转换成物理地址的时间而然后读取与转换的物理地址相对应的数据的操作不是“预期读取操作”而是“常规读取操作”。
[0074]当在存储系统中包括4个存储芯片Chipl、Chip2、Chip3和Chip4以及在顺序读取操作中输入12个顺序逻辑地址LAl到LA12时,执行在其中响应于与顺序逻辑地址LAl到LA12中的在前的4个逻辑地址相对应的4个物理地址PAl到PA4而分别从4个存储芯片Chipl、Chip2、Chip3和Chip4输出第一数据1、2、3和4的操作。
[0075]在从相应的4个存储芯片Chipl、Chip2、Chip3和Chip4输出第一数据1、2、3和4的操作完全执行之后,在用于将用于选择要输出的第二数据5、6、7和8的逻辑地址LA5到LA8转换成物理地址PA5到PA8的时间期间执行预期读取操作。在预期读取操作中,从与已经指定第一数据1、2、3和4的物理地址PAl到PA4相邻的物理地址PA5到PA8来读取第二数据5、6、7和8并储存在4个存储芯片Chipl、Chip2、Chip3和Chip4的对应的页缓冲器中。
[0076]如果第一数据1、2、3和4以及第二数据5、6、7和8实际上具有相邻的物理地址,则预期读取已经成功。相应地,在不执行额外的读取操作而仅核查从用于选择第二数据5、
6、7和8的逻辑地址LA5到LA8转换来的物理地址PA5到PA8是否与在预期读取中使用的物理地址PA5到PA8相同之后,可以将储存在4个存储芯片Chipl、Chip2、Chip3和Chip4的对应的页缓冲器中的数据原样输出。
[0077]接下来,在用于将用于选择次于(following)第二数据5、6、7和8而要输出的第三数据9、10、11和12的逻辑地址转换成物理地址PA25、PA26、PAll和PA12的时间期间执行预期读取操作。在预期读取操作中,从与已经指定第二数据5、6、7和8的物理地址PA5到PA8相邻的物理地址PA9到PA12来读取第三数据9、10、11和12并储存在4个存储芯片Chipl、Chip2、Chip3和Chip4的相应的页缓冲器中。
[0078]另一方面,如果第二数据5、6、7和8与第三数据0LD9、0LD10U1和12的物理地址实际上不相邻,则预期读取已经失败。相应地,将通过使用仅核查从用于选择第三数据0LD9、0LD10、11和12的逻辑地址LA9到LA12转换来的物理地址PA25、PA26、PAll和PA12是否与在预期读取中使用的物理地址PA9到PA12相同的结果来通过预期读取而读取并储存在4个存储芯片Chipl、Chip2、Chip3和Chip4的对应的页缓冲器中的数据被忽略,以及在使用完全转换的物理地址PA25、PA26、PAll和PA12而执行的读取操作之后,由此读取的第三数据NEW9、NEfflOUl和12被输出。
[0079]如上所述,当在存储系统中预期读取操作已经成功时,由于“用于将逻辑地址转换成物理地址的时间”和“用于读取数据以储存在页缓冲器中的时间”可以相互重叠,故提供了改善的效率。然而,当预期读取操作已经失败时,由于通过预期读取而预先读取的数据被忽略,导致已被执行的不必要的读取操作。
[0080]在存储系统中,根据预期读取操作已经成功还是失败可以显著地改变数据读取操作的性能。因此,输入/输出数据应当被储存为具有连续的物理地址以增加预期读取操作成功的可能性。
[0081]不管怎样,越多的数据输入/输出和数据擦除频繁地出现在存储系统中,则越多的数据的物理地址成碎片。因此,使得输入/输出数据具有连续的物理地址是困难的。
[0082]作为参考,做出上面的描述是假定以对应于4个页的数据为单位来执行预期读取操作的。然而,需要注意的是,可以以比与4个页相对应的数据的单位更小或更大的数据为单位来执行预期读取操作。
[0083]图5是图示根据一个实施例的存储系统的框图。图5示出用于执行顺序读取操作的存储系统的配置,所述配置是基于图1中所示的存储系统的配置。
[0084]参见图5,存储系统可以包括多个存储芯片10、20、30和40、地址表500、目标表530、选择输出块510以及预期读取块520。在各存储芯片10、20、30和40中,包括存储区12、22、32和42以及页缓冲器14、24、34和44。同样,在地址表500中,包括用于储存逻辑地址的空间501以及用于储存物理地址的空间502。而且,在目标表530中,包括用于储存顺序逻辑地址TLA〈1:12>的空间531和用于储存顺序物理地址TPA〈1:8,25,26,11,12>的空间532。再者,在预期读取块520中,包括预期地址选择单元522和读取操作单元524。
[0085]图示了包括在存储芯片10、20、30和40中的4个存储芯片,即第一存储芯片10、第二存储芯片20、第三存储芯片30和第四存储芯片40。相应地,在第一存储芯片10中包括第一存储区12和第一页缓冲器14。在第二存储芯片20中包括第二存储区22和第二页缓冲器24。在第三存储芯片30中包括第三存储区32和第三页缓冲器34。在第四存储芯片40中包括第四存储区42和第四页缓冲器44。当然,与图示不同,在存储芯片10、20、30和40中可以包括数目大于4的存储芯片,以及在存储芯片10、20、30和40中可以包括数目小于4的存储芯片。
[0086
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1