CN102800357A - 程序码载入与存取方法、存储器控制器与存储器储存装置 - Google Patents

程序码载入与存取方法、存储器控制器与存储器储存装置 Download PDF

Info

Publication number
CN102800357A
CN102800357A CN2011101400900A CN201110140090A CN102800357A CN 102800357 A CN102800357 A CN 102800357A CN 2011101400900 A CN2011101400900 A CN 2011101400900A CN 201110140090 A CN201110140090 A CN 201110140090A CN 102800357 A CN102800357 A CN 102800357A
Authority
CN
China
Prior art keywords
procedure code
data segments
copy
code copy
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101400900A
Other languages
English (en)
Other versions
CN102800357B (zh
Inventor
梁鸣仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201110140090.0A priority Critical patent/CN102800357B/zh
Publication of CN102800357A publication Critical patent/CN102800357A/zh
Application granted granted Critical
Publication of CN102800357B publication Critical patent/CN102800357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种程序码载入与存取方法、存储器控制器与存储器储存装置。该程序码载入方法,用于从可重写式非易失性存储器模块中载入程序码,其中此程序码包括多个数据区段,并且在此重写式非易失性存储器模块中存有对应此程序码的第一程序码副本与第二程序码副本。本方法包括载入第一程序码副本的第一数据区段,并且判断此第一数据区段是否存在无法被校正的错误位;倘若不存在,则继续载入第一程序码副本的第二数据区段;倘若存在,则载入第二程序码副本中对应的第一数据区段,接着继续载入第一程序码副本的第二数据区段或者第二程序码副本的第二数据区段。基此,本方法能够有效避免无法载入程序码的状况。

Description

程序码载入与存取方法、存储器控制器与存储器储存装置
技术领域
本发明涉及一种程序码存取方法,特别是涉及一种从可重写式非易失性存储器模块中载入与存取程序码的方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,促使消费者对储存媒体的需求也急遽增加。由于可重写式非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、低耗电、体积小、无机械结构且读写速度快等特性,最适合用在可携式电子产品,例如手机、个人数字助理与笔记型计算机等。因此,近年来,高速缓冲存储器产业成为电子产业中相当热门的一环。
传统上,高速缓冲存储器储存装置的高速缓冲存储器控制器的固件码(程序码)会储存在高速缓冲存储器控制器内的可程序只读存储器(因此一般是无法被修改的),并且在高速缓冲存储器控制器运作时被载入高速缓冲存储器控制器内的静态随机存取存储器(Static Random Access Memory,SRAM)中来执行。然而,基于固件码的大小和复杂度越趋增加且改版速度加快,使得固件码也必须能够被更新/修改。为缩小储存装置的尺寸并且方便更新/修改固件码,目前发展出的设计中,技术已经能够将固件码直接储存在存储器储存装置的NAND高速缓冲存储器模块中,并且于高速缓冲存储器储存装置启动时,固件码会被载入至存储器控制器的静态随机存取存储器中。因此,在无需额外配置可程序只读存储器的情况下,存储器储存装置的尺寸可有效地被缩小并且其制造成本可有效地被降低。
然而,在追求更高积集度与更小元件体积的同时,储存在高速缓冲存储器的数据发生位错误的比率也跟着提高。为避免因过多位错误造成无法成功载入固件码而导致系统无法启动的状况,通常高速缓冲存储器储存装置的高速缓冲存储器会存有对应的固件码的两份程序码副本(或更多份)。当无法成功地读取整个第一份程序码副本时,存储器控制器会尝试载入整个第二份程序码副本。但如果整个第二份程序码副本也无法被成功地载入时,高速缓冲存储器储存装置将无法被成功启动。基此,有需要发展一种更为安全可靠的载入固件码的方法。
发明内容
本发明提供一种程序码载入方法、存取方法、存储器控制器与存储器储存装置,其能够有效地从可重写式非易失性存储器模块中存取程序码。
本发明范例实施例提出一种程序码载入方法,用于从可重写式非易失性存储器模块中载入程序码,其中此程序码包括多个数据区段,此可重写式非易失性存储器模块具有至少一个第一物理区块与至少一个第二物理区块,第一物理区块储存有对应此程序码的第一程序码副本,第二物理区块储存有对应此程序码的第二程序码副本,并且此第一程序码副本与此第二程序码副本分别地具有相同于此程序码的数据区段的多个数据区段。此程序码载入方法包括依序地载入此第一程序码副本的第一数据区段,并且判断此第一程序码副本的第一数据区段是否存有至少一无法被校正的错误位。当此第一程序码副本的第一数据区段存有至少一无法被校正的错误位时,则可轮替地载入部份的第一程序码副本及部份的第二程序码副本。
在本发明的一实施例中,上述的可轮替地载入部份的第一程序码副本及部份的第二程序码副本的步骤包括载入此第二程序码副本的那些数据区段之中的第一数据区段;以及继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,上述的可轮替地载入部份的第一程序码副本及部份的第二程序码副本的步骤包括载入此第二程序码副本的那些数据区段之中的第一数据区段;继续依序地载入此第二程序码副本的那些数据区段之中的第二数据区段;以及当此第二程序码副本的那些数据区段之中的第二数据区段存有至少一无法被校正的错误位时,继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。本发明范例实施例提出一种程序码存取方法,用于从可重写式非易失性存储器模块中存取程序码,其中此可重写式非易失性存储器模块具有多个物理区块,并且此程序码包括多个数据区段。此程序码存取方法包括使用这些物理区块之中的至少一个第一物理区块来储存对应此程序码的第一程序码副本,并且使用这些物理区块之中的至少一个第二物理区块来储存对应此程序码的第二程序码副本,其中此第一程序码副本与此第二程序码副本分别具有相同于此程序码的这些数据区段的多个数据区段。此程序码存取方法亦包括依序地载入此第一程序码副本的第一数据区段,并且判断此第一程序码副本的第一数据区段是否存有至少一无法被校正的错误位。当此第一程序码副本的第一数据区段存有至少一无法被校正的错误位,则可轮替地载入部份的第一程序码副本及部份的第二程序码副本。
在本发明的一实施例中,上述的可轮替地载入部份的第一程序码副本及部份的第二程序码副本的步骤包括载入此第二程序码副本的那些数据区段之中的第一数据区段;以及继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,上述的可轮替地载入部份的第一程序码副本及部份的第二程序码副本的步骤包括载入此第二程序码副本的那些数据区段之中的第一数据区段;继续依序地载入此第二程序码副本的那些数据区段之中的第二数据区段;以及当此第二程序码副本的那些数据区段之中的第二数据区段存有至少一无法被校正的错误位时,继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,上述的多个物理区块分别地属于第一存储器晶粒与第二存储器晶粒,其中上述的第一物理区块属于此第一存储器晶粒,并且上述的第二物理区块属于此第二存储器晶粒。
在本发明的一实施例中,上述的第二物理区块不相邻于上述的第一物理区块。
在本发明的一实施例中,每一物理区块具有多个快速物理页面与多个慢速物理页面。此外,上述的使用第一物理区块来储存对应此程序码的第一程序码副本的步骤包括仅使用第一物理区块的快速物理页面来储存对应此程序码的第一程序码副本。再者,上述的使用第二物理区块来储存对应此程序码的第二程序码副本的步骤包括仅使用第二物理区块的快速物理页面来储存对应此程序码的第二程序码副本。
本发明范例实施例提出一种存储器控制器,用于管理可重写式非易失性存储器模块,此存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以耦接至主机系统。存储器接口用以耦接至可重写式非易失性存储器模块。存储器管理电路耦接至主机接口与存储器接口,此存储器管理电路用以使用这些物理区块之中的至少一个第一物理区块来储存对应一程序码的第一程序码副本,其中此程序码具有多个数据区段,并且此第一程序码副本具有相同于此程序码的这些数据区段的多个数据区段。此存储器管理电路亦用以使用这些物理区块之中的至少一个第二物理区块来储存对应此程序码的第二程序码副本,其中此第二程序码副本具有相同于此程序码的这些数据区段的多个数据区段。此存储器管理电路更用以依序地载入此第一程序码副本的数据区段之中的第一数据区段,并且判断此第一程序码副本的第一数据区段是否存有至少一无法被校正的错误位。当此第一程序码副本的第一数据区段存有至少一无法被校正的错误位时,此存储器管理电路可轮替地载入部份的第一程序码副本及部份的第二程序码副本。
在本发明的一实施例中,其中当此第一程序码副本的第一数据区段存有至少一无法被校正的错误位时,则此存储器管理电路载入此第二程序码副本的那些数据区段之中的第一数据区段,并且继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,其中当此第一程序码副本的此第一数据区段存有至少一无法被校正的错误位时,则此存储器管理电路载入此第二程序码副本的那些数据区段之中的第一数据区段,并且继续依序地载入此第二程序码副本的那些数据区段之中的第二数据区段,其中当此第二程序码副本的那些数据区段之中的第二数据区段存有至少一无法被校正的错误位时,此存储器管理电路继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,上述的存储器控制器还包括错误检查与校正电路,用以判断此第一程序码副本的第一数据区段是否存有至少一无法被校正的错误位。
在本发明的一实施例中,上述的第二物理区块不相邻于上述的第一物理区块。
在本发明的一实施例中,每一个物理区块具有多个快速物理页面与多个慢速物理页面。此存储器管理电路仅使用第一物理区块的快速物理页面来储存对应此程序码的第一程序码副本。此存储器管理电路仅使用第二物理区块的快速物理页面来储存对应此程序码的第二程序码副本。
本发明范例实施例提出一种存储器储存装置,包括连接器、可重写式非易失性存储器模块与存储器控制器。连接器用以耦接至主机系统。可重写式非易失性存储器模块具有多个物理区块。存储器控制器耦接至此连接器与此可重写式非易失性存储器模块。此存储器控制器用以使用这些物理区块之中的至少一个第一物理区块来储存对应一程序码的第一程序码副本,其中此程序码具有多个数据区段,并且此第一程序码副本具有相同于此程序码的这些数据区段的多个数据区段。此存储器控制器亦用以使用这些物理区块之中的至少一个第二物理区块来储存对应此程序码的第二程序码副本,其中此第二程序码副本具有相同于此程序码的这些数据区段的多个数据区段。此存储器控制器更用以依序地载入此第一程序码副本的数据区段之中的第一数据区段,并且判断此第一程序码副本的第一数据区段是否存有至少一无法被校正的错误位。当此第一程序码副本的第一数据区段存有至少一无法被校正的错误位时,此存储器控制器可轮替地载入部份的第一程序码副本及部份的第二程序码副本。
在本发明的一实施例中,其中当此第一程序码副本的第一数据区段存有至少一无法被校正的错误位时,则此存储器控制器载入此第二程序码副本的那些数据区段之中的第一数据区段,并且继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,其中当此第一程序码副本的此第一数据区段存有至少一无法被校正的错误位时,则此存储器控制器载入此第二程序码副本的那些数据区段之中的第一数据区段,并且继续依序地载入此第二程序码副本的那些数据区段之中的第二数据区段,其中当此第二程序码副本的那些数据区段之中的第二数据区段存有至少一无法被校正的错误位时,此存储器控制器继续依序地载入此第一程序码副本的那些数据区段之中的第二数据区段。
在本发明的一实施例中,上述的至少一个第二物理区块不相邻于此至少一个第一物理区块。
在本发明的一实施例中,每一个物理区块具有多个快速物理页面与多个慢速物理页面。此存储器管理电路仅使用上述的第一物理区块的快速物理页面来储存对应此程序码的第一程序码副本,其中此存储器管理电路仅使用上述的第二物理区块的快速物理页面来储存对应此程序码的第二程序码副本。
基于上述,本发明所提供的程序码载入方法、存取方法、存储器控制器与存储器储存装置能够避免因过多位错误而导致无法成功载入程序码以启动系统的状况。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
附图说明
图1A是根据本发明范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据本发明范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据本发明范例实施例所绘示的存储器控制器的概要方块图。
图4是根据本发明范例实施例所绘示的可重写式非易失性存储器模块的概要方块图。
图5A与5B是根据本发明范例实施例所绘示的程序码的多个程序码副本储存于可重写式非易失性存储器模块的示意图。
图6是根据本发明第一范例实施例所绘示的程序码存取方法的示意图。
图7A与图7B是根据本发明第一范例实施例所绘示的程序码存取方法的流程图。
图8是根据本发明第二范例实施例所绘示的程序码存取方法的示意图。
图9是根据本发明第二范例实施例所绘示的载入程序码的流程图。
附图符号说明
1000:主机系统
1100:计算机
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:系统总线
1110:数据传输接口
1202:鼠标
1204:键盘
1206:显示器
1208:打印机
1212:随身盘
1214:存储卡
1216:固态硬盘
1310:数字相机
1312:SD卡
1314:MMC卡
1316:存储棒
1318:CF卡
1320:嵌入式储存装置
100:存储器储存装置
102:连接器
104:存储器控制器
106:可重写式非易失性存储器模块
202:存储器管理电路
204:主机接口
206:存储器接口
252:缓冲存储器
254:电源管理电路
256:错误检查与校正电路
304(0)~304(R):物理区块
402:数据区
404:闲置区
406:系统区
408:取代区
410:第一程序码副本
420:第二程序码副本
510(0)~510(H):逻辑区块
1A~nA:数据区段
1B~nB:数据区段
S701、S703、S705、S707、S709、S711、S713、S715:储存与载入程序码的步骤
S905、S907、S909、S911、S913、S915、S917、S919、S921、S923、S925、S927、S929、S931:载入程序码的步骤
具体实施方式
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存系统)包括可重写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或者从存储器储存装置中读取数据。
图1A是根据本发明范例实施例所绘示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作,主机系统1000可将数据写入至存储器储存装置100或者从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid StateDrive,SSD)1216等可重写式非易失性存储器储存装置。
一般而言,主机系统1000可实质地为任何能够与存储器储存装置100配合以储存数据的系统。虽然在本范例实施例中,主机系统1000是以计算机系统来说明,然而,在本发明另一范例实施例中,主机系统1000可以是数字相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可重写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可重写式非易失性存储器模块106。
在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponent Interconnect Express,PCI Express)标准、通用序列总线(UniversalSerial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、小型高速缓冲(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬体型式或固件型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可重写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。特别是,存储器控制器104会根据本范例实施例的程序码存取方法,从可重写式非易失性存储器模块106中载入程序码。
可重写式非易失性存储器模块106耦接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可重写式非易失性存储器模块106包括物理区块304(0)~304(R)。各物理区块分别具有多个页面,其中属于于同一个物理区块的物理页面可被独立地写入且被同时地擦除。更详细来说,物理区块为擦除的最小单位。亦即,每一物理区块含有最小数目的一并被擦除的存储单元。物理页面为编程的最小单元。即,物理页面为写入数据的最小单元。在本范例实施例中,可重写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,MLC)NAND高速缓冲存储器模块。然而,本发明不限于此,可重写式非易失性存储器模块106亦可是单阶存储单元(Single LevelCell,SLC)NAND高速缓冲存储器模块、其他高速缓冲存储器模块或具有相同特性的其他存储器模块。
图3是根据本发明范例实施例所绘示的存储器控制器的概要方块图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。
具体来说,存储器管理电路202的控制指令是以程序码的型式储存于可重写式非易失性存储器模块106的特定区域(例如,可重写式非易失性存储器模块106中专门用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可重写式非易失性存储器模块106中的控制指令(即,固件码)载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。特别是,存储器管理电路202会根据本范例实施例的程序码存取方法,从可重写式非易失性存储器模块106载入用以控制存储器控制器104的整体运作的程序码(亦称为固件码)。
主机接口204是耦接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是耦接至存储器管理电路202并且用以存取可重写式非易失性存储器模块106。也就是说,欲写入至可重写式非易失性存储器模块106的数据会经由存储器接口206转换为可重写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252。缓冲存储器252是耦接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可重写式非易失性存储器模块106的数据。特别是,存储器管理电路202会根据本范例实施例的程序码存取方法,从可重写式非易失性存储器模块106将程序码载入缓冲存储器252。
在本发明一范例实施例中,存储器控制器104还包括电源管理电路254。电源管理电路254是耦接至存储器管理电路202并且用以控制存储器储存装置100的电源。
在本发明一范例实施例中,存储器控制器104还包括错误检查与校正电路256。错误检查与校正电路256是耦接至存储器管理电路202并且用以执行错误位的检查与校正以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可重写式非易失性存储器模块106中。之后,当存储器管理电路202从可重写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误位的检查与校正。
图4是根据本发明范例实施例所绘示的可重写式非易失性存储器模块的概要方块图。
请参照图4,可重写式非易失性存储器模块106包括物理区块304(0)~304(R)。在本范例实施例中,物理区块304(0)~304(R)可以是属于同一个存储器晶粒或者分别地属于不同的存储器晶粒。各物理区块分别具有多个页面,其中属于于同一个物理区块的物理页面可被独立地写入且被同时地擦除。更详细来说,物理区块为擦除的最小单位。亦即,每一物理区块含有最小数目之一并被擦除的存储单元。物理页面为编程的最小单元。即,物理页面为写入数据的最小单元。
在本范例实施例中,存储器管理电路202会将可重写式非易失性存储器模块106的物理区块304(0)~304(R)逻辑地分组为数据区402、闲置区404、系统区406与取代区408。
数据区402与闲置区404的物理区块是用以储存来自于主机系统1000的数据。具体来说,数据区402的物理区块是已储存数据的物理区块,而闲置区404的物理区块是用以替换数据区402来写入数据的物理区块。因此,闲置区404的物理区块为空或可使用的物理区块,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区404中的物理区块已被执行擦除运作,或者当闲置区404中的物理区块被提取用于储存数据之前所提取的物理区块会被执行擦除运作。因此,闲置区404的物理区块为可被使用的物理区块。
逻辑上属于系统区406的物理区块是用以记录系统数据,其中此系统数据包括关于存储器储存装置的制造商与型号、可重写式非易失性存储器模块的物理区块数、每一物理区块的物理页面数等。
逻辑上属于取代区408中的物理区块是取代物理区块。例如,可重写式非易失性存储器模块106于出厂时会预留部分的物理区块作为更换使用。也就是说,当数据区402、闲置区404与系统区406中的物理区块损毁时,预留于取代区408中的物理区块是用以取代损坏的物理区块(即,坏物理区块(bad block))。因此,倘若取代区408中仍存有正常的物理区块且发生物理区块损毁时,存储器管理电路202会从取代区408中提取正常的物理区块来更换损毁的物理区块。倘若取代区408中无正常的物理区块且发生物理区块损毁时,则存储器管理电路202会将存储器储存装置100宣告为写入保护(writeprotect)状态,而无法再写入数据。
必须了解的是,在存储器储存装置100的运作中,物理区块关联至数据区402、闲置区404、系统区406与取代区408的分组关系会动态地变动。例如,当闲置区404中的物理区块损坏而被取代区408的物理区块取代时,则原本取代区408的物理区块会被关联至闲置区404。
存储器管理电路202会配置逻辑区块510(0)~510(H)以映射数据区402的物理区块,其中每一逻辑区块具有多个逻辑页面并且此些逻辑页面是依序地映射对应的数据物理区块的物理页面。例如,在存储器储存装置100被格式化时,逻辑区块510(0)~510(H)会初始地映射数据区402的物理区块304(0)~304(D)。
例如,存储器管理电路202会维护逻辑区块-物理区块映射表(logicalblock-physical block mapping table)以记录逻辑区块510(0)~510(H)与数据区502的物理区块之间的映射关系。此外,由于主机系统1000是以逻辑存取地址(例如,扇区(Sector))为单位来存取数据,当主机系统1000存取数据时存储器管理电路202会将对应存储器储存装置100的逻辑存取地址转换成对应的逻辑页面。例如,当主机系统1000欲存取某一逻辑存取地址时,存储器管理电路202会将主机系统1000所存取的逻辑存取地址转换为以对应的逻辑区块与逻辑页面所构成的多维地址,并且通过逻辑区块-物理区块映射表于对应的物理页面中存取数据。
图5A与5B是根据本发明范例实施例所绘示的程序码的多个程序码副本储存于可重写式非易失性存储器模块的示意图。
请参照图5A与5B,系统区406中的物理区块304(N+1)与物理区块304(N+2)会被用来储存对应用以控制存储器控制器104的整体运作的程序码的第一程序码副本410并且系统区406中的物理区块304(N+11)与物理区块304(N+12)会被用来储存对应用以控制存储器控制器104的整体运作的程序码的第二程序码副本420。在此,用以储存第一程序码副本410的物理区块称为第一物理区块并且用以储存第二程序码副本420的物理区块称为第二物理区块。
在本范例实施例中,可重写式非易失性存储器模块106中存放有对应用以控制存储器控制器104的整体运作的程序码的两个程序码副本。然而,必须了解的是,在本发明另一范例实施例中,可重写式非易失性存储器模块106中可存放有对应用以控制存储器控制器104的整体运作的程序码的更多个程序码副本。此外,尽管在本发明范例实施例中,一个程序码副本是藉由使用2个物理区块来储存,然而,本发明不限于此,用以储存程序码副本的物理区块的个数会根据程序码副本的大小而有所不同。
如前所述,物理区块304(N+1)与物理区块304(N+2)存放第一程序码副本410,其中第一程序码副本410包括n个数据区段(即,数据区段1A~数据区段nA,其中n为自然数),并且第一程序码副本的数据区段是相同于用以控制存储器控制器104的整体运作的程序码的数据区段。类似地,物理区块304(N+11)与物理区块304(N+12)存放此程序码的第二程序码副本420,其中第二程序码副本420亦包括n个数据区段(即,数据区段1B~数据区段nB),并且第二程序码副本的数据区段是相同于用以控制存储器控制器104的整体运作的程序码的数据区段。也就是说,第一程序码副本的数据区段1A~数据区段nA是分别地相同于第二程序码副本的数据区段1B~数据区段nB。
值得一提的是,由于相邻的物理区块在发生损坏上具有一定程度的关连性,为避免相邻的物理区块同时发生损坏而造成第一程序码副本410与第二程序码副本420中相同的数据区段同时损坏。因此,在本范例实施例中用以储存第一程序码副本410的第一物理区块是不相邻于用以储存第二程序码副本420的第二物理区块,但本发明不限于此。
此外,在物理区块304(0)~304(R)是属于不同存储器晶粒的例子中,第一物理区块与第二物理区块可分别地属于不同的存储器晶粒。例如,物理区块304(0)~304(R)是分别地属于第一存储器晶粒与第二存储器晶粒,其中物理区块304(N+1)与物理区块304(N+2)是属于第一存储器晶粒,而物理区块304(N+11)与物理区块304(N+12)是属于第二存储器晶粒。也就是说,第一程序码副本410与第二程序码副本420分别存放于不同的存储器晶粒,如此更可减少二个程序码副本同时发生损坏的机率。
特别是,在本范例实施例中,当存储器管理电路202从可重写式非易失性存储器模块106中读取程序码副本的一个数据区段时,错误检查与校正电路256会对此数据区段执行错误检查与校正程序。假如此数据区段中存有错误位,则错误检查与校正电路256会尝试校正此错误位。并且,倘若此错误位无法被校正时,则错误检查与校正电路256会判断此数据区段存有无法被校正的错误位。
特别是,当错误检查与校正电路256判断第一程序码副本410的一数据区段存有至少一无法被校正的错误位时,存储器管理电路202就会可轮替地载入部份的第一程序码副本410及部份的第二程序码副本420。也就是说,存储器管理电路202会可轮替地从第一程序码副本410与第二程序码副本420中载入程序码的各数据区段。以下以更具体的范例来说明。
图6是根据本发明第一范例实施例所绘示的程序码存取方法的运作示意图,其中假设第一程序码副本410的数据区段3A与数据区段(n-2)A存有错误检查与校正电路256无法校正的错误位(如斜线区域所示),并且假设第二程序码副本420的数据区段3B与数据区段(n-2)B皆未存有无法被校正的错误位。
请参照图6,存储器控制器104的存储器管理电路202会依序成功地载入第一程序码副本410的数据区段1A与数据区段2A。然后,在载入数据区段3A时,由于错误检查与校正电路256无法校正错误位,存储器管理电路202无法顺利载入正确的数据区段3A。此时,存储器管理电路202会从第二程序码副本420中读取数据区段3B。并且,在顺利载入正确的数据区段3B之后,存储器管理电路202会从第一程序码副本410中继续载入下一个数据区段4A。
之后,存储器控制器104依序成功地载入数据区段5A到数据区段(n-3)A。接着,在载入数据区段(n-2)A时,由于错误检查与校正电路256无法校正错误位,存储器管理电路202无法顺利载入正确的数据区段(n-2)A。此时,存储器管理电路202会从第二程序码副本420中读取数据区段(n-2)B(其内容相同于数据区段(n-2)A)。并且,在顺利载入正确的数据区段(n-2)B之后,存储器管理电路202会从第一程序码副本410中继续载入下一个数据区段(n-1)A。最后,存储器控制器104会载入数据区段nA,完成整个程序码的载入。
须注意的是,在本范例实施例中,假设第二程序码副本420的数据区段3B与数据区段(n-2)B未存有无法被校正的错误位。然而,倘若第二程序码副本420的数据区段3B或数据区段(n-2)B存有无法被校正的错误位,则存储器管理电路202会输出错误讯息。
必须了解的是,在本范例实施例中,是以程序码仅具有二份程序码副本为例来进行说明。然而,本发明不限于此,在存有多个程序码副本的例子中,当一个程序码副本中的一数据区段存有无法被校正的错误位时,存储器管电路202会尝试从其他程序码副本中载入此数据区段,直到无法从所有程序码副本中载入正确的数据区段时才会发出错误讯息。
图7A与图7B是根据本发明第一范例实施例所绘示的程序码存取方法的流程图,其中图7A绘示储存的步骤并且图7B绘示载入的步骤。
请参照图7A,首先,在步骤S701中,于第一物理区块中存放此程序码的第一程序码副本410,并且在步骤S703中,于第二物理区块中存放此程序码的第二程序码副本420。
在本发明范例实施例中,第一物理区块与第二物理区块的物理页面会依序地被用来储存第一程序码副本410与第二程序码副本420。然而,本发明不限于此。在本发明另一范例实施例中,第一程序码副本410与第二程序码副本420亦可仅被储存在第一物理区块与第二物理区块的特定物理页面中。
具体来说,在本范例实施例中,可重写式非易失性存储器模块106是多阶存储单元NAND型高速缓冲存储器模块,因此,其每一物理区块的物理页面可根据写入特性区分为多个快速物理页面与多个慢速物理页面。
具体来说,在对单阶存储单元(Single Level Cell,SLC)NAND型高速缓冲存储器的存储单元进行编程(program)时仅能执行单阶的编程,因此每一存储单元仅能储存一个位。而MLC NAND型高速缓冲存储器的物理区块的编程可分为多阶段。例如,以4阶存储单元为例,存储单元的编程可分为2阶段。第一阶段是属于下物理页面(lower physical page)的位的编程部分,其物理特性类似于SLC NAND高速缓冲存储器。在完成第一阶段之后才会编程属于上物理页面(upper physical page)的位。特别是,下物理页面的写入速度会快于上物理页面的写入速度并且下物理页面的可靠度会高于上物理页面的可靠度。在此,下物理页面亦称为快速物理页面并且上物理页面亦称为慢速物理页面。
类似地,在8阶存储单元或16阶存储单元的案例中,存储单元会包括更多个物理页面并且会以更多阶段来写入。在此,将写入速度最快的物理页面称为快速物理页面,其他写入速度较慢的页面统称为慢速物理页面。此外,在其他实施例中,慢速物理页面也可为写入速度最慢的物理页面,或者写入速度最慢与部份写入速度快于写入速度最慢物理页面的物理页面。
例如,在16阶存储单元中,快速物理页面为写入速度最快与写入速度次快的物理页面,并且慢速物理页面则为写入速度最慢与写入速度次慢的物理页面。
特别是,在本发明另一范例实施例中,存储器管理电路202仅会使用第一物理区块与第二物理区块的快速物理页面来储存程序码副本,由此以提升存取效率与可靠度。请参照图7B,在步骤S705中,载入第一程序码副本410的一个数据区段。接着,在步骤S707中,判断此数据区段是否存有无法被校正的错误位。例如,错误检查与校正电路256会对此数据区段执行错误检查与校正程序,并且存储器管理电路202会据以判断此数据区段是否存有无法被校正的错误位。
倘若此数据区段存有无法被校正的错误位,在步骤S709中,从第二程序码副本420载入对应的数据区段。接着,在步骤S711中,判断此对应的数据区段是否存有无法被校正的错误位。假如此对应的数据区段存有无法被校正的错误位,则在步骤S713中,输出错误讯息。假如此对应的数据区段未存有无法被校正的错误位,在步骤S715中,判断是否还有其他数据区段需要被载入。假如还有其他数据区段需要被载入,则回到步骤S705,继续载入第一程序码副本410的下一个数据区段。假如没有其他数据区段需要载入,则表示已经载入完整的程序码,因此程序码载入流程结束。
倘若在步骤S707中判断此数据区段未存有无法被校正的错误位时,步骤S715会被执行,以判断是否还有其他数据区段需要被载入。假如没有其他数据区段需要被载入的话,则表示已经载入完整的程序码,因此程序码载入流程结束。假如还有其他数据区段需要被载入的话,则回到步骤S705,继续从第一程序码副本410中载入下一个数据区段。
[第二范例实施例]
本发明第二范例实施例的存储器控制器、存储器储存装置与主机系统本质上相同于第一范例实施例的存储器控制器、存储器储存装置与主机系统,其中的差异仅在于第二范例实施例载入程序码的方式有所不同。更明确地说,在数据区段载入过程发生错误时,第二范例实施会以不同的方式从二份程序码副本中读取出完整的程序码。以下将使用图2与图3来说明第一范例实施例与第二范例实施例的差异之处。
图8是根据本发明第二范例实施例所绘示的程序码存取方法的运作示意图,其中假设第一程序码副本410的数据区段3A与第二程序码副本420的数据区段(n-2)B存有错误检查与校正电路256无法校正的错误位(如斜线区域所示),并且假设第二程序码副本420的数据区段3B与第一程序码副本410的数据区段(n-2)A皆未存有无法被校正的错误位。
请参照图8,存储器控制器104的存储器管理电路202会依序成功地载入第一程序码副本410的数据区段1A与数据区段2A。然后在载入数据区段3A时,由于错误检查与校正电路256无法校正错误位,因此,存储器管理电路202无法顺利载入正确的数据区段3A。此时,存储器管理电路202会从第二程序码副本420中读取数据区段3B。在顺利载入正确的数据区段3B之后,存储器管理电路202会从第二程序码副本420中继续载入下一个数据区段4B。
之后,存储器控制器104依序成功地载入数据区段5B到数据区段(n-3)B。接着,在载入数据区段(n-2)B时,由于错误检查与校正电路256无法校正错误位,因此存储器管理电路202无法顺利载入正确的数据区段(n-2)B。此时,存储器管理电路202会从第一程序码副本410中读取数据区段(n-2)A(其内容相同于数据区段(n-2)B)。并且,在顺利载入正确的数据区段(n-2)A之后,存储器管理电路202会从第一程序码副本410继续载入下一个数据区段(n-1)A。最后,存储器控制器104会载入第一程序码副本410的数据区段nA,完成整个程序码的载入。
图9是根据本发明第二范例实施例所绘示的载入程序码的流程图。
请参照图9,在步骤S905中,载入第一程序码副本410的一个数据区段。
接着,在步骤S907中,判断此数据区段是否存有无法被校正的错误位。例如,错误检查与校正电路256会对此数据区段执行错误检查与校正程序,并据以判断此数据区段是否存有无法被校正的错误位。
倘若在步骤S907中判断此数据区段未存有无法被校正的错误位,步骤S909会被执行,以判断是否还有其他数据区段需要被载入。假如没有其他数据区段需要被载入的话,则表示已经载入完整的程序码,因此程序码载入流程结束。假如还有其他数据区段需要被载入的话,则回到步骤S905,继续从第一程序码副本410中载入下一个数据区段。
倘若在步骤S907中判断此数据区段存有无法被校正的错误位,在步骤S911中,从第二程序码副本420中载入对应的数据区段。
接着,在步骤S913中,判断此对应的数据区段是否存有无法被校正的错误位。
假如在步骤S913中判断此对应的数据区段存有无法被校正的错误位,则在步骤S915中,输出错误讯息。假如在步骤S913中判断此对应的数据区段未存有无法被校正的错误位,则在步骤S917中,判断是否还有其他数据区段需要被载入。假如没有其他数据区段需要被载入的话,则表示已经载入完整的程序码,因此程序码载入流程结束。假如还有其他数据区段需要被载入的话,在步骤S919中,继续载入第二程序码副本420的下一个数据区段。
接着,在步骤S921中,判断此数据区段是否存有无法被校正的错误位。倘若在步骤S921中判断此数据区段未存有无法被校正的错误位,则在步骤S923中,判断是否还有其他数据区段需要被载入。假如还有其他数据区段需要被载入的话,则回到步骤S919,继续载入第二程序码副本420的下一个数据区段。假如没有其他数据区段需要被载入的话,则表示已经载入完整的程序码,因此程序码载入流程结束。
倘若在步骤S921中判断此数据区段存有无法被校正的错误位,则在步骤S925中,改为从第一程序码副本410中载入对应的数据区段。
接着,在步骤S927中,判断此对应的数据区段是否存有无法被校正的错误位。
假如在步骤S927中判断此对应的数据区段存有无法被校正的错误位,则在步骤S929中,输出错误讯息。
假如在步骤S927中判断此对应的数据区段未存有无法被校正的错误位,则在步骤S931中,判断是否还有其他数据区段需要被载入。假如没有其他数据区段需要被载入的话,则表示已经载入完整的程序码,因此程序码载入流程结束。假如还有其他数据区段需要被载入的话,则回到步骤S905,继续从第一程序码副本410中载入下一个数据区段。
综上所述,本发明范例实施例的程序码载入方法、存取方法、存储器控制器与存储器储存装置可从二份或多份程序码副本中组合出完整的程序码,避免因过多位错误而导致无法载入完整程序码以启动系统的状况。基此,存储器储存装置的可靠度可以有效地被提升。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。

Claims (20)

1.一种程序码载入方法,用于从一可重写式非易失性存储器模块中载入一程序码,其中该程序码包括多个数据区段,该可重写式非易失性存储器模块具有至少一第一物理区块与至少一第二物理区块,该至少一第一物理区块储存对应该程序码的一第一程序码副本,该至少一第二物理区块储存对应该程序码的一第二程序码副本,该第一程序码副本与该第二程序码副本分别地具有相同于该程序码的这些数据区段的多个数据区段,该程序码存取载入包括:
依序地载入该第一程序码副本的这些数据区段之中的一第一数据区段;
判断该第一程序码副本的该第一数据区段是否存有至少一无法被校正的错误位;以及
当该第一程序码副本的该第一数据区段存有该至少一无法被校正的错误位时,则可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本。
2.如权利要求1所述的程序码载入方法,其中可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本的步骤包括:
载入该第二程序码副本的这些数据区段之中的一第一数据区段;以及
继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
3.如权利要求1所述的程序码载入方法,其中可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本的步骤包括:
载入该第二程序码副本的这些数据区段之中的一第一数据区段;
继续依序地载入该第二程序码副本的这些数据区段之中的一第二数据区段;以及
当该第二程序码副本的这些数据区段之中的该第二数据区段存有至少一无法被校正的错误位时,继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
4.一种程序码存取方法,用于在一可重写式非易失性存储器模块中存取一程序码,其中该可重写式非易失性存储器模块具有多个物理区块并且该程序码包括多个数据区段,该程序码存取方法包括:
使用这些物理区块之中的至少一第一物理区块来储存对应该程序码的一第一程序码副本,其中该第一程序码副本具有相同于该程序码的这些数据区段的多个数据区段;
使用这些物理区块之中的至少一第二物理区块来储存对应该程序码的一第二程序码副本,其中该第二程序码副本具有相同于该程序码的这些数据区段的多个数据区段;
依序地载入该第一程序码副本的这些数据区段之中的一第一数据区段;
判断该第一程序码副本的该第一数据区段是否存有至少一无法被校正的错误位;以及
当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本。
5.如权利要求4所述的程序码存取方法,其中可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本的步骤包括:
载入该第二程序码副本的这些数据区段之中的一第一数据区段;以及
继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
6.如权利要求4所述的程序码存取方法,其中可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本的步骤包括:
载入该第二程序码副本的这些数据区段之中的一第一数据区段;
继续依序地载入该第二程序码副本的这些数据区段之中的一第二数据区段;以及
当该第二程序码副本的这些数据区段之中的该第二数据区段存有至少一无法被校正的错误位时,继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
7.如权利要求4所述的程序码存取方法,其中这些物理区块分别地属于一第一存储器晶粒与一第二存储器晶粒,
其中该至少一第一物理区块属于该第一存储器晶粒并且该至少一第二物理区块属于该第二存储器晶粒。
8.如权利要求4所述的程序码存取方法,其中该至少一第二物理区块不相邻于该至少一第一物理区块。
9.如权利要求4所述的程序码存取方法,其中每一这些物理区块具有多个快速物理页面与多个慢速物理页面,
其中使用该至少一第一物理区块来储存对应该程序码的该第一程序码副本的步骤包括:
仅使用该至少一第一物理区块的这些快速物理页面来储存对应该程序码的该第一程序码副本,
其中使用该至少一第二物理区块来储存对应该程序码的该第二程序码副本的步骤包括:
仅使用该至少一第二物理区块的这些快速物理页面来储存对应该程序码的该第二程序码副本。
10.一种存储器控制器,用于控制一可重写式非易失性存储器模块,其中该可重写式非易失性存储器模块具有多个物理区块,该存储器控制器包括:
一主机接口,用以耦接至一主机系统;
一存储器接口,用以耦接至该可重写式非易失性存储器模块;以及
一存储器管理电路,耦接至该主机接口与该存储器接口,用以使用这些物理区块之中的至少一第一物理区块来储存对应一程序码的一第一程序码副本,其中该程序码具有多个数据区段并且该第一程序码副本具有相同于该程序码的这些数据区段的多个数据区段,
其中该存储器管理电路使用这些物理区块之中的至少一第二物理区块来储存对应该程序码的一第二程序码副本,其中该第二程序码副本具有相同于该程序码的这些数据区段的多个数据区段,
其中该存储器管理电路依序地载入该第一程序码副本的这些数据区段之中的一第一数据区段,并且判断该第一程序码副本的该第一数据区段是否存有至少一无法被校正的错误位,
其中当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则该存储器管理电路可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本。
11.如权利要求10所述的存储器控制器,其中当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则该存储器管理电路载入该第二程序码副本的这些数据区段之中的一第一数据区段,并且继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
12.如权利要求10所述的存储器控制器,其中当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则该存储器管理电路载入该第二程序码副本的这些数据区段之中的一第一数据区段,并且继续依序地载入该第二程序码副本的这些数据区段之中的一第二数据区段,其中当该第二程序码副本的这些数据区段之中的该第二数据区段存有至少一无法被校正的错误位时,该存储器管理电路继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
13.如权利要求10所述的存储器控制器,还包括一错误检查与校正电路,用以判断该第一程序码副本的该第一数据区段是否存有至少一无法被校正的错误位。
14.如权利要求10所述的存储器控制器,其中该至少一第二物理区块不相邻于该至少一第一物理区块。
15.如权利要求10所述的存储器控制器,其中每一这些物理区块具有多个快速物理页面与多个慢速物理页面,
其中该存储器管理电路仅使用该至少一第一物理区块的这些快速物理页面来储存对应该程序码的该第一程序码副本,
其中该存储器管理电路仅使用该至少一第二物理区块的这些快速物理页面来储存对应该程序码的该第二程序码副本。
16.一种存储器储存装置,包括:
一连接器,用以耦接至一主机系统;
一可重写式非易失性存储器模块,具有多个物理区块;以及
一存储器控制器,耦接至该连接器与该可重写式非易失性存储器模块,其中该存储器控制器使用这些物理区块之中的至少一第一物理区块来储存对应一程序码的一第一程序码副本,其中该程序码具有多个数据区段并且该第一程序码副本具有相同于该程序码的这些数据区段的多个数据区段,
其中该存储器控制器使用这些物理区块之中的至少一第二物理区块来储存对应该程序码的一第二程序码副本,其中该第二程序码副本具有相同于该程序码的这些数据区段的多个数据区段,
其中该存储器控制器依序地载入该第一程序码副本的这些数据区段之中的一第一数据区段并且判断该第一程序码副本的该第一数据区段是否存有至少一无法被校正的错误位,
其中当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则该存储器控制器可轮替地载入部份的该第一程序码副本及部份的该第二程序码副本。
17.如权利要求16所述的存储器储存装置,其中当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则该该存储器控制器载入该第二程序码副本的这些数据区段之中的一第一数据区段,并且继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
18.如权利要求16所述的存储器储存装置,其中当该第一程序码副本的该第一数据区段存有至少一无法被校正的错误位时,则该存储器控制器载入该第二程序码副本的这些数据区段之中的一第一数据区段,并且继续依序地载入该第二程序码副本的这些数据区段之中的一第二数据区段,其中当该第二程序码副本的这些数据区段之中的该第二数据区段存有至少一无法被校正的错误位时,该存储器控制器继续依序地载入该第一程序码副本的这些数据区段之中的一第二数据区段。
19.如权利要求16所述的存储器控制器,其中该至少一第二物理区块不相邻于该至少一第一物理区块。
20.如权利要求16所述的存储器储存装置,其中每一这些物理区块具有多个快速物理页面与多个慢速物理页面,
其中该存储器控制器仅使用该至少一第一物理区块的这些快速物理页面来储存对应该程序码的该第一程序码副本,
其中该存储器控制器仅使用该至少一第二物理区块的这些快速物理页面来储存对应该程序码的该第二程序码副本。
CN201110140090.0A 2011-05-27 2011-05-27 程序码载入与存取方法、存储器控制器与存储器储存装置 Active CN102800357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110140090.0A CN102800357B (zh) 2011-05-27 2011-05-27 程序码载入与存取方法、存储器控制器与存储器储存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110140090.0A CN102800357B (zh) 2011-05-27 2011-05-27 程序码载入与存取方法、存储器控制器与存储器储存装置

Publications (2)

Publication Number Publication Date
CN102800357A true CN102800357A (zh) 2012-11-28
CN102800357B CN102800357B (zh) 2016-05-18

Family

ID=47199441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110140090.0A Active CN102800357B (zh) 2011-05-27 2011-05-27 程序码载入与存取方法、存储器控制器与存储器储存装置

Country Status (1)

Country Link
CN (1) CN102800357B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036823A (zh) * 2013-03-08 2014-09-10 飞思卡尔半导体公司 用于非易失性存储器系统中的失效管理的对称数据复制
CN104166558A (zh) * 2013-05-16 2014-11-26 群联电子股份有限公司 固件码载入方法、存储器控制器与存储器存储装置
CN104182293A (zh) * 2013-05-22 2014-12-03 群联电子股份有限公司 数据写入方法、存储器存储装置与存储器控制器
CN105868046A (zh) * 2015-01-22 2016-08-17 深圳市硅格半导体有限公司 存储装置中管理、写入及加载固件代码的方法
CN107273233A (zh) * 2017-05-24 2017-10-20 浙江大华技术股份有限公司 一种数据读取方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902583A (zh) * 2003-12-31 2007-01-24 桑迪士克股份有限公司 快闪存储器系统起动操作
CN101494086A (zh) * 2008-01-24 2009-07-29 群联电子股份有限公司 快闪存储器储存装置、快闪存储器控制器及其切换方法
CN102034537A (zh) * 2009-09-25 2011-04-27 慧荣科技股份有限公司 数据存取装置及数据存取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902583A (zh) * 2003-12-31 2007-01-24 桑迪士克股份有限公司 快闪存储器系统起动操作
CN101494086A (zh) * 2008-01-24 2009-07-29 群联电子股份有限公司 快闪存储器储存装置、快闪存储器控制器及其切换方法
CN102034537A (zh) * 2009-09-25 2011-04-27 慧荣科技股份有限公司 数据存取装置及数据存取方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036823A (zh) * 2013-03-08 2014-09-10 飞思卡尔半导体公司 用于非易失性存储器系统中的失效管理的对称数据复制
CN104166558A (zh) * 2013-05-16 2014-11-26 群联电子股份有限公司 固件码载入方法、存储器控制器与存储器存储装置
CN104166558B (zh) * 2013-05-16 2018-06-15 群联电子股份有限公司 固件码载入方法、存储器控制器与存储器存储装置
CN104182293A (zh) * 2013-05-22 2014-12-03 群联电子股份有限公司 数据写入方法、存储器存储装置与存储器控制器
CN104182293B (zh) * 2013-05-22 2017-06-30 群联电子股份有限公司 数据写入方法、存储器存储装置与存储器控制器
CN105868046A (zh) * 2015-01-22 2016-08-17 深圳市硅格半导体有限公司 存储装置中管理、写入及加载固件代码的方法
CN105868046B (zh) * 2015-01-22 2018-11-13 深圳市硅格半导体有限公司 存储装置中管理、写入及加载固件代码的方法
CN107273233A (zh) * 2017-05-24 2017-10-20 浙江大华技术股份有限公司 一种数据读取方法和装置
CN107273233B (zh) * 2017-05-24 2020-06-19 浙江大华技术股份有限公司 一种数据读取方法和装置

Also Published As

Publication number Publication date
CN102800357B (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
US8589619B2 (en) Data writing method, memory controller, and memory storage apparatus
TWI447579B (zh) 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
US8812772B2 (en) Data merging method for non-volatile memory and controller and storage apparatus using the same
CN102053796A (zh) 闪存储存系统、闪存控制器与数据处理方法
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
CN102890655A (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
CN103136111A (zh) 数据写入方法、存储器控制器与存储器储存装置
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
CN102800357B (zh) 程序码载入与存取方法、存储器控制器与存储器储存装置
CN102567221B (zh) 数据管理方法、存储器控制器与存储器储存装置
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
US8762685B2 (en) Data writing method, memory controller and memory storage apparatus
CN102999437A (zh) 数据搬移方法、存储器控制器与存储器储存装置
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
CN104238956A (zh) 数据写入方法、存储器控制器与存储器存储装置
CN102467459B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102543184A (zh) 存储器储存装置、其存储器控制器与数据写入方法
CN102591738B (zh) 数据管理方法、存储器控制器与嵌入式存储器储存装置
CN102841853B (zh) 存储器管理表处理方法、存储器控制器与存储器储存装置
US9009389B2 (en) Memory management table processing method, memory controller, and memory storage apparatus
CN102110056B (zh) 闪存管理方法、闪存控制器与闪存存储系统
CN104166558A (zh) 固件码载入方法、存储器控制器与存储器存储装置
CN102736985A (zh) 数据合并方法、控制器与储存装置
CN103176910B (zh) 用于非易失性存储器的数据合并方法、控制器与储存装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant