数据写入方法、闪存控制器与闪存储存装置的制作方法

文档序号:6583341阅读:200来源:国知局
专利名称:数据写入方法、闪存控制器与闪存储存装置的制作方法
技术领域
本发明涉及一种用于闪存的数据写入方法,且特别涉及一种将数据均勻写入至闪 存中的数据写入方法以及使用此方法的闪存控制器与闪存储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对数字内容的储 存需求也急速增加。由于闪存(Flash Memory)具有数据非易失性、省电、体积小与无机械结 构等的特性,适合使用者随身携带作为数字文件传递与交换的储存媒体。固态硬盘(Solid State Drive, SSD)就是以闪存作为储存媒体的一个例子,并且已广泛使用于计算机主机系 统中作为主硬盘。一般闪存包括多个实体区块,每一个实体区块包括了多个页面,而页面为写入数 据或读取数据的最小单元。每一页面通常包括使用者数据区与冗余区。使用者数据区用 以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误校正码(Error Checking and Correcting Code,ECC Code))0而高密度的闪存会因不均勻的制程,使得闪存中不同的区域产生不同的可靠度。 随着闪存的使用时间、读写次数增加,错误数据的数量也会随着增加。当一个错误校正码储 存于较低可靠度的区域时,就会较早发生不可恢复数据的情况,使得包含这区域的最小管 理单位的存储器不能再被使用。而随着存储器容量越来越大,最小管理单位的存储器空间 也越来越大。然而,一个错误校正码所占的空间可能仅占最小管理单位存储器的千分之一, 当其中一个错误校正码不可恢复时,此最小管理单位面积的存储器空间便无法再使用,如 此将会舍弃千分之九百九十九还可使用的存储器空间。

发明内容
本发明提供一种数据写入方法、闪存控制器与闪存储存装置,其能够将数据平均 写入在闪存芯片中,藉以增加闪存芯片的可使用时间。本发明提出一种闪存储存装置,用于储存来自于主机系统的数据。闪存储存装置 包括连接器、闪存芯片以及闪存控制器。其中,连接器电性连接至主机系统,以自主机系统 接收数据。闪存控制器电性连接至闪存与连接器,其用来将数据分割为至少一码框,并产 生与上述码框对应的错误校正码,以将上述码框与其所对应的错误校正码形成错误校正码 框,再将上述错误校正码框分割为多个码框片段,之后将这些码框片段以非依序排列顺序 排列后写入至闪存芯片中。本发明提出一种闪存控制器,用以将来自于主机系统的数据写入至闪存芯片中。 其中,闪存控制器包括微处理器单元、闪存接口单元、主机接口单元、错误校正单元以及存 储器管理单元。闪存接口单元电性连接至微处理器单元,并且电性连接至闪存芯片。主机 接口单元电性连接至微处理器单元,并且电性连接至主机系统,用来接收来自主机系统的 数据。存储器管理单元电性连接至微处理器单元,用来将数据写入至闪存芯片中。错误校正单元电性连接至微处理器单元,用来对数据产生错误校正码。其中,存储器管理单元将数 据分割为至少一码框,再通过错误校正单元产生与上述码框对应的错误校正码,存储器管 理单元将上述码框与其所对应的错误校正码形成错误校正码框。而存储器管理单元将上述 错误校正码框分割为多个码框片段,并且将这些码框片段以非依序排列顺序排列后写入至 闪存芯片中。本发明提出一种数据写入方法,用于将来自于主机系统的数据写入至闪存芯片 中。首先,自主机系统接收数据。接着,将数据分割为至少一码框。之后,产生与上述码框对 应的错误校正码,以将上述码框与其所对应的错误校正码形成为至少一错误校正码框。然 后,将上述错误校正码框分割为多个码框片段。最后,将这些码框片段以一非依序排列顺序 写入至闪存芯片中。基于上述,本发明能够将每一笔错误校正码框的码框片段均勻地写入在不同的区 域中,以避免将同一个错误校正码框的码框片段写入于相邻的位置,藉以预防一个错误校 正码框完全没有恢复的机会。如此一来便能够使得在非均勻制程之下所制成的闪存装置所 造成的影响,进而增加闪存装置的可使用时间。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式 作详细说明如下。


图IA是本发明实施例所示使用闪存储存装置的主机系统的方块图;图IB是本发明实施例所示的计算机、输入/输出装置与闪存储存装置的示意图;图IC是本发明另一实施例所示的主机系统与闪存储存装置的示意图;图2是本发明实施例所示的闪存储存装置的方块图;图3是本发明另一实施例所示的闪存控制器的概要方块图;图4是本发明实施例所示的数据写入方法的流程图;图5是本发明实施例所示的错误校正码框分割示意图;图6是本发明实施例所示的错误校正码框与字符线的示意图;图7是本发明实施例所示的字符线区域的错误位数的示意图;图8是本发明实施例所示的字符线区域的排列顺序表的示意图;图9是本发明另一实施例所示的字符线区域的错误位数的示意图;图10是本发明另一实施例所示的排列顺序表的示意图;图11是本发明又一实施例所示的排列顺序表的示意图。附图标记说明1000 主机系统;1100:计算机;1102:微处理器;1104 随机存取存储器;1106 输入/输出装置;1108:系统总线;1110:数据传输接口 ;
1202:鼠标;1204 键盘;1206 显示器;1208 打印机;1212 优盘;1214 记忆卡;1216:固态硬盘;1310 数码相机;1312 =SD 卡;1314:MMC 卡;1316:CF 卡;1318 记忆棒;I32O:嵌入式 MMC;100 闪存储存装置;203 连接器;205 闪存控制器;207 闪存芯片;209 微处理器单元;211:主机接口单元;213:存储器管理单元;215 闪存接口单元;217 缓冲存储器;219 错误校正单元;223 错误位数统计单元;501 516、601、603、605 错误校正码框;S405 S425 本发明实施例的数据写入方法各步骤。
具体实施例方式闪存控制器使用错误校正码技术保护储存在闪存芯片中的数据。然而,高密度的 闪存芯片会因不均勻的制程而产生可靠度不同的区域。由于可靠度较低的区域容易产生较 多的错误位数,其将导致此区域无法复原,因此当数据储存于较低可靠度的区域时,便会较 早发生不可恢复数据的情况。据此,本发明提供一个用于闪存的数据写入方法及其控制器 与储存装置,来降低非均勻制程所造成的影响,进而增加闪存的可使用时间。图IA是本发明实施例所示的使用闪存储存装置的主机系统的方块图。图IB是本 发明实施例所示的计算机、输入/输出装置与闪存储存装置的示意图。图IC是本发明另一 实施例所示的主机系统与闪存储存装置的示意图。请参照图1A,主机系统1000 —般包括计算机1100与输入/输出(input/output, I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory, RAM) 1104、系统总线1108以及数据传输接口 1110。输入/输出装置1106包括如图IB的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图IB所示的装置非限制输 入/输出装置1106,输入/输出装置1106还可以包括其他装置。在本发明实施例中闪存储存装置100是透过数据传输接口 1110与主机系统1000 的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106 的处理,使得主机系统1000可将数据写入至闪存储存装置100或从闪存储存装置100中读 取数据。例如,闪存储存装置100可以是如图IB所示的优盘1212、记忆卡1214或固态硬盘 1216。一般而言,主机系统1000可实质地为可储存数据的任意系统。虽然在本实施例 中,主机系统1000是以计算机系统来进行说明,然而,在本发明另一实施例中主机系统 1000可以是数码相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机 系统为数码相机(摄影机)1310时,闪存储存装置100则为其所使用的安全数字(secure digital, SD)卡 1312、多媒体储存卡(Multi Media Card, MMC) 1314、小型快闪(Compact Flash, CF)卡1316、记忆棒(Memory Stick, MS) 1318或嵌入式储存装置1320(如图IC所 示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌 入式多媒体卡是直接电性连接于主机系统1000的基板上。图2是本发明实施例所示的闪存储存装置的方块图。请参照图2,闪存储存装置 100包括连接器203、闪存控制器205以及闪存芯片207。其中,闪存控制器205电性连接于 连接器203与闪存芯片207之间,且闪存控制器205透过连接器203电性连接至主机系统 1000,以将来自于主机系统1000的数据写入至闪存芯片207中。在此,连接器203例如为SD连接器。然而,必须了解的是本发明不限于此,连接 器 203 也可以是序列先进附件(Serial Advanced TechnologyAttachment, SATA)连接器、 通用序列总线(Universal Serial Bus, USB)连接器、电气和电子工程师协会(Institute of Electrical and Electronic Engineers, IEEE) 1394 连接器、高速周边零件连接接口 (Peripheral Component InterconnectExpress, PCI Express)连接器、MS 连接器、MMC 连 接器、CF连接器、整合式驱动电子接口 antegrated Device Electronics, IDE)连接器或 其他适合的数据传输的连接器。闪存芯片207例如为多层记忆胞(Multi Level Cell,MLC)NAND闪存。然而,必 须了解的是,本发明不限于此。在本发明另一实施例中,单层记忆胞(Single Level Cell, SLONAND闪存也可应用于本发明。在本实施例中,闪存控制器205包括微处理器单元209、主机接口单元211、存储器 管理单元213以及闪存接口单元215。其中,主机接口单元211、存储器管理单元213以及 闪存接口单元215分别电性连接至微处理器单元209。微处理器单元209用以控制闪存控制器205的整体运作。也就是说,闪存控制器 205内的组件的运作可由微处理器单元209直接或间接来控制。主机接口单元211电性连接至微处理器单元209,并且用以接收与识别主机系统 1000所传送的指令。也就是说,主机系统1000所传送的指令与数据会经由连接器203再透 过主机接口单元211而传送至微处理器单元209。在本实施例中,主机接口单元211为SD 接口。然而,必须了解的是本发明不限于此,主机接口单元211也可以是SATA接口、USB接 口、IEEE 1394 接口、PCI Express 接口、MS 接口、MMC 接口、CF 接口、IDE 接口 或其他适合的数据传输接口。闪存接口单元215是电性连接至微处理器单元209并且用以存取闪存芯片207。 也就是说,欲写入至闪存芯片207的数据会经由闪存接口单元215转换为闪存芯片207所 能接受的格式。存储器管理单元213电性连接至微处理器单元209,并且用以执行根据本实施例 的数据写入机制。在本实施例中,存储器管理单元213是以一固件型式实作在闪存控制器 205中。例如,将包括多个程序指令的存储器管理单元213烧录至一程序存储器(例如,只 读存储器(Read Only Memory, ROM))中并且将此程序存储器嵌入在闪存控制器205中,当 闪存储存装置100运作时,存储器管理单元213的多个机器指令会由微处理器单元209来 执行以完成根据本发明实施例的数据写入机制。在本发明另一实施例中,存储器管理单元213的控制指令也可以程序码型式储存 于闪存芯片207的特定区域(例如,闪存中专用于存放系统数据的系统区)中。同样的,当 闪存储存装置100运作时,存储器管理单元213的多个控制指令会由微处理器单元209来 执行。此外,在本发明另一实施例中,存储器管理单元213也可以一硬体型式实作在闪存控 制器205中。在本发明另一实施例中,闪存控制器205也可以还包括其他功能模组。图3是本 发明另一实施例所示的闪存控制器的概要方块图。请参照图3,除了微处理器单元209、存 储器管理单元213、主机接口单元211与闪存接口单元215之外,闪存控制器205还包括缓 冲存储器217、错误校正单元219。错误校正单元219电性连接至微处理器单元209并且用以执行一错误校正编码以 确保数据的正确性。具体来说,当存储器管理单元213从主机系统1000中接收到主机写 入指令时,错误校正单元219会为对应此主机写入指令的写入数据产生对应的错误校正码 (Error Checking and Correcting Code, ECCCode),并且存储器管理单元 213 会将此写入 数据与对应的错误校正码写入至闪存芯片207中。之后,当存储器管理单元213从闪存芯 片207中读取数据时会同时读取此数据对应的错误校正码,并且错误校正单元219会依据 此错误校正码对所读取的数据执行错误校正程序。而在本实施例中,当闪存控制器205接收到数据时,存储器管理单元213会先将数 据分割为多个码框(frame),之后,错误校正单元219再产生各码框对应的错误校正码,以 将这些码框与其各自所对应的错误校正码分别编码形成为错误校正码框(ECC frame)。在 此,错误校正码框的大小是根据传输单位的大小来分割,此传输单位的大小是依据闪存芯 片的规格书来决定,也就是说每个传输单位须保护(protect)多少个位(bit)。例如传输 单位为1Kbyte,保护M个位,闪存控制器205会将数据切割为每单位为1Kbyte。而错误 校正单元219则会针对每IKbyte的数据进行错误校正编码,所以每个错误校正码框就是 1Kbyte,但本发明不限于此,错误校正码框也可以是512byte或2Kbyte。之后,存储器管理单元213便会将错误校正码框分割为多个码框片段,并且将这 些码框片段以非依序排列顺序排序后写入至闪存芯片207中。缓冲存储器217是电性连接至微处理器单元209并且用以暂存来自于主机系统 1000的数据与指令或来自于闪存芯片207的数据。在此,缓冲存储器217还可用来暂时储 存码框片段,以使闪存控制器205依据非依序排列顺序而自缓冲存储器217来一一撷取各码框片段,排列完成后再将各码框片段写入至闪存芯片207中。在本实施例中,闪存控制器205还包括错误位数统计单元223。错误位数统计单元 223是用来统计闪存芯片的各区域的错误位数,并且依据各区域的错误位数来排序,藉以决 定码框片段写入至闪存芯片的排列顺序(也就是说要从哪一个码框片段开始排列且排列 完成后再进行写入)。之后,将此码框片段的排列顺序更新至排列顺序表。值得一提的是,在其他实施例中,错误校正单元219与错误位数统计单元223也可 以配置于闪存储存装置100,而分别与闪存控制器205电性连接。以下即搭配上述闪存储存装置100来详细说明数据写入方法的详细步骤。图4是本发明实施例所示的数据写入方法的流程图。请同时参照图2 图4,首 先,在步骤S405中,自主机系统1000接收写入指令与数据。具体而言,闪存控制器205透 过主机接口单元211来接收写入指令与数据。接着,在步骤S410中,将数据分割为至少一码框。之后,如步骤S415所示,产生与 上述码框对应的错误校正码,以将上述码框与其所对应的错误校正码形成错误校正码框。 以图2及图3而言,错误校正单元219会对各码框数据执行一错误校正编码,以形成错误校 正码框。进一步地说,当闪存储存装置100接收到数据时,存储器管理单元213会先将数据 分割为多个码框(以传输单位为基础来分割),再由错误校正单元219产生各码框对应的错 误校正码,以将这些码框与其各自所对应的错误校正码分别形成为错误校正码框。也就是 说,上述数据会被形成多笔错误校正码框,且每一笔错误校正码框会具有一个对应的错误 校正码。接着,在步骤S420中,分别将这些错误校正码框分割为多个码框片段。也就是说, 闪存控制器205中的存储器管理单元213会分别将这些错误校正码框分割为多个码框片 段,并且将此些码框片段暂存于缓冲存储器217中。举例来说,假设闪存芯片207中是以一个页面作为数据存取的单位,而一个页面 为8Kbyte,一次存取一条字符线(word line)为存取一个页面。假设传输单位为0. 5Kbyte, 则存储器管理单元213会将一个页面分割为16个错误校正码框,再将每一个错误校正码框 分割为16等分的码框片段。然而,在此并不限定错误校正码框所欲分割的数量,每一个错 误校正码框也可分割为32等分或64等分的码框片段。最后,在步骤S425中,将码框片段以非依序排列顺序排列后写入至闪存芯片207 中。详细地说,闪存控制器205中的存储器管理单元213会将码框片段以非依序排列顺序排 列后写入至闪存芯片207中。也就是说,闪存控制器205会根据排列顺序表中所记录的非 依序排列顺序,自缓冲存储器217来撷取码框片段,再将这些码框片段写入至闪存芯片207 中。据此,闪存控制器205便能够将每一个错误校正码框平均写入在同一字符线中。举例来说,图5是本发明实施例所示的错误校正码框分割示意图。在本实施例中, 假设有16个错误校正码框501 516,每一个错误校正码框分别被分割为16等分的码框片 段。并且假设非依序排列顺序为从各个错误校正码框的第一个码框片段开始进行排序,之 后再对各个错误校正码框的第二个码框片段进行排序,依此规则直至码框片段排满一字符 线后再写入至闪存芯片207中。详细地说,从第一个错误校正码框501的第一个码框片段Flil开始,依序撷取每一 个错误校正码框的第一个码框片段(F1VF2^F3VFu.....F16a) 0接着,再依序撷取每一个错误校正码框的第二个码框片段(F1^Fidd2.....F16,2)。之后,再依序撷取每一
个错误校正码框的第三个码框片段(Fmh^h^Fu.....F16,3)。以此类推,直到码框片
段排满一字符线后再写入至闪存芯片207中。然而,必须了解的是本发明的非依序排列顺 序不限于此。另外,一般而言,闪存芯片207具有多条字符线且每一条字符线中具有多个记忆 胞。据此,码框片段则是储存在这些字符线中。值得一提的是,还可通过闪存控制器205中 的错误位数统计单元223来统计闪存芯片207中的每一条字符线的各码框片段区域的错误 位数(此错误位数可以是全部字符线的每一个码框片段的总和,也可以是全部字符线的每 一个码框片段的平均值)。之后,错误位数统计单元223便能够依据错误位数决定码框片段 写入至闪存芯片207中的排列顺序,并将排列顺序更新至排列顺序表,以作为后续自闪存 芯片207中读取错误校正码框的依据。上述排列顺序也就是决定要从哪一个码框片段开始 排列。例如,由错误位数最高至最低来排序这些区域,而由错误位数最高的区域开始排列, 接着由错误位数次高的区域开始排列,以此类推。之后,错误位数统计单元223再将排列顺 序更新至排列顺序表。据此,闪存控制器205在进行数据写入时,会依据排列顺序表的排列 顺序将数据写入至闪存芯片207中。举例来说,图6是本发明实施例所示的错误校正码框与字符线的示意图。本实施 例是以三个错误校正码框601、603、605为例,并假设每个错误校正码框的最大错误校正 (correct)位数为16位(bit)。为了方便说明,在此,将错误校正码框601、603、605分别分 割为三个码框片段,也就是SOU S02、S03、SlU S12、S13、S21、S22、S23。对应的也将闪存 芯片207的其中一字符线610分割为9个区域Fl F9,以储存错误校正码框601、603、605 的码框片段。以下举一实施例来表示字符线610各区域的错误位数与码框片段的排列顺序之 间的关系。图7是本发明实施例所示的字符线区域的错误位数的示意图。图8是本发明实 施例所示的字符线区域的排列顺序表的示意图。在本实施例中,在写入码框片段至字符线 之后,读出这些码框片段来统计字符线中每一码框片段的错误位数,藉以得知字符线中各 区域的错误位数。据此,依据错误位数来排序这些字符线区域而获得的顺序为Fl (错误位 数为10)、F2 (错误位数为9)、F9 (错误位数为幻、F8 (错误位数为4)、F3 (错误位数为3)、 F7 (错误位数为幻、F6 (错误位数为1)、F4 (错误位数为0)、F5 (错误位数为0)。然而,必 须了解的是本发明的排列顺序不限于此,在其他实施例中也可以由小排至大。因此,当欲再 次写入码框片段至闪存芯片时,便可依据这些错误位数来排列这些码框片段,以依据此排 列顺序将码框片段写入至闪存芯片207。例如,参照图8,各错误校正码框的第一个码框片 段S01、S11及S21分别对应至F1、F2及F9,各错误校正码框的第二个码框片段S02、S12及 S22则是分别对应至F8、F3及F7,而各错误校正码框的第三个码框片段S03、S13及S23则 是分别对应至F6、F4及F5。据此,上述码框片段的排列顺序则为SOl、Sl 1、S12、S13、S23、 S03、S22、S02、S21。值得注意的是,由于每个错误校正码框的最大错误校正位数为16位,因此需注意 每个错误校正码框的码框片段所写入的区域的错误位数的总和是否会超出16位。以下再 举另一实施例来说明。
图9是本发明另一实施例所示的字符线区域的错误位数的示意图。图10是本发 明另一实施例所示的排列顺序表的示意图。在本实施例中,依据错误位数来排列这些字符 线区域所获得的顺序为F1、F2、F9、F3、F4、F8、F7、F6、F5。倘若依据上述顺序来决定码框片 段的排列顺序,则各错误校正码框的第一个码框片段S01、S11及S21是分别对应写入至F1、 F2及F9,各错误校正码框的第二个码框片段S02、S12及S22则是分别对应写入至F3、F4及 F8,而各错误校正码框的第三个码框片段S03、S13及S23则是分别对应写入至F7、F6、F5。 在此,每个错误码框的码框片段所写入的区域的错误位数的总和不能超出16位。以错误校 正码框601而言,S01、S02及S03的错误位数的总和要小于或等于16,错误校正码框603及 605亦以此类推。然而,倘若按照上述的排列顺序,则SOI、S02及S03的错误位数(Fl、F3 及F7)的总和将大于16位,即10+6+2 = 18。据此,便重新调整码框片段的排列顺序。例如,各错误校正码框的第一个码框片段S01、S11及S21分别对应至F1、F2及F9, Fl (其错误位数仍旧先由大排至小)。再来,各错误校正码框的第二个码框片段S02、S12及 S22则分别对应至F8、F4及F3,在此F8、F4及F3的错误位数则为由小排至大。之后,各错 误校正码框的第三个码框片段S03、S13及S23则分别对应至F7、F6、F5 (其错误位数仍旧先 由大排至小)。据此,错误校正码框601、603及605的错误位数总和则分别为16(10+4+2)、 15(9+5+1)及 14(8+6+0)。另外,在本发明另一实施例,上述排列顺序也可以是随意调整,使得错误校正码框 601,603及605的错误位数总和小于或等于16即可。以下再举一实施例来说明。图11是 本发明又一实施例所示的排列顺序表的示意图。在经过调整之后,每一错误校正码框的错 误位数则分别为16位、16位及13位。但本发明并不限于此,任何排列方式只要能够使得每 一个错误校正码框的错误位数总和不超过其错误校正(correct)能力的16位都在本发明 的范围之内。而后,当闪存控制器205欲读取错误校正码框时,便能够依据排列顺序表读取出 同一个错误校正码框的码框片段,以进行还原。综上所述,本发明先将数据分割并编码形成多个错误校正码框,再将每一笔错误 校正码框分割为多个码框片段,之后依据非依序排列顺序,将多个码框片段写入至闪存芯 片中。由于每一个错误校正码框并非连续写入在相邻的位置,而是均勻地写入在不同的区 域中,藉以预防一个错误校正码框一旦损毁,则完全没有恢复数据的机会。如此一来便能够 解决在非均勻制程之下所制成的闪存所造成的影响,进而增加闪存装置的可使用时间。虽然本发明已以实施例揭露如上,但其并非用以限定本发明,本领域技术人员在 不脱离本发明的精神和范围内,应当可作稍微的更动与润饰,所以本发明的保护范围应以 权利要求的内容为准。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
1.一种数据写入方法,用于将来自于主机系统的数据写入至闪存芯片中,其特征在于, 该数据写入方法包括自该主机系统接收数据;分割该数据为至少一码框;产生与该至少一码框对应的错误校正码,以将该至少一码框与其所对应的错误校正码 形成至少一错误校正码框;将该至少一错误校正码框分割为多个码框片段;以及将所述码框片段以非依序排列顺序排列后写入至该闪存芯片中。
2.根据权利要求1所述的数据写入方法,其特征在于,在将所述错误校正码框分割为 所述码框片段的步骤之后,还包括将所述码框片段暂存于缓冲存储器中。
3.根据权利要求2所述的数据写入方法,其特征在于,依据该非依序排列顺序排列后 写入至该闪存芯片中的步骤,包括依据该非依序排列顺序自该缓冲存储器撷取各所述码框片段,而将所述码框片段排列 后写入至该闪存芯片中。
4.根据权利要求1所述的数据写入方法,其特征在于,还包括建立排列顺序表,以记录该非依序排列顺序。
5.根据权利要求4所述的数据写入方法,其特征在于,该闪存芯片具有多条字符线且 每一所述字符线具有多个记忆胞,该数据写入方法还包括所述码框片段储存在所述字符线中;读出所述码框片段以统计所述字符线中每一所述码框片段的错误位数;依据该错误位数决定所述码框片段写入至所述字符线的排列顺序;以及更新该排列顺序至该排列顺序表。
6.根据权利要求5所述的数据写入方法,其特征在于,依据该错误位数决定所述码框 片段写入至所述字符线的该排列顺序的步骤,包括分割每一所述字符线为多个区域;依据每一所述区域的错误位数,由大至小或由小至大排序来决定所述码框片段写入至 所述字符线的该排列顺序。
7.根据权利要求6所述的数据写入方法,其特征在于,依据每一所述区域的错误位数, 由大至小或由小至大来排列所述码框片段的步骤,包括依据该至少一错误校正码框的最大错误校正位数,决定所述码框片段的排列顺序,其 中,该至少一错误校正码框的所述码框片段所写入的区域的错误位数的总和小于或等于该 最大错误校正位数。
8.根据权利要求1所述的数据写入方法,其特征在于,该非依序排列顺序包括先对该至少一错误校正码框的第一个码框片段进行排列,再对该至少一错误校正码框 的下一个码框片段进行排列,直至该至少一错误校正码框的所述码框片段全部排列完毕为止。
9.一种闪存控制器,用以将来自于主机系统的数据写入至闪存芯片中,其特征在于,该 闪存控制器包括微处理器单元;闪存接口单元,电性连接至该微处理器单元,并且电性连接至该闪存芯片;主机接口单元,电性连接至该微处理器单元,并且电性连接至该主机系统,用来接收来 自该主机系统的该数据;存储器管理单元,电性连接至该微处理器单元,用来将该数据写入至该闪存芯片;以及错误校正单元,电性连接至该微处理器单元,用以对该数据产生错误校正码;其中,该存储器管理单元分割该数据为至少一码框,且该错误校正单元对该至少一码 框产生对应的错误校正码,以将该至少一码框与其所对应的错误校正码形成至少一错误校 正码框,该存储器管理单元将该至少一错误校正码框分割为多个码框片段,并且将所述码框片 段以非依序排列顺序排列后写入至该闪存芯片中。
10.根据权利要求9所述的闪存控制器,其特征在于,还包括缓冲存储器,电性连接至该微处理器单元,用来暂时地储存所述码框片段。
11.根据权利要求10所述的闪存控制器,其特征在于,该存储器管理单元依据该非依 序排列顺序自该缓冲存储器撷取各所述码框片段,以将所述码框片段排列后写入至该闪存 芯片中。
12.根据权利要求9所述的闪存控制器,其特征在于,该存储器管理单元先对该至少一 错误校正码框的第一个码框片段进行排列,再对该至少一错误校正码框的下一个码框片段 进行排列,直至所述码框片段全部排列完毕为止。
13.根据权利要求9所述的闪存控制器,其特征在于,该存储器管理单元记录该非依序 排列顺序至排列顺序表。
14.根据权利要求13所述的闪存控制器,其特征在于,该闪存芯片具有多条字符线且 每一所述字符线具有多个记忆胞,且所述码框片段储存在所述字符线中,该闪存控制器还 包括错误位数统计单元,读出所述码框片段以统计所述字符线中每一所述码框片段的错误 位数,并且依据该错误位数决定所述码框片段的排列顺序,其中,该存储器管理单元将该排列顺序更新至该排列顺序表。
15.根据权利要求14所述的闪存控制器,其特征在于,该存储器管理单元将每一所述 字符线分割为多个区域,并依据所述区域各自的错误位数,由大至小或由小至大排序来决 定所述码框片段写入至所述字符线的该排列顺序。
16.根据权利要求15所述的闪存控制器,其特征在于,该存储器管理单元依据该至少 一错误校正码框的最大错误校正位数,决定所述码框片段的排列顺序,其中,该至少一错误 校正码框的所述码框片段所写入的区域的错误位数的总和小于或等于该最大错误校正位 数。
17.—种闪存储存装置,用于储存来自于主机系统的数据,其特征在于,该闪存储存装 置包括连接器,电性连接至该主机系统,自该主机系统接收该数据;闪存芯片;以及闪存控制器,电性连接至该闪存与该连接器,用来分割该数据为至少一码框,并产生与该至少一码框对应的错误校正码,以将该至少一码框与其所对应的该错误校正码形成至少 一错误校正码框,再将该至少一错误校正码框分割为多个码框片段,之后将所述码框片段 以非依序排列顺序排列后写入至该闪存芯片中。
18.根据权利要求17所述的闪存储存装置,其特征在于,还包括缓冲存储器,用来暂时地储存所述码框片段。
19.根据权利要求18所述的闪存储存装置,其特征在于,该闪存控制器依据该非依序 排列顺序自该缓冲存储器撷取各所述码框片段,而将各所述码框片段排列后写入至该闪存 芯片中。
20.根据权利要求17所述的闪存储存装置,其特征在于,该闪存控制器先对该至少一 错误校正码框的第一个码框片段进行排列,再对该至少一错误校正码框的下一个码框片段 进行排列,直至所述码框片段全部排列完毕为止。
21.根据权利要求17所述的闪存储存装置,其特征在于,该闪存控制器记录该非依序 排列顺序至排列顺序表。
22.根据权利要求21所述的闪存储存装置,其特征在于,该闪存芯片具有多条字符线 且每一所述字符线具有多个记忆胞,且所述码框片段储存在所述字符线中,该闪存储存装 置还包括错误位数统计单元,读出所述码框片段以统计所述字符线中每一所述码框片段的错误 位数,并且依据该错误位数决定所述码框片段的排列顺序,之后,将该排列顺序更新至该排 列顺序表。
23.根据权利要求22所述的闪存储存装置,其特征在于,该闪存控制器将每一所述字 符线分割为多个区域,并依据所述区域各自的错误位数,由大至小或由小至大排序来决定 所述码框片段写入至所述字符线的该排列顺序。
24.根据权利要求23所述的闪存储存装置,其特征在于,该闪存控制器依据该至少一 错误校正码框的最大错误校正位数,决定所述码框片段的排列顺序,其中,该至少一错误校 正码框的所述码框片段所写入的区域的错误位数的总和小于或等于该最大错误校正位数。
全文摘要
本发明提供一种数据写入方法、闪存控制器与闪存储存装置。首先,自主机系统接收数据。接着,将此数据分割为至少一码框。之后,产生与上述码框对应的错误校正码,以将上述码框与其所对应的错误校正码形成至少一错误校正码框。然后,将错误校正码框分割为多个码框片段。最后,将这些码框片段以非依序排列顺序写入至闪存芯片中。
文档编号G06F11/10GK102117230SQ200910215388
公开日2011年7月6日 申请日期2009年12月31日 优先权日2009年12月31日
发明者刘育宏, 叶志刚, 曾建富, 梁立群 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1