存储系统的操作方法_2

文档序号:9930312阅读:来源:国知局
压和通过电压的字线电压提供给各个字线,并且可提供要供应给其中形成有存储单元的例如阱区的主体的电压。电压供应电路230的电压产生操作可在控制逻辑220的控制下执行。电压供应单元230可产生多个可变读取电压,用来产生多个读取数据。
[0041]行译码器240可选择存储块或存储单元阵列210的扇区中的一个,并且可在控制逻辑220的控制下,选择选中的存储块的字线之中的一个。行译码器240可在控制逻辑220的控制下,将由电压供应电路230产生的字线电压提供给选中的字线或未选中的字线。
[0042]在编程操作期间,页缓冲器250可作为用于根据要储存在存储块210中的数据来驱动位线的写入驱动器来操作。在编程操作期间,页缓冲器250可从缓冲器(未图示)接收要写入存储块210中的数据,并且可根据输入的数据来驱动位线。页缓冲器250可由分别与列(或位线)或列对(位线对)对应的多个页缓冲器(PB,page buffer) 251形成。多个页缓冲器251中的每个中可包括多个锁存器。
[0043]半导体存储系统110的存储控制器120可响应来自主机100的请求,控制半导体存储器件200。例如,存储控制器120可将从半导体存储器件200读取的数据提供给主机100,并且可将来自主机100的数据储存进入半导体存储器件200中。此外,存储控制器120可控制半导体存储器件200的读取、写入、编程和擦除操作。
[0044]存储控制器120可包括主机接口单元130、处理器140、错误校正码(ECC,errorcorrect1n code)单元 160、电源管理单元(PMU,power management unit) 170、NAND 闪存控制器(NFC, NAND flash controller) 180 和存储器 190。
[0045]主机接口 140可处理来自主机100的指令和数据,并可通过以下各种接口协议中的一种或更多种与主机通信,诸如通用串行总线(USB,universal serial bus)、多媒体卡(MMC,mult1-media card)、外围组件高速互连(PC1-E,peripheral componentinterconnect express)、小型计算机系统接 P (SCSI, small computer systeminterface)、串行 SCSI (SAS)、串行先进技术附件(SATA, serial advanced technologyattachment)、并行先进技术附件(PATA,parallel advanced technology attachment)、增强型小型磁盘接口(ESDI,enhanced small disk interface)和集成驱动电子(IDE,integrated drive electronics)。
[0046]ECC单元160可在读取操作期间检测并校正包括在从存储块210读取的数据中的错误。ECC单元160可对从存储块210读取的数据执行ECC译码,确定ECC译码是否成功,根据确定结果输出指令信号,并使用在ECC译码期间产生的奇偶校验位来校正读取数据的错误位。当包括在读取数据中的错误位的数目超过ECC单元160的错误校正能力时,ECC单元可以不校正错误位,因此可以输出错误校正失败信号。
[0047]ECC单元160可通过以下编码调制来校正错误,诸如低密度奇偶校验(LDPC,low-density parity-check)码、博斯-查德胡里-霍昆格母(BCH,Bose-Chaudhur1-Hocquenghem)码、祸轮码(turbo code)、里德-所罗门(RS,Reed-Solomon)码、卷积码、RSC(递归系统码(Recursive Systematic Code))、网格编码调制(TCM,Trellis-Coded Modulat1n)、块编码调变(BCM, Block Coded Modulat1n)等。ECC单元160可包括错误校正电路、错误校正系统和错误校正装置。
[0048]PMU 170可将电源提供给存储控制器120并管理电源。
[0049]NFC 180可用作存储控制器120与半导体存储器件200之间的接口,以使存储控制器120响应主机100来控制半导体存储器件200。当半导体存储器件200为例如NAND闪速存储器件的闪速存储器件时,则NFC 180可产生半导体存储器件200的控制信号,并且在处理器140的控制下处理数据。
[0050]存储器190可为用于半导体存储系统110和存储控制器120的操作存储器,并且可储存用于驱动半导体存储系统110和存储控制器120的数据。当在半导体存储器件200的读取、写入、编程和擦除操作期间,存储控制器120响应于主机100的请求将从半导体存储器件200读取的数据提供给主机100,并且将来自主机100的数据储存至半导体存储器件200中时,存储器190可储存用于半导体存储系统110的操作或存储控制器120与半导体存储器件200之间的操作的数据。
[0051]存储器190可用诸如DRAM和SRAM的易失性存储器件来实现。存储器190可储存用于存储控制器120与半导体存储器件200之间的写入和读取操作的数据,以及在写入和读取操作期间的数据。此外,存储器190可包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
[0052]另外,存储器190可储存用于在ECC单元160与处理器140之间发生的操作的数据,诸如从半导体存储器件200读取的数据以及在读取操作期间产生的数据。S卩,存储器190可储存从半导体存储器件200读取的数据。数据可包括用户数据、奇偶校验数据和状态数据。状态数据可包括在编程操作期间施加至半导体存储器件200的存储块210的循环组的信息。
[0053]处理器140可执行半导体存储系统110的各种一般控制操作。处理器140可响应于主机100的写入请求或读取请求,来控制对半导体存储器件200的写入操作或读取操作。处理器140可驱动被称作闪存转换层(FTL,flash translat1n layer)的固件,用于半导体存储系统110的一般控制。处理器140可用微处理器或中央处理单元(CPU,centralprocessing unit)来实现。
[0054]当处理器140接收来自ECC单元160的错误校正失败信号时,处理器140可检查循环组。循环组信息包括在来自存储器190的数据的状态数据中。处理器140可控制对半导体存储器件200的读取操作,并使用基于处理器140检查的循环组而选择的读取电压来重新读取数据。处理器140可将重新读取的数据提供给ECC单元160。
[0055]图2为图示图1中示出的半导体存储器件200的存储块210的框图。图2示出了存储单元阵列电路。
[0056]参照图2,存储块210可包括分别耦接至位线BLO至BLm-1的多个单元串221。每列的单元串221可包括一个或更多个漏极选择晶体管DST以及一个或更多个源极选择晶体管SST。多个存储单元或存储单元晶体管可串联耦接在选择晶体管DST与SST之间。
[0057]存储单元MCO至MCn-1中的每个可由多级单元(MLC,mult1-level cell)形成,多级单元在每个单元中储存单比特数据或多比特数据的数据信息。串221可分别电耦接至对应的位线BLO至BLm-1。
[0058]图3为图示根据实施例的图1中示出的半导体存储系统110的操作的流程图。
[0059]参照图3,在步骤S301,存储控制器120可使用第一读取电压,从半导体存储器件200的存储块210读取第一数据。在步骤S303,存储控制器120可对从存储块210读取的第一数据执行ECC译码操作,用于从存储块210读取的第一数据的错误检测和错误校正。然后在步骤S305,存储控制器120可确定步骤S303的ECC译码操作是否成功。
[0060]当存储控制器120在步骤S305确定步骤S303的ECC译码操作成功时,存储控制器120可将ECC译码的第一数据提供给主机100。
[0061]然而,步骤S303的ECC译码操作可能失败。
[0062]当存储控制器120在步骤S305确定步骤S303的ECC译码操作失败时,存储控制器120可将第一读取电压改变为第二读取电压,然后在步骤S307,使用第二读取电压从半导体存储器件200的存储块210重新读取第一数据。使用第二读取电压从半导体存储器件200的存储块210重新读取的第一数据储存为第二数据。
[0063]可重复步骤S307若干次,这将在后面进行描述。可以以各种方式确定第一读取电压和第二读取电压。在实施例中,可通过利用固定增量来改变(即,增加或减小)第一读取电压,来获得第二读取电压。在另一实施例中,可从预设读取电压表选择第二读取电压。
[0064]在步骤S309,存储控制器120可将重新读取数据RD作为第二数据储存在缓冲器中。
[0065]在步骤S311,存储控制器120可对在步骤S307重新读取的也被称为重新读取数据RD的第二数据执行硬译码(hard decoding)。
[0066]在步骤S313,存储控制器120可确定步骤S311的硬译码操作是否成功。硬译码的数据储存为第三数据。
[0067]当存储控制器120在步骤S313确定步骤S311的硬译码操作为成功时,存储控制器120可将也被称为硬译码数据DD的第三数据提供给主机100。
[0068]然而,步骤S311的硬译码操作可能失败。
[0069]当存储控制器120在步骤S313确定步骤S311的硬译码操作为失败时,存储控制器120可将也被称为硬译码数据DD的第三数据储存在缓冲器中。
[0070]在步骤S315,存储控制器120可对第二数据(S卩,重新读取数据RD)以及第三数据(即,硬译码数据DD)执行异或操作,并计数错误位的数目T。错误位的数目T为彼此不同的第二数据(重新读取数据RD)和第三数据(硬译码数据DD)的位数。
[0071]在步骤S317,存储控制器120可将错误位的数目T与预定阈值比较,并确定错误位的数目T是否小于预定阈值。
[0072]当在步骤S317确定错误位的数目T等于或大于预定阈值时,存储控制器120可改变第二读取电压,并重复步骤S307至S317,直到错误位的数目T小于预定阈值为止。
[0073]当在步骤S317确定错误位的数目T小于预定阈值时,存储控制器120在步骤S319可将当前改变的第二读取电压设定为软读取电压。将参照图6来描述将根据错误位的数目T的当前改变第二读取电压设定为最佳读取电压的情况,错误位的数目T通过对第二数据(或重新读取数据RD)和第三数据(或硬译码数据DD)进行的异或操作而获得。当前改变的第二数据设定为最佳读取数据。
[0074]在步骤S321,存储控制器120可对最佳读取数据执行软译码操作。软译码的数据储存为第四数据。在步骤S323,存储控制器120可确定步骤S321的软译码操作是否成功。
[0075]当存储控制器120在步骤S323确定步骤S321的软译码操作为成功时,存储控制器120可将第四数据(也称为软译码数据)提供给主机100。
[0076]当存储控制器120在步骤S323确定步骤S321的软译码操作失败时,在步骤S325,存储控制器120可提供读取失败信号给主机100,因为使用最佳读取电压重新读取的最佳读取数据(或当前改变第二数据)具有低可靠性。
[0077]图4为图示图1中示出的半导体存储系统110的操作的流程图。
[0078]参照图4,在步骤S401,存储控制器120可使用第一读取电压,从半导体存储器件200的存储块210读取第一数据。
[0079]在步骤S403,存储控制器120可对从存储块210读取的第一数据执行ECC译码操作,用于从存储块210读取的第一数据的错误检测和错误校正,然后在步骤S405可确定步骤S403的ECC译码操作是否成功。
[0080]当存储控制器120在步骤S405确定步骤S403的ECC译码操作为成功时,存储控制器120可将ECC译码的第一数据提供给主机100。
[0081]然而,步骤S403的ECC译码操作可能失败。根据本发明的实施例,为了找出最佳读取电压,存储控制器120可执行读取操作R [η]预定数目R[n]_max的次数,同时改变读取电压。改变的读取电压称为第二读取电压,并且可用各种方式来确定。例如,可通过固定量的电压变化来改变第一读取电压,或在另一实施例中,根据预设读取电压表来选择第二读取电压。根据本发明的实施例,可用固定量的电压变化来改变第二读取电压。
[0082]当存储控制器120在步骤S40
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1