用于执行拷贝回存操作的方法以及闪存存储设备的制作方法

文档序号:6772651阅读:197来源:国知局
专利名称:用于执行拷贝回存操作的方法以及闪存存储设备的制作方法
技术领域
本发明有关于闪存存储器,尤其有关于闪存存储器的拷贝回存(copy back)运作。
背景技术
闪存存储设备(比如存储器卡)为主机存储数据。当主机想要存储数据时,主机 则将数据发送到闪存存储设备进行存储。当主机需要数据时,闪存存储设备则检索其存储 器储的数据并将数据发送到主机。闪存存储设备通常包括一控制器和一闪存存储器,其中 闪存存储器用于数据存储,控制器用于从主机接收存取命令并根据存取命令对闪存存储器 中存储的数据进行存取。若闪存存储设备的控制器想要将存储在闪存存储器第一地址的数据拷贝到闪存 存储器的第二地址,控制器则通常发送拷贝回存命令至闪存存储器。为了避免损害数据,通 常将数据以错误校正码(Error Correction Code, ECC)格式存储。参照图1,图1是执行 拷贝回存命令的方法100的流程图。控制器首先向闪存存储器发送一个拷贝回存命令(步 骤102)。当闪存存储器接收到拷贝回存命令时,闪存存储器则根据拷贝回存命令从第一地 址检索第一 ECC数据,并将第一 ECC数据发送到控制器。控制器接着从闪存存储器接收第 一 ECC数据(步骤106)。于步骤108,控制器对第一 ECC数据译码并执行错误校正以获得 与第一 ECC数据对应的已校正原始数据(source data)。然后,控制器根据已校正原始数 据编码一奇偶校验位(parity),并接着将已校正原始数据与奇偶校验位结合来获取一第二 ECC数据(步骤110)。控制器随后将第二 ECC数据发送到闪存存储器(步骤112)。闪存 存储器接收第二 ECC数据后,控制器发送程序命令至闪存存储器以指示闪存存储器将第二 ECC数据存储到第二地址(步骤114)。参照图2,图2是在控制器和闪存存储器之间传送的用于执行拷贝回存命令的信 号时序架构示意图。在时间段T21期间,控制器经由输入/输出总线发送拷贝回存命令,该 拷贝回存命令例如拷贝回存读取命令(图中所示拷贝回存读取1和拷贝回存读取2),包括 第一地址。在时间段T22期间,闪存存储器从第一地址读取第一 ECC数据,并在读取第一 ECC数据时,将在控制器和闪存存储器间传送的就绪/忙(ready/busy)信号(如图中所示 RY/BY)拉低(图中所示tR)。在时间段T23期间,闪存存储器经由1/0总线将第一 ECC数 据发送到控制器(如图所示数据输出)。接着在时间段T24期间,控制器根据第一 ECC数据 产生第二 ECC数据后,控制器经由1/0总线将第二 ECC数据和第二地址发送到第一闪存存 储器。操作202用于将第二 ECC数据从控制器发送到闪存存储器,第二 ECC数据可以为连 续输入,也可为跳跃输入,例如图中所示随机数据输入。随后在时间段T25期间,控制器经 由1/0总线将程序命令发送到闪存存储器,拷贝回存程序1和拷贝回存程序2构成完整的拷贝回存命令。在时间段T26期间,闪存存储器将第二 ECC数据存储到第二地址,并在存储 第二 ECC数据时,拉低就绪/忙信号(图中所示tPROG)。然而,在操作202将第二 ECC数据从控制器发送到闪存存储器需要很长一个时间 段,并造成对拷贝回存命令的延迟执行。此外,若闪存存储器输出的第一 ECC数据不包括错 误位,则第一 ECC数据与控制器发送闪存存储器的第二 ECC数据相同,传送第二 ECC数据就 成为多余。因此需要一种执行拷贝回存命令的方法来提升闪存存储设备的性能。

发明内容
有鉴于此,本发明提供一种用于执行拷贝回存操作的方法以及闪存存储设备。本发明一个实施例提供一种用于执行拷贝回存操作的方法,包括发送拷贝回存 命令至闪存存储器,以从第一地址读取第一 ECC数据;从闪存存储器接收第一 ECC数据;译 码第一 ECC数据,而不执行错误校正,以计算第一 ECC数据的失败计数;比较失败计数与第 一阈值;以及若失败计数小于第一阈值,则发送第一程序命令至闪存存储器以将第一 ECC 数据存储至闪存存储器的第二地址,其中若失败计数小于第一阈值,第一 ECC数据则不发 送回闪存存储器。本发明另一个实施例提供一种闪存存储设备,包括闪存存储器,用于在第一地址 存储第一ECC数据;以及控制器,用于将拷贝回存命令发送至闪存存储器以读取第一ECC数 据、从闪存存储器接收第一 ECC数据、译码第一 ECC数据而不执行错误校正以计算第一 ECC 数据的失败计数、比较失败计数与第一阈值,以及若失败计数小于第一阈值则发送第一程 序命令至闪存存储器以将第一 ECC数据存储至第二地址,其中若失败计数小于第一阈值, 控制器则不将第一 ECC数据发送回闪存存储器。本发明另一个实施例提供一种用于执行拷贝回存操作的方法,包括发送2-平面 拷贝回存命令至第一闪存存储器和第二闪存存储器,以读取第一ECC数据和第二ECC数据; 从第一闪存存储器接收第一 ECC数据;从第二闪存存储器接收第二 ECC数据;译码第一 ECC 数据,以计算第一 ECC数据的第一失败计数;若第一失败计数小于一第一阈值,则发送第一 程序命令至第一闪存存储器以将第一 ECC数据存储至第一闪存存储器;译码第二 ECC数据, 以计算第二 ECC数据的第二失败计数;以及若第二失败计数小于第一阈值,则发送第二程 序命令至第二闪存存储器以将第二 ECC数据存储至第二闪存存储器;其中若第一失败计数 小于第一阈值,第一 ECC数据则不发送回第一闪存存储器,若第二失败计数小于第二阈值, 第二 ECC数据则不发送回第二闪存存储器。通过利用本发明,能够更有效的执行拷贝回存操作,提升了闪存存储设备的性能。如下详述其他实施例和优势。本部分内容并非对发明作限定,本发明范围由权利 要求所限定。


图1是执行拷贝回存命令的方法的流程图。图2是在控制器和闪存存储器之间传送的用于执行拷贝回存命令的信号时序架 构示意图。图3是根据本发明的闪存存储设备的方块示意图。
图4是根据本发明执行拷贝回存操作的方法的流程图。图5是控制器和闪存存储器之间传送的信号的时序示意图,其中该信号系根据图 4所示的方法执行拷贝回存操作。图6是根据本发明执行拷贝回存操作的方法的另一实施例流程图,分图6A和图 6B。图7是控制器和闪存存储器之间传送的信号的时序示意图,其中该信号系根据图 6所示的方法执行拷贝回存操作。图8是以2-平面模式运作的两个闪存存储器的架构示意图。图9是在控制器和运作于双机模式下的两个闪存存储器之间传送的信号时序的 实施例示意图,分图9A和图9B,其中信号系根据本发明的一实施例执行拷贝回存操作。
具体实施例方式如下详述其他实施例和优势。本部分内容并非对发明作限定,本发明范围由申请 专利范围所限定。参照图3,图3是根据本发明的闪存存储设备304的方块示意图。闪存存储设备 304耦接于主机302并为主机302存储数据。在一个实施例中,闪存存储设备304包括控制 器312和闪存存储器314。闪存存储器314用于数据存储。控制器312从主机302接收存 取命令或根据存取命令对闪存存储器314中存储的数据进行存取,其中闪存存储器中的数 据以ECC格式存储。举例来说,ECC格式为BCH(Bose and Ray-Chaudhuri)码格式或李德 所罗门(Reed-Solomon,RS)码格式或低密度奇偶校验位码(Low Density Parity Check, LDOC)格式。在一个实施例中,控制器312包括ECC单元322和存储器(即控制器缓冲器 324)。ECC单元322负责对错误校正码编码和译码。当主机302发送写原始数据至控制器 312时,ECC单元322则根据写原始数据对ECC数据编码。接着将ECC数据发送到闪存存 储器,且闪存存储器314存诸ECC数据。当闪存存储器314读取其内存储的ECC数据且将 ECC数据发送到控制器312时,ECC单元322则对ECC数据译码来获取读原始数据,且控制 器312发送读原始数据至主机302。有时控制器312必须将第一地址中存储的ECC数据拷贝到闪存存储器314的第二 地址中。控制器312发送拷贝回存命令至闪存存储器314以指示闪存存储设备304执行前 述操作。注意,控制器缓冲器324可作为用来将从闪存存储器314拷贝的数据进行存储的 控制器缓冲器。控制器缓冲器324不同于闪存存储器314中实施的缓冲器(图中未示),控 制器缓冲器324可在控制器312外部或内部实现。参照图4,图4是根据本发明执行拷贝回存操作的方法400的流程图。其中从步骤 402至410再到414的处理可看作“没有缓冲过程”,步骤410至422的处理可看作“错误处 理过程”。首先,控制器312发送拷贝回存命令至闪存存储器314(步骤402)。当闪存存储 器314接收拷贝回存命令时,闪存存诸器314根据拷贝回存命令从第一地址检索第一 ECC 数据,并将第一 ECC数据发送至控制器312。控制器312从闪存存储器314接收第一 ECC数 据(步骤406)。控制器312的ECC单元322接着译码第一 ECC数据(步骤408)。不同于图1所示 的步骤108,ECC单元322不执行错误校正来校正第一 ECC数据的原始数据错误。而是ECC
7单元322根据第一 ECC数据的译码结果计算第一 ECC数据的失败计数(步骤408)。控制 器312接着将失败计数与阈值比较(步骤410)。当失败计数小于阈值时,第一 ECC数据则 包括很少错误或者没有错误。因此,控制器312判定第一 ECC数据不需要错误校正。然后, 控制器312直接发送程序命令至闪存存储器314 (步骤414)。由于闪存存储器314将第一 ECC数据存储在闪存存储器314的内部闪存缓冲器中(图中未示),因此当闪存存储器314 从控制器312接收程序命令时,闪存存储器314根据该程序命令直接将闪存缓冲器中存储 的第一 ECC数据写入第二地址。当失败计数大于阈值时(步骤410),控制器312则需要再次从闪存存储器314中 接收第一 ECC数据(步骤406’),然后ECC单元322译码第一 ECC数据并执行错误校正(步 骤408’)。ECC单元322接着获取与第一 ECC数据对应的已校正原始数据(步骤418)。ECC 单元322随后根据已校正原始数据编码一奇偶校验位,并将已校正原始数据与奇偶校验位 结合来获取第二 ECC数据(步骤420)。控制器312随后将第二 ECC数据发送到闪存存储 器314 (步骤422)。闪存存储器314接收第二 ECC数据后,控制器312发送程序命令至闪存 存储器314,以指示闪存存储器314将第二 ECC数据存储到第二地址(步骤414)。需注意, 若在步骤406控制器312接收的第一 ECC数据已存储在了控制器缓冲器324中,则控制器 312不需再次接收第一 ECC数据,因此可忽略步骤406’。而且,若于步骤408译码第一 ECC 数据的结果已存储在了控制器缓冲器324中,则控制器312不需在步骤408’对第一 ECC数 据译码,因此步骤408’仅执行错误校正。于是,相较于图1所示的传统方法100,若失败计数小于阈值,控制器312则不对第 一 ECC数据执行错误校正,也不根据与第一 ECC数据对应的已校正原始数据对第二 ECC数 据编码,并且也不将第二 ECC数据发送到闪存存储器314。因此通过控制器312完成拷贝回 存操作的时间减少了。同时,相较于传统方法,能够更有效的执行拷贝回存操作,提升了闪 存存储设备304的性能。参照图5,图5是控制器312和闪存存储器314之间传送的信号的时序示意图,其 中该信号系根据图4所示的方法400执行拷贝回存操作。在时间段T51期间,控制器312经 由I/O总线发送拷贝回存命令至闪存存储器314,该拷贝回存命令包括第一地址。在时间 段T52期间,闪存存储器314从第一地址读取第一 ECC数据,并在读取第一 ECC数据时,将在 控制器312和闪存存储器314间传送的就绪/忙信号拉低。在时间段T53期间,闪存存储器 314接着经由I/O总线将第一 ECC数据发送到控制器312。控制器312计算第一 ECC数据 的失败计数。若第一 ECC数据的失败计数小于阈值,控制器312则在时间段T54期间直接经 由I/O总线将程序命令发送至闪存存储器314,其中程序命令包括第二地址。在时间段T55 期间,闪存存储器314将第一 ECC数据存储到第二地址,并在存储第一 ECC数据时,拉低就 绪/忙信号。相较于图2所示的信号时序,忽略了用于将第二 ECC数据从控制器发送到闪 存存储器的操作202。因此,图5所示的拷贝回存操作相较于传统方法能够更有效的执行。参照图6,图6是根据本发明执行拷贝回存操作的方法600的另一实施例流程图, 分图6A和图6B。其中从步骤602至610再到614的处理可看作“没有缓冲过程”,步骤610 至624或630的处理可看作“错误处理过程”。首先,控制器312发送拷贝回存命令至闪存 存储器314 (步骤602)。当闪存存储器314接收拷贝回存命令时,闪存存储器314根据拷 贝回存命令从第一地址检索第一 ECC数据,并发送第一 ECC数据至控制器312。控制器312接着从闪存存储器314接收第一 ECC数据(步骤606)。控制器312的ECC单元322译码 第一 ECC数据,且ECC单元322根据第一 ECC数据的译码结果计算第一 ECC数据的失败计 数(步骤608)。控制器312接着将失败计数与阈值比较(步骤610)。当失败计数小于第 一阈值时,第一 ECC数据则包括很少错误或者没有错误,控制器312判定第一 ECC数据不需 要错误校正。因此,控制器312直接将程序命令发送至闪存存储器314 (步骤614)。由于闪 存存储器314将第一 ECC数据存储在缓冲器中,因此当闪存存储器314从控制器312接收 程序命令时,闪存存储器314根据该程序命令直接将缓冲器中存储的第一 ECC数据写入第 二地址。当失败计数大于阈值时(步骤610),第一 ECC数据报括一些错误或很多错误。因 此,控制器312将错误计数与第二阈值比较(步骤618),其中第二阈值大于第一阈值。若失 败计数小于第二阈值(步骤618),控制器312则判定第一 ECC数据报括一些需要校正的错 误区段(error segment)。首先,控制器312再次接收闪存存储器314输出的第一 ECC数据 (步骤606’),然后ECC单元322对第一 ECC数据译码并执行部分错误校正以从第一 ECC数 据判定至少一个包括错误位的错误区段(步骤608’)。ECC单元322接着校正至少一个错 误区段的错误位,以获取至少一个已校正数据区段(步骤620)。ECC单元322随后根据已 校正数据区段编码一部分奇偶校验位(步骤622)。控制器312将已校正数据区段与部分 奇偶校验位发送至闪存存储器314 (步骤624),并接着发送程序命令至闪存存储器314 (步 骤614)。若闪存存储器314接收程序命令,闪存存储器314根据已校正数据区段对缓冲器 中存储的第一 ECC数据作修正,以及根据程序命令对部分奇偶校验位作修正,并将已修正 的第一 ECC数据存储到第二地址。由于ECC单元322仅需要校正第一 ECC数据的一些错误 区段,并仅编码与已校正数据区段对应的部分奇偶校验位,因此ECC单元322的工作量降低 了。此外,由于控制器312仅需要将已校正数据区段和部分奇偶校验位传送到闪存存储器 314,因此,用于执行拷贝回存操作的整个时间段也降低了。若失败计数增加,则意味着第一 ECC数据大于第二阈值(步骤618),控制器312 判定第一 ECC数据报括很多错误,并再次接收闪存存储器314输出的第一 ECC数据(步骤 606”)。ECC单元322随后译码第一 ECC数据并执行全部错误校正(步骤608”),以及获取 与第一 ECC数据对应的已校正原始数据(步骤626)。ECC单元322接着相应于已校正原始 数据编码一奇偶校验位并将已校正原始数据与奇偶校验位结合获得第二 ECC数据(步骤 628)。控制器312接着将第二 ECC数据发送到闪存存储器314 (步骤630)。闪存存储器314 接收第二 ECC数据后,控制器312发送程序命令至闪存存储器314以指示闪存存储器314 将第二 ECC数据存储到第二地址(步骤614)。从上述描述可知,若失败计数增加,则方法600中“错误处理过程”的错误校正从 部分错误校正转变为全部错误校正。需注意,步骤610至624的“错误处理过程”与步骤610 至630的“错误处理过程”处理相同数据(即第一 ECC数据),因此,在两个错误处理过程分 别处理部分错误校正或全部错误校正后,步骤624中的已校正数据区段、部分奇偶校验位 与步骤630中的第二 ECC数据相同。于是,相较于图1所示的传统方法100,若失败计数小于第一阈值,控制器312则不 对第一 ECC数据执行错误校正,也不根据与第一 ECC数据对应的已校正原始数据对第二 ECC 数据编码,而且也不将第二 ECC数据发送到闪存存储器314。因此,通过控制器312完成拷贝回存操作的时间段减少了。同时,相较于传统方法,能够更有效的执行拷贝回存操作,提 升了闪存存储设备304的性能。需注意,若在步骤606控制器312接收的第一 ECC数据已 存储在了控制器缓冲器324中,则控制器312不需再次接收第一 ECC数据,因此可忽略步骤 606’和606”。而且,若于步骤608译码第一 ECC数据的结果已存储在了控制器缓冲器324 中,则控制器312不需在步骤608’和608”对第一 ECC数据译码,因此步骤608’仅执行部 分错误校正,步骤608”仅执行全部错误校正。比较图6所示的方法600和图4所示的方法 400,方法600比方法400利用更多阈值,因此方法600能够更精确地控制处理且更有效。根据图6所示的方法600,控制器312计算第一 ECC数据的失败计数并将失败计数 与第一阈值和第二阈值比较,以决定第一 ECC数据的后续处理方式。若失败计数小于第一 阈值,则没有数据发送回闪存存储器314执行拷贝回存命令,且用于执行拷贝回存命令的 信号时序如图5所示。若失败计数大于第二阈值,则执行全部错误校正以产生第二 ECC数 据并发送回闪存存储器314,且用于执行拷贝回存命令的信号时序如图2所示。若失败计数 大于第一阈值且小于第二阈值,则执行部分错误校正以产生错误数据区段并发送回闪存存 储器314,且用于执行拷贝回存命令的信号时序如图7所示。参照图7,图7是控制器312和闪存存储器314之间传送的信号的时序示意图,其 中该信号系根据图6所示的方法600执行拷贝回存操作。在时间段T71期间,控制器312经 由一 I/O总线发送一拷贝回存命令至闪存存储器314,该拷贝回存命令包括第一地址。在 时间段T72期间,闪存存储器314从第一地址读取第一 ECC数据,并在读取第一 ECC数据时, 将在控制器312和闪存存储器314间传送的就绪/忙信号拉低。在时间段T73期间,闪存存 储器314经由I/O总线将第一 ECC数据发送到控制器312。控制器312接着计算第一 ECC 数据的失败计数。若第一 ECC数据的失败计数大于第一阈值并小于第二阈值,ECC单元322 则产生第一 ECC数据的已校正数据区段和部分奇偶校验位。在时间段T74期间,控制器312 发送已校正数据区段和部分奇偶校验位至闪存存储器314。在时间段T75期间,控制器312 经由I/O总线发送程序命令至闪存存储器314。在时间段T76期间,闪存存储器314根据已 校正数据区段和部分奇偶校验位对第一 ECC数据作修正,以及将已修正的第一 ECC数据存 储到第二地址,并在存储第一 ECC数据时拉低就绪/忙信号。相较于图2所示的信号时序, 以操作702取代了操作202,其中操作702用于仅传送已校正数据区段和部分奇偶校验位, 操作202用于将全部第二 ECC数据从控制器发送到闪存存储器。因此,操作702比操作202 需要更短的时间段,且图7所示的拷贝回存操作相较于图2所示的拷贝回存操作更加有效。在一个实施例中,闪存存储设备包括控制器806和两个闪存存储器,控制器806对 2_平面模式(two-plane mode)的闪存存储器中存储的数据进行存取。参照图8,图8是 以2-平面模式运作的闪存存储器802和804的架构示意图。平面-0闪存存储器802和 平面-1闪存存储器804具有相同的容量。假设控制器806想要在两个闪存存储器802和 804上执行拷贝回存操作,控制器806则首先发送2-平面(2-plane)拷贝回存命令至闪存 存储器802和804。闪存存储器802和804接着分别从原始页(source page) 812和822中 读取数据并将读出的数据存储在缓冲器816和826 (步骤Si)。平面-0闪存存储器802的 缓冲器816接着输出其内储存的读出数据至控制器806 (步骤S2)。控制器806随后对平 面-0闪存存储器802的读出数据的错误进行校正,以获取已校正数据并将已校正数据发送 回平面-0闪存存储器802的缓冲器816 (步骤S3)。平面-1闪存存储器804的缓冲器826输出其内储存的读出数据至控制器806 (步骤S4)。控制器806接着对平面-1闪存存储器 804的读出数据的错误进行校正,以获取已校正数据并接着将已校正数据发送回平面-1闪 存存储器804的缓冲器826 (步骤S5)。最终,控制器806发送2-平面程序命令至闪存存储 器802和804,且闪存存储器802和804将存储在缓冲器816和826中的已校正数据存储至 目标页814和824(步骤S6)。需注意,若缓冲器816和826是控制器实现的控制器缓冲器,则上述步骤顺序可以 是“步骤S2、步骤S3、步骤S4和步骤S5”。若缓冲器816和826是位于闪存存储器内部的 闪存缓冲器,则上述步骤顺序可以是“步骤S2、步骤S4、步骤S3和步骤S5”。以2-平面模式操作的闪存存储器根据本发明(图4和图6所示)也可执行拷贝 回存操作。参照图9,图9是在控制器和运作于双机模式下的两个闪存存储器802与804之 间传送的信号时序的实施例示意图,分图9A和图9B,其中信号系根据本发明的一实施例执 行拷贝回存操作。在时间段T1期间,控制器经由一 I/O总线发送一拷贝回存命令至闪存存 储器802和804,图中所示的2-平面拷贝回存读取1-1、2_平面拷贝回存读取1_2和2-平 面拷贝回存读取2构成第一 ECC数据和第二 ECC数据的拷贝回存读取命令,列地址1和列 地址2分别为第一 ECC数据和第二 ECC数据的列位。在时间段T2期间,闪存存储器802和 804分别从原始页812和822读取第一 ECC数据和第二 ECC数据,并在读取第一 ECC数据 时,将传送至控制器的就绪/忙信号拉低。在时间段T3和T4期间,闪存存储器802经由I/ 0总线将第一 ECC数据发送到控制器,图中所示的2-平面随机数据输出1-1、2_平面随机数 据输出1-2和2-平面随机数据输出2构成第一 ECC数据的输出。在时间段T5和T6期间, 闪存存储器804还经由I/O总线将第二 ECC数据发送到控制器,图中所示的2-平面随机数 据输出1-1、2_平面随机数据输出1-2和2-平面随机数据输出2构成第二 ECC数据的输出。控制器接着计算第一 ECC数据的失败计数。若第一 ECC数据的失败计数小于第一 阈值,控制器则在时间段T7和T9期间经由I/O总线直接发送程序命令至闪存存储器802,跳 过在时间段T8期间的数据传送操作。闪存存储器802接着将第一 ECC数据存储至平面-0 的目标页814,图中所示的2-平面拷贝回存程序1-1和2-平面拷贝回存程序1-2构成第 一 ECC数据的拷贝回存命令。在时间段Tltl期间,闪存存储器将操作平面从平面-0转换为 平面-1,并拉低就绪/忙信号。若第一 ECC数据的第一失败计数大于第一阈值而小于第二 阈值,则在时间段T8期间,控制器也发送已校正数据区段和部分奇偶校验位至闪存存储器 802,并在时间段T9期间,发送程序命令至闪存存储器802。闪存存储器802根据已校正数 据区段和部分奇偶校验位校正第一 ECC数据后,闪存存储器802则将已校正第一 ECC数据 存储至目标页814,并在时间段Tltl期间存储已校正的第一 ECC数据时拉低就绪/忙信号。控制器接着计算第二 ECC数据的第二失败计数。若第二 ECC数据的第二失败计数 小于第一阈值,则在时间段T11和T13期间,控制器经由I/O总线直接发送程序命令至闪存存 储器804,跳过在时间段T12期间的数据传送操作,图中所示的2-平面拷贝回存程序2-1和 2-平面拷贝回存程序2-2构成第二 ECC数据的拷贝回存命令。在时间段T14期间,闪存存 储器804将第二 ECC数据存储至目标页824,并在存储第二 ECC数据时拉低就绪/忙信号。 若第二 ECC数据的第二失败计数大于第一阈值而小于第二阈值,则在时间段T12期间,控制 器也发送已校正数据区段和部分奇偶校验位至闪存存储器804,并接着在时间段T13期间, 发送程序命令至闪存存储器804。闪存存储器804根据已校正数据区段和部分奇偶校验位
11校正第二 ECC数据后,闪存存储器804则将已校正第二 ECC数据存储至目标页824。在时间 段T14期间拉低就绪/忙信号,并将操作平面转换回平面-0。图中所示操作902和904为 略过或部分校正。 虽然本发明已就较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技 术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的变更和润饰。因 此,本发明的保护范围当视之前的权利要求书所界定为准。
权利要求
一种用于执行拷贝回存操作的方法,其特征在于,包括发送拷贝回存命令至闪存存储器,以从第一地址读取第一错误校正码数据;从所述闪存存储器接收所述第一错误校正码数据;译码所述第一错误校正码数据,而不执行错误校正,以计算所述第一错误校正码数据的失败计数;比较所述失败计数与第一阈值;以及若所述失败计数小于所述第一阈值,则发送第一程序命令至所述闪存存储器以将所述第一错误校正码数据存储至所述闪存存储器的第二地址,其中若所述失败计数小于所述第一阈值,所述第一错误校正码数据则不发送回所述闪存存储器。
2.如权利要求1所述的用于执行拷贝回存操作的方法,其特征在于,所述方法还包括 若所述失败计数大于所述第一阈值,则执行错误校正;对所述第一错误校正码数据的原始数据的错误进行校正,以获取已校正原始数据; 根据所述已校正原始数据编码奇偶校验位,并将所述已校正原始数据与所述奇偶校验 位结合来获取第二错误校正码数据;以及发送第二程序命令至所述闪存存储器以将所述第二错误校正码数据存储至所述闪存 存储器的所述第二地址。
3.如权利要求1所述的用于执行拷贝回存操作的方法,其特征在于,所述方法还包括 若所述失败计数大于所述第一阈值,则比较所述失败计数与第二阈值,其中所述第二阈值大于所述第一阈值;若所述失败计数小于所述第二阈值,则执行部分错误校正;对所述第一错误校正码数据的至少一个错误区段进行校正,以获取至少一个已校正数 据区段;根据所述已校正数据区段编码一部分奇偶校验位;将所述已校正数据区段和所述部分奇偶校验位发送至所述闪存存储器;以及 在所述闪存存储器根据所述已校正数据区段和所述部分奇偶校验位对所述第一错误 校正码数据进行修正以获取第二错误校正码数据之后,发送第二程序命令至所述闪存存储 器以将所述第二错误校正码数据存储至所述闪存存储器的所述第二地址。
4.如权利要求3所述的用于执行拷贝回存操作的方法,其特征在于,所述方法还包括 若所述失败计数大于所述第二阈值,则执行全部错误校正;对所述第一错误校正码数据的原始数据的错误进行校正,以获取已校正原始数据; 根据所述已校正原始数据编码奇偶校验位,并将所述已校正原始数据和所述奇偶校验 位结合来获取所述第二错误校正码数据;将所述第二错误校正码数据发送至所述闪存存储器;以及将所述第二程序命令发送至所述闪存存储器以将所述第二错误校正码数据存储至所 述闪存存储器的所述第二地址。
5.如权利要求1所述的用于执行拷贝回存操作的方法,其特征在于,将所述拷贝回存 命令发送至所述闪存存储器的步骤还包括将所述第一地址发送至所述闪存存储器,以从所 述第一地址读取所述第一错误校正码数据。
6.如权利要求1所述的用于执行拷贝回存操作的方法,其特征在于,将所述第一程序 命令发送至所述闪存存储器的步骤还包括将所述第二地址发送至所述闪存存储器,以将所 述第一错误校正码数据存储至所述第二地址。
7.如权利要求2所述的用于执行拷贝回存操作的方法,其特征在于,所述第一错误校 正码数据和所述第二错误校正码数据是BCH码或李德所罗门码或低密度奇偶校验位码。
8.—种闪存存储设备,其特征在于,包括闪存存储器,用于在第一地址存储第一错误校正码数据;以及控制器,用于将拷贝回存命令发送至所述闪存存储器以读取所述第一错误校正码数 据、从所述闪存存储器接收所述第一错误校正码数据、译码所述第一错误校正码数据而不 执行错误校正以计算所述第一错误校正码数据的失败计数、比较所述失败计数与第一阈 值,以及若所述失败计数小于所述第一阈值则发送第一程序命令至所述闪存存储器以将所 述第一错误校正码数据存储至第二地址,其中若所述失败计数小于所述第一阈值,所述控制器则不将所述第一错误校正码数据 发送回所述闪存存储器。
9.如权利要求8所述的闪存存储设备,其特征在于,若所述失败计数大于所述第一阈 值,所述控制器则执行错误校正,对所述第一错误校正码数据的原始数据的错误进行校正 以获取已校正原始数据、根据所述已校正原始数据编码奇偶校验位、将所述已校正原始数 据与所述奇偶校验位结合来获取第二错误校正码数据、发送所述第二错误校正码数据至所 述闪存存储器以及发送第二程序命令至所述闪存存储器以将所述第二错误校正码数据存 储至所述闪存存储器的所述第二地址。
10.如权利要求8所述的闪存存储设备,其特征在于,若所述失败计数大于所述第一阈 值,所述控制器则比较所述失败计数与第二阈值,其中所述第二阈值大于所述第一阈值,若 所述失败计数小于所述第二阈值,所述控制器则执行部分错误校正,对所述第一错误校正 码数据的至少一个错误区段进行校正以获取至少一个已校正数据区段、根据所述已校正数 据区段编码部分奇偶校验位、将所述已校正数据区段和所述部分奇偶校验位发送至所述闪 存存储器,以及在所述闪存存储器根据所述已校正数据区段和所述部分奇偶校验位对所述 第一错误校正码数据进行修正以获取第二错误校正码数据之后,发送第二程序命令至所述 闪存存储器以将所述第二错误校正码数据存储至所述闪存存储器的所述第二地址。
11.如权利要求10所述的闪存存储设备,其特征在于,若所述失败计数大于所述第二 阈值,所述控制器则执行全部错误校正,对所述第一错误校正码数据的原始数据的错误进 行校正以获取已校正原始数据、根据所述已校正原始数据编码奇偶校验位并将所述已校正 原始数据和所述奇偶校验位结合来获取所述第二错误校正码数据、将所述第二错误校正码 数据发送至所述闪存存储器,以及将所述第二程序命令发送至所述闪存存储器以将所述第 二错误校正码数据存储至所述闪存存储器的所述第二地址。
12.如权利要求8所述的闪存存储设备,其特征在于,当所述控制器将所述拷贝回存命 令发送至所述闪存存储器时,所述控制器还将所述第一地址发送至所述闪存存储器,以从 所述第一地址读取所述第一错误校正码数据。
13.如权利要求8所述的闪存存储设备,其特征在于,当所述控制器将所述第一程序命 令发送至所述闪存存储器时,所述控制器还将所述第二地址发送至所述闪存存储器,以将所述第一错误校正码数据存储至所述第二地址。
14.如权利要求9所述的闪存存储设备,其特征在于,所述第一错误校正码数据和所述 第二错误校正码数据是BCH码或李德所罗门码或低密度奇偶校验位码。
15.一种用于执行拷贝回存操作的方法,其特征在于,包括发送2-平面拷贝回存命令至第一闪存存储器和第二闪存存储器,以读取第一错误校 正码数据和第二错误校正码数据;从所述第一闪存存储器接收所述第一错误校正码数据; 从所述第二闪存存储器接收所述第二错误校正码数据;译码所述第一错误校正码数据,以计算所述第一错误校正码数据的第一失败计数; 若所述第一失败计数小于第一阈值,则发送第一程序命令至所述第一闪存存储器以将 所述第一错误校正码数据存储至所述第一闪存存储器;译码所述第二错误校正码数据,以计算所述第二错误校正码数据的第二失败计数;以及若所述第二失败计数小于所述第一阈值,则发送第二程序命令至所述第二闪存存储器 以将所述第二错误校正码数据存储至所述第二闪存存储器;其中若所述第一失败计数小于所述第一阈值,所述第一错误校正码数据则不发送回所 述第一闪存存储器,若所述第二失败计数小于所述第二阈值,所述第二错误校正码数据则 不发送回所述第二闪存存储器。
全文摘要
本发明提供一种用于执行拷贝回存操作的方法以及闪存存储设备,方法包括发送拷贝回存命令至闪存存储器,以从第一地址读取第一ECC数据;从闪存存储器接收第一ECC数据;译码第一ECC数据,而不执行错误校正,以计算第一ECC数据的失败计数;比较失败计数与第一阈值;以及若失败计数小于第一阈值,则发送第一程序命令至闪存存储器以将第一ECC数据存储至闪存存储器的第二地址,其中若失败计数小于第一阈值,第一ECC数据则不发送回闪存存储器。通过利用本发明,能够更有效的执行拷贝回存操作,提升了闪存存储设备的性能。
文档编号G11C29/42GK101937724SQ20101021367
公开日2011年1月5日 申请日期2010年6月30日 优先权日2009年6月30日
发明者吴建中, 彭奇伟, 陈宏庆 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1