发明名称 快闪记忆体系统起动作业
摘要 本发明揭示将用以控制非挥发性快闪记忆体系统作业的韧体码之多个副本储存于记忆体系统的快闪记忆体之不同的合适位置。还将该些位置之一位址映射储存于该快闪记忆体内。一旦该记忆体系统初始化,储存于该记忆体控制器内的启动码便藉由其微处理器来执行,以参考该位址映射并将该韧体之一副本从该快闪记忆体载入一控制器记忆体,然后可藉由该微处理器从该控制器记忆体执行该韧体副本以操作该记忆体系统来储存及撷取使用者资料。一错误校正码(ECC)系用于检查该资料,但该快闪记忆体内所储存的该等二或更多韧体副本之最佳部分系用于减少对使用 ECC之需要。若使用者资料系以二个以上的状态储存于该快闪记忆体内,则可将该韧体码以二状态储存于同一快闪记忆体内。
申请公布号 TWI272536 申请公布日期 2007.02.01
申请号 TW093141421 申请日期 2004.12.30
申请人 桑迪士克股份有限公司 发明人 卡罗丝J 古撒拉斯;安德鲁 汤林
分类号 G06F9/445(2006.01) 主分类号 G06F9/445(2006.01)
代理机构 代理人 黄章典 台北市松山区敦化北路201号7楼
主权项 1.一种初始化一记忆体储存系统之方法,该记忆体 储存系统具有:快闪记忆体,其包含储存于该快闪 记忆体中不同位置的至少第一及第二韧体码副本; 一微处理器;一唯读记忆体(ROM),其包含微处理器可 存取的启动码;以及一随机存取记忆体(RAM),其系用 以储存微处理器可存取的韧体码,该方法包含: 执行该启动码以将该韧体之一第一副本从该快闪 记忆体传输至该RAM, 识别该韧体码之该所传输的第一副本中的任何位 元错误, 若位元错误识别为能校正的,则校正该等错误位元 , 若位元错误识别为不能校正的,则将该韧体码的该 第二副本之至少一部分读入该RAM,以替代该第一副 本中包含该等不能校正的位元错误之至少一部分, 以及 执行来自该RAM的该韧体码之一无错误副本。 2.如请求项1之方法,其中对该所传输之第一副本中 的任何位元错误进行识别包括:藉由如同将该等韧 体部分从该快闪记忆体传输至该RAM一样经由错误 扶正码(ECC)电路连续传递该等韧体部分,而依据该 韧体的该第一副本之个别部分来计算ECC,并将该等 计算出的ECC与先前依据该韧体资料的该第一副本 之该等部分而计算出的ECC相比。 3.如请求项2之方法,其中对该等错误位元之校正包 括该微处理器执行该启动码之一错误校正演算法 以校正错误位元。 4.如请求项2之方法,其中该韧体码的该第一副本之 该等个别部分包括:一或多个区段资料,以及先前 依据该等个别部分而计算出并与该等个别部分一 起储存于该快闪记忆体内之一ECC。 5.如请求项1之方法,其进一步包含:在执行该启动 码以将该韧体之一第一副本从该快闪记忆体传输 至该RAM之前进行以下操作: 最初存取该快闪记忆体内的复数个固定位置,一次 存取一位置,直至发现一初始化记忆体映射系储存 于该等复数个固定位置中的至少一位置且包含该 快闪记忆体中储存该等至少第一及第二韧体码副 本的该等不同位置之位址, 读取该初始化记忆体映射之资料以获得该等位址, 且然后存取该韧体码之该第一副本。 6.如请求项5之方法,其进一步包含: 识别从该初始化记忆体映射读取的该资料内之任 何位元错误, 若该所读取资料内的位元错误识别为能校正的,则 校正该等错误位元,以及 若该所读取资料内的位元错误识别为不能校正的, 则在不同条件下重新读取该初始化记忆体映射之 该资料。 7.如请求项1之方法,其中将该等至少第一及第二韧 体码副本储存于该快闪记忆体之该等不同位置中, 且该记忆体之每一快闪记忆体储存元件仅储存给 定数目之一或多个韧体码位元,而该记忆体储存系 统之进一步特征在于将使用者资料储存于该快闪 记忆体之其他位置中且该记忆体之每一储存元件 储存多于该给定数目的使用者资料位元。 8.如请求项7之方法,其中该给定数目之一或多个位 元确切的系每一快闪记忆体储存元件储存一位元 。 9.如请求项1之方法,其进一步包含: 识别该韧体码之该第二副本中该所传输的至少一 部分内之任何位元错误,以及 若识别该韧体码的该第二副本中该所传输的至少 一部分内的位元错误系不能校正,则在趋向于减少 该第二副本中该所传输的至少一部分内的位元错 误数目之条件下,对该韧体码的该第二副本之该至 少一部分进行重复读取。 10.如请求项1之方法,其进一步包含:在执行该启动 码以将该韧体之一第一副本从该快闪记忆体传输 至该RAM之前,对一在将韧体储存于该快闪记忆体内 时设定的韧体存在旗标之状态进行检查,以及,仅 当设定该韧体存在旗标时,才继续执行该启动码以 将该韧体之该第一副本从该快闪记忆体传输至该 RAM。 11.如请求项1之方法,其进一步包含,回应于识别预 定数目为一或多个之若干位元错误,设定与该韧体 的该第一副本之该等错误资料在该快闪记忆体中 的储存位置相关之一内部管理旗标。 12.如请求项11之方法,其进一步包含,回应于设定该 内部管理旗标,在已将该韧体码之一无错误副本传 输进该RAM后,校正该韧体的该第一副本之该等错误 资料。 13.如请求项12之方法,其中对该韧体的该第一副本 之该等错误资料进行校正包括将该韧体之该经校 正的第一副本重新写入该快闪记忆体中。 14.如请求项13之方法,其中重新写入该韧体之该经 校正的第一副本包括将该经校正的第一副本重新 写入与其原先的储存位置不同之一位置。 15.如请求项12之方法,其中对韧体的该第一副本之 该等错误资料进行校正包括使用一错误校正码。 16.如请求项12之方法,其中对该韧体的该第一副本 之该等错误资料进行校正包括传输来自该韧体码 之该第二副本之良好资料。 17.一种操作一记忆体储存系统之方法,该记忆体储 存系统具有:快闪记忆体;一微处理器;一唯读记忆 体(ROM),其包含可由该微处理器存取之启动码;一随 机存取记忆体(RAM);以及计算电路,其依据通过其中 之资料来计算一错误校正码(ECC),该方法包含: 藉由经由该ECC电路以一次传递一个的方式来传递 该等韧体副本而将韧体码之至少第一及第二副本 储存于该快闪记忆体之不同的可定址位置,以及将 由此而计算出的该等ECC储存于该快闪记忆体内, 然后,藉由促使该微处理器执行该启动码以经由该 ECC电路将该韧体之该第一副本从该快闪记忆体传 输至该RAM,来初始化该记忆体系统之作业,其中该 ECC电路依据所传输的该韧体之该第一副本而计算 一ECC, 使用该等计算出并储存的ECC来识别该韧体码之该 所传输的第一副本内之任何位元错误,以及 若位元错误系识别为能校正的,则促使该微处理器 执行该启动码内之一错误校正演算法以校正该等 错误位元,以便使得无任何错误地将该韧体码载入 该RAM,或者 若位元错误系识别为不能校正的,则将该韧体码的 该第二副本之至少一部分传输进该RAM以替代该第 一副本中包含该等不能校正的位元错误之至少一 部分,以便使得无任何错误地将该韧体码载入该RAM 。 18.如请求项17之方法,其中该韧体码之储存包括对 依据该韧体码之一或多个区段而个别计算出的ECC 进行储存。 19.如请求项17之方法,其额外包含将一映射储存于 该快闪记忆体之预定的复数个位置中的一位置内, 该映射包含韧体码的该等至少第一及第二副本之 该等可定址位置;而且,其中藉由该微处理器来执 行该启动码包括:最初藉由以一次存取一个的方式 存取该等预定的复数个位置直至找到该映射而定 位该映射,以及在储存该映射之该位置读取该映射 之该等内容。 20.如请求项17之方法,其中该韧体码之储存额外地 包括设定一旗标以指示至少一韧体副本存在于该 快闪记忆体内,而且其中执行该启动码以传输该韧 体码之该等第一或第二副本中的任一副本包括:首 先读取与该等副本相关的该旗标并仅在该相关旗 标系设定之情况下继续读取该韧体码之该副本。 21.一种快闪记忆体储存系统,其包含: 一快闪记忆体单元阵列,其将资料储存于电荷储存 元件中并在该阵列之复数个预定位址中的至少一 位址包含一记忆体映射,该映射包括指定将韧体码 之一或多个副本储存于其中的位址之资料, 一控制器处理器, 一唯读记忆体,其包含该处理器回应该储存系统的 初始化而存取并执行的启动码, 一随机存取记忆体,其可由该处理器存取以获得欲 执行的指令,以及 其中该启动码促使该处理器存取该快闪记忆体内 的该等复数个预定位址以定位并读取该记忆体映 射之资料,该资料指定将该韧体之一或多个副本储 存于其中之位址,然后,读取位于该等指定的一或 多个位址中的至少一位址之该韧体码,以及,然后 将该所读取的韧体码写入该随机存取记忆体。 22.如请求项21之系统,其中将该映射及该韧体码储 存于该快闪记忆体内且每一记忆体单元储存元件 储存该映射及该韧体码之一位元,而且其中进一步 将资料储存于该记忆体阵列中除包含该映射及韧 体的该些位址以外的至少一些位址且每一记忆体 单元储存元件储存该资料之一个以上位元。 23.一种快闪记忆体储存系统,其包含: 一快闪记忆体单元阵列,其将资料储存于电荷储存 元件中并包含与个别的第一及第二组错误校正码( ECC)一起储存于其中的韧体码之至少第一及第二副 本,该等个别第一及第二组ECC系依据该韧体码之该 等第一及第二副本而计算出, 一控制器处理器, 计算电路,其依据经由该电路而传递的资料而计算 ECC, 一唯读记忆体,其包含该处理器回应该储存系统的 初始化而存取并执行的启动码, 一随机存取记忆体,其可由该处理器存取以获得欲 执行的指令,以及 其中该启动码促使该处理器读取该第一韧体码副 本,包括:经由该ECC计算电路传递该所读取的第一 韧体码副本,该ECC电路计算ECC并针对与该第一韧体 码副本一起储存的该第一组ECC而就该第一韧体码 副本中与该等ECC有关的部分内存在的任何资料错 误提供一状态,以及 (A)若该状态指示在该第一韧体码副本的该等部分 中之一给定部分内无资料错误,则将该韧体码的该 第一副本之该给定部分写入该随机存取记忆体,但 是 (B)若该状态指示在该第一韧体码副本的该给定部 分内有资料错误,则该启动码促使该处理器决定该 韧体码内的位元错误之该数目是否超过一给定数 目,以及 (i)若该位元错误之该数目不超过该给定数目,则进 一步促使该处理器校正该等错误位元并将该所校 正的第一韧体码副本写入该随机存取记忆体,但是 (ii)若位元错误之该数目等于或超过该给定数目, 则进一步促使该处理器读取该第二韧体副本之至 少一部分,经由该ECC计算电路传递该所读取的第二 韧体码,该ECC计算电路依据所传递的该第二韧体码 而计算至少一ECC,并针对该第二韧体码副本中与该 至少一ECC有关的该至少一部分内存在的任何资料 错误提供一状态,而且若该状态指示该第二韧体码 副本之该至少一部分内无任何资料错误,则将该韧 体码之该所读取的第二副本之该至少一部分写入 该随机存取记忆体。 24.如请求项23之系统,其中将该韧体码储存于该快 闪记忆体内且每一记忆体单元储存元件储存该韧 体码之一位元,而且其中进一步将资料储存于该记 忆体阵列之位址中除包含该韧体码的该些位址以 外的至少一些位址且每一记忆体单元储存元件储 存该资料之一个以上位元。 25.一种快闪记忆体储存系统,其包含: 一快闪记忆体单元阵列,其将资料储存于电荷储存 元件中并包含与一第一旗标及一第二旗标一起储 存于其中的韧体码之至少一副本,该第一旗标指示 存在该韧体码而该第二旗标指示在存在该韧体码 之情况下应载入该韧体码, 一控制器处理器, 一唯读记忆体,其包含该处理器回应该储存系统的 初始化而存取并执行的启动码, 一随机存取记忆体,其可由该处理器存取以获得欲 执行的指令,以及 其中该启动码促使该处理器寻找该等第一及第二 旗标,以及 (A)若存在该第一旗标而不存在该第二旗标,则继续 将该韧体码载入该随机存取记忆体,或者 (B)若该等第一及第二旗标皆存在,则提供对该韧体 码之存取以作测试而不将该韧体码载入该随机存 取记忆体,或者 (C)若该第一旗标不存在,则不会尝试将该韧体码载 入该随机存取记忆体也不会尝试提供对该韧体码 的存取以作测试。 26.如请求项25之系统,其中将该韧体码与第一及第 二旗标储存于该快闪记忆体内且每一记忆体单元 储存元件储存该韧体码与第一及第二旗标之一位 元,而且其中进一步将资料储存于该记忆体阵列中 除包含该韧体码与第一及第二旗标的该些位址以 外的至少一些位址,且每一记忆体单元储存元件储 存该资料之一个以上位元。 27.一种初始化一记忆体储存系统之方法,该记忆体 储存系统具有:快闪记忆体,其包含储存于该快闪 记忆体中不同位置的韧体码之至少第一及第二副 本;一微处理器;一唯读记忆体(ROM),其包含微处理 器可存取的启动码;以及一随机存取记忆体(RAM),其 系用以储存微处理器可存取的韧体码,该方法包含 : 将该韧体码的该等至少第一及第二副本之一位元 储存于该快闪记忆体的该等不同位置内记忆体单 元之个别储存元件中,而将该使用者资料之一个以 上位元储存于该快闪记忆体的该等其他位置内记 忆体单元之个别储存元件中, 执行该启动码以将该韧体之该第一副本从该快闪 记忆体传输至该RAM, 在传输该韧体码之该第一副本时,识别该韧体码之 该第一副本中的任何位元错误, 校正该所传输的第一韧体码副本内该等识别出的 位元错误中的特定错误,或读取该韧体码的该第二 副本之至少一部分,以替换该第一韧体码副本中包 含该等识别出的位元错误之至少一部分,以及 执行来自该RAM的该韧体码之一无错误副本。 图式简单说明: 图1系一可实施本发明各方面之非挥发性记忆体系 统之方块图; 图2示意性地说明图1中的系统之非挥发性记忆体 之位址空间,显示保留档(包括其一映射)及韧体档 之储存; 图3说明图1及2中的非挥发性记忆体内储存的该映 射档之资料内容; 图4系显示图1中的记忆体系统一旦初始化便将韧 体从该非挥发性记忆体上传入该控制器之一作业 之一第一项具体实施例之流程图; 图5说明图4之流程图所说明的作业之一方面; 图6系显示将韧体从一主机下载入图1中的非挥发 性记忆体系统之流程图; 图7系显示在卡制造期间发生的装载或升级韧体之 一作业之流程图;以及 图8系显示图1中的记忆体系统一旦初始化便将韧 体从该非挥发性记忆体上传进该控制器之一作业 之一第二项具体实施例之流程图。
地址 美国